Hi All,

My research idea is based on SMT for multicore processors so I need to
implement SMT on FS mode for OoO CPU. I looked to the FullO3CPU class
carefully and I have some questions that I think it will help me to
implement SMT on FS mode:

Q1) At the beginning I want to fix the number of threads on each core for
example 2 or 4 for simplicity, but I need to know how I can assign the
software threads that generated from rcS file to a specific core and also to
a specific thread on that core later. I found in the archive that there is a
function called setAffinity() which is responsible for assigning loads to
cores I think so. My question is where I can find this function and is there
a way to look for a specific function in all src files.

Q2) I found in FullO3CPU: in FS mode one thread is created per core and it
does not assign a workload for that thread. (I understand that because of
SMT is not supported and only one thread is created but where that thread
gets its instructions from

Q3) To support SMT on FS mode we need to wakeup a specific thread (we need
to pass tid to wakeup function). My question is where we call the wakeup().

Q4) handling interrupts: right now checking interrupts is done only for
thread 0 and also interrupts processed or handled only by thread 0. And when
I checked the interrupt class I found a reference to cpu so we can match
specific interrupt to a specific cpu but not for a specific thread in that
cpu. My question is should I add a reference to tid (threadID) in the
interrupt class so that a related thread will only process that interrupt or
the interrupt can be handled by any thread running in that cpu.

Correct me If I am in the wrong way. I appreciate your corrections, answers
and suggestions.

thanks.

Ziad.
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to