Conjunto de instruções ortogonal

Um conjunto de instruções de computadores é dito ortogonal se há compatibilidade dos modos de endereçamento de todas as instruções.

A palavra ortogonal significa ângulo fechado. É uma analogia geométrica a decisão de parâmetros para as instruções, ou seja, a primeira escolha (modo de endereçamento) independe da segunda, e vice versa.

Isto pode significa uma facilidade extrema no aprendizado do conjunto de instruções. Porém estes conjuntos de instruções causa uma complexidade extrema na estrutura de micro-programação do microprocessador. Também se usa este conceito no estudo de linguagens de programação de alto nível e os efeitos são quase os mesmos: pouca ortogonalidade torna o aprendizado lento devido ao número de casos especiais, mas o excesso dela também é ruim devido complexidade.[1]

História

Os conjuntos de instruções ortogonais surgiram com a necessidade de se facilitar a programação em nível de máquina e diminuir o tamanho dos programas. Contudo surgiram os processador do tipo RISC, e o foco passou a ser a simplicidade das instruções. Hoje em dia só restam exemplos antigos de microprocessadores que tinham conjunto de instruções absolutamente ortogonais.

Exemplos

uma arquitetura do tipo Dec Vax (década de 80) é um exemplo típico de conjunto de instruções ortogonais. Ou seja, um modo de endereçamento usado em uma instrução pode ser usada em toda as outras.

Um conjunto de instruções da arquitetura do tipo Intel X86 não pode ser considerada ortogonal.

Notas

  1. Robert Sebesta (2009). Conceitos de linguagem de programação. [S.l.: s.n.]