冗余方法以及着色器列修复的装置的制作方法

文档序号:2578636阅读:174来源:国知局
专利名称:冗余方法以及着色器列修复的装置的制作方法
技术领域
通常来说,本发明系有关于在计算系统中执行之计算操作,尤其是关于在计算系 统中执行之绘图处理工作。
背景技术
绘图处理单元(GPU)为复杂的集成电路,特别设计成执行绘图处理工作。举例来 说,GPU可藉由如电视游戏应用程序的终端使用者应用程序执行绘图处理工作。在此等例 子中,在终端使用者与GPU之间有数层软件。终端使用者应用程序与应用程序接口(API)通信。API能使终端使用者应用程 序以非取决于GPU的格式的标准格式,输出绘图数据及指令。数种APIs可商业取得,包含 Microsoft Corp.开发的 DirectX(R)及 Silicon Graphics,Inc 开发的 OpenGL(R)。API 与 驱动程序通信。驱动程序将来自API的标准编码,转译成GPU能了解的本机格式(native format)的指令。驱动程序通常由GPU制造商撰写。GPU接着执行来自驱动程序的指令。GPU产生像素,在所谓呈现的过程中,该像素为来自其组件中较高层级描述元的图 像上色(make up)。GPU通常藉由管线的使用,利用连续渲染(continuous renderring)的 概念以处理像素、纹理,以及几何数据。这些管线通常指着色器管线或着色器管路(shader pipeline),术语“着色器”在计算机绘图中系指主要在执行渲染效果的绘图资源所使用的 一组软件程序。此外,GPU亦可使用平行处理设计中的多重管路,以获得更高的输出量。多 重着色器管路亦可指着色器管线数组。错误会周期性地发生在作为着色器管线数组的管路中的某处,如生产损坏的结 果。随着错误的数目增加,可接受的渲染演算(rendering calculations)整体良率会下降。 一般而言,用来矫正损坏管路的方法会再计算着色器管线数组中的整体数组的数据。虽然 此方法可矫正损坏的管路数据,但也花费相当数量的处理时间以再计算整体数组的数据。 即使是因为单一管路中的单一损坏组件造成的此结果,此结果会大力地降低系统的整体效 能或有效产品的生产良率数量。因此,需要一种系统及/或方法,以解决上述问题。尤其是,需要一种高效率、有成 本效益的方法,以对整体产品的生产或效能的最小冲击来克服损坏的着色器管线的效应。

发明内容
与此处具体且广泛说明的本发明的原则一致,本发明包含着色器管线修复的方法 及装置,其包含着色器管线数组、冗余着色器管线数组、冗余着色器开关、序列发生器,以及 纹理快取系统。于制造测试、系统层级测试或激活测试期间,如果未发现损坏,则控制缓存 器被设置成将损坏的着色器管线列映像(map)至冗余着色器管线列。举例来说,在正常操 作模块中,如果冗余着色器控制缓存器指出着色器管线数组中的着色器管线列中的损坏, 则冗余着色器开关直接经由横向路径,将指向损坏的着色器管线列的数据传送至处理该数 据的冗余着色器管线数组。其可以每一行单独或全部若一起予以控制。因为制造损坏、后制造损坏、组件劣化、外在干扰及/或意外的静电放电,或其它电性或环境条件或事件,会 造成着色器管线数组中的损坏的着色器管线。如果在测试期间侦测到静电或间歇性错误条 件,则着色器管线会是损坏的。测试可在制造的时候进行,或在产品的使用期间周期性地 (如激活或起始化的时候)进行。冗余着色器管线数组处理数据时,冗余着色器开关会将 数据再插入正确的输出列中。此外,冗余着色器开关将冗余着色器管线数据同步化,以使冗 余着色器管线数据藉由其它输出数据被正确地定位及计时。藉此,藉由将预设于损坏着色 器管线的数据再发送(re-routing)至处理用的冗余着色器管线,将损坏的着色器管线“修叉。在本发明的具体实施例中,着色器管线数组包含一个或多个纵向着色器管线列, 其中各列由一个或多个着色器管线区块构成。在本具体实施例中,着色器管线数组被设置 成为具有M纵向着色器管线列的(MxN)数组,其中各列包含N行的着色器管线区块。在另一具体实施例中,冗余着色器管线包含一个或多个纵向冗余着色器管线列, 其中各列由一个或多个冗余着色器管线构成。在本具体实施例中,冗余着色器管线数组被 设置成具有X纵向冗余着色器管线列的OCxN)数组,其中各列包含N行的冗余着色器管线 区块。在另一具体实施例中,冗余着色器管线包含一个或多个纵向冗余着色器管线列, 冗余着色器管线可同时接收、处理,以及将预设至单一着色器管线数组中的损坏着色器管 线列的数据输出至一个或多个纵向冗余着色器管线列。藉此,各冗余列可修复主要着色器 管线数组中的个别列。在另一具体实施例中,冗余着色器管线数组包含输入及输出模块。输入模块可传 送数据至冗余着色器管线列,以备处理,该数据在数据进入着色器管线数组之前,原本预设 至损坏的着色器管线。在本具体实施例中,着色器管线数组的输出单元亦会将经处理的着 色器管线数据从冗余着色器管线数组多任务至正确的输出列中,并会同步化输出以与其它 输出数据一致。再者,本发明的详细特性及优点以及本发明的各种具体实施例的结构及操作,配 合附图详细说明于下述中。须注意的是本发明不受限于此处所述的特定实施例。此处呈 现的该等具体实施例仅为例示性说明之目的。基于此处包含的教示,其它具体实施例对本 技术领域具通常知识者而言为清楚的。


