TWI223773B - Suppression of store checking - Google Patents

Suppression of store checking Download PDF

Info

Publication number
TWI223773B
TWI223773B TW92100942A TW92100942A TWI223773B TW I223773 B TWI223773 B TW I223773B TW 92100942 A TW92100942 A TW 92100942A TW 92100942 A TW92100942 A TW 92100942A TW I223773 B TWI223773 B TW I223773B
Authority
TW
Taiwan
Prior art keywords
instruction
extended
item
logic
scope
Prior art date
Application number
TW92100942A
Other languages
Chinese (zh)
Other versions
TW200406702A (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/283,397 external-priority patent/US7302551B2/en
Application filed by Ip First Llc filed Critical Ip First Llc
Publication of TW200406702A publication Critical patent/TW200406702A/en
Application granted granted Critical
Publication of TWI223773B publication Critical patent/TWI223773B/en

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

An apparatus and method are provided for extending a microprocessor instruction set to allow for selective suppression of store checking at the instruction level. The apparatus includes fetch logic, and translation logic. The fetch logic receives an extended instruction. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies that store checking be suppressed for the extended instruction. The extended prefix tag is an otherwise architectural opcode within an existing instruction set. The fetch logic precludes store checking for pending store events associated with the extended instruction. The translation logic is coupled to the fetch logic. The translation logic translates the extended instruction into a micro instruction sequence that sequence directs the microprocessor to exclude store checking during execution of a prescribed operation.

Description

1223773 五、發明說明(1) 與相關申請案之對照 [0001]本申請案主張以下美國申請案之優先權:案 號10/283, 397,申請日為2002年10月29日。 [0 0 0 2 ]本申請案與下列同在申請中之美國專利申請 案有關,都具有相同的申請人與發明人。 台涫申讀 案號 申讀曰 DOCKET NUMBER 專利名稱 91116957 7/30/02 CNTR:2176 延伸微處理器指令集之裝置及方 法 91116958 7/3Q/02 CNTR:2186 執行條#指令之裴置及方法 91124008 10/18/02 CNTR:21g7 選擇性控制記懷撤1性之裘置及 方法 91116956 7/30/02 asm 2188 選擇性地控制條#碼回寫之裝置 及方法 91116959 7/30/02 CNTR:2189 增加微處理器之暫存器數曼的機 制 91124005 10/18/02 CNTR:2190 延伸微處理器資料模式之農置及 方法 91124006 10/18/02 CNTR:2191 延伸微處理器位址模式之裝置及 方法 CNTR:2193 選擇性中斷之禁止 91124007 10/18/02 GNTR:2195 非暫存記愧艘之參照控制機制 91116672 7/26/02 CNTR:2198 選擇性地控制結果回寫之裝置及 方法 【發明所屬之技術領域】 [0 0 0 3 ]本發明係有關微電子之領域,尤指一種將可 於指令層次選擇性地禁止儲存檢查(store checking)的1223773 V. Description of the invention (1) Contrast with related applications [0001] This application claims the priority of the following US applications: Case No. 10/283, 397, the application date is October 29, 2002. [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. Applicant's case number for reading Taiwan's application number DOCKET NUMBER Patent name 91116957 7/30/02 CNTR: 2176 Device and method for extending microprocessor instruction set 91116958 7 / 3Q / 02 CNTR: 2186 Execution # instruction instruction and method 91124008 10/18/02 CNTR: 21g7 Selective control method and method for remembering and dismantling the nature of 91911956 7/30/02 asm 2188 Device and method for selectively controlling the write-back of bar code 91116959 7/30/02 CNTR : 2189 Mechanism for increasing the number of registers in the microprocessor 91124005 10/18/02 CNTR: 2190 Farming method and method for extending microprocessor data mode 91124006 10/18/02 CNTR: 2191 Extended microprocessor address mode Device and method CNTR: 2193 Prohibition of selective interruption 91124007 10/18/02 GNTR: 2195 Reference control mechanism for non-temporary shame ships 91116672 7/26/02 CNTR: 2198 Device for selectively controlling the write-back of results and Method [Technical field to which the invention belongs] [0 0 0 3] The present invention relates to the field of microelectronics, and more particularly to a method that can selectively prohibit store checking at the instruction level.

1223773 五、發明說明(2) 特徵納入一既有微處理器指令集架構的技術 【先前技術】 [ 0004 ]自1 970年代初發物以來,微處理 呈指數般成長。從最早應用於風 吏用即 1?;些特殊領域5:進商業的消;者領::上 的3田)電腦、視訊遊戲控制器以及許多、盆他常見 的豕用與商用裝置等產品。 夕八他吊見 [ 0 0 0 5]隨t使用上的爆炸性成長,在姆 其特徵在於對下列項目有著曰益昇7之 ^更快的迷度、更強的定址能力、更快 ;篡更,;ί元、更多種-般用途類型之運算(如浮點 運异、早一指令多重資料(SIMD)、條件移動等)以及附 ^的特殊用途運算(如數位訊號處理功能及其他多媒體運 算)。如此造就了該領域中驚人的技術進展,且都已應用 於微處理器之設計,像擴充管線化(extensive 〜 pipelining)、超純量架構(SUper — scaiar architecture )、快取結構、亂序處理(〇ut — 〇f — 〇rder processing)、爆發式存取(burs1: access)機制、分支 預測(branch predication)以及假想執行 (speculative execution)。直言之,比起30年前剛出 現時,現在的微處理器-呈現出驚人的複雜度,且具備了強 大的能力。 [0006]但與許多其他產品不同的是,有另一非常重1223773 V. Description of the invention (2) Technology incorporating features of an existing microprocessor instruction set architecture [Previous Technology] [0004] Since the early 1970s, microprocessing has grown exponentially. From the earliest application to the official use of 1 ?; some special areas 5: enter the commercial consumer; the leading :: Mita of the above) computers, video game controllers and many other common use and commercial devices and other products . Xiba he sang to see that [0 0 0 5] with the explosive growth in the use of t, which is characterized by having the following items: faster speed, stronger addressing ability, faster; More; ί yuan, more general-purpose types of operations (such as floating-point operations, early instruction multiple data (SIMD), conditional movement, etc.), and special-purpose operations with ^ (such as digital signal processing functions and other Multimedia computing). This has created amazing technological progress in this field and has been applied to the design of microprocessors, such as extensive ~ pipelining, SUper — scaiar architecture, cache structure, and out-of-order processing. (〇ut — 〇f — 〇rder processing), burst 1: access mechanism, branch predication, and speculative execution. To put it bluntly, today's microprocessors-show a tremendous amount of complexity and powerful capabilities compared to when they first appeared 30 years ago. [0006] But unlike many other products, there is another very important

