Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
4 Views

About event RESOURCE_STALLS.BR_MISS_CLEAR

Hi,
I was trying to configure the data collector on a Atom platform (Asus EB1501)
and I couldn't find the event "RESOURCE_STALLS.BR_MISS_CLEAR" which I can find on my
Core2Duo PC so is there any event similar to that?
Or is there any other equation I should use to calculate Branch Misprediction Performance Impact
on my Atom platform?
Regards,
Kent
0 Kudos
5 Replies
Highlighted
Employee
4 Views

Simply use event name :BR_INST_RETIRED.MISPRED for Intel Atom Processor

Regards, Peter

0 Kudos
Highlighted
Beginner
4 Views

Hi Peter,
I want to compare Atom 330's Branch Misprediction Performance Impact with other platforms that have this ratio and the event "RESOURCE_STALLS.BR_MISS_CLEAR". But while I was using BR_INST_RETIRED.MISPRED instead of "RESOURCE_STALLS.BR_MISS_CLEAR", the misprediction impact on those platform are not comparable to Atom since the former counts instructions and the latter counts cycles.
So, any idea?
Regards, Kent
0 Kudos
Highlighted
Employee
4 Views

Hi Kent,

Let me clarify more -

1) Event BR_INST_RETIRED.MISPRED is for Atom processors, and other Core processors
2) However event RESOURCE_STALL.BR_MISS_CLEAR is for Core processors ONLY
3) To measure the performance impact of the branch mispredictions use the event RESOURCE_STALLS.BR_MISS_CLEAR on Core platform
4) To know branch misprediction ratio, use:
BR_INST_RETIRED.MISPRED / BR_INST_RETIRED.ANY

Regards, Peter

0 Kudos
Highlighted
Beginner
4 Views

Hi Peter,
I was trying to do is to compare the branch misprediction performance impact between Atom and a Core platform, but according to the description of VTUNE Core's RESOURCE_STALLS.BR_MISS_CLEAR counts cycles and BR_INST_RETIRED.MISPRED counts instructions.
So while my Atom platform measures the performance impact by BR_INST_RETIRED.MISPRED(counts inst.), my Core platform measure by RESOURCE_STALLS.BR_MISS_CLEAR(counts cycles) and this makes me unable to compare directly.
Or the branch misprediction performance impact on Atom is not BR_INST_RETIRED.MISPRED/CLK??
Regards, Kent
0 Kudos
Highlighted
Employee
4 Views

Yes. You cannot compare RESOURCE_STALL.BR_MISS_CLEAR count on Core CPU with BR_INST_RETIRED.MISPRED count directory.Thinking if instruction was prefetched from BTB (Branch Target Buffer), decoded, executed, result was saved into write-buffer, finallyfound that instructionin branchwas mis-predicted. So should redo allof works, it depends on instruction's complexity - so penalty is hard tobe estimated.

BR_INST_RETIRED.MISPRED / INST_RETIRED.ANY gives out mispredication rate. Developers have to reduce such case, use this tool to detect then change branch order in code (if-else-if-, switch, etc), or use Intel C++ compiler's PGO option.

RESOURCE_STALLS.BR_MISS_CLEAR gives out real penalty in cycles. Unfortunately Atom doesn't support on this.

Regards, Peter

0 Kudos