一种缓存器收集装置及其方法以及使用该收集装置及该方法的像素处理系统的制作方法

文档序号:6651382阅读:145来源:国知局
专利名称:一种缓存器收集装置及其方法以及使用该收集装置及该方法的像素处理系统的制作方法
技术领域
本发明涉及一种缓存器收集装置及其方法以及使用该收集装置及该方法的像素处理系统,特别是有关于一种用于图形处理器(Graphic Processor Unit,GPU)确缓存器收集装置及其方法以及使用该收集装置及该方法的像素处理系统。
背景技术
请参考图1,其为一图形处理单元2的管线架构的方块图。该图形处理单元2主要包含三角设定单元23、像素处理单元24以及深度处理单元25,像素处理单元24包括像素着色器20以及连接于像素着色器20的材质单元(Texture Unit)241与色彩内插器(Color Interpolator)242。将三维对象的表面分割成数个二维的三角形,此三角形以几何关联性排列且具有任意的尺寸。每个三角形包含三个顶点,并且将这些顶点数据传送至三角设定单元23,三角设定单元23用于将像素的参数输出至像素处理单元24,其中参数例如可为像素在三角形的位置以及对应于三角形的顶点的材质坐标。依据像素的位置以及顶点的材质坐标,像素处理单元24利用材质单元(Texture Unit)241内插所有像素的材质坐标,然后将内插形成的材质坐标输入至像素着色器20。接着像素着色器20执行载入指令,例如DirectX规格中定义的texld指令,并且传回已处理完成的材质坐标给材质单元241。根据未处理的材质坐标以及已处理的材质坐标,材质单元241对像素在材质图中的材质颜色进行取样,并且将材质颜色输出至像素着色器20。同时依据像素的位置以及顶点的材质坐标,色彩内插器242对所有像素的顶点颜色作内插运算,并且将这些顶点颜色输出至像素着色器20。像素着色器20处理材质颜色以及像素的顶点颜色,并且将色彩值以及深度值输出至深度处理单元25,以形成所显示的像素颜色。然后将最后的颜色画出,即可形成整个画面(Frame)。
同时请参阅图2,其为图1的图形处理单元中利用像素着色器处理程序的方块图。像素着色器20主要包含四种缓存器用来储存暂时性数据的一般缓存器(rn)、材质坐标缓存器(tn)、材质编码缓存器(sn)、顶点混色缓存器(vn)以及输出缓存器(ocn),并且将最后转换完成的像素颜色传送至深度处理单元25。
像素着色器20的处理流程主要包括四个阶段坐标计算阶段、材质加载阶段、混色阶段以及发出阶段。首先将来自材质单元241的像素内插材质坐标储存于材质坐标缓存器(tn)。在坐标计算阶段,针对来自材质单元241像素的内插材质坐标使用材质坐标缓存器(tn)以及一般缓存器(rn)进行算术运算,亦即将运算的结果(处理之后的材质坐标)储存于一般缓存器(rn)内。在材质处理阶段,依据材质坐标缓存器(tn)以及一般缓存器(rn)内的材质坐标,以像素着色器20执行材质载入指令,使材质单元241从材质编码缓存器(sn)指定的材质图中取样出材质颜色,再将取样完成的材质颜色传回一般缓存器(rn)。在混色阶段,利用像素着色器20将储存在缓存器(rn)的材质颜色以及来自色彩内插器242的顶点颜色作混色运算,并且将混色的结果储存于顶点混色缓存器(vn)。在发出阶段,像素着色器20将色彩值以及深度值输出至深度处理单元25。应注意的是,坐标计算阶段、材质处理阶段以及混色阶段可重复组合。
指令间有数据和控制相依性,亦即后一个指令使用前一个指令的结果,所以必须等到前一个指令完成之后才能执行后一个指令。在像素着色程序中,材质载入指令的执行延迟时间相当长,主要是因为延迟的时间远高于地址传送、内存存取以及色彩内插运算所需的时间,而此延迟时间影响系统效能甚巨。为了改善此延长时间,利用管线化(Pipeline)架构来处理N个像素,所以在下一个周期就可以执行下一像素,直到执行N个像素,当最初执行此指令的像素已经完成,即可继续执行下个指令。然而当执行N个像素,需要N组像素着色程序指令集规格中规定的缓存器同时存于像素着色器。因此,现有技术之图形处理单元2中的像素着色器20必需提供额外的缓存器来储存像素,导致需要相当大的缓存器成本来解决材质加载指令延迟时间的问题。
为了解决上述问题,美国第5,652,774号专利案揭露了一种具有更名缓存器来减少执行指令所需耗用的周期的中央处理器。该中央处理器包括一个更名缓存器组,以保留前面执行过的指令所取得的数据。更名缓存器组用来执行后面的指令,这些指令需要前面载入的数据,亦即需要保持更名缓存器与后续的指令间的关连性,故占用较长的运算周期,使得更名缓存器无法实时释出,而无法执行下一指令或是更多的指令。因此现有的中央处理器占用较多的缓存器,此外在像素处理过程中,取样步骤是很复杂的内插运算,而且材质图是存放在内存中,即使以快取(Cache)来加速,亦需要相当长的周期,尤其是当快取失误(Cache Miss)时,需要很长的周期来读取内存。
此外,为了解决上述问题,另一美国第6,314,511号专利案揭露一种释放更名缓存器(Renaming Register)的系统及其执行方法,于使用一指令重新定义结构缓存器(ArchitecturalRegister)之前,处理器先将数个更名缓存器配置给结构缓存器使用,使处理器以乱序(Out-of-order)机制来执行数个指令。虽然处理器使用指示器来释放更名缓存器,然而处理器系使用复杂的乱序机制。换言之,先撷取指令并且对该指令译码,然后更名机制在程序执行过程中以动态方式更改缓存器,以乱序机制对缓冲存储器重新排序,导致更名的过程更为复杂。
因此需要一种新式的像素处理系统来解决上述的问题。

