Sunteți pe pagina 1din 10

.

Sumatorul serie
Considerând 2 numere binare A şi B, fără semn, fiecare pe n biţi:

sumarea lor se face cifră cu cifră (bit cu bit), similar cu adunarea în sistemul zecimal, începând cu biţii din
dreapta (LSB), menţinând cifra „unităţilor" din sumă ca rezultat şl propagând transportul (depăşirea) spre
rangul următor.
Propagarea transportului de la un rang la altul nu se poate face fără suma rea rangurilor anterioare. Sumarea
unui rang se face utilizând un sumator elementar. Tabelul de adevăr al acestuia şi schema logică sunt
prezentate în figura următoare.

Circuitul adună biţii de pe un rang şi transportul de rangul anterior şi furnizează suma şi transportul către
rangul următor. Pentru suma rea a două numere de mai mulţi biţi se poate folosi un singur sumator, care să
realizeze pe rând suma rea biţilor de pe fiecare rang. Succesiunea de adunări se va face secvenţial pe baza
unui semnal de tact, cîte o adunare la fiecare impuls de tact. în total adunarea va dura n perioade de tact
(nTCLK).

Sumator serie
2.6.2. Sumatorul paralel
Adunarea se poate face şi simultan, adică în paralel. Pentru aceasta este nevoie de n sumatoare care să
sumeze cele n perechi de biţi, iar transportul se va propaga de la un rang la altul. Schema de principiu a
acestui sumatoreste prezentată în figura de mai jos.
Circuitul conţine 3 regiştri de n biţi, în care se memorează numerele de adunat şi rezultatul, n sumatoare şi
un CBB pentru reţinerea depăşirii. Fiecare sumator primeşte, pe lângă cei 2 biţi de rangul corespunzător, şi
transportul de la rangul anterior t;. Pe lângă rezultatul S; fiecare sumator generează şi transportul t i+1 către
rangul următor. Primul sumator, cel de la rangul 0, poate fi un semisumator dacă nu există transport din
rangul precedent.

La prima vedere circuitul realizează sumarea într-o singură perioadă de tact, în timp ce sumatorul serie o
realizează în n perioade. în cazul cel mai defavorabil, în care toate transporturile sunt 1, propagarea
transportului de la primul etaj până la ultimul durează n timpi de propagare prin sumatoare (prin circa 3 porţi
pe sumator). în concluzie semnalul de tact trebuie să aibă o frecvenţă mai mică, pentru a da posibilitatea
tuturor etajelor să îşi stabilizeze ieşirile.

Calculatoarele moderne pot fi privite ca fiind structurate pe mai multe nivele (cel puţin 2, cel mult 6).

nivelul 0 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
tehnologia CMOS. Aceasta s-a impus datorită consumului redus de arie pe chip cât şi al consumului de
putere.

Mai multe porţi formează circuite digitale complexe (Circuite Logice Combinaţionale: decodificate a re,
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 şl 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 realizând controlul
secvenţial al acestuia.

Interfaţa între partea hardware şi cea software o constituie arhitectura setului de instrucţiuni.Setulde
instrucţiuni reprezintă o lista a tuturor instrucţiunilor pe care le poate executa un procesor. Este în
concordanţă cu tipurile de dater instrucţiunile, regiştrll, modurile de adresare, arhitectura memoriei, rutinele
de tratare a întreruperilor şi excepţiilor, şi intrările şi 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.
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 nivelului respectiv. Ea tratează acele aspecte care sunt vizibile
utilizatorului nivelului respectiv, ca de exemplu dimensiunea memoriei disponibile, adresa unul periferic.
Cele 5 principii care stau la baza modelului von Neumann a unui calculator numeric sunt următoarele:
1) Informaţia in calculatorul digital 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 Iul 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).
2) Diferenţierea dintre cuvântul dată şi cuvântul instrucţiune nu se face prin metoda de codificare ci
prin modul de utilizare (contextul de utilizare). Indiferent ce sunt, cuvintele din calculator (date sau
instrucţiuni) ele sunt doar grupuri de O şi 1 şi nu se pot distinge între ele. Ordinea de folosire a cuvintelor în
program face diferenţierea.
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ă. Flecare 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 memorie nu e
distructivă se spune că se obţine o copie a cuvântului aflat în memorie la adresa srespectivă, conţinutul
locaţiei rămânând acelaşi.
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 este cuvântul de cod, iar 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.Se pot accesa 2m adrese, deci tot atâţia operanzi.
Această valoare fixează şi spaţiul de adresare al calculatorului: 0...2m-i.
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

.1. Structura generală a unei UCP


