Professional Documents
Culture Documents
Micro Programmed Control
Micro Programmed Control
Micro Programmed Control
Control
MICROPROGRAMMED CONTROL
Here control signals are created & controlled by a program.
Some Terminology:
1.Control word:
A word whose individual bit represents the various control signals.
PCout PCin READYin select
eg: 0 1 1 0
1
2.Microroutine:
A sequence of control words corresponding to the control
sequence of a machine instruction constitutes the micro routine for
that instruction.
Micro
instruction
PCin
PCout
MAR in
Read
MDRout
IRin
Yin
Select
Add
Zin
Z out
R1out
R1 in
R3out
WMFC
End
3.Microinstruction:
Individuals control words in the micro routines.
Figure7.15 AnexampleofmicroinstructionsforFigure7.6.
4. Control store:
A special memory that stores the microinstructions for all
instructions in the instruction set of a computer.
5.Micro programcounter:
A special register that holds
the address of the next
micro instruction to be
executed
Every time a new
instruction is loaded into
the IR, starting address
generator loads PC.
The PC is then
automatically
incremented by the clock,
causing successive
microinstructions to be
read from the control
store
IR
Clock
Starting
address
generator
PC
Control
store
One function
cannot be carried
out by this simple
organization.
CW
Basicorganizationofamicroprogrammedcontrolunit.
Overview
Step Action
1
Zout , PC in , Y in , WMF C
MDR out , IR in
R1out , Y in , WMF C
Microinstruction
MDRout , IRin
3
Branchtostartingaddress
ofappropriate
microroutine
. ... .. ... ... .. ... .. ... ... .. ... ... .. ... .. ... ... .. ... .. ... ... .. ... ..
25
26
27
If N=0, thenbranchtomicroinstruction
0
Offset-field-of-IR
out , SelectY,Add, Zin
Zout , PCin , End
Instruction
A separate micro routine (procedure) is written to check the condition
Overview
External
inputs
IR
Clock
Startingand
branchaddress
generator
PC
Control
store
Figure7.18.
Condition
codes
CW
Organizationofthecontrolunittoallow
conditionalbranchinginthemicroprogram.
Microinstructions
A straightforward way to structure
F2
F3
F4
F5
F1(4bits)
F2(3bits)
F3(3bits)
F4(4bits)
F5(2bits)
0000:Notransfer
0001:PCout
0010:MDRout
0011:Zout
0100:R0out
0101:R1out
0110:R2out
0111:R3out
1010:TEMPout
1011:Offsetout
000:Notransfer
001:PCin
010:IRin
011:Z in
100:R0 in
101:R1 in
110:R2 in
111:R3 in
000:Notransfer
001:MAR in
010:MDR in
011:TEMPin
100:Yin
0000:Add
0001:Sub
00:Noaction
01:Read
10:Write
F6
F7
16ALU
functions
F8
F6(1bit)
F7(1bit)
F8(1bit)
0:SelectY
1:Select4
0:Noaction
1:WMFC
0:Continue
1:End
Figure7.19.
1111:XOR
Anexampleofapartialformatforfieldencodedmicroinstructions.
Further Improvement
Enumerate the patterns of required signals in
Microprogram
Sequencing
If all microprograms require only straightforward
External
Inputs
Condition
codes
Decodingcircuits
AR
Controlstore
I R
Nextaddress
Microinstructiondecoder
Controlsignals
Figure7.22.Microinstructionsequencingorganization.
Microinstruction
F0
F1
F2
F3
F0(8bits)
F1(3bits)
F2(3bits)
F3(3bits)
Addressofnext
microinstruction
000:Notransfer
001:PC out
010:MDR out
011:Z out
100:Rsrcout
101:Rdstout
110:TEMP out
000:Notransfer
001:PCin
010:IRin
011:Z in
100:Rsrc in
101:Rdst in
000:Notransfer
001:MAR in
010:MDR in
011:TEMPin
100:Yin
F4
F5
F6
F7
F4(4bits)
F5(2bits)
F6(1bit)
F7(1bit)
0000:Add
0001:Sub
00:Noaction
01:Read
10:Write
0:SelectY
1:Select4
0:Noaction
1:WMFC
F9
F10
1111:XOR
F8
F8(1bit)
F9(1bit)
F10(1bit)
0:NextAdrs
1:InstDec
0:Noaction
1:ORmode
0:Noaction
1:OR indsrc
Figure7.23. FormatformicroinstructionsintheexampleofSection7.5.3.
0
0
0
0
0
0
0
0
121
122
0 1 0 1 0 0 1 0 1 0 0 01 1 0 0 1 0 0 0 0 01
0 1 1 1 1 0 0 0 0 1 1 10 0 0 0 0 0 0 0 0 00
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
01
00
01
00
00
00
01
10
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
F6 F7 F8 F9 F10
0
0
0
0
1
1
1
0
0
0
0
0
F5
0
0
0
1
1
1
1
0
0
0
0
0
F4
0
0
0
1
1
1
1
0
0
0
0
0
F3
0
1
0
0
1
1
1
0
0
0
0
0
F2
1
0
0
0
0
1
2
3
0
0
0
0
F1
01
00
00
00
7
7
7
7
0
1
2
3
F0
0
0
0
0
01
00
00
00
Figure7.24.ImplementationofthemicroroutineofFigure7.21usinga
nextmicroinstructionaddressfield. (SeeFigure7.23forencodedsignals.)