第7頁 麵 1223773 i、發明說明(3) ---- 要的因素已限制了 ’並持續限制著微處理器架 ^ 現今微處理器會如此複雜,一大部分得歸^^ ^演進。 即舊有軟體之相容性。在市場考量下,所多製商^ =, 新的架構特徵納入最新的微處理器設計中,作5 : ^擇將 最新的產品中,又保留了所有為確保相容於===在這些 謂「舊有」(1 egacy )應用程式所必需之能力、、即所 [ 0007]這種舊有軟體相容性的負擔,%支有1 方’會比在x86-相容之微處理器的發展史中加、^^ 見。大家都知道’現在的32/16位元之虛擬模式‘、、、易 (VirtUal-m〇de)x86微處理器’仍可執行19& 寫之8位元真實模式(real-mode)的應用程 戈孰所撰 領域技術者也承認,有不少相關的架構「包 摊;此 架構中U為了支援與舊有應用程式及運作 性。雖然在過去’研發者可將新開發的架構‘徵:::: ms ’但如今使用這些特徵所憑藉之工具,即可 將更新的特徵納入一既有的架構,讓…可藉以 未定[義〇〇:」位例如//x86指令集架構中,已經⑽ 木疋我的一位兀組大小的運笪 在主要的-位元組大小之x86vm;^未被使用的。 碼狀態都已被既有的户入社1异碼圖中,全部256個運算 的設叶者現# —曰々 了。結果是,X 8 6微處理器 者間作抉擇。若要提供新的可匕:::有軟體相谷性兩 J %式化特敛,則必須分派運 五、發明說明(4) 算碼狀態給這些特徵。若 算碼狀態,則某些既存的運曾碼=集架構沒有多餘的運 供給新的特徵。因此,為=二狀悲必須重新定義,以提 軟體的相容性了。 /、新的特徵,就得犧牲舊有 [0 0 0 9 ]在現代的微處理器中 的特徵,但在此之前都因m77有些程式員希望納人 特徵即是,於指令層次控無法實現。其中一項 [0 0 1 0 ]既然幾乎^^疋 不止儲存檢查。 管線架構,那就都使用了多階段的 個被提取到管線的指令报曰一二士可能性極高),一 運算的目標,而該健存一暫停(pending)儲存 尚未執行完成。也就是運;=二管線後面的階段,但 在許多不同情況下都上:己憶體或内部快取記憶幻。這 行到-個未用來寫入記儲存指令可能正進 -適當的時間,以便寫=::=;緩衝器正等待 離開管線。熟悉此領域技術;將察匕=令卻被允許 器設計者提出各種挑戰,1盥循床二線架構對微處理 關,但這些指令有一 1 1、;、循序執仃私令之同步化有 [0011] 程式員所要執行的指令。 有心々,真的是應用 種裝置與工具,以對昭、f =些微處理器管線内有提供各 I、還未寫入記憶體的暫停儲存事件, 1223773 五、發明說明(5) 來檢查所有進入管線的指人 -步對照儲存指令之目的:址:彳二:存指令,? C 快;=暫停儲存事件,其目的位址對應 置’則管線會暫停運作,而U:進入管線之指令的位 體。當管線暫停運作時,;件即被允許寫入記憶 位置再次提取該進人管線料寫人後’便從原來 -儲存指令執行時,若:=:,t被允許通過管線。在 到,且其位置(即其指令“:,一;前的管線階段被價測 IP))對應至該儲存指令P〇inter, 步邏輯會將管線運作暫停’則微處理器中之同 所有管線階段。在二 2空=前管線階段之前的 管線。 曰令寫入其^料後,會重新填充 _?0l2j M存檢查是一項極為繁重的作業,其所需之 硬體與微處理器内管線階iR从虹ω丄 八尸而之 儲存目的與指令位置比。這就是為何’ 本質上非常複雜,換為實體位址在 位址來達成。 ★查uu虛擬位址而非實體 [0 013 ]現在,程式員無法控制微處理器之儲存檢杳 特徵。若程式員選用自我修正碼(self_modif二存檢查 code)的技術,則他/她必須確 儲存目標的後續”’真的是對應的應用程式= 之异所之 第10頁 五、發明說明(6) 需。在來源碼(source code)的層級, 的,雖然這樣一種程式技術並非理相。秋疋了/達成 不執行來源碼。自動化編譯器從;: 理器並 理器所需之指令流。所產生的指令斤碼產生微處 口》之排列(alignment )特性,而在同—扁学 錯的程式碼與資料。因此,即使 、、、友内匕3父 我修正來源碼之一致性的工具吏用以確保自 ,Ch一 i〇n)事件仍可能:程線式= 地產生。 7八碼的編#,而不利 [0014]程式員基於各種改 -指令前安插—儲存運算,_ 1考1,可能想在 要的執行順序仍是執行該位置修 2二的位置’但所 :因現在儲存檢查…刚這=:以::序為: 檢查[:二因:一,:::/理 法,其中該指令集4==:2構的裝置及方 納入該禁止特徵能讓—符人運异碼完全佔用,且 舊有應用程式的能力,同^=2處理器保留執行 用程式員及/或編譯号抑制、a ’ ;可特疋指令,還提供應 為控制疋否執行儲存檢查的能力。 【發明内容】 [0016]本發明如同前述其他 + 其他習知技術之問題蛊# 3業係針對上述及 I、缺點加以克服。本發 1223773 發明說明(7) 好的技術,用以擴充微處理器之指令集,使其超越現有的 能力,提供指令層級之儲存檢查禁止特徵。在一具體實施 例中’提供了一種可在微處理器内進行指令層級之儲存檢 查控制的裝置。該裝置包括一提取邏輯(fetch logic) 與一轉澤邏輯(translation logic)。該提取邏輯接收 一延伸指令。該延伸指令具一延伸前置碼(extended prefix)與一延伸前置碼標記(extended prefix tag )。該延伸前置碼指定要禁止該延伸指令之儲存檢 查。該延伸前置碼標記則係一既有指令集内另一架構運算 碼。該提取邏輯對於該延伸指令之相關暫停儲存事件,排 除其儲存檢查。該轉譯邏輯耦接至提取邏輯,將該延伸指 々轉澤成一微指令序列(micr〇 instructi〇n sequence ) 除儲存檢查 以指示該微處理器於一指定運算執行時,排 [0017]本發明的一個目的,係提出一種擴充既 二集,以在一微處理器管線内選擇性地禁止儲存檢查的 處理器機制。該微處理器機制具有一延伸指令盥一^考Page 7 Page 1223773 i. Description of the invention (3) ---- The important factors have limited ′ and continue to limit the microprocessor rack ^ Today microprocessors will be so complicated that a large part of them must be evolved ^^ ^. That is the compatibility of old software. In consideration of the market, all manufacturers ^ =, new architecture features are incorporated into the latest microprocessor design, make 5: ^ choose to incorporate the latest products, and retain all to ensure compatibility === in these It is said that the capabilities necessary for "1 egacy" applications, that is, the burden of compatibility of the old software [0007], is 1% more than that in x86-compatible microprocessors. See the history of development in Canada, ^^. Everyone knows that 'virtual 32 / 16-bit virtual mode', VirtUal-m86 x86 microprocessor 'can still implement 19-bit 8-bit real-mode applications Technologists in the field written by Cheng Gezhen also acknowledge that there are many related architectures "outsourcing; in this architecture, U is used to support the old applications and operability. Although in the past, 'developers can use the newly developed architecture' :::: ms' But now using the tools that these features rely on, you can incorporate the updated features into an existing architecture, so that ... you can use undefined [definition 00 ::] bits such as // x86 instruction set architecture, Already, the size of one of my blocks is running in the main-byte size x86vm; ^ unused. The code status has been shown in the existing code of the household registration agency 1, and all 256 operators are now set to # — 现. As a result, the X 8 6 microprocessor makes a choice. If you want to provide a new dagger that can be used :: The software has two J% formulas and special features, you must assign the shipment. 5. Description of the invention (4) The state of the code gives these characteristics. If the state of the code is calculated, then some existing transport code = set architectures have no extra transport supplies and new features. Therefore, it is necessary to re-define the two states to improve the compatibility of the software. /, New features, you have to sacrifice the old [0 0 0 9] features in modern microprocessors, but before that, some programmers in m77 wanted to include people, which is impossible to achieve at the command level. . One of the items [0 0 1 0] since almost ^^ 疋 more than storage check. The pipeline architecture uses multi-stage instructions that are extracted to the pipeline (the probability is very high), an operation target, and the storage and pending storage have not yet been completed. That is to say; the stage behind the second pipeline, but in many different situations: memory or internal cache memory. This line to-an unused write-storage instruction may be progressing-the appropriate time to write = :: =; the buffer is waiting to leave the pipeline. Familiar with the technology in this field; the designer is allowed to pose various challenges. The two-tiered architecture is related to micro-processing, but these instructions have one. 1. Synchronize the execution of the private order. [0011] An instruction to be executed by a programmer. I ’m worried, it ’s really a kind of device and tool, in order to show that there are paused storage events in the microprocessor pipeline that provide each I and have not been written into memory. 1223773 V. Description of the invention (5) Check all The purpose of step-by-step control instructions to enter the pipeline: Address: II: Save instruction,? C fast; = pause storage event, the destination address corresponding to the corresponding ’then the pipeline will suspend operation, and U: the bit of the instruction to enter the pipeline. When the pipeline is suspended, the pieces are allowed to be written to the memory location and the pipeline is written again. After the writer is written from the original -storage instruction, if: = :, t is allowed to pass through the pipeline. At the time, and its position (that is, its instruction ":, a; the previous pipeline stage was measured IP)) corresponds to the storage instruction Pinter, the step logic will suspend the pipeline operation 'all the same in the microprocessor The pipeline phase. The pipeline before the 2 empty = the previous pipeline phase. After the command is written, it will be refilled. _? 0l2j M check is a very heavy operation, the required hardware and micro processing The storage purpose of the pipeline stage iR from the rainbow ω 丄 corpse is compared with the command position. This is why 'It is very complicated in nature, and it is achieved by replacing the physical address with the address. ★ Check uu virtual address instead of entity [ [0 013] At present, the programmer cannot control the storage inspection feature of the microprocessor. If the programmer chooses the technology of self-modif (Second Memory Check Code), he / she must make sure that the follow-up of the storage target "'is really Corresponding application = Differences on page 10 5. Invention description (6) Need. At the source code level, although such a programming technique is not reasonable. Qiu Jiu / Achieved Does not execute the source code. Automated compiler slave :: instruction stream required by the processor and the parallel. The generated command code generates a micro-alignment alignment feature, and the code and data that are wrong in the same-bian learning. Therefore, even if the tools used to ensure the consistency of the source code are used to ensure the self-chapter, Ch-inon) events are still possible: the process line type = ground. 7 八 码 的 编 #, which is unfavorable [0014] The programmer based on various changes-insert before the instruction-storage operation, _ 1 test 1, you may want to perform the position repair 2 2 position in the desired execution sequence 'but the : Because of the current storage check ... just this =: in the order of :: check [: two reasons: one, ::: / rational method, where the instruction set 4 ==: 2 structured devices and methods include the prohibition feature to allow —Fun Renyun ’s different code is completely occupied, and the ability of the old application is the same as ^ = 2. The processor retains the execution programmer and / or the compiler number to suppress, a '; special instructions can be provided, and it should also be provided as a control. The ability to perform storage checks. [Summary of the Invention] [0016] The present invention is the same as the aforementioned other + other conventional techniques. The problem # 3 is to overcome the above-mentioned problems and disadvantages. The invention of this invention 1223773 (7) Good technology is used to expand the microprocessor's instruction set, beyond the existing capabilities, to provide instruction-level storage check prohibition feature. In a specific embodiment, a device is provided that can perform instruction-level storage check control within a microprocessor. The device includes a fetch logic and a translation logic. The fetch logic receives an extended instruction. The extended instruction has an extended prefix and an extended prefix tag. The extended preamble specifies that the storage check of the extended instruction is prohibited. The extended preamble flag is another architecture operation code in an existing instruction set. The fetch logic excludes the storage check for the suspended storage event related to the extended instruction. The translation logic is coupled to the extraction logic, and the extended finger is transformed into a microinstruction sequence (micror instruction sequence), except for a memory check to instruct the microprocessor to execute a specified operation when it is [0017] the present invention An objective of the present invention is to propose a processor mechanism that expands both sets to selectively disable storage checks within a microprocessor pipeline. The microprocessor mechanism has an extended instruction.

Cara二指令係指定其相關之儲存心 :止’其中该延伸才曰令包含該既有指令集其中一選取之 ,其後則接著-η位元之延伸前置碼。該選取之運 ::指出該延伸指令」❿該η位元之延伸前置碼則指示要 不止儲存檢查。該轉譯器接收該延伸指令, ^ 令序列,以指示微處理器執行一指定運管生一微指 運算執行時之相關儲存檢查 運…排除該指定 1223773 五、發明說明(8) [0018]本發明的另一目的,在於提 令集增添禁止指令之儲存檢查特徵的模組。一▲種為既有指 逸出標記(escape tag)、一儲存檢查$止,,組包括一 (store check SUppressiori specifTr不指一定元 及一延伸執行邏輯。該逸出標記由一提取 '一轉譯邏輯 出一對應指令之附隨部分係指定了所要執彳匕輯接^,並指 該逸出標記為該既有指令集内之一第一 ^之運算,其中 查禁止指定元耦接至該逸出標記,且為該η;:::檢 一’其指定於該運算執行時,要禁止:轉:: 輯耦接至該提取邏輯,用於產生一微指^該轉澤邏 處理器執行該運算,並於該微指令序列内指定要 檢查。該延伸執行邏輯耦接至該轉譯邏輯,ς沪二 序列,以不進行儲存檢查方式執行該運算。收及试心々 八明的再一目的’在於提供-種擴充既有 指々集木構的方法,以於指令層級禁止儲存檢查。該方法 包括提供一延伸指令,該延伸指令包含一延伸&記=一延 伸前置碼,其中該延伸標記係該既有指令集架構其中一第 一運算碼項目;透過該延伸前置碼指定於該延伸指令執行 時,禁止,存檢查,其中該延伸指令之其餘部分指定所要 執行之運算,以及禁止該延伸指令之相關儲存檢查。 [實施方式】 [0 0 3 1 ]以下的說明’係在一特定實施例及其必要條 件的脈絡下而提供,可使一般熟習此項技術者能夠利用本Cara's two instructions specify its related storage core: only, where the extension only contains one selected from the existing instruction set, followed by the -n bit extension preamble. The selected operation :: point to the extended instruction "❿ The extended preamble of the n-bit indicates that more than one storage check is required. The translator receives the extended instruction, ^ order sequence, to instruct the microprocessor to perform a specified storage check operation when a microfinger operation is performed ... Exclude the designation 1223773 V. Description of the invention (8) [0018] 本Another object of the invention is to add a module for storing the inspection feature of the prohibition instruction in the reminder set. A ▲ is an existing reference escape tag, a storage check, and the group includes a (store check SUppressiori specifTr does not refer to a certain element and an extended execution logic. The escape tag is extracted by an 'a translation The accompanying part of a corresponding instruction logically specifies the operation to be performed, and refers to the operation that the escape flag is one of the first instruction in the existing instruction set. The query prohibits the specified element from being coupled to the operation. The escape flag is the η; ::: check one, which is prohibited when the operation is executed: turn :: is coupled to the extraction logic, and is used to generate a microfinger ^ the turn-ze logic processor Execute the operation and specify in the microinstruction sequence to be checked. The extended execution logic is coupled to the translation logic, and the sequence is executed without storing and checking. Retry again after the trial and error A purpose 'is to provide a method of expanding the existing finger set wood structure to prohibit storage checking at the instruction level. The method includes providing an extension instruction, which includes an extension & record = an extension preamble, Wherein the extension mark is There is one of the first opcode items in the instruction set structure; the extended preamble is used to specify that the extended instruction is forbidden and stored when it is executed. The rest of the extended instruction specifies the operation to be performed, and the extended instruction is prohibited. [Storage implementation] [Embodiment] [0 0 3 1] The following description is provided in the context of a specific example and its necessary conditions, so that those skilled in the art can use this

第13頁 1223773 五、發明說明(9) 發明。缺= & “、、而’各種對該較佳實施例所作的修改,對熟習此 理技術者而5乃係顯而易見,並且,在此所討論的一般原 所展^可應用至其他實施例。因此,本發明並不限於此處 八一敘述之特定實施例,而是具有與此處所揭露之原 理與新穎特徵相符之最大範圍。 牟槿前文已針對今日之微處理器内,如何擴充其 :。古敛,以超越相關指令集能力之技術,作了背景的討 :1 Ϊ於此,在圖一與圖二,將討論一相關技術的例 集的限:的調了微處理器設計者所一直面對之指令 微處理琴的』^面,他們想將最新開發之架構特徵納入 應用程但另一方面,他們又要保留執行舊有 算碼圖,已把掸Λ ί圖一至二的例子中,一完全佔用之運 因而迫使新運算碼至該範例架構的可能性排除, 度之舊有軟=ίΓ生就ί擇將新特徵納入,而犧牲某種程 棄,以便唯持It 就將架構上的最新進展一併放 技術的討論後器與舊有應用程式之相容性。在相關 由利用一既有但夫f二至十1將提供對本發明之討論。藉 標記,本發明可 ^之運算碼作為一延伸指令之前置碼 集架構的限制,除ί處理器設計者克服已完全使用之指令 指令群的儲存檢杳使程式員能選擇性地禁止單一指令或 之所有特徵。—,同時也能保留執行舊有應用程式所需 [0 0 3 3 ] 請來間 y 令格式100的方妗同β 一,其係一相關技術之微處理器指 尾圖。該相關技術之指令100具有數量可變Page 13 1223773 V. Description of Invention (9) Invention. = = &Amp; ", and 'various modifications to the preferred embodiment are obvious to those skilled in the art, and the general principles discussed herein can be applied to other embodiments Therefore, the present invention is not limited to the specific embodiments described here in Bayi, but has the widest scope consistent with the principles and novel features disclosed herein. Mu Quan has previously described how to expand the microprocessors in today :. Ancient convergence, technology beyond the ability of the relevant instruction set, the background is discussed: 1 here, in Figures 1 and 2, the limitations of an example set of related technologies will be discussed: the microprocessor design is adjusted The “face” of the instruction microprocessor has been facing. They want to incorporate the newly developed architecture features into the application. On the other hand, they have to keep the old code diagrams. In the example, the possibility of a completely occupied operation thus forcing a new operator to the example architecture is ruled out, and the old softness = ΓΓ 生生 ί chooses to incorporate new features and sacrifice a certain process in order to maintain it The latest in architecture Discuss the compatibility of the post-processing technology with the old application program. The use of an existing Diffuse f 2 to 11 will provide a discussion of the present invention. By marking, the operation code of the present invention can be used. As an extension of the pre-set instruction set architecture limitation, except that the processor designer overcomes the storage check of the instruction instruction group that has been fully used, the programmer can selectively disable a single instruction or all of its features.—, and also Can keep the old applications needed to execute [0 0 3 3] Please order y to make the format 100 the same as β one, which is a related art microprocessor chart. The related technology instruction 100 has a quantity variable

第14頁 1223773Page 14 1223773

之資料項目1 01 -1 Ο 3,每一項目皆設定成一特定值,合在 起便組成微處理器之一特定指令丨〇 〇。該特定指令1 〇 〇指 示微處理器執行一特定運算,例如將兩運算元相加,或者 是將一運算元從記憶體搬移至一内部暫存器,或從該内部 暫存器搬移至§己憶體。一般而言,指令1 〇 〇内之運算碼項 目102指定了所要執行之特定運算,而選用(〇pti〇nal ) 之位址 特定運 何處等 上前置 時,前 來說, 指定運 使用不 運算的 設的運 提供之 地取代 位元之 例,在 多可由 邏輯等 ,定元項目103位於運算碼丨02之後,以指定關於該 算之附加資訊,像是如何執行該運算,運算元位於 等。指令格式100並允許程式員在一運算碼1〇2前加 碼項目1 0 1。在運算碼1 〇 2所指定之特定運算執行 置碼1 0 1用以指示是否使用特定的架構特徵。一般 這些木構特被能應用於指令集中任何運算碼1 〇 2所 算的大部分。例如,現今前置碼丨01存在於一些能 同大小運算元(如8位元、16位元、32位元)執行 ,處理器中。而當許多此類處理器被程式化為一預 算元大小時(比如32位元),在其個別指令集中所 前置碼101,仍能使程式員依據各個指令,選擇性 (override)該預設的運算元大小(如為了產生16 運算70 )。可選擇之運算元大小僅是架構特徵之一 許多現代的微處理器中,這些架構特徵能應用於眾 運算碼102加以指定的運算(如加、減、乘、 的範例,此即X86指令格式100,其為所=The data items 1 01 -1 0 3, each item is set to a specific value, which together constitutes a specific instruction of the microprocessor 丨 〇 〇. The specific instruction 100 instructs the microprocessor to perform a specific operation, such as adding two operands, or moving an operand from memory to an internal register, or from the internal register to § Ji Yi body. Generally speaking, the operation code item 102 in the instruction 100 specifies the specific operation to be performed, and when the address of the (〇pti〇nal) selected is specified, it is specified before. An example of a location that is not provided by an operation instead of a bit. In most cases, logic can be used. The fixed element item 103 is located after the operation code 丨 02 to specify additional information about the operation, such as how to perform the operation. Located etc. The instruction format is 100 and allows the programmer to encode the item 101 before an operation code 102. A specific operation specified in operation code 1 02 is performed. A code 1 0 1 is used to indicate whether to use a specific architectural feature. Generally these wooden features can be applied to most of the calculations of any operation code 102 in the instruction set. For example, today's preamble 01 exists in processors that can perform operations of the same size (such as 8-bit, 16-bit, 32-bit). When many such processors are programmed to a budget size (such as 32-bit), the prefix 101 in their individual instruction set still allows programmers to selectively override the preset based on each instruction. Set the operand size (for example, to produce 16 operations 70). The selectable operand size is only one of the architectural features. In many modern microprocessors, these architectural features can be applied to the operations specified by the operand 102 (such as the example of addition, subtraction, multiplication, and this is the X86 instruction format). 100, which is what =

1223773 五、發明說明(11) 微處理|§所採用。更具體地說,χ 8 6指令格式i 〇 〇 (也稱為 x86指令集架構100)使用了8位元前置碼1〇1、8位元運算 碼1 0 2以及8位元位址指定元1 〇 3。X 8 6架構1 〇 〇亦具有數個 前置碼1 0 1,其中兩個取代了 x86微處理器所預設的位址/ 資料大小(即運算碼狀態66H與67H ),另一個則指示微處 理器依據不同的轉譯規則來解譯其後之運算碼位元組丨〇2 (即前置碼值0 F Η,其使得轉譯動作是依據所謂的二位元 組運算碼規則來進行),其他的前置碼丨〇1則使特殊運算 重複執行,直至重複條件滿足為止(即REP運算碼:F〇[I、 F2H 及F3H ) 〇 [0035]現請參閱圖二,其顯示一表格2〇〇,用以描述 一才曰令集架構之指令2 0 1如何對應至圖一指令格式内一 8位 元運算碼位元組102之位元值。表格200呈現了一8位元運 异碼圖2 0 0的範例,其將一 8位元運算碼項目1 〇 2所具有之 最多2 5 6個值,關聯到對應之微處理器運算碼指令2 〇 1。表 格200將運异碼項目1Q2之一特定值,譬如Q2H,映射至一 對應之運算碼指令2〇1 (即指令1〇2 20 1 )。在χ86運算碼 圖的例子中,為此領域中人所熟知的是,運算碼值丨4 Η係 映射至χ86之進位累加(Add With Carry,ADC)指令,此 指令將一8位元之直接(immediate)運算元加至架構暫存 器AL之内含值。熟習此領域技術者也將發覺,上文提及之 x86 前置碼 101 (亦即66H、67H、0FH、F0H、F2H 及 F3H)係 只際的運算碼值2 〇 1,其在不同脈絡下,指定要將特定的 架構延伸項應用於隨後之運算碼項目丨0 2所指定的運算。1223773 V. Description of the invention (11) Microprocessor | More specifically, the χ 8 6 instruction format i 〇〇 (also known as the x86 instruction set architecture 100) uses an 8-bit preamble 101, an 8-bit opcode 102, and an 8-bit address specification. Yuan 1 〇3. X 8 6 architecture 1 〇〇 also has several preambles 101, two of which replace the preset address / data size of the x86 microprocessor (that is, opcode states 66H and 67H), and the other indicates The microprocessor interprets the following operation code bytes according to different translation rules (that is, the preamble value 0 F Η, which makes the translation action based on the so-called two-byte operation code rules) , The other preambles 丨 〇1 makes special operations repeated until the repetition conditions are met (ie REP operation codes: F〇 [I, F2H and F3H) 〇 [0035] Please refer to Figure 2 for a table 2000 is used to describe how the instruction 211 of the instruction set architecture corresponds to the bit value of an 8-bit operation code byte 102 in the instruction format of FIG. Table 200 presents an example of an 8-bit opcode in Figure 200, which associates up to 256 values of an 8-bit opcode item 1 02 with the corresponding microprocessor opcode instruction 2 〇1. Table 200 maps a specific value of the different code item 1Q2, such as Q2H, to a corresponding operation code instruction 2101 (that is, instruction 1022 1). In the example of the χ86 opcode diagram, as is well known in the art, the opcode value 丨 4 is mapped to the χ86 Add With Carry (ADC) instruction. This instruction directly converts an 8-bit The (immediate) operand is added to the embedded value in the architecture register AL. Those skilled in this field will also find that the above-mentioned x86 preamble 101 (ie, 66H, 67H, 0FH, F0H, F2H, and F3H) is only the value of the operation code 2 0, which is in different contexts , Specifies that a particular schema extension is to be applied to the operation specified by the subsequent opcode item 丨 0 2.

第16頁 1223773 五、發明說明(12) 例如,在運算碼14H (正常情況下,係前述之ADC運算碼) 前加上前置碼OFH,會使得x86處理器執行一「解壓縮與插 入低壓縮之單精度浮點值」(Unpack and InterleavePage 16 1237773 V. Description of the invention (12) For example, adding the preamble OFH before the opcode 14H (normally, the aforementioned ADC opcode) will cause the x86 processor to perform a "decompression and insertion low" Compressed single-precision floating-point value "(Unpack and Interleave

Low Packed Single-Precision Floating-PointLow Packed Single-Precision Floating-Point

Values )運算,而非原本的ADC運算。諸如此以6例子所述 之特徵,在現代之微處理器中係部分地致能,此因微處理 益内之指令轉譯邏輯是依序解譯一指令1〇〇的項目101 一 10 3。所以在過去,於指令集架構中使用特定運算碼值作 為前置碼101,可允許微處理器設計者將不少先進的架構 特徵納入相容舊有軟體之微處理器的設計中,而不會對未 使用那些特定運算碼狀態的舊有程式,帶來執行上的負面 ,擊。例如,一未曾使用χ86運算碼〇FH的舊有程式,仍可 在今日的X 8 6微處理5|上勃;。品 ^ ^ 著運用/ k新的應用程式,藉 為前置碼101,就能使用許多新進 算,條件移動運算等等。 7夕置貝枓(SIMD )運 Ή [):6」,管過去已藉由指定可用的(即多餘-戈未於 派的)運异碼值2 〇 1作為俞 丨夕餘:¾禾才日 記/指標1 0 1或逸出沪入、彳i ”、、 (也稱為架構特徵標 指令集架構100已因V 直2供架構特徵,但許多 當所有可用的值被分派為Ρ軍運宜'碼值已被架構化地指定。 時,就沒有剩餘的運I踩 碼項目1 〇2或前置碼項目j 〇 運异碼值可作為納入新特徵之用 1223773 五、發明說明(13) =重的問題存在於現在的許多微處理器架構中,因而迫使 =計者得在增添架構特徵與保留舊有程式之相容性兩者 作抉擇。 [〇〇37]值得注意的是,圖二所示之指令2〇1係以一般 ,的方式表* (亦即124、186),而非具體指涉實際的運 异(如進位累加、減、互斥或)。這是因為,在一些不同 的谜處理窃架構中,完全佔用之運算碼圖2〇〇在架構上, 已將納入較新進展的可能性排除。雖然圖二例子所提到 =,是8位元的運算碼項目1〇2,熟習此領域技術者仍將發 運异碼1G2的特定大小’除了作為—特殊情況來討論 元全佔用之運算碼結構200所造成的問題外,其他方面盥 問題本身並不相干。因此,一完全佔用之6位元運算碼圖 將有64個可架構化地指定之運算碼/前置碼2〇1,並將無法 提供可用/多餘的運算碼值作為擴充之用。 [0 0 3 8 ]另一種替代做法,則並非將原有指令集完全 廢棄,以一新的格式丨00與運算碼圖2〇〇取代,而是只 一部份既有的運算碼20 1,以新的指令意含取代,如 。以這種混合的技術,微處理器就可以 早獨地以下歹,】兩種模式之κ乍:纟中舊有 碼40H-4FH,係依舊有規則來解譯,或者以另一種改良運模异 式(enhanced mode)運作,此時運算碼4〇h_4fh則依加強 之架構規貝:來解譯。此項技術確能允許設計者將新特 作時,缺點仍舊存在,因為微處理器不能執行任何= in 第18頁 1223773Values) operation instead of the original ADC operation. Such features as described in the example 6 are partially enabled in modern microprocessors. The instruction translation logic in the microprocessing benefit is to sequentially interpret an item 100 of an instruction 101 to 103. Therefore, 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 It will bring negative execution to old programs that do not use those specific opcode states. For example, an old program that has not used the χ86 opcode 0FH can still be processed on today's X 8 6 micro processor 5 |; Product ^ ^ With the new application of / k, with the prefix 101, you can use many new calculations, conditional move operations, and more. Qixi Beibei (SIMD) operation code [): 6 ", regardless of the past, by specifying the available (ie redundant-Geweiyupai) operation code value 2 001 as Yu 丨 Xiyu: ¾ Hecai Diary / index 1 0 1 or escape into Shanghai, 入 i ”,, (also known as architecture characteristics, instruction set architecture 100 has been provided for V straight 2 architecture characteristics, but many when all available values are assigned as P military transport The code value should be specified in a structured manner. At this time, there is no remaining code I code entry item 1 0 2 or preamble item j 0 code difference value can be used to incorporate new features. 1223773 V. Description of the invention (13 ) = Heavy problems exist in many of today's microprocessor architectures, thus forcing programmers to choose between adding architectural features and retaining compatibility with legacy programs. [0037] It is worth noting that The instruction 201 shown in Figure 2 is generalized * (that is, 124, 186), rather than specifically referring to actual differences (such as carry accumulation, subtraction, mutual exclusion, or). This is because, In some different mystery processing architectures, the fully occupied operation code diagram 2000 has been incorporated into the possibility of newer progress in architecture. Excluded. Although the = in the example in Figure 2 refers to the 8-bit opcode item 102, those skilled in the art will still ship the specific size of the different code 1G2 'except as a special case to discuss the operation of occupancy. The problem caused by the code structure 200 is not related to other aspects. Therefore, a fully occupied 6-bit opcode map will have 64 opcodes / preambles that can be architecturally specified. It will not be able to provide usable / excessive opcode values for expansion. [0 0 3 8] Another alternative is not to completely discard the original instruction set, and use a new format 丨 00 and opcode figure 2〇 〇 instead, but only a part of the existing operation code 20 1, replaced by a new instruction meaning, such as. With this mixed technology, the microprocessor can be alone and early,】 of the two modes κ at first: The old code 40H-4FH in Langzhong still has rules to interpret, or operates in another improved operating mode (enhanced mode). At this time, the operation code 40h_4fh is based on the enhanced architecture: To interpret. This technology does allow designers to Shortcomings still exist, because the microprocessor can not perform any page = in the first 181,223,773

五、發明說明(14) 算碼40H-4FH的應用程式。因此,站在保留舊有軟體相容 性的立場,相容舊有軟體/加強模式的技術並非一最佳選 擇。 [ 0 0 39 ]然而,對於運算碼空間已完全佔用之指令集 20 0,且該空間涵蓋所有於符合舊有規格之微處理器上執 行之應用程式的情形,本案發明人已注意到其中運算碼 2 0 1的使用狀況’且他們亦觀察出,雖然有些指令2 〇 2是架 構化地指定,但未用於能被微處理器執行之應用程式中。 圖二所述之指令I F 1 2 0 2即為此現象之一例。事實上,相 同的運算碼值20 2 (亦即F1H )係映射至未用於乂86指令集 架構之一有效指令202。雖然該未使用之χ86指令2〇2是有 效的χ86指令202 ’其指示要在χ86微處理器上執行一架構 化地指定之運算,但它卻未使用於任何能在現代χ86微處 理器上執行之應用程式。這個特殊的χ86指令2〇2被稱為電 路内模擬中斷點(In Circuit Emulati〇n Breakp〇int) (亦即ICE BKPT ’運算碼值為F1H ),之前都是專門使用 於一種現在已不存在之微處理器模擬設備中。ICE Βκρτ 202從未用於電路内模擬器之外的應用程式中,亚且无前 使用ICE BKPT 202之電路内模擬設備已不復存在。因此, 在x86的情形下’本案發明人已在一完全佔用之指令集架 構20 0内發現-樣工具’藉著利用一有效但未使用之運算 馬2 0 2以允°午在微處理器的設計中納入先進的架構特 而不需犧牲舊有軟體之相容性。在一完全佔用之指令 /、架構200中’本發明利用一架構化地指定但未使用之運V. Description of the invention (14) Application code for 40H-4FH. Therefore, from the standpoint of preserving legacy software compatibility, technologies that are compatible with legacy software / enhancement models are not the best choice. [0 0 39] However, for the instruction set 20, where the opcode space is completely occupied, and the space covers all applications that run on microprocessors that meet the old specifications, the inventor of this case has noticed that the operations The use of code 2 01 'and they also observed that although some instructions 2 02 are architecturally specified, they are not used in applications that can be executed by a 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 20 2 (ie F1H) is mapped to a valid instruction 202 that is not used in the 乂 86 instruction set architecture. Although the unused χ86 instruction 202 is a valid χ86 instruction 202 'which instructs a architecturally specified operation to be performed on a χ86 microprocessor, it is not used on any modern χ86 microprocessor. Running applications. This special χ86 instruction 202 is called the In Circuit Emulation Break Point (that is, the ICE BKPT 'opcode value is F1H). It was previously used exclusively for a type that no longer exists. Microprocessor simulation device. ICE Βκρτ 202 has never been used in applications other than in-circuit simulators. The in-circuit analog devices that used ICE BKPT 202 are gone. Therefore, in the case of x86, 'the inventor of the present case has found a sample-like tool within a completely occupied instruction set architecture 200,' by using a valid but unused computing horse 202 to allow the processor to be in the microprocessor at noon. The design incorporates advanced architecture features without sacrificing the compatibility of legacy software. In a fully occupied instruction / architecture 200 ’, the present invention utilizes an architecturally specified but unused

第19頁 1223773 五、發明說明(15) 算碼2 0 2,作為一指標標記,以指出其後之〜 碼,因此允許微處理器設計者可將最多々 句11位元前置 構特徵,納入微處理器的設計中,同時保p最新發展之架 體完全的相容性。 /、4與所有舊有軟 [0040]本發明藉提供一 η位元之延伸 定元前置碼,以使用前置碼標記/延伸前置子檢查禁止指 而可允許程式員對於一延伸指令,從提取碼的概念,因 個過程,指定要禁止其對應之儲存檢查。2仃完畢的整 施例,則將該延伸指令與其後特定數量指人^ 2的另一實 在微處理器之儲存檢查機制外。本發明現; 進行討論。 ^ “、、圖二至十 [ 004 1 ]現請參閱圖三,其為本發明之延伸指令格 300的方塊圖。與圖一所討論之袼式1〇〇非常近似/該延^申 指令格式300具有數量可變之指令項目3〇1-3〇5,每一項目 設定為一特定值,集合起來便組成微處理器之一特定指令 300。 該特定指令30 0指示微處理器執行一特定運算,像^ 將兩運算元相加,或是將一運算元從記憶體搬移至微處理 器之暫存器内。一般而言,指令3〇〇之運算碼項目3〇2指定 了所要執行之特疋運鼻’而選用之位址指定元項目3 〇 3則 位於運算碼3 〇 2後’以指定該特定運算之相關附加資訊, 像是如何執行該運算、運算元所在之暫存器、用於計算來 源/結果運算元之記憶體位址的直接與間接資料等等。指 令格式3〇〇亦允許程式員在一運算碼302前加上前置碼項目 301。 在運算碼30 2所指定之特定運算執行時,前置碼項目Page 19, 1237773 V. Description of the invention (15) The calculation code 2 0 2 is used as an index mark to indicate the following ~ code, so the microprocessor designer is allowed to designate up to 11 bits of haiku features. Incorporated into the design of the microprocessor, while ensuring the complete compatibility of the latest development of the frame. /, 4 and all the old software [0040] The present invention allows a programmer to allow an extended instruction by providing an η-bit extended fixed element preamble to use the preamble mark / extended preamble to check forbidden fingers. From the concept of extracting codes, because of this process, it is specified that the corresponding storage check should be prohibited. In the case of the second embodiment, the extended instruction and the specific number thereafter refer to the person's other physical microprocessor's storage inspection mechanism. This invention is now discussed. ^ ", Figures 2 to 10 [004 1] Please refer to Figure 3, which is a block diagram of the extended instruction grid 300 of the present invention. It is very similar to the formula 100 discussed in Figure 1 / the extended instruction The format 300 has a variable number of command items 30-305, and each item is set to a specific value, which together constitutes a specific instruction 300 of the microprocessor. The specific instruction 300 instructs the microprocessor to execute a Specific operations, such as ^ adding two operands, or moving an operand from memory to a temporary register of a microprocessor. Generally speaking, the operation code item 30 of the instruction 300 specifies the desired The execution of the special transport nose 'and the selected address designation meta-item 3 03 is located after the operation code 3 002' to specify additional information related to the specific operation, such as how to perform the operation, temporary storage of the operand Device, direct and indirect data for calculating the memory address of the source / result operand, etc. The instruction format 300 also allows the programmer to add a preamble item 301 before an operation code 302. In operation code 30 2 Prefix items when the specified specific operation is executed

五、發明說明(16) 3 0 1係用來指示是否|蚀 「00421妙Ζ ΐ 有的架構特徵。 L 0 042 ]然而,本發明的延伸指 格式100之一超集合(superset ),复且右述圖一指令 304與305,可被選擇性作為指令延伸項、,有兩個附加項目 延伸指令300中所有其餘項目3〇卜之並置^一格式化 與305,其為延伸指令3〇〇的二。廷兩個附加項 定是否要禁止或排除延伸指令讓^員指 3〇4與305係一延伸指令_ 爾存檢查。選用項目 置碼305。該延伸指令=1延伸儲存檢查禁止前 依據架構所指定之運算碼。在一集内另一 指令標記304 ’或稱逸出標記304,:用該延伸 邏輯指出,該延伸前置碼 己304向微處理器 係跟隨在後,戍稱延伸特徵指定元305, 300 ,Μ ^ /〇 /Λ ^〇; ^ ^ ^ ^ 一對應延伸指令300之附隨部分3〇1_3〇3及出=3^04指出, 理器所要執行之運算。儲存檢查禁止指 ^疋了微處 伸前置碼305,則指定執行唁運" 曰70 5,或稱延 300之儲存檢查。微處理器‘二劲Z =進行延伸指令 算,但該運算係在排除任何内二伸:订邏輯執行該運 [。。叫此處將本發明7之儲選存擇檢= 術作個概述。一延伸指令月传之:能擇^ 器指令集執行之運算,盆ψ、j心為扣疋—依據既有微處理 查。該延伸指令包括該既有指1 :時排除儲存檢 ’知7集之運异碼/指令304其中 1223773 五、發明說明(17) 之一以及一 η位元之延伸前¥ 令作為一指標304,以指出指j 5:所選取之運算碼/指 (亦即,其指定了微處理器架7 〇疋一延伸特徵指令300 之特徵前置碼30 5則指出要林止之延伸項),而該n位元 施例中,延伸前置碼305且二之儲存檢查。在一具體實 一指令及後續最多255個指令的大小,可指定要禁止 止該指令與n個後續指令的儲存於^檢查’或是指定要禁 前置碼30 5的剩餘位元值所指^ ^再加上八位兀延伸 置碼的實施例,則最多可斤指\疋要之杯其;^伸特徵。η位元前 姑 疋要不止2η個儲存檢杳,式曰 「11 查與其他延伸特徵的各種組合 -止儲存九現二閱圖四’ 一表格400顯示依據本發明, 不止儲存檢查的扣疋如何映射至一8位元延伸 例之位元邏輯狀態。類似於圖 =只也 圖四之表格400呈現一8位丄::!:之運异碼圖20〇, JL腺〇 ^ 4兀之延伸刖置碼圖400的範例, 其,一8位兀延伸前置碼項目3〇5之最多託6個值,】 :Lti售,有規格微處理器中,一些指令所對應的儲存檢杳 =4〇1 (如E34、E4D等)。在一—的具體實施=檢J 毛明之8位兀延伸特徵前置碼3〇5係提供給儲存檢杳= 401 (亦即E00-EFF)的指令層級控制之用,該些儲杳 禁止401乃現行x86指令集架構未能另行指定的。 欢一 [0 0 4 5 ]圖四所示之延伸特徵4 〇1係以一般性的方式表 示,而非具體指涉實際的特徵,此因本發明之技術可^用 於各種不同的架構延伸項401與特定的指令集架構。熟習 此領域技術者將發覺,許多不同的架構特徵4〇1,其中、一 第22頁 1223773 五、發明說明(18) 些已於上文提及,可依此處所述之逸出標記3〇4 /延伸前置 碼3 0 5技術將其納入一既有之指令集。圖四之8位元前置碼 實施例提供了最多256個不同的特徵4〇1,而一η位元前置 碼實施例則具有最多2η個不同特徵4 〇 1的程式化選擇。 [ 0046 ]現請參閱圖五,其為解說本發明用以執行選 擇性的儲存檢查禁止運算之管線化微處理器5〇〇的方塊 圖。微處理器5 0 0具有三個明顯的階段類型:提取、 提取階段具有提取邏輯5G1,可從外部記憶體M3 k取'令所提取之指令被送至延伸預取邏輯 pre fetch loglc ) 5〇2。延伸預取邏輯5〇2對送入 ^于儲存檢查,並組態為偵測其中是否具有如前述圖三^ 2檢查之指令以前述方式加以同步;心 快取記憶體504中,並被送入一指令、取於扣7 queue ) 505 ’供—轉譯邏輯5〇6存取。該轉=== 接至一微指令佇列5〇8,其包 、輯506係耦 階段則有-執行邏_?其二具;= [ 0047]依據本發明, 邏輯51。。 記憶體503提取格式化指令,並=些=輯训從外部 邏輯502中。延伸預取邏輯5〇2執行 7 k入延伸預取 指令受到管線後段之暫停儲存事件’ f於所送入 化動作。若偵測到本發明之一延伸又a $,起始其同步 5。2允許該延伸指令不需經過料檢曰杳γ則預取邏輯 取記憶體504與指令佇列5〇5。—即^送至指令快 杈取的指令係依執行順序V. Description of the invention (16) 3 0 1 is used to indicate whether or not | 00421 Miao Z ΐ has some architectural features. L 0 042] However, the extension of the present invention refers to a superset of format 100, and In the figure on the right, the instructions 304 and 305 can be selectively used as instruction extension items. There are two additional items, and all the remaining items in the extension instruction 300 are juxtaposed. A format and 305 are extension instructions 300. Two. The two additional items determine whether to prohibit or exclude the extended instruction. Let the clerk refer to 304 and 305 as an extended instruction_ Ercun check. Select item code 305. The extended instruction = 1 before the extended storage check is prohibited According to the operation code specified by the architecture. In another episode, another instruction mark 304 ′, or escape mark 304, is indicated by the extended logic. The extended preamble 304 follows the microprocessor, and is falsely called. The extended feature designation element 305, 300, M ^ / 〇 / Λ ^ 〇; ^ ^ ^ ^ ^ A corresponding part of the extended instruction 300 3001_3〇3 and out = 3 ^ 04 indicate the operation to be performed by the processor. The storage inspection prohibits pointing to the pre-code 305 if it is slightly extended, then it is designated to be executed. Operation " Storage inspection of 70, or extension 300. The microprocessor 'two strength Z = performs extended instruction calculation, but the operation is to exclude any internal extension: the order logic executes the operation [... called here The storage selection check of the invention 7 is summarized. An extended instruction is transmitted monthly: the operation that can be performed by the instruction set of the selector, the ψ and j centers are deducted—based on the existing microprocessing check. The The extended instruction includes the existing finger 1: Excluded storage and inspection of the 7 episodes of the operation code / instruction 304 of which 1223773 5. One of the invention description (17) and an η-bit extension before the order as an index 304, To indicate the finger j 5: the selected operation code / finger (that is, it specifies the microprocessor frame 7 〇 1 extended feature instruction 300 characteristic preamble 30 5 indicates the extension to be stopped), and In the n-bit embodiment, the storage check of the preamble 305 and two is extended. In a specific implementation of the size of a single instruction and a maximum of 255 subsequent instructions, you can specify that the storage of this instruction and n subsequent instructions is prohibited. Check 'or specify that the remaining bits of the prefix code 30 5 are referred to ^ ^ plus the eight-bit extension In the embodiment of the present invention, at most, it can be used to refer to the characteristics of the cup; the extension feature. There must be more than 2η storage inspections before the η bit, and the formula is "11 various combinations of other inspection features-only storage 9 Now referring to FIG. 4 ', a table 400 shows how, according to the present invention, more than the storage check button is mapped to the 8-bit extended logical state of the bit. Similar to the figure = only the table 400 in FIG. 4 presents an 8-bit丄 ::!: An example of the difference code map 20, JL gland ^^ 4, and an example of the extension code map 400, which has a maximum of 6 values for an 8-bit extension preamble item 305. ]: It is sold by Lti. In the microprocessor with specifications, the storage check corresponding to some instructions = 401 (such as E34, E4D, etc.). The specific implementation of the one-to-one = check J Mao Ming's 8-bit extended feature preamble 3005 is provided for the storage of the check level = 401 (ie, E00-EFF) for the instruction level control, these storage bans 401 The current x86 instruction set architecture cannot be specified separately. Huanyi [0 0 4 5] The extended feature 4 〇1 shown in FIG. 4 is expressed in a general way, and does not specifically refer to the actual feature. This is because the technology of the present invention can be used for various different architecture extensions. Item 401 is related to a specific instruction set architecture. Those skilled in the art will find that there are many different architectural features 401, of which one is on page 22 1223773. V. Description of the invention (18) These are mentioned above, and can be escaped as described here. 3 〇4 / extended preamble 305 technology incorporates it into an existing instruction set. The eight-bit preamble embodiment of FIG. 4 provides a maximum of 256 different features 401, and an n-bit preamble embodiment has a stylized selection of up to 2n different features 401. [0046] Please refer to FIG. 5, which is a block diagram illustrating a pipelined microprocessor 500 for performing selective storage check prohibition operation according to the present invention. Microprocessor 5 0 0 has three distinct types of stages: fetch, fetch logic 5G1, fetch from external memory M3 k, so the fetched instructions are sent to the extended prefetch logic pre fetch loglc 5) 2. The extended prefetch logic 502 is sent to the storage check, and is configured to detect whether it has the instructions as shown in Figure 3 ^ 2 to synchronize in the foregoing manner; the heart cache memory 504 is sent Enter an instruction and take it from the deduction 7 queue) 505 'for-access logic 506 access. This transfer === is connected to a micro-instruction queue 508, and its package and series 506 are coupled at the stage-the execution logic-the second; = [0047] According to the present invention, logic 51. . The memory 503 fetches the formatting instructions and edits them from the external logic 502. The extended prefetch logic 502 executes 7k into the extended prefetch instruction. The instruction is subject to a suspended storage event at the back of the pipeline and f is sent to the input action. If an extension of the present invention is detected, a synchronization is initiated 5.2. The extension instruction is allowed to prefetch logic 504 and the instruction queue 505 without going through the material inspection. —That is, the instructions sent to the instruction fetch are executed in the order

第23頁 1223773 五、發明說明(19) 送”令仔列5〇5。接著從指令符列5 至轉澤邏輯506。轉譯邏輯5〇 一 沒些指令,送 對應之微指令序列, —♦ t入的指令轉譯為一 所指定的運算。心;微f里器50 0去執行這些指令 有延伸前置碼標記之^八,延彳f澤邏輯507偵測那些具 止前置碼的轉譯動作:::4二之中延伸儲存檢查禁 輯5〇7組態為_其值為F1H之只:中,延伸轉譯邏 之ICE: βΚΡΤ運算碼。延伸 J置馬輮圮,其係χ8θ 50 6中,以指定要移止%伸;^^棚位則提供於微指令仔列 ?存檢查。其他延伸轉譯邏胸:二 定數量指令的4:ί:止本發明之-第-指令與後續- ⑽[〇乂8]微指令從微指令佇列5 08被送至執行邏輯 定運邏輯510組態為執行微指 官線前段之所有指令的1Ρ位置,來檢查暫 如^運异的目^立址。若一暫停儲存運算的目的位址與 一先别階段的I Ρ位置相符,且該先前階段的指令之延伸微 指令攔位並未指定要禁止儲存檢查,則延伸執行邏輯510 將至该先前階段為止的管線清空,並允許該暫停儲存運算 寫入其負料。在该儲存事件完成後,再重新填充管線。然 而’若該先前階段的指令之延伸微指令欄位指定要禁止儲 存檢查,則延伸執行邏輯5 1 〇將排除管線的清空動作。因 此,標記指令(tagged instruction)被允許通過管線執 行’並不會因為一後續階段之儲存事件另行引發管線之同Page 23, 1237773 V. Explanation of the invention (19) Send "Lingzi 5005". Then from the instruction symbol 5 to the transfer logic 506. The translation logic 50 sends the corresponding micro-instruction sequence without any instructions,-♦ The instruction entered by t is translated into a specified operation. Mind; the micro processor 501 to execute these instructions has an extension of the preamble mark ^ 8, and the extension logic 507 detects those translations with only the preamble. Action :: 4: The 2nd extended storage check forbidden series 507 is configured as _ and its value is F1H only: Medium, extended translation logic of ICE: βΚΡΤ opcode. Extended J is set up, which is χ8θ 50 In 6, it is designated to remove the% extension; ^^ booths are provided in the micro-instruction queue to check the inventory. Other extended translation logic chest: two fixed number of instructions 4: ί: stop the present invention-the first-instruction and Follow-up-⑽ [〇 乂 8] micro-instruction from micro-instruction queue 5 08 is sent to the execution logic scheduling logic 510 configured to execute all the instructions in the front section of the micro-finger official line 1P position to check if it is different Project address: If the destination address of a suspended storage operation matches the IP position of a previous stage, and the previous stage of the instruction The micro instruction block did not specify that the storage check should be prohibited, and the extended execution logic 510 empties the pipeline up to the previous stage and allows the suspended storage operation to be written into its negative material. After the storage event is completed, it is refilled Pipeline. However, 'if the extended microinstruction field of the previous stage of the instruction specifies that storage checking is prohibited, the extended execution logic 5 1 0 will exclude the pipeline's emptying action. Therefore, tagged instructions are allowed to execute through the pipeline' Does not cause the same pipeline due to a subsequent storage event

第24頁 1223773 五、發明說明(20) 步化清空與重新填充,而被清空。 [0 0 4 9 ]熟習此領域技術者將發現,圖五所示之微處 理器5 0 0係現代之管線化微處理器5 0經過簡化的結果。事 實上,現代的管線化微處理器500最多可包含有2〇至3〇個 不同的管線階段。然而,這些階段可概括地歸類為方塊圖 所示之三個階段,因此,圖五之方塊圖5 〇 〇可用以點明前 述本發明實施例所需之必要元件。為了簡明起見,微處理 器5 0 0中無關的元件並沒有顯示出來,亦未加以討論。 [0 0 5 0 ]現請參閱圖六,其為本發明於一微處理器 中’用以指定要禁止一延伸指令之相關儲存檢查的延伸前 置碼6 0 0之一不範實施例方塊圖。儲存檢查禁止前置碼6 〇 〇 8位元大小,且包括一禁止攔位6 〇 1。在一具體實施例 中,禁止攔位6 0 1指定要排除該延伸指令之相關儲存檢 查。另一具體實施例則包含可指定要排除該延伸指令與後 續最多255個指令之儲存檢查的禁止攔位。禁止檢查之指 令的數量係由禁止攔位來指示。 [οογ1]現請參閱圖七,其為圖五之微處理器内提取 =奴邏輯700之細部的方塊圖。提取階段邏輯7〇〇包括一耦 m ^外部§己憶體7〇5之預取緩衝器704。該預取緩衝器704 =預取指令至-延伸預取邏輯7Q6。該延伸預取邏輯7〇6 具有^提取控制器709,後者係經由一除能訊號(disable signal ) 708耦合至一禁止序列偵測器(su_ss detector) 707。提取控制器709亦耦接至-具 有I伸特徵欄位703之機器特定暫存器(niachinePage 24 1223773 V. Description of the invention (20) It is emptied and refilled in steps. [0 0 4 9] Those skilled in the art will find that the microprocessor 500 shown in FIG. 5 is a simplified result of a modern pipelined microprocessor 50. In fact, modern pipelined microprocessor 500 may contain up to 20 to 30 different pipeline stages. However, these stages can be broadly classified into the three stages shown in the block diagram. Therefore, the block diagram 500 of FIG. 5 can be used to point out the necessary elements required for the embodiment of the present invention. For brevity, extraneous components in the microprocessor 500 are not shown and are not discussed. [0 0 5 0] Please refer to FIG. 6, which is an exemplary embodiment of an extended preamble 6 0 0 used in a microprocessor to designate that the related storage check of an extended instruction is to be prohibited. Illustration. The storage check prohibits the prefix code of 6 octets in size, and includes a banned stop of 601. In a specific embodiment, prohibition of blocking 601 specifies that related storage checks of the extended instruction are to be excluded. Another specific embodiment includes a prohibited stop that can specify that the extended instruction and subsequent storage checks of up to 255 instructions are to be excluded. The number of inspection prohibitions is indicated by the prohibition of stops. [οογ1] Please refer to FIG. 7, which is a detailed block diagram of the extraction of slave logic 700 in the microprocessor of FIG. 5. The extraction stage logic 700 includes a prefetch buffer 704 coupled to the external § memory 705. The prefetch buffer 704 = prefetch instruction to-extended prefetch logic 7Q6. The extended prefetch logic 706 has an extraction controller 709, which is coupled to a su_ss detector 707 via a disable signal 708. The extraction controller 709 is also coupled to a machine-specific register with an extension field 703 (niachine

12237731223773

specific register ) 702。禁止序列偵測器7〇7提供一控 制訊號SUPP至一暫停儲存評估邏輯(pending store evaluation logic ) 710。該暫停儲存評估邏輯71〇對包含 暫停儲存事件之目的位址的複數個暫存器7丨1進行存取。 在一實施例中,該些暫存器711被稱為較低線性指令指標 (linear instruction pointer,LIP)鏈。暫存器 711 係 以管線中之儲存缓衝器(如複合寫入緩衝器(wri te ^ combine buffer)、回寫緩衝器(write back buffer) 等)透過匯流排71 5所提供之目的位址來進行更新。暫停 健存評估邏輯7 1 0經由SMC ΗIT訊號耦合至一管線同步邏^ (pipe 1ine synchronization logic ) 712。該管線同步 邏輯71 2 k供一控制訊號ST ALL 71 3至管線控制邏輯(圖中 未顯示)。延伸預取邏輯706將所提取的指令送入一填充 緩衝器(fi 1 1 buffer ) 714,後者則耦接至一指令伊' 憶體716。 f、取石己 [ 0052 ]實際運作上,在從記憶體7〇5提取快取線時, 其係被送至預取緩衝器704。延伸預取邏輯7〇6提取出快取 ,的内容,並對照暫存器711之較低Llp鏈中,暫停儲存運 算之目的位址,來檢查所送入指令的丨p位址。若 ^ 評估邏輯710確定有一預取指令之IP位址與暫存器7ι^内二 暫停儲存目標相符,則SMC Η IT訊號被設定為真:因而驅一 使管線同步邏輯訊號713設為真,而開始一管 ,同步化事件。因此,管線暫停運作,直到該暫^儲存% 异將其資料寫入記憶體為止,接著,該預取指令重新=提specific register) 702. The forbidden sequence detector 707 provides a control signal SUPP to a pending store evaluation logic 710. The suspended storage evaluation logic 710 accesses a plurality of registers 7 1 including the destination address of the suspended storage event. In one embodiment, the registers 711 are referred to as a lower linear instruction pointer (LIP) chain. The register 711 is a storage address in the pipeline (such as a composite write buffer (wri te ^ combine buffer), write back buffer (write back buffer, etc.)) through the destination address provided by the bus 71 5 To update. Suspend the health evaluation logic 7 1 0 coupled to a pipeline 1ine synchronization logic 712 via the SMC Η IT signal. The pipeline synchronization logic 71 2 k provides a control signal ST ALL 71 3 to the pipeline control logic (not shown in the figure). The extended prefetch logic 706 sends the fetched instruction to a fill buffer (fi 1 1 buffer) 714, which is coupled to an instruction memory 716. f. Fetching Stone [0052] In actual operation, when the cache line is fetched from the memory 705, it is sent to the prefetch buffer 704. Extend the prefetch logic 706 to extract the contents of the cache, and check the destination address of the sent instruction against the lower Llp chain of the register 711 to suspend the storage operation. If the ^ evaluation logic 710 determines that the IP address of a prefetch instruction matches the pause storage target in the temporary register 7m ^, the SMC Η IT signal is set to true: therefore, the pipeline synchronization logic signal 713 is set to true, And start a tube to synchronize events. Therefore, the pipeline is suspended until the temporary storage of the data is written into the memory, and then the prefetch instruction re- =

1223773 五、發明說明(22) 取,並允許進入管線執行。若該預取指令之IP位址並未與 任何儲存目標相符,則延伸預取邏輯706將該預取指令送 至填充緩衝Is 71 4 ’最後再送至指令快取記憶體7丨6。、 [ 0053 ]禁止序列债測器707亦對來自預取緩衝器?〇4 之快取線内容進行評估,以偵測其是否含有一指示要孥止 儲存檢查之逸出標記/延伸前置碼序列。若偵測到該序" 列,則supp訊號被設為真,以指示暫停儲存評估邏輯?1〇 不要對較低LIP鍵暫存器711進行評估,並允許對應之 指令送入填充緩衝器714。 [ 0054 ]在微處理器通電啟動期間,機器特定暫 702内之延伸襴位703的狀態係藉由訊號啟動狀態 power-up state) 701決定,以指出該特定微處理器是 能處理本發明之用以禁止微處理器之儲存檢查的延 令。在-具體實施例中,訊號7〇1從一特徵控制暫存器s (圖上未顯示)導出,該特徵控制暫存器則讀取— 時即已組態之熔絲陣列(fuse array)(未顯示= 特定暫存器702將延伸特徵攔位7〇3之狀態送 = 709及下述的其他邏輯。提取控制邏輯7〇9則決定是否 從預取緩衝器704所取得之快取線資料進行評估,以偵、 儲存檢查禁止序列。提供這樣的控制特徵,可允許監督“應 用程式(如BIOS )致能/除能微處理器之延伸執行 μ 若延伸特徵被除能,則具有被選為延伸特徵標記之^ 狀態的指彳,將如同任何其他指令般, 匕: 來進行檢查。提取控制器7Q9 u ^ 存事件 ㈧9貝Η日不禁止序列偵測器707藉1223773 V. Description of the invention (22) Take and allow execution into the pipeline. If the IP address of the prefetch instruction does not match any storage target, the extended prefetch logic 706 sends the prefetch instruction to the fill buffer Is 71 4 ′ and finally to the instruction cache memory 7 丨 6. [0053] Forbidden sequence debt tester 707 also from the prefetch buffer? The content of the cache line of 〇4 is evaluated to detect whether it contains an escape tag / extended preamble sequence indicating that the storage check is to be stopped. If this sequence is detected, the supp signal is set to true to indicate that the evaluation logic is temporarily suspended? 10 Do not evaluate the lower LIP key register 711, and allow the corresponding instruction to be fed into the fill buffer 714. [0054] During the start-up of the microprocessor, the state of the extended bit 703 in the machine specific temporary 702 is determined by the signal power-up state) 701 to indicate that the specific microprocessor can handle the invention. Delay order to prohibit microprocessor storage inspection. In the specific embodiment, the signal 701 is derived from a feature control register s (not shown in the figure), and the feature control register reads — the fuse array that has been configured at that time. (Not shown = The specific register 702 sends the status of the extended feature block 703 = 709 and other logic described below. The extraction control logic 709 determines whether to obtain the cache line from the prefetch buffer 704 The data is evaluated to detect and store the inspection prohibition sequence. Providing such a control feature allows to supervise the "application (such as BIOS) enabling / disabling the extension execution of the microprocessor. If the extension feature is disabled, it has the The finger selected as the ^ state of the extended feature mark will be checked like any other command: Extraction controller 7Q9 u ^ Store event 9 Day sequence detector 707 is not forbidden to borrow

1223773 五、發明說明(23) 由將除能訊號708設為真,來除能延伸序列的偵測一 [ 0 0 5 5 ]現請參閱圖八,其為圖五之微處理器内轉譯 P皆段邏輯8GO之細部的方塊圖。轉譯階段邏輯咖具有一指 令緩衝器804,依本發明,其提供延伸指令至嗶邏輯 轉Λ邏/805係輕接至一具有一延伸特徵搁位803之 機為特疋暫存斋802,如前面圖七部分所述。轉譯邏輯8〇5 具一轉譯控制器806,其提供一除能訊號8〇7至一逸出指令 偵測器808及一延伸前置碼轉譯器8〇9。逸出指 808耦接至延伸轉譯器8〇9及一指令轉譯器81〇。延伸轉譯 邏輯8 09與指令轉譯邏輯81〇存取一控制唯讀記憶體 (ROM )811,其中儲存了對應至某些延伸指令之樣板 甘微指令序列。轉譯邏輯805亦包含」微指令 綾衝态812,其具有一運算碼延伸項攔位813、一微運算碼 攔位814、一目的攔位815、一來源攔位816以及一位移欄 位 8 1 7 〇 [0056 ]實際運作上,在微處理器通電啟動期間,機 Ϊ 器802内之延伸欄位m的狀態係藉由訊號啟動 =8〇1決疋’以指出該特定微處理器是否能轉譯血執行 m之延伸指令,如前面圖八部分所述。機器特定暫存 器802將延伸特徵攔位803之狀態送至轉譯控制器8〇6。 譯控制邏輯806則決定從指令緩衝器8〇4所取得之於a要化 照延伸轉譯規則或是習用轉譯規則來進行轉譯。^二^ 徵被除能,則具有被選為延伸特徵標記之運算碼狀能於 令,將依照習用轉譯規則來轉譯。在—χ86的具 曰 1223773 五、發明說明(24) 中,選取運算碼狀態F 1 Η作為標記,則在習用的轉譯規則 下,遇到F1H將造成不合法的指令異常(excepti〇n )。若 延伸轉譯被除能,指令轉譯器8 1 〇將轉譯所有送入的指 令’並對微指令812的所有攔位8 13至817進行組態。然 而’在延伸轉譯規則下,若遇到標記,則會被逸出指令偵 測器8 0 8偵測出來。逸出指令偵測器8 〇 8將指示延伸前置碼 轉譯器80 9依據延伸轉譯規則,轉譯該延伸指令的延伸前 置碼部分,並對運算碼延伸項欄位8丨3進行組態,以指示 要禁止該延伸指令所對應之微指令序列的儲存檢查。指令 轉譯器81 0將轉譯該延伸指令之其餘部分,並對微指令8 j 2 的微運算碼欄位8 1 4、來源攔位8 1 6、目的攔位8 1 5以及位 移攔位817進行組態。某些特定指令將導致對控制R〇M 811 的存取,以獲取對應之微指令序列樣板。經過組態之微指 令8 1 2被送至一微指令佇列(未顯示於圖中),由處理器 進行後續執行。 ° [ 0 0 57 ]現請參閱圖九,其為圖五微處理器内之執行 階段邏輯9 0 0的方塊圖。該執行階段邏輯9 〇 〇具一延伸儲存 邏輯(extended store logic) 908,其耦接至一資料快 取記憶體9 11與一匯流排單元9 1 2。匯流排單元9 1 2係用於 才曰導一 6己憶體匯流排(圖中未顯示)上之記憶體存取作業 (memory transaction)。依本發明,延伸儲存邏輯9〇8 從微處理器前一階段之一延伸微指令緩衝器g 〇 1接收微指 令,從資料緩衝器90 2接收一資料運算元,並從位址緩衝 器903接收一目的位址運算元。延伸儲存邏輯9〇8包含一儲1223773 V. Description of the Invention (23) The detection of the extended sequence is disabled by setting the disabling signal 708 to true. [0 0 5 5] Now refer to FIG. 8, which is a translation of the microprocessor in FIG. A detailed block diagram of the logic 8GO. The logic stage of the translation stage has an instruction buffer 804. According to the present invention, it provides extended instructions to the beep logic, and the logic / 805 system is easily connected to a machine with an extended feature shelf 803. This is described in the previous section of Figure 7. The translation logic 805 has a translation controller 806, which provides a disabling signal 807 to an escape instruction detector 808 and an extended preamble translator 809. The escape finger 808 is coupled to the extended translator 809 and an instruction translator 810. The extended translation logic 809 and the instruction translation logic 810 access a control read-only memory (ROM) 811, which stores a model sequence of Ganwei instructions corresponding to some extended instructions. Translation logic 805 also includes a "microinstruction" rush state 812, which has an opcode extension block 813, a microcode block 814, a destination block 815, a source block 816, and a displacement field 8 1 7 〇 [0056] In actual operation, during the start-up of the microprocessor, the state of the extended field m in the machine 802 is activated by a signal = 809 to determine whether the particular microprocessor can Translating blood executes the extended instruction of m, as described in the previous section of Figure 8. The machine-specific register 802 sends the state of the extended feature stop 803 to the translation controller 806. The translation control logic 806 decides whether to obtain the extended translation rule obtained from the instruction buffer 804 or use the translation rule to perform translation. ^ 二 ^ If the feature is disabled, the code with the operation code selected as the extended feature mark can be translated according to the conventional translation rules. In —χ86's 1223773 V. Invention Description (24), the opcode state F 1 选取 is selected as a flag. Under the conventional translation rule, encountering F1H will cause an illegal instruction exception (exceptioon). If extended translation is disabled, the instruction translator 8 10 will translate all incoming instructions' and configure all the stops 8 13 to 817 of the micro instruction 812. However, under the extended translation rule, if a tag is encountered, it will be detected by the escape instruction detector 8 0 8. The escape instruction detector 8 08 will instruct the extended preamble translator 80 9 to translate the extended preamble portion of the extended instruction according to the extended translation rule, and configure the operation code extension field 8 丨 3. It is instructed to prohibit the storage check of the micro instruction sequence corresponding to the extended instruction. The instruction translator 81 0 will translate the rest of the extended instruction, and perform operations on the micro-operation code field 8 1 2 of the micro instruction 8 j 2, the source stop 8 1 6, the destination stop 8 1 5 and the displacement stop 817. configuration. Certain specific instructions will cause access to control ROM 811 to obtain the corresponding microinstruction sequence template. The configured micro-instruction 8 1 2 is sent to a micro-instruction queue (not shown in the figure) for subsequent execution by the processor. ° [0 0 57] Please refer to FIG. 9, which is a block diagram of the execution stage logic 900 in the microprocessor of FIG. 5. The execution stage logic 900 has an extended store logic 908, which is coupled to a data cache memory 9 11 and a bus unit 9 1 2. The bus unit 9 1 2 is used for the memory access operation on the memory bus 6 (not shown) of the memory bus 1 (not shown). According to the present invention, the extended storage logic 908 extends the microinstruction buffer g 〇1 from one of the previous stages of the microprocessor to receive microinstructions, receives a data operand from the data buffer 90 2, and from the address buffer 903 Receives a destination address operand. Extended storage logic 908 contains a storage

第29頁 1223773 五、發明說明(25) " 存檢查邏輯90 9,後者分別耦接至複數個線性Ip暫存器 905 '—管線同步邏輯914 (經由Ιρ Ηΐτ訊號)以及複數個 儲存緩衝器9 1 0。該些線性丨ρ暫存器9 〇 5亦稱為較高L j ρ 鏈,且每一暫存器9〇5具有一 ip攔位9〇6與一儲存檢查禁止 才=1位9 0 7。較咼L I P鏈9 0 5的内容包含位於前面管線階段的 才曰7之虛擬位址,這些内容係從前面管線階段經由匯流排 904依序送至較高lip鏈905。 ☆ [ 0 0 58 ]實際運作上,延伸儲存邏輯9〇8根據延伸微指 =緩衝器9 0 1中之微指令的指示,透過匯流排單元g丨2將運 算π寫入快取記憶體9 11或外部記憶體。就延伸微指令所 ,示之寫入/儲存運算而言,儲存檢查邏輯9〇9從位址緩衝 斋903接收運算所需之目的位址資訊,並從緩衝器9〇2接收 戶要儲存之運算元。儲存檢查邏輯9〇9接著將位址與資料 达入儲存緩衝器910,同時評估較高LIp鏈9〇5的内容,以 判斷管線内是否有一指令,其虛擬1?位址與暫停儲存事件 的目的位址相符。若在較高up鏈9〇5中發現一相符之虛擬 IP位址9 0 6,則儲存檢查邏輯9〇9檢視相關的儲存檢查禁止 欄位907。若相關攔位907的内容指明要禁止儲存檢查,儲 存檢查邏輯9 0 9便允許管線繼續運作,不被中斷。儲缓 衝器9 1 0的内容則以符合該儲存事件被賦予之記憶體特 性,經由匯流排單元912寫入快取記憶體911或外部圮伊 體,其中該記憶體特性係依特定處理器(pr〇cess〇r一〜 speciflc )之架構常規所指定。然而,若儲存檢查邏輯 909決定不要禁止一相符虛擬Ip位址9〇6之儲存檢查,則Page 29 1223773 V. Description of the invention (25) " Memory check logic 90 9 which is respectively coupled to a plurality of linear IP registers 905 ′ -pipeline synchronization logic 914 (via Ιρ Ηΐτ signal) and a plurality of storage buffers 9 1 0. These linear registers ρ0 are also referred to as higher Lj ρ chains, and each buffer 905 has an IP block 906 and a storage check prohibition = 1 bit 9 0 7 . The content of the lower IP chain 905 includes the virtual address of Cai 7 located in the previous pipeline stage. These contents are sequentially sent from the previous pipeline stage to the higher lip chain 905 via the bus 904. ☆ [0 0 58] In actual operation, according to the instruction of the extended micro-finger = buffer 9 1 micro instruction in the extended storage logic 809, the operation π is written into the cache memory 9 through the bus unit g 丨 2. 11 or external memory. As far as the write / store operation shown in the extended microinstruction is concerned, the storage check logic 909 receives the destination address information required for the operation from the address buffer 903, and receives the user's stored information from the buffer 902. Operand. The storage check logic 109 then enters the address and data into the storage buffer 910, and simultaneously evaluates the contents of the higher LIp chain 905 to determine whether there is an instruction in the pipeline, its virtual 1? Address and the storage suspension event. The destination address matches. If a matching virtual IP address 906 is found in the higher up chain 905, the storage check logic 109 checks the related storage check forbidden field 907. If the contents of the relevant stop 907 indicate that storage inspections are to be prohibited, the storage inspection logic 9 0 9 allows the pipeline to continue to operate without interruption. The content of the storage buffer 9 10 is in accordance with the memory characteristics assigned to the storage event, and is written into the cache memory 911 or the external memory through the bus unit 912, wherein the memory characteristics are determined by a specific processor. (Pr〇cess〇r 一 ~ speciflc) The architecture is generally specified. However, if the storage check logic 909 decides not to prohibit a storage check for a matching virtual IP address 906, then

1223773 五、發明說明(26) Η I T訊號會被設為真,以诵知势括m μ 清空/重新填充的事件,;^事:=!邏輯914開始-管線 擬I P位址的管線階段為止萬’、仃至偵測出該相符虚 FLUSH訊號915開始該管線n =步邏輯914於是透過 延伸微指令則與一管事件。隨著指令被處理, 令暫存器913。 、、“脈(未顯示)同#,被送至微指 邱八Til5 9)]:個處敕對本發明之重要技術特徵(如圖三至九 = Si由使用一已依據架構指定、但實 供-種可程式化的標;:ννΛ人明可在於一 中,前置碼係用以指示一 /人碼雈組古合。在-具體實施例 該延伸指令之儲存檢杳。:2有規格之微處理器只禁止 量之微處理器禁止該延伸指令與後續 明之ί:ί:2 查。當該延伸指令被提取時,本發 許該延伸指令送入該處;:=:-别置碼組合’並允 暫停儲在塞杜、* 一处里w之私々快取記憶體,而不.對照 發明之狂彳Φ 1 :m/丁任何儲存檢查。延伸轉譯邏輯則透過本 延伸ϋίΐ令内之運算碼延伸項欄位’指明要禁止該 位的内utf令序列的儲存檢查。運算碼延伸項攔 此春级仙在較高lip鏈中的儲存檢查禁止襴位,如 儲d:”理一儲存事件時,對於已指定要禁止 双_、延伸指令而言,並不會啟動同步化事件。 編譯二60:因/b,本發明賦予程式員與/或自動化程式碼 、置(automated code compiUti〇n 心“⑶)一種1223773 V. Description of the invention (26) Η IT signal will be set to true, in order to recite the event of m μ emptying / refilling, ^ Event: =! Logic 914 starts-pipeline stage of the pipeline IP address until After the detection of the coincident virtual FLUSH signal 915, the pipeline n = step logic 914, and then through the extended micro-instruction, a tube event is generated. As the instructions are processed, the register 913 is ordered. ,, "脉 (not shown) is the same as #, sent to Weiqiu Qiu Til5 9)]: the important technical features of the present invention (as shown in Figures 3 to 9 = Si is specified by the use, but the actual Supply-a kind of programmable mark;: ννΛ person can be in one, the preamble is used to indicate the combination of a person / person code. In the specific embodiment, the storage check of the extended instruction .: 2 Yes The specification of the microprocessor only prohibits the amount of the microprocessor from prohibiting the extended instruction and the follow-up: ί: 2 check. When the extended instruction is fetched, this extended instruction is sent to this place; "Code combination" and allows to suspend the private cache memory stored in Sedu, * one place, instead of comparing with the madness of the invention Φ 1: m / ding any storage check. Extended translation logic is extended through this extension The operation code extension field in the ΐίΐ order indicates that the storage check of the internal UTF order sequence of the bit is to be prohibited. The operation code extension prevents the storage check of the spring-grade fairy in the higher lip chain, such as storage d : "When storing events, the synchronization will not be started for the double _ and extended instructions that have been specified. Event 2: Compilation 60: Because of / b, the present invention gives programmers and / or automated code code (Automated code compiUti〇n heart) (⑶) a

1223773 五、發明說明(27) 機制’可用以指示符合舊有規格之微處理器去禁止單一指 令或指令群的儲存檢查,藉以克服在相同快取線内程式碼 與資料之父錯所造成的管線同步化清空問題,並提供一種 更具彈性的工具,來實作包含自我修正碼的演算法 (algorithm) 〇 [0 0 6 1 ]現請參閱圖十,其為描述本發明對可使程式 員於指令層級取代微處理器内之儲存檢查過程的指令,進 行提取、轉譯與執行的方法之運作流程圖丨〇 〇 〇。流程開始 於方塊1 0 0 2 ’其中一個組態有延伸特徵指令的程式,被送 至微處理器。流程接著進行至方塊1 〇 〇 4。 [0062] 於方塊1004中,下一個指令被提取,以進入 微處理菇之管線。流程接著進行至判斷方塊1 Q 〇 8。 [0063] 於判斷方塊1〇〇8中,對方塊1〇〇4中所提取的 指令進行評估,以判斷是否包含一延伸逸出碼—延伸前置 碼序列。在一 X 8 6的實施例中,該評估係用以偵測其後為 一禁止儲存檢查指定元項目之運算碼值Fl ( ice BKPT )。 若偵測到該延伸逸出碼與後續項目,則流程進行至方塊 1010。右未彳貞測到遠延伸逸出碼與延伸指定元,則流程進 行至方塊1 〇 〇 6。 [ 0 064 ]於方塊1 0 06中,以暫停儲存事件對方塊1〇〇4 丨中所提取的指令進行同步化。其中,對暫停儲存事件的目 標進行評估,以判斷是否與該提取指令的虛擬位址相符。 若相符,則管線暫停運作’並允許该些暫停儲存事件完成 動作。接著,該提取指令從外部記憶體重新被提取,流程1223773 V. Description of the invention (27) The mechanism can be used to instruct a microprocessor that conforms to the old specifications to prohibit the storage check of a single instruction or instruction group, thereby overcoming the errors caused by the father of the code and data in the same cache line. The pipeline synchronizes the emptying problem and provides a more flexible tool to implement an algorithm containing a self-correcting code. [0 0 6 1] Now refer to FIG. The operation flow chart of the method for extracting, translating, and executing the instruction of the staff to replace the instructions of the storage inspection process in the microprocessor at the instruction level. The flow starts at block 1 0 2 ', where one of the programs configured with extended feature instructions is sent to the microprocessor. The flow then proceeds to block 104. [0062] In block 1004, the next instruction is fetched to enter the pipeline of the microprocessing mushroom. The flow then proceeds to decision block 1 Q 08. [0063] In decision block 1008, the instructions extracted in block 1004 are evaluated to determine whether an extended escape code-extended preamble sequence is included. In an embodiment of X86, the evaluation is used to detect an operation code value Fl (ice BKPT) of a specified meta-item for a storage prohibition check thereafter. If the extended escape code and subsequent items are detected, the flow proceeds to block 1010. You Weizhen measured the far-extended escape code and the extended designation element, and the flow proceeds to block 106. [0 064] In block 1006, the instruction fetched in block 1004 is synchronized with the pause storage event. The target of the storage suspend event is evaluated to determine whether it matches the virtual address of the fetch instruction. If they match, the pipeline is suspended 'and allows those suspended storage events to complete the action. Then, the fetch instruction is re-fetched from the external memory, and the flow

第32頁 1223773Page 32 1223773

五、發明說明(28) 則進行至方塊1 〇 1 2。 [ 0 0 6 5 ]於方塊ι010中,解碼該延伸指令之延伸前置 碼部分,以指定於一對應微指令序列通過管線時,要禁止 該微指令序列之儲存檢查。儲存檢查的禁止,係藉由二熊 本發明之延伸微運算碼欄位來指定。流程接著進行 1012。 鬼 [ 0 066 ]於方塊1012中,該指令之所有其餘部分被 譯,以決定一指定運算、暫存器運算元之位置、記憶體位 ^指定元以及依據該既有微處理器指令集,由前置碼所指 定之既有架構特徵的使用。流程接著進行至方塊1 〇 1 4。曰 [〇 〇 6 7 ]於方塊1 ο 1 4中,一延伸微指令序列被組熊為 指定該指定運算及其對應之運算碼延伸項。流程接著^進、^一 至方塊1 0 1 6。 # [ 0 068 ]於方塊1016中,複數個微指令序列,其甲包 含方塊1014所組態之延伸微指令序列,依轉譯裝置的處^里 順序,送至一微指令佇列,由微處理器執行。流程接^ 行至判斷方塊1018。 [ 0 069 ]於判斷方塊1018中,下一個微指令序列由本 發明之一延伸執行邏輯進行提取。該延伸執行邏輯評估該 下個微指令序列,以判斷是否有指定一儲存事件。若、、支μ 有,則流程進行至方塊1 028。若有,則流程進行至方& [0070]於方塊1020中,由於已指定一儲存事件,儲 存檢查邏輯便查詢本發明之一較高L IΡ鏈。流程接著進行5. Description of the invention (28) proceeds to block 102. [0 0 6 5] In block ι010, the extended preamble portion of the extended instruction is decoded to specify that when a corresponding microinstruction sequence passes the pipeline, the storage check of the microinstruction sequence is prohibited. The prohibition of the storage check is specified by the extended micro-operation code field of the present invention. The flow then proceeds to 1012. Ghost [0 066] In block 1012, all the rest of the instruction is translated to determine a specified operation, the location of the register operand, the memory position ^ the specified element, and according to the existing microprocessor instruction set, Use of pre-existing architectural features specified by the preamble. The flow then proceeds to block 104. [0067] In block 1 ο 14, an extended microinstruction sequence is grouped to specify the specified operation and its corresponding operation code extension term. The process then proceeds to block 1 0 1 6. # [0 068] In block 1016, a plurality of microinstruction sequences, the first of which includes the extended microinstruction sequence configured in block 1014, is sent to a microinstruction queue according to the order of the translation device, and is processed by the micro器 Executive. The flow proceeds to decision block 1018. [0 069] In decision block 1018, the next microinstruction sequence is extracted by one of the extended execution logics of the present invention. The extended execution logic evaluates the next microinstruction sequence to determine if a storage event is specified. If,, and μ exist, the flow proceeds to block 1 028. If so, the process proceeds to [0070] In block 1020, since a storage event has been specified, the storage check logic queries one of the higher L IP chains of the present invention. The process continues

1223773 五、發明說明(29) 至判斷方塊1 022。 [ 0 071 ]於判斷方塊1〇22中進行評估,以判斷該儲存 事件之目的位址,是否與管線中位在該儲存事件後之指令 的任何虛擬IP位址相符。若在該LIP鏈中發現一相符之虛 擬IP位址,則流程進行至判斷方塊1 024。若未發現,則流 程進行至方塊1 028。 ' [0 0 7 2 ]於判斷方塊1 〇 2 4中,評估該相符虛擬I p位址 之相關儲存檢查禁止攔位,以判斷是否要禁止相關指令之 儲存檢查。若是,則流程進行至方塊丨〇28,若否,則流程 進行至方塊1 026。 ' [ 0 073 ]於方塊1 0 26中,延伸執行邏輯指出,該相關 指令需要進行一管線同步化事件。流程接著進行至方塊 1028 。 “ [ 00 74 ]於方塊1 0 28中,執行該下個微指令序列所指 定之運算。流程接著進行至方塊1 〇 3 0。 [0075]於方塊1030中,本方法完成。 …[0076 ]雖然本發明及其目的、特徵與優點已詳細敘 述,其它實施例亦可包含在本發明之範圍内。例如,本發 明已就如下的技術加以敘述:利用已完全佔用之指令集^ 構内-單一、未使用之運算碼狀態作為標言己,以指出其^ 之延伸特徵前置碼。但本發明的範圍就任一方面來看,並 不限於已完全佔用之指令集架構,或未使用的指令,或是 單一標記。相反地,本發明涵蓋了未完全映射之指令集、 具已使用運算碼之實施例以及使用—個以上之指^ ^記的1223773 V. Description of the invention (29) to decision block 1 022. [0 071] An evaluation is performed in judgment block 1022 to determine whether the destination address of the storage event matches any virtual IP address of the instruction in the pipeline after the storage event. If a matching virtual IP address is found in the LIP chain, the flow proceeds to decision block 1 024. If not found, the process proceeds to block 1 028. '[0 0 7 2] In judgment block 1 0 24, evaluate the relevant storage inspection prohibition stop of the corresponding virtual IP address to determine whether to prohibit the storage inspection of the relevant instruction. If yes, the flow proceeds to block 028, if not, the flow proceeds to block 1 026. '[0 073] In block 1026, the extended execution logic states that the related instruction requires a pipeline synchronization event. The flow then proceeds to block 1028. "[00 74] In block 1 0 28, the operation specified by the next microinstruction sequence is executed. The flow then proceeds to block 1 030. [0075] In block 1030, the method is completed .... [0076] Although the present invention and its objects, features, and advantages have been described in detail, other embodiments may also be included within the scope of the present invention. For example, the present invention has been described in terms of the following techniques: using a fully occupied instruction set The status of unused opcodes is used as a banner to indicate the extended feature preamble of ^. However, the scope of the present invention is not limited to the fully occupied instruction set architecture or unused instructions in any aspect. , Or a single tag. Conversely, the present invention encompasses an incompletely mapped instruction set, an embodiment with used opcodes, and the use of more than one reference ^^^

1223773 五、發明說明(30) -- 實施例。例如,考慮一沒有未使用運笪 構。本發明之一具體實施例包含了選取二匕、之指令集架 運算碼狀態,,中選取標準係依市場因;::出= 體實施例則包含使用運算碼之一特硤如人从、、疋另一具 算碼狀態7FH的連續出現。因此,本於口為標記,如運 用一標記序列,其後則為一n位元之^伸^^質係在於使 程式員/編譯員於一既有之微處理器指令=碼[=允許 止個別指令或指令群之儲存檢查。 /、 彳日疋要禁 [ 0077]此外,雖然上文係利用微 本發明及其目的、特徵和優點,熟習此域"枯、、、f解5兄 覺,本發明的範圍並不限於微處理器的架·,:可::: 有形式之可程式化裝置,如訊號處理器、工备斤 (industrial controller )、陣列處 ,甘玉制态 置。 平幻慝理為及其他同類裝 •不=之二:Ϊ者,僅為本發明之較佳實施例而已, 專利範圍所作之均等變 ::依本發明申請 圍内’謹請責審查委員明鑑,並祈惠准,是專所利 第35頁 1223773 圖式簡單說明 【圖示簡單說明 [0020] 酉己合下列說 [ 0 02 1 ] 方塊圖; [0022] 指 如何 之位元邏輯 [0023] [0024] 架構特徵如 邏輯狀態; [0025] 控制之一管 [0026] 要排除儲存 [〇〇27] 部的方塊圖 [〇〇28] 部的方塊圖 [〇〇29] 部的方塊圖 [〇〇3〇] 才旨令之相關 本發明之前述與其它目的、特徵及優點,在 明及所附圖示後,將可獲得更好的理解: 圖一係為一相關技術之微處理器指令格式的 圖一係為一表格,其描述一指令集架構中之 對應至圖一指令格式内一 8位元運算碼位元組 狀態; ' 圖二係為本發明之延伸指令格式的方塊圖; 圖四係為一表格,其顯示依據本發明,延伸 何對應至一8位元延伸前置碼實施例中位元的 圖五係為使用本發明之選擇性儲存檢查枯 線化微處理器的方塊圖; 丁 圖六係為本發明於一微處理器中,用以 檢查的延伸前置碼之—具體實施例方塊圖曰;疋 ;圖七係為®五微處理器内提取階段邏輯之細 ;圖八係為圖五微處理器内轉譯階段邏輯之細 ;圖以九及係為圖五微處理器内執行階段邏輯之細 為描述本發明於微處理器中用於*止 儲存檢查的方法之運作流程圖。 於不止1223773 V. Description of the Invention (30)-Examples. For example, consider an unused operating system. A specific embodiment of the present invention includes the state of the operation code of the instruction set selected by the two daggers, and the selection criteria is based on market factors; the output embodiment includes the use of one of the operation codes, such as the following, , 疋 Continuous appearance of another code state 7FH. Therefore, if a mark is used as a mark, then a sequence of marks followed by an n-bit ^^^^ quality is to allow the programmer / compiler to use an existing microprocessor instruction = code [= allow Only check the storage of individual instructions or instruction groups. / 、 彳 日 疋 要 禁 [0077] In addition, although the above is the use of the present invention and its objectives, features, and advantages, familiar with this field " dry ,,, and f solutions, the scope of the present invention is not limited to Microprocessor frame :::: Programmable devices with a form, such as signal processors, industrial controllers, arrays, etc. Pinghuan and other similar equipment • No = two: the one who is only the preferred embodiment of the present invention, the equivalent changes made in the scope of the patent :: within the scope of the application of the present invention 'I would like to blame the reviewer , And pray for the accuracy, it is for the benefit. Page 35 1223773 Simple illustration of the diagram [Simplified illustration of the diagram [0020] I have the following to say [0 02 1] Block diagram; [0022] Refers to how the bit logic [0023] [0024] Architectural features such as logical state; [0025] Control one tube [0026] To exclude storage [0027] block diagram [00〇28] block diagram [00〇29] block diagram [0030] The foregoing and other objects, features, and advantages of the present invention related to the decree will be better understood after clearing and accompanying drawings: Figure 1 is a microprocessing of a related technology Figure 1 of the device instruction format is a table describing the state of an instruction set structure corresponding to an 8-bit opcode byte in the instruction format of Figure 1. Figure 2 is a block of the extended instruction format of the present invention. Figure 4 is a table showing how the extension corresponds to Figure 5 of an embodiment of an 8-bit extended preamble is a block diagram of the use of the selective storage checking of the present invention to detect a dry-line microprocessor; Figure 6 is a microprocessor of the present invention. The extended preamble used to check-specific embodiment block diagram; 疋; Figure 7 is the details of the extraction stage logic in the ® five microprocessor; Figure 8 is the details of the translation stage logic in the five microprocessor ; Figure 9 and Figure 5 is a detailed flowchart of the execution stage logic in the microprocessor as a flowchart of the method used in the microprocessor for storage inspection in the present invention. More than

第36頁 1223773 圖式簡單說明 圖號說明: 100-指令格式 1 0 1 -前置碼 1 0 2 -運算碼 1 0 3 -位址指定元 2 0 0 - 8位元運算碼圖 2 0 1 -運算碼值 20 2-運算碼F1H 3 0 0 -延伸指令格式 3 0 1 -前置碼 3 0 2 -運算碼 3 0 3 -位址指定元 3 0 4 -延伸指令標記 3 0 5 -延伸前置碼 4 0 0 - 8位元前置碼圖 401-架構特徵 5 0 0 -管線化微處理器 501-提取邏輯 502 -延伸預取邏輯 5 0 3 -外部記憶體 504-指令快取記憶體 50 5-指令佇列 506 -轉譯邏輯 507 -延伸轉譯邏輯 508-微指令佇列 509 -執行邏輯 510 -延伸執行邏輯 6 0 0 -延伸前置碼 601-禁止欄位 7 0 0 -提取階段邏輯 7 0 1 -啟動狀態訊號 702-機器特定暫存器 7 0 3 -延伸特徵欄位 704-預取緩衝器 70 5-外部記憶體 706 -延伸預取邏輯 70 7-禁止序列偵測器 7 0 8 -除能訊號 70 9-提取控制器 710-暫停儲存評估邏輯 7 11 -暫存器 712-管線同步邏輯 713-STALL· 訊號Page 36 1237773 Simple illustration of the drawing Description of the drawing number: 100-instruction format 1 0 1 -preamble 1 0 2 -opcode 1 0 3 -address designator 2 0 0-8-bit opcode picture 2 0 1 -Operation code value 20 2-Operation code F1H 3 0 0 -Extended instruction format 3 0 1 -Preamble 3 0 2 -Operation code 3 0 3 -Address designation element 3 0 4 -Extended instruction mark 3 0 5 -Extended Preamble 4 0 0-8-bit preamble diagram 401-Architecture characteristics 5 0 0-Pipelined microprocessor 501-Fetch logic 502-Extended prefetch logic 5 0 3-External memory 504-Instruction cache memory Body 50 5-instruction queue 506-translation logic 507-extended translation logic 508-microinstruction queue 509-execution logic 510-extended execution logic 6 0 0-extended preamble 601-prohibited field 7 0 0-extraction stage Logic 7 0 1-Enable status signal 702-Machine specific register 7 0 3-Extended feature field 704-Prefetch buffer 70 5- External memory 706-Extended prefetch logic 70 7-Disable sequence detector 7 0 8-Disable signal 70 9-Extraction controller 710-Suspend storage evaluation logic 7 11-Register 712-Pipeline synchronization logic 713-STALL · Signal

第37頁 1223773 圖式簡單說明 714 - 填 充 緩 衝 器 715 - 匯 流 排 716- 指 令 快 取 記 憶 體 8 0 0 - 轉 譯 階 段 邏 輯 801- 啟 動 狀 態 訊 號 802 - 機 器 特 定 暫 存 器 803 - 延 伸 特 徵 欄 位 804 - 指 令 緩 衝 器 80 5 - 轉 譯 邏 輯 80 6- 轉 譯 控 制 器 807 - 除 能 訊 號 808- 逸 出 指 令 偵 測 器 80 9 - 延 伸 前 置 碼 轉 譯 器 810 - 指 令 轉 譯 器 811- 控 制 唯 讀 記 憶 體 812- 微 指 令 緩 衝 器 813- 運 算 碼 延 伸 項 爛 位 814 - 微 運 算 碼 欄 位 815- 目 的 爛 位 816 - 來 源 欄 位 817- 位 移 欄 位 9 0 0 - 執行 階 段 邏 輯 901- 資 料 快 取 記 憶 體 9 0 2- 資 料 緩 衝 器 90 3 - 位 址 緩 衝 器 904 - 匯 流排 9 0 5- 線 性IP 暫 存 器 9 0 6- IP 欄 位 90 7 - 儲 存 檢 查 禁 止 搁 位 908 - 延 伸 儲 存 邏 輯 9 0 9- 儲 存 檢 查 邏 輯 910 - 儲 存 緩 衝 器 911- 資 料 快 取 記 憶 體 912 - 匯 流 排 單 元 913- 微 指 令 暫 存 器 914- 管 線 同 步 邏 輯 915 - FLUSH訊號 1000 〜1 0 3 0 - 用 以 在 微處理器 中禁止儲存 檢 查 的 方 法 之 運 作 流程Page 37 1223773 Brief description of the diagram 714-Fill the buffer 715-Bus 716-Instruction cache memory 8 0 0-Translation stage logic 801-Start status signal 802-Machine-specific register 803-Extended feature field 804 -Instruction buffer 80 5-Translation logic 80 6-Translation controller 807-Disable signal 808-Escape command detector 80 9-Extended preamble translator 810-Instruction translator 811-Control read-only memory 812 -Micro-instruction buffer 813- Opcode extension entry bad bit 814-Micro-op code field 815- Destination bad bit 816-Source field 817- Offset field 9 0 0-Run-time logic 901- Data cache memory 9 0 2-Data buffer 90 3-Address buffer 904-Bus 9 0 5-Linear IP register 9 0 6-IP field 90 7-Storage check prohibited shelf 908-Extended storage logic 9 0 9- Storage check logic 910- Storage buffer 911- Data cache memory 912-Bus unit 913-Micro-instruction register 914-Pipeline synchronization logic 915-FLUSH signal 1000 ~ 1 0 3 0-Method for disabling storage check in the microprocessor Operation process

第38頁Page 38

Claims (1)

1實换頁 ,年 1 jeLI· L#號 92innQ49_—年—月 曰 修__ 六、申請專利範圍 1 種可在一微處理器内進行指令層級之儲存檢查控制的 裝置,包含: 一提取邏輯,用以接收一延伸指令,其中該延伸指 令包含: • 一延伸前置碼,用於指定要禁止該延伸指令之 儲存檢查;以及 一延伸前置碼標記,係一既有指令集内另一架 構運算碼;1 Real page change, year 1 jeLI · L # No. 92innQ49_—year—month Yuexiu__ VI. Patent application scope 1 A device that can perform instruction-level storage inspection control in a microprocessor, including: an extraction logic To receive an extended instruction, where the extended instruction includes: • an extended preamble, which is used to specify that the storage check of the extended instruction is prohibited; and an extended preamble tag, which is another in the existing instruction set Architecture opcode 其中該提取邏輯排除該延伸指令之相關暫停儲存事 件的儲存檢查;以及 一轉譯邏輯,耦接至該提取邏輯,用於將該延伸指 令轉譯成一微指令序列,以指示該微處理器於一指定運 算執行時,排除儲存檢查。 2·如申請專利範圍第1項所述之裝置,其中該延伸指令更 包含該既有指令集之指令項目。 3 ·如申請專利範圍第2項所述之裝置,其中該指令項目指 定該微處理器所要執行之該指定運算,且其中該指定運 算執行時,將另行執行儲存檢查。 4·如申請專利範圍第3項所述之裝置,其中若在一特定指 令完成執行前,偵測到一儲存事件,其中該儲存事件之 一目的位址與該特定指令之位置相符,則一儲存檢查邏 輯將另行從該微處理器清除該特定指令與所有後續&取 之指令,並於該儲存事件完成後,從該特定指令I位置 開始重新提取指令。The fetch logic excludes the storage check of the suspended storage event related to the extended instruction; and a translation logic coupled to the fetch logic for translating the extended instruction into a micro-instruction sequence to instruct the microprocessor on a specified When the calculation is executed, the storage check is excluded. 2. The device according to item 1 of the scope of patent application, wherein the extended instruction further includes an instruction item of the existing instruction set. 3. The device as described in item 2 of the scope of patent application, wherein the instruction item specifies the specified operation to be performed by the microprocessor, and when the specified operation is performed, a storage check will be performed separately. 4. The device according to item 3 of the scope of patent application, wherein if a storage event is detected before a specific instruction is completed and executed, and a destination address of the storage event matches the position of the specific instruction, a The storage check logic will additionally clear the specific instruction and all subsequent & fetched instructions from the microprocessor, and after the storage event is completed, re-fetch the instruction from the specific instruction I position. 丄W73丄 W73 =申請專利範圍第〗項所述之裝置,其中該提取邏輯包 十 1申預取邏輯,組態為偵測該延伸前置碼與該延小 二置碼標記,並致能該延伸指令在不需檢查此:^ 件的愔犯丁 /二孖| 6 f月形下,進行至該轉譯邏輯。 ,專利範圍第5項所述之裝置,其中一暫停儲存評 士建輯另行評估該微處理器管線中前面的指令,以偵消 二暫彳τ儲存事件,且若發現該些暫停儲存事件之」目 2 =址與一所提取指令之位置相符,則該儲存檢查邏賴= The device described in the scope of the patent application, wherein the extraction logic includes eleven pre-fetch logic, and is configured to detect the extended preamble and the extended small two code mark, and enable the extended instruction in You do not need to check this: ^ guilty guilty / two 孖 | 6 f month, proceed to the translation logic. The device described in item 5 of the patent scope, one of which temporarily suspends the storage of the judges and evaluates the previous instructions in the microprocessor pipeline to detect the second temporary storage event, and if it is found Head 2 = the address matches the location of an fetched instruction, the storage check logic ^该提取指令之執行,以允許更新該目的位址。 •如申凊專利範圍第1項所述之裝置,其中該延伸 包含8個位元。 碼 如申睛專利範圍第1項所述之裝置,其中該延伸前置 包含: 巧 一禁止攔位,用以指定要禁止該延伸指令之相關 存檢查。 = 9 ·如申請專利範圍第1項所述之裝置,其中該延伸前置 包含ί 一禁止攔位,用以指定要禁止該延伸指令與一指定 數量之後續指令的相關儲存檢查。 I 〇 ·如申請專利範圍第1項所述之裝置,其中該既有指令集 包含x86指令集。 II ·如申請專利範圍第1項所述之裝置,其中該延伸前置碼 標記包含Χ86指令集之運算碼FI (ICE ΒΚΡΤ)。^ The fetch instruction is executed to allow the destination address to be updated. • The device described in claim 1 of the patent scope, wherein the extension includes 8 bits. Code The device as described in item 1 of Shenyan's patent scope, wherein the extension pre-contains: Qiao Yi prohibition of stop, used to specify that related inspection of the extension instruction is prohibited. = 9 · The device according to item 1 of the scope of the patent application, wherein the extension includes a prohibition stop to specify that the related storage inspection of the extension instruction and a specified number of subsequent instructions is to be prohibited. I 〇 The device described in item 1 of the scope of patent application, wherein the existing instruction set includes an x86 instruction set. II. The device according to item 1 of the scope of patent application, wherein the extended preamble mark includes the operation code FI (ICE ΒΚΡΤ) of the X86 instruction set. 第40頁 1223773 _案號 92100942 7 月 ^ 曰_iii_ 六、申請專利範圍 1 2.如申請專利範圍第1項所述之裝置,其中該轉譯邏輯包 含: 一逸出指令偵測邏輯,用於偵測該延伸前置碼標 I己; 一指令轉譯邏輯,用以決定該指定運算,並於該 微指令序列内指定該指定運算;以及 一延伸轉譯邏輯,耦接至該逸出指令偵測邏輯與 該指令轉譯邏輯,用以於該微指令序列内指定,要在 該指定運算執行時,排除儲存檢查。Page 40 1223773 _Case No. 92100942 July ^ _iii_ VI. Patent application scope 1 2. The device described in item 1 of the patent application scope, wherein the translation logic includes: an escape instruction detection logic for Detect the extended preamble label I; an instruction translation logic to determine the specified operation and specify the specified operation in the microinstruction sequence; and an extended translation logic coupled to the escape instruction detection The logic and the instruction translation logic are used to specify within the microinstruction sequence, and the storage check is excluded when the specified operation is performed. 1 3. —種擴充一既有指令集以在一微處理器管線内選擇性 地禁止儲存檢查之微處理器,包含: 一延伸指令’組怨為指定該延伸指令之相關儲存 檢查要被禁止,其中該延伸指令包含該既有指令集其 中一選取之運算碼,其後則接著一 η位元之延伸前置 碼,該選取之運算碼指出該延伸指令,而該η位元之延 伸前置碼則指示要禁止儲存檢查;以及1 3. A microprocessor that expands an existing instruction set to selectively disable storage checks in a microprocessor pipeline, including: An extended instruction 'set of complaints specifying that related storage checks for the extended instruction are to be disabled , Where the extended instruction includes one selected operation code of the existing instruction set, followed by an n-bit extended preamble, the selected operation code indicates the extended instruction, and the n-bit extended before A code indicates that storage inspections are prohibited; and 一轉譯器,組態為接收該延伸指令,產生一微指 令序列,以指示一微處理器執行一指定運算,並於該 指定運算執行時,排除相關之儲存檢查。 1 4.如申請專利範圍第1 3項所述之微處理器,其中該延伸 指令更包含: 其餘指令項目,組態為指定該指定運算。 1 5.如申請專利範圍第1 3項所述之微處理器,其中該η位元 之前置碼包含:A translator is configured to receive the extended instruction, generate a micro-instruction sequence to instruct a microprocessor to perform a specified operation, and exclude the related storage check when the specified operation is performed. 14. The microprocessor according to item 13 of the scope of patent application, wherein the extended instruction further includes: the remaining instruction items, configured to specify the specified operation. 1 5. The microprocessor according to item 13 of the scope of patent application, wherein the pre-n-bit code includes: 第41頁 1223773 _案號92100942_P年7月^曰 修正_ 六、申請專利範圍 一禁止欄位,組態為指定要禁止該延伸指令之儲 存檢查。 1 6.如申請專利範圍第1 3項所述之微處理器,其中該η位元 之前置碼包含: 一禁止攔位,組態為指定要禁止該延伸指令與一 指定數量之後績指令的儲存檢查。 1 7.如申請專利範圍第1 3項所述之微處理器,其中該η位元 之延伸前置碼包含8個位元。Page 41 1223773 _Case No. 92100942_July ^ Amendment_ VI. Patent Application Scope A prohibition field is configured to specify that the storage inspection of the extended instruction is prohibited. 16. The microprocessor according to item 13 of the scope of the patent application, wherein the pre-n-bit code includes: a prohibition stop configured to specify that the extended instruction and a specified number of subsequent performance instructions are to be prohibited Storage check. 1 7. The microprocessor according to item 13 of the scope of patent application, wherein the extended preamble of the n-bits includes 8 bits. 1 8.如申請專利範圍第1 3項所述之微處理器,其中該既有 指令集係χ86微處理器指令集。 1 9.如申請專利範圍第1 3項所述之微處理器,其中該選取 之運算碼包括x86微處理器指令集中之ICE ΒΚΡΤ運算碼 (即運算碼F1 )。 20.如申請專利範圍第1 3項所述之微處理器,其中該轉譯 器包含: 一逸出指令偵測器,用以偵測該延伸指令内之該 選取之運算碼;1 8. The microprocessor according to item 13 of the scope of patent application, wherein the existing instruction set is a x86 microprocessor instruction set. 19. The microprocessor according to item 13 of the scope of the patent application, wherein the selected operation code includes the ICE ΒΚΡΤ operation code (that is, operation code F1) in the instruction set of the x86 microprocessor. 20. The microprocessor according to item 13 of the scope of patent application, wherein the translator comprises: an escape instruction detector for detecting the selected operation code in the extended instruction; 一指令轉譯器,用以轉譯該延伸指令之其餘部 分,以決定该指定運鼻,以及 一延伸前置碼轉譯器,耦接至該逸出指令偵測器 及該指令轉譯器,用以轉譯該η位元之延伸前置碼,並 於該微指令序列内指定要禁止儲存檢查。 2 1.如申請專利範圍第1 3項所述之微處理器,更包含:An instruction translator for translating the rest of the extended instruction to determine the designated operation nose, and an extended preamble translator coupled to the escape instruction detector and the instruction translator for translation The n-bit extended preamble designates that the micro-instruction sequence prohibits the storage check. 2 1. The microprocessor described in item 13 of the scope of patent application, further comprising: 第42頁 1223773 _案號92100942 年7月曰 修正_ 六、申請專利範圍 一延伸預取邏輯,用以從記憶體接收該延伸指 令,偵測該選取之運算碼與該η位元之延伸前置碼,並 在不檢查暫停儲存事件是否與該延伸指令之位置相符 的情形下,允許該延伸指令送至該轉譯器。 2 2. —種為一既有指令集增添禁止指令之儲存檢查特徵的 模組,包含: 一逸出標記,由一提取邏輯接收,並指出一對應 指令之附隨部分係指定了所要執行之一運算,其中該 逸出標記為該既有指令集内之一第一運算碼;Page 42 1237773 _Case No. 92100942, July, Amendment_ VI. Scope of patent application-Extended prefetch logic, used to receive the extended instruction from the memory, detect the selected opcode and the n-bit extended before Set the code and allow the extended instruction to be sent to the translator without checking whether the suspended storage event matches the location of the extended instruction. 2 2. —A module for adding storage inspection features of prohibited instructions to an existing instruction set, including: An escape flag, received by an extraction logic, and indicating that the accompanying part of a corresponding instruction specifies what is to be executed An operation, wherein the escape flag is a first operation code in the existing instruction set; 一儲存檢查禁止指定元,耦接至該逸出標記,且 為該附隨部分其中之一,用以指定於該運算執行時, 要禁止儲存檢查; 一轉譯邏輯,耦接至該提取邏輯,用於產生一微 指令序列,以指示一微處理器執行該運算,並於該微 指令序列内指定要禁止儲存檢查;以及 一延伸執行邏輯,耦接至該轉譯邏輯,接收該微 指令序列,並以不進行儲存檢查的方式執行該運算。A storage check prohibition designated element, coupled to the escape tag, and being one of the accompanying parts, used to specify that storage check is prohibited when the operation is performed; a translation logic, coupled to the extraction logic, For generating a micro-instruction sequence to instruct a microprocessor to perform the operation, and specifying that the storage check is prohibited in the micro-instruction sequence; and an extended execution logic coupled to the translation logic to receive the micro-instruction sequence, This operation is performed without a storage check. 2 3.如申請專利範圍第2 2項所述之模組,其中該附隨部分 之其餘部分包含一第二運算碼,用以指定該運算。 2 4.如申請專利範圍第22項所述之模組,其中該儲存檢查 禁止指定元包含8個位元。 2 5.如申請專利範圍第2 2項所述之模組,其中該既有指令 集係χ86指令集。 2 6.如申請專利範圍第2 2項所述之模組,其中該第一運算2 3. The module according to item 22 of the scope of patent application, wherein the rest of the accompanying part includes a second operation code for specifying the operation. 2 4. The module according to item 22 of the scope of patent application, wherein the storage inspection prohibition designation element contains 8 bits. 2 5. The module according to item 22 of the scope of patent application, wherein the existing instruction set is the x86 instruction set. 2 6. The module according to item 22 of the scope of patent application, wherein the first operation 第43頁 1223773Page 12 1223773 碼包含χ86指令集中之ICE BKPT運算碼(即運算碼 F1 )。 … 2 7 ·如申請專利範圍第2 2項所述之模組,其中該轉譯邏輯 包含: 一逸出標記偵測邏輯’用以偵測該逸出標記,並 指示該附隨部分的轉譯動作需依據延伸轉譯常規 (conventions );以及 一解碼邏輯,耦接至該逸出標記偵測邏輯,用以 依據該既有指令集之常規,執行指令的轉譯動作,並 依據a亥延伸轉譯常規執行該對應指令之轉譯,以致能 该運算以不進行儲存檢查的方式執行。 •種擴充一既有指令集架構的方法,以於指令層級禁 止健存檢查,該方法包含: 一提供一延伸指令,該延伸指令包含一延伸標記及 :,伸前置碼,其中該延伸標記係該既有指令集架構 ”中一第一運算碼項目; 透過該延伸前置碼指定於該延伸指令執行時,禁 士儲存檢查中該延伸指令之其餘部分指定所要執 仃之一運算;以及 禁止該延伸指令之相關儲存檢查。 29. 士:申請專利範圍第28項所述之方法,其中該指定動作 包含: ^使用該既有指令集架構之一第二運算碼項目來指The code contains the ICE BKPT operation code in the χ86 instruction set (that is, operation code F1). … 2 7 · The module described in item 22 of the scope of patent application, wherein the translation logic includes: an escape mark detection logic 'for detecting the escape mark and instructing the translation action of the accompanying part Need to be based on extended translation conventions; and a decoding logic coupled to the escape tag detection logic to perform instruction translation actions based on the existing instruction set conventions, and execute according to the extended translation conventions The translation of the corresponding instruction enables the operation to be performed in a manner that does not perform a storage check. • A method of expanding an existing instruction set architecture to disable health check at the instruction level, the method includes:-providing an extended instruction, the extended instruction includes an extension mark and:, extending the preamble, wherein the extension mark Is a first opcode item in the Existing Instruction Set Architecture; using the extended preamble to specify that when the extended instruction is executed, the rest of the extended instruction in the jailer storage check specifies one of the operations to be performed; and Relevant storage inspection of the extended instruction is prohibited. 29. The method described in item 28 of the scope of patent application, wherein the specified action includes: ^ using a second opcode item of the existing instruction set architecture to indicate 1223773 —-崖號 92100M2 -—--- 六'申請專利範圍 3 0.如申請專利範圍第2 8項所述之方法’其中該提供延伸 指令之動作包含使用一 8位元大小之項目,以對該延伸 前置碼進行組態。 3 1 ·如申請專利範圍第2 8項所述之方法,其中該提供延伸 指令之動作包含從X 8 6微處理器^曰令集木構述取該第一 運算碼項目。 3 2 ·如申請專利範圍第2 8項所述之方法,其中該提供延伸 指令之動作包含選取x86 ICE BKPT運算碼(即運算碼 F 1 )作為該延伸標記。 3 3 ·如申請專利範圍第2 8項所述之方法,更包含: 將該延伸指令轉譯成一微指令序列,該微指令序 列係指示一延伸執行邏輯以不進行儲存檢查的方式 行該運算。 工 34·如申請專利範圍第33項所述之方法,其中該轉 指令的動作包含: ;以及 碼與該延伸指 於一轉譯邏輯内,偵測該延伸標記 依照延伸轉譯規則解碼該延伸前置 令之其餘部分,以產生該微指令序列。1223773 --- Cliff No. 92100M2 ------ Six 'Applicable patent scope 30. The method described in item 28 of the patent application scope' wherein the action of providing extended instructions includes using an 8-bit size item to Configure the extended preamble. 3 1 · The method as described in item 28 of the scope of patent application, wherein the action of providing an extended instruction includes taking the first opcode item from the X 8 6 microprocessor ^ command set. 3 2 · The method described in item 28 of the scope of patent application, wherein the action of providing an extended instruction includes selecting an x86 ICE BKPT operation code (that is, operation code F 1) as the extension mark. 3 3 The method as described in item 28 of the scope of patent application, further comprising: translating the extended instruction into a micro instruction sequence, the micro instruction sequence instructs an extended execution logic to perform the operation without performing a storage check. Method 34. The method described in item 33 of the scope of patent application, wherein the action of the transfer instruction includes:; and the code and the extension refer to a translation logic, detecting the extension mark to decode the extension preamble according to the extension translation rule Order the rest to generate the microinstruction sequence. 第45頁 1223773 (案號第〇九二一〇〇九四二號專利案圖式之修正頁)Page 45 1223773 (Patent No. 0921 0094 Patent Amendment Sheet) 801801 畜八Ichihachi
TW92100942A 2002-10-29 2003-01-17 Suppression of store checking TWI223773B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/283,397 US7302551B2 (en) 2002-04-02 2002-10-29 Suppression of store checking

Publications (2)

Publication Number Publication Date
TW200406702A TW200406702A (en) 2004-05-01
TWI223773B true TWI223773B (en) 2004-11-11

Family

ID=29270355

Family Applications (1)

Application Number Title Priority Date Filing Date
TW92100942A TWI223773B (en) 2002-10-29 2003-01-17 Suppression of store checking

Country Status (2)

Country Link
CN (1) CN1328655C (en)
TW (1) TWI223773B (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4340551A1 (en) * 1993-11-29 1995-06-01 Philips Patentverwaltung Program memory extension for a microprocessor
KR100379837B1 (en) * 2000-06-30 2003-04-11 주식회사 에이디칩스 Extended instruction folding system
JP3763516B2 (en) * 2001-03-30 2006-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーション CONVERSION PROGRAM, COMPILER, COMPUTER DEVICE, AND PROGRAM CONVERSION METHOD

Also Published As

Publication number Publication date
CN1453702A (en) 2003-11-05
TW200406702A (en) 2004-05-01
CN1328655C (en) 2007-07-25

Similar Documents

Publication Publication Date Title
TWI691897B (en) Instruction and logic to perform a fused single cycle increment-compare-jump
TW591527B (en) Apparatus and method for extending a microprocessor instruction set
CN103098020B (en) Map between the register used by multiple instruction set
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.
AU635016B2 (en) Decoding multiple specifiers in a variable length instruction architecture
TWI515654B (en) Convert from zoned format to decimal floating point format
JP5758515B2 (en) System and method for move removal using bypass multiple instantiation tables
TWI282066B (en) Apparatus and method for extending data modes in a microprocessor
US7647478B2 (en) Suppression of store checking
KR20140113432A (en) Methods and apparatus for fusing instructions to provide or-test and and-test functionality on multiple test sources
JPH07182163A (en) Decoding/issuing apparatus of superscalar instruction
JP6867082B2 (en) Equipment, methods, programs, and computer-readable recording media
KR20140113433A (en) Fusible instructions and logic to provide or-test and and-test functionality using multiple test sources
TW201241747A (en) Efficient conditional ALU instruction in read-port limited register file microprocessor
WO2011107170A1 (en) Instruction cracking based on machine state
WO2014208054A1 (en) Optimization of instruction groups across group boundaries
JPH04260950A (en) Cache memory device
JP6491655B2 (en) Processor and method for immediate handling and flag handling
Christie Developing the AMD-K5 architecture
TW201516861A (en) Microprocessor, methods of selectively decompressing microcode, generating selectively compressed microcode, and generating a description, and computer program product
TWI223773B (en) Suppression of store checking
TWI428822B (en) Microprocessors and methods thereof
JP2020523693A (en) Emulation of a target system using a JIT compiler and bypassing translation of selected target code blocks
TW569136B (en) Apparatus and method for conditional instruction execution
TWI230356B (en) Apparatus and method for extending address modes in a microprocessor

Legal Events

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