Hardware Reference
In-Depth Information
FIGURE A.30 Code size relative to Apogee Software Version 4.1 C compiler for Tele-
com application of EEMBC benchmarks . The instruction set architectures are virtually
identical, yet the code sizes vary by factors of 2. These results were reported February-June
2000.
Fallacy An Architecture With Flaws Cannot Be Successful.
The 80×86 provides a dramatic example: The instruction set architecture is one only its creators
could love (see Appendix K). Succeeding generations of Intel engineers have tried to correct
unpopular architectural decisions made in designing the 80×86. For example, the 80×86 sup-
ports segmentation, whereas all others picked paging; it uses extended accumulators for in-
teger data, but other processors use general-purpose registers; and it uses a stack for loating-
point data, when everyone else abandoned execution stacks long before.
Despite these major difficulties, the 80×86 architecture has been enormously successful. The
reasons are threefold: First, its selection as the microprocessor in the initial IBM PC makes
80×86 binary compatibility extremely valuable. Second, Moore's law provided sufficient re-
sources for 80×86 microprocessors to translate to an internal RISC instruction set and then ex-
ecute RISC-like instructions. This mix enables binary compatibility with the valuable PC soft-
ware base and performance on par with RISC processors. Third, the very high volumes of PC
microprocessors mean Intel can easily pay for the increased design cost of hardware transla-
tion. In addition, the high volumes allow the manufacturer to go up the learning curve, which
lowers the cost of the product.
The larger die size and increased power for translation may be a liability for embedded ap-
plications, but it makes tremendous economic sense for the desktop. And its cost-performance
in the desktop also makes it atractive for servers, with its main weakness for servers being
32-bit addresses, which was resolved with the 64-bit addresses of AMD64 (see Chapter 2 ) .
Fallacy You Can Design A Flawless Architecture.
All architecture design involves trade-offs made in the context of a set of hardware and soft-
ware technologies. Over time those technologies are likely to change, and decisions that may
have been correct at the time they were made look like mistakes. For example, in 1975 the
 
Search WWH ::




Custom Search