Hardware Reference
In-Depth Information
FORTRAN
program
FORTRAN
program compiled
to ISA program
C program
C program
compiled
to ISA program
Software
ISA level
Hardware
ISA program executed
by microprogram or hardware
Hardware
Figure 5-1. The ISA level is the interface between the compilers and the hard-
ware.
gineers cannot implement in a cost-effective way (e.g., a branch-and-do-payroll in-
struction), it does not go in. Similarly, if the hardware folks have some nifty new
feature they want to put in (e.g., a memory in which the words whose addresses are
prime numbers are superfast), but the software folks cannot figure out how to gen-
erate code to use it, it will die on the drawing board. After much negotiation and
simulation, an ISA perfectly optimized for the intended programming languages
will emerge and be implemented.
That is the theory. Now the grim reality. When a new machine comes along,
the first question all the potential customers ask is: ''Is it compatible with its prede-
cessor?'' The second is: ''Can I run my old operating system on it?'' The third is:
''Will it run all my existing application programs unmodified?'' If any of the
answers are ''no,'' the designers will have a lot of explaining to do. Customers are
rarely keen on throwing out all their old software and starting all over again.
This attitude puts a great deal of pressure on computer architects to keep the
ISA the same between models, or at least make it backward compatible . By this
we mean that the new machine must be able to run old programs without change.
However, it is completely acceptable for the new machine to have new instructions
and other features that can be exploited only by new software. In terms of Fig. 5-1,
as long as the designers make the ISA backward compatible with the previous
models, they are pretty much free to do whatever they want with the hardware, as
hardly anyone cares about the real hardware (or even knows what it does). They
can switch from a microprogrammed design to direct execution, or add pipelines or
superscalar facilities or anything else they want, provided that they maintain back-
ward compatibility with the previous ISA. The goal is to make sure that old pro-
grams run on the new machine. The challenge then becomes building better ma-
chines subject to the backward compatibility constraint.
 
Search WWH ::




Custom Search