可扩展及整合的计算系统的制作方法

文档序号:2578634阅读:174来源:国知局
专利名称:可扩展及整合的计算系统的制作方法
技术领域
本发明大体有关于由计算系统执行的计算操作,且更特别的是,有关于由计算系 统执行的图形处理任务。
背景技术
图形处理单元(GPU)为经特别组态成可完成图形处理任务的复杂集成电路。例 如,GPU可执行最终用户应用系统(例如,视讯游戏应用系统)所要求的图形处理任务。例 如,此类应用系统在最终用户应用系统、GPU之间有数层软件。最终用户应用系统系与应用程序接口(API)通讯。API允许最终用户应用系统以 标准化的格式输出图形数据及命令,而不是依照GPU的格式。市上有数种API,包含由微软
开发的DirectX 以及由硅谷图形公司开发的OpenGL 。API系与驱动器通讯。驱动器
把由API收到的标准程序代码转译成为GPU可理解的原生指令格式。通常由GPU的制造商 编写驱动器。GPU则执行来自驱动器的指令。GPU藉由执行习称“渲染”的处理来产生个别像素然后基于较高阶的影像组件描述 来一起形成影像。GPU通常使用可处理像素、纹理及几何数据的管线(pipeline)来执行连 续渲染。该等管线常被称为固定功能特殊用途管线的集合,例如点阵转化器(rasterizer)、 设置引擎(setup engine)、色彩混合器(color blender)、阶层深度(hierarchical cbpth)、纹理映像(texture mapping)、以及在着色管(shader pipe)或在着色管线中可完 成的可编程阶段,术语“着色”在计算机图形学中是指以完成渲染效果为主之图形资源所使 用的一组软件指令。此外,在平行处理设计中,GPU也可使用多条可编程管线以得到较高的 吞吐量。多条着色管线也被称作着色管阵列。由于着色管阵列会持续不断地进行渲染处理,管线的制造缺陷可为人所知,接着 管线内部可能发生故障。系统有小缺陷或故障而没有任何逻辑修复是致命的而且可能致使 装置出毛病。此外,GPU也支持纹理映像。纹理映像处理是用邻近纹理像素(或文素(texel)) 的色彩来决定用于纹理映射式像素(texture mapped pixel)的纹理色彩。该处理也被称 作纹理平滑化或纹理插值(texture interpolation)。不过,高影像质量纹理映像需要高度 复杂的计算。在新软件应用系统不断增加复杂度和API着色语言的进步下,对于GPU可提供高 质量渲染、纹理映像及一般内存存取供先进渲染及通用计算(generalized compute)用的 需求,会进一步提高计算的复杂度。此外,备有整合着色的GPU同时也支持许多类型的着色处理(shader processing)(源于像素、顶点、原始数据(primitive)、曲面及通用计算),这会提高对于有 较高效能之通用内存存取能力的需求。因此,亟须可减轻上述缺点的系统及/或方法。尤其亟须一种用于着色管的可扩 展之整合着色设计方法以及一种能够执行通用加载/储存操作的多用途纹理映像系统,其性能可克服不良内部子电路(internal subcircuit)的影响以及对于整个系统效能的冲击最小。

