[go: up one dir, main page]

TW526416B - Controlling access to multiple isolated memories in an isolated execution environment - Google Patents

Controlling access to multiple isolated memories in an isolated execution environment Download PDF

Info

Publication number
TW526416B
TW526416B TW090117576A TW90117576A TW526416B TW 526416 B TW526416 B TW 526416B TW 090117576 A TW090117576 A TW 090117576A TW 90117576 A TW90117576 A TW 90117576A TW 526416 B TW526416 B TW 526416B
Authority
TW
Taiwan
Prior art keywords
access
isolated
page
memory
processor
Prior art date
Application number
TW090117576A
Other languages
Chinese (zh)
Inventor
Carl M Ellison
Roger A Golliver
Howard C Herbert
Derrick C Lin
Francis X Mckeen
Original Assignee
Intel Corp
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 US09/618,738 external-priority patent/US6678825B1/en
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW526416B publication Critical patent/TW526416B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The present invention provides a method, apparatus, and system for controlling memory accesses to multiple isolated memory areas in an isolated execution environment. A page manager is used to distribute a plurality of pages to a plurality of different areas of a memory, respectively. The memory is divided into non-isolated areas and isolated areas. The page manager is located in an isolated area of memory. Further, a memory ownership page table describes each page of memory and is also located in an isolated area of memory. The page manager assigns an isolated attribute to a page if the page is distributed to an isolated area of memory. On the other hand, the page manager assigns a non-isolated attribute to a page if the page is distributed to a non-isolated area of memory. The memory ownership page table records the attribute for each page. In one embodiment, a processor having a normal execution mode and an isolated execution mode generates an access transaction. The access transaction is configured using a configuration storage that contains configuration settings related to a page and access information. An access checking circuit coupled to the configuration storage checks the access transaction using at least one of the configuration settings and the access information and generates an access grant signal if the access transaction is valid.

Description

526416 A7 --—------ B7 五、發明説明(彳)526416 A7 --------- B7 V. Description of invention (彳)

1 ·相關申諸奢 本申請案主張於2000年3月 請編號60Π98,226之優先權。 31曰所提案之美國臨時專利申 本發明係關於微處理器 理器安全。 3.楚屋差皇直明 更特定而言,本發明係關於處 :微處理器及通訊技術上的演進,已創造很多機會來超 #統的商業万式 < 應用。電子商務及企業 止業(B2B)父易現在成爲普遍,並透過共同市場而持續 加速地發展。不幸地是,當現今的微處理器系統提供了使 用者商業經營,通訊及交易的方便及有效率之方法時,其 也曰又到不擇手段的攻擊。這些攻擊的例子包含病毒,侵 入,安全缺口,及擅改等等。因此電腦安全性成爲更加地 重要,以保護電腦系統的整合性,並增加使用者的信任。 由不擇手段的攻擊所造成的威脅可有許多形式。一種由 駭客所^起的侵入式遠端發起攻擊可擾亂連接到數千或甚 至數百萬使用者的系統之正常運作。一病毒程式可破壞單 使用者平台的程式碼及/或資料。 =有的對於駭客之防護技術具有一些缺點。防毒程式僅 可掃描及偵測已知的病毒。使用加密或其它安全技術的安 全共同處理器或智慧卡,在速率效能,記憶體容量及彈性 上有許多限制。再者,重新設計作業系統產生軟體的相容 ___— -4 _ 本紙張尺度適用中國國家標準(CNS) A4規格(21〇X 297公爱)1 · Relevant application claims This application claims priority of March 2000 with the number 60Π98,226. The U.S. provisional patent application proposed on 31st is about microprocessor processor security. 3. Chu Wu Poor Emperor Zhiming More specifically, the present invention is related to the evolution of microprocessors and communication technologies, which has created many opportunities for superb commercial applications. E-commerce and business-to-business (B2B) e-commerce have now become commonplace and continue to accelerate through the common market. Unfortunately, when today's microprocessor systems provide a convenient and efficient way for users to conduct business, communications and transactions, they have also resorted to unscrupulous attacks. Examples of these attacks include viruses, intrusions, security breaches, and tampering. Therefore, computer security becomes more important to protect the integrity of the computer system and increase user trust. The threat posed by unscrupulous attacks can take many forms. An intrusive remotely launched attack by a hacker can disrupt the normal operation of a system connected to thousands or even millions of users. A virus program can destroy code and / or data on a single user platform. = Some have some disadvantages to hacking protection technology. Antivirus programs can only scan and detect known viruses. Security co-processors or smart cards using encryption or other security technologies have many limitations on rate performance, memory capacity, and flexibility. In addition, the redesigned operating system generates software compatibility ___— -4 _ This paper size applies the Chinese National Standard (CNS) A4 specification (21〇X 297 public love)

裝 訂 # 526416 A7 B7 五、發明説明(2 ) 性問題,並需要研發上的大量投資。 圖式簡單説明 本發明的特徵及好處,皆可藉由下述的本發明詳細説明 而更加地瞭解,其中: 圖1A所示爲根據本發明一具體實施例之作業系統。 圖1B所示爲根據本發明一具體實施例之作業系統及該處 理器中不同元件的存取性,及一單一連續性隔離記憶體區 域。 圖1C所7F類似於圖1B,其爲根據本發明一具體實施例之 作業系統及該處理器中不同元件的存取性,特別是多重隔 離記憶體區域及多重非隔離記憶體區域。 ㈣所示爲根據本發明的一具體實施例中,—分配隔離 執仃的圮憶體頁面之處理的流程圖。 :百E!斤:爲根據本發明的一具體實施例中,-記憶體擁 圖1F :=及轉換一虛擬位址到-實體位址之處理。 施:。…-電腦系統’其中可實施本發明的一具體實 執Γ電爲根據本發明-具體實袍例而示於圖1F之隔離 圖2B所示爲根據本發明 取管理者。 、他·貫她例而不於圖2A之存 圖3A所示爲根據本發明一 ㈣所示爲根據本發明的另^把例(存取檢查電路。 電路來管理邏輯處理器之二—具體實施例中該存取檢查 3 五、發明説明( 圖4所示爲根擔士 一存取同意信之/明—具體實施例來產生隔離執行的 、一 〈處理之流程圖。 之處理斤的::圖據本發明-具體實施例來管理處理绪運作 :二「器爲二本發明的一具體實施例而示於圖1 F之記 • 、— 泉态(MCH)中該隔離區域存取控制。Binding # 526416 A7 B7 5. Description of the invention (2) Sexual problems and require a large investment in research and development. BRIEF DESCRIPTION OF THE DRAWINGS The features and benefits of the present invention can be better understood through the following detailed description of the present invention, wherein: FIG. 1A shows an operating system according to a specific embodiment of the present invention. Figure 1B shows an operating system and accessibility of different components in the processor, and a single contiguous isolated memory area according to an embodiment of the present invention. 7F shown in FIG. 1C is similar to FIG. 1B, which shows the accessibility of different components in the operating system and the processor according to a specific embodiment of the present invention, especially multiple isolated memory regions and multiple non-isolated memory regions. ㈣ shows a flowchart of the process of-allocating a memory page of a quarantine execution in a specific embodiment according to the present invention. Hundred E! Jin: For a specific embodiment according to the present invention, -memory holding Figure 1F: = and processing of converting a virtual address to-physical address. Shi :. ...- Computer system 'A specific implementation in which the present invention can be implemented is shown in Figure 1F for isolation according to the present invention-specific example. Figure 2B shows a manager according to the present invention. Figure 2A shows an example according to the present invention (an access check circuit. A circuit to manage a logical processor second-specifically In the embodiment, the access check 3 V. Description of the invention (Figure 4 shows a detailed explanation of the access permission letter / explanation of a specific embodiment to generate a separate execution flow chart. The processing process is as follows: : Figure manages the operation of the thread according to the present invention-specific embodiment: "The device is a specific embodiment of the present invention and is shown in Fig. 1 F. •,-Access control of the isolated area in the spring state (MCH) .

存取檢查電=據本發明的—具**實施例而示於國6之MCH 立圈執:二二爲存根取據二,rr體實施例中產生—_獨 同思k唬之處理的流程圖0 發明説明 本發明爲隔離執行環境中控制至 體存取的方法,裝置及系統。一頁面管理者 數個:面分別到-記憶體的複數個不同的區域。該記憶‘ 係區分成非隔離區域與隔離區域。該頁面管理者係二上二 憶體的隔離區域。再者’-記憶體擁有權頁面表描:了每 個記憶體頁面’其也位在記憶體的-隔離區域中。,頁J 官理者指定一隔離的屬性到一 λ ' 記憶體的-隔離區域。另一方面,該; 隔離屬性到-頁面,如果該頁面係分配到記憶體二非隔 離區^。該記憶體擁有權頁面表記錄了每個頁面的屬性。 行一具有—正常執行模式及-隔離執 使用包含關於-頁面及存取資訊的架構設定之架 -6- 本紙银尺度適用中國@家標準(CNS) M規格(21G χ 297公|] 526416 A7 B7 五、發明説明(4 ) 該存取交易包含存取資訊,例如要存取的該記憶體之實體 位址。該架構設定提供了關於牵涉到該存取交易之記憶體 頁面的資訊。該架構設定包含該頁面的屬性,其定義該頁 面爲隔離或非隔離,且當該處理器被設定在一隔離執行模 式時,確立一執行模式字元。在一具體實施例中,該執行 模式字元爲一單一位元,代表如果該處理器爲該隔離執行 模式中。一耦合於該架構儲存的存取檢查電路使用至少一 個該架構設定及該存取資訊來檢查該存取交易。 在一具體實施例中,該存取檢查電路包含一 TLB存取檢 查電路。該TLB存取檢查電路在該存取交易爲有效時會產 生一存取同意信號。特別是,如果該頁面的屬性被設定爲 隔離,且該執行模式字元信號被確立時,該TLB存取檢查 電路產生一存取同意信號到該記憶體的隔離區域。因此, 當一處理器請求記憶體一隔離區域的實體位址時,僅有當 該處理器運作於該隔離的執行模式,且關於該實體位址的 該頁面之屬性被設定爲隔離時,該存取交易可被同意。 在接下來的説明中,爲了解釋的目的所提出的許多細節 係要提供本發明的完整瞭解。但是,對於本發明的專業人 士將可瞭解,’這些特定細節並非實施本發明所必須。在其 它情況下,熟知的電子結構及電路即示於方塊圖形式中, 藉以不混淆本發明。 架構综覽 提供電腦系統或平台的安全性之原理爲隔離執行結構的 觀念。該隔離執行結構包含硬體及軟體元件的邏輯及實體 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)Access check electricity = According to the present invention-the MCH legislative circle shown in country 6 with the ** embodiment: the second and second are stubs and the second is generated in the rr body embodiment- Flowchart 0 Description of the Invention The present invention is a method, device and system for controlling physical access in an isolated execution environment. A page manager number: faces to-a plurality of different areas of memory. The memory ′ is divided into a non-isolated area and an isolated area. The page manager is the isolated area of the second upper memory. Furthermore, '-memory ownership page description: each memory page' is also located in the -isolated area of the memory. The page J official assigns an isolated attribute to a-isolated region of λ 'memory. On the other hand, the; Isolate attribute to -page if the page is allocated to memory two non-isolated area ^. The memory ownership page table records the attributes of each page. Line 1 has-normal execution mode and-segregation framework using about-page and access information framework settings-6-This paper silver scale is applicable to China @ 家 标准 (CNS) M specification (21G χ 297 公 |] 526416 A7 B7 V. Description of the invention (4) The access transaction contains access information, such as the physical address of the memory to be accessed. The framework setting provides information about the memory page involved in the access transaction. The The architecture setting includes the attributes of the page, which defines the page as isolated or non-isolated, and establishes an execution mode character when the processor is set in an isolated execution mode. In a specific embodiment, the execution mode word The element is a single bit, which means that if the processor is in the isolated execution mode. An access check circuit coupled to the architecture storage uses at least one of the architecture settings and the access information to check the access transaction. In a specific embodiment, the access check circuit includes a TLB access check circuit. The TLB access check circuit generates an access consent signal when the access transaction is valid. In particular, such as If the attribute of the page is set to be isolated and the execution mode character signal is established, the TLB access check circuit generates an access consent signal to the isolated area of the memory. Therefore, when a processor requests the memory In the case of a physical address in an isolated area, the access transaction can be approved only when the processor operates in the isolated execution mode and the attribute of the page regarding the physical address is set to isolated. In the following description, many details are provided for the purpose of explanation to provide a complete understanding of the present invention. However, those skilled in the art will appreciate that 'these specific details are not necessary to implement the present invention. In other cases The well-known electronic structure and circuit are shown in the form of block diagrams so as not to confuse the present invention. The architecture overview provides the principle of the security of computer systems or platforms as the concept of an isolated execution structure. The isolated execution structure includes hardware and software Logic and entity of the components The paper size applies to China National Standard (CNS) A4 (210 X 297 mm)

