To read all comments associated with this story, please click here.
As far as I can understand it there's actually very little overhead in supporting 8086/88 inside a modern x86 core. In most designs the x86 opcodes are translated into various core specific micro ops. 16 bit operations are still supported in 32bit mode with the 0x66/0x67 prefixes and the MMU takes care of 8086 style addressing (more accurately the CPU is set up in such a way that an 8086 task has a memory map conducive to its execution but it isn't seeing a physical chunk of memory but a chunk of memory mapped using similar techniques as are used for paging). It could be removed but the first thing that must happen is that the BIOS and boot block loaders of x86 OS's must be changed to not use any 16bit 8086 code. These machines still boot in something resembling 8086 mode.
The long and the short of it is that you might save some silicon but fractions of a percent at best with no performance increase.




Member since:
2008-02-26
Why should current x86_64 CPUs intended for embedded devices support running MS-DOS directly? Or Windows XP 32 for that matter.
Build Long-Mode-Only CPUs and get rid of tons of silicon. They will certainly be much(a bit) easier tho scale down then. In the end, it could even run MS-DOS in BOCHS or QEMU if you are into that sort of thing. It's not like bussinesses will replace their remaining Windows 3.11 "Servers" with an iPod.