ECE-2002 Computer Organization and Architecture: Dr. Debanjali Sarkar School of Electronics Engineering, VIT-AP
ECE-2002 Computer Organization and Architecture: Dr. Debanjali Sarkar School of Electronics Engineering, VIT-AP
➢Here ‘I’ is the instruction length. The notations (t1, t2, t3) represents
successive time units.
• First time unit: Move the contents of the PC to MAR.
• Second time unit: Move contents of memory location specified by
MAR to MBR. Increment content of PC by I.
• Third time unit: Move contents of MBR to IR.
Indirect Cycle
➢Step 1: Contents of the PC is transferred to the MBR (so that they can
be saved for return).
➢Step 2: MAR is loaded with the address at which the contents of the PC
are to be saved.
➢PC is loaded with the address of the start of the interrupt-routine.
➢Step 3: MBR, containing the old value of PC, is stored in memory.
Instruction Cycle
➢Till now we have seen each phase (fetch, indirect, and interrupt
cycles) decomposed into sequence of elementary micro-operations
➢Complete instruction cycle: Need to tie sequences together
➢Assume new 2-bit register called Instruction cycle code (ICC) which
designates the state of the processor
• 00: Fetch
• 01: Indirect
• 10: Execute
• 11: Interrupt
Instruction Cycle
01
00: Fetch
01: Indirect
10: Execute
11: Interrupt
Write the Micro-operations for each instruction
STC CLC
Instruction register: The opcode and addressing mode of the current instruction
are used to determine which micro-operations to perform during the execute
cycle.
Flags: These are needed by the control unit to determine the status of the
processor and the outcome of previous ALU operations.
Control signals from control bus: The control bus portion of the system bus
provides signals to the control unit.
Control Unit
Control signals to control bus: These are also of two types: control signals to
memory, and control signals to the I/O modules.
Example- Fetch Cycle
PQ = 00 Fetch Cycle
PQ = 01 Indirect Cycle
PQ = 10 Execute Cycle
PQ = 11 Interrupt Cycle
Example
LOAD [2000H]
T1-MAR <- PC
T2-MBR <- MEMORY
PC <- PC + 1
T3-IR <- MBR
Address of Address of
current Control signal next
instruction instruction
000 C0, C1, C4, C7 001
001 C0, C3, C5, C6 101
000 010 C2, C4 001
001
011 C1, C2, C4, C6 010/101
010
011
100 C0, C3, C7 101
100 101 C0, C4, C5 100
101
110 C2, C5, C6 001
110
111
111 C1, C3, C4, C6 011
Wilkes’ Design for Micro programmed Control Unit
000
001
000
001 010
010 011
011
100
100
101 101
110 110
111
111
Actual Microprogrammed control unit
➢Instruction fetched from the
main memory into IR.
➢The processor uses opcode to
identify the address of the first
micro-instruction.
➢That address is loaded into
Micro PC.
➢Corresponding microinstruction
is fetched from control memory.
➢Micro PC- holds address of
next microinstruction
➢Incrementor- Increment PC
after every microinstruction
Actual Microprogrammed control unit
➢Once microinstruction is
fetched from the control
memory, it generates control
signals.
➢Branch Address- in case of
jump microinstructions
➢Branch Condition- in case of
jump with conditions
microinstructions
➢Conditions are selected
based on status flags
through Mux.
➢If condition is true, load
branch address to Micro PC.
Micro-Instruction Format
Micro-Instruction Format
Nano-Programming