



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PowerPC体系结构学习笔记之内存管理(1)E500MMU简介E500采用了两级MMU机制,L1-MMU和L2-MMU,以及一些辅助寄存器和指令来实现虚实地址的转换。E500与其他PowerPC处理器相比的一个最大不同就是,E500不能禁止虚实地址转换,并且支持两个地址空间,分别是地址空间0与地址空间1。其实这点有些类似于MIPS,除了直接通过虚拟地址来区分以外,MIPS处理器也没有机制禁止/启用地址翻译。L1-MMU包含I-L1VSP,D-L1VSP,I-L1TLB4K和D-L1TLB4K。I-L1VSP和D-L1VSP含有4个条目,采用全相连结构。I-L1TLB4K和D-L1TLB4K含有64个条目,采用4路组相连结构。L2-MMU包含TLB0和TLB1。其中TLB0含有256个条目,采用2路组相连结构。TLB1含有16个条目,采用全相连结构。TLB0用来进行页式映射,TLB1用来处理段式映射。PowerPC体系结构学习笔记之内存管理(2)E500虚拟地址与MMU结构在E500内核中将MMU分为两级有一下两个作用: L1-MMU的访问速度较快。这个原理类似于Cache的原理。L1-MMU采用哈佛结构,也就是程序地址空间与数据地址空间分离,可以提高地址转换的效率。但是L2-MMU没有采用这种结构。E500是一个32位的处理器,支持4GB的地址空间。在内部使用41位的临时虚拟地址,组成如下:40 39 32 31 0AS PID EAAS:来自于MSR寄存器的IS或DS位。所以,E500可以根据AS位将地址空间分为两种:地址空间0和地址空间1。但是,Linux并没有使用这个功能。kernel和用户空间的代码,数据都在地址空间0中,即AS位一直是0。PID:E500支持3个8位的PI的寄存器来保存进程的PID。这点于MIPS的ASID作用一样。但是,Linux并没有使用PID,在TLB中简单的忽略PID的检查,全部设为0。EA:32位的有效地址。下面介绍一下E500 MMU的结构。在E500中,MMU的entry包含下列字段:V:用来表示当前entry是否有效。为0时表示无效,为1时表示有效。在系统reset之后,所有entry的V位都设为0。TS:就是上面地址空间中的AS。为0表示地址空间0,为1表示地址空间1。TID0:7:就是上面地址空间中的PID。TID为0时,忽略PID的比较。在Linux中,全为0。EPN0:19:虚拟页桢号。根据页大小不同,有效的位数页不同。RPN0:19:物理页桢号。SIZE0:3:表示当前entry的页大小。PERMIS0:5:用于描述当前entry的访问控制位。分别是UR,SR,UW,SW,UX,SX。分别表示用户态和内核态的读/写/执行权限。WIMGE0:4:W表示当前entry是write through还是write back。I表示当前entry是否忽略Cache。M表示对此数据区的访问需要进行存储一致性处理。G表示对相应存储区域进运行保护。E表示当前entry是小端还是大端。X0,X1:描述一些额外属性。U0:3:自定义用途。IPROT:当IPROT为1时,表示当前entry被保护。不能使用tlbivax指令无效该entry。只能用tlbwe指令清除。在E500中只有TLB1支持该位,在TLB0中,该位一直为0。PowerPC体系结构学习笔记之内存管理(3)与MMU有关的寄存器E500有一系列寄存器用于管理MMU。PID02寄存器:用于保存当前进程的PID,该寄存器只有5463位有效。MMUCSR0寄存器:用于使无效TLB0和TLB1的所有entry。该寄存器由两位组成:L2TLB0_FI使无效TLB0的所有entry;L2TLB1_FI使无效TLB1的所有entry。MMUCFG寄存器:用来保存当前MMU的配置信息,包括PID寄存器数量,大小,TLB的数量等。TLB0CFG和TLB1CFG寄存器:用于描述TLB0和TLB1的配置信息,包括entry数量,页表尺寸等信息。除上述寄存器外,E500还包含一些MAS寄存器,主要作用就是维护MMU中TLB的entry,作用类似于MIPS中的EntryHi和EntryLo寄存器。其中MAS13中存放的各个字段与TLB entry中的各个字段一一对应,MAS0寄存器用于决定写哪个TLB的哪个entry,作用类似于MIPS中的random和index寄存器。MAS0寄存器:TLBSEL字段用于选择要操作的TLB,0表示TLB0,1表示TLB1。ESEL字段用于选择TLB的entry。当使用TLB1时,ESEL字段中低4位有效,用于选择TLB1中的entry。当使用TLB0时,ESEL中只有最低位有效,因为TLB0是两路组相连。此时,E500还需要MAS2寄存器的EPN的第4551位决定组内不同的entry。NV位用于确定如何替换TLB0中的entry。MAS1寄存器:32 33 40 47 51 52 55V IPROT TID TS SIZEMAS2寄存器:32 51 57 58 59 60 61 62 63 EPN X0 X1 W I M G EMAS3寄存器:32 51 54 57 58 59 60 61 62 63 RPN U0U3 UX SX UW SW UR SRMAS4寄存器:用于存放当TLB miss异常发生时,对MAS03寄存器自动加载而使用的默认值,也就是说MAS4寄存器的内容是硬件写入的。E500为了提高TLB miss异常的效率,在异常出现时,E500会用MAS4寄存器中的值,自动填写MAS02寄存器中的一部分内容: MAS0TLBSEL - MAS4TLBSELD MAS1TID - MAS4TIDSELD MAS1TSIZE - MAS4TSIZED MAS2X0,X1 - MAS4X0D,X1D MAS2WIMGE - MAS4WD,ID,MD,GD,EDMAS6寄存器:用于对TLB进行检索,MAS6寄存器提供SPID0和SAS,也就是PID和AS字段。PowerPC体系结构学习笔记之内存管理(4)MMU指令tlbre指令用于读取TLB中相应的entry。输入是MAS0寄存器的TLBSEL和ESEL字段,MAS2寄存器的EPN字段。在读TLB1时,ESEL有效,EPN无效;在读TLB0时,ESEL无效,EPN有效。输出是将TLB的相应entry放入MAS1,MAS2和MAS3寄存器中。tlbwe指令用于设置TLB中的相应entry。输入是MAS0寄存器的TLBSEL,ESEL字段个MAS13寄存器。无输出。tlbsx指令该指令格式为“tlbsx RA, RB”。主要功能是使用RARB的地址,配合MAS6寄存器对TLB进行查找,如果命中,则将结果放入MAS03寄存器。tlbivax指令该指令格式是“tlbivax RA, RB”。主要作用是使用RARB的地址,配合MAS6寄存器对TLB进行查找,如果命中,则无效该entry。如果entry的IPROT位设置了,则不能用tlbivax无效。注意,MIPS中并没有tlbivax类似的指令。所有TLB的无效操作都通过tlbwi或者tlbwr指令实现。tlbsync指令该指令用于同步对TLB entry的读写。主要用途是将tlbivax指令的更新entry广播到系统总线上,用来同步其他处理器。该指令只在SMP系统中有效。PowerPC体系结构学习笔记之内存管理(5)复位时的TLB当E500上电复位时,只有TLB1中的entry 0有效,其他entry都是无效的。TLB1的entry 0初始值如下:V 1 表示当前entry有效TS 0 使用地址空间0TID0:7 0x00 不与PID寄存器比较RPN 0xFFFFF 有效地址空间0xFFFFF0000xFFFFFFFF与物理地址空间0xFFFFF0000xFFFFFFFF映射,大小是4KBEPN 0xFFFFFSIZE0:30001SX/SR/SW 111 处理器在超级模式下可以对这段地址空间读/写/执行UX/UR/UW 000 处理器在用户模式下不可以操作这段地址空间WIM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度企业设备更新采购补充合同范本
- 2025版建筑消防材料购销合同范本
- 二零二五年城市地下综合管廊建设合同执行监督办法
- 2025版国有企事业单位员工单位购房指标买卖合同
- 二零二五年度环境友好型产品认证服务合同
- 广东止水钢板桩施工方案
- 改性塑料造粒机施工方案
- 护士带教老师课件
- 徐州微孔声屏障施工方案
- 课堂教学心得体会模板汇编6篇
- 腹透的居家护理
- 2025-2030中国N-甲基苯胺市场深度调查与前景预测分析报告
- 中国三氯吡氧乙酸行业市场调查报告
- 学习项目二 音乐表演的“二度创作”-《大鱼》 教案 -人音版七下
- 生物安全实验室消毒管理制度
- 2025年版二级建造师《机电工程》考试真题(题后附权威解析)
- 《中国高血压临床实践指南》
- QAZDP 01-2018 焊接钢管规范
- 口腔颌面部血管瘤
- 煤矿磅房安全管理制度
- 2025年高考四川卷物理高考真题+解析(参考版)
评论
0/150
提交评论