O que é um conjunto de instruções?
Um conjunto de instruções, ou uma arquitetura de conjunto de instruções, é o conjunto coletivo de comandos que um processador de computador pode executar. Tudo o que um computador faz, desde a execução de um aplicativo de processamento de texto até a codificação de arquivos de vídeo, é reduzido a alguma combinação desses comandos. Os programadores não criam programas diretamente através dessas instruções, mas usam um tipo especial de software conhecido como compilador que traduz o código de programação em instruções da máquina. A maioria dos computadores pessoais usa um conjunto de instruções usado pela primeira vez na década de 1970, enquanto smartphones, tablets e outros dispositivos usam conjuntos de instruções mais simples, otimizados para ambientes de baixo consumo de energia.
Os computadores podem parecer capazes de tarefas ilimitadas, mas os microprocessadores dentro deles são capazes de executar apenas um número limitado de comandos predefinidos, conhecidos como instruções. Por si só, cada instrução é relativamente simples, talvez dizendo ao processador para adicionar dois números ou mover um dado de um local para outro. Quando combinadas, essas instruções básicas tornam-se bastante poderosas e são usadas como base para todos os tipos de software. O desempenho e a compatibilidade de uma CPU estão diretamente relacionados ao número e tipo de instruções que a CPU suporta, tornando a instrução um elemento crítico no sucesso ou falha comercial de qualquer novo design.
Uma CPU só pode executar funções que fazem parte de seu conjunto de instruções, mas pouquíssimos programadores de computador incorporam esses comandos em seu software. Em vez disso, é usada uma etapa intermediária conhecida como compilação. Nesse processo, um programa conhecido como compilador traduz o código amigável ao ser humano usado pelos programadores em um "código de máquina" que o processador entende. Como diferentes processadores de computador oferecem suporte a conjuntos de instruções diferentes, um compilador deve ser projetado para o tipo de processador em que o programa deve ser executado. Com microprocessadores modernos capazes de executar centenas de milhões ou mesmo bilhões de instruções em um único segundo, os compiladores se tornaram o único meio prático de criar software para computadores.
Os microprocessadores usados em quase todos os computadores pessoais vendidos desde a década de 1980 usam um conjunto de instruções chamado x86, que foi originalmente projetado para um processador Intel® que estreou em meados da década de 1970. O desejo de compatibilidade com versões anteriores ajudou a manter o x86 dominante no mercado de PCs, embora novas instruções sejam adicionadas ocasionalmente através de extensões. Muitos smartphones, tablets e outros tipos de eletrônicos de consumo usam microprocessadores baseados no conjunto de instruções ARM, que é mais simples e mais econômico do que o x86. Servidores de ponta, supercomputadores e outros dispositivos especializados, como consoles de jogos, podem usar conjuntos de instruções diferentes.