硬件线程的上下文切换:Hyper-threading(SMT)核心线程切换是否属于该范畴?
Hyper-threading(SMT)线程切换的上下文切换相关问题解析
当CPU核心的两个SMT线程被换入换出时,会发生部分上下文切换:SMT的每个硬件线程拥有独立的寄存器组(包括通用寄存器、程序计数器、状态寄存器等),切换时需要保存当前线程的寄存器状态,加载目标线程的寄存器状态。但和传统进程/线程的上下文切换不同,它不需要切换页表、刷新TLB或缓存(因为两个线程共享核心的缓存和执行单元),所以开销极低。
这个操作可被视为上下文切换的特殊形式,但行业内通常不会直接用“上下文切换”来指代它——传统上下文切换往往伴随内存空间的切换(比如进程切换),开销大得多;而SMT内部的线程切换只涉及寄存器上下文,是硬件层面的快速切换。
对应的专用术语一般是硬件线程切换(Hardware Thread Switch),也有资料称其为快速上下文切换(Fast Context Switch),用来和传统的、涉及完整内存上下文的上下文切换做区分。
内容的提问来源于stack exchange,提问作者Rishi
相关产品推荐
相关产品推荐

