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

文摘   2024-10-18 07:28   上海  

目录

    • 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


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。

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 桥配置为同步运行,而不影响其他始终异步的接口,如调试和追踪。


Arm精选
ARMv8/ARMv9架构、SOC架构、Trustzone/TEE安全、终端安全、SOC安全、ARM安全、ATF、OPTEE等
 最新文章