SlideShare a Scribd company logo
William Stallings
Computer Organization
and Architecture
7th
Edition
Chapter 17
Micro-programmed Control
Control Unit Organization
Micro-programmed Control
• Use sequences of instructions (see earlier
notes) to control complex operations
• Called micro-programming or firmware
Implementation (1)
• All the control unit does is generate a set
of control signals
• Each control signal is on or off
• Represent each control signal by a bit
• Have a control word for each micro-
operation
• Have a sequence of control words for each
machine code instruction
• Add an address to specify the next micro-
instruction, depending on conditions
Implementation (2)
• Today’s large microprocessor
—Many instructions and associated register-level
hardware
—Many control points to be manipulated
• This results in control memory that
—Contains a large number of words
– co-responding to the number of instructions to be
executed
—Has a wide word width
– Due to the large number of control points to be
manipulated
Micro-program Word Length
• Based on 3 factors
—Maximum number of simultaneous micro-
operations supported
—The way control information is represented or
encoded
—The way in which the next micro-instruction
address is specified
Micro-instruction Types
• Each micro-instruction specifies single (or
few) micro-operations to be performed
— (vertical micro-programming)
• Each micro-instruction specifies many
different micro-operations to be
performed in parallel
—(horizontal micro-programming)
Vertical Micro-programming
• Width is narrow
• n control signals encoded into log2 n bits
• Limited ability to express parallelism
• Considerable encoding of control
information requires external memory
word decoder to identify the exact control
line being manipulated
Horizontal Micro-programming
• Wide memory word
• High degree of parallel operations possible
• Little encoding of control information
Typical Microinstruction Formats
Compromise
• Divide control signals into disjoint groups
• Implement each group as separate field in
memory word
• Supports reasonable levels of parallelism
without too much complexity
Organization of
Control Memory
Control Unit
Control Unit Function
• Sequence login unit issues read command
• Word specified in control address register is read
into control buffer register
• Control buffer register contents generates control
signals and next address information
• Sequence login loads new address into control
buffer register based on next address information
from control buffer register and ALU flags
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
Functioning of Microprogrammed
Control Unit
Wilkes Control
• 1951
• Matrix partially filled with diodes
• During cycle, one row activated
—Generates signals where diode present
—First part of row generates control
—Second generates address for next cycle
Wilkes's Microprogrammed Control Unit
Advantages and Disadvantages of
Microprogramming
• Simplifies design of control unit
—Cheaper
—Less error-prone
• Slower
Tasks Done By Microprogrammed
Control Unit
• Microinstruction sequencing
• Microinstruction execution
• Must consider both together
Design Considerations
• Size of microinstructions
• Address generation time
—Determined by instruction register
– Once per cycle, after instruction is fetched
—Next sequential address
– Common in most designed
—Branches
– Both conditional and unconditional
Sequencing Techniques
• Based on current microinstruction,
condition flags, contents of IR, control
memory address must be generated
• Based on format of address information
—Two address fields
—Single address field
—Variable format
Branch Control Logic:
Two Address Fields
Branch Control
Logic: Single
Address Field
Branch Control
Logic: Variable
Format
Address Generation
Explicit Implicit
Two-field Mapping
Unconditional Branch Addition
Conditional branch Residual control
Execution
• The cycle is the basic event
• Each cycle is made up of two events
—Fetch
– Determined by generation of microinstruction
address
—Execute
Execute
• Effect is to generate control signals
• Some control points internal to processor
• Rest go to external control bus or other
interface
Control Unit
Organization
A Taxonomy of Microinstructions
• Vertical/horizontal
• Packed/unpacked
• Hard/soft microprogramming
• Direct/indirect encoding
Improvements over Wilkes
• Wilkes had each bit directly produced a
control signal or directly produced one bit
of next address
• More complex address sequencing
schemes,
• using fewer microinstruction bits, are
possible
• Require more complex sequencing logic
module
• Control word bits can be saved by
encoding and subsequently decoding
control information
How to Encode
• K different internal and external control signals
• Wilkes’s:
— K bits dedicated
— 2K control signals during any instruction cycle
• Not all used
— Two sources cannot be gated to same destination
— Register cannot be source and destination
— Only one pattern presented to ALU at a time
— Only one pattern presented to external control bus at a time
• Require Q < 2K which can be encoded with log2Q < K bits
• Not done
— As difficult to program as pure decoded (Wilkes) scheme
— Requires complex slow control logic module
• Compromises
— More bits than necessary used
— Some combinations that are physically allowable are not
possible to encode
Specific Encoding Techniques
• Microinstruction organized as set of fields
• Each field contains code
• Activates one or more control signals
• Organize format into independent fields
—Field depicts set of actions (pattern of control
signals)
—Actions from different fields can occur
simultaneously
• Alternative actions that can be specified
by a field are mutually exclusive
—Only one action specified for field could occur
at a time
Microinstruction Encoding
Direct Encoding
Microinstruction Encoding
Indirect Encoding
Required Reading
• Stallings chapter 17

