Control Unit Operation
Micro-Operations
• A computer executes a program
• Fetch/execute cycle
• Each cycle has a number of steps
• see pipelining
• Called micro-operations
• Each step does very little
• Atomic operation of CPU
Constituent Elements of
Program Execution
Fetch - 4 Registers
• Memory Address Register (MAR)
• Connected to address bus
• Specifies address for read or write op
• Memory Buffer Register (MBR)
• Connected to data bus
• Holds data to write or last data read
• Program Counter (PC)
• Holds address of next instruction to be fetched
• Instruction Register (IR)
• Holds last instruction fetched
Fetch Sequence
• Address of next instruction is in PC
• Address (MAR) is placed on address bus
• Control unit issues READ command
• Result (data from memory) appears on data bus
• Data from data bus copied into MBR
• PC incremented by 1 (in parallel with data fetch from memory)
• Data (instruction) moved from MBR to IR
• MBR is now free for further data fetches
Fetch Sequence (symbolic)
• t1: MAR <- (PC)
• t2: MBR <- (memory)
• PC <- (PC) +1
• t3: IR <- (MBR)
• (tx = time unit/clock cycle)
• or
• t1: MAR <- (PC)
• t2: MBR <- (memory)
• t3: PC <- (PC) +1
• IR <- (MBR)
Rules for Clock Cycle Grouping
• Proper sequence must be followed
• MAR <- (PC) must precede MBR <- (memory)
• Conflicts must be avoided
• Must not read & write same register at same time
• MBR <- (memory) & IR <- (MBR) must not be in same cycle
• Also: PC <- (PC) +1 involves addition
• Use ALU
• May need additional micro-operations
Indirect Cycle
• MAR <- (IRaddress) - address field of IR
• MBR <- (memory)
• IRaddress <- (MBRaddress)
• MBR contains an address
• IR is now in same state as if direct addressing had been used
• (What does this say about IR size?)
Interrupt Cycle
• t1: MBR <-(PC)
• t2: MAR <- save-address
• PC <- routine-address
• t3: memory <- (MBR)
• This is a minimum
• May be additional micro-ops to get addresses
• N.B. saving context is done by interrupt handler routine, not micro-ops
Execute Cycle (ADD)
• Different for each instruction
• e.g. ADD R1,X - add the contents of location X to Register 1 , result in
R1
• t1: MAR <- (IRaddress)
• t2: MBR <- (memory)
• t3: R1 <- R1 + (MBR)
• Note no overlap of micro-operations
Execute Cycle (ISZ)
• ISZ X - increment and skip if zero
• t1: MAR <- (IRaddress)
• t2: MBR <- (memory)
• t3: MBR <- (MBR) + 1
• t4: memory <- (MBR)
• if (MBR) == 0 then PC <- (PC) + 1
• Notes:
• if is a single micro-operation
• Micro-operations done during t4
Execute Cycle (BSA)
• BSA X - Branch and save address
• Address of instruction following BSA is saved in X
• Execution continues from X+1
• t1: MAR <- (IRaddress)
• MBR <- (PC)
• t2: PC <- (IRaddress)
• memory <- (MBR)
• t3: PC <- (PC) + 1
Instruction Cycle
• Each phase decomposed into sequence of elementary micro-
operations
• E.g. fetch, indirect, and interrupt cycles
• Execute cycle
• One sequence of micro-operations for each opcode
• Need to tie sequences together
• Assume new 2-bit register
• Instruction cycle code (ICC) designates which part of cycle processor is in
• 00: Fetch
• 01: Indirect
• 10: Execute
• 11: Interrupt
Flowchart for Instruction Cycle
Functional Requirements
• Define basic elements of processor
• Describe micro-operations processor performs
• Determine functions control unit must perform
Basic Elements of Processor
• ALU
• Registers
• Internal data pahs
• External data paths
• Control Unit
Types of Micro-operation
• Transfer data between registers
• Transfer data from register to external
• Transfer data from external to register
• Perform arithmetic or logical ops
Functions of Control Unit
• Sequencing
• Causing the CPU to step through a series of micro-operations
• Execution
• Causing the performance of each micro-op
• This is done using Control Signals
Control Signals
• Clock
• One micro-instruction (or set of parallel micro-instructions) per clock cycle
• Instruction register
• Op-code for current instruction
• Determines which micro-instructions are performed
• Flags
• State of CPU
• Results of previous operations
• From control bus
• Interrupts
• Acknowledgements
Model of Control Unit
Control Signals - output
• Within CPU
• Cause data movement
• Activate specific functions
• Via control bus
• To memory
• To I/O modules
Example Control Signal Sequence -
Fetch
• MAR <- (PC)
• Control unit activates signal to open gates between PC and MAR
• MBR <- (memory)
• Open gates between MAR and address bus
• Memory read control signal
• Open gates between data bus and MBR
Data Paths and Control Signals
Internal Organization
• Usually a single internal bus
• Gates control movement of data onto and off the bus
• Control signals control data transfer to and from external systems
bus
• Temporary registers needed for proper operation of ALU
CPU with
Internal
Bus
Intel 8085 CPU Block Diagram
Intel 8085 Pin
Configuration
Intel 8085 OUT Instruction
Timing Diagram
Hardwired Implementation (1)
• Control unit inputs
• Flags and control bus
• Each bit means something
• Instruction register
• Op-code causes different control signals for each different instruction
• Unique logic for each op-code
• Decoder takes encoded input and produces single output
• n binary inputs and 2n
outputs
Hardwired Implementation (2)
• Clock
• Repetitive sequence of pulses
• Useful for measuring duration of micro-ops
• Must be long enough to allow signal propagation
• Different control signals at different times within instruction cycle
• Need a counter with different control signals for t1, t2 etc.
Control Unit with Decoded Inputs
Problems With Hard Wired Designs
• Complex sequencing & micro-operation logic
• Difficult to design and test
• Inflexible design
• Difficult to add new instructions

