Armv8/Armv9 MMU学习的28问,你能回答上来几个

2023-10-27 17:12

本文主要是介绍Armv8/Armv9 MMU学习的28问,你能回答上来几个,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

01、一个大系统中有多少个MMU ?

一般情况下:一个core里面有一个MMU,8个core就是8个MMU;
除了Arm core里有MMU之外,在SOC中,还会诸多个SMMU,具体看SOC的架构设计。

02、一个ARM Core中有多少个Translation regime?

在Armv8/Armv9架构中(不考虑CCA/RME安全扩展),至少有9类Translation regime,注意是9类,不是9个。 分别如下:

03、EL1&0 Translation regime Stage2、EL2 Translation regime stage1、EL2&0 Translation regime stage1 这三者的区别是什么?

EL2&0 Translation regime stage1 : 属于EL1&0 Translation regime的Stage1页表转换。例如无论你是否开启虚拟化,那么你在VM的地址进行的stage1地址翻译。 使用TTBRn_EL1寄存器。
EL1&0 Translation regime Stage2 : 属于EL1&0 Translation regime的Stage2页表转换。例如你开启了虚拟化,那么你在VM的地址进行的stage2地址翻译。使用VTTBRn_EL2寄存器。
EL2 Translation regime stage1 : 属于EL2 Translation regime, EL2的程序,进行的地址翻译。使用TTBRn_EL2寄存器。

04、TTBR1_EL2寄存器有啥特殊性,这个寄存器是给谁使用的?

这个是给EL2 Translation regime stage1用的。其实就是给type-2 hypervisor的

05、有没有TTBR1_EL3寄存器?为什么?
06、什么是memory-map?一个ARM的系统中,有几套物理地址空间?
07、页表到底有几级?页表最少可以有几级?页表最多可以有几级
08、页表有多大?页表存放在哪里?页表由谁来管理?
09、页表是否能放在cache中?
10、什么是Translation Table walk?什么是TLB?
11、请简述页表查询的过程?
12、在一个大系统中,物理地址是多少位的?物理地址是多少位指的是什么?虚拟地址又是多少位的?物理地址的位数和虚拟地址的位数都是由谁来决定的?
13、请说明entry、descriptor、页表项、条目 这个四个词汇的由来?
14、TCR中有缓存属性和共享属性、页表的entry中也有缓存属性和共享属性,这俩有什么区别?
15、请简述TTBR0和TTBR1的概念和意义?
16、请简述cacheability和shareability属性的含义?
17、stage1和stage2有何区别?
18、stage1和stage2的descriptor中,有很多重复的属性,当两者属性有冲突了怎么办?
19、L1、L2、L2的descriptor中也有部分相同的属性,重复时怎么办?
20、Descriptor的格式有哪几种?
21、Descriptor的类型有哪几种?
22、简述您所观察到的系统软件中(操作系统或hypervisor)的shareability和cacheability一般都是怎样配置的?
23、开启一个MMU的步骤是怎样的?
24、啥是flat map? 啥是full level table?
25、页表中的AF属性位、DBM属性位分别是干啥的?
26、页表中的nG属性位是干啥的?
27、页表中的Contiguous属性位是干啥的?
28、在开启MMU的瞬间会考虑哪些事情?

这篇关于Armv8/Armv9 MMU学习的28问,你能回答上来几个的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/287136

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识