当前位置:   article > 正文

计算机组成原理(13)-----硬件多线程

硬件多线程

目录

1.细粒度多线程

2.粗粒度多线程

3.同时多线程(SMT)


在不支持硬件多线程的处理器中,若要进行线程的切换,就需要保存和恢复线程的运行环境(否则会出现数据覆盖引起的错误)。

但在支持硬件多线程的处理器中,设置了多个寄存器组,那么就可以将不同的线程放到不同的寄存器组中。线程1运行时使用线程1寄存器组的信息,线程2运行时使用线程2寄存器组的信息,这样就不需要保存和恢复线程的运行环境这一步骤了。

1.细粒度多线程

(1)细粒度多线程的各个时钟周期会轮流发射多个线程的指令

(2)由于每个时钟周期切换一次线程,线程的切换频率很快,所以称为细粒度多线程。

(3)线程切换代价较低。

(4)细粒度多线程中,指令级并行(多条指令并行执行),但是线程间不并行(同一时刻只有一个线程运行)。

2.粗粒度多线程

(1)连续几个时钟周期,都发射同一线程的指令序列,流水线阻塞时,切换另一个线程。

(2)只有流水线阻塞时才切换一次线程,切换频率较低,所以称为粗粒度多线程。

(3)线程切换代价较高,因为需要重载流水线。

(4)与细粒度多线程相同,指令级并行,但是线程间不并行。

3.同时多线程(SMT)

(1)一个时钟周期内同时发射多个线程的指令。

(2)同时多线程实现了指令级并行以及线程级并行,因为在同一时刻可以处理两个线程各自的指令。所以线程间是并行的,指令的执行也是并行的。

总结:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/796056
推荐阅读
相关标签
  

闽ICP备14008679号