4. MICROPROGRAMMED COMPUTERS

Size: px
Start display at page:

Download "4. MICROPROGRAMMED COMPUTERS"

Transcription

1 Structure of Computer Systems Laboratory No MICROPROGRAMMED COMPUTERS This laboratory work presents the principle of microprogrammed computers and an example of microprogrammed architecture, in two variants: the first uses horizontal microprogramming, and the second uses vertical microprogramming. The aim is to exemplify how to choose the format of microinstructions, to follow their execution, and to implement simple transfer, arithmetic and logical instructions with the microinstructions presented. 4.1 Principle of Microprogrammed Computers Introduction Microprogrammed computers are characterized by the fact that the control signals are combined in control words, each bit of a word representing a control signal. The succession of the control words which indicate the correct sequence of elementary operations (micro-operations) that should be executed for each instruction is stored in a control memory. Each control word in the control memory represents a microinstruction, and it executes one or more micro-operations. The sequence of microinstructions form a microprogram. The main difference between a computer with hardwired control unit and one with microprogrammed control unit consists in the way in which the control unit passes from a state to another in order to generate the control signals: In a hardwired unit, a state corresponds to a phase, characterized by the activation of a phase signal. In a phase, certain control signals are generated that are required to execute an instruction. In a microprogrammed unit, a state corresponds to a microinstruction, which encodes the micro-operations that should be executed during the same clock cycle. To execute an instruction of the computer, a sequence of microinstructions must be executed. A microprogrammed control unit has two main functions: The control function, which defines the micro-operations that should be executed. This definition usually comprises the selection of the operands, selection of the operation to be executed, selection of the destination for a result, etc. The sequencing function, which defines the address of the next microinstruction to be executed. This definition refers to identifying the source for the next address, controlling the test conditions, or generating the address value directly Horizontal and Vertical Microprogramming In horizontal microprogramming, a microinstruction contains the following main fields (Figure 4.1):

2 2 Structure of Computer Systems Laboratory No. 4 Figure 4.1 General format of a horizontal microinstruction. One or more control-signal fields, which activate the control signals of the circuits; The address field, which contains the address of the next microinstruction that will be executed if a certain condition is true. If this condition is false, the next microinstruction from the control memory will be executed. The condition field, which selects the next microinstruction that will be executed. There is one bit for each internal CPU control signal, and one bit for each system bus control signal. The condition field indicates the condition in which a branch is executed in the microprogram, and the address field contains the address of the next microinstruction to be executed when a branch is taken. Such a microinstruction is interpreted as follows: 1. To execute the microinstruction, all the control signals indicated by a bit of 1 in the controlsignal field are activated, and all the control signals indicated by a bit of 0 are deactivated. The activated control signals will determine the execution of one or more micro-operations. 2. If the condition indicated by the condition field is false, the next microinstruction in the microprogram is executed. 3. If the condition indicated by the condition field is true, the microinstruction indicated by the address field is executed. The horizontal microprogramming is also called hardware microprogramming. In this case, the length of the microinstructions is high, and they control many hardware resources operating in parallel. To each resource of the computer a field or bit is assigned, by which the resource is controlled. The meanings of the microinstruction fields do not depend on the meanings of other fields. None of the fields can have two or more different meanings for identical values contained by that field. The disadvantage of horizontal microprogramming is that the bits of the microprogram word cannot be used efficiently. Not all microinstructions allocate useful meanings to all the available fields. A microprogram word with fewer bits can be designed, so that the meanings of the bits will depend on the particular microinstruction. At one extreme, a microprogram word with only two fields can be obtained: the first field contains a code which indicates the meaning of the second field. This type of microprogramming is called vertical microprogramming. All the resources of the computer are controlled by the same field at different times, indicated by the code field. The structure of a computer using vertical microprogramming may be simple, but the speed of execution reduces proportionally with the number of distinct meanings of the code field in the microinstruction. The vertical microinstructions execute simple operations, such as: load, store, add, branch. This type of microinstructions are similar to the machine-language instructions, which contain an opcode and one or more operands; this is the reason why vertical microprogramming is also called software microprogramming. In practice, diagonal microinstructions are used, which combine the characteristics of horizontal and vertical microinstructions: they have an enhanced capability to simultaneously control the hardware resources of the computer, and, in the same time, they are easy to understand and to implement.

3 Structure of Computer Systems Laboratory No. 4 3 The length of a microinstruction depends not only on its type (horizontal or vertical), but also on the encoding degree. The simplest microinstruction is not encoded at all, so that a control signal is assigned to each bit. This solution offers the maximum flexibility, because changing a microprogram only requires to change the contents of the control memory. The encoding on groups implies to combine in different fields the bits that control the mutually exclusive resources of the computer. To each field a decoder is attached. At the other extreme, the microinstruction could be completely encoded. This solution requires a minimum number of bits for the microinstruction word, but the flexibility offered is also minimal Structure of a Microprogrammed Control Unit Figure 4.2 presents the main elements of a microprogrammed control unit. Figure 4.2. Block diagram of a microprogrammed control unit. The microinstructions are stored in the control memory. The control address register contains the address of the next microinstruction to be read. When a microinstruction is read from the control memory, it is transferred to the control buffer register. This register activates the control signals. Reading a microinstruction from the control memory has the effect of executing that microinstruction. The sequencing logic loads the control address register and activates the read signal. Compared to a hardwired control unit, the microprogrammed control unit has the same inputs (instruction register, ALU flags, clock signal) and outputs (control signals). The control unit operates as follows: 1. To execute an instruction, the sequencing logic activates the READ signal for the control memory. 2. The word whose address is specified in the control address register is read into the control buffer register.

