Computer Organization and Architecture phần 1

pdf
Số trang Computer Organization and Architecture phần 1 10 Cỡ tệp Computer Organization and Architecture phần 1 283 KB Lượt tải Computer Organization and Architecture phần 1 0 Lượt đọc Computer Organization and Architecture phần 1 66
Đánh giá Computer Organization and Architecture phần 1
4.6 ( 18 lượt)
Nhấn vào bên dưới để tải tài liệu
Để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Campus de Gualtar 4710-057 Braga UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA Departamento de Informática Computer Organization and Architecture 5th Edition, 2000 by William Stallings Summary For junior/senior/graduate-level courses in Computer Organization and Architecture in the Computer Science and Engineering departments. This text provides a clear, comprehensive presentation of the organization and architecture of modernday computers, emphasizing both fundamental principles and the critical role of performance in driving computer design. The text conveys concepts through a wealth of concrete examples highlighting modern CISC and RISC systems. Table of Contents I. OVERVIEW. 1. Introduction. 2. Computer Evolution and Performance. II. THE COMPUTER SYSTEM. 3. System Buses. 4. Internal Memory. 5. External Memory. 6. Input/Output. 7. Operating System Support. III. THE CENTRAL PROCESSING UNIT. 8. Computer Arithmetic. 9. Instruction Sets: Characteristics and Functions. 10. Instruction Sets: Addressing Modes and Formats. 11. CPU Structure and Function. 12. Reduced Instruction Set Computers (RISCs). 13. Instruction-Level Parallelism and Superscalar Processors. IV. THE CONTROL UNIT. 14. Control Unit Operation. 15. Microprogrammed Control. V. PARALLEL ORGANIZATION. 16. Parallel Processing. Appendix A: Digital Logic. Appendix B: Projects for Teaching Computer Organization and Architecture. References. Glossary. Index. Acronyms. Preface OBJECTIVES This book is about the structure and function of computers. Its purpose is to present, as clearly and completely as possible, the nature and characteristics of modern-day computer systems. This task is challenging for several reasons. First, there is a tremendous variety of products that can rightly claim the name of "computer", from single-chip microprocessors, costing a few dollars, to supercomputers, costing tens of millions of dollars. Variety is exhibited not only in cost, but in size, performance, and application. Second, the rapid pace of change that has always characterized computer technology continues with no letup. These changes cover all aspects of computer technology, from the underlying integrated circuit technology used to construct computer components, to the increasing use of parallel organization concepts in combining those components. In spite of the variety and pace of change in the computer field, certain fundamental concepts apply consistently throughout. The application of these concepts depends on the current state of the technology and the price/performance objectives of the designer. The intent of this book is to provide a thorough discussion of the fundamentals of computer organization and architecture and to relate these to contemporary design issues. The subtitle suggests the theme and the approach taken in this book. It has always been important to design computer systems to achieve high performance, but never has this requirement been stronger or more difficult to satisfy than today. All of the basic performance characteristics of computer systems, including processor speed, memory speed, memory capacity, and interconnection data rates, are increasing rapidly. Moreover, they are increasing at different rates. This makes it difficult to design a balanced system that maximizes the performance and utilization of all elements. Thus, computer design increasingly becomes a game of changing the structure or function in one area to compensate for a performance mismatch in another area. We will see this game played out in numerous design decisions throughout the book. A computer system, like any system, consists of an interrelated set of components. The system is best characterized in terms of structure-the way in which components are interconnected, and function-the operation of the individual components. Furthermore, a computer's organization is hierarchic. Each major component can be further described by decomposing it into its major subcomponents and describing their structure and function. For clarity and ease of understanding, this hierarchical organization is described in this book from the top down: • Computer system: Major components are processor, memory, I/O. • Processor: Major components are control unit, registers, ALU, and instruction execution unit. • Control unit: Major components are control memory, microinstruction sequencing logic, and registers. The objective is to present the material in a fashion that keeps new material in a clear context. This should minimize the chance that the reader will get lost and should provide better motivation than a bottom-up approach. Throughout the discussion, aspects of the system are viewed from the points of view of both architecture (those attributes of a system visible to a machine language programmer) and organization (the operational units and their interconnections that realize the architecture). EXAMPLE SYSTEMS Throughout this book, examples from a number of different machines are used to clarify and reinforce the concepts being presented. Many, but by no means all, of the examples are drawn from two computer families: the Intel Pentium II, and the PowerPC. (The recently introduced Pentium III is essentially the same as the Pentium II, with an expanded set of multimedia instructions.) These two systems together encompass most of the current computer design trends. The Pentium II is essentially a complex instruction set computer (CISC) with a RISC core, while the PowerPC is essentially a reduced-instruction set computer (RISC). Both systems make use of superscalar design principles and both support multiple processor configurations. Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 PLAN OF THE TEXT The book is organized into five parts: Part One— Overview: This part provides a preview and context for the remainder of the book. Part Two-The computer system: A computer system consists of processor, memory, and I/O modules, plus the interconnections among these major components. With the exception of the processor, which is sufficiently complex to be explored in Part Three, this part examines each of these aspects in turn. Part Three— The central processing unit: The CPU consists of a control unit, registers, the arithmetic and logic unit, the instruction execution unit, and the interconnections among these components. Architectural issues, such as instruction set design and data types, are covered. The part also looks at organizational issues, such as pipelining. Part Four— The control unit: The control unit is that part of the processor that activates the various components of the processor. This part looks at the functioning of the control unit and its implementation using microprogramming. Part Five— Parallel organization: This final part looks at some of the issues involved in multiple processor and vector processing organizations. A more detailed, chapter-by-chapter summary appears at the end of Chapter 1. INTERNET SERVICES FOR INSTRUCTORS AND STUDENTS There is a Web site for this book that provides support for students and instructors. The site includes links to other relevant sites, transparency masters of figures in the book in PDF (Adobe Acrobat) format, and sign-up information for the book's Internet mailing list. The Web page is at http://www.shore.net/~ws/COA5e.html; see the section, "Web Site for this Book," preceding this Preface, for more information. An Internet mailing list has been set up so that instructors using this book can exchange information, suggestions, and questions with each other and with the author. As soon as typos or other errors are discovered, an errata list for this book will be available at http://www.shore.net/~ws. PROJECTS FOR TEACHING COMPUTER ORGANIZATION AND ARCHITECTURE For many instructors, an important component of a computer organization and architecture course is a project or set of projects by which the student gets hands-on experience to reinforce concepts from the text. This book provides an unparalleled degree of support for including a projects component in the course. The instructor's manual not only includes guidance on how to assign and structure the projects, but also includes a set of suggested projects that covers a broad range of topics from the text: • Research projects: The manual includes series of research assignments that instruct the student to research a particular topic on the Web or in the literature and write a report. • Simulation projects: The manual provides support for the use of the simulation package SimpleScalar, which can be used to explore computer organization and architecture design issues. • Reading/report assignments: The manual includes a list of papers in the literature, one or more for each chapter, that can be assigned for the student to read and then write a short report. See Appendix B for details. Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 WHAT'S NEW IN THE FIFTH EDITION In the four years since the fourth edition of this book was published, the field has seen continued innovations and improvements. In this new edition, I try to capture these changes while maintaining a broad and comprehensive coverage of the entire field. To begin this process of revision, the fourth edition of this book was extensively reviewed by a number of professors who teach the subject. The result is that, in many places, the narrative has been clarified and tightened, and illustrations have been improved. Also, a number of new "field-tested" problems have been added. Beyond these refinements to improve pedagogy and user friendliness, there have been substantive changes throughout the book. Roughly the same chapter organization has been retained, but much of the material has been revised and new material has been added. Some of the most noteworthy changes are the following: • Optical memory: The material on optical memory has been expanded to include magneto optical memory devices. • Superscalar design: The chapter on superscalar design has been expanded, to include a more detailed discussion and two new examples, the U1traSparc II and the MIPS 810000. • Multimedia instruction set: the MMX instruction set, used in the Pentium II and Pentium III, is examined. • Predicated execution and speculative loading: This edition features a discussion of these recent concepts, which are central to the design of the new IA64 architecture from Intel and Hewlett-Packard. • SMPs, clusters, and NUMA systems: The chapter on parallel organization has been completely rewritten. It new includes detailed descriptions of and comparisons among symmetric multiprocessors (SMPs), clusters, and nonuniform memory access (NUMA) systems. • Expanded instructor support: As mentioned previously, the book now provides extensive support for projects. Support provided by the book Web site has also been expanded. Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 Topics from Ch. 1 to Ch. 8 and Ch.11 to Ch. 13 Text adapted from Dr. Kammerdiener slides in http://www.cs.ulm.edu/~tkammerd/spring01/csci412/lectures/, with figures from the Web site’s book publisher and from the book author’s slides (ftp://ftp.prenhall.com/pub/esm/computer_science.s041/stallings/Slides/COA5e-Slides/); most chapters are based on the 4th ed. (see dates below, taken from Dr. Kammerdiener slides). I. OVERVIEW. (25-Jan-99) 1. Introduction. 2. Computer Evolution and Performance. Organization and Architecture (1.1) • Computer Architecture refers to those attributes of a system that have a direct impact on the logical execution of a program. Examples: o the instruction set o the number of bits used to represent various data types o I/O mechanisms o memory addressing techniques • Computer Organization refers to the operational units and their interconnections that realize the architectural specifications. Examples are things that are transparent to the programmer: o control signals o interfaces between computer and peripherals o the memory technology being used • So, for example, the fact that a multiply instruction is available is a computer architecture issue. How that multiply is implemented is a computer organization issue. Structure and Function (1.2) • Modern computers contain millions of electronic components • The key to describing such systems is to recognize their hierarchical nature o They are a set of layers or levels of interrelated subsystems o Each level consists of a set of components and their inter-relationships • The behavior of each level depends only on a simplified, abstracted characterization of the system at the next lower level • At each level, the designer is concerned with: o Structure: The way in which the components are interrelated o Function: The operation of each individual component as part of the structure. • We will usually describe systems from the top-down, instead of bottom-up. Function • A functional view of the computer • Basic functions that a computer can perform: o Data Processing - a wide variety of forms, but only a few fundamental methods or types o Data Storage - long-term or short, temporary storage Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 • Data Movement o Input/Output - when data are received from or delivered to a peripheral, a device connected directly to the computer o Data Communications - when data is moved over longer distances, to or from a remote device • Control - of the above functions, by instructions provided by the user of the computer (i.e. their programs) • 4 Possible types of operations with this basic structure Device for Processing Data in Storage Device for Processing Data En-route Between the Outside World and Storage Structure • Simplest possible view of a computer: o Storage o Processing o Peripherals o Communication Lines • Internal Structure of the Computer Itself: o Central Processing Unit (CPU): Controls the operation of the computer and performs its data processing functions. Often simply referred to as processor. o Main Memory: Stores data. o I/O: Moves data between the computer and its external environment. o System Interconnection: Some mechanism that provides for communication among CPU, main memory, and I/O. • Main Structural components of the CPU: o Control Unit: Controls the operation of the CPU and hence the computer. o Arithmetic and Logic Unit (ALU): Performs the computer's data processing functions. o Registers: Provides storage internal to the CPU. o CPU Interconnection: Some mechanism that provides for communication among the control unit, ALU, and registers. Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 • (Microprogrammed) Control Unit Structure A Brief History of Computers (2.1) • First Generation: Vacuum Tubes o 1943-1946: ENIAC § first general purpose computer § designed by Mauchly and Eckert § designed to create ballistics tables for WWII, but too late -- helped determine H-bomb feasibility instead. General purpose! § 30 tons + 15000 sq. ft. + 18000 vacuum tubes + 140 KW = 5000 additions/sec • von Neumann Machine o 1945: stored-program concept first implement for EDVAC. Key concepts: § Data and instructions are stored in a single read-write memory § The contents of this memory are addressable by location, without regard to the type of data contained there § Execution occurs in a sequential fashion (unless explicitly modified) from one instruction to the next Arithmetic and Logic Unit Input Output Main Memory Equipment Program Control Unit • 1946: Princeton Institute for Advanced Studies (IAS) computer o Prototype for all subsequent general-purpose computers. With rare exceptions, all of today’s computers have this same general structure, and are thus referred to as von Neumann machines. Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 • General IAS Structure Consists of: Arithmetic and Logic Unit Accumulator MQ Arithmetic & Logic Circuits MBR Input Output Equipment Instructions & Data Main Memory PC IBR MAR IR Control Circuits Program Control Unit Address o A main memory, which stores both data and instructions o An ALU capable of operating on binary data o A control unit, which interprets the instructions in memory and causes them to be executed o I/O equipment operated by the control unit • First commercial computers o 1950: UNIVAC - commissioned by Census Bureau for 1950 calculations o late 1950's: UNIVAC II § greater memory and higher performance § same basic architecture as UNIVAC § first example of upward compatibility o 1953: IBM 701 - primarily for science o 1955: IBM 702 - primarily for business • Second Generation: Transistors o 1947: Transistor developed at Bell Labs o Introduction of more complex ALU and control units o High-level programming languages o Provision of system software with computers o The data channel - an independent I/O module with its own processor and instruction set o The multiplexor - a central termination point for data channels, CPU, and memory. Precursor to idea of data bus. • Third Generation: Integrated Circuits o 1958: Integrated circuit developed o 1964: Introduction of IBM System/360 § First planned family of computer products. Characteristics of a family: § Similar or Identical Instruction Set and Operating System Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 § Increasing Speed § Increasing Number of I/O Ports § Increasing Memory Size § Increasing Cost § Different models could all run the same software, but with different price/performance • 1964: First PDP-8 shipped o First minicomputer o Started OEM market o Introduced the bus structure • Fourth Generation: No clear characterization o Semiconductor memory § Replaced bulky core memory § Goes through its own generations in size, increasing by a factor of 4 each time: 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M on a single chip w/ declining cost and access time o Microprocessors and personal computers o Distributed computing o Larger and larger scales of integration Designing for Performance (2.2) • Evolution of Computer Systems o Price/performance § price drops every year § performance increases almost yearly § memory size goes up a factor of 4 every 3 years or so o The basic building bocks for today's computers are the same as those of the IAS computer nearly 50 years ago • Microprocessor Speed o Density of integrated circuits increases by 4 every 3 years (e.g. memory evolution) o Also results in performance boosts of 4-5 times every 3 years Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000 o Requires more elaborate ways of feeding instructions quickly enough. Some techniques: § Branch prediction § Data-flow analysis § Speculative Execution • Performance Balance o All components do not increase performance at same rate as processor o Results in a need to adjust the organization and architecture to compensate for the mismatch among the capabilities of the various components • Example: Interface between processor and main memory o Must carry a constant flow of program instructions and data between memory chips and processor o Processor speed and memory capacity have grown rapidly o Speed with which data can be transferred between processor and main memory has lagged badly o DRAM density goes up faster than amount of main memory neededd § Number of DRAM's goes down § With fewer DRAM's, less opportunity for parallel data transfer • Some solutions o Make DRAM's "wider" to increase number of bits retrieved at once o Change DRAM interface to make it more efficient o Reduce frequency of memory access using increasingly complex and efficient cache structures o Increase interconnect bandwidth with higher-speed buses and bus hierarchies • I/O devices also become increasingly demanding • Key is balance. Because of constant and unequal changes in: o processor components o main memory o I/O devices o interconnection structures designers must constantly strive to balance their throughput and processing demands. Universidade do Minho – Dep. Informática - Campus de Gualtar – 4710-057 Braga - PORTUGAL- http://www.di.uminho.pt William Stallings, “Computer Organization and Architecture”, 5th Ed., 2000
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.