More Related Content

What's hot (20)

PPTX
Memory Hierarchy
chauhankapil
 
PPTX
Denormalization
Amna Magzoub
 
PPT
Intermediate code generation (Compiler Design)
Tasif Tanzim
 
PPT
Function points analysis
Yunis Lone
 
ODP
Ms sql-server
Md.Mojibul Hoque
 
PPTX
Single Pass Assembler
Satyamevjayte Haxor
 
PPTX
Interrupts ppt
03446940736
 
PPTX
Multiprocessor
Neel Patel
 
PPTX
Create table relationships
Dastan Kamaran
 
PPTX
General register organization (computer organization)
rishi ram khanal
 
PPTX
Cocomo model
Baskarkncet
 
PPTX
Principal Sources of Optimization in compiler design
LogsAk
 
PPTX
Reporting vs. Analytics
Dun & Bradstreet Cloud Innovation Center
 
PPTX
Postfix Notation | Compiler design
Shamsul Huda
 
PPTX
Computer architecture page replacement algorithms
Mazin Alwaaly
 
PPT
Classical-Problem-of-Synchronization in OS
VivekanandaGN1
 
PPT
Chapter 13 - I/O Systems
Wayne Jones Jnr
 
PPT
Cursors.ppt
Karthick Panneerselvam
 
Memory Hierarchy
chauhankapil
 
Denormalization
Amna Magzoub
 
Intermediate code generation (Compiler Design)
Tasif Tanzim
 
Function points analysis
Yunis Lone
 
Ms sql-server
Md.Mojibul Hoque
 
Single Pass Assembler
Satyamevjayte Haxor
 
Interrupts ppt
03446940736
 
Multiprocessor
Neel Patel
 
Create table relationships
Dastan Kamaran
 
General register organization (computer organization)
rishi ram khanal
 
Cocomo model
Baskarkncet
 
Principal Sources of Optimization in compiler design
LogsAk
 
Postfix Notation | Compiler design
Shamsul Huda
 
Computer architecture page replacement algorithms
Mazin Alwaaly
 
Classical-Problem-of-Synchronization in OS
VivekanandaGN1
 
Chapter 13 - I/O Systems
Wayne Jones Jnr
 

Similar to 17 micro programmed control (20)

PPT
Micro programmed control
Syed Zaid Irshad
 
PPT
Microarchitecture
meashi
 
PPTX
conrol_Unit_part_of_computer_architecture.pptx
jbri1395
 
PPTX
Control Unit and Instruction Cycle.pptx.
aonikyadavcs23
 
PPTX
Unit 3 CO.pptx
NeerajaBhukya
 
DOCX
Control Units : Microprogrammed and Hardwired:control unit
abdosaidgkv
 
PPT
15 control-computer organization and archietecture-CO-COA
Jay Patel
 
PPT
Unit 2 ca- control unit
BBDITM LUCKNOW
 
PPTX
COMPUTER SYSTEM ARCHITECTURE UNIT 3 FULL SLIDES
ShahidSultan24
 
PPTX
controlunit1a024a025-140520095202-phpapp01 (1).pptx
srik38114
 
