Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Computer Systems Design and Architecture 1st Edition

3.3 out of 5 stars 15 customer reviews
ISBN-13: 978-0805343304
ISBN-10: 080534330X
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Acceptable
Comment: Unbeatable customer service, and we usually ship the same or next day. Over one million satisfied customers!
Access codes and supplements are not guaranteed with used items.
29 Used from $0.01
More Buying Choices
7 New from $25.00 29 Used from $0.01

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Save Up to 90% on Textbooks Textbooks

Editorial Reviews

From the Inside Flap

Computer Systems Design and Architecture


The computer ushers us into the information age. Born a mere fifty years ago, it now exerts a profound influence on almost every facet of our lives. What is the nature of this machine, this beast? How does it work, inside? How is it programmed internally? What are the nature of its connections to the outside world? These are the questions that this book will help you answer, and we hope that when you have mastered it you will be left with no mysteries about how computers work. We feel that one of the best ways to learn how a computer works is to design one, so throughout most of the book we have taken the perspective of the designer rather than that of the observer or the critic.

Computers are arguably the most complex systems humankind has ever built, and like all complex systems they can be appreciated from many viewpoints. A building can be examined for its overall architectural design, and the way that design affects its overall functioning. It can also be examined from the different viewpoint of how the size and shape of its rooms and halls relate to the design of its heating and air conditioning systems. Likewise the computer can be examined from the viewpoint of its overall structure and functioning, referred to as its architecture. It can be examined from the different viewpoint of one who is programming it in its machine, or assembly language. And it can be examined from the viewpoint of its lowest abstract logical structure-its design at the logic gate level.

All of these viewpoints are interrelated, and therefore important for mastery of the subject; thus in this book we adopt all three: the viewpoint of the computer architect, the viewpoint of the assembly language programmer, and the viewpoint of the logic designer. We believe that the synthesis of these three views will give you a depth and richness of understanding of the subject that will serve you well, whether your main interest be in computer design, computer science, or computer programming.

For more information on what this book covers and how it covers it, read on:

TO THE STUDENT We assume that you have had experience with computers as an end-user, and that you have written programs in some high level language such as Pascal, C, or Fortran. We also assume that you have had exposure to digital logic circuits. A knowledge of logic circuits is necessary for the understanding of the material in this book. For those who have not had such exposure, or who are uncertain about whether their background in this area is adequate, we have included an appendix, Appendix A: Digital Logic Circuits, which should provide you with sufficient background for understanding this text.

The focus of this book is on the design of computer systems--design at the gate level, design at the instruction-set-architecture level, and design at the computer system level. We believe that this integrated approach provides a depth and richness of understanding of the computer system that will serve you well, whether your main interest is as a Computer Engineer or as a Computer Scientist.

TO THE INSTRUCTOR This book is suitable for an introductory course on computer design at the junior, senior, or introductory graduate level. We assume that that the student has had at least an introductory course in some higher-level programming language such as C or Pascal, and a semester of logic design. However there is a comprehensive Appendix on Digital Logic Design, written by Professor Miles Murdocca, Rutgers University, which provides sufficient background material that the course can be taught to students without previous digital design experience. Appropriate topics for such a book have changed considerably in recent years, as desktop computers have evolved from simple, stand-alone units into complex systems attached to high-speed networks and internetworks. Earlier generations of microprocessors had almost trivial internal structure. Present designs contain multiple pipelined functional units with support for multiple processors and memories. Areas of computer design and architecture that were barely touched upon in the not-so-distant past have become major topics for discussion. Introductory compiler courses now routinely discuss optimization for pipelined processors. Users worry about whether they should add level 2 cache memory to their PCs. Support personnel wearily try to explain to the computer user how to configure the subnet mask for their network slip connection.

