Hi all,
I need to gather some statistics for every instruction. Statistics
include whether the instruction got an I-TLB of D-TLB miss, an L1 iCache
or dCache miss, an L2 Cache miss etc. I imagined that the best moment to
gather these statistics would be just before each instruction retires.
So I added some variables inside the dynamic_inst_t class which I update
whenever such an event takes place.
However, by the time the instruction reaches the retire stage, none of
these variables is set. I believe that this happens because every time
such an event takes place the instruction is squashed and reissued. Am I
right in what I am saying?
Is there a way to gather such execution statistics for each instruction?
Thanks in advance,
Nikolas
|