Definição de instruções de máquina
Instruções de máquina são
operações que um processador suporta e fornece ao programador, com a finalidade
de facilitar o acesso ao componente. Cada instrução deve conter informação
necessária para permitir a sua execução pela CPU. Essa informação compreende:
- Código de operação:
especifica a operação a ser realizada:
- Operando fonte: constituem
dados de entrada para a operação;
- Operando de destino:
resultado produzido pela operação;
- Endereço da próxima
instrução: local onde deve ser procurada a próxima instrução, após o término da
corrente.
Formato das instruções
As instruções são divididas
em duas de acordo com o conjunto de bits:
- Indica o que é a instrução e
a sua execução, sendo constituída de um só campo;
- Refere-se aos dados que
serão manipulados na operação, podendo ser constituída por mais um campo.
Assim sendo 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, que servirá de
dado de entrada para os descodificadores da área de controlo.
- O restante grupo de bits,
intitulado de campo de operando – cujo valor binário indica a localização do
dado que será manipulado durante a sua execução.
Tamanho das Instruções
O conjunto de instruções de
um processador pode ser feito de duas maneiras:
- Instruções com C.Op. de
tamanho fixo;
- Instruções com C.Op. de
tamanho variável.
As instruções de tamanho
fixo têm todas a mesma quantidade de bits. A sua implementação e manipulação
durante a execução de um programa são facilitadas, assim sendo o tamanho do
C.Op. e da próxima instrução tende a aumentar, influenciando assim o 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, criando um conjunto de
instruções com maior número de instruções, sem aumentar demasiado o tamanho
total das instruções.
Tipos de instruções
O conjunto de instruções
utilizados deve ser de uma linguagem de alto nível( Basic, Pascal, Fortran, C, etc.),
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
são aquelas que fornecem capacidade computacional para processamento de dados
numéricos.
- Instruções lógicas
são aquelas que 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 que se deseje empregar, sem estabelecimento de relações matemáticas ou algébricas
entre esses dados.
- Instruções de memória
são aquelas utilizadas para mover os dados entre a memória e os registradores
da CPU, 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 memória e para transferir
resultados de processamentos computacionais de volta.
- 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