TW569136B - Apparatus and method for conditional instruction execution - Google Patents

Apparatus and method for conditional instruction execution Download PDF

Info

Publication number
TW569136B
TW569136B TW091116958A TW91116958A TW569136B TW 569136 B TW569136 B TW 569136B TW 091116958 A TW091116958 A TW 091116958A TW 91116958 A TW91116958 A TW 91116958A TW 569136 B TW569136 B TW 569136B
Authority
TW
Taiwan
Prior art keywords
instruction
extended
item
extension
scope
Prior art date
Application number
TW091116958A
Other languages
Chinese (zh)
Inventor
G Glenn Henry
Rodney E Hooker
Terry Parks
Original Assignee
Ip First Llc
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
Priority claimed from US10/144,592 external-priority patent/US7155598B2/en
Application filed by Ip First Llc filed Critical Ip First Llc
Application granted granted Critical
Publication of TW569136B publication Critical patent/TW569136B/en

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/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • 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
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

A conditional execution apparatus in a microprocessor is provided. The conditional execution apparatus includes translation logic and extended execution logic. The translation logic translates an extended instruction into corresponding micro instructions. The extended instruction has and extended prefix and an extended prefix tag. The extended prefix specifies a condition, where execution of an operation prescribed by the extended instruction depends upon realization of the condition. The extended prefix tag indicates the extended prefix, where the extended prefix tag is an otherwise architecturally specified opcode within an instruction set for the microprocessor. The extended execution logic is coupled to the translation logic. The extended execution logic receives the corresponding micro instructions, and evaluates the condition. If the condition is not realized, then the extended execution logic precludes execution of the operation.

Description

569136569136

