硬件多线程
在传统 CPU 中, 线程的切换包含一系列开销, 频繁地切换会极大影响系统的性能, 为了减少线程切换过程中的开销, 便诞生了硬件多线程。
在支持硬件多线程的 CPU 中, 必须为每个线程提供单独的通用寄存器组、单独的程序计数器等, 线程的切换只需激活选中的寄存器, 从而省略了与存储器数据交换的环节, 大大减少了线程切换的开销。

在传统结构中,我们用执行不同的线程,需要将线程的运行环境放到主存中,然后才能执行新的线程。故而这种线程切换的代价很大。


在传统 CPU 中, 线程的切换包含一系列开销, 频繁地切换会极大影响系统的性能, 为了减少线程切换过程中的开销, 便诞生了硬件多线程。
在支持硬件多线程的 CPU 中, 必须为每个线程提供单独的通用寄存器组、单独的程序计数器等, 线程的切换只需激活选中的寄存器, 从而省略了与存储器数据交换的环节, 大大减少了线程切换的开销。

在传统结构中,我们用执行不同的线程,需要将线程的运行环境放到主存中,然后才能执行新的线程。故而这种线程切换的代价很大。

