Introduction Data Representation Arithmetic T he Instruction Set Architecture

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