Arhitectura calculatoarelor 2. Structura sistemelor de calcul [611818]

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
292
STRUCTURA SISTEMELOR DE CALCUL

2.1. Limbaje, niveluri și mașini virtuale
Orice calculator numeric este structur at în jurul unui procesor. Acesta
este un automat secven țial microprogramat care func ționează pe baza
execuției secven țiale a unei în șiruiri de instruc țiuni numit ă program. Aceste
instrucțiuni, pe care le „în țelege” procesorul se numesc set de instruc țiuni
mașină (cod ma șină). Acestea formeaz ă un limbaj pe care îl numim L0.
Deoarece instruc țiunile nu sunt altceva decât ni ște numere binare,
utilizatorul scrie programele în a lt limbaj, L1, mult mai accesibil numit
limbaj de asamblare. Fiec ărei instruc țiuni din L0 îi este alocat ă o
instrucțiune în L1. Instruc țiunile lui L1 se numesc mnemonice și exprimă
acțiunea pe care o face instruc țiunea respectiv ă (MOV =move, LD=load,
JP=jump, ADD=add, INC=increment, DEC=d ecrement, etc) în ideea de a fi
reținută mai ușor, iar programul mai simplu de în țeles. O metod ă de
execuție a unui program scris în L1 este de a înlocui fiecare instruc țiune din
L1 cu una din L0. Programul rezultat este format numai din instruc țiuni L0,
se numește asamblor, iar tehnica se nume ște „traducere – translation”.
O a doua tehnic ă constă în a scrie un prog ram în L0 care s ă preia
programe scrise în L1 și să le execute instruc țiune cu instruc țiune prin
execuția instruc țiunii corespunz ătoare sau a setului corespunz ător de
instrucțiuni din L0. Aceast ă tehnică se nume ște interpretare, iar programul
care o realizeaz ă se nume ște „interpretor”. Cele 2 tehnici de mai sus sunt
similare, îns ă execuția programului translat este mai rapid ă întrucât

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
30interpretarea consum ă timp.
Traducerea și interpretarea poate fi efectuat ă de un calculator virtual
(mașină virtuală) M 1 a l c ărei limbaj ma șină este L1. În mod similar s ă
numim ma șina corespunz ătoare lui L0 cu M0. Un sistem care s ă execute
direct programele în L1 ar rezulta foarte complicat, dar și ineficient ă,
deoarece nu toate codurile vo r fi acoperite cu instruc țiuni. Nici L1 nu este
foarte potrivit pentru dezvoltarea de aplica ții, scrierea programelor fiind
greoaie și laborioas ă. Apare necesitatea elabor ării unui alt limbaj, mai
prietenos cu utilizatorul și mai puțin orientat pe ma șină. Așadar, limbajul L2
va rula și el pe o ma șină virtuală M2. Și L2 poate fi „tradus” în L1 pentru a
fi executat sau executate prin in termediul unui interpretor. Num ărul de
nivele poate fi crescut pân ă la obținerea unui limbaj convenabil, fiecare
limbaj folosindu-l pe precedentul. Numa i programele scrise în L0 pot fi
executate direct de circu itele electronice. Un programator ce scrie programe
în Ln, nu cunoa ște interpret ările și translările de la nivelele inferioare. Cu
cât limbajul e de nivel mai înalt, cu atât el seam ănă tot mai pu țin cu L0.
Pentru a în țelege cum func ționează și a proiecta un calculator sau pentru a
proiecta un nou nivel, un inginer trebuie s ă cunoasc ă toate nivelurile
inferioare.
Calculatoarele moderne pot fi privit e ca fiind structurate pe mai multe
nivele (cel pu țin 2, cel mult 6). În concep ția cea mai detaliat ă, nivelul 0
(figura 3.1) este cel corespunz ător structurii hardware primare (la nivel de
tranzistor). Un grup de tranzistoare alc ătuiește o poart ă logică, structura
diferind func ție de tipul por ții. Deși există circuite logice bazate pe diferite
tehnologii (tranzistoare TTL, ECL, CMOS), cea care este utilizat ă în
construcția calculatoarelor este teh nologia CMOS. Aceasta s-a impus
datorită consumului redus de arie pe chip cât și al consumului de putere.

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
31Mai multe por ți formeaz ă circuite digitale comp lexe (Circuite Logice
Combinaționale: decodificatoare, multiplexoare și Circuite Logice
Secvențiale: circuite basculante bistabile, regi ștri, num ărătoare) ce
alcătuiesc nivelul 1. Configura ții mai complexe bazate pe aceste circuite
alcătuiesc nivelul 2: calea de date și control. Acest nivel este organizat în 3
blocuri principale: procesor, memorie și periferice. Calea de date și cea de
control se întind peste cele 3 blocuri, prima asigurând fluxul de date și
procesarea sa, iar a doua r ealizând controlul secven țial al acestuia.

