Download presentation
Presentation is loading. Please wait.
Published byJaiden Maultsby Modified over 10 years ago
1
Datorteknik DelayedBranch bild 1 Delayed Branch All problems solved? NO, what will happen if...... b loop add $4 $6 $1... loop sub
2
Datorteknik DelayedBranch bild 2 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = B loopAdd
3
Datorteknik DelayedBranch bild 3 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = B loopAddsub
4
Datorteknik DelayedBranch bild 4 Delayed Branch - Throughput might decrease, (nop). - Assembler/Compiler dependent. + Keep critical path short
5
Datorteknik DelayedBranch bild 5 All problems solved now? NO, what will happen if........ bal loop add $4 $6 $1 xor.... loop: sub..... j $ra
6
Datorteknik DelayedBranch bild 6 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = > ADDR 0x00400000 bal loop bal loop ADDR 0x00400004
7
Datorteknik DelayedBranch bild 7 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = ADDR 0x00400000 bal loop > ADDR 0x00400004 add ADDR 0x00400004 bal loop add
8
Datorteknik DelayedBranch bild 8 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = ADDR 0x00400004 bal loop add ADDR 0x00400000 bal loop ADDR 0x00400004 add >loop: sub sub
9
Datorteknik DelayedBranch bild 9 Branch logic Sgn/Ze extend Zero ext. sub.. j $ra ALU A B 31 0 4 + + = = = = ADDR 0x00400004 jr $ra
10
Datorteknik DelayedBranch bild 10 Branch logic Sgn/Ze extend Zero ext. Oooh not again!!! ALU A B 31 0 4 + + = = = = 0x00400004 add
11
Datorteknik DelayedBranch bild 11 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 4 4 + + = = = = ADDR 0x00400004 ADDR 0x00400008 Continue at 0x00400008 bal loop add sub
12
Datorteknik DelayedBranch bild 12 Branch logic Sgn/Ze extend Zero ext. sub.. j $ra ALU A B 31 0 4 + + = = = = ADDR 0x00400008 jr $ra
13
Datorteknik DelayedBranch bild 13 All Hazards Fixed but: One “delayed branch” slot
14
Datorteknik DelayedBranch bild 14 What about “delayed Branch” Can we avoid it? How?
15
Datorteknik DelayedBranch bild 15 IM Reg DMReg Delayed Branch Direct Branch Branch Logic IM Reg DMReg Branch Logic
16
Datorteknik DelayedBranch bild 16 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = Delayed Branch
17
Datorteknik DelayedBranch bild 17 Branch logic Sgn/Ze extend Zero ext. ALU A B 31 0 4 + + = = = = Branch logic Direct Branch
18
Datorteknik DelayedBranch bild 18 What about the instruction set? beq $t0 $t0 label? jr $ra? NO, DE is not in path! b label? OK, but the new branch logic needs an ALU to compute the address
19
Datorteknik DelayedBranch bild 19 Different branch logic? Can both branch types coexist? Yes, no problem, but: Old type still uses “delay slot”
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.