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.
Formato de Instruções
As instruções podem dividir-se em duas partes:
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:
- Indica qual a instrução ou as instruções e como vai ou vão ser executada(s), sendo constituída por um campo;
- 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:
- 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;
- 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
(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