PREFACE
v
they also become more technology-dependent. For this reason, the major portion of the text deals with a high level look at computer architecture, while the appen-
dices and case studies cover lower level, technology-dependent aspects.
THE CHAPTERS
Chapter 1: Introduction
introduces the textbook with a brief history of com- puter architecture, and progresses through the basic parts of a computer, leaving
the student with a high level view of a computer system. T he conventional von Neumann model of a digital computer is introduced, followed by the System Bus
Model, followed by a topical exploration of a typical computer. T his chapter lays the groundwork for the more detailed discussions in later chapters.
Chapter 2 : Data Representation
covers basic data representation. One’s comple- ment, two’s complement, signed magnitude and excess representations of signed
numbers are covered. Binary coded decimal BCD representation, which is fre- quently found in calculators, is also covered in Chapter 2. T he representation of
floating point numbers is covered, including the IEEE 754 floating point stan- dard for binary numbers. T he ASCII, EBCDIC, and Unicode character repre-
sentations are also covered.
Chapter 3 : Arithmetic
covers computer arithmetic and advanced data represen- tations. Fixed point addition, subtraction, multiplication, and division are cov-
ered for signed and unsigned integers. Nine’s complement and ten’s complement representations, used in BCD arithmetic, are covered. BCD and floating point
arithmetic are also covered. High performance methods such as carry-lookahead addition, array multiplication, and division by functional iteration are covered. A
short discussion of residue arithmetic introduces an unconventional high perfor- mance approach.
Chapter 4 : T he Instruction Set Architecture
introduces the basic architectural components involved in program execution. Machine language and the
fetch-execute cycle are covered. T he organization of a central processing unit is detailed, and the role of the system bus in interconnecting the arithmeticlogic
unit, registers, memory, input and output units, and the control unit are dis- cussed.
Assembly language programming is covered in the context of the instructional ARC A RISC Computer, which is loosely based on the commercial SPARC
architecture. T he instruction names, instruction formats, data formats, and the
vi
PREFACE
suggested assembly language syntax for the SPARC have been retained in the ARC, but a number of simplifications have been made. Only 15 SPARC instruc-
tions are used for most of the chapter, and only a 32-bit unsigned integer data type is allowed initially. Instruction formats are covered, as well as addressing
modes. Subroutine linkage is explored in a number of styles, with a detailed dis- cussion of parameter passing using a stack.
Chapter 5 : Languages and the Machine