Chapter 16
Control Unit Implemntation
A Basic Computer Model
Example Simple Processor & Data Paths
MIPS Data Paths with
Generation of Control Signals
Note: This figure does not show J (jump) type
instruction Data Paths
A Simple Computer & its Control Unit
Control Signal Sources
• 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 / Bus Requests
— Acknowledgements
Control Signals Outputs
• Within CPU
—Cause data movement
—Activate specific functions
• Via Main Bus
—To memory
—To I/O modules
Control Signals
The Internal Bus ?
Example Simple Processor & Data Paths
Example Simple Processor & Data Paths
State Machine for Example Simple Processor
http://highered.mcgraw-hill.com/sites/dl/premium/0072467509/instructor/104653/figurec9.xls
Control Unit with Decoded Inputs
MIPS Instruction Formats
MIPS Data Paths with
Generation of Control Signals
Note: This figure does not show J (jump) type
instruction Data Paths
MIPs Pipelined Machine with Controls
IF | ID | EX | MEM | WB
(64 bits)
(142 bits)
(107 bits)
(71 bits)
Problems With Hard Wired Designs
• Sequencing & micro-operation logic gets complex
• Difficult to design, prototype, and test
• Resultant design is inflexible, and difficult to build upon
(Pipeline, multiple computation units, etc.)
• Adding new instructions requires major design and adds
complexity quickly
Chapter 17
Micro-Programmed Control
Example Simple Processor Micro-Programed Control
Control Unit Organization
Tasks of Control Unit:
• Microinstruction sequencing
• Microinstruction execution
The Control Memory contains
sequences of microinstructions
that provide the control signals
to execute instruction cycles,
e.g. Fetch, Indirect, Execute,
and Interrupt.
May be expected to complete
instruction execution in “1” clock
cycle. How is this possible?
Recall: Micro-sequencing
Example of Control Memory Organization
Microinstructions:
• Generate Control Signals
• Provide Branching
Horizontal vs Vertical Microprogramming
Horizontal Microprogrammed or
— Unpacked
— Hard
— Direct
Vertical Microprogrammed or
— Packed
— Soft
— Indirect
Microinstruction Encoding - Direct Encoding
Microinstruction Encoding - Indirect Encoding
Horizontal Micro-programming
• Wide control memory word
• High degree of parallel operations possible
• Little encoding of control information
• Faster
Vertical Micro-programming
• Width can be much narrower
• Control signals encoded into function codes –
need to be decoded
• More complex, more complicated to program,
less flexibility
• More difficult to modify
• Slower
Typical Microinstruction Formats
Example Microprogramming Formats
• MicroProgram Counter
• Subroutines
• Stack
• Control Register (MicroProgram Format)
Next Address Decision
• Depending on ALU flags and control buffer register:
— Get next instruction
– Add 1 to control address register
— Jump to new routine based on jump microinstruction
– Load address field of control buffer register into control address
register
— Jump to machine instruction routine
– Load control address register based on opcode in IR
Microprogrammed Control Unit
Design Considerations
• Necessity of speed
• Size of Microinstructions
• Address generation
—Branches
– Both conditional and unconditional
– Based on current microinstruction, condition flags,
contents of IR
– Based on format of address information
+ Two address fields
+ Single address field
+ Variable format
Branch Control: Two Address Fields
Branch based upon:
• Instruction Opcode
• Address 1
• Address 2
Does require a wide
microinstruction, but no
address calculation is needed
Branch Control: Single Address Field
Branch based upon:
• Next instruction
• Address
• Opcode
Does require more
circuitry, e.g. adder
Branch Control: Variable Format
One bit determines
microinstruction
format:
• Control signal format
• Branch format
Does require even
more circuitry, and is
slowest.
Advantages and Disadvantages of
Microprogramming
Advantage:
• Simplifies design of control unit
— Cheaper to design
— Less error-prone
— Much easier to modify
— Supports having multiple versions / models
Disadvantage:
• Slower
• More expensive to produce in quantities

More Related Content

