[go: up one dir, main page]

TWI222015B - Mechanism for extending the number of registers in a microprocessor - Google Patents

Mechanism for extending the number of registers in a microprocessor Download PDF

Info

Publication number
TWI222015B
TWI222015B TW91116959A TW91116959A TWI222015B TW I222015 B TWI222015 B TW I222015B TW 91116959 A TW91116959 A TW 91116959A TW 91116959 A TW91116959 A TW 91116959A TW I222015 B TWI222015 B TW I222015B
Authority
TW
Taiwan
Prior art keywords
extended
register
instruction
item
extension
Prior art date
Application number
TW91116959A
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,590 external-priority patent/US7373483B2/en
Application filed by Ip First Llc filed Critical Ip First Llc
Application granted granted Critical
Publication of TWI222015B publication Critical patent/TWI222015B/en

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

An apparatus and method are provided, for accessing extended registers within a microprocessor. The apparatus includes translation logic and extended register logic. The translation logic translates an extended instruction into corresponding micro instructions for execution by the microprocessor. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies register address extensions, the register address extensions indicating the extended registers, where the extended registers cannot be specified by an existing instruction set. The extended prefix tag is an otherwise architecturally specified opcode within the existing instruction set. The extended register logic is coupled to the translation logic. The extended register logic receives the corresponding micro instructions, and for accesses the extended registers.

Description

