I'm contemplating adding a less invasive method of gathering micro-architectural statistics, such as counts of instruction types and traces. As far as I know they current way of doing this is to add to the regStats methods within M5 modules, and add the types of stats to the headers. This doesn't appear to be very flexible as code must be written into modules and recompiled each time a new statistic is required.
I am curious to know if anyone has previously looked at exposing some state through an interface, possibly the static_inst/dyn_inst? A user could then attach a listening object to a port, and snoop the static_inst/dyn_inst, updating external statistics depending on the instruction type etc. Obviously this will slow down the simulation to some extent when a statistics listener is attached, but allows the flexibility to generate traces and statistics very easily. I appreciate that this approach also has limitations. I'd appreciate any comments back from the m5-user community, if anyone can see any obvious pitfalls to this approach please let me know. Thanks, Matt
_______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
