Thanks for your reply. I initially thought they were part of variable defined in C++ source file, but now it makes sense that these are set/changed in python script.
One more thing, inside the O3CPU.py: class DerivO3CPU(BaseCPU): type = 'DerivO3CPU' cxx_header = 'cpu/o3/deriv.hh' The way it is defined is that Deriv03CPU inherits the BaseCPU class. However in the deriv.hh source, it is written such that: class DerivO3CPU : public FullO3CPU<O3CPUImpl> { ... which shows the DerivO3CPU inherits the FullO3CPU. Is this ok to define this way if they are not matched? I know that FullO3CPU is derived from Base03CPU, which is also a child of BaseCPU class. Thanks On Fri, Mar 16, 2018 at 11:11 AM, Jason Lowe-Power <ja...@lowepower.com> wrote: > Hi Tariq, > > The way SimObject parameters work is explained in Part 2 of Learning gem5 > <http://learning.gem5.org/> here: http://learning.gem5. > org/book/part2/parameters.html. It's a little convoluted (you have to go > through python to set parameters), but it is incredibly flexible. > > The *defaults* for these parameters, specifically, can be found in > src/cpu/o3/O3CPU.py. Of course, if you want to change these parameters you > should do it in your Python config/run script. The best way is to derive a > new class from DerivO3CPU and extend it with your own values for the > parameters. Or, if you want to get fancy, you can add command-line > parameters for the CPU parameters you want to change dynamically. > > Cheers, > Jason > > On Fri, Mar 16, 2018 at 9:05 AM Tariq Slayer <tariqslaye...@gmail.com> > wrote: > >> Hello, >> >> For O3CPU model, I have question regarding the parameters defined in in >> DeriveO3CPU Params. Where are these params being defined? For example in >> Fetch.cc source code, some of the arguments in the constructor's parameters >> are listed like this: >> >> ... >> decodeToFetchDelay(params->decodeToFetchDelay) >> renameToFetchDelay(params->renameToFetchDelay), >> iewToFetchDelay(params->iewToFetchDelay) >> ... >> >> For each of these param-> var_name, Where are these variable (or >> structure) defined? I know that these params are created in deriv.cc but I >> couldn't find the variables listed above. (except for numThread). It is not >> listed in BaseCPU class either. >> >> Also, I know there is a full documentation for InOrder CPU Model, but is >> there full doc or tutorial for O3CPU as well? The wiki page of O3CPU looks >> partially complete so I was hoping for any documentation that describes all >> the pipeline stages and its internal organization inside the O3CPU. >> >> Thank you >> _______________________________________________ >> gem5-users mailing list >> gem5-users@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users