Definição de Instruções da Máquina
• Código de operação: especifica a operação a ser realizada
• Operando fonte*: operandos que constituem dados de entrada para a
operação
• Operando de destino*: resultado que pode ser produzido pela operação
• Endereço da próxima instrução: local onde deve ser buscada a instrução
seguinte (em alguns casos), após o término da corrente
Diagrama de estados do ciclo de instruções
Instruções de Máquina
Actualmente a duas tecnologias de projecto de processadores no mercado:
- Sistema com conjuntos de instruções complexo
(Complex Instruction Set Computer CISC);
- Sistema com conjunto de instruções reduzido
(Reduced Instruction Set Computer RISC).
Formato das instruções
• a primeira parte indica o que é a instrução e como será executada,
sendo constituída de um só campo;
• a segunda parte referese ao(s) dado(s) que será(ão) manipulado(s)
na operação, podendo ser constituída por mais de um campo.
Tamanho das Instruções
• instruções com C.Op. de tamanho fixo;
• instruções com C.Op. de tamanho variável.
No caso de implementação de instruções com um C.Op.
de tamanho variável, há a possibilidade de redução de
espaço ocupado na MP, já que permite a codificação de
um número maior de instruções usando uma menor
quantidade de bits.Esse tipo de implementação permite maior versatilidade
entre as quantidades de bits do código de operação e as
dos campos operandos, objetivando criar um conjunto de
instruções com maior número de instruções, com
quantidades diferentes de operandos, sem aumentar em
demasia o tamanho total das instruções.
Tipos de instruções
Podemos classificar as instruções de máquina nos seguintes
tipos, dependendo da sua função:
• Processamento de dados: instruções aritméticas e lógicas;
• Armazenamento de dados: instruções de memória;
• Movimentação de dados: instruções de E/S;
• Controle: instruções de teste e desvio.
- Instruções aritméticas: são aquelas que fornecem a capacidade computacional
para processamento de dados numéricos.
- Instruções lógicas (ou booleanas): operam sobre bits de uma palavra, na
condição de bits e não de números, oferecendo, portanto, a capacidade de
processar qualquer outro tipo de dado (quantitativo ou qualitativo) que o
usuário possa desejar empregar, sem o estabelecimento de relações
matemáticas ou algébricas entre esses dados.
- Instruções de memória: são aquelas utilizadas para mover dados entre a
memória e os registradores da UCP, uma vez que operações aritméticas e
lógicas são executadas sobre dados armazenados nesses registradores.
- Instruções de E/S: são necessárias para transferir programas e dados para a
memória (provenientes de fontes externas à UCP) e para transferir resultados
de processamentos computacionais de volta para o usuário.
- Instruções de teste: são aquelas utilizadas para testar o valor de uma palavra
de dados ou o estado de uma etapa de processamento computacional.
- Instruções de desvio: são usadas para desviar a execução do programa para
uma nova instrução, muitas vezes em função do resultado de um teste.
Ciclo de instrução
Ciclo de instrução sem Interrupção