/*
 * 2020/12/28    11:58        qing
 */

/*
 * shu yu
 */
    LPAE : 大物理地址扩展
    IPA  : 中间物理地址
    PMSA : Protected Memory System Architecture
    VMSA : 虚拟存储系统架构
    FCSE : 快速上下文切换机制
    VMID : 虚拟机ID

PGD : 页全局目录(Page Global Directory)

PUD : 页上级目录(Page Upper Directory)

PMD : 页中间目录(Page Middle Directory)

PT  : 页表(Page Table)

memory hierarchy : 内存层次结构

cache hierarchy     : 缓存层次结构

PoU : Point of Unification 统一点

PoC : Point of Coherency 一致点

TLB : Translation lookaside buffer 是一种硬件缓冲区,很多体系结构用它来缓存虚拟地址到物理地址的映射关系。
                                        它极大地提高了系统的性能,因为大多数内存访问都要时行虚拟寻址。

/*
 * arm v7
 */
    ARMv7-A: Application profile, 支持ARM和Thumb指令集, 支持MMU(Memory Management Unit)
    ARMv7-R: Real-time profile, 支持ARM和Thumb指令集, 支持MPU(Memory Protection Unit), 无MMU
    ARMv7-M: Micro-controller profile, 只支持Thumb指令集, 支持MPU, 无MMU

在 ARMv7 架构上,比较突出的特性是支持了:包括大内存(Large Memory)、虚拟化(Virtualization)和安全(Security)

1. 大内存(Large Memory)
        支持高达40bits的物理地址空间。但受限于32-bit的指令集,虚拟地址空间依旧只有32bits(4G),如果有应用需要更大的虚拟内存,怎么办?
        只能定义一个新的架构,使用64-bit的指令集(也即我们常说的ARM64)。

2. 虚拟化(Virtualization)和安全(Security)
        
        ARM v6引入了security extension,把硬件资源划分成了两个部分secure world和normal world。当 CPU 运行在 secure world 的时候,
        它可以访问所以的硬件资源,但当CPU运行在normal world的时候,它只能访问normal world的资源。

ARM v7引入了virtualization extension,在 normal world 里面加入了一个新的CPUmode:HYP mode。

这样CPU 在normal world运行的时候就有三种模式:USR mode, SVC mode和 HYP mode,分别对应 PL0, PL1, PL2 (PL:privilege level),
        number越大,权限越高。

权限的理解是:寄存器的访问和指令的执行。比如说一些特殊的寄存器(HVBAR)只能再HYP mode里面才能访问,
        一些特殊的指令(HVC)只能再SVC 或者 HYP mode执行。而CPU处于哪个模式是由CPSR这个寄存器决定的。
    
        PL0进PL1通过SWI指令(system call),PL1回PL0通过复原CPSR

hypervisor也是由HYP exception vector和handler。一个最简单的hypervisor就是HVBAR寄存器定义vector的位置,
        在offset 0x14的地方放一个eret指令。这样的hypervisor可以处理kernel发起的HVC call

