首页> 中国专利> 棋盘多GPU配置内的可缩放几何形状处理

棋盘多GPU配置内的可缩放几何形状处理

摘要

本发明描述了系统、设备和方法,包括将成批的几何对象分发到多核系统,在每一个处理器核处,对对应的成批的几何对象执行顶点处理和几何形状设置处理,将顶点处理的结果存储在可以被所有核访问的共享存储器中,并将几何形状设置处理的结果存储在本地存储中。然后,每一个特定核都可以使用从特定核内的本地存储中获取以及从其他处理器核中的至少一个的本地存储获取的几何形状设置结果,执行栅格化。

著录项

  • 公开/公告号CN103946823A

    专利类型发明专利

  • 公开/公告日2014-07-23

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201180074917.0

  • 申请日2011-11-18

  • 分类号G06F13/14;G06F15/80;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人高见

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:44:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-01

    未缴年费专利权终止 IPC(主分类):G06F13/14 专利号:ZL2011800749170 申请日:20111118 授权公告日:20170405

    专利权的终止

  • 2017-04-05

    授权

    授权

  • 2014-08-20

    实质审查的生效 IPC(主分类):G06F13/14 申请日:20111118

    实质审查的生效

  • 2014-07-23

    公开

    公开

说明书

背景

提供有竞争力的处理器图形子系统依赖于高效并且可缩放的图形体系 结构。需要可缩放性来使用单一体系结构和有限的设计资源来支持一系列 图形性能点。跨多个相同的图形核并行化图形工作负荷通常会提供这样的 可缩放性。

并行图形流水线的体系结构中固有的一个问题是高效并行化流水线的 几何形状处理和栅格化阶段。并行化两个阶段是需要的——假定任何一个 阶段都会在处理单一帧的过程中在不同的时间成为性能瓶颈。令人遗憾的 是,并行化几何形状处理最天然地需要跨图形核分布几何对象,而并行化 栅格化最天然地需要跨图形核分布图像空间(例如,帧缓冲器)。然而, 几何对象以及它们的图像空间占用空间之间的关联不是先验已知的。另外, 几何对象需要以与它们被提交来进行几何形状处理相同的时间顺序栅格 化。因此,需要以高性能/电源和性能/区域特征,并以不需要大量的软件干 预的方式,跨并行栅格化流水线,组装、重新排序和分发并行几何形状处 理的结果的机制。

包括多个、并行图形核并能够通过使用棋盘呈现(CheckBoard  Rendering:CBR)方案来进行分布式栅格化的常规图形系统,可以将目标 表面(例如,帧缓冲器)细分为小的矩形区域。然后,可以将这些区域的 不相重叠的规则网格子集分配给每一个图形核,以便指派所有目标表面像 素。然后,图形核中的栅格化流水线可以并行地操作,以便对于每一个已 栅格化的对象,栅格化流水线将只呈现(render)包含在其目标表面像素的 子集内的那些像素。在当前CBR方案中,每一个图形核都对于所有提交的 几何对象执行几何形状处理,将结果只传递到其内部栅格化流水线。由于 在这样的常规系统中跨图形核复制几何形状处理,因此,利用图形核的数 量,没有几何形状处理速率的正缩放(positive scaling)。

附图简述

此处所描述的材料是作为示例说明的,而不仅限于各个附图的图形。 为说明简单和清楚起见,图形中所示出的元件不一定是按比例绘制的。例 如,为了清楚起见,某些元件的尺寸可以相对于其他元件而放大。此外, 在合适的情况下,在不同的图形中参考标签重复使用,以表示对应的或类 似的元件。在图形中:

图1是示例图形系统的说明图;

图2示出了示例棋盘呈现方案;

图3和5示出了示例并行呈现过程的流程图;

图4示出了图3的示例方案的一部分;以及

图6是所有都根据本发明的至少某些实现的排列的示例系统的说明 图。

详细描述

现在将参考附图来描述一个或多个实施例或实现。尽管讨论了特定配 置以及布局,但是,应该理解,这只是为了说明。那些精通相关技术的人 员将认识到,在不偏离描述的主题的精神和范围的情况下,可以使用其他 配置和布局。对于那些精通相关技术的人来说显而易见的是,此处所描述 的技术和/或布局也可以用于此处所描述的之外各种其他系统和应用中。

