Conjunto de instruções

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
NoFonti.svg
Este artigo ou se(c)ção cita fontes fiáveis e independentes, mas que não cobrem todo o conteúdo (desde setembro de 2013). Por favor, adicione mais referências e insira-as corretamente no texto ou no rodapé. Trechos sem fontes poderão ser removidos.
Encontre fontes: Googlenotícias, livros, acadêmicoYahoo!Bing.

Conjunto de instruções (tradução de instruction set) são as operações que um processador, microprocessador, microcontrolador, CPU ou outros periféricos programáveis suporta, fornece ou disponibiliza para o programador, ou seja, é a representação em mnemônicos do código de máquina, com a finalidade de facilitar o acesso ao componente.

Cada componente possui o seu próprio conjunto de instruções, que é fornecido pelo fabricante, que também costuma fornecer ou disponibilizar um montador assembly, que transforma o conjunto de instruções em código de máquina para ser utilizado pelo componente.

No caso dos processadores, quando o conjunto de instruções for reduzido leva-o a ter o nome de RISC e se forem complexas o nome de CISC.[1]

Sobre[editar | editar código-fonte]

Arquitetura do conjunto de instruções(instruction set architecture - ISA) se distingue da microarquitetura, que é o conjunto de técnicas de design de processadores usado ​​para implementar o conjunto de instruções. Computadores com diferentes microarquiteturas podem compartilhar um conjunto de instruções comum. Por exemplo, o Intel Pentium e o AMD Athlon implementam versões quase idênticas do conjunto de instruções x86, mas com diferentes projetos internos.

O conceito de uma arquitetura distinta do projeto de uma máquina específica, foi desenvolvido por Fred Brooks na IBM durante a fase de projeto do System/360. [2]

Linguagem de Máquina[editar | editar código-fonte]

A linguagem de máquina é feita a partir de declarações ou instruções simples, é uma representação para instruções em um nível mais baixo. Todo programa é traduzido por uma linguagem de nível mais alto (como Java e C++) para a linguagem de máquina.

Na arquitetura de processamento, uma determinada instrução pode especificar:

  • Registradores especiais para aritmética, endereçamento, ou funções de controle;
  • Posições de memória específicas ou deslocamentos;
  • Modos de endereçamento específico utilizado para interpretar os operandos;

Operações mais complexas são construídas combinando estas instruções simples, que são executadas sequencialmente, ou de outra forma, dirigidas por instruções de controle de fluxo.

Exemplos de operações primitivas[editar | editar código-fonte]

  • Transferência de uma palavra de dados de uma célula para outra;
  • Soma de dois operandos, guardando o resultado em um deles ou em um terceiro operando;
  • Desvio para outro endereço fora da sequência;
  • Teste de condição. Se o teste resultar em true(verdadeiro), desvia para outro endereço;
  • Realizar operação lógica “AND” entre dois valores;
  • Parar a execução de um programa;
  • Transferência de byte da porta de E/S para a MP e vice-versa;
  • Substituição do operando por seu valor absoluto.[3]

Ver também[editar | editar código-fonte]

Portal A Wikipédia possui o portal:


Referências

  1. The evolution of RISC technology at IBM by John Cocke – IBM Journal of R&D, Volume 44, Numbers 1/2, p.48 (2000)
  2. Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and Early 370 Systems. MIT Press. ISBN 0-262-16123-0.
  3. http://elemarjr.net/2013/09/11/linguagem-de-maquina/
Ícone de esboço Este artigo sobre um tipo de computador é um esboço. Você pode ajudar a Wikipédia expandindo-o.