ARM V7内存术语相关推荐

  1. ARM体系结构常用术语解释

    那么A系列的处理器,会有一个相关的术语,这些术语在这里会给大家做一个介绍,大概这些术语要给大家说一下,首先是流水线,流水线就是底层架构的术语. 流水线: 流水线其实是底层架构涉及到的术语,就比如说中间 ...

  2. 关于arm处理器 内存编址模式 与 字节对齐方式 (转)

    转自:http://bavon.bokee.com/5429805.html 在x86+Linux上写的程序,在PC机上运行得很好.可是使用ARM的gcc进行交叉编译,再送到DaVinci目标板上运行 ...

  3. 什么是ARM TCM内存

    什么是ARM处理器上的TCM内存,它是一个驻留在处理器旁边的专用内存,还是一个配置为TCM 的RAM区域. 如果它是专用内存,为什么我们可以配置它的位置和大小? TCM,Tightly-Coupled ...

  4. Arm V8内存管理架构.学习笔记

    目录 第1章 分级存储架构 1.1基础认识 1.1.1 从数据通路描述 1.1.2 从数据交换单位描述 1.1.3 Cache数据一致性拓扑结构 1.2 系统层内存模型 1.2.1 内存属性 1.2. ...

  5. 对ARM紧致内存TCM的理解

    ARM 的ram包括静态ram,动态ram,TCM---紧耦合内存(TCM: Tightly Coupled Memories). TCM是一个固定大小的RAM,紧密地耦合至处理器内核,提供与cach ...

  6. 对ARM紧致内存TCM的理解 转

    ARM 的ram包括静态ram,动态ram,TCM. TCM 是一个固定大小的 RAM ,紧密地耦合至处理器内核,提供与 cache 相当的性能,相比于 cache 的优点是,程序代码可以精确地控制什 ...

  7. arm tcm linux,ARM紧致内存TCM的解释

    TCM简介 TCM :TIghtly Coupled Memory的缩写.为了弥补Cache访问的不确定性,而增加的OnChip Memory.有的CPU含有分立的InstrucTIon TCM / ...

  8. arm的linux怎么管理任务,【linux】arm mm内存管理

    欢迎转载,转载时请保留作者信息,谢谢. arm mmu硬件原理 由上图,arm分四种模式,section,大小页+ 极小页,  section模式简单,也能说明mmu本质,其它模式只是用了多级数组索引 ...

  9. arm 访问内存异常

    目录 故障现象 第一次日志信息 第二次日志信息 故障信息分析 ESR寄存器(Exception Syndrome Register) EC, bits [31:26] DFSC, bits [5:0] ...

最新文章

  1. 红芯丑闻揭秘者 Touko 专访 | 关于红芯丑闻的更多内幕……
  2. 计算机教资笔试答题,教资笔试5大题型的解答技巧,你get到了嘛?
  3. 使用Storm实现WordCount
  4. 华为stfal00是什么手机_opporeno5pro和华为p40pro有什么区别 哪款手机更好
  5. 佳铁怎样传输程序_阿里资深开发工程师合著《Java开发手册》,影响250万程序员附pdf...
  6. [BZOJ1097][POI2007]旅游景点atr
  7. 数据结构-图的进阶代码
  8. Oracle11g:分区表数据操作出现ORA-14400异常处理
  9. 老王学linux-系统安全
  10. python基础--面向对象之继承
  11. 网易云自动签到云函数【详细版】-2022.5.4
  12. 什么是股票量化交易策略?
  13. java 基础数据结构_Java实现的基础数据结构
  14. 高效程序员秘籍(5):让EyeDefender提醒你注意休息,保护视力
  15. 平面几何----向量证明欧拉线
  16. 程序员必备利器:8 款“珍藏已久”的程序开发利器,瞬间提升效率
  17. 【Google Chrome】如何让浏览器显示手机网页
  18. 四川大专院校计算机,四川2021年好一点的计算机学校大专学校
  19. 跟着聪明资金做交易!北上资金每天操作哪些股票一目了然
  20. Geoserver+Geomesa+HBase时空大数据环境搭建

热门文章

  1. USB RNDIS实现
  2. Mac安装Git并配置到IDEA(超简单)
  3. 基于概率论的分类方法:朴素贝叶斯及CSDN_RSS源分析
  4. redis三种连接方式
  5. gephi 使用简介汇总
  6. 作为菜鸟的我,努力学编程就对了——初来乍到篇
  7. Unity加载优化-将基于LZMA的ab压缩方案修改为LZ4压缩的过程
  8. 你所不了解的分布性系统之高可用篇
  9. linux 查看磁盘信息
  10. 倩女幽魂次世代服务器为什么维护,8月22日停服维护公告--《倩女幽魂》手游2.0次世代全新起点...