La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Addizionatori RC e CLA Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.

Presentazioni simili


Presentazione sul tema: "Addizionatori RC e CLA Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14."— Transcript della presentazione:

1 Addizionatori RC e CLA Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14

2 Full Adder Full Adder c i+1 cici yiyi xixi sisi S i = x i y i c i +x i y i c i +x i y i c i + x i y i c i = (x i y i +x i y i )c i + (x i y i +x i y i )c i R i = x i y i +y i c i +x i c i = x i y i +(x i +y i )c i

3 Addizionatore a propagazione di riporto (Ripple Carry Adder) Full Adder Full Adder c i+1 cici Full Adder c2c2 c1c1 Full Adder y n-1 x n-1 s n-1 …. yiyi xixi y1y1 x1x1 y0y0 x0x0 sisi s1s1 s0s0 cncn c n-1 n parallelismo delladdizionatore a propagazione di riporto τ ritardo di porta logica Il risultato complessivo sarà stabile dopo: T=n*2*τ unità di tempo Ripple Carry Adder c0c0

4 Addizionatore ad anticipazione di riporto (Carry-LookAhead) R i = x i y i +(x i +y i )c i = G i + P i c i R 0 = x 0 y 0 + (x 0 +y 0 ) c 0 = G 0 + P 0 c 0 R 1 = G 1 + P 1 c 1 = G 1 + P 1 R 0 = G 1 + P 1 (G 0 + P 0 c 0 ) … R n-1 = G n-1 + P n-1 c n-1 = G n-1 + P n-1 R n-2 = G n-1 + P n-1 (G n-2 + P n-2 (G n-3 + P n-3 …(G 0 + P 0 c 0 )))) n parallelismo delladdizionatore porte con fan_in n+1 Ad esempio, per un addizionatore con parallelismo 4: R 3 = G 3 + P 3 c 3 = G 3 + P 3 R 2 = G 3 + P 3 (G 2 + P 2 (G 1 + P 1 (G 0 + P 0 c 0 )))= 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

5 Addizionatore ad anticipazione di riporto Full Adder y n-1 x n-1 s n-1 ………………….. c n-1 Carry Look-Ahead Logic y n-1 x n-1 y0y0 x0x0 y1y1 x1x1 Full Adder y0y0 x0x0 s0s0 c0c0 Full Adder y1y1 x1x1 s1s1 c1c1 ……………………………………. cncn c0c0 n parallelismo delladdizionatore ( ipotesi: porte con fan_in n+1) τ ritardo di una porta logica Il tempo necessario al completamento delladdizione per il CLA è pari a: T= (1+2+2)τ = 5τ Mentre per un addizionatore Ripple Carry sarebbe stato: T=n*(2*τ)

6 E SERCIZIO 1: Disegnare larchitettura di un addizionatore veloce (carry look-ahead) a 8 bit e calcolare il tempo necessario a completare loperazione di addizione nellipotesi che il fan-in delle porte sia pari a 4 e che il ritardo introdotto da una porta logica sia 0.25 nsec. Il tempo necessario al completamento delladdizione per il CLA è pari a: T= tempo per calcolare i termini di generazione e propagazione + tempo per la generazione del riporto + Tempo necessario ai full adder per generare i bit di somma= (1+4+2)*0.25 nsec = 1.75 nsec Il fan-in delle porte è minore rispetto a quello necessario (9). Sfruttando la proprietà associativa, occorreranno due livelli di porte per effettuare l AND e due livelli di porte per effettuare la OR.

7 s 4 -s 7 c4c4 4 bit CLA x 0 –x 3 s 0 -s 3 c0c0 y 0 –y 3 4 bit CLA x 4 –x 7 y 4 –y 7 c8c8 E SERCIZIO 2: Disegnare larchitettura di un addizionatore a 8 bit realizzato mediante due addizionatori veloci (CLA) a 4 bit e calcolare il tempo necessario a completare loperazione di addizione nellipotesi che il fan-in delle porte sia pari a 4 e che il ritardo introdotto da una porta logica sia 0.25 nsec. Considerando lesercizio precedente, ogni CLA impiega: T CLA = (1+4+2)*0.25 = 1.75 nsec però: Il riporto c 4 è disponibile dopo (1+4)*0.25 = 1.25 nsec Contemporaneamente il secondo CLA ha già calcolato il valore dei termini di generazione e propagazione. Conseguentemente, dopo 1.25 sec il secondo CLA calcola gli altri riporti e calcola la somma. Di conseguenza: T= (4+2)*0.25 = 2.75 nsec

