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

Size: px
Start display at page:

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

Transcription

1 The Processing Unit in1210/01-pds 1

2 Problem instruction? y Decoder a ALU y f Reg in1210/01-pds 2

3 Basic cycle! Assume an instruction occupies a single word in memory! Basic cycle to be implemented: 1. Fetch instruction pointed to by PC and put it in Instruction Register (IR) [IR] M([PC]) 2. Increment PC: [PC] [PC] Perform actions as specified in IR in1210/01-pds 3

4 Organization memory bus PC MAR MDR CPU bus Decoder control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 4

5 Register gating Const 4 Y_in Y CPU bus x x Ri_in Select MUX Ri ALU x Z_in x Z Ri_out Z_out x in1210/01-pds 5

6 Operation! Operation cycle includes: - Fetch contents of memory location and put in one of the CPU registers - Store contents of CPU register in memory location - Transfer data from register tot register or to ALU - Perform Arithmetic or Logic operation in1210/01-pds 6

7 Fetch from Memory (1) Memory bus Data lines MDR_outE Internal processor bus MDR_out x x MDR x x MDR_inE MDR_in in1210/01-pds 7

8 Fetch from memory (2) e.g. LHZ Rj,Ri 1. [MAR] [Ri] 2. Start read on memory bus 3. Wait for MFC response 4. Load MDR from memory bus 5. [Rj] [MDR] Memory Address Data CPU Read MFC in1210/01-pds 8

9 Fetch from memory (3) Signal Sequence Activation 1. Ri_out, MAR_in, Read 2. MDR_inE, WMFC 3. MDR_out, Rj_in in1210/01-pds 9

10 CLK Timing of read MAR_in address Read MR MDR_inE Data MFC MDR_out in1210/01-pds 10

11 Store to memory e.g. STW Rj,Ri 1. Ri_out, MAR_in 2. Rj_out, MDR_in, Write 3. MDR_outE, WMFC Memory Address Data Write MFC CPU in1210/01-pds 11

12 Register Transfers CPU bus R_out Y_in F_alu Z_in Y ALU Z R0 R1 R2 R3 register file Z_out Address _out R_in Address _in in1210/01-pds 12

13 Copy of registers! Copy contents R1 to R3 1. Address_out = R1 2. R_out 3. Address_in = R3 4. R _ in in1210/01-pds 13

14 Register Transfers CPU bus R_out Y_in F_alu Z_in Y ALU Z R0 R1 R2 R3 register file Z_out Address _out R_in Address _in in1210/01-pds 14

15 Arithmetic Operation Step Action 1. Address_out R1 Y_in R_out ADD R3,R2,R1 2. Address_out R2 F_alu ADD Z_in 3. Address_in R3 Z_out R_in in1210/01-pds 15

16 Register Transfers CPU bus R_out Y_in F_alu Z_in Y ALU Z R0 R1 R2 R3 register file Z_out Address _out R_in Address _in in1210/01-pds 16

17 Arithmetic Operation Step Action 1. Address_out R1 Y_in R_out ADD R3,R2,R1 2. Address_out R2 F_alu ADD Z_in 3. Address_in R3 Z_out R_in in1210/01-pds 17

18 Register Transfers CPU bus R_out Y_in F_alu Z_in Y ALU Z R0 R1 R2 R3 register file Z_out Address _out R_in Address _in in1210/01-pds 18

19 Arithmetic Operation Step Action 1. Address_out R1 Y_in R_out ADD R3,R2,R1 2. Address_out R2 F_alu ADD Z_in 3. Address_in R3 Z_out R_in in1210/01-pds 19

20 Register Transfers CPU bus R_out Y_in F_alu Z_in Y ALU Z R0 R1 R2 R3 register file Z_out Address _out R_in Address _in in1210/01-pds 20

21 Steps in time Step Y_in Z_in Z_out R_in in1210/01-pds 21

22 Register gating R/W I R/W I R/W I C C C C D C D C D Q Q Q R1_out R2_out R3_out 1 bit of common bus line Tri-state based gate in1210/01-pds 22

