计算机组成原理-硬件多线程
2023-12-28 14:42:08
总览
支持硬件多线程与不支持硬件多线程
在不支持硬件多线程的处理器中,处理器只能处理一段指令流水线(一段程序或线程),如果要切换到另一段指令流水线(一段程序或线程),需要保存该指令流水线(一段程序或线程)的环境(寄存器信息)到主存储器中,等到要要切换回来时再从主存中取出之前保存的寄存器的信息,恢复寄存器的值
支持硬件多线程就是相当于有多个CPU了,不同CPU可以处理不同的指令序列(一段程序或线程)
三种硬件多线程
细粒度多线程会每个时钟周期取一个线程的两条指令,此时取的两条指令是不存在依赖关系,所以可以同时给两个CPU运行,但每个时钟周期都会切换一次线程
粗粒度多线程就是连续多个时钟周期,都运行同一线程的指令序列。当然每次依然可以并行运行指令。只是切换线程是在流水线阻塞时
流水线阻塞:Cache缺失,就是下一条指令没有了,此时需要到主存去取了。然后再建立取的指令的流水线的环境(寄存器那些的)
同时多线程
每个时钟周期都在运行两个线程,一个 CPU处理一个线程。
此时指令是并行的,同时运行多条指令,线程也是并行,同时运行多个线程
文章来源:https://blog.csdn.net/llovewuzhengzi/article/details/135210401
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!