TW452735B - System and method for performing a shuffle instruction - Google Patents
System and method for performing a shuffle instruction Download PDFInfo
- Publication number
- TW452735B TW452735B TW088105136A TW88105136A TW452735B TW 452735 B TW452735 B TW 452735B TW 088105136 A TW088105136 A TW 088105136A TW 88105136 A TW88105136 A TW 88105136A TW 452735 B TW452735 B TW 452735B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- operand
- packet
- packet data
- destination
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000008859 change Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims 4
- 241001494479 Pecora Species 0.000 claims 1
- 238000012856 packing Methods 0.000 claims 1
- 230000009466 transformation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 101100515517 Arabidopsis thaliana XI-I gene Proteins 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000001475 halogen functional group Chemical group 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000005428 wave function Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
發明範圍 一般而 據混洗作 發明背景 言本發明屬於電腦系統方面,特別是有關—種根 用以執行多維度計算的裝置與方法。 ^改進多媒體應用程式與其他具有類似特徵應用程式的 f,目前已執行電腦系統上單指令、多重資料架構以 立 個指令同時對數個資料而非一個資料進行操作,尤 IMD架構能夠將很多資料包裹在一個暫存器或記體 ,址中,並在硬體上使用平行運算,即能憑藉—個指人 行多個操作’而能使效能有重大改善。 雖然,多目前使用中的應用程式能夠執行這樣的操作, 此即為著名的垂直式操作,但仍·然有很多重要的應用程式 必須在執行垂直操作之前進行資*料元素重組,才能提供應 用程式所需的效率。這些重要的應用程式例如包括矩陣的 内積與乘法運算’它們通常用於3-D圖形與訊號處理應用 程式中。 β 一個發生在暫存器或記憶體字元中重組資料元素的問題 疋’用來顯示如何重組資料的機構,典型地需要使用遮罩 或控制字元。控制字元必須包含足夠的字元以顯示必須被 移入每一目的地資料區的那—個來源資料區,例如’若一 來源運算元有8個資料區,需要三個位元用以對任一給定 資料區命名’而且目的區暫存器有四個資料區,需要丨2位 元作為控制子元之用,然而,在處理器執行當中’若沒有 1 2字凡作為控制暫存器,則不能提供完全混洗功能。
因此,需要有某種重組資料元素順序的方法,而不須提 供全數的字元給控制暫存器。 發明總結 本發明提供一種裝置與方法以利用電腦輔助措施在封包 資料上進行混洗操作,在實體模型上,為首的封包資料至 少要存取兩個資料元素,第二的封包資料也至少有兩個資 料元素須存取。在為首的封包資料中,資料元素的其中之 一被混合在目的地暫存器的下層目的區,而在第二封包資 料中’資料元素的其中之一被混合在目的地暫存器的上層 目的區= 圖式簡單說明 本發明藉由範例來說明且參考下列的敘述,以及配合相 關的圖示,可得到較佳的理解,而相關的圖示則參考下列 相似的元件如: 圖1為依照本發明具體實施例的示範性電腦系統; 圖2為依照本發明具體實施例說明移動指令的操作; 圊3為依照本發明具體實施例說明混洗指令的操作; 圖4為依照本發明具體實施例說明内增指令的操作; 圖5為依照本發明具體實施例說明混洗指令的操作; 圖6a與6b為依照本發明具體實施例說明混洗指令的操 作; ’、 圖7為一總圖,依照本發明具體實施例,說明在使用π 洗指令當中,為過濾電視廣播的訊號而使用數位遽& 情形: 器的
第7頁 527 3 r 五、發明說明(3) 圖8為一總圖,說明在動畫中描繪圖形化物件時使用混 洗指令的情形; 本發明較佳具體實施例的詳細說明 在以下的說明中,提供很多的細節可對本發明作全盤的 瞭解,雖說如此,但是對於本發明某些一般技術,即使沒 有這些細節,它仍然可以操作,在另一方面,為了不使本 失去光環,很多著名的電路、結構與技術並沒有 節中公佈。 需使用 資料運 操作允 洗成任 能與來 用’例 外存取 批整數 在此 的儲存 之’該 程式設 器可在 執行, 置實體 明提供一種重組資料元素的方法,其控制暫存器不 全數的字元,依照本發明的狀況,這是一種在封包 算兀(混洗操作)中移動資料的裝置與方法,此混洗 許從兩個來源暫存器或記憶體將某種長度的資料混 何組合,並存入目的地暫存器中。目的地暫存器可 同。混洗指令在資料重整與移動中很有 之場所的暫存器,以供純量操作額 Μ ri私 』貧科袼式之間的轉換,如從整 轉到整批浮點數,反之亦然。 ::用暫存器"常常涉及於主機板上處理器 位址’並作為辨識運首 处王§5 暫存器與主機板外部;==” 一部份’易言 計人員的觀點來看)β /而看見的Μ都有相關(從 處理器内部電氣回路沾',如,在此中所描述的暫存 例如全方位實體暫存器°分使用报多不同的技術來 暫存器,全方用暫存器更名的動態配 動癌配置實體暫存器混合等。
五、發明說明(4) — 電腦系統 圖1說明電腦系統模組1 〇 〇,其可實現本發明的原理。電 腦系統100包含處理器105、儲存裝置11〇與匯流排115 ’另 外還有一些使用者輸出/入設備,如鍵盤120與螢幕125也 都耦接至匯流排115。處理器1〇5代表任何種類的中央處理 單元,例如CISC、RISC、VLIff或混合結構。另外處理器 105亦可在一或多個晶片上執行β儲存設備11〇代表一或多 個儲存資料的機構,例如,儲存設備丨丨〇可能包括唯讀記 憶體、隨機存取記憶體、磁碟儲存媒體、光碟儲存媒體、 快閃記憶體裝置、與/或其他可讀取機器媒體。匯流排u 5 代表一或多個匯流排(如AGP、PCI、ISA、X_Bus、VESA等) 與橋接器(或稱匯流排控制器)^雖然本發明所描述的具體 實施例僅與單處理器電腦系統f關,但本發明仍然亦;^在 多處理器電腦系統申來操作《另外,雖然本發明所描述的 具體實施例僅與64位元電腦系統有關,但本發明並不局限 於64位元電腦系統。 除了上述的設備外,尚須一或多個網路系統13〇,電視 廣播訊號接收機131,傳真/數據機132,數位化單元133, 音效單元134與圖形單元135選擇性地耦接到匯流排115。· 網路1 3 0與傳真數據機1 3 2代表一或多條網路耦接線,以便 在可讀取機器媒體(載波)上傳輸資料。數位化單元丨33代 ,一或多個圓形數位化裝置(例如掃描器、相機等)。音效 單凡134代表一或多個音效輸入與/或輸出裝置(麥克風、 擴大機、磁性儲存裝置、光學儲存裝置等)。圖形單元135
五、發明說明(5) 戈ί 1 A多個產生3'D影像的裝置(如圖形卡)。 料⑶代表所必須it 資料135與軟體136,資 選取道這其中有-個常見的技術,那就是 本發明^置〇文裝額外的軟體(無圖示),它並無了解 尽發明的必要。 器二二:卜?說明處理器105包含解碼單元140、-組暫存 143並行單元1 42,以及用來執行指令的内部匯流排 勺^Λ ^其中有—個常見的技術,那就是處理器105 二罝-1夕“ 的電氣迴路部/分,它並無了解本發明的必要。解 .^ 、暫存器141與執行單元1 42透過内部匯流排143 起,解碼單元1 4是用來將由處理器1 0 5所收到的 ^三解譯成控制訊號與/或微碼進入點,執行單元142執行 ^的操作,解碼單元140可以使用任何很多不同的機制 來執仃(例如,對照表,硬體具體實施例,pu等)。然而 各種扣令的解碼是以一連串的丨f/then陳述來表示,要了 解的是指令的執行並不需要這些一連串的if/then處理程 序’反而執行該if/then處理程序的任何技術已都納入本 發明的考慮範圍内。 解踢單元1 40包含封包資料指令集1 45,用以執行封包資 料的操作,在具體實施例中,封包資料指令集丨45包含以 下的指令:移動指令150、混洗指令1 55、加法指令(如 ADDPS) 160 與乘法指令165。MOVAPS、SHUFPS 與ADDPS 指令 皆可用於整批浮點資料上,在兩組數目之間操作後的結果 73 5p 五、發明說明(6) 巧預先選定的位元數,該位元數與儲存於暫存器令預先 器的相同。诘此批人T 小或組態與結果暫存 且俨f施你丨中二^ ?的操作將一一詳述於後。在所描述的 的具趙實施例額外有包括操作於整數資 丄 : 除了整批指令外,虛捜哭]η κ π a t A v 處理器105可包括新指令與/或類似於 二相同於在現存—般目的處理器中所發現的指♦。例如, 在具體實施㈣中處王里器1〇5支援與目前處理器正在使用中 = ntel架構相容的指令集,例如,Intel penti_ π 處理器。本發明的其他具體實施例中亦包含或多或少與 相異的封包資料指令,並可利用本發明的教案。 暫存器141代表再處理器1〇5上用以儲存資訊的倉庫包 括控制/狀態訊息、整數資料、浮點資料與封包資料。藉 =本發明方面的一般技術之一可瞭解的是所描述的指令集 得以在封包資料上操作,依照本發明的情勢,用來儲存封 包資料的儲存區並不太重要,在此中使用資料處理系統這 個名稱用以稱呼任何處理資料的機器,包括關於在圖1中 所描述的電腦系統。 本發明具體實施例中所描述的處理器i 0 5,本身要在包 含四個32位元單精度浮點值的丨2 8位元封包資料運算元上 執行封包資料指令的操作’並能夠以數種不同的封包資料 格式在封包資料上操作。例如在具體實施例中封包資料可 以在二種格式的其中之一上操作:整批位元組格式(如 PADDb),整批字元格式(PADDw),或整批雙字元格式
第11頁
五、發明說明(7) (dword)。整批位元組格式包含八個獨立的8位元資料元 素;整批字元格式包含四個獨立的16位元資料元素;整批 雙字元格式包含兩個獨立的32位元資料元素。然而以下所 討論的某些指令與其中一或兩個封包資料格式有關,指令 能夠容易地應用於本發明的其他封包資料格式上。 本發明的混洗指令是很多以不同S I MD結構來操作的指令 家族一部份,’例如,圖2為依照本發明具體實施例,說 明移動指令1 50的操作,在此例中,移動指令1 (M〇VAps) 將資料位元從某個暫存器移至另一個暫存器中或從某個記 憶體位址移至其他位址,在具體實施例中,64位元代表有 四個整批字元從某記憶體位址移至其他位址或從某個暫存 器至其他暫存器。 圖3為依照本發明具體實施例,說明混洗指令丨5 5的操 作,在具體實施例中,混洗指令155 (SHUFPS)能夠從第— 運算元將很多(如四個)單浮點數(FP)的任何一個混洗至目 的地暫存器330的下層的兩個目的區;上層的兩個目的區 疋攸第一運异元320將很多(如四個)單浮點數(j?p)的任^ 一個混洗而產生的。 了 圖4為依照本發明具體實施例,說明整批垂直加法指入 1 60的操作,在一具體實施例中,整批垂直加法指令^ = 加法指令(ADDPS)160,而它就對運算元41〇與第二運算疋 420的第一資料元素來操作,尤其,第一運算元41〇的資^ 元素與第二運算元420個別的封包資料元素相加,而且用料 來產生結果430 °例如,第一運算元410的資料元素〇與第
^52 73 5
=運=元420的資料元素G相加且結果儲存於結果43〇的 中’除了執行乘法的操作夕卜,整批乘法指令的 法與整批加法指令的作法類似 混洗操作 圖5為依照本發明具體實施例,說明在兩個數目上 的技^在此應用方面,資料是以摘圓形代表行 —:二以四方形代表,在開始進行時,處理程序S5〇〇教 在此數目xo、X1、X2、X3被視為資 料元素的長度是16位元且以下列的次序健 每
I X3 I X2 I XI I χο I 然後處理程序S500執行處理過-程352〇步驟,在此 Υ〇、Π、Y2、Y3被視為資料元素儲存於封包資料物件 525 ,為目前討論的方便,每—資料元素的長度是16位元 且以下列的次序儲存於暫存器χ丨中。 I Y3 I Y2 I Y1 I Υ〇 | 然後處理程序S5 00進行處理過程S530步驟,在此混洗指 令是在暫存器X〇(資料物件515)與暫存器χι(資料物^ '曰 5 2 5 )’用以從第一資料物件5丨5混洗四個資料元素的任何 其中之一到目的地暫存器535的兩個下層區,而混洗第二 資料物件525四個資料元素的任何其中之一到目的地暫存 器535的兩個上層區,合成的資料物件535如下: 丨 ίΥ3,Υ2’Υ1,γ〇Η{Υ3,Υ2,Υ1,Υ〇}Ι{Χ3,Χ2,Χ1,χ〇}|
第13頁 叩735 五、發明說明(9) {X3, X2, XI,X0} | 因此混洗操作執行,雖然圖5的混洗操作範例中的資料 運算元有四個資料元素,本發明的原理亦可應用於至少兩 個資料元素的資料運算元中。 一個八位元中間值用來當控制字元以顯示資料元素如何 混洗,控制字元的0,1位元顯示在第一運算元中四個資料 元素的哪一個被混洗到目的地暫存器的第一或下層的資料 元素中。控制字元的2, 3位元顯示在第一運算元中四個資 料元素的哪一個被混洗到目的地暫存器的第二資料元素 中。控制字元的4, 5位元顯示在第二運算元中四個資料元 素的哪一個被混洗到目的地暫存器的第三資料元素中。控 制字元的6, 7位元顯示在第二運算元中四個資料元素的哪 一個被混洗到目的地暫存器的第四資料元素中。例如,已 知第一運算元含有四個資料元素,其次序如下: |D1C|B|A| 而且已知第二運算元含有四個資料元素,其次序如下: IHIGIF|E| 同時已知混洗控制字元1 0 0 0 1 1 1 1 ,混洗的結果如下:
IGIEIDIDI 混洗控制字元的大小可能隨著在來源資料運算元中資料 元素的數目與目的地暫存器中區域的數目而變。 圖6a為依照本發明具體實施例,說明在兩個數目上執行 混洗的操作圖,裝置6 0 0讀取第一來源封包資料運算元6 0 5 以及第二封包資料運算元610的内容,四對一的資料多工
第14頁 4 527 3 1 五、發明說明(10) 器615從資料運算元6 05, 610的其中之一將任何一個資料元 素{D,C,B,A}混洗到目的地資料物件625的下層區。四對— 的資料多工器620從資料運算元605, 610的其中之一將任何 一個資料元素{ D , C,B,A }混洗到目的地資料物件6 2 5的上層 。 圖6b為依照本發明具體實施例’說明在兩個數目上執行 混洗的操作圖,裝置630讀取第一來源封包資料運算元635 的内容’從資料運算元6 35資料元素{D,C,B,A|的任何一個 被混洗到目的地資料物件645的下兩層區。裝置630讀取第 一來源封包資料運算元640的内容,從資料運算元640資料 元素iH,G,F,E}的任何一個被混洗到目的地資料物件645的 上兩層區。此種混洗方法僅可能以8位元控制字元來執 行。 一 因此混洗指令執行,雖然圖6 a與6 a以具有兩個資料元素 的資料運算元作為說明混洗操作的範例,本發明的原理可 能亦可在超過兩個資料元素的資料運算元中執行。 本發明的混洗指令可使用於很多不同的應用方面,例 如,方塊圖7為依照本發明具體實施例,說明數位濾波器 的使用’以混洗指令來過濾電視廣播訊號。圖7顯示電視 廣播sfl號703代表正由電腦系統7〇〇的接收單元706所接收 的電視廣播,接收單元7〇6接收電視廣播訊號7〇3並將它們 轉成數位資料7 0 9 ’數位濾波單元7 1 5利用一組係數71 2對 數位資料70 9執行數位濾波器(如FIR,IIR等)功能,結果數 位率波器單元715產生代表類比電視廣播訊號過濾後的資
第15頁 52 7 3 五、發明說明(11) 料718(也稱為已過濾資料物件),在實施過濾操作當中, 執行混洗指令。過遽後的資料71 8由影像解瑪器7 21所接 收’以轉換為音頻與視頻資料724,這種由影像解碼器所 執行的技術非常的出名(參考Jack, Smith,Keith, ” NTSC/PAL 數位解碼器”,Video Demy s t i f i ed, High Text Publications, Inc,1993),此音頻與視頻資料應用範圍相 當廣(如顯示在螢幕上)。 在具體實施例上,顯示於圖1的電腦系統1〇〇是用來執行 圖7中的電腦系統700,在上述的具體實施例中,電視廣播 訊號接收機131的作用如同接收單元706且可以含括—個電 視調諧器、類比數位轉換器與DMA頻道,電視廣播訊號7〇3 由電視調諧器接收,藉由類比數位轉換器轉成數位資料, 然後健存於DMA頻道的儲存裝置 '中,由電視廣播訊號接收 機131所檢選的數位資料可以任何的格式儲存,例如,電 視廣播接收機131可將資料以描述於其中的一或多種格式 儲存於主記憶體中-儲存每一資料分量的兩個樣本,如此 可以上述的格式視為封包資料讀取進來,然後此資料可以 封包資料加以存取並複製到處理器1〇5上的暫存器。因為 該資料以顯明的格式儲存,處理器丨0 5可輕易與有效率地 執行圖5與圖6相關的混洗操作。在電視廣播訊號接機 ⑶中的接收單元m可能包含額外的軟、硬體m 體或者在處理器105中執行的軟體,例如,額外的軟體可 能儲存於儲存裝置110中,以進一步處理在執行數位率波 器功能之前的資料。
在此具體實施例中,是利用處理器i05與軟體丨36執行該 J波器功能以執行數位濾波器718,同時,執行軟體136的 j = 1 0 5是利用混洗操作來執行數位濾波器,並將以過 2資料718儲存於儲存裝置11〇中。如此,數位濾波器是 、腦系統的主機而非電視廣播訊號接收機131來執行 ' 、’’°果電視廣播说號接收機131的複雜度因而降低, ::具體實施例中,影像解碼器721可以由硬體、軟體與/ $動體的任何不同的組合來執行,然後音頻與視頻資料 可以分別被儲存、與/或顯示於顯示器125與音效單元 圖8為依照本發明具體實施例,說明以混洗操作表現動 圖形物件的一般方塊圖,在此圖中所顯示的電腦系統 〇〇包3有代表3D圖形的數位資料755,數位資料810可被 儲存於唯讀光碟或其他種類的儲存裝置中以備他用。偶而 ,換=元76 0利用3D幾何執行資料轉換,這其中包括使用 此洗扎令以處理(如縮放、旋轉等)提供動畫的3 D物件,然 後顯示產生的圖形物件830於顯示螢幕84〇上,此產生的圖 形物件亦可傳送至錄存裝置(如磁性儲存媒體,磁帶)。 在具體實施例中,顯示於圖1的電腦系統丨〇 〇是用來執行 來自圖8的30個圖形的操作,來自圖8的數位資料是儲 存於代表3D圖形儲存裝置11〇中的任何資料,同時,來自 圖8轉換單元82 0的執行是利用處理器1〇5與軟體136以變更 $用3D圖形的資料,此種資料變更的例子包括⑽轉換的執 仃’同時執行軟體136的處理器105執行此種轉換並將轉換
第17頁 fT 〇,。广 _案號 88105136 年 7月 1 日____ 五、發明說明(13) 後的資料8 3 0儲存於儲存裝置1 1 0中與/或提拱此轉換後的 資料給於圖形單元1 3 5,如此,可加快由電腦系統主機處 理器所執行的3 D處理工作,因此本發明透過可資利用的指 令集以促進混洗操作的執行。 在描述數個使用混洗操作的例子當中,要瞭解的是此發 明並不偈限於這些用途,另外,在以數個具體實施例描述 本發明當中,那些技術將可歸納得到結論,即本發明並不 偈限於所描述的具體實施例,本發明的方法與裝置可以在 .所申請專利的精神與範圍内進行修正與變更,以利施行, 故此敘述可視為取代本發明限制性的說明。 元件符號說明: 100 電 腦 系 統 105 處 理 器 110 儲 存 裝 置 115 匯 流 排 120 鍵 盤 125 螢 幕 130 網 路 131 電 視 廣 播 訊 號 接收機 132 傳 真 /數據機 133 數 位 化 單 元 134 音 效 單 元 135 圖 形 單 元 136 軟 體 140 解 碼 單 元 141 暫 存 器 142 執 行 單 元 143 内 部 匯 流 排 145 封 包 資 料 指 令 集 150 移 動 指 令 155 混 洗 指 令 160 加 法 指 令 165 乘 法 指 令 31 0 第 一- 運 算 元 320 第 二 運 算 元 410 第 運 算 元 420 第 二 運 算 元 430 結 果 600 裝 置
O:\57\57481.ptc 第18頁 2001.07. 02.018 案號88105136_f0年/月^曰 修正 五、發明說明 (14) 605 第 一 來 源 封 包 資 料 運 算 元 610 第 二 來 源 封 包 資 料 運 算 元 620 資 料 多 工 器 625 S 的 資 料 物 件 630 裝 置 635 第 來 源 封 包 資 料 運 算 元 640 第 二 來 源 封 包 資 料 運 算 元 645 g 的 資 料 物 件 700 電 腦 系 統 703 電 視 廣 播 訊 號 706 接 收 單 元 709 數 位 資 料 712 一 組 係 數 715 數 位 渡 波 單 元 718 過 濾 後 資 料 72 1 影 像 解 瑪 器 724 音 頻 與 視 頻 資料 760 轉 換 單 元 800 電 腦 系 統 810 數 位 資 料 830 圖 形 物 件 840 顯 示 螢 幕
O:\57\57481.ptc 第18a頁 2001.07. 02.019
Claims (1)
- 45273 5 六、申請專利範圍1. 一種電腦系統,包括: 一硬體單元,用以傳輪代表圖形 一顯示器; 一處理器,叙接至該硬體單元; 一儲存裝置’耦接至該處理器孟 於其中’當該處理器執行此程序時, 資料,此程序至少可讓處理器至少羊 素的第一封包資料運算元; 存取至少含有兩個資料元素之一 元; ' 存取至少 混洗第一 目的地暫存器 混洗第二 個目的地暫存 2‘如申請專 尚包含一封包 3.如申請專 尚包含一封包 4,一種電腦 一硬體單 ~~顯示器; 3有兩個資料元素的 封包資料運算元中的 的下方目的地攔Γ及 封包資料運算元中的 器的上方目的地欄。 利範圍第1項之電腦j 裝置供浮點資料包裝 利範圍第1項之電腦3 裝置,以將整數資料 系統包括: 元’用以傳輸代表圖 的資料至另一電腦或 已經儲存一常用程序 促使該處理器產生該 -取一具有兩個資料元 -個第一封包資料運算 ξ二封包資料運算元; t中一個資料元素至— ^中一個資料元素到某 統’其中該館存裝置 〔資料元素。 統’其中該儲存裝置 ^包成資料元素。 的資料至另一電腦或 45273 5 六、申請專利範圍 於其中,當處理器執行此程序時,促使該處理器產生資 料,此程序至少可讓處理器至少存取一具有至少兩個資料 元素的第一封包資料運算元;及 混洗第一封包資料運算元中的任何一個資料元素到一 個目的地暫存器的任何目的區。 5. 如申請專利範圍第4項之電腦系統,其中該儲存裝置 尚促使處理器: 存取一具有至少兩個資料元素的第二封包資料運算 元;及 混洗第二封包資料運算元中的其中任何一個資料元素 到某個目的地暫存器的任何目的攔。 6. 如申請專利範圍第4項中之電腦系統,在此中該儲存 裝置尚包含一封包裝置,將浮點資料包裝成資料元素。 7. 如申請專利範圍第4項之電腦系統,其中該儲存裝置 尚包含一封包裝置,以將整數資料包裝成資料元素。 8. 以該電腦執行之步驟的方法; 將一單一指令予以解碼; 反應將該單一指令予以解碼之步驟, 存取一至少含有兩個資料元素的第一封包資料運算 元; 存取一至少含有兩個資料元素的第二封包資料運算 元; 混洗第一封包資料運算元中的一個資料元素到一個目 的地暫存器下方目的地攔;及第20頁 六、申請專利範圍 混洗在該第二封包資料運算元中的一個資料元素到一 個目的地暫存器上方目的地攔。 9.如申請專利範圍第8項之方法,尚包含將浮點資料包 裝成資料元素之步驟。 1 0.如申請專利範圍第8項之方法,尚包含將整數資料包 裝成資料元素之步驟。 11. 一種包含以電腦執行下述步驟的方法: 將一單一指令予以解碼; 反應將該單一指令予以解碼之步驟,存取一至少含有 兩個資料元素的第一封包資料運算元; 混洗在該第一封包資料運算元中的任何一個資料元素 到某個目的地暫存器的任何目的地攔。 1 2.如申請專利範圍第1 1項之方法進一步所包含的步驟 有: 存取一至少含有兩個資料元素的第二封包資料運算 元; 混洗在該第二封包資料運算元中的任何一個資料元素 到某個目的地暫存器的任何目的地攔。 1 3.如申請專利範圍第1 1項之方法,尚包含將浮點資料 封包成資料元素的步驟。 1 4.如申請專利範圍第1 1項之方法,尚包含將整數資料 封包成資料元素的步驟。 15. —種包含以電腦執行之下述步驟的方法: 存取一個第一三維影像的代表性資料;第21頁 4 52 7 3 3 六、申請專利範圍 利用三維幾何變更資料以產生一個第二個三維影像, 該變更之步驟至少包含, 存取一個至少含有兩個資料元素的第一封包資料運算 元 存取一個至少含有兩個資料元素的第二封包資料運算 元 混洗在該第一封包資料運算元中的一個資料元素到一 個目的地暫存器的下方目的地攔; 混洗在該第二封包資料運算元中的一個資料元素到一 個目的地暫存器的上方目的地襴;及 顯示第二個三維影像。 1 6.如申請專利範圍第1 5項之方法,其中該變更步驟包 括執行一三維轉換。 1 7.如申請專利範圍第1 5項之方法,其中該變更步驟包 括將浮點資料封包成資料元素。 1 8.如申請專利範圍第1 5項中之方法,在其中的變更步 驟包括將整數資料包裝成資料元素。 19, 一種包含以電腦執行下述步驟的方法: 存取一個第一三維影像的代表性資料; 利用三維幾何變更資料以產生第二個三維影像,該變 更之步驟至少包含, 存取一個至少含有兩個資料元素的第一封包資料運算 元; 混洗在該第一封包資料運算元中的任何一個資料元素第22頁 4 52 73第23頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/052,996 US6041404A (en) | 1998-03-31 | 1998-03-31 | Dual function system and method for shuffling packed data elements |
Publications (1)
Publication Number | Publication Date |
---|---|
TW452735B true TW452735B (en) | 2001-09-01 |
Family
ID=21981242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW088105136A TW452735B (en) | 1998-03-31 | 1999-06-21 | System and method for performing a shuffle instruction |
Country Status (6)
Country | Link |
---|---|
US (2) | US6041404A (zh) |
EP (1) | EP0947918A3 (zh) |
CN (1) | CN1158613C (zh) |
BR (1) | BR9901145A (zh) |
SG (1) | SG77228A1 (zh) |
TW (1) | TW452735B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI603262B (zh) * | 2015-05-05 | 2017-10-21 | 英特爾股份有限公司 | 緊縮有限脈衝響應(fir)濾波器處理器,方法,系統及指令 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US5953241A (en) | 1995-08-16 | 1999-09-14 | Microunity Engeering Systems, Inc. | Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction |
US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US7133040B1 (en) * | 1998-03-31 | 2006-11-07 | Intel Corporation | System and method for performing an insert-extract instruction |
US6418529B1 (en) * | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
ATE557343T1 (de) * | 1998-08-24 | 2012-05-15 | Microunity Systems Eng | Prozessor und verfahren zur durchführung eines breitschaltungsbefehls mit breitem operand |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
US7155601B2 (en) * | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
US7725521B2 (en) * | 2001-10-29 | 2010-05-25 | Intel Corporation | Method and apparatus for computing matrix transformations |
US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
US7739319B2 (en) * | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
US7631025B2 (en) * | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7818356B2 (en) * | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7624138B2 (en) | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US7853778B2 (en) | 2001-12-20 | 2010-12-14 | Intel Corporation | Load/move and duplicate instructions for a processor |
US7047383B2 (en) * | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
WO2006048828A1 (en) | 2004-11-03 | 2006-05-11 | Koninklijke Philips Electronics N.V. | Programmable data processing circuit that supports simd instruction |
CN101059865B (zh) * | 2006-04-18 | 2010-05-12 | 太极控股有限公司 | 指令摺叠处理单元及其方法以及使用该摺叠处理单元及该方法之像素处理系统 |
US7761694B2 (en) * | 2006-06-30 | 2010-07-20 | Intel Corporation | Execution unit for performing shuffle and other operations |
US8417922B2 (en) * | 2006-08-02 | 2013-04-09 | Qualcomm Incorporated | Method and system to combine multiple register units within a microprocessor |
US8289324B1 (en) | 2007-12-17 | 2012-10-16 | Nvidia Corporation | System, method, and computer program product for spatial hierarchy traversal |
US8502819B1 (en) | 2007-12-17 | 2013-08-06 | Nvidia Corporation | System and method for performing ray tracing node traversal in image rendering |
US8909901B2 (en) * | 2007-12-28 | 2014-12-09 | Intel Corporation | Permute operations with flexible zero control |
US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
US8327344B2 (en) * | 2008-10-14 | 2012-12-04 | International Business Machines Corporation | Array reference safety analysis in the presence of loops with conditional control flow |
US9652231B2 (en) * | 2008-10-14 | 2017-05-16 | International Business Machines Corporation | All-to-all permutation of vector elements based on a permutation pattern encoded in mantissa and exponent bits in a floating-point SIMD architecture |
US8423983B2 (en) * | 2008-10-14 | 2013-04-16 | International Business Machines Corporation | Generating and executing programs for a floating point single instruction multiple data instruction set architecture |
US9086872B2 (en) | 2009-06-30 | 2015-07-21 | Intel Corporation | Unpacking packed data in multiple lanes |
US8564589B1 (en) | 2010-05-17 | 2013-10-22 | Nvidia Corporation | System and method for accelerated ray-box intersection testing |
US8555036B1 (en) | 2010-05-17 | 2013-10-08 | Nvidia Corporation | System and method for performing predicated selection of an output register |
CN102109978A (zh) * | 2011-02-28 | 2011-06-29 | 孙瑞琛 | 一种数据的重排方法及重排装置 |
US9436469B2 (en) | 2011-12-15 | 2016-09-06 | Intel Corporation | Methods to optimize a program loop via vector instructions using a shuffle table and a mask store table |
WO2013095554A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of consecutive integers in numerical order |
US10223112B2 (en) | 2011-12-22 | 2019-03-05 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
CN104011644B (zh) | 2011-12-22 | 2017-12-08 | 英特尔公司 | 用于产生按照数值顺序的相差恒定跨度的整数的序列的处理器、方法、系统和指令 |
US9658850B2 (en) | 2011-12-23 | 2017-05-23 | Intel Corporation | Apparatus and method of improved permute instructions |
WO2013095613A2 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Apparatus and method of mask permute instructions |
US9946540B2 (en) | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
WO2013095630A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Apparatus and method of improved extract instructions background |
CN107193537B (zh) | 2011-12-23 | 2020-12-11 | 英特尔公司 | 经改进的插入指令的装置和方法 |
US9395988B2 (en) | 2013-03-08 | 2016-07-19 | Samsung Electronics Co., Ltd. | Micro-ops including packed source and destination fields |
US9766888B2 (en) | 2014-03-28 | 2017-09-19 | Intel Corporation | Processor instruction to store indexes of source data elements in positions representing a sorted order of the source data elements |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
EP3001307B1 (en) | 2014-09-25 | 2019-11-13 | Intel Corporation | Bit shuffle processors, methods, systems, and instructions |
CN105511838B (zh) * | 2014-09-29 | 2018-06-29 | 上海兆芯集成电路有限公司 | 处理器及其执行方法 |
US10503502B2 (en) | 2015-09-25 | 2019-12-10 | Intel Corporation | Data element rearrangement, processors, methods, systems, and instructions |
US10678545B2 (en) * | 2016-07-07 | 2020-06-09 | Texas Instruments Incorporated | Data processing apparatus having streaming engine with read and read/advance operand coding |
US9959247B1 (en) | 2017-02-17 | 2018-05-01 | Google Llc | Permuting in a matrix-vector processor |
CN113190791A (zh) | 2018-08-06 | 2021-07-30 | 华为技术有限公司 | 矩阵的处理方法、装置及逻辑电路 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3711692A (en) | 1971-03-15 | 1973-01-16 | Goodyear Aerospace Corp | Determination of number of ones in a data field by addition |
US3723715A (en) | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4139899A (en) | 1976-10-18 | 1979-02-13 | Burroughs Corporation | Shift network having a mask generator and a rotator |
US4161784A (en) | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4418383A (en) | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4393468A (en) | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4498177A (en) | 1982-08-30 | 1985-02-05 | Sperry Corporation | M Out of N code checker circuit |
US4707800A (en) | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
JPS6297060A (ja) | 1985-10-23 | 1987-05-06 | Mitsubishi Electric Corp | デイジタルシグナルプロセツサ |
JP2613223B2 (ja) * | 1987-09-10 | 1997-05-21 | 株式会社日立製作所 | 演算装置 |
US4989168A (en) | 1987-11-30 | 1991-01-29 | Fujitsu Limited | Multiplying unit in a computer system, capable of population counting |
US5019968A (en) * | 1988-03-29 | 1991-05-28 | Yulan Wang | Three-dimensional vector processor |
US4903228A (en) | 1988-11-09 | 1990-02-20 | International Business Machines Corporation | Single cycle merge/logic unit |
KR920007505B1 (ko) | 1989-02-02 | 1992-09-04 | 정호선 | 신경회로망을 이용한 곱셈기 |
US5081698A (en) | 1989-02-14 | 1992-01-14 | Intel Corporation | Method and apparatus for graphics display data manipulation |
US5497497A (en) * | 1989-11-03 | 1996-03-05 | Compaq Computer Corp. | Method and apparatus for resetting multiple processors using a common ROM |
US5168571A (en) | 1990-01-24 | 1992-12-01 | International Business Machines Corporation | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data |
US5268995A (en) | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
US5680161A (en) | 1991-04-03 | 1997-10-21 | Radius Inc. | Method and apparatus for high speed graphics data compression |
US5187679A (en) | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
US5321810A (en) * | 1991-08-21 | 1994-06-14 | Digital Equipment Corporation | Address method for computer graphics system |
US5423010A (en) | 1992-01-24 | 1995-06-06 | C-Cube Microsystems | Structure and method for packing and unpacking a stream of N-bit data to and from a stream of N-bit data words |
US5426783A (en) | 1992-11-02 | 1995-06-20 | Amdahl Corporation | System for processing eight bytes or less by the move, pack and unpack instruction of the ESA/390 instruction set |
US5408670A (en) | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
US5465374A (en) | 1993-01-12 | 1995-11-07 | International Business Machines Corporation | Processor for processing data string by byte-by-byte |
US5625374A (en) | 1993-09-07 | 1997-04-29 | Apple Computer, Inc. | Method for parallel interpolation of images |
US5390135A (en) | 1993-11-29 | 1995-02-14 | Hewlett-Packard | Parallel shift and add circuit and method |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US5781457A (en) | 1994-03-08 | 1998-07-14 | Exponential Technology, Inc. | Merge/mask, rotate/shift, and boolean operations from two instruction sets executed in a vectored mux on a dual-ALU |
US5931945A (en) * | 1994-04-29 | 1999-08-03 | Sun Microsystems, Inc. | Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits |
US5594437A (en) | 1994-08-01 | 1997-01-14 | Motorola, Inc. | Circuit and method of unpacking a serial bitstream |
US5579253A (en) * | 1994-09-02 | 1996-11-26 | Lee; Ruby B. | Computer multiply instruction with a subresult selection option |
WO1996017291A1 (en) | 1994-12-02 | 1996-06-06 | Intel Corporation | Microprocessor with packing operation of composite operands |
US6381690B1 (en) * | 1995-08-01 | 2002-04-30 | Hewlett-Packard Company | Processor for performing subword permutations and combinations |
US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
AU6905496A (en) * | 1995-09-01 | 1997-03-27 | Philips Electronics North America Corporation | Method and apparatus for custom operations of a processor |
US5819117A (en) * | 1995-10-10 | 1998-10-06 | Microunity Systems Engineering, Inc. | Method and system for facilitating byte ordering interfacing of a computer system |
US6009191A (en) * | 1996-02-15 | 1999-12-28 | Intel Corporation | Computer implemented method for compressing 48-bit pixels to 16-bit pixels |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
GB2317467B (en) * | 1996-09-23 | 2000-11-01 | Advanced Risc Mach Ltd | Input operand control in data processing systems |
US5909572A (en) * | 1996-12-02 | 1999-06-01 | Compaq Computer Corp. | System and method for conditionally moving an operand from a source register to a destination register |
GB2326253A (en) * | 1997-06-10 | 1998-12-16 | Advanced Risc Mach Ltd | Coprocessor data access control |
US5933650A (en) * | 1997-10-09 | 1999-08-03 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US6223277B1 (en) * | 1997-11-21 | 2001-04-24 | Texas Instruments Incorporated | Data processing circuit with packed data structure capability |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US6115812A (en) | 1998-04-01 | 2000-09-05 | Intel Corporation | Method and apparatus for efficient vertical SIMD computations |
US6243808B1 (en) | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
-
1998
- 1998-03-31 US US09/052,996 patent/US6041404A/en not_active Expired - Lifetime
-
1999
- 1999-03-11 SG SG1999001342A patent/SG77228A1/en unknown
- 1999-03-26 EP EP99302378A patent/EP0947918A3/en not_active Withdrawn
- 1999-03-31 BR BR9901145-0A patent/BR9901145A/pt not_active Application Discontinuation
- 1999-03-31 CN CNB991060970A patent/CN1158613C/zh not_active Expired - Lifetime
- 1999-06-21 TW TW088105136A patent/TW452735B/zh not_active IP Right Cessation
-
2002
- 2002-03-21 US US10/104,205 patent/USRE45458E1/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI603262B (zh) * | 2015-05-05 | 2017-10-21 | 英特爾股份有限公司 | 緊縮有限脈衝響應(fir)濾波器處理器,方法,系統及指令 |
US9898286B2 (en) | 2015-05-05 | 2018-02-20 | Intel Corporation | Packed finite impulse response (FIR) filter processors, methods, systems, and instructions |
Also Published As
Publication number | Publication date |
---|---|
CN1158613C (zh) | 2004-07-21 |
EP0947918A3 (en) | 2000-04-26 |
SG77228A1 (en) | 2000-12-19 |
US6041404A (en) | 2000-03-21 |
EP0947918A2 (en) | 1999-10-06 |
USRE45458E1 (en) | 2015-04-07 |
BR9901145A (pt) | 1999-12-21 |
CN1234560A (zh) | 1999-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW452735B (en) | System and method for performing a shuffle instruction | |
US7155601B2 (en) | Multi-element operand sub-portion shuffle instruction execution | |
US5677862A (en) | Method for multiplying packed data | |
US5666298A (en) | Method for performing shift operations on packed data | |
US5881275A (en) | Method for unpacking a plurality of packed data into a result packed data | |
US20180113712A1 (en) | In-lane vector shuffle instructions | |
US6211892B1 (en) | System and method for performing an intra-add operation | |
US5819101A (en) | Method for packing a plurality of packed data elements in response to a pack instruction | |
US7133040B1 (en) | System and method for performing an insert-extract instruction | |
WO1996017292A1 (en) | Microprocessor with compare operation of composite operands | |
US6307553B1 (en) | System and method for performing a MOVHPS-MOVLPS instruction | |
TW200306494A (en) | Data processing system | |
JPH05258052A (ja) | 2次元データ回転レジスタ回路 | |
JPH04235592A (ja) | 表示制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MK4A | Expiration of patent term of an invention patent |