The topics of pipelined processor design, the memory hierarchy, and networks and internetworking are moving to center stage in the arena of computer design and architecture. Therefore we devoted the major parts of three chapters to treatment of these subjects. Given the focus on computer design and computer architecture, we approach the study of the computer from three viewpoints: the view of the assembly/machine language programmer, the view of the logic designer, and the view of the system architect. In covering the topic of gate-level computer design, we follow a model architecture through the design process, from the instruction set design level to the processor design level. Given the choice of using either a commercial machine with all of the complicating features that are necessary to make such a machine commercially successful, or using a model design that introduces sufficient practical features to make it both interesting and relevant to the subject, we chose the latter. The model machine, SRC, for Simple RISC Computer, is a 32-bit machine with an instruction set architecture that is similar to, but simpler than the current generation of RISCs. We adopt the view that it is best to use a formal description language in describing machine structure and function. There are many languages from which to choose. We selected a variant of the ISP language, RTN. Many other choices could have been made, but most of the languages used by practitioners are aimed more at hardware description and less at machine behavior and function. RTN is simple, easy to learn, and is at the appropriate description level.

Using this book with your curriculum and syllabus

There are probably almost as many different curricula and syllabi for computer design and architecture as there are schools and instructors in which the subject is taught. As you evaluate the material in this book you may discover:

Some topics may have been covered in a prerequisite course, and so can be omitted from discussion. Some topics need not be covered because they are covered in a subsequent course or courses. Some topics will be omitted or emphasized because of the aims of the course or the instructor. For example, computer science curricula may stress architectural topics and de-emphasize the gate-level design material, whereas computer engineering curricula would stress gate-level design. Some instructors will choose to emphasize or de-emphasize certain topics or change the topic ordering because of their particular philosophy of how the material should be presented.

We have tried to make the topic coverage sufficiently inclusive and self-contained so that the book will be adaptable to a wide range of curricula and syllabi. The first two chapters set the stage for the rest of the book, and should be covered first. Chapter 3 treats real machine designs and is essential for any student without a sold background in CISC and RISC instruction sets. Chapters 4 and 5 pursue gate-level design of the CPU. Chapters 6-10 are virtually stand-alone, and can be selected to suit the needs of your particular curriculum and syllabus.

Chapter descriptions

Chapter 1 takes just a peek at the machine from all three levels, and provides an overview on the subject.

Chapter 2 begins with a discussion of the relationship between machines and machine languages--how the nature of the instruction set influences the rest of the CPU structure. At this point in the text we introduce a language for formally describing machine structure and function. That is, we provide a way to unambiguously describe both the machine hardware and how instructions run on it. That language, RTN, is a simple one, and it is at the "just right" level to describe the running of instructions on hardware. We introduce RTN by using it to describe a generic model machine, SRC, that has a 32-bit ISA similar to the current crop of 32-bit commercial machines, but without many of the complicating factors. The chapter concludes by switching to the logic circuit level and putting a computer design spin on conventional logic circuit design by a brief discussion of how RTN operations translate into logic designs.

The goal of Chapter 3 is to provide the student with a concrete understanding of the CISC-RISC difference. It discusses two commercial machines at the ISA (and RTN) level, the CISC Motorola MC68000, and the RISC SPARC The chapter provides familiarity with several different machine architectures at the ISA level, so as to help develop an appreciation for two philosophically different approaches to machine design. We also introduce some practical issues such as upward compatibility and the way they influence machine design.

Chapter 4 is in many ways the keystone chapter of the book. It describes the interface between the instruction set and the hardware that it runs on, at the gate level. This description unfolds by developing a 1-bus design for the SRC introduced in Chapter 2, with RTN descriptions of machine functioning as a guide. Beginning with the ISA registers, the RTN description adds additional registers that are hidden at the ISA level as it treats how instructions are fetched decoded and executed, again at gate level. The discussion proceeds with design of the "soul of the machine," the control unit, and its heartbeat, the system clocking and timing. This chapter also begins the discussion of how hardware design influences instruction execution speed by examining alternative 2- and 3- bus designs. Two other aspects of processor design are covered in this chapter: the hardware reset, and the exception process. Our goal with Chapters 4 was "no mysteries." At the end of the chapter the student should understand exactly how the central processing unit works at the gate level.

