[A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)

ver0.1
[看前序文章有惊喜。]

前言

前面花了很大的精力把ARM构建的VMSA中的几个核心的议题给大家做了介绍,相信大家已经能够理解并掌握ARM的内存子系统的工作原理大致框架。接下来我们会规划一些文章,对ARM内存子系统的一些细节做一下介绍,使ARM的内存子系统更加的丰满。本文,我们将介绍内存模型的的类型(Memory Type)。

正文

1.1 背景

在介绍内存模型的类型之前,咱们先来听个神话故事。

在远古时期,宇宙尚未形成,天地未分,整个世界处于一片混沌之中。这个混沌的世界无边无沿,没有上下左右,也不分东南西北,样子好像一个浑圆的鸡蛋。在这个浑圆的东西当中,孕育着一个人类的祖先—盘古。盘古在这个混沌的世界中孕育了一万八千年,终于成熟。他醒来后,发现周围一片漆黑,什么都看不见。于是,他拔下自己的一颗牙齿,变成一把威力巨大的神斧,向四周猛劈过去。随着一声巨响,混沌被劈开,轻而清的阳气上升,变成了高高的蓝天;重而浊的阴气下沉,变成了广阔的大地。从此,宇宙间就有了天地之分。

感谢盘古,不然我们现在还生活在一篇混沌当中。接下来,一起看看计算机的世界,如图1-1所示。
1-1

图1-1 基于ARM的HIGH-Level 功能框图

如同一个公司光有老总,啥事儿也搞不成,所以必须配备必要的部门组织到一起才能够正常的工作。CPU就是这个公司的老总,接下来就是配备相应的部门,上面的各个功能单元不是一个计算机系统的全部,但是已经足够复杂。有了这些职能部门后,CPU就得考虑如何去管控它们了,怎么能让他们统一协作,最大效率的发挥作用,给自己挣钱了。那到底应该如何去管理呢?回答这个问题之前是不是得给这些职能部门安排个办公室或者说至少应该有个工位吧,老板要发号指令、表扬、还是要惩罚,是不是得找到具体职员的位置啊。提到了位置,就有了一种熟悉的配方油然而生的感觉,位置不就是地址嘛,ARM的内存空间就处处充满了地址。到这里,老板(CPU)眼前一亮,干脆把这些设备抽象成内存模型算了,统一编码到内存空间(注意这一块不同的体系架构还是不一样的,比如x86和ARM就有一些区别,主要是编地方式和访问方式),“老子以前怎么教内存打枪,现在照样能教这些设备怎么打炮”。于是,ARM这个老板设计了如图1-2的内存模型。
1-2

图1-2 ARM的内存模型

ARM让CPU工作以前,就得把各个智能部门摆正位置,安排合理的工位。这些工位所在的区域就是物理内存空间,而这个摆放的过程和盘古的大斧子工作流程是一样的,混沌在一起太烦人了,没有条理、没有秩序怎么能行呢?按照图1-2,先砍一斧子给那些Peripheral、再砍一部分给固件(ROM)、再砍一部分给内存(DDR)。砍完了之后,就清晰多了:
(1) Peripheral的种类最多,SOC外部的设备(Camera、LCDs、Sensor…)大家通过不同的外围总线(接口),接入到SOC的内部总线架构上;而内部的设备(ADSP、GPU、NPU…)可以直接通过SOC内部的总线(接口)接入到SOC的总线架构上。
(2) 固件设备(启动程序、安全相关程序… 出厂时刷写,不能改变。)也通过物理地址空间,链接进SOC架构中。
(3) DDR(SDRAM)内存设备也通过DDR链接进总线架构。

