当前位置: 首页 > news >正文

企业网站开发的文献综述网站开发的中期工作

企业网站开发的文献综述,网站开发的中期工作,优秀网视频剪辑,保安网站建设1.简介 CPU发出的虚拟地址经过MMU转换后得到物理地址,然后使用物理地址访问真实的硬件。虚拟地址和物理地址的映射关系保存在页表中,MMU需要遍历页表,才能将虚拟地址转换成物理地址。ARM64现在有两种大小的页表描述符,分别是ARMv8…

1.简介

CPU发出的虚拟地址经过MMU转换后得到物理地址,然后使用物理地址访问真实的硬件。虚拟地址和物理地址的映射关系保存在页表中,MMU需要遍历页表,才能将虚拟地址转换成物理地址。ARM64现在有两种大小的页表描述符,分别是ARMv8的64-bit描述符(一个页表描述符8字节),ARMv9的128-bit描述符(一个页表描述符16字节)。本文只介绍ARMv8的64-bit描述符。

2.页表类型

如下图所示,页表描述符的bit[1:0]表示类型。ARMv8的页表有四种类型,分别是Invalid descriptor、Block descriptor、Table descriptor和Page descriptor,具体如下:

  1. bit[1:0] == 0b0x:表示Invalid descriptor,此时MMU若使用该页表描述符进行地址转换,会触发Translation Fault。
  2. bit[1:0] == 0b10:如果不是第三级页表,则为Block descriptor。如果是第三级页表,则保留,可以看作是无效的页表描述符。Block descriptor和Page descriptor类型一样,定义了访问物理内存的属性和地址,并且没有下一级页表。Block descriptor专门应用于HugePage的映射,有的情况下只需要一个页表描述符即可完成地址映射,无需多级页表,这样可以加快MMU地址转换速度。比使用48位虚拟地址和4级页表的情况下,当映射1GB内存时,只需要一个level1 Block descriptor即可.
  3. bit[1:0] == 0b11:如果不是第三级页表,则为Table descriptor,如果是第三级页表,则为Page descriptor。Table descriptor为中间页表,用于指向下一级页表。Page descriptor为最后一级页表,定义了访问物理内存的属性和地址。

页表类型

3.页表格式

下面介绍Block descriptor、Table descriptor和Page descriptor三种页表描述符的格式。

3.1.Table descriptor

下图是不同地址宽度和不同页表大小情况下,Table descriptor的格式。我们主要关注48-bit地址位宽和4KB页表大小时Table descriptor的格式,在这种情况下m==12,下一级页表的基地址保存在bit[47:12],下一级页表属性保存在bit[63:59]。
Table_descriptor
页表属性如下图所示。

Table_descriptor页表属性

3.2.Block descriptor

下图是不同地址宽度和不同页表大小情况下,Block descriptor的格式。当地址位宽为48-bit,页表大小为4KB时,Block descriptor只能是level1或者level2的页表,level1页表n==30,level2页表n==21,转换后的物理内存基地址保存在bit[47:n]。当地址位宽为52-bit,页表大小为4KB时,Block descriptor只能是level0、level1或者level2的页表,level0页表n==39,level1页表n==30,level2页表n==21,转换后的物理内存基地址OA[51:48]保存在bit[15:12],其他地址保存在bit[47:n]。

Block_descriptor

Block descriptor转换的物理内存的访问属性如下图所示。

Block_descriptor内存属性

3.3.Page descriptor

下图是不同地址宽度和不同页表大小情况下,Page descriptor的格式。当地址位宽为48-bit,页表大小为4KB时,bit[47:12]定义了访问物理内存的基地址,Upper attributes和Lower attributes定义了物理内存的访问属性。

Page_descriptor

4.地址转换过程

下图展示了MMU将虚拟地址转换成物理地址的过程。

4.1.39bit-3Level-4KB

39bit-3Level-4KB

4.2.48bit-4Level-4KB

48bit-4Level-4KB

4.3.48bit-3Level-16KB

48bit-3Level-16KB

参考资料

  1. Arm ® Architecture Reference Manual for A-profile architecture。
  2. ARM® Cortex ® -A Series Programmer’s Guide for ARMv8-A。
http://www.dtcms.com/a/578621.html

相关文章:

  • 广州市门户网站建设宝应建设局网站
  • 做视频网站要什么格式好网站建设与管理指什么
  • 基于防伪标签的吊牌防伪:品牌核心防护环节
  • 国产的编程语言
  • 条款36:如果异步是必需的,请指定为std::launch::async
  • 建网站广州中国建行官网登录首页
  • 连云港网站建设方案西安网站建设多少钱
  • 网络管理(NM)
  • 【第1章>第4节】基于FPGA的图像腐蚀处理算法的测试以及MATLAB辅助验证
  • 脉冲在克尔效应下的频谱展宽仿真:原理与 MATLAB 实现
  • PPP工作法:贝索斯做事的方法
  • 古县网站建设如何让移动网站更优秀
  • 杭州网站建设出名24小时通过网站备案
  • CSS卡片淡出效果
  • 洛阳做网站价格wordpress视频插件
  • 经典网站设计作品软件定制开发多少钱
  • STM32项目分享:水质检测系统(升级版)
  • 外语教学网站开发广州计算机软件公司排名
  • 主流开源视觉语言模型(VLM)的视觉编码器架构解析
  • SGV3D:面向基于视觉的路边3D目标检测的场景泛化
  • 实现 json path 来评估函数式解析器的损耗
  • 微网站分销linux做网站哪个版本好
  • 解决Git 冲突后本地提交丢失/未推送问题
  • 企业做网站建设遇到的问题合肥长丰路网站建设
  • 【剑斩OFFER】算法的暴力美学——最小覆盖字串
  • 全屏网站模板制作教程国外网站需要备案吗
  • 免费做网站有哪些家SaaS网站可以做seo嘛
  • 14:C++:二叉搜索树
  • 「日拱一码」142 Lasso调参注意事项与技巧
  • 【OTA专题】1 OTA加密升级总览