Hardware Reference
In-Depth Information
number up to some maximum. Gates can also be combined to form the main com-
puting engine itself. We will examine gates and the digital logic level in detail in
Chap. 3.
The next level up is the microarchitecture level . At this level we see a collec-
tion of (typically) 8 to 32 registers that form a local memory and a circuit called an
ALU ( Arithmetic Logic Unit ), which is capable of performing simple arithmetic
operations. The registers are connected to the ALU to form a data path , over
which the data flow. The basic operation of the data path consists of selecting one
or two registers, having the ALU operate on them (for example, adding them toget-
her), and storing the result back in some register.
On some machines the operation of the data path is controlled by a program
called a microprogram . On other machines the data path is controlled directly by
hardware. In early editions of this topic, we called this level the ''microprogram-
ming level,'' because in the past it was nearly always a software interpreter. Since
the data path is now often (partially) controlled directly by hardware, we changed
the name to '' microarchitecture level'' to reflect this.
On machines with software control of the data path, the microprogram is an
interpreter for the instructions at level 2. It fetches, examines, and executes in-
structions one by one, using the data path to do so. For example, for an ADD in-
struction, the instruction would be fetched, its operands located and brought into
registers, the sum computed by the ALU, and finally the result routed back to the
place it belongs. On a machine with hardwired control of the data path, similar
steps would take place, but without an explicit stored program to control the inter-
pretation of the level 2 instructions.
We will call level 2 the Instruction Set Architecture level ( ISA level ). Every
computer manufacturer publishes a manual for each of the computers it sells, enti-
tled ''Machine Language Reference Manual,'' or ''Principles of Operation of the
Western Wombat Model 100X Computer,'' or something similar. These manuals
are really about the ISA level, not the underlying levels. When they describe the
machine's instruction set, they are in fact describing the instructions carried out
interpretively by the microprogram or hardware execution circuits. If a computer
manufacturer provides two interpreters for one of its machines, interpreting two
different ISA levels, it will need to provide two ''machine language'' reference
manuals, one for each interpreter.
The next level is usually a hybrid level. Most of the instructions in its lan-
guage are also in the ISA level. (There is no reason why an instruction appearing
at one level cannot be present at other levels as well.) In addition, there is a set of
new instructions, a different memory organization, the ability to run two or more
programs concurrently, and various other features. More variation exists between
level 3 designs than between those at either level 1 or level 2.
The new facilities added at level 3 are carried out by an interpreter running at
level 2, which, historically, has been called an operating system. Those level 3 in-
structions that are identical to level 2's are executed directly by the microprogram
 
Search WWH ::




Custom Search