Documente Academic
Documente Profesional
Documente Cultură
Infraestrutura de Hardware
FABRCIO DE MENESES LUNA
INTRODUO
A unidade lgica e aritmtica (ULA) ou em ingls Arithmetic Logic
Unit (ALU) um circuito digital que realiza operaes lgicas e aritmticas. A
ULA uma pea fundamental da unidade central de processamento (CPU), e
at dos mais simples microprocessadores. na verdade, uma "grande
calculadora eletrnica" do tipo desenvolvido durante a II Guerra Mundial, e sua
tecnologia j estava disponvel quando os primeiros computadores modernos
foram construdos.
PROJETO
A unidade lgica aritmtica dever ser capaz de executar as seguintes
operaes, que sero selecionadas a partir dos cdigos da tabela abaixo:
Seleo
S2 S1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Funo
S0
0
1
0
1
0
1
0
1
F=A+B
F=A-B
F = Complemento a 2 de B
F=A=B
F=A>B
F=A<B
F = A AND B
F = A XOR B
Entradas:
1. Dois vetores A e B de 4 bits (1 para sinal e 3 para o mdulo) representando
os operandos. Esses nmeros so binrios positivos ou negativos
(complementados a 2).
2. Um vetor S de 3 bits representando o seletor da operao segundo a tabela
exibida acima.
Sadas:
1. Um vetor F de 4 bits representando o resultado da operao (para os casos
em que a operao retorna um vetor).
2. Um sinal representando overflow (para as operaes que podem gerar
overflow)
3. Um sinal representado status (para as operaes que retornam um booleano)
Componentes
Entradas
Dois vetores de (A e B) de 4 bits, sendo o primeiro bit de sinal (0 para
positivo e 1 para negativo). Caso o nmero seja negativo, deve-se usar
Complemento a 2 para representa-lo
Chave seletora
Encarregada de determinar qual funo ser usada de a acordo com a
seleo, obedecendo o quadro a seguir:
Seleo
S2 S1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Funo
S0
0
1
0
1
0
1
0
1
F=A+B
F=A-B
F = Complemento a 2 de B
F=A=B
F=A>B
F=A<B
F = A AND B
F = A XOR B
Display de 7 segmentos
Foi utilizado o esquema de display de7 segmentos para mostrar as
entradas (A e B), e tambm, para representar a sada. O display inserido a
esquerda, possui apenas a ligao com o bit de sinal de sua respectiva entrada
ou sada, caso o bit seja 1, o sinal do centro aceso. O display capaz de
mostrar nmeros de -7 a 7
Somador-Subtrator
o principal circuito, onde todas as funes passam por ele para serem
computadas. Recebe 9 bits de entrada, sendo 4 de A, 4 de B e 1 bit de seleo
(0 para soma e 1 para subtrao. Temos 4 bits de sada para o resultado e 1 bit
de sada para Overflow.
Circuito Somador-Subtrator
Temos 4 Somadores Completos ligados em sequncia, onde recebem as
entradas A e B, e tambm a entrada de seleo (0 para soma e 1 para
subtrao). No caso de soma, as entradas de A e B entram diretamente nos
somadores completos para que possa ser realizada a operao.
J em caso de subtrao, a chave seletora, envia 1 como entrada no s
para o primeiro somador completo, mas tambm para os XORS onde as
entradas de B esto ligadas. Sendo assim, todas as entradas de B sero
invertidas (1 por 0 e 0 por 1), realizando o complemento a 1. E somando isso a
1 bit de entrada no primeiro somador completo, possvel se obter o
complemento a 2, gerando o nmero negativo.
Temos 4 bis de sada, sendo 1 de sinal e 1 bit de Overflow. O overflow
indica que o resultado da operao no dever ser usado. As condies para
que haja overflow so as seguintes:
Operao
A+B
A+B
A-B
A-B
Operador A
>=0
<0
>=0
<0
Operador B
>=0
<0
<0
>=0
Somador Completo
Utilizado em sequncia para formar o somador subtrator. Trata-se de um
circuito que recebe 2 bits de entrada (A e B) e tambm o Cin (Vem um). Tem
como sada S (resultado da soma) e Cout (Vai um).
XOR
Temos 8 entradas, 4 bits de A e 4 Bits de B, com 4 sadas.
Circuito XOR
Dadas as entradas A e B, realizada a funo XOR em cada elemento,
resultando em 4 sadas. A0 xor B0; A1 xor B1; A2 xor B2; A3 xor B3.
AND
Temos 8 entradas, 4 bits de A e 4 Bits de B, com 4 sadas.
Circuito AND
Dadas as entradas A e B, realizada a funo AND em cada elemento,
resultando em 4 sadas. A0 and B0; A1 and B1; A2 and B2; A3 and B3.
Sadas
Se tem como sada, um vetor de 4 bits ou um sinal de status para os
resultados booleanos. Esses resultados so obtidos aps as informaes
passarem pelo multiplexador. Foi inserido tambm um circuito de display de 7
segmentos para mostrar nos displays as respostas, caso seja o vetor.
Overflow
acionado caso exista a condio descrita no quadro visto em
Somador-Subtrator, e em qualquer outro caso em que o resultado no dever
ser considerado.
Erros encontrados
Em operaes que o resultado seria 8 (valor a cima do limite da ULA), o
resultado mostrado era -0 e o overflow no era indicado. Para contornar esse
erro, foi feita a condio para que caso ocorra, o overflow aceso, indicando que
o resultado no vlido.
Explicando as funes
A+B (000)
Recebe-se como entradas A e B, os valores so mostrados em seus
respectivos displays e enviados para o Somador-Subtrator, que realiza a
operao de soma e manda o resultado para os multiplexadores, que identificam
de acordo com a chave seletora e por fim, exibem o resultado, em leds e tambm
no display.
A-B (001)
Recebe-se como entradas A e B, os valores so mostrados em seus
respectivos displays e enviados para o Somador-Subtrator, que realiza a
operao de subtrao usando o complemento de 2 e manda o resultado para
os multiplexadores, que identificam de acordo com a chave seletora e por fim,
exibem o resultado, em leds e tambm no display.
Complemento a 2 de B (010)
Recebe-se como B, que mostrado no display, o valor de A no usado
o valor enviado para o Somador-Subtrator, que realiza a operao subtraindo
B de 0 usando complemento de 2 e manda o resultado para os multiplexadores,
que identificam de acordo com a chave seletora e por fim, exibem o resultado,
em leds e tambm no display.
A=B (011)
Recebe-se como entradas A e B, os valores so mostrados em seus
respectivos displays e enviados para o Somador-Subtrator, que realiza a
operao de subtrao e caso o resultado seja 0, a operao verdadeira. O
resultado enviado para o multiplexador, que identifica de acordo com a chave
seletora e por fim, exibem o resultado no led de status.
A>B (100)
Recebe-se como entradas A e B, os valores so mostrados em seus
respectivos displays e enviados para o Somador-Subtrator, que realiza a
operao de subtrao e caso o resultado no seja 0 e o bit de sinal seja igual
a 0 a operao verdadeira. O resultado enviado para o multiplexador, que
identifica de acordo com a chave seletora e por fim, exibem o resultado no led
de status.
A<B (101)
Recebe-se como entradas A e B, os valores so mostrados em seus
respectivos displays e enviados para o Somador-Subtrator, que realiza a
operao de subtrao e caso o resultado no seja 0 e tambm no seja A>0,
A xor B (111)
Recebe-se como entradas A e B, os valores so mostrados em seus
respectivos displays e enviados para o circuito XOR, onde feita a comparao
bit a bit, enviado o resultado para os multiplexadores, que identificam de acordo
com a chave seletora e por fim, exibem o resultado, em leds e tambm no
display.
Dificuldades encontradas
Uma das dificuldades encontradas foi na exibio de valores a serem
mostrados no display, que foi tratado utilizando o circuito Somador-Subtrator
juntamente como circuito de Display de 7 Segmentos.
Outra dificuldade encontrada, foi quanto ao tratamento de Overflow, que
foi feito com a ajuda a tabela de condies de Overflow do livro: Organizao e
projeto de computadores : [a interface hardware-software] - 3. ed. / 2005.