12.07.2015 Views

Commonly Used Metrics for Performance Analysis - Power.org

Commonly Used Metrics for Performance Analysis - Power.org

Commonly Used Metrics for Performance Analysis - Power.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Metrics</strong> <strong>for</strong> Per<strong>for</strong>mance <strong>Analysis</strong>9 Branch PredictionThis chapter lists and describes the events, metrics and groups needed to characterize branch mispredictionand branches taken.9.1Descriptions of EventsThere are 12 events, distributed across 4 event groups, needed <strong>for</strong> these POWER7 branch predictionmetrics. These include 1 architected event counting non-idle completed instructions.This section provides more details on each event and how it is triggered.PM_BR_MPREDNumber of Branch MispredictsA branch instruction was predicted. This could have been a target prediction a condition prediction or bothPM_BR_MPRED_CCACHEBranch Mispredict due to Count Cache predictionA branch instruction target was incorrectly predicted due to count cache misprediction. This will result in abranch mispredict flush unless a flush is detected from an older instruction.PM_BR_MPRED_CRBranch mispredict - taken/not takenA conditional branch instruction was incorrectly predicted as taken or not taken. The branch execution unitdetects a branch mispredict because the CR value is opposite of the predicted value. This will result in abranch redirect flush if not overfidden by a flush of an older instruction.PM_BR_MPRED_LSTACKBranch Mispredict due to Link StackA branch instruction target was incorrectly predicted due to Link stack Misprediction. This will result in abranch mispredict flush unless a flush is detected from an older instruction.PM_BR_MPRED_TABranch mispredict - target addressA branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless aflush is detected from an older instruction.PM_BR_PREDBranch Predictions madeA branch prediction was made, counted at branch execute time.PM_BR_PRED_CCACHECount Cache PredictionsA branch instruction target prediction was made using the count cachePM_BR_PRED_CRBranch predict - taken/not takenA conditional branch instruction was predicted as taken or not taken.PM_BR_PRED_LSTACKLink Stack PredictionsA branch instruction target prediction was made using the Link stackPM_BR_TAKENBranch TakenA branch instruction was taken. This could have been a conditional branch or an unconditional branchPM_BRU_FINBranch Instruction FinishedThe branch unit finished a branch type instruction.PM_RUN_INST_CMPLRun InstructionsNumber of <strong>Power</strong>PC instructions completed, gated by the run latch.9.2 <strong>Metrics</strong>Branch prediction is characterized with the following metrics:Copyright ©2011 IBM Corporation Page 28 of 52

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!