arhitectura sistemelor de calcul

41
ARHITECTURA SISTEMELOR DE CALCUL

Upload: rowena

Post on 23-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

ARHITECTURA SISTEMELOR DE CALCUL. SISTEM DE CALCUL - DEFINITIE. un dispozitiv care lucrează automat, sub controlul unui program memorat, prelucrând date în vederea producerii unor rezultate ca efect al procesării. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ARHITECTURA SISTEMELOR DE CALCUL

ARHITECTURA SISTEMELOR DE CALCUL

Page 2: ARHITECTURA SISTEMELOR DE CALCUL

SISTEM DE CALCUL - DEFINITIE

un dispozitiv care lucrează automat, sub controlul unui program memorat, prelucrând date în vederea producerii unor rezultate ca efect al procesării.

dispozitiv care efectuează calcule, în special o maşină electronică programabilă care execută operaţii aritmetice, logice sau care asamblează, stochează, corelează sau efectuează un alt tip de procesare a informaţiei, cu viteză ridicată (The American Heritage Dictionary of the English Language, 2000).

Page 3: ARHITECTURA SISTEMELOR DE CALCUL

FUNCTIILE DE BAZA ALE UNUI SISTEM DE CALCUL

procesarea de date; memorarea de date; transferul de informaţii; controlul tuturor componentelor SC.

Page 4: ARHITECTURA SISTEMELOR DE CALCUL

STRUCTURA UNUI SISTEM DE CALCUL

hardware - partea de echipamente: unitatea centrală de procesare (Central

Processing Unit – CPU); memoria; dispozitivele periferice;

software - partea de programe: soft sistem (aplicaţii destinate sistemului de

calcul şi sistemului de operare); soft utilizator (restul aplicaţiilor);

firmware - partea de microprograme.

Page 5: ARHITECTURA SISTEMELOR DE CALCUL

CLASIFICAREA SISTEMELOR DE CALCUL Supercalculatoare - sisteme de calcul considerate la

momentul apariției drept cele mai performante din lume în ceea ce privește viteza de procesare a datelor;

Mainframe-uri - mașini multiprocesor, de asemenea cu putere mare de procesare, neorientate însă spre un anumit task precis ci mai degrabă aplicațiilor critice, prelucrărilor simple asupra unui volum mare de date, salvarea și backup-ul acestor date;

Minicalculatoare (deprecated): termen folosit în anii 60 și 70 până la apariția microcalculatoarelor. Sisteme de calcul low cost (relativ) - tot ce era inferior unui mainframe și unui supercalculator, atât ca putere de procesare cât și ca dimensiune fizică, destinate universităților, ramuri ale industriei, etc;

Microcalculatoarele - sisteme de calcul bazate pe folosirea unui microprocesor (de unde și numele), apărute la șfârsitul anilor 70, începutul anilor 80, low cost, destinate în principal home and office user-ului.

Page 6: ARHITECTURA SISTEMELOR DE CALCUL

O "ALTFEL" DE CLASIFICARE A SISTEMELOR DE CALCUL Stații de lucru (workstations) - de obicei calculatoare

din familia microcalculatoarelor (calculatoarele personale spre exemplu) cu putere de procesare medie, capabilități grafice și multimedia ridicate, de obicei conectate la Internet;

Server-e - oferă diferite servicii stațiilor (clienților). Din punct de vedere hardware un server poate rula atât pe un microcalculator (calculator personal) cu putere de procesare mai ridicată cât și pe arhitecturi hardware dedicate acestui scop (mainframe-uri sau supercalculatoare);

Microdispozitive (embedded devices) - dispozitive cu putere de calcul relativ redusă, dotate cu un procesor și cu o funcționalitate dedicată unui anumit scop. Exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD player-e, etc. Aproximativ 80% din procesoarele produse în acest moment sunt dedicate microdispozitivelor.

Page 7: ARHITECTURA SISTEMELOR DE CALCUL

ARHITECTURA UNUI SISTEM DE CALCUL

