Cenni alle reti logiche Luigi Palopoli
Reti con reazione e 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 uscita dipendesolamente dagli ingressi nell istante considerato In molte applicazioni è necessario introdurre memoria nel sistema... In realtà si dà sempre per scontato che un elaboratore sia in grado di memorizzare informazioni
Reti con reazione e 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 dipendonodalle uscite (e viceversa) La reazione complica in modo significativo l analisi e la sintesi di una rete logica La memoria deriva dal fatto che gli ingressi ricordano il passato della rete attraverso il valore delle uscite passate
Elemento base di memoria (latch) realizzazione con due porte NOR e schema di temporizzazione della tavola di verità
Analogia Fisica Equilibrio 1 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 V1Vin V2 V2 0.5 0.4 0.3 0.3 Metastabile 0.2 0.2 Equilibrio 0 0.1 0.1 0 0 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 Vin Metastabile Stabile left Stablie destra
Memorizzare Elemento Bistabile un bit R-S Latch q R!q q = 0 or 1 Q S Q Reset Set Memorizzare R 1 1 0 R 0 0 1 R 0!q q S 0 0 1 Q S 1 1 0 Q S 0 q!q Q
Stati indecidibili e temporizzazione ato che i segnali non si propagano in tempo nullo, l effetto del cambio di un ingresso di propaga in tempo finito sulle uscite 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 viene normalmente indicato come gated latch
Abilitazione Il clock viene inserito come ingresso di abilitazione attraverso porte AN: se ck è a zero la rete reazionata ha gli ingressi forzati a zero e non può cambiare stato Quando ck è a uno la gli ingressi della rete reazionata sono gli ingressi R ed S del circuito Circuiti di questo tipo hanno rappresentazione grafiche standard
Elementi di memoria reali celle 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- (data) flip-flop
Latch tipo Gli ingressi al circuito base sono ottenuti da una unica variabile Non vi può essere ambiguità Il circuito è abilitato durante tutta la fase positiva del clock
(c) Graphical symbol Flip-flop master-slave Clock Clock Q = Q m Q s Master Clk Q Q Q m (a) Circuit (b) Timing diagram Slave Clk Q Q Q s Q Q Configurazioni più complesse (come questa) consentono ad esempio di ottenere che l uscita del circuito commuti esattamente al termine dell impulso di clock Q Q
Structure Registri i 7 C o 7 i 6 i 5 C C o 6 o 5 I O i 4 i 3 C C o 4 o 3 Clock i 2 C o 2 i 1 C o 1 i 0 C o 0 Cloc k Impiegati per registrare delle word di dati Collezione di latch edge-triggered Caricano gli input sul fronte in salita del clock
Operazioni su registri State = x State = y Input = y x Output = x _ Rising clock _ y Output = y Memorizzano bit La maggior parte delle volte operano come una barriera tra input e output Sul fronte in salita del clock memorizzano l input
Vantaggi dell edge triggered Una metodologia edge triggered permette di aggiornare lo statoa partire dal quello presente senza creare delle situazioni di corse Questo porta alle macchine a statiin cui: Lo stato successivo dipende da quellopresente e dall input L output dipendedallo stato presente e dall input (macchina di mealy), o solo dall stato presente (macchina di moore)
Esempio di macchina a In Load Comb. Logic 0 A L U 0MUX 1 Clock stati Out Circuito accumulatore A ogni ciclo carica l input e lo accumula Clock Load In Out x 0 x 1 x 2 x 3 x 4 x 5 x 0 x 0 +x 1 x 0 +x 1 +x 2 x 3 x 3 +x 4 x 3 +x 4 +x 5
Register file I registri possono essere organizzati in un array (memoria) con la possibilità di scrivere o leggere su alcuni di essi
Possiamo leggere due registri. Per sceglire quali usiamo un mux Register file -- lettura
Possiamo scrivere in un registro. Per sceglier quale usiamo un decoder Register file -- scrittura