Hi,

I am new to gem5 and am working on implementing the concept of a single core 
that has the capability of an OOO and an in-order processor and the 
functionality switches between the two based on number of threads available 
to the core to exploit SMT. I have a query regarding the SMT mode which I 
was unable to figure out by looking through the gem5 discussion groups. I am 
not too specific about which ISA to implement this on. Most probably Aplha 
or x86.

1. From what I have learned so far, the stable version of gem5 supports 
multi-threading in the SE mode but not in the FS mode. So in order to try 
out the experiment described above I would need to use the SE mode. Am I 
right so far?

2. Now while running in the SE mode, I see that the number of cores I give 
should equal the number of threads I am running, since there is no 
scheduling happening. In this case each core runs a single thread. Now I'm a 
bit confused here since if I want to exploit SMT, I would need to have 
multi-threads on a single core right? Do I need to integrate some sort of a 
scheduler then?

3. I explored a bit about the M5Threads library which enables support for 
threading, but this still does not enable me to run more threads on a single 
core I think.

4. I came across the following line on the gem5 site - " If you're using the 
O3 model, you can also assign a vector of workload objects to one CPU, in 
which case the CPU will run all of the workloads concurrently in SMT mode." 
- Does this solve the issue I have written about above, I am unsure about 
this.

5. Also regarding the same line I have pasted above, is it only the O3 model 
which supports SMT or can the in-order CPU use this as well. I am looking to 
use say a 6-way or 8-way SMT if possible.

Any help is greatly appreciated. Thanks in advance!

 

Thanks,

Gokul

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

Reply via email to