Sei sulla pagina 1di 8
Salvatore Orlando & Marta Simeoni Arch. Elab. - S. Orlando 1 • Il circuito combinat

Salvatore Orlando

&

Marta Simeoni

Arch. Elab. - S. Orlando

1

Orlando & Marta Simeoni Arch. Elab. - S. Orlando 1 • Il circuito combinat orio che

Il circuito combinatorio che implementa l’addizionatore a n bit è costruito collegando in sequenza un numero n di 1-bit adder

il circuito usa lo stesso metodo usato dall’algoritmo carta e penna

il segnale deve attraversare più livelli di logica

si può realizzare con porte con fan-in limitato

attraversare più livelli di logica – si può realizzare con porte con fan - in limitato

• Catena di 1- bit ALU – propagazione del Riporto ( Carry) da un 1-bit

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 l’operazione che l’ALU deve eseguire:

propagato a tutte le 1-bit ALU

Arch. Elab. - S. Orlando
Arch. Elab. - S. Orlando

3

propagato a tutte le 1- bit ALU Arch. Elab. - S. Orlando 3 • Considerazioni sulla

Considerazioni sulla velocità dell’ALU nell’eseguire la somma:

l’ingresso CarryIn di ogni 1-bit adder dipende dal valore calcolato dall’1-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

• L’equazione per il calcolo di CarryOut è – CarryOut = (B• CarryIn) + (A•

L’equazione per il calcolo di CarryOut è CarryOut = (B•CarryIn) + (A•CarryIn) + A•B

Il CarryOut di un 1-bit adder diventa il CarryIn del 1-bit adder successivo:

c 1 = (b 0 c 0 ) + (a 0 c 0 ) + a 0 b 0

c 2 = (b 1 c 1 ) + (a 1 c 1 ) + a 1 b 1

Sostituendo in c 2 l’espressione relativa a c 1 si ottiene

c 2 = (b 1 a 0 b 0 )+(b 1 a 0 c 0 )

+(b 1 b 0 c 0 )+(a

1

a 0 b 0 )+(a 1 a 0 c 0 )+(a 1 b 0 c 0 )+(a 1 b 1 )

Si può continuare ad espandere i vari c i in modo da esprimerli solo in funzione di c o e dei vari a i e b i con soli 2 livelli di logica troppo costoso

Arch. Elab. - S. Orlando

5

di logica ⇒ troppo costoso Arch. Elab. - S. Orlando 5 • Come semplificare il calcolo

Come semplificare il calcolo di c i+1 ?

c i+1

= (b i c i ) + (a i c i )+(a i b i ) = (a i b i ) + (a i +b i )c i = =

g i

+

p i

c i

g i = GENERATORE

se g i = 1

allora

c i+1 = g i + p i c i

= 1 + p i c i = 1

cioè il sommatore genera 1 indipendentemente dal

valore di c i

p i = PROPAGATORE

se g i = 0 e p i = 1,

allora

c i+1 = 0 + 1c i = c i

cioè il sommatore propaga il CarryIn sul CarryOut

Quindi:

c i+1 =

c i+1 =

1

0

se

altrimenti

g i = 1

oppure

p i = 1 e c i = 1

• Per un sommatore a 4 bit si ha: – c 1 = g 0

Per un sommatore a 4 bit si ha:

c 1 = g 0 + p 0 c 0

c 2 = g 1 + p 1 c 1 = g 1 + (p 1 g 0 ) + (p 1 p 0 c 0 )

c 3 = g 2 + p 2 c 2 = g 2 + (p 2 g 1 ) + (p 2 p 1 g 0 ) + (p 2 p 1 p 0 c 0 )

c 4 = g 3 + p 3 c 3 = g

3 + (p 3 g 2 ) + (p 3 p 2 g 1 )

+ (p 3 p 2 p 1 g 0 ) + (p 3 p 2 p 1 p 0 c 0 )

Nota che il segnale di riporto i-esimo (c i ) vale 1 se qualche sommatore precedente ha generato un riporto, e tutti i sommatori intermedi lo propagano

Possiamo calcolare in parallelo i vari p i e g i , e sulla base di questi possiamo poi calcolare parallelamente i vari c i

Non possiamo calcolare tutti i riporti in parallelo su più di 4 bit equazioni troppo lunghe e complesse

Arch. Elab. - S. Orlando

7

c 0 p 0 a 0 + g 0 b 0 ris 0 c 1
c
0
p
0
a 0
+
g
0
b 0
ris
0
c
1
p
a 1
1
+
g
1
b 1
ris
1
Carry
c
2
p
Lookahead
a 2
2
+
g
2
b 2
ris
2
c
3
p
a 3
3
+
g
3
b 3
ris
3
c
4
Arch. Elab. - S. Orlando
8

• Per realizzare sommatori a più di 4 bit e con Carry Lookahead , senza

Per realizzare sommatori a più di 4 bit e con Carry Lookahead, senza pagare un’alta complessità del circuito di calcolo del riporto

introduciamo un’unità di Carry Lookahead di livello superiore

Realizziamo così un sommatore a 16 bit con Carry Lookahead

 

composto da 4 sommatori a 4 bit (con logica interna di Carry Lookahead)

ciascun sommatore a 4 bit diventa un blocco elementare

verifichiamo se ogni blocco elementare (sommatore a 4 bit) propaga o genera un riporto

 

Superpropagatore e Supergeneratore

 

Usiamo i Superpropagatori e Supergeneratori come input della nuova unità di carry-lookahead per velocizzare il calcolo dei riporti in input ai 4 blocchi elementari (sommatori a 4 bit)

 
 

Arch. Elab. - S. Orlando

9

Per eseguire il Carry Lookahead con 4 sommatori a 4 bit è necessario considerare i segnali genera e propaga di “ordine superiore”

 

Supergeneratori e Superpropagatori

Un sommatore a 4 bit propaga un eventuale CarryIn solo se ciascuno dei bit del gruppo propaga un riporto

 

Superpropagatori:

 

P 0 = p 3 p 2 p 1 p 0

P 1 = p 7 p 6 p 5 p 4

P 2 = p 11 p 10 p 9 p 8

P 3 = p 15 p 14 p 13 p 12

Arch. Elab. - S. Orlando

10

• Un sommatore a 4bit genera un riporto – se il riporto viene generato in

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

G 0 = g 3 + (p 3 g 2 ) + (p 3 p 2 g 1 ) + (p 3 p 2 p 1 g 0 )

G 1 = g 7 + (p 7 g 6 ) + (p 7 p 6 g 5 ) + (p 7 p 6 p 5 g 4 )

G 2 = g 11 + (p 11 g 10 ) + (p 11 p 10 g 9 ) + (p 11 p 10 p 9 g 8 )

G 3 = g 15 + (p 15 g 14 ) + (p 15 p 14 g 13 ) + (p 15 p 14 p 13 g 12 )

Arch. Elab. - S. Orlando

11

p 14 p 13 g 12 ) Arch. Elab. - S. Orlando 11 • I Superpropagatori

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):

