我的工作站有一台英特尔 i7-4790T,我一直认为它是一款相当快的 CPU。但根据 Geekbench 4,新 iPad Pro 中的 Apple A12X 处理器轻松击败了它。当我运行 Geekbench 4 时,我的单核速度约为 4,000,但在新 iPad Pro 上A12X 处理器返回约 5,000即快 25%。事实上,即使是A12 和 A11 的得分比我的 i7-4790T 高。在多核测试中,我的 CPU 得分略高于 11,000,而 A12X 得分为 18,000,速度提高了 60%。
一个初步问题是 Geekbench 是否是真实世界速度的可靠指标。例如,我唯一真正给 CPU 带来压力的事情是使用手刹。Handbrake 不适用于 IOS,但假设它被移植了,Handbrake 在 A12X 上处理视频的速度真的会快 60%,还是 Geekbench 分数不能代表现实世界的性能?
但我的主要问题是:撇开 A12X 和我的 CPU 究竟如何比较,Apple 是如何让基于 ARM 的 RISC 芯片如此之快的?其架构的哪些方面导致了如此高的速度?
我对 RISC 架构的理解是,它们每个时钟周期执行的操作较少,但其简单的设计意味着它们可以以更高的时钟速度运行。但 A12X 的运行速度为 2.5GHz,而我的 i7 的基本速度为 2.7GHz,在单核负载下将加速到 3.9GHz。因此,鉴于我的 i7 的运行速度比 A12X 快 50%,Apple 芯片如何击败它?
从我在网上找到的信息来看,A12X 的 L2 缓存更多,8MB,而我的 i7 是 256KB(每核),所以差别很大。但这个额外的 L2 缓存真的能给性能带来如此大的影响吗?
附录:Geekbench
Geekbench CPU 测试仅强调 CPU 和 CPU 内存速度。Geekbench 具体如何做到这一点请参阅此 PDF (136KB) 中的描述。这些测试似乎正是我们所进行的占用大量 CPU 的测试,而且它们似乎确实代表了我作为示例所建议的 Handbrake 性能。
我的 i7-4790T 和 A12X 的 Geekbench 结果详细分类如下:
Test i7-4790T A12X
Crypto 3870 3727
Integer 4412 5346
Floating Point 4140 4581
Memory Score 3279 5320
答案1
A12X 是一款基于最新技术打造的巨型 CPU,远远落后于 2014 年推出的旧款 i7-4790T。
第一个区别是制造工艺:A12X 是 7 纳米芯片,而 i7-4790T Haswell-DT 则采用较旧的 22 纳米工艺。晶体管越小,占用空间越小,运行功率越低,信号传输速度越快,芯片路径越短。
A12X 拥有高达 100 亿个晶体管,而 i7-4790T 只有 14 亿个。
这使得 A12X 拥有 6 条整数执行流水线,其中 2 条为复杂单元、2 条加载和存储单元、2 条分支端口以及 3 条 FP/矢量流水线,总计预计有 13 个执行端口,远远超过 Haswell-DT 架构的 8 个执行端口。
对于 A12 上每个核心的缓存大小:每个大核心都有 128kB 的 L1 缓存和 8MB 的 L2 缓存。每个小核心都有 32kB 的 L1 缓存和 2MB 的 L2 缓存。此外还有额外的 8 MB SoC 范围缓存(也用于其他用途)。
Haswell 架构的每个核心的 L1 缓存为 64KB,每个核心的 L2 缓存为 256KB,L3 缓存为 2-40 MB(共享)。
可以看出,A12X 在各方面都超越了 i7-4790T,并且领先优势很大。
关于 RISC 与 CISC 架构,这在现代处理器上已成为一个有争议的问题。这两种架构都已经发展到一定程度,它们现在在一定程度上模仿彼此的功能以减轻弱点。
我在此引用 Reddit 编制的与 Xeon 8192、i7 6700k 和 AMD EPYC 7601 CPU 的比较图表(链接如下),其中 A12 甚至与台式机处理器相比也毫不逊色:
资料来源:
答案2
您正在比较 A12X 和 Haswell(Intel i7-4790T)之间非常不同的架构,并且基准测试数字无法直接比较,就像这两个处理器无法直接比较一样。
了解特定测试的测试内容有助于理解数字的含义。通过极客台架测试,让我们从最后一行开始。
根据 GeekBench 测试,A12X 和 Haswell 芯片之间的内存带宽严重不平衡。A12X 的内存性能大约是 Haswell 的两倍。虽然内存测试通常会将延迟和带宽这两个不相关的项目混为一谈,但 A12X 显然是赢家。
下一项是浮点性能。此测试试图比较不同架构之间的手动优化代码。虽然这些数字可能会因优化质量而有所偏差,但这应该可以很好地反映整体 FPU 性能,并且可以直接进行比较。在这里,这两个处理器的结果相似。
最没用的测试是标有整数性能的测试。它不是算术意义上的整数性能,更像是非 FPU 通用工作负载的集合。这些测试很有意义,因为它们显示了平台上的应用程序性能,但它们并不能说明处理器 A 比处理器 B 更好,因为它们对内存性能有些敏感。
最后是加密工作负载。从抽象角度来看,这很有意义,尽管特定测试可能没那么有用。高性能加密应该使用 AES-GCM 而不是 AES-CTR,后者也不适合硬件加速。这也是一个特定领域的基准。
如果我要尝试针对这些特定数字说些聪明的话,让我们尝试这样做;
- A12X 的内存带宽显著提升。部分原因是台式机内存似乎落后于当时的内存技术,但也因为内存性能在五年内有所提高。
- A12X 每个核心的 FPU 性能比 i7-4790T 略好。
- A12X 将运行与 i7-4790T 相似或更快的通用工作负载。
- A12X 在特定领域的工作负载方面表现更好,因为它为新的和不同的指令提供硬件支持,可以更好地反映平板电脑/手机设备的需求。
根据这些数字得出更大的结论,或者根据这些数字提出架构主张可能是不明智的。
至于通用架构比较,RISC 与 CISC 不再有意义,因为这两种指令集都被解码为微操作,这决定了工作负载的分配方式。单纯基于执行端口进行比较可能没有特别的意义,因为它们是无法直接比较的高级构建块。
缓存是直接影响处理器性能的重要量,但也非常复杂。英特尔架构和 A12X 之间如何共享缓存完全不同。一般来说,缓存越多越好,但缓存一致性同样重要,它会影响线程应用程序如何在内核之间共享数据。
最后,处理器需要满足您的工作负载需求。虽然 A12X 将来可能能够支持桌面工作负载,但 i7 v4 现在已支持它,因此尽管它比 A12X 早四到五年,但它仍然是桌面处理器的上佳选择。
答案3
是的,A12X 更新了 5 年,但英特尔单核性能自那时起仅提高了 20%(i7 9700T)。一个重要的区别是功耗,未来 Mac 中的 ARM CPU 可能会拥有更多内核,因此整体性能大致相同。