Architettur degli Elbortori e delle Reti Lezione 6 Circuiti digitli notevoli: ALU Proff. A. Borghee, F. Pederi Diprtimento di Scienze dell Informzione Univerità degli Studi di Milno A.A. 25/6 L 6 /27 ALU: Arithmetic-Logic Unit! Eegue le operzioni ritmetico-logiche + ; ; x ; nd ; or ; not ; xor ; ;! ;! Normlmente tegrt nel proceore " Inizio nni 9 # troduzione con il nome di co-proceore mtemtico " Le ALU non compiono olmente nei micro-proceori! E cotituit d circuiti combtori " Rppreentbile come ieme di funzioni logiche! Oper u prole (N bit) " 652, 88, Z-8 8 bit " MIPS, 8386: 32 bit " PowerPC G5, Athlon64: 64 bit! Struttur modulre " Blocchi funzionli d bit, replicti N volte " Blocchi d 4 bit A.A. 25/6 L 6 2/27
Sommrio! ALU u bit: operzioni logiche e omm! ALU u 32 bit: implementzione di ottrzione, confronto e tet di uguglinz A.A. 25/6 L 6 3/27 Struttur 2 livelli di un ALU! Struttur ALU k-eimo bit: Selettore operzione: ALUop! " # " Prte di clcolo Prte di elezione $ " Fluo di elborzione A.A. 25/6 L 6 4/27
Progettzione dell ALU ()*+,! Port AND / OR " Selezionbile b Prte di clcolo Prte di elezione! Componenti: " port AND " port OR " Multiplexer (MUX) ALUop ALUop! AND(,b) ALUop! OR(,b) b A.A. 25/6 L 6 5/27 HALF Adder ( bit)! Somm ritmetic tr 2 bit " 2 grei: ddendi, b " 2 ucite: omm, riporto r b HA r Tbell dell verità b omm riporto $%& %!%"%# '%& %!!#! # $ ' A.A. 25/6 L 6 6/27
FULL Adder ( bit)! Getice nche il riporto greo " 3 grei:!3%#3%' 45 " 2 ucite: $3%'.*6 ' 89! # 7( b r ' +2 $ -./ $ m + m 2 + m 4 + m 7 ' +2 m 3 + m 5 + m 6 + m 7 r out br br + br + br + br + br + br + br A.A. 25/6 L 6 7/27 Semplificndo le epreioni br + br + br + br ( " b)r + ( b + b)r ( " b)r + ( " b)r ( ) " r " b br + br + br + br b( r + r ) + ( b + b)r b + ( " b)r A.A. 25/6 L 6 8/27
Implementzione circuitle ( " b)r + ( " b)r " b b + ( " b)r ( ) " r r # A.A. 25/6 L 6 9/27 Implementzione medinte PLA! Approccio SOP " Cotruico i mtermi " Li ommo lle ucite!%%%%#%%%%' 89 b r A.A. 25/6 L 6 /27
ALU bit con OR,AND,Adder r ALUop b A.A. 25/6 L 6 /27 Sommrio! ALU u bit: operzioni logiche e omm! ALU u 32 bit: implementzione di ottrzione, confronto e tet di uguglinz A.A. 25/6 L 6 2/27
ALU 32 bit! Come? " Collegre le ALU bit per ottenere ALU 32 bit! Prllelizzzione delle ALU, m... " Propgzione dei riporti " Limite ll velocità di clcolo Fluo di clcolo A.A. 25/6 L 6 3/27 Sottrzione! Sottrzione! Addizione dell oppoto: b + ( b)! Complemento 2: b ~b +! Relizzzione: " Inverione logic " Aggiunt dell cotnte Invertitore Iff vertib :;% f ~b # < A.A. 25/6 L 6 4/27
ALUi Propgzione riporti: r (i) (i-) i, 2, 3,...3 Addizione: ;% r (), vertib Sottrzione: ;% r (), vertib ' 89 ALUop! $ # FA A.A. 25/6 L 6 5/27 Comprzione (confronto)! Fondmentle per dirigere il fluo di eecuzione " (tet, cicli...) if < b then " (i), i,2,3,... 3 " () iff ( < b) & (ALUop comprzione ) if (<b)! [ ] ele! [ ] A.A. 25/6 L 6 6/27
Come viluppre l comprzione? < b! b <! MSB dell omm (bit di egno) # MSB! Nuovo greo: LESS Iff ALUop comprzione! i LESS i! Operzioni: " Clcolre l differenz >!%@%#? (enz mndrl ucit) " Invire l ucit del ommtore dei MSB LESS di ALU 3! LESS Quet ucit viene chimt egnle di et A.A. 25/6 L 6 7/27 ALUi con comprtore Le(i) : i,2,3,...3 Le() : 3 iff ( < b) & (S comprzione)! ALUop 2 $ # FA )$$> 8? A.A. 25/6 ' +2 L 6 8/27
Overflow! Eempio decimle: " + b c dove,b,c tutti codificti con 2 cifre decimli " 9, b 83 " Overflow: 9 + 83 ()2! Supponendo defito il bit di egno, poimo crivere: " 9 + 83 2 " L overflow modific il MSB ( compl. 2, dedicto l egno)! Overflow nell omm qundo: + b, >, b >! MSB di e b, MSB di. + b, <, b <! MSB di e b, MSB di.! Si può vere overflow con e b di egno oppoto? A.A. 25/6 L 6 9/27 Circuito di riconocimento dell overflow! 3 grei, tutti dll ALU3: " MSB di, b e omm: 3 b 3 3 3 b 3 3 overflow! A B # A B $ A B Overflow detector over flow A.A. 25/6 L 6 2/27
ALU3 con overflow detector ALUop r r 3 b Le ALU 3 A.A. 25/6 L 6 2/27 ALU complet 32 bit! InvertiB e r IN () ono lo teo egnle " Si può ncor ottimizzre A.A. 25/6 L 6 22/27
Tet di uguglinz beq r, rt lbel iff (r rt), lt! Operzioni necerie " Impotre un differenz. " Effetture l OR logico di tutti i bit omm. " Ucit dell OR logico! i due numeri ono uguli! Operzioni poibili: " AND " OR " Somm / Sottrzione " Comprzione " Tet di uguglinz A.A. 25/6 L 6 23/27 ALU 32 bit: truttur fle ALUop 3 A.A. 25/6 L 6 24/27
Circuito dell omm r i-2 ALUop! 8EB ' 8938EB ALU(i-) i- b i- FA i- Riporto r: vribile tern # 8EB Le i- r i out r i- out r ALUop i $ 8EB! 8 # 8 ' +238EB ' 8938 ALU(i) i b i FA i Le i r i out $ 8 ' +238 A.A. 25/6 L 6 25/27 Cmmi critici! Per ogni tdio: " Somm: C - %& %A " Riporto: C D %& %A! 8EB ' 8938EB # 8EB! Per N tdi: " Somm: C - %& %A " Riporto: C D %& %A 5 N 4 bit!"c R 2 $ 8EB! 8 # 8 ' +238EB ' 8938 $ 8 ' +238 A.A. 25/6 L 6 26/27
I problemi del full-dder! Full Adder con propgzione di riporto è lento " Il riporto i propg equenzilmente crtteritic dell lgoritmo di clcolo " L commutzione dei circuiti non è itntne crtteritic fiic dei dipoitivi! Soluzioni " modificre i dipoitivi " modificre l lgoritmo A.A. 25/6 L 6 27/27