Hi everyone,

I've just posted to the review board 12 patches that enable me to perform SMARTS-like sampling simulation. Most are finished and I'd be happy to commit them if everyone is ok with them. A couple are not quite there yet and I'd like input on whether they are correct and whether I'm doing things in the best way.

To summarise what I've done:

1) Taken the branch predictor out of O3CPU and made it a stand-alone SimObject that is accessible from python;

2) Added functionality to the simple CPUs to allow them to warm the branch predictor;

3) Altered the takeOverFrom functions so that CPU memory is always connected up if required. Also provided functions to mark all cache data as ready which is required after functional warming;

4) Provided functions available in python to get the number of instructions executed by each CPU and to set the maximum number to execute for the next phase;

5) Provided the ability to backup and restore stats so that they are not counted during the warming up phase;

6) Altered the example simulation scripts so that folk can see how I am simulating like this and do it themselves;

7) Made various bug fixes and alterations to correct corner cases I found when implementing this stuff.

I'm not so sure about 1) and it would be good to get Kevin's input on that. I hope to extend it to make one generic branch predictor so that the in-order core can make use of it too, instead of having it's own, duplicated code.

I'm also not so sure about the backing up and restoring of stats. I've not implemented this in all of the classes and I'm not 100% sure what's going on, so this is a kind of stab-in-the-dark. Nate, if you could give me feedback on what is right and wrong here, or if there's a better approach, that would be much appreciated.

In general, if there are any glaring errors or things I haven't thought about, please let me know.

All these patches should apply with no problems (in the order they're posted on the review board) and you can try out the sampling for yourselves too :-)

Cheers
Tim

--
Timothy M. Jones
http://homepages.inf.ed.ac.uk/tjones1

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to