学习指南

多核处理器

计算机科学· Unit 4: Processor fundamentals, Topic 6· 15 分钟阅读

1. 什么是多核处理器?★★☆☆☆⏱ 3 min

多核处理器是一块包含多个独立处理单元(称为核心)的集成电路。每个核心都有自己的控制单元、ALU和寄存器,大多数设计中,芯片上所有核心共享公共缓存和系统内存总线。

📘 定义

核心

多核芯片上的独立处理单元,能够独立于其他核心执行指令流。

📐 例题

解释为什么3GHz四核处理器的总时钟频率不是12GHz。

  1. 1

    3GHz指的是每个独立核心的最大时钟频率,不是总和

  2. 2

    每个核心执行指令时独立运行,因此时钟频率不会相加

  3. 3

    这款四核处理器的每个核心最高都能运行在3GHz,总时钟频率不是12GHz

Exam tip:

在书面答题中随时准备纠正这个错误认知

2. 多核设计的性能优势★★☆☆☆⏱ 4 min

多核处理器通过支持指令并行执行来提高系统整体吞吐量,主要给两类工作负载带来显著优势:

  • 多任务处理:多个独立程序可以同时在不同核心上运行,避免单核上时间分片带来的开销

  • 可并行化工作负载:设计为拆分为多线程的程序(例如视频剪辑、3D渲染)可以跨多个核心处理任务,减少总运行时间

  • 能效更高:多核芯片可以在更低功耗和发热量下,实现和更高时钟频率的单核芯片相同的吞吐量

📐 例题

用户同时运行浏览器、文字处理器和视频编辑器,解释为什么同代的2.5GHz四核处理器性能优于3.5GHz单核处理器。

  1. 1

    每个打开的应用程序都可以分配到一个独立核心,因此三个程序可以同时执行指令

  2. 2

    单核处理器必须在应用程序之间进行时间分片,切换操作会带来大量调度开销

  3. 3

    即使时钟频率更高,顺序执行加上切换开销意味着单核无法在这类工作负载下匹配四核的吞吐量

3. 用于计算加速比的阿姆达尔定律★★★☆☆⏱ 6 min

✓ 计算器

阿姆达尔定律是一个公式,基于程序可并行化代码的占比,计算可并行化程序在多核处理器上运行时能获得的最大可能加速比。

📘 定义

阿姆达尔定律

S=1(1p)+pnS = \frac{1}{(1-p) + \frac{p}{n}}

计算最大理论加速比,其中 = 可并行化代码占比(0到1), = 核心数量。

📐 例题

一个程序有65%的代码可以并行化,计算它在8核处理器上运行时的最大理论加速比。

  1. 1

    将并行百分比转换为占比:

  2. 2

    计算顺序执行部分占比:

  3. 3

    将数值代入阿姆达尔定律:

  4. 4
    S=10.35+0.658=10.35+0.08125=10.431252.32S = \frac{1}{0.35 + \frac{0.65}{8}} = \frac{1}{0.35 + 0.08125} = \frac{1}{0.43125} \approx 2.32
  5. 5

    最大理论加速比约为单核运行的2.32倍。

4. 多核性能的局限性★★★☆☆⏱ 5 min

由于存在多种瓶颈,多核处理器的实际加速比几乎总是低于阿姆达尔定律计算出的理论最大值:

  • 顺序瓶颈:代码中任何不可并行化的部分都会限制加速比,即使核心数量无限也是如此

  • 并行开销:将工作拆分为线程、同步结果、核心间通信都会带来额外处理开销

  • 内存竞争:所有核心共享主存访问权,因此同时访问内存会造成瓶颈

  • 软件限制:许多程序没有设计为使用多个核心,因此额外核心不会带来性能提升

📐 例题

解释为什么给运行15%顺序代码程序的8核处理器增加100个额外核心,几乎不会带来额外的加速比提升。

  1. 1

    首先计算8核心的加速比:

  2. 2

    然后计算108核心的加速比:

  3. 3

    即使我们增加了100个额外核心,加速比仅提升了约2,远低于预期的增益

  4. 4

    占比15%的顺序代码部分是永久瓶颈,无论增加多少额外核心,都会限制进一步的加速比提升。

5. 常见陷阱

错误做法:

将所有核心的时钟频率相加得到总时钟频率

原因:

每个核心独立运行,因此时钟频率不会相加

正确做法:

多核芯片标称的时钟频率是每个独立核心的运行速度

错误做法:

假设更多核心总能让程序执行更快

原因:

不可并行化程序只能在一个核心上运行,和可用核心数量无关

正确做法:

只有并行工作负载或多独立程序多任务才能获得加速比

错误做法:

在阿姆达尔定律中直接使用百分比数值作为

原因:

阿姆达尔公式要求是0到1之间的占比

正确做法:

代入前将并行百分比除以100得到小数

错误做法:

声称实际加速比等于阿姆达尔定律得到的理论值

原因:

阿姆达尔定律没有考虑并行开销和内存竞争

正确做法:

始终说明实际加速比会低于理论最大值

6. 速查表

概念

核心要点/公式

多核处理器

一块CPU芯片上的多个独立核心

核心数量

可同时运行的独立指令流数量

时钟频率

标称速度 = 每个独立核心的速度,不是总和

阿姆达尔定律

(阿姆达尔定律)

可并行化代码占比 (0 < p < 1)

(阿姆达尔定律)

可用核心数量

最大加速比(无限核心)

最大限制因素

顺序代码瓶颈

7. 常见问题

更多核心是否总能让程序运行得更快?

不会。只有可并行化的程序或多任务工作负载才能从额外核心中受益。顺序程序只能在一个核心上运行,因此额外核心不会提升其运行速度。

真题中的出现

AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。

  • 2022 · 2

    6分题:解释加速比的限制

  • 2023 · 4

    4分题:阿姆达尔定律计算

  • 2021 · 2

    3分题:解释多核的优势

深入阅读

下一步

多核架构是从个人设备到数据中心的所有现代计算系统的基础。理解多核设计的性能权衡与限制,能帮助你准备并行计算和系统架构的更高级主题,这些内容经常在CIE 9618的试卷2和试卷4中考查。你在这里学到的概念,尤其是阿姆达尔定律,也会应用到GPU并行处理和分布式计算主题中。点击下方链接继续备考学习。