Curso Livre de Arquitetura de Computadores/Caderno 9: Conjuntos de Instruções

Fonte: Wikiversidade

Principais pontos[editar | editar código-fonte]

Os elementos essenciais de alguma instrução do computador são chamados de opcode (código de operação). Nele especifica:

  • Qual operação será realizada;
  • Referências de operando de origem e destino que vão especificar locais de entrada e saída para a operação;
  • Referência da próxima instrução, normalmente é implícita.[1]

Ainda sobre os opcodes (código de operação), eles especificam operações nas seguintes categorias:

  • Operações aritméticas e lógicas;
  • Movimentação de dados entre dois registradores;
  • Registrador e memória ou dois locais de memória;
  • Entrada e saída;
  • E por fim o controle sobre a operação;[1]

Um recurso arquitetural comum nos processadores é o uso de pilha, que pode ou não estar visível aos programadores. As pilhas são estruturas que sempre que chega um novo processo ele é posto nessa pilha, quando o processador for pegar o processo, ele usará alguns algoritmos para determinar se pegará o primeiro da pilha, o ultimo, ou mais raro em pilhas, mas randomicamente.[1]

A estrutura de pilha é nirmalmente utilizada para gerenciar chamadas e retornos, por ter ordem lógica de chamadas. As operações básicas da pilha são PUSH, POP, que significa colocar um dado na pilha e remover um dado da pilha respectivamente.[1]

Características das instruções de máquina[editar | editar código-fonte]

A operação do processador é determinada pelas instruções que ele executa, conhecidas como instruções de máquina ou instruções do computador. A coleção de diferentes instruções que o processador pode executar é conhecida como conjunto de instruções do processador.[1]

Elementos de uma instrução de máquina[editar | editar código-fonte]

  • Código de operação: : Especifica a operação a ser realizada (por exemplo, ADD, E/S). A operação é especificada por um código binário, conhecido como código de operação, ou opcode (operation code);
  • Referência à operando fonte: A operação pode envolver um ou mais operandos fontes, ou seja, operandos que são entradas para a operação;
  • Referência à operando destino: a operação pode produzir um resultado;
  • Referência à próxima instrução: : Isso diz ao processador onde buscar a próxima instrução após o término da execução desta instrução.[1]

Operandos fonte e destino podem estar em uma destas áreas:

  • Memória principal ou virtual;
  • Registrador do processador;
  • Imediato;
  • Dispositivo de e/s.[1]

Representação da instrução[editar | editar código-fonte]

Ë possível escrever um programa em linguagem de máquina em forma simbólica. Cada opcode tem uma representação binária fixa e o programador especifica o local de cada operando simbólico. Por exemplo:

  • ADD: Faz adição;
  • SUB: Faz subtração;
  • MUL: Faz multiplicação;
  • DIV: Faz divisão;
  • LOAD: Carrega os dados na memória;
  • STOR: Armazena os dados na memória.[1]

Referências