Documente Academic
Documente Profesional
Documente Cultură
Curs3 PDF
Curs3 PDF
87
Arhitectura calculatoarelor şi sisteme de operare - partea I
Circuit secvenţial
• ieșirea la orice moment depinde de
– intrare
– starea internă
• deci pentru aceeași intrare se pot obţine
valori diferite la ieșire, la momente diferite
• starea internă
– este memorată de către circuit
– evoluează în timp
88
Arhitectura calculatoarelor şi sisteme de operare - partea I
Diagrama bloc
89
Arhitectura calculatoarelor şi sisteme de operare - partea I
Evoluţia stării
• starea se modifică la anumite momente
– sincron: la intervale regulate de timp
• date de un semnal special (ceas)
– asincron: la momentul apariţiei unui eveniment
• evenimentele sunt definite în funcţie de activitatea
circuitului
– de ce nu se modifică permanent?
• transmiterea semnalului prin porţi şi prin liniile de
comunicare se face cu întârzieri
• semnalele - luate în considerare după stabilizare
90
Arhitectura calculatoarelor şi sisteme de operare - partea I
Ceasul
• semnal periodic
– ciclu activ - procentajul din perioadă în care
semnalul este activ
– depinde de ce înseamnă semnal activ
• pe nivel (0 sau 1)
• pe front (trecerea de la 0 la 1 sau invers)
• durata perioadei
– suficient de mare pentru a avea intrări stabile
91
Arhitectura calculatoarelor şi sisteme de operare - partea I
Implementare
• cea mai simplă variantă
– esenţială este conexiunea inversă
94
Arhitectura calculatoarelor şi sisteme de operare - partea I
Bistabil
• cum trebuie să arate un circuit care
implementează bitul?
• specificații
– să se poată scrie în el un 0 sau un 1
– să memoreze acea valoare până la scrierea
alteia
– să se poată citi ultima valoare scrisă
• nu poate fi circuit combinaţional
(memorare)
95
Arhitectura calculatoarelor şi sisteme de operare - partea I
96
Arhitectura calculatoarelor şi sisteme de operare - partea I
Stări stabile
• în principiu, (Q,P) se
modifică permanent
• dar atunci când qp\RS 00 01 11 10
(Q,P)=(q,p), avem o 00 11 10 00 01
stare stabilă 01 01 00 00 01
– dorim identificarea 11 00 00 00 00
acestor stări 10 10 10 00 00
– circuitul poate fi
controlat dacă trece
doar prin stările stabile
99
Arhitectura calculatoarelor şi sisteme de operare - partea I
Funcționare (1)
stare inițială (q,p) evoluție (q,p) concluzie
R=0, S=1
00 00 10 stabil
01 01 00 10 stabil circuitul evoluează
întotdeauna spre starea
10 10 stabil stabilă (Q,P)=(1,0)
11 11 00 10 stabil
R=1, S=0
00 00 01 stabil
01 01 stabil circuitul evoluează
întotdeauna spre starea
10 10 00 01 stabil stabilă (Q,P)=(0,1)
11 11 00 01 stabil
100
Arhitectura calculatoarelor şi sisteme de operare - partea I
Funcționare (2)
stare inițială (q,p) evoluție (q,p) concluzie
R=0, S=0
00 00 11 00 ...
pentru q=p, circuitul
01 01 stabil oscilează la infinit
10 10 stabil pentru qp, circuitul își
păstrează starea (stabilă)
11 11 00 11 ...
R=1, S=1
00 00 stabil
01 01 00 stabil circuitul evoluează
întotdeauna spre starea
10 10 00 stabil stabilă (Q,P)=(0,0)
11 11 00 stabil
101
Arhitectura calculatoarelor şi sisteme de operare - partea I
Funcționare (3)
• reamintim condiția P Q
(R,S)=(0,0): păstrare stare existentă
(memorare)
(R,S)=(0,1): stabilizare la Q=1 (set)
(R,S)=(1,0): stabilizare la Q=0 (reset)
(R,S)=(1,1): combinație interzisă
– deoarece P=Q - nu implementează un bit
102
Arhitectura calculatoarelor şi sisteme de operare - partea I
103
Arhitectura calculatoarelor şi sisteme de operare - partea I
Latch RS cu ceas
q(=Qt) R S Qt+1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 *
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 *
104
Arhitectura calculatoarelor şi sisteme de operare - partea I
Latch D
• modelează doar situaţiile RS
• elimină combinaţiile interzise
• aici ieșirea nu depinde de fapt de starea anterioară
q(=Qt) D Qt+1
0 0 0
0 1 1
1 0 0
1 1 1
105
Arhitectura calculatoarelor şi sisteme de operare - partea I
Latch JK
• elimină combinaţia imposibilă de la bistabilul RS
q(=Qt) J K Qt+1
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
106
Arhitectura calculatoarelor şi sisteme de operare - partea I
Latch T
• derivat din bistabilul JK
• modelează doar situaţiile J=K
q(=Qt) T Qt+1
0 0 0
0 1 1
1 0 1
1 1 0
107
Arhitectura calculatoarelor şi sisteme de operare - partea I
Evoluţia stărilor
R S Qt+1 J K Qt+1
0 0 Qt neschimbat 0 0 Qt neschimbat
0 1 1 scriere 1 0 1 0 scriere 0
1 0 0 scriere 0 1 0 1 scriere 1
1 1 * interzis 1 1 Qt inversare
D Qt+1 T Qt+1
0 0 scriere 0 0 Qt neschimbat
1 1 scriere 1 1 Qt inversare
108
Arhitectura calculatoarelor şi sisteme de operare - partea I
109
Arhitectura calculatoarelor şi sisteme de operare - partea I
Temă
110
Arhitectura calculatoarelor şi sisteme de operare - partea I
Flip-flop
111
Arhitectura calculatoarelor şi sisteme de operare - partea I
Flip-flop master-slave D
112
Arhitectura calculatoarelor şi sisteme de operare - partea I
114
Arhitectura calculatoarelor şi sisteme de operare - partea I
Regiştri
• un circuit bistabil controlează un singur bit
– nu foarte util în practică
• putem utiliza mai mulţi bistabili simultan
– toţi primind acceași comandă
– un asemenea circuit se numește registru
• tipuri de regiştri
– paraleli
– cu deplasare (seriali)
115
Arhitectura calculatoarelor şi sisteme de operare - partea I
Registru paralel
• implementare cu
bistabili D
– pot fi latch sau flip-
flop, după necesităţi
• aceeași comandă
(ceas)
– toţi bistabilii se
modifică la aceleași
momente
• extinderea bistabilului
116
Arhitectura calculatoarelor şi sisteme de operare - partea I
117
Arhitectura calculatoarelor şi sisteme de operare - partea I
118
Arhitectura calculatoarelor şi sisteme de operare - partea I
Registru universal
• intrări și ieşiri seriale sau paralele
• deplasare spre stânga sau spre dreapta
• pot fi folosite cele care sunt necesare la un moment dat
s0 s1 funcţie
0 0 nemodificat
0 1 deplasare dreapta
1 0 deplasare stânga
1 1 încărcare paralelă
119
Arhitectura calculatoarelor şi sisteme de operare - partea I
122
Arhitectura calculatoarelor şi sisteme de operare - partea I
Exemplu: n=4
starea curentă starea următoare starea curentă starea următoare
q3 q2 q1 q0 d3 d2 d1 d0 q3 q2 q1 q0 d3 d2 d1 d0
0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1
0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0
0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1
0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0
0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1
0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0
0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1
0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0
123
Arhitectura calculatoarelor şi sisteme de operare - partea I
Exemplu: n=4
• prin minimizare se obţin ecuaţiile
d0 q0 q0 1
d1 q1 q 0 q1 q 0 q1 q 0
d 2 q 2 q1 q 0 q 2 q1 q 2 q 0 q 2 q1 q 0
d 3 q 3 q 2 q1 q 0 q 3 q 2 q 3 q1 q 3 q 0
q 3 q 2 q1 q 0
– implementarea stării - cu flip-flop-uri D
124
Arhitectura calculatoarelor şi sisteme de operare - partea I
Implementare
125
Arhitectura calculatoarelor şi sisteme de operare - partea I
Microprogramare (1)
Microprogramare (2)
• implementarea părții combinaționale
– se pornește tot de la tabelul de adevăr
– în fiecare locație se scriu valorile dorite pentru
ieșire
• avantaj - flexibilitate
– orice modificare a automatului implică doar
rescrierea conținutului memoriei ROM
• dezavantaj - viteză redusă
– memoria ROM este mai lentă decât porțile
127
Arhitectura calculatoarelor şi sisteme de operare - partea I
Același exemplu
• avem 16 (= 24) stări
– codificate pe 4 biți de stare
• deci circuitul ROM va avea
– 24 adrese 4 biți de adresă
• 16 locații
– 4 biți de date locații de 4 biți
– în acest exemplu nu avem variabile de intrare și
ieșiri ale sistemului care să se adauge la biții de
stare
128
Arhitectura calculatoarelor şi sisteme de operare - partea I
Implementare
130
Arhitectura calculatoarelor şi sisteme de operare - partea I
131
Arhitectura calculatoarelor şi sisteme de operare - partea I
Reprezentări elementare
• date numerice
– numere întregi, raționale
– doar anumite submulțimi ale acestora
• date alfa-numerice
– caractere etc.
• instrucțiuni
– singurele specifice fiecărui sistem
– deci nestandardizate și neportabile
133
Arhitectura calculatoarelor şi sisteme de operare - partea I
Studiul reprezentărilor
• reprezentări numerice
repr(n1) op repr(n2) = repr(n1 op n2) ???
• exemplu - dacă adunăm două variabile
întregi, rezultatul va fi scris corect?
• erori de reprezentare
– aproximări
– depășiri
134
Arhitectura calculatoarelor şi sisteme de operare - partea I
Transmiterea informațiilor
• între diverse medii
– între calculatoare/sisteme
– între componente ale aceluiași calculator/sistem
• pot apărea erori de transmisie
– datorită perturbărilor/funcționării incorecte
– semnal digital - unii biți sunt inversați
– se dorește detectarea apariției acestor erori
– și chiar corectarea lor, unde e posibil
135
Arhitectura calculatoarelor şi sisteme de operare - partea I
Moduri de detectare/corectare
• adăugarea de biți suplimentari redundanți
• paritate - 1 bit suplimentar
– permite detecția apariției unei erori (pe 1 bit)
– paritate (im)pară: număr total (im)par de biți 1
• cod Hamming
– 4 biţi de informaţie, 3 biţi suplimentari
– permite detectarea/corecţia mai multor erori
simultan
136
Arhitectura calculatoarelor şi sisteme de operare - partea I