3.3.5 《Arm A715技术参考手册》
文章平均质量分 61
https://download.csdn.net/download/u012906122/89474652
vimer-hz
书是越读越薄的
展开
-
22. Statistical Profiling Extension Support
SPE收集性能分析数据是周期性进行的,一个倒计数器驱动着选择要进行分析的微操作。Cortex®-A715核心在Arm®v8.2-A架构中实现了可选的统计分析扩展(SPE)。SPE的分析数据使用虚拟地址(VA)写入内存,这意味着进行分析数据的写入必须具备内存管理单元(MMU)来将虚拟地址转换为物理地址(PA),并且必须有一种方式来将数据写入内存。下表显示了在Cortex®-A715核心中实现的8位数据源数据包中定义的数据源。下表显示了在Cortex®-A715核心中实现的32位事件数据包中定义的事件。翻译 2023-08-27 20:00:53 · 241 阅读 · 0 评论 -
21. Activity Monitors Extension support
建议参考Arm提供的官方文档,以获取关于Cortex®-A715核心中活动监控寄存器的准确和最新信息。在DSU-110 DynamIQ™集群中,活动监控单元(AMU)寄存器在实用总线接口上的基地址为0x90000,其中n是Cortex®‑A715核心实例号。要获取有关寄存器的更多信息,请单击表格中的寄存器名称。Cortex®‑A715核心中的活动监控事件可以是固定的或可编程的,并且它们映射到活动监控计数器。对于没有列出复位值的寄存器,请参考寄存器描述页面或Arm ARM中记录的各个字段复位值的文档。翻译 2023-08-27 19:59:11 · 151 阅读 · 0 评论 -
20. Trace Buffer Extension support
否则,如果您仅编程计数器,在正确设置触发条件之前,它可能根据错误的事件开始计数。请参阅《Arm®架构参考手册补充Armv9,适用于Armv9-A架构配置文件》以获取有关TRBE寄存器行为和访问机制的信息。Cortex®‑A715核心支持通过系统寄存器接口访问Trace Buffer Extension (TRBE)寄存器。当禁用TRBE时,TRBE将忽略跟踪数据,跟踪单元将跟踪数据发送到AMBA® Trace Bus (ATB)接口。在这种情况下,跟踪单元会保留数据,直到TRBE接受为止。翻译 2023-08-27 19:54:32 · 233 阅读 · 0 评论 -
19. Embedded Trace Extension support
您可以通过过滤来限制跟踪单元生成的跟踪数据量。跟踪单元还可以生成触发信号,用于指示跟踪捕获设备停止捕获跟踪数据。这些选定的事件可以由跟踪单元内的任何事件寄存器访问。对于跟踪缓冲区的复位与核心的冷复位是相同的。当使用跟踪缓冲区扩展(TRBE)时,热复位会禁用跟踪缓冲区,因此无法使用跟踪缓冲区来捕获热复位的跟踪信息。Cortex®‑A715核心的跟踪单元从设计中的其他单元收集事件,并使用数字来引用这些事件。然而,如果使用热复位对核心进行复位,那么在复位之前由核心提供的最后几条指令可能无法被跟踪。翻译 2023-08-27 19:53:36 · 183 阅读 · 0 评论 -
18. Performance Monitors Extension support
常见事件PMU事件 下表显示了Cortex®‑A715核心生成的性能监视器事件以及PMU用于引用这些事件的数字。有关这些特性及其对寄存器的影响的详细说明,请参阅Arm® A-profile架构的《Arm®体系结构参考手册》。Cortex®‑A715核心的性能监视单元(PMU)从设计中的其他单元收集事件,并使用数字引用这些事件。对于没有列出重置值的寄存器,请参考寄存器描述页或《Arm ARM》中记录的各个字段重置值。对于没有列出重置值的寄存器,请参考寄存器描述页面或《Arm ARM》中记录的各个字段重置。翻译 2023-08-27 17:55:23 · 94 阅读 · 0 评论 -
17. Debug
DynamIQ™ Shared Unit-110 (DSU-110)具有自己的ROM表,一个用于集群(cluster),一个用于DebugBlock,并在集群ROM表中具有属于每个核心的ROM表的入口点。对于基于DSU-110的设备,用于访问调试单元的机制是基于CoreSight架构实现的。关于DynamIQ™集群调试组件的更多信息,请参阅《Arm® DynamIQ™ Shared Unit-110 Technical Reference Manual》中的“调试(Debug)”部分。翻译 2023-08-27 14:04:57 · 159 阅读 · 0 评论 -
16. System control
系统寄存器可以在AArch64执行状态的EL0到EL3中访问。其中一些系统寄存器可以通过外部调试接口或实用总线接口进行访问。系统寄存器控制和提供核心实现的功能的状态信息。• 通用中断控制器(GIC)的配置和管理。• 内存管理单元(MMU)的配置和管理。• 整体系统控制和配置。翻译 2023-08-27 13:58:39 · 136 阅读 · 0 评论 -
15. Scalable Vector Extensions support
SVE是由Armv8.2架构引入的可选扩展。SVE提供的向量指令主要支持比Arm Advanced SIMD指令集更宽的向量。Cortex®-A715核心实现了128位的可扩展向量长度。Cortex®-A715核心支持可扩展向量扩展(SVE)和可扩展向量扩展2(SVE2)。SVE和SVE2是对AArch64高级SIMD和浮点功能的补充,而不是替代品。SVE引入的所有功能和附加内容都在《Arm®体系结构参考手册增补》中进行了描述,即《可扩展向量扩展》一书中。翻译 2023-08-27 13:57:11 · 76 阅读 · 0 评论 -
14. Advanced SIMD and floating-point support
Cortex®-A715核心浮点实现包括Arm®v8.5-A的功能。BFloat16浮点和Int8矩阵乘法是这些支持的功能之一。Cortex®-A715核心支持A64指令集中的高级SIMD和标量浮点指令,而无需进行浮点异常捕获。• 默认非数字(NaN)模式。翻译 2023-08-27 13:56:21 · 60 阅读 · 0 评论 -
13. GIC CPU interface
如果以这种方式禁用它,则可以使用外部的 GIC IP 驱动中断信号(nFIQ、nIRQ)。如果在系统中未将 Cortex®-A715 核心集成到外部 GIC 中断分发器组件(最小 GICv3 架构),则必须禁用 GIC CPU 接口。GIC CPU 接口包括用于屏蔽、识别和控制转发到核心的中断状态的寄存器。DSU-110 DynamIQ™ 集群中的每个核心都有一个 GIC CPU 接口,它连接到一个共同的外部分发器组件。Cortex®-A715 核心始终包含通用中断控制器(GIC)CPU接口。翻译 2023-08-27 13:55:26 · 128 阅读 · 0 评论 -
12. Utility bus
实用总线(utility bus)提供对DynamIQ™ 共享单元-110(DSU-110)中各个系统组件的控制寄存器的访问,以及DSU-110 DynamIQ™ 集群内核心的控制寄存器。有关集群中核心的PPU寄存器的信息,请参阅Arm® DynamIQ™ 共享单元-110 技术参考手册。对于实用总线访问的所有其他寄存器,请参阅Arm® DynamIQ™ 共享单元-110 技术参考手册中的实用总线章节。• 核心AMU和MPMM寄存器的每组寄存器的基地址取决于核心实例编号 ,从 0 到总核心数减一。翻译 2023-08-26 16:39:05 · 225 阅读 · 0 评论 -
11. RAS Extension support
FHIs和ERIs会在可靠性、可用性和可维护性(RAS)寄存器中反映,这些寄存器会在检测到错误的节点中更新。有关ERR1PFGCDN的更多信息,请参阅《Arm®可靠性、可用性和可维护性(RAS)规范Armv8》,了解Armv8-A架构配置文件的更多信息。• 对包含脏数据的功能性RAM进行单错误纠正、双错误检测(SECDED)和错误纠正码(ECC)的缓存保护。该核心还支持错误同步屏障(Error Synchronization Barrier,ESB)指令,进一步隔离在使用污染数据时报告的不精确异常。翻译 2023-08-26 16:35:11 · 387 阅读 · 0 评论 -
10. Direct access to internal memory
用于定位标签和数据内存的缓存数据条目的编码在适当的SYS指令中的Xn中设置。对于标签和数据RAM访问,它们的编码是相似的。用于定位标签和数据内存的缓存数据条目的编码在适当的SYS指令中的Xn中设置。当需要访问缓存中的数据或指令时,处理器会使用特定的算法根据内存地址来确定数据所在的组。然后,它会在该组的4个条目中查找匹配的数据。L1数据缓存和指令缓存是处理器中的两个关键组件,用于提高数据和指令的访问速度。总之,L1数据缓存和指令缓存都采用了4路组相联的设计,以提高数据和指令的访问速度和系统性能。翻译 2023-08-26 16:31:07 · 120 阅读 · 0 评论 -
9. L2 memory system
在L1指令缓存和L2缓存中未命中的指令获取会分配两个缓存,但是L2缓存的失效不会导致L1指令缓存的回写无效(back-invalidate)。不同的引擎能够预取L2缓存和L3缓存中的数据。L2缓存是统一的,并且对于集群中的每个Cortex®‑A715核心都是私有的。//L2是core私有的!对L1数据缓存进行的具有瞬态位设置的读取会在L1缓存中进行分配。被标记为内部写回高速缓存和外部写回高速缓存的内存将被缓存在L1数据缓存和L2缓存中。所有设置了瞬态位的可缓存读取和写入会在L2缓存中进行分配。翻译 2023-08-26 16:21:41 · 106 阅读 · 0 评论 -
8. L1 data memory system
为了防止不必要的缓存行分配,合并写缓冲器(MWB)会检测核心在线填充完成之前是否已经写入了完整的缓存行。在写流模式下,写操作仍会查找缓存,但如果未命中,则会写入L2或L3缓存,而不是开始线填充。当一个核心禁用了L1数据缓存后,由该核心发出的可缓存内存访问不再缓存到L1或L2缓存中。但是,共享L2缓存的另一个核心仍然可以将数据缓存在其L1缓存和共享的L2缓存中。对可缓存内存的原子指令可以作为近原子操作或远原子操作执行,默认情况下,Cortex®-A715核心将这些指令作为近原子操作执行。翻译 2023-08-26 16:17:02 · 196 阅读 · 0 评论 -
7. L1 instruction memory system
如果启用了L1指令缓存,并且指令获取在L1指令缓存中未命中,它们仍然可以在L1数据缓存中查找。只有在启用L1指令缓存的情况下,才会在L2缓存中分配该行。即使在禁用状态下,指令仍然可以被缓存到L1指令缓存中,并从中获取。如果禁用了L1指令缓存,则由于指令获取引起的所有内存访问都将使用非缓存内存属性进行。代码流中的分支指令或异常可能导致流水线刷新,丢弃当前已获取的指令。- 对于条件分支,它会预测该分支是否被执行以及分支转到的地址,即分支目标地址。- 分支目标缓冲区(BTB),保存先前执行的分支的目标地址。翻译 2023-08-26 16:14:26 · 99 阅读 · 0 评论 -
6. Memory management
对于两个阶段的转换,第2阶段的转换可以修改第1阶段转换定义的属性。每个地址转换阶段使用存储在内存映射转换表中的地址转换和相关内存属性。当Cortex®-A715核心生成内存访问时,内存管理单元(MMU)会在转译查找缓冲区(TLB)中搜索所请求的虚拟地址(VA)。在L1数据TLB中未命中但在L2 TLB中命中的情况下,与L1数据TLB中的命中相比,会有5个时钟周期的延迟。1. 在相关的指令或数据L1 TLB中对请求的VA、当前地址空间标识符(ASID)、当前虚拟机标识符(VMID)和当前转换方案进行查找。翻译 2023-08-26 16:11:27 · 375 阅读 · 0 评论 -
5. Power management
由于核心的 RAS 寄存器仅对在核心上运行的软件可访问,系统错误管理器无法确定不可纠正的错误发生在核心的哪个位置。然而,在执行核心关机程序中的 WFI 指令之前,必须重新路由核心的错误中断输出到系统错误管理器。此类请求会立即被接受,因此对核心、DynamIQ™集群或更广泛的系统的影响是不可预测的,并且可能需要进行更广泛的系统复位。特别地,在复位时,可能会完成复位时的任何未完成的内存系统事务。当核心执行WFI或WFE指令时,它会等待核心中的所有指令(包括显式的内存访问指令)执行完毕,然后进入低功耗状态。翻译 2023-08-26 13:48:47 · 711 阅读 · 0 评论 -
4. Clocks and resets
为了实现动态的功耗节省,Cortex®‑A715核心支持分层时钟门控(hierarchical clock gating)。它还支持热重启(Warm Reset)和冷重启(Cold Reset)。每个Cortex®‑A715核心只有一个时钟域,并接收一个时钟输入信号。这个时钟输入信号由CPU桥中的一个架构级时钟门控进行控制。• 冷重启,用于对核心中的逻辑进行复位,包括调试逻辑、跟踪逻辑和RAS逻辑。• 针对各种模块的区域时钟门控,可以关闭部分时钟树。• 可以关闭单独寄存器或寄存器组的本地时钟门控。翻译 2023-08-26 13:26:25 · 84 阅读 · 0 评论 -
3. Technical overview
这样,处理器可以正确地理解和执行指令的操作。解码完成后,解码单元将解码后的指令传递给执行流水线的下一个阶段,从而启动指令的实际执行过程。SPE提供了执行指令的性能特性的统计视图,软件开发者可以利用这些统计数据来优化代码,以实现更好的性能。Arm®v9.0-A架构扩展了Arm®v8‑A架构,一直延伸到Arm®v8.5-A。这样,不同的指令可以并发地使用相同的物理寄存器,从而允许指令乱序执行,提高了处理器的性能。Arm®v9.0-A架构扩展了Arm®v8‑A架构中定义的架构,一直延伸到Arm®v8.5-A。翻译 2023-08-26 13:25:22 · 135 阅读 · 0 评论 -
2. The Cortex®‑A715 core
请参阅Arm® Cortex®‑A715 Core Configuration and Integration Manual中的RTL配置过程,以及Arm® DynamIQ™ Shared Unit-110 Configuration and Integration Manual中关于实现选项的内容。Arm®v9.0-A架构扩展了在Arm®v8-A架构中定义的架构,直到Arm®v8.5-A。可配置性是基于每个核心的,也就是说,在一个集群中,不同的Cortex®-A715核心可以具有不同的配置选项。翻译 2023-08-25 19:59:11 · 860 阅读 · 0 评论