Tranzistori Nivelul 0 Nivelul 1 Nivelul 2 Nivelul 3 Nivelul 4 Nivelul 5 Nivelul 6
Circuite digitale
(porți, CBB, CLC, CLS) Cale de date și control Procesor Memorie Periferice Arhitectura setului de instruc țiuniAsamblor Compilator Sistem de operare
(DOS, Windows,
MacOS) Aplicație (Word, Iexplore) Software Hardware Obiectul
disciplinei Microprograme (cod ma șină) main {
if(test>0)
val=val+1;}
START:
mov AX,@DATA
mov DS,AX
mov AH,9
mov DX,OFFSET
END START
0000 1001 1100 0110
1010 1111 0101 1000
1011 1111 0100 0101

Fig. 2.1. Reprezentarea pe nivele a unui sistem de calcul
Toate nivelele prezentate pân ă acum alc ătuiesc structura hardware a
calculatorului. Interfa ța între partea hardware și cea software o constituie
arhitectura setului de instruc țiuni. Setul de instruc țiuni reprezint ă o listă a
tuturor instruc țiunilor pe care le poate ex ecuta un procesor. Este în
concordan ță cu tipurile de date, instruc țiunile, regi ștrii, modurile de
adresare, arhitectura memoriei, ru tinele de tratare a întreruperilor și

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
32excepțiilor, și intrările-ieșirile standard. Arhitectura setului de instruc țiuni
conține o specifica ție a codurilor opera țiilor, comenzile native implementate
de o anume unitate de procesare. Fiecare microprocesor are o foaie de
catalog în care este detaliat și prezentat setul de instruc țiuni al acestuia.
Deoarece procesorul cunoa ște doar un singur limbaj – limbajul ma șină –
orice program trebuie „tradus” în acesta pentru a fi „în țeles” de procesor.
Așadar nivelul urm ător este cel al microprogramelor – nivelul 4. De la
sistemul de operare pân ă la aplica ții, toate sunt translate în cod ma șină.
Unele programe sunt „traduse” direct în cod ma șină și executate de c ătre
procesor, altele sunt interpretate de sistemul de operare și executate prin
funcțiile sale. Acesta (nivelul 5) este un nivel „hibrid”. Un sistem de operare
reprezintă un ansamblu de programe care asigur ă exploatarea optim ă a
resurselor hardware și software ale unui sistem de calcul. Sistemele de
operare au fost create pentru a simplifica modul de lucru și de programare,
precum și pentru a utiliza echi pamentele periferice f ără interven ția
utilizatorilor în cursul execu ției programelor. Tot în acest nivel sunt
compilatoarele și asambloarele. Cu ajutorul acestora se realizeaz ă
„translarea” – compilar ea sau asamblarea – aplica țiilor scrise la nivelul
superior. Ele sunt scrise de programatorii de sistem, specializa ți în
proiectarea de noi ma șini virtuale. Nivelul 6 este cel destinat aplica țiilor și al
limbajelor destinate programatorilor de aplica ție, fiind numit nivelul
limbajelor de nivel înalt. Exist ă multe astfel de limbaje, dintre care cele mai
folosite sunt C, C++, Basic, Java, LI SP, Pascal. Programele scrise în aceste
limbaje sunt traduse pentru nivelul 4 de c ătre compilatoare, sau pot fi
interpretate (interpr etorul de Java).
Fiecare nivel reprezint ă o abstractizare ce con ține diferite obiecte și
operații. Tipurile de date, opera țiile și facilitățile fiecărui nivel reprezint ă

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
33arhitectura nivelului respectiv. Ea trateaz ă acele aspecte care sunt vizibile
utilizatorului nivelului respectiv, ca de exemplu dimensiunea memoriei
disponibile, adresa unui periferic, etc. Aspectele de implementare, ca de
exemplu tehnologia utilizat ă pentru implementarea memoriei sau
perifericului, nu fac parte din arhitectur ă. Arhitectura calculatorului
reprezintă studiul și proiectarea acelor p ărți care sunt vizibile pentru
programatori.
2.2. Principiile von Neumann
Modelul care st ă la baza marii majorit ății a calculatoarelor actuale a
fost formulat în anul 1945 de c ătre von Neumann. Acesta se bazeaz ă pe un
altul anterior, mai general și care se numea "Principiul programului
memorat" sau principiul comenzii dup ă program. Acestui concept are la
bază o structur ă numită mașină cu program memorat. Programul scris în cod
mașină este memorat în memoria calculatorului împreun ă cu datele de
prelucrat. Conceptul de program memorat const ă în reprezentarea
algoritmilor destina ți rezolvării unei probleme cu ajutorul unei scheme
logice care cuprinde dou ă tipuri de operatori: ope ratori de procesare și
operatori de secven țiere. Operatorii de procesare specific ă operațiile
efectuate asupra datelor, în timp ce operatorii de secven țiere specific ă
succesiunea de execu ție a operatorilor de prelucrare. Corespunz ător acestui
principiu se define ște și arhitectura von Neumann.
Trăsătura principal ă a modelului von Neumann este aceea c ă orice
problemă trebuie prezentat ă calculatorului sub forma unei secven țe de
operații, numit ă program. Concret, programul reprezint ă un set de
instrucțiuni care precizeaz ă ce trebuie s ă facă calculatorul la fiecare pas.

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
34Principiile formulate de matema ticianul von Neumann au avut ca
scop simplificarea proiect ării și implement ării unui calculator. De și din
momentul formul ării lor au ap ărut în domeniul tehni cii de calcul nenum ărate
îmbunătățiri tehnologice, cele mai multe principii au r ămas valabile și
astăzi.
Cele 5 principii care stau la baza modelului von Neumann a unui
calculator numeric sunt urm ătoarele:
1) Informația în calculatorul di gital este codificat ă binar , adică este
reprezentat ă prin cifre binare numite bi ți (0 sau 1). O grupare de n biți
constituie un cuvânt. În func ție de lungimea lui n se pot defini urm ătoarele
entități: n=8 biți => octetul sau byte, n=16 biți => semicuvântul sau 2 octe ți,
n=32 biți => cuvânt sau 4 octe ți, n=64 bi ți => dublucuvânt sau 8 octe ți.
Un cuvânt poate reprezenta o dat ă (cuvânt dat ă) sau o comand ă
(cuvânt de comand ă sau instruc țiune). De obicei ele se întâlnesc sub
denumirea de dat ă și instrucțiune.
2) Diferențierea dintre cuvântul dat ă și cuvântul instruc țiune nu se
face prin metoda de codificare ci pr in modul de utilizare (contextul de
utilizare). Indiferent ce sunt, cuvintele din calcul ator (date sau instruc țiuni)
ele sunt doar grupuri de 0 și 1 și nu se pot distinge între ele. Ordinea de
folosire a cuvintelor în program face diferen țierea.
Un avantaj al acestui principiu îl reprezint ă posibilitatea de
prelucrare a cuvântului de comand ă într-un mod asem ănător ca și cuvintele
de date ceea ce permite modi ficarea structurii unui program.
3) Cuvintele de tip dat ă și instrucțiune se g ăsesc în loca ții de
memorie care se identific ă printr-un num ăr de locație numit adresă. Fiecare
locație de memorie, poate memora o dat ă sau o comand ă. Orice opera ție de
citire din memorie extrage un singur cuvâ nt din memorie. Întrucât citirea din

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
35memorie nu e distructiv ă se spune c ă se obține o copie a cuvântului aflat în
memorie la adresa respectiv ă, conținutul loca ției rămânând acela și. O
operație de scriere în memorie implic ă înlocuirea cuvântului aflat la adresa
respectivă cu unul nou.
4) Algoritmul în execu ție se reprezint ă sub forma unei succesiuni de
cuvinte de comand ă (instruc țiuni). Fiecare cuvânt de comand ă sau
instrucțiune decide natura opera ției executate sau func ția de executat
precum și operanzii implica ți în opera ție. Orice instruc țiune cuprinde 2
câmpuri numite codul opera ției (OPCODE) și adresa având forma general ă:
C[n-1,0] A[m-1,0], unde C es te cuvântul de cod, ia r A este cuvântul de
adresă. O instruc țiune poate avea și mai multe câmpuri de adres ă. Datorită
faptului c ă o instruc țiune are n bi ți, ea poate codifica 2n funcții distincte.
Cuvintele de adres ă specifică adresele loca țiilor unde se g ăsesc memora ți
operanzii, sau rezultatul opera ției. Se pot accesa 2m adrese, deci tot atâ ția
operanzi. Aceast ă valoare fixeaz ă și spațiul de adresare al calculatorului:
0…2m-1.
5) Efectuarea calculelor, corespunz ătoare algoritmului problemei de
rezolvat, este univoc determinat ă de execu ția secven țială a instruc țiunilor
care constituie programul . Prima instruc țiune executat ă din program
corespunde adresei de start a programului. Adresa urm ătoarei instruc țiuni
este determinat ă în mod automat de c ătre CPU în timpul execu ției
instrucțiunii curente. Aceast ă instrucțiune urm ătoare este specificat ă prin
adresa sa în memorie, ca re poate fi adresa secven țial următoare sau o alt ă
adresă din spațiul de adrese pent ru cazul instruc țiunilor de ramificare.
În modelul standard exista un subcâmp de adres ă care reprezenta
adresa urm ătoarei instruc țiuni. Dar ulterior s-a renun țat la acest subcâmp
datorită lungimii mari a instruc țiunii și s-a folosit un dispozitiv special în

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
36Unitatea de Control (UC) care se nume ște numărător de program (PC-
Program Counter). Un program se depune în memorie în loca ții consecutive
deci la adrese consecutive de memori e. Atunci, prin incrementarea PC se
definește adresa urm ătoarei instruc țiuni de executat. Aceast ă regulă nu mai
este valabil ă în cazul instruc țiunilor de ramificare. At unci adresa de salt se
specifică într-un subcâmp al instruc țiunii curente și se încarc ă în PC.
Dacă un program este înc ărcat în memoria principal ă atunci
calculatorul poate realiza o anumit ă funcție particular ă de I/O pe diferite
mulțimi de date. Dac ă acest program este înlocuit cu altul atunci func ția de
I/O se modific ă. Deci pentru un ca lculator dat exist ă o mulțime finită de
programe posibile pentru rulare care depinde de capabilit ățile calculatorului.

2.3. Structura fizic ă a unei ma șini de calcul

Din punct de vedere structural, un calculator este format din unit ăți
funcționale interconectate pentru a putea prelucra informa ția, pe baza
comenzilor transmise prin program. Pe ntru un calculato r cu un singur
procesor, structura general ă este cea din figura 2.2., ea corespunzând
structurii propuse de von Neumann pentru calculatorul secven țial, cu
program memorat. Se disting urm ătoarele blocuri:
• Unitatea central ă de prelucrare (UCP) – prelucreaz ă datele și controleaz ă
funcționarea calculatorului. Este cunoscut ă sub denumirea de procesor.
• Sistemul de memorie – p ăstrează datele și programul (instruc țiunile).
• Sistemul de intrare – ie șire – efectueaz ă transferul datelor între calculator
și mediul exterior (alte calc ulatoare, operator, imprimant ă)
• Interconexiunile – permit comunica ția între UCP și memorie, respectiv
între UCP și unitatea de intrare-ie șire.

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
37
UCP Sistemul
de
memorie
Sistemul
de
I/O interconexiuni

Fig. 2.2. Structura fizic ă a unui calculator
2.3.1. Unitatea central ă de prelucrare
Unitatea central ă de prelucrare este componenta cea mai complex ă a
unui calculator. Ea coordoneaz ă activitatea întregului calculator, având un
rol similar cu al sistemului nervos central în corpul omenesc. Pe baza
instrucțiunilor aduse din memorie, unitatea central ă realizeaz ă manipularea
informațiilor, realizeaz ă operații de calcul sau controlul componentelor
sistemului. Structura UCP cupr inde 3 blocuri principale: unitatea de
comandă și control (UCC), unitatea aritmetic ă și logică (UAL) și blocul de
regiștri (figura 2.3):