Chapter 5 covers pipelining of the CPU, multiple-instruction-issue machines, and microcoded control unit design. Nearly every current and planned processor design employs pipelining in its CPU, and a thorough understanding of how pipelining works is a necessity for everyone from compiler writers to machine programmers and architects. We first present an overview of the important issues in pipelining and then show the design process by way of a pipelined design for the SRC. We then present a short discussion of instruction-level parallelism. We treat superscalar operation, where there are multiple functional units in the CPU that are capable of parallel operation, and VLIW, very long instruction word machines whose instruction words contain a number of processing steps that are executed in parallel. The chapter concludes with a discussion of microcoding. Microcoding is not used much in general purpose microprocessor chips at present, but in addition to its use in special purpose designs it is important in its own right, and it presents an interesting perspective on computer design.

Chapter 6 covers the design of the arithmetic and logic part of the computer. The design of this very important CPU component has a major impact on overall system performance. Since much of the ALU¹s performance is based on the underlying algorithms that are implemented in the hardware design, the discussion proceeds from data type, integer, for example, to algorithm, addition, for example, to the hardware implementation, a carry lookahead fast adder, for example. Both integer and floating point data types are covered in the chapter. There follows a section on how branch instructions use the ALU and a discussion of logical operations and overall ALU design. The chapter concludes with a discussion of floating point arithmetic.

Chapter 7 discusses the design of the memory hierarchy in detail. Beginning with the simplest 1-bit RAM and ROM cells, the chapter builds those cells into chips, chips into boards, and boards into modules. There is a discussion of the general nature of the relationship between two adjacent levels in the hierarchy, and following that, a discussion of cache design and the interaction between cache and main memory. This is followed by a discussion of virtual memory, the process of allowing the memory space to spill out from main memory onto the disk. The chapter concludes with a discussion of memory as a system.

Chapter 8 discusses the details of the machine's IO system. The chapter begins with a treatment of several kinds of buses, treating both bus signals and bus timing, and proceeds with a discussion of the two principal kinds of generic IO interfaces, serial and parallel. The chapter then covers the relationship between the machine interrupt structure and the IO system, and between these two and DMA, direct memory access, by which an external device can access main memory without CPU intervention.

Chapter 9 covers what's on the other end of the IO system: peripheral devices. It treats the structure and functioning of disk drives, video and other interactive display devices, printers, mice, and the interfaces to analog devices. The emphasis will be on how these devices actually work, and the nature of the interface between them, the CPU, and the outside world. Peripheral device performance is covered as a main aspect of interest.

Chapter 10 concludes the book with a discussion of computer-to-computer communications. In the present era no treatment of computer systems design and architecture is complete without a fairly in-depth discussion of computer communications and networking. We begin with a discussion of network structure and topology. Following that we present three examples of contemporary machine communications. The first example is the RS-232 serial data communications protocol that allows point-to-point communications between two computers or between a computer and a terminal. The second example is the Ethernet local area network, LAN for short. We discuss the Ethernet communications protocol at both the physical level and the data link layer, including the Ethernet packet structure. The third example of a communications system is the Internet--probably the largest and most important computer communications system on the planet. We discuss the TCP/IP Internet protocol, and Internet addresses and addressing. The chapter, and the book conclude with a very brief discussion of Internet applications and Internet futures.

Instructional support materials

A printed solutions manual that includes a set of electronic transparencies, and a collection of software support tools are available to adopters from Addison-Wesley. The set of 600 electronic transparencies is available in both Adobe Acrobat and Microsoft PowerPoint formats. The transparencies include the book's main points, which are presented in a lecture outline format, and all figures and tables from the book. Using the free Acrobat Reader, the transparencies in the Acrobat format can be viewed and printed in various ways from PC, Mac, and UNIX platforms. Instructors who have access to PowerPoint can modify the electronic transparencies in the PowerPoint format. A growing collection of software support tools--including an SRC assembler and simulator written in ANSI C--are available to adopters.


