Hacker News new | ask | show | jobs
by person_of_color 2132 days ago
Huh? Don't most ARM SoCs have multiple cores, where threads can be scheduled - effectively simultaneous multithreading?
4 comments

A "thread" in SMT is not the kind of OS-level or user-level thread most people are used to. Think of N threads as N register sets[1] that are swapped in and out on the same core, mostly to hide memory/cache latency. There's still only one set of functional units, and only one thread can be active on the core at a time - unlike separate cores which can all be active simultaneously. "Time-shared multithreading" or "multiplexed cores" might be more accurate, but SMT has been the established term at least since Tera.

[1] It's actually more complicated than that, with register aliasing etc, but it's a decent conceptual model.

SMT means multiple threads executing concurrently on a single core. Multiple cores each executing a single thread is not the same thing.
SMT is multithreading within a single core. Timesharing a core at the hardware level.

Having multiple threads by having multiple cores is a different thing.

SMT is a well established teem in computer architecture and means running more than one thread per core.