尽管下列描述阐述了可以在诸如,例如,片上系统(SoC)体系结构之 类的体系结构中表现的各种实现,但是,此处所描述的技术和/或布局的实 现不局限于特定体系结构和/或计算系统,并可以通过用于类似的目的的任 何体系结构和/或计算系统来实现。例如,使用,例如,多个集成电路(IC) 芯片和/或封装,和/或各种计算设备和/或诸如机顶盒、智能电话等等之类 的消费电子(CE)设备的各种体系结构可以实现此处所描述的技术和/或布 局。进一步地,尽管下列描述可以阐述诸如系统组件的逻辑实现、类型和 相互关系,以及逻辑分区/集成选择之类的很多具体细节,但是,要求权利 保护的主题也可以在没有这些具体细节的情况下实施。在其他情况下,诸 如,例如,没有详细示出控制结构和完全软件指令序列,以便不至于使此 处所公开的材料变得模糊。

此处所公开的材料可以以硬件、固件、软件,或其任何组合来实现。 此处所公开的材料还可实现为存储在机器可读取的介质中的可以由一个或 多个处理器读取和执行的指令。机器可读的介质可以包括用于以机器(例 如,计算设备)可读的形式存储或传输信息的任何介质和/或机制。例如, 机器可读的介质可以包括,只读存储器(ROM);随机存取存储器(RAM); 磁盘存储介质;光存储介质;闪存设备;电的、光学的、声音或其他形式 的传播信号(例如,载波、红外信号、数字信号等等);及其他。

说明书中对“一个实现”、“实现”、“示例实现”等等的引用表示 所描述的实现可包括特定特征、结构或特性,但是,每一个实现都可以不 一定包括该特定特征、结构或特征。此外,这样的短语不一定是指同一个 实现。此外,当结合一个实现描述特定特征、结构或特性时,认为在本领 域技术人员学识范围内,可以与其他实现一起实施这样的特征、结构或特 性,无论此处是否显式地描述。

图1示出了根据本公开的示例图形系统100。在各实现中,系统100 包括多个并行图形核102和104、共享存储106和并行共享总线108。在各 实现中,共享存储108可以是任何类型的存储器,诸如,但不局限于,随 机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)、 闪存等等。图形核102和104中的每一个都可以是被配置成执行三维(3D) 图形处理的微处理器核。进一步地,图形核102和104可以类似地配置和/ 或构建。

在各实现中,核102/104可以被配置成根据各种应用程序编程接口 (API)、标准,和/或规范,来执行3D图形处理,包括,但不仅限于, OpenGL规范(参见,例如,The OpenGL Graphics System:A Specification (Version4.0(Core Profile)-March11,2010)(“OpenGL图形系统:规范(版 本4.0(核概况)-2010年3月11日)”)),或Direct3D API(参见,例如, “The Direct3D10System″ACM Transactions on Graphics(TOG)- Proceedings of ACM SIGGRAPH,Volume25Issue3,July2006”(“Direct3D 10系统”ACM图形学报-ACM SIGGRAPH会议录,2006年7月第3期第 25卷))(下面简称为“Direct3D API”)。为了清楚起见,各种设备、 系统和过程是在Direct3D API的上下文中描述的,虽然本发明不仅限于任 何特定3D图形API、标准,和/或规范。

在图1中详细示出了图形核102的内部组件,包括3D图形流水线103, 具有输入处理模块110(包括批处理逻辑112)、可通信地耦合到输入处理 模块110以及共享存储106的顶点处理模块114、可通信地耦合到顶点处理 模块114的几何形状设置模块116、可通信地耦合到几何形状设置模块116 以及共享总线108的诸如先进先出(FIFO)缓冲器118之类的本地存储器 结构、可通信地耦合到FIFO118以及共享总线108的交叉开关多路复用器 (MUX)120、以及可通信地耦合到交叉开关MUX120、共享存储106, 以及共享总线108的栅格化模块122(包括非关联化逻辑(dereferencing  logic)123)。提供给核102/104中的每一个的互连107提供对共享存储器 108的读和写访问。并行图形核104中的每一个都可以包括类似的项目。在 各实现中,图形核102和104中的每一个都可以被称为图形处理单元 (GPU)。那些精通本技术的普通人员将认识到,为了清楚起见,在图1 中省略了3D图形流水线的诸如像素着色器模块之类的某些组件或模块。

