异构共享虚拟存储器中的按需共享性转换制造技术

技术编号:15199605 阅读:101 留言:0更新日期:2017-04-21 23:22
本申请各方面包括管理虚拟存储器页共享性的系统和方法。处理器或存储器管理单元可以在页表中设置虚拟存储器页不能与外部域处理器共享的指示。处理器或存储器管理单元可以监视外部域处理器何时尝试访问虚拟存储器页或何时尝试了访问虚拟存储器页。响应于外部域处理器尝试访问虚拟存储器页,处理器可以对虚拟存储器页执行虚拟存储器页操作。

On demand sharing in heterogeneous shared virtual memory

Systems and methods for managing virtual memory page sharing in various aspects of the application. A processor or a memory management unit may set an indication that a virtual memory page cannot be shared with an external domain processor in a page table. The processor or memory management unit can monitor when the external domain processor attempts to access the virtual memory page or when it attempts to access the virtual memory page. In response to an external domain processor attempting to access the virtual memory page, the processor can perform a virtual memory page operation on the virtual memory page.

【技术实现步骤摘要】
【国外来华专利技术】相关申请本申请要求于2014年7月18日提交的题为“On-DemandShareabilityConversionInAHeterogeneousSharedVirtualMemory”的美国临时申请No.62/026,319的优先权的权益,其全部内容通过引用并入本文。
技术介绍
在异构共享架构(HSA)中,共享虚拟存储器(SVM)是允许多于一个处理器访问虚拟存储器位置的存储器管理的方法。使用共享虚拟存储器,来自运行在一个处理器(例如中央处理器单元(CPU))上的应用的单进程虚拟地址空间可以跨越运行在另一处理器(例如图形处理器单元(GPU)或数字信号处理器(DSP))上的其他线程或内核而被共享。各个处理器可以针对每个应用来共享单个页表(pagetable)以便进行虚拟到物理地址的转换,这是比为每个处理器复制页表更有效的方法。在全存储器共享虚拟存储器中,在将存储器分配给线程或内核时,不太可能确定数据是否将与多于一个处理器共享。这可能导致所有的用户应用存储器被标记为可共享用于异构计算。为了保持存储器一致性,被标记为可共享的存储器与探听(snoop)活动相关联,该探听活动随着被标记为可共享的存储量的增加而增加。然而,将所有的用户存储器标记为可共享是低效的,因为在实践中在线程之间实际共享少得多的存储量。
技术实现思路
各个方面包括通过更好地管理虚拟存储器页共享性来提高计算设备的性能和功能的方法,其可以包括:在页表中设置虚拟存储器页不能与外部域处理器共享的指示;监视所述外部域处理器访问所述虚拟存储器页的尝试;以及响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作。在一方面,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作可以包括对所述虚拟存储器页执行虚拟存储器页操作。在另一方面,对所述虚拟存储器页执行虚拟存储器页操作可以包括改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享。在一个方面,在页表中设置虚拟存储器页不能与外部域处理器共享的指示可以包括在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示,并且改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享可以包括改变所述页表的所述现有页表字段中的所述指示。在一个方面,在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示可以包括设置所述页表的所述页表字段中的至少一个现有位,所述至少一个现有位指示所述虚拟存储器页不能与所述外部域处理器共享,并且改变所述页表的所述现有页表字段中的所述指示可以包括改变所述页表的所述页表字段的所述至少一个现有位,所述至少一个现有位指示所述虚拟存储器页能与所述外部域处理器共享。在另一方面,所述方法可以包括响应于所述外部域处理器访问所述虚拟存储器页的尝试而生成中断,其中,改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享可以包括基于所述中断来改变所述页表中的所述指示。在一个方面,对所述虚拟存储器页执行虚拟存储器页操作可以包括确定针对所述虚拟存储器页的访问许可以指示所述外部域处理器是否能访问所述虚拟存储器页。在另一方面,所述方法可以包括响应于所述外部域处理器访问所述虚拟存储器页的尝试而生成中断,其中,确定针对所述虚拟存储器页的所述访问许可以指示所述外部域处理器是否能访问所述虚拟存储器页是基于所述中断的。在一个方面,确定针对所述虚拟存储器页的所述访问许可还可以包括进行以下各项中的至少一项:将所述中断转换成许可违规、停止在所述外部域处理器上执行的指令、以及改变所述虚拟存储器页的所述访问许可。在一方面,对所述虚拟存储器页执行虚拟存储器页操作可以包括基于对所述虚拟存储器页的尝试访问来生成针对所述虚拟存储器页的调试信息。在一个方面,对所述虚拟存储器页执行虚拟存储器页操作可以包括基于对所述虚拟存储器页的尝试访问来执行针对所述虚拟存储器页的管理操作,这可以包括以下操作中的至少一项:确定是否固定所述虚拟存储器页、以及确定是否将所述虚拟存储器页移动至不同访问速率的存储器位置。在一个方面,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作可以包括响应于所述外部域处理器访问所述虚拟存储器页的尝试来触发页错误。在一个方面,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作可以包括:使存储器管理单元停止继续处理存储器操作、停止所述外部域处理器的至少一部分、使所述外部域处理器执行上下文切换操作、和/或使存储器管理单元利用特定策略来生成对所述外部域处理器的进一步数据响应。在一个方面,所述特定策略包括以下中的一项:针对读取返回零值、以及忽略写入。在另一方面,所述方法可以通知主处理器所述页错误。在一些方面,通知主处理器可以包括:触发对主OS处理器的中断、在存储器中写入值、和/或在寄存器中写入值。此外的方面包括一种计算设备,其包括用于执行上述方面方法的操作的功能的单元。此外的方面包括具有处理器的计算设备,所述处理器配置有处理器可执行指令以执行上述方面方法的操作。此外的方面包括具有存储于其上的处理器可执行软件指令的非临时性处理器可读存储介质,所述处理器可执行软件指令被配置为使处理器执行上述方面方法的操作。附图说明并入本文并构成本说明书的一部分的附图示出了本专利技术的示例性方面。连同以上给出的一般描述和下面给出的详细描述,附图用于解释本专利技术的特征,而不是限制所公开的各方面。图1是示出了可以在实现各个方面的计算设备中使用的示例片上系统(SOC)架构的组件框图。图2是示出了可以用于实现各个方面的示例性多核处理器架构的功能框图。图3是示出了示例性共享虚拟存储器系统的功能框图。图4是示出了管理虚拟存储器页共享性的方面方法的过程流程图。图5是示出了管理虚拟存储器页共享性的另一方面方法的过程流程图。图6A是示出了管理虚拟存储器页共享性的另一方面方法的过程流程图。图6B是示出了管理虚拟存储器页共享性的另一方面方法的过程流程图。图7是适于与各个方面一起使用的示例性移动设备的组件框图。图8是适于与各个方面一起使用的示例性服务器的组件框图。图9是适于与各个方面一起使用的示例性膝上型计算机的组件框图。具体实施方式将参照附图来详细地描述各个方面。尽可能地,在整个附图中使用相同的附图标记来指代相同或相似的部件。对特定示例和实现的参考是出于说明的目的,并且不旨在限制权利要求书的保护范围。在本文中用使用的词语“示例性”表示“用作示例、实例或说明”。本文中描述为“示例性”的任意实现不必被解释为比其它实施方式更优选或更有优势。术语“移动设备”和“计算设备”在本文中可以互换使用,以指代以下各项中的任意一项或所有项:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数字助理(PDA)、膝上型计算机、平板计算机、智能本、掌上计算机、无线电子邮件接收机、支持多媒体因特网的蜂窝电话、无线游戏控制器以及包括可编程处理器和存储器的类似电子设备。尽管各个方面在可能具有相对有限的处理能力和/或功率存储容量的移动设备(例如蜂窝电话和其它便携式计算平台)中是特别有用的,但是这些方面通常在向处理设备或处理核心分配线程、进程或其他指令序列的任意计算设备中都是有用的。本文中使用的术语“片上本文档来自技高网...
异构共享虚拟存储器中的按需共享性转换

