Hi,
I would like to clarify some stats about branch predictor I don't
understand. A sample of bpred stats is here:
branchpred {
ras { (zero) }
ret[2] = {
Minimum: 88096
Maximum: 1258897
Average: 0.935
Total Sum: 1346993
Weighted Sum: 1258897
Threshold: 135
[ 6.5% ] 0 88096 mispred
[ 93.5% ] 1 1258897 correct
};
predictions = 29530076;
cond[2] = {
Minimum: 699596
Maximum: 14311786
Average: 0.953
Total Sum: 15011382
Weighted Sum: 14311786
Threshold: 1502
[ 4.7% ] 0 699596 mispred
[ 95.3% ] 1 14311786 correct
};
summary[2] = {
Minimum: 926962
Maximum: 20832089
Average: 0.957
Total Sum: 21759051
Weighted Sum: 20832089
Threshold: 2176
[ 4.3% ] 0 926962 mispred
[ 95.7% ] 1 20832089 correct
};
indir[2] = {
Minimum: 139270
Maximum: 303933
Average: 0.686
Total Sum: 443203
Weighted Sum: 303933
Threshold: 45
[ 31.4% ] 0 139270 mispred
[ 68.6% ] 1 303933 correct
};
updates = 20626719;
}
My confusion is: the number of summary.mispred equals the sum of
ret.mispred, cond.mispred, and indir.mispred, however, summary.correct is
larger then the sum of ret.correct, cond.correct and indri.correct. From the
numbers I can only say there are some branches not covered by any of ret,
cond and indir type. Moreover, predictions of such branches are always
correct... If this is the case, I would like to know what kinds of branches
result in 100% prediction accuracy. Or is there any discrepancy in collect
stats for branch predictor?
Thanks in advance.
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel