armv8架构

【cache一致性】
对set和way的dc指令是不看POU/POC,只能处理L1L2, 对slc无效,但是其他dc指令是根据POU来处理,对slc是有作用的。
clean影响dirty位,使用dma测试才能看出效果
abf invalidate L3会通过SF back invalidate L1L2
"clean:
观察者(PE)执行clean操作使得cache可以被其他同一个POU域的观察者(PE)看到。在同一个shareable域的memory,clean操作可以写另一个观察者(PE)写过的cache
简单总结:检查POU域内对应内存cache line 的dirty bit。如果dirty bit为1,将cache line的内容写回下一级存储,并将dirty bit置为0. "
"invalidate:
执行invalidate操作可以使得cache在同一POU域的观测者是可见的,如果没有执行过clean操作,invalidate可能导致cache位置数据丢失。
对normal, non-cacheable或者任何类型的device的memory执行invalidate操作后,该地址将不出现在cache中。
简单理解:POU域对应内存cache line 的valid bit.如果valid bit 为1,置为0."

写操作会先发invalidate poc,sf广播invalidate,使其他pe的inner cache无效。

【ld和st指令】
ldar : ldar之后读写操作,只能在执行ldar完之后被每一个pe看见。
stlr: stlr之前的读写操作,在执行stlr时可以被每一个pe看见。

local  exclusive monitor只对当前的pe读写起作用,与其他pe的任何操作都无关,
1. 重点是Figure B2-4的状态转换图
2. store exclusive指令只有在Marked 为exclusive状态时才能store成功,并转为open状态,返回0值,否则返回1,且store失败。

global exclusive monitor对每一个pe都有一个单独的状态机。必须工作在shareable memory状态,但inner还是outer shareable对global monitor应该没差别。
load exclusive只能对当前的pe操作的一个地址转为exclusive状态,其他地址如果为exclusive,会被转为open状态。同一个pe不存在2个地址为exclusive的情况。
load exclusive只对当前的pe的状态机起作用,对其他pe的状态机没有状态。
store exclusive只有当前的pe的local和global monitor的状态机都处于marked as exclusive access状态时,才能成功store,并返回0状态值,且使得所有pe的当前地址状态都转为open状态。
如果没有地址处于marked as exclusive access状态,store失败。
如果当前pe访问的地址没有处于marked as exclusive access状态,store成功与否由设计决定
store exclusive成功store后,会产生一个clear exclusive event到当前的pe。

ARMv8-A 架构是 ARM 公司推出的新一代架构,旨在满足应用程序配置文件的需求。这一架构支持两种执行状态:32 位执行状态和 64 位执行状态,这使得它既能利用 64 位宽寄存器提供的增强性能,又能保持对现有 ARMv7 软件的向后兼容性[^1]。 ### 执行状态 ARMv8-A 支持两种主要的执行状态: - **AArch64**:这是纯 64 位执行状态,提供完整的 64 位指令集支持,包括更大的地址空间(最多支持 48 位物理地址)以及更多的通用寄存器(31个64位通用寄存器)。 - **AArch32**:此模式向下兼容 ARMv7 及其以前的版本,允许运行 32 位的应用程序而无需任何修改。 ### 架构配置 ARMv7 引入了不同的架构配置来适应各种应用场景: - **ARMv7-A**:面向需要运行复杂操作系统的设备,如智能手机和个人电脑,提供了全面的操作系统支持功能。 - **ARMv7-R**:专为实时系统设计,确保可预测的高性能表现。 - **ARMv7-M**:针对深度嵌入式微控制器市场,强调低功耗和成本效益[^2]。 ### 关键特性 - **内存管理单元 (MMU)**:负责虚拟地址到物理地址的转换,支持分页机制,有助于实现高效的内存管理和保护。 - **缓存**:现代处理器中不可或缺的部分,用于减少访问主存的延迟,提高数据访问速度。 - **GIC (Generic Interrupt Controller)**:通用中断控制器,用于管理外部中断请求,支持多核处理器环境下的中断分配与处理。 - **TrustZone 技术**:一种安全扩展技术,通过硬件隔离创建两个世界——正常世界和安全世界,从而保护敏感数据和操作免受攻击。 - **异常处理**:定义了多种异常类型及其处理机制,确保处理器能够正确响应各种异常情况,如中断、错误等[^4]。 ### 性能优化技术 ARMv8 架构中的处理器采用了多种先进的性能优化技术,例如: - **超标量架构**:允许在一个时钟周期内执行多个指令,显著提升指令吞吐量。 - **动态指令调度**:在运行时重新排序指令以充分利用处理器资源。 - **寄存器重命名**:解决指令间的数据依赖问题,避免不必要的等待。 - **分支预测**:通过预测分支的方向减少流水线停滞,提高执行效率。 此外,像 Intel 的 Hyper-Threading 技术和 ARM 的 big.LITTLE 架构也被视为此类优化策略的例子,它们分别通过多线程技术和异构计算核心组合实现了更高的并行处理能力和能效比[^5]。 ### 学习路径建议 对于希望深入了解 ARMv8/Armv9 架构的人来说,可以从以下几个方面入手学习: - **基础理论知识**:熟悉计算机组成原理、操作系统基本概念等基础知识。 - **官方文档与手册**:阅读 ARM 官方发布的架构参考手册和技术白皮书,获取最权威的信息来源。 - **实践操作经验**:尝试使用开发板或者模拟器进行实际编程练习,加深理解。 - **社区交流分享**:加入相关的技术论坛或社群,与其他开发者交流心得体验。 ```markdown ## 相关主题 - [ARMv8/armv9基础](#) - [MMU & Cache详解](#) - [GIC专题、异常专题、中断专题](#) - [Trustzone & 安全架构](#) - [Architecture深入解析](#) - 《Learn The Architecture》系列教程 - 《Armv8/armv9架构入门指南》系列 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值