0

I am studying the out of order processors, so in different types of out of order processors, there are different structures like ARF(architectural register file), PRF(physical register file), ROB(reorder buffer) and FSB(Finished store buffer). Which stores some kind of information for out of order execution. So these structures are storage units? if yes, then on which memory technology they are implemented? are they the same as registers (multi-ported SRAMs)?

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
Neeraj Singh
  • 149
  • 2
  • 3
  • OoO exec CPUs with a PRF usually(?) don't have a separate ARF. e.g. Intel P6-family kept results right in the ROB along with the uops, and had a separate architectural register file that it committed into at retirement. Sandybridge-family has a PRF (actually two: integer vs. SIMD/fp) and just has the RAT pointing at the right PRF entries to track a consistent retirement state. (https://www.realworldtech.com/sandy-bridge/ discusses the change) – Peter Cordes Dec 14 '21 at 22:02
  • Never heard of a "finished store buffer" separate from the normal store buffer. Stores in the store buffer are "graduated" (ready to commit) if the associated store instruction/uop has retired from the ROB, and thus known non-speculative. But that doesn't involve copying the SB entry anywhere; I think in most designs, the SB is just a ring buffer that's allocated in program order and freed during commit to L1d cache (in x86-64, also in program order; IDK what weakly-ordered ISAs do about entries freed early). So yeah, I think it's basically just SRAM cells or flip-flops for the data. – Peter Cordes Dec 14 '21 at 22:06

0 Answers0