PDF
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
PDF
PPT
8051 microcontroller
PPTX
Architecture of 16C6X
PPTX
Introduction to Embedded System I: Chapter 2 (5th portion)
PPTX
Introduction to embedded systems
PPTX
Introduction to Embedded Systems
PPTX
I2C BUS
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
8051 microcontroller
Architecture of 16C6X
Introduction to Embedded System I: Chapter 2 (5th portion)
Introduction to embedded systems
Introduction to Embedded Systems
I2C BUS

What's hot (20)

DOC
Unit 1 embedded systems and applications
PPTX
Ec8791 lpc2148 timer unit
PDF
Introduction to Embedded Architecture
PPTX
PDF
Introduction to pic microcontroller
PPTX
EC8791 UML-model train controller
PPTX
PDF
SPI Protocol
PDF
2 introduction to arm architecture
PDF
Introduction to embedded system design
PPTX
Ec8791 unit 5 processes and operating systems
PPTX
Embedded systems - UNIT-1 - Mtech
PPT
Embedded firmware
PDF
Introduction to Embedded Systems
PPTX
UART Communication
PDF
Pcie basic
PPTX
DDR SDRAMs
Unit 1 embedded systems and applications
Ec8791 lpc2148 timer unit
Introduction to Embedded Architecture
Introduction to pic microcontroller
EC8791 UML-model train controller
SPI Protocol
2 introduction to arm architecture
Introduction to embedded system design
Ec8791 unit 5 processes and operating systems
Embedded systems - UNIT-1 - Mtech
Embedded firmware
Introduction to Embedded Systems
UART Communication
Pcie basic
DDR SDRAMs
Ad

Viewers also liked (9)

PPTX
MicroProgrammed Explained .
PPTX
Micro programmed control
PPTX
Micro Programmed Control Unit
PPT
basic computer programming and micro programmed control
PDF
Computer architecture
PPT
Origin of Microprocessor and Classification of Microprocessor
PPT
Types of instructions
PPT
Microprogram Control
PPTX
Instruction Set Architecture
MicroProgrammed Explained .
Micro programmed control
Micro Programmed Control Unit
basic computer programming and micro programmed control
Computer architecture
Origin of Microprocessor and Classification of Microprocessor
Types of instructions
Microprogram Control
Instruction Set Architecture
Ad

Similar to 15 control-computer organization and archietecture-CO-COA (20)

PPT
Microarchitecture
PPT
Micro programmed control
PPTX
Unit 3 CO.pptx
PPTX
Computer architecture control unit
PDF
Compuer organizaion processing unit
PPTX
Whitepaper proposal presentation _pre.pptx
PPTX
Microprogrammed_control presentation.pptx
PPTX
COMPUTER SYSTEM ARCHITECTURE UNIT 3 FULL SLIDES
PPTX
Control unit design
PDF
PB13MAT_17_Micro-Prodfgrammed Control.pdf
DOCX
Control Units : Microprogrammed and Hardwired:control unit
PPTX
conrol_Unit_part_of_computer_architecture.pptx
PDF
Central processing unit ii
PDF
CO Unit 3.pdf (Important chapter of coa)
PPT
17 micro programmed control
PPT
Unit 2 ca- control unit
PPTX
UNIT 3 - General Purpose Processors
PPT
Unit2 control unit
PDF
CPU Architecture
PPTX
CMPN301-Pipelining_V2.pptx
Microarchitecture
Micro programmed control
Unit 3 CO.pptx
Computer architecture control unit
Compuer organizaion processing unit
Whitepaper proposal presentation _pre.pptx
Microprogrammed_control presentation.pptx
COMPUTER SYSTEM ARCHITECTURE UNIT 3 FULL SLIDES
Control unit design
PB13MAT_17_Micro-Prodfgrammed Control.pdf
Control Units : Microprogrammed and Hardwired:control unit
conrol_Unit_part_of_computer_architecture.pptx
Central processing unit ii
CO Unit 3.pdf (Important chapter of coa)
17 micro programmed control
Unit 2 ca- control unit
UNIT 3 - General Purpose Processors
Unit2 control unit
CPU Architecture
CMPN301-Pipelining_V2.pptx

