APznzaZmlsTgnYufxmAbk3mdmvy0sB5JVdjqOcK4BA42vwUNomA7mbQEE4WlRqIkTgB1Xq40CDPtHe5Wy1jVNK3pbYgpEMHFed43bEbGZ1XztGqukG_kUKtnz_-ZcZ8NqjLVaI9MZFPXtBjdHQzE1SNRepz9OgDMbXj3quSvZvP7zKf6ebfPd1hn4Tbl-nMwFUCvnwjuk5XU1q8-JtG3U-_NLj_rXUYJbe.pdf
Document Details
Uploaded by DeliciousClavichord
USTP
2024
Tags
Full Transcript
CPE413 Computer Architecture and Organization Module No. 1 Topic Introduction to Computer Architecture and Organization Period Week no.__1__: Date _August 19-23, 2024_ INTRODUCTION TO COMPUTER ARCHITECTURE AND ORGANIZATION This...
CPE413 Computer Architecture and Organization Module No. 1 Topic Introduction to Computer Architecture and Organization Period Week no.__1__: Date _August 19-23, 2024_ INTRODUCTION TO COMPUTER ARCHITECTURE AND ORGANIZATION This module provides an overview of computer architecture and organization and how these two differs and significant with each other. The concept of the computer as a hierarchical system and the general system architecture are introduced. A computer can be viewed as a structure of components and its function described in terms of the collective function of its cooperating components. Each component, in turn, can be described in terms of its internal structure and function. Objective/Intended Learning Outcomes Students should be able to understand the concept of computer architecture and organization and its significance. Students should be able to comprehend the computer’s hierarchical system, function and structure. Students should be able to identify the general system architecture and its functions. Discussion/Content 1.1 INTRO TO COMPUTER ARCHITECTURE AND ORGANIZATION Why study computer architecture and organization? The computer lies at the heart of computing. Without it most of the computing disciplines today would be a branch of theoretical mathematics. To be a professional in any field of computing today, one should not regard the computer as just a black box that executes programs by magic. All students of computing should acquire some understanding and appreciation of a computer system’s functional components, their characteristics, their performance, and their interactions. There are practical implications as well. Students need to understand computer architecture in order to structure a program so that it runs more efficiently on a real machine. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 1 COMPUTER ARCHITECTURE Computer Architecture refers to those attributes of a system that have a direct impact on the logical execution of a program. Architecture is those attributes visible to the programmer The architecture of a computer system can be considered as a catalogue of tools or attributes that are visible to the user. 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 Computer Organization refers to the operational units and their interconnections that realize the architectural specifications. Organization is how features are implemented The organization of a computer system defines the way system is structured so that all those catalogued tools can be used. Examples are things that are transparent to the programmer: o control signals o interfaces between computer and peripherals o the memory technology being used o ALU, CPU, memory and memory organization COMPUTER ARCHITECTURE vs COMPUTER ORGANIZATION EXAMPLE: The fact that a multiply instruction is available is a computer architecture issue, “Is there a multiply instruction?”. How that multiply is implemented is a computer organization issue, “Is there a hardware multiply unit or is it done by repeated addition?”. Historically, and still today, the distinction between architecture and organization has been an important one. Many computer manufacturers offer a family of computer models, all with the same architecture but with differences in organization. EXAMPLE: The IBM System/370 architecture. This architecture was first introduced in 1970 and included 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 investment was protected. In a class of computers called microcomputers, the relationship between architecture and organization is very close. Changes in technology not only influence organization but also result in the introduction of more powerful and more complex architectures. Since a computer organization must be designed to implement a particular architectural specification, a thorough treatment of organization requires a detailed examination of architecture as well. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 2 Differences between computer architecture and computer organization COMPUTER ARCHITECTURE COMPUTER ORGANIZATION Computer Architecture is concerned with the way Computer Organization is concerned with the hardware components are connected together to structure and behaviour of a computer system as form a computer system. seen by the user. It acts as the interface between hardware and It deals with the components of a connection in a software. system. Computer Architecture helps us to understand Computer Organization tells us how exactly all the functionalities of a system. the units in the system are arranged and interconnected. A programmer can view architecture in terms of Whereas Organization expresses the realization of instructions, addressing modes and registers. architecture. While designing a computer system architecture is An organization is done on the basis of considered first. architecture. Computer Architecture deals with high-level Computer Organization deals with low-level design issues. design issues. Architecture involves Logic (Instruction sets, Organization involves Physical Components Addressing modes, Data types, Cache (Circuit design, Adders, Signals, Peripherals) optimization) STRUCTURE AND FUNCTION 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. Structure is the way in which components relate to each other. Function is the operation of individual components as part of the structure. All computer functions are: Data processing – Computer must be able to process data which may take a wide variety of forms and the range of processing. Data storage – Computer stores data either temporarily or permanently. Data movement – Computer must be able to move data between itself and the outside world. Control – There must be a control of the above three functions. Figure 1:Functional view of a computer Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 3 Figure 2: Data movement operation Figure 3: Storage Operationto I/O Figure 4:Processing from/to storage Figure 5:Processing from storage to I/O Figure 1 depicts the four possible types of operations. The computer can function as a data movement device shown in Figure 2, simply transferring data from one peripheral or communications line to another. It can also function as a data storage device shown in Figure 3, with data transferred from the external environment to computer storage (read) and vice versa (write). The final two diagrams show operations involving data processing, on data either in storage shown in Figure 4. Enn route between storage and the external environment shown in Figure 5. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTOR INSTRUCTORSS 4 Computer 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 interconnections – Some mechanism that provides for communication among CPU, main memory, and I/O. CPU Structural Components: Control unit –Controls the operation of the CPU and hence the computer. Arithmetic logic unit (ALU) – Performs the computer’s data processing. Registers– Provides storage internal to the CPU. CPU interconnections –Some mechanism that provides for communication among the control unit, ALU, and registers Peripherals Computer Central Main Memory Unit Systems Computer Input Communication lines Output Figure 6:The Computer: Top Level Structure CPU Arithmetic Computer Registers and I/O System CPU Login Unit Bus Internal CPU Memory Interconnection Control Unit Figure 7:The Central Processing Unit Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 5 Control Unit CPU Sequencing ALU Internal Control Login Bus Control Unit Unit Registers Registers and Decoders Control Memory Figure 8:The Control Unit GENERAL SYSTEM ARCHITECTURE In computer architecture, the general system architecture is divided into two major classification units. 1. Store Program Control Concept 2. Flynn's Classification of Computers Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 6 STORE PROGRAM CONTROL CONCEPT Stored Program Control Concept– it is the term that refers to the storage of instructions in computer memory to enable it to perform a variety of tasks in sequence or intermittently. The idea was introduced in the late 1040s by John von Neumann who proposed that a program be electronically stored in the binary-number format in a memory device so that instructions could be modified by the computer as determined by intermediate computational results. ENIAC (Electronic Numerical Integrator and Computer) was the first computing system designed in the early 1940s. It was based on Stored Program Concept in which machine use memory for processing data. Stored Program Concept can be further classified in three basic ways: Von-Neumann Model Von-Neumann proposed his computer architecture design in 1945 which was later known as Von-Neumann Architecture. It consisted of a Control Unit, Arithmetic, and Logical Memory Unit (ALU), Registers and Inputs/Outputs. The architecture is based on the stored-program computer concept, where instruction data and program data are stored in the same memory. This design is still used in most computers produced today. A Von Neumann-based computer: o Uses a single processor o Uses one memory for both instructions and data. o Executes programs following the fetch-decode-execute cycle Components of Von-Neumann Model: Central Processing Unit Buses Memory Unit Central Processing Unit – is the part of the computer that performs the bulk of data processing operations. Arithmetic and Logic Unit (ALU) – performs the required micro-operations for executing the instructions. In simple words, ALU allows arithmetic (add, subtract, etc.) and logic (AND, OR, NOT, etc.) operations to be carried out. Control Unit – it controls the operations of components like ALU, memory and input/output devices. Registers – refer to high-speed storage areas in the CPU. The data processed by the CPU are fetched from the registers. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 7 Memory Unit –is a collection of storage cells together with associated circuits needed to transfer information in and out of the storage. The memory stores binary information in groups of bits called words. The internal structure of a memory unit is specified by the number of words it contains and the number of bits in each word. Buses – are the means by which information is shared between the registers in a multiple- register configuration system. Address Bus – carries the address of data (but not the data) between the processor and the memory. Data Bus –carries data between the processor, the memory unit and the input/output devices. Control Bus –carries signals/commands from the CPU. Figure 9: Von-Neumann Model General Purpose System The General Purpose Computer System is the modified version of the Von-Neumann Architecture. In simple words, we can say that a general-purpose computer system is a modern- day architectural representation of Computer System. The CPU (Central Processing Unit) consists of the ALU (Arithmetic and Logic Unit), Control Unit and various processor registers. The CPU, Memory Unit and I/O subsystems are interconnected by the system bus which includes data, address, and control-status lines. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 8 The image shows how CPU, Memory Unit and I/O subsystems are connected through common single bus architecture. Figure 10:General Purpose System Parallel Processing Parallel processing can be described as a class of techniques which enables the system to achieve simultaneous data data-processing processing tasks to increase the computational speed of a computer system. This can carry out simultaneous data-processing processing to achieve faster execution time. For instance, while an instruction is being processed in the ALU component of the CPU, the next instruction can be read from memory. The primary purpose of parallel processing is to enhance th thee computer processing capability and increase its throughput throughput, i.e. the amount of processing that can be accomplished during a given interval of time. A parallel processing system can be achieved by having a multiplicity of functional units that perform identical dentical or different operations simultaneously. The data can be distributed among various multiple functional units. Eight functional units: The adder and integer multiplier performs the arithmetic operation with integer numbers. The floating-point point opera operations tions are separated into three circuits operating in parallel. The logic, shift, and increment operations can be performed concurrently on different data. All units are independent of each other, so one number can be shifted while another number is being incremented. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTOR INSTRUCTORSS 9 The following diagram shows one possible way of separating the execution unit into eight functional units operating in parallel. The operation performed in each functional unit is indicated in each block of the diagram: Figure 11:Parallel Processing FLYNN'S CLASSIFICATION OF COMPUTERS M.J. Flynn proposed a classification for the organization of a computer system by the number of instructions and data items that are manipulated simultaneously. The sequence of instructions read from memory constitutes an instruction stream. The operations performed on the data in the processor constitute a data stream. Parallel processing may occur in the instruction stream, in the data stream, or both. NOTE: The term 'Stream' refers to the flow of instructions or data. Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 10 Figure 12:Flynn's Classification of Computers Flynn's classification divides computers into four major groups that are: Single instruction stream, single data stream (SISD) It represents the organization of a single computer containing a control unit, a processor unit, and a memory unit. Instructions are executed sequentially, and the system may or may not have internal parallel processing capabilities. Most conventional computers have SISD architecture like the traditional Von-Neumann computers. Parallel processing, in this case, may be achieved by means of multiple functional units or by pipeline processing. Instructions are decoded by the Control Unit and then the Control Unit sends the instructions to the processing units for execution. Data Stream flows between the processors and memory bi-directionally. Examples: Older generation computers, minicomputers, and workstations Where: CU = Control Unit PE = Processing Element M = Memory Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 11 Single instruction stream, multiple data stream (SIMD) It represents an organization that includes many processing units under the supervision of a common control unit. All processors receive the same instruction from the control unit but operate on different items of data. The shared memory unit must contain multiple modules so that it can communicate with all the processors simultaneously. SIMD is mainly dedicated to array processing machines. However, vector processors can also be seen as a part of this group. Where: CU = Control Unit PE = Processing Element M = Memory Multiple instruction stream, single data stream (MISD) MISD structure is only of theoretical interest since no practical system has been constructed using this organization. In MISD, multiple processing units operate on one single-data stream. Each processing unit operates on the data independently via separate instruction stream. Example: The experimental Carnegie-Mellon C.mmp computer (1971) Where: CU = Control Unit PE = Processing Units M = Memory Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 12 Multiple instruction stream, multiple data stream (MIMD) – In this organization, all processors in a parallel computer can execute different instructions and operate on various data at the same time. In MIMD, each processor has a separate program and an instruction stream is generated from each program. Examples: Cray T90, Cray T3E, IBM-SP2 Where: CU = Control Unit PE = Processing Units M = Memory Where: CU = Control Unit PE = Processing References Computer Organization and Architecture Designing for Performance by William Stallings Computer Organization and Architecture/Introduction to Computer Organization and Architecture by Dr. Manmohan Sharma Computer System Architecture 3rd Edition by M. Morris Mano https://www.javatpoint.com/general-system-architecture Created by: CPE413 FIRST SEMESTER USTP INSTRUCTORS 13