Circuitos digitais II
Projeto: ULA de 1 bit:
A ULA (Unidade Lógico-Aritmética) é um circuito digital pelo qual são realizadas as operações lógicas e aritméticas num processador, tomando decisões lógicas e resolvendo sintaxes lógicas numa determinada programação. Ela tem um papel indispensável para o funcionamento de uma CPU (central de processamentos) e/ou microprocessadores, em sua total abrangência.
Neste trabalho, a ULA (de 1 bit) projetada possui as seguintes funções lógicas: AND,
NAND, OR, NOR, XOR, XNOR e também as aritméticas: Somador Completo e Subtrator
Completo. Entretanto ela não se limita a essa quantidade de operações e muito menos a 1 bit.
É possível introduzir mais bits a uma ULA, assim como outras funções como: inversão, deslocamento (para esquerda ou para direita), identidade e complemento, e determinar se uma quantidade é maior, menor ou igual à outra (comparação).
Para a execução dessas operações ocorre o seguinte processo: a ULA recebe os dados dos registradores, que são basicamente células de memória, vindo da unidade de controle
(UC), que decodificam qual operação a ULA deve realizar. Assim, esses dados são processados e armazenados nos registradores de saída para serem executados.
Para o projeto de ULA de 1 bit criou-se um circuito Decodificador, o qual permitiria definir qual das operações citadas anteriormente deveria ser executada. Analisando as operações que deveriam ser realizadas, verificou-se que o decodificador poderia ser desenvolvido de tal forma onde, com três entradas (E2, E1, E0), cada uma das operações seria executada uma por vez se, e somente se, determinadas entradas estiverem ligadas (1) ou desligadas (0), como mostra a tabela abaixo:
ENTRADAS
SAÍDAS
E2
E1
E0
OPERAÇÃO
0
0
0
AND
0
0
1
NAND
0
1
0
OR
0
1
1
NOR
1
0
0
XOR
1
0
1
XNOR
1
1
0
SOMADOR
1
1
1
SUBTRATOR