Facta Univ. Ser.: Elec. Energ., vol. 17, no. 2, August 2004, pp. 279-281

Vincent Heuring and Harry Jordan
COMPUTER SYSTEMS DESIGN AND ARCHITECTURE, 2/e
Softcover, pp. 592, plus XVI, $ 49,99
Pearson Education Inc., Upper Saddle River, NJ 07458, 2004
ISBN 0-13-191156-2
http://www.pearsoneduc.com

In general about the book

Computer architecture (CA) is concerned with the structure of digital computers. During the last three decades we witnessed a rapid growth of VLSI IC design and considerable progress in many fields of CA. The following are some of the major advances: a) instruction level parallelism including pipelining, VLIW, and algorithms for out-of-order instruction execution; b) multiprocessor systems containing thousands of processors in a form of different organizations and objectives; and c) memory and cache systems, and other techniques for improved response to interrupt and DMA transfers. In addition the development of VLSI has had a profound influence in lowering the cost and improving the performance of all types of computers. Recent development such as VLSI-based personal computers, network processors, system-on-a-chip designs, and other forms of multiprocessor systems have allowed computers to be used in many new applications. Achieving new levels of performance in CA require advances in the fields of devices, architecture, compilers, and algorithms. The next period will be exciting because the challenges have become more difficult and the directions less clear than ever before. Consequently, the concepts of CA and organization have become increasingly relevant to a large number of scientists, engineers, and other professionals.

This book gives a broad view of the basic principles in computer systems design and CA. The authors' intention were to present the fundamentals of computer design rather than to enter into a more superficial discussions of modern architectures.

Chapter content

The book includes ten chapters, four appendices, and an Index. The book is organized as follows.

Chapter 1 (The General Purpose Machine, pp. 1-30) introduces the reader with detail concerning the logic designer's view, the machine/assembly language programmer's view, and the architect's view of a computing system.

Chapter 2 (Machines, Machine Languages, and Digital Logic, pp. 31-84) describes different classes of machines and machine languages from programmer's point of view.

Chapter 3 (Some Real Machines, pp. 85-138) points to the evident differences that exist between CISC and RISC machines. Structures of two commercial machines at ISA levels, CISC Motorola MC 68000 and RISC SPARC, are discussed.

Chapter 4 (Processor Design, pp. 139-187) covers processor design, concretely it describes the interface between the instruction set and the hardware that it runs on, at the gate level.

Chapter 5 (Processor Design - Advanced Topics, pp. 189-248) deals with techniques used to speed-up CPU's operation. It describes in more details the pipeline technique, superscalar and VLIW design, and concludes with a discussion of microcoded control unit design.

Chapter 6 (Computer Arithmetic and the Arithmetic Unit, pp. 249-301) concentrates on the design of the arithmetic and logic unit (ALU) as one of the basic building block of every computer system.

Chapter 7 (Memory System Design, pp. 303- 370) describes the design of memory hierarchy in details. It begins with analysis of RAM and ROM address space organization, continues with cache design, after that follows virtual memory organization, and concludes with a discussion of a memory as a system.

Chapter 8 (Input and Output, pp. 371-406) discusses the basic concepts and techniques used for data transfer between the input- output (I/O) and memory-subsystems. The main topics considered here relate to the following three standard I/O techniques: programmed I/O, interrupt, and DMA.

Chapter 9 (Peripheral Devices, pp. 407-439) addresses the description of peripheral devices. It explains the structure and functioning of disk drives, video and other interactive display devices, printer, mice, and the interface to analog world via A/D and D/A converters.

Chapter 10 (Communications, Networking, and the Internet, pp. 441-477) shortly discusses the more pronounced needs for computer-to-computer communications and networking. Some details concerning serial data communications, LANs, serial buses (USB and FireFire), and the Internet are given.

Four appendices are provided to supplement material in the main text. Appendix A (Digital Logic, pp. 479-541, written by Miles Murdocca) presents the basic principles of digital logic that can be applied in a process of design a digital computer. Appendix B (RTN description of SRC, pp. 543-552) collects the entire register transfer notation definition (RTN) of the simple RISC Computer (SRC) in one place. Appendix C (Assembly and Assemblers, pp. 553-562) deals with key concepts of the assembler and the assembly process. Appendix D (Selected Problems and Solutions, pp. 563-577) contains a selection of typical or classic problems that are encountered in the practice of computer design and architecture.

Useful for students, engineers, and researchers

This book gives a clear understanding of the structure and functioning of digital computer at all level of organization, starting from gate level, continuing with machine language programming, and ending with architectural level. It is interesting and well written. The major strength of the text is its clear authoritative exposition coupled with instructive ordering of the presented material.

This is a good text for an introductory course on computer architecture for students in electrical engineering and computer science. The book is also fairly well suited for self-study, and it will serve as an valuable reference for those specialist working in the field of computer systems design.

In summary, this is a book which will be helpful to a number of readers. Having in mind the above mentioned, I highly recommend it.

Prof. Goran Djordjvic
Faculty of Electronic Engineering Nis
Beogradska 14, PO BOX 73
18000 Nis, Serbia and Montenegro