23 Timing Rising edge of clock turn output on transmission time delay through ALU set-up time hold time R_ out data available at next register in1210/01-pds 23

24 Complete instruction 1. Fetch instruction 2. Fetch the operand 3. Perform operation 4. Store result! Example ADD (R3),R1 [R1] M([R3]) + [R1] in1210/01-pds 24

25 Execution fetch(1) Step Action 1 PC_out, MAR_in, Read Set carry-in ALU F_alu = ADD Z_in 2 Z_out, PC_in Wait for MFC 3 MDR_out, IR_in Step 1-3: instruction fetch and PC update [PC] [PC ]+1 [IR] M([PC ]) Note: for architectures having PC:=PC+4 a different scheme must be used in1210/01-pds 25

26 Fetch instruction MAR_in MAR PC_in PC IR IR_in ADD Z_in ALU Z PC_out carry MDR MDR_in Read MDR_out WFMC Z_out in1210/01-pds 26

27 Execution fetch(2) Step Action 1 PC_out, MAR_in, Read Set carry-in ALU F_alu = ADD Z_in 2 Z_out, PC_in Wait for MFC Step 1-3: instruction fetch and PC update [PC] [PC ]+1 3 MDR_out, IR_in [IR] M([PC ]) in1210/01-pds 27

28 Fetch instruction MAR_in MAR PC_in PC IR IR_in ADD Z_in ALU Z PC_out carry MDR MDR_in Read MDR_out WFMC Z_out in1210/01-pds 28

29 Execution fetch(3) Step Action 1 PC_out, MAR_in, Read Set carry-in ALU F_alu = ADD Z_in 2 Z_out, PC_in Wait for MFC 3 MDR_out, IR_in Step 1-3: instruction fetch and PC update [PC ] [PC ]+1 [IR] M([PC ]) in1210/01-pds 29

30 Fetch instruction MAR_in MAR PC_in PC IR IR_in ADD Z_in ALU Z PC_out carry MDR MDR_in Read MDR_out WFMC Z_out in1210/01-pds 30

31 Execute Step Action 4 Address_out=R3 MAR_in Read 5 Address_out=R1, R_out Y_in, Wait for MFC 6 MDR_out, Z_in F_alu = ADD 7 Address_in=R1 Z_out, R_in, End Step 4 and 5: operand fetch Perform addition Store Result in1210/01-pds 31

32 Execute Read memory bus PC MAR MDR CPU bus control Decoder IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 32

33 Execute Step Action 4 Address_out=R3 MAR_in Read 5 Address_out=R1, R_out Y_in, Wait for MFC 6 MDR_out, Z_in F_alu = ADD 7 Address_in=R1 Z_out, R_in, End Step 4 and 5: operand fetch Perform addition Store Result in1210/01-pds 33

34 Execute WFMC memory bus PC MAR MDR CPU bus Decoder control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 34

35 Execute Step Action 4 Address_out=R3 MAR_in Read 5 Address_out=R1, R_out Y_in, Wait for MFC 6 MDR_out, Z_in F_alu = ADD 7 Address_in=R1 Z_out, R_in, End Step 4 and 5: operand fetch Perform addition Store Result in1210/01-pds 35

36 Execute memory bus PC MAR MDR CPU bus Decoder control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 36

37 Execute Step Action 4 Address_out=R3 MAR_in Read 5 Address_out=R1, R_out Y_in, Wait for MFC 6 MDR_out, Z_in F_alu = ADD 7 Address_in=R1 Z_out, R_in, End Step 4 and 5: operand fetch Perform addition Store Result in1210/01-pds 37

38 Execute memory bus PC MAR MDR CPU bus Decoder control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 38

39 Branching Step Action 1-3 <instruction fetch as in previous example> 4 PC_out, Y_in 5 Off-set-field-IR_out F_alu = ADD Z_in 6 PC_in Z_out, End in1210/01-pds 39

40 Branching memory bus PC MAR MDR CPU bus Decoder control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 40

