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, ij
– 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
Scarica

Bus e interconnessione fra registri