Assumindo que portas AND tem atraso de 2 ns , portas OR tem atraso de 1 ns e portas XOR tem atraso de 3 ns , compute o máximo tempo requerido para realizar a soma de dois números de 8 bits usando um somador com propagação do carry.
Passo 1
Primeiro, vamos entender o que a questão está pedindo. Temos três tipos de portas lógicas: AND com atraso de 2 ns, OR com atraso de 1 ns e XOR com atraso de 3 ns. O objetivo é calcular o tempo máximo necessário para somar dois números de 8 bits usando um somador com propagação do carry. Vamos utilizar conceitos de eletrônica digital, especificamente sobre somadores binários e atrasos de portas lógicas.
Passo 2
Um somador com propagação do carry é um circuito que adiciona dois números binários, bit a bit, propagando o carry (vai-um) de um bit para o próximo. O tempo total para a soma depende de quanto tempo o sinal de carry leva para propagar do bit menos significativo ao mais significativo.
Passo 3
Em um somador de um bit (somador completo), a soma é calculada usando uma porta XOR e a saída de carry é calculada usando portas AND e OR. A fórmula para o carry é:
Onde:
-
e são os bits a serem somados. -
é o carry de entrada. -
é o carry de saída.
Passo 4
Vamos analisar os atrasos das portas para calcular o tempo total por bit:
-
: Usa uma porta AND → 2 ns -
: Usa uma porta OR → 1 ns -
: Usa outra porta AND → 2 ns -
: Usa uma porta OR → 1 ns
Passo 5
Somando os atrasos para um único bit:
Isso significa que cada bit adiciona um atraso de 6 ns ao processo de soma devido à propagação do carry.
Passo 6
Como estamos somando dois números de 8 bits, o carry precisa passar por 8 bits. Portanto, o tempo total máximo será:
Resposta
O tempo máximo requerido para somar dois números de 8 bits usando um somador com propagação do carry é de 48 ns.
Exercícios relacionados
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.
Projete um multiplicador de 8 bits do tipo array-style.
Projete um circuito que compute
e
são entradas de 16 bits, e
é uma saída de 16 bits. Use multiplicadores e somadores de 16 bits no projeto. Ignore os problemas de overflow.
Projete um sistema para um termômetro digital que pode compensar erros no sensoriamento da temperatura na saída
do equipamento, o qual é uma entrada de 8 bits para o sistema. O valor de compensação só pode ser positivo e entra no sistema como um número binário de 3 bits
e
(
é o menos significativo), proveniente de uma chave do tipo DIP-Switch. O sistema deve apresentar a temperatura compensada através de uma saída
de 8 bits.