PPTX
controlunit1a024a025-140520095202-phpapp01 (1).pptx
srik38114
 
PPT
Ch7 official
ranjanpriya
 
PPT
Control Memory
mahesh kumar prajapat
 
PPT
Ch7 official=computer organization and archietectur- CO-COA
Jay Patel
 
PPTX
Unit II.pptx
NidaKhan232565
 
PPTX
Computer architecture control unit
Mazin Alwaaly
 
PPTX
CS304PC:Computer Organization and Architecture Session 7 Microprogrammed con...
Guru Nanak Technical Institutions
 
PPTX
Control unit design
Dhaval Bagal
 
PPTX
chapter3_CA.pptt nnnnnnnnnnnnnnnnnnnnnnn
NineTo1
 
PDF
CS304PC:Computer Organization and Architecture UNIT II .pdf
Guru Nanak Technical Institutions
 
Micro programmed control
Syed Zaid Irshad
 
Microarchitecture
meashi
 
conrol_Unit_part_of_computer_architecture.pptx
jbri1395
 
Control Unit and Instruction Cycle.pptx.
aonikyadavcs23
 
Unit 3 CO.pptx
NeerajaBhukya
 
Control Units : Microprogrammed and Hardwired:control unit
abdosaidgkv
 
15 control-computer organization and archietecture-CO-COA
Jay Patel
 
Unit 2 ca- control unit
BBDITM LUCKNOW
 
COMPUTER SYSTEM ARCHITECTURE UNIT 3 FULL SLIDES
ShahidSultan24
 
controlunit1a024a025-140520095202-phpapp01 (1).pptx
srik38114
 
controlunit1a024a025-140520095202-phpapp01 (1).pptx
srik38114
 
Ch7 official
ranjanpriya
 
Control Memory
mahesh kumar prajapat
 
Ch7 official=computer organization and archietectur- CO-COA
Jay Patel
 
Unit II.pptx
NidaKhan232565
 
Computer architecture control unit
Mazin Alwaaly
 
CS304PC:Computer Organization and Architecture Session 7 Microprogrammed con...
Guru Nanak Technical Institutions
 
Control unit design
Dhaval Bagal
 
chapter3_CA.pptt nnnnnnnnnnnnnnnnnnnnnnn
NineTo1
 
CS304PC:Computer Organization and Architecture UNIT II .pdf
Guru Nanak Technical Institutions
 
Ad

More from dilip kumar (17)

PDF
FLAT Notes
dilip kumar
 
PPT
18 parallel processing
dilip kumar
 
PPT
15 ia64
dilip kumar
 
PPT
14 superscalar
dilip kumar
 
PPT
13 risc
dilip kumar
 
PPT
12 processor structure and function
dilip kumar
 
PPT
11 instruction sets addressing modes
dilip kumar
 
PPT
10 instruction sets characteristics
dilip kumar
 
PPT
09 arithmetic
dilip kumar
 
PPT
08 operating system support
dilip kumar
 
PPT
07 input output
dilip kumar
 
PPT
06 external memory
dilip kumar
 
PPT
05 internal memory
dilip kumar
 
PPT
04 cache memory
dilip kumar
 
PPT
03 buses
dilip kumar
 
PPT
02 computer evolution and performance
dilip kumar
 
PPT
01 introduction
dilip kumar
 
FLAT Notes
dilip kumar
 
18 parallel processing
dilip kumar
 
15 ia64
dilip kumar
 
14 superscalar
dilip kumar
 
13 risc
dilip kumar
 
12 processor structure and function
dilip kumar
 
11 instruction sets addressing modes
dilip kumar
 
10 instruction sets characteristics
dilip kumar
 
09 arithmetic
dilip kumar
 
08 operating system support
dilip kumar
 
07 input output
dilip kumar
 
06 external memory
dilip kumar
 
05 internal memory
dilip kumar
 
04 cache memory
dilip kumar
 
03 buses
dilip kumar
 
02 computer evolution and performance
dilip kumar
 