In spite of the good efforts of the authors, editors, reviewers, and class testers, this book undoubtedly contains errors. Errors may be reported by email to: csdabugs@colorado.edu, or by mail to: Addison Wesley Longman Electrical and Computer Engineering Editorial Department 2725 Sand Hill Road, Menlo Park, CA 94025.


We first wish to thank our Editor, Tim Cox, for seeing our vision, and helping us realize it; our Assistant Editor, Laura Cheu, "she who gets things done" and our Executive Editor, Dan Joraanstad, the "eye in the sky." We also wish to single out for special acknowledgement our Developmental Editor, Laurie McGuire, who did an excellent job of improving both the syntax and the semantics of this book. Deserving special thanks is our secretary, Maejean Ruehlman, who was invaluable helping us get the manuscript out the door. Thanks also to the entire Addison Wesley Longman team for their enthusiasm and commitment to this book, especially Lisa Weber, Ari Davidow, Kelly Murphy, Kathleen Cameron, and Susan Slater.

We wish to also thank our reviewers, who were most helpful in suggesting changes to the original manuscript of this book: George Adams (School of Electrical and Computer Engineering, Purdue University), Dr. Hassan Barada (Computer Engineering Department, King Fahd University of Petroleum and Minerals, Dhahran, Saudi Arabia), Thomas L. Casavant (Electrical and Computer Engineering, University of Iowa), Dr. Peter Drexel (Department of Computer Science, Plymouth State College), Michael A. Driscoll (Department of Electrical Engineering, Portland State University), J. Kelly Flanagan (Computer Science Department, Brigham Young University), William Tsun-yuk Hsu ( Computer Science Department, San Francisco State University), Mariusz Jankowski (Department of Engineering, University of Southern Maine), Mike Keenan (Computer Science Department, Virginia Tech), Professor Steven P. Levitan (Department of Electrical Engineering, University of Pittsburgh), Jyh-Charn (Steve) Liu (Computer Science Department, Texas A&M University), Norman Matloff (Department of Computer Science, University of California at Davis), Walid Najjar (Computer Science Department, Colorado State University), Bernhard Weinberg (Computer Science, Michigan State University), D. Scott Wills (Electrical and Computer Engineering, Georgia Institute of Technology), Craig M. Wittenbrink (Board of Computer Engineering, University of California, Santa Cruz), David Wood (Computer Science Department, University of Wisconsin). Also to be thanked are the faculty and students who used the Fall 1995 and Spring 1996 Class Test Editions for the many helpful suggestions and error reports: Douglas J. Fouts (Department of Electrical and Computer Engineering, U.S. Naval Postgraduate School), John F. Passafiume (Department of Computer Science, Clemson University). Finally we wish to thank Professor Miles Murdocca of Rutgers University for contributing Appendix A, Digital Logic.

Vincent P. Heuring and Harry F. Jordan Boulder, Colorado April 23, 1996 heuring@colorado.edu harry@colorado.edu.

From the Back Cover

The text has up-to-the-minute coverage of the latest developments in microprocessors, including ALU, pipelining, memory hierarchy, networks and the Internet. And, rather than focusing on a single type of architecture, Heuring and Jordan examine both CISC and RISC models at the ISA level using the unambiguous language of RTN (Register Transfer Notation), allowing for a more in-depth appreciation of different machine structures and functions.

Back Cover

A Balance of Art & Science

Desktop computers have evolved from simple, stand alone units into complex systems attached to high-speed networks and internetworks. This book is a systems oriented approach to modern computer architecture that is shaped by the design experience of the two engineers who built the first stored program optical computer. Emphasis is on the techniques used to achieve high performance in computer construction while describing the real-world tradeoffs involved in designing for optimal performance at an acceptable cost.


