TW594569B - Load/move duplicate instructions for a processor - Google Patents
Load/move duplicate instructions for a processor Download PDFInfo
- Publication number
- TW594569B TW594569B TW091136652A TW91136652A TW594569B TW 594569 B TW594569 B TW 594569B TW 091136652 A TW091136652 A TW 091136652A TW 91136652 A TW91136652 A TW 91136652A TW 594569 B TW594569 B TW 594569B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- source
- register
- computer
- readable medium
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 241000894006 Bacteria Species 0.000 claims 1
- 239000000835 fiber Substances 0.000 claims 1
- 101100285899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SSE2 gene Proteins 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 229910052797 bismuth Inorganic materials 0.000 description 2
- JCXGWMGPZLAOME-UHFFFAOYSA-N bismuth atom Chemical compound [Bi] JCXGWMGPZLAOME-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000012572 advanced medium Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/3001—Arithmetic instructions
-
- 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
-
- 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
-
- 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
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
594569 ⑴ 玖、發明說明 ‘ (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 技術領域 本發明與處理器之載入/移動及複製指令相關。 先前技術 “ 一系統架構係描述一處理器之操作模式和提供用以支援 、 操作系統之方法,且包括系統導向暫存器和資料結構以及 系統導向指令。該系統架構也提供所需於在真實位址和保 護模式之間轉換的方法。 Φ 單一指令及多數資料(SIMD)技術之引進至系統架構提供 包含在64位元暫存器之封包整數資料之平行計算。SIMD提 供處理器,例如在先進媒體、影像處理和資料壓縮應用上 增強之效能。 實施方式 參考圖1顯示一處理器10。該處理器10係為三向超規模、 管線化架構。使用平行處理技術,該處理器10平均能夠在 每個時脈週期解碼、派遣和完成三個指令之執行(收回)。為 · 了處理該等級之指令輸出,該處理器10使用分離之十二階 段管線,其支援失序之指令執行。該處理器10之微架構管 線分成四區段,即是一第一等級快取12和一第二等級快取 14,一前端16和一失序執行核心18以及一收回區段20。指令 和資料經由與系統匯流排24交界之匯流排介面單元22提供 至該等單元。該前端1 6以程式次序提供指令至失序核心 -18,該核心具有非常高執行頻寬且能以一個半時脈週期等 待時間執行基本整數操作。該前端16擷取且解碼指令至稱 (2) (2)594569 為械操作(μ-ops)之簡單操作。 -一 邊則端16月匕夠以原始程序次序 在母個週期發送多數μ-〇ρ至 少苴士 大序核^ 18。孩前端16執行許 夕基本功能。例如,該前端丨 ^ , 執仃可犯被執行之預先擷取 扣々、擷取尚未被預先擷取 ^ ^ ^ 扣令、解碼指令至微操作、 產生複雖指令和特殊目的碼之 w λ 政碼、伙—執行軌跡快取26 傳h解碼過指令、且使用在 刀文預測单7L 28中之先進演篡 法預測分支。 T I无進肩异 该處理器1〇之前端16被設 瑚哭士 處理在阿速及管線化微處 理奋 < —些共同問題。例如, I & $ ' + Λ寺問&〈其中兩個係為主 要延遲又來源的原因。該等延 人兩 义係為解碼從目標擷取之指 7所而的時間且浪費因為在 .^ ^ 取線中間〈分支或分支目標 而辰費解碼頻寬。 什 執行軌跡快取26藉由儲存 去。护人1 巧過乏指令處理該等問題兩 者才曰々藉由轉換弓1整f去甚一 v 、 摯(未心)擷取和解碼且建立至稱為軌 跡y0ps序列。這些 軌 為軌 八 B 1有存在軌跡快取26中。從一 刀支之取可能目標之指令立即地 令位址支連絡降 ^ 奴该刀支而不需考慮指 lu ^ <後’在孩軌跡快取26尋 找在该軌跡之後的指令。 之第一沪人 邊私令出現為在既存軌跡中 曰々,從記憶體階層之指人 軌跡快取26變以人、w㈤ 絲和解碼停止且 欠成指令心新來源。 该執仃軌跡快取18和轉換引
_ 、衣顯不)擁有合作夕八I 預測硬體。分* H揭m v + Μ难啕《邗又分支 線性位標緩衝器(BTBS) 28根據其 記憶體中== 也擷^ ' μ寺刀支目枯攸旗軌跡快取26擷取,否則, -6- 594569
(3) 指令從記憶體階層擴取。使用轉換引擎之分支預測資訊以 形成沿著最可能路徑之軌跡。 該核心1 8失序地執行指令使得處理器10重新組序指令使 得假如當等待資料或衝突之執行來源時而一 μ-〇ρ被延遲, 依程式次序為後之其他μ-ops可繞過該μ_〇ρ而進行。該處理 器10利用許多缓衝器以平滑μ-ορδ之流動。此指示當管線之 一部分經歷延遲,該延遲可被平行執行之其他操作或藉由 先前在缓衝存中排隊之μ-ops之執行而掩飾。 設計核心18以便於平行執行。該核心18可以派送上至每 週期6 μ-ops,茲〉王意的是此超過軌跡快取%和收回2〇 頻寬。多數管線可以每個週期開始執行新卜叩,使得許多 指令可從每個管線在任何時間處理。許多的算術邏輯單元 (ALU)指令可以每兩週期開始’且許多浮點指令可每兩週期 開始。最後只要其資料輸入已經準備好且資源也可得卿 可以不依次序開始執行。 队心仅W執行核心18摘取執行過之"ps的結果且處 理孩結果使得該適當架構狀態根據原始程式次序而更新。 對於語意正確之執行,指令处 、 7〜果在孩執行收回之前以原始 程式次序交付。當指令收回之 I』把升起例外。因此該等 例外不能夠被預測發生 ㈣可Μ… 例外以正確次序發生且處理 " 在執行後被正確地重新開始。 當—μ·〇Ρ完成且寫其結果至目 、 it * ^ 〕地時,孩μ-op收回。每個 U期可以收回至3個μ·。 „(robv, ^ 收口 ^^又20中之重新組序缓衝 TO(R〇B)(未顯示)係為在處理器 <單兀,孩單兀保存完 -7 - (4) (4)594569 成之μ--,依序更新架構狀態且為維持例外之次^。 收回區段-20也紀錄分支 又且傳运更新(分支目標資訊至 BTB 28以更新分支歷史。以缔士彳 如减备、 及方式,根據更新分支歷史資 訊’不再需要之執跡可從軌跡快取26清除且新分支路徑可 被擴取。 參考圖2,顯示一執行環培 I兄50。在處理器1〇(圖”上執行之 任何程式或任務可給予—知次、広” & 丁 組貝源以執行指令和儲存碼、資 料和狀態資訊。這些資源形成處理器1〇之執行環境5〇。在 該處理器U)上執行之應用程式和操作系統或執行一起使用 該執行環境5 0。該執行環境5 〇僉 、 已括基本私式執行暫存器52、 位址空間54、浮點單元(Fpu)暫存 存斋56、多媒體延伸暫存哭 (顯X) 58、以及s細延伸(咖和SSE2)暫存器6〇。 ^ 在處理器10上執行之任何任 ^勒或%式可定址上至4個十 億位元組(232位元組)之線性位 一 36 丞啜54和上至64個十億位 元組(2 )之物理位址空間。該 1址空間54可以是平坦或是分 段的。使用物理位址延伸機制,可定址236.】之物理位址空間。 =程式執行暫存器52包括八個通用暫存器62、六個區 段 i 存 4 64、EFLAGS暫存器 66、EIP(^入 _ #_ ,^ , (才曰令指標)暫存器68。 該基本程式執行暫存器Μ提供基 y 今奶订%境,在孩環境中 執行一組通用指令。這虺指令 7在位兀組、字、和雙字整數 上執行基本整數算術、處理程式流 I制、在位7C和位元組 鉍度上操作且定址記憶體。
FpU暫存器56包括八個FPU資科暫 卞嚯存詻70、FPU控制暫存哭 72、狀態暫存器μ、Fpu指令指 口口 — ⑪7扣铋暫存器76、FPU運算元(資 (5) (5)594569 料)指標暫存器78、FPU標籤暫存器8〇和Fpu操作碼暫存哭 82。該FPU暫·存器56提供在單一精準、雙精準和雙延伸 浮點值、字、雙字、和四字整數以及二位元編碼之十 (BCD)值上操作之執行環境。 該八個多媒體延伸暫存器58支援在64_位元封包位元組、 字和雙字整數上執行單-指♦、多數資料⑻MD)操;^、、’且、 該等SIMD延伸(SSE和SSE2)暫存器6〇包括八個延伸多媒體 (XMM)資料暫存器84和—MXCSR暫存器%。該等延伸(挪和 SS精存器6G支援在位元封包單—精準和雙精準浮點 «值和在128_位元封包位元組、字、雙字及四字整數 行SIMD操作。 一堆叠(未顯示)支援程序或子程式呼叫和在程序和子程 式之間參數之傳遞。 通用暫存器62可得於儲存運算元和指標。區段暫存器“ 可以保存上至六個區段選擇器。該帆偏(程式狀態和控制 暫存器66報告正在執 - 、 〜、且允疔處理器之有限 (應用程式等級)之控制。該EIP(指令指標)暫存器⑼包括仏 位兀指標至將被執行之下一指令。 一1疋仏Μ仅兀^ S暫存器62以保存邏輯核算術操作之運算 兀位址汁算之運算元和記憶體指標。_巴 左一「 知 4 又暫存器64保 E二二段選擇器。—區段選擇器係為識別在記憶體中 —殊指標。,了存取在記憶體中之特別區段 ^區段選擇器必須在適當區段暫存器64中存在。 當撰寫應用程式碼時,程式設計師通常以組譯器指示和 (6)594569 符號產生區段選擇器
該組譯器和其他工具之後產生關聯 於這些指示和符號之實際區段選擇器值。假如撰窝系統碼 時’程式設計師可能需要直接地產生區段選擇器。
區段暫存器64如何使用取決於操作系統或執行使用之記 憶體管理模型之形式。當使用平坦(未分段)之記憶體模型 時,該區段暫存器64載入指向重疊區段之區段選擇器,每 個區段選擇器以在線性位址空間中之位址〇開始。之後這些 重疊區段包括程式之線性位址空間。通常,定義兩重叠區 &。一個於碼而另一個於資料和堆疊。區段暫存器64之 區段暫存器(未顯示)指向碼區段而所有其他區段暫存器指 巷資料和堆疊區段。 田使用分段之記憶體模型時,每個區段暫存器64通常載 入不同區段選擇器使得每個區段暫存器64指向在線性位址 空間内之不同區段。在任何時間,程式因此存取上至在線 性位址空間中之六個區段。為了存取不被區段暫存器64其 中之一所指向之區段,一程式首先載入將被存取之區段選 擇器至區段暫存器64。 該32位元EFLAG暫存器66包含一組之狀態旗標、控制旗標 和一組之系統旗標。在EFLAGS暫存器66中之一些旗標可使 用特殊目的指令而直接被修改。沒有指令允許全部暫存器 66被直接地檢查或修改。然❿,可使用下列指令以移動旗 標之群組至或從程序堆疊或通用暫存器:laHF、SAHF、 push_F、puSh-FD、pop_F以及 p〇p_FD。在 Eflags暫存器 α之内 容已經轉移至程序堆疊或通用暫存器之後,該等旗標可使 -10- 594569 ⑺ i麵 用處理器1 〇位元操作指令被檢查或修改 當暫停一任務時,該處理器10自動地儲存EFLAGS暫存器 66之狀態在被暫停之任務的任務狀態區段(tss)(未顯示當 結合自身至新任務時,該處理器1〇以從新任務程式狀態暫 存器(PSS,未顯示)之資料載入至EFLAGS暫存器。 當呼叫中斷或例外處理器程序時,該處理器10自動地儲 存EFLAGS暫存器66之狀態在程序堆疊±。t巾斷或例外以
任務開關處理時,EFLAGS暫存器66之狀態在被暫停之任務 的TSS上儲存。 使用在處理器10之基礎資料形式係為位元組、字、雙字、 四字和雙四字。一位元組係為8位元、-字係為兩位元組(16 位兀)、一雙子係為4位元組(32位元)、四字係為8位元組(M 位元)而一雙四字係為16位元(128位元)。 參考圖3,顯示在記憶體中被參考為運算元之每個基礎資 料形式之位元字組次序。每資料形式之低位元組(位元心乃 在記憶體中佔冑最低位址且該位址也係為運算元之位址。 、字、雙字和四字並不需在記憶體"自然界線中對齊。 字、雙竽和四字之自然界線分別地係為偶數位ϋ、可被4 Ρ佘盡〈位址、以及可被8除盡之位址。然而,為了改進程式 之效能,資料結構(特別地為堆疊)應該盡可能地在自然界線 對齊。原因係為處理器,要兩記憶體存取以產生_未對 戶丨之允隐存取,然而對齊之存取需要一記憶體存取。跨 過4位元組界線之字或雙字運算元或跨過8位元組界線之Z 子運算兀被視為未對齊的而需要兩分別記憶體匯流排週期 -11-
594569 以存取。在奇數位址開始但並不跨越字界線之字被視為對 齊而仍可在一匯流排週期内存取。 操作在雙四字上之一些指令需要記憶體運算元在自然界 線上對齊。假如指定未對齊之運算元時,這些指令產生一 般保護例外(#GP)。雙四字之自然界線係為可被16除盡之任 何位址。操作在雙四字上之其他指令允許未對齊之存取而 不需產生一般保護例外,然而需要额外記憶體匯流排週期 以存取從記憶體之未對齊資料。 雖然位元組、字和雙字係為處理器1〇之基礎資料形式, 一些指令支援這些資料形式之额外解譯以允許操作在數值 貧料形式上執行。例如,該處理器1〇定義兩種形式之整數·· 沒有正負數和有正負數。沒有正負數之整數係為從〇至可被 在選擇運算元大小中編碼之最大正數之普通二進位值。有 負數之正數係為可使用以代表正的和負的整數值之二補 數—^進位值。 處理器10定義且操作在三種浮點資料形式上:單一精準 浮點、雙精準浮點以及雙延伸精準浮點。這些資料形式之
貝料格式直接地對應至指定在於二進位浮點算術之正证標 準754的格式。 V 相你你為在記憶體中 π W 4里 二之曰不· 一近程指標(32位元)和遠程指標(“位元)。一近 挂指標係為在區段内之32位元位移(也稱為有效位址)。當被 :耳(:’又《硪別本身被暗示時’使用近程指標於在平坦 圮憶體模型中所有記憶體參考或在區段模型中之參考。遠 -12 - 594569
^ #曰‘係為48位元邏輯位址,包括16位元區段選擇器和32 彳上 一 、 * 兀仅移。·使用遠端指標於記憶體參考和分段記憶體模 型’其中被存取之區段之本身必須明顯地指定。 位元攔位係為連續序列之位元。該欄位可在記憶體中之 · 任何位元組之任何位元位置開始且可包含上至32位元。字 · 辛係為位元、位元組、字或雙字之連續序列。位元字串可 在任何位元組之任何位元位置開始且可包含上至2似位 一 丰元組字串可包含位元組、字或雙位元組且範圍可 _ 從0至232-1位元組(4個十億位元組)。 二進位編碼整數(BCD整數)係為4位元整數,其有效值範 圍從0至9。處理器10定義位在1或更多通用暫存器62或1或更 多FPU暫存器%之BCD整數上之操作。 參考圖4 ’實數以在FPU 56浮點暫存器70中之浮點格式1〇〇 表示。該浮點格式包括三部分,即是,正負號丨〇2、基數 (significand) 104以及指數106。該正負號102係為指示該數為 正的(〇)或負的(1)之二進位值。該基數104具有兩部分:一位 · 元二進位整數(也被稱為j_位元)1〇8以及二進位分數u〇。整 數108通常沒有表示,但是係為一暗示值。該指數1〇6係為代 表一基本2乘方之二進位整數,該乘方係為基數1〇4所乘。 處理器10定義且操作在一組64位元和128位元封包資料形 式上,其用以使用在SIMD操作。這些資料形式包括基礎資 料形式(封包位元組、字、雙字和四字)以及基礎資料形式之 數值解譯’其使用在封包整數和封包浮點操作。 64位元SIMD資料形式主要在64位元多媒體延伸暫存器μ -13 -
594569 中上操作。基礎64位元封包資料形式係為封包位元組、封 包字和封包雙字。當執行數值SIMD操作在多媒體延伸暫存 器58中之這些資料形式上時,這些資料形式被解譯為包括 位元組、字或雙字整數值。 - 128位元封包SIMD資料形式主要操作在128延伸多媒體 . (XMM)暫存器84和記憶體54中。該基礎128位元封包資料形 式係為封包位元組、封包字、封包雙字和封包四字。當執 行SIMD操作在延伸多媒體(XMM)暫存器84中之這些基礎資 φ 料形式上時,這些資料形式被解譯為包含封包或比例單一 精準浮點或雙精準浮點值、或為包含封包位元組、字、雙 字、四字整數值。 參考圖5,表120顯示許多SIMD延伸、在其上操作之資料 形式、以及該資料形式如何封包至多媒體延伸暫存器58以 及延伸多媒體(XMM)暫存器84之摘要。 如上所述,多媒體延伸指令在包含在記憶體54、多媒體 延伸暫存器58和/或通用暫存器62中之封包位元組、字、雙 | 字或四字整數運算元上操作。該多媒體延伸指令包括資料 轉移指令、轉換指令、封包算術指令、比較指令、邏輯指 令、移動和輪動指令以及狀態管理指令。 SIMD延伸(SSE和SSE2)指令分為一數字,例如4群組:操作 在延伸多媒體(XMM)暫存器84上之SIMD單一精準浮點指 令、操作在MXCSR暫存器86上之MXSCR指令、操作在MXX 暫存器58上之64位元SIMD整數指令以及快取能力控制、預 先#|取和指令次序指令。 -14-
594569 一類之指令係為移動/載入和複製形式指令。這些指令被 稱為”結合’’指令,因為其省去在載入值上的明顯操作以取 得,例如,位元複製的需要。現有架構包括MOVDDUP指令、 MOVSHDUP指令以及MOVSLDUP指令。提供這些指令以支援 據封包單一和封包雙精準浮點資料形式之複雜算術。這些 指令可使用在許多應用中。例如,這些指令可以改進訊號 處理應用和牽涉處理自然資料形式之應用的效率。 該MOVDDUP指令係為移動一雙浮點和複製SSE2指令,其 載入/移動64位元(假如來源係為暫存器時,為位元[63-0])。 MOVDDUP指令之執行傳回相同64位元在相同結果暫存器上 半和下半中,即是,從來源複製64位元。因此,假如來源 具有項目1/0,而目的將會有項目1/0/1/0。該MOVEDDUP指令 具有下列格式: MOVEDDUP目的,來源 其中來源運算元係為記憶體位置54或第二延伸多媒體 (XMM)暫存器84而目的運算元係為一第一延伸多媒體(XMM) 暫存器84。該來源包括雙浮點資料形式。 操作中,假如來源運算元係為一記憶體位址,第一延伸 多媒體(XMM)暫存器之位元[63-0]以記憶體位址之位元[63-0] 載入而該第一延伸多媒體(XMM)暫存器之位元[127-64]以記 憶體位置之位元[63·0]載入。假如該來源運算元係為第二延 伸多媒體(ΧΜΜ)暫存器時,第一延伸多媒體(ΧΜΜ)暫存器之 位元[63-0]被設定至相等於第二延伸多媒體(ΧΜΜ)暫存器之 位元[63-0]而第一延伸多媒體(ΧΜΜ)暫存器之位元[127-64] -15 - 594569
(12) 被設定至相等於該第二延伸多媒體(XMM)暫存器之位元 [63-0]。 線性位址對應至參考記憶體資料之最不重要位元組之位 址。當指到一記憶體位址時,在該記憶體位置之資料的16 位元組被載入或儲存。當使用操作之暫存器-暫存器形式 時,128位元來源暫存器之内容複製到128位元目的暫存器。
MOVSHDUP指令係為移動封包單一浮點高和複製SSE2指 令,其在結果暫存器中載入/移動128位元且複製項目1和3。 在128位元來源暫存器之例子中,每個項目係為32位元。特 定地,當來源係為3/2/1/0項目(0為低單精準項目而3為高單 一精準項目)時,在MOVSHDUP指令執行之後結果暫存器將 儲存複製之3和1以提供項目3/3/1/1。該MOVSHDUP具有下列 格式: MOVSHDUP目的,來源 其中來源運算元代表記憶體位置54或第二延伸多媒體 (XMM)暫存器84而目的運算元係為一第一延伸多媒體(XMM) 暫存器84。該來源運算元具有封包單一浮點資料形式。 在操作中,假如來源運算元係為一記憶體位址,該第一 延伸多媒體(XMM)暫存器之位元[3 1-0]以記憶體位址之位元 [63-32]載入,該第一延伸多媒體(XMM)暫存器之位元63-32 以記憶體位址之位元[6:3-32]載入,第一延伸多媒體(XMM) 暫存器之位元95-64以記憶體位址之位元[127-96]載入而第 一延伸多媒體(XMM)暫存器之位元127-96以記憶體位址之 位元[127-96]載入。 -16-
594569 假如來源運算元係為一第二延伸多媒體(XMM)暫存器 時,第一延伸多媒體(XMM)暫存器之位元[3 1-0]被設定至相 等於第二延伸多媒體(XMM)暫存器之位元[63-32],第一延伸 多媒體(XMM)暫存器之位元[63-32]被設定至相等於第二延 伸多媒體(XMM)暫存器之位元[83-32],該第一延伸多媒體 (XMM)暫存器之位元[95-64]被設定相等於第二延伸多媒體 (XMM)暫存器之位元[127-96],以及該第一延伸多媒體(XMM) 暫存器之位元[127-9έ]被設定相等於第二延伸多媒體(XMM) 暫存器之位元[127-96]。 線性位址對應至參考記憶體資料之最不重要位元組之位 址。當指到一記憶體位址時,在該記憶體位置之資料的16 位元組被載入或儲存。當使用操作之暫存器-暫存器形式 時,128位元來源暫存器之内容複製到128位元目的暫存器。 MOVSEDUP指令係為移動封包單一浮點低和複製SSE2指 令,其載入/移動128位元且複製項目0和2。特定地,當來源 係為3/2/1/0項目(0為較低單精準項目)時,結果暫存器將儲 存項目2/2/0/0。該MOVSLDUP具有下列格式·· M0VSLDUP目的,來源 其中該來源運算元代表記憶體位置54或第二延伸多媒體 (XMM)暫存器84而目的運算元係為一第一延伸多媒體(XMM) 暫存器84。該來源運算元具有封包單一浮點資料形式。 在操作中,假如來源運算元係為一記憶體位址,該第一 延伸多媒體(XMM)暫存器之位元[3 1-0]以記憶體位址之位元 [31-0]載入,該第一延伸多媒體(XMM)暫存器之位元[63-32] -17-
594569 以記憶體位址之位元[3 1-0]載入,第一延伸多媒體(XMM)暫 存器之位元{95_64]以記憶體位址之位元[95-64]載入而第一 延伸多媒體(XMM)暫存器之位元[127-96]以記憶體位址之位 元[95-64]載入。假如來源運算元係為一暫存器時,第一延 ‘ 伸多媒體(XMM)暫存器之位元[3 1-0]被設定至相等於第二延 伸多媒體(XMM)暫存器之位元[3 1-0],第一延伸多媒體(XMM) 暫存器之位元[63-32]被設定至相等於第二延伸多媒體(XMM) 暫存器之位元[31-0],該第一延伸多媒體(XMM)暫存器之位 φ 元[95-64]被設定相等於第二延伸多媒體(XMM)暫存器之位 元[95-64],以及該第一延伸多媒體(XMM)暫存器之位元 [127-96]被設定相等於第二延伸多媒體(XMM)暫存器之位元 [95-64]。 線性位址對應至參考記憶體資料之最不重要位元組之位 址。當指到一記憶體位址時,在該記憶體位置之資料的16 位元組被載入或儲存。當使用操作之暫存器-暫存器形式 時,128位元來源暫存器之内容複製到128位元目的暫存器。 φ 因此,其他具體實施例係在下列申請專利範圍之範圍内。 圖式簡單說明 圖1係為處理器之方塊圖。 圖2係為一執行環境之方塊圖。 圖3係為位元組次序基礎資料形式圖。 # 圖4係顯示浮點格式。 · 圖5係顯示摘要許多SIMD延伸、資料形式以及資料形式如 何被壓縮至暫存器之表格。 -18- 594569 (15) 圖式代表符號說明 10 - 處理器 12 第一等級快取 14 第二等級快取 16 前端 18 失序執行核心 20 收回區段 22 匯流排介面單元 24 系統匯流排 26 執行軌跡快取 28 分支預測單元 30 擷取/解碼 50 執行環境 52 基礎程式執行暫存器 54 位址空間 56 浮點單元暫存器 58 多媒體延伸暫存器 60 SIMD延伸暫存器 62 通用暫存器 64 區段暫存器 66 EFLAGS暫存器 68 EIP暫存器 70 FPU資料暫存器
-19- 594569 (16) 72 FPU控制暫存器 74 - 狀態暫存器 76 FPU指令指標暫存器 78 FPU運算元指標暫存器 80 FPU標籤暫存器 84 延伸多媒體資料暫存器 86 MXCSR暫存器 100 浮點格式 102 正負號 104 基數 106 指數 108 整數位元 110 二進位分數 -20-
Claims (1)
- 594569 f正替換第091136652號專利申請案 中文申請專利範圍替換本(93年3月) 拾、申請專利範圍 1. 一種電腦可讀媒體,用以記錄一電腦指令,指令包括: 一移動和複製指令,其導致處理器載入來源位元之一 第一部分至目的暫存器之一第一部分,且在該目的暫存 器之隨後部份中複製位元之該第一部分。 2. 如申請專利範圍第1項之電腦可讀媒體,其中該來源之第 一部分係為表示在記憶體位置中之一雙浮點資料形式的 64位元。 3. 如申請專利範圍第1項之電腦可讀媒體,其中該來源之第 一部分係為表示在來源暫存器中一雙浮點資料形式的64 位元。 4. 如申請專利範圍第1項之電腦可讀媒體,其中該目的暫存 器之第一部分以來源之第一部分之位元[63-0]載入,而該 目的暫存器之隨後部份以來源之第一部分之位元[63-0] 載入。 5. —種在一處理器上執行之方法,方法包括: 載入來源之位元之第一部分至目的暫存器;及 在該目的暫存器之隨後部份中複製位元之該第一部 分。 6. 如申請專利範圍第5項之方法,其中該來源之第一部分係 為表示在記憶體位置中之一雙浮點資料形式的64位元。 7. 如申請專利範圍第5項之方法,其中該來源之第一部分係 為表示在來源暫存器中一雙浮點資料形式的64位元。 O:\82\82668-939319.doc 594569圈____ 8. 如申請專利範圍第5項之方法,其中該目的暫存器之第一 部分以來源之第一部分之位元[63-0]載入,而該目的暫存 器之隨後部份以來源之第一部分之位元[63-0]載入。 9. 一種電腦可讀媒體,該可讀媒體具有記錄在其上之指 令,該指令當被一處理器執行時,導致處理器·· 載入來源位元之一第一部分至目的暫存器之一第一部 分;及 在該目的暫存器之隨後部份中複製該等位元之該第一 部分。 10. 如申請專利範圍第9項之電腦可讀媒體,其中該來源之第 一部分係為表示在記憶體位置中之一雙浮點資料形式的 64位元 ° 11. 如申請專利範圍第9項之電腦可讀媒體,其中該來源之第 一部分係為表示在來源暫存器中一雙浮點資料形式的64 位元。 12. 如申請專利範圍第9項之電腦可讀媒體,其中該目的暫存 器之第一部分以來源之第一部分之位元[63-0]載入,而該 目的暫存器之隨後部份以來源之第一部分之位元[63-0] 載入。 13. —種電腦可讀媒體,用以記錄一電腦指令,指令包括: 一移動一雙浮點和複製指令,該指令導致處理器載入 來源之64位元,且傳回64位元,在目的之下半和目的之 上半。 14. 如申請專利範圍第13項之電腦可讀媒體,尚包括: -2- O:\82\82668-939319.docΒΛ'Γ' «λ " ν' Ν' .r"办 、專利範圍績頁x llllllllllllllll 一來源運算元;及 一目的運算元。 15. 如申請專利範圍第13項之電腦可讀媒體,其中該來源運 算元係為一記憶體位置。 16. 如申請專利範圍第15項之電腦可讀媒體,其中該記憶體 位置具有表示雙浮點資料形式之128位元值。 17. 如申請專利範圍第13項之電腦可讀媒體,其中該來源運 算元係為一 128位元來源暫存器。 18. 如申請專利範圍第17項之電腦可讀媒體,其中該來源暫 存器具有表示雙浮點資料形式之128位元值。 19. 一種在處理器上執行之方法,該方法包括: 從來源載入一 N位元之第一數字至2N寬位元目的暫存 器之下半和在2N位元寬目的暫存器之上半中。 20. 如申請專利範圍第19項之方法,其中該來源係為一記憶 體位置,且其中N係為64位元。 21. 如申請專利範圍第20項之方法,其中該記憶體位置包括 一雙浮點資料形式。 22. 如申請專利範圍第19項之方法,其中該來源係為一 128位 元來源暫存器,且N係為64位元。 23·如申請專利範圍第19項之方法,其中該128位元來源暫存 器包括一雙浮點資料形式。 24. —種電腦可讀媒體,該可讀媒體具有記錄在其上之指 令,該指令當被一處理器執行時,導致處理器: 從來源載入一 64位元,在128位元目的暫存器之下半和 O:\82\82668-939319.doc 申請弄利範圍績頁 正替換頁 在128目的暫存器之上半中。 25. 如申請專利範圍第24項之電腦可讀媒體,其中該來源係 為包括128位元雙浮點資料形式之記憶體位置。 26. 如申請專利範圍第24項之電腦可讀媒體,其中該來源係 為包括128雙浮點資料形式之128位元來源暫存器。 27. —種電腦可讀媒體,用以記錄一電腦指令,指令包括: 一移動封包單一浮點高和複製指令,其導致處理器載 入來源之位元[127-0],且傳回來源之位元[63-32]在128位 元目的暫存器之位元[31-0]中、來源之位元[63-32]在目的 暫存器之位元[63-32]中、來源之位元[127-96]在目的暫存 器之位元[95-64]中以及來源之位元[127-96]在目的暫存 器之位元[127-96]中。 28. 如申請專利範圍第27項之電腦可讀媒體,尚包括: 一來源運算元欄位;及 一目的運算元欄位。 29. 如申請專利範圍第27項之電腦可讀媒體,其中該來源運 算元係為一記憶體位置。 30. 如申請專利範圍第29項之電腦可讀媒體,其中該記憶體 位置具有表示封包單一浮點資料形式之128位元。 31. 如申請專利範圍第27項之電腦可讀媒體,其中該來源運 算元係為一 128位元來源暫存器。 32. 如申請專利範圍第3 1項之電腦可讀媒體,其中該來源暫 存器具有表示一封包單一浮點資料形式之128位元。 33. —種在處理器中執行之方法,其包括: O:\82\82668-939319.doc -4- 594569申請專利典菌硪K: 存取來源之位元[127-0];及 傳回來源之位元[63-32]在目的暫存器之位元[31-0]和 [63-32];及 來源之位元[127-96]在目的暫存器之位元[95-64]和位 元[127-96]。 34. 如申請專利範圍第33項之方法,其中該來源運算元係為 一記憶體位置。 35. 如申請專利範圍第34項之方法,其中該記憶體位置包括 一封包單一浮點資料形式。 36. 如申請專利範圍第33項之方法,其中該來源運算元係為 一 128位元來源暫存器。 37. 如申請專利範圍第36項之方法,其中該128位元來源暫存 器包括一封包單一浮點資料形式。 38. —種電腦可讀媒體,該可讀媒體具有記錄在其上之指 令,該指令當被一處理器執行時,導致處理器: 載入來源之位元[127-0]; 傳回來源之位元[63-32]在128位元目的暫存器之位元 [31-0]中; 傳回來源之位元[63-32]在目的暫存器之位元[63-32] 中; 傳回來源之位元[127-96]在目的暫存器之位元[95-64] 中;及 傳回來源之位元[127-96]在目的暫存器之位元[127-96] 中 0 O:\82\82668-939319.doc 594569申''請專利範圍績頁 ;_議!繼1鐘I鑲續_纖蠢1纏 39. 如申請專利範圍第38項之電腦可讀媒體,其中該來源係 為一記憶體位置。 40. 如申請專利範圍第39項之電腦可讀媒體,其中該記憶體 位置包括一封包單一浮點資料形式。 41. 如申請專利範圍第38項之電腦可讀媒體,其中該來源係 為一 128位元來源暫存器。 42. 如申請專利範圍第41項之電腦可讀媒體,其中該128位元 來源暫存器包括一封包單一浮點資料形式。 43. —種電腦可讀媒體,用以記錄一電腦指令,指令包括: 一移動封包單一浮點低和複製指令,其導致處理器載 入來源之位元[127-0],且傳回來源之位元[3 1-0]在128位元 目的暫存器之位元[31-0]中、來源之位元[3 1-0]在目的暫 存器之位元[63-32]中、來源之位元[95-64]在目的暫存器 之位元[95-64]中以及來源之位元[95-64]在目的暫存器之 位元[127-96]中。 44. 如申請專利範圍第43項之電腦可讀媒體,尚包括: 一來源運算元欄位;及 一目的運算元暫存器。 45. 如申請專利範圍第44項之電腦可讀媒體,其中該來源運 算元係為一記憶體位置。 46. 如申請專利範圍第45項之電腦可讀媒體,其中該記憶體 位置具有表示封包單一浮點資料形式之128位元。 47. 如申請專利範圍第43項之電腦可讀媒體,其中該來源運 算元係為一 128位元來源暫存器。 -6-O:\82\82668-939319.doc 594569l·:,. 〇/ φ48. 如申請專利範圍第47項之電腦可讀媒體,其中該來源暫 存器具有表示一封包單一浮點資料形式之128位元。 49. 一種在一處理器上執行之方法,該方法包括: 載入來源之位元[127-0]; 傳回來源之位元[31-0]在128位元目的暫存器之位元 [31-0]中; 傳回來源之位元[3 1-0]在目的暫存器之位元[63-32]中; 傳回來源之位元[95-64]在目的暫存器之位元[95-64] 中;及 傳回來源之位元[95-64]在目的暫存器之位元[127-96] 〇 50. 如申請專利範圍第49項之方法,其中該來源係為一記憶 體位置。 51. 如申請專利範圍第50項之方法,其中該記憶體位置包括 一封包單一浮點資料形式。 52. 如申請專利範圍第51項之方法,其中該來源係為一 128位 元來源暫存器。 53. 如申請專利範圍第52項之方法,其中該128位元來源暫存 器包括一封包單一浮點資料形式。 54. —種電腦可讀媒體,該可讀媒體具有記錄在其上之指 令,該指令當被一處理器執行時,導致處理器: 載入來源之位元[127-0]; 傳回來源之位元[31-0]在128位元目的暫存器之位元 [31-0]中; O:\82\82668-939319.doc 594569 申諱專利範圍績頁ί 穩I獲!_!灘_11議纖__纖纖戀議麵 傳回來源之位元[3 1-0]在目的暫存器之位元[63-32]中; 傳回來源之位元[95-64]在目的暫存器之位元[95-64] 中;及 傳回來源之位元[95-64]在目的暫存器之位元[127-96] 中 〇 55. 如申請專利範圍第54項之電腦可讀媒體,其中該來源係 為一記憶體位置。 56. 如申請專利範圍第55項之電腦可讀媒體,該記憶體位置 包括一封包單一浮點資料形式。 57. 如申請專利範圍第54項之電腦可讀媒體,其中該來源係 為一 128位元來源暫存器。 58. 如申請專利範圍第57項之電腦可讀媒體,其中該128位元 來源暫存器包括一封包單一浮點資料形式。 O:\82\82668-939319.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/032,144 US7853778B2 (en) | 2001-12-20 | 2001-12-20 | Load/move and duplicate instructions for a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200304091A TW200304091A (en) | 2003-09-16 |
TW594569B true TW594569B (en) | 2004-06-21 |
Family
ID=21863332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW091136652A TW594569B (en) | 2001-12-20 | 2002-12-19 | Load/move duplicate instructions for a processor |
Country Status (9)
Country | Link |
---|---|
US (6) | US7853778B2 (zh) |
JP (3) | JP2006502464A (zh) |
KR (1) | KR100806408B1 (zh) |
CN (2) | CN100492281C (zh) |
AU (1) | AU2002357263A1 (zh) |
DE (1) | DE10297581T5 (zh) |
RU (1) | RU2292581C2 (zh) |
TW (1) | TW594569B (zh) |
WO (1) | WO2003054692A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853778B2 (en) | 2001-12-20 | 2010-12-14 | Intel Corporation | Load/move and duplicate instructions for a processor |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
WO2004015563A1 (en) * | 2002-08-09 | 2004-02-19 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
US6986023B2 (en) * | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
EP1508853A1 (en) * | 2003-08-19 | 2005-02-23 | STMicroelectronics Limited | Computer system and method for loading non-aligned words |
WO2006018822A1 (en) * | 2004-08-20 | 2006-02-23 | Koninklijke Philips Electronics, N.V. | Combined load and computation execution unit |
US8321872B2 (en) * | 2006-06-28 | 2012-11-27 | Nvidia Corporation | Reusable, operating system aware hardware mutex |
US8996152B2 (en) * | 2006-06-28 | 2015-03-31 | Nvidia Corporation | Operating system aware hardware mutex |
US20080077772A1 (en) * | 2006-09-22 | 2008-03-27 | Ronen Zohar | Method and apparatus for performing select operations |
US8112675B2 (en) * | 2006-09-28 | 2012-02-07 | Nvidia Corporation | Filesystem directory debug log |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
US8060724B2 (en) * | 2008-08-15 | 2011-11-15 | Freescale Semiconductor, Inc. | Provision of extended addressing modes in a single instruction multiple data (SIMD) data processor |
US9798898B2 (en) | 2010-05-25 | 2017-10-24 | Via Technologies, Inc. | Microprocessor with secure execution mode and store key instructions |
US9967092B2 (en) | 2010-05-25 | 2018-05-08 | Via Technologies, Inc. | Key expansion logic using decryption key primitives |
US8645714B2 (en) | 2010-05-25 | 2014-02-04 | Via Technologies, Inc. | Branch target address cache for predicting instruction decryption keys in a microprocessor that fetches and decrypts encrypted instructions |
US9892283B2 (en) | 2010-05-25 | 2018-02-13 | Via Technologies, Inc. | Decryption of encrypted instructions using keys selected on basis of instruction fetch address |
US9911008B2 (en) | 2010-05-25 | 2018-03-06 | Via Technologies, Inc. | Microprocessor with on-the-fly switching of decryption keys |
US9552206B2 (en) * | 2010-11-18 | 2017-01-24 | Texas Instruments Incorporated | Integrated circuit with control node circuitry and processing circuitry |
US8656139B2 (en) * | 2011-03-11 | 2014-02-18 | Telefonaktiebolaget L M Ericsson (Publ) | Digital processor for processing long and short pointers and converting each between a common format |
WO2013095555A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Packed data rearrangement control indexes generation processors, methods, systems, and instructions |
WO2013095564A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in numerical order that differ by a constant stride |
CN104126168B (zh) * | 2011-12-22 | 2019-01-08 | 英特尔公司 | 打包数据重新安排控制索引前体生成处理器、方法、系统及指令 |
US10223111B2 (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 |
US10565283B2 (en) | 2011-12-22 | 2020-02-18 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of consecutive integers in numerical order |
CN104246745B (zh) * | 2011-12-29 | 2017-05-24 | 英特尔公司 | 用于控制mxcsr的方法及装置 |
US9459867B2 (en) * | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
US20140095847A1 (en) * | 2012-09-28 | 2014-04-03 | Doron Orenstein | Instruction and highly efficient micro-architecture to enable instant context switch for user-level threading |
US10540179B2 (en) | 2013-03-07 | 2020-01-21 | MIPS Tech, LLC | Apparatus and method for bonding branch instruction with architectural delay slot |
US20140258667A1 (en) * | 2013-03-07 | 2014-09-11 | Mips Technologies, Inc. | Apparatus and Method for Memory Operation Bonding |
CN103186363B (zh) * | 2013-03-26 | 2015-09-30 | 北京经纬恒润科技有限公司 | 一种数值编辑方法及系统 |
US10228941B2 (en) * | 2013-06-28 | 2019-03-12 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
US10423413B2 (en) * | 2013-07-09 | 2019-09-24 | Texas Instruments Incorporated | Vector load and duplicate operations |
US9448939B2 (en) | 2014-06-30 | 2016-09-20 | International Business Machines Corporation | Collecting memory operand access characteristics during transactional execution |
US9600286B2 (en) | 2014-06-30 | 2017-03-21 | International Business Machines Corporation | Latent modification instruction for transactional execution |
US9348643B2 (en) | 2014-06-30 | 2016-05-24 | International Business Machines Corporation | Prefetching of discontiguous storage locations as part of transactional execution |
US9710271B2 (en) | 2014-06-30 | 2017-07-18 | International Business Machines Corporation | Collecting transactional execution characteristics during transactional execution |
US9336047B2 (en) | 2014-06-30 | 2016-05-10 | International Business Machines Corporation | Prefetching of discontiguous storage locations in anticipation of transactional execution |
US9529653B2 (en) * | 2014-10-09 | 2016-12-27 | International Business Machines Corporation | Processor register error correction management |
US20160179521A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Method and apparatus for expanding a mask to a vector of mask values |
US20160224252A1 (en) * | 2015-01-30 | 2016-08-04 | Intel Corporation | Hybrid memory architecture |
EP3336691B1 (en) | 2016-12-13 | 2022-04-06 | ARM Limited | Replicate elements instruction |
EP3336692B1 (en) * | 2016-12-13 | 2020-04-29 | Arm Ltd | Replicate partition instruction |
WO2018168637A1 (ja) | 2017-03-14 | 2018-09-20 | 株式会社トクヤマ | フライアッシュの使用方法 |
US10409614B2 (en) * | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
RU2713709C1 (ru) * | 2019-06-20 | 2020-02-06 | Федеральное государственное унитарное предприятие "Научно-производственный центр автоматики и приборостроения имени академика Н.А. Пилюгина" (ФГУП "НПЦАП") | Устройство преобразования информации |
KR102307691B1 (ko) | 2020-11-19 | 2021-10-05 | 주식회사 우드메탈 | 원적외선 및 음이온 방출 기능을 갖는 가구용 엣지마감재 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4141005A (en) * | 1976-11-11 | 1979-02-20 | International Business Machines Corporation | Data format converting apparatus for use in a digital data processor |
JPS61294550A (ja) | 1985-06-21 | 1986-12-25 | Nec Corp | 電子計算機におけるデ−タ読取書込制御方式 |
US5522082A (en) | 1986-01-23 | 1996-05-28 | Texas Instruments Incorporated | Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits |
US5268995A (en) * | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
US6116768A (en) * | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
US5613121A (en) | 1994-10-19 | 1997-03-18 | International Business Machines Corporation | Method and system of generating combined storage references |
GB9509988D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Matrix transposition |
US5673321A (en) * | 1995-06-29 | 1997-09-30 | Hewlett-Packard Company | Efficient selection and mixing of multiple sub-word items packed into two or more computer words |
US7085795B2 (en) | 2001-10-29 | 2006-08-01 | Intel Corporation | Apparatus and method for efficient filtering and convolution of content data |
US5983253A (en) | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US5936872A (en) | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
JP3735438B2 (ja) * | 1997-02-21 | 2006-01-18 | 株式会社東芝 | Risc計算機 |
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 |
US6560667B1 (en) * | 1999-12-28 | 2003-05-06 | Intel Corporation | Handling contiguous memory references in a multi-queue system |
US6820190B1 (en) * | 2000-02-02 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | Method and computer system for decomposing macroinstructions into microinstructions and forcing the parallel issue of at least two microinstructions |
US7155601B2 (en) | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
US7631025B2 (en) | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7853778B2 (en) * | 2001-12-20 | 2010-12-14 | Intel Corporation | Load/move and duplicate instructions for a processor |
JP4112946B2 (ja) * | 2002-10-31 | 2008-07-02 | 株式会社東芝 | 非鉛系接合材、ソルダーペースト及び接合方法 |
JP2009016397A (ja) | 2007-06-29 | 2009-01-22 | Toshiba Corp | プリント配線板 |
JP5229819B2 (ja) | 2009-04-01 | 2013-07-03 | 株式会社レヨーン工業 | 除塵装置 |
-
2001
- 2001-12-20 US US10/032,144 patent/US7853778B2/en not_active Expired - Lifetime
-
2002
- 2002-12-12 JP JP2003555340A patent/JP2006502464A/ja active Pending
- 2002-12-12 RU RU2004122101/09A patent/RU2292581C2/ru not_active IP Right Cessation
- 2002-12-12 CN CNB028253272A patent/CN100492281C/zh not_active Expired - Fee Related
- 2002-12-12 DE DE10297581T patent/DE10297581T5/de not_active Ceased
- 2002-12-12 KR KR1020047009869A patent/KR100806408B1/ko active IP Right Grant
- 2002-12-12 WO PCT/US2002/040166 patent/WO2003054692A1/en active Application Filing
- 2002-12-12 AU AU2002357263A patent/AU2002357263A1/en not_active Abandoned
- 2002-12-12 CN CN2009101331655A patent/CN101520723B/zh not_active Expired - Fee Related
- 2002-12-19 TW TW091136652A patent/TW594569B/zh not_active IP Right Cessation
-
2010
- 2010-02-25 JP JP2010039897A patent/JP2010152919A/ja active Pending
- 2010-11-05 US US12/940,782 patent/US8032735B2/en not_active Expired - Fee Related
-
2011
- 2011-04-15 US US13/088,198 patent/US8200941B2/en not_active Expired - Lifetime
-
2012
- 2012-06-12 US US13/494,764 patent/US8539202B2/en not_active Expired - Lifetime
- 2012-09-14 US US13/620,194 patent/US8650382B2/en not_active Expired - Fee Related
-
2013
- 2013-03-15 US US13/843,815 patent/US9043583B2/en not_active Expired - Fee Related
- 2013-12-13 JP JP2013257903A patent/JP5960115B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
RU2292581C2 (ru) | 2007-01-27 |
US20030120903A1 (en) | 2003-06-26 |
US20130013896A1 (en) | 2013-01-10 |
CN100492281C (zh) | 2009-05-27 |
JP2014089730A (ja) | 2014-05-15 |
CN101520723A (zh) | 2009-09-02 |
JP2006502464A (ja) | 2006-01-19 |
KR100806408B1 (ko) | 2008-02-21 |
CN1605062A (zh) | 2005-04-06 |
RU2004122101A (ru) | 2005-03-27 |
US8032735B2 (en) | 2011-10-04 |
JP5960115B2 (ja) | 2016-08-02 |
US9043583B2 (en) | 2015-05-26 |
US8650382B2 (en) | 2014-02-11 |
KR20040068333A (ko) | 2004-07-30 |
US20110258418A1 (en) | 2011-10-20 |
CN101520723B (zh) | 2011-01-12 |
DE10297581T5 (de) | 2004-11-11 |
JP2010152919A (ja) | 2010-07-08 |
WO2003054692A1 (en) | 2003-07-03 |
US8200941B2 (en) | 2012-06-12 |
US8539202B2 (en) | 2013-09-17 |
US20120317401A1 (en) | 2012-12-13 |
TW200304091A (en) | 2003-09-16 |
US7853778B2 (en) | 2010-12-14 |
US20130219153A1 (en) | 2013-08-22 |
US20110047361A1 (en) | 2011-02-24 |
AU2002357263A1 (en) | 2003-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW594569B (en) | Load/move duplicate instructions for a processor | |
JP6456867B2 (ja) | 密結合ヘテロジニアスコンピューティングのためのハードウェアプロセッサ及び方法 | |
TWI691897B (zh) | 用以執行融合單一週期遞增-比較-跳越之指令與邏輯 | |
KR101791811B1 (ko) | 가속기들의 낮은-레이턴시 인보크를 위한 장치 및 방법 | |
KR102478874B1 (ko) | 비순차적 하드웨어 소프트웨어 공동 설계된 프로세서에서 스택 동기화 명령어를 갖는 술어 값의 스택을 구현하고 유지하기 위한 방법 및 장치 | |
TWI578159B (zh) | 用以提供基底暫存器交換狀態驗證功能之指令及邏輯 | |
TWI713629B (zh) | 切換影堆疊指標的硬體設備以及方法 | |
JP2018511099A (ja) | ベクトルキャッシュラインライトバックのためのプロセッサ、方法、システム、および命令 | |
JP6849275B2 (ja) | インデックスおよび即値を用いてベクトル置換を実行するための方法および装置 | |
JPH11288372A (ja) | 二組のレジスタファイルを使用して浮動小数点命令及びマルチメディア命令の間で高速の切換えを与える方法及び装置 | |
WO2013186014A1 (en) | Branch prediction preloading | |
TW201135589A (en) | Rotate instructions that complete execution without reading carry flag | |
US20090182984A1 (en) | Execute Relative Long Facility and Instructions Therefore | |
TWI697836B (zh) | 處理包括高功率及標準指令之指令集的方法與處理器 | |
JP2018500665A (ja) | マスク値を圧縮するための方法および装置 | |
JPH04260928A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |