28
REGISTRE ŞI MEMORII RAM

curs 9 asdn

Embed Size (px)

DESCRIPTION

Analiza si sinteza dispozitivelor numerice

Citation preview

Page 1: curs 9 asdn

REGISTRE ŞI MEMORII RAM

Page 2: curs 9 asdn

24.11.2009 Curs 9 ASDN 2

5.3. Registre

� DefiniŃie: Registrele sunt circuite logice secvenŃiale (CLS) care permit stocarea şi/sau deplasarea informaŃiei codificate binar

� Ele se realizează din celule de memorie binară (CBB) şi din circuite logice combinaŃionale (CLC), care permit înscrierea, citirea şi transferul informaŃiei

� Capacitatea unui registru este dată de numărul celulelor de memorie

Page 3: curs 9 asdn

24.11.2009 Curs 9 ASDN 3

5.3. Registre

� Clasificare� Registrele pot să fie de mai multe tipuri:

� De memorie� De deplasare� Combinate� Universale

Page 4: curs 9 asdn

24.11.2009 Curs 9 ASDN 4

5.3. Registre

� Registre de memorie� Memorează informaŃia binară în celule de memorie

binară� În fiecare celulă de memorie se memorează 1 bit de

informaŃie� Încărcarea în bistabile se poate şi face paralel, prin

intrările asincrone, de Set şi Reset

Page 5: curs 9 asdn

24.11.2009 Curs 9 ASDN 5

5.3. Registre

� Registre de deplasare� Realizează transferul informaŃiei� Transferul se poate face:

� stânga-dreapta� dreapta-stânga� reversibil – în ambele sensuri

� La fiecare impuls de tact conŃinutul registrului se deplasează cu câte o celulă în sensul stabilit

� Semnalul de ieşire este identic cu cel de intrare, dar întârziat cu un număr de impulsuri de tact egal cu numărul de celule de memorie din care este format registrul

Page 6: curs 9 asdn

24.11.2009 Curs 9 ASDN 6

5.3. Registre

� Registre de deplasare� Exceptând primul bistabil, ecuaŃia de stare a unui

registru de deplasare stânga-dreapta este dată de relaŃia:

Qi(t+1) = Qi-1(t) ⋅ CLK

(unde CLK = impulsul de tact)

Page 7: curs 9 asdn

24.11.2009 Curs 9 ASDN 7

5.3. Registre

� Registre de deplasare - exemplu� Registru de deplasare stânga-dreapta cu bistabile JK

� La fiecare impuls de tact conŃinutul bistabilului Qi se transferă în bistabilul Qi+1

� În bistabilul Q0 se introduce informaŃia din exterior prin intrarea SIN (serial input)� ConŃinutul ultimului bistabil se pierde� Încărcarea registrului se realizează în mod serie� IniŃializarea registrului se realizează prin semnalul de Reset (asincron), care forŃează

toate ieşirile registrului în 0 logic

Q0 Q1 Q2 Q3 SIN J0 Q0 J1 Q1 J2 Q2 J3 Q3

CLK CLK CLK CLK K0 Q0 K1 Q1 K2 Q2 K3 Q3 R R R R Reset CLK

Page 8: curs 9 asdn

24.11.2009 Curs 9 ASDN 8

5.3. Registre

� Registre de deplasare� Registrele de deplasare dreapta-stânga şi reversibile se realizează

folosind circuite logice combinaŃionale suplimentare

� Registre combinate� Sunt cele care au şi funcŃia de memorare şi cea de deplasare

� Registre universale� Cumulează toate funcŃiile posibile ale unui registru:

� deplasare stânga-dreapta

� deplasare dreapta-stânga

� încărcare serie sau paralelă a informaŃiei

� citire serie sau paralelă a informaŃiei

Page 9: curs 9 asdn

24.11.2009 Curs 9 ASDN 9

5.3. Registre

� Registre universale - exemplu� Registru universal pe 4 biŃi

RI A B C D LI S0 S1 D Q D Q D Q D Q CLK CLK CLK CLK CLK CLR CLR CLR CLR CLR Q0 Q1 Q2 Q3

Page 10: curs 9 asdn

24.11.2009 Curs 9 ASDN 10

5.3. Registre

� Registre universale - exemplu� Registru universal pe 4 biŃi� Intrările de selecŃie S1S0 condiŃionează modul de funcŃionare a registrului:

� S1S0 = 00 memorare – păstrează conŃinutul nemodificat� S1S0 = 01 deplasare stânga-dreapta� S1S0 = 10 deplasare dreapta-stânga� S1S0 = 11 încărcare paralelă

� AcŃionarea registrului se face sincron prin semnalul de CLK aplicat simultan pe toate bistabilele interne

� Ştergerea registrului se face asincron, prin semnalul CLR� Încărcarea paralelă se realizează prin intrările paralele A, B, C, D� Deplasarea stânga-dreapta se realizează utilizând încărcarea serială pe intrarea RI� Deplasarea dreapta-stânga se realizează cu intrarea serială LI

