Hi Nathanael, I intend to split it into multiple steps, if nothing else just to make reviewing the changes more feasible.
Gabe On Mon, Mar 1, 2021 at 1:51 AM Nathanael Premillieu < [email protected]> wrote: > Hi Gabe, > > > > I totally agree with you on this. > > I think it’s also quite a blocker when learning gem5 as it makes the code > difficult to follow and understand. > > Do you intend to do it as one big patch or split that into several steps > (if that’s possible)? > > > > Thanks, > > Nathanael > > > > *From:* Gabe Black via gem5-dev [mailto:[email protected]] > *Sent:* Saturday, February 27, 2021 11:13 AM > *To:* gem5 Developer List <[email protected]> > *Cc:* Gabe Black <[email protected]> > *Subject:* [gem5-dev] de-templating the O3 CPU > > > > Hi folks. The O3 CPU uses templates pretty heavily, I think nominally to > make it possible to switch in different parts of the CPU to change how, for > example, a pipeline stage is implemented. > > > > Realistically, the different parts of the CPU are probably too > interdependent for that to actually work, and all the templates and > indirection make the code a lot more complicated than it really needs to be. > > > > Also, there is a pseudo-generic dynamic instruction base class in > cpu/base_dyn_inst.hh which could, again theoretically, be used as a base > class for other CPUs to reuse. Unfortunately that too is probably too tied > to its only consumer, the O3 CPU, to be realistically reusable. > > > > I would like to merge the base dynamic instruction class into the O3 > version, and then de-templatize the whole O3 CPU. I think that will make > the code a lot easier to work on, and I think our ability to maintain and > update O3 is something we need to improve in at least the medium term. > > > > Any thoughts? Objections? Votes of support? > > > > Gabe >
_______________________________________________ gem5-dev mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
