[发明专利]一种内存访问方法和设备有效
申请号: | 201310456953.4 | 申请日: | 2013-09-29 |
公开(公告)号: | CN104516822B | 公开(公告)日: | 2018-01-23 |
发明(设计)人: | 张柳航;张立新;侯锐;江涛 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 徐翀 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 访问 方法 设备 | ||
技术领域
本发明涉及计算机信息技术领域,特别涉及内存访问方法和设备。
背景技术
计算机在执行应用程序的过程中,需要访问内存中加载的程序,计算机在访问内存时是通过被访问内存的物理地址来访问,而在计算机中对内存的管理一般采用分页内存管理,在分页内存管理条件下计算机会为内存生成虚拟地址以方便管理。
目前在计算机中会通过旁路转换缓冲(Translation look aside buffer,TLB)来储存经常被使用的页表(即页表的一个子集),还储存物理地址对应的虚拟地址的信息,该页表中储存着内存的物理地址,计算机可以通过TLB将虚拟地址转换为物理地址,并完成内存的访问。当计算机中的TLB发生缺失时,计算机会获取TLB中缺失的页表指针等信息以访问页表,从分页内存管理下的虚拟地址及从页表中获取对应的物理地址,并替换TLB中的相应表项,使得一般对于TLB缺失处理的开销比较大。
发明内容
本发明实施例提供内存访问方法和设备,降低了对TLB缺失处理的开销。
本发明实施例第一方面提供一种内存访问方法,包括:
接收内存的访问请求,所述访问请求中包括待访问内存的第一虚拟地址;
如果所述第一虚拟地址未储存在旁路转换缓冲TLB中,将所述第一虚拟地址进行转换获取第二虚拟地址;
根据所述第二虚拟地址对应的第二物理地址与所述第一虚拟地址对应的第一物理地址之间的预置的关系计算所述第一物理地址;
根据所述第一物理地址访问所述待访问内存。
本发明实施例第一方面的第一种可能实现方法中,所述将所述第一虚拟地址进行转换获取第二虚拟地址具体包括:将所述第一虚拟地址转换为所述第一虚拟地址递增方向或递减方向的第n个虚拟地址作为第二虚拟地址;所述n为大于0的正整数。
结合本发明实施例第一方面或第一方面的第一种可能实现方法,在本发明实施例第一方面的第二种可能实现方法中,根据所述第二虚拟地址对应的第二物理地址与所述第一虚拟地址对应的第一物理地址之间的预置的关系计算所述第一物理地址,具体包括:
如果所述第一虚拟地址和第二虚拟地址对应连续的物理地址,计算所述第二物理地址连续的物理地址得到所述第一物理地址;
如果所述第二物理地址和第一物理地址非连续,且所述第二物理地址与第一物理地址对应的内存单元之间相隔为时m,若所述第一物理地址对应的内存单元是所述第二物理地址递增方向物理地址的内存单元,则计算所述第二物理地址递增方向的第m+1个物理地址得到所述第一物理地址;若所述第一物理地址对应的内存单元是所述第二物理地址递减方向物理地址的内存单元,则计算所述第二物理地址递减方向的第m+1个物理地址得到所述第一物理地址,所述m是大于0的正整数。
在本发明实施例第一方面的第三种可能实现方法中,所述接收内存的访问请求之前,还包括:
为连续的虚拟地址分配对应的物理地址,所述物理地址部分或全部连续;
将虚拟地址和物理地址的对应关系储存到所述TLB中,并储存物理地址对应的标记位,所述标记位用于指示所述连续的虚拟地址对应物理地址之间是否连续。
结合本发明实施例第一方面的第三种可能实现方式,在本发明实施例第一方面的第四种可能实现方式中:
所述将所述第一虚拟地址进行转换获取第二虚拟地址,具体包括:将所述第一虚拟地址转换为与所述第一虚拟地址连续的第二虚拟地址;
所述根据所述第二虚拟地址对应的第二物理地址与所述第一虚拟地址对应的第一物理地址之间的预置的关系计算所述第一物理地址,具体包括:如果所述第二物理地址的标志位指示所述连续的虚拟地址对应的物理地址之间连续,则计算所述第二物理地址连续的物理地址得到所述第一物理地址。
结合本发明实施例第一方面的第三种可能实现方法,在本发明实施例第一方面的第五种可能实现方法中,所述方法还包括:
将所述第一虚拟地址和第一物理地址的信息储存到所述TLB中。
结合本发明实施例第一方面的第五种可能实现方法,在本发明实施例第一方面的第六种可能实现方法中,所述将所述第一虚拟地址和第一物理地址的信息储存到所述TLB中,具体包括:
将所述第一虚拟地址和计算的第一物理地址的对应关系储存到所述TLB;
将所述第一物理地址对应的标记位从计算机系统内存的页表中传递到所述TLB中。
本发明实施例第二方面提供一种内存访问设备,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310456953.4/2.html,转载请声明来源钻瓜专利网。