in CO and Architecture edited by
284 views
1 vote
1 vote
1) why bypassing cannot eliminate RAW dependency ?

2) what are the dependencies register renaming can eliminate and why ?
in CO and Architecture edited by
by
284 views

4 Comments

Register renaming is the solution for WAR and WAW.....

main problem WAR is like this...

1.R1+R2->R3

2.R0+Ri->R1....here if second instruction is executed before 1st then it would lead a problem......now if we rename the register R1 with Rtemp and store the result of 2nd instruction in Rtemp and later after the Write back phase of 1st instruction we can store the value of Rtemp to R1 and it would not lead any conflict...

similerly for WAW

0
0

@hs

anyway the second instruction has to use value of R1 from first instruction to get the correct result

so store it in R1 and then second instruction is used

i am not properly understanding the use of renaming here

R0+Ri->R1

R1+R2->R3

0
0

A_i_$_h 

R0+Ri->R1 (write the value of R1)

R1+R2->R3(Read the value of R1)  here we could wait till write back operation ..then only we can start Execution or operend fetching...

Solution:-Fast forwarding 

above is the problem of RAW not WAR and Register renaming remove the problem of WAR and WAW...

0
0
@hs

are you sure ? it should be WAR because D(i) intersection R(j) != phi

and thats the example you gave tooo in your before comment
1
1

Please log in or register to answer this question.