Skip to main content

¿Qué es un registro de procesador?

El acceso más rápido a la memoria almacenable en una unidad de procesamiento de computadora (CPU) es un registro de procesador. Las arquitecturas informáticas diseñan la capacidad de memoria del registro del procesador en un caché de la CPU para que los valores a los que acceden los procesos informáticos de forma regular puedan almacenarse allí. Los procesos pueden acceder y ejecutarse rápidamente en función de esos valores almacenados. Dado que los registros del procesador se almacenan en la CPU, se consideran la parte superior de la jerarquía de la memoria de almacenamiento, y la asignación generalmente está determinada por las variables. Una vez que se procesan los datos, se restauran en caché, memoria de acceso aleatorio (RAM) o almacenamiento en disco duro.

Los procesadores de computadora tienen registros de diferentes tipos, de acuerdo con las instrucciones o pruebas que operan en ellos o en su contenido específico. Los registros de datos, direcciones y propósitos generales contienen valores matemáticos y direcciones para el almacenamiento en memoria. Hay registros condicionales con valores de verdad para instrucciones de operación lógica, registros constantes con valores de solo lectura como pi y cero, y registros de propósito especial que mantienen un contador de programa, un registro de estado y punteros de pila para el uso de memoria de pila. Los registros de control contienen instrucciones de un conjunto de instrucciones integrado en la arquitectura de la CPU; y hay varios que se obtienen de la RAM y los circuitos de la CPU que acceden a las memorias intermedias, datos de memoria, rangos de tipos de memoria y direcciones. Las variables no asignadas a un registro de procesador se almacenan en la RAM y se cargan dentro y fuera para las operaciones de lectura y escritura, sin embargo, estas tienen un procesamiento más lento.

Conociendo la diferencia de velocidad entre el procesamiento en registros y la RAM, los desarrolladores de programas de compilación de computadoras generalmente diseñan sus programas para operar lo más posible en el almacenamiento de registros del procesador para la operación de funciones rápidamente. Para los programas de compilación justo a tiempo, una técnica de asignación de registros conocida como asignación de exploración lineal rastrea las operaciones de registro y libera la potencia de cálculo de registro al programa rápidamente. Las técnicas de asignación de registros intentan obtener la mayor cantidad de variables del programa asignadas a los registros y en un flujo de operación que maximiza el menor número de registros para una compilación rápida.

Como muchos registros de procesador son para el almacenamiento temporal de variables y conjuntos de instrucciones, todas las operaciones para el uso del programa pueden almacenarse para su manipulación por parte de la CPU. En funcionamiento, una CPU primero buscará en la memoria caché de la CPU de los registros una copia de los datos que se procesarán en las operaciones de lectura, escritura o movimiento, antes de buscar RAM y almacenamiento secundario en discos duros. A partir de 2011, la mayoría de las CPU mantienen tres cachés individuales. Las memorias caché de instrucciones se refieren a las capturas de ejecución por instrucción, un búfer de traducción similar acelera las traducciones de direcciones para direcciones virtuales a físicas, y una memoria caché de datos contiene un almacenamiento de datos de jerarquía multinivel para ser manipulado por un conjunto de instrucciones de registro de procesador.