By: Etienne (etienne_lorrain.delete@this.yahoo.fr), February 5, 2013 7:55 am
Room: Moderated Discussions
Jouni Osmala (josmala.delete@this.cc.hut.fi) on February 5, 2013 7:59 am wrote:
> When you rename registers, the registers after pipeline are not same as register
> before register renaming stage. In register renaming the registers are changed
> from what programmer sees to a (physical or something else in some experiments)
> before instructions entering OoO core. [...] So you cannot just nullify it, and
> need to replace it with movement from old value to new value, and that
> reservation station or execution unit still needs the OLD value as additional
> dependency and dependency on branch instruction.
Or, assuming you have physical registers (and not something else in some experiments),
you just have to initialize the physical register at register renaming stage.
I understand that it may delay the renaming until you have its value, that may
be unacceptable.
> Now the point of nullification usefulness is at execution stage and in reservation
> stations, far after register renaming. [...]
If I understand correctly, you say that making every instruction dependent on a mask
of bits would not improve things because that would reduce the number of instructions
"in flight" - that is possible.
Anyway, thanks for the detailed explanation.
Etienne.
> When you rename registers, the registers after pipeline are not same as register
> before register renaming stage. In register renaming the registers are changed
> from what programmer sees to a (physical or something else in some experiments)
> before instructions entering OoO core. [...] So you cannot just nullify it, and
> need to replace it with movement from old value to new value, and that
> reservation station or execution unit still needs the OLD value as additional
> dependency and dependency on branch instruction.
Or, assuming you have physical registers (and not something else in some experiments),
you just have to initialize the physical register at register renaming stage.
I understand that it may delay the renaming until you have its value, that may
be unacceptable.
> Now the point of nullification usefulness is at execution stage and in reservation
> stations, far after register renaming. [...]
If I understand correctly, you say that making every instruction dependent on a mask
of bits would not improve things because that would reduce the number of instructions
"in flight" - that is possible.
Anyway, thanks for the detailed explanation.
Etienne.