Os registros visíveis ao usuário normalmente suportam categorias de dados que refletem as necessidades do hardware subjacente e as instruções que o processador pode executar. As categorias comuns incluem:
*
Registros de uso geral: Estes são os cavalos de trabalho. Eles mantêm dados envolvidos em operações aritméticas e lógicas, transferências de dados e cálculos de abordagem. Eles são altamente flexíveis e podem conter vários tipos de dados.
*
Registros de fins especiais: Esses registros têm funções dedicadas. Exemplos incluem:
*
Contador de programas (PC): Mantém o endereço da próxima instrução a ser executada.
*
Registro de instrução (IR): Armazena temporariamente as instruções atualmente buscadas.
*
Registros de status (sinalizadores): Indique os resultados de operações aritméticas e lógicas (por exemplo, transporte, zero, transbordamento, sinal). Esses sinalizadores geralmente são campos de bits em um único registro.
*
Ponteiro de pilha (SP): Aponta para o topo da pilha na memória.
*
Ponteiro de quadro (FP ou BP): Usado em chamadas de procedimento para gerenciar o quadro da pilha.
*
Registros de endereço de memória: Usado para acesso direto à memória (DMA) ou operações específicas de E/S com mapeamento de memória.
*
Registros de ponto flutuante (FPRS): Segure números de ponto flutuante para operações aritméticas e outras operações de ponto flutuante. Eles geralmente são separados dos registros de uso geral, e seu tamanho e número variam entre arquiteturas.
*
Registros de vetor: Utilizado para instrução única, várias operações de dados (SIMD), mantendo vários elementos de dados que são processados simultaneamente.
*
Registros de controle: Esses registros controlam vários aspectos da operação do processador, como interrupções, cache e gerenciamento de memória. O acesso a eles geralmente é privilegiado, o que significa que apenas o sistema operacional pode modificá -los diretamente.
As categorias específicas e seu número variam significativamente entre diferentes arquiteturas de processador (por exemplo, x86, braço, RISC-V). Algumas arquiteturas podem ter registros especializados para instruções ou tarefas específicas, enquanto outras podem confiar em um conjunto de registros de uso mais geral.