41 Branching Step Action 1-3 <instruction fetch as in previous example> 4 PC_out, Y_in 5 Off-set-field-IR_out F_alu = ADD Z_in 6 PC_in Z_out, End in1210/01-pds 41

42 Branching PC CPU bus Decoder memory bus MAR MDR control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 42

43 Branching Step Action 1-3 <instruction fetch as in previous example> 4 PC_out, Y_in 5 Off-set-field-IR_out F_alu = ADD Z_in 6 PC_in Z_out, End in1210/01-pds 43

44 Branching memory bus PC MAR MDR CPU bus Decoder control IR Y R0 R1 ALU Z R2 R3 register file in1210/01-pds 44

45 Conditional branching Step Action 1-3 <instruction fetch as in previous example> 4 PC_out, Y_in If N=0 then End 5 Off-set-field-IR_out F_alu = ADD Z_in 6 PC_in Z_out, End in1210/01-pds 45

46 Control mechanisms! There are two basic control organizations: - Hardwired control - Micro-programmed control in1210/01-pds 46

47 Control Unit Organization Clock CLK Control step counter IR Encoder/ Decoder Status Flags Condition Codes Control signals in1210/01-pds 47

48 Separating decoding/encoding Clock Control step counter Reset IR Instruction decoder Step decoder T_1 T_n Ins_1 Encoder Ins_n Status Flags Condition Codes Run End in1210/01-pds 48

49 Generation of control signals ADD T_6 BR T_5 T_1 Z_in = T_1 + T_6. ADD + T_5. BR Z_in in1210/01-pds 49

50 End signal Other example: End = T_7. ADD + T_6. BR +(T_6. N + T_4. /N). BRN in1210/01-pds 50

51 PLA s PLA AND array OR array IR counter Flags Control signals in1210/01-pds 51

52 Performance! Performance is dependent on: - Power of instructions - Cycle time - Number of cycles per instruction! Performance improvement by: - Multiple datapaths - Instruction prefetching and pipelining - Caches in1210/01-pds 52

53 Multiple datapaths Y R0 R1 R2 ALU R3 register file in1210/01-pds 53

54 Complete CPU Instruction unit Integer unit Floating-point unit Instruction Cache Data Cache Bus Interface CPU Main Memory Input/ Output in1210/01-pds 54

55 Microprogrammed control! All control bits are organized as memory! Each memory location represents a control setting! Memory words are called microinstructions in1210/01-pds 55

56 Example micro- PC_in MAR_in Addr_in Z_in... instruction in1210/01-pds 56

57 Basic organization IR Starting address generator Clock micro-pc Control Store Control Signals in1210/01-pds 57

58 Micro-routine Address Micro-instruction 0 PC_out, MAR_in, Read, Set carry-in ALU, F_alu = ADD, Z_in 1 Z_out, PC_in, Wait for MFC 2 MDR_out, IR_in Fetch Instruction 3 Branch to starting address routine (here 25) PC_out, Y_in, if N=0 then goto address 0 Test N bit 26 Offset-field-of-IR_out, F_alu = ADD, Z_in 27 Z_out, PC_in, End New PC address in1210/01-pds 58

59 Detailed organization IR Starting address generator Status flags Control codes Clock micro-pc Control Store Control Signals in1210/01-pds 59

60 micro-pc! Micro-PC is incremented by 1, except: - At End» Micro-PC is set to first micro-instruction of instruction fetch routine - After loading IR» Micro-PC is set to first micro-instruction for executing machine instruction - At Branch instruction in1210/01-pds 60

61 Why micro-programming! Flexibility - emulation of different instruction sets on same hardware! Support for powerful instructions in1210/01-pds 61

62 Structure micro-instructions! Most simple organization: 1 bit per control signal! However, - Many bits needed (e.g bits) - For many signals only one is needed per cycle; hence they can be grouped - Coding is possible: e.g. an address instead of a single control bit per register in1210/01-pds 62

