29
Copyright Paul GASNER Copyright Paul GASNER 2. Circuite logice 2. Circuite logice 2.10. Numărătoare şi 2.10. Numărătoare şi regiştri regiştri

02 10 Circuite Logice Counters Registers

Embed Size (px)

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