Hogar Desarrollo ¿Qué es la asignación de registros? - definición de techopedia

¿Qué es la asignación de registros? - definición de techopedia

Tabla de contenido:

Anonim

Definición: ¿Qué significa la asignación de registro?

La asignación de registros se refiere a la práctica de asignar variables a los registros, así como manejar la transferencia de datos dentro y fuera de los registros. La asignación de registros puede ocurrir:

  • En un bloque básico, conocido como asignación de registro local
  • Sobre una función o procedimiento completo, conocido como asignación de registro global
  • Sobre los límites de la función recorridos por medio de un gráfico de llamadas, conocido como asignación de registros entre procedimientos

Techopedia explica la asignación de registros

Durante el curso de la compilación, el compilador debe determinar la forma en que las variables se asignan a un rango pequeño y específico de registros. Algunas de las variables pueden no estar en uso o se dice que están "en vivo" simultáneamente. Esto lleva a asignar algunos registros a múltiples variables. No obstante, no se pueden asignar dos variables vivas simultáneas al mismo registro exacto sin corromper el valor.


Las variables que no pueden asignarse a algunos registros deben almacenarse en la RAM y deben cargarse dentro y fuera de cada lectura y escritura, respectivamente, un procedimiento conocido como derrame. Acceder a los registros es mucho más rápido que acceder a la RAM. Además, acelera el tiempo de ejecución del programa compilado; por lo tanto, los compiladores eficientes tienen como objetivo asignar tantas variables a los registros como puedan.


En general, la mayoría de los asignadores de registros asignan cada variable a la memoria principal o a un registro de la unidad central de procesamiento (CPU). La velocidad es el beneficio clave cuando se utiliza un registro. Las computadoras cuentan con un rango finito de registros, lo que significa que no todas las variables disponibles se pueden asignar a los registros. El proceso de cambiar una variable de un registro a la memoria se conoce como derrame, mientras que el procedimiento inverso de mover una variable de la memoria a un registro se conoce como relleno. La asignación inteligente de registros es un paso crucial para cualquier compilador.


Hay dos tipos de asignación de registros:

  • Asignación de registro local: este es un proceso de asignación de un bloque básico (o hiperbloque o superbloque) a la vez. La asignación de registros locales aumenta la velocidad.
  • Asignación de registro global: si la utilización del registro es deficiente con la asignación local, es importante utilizar la asignación de registro global. En la asignación de registro global simple, los valores más activos se asignan en cada bucle interno. La asignación de registro global completa utiliza un procedimiento para identificar rangos en vivo en un gráfico de flujo de control, asignar rangos en vivo y también dividir rangos según sea necesario.
¿Qué es la asignación de registros? - definición de techopedia