registro de control


Un registro de control es un registro de procesador que cambia o controla el comportamiento general de una CPU u otro dispositivo digital. Las tareas comunes realizadas por los registros de control incluyen el control de interrupciones , el cambio del modo de direccionamiento , el control de paginación y el control del coprocesador .

El registro CR0 tiene una longitud de 32 bits en los procesadores 386 y superiores. En los procesadores x64 en modo largo , este (y los demás registros de control) tiene una longitud de 64 bits. CR0 tiene varias banderas de control que modifican el funcionamiento básico del procesador.

Contiene un valor denominado Dirección lineal de error de página (PFLA). Cuando ocurre una falla de página, la dirección a la que el programa intentó acceder se almacena en el registro CR2.

Se usa cuando el direccionamiento virtual está habilitado, por lo tanto, cuando el bit PG está configurado en CR0. CR3 permite que el procesador traduzca direcciones lineales en direcciones físicas al ubicar el directorio de páginas y las tablas de páginas para la tarea actual. Por lo general, los 20 bits superiores de CR3 se convierten en el registro base del directorio de páginas (PDBR), que almacena la dirección física de la entrada del directorio de la primera página. Si se establece el bit PCIDE en CR4 , los 12 bits más bajos se utilizan para el identificador de contexto de proceso (PCID). [1]

Se usa en modo protegido para controlar operaciones como la compatibilidad con virtual-8086, que permite puntos de interrupción de E/S, extensión de tamaño de página y excepciones de verificación de máquina .

El registro de habilitación de características extendidas (EFER) es un registro específico del modelo agregado en el procesador AMD K6 , para permitir habilitar la instrucción SYSCALL / SYSRET, y luego para ingresar y salir del modo largo . Este registro se vuelve arquitectónico en AMD64 y ha sido adoptado por Intel como IA32_EFER. Su número de MSR es 0xC0000080.


Uso típico de CR3 en la traducción de direcciones con  páginas de 4 KiB