浅析ARMv8体系结构:Memory Type
2024-01-10 05:58:15
文章目录
内存类型概述
ARMv8内存模型将内存分成了Normal和Device两种类型,不同的内存类型支持的属性也存在差异,其中,Normal类型主要应用于常规的系统内存,支持读写等操作;而Device类型,顾名思义,主要针对于设备内存,在访问时会存在更多的限制。
Normal内存属性
ARMv8为Normal内存定义了两类属性:Shareability(可共享性)和Cacheability(可缓存性)。
Cacheability
Normal内存支持的Cacheability分为以下三种:
- Write-Through Cacheable
- Write-Back Cacheable
- Non-cacheable
Shareability
Normal内存支持的Shareability分为以下三种:
- Inner Shareable
- Outer Shareable
- Non-shareable
Device内存属性
Device内存实际上也是存在Cacheability和Shareability这两个属性,但是它固定是Outer Shareable和Non-cacheable的。针对于Device内存类型,ARMv8额外定义了三种内存属性:Gathering、Reordering和Early Write Acknolegement。
根据Device内存的GRE属性,可以将Device内存分为以下几类:
- Device-nGnRnE
- Device-nGnRE
- Device-nGRE
- Device-GRE
Gathering
Gathering描述了系统是否允许将对某一内存区域或不同内存区域的多个内存访问操作合并成一笔进行处理。配置Gathering属性,可以减少内存访问开销,提升系统性能,但可能会导致reorder问题。在ARMv8中,通常简写成G或nG。
Reordering
Early Write Acknowledgement
相关参考
- 《DDI0487A_e_armv8_arm.pdf》
- 《learn_the_architecture_-_aarch64_memory_attributes_and_properties_102376_0200_01_en.pdf》
文章来源:https://blog.csdn.net/anyegongjuezjd/article/details/135491977
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!