【问题标题】:How many cores on this machine? [duplicate]这台机器有多少个核心? [复制]
【发布时间】:2017-02-15 14:47:24
【问题描述】:

我对 Mac 上的内核数量有点困惑。我对处理器、内核和线程之间的区别并不完全清楚。如果我检查“关于这台 Mac”,我会看到 1 个处理器、2 个内核。但是我在 Node.js 中工作,如果我检查 os.cpus().length,它会返回 4。为什么这些数字不同?只是因为每个核心有2个线程吗?

【问题讨论】:

  • 超线程。你可能有一个物理内核,但由于英特尔的营销大师,一个内核在操作系统中表现为两个
  • 处理器 = 物理芯片。核心 = 该芯片内的离散执行单元。大多数英特尔 i 系列芯片都是两核或四核。然后是超线程,它使一个内核显示为两个独立的内核,因此超线程 cpu 有效地显示为内核的两倍,因此您的平均核心 i7 cpu 将显示 8 个内核,即使只有 4 个实际物理内核,在一个芯片封装内.

标签: node.js macos


【解决方案1】:

线程是软件的元素,而不是硬件它们在这里不相关。您的 Mac 有两个内核并支持超线程。后者使您看起来拥有的核心数量是实际数量的两倍。

【讨论】:

  • 所以澄清一下 - 1 个处理器(英特尔 i5),该处理器中有 2 个内核,每个超线程,这允许 CPU 有效地使用 4 个内核运行?那么“超线程”是硬件规范,“线程”是软件抽象?
  • 完全正确。 “超线程”是英特尔的品牌名称,能够在单个内核上同时执行多条指令。它的名称有点令人困惑,因为它是硬件的一个方面,而线程本身是软件的一个方面。内核几乎总是可以并行执行线程。超线程的效果或多或少取决于各种硬件和软件因素,因此在实践中不一定能真正获得 2 倍的性能提升。 en.wikipedia.org/wiki/Hyper-threading
【解决方案2】:

你有一个有两个物理核心的处理器,每个都支持超线程(英特尔的品牌,这意味着它们可以同时运行两个线程),所以你有“四个逻辑核心”。

【讨论】:

    猜你喜欢
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多