The Gateway to Computer Science Excellence
+29 votes

Register renaming is done in pipelined processors:

  1. as an alternative to register allocation at compile time
  2. for efficient access to function parameters and local variables
  3. to handle certain kinds of hazards
  4. as part of address translation
in CO and Architecture by
edited by | 6k views

2 Answers

+46 votes
Best answer

Register renaming is done to eliminate WAR (Write after Read) and WAW (Write after Write) dependency between instructions which could have caused pipieline stalls. Hence, (C) is the answer.


I1: Read $A$ to $B$
I2: Write $C$ to $A$

Here, there is a WAR dependency and pipeline would need stalls. In order to avoid it register renaming is done and 

Write $C$ to $A$
will be 
Write $C$ to $A$' 

WAR dependency is actually called anti-dependency and there is no real dependency except the fact that both uses same memory location. Register renaming can avoid this. Similarly WAW also.

edited by
1. I understand the output of the example on the 2nd page of the pdf but steps are not given for it. Can you explain how that renaming is done with the help of that table?

2. Also is Tomasulo algo important?

3. Can you also explain example on page:

4. Any resource, especially reference book explaining this in detail?

By using register renaming can we eliminate all stalls created by a name dependency?

I think NO, bcz for a large program it requires large number of registers which may be  limited to some processor.

reena why are saying register renaming does not eliminate all name dependency in all this type of question if you read some where then share  reference
0 votes
→ Register renaming is used to eliminate hazards that arise due to WAR (Write After Read) and WAW(Write After Write) dependencies.

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
52,345 questions
60,470 answers
95,272 users