Ca structură generală, un procesor cuprinde o cale de date (datapath - care conţine o unitate aritmetică şi
logică UAL şi un set de regiştrii folosiţi ca memorie temporară) şi o unitate de control. Conform modalităţii de
clasificare a circuitelor digitale în ordine, fiecare dintre cele două componente amintite se constituie ca un
automat. Structura procesorului, presupune o buclă de reacţie între cele două automate componente (ordin
2), deci procesorul este un automat de ordinul 3.
Calea de date conţine o Unitate Aritmetică şi Logică (UAL) ce efectuează operaţii cu datele de intrare
(operanzi) şi un set de regiştri pentru memorarea locală, temporară, a prelucrarea datelor. Mai poatec onţine
circuite necesare transferului de informaţie între regiştri şi cu exteriorul (circuite de decodificare, codificare,
multiplexare, comparare, circuite tampon, etc.). Regiştri) locali sunt de mare viteză şi se folosesc pentru
efectuarea operaţii aritmetice sau logice (reţinerea temporară a operanzilor pe durata efectuării operaţiilor
aritmetice sau logice şi respectiv a rezultatului).
Principalele operaţii realizate de Unitatea Aritmetică şi Logică (ALU) sunt:
6) operaţii aritmetice şi logice cu operanzi pe n biţi. Numărul de biţi ai operanzilor este egal de obicei
cu numărul de biţi ai magistralei interne de date a procesorului, dar există şi excepţii de la aceasta regulă.
7) furnizează indicaţii privind transportul, împrumutul, egalitatea cu zero, sau alte caracteristici privind
rezultatul operaţiilor efectuate, prin intermediul valorilor unor biţi numiţi indicatori de condiţii (fanioane -
flags).
"Intrare date" sunt liniile de introducere a datelor în calea de date din exteriorul UCP. Aceşti operanzi se
citesc ca şi cuvinte binare (n biţi) şi se stochează în regiştri interni. Rezultatul operaţiilor efectuate sau
conţinutul unor regiştri se poate furniza în exterior prin liniile notate "date ieşire".
Semnalele notate "comenzi interne", reprezintă comenzi către calea de date generate de unitatea de control.
Pentru a înţelege modul de funcţionare a unui procesor vom analiza o structură simplă de UCP, pe care să o
numim elementară. Schema de principiu este prezentată în figura următoare:
Calea de date conţine untatea aritmetică şi logică, registrul acumulator registrul B şi căile de transfer de
date. în plus pot exista şi registre de memorare temporară, registre folosite de procesor pentru operaţii
intermediare, dar inaccesibile prin program. UAL este un circuit corn bi naţional care efectuează operaţii
aritmetice sau logice cu operanzii de la intrare. Operaţia este controlată prin semnale interne de către
unitatea de control. Dacă operaţia de efectuat de către UAL este codificată pe 4 biţi, se pot selecta până la 16
operaţii elementare (adunare, complementare, ŞI logic, SAU, scădere, etc)
Memoria ROM (Read Only Memory) este un circuit combinational care stochează permanent date binare, iar
această informaţie poate fi numai citită.

Liniile matricei sunt selectate cu ajutorul decodificatorului cu 7 intrări (DCD), iar coloanele cu ajutorul celor 8
multiplexoare (MUX) cu câte 3 intrări de selecţie.
Intrarea de selecţie CS (Chip Select), activă pe O logic, validează circuitul de memorie. Intrarea OE (Output
Enable), activă pe O logic, permite datelor să fie scoase la ieşirea circuitului. Cele două ieşiri au acelaşi rol
având acelaşi efect asupra circuitului. La CS se leagă semnalul de selecţie provenit din adresele superioare,
iar la OE se leagă semnalul RD. Semnalul de selecţie are şi rol de dezactivare a alimentării blocurilor
componente (linia punctată).

