Reti Sequenziali Reti Sequenziali Corso di Architetture degli Elaboratori 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 LOGICHE 2 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 111111 RETI LOGICHE 3 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 LOGICHE 4 Livelli e impulsi 2 Livelli ed impulsi La stringa 10011011 come sequenza di livelli e di impulsi RETI LOGICHE 5 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 LOGICHE 6 Modello di rete sequenziale Modello di rete sequenziale x1 xn . . y1 . . yk RETE COMBINATORIA . . y’1 . . y’k z1 zm yi(t+d(yi))=gi(x1(t),…,xn(t), y1(t),…,yk(t)) zi(t+d(zi))=fi(x1(t),…,xn(t), y1(t),…,yk(t)) Mealy zi(t+d(zi))=hi(y1(t),…,yk(t)) Moore RETI LOGICHE 7 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, R=1, R=0, R=1, S=1: S=0: S=0: S=1: y posto a 1 y posto a 0 y rimane uguale non ammessa R y S RETI LOGICHE 8 Flip flop 2 Flip flop R RETE COMBINATORIA S y y’ RS y’ 0 1 00 01 11 10 0 1 1 1 * * 0 0 y=¬R(S+y’) RETI LOGICHE 9 Flip flop 3 Flip flop y R S y’ Se d1: ritardo al primo livello della rete combinatoria d2: ritardo al secondo livello della rete combinatoria Allora Il segnale R=1 o S=1 deve permanere in ingresso per un tempo d>d1+d2 RETI LOGICHE 10 Flip flop 4 Flip flop Flip flop Fc: il valore F viene memorizzato in corrispondenza agli impulsi di clock F R 0 c S 1 RETI LOGICHE 11 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 s 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<s 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 LOGICHE 12 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. F R 0 R 0 c S 1 S 1 Il valore F viene memorizzato nel primo RS durante l’impulso e copiato nel secodno RS durante l’intervallo tra impulsi RETI LOGICHE 13 Reti sequenziali sincrone Reti sequenziali sincrone x1 xn . . y1 . . yk RETE COMBINATORIA . . y’1 . . y’k z1 zm Registro di dimensione k c I flip flop contengono la codifica dello stato della rete (al più 2k stati diversi). Lo stato può cambiare solo in corrispondenza agli impulsi di clock. RETI LOGICHE 14 Reti sequenziali sincrone Reti sequenziali sincrone Una rete sequenziale sincrona è un automa a stati finiti avente: - alfabeto di input S di dimensione al più 2n - insieme degli stati Q di dimensione al più 2k L’automa ha anche un output, con alfabeto G di dimensione al più 2m. Se l’output è funzione su SxQ l’automa si dice di Mealy, altrimenti (se è funzione sul solo Q) si dice di Moore. RETI LOGICHE 15 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 zj a tutti i valori yk e xh. Derivare le reti combinatorie che calcolano tali funzioni RETI LOGICHE 16