More Related Content

PPTX
Control unit
PPTX
Computer architecture control unit
PPTX
Instruction Formats
PPS
Timing and-control-unit
PPTX
Computer arithmetic
PPTX
Microprogrammed Control Unit
PPT
Pipeline hazard
PDF
Computer organisation -morris mano
Control unit
Computer architecture control unit
Instruction Formats
Timing and-control-unit
Computer arithmetic
Microprogrammed Control Unit
Pipeline hazard
Computer organisation -morris mano

What's hot (20)

PPT
09 arithmetic 2
PDF
Computer Organization Lecture Notes
PPTX
Data transfer and manipulation
PPTX
Register transfer language
PDF
Von Neumann Architecture
PPTX
Basic Computer Organization and Design
PPT
Unicode Fundamentals
PPTX
Arithmetic Logic Unit .
PPTX
Memory organization (Computer architecture)
PPS
Computer instructions
PPT
Chapter 1
PPTX
memory reference instruction
PPTX
Cpu & its execution of instruction
PPTX
Assembly language
PDF
Algorithms Lecture 1: Introduction to Algorithms
PPTX
Floating point representation
PPTX
Processor organization &amp; register organization
PPTX
Instruction Set Architecture
PPT
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
PDF
Displacement addressing
09 arithmetic 2
Computer Organization Lecture Notes
Data transfer and manipulation
Register transfer language
Von Neumann Architecture
Basic Computer Organization and Design
Unicode Fundamentals
Arithmetic Logic Unit .
Memory organization (Computer architecture)
Computer instructions
Chapter 1
memory reference instruction
Cpu & its execution of instruction
Assembly language
Algorithms Lecture 1: Introduction to Algorithms
Floating point representation
Processor organization &amp; register organization
Instruction Set Architecture
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Displacement addressing
Ad

Viewers also liked (7)

PPTX
Task based research and language pedagogy ellis
PPTX
Powerpoint on Software Concept (ClassXI)
PPTX
System Programing Unit 1
PPT
Computer languages
PDF
Computer Fundamentals Chapter 09 io devices
PPTX
INTERRUPTS OF 8086 MICROPROCESSOR
PPT
Assembly Language Programming Of 8085
Task based research and language pedagogy ellis
Powerpoint on Software Concept (ClassXI)
System Programing Unit 1
Computer languages
Computer Fundamentals Chapter 09 io devices
INTERRUPTS OF 8086 MICROPROCESSOR
Assembly Language Programming Of 8085
Ad

Similar to Control unit (20)