4 4 Structure of Computer Systems Laboratory No The contents of the control buffer register activate the control signals and generate nextaddress information for the sequencing logic. 4. The sequencing logic loads a new address into the control address register based on the nextaddress information from the control buffer register and the ALU flags. Figure 4.2 shows two decoders. The first decoder translates the opcode in the instruction register into a control memory address. The second decoder is not used for horizontal microinstructions, but it is used for vertical microinstructions. This decoder translates the code which indicates the action to be performed by the microinstruction into individual control signals. The control memory may be a ROM or a RAM. In the latter case, the contents of this memory may be changed under the control of the microprogram, resulting in a dynamic microprogramming. A structure of this type is usually called Writable Control Store and allows the user to load its own microprograms in order to extend the existing instruction set. Some structures have a mixed configuration, and contain both a ROM and a RAM. Part of the microinstructions are fixed, and others are temporarily stored in RAM. If a certain instruction must be executed and its associated microprogram is not found in RAM, this microprogram has to be loaded into a free area in memory. In this case, a possibility must exist to load the microprogram at any memory address. The branch addresses in such a microprogram should be relative rather than absolute. The main advantage of using the microprogramming to implement a control unit is that it simplifies the design of the control unit. A hardwired control unit must contain complex logic for sequencing micro-operations of the instruction cycle. On the other hand, the decoders and sequencing logic used in a microprogrammed control unit are very simple. The main disadvantage of microprogrammed control units is that they are slower than the hardwired units of comparable technology. Usually, a microinstruction is executed in two clock cycles, required to read the microinstruction and to activate the control signals. In a computer with hardwired control unit, each micro-operation is executed in one clock cycle. There are several solutions to increase speed, such as the following: Using a control memory with a reduced access time; Overlapping execution of the current microinstruction with loading of the next microinstruction from the control memory; Reducing the number of microinstructions by executing several concurrent operations during a microinstruction cycle; Combining microprogramming with hardwired control, so that each microinstruction will generate a control sequence for several micro-operation cycles Example of Computer with Horizontal Microprogramming Datapath Structure The microarchitecture presented as example (Figure 4.3) contains 16 registers. At the instruction (macroinstruction) level the following registers are accessible: PC AC SP Program Counter; Accumulator register; Stack Pointer. The other registers are only accessible at the microprogramming level. These registers are the following: IR Instruction Register; TIR Temporary Instruction Register; 0, +1, -1 Registers that store the constants 0, +1, and 1, respectively;

5 Structure of Computer Systems Laboratory No. 4 5 AMASK, BMASK Registers that store masks used to extract the various fields from the instruction word; A, B,..., F Registers with no specific functions. Each register may place their contents onto the A and B buses, and each register may be loaded from the C bus. The A and B buses are connected to the inputs of the ALU, which may perform the following functions: A + B; A AND B; A; NOT A. The ALU function is selected by the F 0 and F 1 signals. The ALU generates two condition flags: N (Negative) and Z (Zero). Figure 4.3. Example of microarchitecture. The ALU output is connected to the shifter, which can shift to the right or to the left with one position. It is possible to shift a register R to the left with two positions by computing the sum R+R and

6 6 Structure of Computer Systems Laboratory No. 4 shifting the sum to the left with one position. The function of the shifter is selected by the S 0 and S 1 signals. The A and B buses are connected to the ALU through two latches, LA and LB. These latches are needed because the ALU is a combinational circuit that calculates continuously the output for the current inputs and the selected function. This organization can cause problems for instructions such as A := A+B. After storing the result in A, the value on the A bus changes, which determines the output of the ALU and the value on the C bus to change also. Consequently, the erroneous value may be stored in A. By inserting latches on the A and B buses, they will store the initial values A and B, so that the ALU is protected from the changes on the buses when a new value is stored in a register. The load of LA and LB latches is controlled by the L 0 and L 1 signals, respectively. For communication with the memory, the microarchitecture contains two registers: MAR (Memory Address Register) and MBR (Memory Buffer Register). MAR can be loaded from LB, in parallel with an ALU operation; this loading is enabled by the M 0 signal. MBR can be loaded with the output of the shifter in parallel with, or in place of, storing the result in a register; the enable signal is M 1. Writing into memory from MBR is enabled by the M 2 signal, and reading from memory in MBR is enabled by the M 3 signal. The data read from memory may be applied to the left input of the ALU through the AMUX multiplexer. The A 0 signal determines whether LA or MBR is applied to the input of ALU Microinstruction Format To establish the format of horizontal microinstructions, first all the signals needed to control the datapath must be determined. These signals can be divided into the following functional groups (the number of signals in each group is shown): 16 Load of bus A; 16 Load of bus B; 16 Load registers from bus C; 2 Control of latches LA and LB (L 0, L 1 ); 1 Control of AMUX (A 0 ); 2 Control of ALU function (F 0, F 1 ); 2 Control of shifter (S 0, S 1 ); 4 Control of MAR and MBR (M 0, M 1, M 2, M 3 ); 2 Read and write from / to memory (RD, WR). As an initial solution, a 61-bit control register may be used, with one bit for each control signal. The number of bits needed to control the datapath may be reduced with the cost of increasing the number of circuits. The control information for bus A may be encoded on 4 bits, using a decoder to generate the 16 control signals. The control information for bus B may be encoded similarly. For bus C, it is possible to store a value in several registers, but this feature is not useful in practice. Therefore, the control information for bus C may also be encoded. The number of signals reduces with 3 12 = 36, so that 25 signals will be needed. The L 0 and L 1 signals may be replaced with the clock signal, since these signals are always needed. Then the number of signals would be 23. An extra signal that may be useful is a signal that enables or disables to store the contents of bus C into the registers. In some circumstances, it is desirable to perform an ALU operation in order to set the status flags N and Z, without storing the result of the operation. This signal is denoted by ENC (ENable C). The number of control signals is now 24. The RD signal may be used to control the load of MBR from the system bus (instead of the M 3 signal), and the WR signal may be used to control the transfer of MBR to the system bus (instead of the M 2 signal). This observation reduces the number of independent signals to 22. Figure 4.4 shows a possible microinstruction format, which contains two additional fields: COND and ADDR. The microinstruction contains the following 13 fields: AMUX Control the left input of the ALU: 0 = LA; 1 = MBR.

