ebook img

Computer design and architecture PDF

730 Pages·2000·9.07 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computer design and architecture

The First andSecondEditions werepublished as Computer DesignandArchitecture (Little, Brown, 1985; HarperCollins, 1991). ISBN: 0-8247-0368-5 This bookisprintedon acid-freepaper. Headquarters Marcel Dekker,Inc. 270Madison Avenue, NewYork, NY 10016 tel: 212-696-9000;fax: 212-685-4540 Eastern Hemisphere Distribution Marcel Dekker AG Hutgasse 4,Postfach 812,CH-4001 Basel, Switzerland tel: 41-61-261-8482;fax:41-61-261-8896 World WideWeb http://www.dekker.com The publisher offers discounts on this book when ordered in bulk quantities. For moreinformation,writetoSpecialSales/ProfessionalMarketingattheheadquarters address above. Copyright #2000byMarcel Dekker,Inc. All Rights Reserved. Neitherthisbooknoranypartmaybereproducedortransmittedinanyformorby any means, electronic or mechanical, including photocopying, microfilming, and recording, or by any information storage and retrieval system, without permission in writing from the publisher. Current printing (last digit): 109 8 7 65 4 3 2 1 PRINTED INTHE UNITED STATES OFAMERICA To My Parents Preface Thisbook is about the design and architecture of computers. Architecture is the ‘‘art or science of building; a method or style of building,’’ according to one dictionary. A computer architect develops the functional and per- formance specifications for the various blocks of a computer system and defines the interfaces between those blocks, in consultation with hardware and software designers. A computer designer, on the other hand, refines those building-block specifications and implements those blocks with an appropriate mix of hardware, software, and firmware. It is my belief that the capabilities of an architect are greatly enhanced if he or she is exposed to the design aspects of a computer system. Consequently, the backbone of this book is a description of the complete design of a simple but complete hypothetical computer. The book describes the architectural features of existing computer systems as enhancements to the structure of the simple computer. Books on digital systems architecture fall into four categories: logic design books that cover the hardware logic design in detail but fail to provide the details of computer hardware design; books on computer orga- nization that deal with the computer hardware from a programmer’s view- point;booksoncomputerhardwaredesignthataresuitableforanelectrical engineeringcurriculum;andbooksoncomputersystemarchitecturewithno detailed treatment of hardware design aspects. I have tried to capture the important attributes of the four categories of books to come up with a comprehensive text on hardware design and architecture. I have included the pertinent software aspects as needed. The first edition of the book, published in 1985, was a result of my teaching a sequence of computer architecture courses at the senior under- graduate and beginning graduate levels for several years to both computer scienceandelectricalengineeringstudents.Thesecondedition,publishedin 1991,expandedthebooktoelevenchaptersandincludedseveraladditional v vi Preface topics in response to the comments from the users of the first edition. The third edition expands the topical coverage of the second edition and con- tains more contemporary architectures as examples. The book does not assume prior knowledge of computers, although exposure to programming with high-level and assembly languages makes the reading easier. Exposure to electronics is not required as a prerequisite for understanding this book. The introductory chapter briefly outlines digital computer system termi- nology and traces the evolution of computer structures. Traditionally, a discussion of number systems and computer codes is found in an introduc- torychapterofthiskind.IhavemovedthismaterialtoAppendixA,sincea majorityofstudentsarenowfamiliarwiththatmaterialmuchearlierthanat the college level. Nevertheless, Appendix A provides sufficient details for those not familiar with that subject. Chapter 1 covers the analysis and design of combinational logic circuits. Logic-minimizationproceduresarenotpartofthischapter,sinceamastery of logic minimization is not required for the purposes of this book. Appendix B provides the details of logic minimization. Popular off-the- shelf integrated circuits (ICs) and designing with ICs are introduced in this chapter. Appendix C provides brief descriptions of selected ICs. Chapter 2 covers the analysis and design of synchronous sequential cir- cuits. Concepts of registers and register-transfer logic are introduced along withprimitiveregister-transferlanguage(RTL).ThisRTLisusedintherest of the book, although any other available RTL can be substituted in its place. Chapter3introducesmodelsforcommonlyusedmemoriesanddescribes various memory devices and organizations with an emphasis on semicon- ductor memory design. Chapter 4 provides a programmer’s view of a simple hypothetical com- puter (ASC). ASC organization, instruction set, assembly-language pro- gramming, and details of an assembler are provided along with a brief introduction to program loading. Chapter5detailsthehardwaredesignofASC,includingbothhardwired and microprogrammed control units. Although the development of such detailed design is tedious, it is my belief that system designers, architects, and system programmers should go through the steps of such detailed designtobetterappreciatetheinnerworkingsofadigitalcomputersystem. Chapters 1 through 5 form the ‘‘design’’ part of the book while the remaining chapters emphasize the ‘‘architecture.’’ These chapters describe the architectural features found in practical computer systems as enhance- mentstothestructureofASC.Onlypertinentdetailsofcommercialsystems are used as examples rather than complete descriptions of commercial architectures. Preface vii Chapter 6 enhances the input/output subsystem of ASC from the pro- grammed input/output structure to the concept of input/output processors, throughinterruptprocessing,directmemoryaccess,andinput/outputchan- nels. System structures of four popular commercial systems are detailed. Chapter 7 covers popular data and instruction representations, register structures, and addressing modes. Chapter 8 details the enhancements to the memory system in terms of cache and virtual memory organizations. Chapter 9 is devoted to the enhancements to the control unit and covers the topics of pipelining, parallel instruction execution, and reduced instruc- tion set computers (RISC), a popular architectural style of today. Chapter10detailstheenhancementstothearithmetic/logicunittocover theconceptsofstack-basedALUs,pipelinedALUs,andparallelprocessing with multiple functional units. Chapter11isabriefintroductiontovariouspopulararchitecturesinclud- ing dataflow architectures, computer networks, and distributed processing. Details of selected system architectures are also provided in this chapter. Problems are given at the end of each chapter. A solution manual is availablefromthepublisherfortheuseofinstructors.Thelistofreferences providedattheendofeachchaptermaybeconsultedbyreadersforfurther details on topics covered in that chapter. The following method of study may be followed for a single-semester course in computer architecture: 1. For computer science studentswith no logic design background: Chapters 1, 2, and 3 in detail, review of Chapter 4, Chapter 5 in detail, selected topics from the remaining chapters. 2. Forcomputerengineeringstudents:ReviewofChapters1and2, Chapters3through6indetail,selectedtopicsfromtheremaining chapters. Atwo-semestercourseincomputerarchitecturemightfollowthismethodof study: 1. Semester 1: Appendix A, Chapter 1, Appendixes B and C, Chapters 2 through 5. 2. Semester 2: Chapters 6 through 11, case studies of selected con- temporary systems. Several of my colleagues and students in my architecture classes at the University of Alabama in Huntsville have contributed immensely to the contents of this book. I thank them. I would also like to thank the users of the first and second editions both in the United States and abroad for their suggestions for improvements that have resulted in this new edition. viii Preface ThanksarealsoduetoRussellDekkerandEricStannardatMarcelDekker, Inc., for their encouragement and superb support in the production of the book. I thank my wife, Kalpana, and daughters, Sruti and Sweta, for their loveandunderstanding,andassistanceinthepreparationofthemanuscript. Sajjan G. Shiva Contents Preface v Introduction: Computer System Components 1 I.1 Computer System Organization 1 I.2 Computer Evolution 5 I.3 Design vs. Architecture 8 I.4 Overview of the Book 9 References 10 Chapter 1 Combinational Logic 11 1.1 Basic Operations and Terminology 11 1.2 Boolean Algebra (Switching Algebra) 21 1.3 Primitive Hardware Blocks 23 1.4 Functional Analysis of Combinational Circuits 23 1.5 Synthesis of Combinational Circuits 29 1.6 Some Popular Combinational Circuits 35 1.7 Integrated Circuits 47 1.8 Loading and Timing 64 1.9 Summary 68 References 68 Problems 69 Chapter 2 Synchronous Sequential Circuits 73 2.1 Flip-Flops 76 2.2 Timing Characteristics of Flip-Flops 85 2.3 Flip-Flop ICs 91 2.4 Analysis of Synchronous Sequential Circuits 92 2.5 Design of Synchronous Sequential Circuits 102 2.6 Registers 107 2.7 Register Transfer Logic 119 ix x Contents 2.8 Register Transfer Schemes 124 2.9 Register Transfer Languages 128 2.10 Designing Sequential Circuits with Integrated Circuits 133 2.11 Summary 136 References 136 Problems 137 Chapter 3 Memory and Storage 143 3.1 Types of Memory 144 3.2 Memory System Parameters 152 3.3 Memory Devices and Organizations 156 3.4 Memory System Design Using ICs 173 3.5 Summary 174 References 177 Problems 177 Chapter 4 A Simple Computer: Organization and Programming 181 4.1 A Simple Computer 181 4.2 ASC Assembler 197 4.3 Program Loading 209 4.4 Summary 210 References 210 Problems 211 Chapter 5 A Simple Computer: Hardware Design 215 5.1 Program Execution 216 5.2 Data, Instruction, and Address Flow 217 5.3 Bus Structure 221 5.4 Arithmetic and Logic Unit 227 5.5 Input/Output 230 5.6 Control Unit 232 5.7 Console 249 5.8 Microprogrammed Control Unit 257 5.9 Summary 268 References 268 Problems 269 Chapter 6 Input/Output 273 6.1 General I/O Model 274 6.2 The I/O Function 279 6.3 Interrupts 286 6.4 Direct Memory Access 295

Description:
This unique and proven text provides a hands-on introduction to the design of a computer system-depicting, step by step, the arrangement of a simple but complete hypothetical computer followed by detailed architectural features of existing computer systems as enhancements to the structure of the sim
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.