I suppose it was called by the InOrder CPU once upon a time. Now the Minor CPU uses the same branch prediction code as the o3 CPU, which may have led to the current inconsistencies in how branch predictors handle out-of-order mispredictions (or not :)).

I've submitted a patch regarding this recently (http://reviews.gem5.org/r/3727/), feel free to take a look.

Arthur.


Le 21/11/2016 à 16:40, Jason Lowe-Power a écrit :
Hi Fernando,

I don't know what he original use of predictInOrder was, but you're right,
it doesn't look like it's in use now. You may be able to figure out what it
was used for by inferring its function from the code.

Jason

On Sun, Nov 13, 2016 at 2:37 PM Jason Lowe-Power <ja...@lowepower.com>
wrote:

Hi Fernando,

I have no idea, off the top of my head. I'd have to look into the code
and/or the history of the file to figure it out.

I'm busy with an ISCA submission right now, but I can find time to look
into this in a week or so.

Cheers,
Jason

On Sun, Nov 13, 2016 at 2:26 PM Fernando Endo <fernando.en...@gmail.com>
wrote:

Hi Jason,

I've been working a bit on the integration, and I wondered what is and
where this method is used:

BPredUnit::predictInOrder()

I greped the source and built code and did not find a calling point.

Thanks,

--
Fernando A. Endo, Post-doc

INRIA Rennes-Bretagne Atlantique
France


2016-11-06 21:38 GMT+01:00 Jason Lowe-Power <ja...@lowepower.com>:

Hi Fernando,

Yes, it seems like a good idea to include a TAGE predictor in gem5.
Please
make patches and post them to the reviewboard. We welcome the
contribution.
Additionally, I believe there was a recent email about a possible bug
when
updating the branch predictor state on a mis-speculation. If you're
familiar with this code, or know of a fix for this, we would appreciate a
patch. Or, if it's actually not broken, that would be great, too. It's
part
of the code that I'm not very familiar with.

Cheers,
Jason

On Fri, Nov 4, 2016 at 9:46 AM Fernando Endo <fernando.en...@gmail.com>
wrote:

Hello all,

I'd like to know if the gem5 community would like to have a TAGE branch
prediction in gem5.
In my branch it seems to be working, so if you give me a positive
feedback
I may spend some spare time to rebase and test the patch over mainstream.

More specifically, I took the CBP2016 winner and removed local prediction
tables. This specific version is called TAGE-GSC (Global Statistical
Corrector) and should go to src/cpu/pred/tage-gsc.hh. This file is
functionally equivalent to the original CBP2016 winner and can be
compared
against it without modification. Then, a glue code was implemented in
src/cpu/pred/TAGE.hh and src/cpu/pred/TAGE.cc, making tage-gsc.hh to work
in gem5.

I validated the gem5 implementation by comparing the predictor at fetch
with a validator at commit. The prediction tables must be the same.

Regards,

--
Fernando A. Endo, Post-doc

INRIA Rennes-Bretagne Atlantique
France
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to