UAL Regiștri
Unitatea de
comandă și
control magistrală internă

Fig. 2.3. Structura unit ății centrale de prelucrare

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
38Unitatea de comand ă și control controleaz ă funcționarea UCP pe
bază instrucțiunilor programului. Ea este pentru UCP ceea ce reprezint ă
UCP pentru calculator. În mod secven țial (controlat ă de un secven țiator) ea
extrage instruc țiunile din memorie, le decodific ă (interpreteaz ă) și genereaz ă
un set de semnale de comand ă necesare execu ției instruc țiunii. Dup ă
terminarea execu ției unei instruc țiuni se trece la urm ătoarea. Adresa
următoarei instruc țiuni se găsește într-un registru special numit contor de
program . Secvențiatorul poate fi realizat în logică cablată (numărător și
decodificator) sau în logică microprogramat ă (secvențele sunt p ăstrate într-
o memorie sub form ă de instruc țiuni).
UAL efectueaz ă prelucrările asupra datelor (opera ții aritmetice și
logice). În structura sa se g ăsesc un circuit sumator, un comparator și un
circuit pentru opera ții logice. Opera țiile efectuate pot fi: transferuri de date
între regiștri și între acestea și memorie, opera ții aritmetice, opera ții logice
(ȘI, SAU, NU), opera ții de deplasare a con ținutului unui registru sau loca ție
de memorie și operații de compara ție a doi operanzi.
UAL genereaz ă informa ții referitoare la rezultatul ultimei
instrucțiuni aritmetice și logice executate. Acestea se refer ă la semnul
rezultatului, la paritatea acestu ia, la cazurile în care a ap ărut un transport sau
un împrumut în cursul prelucr ării. Fiecare din aceste informa ții se păstrează
în câte o celul ă a registrului de stare. Acest registru con ține și alte informa ții
referitoare la starea programului.
Blocul de regi ștri reprezint ă echivalentul memoriei din structura
calculatorului. Regi ștrii păstrează temporar operanzii unei opera ții
aritmetice sau logice, rezultatele intermediare și finale, sau adresele
acestora. Utilizarea regi ștrilor cre ște viteza de prelucrare, eliminând
necesitatea accesului repetat la memorie. Ele reprezint ă deci o memorie

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
39internă foarte rapid ă.
Unii regiștri pot avea func ții dedicate, al ții se pot utiliza pentru orice
operații, fiind regi ștri de uz general. Un registru special îl reprezint ă
registrul acumulator (sau pe scurt acumulator), care con ține de obicei unul
din operanzii care particip ă la o opera ție, ca și rezultatul opera ției. O parte
din regiștri nu sunt accesibili pent ru operator, fiind regi ștri de lucru. Un
asemenea registru este registrul de instruc țiuni, care p ăstrează instrucțiunea
curentă pe durata execu ției acesteia.
2.3.2. Sistemul de memorie
Memoria reprezint ă locul unde sunt localizate toate informa țiile: date
și instrucțiuni. În memorie sunt înc ărcate informa țiile inițiale (date și
instrucțiuni) prin dispozitivele de intrare, și din memorie sunt preluate
rezultatele pentru a fi trimise dispozitivelor de ie șire (display, interfe țe).
Memoria este organizat ă ca o succesiune de loca ții de memorie.
Fiecare loca ție are asociat ă o adresă, prin intermediul c ăreia se poate accesa
locația respectiv ă. Adresarea se realizeaz ă cu ajutorul unor linii de adres ă,
numărul acestor linii determinând capacitatea maxim ă adresabil ă a
memoriei. De exemplu, cu 16 linii de adres ă se pot selecta maxim 216 locații
de memorie.
O locație de memorie se caracterizeaz ă prin: adresă (poziția locației
în cadrul memoriei) și conținut (valoarea memorat ă la aceast ă adresă).
Cantitatea de informa ție care poate fi memorat ă într-o loca ție adresabil ă
individual,exprimat ă ca număr de cifre binare (bi ți), se nume ște lungime a
cuvântului de memorie . Operațiile ce se pot efectua într-o loca ție de
memorie sunt cele de citire și de scriere. Aceste opera ții, ca și cea de selec ție
a locațiilor de memorie pe baza adresei, se realizeaz ă de către un ansamblu

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
40de circuite înglobate, împreun ă cu memoria propriu-zis ă, în unitatea de
memorie.
De obicei, memoria este organizat ă pe cuvinte de 16, 32 sau 64 de
biți, unitatea adresabil ă fiind octetul. Capacitatea memoriei se exprim ă în
Kocteți (KB) sau multipli ai acestuia:
1 KB = 1024 B 1 MB = 2
10 KB=1048576 B
1 GB = 210 MB = 1073741824 B
Memoria trebuie s ă aibă o capacitate cât mai mare și o viteză cât mai
ridicată, adică un timp de acces cât mai redus. Cu cât viteza memoriei e mai
mare cu atât costul ei este mai mare (costul pe unitatea de memorie). Ierarhizarea memoriei are ca scop ob ținerea unei memorii care s ă lucreze ca
și cum ar fi realizat ă în totalitate cu memorii rapide, dar al c ărei cost să fie
hotărât de memoria mai lent ă. Ierarhizarea memoriei poate fi caracterizat ă
de câțiva parametri: tipul de acces , capacitate , durata unui ciclu , latența,
lățimea de band ă și costul (tabelul 2.1). Tipul de acces se refer ă la acțiunea
fizică exercitat ă pe durata unui acces: scriere (WRITE) sau citire (READ).
Durata unui ciclu este intervalul de timp dintre momentul cererii informa ției
și până în momentul când informa ția este disponibil ă la ieșirea sa. L ățimea
de bandă este o măsură a numărului de bi ți pe secund ă ce pot fi accesa ți.
Tabelul 2.1.
Tip de
acces Capacitate
(octeți) Latență
(ns) Lățime de
bandă (MB/s) Cost
USD/MB
Regiștri aleator 64-1024 0,27-0,6ns func ție de tact mare
Cache aleator 8-64 M 1,1-4,5ns 12000-44800 100/1000
RAM aleator 1-64 G 4,16-7,8ns 12800-19200 10/1000
Disk direct 1-10T 1ms 126 0,165/1000

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
41De aceea, majoritatea calculatoarelor au dou ă tipuri de memorii, care
lucrează pe principii diferite:
• O memorie principal ă sau intern ă de tip solid-state (circuit integrat
din Si, de regul ă în tehnologie CMOS). Are timp de acces redus, și preț de
cost relativ ridicat. Aceasta este împ ărțită în două nivele: memoria Cache și
memoria RAM . Memoria Cache este intern ă procesorului, este rapid ă,
scumpă și de capacitate redus ă. Memoria RAM este mult mai mare, mai
ieftină dar și mai lent ă și este extern ă procesorului. Acronimul de RAM vine
de la „Random access memory„ = „Mem orie cu acces aleator” datorit ă
faptului c ă o locație a sa poate fi accesat ă aleator printr-o opera ție de scriere
sau citire, oferind acces în orice ordine , chiar la întâmplare. Timpul de acces
la orice loca ție este acela și, indiferent de adresa sa;
• O memorie secundar ă, externă, mai lent ă, cu o capacitate mult mai
mare, și cu un cost pe bit mai redus (disc magnetic, band ă magnetic ă).
Figura 2.4. prezint ă ierarhizarea tipic ă a calculator. Aceast ă
configurare a memoriei nu afecteaz ă sensibil viteza de calcul, deoarece
prelucrarea datelor și transferul de informa ții se efectueaz ă la viteza de
acces a memoriei interne. Eficien ța configura ției depinde de principiul
transferului informa ției în memoria rapid ă și accesul s ău de mai multe ori
înainte de a fi înlocuit ă. Acest fenomen se nume ște „localitatea referin ței”.
Într-o anumit ă perioadă de timp programele acceseaz ă o zonă relativ redus ă
de memorie în mod repetat. Exist ă două tipuri de astfel de localit ăți:
localitatea spa țială – dacă o adresă este accesat ă atunci este foarte probabil
ca adresele apropiate s ă fie accesate în perioada imediat urm ătoare (adrese
consecutive de exemplu pentru un program f ără bucle); localitate temporal ă
– dacă o anumit ă locație a fost accesat ă este foarte probabil s ă fie accesat ă
din nou sau în mod repetat (o bucl ă de program).

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
42
Regiștri
DISK Viteză Cost
Latență
Acces Memoria
principală
Memoria
secundarăCache
RAM

