ไมโครโปรแกรม Microprogram

advertisement
Introduction to Computer Organization
and Architecture
ภาษาเครื่ อง
Micro Program
ไมโครโปรแกรม
Model of Control Unit
How the Control Unit
Generate the control signal?
Model of Control Unit
Get instruction from Instruction
Register
Working steps with the timing
generator and conditions from flag, the
signal from IR passed through the
Decoder circuit into the CU to generate
the control signal out.
Block Diagram of the
Control Unit
Control Unit with
Decoded Inputs
Microprograms ?
• 1950 Maurice V. Wikes (Cambridge Univer.)
• IBM System/360 to achieve
instruction-set compatibility across
many models.
• Microprogramming allows a CPU’s
program control unit : PCU to be
designed sequences known as
Microprograms are placed in a
special control memory in the CPU.
Wilkes's Microprogrammed Control Unit
Microprograms ?
- so that instruction from the CPU’s
main instruction set is executed by
invoking and executing the
corresponding microprogram.
*******
CPU with no floating-point arithmetic
circuits can execute by means of
fixed-point arithmetic circuits.
Digital Systems : CPU
 Data Path Unit
network of functional and storage units
capable of performing certain operation
on data words.
 Control Unit
issue control signal to the data path for
selecting the function to be performed at
specific times and route through the
appropriate parts of the datapath unit.
Data Paths and Control Signals
Digital Systems : CPU
 Hardwired
fixed logic circuits to generate the control
signals.
 Microprogrammed
stores the control signals in sequence of
micro-instructions (microprograms) in a
control memory.
* provide a systematic & flexible method *
Microprogrammed Control
Use microprograms to select, interpret,
and execute instruction set. Fig. 15.4
CU contain logic to generate microinstruction addresses and to fetch and
decode from control memory.
Control Unit Microarchitecture
Basic Concepts
Instruction is implemented by a
sequence of one or more sets of
concurrent micro-operations.
Each micro-operation is associated with
a group of control lines that must be
activated in a prescribed sequence to
trigger the micro-operations.
Basic Concepts
Program Execution
Instruction Cycle Instruction Cycle
...
...
Fetch Execute Interrupt
mOP mOP mOP
...
Basic Concepts
Microprogramming is a method of
control-unit design in which the
control signal selection and
sequencing information is stored in a
ROM or RAM called . . . . .
Control Memory : CM
Functioning of Microprogrammed Control Unit
Basic Concepts
The control signals could be activated at
any time that are specified by a microinstruction,
which is fetched from CM in much the
same way an instruction is fetched from
main memory.
Basic Concepts
Instruction Cycle
• Fetch
• Indirect
• Execute
• Interrupt
Flowchart for Instruction Cycle
Basic Concepts
Fetch Cycle 3 steps and 4 micro-operations
t1 : MAR <--- (PC)
t2 : MBR <--- Memory
PC <--- (PC) + I
t3 : IR <--- (MBR)
I : Instruction Length
Sequence of Events, Fetch Cycle
Basic Concepts
Indirect Cycle 3 micro-operations
t1 : MAR <--- (IR (address))
t2 : MBR <--- Memory
t3 : IR(Address) <--- (MBR(address))
Basic Concepts
Execute Cycle vary on op-code such as
ADD R1, X will have 3 micro-operations
t1 : MAR <--- (IR(address))
t2 : MBR <--- Memory
t3 : R1 <--- (R1) + (MBR)
Basic Concepts
Execute Cycle as ISZ X (Increment and
Skip instruction)
t1 :
t2 :
t3 :
t4 :
MAR <--- (IR(address))
MBR <--- Memory
MBR <--- (MBR) + 1
Memory <--- (MBR)
If ((MBR) = 0) then (PC <--- (PC)+1)
Basic Concepts
Execute Cycle as BSA X (subroutine call
: Branch-and-save-address instruction)
t1 : MAR <--- (IR(address))
MBR <--- (PC)
t2 : PC <--- (IR(address))
Memory <--- (MBR)
t3 : PC <--- (PC) + 1
Basic Concepts
Interrupt Cycle 3 micro-operations
t1 : MBR <--- (PC)
t2 : MAR <--- Save_Address
PC <--- Routine_Address
t3 : Memory <--- (MBR)
Basic Concepts
Each micro-instruction also explicitly or
implicitly specifies the next microinstruction to be used, thereby providing
the necessary information for microoperation sequencing.
set of micro-instruction forms
microprogram
Organization of
Control Memory
Microinstruction Encoding
Microinstruction Encoding
Basic Concepts
Advantage Microprogram can be
changed relatively easily by changing the
contents of CM. (flexible)
Disadvantage The time required to
access the microinstructions from CM.
Chip area and circuit delay must both
be minimized.
Used in CISC’s as the Pentium and MC680X0
Micro-instructions
 Horizontal Formats
long formats, little encoding of the control
fields, and the ability to control many
micro-operation in parallel.
 Vertical Formats
short formats, considerable control-field
encoding, and limited parallelism.
interpreted by nano-instruction that
directly control the hardware.
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
Alternative
Microinstruction Formats
for a Simple Machine
Alternative Microinstruction Formats for a Simple Machine
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
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
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
Microinstruction Encoding
Micro-instructions
Machine instruction is executed by a
microprogram which acts as a real-time
interpreter for the instruction.
Microinstruction Format
IBM System/370 Model 145
0
8
16
24
31
Control
Operand1
Operand2 CM Addressing
IBM 3033 Microinstruction Format
Other Samples
• LSI computer
Simplified Block Diagram of
the LSI-11 Processor
Organization of the LSI-11
Control Unit
LSI-11 Microinstruction Format
Introduction to Computer Organization
and Architecture
ภาษาเครื่ อง
Machine Language
Download