《使用组页面错误描述符来处理上下文切换和进程终止.pdf》由会员分享,可在线阅读,更多相关《使用组页面错误描述符来处理上下文切换和进程终止.pdf(20页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104346224 A (43)申请公布日 2015.02.11 CN 104346224 A (21)申请号 201410384529.8 (22)申请日 2014.08.05 13/958,824 2013.08.05 US G06F 9/48(2006.01) (71)申请人 英特尔公司 地址 美国加利福尼亚州 (72)发明人 A考克 (74)专利代理机构 上海专利商标事务所有限公 司 31100 代理人 张欣 (54) 发明名称 使用组页面错误描述符来处理上下文切换和 进程终止 (57) 摘要 本申请公开使用组页面错误描述符来处理上 下文切换和进程终止的技术。。
2、 根据本申请, 提供多 种方法和系统用以 : 检测图形处理器上的进程的 执行结束, 且响应于该进程的执行结束把组页面 错误描述符提供给操作系统 (OS) 的页面未命中 处理程序, 其中, 组页面错误描述符可以向页面未 命中处理程序指出, 直到满足一个或多个未完成 页面错误请求之前, 图形处理器将不再生成进一 步的页面错误请求。 另外, 可以从页面未命中处理 程序接收到对组页面错误描述符的响应。在一个 示例中, 进程标识符被加入到组页面错误描述符 中, 其中, 进程标识符由组页面错误描述符和一个 或多个未完成页面错误请求所共享。 (30)优先权数据 (51)Int.Cl. 权利要求书 3 页 说。
3、明书 11 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书11页 附图5页 (10)申请公布号 CN 104346224 A CN 104346224 A 1/3 页 2 1. 一种系统, 包括 : 显示器, 其可视地呈现与进程相关联的内容 ; 主控处理器, 其执行操作系统 (OS) ; 以及 图形处理器, 其包括, 监视器, 其检测所述图形处理器上的所述进程的执行结束, 描述符模块, 其响应于所述进程的执行结束把组页面错误描述符提供给所述 OS 的页 面未命中处理程序, 其中, 所述组页面错误描述符用以向所述页面未命中处理程序指出, 直 。
4、到满足一个或多个未完成页面错误请求之前, 不再生成进一步的页面错误请求, 以及 响应模块, 其从所述页面未命中处理程序接收对所述组页面错误描述符的响应。 2. 如权利要求 1 所述的系统, 其特征在于, 所述描述符模块用以把进程标识符加入到 所述组页面错误描述符中, 且其中, 所述进程标识符由所述组页面错误描述符和所述一个 或多个未完成页面错误请求所共享。 3. 如权利要求 1 所述的系统, 其特征在于, 所述监视器用以从所述 OS 接收进程终止通 知以便检测所述进程的执行结束, 所述图形处理器还包括通知模块, 其基于所述对所述组 页面错误描述符的响应生成所述进程的执行结束的通知。 4. 如权。
5、利要求 1 所述的系统, 其特征在于, 所述监视器用以从图形驱动程序或硬件调 度器中的一个或多个接收上下文切换通知, 以便检测所述进程的执行结束, 所述图形处理 器还包括通知模块, 其基于所述对所述组页面错误描述符的响应而标记与所述进程相关联 的上下文的结束。 5. 如权利要求 1 所述的系统, 还包括具有页面请求队列和页面响应队列的输入输出 存储器管理单元 (IOMMU), 其中, 所述图形处理器还包括第一接口, 其用于把所述组页面错 误描述符放置到所述页面请求队列中, 从而把所述组页面错误描述符提供给所述页面未命 中处理程序, 且其中, 所述响应模块包括第二接口, 其用于从所述页面响应队列。
6、检索所述响 应, 从而从所述页面未命中处理程序接收所述响应。 6. 如权利要求 1-5 中任何一项所述的系统, 其特征在于, 所述描述符模块用以确定与 所述进程相关联的最后一次存储器访问的地址, 并把所述地址加入到所述组页面错误描述 符中。 7. 一种管理页面错误的装置, 包括 : 监视器, 其检测图形处理器上的进程的执行结束 ; 描述符模块, 其响应于所述进程的执行结束把组页面错误描述符提供给操作系统 (OS) 的页面未命中处理程序, 其中, 所述组页面错误描述符用以向所述页面未命中处理程序指 出, 直到满足一个或多个未完成页面错误请求之前, 将不再生成进一步的页面错误请求 ; 以 及 响应。
7、模块, 其从所述页面未命中处理程序接收对所述组页面错误描述符的响应。 8. 如权利要求 7 所述的装置, 其特征在于, 所述描述符模块用以把进程标识符加入到 所述组页面错误描述符中, 且其中, 所述进程标识符用以由所述组页面错误描述符和所述 一个或多个未完成页面错误请求所共享。 9. 如权利要求 7 所述的装置, 其特征在于, 所述监视器用以从所述 OS 接收进程终止通 知, 以便检测所述进程的执行结束, 所述装置还包括通知模块, 其基于所述对所述组页面错 权 利 要 求 书 CN 104346224 A 2 2/3 页 3 误描述符的响应而生成所述进程的执行结束的通知。 10. 如权利要求 。
8、7 所述的装置, 其特征在于, 所述监视器用以从图形驱动程序或硬件调 度器中的一个或多个接收上下文切换通知, 以便检测所述进程的执行结束, 所述装置还包 括通知模块, 其基于所述对所述组页面错误描述符的响应而标记与所述进程相关联的上下 文的结束。 11. 如权利要求 7 所述的装置, 还包括第一接口, 所述第一接口把所述组页面错误描 述符放置到输入输出存储器管理单元 (IOMMU) 的页面请求队列中, 以便把所述组页面错误 描述符提供给所述页面未命中处理程序, 其中, 所述响应模块包括第二接口, 所述第二接口 从所述 IOMMU 的页面响应队列检索所述响应, 以便从所述页面未命中处理程序接收所。
9、述响 应。 12.如权利要求7到11中的任何一项所述的装置, 其特征在于, 所述描述符模块用以确 定与所述进程相关联的最后一次存储器访问的地址, 并把所述地址加入到所述组页面错误 描述符中。 13. 一种管理页面错误的方法, 包括 : 检测图形处理器上的进程的执行结束 ; 响应于所述进程的执行结束, 把组页面错误描述符提供给操作系统 (OS) 的页面未命 中处理程序, 其中, 所述组页面错误描述符向所述页面未命中处理程序指出, 直到满足一个 或多个未完成页面错误请求之前, 将不再生成进一步的页面错误请求 ; 以及 从所述页面未命中处理程序接收对所述组页面错误描述符的响应。 14. 如权利要求 。
10、13 所述的方法, 还包括把进程标识符加入到所述组页面错误描述符, 其特征在于, 所述进程标识符由所述组页面错误描述符和所述一个或多个未完成页面错误 请求共享。 15. 如权利要求 13 所述的方法, 其特征在于, 检测所述进程的执行结束包括从所述 OS 接收进程终止通知, 所述方法还包括基于所述对所述组页面错误描述符的响应生成所述进 程的执行结束的通知。 16. 如权利要求 13 所述的方法, 其特征在于, 检测所述进程的执行结束包括从图形驱 动程序或硬件调度器中的一个或多个接收上下文切换通知, 所述方法还包括基于所述对所 述组页面错误描述符的响应标记与所述进程相关联的上下文的结束。 17.。
11、 如权利要求 13 所述的方法, 其特征在于, 把所述组页面错误描述符提供给所述页 面未命中处理程序包括把所述组页面错误描述符放置到输入输出存储器管理单元 (IOMMU) 的页面请求队列, 并且, 从所述页面未命中处理程序接收所述响应包括从所述 IOMMU 的页 面响应队列检索所述响应。 18. 如权利要求 13 到 17 中的任何一项所述的方法, 还包括 : 确定与所述进程相关联的最后一次存储器访问的地址 ; 以及 把所述地址加入到所述组页面错误描述符。 19. 一种管理页面错误的设备, 包括 : 用于检测图形处理器上的进程的执行结束的装置 ; 响应于所述进程的执行结束, 把组页面错误描述符。
12、提供给操作系统 (OS) 的页面未命 中处理程序, 其中, 所述组页面错误描述符用以向所述页面未命中处理程序指出, 直到满足 权 利 要 求 书 CN 104346224 A 3 3/3 页 4 一个或多个未完成页面错误请求之前, 将不再生成进一步的页面错误请求 ; 以及 用于从所述页面未命中处理程序接收对所述组页面错误描述符的响应的装置。 20. 如权利要求 19 所述的设备, 还包括用于把进程标识符加入到所述组页面错误描述 符中的装置, 其中, 所述进程标识符由所述组页面错误描述符和所述一个或多个未完成页 面错误请求所共享。 21. 如权利要求 19 所述的设备, 其特征在于, 检测所述进。
13、程的执行结束包括从所述 OS 接收进程终止通知, 所述设备还包括用于基于所述对所述组页面错误描述符的响应而生成 所述进程的执行结束的通知的装置。 22. 如权利要求 19 所述的设备, 其特征在于, 检测所述进程的执行结束包括从图形驱 动程序或硬件调度器中的一个或多个接收上下文切换通知, 所述装置还包括用于基于所述 对所述组页面错误描述符的响应而标记与所述进程相关联的上下文的结束的装置。 23. 如权利要求 19 所述的设备, 其特征在于, 把所述组页面错误描述符提供给所述页 面未命中处理程序包括把所述组页面错误描述符放置到输入输出存储器管理单元 (IOMMU) 的页面请求队列中, 并且, 从。
14、所述页面未命中处理程序接收所述响应包括从所述 IOMMU 的 页面响应队列检索所述响应。 24. 如权利要求 19 到 23 中的任何一项所述的装置, 还包括 : 用于确定与所述进程相关联的最后一次存储器访问的地址的装置 ; 以及 用于把所述地址加入到所述组页面错误描述符中的装置。 权 利 要 求 书 CN 104346224 A 4 1/11 页 5 使用组页面错误描述符来处理上下文切换和进程终止 技术领域 0001 本申请涉及计算技术, 具体涉及使用组页面错误描述符来处理图形处理器中的上 下文切换和进程终止的技术。 背景技术 0002 在传统的计算系统中, 在软件访问在虚拟存储器空间中映射。
15、但没有加载到物理内 存中的固定长度的毗邻存储器块 ( 例如, 页面 ) 时, 可能发生页面错误和 / 或未命中。最 近的计算系统可以包括在访问虚拟存储器空间中的地址时经历页面错误的图形处理单元 (GPU)。在这样的配置中, GPU 的硬件可以把每一页面错误报告给在系统的中央处理单元 (CPU)上运行的操作系统(OS)。 当OS解决页面错误时, 可以随后把页面错误响应从OS传输 回给GPU。 然而, 如果GPU决定从现有的进程切换上下文到不同的进程或现有的进程遇到终 止条件, 则新的进程上下文和已回收的进程分别可能受到负面影响。 例如, 在上下文切换或 进程终止之后被满足的未完成页面错误可能引起。
16、不正确的调度判决和 / 或系统不稳定性。 这种不稳定性可以随着上下文切换和进程终止增加而确实地增加, 这是因为在常规的解决 方案下要实现跟踪 GPU 硬件上的未完成页面错误是复杂的和困难的。 附图说明 0003 通过阅读下列说明书和所附权利要求, 且通过参考下列附图, 本领域中的技术人 员将明显看出各实施例的各种优点, 附图中 : 0004 图 1 是根据一种实施例使用组页面错误描述符来处理上下文切换和进程终止的 方法的示例的框图 ; 0005 图 2 是根据一种实施例使用组页面错误描述符来处理上下文切换和进程终止的 方法的示例的框图 ; 0006 图 3 是根据一种实施例的逻辑架构 ; 00。
17、07 图 4 是根据一种实施例的系统的框图 ; 0008 图 5 是根据一种实施例具有导航控制器的系统的示例的框图 ; 以及 0009 图 6 是根据一种实施例具有小的形状因子的系统的示例的框图。 具体实施方式 0010 图 1 示出使用组错误描述符来处理图形处理器中的上下文切换和进程终止的方 法。在所说明的示例中, 图形处理器的硬件页面走查器 (walker)10 联合图形相关进程的操 作检测页面未命中 (miss), 图形相关进程诸如为, 例如支持视频和 / 或游戏应用且使用虚 拟化存储器空间来可视地呈现与应用相关联的内容的固定功能进程。 当检测到页面未命中 时, 硬件页面走查器 10 可。
18、以把相应的页面错误请求 12(12a-12c) 放置到页面请求队列 14, 页面请求队列 14 可由操作系统 (OS) 的页面未命中处理程序 16 访问。当 OS 解决页面错误 时, 页面未命中处理程序 16 通常可把响应放置在页面响应队列 18 中, 页面响应队列 18 可 说 明 书 CN 104346224 A 5 2/11 页 6 由硬件页面走查器 10 访问。 0011 通过从OS接收进程终止通知、 从图形驱动器和/或硬件调度器接收上下文切换通 知等等, 可以检测到进程的执行结束。如果硬件页面走查器 10 检测到图形处理器上的进程 的执行结束, 则组页面错误描述符 20 可以被放置到。
19、页面请求队列 14 中, 其中, 组页面错误 描述符 20 向页面未命中处理程序 16 指出, 直到诸如例如页面错误请求的一个或多个未完 成 (outstanding) 页面错误请求被满足 (satisfied) 之前, 将不再生成进一步的页面错误 请求 12。 0012 由于所说明的组页面错误描述符 10 不对应于具体的页面错误, 硬件页面走查器 10 可以确定与结束进程相关联的最后一次存储器访问的地址, 并把该地址加入到组页面错 误描述符中。 这样的方法确保了该地址处于活动进程存储器空间中且可以防止所关切的进 程的致命 (fatal) 处理。此外, 进程标识符 ( 例如, 进程地址空间标识。
20、符 /PASID) 可以被加 入到组页面错误描述符20中, 其中, 进程标识符由组页面错误描述符20和诸如页面错误请 求 12 等的一个或多个未完成页面错误请求共享。所说明的组页面错误描述符 20 因此可以 充当页面请求队列14中的标记, 以使得在接收到对组页面错误描述符的响应20时, 硬件页 面走查器 10 可以清除带有相同的进程标识符的所有先前页面错误请求。 0013 一旦接收到对组页面错误描述符 20 的响应, 硬件页面走查器可以生成进程的执 行结束的通知(例如, 在进程终止的情况下)和/或标记与进程相关联的上下文的结束(例 如, 在上下文切换的情况下)。 如将更详细地讨论的, 使用对组。
21、页面错误描述符20的响应来 处理进程的结束可以为硬件和调度软件两者提供清晰的边界, 以便跟踪错误页面的发展。 结果, 所说明的方法允许用于图形相关进程的更好的性能、 利用和响应性。 0014 现在转到图 2, 示出了使用组页面错误描述符来处理上下文切换和进程终止的方 法 22。可以在可执行软件中把方法 22 实现为被存储在存储器的机器或计算机可读存储 介质中的一组逻辑指令、 可配置逻辑、 固定功能逻辑硬件、 或其任何组合, 其中存储器例如 为随机存取存储器 (RAM)、 只读存储器 (ROM)、 可编程 ROM(PROM)、 固件、 闪速存储器等等, 可配置逻辑诸如例如可编程逻辑阵列 (PLA。
22、)、 现场可编程门阵列 (FPGA)、 复杂可编程逻辑 器件 (CPLD), 固定功能逻辑硬件使用诸如例如专用集成电路 (ASIC)、 互补金属氧化物半导 体 (CMOS) 或晶体管 - 晶体管逻辑 (TTL) 技术等的电路技术。例如, 用于实现方法 22 所示 出的操作的计算机程序代码可以以一种或多种编程语言的任何组合来进行编写, 包括诸如 Java、 Smalltalk、 C+ 等面向对象编程语言, 以及诸如 “C” 编程语言或类似的编程语言之类 的常规过程编程语言。 0015 所说明的框 24 用于检测图形处理器上的进程的执行结束。正如已经指出的, 检测 进程的执行结束可以包括从OS接收。
23、进程终止通知、 图形驱动器和/或硬件调度器接收上下 文切换通知等等。在框 26, 进程标识符可以被加入到组页面错误描述符中, 其中, 进程标识 符可以由组页面错误描述符和一个或多个未完成页面错误请求共享。框 28 可以确定与进 程相关联的最后一次存储器访问的地址, 其中, 在框 30, 该地址也可以被加入到组页面错误 描述符中。 0016 在框 32, 组页面错误描述符可以被提供给 OS 的页面未命中处理程序, 其中, 组页 面错误描述符向页面未命中处理程序指出, 直到已经满足一个或多个未完成页面错误请求 ( 例如, 共享相同的进程标识符的未完成页面错误请求 ), 将不再生成进一步的页面请求。。
24、 说 明 书 CN 104346224 A 6 3/11 页 7 在框 34, 可以做出关于是否已经从页面未命中处理程序接收到对组页面错误描述符的响应 的判断。 如果是这样, 则在框36, 可以做出关于上下文切换是否已经发生的判断。 如果上下 文切换已经发生, 则所说明的框38标记与进程相关联的上下文的结束。 否则, 在框40, 可以 生成进程的执行结束的通知。 因而, 在不考虑系统不稳定性的情况下, 进程可以被配置为用 于另一上下文 ( 例如, 在上下文切换的情况下 ) 或被回收 ( 例如, 在进程终止的情况下 )。 0017 特别值得注意的是, 所说明的框 34 等待直到接收到对组页面错误。
25、描述符的响应, 且不跟踪单独的页面错误响应。 这样的方法可以简化硬件页面走查器的操作并提供优化机 会 ( 例如, 更有效和可靠的上下文切换和进程终止 ), 同时清晰地隔离用于通信的硬件和软 件组件之间的边界。例如, 在进程到期终止时, 软件可以发起该流程, 但可能不具有对于何 时硬件已从该过程清除的清晰指示。在硬件仍然在工作以移除进程的上下文时, 可能仍要 求软件去响应于页面错误, 即使响应意味着把不存在的页面映射到某种 “无效 (dummy)” 位 置。 组错误描述符的使用可以标记其中硬件已经清晰地完成涉及正在终止的进程的所有存 储器访问的边界。 0018 图 3 示出可使用组页面错误描述符。
26、来处理图形处理器中的上下文切换和进程终 止的逻辑架构 42(42a-42d)。架构 42 因此可以实现已经讨论的硬件页面走查器 10( 图 1) 和 / 或方法 22( 图 2) 中的一个或多个方面。在所说明的示例中, 监视器 42a 检测图形处理 器上的进程(例如, 视频应用、 游戏应用等等或其部分)的执行结束。 另外, 描述符模块42b 可以响应于进程的执行结束把组页面错误描述符提供给 OS 的页面未命中处理程序, 其中, 组页面错误描述符向页面未命中处理程序指出, 直到满足一个或多个未完成页面错误请求 之前, 将不再生成进一步的页面错误请求。所说明的架构 42 也包括从页面未命中处理程序。
27、 接收对组页面错误描述符的响应的响应模块 42c。 0019 正如已经指出的, 描述符模块 42b 也可以把进程标识符加入到组页面错误描述符 中, 其中, 进程标识符由组页面错误描述符和一个或多个未完成页面错误请求共享。此外, 描述符模块 42b 可以确定与进程相关联的最后一次存储器访问的地址, 并把地址加入到组 页面错误描述符。 0020 在一个示例中, 监视器 42a 从 OS 接收进程终止通知以检测进程的执行结束, 且通 知模块42d基于对组页面错误描述符的响应生成进程的执行结束的通知。 另外, 监视器42a 可以从图形驱动程序或硬件调度器中的一个或多个接收上下文切换通知, 以检测进程的。
28、执 行结束, 其中, 通知模块 42d 可以基于对组页面错误描述符的响应来标记与进程相关联的 上下文的结束。 0021 输入输出存储器管理单元 (IOMMU) 可以用来在架构 42 和页面未命中处理程序之 间通信。 在这样的情况中, 架构42可以包括第一接口42e, 第一接口42e把组页面错误描述 符放置到页面请求队列 ( 诸如例如 IOMMU 的页面请求队列 14( 图 1) 中, 以便把组页面错 误描述符提供给页面未命中处理程序。 另外, 响应模块42c可以包括第二接口44, 第二接口 44 从诸如例如 IOMMU 的页面响应队列 18( 图 1) 的页面响应队列检索对组页面错误描述符 的。
29、响应, 以便从页面未命中处理程序接收响应。 0022 现在转到图 4, 示出计算系统 46, 其中, 系统 46 可以是移动平台、 任何智能设备或 其任何组合的一部分, 移动平台例如膝上型计算机、 移动因特网设备 (MID)、 个人数字助理 (PDA)、 媒体播放器、 成像设备等等, 智能设备例如智能电话、 智能平板、 智能 TV( 电视 ) 等 说 明 书 CN 104346224 A 7 4/11 页 8 等。系统 46 也可以是诸如个人计算机 (PC)、 服务器、 工作站等等的固定式平台的一部分。 所说明的系统46包括带有集成存储器控制器(iMC)50的中央处理单元(CPU, 例如主控处。
30、理 器 )48, 集成存储器控制器 (iMC)50 提供对系统存储器 52 的访问权, 系统存储器 52 可以包 括例如双倍数据率 (DDR)、 同步动态随机存取存储器 (SDRAM, 例如, 2008 年 4 月 JEDEC 标准 JESD79-3C 的 DDR3SDRAM) 模块。系统存储器 52 的各模块可以被加入到例如单列直插式存 储器模块 (SIMM)、 双列直插式存储器模块 (DIMM)、 小外形 DIMM(SODIMM) 等等。在一个示例 中, iMC50 包括具有页面请求队列和页面响应队列的 IOMMU。 0023 CPU48也可以具有一个或多个驱动器54和/或处理器核心(未示。
31、出), 其中每一核 心可以是全功能的, 带有指令取出单元、 指令解码器、 一级 (L1) 高速缓存、 执行单元等等。 CPU48可以替代地经由互连系统46中的每一组件的前端总线或点对点织物与iMC50的片外 变型(也称为北桥)通信。 CPU48也可以执行具有页面未命中处理程序的操作系统(OS)56。 0024 所说明的CPU48经由总线与输入/输出(IO)模块58(也称为南桥)通信。 iMC50/ CPU48 和 IO 模块 58 有时被称为芯片组。CPU48 也可以通过 IO 模块 58 和各种其他控制器 64 经由网络端口操作上连接到网络 ( 未示出 )。因而, 其他控制器 64 可以提供。
32、用于多种多 样的目的的平台外通信功能, 例如有线通信或无线通信, 包括但不限于蜂窝式电话 ( 例如, 宽带码分多址, W-CDMA( 通用移动电信系统 /UMTS)、 CDMA2000(IS-856/IS-2000) 等等 )、 Wi-Fi( 无线保真度, 例如, 电气和电子工程师学会 /IEEE802.11, 2007 版 )、 蓝牙 ( 例如, IEEE802.15.1-2005, 无线个域网 )、 WiMax( 例如, IEEE802.16-2004)、 全球定位系统 (GPS)、 散布谱 ( 例如, 900MHz) 和其他射频 (RF) 技术用途。IO 模块 58 也可以与显示器 60。
33、 通信, 以提供视频、 图像和其他内容的可视输出 / 呈现。其他控制器 64 也可以与 IO 模块 58 通 信, 以提供对诸如键区、 鼠标等等的用户接口设备 ( 未示出 ) 的支持, 以便允许用户与系统 46 交互并感知来自系统 46 的信息。 0025 IO 模块 58 也可以具有内部控制器 ( 未示出 ), 例如 USB( 通用串行总线, 例如, USB 规范 2.0, USB 实现者论坛 )、 串行 ATA(SATA, 例如, SATA Rev.3.0 规范, 2009 年 5 月 27 日, SATA 国际组织 /SATA-IO)、 高清音频和其他控制器。所说明的 IO 模块 58 。
34、还被耦合到存储, 存储可以包括硬盘驱动器 62、 只读存储器 (ROM)、 光盘、 闪速存储器 ( 未示出 ) 等等。 0026 所说明的系统46还包括耦合到专用图形存储器68的专用图形处理单元(GPU)66。 专用图形存储器 68 可以包括例如 GDDR( 图形 DDR) 或 DDRSDRAM 模块或适用于支持图形渲 染的任何其他存储器技术。GPU66 和图形存储器 68 可以被安装在图形 / 视频卡上, 其中, GPU66 可以经由图形总线 70 与 CPU48 通信, 图形总线 70 例如 PCI Express 图形 (PEG, 例 如, 外围组件互连 /PCI Express x16。
35、 图形 150W-ATX 规范 1.0, PCI 特别兴趣组 ) 总线或加 速图形端口 ( 例如, AGP V3.0 接口规范, 2002 年 9 月 ) 总线。图形卡可以被集成到系统主 板上、 集成到主 CPU48 管芯中、 配置成主板上的独立板卡等等。GPU66 也可以执行一个或多 个驱动器72, 且可以包括硬件调度器76、 硬件页面走查器78和存储指令和其他数据的内部 高速缓存 74。 0027 正如已经讨论的, 硬件页面走查器 78 可以具有监视器和描述符模块, 监视器检测 在 GPU66 上的进程的执行结束, 描述符模块响应于进程的执行结束把组页面错误描述符提 供给 OS56 的页面。
36、未命中处理程序。组页面错误描述符可以向页面未命中处理程序指出, 直到满足一个或多个未完成页面错误请求之前, 将不再由 GPU66 生成进一步的页面错误请 说 明 书 CN 104346224 A 8 5/11 页 9 求。另外, 硬件页面走查器 78 可以包括响应模块, 该响应模块从页面未命中处理程序接收 对组页面错误描述符的响应。 0028 在一个示例中, 硬件页面走查器 78 的描述符模块把进程标识符加入到组页面错 误描述符中, 其中, 每一进程标识符由组页面错误描述符和一个或多个未完成页面错误请 求共享。 另外, 描述符模块可以确定与进程相关联的最后一次存储器访问的地址, 并把该地 址加。
37、入到组页面错误描述符中。 0029 此外, 如果硬件页面走查器 78 的监视器通过从 OS56 接收进程终止通知而检测到 给定进程的执行结束, 则硬件页面走查器 78 的通知模块可以基于对相应的组页面错误描 述符的响应生成该进程的执行结束的通知。另外, 如果硬件页面走查器 78 的监视器通过从 图形驱动器 72 和 / 或硬件调度器 76 接收上下文切换通知而检测到给定进程的执行结束, 则硬件页面走查器 78 的通知模块可以基于对组页面错误检测器的响应标记与进程相关联 的上下文的结束。 0030 图5说明系统700的实施例。 在各实施例中, 系统700可以是媒体系统, 但系统700 不限于这种。
38、上下文。例如, 系统 700 可以被加入到个人计算机 (PC)、 膝上型计算机、 超膝上 型计算机、 平板、 触控板、 便携式计算机、 手持式计算机、 掌上计算机、 个人数字助理 (PDA)、 蜂窝式电话、 组合蜂窝式电话 /PDA、 电视、 智能设备 ( 例如、 智能电话、 智能平板或智能电 视 )、 移动因特网设备 (MID)、 通讯设备、 数据通信设备等等。因而, 系统 700 可以被用来如 本文所描述的呈现图像。 0031 在各实施例中, 系统 700 包括耦合到显示器 720 的平台 702。平台 702 可以从诸如 ( 多个 ) 内容服务设备 730 或 ( 多个 ) 内容递送设备。
39、 740 或其他相似的内容源等的内容设 备接收视频比特流内容。包括一个或多个导航特征的导航控制器 750 可以被用来例如与平 台 702 和 / 或显示器 720 交互。下面更详细地描述这些组件中的每一个。 0032 在各实施例中, 平台 702 可以包括芯片组 705、 处理器 710、 存储器 712、 存储 714、 图形子系统 715、 应用 716 和 / 或无线电 718 的任何组合。芯片组 705 可以提供在处理器 710、 存储器 712、 存储 714、 图形子系统 715、 应用 716 和 / 或无线电 718 之间的相互通信。 例如, 芯片组 705 可以包括能够提供与。
40、存储 714 的相互通信的存储适配器 ( 未叙述 )。 0033 处理器 710 可以被实现为复杂指令集计算机 (CISC) 或精简指令集计算机 (RISC) 处理器、 x86 指令集兼容的处理器、 多核心或任何其他微处理器或中央处理单元 (CPU)。在 各实施例中, 处理器 710 可以包括 ( 多个 ) 双核处理器、 ( 多个 ) 双核移动处理器等等。 0034 存储器 712 可以被实现为易失性存储器设备, 例如但不限于随机存取存储器 (RAM)、 动态随机存取存储器 (DRAM) 或静态 RAM(SRAM)。 0035 存储 714 可以被实现为非易失性存储设备, 例如但不限于磁盘驱动。
41、器、 光盘驱动 器、 磁带驱动器、 内部存储设备、 附加的存储设备、 闪速存储器、 电池供电的 SDRAM( 同步的 DRAM)和/或网络可访问的存储设备。 在各实施例中, 例如, 在包括多个硬盘驱动器时, 存储 714 可以包括用以提高对于有价值的数字媒体的存储性能增强保护的技术。 0036 图形子系统 715 可以执行诸如用于显示的静态或视频等的图像的处理。例如, 图 形子系统 715 可以是图形处理单元 (GPU) 或已经讨论的可视处理单元 (VPU)。图形子系统 715 因此可包括已经讨论的 GPU 66( 图 4)。另外, 经由从存储器 712、 存储 714 或其他合适 的源获得的。
42、指令, 处理器 710 可以被配置成操作为已经讨论的 CPU 48( 图 4)。模拟或数字 说 明 书 CN 104346224 A 9 6/11 页 10 接口可以被用来通信地把图形子系统 715 和显示器 720 耦合起来。例如, 该接口可以是高 清多媒体接口、 显示端口 (DisplayPort)、 无线 HDMI 和 / 或无线 HD 兼容技术中的任何。图 形子系统 715 可以被集成到处理器 710 或芯片组 705 中。图形子系统 715 可以是通信地耦 合到芯片组 705 的独立板卡。 0037 在此描述的图形和/或视频处理技术可以以各种硬件架构实现。 例如, 图形和/或 视频功。
43、能性可以被集成在芯片组内。替代地, 可以使用分离的图形和 / 或视频处理器。作 为又一种实施例, 图形和 / 或视频功能可以由包括多核心处理器的通用处理器实现。在进 一步的实施例中, 可以在消费性电子设备中实现各种功能。 0038 无线电 718 可以包括能够使用各种合适的无线通信技术传送和接收信号的一个 或多个无线电。这样的技术可以涉及跨越一个或多个无线网络的通信。示例性无线网络包 括(但不限于)无线局域网(WLAN)、 无线个域网(WPAN)、 无线城域网(WMAN)、 蜂窝式网络和 卫星网络。在跨越这样的网络通信时, 无线电 718 可以根据任何版本的一个或多个适用标 准操作。 0039。
44、 在各实施例中, 显示器720可以包括任何电视型监视器或显示器。 显示器720可以 包括例如计算机显示器屏幕、 触摸屏幕显示器、 视频监视器、 类似电视的设备和 / 或电视。 显示器 720 可以是数字显示器和 / 或模拟显示器。在各实施例中, 显示器 720 可以是全息 显示器。而且, 显示器 720 可以是可接收可视投影的透明面板。这样的投影可以表达各种 形式的信息、 图像和 / 或对象。例如, 这样的投影可以是用于移动增强现实 (MAR) 应用的可 视覆盖。在一个或多个软件应用 716 的控制下, 平台 702 可以在显示器 720 上显示用户界 面 722。 0040 在各实施例中, 。
45、( 多个 ) 内容服务设备 730 可以由任何国家的、 国际的和 / 或独立 的服务主控, 且因而例如可由经由因特网平台 702 访问。( 多个 ) 内容服务设备 730 可以被 耦合到平台 702 和 / 或显示器 720。( 多个 ) 平台 702 和 / 或内容服务设备 730 可以被耦 合到网络 760 以便传输 ( 例如, 发送和 / 或接收 ) 去往和来自网络 760 的媒体信息。( 多 个 ) 内容递送设备 740 也可以被耦合到平台 702 和 / 或显示器 720。 0041 在各实施例中, (多个)内容服务设备730可包括有线电视机顶盒、 个人计算机、 网 络、 电话、 互。
46、联网启用设备或能够传递数字信息和 / 或内容的设施, 以及能够经由网络 760 或直接地在内容提供者和平台 702 和 / 显示器 720 之间单向或双向地交换内容的任何其它 类似设备。应理解, 内容可以通过网络 760 单向地和 / 或双向地传递往返于系统 700 中的 组件中的任何一个和内容提供商。 内容的示例可以包括任何媒体信息, 包括, 例如, 视频、 音 乐、 医疗和游戏信息等等。 0042 ( 多个 ) 内容服务设备 730 接收内容, 诸如包括媒体信息、 数字信息和 / 或其他内 容的有线电视节目。 内容提供商的示例可以包括任何有线或卫星电视或电台或因特网内容 提供商。所提供的示。
47、例不旨在限制各实施例。 0043 在各实施例中, 平台 702 可从具有一个或多个导航特征的导航控制器 750 接收控 制信号。控制器 750 的导航特征可以被用来例如与用户界面 722 交互。在各实施例中, 导 航控制器 750 可以是定点设备, 该定点设备可以是允许用户将空间 ( 例如连续和多维 ) 数 据输入到计算机中的计算机硬件组件 ( 具体地说是人机接口设备 )。诸如图形用户界面 (GUI)、 电视机和监视器之类的许多系统可使用户使用物理手势控制并向计算机或电视机 说 明 书 CN 104346224 A 10 7/11 页 11 提供数据。 0044 控制器 750 的导航特征的移。
48、动可以通过指针、 光标、 焦点环或显示在显示器上的 其他可视指示器而反映到显示器 ( 例如, 显示器 720) 上。例如, 在软件应用 716 的控制下, 位于导航控制器 750 上的导航特征可以被映射到例如用户界面 722 上显示的虚拟导航特 征。在各实施例中, 控制器 750 可以不是单独的组件, 而是集成到平台 702 和 / 或显示器 720 上。然而, 各实施例并不限于本文中示出或描述的这些元件或上下文。 0045 在各实施例中, 驱动器(未示出)可包括技术, 该技术用以例如, 在被启用时, 允许 用户在最初引导之后通过触摸按钮立刻开启和关闭类似电视机的平台 702( 例如在被启用 。
49、时 )。在平台被 “关闭” 时, 程序逻辑可以允许平台 702 将内容流传输到媒体适配器或其他 ( 多个 ) 内容服务设备 730 或内容递送设备 ( 多个 )740。另外, 芯片组 705 可包括, 例如, 对 5.1 环绕音频和 / 或高清 7.1 环绕音频的硬件和 / 或软件支持。各驱动程序可以包括用 于集成图形平台的图形驱动程序。 在各实施例中, 图形驱动器可以包括外围组件互连(PCI) Express 图形卡。 0046 在各种实施例中, 可以集成系统 700 中所示组件中的任意一个或多个。例如, 可以 集成平台 702 和 ( 多个 ) 内容服务设备 730, 或者, 可以集成平台 702 和 ( 多个 ) 内容递送 设备 740, 或者, 例如可以集成平台 702、 ( 多个 ) 内容服务设备 730 和 ( 多个 ) 内容递送设 备 740。在各种实施例中, 平台 702 和显示器 720 可以是集成单元。可以集成显示器 720 和 ( 多个 ) 内容服务设备 730, 或者, 例如, 可以集成显示器 720 和 ( 多个 ) 内容递送设备 740。 这些示例不旨在限制各实施例。。