Thanks for the quick response!

What I do is I comment out the block of code in bpred_impl.hh that checks
for if (!isCondCtrl()) and let unconditional branches be looked up in the
local predictor. Once this code is commented, I run several simulations
each with a different BP size: 32, 256, 1024, 2048, 4096 entries In the BP
(the rest of the setup is the same as the original model) and what I
observed is a monotonic increase in the number of mispredictions. I have
spend several days debugging the code and as far as I can see, things are
setup fine... So, I'm guessing this is a bug that quite under the hood.

Let me add that I have run several spec benchmarks and they all exhibit the
same behavior. I'm using the version of gem5 from summer 2012.

Also, I believe this behavior is wrong because as the size of the predictor
increases aliasing probability drops and he number of mispredictions ought
to drop (unless a corner case happens....)

On Thursday, January 16, 2014, Anthony Gutierrez <[email protected]> wrote:

> I'm not quite sure exactly what it is you're doing, but if I am following
> correctly it doesn't seem like a bug. If you are allowing unconditional
> branches to pollute the predictor's history tables with an "always taken"
> prediction for that particular PC, then the behavior describing could be
> reasonable.
>
>
> Anthony Gutierrez
> http://web.eecs.umich.edu/~atgutier
>
>
> On Thu, Jan 16, 2014 at 9:01 PM, Milad Mohammadi 
> <[email protected]<javascript:_e({}, 'cvml', '[email protected]');>
> > wrote:
>
>> Hi,
>>
>> The gem5 local branch predictor exhibits a larger number of mispredictions
>> as you increase the size of the predictor. This happens when I allow
>> "unconditional" branches to be looked up in the predictor.
>>
>> Please advise what is the reason behind this bug.
>> The correct behavior is regardless what type of instructions are looked up
>> in the BP as the BP size increases, the accuracy drops.
>>
>> Thanks!
>> Milad
>> _______________________________________________
>> gem5-dev mailing list
>> [email protected] <javascript:_e({}, 'cvml', '[email protected]');>
>> http://m5sim.org/mailman/listinfo/gem5-dev
>>
>
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to