< previous page page_3 next page >

Page 3
and perhaps a de-emphasis of older features. Thus, at any moment, a successful architecture includes an instruction set consisting of:
A core of frequently used instructions.
Some features extending or correcting limitations in the original design.
Some instructions no longer expected to be used (either superseded or "out of vogue"), which remain for reasons of compatibility.
This book is not intended as a historical retrospective of instruction sets. Rather, our approach is to stress the underlying principles in computer architecture: recognizing various generic instruction set types, similarities, and (essential) differences. Our primary purpose is to study processor design: the realization of efficient implementations given an instruction set and architectural limitations (cache size, etc.); but of necessity we will also study the effect of variations in architecture on the implementation efficiency (cost and performance). There are a number of books which provide a more introductory treatment to processor designsee [271,127,123] and [296].
1.1 Some Definitions and Terms
A state is a particular configuration of storage (i.e., registers or memory), and a state transition is a change in that configuration.
A cycle is the time between state transitions. If the storage being reconfigured is registers, we have an internal or machine cycle. If the storage is memory, we have a memory cycle.
A command is a function that, when applied to a particular state, generates the next state. Command is a generic term used to describe various types of instructions.
A process is a sequence of commands and an initial state. In a sense, a process is a macro command, since it applies to an initial state and generates a final state.
A machine1 is a set of commands and storage together with an implementation that causes the state transitions determined by the command (Figure 1.1).
The storage is the range and domain of the commands. A machine's storage is only that storage referred to by its instruction set. If the instruction set cannot refer to a hidden register, it is not part of the storage, but rather part of the implementation.
The implementation that interprets the instruction can itself be a machine (that is, have instruction set, storage, and implementation); if so, the original (outermost) machine is called the image (or the micro-) machine and
d87111c01013bcda00bb8640fdff6754.gif d87111c01013bcda00bb8640fdff6754.gif
1A computer then is a machine that can modify the sequence of commands being executed, i.e., its control flow. We use the terms machine and computer interchangeably.

 
< previous page page_3 next page >