63 Example F1 F2 F3 F4 F5 F6 F7 F8 Field 1(4 bits): Register address_in Field 2(4 bits): Register address_out Field 3(4 bits): Other registers_in Field 4(4 bits): Function ALU Field 5(2 bit) : Read/Write/Nop Field 6(1 bit) : Carry-in ALU Field 7(1 bit) : WMFC Field 8(1 bit) : End in1210/01-pds 63

64 Forms of organization! Little coding: horizontal organization - Large words - Little decoding logic - Fast! Much coding: vertical organization - Small control store - Much decoding logic - Slower! Mixed organization in1210/01-pds 64

65 Horizontal/Vertical F0 F1 F2 F3 Horizontal R0 R1 R2 R3 F0 F1 Decoder Vertical R0 R1 R2 R3 in1210/01-pds 65

66 Sequencing! Thus far only branch after fetch! No sharing of micro-code between microroutines! micro-subroutines leads to more efficient control store in1210/01-pds 66

67 Multi-way branching! Number of two-way branches - disadvantage: slows down! More than one branch address in microinstruction - disadvantage: more bits required! bit-oring if specified branch address in1210/01-pds 67

68 Example branch address x x x 0 0 micro-instruction x x x x x.. actual branch address OR Part IR in1210/01-pds 68

69 Example microroutine(1) ADD (Rsrc)+, Rdst IR Mode OP code 010 Rsrc Rdst Instruction Format bit 8: direct/indirect bit 9,10: indexed (11) autodecrement(10) autoincrement(01) register(00) in1210/01-pds 69

70 Example microroutine(2) Address Micro-instruction 0 PC_out, MAR_in, Read, Set carry-in ALU, F_alu = ADD, Z_in 1 Z_out, PC_in, Wait FETCH for MFC 2 MDR_out, IR_in 3 µbranch{µpc 101 (from PLA); µpc_5,4 [IR_10,9]; µpc_3 [not.ir_10,].[not.ir_9].[ir_8]} Rsrc_out, MAR_in, Set carry-in ALU,Read, F_alu = ADD, Z_in 122 Z_out, Rscr_in 123 µbranch{µpc 170; µpc_0 [not.ir_8]}, WMFC 170 MDR_out, MAR_in, Read, WMFC 171 MDR_out, Y_in 172 Rdst_out, F_alu = ADD, Z_in 173 Z_out, Rdst_in, End in1210/01-pds 70

71 Micro branch address IR Mode OP code 010 Rsrc Rdst /IR10./IR9.IR8 PLA in1210/01-pds 71

72 Micro branch address IR Mode OP code 010 Rsrc Rdst /IR8 PLA in1210/01-pds 72

73 Next address field(1)! Micro-instruction contains address next micro-instruction! Larger store needed! Branch micro-instructions no longer needed in1210/01-pds 73

74 Next-address field(2) Status flags IR Condition codes Decoding circuits micro-ar Control store Next address micro-ir Microinstruction decoder in1210/01-pds 74

75 Example F0 F1 F2 F3 F4 F5 F6 F7 F8 Field 0(8 bits): Next address Field 1(4 bits): Register address_in Field 2(4 bits): Register address_out Field 3(4 bits): Other registers_in Field 4(4 bits): Function ALU Field 5(2 bit) : Read/Write/Nop Field 6(1 bit) : Carry-in ALU Field 7(1 bit) : WMFC Field 8(1 bit) : End... PLA/ORing etc in1210/01-pds 75

76 Emulation! A micro program determines machine instruction of computer! Suppose we have two computers M1 and M2 with different instruction sets! By adapting the micro-program of M1, we can emulate M2 in1210/01-pds 76

77 Organization! Micro-program is often placed in ROM on CPU chip! Some machines had writable control store, i.e. user could change instruction set in1210/01-pds 77

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

UNIT 3 - Basic Processing Unit

UNIT 3 - Basic Processing Unit UNIT 3 - Basic Processing Unit Overview Instruction Set Processor (ISP) Central Processing Unit (CPU) A typical computing task consists of a series of steps specified by a sequence of machine instructions

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

