Circuitos aritmeticos - e-learning-IEFP

Propaganda
Circuitos Aritméticos
Notas:
Semi-Somador
Quando queremos proceder à realização de uma soma em binário,
utilizamos várias somas de dois bits para poderemos chegar ao
resultado final da operação.
Podemos, então, preparar uma tabela de verdade mostrando Si para
todas as combinações possíveis de Ai e Bi.
Esta tabela de verdade poderia ser implementada por uma estrutura
de portas que não precisaria envolver mais de dois níveis de portas.
Obviamente, seriam necessárias tantas estruturas quantos fossem os
dígitos da soma. Na figura abaixo representamos um circuito capaz de
somar dois bits e fornecer o resultado e transporte resultantes da
operação.
Fig.24 – Circuito de um Semi-Somador.
Ai
Bi
Si
Ci+1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
Tabela 4 – Tabela de verdade de um Semi-Somador.
O circuito somador apresentado acima pode, de facto, realizar uma
soma de dois bits, mas torna-se ineficaz quando a soma se torna
mais extensa.
A interligação deste tipo de bloco somador torna-se impossível visto
que a saída de transporte fornecida por este circuito não encontra
entrada no bloco seguinte.
Deste modo, o semi-somador aqui apresentado só poderá ser usado
na soma dos dois bits menos significativos, visto que é a única
operação que não necessita de transporte vindo da etapa
antecessora.
Somador Completo
Numa soma de dois números binários de n bits, realizada coluna a
coluna, os dígitos menos significativos A0 e B0 são somados em
primeiro lugar, gerando um bit de soma S0 e um bit de transporte C1.
Para realizar esta operação, seria adequado apenas um
semi-somador. Na próxima posição, todavia, devemos combinar três
dígitos: os bits A1 e B1 e o bit de transporte C1 da coluna anterior.
São necessárias somas similares de três bits nas colunas seguintes.
Tal como na soma de dois dígitos, na de três dígitos Ai, Bi e o
transporte Ci geram um resultado da soma Si e um transporte Ci+1
(Co).
De seguida, pode observar um circuito somador completo (Fig.25) e
uma tabela de verdade para Si e Ci+1 (Tabela 5).
Fig.25 – Circuito Somador Completo.
Ai
0
0
0
0
1
1
1
1
Bi
0
0
1
1
0
0
1
1
Ci
0
1
0
1
0
1
0
1
Si
0
1
1
0
1
0
0
1
Ci+1
0
0
0
1
0
1
1
1
Tabela 5 – Tabela de verdade de um Somador Completo.
A soma em paralelo usa um número de blocos somadores completos
de acordo com os bits dos números a serem somados.
Em princípio, o primeiro somador usado para A0 e B0 poderia ser um
semi-somador. Se for usado um somador completo, a entrada de
transporte do primeiro somador deve ser 0.
O primeiro somador combina, então, A0 e B0 para obter um bit de
soma S0 e um bit de transporte C1.
Notas:
Este bit de transporte é combinado no somador seguinte com os bits
A1 e B1 para gerar S1 e C2, e assim por diante.
Notas:
Fig.26 – Circuito Somador Combinado.
Subtracção usando o Complemento a 2
Sabemos que podemos realizar operações de subtracção usando uma
soma, se calcularmos o complemento a dois do segundo operando: Z
= A – B = A + (– B).
Sabemos também que o complemento a dois de um número envolve
uma operação de negação e outra de adição: –B = (NOT B) + 1.
Podemos então expressar a operação apenas com operações de
adição: Z = A + (NOT B) + 1.
Na figura abaixo podemos verificar a realização prática deste tipo de
subtractor.
O complemento a 1 do subtractor é realizado por portas inversoras,
enquanto que a soma de uma unidade realiza-se colocando a entrada
de transporte da primeira etapa somadora a um nível lógico 1.
Fig.27 – Circuito Subtractor.
Comparador
Notas:
Como o nome indica, os comparadores digitais são utilizados para
comparar dois números escritos em binário, indicando nas suas saídas
se um número é maior, menor ou igual a outro.
Os números a comparar podem ter um comprimento ou número de
bits que em princípio depende apenas da aplicação em vista.
O comparador mais simples será o que compara dois números A e B
de apenas 1 bit, tendo 3 saídas M, m e l.
Fig.28 – Circuito Comparador.
Se quisermos, no entanto, comparar mais do que um bit, teremos que
ligar módulos comparadores de 1 bit em cascata, de modo que a
informação se vá transmitindo de uns para outros, como se mostra na
figura abaixo.
Fig.29 – Circuito comparador múltiplo.
Repare-se que o módulo das entradas A7, B7 é igual ao que vimos
atrás, mas os módulos seguintes, além das entradas de dados, têm
mais três entradas adicionais a que chamamos M’, m’, I’ e que
indicam se nos módulos à sua esquerda os números parciais A e B
correspondem a A>B, A<B ou A=B.
Como se pode observar na Figura 29, os módulos de maior peso são
ligados aos de menor peso, visto que a comparação de dois números
se realiza a partir dos bits mais significativos.
Se durante a comparação de dois bits se verificar uma igualdade, o
próximo módulo irá comparar os dois bits seguintes.
No entanto, se durante a comparação se verificar uma diferença nos
bits comparados, determina-se imediatamente o resultado global da
comparação.
Na Figura 30 encontra-se o circuito interno de um comparador capaz
de aceitar o resultado de uma comparação anterior.
Fig.30 – Circuito para aceitação de uma comparação.
Notas:
Download