發明說明( 與相關申請案之對照 [0001] 本申請案係依據以下美國申案號则i«,申請曰為2002年5月^優先權: 「執行條件指令之裝置及方法」。 利名稱為[0002] 本申請案與下列同在申請中之美國專利申 γ ’其”日與本案相同,且具有相同的中請人與^明 TW SERIAL DOCKET --r-—~_ ίΜΛΜ 選擇性地控制條件碼回寫之裝置及 方法 NUMBER 91116957 91116956 NUMBER CNTR:2176 CNTR:2188 91116959 CNTR:2189 機制 91116672 CNTR:2198 選擇性地控制結果回寫之裝置及方 法 (請先閲讀背面之注意事項再填寫本頁)Description of the Invention (Comparison with Related Applications [0001] This application is based on the following US application number rule i «, the application is May 2002 ^ Priority:" Apparatus and Method for Executing Conditional Instructions ". The name is [0002] This application is the same as the following US patent application in the same application: Its "date" is the same as this application, and has the same applicant and ^ TW SERIAL DOCKET --r --- ~ _ ίΜΛΜ selectively control Device and method for writing back condition code NUMBER 91116957 91116956 NUMBER CNTR: 2176 CNTR: 2188 91116959 CNTR: 2189 mechanism 91116672 CNTR: 2198 Device and method for selectively controlling result write-back (Please read the precautions on the back before filling this page )

VI 裝VI equipment

n n n n^tfJV n «ϋ n n I ϋ ϋ I #. (一) 發明技術領域: 經濟部智慧財產局員工消費合作社印製 [0003] 本發明係有關微電子的領域,尤指一種能將條 件執行的能力納入一既有之微處理器指令集架構的技術。 (二) 發明技術背景·· [0004] 自1970年代初發韌以來,微處理器之使用即呈 指數般成長。從最早應用於科學與技術的領域,到如今已 2 本紙張尺度適用中國國家標準(CNS)A4規格""(210 x 297公餐) "" A7 ^—-----5Z____ 五、發明說明(> ) 從那些特殊領域引進商業的消費者領域,如桌上型與膝上 型(laptop)電腦、視訊遊戲控制器以及許多其他常見的 家用與商用裝置等產品。 [0005] 隨著過去三十年來使用上的爆炸性成長,在技 術上也歷經一相對應之提昇,其特徵在於對下列項目有著 日益昇高之要求··更快的速度、更_定址能力、更快的 記憶體存取、更大的運算元、更多種運算(如浮點運算、 單^令多重資料(SIMD)、條件移動等)以及附加的特 殊運异(如多媒體運算)。如此造就了該領域中驚人的技 術進展,且都已應用於微處理器之設計,像擴充管線化 (extensive Pipelining)、超純量架構(super—scaiar architecture)、快取結構、亂序處理(〇ut—〇f—〇rder processing)、爆發式存取(burst access)、分支預測 (branch predication)以及假想執行(speculative exeo^tion)。直言之,比起3〇年前剛出現時,現在的微 處理器呈現出驚人的複雜度,且具備了強大的能力。 [0006] 但與許多其他產品不同的是,有另一非常重要 的因素已限制了,並持續限制著微處理器架構之演進。現 今微處理器會如此複雜,一大部分得歸因於這項因素,即 舊有軟體之相容性。在市場考量下,所多製造商選擇將新 的架構特徵納入最新的微處理器設計中,但同時在這些最 新的產品中,又保留了所有為確保相容於較舊的、即所謂 「舊有」(legacy)應用程式所必需之能力。 [〇〇〇7]這種舊有軟體相容性的負擔,沒有其他地方, 本紙張尺度適用中國國家標準(CNS)A4規格(210 x •U---^------相-裝--- (請先閱讀背面之注意事項再填寫本頁) 訂-· 經濟部智慧財產局員工消費合作社印製 3 569136 A7nnnn ^ tfJV n «ϋ nn I ϋ ϋ I #. (1) Technical Field of Invention: Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs [0003] The present invention is related to the field of microelectronics, especially a method that can perform conditions. Ability to incorporate technology into an existing microprocessor instruction set architecture. (II) Background of the Invention ... [0004] Since its development in the early 1970s, the use of microprocessors has grown exponentially. Since the earliest application in the field of science and technology, 2 paper sizes are now applicable to the Chinese National Standard (CNS) A4 specifications " " (210 x 297 meals) " " A7 ^ —----- 5Z____ 5. Description of the invention (>) Consumer fields that have introduced business from those special fields, such as desktop and laptop computers, video game controllers, and many other common home and business devices. [0005] With the explosive growth in use over the past thirty years, it has also undergone a corresponding improvement in technology, which is characterized by increasing requirements for the following items: faster speeds, more addressing capabilities, Faster memory access, larger operands, more operations (such as floating-point operations, single order multiple data (SIMD), conditional movement, etc.) and additional special operations (such as multimedia operations). This has created amazing technological progress in this field, and has been applied to the design of microprocessors, such as extended pipelining, super-scaiar architecture, cache structure, and out-of-order processing ( (Out-of-flight processing), burst access, branch predication, and speculative exeotion. To put it bluntly, today's microprocessors are surprisingly more complex and powerful than they were 30 years ago. [0006] But unlike many other products, another very important factor has been limited and continues to limit the evolution of microprocessor architectures. Today's microprocessors can be so complicated, and a large part can be attributed to the compatibility of legacy software. In consideration of the market, many manufacturers chose to incorporate new architectural features into the latest microprocessor designs, but at the same time, in these latest products, all of the latest products have been retained to ensure compatibility with the older, so-called "old Have the necessary capabilities for a legacy application. [00〇7] This old software compatibility burden, there is no other place, this paper size applies the Chinese National Standard (CNS) A4 specifications (210 x • U --- ^ ------ phase- Packing --- (Please read the precautions on the back before filling out this page) Order --- Printed by the Consumer Consumption Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs 3 569136 A7

意 事 填 1 :裝 頁I 請 先 閱 讀 背 面 訂 聲 _136 r—^___: 五、發明說明(ψ) ;##),以作為一運算指令(如加'減、將運算元從 \己憶體移至暫存轉)的部分。經過如歸式化後,條件 心令,通過微處理H之管線,並在條件指令所指定之運算 執仃,,評估其測試條件。若條件評估為真(亦即已滿足), 則運异就被執行,並產生結果。若條件評估為假(亦即未 滿足),則運算就不被執行,條件指令也被撤回。在現代 之微處理器管線架構中,條件執行的能力是非常有用的, T為它可以避免—深的管線被清空之現象。對於目前應用 程式中用來改變條件流程之習用的條件分支指令而言,此 現象即是其分支預測錯誤所造成的結果。 / [0010]因此,我們所需要的是,一種允許將條件執行 特徵納入既有微處理器指令集架構的技術,其中該指令集 架構具有已完全佔用之運算碼結構,而該技術則仍保留舊 有應用軟體之相容性。 (三)發明簡要說明: [0011]本發明如同前述其他申請案,係針對上述及其 他習知技術之問題與缺點加以克服。本發明提供一種更好 的技術,用以擴充微處理器之指令集,使其超越現有能力, 以提供完整的條件執行特徵。在一具體實施例中,於一微 處理器内提供一種條件執行裝置。該條件執行裝置包括一 轉譯邏輯(translation logic)與一延伸執行邏輯 (extended execution logic)。該轉譯邏輯將一延伸指 令轉澤成對應之微指令(micro instructi〇n)。該延伸指 5 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) — rL------«-裝--- (請先閱讀背面之注意事項再填寫本頁} ·. 經濟部智慧財產局員工消費合作社印製 569136 A7 五、發明說明(f ) ,具-延伸前置碼(extended prefix)與—延伸前置碼標 。己extended prefix tag)。該延伸前置碼指定一條件, • l·---%-------裝 (請先閲讀背面之注意事項再填寫本頁) 而該延伸齡定之運算是錄行,須観條件有否滿 足而定。該延伸前置碼標記指出該延伸前置瑪,其中延伸 前置碼標記係微處理器指令集内另一架構化地指定之運管 碼。該延伸執行邏_接至轉譯邏輯,接收該對應之^ 令,並評估件。若該條縣献,舰伸 排除該運算之執行。 科1 [0012]本發明的-個目的,係提出—種為既有微處理 器指令集增祕件執行特徵之延伸鋪。該延伸機制包括 -延伸指令、—轉_及—條件執行控制邏輯。該延伸指 令指定-複數個條件碼之子集合,作為一指定運算是 行之判斷依據,而該延伸指令包含該既有微處理器指令隼 之其中一指令,其後則接著—n位元之延伸特徵前置碼集 該指令指出該延伸指令,而該n位元延伸特徵前置碼則指 出該子集合。該轉譯器接收該延伸指令,並產生 經濟部智慧財產局員工消費合作社印製 指導該指定運算之條件執行;: 件執灯控制邏_接至轉譯器,用以評估對應該 之 條件碼,並於該子集合滿;^時,執行該指定運算。° 理-[:=二:另—目的’在於提出—種為既有微處 令集延伸模組具一逸出標記(⑽pe⑽與-條件指t :。該逸出標記由—轉譯邏輯接 收’並‘出一對私令之附隨部分係指定了-微處理器所 569136 A7 五、發明說明(G ) 延伸運算,其中該逸出標記為該既有微處 =二 一運算碼項目。該條件指定咖至 „己,且為該附隨部分其中之一。該條件指定元指 疋一條件碼狀態’其係該延伸運算是否執行之判斷依據。 :==態被送至一條件執行控制邏輯,其中該條件執 订控制邏輯致能/除能(enable/diable)該延伸運算的執 行。 [0014] 本發_再-目的,在於提供—鋪充微處理 器指令集的方法,以提供可程式化之條件執行能力。該方 法包括提供了延伸指令,該延伸指令包含一延伸標記及一 條件指定7L前置碼’其中該延伸標記係該微 訂 之其中一運算碼;透過該條件指定元前置竭與該延伸指; 之其餘部分指定所要執行之一運算,其中該運算是否執行 係決定於該條件指定元前置碼所指定之條件是否滿足;以 及評估條件碼以判斷該條件是否滿足,且若該條件滿足, 即執行该運异,若不滿足,便排除該執行動作。 (四)發明圖示說明·· [0015] 本發明之前述與其它目的、特徵及優點,在配 合下列說明及所附圖示後,將可獲得更好的理解: [0016] 圖一係為一相關技術之微處理器指令格式的方 塊圖; [0017] 圖二係為一表格,其描述一指令集架構之指 令,如何對應至圖-指令格式内-運算竭位元組中之位元 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 569136 A7 B7 五 經濟部智慧財產局員工消費合作社印製 發明說明(7 ) 邏輯狀態; [0018]圖三係為本發明之 [_]圖四係為-表格,宜袼式的方塊圖’· 構特徵如何對應至-8位元延=依據本發明,延㈣ 輯狀態; ’置碼實施例中位元的竭 [_]圖五係為解說本發明用以 其 線化微處理H之方塊圖; +執之- & [0021]圖六係為本發__ -具體實施例的方塊圖; 町之置碼之 件之Γ:]圖七係為顯示由表六延伸前置碼之值所指定條 [0G23]圖八係為圖五之微處理器哺譯階段邏輯細部 的万塊圖, [0024] 圖九係為圖五之微處理器内延伸執行 塊圖; [0025] 圖十係為一表格,其對於常用之ιρ—then—此紐 敛述’比較條件執行之流程與習用執行之流程;以及 [0026] 圖十一係為描述本發明用以轉譯與執行條件指 令的方法之運作流程圖。 圖號說明: 100指令格式 102 運算碼 200 8位元運算碼圖 101前置碼 103位址指定元 201運算碼值 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) u — — — — — n n -( — — 111— 一n « — I! — — — — — . (請先閲讀背面之注意事項再填寫本頁) L· 569136 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(《) 202運算碼F1H 300延伸指令格式 302運算碼 304延伸指令標記 400 8位元前置碼圖 500管線化微處理器 301 303 305 401 501 502指令快取記憶體/外部記憶體 503指令佇列 504 505延伸轉譯邏輯 506 507執行邏輯 508 600延伸前置碼 601 602條件襴位 700條件欄位之邏輯狀態 800轉譯階段邏輯 801 802機器特定暫存器 803 804指令緩衝器 805 806轉譯控制器 807 808逸出指令偵測器 809 810指令解碼器 811 812微指令缓衝器 813 814微運算碼欄位 815 816來源攔位 817 900延伸執行邏輯 901 902微指令暫存器 903 前置碼 位址指定元 延伸前置碼 架構特徵 提取邏輯 轉譯邏輯 微指令佇列 延伸執行邏輯 備用攔位 啟動狀態訊號 延伸特徵欄位 轉譯邏輯 除能訊號 延伸前置碼解碼器 控制唯讀記憶體 運算碼延伸項欄位 目的搁位 位移欄位 運算元暫存器 運算碼延伸項欄位 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 569136 A7Note 1: Fill in the page I. Please read the booklet on the back _136 r — ^ ___: 5. Description of the invention (ψ); ##) as an operation instruction (such as addition, subtraction, operation element from \ self Memory moved to temporary transfer). After normalization, conditional instructions are processed through the pipeline of H and executed in the operation specified by the conditional instruction to evaluate its test conditions. If the condition evaluation is true (that is, it has been met), the difference is executed and the result is produced. If the condition evaluates to false (that is, not met), the operation is not executed and the conditional instruction is withdrawn. In modern microprocessor pipeline architectures, the conditional execution capability is very useful, because it can avoid the phenomenon of deep pipelines being emptied. For conventional conditional branch instructions used in current applications to change the conditional flow, this phenomenon is the result of incorrect branch prediction. / [0010] Therefore, what we need is a technology that allows conditional execution features to be incorporated into an existing microprocessor instruction set architecture, where the instruction set architecture has a fully occupied opcode structure, and the technology is still retained Compatibility with legacy applications. (3) Brief description of the invention: [0011] Like the other applications mentioned above, the present invention addresses the problems and disadvantages of the above and other conventional technologies. The present invention provides a better technique for expanding the microprocessor's instruction set beyond the existing capabilities to provide complete conditional execution features. In a specific embodiment, a conditional execution device is provided in a microprocessor. The conditional execution device includes a translation logic and an extended execution logic. The translation logic translates an extended instruction into a corresponding micro instruction. The extension refers to 5 paper sizes applicable to China National Standard (CNS) A4 (210 X 297 mm) — rL ------ «-pack --- (Please read the precautions on the back before filling this page} ·. Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 569136 A7 V. Description of Invention (f) with -extended prefix and -extended prefix tag (extended prefix tag). The extended prefix specifies a condition, • l · ---% ------- install (please read the precautions on the back before filling this page), and the extended age calculation is a record, and the condition is required It depends. The extended preamble mark indicates the extended preamble, wherein the extended preamble mark is another architecturally designated operation code in the microprocessor instruction set. The extension executes the logic to the translation logic, receives the corresponding command, and evaluates the piece. If the county provides, the ship's extension excludes the execution of the operation. Section 1 [0012] An object of the present invention is to provide an extension of the execution features of the existing microprocessor instruction set to add secrets. The extension mechanism includes-extension instructions,-transitions, and-conditional execution control logic. The extended instruction specifies a sub-set of a plurality of condition codes as a basis for judging a specified operation. The extended instruction includes one of the existing microprocessor instructions, followed by -n-bit extension. The feature preamble set indicates the extended instruction, and the n-bit extended feature preamble indicates the subset. The translator receives the extended instruction, and generates the conditional execution of the specified operation printed by the employee's consumer cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs: a piece of lamp control logic is connected to the translator to evaluate the corresponding condition code, and When the subset is full; ^, the specified operation is performed. ° Management-[: = 二: Another—purpose 'is to propose—a kind of existing microprocessing set extension module with an escape tag (⑽pe⑽ and -condition refers to t :. The escape tag is received by the translation logic' And the accompanying part of a pair of private orders is specified-Microprocessor Institute 569136 A7 V. Description of the Invention (G) Extended operation, where the escape mark is the existing micro-point = the binary operation code item. The The condition designates the user as one of the accompanying parts. The condition designation element refers to a condition code state 'which is the basis for judging whether the extended operation is performed.: == The state is sent to a condition execution control Logic, where the conditional order control logic enables / disables the execution of the extended operation. [0014] The present invention re-purposes to provide a method for filling the microprocessor instruction set to provide Programmable conditional execution capability. The method includes providing an extension instruction, the extension instruction includes an extension mark and a condition designation 7L preamble, wherein the extension mark is one of the operation codes of the micro order; Yuan exhaustion and the extended finger; The remaining part specifies an operation to be performed, wherein whether the operation is performed depends on whether the condition specified by the condition designation preamble is satisfied; and the condition code is evaluated to determine whether the condition is satisfied, and if the condition is satisfied, that is, Execution of this difference, if not satisfied, the execution action is excluded. (IV) Illustration of the invention ... [0015] The foregoing and other objects, features, and advantages of the present invention, in cooperation with the following description and accompanying drawings, A better understanding will be obtained: [0016] FIG. 1 is a block diagram of a related art microprocessor instruction format; [0017] FIG. 2 is a table describing how instructions of an instruction set architecture correspond to Figure-Instruction format-The paper size of the byte in the calculation exhaust byte group is applicable to the Chinese National Standard (CNS) A4 specification (210 X 297 mm) 569136 A7 B7 (7) Logical state; [0018] FIG. 3 is the present invention. [_] FIG. 4 is the-table, a block diagram of the appropriate formula. How do the structural features correspond to -8-bit extension = According to the present invention, extension辑 series State; 'Bit exhaustion in the coded embodiment. [_] Figure 5 is a block diagram illustrating the linear microprocessing H of the present invention; + Zhizhi-& [0021] Figure 6 is the present issue_ _-A block diagram of a specific embodiment; Γ of the coded parts:] Figure 7 is a bar showing the value specified by the extended preamble value of Table 6 [0G23] Figure 8 is a microprocessor feed of Figure 5 [0024] FIG. 9 is a diagram of the extended execution block in the microprocessor of FIG. 5; [0025] FIG. 10 is a table showing the commonly used ιρ—then—this condensed description 'Compare the process of conditional execution with the process of customary execution; and [0026] FIG. Explanation of drawing number: 100 instruction format 102 operation code 200 8-bit operation code figure 101 prefix code 103 address designation element 201 operation code value This paper size applies Chinese National Standard (CNS) A4 specification (210 X 297 public love) u — — — — — Nn-(— — 111 — One n «— I! — — — — — (Please read the notes on the back before filling out this page) L · 569136 A7 B7 Consumer Cooperatives, Intellectual Property Bureau, Ministry of Economic Affairs Printed 5. Description of the invention (") 202 operation code F1H 300 extended instruction format 302 operation code 304 extended instruction mark 400 8-bit preamble figure 500 pipelined microprocessor 301 303 305 401 501 502 instruction cache memory / External memory 503 instruction queue 504 505 extended translation logic 506 507 execution logic 508 600 extended preamble 601 602 condition bit 700 condition field logical state 800 translation stage logic 801 802 machine-specific register 803 804 instruction buffer 805 806 translation controller 807 808 escape instruction detector 809 810 instruction decoder 811 812 micro instruction buffer 813 814 micro op code field 815 816 source stop 817 900 extended execution logic 901 902 micro finger Order register 903 Preamble address designation element Extension preamble architecture feature extraction logic translation logic microinstruction queue extension execution logic standby stop activation status signal extension feature field translation logic disable signal extension preamble decoder Control the read-only memory opcode extension item field. Shelve shift field Operand register opcode extension item field (please read the precautions on the back before filling this page) This paper size applies to Chinese National Standard (CNS ) A4 size (210 X 297 mm) 569136 A7

發明說明(?) 9〇5運算元暫存器 907條件執行控制邏輯 9〇9算術邏輯單元 904其餘欄位 906條件旗標暫存器 908致能訊號G0 910結果暫存器 1000比較IF-THEN-ELSE敘述之條件執行流程與 流程的表格 帛輯職執娜件齡財法之運作流程 (五)發明詳細說明: [〇〇27]以下的說明’係在—特定實施例及其必要條件 的脈絡下而提供,可使一般熟習此項技術者能夠利用本發 明。然而’各種對該較佳實施例所作的修改,對熟習此項 技術者而言乃係顯而易見’並且,在此所討論的—般原理, 亦可應用至其他實_。目此,本發職不限於此處所展 示與敘述之特定實施例,而是具有與此處所揭露之原理與 新穎特徵相符之最大範圍。 [0028]前文已針對今日之微處理器内,如何擴充其架 構特徵,以超越相關指令集能力之技術,作了背景的討論^ 有鑑於此,在圖-與圖二,將討論一相關技術的例子。此 處的討論強調了微處理器設計者所一直面對的兩難,即一 方面,他們想將最新開發之架構特徵納入微處理器的設計 中’但另-方面,他們又要保留執行舊有應用程式的能力。 在圖-至二的例子中,-完全佔用之運算碼圖,已把增加 新運异碼至该範例架構的可能性排除,因而迫使設計者要 10 尺度適财國國家標準(CNS)A4規格(ilG X 297公楚) « L---*-----I ----I---訂·--------. (請先閱讀背面之注意事項再填寫本頁) 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 569136 五、發明說明(( 不就選擇將新特徵納入,而犧牲某種程度之舊有軟體相容 性。’。要不就將架構上的最新進展—併放棄,以便維持微處 -----------«-裝--- (請先閲讀背面之注意事項再填寫本頁) 理器與舊有應用程式之相容性。在相關技術的討論後,於 圖三至十-’將提供對本發明之討論。藉由確認與利用一 既有但未使用之運算碼作為一延伸指令之前置碼標記,本 發明可讓微處理器設計者克服已完全使用之指令集架構的 =制在允β午他們提供條件執行能力的同時,也能保留鱼 舊有應用程式的相容性。 /、 [G㈣]雜關_,其係__技術之微處理器指令 ,100的方塊圖。該相關技術之指令⑽具 之資料項目膝⑽,每一項目皆設定成一特定值,合^ 2組成微處理器之—特定指令⑽。該特定指令⑽指示 執行一特定運算,例如將兩運算元相加,或是將 :運^從記憶體搬移至微處理㈣之暫存器。一般而 ;」曰7 100内之運算碼項目1〇2指定了所要執行之特定 =’而選用(optional)之位址指定元項目103位於運 ·’、’ 02之後’以指定_娜定運算謂 經濟部智慧財產局員工消費合作社印製 -l· · =3?運算’運算元位於何處等等。指令格式心 二ίνΓ員在—運算碼102前加上前置碼項目1{)1。在運算 獅I所指定之特定運算執行時,*置碼1〇1肖以指示是 範圍、的架構特徵。一般而言,這些架構特徵的應用 現今中任何運算碼1(32所指定之運算。例如’ 馬101存在於一些能使用不同大 仏心執賴猶理財。^ 1本紙張尺度適用 569136 A7Description of the invention (?) 905 operand register 907 conditional execution control logic 009 arithmetic logic unit 904 remaining fields 906 condition flag register 908 enable signal G0 910 result register 1000 compare IF-THEN -ELSE described the conditional execution process and the flow chart of the work flow (5) Detailed description of the invention: [0027] The following description is' in the-specific embodiment and its necessary conditions It is provided in the context so that those skilled in the art can utilize the present invention. However, 'various modifications to the preferred embodiment will be apparent to those skilled in the art' and the general principles discussed herein can also be applied to other embodiments. For this reason, this post is not limited to the specific embodiments shown and described herein, but has the widest scope consistent with the principles and novel features disclosed herein. [0028] The foregoing has discussed the background of today ’s microprocessors on how to expand their architectural features to surpass the capabilities of related instruction sets. In view of this, a related technology will be discussed in Figures 2 and 2 example of. The discussion here highlights the dilemma that microprocessor designers have been facing. On the one hand, they want to incorporate the latest developed architectural features into the design of the microprocessor. Application capabilities. In the example of Figures 2 to 2, the completely occupied occupancy code diagram has excluded the possibility of adding a new transport code to the example architecture, thus forcing the designer to require a 10-scale national financial standard (CNS) A4 specification. (IlG X 297). «L --- * ----- I ---- I --- Order · --------. (Please read the notes on the back before filling this page ) Printed by the Consumers 'Cooperative of the Ministry of Economic Affairs of the Ministry of Economic Affairs of the People's Republic of China. 569136 V. Invention Description ((If you do n’t choose to include new features, and sacrifice some degree of old software compatibility.'. Or the latest developments in architecture —And give up in order to maintain the slightest point ----------- «-install --- (Please read the precautions on the back before filling this page) The compatibility of the processor with the old application. After the discussion of related technologies, the discussion of the present invention will be provided in Figs. Processor designers have overcome the use of the instruction set architecture that has been fully used. While allowing them to provide conditional execution capabilities, they can also ensure that The compatibility of the old applications of fish. / [G㈣] Miscellaneous _, which is a microprocessor instruction of __ technology, a block diagram of 100. The data items of the instruction equipment of the related technology are as follows, each The items are set to a specific value, which together constitutes a specific instruction of the microprocessor ^ 2. The specific instruction ⑽ instructs to perform a specific operation, such as adding two operands, or moving: Yun ^ from memory to micro The register that handles 一般. Generally; "The operation code item 10 within 7 100 specifies the specific to be executed = 'and the optional address designation meta-item 103 is located after" 02 ". 'Assignment_Nading operation is printed by the Consumers ’Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs -l · · = 3? Where is the operand located and so on. Instruction format heart 2 ίνΓ members before-operation code 102 plus before Code item 1 {) 1. During the execution of a specific operation specified by Operation Lion I, * code 1 〇1 is used to indicate the scope and architecture characteristics. Generally speaking, the application of these architecture characteristics to any operation code in today The operation specified by 1 (32. For example, 'Ma 101 exists in some Fo using different big heart still rely on financial execution. ^ A paper scale applicable 569136 A7

569136 A7 ----------Β7 五、發明說明(|>) 2〇1。表格200將運算碼項目1〇2之一特定值,譬如02Η, 映射至一對應之運算碼指令2〇1 (即指令102)。在χ86運 算碼圖的例子中,為此領域中人所熟知的是,運算碼值14Η 係映射至x86之進位累加(Add With Carry,ADC)指令, 此指令將一 8位元之直接(inunediate)運算元加至架構暫 存器AL之内含值。熟習此領域技術者也將發覺,上文提及 之 x86 前置碼 1〇1 (亦即 66H、67H、〇FH、F0H、F2H 及 F3H) 係實際的運算碼值201,其在不同脈絡下,指定要將特定的 架構延伸項應用於隨後之運算碼項目102所指定的運算。 例如,在運算碼14H (正常情況下,係前述之ADC運算碼) 前加上前置碼0FH,會使得χ86處理器執行一「解壓縮與插 入低壓縮之單精度浮點值」(u叩ack and Interleave L〇w PackedSingle-Precision Floating-Point Values)運算, 而非原本的ADC運算。諸如此x86例子所述之特徵,在現 代之微處理器中係部分地致能,此因微處理器内之指令轉 譯/解碼邏輯是依序解譯-指令⑽的項目勝搬。所以 在過去,於指令集架構中使用特定運算碼值作為前置碼 1—01,可允許微處理器設計者將m進的雜特徵納入相 容舊有軟體之微處理器的設計中,而不會對未使用那些特 定運算碼狀態的舊有程式,帶來執行从負輯擊。例:, ^未曾娜運算碼GFH㈣有程式,仍可在今日的· 微處理上執行。而-較新的應用程式,藉 算碼0=為前置碼un,就能使用許 = 單-指令多重資料(遍)運算’條件移動運算 13 斯136569136 A7 ---------- B7 V. Description of the invention (| >) 2101. The table 200 maps a specific value of the operation code item 102, for example, 02Η, to a corresponding operation code instruction 201 (ie, instruction 102). In the example of the χ86 opcode diagram, as is well known in the art, the opcode value 14Η is mapped to the x86 Add With Carry (ADC) instruction. This instruction converts an 8-bit direct (inunediate ) Operand is added to the embedded value of the architecture register AL. Those skilled in this field will also find that the aforementioned x86 preamble 1101 (ie, 66H, 67H, 0FH, F0H, F2H, and F3H) is the actual operation code value 201, which is in different contexts. , Specifies that a particular schema extension is to be applied to the operation specified by the subsequent opcode item 102. For example, adding the preamble 0FH before the opcode 14H (normally, the aforementioned ADC opcode) will cause the χ86 processor to execute a "decompress and insert low-compression single-precision floating-point value" (u 叩ack and Interleave L0w Packed Single-Precision Floating-Point Values) operations instead of the original ADC operations. Features such as this x86 example are partially enabled in modern microprocessors. This is because the instruction translation / decoding logic in the microprocessor is sequentially interpreted-the instructions of the project are moved. Therefore, in the past, the use of specific opcode values as the preamble 1-01 in the instruction set architecture allows microprocessor designers to incorporate the miscellaneous features of m into the design of microprocessors compatible with old software. Negative strikes are not performed on legacy programs that are not using those particular opcode states. Example: ^ Weizena opcode GFH has a program that can still be executed on today's microprocessors. And-newer applications, using the calculation code 0 = as the preamble un, you can use Xu = single-instruction multiple data (pass) operation 'conditional movement operation 13 Si 136

、發明說明(丨$ L〇〇32]儘管過去 — — — — — — — II I ·11 (請先閱讀背面之注意事項再填寫本頁) 作為前置碼1G1 (也定可用/多餘的運算碼值2〇1 令101),來提供3_特徵標記/指標101或逸出指 功能上的強但許多指™。在提供 礙:%乃q因為一非常直接的理由,而碰到阻 圖2〇n由多餘的運算攝值已被用完,也就是,運算石馬 二值、*八、、的全部f算竭值已被架構化地指定。當所有可用 有剩Vr辰ί運算竭項目102或前置碼項目101時,就沒 顯、運异碼值可作為納人轉徵之用。這個嚴重的問 /·二^現在的°斗多微處理器架構中,因而迫使設計者得 了 ’構特徵與保留舊有程式之相容性兩者間作挟擇。 ⑼33]值付注意的是,圖二所示之指令2的係以一般 經濟部智慧財產局員工消費合作社印製 -l· · 1的t式表示(亦即124、186),而非具體指涉實際的運 异(如進位累加、減'互斥或)。這是因為,在-些不同 的微處理器架構中,完全佔用之運算碼圖咖在架構上, 已將,入較新進展的可能性排除。雖朗二例子所提到 的’是i位it的運算碼項目1Q2,f此領域技術者仍將發 覺,運算碼102的特定大小’除了作為一特殊情況來討論 元全佔用之運算碼結構2〇()所造成的問題外,其他方面與 問題本身並不相干。因此,_完全之6位元運算碼圖 將有64個可架構化地指定之運算碼/前置碼2〇ι,並將無法 提供可用/多餘的運算碼值作為擴充之用。 … [0034]另一種做法,則並非將原有指令集廢棄,以一 新的格式100與運算碼圖200取代,而是只針部份既 有的運鼻碼201,以新的指令意含取代,如圖二之運算媽 -n l n ·Description of the invention (丨 $ L〇〇32) Despite the past — — — — — — — II I · 11 (Please read the notes on the back before filling out this page) as the preamble 1G1 (also available / excessive calculations Code value 201 (command 101) to provide 3_feature mark / index 101 or escape finger function is strong but many fingers ™. In the provision of obstacles:% is q for a very direct reason, and encountered a resistance map The value of 20n has been used up by the extra computational values, that is, all f-calculation exhaustion values of the computational stone horse binary values, * eight, and have been specified architecturally. When all available Vrchen calculations are exhausted, When the item 102 or the preamble item 101 is not displayed, the different code value can be used for recruiting people. This serious problem is that in the current multi-processor architecture, it forces the designer There is a choice between the 'structural characteristics' and the preservation of the compatibility of the old programs. ⑼33] It is worth noting that the instruction 2 shown in Figure 2 is printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs- l · · 1's t-type representation (ie 124, 186), rather than specifically referring to actual differences (such as carry accumulation, 'Mutual exclusion or). This is because, in some different microprocessor architectures, the fully occupied opcode map has been architecture-excluded, and the possibility of newer progress has been ruled out. The obtained 'is the i-bit operation code item 1Q2, and those skilled in the art will still notice that the specific size of the operation code 102' is caused by the operation code structure 2O () caused by the special occupation. Apart from the problem, the other aspects are not related to the problem itself. Therefore, _complete 6-bit opcode map will have 64 opcodes / preambles that can be architecturally specified, and will not provide usable / redundant The value of the operation code is used as an extension.… [0034] Another method is not to discard the original instruction set and replace it with a new format 100 and operation code map 200, but only to pin the existing operation nose. Code 201 is replaced with a new instruction implication, as shown in the second calculation math -nln ·

569136 Β7569136 Β7

40H至4FH。以這種混合的技術,符合舊有規格之微處理器 就可以相容舊有軟體模式運作,射運_麵—卿係依 财規則來解譯,或者以加^^(enhancedm〇de)運作, 其中運算碼40H-4FH係依加強之架構規則來解譯。此項技 術確能允許設計者將新特徵納入設計,然而,當符合舊有 規格之微處理器於加強模式運作時,缺點仍舊存在,因為 微處理H雜猜任何使料算碼备備的躺程式。 因此’站在保留舊有軟體相容性的立場,相容舊有軟體/加 強模式的技術,還是無法接受的。 [_]㈣,對於運算敬此完全侧之指令集 2GG ’且该空間涵蓋所有於符合舊有規格之微處理器上執行 之應用程式的情形,本案發明人已注意到其中運算碼2〇1 的使用狀況,且他們亦觀察出,雖然有些指令2〇2是架構 化地♦曰定,但未用於能被微處理器執行之應用程式中。圖 二所述之指令IF1 202即為此現象之一例。事實上,相同 的運算竭值2G2 (亦即F1H)係映射至未用於x86指令集架 構之有效指令202。雖然該未使用之χ86指令2〇2是有效 經 的x86指令202,其指示要在χ86微處理器上執行一架構化 | =曰又之運算’但它卻未使用於任何能在現代遵微處理 | $上執行之應用程式。這個特殊的χ86指令202被稱為電 | 路内模擬中斷點(InCircuitEmulati〇nBreakp〇int)(亦 孟 即ICE BKPT,運算碼值為削),之前都是專門使用於一 | 種現在已不存在之微處理器模擬設備中。ICE βκρτ 2〇2從 翻於電路__之外的顧程式中,並且絲使用欣 度適《ΤΓ國家標準(CNS)A4H^0 Χ 297 公楚)----—40H to 4FH. With this hybrid technology, microprocessors that conform to the old specifications can be compatible with the old software mode operation. Shooting _ noodles-Qing is interpreted according to the rules of finance, or it can be operated by adding ^^ (enhancedm〇de) Among them, the operation code 40H-4FH is interpreted according to the strengthened architecture rules. This technology does allow the designer to incorporate new features into the design. However, when a microprocessor that conforms to the old specifications operates in enhanced mode, the disadvantages still exist because the micro-processing H mismatches any data that makes the code ready. Program. Therefore, from the standpoint of preserving legacy software compatibility, technology that is compatible with legacy software / enhancement mode is still unacceptable. [_] ㈣ For the complete set of instructions 2GG ', and the space covers all applications running on microprocessors that meet the old specifications, the inventor of this case has noticed that the operation code 2001 And they also observed that although some instructions 202 are structured, they are not used in applications that can be executed by microprocessors. The instruction IF1 202 described in Figure 2 is an example of this phenomenon. In fact, the same calculation exhaustion value 2G2 (ie F1H) is mapped to a valid instruction 202 that is not used in the x86 instruction set architecture. Although the unused χ86 instruction 202 is a valid x86 instruction 202, which instructs to perform a structured operation on the χ86 microprocessor | = said again and again ', but it is not used in any modern Processing | $ runs on the application. This special χ86 instruction 202 is called an electric circuit interruption point (InCircuitEmulati〇nBreakp〇int) (also known as ICE BKPT, the opcode value is truncated). It was previously used exclusively for one kind. It no longer exists Microprocessor simulation device. ICE βκρτ 2〇2 is turned into the program from the circuit __, and the wire is used with the degree of comfort (TΓ National Standard (CNS) A4H ^ 0 χ 297) ----

I ^----i-------* 裝--- f請先閱讀背面之注意事項再填寫本頁) · 569136 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 A7 B7 五、發明說明(〖/) BKPT 202之電路内模擬設備已不復存在。因此,在χ86的 情形下’本發明人已在一完全佔用之指令集架構200内發 現一樣工具,藉著利用一有效但未使用之運算碼202,以允 許在微處理器的設計中納入先進的架構特徵,而不需犧牲 舊有軟體之相容性。在一完全佔用之指令集架構2〇〇中, 本發明利用一架構化地指定但未使用之運算碼2〇2,作為一 指標標記,以指出其後之一 η位元前置碼,因此允許微處 理器設計者可將最多2η個最新發展之架構特徵,納入微處 理器的設計中,同時保留與所有舊有軟體完全的相容性。 [0036] 本發明藉提供一 η位元之條件碼指定元前置 碼,以使用前置竭標記/延伸前置碼的概念,因而可允許程 式^將一習用之供微處理器執行的運算(如加、減、布林 運异'運异元操作等)程式化,並在相同指令内,指定一 該運算賴以執行之條件。在一具體實施例中,微處理器之 條件碼狀態、’存於一條件碼暫存器中,且於該指定運算執 打前被加崎估。若評估結果確定該條件滿足,則執行該 指定運算。若該條件未滿足,則不執行該指定運算。 明現將參照圖三至十一進行討論。 χ [0037] 現凊參閱圖三,其為本發明之延伸指令格式 的方塊圖。與圖—所討論之格式⑽非常近似,該延肿 令格式300具有數量可變之資料項目301 -305,每-項目: 定為一特定值,集合紗倾賴處理ϋ之-特定於Γ 300。該特定指令_指示微處理器執行一特定運^ 將兩運算元相加,或是將一運算元從記憶體搬移至微處= 16 尺度適用中國國家標準格⑽χ 297在 (請先閲讀背面之注意事項再填寫本頁) 裝 一-OJ·. 569136 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(4) 盗之暫存如。-般^言,指令_之運 疋了所要執行之特定運算,而選用之位址指定元2指 則位於運算碼302後,以指定該特定運瞀二、目加3 像是如何勃杆兮管·重瞀-/ '^相關附加資訊, 了執订4運开,運·^位於何處等等。指令 f允許程式員在-運算碼3〇2前加上前置瑪項目_ =302所指定之特定運算執行時,輕碼項目则= 來指不是否要使用既有的架構特徵。 糸用 [剩然而,本發明的延伸指令_係前述 =⑽之-超集合(卿erset),其具有兩個^ 3〇4與3G5,可被選擇性作為指令延伸項,頁目 延伸指令細中所有其餘項目斯,之前。這$匕 項目_ 3G5用以致能/除能複數個條件執行特:们= 忒些特徵並無法在一完全佔用之指令 、 選用項目304與305係一延伸指令標=^^曰> 前置碼3。5。該延伸指令標記3〇4係一微處理器指 -架構化地指定之運算碼。在—χ86的實_中,ς 指令標記綱,或稱逸出標記3G4,_運算紙態=伸 其為早先使用之ICE BKPT指令。逸出標記3 3=:=前置碼305,延伸特心 係跟坛在後,其中延伸特徵指定元3〇5 指令獅之指定運算所賴以執行之一條件。在 财,延伸指令標記304指出,一對應延伸3〇之 隨部分涮-及305指定了微處理器所要條件執二: 伸運算。延伸前置碼305,或稱條件指定元,則指定了一條 17I ^ ---- i ------- * Installation --- f Please read the notes on the back before filling out this page) 569136 Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs A7 B7 V. Description of the invention (〖/) The analog device in the circuit of BKPT 202 no longer exists. Therefore, in the case of χ86, the present inventor has found a tool in a fully occupied instruction set architecture 200 by using an effective but unused operation code 202 to allow the advanced design to be incorporated into the microprocessor design. Without compromising the compatibility of legacy software. In a completely occupied instruction set architecture 200, the present invention uses a structured but unused operation code 200 as an index mark to indicate the next n-bit preamble, so Allows microprocessor designers to incorporate up to 2n of the latest developments in architectural features while retaining full compatibility with all legacy software. [0036] The present invention provides an n-bit condition code designation element preamble to use the concept of pre-exhaustion mark / extended preamble, thus allowing the program to use a routine for operations performed by a microprocessor (Such as addition, subtraction, Brin Yunyi's operation, etc.) stylized, and within the same instruction, specify a condition on which the operation is performed. In a specific embodiment, the condition code state of the microprocessor is stored in a condition code register and is evaluated by Kasaki before the specified operation is executed. If the evaluation result determines that the condition is satisfied, the specified operation is performed. If the condition is not satisfied, the specified operation is not performed. Ming will now discuss with reference to Figures 3-11. [0037] Referring now to FIG. 3, it is a block diagram of an extended instruction format of the present invention. It is very similar to the format discussed in the figure. The swelling makes the format 300 have a variable number of data items 301-305, each-item: set to a specific value, the collection of yarn indulgence processing-specific to Γ 300 . This specific instruction_ instructs the microprocessor to perform a specific operation ^ Add two operands, or move an operand from memory to a micro location = 16 scales are applicable to Chinese national standard ⑽χ 297 in (Please read the back Please fill in this page for the matters needing attention) Packing-OJ .. 569136 Printed by A7 B7, Consumer Cooperative of Intellectual Property Bureau, Ministry of Economic Affairs. -In general, the instruction _ executes the specific operation to be performed, and the selected address specification element 2 is located after the operation code 302 to specify the specific operation. How does the addition of 3 and 2 increase? Guan · Zhong 瞀-/ '^ Related additional information, Order 4 shipped, Yun · ^ is located, etc. The instruction f allows the programmer to add a pre-math item _ = 302 before a specific operation specified by -op code 3202, and a light code item = to indicate whether to use the existing architectural features.糸 [[However, the extended instruction of the present invention is the aforementioned = ⑽ 之 -superset (ererset), which has two ^ 304 and 3G5, can be selectively used as an instruction extension item, the page extension instruction details In all the remaining items, before. This $ dagger project _ 3G5 is used to enable / disable multiple conditional execution features: we = some features cannot be used in a completely occupied instruction, optional items 304 and 305 are an extended instruction mark = ^^ 月 > Code 3.5. The extended instruction mark 304 is a microprocessor designation-designated operation code. In the real _86, the ς instruction marks the outline, or the escape mark 3G4, and the _ operation is in paper state = it is the ICE BKPT instruction used earlier. Escape mark 3 3 =: = Preamble 305, extended special focus is behind the altar, in which the extended feature designation element 305 instructs the lion to perform a specified operation. In Finance, the extension instruction mark 304 indicates that a corresponding extension of 30 and the following sections 及-and 305 specify the required conditions of the microprocessor: extension operation. Extension prefix 305, or condition designator, specifies a 17

οι---b---— I — Aw· I --- (請先閱讀背面之注意事項再填寫本頁) · -L. · -111» 本^張尺度適用中國國家標平(CNSM4規格(21〇 297公釐)οι --- b ---- I — Aw · I --- (Please read the precautions on the back before filling this page) · -L. · -111 »This standard is applicable to China National Standard (CNSM4 specification) (21〇297 mm)

569136 五、發明說明(β) 件碼狀態,以送至一組態為致能/除能該延伸運算之執行的 條件執行控制邏輯。 < [0039] 此處將本發明之條件執行延伸技術作個概述。 一才曰令延伸項係以一既有指令集架構其中一運算碼/指令 304與一 η位元延伸特徵前置碼進行組態。所選取之運算碼 指令作為一指標3〇4,以指出指令3〇〇是一條件執行指令 300 (亦即,其指定了微處理器架構之條件執行延伸項), 而該η位元特徵前置碼3〇5則指定複數個條件碼之一子集 合,作為該延伸指令300的其餘項目所指定之一運算是否 執行的判斷依據。在一具體實施例中,延伸前置碼3〇5具 八位元的大小,最多可指定256個不同的該複數個條件碼 之子集合,以作為一既有指令集中處理現行指令之判斷依 據。η位元前置碼的實施例,則最多可指定2。種不同的條件 碼組合,以用於一特定運算的條件執行期間。 [0040] 現請參閱圖四,一表格4〇〇顯示依據本發明, 條件執行延伸項如何映射至一 8位元延伸前置碼實施例之 位元邏輯狀態。類似於圖二所討論之運算碼圖2〇〇,圖四之 表格400呈現一示範性的8位元條件碼之前置碼圖4〇〇,其 將一 8位元延伸前置碼項目305之最多256個值,關聯^ 一符合舊有規格微處理器之對應條件碼狀態4〇1 (如Ε34、 E4D等)。在一 χ86的具體實施例中,本發明之8位元延伸 特徵前置碼305係提供給延伸條件執行指定元4〇1 (亦即 E00-EFF)使用,該些指定元4〇1乃現行χ86指令集架構所 未能提供。 18 本^^度適用中闕家標準(CNS)A4規格(21G X 297公爱) J---U.------裝--- (請先閲讀背面之注意事項再填寫本頁) 訂·· 經濟部智慧財產局員工消費合作社印製 569136 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明(li ) [0041] 圖四所示之延伸特徵姻係以—般性的方式表 示,而非具體指涉實際的特徵,此因本發明之技術可應用 於各種不同的架構延伸項401與特定的指令集架構。熟習 此領诚技術者將發覺,許多不同的架構特徵4〇1,其中一些 已於上文提及,可依此處所述之逸出標記3〇4/延伸前置碼 305技術將其納入-既有之指令集。圖四之8位元前置碼實 施例提供了最多256個不同的特徵401,而一 n位元前置碼 實施例則具有最多2n個不同特徵4〇1的裎式化選擇。… [0042] 在對應不_型之條件·存與表示方式的實 施例中,這些類麵許多現代之微處理器而言是很常見 的,條件可被指定為等於零、不等於零、偶同位(⑽η parity)、奇同位(oddparity)、帶負號(_)、不 帶負號、溢位(overflow)、未溢位、進位(carry)、未 進位,也可指定前述條件的組合,包括高於(細〇 (即 未進位且不等於零)、低於(bel〇w)或等於(即進位或等 於零)、大於(即不等於零且符號位元等於進位位元)等 等在許多此種微處理器中,一條件碼狀態項目(亦即暫 存盗)以複數個條件碼位元(或旗標)加以組態,其中每 位元代表-最近產生之結果是否已超過某一結果邊界條 ^,像是產生一進位位元,或有一符號位元顯示該結果係 、 r、、:而别述條件之狀態並非將本發明之範圍限制 於特定的微處理器條件碼集合。前述實施例可作為範 例^來解說依本發明’ 一條件前置碼305如何被編碼, 以提供條件子集合,作為一符合舊有規格之微處理器執行 (請先閱讀背面之注意事項再填寫本頁) 裝 訂: 19 569136 A7 B7 五 發明說明(丨了) 運算的判斷依據。熟習此領域技術者將可發覺,—特殊的 延伸條件前置碼3G5之組態,係依照一對應微處理器中條 件碼如何表示與儲存而定。 ” [〇〇43]現請參關五,其為解說本發明用以執行延伸 條^執行指令_之管線化微處理It 5GG的方塊圖。微處 =器500具有三個明顯的階段類型:提取、轉譯及執行。 提取階段具有提取邏輯501,可從指令快取記憶體5〇2或外 I己憶體502提取指令。所提取之指令經由指令侧5〇3 送至轉澤卩0|又。轉澤階段具有轉譯邏輯〖Μ,搞接至一微指 令符列506。轉譯邏輯包括延伸轉譯邏輯。執行階 段則有執行邏輯5〇7,其内具有延伸執行邏輯5〇8。 [0044]依據本發明,於運作時,提取邏輯5〇1從指令 快取記憶體/外部記憶體提取格式化指令,並將這些指 ^依其執行順序放人指令侧巾。接著從指令仔列5〇3 提取這些指令,送至轉譯邏輯5Q4。轉譯賴5Q4將每一送 入的指令_/解碼為—鶴讀指令制,⑽示微處理 器500依據所指定的條件是否滿足,來執行這些指令所指 疋的運算。依本發明,延伸轉譯邏輯505 4貞測那些具有延 伸前置碼標記之指令,並提供作為對應條件指定元前置碼 的轉譯/解碼之用。在—χ86的實施例中,延伸轉譯邏輯5〇5 組癌為偵測其值為F1H之延伸前置碼標記,其係χ86之取 BKPT運异碼。微指令欄位則提供於微指令佇列5〇6中,以 指定延伸指令巾所指定之條件碼狀態。 [〇〇45]微指令從微指令佇列506被送至執行邏輯569136 5. Description of the invention (β) The status of the code is sent to a condition configured to enable / disable the execution of the extended operation to execute the control logic. [0039] The conditional execution extension technology of the present invention is summarized here. One-time command extensions are configured using an existing instruction set architecture with one opcode / instruction 304 and an n-bit extended feature preamble. The selected opcode instruction is used as an index 304 to indicate that the instruction 300 is a conditional execution instruction 300 (that is, it specifies the conditional execution extension of the microprocessor architecture), and the n-bit feature precedes Code 3305 specifies a subset of the plurality of condition codes as a basis for judging whether or not one of the operations specified by the remaining items of the extended instruction 300 is performed. In a specific embodiment, the extended preamble 305 has an octet size, and a maximum of 256 different subsets of the plurality of condition codes can be specified as a basis for judging an existing instruction set to process an existing instruction. In the embodiment of the n-bit preamble, a maximum of 2 can be specified. Different condition code combinations are used during the conditional execution of a particular operation. [0040] Referring now to FIG. 4, a table 400 shows how a conditional execution extension is mapped to the bit logic state of an 8-bit extended preamble embodiment according to the present invention. Similar to the operation code diagram 200 discussed in FIG. 2, the table 400 in FIG. 4 presents an exemplary 8-bit condition code pre-coding diagram 400, which extends an 8-bit preamble item 305 A maximum of 256 values are associated with a corresponding condition code state 401 (such as E34, E4D, etc.) that conforms to the old specification microprocessor. In a specific embodiment of χ86, the 8-bit extended feature preamble 305 of the present invention is provided for use by extension condition execution designated elements 401 (ie, E00-EFF), and these designated elements 401 are current χ86 instruction set architecture failed to provide. 18 This ^^ degree is applicable to CNS A4 specification (21G X 297 public love) J --- U .------ install --- (Please read the precautions on the back before filling this page ) Order · Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs, printed 569136 Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs, printed A7 V. Description of the Invention (li) [0041] The extended features shown in Figure 4 are based on- The method is expressed rather than specifically referring to the actual features. This is because the technology of the present invention can be applied to various different architecture extensions 401 and specific instruction set architectures. Those familiar with this leading technology will find that there are many different architectural features 401, some of which have been mentioned above, which can be incorporated according to the escape mark 304 / extended preamble 305 technology described here -Existing instruction set. The eight-bit preamble embodiment of FIG. 4 provides a maximum of 256 different features 401, while an n-bit preamble embodiment has a normalized selection of up to 2n different features 401. … [0042] In the embodiments corresponding to the non-type conditions, storage, and representation, these are common to many modern microprocessors, and the conditions can be specified to be equal to zero, not equal to zero, even parity ( ⑽η parity), odd parity (oddparity), minus sign (_), no minus sign, overflow, non-overflow, carry, non-carry, can also specify a combination of the aforementioned conditions, including high In (fine 0 (ie, not rounded and not equal to zero), below (bel0w) or equal (ie, rounded or equal to zero), greater than (ie, not equal to zero and the sign bit is equal to the carry bit), etc.) In the processor, a condition code status item (that is, temporary storage) is configured with a plurality of condition code bits (or flags), where each bit represents whether the most recently generated result has exceeded a certain result boundary bar. ^, Such as generating a carry bit, or a sign bit showing the result system, r ,, :: The state of other conditions is not to limit the scope of the present invention to a specific microprocessor condition code set. The foregoing embodiments Can be used as an example ^ The present invention 'How a conditional preamble 305 is encoded to provide a conditional sub-set to be implemented as a microprocessor that conforms to the old specifications (please read the precautions on the back before filling this page) Binding: 19 569136 A7 B7 5 Explanation of the invention (丨) The basis for judging the operation. Those skilled in the art will notice that the configuration of the special extended condition preamble 3G5 depends on how the condition code in the corresponding microprocessor is represented and stored. [〇〇43] Please refer to the fifth part, which is a block diagram illustrating the pipelined micro-processing It 5GG of the present invention for executing the extension bar ^ execution instruction _. The micro-processor 500 has three distinct stage types: Extraction, translation, and execution. The extraction stage has extraction logic 501, which can fetch instructions from the instruction cache memory 502 or the external memory 502. The extracted instructions are sent to the translator 卩 0 through the instruction side 503. In addition, the translation stage has translation logic [M, connected to a microinstruction sequence 506. The translation logic includes extended translation logic. The execution stage has execution logic 507, which includes extended execution logic 508. [0044 ] Based on this It is clear that during operation, the extraction logic 501 extracts formatted instructions from the instruction cache memory / external memory, and places these instructions in the instruction side according to the order in which they are executed. Then it extracts from the instruction array 503 These instructions are sent to translation logic 5Q4. Translation 5Q4 decodes each incoming instruction _ / decodes into a crane reading instruction system, indicating that the microprocessor 500 executes the instructions indicated by these instructions according to whether the specified conditions are met. According to the present invention, the extended translation logic 505 4 tests those instructions with extended preamble flags and provides translation / decoding for the meta-prefix specified as the corresponding condition. In the -χ86 embodiment, the extended The translation logic 505 group of cancers is to detect the extended preamble mark whose value is F1H, which is χ86, which is the BKPT transport difference code. The microinstruction field is provided in the microinstruction queue 506 to specify the condition code status specified by the extended instruction towel. [0045] Microinstructions are sent from the microinstruction queue 506 to the execution logic

I ZU 本紙張尺度_巾關家辟(CNS)A4g^ x 297公餐, 569136I ZU Paper Size_CNS A4g ^ x 297 meals, 569136

569136 五 經濟部智慧財產局員工消費合作社印製 A7 -----— B7_ —_ 、發明說明(Μ ) 發明在應用上的彈性,可配合一考慮採行之指令集架構中 表示條件碼的特定方式。然而,熟悉此領域技術者將會察 覺’圖六與圖七之範例並未使本發明之範圍限於4位元的 條件指定元。 [0050] 現請參閱圖八,其為圖五之微處理器内轉譯階 段邏輯800之細部的方塊圖。轉譯階段邏輯8〇〇具有一指 令緩衝器804,依本發明,其提供延伸條件執行指令至轉譯 邏輯8G5。轉譯邏輯8〇5係減至一具有一延伸特徵爛位 803 之機器特定暫存器(machine specificregister)802。 轉譯邏輯805具-轉譯控制器806,其提供一除能訊號8〇7 至一逸出指令偵測器808及一延伸前置碼解碼器刖9。逸出 指令偵測器808耦接至延伸前置碼解碼器8〇9及一指令解 碼器810。延伸前置碼解碼器809與指令解碼邏輯81〇存取 一控制唯讀記憶體(R0M) 811,其中儲存了對應至某些延 伸指令之樣板(template)微指令序列。轉譯邏輯8〇5亦 包含一微指令緩衝器812,其具有一運算碼延伸項欄位 813、一微運算碼攔位814、一目的攔位815、一來源欄位 816以及一位移欄位817。 [0051] 運作上,在微處理器通電啟動期間,機器特定 暫存器802内之延伸欄位803的狀態係藉由訊號啟動狀態 (signal power-up state) 801決定,以指出該特定微處 理器是否能轉譯與執行本發明之延伸條件執行指令。在一 具體實施例中,訊號801從一特徵控制暫存器(圖上未顯 示)導出,該特徵控制暫存器則讀取一於製造時即已組態 22 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------— (請先閲讀背面之注意事項再填寫本頁) A7569136 Printed by the Consumers ’Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs A7 -----— B7_ —_ 、 Description of invention (M) The flexibility of application of the invention can be matched with the condition code in the instruction set architecture that considers the adoption Specific way. However, those skilled in the art will recognize that the examples of Figures 6 and 7 do not limit the scope of the present invention to a 4-bit condition designator. [0050] Please refer to FIG. 8, which is a detailed block diagram of the translation stage logic 800 in the microprocessor of FIG. 5. The translation stage logic 800 has an instruction buffer 804, which according to the present invention provides extended conditional execution instructions to the translation logic 8G5. The translation logic 805 is reduced to a machine specific register 802 with an extended characteristic bit 803. The translation logic 805 includes a translation controller 806, which provides a disabling signal 807 to an escape instruction detector 808 and an extended preamble decoder 刖 9. The escape instruction detector 808 is coupled to the extended preamble decoder 809 and an instruction decoder 810. The extended preamble decoder 809 and the instruction decoding logic 810 access a control read-only memory (ROM) 811, which stores a template micro-instruction sequence corresponding to some extended instructions. The translation logic 805 also includes a microinstruction buffer 812, which has an opcode extension field 813, a microop code block 814, a destination block 815, a source field 816, and a shift field 817. . [0051] In operation, during the start-up of the microprocessor, the state of the extension field 803 in the machine-specific register 802 is determined by the signal power-up state 801 to indicate the specific micro-processing. Whether the processor can translate and execute the extended conditional execution instructions of the present invention. In a specific embodiment, the signal 801 is derived from a feature control register (not shown in the figure), and the feature control register reads that 22 paper sizes are configured at the time of manufacture. CNS) A4 specification (210 X 297 mm) ------------- (Please read the precautions on the back before filling this page) A7

569136 之熔、_》Ufusearray)(核 控制邏輯_則控制從指令緩衝器8G4所提取之指令,要 伸條件執行轉譯制或既有轉譯規則進行解譯。提 仏樣的控制特徵,可允許監督應用程式(如娜)致能/ =2理器之延伸執行特徵。若延伸執行被除能,則具 延伸特徵標記之運算碼狀態的指令,將依既有轉 \」進仃轉譯。在-x86的频實_巾,選取運算碼 狀態F1H作為標記,則在f用的轉譯規則下, 造成不合法的指令異常(⑽伽)。細,在延伸轉^ 規則下’若遇職記,則會被逸出指令侧器繼偵測出 來。逸出指令偵測器808 0而於延伸前置碼解· _ 譯/解碼標記之後的延伸條件指定元前置碼時,除能指 碼器810的運作’並於轉譯/解碼該延伸指令之剩餘部分 時’致能指令解碼H 810。某些特定指令將導致對控制_ 811的存取,以獲取對應之微指令序舰板。微指令緩衝器 8a12之運算碼延伸項欄位813由前置碼解_進行組 態’以指定用以判斷-指定運算是否執行之條件。其他緩 衝器攔位814-817則由指令解碼器81〇來進行組態。經過 組態之微指令812被送至-微指令彳宁列(未顯示於圖中卜 由處理器進行後續執行。 [0052]現請參閱圖九,其為圖五微處理器内之延伸執 行邏輯900的方塊圖。該延伸執行邏輯9〇〇具一算術邏輯 單元(arithematic logic unit,ALU) 909,其經由一致 23 ^紙張尺度適用中國國家標準(CNS)A4規4 (210 X 297公爱)569136 fusion, _ "Ufusearray) (nuclear control logic_ controls the instructions extracted from the instruction buffer 8G4, and must implement the translation system or the existing translation rules for interpretation. The improved control features allow for supervision The application (such as Na) enables / = 2 extension execution features of the controller. If the extension execution is disabled, the instructions with the extension code marked operation code status will be translated according to the existing translation \ ". In- x86's frequent _ towel, opcode state F1H is selected as the mark, then the translation rule used by f causes an illegal instruction exception (⑽Ga). Fine, under the extended transfer ^ rule, 'If you meet the post, then Will be detected by the escape instruction side device. The escape instruction detector 8080 will be extended when the extended preamble is decoded and the extension condition after the _translate / decode flag specifies the meta-preamble. Operation 'and enable instruction decoding H 810 when translating / decoding the rest of the extended instruction. Certain specific instructions will result in access to control_811 to obtain the corresponding microinstruction sequence board. Microinstruction buffer 8a12's opcode extension field 813 is The code solution _configuration is used to specify the conditions used to determine whether the specified operation is performed. The other buffer stops 814-817 are configured by the instruction decoder 810. The configured micro instruction 812 is sent To-microinstruction 彳 ning column (not shown in the figure and subsequent execution by the processor. [0052] Please refer to FIG. 9 for a block diagram of the extended execution logic 900 in the microprocessor of FIG. 5. The extended execution Logic 900 has an arithmetic logic unit (ALU) 909, which conforms to Chinese National Standard (CNS) A4 Regulation 4 (210 X 297 public love) through a consistent 23 ^ paper standard

AWI Μ ^--------- (請先閱讀背面之注意事項再填寫本頁) 569136AWI Μ ^ --------- (Please read the notes on the back before filling this page) 569136

經濟部智慧財產局員工消費合作社印製 能訊號GO 908 #接至條件執行控制邏輯9〇7。條件執行控 制器907則存取-條件旗標儲存機制·,或稱條件旗標暫 存器9G6。兩運算元qPERAND丨與·RMD 2,由則_ 從運异το暫存H 9G1與905提取出來一微指令暫存器9〇2 則提供-微指令給ALU 909與條件執行控制器9Q7。該微指 令暫存器具有-運算舰伸棚位與_其餘搁^ 904 °ALU 909並另外耦接至一結果暫存器91〇。 …[㈣]運作上,當—輯齡執行辟依本發明被轉 譯成-微指令序列時,延伸微指令以及暫存器9〇1與9〇5 内之可用運算元皆經由微齡暫存$ 9()2,被駐延伸執行 賴_。若運算碼延伸欄位_指出了絲判斷其餘搁 位904所指定運算是聽行之條件,件執行控制邏輯 907會在5亥運异執行&,存取該條件旗標儲存機制纖,以 判斷該條件是縣真。若贿件為真,職行控制器術 藉由訊號GO 908指示ALU 909執行該指定運算,並提供一 結果至結果暫存H _。若條件為假,職號GQ _不會 被送出,以指示ALU 909排除該運算之執行,因此,就沒 有結果被送至結果暫存器910。 [0054]現請參閱圖十,其顯示一表格1〇〇〇,對於常用 之IF-THEN-ELSE敘述,比較其條件執行流程與習用的執行 流程。在左邊的攔位中,表格1〇〇〇顯示一常用之c語言程 式,表示式,用於比較兩個運算元A與B。若A大於B :則 運算兀C設定為3。若A不大於β,則運算元c設定為i。 這種表示式常見於許多應雜式中。再者,此種比較形 (請先閱讀背面之注意事項再填寫本頁) 裝 訂-- 24 569136 A7 發明說明(外) 的結果並非總是可預測的。 • ^----------* 裝--- (請先閱讀背面之注意事項再填寫本頁) [0055] 表格1〇〇〇的中間欄位顯示一習用的χ86執行流 程’以實作前述之C語言表示式。首先,指[Α] 從記憶體提取運算元Α至暫存器ΕΑΧ。接著,指令CMPEAX,[Β] 將暫存器EAX之内容與記憶體中之運算元b做比較。條件 跳躍指令几E ELSE檢查前面比較指令所產生之條件碼狀 態。若條件碼顯示比較的結果是小於或等於的情形,則程 式流程會分支至標籤ELSE,將運算元C設定為!。否則, 運异元C设定為3 ’且程式流程係靠一隨後之無條件跳躍指 令JMP COMMON所指引,而跳至標籤COMMON,再繼續進行。 [0056] 在現代之深度管線化微處理器中,若分支預測 邏輯對條件跳躍指令JLE ELSE之結果預測錯誤,則許多指 令將從指令管線中被清空,以依據正確的程式流程開始執 行指令。 [0057] 同樣的C語言表示式之條件執行流程,則顯示 於表格1000之右邊欄位,以解說本發明如何使用延伸指 令,以避免管線因錯誤的分支預測結果而被清空。對比於 需執行條件跳躍指令(即几E ELSE)及後續之無條件跳躍 指令(即JMP COMMON),此處執行的是兩個延伸條件搬移 指令(GT.MOV [C],3與之後的le.MOV [C],l)。第一個搬 移指令之執行係依比較指令之結果而定(即CMPEAX,[B])。 若比較的結果是大於,則執行第一個搬移指令,將運算元c 設為3。若比較結果是小於或等於,則第一個搬移指令被排 除,並執行第二個搬移指令,設定運算元C為1。因此,本 25 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公g ) 569136 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明(v<) 發明之指令流程避免了由於錯誤的分支制結果,導致管 線被清空之現象。 [0058] 現請參閱圖十一,其為描述本發明用以轉譯與 執打條件指令之方法的運作流程圖聰。流程開始於方塊 1102,其中一個組態有條件執行指令的程式被送至微處理 器。流程接著進行至方塊1104。 [0059] 於方塊1104中,下一個指令係從快取記憶體/ 外部記憶體提取。流程接著進行至判斷方塊11〇6。 [0060] 於判斷方塊11〇6中,對在方塊11〇4中所提取 的下個指令進行檢查,以判斷是否包含一延伸逸出標記/ 碼。若否,則流程進行至方塊1112。若偵測到該延伸逸出 碼’則流程進行至方塊1108。 [0061] 於方塊1108中,由於在方塊丨1〇6中已偵測到 一延伸逸出標記,轉譯/解碼係在一延伸前置碼上執行,以 判斷一對應運算所賴以執行之指定條件是否滿足。流程接 著進行到方塊1110。 [0062] 於方塊1110中,一微指令序列的對應攔位被組 態為指出該延伸前置碼所指定之指定條件。流程接著進行 至方塊1112。 [0063] 於方塊1112中,該指令之其餘部分(如前置碼 項目、運算碼、位址指定元)被轉譯/解碼,以判斷所要執 行的運算及關聯運算元的屬性。流程接著進行至方塊714。 [0064] 於方塊1114中,一微指令序列的其餘欄位被組 態為指定該指定運算及其運算元格式。流程接著進行至方 26 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —-------·裝--------訂--------- (請先閲讀背面之注意事項再填寫本頁) 569136 A7 五 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 發明說明(W) 塊 1116 。 -----------•-裝—— (請先閲讀背面之注意事項再填寫本頁) [0065] 於方塊1116中,該微指令序列,其包含方塊 1110所組態之運算碼延伸項欄位以及方塊1114所組態之其 餘欄位,被送至一微指令佇列,由微處理器執行。流程接 著進行至方塊1118。 [0066] 於方塊1118中,依照本發明,該微指令序列由 延伸條件執行邏輯進行提取。流程接著進行至方塊112〇。 [0067] 於方塊1120中,延伸條件執行邏輯存取一條件 碼儲存結構,以讀取對應於運算碼延伸項欄位中所指定條 件的程式碼狀態。流程接著進行至判斷方塊1122。 [0068] 於判斷方塊1122中,評估程式碼狀態,以判斷 所指定的條件是否滿足。若滿足,則流程進行至方塊1124。 若未滿足,則流程進行至方塊1126,因而排除了指定運算 的執行。 [0069] 於方塊1124中,由於指定條件為真,便執行指 定運算。流程接著進行至方塊1126。 曰 [0070] 於方塊1126中,本方法完成。 、[0071]雖然本發明及其目的、特徵與優點已詳細敎 述’其它實施例亦可包含在本發明之範_。例如, 明已就如下的技術加以敘述:利用已完全佔用之指令集架 構内-單-、未使用之運算碼狀態作為標記,以指出其後 之延伸特徵前置碼。但本發_範_任—方面來看,、 =限於已完全佔狀指令絲構,絲使用触令是 早-標記。相反地’本發日脑蓋了未完全映射之指令集、 27 ^狀度迥用中國國家標準(CNS)A4爾21〇 χ挪公-_ 569136 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 A7 B7 五、發明說明(β) 具已使用運算碼之實施例以及使用一個以上之指令標記的 實施例。例如,考慮一沒有未使用運算碼狀態之指令集架 構。本發明之-具體實施例包含了選取一作為逸出標記之 運算碼狀態,其中選取標準係依市場因素而決定。另一具 體實施例則包含使用運算碼之一特殊組合作為標記,如運 算碼狀態、7FH的連續出玉見。因此,本發明之本質係在於使 用-標e序列,其後則為一 η位元之延伸前置碼,可使一 延伸指令所指定運算之執行,魏據該η位元延伸錄碼 所指定複數個條件之一子集合是否滿足而定。 [0072]此外,本發明已藉由―具有―組條件碼或旗標 之微處理器來作為範例,該組條件碼係指出一先前所產生 結果之邊界條件,包括同位、溢位、正負號及零。雖然這 些類型的條件指標在今曰仍廣為使用,但本發明並不僅限 於應用在這些類型的條件。例如,本發明另外之實施例即 包含其他的指定條件,像是一特殊暫存器内容的狀態… j鱗或其他I/O裝置是否使用巾、是财可狀記憶體 或快取記憶體空間等等。 [圓]再者’雖然上文制職處㈣為例來解說本 曰2其特徵和優點’熟纽領域技術者仍可察覺,本發 =5不限於微處理器的架構,而可涵蓋所有形式之 谈置’如訊號處理器、工咖制器(— er)、陣列處理器及其他_裝置。 P 了之t上所述者’僅為本伽之較佳實施例而已,當 月,以之限定本發明所實施之範圍。大凡依本發明申請專 ___ 28 &尺㈣財関家辟 1·___,-------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁2_ 569136 A7 _B7__ 五、發明說明(以 利範圍所作之均等變化與修飾,皆應仍屬於本發明專利涵 蓋之範圍内,謹請貴審查委員明鑑,並析惠准,是所至禱。 -----------"裝--- (請先閲讀背面之注意事項再填寫本頁) 訂·· 經濟部智慧財產局員工消費合作社印製 29 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs, the energy signal GO 908 # is connected to the conditional execution control logic 907. The conditional execution controller 907 accesses the conditional flag storage mechanism ·, or the conditional flag register 9G6. The two operands qPERAND 丨 and · RMD 2 are extracted from the temporary storage το temporary H 9G1 and 905. A microinstruction register 902 provides -microinstructions to the ALU 909 and the conditional execution controller 9Q7. The micro-instruction register has a computing ship extension booth and _ rest 904 ° ALU 909 and is additionally coupled to a result register 91. … [㈣] Operationally, when the chronological execution method is translated into a micro-instruction sequence according to the present invention, the extended micro-instructions and the operands in the temporary registers 901 and 905 are temporarily stored through the micro-age. $ 9 () 2, stationed extended to execute Lai_. If the operation code extension field _ indicates the condition that the wire judges that the remaining operation 904 specifies the operation, the piece execution control logic 907 will execute & Judging the condition is the county true. If the bribe is true, the professional line controller instructs the ALU 909 to perform the specified operation by the signal GO 908, and provides a result to the result temporary storage H_. If the condition is false, the job number GQ_ will not be sent to instruct the ALU 909 to exclude the execution of the operation, so no result is sent to the result register 910. [0054] Please refer to FIG. 10, which shows a table 1000. For the commonly used IF-THEN-ELSE description, compare the conditional execution flow with the conventional execution flow. In the left stop, table 1000 shows a commonly used C language formula, which is used to compare two operands A and B. If A is greater than B: then the computation C is set to 3. If A is not greater than β, the operand c is set to i. This expression is common in many applications. Moreover, this comparative shape (please read the notes on the back before filling out this page) Binding-24 569136 A7 Description of the Invention (Outside) The results are not always predictable. • ^ ---------- * Install --- (Please read the precautions on the back before filling out this page) [0055] The middle column of Form 100 shows a conventional χ86 execution process' Implement the aforementioned C language expression. First, it refers to [A] extracting the operand A from the memory to the temporary register EAX. Next, the instruction CMPEAX, [B] compares the contents of the register EAX with the operand b in the memory. Condition The jump instruction E ELSE checks the status of the condition code generated by the previous comparison instruction. If the condition code shows that the comparison result is less than or equal to, the program flow will branch to the label ELSE and set the operand C to! . Otherwise, the transport element C is set to 3 'and the program flow is guided by a subsequent unconditional jump instruction JMP COMMON, and jumps to the label COMMON before continuing. [0056] In modern deep pipelined microprocessors, if the branch prediction logic incorrectly predicts the result of the conditional jump instruction JLE ELSE, many instructions will be cleared from the instruction pipeline to start executing instructions according to the correct program flow. [0057] The conditional execution flow of the same C language expression is displayed in the right column of the table 1000 to explain how the present invention uses extended instructions to avoid the pipeline being emptied due to incorrect branch prediction results. Compared with the conditional jump instruction (ie E ELSE) and the subsequent unconditional jump instruction (ie JMP COMMON), two extended conditional move instructions (GT.MOV [C], 3 and later le are executed here. MOV [C], l). The execution of the first move instruction depends on the result of the comparison instruction (ie, CMPEAX, [B]). If the result of the comparison is greater than, the first move instruction is executed and the operand c is set to 3. If the comparison result is less than or equal to, the first move instruction is eliminated, and the second move instruction is executed, and the operand C is set to 1. Therefore, this 25 paper standard applies to the Chinese National Standard (CNS) A4 specification (210 X 297 g) 569136 Printed by A7 of the Intellectual Property Bureau Employee Consumer Cooperative of the Ministry of Economic Affairs V. Invention Instructions (v <) The invention's instruction process avoids Wrong branching results in pipelines being emptied. [0058] Please refer to FIG. 11, which is a flowchart illustrating the operation of the method for translating and executing conditional instructions according to the present invention. The flow begins at block 1102, where a program configured to execute a conditional instruction is sent to a microprocessor. Flow then proceeds to block 1104. [0059] In block 1104, the next instruction is fetched from the cache memory / external memory. The flow then proceeds to decision block 1106. [0060] In decision block 1106, the next instruction extracted in block 1104 is checked to determine whether it contains an extended escape tag / code. If not, the flow proceeds to block 1112. If the extended escape code is detected, the flow proceeds to block 1108. [0061] In block 1108, since an extended escape flag has been detected in block 1086, the translation / decoding is performed on an extended preamble to determine the designation on which a corresponding operation relies. Whether the conditions are met. Flow then proceeds to block 1110. [0062] In block 1110, the corresponding stop of a microinstruction sequence is configured to indicate a specified condition specified by the extended preamble. Flow then proceeds to block 1112. [0063] In block 1112, the remaining parts of the instruction (such as the preamble item, the operation code, and the address designator) are translated / decoded to determine the operation to be performed and the attributes of the associated operand. Flow then proceeds to block 714. [0064] In block 1114, the remaining fields of a microinstruction sequence are configured to specify the specified operation and its operand format. The process then proceeds to Fang 26. This paper size is applicable to the Chinese National Standard (CNS) A4 specification (210 X 297 mm). --- (Please read the precautions on the back before filling out this page) 569136 A7 Printed Invention Note (W) block 1116 by the Consumers' Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs. ----------- • -install—— (Please read the precautions on the back before filling out this page) [0065] In block 1116, the micro instruction sequence contains the configuration of block 1110. The opcode extension field and the rest of the fields configured in block 1114 are sent to a microinstruction queue for execution by the microprocessor. Flow then proceeds to block 1118. [0066] In block 1118, according to the present invention, the microinstruction sequence is extracted by extended conditional execution logic. The flow then proceeds to block 112. [0067] In block 1120, the extended condition execution logic accesses a condition code storage structure to read the code status corresponding to the condition specified in the extended field of the operation code. The process then proceeds to decision block 1122. [0068] In decision block 1122, the state of the code is evaluated to determine whether the specified condition is met. If so, the flow proceeds to block 1124. If not, the flow proceeds to block 1126, thereby precluding execution of the specified operation. [0069] In block 1124, since the specified condition is true, the specified operation is performed. Flow then proceeds to block 1126. [0070] In block 1126, the method is completed. [0071] Although the present invention and its objects, features, and advantages have been described in detail, 'Other embodiments may also be included in the scope of the present invention. For example, Ming has described the following technology: using the fully occupied instruction set architecture-single-unused opcode status as a flag to indicate the extended feature preamble that follows. However, from the perspective of this issue, Fan = is limited to the command structure that has been completely occupied, and the use of the trigger is early-mark. On the contrary, this day ’s brain covers the instruction set that is not fully mapped, and is used in accordance with China National Standard (CNS) A4 and 21〇χ Norwegian-_ 569136. Printed by the Consumers ’Cooperative of Intellectual Property Bureau of the Ministry of Economic Affairs. A7 B7 V. Description of the Invention (β) An embodiment with an operation code and an embodiment marked with more than one instruction. For example, consider an instruction set architecture with no unused opcode states. A specific embodiment of the present invention includes selecting an operation code state as an escape mark, wherein the selection criterion is determined according to market factors. Another specific embodiment includes using a special combination of operation codes as a mark, such as the status of the operation code and the continuous appearance of 7FH. Therefore, the essence of the present invention lies in the use of the -label e sequence, followed by an n-bit extended preamble, which can perform the operation specified by an extended instruction. It depends on whether one of the plurality of conditions is satisfied. [0072] In addition, the present invention has taken the example of a microprocessor having a set of condition codes or flags, the set of condition codes indicates a boundary condition of a previously generated result, including parity, overflow, sign And zero. Although these types of condition indicators are still widely used today, the invention is not limited to application to these types of conditions. For example, another embodiment of the present invention includes other specified conditions, such as the status of the contents of a special register ... Whether a scale or other I / O device uses a towel, is a bankable memory or a cache memory space. and many more. [圆] Furthermore, although the above-mentioned office is used as an example to explain the characteristics and advantages of Ben Yue 2, those skilled in the field can still perceive that the present invention is not limited to the architecture of the microprocessor, but can cover all Talking about forms, such as signal processors, industrial processors (-er), array processors, and other devices. The above-mentioned ones are only the preferred embodiments of Benga, and this month, they are used to limit the scope of the present invention. Da Fan who applied for a special ___ 28 & ruler Cai Guan Jia Pi 1 .___, ------------------ order --------- (please first Read the notes on the back and fill in this page 2_ 569136 A7 _B7__ V. Description of the invention (equal changes and modifications made to the benefit of the scope should still fall within the scope of the patent of the present invention, please ask the reviewers to understand and benefit --------- " Equipment --- (Please read the precautions on the back before filling out this page) Order ·· Printed by the Employees ’Cooperative of Intellectual Property Bureau of the Ministry of Economic Affairs 29 This paper size applies to China National Standard (CNS) A4 (210 X 297 mm)

Claims (1)

569136569136 申晴專利範圍 h 處理器中之條件執行裝置,包含: 其中該延伸指令包含··轉縣對應之微指令, 一=申前置碼’用以指定—條件,而該延伸指令所 衫输’條料轉足而定; -延伸前置碼標記,用以指出該延伸前置碼,立中 該延伸前置碼標記係該微處理器之一指令翻另 一架構化地指定之運算碼;以及 、 —延伸執行邏輯姻至該轉譯邏輯,用以接收該對應 之微指令’並評估該條件,射若該條件未滿足, 則該延伸執行邏輯便排除該運算之執行。 2. 如申請專利範圍第i項所述之條件執行裝置,其中該延 伸指令更包含該指令集根據架構所指定之複數個項目。 3. 如申請專利範圍第2項所述之條件執行裝置,其中該些 根據架構所指定之項目包含—運算碼項目,用以指定^ 運算。 4·如申清專利範圍第J項所述之條件執行裝置,其中該延 伸前置碼包含複數個位元,且其中該些位元之每一邏^ 狀態係對應到複數個結果條件之一子集合。 5·如申請專利範圍第4項所述之條件執行裝置,其尹該些 結果條件包含溢位、進位、等於零、低於、帶負號 位、大於以及小於。 b L___ 30 本紙浓尺度適财國國家標準(CNS)A4規格x 297公釐 569136 A8 B8 C8 D8 六、申請專利範圍 6·如申請專利範圍第5項所述之條件執行裝置,复一 結果條件係儲存於該微處理器之_旗標暫存时其中該些 7·如申請專利範圍第1項所述之條件執行=盗中。 伸前置碼包含8個位元。 、’其中該延 &如申請專利範圍第1項所述之條件執行裝置,发二 令集包含x86指令集。 、,八中該指 9·如申請專利範圍第8項所述之條件執行裝置,並: 伸前置碼標記包含x86指令集之運算碼Fi⑽^延 10. 如申請專利範圍第丨項所述之條件執行 。 應之微指令包含一微運算碼欄位與^1、該對 位。 儆運异碼延伸項襴 11. 如申請專利範圍第10項所述之條件執行袭置, 延伸執行邏輯使用該微運算碼延伸項襴位,以決賴= 中該延伸執行邏輯使用該微運算碼欄位以: 該運算。 12. 如申請專利範圍第u項所述之條件執行裝置,盆中該 延伸執行邏輯包含: X 一條件執行㈣器’_財倾齡,並依據該條件 致能/除能該運算的執行。 13. 如申請專利範圍第丨項所述之條件執行裝置,其中該轉 譯邏輯包含: 逸出才曰令偵測邏輯,用於摘測該延伸前置碼標記;以 及 一延伸前置碼解碼邏輯,耦接至該逸出指令偵測邏輯, U氏張尺錢财_冢標準(CNS)A4規;ίΓ^Γ297公髮 ^ 訂--------- (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 569136Shen Qing's patent scope h The conditional execution device in the processor includes: where the extended instruction includes the micro instruction corresponding to the county transfer, one = application preamble 'used to specify-condition, and the extended instruction loses' Depending on the material,-the extended preamble mark is used to indicate the extended preamble, and the extended preamble mark is an instruction code of the microprocessor to another architecturally specified operation code; And,-the extended execution logic is coupled to the translation logic to receive the corresponding microinstruction 'and evaluate the condition. If the condition is not satisfied, the extended execution logic excludes the execution of the operation. 2. The conditional execution device described in item i of the patent application scope, wherein the extension instruction further includes a plurality of items specified by the instruction set according to the architecture. 3. The conditional execution device as described in item 2 of the scope of the patent application, wherein the items specified according to the framework include an -operating code item for specifying the ^ operation. 4. The conditional execution device as described in item J of the patent claim, wherein the extended preamble includes a plurality of bits, and each logic state of the bits corresponds to one of a plurality of result conditions Child collection. 5. The condition execution device as described in item 4 of the scope of the patent application, wherein the result conditions include overflow, carry, equal to zero, below, negative sign, greater than, and less than. b L___ 30 Concentration of this paper: National Standard (CNS) A4 size x 297 mm 569136 A8 B8 C8 D8 6. Application scope of patent 6 · Condition enforcement device as described in item 5 of the scope of application for patent, multiple conditions These are stored in the microprocessor's _flag temporary storage. Among them, 7. The condition execution as described in item 1 of the scope of patent application = theft. The extended preamble contains 8 bits. , 'Where the extension is the conditional execution device described in item 1 of the scope of patent application, and the second instruction set contains the x86 instruction set. 9 、 The eighth means 9 · The conditional execution device described in item 8 of the scope of patent application, and: Extend the preamble mark to include the operation code Fi⑽ ^ of the x86 instruction set. Conditional execution. The corresponding micro-instruction includes a micro-operation code field and ^ 1, the bit.儆 Transportation of different code extensions 11. As the conditional execution execution described in item 10 of the scope of patent application, the extension execution logic uses the micro-operation code extension term to determine the extension execution logic to use the micro-operation. The code field starts with: The operation. 12. The conditional execution device described in item u of the scope of the patent application, the extended execution logic in the basin includes: X a conditional execution implement'_ Cai Qingling, and the execution of the operation is enabled / disabled according to the condition. 13. The conditional execution device as described in item 丨 of the patent application scope, wherein the translation logic includes: escaped command detection logic for extracting the extended preamble flag; and an extended preamble decoding logic , Coupled to the escape instruction detection logic, U's Zhang Chiqian_CNS Standard A4; ίΓ ^ Γ297 Public hair ^ Order --------- (Please read the note on the back first Please fill in this page for further information.) Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 569136 申請專利範圍 經濟部智慧財產局員工消費合作社印製 用以,譯該延伸前㈣,並對該對應微指令内之一 微運算碼延伸項攔位進行組態,該微運算碼延伸項 襴位則指定該條件。 、 14.如申請專利範圍第13項所述之條件執行裝置,其 轉譯邏輯更包含: 人 一指令解碼邏輯,用以組態該對應微指令内之其他欄 位’該其蝴位係依據該指令集指定該運算。 為—既有微處理器指令集增添條件執^徵之延 伸機制,包含: 延伸指令,組態為指定一複數個條件碼之子集合,以 2-指定運算是否執行之判斷依據’其中 心令包含該既有微處指令集之其中—指令,其 =為- η位it延伸特徵前置碼,該指令。該延 曰令’而該η位it延伸特徵前置酬指出該子集 > 、 一轉譯器,組態為接收該延伸指令,並產生—微指 ^以依據該子集合指導該指定運算之條件執 -條件執行控制邏輯姻至該轉譯 應該子集合之條件碼,並_+# 對 該指定運算。 L献時,執行 16·如申請專利細第15項 指令更包含: M申機制,其中該延伸 複數個指令部分,組態為指定該指定運算。 ___ 32 械張尺度巾_家標準ϋ_)Α4規格咖χ 297 --------------------^---------. 2清先閱讀背面之注意事項再填寫本頁)The scope of the patent application is printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs to translate the extended front end and configure a micro-operation code extension term block in the corresponding micro instruction. Specify the condition. 14. The conditional execution device described in item 13 of the scope of patent application, the translation logic further includes: human-instruction decoding logic for configuring other fields in the corresponding micro-instruction 'the butterfly position is based on the The instruction set specifies the operation. For—existing microprocessor instruction sets add an extension mechanism for conditional execution, including: Extended instructions, configured to specify a subset of a plurality of condition codes, and 2-specify whether to determine whether or not an operation is performed. Its central order contains Among the existing micro-instruction set-instructions, which ==-n-bit it extended feature preamble, this instruction. The extension command, and the n-bit it extension feature pre-paid indicates the subset >, a translator configured to receive the extension instruction, and generate-microfinger ^ to guide the specified operation according to the subset Conditional execution-The conditional execution control logic is linked to the condition codes of the set of translations, and _ + # performs the specified operation. When L is offered, execute 16. If the patent application No. 15 instruction further includes: M application mechanism, in which the extended plural instruction parts are configured to specify the specified operation. ___ 32 mechanical scale towel _ home standard ϋ_) Α4 size coffee χ 297 -------------------- ^ ---------. 2 Qingxian (Read the notes on the back and fill out this page) 569136 17·如申請專利範圍第16項所述之延伸機制,其中該些指 令部分係依照該既有微處理器指令集加以格式化。 18·如申請專利範圍第15項所述之延伸機制,其中該些條 件碼包含溢位、進位、等於零、低於、帶負號、同位、 大於以及小於。 19·如申請專利範圍第15項所述之延伸機制,其中該n位 元延伸特徵前置碼包含8個位元。 /、 20·如申請專利範圍第15項所述之延伸機制,其中該既有 微處理器指令集係χ86微處理器指令集。 21·如申請專利範圍第2G項所述之延伸機制,其中該指令 二,X86微處理器指令集中之ICE Βκρτ指令^即運算碼 22·如申請專利範圍第15項所述之輯機制,1中該轉譯 器包含: 〃 一逸出指令偵測器,用以偵測該指令;以及 一延伸前置碼解碼器,祕至該逸出指令偵測器,用以 轉譯該η位元之延伸特徵前置碼,並產 —集合之職指令序舶之—微運細延伸項攔位。 .種為-既有微處理純令集補充條件執行之能力试 心令集延伸模組,包含: ‘ 一逸出標記’由—轉譯邏輯接收,用以指出—對應指令 之附,部分來指定-微處理器將要條件執行之一超 申運算其中該逸出標記為該既有微處理器指令着 内之一第一運算碼項目;以及 本紐尺錢财 33 X 297公釐)569136 17. The extension mechanism described in item 16 of the scope of patent application, wherein the instruction parts are formatted according to the existing microprocessor instruction set. 18. The extension mechanism according to item 15 of the scope of patent application, wherein the condition codes include overflow, carry, equal to zero, below, negative sign, parity, greater than, and less than. 19. The extension mechanism described in item 15 of the scope of patent application, wherein the n-bit extended feature preamble includes 8 bits. / 、 20. The extension mechanism described in item 15 of the scope of patent application, wherein the existing microprocessor instruction set is a χ86 microprocessor instruction set. 21 · The extension mechanism described in item 2G of the scope of patent application, wherein the second instruction, the ICE Βκρτ instruction in the instruction set of X86 microprocessor ^ is the operation code 22 · The mechanism described in item 15 of the scope of patent application, 1 The translator includes: 逸 an escape instruction detector to detect the instruction; and an extended preamble decoder to the escape instruction detector to translate the n-bit extension Feature preamble, combined production-the order of the set of instructions-micro-operation fine extensions stop. . Kind of-Existing micro-processing pure order set to supplement the conditional execution ability. Test center order set extension module, including: 'One escape mark' is received by-translation logic, used to indicate-the corresponding instruction attached, partly specified -The microprocessor is going to perform a super-declaration operation where the escape is marked as a first opcode item within the instruction of the existing microprocessor; and this new rule money 33 X 297 mm) (請先閱讀背面之注意事項再填寫本頁) 098899 ABCD 569136 六、申清專利範圍 一條件指定元,_至該逸出標記,縣該伴隨部分其 中之- ’用以指定-條件碼狀態:該條件竭狀態係 該延伸運算是否執行之判斷依據,且送至一&件 執行控制邏輯,其中該條件執行控制邏触能為致 能/除能該延伸運算的執行。. 24·如申請專利範圍第23項所述之指令集延伸模組,其中 該附隨部分之其餘部分包含—第二運算碼項目與選用之 複數個位址指定元項目。 25·如申請專利範圍第23項所述之指令集延伸模組,其中 該條件指定元包含一8位元的資料項目。 洗·如申請專利範圍第23項所述之指令集延伸模組,其中 該既有微處理器指令集係Χ86微處理器指令集。 27·如申請專利範圍第26項所述之指令集延伸模組,其中 該第一運算碼項目包含Χ86微處理器指令集中之ICE BKPT運算碼項目(即運算碼F1)。 28.如申請專利範圍第23項所述之指令集延伸模組,其中 該轉譯邏輯將鶴出標記與制隨部分轉譯成對應的微 才曰々,該對應的微指令係指示一延伸執行邏輯去執行該 延伸運算。 Λ 29·如申請專利範圍第28項所述之指令集延伸模組,其中 該條件執行控制邏輯評估一條件碼項目,以判斷該條件 碼狀態是否為真,且若該條件碼狀態為假,則該條件執 行控制邏輯指示該延伸執行邏輯排除該延伸運算之執 行0 ------------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁} 經濟部智慧財產局員工消費合作社印製(Please read the notes on the back before filling this page) 098899 ABCD 569136 VI. Apply for a conditional designation patent, _ to the escape mark, and the accompanying part of the county-'used to specify-condition code status: The conditional exhaustion state is a basis for judging whether the extended operation is executed, and is sent to an & piece of execution control logic, where the conditional execution control logic enables or disables the execution of the extended operation. 24. The instruction set extension module as described in item 23 of the scope of patent application, wherein the rest of the accompanying part includes-a second opcode item and a plurality of optional address designation meta items. 25. The instruction set extension module according to item 23 of the scope of patent application, wherein the condition designation element includes an 8-bit data item. • The instruction set extension module described in item 23 of the scope of patent application, wherein the existing microprocessor instruction set is an X86 microprocessor instruction set. 27. The instruction set extension module as described in item 26 of the scope of patent application, wherein the first operation code item includes an ICE BKPT operation code item in the instruction set of the X86 microprocessor (that is, operation code F1). 28. The instruction set extension module as described in item 23 of the scope of patent application, wherein the translation logic translates the crane-out mark and the production part into corresponding micro-capsules, and the corresponding micro-instruction instructs an extended execution logic To perform the extended operation. Λ 29. The instruction set extension module described in item 28 of the scope of patent application, wherein the conditional execution control logic evaluates a condition code item to determine whether the condition code status is true, and if the condition code status is false, Then the conditional execution control logic instructs the extended execution logic to exclude the execution of the extended operation 0 ------------ install -------- order --------- ( Please read the notes on the back before filling out this page} Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs 569136569136 申請專利範圍 OQ8899 ABCD 經濟部智慧財產局員工消費合作社印製 〇·如申請專利範圍第23賴述之指令集延伸模组 該轉譯邏輯包含: '' % 一逸出標記侧邏輯,用則貞繼如標記,並指示該 附隨部分的轉譯動作需依據延伸轉譯常規 (conventions);以及 —解碼邏輯,_至該逸出標記_邏輯,用以依據該 既有微處理器指令集之常規,執行微處理器指令的 轉譯動作’並依制延伸轉譯f規執行該對應指令 之轉譯,以致能該延伸運算。 31·:種縣-微處理H指令集的方法,以提供可程式化之 條件執行能力,該方法包含: 提供二延伸指令,該延伸指令包括—延伸標記及一條件 指定元前置碼’其中該延伸標記係該微處理器指令 集之其中一運算碼; 透1該條件指定元前置碼與該延伸指令之其餘部分指 二 = 于之一運算,其中該運算是否執行係決定 、;該條件指定元前置碼所指定之—條件是否滿足; 以及 ’ 評估條件碼項目以判斷該條件是否滿足,若該 32如申足^執行該運算,若福足’便排除該執行動作。 申明專利範圍第31項所述之方法,其中 執行之運算_作包含: 中桃又所要 首ίίΐΓ算,該首先指定之動作使用了該微處理器 才曰々集中另一不同的運算碼。 益 曝尺細 (210x297 公釐) -------------------訂--------- (請先閱讀背面之注意事項再填寫本頁) 569136 ___ g___ 申請專利範圍 33. 如申請專利範圍第31項所述之方法,其中該提供延伸 指令之動作包含使用—8位元大小之條件毅元前置 碼。 34. 如申請專利範圍第33項所述之方法,其中該提供延伸 指=之動作包含使用x86微處理器指令集中之該不同的 運算碼作為該延伸標記。 35. 如申請專利範圍第34項所述之方法,其中該使用娜 微處理器指令集中之該不同運算觸動作 ICEMPT運算碼(即運算碼Π)作為該延伸標記。 36. 如申請專利範圍第31項所述之方法,更包含· 將該延伸指令轉譯成微指令,其中該微指ζ3係在執行該 算前’指示一延伸執行邏輯去判斷該條件: 37·如申請專職_ 36項所述之方法 指令的動作包含: 延伸 於一轉譯邏輯内’偵測該延伸標記;以及 依照條件執行解酬㈣肖 延伸指令之其餘部^ 4件W讀置猶該 裝-----—訂--------- (請先閱讀背面之注意事項再填寫本頁) 濟 部 智 慧 財 產 局 員 工 消 費 合 A 社 印 製 36 本紙張尺度適用中國國家標準(CNS)A4規格(210^^^·Scope of patent application OQ8899 Printed by ABCD Employee Consumer Cooperative of the Ministry of Economic Affairs Intellectual Property Bureau. If the extension of the instruction set described in the scope of patent application is 23, the translation logic contains: ''% One escape mark side logic. Mark and indicate that the translation action of the accompanying part should be based on extended translation conventions; and—decoding logic, _ to the escape mark_ logic, to perform micro-processing based on the conventional microprocessor instruction set convention The translation action of the processor instruction 'and the translation of the corresponding instruction are performed according to the extended translation f rule, so as to enable the extended operation. 31 ·: A method of micro-processing the H instruction set to provide programmable conditional execution capabilities, the method includes: providing two extended instructions, the extended instructions include-an extension mark and a condition-specific meta-prefix 'of which The extension mark is one of the operation codes of the microprocessor instruction set; the condition specifies that the meta-prefix and the rest of the extension instruction refer to two = one operation, where whether the operation is performed is determined; The condition designation meta-prefix specifies-whether the condition is met; and 'Evaluate the condition code item to determine whether the condition is met. If the 32 is satisfied, perform the operation, and if the result is satisfied, exclude the execution action. The method described in item 31 of the declared patent scope, wherein the operations performed include: The first calculation required by Zhong Tao, the first specified action uses the microprocessor to set another different operation code in the set. Benefit exposure ruler (210x297 mm) ------------------- Order --------- (Please read the precautions on the back before filling this page ) 569136 ___ g___ Patent application scope 33. The method described in item 31 of the patent application scope, wherein the action of providing an extended instruction includes the use of a conditional 8-bit predicate. 34. The method as described in item 33 of the scope of patent application, wherein the action of providing an extension means = includes using the different operation code in the instruction set of the x86 microprocessor as the extension mark. 35. The method as described in item 34 of the scope of patent application, wherein the different operation trigger ICEMPT operation code (ie operation code Π) of the instruction set of the microprocessor is used as the extension mark. 36. The method described in item 31 of the scope of patent application, further comprising translating the extended instruction into a micro instruction, wherein the microfinger ζ3 instructs an extended execution logic to determine the condition before executing the calculation: 37 · The actions of the method instruction as described in Applying for Full-time_ 36 items include: Extending in a translation logic to 'detect the extension mark'; and execute the rest of the extension instruction in accordance with the conditions ^ 4 pieces W should be installed -----— Order --------- (Please read the notes on the back before filling out this page) Printed by the Ministry of Economic Affairs and the Intellectual Property Bureau of the People's Republic of China 36 This paper size applies to Chinese national standards ( CNS) A4 specifications (210 ^^^ ·
TW091116958A 2002-05-09 2002-07-30 Apparatus and method for conditional instruction execution TW569136B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/144,592 US7155598B2 (en) 2002-04-02 2002-05-09 Apparatus and method for conditional instruction execution

Publications (1)

Publication Number Publication Date
TW569136B true TW569136B (en) 2004-01-01

Family

ID=22509262

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091116958A TW569136B (en) 2002-05-09 2002-07-30 Apparatus and method for conditional instruction execution

Country Status (2)

Country Link
CN (1) CN1212566C (en)
TW (1) TW569136B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI423122B (en) * 2009-05-20 2014-01-11 Via Tech Inc Microprocessor and instruction processing method
TWI501148B (en) * 2010-05-11 2015-09-21 Advanced Risc Mach Ltd Conditional compare instructions

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230781A1 (en) * 2003-05-16 2004-11-18 Via-Cyrix, Inc. Method and system for predicting the execution of conditional instructions in a processor
WO2013081607A1 (en) * 2011-11-30 2013-06-06 Intel Corporation Conditional execution support for isa instructions using prefixes
US9792121B2 (en) * 2013-05-21 2017-10-17 Via Technologies, Inc. Microprocessor that fuses if-then instructions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI423122B (en) * 2009-05-20 2014-01-11 Via Tech Inc Microprocessor and instruction processing method
TWI501148B (en) * 2010-05-11 2015-09-21 Advanced Risc Mach Ltd Conditional compare instructions
US9383999B2 (en) 2010-05-11 2016-07-05 Arm Limited Conditional compare instruction

Also Published As

Publication number Publication date
CN1414466A (en) 2003-04-30
CN1212566C (en) 2005-07-27

Similar Documents

Publication Publication Date Title
TW591527B (en) Apparatus and method for extending a microprocessor instruction set
US6185671B1 (en) Checking data type of operands specified by an instruction using attributes in a tagged array architecture
US5978901A (en) Floating point and multimedia unit with data type reclassification capability
KR100323191B1 (en) Data processing device with multiple instruction sets
US5630083A (en) Decoder for decoding multiple instructions in parallel
US5537629A (en) Decoder for single cycle decoding of single prefixes in variable length instructions
US6009511A (en) Apparatus and method for tagging floating point operands and results for rapid detection of special floating point numbers
Sites et al. Alpha AXP architecture reference manual
US7996662B2 (en) Floating point status/control register encodings for speculative register field
US5931943A (en) Floating point NaN comparison
US5586277A (en) Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders
TWI506539B (en) Method and apparatus for decimal floating-point data logical extraction
US6360317B1 (en) Predecoding multiple instructions as one combined instruction and detecting branch to one of the instructions
JP6867082B2 (en) Equipment, methods, programs, and computer-readable recording media
JP6687232B2 (en) System, apparatus and method for data speculation execution
US6247117B1 (en) Apparatus and method for using checking instructions in a floating-point execution unit
US6021488A (en) Data processing system having an apparatus for tracking a status of an out-of-order operation and method thereof
JP2021174513A (en) Instruction set architecture-based automatic load tracking for opportunistic reinduction of data-dependent vulnerable branch
TW569136B (en) Apparatus and method for conditional instruction execution
US5559974A (en) Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation
US6233672B1 (en) Piping rounding mode bits with floating point instructions to eliminate serialization
TW569140B (en) A method and system for selecting and using source operands in computer system instructions
TWI230356B (en) Apparatus and method for extending address modes in a microprocessor
TWI245221B (en) Apparatus and method for selective memory attribute control
TW561406B (en) Apparatus and method for selective control of results write back

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MK4A Expiration of patent term of an invention patent