MC9211Computer Organization. Unit 4 Lesson 1 Processor Design

MC9211Computer Organization. Unit 4 Lesson 1 Processor Design MC92Computer Organization Unit 4 Lesson Processor Design Basic Processing Unit Connection Between the Processor and the Memory Memory MAR PC MDR R Control IR R Processo ALU R n- n general purpose registers

More information

Week 4: Assignment Solutions

Week 4: Assignment Solutions Week 4: Assignment Solutions 1. Which of the following statements are true for horizontal microinstruction encoding? a. If there are kcontrol signals, every control word stored in control memory (CM) consists

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

Lecture 11: Control Unit and Instruction Encoding

Lecture 11: Control Unit and Instruction Encoding CSCI25 Computer Organization Lecture : Control Unit and Instruction Encoding Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 7.4~7.5 (5 th Ed.) Recall: Components of a Processor Register file: a

More information

BASIC PROCESSING UNIT Control Unit has two major functions: To control the sequencing of information-processing tasks performed by machine Guiding and supervising each unit to make sure that each unit

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

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

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

CPU Organization. Hardware design. Vs. Microprogramming

CPU Organization. Hardware design. Vs. Microprogramming CPU Organization Hardware design Vs. Microprogramming CPU Structure CPU must: Fetch instructions ti Interpret instructionsi Fetch data Process data Write data Source: Hamacher; Single-bus ORGN. CPU always

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

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

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

VLSI Project. Phase 1 Documentation GROUP 7

VLSI Project. Phase 1 Documentation GROUP 7 GROUP 7 VLSI Project Phase 1 Documentation Group Members: 1. AbdelRahman Ahmed Amaar. 2. AbdelRahman Fawzy Mohamed. 3. AbdelRahman Nasr El-Shenawy. 4. Ayman Mohamed Abo El-Maaty. 24-Apr-12 Table of Contents

More information

(1) Using a different mapping scheme will reduce which type of cache miss? (1) Which type of cache miss can be reduced by using longer lines?

(1) Using a different mapping scheme will reduce which type of cache miss? (1) Which type of cache miss can be reduced by using longer lines? (1) Give a one-word definition of coherence. (1) Give a one-word definition of consistency. (1) Using a different mapping scheme will reduce which type of cache miss? (1) Which type of cache miss can be

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

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

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

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

Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers.

Very short answer questions. You must use 10 or fewer words. True and False are considered very short answers. Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers. [1] Which is on average more effective, dynamic or static branch prediction? [1] Does

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

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

3. (2 pts) Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished?

3. (2 pts) Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished? . (2 pts) What are the two main ways to define performance? 2. (2 pts) What is Amdahl s law, inwords? 3. (2 pts) Clock rates have grown by a factor of while power consumed has only grown by a factor of

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

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction Control and Control Components Introduction Software application similar to familiar nested Russian dolls As we ve observed earlier Application written in some high level programming language C, C++, C#,

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

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

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

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer.

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer. Lecture 6: I/O and Control I/O operations Control unit Microprogramming Zebo Peng, IDA, LiTH 1 Input/Output Devices Input/output devices provide a means for us to make use of a computer system. Computer

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

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

Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers.

Very short answer questions. You must use 10 or fewer words. True and False are considered very short answers. Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers. [1] Predicting the direction of a branch is not enough. What else is necessary? [1] Which

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

CISC Processor Design

CISC Processor Design CISC Processor Design Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 3 SE-273: Processor Design Processor Architecture Processor Architecture CISC RISC Jan 21, 2008

More information

Computer Architecture Lecture No.10,11

Computer Architecture Lecture No.10,11 8- DATAPATH As mentioned, the CPU can be divided into a data section and a control section. The data section, which is also called the datapath, contains the registers and the ALU. The datapath is capable

More information

Advanced Architecture, Third Class, Computer Science Department, CSW,

Advanced Architecture, Third Class, Computer Science Department, CSW, Done by Mokhtar M. Hasan, Lecturer at the Computer Science Department, College of Science for Women, to fulfill the course subject of Advanced Architecture material. Advanced Architecture, Third Class,

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

