Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
x86 Emulation and Translation
The desire to improve performance while retaining compatibility with existing software has led processor engineers to make some very creative designs. Perhaps the most innovative design has been the complete reworking of the inner core of the processor that has been done on several of the more recent processors. This includes the Intel Pentium Pro and Pentium II, and the AMD K5 and K6.
In the section that discusses CISC and RISC processors, I alluded to the fact that the two have become less distinct in recent years. These latest processors do more than blur the line between the two, they really use both! The internal execution core of this type of CPU is actually a "machine within the machine", that functions internally as a RISC processor but externally like a CISC processor. The way this works is explained in more detail in other sections in this area, but in a nutshell, it does this by translating (on the fly, in hardware) the CISC instructions into one or more RISC instructions. It then processes these using multiple RISC execution units inside the processor core.
This design has been created to allow PC processors to reap the benefits of RISC instruction sets while maintaining compatibility with existing x86 code. The internal RISC core is more suited to implementing many of the more advanced performance-enhancing architectural features, as well as being easier to run at much higher clock speeds. Faster clock speeds mean less time to perform each instruction, and therefore it makes sense to chop the large, complicated CISC x86 instructions into more "digestible" pieces to gain performance as clock speeds exceed 200 MHz. From the user's perspective, this additional layer of translation is totally invisible, since it happens entirely within the processor itself.
Next: IA-64: The End of x86?