Introdução à Arquitetura de Computadores/As Operações da Unidade Lógica Aritmética: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Nova página: Computadores são máquinas de calcular. Logo, é fundamental que eles sejam capazes de realizar operações básicas como adição, subtração, divisão e multiplicação. Vamos ver ...
 
Sem resumo de edição
Linha 12:
 
O mesmo circuito acima também pode ser reaproveitado para realizar subtrações. Basta inverter antes todos os bits do segundo operando e somar 1 à ele. Com isso, estamos na verdade somando o primeiro operando com o negativo do segundo operando.
 
== A Multiplicação ==
 
Vamos agora estudar como construir um circuito capaz de realizar multiplicações. Primeiro vamos tentar realizar uma multiplicação pelo método convencional que usamos através de papel e caneta. Isso pode nos dar uma pista de como fazer uma operação de multiplicação. Vamos usar a base binária:
 
1000
x1001
----
1000
00000
000000
1000000
-------
1001000
 
Perceba que a multiplicação é um conjunto de somas. Sempre estamos somando o valor 0 ou o valor do multiplicador após este passar por uma operação de SHIFT para a esquerda. O que determina se o que iremos somar é um 0 ou o valor do multiplicador após um SHIFT são os bits do multiplicando. Se o bit da posição n for um 0, somamos 0 e se for 1, somamos com o valor do multiplicando "shiftado" n vezes.
 
Um exemplo de um circuito seqüencial capaz de somar dois números de 4 bits é mostrado na imagem abaixo:
 
[[Imagem:Circuito_multiplicacao.png]]
 
Note que multiplicando números de 4 bits, nós precisamos armazenar os 8 bits possíveis para o resultado. Afinal, o resultado de uma multiplicação é capaz de ter o número de bits igual à soma dos multiplicandos. Máquinas MIPS lidam com o problema dividindo o resultado pela metade. os bits mais significativos terminam em um registrador chamado '''Hi''' e os menos significativos acabam em um registrador chamado '''Lo'''.
 
Entretanto, o circuito conforme mostrado acima tem muitos problemas. O principal é que ele é muito complexo. Perceba que o circuito para multiplicar número de 4 bits é pelo menos 3 vezes mais complexo e lento que o usado para realizar a adição de 8 bits (afinal, o circuito de multiplicação precisa realizar a adição de 3 pares de valores de 8 bits). Um circuito destes para calcular a multiplicação de números com um valor ainda maior de bits seria ainda mais complexo que isso.
 
Com isso, chegamos à conclusão que a multiplicação é uma operação complexa demais para ser efetuada por meio de uma simples lógica combinacional de portas lógicas. Um circuito de multiplicação combinacional seria muito caro e esquentaria demais. Por isso, sua velocidade teria que ser sacrificada aumentando a distância dos transistores. Por isso, utilizam-se circuitos seqüenciais para realizar esta operação.
 
[[Categoria: Ciência da Computação]]
 
[[Categoria: Ciência da Computação]]