O que é um conjunto de instruções?

Qualquer CPU é projetada desde o início para suportar um determinado conjunto de instruções. Um conjunto de instruções é um conjunto de operações codificadas que a CPU pode executar. Essas operações podem ser, por exemplo, somar dois números, pular para uma parte diferente do programa ou comparar dois valores. Cada operação que um computador pode executar é representada exclusivamente por um opcode.

Opcodes

Ao executar um programa, a CPU usa um contador de programa para rastrear qual instrução precisa ser executada a seguir. Quando uma instrução é buscada, o contador do programa é incrementado pelo comprimento da instrução de modo que aponte para o início da próxima instrução. Cada instrução consiste em um opcode. Dependendo da instrução, pode ou não incluir operandos. Os operandos podem ser um valor constante ou um ponteiro para a localização de um valor no registrador da CPU ou na RAM do sistema.

Uma vez que a instrução completa foi buscada, ela precisa ser decodificada. Este é o processo onde a CPU separa o opcode e quaisquer operandos. O opcode decodificado é usado para habilitar ou desabilitar caminhos elétricos específicos na CPU que resultarão na operação correta.

Uma vez que a instrução tenha sido decodificada, ela será executada. O comportamento exato da CPU dependerá da operação. Uma operação de adição somará dois valores. Uma operação de salto calculará para onde saltar no programa. Uma operação de comparação comparará dois valores. Uma operação NOP ficará ociosa, pois NOP significa No Operation.

A maioria das instruções produzirá o resultado da operação. Essa saída pode ir para os registradores do processador e, se necessário, para a RAM do sistema. Cada uma dessas operações leva um único ciclo de clock para ser concluída.

Opcodes ilegais

Cada arquitetura de CPU tem sua lista específica de opcodes publicada pelo fabricante. Os valores desses opcodes não são necessariamente os mesmos entre plataformas, e é por isso que o software precisa ser compilado para diferentes arquiteturas. Em alguns casos, o fabricante também inclui opcodes não documentados. Estes são referidos como "opcodes ilegais". Opcodes ilegais, enquanto não documentados, executarão a mesma função toda vez que forem chamados. No entanto, como recursos não documentados e fora do padrão, as atualizações na arquitetura da CPU podem simplesmente removê-los.

Alguns dos primeiros jogos de computador do Apple II dependiam de opcodes ilegais específicos. Eles então sofreram problemas de desempenho e estabilidade na revisão posterior da CPU Apple IIc, pois o IIc removeu os opcodes ilegais exigidos pelos jogos. Opcodes ilegais também foram usados ​​em círculos de proteção de direitos autorais como um método de segurança por meio da obscuridade em sua luta contra piratas que quebram seu conteúdo. Alguns opcodes ilegais são simplesmente ferramentas de depuração e manipuladores de erros.

O conjunto de instruções x86 contém um grande número de opcodes ilegais não documentados. Curiosamente, alguns deles são compartilhados entre CPUs Intel e AMD, indicando que ambas as empresas estão cientes publicamente de seu propósito enquanto não documentadas.

Compiladores e Assembly

A maioria dos programas é escrita em linguagens de alto nível. Estes são relativamente fáceis de ler, muitas vezes usando palavras em inglês ou taquigrafia para minimizar as curvas de aprendizado. Para um computador executar esses programas, eles precisam ser compilados. Um compilador é basicamente um tradutor. Ele pega o código de alto nível e o converte em código de computador, as instruções que a CPU pode entender.

Também é possível, em alguns idiomas, executar código não compilado por meio de um programa previamente compilado que gera código de máquina em tempo real. Assembly é uma linguagem de programação de baixo nível que usa atalhos para permitir aos desenvolvedores visibilidade direta e controle sobre as operações executadas. NOP é um exemplo de abreviação de montagem.

Conclusão

Um conjunto de instruções é uma lista de funções oficiais que uma arquitetura de CPU pode executar. É uma lista de operações que podem ser realizadas. Essas operações são codificadas na CPU e chamadas usando seus respectivos opcodes.

O software geralmente usa um compilador para traduzir do código de alto nível legível por humanos para o código de máquina que a CPU pode ler. Às vezes, uma arquitetura de CPU pode ter opcodes não documentados, chamados de opcodes ilegais. Opcodes ilegais são tecnicamente parte do conjunto de instruções. No entanto, eles podem não estar disponíveis de forma confiável em futuras iterações da plataforma. Não se esqueça de deixar seus pensamentos nos comentários abaixo.



Leave a Comment

O Que Fazer Se o Powerbeats Pro Não Carregar no Estojo

O Que Fazer Se o Powerbeats Pro Não Carregar no Estojo

Se o seu Powerbeats Pro não estiver carregando, experimente usar outra fonte de energia e limpe seus fones de ouvido. Deixe o estojo aberto enquanto carrega seus fones.

Canon Pixma MG5220: Digitalize sem Tinta

Canon Pixma MG5220: Digitalize sem Tinta

Como ativar a digitalização na Canon Pixma MG5220 quando você ficar sem tinta.

5 Motivos pelos Quais Seu Laptop Está Superaquecendo

5 Motivos pelos Quais Seu Laptop Está Superaquecendo

Descubra algumas das possíveis razões pelas quais seu laptop está superaquecendo, juntamente com dicas e truques para evitar esse problema e manter seu dispositivo fresco.

Como Corrigir o Código de Erro 0xC272008F do GeForce Now

Como Corrigir o Código de Erro 0xC272008F do GeForce Now

Você está se preparando para uma noite de jogos, e será uma grande noite – você acaba de adquirir “Star Wars Outlaws” no serviço de streaming GeForce Now. Descubra a única solução conhecida que mostra como corrigir o Código de Erro 0xC272008F do GeForce Now para que você possa começar a jogar jogos da Ubisoft novamente.

Fundamentos da Impressão 3D: Dicas de Manutenção para a Sua Impressora 3D

Fundamentos da Impressão 3D: Dicas de Manutenção para a Sua Impressora 3D

Manter suas impressoras 3D é muito importante para obter os melhores resultados. Aqui estão algumas dicas importantes a serem lembradas.

Como Encontrar o Endereço IP de uma Impressora

Como Encontrar o Endereço IP de uma Impressora

Está tendo dificuldades para descobrir qual endereço IP sua impressora está usando? Vamos mostrar como encontrá-lo.

Como desligar o Roku

Como desligar o Roku

Descubra como desligar o Roku Player, enquanto aprende sobre suas opções de economia de energia e melhores práticas.

O que é SLI?

O que é SLI?

SLI ou Scalable Link Interface é uma tecnologia da Nvidia que permite que várias placas gráficas trabalhem juntas para obter maior desempenho.

O que é N-Key Rollover e Anti-Ghosting?

O que é N-Key Rollover e Anti-Ghosting?

Entenda os conceitos de N-key rollover e Anti-Ghosting, dois recursos essenciais em teclados para gamers que melhoram a experiência de jogo.

O que é VRAM?

O que é VRAM?

VRAM, ou Video Random Access Memory, é uma forma essencial de RAM utilizada em processadores gráficos, fundamental para o desempenho em videogames.