如下面将更详细地说明的,根据本发明,系统100可以提供可缩放的 几何形状处理,其中,图形核102和104可以被配置成使用各种棋盘栅格 化(CBR)方案,来执行并行呈现。例如,图2示出了示例CBR方案200, 其中,多核处理器202的四个相同的图形核203(每一个都类似于图1的核 102和104)已经被映射到帧缓冲器204的不同的区域205的目标像素,以 促进并行呈现。如此示例所示,核(1)将呈现帧缓冲器204的标记为“1” 的部分中的目标像素的图形数据,核(2)将呈现帧缓冲器204的标记为“2” 的部分中的目标像素的图形数据,等等。一旦每一个区域205都被栅格化, 在被提供用于在显示器206上显示之前,帧缓冲器204的内容可经历另外 的处理,诸如像素着色、输出合并等等。

尽管图2的示例方案示出了分配给特定目标像素区205的总共四个图 形核203,但是,本发明不仅限于任何特定数量或类型的图形处理核和/或 任何特定并行呈现方案。例如,可以使用用于分摊帧缓冲器的目标像素的 呈现的各种已知CBR方案中的任何一种(参见,例如,Carl Mueller,″The  Sort-First Rendering Architecture for High-Performance Graphics″,In  Proceedings of the1995Symposium on Interactive3D Graphics,pages75-84 (1995)(Carl Mueller的“用于高性能图形的先排序呈现架构”,1995年交 互式3D图形讨论会的会议录,第75-84页(1995)))。进一步地,本发 明不仅限于区域205的任何大小和/或布局。如此,例如,区域205中的每 一个都可以对应于缓冲器204的64x64像素区、缓冲器204的128x128像 素区,等等。另外,帧缓冲器204可以具有任何像素分辨率或格式,并不 仅限于如图所示的正方形格式。例如,帧缓冲器204可以具有各种高清晰 度(HD)分辨率,诸如1280x720像素,或1920x1080像素等等。

根据本发明,如下面将更详细地说明的,当处理器102执行场景的3D 图形处理时,图形核中的每一个都可以对与指派给相应的核的各种目标像 素相关联的单独的成批的图形对象,执行顶点和几何形状处理。例如,核 (1)可以对横跨帧缓冲器204的标记为“1”的区域205的目标像素的图 形对象,执行顶点和几何形状处理,核(2)可以对横跨标记为“2”的区 域205的目标像素的图形对象,执行顶点和几何形状处理,等等。

再次参考图1,根据本发明,并如下面将更详细地说明的,输入处理 模块110可以接收对应于图形对象的图形数据(例如,对应于三角形、线 和点的基元),图形核102和104中的每一个都可以使用批处理逻辑 (batching logic)112来选择对应于各种成批的图形对象的图形数据。每一 个核中的批处理逻辑112都可以操作以将传入的几何对象细分、分摊或分 发到提供给核102/104的成批的连续的对象,而每一个图形核都可以循环地 处理其单独的对应的批。在各实现中,批处理大小可以是可编程的,并可 以随着输入拓扑而变化。

根据本发明,然后,每一个核都可以与其他核并行地使用模块114来 对所指派的对象的顶点执行顶点处理,并可以将顶点处理结果存储在共享 存储106中。顶点处理可以包括各种已知功能,诸如顶点着色、曲面细分、 几何形状着色等等。如此,根据本发明,并非将每一个每顶点结果复制到 所有核102和104,顶点处理结果可以由每一个核在它完成顶点处理时写入 到共享存储106,并可以只由那些需要特定对象的顶点处理结果的核在执行 栅格化时稍后从共享存储106中读取。

根据本发明,然后,每一个核都可以,与其他核并行地,使用模块116 来对指定的对象的执行几何形状设置处理,并可以将几何形状设置结果存 储在FIFO118中。几何形状设置处理可以对整个基元进行操作,并可以包 括各种已知功能,诸如“剔除”子功能,包括对照剪辑边界的无足轻重的 拒绝,背面剔除、退化和零像素对象剔除,等等。那些精通本技术的普通 人员将认识到,可以在几何形状设置过程中丢弃几何形状工作负荷的大部 分。例如,可以作为几何形状设置处理的结果,丢弃对应于整批的对象的 基元。考虑每一个图形核都并行地执行几何形状设置处理(对于不同的批), 对于批被丢弃的情况,系统100对于几何形状处理,可以表现出几乎线性 的缩放。