Se referă la acele atribute ale sistemului care sunt vizibile programatorului şi care au un impact direct asupra execuţiei unui program:

setul de instrucţiuni maşină; caracteristicile de reprezentare a datelor; modurile de adresare; sistemul de intrare / ieşire (I/O).

Page 8: ARHITECTURA SISTEMELOR DE CALCUL

MULTIMEA INSTRUCTIUNILOR MASINA(Instruction Set Arhitecture – ISA)

Interfaţă cheie între nivelele de abstractizare, fiind interfaţa dintre hard şi soft;

Permite unor implementări diferite ale SC să ruleze soft identic, caz în care vorbim despre calculatoare compatibile;

Exemplu: calculatoare compatibile IBM-PC (in prezent cu procesoare AMD sau Intel).

Page 9: ARHITECTURA SISTEMELOR DE CALCUL

MULTIMEA INSTRUCTIUNILOR MASINA

defineşte:

organizarea SC, modul de stocare a informaţiei (regiştri, memorie);

tipurile şi structurile de date (codificări, reprezentări); formatul instrucţiunilor; setul de instrucţiuni (codurile operaţiilor) pe care

microprocesorul le poate efectua; modurile de adresare şi accesare a datelor şi

instrucţiunilor; condiţiile de excepţie.

Page 10: ARHITECTURA SISTEMELOR DE CALCUL

COMPONENTELE UNUI SC

modulul de control; memoria; sistemul de intrare (input) / ieşire (output); structuri de interconectare a

componentelor de mai sus (magistrale);

Page 11: ARHITECTURA SISTEMELOR DE CALCUL

ARHITECTURA UNUI SISTEM DE CALCUL

Unitatea Aritmetică-

Logică

Unitatea de Comandă şi

Control

Regiştri

Magistrala sistem

I/O 1

CPU

Memoria principală

Memoria secundară

Magistra

la C

PU

in

tern

ă

Magistra

la d

e

date

Magistra

la d

e

adre

se

Magistra

la d

e

con

trol

I/O n

Memoria cache (CPU-memoria

principală)

.

.

.

Page 12: ARHITECTURA SISTEMELOR DE CALCUL

ARHITECTURA VON NEUMANN utilizarea memoriei interne pentru a stoca

secvenţe de control pentru îndeplinirea unei anumite sarcini – secvenţe de programe;

datele, cât şi instrucţiunile sunt reprezentate ca şiruri de biţi şi sunt stocate într-o memorie read-write;

conţinutul memoriei se poate accesa în funcţie de locaţie (adresă), indiferent de tipul informaţiei conţinute;

execuţia unui set de instrucţiuni se efectuează secvenţial, prin citirea de instrucţiuni consecutive din memorie.

Page 13: ARHITECTURA SISTEMELOR DE CALCUL

UNITATEA CENTRALĂ(CENTRAL PROCESSING UNIT – CPU)

Funcţiile unui CPU sunt: obţinerea instrucţiunilor care trebuie

executate; obţinerea datelor necesare

instrucţiunilor; procesarea datelor (execuţia

instrucţiunilor); furnizarea rezultatelor obţinute.

Page 14: ARHITECTURA SISTEMELOR DE CALCUL

COMPONENTELE DE BAZA ALE UNUI CPU

Unitatea Aritmetică-Logică (Arithmetic Logic Unit – ALU); Unitatea de Comandă şi Control (Control Unit – CU) –

decodifica instructiunile (FETCH DECODE READ MEMORY EXECUTE STORE);

+

regiştri – aceştia sunt dispozitive de stocare temporară a datelor şi informaţiilor de control (instrucţiunile), de capacitate mică şi viteză de acces mare;

magistrale interne CPU – dispozitive pentru comunicare între componentele CPU şi comunicare cu exteriorul, pentru transferul de informaţii.

Page 15: ARHITECTURA SISTEMELOR DE CALCUL

