ARM-A架构入门基础(三)MMU

news2024/11/24 22:46:54

14天学习训练营导师课程:周贺贺《ARMv8/ARMv9架构-快速入门》

1. MMU(Memory Management Unit)

内存管理单元,MMU的意义在于将软件程序的虚拟地址转换为真实的物理地址。

2. MMU种类

  1. Secure EL1&0 translation regime, when EL2 is disabled
  2. Non-secure EL1&0 translation regime, when EL2 is disabled
  3. SECURE EL1&0 translation regime, when EL2 is enabled
  4. Non-secure EL1&0 translation regime, when EL2 is enabled
  5. Secure EL2&0 translation regime
  6. Non-secure EL2&0 translation regime
  7. Secure EL2 translation regime
  8. Non-secure EL2 translation regime
  9. Secure EL3 translation regime

3. 如何开启MMU

  1. 设置页表基地址TTBR
  2. 初始化MAIR_EL3
  3. 配置TCR_EL3
  4. 创建页表
  5. 使能MMU

4. MMU模型

在这里插入图片描述

5. 页表属性

在这里插入图片描述
PBHA, bits[62:59] : for FEAT_HPDS2
XN or UXN, bit[54] : Execute-never or Unprivileged execute-never
PXN, bit[53] : Privileged execute-never
Contiguous, bit[51] : translation table entry 是连续的,可以存在一个TLB Entry中
DBM, bit[51] : Dirty Bit Modifier
GP, bit[50] : for FEAT_BTI
nT, bit[16] : for FEAT_BBM
nG, bit[11] : 缓存在TLB中的翻译,是否使用ASID标识
AF, bit[10] : Access flag, AF=0后,第一次访问该页面时,会将该标志置为1
SH, bits[9:8] : shareable属性
AP[2:1], bit[7:6] : Data Access Permissions bits
NS, bit[5] : Non-secure bit
Attrlndx[2:0], bits[4:2]

6. 内存属性

在这里插入图片描述
在这里插入图片描述

R or WMeaning
0b0No Allocate
0b1Allocate
ddMeaning
0b00Device-nGnRnE memory
0b01Device-nGnRE memory
0b10Device-nGRE memory
0b11Device-GRE memory

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于约束关系的图表设计

标准的基于 GUI 的图形设计工具仅支持有限的“对齐向导”风格的定位,具有基本的对象分组系统,并实现对齐或分布对象的原始功能。这些工具没有办法记住对象之间的约束和关系,也没有办法定义和重用抽象。我一直不满意现有的设计工具&#xff0c…

[附源码]Python计算机毕业设计Django二次元信息分享平台的设计及实现

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

短视频不知道怎么定位?教你三个自我商业定位的方法,收藏学习

上一篇内容是我在我赢助手小禾呈序上讲了哪几类产品更适合私域变现,当然我相信有很多做抖音但没想好怎么变现的对吧? 如果说你还停留在我也不知道我可以靠什么赚钱这样的一个状态当中。那我给你三个自我商业定位的方法。 第一个方法,从工作上…

虹科Pico汽车示波器学院 | 第二课直播精彩回顾

直播精彩回顾(11.19) 第二课主题:《为什么使用示波器,可加速技师的技术水平提升?》 11月19日,虹科Pico汽车示波器学院第二课成功开课。第二课中,戈老师向学员们讲解了: 汽车示波器…

【网安神器篇】——LaZagne凭证收集工具

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…

144.二叉树的前序遍历 递归 | 94.二叉树的中序遍历 递归 |145.二叉树的后序遍历 递归

144.二叉树的前序遍历 题目 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:root …

11月动态|通过PWmat计算的离子浓度自由能相关文献发表在JCTC

11月 11月,龙讯旷腾完成Q-Flow和Q-Studio新版本的升级,完成了40余项功能的更新和上线;签约并行科技在高性能计算领域再下一城;汪林望博士受海河实验室邀请作线上主题报告;通过PWmat计算的离子浓度自由能相关文献发表在…

Unity笔记(15):OnTriggerEnter2D [2D]

