发明名称 可执行多绪之顶点着色器、图形处理器及其控制方法;MULTI-THREAD VERTEX SHADER, GRAPHICS PROCESSING UNIT, AND CONTROL METHOD THEREOF
摘要 一种逻辑单元,适用于在顶点资料上执行复数绪。逻辑单元包括巨集指令暂存器档、流程控制指令暂存器档、以及流程控制器。巨集指令暂存器档用以储存复数巨集块,每个巨集块包括复数指令。流程控制指令暂存器档用以储存复数流程控制指令,每个流程控制指令包括被呼叫的至少一巨集块以及被呼叫的巨集块之相依性资讯。流程控制器用以从流程控制指令暂存器档中依序检索流程控制指令,根据检索到的流程控制指令及流程控制指令之相依性资讯决定巨集指令暂存器档中要执行的至少一巨集块,用既定的绪排班策略选择该等绪之一者执行既定的该巨集块,以及存取该绪的顶点资料。
申请公布号 TWI328197 申请公布日期 2010.08.01
申请号 TW095144690 申请日期 2006.12.01
申请人 威盛电子股份有限公司 VIA TECHNOLOGIES, INC. 台北县新店市中正路535号8楼 发明人 钟贤助;王科方;黄启耕
分类号 主分类号
代理机构 代理人 洪澄文 台北市大安区信义路4段279号3楼;颜锦顺 台北市大安区信义路4段279号3楼
主权项 1.一种逻辑单元,适用于在顶点资料上同时执行复数绪,包括:一巨集指令暂存器档,用以储存复数巨集块,每个巨集块包括复数指令;一流程控制指令暂存器档,用以储存复数流程控制指令,每个流程控制指令包括被呼叫之至少一巨集块以及被呼叫之该巨集块之相依性资讯;以及一流程控制器,用以从该流程控制指令暂存器档中依序检索该等流程控制指令,根据检索到的该流程控制指令及该流程控制指令之相依性资讯决定该巨集指令暂存器档中要执行的该巨集块之一者,用既定的绪排班策略选择该等绪之一者执行既定的该巨集块,以及存取被选择的该绪之顶点资料。 ;2.如申请专利范围第1项所述之逻辑单元,更包括一算术逻辑单元管线,用以接收在被选择的该绪中,执行被该流程控制器所决定之该巨集块内之指令时所需之该顶点资料,以进行三维图形计算。 ;3.如申请专利范围第1项所述之逻辑单元,其中被呼叫之该巨集块之相依性资讯包括选自以下群组之资讯:被呼叫之该巨集块与其它巨集块之间之该相依性资讯;以及被呼叫之该巨集块内指令之间之该相依性资讯。 ;4.如申请专利范围第1项所述之逻辑单元,其中该巨集块包括非先占式以及先占式巨集块,且其中非先占式之该巨集块之指令彼此互相独立,而先占式之该巨集块具有与同一巨集块之其它指令相依之至少一指令。 ;5.如申请专利范围第1项所述之逻辑单元,其中该流程控制器更从该流程控制指令暂存器档检索一次一个该流程控制指令,并且当被检索到的该流程控制指令中被该流程控制器所决定之被呼叫之该巨集块与其它巨集块相依时,根据既定的绪排班策略为被次一个该流程控制指令呼叫之该巨集块选择一另一该绪。 ;6.如申请专利范围第5项所述之逻辑单元,其中该流程控制器更根据检索到的该流程控制指令之相依性资讯决定被检索到的该流程控制指令呼叫之该巨集块是否与其它巨集块相依。 ;7.如申请专利范围第2项所述之逻辑单元,更包括一输入暂存器,耦接于该流程控制器以及该算术逻辑单元管线,用以储存该顶点资料。 ;8.如申请专利范围第1项所述之逻辑单元,其中在该等绪中执行的运算根据其功能切分成复数巨集块。 ;9.一种图形处理器,包括:一顶点着色器,适用于在一影像资料区段上,同时执行包括指令之复数巨集块之复数绪,其中每个巨集块会被对应的绪执行,其中该顶点着色器包括:一巨集指令暂存器档,用以储存该等巨集块;一流程控制指令暂存器档,用以储存复数流程控制指令,每个流程控制指令包括被呼叫之至少一该巨集块以及被呼叫之该巨集块之相依性资讯;以及一流程控制器,用以从该流程控制指令暂存器档中依序检索该等流程控制指令,依照检索到的该流程控制指令及该相依性资讯决定至少一该巨集指令暂存器档中要执行的该巨集块,用既定的绪排班策略选择该等绪中的一绪执行既定之该巨集块,以及存取该绪所需之顶点资料;一设置引擎,用以将从该顶点着色器接收到的该影像资料组合成三角形;以及一像素着色器,用以接收来自该设置引擎的该影像资料,并对该影像资料进行打底程序以产生一像素资料。 ;10.如申请专利范围第9项所述之图形处理器(GPU),其中该顶点着色器更包括:一算术逻辑单元管线,用以接收在被选择之该绪中,执行被该流程控制器所决定之该巨集块内之该指令时所需之该顶点资料,以进行三维图形计算。 ;11.如申请专利范围第10项所述之图形处理器,其中被呼叫之该巨集块之该相依性资讯包括选自以下群组之资讯:被呼叫之该巨集块与其它巨集块之间之该相依性资讯;以及被呼叫之该巨集块内指令之间之该相依性资讯。 ;12.如申请专利范围第10项所述之图形处理器,其中该巨集块由非先占式以及先占式巨集块所组成,又其中非先占式巨集块之指令彼此互相独立,而先占式巨集块具有与同一巨集块中其它指令相依之至少一指令。 ;13.如申请专利范围第10项所述之图形处理器,其中该流程控制器更用于从该流程控制指令暂存器档检索次一个该流程控制指令,并且当被检索到的该流程控制指令中被该流程控制器所决定之被呼叫之该巨集块与其它巨集块相依时,根据既定的绪排班策略为被次一个该流程控制指令呼叫之该巨集块选择一另一该绪。 ;14.如申请专利范围第13项所述之图形处理器,其中该流程控制器更用于根据检索到的该流程控制指令之该相依性资讯决定被检索到的该流程控制指令呼叫之该巨集块是否与其它巨集块相依。 ;15.如申请专利范围第10项所述之图形处理器,其中该顶点着色器更包括一输入暂存器,与该流程控制器以及该算术逻辑单元管线耦接在一起,用于储存该顶点资料。 ;16.如申请专利范围第10项所述之图形处理器,其中在该等绪中执行的运算根据其功能切分成该等巨集块。 ;17.一种流程控制方法,适用于同时在顶点资料上,以及复数巨集块与复数流程控制指令执行复数绪,其中每个巨集块包括复数指令,每个流程控制指令呼叫至少一该巨集块,并包括被呼叫巨集块之该相依性资讯,该流程控制方法包括:检索一该流程控制指令;根据检索到的该流程控制指令与该相依性资讯决定一要被执行之该巨集块;以及根据既定的绪排班策略为被决定之该巨集块选择要被执行的该绪。 ;18.如申请专利范围第17项所述之流程控制方法,更包括:决定要被执行之被检索到的该流程控制指令所呼叫之该巨集块,并且根据既定的绪排班策略为该巨集块选择一该绪。 ;19.如申请专利范围第17项所述之流程控制方法,其中决定要被执行之该巨集块更包括:根据检索到的该流程控制指令之该相依性资讯决定被检索到的该流程控制指令呼叫之该巨集块是否与其它巨集块相依。 ;20.如申请专利范围第19项所述之流程控制方法,其中决定要被执行之该巨集块更包括决定一被呼叫之指令是否包括与被呼叫之该巨集块中指令之相依性。 ;21.如申请专利范围第20项所述之流程控制方法,更包括当在选自以下群组之条件组合情况下,检索次一个该流程控制指令:被呼叫之该巨集块与其它巨集块相依;以及一目前被呼叫之指令与被呼叫之该巨集块中的指令相依。 ;22.如申请专利范围第17项所述之流程控制方法,其中被流程控制器呼叫之该巨集块中该流程控制指令之该相依性资讯包括选自以下群组之资讯:被呼叫之该巨集块与其它巨集块之间之该相依性资讯;以及被呼叫之该巨集块内指令之间之该相依性资讯。 ;23.如申请专利范围第17项所述之流程控制方法,其中该巨集块由非先占式以及先占式巨集块所组成,又其中非先占式巨集块之指令彼此互相独立,而先占式巨集块具有与同一巨集块中其它指令相依之至少一指令。 ;24.如申请专利范围第17项所述之流程控制方法,其中该等绪在该顶点资料上进行运算,并且在该等绪中执行的运算根据其功能切分成该等巨集块。;第1图系显示传统的图形处理器的方块图。;第2图系显示第1图中之顶点着色器的方块图。;第3A图系显示当指令之间没有相依性时,分派到第1图中算术逻辑单元管线的指令顺序概念图。;第3B图系显示当指令之间有相依性时,分派到第1图中算术逻辑单元管线的指令顺序概念图。;第4图系显示根据本发明一实施例所述之一顶点着色器的方块图。;第5图系显示第4图中流程控制指令暂存器的流程控制指令格式概念图。;第6图系显示第4图中顶点着色器的方块图,其由6个绪所组成。;第7图系显示第4图中巨集块与流程控制指令暂存器之范例。;第8A~8D图系显示分派到第4图中算术逻辑单元管线的指令顺序与巨集块以及流程控制指令暂存器的概念图。;第9图系显示依照本发明另一实施例所述之图形处理器的方块图。;第10图系显示依照本发明之另一顶点着色器实施例之流程控制法的流程图,其顶点着色器在顶点资料上同时执行复数绪。;第11图系显示依照本发明之另一顶点着色器实施例的流程控制法的详细流程图。
地址 VIA TECHNOLOGIES, INC. 台北县新店市中正路535号8楼