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

本文详细比较了细粒度多线程(快速切换,低代价)、粗粒度多线程(高代价,流水线阻塞时切换)和同时多线程(指令及线程级并行)在处理器中的实现方式,强调了线程切换对性能的影响。
摘要由CSDN通过智能技术生成

目录

1.细粒度多线程

2.粗粒度多线程

3.同时多线程(SMT)


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

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

1.细粒度多线程

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

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

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

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

2.粗粒度多线程

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

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

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

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

3.同时多线程(SMT)

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

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

总结:

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值