Escolar Documentos
Profissional Documentos
Cultura Documentos
Aritmetica
Aritmetica
Aritmtica Computacional
Diogo Pedrosa diogo@dca.ufrn.br DCA CT !"#
Parte do computador que fa2 as opera),es %&gicas e aritm'ticas 3aseado em componentes %&gicos simp%es
Multiplexador
-ntercone4*o da
1A
Vm da unidade de controle
5inais para outras partes do sistema computaciona% (outros e%ementos do 6camin7o de dados8)
Elementos que fornecem os dados que sero usados na operao a ser realizada
Pro9eto de uma
1A simp%es
1A de 1 bit
:pera),es A#D e :"
5ina% ;operation;< define se a sa=da ' um A#D ou um :" entre os bits ;a; e ;b;
Pro9eto de uma
1A simp%es
1A de 1 bit
:pera)*o ;adi)*o;
Pro9eto de uma
1A simp%es
1A de 1 bit
:pera)*o ;adi)*o;
Para transformar em >? bits...
Pro9eto de uma
1A simp%es
1A de 1 bit
:pera)*o ;subtra)*o;
Pro9eto de uma
1A simp%es
1A de 1 bit
(odificar para in$ers*o de ;a;
=( a+ b ) ab
( a+ 0)= a
Pro9eto de uma
1A simp%es
1A de 1 bit
Compara)*o @ circuito comp%icado @ $er situa)*o com >? bits @ muitas $e2es o resu%tado consiste em setar um $a%or de um registrador especia% para ;1;
a< b ( ab )< 0
ma entrada c7amada ;1ess; que se conecta diretamente ao mutip%e4ador de sa=da da 1A Para uma 1A de >? bits s*o necessArias >1 dessas entradas ;1ess;
Pro9eto de uma
1A simp%es
1A de 1 bit
Compara)*o @ circuito comp%icado @ $er situa)*o com >? bits a< b ( ab )< 0
m sa=da c7amada ;5et;B que $em do somador da 1A Circuito detector de o$erf%oC Para uma 1A de >? bits ' necessAriao apenas 1 de%es
Pro9eto de uma
1A simp%es
Duntando tudo...
As entradas ;1ess; das 1As dos bits ;1;B ;?;B EB ;>1; s*o a%imentadas com $a%or ;0; A sa=da ;5et; da 1A de bit ;>1; ' usada como entrada de ;1ess; da 1A ;0;
Pro9eto de uma
1A simp%es
Pro9eto de uma
1A simp%es
5inais da unidade de contro%e
f%ags :35.< %er apHndice C do %i$ro de Patterson (%i$ro a2u%) @ apHndice estA em um CD que $em com o %i$ro (a 3CI( tem esse CDF)
"epresenta)*o 3inAria
5ina%Jmagnitude (inteiros)
3it mais significati$o ' um bit de sina%< ;0; @ positi$oK ;1; @ negati$o :utros bits da pa%a$ra formam o $a%or abso%uto do n+mero
L1M N 00010010 J1M N 10010010 Prob%ema 1< L0 (00000000) e J0 (10000000) Prob%ema ?< adi)*o e subtra)*o binArias
"epresenta)*o 3inAria
3it mais significati$o dA o sina% do n+meroF .ste d=gito tem um peso ($a%or que depende de sua posi)*o no n+mero)
n 2
A =2
n 1
an1+ 2 ai
i=0
an1=1
#+mero fica negati$o
an1=0
#+mero fica positi$o
"epresenta)*o 3inAria
.4tens*o do sina% @ quando se escre$e um n+mero em comp%emento a dois em uma representa)*o que tem mais bits
L1M @ 00010010 (comp%emento a doisB M bits) L1M @ 0000000000010010 (comp%emento a doisB 1O bits) J1M @ 11101110 (comp%emento a doisB M bits) J1M @ 1111111111101110 (comp%emento a doisB 1O bits)
"epresenta)*o 3inAria
.4tens*o do sina% @ quando se escre$e um n+mero em comp%emento a dois em uma representa)*o que tem mais bits
"epresenta)*o 3inAria
.4tens*o do sina% @ quando se escre$e um n+mero em comp%emento a dois em uma representa)*o que tem mais bits
"ea%i2ado na 1A @ prioridade com representa)*o em comp%emento a dois :pera)*o de nega)*o (in$ers*o de sina%)
-n$ers*o %&gica de todos os bits da pa%a$ra 5oma binAria do bit menos significati$o com $a%or ;1;
L1M @ 00010010 (comp%emento a dois) @ 11101101 (in$ers*o %&gica) L1 JJJJJJJJJJJJJJJJJJJJJJJJJJ J1M @ 11101110
:pera)*o de nega)*o
Adi)*o
5oma binAriaB bit a bitB sem se preocupar com sina% Poss=$e% e4istHncia de bit de carry Poss=$e% e4istHncia de overflow
"egra< se dois n+meros s*o somados e ambos s*o positi$os ou ambos negati$osB ent*o o o$erf%oC ocorre seB e somente seB o resu%tado ti$er o sina% oposto.
Adi)*o< e4emp%o
5ubtra)*o
Para subtrair um n+mero (subtraendo) de outro (minuendo)B apan7e o comp%emento de dois (nega)*o) do subtraendo e someJo ao minuendo. A regra do o$erf%oC tamb'm ' $A%ida
5ubtra)*o< e4emp%o
(u%tip%ica)*o
(ais fAci% @ usada para uma me%7or compreens*o da mu%tip%ica)*o binAria 1eitura recomendada< 1i$ro te4to (5ta%%ings)B pAgs. ?0MB ?0P e ?O0.
#*o funciona com a regra de descartar o sina% durante a mu%tip%ica)*o A mu%tip%ica)*o de uma pa%a$ra de ;m; bits com outra de ;n; bits pode gerar um resu%tado de ;mLn; bits A mu%tip%ica)*o baseiaJse em des%ocamentos
A%goritmo de 3oot7
(u%tip%icador e mu%tip%icando @ registradores Q e ( "egistrador de 1 bit @ QJ1 (mantido ao %ado do bit menos significati$o de QB Q0) "esu%tados aparecem em A e Q A e QJ1 s*o inicia%i2ados com 2ero
Des%ocamento para direita A N 1001 @ A N 1100 Q N 0011 @ Q N 1001 Q(J1) N 0 @ Q(J1) N 1 Contador N 4 1 N >
Des%ocamento para direita A N 1100 @ A N 1110 Q N 1001 @ Q N 0100 Q(J1) N 1 @ Q(J1) N 1 Contador N > 1 N ?
Des%ocamento para direita A N 0101 @ A N 0010 Q N 0100 @ Q N 1010 Q(J1) N 1 @ Q(J1) N 0 Contador N ? 1 N 1
Des%ocamento para direita A N 0010 @ A N 0001 Q N 1010 @ Q N 0101 Q(J1) N 0 @ Q(J1) N 0 Contador N 1 1 N 0
"esu%tado< AQ N 00010101
Di$is*o
(ais comp%e4a que a mu%tip%ica)*oB mas menos usua% 3aseiaJse nos mesmos princ=pios gerais "eso%u)*o por a%goritmos :bser$a)*o< di$is*o de inteiros @ n*o tem ponto f%utuante como resu%tado
D =Q V + R
di$idendo quociente di$isor resto
E
base
e4poente
.m binArio...
3ase ' imp%=cita @ n*o precisa ser arma2enada "epresenta)*o po%ari2ada do e4poente
Ga%or fi4o ' subtra=do do campo para obter o $erdadeiro $a%or do e4poente Ga%or< ?UJ1J1 #+mero norma%i2ado
5ignificando
1.bbb b 2
Caracter=sticas
5ina% arma2enado no primeiro bit da pa%a$ra : primeiro bit do $erdadeiro significando ' sempre 1 e n*o precisa ser arma2enado no campo do significando : $a%or 1?/ ' arma2enado ao $erdadeiro e4poente para ser arma2enado no campo de e4poente A base ' ?
1imites
: o$erf%oC ocorre quando uma opera)*o aritm'tica resu%ta em uma magnitude maior do que pode ser e4pressa com um e4poente de $a%or 1?M
Padr*o -... /04 !aci%itar a portabi%idade dos programas entre processadores diferentes
Adi)*o e subtra)*o
A%in7amento dos operandos @ tHm que ter o mesmo e4poente :pera),es diretas e simp%es :$erf%oC do e4poente @ L-nf ou J-nf nderf%oC do e4poente @ resu%ta em 0F :$erf%oC do significando nderf%oC do significando
(u%tip%ica)*o e di$is*o
Adi)*o e 5ubtra)*o
A%goritmo de di$is*o
:utras considera),es
3its de guarda
"egistradores da 1A possuem um taman7o maior do que a quantidade de bits para arma2enar os significandos com os bits imp%=citos Quando o resu%tado ' gerado pe%os registradores de taman7o maiorB e%e precisa $o%tar para os registradores de ponto f%utuante. #issoB os bits de guarda de$er*o ser descartados... imp%ica ent*o em arredondamento
Arredondamento