TW477936B - Instruction folding method and device used in a stack machine - Google Patents
Instruction folding method and device used in a stack machine Download PDFInfo
- Publication number
- TW477936B TW477936B TW087121769A TW87121769A TW477936B TW 477936 B TW477936 B TW 477936B TW 087121769 A TW087121769 A TW 087121769A TW 87121769 A TW87121769 A TW 87121769A TW 477936 B TW477936 B TW 477936B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- folded
- storage
- code
- type
- Prior art date
Links
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/3017—Runtime instruction translation, e.g. macros
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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/30181—Instruction operation extension or modification
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
477936 A7 經濟部中央標準局員工消費合作社印# B7 五、發明説明(/ ) ^ 發明之背景 本發明主要係用於計算機之指令摺疊(instructi〇n folding)方法與裝置,尤指應用於堆疊機器(stack machine)之指令摺疊方法與裝置。 5 請參考圖一習知堆疊機器1 0之運算結構示意圖(請 參考[l]Bulman, D.M·, "Stack Computers: An Introduction,^, IEEE Computer, Vol. 10, No.5, May 1 997,PP. 1 8 〜28 和[2]HaroldS.Stone,’’High-Performance Computer Architecture”,Addison-Wesley 10 Publishing Company,1987,PP.102〜1 15.) ,習知堆疊機器1 〇包括: 一才曰令快取記憶體(instruction cache)41,用來擷 取並儲存複數個待執行指令, 一指令環形緩衝器(instructi〇n ring buffer)42, 15 用來再擷取並儲存前述複數個之待執行指令中 部份的待執行指令, 一指令碼檢查器(operation code checker/sizer)44,找出待執行指令中指令碼 (operation code)之位置及長度資料, 20 一程式控制器(program control)60,其根據指令 碼檢查器44中待執行指令之長度資料,來控 制指令快取記憶體4 1與指令環形緩衝器42内 (請先閱讀背面之注意事 J· 項再填· 裝丨— :寫本頁) 訂 J· 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 、發明説明(5 A7 ‘·: B7 」存待執行指令之讀取與位移, 解馬為(dec〇der) 52,用來將指令碼依其指令 碼格式(instructi〇n f〇rmat)解碼後輸出 一控制信號109,以提供一執行指令單元54正★崔的執行功能(例如,加、減、乘、除、移位… 寺執行功能),並產生一來源位址1〇5及一存 放位址1 〇 7, - —執行指令儲存器(executive instructiQnbuffer)%,用來儲存來源位址ι〇5,存放位 址1 〇 7,以及控制信號1 〇 9, 才曰々執行單元(executi〇n unit)54,用來接 收執行指令儲存器58中之控制信號1〇9,來源 位址1〇5以及存放位址1〇7,並根據控制信號 1〇9,來源位址1 〇 5及存放位址丄〇 7經由指定 的局部變數暫存器(1〇ca]_ variable register)l8 、運算堆疊器(〇perand stack ) 12或常數暫存器(c〇nstant register) 16來存取資料以執行待執行指令。 2〇 凊參考圖二,其為堆疊機器1 〇的運算流程圖,以 20本發明實施例中P0C類別(有關p〇c類別之定義,請 參考發明詳細説明)的分類觀點來看,待執行指令依運 算堆疊器I2之資料存取性質可分為三類,分別為··生 讀 先 閱 讀 背 之 注 意 事 項 再 填 本 頁 10 訂 15 Ψ 木紙张尺及询川屮阀1¾家標今((’NS ) Λ4坭格(2丨ΟΧ297公釐) 477936 A7 B7 15 經1¾.部中决標皁局另Η消费合作;;;印$ 20 (210 x 297公势) 五、發明説明(> ) 產者(producer,P)l4,運算者(〇perat〇r,…μ 及消費者(consumer,c) Μ,我們假設有三個0 ’ 指令之P〇c類別依序為p,〇,c,且運算者〇 (例2 = 〇E或〇c,請參考後面説明)2 〇需將待執行指令:三 結果存人-運料#器12巾,料些待 = 行步騾為: 曰7的執 步騾1 ±產者(P)14其資料的來源係由指定 源裝置種類(例如,常數暫存器丄6或局 數暫存㉟18)中取出,因為運算堆疊器二 係以先進後出(first in last 〇u〇的方 式運作,因此由來源裝置種類取出的資料备 存入運算堆疊器12之上端(T〇s);—曰 步驟2運算者(〇)2〇由運算堆疊器12的上端 (τ〇s )取出資料; 、 步银3时運算者(〇)2〇將取出的資料交由指令執行 單元54執行,以得到-經運算後的资料. 步驟4 ^算者⑼20將經運算後的資料存入運算 堆疊器12的上端(TOS) · 步驟費者如2將經運錢的資料由運算堆 Μ 12的上端(T〇s)取出並存入局部變數 暫存器18。 ' 由於則後的待執行指令必需依序經過運算堆叠器 木絲尺細中_家㈣了^ 五、發明説明([^ A7 B7 麫淖部屮决#準扃SJT-消f含作社印#
12中間的存取資料,』, 貝料如此造成了所謂之資料相依性 (j^ta ,運算子必須寫人及讀出運算堆 璺态1 2,而造成運算時間的浪費。 發明概述 和人2明〈主要目的在於提供一種用於堆疊機器之 曰裝置及方法’用來摺#複數個待執行指令,以 ,服習知待執行指令必f依序經過運算堆疊 存取資料,所造歧算相的㈣。 的 本發明王要係將指令摺疊裝置設置於指令碼檢查 益與執行指令儲存ϋ之^用來摺疊複數個待執行产二 ::預:數二之待摺叠指令,以使指令執行單元心: {仃和令則,彳依據—P0C分類合併規則與一資料 位置儲存規則預先檢查複數個待摺疊指令,以避免運〜 堆畳器重複存取運算子,來節省運算時間。 外 勺括本發明所提供一種用於堆疊機器之指令摺疊裝置 待摺璺指令暫存器,用夹辟左 ^ H料-以數目個 s扣令之指令碼及運算子; 句 一指令摺疊器,用來接收該待摺疊指令之指令螞 並比較一前面指令(可能是第一個待摺, 可摺疊合併的暫時指令或可累積的暫時指‘;、、 (¾先閱讀背面之:/X意事項再填寫本頁} Φ 、-σ Ρ • m I · I 111 · 本獻細屮_家糾27^7二¥_ 477936 A7 B7 五、發明説明(Γ ) 15 M满部中决標準扃负JT-消费合竹々印父 20 指令碼所對應的存放裝置種類與後面的 指令之指令碼所對應的來源裝置種類是否有 同㈣式,、及比較前面指令之指令碼所對應目 放資料長度與後面的待摺疊指令之指令碼所 應的來源資料長度是否相同,並利用__八趣 合併規則與—資料位置儲存規則,判斷該前= 令與後面的待摺疊指令可否摺疊合併,若不可^ 疊合併,則輸出一前面令所對應的指令碼 : 裝置種類及存放裝置種類,若可摺疊合併,則: 據一 P 〇 C分類合併規則檢查一前面指令之指令碼 尤POC類別與後面的該待摺疊指令之指令碼之 POC類別,以產生一摺疊數量訊號,並依據 料位置儲存規則產生輸出一可摺疊合併的暫時 指令所對應的來源裝置種類及存放裝置種類,並 藉由該待摺疊指令之poc類別與該摺疊數量訊 選出一首要指令碼; 一合併長度檢查器,用來接收該待摺疊指令暫存器 内之該待摺疊指令所對應的指令碼及運算子的 位置和長度資料,並配合該指令摺疊器所輸出之 孩摺疊數量訊號檢查經運算後的該待摺叠指令 之合併數量; 7 一指疊後指令暫存器,用來接收經由該指令摺疊器 • ! 1 ί I ? 1 (請先閱讀背面之注意事項再填寫本頁) I 1 I Sri - φ 訂 φ— A4坭格(210x 297公釐)
477936 A7 B7 五、發明説明( 15 經濟部中决榜卑局兵了;消贽合竹社印製 20 摺疊處理後指令(可能是不可合併之第一個待擅 疊指令或可摺疊合併的暫時指令)的該來源裝置 種類、該存放裝置種類,該指令碼所對應的運算 子,以及被選出的該首要指令碼; 一來源位址產生單元,用來接收該摺疊後指令暫存 器所儲存的該來源裝置種類及該來源裝置種類 所對應的基礎位址(b a s e a d d r e s s ),若該待 摺疊指令具有該指令碼相對應的運算子,則進一 步組合該來源裝置種類所對應的運算子之運算 子指標(index),以產生該來源位址; 一存放位址產生單元,用來接收該摺疊後指令暫存 器所儲存之存放裝置種類,以及該存放裝置種類 所對應的基礎位址,若待摺疊指令包括指令碼所 對應的運算子,則進一步組合該存放裝置種類所 對應的運算子之運算子指標,以產生該存放位 址〇 至於用於堆疊機器之摺疊方法,包括以下步驟: 使用一待摺疊指令暫存器,來儲存一預定數目個待 招疊指令之指令碼及運算子; 使用—指令摺疊器,用來接收該待摺疊指令之指令 :1 ί依據—poc分類合併規則檢查—前面指令(可 第個待才白疊才a令、可累積的暫時指令或可擅疊合 (¾先閱讀背面之注意事項再填寫本頁} 訂 五 15 20 、發明説明( 併的暫時指令)之指令碼 叠指令之指令碼之二;= -XZ- m V 並比較$亥削面指今$左 放裝置種類與後面的待摺 7 <存 女』 粘®指令之來源裝置種~ Β π 有相同的形式,且依據—資 痛疋否 令之存放資料長产虚後而存則比較前面指 ../杆長度〃後面的待摺疊指令之來源資料4 度疋否相同,以京||齡今乂 / τ長 很I〗以判断孩則面指令與後面的待摺 否摺疊合併,以產生一擅叠田 „ .十 鲕$數1訊唬、一來源裝置種類 以及-存放裝置種類,並選出一首要指令碼; ^ %使用合併長度檢查器,來接收該待摺疊指令暫存 -内之忒待秸$指令所對應的指令碼及運算子的位置 和長度資料,並配合該指令摺疊器所輸出之該摺疊數量 訊號檢查經運算後的該待摺疊指令之.合併數量; 使用一摺疊後指令暫存器,來接收經由該指令摺疊 器輸出的前面指令(可能是不可合併之第一個待摺疊指 令或可摺疊合併的暫時指令)的該來源裝置種類、該存 放裝置種類,該指令碼所對應的運算子,以及被選出的 該首要指令碼; 使用一來源位址產生單元,來接收該摺疊後指令暫 存器所儲存的該來源裝置種類及該來源裝置種類所對 應的基礎位址,若該待摺疊指令具有該指令碼相對應的 \ 運算子,則進一步組合該來源裝置種類所對應的運算子 之運异子指標(i n d e X ),以產生該來源位址; 本紙㈣巾關彳.:制| ((、NS) Χ^ΰΓΠΤ〇χ2‘筇 L---Γ----β------------φ! f詞先閱讀背¾之注意事Ji再¾¾本頁) 477936 A7 B7 15 經濟部中次標革^兵工消费合竹·社印f 20
五、發明説明(I 使用來源位址產生單元,來接收該來源裝置種類 及該來源裝置種類所對應的基礎位址,若該待摺疊指令 具有該指令碼相對應的運算子,則進一步組合該來源裝 置種類所對應的運算子之運算子指標,以產生該來源位 址; 使用一存放位址產生單元,來接收該摺疊後指令暫 存器所儲存之存放裝置種類,以及該存放裝置種類所對 應的基礎位址,若待摺疊指令包括指令碼所對庳的運算 子,則進一步組合該存放裝置種類所對應 算子指標,以產生該存放位址。 運#子<運 的二於本發明技術手段,請參考下列各項說明所伴隨 的圖式,以了解其特徵和優點。 十丨思 圖一為習知堆疊機器之運算結構示意圖。 圖二為圖一堆疊機器的運算流程圖。 圖三為本發明可摺疊指 意圖。 再且機奋夂運算結構示 圖四顯示可接受_待摺疊 圖五顯示如何將彳田^ 狀心機。 符號將四個待擅4指令轉換成表-所示之 圖六為圖五所示之四個待摺疊指令 崎類合併規則來兩兩 表-之 程。 以}自聱的摺疊過 摊㈣1 w,_ 297ί¥τ ---ί-------Aw 訂 (对先閱讀背面之注意事項再填寫本頁) 477936 π:: Α7 Β7 發明説明( 恕滴部屮欢掠準局只JT.消於合竹私印$ 圖七A至圖七C顯示圖五每一摺疊步驟的摺疊来能 圖八為圖三可㈣指令之堆疊機器之運算流程圖 圖九為圖二所π之指令摺疊器的方塊圖。 圖十為圖九第-雙指令合併單位的方塊圖。 圖十一為圖十POC運算器之邏輯電路圖。 圖十二為圖九首要指令碼選擇器之邏輯電路圖。 首先説明本發明應用於一種可 、 器,請參閱圖三,其為本發明可擅疊二::的,, 40之運算結構示意圖。由圖 ;;二堆®機益 宜機W包括有_指令快取記憶體41 衝器42, 一指令碼檢查器44 “衣形、皮 -程式控制器60, 一解碼哭日二豐裝置2〇0’· %,一指令執行單元54、 \ 執行指令儲存器 曾媸田—局邵變數暫存器18、一運 异堆登益12以及-常數暫存器16。 運 比較圖一與圖三可知,本發明係將 200置於指令碼檢查器44盥 裝置 間,用來摺疊複數個待執行指;中器58之 指令,以使指令執料元54在針=數目之待摺疊 20依據一咖分類合併規__ 丁待執行指令前,可 檢查複數個可合併的待播叠、= I2重複存取運I早 ,_ 以避免運鼻堆疊器 社五“异子,來節省運算時間。 -fl再4考圖三,指令措 邊裝置20〇包括:―待播疊 10 15 ⑽尺— ----------^衣-- (部先閱讀背面之注意事項再填寫本頁) 訂 • - -I I I · 477936 A7 B7 五、發明説明(p 指令暫存器,(folding instruction buffer) 4,8, '^ ^ ^ ^ ® ^ (folding rule checker and address assigner) 50’ 一合併長度檢查器(f〇idj_ng group bytes checker) 64,一摺疊後指令暫存器(f〇lded instruction buffer) l〇2,一來源位址產生單元 (source address generatiori ㈣丄七)“以及一存 放位址產生單元(destinatic)n address generation unit)57〇 其中: 15 20 (詞先聞讀背面之注意事項再填寫本頁} 待摺疊指令暫存器4 8係用來儲存由指令碼檢查器 4 4傳來之一預定數目個待摺疊指令之指令碼及運算子 (有些待摺璺指令依其指令碼可能不具有運算子); 指令摺疊器5 0係用來接收待摺疊指令暫存器4 8中 <待摺疊指令的指令碼,並比較一前面指令(可 能是第-個待摺疊指令、可擅叠合併的暫時指令 或可累積的暫時指令)之指令碼所對應的存放裝 置種類(未標示)與後面的待摺疊指令之指令碼 所對應的來源裝置種類(未標示)是否有相同的 形式,及比較前面指令之指令碼所對應的存放資 度(未標示)與後面的待摺疊指令之指令碼 所對應的來源資料長度是否相同(未標示),並 利y分類合併規則(請參考後文説 —資料位置儲存規則(請參考後文説明)斷 I、紙張尺度询川中阀改家樣今
五 、發明説明( A7 B7 10 該前面指令與後面的待摺疊指令可否摺疊合併, 若不可摺疊合併,則輸出一前面指令所對應的指 令碼、來源裝置種類及存放裝置種類,若可摺疊 合併,則依據一 POC分類合併規則檢查一前面指 令之指令碼之p 〇 C類別與後面的該待摺疊指令之 指令碼之POC類別,以產生一摺疊數量訊號,並 依據一資料位置儲存規則產生輸出一可摺疊合併 的暫時指令所對應的來源裝置種類1 〇 4及存放裝 置種類1 0 6,並藉由該待摺疊指令之p〇c類別與 該摺疊數量訊號選出一首要指令碼1 1 〇 ; 15 合併長度檢查器64係用來接收待摺疊指令暫存器 48内之各個待摺疊指令所對應的位置和長度資 料(例如,指令碼的位置和長度資料及與其對應 之運算子的位置和長度資料),並配合指令摺疊 器50所輸出之擅疊數量訊號l〇i檢查經運算後 的待摺疊指令之合併數量,以使程式控制器6〔 得以控制指令快取記憶體41所儲存待執
Si:形缓衝器42内所儲存待㈣指令之讀 20 (¾先閱讀背面之注意事項再填寫本頁) ㈣後指令暫存器,。2係用來接收經由指 哭 50輸出的處理後指令(可能是不可人併 。η 待擅疊指令或可㈣合併的暫時指令)所 12 木紙張尺度谪州中㈧丨%家標今 )八4坭格(210X 297公勢 477936 A 7 ;; —________B7 五、發明説明(丨/ ) 來源裝置種類1 〇 4、存放裝置種類1 〇 6,指令碼 所對應的運算子1 〇 2 2,以及首要指令碼1 1 〇 ; 來源位址產生單元5 6係用來接收摺疊後指令暫存 器1 ◦ 2所儲存的來源裝置種類1 0 4及來源裝置種 5 類1 0 4所對應的基礎位址(匕a s e a d d r e s s ), 若待擅疊指令具有指令碼相對應的運算子 1 0 2 2,則進一步組合來源裝置種類1 〇 4所對應的 運算子1〇22之運算子指標(index),以產生一 來源位址1 0 5 ; 0 存放位址產生單元5 7係用來接收摺疊後指令暫存 器102所儲存之存放裝置種類106,以及存放裝 置種類1 0 6所對應的基礎位址,若待摺疊指令包 括指令碼所對應的運算子1 〇 2 2,則進一步組合存 放裝置種類106所對應的運算子1〇22之運算子 5 指標,以產生一存放位址1 〇 7 〇 至於指令摺疊器5 ◦中所述P0C分類合併規則,請 參閱表一之 P0C 分類合併規則表, -- (对先閱讀背面之注意事項再填寫本頁) 訂 _______ 13 477936 A 7 ,; _'_ 五、發明説明(\>) 表一、POC分類合倂規則表
待措疊指令N+l ! Οτ〇ς W9/TOS δ Ps2,W2/TOS,W T 〇E/TOS, W2/TOS,W V 〇B/TOS, W2/-,- 〇C/TOS, W2/TOS,W r Ct〇S,W2/LV ,W2’ Psi,wi/T〇s,wr Psi+S2,Wl+W 2/TOS,Wl,+W2, /SI/C 〇E/Sl,W2 /TOS,W2,/ FI/C 〇B/Sl,W2 A,./FI/E 〇C/Sl,W2 /TOS,W2,/ FI/C Psi,Wl/T os,wr/S I/E Csi,W2/LV, W2,/FI/E 待 〇E/Sl,Wl /Di,wr 〇E/Sl,Wl/Dl, wr/SI/E 〇E/Sl,Wl /D1,W1’/S I/E 〇E/Sl,Wl /Di,wr/S I/E 〇E/Sl,Wl /Di,wr/S I/E 〇E/Sl,Wl /D1,W1,/S I/E 〇E/Sl,Wl/L v,w2,/FI/C 摺 疊 〇Sl,Wl/D i,wr 〇B/Sl,Wl 〇B/Sl,Wl/-,- /SI/E 〇B/Sl,Wl Z.VSI/E 〇B/Sl,Wl Z.7SI/E 〇B/Sl,Wl lJSI/E 〇B/Sl,Wl ,」 〇B/Sl,Wl/-,· /SI/E 指 令 N 〇C/Sl,Wl /Di,wr 〇C/Sl,Wl/Dl, wi’/SI/E 〇C/Sl,Wl /Di,wr/S I/E 〇C/Sl,Wl /Di,wr/S I/E 〇C/Sl,Wl /Di,wr/S I/E 〇C/Sl,Wl /Di,wr/S I/E 〇C/Sl,Wl/L v,w2,/FI/C 〇T/-,-/-,- 〇T/-,-/-,- /SI/E 〇T/-,-/-,- /SI/E 〇T/-,-/-,- /SI/E /SI/E 〇T/-,-/-,- /SI/E 〇T/-,-/-,. /SI/E Ci〇s,wi./Lv,wr Ct〇S,W1./LV, wi’/SI/E Ct〇S,W1. /LV,W1,/ SI/E Ct〇s,wi. /Lv,wr/ SI/E Ctos,wi· /LV,W1’/ SI/E Ct〇s,wl /LV,W1,/ SI/E Ct〇S,W1./L v,wi,/SI/E (掮先閲讀背面之注意事項再填寫本頁) 上述表一之符號定義分別如下:
Mis.部中决標卑局葳-T-消费合作社印到木 P (生產者):係指提供運算子給運算堆疊器1 2之 5 待摺疊指令,例如載入(load )指令。 〇(運算者):係指由運算堆疊器1 2内取出運算子, 並交由指令執行單元5 4執行之待摺疊指令。運 算者0可依其不同之執行工作分為下列幾類: 〇E :算數邏輯單元(ALU )形式之運算者,係指 14 呆紙張尺度诚州屮國R2家標縛((、NS ) A4規格(210X 297公犛) ~ 477936 五、 A7 B7 發明説明(4) 15 部 中 4\ # |20 準 消 仓 作 U算堆疊器。内取出運算子,並交由指 々執行單元54執 广 運算堆春哭19、4 曰肝連鼻〜果存回 乘、除等:# Μ ’例如加 '減、 !i:iranch)形式之運算者,係指由運 :!…2内取出運算子,並交由指令執 =…4執行’且依特定條件將分支指定 =的地位址(〜t Address)之; “ ®指令,例如條件分支指令。 、 雜(complex)形式之運算者,係指由 運舁堆疊器12内取出複雜的運算子,並交 由指令,行單元54執行,且可將執行結果 寫回運异堆叠器12之待摺疊指令,例如資 料之陣列存取(array access)。 終絕(Termination)形式之運算者,很 、隹或,,,、法和其他形式之待摺疊指令摺疊合 併在一起之待摺疊指令,例如跳躍(jump) 指令。 c(消費者)··將運算子自運算堆叠器12内取出並 存入局部變數暫存器18之待擅疊指令,例如儲 存(store)指令。 、 •待摺疊指令N與N + 1間之摺疊運算符號; 〇1 〇( α 15 (他)/\4規格(2]0乂297公|) (¾先閱讀背面之注意事項再填寫本頁}
I 經滴部中决標準局負工消費合竹社印^. 477936 A7 ", _______ B7____ 五、發明説明(^~~~
Sn:來源裝置種類(即局部變數暫存器18、運算堆疊 器12或常數暫存器16); W η :咸源資料長度;
Dn:存放裝置種類(即局部變數暫存器18或運算堆疊 5 器 12 ); w η ’ :存放資料長度。
Psn,Wn/TOS,Wn':生產者(Ρ)由來源裝置種類Sn讀取長 度為Wn之資料,並將長度為Wn’的資料存入運算 堆疊器12之上端(TOS); 10〇E/Sn,Wn/Dn,Wn’ ·運异者(〇E)由來源裝置種類Sn讀取 長度為Wn之資料,並將運算後長度為wn,的資料 存入存放裝置種類Dn ; CT〇S,Wn/LV,Wn,:消費者(C)由運算堆疊器12之上端 (tos)讀取長度為Wn之資料,並將長度為Wn, 15 的資料存入局部變數暫存器18 (LV)。 兩連績待摺疊指令經過摺疊運算後有兩種可能之結 果: S工:待摺疊指令N,N + 1可以累積但無法摺疊; FI :待摺疊指令N,N+1可以摺疊。 20待摺疊指令N,N + 1於完成一次摺疊運算後所產生的暫 時指令會具有下述兩狀態之一: ' C :可繼續檢查與後面的待摺疊指令之摺疊可行性; 16 本紙张尺 A 通 ^Γ^1^Γ^γ(、Ν$)Λ4^(210 Χ 297》^) ' --- (謫先閲讀背面之注意事項再填寫本頁) 訂 f 五 、發明説明( A7 B7 15 20 ::執行單元5 4加以執行,來得到—執行結 步驟3肖費者(c)22將步驟2指令執行單元η 、的執行結果直接存入局部變數暫存哭18 -之與圖八的待執行指令執行步驟,;二 :体畳機态40的運算步驟經指令摺疊裝 後由五個步驟隆炎-_ 0 k璺 A奉為二個,因此使侍可摺疊指、 器40的運算簡化許多。 艾拉$機 请參閱圖九實施例所示,圖九為 指令(例如……一+3)擅二四待指疊 疊裝置2〇〇。指令摺叠器”包含有指令擅 (attrihl1, n 四個屬性記憶體 Γ::::)111,一第一雙指令合併單位“,. 併單位β8,一第三雙指令合併單位 w 7以及一首要指令碼選擇器61。 當待Μ指令暫存器48將所存的四個 …^^,,川之指令碼傳給屬性⑽體二 時,屬性記憶冑山會將各個指令碼轉換為其所對岸 的P〇c自別(P0Cn~P0Cn + 3),來源裝置種類 (sn〜sn + 3),來源資料長度(Wn〜Wn + 3),存放裝置種類 (Dn〜Dn+3),存放資料長度(WN,m,並分別 9〇、92、96及1QQ輸出,此外,各個指令碼所相對雇 的識別訊號也會分別輸出至首要指令碼選擇器6丄。其 20 — — !:-----#II (讀先閱讀背面之注意事項再填寫本頁) *\st» f f紙沾尺及诚川中1¾¾¾•:標々(rNS ) 格(210X297公f 477936 A7 5 15 20 五、發明説明) 中咖類別係用來區別每—待摺4指令的屬性 產者P,運算者〇,以及消 , . W C ) 其可根據待擅最 指令之指5碼的指令碼格式得知,至於首要指入 別訊號則係依據每一待摺晶_ 、 7馬灸識 豕母#®指令所對應P〇C類別 一預定値:例如將運算者〇之預定値設定為丄,而將生 產者P及消費者C之fg金# μ、 ' 首要指令碼U。。 …為。,用以選擇適當的 為了進-步瞭解措叠合併過程,兹將四 令(Ν,Ν + 1,ν + 2,Ν4·3、·^_ι 登才曰 Ν + 2,Ν + 3)的摺疊合併步驟説明如 假設:為了要避免説明過於複雜,我們假設可捏疊合併 的待摺疊指令中,前面指令(可能是待摺疊指令 或可合併之暫時指令)之存放裝置種類及存放資 料長度,與後面的待摺疊指令之來源裝置種類及 來源資料長度相同。 步騾1 ·兩待摺疊指令Ν,N + 1的摺疊合併過程: 首先第一雙指令合併單位6S會接收由埠9〇 傳來的待摺疊指令N (p〇Cn/Sn/Wn/Dn/〜’)及 由埠92傳來的待摺疊指令 N + 1(P〇Cn + 1/Sn + 1/Wn + 1/Dn + i/Wn + i,),並依據表 所示之p〇c为類合併規則表檢查兩待摺疊指令 N,N+1 的 P0C 類別(p〇CN,p〇Cn + i),以判斷二 待摺疊指令(N,N + 1 )之可摺疊性。 21
五、發明説明(W A7 B7 5 15 經消部中决樣卑局妇-T-消费合作社印f 20 裝種颏S N及存放裝置種類^傳給多工器$ 7, 並且罘-雙指令合併單位66及第二雙指令合併 單位68不會產生2摺疊或3摺疊訊號。 、如果兩待摺叠指+ (N,N + 1)經擅疊處理後 為可摺疊合併,第一雙指令合併單位Μ會於埠 112產生2摺疊訊號,並將所產生可摺疊合併的 暫時指令(或稱新指令)資料⑽心㈣ ^Sc〇Ml/Wc〇Ml/Dc〇Mi/Wc:M〇1 ’ 傳給第二雙指令合併 單仫68,此外,第一雙指令合併單位也會於 埠113依據表一之分類合併規則表來產生一個是 否需要繼續檢查後面的待摺疊指令(N+2,N+3) 之可摺疊性的繼續信號。 步驟 2 ·暫時指♦ POCc_/s_"wcomi/Dcomi/Wcmo1,與 待摺疊指令N + 2的摺疊合併過程: 當第二雙指令合併單位6 8於埠丄i 3接收到繼 續信號時,第二雙指令合併單位6 8會將第一雙 才曰令合併單位6 6傳來的暫時指令資料(可累積 或可摺疊合併暫時指令資料) 來的待摺疊指令 p〇Cn + 2/Sn + 2/Wn + 2/Dn + 2/Wn + 2, 進行摺疊合併。 ' 如果該暫時指令與待摺疊指令N + 2不可以摺 " 衣1T------~ (請先閱讀背面之注意事項再填寫本頁) 23 木紙张尺度询州中1¾¾家樣今(CNS ) Λ4規格(210X 297公势) 477936 Μ^部屮泱¾缘為Θ.-Τ-消f合作社印擘 A7 _______B7五、發明説明(々) — ~ -*疊合併,但前一雙指今人低结、丄又扣7 口併早位芡摺疊結果為可 摺疊(foldable),則筐 雜4匕人人則弟一雙指令合併單位6 6 會於埠 117 將漸扣暫 時指令P〇Cc〇mi/Sc〇Mi/Wc〇m1/d。 / Γα7 ,、丄 c〇Mi/uCOM1/Wc〇Mi ▼又來源裝置5 種類(Sc纽)以及存放裝置種類(Dc〇Ml)傳給多工器67 〇 如果該前面的暫時指令與待摺疊指令n + 2經 摺疊處理後為可以摺疊或料累積方式存在,則第 二雙指令合併單位68會將經摺疊處理後所產生 10 的 另一暫 時指令 P〇cCOM2/sCOM2/wCOM2/Dc〇M2/Wc〇M2,傳給第三雙 指令合併單位69,且於埠115產生一個是否^ 要繼續檢查後面的待摺疊指令(N + 3)之可摺疊 性的繼績信號,若前述的三個待摺疊指令(N, 15 N + 1,N + 2)係為可摺疊,則於埠114產生一 3 摺疊(3-foldable)訊號;若前述的三個待摺疊 指令(N,N+l,N + 2 )係以資料累積方式(p,p, P )存在,則3招®訊號不會產生,但仍需要繼 續檢查後面的待摺疊指令(N + 3 )之可摺叠性。 20步驟3 ·暫時指令待摺疊指令N + 3的摺疊合併過程:同樣的,當第三指令合併單位6 9接收到由琿 本紙乐尺度i*M]中WKU:標今((、NS ) Λ4规格(210X297公筇) (誚先閱讀背面之注意事項再填寫本頁) k
、1T ρ. 477936 經消部中决標卑局负τ_消费合作私印?水 A 7 B7 五、發明説明(7/) 11 5傳來的繼續信號,其會將經捏疊處理後之暫 時指令 P〇CCOM2/Sc〇M2/Wc〇M2/Dc〇M2/Wc〇M2,與由 埠1 0 0傳來的待摺疊指令(N + 3 )相比較,以判 斷兩指令之可摺叠性。 5 如果暫 時指令 令(N + 3 )不可以摺疊合併,但前一指雙指令合 併單位之摺疊結果為可摺疊(f 〇丄d a b丄e ),則 第二雙指令合併單位68會於埠119將暫時指令 10 P〇Cc〇m2/Scom2/Wcom2/Dcom2/Wcom2,之來源裝置 種類SC〇m2以及存放裝置種類^⑶心傳給多工器 67 〇 如果暫 時指令 P〇Cc〇M2/Sc〇M2/Wc〇M2/Dc〇M2/Wc〇M2’與待擅疊指 15 令(N + 3 )可以摺疊,則第三雙指令合併單位6 9 會產生最後一個經摺疊處理後之暫時指令(或稱 新才曰令)P〇CCqM3/SCqM3/Wc〇M3/DCC)M3/wCC)M3’,並 於埠116產生一個4摺疊(4-foldable)訊號, 以 及於埠 123 將暫 時指令 2〇 P〇Cc〇M3/Sc〇M3/Wc〇M3/Dc〇]yi3/Wc〇巧3’ 之來源裝置 種類(SC0M3 )以及存放裝置種類(DC0M3 )傳給多 工器67 〇 25 本紙張尺度谪州中阎阀家梯冷(rNS ) 規格(210X 297公犛) (許先閱讀背面之注意事項再填寫本頁) i# ,ιτ 477936 A7 B7 五、發明説明( 15 經消部中决標準局及Η济费合竹社印於 20 p〇c N + 1 *〇τ時,暫時指令之p〇c類別為p〇c^。當 P〇CN = 0或C時,暫時指令之p〇c類別為p〇Q。如果 兩個待摺疊指令可以摺疊,P0C運算器U0將會由埠 112產生一 2摺疊訊號。此外,p〇c運算器也會 於琿11 3產生個疋否需要繼續檢查後續指令之可摺 疊性的繼續信號,以及於埠121輸出一 P0C合併後組 成信號U〇 — F〇LD, pp,.p〇,0C, PC)至資料位置選 擇器l22。若前面的待摺疊指令或暫時指令之p〇c類 別為P,且後面的待摺疊指令之p〇c類別為c時,則 P0C運异器12〇會另外輸出一 Pc組合訊號。 資料位置選擇器122會由埠90及92接收前後兩 待“ S扣令之來源裝置種類、來源資料長度、存放裝置 種類及存放資料長度與P0C運算器12〇傳來的p〇c合 併後組成信號,並將前後兩待摺疊指令(或由雙指令合 併單兀產生(暫時指令及下一個待摺疊指令組成)N與 N+1依下列的資料位置儲存規則運算並產生組合後的 來源裝置種類、來源資料長度、存放裝置種類及存放資 料長度: / NO —FOLD:(兩待摺疊指令之間無法摺叠合併) SC0MB 工 NED [ 1 ]〜SC〇mbined [Wn]==Sn[i]〜Sn[Wn] Dc〇mbined[1] ~Dcomb 工 NED[wN, ]:=STK[T〇S]〜STK[ T〇S + W〆]
W COMBINED 一 Wn , 河COMBINE:
(請先閱讀背面之注意事項再填寫本頁) 訂 477936 A7 ", B7 五、發明説明(1 ) PP :(表示兩待摺疊指令之POC類別皆為p )
ScOMBINED [WN+1]〜ScOMBINE D[WN+W N + i] [1]〜
Sn + i [Wn + i]
Dcombine D [ WN ’ +1 ] ~ Dc〇MBINED [w〆 +WN + 1 ] =STK [ T 5 〇S+ WN,]〜STK[T〇S + WN'+WN + i] w c 〇MB 工 N E D = + + 1 ; W COMB 工 NE D ' = Wn + WN + 工 P〇:(表示兩待摺疊指令之POC類別分別為p及〇)
ScOMBINED [ 1 ]〜Sc〇MBINE D [wN] = SN [1]〜SN [WN] Dcombined [1]〜DC〇MB工NED[WN + i’ ] = DN + 1 [1]〜dn + 1 [ 10 W n + l ’ ]
WcOMBINED - , W c 0MB 工 N E D ’ = W n + 1 A 〇C :(表示兩待摺疊指令之POC類別分別為〇及c )
Sc〇MBINED [ 1 ]〜Sc〇MB 工 NED [WN] = Sn [ 1 ]〜SN [WN] Dcombined [1]〜Dc〇mbined ] = Dn + i [1]〜DN + 1 [WN 15 ]
Wc〇MBINED 一 Wn , W c 〇MB 工 N E D ' = W n + 1 ' PC :(表示兩待摺疊指令之p〇c類別分別為p及c ) SC〇MBINED[1]〜SC〇MB 工 NED[WN]=SN[1] 〜SN[Wn] Dcombined [1]〜Dc〇mb工NED [WN + 1’ ] = Dn + i [1]〜Dn + i [ 20 W N + 丄’] wc〇mbined = Wn ; WC〇MB工NED ’ =WN + 1 ' 其中 S COMB I NED表示摺疊合併後之'來源裝置種類 D COMBI NED表示指疊合併後之存放裝置種類 25 Wcombimed 表示摺疊合併後之來源資料長度 ______________ 28 本紙汴及度蝻州中网( CNS ) ( 210X 297公廣) ~一"" ' (讀先閱讀背面之注意事項再填寫本頁) 、1Τ 五 、發明説明(4 ) A7 B7 10 15 W COMB INE D ’表示摺疊合併後之存放資料長度 WN表示待摺疊指令N的來源資料長度 W〆表示待摺疊指令N的存放資料長度 W n +1表示待擅登指令n + 1的來源資料長产 WN + 1’表示待摺疊指令N + 1的存放資料長度 STK表示運算堆疊器12 TOS表示運算堆疊器12之上端。 例如· sc_INED [ ]_] ~Sc_ined [Wn] =Sn [丄卜% [〜]意義 為: 〜 摺疊合併後之來源裝置種類(Sc〇mbined)在丄至w 的貝料位置為待摺疊指令N之來源裝置種類(sN; 在1至W N的資料位置。 N ; 再進-步説明POC運算器12〇的構造,請參閲圖十 及表-。圖十-為POC運算器12〇之邏 咖運算器12。包含有一選擇電路131,一多工:圖 以及一判斷電路133,而每一 P0C類別係根據 Γ1:別Γ:表由四個位元組合而成(當然此編碼亦可 置換,二代编:如將。類別位元1與位元2編碼 /將仅70、届碼以〇與1相互替換等方式替代)。 29 !_ I —如丨丨 - (請先閱讀背面之注意事項再填寫本頁)
、1T i、紙张尺度询州中關1家㈣(下^7 八4規格(21〇 χ 297公笳) 477936 A7 五、發明説明() 表二、p 〇 C類別編碼表 類別 (Tpye) 代號 (Symbol) Ρ 0 c_ 位元(Bit) 3 位元2 位元1 位元 生產者 P 1 0 0 0 運算者 Of 0 1 0 0_- 0. 0 0 1 0_- Or 0 1 1 0 Οτ 0 0 0 0_- 消費者 c 0 0 0 1 - (请先閱讀背面之泣意事項存填寫本貢) 選擇電路1 3 1係用來依據前後兩指令之P 〇 c類別的 位元組合以及表一所示之POC分類合併規則來由P〇CN 以及P〇CN + 1選出那一個p〇c類別。當p〇cN = p,且P〇C 5 N + 1 *〇τ時,摺疊後之P〇c類別為P〇CN + 1,當P〇CN = 〇 或C時,摺疊後之P〇c類別為p〇Cn 〇多工器13◦會將 璋132及134所輸入的p〇cN以及p〇cN + 1兩個p〇c類 別依據選擇氣路1 3 1的輸出來選出其中的一個p q ◦類 別並將其由珲1 3 6輸出。判斷電路1 3 3則是依據各個 10 POC類別的位元組合,表一所示之p〇c分類合併規則, 以及前一個雙指令合併單位於埠1 3 8所產生之是否需 要繼續檢查後續指令之可摺疊性的繼續信號(其可預定 為1或on之狀態),來於埠丄i 2產生一摺疊數量信號 (例如,2摺疊信號)以及於埠丄χ 3產生一繼續信號 ___ — ______ 30 Α7 ' s—^_Β2__ 五、發明説明(Υ ) 埠II2產生之摺疊數量訊號101及埠113產生之 繼續信號係依據下列的運算來產生: 稽疊數 量訊號 =( POCN [ 3 ] · (POCN + 1 [1] + P〇cN + i [2] ) +POCN + 1 [0] · 5 (POCN [3]+POCn[2] ) ) · continuein 繼 續 信 號 =(POCn[3] · (P〇CN + 1 [3] +POCn + 1I2] +POCN + 1 [1]) + POCN + i [ 0 ] · POCN [ 2 ] ) · con t inuein 其中,P〇CN表示前面的待摺疊指令,P〇CN + 1表示後面 10 的待摺疊指令,[〜]表示P 〇 C類別的位元組合的位置, 例如[3 ]表示b i t 3。 舉例來説,當前後兩待摺疊指令之POC類別分別為 P 及〇E ,其編碼則分別為〔1,〇,〇,〇 〕及 〔〇'1 , ◦,〇〕,假設前面的繼續信號(c〇n t i n u e in ) 15 俊為i,則摺疊訊號之邏輯運算與繼續信號之邏輯運算 的過程分別為: 摺 疊 訊 號 =(P〇Cn[3] · 經濟部中央榡準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁} (P〇CN + i [1] +P〇CN + i [2] ) +POCN + i [〇] · (POCn[3]+POCn[2] ) ) · continuein 20 =(1. ( 0 + 1 ) +0 · (1 + 0))-1 =1 繼 續 信 號 =(P〇Cn[3] · (P〇CN + i [3] + P〇CN + 1 [2] + POCN + ! [1] ) + 31 _______- : -----------------—---------- ---- 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇X 297公釐) 4(77936 A7 B7
i、發明説明(歹I 15 經濟部中央標準局員工消費合作社印製 10 P〇CN + 1[〇j . P〇cn[2]) · continuein=(1 · ( 0 + 1 + 0 ) +0 · ◦ ) . i =1 %參考圖十二之首要指令碼選擇器61之邏輯電路 圖’首要指令碼選擇器6丄係依據前述的雙指令合併單 位66 ’ 68 ’ 69所輸出的摺疊數量訊號101,PC組合 訊號,以及屬性記憶體in所輸出的識別訊號來選出 2要扣7碼(而要運算)或無指令碼訊號(不需要運 异)。舉例來說,若有四個可摺疊之待摺疊指令(N, N+1 ’ N + 2 ’ N + 3 ),其p〇c類別為p,p,〇,c,則其 識別訊號分別為。,°,丄,。,因為只有〇的識別訊號 被疋義為1。此時,指令碼N + 2會依據一 4摺疊訊號及 識別訊號(0, 0, !_,〇)被輸出至摺疊後指令暫存器工〇2 成為首要指令碼110。 若可摺疊合併的待摺疊指令之P0C類別係一 1组 合時,則首要指令碼選擇器61會收到一 PC組合訊號, 並選擇無首要指令碼訊號(表^需要做任何的邏輯運 算),因為此時⑽待摺疊指令之存放裝置種類即為c 類待擅疊指令之存放裝置種類。因此只要取P類待摺品 指令之來源裝置種類與C類待摺疊指令之存放裝置ς 類’而不需交由運算堆疊器執行。 至於本發.明其他元件的實施方式為何,就待摺叠指 令暫存器48與摺疊後指令暫存器1〇2的實施方式而 (請先閱讀背面之注意事項再填寫本頁) 訂 ,· i. 32 477936 A7 B7 五、發明説明( 15 I: II 二 > 經滅部中次標準局另J.消费合竹社印$ 20 言’可用一般的暫存器(register)完成;而來源位 址產生單兀56與存放位址產生單元57的實施方式, 可將所對尤的來源裝置種類或存放裝置種類解碼後選 到其基礎位址(LV,TQS或CR),再將其運算子指標 用加法裔(adder )結合即產生所需的位址,·屬性記憶 體111的實施方式,則可以一般記憶體,如唯讀記憶 體(R〇M)等來達成,·資料位置選擇器I22的實施方式, 則可使用—缓衝暫存器(buffer register )栓 (^tch)到另一緩衝暫存器等方來達成;合併長度檢 查斋64的實施方式則可用計數器(⑶㈣“㈠與位移器 (shifter)來達成。 " 由以上説明可知,相較於習知堆疊機器10之運瞀 結構,本發明可擅疊指令之堆疊機器4〇可有效的將: 數個具資料相依性或相關的待摺疊指令予以摺疊合 併’因此,使得堆疊機器之運算效率大大的提升。 至於,本發明一種用於堆疊機器之指令摺疊方法, 兹個待執行指令的摺疊合併的過程為例來説明指 令招®万法’並請參考前述的圖式,可知其摺疊合併的 步驟包括: 使用指令快取記憶體41來擷取並儲存複數 行指令; ;々環形緩衝器4 2來由指令快取記憶體4丄擷 (請先間讀背而之注意事項再填寫本頁) •«丨 訂 .線 . 木紙从Α剌 ( (、NS ) Λ视格(210Χ 297公# ) 經滅部中决標涞局浪二消Φ;合竹社印製 A7 ___________B7 _ 五、發明説明(外) 〜' — " ' " 指令碼選擇器6 ; 使用多工器67來將不可摺疊之指令或摺疊後之暫 時指令的來源裝置種類i 4,存放裝置種類1 〇 6及運 算子所對應的運算子指標存入摺疊後指令暫存器 5 102 ; 使用合併長度檢查器來接收待摺疊指令暫存器 4 8内之待摺疊指令n,N + 1,n + 2,N + 3所對應的指令 碼與運算子位置和長度資料,並配合雙指令合併單位 6 β,6 8,6 9輸出之摺疊數量訊號1 〇 i來檢查經運算後 10的待招疊指令之合併數量,以使程式控制器6 0得以控 制指令快取記憶體4 !_與指令環形緩衝器4 2内所儲存 待執行指令之讀取與位移; 使用首要指令碼選擇器61來依據雙指令合併單位 66’ 68’ 69傳來的摺疊數量訊號i〇1,Pc組合訊號, I5以及屬性記憶體i i i傳來的識別訊號選出首要指令碼 110’並將首要指令碼11〇存入摺疊後指令暫存器 102 ; 使用來源位址產生單元5 6來接收摺疊後指令暫存 器1 0 2所儲存的來源裝置種類1 〇 4及來源裝置種類 2〇 1 0 4所對應的基礎位址(b a s e a d d r e s s ),若待摺疊 指令具有指令碼相對應的運算子1 〇 2 2,則進一步組合 來源裝置種類1 〇 4所對應的運算子1 〇 2 2之運算子指標
,_____ — -----------J 本紙张尺度诚W屮阀標( (、NS ) Λ4故格(2ΐ〇χ 297公势) (請先閱讀背面之注意事項再填寫本頁} -訂 經Μ部中泱標卑扃負工消费合作私印4'1水 477936 A 7 ‘·;, ___________B7 五、發明説明(< ) ' ~~^ -〜〜· (mdex),以產生一來源位址1〇5,並將來源位址 存入執行指令儲存器5 8 ; 使用存放位址產生單元5 7來接收摺疊後指令暫存 器1〇2所儲存之存放裝置種類1〇6,以及存放裝置種 5類1 〇 6所對應的基礎位址,若待摺疊指令包括指令碼 所對應的運算子1〇22,則進一步組合存放裝置種類 1〇6所對應的運算子1〇22之運算子指標,以產生一存 放位址1〇7,並將存放位址1〇7存入執行指令儲存器 58 ; 10 使用解碼器52將首要指令碼110依其格式解碼後 輸出一控制信號1〇9,並將控制信號1〇9存入執行指 令儲存器5 8 ; 使用指令執行單元5 4來接收執行指令儲存器5 8中 之控制信號1 0 9,來源位址1 Q 5以及存放位址丄〇 7, I5並根據來源位址i 〇 5及存放位址1 〇 7來經由局部變數 存备(local variable register) 18、運算堆疊 器12(〇perand stack)或常數暫存器(c〇nstant registedl6存取資料以執行首要指令碼11〇之功 能。 20 最後,説明有關本發明的優點,眾所周知昇陽微電 子公司所提出的爪哇虛擬機器(java virtual
Machine,JVM)在網路電腦中已被廣泛的使用,而且 ______________36 本紙张尺度垧)彳]屮阀囚家榡4 ( (、NS ) ΛΜΙί格(210X 297公犮) (請先閱讀背面之注意事項再填寫本頁) 訂 477936 A7 B7 五 發明説明(·#) 在所有相關的爪哇設計中【例如,爪哇編譯器(Java compiler),爪哇即時翻譯 s(Java JIT (Just_ In-Time) compiler)】爪哇位元組碼(bytec〇de) 扮演了重要角& ’其中大、約2 3 0個位元組碼可被分類 為17種指令類型。這些指令類型(Instructi〇n Types),我們的預估(Estimated)對應的執行週期 (Execution Cycles)數景,从入▲ , v 双里(付合典型的微處理機 的規格)’以及這也指人趣4丨1 2k ^ 一扣τ類型的發生百分比 (Percentage of Occurr^n \ enCes ),其動態的分布 就如表三、指令類型,預估執行週 V别,和發生百分比的 對應表所示。 表三、指令類型,預估執行週期, · —----發生百分比的對應表 指令類型 預估執行週期 ★ 發生百分比 (請先閲讀背面之注意事項再填寫本頁} 、^τ 經潢部中决標準局消費合作私印W木 載入局部變數到堆疊 (Load Local Var. t ο Stack ) 推出常數到堆疊(PUsh Constant to Stack ) 儲存堆疊資料到局部變 ^ ( Store Stack Datd 1 3 8.02
37 丨、紙款度_中_家财( 477936
B 五、發明説明($ ) 經滴部中决標準局兵工消贽告竹私印t 指令類型 預估執行週期 ★ 發生百分比 t〇 Local Variable ) 寬的運算(Wide Ope rations ) 1 0.05 堆疊管理(Stack Management ) 1 1.87 算術運算(Arithmetic Operations ) 1 6.78 邏輯運算(Logical Operations ) 1 1.74 ^ % ( Conversion Operations ) 1 0.97 管理陣歹丨J ( Managing Arrays ) 5 5.45 功能返回(Function Return ) 5 3.83 表格5兆越(Table Jumping) 10 1.32 操縱物件欄位 (Manipulating Object Field ) V 5 0.10 (讀先閲讀背面之注意事項再填寫本頁) 38 木纸張尺度询州中阀旧家榀彳((、NS ) Λ4規格(210X297公釐) 477936 A7 B7 五、發明説明(士?) 指令類型 方法實施(Method Invocation) ¥ 移控(Transfer Control 雜項和監視 Miscellaneous and Monitors ) 快速運算(Quick Operations ) 預估 執行週期 ★ 2〇 1 5 3 發生百分比 0.10 9.11 0.05 17-00 (請先閱讀背面之注意事項再填寫本頁) 4列夕卜處ί里(Exception
Handling ) “η” 〇·〇〇 i定平均為32位元資 **隐=不可用的(Not Available) 仗表二中,—眼就能看見载入局部變數到堆疊 (38.〇2%)和推出常數到堆疊(7.07%)的指令發生百分 比合計可達所有的指令4 5 · 〇 9 w p起4匕人、 ^ ^ ^ y。( P類指令),而儲存 :到局部變數6.96%(c類指令),因此與堆疊 私的指令類型佔了 52· 05%,而其他指令的指令類型 佔了六4 7.9 5 %(G類指令),所以只要避免運算堆疊器 重複存取運算子,就可以節省運算時間。而本發明所提 -5 ,經淖部中决標準局兵工消费合竹社印$
A7 B7 477936 五、發明説明(飞 供用於堆疊機器之指令摺疊裝置及 合併複數個待摺叠指令,避免運算堆疊」:預先檢查與 :序自然可克服習知待執行指令二 的浪; 登器中間的存取資料,所造成運算時間 個待本人發明^點在於將具有資料相依性的複數 令丁以摺疊合併,克服習知 依序經過運算堆疊器中間的存取資;; 的浪費,而使得計算機的運算效率大大的提成升運,時間 以上所述僅為本發明之較佳實施例,凡依本發明申 4利範圍所做之均等變化與修飾,皆應屬本
之涵蓋範圍。 J (讀先閱讀背面之注意事項再填寫本頁j
M部中次精^^芡工消费告作社印40私 卜紙系又度通中囚⑸家標十丁^"| 八4规格(210 X 297公釐)
Claims (1)
- 飞/ /力〇ο ΊΧ 5 IX 經濟部中央襟準局員工消費合作社印製 20 -種用於堆疊機器之指令摺疊裝置,包括: -待擅疊指令暫存器,用來 叠指令之指令碼及運算子;預疋數目個待指 -=疊器,用來接收該待擅叠指令之指令碼, 前面指令之指令碼所對應的存放裝置 =面的待擅疊指令之指令碼所對應的来 源,置種類是否有相同的形式,及比較前面指令 <指令碼所對應的存放資料長度與後面的待招 ®指令《指令碼所對應的來源資料長度是否相 同’並利用-PQC分類合併規則與—資料位置健 存規則’判斷該前面指令與後面的.待摺疊指令可 否摺疊合併,若不可摺叠合併,則輸出前面指令 所對應的指令碼、來源裝置種類及存放裝置種 類,若:摺疊合併,則依據一咖分類合併規則 檢查-前面指令之指令碼之p〇C類別與後面的該 待摺疊指令之指令碼之p〇C類別,以產生一摺疊 數量訊號,並依據一資料位置儲存規則產生輸出 一可摺疊合併的暫時指令所對應的來源裝置種 類及存放裝置種類,並藉由該待摺疊指令之p〇c 類別與該摺疊數量訊號選出一首要指令碼,· 一合併長度檢查器,用來接收該待摺疊指令暫存器 内之該待摺疊指令所對應的指令碼及運算子 41 本紙張尺度適用中國國家標準(CNS ) A4規格(77〇><297公釐) ' ―-------- (請先閲讀背面之注意事項再填寫本頁) ,ιτ 經濟部中央標準局員工消費合作社印製 477936 A8 ^_ D8 六、申請專利範圍^^' 位置和長度資料,並配合該指令摺疊器所輸出之 該摺疊數量訊號檢查經運算後的該待摺疊指令 之合併數量; 一摺疊後指令暫存器,用來接收經由該指令摺疊器 5 輸出的該處理後指令的來源裝置種類、存放裝& 種類,該指令碼所對應的運算子,以及被選出^ 该首要指令碼; 一來源位址產生單元,用來接收該摺疊後指令暫存 器所儲存的該來源裝置種類及該來源裝置種類 10 所對應的基礎位址(base address ),若該待 知@指令具有該指令碼相對應的運算子,則進一 步組合該來源裝置種類所對應的運算子之運算 子指標(index),以產生該來源位址; 一存放位址產生單元,用來接收該摺疊後指令暫存 15 态所儲存之存放裝置種類,以及該存放裝置種類 /斤對應的基礎位址,若待摺疊指令包括指令碼所 對應的運算子,則進一步組合該存放裝置種類所 對應的運算子之運算子指標,以產生該存放位 址。 20 2 ·如申請專利範圍第1項所述之指令摺叠裝置,其中 该指令摺登器進一步包括: 一屬性記憶體,用來接收該待摺疊指令暫存器之該 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閎讀背面之注意事項再填寫本頁〕 -訂 ^//936 ίο 15 經濟部中央標準局負工消費合作社印製 20 申請專利範圍 A8 B8 C8 D8 待招登指令之該指令碼,並由各個該指令碼轉換 為其所對應的POC類別、來源裝置種類、來源資 料長度、存放裝置種類、存放資料長度以及識別 訊號; 至少一雙指令合併單位,用來接收該屬性記憶體輸 出之該前面指令與後面的該待摺疊指令之P0C類 別、來源裝置種類、來源資料長度、存放裝置種 類以及存放資料長度,並檢查前面指令與後面的 該待摺疊指令是否可依該P 〇 c分類合併規則與該 資料位置儲存規則合併,若不可合併則保持前面 指令之來源裝置種類、來源資料長度、存放裝置 種類以及存放資料長度,否則將前面指令與後面 的該待摺疊指令之POC類別、來源裝置種類、來 源資料長度、存放裝置種類以及存放資料長度予 以合併,以形成一暫時指令,而該暫時指令資料 包括合併後之POC類別、來源裝置種類、來源資 料長度、存放裝置種類以及存放資料長度,且該 雙指令合併單位會產生用來表示摺疊數量的該 摺疊數量信號以及依據該POC分類合併規則產生 用來表示是否繼續檢查該後面的待摺疊指令之 可摺疊性的一繼續信號; 一首要指令碼選擇益’用來接收該屬性記憶體所·輸 43 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) — — — — —----0 — (請先閲讀背面之注意事項再填寫本頁) 、1T 477936 經濟部中夬標準局貞工消費合作社印製 5 15 20 申請專利範圍 出之該識別訊號及該雙指令合併單位所輸出之摺 叠數量訊號,並根據該識別訊號來選出首要指令 碼;以及 7 一多工器,用來依據該雙指令合併單位所輸出的該 摺疊數量訊號來選擇處理後指令的該來源裝置種 類及該存放裝置種類。 3.如申請專利範圍第2項所述之指令摺疊裝置,其中 該雙指令合併單位係以層疊(casca(je)的方式串接前 一該雙指令合併單位,其令每一該雙指令合併單位 可檢查前面指令與後面的待摺疊指令是否可依據該 p〇c分類合併規則與該資料位置儲存規則摺疊合 併。 。 4·如申請專利範圍第2或3項所述之指令摺疊裝置, 其中該雙指令合併單位進一步包括: 一 POC運算器,用來依據該ρο^分類合併規則, 檢查該前面指令與後面的該待摺疊指令之P〇C 類別,並產生該摺疊數量信號、該繼續信號以及 一摺疊分類信號;以及 負料位置選擇器,用來依據該資料位置儲存規則 與該POC合併後組成信號,來決定該前面指令與 後面的該待摺疊指令是否可摺疊合併,若可摺疊 合併,則輸出合併後之該暫時指令的來源裝置種 44 Μ氏張尺度剌tg|國家鮮(210x297公釐 477936類、來源資料長度、存放裝置種類及存放資料長 度务不可合併,則保持前面指令之來源裝置種 類、來源資料長度、存放裝置種類以及存放資料 長度。 5 .如申請專利範圍第4項之指令摺疊裝置,其中該p〇c 運算器進一步包括: 一選擇電路,用來依據該p〇c分類合併規則由該前 面‘令之POC類與後面的該待摺疊指令之p〇c 類別中選出該暫時指令之P Q C類別; 一另一多工器,用來依據該選擇電路的輸出,來產 生該該暫時指令之P 0 C類別;以及 一判斷電路,用來依據該前面指令之p〇c類與後面 的該待摺疊指令之P0C類別及該雙指令合併單位 傳來之該繼續信號來產生該摺疊數量信號及另 一繼續信號。 6 · —種可摺疊指令堆疊機器,包括: 一扎令快取記憶體,用來擴取並儲存複數個待執行 指令; T 一指令環形緩衝器,用來再擷取並儲存該待執行指 令中一預定數目個待摺疊指令; 一指令碼檢查器,用來找出在該該待摺疊指令所對 應指令碼及運算子之位置及長度資料; 本紙張尺度適用中國國家梯準(CNS ) Α4規格(21 〇 X 297公董) (請先閱讀背面之注意事項再填寫本頁) # 訂 ^^_I 經濟部中央標準局員工消費合作社印裴 477936 六、申請專利範圍 15 -程式控制器,根據該指令碼之長度資料來控制該 指令快取記憶體所存該待執行指令與該指令環形 ^衝器内所存該待料指令之讀出與位移; 才曰7钻豐裝置,用來接收該待摺疊指令之該指令 碼及該運算子,並比較該前面指令之存放裝置種 痛入後面的待摺疊指令之來源裝置種類是否有相 同的形式,及比較前面指令之存放資料長度與後 面的待摺疊指令之來源資料長度是否相同,且依 據p〇c分類合併規則與—資料位置儲存規則, $查一則面指令之指令碼與後面的該待摺疊指 ' 以判断該前面指令與後面的待摺疊指令可否 摺疊合併,以產生一處理後指令之一來源位址、 一存放位址及一首要指令碼; 解馬…,用來將該首要指令碼依其所對應的指令 碼格式解碼後輸出一控制信號; 執行指令儲存器,用來儲存該處理後指令之該來 源位址、該存放位址以及該控制信號;以及 指令執行單元,用來接收該控制信號、該來源位 址以及該存放位址,並根據該控制信號、該來源 仏址及該存放位址,經由指定的一局部變數暫广、 器、一運算堆疊器或一常數暫存器來存取資料p 以執行經摺疊合併後或不可摺疊合併的該待執^ (請先閲讀背面之注意事項再填寫本頁) 1- - I— - 1 - · -、1Τ 46 210X297 公釐) 六、申請專利範圍 指令。 包括以下步 •一種用於堆疊機器之指令摺疊方法 你. 5 10 15 20 a·使用一待摺*指令暫存器,來儲存一預 待摺疊指令之指令碼及運算子; 目個 b·使用一指令摺叠器,來接收該待摺疊指令之产人 碼,並比較-前面指♦之指令碼所對應的存心: = 的待摺#指令之指令碼所對應的來: 裝置種類疋否有相同的形式,及比較前面指令之指 令碼所對應的存放資料長度與後面的待摺叠“ 之指令碼所對應的來源資料長度是否相同,並利= :、p〇j分類合併規則與一資料位置儲存規則,判 斷孩則面指令與後面的待摺疊指令可否摺疊合 併’右不可摺疊合併,則輸出一前面指令所對應的 才曰7碼、來源裝置種類及存放裝置種類,若可摺疊 合併,則依據一 POC分類合併規則檢查一前面指 令之指令碼之POC類別與後面的該待摺疊指令之 才曰令碼之P0C類別,以產生一摺疊數量訊號,並 依據:貝料位置儲存規則產生輸出一可摺疊合併 的暫時指令所對應的來源裝置種類及存放裝置種 類,並藉由該待摺疊指令之p〇c:類別與該摺疊數 量訊號選出一首要指令碼; 47 本紙張尺度適财關^iTTcNS ) A4^m ( 210X297^7 477936 A8 B8 C8 D8 六、申請專利範圍 15 經濟部中央標準局員工消費合作社印製 20 c ·使用一合併長度檢查器,來接收該待摺疊指令暫 存器内之該待摺疊指令所對應的指令碼及運算子 的位置和長度資料,並配合該指令摺疊器所輸出之 該招疊數量訊號檢查經運算後的該待摺疊指令之 合併數量; d ·使用一摺疊後指令暫存器,來接收經由該指令摺 豐益輸出的處理後指令的該來源裝置種類、該存放 裝置種類,該指令碼所對應的運算子,以及被選出 的該首要指令碼; e ·使用一來源位址產生單元,來接收該摺疊後指令 暫存器所儲存的該來源裝置種類及該來源裝置種 類所對應的基礎位址,若該待摺疊指令具有該指令 碼相對應的運算子,則進一步組合該來源裝置種類 所對應的運算子之運算子指標(index),以產生該 來源位址; f ·使用一來源位址產生單元,來接收該來源裝置種 類及該來源裝置種類所對應的基礎位址,若該待摺 疊指令具有該指令碼相對應的運算子,則進一步組 合該來源裝置種類所對應的運算子之運算子指 標,以產生該來源位址; g ·使用一存放位址產生單元,來接收該摺疊後指令 暫存器所儲存之存放裝置種類,以及該存放裝置種(請先閲讀背面之注意事項再填寫本頁) 訂 477936 六 15 !20 、申讀專利範圍 類所對應的基礎位址,若待摺疊指令包括指令碼所 對應的運算子,則進一步組合該存放裝置種類所對 應妁運算子之運算子指標,以產生該存放位址。 8 ·如申請專利範圍第7項所述之指令摺叠方法,其中 該步驟b進一步包括以下步驟: b · 1使用一屬性C憶體’來接收該待摺疊指令暫存器 之該待摺*指令之該指令碼,並由各個該指令碼 轉換為其所對應的P 〇 C類別 源資料長度、存放裝置種類 識別訊號; b.2使用至少一雙指令合併單位 體輸出之該别面指令與後面的該待摺疊指令之 p〇c類別、來源裝置種類、來源資料長度、存放 裝置種類以及存放資料長度,並檢查前面指令與 後面的孩待摺疊指令之P0C類別是否可依該p0c 分類合併規則與該資料位置儲存規則合併,若不 可合併則保持前面指令之來源裝置種類、來源資 料長度、存放裝置種類以及存放資料長度,否則 將前面指令與後面的該待摺疊指令之p〇c類 別、來源裝置種類、來源資料長度、存放裝置種 類以及存放資料長度予以合併,以形成一暫時指 令,而m暫時指令資料包括合併後之P0C類別、 來源裝置種類、來 存放資料長度以及 來接收該屬性記憶 ". · 、訂 ^wt f請先閱讀背面之注意事項再填'寫本頁j 本紙張尺度剌t 丨⑽丨 49 477936 A8 B8 C8 D8 申請專利範圍 ---- 15 經濟部中央標準局員工消費合作社印製 20 來源裝置種類、來源資料長度、存放裝置種類以 及存放資料長度,且該雙指令合併單位會產生用 來表示摺疊數量的該摺疊數量信號以及依據該 P〇c分類合併規則產生用來表示是否繼續檢查該 後面的待擅疊指令之可摺疊性的一繼續信號; b.3使用一首要指令碼選擇器,來接收該屬性記憶體 所輸出之該識別訊號及該雙指令合併單位所輸 出之摺疊數量訊號,並根據該識別訊號來選出首 要指令碼;以及 b.4使用一多工器,來依據該雙指令合併單位所輸出 的該摺疊數量訊號來選擇輸出的該來源裝置種 類以及該存放裝置種類〇 •如申請專利範圍第8項所述之指令摺疊方法,其中 該步騾b · 2進一步包括以下步驟: b·2*1使用一 POC運算器,依據該P0C分類合併規 則檢查該前面指令與後面的該待摺疊指令之P〇C 類別,並產生該摺疊數量信號、該繼續信號以及 一摺疊分類信號;以及 b.2.2使用一資料位置選擇器,來依據該資料位置 儲存規則與該P 0 C合併後組成信號,來決定該前 面指令與後面的該待指疊指令是否可摺疊合 併,若可摺疊合併,則輸出合併後之該暫時指令 ---------— 一 * (請先閱讀背面之注意事項再填寫本頁) 訂 -^1. 50 477936 A8 B8 C8 D8 六 15 、申請專利範圍 的來源裝置種類、來源資料長度、存放裝置種類 及存放資料長度,若不可合併,則保持前面指令 之來源裝置種類、來源資料長度、存放裝置種類 以及存放資料長度。 1〇.如申請專利範圍第9項所述之指令摺疊方法,其中 該b · 2 · 1進一步包括以下步驟: b.2.1.1使用一選擇電路,來依據該p〇c分類合併規 則由該前面指令之p〇c類與後面的該待摺疊指 令之P〇C類別中選出該暫時指令之p〇c類別; b.2· 1·2使用另一多工器,來依據該選擇電路的輸 出’來產生違邊暫時指令之Ρ 〇 C類別;以及 b·2·1·3使用一判斷電路,來依據該前面指令之p〇c 類與後面的該待摺疊指令之p〇c類別及該雙指 併單位傳來之該繼續信號來產生該摺疊數 T信號及另一繼續信號。 U. —種可摺疊指令堆疊機器之指令摺疊方法,包括以 下步驟: ---------·! (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局員工消費合作社印製 20 a . 使用一指令快取記憶體,來擷取並儲存一預定 數目個待執行指令; b ·使用一指令環形緩衝器,再擷取並儲存該待執 仃指令中一預定數目個待摺疊指令; c ·使用一指令碼檢查器來找出該待摺疊指令 51 經濟部中央襟準局舅工消費合作社印製 477936 A8 —--- - D8_____ 六、申請專一~ 一 ^ 對應的指令碼及運算子之位置及長度資料· d ·使用一程式控制器,根據該指令碼之長度資枓 來控制該指令快取記憶體所存該待執行指令與該 指令環形緩衝器内所存該待摺疊指令之讀出與位 5 移; 、丄 8·使用一指令摺疊裝置,來接收該待摺疊指令之 該指令碼及該運算子,並比較該前面指令之存放 裝置種類與後面的待摺疊指令之來源裝置種類是 否有相同的形式,及比較前面指令之存放資料長 10 度與後面的待摺疊指令之來源資料長度是否相 同,且依據一 POC分類合併規則與一資料位置儲 存規則,檢查一前面指令之指令碼與後面的該待 摺疊指令,以判斷該前面指令與後面的待摺疊指 令可否摺疊合併,以產生一處理後指令之一來源 15 位址、一存放位址及一首要指令碼; f · 使用一解碼器,來將該首要指令碼依其所對應 的指令碼格式解碼後輸出一控制信號; g· 使用一執行指令儲存器,來儲存該處理後指令 之該來源位址’該存放位址,以及該控制信號; 20 以及 h ·使用一指令執行單元,來接收該控制信號、該 來源位址以及該存放位址,並根據該控制信號、 本紙張尺度適用中國國家標率(CNS〉A4規格(210X297公慶〉 (請先閎讀背面之注意事項再填寫本頁,> -訂 477936 A8 B8 C8 '‘ D8 六、申請專利範圍 該來源位址及該存放位址,經由指定的一局部變 數暫存器、一運算堆疊器或一常數暫存器來存取 資料,以執行經摺疊合併後或不可摺疊合併的該 待執行指令。 5 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS )八4規格(210 X 297公釐)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW087121769A TW477936B (en) | 1998-12-29 | 1998-12-29 | Instruction folding method and device used in a stack machine |
US09/340,405 US6301651B1 (en) | 1998-12-29 | 1999-06-28 | Method and apparatus for folding a plurality of instructions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW087121769A TW477936B (en) | 1998-12-29 | 1998-12-29 | Instruction folding method and device used in a stack machine |
Publications (1)
Publication Number | Publication Date |
---|---|
TW477936B true TW477936B (en) | 2002-03-01 |
Family
ID=21632475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW087121769A TW477936B (en) | 1998-12-29 | 1998-12-29 | Instruction folding method and device used in a stack machine |
Country Status (2)
Country | Link |
---|---|
US (1) | US6301651B1 (zh) |
TW (1) | TW477936B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI506544B (zh) * | 2010-10-12 | 2015-11-01 | Advanced Risc Mach Ltd | 來自多指令集的指令解碼 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6832307B2 (en) * | 2001-07-19 | 2004-12-14 | Stmicroelectronics, Inc. | Instruction fetch buffer stack fold decoder for generating foldable instruction status information |
JP3564445B2 (ja) * | 2001-09-20 | 2004-09-08 | 松下電器産業株式会社 | プロセッサ、コンパイル装置及びコンパイル方法 |
US7502029B2 (en) * | 2006-01-17 | 2009-03-10 | Silicon Integrated Systems Corp. | Instruction folding mechanism, method for performing the same and pixel processing system employing the same |
US7836282B2 (en) * | 2007-12-20 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for performing out of order instruction folding and retirement |
US9690591B2 (en) * | 2008-10-30 | 2017-06-27 | Intel Corporation | System and method for fusing instructions queued during a time window defined by a delay counter |
US8086826B2 (en) * | 2009-03-24 | 2011-12-27 | International Business Machines Corporation | Dependency tracking for enabling successive processor instructions to issue |
GB2486905A (en) | 2010-12-30 | 2012-07-04 | Cambridge Silicon Radio Ltd | Amalgamating instructions by replacing unencoded space |
US9354874B2 (en) | 2011-10-03 | 2016-05-31 | International Business Machines Corporation | Scalable decode-time instruction sequence optimization of dependent instructions |
US9329869B2 (en) * | 2011-10-03 | 2016-05-03 | International Business Machines Corporation | Prefix computer instruction for compatibily extending instruction functionality |
US9286072B2 (en) * | 2011-10-03 | 2016-03-15 | International Business Machines Corporation | Using register last use infomation to perform decode-time computer instruction optimization |
GB2515020A (en) * | 2013-06-10 | 2014-12-17 | Advanced Risc Mach Ltd | Operand generation in at least one processing pipeline |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3801643B2 (ja) * | 1996-01-24 | 2006-07-26 | サン・マイクロシステムズ・インコーポレイテッド | スタックを用いる演算マシンのための命令フォールディング処理 |
US6148391A (en) * | 1998-03-26 | 2000-11-14 | Sun Microsystems, Inc. | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses |
US6237086B1 (en) * | 1998-04-22 | 2001-05-22 | Sun Microsystems, Inc. | 1 Method to prevent pipeline stalls in superscalar stack based computing systems |
-
1998
- 1998-12-29 TW TW087121769A patent/TW477936B/zh not_active IP Right Cessation
-
1999
- 1999-06-28 US US09/340,405 patent/US6301651B1/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI506544B (zh) * | 2010-10-12 | 2015-11-01 | Advanced Risc Mach Ltd | 來自多指令集的指令解碼 |
US9753730B2 (en) | 2010-10-12 | 2017-09-05 | Arm Limited | Decoding instructions from multiple instructions sets |
Also Published As
Publication number | Publication date |
---|---|
US6301651B1 (en) | 2001-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW477936B (en) | Instruction folding method and device used in a stack machine | |
CN109614076A (zh) | 浮点到定点转换 | |
Fry-McKibbin et al. | Contagion and global financial crises: Lessons from nine crisis episodes | |
CN110018850A (zh) | 用于可配置空间加速器中的多播的设备、方法和系统 | |
CN109344183A (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
WO2020238229A1 (zh) | 交易特征生成模型的训练、交易特征的生成方法和装置 | |
TW200935300A (en) | Microprocessors and methods for executing macroinstructions | |
CN110119362A (zh) | 存储器写日志存储处理器、方法、系统和指令 | |
CN109213524A (zh) | 用于难预测分支的预测器 | |
TW518511B (en) | Method of executing an interpreter program | |
CN108334347A (zh) | 一种业务控制流程的定制方法及装置 | |
TW200809629A (en) | System and method for placing a processor into a gradual slow mode of operation | |
CN109360092A (zh) | 交易节点配置方法、装置及计算机设备 | |
CN108139911A (zh) | 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格 | |
CN108292249A (zh) | 用于预留比特的施行的设备和方法 | |
CN110245283A (zh) | 一种智能购物导航方法及系统 | |
Wang et al. | Rate difference between b→ s μ+ μ− and b→ se+ e− in supersymmetry with large tan β | |
US11914557B2 (en) | Techniques for performing lifecycle operations on a data store | |
CN110321490A (zh) | 推荐方法、装置、设备及计算机可读存储介质 | |
US20210272077A1 (en) | Server | |
Bogdan | Macroeconomic impact on stock returns in the Croatian hospitality industry | |
Iron et al. | Hedging of swing game options in continuous time | |
CN108241506A (zh) | 对基于高性能串的循环加速器中的加载做控制推测的方法 | |
CN107229523A (zh) | 一种拷贝数据的方法及电子设备 | |
CN110097432A (zh) | 一种测试平台商城及测试系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MK4A | Expiration of patent term of an invention patent |