CEASUL SISTEMFiecare procesor (CPU) contine un ceas intern care produce si trimite semnale electrice pe magistrala de control pentru a sincroniza operatiile sistemului. Semnalele alterneaza valori 0 si 1 cu o anumita frecventa. Frecventa cu care se alterneaza aceste valori se numeste ciclu de ceas sau perioada ceasului (clock cycle).

Frecventa de ceas - numarul de cicluri de ceas pe secunda.

Exemple: Ceasul unui procesor la 300 de Mhz ticaie de exact 300.000.000 ori pe secunda. Un ciclu de ceas al unui astfel de procesor are o durata de 1 / 300.000.000 secunde.

Ciclu de ceas - cea mai mica unitate de timp sesizabila de catre un procesor.

Page 16: ARHITECTURA SISTEMELOR DE CALCUL

VITEZA CALCULATOARELORCycles per Instruction (CPI) – fiecare instructiune dureaza un anumit numar de cicluri de ceas (a se vedea NG pentru numarul de CPI al fiecarei instructiuni).Exemplu: instructiunea MOV dureaza intre 2 si 14 cicluri de ceas in functie de natura operanzilor.

un procesor ruland la 800 Mhz executa o aceeasi instructiune mai repede decat unul ruland la 300 Mhz – durata ciclului de ceas fiind mai scurta.

x86 vs RISC – instructiuni complexe care dureaza mai multe cicluri vs instructiuni simple, primare care se executa rapid?

Page 17: ARHITECTURA SISTEMELOR DE CALCUL

VITEZA CALCULATOARELOR

In prezent s-a atins o anumita limita in ceea ce priveste viteza procesoarelor. Mecanisme noi de crestere a vitezei:

Pipelining - paralelizarea instructiunilor (o instructiune trecuta din faza FETCH in faza DECODE, permite unui alte instructiuni sa treaca in faza FETCH) mai multe instructiuni se executa in paralel per ciclu de ceas - Instructions per Cycle;

Cresterea numarului de nuclee (cores) per procesor (dual core, quad core).

Page 18: ARHITECTURA SISTEMELOR DE CALCUL

VITEZA CALCULATOARELOR

Factori care influenteaza viteza unui SC:

Frecventa procesorului (singura nu e concludenta, vezi Intel vs AMD);

Capacitatea maxima de memorie care poate fi adresata;

Capacitatea de paralelizare (pipelining);

Dimensiunea registrilor interni si a magistralei de date;

Dimensiunea memoriei CACHE.

Viteza actuala a unui sistem de calcul se masoara in

MIPS – Milioane de instructiuni (intregi) pe secunda;

MFLOPS – Milioane de instructiuni in virgula flotanta pe secunda.

Procesor Frecventa

MIPS

Intel Pentium Pro 200 Mhz 541

AMD Athlon 1.2 Ghz 3.561

Ultra SPARC Niagara 2 1.4 Ghz 22.400

Intel Polaris Prototype(80 nuclee)

5.6 Ghz 1.800.000

Page 19: ARHITECTURA SISTEMELOR DE CALCUL

CE INSEAMNACALCULATOR PE N BIŢI?

Din punct de vedere hardware - dimensiunea magistralei de date (de exemplu: Pentium are o magistrală de date pe 64 biţi = 64 linii de date, astfel că la fiecare “memory cycle” procesorul poate accesa 8 octeţi din memorie);

Din punct de vedere software: dimensiunea unui cuvânt de memorie (dimensiunea regiştrilor CPU);

Observatie: De regula, cu cat dimensiunea cuvantului de memorie este mai mare, operatiile cu numerele intregi se desfasoara mai rapid (incercati sa inmultiti un double cu alt double folosind doar registrii pusi la dispozitie de procesorul 8086).

Microprocesor Data Bus Regiştri

8088 8 biţi 16 biţi

80386sx 16 biţi 32 biţi

Pentium 64 biţi 32 biţi

Intel Core 2 Duo 64 biţi 64 biţi

Page 20: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA

dispozitiv de stocare a datelor pentru un anumit interval de timp

Criterii de clasificare a tipurilor de memorie:

din punct de vedere al accesării datelor; din punct de vedere al volatilităţii; din punct de vedere al accesului CPU; din punct de vedere al tipurilor de acces