裝 五、發明説明( 5 A7 B7 疋我’其可直接或間接地與電腦系統或平台的作業系統互 =。一作業系、统及處ί里器可具有數個階層的架構,稱之爲 環’其對應於不同的運作模式。環爲硬體或軟體元件的邏 輯區分’其設計來執行作業系統内專屬的工作。該區分基 本上是根據特權等級或階層,也就是構成平台改變的能 力。舉例而言,環-〇爲最内部的環,其爲該架構的最高階 層。¥ - 0包含最關鍵及特權性的元件。此外,在環_ 〇中的 模組也可存取較少特權的資料,但反之則不行。環_3爲最 外5哀,其爲該架構的最低階層。環_ 3基本上包含使用者或 應用階層,並具有最少的特權。環U及環_ 2代表中間的 環’其安全性及/或防護性漸減。 圖1Α所示爲根據本發明的一具體實施例之邏輯運作結構 50。該邏輯運作結構50爲一作業系統及該處理器元件的精 髓。該邏輯運作結構50包含環1〇,環·丨2〇,環-2 3〇, 環-3 40,及一處理器核心載入器52。該處理器核心載入器 52爲一處理器執行(PE)管理者的實例。該pE管理者用來管 理一處理器執行(PE),其將在稍後討論。該邏輯運作結構 50具有兩種運作模式:正常執行模式及隔離執行模式。每 個在邏輯運作結構50中的環皆運作在兩種模式中。該處理 器核心載入器52僅運作在隔離執行模式。 環-0 10包含兩個部份:一正常執行環-〇丨丨及隔離執行環 -0 15。該正常執行環-〇 11包含軟體模組,其爲該作業系 統的關鍵,通常稱之爲核心(kernel)。這些軟體模組包含 主要作業系統(如核心)12,軟體驅動器13,及硬體驅動器 -8- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 5264165. Description of the invention (5 A7 B7 疋 我 'It can directly or indirectly interact with the operating system of the computer system or platform =. An operating system, system and processor can have several levels of architecture, called Rings 'correspond to different modes of operation. Rings are logical divisions of hardware or software components' and are designed to perform tasks unique to the operating system. The divisions are basically based on privilege levels or hierarchies, that is, the ability to change platforms For example, ring -0 is the innermost ring, which is the highest level of the architecture. ¥-0 contains the most critical and privileged components. In addition, the modules in ring_〇 also have less access. Privileged data, but not the other way around. Ring_3 is the outermost 5th, which is the lowest level of the architecture. Ring_3 basically contains the user or application level, and has the least privilege. Ring U and ring_ 2 Representing the middle ring, its security and / or protection gradually decreases. Figure 1A shows a logical operating structure 50 according to a specific embodiment of the present invention. The logical operating structure 50 is the essence of an operating system and the processor element. The logic The operation structure 50 includes a ring 10, a ring 20, a ring 2 30, a ring 3 40, and a processor core loader 52. The processor core loader 52 is executed by a processor (PE ) Manager instance. The pE manager is used to manage a processor execution (PE), which will be discussed later. The logical operation structure 50 has two modes of operation: normal execution mode and isolated execution mode. Each in The rings in the logical operation structure 50 operate in two modes. The processor core loader 52 only operates in the isolated execution mode. The ring-0 10 contains two parts: a normal execution ring-〇 丨 丨 and isolation Execution ring-0 15. The normal execution ring-〇11 contains software modules, which are the key to the operating system, and are often called kernels. These software modules include the main operating system (such as the kernel) 12, software Driver 13, and hardware driver-8- This paper size applies to China National Standard (CNS) A4 (210X 297mm) 526416

14。該隔離執行環-〇 15包含一作業系統(OS)核心16及一處 理斋核心18。該〇S核心16及該處理器核心18分別爲一 〇3執 行(OSE)及處理器執行(pE)的實例。該。此及⑽爲運作在 關於一隔離區域與該隔離執行模式的保護環境中的執行實 體的一部份。該處理器核心載入器52爲包含在該系統晶片 、’且中的1保遵的開機載入器程式碼,其負貴由該處理器或 晶片組載入該處理器核心18到一隔離區域,其將在稍後解 釋。 類似地,環-1 20,環-2 30,環-3 40分別包含正常執行 5哀-1 21 ’環-2 31,環-3 41,及隔離執行環―丨25,環 35,壤-3 45。特別是,正常執行環_3包含1^個應用A'到 42N’而隔離執行環3包含κ個小程式461到4心。 隔離執行結構的觀念是在系統記憶體中產生一隔離區 域,稱之爲一隔離區域,其同時受到電腦系統中的處理器 及晶片組的保護。該隔離區域也可位在快取記憶體,其受 到轉譯旁視緩衝器(TLB)存取檢查的保護。而且,該隔離 區域可再區分爲多重隔離記憶體區域,如下述。要存取此 隔離區域僅允許由該處理器的前側匯流排(FSB)進行,其 使用特殊的匯流排(如記憶體讀取及寫入)循環,稱之爲隔 離的讀取及寫入循環。該特殊的匯流排循環也可用於刺 探。茲隔離的讀取及寫入循環係由在一隔離執行模式中執 伃的處理器來進行。該隔離執行模式使用處理器中一特權 的心令來初始化’其結合於該處理器核心載入器52。該處 理器核心載入器52驗證並載入一環_ 〇核心軟體模組(如處 L_____ - 9 _ ϋ張尺度適用中國國家標準(CNS) 見格(21〇x297公爱)---- 526416 A7 _____ B7 五、發明説明(7 ) 理器核心18)到該隔離區域。該處理器核心18提供了隔離 的執行之硬體相關的服務。 該處理器核心18的一項工作是驗證並載入該環_ 〇 〇3核心 16到該隔離的區域,並產生對於該平台,處理器核心丨8及 作業系統核心16之組合爲唯一的關鍵架構的根。該處理器 核心18提供該隔離區域的初始設定及低階的管理,其包含 该作業系統核心16的驗證,載入,及登入,以及用來保護 ^亥作業系統核心的機教之對稱鍵値之管理。該處理器核心 18也可提供應用程式介面(API)精髓給其它硬體所提供的 低階安全性服務。 該作業系統核心16提供鏈·結到主要〇 s 12中的服務(如該 作業系統的未保護區段),提供該隔離區域内的頁面管 理,並負責載入環-3應用模組45,包含小程式46 ,到46κ, 到配置在該隔離區域中的受保護頁面。該作業系統核心16 也可載入環-0支援模組。如下述,該主要〇S 12管理位在 該隔離區域之外的頁面。 该作業系統核心16可選擇來支援該隔離區域與一般(如非 隔離)記憶體之間的資料頁作業。如果是這樣的話,該作 業系統核心16也負責在收回該頁面到一般記憶體之前來加 密及雜混該隔離區域的頁面,並在存回該頁面時檢杏該頁 面的内容。該隔離模式小程式46!到46κ及其資料爲防止來 自其它小程式,以及來自非隔離空間應用(如42^»] 42Ν), 動態鏈結程式庫(DLLs),驅動程式,及甚至是主要作業系 統12之所有軟體攻擊之侵入及監視。僅有該處理器核心j 8 -10 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 52641614. The isolated execution loop- 15 includes an operating system (OS) core 16 and a processing core 18. The OS core 16 and the processor core 18 are instances of a 103 execution (OSE) and a processor execution (pE), respectively. That. This is part of an implementation entity operating in a protected environment with respect to an isolated area and the isolated execution mode. The processor core loader 52 is a 1-compliant boot loader code included in the system chip, and is loaded by the processor or chipset into the processor core 18 to an isolated area. , Which will be explained later. Similarly, ring-1 20, ring-2 30, and ring-3 40 respectively include the normal execution 5a-1 21 'ring-2 31, ring-3 41, and the isolated execution ring ― 丨 25, ring 35, and soil- 3 45. In particular, the normal execution loop_3 contains 1 ^ applications A 'to 42N' and the isolated execution loop 3 contains κ applets 461 to 4 cores. The concept of an isolated execution structure is to create an isolated area in the system memory, called an isolated area, which is simultaneously protected by the processor and chipset in the computer system. This isolated area can also be located in cache memory, which is protected by a translation look-aside buffer (TLB) access check. Moreover, the isolated area can be further divided into multiple isolated memory areas, as described below. Access to this isolated area is allowed only by the processor's front side bus (FSB), which uses a special bus (such as memory read and write) cycle, which is called an isolated read and write cycle . This special bus cycle can also be used for probing. The isolated read and write cycles are performed by a processor executing in an isolated execution mode. The isolated execution mode uses a privileged command in the processor to initialize ' which is incorporated into the processor core loader 52. The processor core loader 52 verifies and loads a ring of _ core software modules (such as L_____-9 _ ϋ Zhang scales are applicable to China National Standards (CNS) see grid (21〇297297) ---- 526416 A7 _____ B7 V. Description of the invention (7) The processor core 18) to the isolation area. The processor core 18 provides hardware related services for isolated execution. One of the tasks of the processor core 18 is to verify and load the ring_003 core 16 into the isolated area, and generate the combination of the processor core 8 and the operating system core 16 as the only key The root of the architecture. The processor core 18 provides the initial setting and low-level management of the isolated area, which includes the authentication, loading, and login of the operating system core 16 and the symmetric keys of the machine education used to protect the operating system core. management. The processor core 18 can also provide the low-level security services provided by the essence of the application programming interface (API) to other hardware. The operating system core 16 provides services linked to the main OS 12 (such as the unprotected section of the operating system), provides page management in the isolated area, and is responsible for loading the ring-3 application module 45 Contains applets 46 to 46κ, to protected pages configured in this quarantine area. The operating system core 16 can also be loaded with ring-0 support modules. As described below, the main OS 12 management page is located outside the quarantine area. The operating system core 16 can be selected to support data page operations between the quarantine area and general (such as non-quarantine) memory. If so, the operating system core 16 is also responsible for encrypting and mixing the pages of the isolated area before retrieving the pages to general memory, and checking the contents of the page when returning the page. The isolation mode applets 46! To 46κ and their data are to prevent from other applets, and from non-isolated space applications (such as 42 ^ »] 42N), dynamic link libraries (DLLs), drivers, and even the main Intrusion and monitoring of all software attacks on operating system 12. Only this processor core j 8 -10-This paper size applies to China National Standard (CNS) A4 (210 X 297 mm) 526416

或孩作業系統核心、16可干涉或監視該小程式的執行。 圖1B所不為根據本發明一具體實施例之作業系統及該 處理,中不同元件的存取性。爲達説明目的,僅顯示環·〇 10及5衣-3 40的元件。在該邏輯運作結構5〇中的不同元件係 根據其ϊ衣架構及執行模式來存取一可存取的實體記憶體 4可存取的實體記憶體6〇包含一隔離區域7〇及一非隔離 區域80。孩隔離區域70包含小程式頁面72及核心頁面74。 該非隔離區域80包含應用頁面82及作業系統頁面料。該隔 離區域70僅能存取到運作在隔離執行模式中的該作業系統 及處理器的元件。該非隔離區域8〇可存取到該環_ 〇作業系 統及處理器的所有元件。 該正常執行環η包含主要〇s 12,該軟體驅動程式13 及硬體驅動程式14,其可存取該〇s頁面84及應用頁面82。 該正常執行環-3,其包含應用421到4%,僅可存取到該應 用頁面82。但是該正常執行環u及環41不能存取到 該隔離區域70。 該隔離執行環-〇 15,包含該〇s核心16及該處理器核心 18 ’其可存取包含該小程式頁面72及該核心頁面74的隔離 區域70,及包含該應用頁面82及〇s頁面84的非隔離區域 80。該隔離執行環_3 45,其包含小程式461到4心,僅可存 取到應用頁面82及小程式頁面72。該小程式46^·] 46κ位於 該隔離區域7 0。 圖1C所示爲類似於圖1B,其爲根據本發明的一具體實施 : __ - 11 - 本紙張尺度適用中國國家標準(CNS) A4规格(210 X 297公釐)Or the operating system core 16 can interfere with or monitor the execution of the applet. Fig. 1B is not the accessibility of different components in the operating system and the process according to a specific embodiment of the present invention. For illustrative purposes, only the elements of Ring · 10 and 5-3-40 are shown. Different elements in the logical operation structure 50 access an accessible physical memory 4 according to its architecture and execution mode. The accessible physical memory 60 includes an isolated area 70 and a non- Isolation area 80. The child isolation area 70 includes an applet page 72 and a core page 74. The non-isolated area 80 includes an application page 82 and an operating system page material. The isolated area 70 can only access components of the operating system and the processor operating in the isolated execution mode. The non-isolated area 80 has access to all components of the ring operating system and processor. The normal execution loop n includes a main OSS 12, a software driver 13 and a hardware driver 14, which can access the OSS page 84 and the application page 82. The normal execution loop-3, which contains applications 421 to 4%, can only access the application page 82. However, the normal execution ring u and ring 41 cannot access the isolation region 70. The isolated execution ring-〇15 includes the OSS core 16 and the processor core 18 ′, which can access the isolated area 70 containing the applet page 72 and the core page 74, and contains the application page 82 and 〇s. Non-isolated area 80 of page 84. The isolated execution ring _3 45, which contains applets 461 to 4 hearts, can only be accessed to the application page 82 and applet page 72. The applet 46 ^ ·] 46κ is located in the isolated area 70. FIG. 1C is similar to FIG. 1B, which is a specific implementation according to the present invention: __-11-This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm)

