View
249
Download
5
Category
Preview:
DESCRIPTION
Circuite Logice Counters Registers
Citation preview
Copyright Paul GASNERCopyright Paul GASNER
2. Circuite logice2. Circuite logice2.10. Numrtoare i 2.10. Numrtoare i
regitriregitri
Copyright Paul GASNERCopyright Paul GASNER 2
IntroducereIntroducereContoarele sau numrtoarele (counters) sunt circuite secveniale specialeValoarea la ieire este incrementat cu 1 la fiecare tactDup un numr de incrementri, ieirea contorului revine la 0La un contor pe doi bii strile sunt:
Stare curent Next StateA B A B0 0 0 10 1 1 01 0 1 11 1 0 0
00 01
1011
1
11
1
Copyright Paul GASNERCopyright Paul GASNER 3
Counter pe 2 biiCounter pe 2 biiIeirile numrtorului sunt 00, 01, 10 i 11Circuitul are o singur intrare X:
X=0 la fiecare ciclu ieirea este incrementat cu 1X=1 la fiecare ciclu ieirea este decrementat cu 1
Sunt 4 stri posibile, deci sunt necesare dou flip-flop
00 01
1011
Copyright Paul GASNERCopyright Paul GASNER 4
Diagrama logicDiagrama logicDiagrama logic i tabela de stri complet:
00 01
1011
0
0
0
10 1
1
1
Stare curent Inputs Next StateQ1 Q0 X Q1 Q00 0 0 0 10 0 1 1 10 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 01 1 1 1 0
Copyright Paul GASNERCopyright Paul GASNER 5
Intrrile n flip-flop tip D i ecuaiiIntrrile n flip-flop tip D i ecuaiiValoarea de intrare este chiar starea urmtoare dorit pentru flip-flopEcuaiile finale se obin dup simplificare
Stare curent Inputs Next StateQ1 Q0 X Q1 Q00 0 0 0 10 0 1 1 10 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 01 1 1 1 0
Q00 1 0 1
Q1 1 0 1 0X
Q01 1 0 0
Q1 1 1 0 0X
D1 = Q1 Q0 X
D0 = Q0
Copyright Paul GASNERCopyright Paul GASNER 6
Circuitul finalCircuitul finalQ0' poate fi preluat direct de la ieirea circuitului FFDac Reset=1, contorul numr n mod normalDac Reset=0, contorul trece imediat n starea 00
Copyright Paul GASNERCopyright Paul GASNER 7
Intrrile n flip-flop tip JKIntrrile n flip-flop tip JK
Se utilizeaz tabela de excitareQ(t) Q(t+1) J K
0 0 0 x0 1 1 x1 0 x 11 1 x 0
Stare curent Inputs Next State Flip flop inputsQ1 Q0 X Q1 Q0 J1 K1 J0 K00 0 0 0 1 0 x 1 x0 0 1 1 1 1 x 1 x0 1 0 1 0 1 x x 10 1 1 0 0 0 x x 11 0 0 1 1 x 0 1 x1 0 1 0 1 x 1 1 x1 1 0 0 0 x 1 x 11 1 1 1 0 x 0 x 1
Copyright Paul GASNERCopyright Paul GASNER 8
Ecuaiile intrrilor n flip-flopsEcuaiile intrrilor n flip-flops
Se caut ecuaiile pentru cele 4 intrri n FFSe obine:
J1 = K1 = Q0' X + Q0 X'J0 = K0 = 1
Stare curent Inputs Next State Flip flop inputsQ1 Q0 X Q1 Q0 J1 K1 J0 K00 0 0 0 1 0 x 1 x0 0 1 1 1 1 x 1 x0 1 0 1 0 1 x x 10 1 1 0 0 0 x x 11 0 0 1 1 x 0 1 x1 0 1 0 1 x 1 1 x1 1 0 0 0 x 1 x 11 1 1 1 0 x 0 x 1
Copyright Paul GASNERCopyright Paul GASNER 9
Counter cu flip-flop tip JK ni RSCounter cu flip-flop tip JK ni RSni RS intrrile directe RS sunt neinversate, adic active-susDac Reset=0, counterul numr normalDac Reset=1 counterul se reseteaz la 00 imediat
Copyright Paul GASNERCopyright Paul GASNER 10
Stri neutilizateStri neutilizateDe obicei, la 2n stri sunt necesare n FF; uneori exist stri neutilizateDe exemplu, un numrtor de la 0(000) la 5(101)
Stare curent Next StateQ2 Q1 Q0 Q2 Q1 Q00 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 ? ? ?1 1 1 ? ? ?
001
010
011
100
101
000
Copyright Paul GASNERCopyright Paul GASNER 11
Stri neutilizate...Stri neutilizate...Pentru a obine un circuit ct mai simplu, strile neutilizate se marcheaz ca indiferenteDac circuitul ajunge din ntmplare n una dintre strile neutilizate 110 sau 111, comportamentul su depinde de exact ceea ce este nscris n starea indiferent
001
010
011
100
101
000Stare curent Next StateQ2 Q1 Q0 Q2 Q1 Q00 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 x x x1 1 1 x x x
Copyright Paul GASNERCopyright Paul GASNER 12
...sau utilizate...sau utilizatePentru a obine un o funcionare sigur, trebuie completate explicit i strile indiferenteChiar dac circuitul ajunge din ntmplare ntr-o stare neutilizat, el va trece ntr-o stare utilizatDe exemplu contor cu iniializare
Stare curent Next StateQ2 Q1 Q0 Q2 Q1 Q00 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 0 0 01 1 1 0 0 0
001
010
011
100
101
000
111110
Copyright Paul GASNERCopyright Paul GASNER 13
NumrtoareNumrtoareNumrtor minimal pe 4 bii: numr de la 0000 la 1111 (0 la 15) doar incrementare cu 1 la fiecare cicluNumrtor complet pe 4 bii:
incrementare i decrementare UP resetare asincron la 0000 CLR=0 setare la orice valoare dorit prin D3...D0 i LD=0 intrare activare activ-jos EN counter out CO normal 1, iar cnd numrtorul trece de valoarea maxim devine 0
Copyright Paul GASNERCopyright Paul GASNER 14
Numrtor pe 8 biiNumrtor pe 8 biiNumrtorul pe 8 bii poate fi obinut din dou numrtoare pe 4 bii
contorul de jos conine cei 4 bii mai puin semnificativicnd contorul de jos atinge 1111, CO trece n 0 i activeaz cellalt contor timp de o perioad
Contoarele partajeaz semnalele de ceas i de resetare (clear)Afioarele sunt cifre hexa
Copyright Paul GASNERCopyright Paul GASNER 15
Numrtor pe 4 bii cu limitareNumrtor pe 4 bii cu limitareCnd CO trece n 0, numrtorul este forat s nregistreze valoarea 0110 (D3...D0), dup care trece n regim normal de numrareIntervalul de numrare este 0110 1111
Copyright Paul GASNERCopyright Paul GASNER 16
Numrtor pe 4 bii cu limitareNumrtor pe 4 bii cu limitareCnd numrtorul atinge valoarea 1100, poarta NAND foreaz trecerea la valoarea 0000Intervalul de numrare este 0000 1100
Copyright Paul GASNERCopyright Paul GASNER 17
Numrtoare. ConcluziiNumrtoare. ConcluziiFuncia de baz a numrtorului este de incrementare, dar se pot efectua i alteleToate procesoarele conin un program counter (PC)
un program const dintr-o list de instruciuniPC este asociat listei de instruciuni i asigur execuia instruciunii curente PC se incrementeaz cu 1 dup execuia fiecrei instruciuni i asigur execuia instruciunii urmtoare
Copyright Paul GASNERCopyright Paul GASNER 18
Regitri. IntroducereRegitri. Introducere
Circuitele flip-flop sunt limitate la un singur bitStocare de bii multipli se realizeaz cu regitriUtilizarea imediat este stocarea temporar a datelor n procesor
Copyright Paul GASNERCopyright Paul GASNER 19
Componente de bazComponente de bazCea mai simpl modalitate de construcie a unui registru este de a combina mai multe FFExemplu: registru de baz pe 4 bits impementat cu flip-flop D
Copyright Paul GASNERCopyright Paul GASNER 20
Funcia de stocareFuncia de stocareBiii D3...D0 sunt copiai la ieire Q3...Q0 la fiecare ciclu de ceasEste necesar o nou funcie load, activat prin intrarea LD, care:
LD = 0 registrul pstreaz la ieire valoarea curentLD = 1 registrul stocheaz valoarea de la D3...D0
L D Q ( t + 1 )0 Q ( t )1 D 3 - D 0
Copyright Paul GASNERCopyright Paul GASNER 21
Implementarea stocrii paraleleImplementarea stocrii paraleleSe poate insera o poart pe intrarea de ceas:
dac LD=1, porturile de activare C ale FF sunt n 1 i FF i vor pstra starea (valoarea curent) deoarece nu mai exist front cresctor dat de CLKdac LD=0, semnalul CLK ajunge la FF i la fronturile pozitive ele vor stoca valoare D3...D0
Copyright Paul GASNERCopyright Paul GASNER 22
Clock gatingClock gatingAceast implementare se numete clock gating, deoarece semnalul de ceas trece printr-o poart
apare problema de sincronizare de la latch, LD trebuie s fie 1 exact o perioad de ceasntrziere de la poarta ORntr-un circuit complex, semnalul de ceas ajunge la momente de timp diferite la componente amplasate la diferite distanesemnalul de ceas poate fi deformat
Copyright Paul GASNERCopyright Paul GASNER 23
Stocarea paralelStocarea paralelEste preferabil modificarea intrrilor n FF tip D
dac LD=0, intrrile n FF sunt chiar valorile de la ieire Q3...Q0 i deci valorile stocate se pstreazdac LD=1, intrrile FF sunt D3...D0 i noile valori vor fi ncrcate (stocate)
Copyright Paul GASNERCopyright Paul GASNER 24
Regitri de deplasareRegitri de deplasareUn registru de deplasare (shift register) i deplaseaz biii la ieire la fiecare ciclu de ceas
SI este intrarea prin care se ncarc un nou bitDac la momentul t starea este:
SI = 1Q0-Q3 = 0110
urmtoarea stare va fiQ0-Q3 = 1011
iar valoarea curent a lui Q3 se pierde
Q0(t+1)= SIQ1(t+1) = Q0(t)Q2(t+1)= Q1(t)Q3(t+1)= Q2(t)
Copyright Paul GASNERCopyright Paul GASNER 25
Direcia de deplasareDirecia de deplasaren acest caz, biii se deplaseaz spre dreapta
Dac se consider c cel mai semnificativ bit este Q3 iar cel mai puin semnificativ este Q0, registrul execut deplasarea spre stnga
Q0(t+1)= SIQ1(t+1) = Q0(t)Q2(t+1)= Q1(t)Q3(t+1)= Q2(t)
Q0...Q3 curent SI Q0...Q3 nextXABCD XABC
Q3...Q0 curent SI Q3...Q0 nextXDCBA CBAX
Copyright Paul GASNERCopyright Paul GASNER 26
Registru de deplasare cu ncrcare paralelRegistru de deplasare cu ncrcare paralelLa registrul normal cu ncrcare paralel se modific intrrile n multiplexoare:
dac LD=0, intrrile n FF sunt SIQ0Q1Q2, deci registrul va executa deplasarea la urmtorul front pozitiv de ceasdac LD=1, intrrile FF sunt D3...D0 i noile valori vor fi ncrcate n registrul de deplasare
Copyright Paul GASNERCopyright Paul GASNER 27
Regitri de deplasare. AplicaiiRegitri de deplasare. AplicaiiConversie serial-paralel la transmisia de date
de exemplu comunicaia dintre un mouse serial (RS-232 sau USB) i computer
serial
computer
Copyright Paul GASNERCopyright Paul GASNER 28
Regitri. AplicaiiRegitri. Aplicaiintr-un procesor, regitrii stocheaz date pentru ALU
date de intrare pentru ALUrezultate ale calculelor ALU
Regitrii nu sunt RAM i ocup suprafa foarte mare din chipCache L1 i L2 sunt RAM foarte rapid
CPU GPR's Size L1 Cache L2 CachePentium 4 8 32 bi ts 8 KB 512 KBAthlon XP 8 32 bi ts 64 KB 512 KBAthlon 64 16 64 bi ts 64 KB 1024 KBPowerPC 970 (G5) 32 64 bi ts 64 KB 512 KBItanium 2 128 64 bi ts 16 KB 256 KBMIPS R14000 32 64 bi ts 32 KB 16 MB
Copyright Paul GASNERCopyright Paul GASNER 29
Regitri. ConcluziiRegitri. ConcluziiRegitrii sunt dispozitive speciale pentru stocarea de cuvinte pe mai muli bitsVariante:
stocare paralelregitri de deplasare stnga sau dreaptanumrtoarele !!!
Au funcii de baz nconversie serial-paralelCPU
Recommended