【技术保护点】
一种管理虚拟存储器页共享性的方法,包括:在页表中设置虚拟存储器页不能与外部域处理器共享的指示;监视所述外部域处理器访问所述虚拟存储器页的尝试;以及响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作。

【技术特征摘要】
【国外来华专利技术】2014.07.18 US 62/026,319;2014.10.09 US 14/510,8041.一种管理虚拟存储器页共享性的方法,包括:在页表中设置虚拟存储器页不能与外部域处理器共享的指示;监视所述外部域处理器访问所述虚拟存储器页的尝试;以及响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作。2.根据权利要求1所述的方法,其中,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括对所述虚拟存储器页执行虚拟存储器页操作。3.根据权利要求2所述的方法,其中,对所述虚拟存储器页执行虚拟存储器页操作包括改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享。4.根据权利要求3所述的方法,其中:在页表中设置虚拟存储器页不能与外部域处理器共享的指示包括在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示;以及改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享包括改变所述页表的所述现有页表字段中的所述指示。5.根据权利要求4所述的方法,其中:在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示包括设置所述页表的所述页表字段中的至少一个现有位,所述至少一个现有位指示所述虚拟存储器页不能与所述外部域处理器共享;以及改变所述页表的所述现有页表字段中的所述指示包括改变所述页表的所述页表字段的所述至少一个现有位,所述至少一个现有位指示所述虚拟存储器页能与所述外部域处理器共享。6.根据权利要求3所述的方法,还包括响应于所述外部域处理器访问所述虚拟存储器页的尝试而生成中断,其中,改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享包括基于所述中断来改变所述页表中的所述指示。7.根据权利要求2所述的方法,其中,对所述虚拟存储器页执行虚拟存储器页操作包括确定针对所述虚拟存储器页的访问许可以指示所述外部域处理器是否能访问所述虚拟存储器页。8.根据权利要求7所述的方法,还包括响应于所述外部域处理器访问所述虚拟存储器页的尝试而生成中断,其中,确定针对所述虚拟存储器页的所述访问许可以指示所述外部域处理器是否能访问所述虚拟存储器页是基于所述中断的。9.根据权利要求8所述的方法,其中,确定针对所述虚拟存储器页的所述访问许可还包括进行以下各项中的至少一项:将所述中断转换成许可违规、停止在所述外部域处理器上执行的指令、以及改变所述虚拟存储器页的所述访问许可。10.根据权利要求2所述的方法,其中,对所述虚拟存储器页执行虚拟存储器页操作包括基于对所述虚拟存储器页的尝试访问来生成针对所述虚拟存储器页的调试信息。11.根据权利要求2所述的方法,其中,对所述虚拟存储器页执行虚拟存储器页操作包括基于对所述虚拟存储器页的尝试访问来执行针对所述虚拟存储器页的管理操作。12.根据权利要求11所述的方法,其中,针对所述虚拟存储器页的所述管理操作包括以下操作中的至少一项:确定是否固定所述虚拟存储器页、以及确定是否将所述虚拟存储器页移动至不同访问速率的存储器位置。13.根据权利要求1所述的方法,其中,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括响应于所述外部域处理器访问所述虚拟存储器页的尝试来触发页错误。14.根据权利要求13所述的方法,其中,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括使存储器管理单元停止继续处理存储器操作。15.根据权利要求13所述的方法,其中,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括停止所述外部域处理器的至少一部分。16.根据权利要求13所述的方法,其中,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括使所述外部域处理器执行上下文切换操作。17.根据权利要求13所述的方法,其中,响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括使存储器管理单元利用特定策略来生成对所述外部域处理器的进一步数据响应。18.根据权利要求17所述的方法,其中,所述特定策略包括以下中的一项:针对读取返回零值、以及忽略写入。19.根据权利要求13所述的方法,还包括通知主处理器所述页错误。20.根据权利要求19所述的方法,其中,通知主处理器包括触发对主OS处理器的中断。21.根据权利要求19所述的方法,其中,通知主处理器包括在存储器中写入值。22.根据权利要求19所述的方法,其中,通知主处理器包括在寄存器中写入值。23.一种计算设备,包括:用于在页表中设置虚拟存储器页不能与外部域处理器共享的指示的单元;用于监视所述外部域处理器访问所述虚拟存储器页的尝试的单元;以及用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元。24.根据权利要求23所述的计算设备,其中,用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元包括用于对所述虚拟存储器页执行虚拟存储器页操作的单元。25.根据权利要求24所述的计算设备,其中,用于对所述虚拟存储器页执行虚拟存储器页操作的单元包括用于改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享的单元。26.根据权利要求25所述的计算设备,其中:用于在页表中设置虚拟存储器页不能与外部域处理器共享的指示的单元包括用于在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示的单元;以及用于改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享的单元包括用于改变所述页表的所述现有页表字段中的所述指示的单元。27.根据权利要求26所述的计算设备,其中:用于在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示的单元包括用于设置所述页表的所述页表字段中的至少一个现有位的单元,所述至少一个现有位指示所述虚拟存储器页不能与所述外部域处理器共享;以及用于改变所述页表的所述现有页表字段中的所述指示的单元包括用于改变所述页表的所述页表字段的所述至少一个现有位的单元,所述至少一个现有位指示所述虚拟存储器页能与所述外部域处理器共享。28.根据权利要求25所述的计算设备,还包括用于响应于所述外部域处理器访问所述虚拟存储器页的尝试而生成中断的单元,其中,用于改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享的单元包括用于基于所述中断来改变所述页表中的所述指示的单元。29.根据权利要求24所述的计算设备,其中,用于对所述虚拟存储器页执行虚拟存储器页操作的单元包括用于确定针对所述虚拟存储器页的访问许可以指示所述外部域处理器是否能访问所述虚拟存储器页的单元。30.根据权利要求29所述的计算设备,还包括用于响应于所述外部域处理器访问所述虚拟存储器页的尝试而生成中断的单元,其中,确定针对所述虚拟存储器页的所述访问许可以指示所述外部域处理器是否能访问所述虚拟存储器页是基于所述中断的。31.根据权利要求30所述的计算设备,其中,用于确定针对所述虚拟存储器页的所述访问许可的单元还包括进行以下各项中的至少一项:用于将所述中断转换成许可违规的单元、用于停止在所述外部域处理器上执行的指令的单元、以及用于改变所述虚拟存储器页的所述访问许可的单元。32.根据权利要求24所述的计算设备,其中,用于对所述虚拟存储器页执行虚拟存储器页操作的单元包括用于基于对所述虚拟存储器页的尝试访问来生成针对所述虚拟存储器页的调试信息的单元。33.根据权利要求24所述的计算设备,其中,用于对所述虚拟存储器页执行虚拟存储器页操作的单元包括用于基于对所述虚拟存储器页的尝试访问来执行针对所述虚拟存储器页的管理操作的单元。34.根据权利要求33所述的计算设备,其中,针对所述虚拟存储器页的所述管理操作包括以下操作中的至少一项:确定是否固定所述虚拟存储器页、以及确定是否将所述虚拟存储器页移动至不同访问速率的存储器位置。35.根据权利要求23所述的计算设备,其中,用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元包括用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来触发页错误的单元。36.根据权利要求35所述的计算设备,其中,用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元包括用于使存储器管理单元停止继续处理存储器操作的单元。37.根据权利要求35所述的计算设备,其中,用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元包括用于停止所述外部域处理器的至少一部分的单元。38.根据权利要求35所述的计算设备,其中,用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元包括用于使所述外部域处理器执行上下文切换操作的单元。39.根据权利要求35所述的计算设备,其中,用于响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作的单元包括用于使存储器管理单元利用特定策略来生成对所述外部域处理器的进一步数据响应的单元。40.根据权利要求39所述的计算设备,其中,所述特定策略包括以下中的一项:针对读取返回零值、以及忽略写入。41.根据权利要求35所述的计算设备,还包括用于通知主处理器所述页错误的单元。42.根据权利要求41所述的计算设备,其中,用于通知主处理器的单元包括用于触发对主OS处理器的中断的单元。43.根据权利要求41所述的计算设备,其中,用于通知主处理器的单元包括用于在存储器中写入值的单元。44.根据权利要求41所述的计算设备,其中,用于通知主处理器的单元包括用于在寄存器中写入值的单元。45.一种计算设备,包括:处理器,其被配置具有处理器可执行指令以执行操作,所述操作包括:在页表中设置虚拟存储器页不能与外部域处理器共享的指示;监视所述外部域处理器访问所述虚拟存储器页的尝试;以及响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作。46.根据权利要求45所述的计算设备,其中,所述处理器被配置具有处理器可执行指令以执行操作,使得响应于所述外部域处理器访问所述虚拟存储器页的尝试来执行操作包括对所述虚拟存储器页执行虚拟存储器页操作。47.根据权利要求46所述的计算设备,其中,所述处理器被配置具有处理器可执行指令以执行操作,使得对所述虚拟存储器页执行虚拟存储器页操作包括改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享。48.根据权利要求47所述的计算设备,其中,所述处理器被配置具有处理器可执行指令以执行操作,使得:在页表中设置虚拟存储器页不能与外部域处理器共享的指示包括在所述页表的现有页表字段中设置所述虚拟存储器页不能与所述外部域处理器共享的所述指示;以及改变所述页表中的所述指示以指示所述虚拟存储器页能与所述外部域处理器共享包括改变所述页表的所述现有页表字段中的所述指示。49.根据权利要求48所述的计算设备,其中,所述处理器被配置具有处理器可执行指令以执行操作,使得...

【专利技术属性】
技术研发人员:B·雷赫利克J·E·波戴马A·E·格鲁贝尔T·R·曾Z·马
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1