4. MICROPROGRAMMED COMPUTERS

4. MICROPROGRAMMED COMPUTERS Structure of Computer Systems Laboratory No. 4 1 4. MICROPROGRAMMED COMPUTERS This laboratory work presents the principle of microprogrammed computers and an example of microprogrammed architecture, in

More information

Processor Organization and Performance

Processor Organization and Performance Processor Organization and Performance Chapter 6 S. Dandamudi Outline Introduction Number of addresses 3-address machines 2-address machines 1-address machines 0-address machines Load/store architecture

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

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due

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

VCOMSATS Learning Management System

VCOMSATS Learning Management System Computer Architecture Handouts FasihurRehman Assistant Professor VCOMSATS Learning Management System 1 Computer Architecture Introduction: This handout provides supporting material of computer architecture

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

Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers.

Very short answer questions. You must use 10 or fewer words. True and False are considered very short answers. Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers. [1] Does peak performance track observed performance? [1] Predicting the direction of

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

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

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

Blog -

Blog - . Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many

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

MARTHANDAM COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY TWO MARK QUESTIONS AND ANSWERS

MARTHANDAM COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY TWO MARK QUESTIONS AND ANSWERS MARTHANDAM COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY TWO MARK QUESTIONS AND ANSWERS SUB NAME: COMPUTER ORGANIZATION AND ARCHITECTTURE SUB CODE: CS 2253 YEAR/SEM:II/IV Marthandam

More information

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC COMPUTER ORGANIZATION AND DESIGN 1 BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete

More information

UNIT I DATA REPRESENTATION, MICRO-OPERATIONS, ORGANIZATION AND DESIGN

UNIT I DATA REPRESENTATION, MICRO-OPERATIONS, ORGANIZATION AND DESIGN UNIT I DATA REPRESENTATION, MICRO-OPERATIONS, ORGANIZATION AND DESIGN Data representation: Data types, complements, fixed point representation, floating-point representation, other binary codes, error

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

b) Write basic performance equation.

b) Write basic performance equation. 1. a) What is use of buffers? Ans: The Buffer Register prevents the high speed processor from being locked to a slow I/O device during a sequence of data transfer or reduces speed mismatch between faster

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

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

More information

Unit 8 - Week 7: Organization and Optimization of Micro-programmed Controlled Control Unit

Unit 8 - Week 7: Organization and Optimization of Micro-programmed Controlled Control Unit X reviewer2@nptel.iitm.ac.in Courses» Computer Organization and Architecture: A Pedagogical Aspect Announcements Course Ask a Question Progress Mentor Unit 8 - Week 7: Organization and Optimization of

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

Microprogramming: Basic Idea

Microprogramming: Basic Idea 5-45 Chapter 5 Processor Design Advanced Topics Microprogramming: Basic Idea Recall control sequence for 1-bus SRC Step Concrete RTN Control Sequence T0 MA PC: C PC + 4; PC out, MA in, INC4, C in, Read

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

SUBROUTINE NESTING AND THE PROCESSOR STACK:-

SUBROUTINE NESTING AND THE PROCESSOR STACK:- SUBROUTINE NESTING AND THE PROCESSOR STACK:- A common programming practice, called subroutine nesting, is to have one subroutine call another. In this case, the return address of the second call is also

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

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

Computer Structure. Unit 4. Processor

Computer Structure. Unit 4. Processor Computer Structure Unit 4. Processor Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contents Computer elements Processor organization

More information

CS 2461: Computer Architecture I

CS 2461: Computer Architecture I Computer Architecture is... CS 2461: Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ Instruction Set Architecture Organization

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

Department of CSE- Mahalakshmi Engineering College Page 1

Department of CSE- Mahalakshmi Engineering College Page 1 SUB NAME: COMPUTER ARCHITECTURE AND ORGANIZATION BRANCH: ECE SUB CODE: EC2303 YEAR/SEM: III / V UNIT-III-CONTROL DESIGN PART-A 1. What are the advantages and disadvantages of hard wired and micro programmed

