超线程负载

超线程负载

在启用超线程的 CPU 上加载所有线程(例如,每个核心有 2 个线程的双核 i7)是否会(在这种情况下)使 CPU 负载翻倍?为了澄清起见,假设我有一个双核 CPU,每个核心有 2 个线程,也就是 4 个线程。如果我运行 2 个并发进程,它会饱和两个核心吗(任务管理器上没有显示)?运行 4 个进程是否会导致处理必须等待执行,还是会完全饱和 CPU?

答案1

任务管理器实际上并不知道 CPU 中发生了什么,但它可以看到您的双核超线程 CPU 能够同时运行四个线程。因此,四个进程可以同时运行,如果少于这个数目,任务管理器将报告负载低于满载。

至于实际发生了什么,以及如何最大限度地发挥计算机的性能,这取决于您正在运行什么。使用超线程,两个线程共享一个核心,几乎所有的硬件都被两个线程使用。它们必须共享相同的 L2 缓存、核心中的相同执行单元等。超线程确实可以更好地利用这些资源,因为两个线程将它们分开后,它们的空闲时间更少,但这绝对不是任务管理器显示的性能翻倍。对于某些负载,超线程根本不会带来任何好处,尤其是那些非常依赖内存带宽的负载。

相关内容