1222015 (案號第〇9m6959號專利案之說明書及申%|利範1222015 (Patent No. 09m6959 Specification and Application% | Lifan

五、發明說明( 與相關申請案之對照 [0_本中請案依據町美國中請案主張優 -----PI —----鴻裝—— (請先閱讀背面之注意事項再填寫本頁) ,申請_細年4月2日,專利名稱為「增加U 微處理器之暫存器數量的裝置及方法」。 [〇〇〇2]本t請案與下列同在中射之美國專利申請案 有關,其申請曰與本案相同,且具有相同的申請人與發明人: TW SERIAL NUMBER DOCKET NUMBER ------_ 專利名辎 91116957 CNTR:2176 延伸微處理器指令集之裝置及方法 91116958 CNTR:2186 執行條件指令之裝置及方法 91116956 CNTR:2188 選擇性地控制條件碼回寫之裝置及 方法 91116672 CNTR:2198 選擇性地控制結果回寫之裝置及方 法V. Description of the Invention (Comparison with related applications [0_ This application is based on the United States and China's application for superiority ----- PI ----- Hongzhuang-(Please read the precautions on the back before (Fill this page), the application is April 2nd, and the patent name is "Apparatus and Method for Increasing the Number of Temporary Registers of U Microprocessors". [00〇2] This application is in the same shot as the following The United States patent application is related to the same application and the same applicant and inventor: TW SERIAL NUMBER DOCKET NUMBER ------_ Patent Name 辎 91116957 CNTR: 2176 Extended microprocessor instruction set Device and method 91116958 CNTR: 2186 Device and method for executing conditional instructions 91116956 CNTR: 2188 Device and method for selectively controlling condition code write-back 91116672 CNTR: 2198 Device and method for selectively controlling result write-back

經濟部智慧財產局員工消費合作社印製 (一) 發明技術領域: [0003] 本發明係有關微電子的領域,尤指一種能將附加 的可定址(addressable)暫存器納入一既有微處理器指令集 架構之技術。 (二) 發明技術背景: [0004] 自1970年代初發韌以來,微處理器之使用即呈 2 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 經濟部智慧財產局員工消費合作社印製 1222015 (案號第091116959號專利案之說明書及申笔#利範圍修正本) 五、發明說明(> ) 指數般成長。從最早應用於科學與技術的領域,到如今已從 那些特殊領域引進商業的消費者領域,如桌上型與膝上型 (laptop)電腦、視訊遊戲控制器以及許多其他常見的家用 與商用裝置等產品。 [0005] 隨著過去三十年來使用上的爆炸性成長,在技術 上也歷經一相對應之提昇,其特徵在於對下列項目有著曰益 昇高之要求:更快的速度、更強的定址能力、更快的記憶體 存取、更大的運算元、更多種一般用途的運算(如浮點運算、 單一指令多重資料(SIMD)、條件移動等)以及附加的特 殊用途運算(如數位訊號處理功能與其他多媒體運算)。如 此造就了該領域中驚人的技術進展,且都已應用於微處理器 之設計’像擴充管線化(extensivepipelining)、超純量架構 (super-scalar architecture )、快取結構、亂序處理(〇ut_〇f 〇rder processing )、爆發式存取(burst a_s )機制、分支預測(b_hPrinted by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economics (1) Technical Field of the Invention: [0003] The present invention relates to the field of microelectronics, in particular to an additional addressable register that can be incorporated into an existing microprocessing Technology of the processor instruction set architecture. (II) Technical background of the invention: [0004] Since its development in the early 1970s, the use of microprocessors has been 2 paper sizes applicable to the Chinese National Standard (CNS) A4 specification (210 X 297 mm). Intellectual Property Bureau of the Ministry of Economic Affairs Printed by Employee Consumption Cooperatives 1222015 (Patent No. 091116959 Patent Specification and Revised Range of Benefits) V. Description of Invention (>) Exponential growth. From the earliest applications in science and technology, to the consumer domain that has now introduced business from those special areas, such as desktop and laptop computers, video game controllers, and many other common home and business devices And other products. [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 the following requirements for increased benefits: faster speed, stronger addressing ability , Faster memory access, larger operands, more general-purpose operations (such as floating-point operations, single instruction multiple data (SIMD), conditional moves, etc.) and additional special-purpose operations (such as digital signals Processing functions and other multimedia operations). This has created amazing technological progress in this field, and has been applied to the design of microprocessors' like extensive pipelining, super-scalar architecture, cache structure, out-of-order processing (〇 ut_〇f 〇rder processing), burst a_s mechanism, branch prediction (b_h

Predication)以及假想執行(speculativeexecution)。直言之, 比起30年前剛出現時,現在的微處理器呈現出驚人的複雜 度,且具備了強大的能力。 [0006] 但與許多其他產品不同的是,有另一非常重要的 因素已限制了,並持續限織微處理H轉之演進。現今微 處理器會如此複雜,一大部分得歸因於這項因素,即舊有軟 體之相容性。在市場考量下,所多製造商選擇將新的架構特 徵納入最新的微處理器設計中,但同時在這些最新的產品 中,又保留了所有為確保相容於較舊的、即所謂「舊有°口 (legacy)應用程式所必需之能力。 ” 」 — — — — — — — —--· I I (請先閱讀背面之注意事項再填寫本頁) 訂·-Predication) and speculative execution. To put it bluntly, today's microprocessors are more complex and powerful than they were when they first appeared 30 years ago. [0006] But unlike many other products, there is another very important factor that has been limited and continues to limit the evolution of microprocessing. Today's microprocessors can be so complex, a large part of which is due to this factor, 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 legacy applications. ”” — — — — — — — ——— · II (Please read the notes on the back before filling this page) Order ·-

1222015 。號第0W116959號專利案之說明書及申献利範圍修正本)1222015. No. 0W116959 patent case specification and revised range of interest

經濟部智慧財產局員工消費合作社印製 [0007] 這種舊有軟體相容性的負擔,沒有其他地方, 會比在x86-相容之微處理器的發展史中更加顯而易見。大家 都知道,現在的32/16位元之虛麵式(virtual-mode) x86 微處理器’仍可執行丨年代所撰寫之8位元真實模式 (real-mode)的應用程式。而熟習此領域技術者也承認,有 不少相關的架構「包被」堆在χ86架構中,只是為了支援與 舊有應用程式及運作模式的相雜。賴在過去,研發者可 將新開發的_特徵加人既有的指令#_,但如今使用這 些特徵所祕之J1具,即可程式化的指令,卻變得相當稀 少。更具體地說,在某些重要的指令集中,已沒有「多餘」 的指令,讓設計者可藉以將更新的特徵納人—既有的架構 中。 [0008] 例如,在xg6指令集架構中,已經沒有任何一 未定義的-位元組大小的運算碼狀態,是尚未被使用的。在 主要的一位元組大小之χ86運算碼圖中,全部256個運算碼 狀態都已被既有的指令佔用了。結果是,χ86微處理器的設 計者現在必須在提騎舰無棄財軟體相雜兩者間 作抉擇。若要提供新的可程式化特徵,則必須分派運算碼狀 ,給攻些特徵。若既有的指令集架構沒有多餘的運算碼狀 態,則某些既存的運算碼狀態必須重新絲,以提供給新的 特徵。因此,為了提供新的特徵,就得犧牲舊有軟體相容性 了。 [0009] -個持續發展但仍困擾著微處理器設計者的1 域,即是減理_可纽暫存⑽數量與賴。早期的微Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs [0007] This old software compatibility burden is nowhere more apparent than in the history of the development of x86-compatible microprocessors. Everyone knows that today's 32 / 16-bit virtual-mode x86 microprocessors' can still execute 8-bit real-mode applications written in the 1910s. Those skilled in this field also acknowledge that there are many related architectures “coated” stacked in the χ86 architecture, just to support the hybrid with the old applications and operating modes. Relying on the past, developers can add newly developed _ features to existing instructions #_, but nowadays, using these J1 tools secreted by these features, programmatic instructions can be quite rare. More specifically, in some important instruction sets, there are no “redundant” instructions, allowing designers to incorporate updated features into existing architectures. [0008] For example, in the xg6 instruction set architecture, there is no any undefined-byte-size opcode state, and it is not yet used. In the main one-byte size χ86 opcode diagram, all 256 opcode states have been occupied by existing instructions. As a result, designers of χ86 microprocessors must now make a choice between the two. To provide new, programmable features, you must assign opcodes to the features. If there are no redundant opcode states in the existing instruction set architecture, some existing opcode states must be rewired to provide new features. Therefore, to provide new features, it is necessary to sacrifice legacy software compatibility. [0009] A domain that continues to develop but still haunts microprocessor designers is the number and reliance of reduction storage. Early micro

(請先閱讀背面之注意事項再填寫本頁) i裝 --訂··(Please read the notes on the back before filling this page)

本紙条H刺巾國國家標準(CNS)A4規格(210 X 297公爱) 經濟部智慧財產局員工消費合作社印製 1222015 (案號第09⑴6959號專利案之說明書及申範圍修正本) 五、發明說明(f ) 處理器設計提供了 一或兩個一般用途的8位元暫存器。之 後’隨著應用程式内之演算日趨複雜,一般用途暫存器的數 量及大小都增加了。以應用於桌上型/膝上型電腦軟體的微處 理器而言,目前的技術程度所能提供之32位元一般用途暫 存器不到十個。所以到現在,仍有應用程式的領域因為微處 理器並未提供更多可定址之一般用途暫存器,而受到不利的 影響。 [0010] 因此,我們所需要的是,一種可將附加之一般用 途暫存器納入一既有微處理器指令集架構的裝置及方法,其 中該既有指令集係被已定義之運算碼完全佔用,且此項技術 亦可讓-符合舊有規格之微處理器保留執行舊有應用程式 的能力。 (三)發明簡要說明·· [0011] 本發明如同前述其他申請案,係針對上述及其他 習知技術之問題與缺點加以克服。本發明提供一種更好的技 術,用以擴充微處理器之指令集,使其超越現有之能力,而 長:供附加的一般用途暫存器,其内容可供微處理器指令集的 可程式化指令執行運算之用。在一具體實施例中,提供一種 用以存取一微處理器内之延伸暫存器的装置。該裝置包括一 轉譯邏輯(translationlogic)與一延伸暫存器邏輯(extended register logic)。該轉譯邏輯將一延伸指令轉譯成對應之微指 令(micro instruction),由該微處理器執行。該延伸指令具 一延伸前置碼(extended prefix)與一延伸前置碼標記 说尺度適用中國國家標準(CNS)A4規格(210 X 297公餐)'----This note H national standard (CNS) A4 specifications (210 X 297 public love) printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 1222015 (Amended the specification and application scope of the patent case No. 09⑴6959) V. Invention Note (f) The processor design provides one or two general purpose 8-bit registers. Since then, as the calculations in the application have become more complex, the number and size of general-purpose registers have increased. As far as microprocessors used in desktop / laptop software are concerned, less than ten 32-bit general-purpose registers are available at the current technical level. So far, there are still areas of applications that are adversely affected because microprocessors do not provide more addressable general-purpose registers. [0010] Therefore, what we need is an apparatus and method that can incorporate additional general-purpose registers into an existing microprocessor instruction set architecture, where the existing instruction set is completely completed by a defined operation code It can be used, and this technology also allows-microprocessors that meet the old specifications to retain the ability to execute old applications. (3) Brief Description of the Invention [0011] The present invention, like the other applications mentioned above, addresses the problems and disadvantages of the above and other conventional technologies. The present invention provides a better technology for expanding the instruction set of the microprocessor beyond its existing capabilities, and long: for additional general purpose registers, the content of which can be programmed by the microprocessor instruction set Use instructions to perform operations. In a specific embodiment, a device for accessing an extended register in a microprocessor is provided. The device includes a translation logic and an extended register logic. The translation logic translates an extended instruction into a corresponding micro instruction, which is executed by the microprocessor. The extended instruction has an extended prefix and an extended prefix code. It says that the standard applies to the Chinese National Standard (CNS) A4 specification (210 X 297 meals) '----

裝 --訂: (請先閱讀背面之注意事項再填寫本頁)Binding-Staple: (Please read the notes on the back before filling this page)

經濟部智慧財產局員工消費合作社印製 1222015 (案號第091116959號專利案之說明書及申利範圍修正本) " ----------- 五、發明說明(ί ) (extended prefix tag)。該延伸前置碼指定了暫存器位址延 伸項’這些延伸項指出該延伸暫存器,其中該延伸暫存器並 不能由-既有指令集加以指^。該延伸前置碼標記則指出該 延伸前置碼’且係該既有指令集内另—依據架構所指定之運 算碼。該延伸暫存器邏_接至轉譯邏輯,用以接收該對應 之微指令,並存取該延伸暫存器。 [(ΚΠ2]本發明的一個目的,係提出一種擴充—既有^ 理器指令集以提供附加之運算元暫存H的機制。該機制包括 -延伸指令與-轉譯器。該延伸指令指定了對應—指定運算 之附加運算元暫存II,且該延伸指令包含該既有微處理器指 令集其中-選取之運异碼,其後則接著一 η位元之延伸前置 碼。該選取之運算碼指出該延伸指令,該η位元之延伸前置 碼則指出該附加運算元暫存器,其中該附加運算元暫存器無 法依該既有微處理器指令集另行指定。該轉譯器接收該延伸 指令,並產生一微指令序列,以指示微處理器於該指定運算 執行時,存取該附加運算元暫存器。 [0013]本發明的另一目的,在於提出一種為一既有指令 集增添延伸暫存H之定址能力的指令集延倾組。該指令集 延伸模組具一逸出標記(escapetag)、一延伸暫存器指定元 (extended registers specifier )及一延伸暫存器邏輯(extended register logic )。該逸出標記由一轉譯邏輯接收,並指出一對 應指令之附隨部分係指定了一微處理器所要執行之一延伸 運算,其中該逸出標記係該既有指令集内之一第一運算碼項 目。該延伸暫存器指定元耦接至該逸出標記,且為該附隨部 _______ 6 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公爱) -----1---------裝--- (請先閱讀背面之注意事項再填寫本頁) 訂: A7 1222015 一(案號第〇91116959號專利案之說明書及申笔声利範圍修正本) 五、發明說明(L) 分其中之一。該延伸暫存器指定元指定了複數個對應至延伸 暫存器之位址延伸項,該延伸暫存器則係該延伸運算之所 ‘。該延伸暫存器邏輯搞接至該轉譯邏輯,於該指定運算執 行時,存取該延伸暫存器,其中該既有指令集僅提供定址既 有暫存器的能力,且該延伸暫存器指定元致能定址該延伸暫 存器的能力。 [0014] 本發明的再一目的,在於提供一種擴充一既有指 令集架構的方法,以提供一微處理器内延伸暫存器之可程式 化的定址能力。該方法包括提供一延伸指令,該延伸指令包 含一延伸標記及一延伸前置碼,其中該延伸標記係該既有指 令集架構其中一第一運算碼項目;透過該延伸前置碼與該 延伸指令之其餘部分指定該延伸暫存器,其中該延伸暫存器 係於一指定運算執行時被存取,且該既有指令集架構僅依據 該指令集架構提供可定址既有暫存器之指令;以及於該指 定運算執行時,存取該延伸暫存器。 (四)發明圖示說明: [0015] 本發明之前述與其它目的、特徵及優點,在配合 下列說明及所附圖示後,將可獲得更好的理解: [0016] 圖一係為一相關技術之微處理器指令格式的方 塊圖, [0017] 圖二係為一表格,其描述一指令集架構中之指 令’如何對應至圖一指令格式内一 8位元運算碼位元組之位 元邏輯狀態; ‘紙張尺度刺+關家標半((JNS)A4規格(210 X 297公餐 -1 I ! — I (請先閱讀背面之注意事項再填寫本頁) · · 經濟部智慧財產局員工消費合作社印製 1222015 (案號第09111矽59號專利案之說明書及申笔声利範圍修正本) 五、發明說明(?) [0018] 圖三係為本發明之延伸指令格式的方塊圖; [0019] 圖四係為一表格,其顯示依據本發明,延伸架構 特徵如何對應至一 8位元延伸前置碼實施例中位元的邏輯狀 態; [0020] 圖五係為解說本發明用以存取延伸暫存器之一 管線化微處理器的方塊圖; [0021] 圖六係為本發明用於定址微處理器之附加暫存 器的延伸前置碼之一具體實施例方塊圖; [0022] 圖七係為圖五微處理器内轉譯階段邏輯之細部 的方塊圖; [0023] 圖八係為圖五之微處理器内延伸暫存器階段邏 輯的方塊圖;以及 [0024] 圖九係為描述本發明對定址微處理器之延伸暫 存器的指令進行轉譯與執行的方法之運作流程圖。 圖號說明: 100指令格式 102 運算碼 200 8位元運算碼圖 202運算碼F1H 300延伸指令格式 302運算碼 304延伸指令標記 400 8位元前置碼圖 ____ 8 本紙張尺度週用干國國豕ί示平規格(210 X 297公餐)Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 1222015 (Patent No. 091116959, the amended version of the specification and scope of application of profits) " ----------- V. Description of Invention (ί) (extended prefix tag). The extended preamble specifies the register address extensions. These extensions indicate the extended register, where the extended register cannot be referred to by the existing instruction set ^. The extended preamble mark indicates that the extended preamble 'is another operation code specified in the existing instruction set according to the architecture. The extended register logic is connected to the translation logic to receive the corresponding microinstruction and access the extended register. [(ΚΠ2] An object of the present invention is to propose an extension-existing instruction set mechanism to provide additional operand temporary storage mechanism H. The mechanism includes -extend instruction and -translator. The extended instruction specifies Correspondence—The additional operands of the specified operation are temporarily stored in II, and the extended instruction includes the selected operation difference code of the existing microprocessor instruction set, followed by an η-bit extended preamble. The selected The operation code indicates the extended instruction, and the n-bit extended preamble indicates the additional operand register, wherein the additional operand register cannot be specified separately according to the existing microprocessor instruction set. The translator Receiving the extended instruction and generating a micro instruction sequence to instruct the microprocessor to access the additional operand register when the specified operation is performed. [0013] Another object of the present invention is to provide a Instruction set extension group with instruction set to add the addressing capability of extended temporary H. The instruction set extension module has an escapetag, an extended registers specifier, and an extension Extended register logic. The escape tag is received by a translation logic and indicates that the accompanying part of a corresponding instruction specifies an extended operation to be performed by a microprocessor, where the escape tag is the existing There is one of the first opcode items in the instruction set. The designated element of the extended register is coupled to the escape mark and is the attached part. _______ 6 This paper size applies to China National Standard (CNS) A4 specifications (21 〇X 297 public love) ----- 1 --------- install --- (Please read the precautions on the back before filling this page) Order: A7 1222015 I (Case No. 091116959 The specification of the patent case and the amendment of the claim scope. 5. One of the points of the invention description (L). The extension register designator specifies a plurality of address extension items corresponding to the extension register. The register is the place of the extended operation. The extended register logic is connected to the translation logic. When the specified operation is performed, the extended register is accessed, where the existing instruction set only provides addressing. Has the ability to register, and the extended register can be specified [0014] Another object of the present invention is to provide a method for expanding an existing instruction set architecture to provide a programmable addressing capability of an extended register in a microprocessor. The method includes providing an extended instruction, the extended instruction includes an extended tag and an extended preamble, wherein the extended tag is a first operation code item of the existing instruction set structure; and the extended preamble and the extended The rest of the instruction specifies the extended register, where the extended register is accessed when a specified operation is performed, and the existing instruction set architecture only provides addressable existing registers based on the instruction set architecture. Instructions; and when the specified operation is executed, access the extended register. (IV) Illustration of the invention: [0015] The foregoing and other objects, features, and advantages of the present invention will be better understood after cooperating with the following description and accompanying drawings: [0016] [0017] FIG. 2 is a table describing the instruction 'in an instruction set architecture corresponding to an 8-bit operation code byte in the instruction format of FIG. Bit logic state; 'Paper scale thorn + Guan Jiabiao half ((JNS) A4 specification (210 X 297 public meals-1 I! — I (Please read the precautions on the back before filling this page) · · Intellectual Property Bureau of the Ministry of Economic Affairs Printed by Employee Consumption Cooperative 1222015 (Patent No. 09111 Silicon No. 59 Patent Specification and Amendment Claim Range) V. Explanation of the Invention (?) [0018] FIG. 3 is a block diagram of the extended instruction format of the present invention [0019] FIG. 4 is a table showing how the extended architecture features correspond to the logical states of the bits in an 8-bit extended preamble embodiment according to the present invention; [0020] FIG. 5 is an illustration of the present invention Used to access one of the extended registers [0021] FIG. 6 is a block diagram of a specific embodiment of an extended preamble of an additional register for an addressing microprocessor of the present invention; [0022] FIG. 7 is a diagram [0023] FIG. 8 is a block diagram of the extended register stage logic in the microprocessor of FIG. 5; and [0024] FIG. 9 is a description of the present invention. The operation flowchart of the method for translating and executing the instructions of the extended register of the addressing microprocessor. Explanation of the drawing number: 100 instruction format 102 operation code 200 8-bit operation code figure 202 operation code F1H 300 extended instruction format 302 operation code 304 extended instruction mark 400 8-bit preamble figure ____ 8 Paper size weekly dry country and national standard (210 X 297 meals)

經濟部智慧財產局員工消費合作社印製 前置碼 103位址指定元 201運算碼值 301前置碼 303位址指定元 305延伸前置碼 4〇1架構特徵 言· · (請先閱讀背面之注意事項再填寫本頁)Printed by the Intellectual Property Bureau of the Ministry of Economic Affairs, Consumer Consumption Cooperatives, the prefix 103 address designation element 201 operation code value 301 prefix 303 address designation element 305 extended prefix 401 extension features. (Please read the (Please fill in this page again)

1222015 A7 (案號第091116959號專利案之說明書及申笔^利範圍修正本) 五、發明說明(ί ) 經濟部智慧財產局員工消費合作社印製 500 管線化微處理器 501 提取邏輯 502 指令快取記憶體/外部記憶體 503 指令佇列 504 轉譯邏輯 505 延伸轉譯邏輯 506 微指令佇列 507 執行邏輯 508 延伸執行邏輯 600 延伸前置碼 601 來源位址延伸項欄位(S3) 602 目的位址延伸項攔位(D3) 603 備用攔位 604 運算碼與位址指定元項目 605 運算碼與位址指定元項目 700 轉譯階段邏輯 701 啟動狀態訊號 702 機器特定暫存器 703 延伸特徵欄位 704 指令緩衝器 705 轉譯邏輯 706 轉譯控制器 707 除能訊號 708 逸出指令偵測器 709 延伸前置碼解碼器 710 指令解碼器 711 控制唯讀記憶體 712 微指令緩衝器 714 微運算碼攔位 715 目的攔位 716 來源攔位 717 位移攔位 800 延伸暫存器階段邏輯 801 微指令緩衝器 802 暫存器邏輯 803 延伸暫存器檔案 804 來源位址攔位 805 來源位址攔位 806 延伸讀取邏輯 807 延伸回寫邏輯 808 微指令緩衝器 809 運算元緩衝器 9 本紙張尺度通用甲國國家標準(CNS)A4規格(21〇 χ 297公釐) ——l·—------Μ裝—— C請先閱讀背面之注意事項再填寫本頁) 訂·· 1222015 經濟部智慧財產局員工消費合作社印製 (案號第091116959號專利案之說明書及申,产利範圍修正本) 五、發明說明(?) 810運算元緩衝器 811微指令緩衝器 812結果緩衝器 813結果缓衝器 900〜926對定址微處理器之延伸暫存器的指令進行轉譯與 執行的方法之運作流程 (五)發明詳細說明: [0025]以下的說明,係在一特定實施例及其必要條件的 脈絡下而提供,可使一般熟習此項技術者能夠利用本發明。 然而,各種對該較佳實施例所作的修改,對熟習此項技術者 而言乃係顯而易見,並且,在此所討論的一般原理,亦可應 用至其他實施例。因此,本發明並不限於此處所展示與敘述 之特定實施例,而是具有與此處所揭露之原理與新穎特徵相 符之最大範圍。 [〇〇26]前文已針對今日之微處理器内,如何擴充其架構 特徵,以超越相關指令集能力之技術,作了背景的討論。有 鑑於此,在圖一與圖二,將討論一相關技術的例子。此處的 討論強調了微處理器設計者所一直面對的兩難,即一方面, 他們想將最新開發之架構特徵納入微處理器的設計中,但另 一方面,他們又要保留執行舊有應用程式的能力。在圖一至 二的例子中,一完全佔用之運算碼圖,已把增加新運算碼至 該範例架構的可紐聽,因而迫使設計者要不就選擇將新 特徵納人’而犧牲某種程度之舊有軟體相雜,要不就將架 構上的最新進展-併放棄,以便轉微處理器㈣有應用程 式之相·。在相關技術的討論後,於圖三至九,將提供對 ----l·-------4裝—— (請先閱讀背面之注意事項再填寫本頁) 訂··1222015 A7 (Patent No. 091116959 patent specification and application scope amendments) V. Description of invention (ί) Printed by the Intellectual Property Bureau of the Ministry of Economic Affairs Employee Cooperatives 500 Pipelined microprocessor 501 Extraction logic 502 Instruction fast Fetch memory / external memory 503 Instruction queue 504 Translation logic 505 Extended translation logic 506 Micro instruction queue 507 Execution logic 508 Extension execution logic 600 Extension prefix 601 Source address Extension field (S3) 602 Destination address Extension block (D3) 603 Spare block 604 Opcode and address designation meta-item 605 Opcode and address designation meta-item 700 Translation stage logic 701 Start status signal 702 Machine-specific register 703 Extended feature field 704 Instruction Buffer 705 Translation logic 706 Translation controller 707 Disable signal 708 Escape instruction detector 709 Extended preamble decoder 710 Instruction decoder 711 Control read-only memory 712 Micro-instruction buffer 714 Micro-op code block 715 Purpose Block 716 Source Block 717 Displacement Block 800 Extended Register Stage Logic 801 Micro Instruction 802 register logic 803 extended register file 804 source address block 805 source address block 806 extended read logic 807 extended write back logic 808 microinstruction buffer 809 operand buffer 9 National Standard (CNS) A4 Specification (21〇χ 297 mm) ——l · —-------- M Pack—— C Please read the notes on the back before filling this page) Order · · 1222015 Ministry of Economic Affairs Printed by the Intellectual Property Bureau's Consumer Cooperative (the specification and application of the case No. 091116959 patent, the revised version of the profit scope) V. Description of the invention (?) Buffers 900 to 926 The operation flow of the method for translating and executing instructions of the extended register of the addressing microprocessor (5) Detailed description of the invention: [0025] The following description is a specific embodiment and its necessity It is provided in the context of conditions, so that those skilled in the art can utilize the present invention. However, various modifications made 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. Therefore, the present invention 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. [0026] The foregoing has discussed the background of today's microprocessors on how to extend their architectural features to exceed the capabilities of the relevant instruction set. In view of this, an example of related technology will be discussed in Figs. 1 and 2. The discussion here highlights the dilemma that microprocessor designers have been facing. On the one hand, they want to incorporate the newly developed architecture features into the design of the microprocessor, but on the other hand, they must keep the old implementation. Application capabilities. In the example of Figures 1-2, a fully occupied opcode diagram has added new opcodes to the audible structure of the example architecture, thus forcing the designer to sacrifice some degree of choosing to incorporate new features The old software is mixed, or the latest developments in the architecture-or give up, in order to transfer the microprocessor to the application phase. After discussion of related technologies, as shown in Figures 3-9, ---- l · ------- 4 packs will be provided. (Please read the precautions on the back before filling this page)

本紙張尺度賴巾_家標準(CNS)A4 χ 297公釐) A7 (案號第〇91116959號專利案之說明書及申圍修正本)五、發明說明)The paper size Lai Jin_CNS (A4 x 297 mm) A7 (Description and Amendment of Patent No. 091116959) 5. Description of the invention)

