5 ms·
I tried to characterize this on Zen 2 a little while ago[^1], although I don't think that implementation has anything to do with unused physical registers: it
by eigenform 3y ago
I tried to characterize this on Zen 2 a little while ago[^1], although I don't think that implementation has anything to do with unused physical registers: it ultimately relies on the idea that the store queue (48 entries on Zen 2) is an extra set of storage locations. During renaming, you try to look up a store queue entry with some of the operands (ie. a register and some of the displacement bits).
It seems like only the youngest six stores are ever eligible for renaming on Zen 2. I'd love to know how this has changed on Zen 3/4, but I don't have any newer machines to play with.
[^1]: https://github.com/eigenform/perfect/blob/main/src/bin/stlf.rs https://github.com/eigenform/perfect/blob/main/src/bin/stlf....