C 1 = G 0 + P 0 c 0 C 2 = G 1 + (P 1 G 0 ) + (P 1 P 0 c 0 ) C 3 = G 2 + (P 2 G 1 ) + (P 2 P 1 G 0 ) + (P 2 P 1 P 0 c 0 ) C 4 = G 3 + (P 3 G 2 ) + (P 3 P 2 G 1 ) + (P 3 P 2 P 1 G 0 ) + (P 3 P 2 P 1 P 0 c 0 )

Arch. Elab. - S. Orlando

12

• • • Sommatore a 16bit composto di quattro ALU a 4bit, con logica interna
• • •

Sommatore a 16bit composto di

quattro ALU a 4bit, con logica interna

di

Carry-Lookahead

Si

esterna

osservi la carry-lookahead unit

i riporti alle varie ALU a 4 bit provengono dall’unità di carry- lookahead esterna

l’unità di carry-lookahead esterna lavora in base ai vari P i e G i , e di c o

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

nel numero di porte impiegate Arch. Elab. - S. Orlando 13 Calcolare g i , p

Calcolare g i, p i G i P i per i seguenti due numeri

a

b

g i = a i b i p i = a i + b i

0010 1011 1111 1000

0001 0100 1101 0110

0000 0000 1101 0000 0011 1111 1111 1110

I segnali P i per gruppi di 4bit sono dati dall’AND dei relativi p i

P 3 = 0•0•1•1 = 0 P 2 = 1•1•1•1 = 1 P 1 = 1•1•1•1 = 1 P 0 = 1•1•1•0 = 0

I segnali G i sono invece dati da:

G 0 = g 3 +(p 3 g 2 )+(p 3 p 2 g 1 )+(p 3 p 2 p 1 g 0 ) = 0+(1•0)+(1•1•0) +(1•1•1•0)=0 G 1 = g 7 +(p 7 g 6 )+(p 7 p 6 g 5 )+(p 7 p 6 p 5 g 4 ) = 1+(1•1)+(1•1•0) +(1•1•1•1)=1 G 2 = g 11 +(p 11 g 10 )+(p 11 p 10 g 9 )+(p 11 p 10 p 9 g 8 )=0+(1•0)+(1•1•0) +(1•1•1•0)=0 G 3 = g 15 +(p 15 g 14 )+(p 15 p 14 g 13 )+(p 15 p 14 p 13 g 12 )=0+(0•0)+(0•0•0) +(0•0•1•0)=0

Arch. Elab. - S. Orlando

14

La somma a+b genera riporto ? E' sufficiente calcolare C 4 : C 4 =

La somma a+b genera riporto?

E' sufficiente calcolare C 4 :

C 4 = G 3 + (P 3 G 2 ) + (P 3 P 2 G 1 ) + (P 3 P 2 P 1 G 0 )

+ (P 3 P 2 P 1 P 0 c 0 ) =

= + (0•0)

0

+ (0•1•1)

+ (0•1•1•0)

+ (0•1•1•0•0) =

0

= +

0

+

0

+ 0

+ 0 =

= 0

Arch. Elab. - S. Orlando

15