用于在虚拟执行环境中进行高效的图形处理的装置和方法

文档序号:9756863阅读:190来源:国知局
用于在虚拟执行环境中进行高效的图形处理的装置和方法
【技术领域】
[0001] 概括来讲,本发明涉及计算机处理器的领域。更加具体而言,本发明涉及一种用于 在虚拟执行环境中进行高效图形处理的装置和方法。
【背景技术】
[0002] 虚拟机系统是包括支持一个或多个虚拟机(VM)的虚拟机监视器(VMM)的计算机 系统。虚拟机监视器是这样一种软件程序,其控制物理计算机硬件,并且将在虚拟机(VM) 内执行的程序呈现出这些程序是在真正的物理计算机硬件上执行的假象。每个VM通常充 当独立的平台,其中,该平台由"客户"操作系统(0S)控制,"客户"操作系统即由VMM托管 的0S,其中VMM如同运行在真正的机器上而不是在VM内那样而执行。
[0003] 在一些实施方式中,虚拟执行环境(例如,VMM)由在计算机硬件上本机地 (natively)执行的"主机"操作系统(0S)来提供。主机0S可以支持多个不同的客户0S, 其中每个客户0S都潜在地运行多个不同的应用程序。在本实施方式中,由主机0S内的逻 辑将由应用程序执行的非本机指令截取、解码并转换为本机指令。然后,将本机指令的结果 从主机0S提供回应用程序。除了非本机通用指令以外,也可以将非本机图形指令截取、解 码并转换成本机图形指令以用于在图形处理单元(GPU)上执行。
[0004] 在移动细分市场,通常有多个共存的平台,并且在一个平台上运行的应用程序不 能在另一个平台上运行。如果单个平台(例如,基于Intel Architecture(IA)的平台)可 以被配置为无论其原本的目标平台而运行任何应用程序,则这将具有重要价值。例如前面 讨论的平台虚拟化是实现该愿景的一个可能的解决方案。然而,为了在虚拟平台上很好地 运行移动应用程序,高效的图形API转换对于实现接近于本机用户体验非常重要。
【附图说明】
[0005] 可以结合以下附图从以下的细节说明中获得对本发明的更好的理解,其中:
[0006] 图1是具有处理器的计算机系统的实施例的方框图,其中处理器具有一个或多个 处理器核心和图形处理器;
[0007] 图2是处理器的一个实施例的方框图,其中处理器具有一个或多个处理器核心、 集成的存储器控制器、以及集成的图形处理器;
[0008] 图3是图形处理器的一个实施例的方框图,其中,图形处理器可以是独立的图形 处理单元,或者可以是和多个处理核心集成的图形处理器;
[0009] 图4是图形处理器的图形处理器引擎的实施例的方框图;
[0010] 图5是图形处理器的另一个实施例的方框图;
[0011] 图6是包括处理元件阵列的线程执行逻辑的方框图;
[0012] 图7示出了根据实施例的图形处理器执行单元的指令格式;
[0013] 图8是图形处理器的另一个实施例的方框图,其中图形处理器包括图形管线、媒 体管线、显示引擎、线程执行逻辑、以及渲染输出管线;
[0014] 图9A是示出了根据实施例的图形处理器命令格式的方框图;
[0015] 图9B是示出了根据实施例的图形处理器命令序列的方框图;
[0016] 图10示出了根据实施例的数据处理系统的示例性图形软件构架;
[0017] 图11示出了包括主机操作系统(0S)和客户0S的示例性系统构架;
[0018] 图12示出了包括推测分组发现逻辑和推测分组执行逻辑的本发明的一个实施 例;
[0019] 图13A示出了用于处理从客户0S生成的返回API调用的机制;
[0020] 图13B示出了本发明的一个实施例,其中返回API调用被分组以进行推测执行;
[0021] 图14示出了用于生成返回API分组的本发明的一个实施例;
[0022] 图15A示出了根据用于生成返回API分组的本发明的一个实施例的方法;
[0023] 图15B示出了根据本发明的一个实施例的用于执行返回API分组的方法;
[0024] 图16示出了采用差异化图形转换的本发明的一个实施例;
[0025] 图17示出了利用传统图形API转换器(GAT)来转换表面的系统;
[0026] 图18示出了本发明的一个实施例,其中增强的GAT减少了表面转换所需的处理;
[0027] 图19示出了在其中表面组合器按照和应用程序的表面相同的方式进行仿真的系 统;
[0028] 图20示出了本发明的一个实施例,其中相对于应用程序的表面而对表面组合器 的表面不同地进行处理;
[0029] 图21示出了用于在主机0S上仿真表面和纹理的系统;
[0030] 图22示出了将客户的表面转换成主机纹理的本发明的一个实施例;
[0031] 图23示出了在一个实施例中采用的用于将客户表面转换成主机纹理的额外的细 节;以及
[0032] 图24示出了包括用于对表面进行推测分组执行、差异化转换、以及纹理渲染的技 术的一个实施例。
【具体实施方式】
[0033] 在以下描述中,出于解释的目的阐述了许多具体细节,以便提供对以下描述的本 发明的实施例的透彻的理解。然而,对于本领域技术人员来说很明显的是,可以在没有这些 具体细节中的一些的情况下实施本发明的实施例。在其他实例中,以框图的形式示出了公 知的结构和设备,以避免模糊本发明的实施例的基本原理。
[0034] 示例性图形处理器构架和数据类型
[0035] 概沭一图 1-3
[0036] 图1是根据实施例的数据处理系统100的方框图。数据处理系统100包括一个或 多个处理器102和一个或多个图形处理器108,并且可以是单处理器桌面系统、多处理器工 作站系统、或具有大量处理器102或处理器核心107的服务器系统。在一个实施例中,数据 处理系统100是用在移动、手持或嵌入式设备中的片上系统集成电路(S0C)。
[0037] 数据处理系统100的实施例可以包括或被包括在基于服务器的游戏平台、游戏控 制台(包括游戏和媒体控制台)、移动游戏控制台、手持游戏控制台、或在线游戏控制台内。 在一个实施例中,数据处理系统100是移动电话、智能电话、平板计算设备或移动互联网设 备。数据处理系统100也可以包括、耦合于或集成在例如智能手表可穿戴设备、智能眼镜可 穿戴设备、增强的现实设备、或虚拟现实设备的可穿戴设备内。在一个实施例中,数据处理 系统100是具有一个或多个处理器102和由一个或多个图形处理器108生成的图形界面的 电视或机顶盒设备。
[0038] 数据处理系统100的实施例可以包括或被包括在基于服务器的游戏平台、游戏控 制台(包括游戏和媒体控制台)、移动游戏控制台、手持游戏控制台、或在线游戏控制台内。 在一个实施例中,数据处理系统100是移动电话、智能电话、平板计算设备或移动互联网设 备。数据处理系统100也可以包括、耦合于或集成在例如智能手表可穿戴设备、智能眼镜可 穿戴设备、增强的现实设备、或虚拟现实设备的可穿戴设备内。在一个实施例中,数据处理 系统100是具有一个或多个处理器102和由一个或多个图形处理器108生成的图形界面的 电视或机顶盒设备。
[0039] 一个或多个处理器102的每个包括用于处理指令的一个或多个处理器核心107, 其中,当指令被执行时,执行系统和用户软件的操作。在一个实施例中,一个或多个处理器 核心107的每一个被配置为处理特定的指令集109。指令集109可以促成复杂指令集计算 (CISC)、精简指令集计算(RISC)、或经由超长指令字(VLIW)的计算。多个处理器核心107 的每个都可以处理不同的指令集109,其中,指令集109可以包括用于促成其他指令集仿真 的指令。处理器核心107也可以包括其他处理设备,例如数字信号处理器(DSP)。
[0040] 在一个实施例中,处理器102包括高速缓存存储器104。根据构架,处理器102可 以具有单个内部高速缓存或多个等级的内部高速缓存。在一个实施例中,高速缓存存储器 在处理器102的多种组件之间被共享。在一个实施例中,处理器102也使用外部高速缓存 (例如,等级3(L3)高速缓存或末级高速缓存(LLC))(未示出),其中所述外部高速缓存可 以使用已知的高速缓存一致性技术而在处理器核心107之间被共享。寄存器文件106另外 包括在处理器102中,其中处理器102可以包括不同类型的寄存器以用于存储不同类型的 数据(例如,整型寄存器、浮点寄存器、状态寄存器、以及指令指针寄存器)。一些寄存器可 以是通用寄存器,而其他寄存器可以特定于处理器102的设计。
[0041] 处理器102耦合至处理器总线110以在处理器102和系统100中的其他组件之间 传输数据信号。系统1〇〇使用包括存储器控制器集线器116和输入输出(I/O)控制器集线 器130的示例性"集线器"系统构架。存储器控制器集线器116促成存储器设备和系统100 的其他组件之间的通信,而I/O控制器集线器(ICH) 130提供经由本地I/O总线到I/O设备 的连接。
[0042] 存储器设备120可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器 (SRAM)设备、闪速存储器设备、或具有合适的性能以充当进程存储器的一些其他存储器设 备。存储器120可以存储数据122和指令121以供当处理器102执行进程时来使用。存储 器控制器集线器116也和可选的外部图形处理器112耦合,其中外部图形处理器112可以 和处理器102中的一个或多个图形处理器108通信,以执行图形和媒体操作。
[0043] ICH 130使得外部设备能够经由高速I/O总线连接至存储器120和处理器102。 I/O外部设备包括音频控制器146、固件接口 128、无线收发器126(例如,Wi-Fi、蓝牙)、 数据存储设备124(例如,硬盘驱动器、闪速存储器等)、以及用于将旧有(例如,个人系统 2(PS/2))设备耦合至系统的旧有I/O控制器。一个或多个通用串行总线(USB)控制器142 连接输入设备,例如键盘和鼠标144组合。网络控制器134也可以耦合至ICH 130。在一个 实施例中,高性能网络控制器(未示出)耦合至处理器总线110。
[0044] 图2是具有一个或多个处理器核心202A-N、集成的存储器控制器214、以及集成的 图形处理器208的处理器200的实施例的方框图。处理器200可以包括额外的核心,该额 外的核心最多为并且包括由虚线方框表示的额外的核心202N。核心202A-N中的每一个包 括一个或多个内部高速缓存单元204A-N。在一个实施例中,每个核心也具有对一个或多个 共享的高速缓存单元206的访问。
[0045] 内部高速缓存单元204A-N和共享的高速缓存单元206表示处理器200内的高速 缓存存储器层级。高速缓存存储器层级可以包括在每个核心内的至少一个等级的指令和数 据高速缓存,以及一个或多个等级的共享的中级高速缓存,例如等级2(L2)、等级3(L3)、等 级4 (L4)、或其他等级的高速缓存,其中在外部存储器之前,最高等级的高速缓存被归类为 末级高速缓存(LLC)。在一个实施例中,高速缓存一致性逻辑在各个高速缓存单元206和 204A-N之间保持一致性。
[0046] 处理器200也可以包括一组一个或多个总线控制器单元216和系统代理210。一 个或多个总线控制器单元管理一组外部总线,例如一个或多个外部组件互连总线(例如, PCI、PCI Express)。系统代理210提供对各种处理器组件的管理功能性。在一个实施例 中,系统代理210包括用于管理对各种外部存储器设备(未示出)的访问的一个或多个集 成的存储器控制器214。
[0047] 在一个实施例中,核心202A-N中的一个或多个包括对同时的多线程的支持。在这 样的实施例中,系统代理210包括在处理多线程的处理期间对核心202A-N进行协调和操作 的组件。系统代理210可以另外包括功率控制单元(PCU),所述功率控制单元包括逻辑和组 件以用于调节核心202A-N和图形处理器208的功率状态。
[0048] 处理器200另外包括用于执行图形处理操作的图形处理器208。在一个实施例中, 图形处理器208与共享的高速缓存单元206耦合,并且与包括一个或多个集成的存储器控 制器214的系统代理单元210耦合。在一个实施例中,显示控制器211与图形处理器208耦 合以将图形处理器输出驱动至一个或多个耦合的显示器。显示控制器211可以是经由至少 一个互连与图形处理器耦合的分立模块,或者可以集成在图形处理器或系统代理210内。
[0049] 在一个实施例中,使用基于环的互连单元212以耦合处理器200的内部组件,然而 可以使用可替换的互连单元,例如点对点互连、交换互连、或包括本领域公知的技术在内的 其他技术。在一个实施例中,图形处理器208经由I/O链路213与环形互连212耦合。
[0050] 示例性I/O链路213表示多种I/O互连中的至少一种,其中所述I/O互连包括促 成各种处理器组件和高性能嵌入式存储器模块(例如,eDRAM模块)218之间的通信的包上 I/O互连。在一个实施例中,核心202A-N中的每一个和图形处理器208都使用嵌入式存储 器模块218作为共享的末级高速缓存。
[0051] 在一个实施例中,核心202A-N是执行相同指令集构架的同构性核心。在另一实施 例中,核心202A-N在指令集构架(ISA)方面是异构性的,其中,核心202A-N的一个或多个 执行第一指令集,而其他核心中的至少一个执行第一指令集的子集或不同的指令集。
[0052] 处理器200可以是使用任何数量的加工技术(例如,互补金属氧化物半导体 (CMOS)、双极/互补金属氧化物半导体(BiCMOS)、或N-型金属氧化物半导体逻辑(NM0S)) 的一个或多个基板的一部分,或可以在所述基板上实现。此外,处理器200可以在一个或多 个芯片上实现,或作为具有除了其他组件之外的示出的组件的片上系统(SOC)集成电路。
[0053] 图3是图形处理器300的一个实施例的方框图,其中,图形处理器300可以是独立 的图形处理单元,或者可以是和多个处理核心集成的图形处理器。在一个实施例中,图形处 理器经由存储器映射I/O接口和图形处理器上的寄存器通信,并且经由命令而被置入处理 器存储器。图形处理器300包括用于访问存储器的存储器接口 314。存储器接口 314可以 是到本地存储器、一个或多个内部高速缓存、一个或多个共享的外部高速缓存、和/或到系 统存储器的接口。
[0054] 图形处理器300也包括用于将显示输出数据驱动到显示设备320的显示控制器 302。显示控制器302包括针对一个或多个叠加平面的、用于对视频或用户界面元素的多层 的显示和组合的硬件。在一个实施例中,
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1