The design focus is from three perspectives: the gate level, the instruction-set-architecture level, and the computer system level. These views are used throughout the text stressing interrelationships, and showing the tasks, responsibilities, and tools used by computer design team members working at each level.


  • In-depth coverage of state-of-the-art topics such as pipelined processor design, memory hierarchy, networking, and the Internet.
  • Understandable, step-by-step explanation of the design process for a model architecture, from the instruction set design level to the processor design level.
  • A simple formal description language (RTN) used throughout to describe machine structure and function.
  • Clear, effective 2 color illustrations.
  • A comprehensive tutorial on digital logic design, providing background material for readers without previous digital design experience.
  • Extensive instructional support materials, including over 600 electronic lecture transparencies, and a complete solutions manual available for instructors. Software support tools include an assembler and simulator for the model architecture written in ANSI C.


Computer Systems Design and Architecture is a practical introduction and discussion of some common commercial architectures, created with a strong electrical and computer engineering perspective. It is suitable for an introductory course on computer design, and as a reference for the practicing computer engineer.

With a contribution by Miles Murdocca

Engineering & Transportation Books
Discover books for all types of engineers, auto enthusiasts, and much more. Learn more

Product Details

  • Hardcover: 600 pages
  • Publisher: Prentice Hall; 1st edition (November 5, 1996)
  • Language: English
  • ISBN-10: 080534330X
  • ISBN-13: 978-0805343304
  • Product Dimensions: 7.6 x 1.1 x 9.5 inches
  • Shipping Weight: 2.2 pounds
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (15 customer reviews)
  • Amazon Best Sellers Rank: #1,257,474 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Top Customer Reviews

Format: Hardcover
In a word, this is a very nice compact book of Computer Architecture. Anytime can be referenced..
I found there is almost all to understand the process and design simple processors by myself(especially helpful for pipenlined RISC)
I think study will be more effiecient if you have also Henney & Patterson's books.
Comment 5 of 5 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
Heuring & Jordan covers all of the key areas of computer architecture but has sparse description. I did not like this book as a course text when I was in college and I still do not care for it as an engineering reference. For all aspects of computer architecture I find Patterson & Hennessy's explanations more clear and their examples more illuminating.
Comment 6 of 7 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
By A Customer on October 6, 1998
Format: Hardcover
It's a very good technical book where it doesn't spend any time teaching everything from the beginning of computing and goes directly to the subject.
Talks about the RISC computers mostly, and very well covers most low level aspects..
Comment 3 of 3 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
This book provides good coverage of all of the basics of computer design. It's modern and up-to-date and covers everything from the very basics to more advanced concepts like pipelining and parallelism.
The authors follow through a RISC computer example that they build on as they introduce concepts. It is useful to see a practical application of the concepts as they are introduced.
This edition of the book has a bunch of typos but all in all it is a good book
Comment 2 of 2 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
This book builds knowledge from ground up so it is a very good book for people who have no background in computer science or computer engineering. Appendices are very neccessary materials if a reader has no background in this area at all so I would recommend to read the appendices first if you have no background.
Comment 5 of 7 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
It's softback, and NOT color print, which makes figures slightly harder to interpret. Not terrible, as the hardback version only uses two colors (black and blue), but it can make a difference. If you can find the hardback version used somewhere I might recommend that. If not, this gets the job done.

There are several misprints in the book, so the authors have posted an errata on their website. Be sure to print a copy and keep it on hand so you can double check for errors in problems you are assigned for class.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
This book doesn't do a very good job of explaining the process to get from point A to point B. My class required it, and it shows, as the class does the same thing. Would not recommend for anybody that doesn't already have a firm foundation with computer architecture.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
The pages were literally falling out of the book when I got it out of the package. That sounds like it is in "good" condition to me.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

What Other Items Do Customers Buy After Viewing This Item?