Unul din parametrii cei mai importanţi ai memoriei ROM este timpul de acces: intervalul de timp scurs din
momentul aplicării adresei pe intrările circuitului şi până ce datele memorate la adresa respectivă sunt
disponibile la ieşiri, în condiţiile în care semnalele CS şi OE sunt activate.
Tipuri de memorii ROM:
1.Memoriile ROM programate de către producător, după cerinţele utilizatorului, prin realizarea unor măşti de
programare specifice fiecărui set de circuite realizat.
Ele reprezintă soluţia finală, implementată în produse de cel puţin câteva sute de bucăţi (pentru a fi
economică).
Orice modificare ulterioara dorita presupune comanda unui nou set de memorii, realizate adecvat.
2.Memoriile PROM (Programmable Read Oniy Memories) sunt circuite de memorie a căror conţinut poate fi
programat o singură dată, de către utilizator.
După înscrierea informaţiei, aceasta nu mai poate fi ştearsă. Programarea acestora este realizată prin
distrugerea selectivă, conform informaţiei ce se memorează, a unor micro-fuzibile, prin aplicarea unor
tensiuni mai mari, de programare, pe biţii doriţi.
3.Memoriile EPROM (Electrically Programmable Read Only Memories) au posibilitatea de înscriere repetată a
conţinutului, ştergerea acestora făcându-se prin expunere la radiaţie ultravioletă şi este neselectivă.
în acest caz memoriile reţin Informaţia sub formă de sarcină într-o celulă MOSFET, putând fi ştearsă, prin
expunerea ariei (acesta este prevăzut cu o "fereastra" de cuarţ), la o sursă de radiaţi ultraviolete. După
ştergere, memoria poate fi rep rog ramată. Acest tip de memorii este utilizat cu precădere în etapa de
dezvoltare şi testare a sistemului sau a unei aplicaţii.

4.Memoriile EEPROM sau E2PROM (Electrically Erasable Read Only Memories) elimină dezavantajele
circuitelor EPROM: ştergerea întregului conţinut, timp de ştergere ridicat, necesitatea scoaterii circuitului din
circuit pentru ştergere. Din această categorie fac parte şl memoriile flash.
Ştergerea informaţiei din celule de memorare se realizează în cazul EEPROM prin aplicarea unor tensiuni de
comandă a ştergerii, selectiv, pentru o celulă sau un grup de celule.

Structura bloc a unei memorii RAM este asemănătoare cu cea a unei memorii ROM.
Apare în plus semnalul WE (WRIte Enable) care, odată ce este activat pe 0 logic, memorează datele de pe
intrările de date la adresa indicată de intrările de adresă.

Se poate vedea în figură că celula de memorie de un bit conţine un latch de tip D, iar memorarea datelor se
face pe palierul de 1 logic al tactului, adică atunci când sunt activate semnalele WR şi SEL (acesta fiind una
din ieşirile decodificatorului liniilor de adresă). Activarea semnalului WR este o consecinţă a activării
semnalelor de intrare WE şi "C3”.
Viteza de lucru a procesorului este superioară vitezei de lucru a memoriei RAM. După iniţierea unui ciclu de
acces la memorie, procesorul ar trebui să aştepte răspunsul acesteia.
Există memorii rapide, dar costul lor este ridicat. Din acest motiv se apelează la un compromis, memoria
fiind structurată pe nivele: o memorie de dimensiuni mai reduse dar rapidă (direct accesibilă procesorului) şi
o memorie de capacitate mai mare dar mal lentă.
s

Memorie Memorie
UCP RAM
A cache
. principală

Memoria RAM are capacitate mai mare, dar este mai lentă, în timp ce memoria cache este de dimensiune
mult mai mică, dar este foarte rapidă. Ea conţine copii ale unor informaţii (bucăţi) din memoria RAM.
Atunci când procesorul încearcă să citească un cuvânt din memorie se testează mai întâi dacă se află în
memoria cache. Dacă se găseşte în cache acesta este trimis procesorului, în caz contrar încărcându-se un
bloc din memoria RAM principală în memoria cache, iar apoi i cuvântul căutat este furnzat procesorului din
cache din blocul prospăt adus.

Timpul de acces al unul astfel de sistem de memorie depinde atât de vietezele celor 2 tipuri de memorie, dar
şi de probabilitatea ca un cuvânt să se găsească în memoria cache (rata de succes).Timpul mediu de acces
al sistemului de memorie este:

T -este timpul mediu de acces al sistemului RAM + cache


R este rata de succes
T este timpul de acces al memoriei cache
TRAM este timpul de acces al memoriei RAM

Se urmăreşte ca T~Tacces cache. Deoarece T«TRAM este nevoie ca rata de succes să fie cât mai apropiată de 1. S-a
demonstrat experimental că o dimensiune relativ redusă a memoriei cache. de 64 KB sau 128 KB, este
suficientă pentru a obţine o rată de succes de peste 0,75, indiferent de dimensiunea memoriei RAM
principale.
Sistemul de intrare-ieşire este conectat la microprocesor prin intermediul magistralelor: adrese, date şi
comandă şi control şi poate conţine unul sau mai multe dispozitive periferice
Menirea unor regiştri este de a permite configurarea şi citirea stării dispozitivului I/O, iar a altora este de a
schimba date prin intermediul lor cu procesorul. Regiştrii pot fi adresaţi fie într-un spaţiu special dedicat,
numit spaţiul dispozitivelor I/O (map-are în zona de adrese I/O) sau pot fi adresaţi în spaţiul dedicat memoriei
(map-are în zona de memorie). în acest al doilea caz delimitarea zonelor se face prin semnale de citire şi
scriere diferite. în cazul calculatoarelor aceste dispozitive sunt localizate întotdeauna în zona dispozitivelor
I/O.