几何形状设置处理的结果包括基于所使用的特定CBR方案,确定每一 对象都横跨哪一个(哪些)栅格化流水线。可以将此信息,以及栅格化所 需的其他设置子功能的结果,写入到每一个图形核的FIFO118。进一步地, 指定批划界的控制信息也可以存储在FIFO118中。

在各实现中,FIFO118可以是任何类型的FIFO数据结构。如此,在 各非限制性示例中,FIFO118可以通过各种数据结构来提供,包括但不限 于,SRAM、触发器、闩锁或任何其他合适形式的存储器结构。进一步地, FIFO118可以包括多组读和写指针,以及存储器和控制逻辑。例如,如下 文比较详细地描述的,在各实现中,FIFO118可以是多端口SRAM,包括 两组读取指针:与内部对象相关联的一组读取指针124,以及与外部对象相 关联的一组读取指针125。

根据本公开,使用从所有FIFO118接收到的以及随后通过共享总线 108传输的批划界信息,图形核可以轮流提交批处理结果,以供栅格化。当 轮到特定图形核时,其MUX120可以从FIFO118中选择该核的内部对象, 用于使用模块122来栅格化,而同时通过共享总线108,从FIFO118输出 批内的外部对象。其他图形核可以选择共享总线118,作为到它们的栅格化 模块122的输入端。一旦当给定核执行栅格化时已从FIFO118去除当前批 的所有对象(如果有的话),该图形核就可以通过共享总线108发信号指 示批划界,并且然后,可以切换其MUX120以输入通过共享总线108从其 他图形核接收到的外部对象。

在栅格化过程中,每一个图形核的栅格化模块122都可以通过根据需 要从共享存储106中读取,来访问顶点处理结果。当给定核消耗顶点处理 结果时,该核的栅格化模块122可以使用非关联化逻辑123来通过共享总 线108,将非关联化信息传输回生成用于栅格化的特定顶点处理结果的图形 核。如此,成批的对象可以由系统100按时间顺序以循环的方式栅格化。

图3和5示出了根据本发明的各实现的用于并行呈现的示例过程300 的流程图。过程300可以包括如图3和5的框302-322中的一个或多个所 示出的一个或多个操作、功能或动作。作为非限制性示例,此处将参考图1 的示例图形系统100和图2的示例CBR方案200来描述过程300。

过程300可以从框302开始,其中,图形核可以接收一批图形对象。 例如,在各实现中,核102可以在输入处理模块110处接收一批图形对象, 在那里,批处理逻辑112可以从图形对象的输入列表(例如,点基元、线 基元等等的输入列表)中,确定要被分摊到核102的对象。例如,图形核 (1)可以在框302接收一批图形对象,其中,以目标表面(例如,帧缓冲 器)像素位置表示的对象的位置至少部分地位于帧缓冲器204中的标记为 (1)的区域205的至少一个内。然后,输入处理模块110可以将对应的成 批的对象的基元提供到顶点处理模块114。

在框304,可以对对象基元执行顶点处理,并且结果可以存储在共享 存储中。例如,在各实现中,核102可以使用顶点处理模块114来执行顶 点处理操作,诸如顶点着色、曲面细分、几何形状着色等等。所产生的每 顶点基元数据(诸如强度、颜色、深度、透明度等等)可以存储在共享存 储108中,在那里,它可以被核102/104中任何一个访问。

在框306,可以对对象基元执行几何形状设置处理,并且结果可以存 储在本地存储中。例如,在各实现中,核102可以使用几何形状设置模块 116来执行几何形状设置操作,诸如对照剪辑边界的无足轻重的拒绝,背面 剔除、退化和零像素对象剔除,等等。另外,框306处的处理还包括基于 呈现目标的棋盘子部分(例如,可以被用来确定哪些图形核102/104将涉及 栅格化给定对象的信息)来确定每一对象横跨哪一个(哪些)栅格化流水 线。可以将此批控制信息,以及栅格化所需的其他设置子功能的结果,写 入到FIFO118。例如,根据本公开,几何形状设置模块116可以将批信息 存储在FIFO118中,在那里,批信息按呈现目标位置来分类基元(例如, 藉此数据与哪个CBR区域相关联)。