裝 訂 馨 526416 五、發明説明( =1泛作業系統及該處理器中不同元件的存取性,其中該 ^離1己憶體區域7〇诘F八盏 ' 兮非η 被刀多重隔離的記憶體區域71,而 己憶體區域80則區分爲多重非隔離記憶體區域 二ί說明目的,僅顯示環-〇 10及環-3 40的元件。在 作結構50中的不同元件係根據其環架構及該執行模 =! 一可存取的實體記憶體60。該可存取的實體記憶 也多重隔離的區域71及多重非隔離區域Μ。 /多重隔離區域71包含小程式頁面72及作業系統(〇s)核 頁面4該夕重隔離區域71之一也包含該處理器核心18 (及該處理器執行(PE)),其包含在處理器核心頁面73中。 孩多重非隔離區域83包含應·用頁面82及作業系統(〇s)頁面 料。眾多重隔離區域71僅能夠存取到運作在隔離執行模式 中㈣作業,手'統與處理器之元件。該非隔離區域83可存取 到環-0作業系統及處理器的所有元件。 在圖1C所示的具體實施例中,該隔離記憶體區域7〇被區 分成複數個多重隔離記憶體區域71,其允許在使用隔離記 憶體時增加平台的功能,其相對於圖1B所示的隔離記憶體 區域70之單一區塊。爲了支援多重隔離記憶體區域71,該 OS核心16 (即該0S執行(0SE))包含在⑽核心頁面74中, 其包含一頁面管理者75及一記憶體擁有權頁面表77。該〇s 核心控制該頁面管理者75。該頁面管理者75負責分配頁面 到多重隔離記憶體區域71,例如0S核心頁面74及小程式頁 面72,以及分配到該非隔離記憶體區域83,例如〇s頁面84 及應用頁面82。該頁面管理者75也管理及維護該記憶體擁 -12 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公藿) 裝 訂 526416 A7 一 —_ B7 五、發明説明(10 ) 有權頁面表77。如下所述,該記憶體擁有權頁面表77描述 每個頁面,並用來協助由一處理器設定存取交易,並進一 步驗證該存取交易爲有效。藉由允許該頁面管理者75來產 生多重隔離記憶體區域71及多重非隔離記憶體區域83,該 可存取實體記憶體60可更爲容易地容納系統記憶體需求中 的改變。 該正常執行環-〇 11包含主要〇S 12,款體驅動程式13及 硬體驅動程式14,其可同時存取〇S頁面84及應用頁面82。 該正常執行環-3,其包含應用42〗到42N,其僅可存取該應 用頁面82。但是,該正常執行環_ 〇丨丨及環_ 3 41不能夠存 取該多重隔離記憶體區域71。 该隔離執行環-〇 15,其包含〇S核心16及處理器核心1 8, 可同時存取包含該小程式頁面72及該〇S核心頁面74的該多 重隔離記憶體區域71,以及包含該應用頁面82及該〇s頁面 84的該多重非隔離記憶體區域83。該隔離執行環_ 3 45包含 小紅式46!到46κ ’僅可存取到應用頁面82及小程式頁面 72。孩小程式46!到46&位在該多重隔離記憶體區域71中。 圖1D所示爲根據本發明一具體實施例中,分配記憶體頁 面來隔離執行之處理86的流程圖。 在開始時,該處理86分別分配記憶體頁面到可存取實體 記憶體60的不同區域(方塊87)。該頁面被同時分配到隔離 區域71及非隔離區域83。在一較佳具體實施例中,該頁面 的士寸是固定的。舉例而言,每個頁面可爲4μβ*4κβ。 接者,孩處理86指定一屬性到每個頁面(方塊88)。該處理Binding Xin 526416 V. Description of the invention (= 1 accessibility of different components in the pan operating system and the processor, in which the ^ away from the memory area of the body 70 〇F eight '非 non-η multi-isolated memory by the knife The body region 71 and the memory region 80 are divided into multiple non-isolated memory regions. For illustrative purposes, only the elements of ring-010 and ring-340 are shown. Different elements in the construction 50 are based on their rings. Architecture and the execution mode =! An accessible physical memory 60. The accessible physical memory also has multiple isolated areas 71 and multiple non-isolated areas M. / Multiple isolated areas 71 include a small program page 72 and an operating system (〇s) Core page 4 One of the isolated areas 71 also contains the processor core 18 (and the processor execution (PE)), which is contained in the processor core page 73. The multiple non-isolated area 83 contains Application page 82 and operating system (0s) page material. Many heavily-isolated areas 71 can only access the components that operate in the isolated execution mode, hands, and processors. The non-isolated area 83 is accessible All elements to the ring-0 operating system and processor In the specific embodiment shown in FIG. 1C, the isolated memory region 70 is divided into a plurality of multiple isolated memory regions 71, which allows the function of the platform to be increased when the isolated memory is used. A single block of the isolated memory region 70 shown. To support multiple isolated memory regions 71, the OS core 16 (ie, the OS execution (0SE)) is included in the core page 74, which contains a page manager 75 And a memory ownership page table 77. The 0s core controls the page manager 75. The page manager 75 is responsible for allocating pages to multiple isolated memory areas 71, such as OS core page 74 and applet page 72, and allocation Go to the non-isolated memory area 83, such as 0s page 84 and application page 82. The page manager 75 also manages and maintains the memory. This paper size applies the Chinese National Standard (CNS) A4 specification (210X297). Binding 526416 A7 I—_ B7 V. Description of the invention (10) Authorized page table 77. As described below, the memory ownership page table 77 describes each page and is used to assist a processor to set the memory. Fetch the transaction and further verify that the access transaction is valid. By allowing the page manager 75 to generate multiple isolated memory regions 71 and multiple non-isolated memory regions 83, the accessible physical memory 60 can be made easier To accommodate changes in system memory requirements. The normal execution loop-〇11 contains the main OSS 12, model driver 13 and hardware driver 14, which can simultaneously access the OSS page 84 and the application page 82. The The normal execution ring-3, which contains applications 42 to 42N, can only access the application page 82. However, the normal execution ring _ 〇 丨 丨 and ring_ 3 41 cannot access the multiple isolated memory area 71 . The isolated execution ring-015, which includes OSS core 16 and processor core 18, can simultaneously access the multiple isolated memory area 71 including the applet page 72 and the OSS core page 74, and contains the The multiple non-isolated memory regions 83 of the application page 82 and the os page 84. The isolated execution ring _ 3 45 includes the small red style 46! To 46κ ′, which can only access the application page 82 and the applet page 72. The children 46! To 46 & are located in the multiple isolated memory area 71. FIG. 1D is a flowchart of a process 86 for allocating memory pages to isolate execution in accordance with one embodiment of the present invention. At the beginning, the process 86 allocates memory pages to different areas of the accessible physical memory 60 (block 87). This page is allocated to both the isolated area 71 and the non-isolated area 83. In a preferred embodiment, the taxi size of the page is fixed. For example, each page can be 4μβ * 4κβ. In turn, the child process 86 assigns an attribute to each page (block 88). The processing

526416 A7 B7 五、發明説明(” 86指定-隔離的屬性到一頁面,士口果該頁面被分配到一記 憶體的隔離區域的話,或是該處理86指定-非隔離屬性到 -頁面’如果孩頁面被分配到一記憶體的非隔離區域的 話。然後該處理86即中止。 圖1E所示爲根據本發明一具體實施例中,該記憶體擁有 權頁面表77及轉換一虛擬位址到一實體位址之處理。如前 所述,該頁面管理者75管理該記憶體擁有權頁面表77。該 記憶體擁有權頁面表77包含複數個頁面表登錄%。每個頁 面表登錄93包含以下的元件:該頁面%的基礎及該頁面的 一屬性96 (隔離或非隔離)。僅有頁面管理者乃可改變指定 給一頁面的屬性96。每個頁.面%包含複數個實體位址99。 該頁面管理者75清除該記憶體擁有權頁面表77,或在該隔 離及非隔離記憶體區域改變時使一頁面表登錄%無效。然 後該頁面管理者75重新指定及初始化該隔離及非隔離的記 憶體區域。 一虛擬位址212包含一頁面表元件91及一偏移92。該轉換 虛擬位址2 12到實體位址99之處理將在稍後説明。 圖1F所示爲一電腦系統1〇〇,其中可實施本發明的一具 體實施例。該電腦系統100包含一處理器丨i 〇,一主匯流排 120,一記憶體控制器集線器(MCH) 13〇,一系統記憶體 140, 一輸入/輸出控制器集線器(ICH) 15〇, 一非揮發記憶 體,或系統快閃160,一大量儲存裝置17〇,輸入/輸出裝 置175,或一標記匯流排18〇,一主機板(MB)標記182,一 讀取器184,及一標記186。該MCH 130可整合到一曰μ -14- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公爱) 裝 訂 526416 A7 B7 五、發明説明(12 ) 組,其整合多重功能,像是隔離執行模式,主機到週邊匯 流排介面,記憶體控制。類似地,該ICH 150也可一起整 合到一晶片組,或獨立於該MCH 130來執行I/O功能。爲 了清楚起見,並未顯示所有的週邊匯流排。其可注意到該 系統100也可包含週邊匯流排,例如週邊元件内連接 (PCI),加速繪圖埠(AGP),工業標準結構(ISA)匯流排,及 泛用序列匯流排(USB)等。 該處理器110代表任何種類的結構之中央處理單元,例如 複雜指令集電腦(CISC),精簡指令集電腦(RISC),加長指 令字元(VLIW),或複合結構。在一具體實施例中,該處理 器 110相容於 Intel Architecture (IA)處理器,例如 Pentium™ 系歹丨J,IA-32™及IA-64™。該處理器110包含一正常執行 模式112及一隔離執行電路115。該正常執行模式112爲該 處理器110運作在一未防護環境中的模式,或一正常的環 境而沒有由該隔離執行模式所提供的安全性特徵。該隔離 執行電路115提供一機制來允許該處理器110運作在一隔離 執行模式中。該隔離執行電路115提供該隔離執行模式的 硬體及軟體支援。此支援包含隔離執行的設定,一隔離區 域或多個隔離區域的定義,隔離指令的定義(如解碼及執 行),隔離存取匯流排循環的產生,及隔離模式中斷的產 生。 在一具體實施例中,該電腦系統100可爲單一處理器系 統,例如桌上型電腦,其僅有一個主要中央處理單元,例 如處理器110。在其它具體實施例中,該電腦系統100可包 -15- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)526416 A7 B7 V. Description of the invention ("86 specifies-isolated attributes to a page, if the page is allocated to an isolated area of memory, or the processing 86 specifies-non-isolated attributes to-page 'if If the child page is allocated to a non-isolated area of the memory. Then the process 86 is aborted. FIG. 1E shows the memory ownership page table 77 and converts a virtual address to The processing of a physical address. As mentioned earlier, the page manager 75 manages the memory ownership page table 77. The memory ownership page table 77 contains a plurality of page table entries%. Each page table entry 93 contains The following components: the basis of the page% and an attribute 96 (isolated or non-isolated) of the page. Only page managers can change the attribute 96 assigned to a page. Each page. Face% contains a plurality of physical bits Address 99. The page manager 75 clears the memory ownership page table 77, or invalidates a page table entry% when the isolated and non-isolated memory area changes. Then the page manager 75 re-points And initialize the isolated and non-isolated memory area. A virtual address 212 includes a page table element 91 and an offset 92. The process of converting the virtual address 2 12 to the physical address 99 will be explained later. Figure 1F shows a computer system 100, in which a specific embodiment of the present invention can be implemented. The computer system 100 includes a processor 丨 i 〇, a main bus 120, and a memory controller hub (MCH) 13 〇, a system memory 140, an input / output controller hub (ICH) 15〇, a non-volatile memory, or the system flash 160, a mass storage device 170, an input / output device 175, or a tag bus Row 18, a motherboard (MB) mark 182, a reader 184, and a mark 186. The MCH 130 can be integrated into μ-14.-This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 public love) Binding 526416 A7 B7 V. Description (12) Group, which integrates multiple functions, such as isolated execution mode, host to peripheral bus interface, memory control. Similarly, the ICH 150 can also be integrated together To a chipset, or standalone The MCH 130 performs I / O functions. For clarity, not all peripheral buses are shown. It may be noted that the system 100 may also include peripheral buses, such as peripheral component interconnect (PCI), accelerated graphics port (AGP), Industry Standard Architecture (ISA) bus, and Universal Serial Bus (USB), etc. The processor 110 represents a central processing unit of any kind of structure, such as a complex instruction set computer (CISC), a reduced instruction set Computer (RISC), extended instruction character (VLIW), or composite structure. In a specific embodiment, the processor 110 is compatible with Intel Architecture (IA) processors, such as the Pentium ™ system, J, IA-32 ™ and IA-64 ™. The processor 110 includes a normal execution mode 112 and an isolated execution circuit 115. The normal execution mode 112 is a mode in which the processor 110 operates in an unprotected environment, or a normal environment without the security features provided by the isolated execution mode. The isolated execution circuit 115 provides a mechanism to allow the processor 110 to operate in an isolated execution mode. The isolated execution circuit 115 provides hardware and software support for the isolated execution mode. This support includes the settings for isolated execution, the definition of an isolated area or multiple isolated areas, the definition of isolated instructions (such as decoding and execution), the generation of isolated access bus cycles, and the generation of isolated mode interrupts. In a specific embodiment, the computer system 100 may be a single processor system, such as a desktop computer, which has only one main central processing unit, such as the processor 110. In other specific embodiments, the computer system 100 may include -15- This paper size is applicable to China National Standard (CNS) A4 (210 X 297 mm)

裝 526416 A7 ---------B7 五、發明説明Y 13 ) —〜--- 含多個處理器,例如圖10所示的處理器u〇, u〇a,u〇b 等。因此,該電腦系統100可爲具有任何數目之處理器的 多處理器電腦系統。舉例而言,該多處理器電腦系統ι〇〇 可伯人馬-伺服器或工作站環境的一部份。處理器工ι〇的基 本描述及運作將在以下詳細説明。本技藝的專業人士可以 瞭解到,處理器110的基本描述及運作應用到圖1D所示的 /、匕處理器11 〇a及11 Ob,JL根據本發明的_具體實施例, 可使用任何數目的其它處理器在該多處理器電腦系統1〇〇 中0 孩處理器110也可具有多重邏輯處理器。一邏輯處理器, 有時候稱之爲一緒(thread) ·,其爲根據一些區隔策略所配 置具有一結構狀態及實體資源的實體處理器中的功能單 7L。在本發明的上下文中,該名詞,,緒,,及,,邏輯處理器,,係 用來代表相同的物件。一多緒處理器爲具有多重緒或多重 邏輯處理器的處理器。一多處理器系統(例如該系統包含 處理器110, 110a及ll〇b),可具有多個多緒處理器。 忒王匯流排120提供介面信號來允許該處理器丨1〇或處理 斋U0’ 110a及ll〇b來與其它處理器或裝置,像是MCH 130來通訊。除了正常模式之外,該主匯流排提供一隔 離存取匯流排模式,其在當該處理器11〇設定在隔離執行 模式時,具有對應的記憶體讀取及寫入循環之介面信號。 琢隔離存取匯流排模式係在該處理器丨1〇處於隔離執行模 式時,主張於記憶體存取啓始時。該隔離存取匯流排模式 也王張在指令預校入及快取寫回循環中,如果該位址係位526416 A7 --------- B7 V. Description of the invention Y 13) — ~ --- Contains multiple processors, such as processors u〇, u〇a, u〇b, etc. as shown in Figure 10 . Therefore, the computer system 100 may be a multi-processor computer system having any number of processors. For example, the multi-processor computer system ιο may be part of a server or workstation environment. The basic description and operation of the processor is described in detail below. Those skilled in the art can understand that the basic description and operation of the processor 110 are applied to the processor 110a and 11ob shown in FIG. 1D. JL can use any number according to the embodiment of the present invention. The other processors in the multi-processor computer system 100 may also have multiple logical processors. A logical processor, sometimes called a thread, is a function sheet 7L in a physical processor configured with a structural state and physical resources according to some segmentation strategies. In the context of the present invention, the terms, thread, and, logical processor, are used to represent the same object. A multithreaded processor is a processor with multiple threads or multiple logical processors. A multi-processor system (for example, the system includes processors 110, 110a, and 110b) may have multiple multi-threaded processors. The King Bus 120 provides an interface signal to allow the processor 10 or 110a and 110b to communicate with other processors or devices, such as MCH 130. In addition to the normal mode, the main bus provides an isolated access bus mode. When the processor 11 is set in the isolated execution mode, it has interface signals corresponding to the memory read and write cycles. The isolated access bus mode is that when the processor is in the isolated execution mode, it is advocated at the beginning of memory access. The isolated access bus mode is also Wang Zhang's instruction pre-calibration and cache write-back cycle. If the address is a bit

526416 A7 一 一__ B7____ 五、發明説明(14 ) 在該隔離區域位址範圍及該處理器11 〇啓始在隔離執行模 式時。該處理器11 〇回應於刺探循環到位在該隔離區域位 址範圍内的一快取的位址,如果該隔離的存取匯流排循玉果 被確立,且該處理器1 10被初始化成該隔離執行模式。 該MCH 130提供記憶體及輸入/輸出裝置的控制及設定, 例如系統記憶體140及ICH 150。該MCH 130提供介面電路 來辨識及服務位在記憶體參考匯流排循環上的隔離存取主 張,其包含隔離的記憶體讀取及寫入循環。此外,該MCH 130具有記憶體範圍暫存器(例如基礎及長度暫存器),來 代表系統記憶體140中的該隔離區域或多個隔離區域。一 旦設定之後,該MCH 130放棄任何存取到不具有主張隔離 存取匯流排模式的隔離區域。 該系統記憶體140儲存系統碼及資料。該系統記憶體14〇 基本上是以動態隨機存取記憶體(DRAM)或靜態隨機存取 記憶體(SRAM)來實施。該系統記憶體140包含可存取的實 體記憶體60 (如圖1B及1C所示)。該可存取實體記憶體包 含一載入的作業系統142,該隔離區域70 (圖1B)或多隔離 區域71 (圖1C),及一隔離的控制及狀態空間148。該載入 的作業系統14 2爲載入到該系統1己憶體14 〇之作業手统的該 部份。該載入的OS 142基本上是由一大量儲存裝置透過一 啓動儲存中的一些啓動碼來載入,例如啓動唯讀記憶體 (ROM)。該隔離區域70(圖1B)或多隔離區域71 (圖1C)爲 該處理器110在運作於隔離執行模式時所定義的記憶體區 域。存取該隔離區域是受到限制的,其係由該處理器u〇 -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526416 A7 B7526416 A7 One One __ B7____ 5. Description of the invention (14) The address range in the isolated area and the processor 11 〇 started in isolated execution mode. The processor 110 responds to a cached address in the cache area within the address range of the isolated area. If the isolated access bus is established in Yuguo, and the processor 110 is initialized to the Isolated execution mode. The MCH 130 provides control and settings of memory and input / output devices, such as system memory 140 and ICH 150. The MCH 130 provides an interface circuit to identify and service the isolated access master on the memory reference bus cycle, which includes isolated memory read and write cycles. In addition, the MCH 130 has a memory range register (such as a base and length register) to represent the isolated region or multiple isolated regions in the system memory 140. Once set, the MCH 130 relinquishes any access to an isolated area that does not have an isolated access bus mode. The system memory 140 stores system codes and data. The system memory 14 is basically implemented by a dynamic random access memory (DRAM) or a static random access memory (SRAM). The system memory 140 includes an accessible physical memory 60 (as shown in FIGS. 1B and 1C). The accessible physical memory includes a loaded operating system 142, the isolated area 70 (Figure 1B) or multiple isolated areas 71 (Figure 1C), and an isolated control and state space 148. The loaded operating system 14 2 is the part of the operating system loaded into the memory 1 14 of the system 1. The loaded OS 142 is basically loaded by a mass storage device through some boot codes in a boot storage, such as boot read-only memory (ROM). The isolated region 70 (FIG. 1B) or multiple isolated regions 71 (FIG. 1C) are memory regions defined by the processor 110 when operating in an isolated execution mode. Access to this isolated area is restricted by the processor u〇 -17- This paper size applies Chinese National Standard (CNS) A4 specifications (210X297 mm) 526416 A7 B7