PPT
Control unit presentation about CH16.ppt
PPT
16 control unit
PPTX
Micro operation control of processor
PPTX
1.1.2 Processor and primary storage components.pptx
PPTX
Control unit design
PPTX
Intel® hyper threading technology
PPT
Data path of Computer Architecture ALU and other components
PPT
Chapter01 (1).ppt
PPTX
Computer_Organization_and_Architecture.pptx
PPTX
Computer_Organization and architecture _unit 1.pptx
PPTX
Module-2 gitam engineering college PPT.pptx
PPTX
Control unit
PPTX
Chap 3 CA.pptx
PDF
introduction to embedded systems part 1
PDF
Central processing unit i
PPTX
Lecture22_New2024 (1).pptx lecture numbere one h yeh
PPT
MCA-I-COA- overview of register transfer, micro operations and basic computer...
PPT
10 instruction sets characteristics
PPT
Bca 2nd sem-u-2.2-overview of register transfer, micro operations and basic c...
Control unit presentation about CH16.ppt
16 control unit
Micro operation control of processor
1.1.2 Processor and primary storage components.pptx
Control unit design
Intel® hyper threading technology
Data path of Computer Architecture ALU and other components
Chapter01 (1).ppt
Computer_Organization_and_Architecture.pptx
Computer_Organization and architecture _unit 1.pptx
Module-2 gitam engineering college PPT.pptx
Control unit
Chap 3 CA.pptx
introduction to embedded systems part 1
Central processing unit i
Lecture22_New2024 (1).pptx lecture numbere one h yeh
MCA-I-COA- overview of register transfer, micro operations and basic computer...
10 instruction sets characteristics
Bca 2nd sem-u-2.2-overview of register transfer, micro operations and basic c...

More from Syed Zaid Irshad (20)

PDF
Data Structures & Algorithms - Spring 2025.pdf
PDF
Operating System.pdf
PDF
DBMS_Lab_Manual_&_Solution
PPTX
Data Structure and Algorithms.pptx
PPTX
Design and Analysis of Algorithms.pptx
PPTX
Professional Issues in Computing
PDF
Reduce course notes class xi
PDF
Reduce course notes class xii
PDF
Introduction to Database
PDF
C Language
PDF
Flowchart
PDF
Algorithm Pseudo
PDF
Computer Programming
PDF
ICS 2nd Year Book Introduction
PDF
Security, Copyright and the Law
PDF
Computer Architecture
PDF
Data Communication
PDF
Information Networks
PDF
Basic Concept of Information Technology
PDF
Introduction to ICS 1st Year Book
Data Structures & Algorithms - Spring 2025.pdf
Operating System.pdf
DBMS_Lab_Manual_&_Solution
Data Structure and Algorithms.pptx
Design and Analysis of Algorithms.pptx
Professional Issues in Computing
Reduce course notes class xi
Reduce course notes class xii
Introduction to Database
C Language
Flowchart
Algorithm Pseudo
Computer Programming
ICS 2nd Year Book Introduction
Security, Copyright and the Law
Computer Architecture
Data Communication
Information Networks
Basic Concept of Information Technology
Introduction to ICS 1st Year Book

Recently uploaded (20)

PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PPTX
introduction to high performance computing
PDF
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
PPTX
Software Engineering and software moduleing
PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PPTX
Management Information system : MIS-e-Business Systems.pptx
PDF
Abrasive, erosive and cavitation wear.pdf
PPTX
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPTX
CyberSecurity Mobile and Wireless Devices
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
Design Guidelines and solutions for Plastics parts
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PPTX
Amdahl’s law is explained in the above power point presentations
Exploratory_Data_Analysis_Fundamentals.pdf
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
introduction to high performance computing
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
distributed database system" (DDBS) is often used to refer to both the distri...
Software Engineering and software moduleing
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
Management Information system : MIS-e-Business Systems.pptx
Abrasive, erosive and cavitation wear.pdf
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Fundamentals of safety and accident prevention -final (1).pptx
CyberSecurity Mobile and Wireless Devices
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
Design Guidelines and solutions for Plastics parts
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
III.4.1.2_The_Space_Environment.p pdffdf
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
Amdahl’s law is explained in the above power point presentations

