Computer Organisation and Architecture PDF
Document Details
Uploaded by SmootherCantor3127
William Stallings
Tags
Summary
This document is an introduction to Computer Organisation and Architecture. It details the nature and characteristics of modern computers, covering everything from the structure to the functions within.
Full Transcript
CHAPTER INTRODUCTION 1.1 Organization and Architecture 1.2 Structure and Function Function Structure 1.3 Key Terms and Review Questions 8 1.1 / ORGANIZATION AND ARCHITECTURE 9 This book is abo...
CHAPTER INTRODUCTION 1.1 Organization and Architecture 1.2 Structure and Function Function Structure 1.3 Key Terms and Review Questions 8 1.1 / ORGANIZATION AND ARCHITECTURE 9 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 com- puters. This task is a challenging one for two reasons. First, there is a tremendous variety of products, from single-chip microcomputers costing a few dollars to supercomputers costing tens of millions of dollars, that can rightly claim the name computer. Variety is exhibited not only in cost, but also in size, performance, and application. Second, the rapid pace of change that has always charac- terized computer technology continues with no letup. These changes cover all aspects of computer technology, from the underlying integrated circuit technology used to con- struct 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 funda- mental concepts apply consistently throughout.To be sure, the application of these con- cepts depends on the current state of technology and the price/performance objectives of the designer.The intent of this book is to provide a thorough discussion of the funda- mentals of computer organization and architecture and to relate these to contemporary computer design issues. This chapter introduces the descriptive approach to be taken. 1.1 ORGANIZATION AND ARCHITECTURE In describing computers, a distinction is often made between computer architecture and computer organization. Although it is difficult to give precise definitions for these terms, a consensus exists about the general areas covered by each (e.g., see [VRAN80], [SIEW82], and [BELL78a]); an interesting alternative view is presented in [REDD76]. Computer architecture refers to those attributes of a system visible to a pro- grammer or, put another way, those attributes that have a direct impact on the logi- cal execution of a program. Computer organization refers to the operational units and their interconnections that realize the architectural specifications. Examples of architectural attributes include the instruction set, the number of bits used to repre- sent various data types (e.g., numbers, characters), I/O mechanisms, and techniques for addressing memory. Organizational attributes include those hardware details transparent to the programmer, such as control signals; interfaces between the com- puter and peripherals; and the memory technology used. For example, it is an architectural design issue whether a computer will have a multiply instruction. It is an organizational issue whether that instruction will be im- plemented by a special multiply unit or by a mechanism that makes repeated use of the add unit of the system. The organizational decision may be based on the antici- pated frequency of use of the multiply instruction, the relative speed of the two ap- proaches, and the cost and physical size of a special multiply unit. Historically, and still today, the distinction between architecture and organiza- tion has been an important one. Many computer manufacturers offer a family of computer models, all with the same architecture but with differences in organization. Consequently, the different models in the family have different price and perfor- mance characteristics. Furthermore, a particular architecture may span many years and encompass a number of different computer models, its organization changing with changing technology. A prominent example of both these phenomena is the 10 CHAPTER 1 / INTRODUCTION IBM System/370 architecture. This architecture was first introduced in 1970 and in- cluded a number of models. The customer with modest requirements could buy a cheaper, slower model and, if demand increased, later upgrade to a more expensive, faster model without having to abandon software that had already been developed. Over the years, IBM has introduced many new models with improved technology to replace older models, offering the customer greater speed, lower cost, or both. These newer models retained the same architecture so that the customer’s software invest- ment was protected. Remarkably, the System/370 architecture, with a few enhance- ments, has survived to this day as the architecture of IBM’s mainframe product line. In a class of computers called microcomputers, the relationship between archi- tecture and organization is very close. Changes in technology not only influence or- ganization but also result in the introduction of more powerful and more complex architectures. Generally, there is less of a requirement for generation-to-generation compatibility for these smaller machines. Thus, there is more interplay between or- ganizational and architectural design decisions. An intriguing example of this is the reduced instruction set computer (RISC), which we examine in Chapter 13. This book examines both computer organization and computer architecture. The emphasis is perhaps more on the side of organization. However, because a com- puter organization must be designed to implement a particular architectural specifi- cation, a thorough treatment of organization requires a detailed examination of architecture as well. 1.2 STRUCTURE AND FUNCTION A computer is a complex system; contemporary computers contain millions of elemen- tary electronic components. How, then, can one clearly describe them? The key is to rec- ognize the hierarchical nature of most complex systems, including the computer [SIMO96].A hierarchical system is a set of interrelated subsystems, each of the latter, in turn, hierarchical in structure until we reach some lowest level of elementary subsystem. The hierarchical nature of complex systems is essential to both their design and their description. The designer need only deal with a particular level of the system at a time. At each level, the system consists of a set of components and their interrela- tionships. The behavior at each level depends only on a simplified, abstracted charac- terization of the system at the next lower level. At each level, the designer is concerned with structure and function: Structure: The way in which the components are interrelated Function: The operation of each individual component as part of the structure In terms of description, we have two choices: starting at the bottom and build- ing up to a complete description, or beginning with a top view and decomposing the system into its subparts. Evidence from a number of fields suggests that the top- down approach is the clearest and most effective [WEIN75]. The approach taken in this book follows from this viewpoint. The computer system will be described from the top down. We begin with the major components of a computer, describing their structure and function, and proceed to successively lower layers of the hierarchy. The remainder of this section provides a very brief overview of this plan of attack. 1.2 / STRUCTURE AND FUNCTION 11 Operating environment (source and destination of data) Data movement apparatus Control mechanism Data Data storage processing facility facility Figure 1.1 A Functional View of the Computer Function Both the structure and functioning of a computer are, in essence, simple. Figure 1.1 depicts the basic functions that a computer can perform. In general terms, there are only four: Data processing Data storage Data movement Control The computer, of course, must be able to process data. The data may take a wide variety of forms, and the range of processing requirements is broad. However, we shall see that there are only a few fundamental methods or types of data processing. It is also essential that a computer store data. Even if the computer is processing data on the fly (i.e., data come in and get processed, and the results go out immedi- ately), the computer must temporarily store at least those pieces of data that are being 12 CHAPTER 1 / INTRODUCTION Movement Movement Control Control Storage Processing Storage Processing (a) (b) Movement Movement Control Control Storage Processing Storage Processing (c) (d) Figure 1.2 Possible Computer Operations worked on at any given moment. Thus, there is at least a short-term data storage func- tion. Equally important, the computer performs a long-term data storage function. Files of data are stored on the computer for subsequent retrieval and update. The computer must be able to move data between itself and the outside world. The computer’s operating environment consists of devices that serve as either 1.2 / STRUCTURE AND FUNCTION 13 sources or destinations of data. When data are received from or delivered to a device that is directly connected to the computer, the process is known as input–output (I/O), and the device is referred to as a peripheral. When data are moved over longer distances, to or from a remote device, the process is known as data communications. Finally, there must be control of these three functions. Ultimately, this control is exercised by the individual(s) who provides the computer with instructions. Within the computer, a control unit manages the computer’s resources and orchestrates the performance of its functional parts in response to those instructions. At this general level of discussion, the number of possible operations that can be performed is few. Figure 1.2 depicts the four possible types of operations. The computer can function as a data movement device (Figure 1.2a), simply transferring data from one peripheral or communications line to another. It can also function as a data storage device (Figure 1.2b), with data transferred from the external environ- ment to computer storage (read) and vice versa (write). The final two diagrams show operations involving data processing, on data either in storage (Figure 1.2c) or en route between storage and the external environment (Figure 1.2d). The preceding discussion may seem absurdly generalized. It is certainly possi- ble, even at a top level of computer structure, to differentiate a variety of functions, but, to quote [SIEW82], There is remarkably little shaping of computer structure to fit the function to be performed.At the root of this lies the general-purpose nature of computers, in which all the functional specialization occurs at the time of programming and not at the time of design. Structure Figure 1.3 is the simplest possible depiction of a computer. The computer interacts in some fashion with its external environment. In general, all of its linkages to the external environment can be classified as peripheral devices or communication lines. We will have something to say about both types of linkages. Co m s m al un er ph ica ri tio Pe n lin es COMPUTER Storage Processing Figure 1.3 The Computer 14 CHAPTER 1 / INTRODUCTION COMPUTER I/O Main memory System bus CPU CPU Registers ALU Internal bus Control unit CONTROL UNIT Sequencing logic Control unit registers and decoders Control memory Figure 1.4 The Computer: Top-Level Structure But of greater concern in this book is the internal structure of the computer itself, which is shown in Figure 1.4. There are four main structural components: Central processing unit (CPU): Controls the operation of the computer and performs its data processing functions; often simply referred to as processor. Main memory: Stores data. I/O: Moves data between the computer and its external environment. System interconnection: Some mechanism that provides for communica- tion among CPU, main memory, and I/O. A common example of system 1.3 / KEY TERMS AND REVIEW QUESTIONS 15 interconnection is by means of a system bus, consisting of a number of con- ducting wires to which all the other components attach. There may be one or more of each of the aforementioned components. Tradi- tionally, there has been just a single processor. In recent years, there has been in- creasing use of multiple processors in a single computer. Some design issues relating to multiple processors crop up and are discussed as the text proceeds; Part Five focuses on such computers. Each of these components will be examined in some detail in Part Two. How- ever, for our purposes, the most interesting and in some ways the most complex component is the CPU. Its major structural components are as follows: Control unit: Controls the operation of the CPU and hence the computer Arithmetic and logic unit (ALU): Performs the computer’s data processing functions Registers: Provides storage internal to the CPU CPU interconnection: Some mechanism that provides for communication among the control unit, ALU, and registers Each of these components will be examined in some detail in Part Three, where we will see that complexity is added by the use of parallel and pipelined organizational techniques. Finally, there are several approaches to the implementation of the con- trol unit; one common approach is a microprogrammed implementation. In essence, a microprogrammed control unit operates by executing microinstructions that define the functionality of the control unit. With this approach, the structure of the control unit can be depicted, as in Figure 1.4. This structure will be examined in Part Four. 1.3 KEY TERMS AND REVIEW QUESTIONS Key Terms arithmetic and logic unit computer organization processor (ALU) control unit registers central processing unit (CPU) input–output (I/O) system bus computer architecture main memory Review Questions 1.1. What, in general terms, is the distinction between computer organization and com- puter architecture? 1.2. What, in general terms, is the distinction between computer structure and computer function? 1.3. What are the four main functions of a computer? 1.4. List and briefly define the main structural components of a computer. 1.5. List and briefly define the main structural components of a processor.