此处并入并构成部分的说明之附图、本发明的例示性具体实施例、上述提供的整 体说明,以及以下提供的具体实施例的详细说明,提供以解释本发明的原则。在该等图标 中图1为根据本发明之具体实施例的绘图处理单元中的着色器系统的图标;图2为根据本发明之具体实施例之着色器管线数组的更详细示意图;图3为根据本发明之具体实施例之冗余着色器开关之更详细示意图;图4为根据本发明之具体实施例之冗余着色器管线数组之更详细示意图;图5为根据本发明之具体实施例之多重列冗余着色器管线数组的示意图;以及图6为着色器管线数据使用冗余着色器开关进行修复的方法。
本发明的详细特性及优点以及本发明的各种具体实施例的结构及操作,配合附图 详细说明于下述中,其中类似组件符号标示各对应组件。在该等图标中,类似组件符号通常 表示相同、功能类似及/或结构类似的组件。组件首次出现的图标由对应组件符号中最左 边数字标示。
具体实施例方式本发明关于一种着色器管线数组,其中有具处理预设于损坏着色器管线的数据的 能力的冗余着色器管线数组。在本发明的具体实施例中,损坏的着色器管线被确认,接着预 设于该经确认损坏着色器管线的数据经由冗余着色器开关的使用透过横向路径,被替换性 传送至处理着色器管线数据的冗余着色器管线数组。冗余着色器开关亦控制在与其它输出 数据一致的正确时间下将经处理的着色器管线数据传送回至正确的输出列。藉此,损坏的 着色器管线的功能可被修复,冗余着色器管线数组可用于提升制造时良率或延长装置的使 用寿命,其中后来的损坏的着色器管线亦会造成装置无法使用或操作于劣化条件下。虽然已发表特定组构、装置及步骤,但须了解的是其仅为例示性说明之目的。本 技术领域具通常知识者将认识到可在不脱本发明的精神及范围下使用其它组构、装置及 步骤。对本技术领域具通常知识者而言,清楚的是亦可以各种应用使用本发明。须注意的是说明书中参照的“一个具体实施例(one embodiment”、“一具体实施 例(an embodiment) ”、“一例示具体实施例(an example embodiment) ”等表示所述具体实 施例可包含特定特征、结构或特性,但各具体实施例并非一定要包含这些特定特征、结构或 特性。再者,该等词组并非一定代表相同的组件。再者,当说明关于具体实施例的特定特 征、结构或特性时,其将落入本技术领域具通常知识者的知识,以将不论有无例示性说明其 它具体实施例相关的特定特征、结构或特性结合。虽然本发明参照特定的例示性具体实施例予以说明,须了解的是本发明不限于 此。本技术领域具通常知识者透过此处提供的教示将认识到本发明的其它修饰、应用及其 范围中的具体实施例,以及本发明发挥强大功效的其它领先。图1为根据本发明之实施例的绘图处理单元中的着色器系统100的图标。系统 100包含着色器、序列发生器130、管线数组140、以RSS-h 120及RSS-Out 160表示的冗余 着色器开关(RSQ、冗余着色器管线数组150,以及纹理过滤器155。而且图1亦显示输入 像素数据的着色器管线内差单元110,以及经处理像素数据所指向的着色器管线输出170着色器管线数组140对通过RSSHn 120从着色器管线内差单元110接收来的输 入数据,执行着色程序计算。RSS-h 120控制输入数据至着色器管线数组140的流量。序 列发生器130控制经过着色器管线数组140的数据流量,以及着色器管线数组140中损坏 的着色器管线。在没有损坏的着色器管线情形时,经处理的数据继续通过RSS-Out 160至 着色器管线输出170。在着色器管线数组140中有损坏的着色器管线情形时,序列发生器130会通知 RSS-In 120损坏着色器管线的位置。RSS-In 120接着将预设至损坏着色器管线的数据,经 由直接横向路径(direct horizontal path),从着色器管线数组140传送至冗余着色器管 线数组150。冗余着色器管线数组150藉由处理着色器管线数据负责“有效地”修复损坏的 着色器管线,该着色器管线数据原本是设定成由损坏的着色器管线在处理的。当着色器管线数据由冗余着色器管线数组150处理时,数据返回RSS-Out 160,RSS-Out 160将冗余着 色器管线数据设置在正确位置,以及假设着色器管线没有损坏情形下的适当时间。着色器管线数组140及冗余着色器管线数组150亦可发布纹理请求至纹理过滤器 155。在此情形时,纹理过滤器155产生适当地址至快取系统(未示),该快取系统系含关于 像素的纹理元素数据。快取系统接收地址后,会将相关纹理元素数据送回纹理过滤器155。在另一具体实施例,在没有损坏的着色器管线情形时,冗余着色器管线数组150 可用于其它目的,举例包含对输入数据的外加渲染演算(rendering calculations)。在另 一具体实施例,如果特定特定侦错测试(例如软件编码或硬件测试电路)确认着色器管线 只有间歇性损坏或新近损坏,接着可将控制缓存器(未示)设置成使间歇性或新近损坏的 着色器管线的着色器管线数据只被传送冗余着色器管线数组,以备处理。图2绘示根据本发明之具体实施例之着色器管线数组140的更详细示意图。在本 具体实施例中,着色器管线数组140包含一个或多个纵向着色器管线列,以纵向着色器管 线列141-1、141-2、141-3及141-4至141-M表示,其中“M”表示大于1的正整数。各纵向 着色器管线列,如141-A,包含一个或多个着色器管线区块,此处以SP_00至SP_0N表示,其 中“N”表示大于1的正整数。图2中之一例,如果序列发生器130确认位于着色器管线区块SP_12中的着色器 管线为损坏的,接着RSS-^i 120会将预设至损坏着色器管线的数据,经由横向路径,传送 至冗余着色器管线数组150,以备处理。当冗余着色器管线数组150处理预设至损坏着色器 管线的着色器管线数据时,经处理的着色器管线数据会从冗余着色器管线数组150被传送 至 RSS-Out 160。图3绘示根据本发明之具体实施例之RSS-Out 160之更详细示意图。RSS-Out 160 包含标示为DB_0至DB_M的一组延迟缓冲器,以及标示为DB_0至DB_M的一组输出缓冲器。 各组延迟缓冲器及输出缓冲器,如DB_0及DB_0,对准于对应的纵向着色器管线数组140,例 如SP_00至SP_0N构成的列0。延迟缓冲器的目的在将着色器管线数组中的纵向着色器管线列的数据输出掌握 足够的一段时间以使冗余着色器管线数组150结果再对准,以完成着色器管线数据的处理 以及将经处理的着色器管线数据传送回RSS-Out 160之适当的列。举例来说,如果序列发 生器130指出纵向着色器管线列2中(具体地在SP_2N中)的损坏的着色器管线,则预设于 损坏着色器管线SP_2N的着色器管线数据将会经由关于行N(图3中的131所示)的横向 路径被传送至冗余着色器管线数组150。冗余着色器管线数组150会处理着色器管线数据, 并接着经由图3中的161所示的回传路径将经处理的着色器管线数据传回RSS-Out 160。 在本例中,由于损坏的着色器管线位在列2中,因此,经处理的着色器管线数据会被传回至 输出缓冲器DB_2。因为在此DB_2的例子中的延迟缓冲器,在此DB_2的例子中的输出缓冲 器能将经处理的着色器管线数据插入至列2的输出流,以代替原本在SP_2N中的着色器管 线数据。在一实施例中,数据可经处理成为单一指令多重数据(SIMD),其中损坏的信道被 冗余单元取代,该冗余单元取代中由序列发生器130发布处理需要的全部指令,包含传送 指令(export instructions) 0因此,RSS-Out 160在指令基础上执行数据的再对准。然 而,在另一具体实施例中,SIMD架构可被多重指令流(Multiple Instruction stream),即为其众组件以平行及独立方式运作的多重数据流(Multiple Data stream ;MIMD) 0图4绘示根据本发明之具体实施例之冗余着色器管线数组150之更详细示意图。 在本具体实施例中,冗余着色器管线数组150包含图4中圈示成为151的单一列。在本组 构中,冗余着色器管线数组150可处理预设于仅一个损坏着色器管线每一行的着色器管线 数据,但可修复高达N个行。RSP_00区块可处理预设于着色器管线数组140的行0中的单 一损坏着色器管线的着色器管线数据,该着色器管线数组140包含区块SP_00至SP_M0。在 类似方式中,区块RSP_01可为冗余着色器管线数组150的多行至RSP_0N,处理预设于着色 器管线数组140的行1中的单一损坏着色器管线的着色器管线数据,该着色器管线数组140 包含区块SP_00至SP_M1等。图5绘示根据本发明之具体实施例之多重列冗余着色器管线数组510。在本具体 实施例中,冗余着色器管线数组510包含图5中圈示成为,其中X为大于一的正整数。在本 组构中,冗余着色器管线数组510可处理预设至高达X个损坏着色器管线每一行的着色器 管线数据。在着色器管线数组510中的列的数目(“X”)与在着色器管线数组140中的列 的数目(“M”)无关,但为在欲同时处理着色器管线数据的单一行中并存的损坏着色器管线 数目的函数。图6绘示着色器管线数据使用冗余着色器开关进行修复的方法600。方法600从 步骤602开始。在步骤604中,序列发生器基于系统测试结果读取着色器管线控制缓存器, 以及将控制器设定成使用着色器管线的冗余。在步骤606,冗余着色器开关将预设于损坏着 色器管线的着色器管线数据,从着色器管线数组多任务(multiplex)至冗余着色器管线数 组,以备处理。在步骤608中,冗余着色器管线执行预设至损坏着色器管线的着色器管线数 据的实际处理。在步骤610中,冗余着色器管线数组将经处理的着色器管线数据传回至冗余着色 器开关的适当输出列。在步骤612中,冗余着色器开关将来自着色器管线数组及冗余着色 器管线数组的经处理的着色器管线数据,合并在适当输出列中。第图1、2、3、4、5及6中所示的功能、程序、系统及方法可以软件、韧体或硬件或其 任意组合的使用完成。如果使用可程序逻辑,该逻辑可执行市售处理平台或特定目的之装置。对本技术领域具通常知识者而言,根据此处的说明,本发明的具体实施例使用如 Verilog或VHDL的硬件描述语言(HDL)的软件中。HDL设计模式化电子系统的动作,其中 该设计可经合成及最后制造进入硬件中。此外,HDL设计可储存在计算机程序产品中,并可 硬件制造前加载计算机系统中。
须了解的是发明内容及摘要(Summary and Abstract)段落以外的详细说明 (Detailed Description Action)段落欲用于解释权利要求。发明内容及摘要提出一个或 多个发明人深思所得的本发明的例示性具体实施例,因此并非意欲以任何方式限制本发明 的权利要求。藉由绘示特定功能及其关系的装置的功能性组合区块的辅助,上述已经说明本发 明。为了说明方便,该等功能性组合区块的边界可任意予以界定。只要特定功能及其关系 可适当地予以执行,可界定成其它边界。上述特定具体实施例完整揭露本发明的全部特征,以使其它人可藉由应用本技术领域的知识,在不脱离本发明的概念下,清楚地修饰及/或调整该等特定具体实施例的各 种应用。因此,基于此处提出的教示及引导,该等调整及修饰落入本发明揭露的具体实施例 意义及均等范围中。须了解的是此处的词组或术语为说明之目的并非限制之目的,因此本 说明书的词组或术语由本技术领域具通常知识者根据教示及引导解读。
虽然本发明的各种实施例已经过上述说明,但须了解到本发明仅由该等实施例方 式呈现,但本发明不受限于此。对本技术领域具通常知识者而言清楚的是该等实施例可在 不脱离本发明的广义发明概念、范围及其均等范围的原则及精神下,加以置换、修改以及变 化。须了解的是,本发明不受限于该等实施例。因此,本发明的广泛及范围不应受限于上述 的例示性实施例,但应由如根据以下权利要求及其均等定义之。
权利要求
1.一种冗余着色器管线修复系统,包含着色器管线阵列(SP),设置成对输入数据执行渲染演算;冗余着色器开关(RSS),设置成当序列发生器确认该着色器管线阵列中的损坏着色器 管线时,控制至冗余着色器管线(RSP)阵列的数据输入及输出信号的开关;以及冗余着色器管线(RSP)阵列,设置成处理预设至该损坏着色器管线的着色器管线数据。
2.如权利要求1所述的冗余着色器管线修复系统,其中,该着色器管线阵列还包含一个或多个纵向着色器管线列,其中各纵向着色器管线列包 含一个或多个着色器管线区块,其中每一行有单一着色器管线区块;以及该冗余着色器管线阵列还包含一组或多组纵向冗余着色器管线列,各纵向冗余着色器 管线列包含一个或多个冗余着色器管线区块,其中每一行有单一冗余着色器管线。
3.如权利要求2所述的冗余着色器管线修复系统,其中,纵向着色器管线列中的各着色器管线区块可包含一个或多个着色器管线;以及 纵向冗余着色器管线列中的各冗余着色器管线区块可包含一个或多个着色器管线。
4.如权利要求2所述的冗余着色器管线修复系统,其中,各纵向冗余着色器管线列包 含与着色器管线阵列的纵向着色器管线列中的着色器管线行的数目相同数量的冗余着色 器管线行。
5.如权利要求2所述的冗余着色器管线修复系统,其中,该冗余着色器开关还包含 输入区段,将预设至该损坏着色器管线的着色器管线数据从该着色器管线阵列中的纵向着色器管线列中的着色器管线区块多任务至该冗余着色器管线阵列中的纵向冗余着色 器管线列中的冗余着色器管线区块,以备处理;以及输出区段,将该经处理的着色器管线数据从该冗余着色器管线区块多任务至该冗余着 色器开关的适当输出列。
6.如权利要求5所述的冗余着色器管线修复系统,其中,该着色器管线区块中预设至 该损坏着色器管线的该着色器管线数据经由横向路径被移动至该冗余着色器管线阵列中 的纵向冗余着色器管线列中的冗余着色器管线区块,以备处理。
7.如权利要求5所述的冗余着色器管线修复系统,其中,该冗余着色器开关的该输出 区段还包含延迟管线,以将该经处理的着色器管线数据再对准于输出传送数据。
8.如权利要求2所述的冗余着色器管线修复系统,其中,各纵向冗余着色器管线列被 设置成处理预设至一个或多个损坏着色器管线的着色器管线数据。
9.如权利要求8所述的冗余着色器管线修复系统,其中,各纵向冗余着色器管线列被 设置成处理预设至每一行的一个损坏着色器管线的着色器管线数据。
10.如权利要求2所述的冗余着色器管线修复系统,其中,各纵向冗余着色器管线列被 设置成同时处理预设至同一行中的一个或多个损坏着色器管线的着色器管线数据。
11.一种着色器管线修复方法,包含确认由数行及数列着色器管线所构成的阵列中的损坏着色器管线; 将预设至该损坏着色器管线的着色器管线数据多任务至冗余着色器管线阵列,以备处理;处理预设至该损坏着色器管线的该着色器管线数据;将该经处理的着色器管线数据传回至适当输出列;以及 将该适当输出列中的经处理的着色器管线数据与输出传送数据同步化。
12.如权利要求11所述的着色器管线修复方法,其中,预设至多个不同行的损坏着色 器管线的着色器管线数据可同时被处理。
13.如权利要求11所述的着色器管线修复方法,其中,预设至多个同一行的损坏着色 器管线的着色器管线数据可同时被处理。
14.如权利要求11所述的着色器管线修复方法,其中,该方法通过合成硬件描述语言 指令执行。
15.一种着色器管线修复系统,包含 处理器;以及与该处理器通信的存储器,该存储器用于储存多个处理指令以指示该处理器 确认由数行及数列着色器管线所构成的阵列中的损坏着色器管线; 将预设至该损坏着色器管线的着色器管线数据多任务至冗余着色器管线阵列,以备处理;处理预设至该损坏着色器管线的该着色器管线数据;将该经处理的着色器管线数据传回至适当输出行;以及将该适当输出列中的该经处理的着色器管线数据与输出传送数据同步化。
16.如权利要求15所述的着色器管线修复系统,其中,预设至多个不同行的损坏着色 器管线的着色器管线数据可同时被修复。
17.如权利要求15所述的着色器管线修复系统,其中,预设至多个同一行的损坏着色 器管线的着色器管线数据可同时被修复。
18.一种着色器管线修复系统,包含用来确认由数行及数列着色器管线所构成的阵列中的损坏着色器管线的装置; 用来将预设至该损坏着色器管线的着色器管线数据多任务至冗余着色器管线阵列以 备修复的装置;用来处理预设至该损坏着色器管线的该着色器管线数据的装置;用来将该经处理的着色器管线数据传回至适当输出行的装置;以及用来将该适当输出列中的该经处理的着色器管线数据与输出传送数据同步化的装置。
19.如权利要求18所述的着色器管线修复系统,其中,预设至多个不同行的损坏着色 器管线的着色器管线数据可同时被修复。
20.如权利要求18所述的着色器管线修复系统,其中,预设于多个同一行的损坏着色 器管线的着色器管线数据可同时被修复。
21.一种计算机可读介质,承载一个或多个序列的一个或多个可被一个或多个处理器 执行的指令,以执行着色器管线修复方法,其包含确认由数行及数列着色器管线所构成的阵列中的损坏着色器管线; 将预设至该损坏着色器管线的着色器管线数据多任务至冗余着色器管线阵列,以备处理;处理预设至该损坏着色器管线的该着色器管线数据; 将该经处理的着色器管线数据传回至适当输出行;以及将该适当输出列中的该经处理的着色器管线数据与输出传送数据同步化。
全文摘要
本发明提供一种使用冗余着色器开关(RSS)进行着色器数据修复的方法及装置。RSS由输入及输出区段组成,藉以在侦测到损坏的着色器管线时,RSS将预设于损坏着色器管线的着色器管线数据多任务至用于处理的冗余着色器管线阵列。在处理时,着色器管线数据被多任务传回至RSS,其中经处理的着色器管线数据被指向RSS的对应输出列。RSS含延迟管线,以用于将经修复的管线与输出传送数据再对准及同步化。
文档编号G09G5/00GK102047317SQ200980119971
公开日2011年5月4日 申请日期2009年6月1日 优先权日2008年5月30日
发明者A·E·索卡拉斯, J·T·布拉迪, M·J·曼托 申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1