More information

4. What are basic operations of a computer? The basic operations are READ and WRITE.

4. What are basic operations of a computer? The basic operations are READ and WRITE. UNIT I What are cache memory? The small and fast RAM units are called as caches.when the execution of an instruction calls for data located in the main memory,the data are fetched and a copy is placed

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

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

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng. CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 3: von Neumann Architecture von Neumann Architecture Our goal: understand the basics of von Neumann architecture, including memory, control unit

More information

MICROPROGRAMMED CONTROL:-

MICROPROGRAMMED CONTROL:- MICROPROGRAMMED CONTROL:- Two methods of implementing control unit are Hardwired Control & Micro-Programmed Control. Hardwired: - when the control signals are generated by hardware using conventional logic

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

Basic Computer Organization - Designing your first computer. Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon s slides.

Basic Computer Organization - Designing your first computer. Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon s slides. Basic Computer Organization - Designing your first computer Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon s slides. 1 This week- BASIC COMPUTER ORGANIZATION AND DESIGN Instruction

More information

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design 1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion

More information

CS222: Processor Design

CS222: Processor Design CS222: Processor Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Processor Design building blocks Outline A simple implementation: Single Cycle Data pathandcontrol

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

Computer Organization (Autonomous)

Computer Organization (Autonomous) Computer Organization (Autonomous) UNIT II Sections - A & D Prepared by Anil Kumar Prathipati, Asst. Prof., Dept. of CSE. SYLLABUS Basic Computer Organization and Design: Instruction codes Stored Program

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

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

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC COMPUTER ORGANIZATION AND DESIGN BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete

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

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

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

CC 311- Computer Architecture. The Processor - Control

CC 311- Computer Architecture. The Processor - Control CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor

More information

Generating the Control Unit

Generating the Control Unit CPU design: Lecture 3 The control unit This sequences and controls all the data movement and manipulation that implements the instruction set. Slide 25 Generating the Control Unit We could use random logic

More information

Chapter 4 The Von Neumann Model

Chapter 4 The Von Neumann Model Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atananasoff in 1939?) Hard-wired program

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

COMPUTER STRUCTURE AND ORGANIZATION

COMPUTER STRUCTURE AND ORGANIZATION COMPUTER STRUCTURE AND ORGANIZATION Course titular: DUMITRAŞCU Eugen Chapter 4 COMPUTER ORGANIZATION FUNDAMENTAL CONCEPTS CONTENT The scheme of 5 units von Neumann principles Functioning of a von Neumann

More information

Q.2 a. What are basic operational concepts? Explain. (6)

Q.2 a. What are basic operational concepts? Explain. (6) Q.2 a. What are basic operational concepts? Explain. (6) Basic operational concepts-to perform a given task an appropriate program consisting of a list of instructions is stored in the memory. Individual

More information

Chapter 4 Topics. Comp. Sys. Design & Architecture 2 nd Edition Prentice Hall, Mark Franklin,S06

Chapter 4 Topics. Comp. Sys. Design & Architecture 2 nd Edition Prentice Hall, Mark Franklin,S06 Chapter 4 Topics The Design Process A 1-bus Microarchitecture for SRC Data Path Implementation Logic Design for the 1-bus SRC The Control Unit The 2- and 3-bus Processor Designs The Machine Reset Process

More information

UNIT:2 BASIC COMPUTER ORGANIZATION AND DESIGN

UNIT:2 BASIC COMPUTER ORGANIZATION AND DESIGN 1 UNIT:2 BASIC COMPUTER ORGANIZATION AND DESIGN BASIC COMPUTER ORGANIZATION AND DESIGN 2.1 Instruction Codes 2.2 Computer Registers AC or Accumulator, Data Register or DR, the AR or Address Register, program

More information

The Processor: Datapath & Control

The Processor: Datapath & Control Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:

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

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle CS 224: Computer Organization S.KHABET CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions

More information