2 个软件线程一个"ordinary"内核与一个超线程内核上的 2 个线程



我不确定英特尔的超线程(以及AMD的同等产品(有什么优势。假设在我的程序中,调度程序碰巧将两个线程放在一个核心上。如果核心是超线程的,有什么优势?假设两个线程都做相同的事情(相同的代码(,这会有区别吗。如果这种情况没有给超线程CPU带来优势,那么什么情况会呢?

在我们的程序中,我们使用操作系统线程,这是一种抽象。在硬件层面,它更为复杂。处理器需要做很多事情来运行命令,其中一些事情只是浪费了处理器的时间。

Wiki定义说超线程通过复制处理器的某些部分来工作,这些部分存储体系结构状态

所以我们可以很容易地想象这种情况:

  • 处理器需要加载一些东西来注册
  • 为了在加载更改执行上下文时不浪费时间到另一个线程,这样我们就可以赢得一定的处理器时间

相关内容

最新更新