data hazards
DESCRIPTION
Data Hazards. 0x30 sub $6 $0 $1 0x34 add $7 $6 $1. Step 3, we calculate $0 - $1. Reg. 0x30 sub $6 $0 $1. IM. DM. Reg. 0x34 add $7 $6 $1. Reg. IM. DM. Reg. ! ! ! HAZARD ! ! ! OLD VALUE OF $6. Step 4, we calculate $1 + $6. Reg. 0x30 sub $6 $0 $1. IM. DM. Reg. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/1.jpg)
Datorteknik DataHazard bild 1
Data Hazards
0x30 sub $6 $0 $1 0x34 add $7 $6 $1 ... .. .
![Page 2: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/2.jpg)
Datorteknik DataHazard bild 2
IM
Reg DM Reg
Step 3, we calculate $0 - $1
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 add $7 $6 $1
! ! ! HAZARD ! ! !
OLD VALUE OF $6
![Page 3: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/3.jpg)
Datorteknik DataHazard bild 3
IM
Reg DM Reg
Step 4, we calculate $1 + $6
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 add $7 $6 $1
![Page 4: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/4.jpg)
Datorteknik DataHazard bild 4
IM
Reg DM Reg
Step 5, Now we write $6
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 add $7 $6 $1
HAZARD OVERNEW VALUE OF $6
WRITTEN TO REGFILE
![Page 5: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/5.jpg)
Datorteknik DataHazard bild 5
IM
Reg DM Reg
Step 2, nop
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 nop
IM
Reg DM Reg
IM
Reg DM Reg
![Page 6: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/6.jpg)
Datorteknik DataHazard bild 6
IM
Reg DM Reg
Step 3, nop
IM
Reg DM Reg
IM
Reg DM Reg
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 nop
0x38 nop
![Page 7: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/7.jpg)
Datorteknik DataHazard bild 7
IM
Reg DM Reg
Step 4, add $7 $6 $1
IM
Reg DM Reg
IM
Reg DM Reg
IM
Reg DM Reg0x3C add $7 $6 $1
0x30 sub $6 $0 $1
0x34 nop
0x38 nop
![Page 8: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/8.jpg)
Datorteknik DataHazard bild 8
IM
Reg DM Reg
Step 5, new $6 used
IM
Reg DM Reg
IM
Reg DM Reg
IM
Reg DM Reg0x3C add $7 $6 $1
0x30 sub $6 $0 $1
0x34 nop
0x38 nop
![Page 9: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/9.jpg)
Datorteknik DataHazard bild 9
Data Hazards
Read After Write Solved by inserting “nop” operations
(bubbles) or by hardware “stalling” the pipe
![Page 10: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/10.jpg)
Datorteknik DataHazard bild 10
Cost?
+ Hardware inexpensive - Performance (throughput)
![Page 11: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/11.jpg)
Datorteknik DataHazard bild 11
Data Hazards
sub $6 $0 $1
add $7 $6 $1
add $7 $7 $6
..
.
![Page 12: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/12.jpg)
Datorteknik DataHazard bild 12
IM
Reg DM Reg
We calculate $0 - $1
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 add $7 $6 $1
! ! ! HAZARD ! ! !
OLD VALUE OF $6
![Page 13: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/13.jpg)
Datorteknik DataHazard bild 13
IM
Reg DM Reg
We “forward” the new result
IM
Reg DM Reg
0x30 sub $6 $0 $1
0x34 add $7 $6 $1
HAZARD SOLVED BY“FORWARDING”
![Page 14: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/14.jpg)
Datorteknik DataHazard bild 14
Branch
logic
Sgn/Ze
extend
Zero ext.
ALU
A
B
31
0
4+
+
HERE IS THE RESULT
0x30 sub $6 $0 $1 0x34 add $7 $6 $1> 0x38 add $7 $7 $1 ... ..
![Page 15: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/15.jpg)
Datorteknik DataHazard bild 15
Branch
logic
Sgn/Ze
extend
Zero ext.
ALU
A
B
31
0
4+
+
WE NEED IT HERE
0x30 sub $6 $0 $1 0x34 add $7 $6 $1> 0x38 add $7 $7 $1 ... ..
![Page 16: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/16.jpg)
Datorteknik DataHazard bild 16
A
B
0
DATA WORD
0x30 sub $6 $0 $1 0x34 add $7 $6 $1> 0x38 add $7 $7 $1 ... ..
sub $6 $0 $1add $7 $6 $1
![Page 17: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/17.jpg)
Datorteknik DataHazard bild 17
=
A
B
0
REG NR
sub $6 $0 $1add $7 $6 $1
0x30 sub $6 $0 $1 0x34 add $7 $6 $1> 0x38 add $7 $7 $1 ... ..
![Page 18: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/18.jpg)
Datorteknik DataHazard bild 18
Branch
logic
Sgn/Ze
extend
Zero ext.
ALU
A
B
31
0
4+
+
0x30 sub $6 $0 $1 0x34 add $7 $6 $1 0x38 add $7 $7 $6> 0x3C sw $5 4($0)
![Page 19: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/19.jpg)
Datorteknik DataHazard bild 19
ALU
A
B
0
=
=
0x30 sub $6 $0 $1 0x34 add $7 $6 $1 0x38 add $7 $7 $6> 0x3C sw $5 4($0)
sub $6 $0 $1add $7 $6 $1add $7 $7 $6
![Page 20: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/20.jpg)
Datorteknik DataHazard bild 20
ALU
A
B
0
= =
= =
0x30 sub $6 $0 $1 0x34 add $7 $6 $1 0x38 add $7 $7 $6> 0x3C sw $5 4($0)
sub $6 $0 $1add $7 $6 $1add $7 $7 $6
![Page 21: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/21.jpg)
Datorteknik DataHazard bild 21
Data Hazards
sub $6 $0 $1
add $6 $6 $1
add $7 $6 $1
..
.
![Page 22: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/22.jpg)
Datorteknik DataHazard bild 22
ALU
A
B
0
= =
= =
0x30 sub $6 $0 $1 0x34 add $6 $6 $1> 0x38 add $7 $6 $1 ... ..
sub $6 $0 $1add $6 $6 $1add $7 $6 $1
![Page 23: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/23.jpg)
Datorteknik DataHazard bild 23
Performance
No “Bubbles” or “Stalls”– increased throughput
But did we change the critical path?– Topological sort
– Static timing analysis
![Page 24: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/24.jpg)
Datorteknik DataHazard bild 24
Branch
logic
Sgn/Ze
extend
Zero ext.
ALU
A
B
31
0
4+
+
= =
= =
![Page 25: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/25.jpg)
Datorteknik DataHazard bild 25
=
=
Forwarding Logic
&
WReg #
&
Reg #
>=1 WDRD/DWT
DATADATA
![Page 26: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/26.jpg)
Datorteknik DataHazard bild 26
Branch
logic
Sgn/Ze
extend
Zero ext.
ALU
A
B
31
0
4+
+
= =
= =
Critical path ALU?
![Page 27: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/27.jpg)
Datorteknik DataHazard bild 27
Branch
logic
Sgn/Ze
extend
Zero ext.
ALU
A
B
31
0
4+
+
= =
= =
Critical path DATA MEMORY?
![Page 28: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/28.jpg)
Datorteknik DataHazard bild 28
All problems solved?
NO, what will happen if......
lw $6 $0($1) add $4 $6 $1 add $7 $6 $2
![Page 29: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/29.jpg)
Datorteknik DataHazard bild 29
IM
Reg DM Reg
OK, “DM” to “DE”
IM
Reg DM Reg
IM
Reg DM Reg
0x30 lw $6 $0($1)
0x34 add $4 $6 $1
0x38 add $7 $6 $2
![Page 30: Data Hazards](https://reader035.vdocuments.us/reader035/viewer/2022070400/5681357f550346895d9cde03/html5/thumbnails/30.jpg)
Datorteknik DataHazard bild 30
IM
Reg DM Reg
“DM” to “EX” ?
IM
Reg DM Reg
IM
Reg DM Reg
0x30 lw $6 $0($1)
0x34 add $4 $6 $1
0x38 add $7 $6 $2