Hardware Reference
In-Depth Information
saving is especially significant if the target machine has a large number of instruc-
tions and they are fairly complicated, with many options. The saving comes essen-
tially from the fact that hardware is being replaced by software (the interpreter) and
it costs more to replicate hardware than software.
Early computers had small, simple sets of instructions. But the quest for more
powerful computers led, among other things, to more powerful individual instruc-
tions. Very early on, it was discovered that more complex instructions often led to
faster program execution even though individual instructions might take longer to
execute. A floating-point instruction is an example of a more complex instruction.
Direct support for accessing array elements is another. Sometimes it was as simple
as observing that the same two instructions often occurred consecutively, so a sin-
gle instruction could accomplish the work of both.
The more complex instructions were better because the execution of individual
operations could sometimes be overlapped or otherwise executed in parallel using
different hardware. For expensive, high-performance computers, the cost of this
extra hardware could be readily justified. Thus expensive, high-performance com-
puters came to have many more instructions than lower-cost ones. However, in-
struction compatibility requirements and the rising cost of software development
created the need to implement complex instructions even on low-end computers
where cost was more important than speed.
By the late 1950s, IBM (then the dominant computer company) had recogni-
zed that supporting a single family of machines, all of which executed the same in-
structions, had many advantages, both for IBM and for its customers. IBM intro-
duced the term architecture to describe this level of compatibility. A new family
of computers would have one architecture but many different implementations that
could all execute the same program, differing only in price and speed. But how to
build a low-cost computer that could execute all the complicated instructions of
high-performance, expensive machines?
The answer lay in interpretation. This technique, first suggested by Maurice
Wilkes (1951), permitted the design of simple, lower-cost computers that could
nevertheless execute a large number of instructions. The result was the IBM Sys-
tem/360 architecture, a compatible family of computers, spanning nearly two
orders of magnitude, in both price and capability. A direct hardware (i.e., not inter-
preted) implementation was used only on the most expensive models.
Simple computers with interpreted instructions also some had other benefits.
Among the most important were
1. The ability to fix incorrectly implemented instructions in the field, or
even make up for design deficiencies in the basic hardware.
2. The opportunity to add new instructions at minimal cost, even after
delivery of the machine.
3. Structured design that permitted efficient development, testing, and
documenting of complex instructions.
 
Search WWH ::




Custom Search