本發明之討論。藉由利用一既有但未使用之運算碼作為一延 伸指令之前置碼標記,本發明可讓微處理器設計者克服已完 全使用之指令集架構的限制,在允許他們在提供附加之一般 用途暫存器供程式員使用的同時,也能保留與舊有應用程式 的相容性。 、[0027]請參閱圖一,其係一相關技術之微處理器指令格 式100的方塊圖。該相關技術之指令1〇〇具有數量可變之資 料項目101-103,每一項目皆設定成一特定值,合在一起便 組成微處理器之-特定指令。該特定指令丨⑻指示微處 理器執行一特定運算,例如將兩運算元相加,或是將一運算 元從記憶體搬移至微處理器内之暫存器。一般而言,指令1〇〇 内之運算碼項目102指定了所要執行之特定運算,而選用 (optional)之位址指定元項目1〇3位於運算碼1〇2之後以 ,定關於該特定運算之附加資訊,像是如何執行該運算,運 算元位於何處等等。指令格式100並允許程式員在一運算碼 1〇2前加上前置碼項目101。在運算碼1〇2所指定之特定運 算執行時,前置碼101用以指示是否使用特定的架構特徵。 一般來說,這些架構特徵能應用於指令集中任何運算碼 所指定運算的大部分。例如,現今前置碼⑼存在於一些妒 使用^同大小運算元(如8位元、16位元、32位元)執^ 運算的微處理器中。而當此類處理器被程式化為一預設的運 f元大小時(比如32位元),在其個職令集中所=供之 月J置馬101,仍此使程式員依據各個指令,選擇性地取 (override)該預設的運算元大小(如為了執行16位元運 &狀度適用中國國家標^iS)A4規格⑽x挪公餐) 1222015 A7 (案號第〇911】6959號專利案之說明書及申讀务利範圍修正本) 五、發明說明([ί ----h-------Μ裝—— (請先閱讀背面之注意事項再填寫本頁) 算)。可選擇之運算元大小僅是架構特徵之一例,在許多現 代的微處理器中,這些架構特徵能應用於眾多可由運算碼 102加以指定的運算(如加、減、乘、布林邏輯等)。 [0028] 圖一所示之指令格式100,有一為業界所熟知的 範例’此即Χ86指令格式1〇〇,其為所有現代之别卜相容微 處理器所採用。更具體地說,χ86指令格式1〇〇(也稱為χ86 指令集架構100)使用了 8位元前置碼1〇1、8位元運算碼 102以及8位元位址指定元103。沾6架構1〇〇亦具有數個前 置碼101,其中兩個取代了 χ86微處理器所預設的位址/資料 大小(即運算碼狀態66Η與67Η),另一個則指示微處理器 依據不同的轉譯規則來解譯其後之運算碼位元組1〇2 (即前 置碼值0FH ’其使得轉譯動作是依據所謂的二位元組運算竭 規則來進行),其他的前置碼101則使相關運算重複執行, 直至重複條件滿足為止(即REP運算碼:F〇H、F2H及F3h)。 經濟部智慧財產局員工消費合作社印製 [0029] 現請參閱圖二,其顯示一表格2⑻,用以描述一 指令集架構之指令201如何對應至圖一指令格式内一 8位元 運算碼位元組102之位元值。表格2〇〇呈現了一示範性的8 位元運算碼圖200,其將一 8位元運算碼項目1〇2所具有之 最多256個值,關聯到對應之微處理器運算碼指令2〇1。表 格200將運算碼項目1〇2之一特定值,譬如〇2H,映射至一 對應之運算碼指令201 (即指令1〇2 2〇1)。在χ86運算碼圖 的例子中,為此領域中人所熟知的是,運算碼值14Η係映射 至χ86之進位累加(Add With Carry,ADC)指令,此指令 將一 8位元之直接(immediate)運算元加至架構暫存器alDiscussion of the invention. By using an existing but unused opcode as an extension instruction pre-coded tag, the present invention allows microprocessor designers to overcome the limitations of a fully used instruction set architecture, allowing them to provide additional general The purpose register is used by programmers while retaining compatibility with legacy applications. [0027] Please refer to FIG. 1, which is a block diagram of a related art microprocessor instruction format 100. The related technology instruction 100 has a variable number of data items 101-103, and each item is set to a specific value, which together constitutes a specific instruction of the microprocessor. The specific instruction instructs the microprocessor to perform a specific operation, such as adding two operands, or moving an operand from memory to a register in the microprocessor. In general, the operation code item 102 in the instruction 100 specifies the specific operation to be performed, and the optional address designation meta-item 103 is located after the operation code 102, and determines the specific operation. Additional information, such as how to perform the operation, where the operands are located, and so on. The instruction format 100 also allows the programmer to add a preamble item 101 before an operation code 102. When a specific operation specified by the operation code 102 is executed, the preamble 101 is used to indicate whether to use a specific architectural feature. In general, these architectural features can be applied to most of the operations specified by any opcode in the instruction set. For example, today's preamble ⑼ exists in some microprocessors that use ^ the same size operands (such as 8-bit, 16-bit, 32-bit) to perform ^ operations. When such a processor is programmed into a preset size (for example, 32-bit), it is set in its personal order set = provided month J Zhima 101, which still allows the programmer to follow the instructions To selectively override the preset operand size (for example, to implement a 16-bit operation & apply the Chinese national standard ^ iS) A4 specifications ⑽ x Norwegian meal) 1222015 A7 (Case No. 0911) 6959 patent case specification and amendments to the application scope of the application) V. Description of the invention ([ί ---- h ------- Μ 装 —— (Please read the precautions on the back before filling in this page ) Count). The selectable operand size is just one example of architectural features. In many modern microprocessors, these architectural features can be applied to many operations that can be specified by opcode 102 (such as addition, subtraction, multiplication, Bollinger logic, etc.) . [0028] The instruction format 100 shown in FIG. 1 has a well-known example in the industry. This is the X86 instruction format 100, which is used by all modern microprocessors compatible with Bubb. More specifically, the χ86 instruction format 100 (also referred to as the χ86 instruction set architecture 100) uses an 8-bit preamble 101, an 8-bit opcode 102, and an 8-bit address designator 103. The Z6 architecture 100 also has several preambles 101, two of which replace the preset address / data size of the χ86 microprocessor (that is, the opcode states 66Η and 67Η), and the other indicates the microprocessor Interpret the following operation code byte 102 according to different translation rules (that is, the preamble value 0FH 'which makes the translation action based on the so-called exhaustion rule of two-byte operation), and the other preamble Code 101 causes the correlation operation to be repeatedly performed until the repetition condition is satisfied (that is, the REP operation codes: F0H, F2H, and F3h). Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs [0029] Please refer to FIG. 2 which shows a form 2⑻ describing how the instruction 201 of an instruction set architecture corresponds to an 8-bit operation code point in the instruction format of FIG. Bit value of tuple 102. Table 200 presents an exemplary 8-bit opcode map 200, which associates up to 256 values of an 8-bit opcode item 102 to the corresponding microprocessor opcode instruction 2 1. The table 200 maps a specific value of the operation code item 102, such as 〇2H, to a corresponding operation code instruction 201 (ie, the instruction 102 02). In the example of the χ86 opcode diagram, as is well known in the art, the opcode value 14 is mapped to the χ86 Add With Carry (ADC) instruction. This instruction is an 8-bit immediate (immediate The operand is added to the architecture register al

1222015 A7 (案號第〇9〗116959號專利案之說明書及申,斧利範圍修正本) 五、發明說明(丨>) 之内含值。熟習此領域技術者也將發覺,上文提及之Χ86前 置瑪 101 (亦即 66Η、67Η、0FH、F0H、F2H 及 F3H)係實 際的運算碼值201,其在不同脈絡下,指定要將特定的架構 延伸項應用於隨後之運算碼項目102所指定的運算。例如, 在運算碼14Η (正常情況下,係前述之ADC運算碼)前加 上前置碼0FH,會使得χ86處理器執行一「解壓縮與插入低 壓縮之單精度浮點值」(Unpack and Interleave Low Paeked1222015 A7 (Case No. 099 116959 Patent Specification and Application, Amendment of Sharpening Scope) V. Included value in the description of the invention (丨 >). Those skilled in this field will also find that the above-mentioned X86 premature 101 (ie, 66Η, 67Η, 0FH, F0H, F2H, and F3H) is the actual operation code value 201, which specifies the requirements in different contexts. A specific architectural extension is applied to the operation specified by the subsequent operation code item 102. For example, adding the preamble 0FH before opcode 14Η (normally, the aforementioned ADC opcode) will cause the χ86 processor to perform a "decompress and insert low-compression single-precision floating-point value" (Unpack and Interleave Low Paeked

Single-Precision Floating-Point Values )運算,而非原本的 ADC 運鼻。這疋因為’當一 x86處理器碰到前置碼〇j?h時,會採 用另一種轉譯規則。諸如此x86例子所述之特徵,在現代之 微處理器中係部分地致能,此因微處理器内之指令轉譯/解碼 邏輯是依序解譯一指令1〇〇的項目1〇M〇3。所以在過去, 於指令集架構中使轉定運算碼值作為前置碼1G1,可允許 微處理器設計者將不少先進的架構特徵納入相容舊有軟體 之微處理H的設計巾’科會對未使_些特定運算碼狀態 的舊有程式,帶來執行上的負面衝擊。例如,—未曾使用 運算碼0FH的舊有程式,仍可在今日的χ86微處理器上執 打。而一較新的朗程式,藉著運用X86運算碼_作為前 置碼1〇1,就能使用許多新進納入之X86架構特徵,如單一 指令多重資料(S_)運算,條件移動運算等等。 鉀過把藉由衫多餘料算碼值2〇1 =則置碼1〇1 (也稱為架構特徵標記/指標⑻ 二’但物彻物在提 ^的強化時,仍會因為一非常直接的理由,而碰到阻礙: 本紙張尺度適用中國國家標準(CNSg^^ 經濟部智慧財產局員工消費合作社印製 丄222015 I—,^091116959號專利案之說明t及申利範圍修正本〕 :一一 有可用/夕餘的運算碼值已被用完,也就是,運算碼圖二⑽ 中的王邛運算碼值已被架構化地指定。當所有可用的值被分 I μ為運算碼項目ι〇2或別置碼項目ιοί時,就沒有剩餘的運 算碼值可作為納入新特徵之用。這個嚴重的問題存在於現在 的許多微處理器架構中,因而迫使設計者得在增添架構特徵 與保留舊有程式之相容性兩者間作抉擇。 [0031] 圖一所示之指令201係以一般性的方式表示(亦 即124、186) ’而非具體指涉實際的運算(如進位累加、減、 互斥或)。這是因為,在一些不同的微處理器架構中,完全 佔用之運算碼圖2〇〇在架構上,已將納入較新進展的可能性 排除。雖然圖二例子所提到的,是8位元的運算碼項目1〇2, 熟習此領域技術者仍將發覺,運算碼102的特定大小,除了 作為一特殊情況來討論完全佔用之運算碼結構2〇〇所造成的 問題外’其他方面與問題本身並不相干。因此,一完全佔用 之6位元運算碼圖將有64個可架構化地指定之運算碼/前置 碼201,並將無法提供可用/多餘的運算碼值作為擴充之用。 [0032] 另一種替代做法,則並非將原有指令集完全廢 棄’以一新的格式1〇〇與運算碼圖2⑻取代,而是只針對一 部份既有的運算碼201,以新的指令意含取代,如圖二之運 算碼40Η至4FH。以這種混合的技術,微處理器就可以單獨 地以下列兩種模式之一運作:其中舊有模式利用運算碼 40H-4FH ’係依舊有規則來解譯,或者以另一種改良模式 (enhanced mode)運作,此時運算碼40H-4FH則依加強之 | 架構規則來解譯。此項技術確能允許設計者將新特徵納入設 本紙張尺度_,驛醉(CNS)A4規格(210 X si4公餐)----Single-Precision Floating-Point Values) instead of the original ADC. This is because ‘when an x86 processor encounters the preamble 0j? H, another translation rule is used. The features described in this x86 example are partially enabled in modern microprocessors. This is because the instruction translation / decoding logic in the microprocessor is to sequentially interpret an item 100 of an instruction 100M. 3. Therefore, in the past, the use of the transposed operation code value as the preamble 1G1 in the instruction set architecture can allow microprocessor designers to incorporate many advanced architectural features into the design towel compatible with the old software microprocessing H. It will have a negative impact on the implementation of old programs that have not brought the status of some specific opcodes. For example, the old programs that have not used the opcode 0FH can still be executed on today's χ86 microprocessors. A newer Lang program, by using the X86 opcode _ as the preamble 101, can use many newly incorporated X86 architecture features, such as a single instruction multiple data (S_) operation, conditional movement operations, and so on. The potassium excess is calculated by the extra material of the shirt. The code value is 2101 = then the code is 101 (also known as the architectural feature mark / indicator). However, when the material is strengthened, it will still be very direct. The reason for this is to meet the obstacles: This paper size applies the Chinese national standard (CNSg ^^ Printed by the Intellectual Property Bureau of the Ministry of Economic Affairs, Consumer Consumption Cooperatives, 丄 222015 I—, ^ 091116959, patent case t and amendments to the scope of application benefits]: -The available opcode values have been used up, that is, the Wang opcode values in opcode image II have been architecturally specified. When all available values are divided into I μ as opcodes When the project ι〇2 or the unique code project ιοί, no remaining opcode value can be used to incorporate new features. This serious problem exists in many microprocessor architectures today, forcing designers to add architecture [0031] The instruction 201 shown in Figure 1 is expressed in a general way (ie, 124, 186), rather than specifically referring to the actual operation ( Such as carry accumulation, subtraction, mutual exclusion or). This is because In some different microprocessor architectures, the fully occupied operation code Figure 200 has been excluded from the possibility of incorporating newer developments. Although the example in Figure 2 mentioned above is an 8-bit operation Code item 102, those skilled in the art will still find that the specific size of the opcode 102, except as a special case, discusses the problems caused by the fully occupied opcode structure 200. 'Other aspects are not the same as the problem itself. Irrelevant. Therefore, a fully occupied 6-bit opcode map will have 64 opcodes / preambles 201 that can be architecturally specified, and will not provide usable / excessive opcode values for expansion. [ 0032] Another alternative is not to completely obsolete the original instruction set 'in a new format 100 and operation code Figure 2', but only to a part of the existing operation code 201, with new instructions Implied substitution, as shown in Figure 2 with opcodes 40Η to 4FH. With this hybrid technology, the microprocessor can operate in one of two modes separately: The old mode uses opcodes 40H-4FH 'system is still There are rules to come Interpretation, or operate in another enhanced mode, at this time the operation code 40H-4FH is interpreted according to the enhanced | architectural rules. This technology does allow designers to incorporate new features into the design paper scale_ , Yi Zui (CNS) A4 specifications (210 X si4 public meals) ----

(請先閱讀背面之注意事項再填寫本頁) % . 1222015 (案號第091116959號專利案之說明書及申養斧利範圍修正本) 五、發明說明(\义) 計,然而,當符合舊有規格之微處理器於加強模式運作時, 缺點仍舊存在,因為微處理器不能執行任何使用運算碼 40H-4FH的應用程式。因此,站在保留舊有軟體相容性的立 場,相容舊有軟體/加強模式的技術,還是無法接受的。 [0033]然而,對於運算碼空間已完全佔用之指令集 200,且該空間涵蓋所有於符合舊有規格之微處理器上執行 之應用程式的情形,本案發明人已注意到其中運算碼2〇1的 使用狀況,且他們亦觀察出,雖然有些指令202是架構化地 指定,但未用於能被微處理器執行之應用程式中。圖二所述 之才曰令IF1 202即為此現象之一例。事實上,相同的運算碼 值202 (亦即F1H)係映射至未用於χ86指令集架構之一有 效指令202。雖然該未使用之χ86指令2〇2是有效的χ86指 令202,其指示要在χ86微處理器上執行一架構化地指定之 運算,但它卻未使用於任何能在現代χ86微處理器上執行之 既有應用程式。這個特殊的χ86指令202被稱為電路内模擬 中斷點(In Circuit Emulation Breakpoint)(亦即 ICE ΒΚΡΤ, 運算碼值為F1H),之前都是專門使用於一種現在已不存在 之微處理器模擬設備中。ICE BKPT 202從未用於電路内模擬 器之外的應用程式中,並且先前使用ICEBKPT 202之電路 内模擬设備已不復存在。因此,在x86的情形下,本案發明 人已在一完全佔用之指令集架構200内發現一樣工具,藉著 利用一有效但未使用之運算碼202,以允許在微處理器的設 計中納入先進的架構特徵,而不需犧牲舊有軟體之相容性。 在一完全佔用之指令集架構20〇中,本發明利用一架構化地 私紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公爱 I — — — — — — — — — — i I (請先聞讀背面之注意事項再填寫本頁) 訂- •^· 經濟部智慧財產局員工消費合作社印製 15 1222015 A7 义號第09111(5959號專利案之說明書及申亨声利範圍修正本) 五、發明說明(rT) 閱 指定但未使用之運算碼2〇2 ,作為一指標標記,以指出其後 之一 Π位元前置碼,因此允許微處理器設計者可將最多2η 個最新發展之架構特徵,納入微處理器的設計中,同時保留 與所有舊有軟體完全的相容性。 [0034] 本發明藉提供一 η位元之延伸暫存器指定元前 置碼’以使用前置碼標記/延伸前置碼的概念,因而可允許程 式員在一既有微處理器指令集架構所提供之一般用途暫存 器外,還能指定微處理器中已提供之附加一般用途暫存器的 位址。本發明現將參照圖三至九來進一步討論。 [0035] 現請參閱圖三,其為本發明之延伸指令格式邓❹ 的方塊圖。朗一所討論之格式1〇〇非常近似,該延伸指令 格式300具有數量可變之指令項目301·3〇5,每-項目設定 為-特定值,集合起來便組成微處理器之—特定指令⑽。 ,特定指令300指示微處理器執行一特定運算,像是將兩運 一相加或疋將一運异元從記憶體搬移至微處理写之暫存 器内。一般而言,指令300之運算碼項目3〇2指定^所 :丁之特定運算,而選用之位址指定元項目3 处後,以指定該特定運算之相 $馬 = 處等等。指令格式3〇。亦 异碼302刖加上前置碼項目3〇1 定之特定運算執行時,前置竭項目观係用來=== 用既有的架構特徵。 丁疋否要使 二。36]然而’本發明之延伸指令撕係 式〇〇之一超集合㈣ ^紙張尺度適"^國家標準 1222015 A7 (案號第091116959號專利案之說明書及申場斧利範圍修正本) 五、發明說明(斤) 305,可被選擇性作為指令延伸項,並置於一格式化延伸指 令300巾所有其餘項目301-303之前。這兩個附加項目3〇4 與305讓程式員能在一符合舊有規格之微處理器内指定附加 或延伸的一般用途暫存器之位址,以便在其内之運算元上執 行運算,其中該延伸位址是無法藉由該符合舊有規格微處理 器之既有指令集加以程式化的。選用項目3〇4與3〇5係一延 伸指令標記304與一延伸暫存器指定元前置碼3〇5。該延伸 才曰令標記304係一微處理器指令集内另一依據架構所指定之 運算碼。在一 x86的實施例中,該延伸指令標記304,或稱 逸出標記304,係用運算碼狀態F1H,其為早先使用之ice BKPT指令。逸出標記304向微處理器邏輯指出,該延伸暫 存器指定元前置碼305,或稱延伸特徵指定元3〇5,係跟隨 ,後,其中該延伸暫存器指定元3〇5指定了微處理器内暫存 器之延伸位址’其對應至執行一指定運算所需要/產生之運算 70/結果。在一具體實施例中,逸出標記3〇4指出,一對應指 令300之附隨部分301_303及3〇5指定了微處理器所要&行 之=伸運算。延伸暫存器指定元305,或稱延伸前置碼3〇5, 指定了對應至該延伸運算所需之延伸暫存器的複數個位址 延伸項。微處理器中之延伸暫存器邏輯則於該延伸運算執行 時,存取該延伸暫存器。 [0037]此處將本發明所用之延伸技術作個概述。一延伸 才曰令,組恶為指定一既有微處理器指令集中之附加運算元 暫存器,其中該附加運算元暫存器係無法依該既有微處理器 指令集另行指定。該延伸指令包含該既有指令集之運算碼/ 17 297公釐) 本紙張尺度顧+關家標準(CNS)A4規格(21〇: (案號第091116959號專利案之說明書及申嗜斧利範圍修正本) 、發明說明(I;/ ) 指令304其中之一,以及一 η位元之延伸特徵前置碼3〇5。 所選取之運算碼/指令作為一指標304,以指出指令3〇〇是一 延伸特徵指令300 (亦即,其指定了微處理器架構之延伸 項),該η位元特徵前置碼305則指出該附加運算元暫存器。 在另一具體實施例中,延伸前置碼305具八位元的大小,最 多可指定256個不同的值,其可組態為指定一相關延伸運算 所需之延伸暫存器所對應之複數個暫存器位址延伸項。η位 元前置碼的實施例,則最多可指定2η種不同的位址延伸項。 [0038] 現請參閱圖四,一表格4〇〇顯示依據本發明,暫 存器延伸項如何映射至一8位元延伸前置碼實施例之位元邏 輯狀態。類似於圖二所討論之運算碼圖2〇〇,圖四之表格4〇〇 呈現一 8位元暫存器指定元之前置碼圖4〇〇的範例,其將一 8位元延伸前置碼項目305之最多256個值,關聯到一符合 舊有規格之微處理器的對應暫存器位址延伸項4〇1 (如Ε34、 E4D等)。在一 χ86的具體實施例中,本發明之8位元延伸 特徵前置碼3〇5係提供給前述之暫存器指定元4〇1 (亦即 E00-EFF)使肖,該些指定元4〇1乃現行辦指令集架構所 未能提供的。 [0039] 圖四所示之延伸特徵4〇1係以一般性的方式表 示,而非具體指涉實際的特徵,此因本發明之技術可應用於 各種不同的架構延伸項仙與特定的指令集架構。熟習此領 域技術者將發覺,許多不同的架構特徵4〇1,其中一些已於 上文提及,可依此處所述之逸出標記3〇4/延伸前置碼3〇5技 術將其納人-既有之指令集。圖四之8位元前置碼實施 1222015 A7 (案號第09⑴6959號專利案之說明書及_^利範圍修正太、 五、發明說明(J ) 供了最乡256個不同的特徵40卜而一 η位元前置碼實施例 則具有最多2η個不同特徵401的程式化選擇。 訂 [0040]不同的實施例,可依據一特殊之既有微處理器指 令集對其既有暫存器進行定址的方式來加以組態。例如,一 實施例於延伸前置碼305内提供複數個來源暫存器與目的暫 存器指定元攔位,其可完全取代延伸指令3⑻的其餘部分 301-303内之既有暫存器指定欄位。—個擴充攔位的實施例 則包含複數個來源暫存器與目的暫存器位址延伸攔位,其内 容可作為延伸指令300之其餘部分3〇1-3〇3中,既有暫存器 指定攔位内所指定之對應來源/目的暫存器位址的延伸項。此 實施例的其中一種形式,係利用該位址延伸項作為複數個較 高的暫存器位址位元,這些位元與其餘部分3〇1-3〇3中之對 應較低的暫存器位址位元結合,以指定該延伸暫存器。另一 不同的實施例則不用分開的攔位來指定運算元暫存器,而是 用η位元延伸前置碼3〇5之一特定編碼值,來指定要運用至 忒扣疋運算之一組對應的來源/目的運算元暫存器。依本發 明,可用一些不同的方式來編碼η位元延伸前置碼3〇5中延 伸暫存器之位址。然而,熟悉此領域技術者將發現,用以指 定η位元延伸前置碼305中之暫存器延伸項的特定編碼形 式,係依本發明所要應用之特定微處理器架構與指令集而 定。因為遇到一所選取之逸出指令3〇4,即表示隨後有一 η 位元之延伸前置碼305,其大小可以最佳化方式決定,以配 合各種延伸暫存器的指定方式。 [0041]現請參閱圖五,其為解說本發明用以存取延伸暫 I_—_ _19 本紙張尺度適用中國國豕標準(CNS)A4規格(210 X 297公麓) 1222015 A7 —一 (案號第〇91116959號專利案之說明書及申利範圍修正本) 五、發明說明(Θ ) 1 — — — — — —-- I I (請先閱讀背面之注意事項再填寫本頁) 存器之管線化微處理器5〇〇的方塊圖。微處理器500具有三 個明顯的階段類型:提取、轉譯及執行。提取階段具有提取 邏輯501 ’可從指令快取記憶體5〇2或外部記憶體5〇2提取 指令。所提取之指令經由指令佇列503送至轉譯階段。轉譯 階段具有轉譯邏輯504,耦接至一微指令佇列506。轉譯邏 輯504包括延伸轉譯邏輯5〇5。執行階段則有執行邏輯5〇7, 其内具有延伸執行邏輯508。 [0042]依據本發明,於運作時,提取邏輯5〇1從指令快 取兄憶體/外部記憶體502提取格式化指令,並將這些指令依 其執行順序放入指令>[宁列503中。接著從指令仔列503提取 這些指令,送至轉譯邏輯504。轉譯邏輯5〇4將每一送入的 指令轉譯/解碼為一對應之微指令序列,以指示微處理器5〇〇 去執行這些}曰令所指定的運算。依本發明,延伸轉譯邏輯505 細那些具有延伸前置碼標記之指令,並提供作為對應之延 伸暫存器指定元前置碼轉譯/解碼之用。在一 χ86的實施例 中’延伸轉譯邏輯505組態為偵測其值為F1H之延伸前置碼 標記,其係X86之ICE BKPT運算碼。延伸微指令攔位則提 經濟部智慧財產局員工消費合作社印製 供於微指令仔列506中,以允許指定微處理器5〇〇内附加的 内部暫存器。 [〇〇43]微指令從微指令制5〇6被送至執行邏輯5〇7, 其中延伸執行邏輯5〇8被組態為依照延伸微指令攔位所指定 的,存取微處理器内部的暫存器。被指定要用於一特定運算 之執行的複數個來源運算元,則取自來源運算元延伸暫存 器。延伸執行邏輯5〇8執行微指令所指定之運算,並產生相 Μ氏張尺度iiiriii·標準(CNS)A4規格⑵〇 χ 2927〇公餐 1222015 A7 (案號第〇9丨116959號專利案之說明書及申亨斧利範圍修正本} 五、發明說明(r") 經濟部智慧財產局員工消費合作社印製 對應的結果。在對應結果產生後,延伸執行邏輯508將該對 應結果回寫至該延伸微指令欄位所指定之目的運算元延伸 暫存器中。 [0044] 熟習此領域技術者將發現,圖五所示之微處理器 500係現代之管線化微處理器50經過簡化的結果。事實上, 現代的管線化微處理器500最多可包含有20至30個不同的 管線階段。然而,這些階段可概括地歸類為方塊圖所示之三 個階段,因此,圖五之方塊圖500可用以點明前述本發明實 施例所需之必要元件。為了簡明起見,微處理器500中無關 的元件並未顯示出來。 [0045] 現請參閱圖六,其為本發明用於定址微處理器之 附加暫存器的延伸前置碼600之一具體實施例方塊圖。該延 伸暫存器指定元前置碼600係一 8位元之延伸前置碼6〇〇, 且包含一來源位址延伸項攔位601 (S3)、一目的位址延伸 項攔位602 (D3)以及一備用攔位603。依本發明,S3攔位 601包含前置碼600之位元〇 ,並由延伸暫存器邏輯使用, 作為一四位元之第一延伸來源暫存器位址的位元3。該四位 元之第一延伸來源暫存器位址的其餘三個位元[2:0]則由其 餘的運算碼與位址指定元項目604來指定,後者係依該既有 微處理器指令集架構之暫存器指定常規(register specificati〇n conventions)而提供。依本發明,D3攔位602包含前置碼 600之位元1,並由延伸暫存器邏輯使用,作為一四位元之 第一延伸來源暫存器位址的位元3。該四位元之第二延伸來 源暫存器位址的其餘三個位元[2:〇]則由其餘的運算碼與位 21 Μ氏張尺錢财目國家標準(CNS)A4 k格咖X 297公爱)(Please read the precautions on the back before filling this page)%. 1222015 (The specification of the patent case No. 091116959 and the amended scope of application) 5. V. Description of the invention Disadvantages still exist when microprocessors with specifications operate in enhanced mode, because the microprocessor cannot execute any applications that use the opcodes 40H-4FH. Therefore, from the standpoint of retaining the compatibility of the old software, the technology compatible with the old software / enhancement mode is still unacceptable. [0033] However, for the instruction set 200, where the opcode space has been fully occupied, and the space covers all applications that are executed on a microprocessor that conforms to the old specifications, the inventor of this case has noticed that the opcode 20 1, and they also observe that although some instructions 202 are specified architecturally, they are not used in applications that can be executed by a microprocessor. The IF1 202 described in Figure 2 is an example of this phenomenon. In fact, the same opcode value 202 (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 χ86 instruction 202, which instructs a architecturally specified operation to be performed on a χ86 microprocessor, it is not used on any modern χ86 microprocessor. Run an existing application. This special χ86 instruction 202 is called the In Circuit Emulation Breakpoint (ie, ICE ΒΚΡΤ, the opcode value is F1H). It was previously used exclusively for a microprocessor simulation device that no longer exists. in. ICE BKPT 202 has never been used in applications other than in-circuit simulators, and in-circuit analog devices that previously used ICEBKPT 202 no longer exist. Therefore, in the case of x86, the inventor of this case has found a tool in a completely occupied instruction set architecture 200, by using an effective but unused operation code 202, to allow advanced microprocessors to be incorporated into the design of the microprocessor. Without compromising the compatibility of legacy software. In a fully occupied instruction set architecture 20, the present invention utilizes a structured private paper scale that applies the Chinese National Standard (CNS) A4 specification (21〇X 297 Public Love I — — — — — — — — — — i I (Please read the precautions on the reverse side before filling out this page) Order-• ^ · Printed by the Intellectual Property Bureau of the Ministry of Economic Affairs's Consumer Cooperatives 15 1222015 A7 Yi No. 09111 (Patent Specification No. 5959 and a revised scope of Shenheng Shengli) 5. Description of the Invention (rT) Read the specified but unused operation code 002 as an index mark to indicate the next Π-bit preamble, so the microprocessor designer is allowed to add up to 2η The latest development architecture features are incorporated into the design of the microprocessor while retaining full compatibility with all the old software. [0034] The present invention provides an η-bit extended register designator element preamble 'to The use of the preamble marking / extended preamble concept allows programmers to specify additional general-purpose registers already provided in the microprocessor in addition to the general-purpose registers provided by the existing microprocessor instruction set architecture. use The present invention will now be discussed further with reference to FIGS. 3 to 9. [0035] Please refer to FIG. 3, which is a block diagram of the extended instruction format of the present invention, Deng Yue. Format 1 discussed by Lang Yi 〇It is very similar. The extended instruction format 300 has a variable number of instruction items 301.35. Each-item is set to a specific value, which is aggregated to form a specific instruction of the microprocessor. The specific instruction 300 indicates micro The processor executes a specific operation, such as adding two operations and one operation, or moving an operation heterogenous element from memory to a temporary register written by the microprocessor. Generally speaking, the operation code item 300 of instruction 300 specifies ^ So: the specific operation of Ding, and the selected address specifies 3 meta-items to specify the phase of the specific operation $ 马 = location, etc. The command format is 30. Also the same code 302 刖 plus the preamble item 3〇1 When the specific operation specified is performed, the pre-exhaustion item view is used to === use the existing architectural features. Ding Yi wants to use two. 36] However, 'the extended instructions of the present invention tear one of the formula 〇〇 Superset ㈣ ^ Paper size suitable " ^ National Standard 1222015 A7 (Case No. Specification of Patent No. 091116959 and amendments to the application scope) V. Invention Description (jin) 305 can be selectively used as an instruction extension item and placed before a formatted extension instruction 300 towel before all the remaining items 301-303. These two additional items 304 and 305 allow programmers to specify the address of an additional or extended general-purpose register in a microprocessor that conforms to the old specifications, in order to perform operations on its operands. The extended address cannot be programmed by the existing instruction set of the microprocessor that conforms to the old specifications. The options 304 and 305 are an extended instruction mark 304 and an extended register designator. Prefix 30.5. The extended instruction mark 304 is another operation code specified by the architecture in a microprocessor instruction set. In an x86 embodiment, the extended instruction flag 304, or escape flag 304, uses the opcode state F1H, which is the ice BKPT instruction used earlier. The escape mark 304 indicates to the microprocessor logic that the extended register designation element prefix 305, or extended feature designation element 305, follows, and the extended register designation element 305 designation follows. The extended address of the register in the microprocessor 'corresponds to the operation 70 / result that is required / generated for performing a specified operation. In a specific embodiment, the escape tag 304 indicates that the accompanying sections 301_303 and 305 of the corresponding instruction 300 specify the & operation required by the microprocessor. The extension register designation element 305, or extension preamble 305, specifies a plurality of address extensions corresponding to the extension registers required for the extension operation. The extended register logic in the microprocessor accesses the extended register when the extended operation is executed. [0037] The extension techniques used in the present invention are summarized here. As an extension, the command is to specify an additional operand register in an existing microprocessor instruction set. The additional operand register cannot be specified separately according to the existing microprocessor instruction set. The extended instruction contains the operation code of the existing instruction set / 17 297 mm) This paper standard Gu + Family Standard (CNS) A4 specification (21〇: (Case No. 091116959 patent specification and application for sharpness) One of the scope amendments), the invention description (I; /) instruction 304, and an n-bit extension feature preamble 3505. The selected operation code / instruction is used as an index 304 to indicate the instruction 3〇 〇 is an extended feature instruction 300 (that is, it specifies an extension of the microprocessor architecture), and the n-bit feature preamble 305 indicates the additional operand register. In another specific embodiment, The extension preamble 305 has an octet size and can specify up to 256 different values. It can be configured to specify a plurality of register address extensions corresponding to the extension registers required for a related extension operation. In the embodiment of the n-bit preamble, a maximum of 2n different address extensions can be specified. [0038] Please refer to FIG. 4. A table 400 shows how the register extensions are mapped according to the present invention. Bit logic state to an 8-bit extended preamble embodiment Similar to the operation code diagram 200 discussed in FIG. 2, the table 400 in FIG. 4 presents an example of the code diagram 400 before an 8-bit register designator, which extends an 8-bit register before The maximum 256 values of the coded item 305 are related to the corresponding register address extension item 40 (such as E34, E4D, etc.) of a microprocessor that conforms to the old specification. In a specific embodiment of χ86, The 8-bit extended feature preamble 3 of the present invention is provided to the aforementioned register designator 401 (ie, E00-EFF). These designators 401 are the current instruction set architecture. Failed to provide. [0039] The extended feature 401 shown in Figure 4 is expressed in a general way, rather than specifically referring to the actual feature. This is because the technology of the present invention can be applied to a variety of different architectural extensions. Xiang Xian and a specific instruction set architecture. Those skilled in the art will find that many different architectural features 401, some of which have been mentioned above, can be extended according to the escape mark 304 / extended here The preamble 305 technology incorporates it into the existing instruction set. The 8-bit preamble in Figure 4 implements 1222015 A7 (Case No. The specification of the patent case No. 09⑴6959 and the scope of the amendment are modified too. V. The invention description (J) provides 256 different features. The embodiment of an n-bit preamble has a maximum of 2 n different features. 401 [0040] Different embodiments can be configured according to a special existing microprocessor instruction set to address its existing registers. For example, an embodiment is extended before The code 305 provides a plurality of source register and destination register designating meta blocks, which can completely replace the existing register designating fields in the rest of the extension instruction 3⑻ 301-303. — An expansion block The embodiment includes a plurality of source register and destination register address extension stops, the contents of which can be used as the rest of extension instruction 300 in the 03- 03, the existing register designated stop The extension of the specified source / destination register address. In one form of this embodiment, the address extension term is used as a plurality of higher register address bits, and these bits correspond to the lower temporary registers in the remaining parts 301-303. Register address bits to specify the extended register. Another different embodiment does not use separate blocks to specify the operand register, but uses a specific encoding value of the η-bit extension preamble 305 to specify one of the operations to be applied The source / destination operand register corresponding to the group. According to the present invention, the address of the extension register in the n-bit extension preamble 305 can be encoded in a number of different ways. However, those skilled in the art will find that the specific encoding form used to specify the register extension of the n-bit extension preamble 305 depends on the specific microprocessor architecture and instruction set to which the present invention is applied. . When a selected escape instruction 304 is encountered, it means that there is an η-bit extended preamble 305, and its size can be determined in an optimized manner to match the designation of various extended registers. [0041] Please refer to FIG. 5, which illustrates the present invention for accessing the extension temporary I____19 This paper size is applicable to the Chinese National Standard (CNS) A4 specification (210 X 297 male feet) 1222015 A7 — one (case No. 091116959 patent case description and amendments to the scope of application of profits) V. Description of the invention (Θ) 1 — — — — — — — II (Please read the precautions on the back before filling this page) The pipeline of the register Block diagram of a microprocessor 500. The microprocessor 500 has three distinct types of stages: fetch, translate, and execute. The fetch stage has fetch logic 501 'which fetches instructions from the instruction cache memory 502 or external memory 502. The extracted instructions are sent to the translation stage via the instruction queue 503. The translation stage has translation logic 504, which is coupled to a micro-instruction queue 506. The translation logic 504 includes extended translation logic 505. The execution phase includes execution logic 507, which includes extended execution logic 508. [0042] According to the present invention, during operation, the extraction logic 501 extracts formatting instructions from the instruction cache memory / external memory 502, and places these instructions into the instruction in the order in which they are executed> [宁 列 503 in. These instructions are then extracted from the instruction queue 503 and sent to the translation logic 504. The translation logic 504 translates / decodes each incoming instruction into a corresponding microinstruction sequence to instruct the microprocessor 500 to perform the operations specified by these commands. According to the present invention, the extended translation logic 505 narrows down those instructions with extended preamble flags, and provides translation / decoding of meta-prefixes as corresponding extended registers. In an χ86 embodiment, the 'extended translation logic 505 is configured to detect an extended preamble flag whose value is F1H, which is an ICE BKPT operation code for X86. The extended microinstruction stoppage is provided by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs, which is printed in the microinstruction array 506 to allow the designation of an internal register attached to the microprocessor 500. [0043] The microinstruction is sent from the microinstruction system 506 to the execution logic 507, where the extended execution logic 508 is configured to access the inside of the microprocessor as specified by the extended microinstruction block. Register. The plurality of source operands designated for execution of a particular operation are taken from the source operand extension register. Extended execution logic 508 executes the operation specified by the micro instruction, and generates a phase scale of iii, iiiriii, standard (CNS) A4 specification, 〇χ 2927〇 public meal 1222015 A7 (Case No. 09/116959) Revision of the instruction manual and Shenheng's profit scope} V. Invention description (r ") The consumer's cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs prints the corresponding result. After the corresponding result is generated, extended execution logic 508 writes back the corresponding result to the extended micro [0044] Those skilled in the art will find that the microprocessor 500 shown in FIG. 5 is a simplified result of the modern pipelined microprocessor 50. Facts In the above, the modern pipelined microprocessor 500 can include a maximum of 20 to 30 different pipeline stages. However, these stages can be generally classified into three stages shown in the block diagram. Therefore, the block diagram 500 of FIG. It can be used to point out the necessary elements required for the foregoing embodiments of the present invention. For brevity, irrelevant elements in the microprocessor 500 are not shown. [0045] Please refer to FIG. A block diagram of a specific embodiment of an extended preamble 600 for an additional register of an addressing microprocessor. The extended register designated meta-prefix 600 is an 8-bit extended preamble 600, It includes a source address extension entry block 601 (S3), a destination address extension entry block 602 (D3), and a spare block 603. According to the present invention, the S3 block 601 includes a bit of the prefix 600. 〇, and is used by the extended register logic, as a four-bit first extended source register address bit 3. The remaining three bits of the four-bit first extended source register address Meta [2: 0] is specified by the remaining operation code and address designation meta-items 604, which are provided according to the register specific conventions of the existing microprocessor instruction set architecture. According to the present invention, the D3 block 602 includes bit 1 of the preamble 600 and is used by the extended register logic as bit 4 of the first extended source register address of a four bit. The four bits The remaining three bits of the second extended source register address [2: 〇] are determined by the remaining opcodes and bits 21 Μ Zhang feet money National Standard (CNS) A4 k grid coffee X 297 male love)

