Why UOPS_RETIRED.ALL greater than UOPS_RETIRED.RETIRE_SLOTS
Could you explain me a difference between those two events UOPS_RETIRED.ALL_PS and UOPS_RETIRED.RETIRE_SLOTS_PS on Sandy Bridge?
I would expect that those events should give approximately the same numbers, since number of used slots should agree we with number of retired uops during period of time. Data below shows that number of used retirement slots is lesser by ~20% than number ups retired.
Is it possible that uops retired w/o using slot?
UOPS_RETIRED.ALL_PS - This event counts the number of micro-ops retired.
UOPS_RETIRED.RETIRE_SLOTS_PS - This event counts the number of retirement slots used each cycle. There are potentially 4 slots that can be used each cycle - meaning, 4 micro-ops or 4 instructions could retire each cycle. This event is used in determining the 'Retiring' category of the Top-Down pipeline slots characterization.
Hardware Event Type Hardware Event Count Hardware Event Sample Count Events Per Sample