Você está na página 1de 10

4.

6 Multiplicação

• Multiplicando: 1000, Multiplicador: 1001

1000
x 1001
1000
0000
0000
1001____
1001000

• Número de dígitos: multiplicando +


multilicador.
• 16 bits x 16 bits = 32 bits.
• Algoritmo:
• Deslocamento para a esquerda.
• Soma, ou não soma, dependendo
do bit do multiplicando.

Veremos: 3 versões do algoritmo de


multiplicacação 32 x 32 bits.

1
Primeiro algoritmo

Algoritmo

2
Exemplos:
Mult. 2 números de 4 bits: 00102 e 00112.

Desvantagens
• ULA de 64 bits.
• 2 registradores de 64 bits.

Segunda versão do algoritmo

3
Algoritmo:

Exemplo

• Vantagens: - ULA de 32 bits.


- 1 reg. de 64 bits.
4
• Terceiro Agoritmo

Produto0= Produto0=
Produto0

5
Vantagens:
• ULA de 32 bits.
• Apenas 1 reg. de 64 bits.

Exemplo:

Multiplicação com Sinal

• Método simples:
• Converter o multiplicador e o
multiplicando para números positivos,
guardando os sinais originais.
• Fazer as 31 iterações, ignorando os
sinais.
• Trocar o sinal do produto se os sinais
do multiplicador e do multiplicando
forem diferentes.
6
• Outro método:
• Usar o mesmo algoritmo usando
extensão de sinal do produto:

11111110 x 00000011

O Algoritmo de Booth

• Bom para números com sinal.


• Há várias maneiras de se calcular um
produto com somas e subtrações.

• Outra forma:

7
• Método:
• Para os zeros mais à esquerda,
somar zeros.
• Para o primeiro 1: subtrair o dois.
• Nos outros 1’s: zeros.
• No próximo zero: somar.
• Exemplo:

• Objetivo: fazer mais deslocamento do


que somas.
• Seqüências de 1’s:

• Possíveis seqüências de 1’s:

8
• Varrer o multiplicador, e dependendo
do bit atual e do bit à sua direita:

• No LSB, utilizar um bit 0 imaginário à


direita.
• Exemplo de testes:

9
• Exemplo:
2 x –3 = 0010 x 1101 = 11111010

Para casa: mostrar por que o algoritmo


de Booth funciona.

Multiplicação por 2j por via de


deslocamentos: Ver livro.

10

Você também pode gostar