ARHITECTURA SISTEMELOR DE CALCUL

Download Report

Transcript ARHITECTURA SISTEMELOR DE CALCUL

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).
FUNCTIILE DE BAZA ALE UNUI
SISTEM DE CALCUL




procesarea de date;
memorarea de date;
transferul de informaţii;
controlul tuturor componentelor SC.
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.
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.
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.
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).
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).
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.
COMPONENTELE UNUI SC




modulul de control;
memoria;
sistemul de intrare (input) / ieşire (output);
structuri de interconectare a componentelor
de mai sus (magistrale);
ARHITECTURA UNUI SISTEM DE
CALCUL
I/O 1
Regiştri
Magistrala de
control
Magistrala de
adrese
CPU
Magistrala de
date
Unitatea de
Comandă şi
Control
Magistrala CPU internă
Unitatea
AritmeticăLogică
.
.
.
I/O n
Memoria cache
(CPU-memoria
principală)
Memoria
secundară
Memoria principală
Magistrala sistem
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.
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.
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.
CEASUL SISTEM
Fiecare 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.
VITEZA CALCULATOARELOR
Cycles 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?
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).
VITEZA CALCULATOARELOR
Viteza actuala a unui sistem de
calcul se masoara in
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.


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
CE INSEAMNA
CALCULATOR 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);
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

Din punct de vedere
software: dimensiunea
unui cuvânt de memorie
(dimensiunea regiştrilor
CPU);
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
MEMORIA
 dispozitiv de stocare a datelor pentru un
anumit interval de timp
Criterii de clasificare a tipurilor de memorie:




din punct
din punct
din punct
din punct
permise.
de
de
de
de
vedere
vedere
vedere
vedere
al
al
al
al
accesării datelor;
volatilităţii;
accesului CPU;
tipurilor de acces
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).
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.
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.
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.
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;
MEMORIA
EXTERNA / 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 nonvolatile;
 Exemple:hard disk (HDD), floppy disk
(FDD), compact disc (CD), DVD, banda
magnetică, memoria flash.
STRUCTURA FIZICA A UNUI DISC
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.
IERARHIZAREA MEMORIEI
Regiştri
Memorie cache “on-chip” (L1)
Memorie secundară
Memorie terţiară
Creşte valoarea
raportului cost / unitate
de memorare
Memorie principală
Creşte capacitatea de
stocare
Memorie cache “on-board” (L3)
Creşte viteza de acces
Memorie cache “on-chip” (L2)
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ă.
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).
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).
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ă.
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.
CONTROLERE SI INTERFETE
Controler – 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.
MAGISTRALE, CONTROLERE,
INTERFETE
Interfeţe PCI
Interfaţă USB
Magistrală PCI
Controler
PCI-USB
Dispozitiv - USB
Controler
PCI - IDE
Spre
CPU
Hard disk
Magistrală ISA
Interfaţă IDE
Controler reţea ISA
Magistrală
AGP
Interfeţe ISA
Controler AGP
Monitor
Interfaţă AGP
MAGISTRALA ISA SI PCI
Interfeţe
ISA
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ţe
PCI
Interfeţele ISA şi PCI
din punct de vedere fizic în cadrul
unui calculator personal
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.
controler video AGP
interfaţa
AGP
Fig. 2.7. Interfaţa AGP şi un
controler video AGP
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? ).
INTERFETE EXTERNE
Conector RJ45
Interfeţe
seriale
Conector AUI
Interfaţa
paralelă
Interfeţe seriale şi
paralele
Interfaţă
PS/2
Interfeţe
USB
Conector BNC
Interfeţe IDE/ATA
Interfeţe de reţea
Interfeţe USB şi
PS/2
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.
Interfeţe PS/2
tastatură şi
mouse
Interfaţă
RJ45
reţea
BIOS
Alimentare
Interfeţe
seriale şi
paralele
Slot
procesor
Interfaţă
FDD
Interfeţe
USB
Interfeţe
audio
Sloturi
memorie
Interfaţă AGP
Interfeţe
PCI
Interfeţe
IDE/ATA