SimObjects get created more or less by working depth-first from the root of the configuration hierarchy, but for the children of a particular tree node there's no enforced order, which is why your CPUs are getting created in pseudo-random order.
As each CPU object gets created, it registers itself with the Process object that represents your program. The Process object starts the program running on the first CPU that registers itself. If you are just running a single-threaded program, the easy way to fix this is to associate the workload object only with cpu[0] in your configuration script. If you're running a multi-threaded program but you want the initial thread to always come up on cpu[0], that's a little trickier. I don't know of a way to force that in the current system. I'd have to think about what is the easiest way to make that possible. Steve On 8/28/07, Meng-Ju Wu <[EMAIL PROTECTED]> wrote: > > Hi, > > I tried 8 CPUs configuratation in SE mode. The creation order of CPU IDs > is 6->4->5->2->3->0->1->7. When I run a single-thread prpgram, the program > is executed on CPU 6. How should I change the simulator to let my program > can be executed on CPU 0? And why the creation order is not > 0->1->2->.....->6->7? > > I really appreciate if you can give me some hints about which part of the > source codes I should look at. > > Thanks, > > Meng-Ju > > > > _______________________________________________ > m5-users mailing list > m5-users@m5sim.org > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >
_______________________________________________ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users