CEFRIEL Consorzo per la Formazone e la Rcerca n Ingegnera dell Informazone Poltecnco d Mlano s Sommator: x y c x y c x y c x y c x y c Archtetture artmetche s x y Sommator:, Rpple Carry Sommator: Carry Look-Ahead,, Add/Subtract Moltplcator: Combnator, Wallace, Sequenzal Crcut per artmetca n vrgola moble c 1 x y c x y x c y c c +1 c versone del 31/1/ c +1 s - - Sommator: Rpple Carry [1] Sommator: Rpple Carry [] Rpple-Carry Archtecture Rpple-Carry Block Archtecture x 1 x y -1 c c x kn-1 y kn-1 x n-1 y x n-1 n y n x y s n-1 s 1 s c kn n-bt Rpple Carry Adder c (k-1)n c n n-bt Rpple Carry Adder n-bt Rpple Carry Adder c Rpple-Carry Adder x y s kn-1 s (k-1)n s n-1 s n s n-1 s n-bt Rpple Carry Adder c s n-1 s - 3 - - 4 -
Sommator: Carry Look-Ahead [1] Sommator: Carry Look-Ahead [] Carry Look-Ahead Logc: Internal archtecture Carry Look-Ahead Logc x 1 x y c x y Carry Look-Ahead Logc c G n-1 P n-1 G 1 P 1 G P -1 x 1 x y Carry Look-Ahead Logc x y CLA Logc c c s n-1 s 1 s -1-5 - - 6 - Sommator: [1] Sommator: [] Molt problem rchedono somme d 3 o pù valor come: Soluzone con sommator rpple-carry W = X + Y + Z W = (X + Y) + Z = T + Z Soluzone: Calcolare una somma ntermeda x 1 x y T = X + Y E qund calcolare l rsultato fnale: W = T + Z Le due somme possono essere realzzate medante Due sommator rpple-carry conness n cascata Due sommator carry look-ahead conness n cascata Rcorda la somma d N addend da n bt rchede n+log N bt per l rsultato w n+1 w n t n-1 z n-1 w n-1 c z 1 c w 1 t 1 t z w - 7 - - 8 -
Sommator: [3] Sommator: [4] Prestazon con sommator Rpple-Carry: R = (n + 3)T Rtardo S calcolano due vettor temporane: S: Somme senza rporto (n parallelo) CS: Rport salvat (n cascata) Vettor S e CS z n-1 x 1 z 1 x y z n n n-1 1 1 s n-1 cs s 1 cs 1-1 s n+3 n+ n+1 n+1 n 3 3-1 w n+1 w n w n-1 w 1 w - 9 - - 1 - Sommator: [5] Sommator: [6] Prestazon con sommator Rpple-Carry: R = (n + 1) T Rtardo 1 1 1 1 1 1 1 Sommatore composto da due untà : Produce due vettor S e CS Rtardo: R CS = 1 Rpple-Carry: Produce l rsultato fnale Rtardo: R RC = n + 1 Logc z n-1 x y z X Y Z n+1 n+1 n n-1 n s n-1-1 s 1 cs 1 s S CS s - 11 - - 1 -
Sommator: [7] Sommator: Esempo: 6 ngress e blocch da 3 [8a] Sommatore completo a tre ngress A B C A B C X Y Z T= CS-n bt CS-n bt CS S s CS S s S CS s T=1 CS-n bt CS S s RC Adder CS-n bt CS S s w n+1 W[n..1] w T= T=3..(n+) T=n+3 RC Adder w n+ W [n+1..] w 1 w - 13 - - 14 - Sommator: [8b] Sommator: Add/Subtract Vantagg pù evdent al crescere del numero degl operand Add/Subtract Archtecture y T= Add/Sub T=1 x 1 x T= T=3 n-bt Adder c RC Adder T=4 T=4+(n+1) Underflow Overflow s n-1 s 1 s - 15 - - 16 -
Moltplcator combnator Moltplcator combnator: somma per rghe Prodotto d due numer postv d 3 bt (n bt - n bt prodotto) Somma per rghe Moltplcazone bt a bt Multpler Cell Il rporto s propaga lungo la rga x x 1 x y y n=1,-1 PP -n,j+n x j n-1 sommator a n bt Regolare y x y x 1 y x x x 1 x y x y x 1 y x PP 1 PP PP 1 PP 11 PP 1 PP Matrce d prodott parzal costtuta da n rghe y y c j c j-1 Prestazon: dpendono da sommator, con sommator non veloc ordne d n PP PP 1 PP x j n=,-1 PP -n,j+n p 5 p 4 p 3 p p 1 p - 17 - - 18 - Moltplcator combnator: somma per rghe Moltplcator combnator: somma per dagonal PP 1 PP Moltplcando x x 1 x y Moltplcatore Somma per dagonal Il rporto s propaga lungo le dagonal, x n vertcale e y n orzzontale n sommator a n bt, d cu l prmo non genera rport Regolare Prestazon: dpendono da sommator, con sommator non veloc ordne d n PP y p 5 p 4 p 3 p p 1 p Prodotto - 19 - - -
Moltplcator combnator: somma per colonne Moltplcator combnator: somma per colonne Il metodo è smle a quello utlzzato a mano per effettuare la moltplcazone S utlzza la matrce de prodott parzal (matrce d AND) e un nseme d contator parallel Il generco contatore parallelo rceve n ngresso una colonna d prodott parzal (e gl eventual rport dagl stad precedent) e genera l conteggo degl 1 della colonna Il conteggo generato n ogn stado produce l bt d prodotto per lo stado consderato e eventual rport per gl stad successv Irregolare (contator dvers) Prestazon: paragonabl a quelle per somma per rghe, nfatt s ha propagazone d rport n tutte le colonne - 1 - Moltplcando e moltplcatore da 6 bt In nero la matrce d AND, n rosso rport generat da contator ogn contatore genera 1 bt d prodotto e rport per le colonne successve l contatore d colonna 1 genera 1 rporto per colonna l contatore d colonna genera rport per colonna 3 e 4 l contatore d colonna 3 genera rport per colonna 4 e 5 e così va.. 1 11 1 9 8 7 6 5 4 3 1 - - Moltplcator combnator: somma per colonne con rduzone della matrce de termn prodotto Moltplcator combnator: somma per colonne con matrc successve Rduzone successva della matrce de propdott parzal La matrce de prodott parzal M vene rdotta, n termn d rghe, tramte contator parallel per colonna Il rsultato generato da contator crea una matrce successva M1, costtuta da un numero nferore d rghe. In questo modo non c è propagazone de rport all nterno della stessa matrce Il procedmento vene terato fno a quando non s ottene una matrce d sole due rghe Le due rghe costtuscono l ngresso ad un sommatore La rduzone è rapda La struttura è rregolare Le prestazon aumentano potes: l tempo d un contatore è dentco a quello d un Full-Adder domna l tempo del sommatore fnale Battera d contator Battera d contator Sommatore M M1 M - 3 - - 4 -
Moltplcator combnator: moltplcatore d Wallace Moltplcator combnator: moltplcatore d Wallace E basato sulla rduzone successva della matrce M Prevede l utlzzo d sol contator a o 3 ngress, che sono equvalent rspettvamente ad un Half-Adder e a un Full-Adder Il procedmento d rduzone della matrce a sole rghe è pù lento rspetto al caso d contator a ngress qualsas, ma comunque rapdo (log 3/ n pass) M d n rghe M1 d (/3)n rghe M d (/3) n rghe.. Mh d (/3) h n rghe: se l n d rghe è uguale a la rduzone termna La struttura è regolare Le prestazon sono domnate dal sommatore fnale (veloce) - 5 - Battera d contator Battera d contator Battera d contator Sommatore - 6 - M M1 M M3 Moltplcator sequenzal [1] Moltplcator sequenzal [] Moltplcazone sequenzale tra due numer d n I pass da esegure sono: 1. Inzalzza a zero un regstro accumulatore A. Inzalzza a zero un bstable C per l rporto 3. Salva ne regstr Q ed M moltplcatore e moltplcando 4. Se l bt meno sgnfcatvo d Q vale 1 Somma A ed M Memorzza l rsultato n A 5. Shft a destra del regstro [C; A; Q] d una poszone 6. Rpet dal punto 4 per n volte 7. Preleva l rsultato della moltplcazone da regstro [A; Q] Archtettura per la moltplcazone sequenzale Moltplcatore sequenzale n -1 n -1 C A Q FSM + MUX n -1 1 M q Shft dx - 7 - - 8 -
Sommatore n vrgola moble [1a] Sommatore n vrgola moble [1b] I crcut per la realzzazone delle operazon n vrgola moble sono molto compless S consder l algortmo per la somma secondo lo standard IEEE Sngle Precson: S scegle l numero con esponente mnore e s fa scorrere la sua mantssa a destra un numero d bt par alla dfferenza de due esponent S assegna all esponente del rsultato l maggore tra gl esponent degl operand S esegue l operazone d somma tra le mantsse per determnare l valore ed l segno del rsultato S normalzza l rsultato cos ottenuto Non sempre quest ultma operazone è necessara Nota: se A o B = se A o B = se la dfferenza tra gl esponent è maggore o uguale al numero d bt a dsposzone per le mantsse è nutle fare la somma - 9 - - 3 - Sommatore n vrgola moble [] Sommatore n vrgola moble [3] Nel seguto vene svluppato un sommatore floatng pont I numer A e B sono rappresentat Su 3 bt Secondo lo standard IEEE Sngle Precson Gl operand A e B sono compost come segue: A = { S A, E A, M A } Passo 1 S scegle l numero con esponente mnore e s fa scorrere la sua mantssa a destra un numero d bt par alla dfferenza de due esponent Rchede le seguent operazon: Indvduazone dell esponente mnore E mn Calcolo della dfferenza tra gl esponent d = E A - E B B = { S B, E B, M B } In cu: S A, S B Segno,1 bt E A, E B Esponente n eccesso 17, 8 bt M A, M B Mantssa,3 bt Selezone della mantssa dell operando con esponente M Emn Scorrmento della mantssa M Emn d d poszon a dx (tenendo conto dell 1 mplcto) Il calcolo della dfferenza tra gl esponent consente allo stesso tempo, analzzandone l segno S E, d ndvduare l esponente mnore - 31 - - 3 -
Sommatore n vrgola moble [3] Sommatore n vrgola moble Questa prma sezone del sommatore calcola: M 1 La mantssa del numero con esponente mnore, opportunamente shftata M La matssa del numero con esponente maggore Passo 1 E A E B M A M B Passo S assegna all esponente del rsultato l maggore tra gl esponent degl operand Rchede le seguent operazon: Selezone dell esponente mnore E max n base a S E. S rutlzza l segno S E della dfferenza tra gl esponent _ S E SWAP Passo E A E B M Emn Shfter dx 1 MUX S E M 1 M E max - 33 - - 34 - Sommatore n vrgola moble Sommatore n vrgola moble Passo 3 S esegue l operazone d somma tra le mantsse per determnare l valore ed l segno del rsultato Rchede le seguent operazon: Calcolo della somma algebrca M 1 delle mantsse M 1 ed M ottenute al prmo passo, e relatvo segno S utlzza un sommatore/sottrattore su 4 bt con rporto Passo 3 S A S B S E S Sgn C out S 1 M 1 M M 1-35 - Add/Sub Se C out = e M 1 normalzzata E = E max Passo 4 S normalzza l rsultato così ottenuto Rchede le seguent operazon Se C out = 1, Shdx M 1 e E = E max + 1, eventuale troncamento Altrment (C out = e M 1 non normalzzata) Indvduazone del numero z degl zer ne bt pù sgnfcatv della mantssa M 1 Shft sx della mantssa M 1 Calcolo del nuovo esponente E = E max - z A tale scopo sono necessar: Un crcuto per l calcolo de leadng zeroes Un sottrattore su 8 bt Uno shfter per l allneamento della mantssa - 36 -
Sommatore n vrgola moble Sommatore n vrgola moble Passo 4 IEEE Sngle Precson Floatng-Pont Adder E A E B S A S B M A M B Add/Sub M 1 SWAP Leadng 's E max z Shfter sx 1 MUX E max d Sgn S E M Emn C out S 1 Shfter dx M 1 M M 1 _ Leadng 's z Shfter sx E M _ S E M - 37 - - 38 -