O que é um registro de processador?
O acesso mais rápido à memória armazenável em uma unidade de processamento de computador (CPU) é um registro do processador. As arquiteturas de computador projetam o recurso de memória de registro do processador em um cache da CPU para que os valores acessados pelos processos do computador regularmente possam ser armazenados lá. Os processos podem acessar e executar rapidamente com base nesses valores armazenados. Como os registros do processador são armazenados na CPU, eles são considerados o topo da hierarquia de memória de armazenamento, e a alocação geralmente é determinada por variáveis. Depois que os dados são processados, eles são restaurados para cache, memória de acesso aleatório (RAM) ou armazenamento em disco rígido.
Os processadores de computador possuem registros de tipos diferentes, de acordo com instruções ou testes que operam neles ou com seu conteúdo específico. Dados, endereços e registros de uso geral contêm valores matemáticos e endereços para armazenamento de memória. Existem registros condicionais com valores verdadeiros para instruções de operação lógica, registros constantes com valores somente leitura, como pi e zero, e registros de finalidade especial que mantêm um contador de programa, um registro de status e ponteiros de pilha para uso da memória de pilha. Os registros de controle contêm instruções de um conjunto de instruções incorporado à arquitetura da CPU; e há vários que buscam na RAM e nos circuitos da CPU que acessam buffers de memória, dados de memória, intervalos de tipos de memória e endereços. As variáveis não atribuídas a um registro do processador são armazenadas na RAM e carregadas para dentro e para fora para operações de leitura e gravação; no entanto, elas têm um processamento mais lento.
Sabendo a diferença de velocidade entre o processamento em registradores e RAM, os desenvolvedores de programas de computador compiladores geralmente projetam seus programas para operar o máximo possível no armazenamento de registro do processador para operação rápida das funções. Para programas compiladores just-in-time, uma técnica de alocação de registro conhecida como alocação de varredura linear rastreia as operações de registro e libera rapidamente o poder de computação do registro para o programa. As técnicas de alocação de registro tentam obter o maior número de variáveis do programa atribuídas aos registradores e em um fluxo de operação que maximiza o menor número de registros para uma compilação rápida.
Como muitos registradores de processador são para armazenamento temporário de variáveis e conjuntos de instruções, todas as operações para uso do programa podem ser armazenadas para manipulação pela CPU. Em operação, uma CPU primeiro procurará no cache da CPU os registros para obter uma cópia de qualquer dado a ser processado nas operações de leitura, gravação ou movimentação, antes de procurar na RAM e no armazenamento secundário em discos rígidos. A partir de 2011, a maioria das CPUs mantém três caches individuais. Os caches de instruções estão preocupados com as buscas de execução por instrução, um buffer semelhante à tradução acelera as traduções de endereços para endereços virtuais-físicos e um cache de dados mantém um armazenamento de dados em hierarquia multinível a ser manipulado por um conjunto de instruções de registro do processador.