ARM给了这些设备安排妥当之后,并且进行了物理地址空间的编址之后,CPU就可以按照地址去访问他们进行工作了。那CPU是不是可以为所欲为,想干啥就干啥呢?比如一个老板,给财务发送了一条指令让她去写代码、或者让她将公司账上的钱直接转给老板的私人账户,显然是不行的。这些设备也一样,比如ROM区域是只能够读的,Peripheral区域由于不止CPU能操作它,设备同样可以随机的操作它们,因此这段区域通常是不能缓存的。DDR这个设备比较好说话,通常可以干的事情有很多,既可以装下代码执行,也能读写被做操作的数据,还可以共享给Peripheral设备共享数据(比如和GPU共享要被渲染的图像数据、和ADSP共享要被播放的音频数据…)。怎么能描述这些设备的个性࿰

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JetBrains IDE中GPU进程(JCEF)重启问题(Too many restarts of GPU-process)解决方案

目录 前言1. GPU进程重启问题概述1.1 什么是GPU进程重启问题?1.2 该问题带来的影响 2. GPU进程重启问题的原因分析2.1 显卡驱动的兼容性问题2.2 系统资源的限制2.3 JCEF组件的设置不合理 3. 解决方案3.1 方法一:通过自定义属性禁用GPU加速3.2 方法二&…

NVR批量管理软件/平台EasyNVR多个NVR同时管理支持UDP和TCP传输协议

随着科技的飞速发展,视频技术已成为现代社会不可或缺的一部分,广泛应用于安防监控、娱乐传播、在线教育、电商直播等多个领域。在这一背景下,NVR管理平台EasyNVR作为一款高效、灵活的视频监控管理系统,正经历着前所未有的发展机遇…

医学影像基础:常见的医学影像学术语和概念

目录 1. 基本影像术语 2. X射线相关术语 3. CT相关术语 4. MRI相关术语 5. 超声相关术语 6. 核医学相关术语 7. 影像质量和技术术语 8. 临床影像术语 总结 在医学影像学中,有许多术语和概念是常用且重要的。了解这些术语和概念有助于更好地理解影像报告、与…

稀土抗紫外屏蔽剂在化妆品上的应用

稀土抗紫外屏蔽剂的作用原理 稀土元素具有独特的电子结构,能够吸收和散射紫外线。其作用主要有以下几个方面: 1. 吸收紫外线:稀土元素可以吸收特定波长的紫外线,将其能量转化为热能或其他形式的能量,从而减少紫外线对…

2024 前端面试题!!! html css js相关

常见的块元素、行内元素以及行内块元素,三者有何不同?​​​​​​​ HTML、XML、XHTML它们之间有什么区别?​​​​​​​ DOCTYPE(⽂档类型) 的作⽤ Doctype是HTML5的文档声明,通过它可以告诉浏览器,使用哪一个HTM…

Android Studio安装完成后,下载gradle-7.4-bin.zip出现连接超时

文章目录 问题原因:因为下载镜像是谷歌,属于外网,不好正常连接,下载依赖。解决方法:找到gradle-wrapper.properties文件,修改镜像,如下图,然后再单击try again重新下载。 问题原因&a…

IntelliJ IDEA 2024社区版保姆及图文安装教程

1.下载 这里我们安装的是2024.2.3版本IntelliJ IDEA Community Edition 下载地址:https://www.jetbrains.com/idea/download/other.html 如果下载不便可以使用本文的网盘资源下载 2.安装 打开软件点击下一步 在安装过程中,我们可以选择安装的目录,也…

【二叉树进阶题目2】(算法题详细简介)