及/或MCH 130,或其它整合到該隔離區域功能的晶片組所 實施。該隔離的控制及狀態空間148爲一類似輸入/輸出 (I/O),而由該處理器11〇及/SMCH no所定義的獨立位址 空間。該隔離的控制及狀態空間148主要包含該隔離的執 行控制及狀怨暫存器。該隔離的控制及狀態空間並不 重疊任何既有的位址空間,並使用該隔離匯流排循環來存 取。該系統記憶體140也可包含其它未顯示的程式或資料。 該ICH 150代表具有隔離執行功能的系統中的已知單一 點。爲了清楚起見,僅顯示一個ICH 15〇。該系統1〇〇可肩 有許多類似於ICH 150的ICH。當有多個ICH時,選擇一裴 定的ICH來控制該隔離的區域設定及狀態。在一具體實= 例中,此選擇係由一外部綑綁針腳來執行。如本技藝專業 人士所熟知,可使用其它的選擇方法,其包含使用可程式 設定暫存器。該ICH 150具有一些功能,其可設計來支= 除了傳統的I/O功能之外的隔離執行模式。尤其是,該 150包含一隔離的匯流排循環介面152,處理器核心載Λ入器 52 (如圖1Α所示),一摘要記憶體154,一加密鍵値儲存 155,一隔離的執行邏輯處理管理者156,及一標記匯炉 介面159。 不w /成胡 該隔離的匯流排循環介面152包含電路來連接到該隔離匯 流排循環㈣,以辨識及服務隔離的匯流排㈣,例如該 隔離的讀取及寫入匯流排循環。該處理器核心載入器 如圖1A所示,其包含一處理器核心載入碼及其摘如2唯 混)値。該處理器核心載入器52係由執行—適當的隔離;旨And / or MCH 130, or other chipset integrated into the function of the isolated area. The isolated control and status space 148 is a similar input / output (I / O), and an independent address space defined by the processor 11 and / SMCH no. The isolated control and state space 148 mainly contains the isolated execution control and state register. The isolated control and state space does not overlap any existing address space and is accessed using the isolated bus cycle. The system memory 140 may also include other programs or data not shown. The ICH 150 represents a known single point in a system with isolated execution functions. For clarity, only one ICH 15o is shown. The system 100 can carry many ICH similar to ICH 150. When there are multiple ICHs, a certain ICH is selected to control the isolated regional settings and status. In a concrete example, this selection is performed by an external binding pin. As is well known to those skilled in the art, other selection methods may be used, including the use of a programmable register. The ICH 150 has a number of functions that can be designed to support an isolated execution mode in addition to traditional I / O functions. In particular, the 150 includes an isolated bus cycle interface 152, a processor core loader 52 (as shown in Figure 1A), a digest memory 154, an encryption key 値 storage 155, and an isolated execution logic processing Manager 156, and a marker furnace interface 159. Don't w / Chenghu The isolated bus cycle interface 152 includes a circuit to connect to the isolated bus cycle, to identify and service the isolated bus, such as the isolated read and write bus cycles. The processor core loader is shown in FIG. 1A, which includes a processor core load code and its excerpts (2). The processor core loader 52 is implemented by-proper isolation;

裝 訂Binding

-18- 526416 A7 _______ B7 ._ 五、發明説明(16 ) 令(如Iso-Init)來利用,並傳送到該隔離區域70,或隔離區 域71之一。由該隔離區域,該處理器核心載入器52由該系 統快閃(如非揮發記憶體160中的處理器核心碼18)將該處 理器核心18複製到該隔離區域70,驗證並登入其整合性, 且管理一對稱鍵値用來保護該處理器核心的機密。在一具 體實施例中,該處理器核心載入器52係實施於唯讀記憶體 (R Ο Μ )。爲了安全性目的,該處理器核心載入器52爲不 可改變,防擅改及不可取代的。該摘要記憶體154,基本 上實施於RAM,其儲存該載入的處理器核心18的摘要(如 雜混)値’該作業系統核心16,及任何其它載入到該隔離 的執行空間之關鍵模組(如環-〇模組)。 该加密鍵儲存155保持一對稱的加密/解密鍵値,其對於 泫系統100之平台爲唯一。在一具體實施例中,該加密鍵 儲存155包含内部熔絲,其係在製造時來程式化。另外, 該加密鍵儲存155也可在一隨機數產生器及一捆綁針腳來 產生。該隔離的執行邏輯處理管理者156管理運作在隔離 執行模式中的邏輯處理器之運作。在一具體實施例中,該 隔離的執行邏輯處理管理者156包含一邏輯處理器計數暫 存器,其追蹤在隔離執行模式中所參與的邏輯處理器的數 目。該標記匯流排介面159連接到該標記匯流排18〇。該處 理器核心載入器摘要的組合,處理器核心摘要,作業系統 核心摘要,及視需要的額外摘要,代表了整體的執行摘 要,稱之爲隔離摘要。該隔離的摘要爲一指紋,以辨識出 控制該隔離執行設定及運作之環_〇碼。該隔離摘要係用來 -19- 526416 A7 B7 五、發明説明(17 ) 證實或證明目前隔離執行的狀態。 該非揮發記憶體160儲存非揮發資訊。基本上,該非揮發 記憶體160係實施於快閃記憶體中。該非揮發記憶體16〇包 含該處理器核心18。 該處理器核心18提供了該隔離區域(在系統記憶體14〇中) 的初始設定及低階管理,其包含該作業系統核心丨6的驗 證,載入及登入,以及用來保護該作業系統核心的機密的 對稱鍵管理。該處理器核心18也提供應用程式介面(API) 精髓給由其它硬體所提供的低階安全性服務。該處理器核 心18也可由原始設備製造商(oem)或作業系統廠商(0SV) 透過一開機磁片來散佈。 該大量儲存裝置170儲存檔案化資訊,例如程式碼(如處 理器核心18),程式,檔案,資料,應用(如應用42ι到 42N),小程式(如小程式46!到46κ)及作業系統。該大量儲 存裝置170可包含光碟片(CD ROM) 172,軟碟片174,及硬 碟176’及任何其它的磁性或光學儲存裝置。該大量儲存 裝置170提供一機制來讀取機器可讀取媒體。 I/O裝置175可包含任何的I/O裝置來執行I/O功能。〗/〇 裝置175的範例包含輸入裝置的控制器(如鍵盤,滑鼠,軌 跡球’指向裝置),媒體卡(如聲音,視訊,緣圖),網路 卡,及任何其它的週邊控制器。 該標記匯流排180提供了系統中該ICH 150及不同標記之 間的介面。一標記爲執行具有安全性功能的專屬輸入/輸 出功能的裝置。一標記的特性類似於一智慧卡,其包含至 -20- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)-18- 526416 A7 _______ B7 ._ 5. The description of the invention (16) order (such as Iso-Init) is used and transmitted to the isolation area 70 or one of the isolation areas 71. From the isolation area, the processor core loader 52 is flashed by the system (such as the processor core code 18 in the non-volatile memory 160) to copy the processor core 18 to the isolation area 70, verify and log in to it. Integrated and manages a symmetric key to protect the confidentiality of the processor core. In a specific embodiment, the processor core loader 52 is implemented in read-only memory (R 0 M). For security purposes, the processor core loader 52 is immutable, tamper-resistant and irreplaceable. The summary memory 154 is basically implemented in RAM, which stores the summary (such as jumble) of the loaded processor core 18 値 'the operating system core 16 and any other key loaded into the isolated execution space Module (such as the ring-〇 module). The encryption key storage 155 maintains a symmetric encryption / decryption key 値, which is unique to the platform of the 泫 system 100. In a specific embodiment, the encryption key store 155 includes an internal fuse, which is programmed at the time of manufacture. In addition, the encryption key storage 155 can also be generated by a random number generator and a binding pin. The isolated execution logic processing manager 156 manages the operations of the logical processors operating in the isolated execution mode. In a specific embodiment, the isolated execution logic processing manager 156 includes a logical processor count register that tracks the number of logical processors participating in the isolated execution mode. The marker bus interface 159 is connected to the marker bus 180. The combination of the processor core loader digest, processor core summary, operating system core summary, and additional abstracts as needed represent the overall execution summary, called the isolation summary. The abstract of the isolation is a fingerprint to identify the ring_0 code that controls the execution setting and operation of the isolation. The quarantine summary is used for -19- 526416 A7 B7 V. Invention Description (17) confirms or proves the current status of quarantine execution. The non-volatile memory 160 stores non-volatile information. Basically, the non-volatile memory 160 is implemented in flash memory. The non-volatile memory 16 includes the processor core 18. The processor core 18 provides the initial setting and low-level management of the isolated area (in the system memory 14), which includes the authentication, loading and login of the operating system core, and protection of the operating system. Core's confidential symmetric key management. The processor core 18 also provides the essence of an application programming interface (API) for low-level security services provided by other hardware. The processor core 18 may also be distributed by an original equipment manufacturer (OEM) or an operating system manufacturer (OSV) through a boot disk. The mass storage device 170 stores filed information, such as code (such as processor core 18), programs, files, data, applications (such as applications 42 to 42N), applets (such as applets 46! To 46κ), and operating systems. . The mass storage device 170 may include a compact disk (CD ROM) 172, a floppy disk 174, and a hard disk 176 'and any other magnetic or optical storage device. The mass storage device 170 provides a mechanism to read machine-readable media. The I / O device 175 may include any I / O device to perform I / O functions. Examples of device 175 include controllers for input devices (such as keyboard, mouse, trackball 'pointing device), media cards (such as sound, video, margin maps), network cards, and any other peripheral controllers . The tag bus 180 provides an interface between the ICH 150 and different tags in the system. A device labeled as performing a dedicated input / output function with a security function. The characteristics of a mark are similar to those of a smart card, which contains up to -20- This paper size applies to China National Standard (CNS) A4 specification (210X297 mm)

