Salvatore Orlando
&
Marta Simeoni
$GGL]LRQDWRUL
Il circuito combinatorio che implementa laddizionatore a
n bit costruito collegando in sequenza un numero n di
1-bit adder
il circuito usa lo stesso metodo usato dallalgoritmo
carta e penna
il segnale deve attraversare pi livelli di logica
si pu realizzare con porte con fan-in limitato
ELW$/8
Catena di 1-bit ALU
propagazione del Riporto
(Carry) da un 1-bit ALU al
successivo 1-bit ALU
Operation
segnale di controllo per
determinare loperazione
che lALU deve eseguire:
propagato a tutte le 1-bit
ALU
$/8H6RPPDYHORFH
Considerazioni sulla velocit dellALU nelleseguire la
somma:
lingresso CarryIn di ogni 1-bit adder dipende dal
valore calcolato dall1-bit adder precedente
il bit pi significativo della somma deve quindi
attendere 32 volte il tempo di attraversamento del
segnale attraverso i vari sommatori LENTO
... ci sono metodi per velocizzare il calcolo del riporto,
si cerca di far passare il segnale per un numero
minore di porte
metodo Carry Lookahead per anticipare il riporto
Arch. Elab. - S. Orlando
&DOFRORULSRUWLFRQOLYHOOLGLORJLFD
Lequazione per il calcolo di CarryOut
CarryOut = (BCarryIn) + (ACarryIn) + AB
Il CarryOut di un 1-bit adder diventa il CarryIn del 1-bit
adder successivo:
c1 = (b0c0) + (a0c0) + a0b0
c2 = (b1c1) + (a1c1) + a1b1
......
Sostituendo in c2 lespressione relativa a c1 si ottiene
c2 = (b1a0b0)+(b1a0c0)
+(b1b0c0)+(a1a0b0)+(a1a0c0)+(a1b0c0)+(a1b1)
Si pu continuare ad espandere i vari ci in modo da
esprimerli solo in funzione di co e dei vari ai e bi con soli
2 livelli di logica troppo costoso
&DUU\/RRNDKHDG
Come semplificare il calcolo di ci+1?
ci+1 = (bici) + (aici)+(aibi) = (aibi) + (ai+bi)ci =
= gi + pi ci
gi = GENERATORE
se gi = 1 allora ci+1 = gi + pici = 1 + pici = 1
cio il sommatore genera 1 indipendentemente dal
valore di ci
pi = PROPAGATORE
se gi = 0 e pi = 1, allora ci+1 = 0 + 1ci = ci
cio il sommatore propaga il CarryIn sul CarryOut
Quindi:
ci+1 = 1
ci+1 = 0
se gi = 1 oppure
altrimenti
pi = 1 e ci = 1
Arch. Elab. - S. Orlando
&DUU\/RRNDKHDG
Per un sommatore a 4 bit si ha:
c1 = g0 + p0c0
c2 = g1 + p1c1 = g1 + (p1g0) + (p1p0c0)
c3 = g2 + p2c2 = g2 + (p2g1) + (p2p1g0) + (p2p1p0c0)
c4 = g3 + p3c3 = g3 + (p3g2) + (p3p2g1)
+ (p3p2p1g0) + (p3p2p1p0c0)
Nota che il segnale di riporto i-esimo (ci) vale 1 se qualche
sommatore precedente ha generato un riporto, e tutti i
sommatori intermedi lo propagano
Possiamo calcolare in parallelo i vari pi e gi , e sulla base
di questi possiamo poi calcolare parallelamente i vari ci
Non possiamo calcolare tutti i riporti in parallelo su pi di
4 bit equazioni troppo lunghe e complesse
Arch. Elab. - S. Orlando
$GGL]LRQDWRUHDELWFRQ &DUU\/RRNDKHDG
c0
a0
b0
p0
g0
ris0
c1
a1
b1
p1
g1
c2
a2
b2
p2
g2
ris1
Carry
Lookahead
ris2
c3
a3
b3
+
c4
p3
g3
ris3
Arch. Elab. - S. Orlando
&DUU\/RRNDKHDG
Per realizzare sommatori a pi di 4 bit e con Carry
Lookahead, senza pagare unalta complessit del circuito
di calcolo del riporto
introduciamo ununit di Carry Lookahead di livello superiore
6XSHUSURSDJDWRULH6XSHUJHQHUDWRUL
Per eseguire il Carry Lookahead con 4 sommatori a 4 bit
necessario considerare i segnali genera e propaga di
ordine superiore
Supergeneratori e Superpropagatori
10
6XSHUSURSDJDWRULH6XSHUJHQHUDWRUL
Un sommatore a 4bit genera un riporto
se il riporto viene generato in una certa posizione, e viene
propagato in tutte le posizioni intermedie
Supergeneratori
G0 = g3 + (p3g2) + (p3p2g1) + (p3p2p1g0)
G1 = g7 + (p7g6) + (p7p6g5) + (p7p6p5g4)
G2 = g11 + (p11g10) + (p11p10g9) + (p11p10p9g8)
G3 = g15 + (p15g14) + (p15p14g13) + (p15p14p13g12)
11
&DUU\ORRNDKHDG
I Superpropagatori e Supergeneratori possono essere
usati, analogamente ai propagatori e generatori di ordine
inferiore, per calcolare i vari riporto in ingresso a ciascun
blocco elementare (sommatore a 4 bit):
C1 = G0 + P0c0
C2 = G1 + (P1G0) + (P1P0c0)
C3 = G2 + (P2G1) + (P2P1G0) + (P2P1P0c0)
C4 = G3 + (P3G2) + (P3P2G1) + (P3P2P1G0) + (P3P2P1P0c0)
12
6RPPDWRUHDELWFRQ &DUU\ORRNDKHDG
Sommatore a 16bit composto di
quattro ALU a 4bit, con logica interna
di Carry-Lookahead
Si osservi la carry-lookahead unit
esterna
i riporti alle varie ALU a 4 bit
provengono dallunit di carrylookahead esterna
lunit di carry-lookahead esterna
lavora in base ai vari Pi e Gi, e di co
Il meccanismo del Carry Lookahead
rende il calcolo dei riporti pi veloce,
perch riduce il numero porte che i
segnali devono attraversare per
calcolare la somma
abbiamo per un limitato aumento
nel numero di porte impiegate
Arch. Elab. - S. Orlando
13
(VHPSLR&DUU\/RRNDKHDG
Calcolare gi, pi Gi Pi per i seguenti due numeri
a
b
gi = aibi
pi = ai + bi
14
15