Lecture 1 Computer Architecture Introduction Computer architecture deals with the functional behaviour of a computer system as viewed by a programmer. This view includes aspects such as the sizes of data types ( e.g. using 16 binary digits to represent an integer), and the types of operations that are supported (like addition, subtraction, and subroutine calls). Computer organization deals with structural relationships that are not visible to the programmer, such as interfaces to peripheral devices, the clock frequency, and the technology used for the memory. There is a concept of levels in computer architecture. The basic idea is that there are many levels, or views, at which a computer can be considered, from the highest level, where the user is running programs, or using the computer, to the lowest level, consisting of transistors and wires. Between the high and low levels are a number of intermediate levels. Von Neumann model: The von Neumann model consists of five major components as illustrated in Figure below: The Input Unit provides instructions and data to the sys- tem, which are subsequently stored in the Memory Unit. The instructions and data are processed by the Arithmetic and Logic Unit (ALU) under the direction of the Control Unit. The results are sent to the Output Unit. The ALU and Control unit are frequently referred to collectively as the central processing unit (CPU). Most commercial computers can be decomposed into these five basic units. Lecture 1 The System Bus Model Although the von Neumann model prevails in modern computers, it has been streamlined. Figure 1-3 shows the system bus model of a computer system. This Most important to the system bus model, the communications among the components are by means of a shared pathway called the system bus, which is made up of the data bus (which carries the information being transmitted), the address bus (which identifies where the information is being sent), and the control bus (which describes aspects of how the information is being sent, and in What manner). There is also a power bus for electrical power to the components, which is not shown, but its presence is understood. Some architecture may also have a separate I/O bus. Levels of Machines As with any complex system, the computer can be viewed from a number of perspectives, or levels, from the highest “user” level to the lowest, transistor level. Each of these levels represents an abstraction of the computer. Perhaps one of the reasons for the enormous success of the digital computer is the extent to which these levels of abstraction are separate, or independent from one another. Lecture 1 Control unit : The function of the control unit in a digital computer is to initiate sequences of micro operations that are available in a given system is finite. The complexity of the digital system is derived from the number sequences of micro operation. Hardwired control unit The control unit that using conventional logic design techniques to generate control signal is called hardware micro control unit Micro programmed control unit Is a second alternative for designing the control unit of a digital computer? The principle of micro programming is an elegant and systematic method for controlling the micro operation sequences in a digital computer. The control unit initiates a series of sequential steps of micro operations. During any given time, certain micro operation is to be initiated, while others remain idle. Lecture 1 Control word Are the control variables that can be represented by a string of ones and zeros, which can be programmed to perform various operations on the components of the systems? We can be defining the micro programmed control unit as the control unit whose binary control variables are stored in memory. Each word in control memory contains within it a micro instruction, which the micro instruction specifies one or more micro operations for the system. A sequence of micro instructions constitutes a micro program. Control memory A computer that employs a micro programmed control unit will have two separate memories: main memory and control memory. The main memory is available to the user for storing the programs. The contents of the main memory may alter when the data are manipulated and every time that the program is changed. Control memory is a memory which is a part of control unit. There are two types of control memory there are: 1- Read Only Memory (ROM) The content of the words in ROM are fixed and cannot be altered by simple programming since no writing capacity i.e available in the rom words in ROM are made permanent during the hardware production of the unit. The content of the word in ROM at agiven address specifies a micro instruction. Lecture 1 2- Dynamic memory The dynamic micro programming permits a micro program to be loaded initially from an auxiliary memory such as magnetic disk. Control unit that use dynamic microprogramming employs a writable control memory, which can be used for writing to change the micro program. Micro programmed control organization In contrast, the control memory holds a fixed micro program that cannot be altered by the occasional user. The micro program consists of micro instructions that specify various internal control signals for execution of register micro operations. Each machine instruction initiates a series of micro instruction in control memory. These micro instructions generate the micro operations to fetch the instruction from main memory to evaluate the effective address, to execute the operation specified by the instruction, and to return control to the fetch phase in order to repeat the cycle for the next instruction. The general configuration of a micro programmed control unit is demonstrated in the block diagram shown below: Next address generator "sequencer" Control address register Control memory "Rom" Next address information Fig 1 ( Micro programming Control Organization) Control data register Lecture 1 The control memory is assumed to be a ROM, within which all control information is permanently stored. The control memory address register holds the micro instruction, and the control data register holds the micro instruction read from memory. The micro instruction contains a control word that specifies one or more micro operations for the data processor, once these operations are executed, the control must determine the next address. The location of the next instruction may be the one next in sequence, or it may be located somewhere else in control memory, while the micro operations are being executed, the next address is computed in the next address generator circuit and then transferred in the control address register to read the next micro instruction. Thus the micro instruction contains bits for initiating micro operation in the data processor part and bits that determine the address sequence for the control memory. Sequencer The next address generator is sometimes called a micro program sequencer, as it determines the address sequence that is read from control memory. Pipeline register The data register is sometimes called “pipeline", it allows the execution of the micro operations specifies by the control word simultaneously with the generation of the next micro instruction.