Hardware Reference
In-Depth Information
Another exception in real mode is that the first 64KB of extended memory is actually ac-
cessible to the PC in real mode, despite the fact that it's not supposed to be possible. This
is the result of a bug in the original IBM AT with respect to the 21st memory address line,
knownas A20 (A0is the first address line). By manipulating the A20line, real mode soft-
ware can gain access to the first 64KB of extended memory—the first 64KB of memory
past the first megabyte. This area of memory is called the high memory area (HMA).
IA-32e 64-Bit Extension Mode (x64, AMD64, x86-64, EM64T)
64-bit extension mode is an enhancement to the IA-32 architecture originally designed by
AMD and later adopted by Intel.
In 2003, AMD introduced the first 64-bit processor for x86-compatible desktop com-
puters—theAthlon64—followedbyitsfirst64-bitserverprocessor,theOpteron.In2004,
Intel introduced a series of 64-bit-enabled versions of its Pentium 4 desktop processor.
The years that followed saw both companies introducing more and more processors with
64-bit capabilities.
Processors with 64-bit extension technology can run in real (8086) mode, IA-32 mode, or
IA-32e mode. IA-32 mode enables the processor to run in protected mode and virtual real
mode. IA-32e mode allows the processor to run in 64-bit mode and compatibility mode,
which means you can run both 64-bit and 32-bit applications simultaneously. IA-32e
mode includes two submodes:
64-bit mode —Enables a 64-bit OS to run 64-bit applications
Compatibility mode —Enables a 64-bit OS to run most existing 32-bit software
IA-32e 64-bit mode is enabled by loading a 64-bit OS and is used by 64-bit applications.
In the 64-bit submode, the following new features are available:
• 64-bit linear memory addressing
• Physical memory support beyond 4GB (limited by the specific processor)
• Eight new general-purpose registers (GPRs)
• Eight new registers for streaming SIMD extensions (MMX, SSE, SSE2, and SSE3)
• 64-bit-wide GPRs and instruction pointers
IE-32e compatibility mode enables 32-bit and 16-bit applications to run under a 64-bit
OS. Unfortunately, legacy 16-bit programs that run in virtual real mode (that is, DOS pro-
grams) are not supported and will not run, which is likely to be the biggest problem for
many users. Similar to 64-bit mode, compatibility mode is enabled by the OS on an in-
dividual code basis, which means 64-bit applications running in 64-bit mode can operate
simultaneously with 32-bit applications running in compatibility mode.
 
Search WWH ::




Custom Search