其他
为什么苹果M1芯片这么快?
苹果芯片正在快速崛起。无论是从配置还是从其他方面,苹果在超越自己的同时也远远地把同行甩在后面。本文将详细解答:为什么苹果的 M1 运行速度会如此之快?
英文名称:Why is Apple’s M1 Chip So Fast?
原文链接:
https://erik-engheim.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2
作者:Erik Engheim,现居挪威,热衷于UX、Julia编程、科学与写作。
本文为 CSDN 翻译,转载请注明来源出处。
从技术的角度来看,为什么 M1 芯片会如此之快? 苹果是否采用了一些非同寻常的技术? 对于英特尔和 AMD 等竞争对手来说,采用相同的技术是否也很容易?
什么是微处理器(CPU)?
load r1, 15
load r2, 200
add r1, r2
store r1, 310
M1 不是 CPU!
苹果的异构计算策略并没有那么神秘
中央处理单元(CPU):单片系统的大脑。负责运行操作系统和应用程序的大多数代码。 图形处理单元(GPU):处理与图形相关的任务。例如显示应用程序的用户界面,以及 2D/3D 游戏等。 图像处理单元(ISP):可用于加速图像处理应用程序的常见任务。 数字信号处理器(DSP):能够比 CPU 更好地处理需要大量数学运算的任务。包括解压缩音乐文件等。 神经处理单元(NPU):用于高端智能手机,可加速机器学习(AI)任务。包括语音识别和相机处理。 视频编码器/解码器:处理视频文件和格式的转换,且耗能更低。 安全领域:加密、身份认证以及安全性。 统一内存:允许 CPU、GPU 和其他核心快速交换信息。
为什么英特尔和 AMD 不使用相同的战略?
加快 CPU 运行的根本难题
快速执行更多指令。 并行执行大量指令。
多核与乱序处理器
01: mul r1, r2, r3 / / r1 ← r2 × r3
02: add r4, r1, 5 // r4 ← r1 + 5
03: add r6, r2, 1 // r6 ← r2 + 1
为什么 AMD 和英特尔的乱序执行不如 M1?
这样做会导致程序的可执行文件体积膨胀; 会暴露 CPU 的内部工作原理,是否有乱序执行单元,是否有寄存器重命名等各种细节; 许多元信息仅在当前执行上下文中有意义。
为什么英特尔和 AMD 不能添加更多的指令解码器?
但 AMD 的 Zen3 核心更快吧?
未来的发展
他们的商业模式很难设计异构计算和单片系统 由于旧的x86 CISC指令集的负担,很难提高乱序执行性能