硬件多线程

在传统 CPU 中, 线程的切换包含一系列开销, 频繁地切换会极大影响系统的性能, 为了减少线程切换过程中的开销, 便诞生了硬件多线程。

在支持硬件多线程的 CPU 中, 必须为每个线程提供单独的通用寄存器组、单独的程序计数器等, 线程的切换只需激活选中的寄存器, 从而省略了与存储器数据交换的环节, 大大减少了线程切换的开销。
image.png
在传统结构中,我们用执行不同的线程,需要将线程的运行环境放到主存中,然后才能执行新的线程。故而这种线程切换的代价很大。
image.png

image.png