发明内容
本章节的目的是概述本发明的几个方面以及介绍一些较佳的具体实施例。简化及 省略是为了避免混淆本章节的目的。不希望该等简化及省略限定本发明的范畴。与具体表达及广泛描述于本文的本发明原理一致,本发明包含与以列为基础(row based)可扩展及整合之计算单元模块有关的方法及装置。该可扩展及整合之计算单元模块 包含着色管阵列与纹理映像单元,其中有第一阶缓存系统可执行纹理映像及一般加载/储 存存取,以及有能力处理以不良着色管为目的地之着色管数据。该可扩展及整合之计算系 统包含序列器(sequencer),以及可存取第二阶纹理缓存系统从而存取外部内存系统的可 扩展及整合之计算单元模块。该可扩展及整合之计算系统系配置为接收正在执行的着色程 序指令,包含输入、输出、ALU及纹理或一般内存加载/储存请求,以及程序常数与来自该等 着色管的地址数据以基于用于控制管线地址(pipelined address)的状态数据和用于特定 像素或执行绪(thread)的滤波操作(filtering operation)来产生传回的文素或内存数 据。该纹理滤波器系统系基于该着色程序指令及常数来组态成可基于储存于该缓存系统的 文素数据来产生格式化插值(formatted interpolation)供储存于该着色管线的地址用。在本发明的一具体实施例中,该以列为基础着色管可扩展及整合的计算系统更包 含一冗余着色管系统。该冗余着色管系统系配置为处理以该着色管阵列中之一不良着色管 为目的地的着色管数据。在另一具体实施例中,该以列为基础可扩展及整合的计算系统更包含一第二阶纹 理缓存系统。可用任何以列为基础之第一阶纹理缓存系统来读写该第二阶纹理缓存系统。在另一具体实施例中,该可扩展及整合之计算单元模块的纹理映像单元之纹理滤 波器更包含一预格式化器模块(pre-formatter module)、一插值器模块(interpolator module)、一累力口器模块(accumulatormodule)、以及一格式化模块(format module)。该预 格式化器模块系配置为接收文素数据以及把它转换成规一化定点格式(normalized fixed point format)。该插值器模块系配置为对于来自该预格式化器模块的规一化定点文素数 据可做插值以及产生重新规一化的浮点文素数据(re-normalized floating point texel data)。该累加器模块系配置为累加来自该插值器模块的浮点文素数据以达成有想要位准 的二线性(bilinear)、三线性(trilinear)及各向异性滤波(anisotropic filtering)。该 格式化模块系配置为把来自该累加器模块的文素数据转换成标准浮点表示形式(standard floating point representation)0以下参考附图的说明系详述本发明的其它特征及优点,以及本发明各种具体实施 例的结构与操作。应注意,本发明不受限于描述于本文的特定具体实施例。本文提出该等 具体实施例系仅供图解说明。基于本文的教导,熟谙此艺者显然可明白其它的具体实施例。