发明内容本发明的主要目的在于提供一种像素处理系统,藉由缓存器收集装置以特定数量的缓存器来处理更多的像素,以改善材质指令的延迟时间。
本发明的另一目的在于提供一种收集配置给像素着色程序的缓存器的方法,以处理更多的像素,并且解决像素材质指令的延迟时间的问题。
本发明的像素理系统主要包括像素着色器以及连结于像素着色器的缓存器收集装置。缓存器收集装置将第一程序修正为第二程序,第一程序需要使用特定数量的缓存器,第二程序只需要前述一部份的缓存器即可。像素着色器撷取、执行第二程序,并且重新配置第一程序中的缓存器以形成第二程序。
本发明所述的方法用于收集像素处理系统中配置给第一程序的缓存器,第一程序包含数个第一指令并且使用数个缓存器,其中一部份数量的缓存器为使用中的缓存器,另一部分为闲置未使用的缓存器,但未使用的缓存器为第一程序所占用。本发明的方法包括扫描第一程序的第一指令,接着对第一指令进行译码,以取得数个缓存器,然后将第一程序修正为具有数个第二指令的第二程序,且第二程序只使用特定缓存器数量中的一部份,另一部份未使用的缓存器重新分配给其它的程序使用。
本发明的方法亦包括提供对应于实质缓存器的编码,以显示第二程序使用的实质缓存器的数量,并且可修正第一程序的唯名缓存器来对应于实质缓存器的编码。较佳实施例中,实质缓存器的编码为连续的正整数,可为微升幂或是降序排列。本发明的方法亦包含通报像素处理系统所处理的像素的总数量至像素着色器。另外,本发明的像素处理系统所处理的像素包含数个不同的像素群组,其中每个像素群组包含相同或是不同数量的像素,本发明的指示值亦可指示出像素理系统正在处理哪一个像素群组。