7 Structure of Computer Systems Laboratory No. 4 7 COND Branch condition: 00 = no branch; 01 = branch if N = 1; 10 = branch if Z = 1; 11 = unconditional branch. ALU ALU function: 00 = A+B; 01 = A AND B; 10 = A; 11 = NOT A. SH Shifter function: 00 = no shift; 01 = shift right; 10 = shift left. MBR Load MBR from the shifter: 0 = no load; 1 = load. MAR Load MAR from LB: 0 = no load; 1 = load. RD Memory read: 0 = no read; 1 = load MBR from memory. WR Memory write: 0 = no write; 1 = write MBR into memory. ENC Control the store of results in registers: 0 = no store; 1 = store. C Select the destination register, if ENC = 1: 0000 = PC, 0001 = AC, 0010 = SP etc. B Select the source for bus B: 0000 = PC, 0001 = AC, 0010 = SP etc. A Select the source for bus A: 0000 = PC, 0001 = AC, 0010 = SP etc. ADDR Branch address (0-255). Figure 4.4. Format of horizontal microinstructions Microinstruction Sequencing A basic ALU cycle consists of loading the LA and LB latches, performing the operation by the ALU and the shifter, and storing the result. For a correct sequencing of the operations, a clock with 4 phases (sub-cycles) is used. The operations in each phase are the following: 1. The next microinstruction to be executed is loaded into the control buffer register. 2. The contents of the source registers are placed onto the A and B buses and these contents are stored into LA and LB. 3. When the inputs are stable, the ALU and the shifter generate a stable output and MAR is loaded, if it is required. 4. When the shifter s output is stable, the contents of the C bus are stored into the destination register and MBR is loaded, if these operations are required. A control section is added to the datapath. The detailed block diagram is shown in Figure 4.5. The control memory CM is a fast memory that stores the microinstructions. The microinstructions are 32-bit wide, and the addressing space is 256 words. The control address register is MPC (Micro Program Counter), and the control buffer register is the microinstruction register MIR. In phase 1 the microinstruction register MIR is loaded from the control memory. In phase 2 the contents of MIR are stable, and its various fields control the datapath. The DEC A and DEC B decoders perform a 4:16 decoding of each field, to control the signals that enable the outputs of registers. In the same phase, the clock signal activates the LA and LB latches, and supplies stable inputs for the ALU. While the data are placed onto the A and B buses, the MPC is incremented to generate the address of the next microinstruction. In phase 3 the ALU and the shifter generate stable results. Although the ALU is a combinational circuit, the time needed to generate the result is determined by the carry propagation time, and not by the gate delays. In phase 4 the contents of the C bus may be stored into the working registers and into MBR. The DEC C decoder has as input the ENC field, the fourth line of the clock generator and the C field, generating 16 control signals. A register is loaded if the following conditions are met: ENC = 1; The current phase is 4;

8 8 Structure of Computer Systems Laboratory No. 4 The register is selected by the C field. The MBR is also loaded in phase 4 if the MBR field is 1. Figure 4.5. Detailed block diagram of the architecture that uses horizontal microprogramming. A mechanism is needed to allow conditional branches. For this reason, two fields are present in each microinstruction: ADDR, which is the address for the potential successor of the current microinstruction, and COND, which determines whether the next microinstruction is loaded from the microprogram counter MPC or from the ADDR field. Each microinstruction contains a potential branch, because branches are frequently used in microprograms. By allowing each microinstruction to have two potential successors, the execution speed is increased. The selection of the next microinstruction is performed by the microsequencer circuit (MS) during phase 4, when the N and Z status flags of the ALU are valid. The MS circuit combines the N and Z flags with the two bits of the COND field in order to generate an output signal. The output of the MS circuit controls the MMUX multiplexer. Access to memory requires a considerably longer time than the time required to execute a single microinstruction. For the example to be more realistic, we assume that if a microinstruction begins a memory read operation by activating the RD signal, this signal must also be active during the next microinstruction executed. Data becomes available after two microinstructions from the moment when the read operation is initiated.

9 Structure of Computer Systems Laboratory No The Microassembly Language To write microprograms, a symbolic language is needed. A possible notation is to specify a microinstruction in each line, by indicating each field that contains a non-zero value. For example, to add the AC and A registers and to store the result into the AC register, we may write: ENC = 1, C = 1, B = 1, A = 11 Another possibility is to use a notation in the style of a high-level language. In the microprogramming language chosen, named MAL, notations similar to the Pascal language are used. Storing a value into a register is denoted by an assignment instruction. The previous example becomes: ac := ac + a; To indicate the operation performed by the ALU, we may write: ac := ac + a; a := band (ir, amask); ac := a; a := inv (a); {add} {logical AND} {identical function} {logical NOT} The shift operations are denoted by the lshift and rshift functions, for example, tir := lshift (tir + tir); Unconditional branches are indicated by the goto instruction. Conditional branches may test the N or Z flag, for example: if n then goto 15; The assignments and branches can be combined in the same line. In order to test a register without storing it into another register, we introduce the alu pseudo-variable. To this pseudo-variable a value may be assigned, that is applied to one of the inputs of the ALU, for example: alu := tir; if n then goto 40; The TIR is passed unchanged through the ALU by selecting the identical function, so that the most significant bit may be tested. Using the alu variable implies ENC = 0. The memory read and write operations are indicated by rd and wr, respectively. The order of the different parts of the source lines is arbitrary. Each line is labeled with the memory address. Table 4.1 presents examples of horizontal microinstructions in the microassembly language MAL. The contents of the microinstruction fields are also indicated. Table 4.1. Examples of horizontal microinstructions in the MAL language. Microinstruction A M U X C O N D U A L S H M B R M A R R D W R E N C C B A mar:=pc; rd; rd; ir:=mbr; pc:=pc+1; mar:=ir; mbr:=ac; wr; alu:=tir; if n then goto 9; ac:=inv(mbr); tir:=lshift(tir); if n then goto 25; alu:=ac; if z then goto 22; ac:=band(ir,amask); goto 0; tir:=lshift(ir+ir); if n then goto 30; A D D R

10 10 Structure of Computer Systems Laboratory No Example of Computer with Vertical Microprogramming To clarify the difference between horizontal and vertical microprogramming, we redesign the microarchitecture in order to use vertical microinstructions Vertical Microinstructions Vertical microinstructions will contain three fields of 4 bits each. The first field, denoted by OP, contains the operation code. The other two fields are denoted by R1 and R2, and they specify two registers. The R1 field controls both the A and C buses. For branch microinstructions, the R1 and R2 fields are combined to form a single 8-bit field, denoted by R. Each vertical microinstruction performs a single function. Different microinstructions are needed for the ALU operations, memory read and write, branches, since the fields that control these functions are no longer present. The list of the vertical microinstructions is presented in Table 4.2. Table 4.2. The list of vertical microinstructions. Opcode Mnemonics Meaning Operations 0000 ADD Add r1:=r1+r AND Logical AND r1:=r1 AND r MOVE Transfer between registers r1:=r COMPL Logical NOT r1:=inv(r2) 0100 LSHIFT Shift left r1:=lshift(r2) 0101 RSHIFT Shift right r1:=rshift(r2) 0110 STMBR Store MBR into a register r1:=mbr 0111 TEST Test register if r1<0 then n:=1, if r1=0 then z:= BEGRD Begin read mar:=r1; rd 1001 BEGWR Begin write mar:=r1; mbr:=r2; wr 1010 CONRD Continue read rd 1011 CONWR Continue write wr 1100 JUMPN Jump if N = 1 if n then goto r 1101 JUMPZ Jump if Z = 1 if z then goto r 1110 JUMP Unconditioned jump goto r Structure of the Control Section The datapath is identical to that of the architecture with horizontal microprogramming. The structure of the control section is modified (Figure 4.6). Most of the control section is the same. The control memory and the microinstruction register MIR contain 12-bit words. The 4:16 decoders DEC R1 and DEC R2 for the R1 and R2 fields are similar to that for the A, B, and C fields of the horizontal microinstructions. The main differences are represented by the circuits denoted by AND, NZ, and DEC OP. The AND circuit is required because the R1 field now controls both the A and C buses. The A bus is loaded during phase 2, but the registers may be loaded from the C bus only when the contents of the LA and LB latches are stable, in phase 3. The logical AND function is performed between the 16 signals decoded by the DEC R1 circuit, the clock signal of phase 4, and a signal from the DEC OP circuit, signal that is equivalent to the former signal ENC. The result is that the 16 signals which enable loading the data into the registers are activated in the same conditions as when horizontal microinstructions were used.

11 Structure of Computer Systems Laboratory No Figure 4.6. Detailed block diagram of the architecture that uses vertical microprogramming. NZ is a 2-bit register used to store the N and Z flags of the ALU. Storing these flags is required because the ALU will perform the operation during a microinstruction, but the status flags will be tested only during the next microinstruction. Since ALU does not contain internal storage, and the status flags are updated after each new operation of the ALU, the value of the flags may be lost if they are not stored. The DEC OP circuit has as inputs the 4 bits of the OP field, and generates 13 distinct signals that control the AND circuit, the microsequencer circuit MS, the NZ circuit, the AMUX multiplexer, the ALU, the shifter SH, the MAR and MBR registers. The DEC OP circuit also generates the RD and WR signals. For each microinstruction, we must determine which of the 13 control signals are active. There are two signals to control the ALU, the shifter and the microsequencer, which are denoted with the indexes 0 and 1. The values of the signals generated by the DEC OP circuit for each microinstruction are presented in Table 4.3. For example, microinstructions ADD, AND, MOVE and COMPL use the add function, the logical AND function, the identical function, and the logical NOT function of the ALU. The ALU function is selected by the ALU 1 and ALU 0 signals. As an example, the BEGRD microinstruction uses the identical function of the ALU, loads the MAR and activates the RD signal. In order to have a compatibility between the two microsequencer circuits used for the two variants of the microarchitecture, the MS 1 and MS 0 signals have to be 00 for the case when there is no jump, 01 for a jump conditioned by the N flag (JUMPN), 10 for a jump conditioned by the Z flag (JUMPZ), and 11 for an unconditioned jump (JUMP).

12 12 Structure of Computer Systems Laboratory No. 4 Table 4.3. The control signals generated by the DEC OP circuit. Opcode Mnemonics ALU 1 ALU 0 SH 1 SH 0 NZ AMUX AND MAR MBR RD WR MS 1 MS ADD AND MOVE COMPL LSHIFT RSHIFT STMBR TEST BEGRD BEGWR CONRD CONWR JUMPN JUMPZ JUMP For writing microprograms using vertical microinstructions, either a notation typical for an assembly language or a language similar to MAL may be used. Note that the MAL instruction of the form alu:=register uses the TEST microinstruction to set the N and Z flags Applications Run the simulator for the architecture that uses horizontal microprogramming (MICRO.EXE). Follow the execution of a sequence of horizontal microinstructions Suppose that the microarchitecture with horizontal microinstructions is part of the didactic computer from Laboratory No. 1. Implement various instructions of the didactic computer using the existing horizontal microinstructions Choose a minimal instruction set of the didactic computer and encode the instructions of this set. Write the microprogram which decodes the instructions from the chosen set, using horizontal microinstructions Extend the instruction set of the didactic computer with a multiply instruction and a divide instruction. Write the microinstruction sequences which implement these instructions Rewrite the sequences that implement the instructions of the didactic computer using vertical microinstructions.

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Chapter 20 - Microprogrammed Control (9 th edition)

Chapter 20 - Microprogrammed Control (9 th edition) Chapter 20 - Microprogrammed Control (9 th edition) Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 20 - Microprogrammed Control 1 / 47 Table of Contents I 1 Motivation 2 Basic Concepts

More information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control, UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING

More information

Micro-Operations. execution of a sequence of steps, i.e., cycles

Micro-Operations. execution of a sequence of steps, i.e., cycles Micro-Operations Instruction execution execution of a sequence of steps, i.e., cycles Fetch, Indirect, Execute & Interrupt cycles Cycle - a sequence of micro-operations Micro-operations data transfer between

More information

Chapter 16. Control Unit Operation. Yonsei University

Chapter 16. Control Unit Operation. Yonsei University Chapter 16 Control Unit Operation Contents Micro-Operation Control of the Processor Hardwired Implementation 16-2 Micro-Operations Micro-Operations Micro refers to the fact that each step is very simple

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

Chapter 3 : Control Unit

Chapter 3 : Control Unit 3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

Micro-programmed Control Ch 15

Micro-programmed Control Ch 15 Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of

More information

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4) Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Machine Instructions vs. Micro-instructions Memory execution unit CPU control memory

More information

Micro-programmed Control Ch 15

Micro-programmed Control Ch 15 Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of

More information

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 16 Control Unit Operations Rev. 3.2 (2009-10) by Enrico Nardelli 16-1 Execution of the Instruction Cycle It has many elementary phases,

More information

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2 Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats

More information

Chapter 17. Microprogrammed Control. Yonsei University

Chapter 17. Microprogrammed Control. Yonsei University Chapter 17 Microprogrammed Control Contents Basic Concepts Microinstruction Sequencing Microinstruction Execution TI 8800 Applications of Microprogramming 17-2 Introduction Basic Concepts An alternative

More information

Micro-programmed Control Ch 17

Micro-programmed Control Ch 17 Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to

More information

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary Hardwired Control (4) Complex Fast Difficult to design Difficult to modify

More information

Processing Unit CS206T

Processing Unit CS206T Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct

More information

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory? 446 CHAPTER 7 BASIC PROCESSING UNIT (Corrisponde al cap. 10 - Struttura del processore) PROBLEMS 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

More information

Controller Implementation--Part II

Controller Implementation--Part II Controller Implementation--Part II Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time-State: Divide and Conquer Jump counters Microprogramming (ROM)

More information

CONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified:

CONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified: CONTROL UNIT CONTROL UNIT of the Microprocessor Two main operations of Control Unit can be identified: Instruction sequencing - the methods by which instructions are selected for execution or, the manner

More information

MICROPROGRAMMED CONTROL

MICROPROGRAMMED CONTROL MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed

More information

Blog - https://anilkumarprathipati.wordpress.com/

Blog - https://anilkumarprathipati.wordpress.com/ Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

Advanced Computer Architecture

Advanced Computer Architecture Advanced Computer Architecture Lecture No. 22 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 5 Computer Systems Design and Architecture 5.3 Summary Microprogramming Working of a General Microcoded

More information

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers Part (6) CPU BASICS A typical CPU has three major components: 1- register set, 2- arithmetic logic unit (ALU), 3- control unit (CU). The figure below shows the internal structure of the CPU. The CPU fetches

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Computer Architecture Programming the Basic Computer

Computer Architecture Programming the Basic Computer 4. The Execution of the EXCHANGE Instruction The EXCHANGE routine reads the operand from the effective address and places it in DR. The contents of DR and AC are interchanged in the third microinstruction.