Existenţa circuitelor de interfaţa a fost impusă de mai multe cerinţe:


1.varietatea mare de dispozitive, tehnologii şi moduri de funcţionare
2viteza relativ redusă de transfer a datelor (cea mai mică din întregul sistem) dar şl variabilă în limite largi
3.formatul diferit al datelor
Funcţie de utilitate, echipamentele periferice sunt de 3 tipuri:
1.pentru transferul datelor între calculator şi operatorul uman (tastatură, mouse, monitor, imprimantă, etc)
2.pentru transferul datelor între calculatoare (interfaţă serială, interfaţă paralelă, interfaţă USB, interfaţă
Ethernet) şi
3.pentru memorarea datelor (unitate CD/DVD, unitate HDD, unitate FDD).

Funcţie de perifericul căruia îi este destinat, circuitul de interfaţă realizează o serie de funcţii: comunicaţia cu
procesorul (date, comenzi, setări şi stare), comunicaţia cu perifericul (date, comenzi, setări şi stare),
sincronizare, asigurarea unui tampon de date şi detecţia erorilor.
în practică există două familii de seturi de instrucţiuni larg utilizate: CISC - şi RISC - . , prima variantă are
avantajul unui cod mai compact şi deci a unui acces mai redus la memorie, în timp ce a doua aduce avantajul
unui procesor mai simplu (implicit de consum mai mic)

Setului de instrucţiuni CISC include instrucţiuni complexe, care în alte sisteme înseamnă mai multe
instrucţiuni şi care durează mai multe cicluri de tact. Astfel de instrucţiuni sunt: salvarea mai multor regiştri
în stivă simultan, mutarea unor blocuri mari de memorie, operaţii matematice complexe (aritmetică în virgulă
flotantă) sau instrucţiuni care presupun operaşi cu un operand din memorie. în consecinţă, lungimea acestor
instrucţiuni este diferită (de la 8 la 64 de biţi, chiar 120 de biţi la x86).
Tehnologia RISC se bazează pe faptul că instrucţiuni mai simple pot asigura simplitate şi viteză de execuţie
mai mare. In acest scop, setul de instrucţiuni este redus şi optimizat. O altă caracteristică a sistemelor RISC
este arhitectura de tip load/store (memoria este accesată numai prin instrucţiuni specifice). Termenul
„redus" nu înseamnă neapărat mai puţine instrucţiuni (multe arhitecturi RISC au mai multe instrucţiuni decât
arhitecturile CISC), ci înseamnă că numărul de cicli necesari pentru a executa o instrucţiune este mai redus
(tipic 1 ciclu pe instrucţiune.

Instrucţiunea este o comandă binară care modifică starea procesorului. Ea este o succesiune de cuvinte
binare care desemnează o operaţie elementară şi operanzii săi. Programul reprezintă o succesiune de astfel
de instrucţiuni ce sunt stocate în memorie. Datorită faptului că informaţia este reprezentată sub formă binară,
nu se pot distinge datele de instrucţiuni în memorie decît dacă aceasta este parcursă de la prima locaţie
către ultima. Datorită faptului că orice instrucţiune are două câmpuri principale (câmpul codului instrucţiunii
- opcode şi câmpul de date - date sau adrese), prin decodificarea primului câmp de către UCP, aceasta poate
urmări succesiunea programului.
Există mai multe tipuri de instrucţiuni care se găsesc la toate procesoarele:
-instrucţiuni de transfer - sunt instrucţiuni care manipulează datele între regiştri sau între aceştia şi memorie
sau dispozitivele I/O.
-instrucţiuni aritmetice - asigura prelucrarea unor date aflate în regiştrii sau în memorie.
-instrucţiuni logice - efectuează operaţii logice asupra unor date (şi, SAU, XOR, negare, etc)
-instrucţiuni de deplasare şi rotire a datelor - realizează deplasarea sau rotirea biţilor unor operanzi pentru
izolarea unor biţi în scopul testării sau modificării sale.
-instrucţiuni de ramificare - acest gen de instrucţiuni determină modificarea condiţionată sau necondiţionată
a succesiunii liniare de execuţie a unui program.
-instrucţiuni pentru controlul procesorului - controlează anumite funcţii ale acestuia prin intermediul unor
regiştri de control (registrul de stare, registrul de întreruperi), introduc stări de aşteptare pentru
sincronizarea cu evenimente exterioare sau opresc procesorul.

S-ar putea să vă placă și