在cpu和gpu之间共享资源的制作方法

文档序号:6341345阅读:290来源:国知局
专利名称:在cpu和gpu之间共享资源的制作方法
技术领域
本发明的实施例总地涉及信息处理领域,更具体地涉及在例如中央处理单元 (CPU)、图形处理单元(GPU)或前述两者的处理器内共享计算资源的领域。
背景技术
随着更多的应用程序继续利用多处理系统和微处理器的并行处理能力,对基于所 做工作的类型共享计算资源的需求也在增长。例如,并行程序可利用专门的处理硬件,例如 GPU,而更加按顺序执行的程序可利用通用CPU。由于并行操作和顺序操作在现代程序中出 现地越来越多,因此同时或连续地利用CPU和GPU资源将有助于针对正在运行的操作或程 序类型优化计算资源。


本发明的实施例在各附图中是作为示例而非作为限定示出的,在附图中相同的附 图标记指代相同的要素,在附图中图1示出其中可以使用本发明的至少一个实施例的多处理器系统的框图。图2示出根据一个实施例的共享资源的CPU和GPU。图3示出根据一个实施例的3D图形渲染流水线。图4示出根据一个实施例由数个处理器核共享的浮点逻辑。图5是根据至少一个实施例使用的操作的流程图。图6示出其中可采用至少一个实施例的共享互连系统。图7示出其中可以使用本发明的至少一个实施例的点对点互连计算机系统。
具体实施例方式本发明的实施例涉及处理设备和系统,包括那些可处理并行或“吞吐 (throughput),,应用以及更加按顺序执行程序的处理设备和系统。一些实施例包括至少 两个处理单元,例如用以运行更按顺序代码的CPU和用以运行例如3D图形、科学或财务 程序的更并行代码的GPU,所述更并行代码利用例如单指令多数据(SIMD)或“packed (打 包)”或“vecto (矢量)”指令来使用并行处理。在一个实施例中,将程序写入而不提及下 层处理资源(CPU或GPU),并可由硬件本身、例如驱动器或驱动类程序或虚拟机管理器或 “hypervisor (管理程序),,的中间件软件作出什么处理资源能最好地用来执行程序的指令 或线程的判断。此外,在一些实施例中,运行在CPU或GPU上的线程或指令组可利用例如 CPU或GPU的其它处理资源的可用处理能力,用于由线程或指令执行的各个操作部分,要么 通过共享的存储器空间要么直接在直接链路互连上共享信息。多种类型的操作和程序可利用其中在GPU和CPU之间共享任务的实施例,所述任 务包括根据GPU运算“流水线”执行操作的3D图形渲染程序。例如,平截头体裁剪是许多3D 图形应用中使用的操作,用来确定在任何给定时间哪些多边形出现在平截头体中。这可能是非常计算密集的操作,并且不一定是需要GPU并行资源的操作。因此,在一个实施例中, 平截头体裁剪中操作的一些或全部操作可能对具有可用处理能力的CPU来说是“空载的”, 同时GPU执行其它操作。CPU执行平截头体裁剪所需的数据可以要么直接通过直接链路从 GPU向CPU发送要么通过例如PCI存储器或共享高速缓存等共享存储器空间发送。平截头 体裁剪的结果然后可通过共享存储或直接链路从CPU返回到GPU,而GPU随后用来自CPU 的平截头体裁剪结果继续渲染场景。在一个实施例中,这种资源共享的控制受CPU和/或 GPU(或两者外的逻辑)中的逻辑控制,而在其它实施例中,资源的共享可受例如驱动器、管 理程序等中间件软件控制,以使用户软件不知道资源共享。本发明的实施例允许软件应用在与多处理器对应的多存储结构中访问和存储信 息。当处理利用单指令多数据(SIMD)或多指令多数据(MIMD)操作的并行指令或应用时, 这在某些情形下是有益的,因为每个SIMD或MIMD操作能从共享的存储器结构访问操作数 数据元而不涉及它们所在的具体存储器结构。这对诸如能同时对大段信息执行操作的3D 图形或财务应用之类的应用来说可能特别有益。然而,对于一些利用存储在数个不同位置 中的信息的传统的更按顺序的CPU应用,这也是有益的。在一些实施例中,程序或线程可运行在CPU上,其包含适于在GPU进行处理的部 分。在这种情形下,可运行在GPU上的指令或线程可按如前述的类似方式在GPU上执行,然 后其结果可返回到CPU以作进一步处理。例如,由于GPU通常包括非常并行性的浮点资源, 因此在CPU上调度的浮点指令可通过共享存储器或直接链路传输至GPU并在CPU运行其它 指令的同时执行。浮点操作随后可在共享存储器或直接链路上将其结果返回给CPU,而CPU 随后可将这些结果纳入在程序中执行的操作的剩余部分。在一个实施例中,CPU不包含浮 点资源或者包含非常少的浮点资源并基本依赖GPU的浮点资源,因此GPU和CPU共享浮点 资源。在一些实施例中,在根据分段——例如“页面”——组织或访问存储器的情形下, 访问页面的处理器(或存储器接口逻辑)可维持结构(例如“页面表”)以将特定存储器结 构的叶片大小或构成映射到处理器或存储器控制器的分页尺寸或机制中。例如,在一个实 施例中,处理器或存储器控制器可将特定存储器的物理页面映射到一组数个虚拟页面上, 处理器或存储器控制器可响应于访问页面的程序来打开或关闭该虚拟页面。由于在一些实施例中,每个处理器或存储器接口可访问其它存储器结构,该存储 器结构可受另一处理器存储器接口控制或以其它方式对应于另一处理器存储器接口,处理 器/存储器控制器之间可能需要一些通信以维持每个处理器或存储器控制器的页面状态 (打开/关闭)之间的一致性。在一个实施例中,η宽互连结构(其中“η”可指示信道/引 脚/通道/迹线的可变数目,从1到更多)可用来在各处理器或存储器控制器之间传达页 面状态,以使一个处理器不关闭另一处理器可能需要访问的存储器页面。通过在各处理器 (例如GPU和CPU)或访问一个或多个存储器的存储器控制器之间传达页面状态,可避免不 必要的页面打开或关闭操作,由此提高各处理器或存储器控制器之间的访问能力。此外,在 一些实施例中,η宽互连可以是相对低的带宽,从而不需要不相称的引脚、电力或其它资源。较为有利地,本发明的实施例可允许应用运行在多个处理器上而不涉及数据被存 储或拟被存储的存储器设备。这在例如一个图形处理器渲染一半屏幕像素而另一图形处理 器渲染另一半屏幕像素的图形应用中尤为有用。在这种情况下,落在边界上的三角形在过滤时可能造成延时,由于一个处理器将需要访问来自一个存储器的毗邻的texil信息(对 应于相应处理器半屏上的texil)而另一处理器需要访问来自另一存储器的毗邻的texil 信息(对应于相应处理器半屏上的texil)。在这种情形下,需要来自非对应存储器的信息 的处理器可能需要通过相应处理器对其作出请求,所述相应处理器必须将信息返回给请求 处理器,这消耗带宽,并在处理器之间要求相对高的带宽总线。否则,软件开发者可能必须 对存储数据的位置作出限定,这会非常难,尤其是在渲染跨边界三角形的情况下。在一个实施例中,页面表将由软件提供的地址映射到两存储器中与用于执行吞吐 程序的两处理器对应的位置。特别地,页面表使用地址位来访问表目,所述表目包含存储在 两存储器交替位置的信息的地址。因此,当软件存储或访问信息时,页面表自动将访问路由 至合适的存储器而不要求软件(OS或应用)了解或关注信息实际存储在什么地方。如此, 可以交替方式从任一存储器以极高速度访问信息,由此使每个处理器存储接口的带宽最大 化并避免相对高的带宽总线支持跨存储器/处理器访问。在一些实施例中,多个处理器(例如CPU和GPU)可通过以有效方式管理请求—— 例如使用一致性过滤器——来将数据提供给请求应用。在一个实施例中,一致性过滤器可 包括与一个或多个处理器对应并可由其访问的一个或多个一致性表或其它结构,以使运行 在一个处理器上的应用对数据的请求造成该处理器访问指示当前可由另一处理器访问的 数据地址的表(例如处理器高速缓存、缓存器中的相对物,或处理器的相应存储器中当前 打开的页面中的其它结构)。如果所请求数据的最近版本驻留在其它处理器的高速缓存中, 则接收请求的处理器可向其它处理器发信号以将请求的数据返回给请求应用,或者接收请 求的处理器可在η宽处理器间互连上从处理器检索数据。在一些实施例中,每个处理器可 包括多个处理器,在这种情形下每个处理器可与一处理器插槽对应。在一些实施例中,前述技术可应用于具有相同类型(CPU)或不同类型(CPU和GPU) 的两个、四个、八个或更多个处理器或核的处理器或系统或其它加速器。此外,本发明的实 施例可应用于数个不同系统或处理配置或应用,包括通用计算机、图形游戏控制台、图形卡 应用等。在一个实施例中,本文描述的技术涉及用于运行3D图形或例如财务应用、医疗应 用、成像应用的其它应用的一个或多个处理器。在其它实施例中,本文描述的技术可与通用 CPU协同使用以运行顺序或更传统的工作负载。在又一实施例中,本文描述的技术可与混合 型处理器协同使用,该混合型处理器设计成运行传统CPU工作负载和吞吐应用两者,例如 包含传统CPU和图形专用逻辑的处理器(CPU+GPU)。在一个实施例中,本文描述的技术与具 有数个CPU处理器核、能执行SIMD指令、与例如图形纹理采样逻辑之类的并行应用专用逻 辑一同耦合于互连的一个或多个处理器协同使用。图1示出其中可以使用本发明的至少一个实施例的微处理器。图1示出可用于传 统CPU应用、吞吐应用(例如3D图形应用)或传统CPU与吞吐应用的组合的处理器。处理 器100包括沿环形互连130构造的数个处理器核110-1至110-N、专用吞吐应用硬件110 (例 如图形纹理采样硬件)、存储器接口逻辑120。在一些实施例中,处理器100可包括一个或 多个末级高速缓存135,该末级高速缓存135包含来自每个核100-1至100-N内的高速缓 存101-1至101-N的信息。在一些实施例中,一个或多个处理器核100-1至100-N能执行 SIMD操作。在一个实施例中,每个CPU能通过在共享存储器或直接链路(或图1所示实施例中的环形链路)上传输这些操作而在GPU硬件上执行一些调度操作。相反,可使用相似的 机制将图形硬件上调度的操作传输至可用的CPU。在一些实施例中,可从对应于另一处理器(未示出)的其它存储器访问例如图形 纹理的信息或其它需要相对大量存储器带宽的信息,而不需要应用软件了解或关注其中存 储信息的存储器。在一些实施例中,处理器100可包括比图1所示更多或更少的存储器控 制器。另外,图1的存储器控制器可在处理器100内部或在处理器100外部。图2示出根据一个实施例的共享资源的GPU和CPU。在一个实施例中,CPU201主 要用来运行更按顺序的程序,而GPU 205用来运行更并行的程序。在一个实施例中,在CPU 或GPU上调度的指令可使用共享存储210在CPU和GPU之间转移或“迁移”。在一个实施例 中,共享存储是列举为PCI共享存储器的存储器的某个区域,在其中CPU或GPU可写入和读 取与迁移的指令关联的信息。例如在其中图形操作由GPU执行的一个实施例中,如果CPU 可用则通过将要由该CPU执行的指令和数据写至共享存储器并通过CPU和GPU之间的中断 或其它直接链路指示CPU应当从共享存储器资源读取信息并执行其中指示的操作来将一 部分图形操作传输至CPU以供处理。在一个实施例中,GPU随后可在CPU正在处理传输任务 的同时继续处理其它操作。当CPU完成任务时,可将其结果写至共享存储器并通过中断或 直接通信链路向GPU指示结果可用,以使GPU可读取结果并将其纳入图形渲染流水线。在 一个实施例中,可进行共享存储器资源的相反使用,其中CPU执行其中一些可由GPU执行的 操作。在一个实施例中,直接链路215用来共享在CPU和GPU之间传输(而不是例如使用 共享存储器)的任一信息和/或向彼此发信来告知共享存储器中的信息可用。在一个实施 例中,直接链路用来共享页面信息以使一个处理器不关闭另一处理器可能需要的页面。在 一个实施例中,CPU和GPU之间的资源共享受CPU、GPU中或CPU和GPU中或处于系统其它 位置的逻辑控制。在一些实施例中,资源共享受中间件、驱动器或驱动器类软件或虚拟机管 理器或管理程序控制。较为有利地,可在不使应用软件或OS 了解关于资源共享的任何事的 情况下使用实施例。在一个实施例中,一部分图形API可控制CPU和GPU资源的共享。特 别地,了解潜在资源的API可基于在图形渲染流水线中执行的操作来利用资源。图3示出根据一个实施例的图形渲染流水线。在一个实施例中,图3的图形渲染 流水线包括输入汇编级301、顶点阴影级305、几何阴影级310、流输出级315、光栅化级320、 像素阴影级325、输出合并级330。另外,图形渲染流水线可利用共享存储器资源,例如位于 共享存储器资源335中的缓存器。在一个实施例中,一个或多个图3所示的图形渲染流水线级或其一部分可根据要 执行的操作和硬件资源的可用性而被传输至CPU资源或另一 GPU资源。例如,在一个实施 例中,通过例如使用共享存储器资源由API向CPU传输或调度指令而由具有可用硬件资源 的CPU执行顶点阴影级。一旦CPU已完成这些操作,则CPU可使用共享存储器资源将其结 果传输至GPU。在一个实施例中,API或其它软件可调度要在CPU上执行的指令和在GPU上 的一些,其中CPU和GPU各自具有其本身的调度逻辑或共享的调度逻辑和共享的资源,例如 浮点逻辑。在一个实施例中,可在整型逻辑(它位于CPU内)上调度整型操作并在浮点逻 辑(它位于GPU内)上调度浮点操作。图4示出其中CPU和GPU共享浮点和整型资源的一个实施例。具体地说,图4示出处理器400,该处理器400具有用于取指令的取逻辑401、用于解码指令的解码逻辑405、 用于存储由指令使用的数据的Ll数据高速缓存410a-b、由多个代理使用的共享L2高速缓 存415和共享L3高速缓存420。另外,图4示出用以执行整型指令的整型执行资源425a_h 和用以执行浮点指令的浮点执行资源430a-b。此外,在一个实施例中,浮点执行资源和整型 执行资源具有其本身的专用调度逻辑435a-b和440。在一个实施例中,浮点资源包括128 位浮点乘法累加(FMAC)逻辑。在一些实施例中,调度资源是至少部分共享的。在一个实施例中,需要浮点资源的指令可使用浮点调度器在浮点资源上调度,而 需要整型执行资源的指令可使用整型调度器在整型执行单元上调度。在一个实施例中,管 理程序、中间件、驱动器或API可与通过整型调度器在整型执行资源上调度的整型指令同 时或串行地使用浮点调度器逻辑在浮点执行单元上调度需要浮点资源的部分程序。在一个 实施例中,图4示出CPU,在其它实施例中,图4示出GPU,而在又一些实施例中,图4是CPU 禾口 GPU0图5是示出可根据一个实施例执行的操作的流程图。在501,可在GPU或CPU上调 度指令。在操作505,在GPU或CPU上调度的指令通过将信息写至共享存储器或直接链路而 使用共享存储器或直接链路来共享信息。在操作510,共享信息的用户从共享存储器或直接 链路读取信息。在其他实施例中,可执行其他的操作。图6例如示出其中可以使用本发明的一个实施例的共享总线计算机系统(例如前 端总线(FSB)计算机系统)。任何处理器601、605、610或615可包括不对称核(在性能、 功率、工作电压、时钟速率或ISA方面有差异),这些不对称核可访问来自在处理器核623、 627、633、637、643、647、653、657中的一个或与之关联的任何本地级I(Ll)高速缓存620、 625、630、635、640、645,650,655的信息。此外,任何处理器601,605,610或615可经由芯 片集665访问来自共享级2 (L2)高速缓存603、607、613、617中的任一个或来自系统存储器 660的信息。本发明的实施例可存在于图6所示的任何处理器或代理中。例如,逻辑619可纳 入任一或全部处理器623、627、633、637、643、647、653、657中,以执行至少一个实施例的各 个方面。具体地说,逻辑619可用来检测、传输和解释来自系统中其它代理的信号以确定是 打开还是关闭存储器页面,这取决于页面是否当前正由另一代理访问。在其它实施例中,逻 辑619分布在多个代理之间。仍在其它实施例中,逻辑660可包括软件、硬件或前面两者的 一些组合形式。除图6所示的FSB计算机系统之外,可以结合本发明的各实施例使用其它系统配 置,包括点对点(P2P)互连系统和环形互连系统。图7的P2P系统例如可包括若干处理器, 其中作为示例仅示出了两个处理器770、780。处理器770、780可各自包括本地存储器控制 器中枢(MCH) 772、782以与存储器72、74连接。处理器770可使用PtP接口电路778、788 经由点对点(PtP)接口 750交换数据。处理器770、780可各自使用点对点接口电路776、 794、786、798经由各PtP接口 752、754与芯片集790交换数据。芯片集790也可经由高性 能图形接口 739与高性能图形电路738交换数据。本发明的实施例可包含在图7中的任意处理器或代理中。例如,逻辑799可纳入到 处理器770、780中的任意一者或两者内,用来实现至少一个实施例的各个方面。具体地说, 逻辑799可用来检测、传输和解释来自系统中其它代理的信号以确定是打开还是关闭存储器页面,这取决于页面是否当前正由另一代理访问。在其它实施例中,逻辑799分布在多个 代理之间。然而在其它实施例中,逻辑799可包括软件、硬件或前面两者的一些组合形式。许多不同类型的处理设备可从这类进程重分配技术的使用而获益。例如,处理单 元600-1至600-N可以是通用处理器(例如微处理器)或可以是(单芯片上)多核微处理 器的微处理器核。替代地,可用于具有多个并行单元或核的系统中的数字信号处理器、图形 处理器、网络处理器或任何类型的专用处理器可从热(或功率)致使的处理单元间的进程 换位而获益。处理单元或处理器可以是相同的或至少具有部分功能重叠。即,每个处理单 元具有一些共同的指令或命令集,因此存在可在一个以上的处理单元或处理器上执行的至 少一些(如果不是全部)进程。在其它实施例中,处理单元可以是不对称的,由于它们具有 不同性能、晶体管数目、功耗或热学特征、时钟频率或ISA中的任意一个或其组合形式。为利于请求数据的方便处理和返回,至少一个实施例可包括用以确定如何才是接 收由应用请求的数据的最好(例如最快)方法的一致性过滤器。例如,在一个实施例中,一 致性过滤器可包括一致性表,其表目包括关于当前可由系统中任意一个或多个处理器访问 的数据的信息。在一个实施例中,处理器的一致性表包括一地址列表,该地址列表指示在系 统中另一处理器的高速缓存、缓存器或其它存储结构中可用的数据,从而当应用请求数据 时,处理器可首先检查其一致性表以观察是否另一处理器当前具有数据。如果这样,则可通 过跨处理器间η宽互连检索数据而通过向请求提供服务的处理器检索数据。由于该表在 一个实施例中可能仅指示在任一处理器的高速缓存/缓存器/等中可用的一些数据(事实 上,该表可改变其中包含的信息量),因此可根据一致性表的信息或大小减少或至少控制η 宽处理器间互连结构上的通信量。图12示出可利用本发明一个实施例的包含一致性过滤器的系统。在图12中,运 行在处理器1205上的应用或线程1240可通过将地址提供给处理器1205而请求数据。处 理器1205随后可访问存储在处理器或可由处理器访问的一些存储器中的一致性表1245, 以确定所请求的数据是否当前位于处理器1200内的某个高速缓存或缓存器内。例如,如果 表指示所请求的数据当前在处理器1200中可用,则处理器1205可跨互连1208从处理器 1200检索数据,由此将数据以尽可能最方便的方式提供给程序。在一个实施例中,用由应用 或线程1240提供给处理器1205的一部分地址参照表。此外,在至少一个实施例中,不同的 表(或同一表)对应于系统中的每个处理器并通过对另一处理器中发现的每个请求地址在 表中创建表目而得以维护。此外,每个表目可包括用于指示何时数据未在另一处理器中找 到或何时将表目完全删除的信息。各一致性表维护方案和算法可用来保持对跨互连1208 的处理器之间共享的信息的跟踪。至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性数据 来实现,该数据表示处理器中的各种逻辑,其在被机器读取时使得该机器生成执行本文描 述的技术的逻辑。被称为“IP核”的这些表示可以被存储在有形的机器可读介质(“磁带”) 上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。由此,已描述了用于指导微架构存储器区域访问的方法和装置。应当理解,以上描 述旨在是说明性的而非限制性的。在阅读并理解以上描述之后,许多其它实施方式对本领 域内技术人员而言将是显而易见的。因此,本发明的范围应参考所附权利要求书以及使这 些权利要求享有权利的等效方案的完全范围来确定。
权利要求
1.一种装置,包括 中央处理单元(CPU);耦合于所述CPU的图形处理单元(GPU); 在所述CPU和GPU之间共享执行资源的逻辑。
2.如权利要求1所述的装置,其特征在于,还包括在所述CPU和GPU之间传达页面信息 的逻辑。
3.如权利要求1所述的装置,其特征在于,所述逻辑包括存储由所述CPU和GPU共享的 信息的共享存储器资源。
4.如权利要求1所述的装置,其特征在于,所述逻辑包括在所述CPU和GPU之间的直接 链路以利于信息共享。
5.如权利要求2所述的装置,其特征在于,所述GPU包括拟由CPU使用的浮点执行资源。
6.如权利要求2所述的装置,其特征在于,所述CPU包括拟由GPU使用的整型执行资源。
7.如权利要求1所述的装置,其特征在于,在所述GPU上调度的指令被迁移至所述CPU 并且所述经迁移指令的结果被传输至所述GPU。
8.如权利要求1所述的装置,其特征在于,在所述CPU上调度的指令被迁移至所述GPU 并且所述经迁移指令的结果被传输至所述CPU。
9.一种系统,包括 中央处理单元(CPU);耦合于所述CPU的图形处理单元(GPU); 在所述CPU和GPU之间共享执行资源的逻辑; 由所述CPU或GPU使用的系统存储器。
10.如权利要求9所述的系统,其特征在于,还包括在所述CPU和GPU之间传达页面信 息的逻辑。
11.如权利要求9所述的系统,其特征在于,所述逻辑包括存储由所述CPU和GPU共享 的信息的共享存储器资源。
12.如权利要求9所述的系统,其特征在于,所述逻辑包括在所述CPU和GPU之间的直 接链路以利于信息共享。
13.如权利要求10所述的系统,其特征在于,所述GPU包括拟由CPU使用的浮点执行资源。
14.如权利要求10所述的系统,其特征在于,所述CPU包括拟由GPU使用的整型执行资源。
15.如权利要求9所述的系统,其特征在于,在所述GPU上调度的指令被迁移至所述 CPU并且所述经迁移指令的结果被传输至所述GPU。
16.如权利要求9所述的系统,其特征在于,在所述CPU上调度的指令被迁移至所述 GPU并且所述经迁移指令的结果被传输至所述CPU。
17.一种处理器,包括 中央处理单元(CPU);耦合于所述CPU的图形处理单元(GPU); 在所述CPU和GPU之间共享执行资源的逻辑; 耦合于所述CPU和GPU用以对指令解码的解码逻辑; 用于存储所述指令的指令高速缓存; 用于调度所述指令的调度逻辑。
18.如权利要求17所述的处理器,其特征在于,还包括在所述CPU和GPU之间传达页面 信息的逻辑。
19.如权利要求17所述的处理器,其特征在于,所述逻辑包括存储由所述CPU和GPU共 享的信息的共享存储器资源。
20.如权利要求17所述的处理器,其特征在于,所述逻辑包括在所述CPU和GPU之间的 直接链路以利于信息共享。
21.如权利要求19所述的处理器,其特征在于,所述GPU包括拟由CPU使用的浮点执行 资源。
22.如权利要求19所述的处理器,其特征在于,所述CPU包括拟由GPU使用的整型执行资源。
23.如权利要求17所述的处理器,其特征在于,在所述GPU上调度的指令被迁移至所述 CPU并且所述经迁移指令的结果被传输至所述GPU。
24.如权利要求17所述的处理器,其特征在于,在所述CPU上调度的指令被迁移至所述 GPU并且所述经迁移指令的结果被传输至所述CPU。
25.如权利要求17所述的处理器,其特征在于,所述调度器逻辑包括用于调度整型指 令的第一调度器逻辑以及用于调度浮点指令的第二调度器逻辑。
26.如权利要求25所述的处理器,其特征在于,所述CPU和GPU共享所述第二调度器逻辑。
27.一种方法,包括在具有第一组执行资源的第一处理器上调度指令;将所述指令迁移至具有第二组执行资源的第二处理器;将由所述第二处理器上执行指令得到的信息传输至所述第一处理器。
28.如权利要求27所述的方法,其特征在于,所述第一处理器是中央处理单元(CPU)而 所述第二处理器是图形处理单元(GPU)。
29.如权利要求27所述的方法,其特征在于,所述第一处理器是GPU而所述第二处理器 是 CPU。
30.如权利要求27所述的方法,其特征在于,还包括在所述第一处理器和第二处理器 之间传达页面信息。
全文摘要
一种共享执行资源的技术。在一个实施例中,CPU和GPU通过在CPU和GPU之间调度或传输指令和信息而根据工作负载、电力因素或可用资源来共享资源。
文档编号G06F15/163GK102117260SQ201010623130
公开日2011年7月6日 申请日期2010年12月24日 优先权日2009年12月31日
发明者B·库塔纳, C·古德曼, E·斯普林格, M·克莱格德 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1