Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 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. 2 Primeiro algoritmo Algoritmo 3 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 4 Algoritmo: Exemplo • Vantagens: - ULA de 32 bits. - 1 reg. de 64 bits. 5 • Terceiro Agoritmo Produto0= Produto0= Produto0 6 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. 7 • 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: 8 • 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: 9 • 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: 10 • 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.
Compartilhar