More from Jay Patel (12)

PPT
Motivational hindi cpd ppt sem 2
PPTX
Cpp (C++)
PPTX
Cpd- Contributor and Personality Development
PPTX
Cpd- Contributor and Personality Development
PPTX
Cpd- Contribution and Personality Development
PPTX
Coa 09-36-computer organization and archietecture-CO-COA
PPT
Ch7 official=computer organization and archietectur- CO-COA
PPTX
9 36-computer organization and archietecture- CO- COA
PPTX
3 4- computer organization and archietecture- COA- CO- Computer organization
PPTX
Cn 04,32,36-Cn all chapters1- computer networks- gtu
PPTX
Greedy Algorithm-Dijkstra's algo
PPTX
Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's
Motivational hindi cpd ppt sem 2
Cpp (C++)
Cpd- Contributor and Personality Development
Cpd- Contributor and Personality Development
Cpd- Contribution and Personality Development
Coa 09-36-computer organization and archietecture-CO-COA
Ch7 official=computer organization and archietectur- CO-COA
9 36-computer organization and archietecture- CO- COA
3 4- computer organization and archietecture- COA- CO- Computer organization
Cn 04,32,36-Cn all chapters1- computer networks- gtu
Greedy Algorithm-Dijkstra's algo
Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's

Recently uploaded (20)

PDF
THE PEDAGOGICAL NEXUS IN TEACHING ELECTRICITY CONCEPTS IN THE GRADE 9 NATURAL...
PDF
Artificial Intelligence_ Basics .Artificial Intelligence_ Basics .
PDF
IAE-V2500 Engine Airbus Family A319/320
PPTX
IOP Unit 1.pptx for btech 1st year students
PDF
ST MNCWANGO P2 WIL (MEPR302) FINAL REPORT.pdf
DOCX
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
PPT
UNIT-I Machine Learning Essentials for 2nd years
PDF
Software defined netwoks is useful to learn NFV and virtual Lans
PPTX
1. Effective HSEW Induction Training - EMCO 2024, O&M.pptx
PDF
25AF1191PC303 MODULE-1 CHAIN SURVEYING SEMESTER III SURVEYING
PDF
B461227.pdf American Journal of Multidisciplinary Research and Review
PPTX
Software-Development-Life-Cycle-SDLC.pptx
PPTX
Solar energy pdf of gitam songa hemant k
PDF
Module 1 part 1.pdf engineering notes s7
PPTX
SE unit 1.pptx by d.y.p.akurdi aaaaaaaaaaaa
PPT
Comprehensive Java Training Deck - Advanced topics
PDF
MACCAFERRY GUIA GAVIONES TERRAPLENES EN ESPAÑOL
PDF
AIGA 012_04 Cleaning of equipment for oxygen service_reformat Jan 12.pdf
PDF
Performance, energy consumption and costs: a comparative analysis of automati...
PPTX
quantum theory on the next future in.pptx
THE PEDAGOGICAL NEXUS IN TEACHING ELECTRICITY CONCEPTS IN THE GRADE 9 NATURAL...
Artificial Intelligence_ Basics .Artificial Intelligence_ Basics .
IAE-V2500 Engine Airbus Family A319/320
IOP Unit 1.pptx for btech 1st year students
ST MNCWANGO P2 WIL (MEPR302) FINAL REPORT.pdf
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
UNIT-I Machine Learning Essentials for 2nd years
Software defined netwoks is useful to learn NFV and virtual Lans
1. Effective HSEW Induction Training - EMCO 2024, O&M.pptx
25AF1191PC303 MODULE-1 CHAIN SURVEYING SEMESTER III SURVEYING
B461227.pdf American Journal of Multidisciplinary Research and Review
Software-Development-Life-Cycle-SDLC.pptx
Solar energy pdf of gitam songa hemant k
Module 1 part 1.pdf engineering notes s7
SE unit 1.pptx by d.y.p.akurdi aaaaaaaaaaaa
Comprehensive Java Training Deck - Advanced topics
MACCAFERRY GUIA GAVIONES TERRAPLENES EN ESPAÑOL
AIGA 012_04 Cleaning of equipment for oxygen service_reformat Jan 12.pdf
Performance, energy consumption and costs: a comparative analysis of automati...
quantum theory on the next future in.pptx