Page 11: curs 9 asdn

24.11.2009 Curs 9 ASDN 11

5.3.1. AplicaŃii ale registrelor

� Registrele sunt utilizate în mai multe tipuri de aplicaŃii, după funcŃiile pe care pot să le îndeplinească:� Registre de deplasare cu reacŃie

� Memorie FIFO

� Memorie LIFO

� Conversie serie–paralel şi paralel–serie a informaŃiei

� Generatoare de secvenŃe

Page 12: curs 9 asdn

24.11.2009 Curs 9 ASDN 12

5.3.1. AplicaŃii ale registrelor

� Registre de deplasare cu reacŃie� Au ieşirile conectate la intrări

� Pot fi:� Registre de deplasare în inel – conŃinutul ultimei celule de

memorie se înscrie în prima celulă de memorie

� Registre (numărătoare) Johnson– în prima celulă se introduce conŃinutul negat al ultimei celule

Page 13: curs 9 asdn

24.11.2009 Curs 9 ASDN 13

5.3.1. AplicaŃii ale registrelor

� Registre de deplasare cu reacŃie� Registre de deplasare în inel

� Registre (numărătoare) Johnson

Q0 Q1 Q2 Q3 1 0 0 0 SIN 0 1 0 0 CLK 0 0 1 0

Q0 Q1 Q2 Q3 0 0 0 1 1 0 0 0

Q0 Q1 Q2 Q3 0 0 0 0 SIN 1 0 0 0 CLK 1 1 0 0 Q0 Q1 Q2 Q3 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0

Page 14: curs 9 asdn

24.11.2009 Curs 9 ASDN 14

5.3.1. AplicaŃii ale registrelor

� Memorie FIFO (First In, First Out), primul înscris – primul citit (memorie coadă)

� Se realizează cu registre de deplasare stânga-dreapta� Numărul registrelor utilizate depinde de lungimea cuvintelor ce

urmează a fi memorate� Capacitatea memoriei FIFO depinde de lungimea registrelor� Exemplu: dacă registrele sunt de 4 biŃi, capacitatea memoriei este de 4

cuvinte� La fiecare impuls de tact în memorie se introduc datele (cuvintele de

memorat) utilizând intrarea serială a fiecărui registru� Ieşirea (data memorată) se citeşte de pe ultimele ieşiri ale registrelor

utilizate

Page 15: curs 9 asdn

24.11.2009 Curs 9 ASDN 15

5.3.1. AplicaŃii ale registrelor

� Memorie FIFO� Exemplu: Schema bloc a unei memorii FIFO pe 4 biŃi

Intrare Ieşire y1 SIN Ts x1 y2 SIN Ts x2 y3 SIN Ts x3 y4 SIN Ts x4 CLK

Page 16: curs 9 asdn

24.11.2009 Curs 9 ASDN 16

5.3.1. AplicaŃii ale registrelor

� Memorie LIFO (Least In, First Out), ultimul introdus –

primul citit (memorie stivă)

� Realizarea memoriilor LIFO se face cu registre combinate

� Numărul registrelor utilizate este dat de lungimea cuvântului de memorie

� Lungimea registrelor determină capacitatea de memorie

� FuncŃionarea registrelor din memoria stivă trebuie condiŃionată cu selecŃii, care să permită efectuarea celor 2 operaŃii care apar la acest tip de memorie

Page 17: curs 9 asdn

24.11.2009 Curs 9 ASDN 17

5.3.1. AplicaŃii ale registrelor

� Memorie LIFO� Exemplu: Schema bloc a unei celule de memorie LIFO

xi A0 A1 A1 A0 SIN Q0 yi Q1 Q2 Q3 R CLK A1 A0 0 1 deplasare stânga-dreapta → înscriere 1 0 citire

Page 18: curs 9 asdn

24.11.2009 Curs 9 ASDN 18

5.3.1. AplicaŃii ale registrelor

� Conversie serie – paralel şi paralel – serie a informa Ńiei

� Conversia serie-paralel� Se face încărcarea unui registru de deplasare prin intrarea serială şi

cu comandă de tact serie Ts� Apoi se citeşte deodată informaŃia de pe ieşirile registrului, în

paralel

� Conversia paralel-serie� Se face întâi încărcarea paralelă a informaŃiei în registru, cu

comandă de tact paralel Tp� Apoi se deplasează informaŃia stânga-dreapta, cu comandă de tact

serie Tsşi se citeşte informaŃia serie pe ultima ieşire

Page 19: curs 9 asdn

24.11.2009 Curs 9 ASDN 19

5.3.1. AplicaŃii ale registrelor

� Generatoare de secvenŃe� Generatoarele de secvenŃe generează o succesiune de secvenŃe binare

(de 1 şi 0) de lungime dată (prestabilite)� Lungimea secvenŃei reprezintă numărul după care se repetă întreaga

secvenŃă� SecvenŃele binare pot fi:

� Aleatoare, de lungime infinită

� Deterministe, de lungime finită

� SecvenŃele binare deterministe de lungime maximă se numesc secvenŃe pseudoaleatoare