permise.

Page 21: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA - DIN PUNCT DE VEDERE AL ACCESĂRII DATELOR

memorie cu acces aleator (Random Access Memory): locaţiile pot fi accesate (în citire sau scriere) în orice ordine (aleator) indiferent de ultima locaţie accesată. Exemple: memoriile on-chip (memoria interna);

memorie cu acces asociativ (memoria cache); memorie cu acces secvenţial: pentru a accesa a n-a

înregistrare, trebuie parcurse primele n-1 înregistrări => timpul de accesare a datelor este variabil, depinzând de locaţia accesată. Exemplu: banda magnetica;

memorie cu acces direct: spre deosebire de accesul secvenţial, poziţionarea pe o anumită înregistrare se face în mod direct pe baza unui calcul de adresă. Exemplu: dispozitivele de tip disc (CDROM, floppy disk, hard disk).

Page 22: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA - DIN PUNCT DE VEDERE AL VOLATILITĂŢII memorie volatilă (de scurtă durată):

conţinutul său se pierde la îndepărtarea sursei de curent. Cel mai elocvent exemplu îl constituie în acest sens memoria principală a SC (care conţine datele şi instrucţiunile utilizate curent de CPU);

memorie non-volatilă sau remanentă (de lungă durată): conţinutul se păstrează şi după deconectarea de la sursă. Exemple: memoria ROM, hard disk, CDROM, memoria Flash.

Page 23: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA - DIN PUNCT DE VEDERE AL ACCESULUI CPU

memorie internă: accesată direct de către CPU;

memorie secundară sau dispozitiv de stocare periferic: memorie externă, cu acces indirect al CPU. Exemple: HD, floppy disk, CDROM.

Page 24: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA - DIN PUNCT DE VEDERE AL TIPURILOR DE ACCES PERMISE

memorie read/write: permite acces la date în citire sau scriere. Exemple: memoria principală, hard disk, floppy disk;

memorie read-only: permite doar citirea datelor. Exemple: ROM, CDROM.

Page 25: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA INTERNA

Reprezinta spatiile de stocare a datelor accesibile procesorului fara utilizarea canalelor de comunicatie I/O.

memoria principala (RAM); memoria cache; memoria ROM; registrii procesorului;

Page 26: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIAEXTERNA / SECUNDARA

dispozitiv de stocare pe termen lung a datelor, care nu sunt curent folosite de către CPU. În general este de capacitate mai mare şi are o viteză mai mică de accesare a datelor faţă de memoria internă şi face parte din categoria memoriilor non-volatile;

Exemple:hard disk (HDD), floppy disk (FDD), compact disc (CD), DVD, banda magnetică, memoria flash.

Page 27: ARHITECTURA SISTEMELOR DE CALCUL

STRUCTURA FIZICA A UNUI DISC

Page 28: ARHITECTURA SISTEMELOR DE CALCUL

STRUCTURA LOGICA A UNUI DISC

Din punct de vedere logic, un disc este divizat in partitii:

primare; extinse; logice.

-Partitii primare (maxim 4);-Partitie extinsa – partitie primara ce contine alte partitii numite partitii logice;-Partitii logice.

Page 29: ARHITECTURA SISTEMELOR DE CALCUL

IERARHIZAREA MEMORIEI

Regiştri

Memorie cache “on-chip” (L1)

Memorie cache “on-chip” (L2)

Memorie cache “on-board” (L3)

Memorie principală

Memorie secundară

Memorie terţiară

Cre

şte

vite

za d

e

acces

Cre

şte

valo

are

a

rap

ortu

lui c

ost / u

nita

te

de m

em

ora

re

Cre

şte

cap

acita

tea d

e

sto

care

Page 30: ARHITECTURA SISTEMELOR DE CALCUL

IERARHIZAREA MEMORIEI

Motivatie:

diferenţa de performanţă dintre diferitele componente poate să crească tot mai mult. Spre exemplu diferenţa dintre performanţa CPU şi cea a memoriei interne;

