TW200417926A - Selective interrupt suppression - Google Patents

Selective interrupt suppression Download PDF

Info

Publication number
TW200417926A
TW200417926A TW92123371A TW92123371A TW200417926A TW 200417926 A TW200417926 A TW 200417926A TW 92123371 A TW92123371 A TW 92123371A TW 92123371 A TW92123371 A TW 92123371A TW 200417926 A TW200417926 A TW 200417926A
Authority
TW
Taiwan
Prior art keywords
instruction
extended
item
scope
patent application
Prior art date
Application number
TW92123371A
Other languages
Chinese (zh)
Other versions
TWI224284B (en
Inventor
Glenn G 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/384,390 external-priority patent/US7546446B2/en
Application filed by Ip First Llc filed Critical Ip First Llc
Publication of TW200417926A publication Critical patent/TW200417926A/en
Application granted granted Critical
Publication of TWI224284B publication Critical patent/TWI224284B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode

Landscapes

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

Abstract

An apparatus and method are provided for extending a microprocessor instruction set to allow for selective suppression of interrupts at the instruction level. The apparatus includes translation logic and extended execution logic. The translation logic translates an extended instruction into corresponding micro instructions. The extended instruction has and extended prefix and an extended prefix tag. The extended prefix specifies that interrupt processing be suppressed until execution of the extended instruction is completed. The extended prefix tag is an otherwise architecturally specified opcode within an existing instruction set. The extended execution logic is coupled to the translation logic. The extended execution logic receives the corresponding micro instructions, and completes execution of the corresponding micro instructions prior to processing a pending interrupt.

Description

200417926 五、發明說明(1) 與相關申請案之對照 [0001]本申請案主張以下美國申請案之優先權:案 號10/384, 390,申請日為2003年3月10日。 ' [ 0 0 0 2 ]本申請案與下列同在申請中之美國專利申請 案有關,都具有相同的申請人與發明人。 台灣 申請案號 91116957 申請曰 7/30/02200417926 V. Description of the invention (1) Contrast with related applications [0001] This application claims the priority of the following US applications: Case No. 10/384, 390, the filing date is March 10, 2003. '[0 0 0 2] This application is related to the following U.S. patent applications which are also in the same application and all have the same applicant and inventor. Taiwan Application No. 91116957 Application No. 7/30/02

DOCKETNUMBER 專利名稱 CNTR:2176 延伸微處理器 指令集之裝置 及方法 91116958 7/30/02 CNTR:2186 執行條件指令 之裝置及方法 CNTR:2187 91124008 10/18/02 選擇性控制記 憶體屬性之裝 置及方法 91116956 7/30/02 CNTR:2188 選擇性地控制 條件碼回寫之 裝置及方法DOCKETNUMBER Patent name CNTR: 2176 Device and method for extending microprocessor instruction set 91116958 7/30/02 CNTR: 2186 Device and method for executing conditional instructions CNTR: 2187 91124008 10/18/02 Device and device for selectively controlling memory attributes and Device and method for selectively controlling condition code write-back 91911956 7/30/02 CNTR: 2188

第7頁 200417926 五、發明說明(2) 91116959 7/30/02 CNTR:2189 增加微處理器 之暫存器數量 的機制 91124005 10/18/02 CNTR:2190 延伸微處理器 資料模式之裝 置及方法 91124006 10/18/02 CNTR:2191 延伸微處理器 位址模式之裝 置及方法 92100942 1/17/03 CiNTR: 2192 儲存檢查之禁 止 91124007 10/18/02 CNTR:2195 非暫存記憶體 之參照控制機 制 91116672 7/26/02 CNTR:2198 選擇性地控制 結果回寫之裝 置及方法Page 7 200417926 V. Description of the invention (2) 91116959 7/30/02 CNTR: 2189 Mechanism for increasing the number of registers of the microprocessor 91124005 10/18/02 CNTR: 2190 Device and method for extending the data mode of the microprocessor 91124006 10/18/02 CNTR: 2191 Device and method for extending microprocessor address mode 92100942 1/17/03 CiNTR: 2192 Prohibition of storage inspection 91124007 10/18/02 CNTR: 2195 Reference control of non-temporary memory 91116672 7/26/02 CNTR: 2198 Device and method for selectively controlling result write-back

第8頁 200417926Page 8 200417926

【發明所屬之技術領域】 [ 0 0 0 3 ]本發明係有關微電子 於指令層次選擇性地抑制中斷的 尤指一種將可 指令集架構的技術。 、1、、'入一既有微處理器 【先前技術】 [ 0 0 04 ]自1 970年代初發勒以來 呈指數般成長。從最早應用於科學與'处态之使用即 已從那些特殊領域引進商業的消者:的:f ’到如今 =(—)電腦、視訊遊戲;及;= : 的家用與商用裝置等產品。 寸夕其他吊見 [0 0 0 5 ]隨著使用上的爆炸性 . 一知料_々坦曰 ^ ^ 來卜庄成長’在技術上也歷經 相對應之“、、特徵在於對下列項 要求:更快的速度、更強的定址 敌、争士沾,審v ^疋址月匕力、更快的記憶體存 運管抑、护::舌更夕種一般用途類型之運算(如浮點 運异、早一l令=重貨料(SIMD)、條件移動等)以及附 加的特殊用途運异(如數位訊號處理功能及其他多媒體運 % 算)。如此造就了該領域中‘驚人的技術進展,且都已作用 於微處理器之設計,像擴充管線化(extensive 〜 pipelining)、超純量架構(super_scaUr architecture )、快取結構、亂序處理(〇ut_〇f_〇rder processing )、爆發式存取(burst access )機制、分支 預測(branch predication)以及假想執行 200417926[Technical field to which the invention belongs] [0 0 0 3] The present invention relates to microelectronics, which selectively suppresses interrupts at the instruction level, and particularly relates to a technology that can construct an instruction set. , 1 ,, 'Into an existing microprocessor [Prior technology] [0 0 04] Since the early 1970s, it has grown exponentially. From the earliest applications to science and 'use of state', that is, consumers who have introduced business from those special fields:: f 'to today = (—) computers, video games; and; =: household and commercial devices and other products. Cang Xi's other comments [0 0 0 5] With the explosiveness in use. A knowledge _ 々 tan said ^ ^ Lai Bu Zhuang grows up technically also through the corresponding ", and is characterized by the following requirements: Faster speed, stronger location of enemies, warriors, review of the force, faster memory storage management, protection: more general-purpose types of operations (such as floating point Distortion, early order = SIMD, conditional movement, etc.) and additional special-purpose transportation (such as digital signal processing functions and other multimedia operations). This has created 'amazing technology in this field' Progress, and has been applied to the design of microprocessors, such as extended ~ pipelining, super_scaUr architecture, cache structure, out-of-order processing (〇ut_〇f_〇rder processing) , Burst access mechanism, branch predication, and hypothetical execution 200417926

五、發明說明(4) (speculative execution)。直言之,比起3〇年前剛出 現時,現在的微處理器呈現出驚人的複雜度,且具備了強 大的能力。 [0006]但與許多其他產品不同的是,有另一非常重 要的因素已限制了 ,並持續限制著微處理器架構之淨進。 現今微處理器會如此複雜,一大部分得歸因於這項因素, 即舊有軟體之相容性。在市場考量下,所多製造商選擇將 新的架構特徵納入最新的微處理器設計中,但同時在這此 最新的產品中,又保留了所有為確保相容於較舊的、即所 謂「舊有」(1 egacy )應用程式所必需之能力。 [0 0 0 7 ]這種舊有軟體相容性的負擔,沒有其他地 方,會比在x86-相容之微處理器的發展史中更加顯而易 見。大家都知道,現在的32/16位元之虛擬模式 (virtual - mode ) x86微處理器,仍可執行198〇年代所撰5. Description of the Invention (4) (speculative execution). To put it bluntly, today's microprocessors are more complex and powerful than they were just 30 years ago. [0006] But unlike many other products, there is another very important factor that has limited and continues to limit the net advancement of microprocessor architectures. Today's microprocessors can be so complex, a large part of which is due to the compatibility of legacy software. In consideration of the market, many manufacturers have chosen to incorporate new architectural features into the latest microprocessor designs, but at the same time, in this latest product, all of them have been retained to ensure compatibility with the older, so-called " Required for an "egacy" application. [0 0 0 7] This old software compatibility burden, nowhere else, will be more visible and visible than in the history of the development of x86-compatible microprocessors. Everyone knows that the current 32 / 16-bit virtual-mode x86 microprocessor can still be written in the 1980s.

寫之8位元真實模式(real i〇de )的應用程式。而熟習此 領域技術者也承認,有不少相關的架構「包被」堆在χ86 架構中’只是為了支援與舊有應用程式及運作模式的相容 性。雖然在過去,研發者可將新開發的架構特徵加入既有 的指令集架構,但如今使用這些特徵所憑藉之工具,即可 程式化的指令,卻變得相當稀少。更簡單地說,在某些重 要的指令集中,已沒有「多餘」的指令,讓設計者可藉以 將更新的特徵納入一既有的架構中。 [ 0008 ]例如,在x86指令集架構中,已經沒有任何— 未定義的一位元組大小的運算碼狀態,是尚未被使用的。Write 8-bit real mode application. And those skilled in this field also acknowledge that there are many related architectures “coated” stacked in the χ86 architecture ’just to support compatibility with legacy applications and operating models. Although in the past, developers could add newly developed architectural features to the existing instruction set architecture, but now the tools that can be used to use these features can be programmed into instructions, but it is quite rare. To put it simply, there are no “redundant” instructions in some important instruction sets, allowing designers to incorporate newer features into an existing architecture. [0008] For example, in the x86 instruction set architecture, there is no any—undefined one-tuple-size opcode state, which is not yet used.

第10頁 200417926 五、發明說明(5) =丄的二元組大小之x86運算碼圖中,全部256個運算 碼狀恶都已被既有的指令佔用 的設計者現在必須在提供新特徵斑;J J有x86微處一理器 者間作抉擇。若要接供新的可4二呆邊售有軟體相谷性兩 算碼狀態給這:、若既;特徵’則必須分派運 I碼狀離,目U : Ϊ七 指令集架構沒有多餘的運 ^馬狀怨,則某些既存的運算碼狀態必 供給新的特徵。因此,為了提忾 軟體的相容性了。 4扪特徵,洗侍犧牲售有 望納[ΓΓ] Λ現代的微處理器中’有些特徵是程式員希 ΐί此之前都因上述理由而無法實現。其中- 員特徵即疋私令層次之中斷抑制控制。 [0010] 在現在的微處理哭φ 器轉接到具有攸關時mtime :丄:處理 邱驻罢一机iLlcai)之介面要求的外 ^^ ^ ^ σ ,應用程式是在不受中斷的微處理琴上 執订。當-外部裝置’像是磁碟 :二 η服務時,外部裝置會直接或間接送二; :理,,以指出一個需要及時回應的事件已經:。 此,多數的微處理器包括用來中斷正常程式執 以服務這些外部裝置。在處理中斷之後、, 回歸到原本所執行程式被中斷的點。 ^工1一股會 [0011] 大部分的微處理器具有一或多個外在 就的接腳,可透過一稱為α 置,而_接到幾個外部=裝 到以下事實即已足夠:典型的中斷控制少;Page 10 200417926 V. Description of the invention (5) = x 丄 opcode map of tuple size, all 256 opcodes have been occupied by existing instructions. Designers must now provide new features. ; JJ has a choice between x86 microprocessors. If you want to receive the new software, you can sell the software with two phases of code. This is: If both; the feature ', you must assign a code I, the target U: There is no redundant instruction set structure. If this is the case, some existing opcode states must provide new features. Therefore, in order to improve the compatibility of the software. 4 扪 Features, hopefulness, sacrificing and selling [纳 Γ] Λ Some features of modern microprocessors are programmers who have not been able to achieve it for the reasons mentioned above. Among them-the characteristics of members is the interruption suppression control at the level of private order. [0010] At the present time, the micro processing device is transferred to the relevant time mtime: 处理: processing Qiu Zi strike a machine iLlcai) interface requirements ^ ^ ^ ^ σ, the application is in the uninterrupted micro Handle on the piano. When the "external device" is like a disk: 2 η service, the external device will send 2 directly or indirectly to the server; the reason is to point out that an event that needs a timely response has been:. Therefore, most microprocessors include interrupts to normal programs to service these external devices. After the processing is interrupted, it returns to the point where the program originally executed was interrupted. [0011] Most microprocessors have one or more external pins, which can be referred to as α, and _ connected to several externals = it is sufficient to install the following facts: Typical interrupt control is small;

1ΙΙΗ1ΙΙΗ

第11頁 200417926 五、發明說明(6) ---- 的中斷訊號接腳,將較多數量的外部褒置搞接至微處理 器,以此種方式來與主微處理器溝通。例# ’透過以兩個 中斷訊號接腳與一已知微處理器溝通的典型中斷控制器, 兩百個以上的外部裝置可發出中斷至此微處理$,且微處 理器對每一中斷皆能分辨並進行處理。Page 11 200417926 V. Description of the invention (6) ---- The interrupt signal pin connects a large number of external devices to the microprocessor, and communicates with the main microprocessor in this way. Example # 'Through a typical interrupt controller that communicates with a known microprocessor with two interrupt signal pins, more than two hundred external devices can issue interrupts to this microprocessor $, and the microprocessor can Identify and process.

[0012]中斷處理是件非常複雜的工作。當一中斷發 ^時,正在執行的應用程式必須在某一點上暫停執行,而 & 一點的執行狀態在中斷處理期間可儲存起來,以備後續 回復之用,也才能繼續執行程式。對於一正在執行的程 式其狀態通常反映於執行點或指令位址,在這一點上暫 ^執仃,且所有與此程式相關之通用暫存器與系統狀態暫 的值也停止更新。因此,當一中斷發生時,會讓程式 先完成正在執行的指令,然後暫停程式的運作,並將與程 =相關的通用暫存器與系統狀態暫存器的值,以及正在執 行之指令的下一個指令位址儲存起來。儲存了這些參數 後,微處理器中的程式控制通常就會分支到中斷處理程式 稱為異常處理程式(exception handler)),此程式一 =^作業系統程式的一部份。中斷處理程式啟動微處理器 的作業(通常是透過系統匯流排),來判斷哪個外部裝置 $此了中斷訊號接腳。一判斷出來,程式流程便轉移到特 疋=中斷服務應用程式,以執行”服務”該外部裝置所需之 f 。服務該外部裝置涉及到幾乎是任何類型的運算,像 = <裝置讀取或寫入資料,更新微處理器内部的特殊暫存 為’移動大量的資料自/至記憶體等。當中斷處理完成,[0012] Interrupt processing is a very complicated task. When an interrupt is issued, the running application must be suspended at a certain point, and the execution status of the & point can be stored during interrupt processing for subsequent recovery before the program can continue to execute. The status of a running program is usually reflected in the execution point or instruction address. At this point, execution is temporarily suspended, and all general registers and system status values associated with the program are also stopped from updating. Therefore, when an interruption occurs, the program will finish the running instruction first, then suspend the operation of the program, and set the value of the general register and the system state register related to the process = and the value of the running instruction. The next instruction address is stored. After these parameters are stored, the program control in the microprocessor usually branches to an interrupt handler (called an exception handler), which is a part of the operating system program. The interrupt handler starts the operation of the microprocessor (usually through the system bus) to determine which external device is the interrupt signal pin. As soon as it is determined, the program flow is shifted to the feature 中断 = interrupt service application to perform the f required to "service" the external device. Serving the external device involves almost any type of operation, such as = < the device reads or writes data, updates special temporary storage inside the microprocessor, and moves a large amount of data from / to memory. When interrupt processing is complete,

200417926 五、發明說明(7) 控制權便回歸至作業系統,以回復所儲存之被中斷應用裎 式的狀態,並將程式控制轉移至下個指令的位址。200417926 V. Description of the invention (7) The control right is returned to the operating system to restore the state of the stored interrupted application mode and transfer program control to the address of the next instruction.

