You're right, but I'll try to fill this out a little.

There are 2 types of memory systems, atomic and timing. Functional  
accesses happen in both models as a way of setting things up outside  
of the rules of the simulation itself. That would be to, for instance,  
service system calls or load processes in SE mode, or to load a kernel  
image in FS mode.

There are 4 CPU models, although 1 is still mostly under development  
right now. These are, along with the memory system mode they work with:
1. Simple CPU - atomic
2. Simple CPU - timing
3. O3 CPU - timing
4. In order - timing

The in order model is the newest and is actively being worked on to  
support more ISAs, etc.

When you pass -d to fs.py, you're asking for the O3 CPU model which  
only works on a timing memory system. If you don't, you're going to  
automatically use the simple CPU model. That model defaults to atomic  
mode, I believe, so you need to specify --timing if you want a timing  
memory system. If you want to use the in order model, you would  
specify --inorder. I think since that can only be used with a timing  
memory system that's what you get implicitly like O3, but I haven't  
tried it myself.

Gabe

Quoting Shoaib Akram <[email protected]>:

> --detailed implies timing memory accesses.
>
> ---- Original message ----
>> Date: Wed, 29 Apr 2009 14:09:14 -0500
>> From: ef <[email protected]>
>> Subject: Re: [m5-users] Simple M5 Question: memory system and CPU types
>> To: M5 users mailing list <[email protected]>
>>
>>     Hello,
>>
>>        -t gives you simpel cpu (timing mode) and timing
>>     memory model I presume.
>>
>>   So how do I get an O3 with a timing memory model?
>>
>>   Thanks
>>
>>        ---- Original message ----
>>     >Date: Wed, 29 Apr 2009 13:39:55 -0500
>>     >From: ef <[email protected]>
>>     >Subject: [m5-users] Simple M5 Question: memory
>>     system and CPU types
>>     >To: [email protected]
>>     >
>>     >   Hi,
>>     >
>>     >   This question is probably really simple, and
>>     I have
>>     >   read documentation repeatedly, but the
>>     semantics are
>>     >   just confusing me.
>>     >
>>     >   So,
>>     >   We have 3 types of processors: O3,Simple, and
>>     >   Atomic.
>>     >   We then have three types of memory systems
>>     Timing,
>>     >   Atomic, Functional.
>>     >
>>     >   In the M5 command line  using the default
>>     python
>>     >   scripts (fs.py) when you type -d --caches
>>     -l2cache     >   you will get a O3 processor with a timing
>>     memory
>>     >   system.
>>     >   When you use -t  you will get a Simple cpu
>>     with a
>>     >   functional memory system.
>>     >   When you fast foward you get Atomic memory
>>     and
>>     >   processor.
>>     >
>>     >   Is this correct? Or did I totally get it
>>     wrong?
>>     >
>>     >   Thanks,
>>     >________________
>>     >_______________________________________________
>>     >m5-users mailing list
>>     >[email protected]
>>     >http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>     _______________________________________________
>>     m5-users mailing list
>>     [email protected]
>>     http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>> ________________
>> _______________________________________________
>> m5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>


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

Reply via email to