浅析ARMv8体系结构:Memory Type

文章目录

    • 内存类型概述
    • Normal内存属性
      • Cacheability
      • Shareability
    • Device内存属性
      • Gathering
      • Reordering
      • Early Write Acknowledgement
    • 相关参考

内存类型概述

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》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336130.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML---JQurey的基本使用

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 本章目标 (1)能够搭建jQuery开发环境 (2)使用ready( )方法加载页面、掌握jQuery语法 使用addClass( )方法和css( )方法为元素添加CSS样式使用n…

文心一言 VS 讯飞星火 VS chatgpt (175)-- 算法导论13.3 4题

四、用go语言,Teach 教授担心 RB-INSERT-FIXUP可能将 T.nil.color 设为 RED,这时,当 z 为根时第1行的测试就不会让循环终止。通过讨论 RB-INSERT-FIXUP永远不会将 T.nil.color 设置为 RED,来说明这位教授的担心是没有必要的。 文…

苍穹外卖Day01——解决总结1中存在的问题

前序章节: 苍穹外卖Day01——总结1 解决总结1中存在的问题 1. 什么是JWT2. POJO、Entity、VO、DTO3. Nginx(反向代理)4. Data注解 1. 什么是JWT JWT(JSON Web Token)是一种用于在网络应用间传递信息的开放标准&#…

聊聊 Java 集合框架中的 ArrayList

其实 Java 集合框架也叫做容器,主要由两大接口派生而来,一个是 collection,主要存放对象的集合。另外一个是Map, 存储着键值对(两个对象)的映射表。 下面就来说说 List接口,List存储的元素是有序、可重复的。其下有三个…

影视视频知识付费行业万能通用网站系统源码,三网合一,附带完整的安装部署教程

在数字化时代,知识付费行业逐渐成为主流。人们对高质量内容的需求日益增长,越来越多的人愿意为有价值的知识和信息服务付费。为了满足这一市场需求,罗峰给大家分享一款全新的影视视频知识付费网站系统源码,为用户提供一站式的知识…

Real Fire Smoke

资产使用高分辨率的动画Spritesheet,并结合了Shuriken粒子系统。具有3种风格的火焰和爆炸。 效果分为7类。 主要特点: - 3种火 - 预制板共计80块 - 5种爆炸声 - 3个循环的火灾声音 - 7张火焰和烟雾的精灵图 - 8x8 帧的 spritesheet,分辨率在 2048 到 8192 像素之间 效果类别…

flask+mysql徐州市天气信息可视化分析系统-计算机毕业设计源码04600

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对天气信息等问题,对天气信息进行…

笔记本摄像头模拟监控推送RTSP流

使用笔记本摄像头模拟监控推送RTSP流 一、基础安装软件准备 本文使用软件下载链接:下载地址 FFmpeg软件: Download ffmpeg 选择Windows builds by BtbN 一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。 EasyDarwin软件:Download Easy…

开源C语言库Melon:Cron格式解析

本文介绍开源C语言库Melon的cron格式解析。 关于 Melon 库,这是一个开源的 C 语言库,它具有:开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 cron也就是我们常说的Crontab中的时间格式,格式如…

Go语言学习笔记(二)

Go语言的学习资源 以下是一些推荐的Go语言学习资源的链接: Go语言教程:https://golang.org/doc/Go by Example:Go by ExampleGolang Tutorials:https://golangtutorials.com/Go语言第一课(慕课网)&#x…

【教学类-45-04】X-Y之间的“三连减加“题(a-b+c=)

作品展示: 背景需求: 【教学类-45-02】X-Y之间的“三连减“题(a-b-c)-CSDN博客文章浏览阅读465次,点赞15次,收藏7次。【教学类-45-02】X-Y之间的"三连减"题(a-b-c)https://blog.csdn.net/reasonsummer/article/details…

【Proteus仿真】【Arduino单片机】汽车车窗除霜系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602显示模块、光线传感器、DS18B20温度传感器、PCF8691 ADC模块、继电器加热模块等。 主要功能: 系统运行后,LCD…