[0013] 前面對於中斷處理的描述,是要讓讀者了解 到’在典型的管線化微處理器中,處理一典型中斷所需之 運算。熟悉此領域技術的人將能了解到,個別微處理器架 構的不同處在於,所提供之中斷訊號接腳的數目、中斷訊 號的致能方式、裝置如何傳遞中斷、中斷的層級、被中斷 應用程式之”狀態π的保存及回復方式、中斷發生後於哪一 點暫停應用程式以及各個微處理器架構所提供之中斷處理 程式的特殊運作細節。 [0014] 由於中斷的處理是如此複雜,現在的微處理 器皆提供可使中斷處理限制於作業系統層級的機制。例[0013] The foregoing description of interrupt processing is to let the reader understand that in a typical pipelined microprocessor, the operations required to process a typical interrupt. Those familiar with the technology in this field will understand that the differences between individual microprocessor architectures are the number of interrupt signal pins provided, the way in which interrupt signals are enabled, how the device transmits interrupts, the level of interrupts, and the applications being interrupted. The method of saving and restoring the state of the program, the point at which the application is suspended after an interruption occurs, and the special operation details of the interruption handler provided by each microprocessor architecture. [0014] Because interruption processing is so complicated, the current Microprocessors provide mechanisms that limit interrupt processing to the operating system level.

如,許多微處理器具有一可程式化的暫存器,允許忽略所 產^的中斷。在χ86相容的微處理器中,這個可程式化暫 存态:採用的形式是,在χ86相容的微處理器内之Χ86旗標 暫存器=中斷致能旗標位元。當此位元被設為真,就處理 :斷。當此位元未被設為真,就忽略中斷。這個層級的可 程$化控制使程式員確保特定運算(亦即特定指令序列)能 不=中斷而完成。例如,當一特定中斷發生,作業系統内 ^上處理程式在此特定中斷被處理時,㉟常會除能中斷 理=々過旗標位元)。在此特定中斷處理完畢後,中斷處 ^ έ °又疋中斷致能位元,而允許任何待處理的中斷接 里。,避免非作業系統的程式除能與致能中斷處 ^处理器架構也提供一種機制,以防止應用程式執行For example, many microprocessors have a programmable register that allows the interrupts generated to be ignored. In a χ86-compatible microprocessor, this programmable temporary storage state: The form used is the X86 flag in the χ86-compatible microprocessor. Register = interrupt enable flag bit. When this bit is set to true, then: break is processed. When this bit is not set to true, the interrupt is ignored. Programmable control at this level allows the programmer to ensure that certain operations (ie, specific instruction sequences) can be completed without interruption. For example, when a specific interrupt occurs and the handler in the operating system is processed in this specific interrupt, the interrupt handler is usually disabled (= flags are not passed). After the processing of this particular interrupt is completed, the interruption location is again enabled, and any pending interrupts are allowed to be accessed. To avoid disabling and enabling interruption of non-operating system programs ^ The processor architecture also provides a mechanism to prevent application programs from running

