Hi Tim, When I originally wrote the branch predictor code, I had hoped to make it a flexible object that could be used across multiple CPUs. At the same time I had the exact same conflict you're mentioning -- it seemed to be overkill for a small amount of code. But I think if your goal is to have the branch predictor be warmed up in SMARTS-style sampling, at that point it might be worthwhile to try to make it a simulation object.
I know it's not a definite yes or no, but hopefully it'll help sway you one way or another. Kevin Quoting Timothy M Jones <[email protected]>: > Hi all, > > As I've previously mentioned, I'd like to run simulations using SMARTS > methodology. To do this, I will switch between O3CPU and AtomicSimpleCPU > repeatedly. I need to be able to keep the branch predictor warm when > using Atomic, but at the moment this can't be done. > > Does anyone have any ideas on the best way to do this? I was wondering if > I should make the branch predictor a new simulation object, like the > caches, that can be attached to any type of CPU. Then I could group all > the code together in the cpu/pred directory instead of having duplicated > code in cpu/o3/bpred_unit.cc and cpu/inorder/resources/bpred_unit.cc. > Would that make sense, or am I thinking of using a sledge hammer to crack > a nut? > > Cheers > Tim > > > -- > 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 > > > _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