在各实现中,作为执行框306的结果,FIFO118可以接收几何形状设 置结果和指定对应的对象如何映射到帧缓冲器位置的批控制信息。在这一 方面,只映射到与执行过程300的核相关联或指派给执行过程300的核的 帧缓冲器位置的图形对象可以表示为内部对象,而映射到未与执行过程300 的核相关联或指派给执行过程300的核的帧缓冲器位置的图形对象可以表 示为外部对象。在各实现中,图形对象可以指定为两个类别。

例如,图4比较详细地示出了图2的帧缓冲器204的一部分400,其 中,作为框302的结果,两个对象402和406被包括在要由处理器202的 核(1)在框304和306处理的一批对象中。在此示例中,对象402只横跨 完全驻留在指派给核(1)的区域404内的帧缓冲器像素位置,因此,当核 (1)对于区域404执行框306时,批控制信息可以将对象402指定为内部 对象。相比之下,对象406横跨指派给核(1)的区域404内以及分配给核 (2)的区域408中的像素位置。因此,当核(1)对于区域404执行框306 时,控制信息可以将对象402指定为内部对象和外部对象两者。在各实现 中,FIFO118包括两组读取指针,一组读取指针124用于跨越分配给执行 过程300的特定图形核的目标像素的内部对象,而第二组读取指针125用 于跨越分配给子系统中的其他图形核的目标像素的外部对象。

在各实现中,框302-306可以由所有图形核并行地执行。例如,框 302-306可以由处理器202的核203使用由批处理逻辑在核之间分摊的对象 来并行地执行。结果,对应于帧缓冲器的所有像素位置的顶点处理结果可 以存储在共享存储108中,而内部和外部对象的几何形状设置结果可以存 储在核203的相应FIFO中。

过程300可以在框308继续,在那里,可以从本地存储获取内部对象 设置结果,并且在框310,可以通过共享总线将外部对象设置结果提供到其 他图形核。在各示例中,框308可以涉及核102使用MUX120和存储在 FIFO118中的控制信息来从FIFO118中获取内部对象的数据,并将该数据 提供给栅格化模块122,而框310可以涉及核102使用存储在FIFO118中 的控制信息来标识外部对象,并且然后,可以通过共享总线108,将那些外 部对象的数据提供到核104。在框311,可以从共享存储器中获取内部对象 的顶点处理结果。例如,在各实现中,框308可以涉及核102使用互连107, 从共享存储106获取内部对象的顶点处理结果。

在框312,可以执行内部对象的栅格化。例如,核102可以使用栅格 化模块122,通过使用已知的栅格化技术,来栅格化其所指派的目标像素区 内的内部对象。然后,过程300可以在图5的框316和318。

在框316,可以通过共享总线提供批划界信息。例如,已栅格化所有 内部对象之后,核102可以使用FIFO118,通过使用共享总线108,向核 104来发信号指示批划界。在框318,可以通过共享总线,从其他图形核中 获取外部对象。例如,核102可以使用共享总线108来从各个核104中获 取外部对象的几何形状设置结果。例如,再次参考图4的示例,框318可 以涉及核(1)通过共享总线108,从核(3)获取涉及对象410的信息(在 框304和306,由核(3)进行了处理)。为在框318获取外部对象数据, 核104可以使用与核104中的一个或多个的FIFO相关联的外部对象读取指 针。

在框319,可以从共享存储器中获取外部对象的顶点处理结果。例如, 在各实现中,框319可以涉及核102使用互连107,从共享存储106获取外 部对象(在框318中获得的)的顶点处理结果。在框320,可以执行外部对 象的栅格化。例如,核102可以使用栅格化模块122,使用已知的栅格化技 术,来栅格化由它自己的FIFO118获取的外部对象和从核104中的一个或 多个的FIFO获取的外部对象。

在框321,可以通过共享总线,向其他核提供非关联化数据。例如, 在各实现中,框321可以涉及核102使用非关联化逻辑123来通过共享总 线108,向核104发送非关联化信息。非关联化信息可以向各种核通知特定 顶点已经被呈现,因此,可以从共享存储106中的存储位置擦除对应的顶 点数据。

在框322,然后,可以关于过程300是否应该继续作出判断。例如, 如果特定核已经完成栅格化与其目标像素区相关联的所有对象,那么,过 程300可以返回到框308/310,在那里,可以由与该核的目标像素区相关联 的所有对象的另一图形核执行如上文所描述的处理。如此,框308-321可 以由多核GPU系统的其他核执行,从而允许按时间顺序来栅格化帧缓冲器。 当消耗这些结果时,消费者栅格化流水线通过并行共享非关联化总线,将 非关联化信息传输回生成顶点处理结果的图形核。