Fig. 2.4. Ierarhizarea memoriei unui calculator
2.3.3. Sistemul de intrare/ie șire
Sistemul de I/O asigur ă comunica ția calculatorului cu exteriorul: operator,
alte calculatoare. Transmiterea informa țiilor spre calculator și preluarea
acestora dup prelucrare sunt efectuate de echipamentele periferice .
Utilizatorii comunic ă sistemului informa țiile înregistrate pe suporturi
externe de informa ție sau prin dispozitive de intrare (tastatur ă, mouse), iar
rezultatele prelucr ărilor sunt furnizate utilizatorilor tot pe asemenea
suporturi, pe ecranul monitorului sau la imprimant ă prin dispozitive de
ieșire. Acestea sunt conect ate la calculator prin interfețe de I/O , existente în
cadrul unit ăților de intrare/ie șire, care îndeplinesc dou ă funcții importante:
de conversie de date și de memorie tampon. Conversia este necesar ă
deoarece informa ția este reprezentat ă diferit pe medii diferite, fiind necesar ă
compatibilizarea dispozitivelor respective. Func ția de memorie tampon este
necesară pentru c ă viteza de lucru a calculatorului (UAL și UCC) este cu
câteva ordine de m ărime mai mare decât a di spozitivelor exterioare.
Memoria tampon asigur ă sincronizarea func ționării calculatorului cu aceste
dispozitive.

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
43 Dispozitivele I/O variaz ă substan țial din punct de vedere al
caracteristicilor. Un parametru importa nt este rata de procesare definit ă ca
numărul mediu de caractere procesat pe secund ă. De exemplu o tastatur ă
poate procesa circa 10 caractere pe secund ă, iar un scaner circa 200.000
caractere pe secund ă, o imprimant ă laser ajunge la 100.000
caractere/secund ă iar un monitor la 30.000.000 caractere-secund ă. Evident
că rata redus ă a tastaturii depinde și de abilit ățile operatorului uman, dar
oricât ar fi acesta de îndemânatic nu va dep ăși rata de mai sus. Datorit ă
faptului c ă viteza unui astfel de dispozitiv este redus ă în raport cu a
procesorului, ar fi o pierdere de timp ca acesta s ă aștepte datele. Pentru a
elimina ace ști timpi de a șteptare se utilizeaz ă mecanismul de întrerupere ,
prin care se anun ță procesorul atunci când o dat ă este disponibil ă. Un alt caz
este cel al discului dur. De schiderea unui program înseamn ă transferul unui
bloc mare de date de pe acesta c ătre memorie. Ar fi o pierdere de timp
evidentă transferul octet cu octet. Pentru acest lucru se utilizeaz ă
mecanismul DMA (Direct Memory Access – acces direct la memorie) cu
ajutorul c ăruia se efectueaz ă transferul unor blocuri mari de date f ără
intervenția procesorului, întreaga opera ție fiind condus ă de un bloc de
control specializat. În acest timp pr ocesorul poate executa alte opera ții
rulând din memoria cache.
2.3.4. Conexiuni
Interconectarea unit ăților componente ale calculatorului se realizeaz ă
prin una sau mai multe magistrale . O magistral ă este format ă dintr-un grup
de linii destinate transferului paralel al informa țiilor de la una sau mai multe
surse la una sau mai multe destina ții. Numărul liniilor magistralei este egal
de obicei cu lungimea cuvântului transferat. Magistralele pot fi

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
44unidirecționale sau bidirec ționale. La un moment dat, nu poate fi selectat ă
decât o surs ă și una sau mai multe destina ții. În cazul selec ției mai multor
surse simultan, rezultatul este imprevizibil.
Selecția sursei și a destina ției se realizeaz ă cu multiplexoare și
decodificatoare de adres ă. În funcție de semnalele vehiculate, magistralele
pot fi de adrese , de date și de control . Magistralele pot fi sincrone, dac ă
transferul se face dup ă un semnal de ceas comun într-un num ăr întreg de
cicluri ( cicluri de magistral ă), sau asincrone, atunci când nu exist ă semnal
de tact, transferul putând dura oricât putându-se adapta la o mare varietate
de periferice.
Deoarece transferul datelor între memorie și procesor este mai rapid
decât cel cu dispozitivele I/O, ia r transferul între memoria cache și procesor
este mai rapid decât cel dintre memoria principal ă și memoria cache,
sistemele moderne utilizeaz ă magistrale diferite pentru a nu încetini
transferul datelor: interne procesorul ui: (back side bus) pentru transferul
între diferitele niveluri de cache și procesor, magistrale externe (front side
bus) pentru transferul datelor între memorie și procesor, respectiv între
procesor și periferice. Mai mult, a șa după cum se observ ă din figura 3.5.,
există un controler ce separ ă magistralele (chipset) format din dou ă punți: o
punte pentru interfa țarea memoriei și magistralei grafice (AGP, PCI
Express) – Northbridge și o alta pentru interfa țarea celorlalte periferice
(PCI, IDE, SATA, Ethernet, Audio, CMOS, COM, LPT, FDD, tastatur ă și
mouse) – Southbridge.

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
45

