IBM POWER8 微架构评测

IBM POWER8 微架构评测

💡 原文中文,约5700字,阅读约需14分钟。
📝

内容提要

IBM POWER8 微架构评测显示其在PPC64LE指令集下的性能表现。测试涵盖前端、后端及各模块性能,包括L1 ICache、ITLB、BTB等。结果表明,当超出L1 ICache容量时,IPC显著下降,各模块的容量和性能特征符合官方信息。

🎯

关键要点

  • IBM POWER8 微架构评测显示其在 PPC64LE 指令集下的性能表现。
  • 测试涵盖前端、后端及各模块性能,包括 L1 ICache、ITLB、BTB 等。
  • 超出 L1 ICache 容量时,IPC 显著下降,结果与官方信息一致。
  • L1 ICache 容量为 32 KB,8-way set associative。
  • L1 ITLB 容量为 64-entry,fully associative,性能在 64 pages 时出现拐点。
  • BTB 通过 3 周期延迟的 Fetch + Decode 获取分支指令的目的地址。
  • Return Address Stack 在不同 SMT 模式下的容量分别为 32、16 和 8。
  • CBP 和 IBP 的设计包括多种缓存和历史记录机制以提高预测准确性。
  • 后端的 ROB 容量为 28-entry,ST 模式下每周期 Commit 一个 Group。
  • Register File 允许 106 个 Inflight 的 Rename,分为 GPR 和 VSR。
  • Issue Queue 每周期最多 Issue 10 条指令,支持多种指令类型。
  • 执行单元包括多种流水线,支持定点、浮点和向量计算。
  • L1 DCache 容量为 64KB,8-way set associative,具有 3 cycle load to use latency。
  • L1 DTLB 容量为 48-entry,超出容量时会导致性能下降。
  • L2 DTLB 容量为 256-entry,触发 Linux 的大页合并功能时性能表现不同。
  • L3 TLB 容量为 2048-entry,4-way set associative,支持并发页表遍历。
  • Prefetcher 具有 16-entry Stream Prefetcher,能够跨页边界进行预取。

延伸问答

IBM POWER8 微架构的主要性能特点是什么?

IBM POWER8 微架构在 PPC64LE 指令集下表现出色,特别是在前端和后端性能方面,测试涵盖了 L1 ICache、ITLB、BTB 等模块。

L1 ICache 的容量和性能特征是什么?

L1 ICache 的容量为 32 KB,采用 8-way set associative,当超出容量时,IPC 显著下降。

L1 ITLB 的性能在什么情况下会出现拐点?

L1 ITLB 的性能在 64 pages 时出现拐点,对应其 64-entry 的容量。

IBM POWER8 的执行单元支持哪些类型的计算?

执行单元包括定点、浮点和向量计算,支持多种流水线操作。

超出 L1 DTLB 容量会对性能产生什么影响?

超出 L1 DTLB 容量时,会导致性能下降,具体表现为 Load to use latency 增加。

IBM POWER8 的 Prefetcher 有什么特点?

IBM POWER8 的 Prefetcher 具有 16-entry Stream Prefetcher,能够跨页边界进行预取,提升缓存访问效率。

➡️

继续阅读