Bus e interconnessione fra registri
Interconnessione fra registri Il trasferimento di informazioni tra registri viene realizzato tramite reti di interconnessione tali reti permettono di portare l’informazione nei moduli di elaborazione o di memorizzazione Se i registri sono PIPO, l’informazione in realtà viene COPIATA da Ri a Rj
Tipi di reti destinazione prefissata destinazione variabile sorgente prefissata punto-punto: porte logiche o buffer tri-state 1-m con decodificatore sorgente variabile multiplexer mesh e bus
Sorgente e destinazione prefissata: interconnessione punto a punto inR' S R R R' In R'
Buffer tri-states a c s Buffer tri-states inR' S R s c a Buffer tri-states Il dispositivo può quindi assumere tre stati, da cui il nome: - circuito aperto: s = 0 - circuito chiuso e uscita 0: se s=1 e c=0 - circuito chiuso e uscita 1: se s=1 e c=1.
Sorgente variabile e destinazione prefissata: interconnessione di tipo multiplexer Il registro sorgente può essere un qualsiasi registro Ri di un insieme di N registri, il registro destinazione Rd è prefissato I segnali di selezione del multiplexer sono n = log N: c1, …, cn e forniscono la codifica binaria dell’indice i del registro Ri il cui contenuto deve essere copiato in Rd. inRd c1…cn R1 R2 RN Rd Nota: le frecce marcate rappresentano n linee, se i registri Contengono n FF. Anche i MPX sono in realtà n!!
In dettaglio (linee singole) Il primo flip-flop di ogni registro sorgente è connesso con il primo multiplexer, l’uscita del multiplexer va al primo flip-flop di Rd; il secondo flip-flop di ogni registro sorgente è connesso con il secondo multiplexer, l’uscita del multiplexer va al secondo flip-flop di Rd, e così via inRd c1…cn
Sorgente prefissata e destinazione variabile: interconnessione 1-m con decodificatore I segnali ci del decoder selezionano uno fra n registri destinazione inR' c1 cn R1 R2 RN Rs
Interconnessione di tipo mesh Interconnessione tra M registri sorgente e N registri destinazione Per realizzare la rete occorrono N multiplexer, mux_i, ognuno per un registro destinazione mux_1 mux_2 mux_N c1…cm Rd_1 Rd_2 Rd_N Rs_1 Rs_2 Rs_M inRd_1 inRd_2 inRd_N
Registri sorgente e destinazione non distinti mux_1 mux_2 mux_N inRd c1…cn R_1 R_2 R_N inR_1 inR_2 inR_N
La progettazione di una rete di interconnessione Rn R2 . Rete di interconnessione (Multiplexers) Rete di controllo ... Si c1,c2...cm Si distinguono 3 parti: I registri R1..Rn La rete di interconnessione, che nel caso più generale, consente di trasferire il contenuto di ogni registro Ri su ogni altro registro Rj, ij La rete combinatoria di controllo che analizza alcune condizioni interne (contenuto dei registri) o esterne (segnali S) e genera gli opportuni comandi per i multiplexer che costituiscono la rete di interconnessione
Esempio 1 Si progetti un sistema di trasferimento fra i registri R0, R1, R2 tale che: R0 viene portato in R1 se R0 = R1 + R2 (ove + indica la somma logica cioè l’OR tra R1 e R2) R1 viene portato in R2 se R0 < R1 R2 viene portato in R0 se R2 > R1 c1 c2 c0 R0 R1 R2 Rete di interconnessione Rete di controllo
Realizzare le condizioni di controllo R1 viene portato in R2 se R0 < R1(C1=1) R2 viene portato in R0 se R2 > R1 (C2=1) > = c1 c2 c0 R0 R1 R2 COMP
Realizzare le condizioni di controllo (2) R0 viene portato in R1 se R0 = R1 + R2 (or) xi yi e zi sono l’i-esimo bit di R1, R2 e R0 rispettivamente xi yi zi c0i 1
Schema completo > = c1 c2 c0 R0 R1 R2 COMP
Esempio 2 Sia Rs un registro sorgente e siano Rd_0, Rd_1, Rd_2 e Rd_3 registri destinazione. Si progetti la rete di interconnessione tale che quando inRd vale 1 il contenuto di Rs viene trasferito in Rd_j ove il valore j coincide con i due bit meno significativi di Rs. Si mostri il progetto fino al dettaglio di porte logiche.
Schema circuitale Rete di controllo Rete di interconnessione inRd Rd_0 Rs Rd_1 Rd_2 Rd_3