Cenni alle reti logiche
LuigiPalopoli
Reti con reazionee memoria
• Le funzioni logiche e le relative reti di implementazione visto fino ad ora sono note come
“reti combinatorie”• Le reti combinatorie non hanno una nozione“esplicita” del tempo e non hanno memoria del passato: in ogni istante di tempo l’uscitadipende solamente dagli ingressi nell’istanteconsiderato
• In molte applicazioni è necessario introdurrememoria nel sistema ...
• In realtà si dà sempre per scontato che un elaboratore sia in grado di memorizzareinformazioni
Reti con reazionee memoria
• La memoria in una rete logica si ottiene con una “reazione” cioè alimentando l’uscita di alcune porte sugli ingressi di porte del medesimo stadio in modo da formare un anello in cui gli ingressi dipendono dalleuscite (e viceversa)
• La reazione complica in modo significativol’analisi e la sintesi di una rete logica
• La memoria deriva dal fatto che gli ingressi“ricordano” il passato della rete attraverso ilvalore delle uscite passate
Elemento base di
memoria (latch)
realizzazione con due porte NOR
e schema di “temporizzazione”
della tavola di verità
Analogia Fisica
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vin
V1V2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vin
VinV2
Equilibrio 0
Equilibrio 1
Metastabile
Stabile left Stablie destra
Metastabile
Memorizzareun bit
Q+
Q–
R
S
R-S Latch
Q+
Q–
R
S
Q+
Q–
R
S
Reset1
0
1 0
0 1
Q+
Q–
R
S
Q+
Q–
R
S
Set0
1
0 1
1 0
Q+
Q–
R
S
Q+
Q–
R
S
Memorizzare0
0
!q q
q !q
Elemento Bistabile
Q+
Q–
q
!q
q = 0 or 1
Stati indecidibili e temporizzazione
• Dato che i segnali non si propagano in tempo nullo, l’effettodel cambio di un ingresso di propaga in tempo finito sulleuscite
• Se le uscite sono reazionate questo può creare problemi di indecidibilità dello stato di una rete con memoria
• Gli elementi di memoria sono quindi sempre temporizzati, cioè sono governati da un segnale speciale chiamato“clock”
• Un elemento base di memoria temporizzato vienenormalmente indicato come “gated latch”
• Il clock viene inserito come “ingresso di abilitazione”attraverso porte AND: se ck è a zero la rete reazionata ha gliingressi forzati a zero e non puòcambiare stato
• Quando ck è a uno la gliingressi della rete reazionatasono gli ingressi R ed S del circuito
• Circuiti di questo tipo hannorappresentazione grafiche“standard”
Abilitazione
Elementi di memoria“reali” celle D e flip-flop
• Le reti viste prima sono note come latch S-R (Set-Reset)
• Hanno il difetto di avere uno stato indecidibile(cioè l’uscita non può essere nota con certezza) quanto entrambi gli ingressi sono a uno
• In molti casi questo è inaccettabile
• Si può rimediare??§ latch-D (data)§ flip-flop
Latch tipo “D”• Gli ingressi al circuito
base sono ottenuti da una unica variabile
• Non vi può essereambiguità
• Il circuito è abilitatodurante tutta la fasepositiva del clock
Flip-flop master-slave
D Q
Q
Master Slave
D
Clock
Q
Q
D Q
Q
Qm Qs
D
Clock
Qm
Q Qs=
D Q
Q
(a) Circuit
(b) Timing diagram
(c) Graphical symbol
ClkClk
• Configurazioni più complesse (come questa) consentono ad esempio di ottenere che l’uscita del circuito commuti esattamente al termine dell’impulso di clock
Registri
§ Impiegati per registrare delle word di dati§ Collezione di latch edge-triggered§ Caricano gli input sul fronte in salita del clock
I O
Clock
DC Q+
DC Q+
DC Q+
DC Q+
DC Q+
DC Q+
DC Q+
DC Q+
i7i6i5i4i3i2i1i0
o7
o6
o5
o4
o3
o2
o1
o0
Clock
Structure
Operazioni su registri
§ Memorizzano bit§ La maggior parte delle volte operano come una
barriera tra input e output § Sul fronte in salita del clock memorizzano l’input
State = xRisingclock_
Output = xInput = yx _
State = y
Output = yy
Vantaggi dell’edgetriggered
• Una metodologia edgetriggeredpermette diaggiornare lostato apartire dalquello presente senzacreare delle situazioni dicorse
• Questo porta alle macchine astati incui:§ Lostato successivo dipende daquello presente edall’input§ L’output dipendedallo stato presente edall’input(macchina dimealy),osolodall stato presente (macchinadimoore)
Esempio di macchina a stati
§ Circuito accumulatore
§ A ogni ciclo carica l’input e lo accumula
Comb. Logic
ALU
0
OutMUX0
1
Clock
InLoad
x0 x1 x2 x3 x4 x5
x0 x0+x1 x0+x1+x2 x3 x3+x4 x3+x4+x5
Clock
Load
In
Out
Register file
• Iregistri possono essere organizzati inunarray(memoria)conlapossibilità discrivere oleggere sualcuni diessi
Register file -- lettura
• Possiamo leggeredueregistri.Persceglire qualiusiamo unmux
Register file -- scrittura
• Possiamoscrivere inunregistro.Persceglier qualeusiamo undecoder