【二叉树进阶题目2】(算法题详细简介) 前言5. 二叉树的层序遍历 ||(力扣107)5.1 题目链接5.2 示例分析5.3 代码实现 6. 二叉树的层序遍历(力扣102)6.1 题目链接6.2 代码实现 7. 根据二叉树创建字符串(力扣6…

基于Pyecharts的数据可视化开发(二)调用通义千问api分析爬虫数据

上一篇博客做了关于“广州市2023年天气情况”的数据爬取,并保存为.csv文件。下一步是想用生成的.csv文件,直接调用大模型api进行分析,得出结论。通过调研,阿里云的通义千问大模型qwen-long可以实现对文件数据的分析。 通义千问大模…

SD-WAN:低延迟的国际网络连接方案

在全球化的商业环境中,企业业务正不断扩展至全球市场,急需实现高效、稳定的跨国网络连接。然而,传统的国际组网方式往往会遇到高延迟、低带宽和管理复杂等难题,导致企业运营效率下降并影响用户体验。本文将介绍SD-WAN如何解决这些…

WebRTC VAD 详解与代码示例

WebRTC VAD 详解与代码示例 WebRTC VAD的工作原理WebRTC VAD的代码示例总结WebRTC VAD(Voice Activity Detection,语音活动检测)是一种用于检测音频流中是否存在语音活动的技术。在实时通信系统中,VAD技术能够显著减少带宽消耗并优化系统资源利用,特别是在WebRTC这类实时音…

在macOS的多任务处理环境中,如何平衡应用的性能与用户体验?这是否是一个复杂的优化问题?如何优化用户体验|多任务处理|用户体验|应用设计

目录 一 多任务处理与应用性能 1. macOS中的多任务处理机制 2. 性能优化的基本策略 二 用户体验的关键要素 1. 响应速度 2. 界面友好性 3. 功能的直观性 三 平衡性能与用户体验的策略 1. 资源管理 2. 优化数据加载 3. 使用合适的线程模型 4. 实时监测和调整 四 使…

防静电监控系统为汽车电子工厂打造安全生产环境

汽车电子产品对静电极其敏感,微小的静电放电 (ESD) 都会导致元器件损坏,造成巨大的经济损失和产品质量问题。因此,在汽车电子工厂构建完善的ESD防静电防护体系至关重要。传统的防静电措施主要依赖人工巡检,效率低且难以保证实时监…

2024 AFS-46 电子数据存在性鉴定(移动终端)(2024能力验证)

一、委托事项 1.给出检材手机的MEID。 2.给出检材手机在2024年7月3日上午连接过的设备名称。 3.给出检材手机中kimi应用最近一次被中断回答的问题内容。 4.给出检材手机中安装过的即时通讯应用的包名(不包含虚拟机中的应用)。 5.检材手机中安装有几…

数据结构之双链表——考研笔记

文章目录 一.单链表VS双链表二.创建双链表(带头结点)三.双链表的插入四.双链表删除五.销毁双链表六.双链表遍历七. 循环链表八.静态链表1.用代码定义一个静态链表 一.单链表VS双链表 单链表中只包含指向它后继结点的指针,所以给定一个结点p找…

AI 原生时代,更要上云:百度智能云云原生创新实践

本文整理自百度云智峰会 2024 —— 云原生论坛的同名演讲。 我今天分享的主题,是谈谈在云计算和 AI 技术快速发展和深入落地的背景下,百度智能云在云原生的基础设施产品和技术层面做的一些创新实践。 毋庸置疑,过去十几年云计算和 AI 技术是…

商场紧急情况处理:SpringBoot技术实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

.NET Core WebApi第7讲:项目的发布与部署

一、理解 前端跟后端拿数据,然后在前端页面中展示,就是我们要完成的事情。 把前端跟后端开发好之后,我们需要落地部署,这个时候就需要一个服务器。 服务器就是一台电脑,只要windows里面有一个叫IIS的管理器。 二、项目…

Python的PIL库初步使用:转换色彩空间

[] 简介 PIL,即Python图像处理库(Python Imaging Library),conda默认环境便已提供,如果没有,可通过pip安装 pip install pillow有了PIL,就可以对文件进行读取和存储,示例如下 from PIL import Image pa…

画质修复怎么调?一键将模糊图片变高清的窍门分享

就是说有同样拿起手机拍照就手抖的朋友吗? 小编每次都是因为手抖,拍出来的每一张照片都是虚焦糊糊的,几乎每一张!! 防抖功能都抵挡不住的虚焦,只能寄希望于各种图片画质修复清晰app来拯救这些糊糊的图片了…