尽管示例过程300的实现,如图3和5所示,可以包括执行按所示出 的顺序所示出的全部框,但是,本发明在这方面不受限制,在各示例中, 过程300的实现可以包括只执行所示出的框的子集和/或以所示出的不同的 顺序来执行。例如,当在框311/312和319/320消耗顶点处理结果时,核的 栅格化模块可以通过共享总线传输非关联化信息,而并非等待直到框321 才这样做。

另外,可以响应于由一个或多个计算机程序产品所提供的指令,执行 图3和5的框中的任何一个或多个。这样的程序产品可以包括提供指令的 信号携带介质,所述指令,在由,例如,处理器执行时,可以提供此处所 描述的功能。计算机程序产品可以以任何形式的计算机可读介质来提供。 如此,例如,包括一个或多个处理器核的处理器可以响应于由计算机可读 介质传输到处理器的指令,执行图3和5所示出的框中的一个或多个。

如此处所描述的任何实现中所使用的,术语“模块”是指被配置成提 供此处所描述的功能的软件、固件和/或硬件的任何组合。软件可以作为软 件程序包、代码和/或指令集或指令来实现,而如此处所描述的任何实现中 所使用的“硬件”,可以包括,例如,单独地或以任何组合的硬连线的硬 件、可编程的硬件、状态机硬件和/或存储由可编程硬件执行的指令的固 件。模块可以共同地或分别地被实现为构成较大的系统的一部分的电路, 例如,集成电路(IC)、芯片上系统(SoC)等等。

图6示出了根据本发明的示例计算系统600。系统600可以被用来执 行此处所讨论的各种功能中的某些或全部,并可以包括能够执行根据本发 明的各种实现的此处所描述的过程的任何设备或设备的集合。例如,系统 600可以包括诸如台式机、移动或平板电脑、智能电话、机顶盒等等之类的 计算平台或设备的选择的组件,虽然本发明在这方面不受限制。在某些实 现中,系统600可以在,例如,CE设备中,包括基于Intel体系结构(IA) 的计算平台或SoC。那些精通本技术的普通人员将轻松地理解,在不偏离 本发明的范围的情况下,此处所描述的实现可以与替代的处理系统一起使 用。

计算机系统600可以包括主机系统602、总线616、显示器618、网络 接口620,以及成像设备622。主机系统602可以包括处理器604、芯片组 606、主机存储器608、图形子系统610,以及存储612。处理器604可以包 括一个或多个处理器核,并可以是任何类型的能够执行软件指令和/或处理 数据信号的处理器逻辑。在各种示例中,处理器704可以包括复杂指令集 计算机(CISC)处理器核、精简指令集计算机(RISC)微处理器核、超长 指令字(VLIW)微处理器核,和/或实现指令集的任何组合或类型的任意 数量的处理器核。在某些实现中,处理器604可以能够执行数字信号处理 和/或微控制器处理。

处理器604可以包括可以用于将由,例如,芯片组606和/或图形子系 统610接收到的指令解码为控制信号和/或微代码入口点的解码器逻辑。进 一步地,响应于控制信号和/或微代码入口点,芯片组606和/或图形子系统 610可以执行对应的操作。在各实现中,处理器604可以被配置成执行此处 所描述的过程中的任何一个,包括参考图3和5所描述的示例过程。

芯片组606可以在处理器604、主机存储器608、存储612、图形子系 统610,以及总线616之间提供相互通信。例如,芯片组606可以包括能够 与存储612进行相互通信的存储器适配器(未描绘)。例如,存储器适配 器可以能够根据若干种协议中的任何一个,包括,但不仅限于,小型计算 机系统接口(SCSI)、光纤通道(FC),和/或串行高级技术附件(S-ATA) 协议,与存储器612进行通信。在各实现中,芯片组606可以包括能够在 主机存储器608内,或在网络接口620和主机存储器608之间,或一般而 言,在系统600中的任何组件组之间传输信息的逻辑。在各实现中,芯片 组606可以包括一个以上的IC。

