TW320708B - - Google Patents
Download PDFInfo
- Publication number
- TW320708B TW320708B TW086103615A TW86103615A TW320708B TW 320708 B TW320708 B TW 320708B TW 086103615 A TW086103615 A TW 086103615A TW 86103615 A TW86103615 A TW 86103615A TW 320708 B TW320708 B TW 320708B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet data
- floating
- point
- instruction
- register
- Prior art date
Links
- 238000003860 storage Methods 0.000 claims description 102
- 230000004044 response Effects 0.000 claims description 17
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 235000000396 iron Nutrition 0.000 claims 1
- 238000007667 floating Methods 0.000 description 201
- 238000000034 method Methods 0.000 description 128
- 238000012546 transfer Methods 0.000 description 85
- 238000012545 processing Methods 0.000 description 66
- 230000008859 change Effects 0.000 description 61
- 230000015654 memory Effects 0.000 description 55
- 238000013507 mapping Methods 0.000 description 54
- 230000000875 corresponding effect Effects 0.000 description 46
- 238000005516 engineering process Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 35
- 230000002159 abnormal effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000012937 correction Methods 0.000 description 12
- 238000007689 inspection Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 238000007639 printing Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 8
- 230000002079 cooperative effect Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 235000013399 edible fruits Nutrition 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 229910052742 iron Inorganic materials 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101100456831 Caenorhabditis elegans sams-5 gene Proteins 0.000 description 2
- 238000011109 contamination Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000002592 echocardiography Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- IYLGZMTXKJYONK-ACLXAEORSA-N (12s,15r)-15-hydroxy-11,16-dioxo-15,20-dihydrosenecionan-12-yl acetate Chemical compound O1C(=O)[C@](CC)(O)C[C@@H](C)[C@](C)(OC(C)=O)C(=O)OCC2=CCN3[C@H]2[C@H]1CC3 IYLGZMTXKJYONK-ACLXAEORSA-N 0.000 description 1
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241000255925 Diptera Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 244000082204 Phyllostachys viridis Species 0.000 description 1
- 240000000513 Santalum album Species 0.000 description 1
- 235000008632 Santalum album Nutrition 0.000 description 1
- 241000375392 Tana Species 0.000 description 1
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 208000027697 autoimmune lymphoproliferative syndrome due to CTLA4 haploinsuffiency Diseases 0.000 description 1
- LMEKQMALGUDUQG-UHFFFAOYSA-N azathioprine Chemical compound CN1C=NC([N+]([O-])=O)=C1SC1=NC=NC2=C1NC=N2 LMEKQMALGUDUQG-UHFFFAOYSA-N 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000001217 buttock Anatomy 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000013070 direct material Substances 0.000 description 1
- 238000004043 dyeing Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- YTCQFLFGFXZUSN-BAQGIRSFSA-N microline Chemical compound OC12OC3(C)COC2(O)C(C(/Cl)=C/C)=CC(=O)C21C3C2 YTCQFLFGFXZUSN-BAQGIRSFSA-N 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004793 poor memory Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- IYLGZMTXKJYONK-UHFFFAOYSA-N ruwenine Natural products O1C(=O)C(CC)(O)CC(C)C(C)(OC(C)=O)C(=O)OCC2=CCN3C2C1CC3 IYLGZMTXKJYONK-UHFFFAOYSA-N 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 239000003566 sealing material Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000009958 sewing Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 235000012046 side dish Nutrition 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 229910052714 tellurium Inorganic materials 0.000 description 1
- PORWMNRCUJJQNO-UHFFFAOYSA-N tellurium atom Chemical compound [Te] PORWMNRCUJJQNO-UHFFFAOYSA-N 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 235000013311 vegetables 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
- 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
- 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/30098—Register arrangements
- G06F9/30105—Register structure
-
- 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/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- General Preparation And Processing Of Foods (AREA)
Description
3^〇7〇g
五、發明説明( 發明背景 發明領域 本發明係有關電腦系、統。尤其是與利用處理器去執行浮 點和套裝資料指令集的電腦系統有關 背景資料 在典型的電腦系統中,單一或多個處理器運算係由多 4元(如1 6,3 2,6 4等)所組成之資料値及與程式指令 相對應的結果’例如執行—加法指令係將第—資料値和第 二資料値相加,然後儲存成第三個資料値,然而多媒體應 用(此應用限定在電腦支援(csc :電傳會議整合與混合的 :體資料處理),2D/3D圖型,影像處理,視訊壓縮及解 壓縮’演繹認知和聲訊操作)需要一大堆,通常較小位元所 組成之資料作處理’例如’多媒體資料典型代表是“位 疋,但是只有少數位元含有重要的資訊。 爲了改進多媒趙應用效率(與其它有相同特性之應用),習 知的人工處理器提供封包資料格式。在封包資料中,即是 代表單—値的位元組分散成—些固定大小的資料元件,ς 個資料元件代表獨立的値,例如資料在64位元暫存器可被 分散成兩個32位元元件’每個32位位元件各代表一 立的3 2位元値。 \)/ Ns 6 /fv 準 標 家 國 國 中 用 適 度 尺 張 紙 本 經濟部中央標準局貝工消費合作社印製 惠普的基本32位元組合器將前述處理方式配置在多媒 資料型態中’也就是説,處理器利用32位元基本方式的 數暫存器並列處理64位元資料型態,這簡單處理方式最 要的缺點是嚴格限制可利用的暫存器空間,此外,運用
請 先 閲 背 之 注
I 旁 裝 訂 線 32G708 A7 B7 五、發明説明(2 經濟部中央標準局員工消費合作社印裝 媒體資料的執行能力’就某種意義而言’由於需要擴展現 有的結構,因此不被認爲是項優點。 Motorola® 881 10TM處理器採用相似的方式組合整數對 偶暫存器,兩組32位元暫存器涉及指定暫存器包含用於單 一運算或指令之特定暫存器的串列隨機組合。再次得知, 使用成對暫存器配置的64位元多媒體資料型式的主要提供 優點爲僅有一有限制數量的對偶暫存器可用,簡短的増加 暫存器空間的結構及成爲媒體資料型式的另一種技術。 處理器中一種有大量的軟體和硬體空間者即是英代爾處 理器家族之一,包括加州Saata(lora英代爾公司製造的 Pentium級處理器圖一表示標準電腦系統pentiuin 1〇〇, 其爲目前正在使用中的系統,Pentium處理器之更進—步 的説明請參閲Pentium處理器的操作手册—第3卷:結構 及程式手册,1 994年,英代爾公司出版。標準電腦系統 100包括一個處理器105 ’一個儲存裝置n〇,及一個匯 成排1 1 5,處理器1 〇 5經由匯流排1 1 5結合到儲存裝置。 此外,夕個使用者輸入/輸出裝置,例如鍵盤12〇及顯示 器1 2 5也與至匯流排i〖5結合,網路J 3 〇與匯流排1 i 5結 合’處理器105代表Pentium級處理器,儲存裝置11〇代 表一種或多種機型儲存資料’舉例來説,儲存裝置11〇可 能包含唯讀記憶體(ROM),隨機存取記憶體(RAM),磁帶 儲存裝置,光學式儲存裝置,快閃記憶裝置或者其它可讀 式機械裝置,匯流排115代表一種或多種匯流排(pCI , ISA,X-Bus,EISA,VESA匯流排等)及橋接器(也被 請 先 閲 讀 背 ιέ 之 注 意 事 項 再 I 本 頁 裝 訂 線 -5- 尽紙張尺度適用中囷國家標準(CNS ) Α4規格(210Χ297公釐) 3<;G7〇s 發明説明( 經濟部中央標準局貝工消費合作社印裝 稱作匯流排控制器)。 圖1説明儲存運算系統丨3 2的裝置1〗〇,以在處理器 —上加以執行’當然儲存裝置11〇最好含其他軟體(並未 顯不於圖中),圖1另外舉例説明處理器1〇5,其包含一個 浮點運算單元135及-個浮點運算狀態暫存器155(在此使 用記號,,FP ”此表”浮點,,)當然處理器1()5包含其它電 路,在本發明中無需加以説明。 此浮點運算單元135用於像存浮點資料,且包含一組浮 點運算暫存器(也稱作浮點暫存樓)145,— 〇, 和-個浮點狀態暫存器155,此浮點暫存器145包含8個 暫^器’標示爲RG至R7(此記號Ru使用在這裡表示浮 點暫存器的實質位置),8個暫存器中 位元長度和包含-個訊號欄位(位元79)及—個指數$ 元64至78)及一個殘値欄位(位元〇到63)。浮點單元η 利用浮點暫存器⑷作爲堆換句話説,浮%單元丨 包含一個㈣參考暫存棺,當—套暫存器運算作爲堆疊 ,算凡實行時參考堆疊的頂端而非暫存器的實質位址,在 這套浮點暫存器145(記號STn在文中係有關浮點暫存器的 位址或是堆叠的頂端)浮點狀態暫存器155包含—個頂端的 堆疊欄位160 ,用來識別那個暫存器在浮點暫存器! μ 中’現正位料點料的頂端,在圖1端㈣指示識別— 個暫存器165在實質位址R4作爲堆叠頂端。 標籤組U0包括8個標籤且儲存在單一暫存器中, 標籤對應一種不同的浮點暫存器和包含2個位元,正如圖工 請 先 閱 面 之 注 意 事 項 再 素裝 頁 訂 5 3 5 線 • 6 · 3^〇7q8 五、發明説明(4 所示,標籤170對應暫存器 赴私士抵—士 個標藏識別與現在浮 器内谷有關的資訊,其中標籤的對應關…〇2 =有 效m; 10=特殊訊息;11 =空訊息,這 二於浮點單元135以便區分空的和非空的暫存器㈣,、因 此,這些標籤可被認爲是識別兩種情形,空的暫存 11 ’非空的暫存器位址代表爲。。,〇】或心任 這些標籤也可使用爲處理事件,一自,,事件”是一個命 腦系統可能反應的任何動作或事件,包括硬體 ς :斷’除了錯誤、陷井、放棄、機械檢查、輔助和除錯^ 2,於收到-個事件,處理器的事件管理構造使處理器中 斷現在練執行’並儲存中斷流程的執行環境(也就是 恢復中斷流程執行所需的資訊)。且召唤適當的事件管 理此事件’在處理後,事件管理器呼叫處理器恢復先前中 斷泥程所儲存的執行環境,執行事件管理器的程式設計師 可利用這些標籤去檢查不同浮點暫存器的内容以達到更 事件處理。 先前每種標籤已應用2位元加以説明,另—實施例中, 經濟部中央標準局貝工消費合作社印製 ,個標籤有僅能儲存一位元,每一種一個位元的標籤識別 是空或非空,在此實施例中,此—位元的標籤可製作成: 當標籤値需要時,其可藉著決定兩適當位元標籤値以顯示 給使用者。
狀態暫存器140包含一個ΕΜ欄位175和—個TS棚位 ISO,分別地儲存一個EM指標和—個TS指標。如果EM 本紙張纽適用中ugj家標準(CNS)八4驗(21GX297公趁
請 先 閲 背 ir 意 事 項 再 % 本 頁 ?標疋1或是TS指標是J,處理器硬體經由產生一,,裝置 無效”之異議’執行浮點指令而產生—陷井(trap),根據 =體的ff例EM和TS指標是分別地使用於模擬浮點指令且 提供多工功能論如何,這些指標的使用純粹是軟禮的 傳統,因此,此兩者指標可能被使用於任何目的,例如, EM指標可能被使用提供多工。 匕根據上述軟體傳統’ EM欄位175用於儲存—浮點模擬 心丁(EM彳a彳* )識別是否浮點單元應該於軟體中加以模擬, 果眞的有必要,當—個系統啓動時決定是否需要一個浮 點=元提和改變E Μ指標,基本上執行_連串指令或單 扣:(如CPUID)。目此,改變ΕΜ指標以指示應該被模 的浮點單疋,當處理器不包含—個浮點單元時,在一配 訂 置中,當模擬浮點單元時,ΕΜ指標等於!,不同的配置 可能使用其它的値。 經濟部中央樣準局貝工消費合作社印裝 經由使用作業.系統,處理器可多工處理許多流程(在此中 參照工作群)使用共同操作多工技術,分片多工等等,因爲 :理器-次僅能執行-個工作’處理器必須分開它的處理 •間在不同的工作和不同工作中切換,當處理器從—個工 作跳到另-工作時,—個工作切換(也被稱作”内容切換” 或一個”處理切換”)認爲已發生,爲了實行工作切換處理 器及須停止一個工作執行和恢復執行或開始執行另一工 作’有-些暫存器(包括浮點暫存器)它們的 到重新恢復執行在工作和工作切換中,這些暫存器的内容 在任何時間裡,工作的執行被參照作爲工作的暫存狀態,
本紙張尺度適用中國國家標準(CNS ) Α4規格(2丨〇χ297公釐) A7 B7 五 内 皆 、發明説明(6 當處理數個多工流程,一個工作的暫存狀態被保留下來, 在其i泥程執行中儲存暫存狀態於—個資料結構(參照工作 的内容結構”)也就是包含在處理器外在的記憶體中,當 ~工作重新恢復執行時,工作暫存狀態即被恢復(也就是重 新載回處理器)使用工作的内容結構。 使用不同的技術可保存和恢復工作暫存狀態,例如,— 個作業系統儲存先前全部的工作暫存器狀態及重新載入下 了次全部的暫存器狀態於每一個工作切換中,然而,因爲 匕疋分時去儲存和重新載入全部的暫存器狀態,只要當在 工作切換時避免儲存和重新載入任何非必要的位址,如果 —個工作並不使用浮點單元,它就不必要儲存和重新載入 浮點暫存器的内容,如部份工作的暫存器狀態,爲達到此 目的,T S指標在歷史上已被使用於作業系統,根據先前 软體傳統的敘述爲避免儲存和重新載入浮點暫存器内容於 工作切換中(一般參照”部份的内容切換”或,,如需求的 容切換** )。使用TS指標提供部份的内容切換已是眾所 知者’然而爲了達成本發明的目的,當TS指示器指示一部 份的内容切換時,試圖執行浮點指令(也就是浮點單元是 非可用的”或’’無能力的”)結果造成一個”裝置無效” 的異常情況,爲了反應這異常情況,事件執行程式,決定 是否現在這工作擁有該浮點單元(是否被儲存的資料在浮點 單元中屬於目前的工作或是先前執行的工作),如果現在的 工作非擁有者事件執行程式使處理器儲存浮點暫存器内容 到先前工作的背景結構,重新恢復現在工作的浮點狀態(如 丨丨,---:-----^------'玎------^ (請先閱讀背面之注意事項再一本頁) 一 經濟部中央橾準局員工消費合作社印製
表紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐 3^〇7〇8
五、發明説明( 輕濟部中夹榡準局員工消費合作社印製 果有效的話)且識別現在工作的擁有者❶然而如果現在工作 擁有該浮點單元,則現在工作使用浮點單元的最後一工作 (見在工作的暫存器狀態,浮點的部份已被儲存在浮點單元) 且不需對浮點單元採取任何動作,且Ts將;^定,如沒有 ,常發生,執行程式的同時也使這處理器改變丁3指標指步 浮點單元是目前工作所有(也稱作有用的或致能的)。 在事件執行程式冗成後,藉著重新啓動浮點指令重新恢 ,目前工作,此指令導致此裝置無效的異常事件,既然ts 扣標變更,指示這浮點單元是現在可用,執行跟隨的浮點 指令將不會造成附加的裝置不會作用的異常事件,而且在 下:次部份内容切換中,TS指標變更以指示可執行一部份 7容切換,因此,如果試圏去執行另外的浮點指令,另外 無效的裝置將產生,且事件執行程式將再度執行,使用這 方法,这TS指標允許作業系統延遲和儘可能避免存取和載 入浮點暫存檔,經由如此做,工作切換使用支出減少,經 由減少必須存取和載入暫存器的數量。 當一個作業系統被敘述浮點狀態不是被儲存或被載入當 工作切換時,其餘配置可以任何其它技術,舉例來説,如 同前面所述一個作業系統可能被完成在每一次工作切換時 儲存和恢復這全部暫存器狀態。 除了在不同時間,處理器的浮點狀態可以儲存起來(也就 是在内容切換之間,反應到一個裝置非立即可得的事件 等),也有不同的技術儲存浮點狀態,例如,可提供一作業 系統以儲存完整的浮點狀態(在此中參照”簡單工作切 請 先 閲 讀 背 之 注 意 事 項 再_ 旁 裝 訂 -10- 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A7
換)’可視需要提供一作業系統以儲存唯有符合標鐵f _、 非空狀態浮點暫存器的内容(在此參照《最小工^不 換”),如此做作業系統僅儲存那些包含有用資科浮點暫存 器的内容’經由此一操作,經由減少必須被儲存暫存器 數量,過多浮點狀態儲存可減少,。 的 圖2是一個流圖的舉例説明,一個指令的執行利
Pentium處理器’這流圖開始在步驟2〇〇,流程進入 205。 步驟 如步驟205所示,存取一组位元作爲指令且進行步驟 2 1 0 ,這组位元包括一個運算碼用來識別指令的操作執 行。 在步驟210中,決定是否此運算碼是否有效,如果這運 算碼無效,則流程進入步驟21 5 ’否則流程進入 220。 % 如步驟215所示,產生一無效的運算碼,配置事件執行 程式,以使得處理器顯示訊息,放棄現在執行的工作,且 執行其它的工作,當然在實施例中可能以任何其它的方 提供這事件執行程式》 "" 在步驟220中,決定是否這指令是浮點指令,如果這指 令不是浮點指令,則流程進入步驟225 ,否則流程進入^ 驟 23 0。 如步驟225所示,處理器執行這指令,由於這步驟並不 需要叙述本發明,在此就不另外説明。 如步驟230所示,決定是否EM指標等於2(根據軟體傳 3^〇7〇β ---- __ 五、發明説明(9
統敘述,如果這浮點單元應該被模擬)且是TS指標於 1(根據軟體傳統敘述’如果執行部份内容切換),如果EM :標广指標等於1則流程進入步驟…’否則處理流程 進入步驟240。 良ΪΓ:!35中’產生"裝置不能使用’,的異常情況,且 成 ’、這事件,執行對應的事件執行程式,可配置這對 應事件執行程式,選擇EM和TS指標,如果腹指標等於 則藉著模擬浮點單元和重新恢復執行下次的指令,可提 程式以引導處理器執行指令(這指令合邏輯地跟 ’ 25〇中接收的指令如果TS指標等於1,則可 牛广/程式以達到先前敍述的功能,藉此參考部份 能合(看了#存浮點單元的内容和重新載人正確浮點狀 心,B果必需的話)和引導處理器去重新恢復。 著重新啓動在步驟205中接收的指令,當然,在 實施例中可以任何方式提供事件執行程式。 某:數値錯#發生在執行浮點指令中,那保留該錯 等待嘗試執行下一個浮點指令,可中斷這指令以處理 疋的序點數値錯誤。如㈣240所示,其中決定是否有 任何這種未定的錯誤,如果有則處理流程進人㈣245, 否則處理流程進入步驟2 5 〇。 =驟245中’發生一未定的浮點錯誤事件,爲反應這 件’處理器決定是否將這浮點錯誤加以蓋住,如果是,這 ㈣W試内部處理這事件使用微碼’且浮點指令則進行 微重新啓動”,這期間微重新啓動參照事件處理的技術 本纸張用㈣家標準(2數29?1¥ -12. 3^〇7Qs 經濟部中央標準局貝工消費合作社印製
A7 B7 3^G7〇s 五、發明説明(11) 儲存區中的數據。第—電路與多個標籤耦合,其只設定多 個標籤爲一空狀態,以回應接收到第—指令。第_指令指 示在儲存於第一儲存區中的封包數據上操作的指令之耦^ 已終止。該裝置更包含一第二電路,此第二電路耦合多: 標籤,設定多個標籤爲非空狀態,以回應接收到一第二指 令。第二指令指定一項在封包數據上的操作,該數據儲存 在第一儲存區中。第二電路更設定多個標籤以指示在封包 數據上操作的指令之耦合。此裝置的優點爲提供—架構(如 用於一微處理器的微架構),以在封包數據指令的耦合方塊 結束時,清除封包數據狀態,以在清除狀態下保留浮點狀 態以備用於下一項操作(如執行浮點指令的方塊)。 該裝置更包含另一.電路,此電路用於清除頂端堆疊指 標,以回應接收到第—及第二指令。 在配置的實施例中,該第一儲存區包含一假數(mantissa) 部位,及一對應的指數部位,且該封包數據在該第一儲存 區的假數部份中予以包封住。該第一電路更包含一電路, 當執行儲存在該第一儲存區中的封包資料操作時,用於設 定該對應的指數部位爲一預設値。 該多個標籤中的各標籤包含兩位元。只設定標籤爲空狀 態的操作包含設定該兩位元成爲一設定狀態。只設定標籤 爲非空狀態的操作包含設定該兩位元成爲另一設定狀態。 圖形簡述 參照下列説明及附圖,將可更進一步瞭解本發明β 圖1顯示一組圖表説明—模範電腦系統,其使用 •14. 表紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 請 .4 聞 讀 背 意 事 項 再 寫松 本衣 頁 訂 線 經濟部中央標準局貝工消費合作社印製
經濟部中央搮準扃貝工消費合作社印装
Pentium處理器; 圖2爲一流程圖説用Pentium處理器執行指令; 圖3 A之功能圖説明本發明封包資料狀態及浮點狀態之誤 判; 圖3B和3C舉例説明關於邏輯浮點暫存器之自然浮點與 封包資料暫存器之封映; 圖3 D説明包括封包資料及浮點指令集之執行流程; 圖4 A是一流程圖説明一執行浮點及封包資料指令集之方 法就某種意義而言,此方法能與現行軟體共存,非不同作 業系統技術所能見’且根據本發明之實施例方法能提升更 有效率之程式技術; 圖4B之一流程圖説明圖4A未提及其他方法; 圖5顯示一組圖根據本發明之一實施例説明一模範電腦 系統; 圖6A是一組圖根據本發明之一實施例,説明一個在浮點 狀態使用二種自然暫存檔之封包資料暫存狀態之裝置; 圖6B是一組圖根據本發明之一實施例説明有關於圖 之一份浮點集參考檔之擴展現; 圖7A爲一流程圖説明—方法,與本發明之一實施例一 致,在一套化石爲一套浮點暫存器之暫存器執行封包資料 指令集就某種意義而言此方法與現行敕體共存,非不同運 用系統技術所能見,且此方法能提升良好之程式練習,且 或許可用圖6A之硬體排列做練習; 圖7B之流程圖説明部份圖7A所提到之另一方法; 請先閱讀背面之注意事項再^¾本頁) .裝·
,1T 線
本纸張纽制t賴家標準(L'NS ) A4規格(2ι〇χ297公楚j 3^〇7〇8 A7
經濟部中央標準局員工消費合作社印裝 圖7C之流程圖説明部份圖7A及圖7B未提及之方法, 圖8是-流程圖根據本發明之—實施例説明一自圖7(:執 行第734步驟之方法; 圖9之流程圖根據本發明夕—睿u „ 實施例説明一自圖7Β執行 第728步驟之方法; 圖10之圖組係根據本發明之一實施例,彡過一在浮點狀 態使用-單-暫存檔化名封包資料狀態之裝置説明一資料 流程; 圖UA説明方法之-部份,根據其它發明實施例,用以 執行封包資料和浮點指令集,—單_化名暫存檔就某些方 面來説是和現存之軟體相容,此爲不同作業系統技術所盔 法見得到的’此技術提供良好的程式例,且可能藉由圖ι〇 硬體之配置實現; 圖11Β之流程圖説明部份圖11Α所提及之另一方法; 圖1 1C之流裎圖説明圖i ! a及】]R 士 、、 ’ ® 八夂11B疋—邵份以説明另 —方法; 圖12A根據發明的實施例説明浮點儲存格式,本 考到圖10所述; 夺 圖12B説明封包資料儲存格式根據本發明的實施例參 圖10所述; 圖12C説明根據本發明的實施例整數資料儲存格式,參 考圖10所述根據本發明的實施例; 圖13説明來自圖11B執行步驟U38—方法,當參考 12A ’ 12B和12C中叙述的儲存格式; I---------I-- ** (請先閲讀背面之注意事項再1,..^本頁}
、1T 線· -16- 五、 發明説明(14 圖14依據本發明之實施 除標籤; “,妹討騎,以爲清 圖15A説明包括封包資料和浮點指令集之 中分開的實質暫存器嫂Bi „ \ Μ程,其 存器擒的時間分隔期間可被更新;以π 圖15Β説明另外一個包含封包資料和 及 現程,其中分開的實質暫存 617集的執行 辦·’ χ冑臀存器構的時間分隔期間可被更 發明之詳細説明 明在:列Γ明中會列舉許多詳細説明,以便於了解本發 β不使用謂細説明而加以實現爲方便起見,在其 子中如電路板便不再此詳述。 ' 根據本發明之-實施例’敘述—種方法及裝置作爲執行 、同組夂指令集,使處理器可執行不同資料形態之運算, 訂 線 經濟部中夬榡準局員工消費合作社印製 亦:此運算在不同的作業系統技術無法能見,其提供良好 的私式例,且非現存軟體所能見。使處理器執行不同數據 形態操作的不同組之指令集爲處理器所執行,而在至少合 邏輯性的軟體上成爲一個單一化名的暫存檔。資料型態運 算是執行不同組指令集的結果,它可能是任何一種型態, 例如一組指令可使處理器執行實數運算(浮點或整數),如 另一例子所示,一套指令可使處理器執行浮點運算(實數和 整數),而另一套指令可使處理器執行整數運算(實數和封 包),再舉另一例子,單一化名的暫存檔可能被運算成一堆 叠參考暫存檔和作爲一個平板型暫存檔,此外,此項應用 説明一個方法和裝置作爲執行不同組指令集用各別的實質 -17·
--*-—J 本紙張尺度適用中國國家標準(CNS ) Μ規格UiOX297公釐) 3咐〇8 A7 --*------___ _____B7_ 五、發明説明(151 ~ - 暫存檔合理的顯示在軟體上作爲一個單—化名記錄檔。此 應用説明一方法及裝置以使用單一實質暫存檔執行這些不 同的指令集。 爲求更明白本發明,本發明之説明可參考的浮點指令 集,和封包資料指令集(浮點或整數)之執行,總之,應之 可執行任何不同資料型態運算數値,且本發明沒有限制 點和封包資料之運算。 圖3A之一功能圖説明這封包資料狀態化名和浮點狀態, 根據本發明之實施例,圖3A説明一個浮點暫存器3〇〇作 爲儲存浮點資料(在此參考浮點狀態)和一組封包暫存器 310 ’作爲儲存封包資料(在此參考封包資料狀態),這 PDn記號在此用於參考封包暫存器之實質位址,圖也 説明封包資料狀態被化名爲浮點狀態。也就是説,浮點指 令集和封包資料指♦集至少顯示予纟相同組的冑輯暫^ 上執行的軟體。有一些技術可提供此化名方法,包括在一 個單一實質暫存檔中使用多重分離的實質暫存檔,關於這 些技術的範例稍後會介紹,請參照圖4 - 1 3。 經濟部中央標準局貝工消費合作社印製 如前所述,提供現存作業系統使處理器儲存多工的浮點 狀態結果,因爲封包資料狀態被化名成浮點狀態,這些相 同的作業系統將使處理器儲存任何由浮點狀態化名成二封 包資料狀態。結果這些發明亦不需要舊有的作業系统工作 切換慣例(當然此工作切換慣例可能被提供作爲一個或多個 事件執行程式)或事件執行程式可能被修正成新的作業系統 事件執行程式可能被記下來,因此,一個新的或修正過 -18- 五、發明説明(16) 作業系統並不需要&計成可料封包資科狀賤。 多工時,如此,並不需花蛰女 田此系耗 業系統’此外,在-個實施例中,任何_個 =作 指令集所產生事件,爲内部處 包資科 ^ ^ 1恩理4所處理或映射到符人从 業系統事件執行程式能處理的事莊 0作 & -t 千'· α果封包資料指令售 爲一種未曾見過的作業系統所執行。 集 圖Μ也説明-組浮點料32Q和_套封包資料 ,洋點標鉞320的操作模式與圖i標籤15〇相似 -標籤包含2個位元,&2個位元指示是否符合浮^ 器的内容爲空的或非空的(也就是有效的,特別的或^存 封包資料㈣330對應封包資料暫存器31Q和被化名 點標籤32。,每-個標籤可自己置成2個位元,在不同的實 施例中,對於每一個標籤僅能儲存—個位元。每一個—棱 元標籤識別是空的或非空的。在此實施例下,當標籤値需 要時,可產生一位元標籤以顯示包含2個位元的軟體藉著 決定適當2個位元標籤値。作業系統執行最小工作切換儲 存那些僅符合標籤指示非空的狀態暫存器的内容,因爲這 些標籤是化名的,這種作業系統將儲存任何必需的封包資 料和浮點狀態《對比之下,那些提供簡單工作切換之作業 經濟部中央標準局員工消費合作社印製 系統將儲存完整邏輯化名暫存檔的内容,而不計標籤的狀 態。 在一實施例中,浮點暫存器3 00用類似浮點暫存器 1 4 5 (圖1)之方法運算,因此,圖3 a額外地説明浮點狀態 暫存器340包含一個頂端的堆疊區350 ,此頂端堆疊區 -19- 本紙張尺度適用中國國家標準(CNS )八4^格(210X297公釐) 3^G7〇s 五 、發明説明(17 經濟部中央橾準局貝工消費合作社印裝 =:2,存當一:算頂端堆叠指示(tos)作爲識別暫存器 行此運算參考到頂端暫:堆昼,則執 ,, 声登臀存器相對於暫存器的實質狞 的暫存二^下’運算封包資科暫存器310以作爲-個固定 也稱作-個直接存取暫存樓),因此,此封= 定使用暫存器的實質位址,封包資料暫存器 L :並映=:::…實質位址,且當二 短::: 變,結果至少在軟體顯示-個單1 絕對的子暫田=且可被運算作爲—個堆疊參考暫存樓或—個 ,3Β # 3C説明了化名的浮點暫存器⑽和浮點 籤33;映對其各參照到封包資料暫存器川和封包資料^ :二,如圖3Α所示者,由上述討論,在浮點環境中 ^ 了:L器η指定與T〇S指標所識別之浮點對應的暫存 :::例説明於圖33及3。中。每—個圖 “ =見的程式設計之浮點暫存器(堆叠)和合邏料可2 程式故计(封包資料暫存器之間的關係。如顯示圓 =上内部圓圈36G代表浮點/堆#資料暫存器,和標藏^ ^圓圈代表料浮點暫存器,爲頂端㈣指㈣3 參考’如圖3B所示端堆#指標37M旨出 ^ 資料暫存器。,因此在邏輯浮點暫存器和實質 封包資料暫存器之間有-對應性,如圖所示,㈣^ 指標W0藉著推出或放人的浮點指令而被修正,因此= 的堆叠指標370被改變,在圖中所示爲頂端麵指標以= 裝 耳 訂 線
s<^〇7qs 五、發明説明(18 經濟部中央梯準局貝工消費合作社印製 向轉動的推出動作,而浮動的放入動作導致頂端 堆疊指標以順時針方向轉動。 崎 在圖3C之範例中,邏輯浮點暫存器std和實質暫存 〇並不對等,因此’在圖3C之例子所示,此頂端堆疊 370指㈣質浮點/封包資料暫存器2,有對應到邏輯浮 點暫存器STD ’所有其它的邏輯浮點暫存器則參照t〇s 3 7 0存取,已説明—實施例,其 X例弄肀在人何万式中符點暫存 芬乂堆疊万式和封包資料暫存器以固定的暫存檔來運算 者之-方均可提供這些暫存器,此外,有一實施例中, 考浮點和封包料運算,可了解料這種技術可被使用 化名任何固定暫存檔成任何堆疊參考暫存檔,而與在 執行的運算類型無關。 ' 堆疊資料狀態可在任何部份或全部的浮點狀熊下化名, 在-實施財,封包資料狀態被化名成浮點狀況的殘植 區,更進-步,這種化名可以是全部或是部份,全部化名 万式被使用的實施例是暫存器的全部内部被化名,部份化 名方式早在圖6A已有説明。 圖3D之方塊圖據本發明之實施例之一説明浮點的執行和 封包資料指令時間,如圖3D所示,按年代次序執行,第— 组浮點指令集38G -組封包資料指令集3 82和第2組浮點 指令集3 84,這組封包資科指令集m之執行於時間η 開始而在時間Τ2時結束,而浮點指令執行開始在時間 Τ3,其它的指令集在封包資料指令集3 82和第2組 令集384之間執行,也可不執行。第_個區間3 86標記^ 兩參 以 上
本紙張尺度ϊδ财關家辟(CNS ) A4m$- ( 210^297^^ ) I:—^------1—— (請先閲讀背面之注意事項再P寫本頁) 訂 線---M, 經 部 中 央 標 準 局 員 X 消 f 合 作 社 印 製 五、發明説明(19)之間的時間,第2個區間3 88標記了2和丁3之間的 時間。 德和封包資料狀態以一種化名的暫存標儲存, 二 丁 2組浮點指令集3 84之前就應該被更改成爲 籤。否則,被產生堆疊溢出的異常事件’因此在某 些時候在第-、個區間3“、標籤被改變成爲空標籤,這些 可用不同的方法元成,例如一個實施例可由下法之—完 成:^第一封包資料指令集382改變標籤爲空狀態;2)每 一個封包資料指令集3 82之執行改變標鐵爲空狀態· 3)上 述改變標籤成空狀態方式試圖去執行第一個浮點指令,此 執仃會修正化名暫存播等。這些實施例中使得作業系統無 視於保4在現支援簡單最小文脈切換之作業系統(儲存和重 新載入全部的暫存狀態,在每一個工作切換中)因爲封包資 料狀態,將隨著其它的暫存器狀態,被儲存和重新載入。 〜在其它實施例中,爲了保留支援簡單或最小文脈切換相 容的作業系、统封包資料指令集3 82之執行造成第一個區間 386中的標籤改變成空狀態,除非在時間τ2之後和時間 Τ3之前執行一組代表方塊3 9〇中之轉移指令集(τ3爲第2 組浮點指令集384開始之時間),例如假設封包資料指令集 3 82屬於工作Α,同時也假設工作Α被一個先前執行轉移 指令集390的全工作切換(亦即非部份的工作切換)所中 斷,因爲其爲一全工作切換,所以此工作切換執行程式將 包含浮點指令集(圖示中第2組浮點指令集384,且參照此 範例做爲FP工作切換慣例)以儲存浮點/封包資料狀熊。 裝 訂 線 -22- 本紙張尺度適用令國國家標準(〇阳)八4規格(210><297公釐) ~----- Α7 B7 五、發明説明(20) 經濟部中央標準局員工消費合作社印製 因爲轉移指令集390未執行,處理器在某些先前執行”工 作切換慣财將改«籤成爲非 切換慣例’不管是最小或簡單,將料全部化名的暫存構 的内容(在此範例中工作A的封包資料狀態),對比之下, 如果轉移指令集3 90被執行,處理器會改變某些在第2區 間3 88中的標籤成爲空的狀態。因此,無論如何在轉移指 令集3 90執行後,工作切換是否中斷工作a,處理器將改 變在某些先前第2組浮點指令集3 84執行中的標籤爲空狀 態(不管是否第2組浮點指令集3 84屬於工作切換執行程 式;工作A或其它程式p 如其它範例,再次假設封包資料指令集3 82屬於工作 A,具工作A被先前轉移指令集39〇中執行的工作切換所 中斷,然而,這次的工作切換是—部份工作切換(亦即浮點 /封包資料狀態,未被儲存或恢復)如果沒有執行其它利用 浮點或封包資料指令集的工作,則處理器將最後返回執行 工作A及轉移指令集390將被執行。然而,如果其它工作 (亦即工作B)使用浮點或封包資料指令集,將使得作業系 統執行程式呼叫儲存工作A的浮點/封包資料狀態及恢復 工作B·的浮點/封包資料狀態。這種執行程式將包括Fp工 作切換慣例(在此範例,舉例第2組浮點指令集3 84)用來 儲存浮點/封包資料狀態,因爲轉移指令集3 9 〇未被執行 處理爲將改變某些先前FP工作切換慣例中的標籤爲非空的 狀態,結果FP工作切換慣例不管是最小或簡單都將儲存全 部被化名的暫存檔亦即工作A的封包資料狀態的内容,如 請 閱 面 之 注 意 項 5裝 頁 訂 -23- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) 經濟部中央樣準局貝工消費合作社印装 3^〇7〇{ 五、發明説明(21 此绝種實施方式使作業系統保留爲 被用/儲存化名暫存器的狀態。 “此技術疋否 這組轉移指令集可以任何方式加以配置。在 能)的這^料指令集可能包含—個參考EMMS(空的媒舰 ㈣/ 7 ’此指令使浮點/封包資料標籤清除任何後來 浮點暫存器300對於後來的可能被執行的浮點 二集s有用’如果EMMS指令集未在封包資料指令集之 $執行而是在浮點指令執行之前,可避免堆叠溢 發生。 ,習知的浮點程式例中使用英代爾結構處理器,藉著清 除浮點狀態的運算在中斷浮點碼區段,不管是否有;份: 最小的文脈切換被使用,浮點狀態在結束第一區段浮點碼 則被清除,因此,此EMMS指令爲了清除封包資料狀態: 而試圖使用在封包資料順序,此EMMS指令在—解封^資 料碼之後應該執行,因此,在這裡所説明處理器所提供的 方法和裝置,完全相容先前使用在英代爾結構浮點處理 器。而且,此處理器也有能力執行那些允許在封包資料和 浮點碼之間轉移沒有相互影響到浮點或封包資料狀態的封 包資料指令集,如果用好的程式技術和合適時方法(在封包 資料碼和浮點碼轉移之前清除狀態)來撰寫程式。 在其它實施例中,使用現存的浮點指令集可完成此組轉 移指令集,使得處理器改變標籤値成空狀態。 在另一實施例中,當封包資料指令集和浮點指令集執行 切換時,時間會被消耗掉,因此,一個好的程式技術可 -24- 本紙張尺度適用中國國家標ί ( CNS ) A4規格(210X297公釐)
裝 訂 線 3^〇7〇s
在浮點和封包資料指令的轉移可藉由群 :點和令“開封包資料指令集而減少,由於想要提昇優 :式想要完成—種處理器可忽略這種優良程式 :二因此“一個區間3 86期間有一實施例也可改變頂 味堆叠指不成為初始狀態(亦即暫存器R0),這些可用任何 Z方法完成,包括υ執行第—個封包資料指令以改變頂 =堆叠指標;2)執行每-個封包資料指令,封包資料指令 集3 82改變頂端堆疊指標;3)執行EMMS指令以設定頂 端堆叠指標;4)如圖3D所示在時間T3時試執行—個浮點 和令以改變頂端堆#指標等。再次説明,這是爲了保持完 ^相容的程式碼於封包資料指令集和浮點指令集之間。從 提供優良程式技術遠景看來,在—實施例中,在第—區間 =6内儲存了封包資料“値,此値並非任何化名的暫存 器用符號和指數欄位所指的數字。 人圖4Α和4Β是一般流程圖説明作爲執浮點和封包資料指 Τ集一万法,此方法非不同的作業系統技術所能見到,且 提供有效率的程式技術,根據本發明的實施例之_,此流 程圖從步驟400開始至步驟402 » 伽 經 中 央 橾 準 貝 工 消 費 合 作 社 印 製 如步驟402所示,一組位元被存取作爲指令,且流程進 入驟404 ,此组位元包含一個運算碼用來識別指令的 算。 在步驟404中決定是否運算碼有效。如果無效,則至步 驟406 ’否則進入步驟408 ’假設一個處理器嘗試執行— 個慣常的封包資料,此處理器並未支援封包資料指令,則 -25 ' —^ A7 經濟部中央樣準局貝工消費合作社印製 L、發明説明(23 )一· 此運算碼對於封包資料指令集將無效,則進入步驟4〇6, 對比之下,如果此一處理器有能力執行封包資料指令集, 此一運算碼對於這些指令將是有效的,步驟至4〇8 如步驟406所示,產生一無效的運算,執行適當的處理 程式,如前所述參考圖2步驟215 ,事件執行程式可使處 理器顯示一個訊息,忽略目前的工作執行及執行另一個工 作,當然,此事件執行程式可以任何方式完成,例如,此 事件執行程式可識別是否處理器有能力執行封包資料浐 令,此相同事件執行程式也可識別處理器不能執行的封曰 資料指令。其它處理器上執行的應用,可使用這種指示 決定一組純量慣例或是用一組重覆的封包資科慣例, 之,這種方式是需要已存在作業系統或是—個新作業系統 的發展。 ’ 在步驟408決定接受何種指令型式,如果指令非浮點令亦非封包資料指令則進人步驟41G,但是如果此指^ 浮點指令則執行步驟412。比照之下,如果此指令二: 資料指令則至步驟414。 封匕 如步驟41〇所示,如處理器執行此指令,因爲 本發明並不需要了解,在此不再另述。 如步驟412所示決定是否EM指標等於1(根據軟 統,如果模擬浮點單元)且是否TS指標等於i(根據 統,如果執行部份文脈切換),如果EM指標或ts产 於1,則進入步驟416 ,否則執行步驟42〇。在一^施寺 中提出使此裝置不能當EM指標,或Ts指標等於i 例 請 先 閲 ιέ 之 注 包 Ϊ年 頁 以 總 訂 線 -26 衣纸張尺度適用中國國家標準(CNS )八4規格(210Χ 297公楚) 3^〇7〇8 經濟部中央標準局員工消費合作社印裝 五、發明説明(24) 配置另一實施例以使用任何其它的數値。 在步驟416中,產生此非用於異常狀態的裝置且執行此 對應的事件執行程式。如前所述並參考圖2步驟235 ,可 配置此對應的事件執行程式以得到ΕΜ和TS指標。如果 ΕΜ指標等於1,則事件執行程式模擬浮點單元執行指令, 且使得處理器重新恢復下次指令的執行(此指令邏輯地遵循 步驟402所接受的指令),假使TS指標等於i,則事件執 行程式使得處理器如前面所述參考部份内容切換(假使必 需,儲存浮點單元内容及正確浮點狀態)的功能且使得處理 器重新執行步驟402所接受的指令,當然,另一個實施例 可能以其它任何方法配置事件處理器,例如,EM指標可 以配置多工工作。 ' 因爲封包資料狀態被化名成浮點狀態,且因爲E Μ和丁 S 指標改變浮點狀態,故處理器必須也反應EM* ts指標, 當爲了保存完整軟體相容性而執行封包資料指令集。 在步驟4Η決定是否ΕΜ指標等,如;所述,事件 執行程式除了處理此裝置無效外,如果EM指標等於丨可 能會得到EM指標且會嘗試去模擬浮點單元,因爲存在的 事件執行程式並未寫入模擬封包資料指 包資料指令的執行無法被事件處理心用集。當此= 等於1時,更進一步地爲了繼續不可見之作業系統,此 件執行程式的改變對處理器而言並不需要,結論是假使如 步驟決定EM指標如等於,,則處理流程進入步驟 4〇6而非步驟416,否則處理流程進入步驟斗^。 ____-27- L尺度適财國國家標準(CNS )八4祕(210X297公釐) --- (請先閲讀背面之注意事項再續寫本頁) .裝 -、1T* 線· 發明説明( 25 Α7 Β7 經濟部中央標準局員工消費合作社印¾ 如前所述,在步驟406產生無效的運算碼異常狀態,也 執行對應的事件執行程式。除了 Ε Μ指標等於1的無效運 算碼之外,本實施例仍使作業系統不可見。 以説明一用於處理Ε Μ指標的實施例,其方式爲使得作 業系統爲不可見,不同的實施例可使用其它巧技術。例 如:另一實施例除了產生無效裝置外,一不同的現存事 件,或一個新的事件,反應嘗試執行封包資料指令,而ΕΜ 指標等於1 。更進説明,一個微小的修正可爲作業系統接 受,此被選擇的事件執行程式可能會被視爲合適的情形而 改變,例如事件執行程式可能會被寫下來模擬封包資料指 令集。另一實施例中當執行封包資料指令集時,可能剛好 略去ΕΜ指標》 如步驟418所示,決定是否TS指標等於丨(根據已存在 軟體傳統,如果執行部分内容切換)。如果Ts指標等於 1 ’進入步驟4 Γ6否則處理流程進入步驟4 2 2。 "如前所述,在步驟416產生非可用之異常的裝置,且執 行對應的事件執行程式,因此爲了反應此事件,此配置對 應的事件執行程式,而得到EM及Ts指標。 因爲步驟414轉向EM指標等於1的情況,除了無效運 算碼J此EM指標必須等於〇及TS指標必須等i ,因爲 TS^標等於1事件執行程式發生作用。如前所述參考部份 内容切換(假使需要的話,射浮點單元内容及恢復正確的 點狀態)且使得處理器重新恢復步驟402接受的執行,因爲 封包資料狀態化名爲浮點狀態,此一事件執行程式均可在 請 先 閲 讀 背 之 注 項 Η袭裝 頁 訂
本紙張尺度财賴家轉(cns )續^ ( 2獻撕公着 3 如 7〇8 五、 發明説明(26 浮點和封包資料狀態工作,結果此方法依然未見於作業系 統中,當然,實施例是可以完成事件執行程式在任何 法,例如,封包資料狀態被化名爲浮點狀態可能使用—個 新的事件執行程式儲存浮點和封包資料。 當有一實施例指述以未見於作業系統的方法處理ts指 標,此實施例可能使用其它技術,舉例來説,此實施例; 能不會完成TS指標,如此一實施例,當使用丁8指標完成 部份内容切換時將不會相容其它作業系統,總之,此—實 施例中’將不會相容現存的作業系統,此Μ並未支援使 用TS指標的部份内容切換。在另—例予中,封包資料产人 的嘗試執行,當TS指標等於可被改變的新事件執行程^ -已被修正過的現存事件執行程式,可配置事件執行式以 回應此動作而採取適合得動作。例如,一實施例中,封勺 資料狀態未被化名成浮點狀態,此事件執行程式可能儲: 封包資料狀態及/或浮點狀態。 如前所述,並參照圖2,如果確定數字錯誤發生在執行 浮點指令時,那些錯誤即被保留直到嘗試執行下—浮點 令爲止,此中斷指令執行以處理這些錯誤,現再可處理: 錯誤。如步骤420及422中所示者,其決定系統中是否存 在任何現在可加以處理的錯誤。因此這些步驟相類似圖2 步驟240,如果沒有這些錯誤,則流程從步驟42〇及⑵ 至步驟424。假使在步驟42G沒有這些錯誤則處理流程進 入步驟426。對比之下’假使步驟422沒有這些錯划 步驟430 ’在-個實施例中’這些錯誤在封包資料产人 至 集 (請先閱讀背面之注意事項再移寫本頁) .裝- 訂 線 -29- 本紙張尺度適用中國國家標举(CNS ) Μ規格(2ι〇χ297公楚)
• In K ^^〇7〇s
五、發明説明(27) 經濟部中央標準局員工消費合作社印製 執行之間被遺留下來。 在步驟424中,彦4 . 二ο止 生—代處理浮點錯誤之異常事件,女 則面圖2步驟245所述處了㈡由 浮點錯誤需蓋住。如果n J1此事件,處理器決定是否 *, 處理器嘗試内部管理此事件及 =㈣料微重新啓動,如果浮點錯誤並未料,此一 = : = :件且執行對應事件執行程式,藉著步骤 處理器會:"曰”此事件執行程式可能處理錯誤及使得 處理器重新恢復執行。告钦甘、 w .. 田然其它的實施例可以任何其它 万法配置此一事件執行程式。 不驟二6所示’浮點指令被執行,爲了維持作業系統 許ί例中也因需要而改變這些㈣,任何數質 m在可接U㈣其它數質錯誤 統技術可用來儲存浮點單元内:竹作菜糸 ^ ^因此就要有一種未見於 隹,::,系統技術的方法來執行封包資料及浮點指令 ⑨些標籤’此實施例維持不可見的作業系統 =非、ΐ系統技術中,此技術可儲存那些僅符合標籤指 浮點暫存器的内容,總之,實施例可配置爲 數^的作業系統技術相容。例如,如果有—現存作業系 、· ·丨用此標籤’ *法完成這些標籤的處理器彳减會和作 業系、^進-步相容。而且’本發明不需要待決定的數値 浮.占異彳因此未執行此過程的實施例仍在本發明的範圍 内0 力步驟430所不,決定封包資料指令是否爲emms指令 (也稱作轉移指令)如果封包資料指令爲贿⑽指令處 -30 本紙張適用中®財標準(CNS )从樣(卩獻297公趁)
經 央 標 準 k 工 消 費 合 作 社 印 製 -31 - 五、發明説明(28) 程進入步驟432 。否則’處理流程進入步驟434 ,此 EMMS指令用來改變浮點標籤爲最初始値狀態,因此,如 果封包資料狀態化名成浮點狀態,當由執行的封包資料指 令集轉移至浮點指令集時’應執行此—指令。以此方法, 此浮點單元即被初始化用來執行浮點指令集。另—實施例 中,浮點狀態未化名成封包資料狀態,可能不需執行步驟 43 0及432,此外,假使EMMS指令己予模擬,則 步驟43 0及432。 匕如步驟432所示,所有標籤被改變成空狀態且頂端堆疊 指標被改變成初始値,藉著改變標籤成空狀態,此浮點單 元已被初始化且準備執行浮點指令集,改變頂端堆疊指標 爲初始値(在實施例中此初始値爲零用來識別暫存器r〇): 援分開的群浮點及封包資料指令集,因此, 式設計技術,實施例中,並不需要初始化頂端的= 標’在上述步驟432中,“準備執行下―個指令(此指令 合邏輯地遵循步驟402之指令)。 •如步驟434所執行封包資料指令(沒有產生贿數質異 常)且此頂端堆叠指標改變成初始値。爲了避免產生任何數 質異常’-實㈣中配置封包資料指令集,使得資料 到飽和’且約束在一最大及一最小値之間。藉著不產生任 何的數質異常’事件執行程式不需要處理此異常情況。結 果,此本發明之此-實施例爲不可見作業系統形式。另一 實施例爲了反應這種異常的數字可以用來執行微碼事件執 行程式。令-配置不可見之作業系統的實施例中,額外的 本紙張以適财國^標準(CNS ) A4規格(21〇χ297公瘦)- 訂 線 3_〇8 五、發明説明(29 f件執行程式被合併到作業系統亦或是現存事件執行式而 處理此錯誤。如上所述,頂端堆疊因同樣理由而改變,可 配置實施例,在任一不同的時間改變頂端堆叠。例如,除 了 EMMS指令外,此實施例可完成改變最上層堆叠指標在 所在封包資料指令集執行時,I使任何記憶事件產生作執 仃封包資料指令,則執行被中斷,此頂端堆晏指標並未被 改變且處理此事件,在完成此事件處理後,步驟4〇2所接 受的指令則被重新啓動。流程從步驟434至步驟436。 如步驟436所示,蚊是否封包資料指令使得處理器寫 入到化名暫存器中,如果可以,處理流程進人步骤㈣。 否則處理流程進入步驟4 4 〇。 在步驟438中,第一層以化名暫存器的符號和指數儲存 封包資料指令使得處理器可以寫入,從步驟438處理流程 進入步驟440 ’執行此步驟提供良好程式窝作技術,此技 2支援分開的群浮點及封包資料指令集,當然,在實施例 未關連到此事件者均可不必執行此步驟。在一實施例 中’第一層被窝入符號和指數棚位,此實施例可使用代表 N A N (非一號碼)的任何値或無限大的値。 步驟4 4 0所示,所有標籤被改變成非空的狀態,改變 所有標籤成爲-個非空的狀態可提供良好程式寫作技術且 它支援了分離的群浮點和封包資料指令集,此外,從作業 =統一致性展望,通常的作業系統技術儲存那些唯有標籤 指到非空狀態(最小的内容切換)的浮點暫存器的内容,因 此在—實施例中,封包資料狀態化名成浮點狀態,改變 ----------- 本紙張尺度適用中國國家標準(CNS ) A4胁(2丨0X297公幻 項 裝 訂 經濟部中央梂準局員工消費合作社印製 五、發明説明(30) :有標籤成爲一個非空狀態使得作業系統保留封包資料狀 心’好像如同浮點狀態_般。另—f施例中可以改變所有 籤而此;^籤符合包含的有效封包資料項目之暫存 器二而且’另—實施例中,可用較少相容的作業系統技術 來完成,例如,假使—個現存作業系統未利用標籤(亦即作 業系統儲存恢復全部暫存隸態)。另並未配置這些標籤的 T施例仍然與此作業系統相容。在完成步驟440中,系統 …、法執行下個扣令(此指令邏輯性地遵循步驟4 〇 2接受之 指令)。 η因此,在此實施例中,於浮點狀態儲存(FSAVE)或浮點 環境儲存(FSTENV)之後,在記憶體之中標籤 内容參照下 面表格1所示。 表1 :有效的封包資料/EP指令在標籤字元上 請 先 閲 背 $ 項 再一 Η 寫 本 頁 裝 訂 經濟部中央榡準局貝工消費合作.社印製 指令型式 =— - 指令 標籤位元 在 FSAVE 7 FSTENV 之後, 在記憶體中計算 的標籤字元 封包資料 任何(除EMMS之 外) 非空的(00,01或10) 非空的(00,01或 10) 封包資料 EMMS ¢(11) 空(11) 浮點 任何 TO,11 oo,ii,oi 或 ίο 浮點 —--- ERSTOR / FLDENV 「00,11,01 或 10 00,11,01 或 10 如上所示,任何封包資料指令,除了 EMMS,將導致標 籤32〇被設定在一個"非空的”狀態EMMS導致浮 點標籤暫存器被設在一個空的(丨丨)。此外,任何的封包資 線 -33- 32〇7〇s
示項 五、發明説明(31 ) =:::MMS也導致錯存在堆刪層的彻 剩餘環境暫存器,例如控制和狀態字元(除了 在Intel結構處理器中,其餘資料沒有改變。任) 科讀取或EMMS留下殘値指數部份的浮點暫存器3=資 =變的狀態m實施例中,任何的封包資科: 引包資料暫存器中,因爲化名構造,根據操作執行, =起殘値料對應到浮點暫存器。再則,.在這實施例中 寫入的資料在浮點暫存器的殘質部份,其係由封包暫 存器⑴修改’將引起所有位元的狀在浮點暫存器㈣ 的符號和指數部㈣1的狀態。因爲封包資料指令不能使 用正弦和指數部份的浮點暫存器(沒有化名的封包資料暫存 器在正弦和指數部份的浮點暫存器中),這對封包資料指令 集並無任何影響。如前所述’另—實施例可以化名封 料狀態之任何部份成浮點狀態。此外,另_實施例可以選 擇寫入任何値或選擇不去改變暫存器的符號及指數部份。 請 先 閲 讀 背 之 注 $ 事 項 裝 頁 訂 線 經濟部中央標準局員工消費合作社印裝 -34-良紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) A7 B7 五、發明説明(32 ) 表格2 :封包資料在FPU的效果 指令型式 標籤字 TOS(SW 13,11) 其它FPU環 境(CW資料 PTR,程式碼 PTR ,其它 SWE) 指數位元+封 包資料暫存器 位元符號(封 包資料) 封包資料 暫存器底 數部份(封 包資料) 從封包資料 暫存器讀取 封包資料 所有欄位 設定〇〇(非 空的) 0 未改變 未改變 未改變 封包資料寫 入封包暫存 器 所有攔位 設定〇〇(非 空的) 0 未改變 設定爲rs 被影響 EMMS 所有搁位 設定11(空 的) 0 未改變 未改變 (請先閲讀背面之注意事項\4彳.寫本頁) 經濟部中央標準局貝工消費合作社印製 對於較前的封包資料指令集指出寫入浮點暫存器的符號 和指數部份均被設成1 ,此情形發生是因爲浮點暫存器使 用浮點暫存器的指數部份,且在封包資料指令集執行後, 封包資料暫器即是一個決定的狀態。在英代爾結構的微處 理器中,浮點暫存器的指數全部被設定成1 。部份被中斷 而不會變成數字(NAN),因此除了設定封包資料標籤330 爲一非空狀態之外,浮點暫存器的指數部份全部被設定成1 可能被用在指示前面執行的封包資料指令集。如此更進一 步阻礙了封包資料指令集與即將修正資料的浮點指令集兩 者間内部資料的混合,而產生了不適當的結果,因此,當 浮點暫存器包含浮點資料及封包資料時,存在另一種方法 -35- 夂紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ^〇7〇8 五、發明説明(33) 可以分辨浮點碼。 因此,一方法可執行與現存作業系統相容的封包資料指 令集(如由華盛頓,Redmond微軟公司所提供的微軟視窗 作業環境)及此方法提供良好的程式設計技術已有説明,因 爲封包資料狀態化名成浮點狀態’藉著存在的作業系統, 此封包資料狀態將被保存及恢復,如同其爲浮點狀態— 樣。而且因爲封包資料指令集執行所產生的事件有用,藉 著現存的作業系統事件執行程式,這些事件執行程式並不 需要修正,且新的事件執行程式也並不需要增加。結果, 此處理器與已往的皆相容且在升級上不需要花費用和時間 去發展或修正作業系統。 經濟部中央標率局員工消費合作社印繁 1· ^ ^ —— (請先閲讀背面之注意事項一寫本頁〕
、一1T 線 以此種方法不同的實施例也相容於現存的作業系統中。 參考圖7A-C’8’9及圖11A-C。雖然這些具實施例相異, 下列是實施例的共同點(此實施例如圖4A_B ,圖7α· C,8,9 ,圖11A-C所示):1)浮點及封包資料狀態,至少 呈現軟體被儲存在一個單一邏輯暫存檔,2)當£1^位元指 示「浮點指令集應該被模擬」,封包資料指令的執行除^ 產生一個無效的運算碼外而非—個有效的裝置,3)當丁8 位元指示’’一個部份的内容切換執行”,封包資料指W令集 產生一個供效裝置異常;4)未決的浮點事件藉著封包資料 指令集的嘗試執行而加以處理5)任何封包資料指令集的執 行將導致頂端堆疊指標在下一個浮點指令執行之前被改 0,6)假使EMMS指令執行未被任何其它封包資料指令集 所遵循,此EMMS指令執行將導致所有標籤在下一個浮 -36 -
五、發明説明(34) 輕濟部中夹棣準局員工消費合作衽印製 指令執行之前被改變成空的狀態,7)假使封包資料指令集 執行未被EMMS指令所遵循,則標籤將在下一個浮點指令 執行之前改變成非空的狀態,8)有—些數値表示NAN(非 —個數字)或無限大藉著處理器用符號及指數範圍寫入FP / pD暫存器是爲了反應到封包資料指令的執行,9)不需 要新的空微碼事件執行程式。 如圖4A-B示不同實施例,有一些已被説明過,可能是 全部或部份相容於這種作業系統,且提供良好程式設計技 術。例如,此説明的實施例可以移到正確步驟的不同位置 如圖4A-B流程圖所示,其它本發明的實施例可以改變或 移除一個或更多個步驟。例如另—實施例無法支援em位 元。當然,本發明對任何系統結構可能是有用的且未被限 制於此所述之結構,使用上述方法執行浮點和封包資料指 令集’建議程式設計師使用現在發明的實施例去區分他們 的程式碼爲幾個部份,包含分隔浮點區及封包資料指令集 如圖3D所示,這是爲了允許狀態儲存及封包資料狀態的清 除’可較先從浮點運算順序至封包資料運算順序,這也允 許相容於先前工作切換的方法包含那些在工作切換間儲存 的背景資料。 因爲封包資料指令集影響浮點暫存器300(圖3A),且任 何單一封包資料指令設定所有浮點標籤成非空的狀態,將 程式碼分開成區段碼的型式,因此被建議作爲合適的簿 記。圖3 D舉例説明混合式浮點執行及區段封包資料指令集 的執行例。此包含合作的多工作業系統運算或在單一應用 ----------^ II ** 請先閲讀背面之注意事項&i,寫本頁) 訂 線
五、發明説明(35 I混合式浮點及封包指令應用程式碼,在其它案例中,# 奢分開函數成爲分離的浮點區塊及封包資 =⑽的合適簿記,相同的標藏及頂端堆叠指標得= 休0 =如’在圖3D舉例説明—個執行流程包含第—组浮點指 ,在浮點指令集38G方塊結束之後,如果應用程
i::’浮點狀態可以被儲存’這些可利用任何之前已知 支術元成。包含列出浮點堆疊或使用FSAVE / FNSAVE =在英代爾設計的處理器。也可能完成浮點環境的像存 2最小内容切換之間及檢查個別的標籤作爲指示含有效資 ·、·的相同的浮點資料’對於每—個標籤可指示包含資料的 :同的浮點資料,此相同的浮點資料暫存器將被儲存下 需要在此情況之下’浮點暫存器的數字指示可能也 第-組浮點指令集則執行之後,第二組封包資料指令 2 382也在執行列執行,如果轉移指令集州未被執行時 ^個封包資料執行將導致所有封包資料標籤33。有時被 ?又疋非空的狀態在區間3 8 6。 如果沒有工作切換發生,隨著封包資料指令集M2執疒 之後,轉移指令集39G即被執行,轉移指令集39G可能I 2儲存封包資料狀態’這些可利用前述浮點機構完:: 存扣令集,或只是一個專用的指令用來儲存封包資料狀 態’此封包資料狀態可用任何先前之方法儲存,包含部份 的及最小的内容切換機構,不論封包資科狀態是否 -38 · 320708 經濟部中央標準局貝工消費合作社印製 A7 B7 五、發明説明(36) 存,轉移指令集390使封包資料狀態變空,在此事件中, 封包資料狀態影響封包資料標籤3 3 0及相同化名的浮點標 藏3 20 ’如前所述’藉著執行單一指令EMMS或將於下圖 14討論的—連串浮點運算來使得封包資料狀變空。結果處 理器使得在間格388中的包封數據狀態有時候成爲空狀 態,且加以啓動以執行符電指令。 在傳輸指令集390執行之後,執行第二組浮點指令組 384 °因爲標籤已成爲空狀態,且在第二間隔388期間, 警示堆疊的頂部指向第一實質暫存器〇 。此可防止產生浮 點堆疊疋溢流的異常狀況。在某些軟體配置中,在某些轉 換按巧堆疊溢位情況可能造成中繼器處理器儲存及變空封 包資料狀態’因此’在目前發明之實施具體實例,區段的 内容混合封包資料及浮點指令集是被容許的,然而,必需 配置合適的簿記藉由應用程式設計師或合作的多工程式碼 儲存任何想要的浮點或封包資料狀態,在封包資料與浮點 指令集轉移之間,如此工作的狀態,在轉移間就不會毁 損’此外’這方法可避免發生不需之特例於此發明中未被 建議使用之程式設計技術之具體實施例。 EMMS指令允許包封數據指令_及浮點指令串之間進行 平滑傳輸。由上可知,浮點標籤可避免可能發生的浮點溢 流狀態’而且復歸儲存在堆疊欄35〇中的頂部堆疊指示。 雖然可配置執行這些操作的頂部堆疊指示,在本發明的關 點之内也預期,可結合現存的浮點指令而配置此操作。如 圖1 4範例所示,更進一步’此種函數可能被隱藏在第—個 .39- 本紙張尺度適用中國國家標準(CNS 規格(210X297公釐) !,--^------^ II (請先閲讀背面之注意事項寫本页) 訂 -線- 五、發明説明(37 A7 B7 經濟部中央標準局員工消費合作社印製 浮點指令的執行,此浮點指令跟随封包資料指令的執行, 在此實施例中,第一個點指令的執行(其它是儲存浮點/封 包資料狀態環境)跟隨封包資料指令執行導致處理器去執行 一隱含的EMMS運算(設定所有標籤成空的狀態)。 圖5所示爲一方塊流程圖舉例説明一可作模範的電腦系 統500 ’根據本發明的實施例。此模範電腦系統5〇〇包含 兩個處理器505,一個儲存裝置51〇及一個匯流排515, 處理器5〇5和儲存裝置510,藉由匯流排515相結合,此 外’些使用者輸出/入裝置,例如鍵盤520和顯示器 5 2 5也和匯流排5丨5相結合,網路5 3 〇也同樣與匯流排 515相結合,處理器5〇5代表任何型式1的中央處理器結 構如CISC、RISC、VLIW或混合結構,此外,處理器 可能由一個或多個晶片完成,儲存裝置510代表一個或多 個儲存資料機構,例如,儲存裝置5丨〇可能包含唯讀記憶 體(ROM)。隨機存取記憶體(ram),磁帶儲存裝置,光學 倚存裝置,快閃記憶裝置及其它可讀式機械裝置,匯流排 515代表一種或多種匯排(如pci 、ISA、X-BUS 、 EISA、VESA等)及橋接器(也稱作匯流排控制器)這項實 施例與單一處理器電腦系統有關連,此項發明也可用多個 處理器電腦系統來完成,此外,此項實施例與3 2位元及 64位元電腦系統有關聯,本發明未被限制在此種電腦系 統。 圖5額外説明505處理機含一匯流排單元545,一快閃 記憶體550,左指令组單元560,一記憶管理單元565及 -40- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210 X 297公嫠) 請 先 閲 面 之 注 項 裝 訂 經濟部中央橾準局負工消費合作社印裝 320708
一事件處理單元57G,當然處理器5〇5包含_電路,但 與本發明之完成並無相干,不需將外去瞭解。 匯流排單元545辑合快取記憶體55〇之外所產的信號, 匯流徘單元545並用於監視且計算在處理器505外部所產 ^的信號。能協調輸出信號對應到輸入信號及協調在處理 器505中,從其它單元及機構結構來的内部要求信號。 快取i己憶體5 5 0代表!或多個错存區,處理機5〇5使用 成-指令辟存器及資料辟存器,例如,在一具體例中快問 ,己憶體5 5 0由兩個獨立貯存器完成一個是指令集用一個是 資料用,快取記憶體55G與指令組單元56Q及記憶管理單 元5 6 5相連接。 指令設定單元560包括硬髏及/或軔體以便解碼及執行 至少;指令組’如圖5所示’指令组單元560包括一解碼 /執行單π 5 75解碼單元是用來將處理器5。5所收之指人 集解成控制符號及/或微碼進人點。回應於這些控制㈣ 及/或微碼進人點,執行單元執行適當運算,解碼單元可 耩由使用任何不同機械結構來完成,(例如查閲表-硬體完 成器,1PLA等)’當藉由解碼及執行單元執行不同種指 令,此種指行是藉由-系列“如果/則,,之敘述句做代表, 則一指令々執行不需要一連串“如果/則,,之敘述句來進行 是可理解的,反而是任何—種用邏輯執行這種如果/則之 進行的機械結構被認爲是完成本發明之範圍内。 解碼/執行單元575包含—含有封包資料指令集之一指 令組單元580,而這些封包資料指令集可藉由執行任何不
訂
本紙張適用t國國豕標準(CNS)从桃(21(3><297公楚) 320708
五、發明説明(39) ^運算來70成。例如’當執行這些封包資料指令集,可使 f理器執行包浮點運算及/或封包整數運算,在一實施例 請 先 閱 讀 背 i 事 項 再一 4 本衣 頁 ’这些封包資料指令集可見於中請專利案"—组在封包 資料上運算的指令集”於1 995年8月31日申請,序號 D8/52l,3 60 »除封包資料指令集外,指令組58〇可包含 新的和—集及/或類似或相同於現有—般目的處理器之指 令’例如在一實施例中’處理器5〇5支援一指令组,此指 7组與現行處理器所使用之英代爾處理器結構指令組相 容,例如奔騰(Pent ium)處理器。 圖5也顯示指令組單元56〇包括—記憶單元5 8 5,此記 憶單元5 85代表1组或多組處理器5()5之暫存器用來儲存 資料,包括浮點檔封包資料,整數資料及控制資料(例如, 訂 E Μ指標,一τ S指標,一頂端堆疊指標等之)在某些實 施例中,有些在此有進一步説明,此記憶單元5 8 5在浮點 狀態化名爲封包:資料狀態。 經濟部中央標準局貝工消费合作社印裝 5己憶管理單元5 6 5代表硬體及軔體以配置一個或多個記 憶管理方案’例如分頁及/或分段。當可使用記憶管理方 案之數目爲任意時。在一實施例中,配置與英代爾處理器 結構與記憶管理方案相容。事件處理單元570與記憶管理 單元560相連接’事件處理單元570代表硬體及韌體以配 置一個多個事件處理方案,在一實施例中一與英代爾處理 機結構配置相容之事件管理方案。 圖5也説明儲存裝置510儲存一作業系統535及—封包 資料慣例540以供電腦系統500執行,封包資料慣例54〇 -42- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 3 G 7 G 3 五、發明説明(4〇) ^有序指令集,它包括—個或多個封包資料指令集。木 然儲存裝置51〇最好包含額外軟 备 需—定要瞭解此軟體。 )仁本發明不 在-實施例中當不同指標(例如,em指標,…旨 使^ 5G5處理器内之暫存器之位元組或另些實施例用任 ^技術來完成’例如’另—種實施例可將這些指標 至贿粒(例如,儲存裝置510)及/或使用各指標之中合位 這错存區域是用來參考儲存區域之任—機械結構, 二存=存裝置51。之位置,在處理器5。5中一個❹個 根據本發明之一實施例,圖6A方塊圖顯示―個裝置用以 化名封包在浮點狀態上資料暫存器狀態,係使用兩個分離 的實質暫存檀。因爲這兩個實質的暫存器樓案已被更名, 它們邏輯地出現在軟體上執行,在處理器中做爲—個單_ 邏輯暫存樓’ ® 6A顯示-個轉移單元6GG,—個浮點單 元6〇5,和封包資料單元01〇。浮點單元6〇5類似於第丄 圖中的浮點單元U5 。該浮點單6〇5包含一組浮點暫存器 組615,一套標籤組62〇,一浮點狀態暫存器62s和—浮 點堆疊參考單元63〇 。在—個實施例施中,該浮點單元 經濟部中央楳準局貝工消費合作社印裝 605包含有8個暫存器(標籤R〇到尺7)這8個暫存器中的 每-暫存器均具有8G個位元寬和包含_個符號襴位和指數 棚位及棚位》該浮點堆疊參考單元MO操作該套的浮點暫 存器615作爲—個堆疊,該浮點狀態暫存器〗55包含有— 頂端的堆疊欄位6 3 5 ,用以儲存頂端的堆疊指標。如先前 43- 本紙張適用中國國家標準(CNS ) A4規格(2丨0 X 297公釐) 3<;〇7〇8 A7 五、發明説明(41) 所述,頂端的堆疊指標識別 器组6 1 5中县扣/·认^ 叫貧存器在孩套浮點暫存 :組⑴中疋現在的洋點堆叠之頂端 的堆疊指標識別一暫存器64〇 中頂相 堆叠的頂層。 ㈣質…4作爲ST10 — 在-個實施例中,該套的標鐵組62 且被儲存在-個單-暫存器中 個標麵並 浮點暫存器且包含2位元。另_方面應到不同的 到來自化名之邏輯暫存||構案之彳 標籤被視爲應 目什裔·搭菜^一個不同的暫在 6A所示,標籤Ms對應到暫存器“ο。如 " 標籤被浮點單元005使用,用& A#、 斤各,廷些 π州,用以分離空的和非 位置。如先前所述’—個實施例能利二::存器 空的或非空的狀態其中之_,_ ,、籤識別 田知藏値得需要時,蔣护 些i位元的標籤出現在軟體上時爲包含2位 決 =2位元標錢値。當然,另-個實施例可完二= 的標藏。任-途徑,標鐵能被識別爲2個狀 空的狀態和識別00,01或10任何之_爲非空的狀餘。爲 。^包資料單兀61〇料封包資料和—套的封包 益组65G(也視爲-封包資料暫存器—檔),_ = 經濟部中夬橾準局貝工消費合作社印製 個 暫 中 64 器 庇暫存器655和-封包詩麵#參考單元㈣。在:狀 實施例中,該套的封包資㈣存器組6 5 q包含有 存器,這8個暫存器中的每—個對應到浮點暫存器615 不同的暫存器。在這8個封包資料暫“中的每_個孩 位元寬和對映到該封包資㈣存器料應到的料 〈64位元底數欄位1包資料非堆叠參考單元㈣操作卞 .44 本紙張尺度適用巾關家鮮(CNS ) A4^fM 210X2^^· S2Q708 A7
經清部中央#準扃貝工消费合作社印裝
五、發明説明(43) 包含獨立封包資料標籤,另外 或被接觸的(讀及/或寫)浮點暫存二封::料暫存器及/ 料,浮點標籤可因此目的來 了被認爲含有用資 另外,可包含額外指標以用於浮點。 過程中必須被考慮包含未定 刀化名,在一轉移 術是去假設之料殘被H好的程式寫作技 封包資料狀態暫存器655 一 …,-推測區670,_模式區一組封包資料暫存器 及-EMMS區685,任—封…5 ’―異常狀態區680 任封包資料污染區065與一不同之 封包資料暫存器650對應,^ “ 以且用來料於染指標,既 二封=暫存器650與浮點暫存器615有相應關係,當 寫 個値至任一封包資料 貪料暫存# 650 ’那個與污染指標有 關I暫存器就會被更改去指出―冷染狀態,當轉移單元 丨㈣包資料單元61()轉移至浮點單元⑷,i會被 窝至那浮點暫存器615的符號及指數區而與6is暫存器 對應之污染指標則會指出此污染狀態用這種方法,從圖4B 之步驟430就可完成。 模式區675是用來儲存一模式指標,識別那一種模式處 理器現正在運算在一個浮點模式内的浮點單元6〇5正被使 用,或一個封包資料模式内的封包資料單元61〇正被使 用’如果處理器是在浮點模式内,且—封包資料指令被接 收’則必須執行將浮點模式轉移至封包資料模式。相對 的’如果處理器在封包資料模式及一浮點指令被接收,則 -46 本紙乐尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 320708 A7 B7 五、發明説明(如) 經濟部中央標準局員工消費合作社印製 必須執行將封包資料模式轉移至浮點模式,如此一來,不 論收到一封包資料或—浮點指令,則模式指標會被登記以 決定一轉移作是否必要,如果轉移有必要,則會被執行且 模式指標會跟著變動,模式指標之操作會參照圖7A_9中進 一步説明》 異常狀態區6 8 0用來儲一特別狀態指標,特別狀態指標 是在執行封包資料指令來識別,在執行先前浮點指令時是 否有任何未定之特例時使用在一實施例中,如果特別狀態 指標指出諸如此類之異常未決定,則此類異常會於轉移前 供、·°至封包資料模式,在一實施例中,爲此目的浮點單元 6 〇 5所用之指標會被編碼或直接複製到特別狀態區成爲特 別狀態指標。 、EMMS區6 8 5是用來儲存一 EMMS指標,它可確認是 否上—次的封包資料指令之執行是用EMMS指令,在一 施例,當執行EMMS指令,EMMS指標會變成〗來指 上次封包資料指令之執行是因E MMS指令集,相對地, 執订其他所有封包資料指令集,Emms指標會改爲〇, 封包資料模式轉移至浮點模式,轉移單元ό 0 0登記 EMMS知標會決定是否上次封包資料指令是EMMS指令 如果上次執行的封包資料指令是EMMS指令,則轉移單义 6〇〇會將所有標籤62()改成空狀態^然而,如果上次執行 的封包資料指令不是EMMS ’轉移單S6GG會變所有標截 620至非命办戗 ., ' ^ 狀態。以此方法,標籤會改至類似圖4B步躱 432及440之形式。 囉 實 出 當 在 元 請 先 閲 δ 之 注 項 再- 4 寫 本 頁 裝 訂 線 本紙張尺度適财賴 -47- ---- 經濟部中央標準局負工消費合作社印製 A7 B7 五、發明説明(45) 推測區6 7 0是用來儲存推測指標,它能確定浮點模式轉 移至封包資料模式是否爲推測性的。如果轉移是推測的, A如果一轉移回到浮點單元605是必要的則時間就可省下 來’模式指標之操作會參照圖7A-9做進一步説明。 圖6B是一組方塊圖爲根據發明的實施例説明圖6A之浮 點堆疊參考檔的延伸圖。圖6B顯示浮點堆疊參考單元630 包含一標籤修正器單元690在一組標籤620内選擇性地變 動標籤。圖6B中顯示一實施例,各組標籤62〇只含1位元 以指出是空的還是非空,標籤修正器單元690包括一組 TOS調整單元096及一檢查/修正單元698,各TOS調 整單元696與微操作線692相連接,根據配置情況(例如, 只有一個TO S調整單元只接收丨微操作)來接收丨個或多個 微處理,至少微處理用的浮點指令集需要標籤被改變而被 T0S調整單元696所接收。當然,浮點堆疊參考單元63 0 會因被T0S凋整單元696所接收之所有或僅各微處理之對 應部份而加以配置。 回應所接收的1微操作,一 TOS調整單元轉移至檢查/ 修正單元698至少有:1)由微處理確認一组標籤内的標籤 位址,2 )彳έ號指出在那些標籤(例如被登記變成〇或1 )上 執行的活動,標籤之登記在本發明裡不需要睁解 詳加説明。各T0S調整單元696與694相連:= 收現有T0S値及調整標籤位址,檢查/修正單元698利用 至少一等線與620標籤相連,例如,檢查修正單元698 利用一窝線與標籤645相連接,相應於收到標籤位址與對 ___ ·48· 本紙張尺度適用中ΐΐ國家標準(CNsj Α4規格(210X297公釐)一 ^ n n n n n I n n I -威 (請先閲讀背面之注意事項^瑣寫本頁) 五、發明説明(46 ) A7 B7 經濟部中央標準局貝工消費合作社印裝 應信號,檢查/修正單元698會執行必要的檢查及/或修 正,在一完成過程内,多數微處理可能被一次接收,檢查 /修正單元698也會在微處理中進行比較以決定是否他們 正在修正相同之標籤(例如,假設微處理一需要標籤一變成 1,當微處理二,在同時被接收成微處理―,需要標籤一變 成〇)如果同一標籤被修正則檢査/修正單元698決定那個 微處理被最後執行且根據那微處理來變更標籤,在上述例 子裡,假設微處理二在微處理一後執行,則檢查/修正單 元6 9 8會改變標籤一以指示〇。 例如,假使執行一浮點運算,需要一標籤(例如標籤645) 欠成空狀態’一個τ Ο S調整單元就會收到現有τ 〇 s値及 一個在微處理線0 92上之微處理確認一標籤。此T〇s調整 單元會決定此標籤(例如標籤6 4 5 )之位址並轉移此位址及 指出標籤應被改變成空狀態之信號至檢查/修正單元 698 ’相對地’檢查/修正單元698會在與標籤645相連 接之寫線上藉著一個〇將標籤645改成空的狀態。 在一實施例中,配置浮點指令集使得全部標籤需要一次 修正完成’配置標籤修正器單元690無法一次修正全部標 鐵。爲免電路複雜,相應於一個轉移至浮點模式之全面性 標籤更改可因現使用之機械結構而加以配置。在這方面, 如果轉移單元600是在微碼中加以配置,則這組微碼指令 集會導致解碼單元發出幾個現有之微處理來變更8個標 藏。如此一來,當EMMS指標指出EMMS指令爲最後將 被執行之封包資料指令,相應於執行一轉移至封包資料模 請 先 閲 讀 背 it 項 寫 本 頁 裝 訂
A7
A7 320708 五、發明説明(48 ) 之實施例,在一組化名在一組浮點暫存器之暫存器上執行 封包資料指令集,就某種意義而言,以其方式爲使用不可 見之作業系統,而提升良好程式規劃能力,且可用圖6A之 硬體加以配置。流程圖類似圖4 A及4 B所説明流程圖,參 考圖4A及B説明許多另外的實施例裡之步驟被更改,移動 及/或刪除’ 7A ’ 7B,7C ’ 8及9所説明之步驟與圖 4A及4B所提及之步驟相類似,這些步躁至少被執行來使用 諸如此類之另外的實施例,此流程圖自步驟7 〇 〇開始,自 步驟700至步驟702。 如步驟7 0 2,一组位元組如指令一般加以存取,然後流 程執行步驟704 ,此位元組包括一運算碼來確認運算。透 過指令執行,如此一來步驟7 0 2則類似圖4 A之步驟 402 〇 在步驟704中’決定運算碼是否有效,如果運算碼無 效,則流程進入步驟7 0 6。否則,流程進入步驟7 〇 8 ,步 驟7〇4類似圖4A之步驟406。 經濟部中央標準局貝工消費合作社印製 在步驟708中,決定何種型態之指令被接受。如果指會 既非一浮點指令或一封包資料資料指令,處理流程進入步 驟71 〇。然而,如果指令是一浮點指令,則流程進入步驟 7 1 2。相對地,如指令是—封包資料指令,則處理流程進 入步驟714,如此一來,步驟708則與圖4A之步驟4〇8 相類似。 如步驟71〇所示,處理器執行指令,由於此步驟並不需 要被瞭解於此項發明中,在此即不再另述,在圖4A中, -51 - A7 B7 五、奋明説明(49) 驟7 1 0類似步驟4 1 0。 如步驟712所示,決定是否EM指標等於ι(根據軟體傳 統説明,如果浮點單元應被模擬的話)及TSD指標是否等 於1 (根據軟體之傳統上的説明,如果部份背景被執行的 話),假使E Μ指標及T S指標都等於1 ,則處理流程進入 步驟7 1 6,否則處理流程進入步驟7 2 〇,因此,步驟7工2 類似圖4A所示步驟412。 於步驟716中,產生無效異常裝置及且執行同一事件管 理器,因此,步驟716類似於圖4A中步驟41 6。如前所 述,事件管理器可能被使用在EM* TS指標用來決定是否 模擬的浮點指令及部份的内容切換被執行。 於步骤714中決定是否EM指標等於i ,如此,步驟 714類似圖4A中步驟414。因此’假使在步驟714中, EM指標等於1,處理流程進入步驟7〇6而非步驟716。 否則處理流程進入步驟7 1 8。 如前所述,在步驟706產生無效異常裝置及且執行同一 事件管理器,藉轉移封包資料指令的嘗試執行,除了無效 的運算碼ΕΜ等於1之外,此實施例未見於作業系統中, 如前所述步驟4〇6,參考圖4Α。 本又以説明一實施例其用於處理ΕΜ指示,其方式爲名 得作業系統爲不可見。另_實施例可以使用其它的技術, 舉例來説’另-實施例可能產生異常無效裝置,—個不民 ^存在的事件,或是—封包資料指令嘗試執行而反應的袭 事件,而此ΕΜ指標等於!時。如其它範例,另—實施合 -52- 本紙張度適用t國國家標準(CNS ) Α4^ΤΤϊ^297公釐)__ 320708 A7 B7 五、發明説明(5(5) 經濟部中央標準局貝工消費合作社印製 是當執行封包資料指令集時可能忽略Em指標。 如步驟718所示決定是否TS指標等於1(根據軟體説明 慣例,如果内容切換執行)。假使TS指標等於i ,處理流 程進入步驟716,否則處理流程進入步驟722,因此步驟 7 1 8相類似於圖4 A中步驟4 1 8。 如前所述,在步驟716中,產生無效異常裝置及且執行 同一事件管理器。步驟716相類似於圖4A中步驟418 , 由於步骤714在無效的運算碼外轉變em.指標等於1,此 E Μ指標必需等於0及τ S指標必須等於1,因爲T s指標 等於1 ,事件管理器即引導處理器發生作用,如前所述參 考郅份内容切換(儲存浮點單元内容及恢復正確的浮點狀 態,假使需要的話)及藉著步驟7〇2使處理重新恢復執行啓 動指令,因爲封包資料狀態被化名成浮點狀態,此事件管 理器在浮點和封包資料狀態内開始工作。結果,此方法依 然是未見於作業系統,當然,另一具體實施倒可以任何其 它方法完成此事件管理器。 前述之一實施例已説明在未見於作業系統中,處理T s指 標的方法另一具體實施例可以使用其它的技術,例如,另 一具體實施可能無法完成τ S指標,如此這種實施例使用 T S指標去完成部份背景換方式將不能與作業系統相容,然 而,此種實施例將能與現在使用TS指標卻不支援部分内容 切換的作業系統相容。如其它例子,當τ S指標等於1時, 封包資料指令嘗試的執行可能被轉變成一個新事件管理器 或是一個已被修正的現存的事件管理器,假使採用被認爲 ___________~ 55 - 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 請先閱讀背面之注意事項寫本耳〕 -裝· 今 線 五、發明説明(51 ) A7 B7 經濟部中央標準局貝工消費合作社印裝 適合此情況的方式可配置事件管理器。例如,在一具體實 施例中’封包資料狀態未被化名爲浮點狀態,此事件管理 器可以儲存此封包資料狀態或浮點狀態。 如前所述,假使某些數値錯誤發生於執行浮點指令時, 那些錯誤在代決定態,直到下一個浮點指令嘗試中斷處理 那些錯誤爲止。如前所述,圖4步驟420及422決定是否 有其它未決的錯誤需要處理。同樣相類似的步驟42〇於圖 4A中決疋疋否有任何像這樣未決的錯誤需要於步驟72〇中 處理,假使有任何這種未決的錯誤發生,流程由步驟72〇 至步驟724。然而,假使於步驟72〇決定沒有這種未決的 錯誤發生,處理流程進入步驟7 2 6 ^對比之下,是否有其 它未決的錯誤發生於先前的浮點指令集及嘗試執行的封包 資料指令集之間,在其它後述步驟將被執行結論是步驟 722不同於步驟422。 在步驟724中,產生一未決的浮點錯誤事件。因此,步 驟724類似於圖4A中步驟424,如前所述參考圖4a步驟 4 2 4 ,此事件可被視爲—個内部或外部的事件而—起處 理° 如步驟726所示,決定假使此模式指標指示處理器以浮 點模式運算,則步驟726不同於圖4B中步骤㈣,假使 處理器不以浮點模式運算,則處理器將必需要將封包資料 模式轉帛成浮點模式以執行浮點指令。因此,假使處理器 不是在浮點模式,處理流程進入步驟728 ,否則,處理产 程進入步驟7 3 2。 '& -54 ,卜纸張尺度適用中國國家襟準(CNS ) Α4規格(210x297公楚) 請 先 閲 讀 背 Λ 之 注 項 養 裝 訂 五、發明説明(52 ) A7 B7 經濟部中央#準局員工消費合作社印製 在步驟728中,處理器被轉換由封包資料模式至浮點模 式處理流程進入步驟730,於圖6A中步驟728藉著轉移 單元600而被執行,且此步驟將後述於圖9中。 如步驟730所示,步驟7〇2所接受的指令藉著,,微啓 動”而重新執行,既然執行步驟728之實施例是使用微碼 及微啓動之指令,則需要執行非作業系統之事件管理器。 、’·〇果可以不需用處理器外部即可重新恢復目前工作,沒 有任合非微碼作業系統事件管理器(諸如此類作業系統事件 管理器)需要執行。因此,處理器可以轉移封包資料換式成 爲浮點模式就某種意義而言未見於軟體中,包含作業系統 在内。以此方法,此實施例相容於現存之作業系統,另一 具體實施例可能以較不相容的方式來完成,例如,一個額 外的事件可能被合併到處理器,且另—額外的事件管理器 可被併入作業系統來完成這種轉移。 如步驟732所示,浮點指執行,步驟732與於圖4b中 步驟426相類似β爲爲持作業系統保持不可見形式,有必 要使用-具體實施例改變標籤,報告現在可提供的任何數 値的錯誤,JL確定其它未決定的錯誤。如前所述,改變標 籤允許此具體實施例保留作業系統,此非其它作業系統技 術所能見,它能错存在對應指示非空狀態浮點暫存器的内 容。然’如前所述,另—具趙實施例用較少的作業系統技 術即可相容。例如,假使一現存之作業糸統並無利用標 -個不能完成這些標籤的處理器將仍然與此作業相 谷。此外,本發明;^需要等待未決的數値的浮點特例 _______ _ 55 - ϋ張尺度適财目g)家標準(CNS )糾⑻ 請先閱讀背面之注意事項4: 填寫本頁) .装
•1T 線 320708
經濟部中央標準局員工消费合作社印製 此,此另一實施例仍然在本發明範圍内。 如步骤722所示決定是否此模式指標指 資料模式,因此,在圖4八中,步驟722不同= 422,步驟722決定處理器是^在適當的模式以執行封包 資料指令,假使處理器未在封包資料模式,則將必需由浮 點模式轉移至封包資料模式以執行封包資料指令,如此, 假使處理器未在封包資料模式,處理流程進入步驟734, 否則,處理流程進入步驟7 3 8。 在步驟734中,處理器由浮點模式轉換至封包資料模式 且處理流程進人骤73 6 ’藉著圖6A中轉料元6G〇執行 步驟7 3 4且圖8將更詳細説明。 如步驟7S6所示,步驟702所接受之指令藉由執行一個 微啓動而重新啓動,因此,步驟736類似步驟73〇。 在步驟73 8決定是否封包資料指令集爲EMMS指令集, 假使正確處理流程進入步驟7 4 2,既然封包資料指令集被 執行在一分離的單元(例如封包資料單元),則它更有效率 儲存指標(如EMMS指標)於步驟728所示,當轉變回浮點 模式成爲實施例可執行的操作(例如,改變標籤成空的狀 相對應EMMS指令的執行,及改變標籤成非空的狀態, 對應於其它封包資料指令集的執行,使用EMMS指標也和 其Έ:指標一樣,將於圖9中説明由封包資料模式轉變成浮 點模式)。 如步驟740所示,此EMMS指標被更改指示上一個封 資料指令就是EMMS指令。當完成步驟 74 0時,處理器 態 相 包 即 請先閲讀背面之注意事項一一馱寫本頁 -裝.
、1T 線 -56 - 氏依尺度通用中國國家標準(CNS ) A4規格(210X297公釐)
經濟部中央標準局貝工消費合作社印$L A7 ------ --B7 五、發明説明(54 ) 被釋放以執行下一個指令(此指令合邏輯性的遵循步驟702 所受之指令)。 如步驟742所示,執行此封包資料指令而不產生任何數 値上的特例。因此,在圖4B步驟742類似步驟434,除 了頂端堆疊指標未被改變之外,如前所述,另—並非完全 不可見(作業系統〈具體實施例可能被完成就像合併作業 系統之額外事件管理器或者是處理錯誤之現存事件管理 器。假使因嘗試執行封包資料指令而產生任何記憶體事 件,則執行被中斷且事件被處理。 如步驟744所示,推測指示指出浮點模式轉移至封包資 料模式不再爲可預測。在步驟744中,處理流程進入步驟 746,此推測指示的運算將進一步於圖8中説明。 如步驟746所示,決定是否封包資料指令導 入任何化名的暫存器内。如果是,則處理流丨== 748,否則,處理流程進入步驟75〇,因此,圖4B中,步 驟746相類似於步驟736。 在步驟748中,化名暫存器對應之污損指標被改變成污 損狀態,且處理流程進入步驟750。當封包資料模式轉移 至浮點模式時’此污損指標使用於步驟7 2 8中,如前所 述’此污損指標被使用於識別那些等待及指數欄位應被寫 成1的浮點暫存器。在一實施例中’ 1被寫入算符及指數 欄位。另一具體實施例可能使用任何値代表nan(非一數 字)或無限大,在另一具體實施例中將不需要步驟746及 748,此實施例之算符及指數櫊未被更改。 -57- 彳紙張尺度適用中國國家標準(CNS ) A4規格(2!〇><297公釐) 請先閏讀背面之注意事項i填寫本百) -裝- 訂 A7 B7 五、發明説明(55 經濟部中央標準局負工消费合作社印製 如^驟750所示,此EMMS指標被更改指示上一個封包 ",扎令就是EMMS指令。當完成步驟75 〇後,此系統被 釋放執行下—個指令,當然,未利用EMMS指令之實施例 即不需步驟738 ’ 734及步驟750。 因此,一現存作業系統相容方法和裝置(諸如此類有效的 出算於田觥微軟公司,華盛頓的Ms_D〇s視窗作業環境) 可執行封包資料指令,且可提昇良好程式設計技術。因爲 封包資料狀態,被化名成浮點狀態,此封包資料狀態,將 被保留及恢復藉由現存作業系統如同它是浮點狀態一般。 f者,因爲藉由現存之作業系統事件管理器執行封包資料 私:集產生的事件,這些事件管理器不需被修正且新的事 件管理器不需要増加。結果’之前可相容的及可昇級的處 理器,的確需要成本和時間去發展或修正一個作業系統。 這實施例的變化例中有一些已加以説明,可能是全部或 部份地相容於諸如此類作業系統且/或提供良好程式設計 技術。例如,本發明之另一具體實施例可能移動某些步驟 到不同的位置流程圖中。本發明之其它實施可能改變 除一或各步驟,假使某些步驟於移除如圖7A , 7B和〉且 7C,某些硬體於圖6A中將不需要。例如,假使emms指 令未利用,此EMMS指標則不需要,當然,本發明可能對 任何一種系統結構有用,在此説明之結構未被限制。 再者,已應用一方法和裝置説明化名爲兩個實質暫存 檔,另一具體實施例可化名任何—個實質暫存檔去執行任 何一個不同型式的指令集。此外,此實施例說明,參考一 請 先 聞 面 之 注 項 装 訂 -58- :紙張尺度適用中國國家標準(CNS ) A4規格(2ΐ〇χ297公楚) 、發明説明(56 ) 經濟部中央揉準局貝工消費合作社印装 H r 純料㈣令集及—㈣質平姆型暫 執行封包資料指令集,在這裡所談収方 ^ 二名至少-個實質堆疊暫存標及至少—個t質平坦^ 檔,而與在這些暫存檔將執行指令集的型式皋關。 此外,已説明-執行浮點及封包資料指令的方法及裝 置,另-具體實施例可提供以執行任何—個同型式的指人 集’例如’所前所述’此封包資料指令集可完成以心: 理器執行封包整數運算及/或封包浮點運算。如另一範 例,另-具體實施例可化名實質暫存料爲執行微小的浮& 點及微小的整數指令集,而非化名或在浮點暫存器的封包 資料指令集β另一具體實施例在整數暫存器中可能化名成 封包資料指令集,如其它範例,另一具體實施例可在一個 單一邏輯暫存檔化名微小浮點,微小型數及封包指令集(整 數且/或浮點)的執行。因此,在此説明的意義用來使得 合邏輯地表現在軟體中,此軟體是一個單邏輯暫存樓有 的執行不同資料型式的指令集。 圖8爲本發明之一實施例流程圖説明一執行方法。如 所述,在步驟754中,此處理器由浮點模式被轉移成封 資料模式,由步驟722,處理流程進入步驟800。 如步驟800所tf ’決定是否有任何在先前的浮點指令 中的未決定錯誤。如果有,處理流程進入步驟724 。 則,處理流程進入步驟8 0 4,因此步驟8 0 0相似於圖7 步驟720及圏4Α之步驟422。 如前所述,在步驟7 2 4中,產生此未決的浮點錯誤異常 它 前包 集否 之 請 先 閲 背 面 之 注 意事 項 会 裝 訂 -59- 本紙浪尺度適用中國國家標準(CNS ) Α4規格(21〇X 297公釐)
經濟部中央標準局貞工消費合作社印製 及適當的事件管理器被執行β 4 424,此一事件可能:當仃作= 所述’參考團4Α之步骤 理。在另-實施例,諸如此心部或外部事件及加以處 時留待未決。在另-個變更;㈣包資料指令集 時,諸如㈣线崎解\實施財’執行封包資料指令 :步驟804所不’存在浮點暫存器殘値 2包資料暫存器,如此—來存在浮點暫存 == =資料-樣操作’如果全化名作業完成,則在所 :存::存㈣料複印至對應封包資料暫存器 地’如果配置部份化名作業,可配置—實施例 指示非空狀態之浮點暫存器殘値區之資料複G 所以變更實施例將不允許儲存於浮點暫存器之= 被操作,流程自步驟804進入步驟8〇6。 令:=二:旨令 科模式初始化。 ㈣8G8。此步縣行封包 :步驟8G8所示’每料染指標變動指示清潔狀態並 步驟81〇,步驟8〇6及8 08執行封包資料模式初始化。 如步驟810所示,推測指標變更而指出浮點至封包資料 轉移具推測性的。雖然像存在浮點暫存器之資料已在步驟 變卩至,資料暫存器’但浮點單元之狀態並未改 來浮點狀態仍爲現用的(例如:浮點暫存器殘 値區之資料相當料在封包資料暫存器之資料,·標藏未; 資 至 請先閲讀背面之注意事項4;从寫本頁) -裝·
.1 I .纸張尺度適用t固國家標準(CNS )如規格(2IGX2_着 -60- 五、發明説明(58 ) 經濟部中央樑準局員工消費合作社印製 改,頂端堆#指標未被更正)。如果—封包㈣指令接著 執行,則儲存在封包資料暫存樓之資料將會變更,而浮點 狀態也不再爲現用者。結果’有封包資料模式轉移至浮點 模式會要求浮點狀態需予更新(例如,存在封包資料暫存器 々資料會被複製至點暫存器之殘値區;頂端堆叠指標必需 變成〇而標籤也必須變成空狀態)。然而,如嘗試先執行浮 點指令集再執行任何封包資料指令集(這造成如果—事Ζ 執行封包資料指令先發生則會導致浮點模式轉移至封包資 料模式,例i,如|在嘗試執行封包資料指丨時發生記憶 體故障),料點狀態不需更_它現在仍在使用中。爲ς 免更新’自封包資料模式轉回至浮點之殘値區的操作,將 會刻意減少。爲了事實上的需要,推測指標在此步驟變 更,指出自浮點單元轉移至封包資料單元是推測性的,一 浮點狀態仍爲現在使时者。如果_封包資料指令接著執 行,則推指標會變更以指出此轉移不再是推測性的。如先 前圖7之步驟744所説明,推測指標之使用在圖9中將詳 加説明。當使用推測指標説明一實施例時,適用之實施例 會避免履行此一推測指標。 步骤812中,模式指標被變以更指出處理器正在封包資 料模式,然後自步驟812進入步驟736。 圖9 一流程圖根據本發明之實施例説明執行圖7之步驟 728的方法。如前所述’在步驟728中,處理器合自封包 資料模式轉移至浮點模式,然後自步驟726至步驟39〇〇'匕 步驟900中決定推測指標指出轉移至封包資料模式是否 (請先閲讀背面之注意事項k "'寫本頁) -裝- 訂
32G708 Α7 Β7 五、發明説明(59) 經濟部中央標準局員工消費合作社印聚 仍是推測性。如前所述,推測指標可用來減少自封包資料 模式轉移至浮點模式之過載。如果在步驟900中決定出浮 點轉移至封包資料是推測性的,則步驟9〇2至步驟91 2可 省略,直接進入步驟914 ,而轉移過載會被減少,否則則 進入步驟902。 如步驟902所示,其中決定EMMS指標所指出的最後封 包資料指令是否爲EMMS指令β如果是,流程進入9〇4, 否則流程進入906,如前所述,封包資料指令集在—獨立 單元(也是封包資料單元)執行,使其更有效儲存指標(例; EMMS指標)’以確認當轉移回到浮點模式而非執行某種運 算(例如變換標籤)’以確認當轉移回到浮點模式而非執行 某種運算(如例如變換標籤)時,那些動作需要執行,如此 —來,EMMS指標變動而非變動標籤來與emms指令相 呼應。錢當執行轉移回到浮點模式’標籤會跟著變動, 如文中所示。 步骤904巾’所有標籤會變成空狀態且流程進入步驟 908用這種方法,標籤會變動與圖4B之步驟432類似。 在步驟906中,所有標籤變成非空狀態且流程進入 908 ’用這種方法,此標籤會像圖4B步驟44〇之類似方式 變動。 如步驟908所示,封包資料暫存器之内容被複製到浮點 暫存器之底數區且流程進入步骤91〇。使用此—方式,儲 存在封包資料暫存器之資料就可像浮點資料一樣操作。此 外’當執行多種任務時,既然現有操作系統已儲存浮電狀 (請先閲讀背面之注意事項144寫本頁) m n^— HI I-I— nn · •裝_ 訂· 々紙張尺度適财賴家料(CNS ) 公釐) 62- 經濟部中央標準局貝工消費合作社印製
五、發明説明(60) •t、’則封包資料狀態會被儲存τ來^自不同背景結構再如 浮點狀態般加以儲存。使用此一方法,實質封包資料暫存 器被化名在實質浮點暫存器裝,且處理器會合邏輯地出現 有-單-邏輯暫存樓。結果,此實施例之運作將無視於此 -軟體的存在,包含操作系統。如果全部化名均已配置, 則儲存在所有封包資料暫存器之資料會被才复製到對應浮點 暫存器之底數區。相對地,如果配置部份化名,可配置— 實施例,只有儲存在那些有接觸的封包資料暫存區的資料 會被複製到與浮點暫存器適當對應的底數區。 噙步驟910所示,頂端堆疊變成一初始化値。在此實施 例中,此値爲0 ^ —變更之實施例裝,任一封包資料指令 之執行將頂端堆疊指數設定成初使化値,自步驟91〇流程 進入912。 如步驟912所不,1被存在那些浮點暫存器之符號與指 數區,那些與污染指數有關之浮點暫存器則在污染狀態, 用這種方法執行圖4B之步驟438,自步驟912流程進入 步驟9 1 4。 在步驟914中,變更模式指數以指出處理器在浮點模式 下被操作且流程進入步驟736。使用此一方法,封包資料 模式轉移至浮點模式。 圖1 0之方塊圖説明根據本發明之另一實施例,説明使用 單—實質暫存器檔的符點狀態上,用於化名蜂包數據狀 的資料流程。圖10之裝置至少能執行指令組5 8〇。圖J 請 先 閲 讀 背 之 注 I- 食 裝 訂 態 0 顯示一解碼單元1 002,一重新命名單元1〇〇4,一撤回單 63 - 表紙張尺度適用中國國家標準(CNS ) A4規格(210X:297公;t ) 五、發明説明(61) 元1006,一發佈單元1008,一執行單元1〇1〇,—組狀 態暫存器1012及一微碼ROM 1014。 解碼單元1002用來將處理器所接收之指令集解碼成控制 仏號及/或微碼進入點。這些微碼進入點辨識自解碼單元 1002轉移至處理器内不同單元之微處理(又稱UOPS)之順 序。當某種微處理可能被存在解碼單元1002 ,在一實施 例,大多數之微處理會被存在微碼記憶體1014,在此實施 例,解碼單元1 〇 〇 2將微碼進入點轉移至微碼記憶體1 〇】4 且它藉著轉移回解碼單元1〇〇2回應所需之微處理。 解碼單元1 002所接收之大部份指令包含一個或多個運算 疋(不是資料,一暫存器位址,或一在記憶體之位址)指令 集之運算則在此執行,那些運算元會視暫存器是被轉移至 重新命名單元1 004。 重新命名單元1004及撤回單元 ,…1川不元风贅存器^ 名’暫存器t命名技術是眾所皆知的且是用來執行避突 不同指令集嘗試用一些有限之儲存値址造成儲存衝突。分 如暫存器即使相衝突之指令集應是獨立的但當諸如此類泛 指令集與其他指令集相衝突時’财衝突還是會發生儲為 =突’可經由提供額外暫存器(參照此處之緩衝暫存器 消=,暫存器是用來重新設立暫存器及値之間之一致性, 爲完成暫存器重新命名,處理器典型地爲每_個新產生之 値分配位址至不同之緩衝暫存器:也就是爲每—個指 —暫存器’一個指令辨識最初暫存器,爲目的在分配:址 之緩衝暫存器得到暫代値,如此_來,硬體重新;= 32Q7Q8
指令集之最初暫存器辨認此緩 左哭你普斟淹、发衝臀器及正確値,根據與暫 存器作業對紅暫存器參考之位址,在幾個不同指令集之 相同暫存辨識器可存取不同硬體暫存器,關於暫存器重新 命名之更進-步的説明,參見強森,麥克的“超小型微處理 器設計:,1991由紐澤西得PTR Prentice Hau⑹發 行,暫存器更名表格的旗標命及遮罩”,序號 〇8/204’521 ,由ColweU et al等人所有,,,處理器更 名表格之整數及浮點暫存器,,序號08/1 29 678,由cun et. al·提出;及’’暫存器更名表格之部份欄寬度,,序號 〇8/1 74,84 1 ’ 由 C〇i〇welI et al 提。,當一指令已成 功地執行(沒有導致任何事件未被解決),分配位址之緩衝 暫存器指令集會被撤回,一値會自緩衝暫存器轉移至指令 禋辨識I最初暫存器,變通之實施例可配置消除儲存衝突 之技術。例如内部鎖定,部份重新命名等。 撤回單7G 10〇6包含一組緩衝暫存器1〇2〇 ,一组 FP/PD暫存器1〇22,及一組整數暫存器1〇24。緩衝暫存 器组1020提供額外暫存器以用來重新命名暫存器。在一實 施例中’緩衝暫存器組1020包括40個暫存器。變更之實 施例可配置任一種暫存器。在此實施例中,這組緩衝暫存 器1 0 2 0將如記錄缓衝器般予以操作。 在一實施例中,;FP/PD暫存器1〇22及整數暫存器 1024可操作此軟體,也就是説這些是在指令集内被辨識的 暫存器,且如此一來,它會顯示在軟體上表示這些只是執 行浮點資料,封包資料及整數資料之暫存器。相對地,緩 請 先 聞 讀 背 之 注 % 訂 經濟部中央標準局貝工消費合作社印製
人紙張尺度適用中國國家標準(CNS )八4規格(210x297公釐) A7 五 '發明説明(63) 衝暫存器1022非此軟體所能操作,因此,FP/PD暫存器 1022是一單一實質暫存檔,它會出現在軟體上成爲一單— 邏輯暫存檔。在一實施例中,FP/PD暫存器組1022與整 數暫存器10 24各含8個暫存器與現有英代爾結構軟體維持 相容。然而變通之實施例可配置任何數目的暫存器。 重新命名單元1004包括一 FP/PD對映單元1〇3〇,一 FP/PD對映表1〇32,一組標籤1〇34,一整數對映單元 1040及整數對映表1042,當重新命名單元1〇〇4接收到 一運算元’它會決定此運算元是否是—浮點運算元,—封 包資料運算元或一整數運算元。 經濟部中央搮準局貝工消費合作社印袈 整數運算元被整數對映單元1〇4〇所接收,整數對映單元 1040控制整數對映表1〇42,在一實施例,此整數對映表 1042包含相同數量之項目因在整數暫存器ι〇24有暫存器 在整數對映表1042的任一項目與不同的整數暫器1〇24相 一致’在圖10,1050項目與整數暫存器1〇52 一致,當一 指令被接收會導致處理器去寫入一整數暫存器(例如,:數 暫存器1052),此整數對映單元104〇藉儲存一指樣在整數 儲器的整數對映表1〇42(例入項目1〇5〇)之項目來分配一 緩衝暫存器1 020,則會在一組缓衝暫存器1〇2〇(例如緩衝 暫存器1 054)裡辨識一有效暫存器,此資料是被窝至選擇 好2緩衝暫器(例如緩衝暫存器1〇54) ^當執行產生運算元 <指令,在毫無中斷(不用採取任何事件)之情況下完成, 則撤回單元1GG63會確減資料藉著自選擇好的緩衝暫存 器(例如緩衝暫存器1 054)將它複製到適當整數暫存器(例 -纸張尺度適用 (CNS} A4i^~{ 2ΙΟΧ297/α^ -66 _ 五、發明説明(μ ) A7 B7 經濟部中央標準局員工消費合作社印裝 如整數暫存器1052)並導致整數對映單1〇4〇去更新此項 目(例如項目1 050)之内容使其指出資料是被存在與項目對 應之整數暫存器中。 备一個會導致處理器去讀一整數暫存器之指令被接收 時,處理器會使用FP/PD對映單元1〇3〇存取在整數對映 表1〇42(例如項目1〇5〇)内與整數暫存器之項目的内 容,如果此項目包含一個至緩衝暫存器(例如:緩衝存器 1054)之指標,則處理器讀該緩衝暫存器之内容。然而, 如果項目之内谷指出資料被存在項目之對應的整數暫存器 (例如:整數暫存器1 052)時,則處理器讀取對應整數暫存 器之項目的内容,如此一來,整數暫存器1〇24之配置如本 發明實施例中一固定暫存檔般。 FP/PD對映單元1 030控制Fp/pD對映表1〇32及標籤 1 034。如前所述,每個標籤可藉使用任何値元來完成,類 似整數對映單元1 040,FP/PD對映表1〇32包含相同數 量之項目因爲有暫存器在FP/PD暫存器1〇22 ,每個在 FP/PD對映表1032内之項目都與一個不同的pp/pD暫存 器1022相呼應。浮點及封包資料運算元被fp/pd對映單 1030所接收,對映至緩衝暫存器ι〇2〇在傳回至fP/Pd暫 存器1 022。如此一來,浮點狀態及封包資料狀態被化名在 一單一使用者能見之暫存檔中。當執行多重工作時,配置 現行作業系統導致處理器错存浮點狀態,則相同的作業系 統會導致處理器错存任何一化名在浮點暫存器之封包資料 狀態中。 請先聞讀背面之注意事項iiA寫本頁 -裝. 丁, 線J- -67- 32G7〇s 經濟部中央榡準局貝工消費合作社印製 五、發明説明(65 法:實施例中’封包資料運算元以-類似整數運算元之方 處理,-封包資料暫存器會像—個定暫存㈣方式被完 如此-來,當—個會導致處理器窝至一 Fp/pD暫存檔 =令將被接收,則FP/PD對映單元1㈣藉儲存一指標 對映表1()32之FP/PD暫存器對應項目分配至缓 衝暫存器1G2G以辨識在這組緩衝暫存器1()2()内—可利用 =存器,資料被寫至選擇好的緩衝暫存器。當執行產生 ^ (指令在被毫無中斷(不需採用任何事件)情況下配 六則撤回單元會確認此資料。藉著自選擇好的緩衝 暂存崙,將它複製到適當的FP/PD暫存器(此Fp/pD暫存 器與在FP/PD對陕表1〇32之项目相呼應)並導致 對映單元1 030更新在FP/PD對映表1〇S2之項目,以指 出資料存在項目對應的FP/PD暫存器。 當執行封包資料指令集時,暫存器配置成—固定暫存 檔。當使用—能與現有英代爾結構軟體(包括作業系統)相 容之方法來執行浮點才旨令集時,貝,】配置一實施例其將暫存 器檔變成一堆疊參考暫存檔。結果,Fp/pD對映單元 1030必須能操作FP/PD對映表1〇32使其成爲封包資料運 算元之固定暫定檔及浮點運算元之一堆疊暫存檔,最後, FP/PD對映單元1030包括一個有一頂端堆疊區之浮 點狀態暫存檔1〇70 ^堆疊欄位1〇72被用來儲存頂端堆疊 指標指明在FP/PD對映表格一個入口,代表暫存器目前在 浮點堆疊頂端。當然,另一例當執行浮點指令時能操作暫 存器當成一平板型暫存檔。 •68- 表紙張尺度適用中國國家標準(CNS ) A4規格(21〇X297公釐 (請先閲讀背面之注意事項& 填寫本頁) -裝-
、1T 線 - — - B7 五、發明説明(66) '—--——^ 當-個浮點指令被收到時將會引起處理器窝入Fp/pD暫 存器,FP/PD對映單元1〇3〇藉著錯存在Fp/pD對映表格 ⑻2的堆叠暫存器的對應入口頂端_個指標指示在緩㈣ ^ j 存益1㈣的集合裡有—個可用的暫存器。資料會被窝到被 U丨丨 選擇的緩衝暫存器。當指令執行時產生的算符沒有任何中| J 斷的完成(沒有任何事件發生),回撤單元1〇〇6藉著從被選| | 取的緩衝暫存器複製資料到合適的FP/PD暫存器(與在 |丨 FP/PD對映表格1 032的入口相關的Fp/pD暫存器),同 Γ j
時引起FP/PD對映單元1〇3〇更新在Fp/pD對映表格 雾〒 1 032的入口來指出資料被儲存在入口的對應Fp/pD - I 器。 |
當接收一個浮點指令時,將使得處理器讀取fp/pd暫存 J 器,處理器存取在FP/PD對映表格1〇32頂端堆疊暫存器 訂 對應入口的内容並且同時地改變堆疊内容。如果—個緩衝 [
暫存器的指標被儲存在入口處,處理器會讀緩衝暫存器内 I 容。然而,如果入口的内容指示資料是儲存在Fp/pD暫存 , 器1 022入口的對應FP/PD,處理器會讀FP/PD暫存器的 -丄 内容。 ‘j 因此由於FP/PD對映單元1 03 0對映浮點算符於一個堆 [ 經濟部中央橾隼局貝工消費合作社印裝
疊參考暫存檔,在FP/PD對映表格1 032的入口必須被存 J
取於堆疊頂端。相對地’由於FP/PD對映單元1030對映 I 封包資料算符於一個固定的暫存檔,在FP/PD對映表格 | 1〇32的入口必須存取於暫存器r〇。爲了促使處理器存取 | 相對於暫存器RO的FP/PD對映表格入口,在頂端堆疊指 | _ _ -69- 九紙張尺度適用中國國家標隼(CNs ) A4规格(210X297公釐) 翅濟部中失棣準局貝工消費合作衽印製 五、發明説明(67 標必須?文變以指不暫存器R0。因此,當處理器正執行封 包的資料.指令集時,頂端堆叠指標必須改變以指示暫存器 R0藉著配置堆叠指標以指示暫存器R〇從浮點運算模式 到封包資料模式的傳導,同時在執行封包資料指令集期間 不改變頂端堆叠指標。在此_方法下,被使用去對應浮點 堆叠的相同電路也能夠用以對應固定封包資料暫存楼。牡 果,電路複雜程度降低了,同時可去除死角區域,請參考 圖6 A之説明。-實施例説明同_電路用來對應封包資料及 浮點運算碼’另一實施例能使用各別的電路。 不論執行何種型態的指令,在一實施例中,緩衝暫存器 的配置及分置以同樣方法處理。回撤單元1GG6包含-個有 -分配欄位1()62及回撤棚位1()64的狀態暫存器ι〇6〇, 分配糊位1G62儲存—配置指標指示將使用的下—個緩衝暫 存器。當FP/PD對映單元1〇3〇或是整數對映單元ι〇4〇 兩者之-需要-個暫存器時’目前的分配指標儲存於適當 的對映表格(例如’ FP/PD對映單元1〇3〇或是整數對映表 格1〇42)同時配置指標増大。甚且,更名單元ι〇〇4傳給回 撤單^0()6信號,指出是否-㈣包資料指令以 理器爲封包資料模式。 ^ 在被分配的緩衝暫存器中,回撤單元1〇〇6儲存一在準備 欄位刚2中的備用指示。剛開始時,備用指示改變以指示 2暫存器尚未準備呈回撤狀態。但是,當資料被寫入緩 衝暫存器的資料櫊位1G8G,緩衝暫存器的準備指示改變以 指示緩衝暫存器準備呈回撤狀態。
-70
五、發明説明(68) 經濟部中央樣準局貝工消費合作社印製 狀態暫存器1060的回撤棚位1〇64错存 明下一個續衝勒产gg Φ 回揃^指標指 月下個緩㈣存器要㈣1緩衝暫存 改變爲-準備狀態,回撤單元1〇〇6必須決C不被 存器的資料能被執行β隨後將進—步説明,緩衝暫 f生或者如果在封包資料以及浮點模式之間任何傳二:: 備未備妥異常,未決的浮點異常,無效執行碼= 等如,設 如果資料能被處理完成,資料將被複製到適當的F ) 整數暫存器同時回撤指標將增大至下一個緩衝暫存二 :撤:及:置指標已説明過的已被儲存在—個控制暫: 器,另一實施例能以一些依序的單元型式,如—組正 器,錯存這些指標以及任何文中説明的其他資訊(例如, MMS指示,模式指示等等)。 一實施例已説明,其中回撤單元1〇〇6包含三個分隔集入 的暫存器及資料從緩衝暫存器至Fp/pD暫存器或是整數; 存器被處理完成。另一實施例能被完成以包含任何數目 =同暫存器的集合。舉例來説,另一實施例能夠包含一 單一集合的暫存器。例如,在此暫存器組中每一暫存器 夠包含一個指示指明是否儲存在此的資料能被處理。 在—實施例中,處理器爲一浮點模式或是—個封包資料 模式。如果處理器不是在封包資料模式,處理器無法適杏 的執行任何封包資料指令,反之亦然。結果,在緩衝暫^ 器資料處理完成之前,回撤單元1〇〇6決定資料是否爲封 資料以及處理器是否在封包資料模式。如果資料是封 請 先 閲 讀 背 Sr 之 注 項 再^ 填 頁 ΐ 的 個 能 包 包資 用中國國家標準 -71 - (CNS )八衫桃(210X297公釐) 32(5708 A7 B7 五、發明説明(69 ) " 料以及處理器不在封包資料模式’在微碼唯讀記憶體1〇14 中,觸動傳導單元1036以實行到封包資料模式的傳導。在 一實施例中’藉著決定是否頂端堆疊指標改變爲初始値來 決定是否處理器是在封包資料模式(例如,指標暫存器R 〇 ) 以及所有的標籤1〇34是在非空狀態。 有一些技術使得處理器得到頂端堆疊指標以及標籤1〇34 以決定是否處理器是在封包資料模式。舉例來説,先前提 過解碼單元1 002存取來自微運算碼唯讀纪憶體1〇14的微 運算碼。這些微算符包含一個編碼欄位來指明藉著Fp/pD 對映單元1 03 0來表現的適當的對應。(例如,増加頂端堆 叠才曰標減少頂端堆叠等等)實施例至少包含一個額外的編碼 位元型態(在此有關封包資料位元型態)以指明爲了封包資 料指令的對應。因此當解碼單元1002收到一個封包資料指 令及存取微運算碼唯讀記憶裡,至少微運算碼有—個會傳 輸至解碼單元1002包含封包資料位元型態.。 在一收到包含封包資料位元型態的微運算碼,Fp/PD對 映單元1 0 3 0 : 1 )決定標籤i 〇 3 4的狀態以及頂端堆疊指 經濟部中央標準局貝工消費合作社印裝 標;2)傳送到回撤單元1 006信號指明是否需要—個到^ 包資料模式的(實施例,處理器的模式以及指令型態被傳 送),爲了回覆,回撤單元1006儲存於藉由指令配置一個 在轉移攔位1 0 8 4傳送指令的任何緩衝暫存器。(例如 移指標包含一個第一個位元指明處理器的模式以及個叶 二個位元指明指令的型態)。因此,如果指令是—個封勹乐 料指令以及處理器不是在封包資料模式,適當緩衝暫 -72- 太紙張尺度適用中國國家標準(CNS ) A4規格(210X297公楚 經濟部中央標準局貝工消費合作社印製 五、發明説明(7〇 )2模式指標被改變以指明需要傳送,適當緩衝暫存 式指標被改變以指明需要傳送。否則 以 ::要轉移。當藉著回撤指標指明的緩衝=:::: 示被改變爲準備狀態’回撤單元1〇〇6會檢香, =。:果轉移指標指明不需要一轉移同時如果資料能‘ 撤(例如,沒有必須處理的事件)’資料就回撤。相對 如果轉移指標指明需要-個轉移,回撤單元刚6傳送微碼 入口指標給轉移單元1 036到微運算碼唯記憶體ι〇ΐ4。 了回覆微運算碼唯讀記憶禮1G14傳送必要的微運算碼 移處理器到封包資料模式。 在這種方式下,到封包資料模式轉移的合作關係僅需要 在複雜度上些微增加。當然,另一實施例能夠以任何方式 ,成這種功能性,包括:丨)在一收到引起更名單元1〇〇4 得到標籤以及頂端堆疊指標的一個封包資料指令時,即就 7解碼單元10〇2傳送特殊信號;2)增加位元於所有的微 算符以指明是否應得到標籤以及頂端堆疊;3 )每當—緩衝 暫存器分配時,令FP/PD對映單元1 030獲得標籤以及頂 端堆疊指標;4)當一個封包資料項目準備被處理完成時令 回撤單元1 006指標給FP/PD對映單元1 03 0 ’以及如果 處理器不是在封包資料模式時令FP/PD對映單元驅動移單 7G 1036等等。然而實施例不論處理器是否是在根基於頂端 堆#指標的封包資料模式以及標籤1〇34,另一實施例能夠 使用任何方法,包括如同先前説明到的模式指標。 如前所言,轉移單元1〇36被用於從浮點模式到封包模式 73- 支紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) (請先閲讀背面之注意事項一1¾寫本頁j .裝. -訂· -!i 1 T — 經濟部中央標準局員工消費合作杜印製 五、發明説明(71) 傳达至處理器,轉移單元1036使得處理器改變頂端堆疊指 標成爲初始値以及改變所有的標籤1 034成爲非空狀態。在 這種方式下,更名單元1 004爲了封包資料指令的執5被初 始化。在一完成轉移後,引起浮點到封包資料模式轉移的 指令被重新微啓動。結果,不需要非微運算碼事件處理(包 括作業系統事件處理)以及實施例是不可視的作業系統。當 轉移單元1 036顯示位於微運算碼唯讀記憶體1〇14,另二 實施例能夠在處理器上任何地方安置轉移單元1〇36。在另 個實施例中’可配置轉移單元1 〇 3 6以從浮點模式至封包 資料模式來實行轉移。在傳送期間,轉移單元1〇36能保存 現有頂端堆疊指標在儲存區以及改變頂端堆疊指標爲初始 値。當轉移單元1036再度驅動來轉移回到浮點模式,轉移 單元1036將儲存先前的頂端堆疊指標。更進一步來説,在 另一實施例,轉移單元1〇36能夠在硬體被完成或是以一種 非微運算碼事件處理儲存在處理器外侧。 如前所述之一個實施例,每一個封包資料指令被EMMS 指令所終止。在回覆以執行EMMS指令,執行單元101 引起更名單元1004改變標籤1034成爲空狀態。因此,在 執行EMMS指令之後,處理器是在浮點模式:那就是所有 的標籤1〇34都在空狀態以及頂端堆疊指標是在初始狀態 (如前所述,當傳送至封包資料模式以及在執行封包資料指 令期間不被改變,頂端堆疊指標被改變爲初始値)結果,爲 了從封包資料模式至浮點模式實行一次傳送不需要一個轉 移單元。這不同於圖形6A中所説明的轉移單元,其必須被 0 J---.------^II (請先閲讀背面之注意事項ItiK寫本頁) 訂 線 -74- 良紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 五、發明説明(72 ) 觸動處理器以及在浮點及封包資料模式之間來回轉移a 且,由於一個單一的化名暫存擋被用於浮點以及封包資料 狀態’這種傳送不要求複製資料於二個分別的暫存橋之 間。結果,電路複雜度減低,同時消除處理器的死角區。 在另-個具體的實施例,標籤以及頂端㈣指標的 被完全地或部分地表現在封包資料指令的執行。例如 夠避免需要用轉移單元藉著:υ引起非EMMS指令的每— 個封包資料指令的執行以改變頂端堆#指標爲初始値以及 改變標籤至非空狀態;以及2)引起EMMs指令的執行 ^票籤至空狀態。另-實施例中’不配置EMMs指令,但 是,使用浮點指令競爭,稍後於圖14中將會加以説明。 經濟部中央標準局員工消費合作社印製 發行單元1008代表一個儲存指令和運算碼的緩衝器。發 =單元1 008能狗配置—系列保留站,—個中央指令視窗或 是兩者的結合。當使用保留站時,每一函數的單元(例如, 算術及邏輯單元ALUS)有自有的緩衝器來儲存指令及資訊 指明他們的對應運算碼。相對地,當使用—個中央指令视 窗,一個對所有函數單元共有的中央緩衝器被用來儲^指 令及資訊指明其對應運算碼β —指令的對應運算碼能具有 多種不同的格式,端視所使用的資訊種訊種類而定。如果 眞實値不可用,然後一指令的對應運算碼驗明該暫存器爲 在FP/PD暫存器1〇22,整數暫存器組1〇24,或是緩衝 暫存器組1〇2〇,端賴資料的型態及是否資料已被處理完成 來決定。當眞實質成爲可用時,隨後資料儲存在緩衝器 内β自―實施例中’發行單元1008也從更名單元1〇〇4接 ________ -75. 本紙張从適财關家標準(⑽)( 2!()χ297公瘦) 五、發明説明(73 ) A7 B7 經濟部中央標準局貝工消費合作社印製 收到資訊。然而’ $資料爲本發明所需要了解者。當要求必要的資訊時,發行單& 1 008發佈指令給執行單元 10 10 〇 執行單7C 1 〇 1 〇執行指令,執行單元丨〇〖〇傳送任何必須 儲存在回撤單S 1G06中儲存的運算碼資訊,如同先前所提 及者。在一實施例中,由於指令可能由於缺乏發行單元 1〇〇8中延遲的運算碼資訊。執行單元ι〇ι〇也傳送任何運 算碼資訊予發行單元1G()8。在此方式下,任何目送運算碼 資訊給回撤單元1〇06以及之後給發行單元1〇〇8的額外延 遲應避免。執行單元1010與狀態暫存器1〇12耦合,狀態 暫存器1 0 1 2藉著執行單元丨〇丨〇儲存控制資訊再加以使 用。此控制資訊能包括一個ΕΜ指標以及一個TS指標,此 前文已提及。執行單元·1010包括一個資料排列單元 1〇90(也如同一個’’載入/儲存轉換單元,’型式)來排列回 撤單元1006存取的各種不同型態的資料,有關於圖12及 1 3的資料排列單元作業將會更進一步陳述。 標籤1034的改變可使用各種不同的技術來完成。舉例來 説’圖10顯示FP/PD對映單元1030也包含一個標籤修改 單元1092來改變標籤。標籤修改單元1〇92也可用各種方 法來完成,包括那些有關於圖6B已説明過的方法。 舉例來説,實施例由於浮點指令能完成以致於並非所有 的標籤需要在一次被修改標籤修改單元1 〇 9 2被完成以致於 它無法一次修改所有的標籤(先前有關圖6Β已説明過的實 施例)。爲了避免電路過於複雜’標鐵的全域修改爲回覆— 請 先 聞 讀 背 面 之 注 項 頁 裝 訂 -76 木紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) A7
到封包資料狀態的傳送,或是EMMS指令的執行可藉由此 現存的機構完成。在此考量下,一個微運算碼指令集合, 以EMMS單元1094表示,可儲存在微運算碼唯讀記憶體 10 14以完成EMMS指令。在EMMS單元1094及傳送單 元1 03 6的微運算碼指令會使得解碼單元1〇〇2發出幾個現 存的微算符來改變八個標籤的每一個中的每—個標籤。因 此’爲了回覆收到EMMS指令,解碼單元ι〇〇2將存取 EMMS單元1094同時發出數個現存的微運算碼。爲了回 覆這些微運算碼的每一個運算碼,標籤修改單元1〇92將修 改對應的標籤到空狀態,相對的回覆存取轉移單元1〇36。 解碼單元1 002將發出數個現存的微算符,使得標籤修改單 元1 0 9 2改變每一個標籤,使其成爲非空狀態。在一實施例 中’標籤的全域修改可能需要4-8時脈週期。 當一個先前已説明過實施例爲了改變所有的標籤來回覆 一個傳送或EMMS指令,另一實施例可以使用任何數目的 機構。舉例來説,改變所有的標籤成空狀態或非空狀態, 可藉著包括一個新的微運算碼及完成標籤修改單元1〇92以 致於它能全域地改變標籤在一個單一的時脈週期中完成。 爲了回覆新的微運算碼(此一爲了標籤修改單元1092的實 施例參照圖6B),在此實施例中,EMMS單元1094完成 以引起解碼單元1002發出此單一微運算碼(而非數個分別 的微運算碼)以改變所有的標籤成空狀態。相對地,傳送單 元1036完成以引起解碼單元1〇〇2發出此單一的微運算碼 (而非數個分別的微運算碼)來改變所有的標籤成非空狀 _______-77- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A7 B7 經濟部中央標準局貝工消費合作社印装 五、發明説明(75) 態。另一個例子,另一具禮的實施例可以包括一個令執行 單元1010到標籤1034及回撤單元1006耦合的匯流排。 此實施例可完成以致於回覆EMMS指令,處理器是序號化 (可藉由更名單元1004達成),此信號送到匯流排導致標籤 改變(可藉由執行單元1010達成),處理器再度又序號化 (可藉由更名單元1004達成),此實施例可能需要10-20 時脈週期來改變所有的標蕺。相對的,配置另一實施例, 如此以致於前及/或後序化可由另一個單元來達成。另一個 例子來説解碼單元1002能夠與標籤1034耦合以及包含額 外的硬體來改變所有的標籤1 〇 3 4以回應收到EMMS指 令。 因此’在圖形10的實施例,使用單一集合的暫存器執行 浮點以及封包資料單元,請參照圖6A之説明。甚且,在圖 6A的實施例需要對應的電路存取浮點暫存器當做一個堆叠 以及封包資料暫存檔當做一固定的暫存檔,而FP/PD對映 單疋1030使用相同電路。更進一步來説,不像參考圖6八 所説明的傳送單元必須觸動處理器,以於浮點以及封包資 料模式之間前後傳送,圖1〇所説明傳送單元僅需要處理器 從浮點模式到封包資料模式間傳送。甚且,因爲單一化名 暫存檔被用來浮點以及封包資料狀態,此傳送不需要在於 兩個分別的暫存·檔之間複製資料。結果,在圖10所示的 施例需要更少的電路複雜度以及解救處理器的死角區。 如前所述,當一實施例被説明爲包括指令來達成浮點一 封包資料操作,另—實施例能完成不同指令集以導致處理 實 及 請 先 聞 面 裝 訂 線 -78 本紙張尺度適用( 2.0X297^ ) 320708 A7 __B7 五、發明説明(76 ) 器來達成不同的資料型態操作。舉例來説,—個指令集可 以導致處理器來達成記數的操作(浮點及/或整數)以及另 一個指令集可能導致處理器來達成浮點運算(記數的 and/or)封包)以及另一個指令集可能導致處理器來達成整 數運算(記數的and/or)封包)。另一個例子來説,單—化名 暫存檔能被當爲堆疊參考暫存檔以及封包暫存檔來操作。 同樣的,當一個被陳述的實施例所有的化名化已完成後, 另一實施例有一單一的實質暫存檔能被部分化名的操作完 成。這將需要一些機構(例如,—個表格)來追蹤何種資料 應該被存在一單一化名的實質暫存檔中。 圖11A,11B以及11C圖示一種依據本發明令一實施 例的方法,用於在一單一化名的暫存檔中執行封包資料以 及浮點指令,用一種不可見之作業系統方法,其提供優良 的程式實施例,同時可以用圖10的硬體配置加以應用。這 流程圖相似於參岑圖4A-B及7A-C,9以及1 〇。參考這 些先前的流程圖,許多其他的實施例説明爲那一步驟需改 變’移動及/或消除。可參考圖11A_C所説明的步驟相似 於先前所説明的流程圖所達成的步驟可藉由如此的另一實
施例來達成。此流程圖在步驟11〇〇開始,從步驟11〇〇流 程進入步驟1 102。 /U 如步驟1102所示,位元集被當做_個指令存取,同時流 程進入步驟1104。這位元集包含一個運算碼證明作業由指 令達成。因此,步驟1102相似於圖4Α的步驟4〇2。 在一實施例中’下列步驟以並列的解碼階段達成。 -79- 本紙張认適财關家標準(CNS)A4_(21()X297&^) A7 五、發明説明(77 步骤1104決定運算碼是否有效。如果運算碼無效流程進 入步驟1106 ’否則流程進入步驟1108。步驟11〇4相似 於圖4的步驟404。 在步驟1106中,插入一或更多事件信號微運算碼以指示 操效的運算碼異常。事件信號微運算碼用以避免處理異 常,直到並列回撤階段爲止。如果一指令是事件信號微運 算碼’則經解碼階段’暫存器更名階段以及執行階段。然 而,當事件信號微運算碼在回撤中階段被收到,緩衝暫存 器的狀態處理同時產生適當的事件。導致在事件的指令上 或在其前,插入此事件信號微運算碼。微運算碼的使用可 更進步參考 Method and Apparatus for. signaling an Occurrence of an Event in a Processor ”,序號 08/203 ,790,作者 Darrell D. Beggs,etal.從步驟 1106,流程進入步驟i1〇8。 在步驟1 1 0 8中’決定收到何種型態的指令。如果指令既 非一個浮點指令也非封包資料指令,流程進入步驟i^ 因此’如果在步驟1106中插入—或更名事件信號微運算 碼’流程進入步驟1 1 1 〇。但是,如果指令是一個浮點指 令’流程進入步驟1 1 1 2,相對地,如果指令是一個封包資 料指令流程進入步驟1114。因此’步驟ι1〇8跟圖4A的 步驟4 0 8相似。 如步驟1 1 1 0所示,處理器執行指令。如果在步驟1丨〇 6 中插入一或更多微運算碼,則指示應產生無效運算碼異 常,微運算碼經解碼階段,暫存器更名階段以及執行階 -80 木紙張尺度適用中國國家標準(CNS > Λ4規格(210X297公釐
—-H 1^1 J J . ^-- (請先閲讀背面之注意事項P填寫本頁) 訂 經濟部中央標準局貝工消費合作杜印裝
經濟部中央標準局員工消費合作社印掣 段。然而,當事件信號微算碼到達回撤階段,緩衝暫存器 的狀態不處理同時產生無效運算碼異常。如同先前説明請 參考圖2步驟215 ,可配置此—事件管理器以導致處理器 延遲一訊息’回撤現在執行的工作,以及繼續執行其他的 工作。當然,另一實施例可提供任何不同方式的管理器, 此先前已説明過。由於其他指令的執行非本發明所需要瞭 解者,在此不作進一步説明。 步驟11 中決定是否EM指標等於丨(根據説明的軟體 慣例,如果達成一個局部的内容切換的話)^如果EM指標 及/或T S指標等於1 ’流程進入步驟i i i 6。否則,流程 進入步驟ιΐ2〇。因此,步驟1112跟圖4A的步驟4i2U相 似。 在步驟1116中,一或更多事件信號微運算碼被插入指示 設備不可用的異常產生。從步驟1116 ,流程進入步驟 1120 〇 如步騍U14及1120兩者所示,執行暫存器更名。從 步驟112〇流程進入步驟1122。相對地,從步驟1114, 流程進入步驟H34。在一實施例中,步驟11M及112〇 在並列的更名階段達成。 在一實施例中,下列步驟以並列的執行階段來達成。 如步驟M22所示,浮點指令執行步驟1122,其與圖 4B的步驟426相似。爲了維持不可見作業系統,如果必須 的話可改變標籤,回報現在可被處理的異常碼以及暫停任 何其他未決的異常碼。如前所述,改變標籤允許此實施例 請it 閲 讀 背 I 事 項 填 寫 本 頁 裝 訂 線 良紙張认適用中國ί^Τ^ΰ4·Τ2_1〇'Χ 29^7 五、發明説明(79) 作業系統不可見的技術儲存那些對應標籤指示一非空 :::浮點暫存器内容。然而,另-實施例能與某些作業 系統技術相容來達成。舉例來説如果一現存作業系 Z標籤’-處理器不提供標籤仍能跟那作業系統相容。更 步來説’本發明並不需要代決定之數値的浮點異常。 從=:/:=例能在發明的範…流程 在步驟1134中決定是否封包資料指令是謂指令。 此,步驟1134類以圖4B的步驟43{)。如 = EMMS指令,流程進入步驟"36。否則流程= —指令被用來改變浮點標鐵爲 〜、5時應執行任何封包資料指令及/或之前執行 任何净點指令轉移處理器至浮點模式的操作。 步驟1 1 3 6所不,所有標籤被改變爲空狀態,在此方式 下,標籤被初始化同時準備好執行浮點指令。在-完成步 驟H36中’流程進入步驟1144。在不提供一 指 :的實施例中,錢行㈣⑴4及1136, 步驟1114至1138 β 町田 經濟部中央標隼局貝工消費合作社印裝 如步驟1138所示’執行封包資料指令。這些步驟執行期 門1被儲存於任何Fp暫存器或任何緩衝暫存器的符號以 及指數棚位當做封包資料寫人的Fp/pD暫存器,因此步骤 1138類似於圖^的步驟434,436及43 8。如此一來, 藉由浮點及封包資料指令的分離提昇了更好的程式技術。 然而如則所述,另—實施例能避免這特性。在此實施 -82 木紙張尺度咖t @ @家樣準(CNS ) Α4^Τ2Η) χ 297公缝 五、發明説明(如) 例’ 1被寫入符號及指數的攔位,另—實施例能使用任何 數値代表NAN(非-個數目)或無限。更且,且此步驟無須 產任何數値的異常即可達^如果任何記憶事件能產生結 果試圖執行封包資料指令,執行被中斷同時事件被處理, 流程從步驟1138進入步驟1144。 在一實施例中,下列步驟在並列的回撤階段中達成。 在步驟1124中決定指令是否爲一指示設備不可用異常之 事件信號微運算碼。如果是的話,在步驟1112它決定ts ,EM指標兩者之一或是兩者均等於1 。因此,如果指令 是指示設備不可用異常的事件信號微運算碼,流程進入步 驟1126。否則,流程進人步驟1128。在此方式下,設備 不可用的異常可利用暫存器更名動作與處理器合作。 在步螺1126中,產生設備不可用異常,且執行對應的事 件管理器。因此,步驟1126類似於圖4A的步驟416。如 前所述,事件管理器可被供應使用EM及了 否爭取浮點指令及/或是否達成一個局部二 前所述使用ΕΜ及TS指標是一軟體慣例,也因此可用於其 他用途。 ' 經濟部中央標準局員工消费合作社印裝 如步驟1144所示,它決定是否ΕΜ指標等於j β因此, 步驟1144類似於圖4Α的步驟414。如果在步驟ιΐ44決 定ΕΜ指標等於i,流程進入步驟1146而非步驟ιΐ26。 否則,流程進入步驟1 1 4 8 » 在步驟1146中,產生無效運算碼異常,且執行適當的事 件管理器,這與圖11A步驟1110中所説明的無效碼異常 83- 本纸張尺度適用中國囷家標準(CNS ) μ规格(210X297公釐) 330708 A? _____B7 五、發明説明(81) 相同。這無效運算碼異常的產生類似於圖4A步驟4〇6的 無效運算碼異常。如圖2步驟215可提供前述事件管理器 以導致處理器顯示一訊息,放棄現有工作的執行以及繼續 執行其他的工作《當然,另一具體的實施例可以任何其他 方式提供此管理器,一如前文所述。當EM等於丨對於無 效運算碼異常,藉由轉向企圖執行的封包資料指令,此實 施例仍保持作業系統不可見。 一前述實施例以一種作業系統不可見的方式執行管理, 其他實施例了使用其他技術。例如,一實施例可產生設備 不可用異常,一種現存不同的事件,或是爲了回覆當EM 指標等於1時封包資料指令執行企圖的一個新事件兩者之 。另一個例子爲在另一實施例中當正執行封包資料指令 時,能忽略E Μ指標。 如步驟1148所示,它決定是TS指標等於〗(依據已説明 的軟體慣例,如果達成—局部的内容切換)^如果達成—局 部的内容切換,流程進入步驟1126 ^否則,流程進入步驟 1150 。 經濟部中央標準局員工消費合作社印製 如前所述,步驟1126產生設備不可用之異常,且執行對 應的事件管理器。因此爲回應這事件,對應事件管理器可 被提供以獲得EM及TS指標。然而,當執行封包資料指令 時’流程進人步驟1144同時EM指標等於i的情況被轉爲 無效運算碼異常。結果,當當執行封包資料指令及步驟 1126時,EM指標必須等於〇及TS指標必須等於!。因 爲TS指標等於1 ,事件管理器功能如前述有關局部的内容 ..__ · 84 - 本紙張尺度適财國國家標準(CNS) M規格(训㈣7公楚) 五、發明説明(82 ) A7 B7 經濟部中央標準局貝工消費合作社印製 切換者,且導致處理器藉由在步驟1102收到的指令啓動而 重新執行。由於封包資料狀態在浮點狀態成化名態,此事 件管理器爲浮點及封包資料狀態兩者工作。其結果,此方 法保持作業系統不可見。當然,另一具體的實施例應用先 前已提及的方法提供此事件管理器。一實施例中以一種作 業系統不可見的方式來管理ts指標,另一實施例可使用其 他技術。 如前所述,如在執行浮點指令期間產生特定的數字異 常,這些異常將懸置在未決態,直到下一浮點指令能被中 斷時才加以處理。如步驟1128及115〇所示,其中決定是 否有任何諸如此類的未決異常能加以處理。因此,這些步 驟類似圖4A中步驟420及422。如有任何諸如此類的未 決異常’流程從步驟1128及115〇兩者進入步驟n3〇。 然而,如決定在步驟1128存在此類未決異常,流程進入步 驟1132 。相對的如果在步驟115〇決定沒有此類未決異 常,則流程進入步驟j i 52 。另一實施例中,執行步驟 1150且在執行封包資料指令期間浮點錯誤保留在代決態。 在步驟113〇中產生—未決浮點異常事件。因此,步驟 113〇類似於圖4A的步驟424 。如前所述有關圖2步驟 424 ,這事件可被以—種内在的事件或外在的事件兩者之 一對同時處理。 如步驟1152所示,其中決定是否處理器是在封包資料模 式,封包資料指令已被成功的執行完成,且流程進入步驟 1132。然而,如果處理器不在封包資料模式,封包資料指 請 先 閲 面 之 注 意 事 項 裝 頁 訂 線 -85- (紙張尺度適财關家標^TCNS ) Α4· ( 2丨Gx297公们 3207Q8 五、發明説明(83 令已以浮點模式執行。結果,封包 確。爲處理此情形’處理器必須從浮^ ,執丁不正 模式並且封包資料必須被重新執广:式切換封包資料 在封句杳拉描.、 執丁 j此如果處理器不是 楗式,流程進入步驟i丨5 4。在 定可以任何方式達成。例 式指標可被採用。正如另一例子個先:在圖6A所説明的模 _得。另例子,頂端堆疊指標及標籤能 二非:狀:广:叠指標是在初始化狀態並且所有標藏是 頂端堆處理器是在封包資料模式。但是如果 能,# 是在初始狀態或所有標籤不是在非空狀 心,處理器不是在封包資料模式。 玎 j步驟1154中,處理器從浮點模式轉移至封包資料模式 二=入步驟1156,在步驟1154中,處理器藉由改 至非空狀態及改變頂端堆叠指標至初始値從浮 "i封包資料模式。改變所有標籤至非空狀態提 =更好的程式技術於鼓勵分別的浮點群及封包資料指令。 =從-作業系統m點來看,某些作業系統技術地儲存 有浮點暫存器的標籤指明—非空狀態的内容。因此,— 實施例中,封包資料狀態爲浮點狀態之化名,改變所有標 籤到非空狀態使得此作業系統保存封包資料狀態猶如浮點 狀態-般。另—實施例可相容於這些作業系統技術的少 數例如’如果-作業系統不利用標籤,—實施例不提供 標籤仍將與作業系統相容。改變頂端堆叠指標爲0也如前 所述用來達成更有效的程式技術。甚且,改變頂端堆叠指 標爲初始値且在封包資料指令允許相同的電路來操^ -86- 太紙張尺度適用中國國家標準(CNS ) A4規格(2丨〇 χ Μ?公釐) A7 B7 經濟部中央樣準局員工消費合作社印裝 五、發明説明(84) -- μ' FP/PD暫存檔當成是一浮點堆疊及一固定暫存檔期間不改 變頂端堆要指標已如前所述於圖10。由於浮點及封包狀態 是在單一暫存檔化名。移轉操作毋需分別在浮點及封包資 料暫存檔間複製資料。因此降低浮點及封包資料模式^的 移轉時間》如前所述,浮點至封包資料移轉可用微^算碼 完成。另一實施例中,每一個封包資料指令的執行改變頂 端堆疊指標到初始値。 如步驟1156所示,在步驟1102所收到的指令藉由一微 啓動來啓動。由於使用-微啓動,現有工作的執行能繼續 而無須外在處理器任何動作一不是非微運算碼事件處理器 需要執行。在此方式下,此實施例與現存的作業系統相 容。另一實施例則以較不相容方式配置。例如,一額外的 事件能可併入處理器中,並且一額外的事件管理器能被加 入作業系統來達成這轉移。 在步驟1132 —中,緩衝暫存器的狀態在其對應Fp/pD或 整數暫存器中加以標注。完成步驟1132後,處理器空 以便繼續執行其他操作0 因此’文中已説明一執行封包資料指令的方法與現存的 作業系統相容並且提供更好的程式技術。因爲在浮點狀態 封包資料狀態是其化名,封包資料狀態將被保存及藉現存 作業系統加以儲存如浮點狀態般。更進一步來説,由於藉 封包資料指令執行產生的事件藉由現存作業系統處理器^ 理,這些事件處理器不需修改並且不需另加入新的事件管 理器。結果,處理器往往相容,且升級時不需要耗金
本紙張尺度適财關
請 先 閲 讀 背 之 注 !- 裝 訂 線 3^0708 Α7 Β7 五、發明説明(85) 及時間去修改作業系統。 在此實施例的變化例中,其中有一些已在文中加以説 明’且可以完全或局部與此作業系統相容及/或提昇優良 程式技術。例如,另一實施例中,可移動,改變及/或拿 掉一或多流程圖中步驟,如果從圖11A,11B及/或llc 拿掉某些步骤’將不需要圖1〇的某些硬體。例如,如果不 使用T S指標,T S指標不需要。當然本發明對任何系統結 構可能有用並且不受限於在此提及的結構' 圖12A,12B及12b爲一實施例之儲存浮點資料,封 包資料及整數資料。依據圖1〇 ,圖12A顯示一包含—符 號欄位1 2 0 2構成位元8 5的浮點儲存格式1 2 0 〇以及指數 欄位12〇4構成位元(84 : 68),一個底數欄位^06構成 位元(67 : 3)及一個行程攔位12〇8構成位元(2 : 〇)如前 所述,相同浮點指令用來存浮點狀態當達成工作切換必須 也能儲存任何在浮點暫存器化名的封包資料狀態。在一實 施例中,處理器不儲存回欄位i 〇 2 8。結果,封包資料必須 儲存在浮點儲存格式1200的底數欄位12〇6内的某處。 經濟部中央標準局貝工消費合作社印製 圖12B示圖10本發明實施例中用來封包資料的儲存格 式。圖12B顯示一封包資料儲存格式ι21〇包括一符號/ 指數欄位1212構成位元(85 : 68),一個最初保留欄位 1214構成位元(67),一個封包資料欄位i216構成位元 (66 : 3)及一個弟一保留欄位1218構成位元(2 : 〇)。也 如前所述,在底數欄位1206的化名封包資料欄位以致於現 在的浮點指令將儲存封包資料狀態。一實施例中,最初及 -88- 本紙張尺度適用中國國家標準(CNS ) Μ規格(210X297公釐〉 五、發明説明(86) 第二保留欄位1214及1218寫成〇。當封包資料窝入一暫 存器時’另-已述及的發明封包資料儲存格式12ig的封包 資料欄位!216在與浮點错存格式12〇〇的底數糊位12〇6 的相同位元位置處開始。另一實施例能改變這層關係。 圖12C圖解儲存格式爲了整數資料依據圖1〇所提及的 發明的實施例。圖12C㈣—整數資料料格式122〇包 括-保存欄位1222構成位元(8 5 : 3 2)以及_整數資料棚 位1 224構成位元(31 ·· 0)。當一實施例整數資料以”位 凡儲存,另一具體的實施例能提供儲存整數資料在一或更 多格式使用任何目的位元。例如,另一實施例可支援“位 元格式。在一實施例中,每一個軟體可見的整數暫存器 1 024僅包含32位元〇結果,整數儲存格式122〇僅用於 緩衝暫存器1020。 ' 圖13示一方法,依據發明實施例,當儲存格式如圖 12A,12B及12C配置時,可執行圖UB的步驟1138。 流程從步驟1 1 3 8到步驟1 3 〇 〇。 在步驟2 3 00中決定是否封包資料指令從做爲Fp/pD暫 存器的任何緩衝暫存器的FP/PD暫存器重取資料。如果是 流程進入步驟1 3 02。否則流程進入步驟13〇8。 如步驟1 302所示,從化名緩衝器或Fp/pD暫存器中重 取位元【66 : 3】並且流程進入步驟13〇8。此步驟中封 包資料不儲存以〇爲開始的位元。但是必需要也错存在圖 B起始存在位元3 ^結果,位元(2 : 〇)必須加以宣告。 在一實施例中,步驟藉由圖10的資料對齊單元1〇9〇 3^G7〇8 五、發明説明(87) 成。在此實施例,資料從回撤單元1〇〇6轉換,流經發單元 1J)08 ’及到圖12B的執行單元1G1G格式内,因此,資料 藉由圖12B的執行單元1〇1〇格式内吸收,且致動對齊單 兀1090而取出位元(66 : 3)。因爲資料在執行單元 對齊,封&資料格式的使用是通透於處理器其餘部份。可 配置資料對齊單元以使用任何技術存取位元(66 : 3)。例 如,在一實施例中,設計資料對齊單元將從Fp/pD暫存器 或當做FP/PD暫存器的緩衝暫存器取得的所有封包資料位 凡向右偏移三個位元。另一實施例,提供回撤或發行單元 剥離位元[2 : 0]及/或位元[8 5 : 67],另—例子中,另 一實施例使得封包資料儲存起始位元〇處開始儲存。 在步驟1 304中決定是否封包資料指令從當做整數暫存器 ,任何整數暫存器或任何緩衝暫存器取得封包資料。如果 疋,流程進入步驟〗3 0 6。否則,流程至步驟〗3 〇 8。 如步驟1 306所示,位元[31 : 〇]從各緩衝器或整數暫
經濟部中央標準局貝工消費合作社印$L 存器中取出,同時流程進人步驟13G8。步驟中需要在起始 位元〇處開始儲存資料。如前所述實施例,此步骤藉由圖 10的資料對齊單元1 090加以配置。在此實施例中,轉換 資料回撤單元1 006,經過發行單元1 008,並且到執行單 元1〇1〇,如果資料從緩衝暫存器1020中存取,資料如圖 12C的格式由執行單元! 〇1 〇收到並且使得資料對齊單元來 取出位元[31 : 6]。然而,如果資料從整數暫存器1〇24中 存取’整數暫存器1G24爲32位元暫存器,資料被執行單 元1010以32位元格式接收。在其中任一情形中,32
本紙張尺度適财關家標準(CNS)从級(21()><297公着 五 經濟部中央標準局貝工消費合作社印装 、發明説明(88 ) ^資料以封包資料·的任何64位元視之。例如,當提供 第-移動指令以從-整數暫存器移動32位元到下一層Μ :元的封包資料項目時’可提供第_移動指令以從一整數 暫存器移動32位元到上_„層位元之封包資料項目,。 如步骤i所示’執行指令所需的作業,流程進入步驟 13 10 〇 在步驟13 10中決定是否封包資料指令導致處理器窝入做 :FP/PD暫存器的任何Fp/pD暫存器或任何緩衝暫存器 中。如果是,流程進入步驟1312,否則流程進入步驟 13 14° 如果封包資料指令導致處理器寫入當爲FP/PD暫存器的 任何FP/PD暫存器或緩衝暫存器資料時,必須被存在適# 格式。因此,在步驟1312中,封包資料错存在那些 FP/PD或緩衝暫存器中的位元(66 : 3)。一實施例中,從 圖1〇的資料對齊單元1G9()再度使用。仍是有_些技術可 達成這些功能《例如,可提供資料對齊單元以向左偏移3 位元,其爲含0之墊键位元(pad bits)(2 : 〇),含〇之墊 键位元(67)及在位元(85 : 68)中儲存的j 。另—實施例 中’配置回撤單元意以儲存此一格式的資料。 在步驟1314中,決定是否封包資料指令導致處理器寫至 當做暫存器的任何整數暫存器或任何緩衝暫存器中。如果 是流程進入步驟1316,否則,流程進入步驟1144。 如果封包資料指令導致處理器寫至當做整數暫存器的任 何整數暫存器或任何緩衝暫存器中’則封包資料必須以適 -91 - 本纸張A度適用t國國家標準(CNS ) A4規格(210X297公釐)
Α7
____B7 五、發明説明(9Q) >.· 關程式計數器的資料,參閲 K Apparatus for Monitoring the Performance of a Processor ” 序號 07/883,845,作者 Roberts Direyer,etal. 因爲Priorart浮點處理器不允許浮點標籤直接操作, EMMS指令之爭可使用浮點指令表現。 經濟部中央揉準局貝工消費合作社印裝 圖1 4是一流程圖,依據發明實施例清除標籤的方法。這 流程圖藉著儲存浮點環境於記憶體先前決定的位置開始步 驟 1402。這是藉 Intel Architecture pr_ocessor(英代爾 架構處理器)的FNSAVE或FSAVE指令表現。一旦達 成,先前決定的記憶位置的標籤及/或Τ Ο S部分到環境儲 存處可被修改成它的空狀態,在步驟1404中,這以任何先 前指令來達成,包括MOV指令爲了適當的位元型爲標籤及 TOS位元以立即運算符號處理❶其餘可設定先前決定記憶 位置標籤及Τ Ο S部份到一空狀態的適合指令可以加以使 用。結果’在步驟1 4 0 6中,可從被修改過先前決定的記憶 位置再載入該環境。因爲作業環境的其它部分(例如控制 子、狀態子等+)應該留下來不修改,僅修改浮點標籤。作 業環境中被留下來的其餘部從儲存環境作業14〇2中改變。 需知爲了預防任何不可預期的事情發生,處理器可用任何 已知的技術配置,包括使用不動作中斷指令(例如, FNSTENV)。無論如何,因爲環境已經現在藉由使用任何 習知技術,諸如FRST0R或FLDENV再載入,環境現在 已再載入以僅將浮點標籤修改成它們的空狀態,進一步切 記步驟1404可進一步包含一額外的步驟清除包括儲存在頂 •93- 本纸張尺度適用中國國家標準(CNS ) A4規格(210x297公趁) 320708 Α7
H J π碲唯®指標 Μ嚯境的邵份。 在另-實施例中’ EMMS指令可藉由模擬浮點暫存器足 夠的次數’直到所有標籤位元成爲空狀態爲止。在其中之 一事件中,EMMS可當做—專屬指令或它可加以模擬,並 且其中任一方法均爲本發明的範疇所涵蓋。
圖15八顯示—執行串列,包含封包資料及浮點指令,爲 了圖解在分別的實質暫存器檔存的化名可被更新於此時間 間隔。圖15A顯示—浮點指令1 500緊随的封包指令集 1510。而且,圖15A顯示在時間τι執行浮點指令 15〇〇 ’而且時間T2開始執行封包資料指令151G 指令15〇〇執行導致處理器寫入浮點暫存器。一個間隔 1 5 20標狂在這値必爲化名的期間的時間τι及丁之。例如, 圖6A-9所述的實施例分別的實質暫存㈣用來執料^及 封包資料指令’浮點狀態,直料間T2才從實 暫 器複製入對應的實質封包暫存樓(假設浮點暫存器在·τ2 前)。 經濟部中央標準局員工消費合作社印製 相對的,當使用到一單一實質暫存構(實施例參昭 1 1C所述),浮點値在時間T1時被儲存在各別暫存器 因此’説明間隔1520兩極端。但是,配置另—實施 在間隔1 520期間任何時候,化明該暫存器。例如,另— 施例使用分別的實質暫存器提供浮點及封包指令,以實 窝至浮點實質暫存檔的資料也在時間T1時寫入封包二:: 質暫存檔。一實施例中,兩者之間相同時間(如時間τ貫 入實質暫存檔。轉移單元的部分從浮點暫存檔到封包資: -94- 木纸張^度適用中國®家榇準(CNS )八4規格(2丨〇χ297公着) 發明说明(92 ) A7 B7 經濟部中央標準局貝工消費合作社印製 暫存樓複製資料可以硬體來達成(當然,其他實施例可以使 用軟禮,勒體及/或硬體)。如另—例子,當空間的處理器 時間在_ 1520是可用時(但有時候有時間τ2之前),一 實施例中使用分㈣實質暫存橋來執行浮點及封包資料以 致於寫至浮點實質暫存構的資料被寫至封包資料實質暫存 樓。在此方式下,這些實施例可以降低轉移時間。 圖15Β顯示一執行串列’包括封包資料及浮點指令,以 説明可被化名之實質暫存構更新期間的時間間隔。圖Μ 相似於圖15Β,除了封包資料指令153()之後爲浮點指令 集1 540外,圖15A顯示封包資料指令153〇在時間τι執 行。當在時間T2浮點指令集154q的開始執行時,封 料指令1 53 0的執行導致處理器寫入—値到—封包資料暫存 檔。-間隔155"票註在時間T1及時間T2之間的時間在 此期間這値必須化名。所有其他的實施例可參考圖15八説 明(參考一在封包資料指令後的浮點指令)也可參考圖丨5Β 補充(參考一在浮點指令之後的封包資料指令 本發明已應用不同實施例加以説明,對於本技術熟習者 應知本發明不受限於已説明之實施例。本發明的方法及裝置可 在本發明的精神及範疇之内加以更改而不偏離本發明的範圍。 因此本説明書並非用於限制本發明。 請 •4 閲 讀 背 面 之 注 I- 頁 裝 訂 \· 95- K紙張尺度適用中國國家標準(CNS ) A4規格(21 〇 X 297公釐〉
Claims (1)
- _7〇8 A8 B8 C8 D8 經濟部中央榡準局員工消費合作社印裂 #、申請專利範圍 ι· 一種裝置包含: a.多個與第—儲存區相關的標籤,其指示第一儲存區 的位置可因回應執行浮點指令而成爲空或非空狀態,該 浮點指令的執行可修改在該第一儲存區中的資料; b·與多個標籤耦合的第一電路,該標籤設定該多個標 籤成爲非空狀態,以回應接收到第一指令,此指令可對 於儲存在該第一儲存區中的數據指定一項操作,該多個 標籤的設定指出在該封包資料上操作的指令已予執行; 以及 一與該多個標籤耦合的第二電路,其只設定該多個 標籤成爲空狀態’以回應接收到第二浮點指令,此浮點 指令指示該浮點指令的執行已結束,其中該指令對於错 存在該第一儲存區中的封包資料加以操作。 2·根據申請專利範圍第1項之裝置,更包含一第三電路,用 於清除堆疊指標頂部,以回應接收到該第—指令或該第 二指令。 3 '根據申請專利範圍第1項之裝置,其中該第一儲存區包本 —假數(mantissa)部位,及一對應的指數部位,且該封 包數據係包封在該第一儲存區的假數部份中。 4·根據申請專利範圍第3項之裝置,其中該第一電路更包含 —電路,當執行儲存在該第一儲存區中的封包資料操^ 時,用於設定該對應的指數部位爲一預設値。 5.根據申請專利範圍第1項之裝置,其中該多個標鐵各包含 兩位元。 96- 本紙張尺度適用中國國家榇準(CNS ) A4規格(210X297公釐) l·——^-----丨裴------訂------/線 (請先閲讀背面之注意事項再填寫本頁) 申請專利範圍 A8 B8 C8 D8 經濟部中央標準局員工消費合作社印製 6. 根據申請專利範園第5項之裝置,其中該只設定多個標籤 爲空狀態的操作包含設定該兩位元成爲一設定狀態。 7. 根據申請專利範圍第6項之裝置,其中該只設定多個標籤 爲非空狀態的操作包含設定該兩位元成爲另一設定狀 態。 8. —種裝置包含: a. 多個與第一儲存區相關的標籤,其指示第一儲存區 的位置可因回應執行浮點指令而成爲空或非空狀態,該 浮點指令的執行可修改在該第一儲存區中的資料; b. 耦合該多個標籤的第一電路,該標籤只設定該多個 標籤爲一空狀態,因此回應接收到第一指令,此第一指 令指示在儲存於該第一儲存區中的封包數據上操作的指 令,已終止其耦合。 9. 根據申請專利範圍第8項之裝置,更包含一第二電路,此 第二電路耦合該多個標籤,設定該標籤成爲非定狀態, 以回應接收到第二指令,此指令指定一儲存在該第一儲 存區中的封包數據之操作,g個標籤的設定指示在該 封包數據上操作的指令已耦^ ‘ 1 〇 ·根據申請專利範圍第8項之 第二電路用於清除一堆疊名 二指令。 11.根據申請專利範圍第8項之裝置,其中該第一儲存區包含 一假數(m a n t i s s a )部位,及一對應的指數部位,且該封 包數據係包封在該第一儲存區的假數部份中。更包含一第二電路,此 賀部,以回應接收到該第 -97 本紙張尺度適用中國國家標準(CNS ) A4規格(210X:297公釐) N--.-----ji裝------订-----f 線 (請先閲讀背面之注意事項再填寫本頁)申請專利範圍 2_根據申請專利範圍第9項之裝置,其中該第一儲存區包含 —假數(mantissa)部位,及一對應的指數部位,且該封 包數據係包封在該第一儲存區的假數部份中。 13.根據申請專利範圍第12項之裝置,其中該第一電路更包 含—電路,當執行儲存在該第一儲存區中的封包資料操 作時,用於設定該對應的指數部位爲一預設値。 4 ’根據申請專利範圍第8項之裝置,其中該多個標籤中的標 藏各包含兩位元。 ' I5.根據申請專利範圍第14項之裝置,其中該只設定多個標 鐵爲空狀態的操作包含設定該兩位元成爲一設定狀態。 I6·根據申請專利範園第15項之裝置,其中該只設定多個標 藏爲非空狀態的操作包含設定該兩位元成爲—設定 態。 Γ靖先S"讀背面之注意事項再填寫本頁) 裝. 訂· 線. 經 霖 中 標 準 員 工 合 作 社 98- 本紙張尺度勒㈣目家轉(CNS ) ^4規格(210X297公f
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/575,686 US5857096A (en) | 1995-12-19 | 1995-12-19 | Microarchitecture for implementing an instruction to clear the tags of a stack reference register file |
Publications (1)
Publication Number | Publication Date |
---|---|
TW320708B true TW320708B (zh) | 1997-11-21 |
Family
ID=24301308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW086103615A TW320708B (zh) | 1995-12-19 | 1997-03-21 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5857096A (zh) |
AU (1) | AU1345197A (zh) |
TW (1) | TW320708B (zh) |
WO (1) | WO1997022920A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1265132A3 (en) * | 1994-12-02 | 2005-02-09 | Intel Corporation | Microprocessor with packing operation of composite operands |
US6792523B1 (en) * | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US5940859A (en) | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
US5701508A (en) | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US6088786A (en) * | 1997-06-27 | 2000-07-11 | Sun Microsystems, Inc. | Method and system for coupling a stack based processor to register based functional unit |
US6405234B2 (en) * | 1997-09-11 | 2002-06-11 | International Business Machines Corporation | Full time operating system |
US6065114A (en) * | 1998-04-21 | 2000-05-16 | Idea Corporation | Cover instruction and asynchronous backing store switch |
US6247113B1 (en) * | 1998-05-27 | 2001-06-12 | Arm Limited | Coprocessor opcode division by data type |
US6212624B1 (en) * | 1998-09-30 | 2001-04-03 | Intel Corporation | Selective canonizing on mode transitions |
US7882325B2 (en) * | 2007-12-21 | 2011-02-01 | Intel Corporation | Method and apparatus for a double width load using a single width load port |
JP2010122787A (ja) * | 2008-11-18 | 2010-06-03 | Panasonic Corp | 半導体集積回路及びレジスタアドレス制御装置 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3711692A (en) * | 1971-03-15 | 1973-01-16 | Goodyear Aerospace Corp | Determination of number of ones in a data field by addition |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4229801A (en) * | 1978-12-11 | 1980-10-21 | Data General Corporation | Floating point processor having concurrent exponent/mantissa operation |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4393468A (en) * | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4498177A (en) * | 1982-08-30 | 1985-02-05 | Sperry Corporation | M Out of N code checker circuit |
US4707800A (en) * | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
JPS6297060A (ja) * | 1985-10-23 | 1987-05-06 | Mitsubishi Electric Corp | デイジタルシグナルプロセツサ |
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US4989168A (en) * | 1987-11-30 | 1991-01-29 | Fujitsu Limited | Multiplying unit in a computer system, capable of population counting |
US5008812A (en) * | 1988-03-18 | 1991-04-16 | Digital Equipment Corporation | Context switching method and apparatus for use in a vector processing system |
US5241635A (en) * | 1988-11-18 | 1993-08-31 | Massachusetts Institute Of Technology | Tagged token data processing system with operand matching in activation frames |
KR920007505B1 (ko) * | 1989-02-02 | 1992-09-04 | 정호선 | 신경회로망을 이용한 곱셈기 |
US5127098A (en) * | 1989-04-12 | 1992-06-30 | Sun Microsystems, Inc. | Method and apparatus for the context switching of devices |
JPH03139726A (ja) * | 1989-10-26 | 1991-06-13 | Hitachi Ltd | 命令読出し制御方式 |
US5187679A (en) * | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5522051A (en) * | 1992-07-29 | 1996-05-28 | Intel Corporation | Method and apparatus for stack manipulation in a pipelined processor |
US5367650A (en) * | 1992-07-31 | 1994-11-22 | Intel Corporation | Method and apparauts for parallel exchange operation in a pipelined processor |
US5519841A (en) * | 1992-11-12 | 1996-05-21 | Digital Equipment Corporation | Multi instruction register mapper |
US5467473A (en) * | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
US5535397A (en) * | 1993-06-30 | 1996-07-09 | Intel Corporation | Method and apparatus for providing a context switch in response to an interrupt in a computer process |
US5499352A (en) * | 1993-09-30 | 1996-03-12 | Intel Corporation | Floating point register alias table FXCH and retirement floating point register array |
EP0651321B1 (en) * | 1993-10-29 | 2001-11-14 | Advanced Micro Devices, Inc. | Superscalar microprocessors |
US5546554A (en) * | 1994-02-02 | 1996-08-13 | Sun Microsystems, Inc. | Apparatus for dynamic register management in a floating point unit |
US5649225A (en) * | 1994-06-01 | 1997-07-15 | Advanced Micro Devices, Inc. | Resynchronization of a superscalar processor |
US5696955A (en) * | 1994-06-01 | 1997-12-09 | Advanced Micro Devices, Inc. | Floating point stack and exchange instruction |
US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
US5507000A (en) * | 1994-09-26 | 1996-04-09 | Bull Hn Information Systems Inc. | Sharing of register stack by two execution units in a central processor |
US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
US5634118A (en) * | 1995-04-10 | 1997-05-27 | Exponential Technology, Inc. | Splitting a floating-point stack-exchange instruction for merging into surrounding instructions by operand translation |
US5701508A (en) * | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US5687336A (en) * | 1996-01-11 | 1997-11-11 | Exponential Technology, Inc. | Stack push/pop tracking and pairing in a pipelined processor |
-
1995
- 1995-12-19 US US08/575,686 patent/US5857096A/en not_active Expired - Lifetime
-
1996
- 1996-12-17 AU AU13451/97A patent/AU1345197A/en not_active Abandoned
- 1996-12-17 WO PCT/US1996/020516 patent/WO1997022920A1/en active Application Filing
-
1997
- 1997-03-21 TW TW086103615A patent/TW320708B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO1997022920A1 (en) | 1997-06-26 |
AU1345197A (en) | 1997-07-14 |
US5857096A (en) | 1999-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3868470B2 (ja) | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 | |
TW320708B (zh) | ||
TW469409B (en) | Method to reboot an operating system | |
US5835748A (en) | Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file | |
US5701508A (en) | Executing different instructions that cause different data type operations to be performed on single logical register file | |
US10838733B2 (en) | Register context restoration based on rename register recovery | |
US5940859A (en) | Emptying packed data state during execution of packed data instructions | |
US10740108B2 (en) | Management of store queue based on restoration operation | |
US11010192B2 (en) | Register restoration using recovery buffers | |
TW494312B (en) | Emulating a delayed exception on a digital computer having a corresponding precise exception mechanism | |
WO1997022924A9 (en) | A method of performing different data type operations that is invisible to various operating system techniques | |
US7149882B2 (en) | Processor with instructions that operate on different data types stored in the same single logical register file | |
TW494300B (en) | Methods for renaming stack references in a computer processing system | |
TW548550B (en) | Method and system for efficient access to remote I/O functions in embedded control environments | |
US6055623A (en) | Specialized millicode instruction for editing functions | |
TW388818B (en) | Method and system for single cycle direct execution of floating-point status and control register instructions | |
TW425529B (en) | Method and apparatus for accessing an executing the contents of physical memory from a virtual memory subsystem | |
JPS5931733B2 (ja) | 可変長さの命令を実行する中央処理装置 | |
JPH04321124A (ja) | 二重化ボリューム処理装置 | |
JPS61233850A (ja) | 線形リスト処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK4A | Expiration of patent term of an invention patent |