Apple M4 微架构评测

Apple M4 微架构评测

💡 原文中文,约22300字,阅读约需54分钟。
📝

内容提要

Apple M4 微架构评测显示,M4 P-Core 和 E-Core 在取指宽度、L1 ICache 和 BTB 设计上有显著改进。P-Core 每周期可取16条指令,E-Core 至少10条,L1 ICache 容量与 M1 相同,分别为192KB和128KB。此外,M4 引入了 Load Address/Value Predictor,提升了执行单元性能,整体架构优化明显。

🎯

关键要点

  • Apple M4 微架构评测显示 P-Core 和 E-Core 在取指宽度、L1 ICache 和 BTB 设计上有显著改进。
  • P-Core 每周期可取16条指令,E-Core 至少10条,L1 ICache 容量与 M1 相同,分别为192KB和128KB。
  • M4 引入了 Load Address/Value Predictor,提升了执行单元性能,整体架构优化明显。
  • M4 P-Core 在跨页取指时会拆成两个周期,确认了取指宽度为16条指令。
  • M4 E-Core 每周期取值不少于10条指令,比 Apple M1 的 E-Core 更快。
  • M4 P-Core 的 L1 ICache 容量为192KB,E-Core 为128KB,测试结果显示与官方信息一致。
  • M4 P-Core 的 BTB 设计相较于 M1 有显著优化,能够每周期执行2条分支指令。
  • M4 P-Core 的 L1 ITLB 容量为192项,E-Core 为192项,均与 M1 相同。
  • M4 P-Core 的 Return Stack 深度为60,E-Core 为40,均比 M1 更大。
  • M4 P-Core 和 E-Core 的 L1 DCache 容量分别为128KB和64KB,测试结果与官方信息一致。
  • M4 P-Core 的 Load Store Unit 每周期可完成多种组合的 Load 和 Store 操作,带宽与 M1 相同。
  • M4 P-Core 引入了 Load Address/Value Predictor,提升了 Load 和 Store 的性能。
  • M4 P-Core 和 E-Core 的执行单元数量和设计都有所扩充,尤其在整数和浮点指令方面。
  • M4 P-Core 的 Reorder Buffer 和 Scheduler 大小相比 M1 有明显提升。
  • M4 相比 M1 在多个方面进行了迭代,包括前端改进、寄存器堆优化和执行单元扩充。
➡️

继续阅读