Hi all, Then, considering Arthur's answer, I suppose that we can remove BPredUnit::predictInOrder() rather than updating and not testing it.
Regards, -- Fernando A. Endo, Post-doc INRIA Rennes-Bretagne Atlantique France 2016-11-21 19:19 GMT+01:00 Arthur Perais <[email protected]>: > 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 <[email protected]> >> 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 <[email protected]> >>> 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 <[email protected]>: >>> >>> 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 <[email protected]> >>>> 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 >>>> [email protected] >>>> http://m5sim.org/mailman/listinfo/gem5-dev >>>> _______________________________________________ >>>> gem5-dev mailing list >>>> [email protected] >>>> http://m5sim.org/mailman/listinfo/gem5-dev >>>> >>>> _______________________________________________ >>> gem5-dev mailing list >>> [email protected] >>> http://m5sim.org/mailman/listinfo/gem5-dev >>> >>> >>> _______________________________________________ >> gem5-dev mailing list >> [email protected] >> http://m5sim.org/mailman/listinfo/gem5-dev >> > > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
