Instituto de Informtica UFG 1S/!!" Representao de Dados e Aritimtica Computacional #oteiro $%meros inteiros sina&i'ados e n(o) sina&i'ados *pera+,es aritim-ticas $%meros de ponto f&utuante Unidade ./0ico)Aritim-tica 12ecuta c&cu&os 3odos os demais componentes do computadores e2istem em fun+(o de&a Manipu&a n%meros inteiros Pode manipu&ar n%meros de ponto f&utuante 4n%meros reais5 FPU 4Floating Point Unit5 inte0rado no c6ip do processador7 ou em um co)processador separado 4obso&eto5 U.A 4A.U58 1ntradas e Sa9das #epresenta+(o de inteiros Apenas ! e 1 para representar tudo $%meros positi:os s(o arma'enados em repr. binria ;direta< 12.8 "1 = !!1!1!!1 Sem sina& de menos Sem ponto decima& 4:9r0u&a5 >uas representa+,es poss9:eis8 Sina&)e)ma0nitude Comp&emento de dois #epresenta+(o em sina&) ma0nitude ?it mais @ esquerda 4mais si0nificati:o5 - o bit de sina& !8 positi:o 18 ne0ati:o 12.8 A1B = !!!1!!1! )1B = 1!!1!!1! Prob&emas 1m opera+,es aritim-ticas - preciso considerar ambos o sina& e a ma0nitude >uas representa+,es para 'ero 4A! e )! CCC5 #epresenta+(o em comp&emento de dois AD = !!!!!!11 A = !!!!!!1! A1 = !!!!!!!1 ! = !!!!!!!! )1 = 11111111 ) = 1111111! )D = 111111!1 Comp&emento de dois8 ?enef9cios Uma %nica representa+(o para 'ero Aritim-tica mais simp&es 4:eEa a se0uir5 *pera+(o de ne0a+(o torna)se mais simp&es8 D = 00000011 comp&emento boo&eano8 11111100 Soma 1 ao bit menos si0nific. 4.S?58 11111101 #epresenta+(o 0eom-trica de inteiros em comp&emento de dois $e0a+(o8 Caso especia& 1 ! = !!!!!!!! $e0a+(o bit)a)bit 11111111 Soma 1 ao .S? A1 #esu&t 1 !!!!!!!! Overflow - i0norado7 ent(o8 ) ! = ! $e0a+(o8 Caso especia& )1B = 1!!!!!!! $e0a+(o bit)a)bit !1111111 Soma 1 ao .S? A1 #esu&tado = 1!!!!!!! 1nt(o8 )4)1B5 = )1B F Monitorar MS? 4bit de sina&58 1&e de:e mudar ap/s uma ne0a+(oC Fai2a de n%meros Comp&emento de de B bits A1G = !1111111 = G )1 )1B = 1!!!!!!! = ) G Comp&emento de de 1H bits ADGHG = !11111111 11111111 = 1I ) 1 )DGHB = 1!!!!!!!! !!!!!!!! = ) 1I Con:ers(o entre taman6os e 12tens(o de sina& $%meros positi:os8 'eros @ esquerda A1B = !!!1!!1! A1B = !!!!!!!! !!!1!!1! $%meros ne0ati:os8 1Js @ esquerda )1B = 111!111! )1B = 11111111 111!111! i.e. reprodu' o bit de sina& @ esquerda Adi+(o e subtra+(o Adi+(o binria norma& Monitorar o overflow do bit de sina& Subtra+(o8 3ome o comp&emento de dois do subtraendo e adicione)o ao minuendo i.e.8 a b = a A 4)b5 Assim7 n/s precisamos apenas de circuitos de adi+(o e de comp&emento KardLare para adi+(o e subtra+(o Mu&tip&ica+(o Mais comp&e2a8 *pera)se o produto parcia& para cada d90ito 4do mu&tip&icador5 >es&oca cada produto parcia& uma casa @ esquerda Adiciona)se os produtos parciais Mu&tip&ica+(o de n%meros inteiros de n bits8 produto com at- 2n bits 12emp&o de mu&tip&ica+(o 1!11 Mu&tip&icando 411 decima&5 2 11!1 Mu&tip&icador 41D decima&5 1!11 Produtos parciais !!!! *bs.8 se o bit mu&tip&icador - 17 1!11 copia)se o mu&tip&icandoM 1!11 do contrrio8 'ero 1!!!1111 Produto 41"D decima&5
*bs.8 requer resu&tado de taman6o dup&o Mu&tip&ica+(o binria n(o) sina&i'ada A&0oritmo direto 12ecu+(o de um e2emp&o Mu&tip&ica+(o de n%meros ne0ati:os A&0oritmo direto 4anterior5 n(o funciona se um dos dois n%meros for ne0ati:o So&u+(o 1 con:erter para positi:o7 se necessrio mu&tip&icar como acima se os sinais forem diferentes7 ne0ar a resposta So&u+(o A&0oritmo de ?oot6 A&0oritmo de ?oot6 12emp&o 4a&0oritmo de ?oot65 >i:is(o Mais comp&e2a que a mu&tip&ica+(o Pior para n%meros ne0ati:os ?aseado na opera+(o com ;&pis e pape&< >i:is(o de n%meros inteiros n(o sina&i'ados ) 12emp&o Divisor Quociente Resto Restos Parciais Dividendo 10010011 1011 1011 00001101 001110 1011 001111 1011 100 $%meros reais $%meros com fra+,es Poderiam ser representados em binrio puro 1!!171!1! = D A ! A )1 A )D = N7HI *nde fica o ponto binrioO Fi2oO muito &imitado M/:e&O como mostrar onde e&e estO Ponto F&utuante +/- 0,<mantissa> X 2 <expoente> * ponto - fi2ado entre o bit de sina& e o corpo da mantissa * e2poente indica a posi+(o 4re&ati:a5 do ponto B i t
s i n a l Expoente Polarizado Mantissa #epresenta+(o ?inria Po&ari'ada Repr. Decimal Repr. Polarizada +8 1111 +7 1111 +6 1110 +5 1101 +4 1100 +3 1011 +2 1010 +1 1001 +0 1000 -0 0111 -1 0110 -2 0101 -3 0100 -4 0011 -5 0010 -6 0001 -7 0000 -8 - Vantagem principal: Pcompara+(o direta P&/0ica mais simp&es Uso na notao de Ponto Flutuante: P* e2poente rea& - con:ertido para a forma po&ari'ada 12emp&os de n%meros de ponto f&utuante Fai2a de $%meros #epresent:eis com D bits #eferQncias Stallings (* Cap. B8 Aritim-tica Computaciona& Patterson ! "enness# Cap. "8 Aritim-tica Computaciona& 4R5 referQncia principa& 12erc9cios Sta&&in0s B." a B.H B.1" a B.1H