裝 526416 A7 B7 五、發明説明(18 ) 少一對保留目的之公用/私有鍵値,以及能夠以私有鍵値 簽章的能力。連接到該標記匯流排1 8〇的標記範例包含一 主機板標記1 82,一標記讀取器丨84,及其它可攜式標記 186(如智慧卡)。ICH 15〇中的該標記匯流排介面ι59經由該 標記匯流排180連接到該ICH 15〇,並保證當接受指令來驗 證該隔離執行的狀態時,該對應的標記(如該主機標記 1 82 ’標兒1 86)僅簽章有效的隔離摘要資訊。爲達安全目 的’該標記必須連接到該摘要記憶體。 當實施於軟體時,本發明的元件爲該碼段落來執行必要 的工作。孩程式或碼段落可儲存在一機器可讀取媒體,例 如一處理器可讀取媒體,或由包含在一載波中的電腦資料 信號來傳运,或由一載體在一傳輸媒體上調變的信號。該 處理為可謂取媒體”可包含任何可儲存或傳送資訊的媒 體。該處理器可讀取媒體的範例包含一電子電路,一半導 體記憶體裝置,一R0M,一快閃記憶體,一可抹除可程式 ROM (EPROM),一軟碟片,一光碟CD R〇M,一光學碟 片,一硬碟,一光纖媒體,一射頻(RF)鏈結等。該電腦資 料信號可包含任何傳遞在—傳輸媒體上的信號,例如電子 網路通道,光纖,空器,電磁波,RF鍵結等。該碼段落 可透過電腦網路下載,例如網際網路,企業内網路等。 在隔離執行環境中控制存取至多重隔離記憶體 本發明爲在隔離執行環境中批告|在 兄甲检制存取至多重隔離記憶體 :万法’裝置及系統,如圖lc所示。圖2A所示爲根據 本發明-具體:r施例而示於圖1?的隔離執行電路η 5。該 本紙張尺度適财@ S家標準(CNS)城格 -21 - 526416 A7 B7 五、發明説明(19 ) 隔離執行電路115包含一核心執行電路205,一存取管理者 220及一快取記憶體管理者230。 該核心執行單元205包含一指令解碼器及執行單元210, 及一轉譯旁視緩衝器(TLB) 218。該指令解碼器及執行單元 2 10接收來自一指令校入單元的指令流215。該指令流215 包含一些指令。該指令解碼器及執行單元210解碼該指 令,並執行該解碼的指令。這些指令可位在micro-或macro-階層。該指令解碼器及執行單元210可爲一實體電路,或 指令解碼及執行的處理之提取。此外,該指令可包含隔離 指令及非隔離指令。該指令解碼器及執行單元210在具有 一存取交易時即產生一虛擬位址212。 該TLB 218轉譯該虛擬位址212到實體位址99。該TLB 218 包含該記憶體擁有權頁面表(MOPT) 77之快取219。該TLB 2 18首先察看快取219來尋找該實體位址,其可符合該虛擬 位址212及一相關的頁面表登錄。如果該實體位址不是在 該快取219中,該丁1^218則搜尋1^0?丁77本身。該丁1^218 使用該MOPT 221的基礎來搜尋該實體位址。也參考圖 1E,其以MOPT 221的基礎及該虛擬位址212的頁面表元件 91開始,該TLB 21 8搜尋該虛擬位址212的頁面表登錄93。 如前所述,每個頁面表登錄93包含該頁面95的基礎及該頁 面的屬性96(隔離或非隔離)。使用該頁面的基礎95及該虛 擬位址的該偏移元件92,該TLB 218可尋找關於該虛擬位 址的實體位址99。其須瞭解到使用TLB來轉譯虛擬位址到 實體位址係在本技藝中爲人所熟知。如在稍後所述,該頁 -22 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)Installation 526416 A7 B7 V. Description of the invention (18) One pair of public / private keys for reserved purposes and the ability to sign with private keys. Examples of tags connected to the tag bus 180 include a motherboard tag 1 82, a tag reader 84, and other portable tags 186 (such as a smart card). The tag bus interface ι59 in ICH 15〇 is connected to the ICH 15 through the tag bus 180, and guarantees that when an instruction is accepted to verify the status of the isolation execution, the corresponding tag (such as the host tag 1 82 ' Biaoer 1 86) Only effective quarantine summary information is signed. For security purposes, the tag must be connected to the digest memory. When implemented in software, the elements of the invention are the code segments that perform the necessary work. Programs or code segments can be stored in a machine-readable medium, such as a processor-readable medium, or transmitted by computer data signals contained in a carrier wave, or modulated by a carrier on a transmission medium. signal. This process is called “retrieving media” and may include any media that can store or transmit information. Examples of the processor-readable media include an electronic circuit, a semiconductor memory device, a ROM, a flash memory, and an erasable media. Except Programmable ROM (EPROM), a floppy disk, a CD ROM, an optical disk, a hard disk, a fiber optic media, a radio frequency (RF) link, etc. The computer data signal can include any transmission Signals on the transmission media, such as electronic network channels, optical fibers, airspace, electromagnetic waves, RF bonds, etc. The code segments can be downloaded through computer networks, such as the Internet, intranets, etc. Implemented in isolation Controlling access to multiple isolated memories in an environment The present invention is an announcement in an isolated execution environment | access to multiple isolated memories in Brother A's inspection: Wanfa 'device and system, as shown in Figure lc. Figure 2A Shown according to the present invention-specific: r example and shown in Figure 1? Isolated execution circuit η 5. The paper size suitable financial @ S 家 标准 (CNS) 城 格 -21-526416 A7 B7 V. Description of the invention ( 19) Isolated execution circuit 115 includes a core The execution circuit 205, an access manager 220 and a cache memory manager 230. The core execution unit 205 includes an instruction decoder and execution unit 210, and a translation look-aside buffer (TLB) 218. The instruction decodes The decoder and execution unit 2 10 receives an instruction stream 215 from an instruction correction unit. The instruction stream 215 contains some instructions. The instruction decoder and execution unit 210 decodes the instruction and executes the decoded instruction. These instructions can be located at micro- or macro-level. The instruction decoder and execution unit 210 may be a physical circuit, or an extraction of instruction decoding and execution processing. In addition, the instruction may include isolated instructions and non-isolated instructions. The instruction decoder and execution Unit 210 generates a virtual address 212 when it has an access transaction. The TLB 218 translates the virtual address 212 to a physical address 99. The TLB 218 contains a cache of the memory ownership page table (MOPT) 77 219. The TLB 2 18 first looks at the cache 219 to find the physical address, which can be registered with the virtual address 212 and a related page table. If the physical address is not in the cache 219 The Ding 1 ^ 218 searches 1 ^ 0? Ding 77 itself. The Ding 1 ^ 218 uses the basis of the MOPT 221 to search for the physical address. See also FIG. 1E, which uses the basis of the MOPT 221 and the virtual address. Beginning with the page table element 91 of 212, the TLB 21 8 searches for the page table entry 93 of the virtual address 212. As mentioned earlier, each page table entry 93 contains the basis of the page 95 and the attributes of the page 96 (isolated or Non-isolated). Using the base 95 of the page and the offset element 92 of the virtual address, the TLB 218 can look for the physical address 99 of the virtual address. It must be understood that the use of TLB to translate virtual addresses to physical addresses is well known in the art. As described later, this page -22-This paper size applies to China National Standard (CNS) A4 (210X297 mm)

裝 •線 526416 A7 B7 五、發明説明(20 ) — 面的屬性96(隔離或非隔離)在設定隔離執行的一存取交易 中很重要。 再參考圖2 A,該核心執行電路205透過控制/狀態資訊 222’運算子224’及存取資訊226而與該存取管理者220構 成介面。該控制/狀態資訊222包含控制位元來操縱隔離匯 流排循環產生器220中的不同元素,以及來自該存取管理 者220的狀態資料。該運算子224包含要寫入或由該存取管 理者220讀取的資料。該存取資訊226包含位址資訊(如由 該TLB 2 18提供的實體位址),讀取/寫入,及存取種類資 訊0 該存取管理者220接收及提供該控制/狀態資訊222,其接 收及提供運算子224資訊,接收來自該核心執行電路2〇5的 存取資訊226,做爲指令執行的結果,接收一快取存取信 號235 (如一快取碰撞)及來自該快取記憶體管理者23〇的一 屬性96 (隔離或非隔離)。該存取管理者220也接收一外部 隔離存取信號278及來自系統中其它處理器的前側匯流排 (FSB)位址資訊信號228。該外部隔離存取信號278係在當 系統中另一個處理器嘗試來存取該隔離記憶體區域之一時 被主張。該存取管理者220產生一隔離的存取信號272,一 存取同意信號274,及一處理器刺探存取信號276。該隔離 的存取仏號272可用來產生一隔離匯流排循環23〇,其傳送 到蓀處理器110外部的裝置(如晶片組)來代表該處理器11〇 正執行一隔離模式的指令。該處理器刺探存取信號276可 由其它裝置或晶片組用來決定是否一刺探存取爲一命中或 -23 -Equipment • Line 526416 A7 B7 V. Description of the invention (20) — The attribute 96 (isolated or non-isolated) is important in setting an access transaction to be executed in isolation. Referring again to FIG. 2A, the core execution circuit 205 forms an interface with the access manager 220 through the control / state information 222 'operator 224' and the access information 226. The control / status information 222 includes control bits to manipulate different elements in the isolated bus cycle generator 220, and status data from the access manager 220. The operator 224 contains data to be written or read by the access manager 220. The access information 226 contains address information (such as the physical address provided by the TLB 2 18), read / write, and access type information 0 The access manager 220 receives and provides the control / status information 222 It receives and provides operator 224 information, receives access information 226 from the core execution circuit 205, as a result of instruction execution, receives a cache access signal 235 (such as a cache collision) and from the cache Take a property 96 (isolated or non-isolated) of the memory manager 23. The access manager 220 also receives an external isolated access signal 278 and a front side bus (FSB) address information signal 228 from other processors in the system. The external isolated access signal 278 is asserted when another processor in the system attempts to access one of the isolated memory regions. The access manager 220 generates an isolated access signal 272, an access consent signal 274, and a processor probe access signal 276. The isolated access number 272 can be used to generate an isolated bus cycle 23, which is transmitted to a device (such as a chipset) external to the processor 110 to represent that the processor 11 is executing an instruction in an isolated mode. The processor probe access signal 276 can be used by other devices or chipsets to determine whether a probe access is a hit or -23-

526416 A7 _________B7 ___ 五、發明説明(21 ) 錯失。該隔離的存取信號2 7 2,該存取同思k號2 7 4 ’及 該處理器刺探存取信號276也可由該處理器110内部用來控 制及監視其它隔離或非隔離的活動。 該快取記憶體管理者230接收來自該核心執行電路205的 存取資訊226,並產生該快取存取信號235到該存取管理者 22〇 °該快取記憶體管理者230包含一快取記憶體232來儲 存快取資訊及其它電路,以管理快取交易,此爲本技藝專 業人士所熟知。該快取存取信號235代表該快取存取的結 果。在一具體實施例中,該快取存取信號2 3 5爲一快取命中 #喊’其在當具有來自一快取存取的快取命中時被主張。 圖2B所示爲根據本發明的一具體實施例示於圖2a之存 取管理者。該存取管理者22〇包含一設定儲存25〇及一存取 檢查電路270。該存取管理者220與圖2所示的核心執行電 路205交換運算子224,並接收由其傳來的存取資訊226。 該運算子224資訊包含關於該實體位址99的頁面之屬性% (隔離或非隔離)。該存取管理者22〇也接收來自該快取管 理者230的快取存取信號235,及外部隔離存取信號278, 及來自圖2A所示的另一個處理器之FSB位址資訊228。該 存取笞理者220進一步接收來自該快取管理者23〇的屬性 96(隔離或非隔離)。該屬性係以每條快取線爲基礎。該存 取資訊226包含一實體位址99,一讀取/寫入(rd/wr#)信號 284,及一存取種類286。該存取資訊226係在該處理器 T存取交易期間所產生。該存取種類286代表—存取的種 類,其包含一記憶體參考,一輸入/輸出(1/〇)參考,及一526416 A7 _________B7 ___ 5. Explanation of the invention (21) Missed. The isolated access signal 2 7 2, the access Tongsi k number 2 7 4 ′, and the processor probe access signal 276 may also be used by the processor 110 to control and monitor other isolated or non-isolated activities. The cache memory manager 230 receives the access information 226 from the core execution circuit 205, and generates the cache access signal 235 to the access manager 22 °. The cache memory manager 230 includes a cache The memory 232 is used to store cache information and other circuits to manage cache transactions, which is well known to those skilled in the art. The cache access signal 235 represents the result of the cache access. In a specific embodiment, the cache access signal 2 3 5 is a cache hit #shout 'which is asserted when there is a cache hit from a cache access. Fig. 2B shows an access manager shown in Fig. 2a according to a specific embodiment of the present invention. The access manager 22 includes a setting memory 25 and an access check circuit 270. The access manager 220 exchanges the operator 224 with the core execution circuit 205 shown in FIG. 2 and receives the access information 226 transmitted therefrom. The operator 224 information contains the attribute% (isolated or non-isolated) of the page about the physical address 99. The access manager 22 also receives a cache access signal 235 from the cache manager 230, an external isolated access signal 278, and FSB address information 228 from another processor shown in FIG. 2A. The access manager 220 further receives attributes 96 (quarantine or non-quarantine) from the cache manager 230. This attribute is based on each cache line. The access information 226 includes a physical address 99, a read / write (rd / wr #) signal 284, and an access type 286. The access information 226 is generated during the processor T access transaction. The access type 286 represents the type of access, which includes a memory reference, an input / output (1/0) reference, and a

526416 A7 B7 五、發明説明(22 ) 邏輯處理器存取。該邏輯處理器存取包含一邏輯處理器登 綠到一隔離致能狀態,及一邏輯處理器由一隔離致能狀態 退出。 該設定儲存250包含設定參數來設定由該處理器110所產 生的一存取交易。該處理器110具有一正常執行模式及一 隔離執行模式。該存取交易具有存取資訊。該設定儲存 25〇接收來自該指令解碼器及執行單元210 (圖2A)之運算 子224資訊。該設定儲存250包含一頁面251的屬性暫存 器,及一處理器控制暫存器252。該屬性暫存器25 1包含關 於設定爲隔離或非隔離之實體位址組合的頁面之屬性96。 該處理器控制暫存器252包含一執行模式字元253。該執行 模式字元253在到該處理器110被設定在該隔離執行模式時 被主張。在一具體實施例中,該執行模式字元253爲一單 一位元,其代表是否該處理器110處於該隔離執行模式。 該存取檢查電路270使用至少該設定參數(如該執行模式 字元253及該屬性96)及該存取資訊226之一來檢查該存取 交易。該存取檢查電路270使用至少在該設定儲存250中的 參數之一,由該處理器110所產生的交易中的存取資訊 226,及該F S B位址資訊228之一來產生該處理器隔離存取 信號272,該存取同意信號274,及該處理器刺探存取信號 276。該FSB位址資訊228基本上是由另一個處理器提供, 並在該F S B刺探。該隔離的存取信號272係在當該處理器 11 0被設定在該隔離執行模式中時被主張。該存取同意信 號274被用來代表一存取已經被同意。該處理器刺探存取 -25- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)526416 A7 B7 5. Description of the Invention (22) Logical processor access. The logical processor access includes a logical processor going green to an isolated enable state, and a logical processor exiting from an isolated enable state. The setting storage 250 includes setting parameters for setting an access transaction generated by the processor 110. The processor 110 has a normal execution mode and an isolated execution mode. The access transaction has access information. The setting stores 205 and receives the information of the operator 224 from the instruction decoder and the execution unit 210 (Fig. 2A). The setting storage 250 includes an attribute register of a page 251 and a processor control register 252. The attribute register 251 contains an attribute 96 for a page set as an isolated or non-isolated combination of physical addresses. The processor control register 252 includes an execution mode character 253. The execution mode character 253 is asserted when the processor 110 is set in the isolated execution mode. In a specific embodiment, the execution mode character 253 is a single bit, which represents whether the processor 110 is in the isolated execution mode. The access check circuit 270 uses at least one of the setting parameters (such as the execution mode character 253 and the attribute 96) and the access information 226 to check the access transaction. The access check circuit 270 uses at least one of the parameters in the setting storage 250, the access information 226 in the transaction generated by the processor 110, and one of the FSB address information 228 to generate the processor isolation. The access signal 272, the access consent signal 274, and the processor probe the access signal 276. The FSB address information 228 is basically provided by another processor and probed at the FSB. The isolated access signal 272 is asserted when the processor 110 is set in the isolated execution mode. The access consent signal 274 is used to indicate that an access has been granted. The processor probes and accesses -25- This paper size applies to China National Standard (CNS) A4 (210X297 mm)

裝 螫 526416 A7 B7 五、發明説明(23 ) 信號276被用來決定來自另一個處理器的存取是否造成一 命中或錯失。 圖3 A所示爲根據本發明一具體實施例之存取檢查電路 270。該存取檢查電路270包含一 TLB存取檢查電路310及一 F SB刺探檢查電路330。 該TLB存取檢查電路3 10接收該屬性96及該執行模式字元 253來產生一存取同意信號274。該存取同意信號274至該 隔離區域,係在當該屬性96被設定爲隔離時被主張,且該 執行模式字元253被主張係代表一隔離存取爲有效或被允 許如同所設定的。在一具體實施例中,該TLB存取檢查電 路310執行一邏輯”排除反或1’斤乂(:11^¥心1^〇1*)運算。因此, 當一處理器請求一隔離區域的實體位址時,僅有在該處理 器運作於隔離執行模式,且關於該實體位址的頁面屬性被 設定成隔離時,該存取交易可被同意。 該FSB刺探檢查電路330執行一類似的功能於該TLB存取 檢查電路310。該FSB刺探檢查電路330藉由合成該快取存 取信號235,該外部隔離存取信號278及該屬性96來產生該 處理器刺探存取信號276。該FSB刺探檢查電路330包含一 第一合成器342及一第二合成器344。該第一合成器342接 收要被刺探的該線之屬性96(隔離或非隔離),其來自該快 取記憶體管理者230,及來自另一個進行刺探的處理器之 外部隔離的存取信號278。該屬性係以每條快取線爲基 礎。在一具體實施例中,該第一合成器342執行一邏輯’’排 除反或”(Exclusive-Nor)運算。該第二合成器344合成該第 -26 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)Installation 526416 A7 B7 V. Description of Invention (23) The signal 276 is used to determine whether an access from another processor caused a hit or miss. Figure 3A shows an access check circuit 270 according to an embodiment of the present invention. The access check circuit 270 includes a TLB access check circuit 310 and an F SB probe check circuit 330. The TLB access check circuit 310 receives the attribute 96 and the execution mode character 253 to generate an access consent signal 274. The access approval signal 274 to the quarantine area is asserted when the attribute 96 is set to quarantine, and the execution mode character 253 is asserted to represent a quarantine access as valid or allowed as set. In a specific embodiment, the TLB access check circuit 310 executes a logic “exclude inverse OR 1 ′ load (: 11 ^ ¥ 心 1 ^ 〇1 *) operation. Therefore, when a processor requests an isolated area At the physical address, the access transaction can be approved only when the processor is operating in an isolated execution mode and the page attribute about the physical address is set to be isolated. The FSB probe check circuit 330 executes a similar Function in the TLB access check circuit 310. The FSB probe check circuit 330 generates the processor probe access signal 276 by synthesizing the cache access signal 235, the external isolated access signal 278, and the attribute 96. The The FSB probe inspection circuit 330 includes a first synthesizer 342 and a second synthesizer 344. The first synthesizer 342 receives an attribute 96 (isolated or non-isolated) of the line to be probed, which is from the cache memory Manager 230, and an externally isolated access signal 278 from another processor performing the probe. This attribute is based on each cache line. In a specific embodiment, the first synthesizer 342 executes a logic '' Exclude anti-OR '' ( Exclusive-Nor) operation. The second synthesizer 344 synthesizes the -26th-this paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm)

