
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、arm核920t性能优化之mmu为了使任务有各自的虚拟存储映射,mmu硬件采纳地址重定位(address relocation),即在地址拜访主存之前,转换由处理器核输出的存储器地址。可认为在介于内核和主存间的mmu中有一个重定位寄存器,这样就能很简单理解这个转换过程。当处理器核产生一个虚拟地址时,mmu取出这个虚拟地址的高位,并用重定位寄存器中的值来替换它,从而形成一个物理地址。虚拟地址的低位是一个偏移量,它转换成物理存储器的一个特定地址。一个重定位寄存器只能转换一块存储空间,这块存储空间的大小由虚拟地址的偏移量部分所占的位数所打算。这样的一块虚拟存储空间称为一页(page),而转换过程中所
2、对应的那块物理存储空间称为一个页帧(page frame)。mmu暂时存放转换数据的一组重定位寄存器事实上是一个由64个重定位寄存器组成的全相联cache。这个cache称为转换旁路缓冲器(tlb),tlb缓存最近被拜访的页的转换数据。除了用法重定位寄存器外,mmu还用法主存中的表来存放描述系统中用到的虚拟存储器映射的数据,这些转换数据的表称为页表(page tables)。页表中的每个页表项pte(page table entry)包含关于虚拟页的以下信息:用于将虚拟页转换为物理页的物理基地址,分配给该页的拜访权限,页的cache和写缓冲器配置。通过上下文切换时激活不同的页表,使得执行有重叠
3、虚拟地址的多个任务成为可能。mmu可以重定位一个任务的执行地址,而无需在物理存储器中移动这个任务。任务的物理存储空间只是容易地通过激活和不激活页表来映射到虚拟存储空间。当刚刚提到的地址转换发生时,cache可能包括无效的,从旧的页表映射来的虚拟数据。为了保证存储器数据的全都性,cache可能需清理和清除。tlb可能也需清除,由于它也可能缓存了旧的转换数据。任务切换需要以下步骤:1)保存活跃任务的上下文,并将该任务置于睡眠态;2)清除cache,假如用法回写策略,则需要清理d-cache;3)清除tlb,从而移除原任务的转换数据;4)配置mmu,以用法新的页表,把虚拟运行空间转换为被唤醒任务在物
4、理存储器中的位置;5)复原被唤醒任务的上下文6)继续执行复原的任务二页表arm mmu硬件采纳2级页表结构:一级页表(l1)和二级页表(l2)。一级页表惟独一个l1主页表(l1 master page table)。l1主页表包含两种类型的页表项:保存指向二级页表起始地址指针的页表项和保存用于转换1mb段的页表项。l1主页表也称为段页表(section page table)。l1主页表将4gb的地址空间划分为多个1mb的段(section),因此l1页表包含4096个页表项,l1主页表是一个混合表,可作为l2页表的页名目,也可作为用于转换1mb虚拟空间的l2粗(coarse)页表或l2细(f
5、ine)页表的指针;当l1页表用于转换一个1mb的段时,其页表项(pte)包含的是物理存储器中1mb页帧(page frame)的首地址。名目页表项和1mb的段页表项可以共存于l1主页表。一级页表项:一级页表支持4种类型的页表项:1)1mb段转换项2)指向l2细页表的名目项3)指向l2粗页表的名目项4)产生中止异样的错误项二级页表项:l2页表有4种可能的页表项:1)定义64kb页帧属性的大(large)页表项;2)定义4kb页帧的小(small)页表项;3)定义1kb页帧的微(tiny)页表项;4)拜访时产生页错误中止异样的错误页表项;l1转换表基址cp15:c2寄存器保存转换表基地址ttb(
6、translation table base address)-指向l1主页表在虚存中的位置。cp15:c2寄存器的格式三转换旁路缓冲器(tlb)单步页表搜寻:假如mmu搜寻的是1mb大小的段页,则硬件能用单步搜寻找到所要的页表项,由于1mb的页表项是存放在l1主页表里的。2步页表搜寻:假如mmu搜寻的是大小为1kb,4kb,16kb或64kb的页,则页表搜寻须执行2步才干找到地址转换数据。四域和拜访权限有两种不同的控制用来管理一个任务的存储器拜访权限,:域(domain)用于主控制(primay control),页表中的拜访权限用于次控制(secondary control)。有16种不同
7、的域可以分配给虚存的1mb段,并通过设置l1主页表项(pte)中的域的有关位(位域)来分配给一个段。当一个域分配给了一个段时,它必需遵守分配给这个域的拜访权限。域的拜访权限在cp15:c3寄存器中分配,它控制处理器核拜访虚存段的能力。16个可用的域,每个域用法cp15:c3寄存器的2位来定义拜访权限,域拜访位取值及对应的意义如下表所列:基于页表的拜访权限。页表项中的ap位打算该页的拜访权限。“ap”,“ap3”,“ap2”,“ap1”,“ap0”结合cp15寄存器c1的r/s位,打算如何举行拜访权限检查。段描述符中的“ap”控制囫囵段(1mb)的拜访权限;大页描述符中的每个“apx”(x为03
8、)控制一个大页(64kb)中1/4内存的拜访权限,即“ap3”对应大页高端的16kb,“ap0”对应大页低端的16kb;小页描述符与大页描述符相像,每个“apx”控制一个小页(4kb)的1/4内存的拜访权限。微小页中的“ap”就控制囫囵微小页1kb的拜访权限。五cache和写缓冲六cp15:c1控制寄存器七迅速上下文切换扩展迅速上下文切换扩展fcse(fast context switch extension),是mmu中的一个附加硬件,用于提高arm系统的系统性能。fcse使得多个自立的任务可以运行在一个固定的重叠存储空间中,而上下文切换时又不需要清理或清除cache,或tlb。假如没有fc
9、se,则从一个任务切换到另一个任务需要转变虚拟存储映射。假如涉及两个有重叠地址的任务,则保存在cache和tlb中的信息将变为无效,这样系统就必需清除cache和tlb中的无效数据。清除这些模块的过程使任务切换增强了无数时光,由于内核不仅要清除cache和tlb中的无效数据,还要从主存中装载新的数据到cache和tlb。用法fcse,虚拟存储管理增强了一次地址转换。fcse在虚拟地址到达cache和tlb前,用法一个特别的,包含进程id值的重定位寄存器来修改虚拟地址。把修改之前的虚存地址称为va(virtual address),把第一次转换之后的地址称为修改后虚地址mva(modified virtual address)。这样,任务间的切换就不用涉及到转变页表,只需容易的将新任务的进程id写到位于cp15的fcse进程id寄存器。为了利用fcse,编译链接全部的任务,使他们都运行在虚存的第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年石英液位计项目可行性研究报告
- 2025年皮带传动渣浆泵项目可行性研究报告
- 莆田二手房买卖合同协议
- 产品加工承揽合同
- 砂浆购销合同
- 2025年无心磨床磁性分离器项目可行性研究报告
- 2025年宠物窝网布项目可行性研究报告
- 乡村集体经济合同书
- 木门制作安装合同
- 家庭农场农牧结合养殖协议
- 2023学年完整公开课版Unit4HobbiesLesson2
- 护理-人力资源案例分享课件
- 集成电路芯片测试技术PPT全套完整教学课件
- Windchill培训Creo数据管理培训
- word文档总结格式
- 2023年中考历史小论文试题专题
- 2023年中国农业银行总行校园招聘笔试题库及答案解析
- 《中国近现代史纲要》第六章 中华民族的抗日战争
- GB/T 9268-2008乳胶漆耐冻融性的测定
- 小学幼儿园师德师风年度考核汇总表
- 公司制造分公司职工代表登记表
评论
0/150
提交评论