0
$\begingroup$

I am aware that multiprocessor systems often implement simultaneous multithreading in order to allow multiple threads to run on different CPUs. I am also aware that uni-core systems often implement temporal multithreading (fine-grained/preemptive or coarse-grained/cooperative) to allow for a more efficient use of the CPU through the use of context switches.

However, I am curious whether it is possible (or logical) to have a simultaneously multithreaded system also allow for the time-sharing between threads on each CPU, which is prevalent in temporal multithreading systems.

$\endgroup$
0
$\begingroup$

Sure. You can simultaneously run multiple threads on different CPUs in parallel; and also a single CPU can context switch between threads (i.e., both what you are calling simultaneous multithreading + temporal multithreading). Nothing prevents it.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.