0% found this document useful (0 votes)
71 views

Microprogramming

The document summarizes micro-programmed control in computer architecture. It discusses that micro-programs use sequences of micro-instructions to control complex operations. Micro-instructions represent control signals as bits in control words. Control memory stores sequences of control words for each machine code instruction. Micro-programs can be implemented vertically, specifying one operation per instruction, or horizontally, specifying many parallel operations. Design considerations for micro-programs include memory word length, addressing techniques, and sequencing and execution of instructions.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

Microprogramming

The document summarizes micro-programmed control in computer architecture. It discusses that micro-programs use sequences of micro-instructions to control complex operations. Micro-instructions represent control signals as bits in control words. Control memory stores sequences of control words for each machine code instruction. Micro-programs can be implemented vertically, specifying one operation per instruction, or horizontally, specifying many parallel operations. Design considerations for micro-programs include memory word length, addressing techniques, and sequencing and execution of instructions.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

William Stallings

Computer Organization
and Architecture

Chapter 15
Micro-programmed Control

1
Micro-programmed Control

 Use sequences of instructions (see earlier notes)


to control complex operations
 Called micro-programming or firmware

2
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

3
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

4
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

5
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)

6
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

7
Vertical Micro-programming diag

Micro-instruction Address
Function Codes
Jump
Condition

8
Horizontal Micro-programming

 Wide memory word


 High degree of parallel operations possible
 Little encoding of control information

9
Horizontal Micro-programmed diag

Internal CPU Control Signals Micro-instruction Address

System Bus Jump Condition


Control Signals

10
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

11
Control Memory
.
Jump to Indirect or Execute
Fetch cycle routine
.
Jump to Execute Indirect Cycle routine
. Interrupt cycle routine
Jump to Fetch
Jump to Op code routine Execute cycle begin
.
AND routine
Jump to Fetch or Interrupt
.
ADD routine
Jump to Fetch or Interrupt

12
Control Unit

13
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

14
Advantages and Disadvantages

 Simplifies design of control unit


 Cheaper
 Less error-prone
 Slower

15
Tasks Done By
Microprogrammed Control Unit

 Microinstruction sequencing
 Microinstruction execution
 Must consider both together

16
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

17
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

18
Address Generation

 Explicit Implicit

 Two-field Mapping
 Unconditional Branch Addition
 Conditional branch Residual control

19
Execution

 The cycle is the basic event


 Each cycle is made up of two events
 Fetch
 Determined by generation of microinstruction address
 Execute

20
Execute

 Effect is to generate control signals


 Some control points internal to processor
 Rest go to external control bus or other
interface

21
Control Unit Organization

22
Required Reading

 Stallings chapter 15

23

You might also like