第13頁 200417926 五、發明說明(8) ______________ 會影響中斷是否被致能或除能的指令。χ86相容 器允許程式員指定四種特權層级(priviUge $處理 一種,給所有在微處理器上執行的程式。作 e中的 予取咼特權層級,而應用程式則被賦予最低特^屏通常賦 在取低特權層級執行的應用程式企圖執行除能中二、、及。若 令,x86處理器即偵測到此一事件,且避免執行這的指 令。其他微處理器架構則採用不同的機制, 9 控制權僅賦予負責這部分工作的程式。此處只兩二理的 在現代的微處理器中,由於中斷處理的複雜性而%到, 用程式員來決定其程式是否及何時需暫停'以 理。 & 1丁甲斷處 [0015]但是,有不少應用程式所執行的運算,+ 不受中斷地執行一個以上的程式指令。例如, /要。 與其他裝置共享記憶體的系統組態中,對於一項從^= 位置讀取某值、修改此值並將修改後的值寫回記憶體:: 的多指令工作,若在從記憶體讀取此值之後且將此值寫回 記憶體之前,被中斷執行,則可以想見此多指令工作會執 行失敗。此種運算稱為讀取-修改—寫入運算。讀取—修改一 寫入運算必須”連續地”執行,亦即不受中斷,以確保程式 能適當地執行。有些微處理器架構本身即提供有限的指二 令,來完成一般的連續運算。在x86指令集中,提供了比 較與交換指令(CMPXCHG),允許程式員指示微處理器連續 地比較第一運算元(從一記憶體位置所讀取)與一暫存器運 异元,且依據比較結果,將第一運算元或暫存器運算元寫Page 13 200417926 V. Description of the invention (8) ______________ Instructions that will affect whether the interrupt is enabled or disabled. The χ86 phase container allows programmers to specify four privilege levels (priviUge $ handles one to all programs running on the microprocessor. It is pre-fetched in e, and the application is given the lowest special screen. An application that is executed at a lower privilege level is attempting to perform the disabling two, and. If it is ordered, the x86 processor will detect this event and avoid executing this instruction. Other microprocessor architectures use different Mechanism, 9 control is only given to the program responsible for this part of the work. Here only two or two reasons in modern microprocessors, due to the complexity of interrupt processing, the use of programmers to determine whether and when their programs need Pause 'reason. &Amp; 1 Dingjia break [0015] However, there are a lot of calculations performed by applications, + more than one program instruction is executed without interruption. For example, / Yes. Share memory with other devices In the system configuration, for an item that reads a value from the ^ = position, modifies this value, and writes the modified value back to memory:: This value Before being returned to the memory, the execution was interrupted. It can be imagined that this multi-instruction job will fail. This operation is called read-modify-write operation. Read-modify-write operation must be performed "continuously" That is, it is not interrupted to ensure that the program can be executed properly. Some microprocessor architectures provide limited instructions to complete general continuous operations. In the x86 instruction set, a compare and exchange instruction (CMPXCHG) is provided. Allows the programmer to instruct the microprocessor to continuously compare the first operand (read from a memory location) with a register operand, and write the first operand or register operand according to the comparison result

第14頁 200417926 五、發明說明(9) 回至該記憶體位置。另一連續指令XADD,則讓程式員能指 示微處理器從一記憶體位置讀取第一運算元,並交換第一 運算元與一暫存器運算元的内含值,在將兩運算元的和寫 回該記憶體位置。 … [0 0 1 6 ]因此,在特定的微處理器指令集中,連續指 令提供了應用程式所需的一些更一般的連續運算。然而, 現在仍有其他許多在應用程式層級所執行的運算,會因出 現中斷而執行失敗,此因這些運算需要不中斷地執行—連 串運算或指令,但應用程式員卻無法確保在這一連串運曾 或4曰令執行期間,不會產生中斷。應用程式員更受限於^ 述之特定’f連續’’指令,而這些指令可能無法有效地執^別 要的連續運算,因為這些連續指令僅用於執行更A 了所 連續運算。 丁文為—般的 [0017]因此,我們所需要的是,一種可將抑制中 的特徵納入一既有微處理器指令集架構的裝置及方去斷 中該指令集架構係被已定義之運算碼完全佔用,且^ ’其 中斷抑制特徵能讓一符合舊有規格之微處理器保留=^, 有應用程式的能力,同時對於任何已知的指令序 行舊 供應用程式員及/或編譯器控制是否執行中斷處理 <還提 【發明内容】 [0 0 1 8 ]本發明如同前述其他申請案,係 其他習知技術之問題與缺點加以克服。本發 、上述及 敌供一種更Page 14 200417926 V. Description of the invention (9) Return to the memory location. Another continuous instruction, XADD, allows the programmer to instruct the microprocessor to read the first operand from a memory location and exchange the embedded values of the first operand and a register operand. And write back to that memory location. … [0 0 1 6] Therefore, in a particular microprocessor instruction set, continuous instructions provide some of the more general continuous operations required by applications. However, there are still many other operations performed at the application level that fail due to interruptions. These operations need to be performed without interruption-a series of operations or instructions, but the application programmer cannot ensure that in this series There will be no interruption during the execution of Yun Zeng or 4th Command. The application programmer is more limited by the specific 'f-continuous' instructions described above, and these instructions may not be able to perform other continuous operations effectively, because these continuous instructions are only used to perform more continuous operations. Ding Wen-like [0017] Therefore, what we need is a device and method that can incorporate the features in suppression into an existing microprocessor instruction set architecture. The instruction set architecture is already defined. The opcode is completely occupied, and its interrupt suppression feature allows a microprocessor that meets the old specifications to be retained = ^, with the ability to apply programs, and at the same time provide any known instruction sequence to the old programmer and / or The compiler controls whether to perform interrupt processing. [Summary of the Invention] [0 0 1 8] The present invention, like the other applications mentioned above, overcomes the problems and disadvantages of other conventional technologies. The hair, the above, and the enemy's confession

第15頁 200417926 五、發明說明(ίο) 好的技術,用以擴充微處理為之指令集,使其超越現有的 能力,提供指令層級之中斷抑制特徵。在一具體實施例、 中,提供了一種可在微處理器内進行指令層級之中斷抑制 控制的裝置。該裝置包括一轉譯邏輯(translation ' 1 〇g i c )與一延伸執行邏輯。該轉譯邏輯將一延伸指令轉 譯成對應的微指令(micro instruction)。該延伸指令 具一延伸前置碼(extended prefix)與一延伸前置碼標 記(extended prefix tag )。該延伸前置碼指定中斷處 理要暫停至該延伸指令執行完畢。該延伸前置碼標記則係 一既有指令集内原本依據架構指定之運算碼。該延伸執行 邏輯耗接至轉譯邏輯,接收該對應的微指令,並在處理一 待處理中斷前,完成該對應微指令的執行。 八[0019]本發明的一個目的,係提出一種擴充既有指 令集’以選擇性地抑制中斷的微處理器機制。該微處理器 2制具有一延伸指令與一轉譯器(translator)。該延伸 二令係指定與中斷相關之中斷處理要被抑制,直至該延伸 旨令,行完畢。該延伸指令包含該既有指令集其中一選取 异碼,其後則接著一 n位元之延伸前置碼。該選取之 要:2 i f ΐ延伸指令,而該n位元之延伸前置碼貝,]指定 / 处理。該轉譯器接收該延伸指令,並產生一微 ^ ^ ^ Λ才曰不微處理器抑制處理中斷,直至該微指令 序列執行完畢。 且玉/ [0020]本發明的另一目的,在於 々集增添中斷抑制特徵的模組。該模組包括一種逸為出標記Page 15 200417926 V. Description of Invention (ίο) Good technology is used to expand the instruction set of micro-processing, beyond the existing capabilities, and to provide interrupt suppression features at the instruction level. In a specific embodiment, a device capable of performing instruction level interrupt suppression control in a microprocessor is provided. The device includes a translation logic (translation '10 g i c) and an extended execution logic. The translation logic translates an extended instruction into a corresponding micro instruction. The extended instruction has an extended prefix and an extended prefix tag. The extended preamble specifies that the interrupt processing is to be suspended until the execution of the extended instruction is completed. The extended preamble mark is an operation code originally specified by the architecture in the existing instruction set. The extended execution logic consumes translation logic, receives the corresponding microinstruction, and completes the execution of the corresponding microinstruction before processing a pending interrupt. [0019] An object of the present invention is to provide a microprocessor mechanism for expanding an existing instruction set 'to selectively suppress interrupts. The microprocessor 2 has an extended instruction and a translator. The second extension order specifies that interruption-related interruption processing should be suppressed until the extension order is completed. The extended instruction includes one of the selected alien codes of the existing instruction set, followed by an n-bit extended preamble. The selection should be: 2 i f ΐ extended instruction, and the n-bit extended preamble,] designation / processing. The translator receives the extended instruction and generates a micro ^ ^ ^ Λ before the microprocessor inhibits processing interruption until the micro instruction sequence is completed. And Yu / [0020] Another object of the present invention is to collect modules that add interrupt suppression features. The module includes an escape-out tag

第16頁 200417926 五、發明說明(11) (escape tag )、一中斷抑制指定元(interr^t suppression Specifler)、一轉譯邏輯及一延伸執 輯。一該逸土標記指出一對應指令之附隨部分係指定了所 執行之運算,其中該逸出標記為該既有指令集内之一 運算碼。該中斷抑制指定元輕接至該逸出標記,且為 Ik部分其中之-’其指定要抑制中斷處理,直至該運=勃 行完畢。該轉譯邏輯接收該逸出標記與該中斷抑制指= 7L,且產生一微指令序列,以指示微處理器執行該運管 該轉譯邏輯並指示要抑制中斷處理,直至該運算完: 延伸執行邏輯耦接至該轉譯邏輯,接收該微指令序列,= 在處理一待處理中斷前,完成該運算的執行。 [ 0 02 1 ]本發明的再一目的,在於提供一種擴充既有 指令集架構的方法,以於指令層級抑制中斷處理。該 包2提供-延伸指♦,該延伸指令包含一延伸標記‘一延 伸刖2碼,其中該延伸標記係該既有指令集架構其中一 一運异碼項目;透過該延伸前置碼指定於該延伸指 時丄抑制:斷處理,其中該延伸指令之其餘部分指定= 執灯之運异,以及於該延伸指令執行時,抑制一 斷。 τ 【實施方式】 [ 0 032 ]以下的說明,係在一特定實施例及其必要 Π脈而ί供,可使1熟習此項技術者能夠利用本 " …、、而,各種對該較佳實施例所作的修改,對孰f此 項技術者而言乃係顯而易見,並且’在此所討論的:=Page 16 200417926 V. Description of the invention (11) (escape tag), an interrupt suppression specifler (interr ^ t suppression Specifler), a translation logic and an extended editor. A escaping flag indicates that the accompanying part of a corresponding instruction specifies the operation to be performed, wherein the escaping flag is an operation code in the existing instruction set. The interruption suppression designation element is lightly connected to the escape flag, and is-'of the Ik part, and it specifies that interruption processing is to be suppressed until the operation is completed. The translation logic receives the escape flag and the interrupt suppression finger = 7L, and generates a micro-instruction sequence to instruct the microprocessor to execute the operation of the translation logic and instructs to suppress interrupt processing until the operation is completed: extended execution logic Coupling to the translation logic, receiving the microinstruction sequence, = completing the execution of the operation before processing a pending interrupt. [0 02 1] Another object of the present invention is to provide a method for expanding an existing instruction set architecture to suppress interrupt processing at the instruction level. The package 2 provides-extension finger ♦, the extension instruction includes an extension mark 'an extension code 2 code, where the extension mark is one of the different code items of the existing instruction set architecture; specified by the extension prefix The extension refers to time-suppression: break processing, in which the rest of the extension instruction is designated = the difference in the light, and when the extension instruction is executed, a break is suppressed. τ [Embodiment] [0 032] The following description is based on a specific embodiment and its necessary information, so that those skilled in the art can use this " ... Modifications to the preferred embodiment will be apparent to those skilled in the art, and 'discussed here: =

第17頁 200417926 五、發明說明(12) 3显亦:應用至其他實施例。因此,本發明並不限於此處 :f敘述之!?定實施例,而是具有與此處所揭露之原 理與新穎特徵相符之最大範圍。 [〇〇33]前文已針對今曰之微處理器内,如何擴充其 =構^徵,以超越相關指令集能力之技術,作了背景的討 ;。於二匕:在圖—與圖二’將討論-相關技術的例 i此處的纣袖強調了微處理器設計者所一直面對之指令 即一方面’他們想將最新開發之架構特徵納入 中,但另一方面,他們又要保留執行舊有 V s. 1¾ ^ 。在圖一至二的例子中,一完全佔用之運 :碼圖,已把增加新運算碼至該範例架構的可能性排除, 設計”不就選擇將新特徵納入,而犧牲某種程 二售軟體相^生’要不就將架構上的最新進展一併放 f ’以便維持微處理器與舊有應用程式之相容性。在相關 ,術的討論後,於圖三至九,將提供對本發明之討論。藉 利用一既有但未使用之運算碼作為一延伸指令之前置碼 :α己,本發明可讓微處理器設計者克服已完全使用之指令 ,j,的限制,除了使應用程式員能指示微處理器去抑制 单私令或指令群的中斷處理,同時也能保留執行舊有應 用程式所需之所有特徵。 人[0034 ]請參閱圖一,其係一相關技術之微處理器指 7格式1 0 0的方塊圖。該相關技術之指令丨0 0具有數量可變 之資料項目1 (H -1 〇 3,每一項目皆設定成一特定值,合在 起便組成微處理器之一特定指令丨〇 〇。該特定指令丨〇 〇指Page 17 200417926 V. Description of the invention (12) 3 Xianyi: Application to other embodiments. Therefore, the present invention is not limited to the specific embodiments described here: f, but has the maximum scope consistent with the principles and novel features disclosed herein. [0030] The previous article has discussed the background of the technology in the microprocessor today, how to expand its structure to exceed the relevant instruction set capabilities; Yu Erjian: In Figure-and Figure 2 'will discuss-examples of related technologies i here the sleeves emphasize the instructions that microprocessor designers have been facing, that is, on the one hand' they want to incorporate the latest developed architectural features , But on the other hand, they want to keep the old V s. 1¾ ^. In the example of Figures 1-2, a completely occupied operation: the code map has excluded the possibility of adding new opcodes to the example architecture. The design "does not choose to incorporate new features, but sacrifices some process to sell software Let ’s combine the latest developments in architecture together to maintain the compatibility of the microprocessor with the legacy applications. After discussion of the related techniques, we will provide the Discussion of the invention. By using an existing but unused operation code as an extension instruction before the code: α, this invention allows the microprocessor designer to overcome the limitation of the instruction, j, which has been fully used, in addition to using The application programmer can instruct the microprocessor to suppress the interrupt processing of a single private order or instruction group, and at the same time can retain all the features required to execute the legacy application. Person [0034] Please refer to Figure 1, which is a related technology The microprocessor refers to a block diagram of 7 format 1 0 0. The instructions of the related technology 丨 0 0 has a variable number of data items 1 (H -1 0 3, each item is set to a specific value, and it is composed at the beginning. Microprocessor specific instruction Billion billion. This particular instruction means Shu billion billion

第18頁 200417926 五、發明說明(13) 示微處理器執行-特定運算,例如將兩 是將一運算元從記憶體搬移至一内 4加,或者 暫存器搬移至記憶體。一般而言,指2 ’或從該内部 目1 02指定了所要執行之特定運算,内之運异碼項 之位址指定元項目103位於運曾^1〇2 ^ (optional ) 特定運算之附加資訊,像是二算以 何處等等。才曰令格式100並允許程式員在 ^ 、 上前置碼項目101。在運算碼1〇2 連^馬102别加 時,前置碼1 0 1用以指示是否使M ,疋運算執行 ^ L★ 便用特疋的架構特徵。一船 來說,這些架構特徵能應用於指令集中任 指定運算的大部分。例如,現今前置碼丨01存運在;,: 使,不同大小運算元(如8位元、16位元、32位元)執= 運异的微處理态中。而當許多此類處理器被程式化一 設的運算元大小時(比如32位元),在其個別 华 提供之前置碼1(H,仍能使程式員依據各個指令,選H生所 地取代(override)該預設的運算元大小(如為了產生 位元之運算元)。可選擇之運算元大小僅是架構特徵之一 例’在許多現代的微處理器中,這些架構特徵能應用於 多可由運算碼102刀u以指定的運算(如加、減、乘' 布^人 邏輯等)。 林 [ 0 035 ]圖一所示之指令格式丨00,有一為業界所熟知 的範例,此即x86指令格式1〇〇,其為所有現代之χ86^目 微處理器所採用。更具體地說,X 8 6指令格式1 〇 q (也了 x86指令集架構100 )使用了 8位元前置碼1〇1、8位元運曾$Page 18 200417926 V. Description of the invention (13) shows that the microprocessor performs specific operations, such as moving two operands from memory to an internal 4 plus, or moving registers to memory. Generally speaking, it refers to 2 'or the specific operation to be performed specified from the internal project 102. The address designation meta-item 103 of the transport code item is located in the operation ^ 1〇2 ^ (optional) in addition to the specific operation. Information, such as where the second counts and so on. The command format is 100 and the programmer is allowed to prefix the item with ^ and 101. When the operation code 102 and the horse 102 are not added, the preamble 1 101 is used to indicate whether M is to be executed, and the operation ^ L ★ uses the special architectural features. As a whole, these architectural features can be applied to most of any specified operations in the instruction set. For example, the preamble 01 is stored and stored in the current day; :: Different sizes of operands (such as 8-bit, 16-bit, 32-bit) are executed in different micro-processing states. And when many such processors are programmed with a set operand size (such as 32-bit), they can be coded 1 (H before they are provided by the individual Chinese, still allowing the programmer to choose the H location based on each instruction. Override the default operand size (eg, to generate a bit operand). The operand size that can be selected is just one example of an architectural feature. In many modern microprocessors, these architectural features can be applied In most cases, the operation code 102 can be used to specify operations (such as addition, subtraction, multiplication, human logic, etc.). Lin [0 035] The instruction format shown in Figure 1 is 00. There is a well-known example in the industry. This is the x86 instruction format 100, which is used by all modern x86 microprocessors. More specifically, the X86 instruction format 10q (also the x86 instruction set architecture 100) uses 8 bits. Prefix 101, 8-bit transport

200417926200417926

= 102以及8位元位址指定元1〇3。χ86架構1〇〇亦具有數個 ^置碼101,其中兩個取代了 χ86微處理器所預設的位址/ 貝料大小(即運算碼狀態66Η與67Η ),另一個則指示微處 理器j據不同的轉譯規則來解譯其後之運算碼位元組1〇2 (即f置碼值0FH,其使得轉譯動作是依據所謂的二位元 組運算碼規則來進行),其他的前置碼丨〇1則使特殊運算 重複執行’直至重複條件滿足為止(即REp運算碼:f〇h、 F2H 及F3H )。 [ 0 0 3 6 ]現請參閱圖二,其顯示一表格2〇〇,用以描述 =指=集架構之指令2 〇 1如何對應至圖一指令格式内一 8位 =運算碼位元組1〇2之位元值。表袼2〇〇呈現了 一8位元運 圖2 0 0的範例,其將一8位元運算碼項目1〇2所具有之 最多256個值,關聯到對應之微處理器運算碼指令2〇 1。表 格20 0將運算碼項目1〇2之一特定值,譬如〇2H,映射至一 對應之運算碼指令2〇1 (即指令1〇2 2〇1 )。在χ86運算碼 圖的例子中,為此領域中人所熟知的是,運算碼值14^係 至χ86之進位累加(Add With Carry,ADC)指令,此 t令將一8位元之直接(immediate)運算元加至架構暫存 态AL^之内含值。熟習此領域技術者也將發覺,上文提及之 珂置碼101 (亦即66H、67H、0FH、F0H、F2H 及F3H )係 恕際的運异碼值2 〇 1,其在不同脈絡下,指定要將特定的'、 ^構延伸項應用於隨後之運算碼項目丨〇2所指定的運算。 =如,在運算碼14h (正常情況下,係前述之ADC運算碼) 刖加上W置碼〇FH,會使得χ86處理器執行一「解壓縮與插= 102 and 8-bit address designation element 103. The χ86 architecture 100 also has several ^ setting codes 101, two of which replace the preset address / size of the χ86 microprocessor (that is, the opcode states 66Η and 67Η), and the other indicates the microprocessor j According to different translation rules, interpret the following operation code byte 102 (that is, the f code value is 0FH, which makes the translation action based on the so-called two-byte operation code rule). Setting the code 丨 〇1 makes the special operation repeated until the repetition condition is satisfied (that is, the REp operation code: f〇h, F2H, and F3H). [0 0 3 6] Please refer to FIG. 2, which shows a table 200, which is used to describe how the instruction 2 of the set = architecture corresponds to an 8-bit = opcode byte in the instruction format of FIG. 1 Bit value of 102. Table 袼 200 shows an example of the 8-bit operation figure 2000, which associates up to 256 values of an 8-bit opcode item 102 to the corresponding microprocessor opcode instruction 2 〇1. Table 20 maps a specific value of the operation code item 102, such as 〇2H, to a corresponding operation code instruction 2101 (that is, instruction 1202 2101). In the example of the χ86 opcode diagram, it is well known in the art that the opcode value 14 ^ is an Add With Carry (ADC) instruction to χ86. This command will make an 8-bit direct ( The immediate) operand is added to the embedded value of the temporary storage state AL ^. Those skilled in this field will also notice that the above-mentioned Ke code 101 (ie, 66H, 67H, 0FH, F0H, F2H, and F3H) is a different code value of 001, which is in a different context. , Specifies that a specific ', ^ structure extension is to be applied to the operation specified by the subsequent opcode item 丨 〇2. = For example, in the operation code 14h (normally, the aforementioned ADC operation code) 刖 plus W setting code 0FH, will make the χ86 processor perform a "decompression and interpolation

第20頁 200417926 五、發明說明(15) 入低壓縮之單精度浮點值」(Unpack and interleavePage 20 200417926 V. Description of the invention (15) Low-precision single-precision floating-point value "(Unpack and interleave

Low Packed Single-Precisi〇n Floating-PointLow Packed Single-Precisi〇n Floating-Point

Values )運算’而非原本的ADC運算。諸如此以6例子所述 之特徵,在現代之微處理器中係部分地致能,此因微處理 器内之指令轉譯邏輯是依序解譯一指令1〇〇的項目1(H 一 1、0 3^所以在過去,於指令集架構中使用特定運算碼值作 為前置碼101,可允許微處理器設計者將不少先進的架構 特徵納入相容舊有軟體之微處理器的設計中,而不會對未 ::那些特定運算碼狀態的舊有程式,帶來執行上的負面 衝擊例如,一未冒使用x86運算碼0FU的舊有程式,仍可 在今日的x86微處理哭上勃荇 品 荖!田^ π _ w上執仃。而一較新的應用程式,藉 鼻碼0FH作為前置碼101,就能使用許多新進 構特徵’如單一指令多重資料⑻,運· 异,條件移動運算等等。 心 [0037]儘管過去已藉由於 派的)運算碼值2〇1作4=:可用;V:多餘或未指 記/指標101或逸出指令101 ): 構:、、、架構特徵標 指令集架構100已因為-非常5 ;土構特徵,但許多 # 此上的強化:所有可用/多餘的運算碼值已:用、ik供功 是,運算碼圖200中的全部運笞 皮用疋,也就 當所有可用的值被分派為運V二值目=構化地指定。 η士 义'^石馬項目1 〇 2或侖罢r庄π ί重2有剩餘的運算瑪值可作為納入新特徵之用101 存在於現在的許多微處理器架構中,】而=個 汁者侍在増添架構特徵與保留舊有程式之:容 mValues) operation 'instead of the original ADC operation. Such characteristics as described in the example 6 are partially enabled in modern microprocessors. This is because the instruction translation logic in the microprocessor is to sequentially interpret an item 100 of an instruction 1 (H-1 , 0 3 ^ So in the past, the use of specific opcode values as the preamble 101 in the instruction set architecture allowed microprocessor designers to incorporate many advanced architectural features into the design of microprocessors compatible with legacy software Without causing a negative impact on the execution of the old programs that are not in the specific state of ::: For example, an old program that did not use the x86 opcode 0FU can still cry on today's x86 microprocessing上 博 荇 品 荖! Field ^ π _ w. And a newer application, by using the nose code 0FH as the preamble 101, can use many new construction features' such as a single command multiple data, Different, conditional movement operations, etc. Mind [0037] Although it has been used in the past, the operation code value 2 is made 4 =: available; V: redundant or unreferenced / indicator 101 or escape instruction 101): : ,,, architectural features Instruction set architecture 100 has been-very 5; soil features, but Multi # Enhancement on this: all available / excessive opcode values have been used: y, ik for power, all opcodes in opcode map 200 are used, that is, when all available values are assigned as op v2 Value = structurally specified. Shi Yi '^ Shima Project 1 〇 2 or Lunba r Zhuang π 重 2 There are remaining operating values can be used to incorporate new features 101 exist in many microprocessor architectures today, and = juice The scholars added architectural features and retained the old program: Rong m

第21頁Page 21

200417926 五、發明說明(16) 作抉擇。 [0 0 3 8 ]值得注意的是,圖二所示之指令2 係以一般 性的方式表示(亦即丨24、186),而非具體指涉實際的運 算(如進位累加、減、互斥或)。這是因為,在一些不同 的微處理器架構中,完全佔用之運算碼圖2〇〇在架構上, 已將納入較新進展的可能性排除。雖然圖二例子所提到 的,疋8位元的運算碼項目丨〇 2,熟習此領域技術者仍將發 覺,運算碼102的特定大小,除了作為一特殊情況來討論 完全佔用之運异碼結構2 〇 〇所造成的問題外,其他方面與 問題本身並不相干。因此,一完全佔用之6位元運算碼圖 將有64個可架構化地指定之運算碼/前置碼2〇1,並將無法 提供可用/多餘的運算碼值作為擴充之用。 [0 0 3 9 ]另一種替代做法,則並非將原有指令集完全 廢棄,以一新的格式1〇〇與運算碼圖2〇()取代,而是只針對 一部^既有的運算碼2〇1,以新的指令意含取代,如圖二 之運算碼40H至4FH。以這種混合的技術,微處理器就可以 單獨地以下列兩種模式之一運作:其中舊有模式利用運算 碼40H-4FH,係依舊有規則來解譯,或者以另一種改良模 式(enhanced mode)運作,此時運算碼4〇H_4FH則依加強 之架構規則來解譯。此項技術確能允許設計者將新特徵納 入設計,然而,當符合舊有規格之微處理器於加強模式運 作時,缺點仍舊存在,因為微處理器不能執行任何使用運 算碼40H-4FH的應用程式。因此,站在保留舊有軟體相容 性的立場,相容舊有軟體/加強模式的技術並非一最佳選200417926 V. Description of Invention (16) Make a choice. [0 0 3 8] It is worth noting that the instruction 2 shown in Figure 2 is expressed in a general way (ie, 24, 186), and does not specifically refer to the actual operation (such as carry accumulation, subtraction, mutual Scold or). This is because, in some different microprocessor architectures, the fully occupied operation code figure 200 has already excluded the possibility of incorporating newer progress in the architecture. Although mentioned in the example of Figure 2, the 8-bit opcode item 丨 〇2, those skilled in the art will still notice that the specific size of the opcode 102, except as a special case, discusses the completely occupied code. Apart from the problems caused by the structure 2000, other aspects have nothing to do with the problem itself. 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. [0 0 3 9] Another alternative is not to completely abandon the original instruction set and replace it with a new format 100 and operation code figure 20 (), but only for one existing operation. The code 201 is replaced with a new instruction meaning, as shown in the operation codes 40H to 4FH in Figure 2. With this hybrid technology, the microprocessor can operate independently in one of two modes: the old mode uses the opcodes 40H-4FH, which still has rules to interpret, or an improved mode (enhanced mode) operation. At this time, the operation code 40H_4FH is interpreted according to the enhanced architecture rules. This technology does allow designers to incorporate new features into their designs. However, when a microprocessor that conforms to the old specifications operates in enhanced mode, the disadvantages still exist because the microprocessor cannot perform any application that uses the opcodes 40H-4FH. Program. Therefore, from the standpoint of retaining legacy software compatibility, technologies that are compatible with legacy software / enhancement models are not the best choice

第22頁 200417926 五、發明說明(π) 擇。 [0 0 4 0 ]然而,對於運算碼空間已完全佔用之指令集 2 0 0,且該空間涵蓋所有於符合舊有規格之微處理器上執 行之應用程式的情形,本案發明人已注意到其中運算碼 2 0 1的使用狀況,且他們亦觀察出,雖然有些指令2 0 2是架 構化地指定,但未用於能被微處理器執行之應用程式中。 圖二所述之指令I F 1 2 0 2即為此現象之一例。事實上,相 同的運算碼值2 0 2 (亦即F 1 Η )係映射至未用於χ 8 6指令集 架構之一有效指令2 02。雖然該未使用之以6指令202是有 效的χ86指令202,其指示要在χ86微處理器上執行一架構 化地指定之運算,但它卻未使用於任何能在現代χ86微處 理器上執行之應用程式。這個特殊的χ86指令2〇2被稱為電 路内模擬中斷點(In Circuit Emulatl〇n Breakp〇int) (亦即ICE BKPT,運算碼值為F1H ),之前都是專門使用Page 22 200417926 V. Description of Invention (π) Choice. [0 0 4 0] However, for the instruction set 2 0, where the opcode space has been fully occupied, and the space covers all applications running on microprocessors that conform to the old specifications, the inventor of this case has noticed Among them, the use of the operation code 201, and they also observed that although some instructions 202 are specified architecturally, they are not used in applications that can be executed by the microprocessor. The instruction I F 1 2 0 2 described in FIG. 2 is an example of this phenomenon. In fact, the same opcode value 2 0 2 (ie F 1 Η) is mapped to a valid instruction 2 02 that is not used in the χ 8 6 instruction set architecture. Although the unused 6 instruction 202 is a valid x86 instruction 202, which instructs to perform a structurally specified operation on a x86 microprocessor, it is not used in any that can be executed on a modern x86 microprocessor. Application. This special χ86 instruction 202 is called the In Circuit Emulatlion Breakpoint (ie ICE BKPT, and the opcode value is F1H), which were previously used exclusively

於一種現在已不存在之微處理器模擬設備中。ICE 202從未用於電路内模擬器之外的應用程式中,並且先前 使用ICE ΒΚΡΤ 202之電路内模擬設備已不 在x86的情形下,本荦發明人—入 个系心明人已在一完全佔用 構20 0内發現一樣工呈,蕻荖剎田 七L / x ^ 八猎者利用一有效但未使用之運算 碼2 0 2,以允許在微處理哭的抓斗忐 处主的叹计中納入先進的孥槿牿 ΐ-二:需中犧牲Λ有軟體之相容性。在-完全佔用之指令 ?木構20 0中’本發明利用一架構化 算碼202,作為一指標標記:仁未使用之運 碼’因此允許微處理器設計者可;置 又4言了將最多2n個最新發展之架 200417926 五、發明說明(18) 構特徵,納入微處理器的設計中,同時保留與所有舊有軟 體完全的相容性。 [0 0 4 1 ]本發明藉提供一 n位元之延伸中斷抑制指定元 前置碼’以使用前置碼標記-延伸前置碼的概念,因而可 允許程式員於一延伸指令的整個執行過程,指定要抑制其 對應之中斷處理。本發明的另一實施例,則將該延伸指令 與其後特定數量指令之執行,排除在微處理器之中斷處理 機制外。本發明現將參照圖三至九進行討論。In a microprocessor analog device that no longer exists. ICE 202 has never been used in applications other than in-circuit simulators, and the previous in-circuit simulation devices that used ICE ΒΚΡΤ 202 are no longer x86. The inventor of the present invention—a person who knows that The same work was found within the occupant structure 200. The sakura field seven L / x ^ The eight hunters used a valid but unused opcode 2 0 2 to allow the micro-processing of the crying grappler's sigh. Included in the advanced hibiscus 牿 ΐ-II: Need to sacrifice Λ software compatibility. In the "completely occupied instruction" in the wooden structure 200, the present invention uses a structured calculation code 202 as an index mark: "ren unused transport code" therefore allows the microprocessor designer to make it; Up to 2n latest development frameworks 200417926 V. Description of the invention (18) The structural features are incorporated into the design of the microprocessor while retaining full compatibility with all old software. [0 0 4 1] The present invention provides an n-bit extended interrupt suppression designated meta-preamble to use the concept of preamble mark-extended preamble, thus allowing programmers to perform the entire execution of an extended instruction Procedure, specifying the corresponding interrupt processing to be suppressed. In another embodiment of the present invention, execution of the extended instruction and a specific number of instructions thereafter is excluded from the interrupt processing mechanism of the microprocessor. The invention will now be discussed with reference to Figs.

[0 0 4 2 ]現凊參閱圖三’其為本發明之延伸指令格式 3 0 0的方塊圖。與圖一所討論之格式1 〇 〇非常近似,該延伸 指令格式300具有數量可變之指令項目301 — 305,每一項目 没疋為^ 特疋值’集合起來便組成微處理器之^*特定指令 3 0 0。該特定指令3 0 0指不微處理器執行一特定運算,像是 將兩運算元相加’或是將一運算元從記憶體搬移至微處理 器之暫存器内。一般而言,指令3 0 0之運算碼項目3〇2指定 了所要執行之特疋運异,而選用之位址指定元項目3 〇 3則 位於運算碼3 0 2後,以指定該特定運算之相關附加資訊, 像是如何執行該運算、運算元所在之暫存器、用於計算來 源/結果運算元之記憶體位址的直接與間接資料等等。指 令格式30 0亦允許程式員在一運算碼3 02前加上前置碼項目 301。在運算碼3 0 2所指定之特定運算執行時,前置碼項目 3 0 1係用來指示是否要使用既有的架構特徵。 [ 0 043 ]然而,本發明的延伸指令300係前述圖一指令 格式100之一超集合(superset ),其具有兩個附加項目[0 0 4 2] Now referring to FIG. 3 ', it is a block diagram of the extended instruction format 3 0 0 of the present invention. It is very similar to the format 100 discussed in Figure 1. The extended instruction format 300 has a variable number of instruction items 301-305. Each item is not combined with ^ special values to form a microprocessor ^ * Specific instructions 3 0 0. The specific instruction 3 0 means that the microprocessor does not perform a specific operation, such as adding two operands or moving an operand from a memory to a register of a microprocessor. Generally speaking, the operation code item 3202 of the instruction 3 0 0 specifies the special operation to be executed, and the selected address designation meta item 3 0 3 is located after the operation code 3 0 2 to specify the specific operation. Related additional information, such as how to perform the operation, the register in which the operand is located, the direct and indirect data of the memory address used to calculate the source / result operand, and so on. The instruction format 300 also allows the programmer to add a preamble item 301 before an operation code 3 02. When a specific operation specified by the operation code 3 02 is performed, the preamble item 3 0 1 is used to indicate whether to use an existing architectural feature. [0 043] However, the extended instruction 300 of the present invention is a superset of one of the instruction formats 100 of the foregoing FIG. 1 and has two additional items

200417926 五、發明說明(19) 3 0 4與3 0—5可被選擇性作為指令延伸項,並置於一格 延伸指令30。中所有其餘項目30"。3 匕 乂_5’其為延伸指令3〇。的一部份,可 y;員 定是否要抑制或排除延伸指令綱之中斷處理。選用^ 304與305係-延伸指令標記3〇4與一延伸置 305。該延伸指令標記3〇4係一微處理器指令集内另一置: ;構所指定之運算碼。在186的實施例令,該延伸指人據 ^己304,或稱為逸出標記3()4,係用運算碼狀態削,^ f早先使用但未廢棄之ICE Μρτ指令。逸出標記3〇4向将 处理為邏輯指it} ’該延伸前置碼3Q5,或稱延伸特徵指丄 兀3 0 5 ’係跟隨在後,其中該延伸前置碼3〇5指定要抑;广 ::令3一00之中斷處理。在一具體實施例中,逸出標記川 曰出’一對應延伸指令3〇〇之附隨部分3〇卜3〇3及3〇5柞— 了微處理器所要執行之運算。中斷抑制指定元3〇5, 延伸前置碼3 0 5,則指定該運算需連續地執行,亦即不^ 待處理中斷(pending interrupt)的影響,而一符合舊= 規格之微處理器在其他情況下則會允許待處理中斷。隨 該運算執行完成,中斷處理重新被致能。在另一實施二 中,延伸前置碼30 5指出該運算涵蓋了複數個指令其中 延=指令3 0 0是第一個指令,並且由這些指令所指定的該 運异’在執行期間必須不受中斷處理影響而暫停。 [0 0 4 4 ]此處將本發明之指令層級之中斷抑制技術 =。一延伸指令300係組態為,指定一運算要依二 有微處理器指令集來執行,其中延伸指令3〇〇的執行係於 200417926200417926 V. Description of the invention (19) 3 0 4 and 3 0-5 can be selectively used as instruction extensions, and placed in a box extension instruction 30. All remaining items in 30 ". 3 Dagger 乂 _5 ’which is an extension instruction 30. Part of y; y; decide whether to suppress or eliminate interrupt processing of the extended instruction. ^ 304 and 305 series-extended instruction mark 304 and an extended set of 305. The extended instruction mark 30 is another set in a microprocessor instruction set:; the designated operation code is constructed. In the 186 embodiment order, the extension refers to the human data 304, or the escape tag 3 () 4, which is cut with the state of the operation code, and the ICE Μρτ instruction previously used but not abandoned. The escape mark 304 will be treated as a logical finger it} 'The extended preamble 3Q5, or extended feature finger 3 0 5' is followed, in which the extended preamble 3 05 specifies whether to suppress ; Broad :: Let 3 to 00 interrupt processing. In a specific embodiment, the escape tag Chuan-yu-e ', a companion part of the extension instruction 300, 30b 303 and 3505—the operations to be performed by the microprocessor. Interrupt suppression designation element 305, extended preamble 3 05, specifies that the operation needs to be performed continuously, that is, the effect of pending interrupts is not ^, and a microprocessor that meets the old = specification is in In other cases, pending interrupts are allowed. As the operation is completed, interrupt processing is re-enabled. In another implementation, the extended preamble 30 5 indicates that the operation covers a plurality of instructions, where delay = instruction 3 0 0 is the first instruction, and the operation specified by these instructions must not be changed during execution. Suspended due to interrupt processing. [0 0 4 4] Here, the instruction-level interrupt suppression technology of the present invention =. An extended instruction 300 is configured to specify that an operation is to be executed according to two microprocessor instruction sets. The execution of the extended instruction 300 is 200417926.

,=—待處理中斷之前完成。延伸指令300包括該既 々集之運算碼3G4其中之—以及m之延伸前 才日 3,。所選取之運算碼304作為一指標3〇4,以指二 ::延伸特徵指令30"亦即,其指定了微處理器竿構, =項丄’而該n」立元之特徵前置碼3 05則指出要抑制 ^ 在一具體貫施例中,延伸前置碼305具八位元的女 可指定要抑制-指令及後續最多25 5個指令的中斷_ 理,或是指定要抑制較少數量之指令的中斷處理,处 二位το延伸前置碼3G5的剩餘位元值所指定之其他° f:,前置碼的實施例’則最多可指定要抑制2n個】 7、中斷處理’或是像前述抑制中斷處理與其他曰 的各種組合。 〜斤荷徵 [0045 ]現請參閱圖四,一表格400顯示依據本發明, 中斷抑制的指定如何映射至一8位元延伸前置碼實施例之 位π邏輯狀態。類似於圖二所討論之運算碼圖2〇〇 ’圖四 之表格40 0呈現一8位元之延伸前置碼圖4〇〇的範例,直將 一8位元延伸前置碼項目3〇5之最多256個值,關聯到二符 σ舊有規格微處理器中,一些指令4〇1 (如E34 等) 相對應的中斷抑制。在一χ86的具體實施例中,本發明之8 位元延伸特徵前置碼3〇5係提供給中斷抑制4〇1 (亦即ε〇〇_ E F F )的才曰令層級控制之用,該些中斷抑制4 〇 1乃現行X 8 6 指令集架構未能另行指定的。 一 [0046 ]圖四所示之延伸特徵401係以一般性的方式表 不’而非具體指涉實際的特徵,此因本發明之技術可應用, =-Completed before pending interrupt. The extension instruction 300 includes one of the operation codes 3G4 of the existing set—and the day 3 before the extension of m. The selected operation code 304 is used as an index 304 to refer to the two :: extended feature instruction 30 ", that is, it specifies the microprocessor structure, = term 丄 ', and the feature code of the n "Liyuan 3 05 indicates that suppression is required ^ In a specific embodiment, a woman with an extended preamble of 305 octets can specify the interruption of the -instruction and a maximum of 25 5 subsequent instructions. Interrupt processing of a small number of instructions, other two specified by the remaining bits of the preamble 3G5 extension f :, the embodiment of the preamble 'can specify a maximum of 2n] 7. Interrupt processing 'Or various combinations of suppression interrupt processing as described above and others. [0045] Referring now to FIG. 4, a table 400 shows how the designation of interruption suppression is mapped to the bit π logic state of an 8-bit extended preamble embodiment according to the present invention. Similar to the operation code discussed in FIG. 2, the table 40 in FIG. 4 and the table 40 in FIG. 4 show an example of an 8-bit extended preamble figure 400, and an 8-bit extended preamble item 3 is straightforward. A maximum of 256 values of 5 are related to the two-character σ old specification microprocessor, and some instructions 401 (such as E34, etc.) interrupt interruption corresponding. In a specific embodiment of χ86, the 8-bit extended feature preamble 3005 of the present invention is provided to the order-level control of interruption suppression 401 (ie, ε〇〇_ EFF). These interrupt suppressions are not specified by the current X 8 6 instruction set architecture. [0046] The extended feature 401 shown in FIG. 4 is expressed in a general manner rather than specifically referring to actual features. This is because the technology of the present invention is applicable

第26頁 200417926 五、發明說明(21) 於各種不同的架構延伸項4 〇 1與特定的指令集架構。熟習 此領域技術者將發覺,許多不同的架構特徵4 〇 1,其中_ 些已於上文k及’可依此處所述之逸出標記304 /延伸前置 碼3 0 5技術將其納入一既有之指令集。圖四之8位元前置碼 實施例提供了最多2 5 6個不同的特徵4 〇 1,而一 η位元前置 碼實施例則具有最多2 η個不同特徵4 0 1的程式化選擇。 [0 0 4 7 ]現請參閱圖五,其為解說本發明用以執行選 擇性的中斷抑制之管線化微處理器5 0 0的方塊圖。微處理 器5 0 0具有三個明顯的階段類型··提取、轉譯及執行。提 取階段具有提取邏輯501,耦接至匯流排單元516,以便從 通常位於微處理器5 〇 〇外部之記憶體5 1 5提取指令或巨指令 (macro instruction)。匯流排單元5 1 6係藉由一系統匯流 排51 9耦接至記憶體51 5。提取邏輯501將所提取之巨指令 送至一巨指令佇列503,由一轉譯邏輯5 05進行讀取。轉譯 邏輯505耦接至一微指令佇列508。轉譯邏輯505包括一延 伸轉譯邏輯5 0 6。執行階段則具有一執行邏輯5 〇 9,其内包 含一延伸執行邏輯510。 _ [0 0 4 8 ]依據本發明,於運作時,轉譯邏輯5 〇 5經由 N I P匯流排’將下一指令的指標或位址(N I P)送至提取邏輯 501。提取邏輯501藉由指令匯流排502,發出下個所要提 取指令的位址至匯流排單元5 1 6。匯流排單元5 1 6藉由系統 匯流排5 1 9與記憶體5 1 5溝通,以提取巨指令,並經由指令 匯流排5 0 2將這些指令送至提取邏輯5 〇 1。熟悉此領域技術 者將發覺,圖五係經過簡化以求清楚,所以並未包含此領Page 26 200417926 V. Description of the invention (21) In various architecture extensions 401 and specific instruction set architecture. Those skilled in the art will find that there are many different architectural features 401, some of which have been incorporated in the above k and 'can be used in accordance with the escape tag 304 / extended preamble 3 0 5 technology described herein An existing instruction set. The 8-bit preamble embodiment of FIG. 4 provides a maximum of 256 different features 401, while an η-bit preamble embodiment has a stylized selection of up to 2 η different features 401. . [0 0 4 7] Please refer to FIG. 5, which is a block diagram illustrating a pipelined microprocessor 500 for performing selective interrupt suppression according to the present invention. The microprocessor 500 has three distinct types of stages: extraction, translation, and execution. The fetch stage has fetch logic 501, which is coupled to the bus unit 516 to fetch instructions or macro instructions from a memory 5 1 5 which is usually located outside the microprocessor 500. The bus unit 5 1 6 is coupled to the memory 51 5 through a system bus 51 9. The fetch logic 501 sends the fetched giant instruction to a giant instruction queue 503, which is read by a translation logic 505. The translation logic 505 is coupled to a micro-instruction queue 508. The translation logic 505 includes an extended translation logic 506. The execution stage has an execution logic 509, which contains an extended execution logic 510. [0 0 4 8] According to the present invention, during operation, the translation logic 505 sends the index or address (N I P) of the next instruction to the fetch logic 501 via the N I P bus. The fetch logic 501 sends the address of the next fetch instruction to the bus unit 5 1 6 through the command bus 502. The bus unit 5 1 6 communicates with the memory 5 1 5 through the system bus 5 1 9 to fetch huge instructions, and sends these instructions to the fetch logic 501 through the command bus 5 2. Those skilled in the art will find that Figure 5 is simplified for clarity, so it does not include this

IHII 圓 第27頁 200417926IHII Circle Page 27 200417926

域常用之快取巨指令的機制,如内部指令快取記憶體(圖 中未顯示)。依據本發明,提取邏輯5〇1接著將經過格式化 的指令依執行順序送入指令佇列5〇3。這些指令從指令佇 列5 0 3被提取,而送入轉譯邏輯5〇5。轉譯邏輯5〇5將每個 达入的指令轉譯為一對應的微指令序列,以指示微處理器 5 0 0執行由巨指令所指定的運算。依據本發明,延伸轉譯 邏輯5 0 6偵測那些具有延伸前置碼標記的指令,以進行對 應之延伸中斷抑制前置碼的轉譯。在一χ86的實施例中, 延伸轉譯邏輯5 0 6組態為偵測其值為ηΗ之延伸前置碼標 記,其係x86之ICE BKPT運算碼。延伸微指令襴位則提供 於微指令佇列5 0 8中,以指定要抑制由該指令附隨部分所 指定之運算的中斷處理。其他延伸轉譯邏輯5〇6的實施 例’則可於延伸微指令欄位中,指定要抑制本發明之一第 一巨指令與後續一定數量巨指令的中斷處理。Domains commonly use the mechanism of cache giant instructions, such as internal instruction cache memory (not shown in the figure). According to the present invention, the fetch logic 501 then sends the formatted instructions to the instruction queue 503 in the execution order. These instructions are fetched from instruction queue 503 and sent to translation logic 505. The translation logic 505 translates each incoming instruction into a corresponding microinstruction sequence to instruct the microprocessor 500 to perform the operation specified by the giant instruction. According to the present invention, the extended translation logic 506 detects those instructions with extended preamble flags to perform translation of the corresponding extended interruption suppression preamble. In a χ86 embodiment, the extended translation logic 506 is configured to detect an extended preamble flag whose value is ηΗ, which is an ICE BKPT operation code of x86. The extended microinstruction bit is provided in the microinstruction queue 508 to specify that the interrupt processing of the operation specified by the instruction accompanying section is to be suppressed. Other embodiments of extended translation logic 506 'may specify in the extended microinstruction field that interrupt processing of one of the first giant instruction of the present invention and a certain number of subsequent giant instructions is to be suppressed.

[0 0 4 9 ]微指令從微指令彳宁列5 〇 8被送至執行邏輯 5 0 9 ’其中延伸執行邏輯5 1 0組態為執行微指令所指定之特 定運算。對於一轉譯後之巨指令所對應之微指令而言,在 其執行期間若有一中斷被致能,則微處理器5 〇 〇中之中斷 控制邏輯5 1 8會在一或多個中斷接腳5 1 7檢測到此中斷的致 能。中斷控制邏輯5 1 8透過訊號I N T告知微處理器内的邏 輯’有一中斷正等待處理。在沒有本發明之延伸指令的情 況下,轉譯邏輯505會經由匯流排5 04發出中斷處理程式的 位址至提取邏輯,以啟始一連串的中斷處理事件。同時, 執行邏輯5 0 9完成現行微指令的執行,並將管線清空。因[0 0 4 9] The microinstruction is sent from the microinstruction column 5 08 to the execution logic 5 9 ', where the extended execution logic 5 1 0 is configured to execute a specific operation designated by the micro instruction. For a micro instruction corresponding to a translated giant instruction, if an interrupt is enabled during its execution, the interrupt control logic 5 1 8 in the microprocessor 5000 will have one or more interrupt pins 5 1 7 The enable of this interrupt was detected. The interrupt control logic 5 1 8 informs the logic in the microprocessor via a signal I N T that an interrupt is waiting to be processed. Without the extended instruction of the present invention, the translation logic 505 sends the address of the interrupt handler to the fetch logic via the bus 504 to initiate a series of interrupt processing events. At the same time, the execution logic 509 completes the execution of the current microinstruction and clears the pipeline. because

第28頁 200417926 五、發明說明(23) 此,微處理器5 0 0開始提取、轉譯及執行指令,以確認該 待處理之中斷’並判斷哪一個裝置致能了 L I N τ 51 7。當這 些指令執行時’執行邏輯經由INTACK匯流排513,發出一 中斷確認匯流排週期的要求至匯流排單元5丨6。匯流排單 元5 1 6藉由位於系統匯流排5 1 9之一可程式中斷控制器 5 14 ’處理此中斷確認匯流排週期,以判斷致能[I n τ 5 1 7 的裝置。此時,通常會從L I NT 5 1 7收到作業系統之一特定 中斷服務常式(亦稱為中斷向量)的位址,其被指派來服務 致能中斷的裝置。匯流排單元5 16提取中斷向量,並經由 I N T A C K匯流排5 1 3送至執行邏輯5 〇 9。執行邏輯5 〇 9接著經 由I N T A D D R匯流排5 1 1將此向1送至轉譯邏輯5 〇 5。轉譯邏 輯5 0 5透過提取匯流排504,發出此中斷向量至提取邏輯 5 0 1,而提取邏輯5 0 1便開始提取此中斷向量所對應之指 令,以處理經確認之中斷。為簡明起見,前面關於中^處 理的描述,省略了被中斷應用程式之狀態如何儲存及回復 的特定細節。熟悉此領域技術者將發覺,這些細節是依本 發明所應用之微處理器架構而定。 [0 0 5 0 ]當本發明之延伸指令被提取執行時,轉譯邏 輯5 0 5内之延伸轉譯邏輯5 〇 6會將對應澂指令序列内之延沖 微指令攔位(圖中未顯示)加以組態,以指出中斷處理將被 抑制,直到對應之微指令序列執行完畢為止。因此,執行 邏輯509内之延仲執行邏輯5 10會確保這些微指令完成執丁 行,而不受中斷。當一中斷經由LINT 51 7被致能^如前所 述,轉譯邏輯5 0 5會等到微指令執行完畢後,才啟始一中 200417926 五、發明說明(24) 斷處理程序。執行邏輯5 0 9藉由致能c Μ P訊號5 1 2,以指出 微指令已執行完畢。中斷控制邏輯518藉由致能GOΙΝΤ訊號 507,以告知轉譯邏輯505執行已完成。當⑶丨NT 507被致 能,轉譯邏輯5 0 5會啟始中斷處理程序,如前所述。 [0051] 因此,延伸執行邏輯510經由G〇I NT訊號507向 轉譯邏輯50 5指出,中斷處理會藉由設定CMP訊號512而啟 動。在沒有本發明之延伸指令的情況下,當一中斷經由Page 28 200417926 V. Description of the invention (23) Therefore, the microprocessor 500 starts fetching, translating, and executing instructions to confirm the pending interruption 'and to determine which device has enabled L I N τ 51 7. When these instructions are executed, the execution logic sends a request to interrupt the bus cycle via the INTACK bus 513 to the bus unit 5 丨 6. The bus unit 5 1 6 uses a programmable interrupt controller 5 14 located in the system bus 5 1 9 to process this interrupt and confirm the bus cycle to determine the device that enables [I n τ 5 1 7. At this time, the address of one of the specific interrupt service routines (also known as interrupt vectors) of the operating system is usually received from L I NT 5 1 7 and is assigned to service the interrupt-enabled device. The bus unit 5 16 extracts the interrupt vector and sends it to the execution logic 509 through the I N T A C K bus 5 1 3. The execution logic 509 is then routed to the translation logic 505 by the I N T A D D R bus 5 1 1. The translation logic 505 sends the interrupt vector to the extraction logic 501 through the extraction bus 504, and the extraction logic 501 starts to extract the instruction corresponding to this interrupt vector to process the confirmed interrupt. For the sake of brevity, the previous description of the middle processing has omitted specific details on how the status of the interrupted application is stored and restored. Those skilled in the art will recognize that these details depend on the microprocessor architecture to which the invention is applied. [0 0 5 0] When the extended instruction of the present invention is fetched and executed, the extended translation logic 5 in the translation logic 5 0 will block the delayed micro-instructions in the corresponding 澂 instruction sequence (not shown in the figure) It is configured to indicate that interrupt processing will be suppressed until the corresponding microinstruction sequence is completed. Therefore, the execution logic 5 10 in execution logic 509 will ensure that these micro instructions complete execution without interruption. When an interrupt is enabled via LINT 51 7 ^ As mentioned above, the translation logic 505 will wait until the microinstruction is executed before starting a middle school. 200417926 V. Description of the invention (24) Interrupt handler. The execution logic 5 0 9 indicates that the micro instruction has been executed by enabling the c MP signal 5 1 2. The interrupt control logic 518 informs the translation logic 505 that the execution is completed by enabling the GOINT signal 507. When ⑶ 丨 NT 507 is enabled, the translation logic 505 will start the interrupt handler, as described earlier. [0051] Therefore, the extended execution logic 510 indicates to the translation logic 50 5 via the GO NT signal 507 that the interrupt processing is started by setting the CMP signal 512. In the absence of the extended instructions of the present invention, when an interrupt

L INT 5 1 7產生時,CMP訊號51 2於現行的微指令執行後即被 設定。若有一延伸指令,其指示要抑制中斷,則延伸執行 邏輯5 1 0延後設定C Μ P訊號5 1 2,直到所有對應的微指令執 行完畢為止。 [0052] 如前所述,大多數的微處理器架構都有提供 中斷處理的致能與除能,且通常僅運作於並未指定給應/用 程式的特權層級。在一 X 8 6相容的微處理器中,鹿用程式 是不能設定及清除χ86旗標暫存器(圖中未顯示)之中 能位元(未顯示)的。但本發明提供了一種機制,讓應用 式員可驅使微處理器5 0 0於指令層級除能中斷,以使“户王 的(a t 〇 m i c)運算可以不受中斷地執行。此外,* 1 奉發明對中 斷抑制的指定還可取代其他架構功能對中斷處理之 ^When L INT 5 1 7 is generated, CMP signal 51 2 is set after the current micro instruction is executed. If there is an extended instruction that indicates that interruption is to be suppressed, the extended execution logic 5 10 delays the setting of the C MP signal 5 12 until all corresponding micro instructions are executed. [0052] As mentioned earlier, most microprocessor architectures have interrupt processing enabled and disabled, and usually only operate at privileged levels that are not assigned to applications / applications. In an X 86 compatible microprocessor, the deer program cannot set and clear the energy bit (not shown) in the χ86 flag register (not shown). However, the present invention provides a mechanism that allows an application programmer to drive the microprocessor 500 to disable interrupts at the instruction level, so that "at mic" operations can be performed without interruption. In addition, * 1 The invention's designation of interrupt suppression can also replace interrupt processing by other architecture functions ^

除能所做的指定。在一 X 8 6實施例中,依本發明致犯與 T奴η %指今屏 級抑制中斷,將取代旗標暫存器内之中斷致能位- 曰 疋所做的 指定。 π [0 0 5 3 ]熟習此領域技術者將發現,圖五 _ 理器5 0 〇係現代之管線化微處理器5 0經過簡化的处 ^ 』、、、r»果。事Disable the assignment. In an X86 embodiment, the infringement caused by the invention and the slave slave %% refers to the current screen level suppression interrupt, which will replace the designation of the interrupt enable bit in the flag register, ie, 疋. π [0 0 5 3] Those skilled in the art will find that Fig. 5_ processor 500 is a simplified processing result of modern pipelined microprocessor 50. thing

第30頁 200417926 五、發明說明(25) 實上,現代的管線化微處理器5 0 0最多可包令 ^ , 至 30 個 不同的管線階段。然而,這些階段可概括地歸類為方塊圖 所示之三個階段,因此,圖五之方塊圖500可用以點明寸 述本發明實施例所需之必要元件。為了簡明起見f微月'理 器500中無關的元件並沒有顯示出來,亦未加以討論。 [ 00 54 ]現請參閱圖六,其為本發明於—微處理器5〇〇 中,用以指定要抑制一延伸指令之對應中斷處理的延伸 置碼600之一示範實施例方塊圖。中斷抑制前置碼6〇〇具8 位元大小,且包括一中斷抑制欄位6〇1。在一具體實施例 中,抑制攔位6 0 1指定了在該延伸指令執行時,要排除對 應的中斷處理。另一具體實施例則包含可指定要排除該延 伸指令與後續最多2 5 5個指令之中斷處理的中斷抑制攔位 601。中斷抑制期間所執行之指令數係由抑制襴位6〇1來顯 示。 [0055]現請參閱圖七,其為圖五之微處理器5〇〇内轉 澤階段邏輯7 0 0之細部的方塊圖。轉譯階段邏輯7 〇 〇具有一 指=緩衝器704,其提供一延伸指令至轉譯邏輯7〇5。轉譯 邏輯7 0 5係耦接至具有一延伸特徵欄位7〇3之一機器特定暫Page 30 200417926 V. Description of the invention (25) In fact, the modern pipelined microprocessor 500 can order up 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. 5 can be used to clearly describe the necessary elements required for the embodiment of the present invention. For the sake of brevity, unrelated components in the fWay's 500 are not shown and are not discussed. [00 54] Please refer to FIG. 6, which is a block diagram of an exemplary embodiment of an extension code 600 in the microprocessor 500, which is used to specify that the corresponding interrupt processing of an extended instruction is to be suppressed. The interrupt suppression preamble 600 has an 8-bit size and includes an interrupt suppression field 601. In a specific embodiment, the suppression stop 601 specifies that when the extended instruction is executed, the corresponding interrupt processing is to be excluded. Another specific embodiment includes an interrupt suppression stop 601 that can specify that the extended instruction and the interrupt processing of the subsequent maximum of 255 instructions are to be excluded. The number of instructions executed during interrupt suppression is displayed by the suppression bit 601. [0055] Please refer to FIG. 7, which is a detailed block diagram of the logic 700 of the transformation stage of the microprocessor 500 in FIG. 5. The translation stage logic 7000 has a finger = buffer 704, which provides an extended instruction to the translation logic 705. Translation logic 705 is coupled to a machine-specific temporary

存器(machine specific register) 70 2。轉譯邏輯 7 0 5 具 一轉譯控制器706,其提供一除能(DISABLE)訊號707至一 逸出指令偵測器7 〇 8及一延伸前置碼轉譯器7 〇 g。逸出指令 債測器7 0 8耦接至延伸前置碼轉譯器7 〇 9及一指令轉譯器 710 °延伸前置碼轉譯器709與指令轉譯邏輯7 10存取一控 制唯讀記憶體(ROM) 711,其中儲存了對應至某些延伸指令Memory (machine specific register) 70 2. The translation logic 705 has a translation controller 706, which provides a DISABLE signal 707 to an escape command detector 708 and an extended preamble translator 708 g. The escape instruction debt tester 708 is coupled to the extended preamble translator 709 and an instruction translator 710 ° extended preamble translator 709 and instruction translation logic 7 10 access to a control read-only memory ( ROM) 711, which stores corresponding extension instructions

第31頁 200417926 五、發明說明(26) 之樣板(template)微指令序列。轉譯邏輯7〇5亦包含一微 指令缓衝器712,其具有一運算碼延伸項欄位713、一微運 算碼欄位714、一目的欄位715、一來源攔位?16以及—位 移欄位7 1 7。 [0 0 5 6 ]運作上,在微處理器通電啟動期間,機哭特 定暫存器70 2内之延伸欄位703的狀態係藉由訊號啟動^史離 (signal power-up state)701決定,以指出該特定微處理 器是否能轉譯與執行本發明之延伸指令。機器特定暫存哭 7 0 2將延伸特徵欄位7 0 3之狀態送至轉譯控制器7 〇 6。轉澤 控制邏輯70 6則控制從指令緩衝器7〇4所提取之指令,要依 戶、?、延伸轉譯規則或習用轉譯規則進行轉譯。若延伸特徵被 除成’則具有被選為延伸特徵標記之運算碼狀態的指人, 會依習用轉譯規則進行轉譯。在一x86的具體實u施例9中7,’ 選取運算碼狀態F 1 Η作為標記,則在習用的轉譯規則下, 遇到?111會造成不合法的指令異常(^(:61)1:1〇11)。在延伸轉 譯功能被除能的情況下,指令轉譯器7 1 〇轉譯所有送入的 指令704,並對微指令712的所有欄位713-717進行組藥。' 然而,在延伸轉譯規則下,若遇到標記,則會被逸出^指八 偵測器708偵測出來。逸出指令偵測器708會指干μ从、9 : 曰4日不延伸丽置 碼轉譯器7 0 9,依據延伸轉譯規則來轉譯延伸指令的延1 前置碼部分,並組態運算碼延伸項欄位7 1 3,以一 a 制延伸指令之對應微指令序列的中斷處理。在 甘乃一實施例 中,延伸前置碼轉譯器7 0 9依據延伸轉譯規則來轉釋延伸 指令的延伸前置碼部分,並對一連串巨指令之 九所有相關微Page 31 200417926 V. Template micro instruction sequence of invention description (26). Translation logic 705 also includes a microinstruction buffer 712, which has an opcode extension field 713, a microop field 714, a project field 715, and a source block? 16 and-Shift the field 7 1 7. [0 0 5 6] In operation, during the start-up of the microprocessor, the state of the extension field 703 in the specific register 70 2 of the machine cry is determined by the signal power-up state 701 To indicate whether the particular microprocessor can translate and execute the extended instructions of the present invention. The machine-specific temporary cry 70 2 sends the status of the extended feature field 7 03 to the translation controller 7 06. The translation control logic 70 6 controls the instruction fetched from the instruction buffer 704 to be translated according to the user, the extension translation rule, or the conventional translation rule. If the extended feature is divided into ', the finger with the opcode status selected as the extended feature mark will be translated using translation rules according to practice. In an x86 specific implementation example 7, 7, ’selects the opcode state F 1 Η as a mark, and then encounters it under the conventional translation rules? 111 will cause an illegal instruction exception (^ (: 61) 1: 1〇11). In the case where the extended translation function is disabled, the instruction translator 7 10 translates all the sent instructions 704, and administers all the fields 713-717 of the micro instruction 712. 'However, under the extended translation rule, if a tag is encountered, it will be escaped. The escape instruction detector 708 will refer to the μ μ, 9: the 4th day does not extend the code translator 7 0 9 to translate the extension 1 preamble part of the extended instruction according to the extended translation rule, and configure the operation code The extension field 7 1 3 is interrupt processing of a micro instruction sequence corresponding to an a-type extension instruction. In the embodiment of Ganai, the extended preamble translator 709 interprets the extended preamble part of the extended instruction according to the extended translation rule, and applies all relevant micro-codes to nine of a series of giant instructions.

第32頁 200417926 五、發明說明(27) 指令的運算碼延伸項欄位7 1 3進行組態,而該延伸指令為 這串巨指令的第一個指令,且延伸前置碼轉譯器7 0 9已從 一延伸前置碼判斷得知,該延伸指令與後續一些巨指令要 連續地執行。指令轉譯器7 1 〇則轉譯該延伸指令之其餘部 分,並組態微指令712的微運算碼欄位714、來源攔位 71 6 '目的欄位71 5及位移欄位71 7。某些特定指令會導致 對控制ROM 1 0 1 1的存取,以獲取對應之微指令序列樣板。 經過組態之微指令7 1 2被送至一微指令佇列(圖中未顯 示),由處理器進行後續執行。 [0057]當轉譯邏輯7〇5經由IMT訊號718被告知有一中 斷等待處理時’其轉譯動作會持續到G〇丨NT訊號7丨9被設 定’亦即現在所執行的一連續微指令序列已執行完畢為 止。當G0INT 719被設定,轉譯邏輯705即啟動如前述之中 斷處理程序。在所有的實施例中,轉譯邏輯7〇5係於啟動 $斷處理程序前,將所有待執行的巨指令未受中斷地轉譯 完成。 y 〇〇58]現請參閱圖八,其為圖五之微處理器500内執 行階段邏輯8 0 0的方塊圖。執行階段邏輯8〇〇具有一產生 CMP訊號809之抑制計數邏輯8〇6,以及一中斷確認邏輯 =7 ’其經由lNTACK匯流排8〇8,啟動一中斷確認週期。依 :行邏輯8°5從一延伸微指令緩衝器8〇1接 1曰·7 、’攸資料緩衝器802-804接收資料運算元。在 圖八之示範實施例中,延伸執行邏輯8〇5 旗 存器811之—中斷致能位⑽2,以判斷作業系統軟體\暫否Page 32 200417926 V. Description of the invention (27) The operation code extension field of the instruction 7 1 3 is configured, and the extended instruction is the first instruction of this series of giant instructions, and the preamble translator 7 0 is extended. 9 It has been learned from an extended preamble that the extended instruction and subsequent subsequent giant instructions are to be executed continuously. The instruction translator 7 1 0 translates the rest of the extended instruction, and configures a micro-op code field 714, a source block 71 6 'destination field 71 5 and a displacement field 71 7 of the micro instruction 712. Certain specific instructions will cause access to the control ROM 1 0 1 1 to obtain the corresponding microinstruction sequence template. The configured micro-instruction 7 1 2 is sent to a micro-instruction queue (not shown in the figure) for subsequent execution by the processor. [0057] When the translation logic 705 is informed via IMT signal 718 that there is an interrupt waiting to be processed, 'the translation action will continue until G〇 丨 NT signal 7 丨 9 is set', that is, a continuous micro-instruction sequence now executed Until execution is complete. When G0INT 719 is set, the translation logic 705 starts the interrupt handler as described above. In all embodiments, the translation logic 705 is to translate all the giant instructions to be executed without interruption before starting the $ break handler. y 〇〇58] Please refer to FIG. 8, which is a block diagram of the stage logic 800 in the microprocessor 500 of FIG. 5. The execution stage logic 800 has a suppression count logic 806 that generates a CMP signal 809, and an interrupt confirmation logic = 7 ', which starts an interrupt confirmation cycle via the lNTACK bus 800. According to: Row Logic 8 ° 5 receives data operands from an extended microinstruction buffer 801, 1'7, and 1 'data buffers 802-804. In the exemplary embodiment shown in FIG. 8, the logic 0805 flag register 811-interrupt enable bit 2 is extended to determine the operating system software temporarily.

第33頁 200417926 五、發明說明(28) 已致能中斷處理Page 33 200417926 V. Description of the invention (28) Interrupt processing has been enabled

[0 0 5 9 ]貝際運作上,微指令及其相關運算元係透過 延伸微指令缓衝器801及運算元緩衝器8〇2_8〇4提供而加以 執行。在習知巨指令所對應的微指令執行期間,依據習知 的中斷處理規則,抑制計數邏輯8〇6要確保CMp訊號8〇9維 持設定狀態,以顯示中斷處理可能會發生。在一具體實施 例中,若I E 8 1 2未被设定,此表示中斷被除能,則αρ 8 0 9亦未被設定。當執行時要抑制中斷之微指令被送入 時,抑制計數邏輯806會等到所有延伸微指令執行完畢, 才設定CMP訊號809。在一實施例中,一連續微指令序列之 第一微指令的一延伸欄位(圖中未顯示)指出,有某數量之 微指令要不文中斷地連續執行。在此實施例中,在設定 CMP 80 9前,抑制計數邏輯8〇β亦於後續微指令執行時計算 其數量,以確保能不受中斷地執行。如前面所提到,透過 延伸微指令來指定抑制中斷,會取代旗標暫存器8 u之工E 8 1 2的狀悲。當一中斷被處理時,中斷確認邏輯8 〇 7會經由 I NTACK匯流排808,啟動一中斷確認匯流排程序,以決定 待處理中斷之向量。此向量會經由INT ADDR匯流排81〇送 至轉譯邏輯(圖中未顯示)。[0 0 5 9] In the inter-operation, the micro-instruction and its related operands are executed by extending the micro-instruction buffer 801 and the operand buffer 802-804. During the execution of the microinstruction corresponding to the conventional giant instruction, according to the conventional interrupt processing rules, the suppression counting logic 806 must ensure that the Cmp signal 809 remains set to show that interrupt processing may occur. In a specific embodiment, if I E 8 1 2 is not set, it means that the interrupt is disabled, and αρ 8 0 9 is not set. When the microinstruction to be interrupted is inhibited from being sent during execution, the inhibit count logic 806 will wait until all extended microinstructions have been executed before setting the CMP signal 809. In one embodiment, an extended field (not shown in the figure) of the first microinstruction of a continuous microinstruction sequence indicates that a certain number of microinstructions are to be executed continuously without interruption. In this embodiment, before the CMP 80 9 is set, the suppression counting logic 80β is also counted when the subsequent microinstructions are executed to ensure uninterrupted execution. As mentioned earlier, the extended microinstruction to specify the suppression interrupt will replace the state of the flag register 8u, the work of E 8 1 2. When an interrupt is processed, the interrupt confirmation logic 807 will start an interrupt confirmation bus program via the I NTACK bus 808 to determine the vector of pending interrupts. This vector is sent to the translation logic via the INT ADDR bus 810 (not shown in the figure).

[0 0 6 0 ]此處對本發明之重要技術特徵(如圖三至八 部分所述)做個整理。藉由使用一已依據架構指定、但實 際未使用之運算碼作為標記,本發明可於一延伸指令中提 供一種可程式化的標記—前置碼組合。在一具體實施例 中’鈾置碼係用以指示一符合舊有規格之微處理器只抑制[0 0 6 0] The important technical features of the present invention (as described in Sections 3 to 8) are collated here. The present invention can provide a programmable mark-preamble combination in an extended instruction by using an operation code that is specified according to the architecture but not actually used as a mark. In a specific embodiment, the uranium coding is used to indicate that a microprocessor that meets the old specifications only suppresses

第34頁 200417926 五、發明說明(29) 該延伸指令之中斷處理。在另一不同 則指示該符合舊有規格之微處理器 =中,前置碼 一定數量指令之中斷處理。當該延伸指指令與後續 本發明,延伸轉釋邏輯透過延伸微指時,依據 位的内容指出,該延伸指令之對應 ^斤碼延伸項襴 要被抑制。在另一實施例中,延^前』二=列的中斷處理 應延伸指令與後續一定數量指令卢:疋要抑制-對 輯則決定後續所要連續執行之指令=1、’,延伸轉譯邏 伸微指令攔位,以確保能不受中斷地執#:亚依此組態延 [ 006 1 ]因此’本發明 編譯裝置(aut⑽ated eQde 貝與/或自動化程式碼 機制,可用以指示符合舊有# P1时1011 device ) 一種 令或指令群的中斷處;售;理器去抑制單-指 制,這些現存架構多將此服=處理器架構的限 理。此處應用程式員被賦予了一常式去處 機制,因為他們並不限於僅能 〖、扁寫連續運算的 性的特殊用途巨指令。 使用-或兩種用來確保連續 [0062]現請參閱圖九,i i ^ ^ ^ ^ ^ ^ ^ 4 .1 ! ^ 'Λ # V „ ^ ^ 取、轉譯與執行的方法之運作 =理的曰令’進仃提 塊902,其中-個組態有延1程開Μ方 處理器。流程接著進行至方塊 曰令的程式,被送至微 考〇6於方古塊!〇4中’下一個指令被提取,以進入微 處理态之管線。流程接著進行至判斷方塊,。 200417926 五、發明說明(30) [0 0 6 4 ]於判斷方塊g 〇 6 令進行評估,以判斷是否包 序列。在一x86的實施例中 中斷抑制指定元項目之運算 到該延伸逸出碼與後續項目 未偵測到該延伸逸出碼與延 9〇8。 ’、 [ 0 0 65 ]於方塊9〇8中, -對應微指令序列的延伸項 令序列執行時,抑制中斷處 91〇。 ^ [0066]於方塊910中, 潭,以決定一指定運算、暫 =指定元以及依據該既有微 义之既有架構特徵的使用。 [00 6 7 ]於方塊912中, ,、’以指定該指定運算及其 者進行至方塊914。 ,[0068]於方塊914中, ,,依執行順序送至一微指 仃。流程接著進行至判斷方 [0 069 ]於判斷方塊9 16 =理的中斷。若沒有,則流 %程進行至方塊918。 中,對方塊9 0 4中所提取的指 含一延伸逸出碼-延伸前置碼 ,該評估係用以偵測其後為一 碼值FI ( ICE BKPT )。若偵測 ’則流程進行至方塊910。若 伸指疋元’則流程進行至方塊 微處理器内之延伸轉譯邏輯在 欄位中’指定要在該對應微指 理。流程接著進行至方塊 該指令之所有其餘部分被轉 存器運算元之位置、記憶體位 處理器指令集,由前置碼所指 流程接著進行至方塊91 2。 轉澤邏輯產生一延伸微指令序 對應的運算碼延伸項。流程接 微指令序列在由轉譯裝置處理 令仔列,由微處理器加以執 塊 916 〇 中,進行評估以判斷是否有待 程進行至方塊926。若有,則Page 34 200417926 V. Description of the invention (29) Interrupt processing of the extended instruction. On the other hand, it indicates that the microprocessor which conforms to the old specification =, the preamble interrupts the processing of a certain number of instructions. When the extended finger instruction and subsequent inventions extend the micro-finger through extended finger instructions, according to the content of the bit, the corresponding ^ code extension item 该 of the extended instruction should be suppressed. In another embodiment, the interrupt processing of the first two = columns should be extended and followed by a certain number of instructions: 疋 To be suppressed-the opposite is to determine the subsequent instructions to be continuously executed = 1, ', extended translation logic extension Micro-instruction blocking to ensure uninterrupted execution #: 亚 依此 Configure extension [006 1] Therefore, the invention's compiler (aut (ated eQde and / or automated code mechanism can be used to indicate compliance with the old # P1: 1011 device) A kind of interruption of order or instruction group; sale; processor to suppress single-finger system, these existing architectures mostly use this service as the limit of processor architecture. Here the application programmers are given a routine go mechanism, because they are not limited to special-purpose giant instructions that can only write continuous operations. Use-or two to ensure continuity [0062] Please refer to Figure 9, ii ^ ^ ^ ^ ^ ^ ^ 4 .1! ^ 'Λ # V „^ ^ The operation of the method of extraction, translation and execution = rational Said 'enter the block 902, one of which is configured with a 1-way open-end processor. The process then proceeds to the block's program, which is sent to the micro-test 〇06 in Fanggu Block! 〇 04' The next instruction is fetched to enter the pipeline of the microprocessing state. The flow then proceeds to the judgment block. 200417926 V. Description of the invention (30) [0 0 6 4] The judgment block g 〇6 is evaluated to determine whether the packet Sequence. In an x86 embodiment, the operation of suppressing the specified meta-item is interrupted to the extended escape code and subsequent items do not detect the extended escape code and delay 908. ', [0 0 65] in block 9 In 〇8,-the extended item corresponding to the microinstruction sequence suppresses the interruption point 91 when the sequence is executed. ^ [0066] In block 910, to determine a specified operation, temporarily = specified element and according to the existing micro [00 6 7] In block 912, ,, 'to specify the specified operation and its Proceed to block 914. [0068] In block 914,, send to a microfinger in the order of execution. The process then proceeds to the judge [0 069] at judge block 9 16 = interruption of reason. If not, then The flow process proceeds to block 918. In the finger extracted in block 904, an extended escape code-extended preamble is included, and the evaluation is used to detect a code value FI (ICE BKPT). If the detection ', the flow proceeds to block 910. If the finger is extended, the flow proceeds to the extended translation logic in the block microprocessor. In the field,' specify the corresponding micro-numerology. The flow then proceeds to the block. All other parts of the instruction are transferred to the position of the operand of the dump register and the instruction set of the memory bit processor, and the flow indicated by the preamble proceeds to block 91 2. The translation logic generates an extension of the operation code corresponding to the extended microinstruction sequence. The sequence of micro-instructions is listed in the processing order of the translation device and executed by the microprocessor in block 916. The evaluation is performed to determine whether there is a process to proceed to block 926. If so, then

第36頁 200417926 五、發明說明(31) [ 0 070 ]於方塊918中,一現行微指令執行完成。流 接著進行至判斷方塊920。 [ 007 1 ]於判斷方塊920中,評估一後續微指令之延 抑制欄位,以判斷其是否要不受中斷地執行。若是,則流 程進行至方塊9 2 2。若否,則流程進行至方塊9 2 4。 [ 0 0 72 ]於方塊922中,由於在判斷方塊92〇中已偵 到連續運算,即啟動下個微指令之執行,而流程亦進'行 方塊9 1 8,其中下個微指令即變成現行執行的微指令。 [ 0 073 ]於方塊924中,由於在方塊916中已偵測 中斷’且下個微指令之延伸項欄位未指定抑制中斷處理, 所以微處理器内之轉譯邏輯在處理待處理中斷前,將 控制權轉移至中斷處理程式之微碼,以保存現行執行:^ 用私式的狀態。流程接著進行至方塊9 2 6。 〜 [ 0074 ]於方塊926中,本方法完成。 [』〇75] I然本發明及其目的、特徵與優點已詳細救 ^ ’其它貫施例亦可包含在本發明之範圍β。例如 明已就如下的技術加以敘述:利用已完全佔用人2 構内-單一、未使用之運算碼狀態作為標呓:::架 =伸特徵前置碼。但本發明的範圍就 “[後 不限於已完全佔用之指令集架構, f面來看,亚 單一標記。相反地,本發明涵蓋了未— 、指令,或是 具已使用運算碼之實施例以及= =令集、 貫施例。例如,考慮—沒有未使用運 才曰:標記的 構。本發明之-具體實施例包含了 之 200417926 五、發明說明(32) 運算碼狀態,其中選取標準係依市場因素而決定。另_ 體實施例則包含使用運算碼之一特殊組合作為標記,如 具 % 算碼狀態7FH的連續出現。因此,本發明之本質係在於使 用一標記序列,其後則為一 η位元之延伸前置碼,可允^ 程式貝/編譯貝於一既有之微處理器才曰令集中’指定要和 制個別指令或指令群之中斷處理。 [0 0 7 6 ]此外,雖然上文係利用微處理器為例來解說 本發明及其目的、特徵和優點,熟習此領域技術者仍可察 覺,本發明的範圍並不限於微處理器的架構,而可涵蓋其 他形式之可程式化裝置,如訊號處理器、工業用控制器 (industrial controller)、陣列處理器及其他同類裝 置。 、 總之’以上所述者,僅為本發明之較佳實施例而已, 當不能以之限定本發明所實施之範圍。大凡依本發明申請 專利範圍所作之均等變化與修飾,皆應仍屬於本發明專利 涵蓋之範圍内,謹請貴審查委員明鑑,並祈惠准,是所 至禱。Page 36 200417926 V. Description of the invention (31) [0 070] In block 918, the execution of an existing micro instruction is completed. The flow then proceeds to decision block 920. [0071] In decision block 920, the delay suppression field of a subsequent microinstruction is evaluated to determine whether it is to be executed without interruption. If so, the process proceeds to block 9 2 2. If not, the flow proceeds to block 9 2 4. [0 0 72] In block 922, because continuous operation has been detected in decision block 92, the execution of the next microinstruction is started, and the flow also proceeds to block 9 1 8 where the next microinstruction becomes Micro-instruction currently executed. [0 073] In block 924, because the interrupt has been detected in block 916 'and the extension field of the next microinstruction is not designated to suppress interrupt processing, the translation logic in the microprocessor before processing the pending interrupt, Transfer control to the microcode of the interrupt handler to save the current execution: ^ Use private state. The flow then proceeds to block 9 2 6. [0074] In block 926, the method is completed. [0107] Although the present invention and its objects, features, and advantages have been described in detail ^ 'other embodiments may also be included in the scope of the present invention β. For example, Ming has described the following technology: Use the state of the operator-single-single, unused operation code that has completely occupied the person 2 as the standard: :: shelf = extension feature preamble. However, the scope of the present invention is "[after not limited to the instruction set architecture that has been fully occupied. From the f side, it is a sub-single tag. On the contrary, the present invention covers non-, instructions, or embodiments with used opcodes." And = = order set, implement the example. For example, consider-there is no unused Yuncai: marked structure. The invention-the specific embodiment includes 200417926 V. Description of the invention (32) The state of the operation code, which is selected It is determined by market factors. Another embodiment includes the use of a special combination of operation codes as a mark, such as the continuous appearance of 7FH with a% code status. Therefore, the essence of the present invention is to use a mark sequence, and thereafter It is an n-bit extended preamble, which allows ^ program / compilation in an existing microprocessor's command set to 'specify the interrupt processing of individual instructions or instruction groups. [0 0 7 6] In addition, although the microprocessor is used as an example to explain the present invention and its objects, features, and advantages, those skilled in the art can still perceive that the scope of the present invention is not limited to the architecture of the microprocessor, but can be Cover other forms of programmable devices, such as signal processors, industrial controllers, array processors, and other similar devices. In short, the above is only a preferred embodiment of the present invention, When it is not possible to limit the scope of implementation of the present invention. Any equal changes and modifications made in accordance with the scope of the patent application for the present invention should still fall within the scope of the patent of the present invention. It is all prayer.

200417926 圖式簡單說明 【圖式簡單 [0022] 配合下列說 [0023] 方塊圖; [0024] 指令,如何 之位元邏輯 [0025] [0026] 架構特徵如 邏輯狀態; [0027] 之管線化微 [0028] 要排除中斷 [0029] 部的方塊圖 [0030] 部的方塊圖 [ 0 03 1 ] 指令之相關 說明】 本發明之前述與其它目的、特徵及優點,在 明及所附圖示後,將可獲得更好的理解: 圖一係為一先前技術之微處理器指令格式的 圖二係為一表格,其描述一指令集架搆中之 對,至圖一指令格式内一8位元運算碼位元組 狀態; 圖二係為本發明之延伸指令格式的方塊圖; 圖四係為一表格,其顯示依據本發明,延伸 何對應至一8位元延伸前置碼實施例中位元的 圖五係為使用本發明之選擇性中斷抑制控 處理器的方塊圖; 工 圖六係為本發明於一微處理器中,用以指定 處理的延伸前置碼之具體實施例方塊圖;曰疋 圖七係為圖五微處理器内轉譯階段邏輯之細 .圖八係為圖五微處理器内執行階段邏輯之細 ,以及 圖九係為描述本發明於微處理器中用於 中斷處理的方法之運作流程圖。 、 200417926200417926 Schematic description [Schematic simple [0022] Cooperate with the following [0023] block diagram; [0024] instructions, how to bit logic [0025] [0026] architecture characteristics such as logic state; [0027] pipelined micro [0028] Interruption [0029] Block Diagram [0030] Block Diagram [0 03 1] Instructions Related Instructions] The foregoing and other objects, features, and advantages of the present invention will be described and illustrated. A better understanding will be obtained: Figure 1 is a prior art microprocessor instruction format, Figure 2 is a table describing the pairs in an instruction set architecture, and 8 bits in the instruction format of Figure 1 Meta operation code byte state; Figure 2 is a block diagram of the extended instruction format of the present invention; Figure 4 is a table showing how the extension corresponds to an 8-bit extended preamble embodiment according to the present invention Figure 5 of the bit is a block diagram of the selective interrupt suppression control processor using the present invention; Figure 6 is a block diagram of a specific embodiment of the extended preamble used in a microprocessor of the present invention to specify processing Picture; The translation stage logic within the processor thin. FIG eight lines of the execution stage logic within the microprocessor of FIG fine five, nine, and FIG operating system the interrupt processing flowchart of a method of the present invention is used in the description of the microprocessor. , 200417926

第40頁 圖式簡單說明 100 指 令 格式 101 前 置 碼 102 運 算 碼 103 位 址 指 定 元 200 8位元運算碼圖 201 運 算 碼 值 202 運 算 碼F 1 Η 300 延 伸 指令 格 式 301 前 置 碼 302 運 算 碼 303 位 址 指 定 元 304 延 伸 指令 標 記 305 延 伸 前 置 碼 400 8位元前置碼圖 401 架 構特 徵 500 管 線 化微 處 理器 501 提 取 邏 輯 502 指 令 匯流 排 503 巨 指 令 佇 列 504 匯 流 排 505 轉 譯 邏 輯 506 延 伸 轉譯 邏 輯 507 G 0 I Ν Τ訊號 508 微 指 令佇 列 509 執 行 邏 輯 510 延 伸 執行 邏 輯 511 ΙΝΤ ADDR 匯 流 排 512 CMP訊號 513 INTACK 匯 流 排 514 可 程 式中 斷 控制器 515 記 憶 體 516 匯 流 排單 元 517 中 斷 接 腳 518 中 斷 控制 邏 輯 519 系 統 匯 流 排 600 延 伸 前置 石馬 601 中 斷抑 制爛 位 700 轉 譯 階段 邏 輯 701 啟 動 狀 態 訊 號 702 機 器 特定 暫 存器 703 延 伸 特 徵 欄 位 704 指 令 緩衝 器 705 轉 譯 邏 輯 706 轉 譯 控制 器 707 除 能 訊 號 708 逸 出 指令 偵 測器 709 延 伸 前 置 碼 轉 譯器 200417926 圖式簡單說明 710 指令轉譯器 711 控制唯讀記憶體 712 微指令緩衝器 713 運算碼延伸項欄位 714 微運算碼欄位 715 目的欄位 716 來源欄位 717 位移欄位 718 INT訊號 719 G 0 I N T訊號 800 執行階段邏輯 801 延伸微指令緩衝器 802 資料緩衝器 803 資料緩衝器 804 資料缓衝器 805 延伸執行邏輯 806 抑制計數邏輯 807 中斷確認邏輯 808 INTACK匯流排 809 CMP訊號 810 812 INT ADDR匯流排 中斷致能位元 811 旗標暫存器 9 0 0〜 92 6 用以在微處理器 流程 中抑 制中斷處理的方法之運作Schematic description on page 40 100 Instruction format 101 Preamble 102 Opcode 103 Address designator 200 8-bit opcode figure 201 Opcode value 202 Opcode F 1 Η 300 Extended instruction format 301 Prefix 302 Opcode 303 address designator 304 extended instruction mark 305 extended preamble 400 8-bit preamble figure 401 architecture features 500 pipelined microprocessor 501 extraction logic 502 instruction bus 503 giant instruction queue 504 bus 505 translation logic 506 Extended translation logic 507 G 0 I ΝΤ signal 508 microinstruction queue 509 execution logic 510 extended execution logic 511 INT ADDR bus 512 CMP signal 513 INTACK bus 514 programmable interrupt controller 515 memory 516 bus unit 517 interrupt connection Pin 518 interrupt control logic 519 system bus 600 extended front stone horse 601 interrupt suppression bad bit 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 Disabling signal 708 Escape instruction detector 709 Extended preamble translator 200417926 Schematic description 710 Instruction translator 711 Control read-only memory 712 Microinstruction buffer 713 Opcode extension field 714 Microcode field 715 Destination field 716 Source field 717 Offset field 718 INT signal 719 G 0 INT signal 800 Run-time logic 801 Extend micro Instruction buffer 802 Data buffer 803 Data buffer 804 Data buffer 805 Extended execution logic 806 Suppression count logic 807 Interrupt confirmation logic 808 INTACK bus 809 CMP signal 810 812 INT ADDR bus interrupt enable bit 811 Flag temporarily Register 9 0 0 ~ 92 6 operation of the method for suppressing interrupt processing in the microprocessor flow

第41頁Page 41

Claims (1)

200417926 六、申請專利範圍 1. 一種可在一微 裝置,包含: 一轉譯邏輯,用以將一却 其中該延伸指令包含: ^«— 處理器内進行指令層级之中斷抑制控制的 伸指令轉#成對應的微指令, 其中該延伸指令包含: 一延伸前置碼,用於指定中斷處理要暫停至該延伸指 令執行完畢;以及 一延伸前置碼標記,其係一既有指令集内原本依據架 構指定之運算瑪; 一延伸執行邏輯,耦接I該轉譯邏輯,用以接收該對應 的微指令,並在處理,待處理中斷前,完成該對應微 指令的執行。 2·如申請專利範圍第1項所述之裝置,其中該延伸指令更 包㊁5亥既有指令集中之指令項目。 3 ·如申請專利範圍第2項所述之裝置,其中該指令項目指 疋该微處理器所要執行之運算,且該待處理中斷原本應 在該對應微指令完成執行前處理。 4·如申請專利範圍第3項所述之裝置,更包含: 一旗,暫存器,耦接至該延伸執行邏輯,組態為指定要 ,月b j微處理器之中斷處理,其中該延伸前置碼所指 5如係取代該旗標暫存器所做的指定。 輯包含·· 、 4之裝置,其中該延伸執行邏 一抑制計數邏輯,組態A 成。 為匈斷該對應微指令執行的完200417926 VI. Scope of patent application 1. A micro-device, including: a translation logic, used to extend an extended instruction including: ^ «— instruction extended interrupt control in the processor for instruction level interrupt suppression control # 成 corresponding microinstructions, where the extended instruction includes: an extended preamble, used to specify that interrupt processing is to be suspended until the execution of the extended instruction is completed; and an extended preamble tag, which is an original instruction set in the existing instruction set According to the operation specified by the architecture; an extended execution logic, coupled to the translation logic, to receive the corresponding microinstruction and complete the execution of the corresponding microinstruction before processing or pending interruption. 2. The device according to item 1 of the scope of patent application, wherein the extended instruction further includes the instruction items in the existing instruction set of the 5th. 3. The device as described in item 2 of the scope of patent application, wherein the instruction item refers to the operation to be performed by the microprocessor, and the pending interrupt should have been processed before the corresponding micro instruction completes execution. 4. The device described in item 3 of the scope of patent application, further comprising: a flag, a register, coupled to the extension execution logic, configured to specify the interrupt processing of the BJ microprocessor, where the extension The prefix 5 refers to the designation that replaces the flag register. The series contains devices such as ·· 4, where the extension performs logic-suppression counting logic and configures A into. Complete the execution of the corresponding microinstruction for Hungary 第42頁 mm 200417926 六、申請專利範圍 6. 如申請專利範圍第1項所述之裝置,其中該轉譯邏輯判 斷該延伸指令執行的完成,且該轉譯邏輯排除該待處理 中斷的處理。 7. 如申請專利範圍第1項所述之裝置,其中該延伸前置碼 包含8個位元。 8. 如申請專利範圍第1項所述之裝置,其中該延伸前置碼 包含:Page 42 mm 200417926 6. Scope of patent application 6. The device described in item 1 of the scope of patent application, wherein the translation logic judges the completion of the execution of the extended instruction, and the translation logic excludes the processing of the pending interrupt. 7. The device according to item 1 of the scope of patent application, wherein the extended preamble includes 8 bits. 8. The device according to item 1 of the scope of patent application, wherein the extended preamble includes: 一中斷抑制欄位,用以指定要抑制中斷處理,直至複數 個巨指令執行完畢,其中該延伸指令係該些巨指令之 一第一巨指令。 9. 如申請專利範圍第1項所述之裝置,其中該既有指令集 包含x86指令集。 1 0.如申請專利範圍第1項所述之裝置,其中該延伸前置碼 標記包含x86指令集之運算碼FI (ICE BKPT)。 11.如申請專利範圍第1項所述之裝置,其中該轉譯邏輯包 含: 一逸出指令偵測邏輯,用於偵測該延伸前置碼標記;An interrupt suppression field is used to specify that interrupt processing is to be suppressed until the execution of a plurality of giant instructions, wherein the extended instruction is a first giant instruction of the giant instructions. 9. The device according to item 1 of the scope of patent application, wherein the existing instruction set includes an x86 instruction set. 10. The device as described in item 1 of the scope of patent application, wherein the extended preamble mark includes an operation code FI (ICE BKPT) of the x86 instruction set. 11. The device according to item 1 of the scope of patent application, wherein the translation logic includes: an escape instruction detection logic for detecting the extended preamble mark; 一指令轉譯邏輯,用以決定該微處理器要執行之運 算,並於該對應微指令内指定該運算;以及 一延伸轉譯邏輯,耦接至該逸出指令偵測邏輯與該指 令轉譯邏輯,用以於該對應微指令内指定要抑制中 斷處理。 1 2. —種擴充一既有指令集以選擇性地抑制中斷的微處理 器機制,包含:An instruction translation logic for determining an operation to be executed by the microprocessor and specifying the operation in the corresponding microinstruction; and an extended translation logic coupled to the escape instruction detection logic and the instruction translation logic, It is used to specify that interrupt processing is to be suppressed in the corresponding microinstruction. 1 2. A microprocessor mechanism that extends an existing instruction set to selectively suppress interrupts, including: 第43頁 200417926 六、申請專利範圍 -- 一延伸指令,組態為指定與該中斷相關之中斷處理要 被抑制,直至該延伸指令執行完畢,其中該延伸指 令包含該既有指令集其中一選取之運算碼,其後則 接著一 η位元之延伸前置碼,該選取之運算碼指出該 延伸指令’而遠η位元之延伸前置碼則指定要抑制中 斷處理;以及 一轉譯器,組態為接收該延伸指令,並產生一微指令 序列,以指示一微處理器抑制處理該中斷,直至該 微指令序列執行完畢。Page 43 200417926 6. Scope of Patent Application-An extended instruction configured to specify that interrupt processing related to the interrupt is to be suppressed until the execution of the extended instruction is completed, where the extended instruction includes one of the existing instruction set selections An operation code followed by an n-bit extended preamble, the selected operation code indicates the extended instruction, and the extended n-bit extended preamble specifies that interrupt processing should be suppressed; and a translator, It is configured to receive the extended instruction and generate a microinstruction sequence to instruct a microprocessor to suppress processing of the interrupt until the execution of the microinstruction sequence is completed. 1 3·如申請專利範圍第丨2項所述之微處理器機制,其中該 延伸指令更包含: 其餘指令項目,組態為指定該微處理器所要執行的運 算。 1 4·如申請專利範圍第1 2項所述之微處理器機制,其中該〇 4立元之前置碼包含: 一中斷抑制欄位,組態為指定要抑制中斷處理,直至 複數個巨指令執行完畢,其中該延伸指令係該些巨 指令中第一個巨指令。1 3. The microprocessor mechanism as described in item 2 of the patent application scope, wherein the extended instruction further includes: the remaining instruction items are configured to specify the operations to be performed by the microprocessor. 14. The microprocessor mechanism as described in item 12 of the scope of the patent application, wherein the pre-code of 004 yuan includes: an interrupt suppression field configured to specify that interrupt processing is to be suppressed until a plurality of The execution of the instruction is completed, wherein the extended instruction is the first one of the giant instructions. 1 5 ·如申請專利範圍第丨2項所述之微處理器機制,其中該 延伸指令指示該微處理器取代由一旗標暫存器所提供 之中斷致能指示。 1 6 ·如申請專利範圍第1 2項所述之微處理器機制,其中該η 位元之延伸前置碼包含8個位元。 1 7 ·如申請專利範圍第1 2項所述之微處理器機制,其中該1 5. The microprocessor mechanism as described in item 2 of the patent application scope, wherein the extended instruction instructs the microprocessor to replace the interrupt enable instruction provided by a flag register. 16 The microprocessor mechanism as described in item 12 of the scope of the patent application, wherein the extended preamble of the n-bit bit includes 8 bits. 1 7 · The microprocessor mechanism described in item 12 of the patent application scope, wherein 200417926 六、申請專利範圍 既有指令集係x86微處理器指令集。 1 8.如申請專利範圍第1 2項所述之微處理器機制,其中該 選取之運算碼包括x86微處理器指令集中之ICE BKPT運 算碼(即運算碼F1 )。 1 9.如申請專利範圍第1 2項所述之微處理器機制,其中該 轉譯器包含: 一逸出指令偵測器,用以偵測該延伸指令内之該選取 之運算碼; 一指令轉譯器,用以轉譯該延伸指令之其餘部分,以 決定該微處理器所要執行的運算;以及 一延伸前置碼轉譯器,耦接至該逸出指令偵測器及該 指令轉譯器,用以轉譯該n位元之延伸前置碼,並指 定要抑制中斷處理,直至該微指令序列完成執行。 2 0.如申請專利範圍第1 2項所述之微處理器機制,更包 含: 一延伸執行邏輯,耦接至該轉譯器,用以接收該微指 令序列,執行該運算,以及指出該微指令序列執行 的完成。 2 1.如申請專利範圍第2 0項所述之微處理器機制,其中該 延伸執行邏輯包含: / 一抑制計數邏輯,組態為判斷該對應微指令執行的完 成。 2 2.如申請專利範圍第1 2項所述之微處理器機制,其中該 轉譯器判斷該延伸指令執行的完成,且該轉譯器排除200417926 VI. Patent Application Existing instruction set is x86 microprocessor instruction set. 1 8. The microprocessor mechanism described in item 12 of the scope of patent application, wherein the selected operation code includes the ICE BKPT operation code (ie operation code F1) in the instruction set of the x86 microprocessor. 19. The microprocessor mechanism according to item 12 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 A translator for translating the rest of the extended instruction to determine the operation to be performed by the microprocessor; and an extended preamble translator coupled to the escape instruction detector and the instruction translator, Translating the n-bit extended preamble and specifying that interrupt processing is to be suppressed until the microinstruction sequence is completed. 20. The microprocessor mechanism as described in item 12 of the scope of patent application, further comprising: an extended execution logic coupled to the translator to receive the micro instruction sequence, execute the operation, and indicate the micro Completion of instruction sequence execution. 2 1. The microprocessor mechanism according to item 20 of the scope of patent application, wherein the extended execution logic includes: / a suppression counting logic configured to judge completion of execution of the corresponding microinstruction. 2 2. The microprocessor mechanism according to item 12 of the scope of patent application, wherein the translator judges the completion of execution of the extended instruction, and the translator excludes 417926 六 '申請專·® -- —〜--_ °玄中斷的處理。 23·八種為一既有指令集增添中斷抑制特徵的模組,包 逸出標記,指出一對應指令之附隨部分係指定了所 要執行之一運算,其中该逸出標記為該既有指令集 内之一第一運算碼; 一 一中斷抑制指定元,耦接矣該逸出標記,且為該附隨 部分其中之一,其指定要抑制中斷處理,直至該 算完成; 一轉譯邏輯,用以接收該盛出標記與該中斷抑制指定 兀,且產生一微指令序列’以指示一微處理器執行 該運算,該轉譯邏輯旅用以指示要抑制中斷處理, 直至該運算完成;以及 一延伸執行邏輯,耦接多该轉譯邏輯,用以接收該微 指令序列,並在處理〆待處理中斷前,完成該運算 的執行。 2 4 ·如申請專利範圍第2 3項所述之柄組,其中該附隨部分 之其餘部分包含一第二連务碼,用以指定該運算。 2 5 ·如申請專利範圍第2 3項所述之模組,其中該中斷抑制 指定元包含8個位元。 26·如申請專利範圍第23項所述之模組,其中該既有指人 集係x86指令集。 7 27·如申請專利範圍第23項所述之模組,其中該第— 碼包含χ86指令集中之ICE ΒΚΡΤ運算碼、(即運算碼异417926 VI 'Application for Specialist®®--~ --_ ° Mysterious interrupted processing. 23. Eight types of modules that add interrupt suppression features to an existing instruction set, including escape flags, indicate that the accompanying part of a corresponding instruction specifies an operation to be performed, where the escape flag is the existing instruction One of the first opcodes in the set; one interrupt suppression designator, coupled to the escape tag, and one of the accompanying parts, which specifies that interrupt processing should be suppressed until the calculation is completed; a translation logic, For receiving the exit flag and the interrupt suppression designation, and generating a micro-instruction sequence 'to instruct a microprocessor to perform the operation, and the translation logic is used to instruct the interrupt processing to be suppressed until the operation is completed; and The extended execution logic is coupled to the translation logic to receive the microinstruction sequence and complete the execution of the operation before processing the pending interrupt. 2 4 · The handle set described in item 23 of the scope of patent application, wherein the rest of the accompanying part contains a second service code to specify the operation. 2 5 · The module as described in item 23 of the scope of patent application, wherein the interrupt suppression designation element includes 8 bits. 26. The module according to item 23 of the scope of application for a patent, wherein the existing reference set is the x86 instruction set. 7 27. The module as described in item 23 of the scope of patent application, wherein the first code includes the ICE BKPT operation code in the χ86 instruction set, (that is, the operation code is different 第46頁 200417926 六、申請專利範圍 F1 ) ° 2 8 ·如申請專利範圍第2 3項所述之模組,其中該轉譯邏輯 包含: 一逸出標記偵測邏輯,用以偵測該逸出標記,並指示 該附隨部分的轉譯動作需依據延伸轉譯常規 (convent i 〇ns );以及 一轉譯邏輯,耗接至該逸出標記偵測邏輯,用以依據 該既有指令集之常規,執行指令的轉譯動作,並依 據該延伸轉譯常規執行該對應指令之轉譯,以排除 中斷處理,直至該運算完成。 2 9 · —種擴充一既有指令集架構的方法,以於指令層級抑 制中斷處理,該方法包含: 提供一延伸指令,該延伸指令包含一延伸標記及一延 伸前置碼,其中該延伸標記係該既有指令集架構其 中一第一運算碼項目; 透過該延伸前置碼指定於該延伸指令執行時,抑制中 斷處理,其中該延伸指令之其餘部分指定所要執行 之一運算;以及 於該延伸指令執行時,抑制處理一中斷。 3 〇 ·如申請專利範圍第2 g項所述之方法,其中該指定動作 包含: 使用該既有指令集架構之〆第二運算碼項目來指定該 運算。 7 ^ ” 31 ·如申睛專利範圍第2 9項所述之方法’其中該提供延伸Page 46 200417926 VI. Patent application scope F1) ° 2 8 · The module described in item 23 of the patent application scope, wherein the translation logic includes: an escape mark detection logic to detect the escape Mark, and indicate that the translation action of the accompanying part should be based on extended translation conventions (convent i 0ns); and a translation logic, which is consumed by the escape mark detection logic to follow the convention of the existing instruction set, The translation operation of the instruction is executed, and the translation of the corresponding instruction is executed according to the extended translation routine, so as to eliminate interrupt processing until the operation is completed. 2 9 · —A method for expanding an existing instruction set architecture to suppress interrupt processing at the instruction level. The method includes: providing an extended instruction, the extended instruction includes an extension mark and an extension prefix, wherein the extension mark It is one of the first operation code items in the existing instruction set architecture; the extension preamble is used to suppress interrupt processing when the extension instruction is executed, and the rest of the extension instruction specifies an operation to be performed; and When an extended instruction is executed, an interrupt is suppressed. 3 〇 The method described in item 2g of the scope of patent application, wherein the specified action includes: using the second operation code item of the existing instruction set architecture to specify the operation. 7 ^ ”31 · The method as described in item 2 of Shenyan ’s patent scope’, where the extension is provided 200417926 申請專利範圍 4曰令之動作包含使用一 8位元大小之項目,以對該延伸 前置碼進行組態。 3 2 ·如申請專利範圍第2 9項所述之方法,其中該提供延伸 指令之動作包含從χ86微處理器指令集架構選取該第一 運算碼項目。 3 3 ·如申請專利範圍第2 9項所述之方法,其中該提供延伸 指令之動作包含選取x86 ICE ΒΚΡΤ運异碼(即運算碼 F 1 )作為該延伸標記。 3 4 ·如申請專利範圍第2 9項所述之方法,更包含: 將該延伸指令轉譯成一微指令序j ’該微指令序列係 指示一延伸執行邏輯執行該運具’且抑制中斷處理 直至該運算執行完成。 、 3 5 ·如申請專利範圍第3 4項所述之方法’其中該轉譯延伸 指令的動作包含: 於一轉譯邏輯内,偵測該延伸裇圮以及 依照延伸轉譯規則轉譯該延伸前置碼與該其餘部分’ 以產生該微指令序列。200417926 The scope of the 4th patent application includes the use of an 8-bit item to configure the extended preamble. 32. The method as described in item 29 of the scope of patent application, wherein the action of providing an extended instruction includes selecting the first opcode item from the x86 microprocessor instruction set architecture. 3 3 · The method as described in item 29 of the scope of patent application, wherein the action of providing an extension instruction includes selecting an x86 ICE ΒΚΡΤ transport code (that is, an operation code F 1) as the extension mark. 3 4 · The method described in item 29 of the scope of patent application, further comprising: translating the extended instruction into a micro instruction sequence j 'The micro instruction sequence instructs an extended execution logic to execute the vehicle' and suppresses interrupt processing until The operation is completed. 3,5. The method described in item 34 of the scope of patent application, wherein the action of the translation extension instruction includes: detecting the extension in a translation logic and translating the extension preamble and The rest 'to generate the microinstruction sequence. __
TW92123371A 2003-03-10 2003-08-26 Selective interrupt suppression TWI224284B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/384,390 US7546446B2 (en) 2002-03-08 2003-03-10 Selective interrupt suppression

Publications (2)

Publication Number Publication Date
TW200417926A true TW200417926A (en) 2004-09-16
TWI224284B TWI224284B (en) 2004-11-21

Family

ID=34272273

Family Applications (1)

Application Number Title Priority Date Filing Date
TW92123371A TWI224284B (en) 2003-03-10 2003-08-26 Selective interrupt suppression

Country Status (2)

Country Link
CN (1) CN1271511C (en)
TW (1) TWI224284B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI486879B (en) * 2011-12-22 2015-06-01 Intel Corp Interrupt return instruction with embedded interrupt service functionality

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073551B (en) * 2010-02-16 2014-03-12 威盛电子股份有限公司 Self-reset microprocessor and method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI486879B (en) * 2011-12-22 2015-06-01 Intel Corp Interrupt return instruction with embedded interrupt service functionality
US9378164B2 (en) 2011-12-22 2016-06-28 Intel Corporation Interrupt return instruction with embedded interrupt service functionality
US10095520B2 (en) 2011-12-22 2018-10-09 Intel Corporation Interrupt return instruction with embedded interrupt service functionality

Also Published As

Publication number Publication date
CN1514350A (en) 2004-07-21
TWI224284B (en) 2004-11-21
CN1271511C (en) 2006-08-23

Similar Documents

Publication Publication Date Title
JP6849274B2 (en) Instructions and logic to perform a single fused cycle increment-comparison-jump
EP2524303B1 (en) Mapping between registers used by multiple instruction sets
CN108139908B (en) Move prefix instructions
TW591527B (en) Apparatus and method for extending a microprocessor instruction set
TWI514265B (en) Microprocessor that translates conditional load/store instructions into variable number of microinstructions
EP2430526B1 (en) Instruction cracking based on machine state
JP6761565B2 (en) Out-of-order hardware software co-designed How and equipment to implement and maintain a stack of predefined values using stack synchronization instructions in a processor.
JP6867082B2 (en) Equipment, methods, programs, and computer-readable recording media
US9372696B2 (en) Microprocessor with compressed and uncompressed microcode memories
JP2001195250A (en) Instruction translator and instruction memory with translator and data processor using the same
JP2014194770A (en) Instruction emulation processors, methods, and systems
JP5947879B2 (en) System, apparatus, and method for performing jump using mask register
TWI569205B (en) A microprocessor and an operating method thereof
KR20170099872A (en) Systems, apparatuses, and methods for data speculation execution
JP2021174513A (en) Instruction set architecture-based automatic load tracking for opportunistic reinduction of data-dependent vulnerable branch
CN105190551B (en) Dual boot system with memory region swap mechanism
KR20170097015A (en) Method and apparatus for expanding a mask to a vector of mask values
JP2004538556A (en) Non-processing operation processing in multiple instruction set systems
TW201516861A (en) Microprocessor, methods of selectively decompressing microcode, generating selectively compressed microcode, and generating a description, and computer program product
US20150113253A1 (en) Selectively compressed microcode
TW200417926A (en) Selective interrupt suppression
TWI230356B (en) Apparatus and method for extending address modes in a microprocessor
TW561406B (en) Apparatus and method for selective control of results write back
TWI245221B (en) Apparatus and method for selective memory attribute control
GB2515020A (en) Operand generation in at least one processing pipeline

Legal Events

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