1、给玩家标签设为Player 2、给碰撞的物体增加碰撞盒,并勾选isTrigger 3、编写脚本挂载到物体上 实现碰撞后物体会消失。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class luobo : MonoBehaviour {private void OnT…

LeetCode-50-Pow(x, n)

1、递归 我们最简单的思路就是使用递归,每次就让x乘上Pow(x, n-1)的值。但是这样做的缺点在于递归时间过长会导致超时,因此我们可以使用快速幂进行优化。 快速幂的思想在于我们在求x的N次幂时,不使用x∗xN−1x*x^{N-1}x∗xN−1,…

访问工具--

下载地址: Releases Fndroid/clash_for_windows_pkg GitHub https://github.com/Fndroid/clash_for_windows_pkg/releases 安装好clash后,可以通过订阅链接或者导入yaml文件使用: 1、订阅链接 2、导入yaml文件 报错排查 你可能会遇到报错could not switch to this…

硬件学习路线调研

学习路线 《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。 此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE …

Hive分区表数据压缩

Hive分区表数据压缩 1.背景 目前公司的Hive分区表采用的TextFile格式存储,占用的存储空间较大,考虑到存储成本,需要对存储的历史数据进行压缩。 2.压缩格式选择 2.1 snappy压缩 优点:高速压缩速度和合理的压缩率;…

java - 数据结构,顺序表

1、顺序表和链表都属于数据结构的一部分。 2、数据结构:C的数据结构和JAVA的数据结构有什么不一样啊? 数据结构只是一个单独的学科,和语言没有关系。 用不同的语言实现一样的逻辑。 一、线性表 线性表(linear list)是n个具有相同特性的数据…

如何使用远程Linux虚拟机的图形界面

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录VMware Workstation ProSmarTTY在工作过程中,有时需要操作远…

微机----------LED显示接口

目录 LED显示器的工作原理采用专用芯片进行LED段译码软件译码法静态显示与动态显示LED显示器的工作原理 LED显示器的主要部分是七段发光管,这七段发光段分别称为a、b、c、d、e、f、g有的产品还附带有一个小数点DP。通过7个发光段的组合,可以显示0 ~ 9 和 A ~ F共16个字母数字…

果然AIGC还是对动漫制作下手了,不过是从数据集AnimeRun开始

原文链接:https://www.techbeat.net/article-info?id4327 作者:seven_ 最近AIGC领域的新工作几乎呈现一种井喷式的发展,借助AI模型天马行空的想象力,研究者们开始在各种图像和视频内容领域发力,本文介绍一篇发表在Neu…

MybatisPlus 处理保存实体对象时,对于枚举类型的数据库存储问题

MybatisPlus 处理保存实体对象时,对于枚举类型的数据库存储问题1. 前言1.1 先看问题代码1.2 存在的问题2. 解决前言问题2.1 自定义枚举2.2 附源码:3. 参考4. 推荐 Mybatis、MybatisPlus 其他相关问题的文章1. 前言 1.1 先看问题代码 如下:枚…

告别人工叫号!门诊排队叫号系统,这样配置,性价比高

很多人认为,那些大医院的叫号系统,确实既高效便捷、又能展现门诊综合服务实力。 但安装配置较为复杂,内部软件与硬件对接存在难度,价格也相对昂贵,对部分医院来讲,预算稍有不足,怎么办&#xff…

serverless-OpenWhisk安装

1.安装 默认我们已经有了一个k8s集群,采用helm方式安装。以下操作均在 Master 节点执行。 helm要求Helm v3.2.0或以上版本。 多节点worker打标签 如果要将OpenWhisk部署到具有多个工作节点的群集,我们建议使用节点关联将用于OpenWhisk控制平面的计算节点…

【论文阅读笔记】Pyramid Real Image Denoising Network

论文简介 本文是19年的论文,网络名为PRIDNet。代码地址为https://github.com/491506870/PRIDNet。在1080ti上,PRIDNet处理512x512图像需要大约50ms; 尽管深度卷积神经网络在特定噪声和去噪方面展示出非凡能力,但对于真实世界的噪声…