[go: up one dir, main page]

TWI245221B - Apparatus and method for selective memory attribute control - Google Patents

Apparatus and method for selective memory attribute control Download PDF

Info

Publication number
TWI245221B
TWI245221B TW091124008A TW91124008A TWI245221B TW I245221 B TWI245221 B TW I245221B TW 091124008 A TW091124008 A TW 091124008A TW 91124008 A TW91124008 A TW 91124008A TW I245221 B TWI245221 B TW I245221B
Authority
TW
Taiwan
Prior art keywords
memory
instruction
extended
item
patent application
Prior art date
Application number
TW091124008A
Other languages
Chinese (zh)
Inventor
G Glenn Henry
Rodney E Hooker
Terry Parks
Original Assignee
Ip First Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/227,572 external-priority patent/US7315921B2/en
Application filed by Ip First Llc filed Critical Ip First Llc
Application granted granted Critical
Publication of TWI245221B publication Critical patent/TWI245221B/en

Links

Classifications

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

Landscapes

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

Abstract

An apparatus and method are provided for extending a microprocessor instruction set to allow for selective override of memory traits at the instruction level. The apparatus includes translation logic and extended execution logic. The translation logic translates an extended instruction into a micro instruction sequence. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies a memory trait for a memory reference prescribed by the extended instruction, where the memory trait for the memory reference cannot be specified by an existing instruction from an existing instruction set. The extended prefix tag indicates the extended prefix, where the extended prefix tag is an otherwise architecturally specified opcode within the existing instruction set. The extended execution logic is coupled to the translation logic. The extended execution logic receives the micro instruction sequence, and employs the memory trait to execute the memory reference.

Description