Control unit

  • 2. Micro-Operations • A computer executes a program • Fetch/execute cycle • Each cycle has a number of steps • see pipelining • Called micro-operations • Each step does very little • Atomic operation of CPU
  • 4. Fetch - 4 Registers • Memory Address Register (MAR) • Connected to address bus • Specifies address for read or write op • Memory Buffer Register (MBR) • Connected to data bus • Holds data to write or last data read • Program Counter (PC) • Holds address of next instruction to be fetched • Instruction Register (IR) • Holds last instruction fetched
  • 5. Fetch Sequence • Address of next instruction is in PC • Address (MAR) is placed on address bus • Control unit issues READ command • Result (data from memory) appears on data bus • Data from data bus copied into MBR • PC incremented by 1 (in parallel with data fetch from memory) • Data (instruction) moved from MBR to IR • MBR is now free for further data fetches
  • 6. Fetch Sequence (symbolic) • t1: MAR <- (PC) • t2: MBR <- (memory) • PC <- (PC) +1 • t3: IR <- (MBR) • (tx = time unit/clock cycle) • or • t1: MAR <- (PC) • t2: MBR <- (memory) • t3: PC <- (PC) +1 • IR <- (MBR)
  • 7. Rules for Clock Cycle Grouping • Proper sequence must be followed • MAR <- (PC) must precede MBR <- (memory) • Conflicts must be avoided • Must not read & write same register at same time • MBR <- (memory) & IR <- (MBR) must not be in same cycle • Also: PC <- (PC) +1 involves addition • Use ALU • May need additional micro-operations
  • 8. Indirect Cycle • MAR <- (IRaddress) - address field of IR • MBR <- (memory) • IRaddress <- (MBRaddress) • MBR contains an address • IR is now in same state as if direct addressing had been used • (What does this say about IR size?)
  • 9. Interrupt Cycle • t1: MBR <-(PC) • t2: MAR <- save-address • PC <- routine-address • t3: memory <- (MBR) • This is a minimum • May be additional micro-ops to get addresses • N.B. saving context is done by interrupt handler routine, not micro-ops
  • 10. Execute Cycle (ADD) • Different for each instruction • e.g. ADD R1,X - add the contents of location X to Register 1 , result in R1 • t1: MAR <- (IRaddress) • t2: MBR <- (memory) • t3: R1 <- R1 + (MBR) • Note no overlap of micro-operations
  • 11. Execute Cycle (ISZ) • ISZ X - increment and skip if zero • t1: MAR <- (IRaddress) • t2: MBR <- (memory) • t3: MBR <- (MBR) + 1 • t4: memory <- (MBR) • if (MBR) == 0 then PC <- (PC) + 1 • Notes: • if is a single micro-operation • Micro-operations done during t4
  • 12. Execute Cycle (BSA) • BSA X - Branch and save address • Address of instruction following BSA is saved in X • Execution continues from X+1 • t1: MAR <- (IRaddress) • MBR <- (PC) • t2: PC <- (IRaddress) • memory <- (MBR) • t3: PC <- (PC) + 1
  • 13. Instruction Cycle • Each phase decomposed into sequence of elementary micro- operations • E.g. fetch, indirect, and interrupt cycles • Execute cycle • One sequence of micro-operations for each opcode • Need to tie sequences together • Assume new 2-bit register • Instruction cycle code (ICC) designates which part of cycle processor is in • 00: Fetch • 01: Indirect • 10: Execute • 11: Interrupt
  • 15. Functional Requirements • Define basic elements of processor • Describe micro-operations processor performs • Determine functions control unit must perform
  • 16. Basic Elements of Processor • ALU • Registers • Internal data pahs • External data paths • Control Unit
  • 17. Types of Micro-operation • Transfer data between registers • Transfer data from register to external • Transfer data from external to register • Perform arithmetic or logical ops
  • 18. Functions of Control Unit • Sequencing • Causing the CPU to step through a series of micro-operations • Execution • Causing the performance of each micro-op • This is done using Control Signals
  • 19. Control Signals • Clock • One micro-instruction (or set of parallel micro-instructions) per clock cycle • Instruction register • Op-code for current instruction • Determines which micro-instructions are performed • Flags • State of CPU • Results of previous operations • From control bus • Interrupts • Acknowledgements
  • 21. Control Signals - output • Within CPU • Cause data movement • Activate specific functions • Via control bus • To memory • To I/O modules
  • 22. Example Control Signal Sequence - Fetch • MAR <- (PC) • Control unit activates signal to open gates between PC and MAR • MBR <- (memory) • Open gates between MAR and address bus • Memory read control signal • Open gates between data bus and MBR
  • 23. Data Paths and Control Signals
  • 24. Internal Organization • Usually a single internal bus • Gates control movement of data onto and off the bus • Control signals control data transfer to and from external systems bus • Temporary registers needed for proper operation of ALU
  • 26. Intel 8085 CPU Block Diagram
  • 28. Intel 8085 OUT Instruction Timing Diagram
  • 29. Hardwired Implementation (1) • Control unit inputs • Flags and control bus • Each bit means something • Instruction register • Op-code causes different control signals for each different instruction • Unique logic for each op-code • Decoder takes encoded input and produces single output • n binary inputs and 2n outputs
  • 30. Hardwired Implementation (2) • Clock • Repetitive sequence of pulses • Useful for measuring duration of micro-ops • Must be long enough to allow signal propagation • Different control signals at different times within instruction cycle • Need a counter with different control signals for t1, t2 etc.
  • 31. Control Unit with Decoded Inputs
  • 32. Problems With Hard Wired Designs • Complex sequencing & micro-operation logic • Difficult to design and test • Inflexible design • Difficult to add new instructions