[发明专利]执行快速的MMU模拟的方法和装置、以及全系统模拟器有效
申请号: | 200710005260.8 | 申请日: | 2007-02-12 |
公开(公告)号: | CN101246452A | 公开(公告)日: | 2008-08-20 |
发明(设计)人: | 王华勇;王鲲;杨诚 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F12/10 | 分类号: | G06F12/10;G06F9/445;G06F9/45 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 陈炜 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 快速 mmu 模拟 方法 装置 以及 全系统 模拟器 | ||
1. 一种在计算机系统中对计算机程序执行快速的存储器管理单元模拟的方法,其中,在计算机系统中分配有一个预定大小的地址注射空间,而且在所述地址注射空间中存储虚拟页号和相应的物理页号,所述方法包括以下步骤:
对于所述计算机程序的一个代码段中的加载/存储指令,获得所述加载/存储指令的虚拟地址;
计算该虚拟地址的虚拟页号和页内偏移;
将所计算的虚拟页号与所述地址注射空间中所存储的虚拟页号进行比较;
如果两个虚拟页号相同,则根据所述地址注射空间中所存储的物理页号,获得相应的物理地址;
如果两个虚拟页号不相同,则执行地址转换旁路缓冲器搜索、即TLB搜索,以获得相应的物理地址;以及
从所获得的相应物理地址中读取数据,或者向其中写入数据。
2. 根据权利要求1所述的方法,在所述从所获得的相应物理地址中读取数据、或者向其中写入数据的步骤之前,进一步包括步骤:
判断所述加载/存储指令是否为所述代码段内的第一条加载/存储指令,
其中,如果所述加载/存储指令是所述代码段内的第一条加载/存储指令,并且所述计算的虚拟页号与所述存储的虚拟页号不相同,则所述方法在所述执行TLB搜索以获得相应的物理地址的步骤之后,进一步包括步骤:
将所计算的虚拟页号和所获得的相应物理地址的物理页号存储到所述地址注射空间中。
3. 根据权利要求1所述的方法,其中,所述根据所述地址注射空间中所存储的物理页号获得相应的物理地址的步骤,进一步包括步骤:
根据所述地址注射空间中所存储的物理页号和所计算的页内偏移,计算所述加载/存储指令的物理地址,作为所述相应的物理地址。
4. 根据权利要求1所述的方法,其中,所述执行TLB搜索以获得相应的物理地址的步骤,进一步包括步骤:
逐行地搜索TLB,以查找包含所计算的虚拟地址的行,以便返回该行中所包含的物理地址,作为所述相应的物理地址。
5. 根据权利要求1至4中任何一项权利要求所述的方法,其中,所述地址注射空间被分配在所述代码段的末尾,并且所述地址注射空间中存储的虚拟页号和物理页号在所述代码段的第一次地址翻译时被初始化为无效的值。
6. 根据权利要求1至4中任何一项权利要求所述的方法,其中,在存取地址注射空间期间禁止执行任何中断。
7. 根据权利要求1至4中任何一项权利要求所述的方法,其中,在计算机系统支持多进程程序的情况下,在每次进行进程上下文切换时,清除相应地址注射空间。
8. 根据权利要求1至4中任何一项权利要求所述的方法,其中,所述计算机程序包括一个或多个代码段,其中每一个代码段均具有良好的数据局部性,并且所述方法可适用于其中的每一个代码段。
9. 根据权利要求8所述的方法,其中,分配有多个地址注射空间,每个地址注射空间为8个字节长,所存储的虚拟页号和物理页号分别为32位长。
10. 根据权利要求8所述的方法,其中,分配有多个地址注射空间,每个地址注射空间为5个字节长,所存储的虚拟页号和物理页号分别为20位长。
11. 一种用于在计算机系统中对计算机程序代码执行快速的存储器管理单元模拟的装置,包括:
代码翻译器,用于将目标机程序代码翻译为宿主机程序代码,并且分配预定大小的地址注射空间;
执行单元,用于执行翻译后的宿主机程序代码;
翻译后代码缓存,用于存储由上述代码翻译器所翻译的宿主机程序代码;以及
翻译缓存管理单元,用于对所述翻译后代码缓存和地址注射空间进行管理,
其中,所述地址注射空间用于存储虚拟页号和相应的物理页号,
代码翻译器在执行程序代码翻译时,对于所述目标机程序代码的一个代码段中的加载/存储指令,将该加载/存储指令的虚拟地址的虚拟页号与所述地址注射空间中所存储的虚拟页号进行比较,如果两个虚拟页号相同,则根据所述地址注射空间中所存储的物理页号,获得相应的物理地址,否则,由执行单元执行地址转换旁路缓冲器搜索、即TLB搜索,以获得相应的物理地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710005260.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于进程监控对计算机文件进行加解密的方法
- 下一篇:喷水式推进船