More information

Control Unit Implementation

Control Unit Implementation Control Unit Implementation Moore Machine Implementation Reset RES PC IF PC MAR, PC + PC Note capture of MBR in these states IF Wait/ IF2 Wait/ Wait/ MAR Mem, Read/Write, Request, Mem MBR Wait/ IF3 Wait/

More information

Register Transfer and Micro-operations

Register Transfer and Micro-operations Register Transfer Language Register Transfer Bus Memory Transfer Micro-operations Some Application of Logic Micro Operations Register Transfer and Micro-operations Learning Objectives After reading this

More information

EECS150. Implement of Processor FSMs

EECS150. Implement of Processor FSMs EECS5 Section Controller Implementations Fall Implement of Processor FSMs Classical Finite State Machine Design Divide and Conquer Approach: Time-State Method Partition FSM into multiple communicating

More information

Part A Questions 1. What is an ISP? ISP stands for Instruction Set Processor. This unit is simply called as processor which executes machine instruction and coordinates the activities of other units..

More information

Chapter 6: Datapath and Control. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V.

Chapter 6: Datapath and Control. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. 6- Principles of Computer Architecture Miles Murdocca and Vincent Heuring 999 M. Murdocca and V. Heuring 6-2 Chapter Contents 6. Basics of the Microarchitecture 6.2 A Microarchitecture for the ARC 6.3

More information

Register-Level Design

Register-Level Design Register-Level Design A digital system can be treated at different level of abstraction or compleity. So far, we have seen it at the gate level and the transistor level. At a higher level than the gate

More information

SCRAM Introduction. Philipp Koehn. 19 February 2018

SCRAM Introduction. Philipp Koehn. 19 February 2018 SCRAM Introduction Philipp Koehn 19 February 2018 This eek 1 Fully work through a computer circuit assembly code Simple but Complete Random Access Machine (SCRAM) every instruction is 8 bit 4 bit for op-code:

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding 4.8 MARIE This is the MARIE architecture shown graphically. Chapter 4 MARIE: An Introduction to a Simple Computer 2 4.8 MARIE MARIE s Full Instruction Set A computer s control unit keeps things synchronized,

More information

The Itanium Bit Microprocessor Report

The Itanium Bit Microprocessor Report The Itanium - 1986 8 Bit Microprocessor Report By PRIYANK JAIN (02010123) Group # 11 Under guidance of Dr. J. K. Deka & Dr. S. B. Nair Department of Computer Science & Engineering Indian Institute of Technology,

More information

Computer Logic II CCE 2010

Computer Logic II CCE 2010 Computer Logic II CCE 2010 Dr. Owen Casha Computer Logic II 1 The Processing Unit Computer Logic II 2 The Processing Unit In its simplest form, a computer has one unit that executes program instructions.

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer Outline Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution. Understand a simple

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

CS Computer Architecture

CS Computer Architecture CS 35101 Computer Architecture Section 600 Dr. Angela Guercio Fall 2010 An Example Implementation In principle, we could describe the control store in binary, 36 bits per word. We will use a simple symbolic

More information

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics Chapter 4 Objectives Learn the components common to every modern computer system. Chapter 4 MARIE: An Introduction to a Simple Computer Be able to explain how each component contributes to program execution.

More information

Topics. Computer Organization CS Exam 2 Review. Infix Notation. Reverse Polish Notation (RPN)

Topics. Computer Organization CS Exam 2 Review. Infix Notation. Reverse Polish Notation (RPN) Computer Organization CS 231-01 Exam 2 Review Dr. William H. Robinson October 11, 2004 http://eecs.vanderbilt.edu/courses/cs231/ Topics Education is a progressive discovery of our own ignorance. Will Durant

More information

Introduction to CPU Design

Introduction to CPU Design ١ Introduction to CPU Design Computer Organization & Assembly Language Programming Dr Adnan Gutub aagutub at uqu.edu.sa [Adapted from slides of Dr. Kip Irvine: Assembly Language for Intel-Based Computers]

More information

Topics. Computer Organization CS Mic-1 Microinstructions. Control Store (ROM) Programming Teams

Topics. Computer Organization CS Mic-1 Microinstructions. Control Store (ROM) Programming Teams Computer Organization CS -0 Mic- Microinstructions Dr. William H. Robinson November, 004 http://eecs.vanderbilt.edu/courses/cs/ Topics There is no one giant step that does it. It's a lot of little steps.

More information

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 16 Micro-programmed Control

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 16 Micro-programmed Control William Stallings Computer Organization and Architecture 8 th Edition Chapter 16 Micro-programmed Control Control Unit Organization Micro-programmed Control Use sequences of instructions (see earlier notes)

More information

Fig: Computer memory with Program, data, and Stack. Blog - NEC (Autonomous) 1

Fig: Computer memory with Program, data, and Stack. Blog -   NEC (Autonomous) 1 Central Processing Unit 1. Stack Organization A useful feature that is included in the CPU of most computers is a stack or last in, first out (LIFO) list. A stack is a storage device that stores information

More information

Chapter 4. MARIE: An Introduction to a Simple Computer

Chapter 4. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

THE MICROPROCESSOR Von Neumann s Architecture Model

THE MICROPROCESSOR Von Neumann s Architecture Model THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit

More information

Example of A Microprogrammed Computer

