TW477936B - Instruction folding method and device used in a stack machine - Google Patents

Instruction folding method and device used in a stack machine Download PDF

Info

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
Application number
TW087121769A
Other languages
English (en)
Inventor
Lung-Chang Jang
Li-Ren Tang
Min-Fu Gau
Chung-Bin Jung
Original Assignee
Ind Tech Res Inst
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW087121769A priority Critical patent/TW477936B/zh
Priority to US09/340,405 priority patent/US6301651B1/en
Application granted granted Critical
Publication of TW477936B publication Critical patent/TW477936B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction 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)

  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公釐)
TW087121769A 1998-12-29 1998-12-29 Instruction folding method and device used in a stack machine TW477936B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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