ULA
Unidade Lógica e Aritmética
Introdução à Ciência da Computação
Registradores
• O processador contém elementos de memória de
pequena capacidade mas de alta velocidade, usados
para armazenar resultados temporários, chamados de
registradores.
• O conjunto desses registradores é denominado banco
de registradores.
• Esses registradores são referenciados explicitamente
pelas instruções lógicas, aritméticas e de transferência
de dados.
• Existe um registrador especial denominado contador de
programa - PC, que contém o endereço da próxima
instrução a ser executada.
• Um outro registrador, chamado de registrador de
instrução - IR, contém a instrução que está sendo
executada.
Ciclo de Busca das Instruções
• O processador executa uma instrução em uma série de
etapas:
– 1. Busca a próxima instrução que está localizada na memória
para o registrador de instrução;
– 2. Atualiza o apontador de instruções (PC) para que ele aponte
para a próxima instrução a ser executada.
– 3. Determina o tipo de instrução;
– 4. Se a instrução faz uso de dados (operandos), determina onde
estão localizados;
– 5. Busca os operandos, se houver, para os registradores do
processador;
– 6. Executa a instrução;
– 7. Armazena os resultados nos locais apropriados;
– 8. Volta ao passo 1 para executar a próxima instrução.
A maioria das instruções é lógica ou aritmética
Unidade Lógica e Aritmética
A unidade lógica e aritmética pode realizar diversas
operações, entre elas:
Adição
Subtração
Operações lógicas (E, OU, XOR, INVERSÃO)
Deslocamento (à esquerda e à direita)
Comparação
As unidades aritméticas e lógicas mais modernas realizam
também as operações de multiplicação e divisão.
As operações são realizadas pela leitura de dois
registradores fontes do banco de registradores, e com a
escrita do resultado no registrador de destino.
Funcionamento da ULA
Registrador
Fonte 1
Registrador
Fonte 2
Seleção Reg fonte 1
Seleção Reg fonte 2
Banco de
Registradores
Seleção Reg destino
Seleção da Função
ULA
Saída = Função(R1, R2)
Carry
“vai um”
Para o
Registrador
Destino
Algumas operações da ULA
•
•
•
•
•
•
•
NOT – Inversão
AND – E lógico
OR – OU lógico
XOR – OU exclusivo
Shift
+, -, *, /
=, <, >, etc
Tabela Verdade
A
B
AND
OR
NOT A XOR
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
Portas Lógicas
AND
OR
NOT
Exercícios
• Qual o resultado das expressões abaixo
para os valores possíveis de A e B?
– NOT (A OR B)
– NOT (A AND B) XOR B
– A XOR ( (A AND B) OR (NOT A) )
• Desenhe os circuitos lógicos equivalentes.
Download

ULA