— 111 — — — — — — — — — — · I I (請先閱讀背面之注意事項再填寫本頁} · · 經濟部智慧財產局員工消費合作社印製 1222015 A7 (案號第Will6959號專利案之說明書及申嗜斧利範圍修正本) 五、發明說明() 址指定元項目605來指定,後者係依該既有微處理器指令集 架構之暫存器指定常規而提供。該第二延伸來源暫存器位址 亦被使用作為一所執行運算之結果的目的暫存器位址。 [0046] 圖六之本發明延伸前置碼6〇〇的範例反映出,一 個適用於x86指令集架構之暫存器延伸項實施例。現在的 x86架構提供了八個一般用途暫存器,其係依照一運算碼位 元組與位址指定元位元組(稱為χ86指令之M〇dR/M與Sffi 位元組)内的習知編碼格式,指定於既有之χ86指令中。藉 由使用如圖所示之延伸前置碼6〇〇的S3 6〇1與D3 602攔 位,一 χ86微處理器中之可定址暫存器數量可從八個增加到 十六個。熟習此領域技術者將發覺,在延伸前置碼中提供二 位元之來源與目的欄位6〇1、602,將使一既有架構下可定址 暫存器的數量增加至原來的四倍。 [0047] 現請參閱圖七,其為圖五之微處理器内轉譯階段 邏輯700之細部的方塊圖。轉譯階段邏輯700具有一指令緩 衝器704,其提供延伸指令至轉譯邏輯7〇5。轉譯邏輯7〇5 係耦接至一具有一延伸特徵攔位7〇3之機器特定暫存器 702。轉譯邏輯705具一轉譯控制器7〇6,其提供一除能訊號 707至一逸出指令偵測器7〇8及一延伸解碼器709。該逸出 指令偵測器708耦接至該延伸解碼器7〇9及一指令解碼器 710。延伸解碼邏輯7〇9與指令解碼邏輯71()存取一控制唯 讀記憶體(ROM) 711,其中儲存了對應至某些延伸指令之 樣板(template)微指令序列。轉譯邏輯7〇5亦包含一微指 令緩衝器712,其具有一微運算碼欄位714、一目的攔位 本紙張尺度_ + _家規格⑽x29/;£y (請先閱讀背面之注意事項再填寫本頁} 裝 Ίδτ· 1222015 濟 (案號第091116959號專利案之說明書及申献利修正本) 五、發明說明(vV) 715、一來源攔位716以及一位移攔位717。 [0048]運作上,在微處理器通電啟動期間,機器特定暫 存器702内之延伸攔位703的狀態係藉由訊號啟動狀態 (signalpower-up state) 701決定,以指出該特定微處理器是 否能轉譯與執行本發明之延伸指令,以定址該微處理器之附 加暫存器。在一具體實施例中,訊號7〇1係從一特徵控制暫 存器(圖上未顯示)導出,該特徵控制暫存器則讀取一於製 造時即已組態之熔絲陣列(fUSeaiTay)(未顯示)。機器特 定暫存器702將延伸特徵欄位703之狀態送至轉譯控制器 706。轉譯控制邏輯706則控制從指令緩衝器7〇4所提取之 指令,要依照延伸轉譯規則或習用轉譯規則進行解譯。提供 這樣的控制特徵,可允許監督應用程式(如BI〇s)致能/除 能微處理H之延伸執行舰。若延伸特徵鎌能,則具有被 選為延伸特徵標記之運算碼狀態的指令,將依習用轉譯規則 進打轉譯。在- x86的具體實施例中,選取運算碼狀態随 作為標記,則在習用的轉戦則下,遇到Fm將造成不合法 的指令異常(exception)。藉由將延伸轉譯除能,指令解碼 器谓將轉譯/解碼全部所提供之指令,並對微指令?12的所 有攔位7H-7n進行組態。然而,在延伸轉譯規則下,若遇 到標記,則會被逸出指令偵測器7〇8_出來。逸出指令偵 測器708因而允許指令解卿7〇9對該延伸指令之其餘部分 進行轉譯/解碼’並對微指令712之微運算碼棚位Μ與位移 攔位7Π加以組態,而延伸解則將解碼/轉譯該延伸 指令之延伸前置碼與其他可㈣部分,微指令712之 23 本紙張尺錢帛+ ®國家標準(CNS)A4規格(210 χ 2Θ7公餐7 --------^--------- (請先閱讀背面之注意事項再填寫本頁) 1222015 經濟部智慧財產局員工消費合作社印製 A7 (案號第091116959號專利#之綱書及_赞麵圍修正本〉 五、發明說明) 來源與目的攔位716、715。某些特定指令將導致對控制r〇m 711的存取,以獲取對應之微指令序列樣板。經過組態之微 才曰令712被送至一微指令仔列(未顯示於圖中),由處理器 進行後續執行。 α [0049] 現請參閱圖八,其為圖五之微處理器内延伸暫存 器階段邏輯800的方塊圖。該延伸暫存器階段邏輯800具一 暫存器邏輯802,其依本發明從一微指令緩衝器801或微指 令佇列801提取延伸微指令。暫存器邏輯8〇2具一包含既有 架構暫存器與附加暫存器之延伸暫存器檔案8〇3。在一 χ86 實施例中,暫存器R0-R7係八個既有之架構暫存器,而暫存 器R8-R15則為八個附加之暫存器。暫存器R〇-R15由延伸讀 取邏輯806讀取以獲得來源運算元,並由延伸回寫邏輯8〇7 寫入以儲存結果運算元。延伸讀取邏輯8〇6將來源運算元 OP卜OP2輸出至兩個運算元緩衝器8〇9、81〇。結果運算元 RSI、RS2則經由兩個結果緩衝器812、813送至延伸回寫邏 輯 807。 [0050] 運作上,延伸微指令係與一管線時脈(未顯示) 同步,從微指令佇列801送至暫存器邏輯8〇2。在一時脈週 期中,延伸讀取邏輯802解碼該延伸微指令之來源位址攔位 804、805,以判斷暫存器R〇-R15中,哪些暫存器存有一指 定運算所使用之來源運算元。來源運算元〇p卜〇p2則從中 被取出,並送至來源運算元暫存器8〇9、81〇。此外,該延伸 微指令經由管線送至緩衝器8〇8,以供微處理器之後續管線 階段(未顯示)使用。在同一時脈週期中,一最近所執行運 本紙張尺度適用中國國家標準(CNS)A4規格(210 297公釐) -----------裝---丨丨!丨訂--------- (請先閱讀背面之注意事項再填寫本頁) 1222015 —(案號第091116959號專利案之說明書及申&讎圍修正本) __ 五、發明說明(yf) --------------裝--- (請先閱讀背面之注意事項再填寫本頁) 算,結果RS卜RS2被回寫至由微指令緩衝㈣川中目的暫 存器攔位(未顯示)所指定的目的暫存器中。對應之結果運 算元RSI、RS2則被送至緩衝器812、813。 [0051] 圖八所示之暫存器階段邏輯8〇〇提供在單一時 脈週期内,一致地存取兩個來源暫存器與兩個結果暫存器之 能力。另一具體實施例則提供兩個來源運算元與單一之目的 運算元。為確保暫存器R〇-R15之一致性,延伸暫存器邏輯 802在執行結果RSI、RS2之回寫前,存取來源運算元〇ρι、 OP2 〇 [0052] 現請參閱圖九,其為描述本發明對定址微處理器 之延伸暫存器的指令進行轉譯與執行的方法之運作流程圖 900。流程開始於方塊902,其中一個組態有延伸暫存器定址 指令的程式,被送至微處理器。流程接著進行至方塊9〇4。 [0053] 於方塊904中,下一個指令係從快取記憶體/外 部記憶體提取。流程接著進行至方塊906。 經濟部智慧財產局員工消費合作社印製 [0054] 於方塊906中,依習用轉譯規則解碼/轉譯該下 個指令,其中該習用轉譯規則只應用於一既有指令集架構中 之既有架構暫存器。流程接著進行至方塊908。 [0055] 於方塊908中,運用該指令之運算碼與位址指定 元欄位,以決定對應於一指定運算之運算元的暫存器位址。 流程接著進行到方塊910。 [0056] 於方塊910中,一微指令序列被組態為指定該指 定運算及其對應運算元之暫存器位址。流程接著進行至判斷 方塊912。 25 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1222015 經濟部智慧財產局員工消費合作社印製 (案號第091116959號專利案之說明書及申利範圍修正本) 五、發明說明(〆) [0057] 於判斷方塊912中,對在方塊904中所提取的下 個指令進行檢查,以判斷是否包含一延伸逸出標記/碼。若 否’則流程進行至方塊918。若偵測到該延伸逸出碼,則流 程進行至方塊914。 [0058] 於方塊914中,由於在方塊912中已读測到一延 伸逸出標記,轉譯/解碼係在一延伸暫存器指定元前置碼上執 行,以決定對應至該指定運算之延伸暫存器位址。在一具體 實施例中,該延伸暫存器指定元前置碼提供了所有決定該延 伸暫存器位址所需之位址位元。流程接著進行至方塊916。 [0059] 於方塊916中,對方塊910中所組態之該微指令 序列的運算元位址攔位進行修改,以顯示方塊914中所決定 之延伸運算元暫存器位址。流程接著進行至方塊918。 [0060] 於方塊918中,該微指令序列被送至一微指令仔 列,由微處理器執行。流程接著進行至方塊920。 [0061] 於方塊920中,該微指令序列由本發明之延伸暫 存器邏輯進行提取。該延伸暫存器邏輯從指定的延伸暫存器 提取對應該指定運算之運算元。流程接著進行至方塊922。 [0062] 於方塊922中,延伸執行邏輯使用方塊920中所 提取的運算元,執行該指定運算,並產生結果運算元。流程 接著進行至方塊924。 [0063] 於方塊924中,該結果運算元被送至延伸暫存器 邏輯,並被回寫至該微指令序列所指定之延伸暫存器。流程 接著進行至方塊926。 [0064] 於方塊926中,本方法完成。 26 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 言· ·— 111 — — — — — — — — — — · II (Please read the notes on the back before filling out this page} (Instructions and amendments to the application range) 5. The invention description () The address designation meta-item 605 is specified, which is provided in accordance with the conventional register designation convention of the existing microprocessor instruction set architecture. The second extension source The register address is also used as the destination register address as a result of performing an operation. [0046] The example of the extended preamble 600 of the present invention shown in FIG. 6 reflects that one is applicable to the x86 instruction set architecture. An embodiment of the register extension. The current x86 architecture provides eight general-purpose registers, which are specified in accordance with an opcode byte and an address byte (referred to as the M86d / M and Sffi bytes) are specified in the existing χ86 instruction. By using the extended preamble 600 as shown in the figure, S3 601 and D3 602 blocks, one The number of addressable registers in the χ86 microprocessor can be Increased from eight to sixteen. Those skilled in the art will find that providing two-bit source and destination fields 601 and 602 in the extended preamble will enable addressable temporary storage under an existing architecture. [0047] Please refer to FIG. 7, which is a detailed block diagram of the translation stage logic 700 in the microprocessor of FIG. 5. The translation stage logic 700 has an instruction buffer 704, which Provide extended instructions to the translation logic 705. The translation logic 705 is coupled to a machine-specific register 702 with an extended feature stop 703. The translation logic 705 has a translation controller 706, which A disabling signal 707 is provided to an escape instruction detector 708 and an extension decoder 709. The escape instruction detector 708 is coupled to the extension decoder 709 and an instruction decoder 710. Extension The decoding logic 709 and the instruction decoding logic 71 () access a control read-only memory (ROM) 711, which stores a template micro-instruction sequence corresponding to some extended instructions. The translation logic 705 also contains A micro-instruction buffer 712 having a micro-op code field 714 Paper size for one purpose _ + _ home specifications 29 / x29 /; £ y (Please read the precautions on the back before filling out this page) Decoration δτ · 1222015 (the specification of the case No. 091116959 and the amended profit) V. Description of the invention (vV) 715, a source stop 716, and a displacement stop 717. [0048] Operationally, during the start-up of the microprocessor, the state of the extended stop 703 in the machine specific register 702 is It is determined by a signal power-up state 701 to indicate whether the specific microprocessor can translate and execute the extended instructions of the present invention to address the additional register of the microprocessor. In a specific embodiment, the signal 701 is derived from a feature control register (not shown in the figure). The feature control register reads a fuse array (fUSeaiTay) that has been configured at the time of manufacture. ) (Not shown). The machine-specific register 702 sends the status of the extended feature field 703 to the translation controller 706. The translation control logic 706 controls the instructions fetched from the instruction buffer 704 to be interpreted according to the extended translation rules or the conventional translation rules. The provision of such control features may allow supervisory applications (such as BI0s) to enable / disable the extended execution ship of the microprocessor H. If the extended feature is capable, the instruction with the state of the opcode selected as the extended feature tag will be translated according to the custom translation rules. In the specific embodiment of -x86, the opcode state is selected as the mark, and under the conventional transition rule, encountering Fm will cause an illegal instruction exception. By disabling extended translation, the instruction decoder is said to translate / decode all the provided instructions, and to the micro instruction? All the stops 7H-7n of 12 are configured. However, under the extended translation rule, if a mark is encountered, it will be output by the escape instruction detector 708_. The escape instruction detector 708 thus allows the instruction solution 709 to translate / decode the rest of the extended instruction 'and configure the micro-operation code booth M and the displacement stop 7Π of the micro instruction 712 to extend The solution will decode / translate the extended preamble of the extended instruction and other available parts, 23 micro-instructions 712 of this paper rule + ® National Standard (CNS) A4 specification (210 χ 2Θ7 public meal 7 ---- ---- ^ --------- (Please read the precautions on the back before filling out this page) 1222015 Printed by the Consumers' Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs A7 (Case No. 091116959 Patent # 之 纲) And _ Zannianwei Amendment> V. Description of the invention) Source and destination block 716, 715. Certain specific instructions will cause access to control ROM 711 to obtain the corresponding micro-instruction sequence template. After configuration The micro-command 712 is sent to a micro-instruction queue (not shown in the figure) for subsequent execution by the processor. [0049] Please refer to FIG. 8 for an extension of the microprocessor in FIG. Block diagram of register stage logic 800. The extended register stage logic 800 has a register logic 802 It extracts extended microinstructions from a microinstruction buffer 801 or a microinstruction queue 801 according to the present invention. The register logic 802 has an extended register file 8 including an existing structure register and an additional register. 〇3. In a χ86 embodiment, the registers R0-R7 are eight existing structure registers, and the registers R8-R15 are eight additional registers. Register R0- R15 is read by the extended read logic 806 to obtain the source operand, and written by the extended write back logic 807 to store the result operand. The extended read logic 806 outputs the source operand OP and OP2 to two Operand buffers 809 and 81. The result operands RSI and RS2 are sent to the extended write-back logic 807 through two result buffers 812 and 813. [0050] In operation, the extended microinstruction system and a pipeline clock (Not shown) Synchronization, from microinstruction queue 801 to register logic 802. In a clock cycle, extended read logic 802 decodes the source address blocks 804 and 805 of the extended microinstruction to determine Among the registers R0-R15, which registers store a source operand used for a specified operation. Yuan 0p and 0p2 are taken out of it and sent to the source operand temporary registers 809, 810. In addition, the extended microinstruction is sent to the buffer 808 through the pipeline for subsequent processing by the microprocessor. Used in the pipeline phase (not shown). In the same clock cycle, the paper size of a recently carried paper is in accordance with the Chinese National Standard (CNS) A4 specification (210 297 mm). --- 丨 丨! 丨 Order --------- (Please read the notes on the back before filling out this page) 1222015 — (Case No. 091116959 Patent Specification and Application & Amendment Revision ) __ 5. Description of the invention (yf) -------------- Install --- (Please read the notes on the back before filling this page) Calculate, the result RS and RS2 are written back to In the destination register specified by the micro-instruction buffer Aokawa Chuan destination register block (not shown). The corresponding result operators RSI and RS2 are sent to buffers 812 and 813. [0051] The register stage logic 800 shown in FIG. 8 provides the ability to consistently access two source registers and two result registers in a single clock cycle. Another embodiment provides two source operands and a single destination operand. In order to ensure the consistency of the registers R0-R15, the extended register logic 802 accesses the source operands 〇ρι, OP2 before writing back the execution results RSI and RS2. [0052] Please refer to FIG. In order to describe the operation flowchart 900 of the method for translating and executing instructions of the extended register of the addressing microprocessor of the present invention. Flow begins at block 902, where a program configured with an extended register addressing instruction is sent to a microprocessor. The flow then proceeds to block 904. [0053] In block 904, the next instruction is fetched from the cache memory / external memory. The flow then proceeds to block 906. Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs [0054] In block 906, the next instruction is decoded / translated according to a custom translation rule, wherein the custom translation rule is only applied to an existing structure in an existing instruction set structure. Memory. Flow then proceeds to block 908. [0055] In block 908, the operand and address designation meta fields of the instruction are used to determine the register address corresponding to the operand of a specified operation. The process then proceeds to block 910. [0056] In block 910, a microinstruction sequence is configured to specify a register address of the specified operation and its corresponding operand. The process then proceeds to decision block 912. 25 This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm) 1222015 Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs (Case No. 091116959 Patent Specification and Amendment to the Claims) V. [0057] In decision block 912, the next instruction extracted in block 904 is checked to determine whether it contains an extended escape tag / code. If not, the flow proceeds to block 918. If the extended escape code is detected, the process proceeds to block 914. [0058] In block 914, since an extended escape tag has been read and detected in block 912, the translation / decoding is performed on a meta-prefix specified by an extension register to determine the extension corresponding to the specified operation. Register address. In a specific embodiment, the extended register designation element preamble provides all the address bits required to determine the address of the extended register. Flow then proceeds to block 916. [0059] In block 916, modify the operand address block of the microinstruction sequence configured in block 910 to display the extended operand register address determined in block 914. Flow then proceeds to block 918. [0060] In block 918, the microinstruction sequence is sent to a microinstruction sequence for execution by a microprocessor. The process then proceeds to block 920. [0061] In block 920, the micro instruction sequence is fetched by the extended register logic of the present invention. The extended register logic extracts operands corresponding to the specified operation from the specified extended register. The flow then proceeds to block 922. [0062] In block 922, the extended execution logic uses the operand extracted in block 920, executes the specified operation, and generates a result operand. The flow then proceeds to block 924. [0063] In block 924, the result operand is sent to the extended register logic and written back to the extended register specified by the microinstruction sequence. Flow then proceeds to block 926. [0064] In block 926, the method is completed. 26 This paper size applies to China National Standard (CNS) A4 (210 X 297 mm) (Please read the precautions on the back before filling this page)

1222015 A7 (案號第091116959號專利案之說明書及申讀糾範圍修正1222015 A7 (Case No. 091116959)

發明說明( 經濟部智慧財產局員工消費合作社印製 [0065] 方法900之另一實施例,則於轉譯運算(方塊 906與914)前,即開始偵測該延伸逸出碼(判斷方塊912 ), 而微指令序列則在單一步驟中進行組態,而不需進行置換之 步驟916。 、 [0066] 雖然本發明及其目的、特徵與優點已詳細敘述, 其它實施例亦可包含在本發明之範圍内。例如,本發明已就 如下的技術加以敘述:利用已完全佔用之指令集架構内一單 -、未使用之運算離態作為標記,以指出其後之延伸特徵 前置碼。但本發明的範圍就任一方面來看,並不限於已完全 佔用之指令集架構,或未使用的指令,或是單—標記。相反 地’本發明涵蓋了未完全映射之指令集、具已使用運算碼之 實施例以及使用一個以上之指令標記的實施例。例如,考慮 -沒有未使用運算碼狀態之指令㈣構。本發明之_具體^ 施例包含了選取一作為逸出標記之運算碼狀態,其中選取標 準係依市場因素喊定。另—具體實施删包含個運算碼 之一特殊組合作為標記,如運算碼狀態7FH的連續出現。因 此,本發明之本質係在於使用一標記序列,其後則為一η位 元之延伸刖置碼’可允許程式員在—延伸指令中指定附力口之 運算元暫存器,其並無法另由-微處㈣指令集之既有指令 來提供。 7 [0067] 再者,雖然上文係利用微處理器為例來解說本發 明及其目的、特徵和優點,熟習此領域技術者仍可察覺,本 發明的範·稀於微處理H的架構,而可涵蓋所有形式之 可程式化裝置,如訊號處理器、工顏控制器〇咖咖 — I— I I I I I · I I (請先閱讀背面之注意事項再填寫本頁) 訂: ^·Description of the Invention (Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs [0065] Another embodiment of the method 900, before the translation operation (blocks 906 and 914), the extended escape code is detected (decision block 912) The micro-instruction sequence is configured in a single step without the need to replace step 916. [0066] Although the present invention and its objects, features, and advantages have been described in detail, other embodiments may also be included in the present invention For example, the present invention has been described in terms of the following technology: using a single-, unused operation off state in the instruction set architecture that has been fully occupied as a marker to indicate the extended feature preamble that follows. But The scope of the present invention is not limited in any aspect to the fully occupied instruction set architecture, or unused instructions, or single-label. On the contrary, the present invention covers incompletely mapped instruction sets, Examples of opcodes and examples using more than one instruction tag. For example, consider-there is no instruction construct that does not use an opcode state. _ Specifically ^ Example Package of the Invention Contains an opcode state that selects one as an escape mark, where the selection criteria are determined based on market factors. In addition, the specific implementation deletes a special combination of one opcode as a mark, such as the continuous appearance of opcode status 7FH. Therefore, The essence of the present invention is the use of a marker sequence, followed by an n-bit extended set code, which allows a programmer to specify an operand register with a power port in an extended instruction, which cannot be changed by another -Provided by the existing instructions of the micro processor instruction set. [0067] Furthermore, although the microprocessor is used as an example to explain the present invention and its objects, features, and advantages, those skilled in the art may still perceive it. The framework of the present invention is thinner than the micro-processing H, and it can cover all forms of programmable devices, such as signal processors and industrial controllers. カ カ — I— IIIII · II (Please read the note on the back first Please fill in this page for matters) Order: ^ ·

& 鮮(CNS)A4 規格⑽ x 29277 公 F 1222015 (案號第〇9丨1丨6959號專利案之說明書及申養斧利範圍修正本) 五、發明說明(1) controller)、陣列處理器及其他同類裝置。 總之’以上所述者,僅為本發明之較佳實施例而已,當 不能以之限定本發明所實施之範圍。大凡依本發明申請專利 範圍所作之均等變化與修飾,皆應仍屬於本發明專利涵蓋之 範圍内’謹請貴審查委員明鑑,並祈惠准,是所至禱。 ---_--------Μ裝—— (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 —— _ 28 本紙張尺度適用中國國家標準(CNS)A4規格(2w χ 297公餐)& Fresh (CNS) A4 Specification ⑽ x 29277 Male F 1222015 (Case No. 009 丨 1 丨 6959 Patent Specification and Amendment of the Scope of Application) V. Explanation of the Invention (1) Controller), Array Processing And other similar devices. In short, the above are only the preferred embodiments of the present invention, and it should not be used to limit the scope of the present invention. Any equal changes and modifications made in accordance with the scope of the patent application of the present invention should still fall within the scope of the patent of the present invention ', I would like to ask your reviewing committee to make a clear note and pray for your approval. ---_-------- M Pack—— (Please read the notes on the back before filling out this page) Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economy—— _ 28 This paper size applies to Chinese national standards (CNS) A4 size (2w x 297 meals)

Claims (1)

1222015 A8 B8 (案號第091116959號專利案之說明書及中請專:g|&圍修正本) 申請專利範圍 1· 一種用以存取一微處理器内之延伸暫存器的裝置,包含: 一轉譯邏輯,用以將一延伸指令轉譯成對應之微指令, 由該微處理器執行,其中該延伸指令包含: 一延伸前置碼,用以指定暫存器位址延伸項,該暫存 器位址延伸項指出該延伸暫存器,其中該延伸暫存 器並不能由一既有指令集加以指定;以及 一延伸前置碼標記,用以指出該延伸前置碼,其中該 延伸前置碼標記係原本該既有指令集内另一依據 架構所指定之運算碼;以及 一延伸暫存器邏輯,麵接至該轉譯邏輯,用以接收該對 應之微指令,並存取該延伸暫存器。 2·如申請專利範圍第1項所述之裝置,其中該延伸指令更 包含依據該既有指令集所具有之複數個指令項目。 3·如申請專利範圍第2項所述之裝置,其中該些指令項目 指定該微處理器所要執行之一運算,且其中對應該運算 之運算元係提取自/儲存至該延伸暫存器。 4·如申請專利範圍第3項所述之裝置,其中該些指令項目 更指定了複數個架構暫存器位址。 5·如申請專利範圍第4項所述之裝置,其中該轉譯邏輯使 用該些暫存器位址延伸項來決定該延伸暫存器。 6.如申請專利第4項所述之裝置,其中該轉譯邏輯將 該些暫存器位址延伸項與該些架構暫存器位址結合,以 決定該延伸暫存器。 本紙張尺度適用中國國家標準(CNS )入4祕(21〇χ297公嫠) ---r-----I, (請先閱讀背面之注意事項再填寫本頁〕 、一HT» 經濟部智慧財產局員工消費合作社印製 1222015 A8 B8 (案號第091116959號專利案之說明書及申請專圍修正本) 經濟部智慧財產局員工消費合作社印製 申請專利範圍 7. 如申請專利㈣第1項所述之裝置,其中該延伸前置碼 包含8個位元。 8. 如申請專利範圍帛i項所述之裝置,其中該延伸前置碼 包含: 一來源暫存器位址延伸項,用以指定一包含一第一來源 運算元之第一延伸暫存器;以及 一目的暫存器位址延伸項,耦接至該來源暫存器位址延 伸項,用以指定-包含-第二來源運算元之第二延伸 暫存器,並指定該第二延伸暫存器用於儲存一結果運 唆 一 异兀。9·如申請專利範圍第1項所述之裝置,其中該既有指令集 包含x86指令集。 〃 10·如申請專利範圍第9項所述之裝置,其中該延伸前置碼 標記包含x86指令集之運算碼F1 (ICEBKPT)。 11·如申請專利範圍第i項所述之裝置,其中該轉譯邏輯包 含: 一逸出指令偵測邏輯,用於偵測該延伸前置碼標記; 一指令解碼邏輯,依據該既有指令集,決定一所要執行 之運算及所用之架構暫存器;以及-延伸解碼邏輯,输至該逸出指令_邏輯與該指令 解碼邏輯,用以決定該延伸暫存器,並於該對應微^ 令内指定該延伸暫存器。 曰12.-麵充-既有織理n齡_提伽加之運算 存器的裝置,包含: &張尺I適财關家標準(CN;) A4· (21GxH赛)- (請先閱讀背面之注意事項再填寫本頁) -裝· 訂 (案號第 091116959 A8 B8 號專利案之朗纽巾請專魯歸正本) 、申請專利範圍 一 mt,ϊί為狀職—紅移之該附加運算 其延伸指令包含該既有微處理器指令 i其中—選取之運算碼η位元之延伸 刖置碼’該選取之運算碼指出該延伸指令,而該η位 疋之延=前置碼則指出該附加運算元暫存器,其中該 ,,元暫存器無法依該既有微處理器指;集另 行指定;以及 一轉澤器,_為接收該延伸齡’並產生—微指令序 列’以指示該微處理器於該指定運算執行時,存取該 附加運算元暫存器。 13. 如申請專利範圍第12項所述之裝置,其中該延伸指令更 包含: 其餘指令項目,組態為指定該指定運算,其中該指定運 算由該微處理器執行,且其中對應該指定運算之運算 元係提供自/至該附加運算元暫存器。 14. 如申請專利第13項所述之裝置,其中該η位元之前 置碼包含: 暫存器延伸項攔位,每一該攔位係組態為對於每一該附 加運算元暫存器之-位址,指定其較高的位址位元。 15·如申請專利範圍第14項所述之裝置,其中該位址較低的 位址位元係由該延伸指令内之該其餘指令項目所提供。 16·如申請專利範圍第12項所述之裝置,其中該11位元之延 伸前置碼包含8個位元。 17·如申請專利範圍第12項所述之裝置,其中該既有微處理 31 私紙張尺度適用中國國家標準(CNS ) Α4規格(210χ:297公釐) IIL-IΚ----^II (請先閱讀背面之注意事項再填寫本頁) 訂1222015 A8 B8 (Patent No. 091116959 Specification and Chinese Patent Application: g | & revised version) Patent Application Scope 1. A device for accessing an extended register in a microprocessor, including : A translation logic for translating an extended instruction into a corresponding micro-instruction and executed by the microprocessor, wherein the extended instruction includes: an extended preamble for specifying a register address extension item, the temporary The register address extension item indicates the extension register, wherein the extension register cannot be specified by an existing instruction set; and an extension preamble mark indicating the extension preamble, in which the extension The preamble mark is originally an operation code specified by another architecture in the existing instruction set; and an extended register logic is connected to the translation logic to receive the corresponding microinstruction and access the Extended register. 2. The device described in item 1 of the scope of patent application, wherein the extended instruction further includes a plurality of instruction items according to the existing instruction set. 3. The device according to item 2 of the scope of patent application, wherein the instruction items specify an operation to be performed by the microprocessor, and the operation element corresponding to the operation is extracted from / stored in the extended register. 4. The device described in item 3 of the scope of patent application, wherein the instruction items further specify a plurality of architecture register addresses. 5. The device according to item 4 of the scope of patent application, wherein the translation logic uses the register address extensions to determine the extended register. 6. The device according to item 4 of the patent application, wherein the translation logic combines the temporary register address extensions with the architectural register addresses to determine the extended register. This paper size applies Chinese National Standard (CNS) Entry 4 (21〇χ297 公 嫠) --- r ----- I, (Please read the precautions on the back before filling this page], HT »Ministry of Economy Printed by the Intellectual Property Bureau's Consumer Cooperatives 1222015 A8 B8 (Patent No. 091116959 Patent Specification and Application Amendment) Printed by the Consumers' Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs Scope of Patent Application 7. If applying for a patent ㈣ item 1 The device, wherein the extended preamble includes 8 bits. 8. The device described in item (i) of the scope of patent application, wherein the extended preamble includes: a source register address extension item, A first extended register including a first source operand is designated; and a destination register address extension is coupled to the source register address extension to specify-include-second The second extended register of the source operand, and specifies that the second extended register is used to store a result of a different operation. 9. The device described in item 1 of the scope of patent application, wherein the existing instruction set Contains the x86 instruction set. 〃 10 · If applied The device according to item 9 of the utility model, wherein the extended preamble mark includes the operation code F1 (ICEBKPT) of the x86 instruction set. 11. The device according to item i of the patent application scope, wherein the translation logic includes: a Escape instruction detection logic for detecting the extended preamble mark; an instruction decoding logic that determines an operation to be performed and an architectural register to be used according to the existing instruction set; and-extended decoding logic, Input to the escape instruction _ logic and the instruction decoding logic to determine the extended register, and specify the extended register in the corresponding micro-command. 12.- 面 charge-existing texture n Age_Tiga plus the arithmetic register device, including: & Zhang Ruler I Financial Standards (CN;) A4 · (21GxH Race)-(Please read the precautions on the back before filling this page)-Install · Order (Case No. 091116959 A8 B8 patent, please return to the original), the scope of the patent application is one mt, the status of the application is red-the additional operation of the redshift, the extended instructions include the existing microprocessor instructions iwhere—extended setting of the selected operation code η bits 'The selected operation code indicates the extended instruction, and the extension of the n-bit frame = the preamble indicates the additional operand register, wherein, the meta register cannot be pointed by the existing microprocessor; Sets are specified separately; and a translator, _ is to receive the extended age 'and generate a -microinstruction sequence' to instruct the microprocessor to access the additional operand register when the specified operation is performed. The device described in claim 12 of the patent application scope, wherein the extended instruction further includes: the remaining instruction items are configured to specify the specified operation, wherein the specified operation is executed by the microprocessor, and in which the operand corresponding to the specified operation is The additional operand register is provided from / to. 14. The device according to item 13 of the applied patent, wherein the pre-n-bit code includes: a register extension register, each of which is configured to temporarily store for each of the additional operands Address of the device, specifying its higher address bit. 15. The device according to item 14 of the scope of patent application, wherein the lower address bits are provided by the remaining instruction items in the extended instruction. 16. The device according to item 12 of the scope of patent application, wherein the 11-bit extended preamble includes 8 bits. 17. The device as described in item 12 of the scope of the patent application, wherein the existing microprocessing 31 private paper size is applicable to the Chinese National Standard (CNS) A4 specification (210χ: 297 mm) IIL-IKK ---- ^ II ( (Please read the notes on the back before filling out this page) 經濟部智慧財產局員工消費合作社印製 1222015 (案號第091116959號專利案之說明書及申請專#圍修正本) 申請專利範圍 器指令集係X86微處理器指令集。 18. 如申請專利範圍第17項所述之裝置,其中該選取之運算 碼包括x86微處理器指令集中之icebkPT運算碼(即運 算碼F1)。 19. 如申請專利範圍第13項所述之延伸裝置,其中該轉譯器 包含: ^ 一逸出指令偵測器,用以偵測該延伸指令内之該選取之 運算碼; 一指令解碼器,用以解碼該延伸指令之其餘部分,以決 定該指定運算;以及 一延伸前置碼解碼器,耦接至該逸出指令偵測器與該指 令解碼器,用以解碼該η位元之延伸前置碼,並於該 微指令序列内指定該附加運算元暫存器。 2〇·-種為-既有指令集增添延伸暫存器之定址能力的指令 集延伸裝置,包含: 一逸出標記,由一轉譯邏輯接收,並指出一對應指令之 ,隨部分係指定了-微處理H所要執行之—延伸運 真,其中該逸出標記係該既有指令集内之一第一運算 碼; -延伸暫存難定元,_至該軸標記,且為該瞒 部分其中之一,該延伸暫存器指定元指定了複數個對 應至延伸暫存器之位址延伸項,其中該延伸暫存器係 該延伸運算之所需;以及 一延伸暫存ϋ邏輯,触至該轉譯邏輯,用以於該指定 (請先閲讀背面之注意事項再填寫本頁) -裝- 訂 經濟部智慧財產局員工消費合作社印製 (案號第091116959號專利案之說明書及申請專g赛圍修正本) 六、申請專利範圍 運鼻執行時,存取該延伸暫存器,其中該既有指令集 僅提供定址既有暫存器的能力,且其中該延伸暫存器 指定元致能定址該延伸暫存器的能力。 21·如申請專利範圍第20項所述之指令集延伸裝置,其中該 附隨部分之其餘部分包含一第二運算碼與選用之複數個 位址指定元,用以指定該延伸運算與複數個位址,其中 5玄些位址延伸項與該些位址組合,以產生該延伸暫存器 之延伸位址。 22·如申請專利範圍第20項所述之指令集延伸裝置,其中該 延伸暫存器指定元包含8個位元。 23·如申請專利範圍第20項所述之指令集延伸裝置,其中該 既有指令集係x86指令集。 24·如申请專利範圍第23項所述之指令集延伸裝置,其中該 第一運算碼包含x86指令集中之ICE BKPT運算碼(即運 算碼F1)。 25·如申请專利範圍第20項所述之指令集延伸裝置,其中該 轉譯邏輯將該逸出標記與該附隨部分轉譯成對應的微指 令,該對應的微指令係指示該延伸暫存器邏輯於該延伸 運鼻執行時’去存取該延伸暫存器,以提取/儲存運算元。 26·如申請專利範圍第20項所述之指令集延伸裝置,其中該 轉譯邏輯包含: -逸出標記制邏輯,用以細該逸出標記,並指示該 附隨部分的轉譯動作需依據延伸轉譯常規 (conventions );以及 ____33 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇χ 297公釐)一--------- 丨 (請先閲讀背面之注意事項再填寫本頁) -裝· 訂 1222015 (案號第^案之說明書及申請專|8_修正本) 六、申請專利範圍 一解碼邏輯,減至魏㈣記伽邏輯,用以依據該 既有指令集之常規,執行指令的轉譯動作,並依據該 延伸轉譯常規執行該對應指令之轉譯,以致能定址該 延伸暫存器的能力。 27·—種擴充一既有指令集架構的方法,以提供一微處理器 内延伸暫存器之可程式化的定址能力,該方法包含·· 提供一延伸指令,該延伸指令包括一延伸標記及一延伸 前置碼,其中該延伸標記係該既有指令集架構中一第 一運算碼項目; 透過該延伸前置碼與該延伸指令之其餘部分,指定該延 伸暫存器,其中該延伸暫存器係於一指定運算執行時 被存取,且其中該既有指令集架構僅依據該指令集架 構提供可定址既有暫存器之指令;以及 於該指定運算執行時,存取該延伸暫存器。 28·如申請專利範圍第27項所述之方法,其中該指定延伸暫 存器的動作包含: 首先指定該指定運算,其中該首先指定之動作使用了該 既有指令集架構中一第二運算碼項目。 Λ 29·如申請專利範圍第27項所述之方法,其中該提供延伸指 令之動作包含使用一 8位元大小之項目,以對該延伸驴 置碼進行組態。 J 30·如申請專利範圍第27項所述之方法,其中該提供延伸指 令之動作包含從x86微處理器指令集架構選取該第 算碼項目。 (請先閱讀背面之注意事項再填寫本頁) 裝· 訂 經濟部智慧財產局員工消費合作社印製Printed by the Employees' Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 1222015 (Patent No. 091116959 Patent Specification and Application Revisions) Patent Application Scope The device instruction set is the X86 microprocessor instruction set. 18. The device described in item 17 of the scope of patent application, wherein the selected operation code includes the icebkPT operation code (ie, operation code F1) in the instruction set of the x86 microprocessor. 19. The extended device according to item 13 of the scope of patent application, wherein the translator includes: ^ an escape instruction detector for detecting the selected operation code in the extended instruction; an instruction decoder, Used to decode the rest of the extended instruction to determine the specified operation; and an extended preamble decoder coupled to the escape instruction detector and the instruction decoder to decode the n-bit extension Preamble, and specify the additional operand register in the microinstruction sequence. 2〇 ·-An instruction set extension device that adds the addressing capability of the existing register to the existing instruction set, including: an escape tag, which is received by a translation logic, and indicates a corresponding instruction, which is specified with the part -What micro-processing H is to perform—extended luck, where the escape mark is one of the first opcodes in the existing instruction set;-extended temporary hard-to-find elements, _ to the axis mark, and the hidden part For one, the extended register designator specifies a plurality of address extensions corresponding to the extended register, where the extended register is required for the extended operation; and an extended register logic, which To the translation logic, used for the designation (please read the precautions on the back before filling this page)-binding-order printed by the Consumers' Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs (Case No. 091116959 Patent Specification and Application g. Revised version of the game perimeter. 6. When the patent application scope is executed, the extended register is accessed. The existing instruction set only provides the ability to address the existing register, and the extended register specifies the element. Enable The site extends the capacity of the scratchpad. 21. The instruction set extension device described in item 20 of the scope of patent application, wherein the rest of the accompanying part includes a second operation code and a plurality of optional address designators for specifying the extension operation and the plurality Address, where the address extensions are combined with the addresses to generate the extended address of the extended register. 22. The instruction set extension device described in item 20 of the scope of patent application, wherein the extension register designation element includes 8 bits. 23. The instruction set extension device according to item 20 of the scope of patent application, wherein the existing instruction set is an x86 instruction set. 24. The instruction set extension device according to item 23 of the scope of patent application, wherein the first operation code includes the ICE BKPT operation code (ie, operation code F1) in the x86 instruction set. 25. The instruction set extension device according to item 20 of the patent application scope, wherein the translation logic translates the escape mark and the accompanying part into corresponding micro instructions, and the corresponding micro instructions instruct the extended register The logic 'accesses the extended register when the extended nose executes to retrieve / store operands. 26. The instruction set extension device as described in item 20 of the scope of patent application, wherein the translation logic includes:-escape mark system logic to refine the escape mark and instruct the accompanying part's translation action to be based on extension Translation conventions; and ____33 This paper size applies to Chinese National Standards (CNS) A4 specifications (21〇χ 297 mm) a --------- 丨 (Please read the notes on the back before filling (This page)-Binding and ordering 1222015 (Description and Application of Case No. ^ | 8_Amendment) VI. Patent Application Scope-Decoding logic reduced to Wei Jiji logic, based on the existing instruction set Conventionally, the translation action of the instruction is performed, and the translation of the corresponding instruction is performed according to the extended translation routine, so that the ability to address the extended register can be addressed. 27 · —A method of expanding an existing instruction set architecture to provide a programmable addressing capability of an extended register in a microprocessor, the method includes providing an extended instruction, the extended instruction includes an extended mark And an extended preamble, wherein the extended tag is a first opcode item in the existing instruction set architecture; the extended register is designated through the extended preamble and the rest of the extended instruction, wherein the extended register The register is accessed when a specified operation is executed, and the existing instruction set architecture only provides instructions that address the existing register according to the instruction set architecture; and when the specified operation is executed, the register is accessed. Extended register. 28. The method according to item 27 of the scope of patent application, wherein the actions of specifying the extended register include: first specifying the designated operation, wherein the first designated operation uses a second operation in the existing instruction set architecture Code item. Λ 29. The method as described in item 27 of the scope of patent application, wherein the action of providing an extension instruction includes using an 8-bit item to configure the extension donkey coding. J 30. The method as described in item 27 of the scope of patent application, wherein the action of providing an extended instruction includes selecting the code item from the x86 microprocessor instruction set architecture. (Please read the notes on the back before filling out this page) Binding and ordering Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 申料修正本)、申請專利範圍 31.==:°項所述之方法,其中該選取第-運 碼⑴作為=::ΐ取X86ICEBKPT運算碼(即運算 32·如申明專利範圍第27項所述之方法,更包含: 將該延伸指令轉譯成微指令,該微指令係指示一延伸執 灯邏輯去存取該延伸暫存器。 33. ^申請專利範圍第幻項所述之方法,其中該轉譯延伸指 令的動作包含: 於::譯邏輯内,偵測該延伸標記; 以及 Ά伸轉澤規則解碼該延伸前置碼與該其餘部分,以 確認該轉譯動作所需之該延伸暫存器。 (請先閱讀背面之注意事項再填寫本頁) • 1 - I I- I I - · 裝· 、11- 經濟部智慧財產局員工消費合作社印製Application amendments), the method described in 31. ==: ° of the patent application, where the -code is selected as = :: X86ICEBKPT operation code (that is, operation 32 · As stated in the patent scope 27 item The method further includes: translating the extended instruction into a micro instruction, the micro instruction instructs an extended lamp logic to access the extended register. 33. ^ The method described in the magic item of the scope of patent application, The action of the translation extension instruction includes: detecting the extension mark in the translation logic; and the extension translation rule decodes the extension preamble and the rest to confirm the extension temporarily required for the translation action. (Please read the precautions on the back before filling out this page) • 1-I I- II-· Equipment · 11-Printed by the Consumers ’Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs
TW91116959A 2002-05-09 2002-07-30 Mechanism for extending the number of registers in a microprocessor TWI222015B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/144,590 US7373483B2 (en) 2002-04-02 2002-05-09 Mechanism for extending the number of registers in a microprocessor

Publications (1)

Publication Number Publication Date
TWI222015B true TWI222015B (en) 2004-10-11

Family

ID=22509253

Family Applications (1)

Application Number Title Priority Date Filing Date
TW91116959A TWI222015B (en) 2002-05-09 2002-07-30 Mechanism for extending the number of registers in a microprocessor

Country Status (2)

Country Link
CN (1) CN1414464B (en)
TW (1) TWI222015B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286577B (en) 2020-10-30 2022-12-06 上海兆芯集成电路有限公司 Processor and operating method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009510A (en) * 1998-02-06 1999-12-28 Ip First Llc Method and apparatus for improved aligned/misaligned data load from cache
US6014736A (en) * 1998-03-26 2000-01-11 Ip First Llc Apparatus and method for improved floating point exchange
CN1242546A (en) * 1998-03-31 2000-01-26 英特尔公司 Method and apparatus for handling imprecise exceptions

Also Published As

Publication number Publication date
CN1414464A (en) 2003-04-30
CN1414464B (en) 2010-04-28

Similar Documents

Publication Publication Date Title
TW591527B (en) Apparatus and method for extending a microprocessor instruction set
US7529912B2 (en) Apparatus and method for instruction-level specification of floating point format
EP1351131B1 (en) Mechanism for extending the number of registers in a microprocessor
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
US7155598B2 (en) Apparatus and method for conditional instruction execution
US7395412B2 (en) Apparatus and method for extending data modes in a microprocessor
US7380109B2 (en) Apparatus and method for providing extended address modes in an existing instruction set for a microprocessor
EP1336918B1 (en) Apparatus and method for selective memory attribute control
EP1351135B1 (en) Microprocessor and method for selective control of condition code write back
TWI222015B (en) Mechanism for extending the number of registers in a microprocessor
TWI220042B (en) Non-temporal memory reference control mechanism
TWI245221B (en) Apparatus and method for selective memory attribute control
TW561406B (en) Apparatus and method for selective control of results write back
TWI230356B (en) Apparatus and method for extending address modes in a microprocessor
TWI224284B (en) Selective interrupt suppression
JPH0642198B2 (en) Data processing device
TW583583B (en) Apparatus and method for selective control of condition code write back
TWI223773B (en) Suppression of store checking
Duong Dynamic dual dynamic binary translation
JPH01217633A (en) Data processor

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent