Documente Academic
Documente Profesional
Documente Cultură
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Cuprins
Introducere 3
204
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 1/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.3. Cicluri 50
4.4. Exerciţii 52
205
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 2/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Bibliografie 203
Cuprins 204
206
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 3/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 1
Arhitectura unui sistem de calcul
Pentru ı̂nceput să trecem ı̂n revistă organizarea generală a unui sistem actual de calcul.
• Va rezolva numai probleme pentru care i s-a dat o procedură de rezolvare.
Turing, la de
bilităţilor rândul
calcullui,
pe aduce
care leı̂npoate
anii avea
40 o un
serie de precizări de ordin formal asupra posi-
computer.
Maşina definită de el (Maşin˘ a Turing ) este modelul matematic al calculatoarelor de
mai târziu.
1
¸ie f : N −→ N este efectiv calculabil˘
Pe scurt enunţul acesteia este: O funct a dac˘
a şi numai dac˘
a este
recursiv˘
a .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 4/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Procesor
Cap citire/scriere
... . . . Bandă memorie
Dacă starea procesorului este S h şi simbolul citit pe bandă este T i , atunci
maşina efectuează operaţia O j şi trece procesorul ı̂n starea S k .
1. O j = T j : simbolul T j este scris pe bandă ı̂n locul lui T i ;
Se
de demonstrează că orice
calcul cu o maşină calculator
Turing, este –echivalent
iar aceasta din punct
conform Tezei de vedere
lui Church al posibilităţilor
– poate aborda orice
problemă ce admite o rezolvare algoritmică.
Nu vom prezenta detalii ale acestor aserţiuni, ele constituind subiectul altor domenii
de cercetare, mult mai generale şi fără multă legătură cu ceea ce vrem să prezentăm ı̂n
această carte.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 5/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ A MAŞINILOR DE CALCUL
1.2. STRUCTURA GENERALA 7
CPU
Instrucţiuni
Control
Periferice
Memorie
intrare/ieşire
Unitate
aritmetică-logică Date
Aceste componente hard comunică ı̂ntre ele printr-un sistem de magistrale. Principalul
soft inclus este sistemul de operare , care asigură majoritatea funcţiilor de prelucrare ale
sistemului.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 6/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Structura unui astfel de calculator (cum au fost ENIAC, EDVAC, IAS, UNIVAC) este
Impactul cel mai mare asupra dezvoltării sistemelor de calcul l-au avut ı̂nsă calcula-
toarele din generaţia a treia, reprezentantul specific fiind IBM/360 (existent şi ı̂n dotarea
Universităţii Bucureşti, ı̂ncepând cu anul 1967).
Schema generală a structurii unui astfel de calculator este prezentată pe pagina următoare.
Notaţiile folosite (devenite standard odată cu generaţia a treia de calculatoare):
• SR - Registru de stări
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 7/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ A MAŞINILOR DE CALCUL
1.2. STRUCTURA GENERALA 9
Periferic Periferic
Decoder instrucţiuni Semnale
. . . control IO IO
CPU
(poate fi micro-programat)
Interfaţă
IO
PSW (Program status word)
Procesor Procesor
IR AR SR PC IO IO
Unitatea de control a
memoriei principale
4 regiştri de 64 biţi
16 regiştri generali ı̂n virgulă mobilă
de 32 biţi
ALU
Floating - point
Memoria
ALU
ALU principală
Fixed - point Decimal
DPU
• Introduc unităţile de informaţie: octet (byte), cuvânt (word), cuvânt dublu, registru.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 8/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Microprocesor Memorie
Monitor Tastatură Reţea
HDD
CP U
HDD Video Tastatură Reţea
control control control control
Cache M
Magistrală I O (locală)
Interfaţă
magistrală
Control interfaţă periferice
Magistrală sistem
CP U este caracterizat printr-un set de circa 200 instrucţiuni care realizează transferul
şi prelucrarea datelor precum şi operaţii de control al programelor (cu o structură rămasă
ı̂n general aceeaşi ı̂n timp).
CP U poate fi suplimentată cu alt chip (interior sau exterior) numit co-procesor , care
implementează funcţii specializate, cum ar fi prelucrarea de interfeţe grafice.
Rolul memoriei principale M este de a stoca programe şi date prelucrate de CP U .
Ea este o memorie cu acces aleator (RAM - random access memory), formată din o
secvenţă liniară de componente (de obicei grupuri de 8 biţi, numite bytes sau octet ¸i ).
Fiecare byte are asociat o adresă unică, care permite C P U să citească sau să schimbe
(scrie) conţinutul (pe baza unor instrucţiuni de ı̂ncărcare sau memorare).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 9/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ A MAŞINILOR DE CALCUL
1.2. STRUCTURA GENERALA 11
Memoria principală M este completată de o memorie secundară, mai mare dar mai
lentă (din punct de vedere al accesului), de obicei situată pe hardiscuri (HDD).
Deci un calculator conţine mai multe tipuri de memorie, care pot fi ierarhizate ı̂n
registrele CP U : memoria cache, memoria principal˘ a şi memoria secundar˘
a .
Această structură complexă rezultă din faptul că cele mai rapide componente de memo-
rie sunt şi cele mai scumpe; deci ierarhizarea asigură C P U cu un acces rapid la un număr
mare de date, la un preţ relativ scăzut.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 10/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1.3 Micro-controllere
Reducerea impresionantă a dimensiunilor şi scăderea costurilor componentelor principale
ale unui calculator a permis construirea unor computere specializate pentru anumite pro-
bleme, numite micro-controllere .
Ele au circuite de control specifice, sau sunt lipsite total de componenta logică (cum
ar fi de exemplu circuitul de control al unei maşini de spălat automate).
Programele sunt stocate ı̂n memoria ROM (”read only memory”), care formează o
parte a memoriei principale folosite de micro-controller.
Acesta este construit direct ı̂n obiectul controlat, ı̂ntr-o zona adesea invizibilă şi inac-
cesibilă utilizatorului.
Un micro-controller programat să efectueze operaţiile unei aplicaţii poate ı̂nlocui cir-
cuitele de control specifice acelei aplicaţii, adesea cu o reducere de cost apreciabilă.
Majoritatea
verse calculatoarelor
aparate utilizate actual
ı̂n cele mai operabile
variate medii. sunt micro-controllere construite ı̂n di-
Spre
Calculator reţeaua
central telefonică
CP U
RAM ROM
Port IO Port IO
(microprocesor)
Magistrală sistem
Port IO Port I O Port IO Port IO
Micro-controler
Scaner Monitor
Cititor
cod Tastatură şi card
produs imprimantă
Schema de mai sus descrie una din primele aplicaţii ale unui micro-controller: un punct
de vânzare terminal care ı̂nlocuieşte casa ı̂ntr-un supermarket.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 11/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1.4. CE ÎNSEAMN A
˘ ”ARHITECTURA UNUI CALCULATOR” 13
Odată această arhitectură stabilită, cele două componente ale unui computer: hardware
(mulţimea pieselor care formează calculatorul) şi software (mulţimea programelor rulate
de calculator) se pot dezvolta independent una de alta.
O bună perioadă de timp arhitectura putea fi doar ı̂mbunătăţită, fiind adăugate noi
facilităţi, dar nefiind eliminată nici o funcţie.
Deci un program scris pentru o primă versiune a arhitecturii va funcţiona pe orice
versiune ulterioară.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 12/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Rezumând, architectura calculatorului este o interfaţă ı̂ntre hardul şi softul unui com-
puter şi presupune:
• un mecanism de control care permite utilizarea descrierii pentru a pune maşina să
lucreze, ı̂n două variante:
– executı̂nd descrierea
– interpretı̂nd descrierea.
unde, priniar
al descrierii, execuţie se ı̂n ţelege se
prin interpretare o acţiune
ı̂n ţelegedeo un ”pas” de
secvenţă asociată fiecărui
acţiuni ”element”
asociate fiecărui
”element” al descrierii.
Evident, ı̂n ambele variante, acţiunile vor depinde direct de modul de definire al des-
crierii.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 13/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 2
Definiţia 2.1 Fiind date dou˘ ¸imi finite şi nevide A (alfabet surs˘
a mult a) şi B (alfabet
1 +
cod), o codificare este o aplicat a φ : A −→ B .
¸ie injectiv˘
Deşi simple, codurile binare sunt de obicei lungi şi deci greu de manipulat.
Adesea este mai convenabil să grupăm simbolurile binare formând alfabete mai com-
plexe.
Astfel, formând grupuri de câte patru simboluri binare, se obţine codul hexazecimal :
1
O aplicaţie f este injectivă dacă din egalitatea f (x) = f (y ) rezultă x = y şi nimic altceva.
15
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 14/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Codurile neponderate asociază unei cifre zecimale un grup de patru cifre binare, fără
a avea semnificaţia unei ponderi.
Cele mai cunoscute astfel de coduri sunt codurile Exces 3 şi Gray .
Codul Exces 3 este rezultat din codul hexazecimal prin adunarea numărului 3 (scris
ı̂n binar) la fiecare cifră.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 15/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
În acest fel, prin complementarea cifrelor binare care formează codul cifrei i se obţine
codul cifrei 9 − i.
Pentru codul Gray, caracteristic este faptul că orice codificare a unui număr diferă de
codificarea succesorului său prin exact o cifră binară.
• Forma condensat˘
a (ı̂m pachetată), ı̂n care, pe cele 8 poziţii ale unui octet sunt
reprezentate două cifre zecimale exprimate ı̂n binar;
• Forma dilatat˘
a (despachetată), ı̂n care pe fiecare octet se reţine o singură cifră
zecimală – pe ultimii patru poziţii binare.
a M .
Primele patru poziţii ale fiecărui octet sunt ocupate de o marc˘
M 0 0 1 1 M 0 1 0 0 M 0 0 1 0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 16/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 17/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
domeniul [0, 31] nu sunt simboluri printabile, iar ı̂n zona [128, 255] se definesc simboluri
auxiliare, care nu sunt pe tastatură).
De exemplu, litera A, va avea codul hexazecimal - binar
(41)16 = (01000001)2
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 18/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
n n−1 n−2 2 1
......
S
Prima poziţie din stânga (a n-a poziţie binară) este numită bit de semn ; ea este ocupată
de un bit care are valoarea 0 dacă numărul este nenegativ, 1 dacă numărul este negativ.
A i-a cifră binară este coeficientul lui 2 i−1 ı̂n reprezentarea numărului ı̂n baza 2.
Deci cel mai mare număr ı̂ntreg care se poate reprezenta pe n biţi este
n n−1 n−2 2 1
1 0 0 ...... 0 0
S
15
În cazul n = 16, acesta este −2 = − 32.768.
Deci pe 16 poziţii binare pot fi reprezentate toate numerele ı̂ntregi din intervalul
[−32.768, 32.767].
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 19/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
0 0 0 1 0 1 1 1 23
+
0 0 0 0 1 1 1 1 15
=
0 0 1 0 0 1 1 0 38
2. Cod invers (sau cod complementar la 1): se obţine prin ı̂nlocuirea fiecărei cifre binare
a cu 1 − a;
3. Cod complementar (la 2): se obţine din codul invers, la care – ı̂n faza a doua – se
adună numărul 1.
1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 20/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0
Scăderea se transformă ı̂n adunare prin reprezentarea scăzătorului ı̂n cod invers sau cod
complementar.
Deoarece marea majoritate a implementărilor folosesc codul complementar, ne referim
la această manieră de operare.
Să presupunem că avem un număr ı̂ntreg, reprezentat ı̂n binar (pe n biţi) sub forma
an an−1 . . . a2 a1 , unde
n−1
i−1
a = i=1
ai 2
iar an este bitul de semn.
Deci
a = 2n−1 − a
De remarcat că numărul 2n−1 nu afectează poziţiile binare ale numărului, ci numai
bitul de semn.
Revenind la algoritm, pentru scăderea b − a se efectuează următorii paşi:
3. Dacă rezultatul este negativ, acesta este reprezentat tot ı̂n cod complementar;
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 21/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 22/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1 1
Exemplul 2.7 Pentru N = − reprezntarea ı̂n virgul˘ a este: − = −2−3 =
a mobil˘
8 8
(−0, 001)2 = − 1, 0 × 2−3 .
Reprezentarea ı̂n simplă precizie se face pe un cuvânt (32 poziţii binare) sub forma:
32 31 24 23 1
C = e + 127 f
S
Prima poziţie (S ) reprezintă semnul numărului N ; el este codificat cu 0 dacă N > 0
şi 1 dacă N < 0. Pentru cazul N = 0, S este nedeterminat.
a (C ),
Următoarele opt poziţii binare sunt ocupate de o constantă numită caracteristic˘
construită ı̂n aşa fel ı̂n cât să codifice exponentul ı̂mpreună cu semnul său.
Caracteristica este calculată după formula
Valoarea maximă a caracteristicii este 2 8 − 1 = 255, ceea ce ı̂nseamnă că cel mai mare
exponent admis de reprezentarea ı̂n simplă precizie este e = 255 − 127 = 128.
Ultimele 23 poziţii binare sunt alocate reprezentării fracţiei aliniată la stânga şi com-
pletată (eventual) cu zerouri (nesemnificative).
Exemplul 2.8 Pentru reprezentarea ı̂n virgul˘ a mobil˘ a simpl˘ a precizie a num˘ arului din
Exemplul 2.5, deoarece 25 = 1, 1001 × 24, vom avea S = 0, f = 1001 şi C = e + 127 =
4 + 127 = 131 = (10000011)2 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 23/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Deci
32 31 24 23 1
0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 .........0 0
31
Exemplul 2.9 Pentru = 1, 1111 × 2−1 (Exemplul 2.6) avem S = 0, f = 1111,
32
C = − 1 + 127 = 126 = (01111110)2, deci
32 31 24 23 1
0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 .........0 0
1
arul − = − 1, 0 × 2−3 (Exemplul 2.7) are S = 1, f = 0 şi
Exemplul 2.10 Num˘
8
C = − 3 + 127 = 124 = (01111100)2, deci
32 31 24 23 1
1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 .........0 0
64 63 53 52 1
C = e + 1023 f
S
În acest caz, caracteristica este reprezentată pe 11 cifre binare, având posibilitatea de a
ı̂nmagazina o valoare maximă 211 − 1 = 2047, ceea ce corespunde unui exponent
e = 2047 − 1023 = 1024.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 24/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1. Se compară cei doi exponenţi pentru a-l determina pe cel mai mare;
3
Exemplul 2.13 S˘
a se efectueze adunarea ı̂n virgul˘
a mobil˘
a + 7.
4
3 21 + 20
x = = = 2−1 + 2−2 = (0, 11)2 = 1, 1 × 2−1 ,
4 22
y = 7 = (111)2 = 1, 11 × 22 .
Deoarece y are exponentul mai mare, x se va alinia corespunz˘
ator:
Acum
x + y = (0, 0011 + 1, 11) × 22 = 1, 1111 × 22.
Nu este necesar˘
a normalizarea mantisei.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 25/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 26/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
2.3 Exerciţii
1. Să se treacă din baza 10 ı̂n baza 2 numerele
18926; −7772; 7863, 15; −0, 7.
2. Să se treacă din baza 2 ı̂n baza 10 numerele
1101100010100110; 100010101001, 0011011001.
4. Să se definească scăderea a două numere ı̂ntregi folosind ca reprezentare codul invers.
8. Aceeaşi problemă pentru numărul a cărui reprezentare ı̂n dublă precizie este:
10001001001001000011101101010100001001010110100100001010000110101.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 27/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 3
9. ∀a ∈ B, ∃a ∈ B a ∧ a = 0, a ∨ a = 1. (complement)
O primă observaţie este că o algebră booleană are cel puţin două elemente 0 şi 1, iar
0
= 1.
1
George Boole (1815 - 1864): matematician şi filosof englez, considerat – prin prisma algebrelor care
ı̂i poartă numele – unul din fondatorii informaticii teoretice.
29
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 28/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Teorema 3.1 ˆ
Intr-o algebr˘
a boolean˘
a sunt verificate legile de idempotent
¸˘
a:
a ∨ a = a, a ∧ a = a.
Teorema 3.2 a ∨ 1 = 1, a ∧ 0 = 0.
Demonstrat ¸ie :
a ∨ 1 = (a ∨ 1) ∧ 1 = (a ∨ 1) ∧ (a ∨ a) = a ∨ (1 ∧ a) = a ∨ a = 1,
a ∧ 0 = (a ∧ 0) ∨ 0 = (a ∧ 0) ∨ (a ∧ a) = a ∧ (0 ∨ a) = a ∧ a = 0.
Demonstrat ¸ie :
a ∨ (a ∧ b) = (a ∧ 1) ∨ (a ∧ b) = a ∧ (1 ∨ b) = a ∧ (b ∨ 1) = a ∧ 1 = a ,
a ∧ (a ∨ b) = (a ∧ a) ∨ (a ∧ b) = a ∨ (a ∧ b) = a .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 29/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Demonstrat
¸ie : Presupunem prin absurd că există două complemente a, a1 ale lui a.
Conform Definiţiei 3.1, avem
a ∨ a = a ∨ a1 = 1, a ∧ a = a ∧ a1 = 0.
Atunci
a1 = 1 ∧ a1 = (a ∨ a) ∧ a1 = a 1 ∧ (a ∨ a) = (a1 ∧ a) ∨ (a1 ∧ a) = 0 ∨ (a1 ∧ a) = (a ∧ a) ∨ (a1 ∧ a) =
(a ∨ a1 ) ∧ a = 1 ∧ a = a .
Teorema 3.5 a = a .
¸ie : a este complementul lui a. Dar şi a este complementul lui a.
Demonstrat
Deoarece complementul este unic (Teorema 3.4), rezultă a = a .
3. Echivalenţa: a ∼ b = (a ∨ b) ∧ (a ∨ b);
4. Implicaţia: a → b = b ∨ a.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 30/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Cei patru operatori au o serie de proprietăţi specifice ale căror demonstraţii le lăsăm ca
exerciţiu.
Propoziţia 3.1
1. 0 ⊕ 0 = 1 ⊕ 1 = 0, 0 ⊕ 1 = 1 ⊕ 0 = 1;
2. ⊕ este asociativ˘
a şi comutativ˘
a;
3. a ⊕ 0 = a, a ⊕ 1 = a ;
4. a ⊕ a = 0, a ⊕ a = 1;
5. a ⊕ b = c =⇒ a ⊕ c = b ;
6. a ⊕ b = c =⇒ a ⊕ b ⊕ c = 0;
7. a ∧ (b ⊕ c) = (a ∧ b) ⊕ (a ∧ c).
Propoziţia 3.2
1. a ∼ b = a ⊕ b;
2. a ∼ b = a ∼ b;
3. a ∼ b = (a → b) ∧ (b → a);
1. a ⊕ b = 0;
2. a ∼ b = 1;
3. a = b ;
sunt echivalente.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 31/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 32/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
x1 x2 f g f + g f g f g
0 0 0 0 0 0 1 1
0 1 1 0 1 0 0 1
1 0 0 0 0 0 1 1
1 1 1 1 1 1 0 0
Deci operaţiile cu funcţii sunt definite punct cu punct ; reprezentarea lor sub formă tabelară
constituie o modalitate convenabilă de calcul deoarece folosesc ı̂n mod direct formulele
din tabelele de operaţii ale algebrei booleene A .
Teorema 3.7 Fie F n mult ¸iilor booleene de n (n ≥ 1) variabile. Sistemul
¸imea funct
F n = (F n , +, ·, 0, 1) formeaz˘
a o algebr˘
a boolean˘
a (algebra Boole a funct ¸iilor booleene de n
variabile).
Demonstrat ¸ie : Axiomele algebrei boolene se verifică uşor, folosind Definiţia 3.3. Funcţia
0 este definită
0(x1 , x2 , . . . , xn ) = 0, ∀xi ∈ {0, 1} (1 ≤ i ≤ n),
iar funcţia 1 prin
Definiţia 3.4 Fie F n algebra Boole a funct ¸iilor booleene de n variabile. Se numeşte
”pondere” o aplicat a w(f ) = card(f −1(1)) (num˘
¸ie w : F n −→ N definit˘ arul de elemente
n
din {0, 1} care au imaginea 1 prin f ).
Exemplul 3.5 In
ˆ Exemplul 3.3 sunt listate elementele algebrei F 2 . Ponderile acestor
elemente sunt listate ı̂n tabelul urm˘
ator:
f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15
w 0 1 1 2 1 2 2 3 1 2 2 3 2 3 3 4
Teorema 3.8
1. w(f ) + w (f ) = 2n ;
Vom ı̂ncerca ı̂n continuare să definim o reprezentare a funcţiilor booleene, utilă ı̂n con-
struirea circuitelor liniare.
Această reprezentare se bazează pe noţiunea de minterm .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 33/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
2. mi mi = m i .
¸ie : Imediat.
Demonstrat
Teorema 3.9 Orice funct
¸ie boolean˘
a poate fi reprezentat˘
a ı̂n mod unic ca sum˘
a de mintermi.
Demonstrat ¸ie : Prin inducţie după k = w (f ).
k = 0: trivial;
k = 1: orice astfel de funcţie este un minterm.
k → k +1: Să presupunem că f este o funcţie de pondere k + 1. Deci există un ı̂ntreg
i = (i1 , i2 , . . . , in )2 astfel ca f (i1 , i2 , . . . , in ) = 1.
Atunci – conform Teoremei 3.8 – f (x1 , x2 , . . . , xn ) = m i (x1 , x2 , . . . , xn )+g (x1 , x2 , . . . , xn )
unde w(g ) ≤ k.
Unicitatea este şi ea imediată.
Corolarul 3.1 Orice funct a f ∈ F n este de forma
¸ie boolean˘
f (x1 , x2 , . . . , xn ) =
mi (x1 , x2 , . . . , xn )
i∈I
atunci
f (x1 , x2 , . . . , xn ) + g (x1 , x2 , . . . , xn ) =
mi (x1 , x2 , . . . , xn ),
i∈I ∪J
f (x1 , x2 , . . . , xn )g (x1 , x2 , . . . , xn ) = mi (x1 , x2 , . . . , xn ),
i∈I ∩J
f (x1 , x2 , . . . , xn ) = mi (x1 , x2 , . . . , xn ).
i
∈I
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 34/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Scopul acestui
scrisă sub paragraf
o formă unică.este de a asocia
Aceasta fiecărei funcţii
se va numi form˘ booleene
a canonic˘ f o
a a lui f expresie
sau formabooleană
normal
disjunctiv˘
a a lui f .
O consecinţă importantă a acestei reprezentări va fi aceea că putem verifica echivalenţa
a două expresii cercetând dacă acestea pot fi reduse la aceeaşi formă canonică (deci nu vom
mai face apel la construcţia tabelelor de valori a funcţiei asociate, destul de costisitoare
din punct de vedere al complexităţii).
Definiţia 3.6 Un ”literal” este o variabil˘
a sau complementul ei.
xi1 x i2 . . . xinn
1 2
unde
i x j pentru i j = 0
x jj = (1 ≤ j ≤ n).
x j pentru i j = 1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 35/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Demonstrat ¸ie : Să considerăm cele două valori posibile pe care le poate lua variabila
booleană x.
Pentru x = 1 vom avea
f (x1 , x2 , . . . , xn ) =
... f (i1 , i2 , . . . , in )xi1 x i2 . . . xinn .
1 2
i1 =0 i2 =0 in =0
Aceasta este forma normal disjunctiv˘
a a funct
¸iei f .
Demonstrat
¸ie : Prin inducţie după numărul n de variabile.
Pentru n = 1 avem rezultatul dat de Teorema 3.10.
Să presupunem Teorema 3.11 adevărată pentru n − 1 variabile, adică
1 1
f (x1 , x2 , . . . , xn ) =
... f (x1 , i2 , . . . , in )xi2 . . . xinn .
2
i2 =0 in =0
Pe de altă parte, f (x1 , i2 , . . . , in ) = x 01f (0, i2 , . . . , in ) + x11f (1, i2, . . . , in ) şi, după ı̂n lo-
cuire
1
1
i2 =0 in =0
1
1
i1 =0 in =0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 36/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Evaluând prima expresie obţinem f (i1 , i2 , . . . , in ) = 1(0), iar pentru a doua expresie
f (i1 , i2 , . . . , in ) = 0(1), ceea ce contrazice faptul că ambele expresii reprezintă f .
Fiind dată o funcţie booleană f , să vedem cum se poate scrie forma sa normal dis-
junctivă.
Cel mai sugestiv este să arătăm aceasta printr-un exemplu.
Fie B = (B, ∨, ∧, 0, 1) o algebră Boole, ı̂n care definim operaţiile (pentru orice x, y ∈ B ):
x ⊕ y = (x ∧ y ) ∨ (x ∧ y ), x y = x ∧ y.
Pentru
(x ⊕ y ) ⊕asociativitate:
z = ((x ⊕ y) ∧ z ) ∨ (x ⊕ y ∧ z ) = [((x ∧ y ) ∨ (x ∧ y)) ∧ z ] ∨ [(x ∧ y) ∨ (x ∧ y) ∧ z ] =
[(x ∧ y ∧ z ) ∨ (x ∧ y ∧ z )] ∨ [(x ∨ y) ∧ (x ∨ y ) ∧ z ] = (x ∧ y ∧ z ) ∨ (x ∧ y ∧ z ) ∨ (x ∧ y ∧ z ) ∨ (x ∧ y ∧ z ),
relaţie simetrică ı̂n x, y ,z . Deci (x ⊕ y ) ⊕ z = x ⊕ (y ⊕ z ).
Elementul nul este 0 pentru că x ⊕ 0 = (x ∧ 0) ∨ (x ∧ 0) = (x ∧ 1) ∨ 0 = x .
Fiecare element este propriul său invers, deoarece
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 37/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
3.7. EXERCIŢII 39
x ⊕ x = (x ∧ x) ∨ (x ∧ x) = 0 ∨ 0 = 0.
Această relaţie se poate scrie 2x = 0, ceea ce ı̂nseamnă că avem un inel de caracteristică
2 (proprietate care se poate demonstra pentru orice inel boolean).
Distributivitatea se verifică similar:
x y ⊕ x z = ((x y ) ∧ x z )) ∨ (x y ∧ (x z )) = (x ∧ y ∧ (x ∨ z )) ∨ ((x ∨ y) ∧ x ∧ z ) =
(x ∧ y ∧ z ) ∨ (x ∧ y ∧ z ) = x ∧ [(y ∧ z ) ∨ (y ∧ z )] = x (y ⊕ z ).
Demonstrat ¸ie : Se verifică axiomele Definiţiei 3.1, unde complementara este definită prin
Î
x = 1 + x. n particular, vom avea:
x ∨ x = x + x + x · x = x + (1 + x) + x · (1 + x) = 1 + 4x = 1,
x ∧ x = x · x = x · (1 + x) = x + x = 0.
Se poate stabili deci o corespondenţă biunivocă ı̂ntre inelele booleene şi algebrele
booleene.
Aceasta conduce la o serie de aplicaţii interesante, ı̂n special prin inducerea pro-
prietăţilor structurilor algebrice ı̂n domeniul algebrelor Boole.
3.7 Exerciţii
1. Să se arate că ı̂ntr-o algebră booleană au loc relaţiile:
a ∨ (a ∧ b) = a ∨ b, a ∧ (a ∨ b) = a ∧ b.
a ≤ b ⇐⇒ b = a ∨ b
3. a ≤ b ⇐⇒ a ∧ b = 0 ⇐⇒ a ∨ b = 1.
4. a ∧ b = 0 ⇐⇒ b ≤ a.
6. Să se arate că pe F n se poate defini o distanţă prin relaţia
δ (f, g) = w (f + g ) − w(f g ).
Să se construiască un tabel cu distanţele elementelor lui F 2 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 38/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
10. Construiţi un algoritm de generare a formei normal conjunctive asociată unei funcţii
booleene.
a ∨ (a ∧ b) ∨ (b ∧ c), b ∨ (a ∧ b)
sunt echivalente. Să se scrie forma normal disjunctivă şi normal conjunctivă a
funcţiei asociate.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 39/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 4
Sisteme digitale
Intrările unui circuit primesc ”semnale”, sub forma unor seturi de valori din mulţimea
{0, 1}n (n fiind numărul de intrări ale circuitului).
1
Definiţia 4.2 Un circuit combinat ¸ional ( C LC ) este o ret
¸ea arborescent˘
a ı̂n care ieşirea
la momentul (tactul) t depinde numai de intr˘
arile la momentul (tactul) t.
Un circuit este activ dacă ieşirea sa este 1 ; ı̂n caz contrar, circuitul este inactiv .
4.1.1 Porţi
Cele mai simple circuite sunt circuitele constante 0 şi 1 ; de obicei primul este marcat
41
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 40/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a a
a = 0 (dezactivat) a = 1 (activat)
Poarta poate fi deschisă (dezactivată) prin intermediul unui arc, care ı̂n poziţie de repaos
(a = 0) este destins.
Dacă a = 1, acest arc este comprimat şi ı̂nchide poarta, activând astfel circuitul, prin
care trece (de fapt) valoarea lui a.
Vom nota un astfel de circuit prin a —————.
• Poarta AND:
Fie a, b două variabile booleene. Pentru ab (sau – ı̂n funcţ ie de notaţie – a ∧ b) se
poate construi circuitul
a b
· 0 1
0 0 0
1 0 1
a b a·b
(1) (2) (3)
(1) este structura funcţională a circuitului, (2) este notaţia logică, iar (3) - tabela
de operaţie a operatorului AND – operatorul ∧ dintr-o algebră Boole.
• Poarta OR :
Pentru poarta care realizează circuitul a + b (a ∨ b ı̂n notaţie booleană), structura
funcţională este reprezentată ı̂n Figura (1), simbolul logic – de Figura (2), iar tabela
de operaţii - de Figura (3):
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 41/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a
a
a
a
(1) (2) (3)
Se observă că circuitul este ı̂nchis prin poziţia relaxată a arcului (a = 0); la com-
primarea acestuia (a = 1) circuitul se dezactivează (deschide).
Simbolul logic este (2), iar uneori chiar (3).
Înafara acestor operaţii, ı̂n construcţia circuitelor se mai folosesc trei tipuri supli-
mentare de porţi: NAND, NOR şi XOR .
• Poarta NAND:
Este un circuit care implementează expresia booleană a ∧ b. Figura (2) reprezintă
o altă implementare, obţinută ı̂n urma relaţiei De Morgan: a ∧ b = a ∨ b.
Simbolul logic al porţii NAND este Figura (3).
b
a b
a∧b
a
(1) b a (2) (3)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 42/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
⊕ 0 1
0 0 1
1 1 0
ab ∨ ba
b
a (1) (2) (3)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 43/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.1.2 Circuite
În linii mari, arhitectura unui calculator se bazează pe construirea de circuite care formează
diverse
memorie,componente aledeunui
magistralele computer structuri
sincronizare, (ı̂n specialdeunitatea
control).logico-aritmetică, unităţile de
Nu vom face o prezentare a noţiunilor de complexitate (spaţiu sau timp), acestea fiind
identice cu cele folosite ı̂n algoritmică.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 44/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.2 Extensii
Putem construi ı̂ntreaga arhitectură a unui calculator plecând de la un element teoretic
de bază numit sistem digital .
Definiţia 4.5 Fie V un alfabet finit nevid şi m, n dou˘ a numere naturale. Se numeşte
”sistem digital” structura S = (X , Y , f ) unde X = V , Y = V m , f : X −→ Y .
n
Un exemplu simplu de sistem digital este circuitul combinat ¸ional , exprimabil printr-o
funcţie booleană.
În această carte vom considera numai sistemele digitale binare , unde V = { 0, 1}. De
aceea nu va fi nici o ambiguitate dacă vom desemna sistemele digitale binare cu termenul
general de sisteme digitale .
Funcţia f se numeşte funct ¸ie de transfer .
De asemenea, cazurile n = 0 sau m = 0 corespund unor sisteme digitale speciale
(de ieşire respectiv intrare ) care vor fi studiate separat. În continuare considerăm numai
= 0.
m ∗ n
Sistemele digitale date prin Definiţia 4.5 se pot reprezenta grafic sub forma următoare:
X
n
S
m
Y
A = (a1 , a2 , . . . , an ) a1a2 an
n
⇐⇒ ...
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 45/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.2. EXTENSII 47
Operaţiile de bază care se pot defini pentru sistemele digitale sunt cele de legare ı̂n
serie şi ı̂n paralel, operaţii numite extensii .
Definiţia 4.6 Fie sistemele digitale S i = (X i , Y i , f i ), i = 1, 2 unde
X 1 = { 0, 1}n , Y 1 = X 2 = { 0, 1}m , Y 2 = { 0, 1} p
Se numeşte ”extensie serial˘ a” sistemul digital S = (X , Y , f ) unde X = X 1 , Y = Y 2 , iar
¸ia de transfer f : X −→ Y este definit˘
funct a prin f = f 2 ◦ f 1 .
Y 2
Y 1 × Y 2
De remarcat că ı̂ntr-o extensie paralelă cele două sisteme digitale nu interacţionează.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 46/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Exemplul 4.2 S˘ a consider˘ am sistemele digitale S 1 = ({x11 , x12 }, {y11 }, f 1 ) şi
S 2 = ({x21 , x22 , x23 }, {y12 , y22}, f 2 ) date de figura
x21
2 1
x x x2 x2 1
2
1 3
S 1 S 2
y11 y12 y22
Definiţia 4.8 Fie sistemele digitale S i = (X i , Y i , f i ), (1 ≤ i ≤ 4) cu X i = { 0, 1}n , Y i = i
1 2 3 4
S = (X × X , Y × Y , f )
unde f : X 1 × X 2 −→ Y 3 × Y 4 este definit˘
a f = f 34 ◦ f 12 ( f 12 şi f 34 sunt funct
¸iile de
transfer ale extensiilor paralele S 1 × S 2 respectiv S 3 × S 4 ).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 47/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.2. EXTENSII 49
X 1 × X 2
n + n
1 2
n1
n2
S 1 S 2
m1
m2
m1 +m2
S
n3
n4
S 3 S 4
m3
m4
m3 + m4
Y 3 × Y 4
Exemplul 4.3 Un circuit combinat ¸ional care incrementeaz˘ a ( s = 0) sau decrementeaz˘
a
(s = 1) un num˘
ar x1 x0 format din doi bit
¸i, poate fi definit astfel:
x1
x0
INC DEC
s
MUX MUX
y1 y0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 48/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.3 Cicluri
Pentru creşterea gradului de complexitate al circuitelor digitale se defineşte o nouă opera-
ţie numită ciclu .
Definiţia 4.9 Fie sistemul digital S 1 = (X × X 1, Y × Y 1 , h) unde X 1 = Y 1. Not˘ am
h = (f, f 1 ) unde f : X × X 1 −→ Y , f 1 : X × X 1 −→ Y 1 .
Prin identificarea (conectarea serial˘ a) a lui Y 1 cu X 1 se obt ¸ine o ciclu şi noul sistem
are forma S = (X , Y , g ), unde g : X −→ Y este definit˘ a g(x) = f (x, f 1 (x, y )); f 1 se
numeşte ”funct ¸ie de tranzit ¸ie” şi verific˘ a definit
¸ia recursiv˘ a y = f 1 (x, f 1 (x, y )).
Y Y 1 Y S Y
După cum se observă ı̂n Definiţia 4.5, apare o nouă variabilă ”ascunsă” care ia valori ı̂n
mulţimea Q = X 1 = Y 1 ; atunci f : X × Q −→ Y, f 1 : X × Q −→ Q .
Mulţimea Q caracterizează comportarea internă a sistemului digital; această com-
portare se mai numeşte stare intern˘ a sau pe scurt stare .
Efectul fundamental al comportării interne constă ı̂n evoluţia sistemului pe spaţiul de
valori Q, fără modificări ale intrării X .
Pentru un a ∈ X aplicat constant la intrare, ieşirea poate prezenta diverse variaţii. De
aceea, spunem că autonomia unui sistem creşte ca urmare a introducerii acestuia
ı̂ntr-o ciclu.
De obicei noile elemente legate de stare sunt introduse ı̂n definiţia sistemului; astfel,
el se va scrie S = (X,Y,Q,f 1 , g ).
Exemplul 4.4 S˘ am sistemul S 1 = (X × X 1 , Y , f ) unde X = { 0, 1}, X 1 = Y =
a consider˘
2
{0, 1} , iar f este definit de tabelul
X × X 1 Y X × X 1 Y
0 00 01 1 00 01
0 01 00 1 01 10
0 10 00 1 10 11
0 11 10 1 11 00
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 49/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.3. CICLURI 51
Prin identificarea (legarea serial˘ a a) lui Y cu X 1 se obt
¸ine un nou sistem S .
Tranzit
¸iile sale sunt ilustrate mai jos (se face abstract ¸ie de timpul real cˆ
at este aplicat
un semnal la intrare).
S 0
00 01
X 1 X
0, 1
S 1 1 0 1
2
11
1
10
Y 0
Ieşirea sistemului S 1 este aceeaşi cu cea a sistemului S .
După ı̂nchiderea ciclului (X 1 = Y ), sistemul S 1 capătă – ı̂n funcţie de tranziţie – un
comportament al ieşirii autonom de intrare.
De exemplu, intrarea (constantă) 11111 . . . ı̂n sistemul S va determine ieşirea ciclică
01 10 11 00 01 . . .
faceSpunem
parte dintr-o
c˘ extensie
a A este serial˘
subciclu alalui
ı̂nchis˘
B . a prin ciclul B .
(2)
S 2 (1)
Y
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 50/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Definiţia 4.12 Un sistem de ordin n ( n ≥ 0) n − DS se defineşte recursiv astfel:
DS
• 1 − : circuite de memorie (cu autonomie pe spaţiul stărilor);
• 2 − DS : automate finite (cu autonomie pe tipul de comportare);
• 4 − DS : calculatoare
4.4 Exerciţii
1. Construiţi circuite care realizează porţile AND, OR, NOT,N OR şi XOR folosind
numai porţi NAND.
2. Construiţi circuite care realizează porţile AND,OR, NOT,N AND şi X OR folosind
numai porţi N OR.
3. Se dă circuitul:
a
b
x
c
y
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 51/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
4.4. EXERCIŢII 53
g a,b,c,d,e a bc bc b cd e
( )= ( ⊕ )+ ( ⊕ )
7. Sunt echivalente următoarele două funcţii booleene ?
Aranjaţi răspunsul ı̂n forma normal disjunctivă, apoi forma normal conjunctivă.
f (a, b) = ab + ab
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 52/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 5
Sisteme 0 − DS
Acestea sunt cele mai simple tipuri de sisteme digitale, caracterizate complet prin funcţ ii
booleene.
Astfel, multe funcţii digitale pot fi generate plecând de la circuitele elementare care le
realizează, la care se adaugă o regulă recursivă (pentru executarea funcţiei independent
de mărimea intrării).
Vom trece ı̂n revistă cele mai importante sisteme care pot fi descrise ı̂n acest mod.
5.1 Decodificatoare
Un sistem digital are drept mulţime de valori de intrare n-tupluri binare din {0, 1}n .
Semnalul care vine printr-un canal fizic trebuie transferat ı̂ntâi ı̂ntr-o astfel de valoare,
acceptată de intrarea sistemului.
De aceea, prima problemă care trebuie rezolvată este standardizarea şi determinarea
exactă a semnalului recepţionat.
Aceasta este una din principalele funcţii ale unui sistem digital. Înainte de a genera
un răspuns semnalului primit, trebuie să ştim ce semnal s-a primit.
Circuitul care ı̂ndeplineşte acest deziderat se numeşte decodificator .
55
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 53/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
x0
y0
x0
y1
y1 y0
(a) (b)
x0 EDCD x0 EDCD
(c) (d)
y0 y1 y0 y1
Decodificatorul elementar a fost obţinut prin extensia paralelă a circuitelor care realizează
cele mai simple funcţii f (x0) = y1 = x0 (funcţia identică) şi g(x0 ) = y0 = x0 (funcţia
NOT ).
Se observă că permanent una şi numai una din liniile de ieşire are valoarea 1 (este
activă):
ieşirea y1dacă este activă
, intrarea a avutieşirea
valoarea y 0, atunci
1. intrarea a avut valoarea 0 , iar dacă este activă
Determinarea valorii exacte a bitului de intrare x0 se face deci aflând ce ieşire a de-
codificatorului este activă.
Pentru a izola ieşirea din canal (sau din alt sistem digital) de intrarea ı̂n decodificator
(lucru recomandat ı̂n practică), ı̂ntre cele două circuite se mai inserează o poartă logică;
cum singurul operator unar utilizat este N OT , el se va adăuga printr-o extensie serială,
obţinându-se un EDCD cu buffer (figura (b)).
În acest fel, comportamentul unui EDCD este protejat de eventuale probleme ale
circuitului care asigură intrarea.
Definiţia 5.1 Un DCDn este un circuit combinat ¸ional cu intrarea X = { 0, 1}n format˘ a
din n bit − a prin m = 2n bit
¸i (xn 1, . . . , x1 , x0 ) şi ieşirea Y reprezentat˘ ¸i ym 1 , . . . , y0 . −
figura următoare:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 54/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.1. DECODIFICATOARE 57
y0
y1
n−1
DCDn
(xn 2 , . . . , x0 )
− −1
y2 n−1
xn −1
DCDn
Singura dificultate ı̂n această construcţie constă ı̂n adâncimea (numărul mare de nivele
ale) structurii.
În plus, sistemul conţine pe aceste nivele un total de 2 n + 2 n 1 + . . . + 2 = 2n+1 − 2 −
y
(b)
y
(a)
Noul DCD va avea numai n − 1 nivele.
Procedeul se repetă de ı̂ncă n − 1 ori; ı̂n final se obţine un DCDn cu n intrări, 2n
invertoare, 2n ieşiri, dar numai 2n porţi AND, toate situate pe un singur nivel.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 55/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Ca o remarcă, ieşirea activă dintr-un DCDn va fi yi dacă şi numai dacă reprezentarea ı̂n
binar a lui i este xn 1 xn 2 . . . x0 .
− −
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 56/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.2. CODIFICATORI 59
5.2 Codificatori
După cum s-a văzut, un decodificator sistematizează intrarea ı̂ntr-un sistem digital.
În particular, el pune o problemă sub o formă standard. Răspunsul la această problemă
este generat de un codificator .
Un codificator nu este definit niciodată independent: intrările lui sunt de fapt n vari-
abile care activează un DC Dn , iar cele m = 2n ieşiri ale acestuia reprezintă intrările ı̂n
codificator. Vom completa ulterior Definiţia 5.2.
y0
y1
y2
y3
DCD3
y4
y5
y6
y7
x2 x1 x0
C
B
A C + S
A, B sunt numerele (de un bit) care se adun˘ a, iar C este bitul suplimentar de deplasare
(de la ı̂nsumarea altor doi bit ¸i precedent
¸i). Sunt dou˘ a ieşiri: S - valoarea sumei binare
dintre A şi B , şi C + - valoarea noii deplas˘
ari.
Pentru construct
¸ie DCD
- Un decodificator vom folosi:
3 ale c˘
arui port
¸i de ieşire sunt complementate (ı̂n acest exem-
plu);
- Un codificator compus din dou˘ a port
¸i NAND, fiecare cu cˆ ate 4 intr˘
ari.
Deci avem de-a face cu un (8, 2) - codificator. Pentru a vedea cum lucreaz˘ a, vom ¸ine
t
cont de urm˘
atoarea tabel˘ a de decodificare:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 57/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
y0 y1 y2 y3 y4 y5 y6 y7
A x0 0 1 0 1 0 1 0 1
B x1 0 0 1 1 0 0 1 1
C x2 0 0 0 0 1 1 1 1
S˘
a presupunem c˘ a avem A = 1, B = 0, C = 1; aceasta corespunde situat ¸iei y5 = 1, yi =
0 (i
= 5). Deci din DCD3 va ieşi y5 = 0, y i = 1. Rezultatele celor dou˘
a port ¸i NAND
sunt:
S = y 1 ∧ y2 ∧ y4 ∧ y7 = 1 ∧ 1 ∧ 1 ∧ 1 = 1 = 0
C + = y 3 ∧ y5 ∧ y6 ∧ y7 = 0 = 1
ˆ
Intr-adev˘
ar, suma 1 + 0 + 1 este 0, iar transportul 1.
Observaţia 5.1 ˆ
In exemplul 5.2, dac˘ a ieşirile decodificatorului nu ar fi complementate,
atunci codificatorul ar avea port
¸i OR ı̂n loc de NAND ; aceasta rezult˘
a din relat
¸iile De
Morgan:
p ∨ q = p ∧ q
ˆ
In general, operatorul OR corespunde not
¸iunii de codificare iar AND - celei de deco-
dificare ( OR distruge identitatea componentelor, pe cˆ
and AND prefigureaz˘ a o anumit˘ a
configurat
¸ie binar˘
a).
Dacă dorim să reprezentăm toate funcţiile binare cu 3 intrări şi 2 ieşiri, vor fi necesare
două porţi NAND cu cel mult opt intrări fiecare.
Cele 216 funcţii logice posibile vor fi implementate folosind circuitul din Exemplul 5.2
ı̂n care se pun punctele (conectorii) conform ieşirilor din tabela care defineşte funcţia
logică respectivă.
Tabelul ei de valori va fi
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 58/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.2. CODIFICATORI 61
y0 y1 y2 y3 y4 y5 y6 y7
x0 0 1 0 1 0 1 0 1
x1 0 0 1 1 0 0 1 1
x2 0 0 0 0 1 1 1 1
f 1 (x0 , x1 , x2 ) 1 1 1 1 0 0 0 1
f 2 (x0 , x1 , x2 ) 0 0 0 0 0 1 1 1
f 3 (x0 , x1 , x2 ) 0 1 1 1 1 1 1 0
unde s-a notat
f 1 (x0 , x1 , x2 ) = x 0 x1 + x2 ,
f 2 (x0 , x1 , x2 ) = (x0 + x1 )x2 ,
f 3 (x0 , x1 , x2 ) = x 0 x1 + x1 x2 + x2 x0 .
Funct ¸ia f (x0 , x1 , x2 ) = (f 1 (x0 , x1 , x2 ), f 2 (x0 , x1 , x2 ), f 3 (x0 , x1 , x2 )) este implementat˘
a
de circuitul codificator:
y0
y1
y2
y3
DCD3 y
4
y5
y6
y7
x2
x
x
1
0
f 1
f 2
f 3
Folosind deci astfel de circuite, orice funcţie booleană f : V n −→ V p poate fi implementată
de un (2n , p) - codificator.
Prin urmare, codificatorul este un circuit universal , capabil să implementeze orice
funcţie logică.
Cum orice funcţie logică se poate defini pe baza unei tabele de adevăr, rezultă că un
circuit ROM este universal.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 59/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.3 Demultiplexori
Demultiplexorul elementar (EDMUX ) permite transferul unui semnal E spre două desti-
naţii distincte (y0 sau y1), conform unei anumite funcţii de selecţie x0 .
Circuitul asociat acestui deziderat este reprezentat ı̂n Figura (a).
În practică, pentru securizarea intrărilor la circuitele driver-ului, schema sa se complică
prin folosirea unui decodificator elementar (EDCD ) pentru selectarea celor două porţi şi
un buffer invertor pentru demultiplexarea intrării; de asemenea, porţile AN D seı̂nlocuiesc
cu porţi NAND.
Se obţine astfel circuitul (b), a cărui reprezentare simbolică este (c):
x0
x0
EDCD
E
(a)
y1 = x 0 E y0 = x 0E
E
(b)
E y0 y1
x0 EDMUX
y0 y1
(c)
Definiţia 5.3 Un demultiplexor cu n intr˘ ari ( D MUX n) transfer˘ a semnalul de intrare E
n
la una din cele m = 2 ieşiri ym 1 , . . . , y0 , ı̂n conformitate cu un codul binar de select
− ¸ie
xn −1 , . . . , x0 .
O primă soluţie pentru implementarea unui demultiplexor constă ı̂n generalizarea schemei
(b): anume, utilizarea unui decodificator cu n intrări şi m = 2n porţi NAND, conectate
ca ı̂n figură:
−
n
(xn 1 , . . . , x0 )
DCDn
y0 y1 . . . ym −1
E
...
y0 y1 ym −1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 60/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.3. DEMULTIPLEXORI 63
Observaţia 5.2 A nu se face confuzie de notat ¸ie: variabilele yi din interiorul DCDn
sunt variabile interne ale acestui circuit. Ele difer˘
a calitativ de variabilele yi care formeaz˘
a
ieşirea din DMUX n .
Deoarece pe nivelul de ieşire al unui decodificator se află porţi AND, un procedeu simi-
lar cu cel de la decodificatori permite reconstruirea unui DMUX cu m porţi NAND
controlate de n EDCD-uri.
De asemenea, plecând de la definiţia recursivă a decodificatorilor, se poate construi o
definiţie recursivă şi pentru demultiplexori.
x0
x1
x2
E
y0 y1 y2 y3 y4 y5 y6 y7
De exemplu, pentru a trimite semnalul E la adresa y6 se foloseşte codul de select ¸ie
x2 = 1, x1 = 1, x0 = 0 (deoarece reprezentarea lui 6 ı̂n binar este 110).
ˆ
In acest fel, ieşirea y 6 devine activ˘
a şi preia semnalul E , iar celelalte ieşiri sunt blocate
de valoarea 0 emis˘ a de DCD3 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 61/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.4 Multiplexori
Funcţia inversă unui DMUX este multiplexarea (M U X ): un circuit care adună ı̂ntr-un
singur loc informaţia venită din mai multe zone.
Ea este de asemenea şi o funcţie de comunicare, asigurând interconectarea dintre
blocuri distincte ale unui sistem digital.
Un multiplexor elementar (EM UX ) este un selector care transmite semnalul i 1 sau i 0
spre y, ı̂n funcţie de valoarea codului de selecţie x0 .
Circuitul este prezentat mai jos, unde un EDCD cu intrarea x0 deschide numai una
din cele două porţi AND, ”ı̂nsumate” apoi ı̂n y printr-o poartă OR :
i0 i1
x0
i0
i1
x0 EM UX
y
y = x 0 i1 + x0 i0
Definiţia generală a acestui circuit este:
Definiţia 5.4 Un multiplexor ( M UX n ) este un circuit combinat ¸ional cu n bit
¸i de control
n
(xn 1 , . . . , x0), care selecteaz˘
− a la ieşirea y numai o intrare din cele m = 2 posibilit˘
at
¸i
im 1 , . . . , i1 , i0 .
−
ym −1
DC Dn
y1
y0
i0 i1 im −1
(xn 1, . . . , x0 )
−
n ...
y
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 62/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.4. MULTIPLEXORI 65
i0 ... im/2 1 − i0 ... im/2 1 −
M UX n −1 M U X n −1
n−
1
y y
(xn 2 , . . . , x0)
−
n−1
i0 i1
xn −1
x0 EM UX
y
y
Deşi un multiplexor este (prin definiţie) un circuit de selecţie, el poate fi utilizat şi pentru
realizarea unor funcţii booleene.
Astfel, să considerăm x n 1 . . . , x0 ca variabile booleene de intrare ale unei funcţii care
−
ia valorile im 1 , . . . , i0 .
−
Pentru codul de selecţie (considerat intrare) 00 . . . 0 se alege valoarea lui i0 ş.a.m.d.,
până la intrarea 11 . . . 1 care selectează valoarea im 1 . −
Deci M U X n ”execută” tabela de adevăr a unei funcţii booleene f : V n −→ V .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 63/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
y7
y6
y5
y4
DCD3 y3
y2
y1
y0
x0 x 1 x2
0
0
0 1
0
1 1
1
A
B
C
y
sau, mai succint,
1
0
C x2 0 i1 i2 i3 i4 i5 i6 i7
i
B x1 M UX 3
A x0 y
C +
De exemplu, dac˘ a avem intrarea 101, aceasta corespunde lui y 5 = 1 şi y i = 0 pentru i
= 5.
Cum i5 = 1, pe a şasea poart˘ ¸ine 1 care - prin poarta OR - conduce la
a AND se obt
ieşirea y = 1.
La fel, pentru intrarea 001 avem y4 = 1 şi toate ieşirile din port
¸ile AND au valoarea
0 , ceea ce duce ı̂n final la y = 0.
Solut
¸ia prezentat˘
a este ı̂ns˘
a prea general˘ a şi risipitoare de resurse.
Ea poate fi minimizat˘ a la un M U X 2 (Figura ( a) de pe pagina urm˘ atoare) folosind una
din variabile pe pozit
¸ie de selector.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 64/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.4. MULTIPLEXORI 67
B
A
B
0
1
C
A
x1 i
x0 M U X 2
i
0 i1
2 i3
C x0
i
0 i1
EM UX
y
y
(a) C + C + (b)
y3
y2
DCD 2 y1
y0
0 B
B 1
x0 x1
A
C
C +
y0
y1
DCD2 y2
y3
C
x0 x1
A
B
C +
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 65/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Exemplul 5.5 sugerează ideea că un multiplexor poate fi o soluţie pentru implementarea
funcţiilor booleene.
Teorema 5.1 Orice funct a f : V n −→ V (n ≥ 0) poate fi implementat˘
¸ie booleean˘ a cu
un circuit combinat
¸ional logic ( C LC ).
Demonstrat
¸ie : Pentru n = 0 afirmaţia este banală.
Pentru n ≥ 1, orice funcţie booleană de n variabile se poate pune sub forma normală
f (xn −1 , . . . , x0 ) = x n −1 g (xn 2 , . . . , x0 ) + xn
− −1 h(xn −2 , . . . , x0)
Pentru g şi h se poate aplica inductiv acelaşi procedeu.
Din aceste două circuite, legate serial cu un EM UX , se obţine circuitul solicitat.
(xn 2 , . . . , x0 )
−
n 1
−
n 1
−
CLC g CLC h
g (xn −2 , . . . , x0 ) h(xn 2 , . . . , x0 )
−
i0 i1
xn−1
x0 EM UX
y = x 0 i0 + x0 i1
Exemplul 5.6 S˘
a consider˘ ¸ia f (a,b,c) = ab +bc+ca. ˆ
am funct In prima etap˘
a o reprezent˘
am
sub form˘ a normal disjunctiv˘ a:
f (a,b,c) = ab(c + c ) + (a + a )bc + a (b + b )c = abc + abc + abc + abc + abc + abc =
(ab + ab + ab)c + (ab + ab + ab)c.
Fie funct
¸iile
h(a, b) = ab + ab + ab = ab + (a + a)b = ab + b şi
g (a, b) = ab + ab + ab = (a + a)b + ab = b + ab.
Pe baza Teoremei 5.1 se poate construi circuitul combinat ¸ional logic al lui f :
a
1 1
b
b + ab
EMU X
EMU X
b + ab
c EMUX
f (a,b,c)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 66/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Din aceste motive apare necesitatea de a extinde ideea de codificator, astfel ca să se
permită un număr arbitrar de intrări şi să se asigure un proces de selecţie care să aleagă
bitul activ aflat pe cea mai semnificativă poziţie (bitul de prioritate maximă ı̂ntre biţii
activi).
În aceste condiţii, codificatorul cu prioritate foloseşte o ordonare a biţilor de intrare
(ca o condiţie suplimentară, necesară selecţiei).
va fiPeselectat
baza acesteia, dacă sunt activi mai mulţi biţi, numai cel mai semnificativ dintre ei
la codificare.
Definiţia 5.6 Un codificator cu prioritate ( P E ) este un circuit cu m intr˘ ari im 1, . . . , i0 −
Interpretarea numerică a funcţiei P E este: circuitul calculează partea ı̂ntreagă a loga-
ritmului (ı̂n baza 2) dintr-un număr ı̂ntreg, indicând eventual o eroare (funcţia nu este
definită) pe bitul Z .
Cel mai simplu astfel de circuit - codificatorul cu prioritate elementar ( EP E ) (m = 2)
este definit prin ecuaţiile booleene Z = i 1 i0 , y0 = i 1 pentru circuitul de bază
i1
y0
i0
i1 i0
EP E Z
y0
Z = i 0 + i1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 67/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
sau Z = i1 i0 E, y0 = i1 E ı̂n cazul versiunii cu acces (EEPE ); pentru facilitarea imple-
mentării, intrarea E şi ieşirea Z sunt complementate.
i1
i0
E
E
i1 i0
Z
EEPE
y0
y0 = i 1 E
Z = i 0 + i1 + E
Rolul lui E este de a activa/dezactiva circuitul EEPE . Când E = 1, cele două structuri
sunt echivalente.
Pentru E = 0, E E P E scoate valoarea Z = 1 indiferent de intrare (circuitul este
decuplat).
Interpretarea comportamentului circuitului EP E (respectiv EEPE ) este următoarea:
• Z = 0: nu sunt biţi activi, iar y0 este ignorat (sau se consideră y0 = 0).
• Z = 1: există biţi activi: cel mai semnificativ se află pe poziţia y0.
Comportamentul unui EP E (sau EEPE ı̂n cazul E = 1) poate fi sumarizat ı̂n tabelul:
i1 i0 Z y0 Comentarii
0 0 0 0 Nu sunt biţi activi
0 1 1 0 i0 este bit activ
1 0 1 1 i1 este bit activ
1 1 1 1 i1 este cel mai semnificativ bit activ
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 68/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
i2 −
n 1
−1
... i2
n−1
−1
... i0
E E
yn −2
P E n −1
. . .
i0
y0
Z
E
yn −2
P E n 1
. . .
−
y0
Z
Z
...
yn 1 − yn 2−
. . . y0
a 2 n
Observaţia 5.4 Dac˘ −1
< m < 2 n , atunci intr˘
arilor i m , im+1, . . . , i2 n
−1 li se asigneaz˘
a
valoarea constant˘
a 0 .
Cea mai semnificativă ieşire este y n 1 = Z ; celelalte ieşiri se obţin ca rezultante prin porţi
−
Într-adevăr, dacă toţi biţii din prima jumătate a intrării sunt inactivi, atunci cel mai
semnificativ bit de ieşire este 0, ieşirile din P E n 1 corespunzătoare sunt 0, iar restul biţilor −
Altfel, yn 1 = Z = 1, ieşirea celui de-al doilea P E n 1 este dezafectată (deoarece
− −
E = Z = 0) şi tot restul ieşirii este dat de primul (cel mai semnificativ) P E n 1 . −
i1 i0
i1 i0
E EEP E
y0
Z
E EEP E Z
y0
Z
y1 y0
Deoarece m = 3, se asigneaz˘
a la intrarea de prioritate maxim˘
a (corespunz˘
atoare lui im )
valoarea 0 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 69/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
S˘
a presupunem c˘ a acest P E 2 (activat prin E ← 1) cu intr˘
a se solicit˘ arile i2 şi i0 ; deci
i2 i1 i0 = 101.
Atunci, din primul EEPE = P E 1 se obt ¸ie: i1 ← 0 , i0 ← i 2 )
¸ine (atent
Cum Z = 1, aceast˘ a valoare merge la ieşire ı̂n y1 ( y1 = 1) şi constituie intrarea ı̂n al
doilea EEPE = P E 1 . Cum E = 1 (deci E = 0), acesta este dezafectat.
Ieşirea va fi deci format˘ a din y1 y0 = 10, care reprezint˘ a – ı̂n binar – pozit ¸ia bitului 2:
acesta ( i2 ) este bitul activ care este selectat ca prioritar.
Dac˘ a intrarea ı̂n P E 2 este i2 i1 i0 = 001, primul EEPE scoate y0 = 0 şi Z = 1.
Cum Z = 0, aceasta va fi – simultan – valoarea final˘ a a lui y1 (y1 = 0) cˆ at şi filtrul
care permite accesul la al doilea EEPE (cu E = Z = 1).
c˘ Acesta
a exist˘ are
a bit asign˘
¸i activi. arile i1 ← 0 , i0 ← 1 şi va scoate Z = i 1 i0E = 1 ∧ 0 ∧ 1 = 0 – semnal
Se calculeaz˘ a y0 = i 1 E = 0 care – prin poarta OR – merge ı̂n valoarea final˘ a a lui y0.
Deci y1 y0 = 00, adic˘ a primul bit i0 este cel selectat ca activ.
Implementarea acestui circuit este ı̂nsă prea lentă pentru aplicaţii (numărul de nivele
creşte exponenţial); de aceea se foloseşte o altă construcţie, bazată pe extensia paralelă.
Aici P E n este construit prin extensia paralelă a două P E n 1 ; ieşirea Z şi cel mai −
semnificativ bit yn 1 sunt calculate cu un EP E din cele două Z ; restul biţilor de ieşire
−
EP E indică unde este cel mai semnficativ bit care are valoarea 1 (la intrarea primului
sau celui de-al doilea P E n 1 ), iar yn 1 selectează restul codului.
− −
i2 n
−1
. . . i2 n−1 i2 n−1
−1
. . . i0
i2 n−1
− 1
. . . i0 i2 n−1
− 1
. . . i0
Z P E n −1 Z P E n −1
yn −2
. . . y0 yn−2
. . . y0
n
n
−1 −1
EP E (n − 1) EM UX
n 1
−
Z yn 1 − yn 2 , . . . , y0 −
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 70/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Adâncimea acestei variante este comparabilă cu n, deci mult mai simplă şi rapidă.
De reţinut că – ı̂n general – o extensie paralelă generează circuite rapide.
Dezavantajul constă ı̂n mărimea lor, care creşte exponenţial.
Exemplul 5.8 S˘ am m = 5. Atunci n = log2 5 = 3, deci vom avea un P E 3 .
a consider˘
De remarcat c˘ a din cele opt intr˘
ari, primele 3 (cele mai semnificative) sunt setate pe 0 .
0
0
0
i4 i3 i2 i1 i0
i3 i2 i1 i0 i3 i2 i1 i0
Z P E 2 Z P E 2
y1 y0 y1 y0
i1 i0 i1 i0 i1 i0
Z EP E EM U X EM U X
Z y2 y1 y0
Cum y2 joac˘
a rol de selector pentru cele dou˘ a EM UX -uri, acestea vor transfera la
ieşire valorile y1 , y0 obt ¸inute de al doilea P E 2 , deci adresa celui mai semnificativ bit
activ din secvent ¸a i3 i2 i1 i0 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 71/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
i3 i2 i1 i0
i3 i2 i1 i0
Z P E 2
y1 y0
i4
0
0
Z 1EP Ei0
i i1 i0
EM U X i
1 i0
EM U X
Z y2 y1 y0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 72/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.6. SUMATORI 75
5.6 Sumatori
Una din cele mai importante funcţii digitale este operaţia aritmetică de adunare .
Această funcţie se defineşte de obicei plecând de la circuite simple (suma a două
numere de 1 bit), capabile să se extindă recursiv pentru a asigura sumatori pe n biţi,
pentru n arbitrar de mare.
După cum se ştie, interpetarea numerică a funcţiei X OR (figura (a)) este suma modulo
2. Pentru extensia ei la suma modulo 2 n este necesar să calculăm şi funcţia de transport
CR.
Atunci, un semi-sumator H A va fi format dintr-un X OR şi un AN D (care ia valoarea
1 numai când ambii operanzi sunt 1); Figura ( b) dă reprezentarea simbolică a unui semi-
sumator, iar Figura (c) - structura sa internă.
AB A
B
A
B
S
HA
CR
(a) (c)
S (b) S CR
După cum am văzut ı̂n Capitolul 2, două numere ı̂ntregi de n biţi (n > 1) se adună
bit-cu-bit, incepând de pe cea mai puţin semnificativă poziţie.
Fiecare sumă de doi biţi este influenţată – prin funcţia de transport – de suma binară
anterioară; de aceea, pentru a ţine cont şi de acest transport, se va adăuga o intrare
suplimentară C de transport, obţinându-se un sumator complet F A (full adder), a cărui
d e
reprezentare simbolică este dată de Figura ( ) şi conţinut
A - de Figura
B C ( ):
A B
HA
S CR
A B
A B
C + F A
C HA
S CR
(d)
S S
(e)
C +
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 73/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Primul H A ı̂nsumează cei doi biţi (corespunzători operanzilor A şi B ), iar al doilea adună
la suma astfel calculată valoarea deplasării; transportul de ieşire este dat de primul sau
al doilea HA.
Observaţia 5.6 Sumatorul complet poate fi construit şi pe baza unui codificator (acesta
fiind un circuit universal); ı̂ntr-adev˘ ¸ia sum : {0, 1}3 −→ {0, 1}2 de adunare a
ar, funct
trei cifre binare poate fi definit˘
a prin tabela de valori
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
S 0 0 0 1 0 1 1 1
C + 0 1 1 0 1 0 0 1
x
y
z
S C +
Dac˘
a definim adâncimea unui circuit ca fiind num˘ arul maxim de port ¸i situate pe un
drum, circuitul de mai sus este un circuit combinat
¸ional de adˆ
ancime 3.
Dac˘
decˆ
at a toate
definit port
¸ile
¸ia unui F Apermit
. aceeaşi vitez˘
a de traversare, atunci acesta este mai rapid
Dezavantajul s˘
au major este num˘ arul mare de port
¸i, deci un cost hard mai ridicat.
O problem˘ a de baz˘ a ı̂n arhitectura calculatorului const˘
a ı̂n realizarea de circuite care
s˘
a ofere avantaje atˆ at din punctul de vedere al vitezei de lucru, cˆ at şi al costului echipa-
mentului hard.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 74/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.6. SUMATORI 77
an −1
bn −1
an −2
a0 bn −2
b0
... ...
cn C + F A C C + ADDn −1
C c0
...
sn −1 sn −2 s0
a2 b2 a1 b1 a0 b0
c3 FA FA FA c0
s2 s1 s0
Din păcate, ı̂n această construcţie serială a circuitului, calculul transportului la fiecare
ı̂nsumare
Pentrudea doi biţi oconduce
obţine la un
viteză de proces
calcul de calcul
mare, lent. altă construcţie a sumatorului
se foloseşte
ADDn , prin ı̂nsumarea separată a transportului fiecărei sume binare.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 75/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
cn cn 1
...
c1
−
si
HA HA HA
CR S CR S CR S
c2
c1
c0
G2 P 2
G1 P 1
G0 P 0
s
2 s
1 s
0
c3 CL
ai 0 0 0 0 1 1 1 1
bi 0 0 1 1 0 0 1 1
ci 0 1 0 1 0 1 0 1
ci+1 0 0 0 1 0 1 1 1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 76/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.6. SUMATORI 79
cu Se
1 . poate folosi un circuit de adunare obişnuit, din cele prezentate anterior, unde va-
loarea 1 se extinde pe un număr de biţi egal cu lungimea primului operand; operaţia
devine ı̂nsă costisitoare (ca timp şi spaţiu) ı̂n condiţiile ı̂n care incrementarea este folosită
mult mai frecvent decât adunarea obişnuită.
De aceea, ţinându-se cont de valoarea fixă a celui de-al doilea operand, se pot face
reduceri substanţiale.
Observaţia 5.7
• Un F A ı̂n care B = 0, se reduce la un HA care face suma dintre A şi C .
• Un F A ı̂n care B = 1, C = 0, se reduce la un HA care face suma dintre A şi 1 .
Mai mult, deoarece s = A ⊕ 1 = A, c = A ∧ 1 = A , acesta poate fi construit folosind
numai un invertor:
a0
c
b0
...
bn −1 bn −2 b1 b0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 77/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
c HA c HA c HA c HA
b3 b2 b1 b0
ci = a i −1 ai −2 . . . a0, (i > 0)
. . .
ai
a0
... HA . . .
bi
b0
unde cele n − 1 semi-sumatoare (pentru i = 1, 2, . . . , n − 1) lucrează ı̂n paralel.
Circuitul este extrem de rapid; dezavantajul lui sunt porţile ANDi , a căror complexi-
tate creşte odată cu valoarea lui i.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 78/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.6. SUMATORI 81
Fie funcţia sub : {0, 1}3 −→ {0, 1}2 definită sub(x,y ,z ) = x − y − z . Tabela sa de
valori este
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
d 0 1 1 0 1 0 0 1
t 0 1 1 1 0 0 0 1
Deoarece x − y − z = x + (y + 1 − 2 1) + (z + 1 − 2 1 ) = x + y + z + 21 − 2 2 , rezultă
că diferenţa d(x,y ,z ) este rezultatul adunării x + y + z , iar t(x,y ,z ) este valoarea de
transport complementată (datorită adunării cu 21 ) a acestei sume.
Deci un circuit digital – numit F S (full substract) – pentru scădere este:
y
x
t
FA
z
d
Pentru un circuit care să realizeze scăderea a două numere de câte n biţi se va face o
extensie serială (ı̂n cascadă) formată din n astfel de circuite, similar construcţiei de la
ADDn sau INC n .
La identificarea transportului t de la un F S cu variabila z de la F S -ul anterior se pot
elimina cele două complementări (care se anulează reciproc).
Exemplul 5.12 S˘
a construim un circuit pentru sc˘ aderea a dou˘ a numere de 4 bit
¸i ( F S 4 ).
Schema sa este (pentru simplificare, port
¸ile NOT au fost subı̂nt
¸elese):
a3 b3 a2 b2 a1 b1 a0 b0
t F A
z t F A
z t F A
z t F A z
1
d3 d2 d1 d0
Fie de exemplu numerele A = 12, B = 9; deci a3 a2 a1 a0 = 1100, b3 b2b1 b0 = 1001.
Introducˆ and ı̂n circuitul F S 4 aceste valori (unde b3 b2 b1 b0 = 0110) se obt
¸ine imediat
d3 d2 d1 d0 = 0011, ceea ce verific˘ a operat
¸ia 12 − 9 = 3.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 79/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Un circuit mai compact pentru scădere – care să folosească elementele deja construite –
este
B
n
A
n
n
c ADDn
n
n
INC n
n
n
i1
EM UX 0
i
n
D
unde am reprezentat printr-o singură complementare grupul de n invertori care inversează
biţii scăzătorului:
n
⇐⇒ ...
n
Avantajul acestui circuit este acela că se poate opera şi cu rezultate negative.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 80/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
X Y
n n
CAn
X < Y X = Y X > Y
Pentru n = 1, problema este simplă: este suficient să construim un codificator (de
exemplu) bazat pe funcţia f : { 0, 1}2 −→ {0, 1}3 definită prin tabela de valori
a 0 0 1 1
b 0 1 0 1
z 1 0 1 0 0
z 3 1
z 0 00 01 10
2
Dacă f (a, b) = (z 1, z 2 , z 3 ), atunci z 1 = ab anunţă dacă a < b, z 2 = ab + ab = a ⊕ b ia
valoarea 1 dacă şi numai dacă a = b , iar z 3 = ab semnalizează dacă a > b.
z 1 (a < b) z 2 ( a = b ) z 3 ( a > b)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 81/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Atunci un comparator CAn va avea 2n intrări binare, deci o tabelă de adevăr ar conţine
2n
2 linii, lucru extrem de dificil de realizat la nivel de codificator (din cauza numărului
mare de porţi necesare).
Pentru construcţia unui comparator eficient pe n biţi, să observăm că X > Y este
echivalent cu X − Y > 0. Cum Y = (2n − 1) − Y , relaţia se rescrie
X − Y = X + Y > 2 n − 1 = 11 . . . 1
unde secvenţa binară de 1 are lungime n.
Dacă această inegalitate este satisfăcută, atunci bitul de transport al sumei cout = 1,
deoarece suma X + Y depăşeşte n biţi.
Exemplul 5.14 Pentru n = 4, dac˘
a X = 1100, Y = 1001, vom avea Y = 0110 şi deci
X + Y = 1100 + 0110 = 10010, pentru care bitul de transport este 1.
Concluzia este X > Y .
Testarea comparaţiei X > Y poate fi realizată deci ı̂n doi paşi:
1. Se află Y prin aplicarea unui invertor pe n biţi lui Y ;
2. Se efectuează X + Y cu un n - sumator şi se foloseşte ca ieşire doar bitul de transport
cout . Dacă cout = 1 atunci X > Y ; altfel, X ≤ Y .
X Y
n
n
n
n
n
n
n
n
ADDn
cin
n
ADDn
cin
0
0
n
n
z 1 ( X < Y ) ignorat z 2 (X = Y ) z 3 ( X > Y ) ignorat
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 82/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
O altă variantă mai simplă pentru CAn – cu un singur sumator – este următoarea:
X Y
n
n
n
cin ADDn
n
cout
z 1 ( X > Y ) z 2 ( X = Y ) z 3 ( X < Y )
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 83/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Principiul este descris de figura următoare (pentru cazul deplasării spre dreapta cu cel
mult trei poziţii).
i3 i2 i1 i0
i3 i2 i1 i0
i3 i2 i1 i0
i3 i2 i1 i0
x1 x1 x1 x1
M U X 2
2
M UX
M U X 2
M U X 2
x0 x0 x0 x0
y y y y
s1 s0 bi+3 bi+2 bi+1 bi
O valoare de selecţie (s1 s0 )2 = x implică b j = a j +x (la deplasarea spre dreapta) sau
b j = a j
x (la deplasarea spre stânga) pentru x = 0, 1, 2, 3 reprezentat ı̂n binar.
−
Dacă j − x < 0, atunci b j = 0 (prin deplasarea spre stânga, biţii cei mai puţin
semnificativi se completează cu 0 )
Exemplul 5.15 Dac˘ a ı̂n figura anterioar˘ a valoarea de select ¸ie este (s1 s0 )2 = (10)2 = 2,
atunci fiecare multiplexor conecteaz˘
a ieşirea la intrarea i2 .
Rezultatul va fi
bi+3bi+2bi+1bi ←− a i+5ai+4ai+3ai+2
În general, pentru operaţia de deplasare cu 0 până la m − 1 poziţii sunt necesare mai
multe M U X n unde n = log2 m, legate ı̂n mod similar cu cele din figură.
Numărul multiplexoarelor este egal cu numărul de biţi ai numărului asupra căruia se
aplică operaţia de deplasare.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 84/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a5 a4 a3 a2 a1 a0
0
M U X
2
M U X
2
M U X
2
M U X
2
M U X
2
M U X
2
s1
s0
b5 b4 b3 b2 b1 b0
s s
Codul
Codul s1 s0 =
1 0
01 conduce la
= 00 conduce la ieşirea aa tot
ieşirea 001001 (adic˘
010010 (adic˘ num˘
num˘ arul arul
18 =
9);9 × 2);
Codul s1 s0 = 10 conduce la ieşirea 100100 (adic˘ a num˘ arul 26 = 9 × 22 );
Codul s1s0 = 11 conduce la ieşirea 001000 (dep˘ aşire, datorat˘ a pierderii unui bit sem-
nificativ de valoare 1 ).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 85/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.9 Multiplicatori
Altă operaţie aritmetică importantă este ı̂nmulţirea.
O variantă combinaţională poate fi construită pe baza unui circuit elementar, bazat
pe cele două funcţii simple implicate de ı̂nmulţirea binară:
• ı̂n mulţirea pe un bit (cu ajutorul unei porţi AND);
• un F A pentru completarea operaţiei;
Circuitul de ı̂nmulţire completă a biţilor A şi B este descris de Figura (a); Figura (b)
defineşte reprezentarea simbolică a ı̂n mulţirii biţilor ai cu b j .
C S B
A
A
b j
ai A
S C
ai b j
B
A
C A B
FA C B S
C + S
(a) (b)
C S B
Exemplul 5.17 S˘ a construim un multiplicator pentru a ı̂nmult ¸i dou˘
a numere de doi bit
¸i:
a1a0 × b1 b0 . Rezultatul are patru bit
¸i x3 x2 x1 x0 , care verific˘
a relat
¸iile:
x0 = a 0 · b0 ; x1 = a 1 · b0 + a0 · b1 + cx ; 0
x2 = a 1 · b1 + cx ; 1
x3 = c x . 2
a0
a 0 b1
a0 b0
0
x0
a1 a b
1 1 a b
1 0
x1
HA
x3 x2
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 86/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.9. MULTIPLICATORI 89
Comentarii:
i) x 0 se obt
¸ine din ı̂nmult ¸irea bit ¸ilor a0 cu b0 .
a a1 · b0 cu a0 · b1 şi cu transportul de la calculul lui x 0 (transport
ii) Pentru x 1 se adun˘
formal, deoarece el este totdeauna egal cu 0).
¸ine din adunarea lui a1 · b1 cu transportul de la calculul lui x2 .
iii) x 2 se obt
Transportul rezultat din aceast˘ a adunare va fi x3 .
Aceast˘
a structur˘
a poate fi generalizat˘
a uşor la multiplicatori pentru numere de n bit
¸i.
Prezent˘
am – pentru claritate – schema unui multiplicator complet pentru cuvinte de 4 bit ¸i:
0 0 b3 0
0 b2 0
0 b1 0
0 b0
a0
a0 b3 a 0 b2 a0 b1 a0 b0
0
x0
a1
a1 b3 a 1 b2 a1 b1 a1 b0
0
x1
a2
a2 b3 a 2 b2 a2 b1 a2 b0
0
x2
a3
a3 b3 a 3 b2 a3 b1 a3 b0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 87/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Astfel,
(ı̂nchis sau pot fi construite
deschis), circuite cu porţile
faza de implementare fixate
constând ı̂n ı̂n
doar prealabil pe lor
imbinarea o anumită poziţie
sub forma unor
tablouri.
O astfel de construcţie se numeşte tablou logic programabil .
Exemplul 5.18 Unul din cele mai uzuale circuite combinat
¸ionale este transcoderul care
transform˘
a cifrele zecimale scrise ı̂n binar, ı̂n reprezent˘
ari pe 7 bit
¸i (codul ASCII).
y0
y1
y0
y1
y2
y3
y2
y3
y4
y5
y6
y4
y5
y6
y7 y7
DCD4 y8 DCD4 y8
y9
y10
y9
y10
y11 y11
y12 y12
y13 y13
y14 y14
y15 y15
x3 x2 x 1 x0 x3 x2 x 1 x0
A B C D E F G A B C D E F G
a b c d (a) a b c d (b)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 88/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
O posibilitate de a obt
¸ine un circuit mai simplu poate fi prin complementarea funct
¸iilor;
ea conduce (Figura (b)) la ı̂n acest caz la un circuit avˆ
and 36 + 21 = 57 port
¸i.
Circuitul este foarte mare – mai ales din cauza ieşirilor nefolosite y10 − y15.
Decodificatorul trateaz˘ a toate configurat
¸iile binare de 4 bit
¸i, deşi numai o parte din ele
sunt folosite de cele şapte funtii.
Ţinˆ
and cont de aceast˘ a observat
¸ie, se poate construi alt circuit, cunoscut sub numele
de ”tablou logic programabil” P LA (programmable logic array); solut ¸ia aceasta are numai
¸i (şi eventual mai poate fi optimizat˘
25 port a).
a
b
Tablou AND
c
d
A = ab
B = a ∨ b
C = a ∨ b
Tablou OR
D = a
E = b
F = c
G = d
ab a b a b c d
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 89/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Valorile funct
¸iilor A, . . . , G s-au dedus uşor din tabelul de valori:
a 0 0 0 0 0 0 0 0 1 1
b 0 0 0 0 1 1 1 1 0 0
c 0 0 1 1 0 0 1 1 0 0
d 0 1 0 1 0 1 0 1 0 1
A 0 0 0 0 0 0 0 0 0 0
B 1 1 1 1 1 1 1 1 1 1
C 1 1 1 1 1 1 1 1 1 1
D 0 0 0 0 0 0 0 0 1 1
E 0 0 0 0 1 1 1 1 0 0
F 0 0 1 1 0 0 1 1 0 0
G 0 1 0 1 0 1 0 1 0 1
Evident, P LA-ul de sus nu este cel mai simplu circuit de implementare. Mult mai
simplu este decodificatorul (cu numai 11 port
¸i)
a
b
c
d
A B C D E F G
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 90/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Definiţia 5.7 Un P LA standard P LAn,p,m este un circuit digital format din 4 nivele:
2. Un decodificator programabil format din p 2n port ¸i AND (sau NAND, dac˘ a
se folosesc regulile De Morgan); fiecare intrare poate fi conectat˘ a sau nu la ieşirea
corespunz˘ atoare a primului nivel; deci maxim p clase pot fi decodificate la intrarea
X = x n 1 . . . x0 .
−
3. Un codificator programabil format din m ≤ p port ¸i OR (sau NAND, dac˘ a se folo-
sesc regulile De Morgan); fiecare intrare poate fi conectat˘ a sau nu la ieşirea cores-
punz˘
atoare de la al doilea nivel, fiecare funct
¸ie ym 1 , . . . , y0 putˆ
and fi implementat˘ a
−
m EM UX X OR
4. Nivelul
tat˘ de ieşire,
a la 0 sau format
1), cu din de a circuite
scopul da forma funct (sau
¸iei - uri cua osau
– complementat˘ intrare
nu. conec-
Deci, P LA este un circuit care ı̂ncepe şi se termină cu cele mai simple circuite funcţionale
(EDCD respectiv EM UX ) şi conţine două tablouri programabile (numite ”tablou AN D”
respectiv ”tablou OR ”).
Dacă tabloul OR este inclus ı̂ntr-un ROM (componentă a unui codificator standard),
atunci P LA-ul se numeşte de obicei PROM (Programmed ROM ).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 91/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• O intrare F de trei biţi (F 2 , F 1 , F 0 ) pentru specificarea funcţiei printr-un cod;
• O ieşire R = (Rn 1 , . . . , R0 ) pentru rezultat;
−
...
SGN Rn 1 − R0 ODD
prin S SUB
(operand
: face stâng) respectiv
diferenţa D (operand
aritmetică dintre S drept);
şi D;
INC: măreşte (incrementează) valoarea lui S cu 1 ;
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 92/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ ŞI LOGIC A
5.11. UNITATEA ARITMETIC A ˘ 95
Structura internă a ALU constă ı̂n acest caz din n componente (”felii”), câte una
pentru fiecare intrare S i , Di , un circuit CLC şi câteva porţi suplimentare.
Di
0
0 1 2 3
S i F 2 x1 C i
M U X 2
F 1 x0
y
S i−1
Gi
P i
F 2 x22 7 0 1 4 5 6 3
F 1 x1 M U X 3
F 0 x0
y
Ri
• Porţile AND, OR şi primul XOR realizează funcţiile logice şi generează semnale
pentru funcţiile aritmetice (Gi , P i pentru CL şi suma dintre S i şi Di );
• Al doilea XOR realizează suma semnalelor de transport generate de CL, completând
operaţiile aritmetice;
• Intrarea S i 1 este primită de la componenta (”felia”) din dreapta, pentru realizarea
−
deplasării;
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 93/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Este evident că cele mai lente operaţii realizate de ALU sunt operaţiile aritmetice,
deoarece semnalele sunt ı̂ntârziate suplimentar de trecerea prin CL pentru generarea
semnalelor C i .
5.12 Exerciţii
1. Se dă funcţia booleană f : { 0, 1}3 −→ {0, 1}3 definită
3. Construiţi o memorie ROM pe 3 biţi, ı̂n care la adresa x se află valoarea x +3 (mod 8)
(codul Excess 3 pe trei biţi).
4. Se dă la intrare o secvenţă de 5 biţi. Să se construiască un circuit care scoate bitul
care apare majoritar in acea secvenţă.
5. Se dă la intrare o secvenţă x de 6 biţi. Să se construiască un circuit codificator care
scoate valoarea 1 dacă şi numai dacă numărul a cărui reprezentare binară este x,
este divizibil cu 4.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 94/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
5.12. EXERCIŢII 97
11. Fie funcţia f (x,y ,z ) = x + y + z . Să se construiască un circuit combinaţional logic
folosind:
(a) Codificatori;
(b) Multiplexori elementari.
12. Aceeaşi problemă pentru f (x,y ,z ) = (x + yz, xy + x yz, y + xz ).
13. Se dă structura din figură (formată din două HA, un F A şi o poartă OR):
x4 x2 x1 x0
HA HA
s c s c
FA
s
c
Construiţi tabela de valori.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 95/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 96/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 6
Sisteme 1 − DS (Memorii)
Altă caracteristică a sistemelor din 1 − DS constă ı̂n posibilitatea de a putea păstra
informaţia de intrare o perioadă determinată de timp.
Această proprietate este specifică memoriilor.
Informaţia memorată este pusă la dispoziţia diverselor circuite ı̂n anumite faze de
lucru. Pentru aceasta apare necesitatea unei sincronizări a operaţiilor ı̂n desfăşurare,
pentru ca acestea să poată conlucra corect şi eficient.
Motiv pentru care apare un dispozitiv general de control al circuitelor: ceasul (CK ).
Acest circuit bistabil asigură o discretizare a timpului de calcul, făcând posibilă
definirea unor noţiuni temporale cum ar fi moment actual, tact, istoric, dezvoltare ul-
terioar˘
a etc.
Principalele circuite cu un ciclu intern sunt:
• z˘
avor elementar : circuit format din două cicluri cuplate la două porţi de intrare;
• flip - flop master - slave: extensie serială formată din două zăvoare elementare;
• random access memory ( RAM ): extensie paralelă formată din n zăvoare elementare
accesate printr-un DMUX n şi un M U X n;
99
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 97/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• registrul :extensie serial - paralelă formată prin legarea ı̂n paralel de flip - flopuri
master - slave.
Exemplul 6.1 Ciclul din Figura (a) este ı̂nchis conectˆ and ieşirea y0 a unui EDCD la
intrarea x0 .
S˘
a presupunem c˘ a y0 = 0 = x 0 .
La ieşire semnalul devine 1, apoi 0 etc; astfel, cele dou˘
a ieşiri ale decodificatorului
sunt instabile, comutˆ
and de pe 0 pe 1 şi invers.
Momentul de schimbare a valorii de ieşire (din 0 ı̂n 1 şi invers) defineşte frecvent ¸a
circuitului şi se numeşte ”tact”.
EDCD EDCD
x
0
x0
y1
y0 y1 y0
(a) (b)
Al doilea tip de ciclu se obt ¸ine conectˆ and ieşirea y1 la intrarea x0 (Figura (b)).
Dac˘
a y1 = 0 = x 0 , atunci y0 = 1 fixˆ
and ieşirea y1 la valoarea 0.
Similar dac˘ a y1 = 1 = x 0 .
Deci, acest circuit are dou˘ a st˘
ari stabile.
Pentru moment nu ştim cum s˘ a comut˘ am de la o stare la alta, circuitul neavˆ and nici
o intrare prin care s˘ a putem controla schimbarea.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 98/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Pentru a putea fi utilizat practic, un circuit trebuie să treacă printr-un număr par
de complementări pentru toate combinat ¸iile binare aplicate la intrare . Altfel, pot exista
combinaţii pentru care circuitul se destabilizează.
t t
t0 t0 + t pLH t1 t1 + t pHL t0
a ( ) ( b) t1 + t pHL
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 99/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
(a) (b)
o o
Primul circuit poate fi comandat să comute numai ı̂n starea 0, iar al doilea – numai ı̂n
starea 1.
Într-adevăr, poarta AN D cu valoarea 1 la intrare are ieşire stabilă atât ı̂n starea 0
Timpul minim de trecere ı̂n starea 0 este t pHL (timpul de propagare al semnalului prin
ciclu).
După acest interval de timp, indiferent de valoarea semnalului de intrare ( 1 sau 0 ),
circuitul (a) rămâne stabil ı̂n starea 0 – aceasta fiind şi valoarea de ieşire.
Spunem că circuitul este activ la frecvent
¸˘
a joas˘
a .
La circuitul (b), semnalul inactiv de intrare este 0 ; circuitul poate trece din starea 0
ı̂n starea 1 prin aplicarea la intrare a valorii 1 ı̂ntr-un interval de timp cel puţin egal cu
Ambele circuite z˘ avor˘
asc ı̂n ele semnalul aplicat la intrare: 0 pentru circuitul (a), 1
R
S R S R
S
Q Q Q Q Q
(c) (d) (e)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 100/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘
6.3. Z AVOARE ELEMENTARE 103
Acest z˘ avor elementar eterogen are două intrări: una activă la frecvenţă joasă (R) pentru
a reseta circuitul ı̂n starea 0, şi alta activă la frecvenţă ı̂n altă (S ) pentru a seta circuitul
ı̂n starea 1.
Valoarea 0 trebuie să rămână la intrarea R cel puţin 2t pHL pentru a fi asigurată
comutarea; din acelaşi motiv, valoarea 1 va rămâne la intrarea S cel puţin 2t pLH unităţi
de timp.
• S = 0, R = 0: atunci circuitul rămâne ı̂n starea ı̂n care a fost (Qn+1 = Q n );
• S = 1, R = 0: are loc o setare a circuitului – Qn+1 = 1 (indiferent cât a fost Qn).
Q = S + RQ
Aplicând regulile lui De Morgan acestei ecuaţii se vor obţine circuite cu structuri
simetrice:
- transformarea porţii OR conduce la circuitul (d), construit numai cu porţi NAND ;
- transformarea porţii AN D conduce la circuitul (e), construit numai cu porţi N OR.
De asemenea, atunci când se solicită schimbarea stării (fără a se preciza valoarea ei),
nu ştim ce intrare să acţionăm: setare sau resetare.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 101/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Cele două intrări sunt pentru setare (S ) şi resetare (R), iar ceasul este acţionat
acţionând temporar CK pe 1.
Dacă zăvorul trebuie setat, atunci S = 1, R = 0, după care se face CK = 1 pentru
un interval de timp egal cu t pLH .
Spunem ı̂n acest caz că nivelul activ al ceasului este la frecvenţă ı̂n altă (high level).
Pentru resetare, procedura este analogă.
De remarcat că pentru nivelul activ al lui CK zăvorul este transparent , adică orice
modificare a intrărilor S, R modifică starea circuitului.
Într-adevăr, dacă CK = 1, atunci la activarea lui S (R) zăvorul este setat (respectiv
resetat).
Această separare dintre cele două semnale conduce la diferenţierea dintre cum se re-
and are loc această schimbare.
alizează schimbarea stării circuitului şi cˆ
Zăvorul elementar cu ceas rezolvă o parte din problemele ridicate anterior şi permite
un control
Totuşi omai strict asupra
problemă acţiunii
importantă estedeaceea
memorare
că una RSL
informaţiei.
poate comuta de mai multe ori
ı̂n perioada când ceasul este setat pe 1 .
În general aplicaţiile cer schimbarea stării la un anumit moment, pe care ı̂l semnalează
prin C K . Ori un RS L permite doar un interval de transparenţă, nu şi o menţinere a stării
pe toată durata acestui interval.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 102/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘
6.3. Z AVOARE ELEMENTARE 105
zăvorul ı̂ntr-o
Această stare care
variantă nu fi
poate poate fi prevăzută
evitată apriori.
introducând o complementare ı̂ntre intrările unui
RSL . Vom nota cu D (date) această unică intrare.
D
CK
S R D CK
RSL DL
Q Q Q Q
(a) (b)
D
CK
Q Q
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 103/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
S R
CK
nivel activ
S CK R
RSL
Q Q
S CK
R
RSF − F
S CK R Q Q
RSL
(b)
Q Q
Q (a ) Q
Ideea constă ı̂n conectarea serială a două zăvoare RSL şi punând (prin intermediul
complementării) ı̂n antifază semnalul de ceas.
Primul zăvor este transparent la nivelul superior al ceasului (prima jumătate a unui
tact), iar al doilea zăvor este transparent la nivelul inferior (a doua jumtătate a tactului).
Deci nu există nici un interval de timp ı̂n care toată structura să fie transparentă.
În prima fază (nivelul superior al lui CK ), primul zăvor (master ) comută ı̂n confor-
mitate cu semnalele S şi R; ı̂n faza a doua (nivelul inferior al lui CK ), al doilea zăvor
(slave ) comută copiind starea masterului.
Ieşirea din toată structura este modificată numai după ce a ”căzut” tranziţia intrării
CK .
Vom spune că circuitul RS master - slave comută flip - flop conform cu arcul ı̂n jos
al lui CK .
Pe o structură master - slave vom putea deci controla totdeauna momentele când
poate fi schimbată starea sistemului.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 104/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• Timpul de setare tS - timpul anterior arcului activ al lui CK , ı̂n care intrările
S şi R trebuie menţinute stabile pentru a avea siguranţa existenţei unei comutări
conforme cu valorile lor;
• Timpul de susţinere t H - timpul posterior arcului activ al lui C K , ı̂n care R şi S
trebuie menţinute stabile.
În timpul comutării – adică aproximativ intervalul t S + tH – intrările trebuie să fie evident
stabile, deoarece altfel flip - flopul nu ”ştie” starea ı̂n care trebuie să comute.
În afară de restricţia din construcţie (R = S ), acest flip-flop mai are un avantaj: ieşirea
lui D copiază intrarea, ı̂ntârziată cu un tact.
D
CK
S CK R t
RSF − F D
Q Q
(a) t
Q
D CK
DF F
Q t
Q
(b) (c)
DF F este unul din cele mai importante circuite construite până acum, ı̂n special
datorită numeroaselor aplicaţii.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 105/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Exemplul 6.3 S˘ a construim un sumator serial, care adun˘ a dou˘ a numere ı̂ntregi binare
f˘
ar˘
a semn X, Y ambele de aceeaşi lungime (arbitrar˘
a), producˆ
and rezultatul Z = X + Y .
Numerele sunt introduse şi prelucrate serial (bit cu bit), iar rezultatul este obt ¸inut tot
serial.
La tactul i sumatorul serial primeşte doi bit ¸i xi , yi şi calculeaz˘
a un bit z i .
De asemenea el mai produce şi un bit de transport ci , care particip˘ a la operat
¸ia de
adunare de la urm˘ atorul tact.
Ieşirea la tactul i este deci
ci z i = x i + yi + ci 1 −
x x s z
y y FA
cin cout
Q D
CK
DF F
CK
ı̂n DF F .
Ieşirea va fi ultimul bit pentru suma Z , şi valoarea de transport 0 care reseteaz˘ a DF F .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 106/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
M U X .
Structura asociată acestei definiţii este reprezentată mai jos, unde W E semnifică ”capabil
de scriere ” şi este un semnal activ inferior care permite operaţia de scriere ı̂n celula de
memorie selectată de adresa an 1 , . . . , a0 . −
W E ym−1
DMUX y1
n
y0
DI N
CK D CK D CK D
an−1 , . . . , a0 ...
DL DL DL
Q Q Q
i0
DOUT MU X n i1
im−1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 107/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
6.6 Regiştri
O altă componentă de bază a unui calculator o constituie registrul .
El este şi principalul suport pentru trecerea la următorul ordin de complexitate al
circuitelor – ı̂nchiderea celui de-al doilea ciclu.
IN D Q
S Q . . . S Q
OU T
CK
CK
( )
a
...
Este evident că SR n introduce o ı̂ntârziere de n tacţi ı̂ntre intrare şi ieşire.
Un bit care intră ı̂ntr-un SR n la tactul i, va ieşi din registru la tactul n + i , fiecare
tact permiţând trecerea acestei informaţii de la un flip-flop la următorul.
Din acest motiv, regiştrii seriali sunt folosiţi cu precădere ı̂n construcţia liniilor con-
trolate ”de ı̂ntârziere”.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 108/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
((iii)) R
Rn este
1 un
se obt DF
¸ine F ; extensia paralel˘
prin a a lui Rn 1 cu un DF F . −
Principalul avantaj al acestei componente este netransparenţa sa, cu excepţia unei ”trans-
parenţe nedecidabile” ı̂n primele tS + tH momente.
Deci el poate fi ı̂nchis eventual cu un nou ciclu.
Mai mult, netransparenţa asigură posibilitatea de a ı̂ncărca registrul cu orice valoare,
inclusiv cu o valoare care depinde de propriul său conţinut.
xn−1 xn−2 x0
X
...
CK
n
D CK D CK D CK
... CK Rn
DF F DF F DF F
Q Q Q
n
Y
yn−1 yn−2 y0
(a) (b)
Mai mulţi regiştri paraleli pot fi legaţi ı̂n serie, obţinându-se un registru serial - paralel
Rn m .×
IN R m
R m . . .
R m OU T
n n n n n
IN SP R n×m OU T
n CK n
CK
...
(a) ( b)
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 109/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
6.7 Exerciţii
1. Fiind date două numere pe n biţi (cu primul bit drept bit de semn) să se construiască
un circuit care să selecteze pe cel mai mare dintre ele.
2. Fie inelul boolean Z = (Z 2 , ⊕, ·). Fiind fixat polinomul
4. Se dă un DF F . Să se construiască un circuit a cărui ieşire este 1 dacă şi numai
dacă DF F schimbă starea (din 0 ı̂n 1 sau din 1 ı̂n 0). De exemplul pentru intrarea
00110 ieşirea va fi 00101.
5. Să se construiască un circuit care are ieşirea 1 dacă cel puţin doi din ultimii trei
biţi de intrare sunt 1. De exemplu, pentru intrarea 10011010011 ieşirea va fi
00001110001.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 110/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 7
Sisteme 2 − DS (Automate)
Următorul
sistemele depas ı̂n 1.
ordin construcţia sistemelor
Acest al doilea ciclu digitale constă ı̂n comportării
creşte autonomia adăugarea unui nou ciclu
sistemului la
inclus.
Acum sistemele au o evoluţie a spaţiului stărilor parţial independentă de dinamica
intrării.
Vom lua ı̂n considerare numai circuitele sincrone : circuite ı̂n care orice ciclu conţine
cel puţin un registru.
Definiţia 7.1 Un automat A este un 5 - tuplu A = (Q,X,Y,δ,λ) unde
• Q este o mult
¸ime nevid˘
a de elemente numite ”st˘
ari”;
• X este mult
¸imea (finit˘
a, nevid˘
a) a variabilelor ”de intrare”;
• λ este funct
¸ia de ieşire, avˆ
and forma
λ : Q × X −→ Y pentru automatul tip Mealy,
λ : Q −→ Y pentru automatul tip Moore.
1
În teoria limbajelor formale, termenul corespunde celui de translator finit
113
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 111/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
La fiecare tact, starea automatului comută şi ieşirea ia valoarea conform cu noua stare (şi
valoarea curentă de intrare – ı̂n structura Mealy).
Definiţia 7.2 Un automat cu ı̂ntˆ arziere (Mealy sau Moore) este un automat avˆ and la
ieşire valorile generate de un registru (cu ı̂ntˆ
arzieri); deci valoarea curent˘
a de la ieşire
corespunde st˘ arii interne anterioare a automatului.
arziere, yt = λ(q t 1 , xt 1 );
2. Pentru automatul Mealy cu ı̂ntˆ − −
Demonstrat
¸ia este evidentă şi pleacă de la definiţie.
Din această teoremă rezultă că avem la dispoziţie automate cu diverse faze de reacţie
la variaţiile intrării.
Deoarece ı̂n toate implementările cunoscute mulţimea Q a stărilor este finită, vom
folosi următoarea variantă de automat:
Definiţia 7.3 Un automat finit este un automat ı̂n care Q este finit˘
a iar δ accept˘
a o
definit
¸ie nerecursiv˘
a.
Este interesant, dar această definiţie conduce la o structură mai complexă pentru auto-
matele finite, decât structura generală a automatelor.
În continuare vom folosi numai automate Mealy (se poate demonstra că – abstracţie
făcând eventual de primul caracter de ieşire – cele două tipuri de automate sunt echiva-
lente).
Automatele pot fi descrise şi sub forma unui graf orientat, ı̂n care nodurile sunt marcate
cu stările din Q, iar arcele se marchează cu perechi de elemente din X × Y ı̂n felul următor:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 112/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘
7.1. DEFINIŢII DE BAZ A 115
Mărimea şi complexitatea unui automat sunt direct proporţionale cu dimensiunile mulţi-
milor care le compun.
Deci, din acest punct de vedere, cel mai simplu automat are numai două stări
Q = { 0, 1} (reprezentate pe un bit), un bit de intrare T ∈ {0, 1} şi Y = Q.
Structura asociată este
T
CLC
CK D
DF F
Q
Q
unde există un bit de intrare T , un registru de un bit (de obicei DF F ) pentru stocarea
unei stări de un bit, şi un circuit combinaţional logic CLC pentru calculul funcţiei δ .
Exemplul 7.1 Un DF F poate fi exprimat ca un automat cu dou˘ ari ( C LC se reduce
a st˘
la funct
¸ia identic˘ ¸iile δ, λ : {0, 1}2 −→ {0, 1}
a). Formal Q = X = Y = {0, 1}, iar funct
1/0
0/0 0
0/1 1 1/1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 113/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Y
Q Q
X D DF F DF F
Q
CK
D
CK
Q
CK
Circuitul are o singur˘ a intrare, patru st˘ ari date de combinat ¸iile Q1 Q2 ∈ {00, 01, 10, 11},
arile ı̂n DF F -uri D1 = X, D2 = X ∨ Q1 şi o ieşire Y = Q 1 ∧ Q2 .
intr˘
Deci X = Y = {0, 1}, Q = {00, 01, 10, 11}, δ (Q1 Q2 , x) şi λ(Q1Q2 , x) definite prin
tabelele
δ 0 1 λ 0 1
00 01 11 00 0 0
01 01 11 01 0 0
10 00 11 10 0 0
11 00 11 11 1 1
Graful automatului este
0/0 01 0/0
00
0/0
1/0
1/0 0/1
1/1 11
10
1/0
ˆ
In acest automat, starea 10 este inaccesibil˘
01 sunt echivalente (funct
¸ioneaz˘
a identic)). Dac˘ a le elimin˘ 2
a din starea de ı̂nceput 00, iar st˘
am obt
¸inem un automat cu
arile 00 şi
Dac˘
a se renoteaz˘
¸ine un DF F (figura din dreapta).
a starea 00 cu 0 şi 11 cu 1, se obt
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 114/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
DF F
D
Q
Q
(b)
(a) Q+
Ecuaţia de funcţionare este Q+ = δ (Q, T ) = T ⊕ Q iar ieşirea Y = λ(Q, T ) = Q.
δ 0 1 λ 0 1
0 0 1 0 0 0
1 1 0 1 1 1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 115/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
fi 01010101 . . .;
• Ca divizor de frecvenţă. Dacă frecvenţa ceasului este f CK , atunci frecvenţa sem-
nalului primit la ieşirea din automat este f CK /2 (după fiecare ciclu, circuitul se
ı̂ntoarce ı̂n aceeaşi stare).
T Q ...
T F F
CK Q ...
CK
Q (a) Q+
Un JK F F are Q = Y = { 0, 1}, X = { 0, 1}2 şi
δ 00 01 10 11 λ 00 01 10 11
0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 1 1 1 1 1
Graful de funcţionare va fi deci
00/0 10/0 11/0 00/1
01/0
0
01/1 11/1
1 10/1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 116/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1. no op: J = K = 0 – ieşirea rămâne nemodificată (ca la T flip flop cu T = 0);
2. reset: J = 0, K = 1 – ieşirea ia valoarea 0 (ca la DF − F );
3. set: J = 1, K = 0 – ieşirea ia valoarea 1 (ca la DF − F );
4. switch: J = K = 1 – ieşirea comută pe starea complementară (similar cu T = 1 la
T flip flop).
Ciclul este obligatoriu numai pentru ultima funcţie; aici flip - flopul trebuie să ”ştie”
care era starea anterioară a automatului, pentru a o putea schimba.
Prin această comandă ciclul ı̂şi arată autonomia.
Am obţinut o maşină cu două stări şi două intrări, cu proprietatea că pentru orice
configuraţie de intrare posibilă, circuitul are o comportare previzibilă.
JK flip - flopul este cel mai bun flip - flop construit până acum; toate celelalte pot
fi considerate cazuri particulare ale sale (pentru J = K = T se obţine T F F , iar pentru
K = J = D avem DF F ).
Pe baza acestui flip - flop se pot construi divizori impari de frecvenţ ă. Astfel, circuitul
următor (cu o singură intrare şi două JK F F ) asigură o diviziune prin 3 a unui tact.
1
CK J JKF F K CK J JKF F K
Q Q
CK
A
B
Pentru intrarea constantă J = 1, ieşirea va fi 00 10 11 00 10 . . .. Ieşirea A va avea
valoarea 1 la două momente din trei, iar ieşirea B – la un moment din trei.
Deci o extensie serială a unei magistrale de ceas cu acest circuit face posibilă seg-
mentarea unui tact ı̂n cicluri de 1/3 (33, 333%) şi 2/3 (66, 667%).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 117/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
O variantă de construcţie pleacă de la circuitul T F F : ştim că un astfel de circuit poate
număra modulo 2, deci cum am putea să legăm n T flip - flopuri T n 1 , . . . , T0 pentru a −
număra modulo 2n ?
O idee este următoarea: circuitele vor fi aşezate astfel ca T i (1 ≤ i ≤ n − 1) să comute
doar dacă T i 1, . . . , T0 sunt simultan ı̂n starea 1; ı̂n plus, T 0 comută la fiecare pas.
−
CK IN C 0
CK T
T 0
Q
Q
CK T
0
T 1
Q
..
.
...
Q1
CK T
T n − 1
Q
Q
n 1
INC n
−
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 118/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ ATORI
7.3. NUM AR ˘ (COUNTERI) 121
INC 2
iar ieşirile
Q+
0 = Q 0 ⊕ X, Q+ +
1 = Q 1 ⊕ (Q0 ∧ X ), INC2 = X ∧ Q+ +
0 ∧ Q1
ANDn+2 care determină condiţia de comutare pentru următorul T F F ; intrarea o consti-
tuie I NC 0 şi Qn 1 , . . . , Q0 (figura de jos este parţială) iar ieşirea I NC n.
−
COUNT 1 este un T F F şi un AN D2 , cu intrarea Q0 , INC0 şi ieşirea IN C 1 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 119/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Q Qn 2 ... Q0
−
IN C 0
INC n
Qn − 1 Qn 2 −
... Q0
Acest circuit este rapid, dar dimensiunile sale cresc mult odată cu n: la fiecare pas se
adaugă un T flip - flop şi un sumator al cărui număr de intrări depinde de n.
Se pot da şi alte soluţii sincrone care să păstreze o creştere rezonabilă a dimensiunilor,
dar viteza de lucru va fi mai mică.
Dacă toate intrările ı̂n porţile AN D sunt din Q (ı̂n loc de Q) se obţine un numărător
binar descrescător.
Exemplul 7.4 S˘
a construim un num˘
ar˘
ator zecimal.
1
T F F 0 T
CK
Q
Q+
0
CK T F F 1
T
Q
Q+
1
CK T F F 2
T
Q
+
Q2
CK
K
JK F F
J
Q Q
CK
Q+
3
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 120/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ ATORI
7.3. NUM AR ˘ (COUNTERI) 123
Pentru uşurint ¸˘ a anterior s-au folosit trei circuite T F F şi
a, ı̂n structura reprezentat˘
un JK F F .
Bineı̂nt ¸eles, este posibil˘
a o construct
¸ie ı̂n care toate cele patru module s˘ a fie JK F F ;
ı̂n acest caz, la primele trei module JK F F se va folosi aceeaşi valoare de intrare pentru
J şi K ).
Ecuat ¸iile counterului zecimal sunt:
T 0 = 1 ,
T 1 = Q + +
0 ∧(Q3 ) , T 2 = Q + +
1 ∧Q0 , J = Q + + +
0 ∧Q1 ∧Q2 , K = Q + +
0 ∧Q3
Q+
0 = Q 0 , Q+
1 = Q 1 ⊕ T 0 , Q+
2 = Q 2 ⊕ T 2 , Q+
3 = (Q3 ∧ K ) ∨ (Q3 ∧ J )
L˘
as˘
am ca exercit
¸iu
1001 (corespunz˘ verificarea
atoare cifrei 9)c˘
aurmeaz˘
acestaa este un counter pe patru bit
0000. ¸i ı̂n care, dup˘
a valoarea
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 121/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
7.4 Stive
Înafara memoriilor prezentate până acum (ROM, RAM , regiştri), o memorie frecvent
folosită este cea de tip stivă (sau LIF O).
Există multe soluţii practice pentru implementarea acestui gen de memorie.
Una din cele mai simple idei foloseşte un numărător up-down U D − COUNT n şi o
memorie RAM .
C 1 INC 0
U D − COUNT n
CK
CK
C 0 U/D
W E Adresa CK
IN DIN RAM DOU T OU T
U/D).
CK asigură sincronizarea celor două circuite.
2. push: C 0 = 1, C 1 = 1 – U D − COUNT n este incrementat şi data aflată la in-
trare (IN ) este stocată (W E = 0) ı̂n RAM la adresa indicată de noul conţinut al
numărătorului.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 122/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
DIN A S
SR n DOU T B F A
C
CK
C +
CK
DIN SR n
DOU T
Q
DF F
D
CK
CK
CK Sumator
DOU T SR n
DIN
Acest sumator serial conţine 3 regiştri (doi pentru operanzi şi unul pentru rezultat) şi
un automat de ı̂nsumare .
Acesta este un automat cu două stări, bazat pe un DF F legat printr-un ciclu cu un
sumator F A.
Starea curentă reţine transportul sumei ciclului precedent. Intrările A şi B primesc
sincronizat – la acelaşi tact – biţii de pe aceeaşi poziţie din cei doi regiştri seriali care
conţin operanzii.
Automatul este iniţial ı̂n starea 0, ceea ce semnifică C + = 0.
Ieşirea S este stocată bit cu bit – timp de n tacţi – de al treilea registru.
Rezultatul final este dat de al treilea registru serial şi de starea rămasă ı̂n DF F .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 123/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
11/0
00/0
01/1 0
1
10/0
01/0
10/1
00/1 11/1
m
m
DIN DIN
SP Rn SP Rn m
CK CK
DOU T
× m
CK
DOU T
×
m m
CK
D
C m
A
ADDm
B C
0
DF F S
m
Q
DIN
SP Rn m ×
CK DOU T
m
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 124/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Să mărim
mărind puterea
numărul acestor automate, conservând simplitatea funcţiei de tranziţie, dar
stărilor.
Multe aplicaţii solicită circuite cu funcţie şi structură de acumulator, adică sisteme
capabile să adune mai multe numere şi să returneze ı̂n final suma lor – sau toate sumele
lor parţiale (prefixe ).
y1 = x 1
y2 = x 1 + x2 = y1 + x2
(ı̂n mod similar se poate defini orice ◦ − pref ix, ı̂nlocuind adunarea ”+” cu un operator
arbitrar ◦).
Vom prezenta aici un exemplu de automat aritmetic care să genereze la fiecare tact
câte un prefix (ı̂ncepând cu y1).
IN
m
n
am+n 1 . . . a0
− bm+n 1 . . . b0
−
ADDm+n
sm+n 1 . . . s0
− CK
m + n m + n
Rm+n CK CK
m + n
OU T
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 125/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Aceşti m biţi suplimentari sunt necesari pentru a obţine un rezultat corect şi ı̂n
situaţiile cele mai nefavorabile, când sumele depăsesc n biţi.
Automatul este evident foarte simplu. Cele două componente sunt circuite simple care
pot fi definite recursiv.
0 0 x
a2 a1 a 0 b2 b1 b0
ADD3
CK
R3 CK CK
y2 y1 y0
Definit ca un automat, vom avea Q = { 0, 1}3, X = { 0, 1}, Y = { 0, 1}3.
Funct
¸iile de tranzit
¸ie şi de ieşire rezult˘
a imediat din graful de funct ¸ionare:
0/000
0/001
0/010
0/011
0/100
0/101
0/110
0/111
q 0
1/001
q 1 1/010
q 2 1/011
q 3 1/100
q 4 1/101
q 5 1/110
q 6 1/111
q 7
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 126/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
7.5.4 Multiplicator
Să construim un circuit secvenţial pentru ı̂nmulţirea a două numere binare.
Spre deosebire
deplasare, de circuitul
bazându-se pe faptulcombinaţional de ı̂nmulţire,
că ı̂n mulţirea este acesta foloseşte
de fapt o adunare repetată.circuitul de
Pentru uşurinţa expunerii, vom dezvolta o construcţie pentru ı̂nmulţirea a două numere
ı̂ntregi cu semn reprezentate pe 8 biţi (generalizarea fiind imediată).
Fie numerele binare X = x 0 . . . x7 şi Y = y 0 . . . y7 , din care formăm produsul P = X × Y .
Numerele au reprezentarea standard: biţii marcaţi cu 0 sunt biţi de semn, iar restul
(notat X M respectiv Y M ) semnifică mărimea numărului (considerat subunitar).
Valoarea lui este dată de numărul
7
− i
N = xi 2
i=1
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 127/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
EMUX c5
c9
Q7 M 0
c0
c2
CL
LD
CL
LD A[1 : 7] Q[1 : 7] M [1 : 7]
c7 SH
SH
SH
M 7
7
A0 7×EMUX
8 7
7
7
0
cout ADD7 c6
A[0 : 7] 7
c11
Interfeţe de magistrale
OU T
−
Conform
Unitatea definiţiei,
de control suma este controlată
a ı̂nmulţirii va trebuide
săbitul x
scaneze la, stocat
7 i
fiecareı̂n registrul
pas Q.
conţinuturile lui Q
de la dreapta spre stânga.
Dacă Q este un registru de deplasare, atunci x 7 i se va obţine totdeauna din cel mai la −
dreapta flip-flop al lui Q (Q[7]) deplasând Q spre dreapta ı̂nainte de a extrage următorul
x7 i .
−
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 128/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Deci, X M este redus treptat de la 7 biţi la 1 bit, ı̂n timp ce P i este expandat de la 7
la 14 biţi, tot prin deplasare la dreapta.
Aceasta conduce la ideea de a combina A şi Q ı̂ntr-un singur registru dublu de de-
plasare, ı̂n care jumătatea dreaptă este Q, iar cea stângă – A.
Multiplicatorul este completat prin includerea magistralelor de date externe IN şi
OU T şi o unitate de control cu un numărător pe 3 biţi COUNT 3.
După cum se observă, ı̂n centrul construcţiei se află sumatorul paralel pe 7 biţi şi
registrul dublu A.Q care implementează formulele de calcul.
Semnalul cout de ieşire al transportului din sumator este al 8-lea bit (cel mai semni-
ficativ) al sumei şi este conectat la intrarea A0 .
Contorul COUNT 3 (nereprezentat aici) este incrementat şi testat după fiecare pas
adunare/deplasare, pentru a vedea dacă prima etapă de calcul s-a terminat.
Când COUNT 3 a ajuns la 111 (adică 7), P M ocupă biţii 1 : 14 ai registrului A.Q,
Unitatea de control a multiplicatorului este formată din toate semnalele şi punctele
de control necesare ı̂n implementarea operaţiilor specificate.
Listăm mai jos câteva semnale de control necesare ı̂n construirea unui multiplicator.
Semnal Operaţia Semnal Operaţia
control controlată control controlată
c0 Resetează A c7 Deplasare dreapta A.Q
c1 Resetează COUNT 3 c8 Incrementare COUNT
c2 Încarcă A0 c9 Selecţie cout sau M 0 ⊕ Q7 pentru A0
c3 Încarcă M din I N c10 Anulează Q 7
c4 Încarcă Q din I N c11 OU T ←− A
c5 Încarcă suma ı̂n A[1 : 7] c12 OU T ←− Q
c6 Selecţie M sau 0000000
În unele cazuri sunt necesare mai multe semnale de control pentru implementarea unei
operaţii.
De exemplu, adunarea foloseşte c6 pentru a selecta operandul drept al adunării, c9
pentru a selecta cout care se va ı̂ncărca ı̂n A0 , c2 şi c5 pentru pentru a ı̂ncărca suma
curentă de 8 biţi ı̂n A[0 : 7].
Numărul semnalelor de control variază ı̂n funcţie de logica utilizată pentru imple-
mentarea unităţii de control.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 129/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 130/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Circuitul – numit MAC (”Multiple Accumulate Circuit ”) – poate fi realizat ı̂n mai
multe moduri posibile.
Construcţia prezentată aici foloseşte o extensie serială a două automate, numite au-
tomat ”acumulator ” şi automat ”bits eater” (mˆ anc˘
ator de bit
¸i).
Folosim şi aici faptul că multiplicarea este ı̂n esenţă tot o adunare.
Deci se va construi un automat acumulator pentru a implementa ı̂n paralel ambele
operaţii: ı̂nmulţirea şi suma produselor; ı̂n acest fel timpul de execuţie rămâne acelaşi.
• Automat ”bits eater”, care indică succesiv poziţiile biţilor din operandul b, care
au valoarea 1; de asemenea el precizează sfârşitul operaţiei de ı̂nmulţire; circuitul
conţine:
din registrul de stare, precum şi sfârşitul ı̂n mulţirii, prin ieşirea Z ;
– DMUX log2n - ieşirea activă a automatului; Z = 0 corespunde celui mai sem-
nificativ bit 1 din registrul de stare;
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 131/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
– ADD
circuitul de -deplasare
m+2n adună laprin
conţinutul
registrulregistrului de ieşire valoarea
de regularizare R primită de la
2n ;
IN
LOAD1
n
n
n
S 0n ×EMU X n×XOR
1
Rn LOAD2
n
n
Rn
2
n
SHIFT n×m
2n
n
R2n
2n
P E n Z E DMUX log2 n
m
bits eater
ADDm+2n
m+2n
S 0 Q D Q D
×
(m+2n) MU X 2 S 1 DF F DF F
CLR
m+2n
m+2n
m+2n SR 2
Rm+2n
m+2n
automat acumulator
OU T
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 132/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
b. Acesta:
(c) Când toţi termenii sunt 0 , anunţă ı̂n cheierea ı̂n mulţirii şi ı̂n cepe adunarea ı̂n
automatul acumulator.
Operaţia este realizată ı̂ntr-un număr de tacţi egal cu numărul de valori 1 din al doilea
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 133/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Definiţia 7.4 Un semi-automat este un triplet A1/2 = (Q,X,δ ) unde Q, X, δ au semni-
ficat
¸ia dat˘
a la definit
¸ia automatelor.
CICLU P LA A1/2
Q CK
(Q)
CK Rn
Utilitatea acestui concept (mai apropiat de noţiunea formală de automat finit ) rezidă din
faptul că multe tehnici de optimizare sunt legate doar de cicluri, nu de ieşiri.
Cele patru tipuri de automate pot fi definite atunci (prin semi-automate) astfel:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 134/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
X X A1/2
CK CK
X X
A1/2
CK CK
P LA P LA
(a) Y (b) Y
X X A1/2
CK CK
X X
A1/2
CK CK
P LA P LA
R R
(c) Y (d) Y
LOAD1 A
LOAD2 B
INT ERF ACE MAC AF
CLR C
E
EN D
OU T
IN
S
I
W
3
Evident, ı̂n loc de M AC se poate folosi un automat pentru realizarea oricărui grup de operaţii
aritmetice.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 135/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
INTERFACE ;
2. LOAD2 : comandă ı̂n cărcarea ı̂n mod similar a celui de-al doilea operand, şi porneşte
operaţia;
3. CLR: comandă ı̂ncărcarea valorii 0 ı̂n registrul de ieşire din MAC (resetare);
4. WAIT : M AC este ı̂n curs de a realiza operaţia, dar registrul de ieşire nu conţine
ı̂ncă rezultatul final.
Ieşirea din circuit este organizată ı̂ntr-o secvenţă de 4 biţi, ı̂n ordinea LOAD1 ,LOAD2 ,
CLR,WAIT .
În schema logică de pe pagina următoare este descrisă comportarea automatului ilus-
trată de funcţiile δ şi λ.
• q 2 – este starea ı̂n care se aşteaptă sfârşitul operaţiei de ı̂nmulţire (se generează spre
interfaţă semnalul de aşteptare WAIT = 1);
• q 3 – se aşteaptă o nouă selecţie; dacă este selectat M AC , testează sensul de transfer
solicitat; dacă trebuie ı̂ncărcată ı̂n MAC o nouă pereche de operanzi, atunci ı̂l
ı̂n carcă pe primul şi sare la starea q 1 ; altfel trece ı̂n q 4 ;
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 136/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• q 4 – procesul de ı̂nmulţire este terminat, rezultatul este transferat la interfaţă şi
registrul de ieşire este curăţat.
q 0 000
0
S
1
0010
1000
q 1 001
0
1
S
0000 0100
q 2 011 (010)
0
E 1
0001 0000
q 3 010 (011)
0 S
1
0
0000
I
1
0001 1000
q
4 100
0010
Deci Q = { 0, 1}3 (sunt necesari minim trei biţi pentru a codifica cinci stări),
X = { 0, 1}3 (o intrare este reprezentată de secvenţa EIS ), Y = { 0, 1}4 (secvenţă de patru
biţi care codifică ı̂n ordine ieşirile LOAD1 ,LOAD2 ,CLR,WAIT ).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 137/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Deci
δ (Q2Q1 Q0 , EIS ) = (Q1 Q0 SI, Q1 Q0 S ∨ Q1 Q0 ∨ Q1 S, Q2 Q1 S ∨ Q1 Q0 ∨ Q0 E ∨ Q1 Q0SI )
Similar, funcţia de ieşire λ(Q2 Q1 Q0 , EIS ) = (LOAD1 ,LOAD2 ,CLR,WAIT )
este definită prin tabelul
λ 000 001 010 011 100 101 110 111
000 0010 1000 0010 1000 0010 1000 0010 1000 S 0 S 0
001 000 0100 0000 0100 0000 0100 000 0100 0 S 0 0
011 0001 0001 0001 0001 0001 0001 0001 0001 0 0 0 1
010
100 0000
0010 0001
0010 0000
0010 1000
0010 0000
0010 0001
0010 0000 0010 SI
0010 1000 0 00 01 SI
0
Pe baza lui se pot scrie ecuaţiile care descriu P LA-ul de ieşire:
LOAD1 = Q2 Q1Q0 S ∨ Q1 Q0 SI, LOAD2 = Q1 Q0S
CLR = Q2 ∨ Q1 Q0 S, W AIT = Q
1 Q0 ∨ Q1SI
Deci
λ(Q2 Q1 Q0 , EIS ) = (Q2Q1 Q0 S ∨ Q1 Q0 SI, Q1 Q0S, Q2 ∨ Q1 Q0 S, Q1 Q0 ∨ Q1 SI )
Graful funcţional (unde x, y,z ∈ {0, 1}) este
xy0/0000 xyz/0010
0xy/0001 xy0/0000
q 0 xy1/1000
q 1
xy1/0100
q 2 1xy/0001
q 3 x01/0001
q 4
xy0/0010
x11/1000
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 138/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Figura de mai jos descrie circuitul rezultat; cele două P LA-uri de conjuncţie (cores-
punzătoare funcţiilor de transfer şi de ieşire) sunt unite ı̂n unul singur (cel superior), deci
termenii comuni sunt utilizaţi ı̂mpreună.
S
I
E
Q
Q0 DF F
D
Q+
0
Q CK
Q
Q1 DF F
D
Q+
1
Q CK
D Q+
Q2
Q
DF F
2
Q A
CK
B
C
CK
W
O problemă des ı̂ntâlnită este aceea de a recunoaşte apariţia unei anumite subsecvenţe ı̂n
cadrul unei secvenţe binare.
Să construim de exemplu un automat care să semnaleze apariţia subsecvenţei 1011.
Dintr-un studiu bazat pe limbaje formale, un graf al acestui automat se poate construi
uşor:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 139/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1/0
0/0 q 0 q 1 1/0
0/0
0/0 1/1
1/0
q 2 q 3
0/0
De exemplu, pentru intrarea 010101101110011 ieşirea va fi 000000100100000.
Automatul având patru stări, acestea pot fi codificate folosind doi biţi:
q 0 ≡ 00, q 1 ≡ 01, q 2 ≡ 10, q 3 ≡ 11
Deci Q = { 0, 1}2 , X = Y = { 0, 1}. Funcţiile de transfer şi de ieşire sunt
δ 0 1 Q+
1 Q+0 λ 0 1 y
00 00 01 0 x 00 0 0 0
01 10 01 x x 01 0 0 0
10 00 11 x x 10 0 0 0
11 10 01 x x 11 0 1 x
De aici rezultă imediat forma celor două P LA (de transfer şi de ieşire):
δ (Q1 Q0 , x) = (Q0 x ∨ Q1Q0x, x), λ(Q1 Q0 , x) = Q1 Q0 x
Pentru implementare sunt necesare două DF F (necesare codificării celor patru stări), un
codificator elementar (pentru variabila de intrare x) şi două P LA (care au componenta
AND comună).
x
Q
Q
0 DF F
D
CK
Q
Q1 Q D
Q
DF F
CK y
CK
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 140/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
2. În majoritatea stărilor, automatul testează numai un bit aflat pe poziţia de adresă
X 2 ; dacă nu sunt acoperite toate situaţiile, problema este rezolvată prin adăugarea
unor stări suplimentare, activate automat (stări de eroare, stări finale etc).
Pe baza acestor observaţii, structura automatului de control poate fi modificată, obţinân-
du-se o formă redusă prezentată ı̂n figura următoare.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 141/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1 X 1
n n × EMUX
ROM
S 0 0
m
R
Y p
MOD
TEST NEXT
0
T
X 2 . . . M UX p
1
Deoarece secvenţa de comenzi poate fi iniţializată numai prin intermediul codului X 1 ,
acest cod se poate folosi doar pentru adresarea la prima linie de comandă din ROM , cu
ajutorul unei stări prin care componenta MOD = 1.
Această facilitate se realizează adăugând n EMUX -uri şi o nouă ieşire spre ROM
pentru a genera semnalul MOD.
De remarcat că pentru aceste n EMUX -uri, comanda S 0 = 1 ı̂nseamnă ”iniţializare”,
iar S 0 = 0 ı̂nseamnă următoarea linie de comandă.
Această modificare permite simplificarea liniilor din ROM , o parte din informaţie fiind
transferată spre preselecţia comandată de multiplexori.
Această structură lucrează la fel ca cea iniţială, dar mărimea ROM -ului este foarte
mult simplificată.
Lucrând cu această variantă a automatului de control, se pot realiza şi alte modificări.
Astfel, cea mai mare parte a secvenţelor generate sunt organizate ca o secvenţe liniare.
Deci, comenzile asociate pot fi stocate ı̂n ROM la adrese succesive (fiecare adresă din
ROM se poate obţine prin incrementarea adresei curente aflate ı̂n registrul R).
Rezultă structura reprezentată ı̂n figura următoare:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 142/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
3
ROM
R
MU X 2 21 X 1
S 1 S 0 0
Y 2
p
INC
TEST
SALT
MOD
T M 0 M 1
X 2 .
. . MU X p T C
Noutatea constă ı̂n circuitul de incrementare I NC conectat la registrul de stare, precum şi
un mic circuit combinaţional (T C – Circuit de testare) care codifică semnalele M 1 , M 0 , T
ı̂ntr-un cod de selecţie pentru MU X 2 .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 143/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
< operatie >< op1 >< op2 >< mod >< test >< adresa >
unde
ate 2 bit
2. < op 1 , < op 2 > sunt adresele (pe cˆ ¸i) a dou˘
a registre de memorie unde se
a operanzii. Rezultatul se depune ı̂n < op1 >.
afl˘
Dac˘
a operat
¸ia necesit˘
a un singur operand, a doua adres˘
a este 00.
a – pe 3 bit
4. < test > d˘ a < mod >= 1) sau este ignorat
¸i – adresa bitului de test (dac˘
a < mod >= 0).
(dac˘
01101101 00001001
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 144/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
1. Care este legătura dintre porţile unei reţele şi un automat care execută aceeaşi
funcţie?
2. În ce condiţii putem transforma un circuit combinaţional ı̂ntr-un automat şi invers?
q (t0 )
x(t0 ) P LA Transfer P LA Ieşire y(t0 )
q (t1 )
x(t1 ) P LA Transfer P LA Ieşire y(t1 )
.
q (tn )
x(tn ) P LA Transfer P LA Ieşire y(tn )
Fie un automat Mealy cu cele două P LA-uri ale sale (de transfer şi de ieşire), starea
iniţială q (t0) şi secvenţa de intrare pentru primul ciclu de n tacţi: x(t0), x(t1), . . . , x(tn ).
Circuitul combinaţional de sus generează secvenţa de ieşire corespunzătoare
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 145/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
7.9 Exerciţii
1. Se dă automatul
x
HA HA
s c s
DF F
D DF F
D
CK
Q1 Q0
Să se arate că poate fi folosit drept un counter crescător pe 2 biţi (COUNT 2 ).
Pe baza lui să se construiască un counter descrescător pe 2 biţi
4. Se dă automatul
ab FA s
c
T F F CK
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 146/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a s s
b FA c
J
K
Q JK F F CK
1
1
1
q q 2
0
3 0
7. Se dă automatul:
CK
T F F
x
FA
s
c
T F F
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 147/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
10. Să se verifice circuitul din Exemplul 7.4, arătând că este un counter zecimal pe 4
biţi
11. Să se construiască un circuit care primeşte o secvenţă binară şi numără de câte ori
apare subsecvenţa 00. Numărul de apariţii se va da pe 3 biţi.
De exemplu, pentru intrarea 0101110010000110 răspunsul este 100 (apar patru
subsecvenţe 00).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 148/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 8
Sisteme 3 − DS sisteme (procesori)
Trecând la nivelul
trei variante, următor
ı̂n funcţie de complexitate
de cele trei tipuri dealcircuite
circuitelor, al treilea
prezentate ciclu poate fi ı̂nchis ı̂n
anterior.
1. Cel mai simplu tip de sistem 3 − DS se obţine ı̂nchizând al treilea ciclu cu un circuit
combinaţional (de exemplu, peste un automat sau o reţea de automate, ciclul este
ı̂nchis folosind un 0 − DS ).
Acest
cesorul ultim
. tip este caracteristic pentru un 3 − DS , definind ca principală aplicaţie pro-
Să vedem cum se poate ı̂nlocui un D flip - flop (DF F ) – circuit cu o singură intrare
– cu un JK flip - flop (circuit cu două intrări) şi cum această substituţie conduce la o
minimizare a complexităţii circuitului.
1
J K - registrul astfel construit nu este propriu-zis un registru; el este o reţea de automate simplificate,
conectate ı̂n paralel.
151
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 149/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Deoarece un J K F F are o autonomie crescută faţă de DF F , la trecerea dintr-o stare
ı̂n alta semnalele de intrare pot conţine un grad mai mare de ambiguitate.
De aici rezultă că fiecare tabelă de tranziţie care defineşte o nouă valoare a stării Q+
i
poaate fi translatată ı̂n două diagrame de tranziţie: una pentru J i , a doua pentru K i .
000
001 000
001 001
011 000
001 001
011 000
001 001
011 000
001 001
011
011 011 011 011 011 010 010 010 010
010 010 100 010 001 010 100 010 001
100 000 000 000 000 000 000 000 000
Ea era implementat˘ a prin trei DF F care descriau comportamentele st˘ arilor Q2 , Q1, Q0 .
Noile diagrame de tranzit ¸ie pentru J i şi K i pot fi definite pe baza regulii anterioare,
rezultˆ
and urm˘ atoarele dou˘
a tabele pentru cele 6 intr˘ ari ale JK - registrului ( J 2 J 1 J 0 res-
pectiv K 2 K 1K 0 ).
+ + +
δ J 000 001 010 011 100 101 110 111 J 2 J 1 J 0
000 000 001 000 001 000 001 000 001 0 0 S
001 00 01 00 01 00 01 00 01 0 S
011 0 0 0 0 0 0 0 0 0
010 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 I ∧ S I ∧ S
100 00 00 00 00 00 00 00 00 0 0
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 150/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
δ K 000 001 010 011 100 101 110 111 K 2+ K 1+ K 0+
000
001 0 0 0 0 0 0 0 0 0
011 00 00 00 00 01 01 01 01 0 E
010 0 1 0 1 0 1 0 1 S
100 1 1 1 1 1 1 1 1 1
Deci tabelele P LA de tranzit
¸ie sunt descrise de aplicat
¸iile
δ J (Q2 Q1 Q0 , E I S ) = (Q2 ∧Q1 ∧Q0 ∧I ∧S, Q2 ∧Q1 ∧Q0 ∧S, (Q2 ∧Q1 ∧Q0 ∧S )∨(Q2 ∧Q1 ∧Q0 ∧I ∧S ))
δ K (Q2 Q1 Q0 , E I S ) = ( 1 , Q2 ∧ Q1 ∧ Q0 ∧ S, Q2 ∧ Q1 ∧ Q0 ∧ E )
Similar,
Q2 ∧ Q1 ∧ Q0 ∧ E = Q 1 ∧ E, Q2 ∧ Q1 ∧ Q0 ∧ S ∧ I = Q 1 ∧ S ∧ I,
Q2 ∧ Q1 ∧ Q0 ∧ S = Q 2 ∧ Q1 ∧ S, Q2 ∧ Q1 ∧ Q0 ∧ S = Q 1 ∧ Q0 ∧ S .
Deci
δ J (Q2 Q1 Q0 , E I S ) = (Q1 ∧ Q0 ∧ I ∧ S, Q1 ∧ Q0 ∧ S, (Q2 ∧ Q1 ∧ S ) ∨ (Q1 ∧ I ∧ S ))
δ K (Q2 Q1 Q0 , E I S ) = ( 1 , Q0 ∧ S, Q1 ∧ E )
2
Reamintim, pe poziţia marcată ” ” poate apare orice valoare.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 151/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
S
I
E
Q J
J 0
Q JKFF 0
CK
Q K
K 0
Q J
J 1 B
Q1 J K F F CK
Q K 1
K
Q J
J 2
Q2 J K F F CK
K
Q K 2 1
A
C
W
CK
Funct
¸ia de ieşire λ descris˘
a este cea definit˘
a ı̂n sect
¸iunea 7.6.1.
Este evident c˘ a distribut
¸ia punctelor ı̂n cele dou˘ a P LA-uri este mai mic˘
a decˆ
at cea
din solut
¸ia dat˘ a anterior ( 38 puncte fat ¸˘
a de 48 ı̂n construct ¸ia precedent˘
a).
Prin această ı̂nlocuire a fiecărui DF F cu un J K F F , o parte din P LA-ul de transfer a
fost segregat ı̂n structura JK - registrului.
Această metodă acţionează ca un mecanism care subliniază regularităţile unui proces
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 152/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
δ 01 Q+
1 Q0
+
00 00 01 0 x
01 10 01 x x
10 00 11 x x
11 10 01 x x
rezult˘
a imediat tabelele funct
¸iilor δ J şi δ K :
δ J 0 1 J 1 J 0 δ K 0
1 K 1 K 0
00 00 01 0 x 00
01 1 0 x 01 1 0 x
10 0 1 x 10 1 0 x
11 11 01 10 x x
De aici pot fi scrise funct
¸iile de transfer (dup˘
a reduceri):
δ J (Q1 Q0 , x) = (Q0 ∧ x, x), δ K (Q1 Q0 , x) = ((Q0 ∧ x) ∨ (Q0 ∧ x), x)
J
Q J
0
Q0 JKFF CK
K
Q
K
0
J
J
1
Q1 Q JKFF CK
K
K
1
y
CK
Deci folosirea automatelor J K regiştri este eficient˘
a numai pentru tablouri aleatoare de
dimensiune mare.
Posibilitatea de minimizare a P LA-urilor este permisă de autonomia crescută a J K F F
faţă
cândde J KF F. FUn
un DF DF F
poate are doar
evolua o autonomie
ı̂n spaţiul stărilor.parţială de a sta ı̂ntr-o anumită stare, pe
Un DF F trebuie să ”raporteze” permanent la intrare care va fi următoarea stare (0
sau 1), pe când un J K F F permite comenzi mult mai generale, J = K = 1 – care spune
”treci ı̂n altă stare” (sau J = K = 0 – ”păstrează starea”), fără a o indica exact care este
aceasta (de fapt, al doilea ciclu ajută un J K F F să-şi cunoască starea curentă).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 153/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
S 0 i2 i1 i0
1 U
M U X 2 SCOUNT 3 CK
E 2 CK
3 S 0 S 1 L Q2 Q1 Q0 I
A B C W
Construct
¸ia dat˘
a ı̂n figura urm˘ atoare pleac˘
a de la un SCOUNT 3 şi un M U X 2 .
Multiplexorul selecteaz˘ a funct
¸ia de num˘ arare ı̂n fiecare stare, conform cu descrierea
din schema logic˘
a.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 154/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘ ATORI
8.2. REGIŞTRI NUM AR ˘ 157
comun de P LA
Structura ).
rezultat˘
a ı̂n circuitul descris anterior are o component˘
a aleatoare minim˘
a.
Procesul de segregare este mai adânc dacă implementăm circuite simple, dar definite
recursiv.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 155/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Structura prezentată mai jos este folosită pentru realizarea de funcţii aritmetice şi
logice (ALU ) cu date stocate ı̂n opt regiştri de câte n biţi fiecare; pentru simplificarea
circuitului, nu s-au mai descris ceasurile de sincronizare; de asemenea, toate magistralele
sunt de n biţi.
Vom analiza două variante de construcţie, fără şi cu DF F conectat ı̂ntre C ROU T -ul şi
CRIN -ul circuitului ALU .
Dest
REGISTRI
L R
Circuitul conţine:
• REGISTRI: o grupare de 8 regiştri de câte n biţi fiecare; la fiecare tact sunt
selectaţi doi din ei pentru a transmite codurile operanzilor drept respectiv stâng (la
intrarea ı̂n ALU ); un al treilea registru este desemnat la fiecare tact pentru ieşire, cu
codul < op drept > (pentru selecţie se pot folosi două n × M UX 3 , iar la destinaţie
ceasul este distribuit printr-un DMUX 3 ).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 156/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• D: este un DF F care generează la intrarea CRIN ı̂n ALU valoarea de transport
generată la tactul precedent de ieşirea CROU T din ALU ; poate fi resetat activând
bitul ”reset”. Prima variantă pe care o vom prezenta nu va conţ ine acest flip - flop.
Automatul de control este un CROM (secţiunea 7.7).
Varianta I
Linia de comandă primită de la un automat de control are definiţia:
< comanda > ::= < op stang >< op drept >< func >< transport >< sursa >
::= < reset >
< op. stang > ::= L0 | L 1 | . . . | L 7
< op drept > ::= R0 | R 1 | . . . | R 7
< func > ::= AND | OR | X OR | ADD | SU B | I NC | SHL
< transport > ::= CR |
< sursa > ::= DIN |
Să presupunem că ı̂n două perechi de regiştri sunt două numere de câte 2n biţi care trebuie
adunate.
Primul număr este stocat ı̂n perechea de regiştri (L1, L2) (L2 conţine cei mai semni-
ficativi n biţi); al doilea număr este stocat similar ı̂n (R1, R2).
Secvenţa de comenzi care controlează această adunare este:
L1 R1 ADD CJ MP CROU T U NU
L2 R2 ADD J MP DOI
U NU L2 R2 ADD C R
DOI ...
Varianta II
Această variantă este un 3 − DS ı̂n care ciclul se ı̂nchide printr-un DF F .
Rolul ultimului ciclu este de a reduce, simplifica şi a mări viteza rutinei care realizează
aceeaşi operaţie sau alte proceduri dependente.
Diferenţa din linia de comandă constă ı̂n eliminarea câmpului < transport > şi
adăugarea la < reset > a definiţiei
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 157/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Diferenţa funcţională constă ı̂n modul ı̂n care conţinutul DF F - ului comandă bitul
de transport din intrarea ı̂n sumator (CRIN ).
Astfel, secvenţa de comenzi care realizează suma anterioară devine
. . . RST . . .
L1 R1 ADD
L2 R2 ADD
X
...
X D IN
FA X D STIVA
OU T
...
{PUSH,POP, }
Y
• Q: mult
¸imea (finit˘
a a) st˘
arilor automatului;
• Y: alfabetul de ieşire;
• Z : mult
¸imea de comenzi c˘
atre stiv˘
a: {PUSH,POP,NOP };
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 158/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
˘
8.4. AUTOMATE STIV A 161
primit şi simbolul din topul stivei ( T OS ), automatul comut˘ a ı̂ntr-o nou˘
a stare, o
nou˘ a valoare (eventual) ı̂n stiv˘ a, bazat˘
a pe comand˘
a de tip PUSH,P OP sau NOP .
Uneori pot apare şi comenzi de ı̂nceput sau sfˆ
arşit de program ( B EGIN,END).
• λ: funct
¸ia de ieşire a automatului; λ : Q −→ Y ;
• z0 : valoarea init
¸ial˘
a din stiv˘
a (init
¸ializarea lui T OS )
Este uşor să ı̂nţelegem rolul acestui tip de maşină folosind un exemplu:
Exemplul 8.4 S˘ a construim un automat care s˘ a recunoasc˘ a şirurile de forma $α&α̃$,
unde $ , & ∈ X, α ∈ X \{$, &}. Solut
¸ia este un P DA descris de schema logic˘
∗
a urm˘ atoare:
q 0
0
a=$
1
q 1
1 a=& 0
q 2 PUSH a
0
1
a=$
1
0 0 1
T OS =Z
a=T OS
0
P OP q 4 q 3
EROARE OK
Semnificat
¸ia fiec˘
areia din cele 5 st˘
ari este:
• q 0 : este starea init
¸ial˘
a, cˆ
and se aşteapt˘
a primul caracter $.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 159/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• q 2 : fiecare simbol primit este comparat cu vˆ arful stivei ( T OS ); dac˘ a cele dou˘
a carac-
tere sunt egale, stiva elimin˘ a caracterul comparat ( P OP ); dac˘ a simbolul primit este
$ iar T OS cont
¸ine z 0 , automatul trece ı̂n starea q 3 ; ı̂n orice alt˘
a situat
¸ie, automatul
trece ı̂n starea q 4 .
• q 3 : automatul recunoaşte secvent
¸a primit˘
a ca fiind corect˘
a; este o stare final˘
a de
acceptare.
• q 4 : automatul respinge secvent
¸a primit˘
a ca fiind incorect˘
a; este o stare final˘
a de
eroare.
Formal, automatul stiv˘ a este M = (Q,X,Y,Z,δ,λ,z 0 ) unde:
Q = { q 0 , q 1 , q 2 , q 3 , q 4 },
X = { z 0 , $, %} ∪ V unde V este un alfabet arbitrar, definit separat,
Y = { OK, EROARE, },
Z = { PUSH,POP,NOP,BEGIN,END},
funct
¸ia de tranzit ¸ie
δ (q 0 , a , z0 ) = (q 0 , z 0 , N O P ), δ (q 1 , a , b) = (q 1 , ab, PUSH a), ∀a
= &, b ∈ V ∪ {z 0 }
δ (q 0 , $, z 0 ) = (q 1 , z 0 ,BEGIN ) δ (q 1 , &, b) = (q 2 ,b,NOP )
δ (q 2 , a , a) = (q 2 , , P OP a), ∀a =$ δ (q 2 , a , b) = (q 4 ,b,NOP ), ∀a = b, a
=$
δ (q 2 , $, z 0 ) = (q 3 , , E N D), δ (q 2 , $, a) = (q 4 ,a,NOP ), ∀a = z 0
şi funct
¸ia de ieşire
λ(q 0 ) = λ (q 1 ) = λ (q 2 ) = , λ(q 3 ) = OK, λ(q 4 ) = EROARE .
Secvent
¸a de comenzi c˘ atre stiv˘
a poate fi interpetat˘
a (şi implementat˘
a) ca un micro-
program care opereaz˘
a cu şiruri de caractere.
De remarcat c˘ a rezolvarea acestei probleme folosind un automat finit este posibil˘ a nu-
mai pentru un alfabet X mic şi şiruri de intrare mici.
M˘ arimea şi complexitatea automatului va depinde direct de aceşti doi parametri. Orice
modificare a lor va schimba complet circuitul.
ˆ
In cazul utiliz˘
arii un automat stiv˘ a ı̂ns˘
a, m˘
arimea şirului de intrare nu are nici o
leg˘
atur˘
a cu dimensiunea sau forma automatului.
Aici, partea simpl˘ a (stiva infinit˘
a) este separat˘
a de cea complex˘
a (automatul finit, cu
ari).
5 st˘
Observaţia 8.1 Definit ¸ia automatului stiv˘
a este foarte asem˘
an˘
atoare cu definit
¸ia trans-
latorului stiv˘
a de la limbaje formale. Diferent ¸ele sunt minore: acolo se lucreaz˘ a cu un
automat de tip Mealy, alfabetul stiv˘ a este distinct de alfabetul de intrare, se pot folosi
definit ¸ii nedeterministe (care – atent
¸ie – nu sunt echivalente cu cele deterministe).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 160/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Pentru a ı̂nţelege mecanismul principal folosit de acest al treilea ciclu, ne vom referi
ı̂n principal la procesorul elementar .
Rn
Al doilea ciclu
A B
ADDn Al treilea
ciclu
CR S
M SB
0 1 2 3
n × M UX 2 S 1
S 0
DIN DOU T
W IN WRITE
CROM
READ W OU T
Un sistem simplu de P E este dat ı̂n figura de sus, unde s-a detaliat numai automatul
aritmetico - logic.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 161/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
• IN: intrarea de date DIN , accesibilă pentru comanda S 1 S 0 = 00;
• ADDn : suma dintre numărul (de n biţi) oferit de D IN şi conţinutul registrului R n ,
pentru comanda S 1 S 0 = 01;
• REG: conţinutul registrului paralel Rn , pentru comanda S 1 S 0 = 10;
Automatul este un CROM specific unei funct ¸ii , care comandă automatul aritmetico -
logic prin intermediul grupului de trei biţi (S 0 , S 1, M S B); el primeşte comanda de la
ieşirea CR a sumatorului.
De asemenea, acest CROM controlează legăturile procesorului. EP este conectat cu
un sistem din care primeşte date prin READ şi W IN (intrare de aşteptare) şi căruia ı̂i
trimite ieşirile WRITE şi W OU T (ieşirea de aşteptare).
< micro − instructiune > ::= < comanda >< mod >< test >< salt >
< comanda > ::= < functie >< iesire >
< mod > ::= J M P | CJM P | INIT |
< test > :: = C R | W IN | WOUT |
< salt > ::= < orice marcă de maxim 6 caractere >
< functie > ::= IN | ADD | RE G | RS H 0 | RS H 1
< iesire > ::= READ | WRITE |
Exemplul 8.5 Singurul micro-program executat de procesorul elementar descris mai sus
primeşte un şir de numere şi genereaz˘
a alt şir de numere reprezentˆ
and mediile aritmetice
ale fiec˘
arei perechi succesive.
Utilizˆ
and limbajul de micro-programare astfel definit, rezult˘
a urm˘
atorul microprogram:
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 162/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
ADD CJ M P CR T REI
RSH 0
JMP UNU
T REI RSH 1
JMP OU T
ZERO ...
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 163/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 9
Sisteme 4 − DS
−
Ultimul exemplu din
funcţia sistemului secţiunea
devine 8.5 puţin
tot mai subliniază destul de
dependentă declar procesul
structura specific
fizică unui
şi tot DS :
mai3 strâns
legată de o structură simbolică (de exemplu, micro-programe).
Structura fizică (bazată pe circuite) rămâne simplă, pe când cea simbolică – ”stocată”
ı̂n ROM (eventual convertit ı̂n P LA) – presupune o anumită complexitate funcţională.
Al patrulea ciclu crează condiţiile pentru dependenţa funcţională totală faţă de struc-
tura simbolică.
4
9.1 Tipuri de sisteme de ordin
Există patru tipuri principale de astfel de sisteme, ı̂n funcţie de ordinul sistemului prin
care este ı̂nchis al patrulea ciclu; ele pot reprezentate schematic astfel:
Programe
P ROCESOR ROM
0−DS
DATE
ADRESE
READ
WAIT
167
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 164/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
2. 4 − DS cu ultimul ciclu ı̂nchis printr-un 1 − DS ; acesta este computerul, cea
mai reprezentativă structură de acest ordin; a doua componentă este un RAM care
stochează date şi programe.
Date şi programe
P ROCESOR RAM
1−DS
DATE
ADRESE
{READ,WRITE, }
WAIT
3. 4 − DS având ultimul ciclu ı̂nchis printr-un 2 − DS ; automatul de ı̂nchidere este
reprezentat printr-o stivă care conţine datele de lucru (sau secvenţe ı̂n care distincţia
dintre date şi programe nu are loc – cum este de exemplu programarea ı̂n limbajul
LISP );
Date
P ROCESOR LIF O
2−DS
DATE
{PUSH,POP, }
WAIT
4. 4 − DS cu ciclul final ı̂nchis printr-un 3 − DS ; acesta este co-procesorul (procesor
specializat ı̂n executarea performantă a anumitor funcţii critice ale sistemului).
În majoritatea cazurilor, co-procesorul este un procesor aritmetic.
Funcţii
PROCESOR CO −PROCESOR
3−DS
DATE
COMENZI
WAIT
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 165/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Ultimele două tipuri de extensii sunt maşini ı̂n care procesul de segregare este subliniat
de structura fizică (stivă sau co-procesor); ı̂n ambele cazuri structura segregată este de
asemenea simplă.
Consecinţa este aceea că ı̂ntregul sistem este de asemenea simplu.
Pe de altă parte, primele două sistem sunt foarte complexe, cu o componentă aleatoare
apreciabilă.
Aceasta are ca suport structura ROM/PLA, respectiv memoria RAM .
Conţinutul ROM -ului este iniţial definit simbolic; ulterior el este convertit ı̂n structura
circuitului respectiv (ROM sau P LA).
În schimb conţinutul RAM - ului rămâne permanent ı̂n forma simbolică, ceea ce ı̂i
conferă o mai mare flexibilitate.
fiindAceasta
cea maieste principala raţiune
reprezentativă prin
ı̂n 4 − OS . care se consideră structura (b) (Computer) ca
Acestea se mai introduc de obicei ı̂n interiorul structurii procesorului, pentru a facilita
capacitatea sa de a interpreta mai rapid (cu circuite mai simple) limbajul maşină.
O altă motivaţie este de a vedea perechea (Procesor, Co − procesor) sau (Procesor,
Lifo) ı̂ntr-un ansamblu integrat de procesor cu performanţe superioare extins printr-un
ciclu folosind un circuit RAM .
Dar, ı̂n principal aceste noi maşini rămân structurate pe funcţiile unui computer.
Funcţia unui calculator necesită cel puţin 4 cicluri, dar poate fi implementată pe orice
sistem cu mai multe cicluri.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 166/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
LIFO1
IN DIN EX T OU T 0
LIFOn−1 1 m×MU X 2 Rm
OU T DOU T EX T IN 2
S 1 S 0
{PUSH,POP, }
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 167/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 10
În arhitectura unul calculator, construcţiile componentelor la nivel de registru sau procesor
se pretează mai puţin la o analiză formală (comparativ cu nivelul circuitelor, bazate pe
porţi logice).
Motivul rezultă din dificultatea de a descrie precis comportarea sistemului dorit.
A spune că trebuie construit un calculator care să execute eficient toate programele
este o afirmaţie mult prea vagă.
Drumul parcurs a fost preluarea unei structuri standard cu performanţe cunoscute şi
modificarea ei pentru a o adapta noilor cerinţe.
Criteriile de performanţă ale unui calculator pot fi rezumate ı̂n următoarele cerinţe:
171
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 168/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
În linii mari, sistemele de calcul utilizate sunt structurate după una din schemele
următoare:
1
Reamintim – cele mai utilizate sisteme de calcul sunt micro-controllerele (Capitolul 1).
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 169/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Unitate centrală CP U
Memorie principală
Memorie cache CM M
Magistrale sistem IC N
Periferice I O D1 D2 D3 . . . Dk
3. O structură standard pentru un multi-procesor este descrisă mai jos (pentru două
procesoare). Variantele anterioare sunt cazuri particulare ale acestuia.
Reţea de
IC N
comutaţie
Periferice IO D1 D2 D3 . . . Dk
4. Structuri
conectareamai
mai complexe (de de
multor astfel exemplu reţele de calculatoare) se pot obţine prin
structuri.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 170/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Valori pentru t i se pot obţine uşor din specificaţiile C P U , dar valori cât mai corecte
pentru p i pot fi obţinute numai pe cale experimentală.
3. Performant
¸e legate de memorie .
Mărimea memoriei principale şi a memoriei cache pot oferi indicaţii (destul de vagi)
despre capacitatea sistemului.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 171/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Resurse
comune
Date Coadă Server Date
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 172/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Sarcinile sunt activate sau sosesc la momente arbitrare şi sunt stocate ı̂n coadă, până
ce sunt prelucrate de CP U .
Parmetrii cheie ai modelului sunt rata ı̂n care vin sarcinile şi rata de prelucrare; ambele
sunt măsurate ı̂n sarcini/sec .
Mediile venirii sarcinilor şi media prelucării lor sunt notate cu λ respectiv µ.
Sosirea şi procesarea variază aleator şi aceste valori medii sunt determinate prin calcule
statistice. Ultima va caracteriza comportamentul sistemului modelat.
Sosirea
dintre problemelor
sosiri ı̂n sistem este
ρI (t): probabilitatea ca un
cel proces
puţin oaleator caracterizat
problemă de distribut
să sosească ¸ia timpului
ı̂ntr-o perioadă de
timp de lungime t.
Cazul M/M/1 presupune o sosire de tip Poisson, unde probabilitatea de distribuţ ie
este
ρI (t) = 1 − e λt −
• Utilizarea lui ρ, care dă fracţiunea medie de timp cât serverul este ocupat.
• Numărul mediu de probleme aflate ı̂n coadă (atât cele care aşteaptă prelucrarea cât
şi cele care sunt ı̂n faza de procesare).
Parametrul este numit lungime medie a cozii şi este dat de formula (Robertazzi -
1994)
ρ
lQ =
1−ρ
• Timpul mediu ı̂n care problemele aşteaptă prelucrarea precum şi timpul de prelu-
crare; este numit timpul mediu de aşteptare tQ .
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 173/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Numărul mediu de probleme care aşteaptă ı̂n coadă dar nu sunt ı̂ncă procesate se
notează cu lw , iar tw este timpul mediu de aşteptare ı̂n coadă (exclusiv timpul de
prelucrare).
Utilizarea medie a unui server ı̂n sistemul M/M/1 este numărul mediu de probleme
aflate ı̂n stadiu de prelucrare, adică λ/µ.
Deci săzând acest număr din lQ se obţine lw :
λ2
lw = l Q − ρ =
µ(µ − λ)
Similar 1 λ
tw = t Q − =
µ µ(µ − λ)
unde 1/µ este timpul mediu luat de prelucrarea unei probleme.
Comparând aceste ultime două relaţii se obţine tw = lw /λ; deci ecuaţia Little are
loc şi pentru indicele w de aşteptare.
vineManagerul
rˆ
andul circa 30 minute,
societ˘
at adesea
¸ii consider˘ apentru
a c˘ probleme este
acest calculator simple de rutin˘
a.deoarece este defect
sub-utilizat,
ı̂n medie 3 ore pe zi. Nu vrea s˘ a cumpere mai multe terminale, deoarece este convins c˘ a
salariat
¸ii le vor folosi pentru jocuri sau alte probleme personale.
Aceştia – la rˆ andul lor – consider˘ a c˘
a terminalul este supra-utilizat deoarece sunt
nevoit
¸i s˘
a aştepte cel put
¸in o or˘
a fiecare pentru a avea acces la el.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 174/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
S˘
a studiem aceast˘
a problem˘
a folosind teoria cozilor, printr-un model M/M/1.
Pentru c˘
a ı̂n medie sunt 10 utilizatori ı̂n cele 8 ore de lucru, vom nota λ = 10/8
utilizatori/or˘
a = 0.0208 utilizatori/minut.
Calculatorul este ocupat ı̂n medie 5 din cele 8 ore; deci utilizarea ρ = 5/8 implic˘
a
µ = 1/30 = 0.0333.
ˆ
Inlocuind aceste valori ı̂n ultima ecuat ¸ie, se obt
¸ine tw = 50 minute, ceea ce confirm˘ a
estimarea salariat ¸ilor privind timpul lor mediu de acces la computer.
Directorul societ˘
at
¸ii este astfel convins c˘
a societatea are nevoie de terminale noi şi
accept˘
a s˘
a cumpere destule astfel ca timpul de aşteptare tw s˘
a fie redus de la 50 la 10
minute.
Pentru a studia acest aspect, vom modela fiecare terminal ı̂mpreun˘ a cu utilizatorii s˘
ai
printr-un sistem M/M/1 independent.
Fie m num˘ arul minim de posturi de lucru necesare pentru a reduce tw < 10, sau –
echivalent – tQ < 40.
Putem presupune c˘ a venirea utilizatorilor la terminale poate fi separat˘ a ı̂n m cozi.
Rata de sosire λ per terminal este λ/m = 0.0208/m utilizatori/minut.
∗
De aceea vom lua acelaşi timp mediu pentru rata de prelucrare µ = µ = 0.0333
utilizatori/minut.
Solicitarea performant
¸ei cerute duce la relat
¸ia
1 1
tQ =
∗
= < 40
µ −λ
∗
µ − m
λ
∗
de unde rezult˘
a m > 2.5.
Deci sunt necesare trei posturi de lucru, as˘
a c˘
a se face comand˘
a pentru dou˘
a terminale
noi.
De remarcat c˘ a modelul este unul pesimist, ı̂n care salariat ¸ii se ı̂mpart ı̂n trei cozi
distincte, f˘
ar˘
a leg˘
atur˘
a ı̂ntre ele, deci f˘
ar˘
a posibilitatea de a trece de la o coad˘ a la alta
cˆ
and de exemplu unul din periferice a devenit liber.
Un studiu mai complex duce la un rezultat apropiat pentru m; una din valorile m = 2
sau m = 3.
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 175/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 2:
1.
1892610 = 1001001111011102
−777210 = −1111001011100 2
7863, 1510 = 1111010110111, 001(0011)2
0, 710 = 0, 1(0110)2
2. Cele două numere sunt: 55462 şi respectiv
1 1 1 1 1 219
2217 + + + + + = 2217 + = 2217, 211914 . . .
8 16 64 128 1024 1024
3. Vom lucra cu reprezentarea binară pe 16 biţi (primul bit fiind bit de semn).
Pentru verificare: rezultatul fiind negativ (bitul de semn este 1), valoarea sa
absolută este complementul la 2; după ce scădem 1 şi complementăm biţii, se
obţine 0010011101101101 = 1009310.
179
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 176/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
0010011010000110+0100111001001011+1011011110001000 = 0010110001011001
85
= 2 2 + 2 4 + 2 6 + 2 8 = 0, 010101012 = 1, 010101 · 2
− − − − −2
256
6. Pentru primul număr: C = 12 + 127 = 139 10 = 100010112 , f = 100101011001.
Deci reprezentarea lui 6489 ca număr real pe 32 biţi este
Pentru uşurinţă, aceste reprezentări se scriu ı̂n hexazecimal. Sub această formă,
numărul este 45 C A C 8 00.
Pentru al doilea număr: C = −4 + 127 = 12310 = 011110112 ,
f = 10011001100110011001100. Deci reprezentarea lui −0, 1 ca număr real pe 32
biţi este
1011 1101 1100 1100 1100 1100 1100 1100
sau – ı̂n hexazecimal: BD CC CC CC .
În mod similar se rezolvă şi restul exerciţiului.
−109
7. 2 (2+2 2 +2 3 +2 5 +2 7 +2 8 +2
− − − − − −10
+2 −14
+2 −15
+2 −17
+2 −19
+2 −21
+2 −23
+2 −24
).
180
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 177/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 3:
1. Aplicăm pe rând axiomele 7, 9 şi 6 din Definiţia algebrelor booleene şi obţinem
a ∨ (a ∧ b) = (a ∨ a) ∧ (a ∨ b) = 1 ∧ (a ∨ b) = a ∨ b
5. Primele patru proprietăţi din Propoziţia 3.1 se verifică prin calcul simplu.
Proprietatea 5: a ⊕ b = c =⇒ a ⊕ a ⊕ b = a ⊕ c =⇒ 0 ⊕ b = a ⊕ c =⇒ b = a ⊕ c
Proprietatea 6: a ⊕ b ⊕ c = (a ⊕ b) ⊕ c = c ⊕ c = 0
Proprietatea 7: (a ∧ b) ⊕ (a ∧ c) = [(a ∧ b) ∧ (a ∧ c)] ∨ [(a ∧ b) ∧ (a ∧ c)] = [(a ∨ b) ∧
(a ∧ c)] ∨ [(a ∧ b) ∧ (a ∨ c)] = [(a ∧ a ∧ c) ∨ (b ∧ a ∧ c)] ∨ [(a ∧ a ∧ b) ∨ (c ∧ a ∧ b)] =
(a ∧ b ∧ c) ∨ (a ∧ b ∧ c) = a ∧ [(b ∧ c) ∨ (b ∧ c)] = a ∧ (b ⊕ c)
Propoziţia 3.2:
(1) : a ⊕ b = (a ∧ b) ∨ (a ∧ b) = (a ∧ b) ∧ (a ∧ b) = (a ∨ b) ∧ (a ∨ b) = a ∼ b
(2) : a ∼ b = (a ∨ b) ∧ (a ∨ b) = (a ∨ b) ∧ (a ∨ b) = a ∼ b
Propoziţia 3.3: Implicaţiile (3) =⇒ (1), (3) =⇒ (2) sunt banale.
(1) =⇒ (2) : a ∼ b = a ⊕ b = 0 = 1
(2) =⇒ (3) : Presupunem (a ∨ b) ∧ (a ∨ b) = 1. De aici se obţine (exerciţiu)
a ∨ b = 1 şi a ∨ b = 1 deci (Exerciţiul 3) a ≤ b şi b ≤ a =⇒ a = b.
7. -
181
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 178/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
f 15 f 14 f 13 f 12 f 11 f 10 f 9 f 8 f 7 f 6 f 5 f 4 f 3 f 2 f 1 f 0
f 0 4 3 3 2 3 2 2 1 3 2 2 1 2 1 1 0
f 1 3 4 2 3 2 3 1 2 2 3 1 2 1 2 0
f 2 3 2 4 3 2 1 3 2 2 1 3 2 1 0
f 3 2 3 3 4 1 2 2 3 1 2 2 3 0
f 4 3 2 2 1 4 3 3 2 2 1 1 0
f 5 2 3 1 2 3 4 2 3 1 2 0
f 6 2 1 3 2 3 2 4 3 1 0
f 7 1 2 2 3 2 3 3 4 0
f 8 3 2 2 1 2 1 1 0
f 9 2 3 1 2 1 2 0
f 10 2 1 3 2 1 0
f 11 1 2 2 3 0
f 12 2 1 1 0
f 13 1 2 0
f 14 1 0
f 15 0
10. -
Capitolul 4:
182
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 179/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a b a
a
b
a a∨b a∧b
a
b
a a∧b a∨b
3.
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
x
y 10 01 01 10 00 10 11 01
4. Din tabelul de valori se determină imediat forma normal disjunctivă:
Circuitul:
183
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 180/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
b
c
f (a,b,c)
a
5. Un circuit bazat direct pe forma normală a funcţiei este:
a
b
c
f (a,b,c)
O variantă de simplificare este:
a
f (a,b,c)
c
b
a
184
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 181/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a
f (a, b)
b
Capitolul 5:
1. Se aduc cele trei expresii ale funcţiei f (x,y,z ) = (f 1 (x,y,z ), f 2 (x,y,z ), f 3 (x,y,z ))
la forma normal disjunctivă:
f 1 (x,y,z ) = xyz + xyz + xyz + xy z + x yz ,
f 2 (x,y,z ) = xyz + xyz + xyz + xyz + xy z ,
f 3 (x,y,z ) = xyz + xyz + xyz + xy z + x yz .
Circuitul codificator este:
y0
y1
y2
y3
DC D3 y4
y5
y6
y7
x
y
z
f 1
f 2
f 3
185
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 182/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
f (x,y,z ) 1 0 0 1 0 1 0 0
y0
y1
y2
y3
DCD3 yy4
5
y6
y7
x
y
z
f (x,y,z )
sau – dacă detaliem şi decodificatorul:
x
y
z
)
f (x,y,z
186
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 183/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
x
y
z
z 2 z 1 z 0
4. O funcţie booleană de cinci variabile care să implementeze condiţia trebuie să aibă
f (1, 1, 1, 1, 1) = f (1, 1, 1, 0, 0) = f (1, 1, 0, 1, 0) = f (1, 1, 0, 0, 1) = f (1, 0, 1, 1, 0) =
f
f ((1,
0, 0,
0, 1,
1, 0,
1, 1) = 1f (1,
1) = 1, 1) = f (0, 1, 1, 1, 0) = f (0, 1, 1, 0, 1) = f (0, 1, 0, 1, 1) =
şi 00,ı̂n0,rest.
O astfel de funcţie ı̂n forma normală se scrie imediat, din care reiese codificatorul
(am trasat numai ieşirile utile din DCD5 , care intră ı̂n poarta OR11:
y7
5
y11
y13
y14
y19
(x4, x3, x2, x1, x0 ) DCD5 y21
y22
y25
y26
y28
31
5. Mulţimea numerelor din intervalul [0, 26 −1] divizibile cu 4 este A = {0, 4, 8, 12, 16, 20,
24, 28, 32, 36, 40, 44, 48, 52, 56, 60} (ı̂n total 16). Se construieşte un DCD6 ı̂n care
ieşirile yi cu i ∈ A sunt conectate la o poartă OR16, din care iese rezultatul final.
187
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 184/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
6. O simplă particularizare:
x1
x0
E
7. O construcţie directă este:
y0
y1
y2
y3
DCD3 y4
y5
y6
y7
i0 i1 i2 i3 i4 i5 i6 i7
x2
x1
x0
y
188
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 185/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
sum 0 1 1 0 1 0 0 1
0
i0 i1 i2 i3 i 4 i5 i6 i7
1
a MU X 3
b
c
y
9. -
10. -
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
f (x,y,z ) 1 1 0 1 1 1 1 1
y0
y1
DC D3
y2
y3
y4
y56
y7
x
y
z
189
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 186/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
f (x,y,z )
i 0 i1
y EMUX
y
1
x i0 E M U X i1
y
f (x,y,z )
12. -
13. Tabela de valori obţinută este (am introdus şi rezultatele parţiale):
190
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 187/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
x0 x1 x2 x3 s1 s2 c1 c2 s c
0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 1 0
0 0 1 0 0 1 0 0 1 0
0 0 1 1 0 0 0 1 1 0
0 1 0 0 1 0 0 0 1 0
0 1 0 1 1 1 0 0 0 1
0 1 1 0 1 1 0 0 0 1
0 1 1 1 1 0 0 1 0 1
1 0 0 0 1 0 0 0 1 0
1 0 0 1 1 1 0 0 0 1
1 0 1 0 1 1 0 0 0 1
1 0 1 1 1 0 0 1 0 1
1 1 0 0 0 0 1 0 0 1
1 1 0 1 0 1 1 0 0 1
1 1 1 0 0 1 1 0 0 1
1 1 1 1 0 0 1 1 1 0
i1 i0 i1 EM U X i0 i1 EM U Xi0
EP E
Z y2 y1 y0
191
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 188/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
i6 i5 i4 i3 i2 i1 i0
0
i3 i2 i1 i0 i3 i2 i1 i0
Z Z
2
E y1 EP E y0
Z
E
EP E
y1 y0
2
y2 y1 y0
a3 a2 a1 a0
0
i1 i0 i1 i0 i1 i0 i1 i0
EM U X EM U X EM U X EM U X
s0
y3 y2 y1 y0
i1
EM U X
i0
i1
EM U X
i0
i1
EM U X
i0
i1
EM U X
i0
s0
y3 y2 y1 y0
192
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 189/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
P 0
P 1
P 2
P 3
G0
G1
G2
G3
c0
c1
c2
c3
c4
4 − CA
< = >
< = >
18. Circuitul:
193
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 190/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
X Y
4 4
4 − FA
< = >
19. Un P LA pentru funcţie:
x
y
z
f 1
f 2
f 3
Pentru circuitul P ROM este nevoie de tabela de valori (sau – echivalent – de forma
normal disjunctivă):
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
f 1 1 1 1 1 0 0 0 1
f 2 0 1 0 0 1 1 1 1
f 3 0 0 1 0 1 1 1 1
x
y
z
f 1
f 2
y0 y1 y2 y3 y4 y5 y6 y7
f 3
194
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 191/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Capitolul 6:
1. Se foloseşte faptul că a > b este echivalent cu a + b > 11 . . . 1. Deci se testează bitul
de semn al sumei a + b. Acesta va fi selectorul a n multiplexori elementari, care
triază ı̂ntre biţii numărului a şi cei ai numărului b.
b
a
n
n
n
n
i1 i0
n × EMUX cout ADDn c0
n
max{a, b}
2. Fără a restrânge generalitatea, putem considera an = 1.
Circuitul este format dintr-un registru serial SR n (format din n DFF -uri) şi cel
mult n − 1 porţi XOR.
O reprezentare a circuitului este
...
an−1
an−2
a1
a0
b0 b1 . . . bk DF F DF F ... DF F
CK
Un arc marcat cu ai este suspendat dacă ai = 0 (iar poarta XOR in care intră
acesta poate fi eliminată). Dacă ai = 1, atunci acesta este un arc normal.
3. -
4. O soluţie posibilă este:
x
DF F CK
Y
195
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 192/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
DF F
DF F
FA
c s
Capitolul 7:
1. Componentele din definiţie se construiesc uşor: Q = {0, 1}2 , X = {0, 1}, Y = {0, 1}
δ 0 1 λ 0 1
00 00 01 00 00 01
01 01 10 01 01 10
10 10 11 10 10 11
11 11 00 11 11 00
(funcţiile de tranziţie şi de ieşire coincid). Graful de funcţionare este:
0/00
00
1/01
01
0/01
1/00
1/10
0/11 11 0/10
10
1/11
2. Se particularizează counterul din curs pentru n = 3, sau – eventual – se foloseşte
exemplul de la sumatorul prefix.
196
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 193/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
0 x1 x0
ADD3 c0
R3 CK
s2 s1 s0
Acest automat are Q = {0, 1}3 , X = {0, 1}2, Y = {0, 1}3 , iar funcţiile sunt
λ(abc, xyz ) = abc pentru ieşire şi
δ 00 01 10 11
000 000 001 010 011
001 001 010 011 100
010 010 011 100 101
011 011 100 101 110
100 100 101 110 111
101 101 110 111 000
110 110 111 000 001
111 111 000 001 010
pentru transfer.
5. Componentele automatului sunt: Q = {0, 1}, X = {0, 1}2 , Y = {0, 1},
δ 00 01 10 11 λ 00 01 10 11
0 0 0 0 1 0 0 1 1 0
1 1 1 1 0 1 1 0 0 1
De remarcat că automatul diferă diferă de cel anterior numai prin funcţia de transfer.
Graful de funcţionare se construieşte imediat.
197
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 194/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
0/00
q 0
1/11
0/11
q 1
1/00
q
1/01
1/10
0/01
3 q 2
0/10
Notăm stările q i cu reprezentarea ı̂n baza 2 a lui i. Pentru cele patru stări sunt
suficienţi doi biţi.
Deci: X = {0, 1}, Q = Y = {0, 1}2 şi (am notat cu x bitul de intrare curent)
δ 0 1 Q+
1 Q+0 λ 0 1 Y 1 Y 0
00 00 01 0 x 00 00 11 x x
01 01 10 x x 01 11 10 1 x
10 10 11 1 x 10 10 01 x x
11 11 00 x x 11 01 00 0 x
De aici rezultă forma funcţiilor de tranziţie şi de ieşire:
δ (Q1 Q0 , x) = (Q1 Q0 x + Q1 Q0 x + Q1 Q0 , Q0 x + Q0 x)
λ(Q1 Q0, x) = (Q1 Q0 x + Q1 Q0 x + Q1 Q0 , Q0 x + Q0x)
x
Q
DF F 1 D
Q
Q
Q
DF F 0
D
Y 1
CK
Y 0
7. Din reprezentarea grafică rezultă X = {0, 1}, Q = Y = {0, 1}2 şi
δ 0 1 λ 0 1
00 00 10 00 00 10
01 11 00 01 10 01
10 00 11 10 10 01
11 10 00 11 01 11
198
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 195/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Q
DF F 0 D
Q
Y 1
CK
Y 0
199
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 196/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
x
Q
Q
DF F 1
J
K
Q
Q
DF F 0
J
K 1
Y 1
Y 0
CK
10. -
11. Folosind cunoştinţe de limbaje formale, se poate construi automatul care acceptă
secvenţe binare marcând orice apariţie de două zerouri consecutive:
1/0
0/0
0/1
q 1
1/0
q 0 q 2
0/0
1/0
Ieşirea este legată apoi de un counter crescător pe 3 biţi (eventual cel construit la
exerciţiul 1).
Din graful de tranziţie rezultă tabelele de valori ale celor două funcţii:
200
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 197/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
δ 0 1 Q+
1 Q+0 λ 0 1 Y +
00 01 00 0 x 00 0 0 0
01 01 10 x x 01 1 0 x
10 01 00 0 x 10 0 0 0
Deci
δ (Q1 Q0 , x) = (Q0 x, x), λ(Q1Q0, x) = Q 0x
Un circuit care rezolvă problema este:
x
Q DF F 1 D
Q
Q
DF F 0 D
Q Y COUNT 3
CK
Observaţii:
(a) O analiză a automatului arată că unul din cele două DF F nu este utilizat.
Deci el se poate reduce, fapt care revine formal la ideea că stările q 0 şi q 2 sunt
echivalente – deci ele se pot identifica. Se obţ ine automatul
1/0
0/0
0/1
q 0 q 1
1/0 1/0
a cărui implementare utilizează un singur DF F .
(b) O soluţie interesantă – primită de la mulţi studenţi – este:
CK
x DF F DF F
Y
201
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 198/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Eroarea constă ı̂n faptul că ı̂n fază iniţială automatul este resetat şi ambele
DF F conţin valoarea 0. Deci atunci când va ı̂ncepe să funcţioneze, automatul
va scoate 1 ca primă valoare (deşi nu a primit ı̂ncă nici un bit), ceea ce va
afecta valoarea counterului.
12. A se vedea soluţia anterioară, ı̂n care se construieşte un COUNT 3 folosind numai
DF F -uri.
13. -
202
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 199/200
5/20/2018 Arhite c tura Siste me lor de Ca lc ul (Adr ia n Ata na siu) - slide pdf.c om
Bibliografie
2. Hayes. J.P. - Introduction to Digital Logic Design , Reading MA, Addison Wesley,
1993
5. Ştefan Gh. - Circuit Complexity, Recursion, Grammars and Information , Ed. Univ.
Transilvania, Braşov, 1997
6. http://plato.stanford.edu/entries/church-turing/
7. http://www.unicode.org
8. http://computer.howstuffworks.com/boolean.htm
9. http://www.play-hookey.com/digital/electronics/
203
http://slide pdf.c om/re a de r/full/a rhite c tura -siste me lor-de -c a lc ul-a dr ia n-a ta na siu 200/200