Professional Documents
Culture Documents
Control Unit: CS1251 Computer Organization Carl Hamacher
Control Unit: CS1251 Computer Organization Carl Hamacher
copyright 2011-2015
WWW.VidyarthiPlus.in
Control Unit
MEM
MAR PC IR
MDR R0 R1
. . .
Control
ALU
Rn-1
Processor
WWW.VidyarthiPlus.in
Fetch
MAR [PC] PC [PC] + 1 MDR [MEM([MAR])] IR [MDR]
Execute
MAR NUM1 MDR [MEM([MAR])] R1 [MDR]
copyright 2011-2015
WWW.VidyarthiPlus.in
Single-Bus Architecture
BUS A
MAR MEM
1
PC MDR
MUX
2 1 2 1
IR
2
MUX
REGS
A ALU R B
copyright 2011-2015
WWW.VidyarthiPlus.in
Instruction Execution
Perform one or more of the following operations in some specified sequence
Transfer a word of data from one processor register to another or to the ALU Perform an arithmetic or logic operation and store the result in a processor register Load the contents of a given memory location into a processor register Store a word of data from a processor register into a given memory location
copyright 2011-2015
WWW.VidyarthiPlus.in
Memory Timing
MOVE NUM1,R1 1. MAR NUM1 2. MDR [MEM([MAR])] 3. R1 [MDR] One Clock Cycle ? Clock Cycles One Clock Cycle
copyright 2011-2015
WWW.VidyarthiPlus.in
Memory Detail
MEM
ADDRESS
MAR
REG
DATA_OUT DATA_IN Enable_Out CLK Enable_In
BUS_A
RAM
Write Enable_In1 DATA_IN1 DATA_OUT1 Enable_Out1 CLK Enable_Out2 DATA_OUT2 DATA_IN2 Enable_In2
DATA_OUT DATA_IN
REG_2PORT
MDR
Memory Timing
Step 1 2 3 RTN MAR NUM1 MDR [MEM([MAR])] R1 [MDR] Control Signals
copyright 2011-2015
WWW.VidyarthiPlus.in
Memory Timing
Step 1 2 3 RTN MAR NUM1 Control Signals MAR_En_In, IR_En_Out1
MDR [MEM([MAR])] MEM_Read, MDR_En_In1, Wait MCF R1 [MDR] MDR_En_Out2, REGS_Sel, REGS_Write
copyright 2011-2015
WWW.VidyarthiPlus.in
WWW.VidyarthiPlus.in
10
Another Example
ADD (R3),R1
Fetch
MAR [PC] PC [PC] + 1 MDR [MEM([MAR])] IR [MDR]
Execute
MAR [R3] MDR [MEM([MAR])] Y [R1] Z [Y] + [MDR] R1 [Z]
copyright 2011-2015
WWW.VidyarthiPlus.in
11
Control Signals
ADD (R3),R1
Step 1 2 3 4 5 6 7 RTN MAR [PC], PC [PC] + 1 MDR [MEM([MAR])] IR [MDR] MAR [R3] MDR [MEM([MAR])], Y [R1] Z [Y] + [MDR] R1 [Z] Control Signals
copyright 2011-2015
WWW.VidyarthiPlus.in
12
Control Signals
ADD (R3),R1
Step 1 2 3 4 5 6 7 RTN MAR [PC], PC [PC] + 1 MDR [MEM([MAR])] IR [MDR] MAR [R3] MDR [MEM([MAR])], Y [R1] Z [Y] + [MDR] R1 [Z] Control Signals MAR_En_In, PC_En_Out, PC_Inc MEM_Read, MDR_En_In1 MDR_En_Out2, IR_En_In1 MAR_EN_In, REGS_Sel, REGS_Read MEM_Read, MDR_En_In1, REGS_Sel, REGS_Read, Y_En_In1 Y_En_Out1, MDR_En_Out2, ALU_Op = Add, Z_En_In Z_En_Out, REGS_Sel, REGS_Write
copyright 2011-2015
WWW.VidyarthiPlus.in
13
Branch Instructions
MOVE MOVE MOVE LOOP ADD ADD ADD BGTZ MOVE HALT N,R1 #NUM1,R2 #0,R0 (R2),R0 #1,R2 #-1,R1 LOOP R0,SUM
BGTZ -4 PC
copyright 2011-2015
WWW.VidyarthiPlus.in
14
Branch Instructions
BGTZ LOOP
Execute
if CC>0, PC [PC] + [IR]
Condition Code
Z = 0, N = 0
copyright 2011-2015
WWW.VidyarthiPlus.in
15
PC
1
IR 2
A1 A2
1 2
REGS
MUX
ALU R
B NZVC
2 3
MDR 1
MAR
MEM
copyright 2011-2015 WWW.VidyarthiPlus.in 16
Example Revisited
ADD (R3),R1
Fetch
MAR [PC] PC [PC] + 1 MDR [MEM([MAR])] IR [MDR]
Execute
MAR [R3] MDR [MEM([MAR])] R1 [MDR] + [R1]
copyright 2011-2015
WWW.VidyarthiPlus.in
17
Control Signals
ADD (R3),R1
Step 1 2 3 4 5 6 RTN MAR [PC], PC [PC] + 1 MDR [MEM([MAR])] IR [MDR] MAR [R3] MDR [MEM([MAR])] R1 [MDR] + [R1] Control Signals
copyright 2011-2015
WWW.VidyarthiPlus.in
18
Control Signals
ADD (R3),R1
Step 1 2 3 4 5 6 RTN MAR [PC], PC [PC] + 1 IR [MDR] MAR [R3] Control Signals MAR_En_In, PC_En_Out, ALU_Op = Pass_B, PC_Inc MDR_En_Out2, IR_En_In1, ALU_Op = Pass_A MAR_EN_In, REGS_Read1, ALU_Op = Pass_A MDR_En_Out2, REGS_Read2, ALU_Op = Add, REGS_Write
copyright 2011-2015
WWW.VidyarthiPlus.in
19
Questions?
This image cannot currently be display ed.
copyright 2011-2015
WWW.VidyarthiPlus.in
20