Los diseños Intel 64 salen del reset en un estado que Intel describe como el mismo que el del 8086: el modo real. Eso no significa que el procesador moderno emule por completo aquel chip. La distinción importa porque el arranque del firmware y de otros núcleos todavía puede depender de pasos heredados de x86. Intel lo explica en su documento sobre X86S.

Qué significa arrancar en modo real

El modo real es un estado de ejecución asociado al modelo de direcciones del 8086. En su cálculo convencional, la dirección se obtiene desplazando el segmento cuatro bits a la izquierda y sumándole el desplazamiento: (segmento << 4) + desplazamiento. Con valores de 16 bits, ese modelo da una dirección de 20 bits y un espacio nominal de 1 MiB.

Ese cálculo no describe por sí solo el primer acceso a memoria de un procesador x86 moderno. Adam Conway, de XDA Developers, señala que los manuales de procesadores Intel y AMD sitúan la dirección de búsqueda inicial en FFFFFFF0h, mediante una base oculta especial del registro de segmento de código. Es una condición específica del reset, no una dirección obtenida con el cálculo convencional del modo real. XDA Developers detalla el estado de reset y sus pruebas.

UEFI tampoco cambia ese contrato de reset: define cómo se organiza el firmware y el arranque, no el estado inicial de la CPU. El firmware avanza desde ese estado y, en un equipo con arranque UEFI, el cargador del sistema operativo no tiene por qué ejecutarse en modo real.

El modo real no es una emulación completa del 8086

Daedalus Community muestra en inglés cómo preparar la GDT y pasar del modo real al protegido

Los registros de segmento contienen más estado del que aparece en sus valores visibles. La explicación técnica de OS/2 Museum señala que conservan atributos internos, como la base y los límites del segmento; cargar un registro puede modificar parte de ese estado sin reducir el procesador a una copia del 8086. OS/2 Museum explica el comportamiento de los segmentos.

Esto también ayuda a entender por qué una transición entre modos no consiste simplemente en cambiar un bit. En una consulta concreta sobre QEMU, el participante nullplan, de OSDev.org, explica que un salto lejano por sí solo no borra los atributos retenidos: para volver a modo real, el código debe cargar descriptores de 16 bits mientras sigue en modo protegido y completar después la transición. La respuesta de nullplan en OSDev.org se refiere a ese caso de un sistema operativo de prueba, no a una receta universal.

Por qué el arranque de otros núcleos conserva pasos heredados

El arranque tradicional de un procesador adicional usa primero INIT y después SIPI. El vector de SIPI señala código de inicio situado por debajo de 1 MiB, donde el núcleo secundario comienza en modo real. Por eso eliminar el arranque heredado exige algo más que cambiar el inicio del núcleo principal: también hace falta sustituir ese mecanismo para activar los demás núcleos. Intel describe esa dependencia al explicar X86S.

Las observaciones de Adam Conway en XDA muestran cómo aparece ese trabajo en software concreto. En una prueba de QEMU con OVMF, Conway contó 18 direcciones de instrucción distintas en modo real antes de pasar a modo protegido por la ruta ordinaria del firmware. En otra prueba, con Linux 6.18 y dos núcleos virtuales, contó 67 instrucciones de 16 bits en el trampolín de inicio del segundo núcleo. Son mediciones de recorridos distintos, no un recuento universal de todo arranque x86. En una compilación concreta de Windows 11, la 10.0.28000.3086, identificó además las rutinas HalpRMStub, HalpPMStub y HalpLMStub. XDA Developers describe las pruebas y el análisis de código.

Qué habría cambiado X86S

Intel propuso X86S como una arquitectura x86 solo de 64 bits: el procesador habría arrancado directamente en un modo paginado de 64 bits y habría usado un mecanismo nuevo para iniciar los demás núcleos. El cambio habría sustituido tanto el estado inicial heredado como la ruta de INIT/SIPI.

DiseñoEstado inicialInicio de otros núcleosCambio previsto
x86 documentadoEstado de reset asociado al 8086 y al modo realINIT seguido de SIPI; el núcleo secundario comienza con código real situado por debajo de 1 MiBConserva los pasos heredados de inicio
X86S propuestoInicio directo en modo paginado de 64 bitsUn mecanismo de 64 bits en sustitución de SIPIElimina la transición inicial por modos heredados

Una arquitectura de este tipo también habría tenido que abordar la compatibilidad con el software existente. Intel afirma que mantiene un compromiso de larga duración con la compatibilidad de software y señala que un sistema operativo heredado de 64 bits podría ejecutarse mediante virtualización. En diciembre de 2024, la compañía dijo que no continuaría con X86S tras recibir comentarios del ecosistema. La página oficial de Intel expone su postura y la decisión sobre la propuesta.