La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Addizionatori RC e CLA Università degli Studi di Salerno

Presentazioni simili


Presentazione sul tema: "Addizionatori RC e CLA Università degli Studi di Salerno"— Transcript della presentazione:

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

2 Full Adder Si= xiyici+xiyici+xiyici+ xiyici=
(xiyi+xiyi)ci + (xiyi+xiyi)ci Ri= xiyi+yici+xici= xiyi +(xi+yi)ci

3 Addizionatore a propagazione di riporto (Ripple Carry Adder)
Full Adder ci+1 ci c2 c1 yn-1 xn-1 sn-1 …. yi xi y1 x1 y0 x0 si s1 s0 cn cn-1 Full Adder c0 Ripple Carry Adder n parallelismo dell’addizionatore a propagazione di riporto τ ritardo di porta logica Il risultato complessivo sarà “stabile” dopo: T=n*2*τ unità di tempo

4 Addizionatore ad anticipazione di riporto (Carry-LookAhead)
Ri= xiyi +(xi+yi)ci = Gi + Pici R0= x0y0 + (x0+y0) c0= G0 + P0c0 R1= G1 + P1c1= G1 + P1 R0 = G1 + P1 (G0 + P0c0) Rn-1= Gn-1 + Pn-1cn-1= Gn-1 + Pn-1 Rn-2 = Gn-1 + Pn-1 (Gn-2 + Pn-2(Gn-3 + Pn-3…(G0 + P0c0 )))) n parallelismo dell’addizionatore → porte con fan_in n+1 Ad esempio, per un addizionatore con parallelismo 4: R3= G3 + P3c3= G3 + P3 R2 = G3 + P3 (G2 + P2(G1 + P1(G0 + P0c0 )))= G3 + P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0c0

5 Addizionatore ad anticipazione di riporto
Full Adder yn-1 xn-1 sn-1 ………………….. cn-1 Carry Look-Ahead Logic y0 x0 y1 x1 s0 c0 s1 c1 ……………………………………. cn n parallelismo dell’addizionatore ( ipotesi: porte con fan_in n+1) τ ritardo di una porta logica Il tempo necessario al completamento dell’addizione per il CLA è pari a: T= (1+2+2)τ = 5τ Mentre per un addizionatore Ripple Carry sarebbe stato: T=n*(2*τ)

6 Esercizio 1: Disegnare l’architettura di un addizionatore veloce (carry look-ahead) a 8 bit e calcolare il tempo necessario a completare l’operazione di addizione nell’ipotesi che il fan-in delle porte sia pari a 4 e che il ritardo introdotto da una porta logica sia 0.25 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. Il tempo necessario al completamento dell’addizione 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

7 Esercizio 2: Disegnare l’architettura di un addizionatore a 8 bit realizzato mediante due addizionatori veloci (CLA) a 4 bit e calcolare il tempo necessario a completare l’operazione di addizione nell’ipotesi che il fan-in delle porte sia pari a 4 e che il ritardo introdotto da una porta logica sia 0.25 nsec. s4-s7 c4 4 bit CLA x0 –x3 s0-s3 c0 y0 –y3 x4 –x7 y4 –y7 c8 Considerando l’esercizio precedente, ogni CLA impiega: TCLA = (1+4+2)*0.25 = 1.75 nsec però: Il riporto c4 è 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 Esercizio 3: Disegnare l’architettura 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 l’operazione 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. s4-s7 c4 4 bit CLA x0 –x3 s0-s3 c0 y0 –y3 x4 –x7 y4 –y7 s12-s15 c12 x8 –x11 s8-s11 c8 y8 –y11 x12 –x15 y12 –y15 Avendo a disposizione porte logiche con fan_in >5 ogni CLA impiega: TCLA = (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 Esercizio 4: Dato il fan-in delle porte a disposizione e il parallelismo dell’addizionatore da realizzare, è possibile calcolare il numero di livelli necessari per implementare le funzioni AND e OR? Esercizio 5: Dato il parallelismo dell’addizionatore 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? Esercizio 6: Dato il fan-in delle porte a disposizione e il parallelismo dell’addizionatore 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 Esercizio 4: Dato il fan-in delle porte a disposizione e il parallelismo dell’addizionatore da realizzare: E’ possibile calcolare il numero di livelli necessari per implementare le funzioni AND e OR? Dato il parallelismo dell’addizionatore 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 Esercizio 5: Dato il parallelismo dell’addizionatore 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 Esercizio 6: Dato il fan-in delle porte a disposizione e il parallelismo dell’addizionatore 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? 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 Un 16 bit CLA necessita di due livelli di porta per AND e due per OR T= ( ) τ Quattro 4 bit CLA in serie necessitano di un solo livello di porta T= (1+ 2*4 + 2) τ Due 8 bit CLA in serie necessitano di un solo livello di porta T= (1+ 2*2 + 2) τ il fan_in delle porte a disposizione è 5 Due 8 bit CLA in serie necessitano di due livelli di porta T= (1+ 4*2 + 2) τ

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


Scaricare ppt "Addizionatori RC e CLA Università degli Studi di Salerno"

Presentazioni simili


Annunci Google