Use redução forçada para criar um circuito que compute
usando apenas deslocadores e somadores.
é uma saída de 12 bits e
é uma entrada de 12 bits. Estime os transistores no circuito e compare com uma estimação de transistores do circuito usando um multiplicador.
Passo 1
Beleza, vamos lá! O exercício pede para a gente criar um circuito que calcule
, usando apenas deslocadores (shifters) e somadores. Aqui,
é uma saída de 12 bits e
é uma entrada de 12 bits. A gente também precisa estimar quantos transistores esse circuito vai ter e comparar isso com um circuito que usa um multiplicador tradicional.
Para resolver isso, vamos precisar entender como funções de multiplicação podem ser implementadas com deslocamentos e somas, que é uma técnica comum em eletrônica digital para simplificar multiplicadores. Vamos passo a passo descobrir como representar a multiplicação por 27 usando essas operações básicas e depois estimar os transistores envolvidos.
Passo 2
Primeiro, vamos decompor o número 27 em potências de 2, porque deslocar à esquerda em binário é equivalente a multiplicar por 2. Assim, podemos expressar 27 como a soma de potências de 2:
. Isso significa que
.
Passo 3
Agora, vamos ver como implementar cada parte dessa soma usando deslocadores e somadores:
- 16 × Q: Para multiplicar por 16, deslocamos
4 bits à esquerda. Em notação, isso seria . - 8 × Q: Multiplicar por 8 é deslocar 3 bits à esquerda:
. - 2 × Q: Multiplicar por 2 é deslocar 1 bit à esquerda:
. - Q: Já temos
como está.
Passo 4
Com esses deslocamentos definidos, agora precisamos somar todos esses valores para obter
:
Isso significa que vamos ter quatro deslocadores que produzem os valores deslocados e depois somamos todos eles usando somadores.
Passo 5
Vamos agora estimar quantos transistores serão necessários para esse circuito. Assumindo que estamos usando somadores de meio bit (half adders) e que cada deslocador pode ser implementado com uma certa quantidade de transistores, podemos fazer uma estimativa simplificada:
- Deslocadores: Cada deslocador pode precisar de aproximadamente 10 transistores por bit deslocado. Como temos deslocamentos de 1, 3 e 4 bits, mais o deslocamento de 0 bits (que é apenas o próprio Q), isso dá:
-
: 10 transistores × 4 bits = 40 -
: 10 × 3 = 30 -
: 10 × 1 = 10 -
: 0 (já está disponível)
-
Total de transistores para deslocadores: 40 + 30 + 10 = 80
- Somadores: Para somar quatro valores de 12 bits, podemos usar uma estrutura de somadores em cascata. Cada bit somado com um carry implica em 2 transistores por bit. Se considerarmos que temos 4 somas de 12 bits cada, podemos estimar:
- 12 bits × 2 transistores × 3 somas (para somar 4 números) = 72 transistores
Total de transistores para somadores: aproximadamente 72
Total geral: 80 (deslocadores) + 72 (somadores) = 152 transistores
Passo 6
Agora, vamos comparar isso com um multiplicador tradicional. Um multiplicador binário de 12 bits geralmente utiliza uma matriz de multiplicação que envolve ANDs e somas, o que pode resultar em um número maior de transistores. Estimativas comuns para multiplicadores de 12 bits estão na ordem de algumas centenas de transistores, geralmente entre 300 a 500, dependendo da implementação específica.
Resposta
Então, usando a técnica de redução forçada com deslocadores e somadores, o circuito para calcular
consome aproximadamente 152 transistores. Em comparação, um multiplicador tradicional de 12 bits geralmente utiliza entre 300 a 500 transistores, tornando a abordagem com deslocadores e somadores mais eficiente em termos de uso de transistores.