下面结合附图和实施例对本发明进一步说明图1是现有图形处理单元的管线架构的方块图。
图2是图1的图形处理单元中利用像素着色器处理程序的方块图。
图3是本发明的第一实施例的缓存器收集装置的方块图。
图4A及4B是本发明的第一实施例中执行缓存器收集装置的流程图。
图5是本发明的缓存器收集装置的方块图,其利用图4A及4B所示的第一实施例来执行第一程序缓存器收集装置的流程图。
图6A及6B图是本发明的第一实施例中执行缓存器收集装置的流程图。
图7是本发明缓存器收集装置的方块图,其利用图6A及6B图所示的第一实施例来执行第一程序缓存器收集装置的流程图。
图8是本发明之第二实施例中使用缓存器收集装置的像素处理系统。
图9是本发明的第三实施例中使用缓存器收集装置的像素处理系统。
主要元件符号说明2 图形处理单元10 缓存器收集装置11 指令扫瞄装置12 缓存器对应表13 指令修正装置14 指示报告器20 像素着色器 23 三角设定单元24 像素处理单元25 深度处理单元100 像素处理系统201 指令排序单元202 程式计数器 203 译码器204 缓存器 205 算术逻辑单元241 材质单元242 色彩内插器具体实施方式首先请参考图3,其为本发明的第一实施例的缓存器收集装置的方块图。此缓存器收集装置设置于撷取第一程序的撷取装置之前或是设置于对第一程序作译码的译码装置之前,收集装置用于将第一程序修正为第二程序,其中第二程序使用的缓存器数量小于第一程序使用的数量。第一程序包含数个指令且具有数个唯名缓存器。此处唯名缓存器定义为经过撷取装置或是译码装置处理之前第一程序中所使用的缓存器而言。由于第一程序只使用一部份的唯名缓存器,另一部份的唯名缓存器处于闲置状态,但是由第一程序占用。举例而言,在图4中,第一程序需要16个缓存器,然而在第一程序的指令中仅使用4个缓存器r0,r1,r3以及r15来执行程序,其余的缓存器r2,r4-r14为闲置状态,并未使用。缓存器收集装置10收集这些第一程序中闲置的唯名缓存器,使得闲置的唯名缓存器可以被有效利用来重新配置给更多的程序使用。
缓存器收集装置10主要包括指令扫瞄装置11、缓存器对应表12、指令修正装置13以及指示报告器14。指令扫瞄装置11用以扫瞄具有数个第一指令的第一程序并且对第一指令进行译码,以产生数个第一缓存器编码,此编码为唯名缓存器编码。缓存器对应表12连接于指令扫瞄装置11,设有数个对应于第一缓存器编码的第二缓存器编码,其中第二缓存器编码为实质缓存器编码。指令修正装置13分别连接于指令扫瞄装置11以及缓存器对应表12,用以修正对应于该第二缓存器编码的第一缓存器编码,以形成具有数个第二指令的第二程序,其中第二指令是由缓存器对应表12中的第二缓存器编码所组成,第二缓存器编码为实质上第二程序所使用的缓存器数量。指示报告器14发出配置第二程序的第二缓存器的数量指示值。
另请参考图4A及4B,其是本发明非第一实施例中执行缓存器收集装置的流程图。在步骤300,将第一程序载入至缓存器收集装置中。之后在步骤301,清除缓存器对应表中的对应信息,以重置原始存放在对应表12中唯名缓存器编码与实质缓存器编码之间对应数据的状态。接着在步骤302中,利用指令扫瞄装置11以静态方式扫瞄第一程序中的数个第一指令,例如从第一个指令逐步扫瞄至最后一个指令,亦即指令扫瞄装置11依据第一程序中这些第一指令的位置依序地扫瞄每一个第一指令。然后在步骤303,对已扫瞄完成的第一指令进行译码步骤,以形成数个唯名缓存器编码。在一实施例中,步骤303的译码步骤亦可于指令扫瞄装置11中执行。随后在步骤304判断缓存器对应表12中每个唯名缓存器编码是否对应至一实质缓存器编码,当唯名缓存器编码与缓存器对应表12中的实质缓存器编码不同而没有对应时,新增对应于唯名缓存器编码的实质缓存器编码,如步骤305所示。步骤305中,唯名缓存器编码与实质缓存器编码之间的对应关系或是匹配状态储存于缓存器对应表12。在本发明的一较佳实施例中,实质缓存器的编码例如可为连续的正整数,编码可由0至n或是由1至n,其中n为实质缓存器编码中的最后一个编码,且实质缓存器编码可为升幂或是降序排列。在步骤306中,依序地增加实质缓存器编码的数量指示值,以响应上述的对应关系。在步骤304进行判断时,当唯名缓存器编码对应于缓存器对应表12中的实质缓存器编码,将唯名缓存器编码修正为实质缓存器编码,以形成包含实质缓存器编码的第二指令,以产生第二程序,如步骤307所示。具体来说,将唯名缓存器编码指定至已经存在的连续实质缓存器编码。在一实施例中,第二程序由实质缓存器编码组成,来取代不连续的唯名缓存器编码,而且第二程序可储存于缓存器对应表12中或是外围的内存内。
接着在步骤308中,判断每个唯名缓存器编码是否为第一指令中最后一个唯名缓存器编码,假如不是的话,执行步骤303,以撷取出下一个唯名缓存器编码。当撷取出每个唯名缓存器编码并且找出该第一指令的最后一个唯名缓存器编码之后,在步骤309决定是否为最后一个第一指令,假如不是的话,执行步骤302,继续以静态方式扫瞄第一程序的下一个第一指令。当撷取出每个第一指令之后,找出该第一程序的最后一个指令。在步骤310中,指示报告器14发出实质缓存器编码的数量指示值,最后一个连续实质缓存器编码用于表示实质缓存器的数量指示值,其中这些实质缓存器是配置给第二程序,而且最后一个实质缓存器编码小于第一程序中最后一个唯名缓存器编码,而可节省更多的缓存器。
请参考图5,其为本发明缓存器收集装置10的方块图,即利用图4A及4B所示的第一实施例来执行第一程序缓存器收集装置的流程图。在此实施例中,第一程序的指令需要16个缓存器,其缓存器编码系由r0至r15第一程序的第一指令中的唯名缓存器系列举在缓存器对应表12的左侧行列中,而实质缓存器列举在缓存器对应表12的右侧行列。
举例来说,在步骤300,将第一程序加载至缓存器收集装置10中,接着在步骤301中,清除缓存器对应表12的内容以及数量指示值,然后在步骤302扫描第一程序的第一指令”add r0,r1,r15”,接着在步骤303中,对前述指令进行译码并且取得唯名缓存器编码r0。由于缓存器对应表12以及数量指示值在步骤301清除,当唯名缓存器编码无法对应至缓存器对应表中的实质缓存器编码,则执行步骤305。在步骤305中,将实质缓存器编码r0对应至唯名缓存器编码r0,并且将此对应状态储存在缓存器对应表12中。在步骤306中,将实质缓存器编码的数量指示值加1,然准备下一个对应的步骤。在步骤307中,修正唯名缓存器编码r0,以对应至实质缓存器编码r0,当唯名缓存器编码r0不是最后一个唯名缓存器编码,则执行步骤303,以对下一个第一指令的唯名缓存器编码r1进行译码,并且修正唯名缓存器编码r1,以对应至实质缓存器编码r1,然后将数量指示值增加为2。
当处理唯名缓存器编码r15时,产生实质缓存器编码r2,以对应至第三个唯名缓存器编码r15并且在步骤307中,将唯名缓存器编码r15修改为实质缓存器编码r2。接着在步骤308中,由于r15是第一指令”add r0,r1,r15”的最后一个唯名缓存器编码,所以接着继续处理下一个第一指令“mov r1,r0”,然后在步骤309决定是否已经处理到最后一个第一指令,随后执行步骤310。在步骤310中,数量报告器14通报一数量指示值为4的值,最后形成具有4个实质缓存器的第二程序,在此实施例中,第一程序必须占用16个缓存器。换言之,缓存器收集装置,将第一程序修正成第二程序,第二程序只需要4个实质缓存器,其余12个缓存器可重新配置给不同的程序使用。
本发明除了依序对第一指令的所有唯名缓存器编码进行译码之外,亦可同时对所有唯名缓存器编码进行译码,例如第一指令的唯名缓存器编码r0、r1以及r15同时在步骤303中解碼。亦即经过步骤308判断得知唯名缓存器编码r0并不是最后一个编码时,执行步骤304。
参考图6A及6B,为本发明的第一实施例中执行缓存器收集装置的流程图。在步骤400中,将包含第一指令的第一程序加载至缓存器收集装置中。之后在步骤401,清除缓存器对应表12中的对应信息,以重置原始存放在对应表12中唯名缓存器编码与实质缓存器编码之间对应数据的状态。接着在步骤402中,利用指令扫瞄装置11以静态方式扫瞄第一程序中所有的第一指令。然后在步骤403,对已扫瞄完成的第一指令进行译码步骤,以形成数个唯名缓存器编码,并且取得配置给第一程序的唯名缓存器的总数量。接着在步骤404中,建立一缓存器对应表12,缓存器对应表12主要包含数个对应于上述的唯名缓存器的总数量。然后在步骤405,决定每一个唯名缓存器编码是否对应于储存在缓存器对应表12中的实质缓存器的编码。在步骤405进行判断时,当唯名缓存器编码对应于缓存器对应表12中的实质缓存器编码,执行步骤406,以记录唯名缓存器编码与实质缓存器编码之间的对应关系。然后在步骤407中,增加实质缓存器编码的数量指示值。接着在步骤408,判断每个唯名缓存器编码是否为第一指令中的最后一个唯名缓存器编码,假如不是的话,执行步骤405。
在步骤405,当唯名缓存器编码与缓存器对应表12中的实质缓存器编码不同而没有对应时,将没有对应的唯名缓存器编码储存在缓存器收集装置的内存中。假如在步骤408判断出最后一个唯名缓存器编码,则执行步骤410。在步骤410中,除了唯名缓存器编码与实质缓存器编码相同的对应编码之外,将储存在缓存器收集装置的内存中的唯名缓存器编码以随机(Random)或是循序(Sequentially)方式对应至实质缓存器编码。然后执行步骤411,增加实质缓存器编码的数量指示值。接着将唯名缓存器编码修改成实质缓存器编码,如步骤412所示。然后在步骤413中,发出实质缓存器的数量指示值。最后在步骤414中,产生可以执行的第二程序。
参考图7,是发明缓存器收集装置的方块图,其利用图6A及6B所示的第一实施例来执行第一程序缓存器收集装置的流程图。此实施例中,第一程序的指令占用35个唯名缓存器r1~r35,第一程序的第一指令中之唯名缓存器系列举在缓存器对应表12的左侧行列中,而实质缓存器系列举在缓存器对应表12的右侧行列中。
换言之,缓存器收集装置10,将第一程序修正成第二程序,第二程序只需要6个实质缓存器,其余29个缓存器可重新配置给不同的程序使用。
在步骤400中,将包含第一指令的第一程序加载至缓存器收集装置中。之后在步骤401,清除缓存器对应表12中的对应信息,以重置原始存放在对应表12中唯名缓存器编码与实质缓存器编码之间对应数据的状态。接着在步骤402中,利用指令扫瞄装置11以静态方式扫瞄第一程序中所有的第一指令。然后在步骤403,对已扫瞄完成的第一指令进行译码步骤,以取得配置给第一程序且总数量为6的唯名缓存器编码。在缓存器对应表12中亦包括6个唯名缓存器编码之连续的实质缓存器编码,例如由编码1至编码6。接着在步骤405,唯名缓存器编码r1对应于缓存器对应表12中的实质缓存器编码r1,执行步骤406,以记录唯名缓存器编码r1与实质缓存器编码r1之间的对应关系。然后在步骤407中,使实质缓存器编码的数量指示值增加1。接着在步骤408,当唯名缓存器编码r1不是第一指令中的最后一个唯名缓存器编码,执行步骤405。接着,唯名缓存器编码r2、r5对应于缓存器对应表12中的实质缓存器编码r2、r5。在步骤408中,唯名缓存器编码r15为最后一个对应于实质缓存器编码之唯名缓存器编码。
在步骤405,当唯名缓存器编码r8、r10以及r35并未对应于缓存器对应表12中的实质缓存器编码,则执行步骤409,将唯名缓存器编码r8、r10以及r35暂时储存于缓存器收集装置的内存中。在步骤408中,当唯名缓存器编码r15为最后一个对应于实质缓存器编码的唯名缓存器编码,则执行步骤410。在步骤410中,除了实质缓存器编码r1、r2以及r5之外,将唯名缓存器编码r8、r10以及r35以随机(Random)或是循序(Sequentially)方式对应至实质缓存器编码r8、r10以及r35。然后执行步骤411,将实质缓存器编码的数量指示值增加至6。接着将唯名缓存器编码修改成实质缓存器编码,以产生具有实质缓存器编码的第二程序,如步骤412所示。然后在步骤413中,将实质缓存器的数量指示值6发出。最后在步骤414中,产生可以执行的第二程序。
本领域的一般技术人员应了解缓存器收集装置10例如可为硬件电路或是软件方式来实施。当以软件方式实施时,缓存器收集装置10可为计算机操作系统中正在执行的软件工具程序、程序加载器(Program Loader)、或是附加于程序编译器的计算机外设装置的驱动程序。较佳实施例中,当以硬件方式实施时,缓存器收集装置10连接至程序撷取单元或是译码单元,亦即位于指令排序单元201以及像素着色器20的译码单元203之前,或是将缓存器收集装置10整合至像素着色器20中。缓存器收集装置10使实质缓存器对于像素的可利用性增加,主要是藉由以静态方式扫瞄第一程序来重新产生简化的第二程序。本发明像素着色器20即定义于DirectX规格,应注意的是,OpenGL规格所定义的区段处理器(Fragment Processor)亦适用本发明,以及类似的像素着色系统亦可适用之。
参考图8,为本发明的第二实施例中使用缓存器收集装置之像素处理系统。缓存器收集装置10将第一程序修正为第二程序,藉由收集配置给第一程序的唯名缓存器,以减少第一程序所占用的缓存器,使像素理系统以一特定的缓存器数量来处理更多的像素。像素理系统主要是用于图形处理单元(GPU),包括像素着色器20以及连结于像素着色器20的缓存器收集装置10。像素着色器20主要包括指令排序单元201、程序计数器(ProgramCounter)202、译码器203、数个缓存器204以及算术逻辑单元(Arithmetic Logic Unit,ALU)205。指令排序单元201从缓存器收集装置10接收第二程序,程式计数器202由指令排序单元201撷取第二程序的指令,然后译码器203将撷取到的指令作译码。算术逻辑单元205控制译码后的指令的执行步骤,而缓存器收集装置10的指示报器14发出配置第二程序的缓存器的数量指示值给像素着色器20,使得像素处理系统100根据数量指示值将第一程序中闲置未使用的唯名缓存器重新配置给其它的程序使用,亦即本发明的像素理系统100以最少数量的实质缓存器来执行第二程序,以同时处理更多的程序。
在第一程序输入至缓存器收集装置10之前,配置给第一程序的唯名缓存器数量定义为r,而配置给第二程序的实质缓存器数量定义为r’,且r与r’之间的比值i定义为r/r’,用以表示配置给第一、第二程序的缓存器之使用状态,其中i为整数,以正整数为较佳。以处理像素为例,当处理第一程序时,像素着色器20只能处理N个像素,经过本发明之缓存器收集装置10的处理之后可增加至iN个像素。
参考图9,为本发明的第三实施例中使用缓存器收集装置的像素处理系统。像素着色器20利用一特定数量的缓存器的执行第一程序,以处理N个像素。缓存器收集装置10将第一程序修正成为第二程序,由于第二程序只需要用到原先一半的缓存器,另一半的缓存器可以配置给另外N个像素使用,所以在此实施例中,像素处理系统对于像素的处理数量增加至2N个。
应注意的是,由指示报告器发出至像素着色器20的指示值可为第二程序所需要的实质缓存器数量或是像素理系统100中所处理的像素总数量。当像素理系统100所处理的像素包含数个不同的像素群组,其中每个像素群组包含相同或是不同数量的像素,本发明之指示值亦可指示出像素理系统100正在处理哪一个像素群组。
权利要求
1.一种像素处理系统,至少包含缓存器收集装置,用以将第一程序修正成第二程序,其中该第一程序设有数个第一缓存器,且该第二程序具有该第一程序中一部分的该第一缓存器;以及连接于该缓存器收集装置的像素着色器,用以撷取并且执行该第二程序,以重新配置另一部份的该第一缓存器,以配置给不同的程序使用。
2.如权利要求1所述的像素处理系统,其中该像素着色器至少包含一指令储存内存,用以储存该第二程序。
3.如申请专利范围第2项所述之像素处理系统,其中该缓存器收集装置设置于该指令储存内存的输入端之前,用以收集配置给该第一程序的缓存器。
4.如权利要求1项所述的像素处理系统,其中该第一程序至少包含数个第一指令,且该些第一指令具有数个唯名缓存器。
5.如权利要求4项所述的像素处理系统,其中该缓存器收集装置至少包含一指令扫瞄装置,用以扫描该第一程序的第一指令。
6.如权利要求5项所述的像素处理系统,其中该指令扫瞄装置循序地扫描该第一程序中该些第一指令的静态位置。
7.如权利要求5项所述的像素处理系统,其中该指令扫瞄装置同时地扫描该第一程序中该些第一指令的静态位置。
8.如权利要求1项所述的像素处理系统,其中该缓存器收集装置至少包含指令扫瞄装置,用以扫瞄具有数个第一指令的第一程序并且对该些第一指令进行译码,以产生数个第一缓存器编码;连接于该指令扫瞄装置的缓存器对应表,设有数个对应于该些第一缓存器编码的第二缓存器编码;以及指令修正装置,分别连接于该指令扫瞄装置以及该缓存器对应表,用以修正对应于该第二缓存器编码的第一缓存器编码,以形成具有数个第二指令的第二程序,其中该些第二指令由该缓存器对应表中的第二缓存器编码所组成。
9.如权利要求8项所述的像素处理系统,其中该第一指令的第一缓存器编码由数个配置给该第一程序的唯名缓存器所组成。
10.如权利要求9项所述的像素处理系统,其中该第二缓存器编码为数个配置给该第二程序的实质缓存器编码。
11.如权利要求10项所述的像素处理系统,其中该缓存器对应表中的第二缓存器编码为连续的编码。
12.如权利要求11项所述的像素处理系统,还包含一指示报告器,以发出配置该第二程序的第二缓存器的数量指示值。
13.如权利要求12项所述的像素处理系统,其中该具有连续编码的第二缓存器中最后一个编码系等于该第二缓存器的数量指示值,且该最后一个编码等于用以表示该第一指令的第一缓存器的总数量值。
14.如权利要求12项所述的像素处理系统,其中该数量指示值系为配置给该第二程序之第二缓存器的总数量值。
15.如权利要求12项所述的像素处理系统,其中该指示报告器用于通报该像素处理系统所处理的像素的总数量。
16.如权利要求8项所述的像素处理系统,其中该缓存器收集装置即选自计算机操作系统中正在执行的软件工具程序、程序加载器、附加于程序编译器兴计算机外设装置的驱动程序所组成的族群。
17.一种于像素处理系统中执行缓存器收集装置的方法,至少包含下列步骤将设有数个第一指令确第一程序载入至该缓存器收集装置中;扫描位于该第一程序中的第一指令;对该第一指令作译码,以形成第一缓存器编码;将该第一缓存器编码对应至缓存器对应表中的第二缓存器编码;以及修正该第一程序,以重新配置该第一程序中一部分的第一缓存器编码,以形成具有数个第二指令的第二程序,其中另一部分的第一缓存器编码配置给位于像素着色器中不同的程序使用,且该第二程序的第二缓存器编码位于该缓存器对应表中。
18.如权利要求17项所述的方法,其在扫描位于该第一程序中的第一指令的步骤之前,还包含清除该缓存器对应表的内容。
19.如权利要求17项所述的方法,还包含决定该第一缓存器编码是否对应于已储存于该缓存器对应表中的缓存器编码。
20.如权利要求19项所述的方法,其在扫描位于该第一程序中的第一指令的步骤中,还包含循序地扫描该第一程序中该些第一指令的静态位置。
21.如权利要求17项所述的方法,其中当该第一缓存器编码与已储存于该缓存器对应表中的第二缓存器编码不相同而无法对应时,还包含重新指定另一第二缓存器编码给该第二缓存器编码。
22.如权利要求21项所述的方法,其在重新指定另一第二缓存器编码给该第二缓存器编码的步骤中,该第一缓存器编码与该第二缓存器编码之间的对应关系储存于该缓存器对应表中。
23.如权利要求22项所述的方法,其中对应于该些第二缓存器的实质缓存器的编码为连续的正整数编码,且该些连续编码为升幂排列。
24.如权利要求23项所述的方法,其中该具有连续编码的第二缓存器中最后一个编码等于该第二程序的第二缓存器的数量指示值。
25.如权利要求24项所述的方法,还包含发出配置该第二程序的第二缓存器的数量指示值至该像素着色器。
26.如权利要求19项所述的方法,其在对该第一指令作译码的步骤中,还包含形成该第一缓存器编码。
27.如权利要求26项所述的方法,其在对该第一指令作译码的步骤中,还包含取得配置给该第一程序的第一缓存器的总数量值。
28.如权利要求27项所述的方法,还包含建立该缓存器对应表,其中该缓存器对应表包含数个对应于该第一缓存器的总数量值的第二缓存器。
29.如权利要求27项所述的方法,其中当该第一缓存器编码与已储存于该缓存器对应表中的第二缓存器编码不相同而无法对应时,还包含将无法对应的该第一缓存器编码集中在该缓存器对应表的内存之中。
30.如权利要求29项所述的方法,还包含将该内存中无法对应的该第一缓存器编码重新指定至该缓存器对应表中除了已经对应的第二缓存器编码以外的第二缓存器编码。
31.如权利要求17项所述的方法,还包含通报该像素处理系统所处理的像素的总数量。
全文摘要
本发明公开了一种像素处理系统及方法,包含缓存器收集装置及像素着色器,缓存器收集装置将第一程序修正成第二程序,第一程序设有数个第一缓存器,且第二程序具有第一程序中部分的第一缓存器,像素着色器执行第二程序。将设有第一指令r第一程序载入至缓存器收集装置中;扫描第一指令;对第一指令作译码,以形成第一缓存器编码;将第一缓存器编码对应至缓存器对应表中的第二缓存器编码;及修正第一程序,以重新配置第一程序中第一缓存器编码,形成具有数个第二指令的第二程序。
文档编号G06T1/20GK1979557SQ200510130908
公开日2007年6月13日 申请日期2005年12月8日 优先权日2005年12月8日
发明者徐日明 申请人:矽统科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1