Registro de control

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

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.

CR6 Banderas y máscaras
CampoBitDescripció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).

Unidad de almacenamiento de procesadores 1-4
BitDescripció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).

Unidad de almacenamiento de procesadores 1-4
BitDescripció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.

Procesador de almacenamiento bits 11-14 códigos de asignación
BitCó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).

CR11 Channel Controller (CC) partición
BitDescripció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.

CR12 I/O Unidad de Control 1-16 Partición
BitDependencia de Control I/OInterfaz
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.

CR13 Unidad de Control I/O 17-32
BitDependencia de Control I/OInterfaz
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.

CR14 Indicadores
BitIndicador
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.

Registros de control ESA/390
CRbitsCampo
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.

z / Registros de control del modo de arquitectura
CRbitsCampo
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.

BitNombreNombre completoDescripción
0PEModo protegidoSi 1, sistema está en modo protegido, si no, el sistema está en modo real
1MPMonitor co-processorControla la interacción de instrucciones WAIT/FWAIT con la bandera TS en CR0
2EMEmulaciónSi está establecido, no hay unidad de punto flotante x87 presente, si está claro, x87 FPU presente
3TSInterruptor de tareasPermite guardar el contexto de tarea x87 en un interruptor de tarea sólo después de la instrucción x87 usada
4ETTipo de extensiónEn el 386, se permitió especificar si el coprocesador externo de matemáticas era un 80287 o 80387
5NEError numéricoActivar 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
16WPProtegerCuando se establece, la CPU no puede escribir para leer solamente páginas cuando el nivel de privilegio es 0
18AMMáscara de alineaciónComprobación de alineación activada si se establece AM, bandera AC (en registro EFLAGS) y nivel de privilegio es 3
29NWNo escribir a travésA nivel mundial, permite/desactivar el caché de escritura
30CDCache disablePermite/desactivar globalmente el caché de memoria
31PGPagingSi 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

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

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.

BitNombreNombre completoDescripción
0VMEVirtual 8086 Mode ExtensionesSi se establece, permite el soporte para la bandera de interrupción virtual (VIF) en modo virtual-8086.
1PVIInterrupciones Virtuales de Modo ProtegidoSi se establece, permite el soporte para la bandera de interrupción virtual (VIF) en modo protegido.
2TSDDesactivación de tiempoSi 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.
3DEDebugging ExtensionsSi se establece, permite el registro de depuración basada en el acceso espacial I/O.
4PSEPage Size ExtensionSi 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.

5PAEExtensión de la dirección físicaSi se establece, cambia el diseño de página para traducir direcciones virtuales de 32 bits en direcciones físicas extendidas de 36 bits.
6MCEExcepciones de control de máquinaSi se establece, permite que se produzcan interrupciones de la máquina.
7PGEPage Global EnabledSi se establece, las traducciones de direcciones (Registros PDE o PTE) pueden compartirse entre los espacios de dirección.
8PCEContador de supervisión de rendimientoSi se establece, RDPMC se puede ejecutar a cualquier nivel de privilegio, de lo contrario RDPMC sólo se puede utilizar en el anillo 0.
9OSFXSRSoporte de sistema operativo para instrucciones FXSAVE y FXRSTORSi se establece, permite Streaming SIMD Extensiones (SSE) instrucciones y rápido FPU guardar " restaurar.
10OSXMMEXCPTSoporte de sistema operativo para SIMD desenmascarado Excepciones de pintura flotanteSi se establece, permite desenmascarar excepciones SSE.
11UMIPPrevención de la Instrucción de Usuario-ModeSi se establece, las instrucciones SGDT, SIDT, SLDT, SMSW y STR no pueden ejecutarse si CPL √ 0.
12LA5757-Bit Linear AddressesSi se establece, permite el Paging de 5 niveles.
13VMXEExtensiones de la máquina virtualver virtualización Intel VT-x x86.
14SMXEExtensiones de modo más segurasver Tecnología de Ejecución Confiada (TXT)
15(Reservado)
16FSGSBASEFSGSBASE HabilitaciónSi se establece, permite las instrucciones RDFSBASE, RDGSBASE, WRFSBASE y WRGSBASE.
17PCIDEPCID HabilitaciónSi se establece, permite identificar procesos-contextos (PCIDs).
18OSXSAVEXSAVE and Processor Extended States Enable
19KLllave Locker HableSi se establece, permite las instrucciones de AES Key Locker.
20SMEPSupervisor Mode Execution Protection EnableSi se establece, la ejecución del código en un anillo superior genera una falla.
21SMAPSupervisor Mode Access Prevention EnableSi se establece, el acceso de los datos en un anillo superior genera una falla.
22PKEProtection Key EnableVea Intel 64 e IA-32 Architectures Software Developer's Manual.
23CETControl-flow Enforcement TechnologySi se establece, permite la tecnología de control de flujo.
24PKSLlaves de protección para las páginas Supervisor-ModeSi 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.
25UINTRInterrupciones de usuario PermiteSi se establece, permite interrumpir el interprocesador del modo de usuario y sus instrucciones y estructuras de datos asociadas.
63-26(Reservado)
  1. ^ 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
  1. ^ Los 128 bits inferiores de todos los registros YMM se almacenan en el estado SSE.
  2. ^ Los 256 bits inferiores de ZMM registra ZMM0 a través de ZMM15 se almacenan en los estados SSE y AVX.
  3. ^ 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

  1. ^ 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.
  1. ^ "lab4.pdf" (PDF). Uppsala University17 de marzo de 2024. Archivado (PDF) del original el 17 de enero de 2021. Retrieved 16 de marzo, 2024.
  2. ^ M67prelim, pp. 25-26, Control Registers.
  3. ^ a b M67, pág. 16, cuadro 4. Registros de control.
  4. ^ S/370, pp. 4-8-4-11 Registros de control.
  5. ^ M67, pp. 31-35, Control Register Bit Assignments for Sensing.
  6. ^ S/390-ESA.
  7. ^ S/370-ESA.
  8. ^ S/370-XA.
  9. ^ S/370.
  10. ^ S/390-ESA, pp. 4-6-4-10, Control Registers.
  11. ^ z/Arquitectura.
  12. ^ z/Arquitecture, pp. 4-9-4-12, Control Registers.
  13. ^ 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.
  14. ^ 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.
  15. ^ "5-Level Paging and 5-Level EPT" (PDF). Intel. Mayo de 2017. p. 16. Retrieved 2018-01-23.
  16. ^ a b c "Intel 64 and IA-32 Architectures Software Developer's Manual" (PDF). Intel® Corporation. 2021-06-28. Retrieved 2021-09-21.
  17. ^ Intel, Software Guard Extensions Programming Referencia, ref no. 329298-001, sep 2013 - capítulos 1.7 y 6.5.2 describir CR4.SEE.
  18. ^ Intel, Software Guard Extensiones Programación Referencia, ref no. 329298-002, oct 2014 - no hace mención de CR4.SEE.
  19. ^ 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.
  20. ^ Anvin, H. Peter (2012-09-21). "x86: Supervisor Mode Access Prevention". LWN.net. Retrieved 2017-08-04.
  21. ^ "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.
  • 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)
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save