Hi all,

I am new to M5. I am doing a course project about CMP using M5 simulator and 
need some help. 

I am using a dual-core CPU, each core runs single thread process. From the 
beginning core[0] runs a program as usual, while core[1] is idle/suspend. 
During the simulation, I want core[1] to run some of core[0]'s instructions and 
then compare the execution results (assume they run the same instruction at a 
given time). 

Here are some of my thoughts about the implementation, I am not sure whether 
they are correct:
1. Since the two cores are not running the same workload, I want to create only 
one workloads for core[0] in the script (for example se.py), and do not assign 
any workload for core[1] ( is that correct?).

2. I am not sure how to make core[1] start to run. According to my 
understanding, when I create a thread context and assign to core[1], then it 
will run. Is it correct? If there is no instruction for core[1] to execute, 
what will happen? just idle or exit simulation?

3. How to make core[1] run the same instructions. I plan to make core[1] idle 
at the beginning. If there is any instruction for core[1] to execute, then get 
PC from core[0] and set it to core[1]'s PC and resume core[1]. After execution 
core[1] will become idle/suspend again. Is this possible?

4. How to compare the execution results of those two cores. After execution I 
want to get results for the two cores, what is the best way to get the results?

Right now I am using Alpha arch and AtomicSimpleCPU in SE mode. Can you give me 
some hints about the implementation, and what are the source files I should 
look into. 

Thank you very much for your help!

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

Reply via email to