Cortex-A715核心是一款平衡性能、低功耗和资源受限的产品,实现了Armv9.0-A架构。Armv9.0-A架构是在Arm®v8-A架构基础上扩展的,延伸到了Arm®v8.5-A。它适用于大屏计算应用和智能手机应用。
Cortex-A715核心的主要特点包括:
• 实现了Armv9.0-A A64指令集。
• 所有异常级别(EL0到EL3)都支持AArch64执行状态。
• 内存管理单元(MMU)。
• 40位物理地址(PA)和48位虚拟地址(VA)。
• 通用中断控制器(GIC)CPU接口,可连接到外部中断分发器。
• 支持从外部系统计数器输入的64位计数的通用定时器接口。
• 实现了可靠性、可用性和可维护性(RAS)扩展。
• 实现了具有128位矢量长度的可伸缩矢量扩展(SVE)和可伸缩矢量扩展2(SVE2)。
• 集成执行单元,具有先进的单指令多数据(SIMD)和浮点支持。
• 支持可选择的加密扩展,需要单独许可。
• 活动监视单元(AMU)。
• 单独的L1数据和指令缓存。
• 私有的统一的L2数据和指令缓存。
• 可选择的错误保护,可以在L1指令和数据缓存、L2缓存和L2转换后备缓冲器(TLB)上进行奇偶校验或错误纠正码(ECC),实现单错误纠正和双错误检测(SECDED)。
• 支持内存系统资源分区和监控(MPAM)。
• Armv9.0-A调试逻辑。
• 性能监测单元(PMU)。
• 嵌入式跟踪宏单元(ETM),支持嵌入式跟踪扩展(ETE)。
• 跟踪缓冲器扩展(TRBE)。
• 可选择的统计分析扩展(SPE)实现。
• 可选择的嵌入式逻辑分析仪(ELA),ELA-600。
本文档描述了Cortex-A715核心微体系结构中影响软件性能的元素,以便可以相应地优化软件和编译器。
2.1 Pipeline overview
下图描述了高级别的Cortex-A715指令处理流水线。
指令首先被获取,然后解码为内部的宏操作(MOPs)。
然后,MOPs通过寄存器重命名和调度阶段进行处理。
在解码阶段之后,一个MOP可以被拆分为两个微操作(µOPs)。
一旦调度完成,µOPs等待其操作数,并按顺序发出到13个发射流水线中的其中一个。
每个发射流水线每个周期可以接受一个µOP。
//顺序(in order)取指,乱序(out of order)执行
执行管道支持不同类型的操作,如下表所示。