保存及存储系统存储器管理单元上下文的方法、设备及程序产品
2019-11-22

保存及存储系统存储器管理单元上下文的方法、设备及程序产品

本发明提供一种无线移动装置,其包含图形处理单元GPU,所述图形处理单元GPU具有用于保存及恢复系统存储器管理单元MMU转译上下文的系统MMU。所述系统MMU耦合到存储器及所述GPU。所述系统MMU包含一组硬件资源。所述硬件资源可为上下文组,其中所述上下文组中的每一者具有一组硬件寄存器。所述系统MMU还包含硬件控制器,所述硬件控制器经配置以恢复与通过所述GPU的执行线程发布的内容的存取流相关联的硬件资源。当与内容的所述存取流相关联的所述硬件资源并未存储在所述硬件资源中的一者内时,可将所述相关联的硬件资源从所述存储器恢复到物理硬件资源中。

根据本发明的另一方面,描述一种用于在系统存储器管理单元(MMU)内进行硬件辅助的上下文组恢复的方法。所述方法包含当与通过图形处理单元(GPU)的执行线程发布的内容的存取流相关联的硬件资源并未存储在多个物理硬件资源中的一者内时,收回所述多个物理硬件资源中的选定的物理硬件资源。所述方法还包含将与内容的所述存取流相关联的所述硬件资源从存储器恢复到所述多个物理硬件资源中的所述选定的物理硬件资源中。

如果以固件及/或软件来实施,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上。实例包含编码有数据结构的计算机可读媒体及编码有计算机程序的计算机可读媒体。计算机可读媒体包含物理计算机存储媒体。储存媒体可为可由计算机存取的任何可用媒体。借助于实例而不是限制,此类计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于存储呈指令或数据结构形式的所要程序代码并且可通过计算机存取的任何其它媒体;如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD),软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述各者的组合也应包含在计算机可读媒体的范围内。

为了更完整地理解本发明,现参考结合附图进行的以下描述。

图4为展示根据本发明的说明性方面的用于保存及恢复系统MMU转译上下文的方法400的过程流程图。在框410处,确定图形处理单元(GPU)的执行线程是否发布内容的存取流。当检测到内容的发布的存取流时,在框412处,确定与内容的发布的存取流相关联的上下文组是否存储在一组硬件上下文组中的一者内。

在此配置中,控制器110控制ASIC102内的处理单元的操作。内部存储器112存储供ASIC102内的处理单元使用的数据及程序代码。外部接口单元114与ASIC102外部的其它单元介接。一般来说,ASIC102可包含比图1中所展示的处理单元数目更少、更多及/或不同的处理单元。ASIC102中所包含的处理单元的数目及处理单元的类型取决于各种因素,例如无线移动装置100的多处理器系统所支持的通信系统、应用程序及功能。尽管未展示,但无线移动装置100为电池供电的。

可执行GPU操作期间的地址转译以为客户端请求者提供对其相应当前状态及GPU上下文的存取。GPU可包含提供地址转译的系统存储器管理单元(MMU)。明确地说,系统MMU可提供代表多个客户端请求者的地址转译函数。如本文所描述,客户端请求者可为独立的执行线程,其发布存储在系统MMU的物理上下文组内的内容的存取流。如本文所描述,内容的存取流包含由客户端请求者发布的存储器存取请求,且内容的每一存取流与内容的所述存取流所独有的一流识别(ID)相关联。举例来说,客户端请求者可为GPU中的多个双上下文客户端请求者(例如,网络浏览器实例(即,索引标签)、游戏等)。客户端请求者各自能够代表上下文的一或多个流向系统MMU提出请求。每一流可与所述流所独有的一流ID相关联。

ASIC102包含支持多线程图形操作的各种处理单元。对于图1中所展示的配置,ASIC102包含数字信号处理器(DSP)核心118A及118B、处理器核心120A及120B、十字开关116、控制器110、内部存储器112,以及外部接口单元114。DSP核心118A及118B以及处理器核心120A及120B支持各种功能,例如视频、音频、图形、游戏及其类似者。每一处理器核心可为精简指令集计算(RISC)机器、微处理器或某一其它类型的处理器。