主机存储器608可以实现为易失性存储器设备,诸如,但不仅限于, 随机存取存储器(RAM)、动态随机存取存储器(DRAM),或静态RAM (SRAM)等等。存储器612可以实现为非易失性存储器设备,诸如,但不 仅限于,磁盘驱动、光盘驱动、磁带驱动、内部存储设备、附连存储设备、 闪存、电池供电的SDRAM(同步DRAM),和/网络可访问的存储设备等 等。

在执行此处所描述的过程中的任何一个过程时,包括参考图3和5所 描述的示例过程,存储器120存储要由处理器102执行的指令和/或通过数 据信号来表示的数据。例如,主机存储器608可以存储vertex处理结果, 目标像素区等等。在某些实现中,存储612也可以存储这样的项目。

图形子系统610可以对诸如静止图像或视频图像之类的图像执行处 理,供显示。例如,在某些实现中,图形子系统610可以执行3D图形处理。 例如,图形子系统610可以执行如参考图3和5所描述的活动。模拟或数 字接口可以被用来可通信地耦合图形子系统610和显示器618。例如,接口 可以是高清晰度多媒体接口、显示端口(DisplayPort)、无线HDMI,和/ 或遵循无线HD的技术中的任何一个。在各实现中,图形子系统610可以 集成到处理器604或芯片组606中。在某些其他实现中,图形子系统610 可以是可通信地耦合到芯片组606的独立卡。

总线616可以在至少主机系统602、网络接口620、成像设备622以及 诸如键盘、鼠标等等之类的其他外围设备(未描绘)之间提供相互通信。 总线616可以支持串行或并行的通信。总线616可以支持节点到节点或节 点到多节点通信。总线616可以至少兼容于例如在位于美国俄勒冈州波特 兰市的PCI特殊兴趣组在2004年2月2日所提供的“外围组件互连(PCI) 局部总线规范,修订版3.0”中描述的外围组件互连(PCI)规范(以及其 修订版);在PCI特殊兴趣组的PCI Express Base Specification,Revision1.0a 中描述的PCI Express(以及其修订版);在美国俄勒冈州波特兰市的如上 所述的PCI特殊兴趣组所提供的“PCI-X Specification Rev.1.1,March28, 2005”中描述的PCI-x(以其及修订版);和/或通用串行总线(USB)(以 及相关的标准)以及其他互连标准。

网络接口620能够根据诸如有线或无线技术之类的任何适用的协议, 在主机系统602和网络之间提供相互通信。例如,网络接口620可以符合 诸如802.3、802.11,或802.16之类的各种IEEE通信标准。网络接口620 可以使用总线616,与主机系统602互相通信。在某些实现中,网络接口 620可以集成到芯片组606中。

此处所描述的3D图形处理技术可以以各种硬件体系结构来实现。例 如,3D图形功能可以集成在芯片组内。可另选地,可以使用单独的图形处 理器。作为再一个实现,3D图形功能可以通过通用处理器(包括多核处理 器)来实现。在又一实现中,功能可以在消费电子产品中实现。

显示器618可以是任何类型的显示设备和/或面板。例如,显示器618 可以是液晶显示器(LCD)、等离子体显示板(PDP)、有机发光二极管 (OLED)显示器等等。在某些实现中,显示器618可以是投影显示器(诸 如微微投影仪显示器等等)、微显示器等等。在各实现中,显示器618可 以被用来显示由如此处所描述的3D图形处理所产生的图像。

成像设备622可以是诸如数码相机、手机照像机、红外线(IR)照像 机等等之类的任何类型的成像设备。成像设备622可以包括一个或多个图 像传感器(诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS) 图像传感器)。成像设备622可以捕捉彩色或单色图像。成像设备622可 以捕捉输入图像(静止或视频),并通过总线616和芯片组606,将这些图 像提供给处理器604。

在某些实现中,系统600可以通过I/O总线(未示出)与图6中未示 出的各种I/O设备进行通信。这样的I/O设备可以包括,但不仅限于,例如, 通用异步接收器/发射器(UART)设备、USB设备、I/O扩展接口或其他 I/O设备。在各实现中,系统600可以表示用于进行移动、网络和/或无线 通信的系统的至少某些部分。

尽管参考各种实现描述了此处所阐述的某些特征,但是,此描述不旨 在以限制性方式来解释。因此,对本发明涉及的所属技术领域的专业人员 显而易见的对此处所描述的实现的各种修改,以及其他实现被认为在本发 明的精神和范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号