一种跨页预取方法、装置及系统制造方法及图纸

技术编号:10600983 阅读:174 留言:0更新日期:2014-11-05 13:53
本发明专利技术实施例提供一种跨页预取方法、装置及系统,能够提高预取设备的预取命中率,进而使得访问内存的效率提高。其中,所述方法包括:接收高速缓存寄存器发送的物理地址缺失的指示消息,所述指示消息携带被映射的第一物理地址、所述第一物理地址所属的第一物理页的连续信息;根据所述第一物理地址和预取设备中存储的步长,获取预取地址;若所述预取地址所属的物理页与所述第一物理页的页号不同,且根据所述第一物理页的连续信息确定所述第一物理页连续,预取所述预取地址中的数据。本发明专利技术适用于计算机领域。

【技术实现步骤摘要】
一种跨页预取方法、装置及系统
本专利技术涉及计算机领域,尤其涉及一种跨页预取方法、装置及系统。
技术介绍
随着时代的发展,CPU(CentralProcessingUnit,中央处理器)和内存的性能差异越来越多,很多技术被开发出来以试图减小访问内存所带来的延迟,比如使用流水线,多线程等等,其中数据预取也是其中的一个技术。数据预取是在处理器访问内存前,将后续需要的数据A提前从内存中取出来存储到Cache(高速缓冲寄存器)中的一种方法,这样当CPU访问A时,因为A已经在Cache中,所以可以直接进行访问,减少了CPU访问内存查找A所带来的延迟。应用程序在执行过程中调用的指令或数据中使用的地址都是虚拟地址。为了能够从内存中访问对应的指令或数据,该虚拟地址需要映射为对应的物理地址。但是,虚拟地址和物理地址转换的过程中,连续的虚拟页可能被映射到连续的物理页,也可能被映射到不连续的物理页。现有的预取设备在判断出需要跨页预取时,便停止预取,这样便会阻止连续的虚拟页被映射到不连续的物理时跨页预取无效的情况。但是实际上,有50%-70%的虚拟页映射的物理页实际上是连续的,即确定的预取地址是有效的。基于现有技术的方法,在阻止跨页预取无效时,同时会阻止跨页预取有效的情况,导致预取设备的预取命中率低,进而会使得访问内存的效率降低。
技术实现思路
本专利技术的实施例提供一种跨页预取方法、装置及系统,能够提高预取设备的预取命中率,进而使得访问内存的效率提高。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供一种跨页预取方法,所述方法包括:接收高速缓冲寄存器发送的物理地址缺失的指示消息,所述指示消息携带被映射的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;根据所述第一物理地址和预取设备中存储的步长,获取预取地址;若所述预取地址所属的物理页与所述第一物理页的页号不同,且根据所述第一物理页的连续信息确定所述第一物理页连续,则预取所述预取地址中的数据。在第一种可能的实现方式中,根据所述第一方面,在所述接收高速缓存寄存器发送的物理地址缺失的指示消息之后,所述方法还包括:将所述指示消息携带的所述第一物理地址所属的第一物理页的连续信息存储在预取信息表中第一物理地址对应的表项中,其中,所述预取信息表存储在所述预取设备中。在第二种可能的实现方式中,根据所述第一方面,在所述根据所述第一物理地址和预取设备中存储的步长,获取预取地址之前,所述方法还包括:根据压缩算法和所述第一物理地址,获取所述第一物理地址的第一索引信息;若预取信息表中第一索引信息对应的表项中包含的物理页的页号与所述第一物理页的页号匹配,判断所述预取设备的预取机制是否训练完成,其中,所述预取信息表存储在所述预取设备中;若所述预取机制训练完成,执行获取预取地址的步骤;若预取信息表中第一索引信息对应的表项中包含的物理页的页号与所述第一物理页的页号不匹配,将所述第一物理页的页号、所述第一物理页的连续信息存储在所述预取信息表中第一索引信息对应的表项中。在第三种可能的实现方式中,根据所述第二种可能的实现方式,所述第一物理地址的第一索引信息具体包括下列信息中的至少之一:所述第一物理地址所属的第一物理页的页号、所述第一物理地址所属的第一物理页的页号的压缩值、所述第一物理地址所属的第一物理页的页号的哈希值。第二方面,提供了一种跨页预取方法,所述方法包括:接收申请内存空间的第一指示消息,其中,所述第一指示消息携带所述内存空间的容量信息;根据所述内存空间的容量信息,分配物理内存空间和虚拟内存空间;建立所述虚拟内存空间与所述物理内存空间的映射关系,其中,所述映射关系中包含所述虚拟内存空间包括的第一虚拟地址对应的被映射的第一物理地址所属的第一物理页的页号、所述第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;发送所述映射关系至存储器,以使得所述存储器存储所述映射关系。第三方面,提供了一种跨页预取方法,所述方法包括:发送第二指示消息给存储器,其中,所述第二指示消息携带第一虚拟地址,以使得所述存储器根据所述第一虚拟地址,发送所述第一虚拟地址对应的映射关系给所述旁路转换缓冲器TLB,所述映射关系中包含所述第一虚拟地址对应的被映射的第一物理地址所属的第一物理页的页号、所述第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;接收所述存储器发送的所述映射关系;根据所述映射关系,获取所述第一虚拟地址对应的第一物理地址;发送所述第一物理地址、所述第一物理地址所属的第一物理页的连续信息至高速缓冲寄存器。第四方面,提供了一种跨页预取的方法,所述方法包括:接收旁路转换缓冲器TLB发送的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;若高速缓冲寄存器未存储所述第一物理地址的数据,发送所述第一物理地址至存储器,以使得处理器从所述存储器获取所述第一物理地址的数据;发送物理地址缺失的指示消息至预取设备,所述指示消息携带所述第一物理地址、所述第一物理地址所属的第一物理页的连续信息。第五方面,提供了一种预取设备,所述预取设备包括接收单元、获取单元、预取单元;所述接收单元,用于接收高速缓冲寄存器发送的物理地址缺失的指示消息,所述指示消息携带被映射的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;所述获取单元,用于根据所述第一物理地址和预取设备中存储的步长,获取预取地址;所述预取单元,用于若所述预取地址所属的物理页与所述第一物理页的页号不同,且根据所述第一物理页的连续信息确定所述第一物理页连续,则预取所述预取地址中的数据。在第一种可能的实现方式中,根据所述第五方面,所述预取设备还包括存储单元;所述存储单元,用于在所述接收单元接收高速缓存寄存器发送的物理地址缺失的指示消息之后,将所述指示消息携带的所述第一物理地址所属的第一物理页的连续信息存储在预取信息表中第一物理地址对应的表项中,其中,所述预取信息表存储在所述预取设备中。在第二种可能的实现方式中,根据所述第五方面,所述预取设备还包括判断单元、执行单元、存储单元;所述获取单元,用于在所述根据所述第一物理地址和预取设备中存储的步长,获取预取地址之前,根据压缩算法和所述第一物理地址,获取所述第一物理地址的第一索引信息;所述判断单元,用于若预取信息表中第一索引信息对应的表项中包含的物理本文档来自技高网...
一种跨页预取方法、装置及系统

