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 que realizan 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.
Historia
Las primeras CPU carecían de registros de control dedicados y dependían de un conjunto limitado de señales y banderas internas. Cuando IBM desarrolló una versión de paginación del System/360, añadieron 16 registros de control al diseño de lo que se convirtió en el 360/67. IBM no proporcionó registros de control en otros modelos S/360, pero los convirtió en una parte estándar del System/370, aunque con diferentes asignaciones de registros y bits. A medida que IBM añadió nuevas características a la arquitectura, por ejemplo, DAS, S/370-XA, S/370-ESA, ESA/390, añadió campos adicionales a los registros de control. Con z/Architecture, IBM duplicó el tamaño del registro de control a 64 bits.
Registros de control en IBM 360/67
En el 360/67, CR0 y CR2 se utilizan para la traducción de direcciones, CR 4-6 contienen indicadores diversos, incluidas máscaras de interrupción y modo de control extendido, y CR 8-14 contienen las configuraciones de los interruptores en la unidad de configuración 2167.
M67 CR0
El registro de control 0 contiene la dirección de la tabla de segmentos para la traducción dinámica de direcciones.
M67 CR2
El registro de control 2 es el registro de dirección de excepción de reubicación.
M67 CR4
CR4 es el registro de máscara extendida para los canales 0 a 31. Cada bit es la máscara de canal 1/0 para el canal correspondiente.
M67 CR5
CR5 está reservado para el registro de máscara extendida para los canales 32 a 63. Cada bit es la máscara de canal 1/0 para el canal correspondiente.
M67 CR6
CR6 contiene dos indicadores de modo más extensiones para los bits de máscara PSW.
Campo | Bit | Descripción |
---|---|---|
0 | 0 | Extensión de máscara de control de canales o |
1 | 1 | Extensión de máscara de control de canales 1 |
2-3 | Reservado para controladores de canal 2-3 | |
4-7 | No asignados | |
8 | 8 | Modo de control extendido |
9 | 9 | Bit de control de configuración |
10 a 23 | No asignados | |
24-31 | Interrupción externa enmascaramiento | |
24 | Timer | |
25 | Clave interrumpida | |
26 | Alerta de mal funcionamiento - CPU 1 (Ext. Sig. 2) | |
27 | Alerta de mal funcionamiento - CPU 2 (Ext. Sig. 3) | |
28 | Reservado (Ext. Sig. 4) | |
29 | (Ext. Sig. 5) | |
30 | Interrupción externa - CPU 1, 2 (Ext. Sig. 6) | |
31 | (Ext. Sig. 7) |
M67 CR8
El registro de control 8 contiene las asignaciones de las unidades de almacenamiento del procesador 1 a 4 a las unidades centrales de procesamiento (CPU) y a los controladores de canal (CC).
Bit | Descripción |
---|---|
0 | Unidad de almacenamiento de procesadores 1 a CPU 1 |
1 | Unidad de almacenamiento de procesadores 1 a CPU 2 |
2-3 | Reservado para CPU 3-4 |
4 | Unidad de almacenamiento de procesadores 1 a CC 0 |
5 | Unidad de almacenamiento de procesadores 1 a CC 1 |
6-7 | Reservado para el CC 3-4 |
8 | Unidad de almacenamiento de procesadores 2 a CPU 1 |
9 | Unidad de almacenamiento de procesadores 2 a CPU 2 |
10-11 | Reservado para CPU 3-4 |
12 | Unidad de almacenamiento de procesadores 2 a CC 0 |
13 | Unidad de almacenamiento de procesadores 2 a CC 1 |
14 a 15 | Reservado para el CC 3-4 |
16 | Unidad de almacenamiento de procesadores 3 a CPU 1 |
17 | Unidad de almacenamiento de procesadores 3 a CPU 2 |
18 a 19 | Reservado para CPU 3-4 |
20 | Unidad de almacenamiento de procesadores 3 a CC 0 |
21 | Unidad de almacenamiento de procesadores 3 a CC 1 |
22 a 23 | Reservado para el CC 3-4 |
24 | Unidad de almacenamiento de procesadores 4 a CPU 1 |
25 | Unidad de almacenamiento de procesadores 4 a CPU 2 |
26-27 | Reservado para CPU 3-4 |
28 | Unidad de almacenamiento de procesadores 4 a CC 0 |
29 | Unidad de almacenamiento de procesadores 4 a CC 1 |
30-31 | Reservado para el CC 3-4 |
M67 CR9
El registro de control 9 contiene las asignaciones de las unidades de almacenamiento del procesador 5 a 8 a las unidades centrales de procesamiento (CPU) y a los controladores de canal (CC).
Bit | Descripción |
---|---|
0 | Unidad de almacenamiento de procesadores 5 a CPU 1 |
1 | Unidad de almacenamiento de procesadores 5 a CPU 2 |
2-3 | Reservado para CPU 3-4 |
4 | Unidad de almacenamiento de procesadores 5 a CC 0 |
5 | Unidad de almacenamiento de procesadores 5 a CC 1 |
6-7 | Reservado para el CC 3-4 |
8 | Unidad de almacenamiento de procesadores 6 a CPU 66 |
9 | Unidad de almacenamiento de procesadores 6 a CPU 2 |
10-11 | Reservado para CPU 3-4 |
12 | Unidad de almacenamiento de procesadores 6 a CC 0 |
13 | Unidad de almacenamiento de procesadores 6 a CC 1 |
14 a 15 | Reservado para el CC 3-4 |
16 | Unidad de almacenamiento de procesadores 7 a CPU 1 |
17 | Unidad de almacenamiento de procesadores 7 a CPU 2 |
18 a 19 | Reservado para CPU 3-4 |
20 | Unidad de almacenamiento de procesadores 7 a CC 0 |
21 | Unidad de almacenamiento de procesadores 7 a CC 1 |
22 a 23 | Reservado para el CC 3-4 |
24 | Unidad de almacenamiento de procesadores 8 a CPU 1 |
25 | Unidad de almacenamiento de procesadores 8 a CPU 2 |
26-27 | Reservado para CPU 3-4 |
28 | Unidad de almacenamiento de procesadores 8 a CC 0 |
29 | Unidad de almacenamiento de procesadores 8 a CC 1 |
30-31 | Reservado para el CC 3-4 |
M67 CR10
El registro de control 10 contiene los códigos de asignación de direcciones de almacenamiento del procesador.
Bit | Código de Dirección de Inicio |
---|---|
0-3 | Unidad de almacenamiento de procesadores 1 |
4-7 | Unidad de almacenamiento de procesadores 2 |
8 a 11 | Unidad de almacenamiento de procesadores 3 |
12 a 15 | Unidad de almacenamiento de procesadores 4 |
16 a 19 | Unidad de almacenamiento de procesadores 5 |
20 a 23 | Unidad de almacenamiento de procesadores 6 |
24-27 | Unidad de almacenamiento de procesadores 7 |
28-31 | Unidad de almacenamiento de procesadores 8 |
M67 CR11
El registro de control 11 contiene asignaciones de controlador de canal (CC).
Bit | Descripción |
---|---|
0 | CC 0 disponible en la CPU 1 |
1 | CC 0 disponible en la CPU 2 |
2-3 | Reservado para CPU 3-4 |
4 | CC 1 disponible en la CPU 1 |
5 | CC 1 disponible en la CPU 2 |
6-7 | Reservado para CPU 3-4 |
8 a 15 | No asignados |
16 | CPU 1 a sólo CC 0 |
17 | CPU 1 a únicamente CC 1 |
18 a 19 | Reservado para el CC 2-3 |
20 | CPU 2 a sólo CC 0 |
21 | CPU 2 a sólo CC 1 |
22 a 23 | Reservado para el CC 2-3 |
24-31 | No asignados |
M67 CR12
CR12 contiene particiones de la unidad de control de E/S.
Bit | Dependencia de Control I/O | Interfaz |
---|---|---|
0 | 1 | 1 |
1 | 2 | |
2 | 2 | 1 |
3 | 2 | |
4 | 3 | 1 |
5 | 2 | |
6 | 4 | 1 |
7 | 2 | |
8 | 5 | 1 |
9 | 2 | |
10 | 6 | 1 |
11 | 2 | |
12 | 7 | 1 |
13 | 2 | |
14 | 8 | 1 |
15 | 2 | |
16 | 9 | 1 |
17 | 2 | |
18 | 10 | 1 |
19 | 2 | |
20 | 11 | 1 |
21 | 2 | |
22 | 12 | 1 |
23 | 2 | |
24 | 13 | 1 |
25 | 2 | |
26 | 14 | 1 |
27 | 2 | |
28 | 15 | 1 |
29 | 2 | |
30 | 16 | 1 |
31 | 2 |
M67 CR13
CR13 contiene particiones de la unidad de control de E/S.
Bit | Dependencia de Control I/O | Interfaz |
---|---|---|
0 | 17 | 1 |
1 | 2 | |
2 | 18 | 1 |
3 | 2 | |
4 | 19 | 1 |
5 | 2 | |
6 | 20 | 1 |
7 | 2 | |
8 | 21 | 1 |
9 | 2 | |
10 | 22 | 1 |
11 | 2 | |
12 | 23 | 1 |
13 | 2 | |
14 | 24 | 1 |
15 | 2 | |
16 | 25 | 1 |
17 | 2 | |
18 | 26 | 1 |
19 | 2 | |
20 | 27 | 1 |
21 | 2 | |
22 | 28 | 1 |
23 | 2 | |
24 | 29 | 1 |
25 | 2 | |
26 | 30 | 1 |
27 | 2 | |
28 | 31 | 1 |
29 | 2 | |
30 | 32 | 1 |
31 | 2 |
M67 CR14
CR14 contiene indicadores.
Bit | Indicador |
---|---|
0-27 | No asignados |
22 | 2167 Power On |
23 | No asignados |
24 | Control directo, CPU 1 |
25 | Control directo, CPU 2 |
26-27 | No asignados |
28 | Prefijo, CPU 1 |
29 | Prefijo, CPU 2 |
30-31 | No asignados |
Registros de control en IBM S/390
Los registros de control de ESA/390 en el IBM S/390 son una mejora evolutiva de los registros de control de los procesadores ESA/370, S/370-XA y S/370 anteriores. Para obtener más información sobre qué campos dependen de características específicas, consulte los Principios de funcionamiento.
CR | bits | Campo |
---|---|---|
0 | 1 | SSM-represión |
0 | 2 | Control de sincronización en horas |
0 | 3 | Control de baja dirección-protección |
0 | 4 | Control de Extracción-autoridad |
0 | 5 | Control secundario-espacio |
0 | 6 | Control de protección de pares |
0 | 7 | Control de protección de almacenamiento |
0 | 8 a 12 | Formato de traducción |
0 | 13 | Control del registro AFP |
0 | 14 | Control de vectores |
0 | 15 | Control de la función espacio-espacio |
0 | 16 | Máscara subclase de malfuncionamiento |
0 | 17 | Máscara de subclase de emergencia |
0 | 18 | Máscara subclase de cabina externa |
0 | 19 | TOD-clock sync-check subclass mask |
0 | 20 | Clock-comparator subclass mask |
0 | 21 | Máscara subclase CPU-timer |
0 | 22 | Máscara de subclase de servicio |
0 | 24 | Set a 1 |
0 | 25 | Máscara subclase de quirófano |
0 | 26 | Set a 1 |
0 | 27 | Máscara subclase ETR |
0 | 28 | Program-call-fast |
0 | 29 | Control Crypto |
1 | 0 | Control primario del espacio-switch-event |
1 | 1 a 19 | Origen primario de la serie de sesiones |
1 | 22 | Control primario de subgrupos |
1 | 23 | Control primario privado-espacio |
1 | 24 | Control primario de almacenamiento-alteración-evento |
1 | 25-31 | Longitud del segmento primario |
2 | 1-25 | Origen dispatchable-unit-control-table |
3 | 0-15 | Máscara PSW-key |
3 | 16 a 31 | ASN secundario |
4 | 0-15 | Índice de autorización |
4 | 16 a 31 | ASN primario |
5 | 0 | Control de los vínculos entre subsistemas |
5 | 1-24 | Origen estable |
5 | 25-31 | Longitud de conexión-tabla |
5 | 1-25 | Cuando el control de la función-espacio es uno, Enseñanza primaria y secundaria |
6 | 0-7 | I/O-interruption subclass mask |
7 | 1 a 19 | Origen secundario |
7 | 22 | Control secundario de subgrupos |
7 | 23 | Control secundario del espacio privado |
7 | 24 | Control secundario de almacenamiento-alteración-evento |
7 | 25-31 | Longitud de la mesa secundaria |
8 | 0-15 | Índice de autorización ampliada |
8 | 16 a 31 | Máscaras de monitor |
9 | 0 | Máscara de evento exitoso |
9 | 1 | Máscara de embrague de instrucciones |
9 | 2 | Máscara de montaje de almacenamiento |
9 | 3 | Máscara GR-alteración-evento |
9 | 4 | Tienda-utilizando-real-address-event máscara |
9 | 8 | Control de la dirección |
9 | 10 | Control de almacenamiento-alteración-espacio |
9 | 16 a 31 | Máscaras de registro general |
10 | 1-31 | Dirección de inicio |
11 | 1-31 | Dirección final |
12 | 0 | Control del tráfico de oficinas |
12 | 1-29 | Dirección de entrada de rastros |
12 | 30 | Control de tráfico ASN |
12 | 31 | Control de tráfico de explosivos |
13 | 0 | Control de espacio en el hogar |
13 | 1 a 19 | Home segment-table origin |
13 | 23 | Home control privado-espacio |
13 | 24 | Control casero de almacenamiento-alteración-evento |
13 | 25-31 | Longitud del segmento del hogar |
14 | 0 | Set a 1 |
14 | 1 | Set a 1 |
14 | 2 | Control de área extendida |
14 | 3 | Máscara subclase de carga de canal |
14 | 4 | Máscara subclase de recuperación |
14 | 5 | Degradation subclass mask |
14 | 6 | Máscara subclase de prisión externa |
14 | 7 | Máscara subclase de advertencia |
14 | 10 | Control de control de control de control en horas |
14 | 12 | Control de la traducción ASN |
14 | 13-31 | ASN-first-table origin |
15 | 1-28 | Dirección de enlace de entrada |
Registros de control en IBM z/Arquitectura
Los registros de control de z/Architecture son una mejora evolutiva de los registros de control del ESA/390 anterior en los procesadores IBM S/390. Para obtener detalles sobre qué campos dependen de características específicas, consulte los Principios de funcionamiento. Debido a que z/Architecture amplía los registros de control de 32 bits a 64, la numeración de bits difiere de la de ESA/390.
CR | bits | Campo |
---|---|---|
0 | 8 | Control de ejecución transaccional |
0 | 9 | Interrupción del programa-interrupción de ejecución transaccional |
0 | 10 | Control de señal del bloqueador |
0 | 13 | Control de contador de críptografía |
0 | 14 | Procesador-actividad-instrumentación-extensión control |
0 | 15 | Control de autorización del contador de medición |
0 | 30 | Máscara de subclase |
0 | 32 | Control de TRACE TOD-clock |
0 | 33 | SSM-represión |
0 | 34 | Control de sincronización en horas |
0 | 35 | Control de baja dirección-protección |
0 | 36 | Control de Extracción-autoridad |
0 | 37 | Control secundario-espacio |
0 | 38 | Control de protección de pares |
0 | 39 | Control de protección de almacenamiento |
0 | 40 | Control de habilitación de DAAT mejorado |
0 | 43 | Control de la capacidad de protección de la ejecución de instrucciones |
0 | 44 | Control de reutilización ASN y LX |
0 | 45 | Control del registro AFP |
0 | 46 | Control de la habilitación de vectores |
0 | 48 | Máscara subclase de malfuncionamiento |
0 | 48 | Máscara subclase de malfuncionamiento |
0 | 49 | Máscara de subclase de emergencia |
0 | 50 | Máscara subclase de cabina externa |
0 | 52 | Clock-comparator subclass mask |
0 | 53 | Máscara subclase CPU-timer |
0 | 54 | Máscara de subclase de servicio |
0 | 56 | Inicialmente a 1 |
0 | 57 | Máscara subclase de quirófano |
0 | 58 | Máscara de subclase de medición |
0 | 59 | Máscara de subclase de alerto |
0 | 61 | Control Crypto |
1 | 0-51 | Elemento primario de control del espacio (ASCE) Origen primario de la zona Origen primario de la serie de sesiones Origen primario del token real |
1 | 54 | Control primario de subgrupos |
1 | 55 | Control primario privado-espacio |
1 | 56 | Almacenamiento primario-alteración-evento |
1 | 57 | Control primario del espacio-switch-event |
1 | 58 | Control primario del espacio real |
1 | 60 a 61 | Control de tipo primario |
1 | 62-63 | Longitud de la mesa primaria |
2 | 33-57 | Origen dispatchable-unit-control-table |
2 | 59 | Control de habilitación de almacenamiento vigilado |
2 | 61 | Alcance diagnóstico de transacciones |
2 | 62-63 | Control de diagnóstico de transacciones |
3 | 0-31 | Número de instancia de segunda serie de ASN |
3 | 32-47 | Máscara PSW-key |
3 | 48-63 | ASN secundario |
4 | 0-31 | Número de instancia primaria ASN de segunda serie |
4 | 32-47 | Índice de autorización |
4 | 48-63 | ASN primario |
5 | 33-57 | Origen primario-ASN-segundo-table-entry |
6 | 32-39 | I/O-interruption subclass mask |
7 | 0-51 | Elemento de control de direcciones secundarias (ASCE) Origen regional secundario Origen secundario Origen token del espacio real secundario |
7 | 54 | Control secundario de subgrupos |
7 | 55 | Control secundario del espacio privado |
7 | 56 | Control secundario de almacenamiento-alteración-evento |
7 | 58 | Control del espacio real secundario |
7 | 60 a 61 | Control secundario de tipo de designación |
7 | 62-63 | Longitud de la mesa secundaria |
8 | 16 a 31 | Máscaras de monitor mejorado |
8 | 32-47 | Índice de autorización ampliada |
8 | 48-63 | Máscaras de monitor |
9 | 32 | Máscara de evento exitoso |
9 | 33 | Máscara de embrague de instrucciones |
9 | 34 | Máscara de montaje de almacenamiento |
9 | 35 | Máscara de montaje de llave de almacenamiento |
9 | 36 | Tienda-utilizando-real-address-event máscara |
9 | 37 | Máscara de punto de dirección cero |
9 | 38 | Máscara de evento de final de transacción |
9 | 39 | Instruction-fetching-nullification-event máscara |
9 | 40 | Control de la dirección |
9 | 41 | Control de supresión de los incidentes |
9 | 43 | Control de almacenamiento-alteración-espacio |
10 | 0-63 | Dirección de inicio |
11 | 0-63 | Dirección final |
12 | 0 | Control del tráfico de oficinas |
12 | 1 | Control de movimiento |
12 | 2-61 | Dirección de entrada de rastros |
12 | 62 | Control de tráfico ASN |
12 | 63 | Control de tráfico de explosivos |
13 | 0-51 | Inicio Elemento de control de espacio (ASCE) Home region-table origin Home segment-table origin Inicio de origen token espacio real |
13 | 55 | Home control privado-espacio |
13 | 56 | Home storage-alteration-eventl |
13 | 57 | Control de espacio en el hogar |
13 | 58 | Control del espacio real secundario |
13 | 60 a 61 | Control de tipo de designación |
13 | 62-63 | Longitud de la mesa |
14 | 32 | Set a 1 |
14 | 33 | Set a 1 |
14 | 34 | Control prolongado de la zona de ahorro (ESA/390-modo de compatibilidad únicamente) |
14 | 35 | Máscara subclase de carga de canal |
14 | 36 | Máscara subclase de recuperación |
14 | 37 | Degradation subclass mask |
14 | 38 | Máscara subclase de prisión externa |
14 | 39 | Máscara subclase de advertencia |
14 | 42 | Control de control de control de control en horas |
14 | 44 | Control de la traducción ASN |
14 | 45-63 | ASN-first-table origin |
15 | 0-60 | Dirección de enlace de entrada |
Registros de control en la serie Intel x86
CR0
El registro CR0 tiene una longitud de 32 bits en los procesadores 386 y superiores. En los procesadores x64 en modo largo, este registro (y los demás registros de control) tiene una longitud de 64 bits. CR0 tiene varios indicadores de control que modifican el funcionamiento básico del procesador. El registro CR0 es la versión de 32 bits del antiguo registro de palabra de estado de la máquina (MSW). El registro MSW se amplió al registro de control con la aparición del procesador i386.
Bit | Nombre | Nombre completo | Descripción |
---|---|---|---|
0 | PE | Modo protegido | Si 1, sistema está en modo protegido, si no, el sistema está en modo real |
1 | MP | Monitor co-processor | Controla la interacción de instrucciones WAIT/FWAIT con la bandera TS en CR0 |
2 | EM | Emulación | Si está establecido, no hay unidad de punto flotante x87 presente, si está claro, x87 FPU presente |
3 | TS | Interruptor de tareas | Permite guardar el contexto de tarea x87 en un interruptor de tarea sólo después de la instrucción x87 usada |
4 | ET | Tipo de extensión | En el 386, se permitió especificar si el coprocesador externo de matemáticas era un 80287 o 80387 |
5 | NE | Error numérico | Activar el reporte de error de punto flotante x87 interno cuando se establece, de lo contrario permite la detección de errores de estilo PC x87 |
16 | WP | Proteger | Cuando se establece, la CPU no puede escribir para leer solamente páginas cuando el nivel de privilegio es 0 |
18 | AM | Máscara de alineación | Comprobación de alineación activada si se establece AM, bandera AC (en registro EFLAGS) y nivel de privilegio es 3 |
29 | NW | No escribir a través | A nivel mundial, permite/desactivar el caché de escritura |
30 | CD | Cache disable | Permite/desactivar globalmente el caché de memoria |
31 | PG | Paging | Si 1, habilitar la paging y utilizar el registro § CR3, de lo contrario deshabilitar el paging. |
CR1
Reservado, la CPU lanzará una excepción #UD al intentar acceder a él.
CR2
Contiene un valor denominado Dirección lineal de fallo de página (PFLA). Cuando se produce un fallo de página, la dirección a la que el programa intentó acceder se almacena en el registro CR2.
CR3

Se utiliza cuando se habilita el direccionamiento virtual, es decir, cuando el bit PG está establecido 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. Normalmente, 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 del primer directorio de páginas. Si el bit PCIDE en CR4 está establecido, los 12 bits inferiores se utilizan para el identificador de contexto de proceso (PCID).
CR4
Se utiliza en modo protegido para controlar operaciones como compatibilidad con virtual-8086, habilitación de puntos de interrupción de E/S, extensión del tamaño de página y excepciones de verificación de máquina.
Bit | Nombre | Nombre completo | Descripción |
---|---|---|---|
0 | VME | Virtual 8086 Mode Extensiones | Si se establece, permite el soporte para la bandera de interrupción virtual (VIF) en modo virtual-8086. |
1 | PVI | Interrupciones Virtuales de Modo Protegido | Si se establece, permite el soporte para la bandera de interrupción virtual (VIF) en modo protegido. |
2 | TSD | Desactivación de tiempo | Si se establece, la instrucción RDTSC sólo se puede ejecutar cuando está en el anillo 0, de lo contrario RDTSC se puede utilizar en cualquier nivel de privilegio. |
3 | DE | Debugging Extensions | Si se establece, permite el registro de depuración basada en el acceso espacial I/O. |
4 | PSE | Page Size Extension | Si se establece, permite el modo de paging de 32 bits para utilizar 4 páginas enormes MiB además de 4 páginas KiB.
Si PAE está habilitado o el procesador está en modo largo x86-64 este bit es ignorado. |
5 | PAE | Extensión de la dirección física | Si se establece, cambia el diseño de página para traducir direcciones virtuales de 32 bits en direcciones físicas extendidas de 36 bits. |
6 | MCE | Excepciones de control de máquina | Si se establece, permite que se produzcan interrupciones de la máquina. |
7 | PGE | Page Global Enabled | Si se establece, las traducciones de direcciones (Registros PDE o PTE) pueden compartirse entre los espacios de dirección. |
8 | PCE | Contador de supervisión de rendimiento | Si se establece, RDPMC se puede ejecutar a cualquier nivel de privilegio, de lo contrario RDPMC sólo se puede utilizar en el anillo 0. |
9 | OSFXSR | Soporte de sistema operativo para instrucciones FXSAVE y FXRSTOR | Si se establece, permite Streaming SIMD Extensiones (SSE) instrucciones y rápido FPU guardar " restaurar. |
10 | OSXMMEXCPT | Soporte de sistema operativo para SIMD desenmascarado Excepciones de pintura flotante | Si se establece, permite desenmascarar excepciones SSE. |
11 | UMIP | Prevención de la Instrucción de Usuario-Mode | Si se establece, las instrucciones SGDT, SIDT, SLDT, SMSW y STR no pueden ejecutarse si CPL √ 0. |
12 | LA57 | 57-Bit Linear Addresses | Si se establece, permite el Paging de 5 niveles. |
13 | VMXE | Extensiones de la máquina virtual | ver virtualización Intel VT-x x86. |
14 | SMXE | Extensiones de modo más seguras | ver Tecnología de Ejecución Confiada (TXT) |
15 | (Reservado) | — | |
16 | FSGSBASE | FSGSBASE Habilitación | Si se establece, permite las instrucciones RDFSBASE, RDGSBASE, WRFSBASE y WRGSBASE. |
17 | PCIDE | PCID Habilitación | Si se establece, permite identificar procesos-contextos (PCIDs). |
18 | OSXSAVE | XSAVE and Processor Extended States Enable | |
19 | KL | llave Locker Hable | Si se establece, permite las instrucciones de AES Key Locker. |
20 | SMEP | Supervisor Mode Execution Protection Enable | Si se establece, la ejecución del código en un anillo superior genera una falla. |
21 | SMAP | Supervisor Mode Access Prevention Enable | Si se establece, el acceso de los datos en un anillo superior genera una falla. |
22 | PKE | Protection Key Enable | Vea Intel 64 e IA-32 Architectures Software Developer's Manual. |
23 | CET | Control-flow Enforcement Technology | Si se establece, permite la tecnología de control de flujo. |
24 | PKS | Llaves de protección para las páginas Supervisor-Mode | Si se establece, cada dirección lineal de control-mode se asocia con una clave de protección cuando se utiliza la paging de 4 niveles o 5 niveles. |
25 | UINTR | Interrupciones de usuario Permite | Si se establece, permite interrumpir el interprocesador del modo de usuario y sus instrucciones y estructuras de datos asociadas. |
63-26 | — | (Reservado) | — |
- ^ En los primeros borradores de la especificación Intel SGX, el bit 15 de CR4 fue llamado "CR4.SEE" y se describió como un enclave SGX-instrucción permite bit. Las revisiones posteriores de esta especificación eliminaron referencias a este bit.
CR5-7
Reservado, mismo caso que CR1.
Registros de control adicionales en la serie Intel x86-64
EFER
El registro de habilitación de funciones extendidas (EFER) es un registro específico del modelo que se agregó en el procesador AMD K6 para permitir la habilitación de la instrucción SYSCALL/SYSRET y, posteriormente, 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 MSR es 0xC0000080.
Bit | Propósito |
---|---|
0 | SCE (Extensiones de llamadas de sistema) |
1 | DPE (AMD K6 solamente: Data Prefetch Enable) |
2 | SEWBED (AMD K6 solamente: Especulative EWBE# Disable) |
3 | GEWBED (AMD K6 solamente: Global EWBE# Disable) |
4 | L2D (AMD K6 solamente: L2 Cache Disable) |
5-7 | Reservado, Leer como Cero |
8 | LME (Long Mode Enable) |
9 | Reservado |
10 | LMA (Modo largo activo) |
11 | NXE (No-Execute Enable) |
12 | SVME (Secure Virtual Machine Enable) |
13 | LMSLE (Long Mode Segment Limit Enable) |
14 | FFXSR (Fast FXSAVE/FXRSTOR) |
15 | TCE (Extensión de caché de traducción) |
16 | Reservado |
17 | MCOMMIT (La instrucción MCOMMIT permite) |
18 | INTWB (Interruptible WBINVD/WBNOINVD habilitar) |
19 | Reservado |
20 | UAIE (Upper Address Ignore Enable) |
21 | AIBRSE (Automatic IBRS Enable) |
22-63 | Reservado |
CR8
CR8 es un nuevo registro accesible en modo de 64 bits mediante el prefijo REX. CR8 se utiliza para priorizar interrupciones externas y se lo conoce como registro de prioridad de tareas (TPR).
La arquitectura AMD64 permite que el software defina hasta 15 clases de prioridad de interrupción externa. Las clases de prioridad se numeran del 1 al 15, siendo la clase de prioridad 1 la más baja y la clase de prioridad 15 la más alta. CR8 utiliza los cuatro bits de orden inferior para especificar una prioridad de tarea y los 60 bits restantes están reservados y deben escribirse con ceros.
El software del sistema puede utilizar el registro TPR para bloquear temporalmente las interrupciones de baja prioridad y evitar que interrumpan una tarea de alta prioridad. Esto se logra cargando TPR con un valor correspondiente a la interrupción de mayor prioridad que se va a bloquear. Por ejemplo, cargar TPR con un valor de 9 (1001b) bloquea todas las interrupciones con una clase de prioridad de 9 o menos, mientras que permite que se reconozcan todas las interrupciones con una clase de prioridad de 10 o más. Cargar TPR con 0 habilita todas las interrupciones externas. Cargar TPR con 15 (1111b) deshabilita todas las interrupciones externas.
El TPR se pone a cero al reiniciarse.
XCR0 y XSS
XCR0, o Registro de control extendido 0, es un registro de control que se utiliza para alternar el almacenamiento o la carga de registros relacionados con funciones específicas de la CPU mediante las instrucciones XSAVE/XRSTOR. También se utiliza con algunas funciones para habilitar o deshabilitar la capacidad del procesador para ejecutar sus instrucciones correspondientes. Se puede cambiar mediante la lectura privilegiada XSETBV mediante las instrucciones no privilegiadas XGETBV.
Bit | Nombre | Enabled Feature | Propósito |
---|---|---|---|
0 | X87 | x87 FPU | x87 FPU/MMX Estado, debe ser '1' |
1 | SSE | SSE | MXCSR y 16 registros XMM |
2 | AVX | AVX | 16 top-halves of the YMM registers |
3 | BNDREG | MPX | Cuatro registros BND |
4 | BNDCSR | Registros BNDCFGU y BNDSTATUS | |
5 | OPMASK | AVX-512 | Ocho cajas de masajista |
6 | ZMM_Hi256 | 16 top-halves of the ZMM registers | |
7 | Hi16_ZMM | 16 registros ZMM altos (ZMM16 a ZMM31) | |
8 | PT | Trace de procesador | |
9 | PKRU | Claves de protección | Registro PKRU |
10 | PASID | ||
11 | CET_U | Intel CET | pila de sombras de usuario |
12 | CET_S | Supervisor sombra pila | |
13 | HDC | Duty Cycling | |
14 | UINTR | Interrumpe el usuario | |
15 | LBR | Últimos Documentos de la Subdivisión | |
16 | HWP | Hardware P-states | |
17 | XTILECFG | Intel AMX | Registro TILECFG de 64 bytes |
18 | XTILEDATA | Ocho 1024 bytes TILE registra | |
19 | APX | Intel APX | 16 GPRs "altas" (R16 a R31) |
20-63 | Reservado |
- ^ Los 128 bits inferiores de todos los registros YMM se almacenan en el estado SSE.
- ^ Los 256 bits inferiores de ZMM registra ZMM0 a través de ZMM15 se almacenan en los estados SSE y AVX.
- ^ Aunque Intel APX se indica a través del bit 19 de XCR0, en realidad está escrito, a través de XSAVE (la forma no cumplida), en el espacio no utilizado 128 byte izquierda donde Intel MPX fue.
También existe el MSR IA32_XSS, que se encuentra en la dirección DA0h
. El MSR IA32_XSS controla bits de XCR0 que se consideran como estado de "supervisor" y deberían ser invisibles para los programas regulares. Opera con las instrucciones XSAVES y XRSTORS privilegiadas agregando el estado de supervisor a los datos con los que operan. En pocas palabras, si el estado X87 estuviera habilitado en XCR0 y el estado PT estuviera habilitado en IA32_XSS, la instrucción XSAVE solo almacenaría el estado X87, mientras que el XSAVES privilegiado almacenaría tanto el estado X87 como el PT. Debido a que es un MSR, se puede acceder a él mediante las instrucciones RDMSR y WRMSR.
Bit | Propósito |
---|---|
0–7 | Reservado; debe ser 0. |
8 | PT (Permite el ahorro y la carga de nueve MSR de Traza de Procesador.) |
10 | Processor Address Space ID (PASID) state |
11 | Control-flow Enforcement Technology (CET) User State |
12 | Supervisor State |
13 | HDC (Permite el ahorro y la carga del IA32_PM_CTL1 MSR.) |
14 | Interrumpe el usuario (UINTR) estado |
15 | Última grabación de rama (LBR) estado |
16 | HWP (puede ahorrar/cargar de IA32_HWP_REQUEST MSR) |
17 a 63 | Reservado; debe ser 0. |
Véase también
- Registro para fines generales
- Registro de pruebas
- Registro específico del modelo
- Registro de depuración
- Bandera byte
- Registro de situación
Notas
- ^ IBM nunca envió el 360/64 o el 360/66, sólo el 360/67.
Referencias
- Manuales de IBM
- M67prelim
- System/360 Model 67 - Time Sharing System - Preliminary Technical Summary (PDF). Biblioteca de Referencia de Sistemas (Primera edición). IBM. C20-1647-0. Retrieved 8 de mayo, 2023.
- M67
- IBM System/360 Model 67 - Características funcionales (PDF). Biblioteca de Referencia de Sistemas (Tercera edición). IBM. Febrero de 1972. A27-2719-0. Retrieved 8 de mayo, 2023.
- S/370
- IBM System/370 - Principios de la Operación (PDF) (Elevento ed.). IBM. Septiembre de 1987. GA22-7000-10. Retrieved 8 de mayo, 2023.
- S/370-XA
- IBM System/370 Principios de Arquitectura Ampliados de la Operación (PDF) (Segunda edición). IBM. Enero de 1987. SA22-7085-1. Retrieved 8 de mayo, 2023.
- S/370-ESA
- IBM Enterprise Systems Architecture/370 Principios de funcionamiento (PDF) (Primera edición). IBM. Agosto de 1988. SA22-7200-0. Retrieved 8 de mayo, 2023.
- S/390-ESA
- IBM Enterprise Systems Architecture/390 Principios de funcionamiento (PDF) (Ninth ed.). IBM. Junio de 2003. SA22-7201-08. Retrieved 8 de mayo, 2023.
- z/Arquitectura
- z/Arquitectura - Principios de la Operación (PDF) (Cuarta edición). IBM. Mayo 2022. SA22-7832-13. Retrieved 8 de mayo, 2023.
- ^ "lab4.pdf" (PDF). Uppsala University17 de marzo de 2024. Archivado (PDF) del original el 17 de enero de 2021. Retrieved 16 de marzo, 2024.
- ^ M67prelim, pp. 25-26, Control Registers.
- ^ a b M67, pág. 16, cuadro 4. Registros de control.
- ^ S/370, pp. 4-8-4-11 Registros de control.
- ^ M67, pp. 31-35, Control Register Bit Assignments for Sensing.
- ^ S/390-ESA.
- ^ S/370-ESA.
- ^ S/370-XA.
- ^ S/370.
- ^ S/390-ESA, pp. 4-6-4-10, Control Registers.
- ^ z/Arquitectura.
- ^ z/Arquitecture, pp. 4-9-4-12, Control Registers.
- ^ a b Intel Corporation (2016). "4.10.1 Identificadores de Contexto de Procesos (PCIDs)". Intel 64 e IA-32 Arquitecturas Manual de Desarrolladores (PDF). Vol. 3A: Guía de programación de sistemas, Parte 1.
- ^ a b "Manual del Programador de Arquitectura de AMD64 Volumen 2: Programación del Sistema" (PDF). AMD. September 2012. pp. 127 " 130. Retrieved 2017-08-04.
- ^ "5-Level Paging and 5-Level EPT" (PDF). Intel. Mayo de 2017. p. 16. Retrieved 2018-01-23.
- ^ a b c "Intel 64 and IA-32 Architectures Software Developer's Manual" (PDF). Intel® Corporation. 2021-06-28. Retrieved 2021-09-21.
- ^ Intel, Software Guard Extensions Programming Referencia, ref no. 329298-001, sep 2013 - capítulos 1.7 y 6.5.2 describir CR4.SEE.
- ^ Intel, Software Guard Extensiones Programación Referencia, ref no. 329298-002, oct 2014 - no hace mención de CR4.SEE.
- ^ Fischer, Stephen (2011-09-21). "Supervisor Mode Execution Protection" (PDF). NSA Trusted Computing Conference 2011. National Conference Services, Inc. Archivado desde el original (PDF) on 2016-08-03. Retrieved 2017-08-04.
- ^ Anvin, H. Peter (2012-09-21). "x86: Supervisor Mode Access Prevention". LWN.net. Retrieved 2017-08-04.
- ^ "Capítulo 13, Gestión del Estado usando el conjunto de valores Xsave" (PDF). Intel(R) 64 e IA-32 Architectures Software Developer's Manual, Volumen 1: Basic Architecture. Intel Corporation (2019). Retrieved 23 de marzo 2019.
Enlaces externos
- Intel 64 y IA-32 Architectures Developer's Manual: Vol. 3A
- Intel 64 e IA-32 Manuales de desarrolladores de software de arquitecturas
- Tech Docs: AMD64
- Mundo de Wyatt: Abra el Pentium III (1999-05-28)