Re: [gem5-users] O3CPU DeriveO3CPUParams

2018-03-16 Thread Tariq Slayer
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 { ...

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

[gem5-users] O3CPU DeriveO3CPUParams

2018-03-16 Thread Tariq Slayer
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