The present invention provides a memory physical address query method and device. The method includes: the storage backup buffer to addressing second threads of the page table entry is stored to the prefetch buffer, the buffer time is not set in the query page table entries stored in the receiving buffer bypass switch standby; second thread carrying virtual address memory address request message according to the virtual physical address; address corresponding to the bypass switch and prefetch buffer in the buffer. The invention provides a physical memory address query method and device, according to the virtual address to address second threads in the bypass switch buffer and prefetch buffer for query, and prefetch buffer are stored in the buffer in the bypass switch setting time is not query second thread page table entries, so as to improve the physical address of the virtual address of the corresponding query hit rate, shorten the addressing time.
【技术实现步骤摘要】
内存物理地址查询方法和装置
本专利技术涉及信息
,尤其涉及一种内存物理地址查询方法和装置。
技术介绍
目前,处理器大多采用虚拟地址(VirtualAddress,简称VA)来进行内存寻址,使用虚拟地址技术可以创建比实际物理地址(PhysicalAddress,简称PA)大得多的寻址空间。采用虚拟存储器的处理器大多采用一种分页(Paging)机制,虚拟地址空间以页(Page)为单位进行划分,相应的,物理地址空间也以页(Page)为单位进行划分。在采用虚拟地址进行内存寻址的过程中,处理器中的内存管理单元(MemoryManagementUnit,简称MMU)需要将接收到的虚拟地址转换为物理地址。目前处理器大多采用旁路转换缓存器来缓存包含有处理器最近访问的内存的虚拟地址和物理地址之间的映射关系的页表缓存(TranslationLookasideBuffer,简称TLB),TLB中缓存的数据和内存页表区存储的数据是一致的,在内存页表区中,每一条包含虚拟地址和物理地址映射关系的记录称为一个页表项(PageTableEntry,简称PTE),同样的,在TLB中也缓存了部 ...
【技术保护点】
一种内存物理地址查询方法,其特征在于,包括:确定未来设定时间内内存寻址操作由第一线程变更为第二线程;将备用缓存器中存储的所述第二线程的页表项存储至预取缓存器中;接收所述第二线程发送的内存寻址请求消息,所述内存寻址请求消息中携带虚拟地址;根据所述虚拟地址在所述预取缓存器存储的页表项中查询所述虚拟地址对应的物理地址。
【技术特征摘要】
1.一种内存物理地址查询方法,其特征在于,包括:确定未来设定时间内内存寻址操作由第一线程变更为第二线程;将备用缓存器中存储的所述第二线程的页表项存储至预取缓存器中;接收所述第二线程发送的内存寻址请求消息,所述内存寻址请求消息中携带虚拟地址;根据所述虚拟地址在所述预取缓存器存储的页表项中查询所述虚拟地址对应的物理地址。2.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟地址在所述预取缓存器存储的页表项中查询所述虚拟地址对应的物理地址之前,所述方法还包括:根据所述虚拟地址在旁路转换缓存器中查询所述虚拟地址对应的物理地址;且所述旁路转换缓存器中不存在与所述虚拟地址对应的第一物理地址。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若所述预取缓存器中存在与所述虚拟地址对应的第二物理地址,则通过所述第二物理地址访问所述内存进行数据存取。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:若所述旁路转换缓存器中不存在与所述虚拟地址对应的第一物理地址,且所述预取缓存器中不存在与所述虚拟地址对应的第二物理地址,则在所述内存中查找与所述虚拟地址对应的第三物理地址。5.根据权利要求2或3所述的方法,其特征在于,若所述旁路转换缓存器中不存在与所述虚拟地址对应的第一物理地址,且所述预取缓存器中存在与所述虚拟地址对应的第二物理地址,则所述方法还包括:将所述预取缓存器中存储的所述虚拟地址和所述第二物理地址对应的页表项存储至所述旁路转换缓存器中,并删除所述预取缓存器中存储的所述虚拟地址和所述第二物理地址对应的页表项。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:将在内存中查找到的与所述虚拟地址和所述第三物理地址对应的页表项存储至所述旁路转换缓存器中。7.根据权利要求2-6任一项所述的方法,其特征在于,所述将备用缓存器中存储的所述第二线程的页表项存储至预取缓存器中之前,所述方法还包括:若所述旁路转换缓存器中存储的页表项的数目超过自身的存储容量,则将所述旁路转换缓存器中所述设定时间内未被查询的页表项存储至所述备用缓存器中,并删除所述旁路转换缓存器中所述设定时间内未被查询的页表项。8.根据权利要求7所述的方法,其特征在于,所述将所述旁路转换缓存器中所述设定时间内未被查询的页表项存储至所述备用缓存器中之后,所述方法还包括:若所述备用缓存器中存储的页表项的数目超过自身的存储容量,则删除所述备用缓存器中存储时间最长的页表项。9.根据权利要求1-8任一项所述的方法,其特征在于,所述将备用缓存器中存储的所述第二线程的页表项存储至预取缓存器中,包括:若所述备用缓存器中存储的所述第二线程的页表项的数目小于或等于所述预取缓存器的存储容量,则将所述备用缓存器中存储的所有所述第二线程的页表项存储至所述预取缓存器中,并覆盖所述预取缓存器的当前存储数据;或者,若所述备用缓存器中存储的所述第二线程的页表项的数目大于所述预取缓存器的存储容量,则将所述备用缓存器中存储的与所述预取缓存器的存储容量相等数目的所述第二线程的页表项存储至所述预取缓存器中,并覆盖所述预取缓存器的当前存储数据。10.根据权利要求9所述的方法,其特征在于,若所述备用缓存器中存储的所述第二线程的页表项的数目大于所述预取缓存器的存储容量,则所述方法还包括:若所述旁路转换缓存器中不存在与所述虚拟地址对应的第一物理地址,且所述预取缓存器中存在与所述虚拟地址对应的第二物理地址,则将所述备用缓存器中存储的所述第二线程的页表项中除所述预取缓存器中存储的页表项之外的一个页表项存储至所述预取缓存器中。11.一种内存物理地址查询装置,其特征在于,包括:确定模块,用于确定未来设定时间内内存寻址操作由第一线程变更为第二线程;执行模块,用于将备用缓存器中存储的所述第二线程的页表项存储至预取缓存器中;接收模块,接收所述第二线程发送的内存寻址请求消息,所述内存...
【专利技术属性】
技术研发人员:郭旭斌,侯锐,冯煜晶,苏东锋,
申请(专利权)人:华为技术有限公司,中国科学院计算技术研究所,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。