所以,这个学期我有一个关于操作系统的主题,而且我对超线程还不太了解。我搜索了互联网,但我找到的几乎是相同的东西(我不知道我是否用错误的条款搜索过)。
以下是我找到的消息来源:
https://www.dasher.com/will-hyper-threading-improve-processing-performance/;
Hyper-threading Performance Comparison;
Why does hyper-threading benefit my algorithm?;
但是,我的问题不是关于不同语言的HT,或者我如何分析是否使用如何在硬件级别实现。
HT如何与主存(ALU,寄存器..),缓存和其他设备通信。我在哪里可以找到相关的东西?
最后我想将HT与并行化进程进行比较。并行性如何利用超线程?
所以,如果您了解可以帮助我的书籍或网站,请分享到这里。
谢谢,
答案 0 :(得分:1)
现代超线程以非常聪明的方式实现。
考虑一下双核处理器一分钟。它有两个核心,每个核心都有寄存器,带有访问内存机制的缓存,以及执行各种整数,浮点和控制操作的执行单元集合。
现在想象一下,两个核心只共享一个执行单元池,而不是每个核心都有自己的执行单元集合。只要另一个核心不使用相同的执行单元,任何一个核心都可以使用浮点乘法器。如果一个核心需要另一个核心使用的执行单元,它将不得不等待,如果该执行单元被同一个线程执行的重叠指令使用那么就必须等待。