O SAP-1 (Computador de Programa de Montagem Simples, um computador hipotético frequentemente usado em cursos introdutórios de arquitetura de computadores) executa instruções em um ciclo de excesso de código-decódigo. Aqui está um colapso:
1.
buscar: O endereço da instrução (contido no contador do programa, PC) é enviado para a memória. A memória busca a instrução desse endereço e o coloca no registro de instruções (IR). O PC é então incrementado para apontar para a próxima instrução.
2.
decodificar: A unidade de controle decodifica a instrução no IR. Isso envolve a identificação do código OPC (a parte da instrução que especifica a operação a ser executada) e os operandos (os dados em que a operação agirá). Os operandos podem ser valores imediatos (incorporados na própria instrução), endereços de locais de memória ou números de registro.
3.
Execute: Com base no código de operação decodificado, a unidade de controle direciona as ações apropriadas:
*
operações aritméticas/lógicas: Se a instrução for uma operação aritmética (add, sub, etc.) ou uma operação lógica (e, ou etc.), os operandos (buscados na memória ou registros conforme especificados) serão enviados para a unidade lógica aritmética (ALU). A ALU executa a operação e armazena o resultado em um registro especificado ou local de memória.
*
Operações de transferência de dados: Instruções como carregar e armazenar os dados de mover entre memória e registros. A carga move os dados de um local de memória para um registro; O armazenamento move os dados de um registro para um local de memória.
*
Instruções de fluxo de controle: Essas instruções alteram a ordem de execução de instruções.
*
Jump: O PC é carregado com um novo endereço especificado na instrução, fazendo com que o programa salte para um local diferente.
*
ramo (salto condicional): O PC é carregado com um novo endereço apenas se uma condição especificada (por exemplo, o valor de um registro for zero) for atendido. Caso contrário, a execução continua com a próxima instrução.
*
param: O processador interrompe a execução.
Exemplo: Digamos que temos uma instrução `Adicionar R1, R2` (adicione o conteúdo do Registro R1 para registrar R2 e armazenar o resultado em R2).
1.
buscar: O PC aponta para o local da memória que contém `add r1, r2`. Esta instrução é buscada e carregada no IR. O PC é incrementado.
2.
decodificar: A unidade de controle reconhece "Adicionar" como o código OPC e identifica R1 e R2 como os operandos (registros).
3.
Execute: A unidade de controle direciona as seguintes ações:
* O conteúdo de R1 é buscado.
* O conteúdo de R2 é buscado.
* O ALU adiciona os dois valores.
* O resultado é armazenado em R2.
O ciclo se repete com a próxima instrução apontada pelo PC. Os detalhes específicos do uso do registro, modos de endereçamento de memória e formatos de instruções variam um pouco, dependendo da implementação SAP-1 específica descrita em um livro ou curso. No entanto, o ciclo fundamental de elaboração de código-decódio permanece constante.