8 E SERCIZIO 3: Disegnare larchitettura di un addizionatore a 16 bit realizzato mediante quattro addizionatori veloci (CLA) a 4 bit e confrontare il tempo necessario a questa macchina per completare loperazione di addizione con quello di un addizionatore veloce a 16 bit e con quello di un addizionatore a propagazione di riporto. Si ipotizzi che il fan-in delle porte sia pari a 8 e che il ritardo introdotto da una porta logica sia 0.25 nsec. s 4 -s 7 c4c4 4 bit CLA x 0 –x 3 s 0 -s 3 c0c0 y 0 –y 3 4 bit CLA x 4 –x 7 y 4 –y 7 s 12 -s 15 c 12 4 bit CLA x 8 –x 11 s 8 -s 11 c8c8 y 8 –y 11 4 bit CLA x 12 –x 15 y 12 –y 15 Avendo a disposizione porte logiche con fan_in >5 ogni CLA impiega: T CLA = (1+2+2)*0.25 = 1.75 nsec però: Il riporto di ogni CLA è disponibile dopo (1+2)*0.25 nsec = 0.75 Considerando che i termini di propagazione e generazione vengono calcolati in parallelo: T= (1 + (4*2)+2)*0.25 = 2.75 nsec Mentre il CLA a 16 bit impiega (avendo a disposizione porte con fan-in <17 ): T= ( )*0.25= 1.75 nsec

9 E SERCIZIO 4: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare, è possibile calcolare il numero di livelli necessari per implementare le funzioni AND e OR? E SERCIZIO 5: Dato il parallelismo delladdizionatore da realizzare, in che modo è possibile confrontare il tempo di risposta di un singolo addizionatore CLA con quello di n addizionatori CLA collegati in serie? E SERCIZIO 6: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare, qual è il numero di addizionatori CLA che e necessario collegare in serie che consente di ottenere un tempo di risposta inferiore a quello di un singolo addizionatore CLA? E SERCIZIO 4: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare, è possibile calcolare il numero di livelli necessari per implementare le funzioni AND e OR? E SERCIZIO 5: Dato il parallelismo delladdizionatore da realizzare, in che modo è possibile confrontare il tempo di risposta di un singolo addizionatore CLA con quello di n addizionatori CLA collegati in serie? E SERCIZIO 6: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare, qual è il numero di addizionatori CLA che e necessario collegare in serie che consente di ottenere un tempo di risposta inferiore a quello di un singolo addizionatore CLA?

10 E SERCIZIO 4: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare: E possibile calcolare il numero di livelli necessari per implementare le funzioni AND e OR? E SERCIZIO 4: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare: E possibile calcolare il numero di livelli necessari per implementare le funzioni AND e OR? Dato il parallelismo delladdizionatore n e dato il fan_in a disposizione k, il numero di livelli l si calcola contando quante volte e necessario dividere il fan-in necessario (n+1) per k, fino a quando il risultato del rapporto sia inferiore a k e sommando 1. Ad esempio un addizionatore a 16 bit realizzato con porte con fan-in pari a 2 richiede: (17/2) (8/2) (4/2) (2/2) +1 = 5 livelli. Se lo stesso addizionatore viene realizzato con porte a 4 ingressi si ha: (17/4) (4/4) +1 = 3 livelli Con fan-in pari a 8: (17/8) + 1 = 2 livelli.

11 E SERCIZIO 5: Dato il parallelismo delladdizionatore da realizzare, in che modo è possibile confrontare il tempo di risposta di un singolo addizionatore CLA con quello di n addizionatori CLA collegati in serie? Occorre confrontare il numero di livelli delle due soluzioni considerando che, nel caso di più addizionatori, questo valore va moltiplicato per il numero di addizionatori.

12 Non è possibile, a parità di fan_in delle porte, avere un addizionatore costituito da n CLA in parallelo, che abbia un tempo di risposta inferiore ad un singolo addizionatore CLA Ad esempio, se il parallelismo è 16 e a) il fan_in delle porte a disposizione è 9 1.Un 16 bit CLA necessita di due livelli di porta per AND e due per OR T= ( ) τ 2.Quattro 4 bit CLA in serie necessitano di un solo livello di porta T= (1+ 2*4 + 2) τ 3.Due 8 bit CLA in serie necessitano di un solo livello di porta T= (1+ 2*2 + 2) τ b)il fan_in delle porte a disposizione è 5 1.Un 16 bit CLA necessita di due livelli di porta per AND e due per OR T= ( ) τ 2.Due 8 bit CLA in serie necessitano di due livelli di porta T= (1+ 4*2 + 2) τ 3.Quattro 4 bit CLA in serie necessitano di un solo livello di porta T= (1+ 2*4 + 2) τ E SERCIZIO 6: Dato il fan-in delle porte a disposizione e il parallelismo delladdizionatore da realizzare, qual è il numero di addizionatori CLA che e necessario collegare in serie che consente di ottenere un tempo di risposta inferiore a quello di un singolo addizionatore CLA?

13 Addizionatori RC e CLA Ing.Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14


Scaricare ppt "Addizionatori RC e CLA Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14."

Presentazioni simili


Annunci Google