Lar Desenvolvimento O que é alocação de registro? - o que é techopedia

O que é alocação de registro? - o que é techopedia

Índice:

Anonim

Definição - O que significa Alocação de Registros?

A alocação de registros refere-se à prática de atribuir variáveis ​​aos registros, bem como manipular a transferência de dados para dentro e para fora dos registros. A alocação de registro pode ocorrer:

  • Em um bloco básico, conhecido como alocação de registro local
  • Sobre uma função ou procedimento inteiro, conhecido como alocação de registro global
  • Sobre os limites das funções atravessados ​​por meio de um gráfico de chamadas, conhecido como alocação de registros entre procedimentos

Techopedia explica Alocação de Registros

Durante o curso da compilação, o compilador deve determinar a maneira pela qual as variáveis ​​são alocadas para um pequeno e específico intervalo de registros. Algumas das variáveis ​​podem não estar em uso ou são consideradas "ativas" simultaneamente. Isso leva à atribuição de alguns registros a várias variáveis. No entanto, não é possível atribuir duas variáveis ​​dinâmicas simultâneas ao mesmo registro sem danificar o valor.


As variáveis ​​que não podem ser atribuídas a alguns registros precisam ser armazenadas na RAM e devem ser carregadas e retiradas para cada leitura e gravação, respectivamente, um procedimento conhecido como derramamento. O acesso aos registros é muito mais rápido que o acesso à RAM. Além disso, acelera o tempo de execução do programa compilado; portanto, compiladores eficientes visam atribuir o maior número possível de variáveis ​​aos registros.


Geralmente, a maioria dos alocadores de registro atribui todas as variáveis ​​à memória principal ou a um registro da unidade central de processamento (CPU). A velocidade é o principal benefício ao usar um registro. Os computadores apresentam um intervalo finito de registros, o que significa que nem todas as variáveis ​​disponíveis podem ser atribuídas aos registros. O processo de mudar uma variável de um registro para a memória é conhecido como derramamento, enquanto o procedimento inverso de mover uma variável da memória para um registro é conhecido como preenchimento. A alocação inteligente de registros é uma etapa crucial para qualquer compilador.


Existem dois tipos de alocação de registro:

  • Alocação de registro local: este é um processo de alocação de um bloco básico (ou hiper bloco ou super bloco) por vez. A alocação de registro local aumenta a velocidade.
  • Alocação global de registros: se a utilização do registro for baixa usando a alocação local, é importante fazer uso da alocação global de registros. Na alocação simples de registros globais, os valores mais ativos são alocados em cada loop interno. A alocação total do registro global usa um procedimento para identificar faixas ao vivo em um gráfico de fluxo de controle, atribuir faixas ao vivo e também dividir faixas conforme necessário.
O que é alocação de registro? - o que é techopedia