1245221 Α7;^ (案號第091124008號專利案之說明書修正 ;λ* η1245221 Α7; ^ (Case No. 091124008 Specification Amendment; λ * η

五、發明說明( 與相關申請案之對照 經濟部智慧財產局員工消費合作社印製 [0001] 本申凊案主張以下美國申 、㈣甲明累之優先權:幸 10/227572,申請日為2002年8月22日。 系就 [0002] 本申請案與下列同在申請中之美國專利 關,都具有相同的申請人與發明人。 〃 台灣申請 案號 申請曰 DOCKET NUMBER 置及方法 91116957 7/30/02 CNTR:2176 91116958 7/30/02 CNTR:2186 執行條件指令之裝置及方 法 91116956 7/30/02 CNTR:2188 選擇性地控制條件碼回寫 91116959 7/30/02 CNTR:2189 增加微處理器之暫存器數 量的機制 91124005 10/18/02 CNTR:2190 延伸微處理器資料模式之 裝置及方法 91124006 10/18/02 CNTR:2191 延伸微處理器位址模式之 裝置及方法 CNTR:2192 儲存檢查之禁止 CNTR:2193 之禁止 91124007 10/18/02 CNTR:2195 一 -————— 非暫存記憶體參照控制機 制 91116672 7/26/02 CNTR:2198 —---—-— 選擇性地控制結果回寫之 裝置及方法 "----- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)V. Description of the Invention (Comparison with related applications Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs [0001] This application claims the following priority of the United States application and Meijia Minglei: Fortunately 10/227572, the application date is 2002 August 22, 2000. [0002] This application has the same applicants and inventors as the following U.S. patents that are also in the same application. 申请 Taiwan Application No. Application DOCKET NUMBER Set and Method 91116957 7 / 30/02 CNTR: 2176 91116958 7/30/02 CNTR: 2186 Device and method for executing conditional instructions 91116956 7/30/02 CNTR: 2188 Selectively control condition code writeback 91116959 7/30/02 CNTR: 2189 Add micro Mechanism of the number of registers of the processor 91124005 10/18/02 CNTR: 2190 Device and method for extending microprocessor data mode 91124006 10/18/02 CNTR: 2191 Device and method for extending microprocessor address mode CNTR: 2192 Prohibition of storage inspection CNTR: Prohibition of 2193 91124007 10/18/02 CNTR: 2195 I ----------- Non-temporary memory reference control mechanism 91116672 7/26/02 CNTR: 2198 --------- Control results selectively Apparatus and method for writing " ----- This paper scales applicable Chinese National Standard (CNS) A4 size (210 X 297 mm)

A7 |繁正替換則 書修— i J 經濟部智慧財產局員工消費合作社印製 1245221 (案號第刚 五、發明說明(X ) (一)發明技術領域: 毛月係有關微電子的領域,尤指一種能將選擇 性的記憶體屬性控舰A ^ ^ 衩制納入一既有之微處理器指令集架構的技 (二)發明技術背景·· _4]自1970年代初發韌以來,微處理器之使用即呈 指數般成長。從最早應用於科學與技術的領域,到如今已從 那些特殊領域引進商業的消費者領域,如桌上型與膝上型 (laptop)電腦、視訊遊戲控制器以及許多其他常見的家用盘 商用裝置等產品。 [〇〇〇5] Ik著使用上的爆炸性成長,在技術上也歷經一相 對應之提昇,其特徵在於對下列項目有著日益昇高之要求·· 更快的速度、更強的定址能力、更快的記憶體存取、更大的 運异元、更多種一般用途類型之運算(如浮點運算、單一指 令多重資料(SIMD)、條件移動等)以及附加的特殊用途運 异(如數位机號處理功能及其他多媒體運算)。如此造就了 該領域中驚人的技術進展,且都已應用於微處理器之設計, 像擴充管線化(extensive pipelining )、超純量架構(super_scalar architecture )、快取結構、亂序處理(out-〇fiorder processing )、 爆發式存取(burst access )機制、分支預測(branch predication ) 以及假想執行(speculative execution)。直言之,比起30年 前剛出現時,現在的微處理器呈現出驚人的複雜度,且具備 了強大的能力。 _________2___ 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂------------線- [245221 A7 (案號第〇91124〇08號專利案之說明書修正)B7A7 | Fan Zheng Replacement Book Repair — i J Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 1245221 (Case No. 5) Invention Description (X) (I) Field of Invention Technology: Mao Yue is a field related to microelectronics, especially Refers to a technology that can incorporate selective memory attribute control ship A ^ ^ control into an existing microprocessor instruction set architecture (II) Technical background of the invention ·· _4] since the early 1970s, microprocessing, The use of devices has grown exponentially. From the earliest applications in science and technology to consumer areas that have introduced business from those special areas, such as desktop and laptop computers, video game controllers And many other common household disk commercial devices and other products. [0050] Ik has grown explosively in use, and has also undergone a corresponding technical upgrade, which is characterized by increasing requirements for the following items: · Faster speed, stronger addressing capability, faster memory access, larger operands, more general-purpose types of operations (such as floating-point operations, single instruction multiple data (SIMD) Conditional movement, etc.) and additional special-purpose operations (such as digital machine number processing functions and other multimedia operations). This has created amazing technological progress in this field and has been applied to the design of microprocessors, such as expansion pipelines (extensive pipelining), super_scalar architecture, cache structure, out-factory processing, burst access mechanism, branch predication, and speculative In short, compared to when it first appeared 30 years ago, today's microprocessors have shown amazing complexity and powerful capabilities. _________2___ This paper standard applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm) (Please read the precautions on the back before filling out this page) Order ------------ Line-[245221 A7 (Amendment to the Specification of Patent Case No. 091124〇08) B7

經濟部智慧財產局員工消費合作社印製 五、發明說明( [0006] 但與許多其他產品不同的是,有另一非常重要的 因素已限制了,並持續限制著微處理器架構之演進。現今微 處理器會如此複雜’ 一大部分得歸因於這項因素,即舊有軟 體之相容性。在市場考量下,所多製造商選擇將新的架構特 徵納入最新的微處理器設計中,但同時在這些最新的產品 中,又保留了所有為確保相容於較舊的、即所謂「舊有」 (legacy)應用程式所必需之能力。 [0007] 這種舊有軟體相容性的負擔,沒有其他地方,會 比在x86-相容之微處理器的發展史中更加顯而易見。大家都 知道,現在的32/16位元之虛擬模式(virtuai_m〇de) χ86微 處理器,仍可執行1980年代所撰寫之8位元真實模式 (real-mode)的應用程式。而熟習此領域技術者也承認,有 不少相關的架構「包祇」堆在x86架構中,只是為了支援與 舊有應用程式及運作模式的相容性。雖然在過去,研發者可 將新開發的_特徵加人既有的齡集雜,但如今使用這 些特徵所憑藉之工具,即可程式化的指令,卻變得相當稀少。 ^簡單地說,在某些重要的指令集中,已沒有「多餘」的指 令,讓設計者可藉以將更新的特徵納入一既有的架構中。 —[0008]例如,在x86指令集架構中,已經沒有任何一未 定義的-位元組大小的運算碼狀態,是尚未被使用的。在主 ,的-位兀組大小之傷運算碼圖中,全部MS個運算碼狀 態都已被既有的指令佔用了。結果是,χ86微處理器的設計 者現,必齡提供新槪與保留舊有軟體相容性兩者間作挟 擇。右要提供新的可程式化特徵,則必須分派運算·大態給 (210 X 297 公釐) (請先閱讀背面之注意事項再填寫本頁) •-禮 -------訂—-------·Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs. 5. Description of the Invention ([0006] But unlike many other products, there is another very important factor that has been limited and continues to limit the evolution of microprocessor architectures. Today Microprocessors can be so complicated 'due in large part to the compatibility of old software. In consideration of the market, many manufacturers choose to incorporate new architectural features into the latest microprocessor designs , But at the same time retains all the capabilities necessary to ensure compatibility with older, so-called "legacy" applications in these latest products. [0007] This legacy software compatibility The burden, nowhere else, will be more obvious than in the development history of x86-compatible microprocessors. Everyone knows that the current 32 / 16-bit virtual mode (virtuai_mode) x86 microprocessors, still It can execute 8-bit real-mode applications written in the 1980s. Those skilled in this field also acknowledge that there are many related architectures "packages" only stacked in the x86 architecture, just for the sake of Support compatibility with old applications and operating modes. Although in the past, developers can add newly developed features to existing age sets, but now they can be programmed using the tools that these features rely on However, in short, there are no "redundant" instructions in some important instruction sets, allowing designers to incorporate updated features into an existing architecture. — [0008 ] For example, in the x86 instruction set architecture, there is no state of an undefined -byte size opcode, and it is not yet used. In the main -bit byte size opcode diagram, all The MS opcode states have been occupied by existing instructions. As a result, designers of χ86 microprocessors must now choose between providing new software and retaining compatibility with old software. Right to provide For new programmable features, you must assign calculations to (210 X 297 mm) (please read the precautions on the back before filling this page) • -Li ------- Order --- ---- ·

I 245221 (案號第〇9l m〇〇8號專利案之說明書修正)I 245221 (Amendment to the specification of case No. 091 m008)

經濟部智慧財產局員工消費合作社印製 五、發明說明(4·) 這些特徵。若既有的指令集架構沒有多餘的運算碼狀態,則 某些既存的運算碼狀態必須重新絲,以提供給新的特徵: 因此,為了提供新的特徵,就得犧牲舊有軟體相容性了。 [0009]現今微處理器設計者所關心的一個領域,為應用 程式如何有效率地使用快取記憶體結構。隨著快取技術的演 進,已提供越來越多的特徵,其允許系統程式員可控制一^ 統中快取記憶體何時及如何被使用。早_快取控制特徵僅 提供開/關的能力。藉由設定微處理器之一内部暫存器,或藉 由將其封裝體(package)上之某外部訊號腳位設為真,設^ 者可將§己憶體之快取致能,或將整個記憶體空間設定為不可 快取(uncacheable)。對於不可快取之記憶體參照(㈤⑽町 reference)(即載入/讀取與儲存/寫入),則皆送至系統記憶 體匯流排,而產生與外在匯流排架構相同之等待時間 (latency)。相反地,§己憶體對於一快取記憶體之參照或存 取,只有在一快取未中(cache miss)發生時(亦即,一記憔 體參照的目標在内部快取記憶體内並非有效),才被送至系 統記憶體匯流排。快取特徵使得應用程式在執行速度上大幅 提昇’特別是應用程式對記憶體中相同的資料結構進行重複 參照時。 [0010]晚近微處理器架構上的改進,已使得系統設計者 能更精確地控制如何使用快取特徵。這些改進允許設計者在 微處理器的位址空間内,定義一個範圍之位址的性質,其中, 此定義是以微處理器對這些位址的參照是如何依其快取層級 架構(cache hierarchy)執行的方式進行。一般而言,對這些 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公髮) (請先閱讀背面之注意事項再填寫本頁) ί祕 訂---------線, 經濟部智慧財產局員工消費合作社印製 1245221 A7 (案號第091124〇08號專利案之說明書修正)B7 五、發明說明(r) 位址的參照可被定義為不可快取、複合寫入(write combining)、寫透(write through)、回寫(writeback)或 寫入保護(write protected)。這些性質稱為記憶體屬性 (attribute),或記憶體特性(t]rait)。因此,具有回寫屬性 之位址的儲存參照,會被送到快取記憶體,並假想地 (speculatively)分派至其中的儲存位置。對具有不可快取屬 性之另一位址的儲存參照,則送至系統匯流排,且不會進行 假想地分派儲存位置的動作。 [0011] 不過,對於記憶體屬性及特定屬性如何由微處理 器藉其快取記憶體加以處理,提供一深度的說明,則不在本 申請案的範圍内。此處去了解本技術領域目前所能使設計者 指派一記憶體屬性予一記憶體區域,以及所有後續對該區域 内位址之記憶體參照,將依據關聯於該指定記憶體屬性之快 取原則(cachepolicy)來處理,如此即已足夠。 [0012] 雖然現代的微處理器設計允許記憶體的不同區 域被賦予不同的記憶體特性,但在兩個重要方面,設計上仍 受限制。第一,微處理器指令集架構限制了用以定義/改變記 憶體特性至使用者層級(user_level)的應用程式所無法存取 之一(privilege)層級的指令執行。因此,當一桌上型/膝上 型微處理器啟動時,其作業系統在任何使用者層級應用程式 開啟前,便將實體記憶體空間之記憶體特性建立好。因而使 用者層級的應用程式便不能改變主機系統之記憶體特性。第 二、,在現代微處理H中,用來建立記憶體特性的最佳處理層 級為分頁層級。在習用之允許記憶體分頁 ---------8___ 本紙張尺度適用中國國豕標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂--------- n ϋ n n - A7 1245221 (案號g 〇9丨 l24〇〇8 五、發明說明(△ 的架構中,每一記憶體分頁之記憶體屬性,由作業系統在分 頁目錄/表(pagedirectory/table)之項目内作進一步界定。因 此’所有對於-特定分頁内位址之參照,將使用於該相關記 憶體存輯算執行時輯奴記紐屬性。 [0013]對許多應用程式而言,上述之控制特徵雖可讓« 用者層級_聰式在執行速度上有鴨的改進,但本案發 明人注意到,就其他的制程式而言仍會麵限制。這除了 因為在使肖者層級上,並無法制現代的記髓特性控制, 也因為Zlt體>|性僅能依分頁層級(page_levei)的單位來建 立。例如,-個對一第一資料結構作重複存取的使用者程式, 在對一第二資料結構進行一附帶的參照時,若第-資料結構 的快取項目必須清除,以空出快取記憶體的空間供第二資料 結構使用,則該使用者程式的執行效率會因而受到影響。、由 =作業系統並未預知使用者層級之顧程式對崎料結構的 多照頻率,應用程式的資料空間—般皆被賦予1寫特性, 因而促成了前猶突的產生條件。程式員並財用來更改資 特性紅具,㈣迫_帶參轉送至記憶體匯流排 賦予不可快取之特性給該第二資料結構),而排除 _4]因此,我們所需要的是,一種可將選擇性的記憶 體屬性控制特徵納人既有微處理器指令集 法,其中該微處理器指令集係被已定義之運算碼完全佔用方 入生控制特徵除了不影響—符合舊有規格之《理 丁售有應用程式的能力’同時還提供程式員修改記憶體 ^--------- (請先閱讀背面之注意事項再填寫本頁) - 本紙張尺度適用中國國家標準(CNS)A4規格(210 : 297公釐) 245221 __潔號第〇91】2棚8號專利案之說明書修正)^Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 5. Description of the invention (4 ·) These characteristics. If the existing instruction set architecture does not have redundant opcode states, some existing opcode states must be rewired to provide new features: Therefore, in order to provide new features, the old software compatibility must be sacrificed Already. [0009] One area of interest to microprocessor designers today is how applications can use cache memory structures efficiently. As cache technology evolves, more and more features have been provided that allow system programmers to control when and how cache memory in the system is used. The early_cache control feature only provides on / off capability. By setting one of the internal registers of the microprocessor, or by setting an external signal pin on its package to true, the user can enable the cache of §memory body, or Make the entire memory space uncacheable. For non-cacheable memory references (load / read and store / write), they are all sent to the system memory bus, resulting in the same waiting time as the external bus structure ( latency). Conversely, §memory's reference or access to a cache memory occurs only when a cache miss occurs (that is, the target of a carcass reference is in the internal cache memory) (Not valid) before being sent to the system memory bus. The cache feature makes the application run faster, especially when the application repeatedly references the same data structure in memory. [0010] Recent improvements in microprocessor architecture have enabled system designers to more precisely control how cache features are used. These improvements allow the designer to define the nature of a range of addresses within the microprocessor's address space, where the definition is based on how the microprocessor references these addresses in accordance with its cache hierarchy ). Generally speaking, the Chinese national standard (CNS) A4 specifications (210 X 297 issued) are applicable to these paper sizes (please read the precautions on the back before filling this page) Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs 1245221 A7 (Amendment of the Specification of Patent Case No. 091124〇08) B7 V. Description of Invention (r) Reference to the address can be defined as non-cacheable, composite writing Write combining, write through, writeback, or write protected. These properties are called memory attributes, or memory attributes (t) rait. Therefore, a storage reference for an address with a write-back attribute is sent to the cache memory and speculatively assigned to the storage location therein. A storage reference to another address that is not cacheable is sent to the system bus without the action of virtually assigning a storage location. [0011] However, it is beyond the scope of this application to provide an in-depth description of how memory attributes and specific attributes are processed by the microprocessor through its cache memory. Here to understand that the present technology enables designers to assign a memory attribute to a memory region, and all subsequent memory references to addresses in the region will be based on the cache associated with the specified memory attribute. Principle (cachepolicy) to deal with, this is sufficient. [0012] Although modern microprocessor designs allow different regions of the memory to be endowed with different memory characteristics, the design is still limited in two important respects. First, the microprocessor instruction set architecture limits the execution of instructions at a privilege level that are not accessible to applications that define / change memory characteristics to the user level. Therefore, when a desktop / laptop microprocessor is started, its operating system establishes the memory characteristics of the physical memory space before any user-level application is opened. Therefore, user-level applications cannot change the memory characteristics of the host system. Second, in modern micro-processing H, the optimal processing level for establishing memory characteristics is the paging level. Permissible memory paging in practice --------- 8___ This paper size applies to China National Standard (CNS) A4 (210 X 297 mm) (Please read the precautions on the back before filling this page) Order --------- n ϋ nn-A7 1245221 (Case No. g 〇9 丨 l24 〇 08 V. Description of the invention (△ architecture, the memory attributes of each memory page, by the operating system It is further defined in the page directory / table item. Therefore, 'all references to the addresses in a specific page will be used in the relevant memory to store the runtime slave properties. [0013 ] For many applications, although the above-mentioned control features allow «user-level_satoshi to be improved in execution speed, the inventors of this case have noticed that there are still restrictions on other systems. This is not only because at the level of the ambassador, it is not possible to control modern medullary characteristics, but also because the Zlt body can only be established in units of the page level (page_levei). For example, a pair of first data User program structure for repeated access When performing an incidental reference, if the cache item of the first data structure must be cleared to free up the space of the cache memory for the second data structure, the execution efficiency of the user program will be affected accordingly. = The operating system does not predict the frequency of multi-photographs of user-level programs to the material structure, and the data space of the application is generally given a write feature, which has contributed to the generation of pre-Sudden conditions. Programmers and financial resources To change the asset red flag, forcing _ with parameters to be transferred to the memory bus to give non-cacheable properties to the second data structure), and exclude _4] Therefore, what we need is a way to select The control characteristics of the memory attributes include the existing microprocessor instruction set method, in which the microprocessor instruction set is completely occupied by the defined opcodes. The birth control features are not affected except that they conform to the old specifications of "Riding" The ability to sell applications' also provides programmers to modify the memory ^ --------- (Please read the precautions on the back before filling this page)-This paper size applies to Chinese national standards (CN S) A4 specification (210: 297 mm) 245221 __Jie No. 091] Revised description of Patent No. 8 No. 8) ^

五、發明說明(9 屬性的能力。 (三)發明簡要說明: 經濟部智慧財產局員工消費合作社印製 [0015] 本發明如同前述其他申請案,係針對上述及其他 習知技術之問題與缺點加以克服。本發明提供一種更好的技 術,用以擴充微處理器之指令集,使其超越現有的能力,提 供指令層級的記憶體特性控制特徵。在一具體實施例中,提 供了 -種可在微處理器内進行記憶體屬性之指令層級控制的 装置。該裝置包括一轉譯邏輯(translati〇nk)gic)與一延伸執 行邏輯(extended execution logic)。該轉譯邏輯將一延伸指 令轉譯成一微指令序列(micro instmcti〇n等_)。該^ 伸指令具一延伸前置碼(extendedpreflx)與一延伸前置碼標 圯(extended prefix tag)。該延伸前置碼對於該延伸指令所 指定之-記紐參照,指定—記紐雖,其巾該記憶體來 照之記憶體特性不能由一既有指令集之一既有指令來指定。 該延伸前置碼標記則指出該延伸前置碼,其中延伸前置碼標 圮係原本該既有指令集内另一依據架構所指定之運算碼。該 延伸執行邏輯減至轉譯賴,用以接收該微指令序列,並 應用该§己憶體特性來執行該記憶體參照。 [0016] 本發明的一個目的,係提出一種延伸既有指令集 以提供記憶體特性之選擇性控制的微處理器機制。該微處理 器機制具有-延伸指令與-轉譯器(tfanslatw)。該延伸指 令指定一記憶體存取之記憶體屬性,其中該延伸指令包含該 既有微處理器指令集其中一選取之運算碼,其後則接著一 n 10 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公f 1245221 A / (案號第〇91124〇08號專利案之說明書修正)B7 五V. Description of the invention (9 Ability of attributes.) (3) Brief description of the invention: Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs [0015] The present invention, like the other applications mentioned above, addresses the problems and disadvantages of the above and other conventional technologies. To overcome this, the present invention provides a better technology for expanding the microprocessor's instruction set to exceed the existing capabilities, and provides instruction-level memory characteristics control features. In a specific embodiment, a- A device capable of performing instruction level control of memory attributes in a microprocessor. The device includes a translation logic (gic) and an extended execution logic. The translation logic translates an extended instruction into a sequence of microinstructions (micro instmctin, etc.). The ^ extension instruction has an extended preflx and an extended prefix tag 圯. The extended preamble refers to the -key reference, designation -key specified by the extended instruction, although its memory characteristics cannot be specified by an existing instruction in an existing instruction set. The extended preamble tag indicates the extended preamble, wherein the extended preamble tag is an operation code specified by another architecture in the existing instruction set. The extended execution logic is reduced to translation, used to receive the microinstruction sequence, and apply the memory characteristics to perform the memory reference. [0016] An object of the present invention is to provide a microprocessor mechanism that extends an existing instruction set to provide selective control of memory characteristics. The microprocessor mechanism has an -extend instruction and -tfanslatw. The extended instruction specifies a memory attribute of the memory access, wherein the extended instruction includes one selected operation code of the existing microprocessor instruction set, followed by an n 10 paper standard applicable to the Chinese National Standard (CNS ) A4 specification (210 X 297 male f 1245221 A / (Amendment of the specification of patent case No. 0991124〇08) B7 five

經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 、發明說明(g) 位元之延伸前置碼。該選取之運算碼指出該延伸指令,而該 η位几之延伸前置碼則指出該記憶體屬社。該記憶體存取之 讀體屬性不能另依該既有指令集之指令加以指定。該轉譯 器接收該延伸指令,並產生一微指令序列,以指示微處理器 執行該戏體存取,其巾該記憶體存取將依該記碰屬性執 行。 [0017]本發明的另—目的,在於提出—種為既有指令集 增添指令層級之記憶體特生控制特徵 一 逸出標記(―)、-記憶體特性指ΐ元(:二 spmfier)及-延伸執行邏輯。觀出標記由—轉譯邏輯接 收’並指出-對縣令之晒部分触定了—纖體存取, 其中該逸出標記為觀有齡_之—第—運算碼。該記憶 體特性指定元耗接至該逸出標記,且為該附隨部分其中之 一’用以奴魏個記麵雜其巾之—予就舰存取。 該延伸執行邏輯耗接至該轉譯邏輯,利用所指定之記憶體特 性執行該記憶體存取,其中該既有指令集僅提供該記憶體存 =之-預設記紐雛之指定,且該延伸執行邏輯應用所指 定之記憶體特性取代該預設記憶體特性。 /0018]本發明的再一目的,在於提供一種擴充既有指令 集架構的方法,以致能指令層級之選擇性記憶體屬性控制。 該方法包括提供-延伸指令,該延伸指令包含一延伸標記及 一延伸别置碼,其中該延伸標記係該既有指令集架構其中一 第一運算碼項目;透過該延伸前置碼指定要應用於一對應記 憶體存取之一記憶體屬性,其中該記憶體存取係由該延伸指 本紙^度適用中關家鮮(CNS)A4規格⑽^97公爱) (請先閱讀背面之注意事項再填寫本頁) 訂: -丨線· A7 1245221 (案號第091丨24〇〇8號專利案之說明書修正)B7 五、發明說明(γ) 令之其餘部分所指定;以及應用該記憶體屬性以執行該記憶 (請先閱讀背面之注意事項再填寫本頁) 體存取,其中該應用動作取代了該記憶體存取之一預設記憶 體屬性。 (四)發明圖示說明·· [0019] 本發明之前述與其它目的、特徵及優點,在配合 下列說明及所附圖示後,將可獲得更好的理解: [0020] 圖一係為一相關技術之微處理器指令格式的方 塊圖; [0021] 圖二係為一表格’其描述一指令集架構中之指 令’如何對應至圖一指令格式内一 8位元運算碼位元組之位 元邏輯狀態; [0022] 圖三係為本發明之延伸指令格式的方塊圖; [0023] 圖四係為一表格,其顯示依據本發明,延伸架構 線. 特徵如何對應至一 8位元延伸前置碼實施例中位元的邏輯狀 態; [0024] 圖五係為解說本發明應用選擇性的記憶體屬性 控制之一管線化微處理器的方塊圖; 經濟部智慧財產局員工消費合作社印製 [〇〇25]圖六係為本發明用於指定一微處理器中之延伸 記憶體特性的延伸前置碼之一具體實施例的方塊圖; [0026]圖七係為本發明用於指定一微處理器中之延伸 記憶體特性的延伸前置碼之另一具體實施例的方塊圖; [〇〇27]圖八係為一表格,其解說圖七延伸前置碼中典型 記憶體特性之一編碼範例; ^張尺度適Γ中關家標準(CNS)^格(21G xy97公6" 1245221 _月書修正)ba; 五、發明說明The extended prefix of the (g) bit printed by the Consumers and Consumers Agency of the Intellectual Property Office of the Ministry of Economic Affairs and published by the Consumer Affairs Agency. The selected operation code indicates the extended instruction, and the n-bit extended preamble indicates that the memory belongs to the society. The read attribute of the memory access cannot be specified according to the instructions of the existing instruction set. The translator receives the extended instruction and generates a micro-instruction sequence to instruct the microprocessor to perform the play access, and the memory access will be performed according to the memory attribute. [0017] Another object of the present invention is to propose a memory-specific control feature that adds instruction levels to an existing instruction set-an escape flag (-),-a memory characteristic index unit (: two spmfier), and -Extend execution logic. The observation mark is received by the -translation logic 'and pointed out-the access to the county order has been touched-slimming access, where the escape mark is the observation operation code. The memory characteristic designates that the element consumption is connected to the escape mark, and it is one of the accompanying parts', which is used to confuse the faces of others with their towels—access to the ship. The extended execution logic is consumed by the translation logic, and the memory access is performed by using the specified memory characteristics, wherein the existing instruction set only provides the designation of the memory storage = of-the default memory, and the The memory characteristic specified by the extended execution logic application replaces the preset memory characteristic. Another object of the present invention is to provide a method for expanding an existing instruction set architecture so as to enable selective memory attribute control at the instruction level. The method includes providing an extension instruction. The extension instruction includes an extension tag and an extension tag, wherein the extension tag is one of the first operation code items of the existing instruction set architecture; and the extension prefix is used to specify an application code to be applied. One of the memory attributes in a corresponding memory access, where the memory access refers to the extension of the paper (applicable to Zhongguan Jiaxian (CNS) A4 specifications ⑽ 97 public love) (Please read the note on the back first) Please fill in this page again for the items) Order:-Line · A7 1245221 (Amendment of the specification of Case No. 091 丨 24008) B7 V. Designation of the rest of the invention description (γ) order; and application of the memory Memory to perform the memory (please read the precautions on the back before filling this page), and the application action replaces one of the default memory attributes of the memory access. (IV) Illustration of the invention ... [0019] The foregoing and other objects, features, and advantages of the present invention will be better understood after cooperating with the following description and accompanying drawings: [0020] FIG. A block diagram of a related art microprocessor instruction format; [0021] FIG. 2 is a table 'which describes how instructions in an instruction set architecture' correspond to an 8-bit operation code byte in the instruction format of FIG. Bit logic state; [0022] FIG. 3 is a block diagram of the extended instruction format of the present invention; [0023] FIG. 4 is a table showing extended architecture lines according to the present invention. How features correspond to an 8-bit [0024] FIG. 5 is a block diagram illustrating a pipelined microprocessor that is one of the selective memory attribute control applications of the present invention; employee consumption of the Intellectual Property Bureau of the Ministry of Economic Affairs Printed by the cooperative [0025] FIG. 6 is a block diagram of a specific embodiment of an extended preamble for specifying extended memory characteristics in a microprocessor according to the present invention; [0026] FIG. 7 is the present invention Used to specify a microprocessor [0027] FIG. 8 is a table illustrating an encoding example of a typical memory characteristic in the extended preamble of FIG. 7; ^ Zhang scale is appropriate Γ Zhongguanjia Standard (CNS) ^ grid (21G xy97 public 6 " 1245221 _ month book revision) ba; V. Description of the invention