并入本专利说明书且构成其中之一部份的附图系图解说明本发明的具体实施例, 其系与上文给出的一般说明和下文给出的具体实施例详细说明一起用来解释本发明的原理。第1图的系 统图系图标可扩展及整合之计算系统的一具体实作。第2图的系统图系图标可扩展及整合之计算系统的一具体实作,其系图解说明着 色管阵列的细节。第3图的系统图系图标可扩展及整合之计算系统的一具体实作,其系图解说明纹 理映像单元的细节。第4图的流程图系图示用于可扩展及整合之计算系统的一方法之具体实作。由以下结合附图所提出的详细说明可更加明白本发明的特征与优点,附图都用相 同的参考字符表示对应的组件。附图中相同、功能类似、及/或结构类似的组件大体用相同 的组件符号表示。组件符号最左边的数字是表示它最先出现的附图编号。
具体实施例方式由以下本发明各种“具体实施例”的说明可更加明白本发明。因此,特定“具体实 施例”都是本发明的观点,每个都不是整个发明。在一方面,本发明系有关于一种可扩展及 整合之计算系统,藉此着色管阵列可处理对于输入像素、顶点及原始数据、曲面或计算工作 项目的着色程序指令以使用产生的文素数据或内存加载/储存操作来建立每个项目的输 出数据。在本发明的具体实施例中,二线性纹理映像、三线性纹理映像及各向异性纹理映像 系应用于储存于多阶缓存系统(multi-level cache system)之中的文素数据。在另一具 体实施例中,可增加冗余着色系统以及将它组态成可处理以着色管阵列内之不良着色管为 目的地的着色管数据以修复一或更多条着色管中有不良子电路的装置。本发明具体实施例的组态可包含两个或更多个可扩展及整合之计算系统,可将该 整合计算单元系统本身的子集组态成为可修复的单元。在此一具体实施例中,以不良整合 计算单元系统为目的地的工作负载反而会被送到可处理所有ALU、纹理及记忆体操作的冗 余整合计算单元系统。由于纳入纹理映像单元与Ll缓存系统,因而可大幅增加装置中修复 所涵盖的部份,从而可大幅改善装置的良率。应了解,尽管本文提出特定的组态、配置及步骤,然而这些系仅供图解说明。熟谙 此艺者明白可使用其它的组态、配置及步骤而不脱离本发明的精神与范畴。熟谙此艺者明 白本发明也可应用于各种其它的应用系统。应注意,本专利说明书文中提及的“一具体实施例”、“具体实施例”、“示范具体实 施例”、等等系指该具体实施例可包含特定特征、结构或特性,但是每一个具体实施例不一 定包含该特定特征、结构或特性。此外,该等词组不一定意指同一个具体实施例。此外,在 描述与具体实施例结合的特定特征、结构或特性时,在熟谙此艺者的知识内,意指其它的具 体实施例可结合该特定特征、结构或特性,不论是否有明确的描述。尽管本文参照用于特定应用系统的示范具体实施例来描述本发明,应了解,本发 明不得不受限于该等示范具体实施例。取得本文所提供之教导的熟谙此艺者知道在本发明 的范畴及本发明在其中有重大效用的其它领域内仍有其它的修改、应用及具体实施例。第1图系根据本发明之一具体实施例图示可扩展及整合之计算系统100。系统100 包含序列器110、可扩展及整合之计算单元模块120、以及第二阶缓存系统130。可扩展及整 合之计算单元模块120包含着色管阵列122、视需要的冗余着色管阵列124、纹理映像单元126、以及第一阶纹理缓存系统128。着色管阵列122对输入数据执行ALU操作。序列器110控制发给内部工作负载的 着色程序指令与通过着色管阵列122的数据流量。此外,在有冗余着色管阵列124的具体 实施例中, 序列器110对于着色管阵列122内出现不良着色管的响应是安排(schedule)指 令至适当的冗余单元。序列器110可发出纹理提取或载入/储存的操作,这会起动着色管阵列122以送 出地址和发给纹理映像单元126的指令。在这种情况下,纹理映像单元126产生适当的地 址给含有与该等地址关连之文素数据或内存数据的第一阶纹理缓存系统128。第一阶缓存 系统128在收到地址后会传回相关的文素或内存数据至纹理映像单元126。若是请求的文 素或内存数据不在第一阶缓存系统128时,则转发(forward)该请求至第二阶缓存系统130 以得到及传回请求的文素数据。第2示的可扩展及整合之计算单元模块120系根据本发明之一具体实施例更 详细地图标着色管阵列122。在此具体实施例中,着色管阵列122包含一或更多个着色管区 块(shader pipe block),在此它们以SP_0至SP_M表示,其中“Μ”代表大于的正整数。在有冗余着色管阵列124的具体实施例中,如果序列器110辨识例如位于着色管 区块SP_1的着色管有缺陷,则会用输入模块经由输入串流(input stream)将以不良管为 目的地的着色管数据送到冗余着色管阵列124以及由冗余着色管阵列124处理。当有经由 起源于序列器110的水平控制路径211的指示时,冗余着色管阵列124会拦截所有的纹理 映像请求。一旦冗余着色管阵列124处理起初以不良着色管为目的地的着色管数据后,冗 余着色管阵列124处理过的数据会由冗余着色管阵列124传输回到着色管122的输出串流 以及在输出单元(未图标)重新排列。在一具体实施例中,冗余着色管阵列124由单一区块组成,因此一次只处理以单 一不良着色管为目的地的着色管数据。在其中冗余着色管阵列124包含多个冗余着色区块 的另一具体实施例中,冗余着色管阵列124则可同时处理以一个以上之不良着色管为目的 地的着色管数据。第3图系根据本发明之一具体实施例更详细地图标纹理映像单元126。在此具体 实施例中,着色管阵列122产生给纹理映像单元126的纹理或内存加载/储存请求,该纹理 映像单元126包含地址产生器系统318、预格式化器模块310、插值器模块312、累加器模块 314、以及格式化模块316。纹理映像单元126接收各自来自着色阵列122、124及序列器110 的请求,以及处理地址产生器系统318中的指令以判断真正的服务地址。由第一阶纹理缓 存系统128收到所得文素数据,之后,预格式化器模块310、插值器模块312、累加器模块314 及格式化模块316处理该数据。所得文素数据被送回到在着色管阵列122及/或冗余着色 管阵列124之中的请求资源。预格式化器模块310系配置为接收文素数据以及执行区块规 一化(block normalization)从而产生规一化的定点文素数据。插值器模块312接收来自 预格式化器模块310的规一化定点文素数据以及做一或更多次插值,每次会累加于累加器 模块314以达成有想要位准的二线性、三线性及各向异性纹理映像。格式化模块316把在 累加器模块314之中的累加文素数据转换成用于请求资源、着色管阵列122的标准浮点表 示形式。对于一般加载/储存数据,预格式化器模块310、插值器模块312、累加器模块314 及格式化模块316让请求的回传数据通过而不修改。
图示于第3图的具体实施例也图解说明第二阶缓存系统130的用法。该第二阶缓 存系统为附加内存,在可扩展及整合之计算单元模块120有必要或想要读及/或写数据至 第一阶缓存系统128时可利用它。 第4图的流程图系图示使用可扩展及整合之计算系统用于纹理映像的方法400。 方法400在步骤402开始。在步骤404,着色管接收来自序列器对于像素、顶点、原始数据、曲 面或计算机工作项目之一特定集合的一组纹理请求。在步骤406,该着色管基于用于像素、 顶点、原始数据、曲面或计算工作项目之该特定集合的着色程序指令来产生数据集地址。 在步骤408,纹理映像单元由第一阶及/或第二阶纹理缓存系统取回储存的文素数据。此 夕卜,在步骤410,纹理映像单元基于取回的文素数据与发端着色指令(originating shader instruction)来计算格式化的累加插值。方法400在步骤412结束。可实作图示于第1、2、3及4图的功能、处理、系统及方法于软件、韧体、或硬件、或 使用彼等之任何组合者。如果使用可编程逻辑(programmable logic),该逻辑可在市售处 理平台或特殊用途装置上执行。熟谙此艺者应了解,基于本文的描述,可设计本发明的具体实施例于使用硬件描 述语言(HDL)的软件中,例如Verilog或VHDL。基于HDL的设计可建立电子系统的性能模 型,在此可综合该设计以及最终制造成硬件装置。此外,基于HDL的设计可储存于计算机产 品中以及在制造硬件之前加载计算机系统。应了解,旨在用来解释申请专利范围的是实施方式,而不是
发明内容发明 摘要
发明内容发明摘要系阐述本发明人可想到的一或更多但不是所有的本发明 示范具体实施例,因而不是想要以任何方式来限定本发明及其申请专利范围。以上已藉助图解说明特定功能及其关系之具体实作的功能建立区块(functional building block)来说明本发明。该等功能建立区块的边界系任意定义以便说明。只要可 适当地执行该等特定功能及其关系,可定义替代边界。前面特定具体实施例的描述将完整地揭露本发明的一般性质,以致于他者藉由应 用本技艺的知识,在不需过度实验下,可轻易修改该等特定具体实施例及/或改造成可用 于各种应用系统,而不脱离本发明的一般概念。因此,希望基于本文提出的教导及指导的此 类改造及修改都落在揭示具体实施例的等价意思及范围内。应了解,本文的用语或术语是 用来说明而不是限制,使得熟谙此艺者可按照该等教导及指导来解释本专利说明书的用语 或术语。尽管以上已描述本发明的各种具体实施例,应了解,然而彼等均仅供举例说明,而 不是限制。熟谙此艺者明白其中的形式及细节可做出不同的改变而不脱离本发明的精神及 范畴。因此,本发明的广度及范畴不应受限于任何一个上述示范具体实施例,反而应该只根 据以下的申请专利范围及其等价陈述来定义。
权利要求
1.一种可扩展及整合的计算模块,其包含着色管阵列,其配置为接收纹理指令以及产生输出数据; 第一阶纹理缓存系统,其配置为储存纹理输出数据;以及纹理映像单元,其配置为接收来自该第一阶纹理缓存系统的纹理输出数据以及产生格 式化插值数据。
2.如权利要求1所述的可扩展及整合的计算模块,其中该着色管阵列配置为接收ALU、 加载/储存及输出指令。
3.如权利要求1所述的可扩展及整合的计算模块,更包含冗余着色管阵列,该冗余着 色管阵列配置为处理预定给该着色管阵列中的不良着色管的着色管数据。
4.如权利要求1所述的可扩展及整合的计算模块,其中该着色管阵列包含一个或多个 着色管区块。
5.如权利要求4所述的可扩展及整合的计算模块,其中着色管区块配置为包含一个或 多个着色管。
6.如权利要求1所述的可扩展及整合的计算模块,其中该第一阶纹理缓存系统配置为 读取和写入至第二阶缓存系统。
7.如权利要求1所述的可扩展及整合的计算模块,其中该纹理映像单元包含 预格式化器模块,其配置为接收文素数据以及产生规一化定点文素数据;插值器模块,其配置为对来自该预格式化器模块的该规一化定点文素数据插值以及产 生重新规一化的浮点文素数据;累加器模块,其配置为累加来自该插值器模块的浮点文素数据;以及格式化模块,其配置为将来自该累加器模块的文素数据转换成标准浮点表示形式。
8.如权利要求7所述的可扩展及整合的计算模块,其中该插值器模块配置为执行一次 或多次插值以便达成下列事项中的至少一个二线性纹理滤波; 三线性纹理滤波;以及 各向异性纹理滤波。
9.一种用于可扩展及整合的计算方法,其包含接收对于像素、顶点、原始数据、曲面或计算工作项目的一特定集合的纹理请求集合; 基于用于像素、顶点、原始数据、曲面或计算工作项目的该特定集合的着色程序指令, 产生地址数据集合;从第一阶缓存系统取回储存的文素数据;以及基于取回的文素数据与发端着色指令,计算格式化累加插值。
10.如权利要求9所述的可扩展及整合的计算方法,其更包含 处理预定给不良着色管的着色管数据。
11.如权利要求9所述的可扩展及整合的计算方法,其更包含 从该第一阶纹理缓存系统读取及写入至第二阶缓存系统。
12.如权利要求9所述的可扩展及整合的计算方法,其更包含 接收浮点文素数据;从该浮点文素数据产生规一化定点文素数据;对该规一化定点文素数据做插值; 产生重新规一化的浮点文素数据; 累加重新规一化的文素数据;以及将累加的重新规一化的文素数据格式化成标准浮点表示形式。
13.如权利要求12所述的可扩展及整合的计算方法,其中插值更包含 二线性纹理滤波;三线性纹理滤波;以及 各向异性纹理滤波。
14.如权利要求12所述的可扩展及整合的计算方法,其中该方法通过合成硬件描述语 言指令来执行。
15.一种用于可扩展及整合的计算系统,其包含 处理器;以及与该处理器通讯的一内存,其配置为储存多个处理指令用于引导该计算系统以 接收对于像素、顶点、原始数据、曲面或计算工作项目的特定集合的纹理请求集合; 基于用于像素、顶点、原始数据、曲面或计算工作项目的该特定集合的一着色程序指 令,产生地址数据集合;从第一阶缓存系统取回储存的文素数据;以及基于取回的文素数据与发端着色指令,计算格式化累加插值。
16.如权利要求15所述的可扩展及整合的计算系统,其更包含数个指令用于使该计算 系统处理预定给不良着色管的着色管数据。
17.如权利要求15所述的可扩展及整合的计算系统,其更包含数个指令用于使该计算 系统从该第一阶纹理缓存系统读取及写入至第二阶缓存系统。
18.如权利要求15所述的可扩展及整合的计算系统,其更包含数个指令用于使该计算 系统取回浮点文素数据;从该浮点文素数据产生规一化定点文素数据; 对该规一化定点文素数据做插值; 产生重新规一化的浮点文素数据; 累加重新规一化的文素数据;以及把累加的重新规一化的文素数据格式化成标准浮点表示形式。
19.如权利要求15所述的可扩展及整合的计算系统,其更包含数个指令用于使该计算 系统用二线性纹理滤波器滤波; 用三线性纹理滤波器滤波;以及 用各向异性纹理滤波器滤波。
20.一种用于可扩展及整合的计算系统,其包含 用于接收来自一资源对于一特定像素的纹理请求的装置;用于基于该特定像素的渲染计算来产生输出文素数据的装置; 用于从第一阶缓存系统取回文素数据的装置;以及 用于基于该文素数据使用一映像单元来计算格式化插值的装置。
21.如权利要求20所述的可扩展及整合的计算系统,其更包含 用于处理预定给一不良着色管的着色管数据的装置。
22.如权利要求20所述的可扩展及整合的计算系统,其更包含 用于从该第一阶纹理缓存系统读取及写入至第二阶缓存系统的装置。
23.如权利要求20所述的可扩展及整合的计算系统,其更包含 用于接收浮点文素数据的装置;用于从该浮点文素数据产生规一化定点文素数据的装置; 用于对该规一化定点文素数据做插值的装置; 用于产生重新规一化的浮点文素数据的装置; 用于累加重新规一化的文素数据的装置;以及用于把累加的重新规一化的文素数据格式化成标准浮点表示形式的装置。
24.如权利要求20所述的可扩展及整合的计算系统,其更包含 用于使用二线性纹理滤波器滤波的装置;用于使用三线性纹理滤波器滤波的装置;以及 用于使用各向异性纹理滤波器滤波的装置。
25.一种计算机可读取媒体,其携带由一个或多个指令组成的一个或多个序列,在由一 个或多个基于处理器的计算装置执行该一个或多个序列时使得该一个或多个计算装置执 行一种可扩展及整合的计算方法,该方法包含下列步骤接收对于像素、顶点、原始数据、曲面或计算工作项目的特定集合的纹理请求集合; 基于用于像素、顶点、原始数据、曲面或计算工作项目的该特定集合的着色程序指令, 产生地址数据集合;从第一阶缓存系统取回储存的文素数据;以及基于取回的文素数据与发端着色指令,计算格式化累加插值。
全文摘要
一种可扩展及整合的计算系统系执行可扩展、可修复的泛用及图形着色操作,内存加载/储存操作,以及纹理滤波。一种可扩展及整合之计算单元模块系包含着色管阵列、纹理映像单元、以及第一阶纹理缓存系统。该可扩展及整合之计算单元模块接收来自着色程序的ALU指令、输入/输出指令、以及对于像素、顶点、原始数据、曲面或一般计算工作项目之一特定集合的纹理或内存请求,以及执行相关的操作以计算出程序的输出数据。该纹理映像单元接收来源数据地址及指令常数以便提取、格式化及执行指示的滤波插值以基于储存于第一阶纹理缓存系统的特定对应数据来产生格式化的结果。该纹理映像单元由地址产生系统、预格式化器模块、插值器模块、累加器模块及格式化模块组成。也提出一种用于可扩展及整合之计算系统的方法。
文档编号G09G5/00GK102047315SQ200980119829
公开日2011年5月4日 申请日期2009年6月1日 优先权日2008年5月30日
发明者J·T·布拉迪, M·C·福勒, M·J·曼托, M·P·齐尼 申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1