Quando uma instrução é executada em um programa, várias coisas acontecem no processador e na memória, dependendo do tipo de instrução:
1. Buscar: O processador busca a instrução da memória. O endereço da instrução geralmente é mantido em um registro chamado contador do programa (PC). A instrução é recuperada do local da memória apontada pelo PC e colocada em um registro interno na CPU.
2. Decodificar: O processador decodifica a instrução buscada. Isso envolve dividir a instrução em suas partes constituintes (código de operações e operando). O OpCode especifica a operação a ser executada, enquanto os operando identificam os dados a serem usados.
3. Execute: O processador executa a instrução. Isso envolve várias etapas:
*
operações aritméticas/lógicas: Se a instrução for uma aritmética (adição, subtração, etc.) ou operação lógica (e, ou, xor, etc.), o processador executa a operação especificada nos operandos (que podem estar em registros ou memória). O resultado geralmente é armazenado em um registro.
*
Transferência de dados: Se a instrução for uma instrução de transferência de dados (como `mov` ou` load`), os dados serão movidos entre os registros, entre um registro e memória ou entre os locais da memória. Isso envolve acessar a memória para ler ou gravar dados.
*
Fluxo de controle: Se a instrução for uma instrução de fluxo de controle (como `jump`,` ramo`, `ligue ',` return`), o processador altera o valor do PC. Isso altera a sequência de instruções executadas. Isso pode envolver condições de verificação (por exemplo, em uma ramificação condicional) e atualizar o PC de acordo.
*
Entrada/saída: Se a instrução envolver a entrada/saída (E/S), o processador interage com dispositivos periféricos (por exemplo, teclado, unidade de disco, placa de rede). Isso geralmente envolve aguardar a conclusão da operação de E/S.
4. Write-Back (às vezes): O resultado da instrução pode ser escrito de volta à memória ou um registro. Nem todas as instruções modificam a memória ou registros.
papel da memória: *
armazenamento de instruções: As instruções do programa são armazenadas na memória.
*
armazenamento de dados: Os dados em que o programa opera também são armazenados na memória.
*
Reading e escrita: O processador lê instruções e dados da memória e grava os dados de volta à memória. A velocidade do acesso à memória é um fator crítico no desempenho geral do sistema. A memória do cache desempenha um papel crucial no aceleração desse processo.
Em resumo, a execução de uma instrução envolve um esforço coordenado entre a unidade de controle do processador (busca, decodificação, execução), unidade lógica aritmética (ALU) (operações de execução) e memória (fornecendo instruções e dados). As operações específicas na memória dependem do tipo de instrução que está sendo executada.