The new Intel docs are one big mess. Intel should write two manuals, one for the new architecture and one for the old architecture. (snip) So I am kinda glad that they did 64-bit expansion. It's faster and is compatible with older architectures.
Well, you can't have it all: Either you start off with a brand new architecture (slick design and concise manual) or you keep on augmenting the x86 design (compatibity). There's also hardly any point in starting a new manual if all the information it contains still relies on the old architecture. You would just end up reading all manuals (old and new) as you otherwise couldn't understand the advanced topics.
When you take a look at the instruction list (2A/2B) it's a pile of 32 bits and 64 bits operating modes. And IMHO it is to unclear.
Don't forget that it already was some 16/32 bit mess before anybody even considered going 64 bits. The AMD64/IA32e architecture is based on the IA32 design, which in turn rooted in the IA16 protected-mode concepts. Unlike the progress from 16bit real-mode to 16bit protected-mode, this recent development does not mark the beginning of a new and independant architecture: It's rather a 64bit extension that augments the old design without fundametally changing it.
The Itanium processor had one drawback: backward compatibily was needed and thus they build in an emulator for all 32-bit stuff. This emulator was a bit slow however.
Unlike the hardware compatibility mode, software emulators do provide some decent performance. And even if it is a bit slow - So what ? Keep in mind that we're only talking about a transitional periode of some years, that will have to pass before the software industry has moved-on to the new platform. After that all recent programs should run nativly and the legacy stuff will be so out-dated, that it can be run on any emulator (no matter how slow) without really having to worry about performance.
A good example is the real-mode compatibility that even the most modern processors still have (native real-mode + virtual 8086 mode). Would the world be any different if Intel had just silently dropped its support for these modes a couple of years ago ? Actually I still run some old DOS games every now and then, but I would never bother to boot a real DOS system for that. It's just so much more convenient to use an emulator like dosbox to play the games in my normal windows/linux environment. Even microsoft has (more or less) removed v86 mode from their systems. While the console in win9x still provided some decent compatibility, the new WindowsNT VDM emulation is next to useless. It's just the sad remains of the old console, and - from what I've heard - they're actually going to scrape out the rest of it in the upcomming Vista release.
Although real-mode has been dead for so many years now, neither AMD nor Intel yet dared to remove it once and for all. It's still eating up transistors on every chip produced and makes the manuals (but also the booting process itself) more complex than actually necessary. Just like in 1982 it's backwards compatibility with existing software that keeps AMD/Intel from dropping their support: As soon as they touched real-mode, the whole booting process would change quite drastically, rendering todays operating systems and BIOS unfunctional. The problem of compatibility might have shifted over the years, but it's still there and it will never disappear as long as there's no clear break with the past.
In my opinion a really new architecture must thus be a radical new approach that incorporates all the developments of the last 20 years that the x86 somehow just missed. It shouldn't provide any hardware backwards compatibility, but software emulation must be available to run legacy programs. The IA64 could be such an architecture marking a new beginning. From what I've heard the recent sale-numbers haven't been as bad as they used to be and Intel also seems to have succeeded at incorporating microsoft and other important software publishers. I've not yet lost all hope that the IA64 will eventually make it: WindowsNT also had a hard time until it finally managed to replace the utter crap that Win9x was.
regards,
gaf