D 圖九係為圖五微處理器内轉譯階段邏輯之細部 的方塊圖; ;以;!圖十係為圖五之微處理器峡伸執行邏輯的方 塊圖;以及 # 圖十―係為描述本發_於取代—微處理器之 s己憶體特性的方法之運作_圖。 經濟部智慧財產局員工消費合作社印製 圖號說明: 100指令格式 102運算碼 2〇〇 8位元運算瑪圖 202運算碼Flfi 300延伸指令格式 3〇2運算碼 3〇4延伸指令標記 4〇〇 8位元前置碼圖 5〇〇管線化微處理器 502指令快取記憶體/外部記衡 503指令彳宁列 505延伸轉譯邏輯 5〇7執行邏輯 600延伸前置碼 602目的特性欄位 7〇〇記憶體屬性前置碼 101 103 201 301 303 305 401 501 504 506 508 601 前置碼 位址指定元 運鼻碼值 前置石馬 位址指定元 延伸前置碼 架構特徵 提取邏輯 轉譯邏輯 微指令狩列 延伸執行邏輯 來源特性攔位 701屬性攔位 本紙張尺度賴巾@i^^(eNS)A4 [245221 A7 (案號第〇9】丨24〇〇8號專利案之說明書修正)^ 94. 4.2 2 五 經濟部智慧財產局員工消費合作社印製 發明說明(/1 ) 702 來源位元 704備用攔位 800表格 900轉譯階段邏輯 902機器特定暫存器 904指令緩衝器 906轉譯控制器 908逸出指令偵測器 910指令解碼器 912微指令緩衝器 914微運算碼攔位 916來源攔位 1000延伸執行階段邏輯 1002位址緩衝器 1004目的運算元緩衝器 1〇〇6記憶體特性描述元 1008匯流排單元 1010儲存緩衝器 1012匯流排 1014儲存緩衝器 703 目的位元 901啟動狀態訊號 903延伸特徵攔位 905轉譯邏輯 907除能訊號 909延伸前置碼解碼器 911控制唯讀記憶體 913運算碼延伸項攔仅 915目的攔位 917位移攔位 1001延伸微指令緩衝 1003位址緩衝器 1005延伸存取邏輯 1007快取記憶體 10〇9存取控制器 1011快取記憶體 1013匯流排 1015來源運算元緩衝器 器 1100〜1128崎錢—微歧紅記麵雛二法之H 流程 、枣作 (五)發明詳細說明·· []以下的說明,係在-特定實施例及其必要條件的 本紙張尺度綱 (請先閱讀背面之注意事項再填寫本頁) 醫 訂---------緩· 1245221 A7 (案號第〇9丨丨24〇〇8號專利案之說明書修正) 換 a 經濟部智慧財產局員工消費合作社印製 五、發明說明(丨二) 脈絡下而提供,可使一般熟習此項技術者能夠利用本發明。 然而,各種對該較佳實施例所作的修改,對熟習此項技術者 而吕乃係顯而易見,並且,在此所討論的一般原理,亦可應 用至其他實施例。因此,本發明並不限於此處所展示與敛^ 之特定實施例,而是具有與此處所揭露之原理與新穎特徵相 符之最大範圍。 ' ^ [0032] 前文已針對今日之微處理器内,如何擴充其架構 特徵,以超越相關指令集能力之技術,作了背景的討論。有 鑑於此,在圖一與圖二,將討論一相關技術的例子。此處的 时論強調了微處理器設計者所一直面對的兩難,即一方面, 他們想將最新開發之架構特徵納入微處理器的設計中,但另 -方面,他們又要保留執行舊有應用程式的能力。在圖一至 二的例子中,一完全佔用之運算碼圖,已把增加新運算碼至 該範例架構的可能性排除,因而迫使設計者要不就選擇將新 特徵納入,而犧牲某種程度之舊有軟體相容性,要不就將架 構上的最新進展一併放棄,以便維持微處理器與舊有應用程 式之相容性。在相關技術的討論後,於圖三至十一,將提供 對本發明之討論。藉由利用一既有但未使用之運算碼作為二 延伸指令之前置碼標記,本發明可讓微處理器設計者克服已 完全使用之指令集架構的限制,在允許他們提供程式員於指 令層級對一特定記憶體參照指派記憶體特性之能力的同時, 9 也能保留與舊有應用程式的相容性。 [0033] 請參閱圖-,其係一相關技術之微處理器指令格 式100的方塊圖。該相關技術之指令励具有數量可變之資 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) (請先閱讀背面之注意事項再填寫本頁) — — — — — — — ·111111 I · · 經濟部智慧財產局員工消費合作社印製 1245221 (案號第091124〇08號專利案^書條不^; 五、發明說明(/4) 剛〇3,每_項目皆設定成_特定值,合在一起便組 100 0 1〇〇 二執订-特定運算,例如將兩運算^相加,或找將一運算 凡從記憶體搬移至—内部暫存器,或從該内部暫存器搬移I 記憶體。-般而言,指令刚内之運算碼項目撤指定了所 要執订讀定運算,而選用(optional)之位址指定元項目刚 位,運算碼102之後,以指定關於該特定運算之附加資訊, 像疋如何執行該運算,運算元位於何處等等。指令格式⑺0 並允許私式員在-運异碼102前加上前置碼項目1〇1。在運 算碼102所指定之特定運算執行時,前置碼1〇1用以指示是 =使用特定的架構特徵。一般來說,這些架構特徵能應用於 指令集中任何運算碼102所指定運算的大部分。例如,現今 刖置碼101存在於一些能使用不同大小虛擬位址(如8位元、 16位το、32位元)執行運算的微處理器中。而當許多此類處 理器被程式化為一預設的位址大小時(比如32位元),在其 個別指令集中所提供之前置碼1〇1,仍能使程式員依據各個 指令’選擇性地取代(override)該預設的位址大小(如為了 產生16位元之虛擬位址)。可選擇之位址大小僅是架構特徵 之例’在許多現代的微處理器中,這些架構特徵能應用於 果夕了由運异碼1〇2加以指定的運算(如加、減、乘、布林 邏輯等)。 [0034]圖一所示之指令格式100,有一為業界所熟知的 範例,此即x86指令格式100,其為所有現代之χ86_相容微 處理器所採用。更具體地說,χ86指令格式100 (也稱為χ86 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) --------訂---------線 1245221 (案號第09】124008號專利案之說明書修正)]& A7 五、發明說明( ./4 ) 才曰令集架構100)使用了 8位元前置喝1〇卜8位元運算碼丨〇2 以及8位元位址指定元1〇3。\86架構1〇〇亦具有數個前置碼 ,其中兩個取代了 x86微處理器所預設的位址/資料大小 (即運异碼狀態66H與67H),另一個則指示微處理器依據 不同的轉譯規則來解譯其後之運算碼位元組1〇2 (即前置碼 值0FH,其使得轉譯動作是依據所謂的二位元組運算碼規則 來進行),其他的前置碼101則使特殊運算重複執行,直至 重複條件滿足為止(即REP運算碼·· F〇H、F2H及F3H)。 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) --線· [0035]現請參閱圖二,其顯示一表格2〇〇,用以描述一 指令集架構之指令201如何對應至圖一指令格式内一 8位元 運算碼位元組102之位元值。表格2〇〇呈現了 一 8位元運算 碼圖200的範例,其將一 8位元運算碼項目1〇2所具有之最 多256個值,關聯到對應之微處理器運算碼指令2〇1。表格 200將運算碼項目1〇2之一特定值,譬如〇2H,映射至一對 應之運算碼指令201 (即指令102201 )。在x86運算碼圖的 例子中,為此領域中人所熟知的是,運算碼值14H係映射至 x86之進位累加(Add With Carry,ADC)指令,此指令將一 8位元之直接(immecjiate)運算元加至架構暫存器之内 各值。熟習此領域技術者也將發覺,上文提及之前置碼 101 (亦即 66Η、67Η、0FH、F0H、F2H 及 F3H)係實際的 運算碼值201,其在不同脈絡下,指定要將特定的架構延伸 項應用於隨後之運算碼項目1〇2所指定的運算。例如,在運 算碼14Η (正常情況下,係前述之adc運算碼)前加上前置 碼0FH,會使得χ86處理器執行一「解壓縮與插入低壓縮之 本,·氏張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1245221 A7 / (案號第〇91124〇〇8號專利案之說明書修正)B7 五、發明說明(/丄) 單精度浮點值」(u叩ack and Inter丨eave LQW paeked Single-precisi0n Floating-Point Values)運算,而非原本的 ADc 運算。諸如此滿例子所述之特徵,在現代之微處理器中係 部分地致能’此因微處理器内之指令轉譯/解碼邏輯是依序解 譯-指令100的項目HH·。所以在過去,於指令集架構中 使用特定運算碼值作為前置碼⑽,可允許微處理器 將不少先進的架構特徵納入相容舊有軟體之微處理器的設計 中,而不會對未使用那些特定運算碼狀態的舊有程式,帶來 執行上的負面衝擊。例如,一未曾使用Μ6運算碼㈣的舊 有程式,仍可在今日的x86微處理器上執行。而一較新的應 用程式,藉著運用Χ86運算碼㈣作為前置碼⑼,就能使 用許多新進納人之χ86架構特徵,如單—指令多重資料 (SIMD)運算,條件移動運算等等。 _6]儘管過去已藉由指定可用/多餘的運算碼值201 作為前置碼ιοί (也稱為架構特徵標記/指標1〇1或逸出指令 101) ’來提供架構特徵,但許多指令集架構1〇〇在提供功能 上的強化時’仍會因為-非常直接的理由,而碰到阻礙··所 有可用/多餘的運算碼值已被用完,也就是,運算碼圖200中 的全2運算碼值已被架氣地指定。當财可_值被分派 為運算碼項目1〇2或前置碼項目1〇1時,就沒有剩餘的運算 碼值可作為納入新特徵之用。這個嚴重的問題存在於現在= 許多微處理器架構中,因而迫使設計者得在增添架構特徵盘 保留舊有程式之相容性兩者間作抉擇。 、 [0〇37]值付注意的是,圖二所示之指令係以一般性 1245221 (案號第091124008號專利案之說明書修正)B7 五、發明說明(//,) 的方式表示(亦即124'186),而非具體指涉實際的運算(如 進位累加、減、互斥或)。這是因為,在—些不同的微處理 器架構中,完全佔用之運算碼圖2〇〇在架構上,已將納入較 新進展的可能性排除。雖然圖二例子所提到的,是8位元的 運算碼項目ι〇2,熟習此領域技術者仍將發覺,運算碼1〇2 的特定大小,除了作為一特殊情況來討論完全佔用之運算碼 結構200所造成的問題外,其他方面與問題本身並不相干。 因此,一完全佔用之6位元運算碼圖將有64個可架構化地指 定之運异碼/前置碼2(H,並將無法提供可用/多餘的運算碼值 作為擴充之用。 # 經濟部智慧財產局員工消費合作社印製 [0038]另一種替代做法,則並非將原有指令集完全廢 棄,以一新的格式1〇〇與運算碼圖2〇〇取代,而是只針對二 部份既有的運算碼,,指令意含取代,如圖二之運 异碼撕至側。崎種混合的技術,微處理器就可以單獨 地以下列兩種模式之一運作:其中舊有模式利用運算碼 40H-4FH ’係依舊有規則來解譯,或者以另一種改^式 (enhanced mode)運作,此時運算碼4〇H_4FH則依加強之^ 構規則來解譯。此項技術魏允許設計者將新特徵納入設 計’然而’當符合舊有規格之微處理器於加賊式運作時, 缺點仍舊存在,因為微處理器不能執行任何使用運算 4^4FH的應用程式。因此,站在保留舊有軟體相容性=立 %,相容舊有軟體/加強模式的技術,還是無法接受的。 [0039]然、而,對於運算碼空間已完全佔用之指 2〇〇,且該空間涵蓋所有於符合舊有規格之微處職上 ‘紙張尺度_中酬家標準(CNS)A4規格(21(^97公釐 1245221 , A7 /; * j 9 ο ^ (案號第〇9丨似〇〇8號專利案之說明書修正)Β7 ·: “ 五、發明說明〇 〇) 應用程式的情形,本案發明人已注意到其中運算碼2〇1的使 用狀況,且他們亦觀察出,雖然有些指令2〇2是架構化地指 定,但未用於能被微處理器執行之應用程式中。圖二所述之 才日令IF1 202即為此現象之一例。事實上,相同的運算碼值 202 (亦即F1H)係映射至未用於χ86指令集架構之一有效指 令202。雖然該未使用之χ86指令2〇2是有效的χ86指令2〇2, 其指示要在χ86微處理器上執行一架構化地指定之運算,但 它卻未使用於任何能在現代x86微處理器上執行之應用程 式。這個特殊的x86指令202被稱為電路内模擬中斷點(InD Figure Nine is a block diagram of the details of the logic in the translation stage of the microprocessor in Figure 5. Figure 10 is a block diagram of the execution logic of the microprocessor in Figure 5; and # Figure 10-is a description The present _ in the replacement-the operation of the method of the memory characteristics of the microprocessor _ Figure. Printed by the Intellectual Property Bureau of the Ministry of Economic Affairs, Consumer Cooperatives, the drawing number description: 100 instruction format 102 operation code 208-bit operation Martu 202 operation code Flfi 300 extended instruction format 3202 operation code 3 04 extended instruction mark 4 〇8-bit preamble Figure 500 pipelined microprocessor 502 instruction cache memory / external balance 503 instruction 彳 ning column 505 extended translation logic 507 execution logic 600 extended prefix 602 purpose field 70 〇 Memory attribute preamble 101 103 201 301 303 305 401 501 504 506 506 508 601 Preamble address designation element code Nose code prefix stone horse address designation element extended preamble architecture feature extraction logic translation logic The micro-instruction is extended to execute the logical source characteristic block 701 attribute block the paper size Lai @ i ^^ (eNS) A4 [245221 A7 (case number 009] 丨 2408 patent specification amendment) ^ 94. 4.2 2 Five-member Intellectual Property Bureau of the Ministry of Economic Affairs printed a description of the invention (/ 1) 702 Source bit 704 Standby stop 800 Form 900 Translation stage logic 902 Machine-specific register 904 Instruction buffer 906 Translation controller 908 escape Instruction detector 910 instruction decoder 912 micro instruction buffer 914 micro operation code block 916 source block 1000 extended execution stage logic 1002 address buffer 1004 destination operand buffer 1006 memory characteristic description unit 1008 confluence Row unit 1010 storage buffer 1012 bus 1014 storage buffer 703 destination bit 901 activation status signal 903 extension characteristic stop 905 translation logic 907 disabling signal 909 extension preamble decoder 911 control read-only memory 913 operation code extension Entry block only 915 purpose block 917 displacement block 1001 extended microinstruction buffer 1003 address buffer 1005 extended access logic 1007 cache memory 1009 access controller 1011 cache memory 1013 bus 1015 source operand Buffers 1100 ~ 1128 Saki-chan-The H process of the second method of the micro-red red face noodles, jujube (five) invention detailed description ... [] The following description is based on the specific embodiment and the necessary conditions of this paper Dimension outline (please read the precautions on the back before filling this page) Medical Order --------- Slow ·········································· a economy Printed by the Consumer Cooperatives of the Ministry of Intellectual Property Bureau V. Invention Description (丨 II) Provided in the context of the invention, so that those skilled in the art can use the present invention. However, various modifications made to the preferred embodiment will be apparent to those skilled in the art, and the general principles discussed herein can also be applied to other embodiments. Therefore, the present invention is not limited to the specific embodiments shown and described herein, but has the widest scope consistent with the principles and novel features disclosed herein. '^ [0032] The previous discussion has been made on the background of today's microprocessors on how to expand their architectural features to surpass the capabilities of related instruction sets. In view of this, an example of related technology will be discussed in Figs. 1 and 2. The theory here emphasizes the dilemma that microprocessor designers have been facing. On the one hand, they want to incorporate the newly developed architecture features into the design of the microprocessor, but on the other hand, they have to keep the old Has application capabilities. In the example of Figures 1-2, a fully occupied opcode diagram has excluded the possibility of adding new opcodes to the example architecture, thus forcing the designer to choose to incorporate new features or sacrifice some Legacy software compatibility, or we must abandon the latest developments in architecture in order to maintain the compatibility of the microprocessor with legacy applications. Following a discussion of the related art, a discussion of the present invention will be provided in Figures 3-11. By using an existing but unused opcode as the pre-coded mark of two extended instructions, the present invention allows microprocessor designers to overcome the limitations of the instruction set architecture that has been fully used, while allowing them to provide programmers with instructions The ability of a level to refer to a specific memory while assigning memory characteristics, 9 preserves compatibility with legacy applications. [0033] Please refer to FIG.-, which is a block diagram of a related art microprocessor instruction format 100. The relevant technology directive encourages a variable amount of capital paper size to apply Chinese National Standard (CNS) A4 specifications (210 X 297 public love) (Please read the precautions on the back before filling this page) — — — — — — — · 111111 I · · Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 1245221 (Patent No. 091124〇08 Patent Case ^ No ^; V. Description of Invention (/ 4) Just 〇3, each _ item is set to _Specific value, grouped together for 100 1002 order-specific operation, such as adding two operations ^, or finding an operation to move from memory to-internal register, or from the internal The register moves the I memory.-In general, the operation code item in the instruction just specifies the read operation to be performed, and the optional address specifies the meta item just after the operation code 102. Specify additional information about the specific operation, such as 疋 how to perform the operation, where the operands are located, etc. The instruction format is 0 and allows the private operator to add the preamble item 101 before the -unique code 102. In When a specific operation specified by operation code 102 is performed, Code 101 is used to indicate yes = use specific architectural features. In general, these architectural features can be applied to most of the operations specified by any operation code 102 in the instruction set. For example, the current installation code 101 exists in some applications. Microprocessors that use different sizes of virtual addresses (such as 8-bit, 16-bit το, 32-bit) to perform operations. When many of these processors are programmed to a preset address size (such as 32 Bit), before setting it to 10 in its individual instruction set, can still allow the programmer to selectively override the preset address size (such as to generate 16-bit Virtual address). The selectable address size is only an example of architectural features. In many modern microprocessors, these architectural features can be applied to operations specified by the transport code 102 (such as adding , Subtraction, multiplication, Bollinger logic, etc.) [0034] The instruction format 100 shown in Figure 1 has a well-known example in the industry, this is the x86 instruction format 100, which is all modern χ86_ compatible microprocessors Used. More specifically, χ86 refers to Order format 100 (also known as χ86 This paper size applies to Chinese National Standard (CNS) A4 specifications (210 X 297 mm)) (Please read the precautions on the back before filling out this page) -------- Order- -------- Line 1245221 (Amendment to the Specification of Patent Case No. 09) No. 124008) & A7 V. Description of the Invention (./4) The order set architecture 100) uses 8 bits ago Set up a 10-bit 8-bit operation code 丨 〇2 and 8-bit address designation element 103. \ 86 architecture 100 also has several preambles, two of which replace the pre-programmed x86 microprocessor Set the address / data size (that is, the different code states 66H and 67H), and the other instructs the microprocessor to interpret the subsequent operation code byte 1102 (that is, the preamble value) according to different translation rules. 0FH, which makes the translation action based on the so-called two-byte opcode rules), and other preambles 101 repeat special operations until the repetition conditions are met (ie REP opcodes · F〇H, F2H and F3H). Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs (please read the precautions on the back before filling this page) --line How the structured instruction 201 corresponds to the bit value of an 8-bit operation code byte 102 in the instruction format of FIG. 1. Table 2000 shows an example of an 8-bit opcode map 200. It associates up to 256 values of an 8-bit opcode item 102 with the corresponding microprocessor opcode instruction 201. . The table 200 maps a specific value of the operation code item 102, such as 〇2H, to a corresponding operation code instruction 201 (ie, instruction 102201). In the example of the x86 opcode diagram, it is well known in the art that the opcode value 14H is mapped to the x86 Add With Carry (ADC) instruction. This instruction is an 8-bit direct (immecjiate ) Operands are added to each value in the architecture register. Those skilled in this field will also notice that the aforementioned setting codes 101 (ie, 66Η, 67Η, 0FH, F0H, F2H, and F3H) are actual operation code values 201. In different contexts, it is specified that Specific architectural extensions are applied to the operations specified by the subsequent opcode item 102. For example, adding the preamble 0FH before the opcode 14Η (normally, the aforementioned adc opcode) will cause the χ86 processor to perform a "decompression and insertion of low-compression code. The Zhang scale is applicable to China. Standard (CNS) A4 specification (210 X 297 mm) 1245221 A7 / (Amendment of the specification of patent case No. 09911124008) B7 V. Description of the invention (/ 丄) Single-precision floating-point value "(u 叩ack and Inter 丨 eave LQW paeked Single-precisi0n Floating-Point Values) operation instead of the original ADc operation. The features described in this example are partially enabled in modern microprocessors. This is because the instruction translation / decoding logic in the microprocessor is to sequentially interpret the item HH · of instruction 100. Therefore, in the past, the use of specific opcode values as preambles in the instruction set architecture allowed the microprocessor to incorporate many advanced architectural features into the design of microprocessors compatible with old software without affecting Legacy programs that do not use those particular opcode states have a negative impact on execution. For example, an old program that has not used the M6 opcode can still run on today's x86 microprocessors. And a newer application program, by using the X86 operation code ㈣ as the preamble 就能, can use many of the newcomer's χ86 architecture features, such as single-instruction multiple data (SIMD) operations, conditional movement operations, and so on. _6] Although architecture features have been provided in the past by specifying available / excessive opcode value 201 as a preamble (also known as architecture feature flag / indicator 101 or escape instruction 101), many instruction set architectures 1〇〇 When providing functional enhancements, there will still be obstacles for very direct reasons ... All available / excessive opcode values have been used up, that is, all 2 in opcode map 200 The opcode value has been speculatively specified. When the fiscal value is assigned as opcode item 102 or preamble item 101, there is no remaining opcode value available for incorporating new features. This serious problem exists in many microprocessor architectures today, forcing designers to choose between adding architecture feature disks and retaining compatibility with legacy programs. [0〇37] It is worth noting that the instructions shown in Figure 2 are expressed in general 1245221 (Amendment of the Specification of Patent Case No. 091124008) B7 V. Invention Description (//,) 124'186), rather than specifically referring to actual operations (such as carry accumulation, subtraction, mutual exclusion, or). This is because, in some different microprocessor architectures, the fully occupied operation code figure 200 has been architecturally excluded from the possibility of incorporating newer developments. Although the example in Figure 2 refers to the 8-bit opcode item ι〇2, those skilled in the art will still notice that the specific size of the opcode 102 is a special case to discuss the fully occupied operation. Apart from the problems caused by the code structure 200, other aspects have nothing to do with the problem itself. Therefore, a fully-occupied 6-bit opcode map will have 64 transportable code / preamble 2 (H) that can be architecturally specified, and will not provide usable / excessive opcode values for expansion. # Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs [0038] Another alternative is not to completely abandon the original instruction set and replace it with a new format 100 and operation code diagram 200, but only for two For some existing operation codes, the instruction implies substitution, as shown in Figure 2. The different codes are torn to the side. With various mixed technologies, the microprocessor can operate in one of the following two modes: The mode uses the operation code 40H-4FH 'to interpret the rules, or to operate in another enhanced mode. At this time, the operation code 40H_4FH is interpreted according to the enhanced construction rules. This technology Wei allows designers to incorporate new features into the design 'however' when a microprocessor that conforms to the old specifications operates in a thief-like manner, the disadvantages still exist because the microprocessor cannot perform any application that uses 4 ^ 4FH. Therefore, Stand to retain the old software phase ==%, compatible with old software / enhancement technology, it is still unacceptable. [0039] Of course, while the code space is completely occupied, it means 2000, and this space covers all Specifications of the ministry on duty 'paper scale_CNS Standard A4 (21 (^ 97mm 1245221, A7 /; * j 9 ο ^ (Case No. 009 like 〇〇08 patent case Revision of the description) B7 ·: "V. Invention description 0〇) The application, the inventors of this case have noticed the use of the operation code 201, and they have also observed that although some instructions 202 are architecture Specified, but not used in an application that can be executed by a microprocessor. The daily order IF1 202 described in Figure 2 is an example of this phenomenon. In fact, the same opcode value 202 (that is, F1H) Maps to a valid instruction 202 that is not used in the x86 instruction set architecture. Although the unused x86 instruction 202 is a valid x86 instruction 202, it indicates that an architectural designation is to be performed on the x86 microprocessor Operations, but it is not used in any modern x86 microprocessor Application type. This particular x86 instruction 202 is known as the breakpoint circuit simulation (In

