降低执行硬件表移动所需资源量的方法、系统和可读介质技术方案

技术编号:12269240 阅读:90 留言:0更新日期:2015-11-04 10:44
提供了一种计算机系统和一种方法,其在发生转换旁路缓冲器(TLB)错过的情况下,降低执行硬件表移动(HWTW)需要的时间和计算资源的量。如果在执行阶段2(S2)HWTW以在存储阶段1(S1)的页表的位置处查找物理地址(PA)时发生TLB未中,则MMU使用中间物理地址(IPA)来预测相应的PA,由此避免执行S2表查找中的任一个的需求。这极大地降低了当执行这些类型的HWTW读事物时需要被执行的查找的数量,其极大地降低了与执行这些类型的事物相关联的处理开销和性能代偿。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机系统,而更具体地说,涉及计算机系统和供计算机系统中使用以降低执行硬件表移动(HffTW)需要的时间和计算资源的量的方法。
技术介绍
现代计算机系统使用内存管理单元(MMU)来管理向一个或多个物理存储设备(诸如例如固态存储设备)写数据以及从一个或多个物理存储设备读取数据。计算机系统的MMU向计算机系统的中央处理单元(CPU)提供虚拟内存,其允许CPU在其自己专用的、连续的虚拟内存地址空间上运行每一个应用程序,而不是使所有的应用程序共享物理内存地址空间,所述物理内存地址空间经常是成碎片的或非连续的。MMU的目的是针对CPU将虚拟内存地址(VA)转化成物理内存地址(PA)。CPU通过直接地对MMU读和写VA来间接地读和写PA,所述MMU将VA转化成PA,并且然后写或读PA。为了执行该转化,MMU存取被存储在系统主存储器中的页表。该页表由页表的条目组成。该页表的条目是由MMU使用来将VA映射成PA的信息。MMU通常包括转换旁路缓冲器(TLB),其是被用于缓存最近使用的映射的高速缓冲存储器单元。当MMU需要将VA转化成PA时,MMU首先检查TLB以确定是否存在针对该VA的匹配。如果有,则MMU使用在TLB中找到的映射来计算PA,并且然后存取PA(即,读或写PA)。这被称为TLB “命中”。如果MMU没有在TLB中找到匹配,则这被称为TLB “未中”。在TLB未中事件中,MMU执行被称为硬件表移动(HffTW)的操作。HffTW是耗时的且计算上开销很高的过程,所述过程涉及执行“表移动”,以在MMU中查找相应的页表,并且在页表中读取多个位置,以查找相应的VA-至-PA的地址映射。然后,MMU使用该映射来计算相应的PA,并且将该映射写回到TLB。在实现操作系统(OS)虚拟化的计算机系统中,将虚拟内存监视器(VMM)(通常还被称为系统管理程序)插入到计算机系统的硬件与计算机系统的系统OS之间。系统管理程序在特权模式下执行,并且能够主管一个或多个客户高级OS。在这样的系统中,运行在OS上的应用程序使用虚拟内存的第一层的VA来对内存寻址,以及运行在系统管理程序上的OS使用虚拟内存的第二层的中间物理地址(IPA)来对内存寻址。在MMU中,执行阶段I (SI)转化,以将每一个VA转化成IPA,以及执行阶段2 (S2)转化,以将每一个IPA转化成PA0如果在执行这样的转化时发生TLB未中,则执行多级的、二维(2-D)的HWTW,以获得计算相应的IPA和PA需要的表条目。执行这些多级的、2-D的HWTW,能够引起MMU的大量计算开销,其通常导致性能代偿。图1是当执行读事务时发生TLB未中时执行已知的、三级的、2-D的HffTW的插图。图1中示出的HffTW表示针对三级的、2-D的HffTW的最坏情况的场景,需要十五次表查找的执行来在数据被存储在物理内存中的地方获得PA。针对这个示例,计算机系统的MMU正在运行主管至少一个客户高级OS(HLOS)的系统管理程序,继而,其正运行至少一个应用程序。在这样的配置中,正被客户HLOS分配的内存不是系统的真实的物理内存,而是上述的中间物理内存。系统管理程序分配真实的物理内存。因此,将每一个VA转化成IPA,然后,将IPA转化成读取的数据实际被存储的地方的真实物理内存的PA。该过程开始于MMU接收SI页全局目录(P⑶)IPA 2。针对这个最坏情况场景的示例,将假设的是,在MMU针对匹配检查TLB时发生TLB未中。因为该未中,MMU必须执行HWTW。HffTW涉及执行三次S2表查找3、4和5,以获得将IPA 2转变成PA所需的映射,以及一次额外的查找6来读取PA。表查找3、4和5分别涉及读取S2P⑶、页中间目录(PMD)和页表条目(PTE)。在查找6处读取PA为MMU提供SI PMD IPA 7。针对这个最坏情况场景的示例,将假设的是,当MMU针对匹配利用SI PMD IPA 7来检查TLB时发生TLB未中。因为该文中,所以MMU必须执行另一 HWTW。该HffTW涉及执行三次S2表查找8、9和11,以获得将SI PMD IPA 7转变成PA所需的映射,以及一次额外的查找12来读取PA。表查找8、9和11分别涉及读取S2P⑶、PMD和PTE。在查找12处读取PA为MMU提供SI PET IPA 13。针对这个最坏情况场景的示例,将假设的是,当MMU针对匹配利用SI PTE IPA 13来检查TLB时发生TLB未中。因为该未中,MMU必须执行另一 HWTW。该HffTW涉及执行三次S2表查找14、15和16,以获得将SI PTE IPA 13转变成PA所需的映射,以及一次额外的查找17来读取PA。表查找14、15和16分别涉及读取S2 PGff,PMD和PTE。在查找17处读取PA为MMU提供真实的IPA 18。针对这个最坏情况场景的示例,将假设的是,当MMU针对匹配利用真实的IPA 18来检查TLB时发生TLB未中。因为该未中,MMU必须执行另一 HWTW。该HffTW涉及执行三次S2表查找19、21和22,以获得将真实的IPA 18转变成PA所需的映射。表查找19、21和22分别涉及读取S2P⑶、PMD和PTE。然后,读取PA来获得相应的读数据。在查找18处读取PA为MMU提供SI PTE IPA 13。因此,能够看出的是,在针对三级的、2-D的HffTW的最坏情况场景下,执行了 12次S2表查找和三次SI表查找,其是消耗大量时间并导致性能代偿的大量计算开销。已经使用各种各样的技术和架构来降低在执行HffTW中涉及的时间和处理开销的量,包括,例如,增加TLB的大小,使用多个TLB,使用平面嵌套的页表,使用影子分页或推测的影子分页,以及使用页移动高速缓冲存储器。虽然所有的这些技术和架构能够降低与执行HffTW相关联的处理开销,但是,它们经常导致计算机系统中别的地方的处理开销的增加。因此,存在针对降低执行HffTW需要的时间和计算资源的量的计算机系统和方法的需求。
技术实现思路
本专利技术针对一种计算机系统和一种供在计算机系统中使用的方法,用于降低执行HffTW需要的时间和计算资源的量。该计算机系统包括至少一个中央处理单元(CPU)、至少一个物理内存、至少一个TLB和至少一个MMU。CPU运行主机OS和系统管理程序。系统管理程序控制CPU上的至少第一客户OS的执行。系统管理程序运行与第一客户OS相关联的至少第一 VM。物理内存具有可由PA寻址的物理内存位置。将至少一个页表存储在物理内存的物理内存位置处。页表包括与用于将IPA映射成物理内存的真实PA的映射相对应的页表条目。TLB存储页表条目的子集。当执行内存访问时,MMU确定与IPA相关联的页表条目是否被存储在TLB中。如果与IPA相关联的页表条目未被存储在TLB中,则已经发生TLB未中。如果发生TLB未中,则预测存储与IPA相关联的数据处的物理内存的PA,由此避免通过执行HffTW来计算PA的需求。该方法包括:在MMU 中:确定与IPA相关联的页表条目是否被存储在TLB中;如果作出与IPA相关联的页表条目未被存储在TLB中的确定,则判定已经发生TLB未中;以及如果作出已经发生TLB未中的判定,则预测存储与所述IP本文档来自技高网
...

【技术保护点】
一种降低与执行硬件表移动(HWTW)相关联的处理开销的计算机系统,所述系统包括:至少一个中央处理单元(CPU),所述CPU运行主机操作系统(OS)和系统管理程序,所述系统管理程序控制所述CPU上的至少第一客户OS的执行,所述系统管理程序运行与所述第一客户OS相关联的至少第一虚拟机(VM);与所述CPU通信的物理内存,所述物理内存具有可由物理地址(PA)寻址的物理内存位置,其中,将至少一个页表存储在所述物理内存的物理内存位置处,所述页表包括与用于将中间物理地址(IPA)映射成所述物理内存的真实PA的映射相对应的页表条目;至少一个转换旁路缓冲器(TLB),其存储所述页表条目的子集;以及至少一个内存管理单元(MMU),所述MMU与所述CPU、与所述物理内存以及与所述TLB相通信,其中,所述MMU确定与IPA相关联的页表条目是否被存储在所述TLB中,其中,如果与所述IPA相关联的页表条目未被存储在所述TLB中,则已经发生TLB未中,并且其中,如果发生TLB未中,则所述MMU预测存储与所述IPA相关联的数据处的所述物理内存的PA。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:T·曾A·托兹尼T·R·曾P·J·博斯特利
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1