Definição de Instruções de Máquina
O projecto de um processador é condicionado ao conjunto de instruções de máquina as quais se deseja que ele execute.
Uma das mais fundamentais análises e decisões do projecto envolve o tamanho
e a complexidade do conjunto de instruções.
Num processador, quanto menor e mais simples for o conjunto de instruções, mais rápido será o seu ciclo de tempo.
Actualmente há duas tecnologias de projecto de processadores
empregadas pelo mercado:
• Sistema com conjuntos de instruções complexo
(Complex Instruction Set Computer CISC);
• Sistema com conjunto de instruções reduzido
(Reduced Instruction Set Computer RISC).
Definição de CISC e RISC
Reduced Instruction Set Computer ou
Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos são RISCs, por exemplo DEC Alpha, SPARC, MIPS, e PowerPC.
O tipo de microprocessador mais largamente usado em desktops, o x86, é mais CISC do que RISC, embora chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.
Os processadores baseados na computação de conjunto de instruções reduzido não tem micro-programação, as instruções são executadas diretamente pelo hardware.
Como característica, esta arquitetura, além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade.
A idéia foi inspirada pela descoberta de que muitas das características incluídas na arquitetura tradicional de processadores para ganho de desempenho foram ignoradas pelos programas que foram executados neles.
Mas o desempenho do processador em relação à memória que ele acessava era crescente.
Isto resultou num número de técnicas para otimização do processo dentro do processador, enquanto ao mesmo tempo tentando reduzir o número total de acessos à memória.
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,
sendo constituída de um só campo;
• a segunda parte referese
ao(s) dado(s) que será(ão) manipulado(s)
na operação, podendo ser constituída por mais de um campo.
Assim, 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 (código) da operação a ser
realizada, o qual servirá de dado de entrada para o decodificados da
área de controle;
• o grupo restante de bits, denominado campo do operando – Op. ou
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.
Tamanho das Instruções
A definição dos códigos de operação do conjunto de instruções de um
processador pode ser feita por duas maneiras:
• instruções com C.Op. de tamanho fixo;
• instruções com C.Op. de tamanho variável.
No primeiro caso, 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.
Tipos de Instruções
Portanto, o conjunto de instruções da máquina deve ser suficiente para
expressar qualquer comando de uma linguagem de alto nível.
Podemos, então, classificar as instruções de máquina nos seguintes
tipos, dependendo da sua função:
• 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;
• Controle: instruções de teste e desvio.
Ciclo de Instrução