Circuit Emulation Breakpoint)(亦即 ICE BKPT,運算碼值為 經濟部智慧財產局員工消費合作社印製 F1H),之前都是專門使用於一種現在已不存在之微處理器 模擬設備中。ICE BKPT 202從未用於電路内模擬器之外的應 用程式中’並且先前使用ICE BKPT 202之電路内模擬設備 已不復存在。因此,在x86的情形下,本案發明人已在一完 全佔用之指令集架構200内發現一樣工具,藉著利用一有效 但未使用之運算碼202,以允許在微處理器的設計中納入先 進的架構特徵,而不需犧牲舊有軟體之相容性。在一完全佔 用之指令集架構200中,本發明利用一架構化地指定但未使 用之運算碼202,作為一指標標記,以指出其後之一 η位元 前置碼,因此允許微處理器設計者可將最多y個最新發展之 架構特徵,納入微處理器的設計中,同時保留與所有舊有軟 體完全的相容性。 [0040]本發明藉提供一 η位元之延伸記憶體特性指定元 月、J置碼’以使用前置碼標記/延伸前置碼的概念,因而可允許 ^7------—_ — - - _20_ 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公釐) n 經濟部智慧財產局員工消費合作社印製 245221 (案號第〇9丨】24〇〇8號專利案之說明書修正)防 五、發明說明(/孑 程式員在-微處理器中,依據每個指令指定一記憶體屬性予 一對應的記憶體存取運算。在該對應的記憶體存取運算執行 時,該記憶體屬性被用於取代由作業系統程式先前建:之記 憶體特性描述元表格/機制所指定之一預設屬性。本發明現將 參照圖三至十一進行討論。 [0041] 現請參閱圖三,其為本發明之延伸指令格式3㈨ 的方塊圖。與圖一所討論之格式1〇〇非常近似,該延伸指令 格式300具有數量可變之指令項目3〇1_3〇5,每_項目設定為 一特疋值,集合起來便組成微處理器之一特定指令3㈧。該 特定指令300指示微處理器執行一特定運算,像是將兩運= 元相加,或是將一運算元從記憶體搬移至微處理器之暫存器 内。一般而言,指令300之運算碼項目3〇2指定了所要執二 之特定運算,而選用之位址指定元項目303則位於運算瑪3〇2 後,以指定該特定運算之相關附加資訊,像是如何執行該運 算、運算元所在之暫存器、用於計算來源/結果運算元之記憶 體位址的直接與間接資料等等。指令格式3〇〇亦允許程式員 在一運算碼302前加上前置碼項目301。在運算碼3〇2所指 定之特定運算執行時,前置碼項目301係用來指示是否要使 用既有的架構特徵。 [0042] 然而,本發明的延伸指令3〇〇係前述圖一指令格 式100之一超集合(superset),其具有兩個附加項目3〇4與 3〇5 了被選擇性作為指令延伸項,並置於一格式化延伸指令 300中所有其餘項目301-303之前。這兩個附加項目304與 305可讓程式員能對於延伸指令3〇〇所指定之記憶體參照指 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂: i線- 1245221 -Λ... ' >- (案號第〇91丨24〇〇8號專利案之說明書修正) B7 五、發明說明(/,) 定—記憶體特性,其中對應於該記憶體參照 縣法另由符合舊有規格微處理器之既有指令集== 疋。選用項目304與305係一延伸指令標記3〇4盥一 ^ 前置碼3。5。該延伸指令標記304係上:: 才"集内另一依據架構所指定之運算碼。在-x86的實 施例中’該延伸指令標記304,或稱逸出標記3〇 = ===咖之咖聊指令 —处时邏糾日出,該延伸辟碼3G5,或稱延伸特徵指 心疋3〇5 ’係跟隨在後,其中該延伸前置碼3〇5指定了對應 ^-指定記憶體存取之—記憶體屬性。在—具體實施例中二 3〇4指出’-對應延伸齡3⑻之峨部分則_3〇3 =〇5指定了微處理器所要執行之記憶體存取。記憶體特性 305,或稱延伸前置碼3〇5,指定了複數個記憶體特性 姑If—找記紐存取。微處理11岐延佩行邏輯便依 據該指定之記麵躲執行觀龍存取,因而取代了原先 =其他方式所指定之預設記憶體屬性,這些其他方式包括使 代微處邮賴所具有之控崎存驗元、記憶體類型 子器、分頁表及其他類型之記憶體屬性描述元 (descriptor)。 [0〇43]此處將本發明之選擇性的記憶體屬性控制技術 乍個概述。-延伸指令係組態為對一既有微處理器指令集之 =體存取指定—纖體祕,射該記鐘存取之該記憶 屬性無法另⑽既有微處理器指令集之指令來加以指定。 該延伸指令包括該既有指令集之運算碼/指令304其中之一以 1 x 297公釐) 項 頁 線 245221 A7 (案號第091124008號專利案之說明書修正)B7 療換 五、發明說明) 及一 η位元之延伸前置碼305。所選取之運算碼/指令作為一 指標304,以指出指令300是一延伸特徵指令3〇〇 (亦即,其 才曰疋了微處理态架構之延伸項)’該η位元之特徵前置碼305 則才曰出該5己憶體屬性。在一具體實施例中,延伸前置碼305 具八位元的大小,最多可指定256種不同的屬性或記憶體屬 性與其他延伸特徵的組合。η位元前置碼的實施例,則最多 可指定211種不同的記憶體特性。 [0044] 現請參閱圖四,一表格4〇〇顯示依據本發明,一 指定記憶體參照之記憶體屬性如何映射至一 8位元延伸前置 碼實施例之位元邏輯狀態。類似於圖二所討論之運算碼圖 200’圖四之表格400呈現一 8位元之延伸前置碼圖4〇〇的範 例,其將一 8位元延伸前置碼項目305之最多256個值,關 聯到一符合舊有規格之微處理器的對應記憶體特性4〇1 (如 Ε34、E4D等)。在一 χ86的具體實施例中,本發明之8位 元延伸特徵前置碼305係提供給記憶體特性4〇1 (亦即 E00-EFF)的指令層級控制之用,該些記憶體特性4〇1乃現 行x86指令集架構於指令層級所未能指定的。 [0045] 圖四所示之延伸特徵4〇1係以一般性的方式表 示,而非具體指涉實際的特徵,此因本發明之技術可應用於 各種不同的架構延伸項401與特定的指令赫構。熟習此領 域技術者將發覺,許多不同的架構特徵4〇1,其中一些已於 上文提及’可依此處所述之逸出標記3〇4/延伸前置碼3〇5技 術將其納入-既有之指令集。圖四之8位元前置碼實施例提 供了最多256個不同的特徵4〇卜而—η位元前置碼實施例 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 >^7公f ) (請先閱讀背面之注意事項再填寫本頁) · -丨線· 經濟部智慧財產局員工消費合作社印製 1¾¾興Circuit Emulation Breakpoint) (ie, ICE BKPT, with an operating code value of F1H printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs), was previously used exclusively in a microprocessor simulation device that no longer exists. ICE BKPT 202 has never been used in applications other than in-circuit simulators ’and in-circuit simulation devices that previously used ICE BKPT 202 no longer exist. Therefore, in the case of x86, the inventor of this case has found a tool in a completely occupied instruction set architecture 200, by using an effective but unused operation code 202, to allow advanced microprocessors to be incorporated into the microprocessor design Without compromising the compatibility of legacy software. In a fully occupied instruction set architecture 200, the present invention uses a structured but unused operation code 202 as an index mark to indicate the next n-bit preamble, thus allowing the microprocessor Designers can incorporate up to y latest developments in architectural features into the design of the microprocessor, while retaining full compatibility with all legacy software. [0040] The present invention provides an n-bit extended memory characteristic designation elementary month, J coded to use the concept of preamble marking / extended preamble, thus allowing ^ 7 -------- _ —--_20_ This paper size is applicable to China National Standard (CNS) A4 (21〇X 297mm) n Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 245221 (Case No. 09 丨) No. 24〇08 Revision of the description of the patent case) Anti-fifth, the invention description (/ (programmer in-microprocessor, according to each instruction, assign a memory attribute to a corresponding memory access operation. Access in the corresponding memory When the operation is performed, the memory attribute is used to replace one of the default attributes specified by the memory property description metatable / mechanism previously established by the operating system program. The present invention will now be discussed with reference to FIGS. 0041] Please refer to FIG. 3, which is a block diagram of the extended instruction format 3㈨ of the present invention. It is very similar to the format 100 discussed in FIG. 1. The extended instruction format 300 has a variable number of instruction items 3001_3. 5, each _ item is set to a special threshold, Taken together, it forms a specific instruction 3 of the microprocessor. The specific instruction 300 instructs the microprocessor to perform a specific operation, such as adding two operations = elements, or moving an operation element from memory to the microprocessor. In general, the operation code item 3202 of instruction 300 specifies the specific operation to be performed, and the selected address designation meta-item 303 is located after operation data 3202 to specify the specific operation. Additional information about the operation, such as how to perform the operation, the register in which the operand is located, direct and indirect data of the memory address used to calculate the source / result operand, etc. The command format 300 also allows programmers A preamble item 301 is added before an operation code 302. When a specific operation specified by the operation code 302 is performed, the preamble item 301 is used to indicate whether to use an existing architectural feature. [0042] However, The extended instruction 300 of the present invention is a superset of one of the instruction format 100 of the foregoing figure. It has two additional items 304 and 305, which are selectively used as instruction extension items and placed in a format. Extension Order all remaining items 301-303 in 300. These two additional items 304 and 305 allow programmers to refer to the memory specified in the extended instruction 300. This paper size applies the Chinese National Standard (CNS) A4 specification ( 210 X 297 mm) (Please read the notes on the back before filling out this page) Order: i-line-1245221-Λ ... '>-(Case No. 091 丨 24〇08 patent case description (Revision) B7 V. Description of the invention (/,) Setting-memory characteristics, which corresponds to the memory by referring to the county law and by the existing instruction set of the microprocessor that conforms to the old specifications == 疋. Optional items 304 and 305 are an extended instruction mark 304. Prefix 3.5. The extended instruction mark 304 is on the :: operation code specified by another architecture in the set. In the -x86 embodiment, 'the extended instruction mark 304, or the escape tag 3〇 = === 咖 之 咖啡 聊 指令 —every time logical correction, the extended code 3G5, or extended feature refers to the heart疋 305 'is followed, in which the extended preamble 305 specifies the corresponding ^ -specified memory access-memory attribute. In the specific embodiment, 2304 indicates that the '-corresponding part of the extended age 3⑻3_3 = 005 specifies the memory access to be performed by the microprocessor. Memory characteristic 305, or extended preamble 305, specifies a plurality of memory characteristics. If—find memory access. The microprocessing 11 Qi Yanpei logic executes Guanlong access based on the specified face to hide, thus replacing the default memory attributes specified by the original = other methods, which include making the post office The control unit stores memory elements, memory types, page tables, and other types of memory attribute descriptors. The selective memory attribute control technology of the present invention is summarized here at first. -The extended instruction is configured to specify an existing microprocessor instruction set = physical access designation-slimming secret. The memory attribute accessed by the clock cannot be added to the instruction of the existing microprocessor instruction set. Specify it. The extended instruction includes one of the opcodes / instructions 304 of the existing instruction set at 1 x 297 mm. Page line 245221 A7 (Amendment of the specification of the case No. 091124008 patent) B7 treatment replacement 5. Description of the invention) And an n-bit extended preamble 305. The selected opcode / instruction is used as an indicator 304 to indicate that the instruction 300 is an extended feature instruction 300 (that is, it is said to have extended the extension of the micro-processing state architecture) 'the n-bit feature preamble The code 305 only states the attribute of the 5 memory. In a specific embodiment, the extended preamble 305 has an eight-bit size, and can specify a maximum of 256 different attributes or combinations of memory attributes and other extended features. The embodiment of the n-bit preamble can specify up to 211 different memory characteristics. [0044] Referring now to FIG. 4, a table 400 shows how a designated memory referenced memory attribute is mapped to the bit logic state of an 8-bit extended preamble embodiment according to the present invention. Similar to the operation code diagram 200 'discussed in FIG. 2, the table 400 in FIG. 4 presents an example of an 8-bit extended preamble figure 400, which extends an 8-bit extended preamble item 305 to a maximum of 256. Value, which is related to the corresponding memory characteristic 401 (such as E34, E4D, etc.) of a microprocessor conforming to the old specification. In a specific embodiment of χ86, the 8-bit extended feature preamble 305 of the present invention is provided for the instruction level control of the memory characteristics 401 (ie, E00-EFF). These memory characteristics 4 〇1 is not specified by the current x86 instruction set architecture at the instruction level. [0045] The extended feature 401 shown in FIG. 4 is expressed in a general way, and does not specifically refer to actual features. This is because the technology of the present invention can be applied to various different architectural extensions 401 and specific instructions. Hego. Those skilled in the art will find that there are many different architectural features 401, some of which have been mentioned above 'can be escaped according to the escape tag 3 04 / extended preamble 305 technology described here Inclusion-Existing instruction set. The embodiment of the 8-bit preamble in FIG. 4 provides a maximum of 256 different features. 40-bo-n-bit preamble embodiment The paper size is applicable to the Chinese National Standard (CNS) A4 specification (21〇> ^ 7 male f) (Please read the precautions on the back before filling this page) ·-丨 · Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs

1245221 (案號第091124008號專利案之說明軎修TP、 五、發明說明(> 則具有最多2«個不同特徵的程式化選擇。 [〇_]現請參_五,其為解說本發明贱執行選擇性 =記憶體屬性控制運算之管線化微處理器漏的方塊圖。微 处理500具有三個明顯的階段類型:提取、轉譯及執行。 提取階段具有提取邏輯划,可從指令快取記憶體502或外 部讀體502提取指令。所提取之指令經由指令仔列5〇3送 至轉譯階段。轉譯階段具有轉譯邏輯5G4,麵接至一微指令 仔列506。轉譯邏輯504包括延伸轉譯邏輯5〇5。執行階段則 有執行邏輯507,其内具有延伸執行邏輯篇。 經 濟 部 智 慧 財 產 局 消 費 合 作 社 印 製 [0047] 依據本發明’於運作時,提取邏輯5〇ι從指令快 取。己隐體/外己憶體5〇2提取格式化指令,並將這些指令依 魏行順序放入指令仔列5〇3中。接著從指令仔列如提取 這些指令,送至轉譯邏輯504。轉譯邏輯5〇4將每一送入的 指令轉譯/解碼為-對應之微指令序列,以指示微處理器5〇〇 去執行這些指令所指定的運算。依本發明,延伸轉譯邏輯5〇5 偵測那些具有延伸前置碼標記之指令,以進行對應延伸記憶 體特性指定元前置碼之轉譯/解碼。在一 χ86的實施例中,延 伸轉譯邏輯505組態為偵測其值為F1H之延伸前置碼標記, 其係x86之ICE BKPT運算碼。延伸微指令攔位則提供於微 指令佇列506中,以允許指定由該指令附隨部分所指定之相 關記憶體參照的記憶體特性。 [0048] 微指令從微指令佇列506被送至執行邏輯507, 其中延伸執行邏輯508組態為依照一預設記憶體特性(由既 有的記憶體特性描述元工具所定義)執行一指定記憶體參 L-----2^- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)1245221 (Description of Patent No. 091124008, Repair TP, V. Invention Description (> Stylized selection with up to 2 «different features. [0_] Please refer to _5, which is to explain the invention Base execution selectivity = block diagram of pipelined microprocessor leaks of memory attribute control operations. Microprocessor 500 has three distinct types of stages: fetch, translate, and execute. The fetch stage has an extract logic plan that can be cached from instructions The instruction is fetched by the memory 502 or the external reading body 502. The fetched instruction is sent to the translation stage via the instruction sequence 503. The translation stage has the translation logic 5G4 and is connected to a micro instruction sequence 506. The translation logic 504 includes extended translation Logic 505. The execution phase includes execution logic 507, which contains extended execution logic. Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs [0047] According to the present invention, during operation, logic 50 is extracted from the instruction cache. .Hidden body / foreign memory body 502 extracts formatting instructions, and puts these instructions in the order of Wei line into the instruction array 503. Then extract these instructions from the instruction array such as Send to translation logic 504. Translation logic 504 translates / decodes each incoming instruction into a corresponding micro-instruction sequence to instruct microprocessor 500 to perform the operations specified by these instructions. According to the present invention, Extended translation logic 505 detects those instructions with extended preamble marks to perform translation / decoding of meta-prefixes corresponding to extended memory characteristics. In an embodiment of χ86, extended translation logic 505 is configured as Detect the extended preamble tag whose value is F1H, which is the ICE BKPT operation code of x86. The extended microinstruction block is provided in the microinstruction queue 506 to allow specifying the correlation specified by the accompanying part of the instruction [0048] Micro-instructions are sent from the micro-instruction queue 506 to the execution logic 507, where the extended execution logic 508 is configured to follow a preset memory characteristic (described by an existing memory characteristic) (Defined by the meta tool) execute a designated memory parameter L ----- 2 ^-This paper size applies to China National Standard (CNS) A4 specification (210 X 297 mm)

1245221 A7 A7 __ (案號第丨丨24008號專利案之說明書修正)B7 I 1 I 丨 m 丨 , — I .1 五、發明說明(》) 照,或組態為利用於使用者層級透過本發明之延伸前置碼所 程式化之一記憶體特性,依延伸微指令欄位的指定,取代該 . --- ί請先閱讀背面之注意事項再填寫本頁) 預设的纖體特性。在-具體實施例中,該記憶體特性係以 快取線為單位而賦予的。 [0049]熟習此領域技術者將發現,圖五所示之微處理器 500係現代之管線化微處理器50經過簡化的結果。事實上: 現代的管線化微處理器500最多可包含有2〇至3〇個不同的 管線階段。然而,這些階段可概括地歸類為方塊圖所示之三 個階段,因此,圖五之方塊圖500可用以點明前述本發明實 施例所需之必要元件。為了簡明起見,微處理器5〇〇中無二 的元件並未顯示出來。 -丨線· 經濟部智慧財產局員工消費合作社印製 [0050]現請參閱圖六,其為本發明用於指定微處理器中 一程式化記憶體存取之記憶體屬性的延伸前置碼600之二具 體實施例的方塊圖。記憶體特性指定元前置碼600具8位^ 大小,且包括一來源特性(source trait)欄位6〇1與一目的特 性(destination trait)欄位6〇2。來源特性欄位6〇1為一相關 延伸指令之其餘部分所蚊的來源元記題存取(即載 入、讀取)指定一記憶體屬性,而目的特性攔位6〇2則為該 其餘部分所指定的目的運算元記憶體存取(即儲存、寫入) 指疋一兄憶體屬性。因此,8位元前置碼6〇㈣範例可指定 16個不同記憶體特性其中之—予來源與目的運算元兩者,而 這I6個記憶體特性係可驗取代侧位址範圍或記憶體分 頁所被才曰定的預設特性。圖六所示之實施例為關聯於對應指 令之所有來源運算元位址指定了單一的來源記憶體特性 本紙張尺度適用中國國家1 票準(CNS)A4規格-(21G x22597公餐)-—-—--- 1245221 (案號第091丨24〇〇8號專利案之說明書修正) A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明() 為所有目的運算元指定了單一(可能與前述的不同)之目的 記憶體特性。熟悉此領域技術者將發覺,來源與目的屬性可 分別加以指定,在與重複字串指令如x86架構的卿 等連用的情形下,會特別有用。上述實施例之一變形則對於 該對應指令所參照之每一目的/來源運算元提供一對應的目 的特性攔位602與來源特性攔位601,因而等量地增加*/減少 前置碼600的位元數。 [〇〇51]現請參閱圖七,其為本發明用於指定微處理器中 一程式化記憶體存取之記憶體屬性的延伸前置碼6〇〇之:一 具體實施例的方塊圖。記憶體屬性前置碼7〇〇具8位元大小, 且包括一屬性攔位701、一來源位元702、一目的位元7〇3 及一備用攔位704。3位元之屬性攔位701為一對應指令所指 定之記憶體存取運算指定8個不同記憶體特性的其中之一。 來源位元702對於所有來源運算元的記憶體存取,'致能屬性 欄位701所指定之屬性,而目的位元7〇3則對所有目的運算 元的記憶體存取致能該指定屬性。因此,8位前二 的實施例可指定8個不同記憶體特性其中之一予可能應用於 來源參照、目的參照或以上兩者的記憶體存取,而這8個記 憶體特性係可用於取代相關位址範圍或記憶體分頁所被指定 的預設特性。 9 [0052]現請參閱圖人,其為-表格,用以解說圖七延伸 前置碼700之攔位的典型記憶體特性之一編瑪範例。表格謂 具有-屬性行ATTR及-特性行TRAIT。ATTR行中屬性搁 位彻之值被映射至TRAIT行中一對應之記憶體特性。在此 (請先閱讀背面之注意事項再填寫本頁) 1¾ 訂·- -線· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) 1245221 (案號第091124〇08號專利案之說明書修正) A7 B7 五、發明說明(><f) 編碼範例中,提供了習用之記憶體特性,像是不可快取(值 為000)與回寫(值為011),然而熟悉此領域技術者將發覺, 其他適用於一特殊微處理器架構之特性,也能透過圖六X與七 之屬性攔位6〇1、602、701來加以編碼。 [0053] 現請參閱圖九,其為圖五之微處理器内轉譯階段 邏輯900之細部的方塊圖。轉譯階段邏輯900具有一指令緩 衝器904 ’依本發明,其提供延伸指令至轉譯邏輯9〇5。轉譯 邏輯905係耦接至一具有一延伸特徵攔位9〇3之機器特定暫 存器(machine specific register) 902。轉譯邏輯 905 具一轉譯 控制器906,其提供一除能訊號9〇7至一逸出指令偵測器9〇8 及延伸解碼器909。逸出指令偵測器908搞接至延伸解碼 器909及一指令解碼器910。延伸解碼器9〇9與指令解碼邏 輯910存取一控制唯讀記憶體(R〇M) 911,其中儲存了對 應至某些延伸指令之樣板(template )微指令序列。轉譯邏輯 905亦包含一微指令緩衝器912,其具有一運算碼延伸項欄位 913、一微運算碼攔位9M、一目的攔位915、一來源攔位916 以及一位移攔位917。 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 線· [0054] 運作上,在微處理器通電啟動期間,機器特定暫 存器902内之延伸攔位903的狀態係藉由訊號啟動狀態 (signal P〇wer_up state) 9〇1決定,以指出該特定微處理器是 否能轉譯與執行本發明之用以取代微處理器之預設記憶體屬 性的延伸指令。在一具體實施例中,訊號9〇1從一特徵控制 暫存器(圖上未顯示)導出,該特徵控制暫存器則讀取一於 製造時即已組態之熔絲陣列(ftxsearray)(未顯示)。機器 _______2Ί 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)1245221 A7 A7 __ (Amendment to the description of the patent case No. 丨 丨 24008) B7 I 1 I 丨 m 丨, — I .1 V. Description of the invention () Photo, or configured to be used at the user level through this book One of the memory characteristics programmed by the extended preamble of the invention is replaced by the designation of the extended microinstruction field. --- Please read the precautions on the back before filling in this page) Preset slimming characteristics. In a specific embodiment, the memory characteristics are given in units of a cache line. Those skilled in the art will find that the microprocessor 500 shown in FIG. 5 is a simplified result of the modern pipelined microprocessor 50. In fact: A modern pipelined microprocessor 500 can contain up to 20 to 30 different pipeline stages. However, these stages can be broadly classified into three stages as 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 aforementioned embodiment of the present invention. For the sake of brevity, no two components of the microprocessor 500 are shown. -丨 Line · Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs [0050] Please refer to FIG. 6, which is an extended preamble for specifying the memory attributes of a programmed memory access in a microprocessor according to the present invention 600bis block diagram of a specific embodiment. The memory property designation 600 has a meta-prefix of 8 bits in size, and includes a source trait field 601 and a destination trait field 602. The source property field 601 specifies a memory attribute for the source meta title access (ie load, read) of the rest of a related extended instruction, and the target property block 602 is the rest. Part of the specified destination memory access (ie, storage, write) refers to the memory properties of a brother. Therefore, the 8-bit preamble 60㈣ example can specify one of 16 different memory characteristics—both source and destination operands, and these I6 memory characteristics can be tested instead of side address ranges or memory. The paging has been set as the default feature. The embodiment shown in Figure 6 specifies a single source memory characteristic for all source operand addresses associated with the corresponding instruction. This paper standard applies to China's National Standard 1 (CNS) A4 specification-(21G x 22597 public meal)-- -——--- 1245221 (Amendment to the description of the patent case No. 091 丨 24008) A7 B7 Printed by the Employees' Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs V. Invention Description () Designates a single unit for all purposes ( (May be different from the aforementioned). Those skilled in the art will find that the source and destination attributes can be specified separately, which is particularly useful in the case of repeated string instructions such as the x86 architecture. A variant of the above embodiment provides a corresponding destination characteristic stop 602 and source characteristic stop 601 for each destination / source operand referenced by the corresponding instruction, thus increasing the * / decrease of the preamble 600 by the same amount. Number of bits. [0050] Please refer to FIG. 7, which is an extended preamble 600 for designating memory attributes of a programmatic memory access in a microprocessor according to the present invention: a block diagram of a specific embodiment . The memory attribute preamble 700 has an 8-bit size, and includes an attribute block 701, a source bit 702, a destination bit 703, and a spare block 704. The 3-bit attribute block 701 specifies one of eight different memory characteristics for a memory access operation specified by a corresponding instruction. The source bit 702 enables memory access for all source operands, and enables the attribute specified by the attribute field 701, while the destination bit 703 enables the specified attribute for memory access of all destination operands. . Therefore, the first two 8-bit embodiments can specify one of eight different memory characteristics for memory access that may be applied to source reference, destination reference, or both, and these 8 memory characteristics can be used instead of The default characteristics assigned to the relevant address range or memory tab. 9 [0052] Please refer to the figure, which is a table for explaining an example of a typical memory characteristic of the extended preamble 700 of FIG. The table states that it has -attribute row ATTR and -attribute row TRAIT. The value of the attribute hold in the ATTR line is mapped to a corresponding memory characteristic in the TRAIT line. Here (please read the precautions on the back before filling this page) 1¾ Order ·--Line · This paper size is applicable to China National Standard (CNS) A4 (210 X 297 public love) 1245221 (Case No. 091124〇08 Amendments to the specifications of the patent case) A7 B7 V. Description of the invention (> < f) In the coding example, conventional memory characteristics are provided, such as uncacheable (value 000) and write-back (value 011), However, those skilled in the art will find that other characteristics applicable to a particular microprocessor architecture can also be encoded by the attribute blocks 601, 602, and 701 in Figures 6 and 7. [0053] Please refer to FIG. 9, which is a detailed block diagram of the logic 900 of the translation stage in the microprocessor of FIG. 5. The translation stage logic 900 has an instruction buffer 904 'which, in accordance with the present invention, provides extended instructions to the translation logic 905. The translation logic 905 is coupled to a machine specific register 902 having an extended characteristic stop 903. The translation logic 905 has a translation controller 906, which provides a disabling signal 907 to an escape instruction detector 908 and an extended decoder 909. The escape instruction detector 908 is connected to the extended decoder 909 and an instruction decoder 910. The extended decoder 009 and the instruction decoding logic 910 access a control read-only memory (ROM) 911, which stores a template micro-instruction sequence corresponding to certain extended instructions. The translation logic 905 also includes a microinstruction buffer 912, which has an opcode extension field 913, a microop code block 9M, a destination bit 915, a source block 916, and a displacement block 917. Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs (please read the precautions on the back before filling out this page). Line [0054] During operation, during the microprocessor power-up, the extended stop in the machine-specific register 902 The state of 903 is determined by the signal activation state (signal power state), which indicates whether the particular microprocessor can translate and execute the extension of the default memory attribute of the present invention to replace the microprocessor. instruction. In a specific embodiment, the signal 901 is derived from a feature control register (not shown in the figure), and the feature control register reads a fuse array (ftxsearray) that has been configured at the time of manufacture. (Not shown). Machine _______ 2Ί This paper size applies to China National Standard (CNS) A4 (210 X 297 mm)

m i i [m i i [

II

I 線 1245221 | A7 (案號第091124008號專利案之說明書修正)p7 五、發明說明(>4) 排1012與1013耦接至一快取記憶體1〇〇7與一匯流排單元 1008。匯流排單元1008係用以指導於記憶體匯流排(圖中未 ’、員不)上進行之5己憶體存取作業(memory transaction )。依 本發明,延伸存取邏輯1〇05從微處理器前一階段之一延伸微 指令緩衝器1001接收微指令,從位址緩衝器1〇〇2與1〇〇3 接收兩個位址運算元,並從目的運算元緩衝器1004接收一目 的運算7L。延伸存取邏輯1005亦耦接至複數個依主機微處理 器之架構常規進行組態的記憶體特性描述元1006。延伸存取 邏輯1005包含一存取控制器1009、一儲存緩衝器1010及一 載入緩衝器1011。該載入緩衝器1011將一來源運算元輸出 送至一來源運算元缓衝器1015。 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) -線· [0056]運作上,延伸執行邏輯1〇〇〇係用於執行記憶體 存取,從記憶體讀取運算元,以及將運算元寫入記憶體,如 延伸微指令緩衝器1001中之微指令所指示的。執行讀取/載 入運算時,存取控制器1009從位址緩衝器1〇〇2與1〇〇3接收 一個或更多記憶體位址,並讀取記憶體特性描述元1〇〇6,以 決疋相關於該載入運算之記憶體屬性。在一 χ86實施例中, 記憶體特性描述元1006包含χ86快取記憶體與分頁控制暫存 器、分頁目錄與分頁表項目、記憶體類型範圍暫存器(m_^ type range register,MTTR)、分頁屬性表(paging attribute table,PAT)以及外部訊號腳位keN#、wb/wt#、pcT及 PWT。存取控制器1009依據x86的層級記憶體屬性常規, 使用從這些來源1006所取得之資訊,以決定該載入運算之預 設記憶體屬性。對非x86之實施例而言,存取控制器1〇〇9 &張尺度刺中闕家標準(CNS)A4規格(210 >^97公爱)'"一--- 1245221 A7 (案號第〇9】丨24〇〇8號專利案之說明書修正)ρ7 五、發明說明) 依據對縣機微處_之特定_的輕記憶則性常規, 使用從記憶體特性描述元1006所取得之資訊,來決定該載入 運算之預就憶闕性。記憶體位址,制其對應存取 性,被送至載入緩衝器1(m。依據所提供之特性屬性,載入 緩,器1011經由匯流排體從快取記憶體或直接經由匯流 排單元10〇8從系統記憶體(未顯示)獲得來源運算元。所獲 得之來源運算元與一管線時脈訊號(未顯示)同步,被送至 來源運算元緩衝器簡5。延伸微指令亦與該管線時脈訊號同 步,被送入官線至延伸微指令暫存器1014。來源運算元便以 此種方式被送至微處理器之下一階段。 [0057]執行延伸微指令所指示之寫入/儲存運算時,存取 控制器1009從位址緩衝器臟與翻接收該運算之位址資 料’並從緩衝H 1’接收所要儲存之運算元。存取控制器 ι〇〇9如别所述般來存取記憶體特性描述元1〇〇6,以決定對應 於a亥儲存運算之記憶體特性。該記憶體特性、位址資訊以及 該目的運算元並送至儲存緩衝器1〇1〇。依據所提供之特定屬 欧’儲存緩衝器1〇1〇經由匯流排1〇12將該目的運算元寫入 快取"己憶體1007,或直接經由匯流排單元1008寫入系統記 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 參 憶體。 &[0058]本發明之儲存緩衝器1010與載入缓衝器1011被 組悲為依據主機處理器之記憶體屬性模型的相關處理要求, 來執仃=存與載入的存取運算,其中該處理要求係包括強/ 弱排序常規(如假想執行規則)以及快取存取原則。在一具 體實知例中’载入與儲存運算係在主機微處理器之不同管線 本紙張尺關h)I line 1245221 | A7 (Amendment of the specification of case number 091124008) p7 V. Description of the invention (> 4) The rows 1012 and 1013 are coupled to a cache memory 107 and a bus unit 1008. The bus unit 1008 is used to guide the 5 memory access operations (memory transaction) performed on the memory bus (not shown in the figure). According to the present invention, the extended access logic 1005 receives microinstructions from the extended microinstruction buffer 1001, which is one of the previous stages of the microprocessor, and receives two address operations from the address buffers 1002 and 2003. And receives a destination operation 7L from the destination operand buffer 1004. The extended access logic 1005 is also coupled to a plurality of memory characteristic descriptors 1006 that are configured according to the architecture of the host microprocessor. The extended access logic 1005 includes an access controller 1009, a storage buffer 1010, and a load buffer 1011. The load buffer 1011 sends a source operand output to a source operand buffer 1015. Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs (please read the precautions on the back before filling out this page)-Line · [0056] In operation, the extended execution logic 100 is used to perform memory access from memory The volume reads the operand and writes the operand to the memory, as indicated by the microinstruction in the extended microinstruction buffer 1001. When performing a read / load operation, the access controller 1009 receives one or more memory addresses from the address buffers 1002 and 2003, and reads the memory characteristic descriptor 1006, To determine the memory attributes related to the load operation. In a χ86 embodiment, the memory characteristic descriptor 1006 includes a χ86 cache memory and paging control register, paging directory and paging table entries, a memory type range register (m_ ^ type range register (MTTR), Paging attribute table (PAT) and external signal pins keN #, wb / wt #, pcT and PWT. The access controller 1009 uses the information obtained from these sources 1006 according to the x86-level memory attribute conventions to determine the preset memory attributes of the load operation. For non-x86 embodiments, the access controller 1009 & Zhang Jiji Standards (CNS) A4 specification (210 > ^ 97 public love) '" a-1245221 A7 ( Case No. 09] 丨 No. 24008 Patent Specification Amendment) ρ7 V. Description of the invention) According to the light-memory regularity of the specific _ specific _ of the county machine, use the memory characteristic descriptor 1006 Information to determine the predictive recall of the load operation. The memory address, its corresponding accessibility, is sent to the load buffer 1 (m. According to the characteristics provided, the load is slow. The device 1011 via the bus body from the cache memory or directly via the bus unit 1008 Obtain the source operand from the system memory (not shown). The obtained source operand is synchronized with a pipeline clock signal (not shown) and sent to the source operand buffer Jan 5. The extended microinstruction is also associated with This pipeline clock signal is synchronized and sent to the official line to the extended microinstruction register 1014. In this way, the source operand is sent to the next stage of the microprocessor. [0057] Execution of the extended microinstruction indicates When writing / storing an operation, the access controller 1009 receives the address data of the operation from the address buffer dirty and flipped, and receives the operand to be stored from the buffer H 1 '. The access controller ι〇09 is To access the memory characteristic descriptor 1006 as described above, to determine the memory characteristics corresponding to the ai storage operation. The memory characteristics, address information, and the destination operand are sent to the storage buffer 1 〇1〇. According to the specific Europe's storage buffer 1010 writes the destination operand into the cache " memory body 1007 via the bus 1012, or writes the system directly to the system through the bus unit 1008 to record the employee consumer cooperative of the Intellectual Property Bureau of the Ministry of Economy Printed (please read the precautions on the back before filling this page) Reference memory. &Amp; [0058] The storage buffer 1010 and load buffer 1011 of the present invention are grouped based on the memory attributes of the host processor The relevant processing requirements of the model are to perform access operations of store and load, where the processing requirements include strong / weak ordering conventions (such as imaginary execution rules) and cache access principles. In a specific practical example 'Loading and storing operations are performed on different pipelines of the host microprocessor.

1245221 A7 _(案號第091124008號專利案之說明書修正)B7 五、發明說明(·>(?) 階段中執行。 [0059]對使用選擇性之記憶體屬性取代前置碼的延伸 指令而言,相關記憶體存取(即載入'儲存或載入與儲存兩 者)之取代記憶體特性透過延伸微指令緩衝器1〇〇1内之延伸 微指令的運算碼延伸項欄位(未顯示),被送至存取控制器 1009。存取控制器1〇〇9,如前所述,藉由從記憶體特性描述 元1006所獲得之資訊,決定所指定記憶體存取之預設記憶體 特性。若該指定取代特性比對應之預設特性還強,則存取控 制器1009將取代特性連同前述之位址及/或目的運算元,送 至儲存緩衝器1010/載入緩衝器1011。若該指定取代特性比 對應之預設特性還弱,則存取控制器1〇〇9將預設特性 址及/或目的運算元,送至儲存緩衝器1〇1〇/載入緩衝器 10U。因此,選擇性的記紐取代僅依據所應狀特定架構 而執行,以加強一記憶體特性。例如,在x86架構中,一記 憶體存取之不可快取特性不能被弱化為回寫。反之,回寫特 性則不能被加強為不可快取。記憶體存取所要使用 以快取線為單位而賦予的,而在許多現代之桌上型/膝上型微 處理器架構令,快取線的大小為32位元組。 [0060]現請參閱圖十一,其為描述本發明對可使程式員 於指令層娜代微處理H狀預設記鋪雜的指令,進行 轉譯與執行的方法之運作_圖。流程開始於方塊魔,发 中-個組態有延伸特徵指令的程式,被送至微處理器。流程 接著進行至方塊1104。 [61]於方塊11〇4中,下一個指令係從快取記憶體/外 1245221 A7 (案號第091124008號專利案之說明書修正)π丨 22 五、發明說明( Μ Ρ 部記憶體提取。流程接著進行至判斷方塊11〇6。 [0062] 於判斷方塊11〇6中,對在方塊11〇4中所提取的 下個指令進行檢查,以判斷是否包含一本發明之延伸逸出 碼。在一 x86的實施例中,該檢查係用以偵測運算碼值ρ〗(ICE BKPT)。若偵測到該延伸逸出碼,則流程進行至方塊1108。 若未偵測到該延伸逸出碼,則流程進行至方塊1112。 [0063] 於方塊11〇8中,解碼/轉譯該延伸指令之延伸前 置碼部分,以決定一記憶體屬性,該記憶體屬性係被指定為 取代該下個指令所指定之相關記憶體存取的預設記憶體屬 性。流程接著進行到方塊1110。 [0064] 於方塊mo中,該相關記憶體存取之記憶體屬 性於一對應微指令序列之延伸項攔位進行組態。流程接著進 行至方塊1112。 [0065] 於方塊1112中,該指令之所有其餘部分被解碼/ 轉譯,以決定所指定之記憶體存取、暫存器運算元之位置、 記憶體位址指定元以及依據該既有微處理器指令集,由前置 碼所指定之既有架構特徵的使用。流程接著進行至方塊 1114 〇 經濟部智慧財產局員工消費合作社印製 [0066] 於方塊1114中,一微指令序列被組態為指定所 指定的記憶體參照及其對應之運算碼延伸項。流程接著進行 至方塊1116。 [0067] 於方塊1116中,該微指令序列被送至一微指令 佇列,由微處理器執行。流程接著進行至方塊1118。 [0068] 於方塊1118中,該微指令序列由本發明之一位 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) [245221 a7 (案號第09】124〇〇8號專利案之說明書修正)B7 五、發明說明〇 ) 址邏輯進行提取。該位址邏輯產生該記憶體存取之位址,並 將該位址送至延伸執行邏輯。流程接著進行至方塊112〇。 [0069] 於方塊1120中,延伸執行邏輯運用該微處理器 架構之記憶體特性描述工具’以決定—預設的記憶體特性。 流程接著進行至判斷方塊1122。 [0070] 於判斷方塊1122中進行評估,以判斷該微處理 器架構之快取/記憶體模型是否允許該指定之記憶體屬性取 代該預設屬性。若取代被允許,流程進行至方塊1124。若取 代未被允許,則流程進行至方塊1126。 [0071] 於方塊1124中,藉由使用於方塊11〇8之延伸前 置碼攔位所指定之取代記憶體屬性,執行該記憶體存取。流 程接著進行至方塊1128。 [0072] 於方塊1126中,藉由使用於方塊1120所決定之 預設記憶體屬性,執行該記憶體存取。流程接著進行至方塊 1128 〇 [0073] 於方塊1128中,本方法完成。 [0074] 雖然本發明及其目的、特徵與優點已詳細敘述, 其它實施例亦可包含在本發明之範圍内。例如,本發明已就 如下的技術加以敘述··利用已完全佔用之指令集架構内一單 一、未使用之運算碼狀態作為標記,以指出其後之延伸特徵 前置碼。但本發明的範圍就任一方面來看,並不限於已完全 佔用之指令集架構,或未使用的指令,或是單一標記。相反 地,本發明涵蓋了未完全映射之指令集、具已使用運算碼之 實施例以及使用一個以上之指令標記的實施例。例如,考慮 33 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) # 線· 經濟部智慧財產局員工消費合作社印製 1245221 , — (案號第撕124008號專利案^^ 五1245221 A7 _ (Amendment of the specification of patent case No. 091124008) B7 V. The invention description (· > (?) Is executed in the stage. [0059] The use of optional memory attributes instead of preamble extension instructions and In other words, the memory characteristics of the related memory access (that is, loading 'store or both loading and storing) are replaced by the extension code field of the extended micro instruction in the extended micro instruction buffer 1001 (not (Shown) and sent to the access controller 1009. The access controller 1009, as described earlier, determines the preset memory access preset by using the information obtained from the memory characteristic descriptor 1006. Memory characteristics. If the designated replacement characteristic is stronger than the corresponding preset characteristic, the access controller 1009 sends the replacement characteristic with the aforementioned address and / or destination operand to the storage buffer 1010 / load buffer 1011. If the designated replacement characteristic is weaker than the corresponding preset characteristic, the access controller 1009 sends the preset characteristic address and / or destination operand to the storage buffer 1010 / load buffer Device 10U. Therefore, the selective replacement of the button only depends on the For example, in the x86 architecture, the non-cacheable feature of a memory access cannot be weakened to write back. Conversely, the write back feature cannot be enhanced to be uncacheable. Memory access is based on the use of cache lines. In many modern desktop / laptop microprocessor architectures, the size of the cache line is 32 bytes. [0060] Please refer to FIG. 11, which describes the operation of the method for translating and executing a method that enables a programmer to process H-shaped preset records on the instruction level, and execute and execute the instructions. The process begins with the block magic, Sending a program with extended feature instructions sent to the microprocessor. The flow then proceeds to block 1104. [61] In block 1104, the next instruction is from cache memory / outside 1245221 A7 (Case No. 091124008 Patent Specification Amendment) π 丨 22 V. Description of the Invention (MP Part Memory Extraction. The process then proceeds to judgment block 1106. [0062] In judgment block 1106, The next instruction extracted in block 1104 is A check is performed to determine whether an extended escape code of the present invention is included. In an x86 embodiment, the check is used to detect an operation code value ρ (ICE BKPT). If the extended escape code is detected , The flow proceeds to block 1108. If the extended escape code is not detected, the flow proceeds to block 1112. [0063] In block 1108, decode / translate the extended preamble portion of the extended instruction to A memory attribute is determined, and the memory attribute is designated as a default memory attribute to replace the related memory access specified by the next command. The flow then proceeds to block 1110. [0064] In block mo, the The memory attributes of the related memory access are configured in an extension block corresponding to the micro instruction sequence. The flow then proceeds to block 1112. [0065] In block 1112, all the rest of the instruction is decoded / translated to determine the specified memory access, the location of the register operand, the memory address designator, and according to the existing microprocessor Instruction set, the use of existing architectural features specified by the preamble. The flow then proceeds to block 1114. Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs [0066] In block 1114, a microinstruction sequence is configured to specify the specified memory reference and its corresponding opcode extension. Flow then proceeds to block 1116. [0067] In block 1116, the microinstruction sequence is sent to a microinstruction queue for execution by a microprocessor. Flow then proceeds to block 1118. [0068] In block 1118, the micro-instruction sequence is one of the paper sizes of the present invention and is applicable to the Chinese National Standard (CNS) A4 specification (210 X 297 mm). [245221 a7 (Case No. 09) 124008 Amendment to the description of the patent case) B7 5. Description of the invention 0) Extraction of the address logic. The address logic generates an address for the memory access and sends the address to the extended execution logic. The flow then proceeds to block 112. [0069] In block 1120, the extended execution logic uses the memory characteristic description tool of the microprocessor architecture to determine-a predetermined memory characteristic. The process then proceeds to decision block 1122. [0070] An evaluation is performed in decision block 1122 to determine whether the cache / memory model of the microprocessor architecture allows the specified memory attribute to replace the preset attribute. If substitution is permitted, flow proceeds to block 1124. If the substitution is not allowed, the flow proceeds to block 1126. [0071] In block 1124, the memory access is performed by replacing the memory attribute specified by the extended preamble block used in block 1108. The process then proceeds to block 1128. [0072] In block 1126, the memory access is performed by using the default memory attributes determined in block 1120. The process then proceeds to block 1128. [0073] In block 1128, the method is completed. [0074] 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. A single, unused opcode state in the instruction set architecture that has been fully occupied is used as a flag to indicate the following extended feature preamble. However, the scope of the present invention is not limited to any aspect, and is not limited to a completely occupied instruction set architecture, an unused instruction, or a single mark. In contrast, the present invention encompasses incompletely mapped instruction sets, embodiments with used opcodes, and embodiments using more than one instruction tag. For example, consider 33 paper sizes that apply Chinese National Standard (CNS) A4 specifications (210 X 297 mm) (please read the notes on the back before filling out this page) # 线 · Printed by the Employees ’Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs 1245221 , — (Case No. 124008 Patent Case ^^ Five

發明說明(;丨) 一沒有未使用運算碼狀態少八 施例包含了選取-作魏二、架構。本發明之—具體實 準係依市場因素而決算碼狀態,其中選取標 之-特雜合作為,_::_侧包含使用運算碼 己如運异碼狀態7FH的連 此,本個之本質係姐咖—標、 元之延伸前置碼,可允抑—3 ,、!為η位 W 确於指令層級指定記憶體存取 之减體雜’補些縣郎由 有指令來触。 <日7果之既 [^75]此外’雖然上文係利用微處理器為例來解說本發 明及其目的、特徵和優點,熟習此領域技術者仍可察覺,本 發明的範圍並靴於微處理㈣_,而可涵蓋所有形式之 可程式化裝置,如訊號處理器、工業用控制器〇ndustriai C〇nlT〇ller)、陣列處理器及其他同類裝置。 、、、“之以上所述者,僅為本發明之較佳實施例而已,當 不能以之限定本發明所實施之範圍。大凡依本發明申請專利 範圍所作之均等變化與修飾,皆應仍屬於本發明專利涵蓋之 範圍内,謹請貴審查委員明鑑,並析惠准,是所至禱。 (請先閱讀背面之注意事項再填寫本頁) 訂. 線' 經濟部智慧財產局員工消費合作社印製 34 本紙張尺度適用中國國家標準(CNS)A4規袼C210 X 297公釐〉Description of the invention (; 丨)-There are no unused opcodes and the state is less than eight. The embodiment includes a selection-operation method and an architecture. In the present invention, the specific reality is the final code status according to market factors. Among them, the subject-specific miscellaneous cooperation is selected as follows. The _ :: _ side contains the use of opcodes such as the different code status 7FH. It is an extended preamble of the sister-standard, yuan, and can be allowed to -3, !! is the η-bit W to specify the memory access in the instruction level to reduce the amount of miscellaneous errors. < Nine 7 results [^ 75] In addition, 'Although the above uses the microprocessor as an example to explain the present invention and its objects, features and advantages, those skilled in the art can still perceive the scope of the present invention In micro processing, it can cover all forms of programmable devices, such as signal processors, industrial controllers (Industry Controllers (Introduction), array processors and other similar devices. The above, "," are only the preferred embodiments of the present invention, and should not be used to limit the scope of the present invention. Any equal changes and modifications made in accordance with the scope of the patent application of the present invention should still be It is within the scope of the patent of the present invention, and I would like to ask your reviewers to make a clear reference and analyze the benefits. (Please read the precautions on the back before filling this page) Order. Online Printed by the cooperative 34 This paper size applies Chinese National Standard (CNS) A4 regulations C210 X 297 mm>

Claims (1)

1245221 __(案號第的1〗24008號專利案之說明書修正) ABCD 正年修ml1245221 __ (Case No. 1〗 24008 Patent Specification Amendment) ABCD Correction Years ml I日 奐 六、申請專利範圍 — (請先閱讀背面之注意事項再填寫本頁) 1 · 一種在一微處理器内提供記憶體屬性之指令層級控制的 裝置,包含: 一轉譯邏輯,用以將一延伸指令轉譯成一微指令序列, 其中該延伸指令包含: 一延伸前置碼,用以對該延伸指令所指定之一記憶體 參照,指定一記憶體特性,其中該記憶體參照之記 憶體特性不能由一既有指令集之一既有指令來指 定;以及 一延伸前置碼標記,用以指出該延伸前置碼,其中該 伸前置碼標記係原本該既有指令集内另一依據架構 所指定之運算碼;以及 一延伸執行邏輯,耦接至該轉譯邏輯,用以接收該微指 々序列,並應用該土憶體特性來執行該記憶體參照。 2·如申請專利範圍第1項所述之裝置,其中該延伸指令更包 含該既有指令集之指令項目。 3·如申請專利範圍第2項所述之裝置,其中該指令項目指定 經濟部智慧財產局員工消費合作社印製 該微處理器所要執行之-運算,且其中該運算包含該記憶 體參照。 4. 如申請專利範@第丨項所述之裝置,其中該記紐參照包 含-運算元載人作業、-運算元儲存作業或以上兩者。 5. 如申請專利範圍第1項所述之裝置,其中該記憶體特性指 疋一快取纪憶體於該記憶體參照執行時如何被使用。 6. 如申請專利範圍第i項所述之裝置,其中該記憶體特性指 本紙張尺度適用中國國豕標準(CNS ) A4規格(21 οχ297公羞) IDay 26. Patent Application Scope-(Please read the notes on the back before filling this page) 1 · A device that provides instruction-level control of memory attributes in a microprocessor, including: a translation logic for Translate an extended instruction into a microinstruction sequence, wherein the extended instruction includes: an extended preamble for referencing a memory specified by the extended instruction, and designating a memory characteristic, wherein the memory referenced by the memory The characteristics cannot be specified by an existing instruction in an existing instruction set; and an extended preamble tag to indicate the extended preamble, where the extended preamble tag is originally another in the existing instruction set According to the operation code specified by the architecture; and an extended execution logic, coupled to the translation logic, for receiving the micro-finger 々 sequence and applying the memory characteristics to execute the memory reference. 2. The device according to item 1 of the scope of patent application, wherein the extended instruction further includes instruction items of the existing instruction set. 3. The device as described in item 2 of the scope of patent application, wherein the instruction item specifies that the consumer-cooperative society of the Intellectual Property Bureau of the Ministry of Economic Affairs prints the-operation to be performed by the microprocessor, and wherein the operation includes the memory reference. 4. The device as described in the patent application @ Item 丨, wherein the reference to the button contains -operator manned operation, -operator stored operation, or both. 5. The device described in item 1 of the scope of patent application, wherein the memory characteristics refer to how a cache memory is used when the memory is executed by reference. 6. The device as described in item i of the scope of patent application, wherein the memory characteristics refer to the Chinese paper standard (CNS) A4 specification (21 οχ297 public shame) of the paper size I ABCD 、申請專利範圍 經濟部智慧財產局員工消費合作社印製 26_ 序二思體4照相對於其他記憶體參照如何排出執行順 7.所述之裝置,其中該延伸前置碼指 體特性。細^触參糾,喊—預設之記憶 8 範圍第1項所述之裝置’其中該延伸前置碼包 ^申明專利蝴第丨項所述之裝置,其中該延伸前置竭包 屬欧搁位,用以指定該記憶體特性,其中該記憶體特 性包含複數個記鐘聽射之―。 體特 10. ,細複數個記憶體 J 合寫人、寫透、回寫以及寫入保護。 11·如申轉利範圍第丨項所述之裝置,其中該既有指令 含X86指令集。 】2·如申請專娜_丨顧叙裝置,其幅延伸前置碼標 記包含x86指令集之運算碼FI (ICEBKPT)。 13·如申請專利顧第丨項所述之裝置,其中該轉譯邏 含·· 一逸出指令偵測邏輯,用於偵測該延伸前置碼標記; 一指令解碼邏輯,用以決定所要執行之一運算,其中該 運算包含該記憶體參照;以及 一延伸解碼邏輯,耦接至該逸出指令偵測邏輯與該指令 解碼邏輯,用以決定該記憶體特性,並於該微指令序 本紙張尺度適用中國國家標隼(CNS ) A4^ ( 210X297公餐) (請先閲讀背面之注意事項再填寫本瓦)ABCD, patent application scope. Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs. 26_ Preface 2 Think 4 Photo For other memory refer to the device described in the implementation of 7., where the extended preamble refers to the characteristics. Carefully touch and correct, shout—the device described in item 8 of the preset memory 8 range, where the extended preamble package ^ declares the device described in patent item 丨, wherein the extended preemption package belongs to Europe A shelf is used to specify the memory characteristic, wherein the memory characteristic includes a plurality of clocks and sounds. Special 10., a plurality of memory J co-authors, write through, write back and write protection. 11. The device as described in item 丨 of the scope of application for profit conversion, wherein the existing instruction includes the X86 instruction set. [2] If applying for a special device, the extended preamble mark contains the operation code FI (ICEBKPT) of the x86 instruction set. 13. The device according to item 丨 of the applied patent, wherein the translation logic includes a escape instruction detection logic for detecting the extended preamble mark; an instruction decoding logic for determining the execution to be performed An operation, wherein the operation includes the memory reference; and an extended decoding logic coupled to the escape instruction detection logic and the instruction decoding logic to determine the characteristics of the memory and to the microinstruction sequence Paper size applies to Chinese National Standard (CNS) A4 ^ (210X297 meal) (Please read the precautions on the back before filling in this tile) I ABCD 申請專利範圍 列内指定該記憶體特性。 M.-種延伸-既有指令知提供記龍雜之糧性控制 的微處理器裝置,包含·· -延伸指令,組態為指定—記贿存取之—記憶體屬 I·生’其中該ΚΝθ ·7包含該既有微處理器指令集苴中 -選取之運算碼4後則接著_ η位元之延伸前置 碼,該選取之運算碼指出該延伸指令,而該η位元之 延伸前置_指出該記憶體屬性,其中該記憶體存取 之記憶體屬性不能另依該既有指令集之指令加以指 定;以及 -轉譯器為接收該延伸指令,録生—微指令序 列’以指示-微處理器執行觀憶體存取,其中該記 憶體存取將依該記憶體屬性執行。 15. 如申請專利細第14顧述之裝置,其中該延 伸指令更包含: 其餘指令項目’組態為指定該記憶體存取,其中該記憶 體屬性係於該記憶體存取執行時用於取代一預設之 記憶體屬性。 經濟部智慧財產局員工消費合作社印製 16. 如申請專利範圍第14項所述之微處理器裝置,其中該η 位元之延伸前置碼包含: 。己隱體特性她,轉為缺觀憶體屬性,以用於 憶體存取時,其中該記憶體屬性包含複數個記憶 體存取特性其中之一。 17·如申請專利範圍第16項所述之微處理器裝置,其中該些 (210X297公釐) ABCDI ABCD patent application column specifies the memory characteristics. M.-A kind of extension-the existing instructions provide a microprocessor device that provides food control of the miscellaneous dragon, including ...- extension instructions, configured to specify-remember the bribe access-the memory belongs to I. Health The KNθ · 7 contains the pre-selected opcode 4 in the existing microprocessor instruction set, followed by the _ η bit extended preamble. The selected op code indicates the extended instruction, and the η bit Extended Preface_ indicates the memory attribute, wherein the memory attribute of the memory access cannot be specified according to the instructions of the existing instruction set; and-the translator generates a micro-instruction sequence to receive the extended instruction. The instruction-microprocessor performs memory access, wherein the memory access is performed according to the memory attribute. 15. The device described in claim 14 of the patent application, wherein the extended instruction further includes: the remaining instruction items' configured to specify the memory access, wherein the memory attribute is used when the memory access is executed Replaces a default memory attribute. Printed by the Consumer Cooperatives of the Intellectual Property Bureau of the Ministry of Economic Affairs 16. The microprocessor device described in item 14 of the scope of patent application, wherein the η-bit extension preamble includes:. Her hidden characteristics have been turned into a lack of memory attributes for memory access, where the memory attributes include one of a plurality of memory access characteristics. 17. The microprocessor device according to item 16 of the scope of patent application, wherein these (210X297 mm) ABCD 1245221 7Τ、申請專利範圍 記憶體存取特性包含不可快取、複合 及寫入保護。 ”、寫透、回寫ο 队如申請專利範圍第14項所述之 請 先 閱 讀 背 ιδ 之 注 意 事 項 再 填 寫 本 頁 位元之延伸前置碼包含8個位元。錄置其中該n 19.如申吻專利圍第Μ項所述之微處理器裝置, 有指令集係χ86微處理器指令集。° 。既 申第η項所述之微處理器裝置,其中該登 ^運算碼包括x86微處理器指令集中之ice謝運^ 碼(即運算碼F1)。 ^ 利範圍第14項所述之微處則裝置,其中該轉 訂 一逸出指令偵測H,用以伽彳該延伸指令内之該選取 運算碼; 一指令解碼器,用以解碼該延伸指令之其餘部分,以決 定該記憶體存取;以及 、 延伸别置碼解碼器,麵接至該逸出指令侧器及該指 經濟部智慧財產局員工消費合作社印製 t解碼器’用以解碼該η位元之延伸前置碼,並於該 微指令序列内指定該記憶體屬性。 Λ 22·-種為_既有指令集增添指令狀之纖體特性控 徵的裝置,包含: 一逸出標記,由一轉譯邏輯接收,並指出一對應指令之 附隨部分係指定了一記憶體存取,其中該逸出標記為 該既有指令集内之一第一運算碼; 一圯憶體特性指定元,耦接至該逸出標記,且為該附隨1245221 7T, patent application scope Memory access features include non-cacheable, composite, and write-protected. ", Write through, write back ο As described in item 14 of the scope of patent application, please read the precautions of backing δ before filling in the extended preamble of the bits on this page, including 8 bits. Record the n 19 The microprocessor device described in item M of the application of the kiss kiss patent has an instruction set of χ86 microprocessor instruction set. ° The microprocessor device described in the application item n, wherein the register operation code includes The x86 code in the x86 microprocessor instruction set (the operation code F1). ^ The micro-point device described in item 14 of the scope of interest, wherein the reordering escape command detects H, which is used to ga The selection operation code in the extended instruction; an instruction decoder for decoding the rest of the extended instruction to determine the memory access; and, an extended special code decoder connected to the escape instruction side device And it refers to the “T Decoder” printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs to decode the η-bit extended preamble and specify the memory attribute in the micro-instruction sequence. Add instruction-like slimming features to the existing instruction set The feature device includes: an escape tag, which is received by a translation logic, and indicates that the accompanying part of a corresponding instruction specifies a memory access, wherein the escape tag is one of the existing instruction sets. An opcode; a memory property designator, coupled to the escape tag, and the accompanying A8 B8 C8 經濟部智慧財產局員工消費合作社印製 1245221 〜號第09〗124008號裒利案之說明書修正)D8 六、申請專利範圍 部分其中之一,用以指定複數個記憶體特性其中之一 予該記憶體存取;以及 一延伸執行邏輯,耦接至該轉譯邏輯,利用所指定之記 憶體特性執行該記憶體存取,其中該既有指令集僅提 供該記憶體存取之一預設記憶體特性之指定,且其中 該延伸執行邏輯應用所指定之記憶體特性取代該預 設記憶體特性。 23·如申請專利範圍第22項所述之裝置,其中該附隨部分之 其餘部分包含一第二運算碼,用以指定該記憶體存取。 24·如申請專利範圍第22項所述之裝置,其中該記憶體特性 指定元包含8個位元。 25·如申請專利範圍第22項所述之裝置,其中該既有指令集 係x86指令集。 26·如申請專利範圍第22項所述之裝置,其中該第一運算碼 包含x86指令集中之ICEBKPT運算碼(即運算碼π)。 27·如申請專利範圍第22項所述之裝置,其中該轉譯邏輯將 該逸出標記與該附隨部分轉譯成對應的微指令,該對應的 微指令係指示該延伸執行邏輯依據所指定之記憶體特 性,執行該記憶體存取。 28·如申請專利範圍第22項所述之裝置,其中該些記憶體特 性包含不可快取、複合寫入、寫透、回寫以及寫入保護。 29·如申請專利範圍第22項所述之裝置,其中該轉譯邏輯包 含: 一逸出標記细揭輯,用以細該逸出標記 ’並指不該 A4規格(210X297公董) (請先閱讀背面之注意事項再填寫本瓦)A8 B8 C8 Printed by the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs 1245221 ~ No. 09〗 124008 Amendment to the specification of Dali Case) D8 VI. One of the parts of the scope of patent application, which is used to specify one of the multiple memory characteristics Giving the memory access; and an extended execution logic coupled to the translation logic to perform the memory access using the specified memory characteristics, wherein the existing instruction set only provides a pre-processing of the memory access The designation of the memory characteristics is set, and the preset memory characteristics are replaced by the memory characteristics specified by the extended execution logic application. 23. The device 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 memory access. 24. The device according to item 22 of the scope of patent application, wherein the memory characteristic designating element includes 8 bits. 25. The device according to item 22 of the scope of patent application, wherein the existing instruction set is an x86 instruction set. 26. The device according to item 22 of the scope of patent application, wherein the first operation code includes the ICEBKPT operation code (ie operation code π) in the x86 instruction set. 27. The device according to item 22 of the scope of patent application, wherein the translation logic translates the escape mark and the accompanying part into corresponding micro instructions, and the corresponding micro instruction instructs the extension execution logic according to the specified Memory characteristics to perform the memory access. 28. The device according to item 22 of the scope of patent application, wherein the memory characteristics include non-cacheable, composite write, write through, write back, and write protection. 29. The device according to item 22 of the scope of patent application, wherein the translation logic includes: a detailed disclosure of the escape mark, which is used to refine the escape mark 'and refers to the A4 specification (210X297 public director) (please first (Read the notes on the back and fill out this tile) I ABCDI ABCD 蛵濟部智慧財產局員、工消費合作社印製 245221 ^、申請專利範圍 附隨部分的轉譯動作需依據延伸轉譯常規 (conventions);以及 一解碼邏輯,耦接至該逸出標記偵測邏輯,用以依據該 既有‘令集之常規,執行指令的轉譯動作,並依據該 延伸轉譯常規執行該對應指令之轉譯,以依據所指定 之記憶體特性,致能該記憶體存取之執行。 3〇· —種擴充一既有指令集架構的方法,以提供指令層級之選 擇性記憶體屬性控制,該方法包含·· a 提供一延伸指令,該延伸指令包含一延伸標記及一延伸 前置碼,其中該延伸標記係該既有指令集架構其中一 第一運算碼項目; 透過該延伸前置碼指定要應用於一對應記憶體存取之一 記憶體屬性,其中該記憶體存取係由該延伸指令之其 餘部分所指定;以及 應用該記憶體屬性以執行該記憶體存取,其中該應用動 作取代了該記憶體存取之一預設記憶體屬性。 31·如申請專利範圍第30項所述之方法,其中該指定所要應 用之記憶體屬性的動作包含: 首先於該延伸指令之其餘部分内指定該記憶體存取,其 中該首先指定之動作包含使用該既有指令集架構中 一第二運算碼項目。 32·如申請專利範圍第30項所述之方法,其中該提供延伸指 令之動作包含使用一8位元大小之項目,以對該延伸前置 碼進行組態。 本紙張尺i適用^^?^準(CNS )八4胁(210X^97公董) " " (請先閱讀背面之注意事項再填寫本頁)A member of the Intellectual Property Bureau of the Ministry of Economic Affairs, printed by 245221 ^, the translation of the accompanying part of the patent application scope shall be based on extended translation conventions; and a decoding logic, coupled to the escape mark detection logic, uses According to the convention of the existing 'order set, the translation action of the instruction is executed, and the translation of the corresponding instruction is executed according to the extended translation convention, so as to enable the execution of the memory access according to the specified memory characteristics. 3〇 · —A method for expanding an existing instruction set architecture to provide instruction-level selective memory attribute control. The method includes ... providing an extension instruction, which includes an extension mark and an extension preamble. Code, where the extension tag is one of the first opcode items of the existing instruction set architecture; the extension prefix is used to specify a memory attribute to be applied to a corresponding memory access, where the memory access system Specified by the rest of the extended instruction; and applying the memory attribute to perform the memory access, wherein the application action replaces a preset memory attribute of the memory access. 31. The method according to item 30 of the scope of patent application, wherein the action of specifying the memory attribute to be applied includes: first specifying the memory access in the rest of the extended instruction, wherein the first specified action includes Use a second opcode item in the existing instruction set architecture. 32. The method as described in item 30 of the scope of patent application, wherein the action of providing an extended instruction includes using an 8-bit size item to configure the extended preamble. This paper rule i is applicable to ^^? ^ 准 (CNS) 八 4 胁 (210X ^ 97 公 董) " " (Please read the precautions on the back before filling this page) A8 B8 C8 D8 I24522lA8 B8 C8 D8 I24522l 24008號專利案之說明書修正) 、申請專利範圍 33·如申請專利範圍第3〇項所述之方法,其中該提供延伸匕 令之動作包含從x86微處理器指令集架構選取該 礼 算碼項目。 w 一運 請 先 閲 讀 背 面 之 注 意 事 項 再 寫 本 頁 •如申明專利範圍第30項所述之方法,其中該提供延伸指 令之動作包含選取x86 ICE BKPT運算碼(即運算蝎n j 作為該延伸標記。 35·如申請專利範圍第3〇項所述之方法,更包含·· 將該延伸指令轉譯成一微指令序列,該微指令序列係指 示一延伸執行邏輯依據該記憶體屬性執行該記憶體 存取。 36·如申請專利範圍第35項所述之方法,其中該轉譯延伸指 令的動作包含: 於一轉譯邏輯内,偵測該延伸標記;以及 依照延伸轉譯規則解碼該延伸前置碼與該延伸指令之其 餘部分,以產生該微指令序列。 37·如申清專利範圍第3〇項所述之方法,其中該指定所要應 用之記憶體屬性的動作包含: 經濟部智慧財產局員工消費合作社印製 指定下列記憶體特性其中之-,以作為取代該預設記憶 體屬性之該記憶體屬性··不可快取、複合寫入、寫透、 回寫以及寫入保護。 本紙張尺度適财S^^準(CNS ) Α4規格(公6Amendment to Specification No. 24008), Patent Application Range 33. The method described in Item 30 of the Patent Application Range, wherein the action of providing an extension of the dagger includes selecting the gift code item from the x86 microprocessor instruction set architecture . w Please read the precautions on the back before you write this page. • As described in Item 30 of the patent scope, the action of providing extended instructions includes selecting the x86 ICE BKPT operation code (that is, the operation of the scorpion nj as the extension mark). 35. The method described in item 30 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 execute the memory storage based on the memory attributes. 36. The method according to item 35 of the scope of patent application, wherein the action of the translation extension instruction includes: detecting the extension mark in a translation logic; and decoding the extension preamble and the extension according to the extension translation rule. Extend the rest of the instruction to generate the micro-instruction sequence. 37. The method described in claim 30 of the patent scope, wherein the action of specifying the memory attributes to be applied includes: the Consumer Cooperative of the Intellectual Property Bureau of the Ministry of Economic Affairs Prints out-of the following memory characteristics as the memory property that replaces the default memory attribute · Can not be cached, composite write, write-through, write-back and write-protected. This paper suitable scale quasi-fiscal S ^^ (CNS) Α4 Specification (male 6
TW091124008A 2002-08-22 2002-10-18 Apparatus and method for selective memory attribute control TWI245221B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/227,572 US7315921B2 (en) 2002-02-19 2002-08-22 Apparatus and method for selective memory attribute control

Publications (1)

Publication Number Publication Date
TWI245221B true TWI245221B (en) 2005-12-11

Family

ID=22853619

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091124008A TWI245221B (en) 2002-08-22 2002-10-18 Apparatus and method for selective memory attribute control

Country Status (2)

Country Link
CN (1) CN1237441C (en)
TW (1) TWI245221B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI471724B (en) * 2006-08-18 2015-02-01 Advanced Risc Mach Ltd Resident technology for designing memory devices

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710275B2 (en) * 2012-11-05 2017-07-18 Nvidia Corporation System and method for allocating memory of differing properties to shared data objects
US9396056B2 (en) * 2014-03-15 2016-07-19 Intel Corporation Conditional memory fault assist suppression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI471724B (en) * 2006-08-18 2015-02-01 Advanced Risc Mach Ltd Resident technology for designing memory devices

Also Published As

Publication number Publication date
CN1237441C (en) 2006-01-18
CN1431587A (en) 2003-07-23

Similar Documents

Publication Publication Date Title
TW591527B (en) Apparatus and method for extending a microprocessor instruction set
TWI474191B (en) Control register mapping in heterogeneous instruction set architecture processor
CN102792265B (en) Instruction cracking based on machine state
KR101826770B1 (en) Fusible instructions and logic to provide or-test and and-test functionality using multiple test sources
CN104714778B (en) Method of Operating a Microprocessor
TWI450196B (en) Conditional store instructions in an out-of-order execution microprocessor
US5630083A (en) Decoder for decoding multiple instructions in parallel
US7529912B2 (en) Apparatus and method for instruction-level specification of floating point format
US5822555A (en) Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer
US7395412B2 (en) Apparatus and method for extending data modes in a microprocessor
CN109508206B (en) Processor, method and system for mode dependent partial width loading of wider registers
TWI509406B (en) Apparatus and method for vectorization with speculation support
TWI569205B (en) A microprocessor and an operating method thereof
JP2018500657A (en) Instructions and logic to perform a fused single cycle increment-compare-jump
GB2529777A (en) Processor with granular add immediates capability and methods
EP1336918B1 (en) Apparatus and method for selective memory attribute control
EP1336919B1 (en) Instruction set extension for software initiated prefetch
TWI245221B (en) Apparatus and method for selective memory attribute control
TWI220042B (en) Non-temporal memory reference control mechanism
TWI230356B (en) Apparatus and method for extending address modes in a microprocessor
TW569140B (en) A method and system for selecting and using source operands in computer system instructions
TW561406B (en) Apparatus and method for selective control of results write back
TW569136B (en) Apparatus and method for conditional instruction execution
TWI222015B (en) Mechanism for extending the number of registers in a microprocessor
TWI478065B (en) Emulation of execution mode banked registers

Legal Events

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