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