Example of A Microprogrammed Computer Example of A Microprogrammed omputer The purpose of this example is to demonstrate some of the concepts of microprogramming. We are going to create a simple 16-bit computer that uses three buses A, B,

More information

William Stallings Computer Organization and Architecture 8 th Edition. Micro-programmed Control

William Stallings Computer Organization and Architecture 8 th Edition. Micro-programmed Control William Stallings Computer Organization and Architecture 8 th Edition Chapter 16 Micro-programmed Control Presenters: Andres Borroto Juan Fernandez Laura Verdaguer Control Unit Organization Micro-programmed

More information

Processing Unit. Unit II

Processing Unit. Unit II Processing Unit Unit II Execution of a complete instruction Add (R3), R1 - Adds the contents of a memory location pointed to by R3 to register R1 and store the result in R1. 1. Fetch the instruction 2.

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.

More information

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

UNIT-II. Part-2: CENTRAL PROCESSING UNIT

UNIT-II. Part-2: CENTRAL PROCESSING UNIT Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:

More information

omputer Design Concept adao Nakamura

omputer Design Concept adao Nakamura omputer Design Concept adao Nakamura akamura@archi.is.tohoku.ac.jp akamura@umunhum.stanford.edu 1 1 Pascal s Calculator Leibniz s Calculator Babbage s Calculator Von Neumann Computer Flynn s Classification

More information

Chapter 4. Micro-architecture Level PART I

Chapter 4. Micro-architecture Level PART I Chapter 4 Micro-architecture Level PART I The Data Path Memory Operation Microinstructions Microinstruction Control: The Mic-1 An Example ISA: IJVM Microinstructions and Notation Implementation of IJVM

More information

REGISTER TRANSFER LANGUAGE

REGISTER TRANSFER LANGUAGE REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro

More information

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER OBJECT: EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER To understand the structure and operating instruction of the microprocessor trainer. INTRODUCTION: The MKT 8085 is a single-board microcomputer,

More information

Chapter 14 Design of the Central Processing Unit

Chapter 14 Design of the Central Processing Unit Chapter 14 Design of the Central Processing Unit We now focus on the detailed design of the CPU (Central Processing Unit) of the Boz 7. The CPU has two major components: the Control Unit and the ALU (Arithmetic

More information

Chapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions

Chapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions Chapter 05: Basic Processing Units Control Unit Design Lesson 15: Microinstructions 1 Objective Understand that an instruction implement by sequences of control signals generated by microinstructions in

More information

The Processing Unit. TU-Delft. in1210/01-pds 1

The Processing Unit. TU-Delft. in1210/01-pds 1 The Processing Unit in1210/01-pds 1 Problem instruction? y Decoder a ALU y f Reg in1210/01-pds 2 Basic cycle! Assume an instruction occupies a single word in memory! Basic cycle to be implemented: 1. Fetch

More information

The functional block diagram of 8085A is shown in fig.4.1.

The functional block diagram of 8085A is shown in fig.4.1. Lecture-13 Internal Architecture of Intel 05A The functional block diagram of 05A is shown in fig.4.1. INTA INTR RST7.5 RST5.5 RST6.5 TRAP SOD SID INTERRUPT SERIAL I/O (Internal Bus) FR(S) IR() B() C()

More information

Basics of Microprocessor

Basics of Microprocessor Unit 1 Basics of Microprocessor 1. Microprocessor Microprocessor is a multipurpose programmable integrated device that has computing and decision making capability. This semiconductor IC is manufactured

More information

Basic Processing Unit (Chapter 7)

Basic Processing Unit (Chapter 7) Basic Processing Unit (Chapter 7) IN1212-PDS 1 Problem instruction? y Decoder a ALU y f Reg IN1212-PDS 2 Basic cycle Assume an instruction occupies a single word in memory Basic cycle to be implemented:

More information

A3 Computer Architecture

A3 Computer Architecture A3 Computer Architecture Engineering Science 3rd year A3 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/3co Michaelmas 2000 1 / 1 2: Introduction to the CPU 3A3 Michaelmas

More information

Topic Notes: MIPS Instruction Set Architecture

Topic Notes: MIPS Instruction Set Architecture Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 2011 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture.

More information

Implementing the Control. Simple Questions

Implementing the Control. Simple Questions Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the

More information

1 The ARC processor (data path and control)

1 The ARC processor (data path and control) 1 The ARC processor (data path and control) 1 The ARC processor (data path and control)... 1 1.1 Introduction... 2 1.2 Main part of data path... 2 1.3 Data path... 2 1.4 Controller... 3 1.4.1 Micro instruction

More information

Microprogrammed Control

Microprogrammed Control Microprogrammed Control Chapter 17 Lesson 21 Slide 1/24 From chapter 16 Implementation of the control unit: Hardwired Essentially a combinatorial circuit Microprogrammed An alternative to a hardwired implementation.

More information

Microcontroller Systems

Microcontroller Systems µcontroller systems 1 / 43 Microcontroller Systems Engineering Science 2nd year A2 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/2co Michaelmas 2014 µcontroller

More information

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network Prepared by: Irfan Khan

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network  Prepared by: Irfan Khan Solved Subjective Midterm Papers For Preparation of Midterm Exam Two approaches for control unit. Answer:- (Page 150) Additionally, there are two different approaches to the control unit design; it can

More information

Computer Organization II CMSC 3833 Lecture 33

Computer Organization II CMSC 3833 Lecture 33 Term MARIE Definition Machine Architecture that is Really Intuitive and Easy 4.8.1 The Architecture Figure s Architecture Characteristics: Binary, two s complement Stored program, fixed word length Word

More information

STRUCTURE OF DESKTOP COMPUTERS

STRUCTURE OF DESKTOP COMPUTERS Page no: 1 UNIT 1 STRUCTURE OF DESKTOP COMPUTERS The desktop computers are the computers which are usually found on a home or office desk. They consist of processing unit, storage unit, visual display

More information

CC312: Computer Organization

CC312: Computer Organization CC312: Computer Organization Dr. Ahmed Abou EL-Farag Dr. Marwa El-Shenawy 1 Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer

More information

CPU Design John D. Carpinelli, All Rights Reserved 1

CPU Design John D. Carpinelli, All Rights Reserved 1 CPU Design 1997 John D. Carpinelli, All Rights Reserved 1 Outline Register organization ALU design Stacks Instruction formats and types Addressing modes 1997 John D. Carpinelli, All Rights Reserved 2 We

More information

CPU Structure and Function

CPU Structure and Function CPU Structure and Function Chapter 12 Lesson 17 Slide 1/36 Processor Organization CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data Lesson 17 Slide 2/36 CPU With Systems

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:

More information

JNTUWORLD. 1. Discuss in detail inter processor arbitration logics and procedures with necessary diagrams? [15]

JNTUWORLD. 1. Discuss in detail inter processor arbitration logics and procedures with necessary diagrams? [15] Code No: 09A50402 R09 Set No. 2 1. Discuss in detail inter processor arbitration logics and procedures with necessary diagrams? [15] 2. (a) Discuss asynchronous serial transfer concept? (b) Explain in

More information

Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations.

Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations. CS 320 Ch. 21 Microprogrammed Control Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations. Microprogramming was invented by Maurice

More information

Where Does The Cpu Store The Address Of The

Where Does The Cpu Store The Address Of The Where Does The Cpu Store The Address Of The Next Instruction To Be Fetched The three most important buses are the address, the data, and the control buses. The CPU always knows where to find the next instruction

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Pipelining 11142011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Review I/O Chapter 5 Overview Pipelining Pipelining

More information

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir What Are The Main Differences Between Program Counter Pc And Instruction Register Ir and register-based instructions - Anatomy on a CPU - Program Counter (PC): holds memory address of next instruction

More information

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version:

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version: SISTEMI EMBEDDED Computer Organization Central Processing Unit (CPU) Federico Baronti Last version: 20170516 Processing Unit A processor reads program instructions from the computer s memory and executes

More information

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers

More information

Architecture of 8085 microprocessor

Architecture of 8085 microprocessor Architecture of 8085 microprocessor 8085 consists of various units and each unit performs its own functions. The various units of a microprocessor are listed below Accumulator Arithmetic and logic Unit

More information

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085. (1) Draw and explain the internal architecture of 8085. The architecture of 8085 Microprocessor is shown in figure given below. The internal architecture of 8085 includes following section ALU-Arithmetic

More information

Multicycle conclusion

Multicycle conclusion Multicycle conclusion The last few lectures covered a lot of material! We introduced a multicycle datapath, where different instructions take different numbers of cycles to execute. A multicycle unit is

More information

1. Fundamental Concepts

1. Fundamental Concepts 1. Fundamental Concepts 1.1 What is a computer? A computer is a data processing machine which is operated automatically under the control of a list of instructions (called a program) stored in its main

More information

Page 521 CPSC 5155 Last Revised July 9, 2011 Copyright 2011 by Edward L. Bosworth, Ph.D. All rights reserved.

Page 521 CPSC 5155 Last Revised July 9, 2011 Copyright 2011 by Edward L. Bosworth, Ph.D. All rights reserved. Chapter 15 Implementation of the Central Processing Unit In this chapter, we continue consideration of the design and implementation of the CPU, more specifically the control unit of the CPU. In previous

More information

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 11 CPU Structure and Function Rev. 3.2.1 (2005-06) by Enrico Nardelli 11-1 CPU Functions CPU must: Fetch instructions Decode instructions

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

The Microarchitecture Level

The Microarchitecture Level The Microarchitecture Level Chapter 4 The Data Path (1) The data path of the example microarchitecture used in this chapter. The Data Path (2) Useful combinations of ALU signals and the function performed.

More information

MCQ's on Unit-3 Control Unit

MCQ's on Unit-3 Control Unit * indicates questions for reference only & not included in syllabus Sr.No. Question Option a b c d generates Accepts Stores data input data 1 The Control unit of a computer in the signals to from the memory

More information

CPE 335. Basic MIPS Architecture Part II

CPE 335. Basic MIPS Architecture Part II CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST III Date : 21/11/2017 Max Marks : 40 Subject & Code : Computer Organization (15CS34) Semester : III (A & B) Name of the faculty: Mrs. Sharmila Banu Time : 11.30 am 1.00 pm Answer

More information

Introduction to Computers - Chapter 4

Introduction to Computers - Chapter 4 Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall

More information

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers. Set No. 1 IV B.Tech I Semester Supplementary Examinations, March - 2017 COMPUTER ARCHITECTURE & ORGANIZATION (Common to Electronics & Communication Engineering and Electronics & Time: 3 hours Max. Marks:

More information

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN 6.1. Instruction Codes The organization of a digital computer defined by: 1. The set of registers it contains and their function. 2. The set of instructions

More information