亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于單指令、多數據執(zhí)行引擎的條件指令的制作方法

文檔序號:6626092閱讀:251來源:國知局
專利名稱:用于單指令、多數據執(zhí)行引擎的條件指令的制作方法
技術領域
本發(fā)明涉及處理系統(tǒng),更具體地,涉及用于單指令、多數據執(zhí)行引擎的條件指令。
背景技術
為了改進處理系統(tǒng)的性能,可以在單個指令周期中對多個操作數的數據(operand ofdata)同時執(zhí)行單指令、多數據(SIMD)指令。例如,八通道SIMD執(zhí)行引擎可能對八個32位操作數的數據同時執(zhí)行一條指令,每個操作數被映射到SIMD執(zhí)行引擎的唯一計算通道。在一些情形中,指令可以是“有條件的”。即,只有滿足預定的條件,才可能執(zhí)行一個指令或一組指令。注意,在SIMD執(zhí)行引擎的情況下,這樣一個條件可能對某些通道滿足,而對其他通道不滿足。

發(fā)明內容
為解決以上問題,本發(fā)明提供了有條件的單指令、多數據指令。例如,可以在n通道的SIMD執(zhí)行引擎處接收第一條件指令??梢曰诙鄺l通道的關聯數據來評估第一條件指令,并且評估結果可被存儲在n位條件屏蔽寄存器中。然后可以在所述執(zhí)行引擎處接收第二條件指令,并且所述結果從所述條件屏蔽寄存器被拷貝到n位寬、m條目深的條件堆棧。
根據本發(fā)明的一個方面,提供了一種方法,包括在n操作數的單指令、多數據執(zhí)行引擎處接收第一條件指令;基于多個操作數的關聯數據,評估所述第一條件指令;將所述評估的結果存儲在n位條件屏蔽寄存器中;在所述執(zhí)行引擎處接收第二條件指令;并且將所述結果從所述條件屏蔽寄存器拷貝到n位寬、m條目深的條件堆棧。
根據本發(fā)明的另一個方面,提供了一種裝置,包括n位條件屏蔽寄向量,其中所述條件屏蔽向量存儲對(i)“if”指令條件和(ii)與多條通道相關聯的數據進行評估的結果;和n位寬、m條目深的條件堆棧,該堆棧存儲在所述評估結果之前存在于所述條件屏蔽向量中的信息。
根據本發(fā)明的又一個方面,提供了一種制品,包括其上存儲有指令的存儲介質,所述指令在被機器執(zhí)行時導致在n通道的單指令、多數據執(zhí)行引擎處接收第一條件語句,對多條通道的關聯數據同時評估所述第一條件語句,將所述評估的結果存儲在n位條件屏蔽寄存器中;在所述執(zhí)行引擎處接收第二條件語句;以及將所述結果從所述條件屏蔽寄存器拷貝到n位寬、m條目深的條件堆棧。
根據本發(fā)明的再一個方面,提供了一種系統(tǒng),包括處理器和圖形存儲單元,其中所述處理器包括n位條件屏蔽寄向量,其中所述條件屏蔽向量存儲對(i)第一“if”條件和(ii)與多條通道相關聯的數據進行評估的結果;和n位寬、m條目深的條件堆棧,該堆棧在遇到第二“if”指令時用于存儲所述結果。