din cauza diferenţei timpului de acces al CPU şi al memoriei principale, CPU este nevoit să aştepte destul de mult pentru a primi datele din memorie;

ierarhia memoriei unui SC este organizată astfel încât nivelele de memorie de capacitate mai mică, însă mai rapide se găsesc mai aproape de procesor decât memoriile de capacitate mare, dar de viteză de acces mai mică.

Page 31: ARHITECTURA SISTEMELOR DE CALCUL

IERARHIZAREA MEMORIEI -PRINCIPIUL LOCALIZARII

localizare temporală - după accesarea unei date sunt mari şanse ca ea să fie accesată din nou în scurt timp ar trebui să se mai reţină data respectivă pentru o perioadă de timp (de exemplu: instrucţiunile dintr-o structură repetitivă sau ale unei subrutine);

localizare spaţială - dacă se accesează o locaţie, sunt mari şanse să urmeze accesarea unor locaţii din vecinătatea primeia ar trebui ca la accesarea datei curente să se aducă un întreg bloc de informaţie care să conţină atât informaţia necesară în momentul curent, cât şi informaţia conţinută la adrese învecinate (de exemplu: variabile locale unei subrutine sau elementele unui şir).

Page 32: ARHITECTURA SISTEMELOR DE CALCUL

MEMORIA CACHE

Memorie de tip cache - colecţie de date ce reprezintă duplicarea valorilor originale stocate într-un alt tip de dispozitiv de memorare, a căror accesare pentru citire / procesare este mai costisitoare (ca timp) decât accesarea lor din cache.

Tipuri:

cache al memoriei principale, ca interfaţă între aceasta şi CPU: poate fi pe unul, două sau trei nivele; acest cache este gestionat de către hardware;

memoria cache între memoria principală şi memoria secundară (disc) este memoria virtuală; transferul datelor de pe disc în memoria principală (gestiunea memoriei virtuale) este responsabilitatea sistemului de operare;

memorii cache gestionate de componente soft: cache DNS (pentru corespondenţe dintre nume de domenii şi adrese IP); cache al unui web browser (pentru ultimele pagini accesate).

Page 33: ARHITECTURA SISTEMELOR DE CALCUL

DISPOZITIVE PERIFERICE

Dispozitivele periferice asigură interfaţa dintre utilizator şi sistemul de calcul sau dintre sistemul de calcul şi alte sisteme fizice;

Tipuri de dispozitive periferice: dispozitive de intrare: tastatură, mouse, scanner; dispozitive de ieşire: imprimantă, monitor; dispozitive de intrare sau ieşire: modem, placă de

reţea; dispozitive de stocare: disc (hard disk, floppy disk),

bandă magnetică.

Page 34: ARHITECTURA SISTEMELOR DE CALCUL

MAGISTRALELE - STRUCTURI DE INTERCONECTARE

Magistrală - subsistem prin care se transportă informaţie (date, instrucţiuni, semnale de control) sau energie între diferite componente ale unui SC sau între diferite SC. Realiza o conexiune între două sau mai multe componente. In contextul nostru realizeaza legatura intre SC si echipamentele periferice.

Clasificare:

dupa modul de transmitere al informatiei: seriale sau paralele (in prezent migrare de la magistrale paralele la magistrale seriale);

dupa tipul entitatilor conectate: sistem – fac legatura intre CPU si memoria interna; si magistrale de I/O – fac legatura intre SC si echipamentele periferice sau intre SC si alt SC;

magistrale sistem: magistrale de date, magistrale de adresare, magistrale de control – au arhitectura specifica producatorului, asigura o comunicare rapida intre CPU si memorie, sunt de lungime redusa;

magistrale I/O: au arhitectura standardizata si permit comunicarea cu un echipament extern sau cu alt SC prin intermediul unui controler; magistrale I/O interne: ISA, PCI, AGP, PCI-x; magistrale I/O externe: IDE/ATA, SCSI, S-ATA, USB.

Page 35: ARHITECTURA SISTEMELOR DE CALCUL

CONTROLERE SI INTERFETEControler – echipament de extensie atasabil sistemului de calcul (~ adaptor, placa: placa video, adaptor de retea, controler SCSI);

Prezinta doua interfete:

interfata de comunicare cu SC prin intermediul magistralei I/O interne (interfata PCI, ISA, AGP);

interfata de comunicare cu echipamentul periferic care se doreste a fi conectat (difera de la echipament la echipament si de la controler la controler);

Interfata

expresia fizica a acesteia (portul, slotul, mufa, socketul); setul de caracteristici functionale, protocoale, specificati logice

necesare comunicarii pe magistala asociata.

Page 36: ARHITECTURA SISTEMELOR DE CALCUL

MAGISTRALE, CONTROLERE, INTERFETE

Controler reţea ISA

ControlerPCI-USB

Interfaţă IDE

ControlerPCI - IDE

Controler AGP

Interfeţe ISAMagistrală AGP

Interfaţă AGP

Magistrală ISA

Magistrală PCI

SpreCPU

Interfeţe PCI

Interfaţă USB

Dispozitiv - USB

Hard disk

Monitor

Page 37: ARHITECTURA SISTEMELOR DE CALCUL

MAGISTRALA ISA SI PCI

ISA (Industry Standard Arhitecture)

Dezvoltata la inceputul anilor 80 (IBM) sfarsitul anilor 90;

pe 8, ulterir 16 biti, 8Mhz viteza maxima 16 Mbyets/secunda;

Echipamente conectate: placi de retea, sunet, modem-uri.

PCI (Peripheral Component Interconect)

dezvoltata de Intel in ani 90; pe 32 de biti, pe 33 Mhz viteza

maxima 132 Mbytes/secunda; conecteaza prin intermediul unui

controler majoritatea echipamentelor periferice.

InterfeţeISA

Interfeţe PCI

Interfeţele ISA şi PCIdin punct de vedere fizic în cadrul

unui calculator personal

Page 38: ARHITECTURA SISTEMELOR DE CALCUL

AGP - Accelerated Graphics Port

s-a nascut din nevoie de latime de banda mai mare pentru aplicatiile video (in special jocuri);

AGP 1x – magistrala pe 32 biti, opereaza la 66 Mhz 266 Mbytes/secunda;

punct la punct canal dedicat.

Fig. 2.7. Interfaţa AGP şi un controler video AGP

controler video AGP

interfaţa AGP

Page 39: ARHITECTURA SISTEMELOR DE CALCUL

MAGISTRALE EXTERNE

Magistrala externa - ansamblu format din controler impreuna cu interfata dintre acesta si echipamentul periferic.

Exemple:

IDE/ATA - HDD, unitati optice; SCSI - HDD, unitati optice, scanner-e; paralela - imprimante; seriala - mouse; PS/2 - tastatura, mouse; USB - Universal Serial Bus (practic orice, mai putin monitor –

sau nu? ).

Page 40: ARHITECTURA SISTEMELOR DE CALCUL

INTERFETE EXTERNE

Interfeţe seriale

Interfaţa paralelă

Interfeţe seriale şi paralele

Interfeţe IDE/ATA

Conector RJ45

Conector AUI

Conector BNC

Interfeţe de reţeaInterfeţe USB şi

PS/2

InterfeţeUSB

Interfaţă PS/2

Page 41: ARHITECTURA SISTEMELOR DE CALCUL

PLACA DE BAZA

suportul fizic pe care se monteaza procesorul, memoria;

cablarea fizica a magistralelor interne;

interfetele PCI, AGP; controlelere integrate

(on-board): IDE/ATA, SATA, retea, sunet, USB.

Alimentare

Slot procesor

Interfeţe PCI

Interfaţă AGP

Sloturi memorie

BIOS

Interfeţe IDE/ATA

Interfaţă FDD

Interfeţe audio

InterfeţeUSB

Interfeţe seriale şi paralele

Interfaţă RJ45 reţea

Interfeţe PS/2tastatură şi

mouse