baron · 10月18日

从Arm的最强超大核处理器来看:Arm Core里都有啥?

目录

  • L1 instruction memory system
  • Instruction decode -指令译码
  • Register rename -寄存器重命名
  • Instruction issue - 指令发射
  • Integer execute - 整数执行
  • Vector execute - 向量执行
  • Advanced SIMD and floating-point support - 高级 SIMD 和浮点支持
  • Cryptographic Extension - 加密扩展
  • Scalable Vector Extension - 可扩展向量扩展
  • L1 data memory system
  • Memory Management Unit
  • L2 memory system
  • Embedded Trace Extension and Trace Buffer Extension
  • Statistical Profiling Extension
  • Performance Monitoring Unit
  • Activity Monitoring Unit
  • GIC CPU interface
  • CPU bridge

image.png

Cortex-X925 core中的组件旨在使其成为一个高性能的core。

主要模块包括:

  • L1 指令和 L1 数据存储系统
  • L2 存储系统
  • 寄存器重命名
  • 指令解码
  • 指令发射
  • 执行流水线
  • 内存管理单元 (MMU)
  • 跟踪单元和跟踪缓冲
  • 性能监控单元 (PMU)
  • 活动监控单元 (AMU)
  • 通用中断控制器 (GIC) CPU 接口

Cortex-X925 core通过 CPU 桥与 DynamIQ Shared Unit-120 连接。

Cortex-X925 core实现了 ARMv9.2-A 架构。ARMv9.2-A 架构扩展了 ARMv8-A 架构中定义的架构,涵盖了 ARMv8.7-A。

image.png

L1 instruction memory system

L1 指令存储系统从指令缓存中提取指令,并将指令流传送到指令解码单元。

L1 指令存储系统包括:

  • 一个 64KB、4 路集合关联的 L1 指令缓存,带有 64 字节缓存行。
  • 一个全关联的 L1 指令翻译后备缓冲(TLB),原生支持 4KB、16KB、64KB 和 2MB 页大小。
  • 一个动态分支预测器。

Instruction decode -指令译码

指令解码单元将 AArch64 指令解码为内部格式。

Register rename -寄存器重命名

寄存器重命名单元执行寄存器重命名,以便于乱序执行,并将解码后的指令分派到各种发射队列。

Instruction issue - 指令发射

指令发射单元控制解码后的指令何时分派到执行流水线。它包括存储待发射到执行流水线的指令的发射队列。

Integer execute - 整数执行

整数执行流水线是整体执行流水线的一部分,包含执行算术和逻辑数据处理操作的整数执行单元。

Vector execute - 向量执行

向量执行单元是执行流水线的一部分,执行高级 SIMD 和浮点操作(FPU),执行可扩展向量扩展(SVE)和可扩展向量扩展 2(SVE2)指令,并可选择性地执行加密指令(Crypto)。

Advanced SIMD and floating-point support - 高级 SIMD 和浮点支持

高级 SIMD 是一种媒体和信号处理架构,主要增加了音频、视频、3D 图形、图像和语音处理指令。浮点架构提供单精度和双精度浮点运算支持。

Cryptographic Extension - 加密扩展

加密扩展在 Cortex-X925 core中是可选的。加密扩展为高级 SIMD 和可扩展向量扩展(SVE)指令集添加了新指令,加速以下操作:

  • 高级加密标准(AES)加密和解密。
  • 安全哈希算法(SHA)功能 SHA1、SHA2、SHA3。
  • 即使未配置 CRYPTO 支持,也支持 SVE2 版本的 SHA3 指令 EOR3、XAR 和 BCAX。
  • Armv8.2-SM SM3 哈希函数和 SM4 加密与解密指令。
  • 在诸如 Galois/计数器模式和椭圆曲线加密等算法中使用的有限域运算。
    注意
    可选的加密扩展不包括在基础产品中。Arm 提供了在 Cortex-X925 core许可下的附加许可中提供的加密扩展。

Scalable Vector Extension - 可扩展向量扩展

可扩展向量扩展(SVE)和可扩展向量扩展 2(SVE2)是 Armv8-A 架构的扩展。

它们补充但不取代 AArch64 高级 SIMD 和浮点功能。
高级 SIMD 架构、其相关实现以及支持软件也被称为 NEON 技术。

L1 data memory system

L1 数据存储系统执行加载和存储指令,并涵盖 L1 数据侧存储系统。它还处理内存一致性请求。

L1 数据存储系统包括:

  • 一个 64KB、4 路集合关联缓存,具有 64 字节缓存行。
  • 一个全关联的 L1 数据 TLB,原生支持 4KB、16KB 和 64KB 页大小,以及 2MB 和 512MB 块大小。

Memory Management Unit

内存管理单元 (MMU) 通过一组虚拟到物理地址映射和存储属性(保存在翻译表中),提供对内存系统的精细控制。

当地址被翻译时,这些会被保存到 TLB 中。TLB 项目包括全局和地址空间标识符 (ASID),以防止上下文切换时的 TLB 失效。它们还包括虚拟机标识符 (VMID),以防止虚拟机切换时由虚拟机监控程序引起的 TLB 失效。

L2 memory system

L2 存储系统包括 L2 缓存。L2 缓存是core的私有缓存,可以配置为 2MB 的 8 路集合关联缓存或 3MB 的 12 路集合关联缓存。L2 存储系统通过异步 CPU 桥连接到 DSU-120。

Embedded Trace Extension and Trace Buffer Extension

Cortex-X925 core支持一系列的调试、测试和跟踪选项,包括跟踪单元和跟踪缓冲器。

Cortex-X925 core还包括一个 ROM 表,其中包含系统中组件的列表。调试器可以使用该 ROM 表确定实现了哪些 CoreSight 组件。

Cortex-X925 core的所有调试和跟踪组件都在本手册中描述。有关嵌入式逻辑分析仪 (ELA) 的更多信息,请参阅 [Arm CoreSight ELA-600 嵌入式逻辑分析仪技术参考手册](Embedded Logic Analyzer Technical Reference Manual)。

Statistical Profiling Extension

Cortex-X925 core实现了 ARMv8.7-A 架构的统计分析扩展 (SPE)。SPE 提供执行指令的性能特征的统计视图,软件编写者可以使用这些数据优化代码以获得更好的性能。

Performance Monitoring Unit

性能监控单元 (PMU) 根据配置提供 6 或 31 个性能监控器。性能监控器可以配置为收集每个core和存储系统的操作统计信息。这些信息可用于调试和代码分析。

Activity Monitoring Unit

Cortex-X925 core实现了 ARMv8.4-A 架构的活动监控扩展。活动监控单元 (AMU) 中的活动监控器提供了有关系统电源管理和持续监控的有用信息。

GIC CPU interface

通用中断控制器 (GIC) CPU 接口与外部分配器组件集成时,用于支持和管理集群系统中的中断。

CPU bridge

在一个集群中,每个 Cortex-X925 core和 DSU-120 之间有一个 CPU 桥。

CPU 桥控制core和 DSU-120 之间的缓冲和同步。

CPU 桥是异步的,以允许每个core在频率、电源和区域实现点之间有不同的选择。你可以将 CPU 桥配置为同步运行,而不影响其他始终异步的接口,如调试和追踪。

推荐阅读
关注数
9466
内容数
212
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息