01 introduction
dilip kumar
 
Ad

Recently uploaded (20)

PPT
04 Origin of Evinnnnnnnnnnnnnnnnnnnnnnnnnnl-notes.ppt
LuckySangalala1
 
PPTX
ISO/IEC JTC 1/WG 9 (MAR) Convenor Report
Kurata Takeshi
 
PPTX
Benefits_^0_Challigi😙🏡💐8fenges[1].pptx
akghostmaker
 
PPTX
Presentation on Foundation Design for Civil Engineers.pptx
KamalKhan563106
 
PPT
IISM Presentation.ppt Construction safety
lovingrkn
 
PDF
The Complete Guide to the Role of the Fourth Engineer On Ships
Mahmoud Moghtaderi
 
PPTX
Pharmaceuticals and fine chemicals.pptxx
jaypa242004
 
PDF
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
PDF
BEE331-Week 04-SU25.pdf semiconductors UW
faemoxley
 
PDF
A presentation on the Urban Heat Island Effect
studyfor7hrs
 
PPTX
waterconservation-211128055737.pptx Jaswanth
SandulaAnilBabu
 
PDF
Geothermal Heat Pump ppt-SHRESTH S KOKNE
SHRESTHKOKNE
 
PDF
Natural Language processing and web deigning notes
AnithaSakthivel3
 
PDF
Natural Language processing and web deigning notes
AnithaSakthivel3
 
PPTX
Abstract Data Types (ADTs) in Data Structures
mwaslam2303
 
PDF
Comparative Analysis of the Use of Iron Ore Concentrate with Different Binder...
msejjournal
 
PDF
SMART HOME AUTOMATION PPT BY - SHRESTH SUDHIR KOKNE
SHRESTHKOKNE
 
PPTX
Mining Presentation Underground - Copy.pptx
patallenmoore
 
PPTX
Data_Analytics_Presentation_By_Malik_Azanish_Asghar.pptx
azanishmalik1
 
PPT
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
04 Origin of Evinnnnnnnnnnnnnnnnnnnnnnnnnnl-notes.ppt
LuckySangalala1
 
ISO/IEC JTC 1/WG 9 (MAR) Convenor Report
Kurata Takeshi
 
Benefits_^0_Challigi😙🏡💐8fenges[1].pptx
akghostmaker
 
Presentation on Foundation Design for Civil Engineers.pptx
KamalKhan563106
 
IISM Presentation.ppt Construction safety
lovingrkn
 
The Complete Guide to the Role of the Fourth Engineer On Ships
Mahmoud Moghtaderi
 
Pharmaceuticals and fine chemicals.pptxx
jaypa242004
 
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
BEE331-Week 04-SU25.pdf semiconductors UW
faemoxley
 
A presentation on the Urban Heat Island Effect
studyfor7hrs
 
waterconservation-211128055737.pptx Jaswanth
SandulaAnilBabu
 
Geothermal Heat Pump ppt-SHRESTH S KOKNE
SHRESTHKOKNE
 
Natural Language processing and web deigning notes
AnithaSakthivel3
 
Natural Language processing and web deigning notes
AnithaSakthivel3
 
Abstract Data Types (ADTs) in Data Structures
mwaslam2303
 
Comparative Analysis of the Use of Iron Ore Concentrate with Different Binder...
msejjournal
 
SMART HOME AUTOMATION PPT BY - SHRESTH SUDHIR KOKNE
SHRESTHKOKNE
 
Mining Presentation Underground - Copy.pptx
patallenmoore
 
Data_Analytics_Presentation_By_Malik_Azanish_Asghar.pptx
azanishmalik1
 
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 

