TW497074B - An integer instruction set architecture and implementation - Google Patents
An integer instruction set architecture and implementation Download PDFInfo
- Publication number
- TW497074B TW497074B TW089120404A TW89120404A TW497074B TW 497074 B TW497074 B TW 497074B TW 089120404 A TW089120404 A TW 089120404A TW 89120404 A TW89120404 A TW 89120404A TW 497074 B TW497074 B TW 497074B
- Authority
- TW
- Taiwan
- Prior art keywords
- result
- register
- bits
- item
- patent application
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000002079 cooperative effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 5
- 241001080798 Polygala tenuifolia Species 0.000 claims 1
- 239000010017 yuan zhi Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 16
- 238000010606 normalization Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000007667 floating Methods 0.000 description 4
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- RDYMFSUJUZBWLH-UHFFFAOYSA-N endosulfan Chemical compound C12COS(=O)OCC2C2(Cl)C(Cl)=C(Cl)C1(Cl)C2(Cl)Cl RDYMFSUJUZBWLH-UHFFFAOYSA-N 0.000 description 3
- 101100496858 Mus musculus Colec12 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100508411 Caenorhabditis elegans ifb-1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- GPXLRLUVLMHHIK-UHFFFAOYSA-N forchlorfenuron Chemical compound C1=NC(Cl)=CC(NC(=O)NC=2C=CC=CC=2)=C1 GPXLRLUVLMHHIK-UHFFFAOYSA-N 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 235000012431 wafers Nutrition 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
-
- 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
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
-
- 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
-
- 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49994—Sign extension
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 Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
Description
497074 A7 _'_ B7 五、發明說明( 發明背景: 本發明係關於微處理器/微控制器架構,尤指整數指 令集架構。 圖1指出典型的電腦系統之配置,指出對於微處理器 設計及實施,使用軟體對硬體之間的妥協。圖1指出將微 處理器功能移至硬體典型地增加速度6,但減小彈性8, 而以軟體取代硬體功能通常增使用的彈性8,但代價是較 低的速度6。 引入微程式1 2於韌體中,允許在軟體中完成更多的 硬體功能。結果在組合語言層1 6之指令集變得更複雜。 導致硬體的減小,平衡回到硬體,某些軟體功能在特定硬 體例如浮動點處理器中被完成。此允許性能增加。於是, 有一連續的需要,評估軟體功能是否應在特定硬體中完成
程式2 0變得更複 函„ 涵1 在硬體代價正向下降時, :i»〇7c "ί!υ 此部份驅動一趨勢,以更複雜1^1子電路1 〇來執行 程式2 0,而不會損失性能。例如,使用1 6位元然彳
I 經濟部智慧財產局員工消費合作社印製 3 2位元驅動的應體程式2 0 ,響應使用1 6位元,3 2 位元或6 4位元字的電子電路。於是組合語言1 6指令赛 正被設計來處理應用及硬體複雜度的增加。
典型的電腦程式包含執行整數上的操作之整數指令° 例如,此操作可包括加法、減法、比較、負載常數、移G 個或以上的運算元
移動、邏輯OR或邏輯NAND 做成結果。某些整數操作是由數個組合語言1 4指令執行 -4- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 497074 A7 B7 五、發明說明(2 ) 。複雜的應體程式正更廣泛地展開,且使用更廣的匯流排 微處理器,需要新指令集架構以完全利用增加的軟體及硬 體複雜度。 所以,需要整數指令集,其有效使用更廣的字例如 6 4位元架構,以執行更複雜的應體程式。此可包括設計 某些指令在硬體上被執行以增加性能。 圖形之簡要欽述: 圖1指出習知電腦系統之不同位準(習知技術); 圖2指出本發明之S Η〇R I指令的特定實施例; 圖3指出本發明之N S Β指令的簡化例子; 圖4指出本發明之整數/多媒體單元的方塊圖之例子 圖.5指出正在本發明之疊流中被執行的X H W指令的 一個循環之例子;及 圖6指出本發明g X Η 特定實施例的方塊圖。 主要元件符號說明: :-------------裝--- 請先閱讀背面之注意事項再本頁) --線· 經濟部智慧財產局員工消費合作社印製 6 速 度 8 彈 性 10 電 子 電 路 12 微 程 式 14 操 作 系 統 16 組 語 言 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -5- 497074 A7 五、發明說明(3 18 高階語言編譯/解 20 應用程式 2〇〇 核心 205 匯流排介面單元 210 指令流單元 220 整數/多媒體單元 230 指令快取單元 240 負載儲存單元 250 資料快取單元 3 16 位址加法器 320 整數/ s 1 m d加法器 330 選擇器 340 額外硬體 350 移相器/洗牌 360 乘法器 370 控制塊 經濟部智慧財產局員工消費合作社印製 較佳實施例之敘述: 整數指令例子 在特定實施例中,整數指令的例子之列表給於 Appendix 1中。由此列表的整數指令,許多被敘述以指出 整數指令集之特徵。 一個例子是任意常數値之負載。此型的指令典型地具 有一立即運算元,允許一範圍的常數値直接在指令中被編 -6 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 497074 Α7 Β7 五、發明說明(4) 碼。如果需要的常數不符合指令中所提供的空間, 與指令分開地被負載。 在本發明之特定實施例中,任意常數被一系列 指令負載,各包括一部份的任意常數値。例如,兩 被提供用於負載常數:Μ〇V I負載一暫存器符號 1 6位元立即値,且SHOR I移位其來源運算元 元至左邊,然後使用’〇R’操作將它與其16位 値結合。任意長度之常數可藉使用接著爲零或更多 SHOR I指令之MOV I指令被負載。例如,對 位元指令及6 4位元目的地暫存器’符號延伸的1 常數可被負載於1指令(Μ〇V I )中,符號延伸 位元常數可被負載於2指令(Μ〇V I然後S Η 〇 中,符號延伸的4 8位元常數可被負載於3指令( “〇¥1然後311〇1^1然後另一3^1〇111)中 號延伸的6 4位元常數可被負載於4指令(Μ 〇 ν 三個SHOR I )中。表1指出MOV I與SH〇 令之格式的例子。 則常數 的中間 個指令 延伸白勺 1 6位 元立即 於3 2 6位$ 的3 2 R I ) ,旦符 I然後
R 指 I I I I I I n n ϋ n I * ϋ I · (請先閱讀背面之江意事頊存本頁) . --線- 經濟部智慧財產局員工消費合作社印製 指令 摘要 Μ〇V I來源,結果 S Η〇R I來源,結果 立即移動 移位然後立即” 〇 圖2指出本發明之S Η〇R I指令的一個特定實 施例 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 497074 Α7 Β7 五、發明說明(5 ) 。圖2指出兩個暫存器A,在不同階段爲:A 〇 3〇, A 1 50,A2 52 與 A3 56 及暫存器 B 54。 步驟1中之暫存器A爲AO 30 ,且包括四個部份32 ,34,36 ,38,各16位元且包含資料Ml於部份 .一 3 2中,資料Μ 2於部份二3 4中,資料Μ 3於部份三 3 6中,及資料Μ 4於部份四3 8中。常數4 0的例子被 分割成三個1 6位元部份,C 1 42, C 2 4 4與 C 3 4 6° MOV I指令負載C 1 42進入第四位置38中之 A 1 5 0。S Η〇R I指令執行數功能:移位C 1 42於暫存器Α中,亦即Α2 52 ,從位置38至位置 36 ;負載暫存器B 53 ;及位元寬” OR”暫存器 A 2 5 2與暫存器B 5 3以得到結果,亦即A 3 5 8其中C . 1 .4 2是在位置3 6中且C 2 4 4是在位 置38中。使用另一 SHORI指令,C3 46可被負 載進入在位置5 7之暫存器5 3,且”〇R”左移位的 A3 5 8,因此負載常數40進入暫存器A。在另一實 施例中,Ml ,M2與M3可被設定爲A1 50中的零 0 表2指出本發明之特定實施例中的Μ Ο V I指令之詳 細敘述。微處理器具有6 4位元暫存器且指令長度爲3 2 位元。Μ〇V I指令具有操作碼” 110011” ,符號 延伸1 6位元立即欄位” s ” ,並儲存結果於暫存器” d ,,亦即R d中。” r ”欄位可以是四個保留的位元。 ^紙張尺度適h中國國家標準(CNS)A4規格(210 X 297公β (請先閱讀背面之注意事項再 -裝—— ^^本頁) 經濟部智慧財產局員工消費合作社印製 497074 A7 B7 五、發明說明(6 ) 表2 | 110011 I s : 厂 ~d |~~r~ 31 26 25 109 4 3 0 MUVI s, Rd ---- source t- SignExtendl6(s); result <r source; Rd Re^ister(result); 表3指出本發明之特定實施例中的SH〇R I指令之 詳細敘述。S Η〇R I指令具有操作碼” 11010” ’ 左移位暫存器” w ”亦即R w之內容1 6 ’執行位元寬” 〇R ”與1 6位元立即欄位” s ” ’並儲存結果於暫存益 R w中。在此貫施例’ R w長度可以是6 4位兀。 表3 ^----.---------裝--- (請先閱讀背面之注意事項再本頁) . 110010 s w r 31 26 25 109 4 3 0 SHORI s,Rw source <- ZeroExtend(SignExtendl6(s)); result ZeroExtend64(Rw); result <- (result« 16) OR source; Rw <- Register(result);__ • 線- 經濟部智慧財產局員工消費合作社印製 使用整數指令之另一例子爲在有符號的整數中符號位 元之計算。此可以是有用的一個應用是數位信號處理( D S P )演算。指令集包括使有符號的分數能有效正常化 之指令,使得它們的値位在範圍〔〇 · 5 一 1 · 0〕與〔 一 0 · 5 — — 1 · 〇〕內。微處理晶片上之典型的正常化 功能會做一系列的左移位及比較。藉著在D s p晶片上的 -9 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 497074 A7 ___ B7 五、發明說明(7 ) 使用,可以看出有效的正常化功能之値。例如一 I T U語 音寫碼器中標準的正常化操作可具有3 0的複數權衡,表 示它將消耗3 0循環於一 D S P上,不支持正常化作爲指 令。在G · 7 2 9 E語音寫碼器中,正常化功能可被稱爲 .每秒1 5 0 0 0次。於是,作爲D S P演算可被使用於應 用程式2 0中,但不足以需要一分開的D S P晶片,幫助 正常化的一指令,例如N S B指令,將改善執行D S P演 算的一般微處理器之性能。 在本發明之特定實施例中,N S B指令計算6 4位元 源暫存器中的符號位元之數目,減1並儲存結果於其目的 地暫存器中。符號位元之數目爲連續位元的數目,包括最 大明顯位元並向下移動至最小明顯位元,其具有相同的位 元値。然後如果源暫存器藉N S B指令之結果向左移位, 在6 4位元有符號的數目空間內結果被正常化。 圖3指出本發明之N S B指令的一個簡化例子。整數 ” + 2 ” 6 6表示於一位元組亦即8 —位元之二的補數格 式中,半數位元(n i bb 1 e) (4 —位元)62及半 數位元6 4。對於此例子,假設最大的正數是” + 7 ” 72具有半數位元68,70。應用先前的方法,有五個 符號位元於” + 7” 72中。NSB可重回5 — 1二4之 計數。且藉著移位” + 7 ” 7 2四位至左邊,我們得到半 數位元7 4,7 6對於”正常化+ 7 ” 7 8。欲正常化” + 2 ” ,半數位元6 2,6 4被向左移位四,以得到半數 位元8 0,8 2。由於可使用二的補數,具有半數位元 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再本頁) -裝 太 · 經濟部智慧財產局員工消費合作社印製 -10- 497074 A7 ______ B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(8 ) 9 2 ’ 9 4之”一 3 ” 9 6的類似正常化,且假設的最大 値負値一 7表示於具有半數位元1 〇 4,χ 〇 6之”正常 化一 3 ” 1 〇 8中。最大値是正常化數目的一個例子。在 另一實施例中’各數目可具有一 N S B計算.及被N S B向 左移位的數目。此類似於正常化浮動點尾數(m a n t i s s a )及 藉相反的類似量改變指數。對於此另一個實施例,另一個 具有半數位元86 ,88之”正常化+2” 90被” + 2 ’’ 6 6向左移位N S B,亦即五位元。此另一個”正常化 + 2 ” 9 0可被視爲二的補數,正常化於範圍〔- 1 2 8,+ 1 27] 或+2被約128(2**7)除。 表4指出本發明之特定實施例中N S B指令的詳細敘 述。具有分開運算碼(opcode ) ” 〇 〇 〇 〇 〇 〇 ”與” 1 1 0 1 ”之N S B指令計算暫存器” m ” ( R⑴)中的連 續符號位元中之數目,減1並儲存結果於暫存器” d ” ( R )中。” r ”代表保留位元且暫存器爲6 4位元。表4 中給定的演算是N S B指令的另一特定實施例。 表4 1 〇〇〇〇〇〇 I m 1 1101 | r 1 d I ~ 31_26 25_20 19 16 15_109 _4 3 〇 NSB Rm,R<j____ Specific embodiment: source SignExtend64(Rm); REPEAT i FROM 0 FOR 64 { N ◊ 64 - i; IF (SignExtendN(source) = source) result i; } Rd Register(result); _ _· (請先閱讀背面之注意事項再 i—— 本頁) · -線· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公餐) • 11 - υ/4
i'發明說明(9) @ _整數指令之硬體實施的特定實施例 在特定實施例中,本發明可實施於具有在零或根階組 準(root hierarchy level)之核心 2 0 0 單元的 C P U 中 。核心2 0 0可包括六單元在階組位位準1 。圖4指出核 心2 〇 〇之頂位準分割的一個例子。表5敘述S 5核心中 各單元的功能。包括處理整數指令之指令流單元(I F U )2 1 〇進一步敘述於Appendix中。 ^----,---------裝--- (請先閱讀背面之注意事項再本頁)
_線 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -12- 497074 Α7 — Β7 五、發明說明(10) 經濟部智慧財產局員工消費合作社印製 表5 階組位 準 單元 縮寫 敘述 0 S5核心200 S5 頂位準核心區塊。 1 匯流排介面 單元205 BIU 控制匯流排存取至外部模組 例如周邊模組與外部記憶體 介面。 1 指令流單元 210 IFU C P U管之前端:取得,解碼,發 出及分支,亦包含模式B模倣 〇 1 指令多媒體 單元220 IMU 處理全部整數及多媒體指令 。主CPU資料路徑。 1 指令快取單 元 230. ICU 包含指令快取及指令翻譯觀 看緩衝器(TLB)。 1 負載儲存單 元240 LSU 處理全部記憶體指令及資料 快取控制。 1 資料快取單 元250 DCU 包含資料快取及資料翻譯觀 看緩衝器(TLB)。 1 浮動點單元 (未示) FPU 可分離的浮動點解碼器,管控 制及執行管(圖4中未示)。 圖5指出整數/多媒體單元(IMU) 2 2 0之方塊 圖的例子。在特定實施例中,I M U 2 2 0可處理C P U 算術指令,包括整數,多媒體算術與邏輯指令;負載/儲 •r---』---------裝—— (請先閱讀背面之注意事項再mr本頁) · -.線· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -13- 497074 Α7 Β7 五、發明說明(11 ) 存位址計算及範圍外(壞位址)偵測;分支與部份分支比 較;及分支目標位址計算。I M U 2 2 0計算可發生於第 一(exel),第二(exe2)或第三(exe3) 疊流階段。許多子單元具有一循環執行時間,而多工器可 具有3循環出入時間。此實施例中之I M U 2 2 0可以是 單一管線。除非ifu」mu_stall信號3 1 2或 ifu_imuinvalidate信號3 1 4被接收,各循環之管線中的資 料進行不會被相關的信號鎖住。I M U 2 2 0從 I F U 2 1 0得到許多輸入。主信號可以是源運算元或運 算碼字。I M U 2 2 0可在e X e 1與e X e 2管線階段 (一與二循環指令)或在e X e 3管線階段(3或4循環 指令)將其結果送出。 在特定實施例中,IMU220包括七單元。表6敘 述圖5中之I M U方塊。Appendix3具有I M U之實施例的 詳細說明。 -^----Ί--------裝--- (請先閱讀背面之注意事項再jmt本頁) · 經濟部智慧財產局員工消費合作社印製 -14- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 497074 五、發明說明(12) 表6 優先 層次 單元功能 縮寫 敘述 2 加法器 ADA 316 整數與位址加法器 2 加法器 IMA 320 simd加法器 2 選擇器 XSL 330 exel exe2 exe3結果選擇 2 額外執行 XHW 340 特殊指令支持 2 移相器/洗 牌 SHF 350 移相器與洗牌 2 乘法器 MUL 360 整數與simd乘法器 2 控制 XCT 370 控制塊 (請先閱讀背面之注意事項再本頁) 太 ADA 316例如可定IFU210或 L S U 2 4 0之位址,及整數相加,相減或比較。 ADA 3 1 6可包括一 6 4位元加法器。第二輸入可被 反向以相減或比較。亦可以做範圍檢查。 經濟部智慧財產局員工消費合作社印製 I M A 3 2 0例如可包括兩個加法器,其中各執行 一 3 2位元相加,二1 6位元相加或四8位元相加。各型 的相加可在全部相加的同時啓動時包括一進位。此允許位 元組處理,結果可以是8位元向量。第二源運算元可被反 向以允許相減與比較。
特定實施例中的X H W 3 4 0處理很難藉重新使用 其它區塊硬體實施的指令。這些指令可具有它們自己的實 施硬體,由於各具有行爲無法與其它的指令相合。X H W -15- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 497074 A7 B7 五、發明說明(13) 340可包括M〇V 1 ,SHORI與NSB指令。 S H F 3 5 0例如執行移位相關指令以及與6 4位 元源之位元組量有關的指令。除了在後來的循環( e X e 2 )飽和之外’它在一循環(e X e 1 )中執行。 如果飽和命令產生在e X e 2階段時,它亦選擇飽和値。 洗牌與位兀組移位功能最好藉3步驟中之 S H F 3 5 0來執行。第一步驟產生用於洗牌矩陣之控制 信號。步驟2移動位元組。如果在e X e 3需要的話,最 後步驟選擇飽和値。 藉SHF 3 5 0可分開地完成飽和偵測。它使用來自 移位路徑之運算元及罩,且可產生用於移位及洗牌之第二 循環(e X e 2 )之飽和指令。 M U L功能3 6 0例如執行乘法器相關指令,包括 S I M D (信號指令多値)整數相乘。在三循環中完成許 多指令,但少部份指令需要四循環來完成。可使用小間寫 碼算法(Booth encoding algorithm)以執行相乘。 X C T 3 7 0操作以緩衝並廣播由I f U 2 1 0提供 的不同控制信號,其對於各執行方塊需要被複製。它可控 制管流中之方塊’藉者保持小表的指令位置於管流中。 X C T 3 7 0可考慮有效、逆轉及有效値。 在特定實施例中’ X H W 3 4 0沒有複雜指令可處理 ,但它可處理很難由重新使用其它方塊硬體來實施之指令 。這些指令有它們自己的實施硬體,由於各具有行爲,無 法匹配於其它指令。M〇VI 、SH0RI與NSB指令 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) .^----·---------裝--- (請先閱讀背面之注意事項再mb本頁) · -丨線_ 經濟部智慧財產局員工消費合作社印製 497074 A7 ___B7___ 五、發明說明(14) 可在XHW340中實施。 X H W 3 4 0可處理移動類指令,例如Μ Ο V I 。 XHW3 4 0不可以額外選擇過負載I ΜΑ 3 2 0臨界路 徑,可避免強迫零在某些源運算元。由於它是典型一循環 ,3輸入運算子,它可處理SHORI ,而不會衝擊解碼 器臨界路徑(沒有暫存器置換)。由於XHW3 4 0具有 簡單局部運算碼,它亦可減少這些指令的解碼器複雜度。 圖6指出正在本發明之管流中被執行的一循環x H W 指令之例子,此指令在特定實施例中可以是M 0 v 1 ' SHORI或NSB。在圖6中,”循環” 405指出管 流的階段。,’ D ”階段4 1 0指出在執行之前的循環 4〇5中之指令。然後藉X C T 3 7 0給予控制信號( xct — xhw — start_exl 432)以開始執仃。El 4 12、 E 2 ” 4 Γ 4 與” E 3 ” 4 1 6 分別代表 e x e 1、 e xe 2與e xe 3執行階段’亦即循環。XHW340 • 執行指令並給予結果’ 4 3 4 - 4 3 8,全部在一循環 ^----:---------裝--- (請先閱讀背面之注意事項再本頁) 訂: -線· Ε 經濟部智慧財產局員工消費合作社印製 圖 7 表 的 W Η X 之 明 。 發 W 中本 Η 2 出X 1指出 4 7 指 3 定 特 個 圖 塊 方 之 例 施 子 例 之 面 介 B· 咅 外 的 ο 4 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) -17 - 497074 A7 B7 五、發明說明(15) 表7 經濟部智慧財產局員工消費合作社印製
Bus Dir Src/Dest Size Time Description —Source operand busses ifu srcl 510 in ifti 64 ckl** operand 1 bus ifii src2 512 in ifu 64 ckl** operand2 bus ifa src3 514 in ifii 64 ckl** operand3 bus int result ex 1 516 in xsl 64 ckl** internal forwarded result 1 int result ex2 516 in xsl 64 ckl** internal forwarded result 2 int result ex3 516 in xsl 64 ckl** internal forwarded result 3 int srcl from 518 in xct 4 ckl** source 1 selection int src2 from 518 in xct 4 ckl* source 2 selection int_src3_from 518 in xct 4 ckl* source 3 selection —Instruction input signals xct xhw opc 518 in xct 13 ckl* xhw opcode —Pipe control input signals xct xhw start exl 518 in xct 1 ckl** xhw starts exl xct一xhw一shf一exl compl ~ 51*8 ~ in xct 1 ckl* exl gets xhw data —Output data xhw result exl 520 out ifti 64 ckl* exel result xhwjresult-exl一valid (not shown) out ifb 1 ckl exel result is valid 之 注 k Γ 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -18- 497074 A7 經濟部智慧財產局員工消費合作社印製 --^------B7__ 五、發明說明(16) 在特定實施例中,X H W可包括七個模組:R G I 53〇、L〇G 54〇、LSD 55 0、 M 0 v 560、CMV 570、MUX 580 及 C p 5 9 0,其包括控制信號。 輸入閂鎖或正反器(R G I 5 3 0 )接收並儲存三 源運算元(ifU-Srcl、ifu — src2 及 ifu_src3)。 邏輯功能(LOG 540)執行邏輯AND、〇R 、ANDC、X〇R,且選定一結果。 引導符號計數器(L S D 5 5 0 )功能,亦即 N s B,是根據引導零計數器。當數字是負時,符號被反 向。N S B可以是例如二階段處理:位元被計數於結果的 下3位元之位元組格式上,然後在全雙格式上,藉著結果 之高3位元之位元組。在Ap p e n d i x4中給予 R 丁 L 碼。 移動功能(MOV 560)可包括Μ〇VI ,其將 運算元2送至結果匯流排(輸入源已被符號延伸),及 S Η〇R I ,其可突然移位1 6。在Appendix5中給予 R T L 碼。 對於S Η〇R I : 1 6位元中間常數値是零延伸,且 r g 1 _ d a t a 3是1 6位元左移位,然後這兩値是” 〇R ’ d ” 。完成此之R T L敘述的例子是: {48fb0,rgl 一 data2[15:0]} | {rgl __(^ΐ&3[47:0],16’1)0},等於 Appendix5中給予的{rgl_data3[47:0],rgl_data2[15:0]}。 條件移動(C Μ V 5 7 0 )可包括比較指令’其選 ^----:---------t--- (請先閱讀背面之注意事項再!本頁) · -線· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -19- 497074 A7 B7 五、發明說明(17) 定整個或部份源運算元以產生結果,例如E Q與N E偵測 零或非零運算元1。 可以有一輸出選擇(MUX 5 8 0 ),其選定結果 〇 結論: 在前述說明書中,已針對特定實施例來敘述本發明 。對熟於此技藝者可容易想到其它實施例。例如,指令長 度可以是16或64位元,且微處理器能以、32或 1 2 8位元匯流排及字來操作。於是,顯然在不偏離申請 專利範圍中所提出之本發明的精神與範圍及其等效物下, 可做成許多不同的修改。 請 先 閱 讀 背 面 之 注 意 事 項 頁 經濟部智慧財產局員工消費合作社印製 20 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Claims (1)
- A8B8C8D8 497074 六、申請專利較圍 1 · 一種方法,用於負載常數進入記憶體位置’其中 記憶體位置包含許多依順序部份,包含: 將常數分成許多份; 負載第一份的許多部份進入許多依順序部份之第一部 份; 移動第一部份中的第一份至許多依順序部份的第二部 份;及 負載許多部份的第二部份進入第一部份。 2 .如申請專利範圍第1項之方法,其中記憶體位置 包含一暫存器。 3 · —種方法,用於負載包含許多份之常數進入目標 記憶體位置,包含: 移位包含多依順序部份之第一記憶體位置,第一記憶 體位置一部份中的元位總數; 負載一部份的常數進入包含第二許多依順序部份之第 二記憶體位置的一部份第二記憶體位置; 藉由邏輯地組合第一記憶體位置及第二記憶體位置, 決定一結果;及 儲存結果於目標記憶體位置。 4 .如申請專利範圍第3項之方法,其中邏輯組合是 位元〇R。 5 .如申請專利範圍第3項之方法,其中移位是左移 位,以零被移位在第一記憶體位置的右端° 6 .如申請專利範圍第3項之方法,進一步包含負載 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----I--------裝--- • 亀 (請先閲讀背面之注意事項本頁) ιδ· 經濟部智慧財產局員工消費合作社印製 -21 - 497074 A8B8C8D8 經濟部智慧財產局員工消費合作社印製 六、申請專利範圍 第一份的常數進入在第一記憶體位置移位之前的第一記憶 體位置。 7 ·如申請專利範圍第6項之方法,其中負載第一份 的常數包含符號延伸第一份於第一記憶體位置中。 8 ·如申請專利範圍第3項之方法,其中負載一部份 的常數進入一部份的第二記憶體位置,包含負載第二份的 常數進入第一部份的第二記憶體位置,且零延伸第二份。 9 · 一種方法,用於從許多指令負載常數進入一暫存 器’其中來自許多指令之指令資料欄包含一部份的常數, 此方法包含: 負載暫存器的第一份,來自許多指令之第一指令資料 攔; 移動來自暫存器的第一份之第一指令資料欄至暫存器 的第二份,使得暫存器的第二份包含第一指令資料欄,且 暫存器的第一份被零塡充; 執行邏輯0 R操作於來自許多指令之第二指令資料欄 ,以暫存器的第一份產生第一結果;及 儲存第一結果於暫存器的第二份中。 1 0 ·如申請專利範圍第9項之方法’其中移位第一 指令資料欄、執行邏輯0 R操作及儲存第一結果,是在一 循環中被處理。 1 1 ·如申請專利範圍第9項之方法’其中暫存器之 長度是6 4位元’且各指令資料攔包含長度最多1 6位兀 之中間欄。 ΪΙΙΙΙ1Ι— — — — — — - I I (請先閱讀背面之注意事項再本頁) 訂· --線· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -22- 497074 A8B8C8D8 經濟部智慧財產局員工消費合作社印製 六、申請專利範圍 1 2 ·如申請專利範圍第9項之方法,進一步包含: @動來自暫存器的第二份之第一指令資料欄至暫存器 的第三份,使得暫存器的第三份包含第一指令資料欄; @動來自暫存器的第一份之第一結果至暫存器的第二 份’使得暫存器的第二份包含第一結果,且暫存器的第一 份被零塡充; 執行邏輯〇R操作於來自許多指令及暫存器的第一份 之第三指令資料攔,以產生第二結果;及 儲存第二結果於暫存器的第一份中。 1 3 ·如申請專利範圍第1 2項之方法,其中移動第 一指令資料欄、移動第一結果、執行邏輯〇r操作及儲存 第一結果是在一定時循環中被處理。 1 4 · 一種方法,使用電腦以決定符號位元之數目, 此方法包含: 計數儲存於第一記憶體位置中的二進位數中的符號位 元之總數; 藉著從總數減一而決定結果;及 儲存結果於第二記憶體位置中。 1 5 ·如申請專利範圍第1 4項之方法,其中符號位 元被計數在用於結果的第一許多位元之位元組格式上,然 後藉位元組被計數在用於結果的第二許多位元之全雙格式 上。 1 6 ·如申請專利範圍第1 4項之方法,其中在〜管 流執丫了循環中決疋結果。 -n H ϋ I n n n ϋ ϋ I I I · n n Φ - (請先閲讀背面之注意事項再本頁) tSJ· -線. 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -23- 497074 A8S8D8 經濟部智慧財產局員工消費合作社印剔衣 六、申請專利範圍 1 7 · —種方法,使用電腦用於正常化一二進位數, 此方法包含: 計數儲存於第一記憶體位置中二進位中的符號位元之 總數; 藉著將總數減一而決定結果; 儲存結果於第二記憶體位置中;及 藉著移位二進位數結果,而得到一正常化數。 1 8 .如申請專利範圍第1 7項之方法,其中一指令 包含:計數符號位元的總數;藉著將總數減一而決定結果 ;及儲存結果於第二記憶體位置中。 1 9 ·如申請專利範圍第1 7項之方法,其中符號位 元被計數在用於結果的下許多位元之位元組格式上,然後 被位元組計數在用於結果的高許多位元之全雙格式上。 2 0 .如申請專利範圍第1 7項之方法,其中計數符 號位元的總數包含,計數具有相同位元値之連續位元的總 數,作爲最大明顯位元,其中計數開始在最大明顯位元, 且繼續至具有與最大明顯位元相同位元値之最小明顯位元 〇 2 1 ·如申請專利範圍第1 7項之方法’其中正常化 値被使用於數位信號處理(D S P )應用中。 2 2 · —種方法,在計算機系統中執行指令,此方法 包含: 藉著計數第一暫存器中之連續符號位元之數目而決定 結果, 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -24- -----------— II - I I (請先閱讀背面之注意事項再本頁) 15J· •線- 497074 A8 B8 C8 D8 六、申請專利範圍 將結果減一;及 儲存結果於第二暫存器中。 2 3 .如申請專利範圍第2 2項之方法,其中指令包 含3 2位元,且第一與第二暫存器包含6 4位元。 (請先閱讀背面之注意事項 本頁) 裝 i線. 經濟部智慧財產局員工消費合作社印製 -25- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41068399A | 1999-10-01 | 1999-10-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW497074B true TW497074B (en) | 2002-08-01 |
Family
ID=23625785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW089120404A TW497074B (en) | 1999-10-01 | 2000-09-30 | An integer instruction set architecture and implementation |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1089166A3 (zh) |
JP (1) | JP2001142695A (zh) |
KR (1) | KR20010050804A (zh) |
TW (1) | TW497074B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676649B2 (en) | 2004-10-01 | 2010-03-09 | Lockheed Martin Corporation | Computing machine with redundancy and related systems and methods |
US7987341B2 (en) | 2002-10-31 | 2011-07-26 | Lockheed Martin Corporation | Computing machine using software objects for transferring data that includes no destination information |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3857614B2 (ja) | 2002-06-03 | 2006-12-13 | 松下電器産業株式会社 | プロセッサ |
US20150227366A1 (en) * | 2014-02-12 | 2015-08-13 | Imagination Technologies Limited | Processor with granular add immediates capability & methods |
KR102270790B1 (ko) | 2014-10-20 | 2021-06-29 | 삼성전자주식회사 | 데이터 처리 방법 및 장치 |
US10866817B2 (en) | 2016-03-14 | 2020-12-15 | Samsung Electronics Co.. Ltd. | Computing system, and driving method and compiling method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001662A (en) * | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
US6219779B1 (en) * | 1997-06-16 | 2001-04-17 | Matsushita Electric Industrial Co., Ltd. | Constant reconstructing processor which supports reductions in code size |
KR100322277B1 (ko) * | 1998-11-20 | 2002-03-08 | 권 기 홍 | 확장 명령어를 가진 중앙처리장치 |
-
2000
- 2000-09-28 JP JP2000335190A patent/JP2001142695A/ja active Pending
- 2000-09-29 EP EP00308584A patent/EP1089166A3/en not_active Withdrawn
- 2000-09-30 TW TW089120404A patent/TW497074B/zh not_active IP Right Cessation
- 2000-10-02 KR KR1020000057804A patent/KR20010050804A/ko not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987341B2 (en) | 2002-10-31 | 2011-07-26 | Lockheed Martin Corporation | Computing machine using software objects for transferring data that includes no destination information |
US8250341B2 (en) | 2002-10-31 | 2012-08-21 | Lockheed Martin Corporation | Pipeline accelerator having multiple pipeline units and related computing machine and method |
US7676649B2 (en) | 2004-10-01 | 2010-03-09 | Lockheed Martin Corporation | Computing machine with redundancy and related systems and methods |
US7809982B2 (en) | 2004-10-01 | 2010-10-05 | Lockheed Martin Corporation | Reconfigurable computing machine and related systems and methods |
US8073974B2 (en) | 2004-10-01 | 2011-12-06 | Lockheed Martin Corporation | Object oriented mission framework and system and method |
Also Published As
Publication number | Publication date |
---|---|
EP1089166A2 (en) | 2001-04-04 |
EP1089166A3 (en) | 2004-10-20 |
KR20010050804A (ko) | 2001-06-25 |
JP2001142695A (ja) | 2001-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sites et al. | Alpha AXP architecture reference manual | |
US8386755B2 (en) | Non-atomic scheduling of micro-operations to perform round instruction | |
TW470914B (en) | Executing partial-width packed data instructions | |
JP5963866B2 (ja) | 機械命令を実行するコンピュータ・プログラム(製品)、コンピュータ・システム、および方法、ならびに命令を処理するためのコンピュータ・プログラム(製品)(複数アドレス指定可能なレジスタ・ファイルおよびそれに関連するフォーマット変換) | |
US6487575B1 (en) | Early completion of iterative division | |
TWI423127B (zh) | 指令處理方法以及其所適用之超純量管線微處理器 | |
US7216138B2 (en) | Method and apparatus for floating point operations and format conversion operations | |
US20120311303A1 (en) | Processor for Executing Wide Operand Operations Using a Control Register and a Results Register | |
US5675758A (en) | Processor having primary integer execution unit and supplemental integer execution unit for performing out-of-order add and move operations | |
US20110185157A1 (en) | Multifunction hexadecimal instruction form system and program product | |
CN111767516A (zh) | 用于利用所选择的舍入来执行浮点加法的系统和方法 | |
JPH09512651A (ja) | 複数命令セットのマッピング | |
US20080256162A1 (en) | X87 fused multiply-add instruction | |
JP6760935B2 (ja) | 多倍長整数(big integer)の算術演算を実行するための方法および装置 | |
Lee et al. | The Hwacha vector-fetch architecture manual, version 3.8. 1 | |
WO2000023875A1 (en) | System with wide operand architecture, and method | |
JP2001027945A5 (zh) | ||
US20030084083A1 (en) | Method and apparatus for performing integer multiply operations using primitive multi-media operations that operate on smaller operands | |
TW548587B (en) | Apparatus and method for data processing and computer program product | |
US20030037085A1 (en) | Field processing unit | |
TW497074B (en) | An integer instruction set architecture and implementation | |
Coke et al. | Improvements in the Intel Core2 Penryn Processor Family Architecture and Microarchitecture. | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
US6078940A (en) | Microprocessor with an instruction for multiply and left shift with saturate | |
JP3662259B2 (ja) | データ処理条件コード・フラグ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |