版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、14.4 页表ARM MMU采用2级页表结构:一级页表(L1)和二级页表(L2)。一级页表只有一个L1列表(L1 master page table)。L1主页表包括2种内型的页表项:保存指向二级页表起始地址指针的页表项和保存用于转换1MB页的页表项。L1主页表也称为段页表(section page table)。L1主页表将4GB的地址空间划分为多个1MB的段(section),因此LI页表包含4096个页表项。L1主页表是一个混合表,可以做L2页表的页目录,也可作为用于转换1MB虚拟页的普通页表。当L1页表作为页目录时,其页表项包含的是代表1MB虚拟空间的L2粗页表或L2细页表的指针;当L
2、1页表用于转换1MB的段时,其页表项包含的是物理储存器中1页帧的首地址。目录页表项和的段页表项可以共存于主页表。一个粗页表有个页表项,占用的主存空间,每个页表项将一个的虚拟储存块转换成一个的物理储存块。粗页表支持或的页,页表项包含的是或的页帧的首地址。如果转换的是一个的页,则对于每个的页,同一个页表必须再也表中重复次。一个细页表有个页表项,占用的主存空间,每个页表项转换一个的储存块。细页表支持,或的虚拟页,每个页表项包含,或的物理页帧的首地址。如果转换的是的页,则同一个页表必须再也表中重复次;如果转换的是一个的页,则同一个页表必须再也表中重复次。表.概括了MMU中的3中类型页表的特征。14.4
3、.1 一级页表项一级页表支持4种类型的页表项:1MB段转换项;指向L2细页表的目录项;指向L2粗页表的目录项;产生中止异常的错误项。系统通过页表项的最低2位【1:0】来确定页表项的类型。页表项的格式要求L2页表的地址必须与为其页大小的倍数对齐。L1页表的各种页表格式如图14.6所示。一个段页表项指向一个1的储存段。页表项的高位来产生物理地址。段页表项还包括域属性、属性、缓冲器属性和访问权限属性,这些将在.节讨论。粗页表项包含一个粗页表首地址的指针,同时还包含表项代表的虚存段的域信息。粗页表必须与的倍数地址对齐。细页表项包含一个细页表首地址的指针,同时还包含表项代表的虚存段的域信息。粗页表必须与
4、的倍数地址对齐。错误页表项产生一个储存页错误。错误条件会导致预取中止或数据中止,这取决于具体的存储器访问类型。主页表在存储器中的位置通过写:寄存器位置。14.4.2转换表基地址:寄存器保存转换表基地址指向主页表在虚存中的位置。:寄存器的格式如图.所示。【例.】一个称为ttbSet的例程。设置L1主页表的TTB。ttbSet例程使用MRC指令来写CP15:c2:co:0。例程的函数原型如下:void ttbSet(unsigned int ttb);传递给函数的唯一参数是转换表的基地址。TTB地址必须与储存器的16KB边界对齐。void ttbSet(unsigned int ttb) Ttb&
5、amp;=0xffffc000; _asmMRC p15,0,ttb,c2,c0,0 14.4.3 二及页表项L2页表有4种可能的页表项: 定义64KB页帧属性的大页表项; 定义4KB页帧的小页表项; 定义1KB页帧的微页表项;访问时产生页错误中止异常的错误页表项。L2页表的页表项格式如图14.8所示。MMU通过页表项的最低2位来确定L2页表项的类型。14.4.4 为嵌入式系统选择合适的页大小 下面为系统设置页大小的一些技巧和建议:页越小,给定物理储存块就有越多的页帧。页越小,内部碎片会越少。页越大,系统就越有可能装入引用的代码和数据。二级存储器的访问时间增加时,选择大的页会更有效。随着页的增
6、大,每个TLB条目代表存储器中越大的空间,从而系统可以缓存更多的转换数据,将一个任务的所有转换数据装入TLB的速度也会提高。如果使用L2粗页表,则每个页表占用1KB的储存空间;每个L2 页表占用4KB的储存空间.每个L2页表转换1MB的地址空间。每个任务使用的最大页表存储空间为; (任务大小/1MB)+1)*(L2页表大小)14.5 转换旁路缓冲器转换旁路缓冲器(TLB)是一个存放最近使用的页转换数据的特殊cache,他将一个虚拟页映射到一个活跃页帧,并存储用于约束页的访问。TLB是一个cache,因此有一个丢弃指针和一个TLB行替换策略。在ARM处理器核中,当TLB失效时,TLB采用循环算法
7、来选择替换的重定位寄存器。ARM处理器核的TLB没有很多用来控制其操作的软件命令,TLB只支持两种类型的命令:清除TLB和锁定TLB中的转换数据。存储器访问时,MMU将虚拟地址的一部分与TLB中的所有值进行比较。如果TLB中已有所要的转换数据,即为一次TLB命中,则由TLB提供物理地址转换数据。如果TLB中不存在有效的转换数据,即为一次TLB失效,则MMU会由硬件自动处理TLB失效,通过主存中的页表搜索有效的转换数据,并将其装入TLB的64行中的一行。在页表搜索有效的转换数据称为页表搜索。如果找到一个有效的页表项,则由硬件将该转换地址从页表项复制到中,并产生访问的物理地址;如果最后搜索到页表的
8、错误页表项,则产生中止异常。当失效时,在将数据装入和产生所需的地址转换之前,最多搜索个页表。由于MMU转换表搜索页表,一次失效的开销通常是12个主存访问周期,具体的周期数取决于是在哪个页表中找到的转换数据的。如果在L1主页表中就找到,则为单步表搜索; 。如果在L1主页表中就找到,则为2步表搜索.如果MMU产生中止异常,则一次TLB失效可能消耗更多的额外周期,因为当中止异常处理程序映射在所请求的虚拟空间是需要额外周期。ARM720T只有一个TLB,因为它采用统一总线体系结构。ARM920T,ARM922T,ARM926EJ-S和ARM1026EJ-S有两个TLB,因为他们采用哈弗总线体系结构:一
9、个TLB用于指令交换,一个TLB用于数据交换。14.5.1 单步页表搜索如果MMU搜索的是1MB大小的段页,则硬件能用单步搜索找到所要的页表项,因为1MB的页表项是存放在L1主页表里的。对于1MB段页转换的L1页表的页表搜寻如图14.9所示。MMU使用虚拟地址的基地址部分来选择L1主页表中4096个页表项的一个。如果为【1:0】的值为二进制的10,则此页表项含有一个有效的1MB页可用。页表项中的值被复制到TLB中,把它与虚拟地址的偏移量部分合并起来组成物理地址。如果最低2位为00,则发生错误;如果为01或11,则MMU执行2 步页表搜索。14.5.2 2步页表搜素如果MMU搜索的是大小为1KB
10、,4KB,16KB或64KB的页,则页表搜索须执行2步才能找到地址转化数据。图14.10详细说明了搜索保存在L2粗页表的转化数据的过程。这里虚拟地址分成3部分。第一步,用L1偏移量部分索引L1主页表,找到虚拟地址的L1页表项。如果该页表项的最低2位是二进制的01,则该表示页包含的是一个粗页表的L2页表基地址(图14.6)。第二部,将L2偏移量部分合并到第一步找到的L2页表基地址,得到的地址用来选择包含所搜索页的转换的页表项。MMU将L2页表项的数据复制到TLB,基地址与虚拟地址的偏移量部分合并起来组成所请求的物理存储器地址。 14.5.3 TLB操作如果操作系统改变页表中的数据,那么缓存在TL
11、B中的转换数据可能就不在有效了。处理器核有一些CP15命令,用于清除TLb从而作废TLB中的数据。以下是一些可用的命令:清除所有TLB数据,清除指令TLB,清除数据TLB,也可以一次只清除一行TLB数据。14.5.4 TLB锁定ARM920T,ARM922T,ARM926EJ-S,ARM1022E和ARM1026EJ-S支持TLB转换数据的锁定。如果TLB中的某一行是锁定的,则当TLB清除命令发出时,他仍然保留在TLB中。各种ARM核的可用锁定命令如表14.4所列。用于数据锁定的MCR指令使用的内核寄存器Rd的格式如图14.11所示。14.6 域和存储器访问权限有两种不同的控制用来管理一个任务
12、的存储器访问权限;域用于主控制;页表中的访问权限用于次控制。在共享一个工用虚拟存储器映射时,域将一块存储空间与另外一块存储空间隔离,以控制虚拟的基本访问。有16种不同的域可以分配给虚存的1MB段,并通过设置L1主页表项中的有关位来分配给一个段。当一个域分配给一个段时,它必须遵守分配给这个域的访问权限。域的访问权限在CP15:c3寄存器中分配,它控制处理器核访问虚拟寸段的能力。 16个可用的域,每个域使用CP15:c3寄存器的2位来定义访问权限,域访问位取值及对应的意义如表14.5所列。图14.12给出了CP15:c3:c0寄存器的格式,它保存域访问控制信息,在图中16个可用的域分别标以D0D15.即使不使用MMU提供的虚存功能,仍然可以把这些内核用作简单的存储保护单元:首先讲虚拟存储空间直接映射到物理存储空间:然后为每个任务分配一个同的域;最好使用这些域来保护睡眠任务。基于页表的访问权限页表项中的AP位决定该页的访问权限,AP位如图14.6和图14.8所示。表14.6说明了MMU如何解释AP位域的2位值。除了页表项中的AO位外,在CP15;c1寄存器还有2位起到全局修改存储器访问权限的作用;系统位和ROM位。在2位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高温天气心态调节科普课件
- 高温天气脑卒中的早期识别
- 隧道工程施工方案编制
- 幼儿语言表达能力培养
- 2026年中秋节假期高中假期饮食营养搭配
- 2026年9月全国科普日活动方案 科学实验进课堂
- 2026年英语专四考试真题回忆版参考答案完整版
- 2026年机动车检测站检验员检测员能力确认考试题含答案
- 2026关于交通安全试题及答案
- 2026年安徽省安庆社区工作者考试真题及答案
- 2026秋新版人教PEP英语六年级上册教学课件:第一单元Unit 1第1课时 A Let's talk Interview and report
- 第7课 神奇的世界 第1课时 课件(内嵌视频)2026-2027学年道德与法治四年级上册统编版
- 2025年70岁老年人三力测试能力考试题库附答案
- 2025国家能源集团科学技术研究总院社会招聘30人笔试历年难易错考点试卷带答案解析
- 2026年秋新教材西南大学版小学数学四年级上册教学计划及进度表
- 2026年中考道德与法治(河北卷)真题详细解读及评析
- 2026年特种作业操作证考试题库及答案
- 2026秋季中学开学第一课:传承长征精神做新时代好少年
- 《户外高压隔离开关》
- 2026年广东省珠海市公安招聘辅警考试题库含答案
- 2026年甘肃省武威市中考语文真题含答案
评论
0/150
提交评论