17 micro programmed control

  • 1. William Stallings Computer Organization and Architecture 7th Edition Chapter 17 Micro-programmed Control
  • 3. Micro-programmed Control • Use sequences of instructions (see earlier notes) to control complex operations • Called micro-programming or firmware
  • 4. Implementation (1) • All the control unit does is generate a set of control signals • Each control signal is on or off • Represent each control signal by a bit • Have a control word for each micro- operation • Have a sequence of control words for each machine code instruction • Add an address to specify the next micro- instruction, depending on conditions
  • 5. Implementation (2) • Today’s large microprocessor —Many instructions and associated register-level hardware —Many control points to be manipulated • This results in control memory that —Contains a large number of words – co-responding to the number of instructions to be executed —Has a wide word width – Due to the large number of control points to be manipulated
  • 6. Micro-program Word Length • Based on 3 factors —Maximum number of simultaneous micro- operations supported —The way control information is represented or encoded —The way in which the next micro-instruction address is specified
  • 7. Micro-instruction Types • Each micro-instruction specifies single (or few) micro-operations to be performed — (vertical micro-programming) • Each micro-instruction specifies many different micro-operations to be performed in parallel —(horizontal micro-programming)
  • 8. Vertical Micro-programming • Width is narrow • n control signals encoded into log2 n bits • Limited ability to express parallelism • Considerable encoding of control information requires external memory word decoder to identify the exact control line being manipulated
  • 9. Horizontal Micro-programming • Wide memory word • High degree of parallel operations possible • Little encoding of control information
  • 11. Compromise • Divide control signals into disjoint groups • Implement each group as separate field in memory word • Supports reasonable levels of parallelism without too much complexity
  • 14. Control Unit Function • Sequence login unit issues read command • Word specified in control address register is read into control buffer register • Control buffer register contents generates control signals and next address information • Sequence login loads new address into control buffer register based on next address information from control buffer register and ALU flags
  • 15. 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
  • 17. Wilkes Control • 1951 • Matrix partially filled with diodes • During cycle, one row activated —Generates signals where diode present —First part of row generates control —Second generates address for next cycle
  • 19. Advantages and Disadvantages of Microprogramming • Simplifies design of control unit —Cheaper —Less error-prone • Slower
  • 20. Tasks Done By Microprogrammed Control Unit • Microinstruction sequencing • Microinstruction execution • Must consider both together
  • 21. Design Considerations • Size of microinstructions • Address generation time —Determined by instruction register – Once per cycle, after instruction is fetched —Next sequential address – Common in most designed —Branches – Both conditional and unconditional
  • 22. Sequencing Techniques • Based on current microinstruction, condition flags, contents of IR, control memory address must be generated • Based on format of address information —Two address fields —Single address field —Variable format
  • 23. Branch Control Logic: Two Address Fields
  • 26. Address Generation Explicit Implicit Two-field Mapping Unconditional Branch Addition Conditional branch Residual control
  • 27. Execution • The cycle is the basic event • Each cycle is made up of two events —Fetch – Determined by generation of microinstruction address —Execute
  • 28. Execute • Effect is to generate control signals • Some control points internal to processor • Rest go to external control bus or other interface
  • 30. A Taxonomy of Microinstructions • Vertical/horizontal • Packed/unpacked • Hard/soft microprogramming • Direct/indirect encoding
  • 31. Improvements over Wilkes • Wilkes had each bit directly produced a control signal or directly produced one bit of next address • More complex address sequencing schemes, • using fewer microinstruction bits, are possible • Require more complex sequencing logic module • Control word bits can be saved by encoding and subsequently decoding control information
  • 32. How to Encode • K different internal and external control signals • Wilkes’s: — K bits dedicated — 2K control signals during any instruction cycle • Not all used — Two sources cannot be gated to same destination — Register cannot be source and destination — Only one pattern presented to ALU at a time — Only one pattern presented to external control bus at a time • Require Q < 2K which can be encoded with log2Q < K bits • Not done — As difficult to program as pure decoded (Wilkes) scheme — Requires complex slow control logic module • Compromises — More bits than necessary used — Some combinations that are physically allowable are not possible to encode
  • 33. Specific Encoding Techniques • Microinstruction organized as set of fields • Each field contains code • Activates one or more control signals • Organize format into independent fields —Field depicts set of actions (pattern of control signals) —Actions from different fields can occur simultaneously • Alternative actions that can be specified by a field are mutually exclusive —Only one action specified for field could occur at a time