Pearson offers special pricing when you package your text with other student resources. Amazon Drive Cloud storage from Amazon. I had to buy this book for a university course and has been very little help. CPU and Memory Architecture. Alexa Actionable Analytics for the Web. Product details Paperback Publisher: My class required it, and it shows, as the class does the same thing.
|Published (Last):||14 September 2008|
|PDF File Size:||14.41 Mb|
|ePub File Size:||10.34 Mb|
|Price:||Free* [*Free Regsitration Required]|
They interrelate three different viewpoints to provide a unique understanding of the subject: the perspective of the logic designer, the assembly language programmer, and the computer architect. The book has up-to-the-minute coverage of the latest developments in microprocessors, including ALU, pipelining, memory hierarchy, networks and the Internet.
The authors examine general purpose machine, machine languages, and digital logic, some real machines, processor design, processor design—advanced topics, computer arithmetic and the arithmetic unit, memory system design, input and output, peripheral devices, communications, networking and the Internet. For computer science and engineering professionals. 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. 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.
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. 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.
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. 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.
Chapters 4 and 5 pursue gate-level design of the CPU. Chapters 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 bit ISA similar to the current crop of 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.
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. 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.
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. 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.
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 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. 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.
Computer Systems Design and Architecture
COMPUTER SYSTEM DESIGN AND ARCHITECTURE HEURING JORDAN PDF
ISBN 13: 9780130484406