圖1和圖2圖示了處理系統(tǒng)。
圖3-5圖示了根據一些實施方案的SIMD執(zhí)行引擎。
圖6-9圖示了根據一些實施方案的SIMD執(zhí)行引擎。
圖10是根據一些實施方案的方法的流程圖。
圖11-13圖示了根據一些實施方案的SIMD執(zhí)行引擎。
圖14是根據一些實施方案的方法的流程圖。
圖15是根據一些實施方案的系統(tǒng)的框圖。
具體實施例方式
這里所描述的一些實施方案與“處理系統(tǒng)”相關聯。用在這里,短語“處理系統(tǒng)”可以指處理數據的任何設備。例如,處理系統(tǒng)可以與處理圖形數據和/或其他類型的媒體信息的圖形引擎相關聯。在一些情形中,利用SIMD執(zhí)行引擎可以改進處理系統(tǒng)的性能。例如,SIMD執(zhí)行引擎可能對多個通道的數據(channel ofdata)同時執(zhí)行單個浮點SIMD指令(例如,為了加速變換和/或繪制(rendering)三維幾何形狀)。
圖1圖示了包括SIMD執(zhí)行引擎110的一種類型的處理系統(tǒng)100。在這種情形中,執(zhí)行引擎(例如從指令存儲單元)接收指令,一同接收的還有四分量數據向量(例如,向量分量X、Y、Z和W,每個分量具有多位,設置用于在SIMD執(zhí)行引擎110的相應通道0到3上進行處理)。然后,引擎110可以對所述向量中的所有分量同時執(zhí)行所述指令。這樣一種方法被稱為“水平”實現或者“結構數組”實現。
圖2圖示了包括SIMD執(zhí)行引擎210的另一種類型的處理系統(tǒng)200。在這種情形中,執(zhí)行引擎與四個操作數的數據一起接收指令,其中每個操作數與一個不同的向量(例如從向量0到3的四個X分量)相關聯。然后,引擎210可以在單個指令周期中對所有的操作數同時執(zhí)行所述指令。這樣一種方法被稱為“通道串行”實現或“數組結構”實現。
注意,一些SIMD指令可以是有條件的。例如考慮以下指令組IF(條件1)第一組指令ELSE
第二組指令ENDIF這里,當“條件1”為真時將執(zhí)行第一組指令,而當“條件1”為假時將執(zhí)行第二組指令。然而,當對多通道的數據同時執(zhí)行這樣的指令時,不同的通道可能產生不同的結果。也就是說,可能對一些通道需要執(zhí)行第一組指令,而對其他通道則需要執(zhí)行第二組指令。
圖3-5圖示了根據一些實施方案的四通道SIMD執(zhí)行引擎300。引擎300包括四位的條件屏蔽寄存器310,其中每一位都與相應的計算通道相關聯。條件屏蔽寄存器310例如可以由引擎300中的硬件寄存器構成。引擎300還可以包括四位寬、m條目深的條件堆棧320。條件堆棧320例如可以由系列硬件寄存器、存儲器位置、和/或硬件寄存器和存儲器位置的組合構成(例如在10條目深堆棧的情況下,堆棧320中的前面四個條目可能是硬件寄存器,而剩余的六個條目被存儲在存儲器中)。雖然在圖3中示出的引擎300、條件屏蔽寄存器310和條件堆棧320都與四個通道相關聯,但是要注意的是,多種實現可能與其他數量的通道相關聯(例如,x通道的執(zhí)行引擎),并且每條計算通道能夠處理y位的操作數。
引擎300可以接收并同時執(zhí)行用于四條不同通道數據(例如與四條計算通道相關聯)的指令。注意,在一些情形中,可能需要少于四條的通道(例如,當有效操作數少于四個時)。結果,條件屏蔽寄存器310可以用初始化向量來初始化,所述初始化向量指示出哪些通道具有有效的操作數以及哪些通道沒有(例如,操作數i0到i3,用“1”來表示相關聯的通道當前被使能(enabled))。然后,條件屏蔽寄存器310被用來避免發(fā)生不必要的處理(例如,可能僅對條件屏蔽寄存器310中被置位為“1”的那些操作數執(zhí)行指令)。根據一些實施方案,在條件屏蔽寄存器310中的信息可以與其他寄存器中的信息組合起來(例如,經由布爾AND運算),結果可被存儲在總執(zhí)行屏蔽寄存器(該寄存器于是可被用來避免不必要的或不適當的處理)中。
當引擎300接收到條件指令(例如“IF”語句)時,如圖4所示,條件屏蔽寄存器310中的數據被拷貝到條件堆棧320的頂部。而且,根據條件屏蔽寄存器中的信息,對四個操作數中的每一個執(zhí)行所述指令。例如,如果初始化向量是“1110”,則將為與三個最高有效操作數(MSB)相關聯的數據來評估與IF語句相關聯的條件,而對于最低有效位(LSB)則不進行評估(例如,因為該通道當前未被使能)。然后,結果被存儲在條件屏蔽寄存器310中,并且可被用來避免為了與IF語句相關聯的語句進行不必要的和/或不適當的處理。舉例來說,如果與IF語句相關聯的條件生成“110x”的結果(其中x未被評估,因為該通道未被使能),則可以將“1100”存儲在條件屏蔽寄存器310中。當與IF語句相關聯的其他指令隨后被執(zhí)行時,引擎300將只對與兩個MSB相關聯的數據執(zhí)行上述指令(不對與兩個LSB相關聯的數據執(zhí)行指令)。
當引擎300接收到“已到達與條件指令相關聯的指令的末尾”的指示(例如“END IF”語句)時,如圖5所示,位于條件堆棧320頂部的數據(例如初始化向量)可以被轉移回條件屏蔽寄存器310中,恢復指示哪些通道在進入條件塊之前包含有效數據的內容。然后,可以對與被使能的通道相關聯的數據執(zhí)行進一步的指令。結果,SIMD引擎300可以有效地處理條件指令。
根據一些實施方案,一個條件指令可以被“嵌套(nested)”在一組與另一個條件指令相關聯的指令內部。例如考慮以下指令組IF(條件1)第一組指令IF(條件2)第二組指令END IF第三組指令END IF在這種情形中,當“條件1”為真時應當執(zhí)行第一和第三組指令,只有當“條件1”和“條件2”都為真時才執(zhí)行第二組指令。
圖6-9圖示了根據一些實施方案的、包括條件屏蔽寄存器610(例如用初始化向量進行初始化的)和條件堆棧620的執(zhí)行引擎600。和前面一樣,條件屏蔽寄存器610中的信息被拷貝到堆棧602的頂部,并且根據(i)條件屏蔽寄存器610中的信息和(ii)與第一條件指令相關聯的條件(例如“條件1”)來評估各通道的數據。當執(zhí)行第一條件指令(例如第一IF語句)時,評估的結果(例如r10到r13)被存儲到條件屏蔽寄存器610中,如圖7所示。引擎600然后可以對由條件屏蔽寄存器610中的信息所指示的多個操作數的數據執(zhí)行與第一條件指令相關聯的進一步指令。
圖8圖示了根據一些實施方案,另一個嵌套的條件指令(例如第二IF語句)的執(zhí)行。在這種情形中,當前位于條件屏蔽寄存器610中的信息被拷貝到堆棧620的頂部。結果,先前處于堆棧620頂部的信息(例如初始化向量)被向下壓入一個條目。然后,根據(i)當前位于條件屏蔽寄存器610中的信息(例如r10到r13)和(ii)與第二條件指令相關聯的條件(例如“條件2”)來同時評估多個通道的數據。然后,這一評估的結果被存儲到條件屏蔽寄存器中(例如r20到r23),并且可被引擎600用來對由條件屏蔽寄存器610中的信息所指示的多個操作數的數據執(zhí)行與第二條件指令相關聯的進一步指令。
當引擎600接收到“已到達與第二條件指令相關聯的指令的末尾”的指示(例如“ENDIF”語句)時,如圖9所示,位于條件堆棧620頂部的數據(例如r10到r13)可被移回條件屏蔽寄存器610中。然后可以根據條件屏蔽寄存器610執(zhí)行進一步的指令。如果遇到了另一個END IF語句(在圖9中未示出),則初始化向量將被轉移回條件屏蔽寄存器610中,并且可以對與使能通道相關聯的數據執(zhí)行進一步的指令。
注意,條件堆棧620的深度可以與引擎600所支持的條件指令嵌套的級數相關聯。根據一些實施方案,條件堆棧620僅是單條目深的堆棧(例如,該堆棧可能實際上是一個n操作數寬的寄存器)。
圖10是例如可以參考這里所描述的一些實施方案而執(zhí)行的方法的流程圖。這里所描述的流程圖不一定暗示著固定的動作順序,可以按照可行的任何順序來執(zhí)行各個實施方案。注意,這里所描述的方法可以通過硬件、軟件(包括微碼)、固件或者這些手段的任意組合來實現。例如,存儲介質可以在上面存儲這樣的指令,即這些指令在被機器執(zhí)行時產生與這里所描述的任一實施方案相一致的性能。
在1002,對條件屏蔽寄存器進行初始化。例如,初始化向量可能基于當前被使能的通道,被存儲在所述條件屏蔽寄存器中。根據另一個實施方案,條件屏蔽寄存器被簡單地初始化為全1(例如,假定所有的通道一直被使能)。
在1004取得下一條SIMD指令。例如,SIMD執(zhí)行引擎可能從存儲單元接收指令。當該SIMD指令是“IF”指令時(在1006),在1008根據條件屏蔽寄存器來評估與所述指令相關聯的條件。即,針對與條件屏蔽寄存器中具有“1”的通道相關聯的操作數來評估所述條件。注意,在一些情形中,在條件屏蔽寄存器中,通道中可能有一個具有“1”,或者沒有任何一條通道具有“1”。
在1010,條件屏蔽寄存器中的數據被轉移到條件堆棧的頂部。例如,條件屏蔽寄存器的當前狀態(tài)可被保存下來,以稍后在與“IF”語句相關聯的指令已被執(zhí)行后再恢復出來。然后在1012,評估的結果被存儲在條件屏蔽寄存器中,并且該方法在1004處繼續(xù)(例如可以取得下一條SIMD指令)。
當在1006處SIMD指令不是“IF”指令時,在1014處確定該指令是不是“END IF”指令。如果不是,則在1018執(zhí)行該指令。例如,可以對由條件屏蔽寄存器所指示的多個通道的數據執(zhí)行所述指令,并且堆棧中的剩余值向上移動一個位置。
當在1014確定遇到了“END IF”指令時,在條件堆棧頂部的信息在1016被移回到條件屏蔽寄存器中。
在一些情形中,條件指令與以下兩者都有關聯(i)當條件為真時執(zhí)行的第一組指令和(ii)當上述條件為假時(例如,與ELSE語句相關聯)執(zhí)行的第二組指令。圖11-13圖示了根據一些實施方案的SIMD執(zhí)行引擎1100。和前面一樣,引擎1100包括已初始化的條件屏蔽寄存器1110和條件堆棧1120。注意,在這種情形中,引擎1110能夠同時對16個操作數的數據執(zhí)行指令。根據這一實施方案,條件指令也包括與第二組指令相關聯的地址。具體地說,當確定所述條件對于已被評估的所有操作數的數據(例如,對于既被使能又由于上層IF語句而未被屏蔽的通道)不為真時,引擎1 100將直接跳到所述地址。按照這種方式,因為可以避免在IF-ELSE對之間的不必要指令,所以可以改進引擎1100的性能。如果條件指令與ELSE指令沒有關聯,那么所述地址可能替換為與END IF指令相關聯。根據另外一個實施方案,ELSE指令也可能包括END IF指令的地址。在這種情形中,當條件對每條通道都為真時,引擎1100可以直接跳到END IF指令(因此無需執(zhí)行與ELSE相關聯的任何指令)。
如圖12所示,當遇到條件指令時,條件屏蔽寄存器1110中的信息被拷貝到條件堆棧1120中。此外,可以根據條件屏蔽寄存器1110,針對多條通道來評估與所述指令相關聯的條件(例如,當沒有上層IF指令未處理完時針對所有使能的通道),并將結果存儲在條件屏蔽寄存器1110中(例如操作數r0到r15)。然后可以根據條件屏蔽寄存器1110來執(zhí)行與IF語句相關聯的指令。
當如圖13中所示,遇到了ELSE指令時,引擎1100可能僅反轉條件屏蔽寄存器1110中的所有操作數。按照這種方式,現在將會執(zhí)行與關于所述IF指令未被執(zhí)行的通道相關聯的數據。然而,這樣一種方法可能導致某些通道被不適當地設置為1,因而在ELSE下,當在這些通道上本不應當發(fā)生任何執(zhí)行動作時而執(zhí)行。例如,在進入IF-ELSE-END IF代碼塊時當前未被使能的通道應當對于IF指令和ELSE指令被屏蔽(例如,設置為0)。類似地,由于上層IF指令而現在被屏蔽的通道應當保持被屏蔽。為了避免這種問題,引擎1100在遇到ELSE指令時不是簡單地反轉條件屏蔽寄存器1110中的所有操作數,而是可以經由布爾運算將條件屏蔽寄存器1110中的當前信息與條件堆棧1120頂部的信息組合起來,所述布爾運算例如是新屏蔽=NOT(屏蔽)AND堆棧頂部。
圖14是根據一些實施方案的方法的流程圖。在1402,接收到條件SIMD指令。例如,SIMD執(zhí)行引擎可以從存儲單元取得IF指令。在1404,引擎于是可以(i)將條件屏蔽寄存器中當前的信息拷貝到條件堆棧,(ii)根據多個通道的數據和條件屏蔽寄存器來評估條件,并且(iii)將評估結果存儲在條件屏蔽寄存器中。
如果在1406,被評估的通道中有任何一個為真,則可以在1408處,根據條件屏蔽寄存器來執(zhí)行與IF指令相關聯的第一組指令??蛇x地,如果在1406沒有一條通道為真,那么可以跳過這些指令。
當遇到ELSE語句時,可以在1410處,經由每通道的布爾運算將條件屏蔽寄存器中的信息與條件堆棧頂部的信息組合起來,所述布爾運算例如是NOT(條件屏蔽寄存器)AND堆棧頂部。然后可以在1414執(zhí)行(例如與ELSE指令相關聯的)第二組指令,并且可以在1416處,從條件堆棧中恢復出條件屏蔽寄存器。可選地,如果在1412沒有一條通道為真,那么可以跳過這些指令。
圖15是根據一些實施方案的系統(tǒng)1500的框圖。系統(tǒng)1500例如可能與媒體處理器相關聯,所述媒體處理器適于記錄和/或顯示數字電視信號。系統(tǒng)1500包括圖形引擎1510,該引擎具有與這里所描述的任意實施方案相一致的n操作數SIMD執(zhí)行引擎1520。例如,SIMD執(zhí)行引擎1520可能用一個n操作數的條件屏蔽向量來存儲對(i)第一“if”條件和(ii)與多條通道相關聯的數據進行評估的結果。SIMD執(zhí)行引擎1520還可以具有一個n位寬、m條目深的條件堆棧,該堆棧在遇到第二“if”指令時存儲所述結果。系統(tǒng)1500還可以包括存儲SIMD指令的指令存儲單元1530和存儲圖形數據(例如與三維圖像相關聯的向量)的圖形存儲單元1540。指令存儲單元1530和圖形存儲單元1540例如可以由隨機訪問存儲器(RAM)單元組成。
下面說明各種附加實施方案。它們不構成對所有可能實施方案的定義,本領域的技術人員將理解,很多其他實施方案都是可能的。此外,雖然以下實施方案為清楚起見被簡要描述,但是本領域的技術人員將理解在必要的時候,如何對以上描述進行修改,以涵蓋這些及其他實施方案和申請。
雖然已相對各自的條件屏蔽寄存器和條件堆棧描述了一些實施方案,但是任何一個實施方案可能僅與單個條件堆棧相關聯(例如,并且當前屏蔽信息可能與堆棧中的頂部條目相關聯)。
此外,雖然已描述了不同的實施方案,但是要注意的是,可以實現實施方案的任意組合(例如,IF語句和ELSE語句都可以包括地址)。而且,雖然各實施例使用“0”來指示未被使能的通道,但是根據其他實施方案,也可以用“1”來表示當前未被使能的通道。
這里所描述的幾個實施方案純粹是出于說明的目的。本領域的技術人員將會從這篇說明書中認識到,可以用僅由權利要求書限定的修改和變更來實現其他實施方案。
權利要求
1.一種方法,包括在n操作數的單指令、多數據執(zhí)行引擎處接收第一條件指令;基于多個操作數的關聯數據,評估所述第一條件指令;將所述評估的結果存儲在n位條件屏蔽寄存器中;在所述執(zhí)行引擎處接收第二條件指令;以及將所述結果從所述條件屏蔽寄存器拷貝到n位寬、m條目深的條件堆棧。
2.如權利要求1所述的方法,還包括基于所述條件屏蔽寄存器中的數據和多個操作數的關聯數據,評估所述第二條件指令;將所述第二條件指令的評估結果存儲在所述條件屏蔽寄存器中;根據所述條件屏蔽寄存器中的數據,執(zhí)行與所述第二條件指令相關聯的指令;將所述條件堆棧的頂部移動到所述條件屏蔽寄存器;以及根據所述條件屏蔽寄存器中的數據,執(zhí)行與所述第一條件指令相關聯的指令。
3.如權利要求1所述的方法,其中所述第一條件指令與(i)當條件為真時執(zhí)行的第一組指令和(ii)當所述條件為假時執(zhí)行的第二組指令相關聯。
4.如權利要求3所述的方法,其中所述第一條件指令包括與所述第二組指令相關聯的地址,并且所述的方法還包括當所述評估操作指示出所述第一條件指令對于關聯數據的任何已評估位都不滿足時,跳到所述地址。
5.如權利要求3所述的方法,還包括執(zhí)行所述第一組指令;經由布爾運算將所述條件屏蔽寄存器中的數據與所述條件堆棧頂部的數據組合起來;將所述組合的結果存儲在所述條件屏蔽寄存器中;以及根據所述條件屏蔽寄存器中的數據執(zhí)行所述第二組指令。
6.如權利要求1所述的方法,其中所述n操作數中每一個的關聯數據都與一條通道相關聯,并且所述的方法還包括在接收所述第一條件指令之前基于被使能來執(zhí)行的通道,初始化所述條件屏蔽寄存器。
7.如權利要求1所述的方法,其中所述條件堆棧超過一個條目深。
8.一種裝置,包括n位條件屏蔽向量,其中所述條件屏蔽向量存儲對(i)“if”指令條件和(ii)與多條通道相關聯的數據進行評估的結果;以及n位寬、m條目深的條件堆棧,該堆棧存儲在所述評估結果之前存在于所述條件屏蔽向量中的信息。
9.如權利要求8所述的裝置,其中當執(zhí)行相關聯的“end if”指令時,所述信息從所述條件堆棧轉移到所述條件屏蔽向量。
10.如權利要求8所述的裝置,其中所述“if”指令與(i)在與真條件相關聯的操作數上執(zhí)行的第一組指令和(ii)在與假條件相關聯的操作數上執(zhí)行的第二組指令相關聯。
11.如權利要求10所述的裝置,其中所述“if”指令包括與所述第二組指令相關聯的地址,并且當結果對每條通道都為假時,所述地址被存儲在程序計數器中。
12.如權利要求10所述的裝置,還包括完成以下操作的引擎(i)執(zhí)行第一組指令,(ii)將所述條件屏蔽向量中的信息與所述條件堆棧頂部的信息組合起來,(iii)將所述組合的結果存儲在所述條件屏蔽向量中,以及(iv)執(zhí)行第二組指令。
13.如權利要求8所述的裝置,其中根據使能通道來初始化所述條件屏蔽向量。
14.如權利要求8所述的裝置,其中所述條件堆棧是1條目深。
15.一種制品,包括其上存儲有指令的存儲介質,所述指令在被機器執(zhí)行時導致在n通道的單指令、多數據執(zhí)行引擎處接收第一條件語句,對多條通道的關聯數據同時評估所述第一條件語句,將所述評估的結果存儲在n位條件屏蔽寄存器中;在所述執(zhí)行引擎處接收第二條件語句;以及將所述結果從所述條件屏蔽寄存器拷貝到n位寬、m條目深的條件堆棧。
16.如權利要求15所述的制品,其中所述第一條件語句(i)與當條件為真時執(zhí)行的第一組語句相關聯,(ii)與當所述條件為假時執(zhí)行的第二組語句相關聯,并且(iii)包括與所述第二組語句相關聯的地址,并且所述指令在被機器執(zhí)行時還包括導致當所述評估操作指示出所述第一條件語句對所述n通道中任何一條的關聯數據不為真時,跳到所述地址。
17.如權利要求16所述的制品,其中所述指令在被機器執(zhí)行時還包括導致基于所述條件屏蔽寄存器中的數據和n通道的關聯數據,評估所述第二條件語句;將所述第二條件語句的評估結果存儲在所述條件屏蔽寄存器中;根據所述條件屏蔽寄存器中的數據,執(zhí)行與所述第二條件語句相關聯的語句;將所述條件堆棧的頂部轉移到所述條件屏蔽寄存器;以及根據所述條件屏蔽寄存器中的數據,執(zhí)行與所述第一條件語句相關聯的語句。
18.一種系統(tǒng),包括處理器,所述處理器包括n位條件屏蔽向量,其中所述條件屏蔽向量存儲對(i)第一“if”條件和(ii)與多條通道相關聯的數據進行評估的結果;以及n位寬、m條目深的條件堆棧,該堆棧在遇到第二“if”指令時用于存儲所述結果;以及圖形存儲單元。
19.如權利要求18所述的系統(tǒng),其中當與所述第二“if”指令相關聯的“end if”指令被執(zhí)行時,所述結果從所述條件堆棧被轉移到所述條件屏蔽向量。
20.如權利要求18所述的系統(tǒng),還包括指令存儲單元。
全文摘要
根據一些實施方案,提供了有條件的單指令、多數據指令。例如,可以在n通道的SIMD執(zhí)行引擎處接收第一條件指令。可以基于多個通道的關聯數據來評估第一條件指令,并且評估結果可被存儲在n位條件屏蔽寄存器中。然后可以在所述執(zhí)行引擎處接收第二條件指令,并且所述結果從所述條件屏蔽寄存器被拷貝到n位寬、m條目深的條件堆棧。
文檔編號G06F15/80GK1716185SQ20051007980
公開日2006年1月4日 申請日期2005年6月29日 優(yōu)先權日2004年6月29日
發(fā)明者江洪, 邁克爾·德懷爾, 托馬斯·派亞扎 申請人:英特爾公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1