Windows 处理器关联如何与超线程 CPU 配合使用?让我们使用具有四个内核的系统的示例(如图),每个内核都有一个超线程虚拟内核。
- 下面的每个“CPU”对应哪些核心?
- 是否(例如)下面的 CPU 6 和 CPU 7 代表一个内核;HT和真正的核心?
- 例如,如果 CPU 6 代表一个真正的核心,而 CPU 7 代表一个 HT 核心,那么只分配给 CPU7 的线程是否只能获得真正核心的剩余资源?(假设核心正在运行其他任务)
- 超线程是否完全在处理器内进行管理,以便线程在内部进行处理?如果是,那是在 CPU 范围内还是在核心范围内?示例:如果 CPU 6 和 7 代表一个核心,那么分配给哪个进程无关紧要,因为 CPU 会为正在运行的线程分配适当的资源?
- 我注意到长时间运行的单线程进程在核心周围反弹了很多,至少根据任务管理器。这是否意味着将进程分配给单个内核会稍微提高性能(通过避免上下文切换和缓存失效等)?如果是这样,我可以知道我没有分配给“只是一个虚拟核心”吗?
这对我来说都是非常模糊和混乱的。HT 很棒,但它似乎确实降低了资源分配的透明度。
