CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)
-
Upload
jasper-turner -
Category
Documents
-
view
221 -
download
0
Transcript of CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)
![Page 1: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/1.jpg)
CS2100
Tutorial #9The Processor: Datapath and Control
(Aaron Tan)
![Page 2: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/2.jpg)
lw $24, 0($15)
Q1(i)
100011 01111 11000 0000000000000000R[rt] = M[R[rs]+SignExtImm]
Registers File ALU Data Memory
RR1 RR2 WR WD Opr1 Opr2 Addr WD
RegDest
RegWrite
ALUSrc
MemRead
MemWrite
MemToReg
Branch
ALUop
ALUcontrol
$15 $24 $24
0
MEM([$15]+0) [$15] 0 [$15]+0 [$24]
11
1
0
1
0
00
0010
Next PC value = PC + 4
![Page 3: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/3.jpg)
beq $1, $3, 12
Q1(ii)
000100 00001 00011 0000000000001100If (R[rs]==R[rt]) PC=PC+4+BrAddr
Registers File ALU Data Memory
RR1 RR2 WR WD Opr1 Opr2 Addr WD
RegDest
RegWrite
ALUSrc
MemRead
MemWrite
MemToReg
Branch
ALUop
ALUcontrol
$1 $3 $3 or $0
X
[$1]-[$3] or random [$1] [$3] [$1]-[$3] [$3]
00
0
0
X
1
01
0110
Next PC value = PC + 4 or (PC+4) + (12×4)
![Page 4: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/4.jpg)
sub $25, $20, $5
Q1(iii)
000000 10100 00101 11001 00000 100010R[rd] = R[rs] – R[rt]
Registers File ALU Data Memory
RR1 RR2 WR WD Opr1 Opr2 Addr WD
RegDest
RegWrite
ALUSrc
MemRead
MemWrite
MemToReg
Branch
ALUop
ALUcontrol
$20 $5 $25
1
[$20] – [$5] [$20] [$5] [$20] – [$5] [$5]
10
0
0
0
0
10
0110
Next PC value = PC + 4
![Page 5: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/5.jpg)
Q2(a)
AND instruction Inst-Mem (400) Reg.File (200)
Control (100)
MUX (ALUSrc)(30)
ALU(120)
MUX (MToR)(30)
Reg.File(200)
Not critical path
400+200+30+120+30+200 = 980ps
![Page 6: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/6.jpg)
Q2(b)
LW instruction Inst-Mem (400) Reg.File (200)
Control (100)
ALU(120)
MUX (MToR)(30)
Reg.File(200)
Not critical path
400+200+120+350+30+200 = 1300ps
Why is MUX (ALUSrc) not included this time?
DataMem(350)
![Page 7: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/7.jpg)
Q2(c)
BEQ instruction Inst-Mem (400) Reg.File (200)
Control (100)
ALU(120)
AND(20)
Not critical path
400+200+30+120+20+30 = 800ps
MUX (ALUSrc)(30)
MUX (PCSrc)(30)
How about the green path: PC Adder MUX (PCSrc)?
How about the purple path: Inst.Mem SignExt LeftShift Adder MUX(PCSrc)?
![Page 8: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/8.jpg)
Q3
0
1
1
0Correct Wrong
Lab #9: sayHi.asm
![Page 9: CS2100 Tutorial #9 The Processor: Datapath and Control (Aaron Tan)](https://reader036.fdocuments.in/reader036/viewer/2022082414/5697bfbc1a28abf838ca1ae7/html5/thumbnails/9.jpg)
A spare diagram for your use.