quinta-feira, 20 de outubro de 2011

Instruções de um CPU

Instruções e conjunto de instruções

A operação de um CPU é determinada pelas instruções que ela executa, ou seja, as instruções da máquina. Onde tem uma coleção das diferentes instruções que o CPU é capaz de executar, isto é um conjunto de instruções do processador, o qual pode variar de um fabricante para outro e mesmo de um modelo para outro de processador.
Cada instrução deve conter toda a informação necessária para permitir a sua execução pelo CPU. Essa informação necessária compreende:
  • 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
*Os operandos podem estar situados na memória principal,  registadores do CPU, ou ainda, num dispositivo de E/S.



CISC

A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com isso, mais lenta fica a execução delas. 


RISC

A RISC (em inglês: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido de Instruções) usada em processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN); suporta menos instruções, e com isso executa com mais rapidez o conjunto de instruções que são combinadas.


Formato de Instruções

As instruções podem dividir-se em duas partes:

  1. Indica qual a instrução ou as instruções e como vai ou vão ser executada(s), sendo constituída por um campo;
  2. São os dados que vão ser processados, pode ser constituido por mais do que um campo.
A definição dos códigos de operação do conjunto de instruções de um  processador pode ser feita de duas maneiras:
  1. Instruções com código de operação de tamanho fixo - A execução e manipulação é mais facilitada, tendo todas as instruções o mesmo número de bits;
  2. Instruções com código de operação de tamanho variável - Mais versatilidade porque permite a codificação de um maior número de instruções usando um menor número de bits.

Cada uma das instruções é composta pelos seguintes campos:
  • um campo (subgrupo de bits) denominado código de operação – C.Op. – cujo valor binário é a identificação, ou seja, um código da operação a ser realizada, no qual servirá de dado de entrada para o descodificados da área de controlo;
  • o grupo restante de bits, denominado campo do operando – Op. –, ou apenas operando, cujo valor binário indica a localização do dado (ou dados) que será(ão) manipulado(s) durante a execução da operação.

Exemplos:

Instrução para adição de dois valores (operandos 1 e 2), indicando o endereço
(operando 3) a ser armazenado o resultado: OP3 ← OP1 + OP2


 Instrução para adição de dois valores (operandos 1 e 2), armazenando-se o resultado no local do operando 1: OP1 ← OP1 + OP2


Utilizando-se o acumulador para armazenar inicialmente um dos operandos e depois armazenar o resultado da soma: ACC ← ACC + OP


Existem diversos tipos de instruções, que podem ser classificadas como instruções de:
  • 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. 


Ciclo de Instruções




Sem comentários:

Enviar um comentário