Sunday, May 21st 2023
Intel Exploring x86S Architecture, Envisions an Unadulterated 64-bit Future
Intel has published a highly involved and extensive whitepaper on the topic of streamlining its CPU architectures, most notably by focusing on a purely 64-bit specification, and consequently dropping legacy 32-bit operating modes (as well as 16-bit!). Team Blue's key proposal states: "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."
The paper provides a bit of background context: "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."The intros a small flow diagram: "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?" The architecture proposed in this whitepaper completes the transition to a 64-bit architecture, removing some legacy modes."
The paper provides a bit of background context: "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."The intros a small flow diagram: "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?" The architecture proposed in this whitepaper completes the transition to a 64-bit architecture, removing some legacy modes."
Envisioning a Simplified Intel ArchitectureHow Would a 64-Bit Mode-Only Architecture Work?The webpage introduction only serves as a simple primer on the topic of x86S - more technically-minded folks can take a look at the big whitepaper document (PDF) here.
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:These modifications can be implemented with straightforward enhancements to the system architecture affecting the operating system only.
- 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.
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:Legacy Operating Systems on 64-Bit Mode-Only Architecture
- 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.
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.