Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmo de Booth:
Multiplicando = M = b b b b b b Multiplicador = 0 1 0 1 1 0
5 4 3 2 1 0
Produto = M multiplicador b b b b b b 0 1 0 1 1 0
5 4 3 2 1 0
Implementao em hardware:
Trabalho:
Projetar circuito multiplicador de inteiros, baseado no algoritmo de Booth Implementar circuito projetado no LogiSim Fazer relatrio sobre circuito projetado +
0 0 0 0 0 0 b b b b b b 0 b b b b b b 0 0 0 0 0 0 0 0 0 0 0 b b b b b b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Produto
= = =
M 21 = M 1 M 22 = M 2 M 24 = M 4
M 1
+ M 2
+ M 4
Ideia
A = 0 0 1 0 0 0 0 0
7 6 5 4 3 2 1 0
= 25
Multiplicao:
B = 0 0 0 1 1 1 1 1
7 6 5 4 3 2 1 0
= 24 + 23 + 22 + 21 + 20 = A 1 = 25 1
M 0 1 1 0 0 1 1 1 C = 0 0 0 0 0 0 1 1
7 6 5 4 3 2 1 0
= 2 +2
= 2 1
7 6
D = 0 0 0 1 1 1 0 0
7 6 5 4 3 2 1 0
= BC = (25 1) (22 1) = 25 1 22 + 1 = 25 22
= Idia:
E = 0 1 1 0 0 1 1 1
7 6 5 4 3 2 1 0
= 27 25 + 23 20
Soma multiplicando, devidamente shiftado, ao produto Subtrai multiplicando, devidamente shiftado, ao produto
Exemplos
Algoritmo de Booth
Exemplo 1:
Multiplicao:
Multiplicando = M Multiplicador = 0 0 0 0 0 1 1 1
7 6 5 4 3 2 1 0
Produto = M 00000111 = (M 23 ) (M 20 ) = (M 3) (M 0)
Inicializao:
Representa multiplicando com 2 n bits, estendendo o sinal Representa multiplicador com n bits Representa produto com 2 n bits, inicializado com o valor 0 Usa um bit extra, denominado bit descartado, inicializado com 0
Exemplo 2:
Multiplicando = M Multiplicador = 0 1 0 0 1 1 1 0
7 6 5 4 3 2 1 0
Produto = M 01001110 = (M 27 ) (M 26 ) + (M 24 ) (M 21 ) = (M 7) (M 6) + (M 4) (M 1)
Repete n iteraes: 1. Testa bit menos signicativo do multiplicador e bit descartado: Se so 0 e 0 Ento No faz nada (est entre dois blocos de bits 1s consecutivos) Seno, se so 1 e 1 Ento No faz nada (est dentro de um bloco de bits 1s consecutivos) Seno, se so 1 e 0 Ento Faz produto = produto multiplicando (est comeando um bloco de bits 1s consecutivos) Seno, se so 0 e 1 Ento Faz produto = produto + multiplicando (terminou um bloco de bits 1s consecutivos) 2. Shifta multiplicando 1 bit para a esquerda, inserindo um bit 0 na direita Shifta multiplicador 1 bit para a direita, inserindo um bit 0 na esquerda Guarda o bit desprezado da direita do multiplicador em bit descartado
7
Multiplicando = 0010
Iterao Passo
Multiplicador = 0011
Multiplicador 0011
"
Bit descartado 0
"
Inicializao 1 1 2 2 1 2 3 1 2 4 1 2
0000 0100
"
0001
"
1
"
0000 1000
"
0000
"
1
"
0000 0110
" " "
0001 0000
"
0000
"
0
"
0010 0000
0000
Trabalho
Relatorio do Trabalho
1. Circuito multiplicador projetado
Para multiplicando e multiplicador de 4 bits cada e produto de 8 bits Projeto deve permitir generalizao para n bits Questes a serem denidas no projeto:
Sinais de entrada, de sada e internos, largura em bits dos sinais Mdulos internos, largura em bits dos mdulos internos
Quais mdulos internos ? Qual a largura em bits dos mdulos ? Precisa de unidade de controle ? Precisa de sinal do clock ?
Se sim, fazer exemplo de execuo com operando(s) negativo(s) Se no, possvel modic-lo para funcionar com nmeros negativos ? Descrever modicaes
10
Uma operao de multiplicao consome quantos ciclos do clock ? Um nico ciclo ou ...
possvel modicar o projeto do multiplicador, para reduzir custo do hardware e/ou melhorar desempenho ? Se sim, descrever modicaes e por que melhora
Sinal de sada:
produto : 8 bits
Comportamento:
11
12
Entrega do Trabalho
Arquivo mult.circ do LogiSim com circuito mult desenvolvido Arquivo relatorio.pdf com:
Importante:
Circuito desenvolvido deve usar exatamente a interface fornecida de sinais de entrada e sada Correo do circuito ser automtica
13