� Realizarea generatoarelor de secvenŃe se face cu registre care au în reacŃie circuite logice combinaŃionale adecvate

Page 20: curs 9 asdn

24.11.2009 Curs 9 ASDN 20

5.3.1. AplicaŃii ale registrelor

� Generatoare de secvenŃe pseudoaleatoare� Exemplu

� SecvenŃa pseudoaleatoare generată la ieşirile Q0Q1Q2 este:

� Lungimea secvenŃei pseudoaleatoare este de 7� ObservaŃie: Dacă sistemul porneşte din starea iniŃială 000 se va bloca

în această stare!

Q0 Q1 Q2 y = Q0 + Q2 S0 Q0 S1 Q1 S2 Q2 CLK CLK CLK R0 Q0 R1 Q1 R2 Q2 CLK

100 → 110 → 111 → 011 → 101 → 010 → 001

Page 21: curs 9 asdn

24.11.2009 Curs 9 ASDN 21

5.4. Memorii RAM

� Memoriile de tip RAM (random access memory) sunt memorii de tip citeşte-scrie, cu acces aleatoriu

� Tipuri de memorii RAM:� SRAM (static RAM)� DRAM (dynamic RAM)

� SRAM - după înscrierea unei informaŃii într-o locaŃie aceasta se păstrează atâta timp cât memoria este alimentată şi nu se face o nouă scriere

� DRAM - datele înscrise trebuie reactualizate (refresh) periodic, prin citirea şi reînscrierea lor, altfel dispar, chiar în prezenŃa tensiunii de alimentare

Page 22: curs 9 asdn

24.11.2009 Curs 9 ASDN 22

5.4. Memorii RAM

� În general memoriile RAM sunt volatile, nu-şi păstrează informaŃia după întreruperea tensiunii de alimentare

� Există memorii CMOS statice (nonvolatile) prevăzute cu baterie, care pot să-şi păstreze informaŃiile

� Memoriile RAM statice feroelectrice realizate prin combinarea elementelor magnetice şi electronice sunt nevolatile

Page 23: curs 9 asdn

24.11.2009 Curs 9 ASDN 23

5.4. Memorii RAM

� Dimensiunea memoriei este specificată prin:� numărul de cuvinte (stabilit cu ajutorul adreselor)� numărul de biŃi pe cuvânt

� Capacitatea memoriei este dată de numărul total de biŃi memoraŃi

Page 24: curs 9 asdn

24.11.2009 Curs 9 ASDN 24

5.4.1. Memorii SRAM

� Schema funcŃională de principiu a unei memorii SRAM Adresă CE sau CS (chip select) n Decodificator 2n n Matrice de memorie 2n WE (write enable) Multiplexor

Date

Page 25: curs 9 asdn

24.11.2009 Curs 9 ASDN 25

5.4.1. Memorii SRAM

� Memoria SRAM este formată din:� nivel de decodificare

� matrice de memorie realizată cu celule de memorie binară de tip “latch”

� nivelul de multiplexare

� Decodificatorul are ca intrări adresele memoriei şi acŃionează pentru selectarea fiecărui cuvânt de memorie

� Multiplexorul permite selectarea oricărei celule de memorie la intrare sau la ieşire

Page 26: curs 9 asdn

24.11.2009 Curs 9 ASDN 26

5.4.1. Memorii SRAM

� Validarea memoriei se face prin intrarea de enable CS (chip select)

� Pentru citirea şi scrierea memoriei de foloseşte un semnal suplimentar WE:� Dacă WE = 1 se face citire

� Dacă WE = 0 se face scriere

� Datele de intrare şi ieşire pot să folosească linii diferite sau aceeaşi linie bidirecŃională

� Memoriile pot avea un număr diferit de căi de date (de obicei cuvinte de un număr de biŃi multiplu de 2)

Page 27: curs 9 asdn

24.11.2009 Curs 9 ASDN 27

5.4.1. Memorii SRAM

� Memorii SSRAM (synchronous SRAM) - o variantă nouă de memorii SRAM� Folosesc tot latch-uri în matricea de memorie� Există în plus o interfaŃă pentru control, adrese şi date,

controlată prin semnal de tact (CLK)

� Extinderea capacităŃii memoriilor se face:� Prin extinderea dimensiunii cuvântului de memorie

(numărul de biŃi din cuvânt)� Şi prin extinderea numărului de cuvinte ale memoriei

(adresa de memorie)

Page 28: curs 9 asdn

24.11.2009 Curs 9 ASDN 28

5.4.2. Memorii DRAM

� Memoriile DRAM sunt realizate cu condensatoare şi tranzistoare MOS (pentru a fi mai rapide)

� Ele au nevoie de reîmprospătarea la diferite intervale de timp a informaŃiei memorate, pentru a se evita pierderea ei

� Au 2 intrări în plus:� RAS (row address strobe)

� CAS (column address strobe)

� Există şi memorii SDRAM (synchronous DRAM), care au o interfaŃă controlată cu semnal de tact