【技术保护点】
一种跨页预取方法,其特征在于,所述方法包括:接收高速缓冲寄存器发送的物理地址缺失的指示消息,所述指示消息携带被映射的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;根据所述第一物理地址和预取设备中存储的步长,获取预取地址;若所述预取地址所属的物理页与所述第一物理页的页号不同,且根据所述第一物理页的连续信息确定所述第一物理页连续,则预取所述预取地址中的数据。

【技术特征摘要】
1.一种跨页预取方法,其特征在于,所述方法包括:接收高速缓冲寄存器发送的物理地址缺失的指示消息,所述指示消息携带被映射的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;根据所述第一物理地址和预取设备中存储的步长,获取预取地址;若所述预取地址所属的物理页与所述第一物理页的页号不同,且根据所述第一物理页的连续信息确定所述第一物理页连续,则预取所述预取地址中的数据,其中,所述第一物理页连续是指所述第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页连续。2.根据权利要求1所述的方法,其特征在于,在所述接收高速缓存寄存器发送的物理地址缺失的指示消息之后,所述方法还包括:将所述指示消息携带的所述第一物理地址所属的第一物理页的连续信息存储在预取信息表中第一物理地址对应的表项中,其中,所述预取信息表存储在所述预取设备中。3.根据权利要求1所述的方法,其特征在于,在所述根据所述第一物理地址和预取设备中存储的步长,获取预取地址之前,所述方法还包括:根据压缩算法和所述第一物理地址,获取所述第一物理地址的第一索引信息;若预取信息表中第一索引信息对应的表项中包含的物理页的页号与所述第一物理页的页号匹配,判断所述预取设备的预取机制是否训练完成,其中,所述预取信息表存储在所述预取设备中;若所述预取机制训练完成,执行获取预取地址的步骤;若预取信息表中第一索引信息对应的表项中包含的物理页的页号与所述第一物理页的页号不匹配,将所述第一物理页的页号、所述第一物理页的连续信息存储在所述预取信息表中第一索引信息对应的表项中。4.根据权利要求3所述的方法,其特征在于,所述第一物理地址的第一索引信息具体包括下列信息中的至少之一:所述第一物理地址所属的第一物理页的页号、所述第一物理地址所属的第一物理页的页号的压缩值、所述第一物理地址所属的第一物理页的页号的哈希值。5.一种跨页预取方法,其特征在于,所述方法包括:接收申请内存空间的第一指示消息,其中,所述第一指示消息携带所述内存空间的容量信息;根据所述内存空间的容量信息,分配物理内存空间和虚拟内存空间;建立所述虚拟内存空间与所述物理内存空间的映射关系,其中,所述映射关系中包含第一物理页的页号和所述第一物理页的连续信息,所述第一物理页为所述虚拟内存空间包括的第一虚拟地址对应的被映射的第一物理地址所属的第一物理页,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;发送所述映射关系至存储器,以使得所述存储器存储所述映射关系。6.一种跨页预取方法,其特征在于,所述方法包括:发送第二指示消息给存储器,其中,所述第二指示消息携带第一虚拟地址,以使得所述存储器根据所述第一虚拟地址,发送所述第一虚拟地址对应的映射关系给旁路转换缓冲器TLB,所述映射关系中包含所述第一虚拟地址对应的被映射的第一物理地址所属的第一物理页的页号、所述第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;接收所述存储器发送的所述映射关系;根据所述映射关系,获取所述第一虚拟地址对应的第一物理地址;发送所述第一物理地址、所述第一物理地址所属的第一物理页的连续信息至高速缓冲寄存器。7.一种跨页预取方法,其特征在于,所述方法包括:接收旁路转换缓冲器TLB发送的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;若高速缓冲寄存器未存储所述第一物理地址的数据,发送所述第一物理地址至存储器,以使得处理器从所述存储器获取所述第一物理地址的数据;发送物理地址缺失的指示消息至预取设备,所述指示消息携带所述第一物理地址、所述第一物理地址所属的第一物理页的连续信息。8.一种预取设备,其特征在于,所述预取设备包括接收单元、获取单元、预取单元;所述接收单元,用于接收高速缓冲寄存器发送的物理地址缺失的指示消息,所述指示消息携带被映射的第一物理地址、所述第一物理地址所属的第一物理页的连续信息,其中,所述第一物理页的连续信息用于表示第一虚拟页映射的物理页和与所述第一虚拟页连续的下一虚拟页映射的物理页是否连续,所述第一虚拟页包含所述第一物理地址映射的第一虚拟地址;所述获取单...

【专利技术属性】
技术研发人员:张立新张柳航侯锐张科
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1