armv7A 架构的页表

原创 2017年11月15日 14:17:10

当cpu访问cache时 会发送虚拟地址到TLB上 TLB是一个

TLB 是一块高速缓存,用于缓存页表转换的结果,从而
减少内存访问的时间。一个完整的页表翻译和查找的过程叫作页表查询(Translation table
walk),页表查询的过程由硬件自动完成,但是页表的维护需要软件来完成。页表查询是一
个相对耗时的过程,理想的状态下是TLB 里存有页表相关信息。当TLB Miss 时,才会去
查询页表,并且开始读入页表的内容。

1.armv7a的架构页表
这里写图片描述
ARMv7-A 架构支持安全扩展(Security
Extensions),其中Cortex-A15 开始支持大物
理地址扩展( Large Physical Address
Extension,LPAE)和虚拟化扩展,使得MMU
的实现比以前的ARM 处理器要复杂得多。如图 所示
,如果使能了安全扩展,
ARMv7-A 处理器分成安全世界( Secure
World)和非安全世界(Non-secure World,也
称为Normal World)。
如果处理器使能了虚拟化扩展,那么处理
器会在非安全世界中增加一个Hyp 模式
在非安全世界中,运行特权被划分为PL0、
PL1 和PL2。
PL0 等级:这个特权等级运行在用户模式(User Mode),用于运行用户程序,它是没有系统特权的,比如没有权限访
问处理器内部的硬件资源。
PL1 等级:这个等级包括ARMv6 架构中的System 模式、SVC 模式、FIQ 模式、
IRQ 模式、Undef 模式,以及Abort 模式。Linux 内核运行在PL1 等级,应用程序
运行在PL0 等级。如果使能了安全扩展,那么安全模式里有一个Monitor 模式也是
运行在secure PL1 等级,管理安全世界和非安全世界的状态转换。
PL2 等级:如果使能了虚拟化扩展,那么超级管理程序(Hypervisor)就运行这个
等级,它运行在Hyp 模式,管理GuestOS 之间的切换。

GuestOS是虚拟机系统
比如uboot在一开始的arch初始化的时候 设置SVC模式的时候 就去检验了HYP模式
这里写图片描述

相关文章推荐

ARMv8(aarch64)页表建立过程详细分析

目录 文件修订记录...2 目录...3 1ARMv8存储管理...4 1.1Aarch64 Linux中的内存布局... 4 1.2AArch64的虚拟地址格式...4 1.2.14...

LXT6架构-嵌入式Ftp服务器Vsftpd交叉编译与配置使用(ARMv7)

Vsftpd是一款在Linux发行版中最受欢迎的Ftp服务器程序,特点是小巧轻快,安全易用,Vsftpd也是LXT6架构中Ftp服务器首选软件包。1. 交叉编译libcap(如果需要!?) a. ...
  • fqheda
  • fqheda
  • 2015年05月02日 18:11
  • 12157

ARMv7架构参考手册Linuxidc.com整理.rar

  • 2017年10月27日 20:51
  • 2.72MB
  • 下载

armv7 架构 m系列 操作手册

  • 2017年03月02日 10:40
  • 3.24MB
  • 下载

iOS 制作自己的FrameWork遇到的一些问题 以及FrameWork通过包合并支持arm64 armv7 i386 架构

FrameWork通过包合并支持arm64 armv7 i386 架构

ARMv7架构参考手册

  • 2013年10月10日 20:38
  • 2.05MB
  • 下载

ARMv7架构参考手册.pdf

  • 2011年03月18日 17:19
  • 2.04MB
  • 下载

armv7架构下lubuntu系统apt-get安装ffmpeg方法

What’s up doc ?17/08/2007 : I think you have noticed the Google Ads. I need that to pay the huge am...

ARM架构内核启动分析-head.S(1.3、stext分析之内存临时页表建立)

1.2.4、创建临时页表: 对于创建临时页表,使用的是arm的L1主页表,L1主页表也称为段页表(section page table,说白了就是采用段式管理而不是页式管理),它将4GB的地址空间分成...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:armv7A 架构的页表
举报原因:
原因补充:

(最多只允许输入30个字)