Use redução forçada para criar um circuito que compute P=27 * Q usando apenas deslocadores e somadores. P é uma saída de 12 bits e Q é 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 P = (Q << 4) + (Q << 3) + (Q << 1) + Q :
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.

Exercícios relacionados