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

技术编号:2946917 阅读:269 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种像素处理系统及方法,包含缓存器收集装置及像素着色器,缓存器收集装置将第一程序修正成第二程序,第一程序设有数个第一缓存器,且第二程序具有第一程序中部分的第一缓存器,像素着色器执行第二程序。将设有第一指令r第一程序载入至缓存器收集装置中;扫描第一指令;对第一指令作译码,以形成第一缓存器编码;将第一缓存器编码对应至缓存器对应表中的第二缓存器编码;及修正第一程序,以重新配置第一程序中第一缓存器编码,形成具有数个第二指令的第二程序。

【技术实现步骤摘要】

本专利技术涉及一种缓存器收集装置及其方法以及使用该收集装置及该方法的像素处理系统,特别是有关于一种用于图形处理器(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是现有图形处理单本文档来自技高网
...

【技术保护点】
一种像素处理系统,至少包含:缓存器收集装置,用以将第一程序修正成第二程序,其中该第一程序设有数个第一缓存器,且该第二程序具有该第一程序中一部分的该第一缓存器;以及连接于该缓存器收集装置的像素着色器,用以撷取并且执行该第二程序 ,以重新配置另一部份的该第一缓存器,以配置给不同的程序使用。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐日明
申请(专利权)人:矽统科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1