The long life of Intel® Architecture has resulted in a rich software ecosystem with an enormous installed base that extends from PCs to the cloud to mobile and from embedded devices to supercomputers and beyond.
Since its introduction over 20 years ago, the Intel® 64 architecture became the dominant operating mode. As an example of this evolution, Microsoft stopped shipping the 32-bit version of their Windows 11 operating system. Intel firmware no longer supports non UEFI64 operating systems natively. 64-bit operating systems are the de facto standard today. They retain the ability to run 32-bit applications but have stopped supporting 16-bit applications natively.
With this evolution, Intel believes there are opportunities for simplification in our hardware and software ecosystem.
Certain legacy modes have little utility in modern operating systems besides bootstrapping the CPU into the 64-bit mode. It is worth asking the question, “Could these seldom used elements of the architecture be removed to simplify a 64-bit mode-only architecture?”
This whitepaper details the architectural enhancements and modifications that Intel is currently investigating for a 64-bit mode-only architecture referred to as x86S (for simplification). Intel is publishing this paper to solicit feedback from the ecosystem while exploring the benefits of extending the ISA transition to a 64-bit mode-only solution.
How Would a 64-Bit Mode-Only Architecture Work?
Intel® 64 architecture designs come out of reset in the same state as the original 8086 and require a series of code transitions to enter 64-bit mode. Once running, these modes are not used in modern applications or operating systems.
An exclusively 64-bit mode architecture will require 64-bit equivalents of technologies that currently run in either real mode or protected mode. For example:
- Booting CPUs (SIPI) starts in real-address mode today and needs a 64-bit replacement. A direct 64-bit reset state eliminates the several stages of trampoline code to enter 64-bit operation.
- Today, using 5-level pages requires disabling paging, which requires going back to unpaged legacy mode. In the proposed architecture, it is possible to switch to 5-level paging without leaving a paged mode.
These modifications can be implemented with straightforward enhancements to the system architecture affecting the operating system only.
What Would Be the Benefits of a 64-bit Mode-Only Architecture?
A 64-bit mode-only architecture removes some older appendages of the architecture, reducing the overall complexity of the software and hardware architecture. By exploring a 64-bit mode-only architecture, other changes that are aligned with modern software deployment could be made. These changes include:
- Using the simplified segmentation model of 64-bit for segmentation support for 32-bit applications, matching what modern operating systems already use.
- Removing ring 1 and 2 (which are unused by modern software) and obsolete segmentation features like gates.
- Removing 16-bit addressing support.
- Eliminating support for ring 3 I/O port accesses.
- Eliminating string port I/O, which supported an obsolete CPU-driven I/O model.
- Limiting local interrupt controller (APIC) use to X2APIC and remove legacy 8259 support.
- Removing some unused operating system mode bits.
Legacy Operating Systems on 64-Bit Mode-Only Architecture
While running a legacy 64-bit operating system on top of a 64-bit mode-only architecture CPU is not an explicit goal of this effort, the Intel architecture software ecosystem has sufficiently matured with virtualization products so that a virtualization-based software solution could use virtualization hardware (VMX) to deliver a solution to emulate features required to boot legacy operating systems.
Detailed Proposal for a 64-Bit Mode-Only Architecture
A proposal for a 64-bit mode-only architecture is available. It embodies the ideas outlined in this white paper. Intel is publishing this specification for the ecosystem to evaluate potential impacts to software.
To provide feedback on the architectural proposal, email us.
Appendix – Timeline
1978 – Intel 8086 released with 16-bit real mode.
1982 – Intel 80286 with 16-bit protected mode released. Lock prefix #GP if CPL is less privileged than IOPL in the original protected mode architecture.
1985 – Intel 80386 released with 32-bit protected mode with paging. Added VM86 mode to support 16-bit real-mode operating system under operating system using paging. Intel 30386 changes the behavior of lock prefix to ignore IOPL.
1997 – Intel Pentium II introduces SYSENTER extension, codifying flat code and stack segments in an architectural extension.
2004 –64-bit Intel Architecture systems released. In 64-bit mode, support for VM86 mode dropped.
2005 – Virtualization Technology added to Intel Architecture, enabling running legacy operating systems in virtual machines.
2005 – Windows XP Professional x64 Edition drops support for Windows 16-bit binaries.
2008 – A20 gate removed, which dropped compatibility to early 8086 operating system outside emulation.
2012 – 64-bit UEFI firmware interfaces widely deployed.
2020 – Intel firmware dropped support for running 16-bit/32-bit or non-UEFI operating systems natively.