Reti Sequenziali Corso di Architetture degli Elaboratori Reti Sequenziali
RETI LOGICHE2 Caratteristiche 1 Caratteristiche delle reti sequenziali Reti combinatorie: il valore in uscita è funzione (con il ritardo indotto dalla rete) dei soli valori dati in ingresso in quel momento Reti sequenziali: il valore in uscita è funzione della sequenza di valori forniti in input fino a quel momento Le reti sequenziali hanno memoria
RETI LOGICHE3 Caratteristiche 2 Caratteristiche delle reti sequenziali Essendo finita, una rete sequenziale può “ricordare” un numero finito di sequenze di ingresso. La rete determina la suddivisione di tutte le infinite sequenze di ingresso in un numero finito di classi, che la rete riesce a distinguere. Tutte le sequenze all’interno di una stessa classe sono equivalenti per la rete. Esempio: contatore a due bit e sequenze 11 e
RETI LOGICHE4 Livelli e impulsi 1 Livelli ed impulsi In una rete a livelli i valori sono trasmessi come livelli di segnale (alto=1, basso=0, o viceversa) in particolari istanti scanditi da un orologio (clock). In una rete a livelli il valore in input permane per un tempo (sufficientemente) maggiore rispetto al ritardo della rete In una rete ad impulsi i valori sono trasmessi come segnali impulsivi (presenza=1, assenza=0, o viceversa) negli istanti scanditi dal clock. In una rete ad impulsi il valore in input permane per un tempo (molto) minore rispetto al ritardo della rete
RETI LOGICHE5 Livelli e impulsi 2 Livelli ed impulsi La stringa come sequenza di livelli e di impulsi
RETI LOGICHE6 Livelli e impulsi 3 Livelli ed impulsi Funzionamento a livelli di una rete La configurazione di ingresso è mantenuta costante per il tempo necessario affinché si stabilizzino i valori in uscita Funzionamento ad impulsi di una rete La configurazione di ingresso è mantenuta costante per un tempo limitato e breve, inferiore al tempo necessario necessario affinché si stabilizzino i valori in uscita, dopo di che in input viene posta una configurazione di default (in genere tutti 0)
RETI LOGICHE7 Modello di rete sequenziale z i (t+d(z i ))=f i (x 1 (t),…,x n (t), y 1 (t),…,y k (t)) y i (t+d(y i ))=g i (x 1 (t),…,x n (t), y 1 (t),…,y k (t)) z i (t+d(z i ))=h i (y 1 (t),…,y k (t)) Mealy Moore
RETI LOGICHE8 Flip flop 1 Flip flop Il flip flop è la più elementare rete sequenziale. Ha la funzione di memorizzare un bit di informazione. Flip flop RS (Reset-Set) R=0, S=1: y posto a 1 R=1, S=0: y posto a 0 R=0, S=0: y rimane uguale R=1, S=1: non ammessa
RETI LOGICHE9 Flip flop 2 Flip flop 01*0 11* y’ 1011 R SR S y=¬R(S+y’)
RETI LOGICHE10 Flip flop 3 Flip flop Se d 1 : ritardo al primo livello della rete combinatoria d 2 : ritardo al secondo livello della rete combinatoria Allora Il segnale R=1 o S=1 deve permanere in ingresso per un tempo d>d 1 +d 2 R S y’ y
RETI LOGICHE11 Flip flop 4 Flip flop Flip flop Fc: il valore F viene memorizzato in corrispondenza agli impulsi di clock R S 0 1 F c
RETI LOGICHE12 Flip flop 5 Flip flop Se: d è il ritardo del flip flop Fc e d’ il ritardo del solo flip flop RS al suo interno è la lunghezza dell’impulso e la distanza fra due impulsi successivi Allora dovrà aversi d’< per far funzionare a livelli il flip flop RS <d per far funzionare ad impulsi il flip flop Fc (in questo modo durante l’impulso è possibile leggere il vecchio output mentre si fornisce il nuovo input) d< per evitare che sia fornito un nuovo valore prima che il precedente venga memorizzato Si dovrà quindi avere tra l’altro d’<<d (necessità di ritardi aggiuntivi)
RETI LOGICHE13 Flip flop 5 Flip flop Flip flop MS (master-slave) Consente di avere, durante l’impulso, il vecchio output disponibile mentre l’input viene fornito. Disaccoppiamento mediante due RS in cascata. R S 0 1 F c R S 0 1 Il valore F viene memorizzato nel primo RS durante l’impulso e copiato nel secodno RS durante l’intervallo tra impulsi
RETI LOGICHE14 Reti sequenziali sincrone I flip flop contengono la codifica dello stato della rete (al più 2 k stati diversi). Lo stato può cambiare solo in corrispondenza agli impulsi di clock.
RETI LOGICHE15 Reti sequenziali sincrone Una rete sequenziale sincrona è un automa a stati finiti avente: - alfabeto di input di dimensione al più 2 n - insieme degli stati Q di dimensione al più 2 k L’automa ha anche un output, con alfabeto di dimensione al più 2 m. Se l’output è funzione su xQ l’automa si dice di Mealy, altrimenti (se è funzione sul solo Q) si dice di Moore.
RETI LOGICHE16 Reti sequenziali sincrone Sintesi di reti sequenziali sincrone Definire il comportamento desiderato per la rete sequenziale rappresentandola come automa a stati finiti con output (Mealy o Moore). Derivare i valori di n,k,m e definire una codifica su n,k,m bit rispettivamente di input, stati ed output. Dalla funzione di transizione dell’automa e dalla sua funzione di output derivare le funzioni combinatorie che legano per ogni i,j i valori di y’ i e z j a tutti i valori y k e x h. Derivare le reti combinatorie che calcolano tali funzioni