O que é uma ULA (Unidade Lógica e Aritmética) e como ela pode calcular diferentes funções?
Passo 1
O enunciado pergunta o que é uma ULA (Unidade Lógica e Aritmética) e como ela consegue calcular funções diferentes. O conteúdo envolve arquitetura de computadores e lógica digital, mais precisamente o projeto de circuitos combinacionais que realizam operações aritméticas e lógicas sob controle de sinais de seleção.
Passo 2
Uma ULA é um circuito combinacional que recebe dois operandos binários de largura
(por exemplo,
e
) e um conjunto de sinais de controle
, e produz de forma instantânea (sem memória) um resultado
e, normalmente, flags de status (como zero ou overflow). A ideia é agrupar em um único bloco várias operações elementares, deixando a escolha da operação para sinais de controle.
Passo 3
Internamente, a ULA costuma ter dois submódulos principais:
- Unidade Aritmética – tipicamente um somador de
bits capaz de fazer adição e, via complemento de dois, subtração. - Unidade Lógica – conjunto de gates que realizam AND, OR, XOR, NOT etc., bit a bit sobre os mesmos
bits.
Passo 4
Os resultados gerados pela Unidade Aritmética e pela Unidade Lógica são enviados a um multiplexador de largura
. Esse multiplexador seleciona qual dos resultados deve ser apresentado em saída, de acordo com o código binário nos sinais de controle
. Por exemplo:
Passo 5
A geração dos sinais de controle
pode vir de uma unidade de controle (hard-wired ou microprogramada), que, segundo a instrução da CPU, escolhe o código correspondente à função desejada. Assim, alterando apenas
, a mesma ULA pode executar qualquer operação para a qual ela foi projetada.
Resposta
Uma ULA é um circuito combinacional que agrupa uma unidade aritmética (somador/subtrator) e uma unidade lógica (AND, OR, XOR etc.) e usa um multiplexador controlado por sinais de seleção para escolher qual operação será entregue na saída. Dessa forma, basta mudar os sinais de controle para calcular diferentes funções usando o mesmo hardware.