这款英特尔处理器可以多处理 4 个或 8 个线程吗?

这款英特尔处理器可以多处理 4 个或 8 个线程吗?

我正在帮助一位朋友尝试在具有 Intel Core i3-3217U 处理器的系统上运行多个线程。

根据英特尔网站,该处理器有 2 个核心,支持 4 个线程每核(?)(意味着总共有 8 个线程):

  • 核心数:2(核心是一个硬件术语,描述单个计算组件(裸片或芯片)中独立中央处理单元的数量。)
  • 线程数:4(线程,或执行线程,是一个软件术语,指的是可以传递或处理的指令的基本有序序列由单个 CPU 核心[重点是我的]

然而这其他网站状态:

  • “得益于英特尔超线程技术,核心数量实际上增加了一倍,达到 4 个线程。”

是否可以期望使用该处理器高效地多处理 4 个线程或 8 个线程?

答案1

您只是想太多/误解了。该“描述”仅仅意味着,“执行线程”本身不能由多个内核并行处理。换句话说,它表明了这样一个事实:它是多处理中的“原子”单元,不能指望单个执行线程被分解成更多部分以供多处理器处理。这正是同时多线程(超线程的通用术语)的要点——允许内核一次处理多个线程(可以这么说)。

在任何规范站点上,通常除非项目名为“每核线程数”,否则“线程数/#”大多是指处理器一次可以处理的执行线程总数 - 其核数乘以每核线程数。

答案2

虽然存在 4 路或更多 HT 实现,比如 Xeon Phi 和一些 Power 处理器,以及 Sparc 上的 8 路 - 但英特尔的 HT 在其消费者、发烧友和大多数服务器处理器上只有每核 2 个线程

“得益于英特尔超线程技术,核心数量实际上增加了一倍,达到 4 个线程。”

写得不好

一个简单的“直观”查看方法是在 Windows 的任务管理器中,在每个“核心”视图中

在此处输入图片描述

我有一个单插槽,或者说是外行人认为的处理器。它有 8 个“物理”核心,相当于 16 个逻辑处理器。效率当然也取决于您的代码,但任何具有 HT 的英特尔处理器都会有两倍于核心的逻辑处理器,不会比核心多,并且每个插槽有一个或多个核心。

答案3

尽管英特尔的网站内容含糊不清,令人困惑,但维基百科却让情况变得清晰。

维基百科有关超线程的文章状态:

对于每个实际存在的处理器核心,操作系统都会处理两个虚拟(逻辑)核心,并在可能的情况下在它们之间共享工作负载。超线程的主要功能是增加管道中的独立指令数量;它利用超标量架构,其中多个指令并行处理单独的数据。使用 HTT,一个物理核心对操作系统来说就像两个处理器,允许每个核心同时调度两个进程。此外,两个或多个进程可以使用相同的资源:如果一个进程的资源不可用,则另一个进程可以在其资源可用的情况下继续运行。

因此,每个核心可以有最多2 个线程可用于多处理。在像上述双核 CPU 上,总共有 4 个多处理线程。

这篇文章现在有点过时了,因为英特尔的 Xeon Phi (Knights Mill) 芯片上的超线程可以处理每个核心 4 个线程。但由于问题是关于 i3 处理器的,因此每个核心 2 个线程的理解仍然是正确的。

相关内容