15 control-computer organization and archietecture-CO-COA

  • 1. Chapter 16 Control Unit Implemntation
  • 4. MIPS Data Paths with Generation of Control Signals Note: This figure does not show J (jump) type instruction Data Paths
  • 5. A Simple Computer & its Control Unit
  • 6. Control Signal Sources • 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 / Bus Requests — Acknowledgements
  • 7. Control Signals Outputs • Within CPU —Cause data movement —Activate specific functions • Via Main Bus —To memory —To I/O modules
  • 10. Example Simple Processor & Data Paths
  • 11. Example Simple Processor & Data Paths
  • 12. State Machine for Example Simple Processor http://highered.mcgraw-hill.com/sites/dl/premium/0072467509/instructor/104653/figurec9.xls
  • 13. Control Unit with Decoded Inputs
  • 15. MIPS Data Paths with Generation of Control Signals Note: This figure does not show J (jump) type instruction Data Paths
  • 16. MIPs Pipelined Machine with Controls IF | ID | EX | MEM | WB (64 bits) (142 bits) (107 bits) (71 bits)
  • 17. Problems With Hard Wired Designs • Sequencing & micro-operation logic gets complex • Difficult to design, prototype, and test • Resultant design is inflexible, and difficult to build upon (Pipeline, multiple computation units, etc.) • Adding new instructions requires major design and adds complexity quickly
  • 19. Example Simple Processor Micro-Programed Control
  • 20. Control Unit Organization Tasks of Control Unit: • Microinstruction sequencing • Microinstruction execution The Control Memory contains sequences of microinstructions that provide the control signals to execute instruction cycles, e.g. Fetch, Indirect, Execute, and Interrupt. May be expected to complete instruction execution in “1” clock cycle. How is this possible?
  • 22. Example of Control Memory Organization Microinstructions: • Generate Control Signals • Provide Branching
  • 23. Horizontal vs Vertical Microprogramming Horizontal Microprogrammed or — Unpacked — Hard — Direct Vertical Microprogrammed or — Packed — Soft — Indirect
  • 24. Microinstruction Encoding - Direct Encoding
  • 25. Microinstruction Encoding - Indirect Encoding
  • 26. Horizontal Micro-programming • Wide control memory word • High degree of parallel operations possible • Little encoding of control information • Faster
  • 27. Vertical Micro-programming • Width can be much narrower • Control signals encoded into function codes – need to be decoded • More complex, more complicated to program, less flexibility • More difficult to modify • Slower
  • 29. Example Microprogramming Formats • MicroProgram Counter • Subroutines • Stack • Control Register (MicroProgram Format)
  • 30. Next Address Decision • Depending on ALU flags and control buffer register: — Get next instruction – Add 1 to control address register — Jump to new routine based on jump microinstruction – Load address field of control buffer register into control address register — Jump to machine instruction routine – Load control address register based on opcode in IR
  • 32. Design Considerations • Necessity of speed • Size of Microinstructions • Address generation —Branches – Both conditional and unconditional – Based on current microinstruction, condition flags, contents of IR – Based on format of address information + Two address fields + Single address field + Variable format
  • 33. Branch Control: Two Address Fields Branch based upon: • Instruction Opcode • Address 1 • Address 2 Does require a wide microinstruction, but no address calculation is needed
  • 34. Branch Control: Single Address Field Branch based upon: • Next instruction • Address • Opcode Does require more circuitry, e.g. adder
  • 35. Branch Control: Variable Format One bit determines microinstruction format: • Control signal format • Branch format Does require even more circuitry, and is slowest.
  • 36. Advantages and Disadvantages of Microprogramming Advantage: • Simplifies design of control unit — Cheaper to design — Less error-prone — Much easier to modify — Supports having multiple versions / models Disadvantage: • Slower • More expensive to produce in quantities