Edmond Coté wrote:
Hello,

I'm currently attempting to perform a full-system simulation using M5's Sampler feature. I receive the following output after issuing "m5 switchcpu" at the command prompt:

m5.opt: m5/cpu/simple/cpu.cc:806: void SimpleCPU::tick(): Assertion `status() == Running || status() == Idle || status() == DcacheMissStall' failed.
Program aborted at cycle 3967324804

The simulator is launched within m5/configs/fullsys using:

SYSTEM=Sampler MEMORY=STX NUMCPUS=4 [...] m5.opt run.py

That is pretty odd... my guess is you're switching to a new cpu model at a point where it's not ready to switch, or maybe continuing to call the old model after it's switched out. Are you using the config files shipped with m5 as is, or have you made modifications to them? If you've changed them, can you post your changes?

Also, it would be good to know what the status is when that assertion fails; the easiest way to do that would be by changing that assertion to this:

if (!(status() == Running ||
           status() == Idle ||
           status() == DcacheMissStall)) {
    panic("cpu %s bad status %d\n", name(), status());
}



Next, I'm not entirely clear about how the period parameter (periods = [1e10, 200e6]) works. Am I correct to assume that the first value (in time/ticks/??) represents the delay until the first switch to detailed mode takes place? If so, how can I obtain a more accurate value? For example, when set at the default value, 1e9, the simulator essentially stalls before the CLI appears.

Yes, those are delays in ticks. I'm not sure what you mean by "accurate" value... if you mean want to find the tick at which a particular event happens, I don't know of an easy way to do this. (Anyone else?) We do have special instructions (and a command-line executable) that can cause m5 to dump a checkpoint when they are executed, so you could use those to dump a checkpoint at a particular point (e.g. when the prompt comes up) and then restart from the checkpoint... much faster than doing warmup to that point anyway. If you really want to run from boot to the command line you could just look at the cycle timestamp on the checkpoint and then throw the checkpoint away.

Is there documentation of the m5 instructions or executable anywhere? (Nate?)


Finally, can anyone comment on the differences between CacheCPU and DetailedCPU?

I hope Kevin's answered that to your satisfaction.

Steve


Thanks, your help is much appreciated.

Edmond




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
m5sim-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/m5sim-users


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
m5sim-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/m5sim-users

Reply via email to