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
