02 10 Circuite Logice Counters Registers
-
Upload
turbosmixer -
Category
Documents
-
view
245 -
download
5
description
Transcript of 02 10 Circuite Logice Counters Registers
-
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