裝 m 五、發明説明(24 ::成洛342的結果與該快取存取信號235 (例如快取命 )。在-具體實施例中,該第二合成器344執行一邏輯 =ND運异。因此,一處理器僅能刺探出來自—隔離區域的 =處理器的線,其在當該刺探處理器運作於該隔離執 仃杈式,孩頁面的屬性被設定爲隔離,且具有一快取命中 時。僅有當這些條件滿足時,該存取交易可被同意,而該 處理器刺探存取信號276可對一隔離區域來產生。 = FSB刺探檢查電路33〇保證在多處理器系、统中的適當 功月匕’在當並非所有的處理器皆被初始化爲隔離記憶體區 域存取。該X-NOR元素342保證一刺探命中僅會發生自已 經允許隔離存取之處理器。如果_處理器並未參與在該隔 離圮憶體區域存取中,其將不能夠刺探出另一個處理器之 線,其係參與在該隔離記憶體區域存取。類似地,一已經 致能爲隔離存取的處理器將不會疏忽地刺探出另一個尚^ 被致能的處理器之線。 該處理器刺探存取信號276對於一隔離區域被主張,代表 有一存取命中,當該快取存取信號235被主張時,代表有 一快取命中,且當該外部隔離存取信號278被主張時,該 屬性96被設定爲隔離。 圖3B所不爲根據本發明的另一具體實施例中該存取檢查 私路270來&理處理邏輯處理器運作。該存取檢查電路wo 包含一邏輯處理器管理者360。 實心處理器可具有一些邏輯處理器。每個邏輯處理器 可進入或離開一隔離處理器狀態,其稱之爲邏輯處理器存 526416 A7 B7五、發明説明(25 ) 取。一邏輯處理器存取基本上是在當該對應的邏輯處理器 執行一隔離指令時來產生,例如隔離的輸入(iso_enter)及 隔離的離開(iso_exit)。該邏輯處理器管理者360管理由該 邏輯處理器存取所造成的一邏輯處理器運算。基本上,該 邏輯處理器管理者360持續追蹤該處理器中致能的邏輯處 理器的數目。該邏輯處理器管理者360包含一邏輯處理器 暫存器370,一邏輯處理器狀態致能器382,一邏輯處理器 更新器380,一最小偵測器374,及一最大偵測器376。該 邏輯處理器暫存器370儲存一邏輯處理器計數372,以代表 目前致能的邏輯處理器的數目。該邏輯處理器狀態致能器 382致能一邏輯處理器狀態·,其在當該邏輯處理器存取爲 有效時。該邏輯處理器更新器380係根據該邏輯處理器存 取來更新該邏輯處理器計數372。該邏輯處理器更新器380 係由該致能的邏輯處理器狀態所致能。在一具體實施例 中,該邏輯處理器暫存器370及該邏輯處理器更新器380係 實施爲可致能的一上/下計數器。該最小偵測器374決定是 否該邏輯處理器計數372等於一最小邏輯處理器數値(如 零)。該最大偵測器376決定是否該邏輯處理器計數372超 過一最大邏輯處理器數値。該最大邏輯處理器數値爲代表 該處理器110中隔離執行模式所支援的邏輯處理器之最大 數目。 該邏輯處理器更新器380在系統重置時初始化該邏輯處理 器暫存器370。該邏輯處理器更新器380在當該存取交易對 應於該邏輯處理器登錄時來更新第一方向(如遞增)中的邏 -28 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526416 A7 B7 五、發明説明( 26 ) 器:,。該邏輯處理器更新器38〇在當該存取交 '、心於S邏輯處理器離開或一邏輯處理器退出時,更新 反万、'第、方向(第二方向(如遞減)中的邏輯處理器計 372、田忑邏輯處理器計數372等於該最小邏輯處理器値 時二及避輯處理器管理者36〇造成該處理器11〇來清除該快 取。己U 232 (圖2A) ’其藉由將其寫回到主要記憶體,且 來自所有隔離^訊的該隔離設定暫存器(圖2A)來還原在這 :,存元素中的初始條件。當該邏輯處理器計數372超過 咸取大邏輯處理器値時,該邏輯處理器管理者36〇造成該 處理器110來產生一失效或錯誤狀況,因爲邏輯處理器的 、’心數超過在该處理器中可支援的邏輯處理器的最大數目。 圖4所示爲根據本發明一具體實施例中產生隔離執行之 存取同思仏號之處理400的流程圖。 在開始(START)時,該處理400分配頁面到多重隔離記憶 體區域(方塊410)。然後,該處理4〇〇主張在該處理器控制 暫存器中的執行模式字元來設地該隔離執行模式中的處理 器(方塊420)。然後該處理400接收來自一處理器之存取交 易之存取資訊(方塊425)。該存取資訊包含一實體位址(如 由TLB所提供),該頁面的一屬性(隔離/非隔離),及一存 取種類。接著’該處理400決定是否該屬性被設定爲隔 離,且該執行模式字元被主張(代表設定爲隔離方塊 430)。如果否的話,該處理400產生一失效或錯誤狀況(方 塊43 5),然後被中止。否則,該處理4〇〇主張該存取同意 信號(方塊440)。然後該處理400即中止。 -29 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526416 A7 B7 五、發明説明(27 ) 圖5所示爲根據本發明一具體實施例中管理隔離執行的 處理邏輯處理器運作之處理500的流程圖。 在開始(START)時,該處理500在當沒有致能的邏輯處理 器時來初始化該邏輯處理器暫存器(方塊510)。然後該處 理500執行一邏輯處理器存取指令(例如iso_enter, iso_exit)。該邏輯處理器存取指令主張該執行模式字元。 接著,該處理500致能該邏輯處理器狀態(方塊525)。然 後,該處理500決定該邏輯處理器存取種類(方塊530)。 如果該邏輯處理器存取種類爲一邏輯處理器登錄,該處 理500更新在一第一方向中的邏輯處理器計數(如遞增)(方 塊540)。然後,該處理500決定是否該邏輯處理器計數超 過最大邏輯處理器値(方塊550)。如果否的話,該處理500 進行到方塊570。否則,該處理500產生一失效或錯誤狀況 (方塊560),然後即中止。 如果該邏輯處理器存取種類爲一邏輯處理器離開或邏輯 處理器退出,該處理5 00更新在相反於該第一方向之第二 方向(如遞減)中的邏輯處理器計數(方塊545)。然後,該 處理500決定該邏輯處理器計數是否等於該最小値(如 零)(方塊555)。如果否的話,該處理500進行到方塊570。 否則,該處理500初始化來自所有隔離的資訊之快取記憶 體及該隔離設定暫存器(方塊565)。 接著,該處理500決定是否有下一個邏輯處理器存取(方 塊5 70)。如果有下一個邏輯處理器存取,該處理500回到 方塊520來執行一邏輯處理器存取指令。如果不再有邏輯 -30 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526416 A7 _______B7 _ 五、發明説明(28 ) 處理器存取,該處理500即中止。 在隔離執行環境中使用記憶體控制器 控制存取至多重隔離記憶體 上述的説明關於處理器11〇中的隔離執行處理。存取到該 多重隔離記憶體區域71,如圖1C所示,其進一步由MCH 130控制(圖1F)。請參考圖if,該處理器11〇檢視該MCH 130,做爲映射到一位址位置之輸入/輸出裝置。爲了存取 到該隔離的記憶體區域70,特別是該多重隔離記憶體區域 71(圖1C),因此該處理器110需要設sMCH 13〇中的記憶 體設定儲存。該MCH 130也包含控制功能來允許該處理器 110來同時存取該多重非隔離記憶體區域83(圖1 c )中的記 憶體140。該MCH 130透過該主匯流排120接收來自該處理 器110的信號,例如該隔離存取信號或該匯流排循環資訊。 在圖1F中,所示的MCH 130係在該處理器U0之外部。但 是,該MCH 130也可能包含在該處理器11〇之内。在此例 中,MCH 130中對暫存器之寫入循環被外部化來允許任何 外部快取來參與快取一貫性。 本質上,MCH 130中的存取控制器執行類似於圖3八中的 存取檢查電路270之功能。藉由維持處理器11〇及mch ^% 的存取一貫性,存取記憶體可被嚴密地控制。MCh ι3〇中 的存取控制器決定來自該處理器1 1 0的存取交易是否有 效。如果是的話,該存取控制器傳回一存取同意信號,、 允許完成該存取交易。否則,即產生一失效或錯誤狀況。 此外,MCH 130中的存取控制器也保護任何有意的或^外 -31 -V. Invention description (24: The result of Chengluo 342 and the cache access signal 235 (such as cache life). In a specific embodiment, the second synthesizer 344 executes a logic = ND operation difference Therefore, a processor can only probe out the line of = processor from the —isolated area. When the probe processor operates in the isolated execution mode, the page property is set to isolated and has a fast When hitting. Only when these conditions are met, the access transaction can be approved, and the processor probe access signal 276 can be generated for an isolated area. = FSB probe check circuit 33. Guaranteed in multiprocessor systems The proper function of the system is that when not all processors are initialized for access to isolated memory areas. The X-NOR element 342 ensures that a probe hit will only occur from processors that have allowed isolated access. If the processor is not involved in the access to the isolated memory region, it will not be able to probe the line of another processor, which is involved in access to the isolated memory region. Similarly, one has been enabled The processor for isolated access will Will inadvertently probe the line of another processor that is still enabled. The processor probe access signal 276 is asserted for an isolated area, representing an access hit, when the cache access signal 235 is asserted , Represents a cache hit, and when the externally isolated access signal 278 is asserted, the attribute 96 is set to be isolated. Figure 3B does not show the access check private circuit 270 according to another embodiment of the present invention. Coming and processing logical processor operation. The access check circuit wo includes a logical processor manager 360. A solid processor may have some logical processors. Each logical processor may enter or leave an isolated processor state, It is called logical processor memory 526416 A7 B7. Fifth, the invention description (25). A logical processor access is basically generated when the corresponding logical processor executes an isolated instruction, such as an isolated input ( iso_enter) and iso_exit. The logical processor manager 360 manages a logical processor operation caused by the logical processor access. Basically, the logical processing The manager 360 continuously tracks the number of enabled logical processors in the processor. The logical processor manager 360 includes a logical processor register 370, a logical processor state enabler 382, and a logical processor update 380, a minimum detector 374, and a maximum detector 376. The logical processor register 370 stores a logical processor count 372 to represent the number of currently enabled logical processors. The logical processor The state enabler 382 enables a logical processor state when the logical processor access is valid. The logical processor updater 380 updates the logical processor count 372 according to the logical processor access. The logical processor updater 380 is enabled by the enabled logical processor state. In a specific embodiment, the logical processor register 370 and the logical processor updater 380 are implemented as an up / down counter that can be enabled. The minimum detector 374 determines whether the logical processor count 372 is equal to a minimum logical processor count (e.g., zero). The maximum detector 376 determines whether the logical processor count 372 exceeds a maximum logical processor count. The maximum number of logical processors represents the maximum number of logical processors supported by the processor 110 in the isolated execution mode. The logical processor updater 380 initializes the logical processor register 370 upon system reset. The logical processor updater 380 updates the logical -28 in the first direction (such as increasing) when the access transaction corresponds to the logical processor login.-This paper size applies the Chinese National Standard (CNS) A4 specification (210X297 (Mm) 526416 A7 B7 V. Description of Invention (26) Device:,. The logic processor updater 38 updates the logic in the inverse direction, the second direction (such as decreasing) when the access processor, the S logical processor leaves, or a logical processor exits. The processor count 372, the field processor logical processor count 372 is equal to the minimum logical processor time, and the avoidance processor manager 36 causes the processor 11 to clear the cache. U 232 (Figure 2A) '' It restores it here by writing it back to the main memory and the isolation setting register (Figure 2A) from all isolation messages, where the initial condition in the element is stored. When the logical processor count 372 exceeds When a large logical processor is fetched, the logical processor manager 36 causes the processor 110 to generate a failure or error condition because the logical processor's number of hearts exceeds the logical processing that can be supported in the processor. The maximum number of processors. Figure 4 shows a flowchart of a process 400 for generating an isolated access to the same thinking in accordance with an embodiment of the present invention. At the start, the process 400 allocates pages to multiple isolations. Memory area (box 4 10). The process 400 then asserts the execution mode character in the processor control register to set the processor in the isolated execution mode (block 420). The process 400 then receives from a processor Access information for the access transaction (block 425). The access information includes a physical address (as provided by the TLB), an attribute (isolated / non-isolated) of the page, and an access type. Then ' The process 400 determines whether the attribute is set to isolation and the execution mode character is asserted (represented as isolation block 430). If not, the process 400 generates a failure or error condition (block 43 5) and is then Abort. Otherwise, the process 400 asserts the access consent signal (block 440). Then the process 400 is aborted. -29-This paper size applies the Chinese National Standard (CNS) A4 specification (210X297 mm) 526416 A7 B7 V. Description of the Invention (27) FIG. 5 shows a flowchart of a process 500 for managing the operation of a processing logic processor in accordance with a specific embodiment of the present invention. At the time of START, the process 500 can To initialize the logical processor register (block 510). The process 500 then executes a logical processor access instruction (such as iso_enter, iso_exit). The logical processor access instruction asserts the execution mode word Next, the process 500 enables the logical processor state (block 525). Then, the process 500 determines the logical processor access type (block 530). If the logical processor access type is a logical processor Upon logging in, the process 500 updates the logical processor count (eg, increments) in a first direction (block 540). The process 500 then determines whether the logical processor count exceeds the maximum logical processor (block 550). If not, the process 500 proceeds to block 570. Otherwise, the process 500 generates a failure or error condition (block 560) and then aborts. If the logical processor access type is a logical processor leaving or a logical processor exiting, the process 5 00 updates the logical processor count in a second direction (eg, decrementing) opposite to the first direction (block 545) . The process 500 then determines whether the logical processor count is equal to the minimum value (e.g., zero) (block 555). If not, the process 500 proceeds to block 570. Otherwise, the process 500 initializes the cache memory and the isolation setting register from all the isolated information (block 565). The process 500 then determines whether there is a next logical processor access (block 5 70). If there is a next logical processor access, the process 500 returns to block 520 to execute a logical processor access instruction. If there is no more logic -30-This paper size applies the Chinese National Standard (CNS) A4 specification (210X297 mm) 526416 A7 _______B7 _ V. Description of the invention (28) The processor accesses and the processing 500 is aborted. Using a memory controller in an isolated execution environment to control access to multiple isolated memories The above description is about isolated execution processing in the processor 110. The multiple isolated memory area 71 is accessed, as shown in FIG. 1C, which is further controlled by the MCH 130 (FIG. 1F). Please refer to FIG. If, the processor 110 views the MCH 130 as an input / output device mapped to a bit location. In order to access the isolated memory area 70, especially the multiple isolated memory area 71 (FIG. 1C), the processor 110 needs to set the memory settings in sMCH 13. The MCH 130 also includes a control function to allow the processor 110 to simultaneously access the memory 140 in the multiple non-isolated memory area 83 (FIG. 1c). The MCH 130 receives signals from the processor 110 through the main bus 120, such as the isolated access signal or the bus cycle information. In FIG. 1F, the MCH 130 shown is external to the processor U0. However, the MCH 130 may also be included in the processor 110. In this example, the write cycle to the scratchpad in MCH 130 is externalized to allow any external cache to participate in cache consistency. Essentially, the access controller in MCH 130 performs a function similar to the access check circuit 270 in FIG. 38. By maintaining processor 11 and mch ^% access consistency, access memory can be tightly controlled. The access controller in MCh 30 determines whether the access transaction from the processor 110 is valid. If so, the access controller returns an access consent signal to allow the access transaction to be completed. Otherwise, a failure or error condition is generated. In addition, the access controller in MCH 130 also protects any intentional or extraneous -31-

526416526416

的寫入到其本身的设定及控制儲存。因爲mch 係直接 與孩記憶體140連接,該存取控制器也提供在重置時,該 隔離記憶體區域的内容及其本身的内部儲存之初始化。 圖6所示爲根據本發明一具體實施例示於圖if的記憶體 控制器集線器(MCH) 130中的隔離區域控制器135。該存取 控制器135包含一設定儲存61〇, 一設定控制器64〇,及一 MCH存取檢查電路810。 該設定儲存610設定由該處理器11〇產生的一存取交易, 如圖1F所示。該處理器110具有一正常執行模式及一隔離 執行模式。該存取交易具有存取資訊66〇。該存取資訊66〇 係承載於主匯泥排120之上(圖1F ),並包含位址資訊及一 隔離存取狀態。該位址資訊由一實體位址662所代表。該 隔離存取狀態係由該隔離存取信號664所代表。該隔離存 取信號664基本上等於圖2 A所示的處理器隔離存取信號 272。該隔離存取信號664係在當該處理器11〇產生一有效 參考到該多重隔離記憶體區域71之一時來主張(如圖ic所 示)〇 该設定儲存610包寒該記憶體擁有權頁面表(mopt) 77的 快取660。該設定儲存610執行查詢快取660中的實體位址 662,以尋找該實體位址及一相關的頁面表登綠。如果該 實體位址並不在該快取2 19中,該設定儲存61 〇即本身執行 查詢MOPT 77(圖1E)中的實體位址662。該設定儲存61〇使 用該MOPT 221的基礎來查詢MOPT 77中的實體位址662。 也參考圖1E,由該MOPT 221的基礎開始,該設定儲存610 ___ - 32 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 526416 A7 B7 五、發明説明(30 ) 執行MOPT 77中的查詢,並尋找關於該實體位址662之頁面 表登錄93。該設定儲存可搜尋該頁面98的實體位址,以定 位出關於該實體位址之頁面表登錄93。每個頁面表登錄93 包含關於該實體位址之頁面的屬性96(隔離或非隔離),其 對設定該MCH 130的存取交易非常重要。其必須暸解到, 該執行一查詢到一頁面表來定位一實體位址及一相關的頁 面表登錄在本技藝中爲人所熟知,且其它執行該查詢的方 法亦對本技藝專業人士爲熟知。 該設定儲存250也包含設定參數來設定由MCH 130所產生 的一存取交易。該設定儲存包含一屬性暫存器6 11,其包 含關於該實體位址之頁面的屬性96,其設定給由該查詢發 現的隔離或非隔離。如前所述,該隔離的記憶體區域71僅 可由在隔離執行模式中的處理器110來存取。 該設定控制器640控制存取到該設定儲存610,並提供一 些控制功能給記憶體140。 該MCH存取檢查電路810使用該存取資訊660,該屬性 96,該隔離存取信號664及該隔離記憶體優先性736來產生 一存取同意信號652。該存取同意信號652代表該存取交易 是否有效。該存取同意信號652可由該處理器110或其它晶 片組或週邊裝置所使用,以決定嘗試存取該隔離記憶體區 域7 1是否被同意。 圖7所示爲根據本發明一具體實施例中示於圖6的MCH存 取檢查電路810。 該MCH存取檢查電路810根據該屬性96及該隔離存取信 -33 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 526416 A7 B7 五、發明説明(31 ) 號664來產生一存取同意信號652。該存取同意信號652代 表該存取交易是否有效。該MCH存取檢查電路810接收該 屬性96及該隔離的存取信號664,以產生一存取同意信號 652。該存取同意信號652到該隔離區域,在當該屬性96被 設定爲隔離時被主張,而該隔離存取信號664被主張係代 表一隔離存取爲有效,或被允許如設定者。在一具體實施 例中,該MCH存取檢查電路810執行一邏輯’’排除反或’’運 算。因此,當一處理器請求一隔離區域的實體位址時,僅 有當該處理器運作在該隔離執行模式,且關於該實體位址 的頁面之屬性被設定爲隔離時,該存取交易可被同意。 圖8所示爲根據本發明一具體實施例,對一 MCH的隔離 執行產生一存取同意信號之處理800。 在開始(START)時,該處理800設定該MCH的存取交易 (方塊810)。然後,處理800接收來自一存取交易的存取資 訊(方塊820)。該存取資訊包含一實體位址,一隔離存取 信號,及該頁面的屬性(隔離/非隔離)。接著,該處理800 決定是否該屬性設定無隔離,及是否該隔離存取信號被主 張(方塊830)。如果否的話,該處理800產生一失效或錯誤 狀況(方塊835),然後即中止。否則,該處理800主張該存 取同意信號(方塊840)。然後該處理800即中止。 當此發明已參考説明具體實施例來描述時,此説明並不 是要做爲限制。該説明具體實施例的不同修正,以及本發 明的其它具體實施例,對於本發明的專業人士皆可暸解到 其皆視爲落在本發明的精神及範圍之内。 -34 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)Write to its own settings and control storage. Because the mch is directly connected to the child memory 140, the access controller also provides initialization of the contents of the isolated memory area and its own internal storage during reset. Fig. 6 shows an isolated area controller 135 shown in the memory controller hub (MCH) 130 of Fig. 1 according to a specific embodiment of the present invention. The access controller 135 includes a setting memory 61, a setting controller 64, and an MCH access check circuit 810. The setting storage 610 sets an access transaction generated by the processor 110, as shown in FIG. 1F. The processor 110 has a normal execution mode and an isolated execution mode. The access transaction has access information 66. The access information 66 is carried on the main sink mud row 120 (FIG. 1F), and includes address information and an isolated access state. The address information is represented by a physical address 662. The isolated access state is represented by the isolated access signal 664. The isolated access signal 664 is substantially equal to the processor isolated access signal 272 shown in FIG. 2A. The isolated access signal 664 is asserted when the processor 11 generates a valid reference to one of the multiple isolated memory regions 71 (as shown in FIG. Ic). The setting stores 610 packets of the memory ownership page. Cache 660 for table (mopt) 77. The setting storage 610 executes the query of the physical address 662 in the cache 660 to find the physical address and a related page table to go green. If the physical address is not in the cache 2 19, the setting is stored in 61, that is, the physical address 662 in MOPT 77 (FIG. 1E) is queried by itself. The setting storage 61 uses the basis of the MOPT 221 to query the physical address 662 in the MOPT 77. Referring also to Figure 1E, starting from the basis of the MOPT 221, this setting stores 610 ___-32-This paper size applies the Chinese National Standard (CNS) A4 specification (210X 297 mm) 526416 A7 B7 V. Description of the invention (30) Implementation Lookup in MOPT 77 and look for page table entry 93 about the entity's address 662. The setting store searches the physical address of the page 98 to locate the page table registration 93 about the physical address. Each page table entry 93 contains an attribute 96 (isolated or non-isolated) about the page of the physical address, which is very important for setting the access transaction of the MCH 130. It must be understood that performing a query to a page table to locate an entity address and a related page table registration is well known in the art, and other methods of performing the query are also well known to the person skilled in the art. The setting store 250 also contains setting parameters to set an access transaction generated by the MCH 130. The setting store contains an attribute register 6 11 which contains the attribute 96 of the page about the entity address, which is set to the quarantine or non-quarantine found by the query. As mentioned earlier, the isolated memory area 71 can only be accessed by the processor 110 in the isolated execution mode. The setting controller 640 controls access to the setting storage 610 and provides some control functions to the memory 140. The MCH access check circuit 810 uses the access information 660, the attribute 96, the isolated access signal 664, and the isolated memory priority 736 to generate an access consent signal 652. The access approval signal 652 indicates whether the access transaction is valid. The access permission signal 652 can be used by the processor 110 or other chipset or peripheral device to determine whether the access to the isolated memory area 71 is approved. FIG. 7 shows an MCH access check circuit 810 shown in FIG. 6 according to a specific embodiment of the present invention. The MCH access check circuit 810 is based on the attribute 96 and the isolated access letter -33-This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm) 526416 A7 B7 V. Inventive note (31) 664 to generate an access consent signal 652. The access approval signal 652 represents whether the access transaction is valid. The MCH access check circuit 810 receives the attribute 96 and the isolated access signal 664 to generate an access consent signal 652. The access approval signal 652 to the isolation area is asserted when the attribute 96 is set to isolation, and the isolation access signal 664 is asserted to represent that an isolation access is valid, or allowed as set. In a specific embodiment, the MCH access check circuit 810 performs a logic '' exclusive OR 'operation. Therefore, when a processor requests the physical address of an isolated area, the access transaction can only be performed when the processor operates in the isolated execution mode and the attribute of the page about the physical address is set to isolated. Agreed. FIG. 8 shows a process 800 for generating an access consent signal for an MCH isolated implementation according to a specific embodiment of the present invention. At START, the process 800 sets an access transaction for the MCH (block 810). The process 800 then receives the access information from an access transaction (block 820). The access information includes a physical address, an isolated access signal, and attributes of the page (isolated / non-isolated). Next, the process 800 determines whether the attribute is set to be isolated and whether the isolated access signal is being asserted (block 830). If not, the process 800 generates a failure or error condition (block 835) and then aborts. Otherwise, the process 800 asserts the access consent signal (block 840). The process 800 is then aborted. When the invention has been described with reference to specific embodiments, the description is not intended to be limiting. Various modifications of the specific embodiments described in this description, as well as other specific embodiments of the invention, can be understood by those skilled in the invention as falling within the spirit and scope of the invention. -34-This paper size applies to China National Standard (CNS) A4 (210X297 mm)

Claims (1)

526416 A8 B8 C8 D8 第090117576號專利申請案 中文申請專利範圍替換本⑽年丨月) 申請專利範圍 1. -種用於隔離執行環境中控制至 憶體存取裝置,其包含: 哗匕 、1數理者,其分配複數個頁面分別到—記憶體的 =個不同區域,該記憶體區分為非隔離區域及隔離 區或,该頁面管理者位在記憶體的一隔離區域中;及 -記憶體擁有權頁面表位在記憶體的一隔離區域中, m記憶體擁有權頁面表說明了每個記憶體頁面。 2. 如申請專利範圍第η之裝置,其中該頁面管理者當該 頁面被分配到記憶體的一隔離區域時,指定一隔^屬 性到一頁面。 3·如申請專利範圍第2項之裝置,其中該頁面管理者在當 该頁面被分配到記憶體的一非隔離區域時,指定一非 隔離屬性給該頁面,該記憶體擁有權頁面表記錄每個 頁面的屬性。 4 ·如申请專利範圍第3項之裝置,進一步包含·· 一設足儲存,其包含結構設定來設定由具有一正常執 行模式及一隔離執行模式的處理器所產生的一存取交 易,該存取交易具有存取資訊;及 一存取檢查電路,其耦合於該設定儲存來檢查使用至 少該結構設定及該存取資訊之一的存取交易。 5 ·如申請專利範圍第4項之裝置,其中該結構設定包含一 頁面的屬性及一執行模式字元。 6 ·如申請專利範圍第5項之裝置,其中該存取資訊包含一 實體位址及一存取種類,該存取種類代表如果該存取 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) 526416 補充 A8 产 /7 B8 I 申请專利範圍 D8 人易為圮憶體存取,一輸入/輸出存取及一邏輯處理 器存取之一。 7 ·如申叫專利範圍第5項之裝置,其中該設定儲存進一步 ^ "屬性儲存,以包含一頁面的屬性,其定義該頁 面為隔離或非隔離。 8·如申請專利範圍第5項之裝置,其中該設定儲存進一步 包^ 一處理器控制暫存器來包含該執行模式字元,該 執仃杈式字兀在當該處理器被設定在隔離執行模式時 9.:申請專利範圍第5項之裝置,其中該存取檢查電路包 "丁^18存取檢查電路,以偵測是否該頁面的屬性被設 定為隔_,且該執行模式字元被主張,該咖存取檢查 電路產生一存取同意信號。 10·如申請專利範圍第5項之裝置,其中該存取檢查電路包 口耦。杰陕取的F S B刺探檢查電路,該F S B刺探 檢查電路結合該屬性,來自另一個處理器的外部隔離 存取信號,及-快取存取信號,該FSB刺探檢查電路 產生一處理器刺探存取信號。 11. -種用於隔離執行環境中控制至多重隔離記憶體之記 憶體存取方法,其包含: 利用-頁面管理者來分配複數個頁面分別到一記憶體 的複數個不同的區域,該記憶體區分成非隔離區域及 隔離區域,該頁面管理者位在記憶體的—隔離區域 中;及 -2 - 526416 圍範 專請 中 A B c D 修補 2 插述記憶體的每個頁面。 12·如申請專利範圍第丨丨項之方法,其中描述記憶體的每 個頁面包含如果該頁面被分配到記憶體的一隔離區域 時,指定一隔離屬性給一頁面。 13·如申請專利範圍第12項之方法,其中描述記憶體的每 個頁面進一步包含: 如果該頁面被分配到記憶體的一非隔離區域時,指定 非隔離屬性給該頁面;及 圮綠每個頁面的屬性在一記憶體擁有權頁面表中。 14. 如申請專利範圍第13項之方法,進一步包含: 设足由具有包含結構設定的一設定儲存之處理器所產 生的一存取交易,該處理器具有一正常執行模式及一 隔離執行模式,該存取交易具有存取資訊;及 使用至少該結構設定及該存取資訊之一來由一存取檢 查電路檢查該存取交易。 15. 如申請專利範圍第14項之方法,其中該結構設定包含 一頁面的屬性及一執行模式字元。 16. 如申請專利範圍第15項之方法,其中該存取資訊包含 一實體位址及一存取種類,該存取種類代表如果該存 取交易為一記憶體存取,一輸入/輸出存取及一邏輯處 理器存取之一。 17. 如申清專利範圍第15項之方法,其中設定該存取交易 進一步包含: 設定該頁面的屬性為隔離或非隔離;及 本紙張尺度it财s S家標準(CNS) A4規ϋ〇Χ297公爱) 526416526416 A8 B8 C8 D8 patent application No. 090117576 Chinese patent application scope replaces this leap year 丨 month) Patent application scope 1.-A device used to isolate the control to memory access device in the execution environment, which includes: dagger, 1 A mathematician allocates a number of pages to-different areas of the memory, the memory is divided into non-isolated areas and isolated areas, or the page manager is located in an isolated area of the memory; and-memory The ownership page table is located in an isolated area of the memory, and the m memory ownership page table describes each memory page. 2. For a device with a scope of patent application n, in which the page manager assigns an attribute to a page when the page is allocated to an isolated area of the memory. 3. If the device of the scope of patent application No. 2, wherein the page manager assigns a non-isolated attribute to the page when the page is allocated to a non-isolated area of the memory, the memory ownership page table records Properties of each page. 4. If the device of the scope of patent application item 3, further includes a set of storage, which includes a structural setting to set an access transaction generated by a processor having a normal execution mode and an isolated execution mode, the The access transaction has access information; and an access check circuit coupled to the setting store to check an access transaction using at least one of the configuration setting and the access information. 5. The device according to item 4 of the scope of patent application, wherein the structure setting includes a page attribute and an execution mode character. 6 · If the device in the scope of patent application No. 5, wherein the access information includes a physical address and an access type, the access type represents that if the access to this paper size applies the Chinese National Standard (CNS) Α4 specification ( 210X297 mm) 526416 Supplement A8 / 7 B8 I Patent application scope D8 One of memory access, one input / output access and one logic processor access. 7 · If the device is claimed as item 5 of the patent scope, the setting storage is further stored ^ " attribute storage to contain the attributes of a page, which defines the page as isolated or non-isolated. 8. The device according to item 5 of the scope of patent application, wherein the setting storage further includes a processor control register to contain the execution mode character, and the execution branch type character is set when the processor is set in isolation In the execution mode 9 .: The device under the scope of application for patent No. 5 wherein the access check circuit package " D ^ 18 access check circuit to detect whether the attribute of the page is set to be separated by _, and the execution mode The character is asserted, and the access check circuit generates an access consent signal. 10. The device of claim 5 in which the access check circuit is coupled. The FSB sniffer inspection circuit obtained by Jie Shan, the FSB sniffer inspection circuit combines this attribute, an externally isolated access signal from another processor, and a cache access signal. The FSB sniffer inspection circuit generates a processor sniffer access. signal. 11. A memory access method for controlling to multiple isolated memories in an isolated execution environment, comprising: utilizing a page manager to allocate a plurality of pages to a plurality of different areas of a memory, the memory The body is divided into non-isolated area and isolated area, and the page manager is located in the isolated area of memory; and-2-526416, please refer to AB c D patch 2 to interpolate each page of memory. 12. The method according to item 丨 丨 in the scope of patent application, wherein each page describing the memory includes assigning an isolation attribute to a page if the page is allocated to an isolated region of the memory. 13. The method of claim 12, wherein each page describing the memory further includes: if the page is allocated to a non-isolated area of the memory, assign non-isolated attributes to the page; and The attributes of each page are in a memory ownership page table. 14. The method according to item 13 of the scope of patent application, further comprising: setting up an access transaction generated by a processor having a configuration store containing a structural setting, the processor having a normal execution mode and an isolated execution mode, The access transaction has access information; and an access check circuit is used to check the access transaction using at least one of the configuration settings and the access information. 15. The method according to item 14 of the patent application scope, wherein the structure setting includes a page attribute and an execution mode character. 16. The method of claim 15 in which the access information includes a physical address and an access type, and the access type represents that if the access transaction is a memory access, an input / output storage Access one of a logical processor access. 17. The method of claiming item 15 of the patent scope, wherein setting the access transaction further includes: setting the attribute of the page to be segregated or non-segregated; and the paper standard IT Standard (CNS) A4 regulations. (X297 public love) 526416 儲存該屬性在該設定儲存内的一屬性儲存中。 18.如申請專利範圍第丨5項之方法,其中設定該存取交易 進一步包含當該處理器被設定在該隔離執行模式時, 主張儲存在一處理器控制暫存器中的該執行模式字 元。 19·如申請專利範圍第15項之方法,其中檢查該存取交易 包含: 偵測是否該頁面的屬性被設定到隔離; 偵測是否該執行模式字元被主張;及 產生一存取同意信號。 20·如申清專利範圍第丨5項之方法,其中檢查該存取交易 包含: 結合該屬性,來自另一個處理器的外部隔離存取信 號’及一快取存取信號;及 產生一處理器刺探存取信號。 21. —種電腦程式產品,其包含: 一機器可讀取媒體,其中包含有電腦程式碼,該電腦 孝王式產品包含: 電腦可讀取程式碼,用以利用一頁面管理者複 數個頁面分別到-記憶體的複數個不同的區域,該記 憶體區分成非隔離區域及隔離區域,該頁面管理者位 在記憶體的一隔離區域中;及 電腦可讀取程式碼,用以描述記憶體的每個頁面。 22·如申請專利範圍第21項之電腦程式產品,其中用以描述 -4 - 526416 A BCD >年1月成知正 二補充 申請專利範圍 1己憶體的每個頁面之電腦可讀取程式碼包含如果該頁 面被分配到記憶體的一隔離區域時,用以指定一隔離 屬性到一頁面之電腦可讀取程式碼。 23.如申請專利範圍第22項之電腦程式產品,其中用以描 述記憶體的每個頁面之電腦可讀取程式碼進一步 含: 匕如果該頁面被分配到記憶體的一非隔離區域時,用以 指定一非隔離屬性到該頁面之電腦可讀取程式碼; 用以圮錄在一記憶體擁有權頁面表中每個頁面之屬性 的電腦可讀取程式碼。 24·如申請專利範圍第23項之電腦程式產品,進一步包 含: 用以α又足具有包含結構设定的一設定儲存之處理器所 產生的一存取交易的電腦可讀取程式碼,該處理器具 有一正常執行模式及一隔離執行模式,該存取交易具 有存取資訊;及 用以使用至少該結構設定及該存取資訊之一來由一存 取檢查電路檢查該存取交易之電腦可讀取程式碼。 25. 如申請專利範圍第24項之電腦程式產品,其中該結構 設定包含一頁面的屬性及一執行模式字元。 26. 如申請專利範圍第25項之電腦程式產品,其中該存取 資訊包含一實體位址及一存取種類,該存取種類代表 如果該存取交易為一記憶體存取,一輸入/輸出存取及 一邏輯處理器存取之一。 本紙張尺度適用中國國家標準(CNS) A4規格(210x 297公釐)The attribute is stored in an attribute store in the setting store. 18. The method of claim 5 in claim 5, wherein setting the access transaction further includes claiming the execution mode word stored in a processor control register when the processor is set in the isolated execution mode. yuan. 19. The method according to item 15 of the patent application scope, wherein checking the access transaction includes: detecting whether the attribute of the page is set to quarantine; detecting whether the execution mode character is claimed; and generating an access consent signal . 20. The method of claim 5 in claiming a patent, wherein checking the access transaction includes: combining the attribute, an externally isolated access signal from another processor 'and a cache access signal; and generating a process The device probes the access signal. 21. —A computer program product comprising: a machine-readable medium containing computer code, the computer filial king product includes: a computer-readable code for using a page manager to have multiple pages, respectively To-a plurality of different areas of the memory, the memory is divided into non-isolated areas and isolated areas, the page manager is located in an isolated area of the memory; and computer-readable code to describe the memory Every page. 22 · If the computer program product in the scope of patent application No. 21, which is used to describe-4-526416 A BCD > January, 2010, Cheng Zhizheng supplemented the patent scope 1 of each page of the computer readable program The code includes a computer-readable code for specifying an isolation attribute to a page if the page is allocated to an isolated area of the memory. 23. The computer program product of claim 22, wherein the computer-readable code used to describe each page of the memory further includes: If the page is allocated to a non-isolated area of the memory, Computer readable code for assigning a non-isolated attribute to the page; computer readable code for recording the attributes of each page in a memory ownership page table. 24. The computer program product according to item 23 of the scope of patent application, further comprising: computer-readable code for an access transaction generated by a processor having a configuration storage containing a configuration setting, The processor has a normal execution mode and an isolated execution mode, the access transaction has access information; and a computer for checking the access transaction by an access check circuit using at least one of the configuration settings and the access information Can read code. 25. For the computer program product under the scope of application for patent No. 24, the structure setting includes a page attribute and an execution mode character. 26. For a computer program product under the scope of application for a patent, the access information includes a physical address and an access type. The access type represents that if the access transaction is a memory access, an input / One of output access and a logical processor access. This paper size applies to China National Standard (CNS) A4 (210x 297 mm) A8 B8 C8 D8 526416 六、申請專利範圍 27. 如申請專利範圍第25項之電腦程式產品,其中用以設 定該存取交易之電腦可讀取程式碼進一步包含: 用以設定該頁面的屬性為隔離或非隔離的電腦可讀取 程式碼;及 用以儲存該屬性在該設定儲存内一屬性儲存中。 28. 如申請專利範圍第25項之電腦程式產品,其中用以設 定該存取交易的該電腦可讀取程式碼進一步包含該處 理器設定在隔離執行模式時,用以主張儲存在一處理 器控制暫存器的執行模式字元。 29·如申請專利範圍第25項之電腦程式產品,其中用以檢 查該存取交易的該電可讀取程式碼包含: 用以偵測是否該頁面的屬性設定為隔離之電腦可讀取 程式; 用以偵測是否該執行模式字元被主張之電腦可讀取程 式碼;及 用以產生一存取同意信號的電腦可讀取程式碼。 30. 如申請專利範圍第25項之電腦程式產品,其中用以檢 查該存取交易之電腦可讀取程式碼包含: Λ 用以結合該屬性,來自另一個處理器的外部隔離存取 信號,及一快取存取信號之電腦可讀取程式碼;及 用以產生一處理器刺探存取信號之電腦可讀取程式 碼。 31. —種用於隔離執行環境中控制至多重隔離記憶體之記 憶體存取系統,其包含: -6 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公董)A8 B8 C8 D8 526416 6. Scope of patent application 27. For the computer program product with the scope of patent application No. 25, the computer-readable code for setting the access transaction further includes: The attribute used to set the page is The isolated or non-isolated computer can read the code; and used to store the attribute in an attribute store in the setting store. 28. For example, the computer program product with the scope of application for patent No. 25, wherein the computer readable code for setting the access transaction further includes that the processor is set to isolate a processor when it is set in an isolated execution mode. Characters that control the execution mode of the register. 29. If the computer program product of item 25 of the scope of patent application, the electrically readable code for checking the access transaction includes: a computer readable program for detecting whether the attribute of the page is set to be isolated A computer-readable code for detecting whether the execution mode character is claimed; and a computer-readable code for generating an access consent signal. 30. For the computer program product with the scope of application for patent No. 25, the computer-readable code for checking the access transaction includes: Λ is used to combine the attribute and an external isolated access signal from another processor, And a computer-readable code that caches an access signal; and a computer-readable code that generates a processor to probe the access signal. 31. —A memory access system for controlling to multiple isolated memories in an isolated execution environment, including: -6-This paper size applies to the Chinese National Standard (CNS) A4 specification (210 X 297 public directors) 一晶片組; 搞合於該晶片組的一記憶體; 摘合於該晶片組及該記憶體的一處理器,該處理器具 有一正常執行模式及一隔離執行模式。 /、 在該處理器控制之下的一頁面管理者,該頁面管理者 分配複數個頁面分別到一記憶體的複數假不同區域, 該記憶體區分為非隔離區域及隔離區域,該頁面管理 者位在記憶體的一隔離區域中;及 一記憶體擁有權頁面表位在記憶體的一隔離區域中, 該記憶體擁有權頁面表說明了每個記憶體頁面。 32·如申凊專利範圍第3 1項之系統,其中該頁面管理者當 該頁面被分配到記憶體的一隔離區域時,指定一隔離 屬性到一頁面。 33·如申請專利範圍第32項之系統,其中該頁面管理者在 當該頁面被分配到記憶體的一非隔離區域時,指定一 非隔離屬性給該頁面,該記憶體擁有權頁面表記錄每 個頁面的屬性。 34.如申請專利範圍第33項之系統,進一步包含: 一設定儲存,其包含結構設定來設定由具有一正常執 行模式及一隔離執行模式的處理器所產生的一存取交 易,該存取交易具有存取資訊;及 一存取檢查電路,其耦合於該設定儲存來檢查使用至 少該結構設定及該存取資訊之一的存取交易。 35·如申請專利範圍第34項之系統,其中該結構設定包含 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) Α8 Β8 C8 D8 申請專利範圍 一頁面的屬性及一執行模式字元。 36·如申清專利範圍第35項之系統,其中該存取資訊包含 一貫體位址及一存取種類,該存取種類代表如果該存 取又易為一記憶體存取,一輸入/輸出存取及一邏輯處 理器存取之一。 37. 如申請專利範圍第乃項之系統,其中該設定儲存進一 步L έ 一屬性儲存,以包含一頁面的屬性,其定義該 頁面為隔離或非隔離。 38. 如申請專利範圍第35項之系統,其中該設定儲存進一 步包含一處理器控制暫存器來包含該執行模式字元, 咸執行模式字元在當該處理器被設定在隔離執行模式 時被主張。 39·如申請專利範圍第35項之系統,其中該存取檢查電路 包含一 TLB存取檢查電路,以偵測是否該頁面的屬性被 設定為隔離,且該執行模式字元被主張,該TLb存取檢 查電路產生一存取同意信號。 40·如申請專利範圍第35項之系統,其中該存取檢查電路 包含一耦合於一快取的FSB刺探檢查電路,該fsb刺 探檢查電路結合該屬性,來自另一個處理器的外部隔 離存取信號,及一快取存取信號,該F s B刺探檢查電 路產生一處理器刺探存取信號。 -8 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)A chipset; a memory coupled to the chipset; a processor coupled to the chipset and the memory, the processor having a normal execution mode and an isolated execution mode. /. A page manager under the control of the processor, the page manager allocates a plurality of pages to a plurality of pseudo-different regions of a memory, and the memory is divided into a non-isolated region and an isolated region. The page manager Is located in an isolated area of the memory; and a memory ownership page table is located in an isolated area of the memory, the memory ownership page table describes each memory page. 32. The system of claim 31, wherein the page manager assigns an isolated attribute to a page when the page is allocated to an isolated area of the memory. 33. The system of claim 32, wherein the page manager assigns a non-isolated attribute to the page when the page is allocated to a non-isolated area of the memory, and the memory ownership page table records Properties of each page. 34. The system according to item 33 of the scope of patent application, further comprising: a setting storage, which includes a structure setting to set an access transaction generated by a processor having a normal execution mode and an isolated execution mode, the access The transaction has access information; and an access check circuit coupled to the setting store to check an access transaction using at least one of the configuration setting and the access information. 35. If the system of item 34 of the scope of patent application is applied, the structure setting includes the Chinese paper standard (CNS) A4 specification (210X297 mm) applicable to this paper size. A8 Β8 C8 D8 The scope of the patent application, a page attribute and an execution mode word. yuan. 36. If the system of claim 35 of the patent scope is declared, the access information includes a consistent address and an access type, and the access type represents that if the access is easily a memory access, an input / output One of access and a logical processor access. 37. If the system of the scope of patent application is item No. 1, the setting is stored further, and an attribute is stored to include a page attribute, which defines the page as isolated or non-isolated. 38. The system of claim 35, wherein the setting storage further includes a processor control register to contain the execution mode character. When the processor is set in the isolated execution mode, Be asserted. 39. The system of claim 35, wherein the access check circuit includes a TLB access check circuit to detect whether the attribute of the page is set to be isolated and the execution mode character is claimed, the TLb The access check circuit generates an access consent signal. 40. The system of claim 35, wherein the access check circuit includes an FSB probe check circuit coupled to a cache, and the fsb probe check circuit combines the attribute with external isolated access from another processor Signal, and a cache access signal, the F s B probe check circuit generates a processor probe access signal. -8-This paper size applies to China National Standard (CNS) A4 (210 X 297 mm)
TW090117576A 2000-07-18 2001-07-18 Controlling access to multiple isolated memories in an isolated execution environment TW526416B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/618,738 US6678825B1 (en) 2000-03-31 2000-07-18 Controlling access to multiple isolated memories in an isolated execution environment