Fig. 3.5. Organizarea magist ralelor unui calculator
Puntea de nord (northbri dge) era una din cele dou ă circuite ch ipset de pe
placa de baz ă și avea scopul de a realiza comunica ția între procesor și placa
de bază. Astăzi funcțiile sale au migrat c ătre procesor, începând cu memoria
și controlerul grafic. De exemplu procesoarele Intel Sandy Bridge și AMD
Accelerated Processing Unit au incluse toate func țiile acestei pun ți în
interior: controlerul de memorie și unitatea de procesare grafic ă alături de
core-rurile procesorului. Puntea de nord se ocup ă în principal de
comunica ția procesor – RAM, magistrala video și puntea de sud
(Southbridge). Din cauz ă că procesoarele și memoriile necesit ă semnale de

Arhitectura calculatoarelor 2. Structura sistemelor de calcul
46acces diferite, o anumit ă variantă de punte va accepta unul sau maxim 2
tipuri de procesor și un singur tip de RAM (exist ă și punți care accept ă 2
tipuri de RAM).
Puntea de nord joac ă un rol important în stabilirea frecven ței de tact
(overclocking). Cu cât aceasta e mai mare cu atât procesorul este mai rapid
și se încălzește mai tare necesitând r ăcire mai intens ă. Există o limită
tehnologic ă a frecven ței de tact datorat ă întârzierilor de propagare,
întârzieri care cresc cu temperatura chip-ului.
Ultima variant ă de punte de nord este numit ă Ivy Bridge și este
folosită în procesoarele de ultim ă generație, de la Celeron la I7. Circuitul
este similar cu predecesoarea Sandy Bridge, cu câteva diferen țe: tehnologia
este pe 22nm (fa ță de 32 nm), folose ște tranzistoare tri-gate care asigur ă un
consum mai mic la vitez ă mai ridicat ă (până la 4.6 GHz) și conține un
controler grafic mai evoluat pentru aplica ții video.
Puntea de sud (southbridge) implementeaz ă funcțiile mai lente ale
plăcii de baz ă, adică cele de intrare ie șire (Input/Output controller hub
pentru Intel și Fusion Controller Hub pentru AMD). Printre func ționalitățile
punții de sud se pot aminti: interfa ța magistralei PCI (clasice, sau PCI-
Express), interfa ța magistralei ISA (tastatur ă, mouse, porturi COM și LPT,
floppy și IR), interfa ța magistralei SPI (BIOS), interfa ța magistralei SMB
(senzori temperatur ă, ventilatoare), controller DMA, controller de
întreruperi, controller pent ru hard disk (PATA sau SATA), ceas de timp
real, circuite de management a consumului, memoria BIOS nevolatil ă,
interfața audio. Op țional southbridge mai poate con ține interfa ța Ethernet,
USB, codec audio și Firewire.

Similar Posts