Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Why use register renaming when ROB is present?

78 views
Skip to first unread message

Zach

unread,
Jan 16, 2023, 4:47:58 AM1/16/23
to
What are the benefits of using register renaming by mapping logical register to physical registers, when Tomasulo's algorithm is used with ROB, considering the fact that by using the ROB, any name dependencies (WAW, WAR) are eliminated?

robf...@gmail.com

unread,
Jan 16, 2023, 8:52:47 AM1/16/23
to
On Monday, January 16, 2023 at 4:47:58 AM UTC-5, Zach wrote:
> What are the benefits of using register renaming by mapping logical register to physical registers, when Tomasulo's algorithm is used with ROB, considering the fact that by using the ROB, any name dependencies (WAW, WAR) are eliminated?

Good homework question. I cannot think of any benefits ATM for a Tomasulo’s algorithm combined with ROB machine.

My somewhat limited understanding is that you are correct that dependencies are eliminated and the ROB effectively supplies new names for registers in the form of a ROB entry index. Operands are managed in terms of ROB entries which is a sort of renaming. So additional renaming is not needed. I think the out-of-order RiSC-16, Prof. Bruce Jacob, covers this. A few years ago I took the RiSC-16 and added explicitly renamed registers then found out it did not make any difference. I think explicit renaming comes into play when a different algorithm is used or the ROB is not used. Not all machines use Tomasulo’s plus ROB. But I maybe missed something as my experience is limited.

MitchAlsup

unread,
Jan 16, 2023, 1:12:26 PM1/16/23
to
On Monday, January 16, 2023 at 3:47:58 AM UTC-6, Zach wrote:
> What are the benefits of using register renaming by mapping logical register to physical registers, when Tomasulo's algorithm is used with ROB, considering the fact that by using the ROB, any name dependencies (WAW, WAR) are eliminated?
<
Tomasulo manages register data-flow for calculation instructions with OoO execution.
The ROB is present for precise exceptions and interrupts.

Quadibloc

unread,
Jan 18, 2023, 1:13:04 AM1/18/23
to
I can't answer your question, but I can give you some background.

While IBM's 360/91, and the other machines derived from it
(360/95, 360/195, 370/195) used Tomasulo's algorithm in its
original form, with Reservation Stations, nearly every other
computer designed by anyone else that provided equivalent
out-of-order execution capabilities used register renaming
instead.

I doubt that it has "benefits", in the sense that the register renaming
approach allows out-of-order execution to be more efficient. Instead,
I think it's more likely that the register renaming approach is just
simpler to implement. Either that, or it was only a way to avoid some
IBM patents.

John Savard
0 new messages