Académique Documents
Professionnel Documents
Culture Documents
Datapath
Input
Memory
Datapath
by the compilerOutput
& the instruction
. #3 is determined
set architecture, which we covered in Ch. 2 & 3.
. Focus on Datapath today and Control next time.
lw, sw
Arithmetic-logical instructions:
op
rs
rt
rd
shamt
funct
6 bits
5 bits
5 bits
5 bits
5 bits
6 bits
op
6 bits
op
6 bits
rs
5 bits
rt
5 bits
Immediate offset
16 bits
target address
26 bits
op: operation
We wont
rs, rt, rd: 2 source registers and 1 destination register.
worry about
shamt: shift amount.
J-type today
funct: variant of the operation in the op field.
address / immediate: address offset or immediate value.
target address: target address of the jump.
CANOS ECSE-2660 Session 8: The Processor Datapath
Remember that
Immediate is
a WORD offset
add
sub
ori
load
Clk
PC
Next Address
Logic
Address
Instruction
Memory
Instruction Word
32
ALU:
A
Select Datapath
Combinational Components
ALU control
3
32
Select
32
Sum
Carry
32
16
Sign
Exten32
der
A
B
16
32
32
MUX
Shift
By n
32
Adder
32
ALU
MUXes:
Carry-In
Zero
Result
B
Adder:
32
Zero
Exten32
der
10
Buffer
Buffers:
Memory:
Write Enable
Write Enable
Data Out
32
Data In
32
Clk
Clk
5
Register
numbers
Data
5
5
Read
register 1
Address
Memory
DataOut
32
Read
data 1
Read
register 2
Registers
Write
register
Read
data 2
Write
data
RegWrite
Data
11
Read a
register 1
In
MIPS
n = 32
Read a
register 2
Fig. C.8.8
in PH
M
U
X
Read data 1
M
U
X
Read data 2
12
Register
number
Fig. C.8.9
in PH
Register
data
0
1
n-to1
decoder
n-2
n-1
C
D
C
D
Register 0
Register 1
C
Register n-2
D
C
Register n-1
D
op
6 bits
rt
5 bits
rd
5 bits
rs
Read
register 1
rt
Read
register 2
rd
Register
Write
register
File
Instruction
Write
data
shamt
5 bits
funct
6 bits
3
Read
data 1
ALU
Read
data 2
ALU operation
Zero
ALU
result
14
rs
rt
6 bits
5 bits
5 bits
Immediate offset
16 bits
R[rt] mem[R[rs]+SignExt(Imm16)]
rs
rt
Instruction
rt
Read
register 1
ReadR[rs]
data 1
Read
register 2
Registers
Write
R[rt]
register
Read
data 2
Write
data
RegWrite
imm16
16
Sign
extend
32
ALUoperation
Zero
ALU ALU
result
MemWrite
Address
Write
data
Read
data
Data
memory
MemRead
15
rs
rt
6 bits
5 bits
5 bits
Immediate offset
16 bits
if (COND eq 0)
PC PC + 4 + (SignExt(imm16) x 4)
else
PC PC + 4
Remember that
Immediate is
a WORD offset
16
rs
rt
6 bits
5 bits
5 bits
Immediate offset
16 bits
Shift
left 2
Read
register 1
Read
register 2
Instruction
Write
register
Write
data
16
Read
data 1
Add sum
be used in
case condition
is satisfied)
ALU operation
ALU zero
Read
data 2
Sign
Extender
Branch
Target (to
32
To branch
control
logic
Fig. 4.9
in PH
17
18
4 ALU operation
Read
register 1
Read
data1
Read
register 2
Registers Read
Write
data2
register
Write
data
RegWrite
16
Fig. 4.10
in PH
Sign
extend
MemWrite
ALUSrc
M
u
x
Zero
ALU ALU
result
Address
Write
data
Read
data
Data
memory
MemtoReg
M
u
x
32
MemRead
Use multiplexers to
stitch them together
CANOS ECSE-2660 Session 8: The Processor Datapath
19
PC
Read
address
Instruction
Instruction
memory
Registers
Read
register 1
Read
Read
data
1
register 2
3
ALUSrc
Read
data 2
Write
register
Write
data
M
u
x
ALU operation
MemtoReg
Zero
ALU ALU
result
Address
Write
data
RegWrite
16
MemWrite
Sign 32
extend
Read
data
M
u
x
Data
memory
MemRead
20
Add
Add ALU
result
4
Shift
left 2
Registers
PC
Read
address
Instruction
Instruction
memory
Read
register 1
Read
Read
data 1
register 2
Write
register
Write
data
RegWrite
16
ALUSrc
Read
data 2
Sign
extend
M
u
x
ALU operation
Zero
ALU ALU
result
32
MemWrite
MemtoReg
Address
Read
data
Data
Write memory
data
M
u
x
MemRead
21
RegWrite
Instruction [25 21]
PC
Read
address
Instruction
[31 0]
Instruction
memory
RegDst
Instruction [15 0]
Read
register 1
Read
register 2
Read
data 1
Read
data 2
Write
register
Write
Registers
data
16
Shift
left 2
ALU
Add result
1
M
u
x
0
MemWrite
MemtoReg
ALUSrc
1
M
u
x
0
ALU
Zero
ALU
result
Sign 32
extend
Address
Read
data
Data
Write
data memory
MemRead
PH Fig. 4.11
22
1
M
u
x
0
PH Fig. 4.15
23
Do Activity 8 Now
24