Thanks.
Would be enough to change a bit the lookupAndUpdateNextPC() function such
that the return is always false ?
I mean changing the:

    if (!inst->isControl()) {
        TheISA::advancePC(nextPC, inst->staticInst);
        inst->setPredTarg(nextPC);
        inst->setPredTaken(false);
        return false;
    }


to

//    if (!inst->isControl()) {
        TheISA::advancePC(nextPC, inst->staticInst);
        inst->setPredTarg(nextPC);
        inst->setPredTaken(false);
        return false;
 //   }

 ?


On Tue, Oct 23, 2012 at 10:02 AM, Mitch Hayenga <
mitch.hayenga+g...@gmail.com> wrote:

> Since gem5 the O3 cpu model actually executes instructions @ execute (not
> fetch/decode) a perfect branch predictor is a bit tricky.  Assuming you are
> running a single-threaded app in SE mode (so you don't have
> OS/multi-threaded time variance issues), you could simply run the
> application twice.  Save the branch outcomes from the first run.  Then
> re-run the app, with a "predictor" that just uses the branch results from
> the first time you ran the application.
>
> On Mon, Oct 22, 2012 at 8:43 PM, mihai pricopi <mihai.pric...@gmail.com>wrote:
>
>> Hi,
>>
>>  I am using arm_detailed SE mode.
>>  Is there a simple way to force the branch predictor to do perfect
>> prediction ?
>>
>> Thanks
>>
>> _______________________________________________
>> gem5-users mailing list
>> gem5-users@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>
>
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to