A operação de um CPU é determinado pelas instruções que ele
executa, conhecidas como instruções de máquina. A colecção das diferentes
instruções que o CPU é capaz de executar é conhecida como o conjunto de
instruções, este pode variar de um fabricante para outro, ou ate mesmo no
mesmo. Num CPU quanto menor for o conjunto de instruções mais rápido será o seu
ciclo.
Formato das Instruções
Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
• a primeira parte indica o que é a instrução e como será executada;
• a segunda parte refere-se aos dados que serão manipulados na operação, podendo ser constituída por mais de um campo.
Assim, cada uma das instruções é composta pelos seguintes campos:
• um campo denominado código de operação cujo valor binário é a identificação da operação a ser realizada;
• o grupo restante de bits, denominado campo do operando, cujo valor binário indica a localização dos dados
que serão manipulados durante a execução da operação.
Tamanho das instruções
Instruções com C.Op. de tamanho fixo;
Instruções com C.Op. de tamanho variável.
No primeiro caso,que são as instruções de tamanho fixo,
todas as instruções têm um C.Op. com a mesma quantidade de bits. A implementação
das instruções e sua manipulação durante a execução de um programa são
facilitadas, ao passo que o tamanho do C.Op., e da própria instrução tende a
aumentar, influenciando no aumento do tamanho ocupado pelo programa na MP.
As instruções de tamanho variável têm 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. Este tipo de
implementação permite maior versatilidade entre quantidades de bits do código
de operação e a dos campos operandos.
Tipos de instruções
O conjunto de instruções utilizados deve ser de uma
linguagem de alto nível assim podemos classificar as instruções de máquina nos
seguintes tipos:
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;
Controlo: instruções de teste e desvio.
Instruções
aritméticas e lógicas: as instruções aritméticas fornecem a capacidade de
processamento de dados numéricos. As instruções lógicas são aquelas que operam
sobre bits em qualquer tipo de dados sem estabelecimento de relações
matemáticas ou algébricas entre esses dados;
Instruções de memória:
são utilizadas para mover dados entre a memória e os resgistadores do CPU;
Instruções de E/S:
são necessárias para transferir dados e programas para a memória e para devolver
os resultados de processamento;
Instruções de teste:
são aquelas utilizadas para testar o valor de uma palavra de dados ou do 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