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: 1-m con porte logiche o decodificatore buffer tri-state sorgente variabile multiplexer mesh e bus Sorgente e destinazione prefissata: interconnessione punto a punto R R' S S R R S S R R In R' inR' Buffer tri-states a S S R R S S R R c s Buffer tri-states inR' 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 R1 c1…cn R2 Rd inRd RN • 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. 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 c1…cn c1…cn 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' Rs R1 R2 c1 cn RN 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 c1…cm Rs_1 Rd_1 inRd_1 Rd_2 inRd_2 Rd_N inRd_N mux_1 Rs_2 c1…cm mux_2 c1…cm Rs_M mux_N Registri sorgente e destinazione non distinti c1…cn R_1 inR_1 mux_1 c1…cn inR_2 R_2 mux_2 c1…cn inR_N R_N mux_N inRd La progettazione di una rete di interconnessione • 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 R1 R2 Rete di interconnessione (Multiplexers) . . . Rn c1,c2...cm ... Rete di controllo Si 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 R1 R0 c0 Rete di interconnessione R2 c1 Rete di controllo c2 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) R1 R0 c1 c0 COMP R2 > = c2 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 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 ci0 x i y i zi xi zi xi yi Schema completo R1 R0 c0 COMP > = R2 c1 c2 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. c0 0 0 1 1 c1 0 1 0 1 r0 1 0 0 0 r1 0 1 0 0 r2 0 0 1 0 r3 0 0 0 1 Schema circuitale inRd Rd_0 Rs c1 c0 Rd_1 Rd_2 Rd_3 Rete di controllo Rete di interconnessione