什么软件可以充分利用超线程?

时间:2015-02-10 13:20:50

标签: multithreading performance operating-system cpu-architecture hyperthreading

我想知道什么软件必须充分利用超线程?让我们说我有4个物理内核的intel cpu。通过超线程,cpu似乎有8个内核到操作系统,知道HT技术。这意味着操作系统可以将两个独立的线程连接到单个内核。那么这意味着cpu可以运行8threads of control 100%parallel并为每个内核划分2个线程?但是,单个核心可以有多个程序计数器吗?


因此,如果上述句子为真,那意味着要充分利用HTT的4核CPU,软件至少必须有8个编程控制线程?

1 个答案:

答案 0 :(得分:2)

核心确实一次只能运行一个线程。但是在运行该线程时,它可能会在等待某些事情时遇到空闲时间,例如。从RAM加载代码或数据(RAM比CPU慢得多)或等待特定电路(FPU)的计算。触发调度程序不是一个选项,因为它需要一个上下文切换(与RAM相比)非常慢。使用HT,而不是等待,它切换到第二个准备好的线程。

核心如何拥有多个程序计数器?好吧,它只有两套所有寄存器。