Publications (1)

Publication Number Publication Date
TW526416B true TW526416B (en) 2003-04-01

Family

ID=24478929

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090117576A TW526416B (en) 2000-07-18 2001-07-18 Controlling access to multiple isolated memories in an isolated execution environment

Country Status (8)

Country Link
JP (1) JP3982687B2 (en)
CN (1) CN1252597C (en)
AU (1) AU2001271996A1 (en)
DE (1) DE10196440B4 (en)
GB (1) GB2381626B (en)
HK (1) HK1052237B (en)
TW (1) TW526416B (en)
WO (1) WO2002006929A2 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378005A (en) * 2001-07-27 2003-01-29 Chien-Tzu Hou Method for Controlling Paged Memory Access Attributes
US7571318B2 (en) * 2002-03-27 2009-08-04 Advanced Micro Devices, Inc. Method and apparatus for improved security in a data processor
US7325115B2 (en) * 2003-11-25 2008-01-29 Microsoft Corporation Encryption of system paging file
EP1544820B1 (en) * 2003-12-11 2013-07-31 Atos Worldline S.A. Electronic data processing device
US7590867B2 (en) 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
KR100917290B1 (en) * 2004-06-24 2009-09-11 인텔 코오퍼레이션 Method and apparatus for secure virtualization of trust platform module
US8074262B2 (en) 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
US7613921B2 (en) 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US7571312B2 (en) 2005-05-13 2009-08-04 Intel Corporation Methods and apparatus for generating endorsement credentials for software-based security coprocessors
US7587595B2 (en) 2005-05-13 2009-09-08 Intel Corporation Method and apparatus for providing software-based security coprocessors
US7636442B2 (en) 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
US8108668B2 (en) 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
US7477535B2 (en) * 2006-10-05 2009-01-13 Nokia Corporation 3D chip arrangement including memory manager
US9280659B2 (en) 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US8060876B2 (en) 2007-08-10 2011-11-15 Intel Corporation Methods and apparatus for creating an isolated partition for a virtual trusted platform module
US8064605B2 (en) 2007-09-27 2011-11-22 Intel Corporation Methods and apparatus for providing upgradeable key bindings for trusted platform modules
US8249257B2 (en) 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
US8584229B2 (en) 2007-12-21 2013-11-12 Intel Corporation Methods and apparatus supporting access to physical and virtual trusted platform modules
US8307180B2 (en) * 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
CN103209212B (en) * 2013-03-22 2015-09-16 烽火通信科技股份有限公司 Based on the data cache method in the Web network management client of RIA and system
US9710622B2 (en) * 2015-02-23 2017-07-18 Intel Corporation Instructions and logic to fork processes of secure enclaves and establish child enclaves in a secure enclave page cache
CN106528453B (en) * 2015-09-10 2019-10-18 中国航空工业第六一八研究所 Device and method for page table partition management based on composite scale page

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
EP0600112A1 (en) * 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Data processing system with virtual memory addressing and memory access controlled by keys
US6542919B1 (en) * 1996-03-22 2003-04-01 Koninklijke Philips Electronics N.V. Operating system for use with protection domains in a single address space
DE19735948C1 (en) * 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Method for improving controllability in data processing equipment with translation-look-aside-buffer (TLB)
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings

Also Published As

Publication number Publication date
HK1052237A1 (en) 2003-09-05
AU2001271996A1 (en) 2002-01-30
GB2381626A (en) 2003-05-07
CN1459059A (en) 2003-11-26
CN1252597C (en) 2006-04-19
WO2002006929A3 (en) 2002-04-25
JP3982687B2 (en) 2007-09-26
JP2004504663A (en) 2004-02-12
GB0303644D0 (en) 2003-03-19
DE10196440B4 (en) 2006-03-23
DE10196440T5 (en) 2004-04-29
GB2381626B (en) 2005-02-09
WO2002006929A2 (en) 2002-01-24
HK1052237B (en) 2005-06-03

Similar Documents

Publication Publication Date Title
TW526416B (en) Controlling access to multiple isolated memories in an isolated execution environment
US6678825B1 (en) Controlling access to multiple isolated memories in an isolated execution environment
US6633963B1 (en) Controlling access to multiple memory zones in an isolated execution environment
US6795905B1 (en) Controlling accesses to isolated memory using a memory controller for isolated execution
US6934817B2 (en) Controlling access to multiple memory zones in an isolated execution environment
JP4719398B2 (en) Separate instructions for separate execution
US7254707B2 (en) Platform and method for remote attestation of a platform
KR100975981B1 (en) Trusted clients using the security kernel under secure execution mode
AU611468B2 (en) Virtual input/output commands
US7149854B2 (en) External locking mechanism for personal computer memory locations
US7010684B2 (en) Method and apparatus for authenticating an open system application to a portable IC device
KR100938305B1 (en) High reliability firmware
US6941458B1 (en) Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7194634B2 (en) Attestation key memory device and bus
US7013484B1 (en) Managing a secure environment using a chipset in isolated execution mode
Mandt et al. Demystifying the secure enclave processor
JP2003529984A (en) Generating key hierarchies for use in a separate execution environment
US7013481B1 (en) Attestation key memory device and bus
Shepherd et al. Trusted Execution Environments
US7089418B1 (en) Managing accesses in a processor for isolated execution
US7111176B1 (en) Generating isolated bus cycles for isolated execution
US7389427B1 (en) Mechanism to secure computer output from software attack using isolated execution
US6769058B1 (en) Resetting a processor in an isolated execution environment
Yao et al. A tour beyond BIOS: Using IOMMU for DMA protection in UEFI firmware
GB2405973A (en) Retrieving audit log with attestation cycles

Legal Events

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