Reading and writing to data memory

Download Report

Transcript Reading and writing to data memory

Reading and Writing to
Data Memory

rs
Lw rt Imm(rs)
Imm
5
Register
file
16
Sign extend
32
Offset
Base address
+
Data address to data memory
Computer Engineering LoadStoreInstr page 1
Offset
Lw
rs
rt 4(rs)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Computer Engineering LoadStoreInstr page 2
Reading and Writing to
Data Memory

Lb rt Imm(rs)
Address (32 bits)
Data (8 bits)
Data memory
Sign extension
Lbu: Zero extend
There are also Lh and Lhu
Computer Engineering LoadStoreInstr page 3
Reading and Writing to
Data Memory

Sw rt Imm(rs)
Sh rt Imm(rs)
Sb rt Imm(rs)

Remember: Alignment for Sw and Sh


Computer Engineering LoadStoreInstr page 4
Read and Write From/ to the Data
Memory





Lw
Lh
Lhu
Lb
Lbu
rt Imm(rs)
rt Imm(rs)
rt Imm(rs)
rt Imm(rs)
rt Imm(rs)
Sw
Sh
rt Imm(rs)
rt Imm(rs)
Sb
rt Imm(rs)
Computer Engineering LoadStoreInstr page 5
Zero ext.
Branch
logic
0
A
ALU
4
B
+
Sgn/Ze
extend
31
+
Lw rt Imm(rs)
Computer Engineering LoadStoreInstr page 6
Zero ext.
Branch
logic
0
A
ALU
4
B
+
Sgn/Ze
extend
31
+
Lw rt Imm(rs)
Computer Engineering LoadStoreInstr page 7
Zero ext.
Branch
logic
0
A
ALU
4
B
+
Sgn/Ze
extend
31
Lw rt Imm(rs)
+
Read Data
Computer Engineering LoadStoreInstr page 8
Zero ext.
Branch
logic
0
A
ALU
4
B
+
Sgn/Ze
extend
31
+
Lw rt Imm(rs)
… next instr
Computer Engineering LoadStoreInstr page 9
Zero ext.
Branch
logic
0
A
ALU
4
B
+
Sgn/Ze
extend
31
+
Sw rt Imm(rs)
Computer Engineering LoadStoreInstr page 10
Zero ext.
Branch
logic
0
A
ALU
4
B
+
Sgn/Ze
extend
31
Sw rt Imm(rs)
+
Write Data
Computer Engineering LoadStoreInstr page 11