TW200300885A - System and method for handling device accesses to a memory providing increased memory access security - Google Patents

System and method for handling device accesses to a memory providing increased memory access security Download PDF

Info

Publication number
TW200300885A
TW200300885A TW091134576A TW91134576A TW200300885A TW 200300885 A TW200300885 A TW 200300885A TW 091134576 A TW091134576 A TW 091134576A TW 91134576 A TW91134576 A TW 91134576A TW 200300885 A TW200300885 A TW 200300885A
Authority
TW
Taiwan
Prior art keywords
access
memory
page
security
item
Prior art date
Application number
TW091134576A
Other languages
English (en)
Other versions
TWI262389B (en
Inventor
Geoffrey S Strongin
Brian C Barnes
Rodney W Schmidt
Original Assignee
Advanced Micro Devices Inc
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
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of TW200300885A publication Critical patent/TW200300885A/zh
Application granted granted Critical
Publication of TWI262389B publication Critical patent/TWI262389B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

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)

Description

五、發明說明(2) 記憶體單元内。者 p DTT . 該分頁的複製部:不在生一特定分頁内的一位址,且 頁的資料自該記憶體單元之内U所需要分 複製到主記 頁的資料自哕鉍丄, 丨心肌干儿 < 円時, 、 Μ車乂大但較慢的非揮發性儲在€ _…带j ί丨士# 憶體單元中。在兮和e丄开平知r玍储存早兀稷製到主吕己 體單元複製到該ΓμΪ π I,可將另—分頁的資料自主記憶 刮空間。 非揮發性儲存單元,《便騰出該所需分頁 钱的二擬2址8二x:6: χ86)處理器架構包括用來支援受保 ;= ί亦即保護模式)之若干專用硬體元 1干 兄在將利用弟1至繁办% ηΒ :浐泠舛# # μ 3圖末明一使用Χδ6處理器如何 的一羽4 Γ版及^ 體保護功能。第1圖為Χ8 6處理器架 ^“口線性至實冑之位址轉換機制1〇〇, “ χ86處理 :二::位址轉換機制100,且線性至實體之位址轉換機 制100涉及在該χ86處理器内產生的—個線性位址1〇2、一 個分頁表目錄(亦即分頁目錄)104、包括一個分頁表106 的多個分頁表、包括一個分頁框1〇8的多個分頁框、及一 控制暫存為、3 ( con1:ro1 register 3, CR3) 1 1 0。該分頁 目錄1 0 4及該等多個分頁表是由作業系統軟體(亦即作業 系統)所產生並維護之分頁記憶體資料結構,分頁目錄 1 0 4必然是在記憶體(例如主記憶體單元)内。為了簡化 k明,亦將假設分頁表1 〇 6及分頁框1 〇 8係位於該記憶體 中 〇 •如第1圖所示,係將線性位址1 〇 2分成三個部分,以便 声成線性至實體之位址轉換。CR3 11 〇的最高階位元係用 末儲存分頁目錄基址暫存值(page directory base
92223. ptd
第8頁 200300885 五、發明說明(3) register)。該分頁目錄基址暫存器值是存放分頁目錄104 的一個記憶體分頁之基址,分頁目錄1 0 4包含多個分頁目 錄資料項,其中包括一個分頁目錄資料項1 1 2。係將其中 包括線性位址1 0 2的最高階位元或最高有效位元的線性位 址1 0 2之較高 π目錄索引π部分用來作為分頁目錄1 0 4的索 引,利用 1 1 0中儲存的分頁目錄基址暫存器值及線性 位址1 02的該較高 π目錄索引π部分,而自分頁目錄1 04内 選出分頁目錄資料項1 1 2。 第2圖係X 8 6處理器架構的分頁目錄資料項袼式2 0 0。 如第2圖所示,特定分頁目錄資料項的最高階(亦即最高 有效)位元包含分頁表基址,其中該分頁表基址是存放對 應的分頁表的記憶體分頁之基址’係將分頁目錄資料項 1 1 2的該分頁表基址用來選擇對應的分頁表1 0 6。 茲再參閱第1圖,分頁表1 0 6包括具有分頁表資料項 1 1 4的多個分頁表資料項,係將線性位址1 0 2的中間 π表索 引”部分用來作為分頁表1 0 6的索引,藉此,藉此選擇該 分頁表資料項1 1 4。第3圖係χ86處理器架構的分頁表資料 項格式3 0 0。如第3圖所示,特定分頁表資料項的最高階 (亦即最高有效)位元包含分頁框基址,其中該分頁框基 址是一對應的分頁框之基址。 再參閱第1圖,係將分頁表資料項1 1 4的該分頁框基址 用來選擇對應的分頁框1 0 8,該分頁框1 0 8,包含多個記憶 位置。線性位址1 0 2的較低位置或 π位移量π位置係用來 作為分頁框1 0 8的索引。當分頁表資料項1 1 4的分頁框基址
92223.ptd 第9頁 200300885 五、發明說明(4) 與線性位址1 0 2的該位移量部分合併時,將產生對應於該 線性位址1 0 2的實體位址,並指示在分頁框1 0 8内的記憶位 置1 1 6,該記憶位置1 1 6具有自線性至實體之位址轉換所得 到的實體位址。 就記憶體保護功能而論,第2圖之分頁目錄資料項格 式2 0 0及第3圖所示之分頁表資料項格式3 0 0包含使用者/ 監督程式(User/Supervisor,U/S)位元及讀取/寫入 (R ead/Write,R/W)位元。作業系統利用 U/S及 R/W 位元的内容來使對應的分頁框(亦即記憶體分頁)不會受 #未經授權的存取。U / S = 0係用來表示作業系統記憶體 分頁,且對應於作業系統的一 π監督程式π等級,作業系 統的監督程式等級對應於由X 8 6處理器執行的軟體程式及 常式之目前特權等級 0( Current Privilege Level 0, CPL0) 。U/S>0(亦即 U/S=l 2,或 3)亦用來指示使用 者記憶體分頁,且對應於作業系統的一個π使用者’’等 級。 R / W位元係用來指示對於對應的記憶體分頁所容許之 存取類型,R/W = 0指示只容許讀取對應的記憶體分頁(亦 即,對應的記憶體分頁是 π唯讀的”),R/W= 1指示容許 @取及寫入對應的記憶體分頁(亦即,對應的記憶體分頁 是’’讀寫的”)。 . 在第1圖的線性至實體之位址轉換作業期間,計算對 應於分頁框1 0 8的分頁目錄資料項1 1 2及分頁表資料項1 1 4 ‘勺 U / S位元内容之邏輯”及”,以便決定對分頁框1 0 8的
92223. ptd 第10頁 200300885 五、發明說明(5) 存取是否經授權。同樣地,計算分頁目錄資料項11 2及分 頁表資料項1 1 4的 R/W位元内容之邏輯”及",以便決定 對分頁框1 08的存取是否授權。如果 U/S及 R/W位元在 邏輯上的合併指示對分頁框1 0 8的存取係授權,則使用該 實體位址來存取記憶位置11 6。另一方面,如果 U / S及 R / W位元在邏輯上的合併指示對分頁框1 0 8的存取並未授 權,則不存取記憶位置1 1 6,並通知一保護錯誤指示。 但是很不幸,前述的x8 6處理器架構之記憶體保護機 制並不足以保護記憶體中儲存的資料。例如,執行監督程 式等級(例如具有 0的 CPL)的任何軟體程式或常式可 存取記憶體的任何部分,並可修改(即寫入)記憶體中並未 標示為’’唯讀n ( R/W=0)的任何部分。此外,由於在監督 程式等級下的執行,該軟體程式或常式可改變記憶體的任 何部分之屬性(亦即 U/S及 R/W位元),該軟體程式或 常式因而可將記憶體中標示為 π唯讀π的任何部分改變為 ”讀寫n ( R/W=l),然後繼續修改記憶體的該部分。 X 8 6處理器架構的保護機制亦不適於防止可在作業上 耦合到記憶體的硬體裝置對記憶體的迷途(errant)之或惡 意的存取,因為硬體裝置(如前述在不先改變記憶體中標 示為 π唯讀π的部分的屬性之前)確實無法以寫入作業修 改記憶體中標示為’’唯讀η的這些部分,而處理在硬體裝 置與記憶體間之資料轉移的軟體程式或常式(例如裝置驅 動程式)也確實通常在使用者等級(例如 CPL3)下執 行,且不容許存取記憶體中標示為監督程式等級(U / S = 0
92223.ptd 第11頁 200300885 五、發明說明(6) )的各部分。然而,X 8 6處理裔架構的保|蔓機 , 因指令執行(亦即程式設定的輸入/輪出)】/、’函盖了 行的裝置存取,裝置驅動程式可將具有匯a 4而對記憶體執 %排主控吱首掊 記憶體存取(cHrect memory access,DMA)能力硬卿^接 、置設定成可將資料自該裝置轉移到記憶體φ — 肢衣 存取的任何部分。例如,較容易將軟碟控制% 衣置」 自軟碟的資料直接轉移到記憶體中用來儲存 乂寸木 #分。 乍業糸統的一 [發明内容] ®本發明說明了 一種主橋接器,該主橋技$ — 1 如钱為'包括記憶體 控制器' 及存取保全檢查單元(security check unit, security-保全,表示不允許非經授權人近接之措施或機 制)。該記憶體控制器適於搞合到用來儲存在多個記情體 分頁内配置的資料之記憶體’該記憶體控制器接收記 存取信號(例如,在記憶體存取期間),並藉由存取^ = 憶體而回應該等記憶體存取信號。該存取保全檢查單^接 收該等記憶體存取信號,其中該等記憶體存取信號載送一 在目標記憶體分頁之内的一實體位址,該存取保全檢查單 务利用該實體位址來存取位於該記憶體中的一個或多個存 敗^ 1 ΐ性貧料結構,以便取得該目標記憶體分頁的一存 的;f性。该存取保全檢查單元根據該目標記憶體分頁 體ί制=全屬性,而將該等記憶體存取信號提供給該記憶 .°玄個或多個存取保全屬性資料結構可包括一存取保
92223. ptd 第12頁 Μι 200300885 五、發明說明(7) ~ ~-一- 全屬性表目錄及一個或多個存取保全屬性表,該存取 屬性表目錄可包含多個資料項,該存取保全屬性铭= 每-資料項可包含-存在位元及一存取保全屬性:基= 位,孩存在位7C可指不對應於存取保全屬性表目錄百 的一存取保全屬性表是否存在於記憶體中。可將該存取保 全屬性表基址欄位保留給對應於存取保全屬性表目次祖 項的存取保全屬性表之一基址,該一個或多個存取保^屬 性表可包含多個資料項。該一個或多個存取保全屬性 每一資料項可包含一受存取保全的分頁(、
Page,SP)位元,用以指示一對應的記憶體 受存取保全的分頁。 只疋令為一 可由一耦合到該主橋接器的一裝置硬體單元產生該 記憶體存取信號,該目標記憶體分頁的存取保全屬性^勺 含一受存取保全的分頁(sp)位元』以指示 二 體分頁是否為一受存取保全的分頁。當該受存取保全的 頁(SP)位元指示該目標記憶體分頁不是一受存取二 分頁時,㈣取保^查單元可將料記憶體存取信: 供給忒e憶體控制益。當該受存取保全的分 :, 存取可能是未經授權的,:分頁時,該記憶 兮笨咛•产鱗六敢尸% ’ 〜存取保全檢查單元不可將 盧寺尤丨思脱存取l唬棱供給該記憶體控。 違寺纟己憶體存取信號可#千一 如,該記憶體存取類型可“二2随存取類型,例 當該受存取保全的分頁(二位5:Γ;;或一寫入存取。 才曰不忒目標記憶體分頁
92223. ptd 第13頁 200300885 五、發明說明(8) '一' ---- 疋义存取保王的分頁,且該等記憶體存取信號指示該記 te體存取類型是一讀取存取時,該記憶體存取可能是一未 ^的讀取存取。在此種情形中,該存取保全檢查單元 可提i、^放的或假造的讀取資料而回應該未經授權的讀取 存取。该存取保全檢查單元可藉由記錄該未經授權的讀取 存取,而進一步回應該未經授權的讀取存取。 、^該受存取保全的分頁(SP)位元指示該目標記憶體 分頁^ 一受存取保全的分頁,且該等記憶體存取信號指示 S記憶體存取類型是一寫入存取時,該記憶體存取可能是 攀未經授權的寫入存取。該存取保全檢查單元可藉由捨棄 該等έ己憶體存取信號所載送的寫入資料,而回應該未經授 權的寫入存取,該存取保全檢查單元則可藉由記錄該未經 授權的寫入存取,而進一步回應該未經授權的寫入存取。 本發明說明了 一種電腦系統,該電腦系統包括··一記 憶體,用以儲存在多個記憶體分頁内配置的資料;耦合到 該記憶體的裝置,且該裝置之組態可產生記憶體存取信 说,以及别述之主橋接器。該電腦糸統可具有諸如一中央 處理單元(CPU),該 CPU包含一記憶體管理單元 (Memory Management Unit’ MMU),該 MMU 可在作業上 費合到該記憶體,且該 MMU之組態係設成管理該記憶 體。該記憶體管理單元(MMU)可管理該記憶體,使該記 ;[意體儲存在該多個記憶體分頁内配置的資料。 本發明揭示了一種將存取保全提供給用來儲存在多個 k憶體分頁内配置的資料的一記憶體之方法,該方法包含
92223.ptd 第14頁 200300885 五、發明說明(9) 下列步驟:接收若干記憶體存取信號,其中該等記憶體存 取信號載送在目標記憶體分頁之内的實體位址。將該實體 位址用來存取位於該記憶體中之一個或多個存取保全屬性 資料結構,以便取得該目標記憶體分頁的一存取保全屬 性,根據該目標記憶體分頁的該存取保全屬性,而利用該 等記憶體存取信號來存取該記憶體。 雖然本發明易於作出各種修改及替代形式,但是該等 圖式中係以舉例方式顯示出本發明的一些特定實施例,並 且在本文中說明這些特定實施例。然而,我們當了解,本 文對這些特定實施例的說明之用意並非將本發明限制在所 揭示的該等特定形式,相反地,本發明係涵蓋所附申請專 利範圍所界定的本發明的精神及範圍内之所有修改、等效 物、及替代。 [實施方式] 下文中將說明本發明之實施例,為了顧及說明的清 晰,本說明書中並未說明實際實施之範例的所有細節特 徵。當然,我們當了解,於開發任何此類真實的實施例 時,必須作出許多與實施例相關的決定,以便達到開發者 的特定目標,例如符合與系統相關的及與業務相關的限制 條件,而這些限制條件將隨著不同的實施例而變。此外, 我們當了解,開發工作可能是複雜且耗時的,但對已從本 發明的揭示事項獲益的熟習該項技藝者而言,仍然將是一 種例行的工作。 第4圖係一電腦系統4 0 0的一實施例,該電腦系統4 0 0
92223.ptd 第15頁
2Cr〇3〇0SS5 五、發明說明(10)
包括一 CPU 4 0 2、一系統或n主n橋接器4 0 4、一記憶體 4 0 6、一第一裝置匯流排4 0 8 (例如一周邊組件互連 X peripheral component interconnect,PCI)或周邊組件 互連匯流排)、一裝置匯流排橋接器4 1 0、一第二裝置匯 流排4 1 2 (例如一工業標準架構(i n d u s t r y s t a n d a r d a r c h i t e c t u r e, I S A )或工業標準架構匯流排)、以及四個 裝置硬體單元4 1 4 A至4 1 4 D。主橋接器4 0 4係_合到C P U 4' 0 2、記憶體4 0 6、及第一裝置匯流排4 0 8,主橋接器4 0 4轉 換CPU 4 0 2與第一裝置匯流排40 8之間的信號,且係可在作 將記憶體40 6搞合到CPU 40 2及第一裝置匯流排4〇8。 裝置匯流排橋接器4 1 0係耦合於第一裝置匯流排4 〇 8與第二 裝置匯流排4 1 2之間,且轉換第一裝置匯流排4 〇 8與第二果 置匯流排4 1 2之間的信號。在第4圖之實施例中,裝置硬^ 單元4 1 4 A及4 1 4 B係搞合到第一裝置匯流排4 〇 8,且裝置硬 體單元4 1 4C及4 1 4D係耦合到第二裝置匯流排4丨2。_個或 多個該等裝置硬體單元4 1 4 A至4 1 4 D可以是諸如儲存^:置 (例如硬碟機、軟碟機、及 CD-ROM光碟機)、通^ f (例如數據機及網路界面卡)、或輸入/輸出舉w ,置 视訊裝置、音訊裝置、及印表機)。 _在第4圖之實施例中,CPU 4 0 2包含一個CPU存取保入 檢查單元(Security Check Unit,SCU) 416,且主^王 器4 0 4包含一個主橋接器SCU 41 8。如將於下文中詳έ :接 * 、、'tQ □ ρ 的,CPU SCU 41 6使記憶體4 0 6不會受到CPU 4 0 2所產生、 4經授權的存取(亦即”由軟體啟動的存取”曰+ i的 , 王橋接 ill ill
W1I
i
iL 第16頁 92223. ptd 200300885 五、發明說明(11) -- 器8〇]418使記憶體4 0 6不會受到裝置硬體單元414短4141) 所啟動的未經授權的存取(亦即”由硬體啟動的存取,, )。請注意,在其他的實施例中,±橋接器4〇4可以是第4 圖之CPU 4 0 2的一部分。 第5圖係第/圖之電腦系統4〇〇的各種硬體及軟體組件 間之關係,在第5圖之實施例中,係將多個應用程式5〇〇、 作業系統5 0 2、存取保全核心50 4、及裝置驅動程式5〇6八至 5 0 6D儲存在記憶體4 0 6中。應用程式5〇〇、作業系統5〇2、 存取保全核心5 0 4、及裝置驅動程式5〇6八至5〇6])包含由cpu 4 0 2執行的指令。作業系統5 0 2提供應用程式5〇0可在其上 執行的一使用者介面及軟體,’平台π,作業系統5 0 2亦可提 供諸如其中包括檔案系統管理、程序管理、及輸入/輸出 (I / 0)控制的一些基本支援功能。 作業系統5 0 2亦可提供一些基本的存取保全功能,例 如,C P U 4 0 2 (第4圖)可以是執行X 8 6指令集中的指令之 X 8 6處理器。在此種情形中,CP U 4 0 2可包含若干專用的硬 體元件,用以提供前述的保護模式中之虛擬記憶體及記憶 體保護功能。作業糸統5 0 2可以是諸如 W i n d 〇 w s R作業系 統系列(M i cr oso f t股份有限公司,Redmond, WA)中之 一種作業系統,此種作業系統在保護模式下操作CPU 4 0 2,並利用CPU 4 0 2的專用硬體元件提供保護模式中之虛 擬記憶體及記憶體保護。 如將於下文中詳細說明的,存取保全核心5 0 4提供藉 由在作業系統5 0 2所提供存取保全功能之上的額外之存取
92223.ptd 第17頁 200300885 五、發明說明(12) 保全功能,使記憶體4 0 6中儲存的資料不會受到未經授權 的存取。在第5圖之實施例中,裝置驅動程式5〇6人至506d •可選擇與個別對應的裝置硬體單元4 1 4 A至4 1 4 D相結合並且 耦合到個別對應的裝置硬體單元4 1 4A至4 1 4D。裝置硬體單 元4 1 4 A及4 1 4 0疋π存取保全”裝置,且對應的裝置驅動程 式5 0 6 Α及5 0 6 D疋’’存取保全”裝置驅動程式。存取保全核 心5 0 4係耦合於作業系統5 0 2與受存取保全的裝置5 0 6 A及 g 0 6之間,並監視各應用程式5 〇 〇及作業系統5 0 2對受存取 保全的裝置驅動程式5 0 6 A及5 0 6 D以及對應的受存取保全的 梦置41 4A及41 4D之存取。存取保全核心5 0 4防止應用程式 5 0 0及作業系統5 0 2對受存取保全的裝置驅動程式5 0 6 A及 5 0 6 D以及對應的受存取保全的裝置4 1 4 A及4 1 4 D之未經授權 的存取。 如第5圖所示,存取保全核心5 0 4係(諸如經由一個或 多個裝置驅動程式)耦合到 CPU SCU 41 6及主橋接器SCU 4 1 8。如將於下文中詳細說明的,CPU SCU 4 1 6及主橋接器 SCU 41 8控制對記憶體40 6之存取。CPU SCU 4 16監視對記 憶體4 0 6的所有由軟體啟動的存取,且主橋接器SCU 4 1 8監 »對記憶體4 0 6的所有由硬體啟動的存取。一旦存取保全 心5 0 4設定組態之後,CPU SCU 41 6及主橋接器SCU 418 只容許對記憶體4 0 6的經授權的存取。 - 在第5圖之實施例中,裝置驅動程式5 0 6B及5 0 6C是 ” 不受存取保全的”裝置,且對應的裝置硬體單元4 1 4B及 4 1 4 (:是π不受存取保全的”裝置硬體單元,裝置驅動程式
92223.ptd 第18頁 2003QOSS5 五、發明說明(13) 5 0 6B及5 0 6C及對應的裝置硬體單元414B及414C可以是諸如 π舊型的π裝置驅動程式及裝置硬體單元。 請注意,在其他的實施例中,存取保全核心5 〇 4可以 是作業系統5 0 2的一部分。在其他的實施例中,存取保全 核心5 0 4、裝置驅動程式5 〇 6 a及5 0 6D、及/或裝置驅動程 式5 0 6 B及5 0 6 C可以是作業系統5 0 2的一部分。 第6圖係第4圖之電腦系統4 0 0的CPU 40 2之一實施例, 在第6圖之實施例中,CPU 4 0 2包含執行單元6 0 0、記憶體 管理單元(MMU) 6 0 2、快取記憶體單元6 04、匯流排介面 單元(Bus Interface Unit’ BIU) 606、一組控制暫存器 6 0 8、以及一組存取保全執行模式(secure Execution
Mode,SEM)暫存器 610。CPU SCU 416係位於 MMU 602
内。如將於下文中詳細說明的,係利用該組SEM暫存器 6 1 0實施第4圖所示電腦系統4 〇.〇内的一存取保全執行模式 (SEM),且係由該組 SEM暫存器61 0的内容來管制 CPU 5 C U 4 1 6及主橋接器s C U 4 1 8的作業。由存取保全核心5 0 4 (第5圖)存取(亦即寫入及/或讀出)各SEM暫存器 6 1 0。當(1) C P U 4 0 2是在X 8 6保護模式下工作的一 X 8 6處 理器,(i 〇當致能記憶體分頁,且(i i 〇 SEM暫存器 6 10的内容指定SEM作業時,第4圖之電腦系統40 0可諸如 在 SEM下作業。 一般而言,該組控制暫存器6 〇 8的内容管制CPU 4 0 2的 作業,因此,該組控制暫存器6 〇 8的内容管制執行單元 6 0 0、 Μ M U 6 0 2、快取記憶體單元β 〇 4、及/或b I U 6 0 6的作
92223. ptd 第19頁 200300885 五、發明說明(14) 業。該組控制暫存器6 0 8可包括諸如X 8 6處理器架構的多個 控制暫存器。 < C P U 4 0 2的執行單元6 0 0提取指令(例如X 8 6指令)及 資料,執行所提取的指令,且於指令執行期間產生信號 \例如位址、資料、及控制信號)。執行單元6 0 0係搞合 到快取記憶體單元6 0 4,且可經由快取記憶體單元6 0 4及 B I U 6 0 6而自記憶體4 0 6 (第4圖)接收指令。 ’ 電腦系統4 0 0之記憶體4 0 6 (第4圖)包含多個記憶位 置,每一記憶位置具有特有的實體位址。當在保護模式下 #作且致能記憶體分頁時,CPU 4 0 2的一個位址空間係分 成多個稱為分頁框或”分頁’’之區塊。如前述,在任何特 定時間中,只將對應於該等分頁的一部分之資料儲存在記 憶體4 0 6内。在第6圖之實施例中,於指令執行期間由執行 單元6 0 0產生的位址信號代表分K亦即’’邏輯的”)位 址。如將於下文中說明的,MMU 6 0 2將執行單元6 0 0所產生 的分段位址轉換為記憶體4 0 6的對應之實體位址。MMU 6 0 2 將該等實體位址提供給快取記憶體單元6 0 4,快取記憶體 單元6 0 4是用來儲存由執行單元6 0 0最近所提取的指令及資 料之較小的儲存單元。匯流排介面單元6 0 6係耦合於快取 •憶體單元6 0 4與主橋接器4 0 4之間,且係用來經由主橋接 器4 0 4而自記憶體4 0 6提取並未存在於快取記憶體單元$ 0 4 的指令及資料。 第7圖係第6圖之MMU 6 0 2之一實施例。在第7圖之實施 饷中,MMU 6 0 2包含:分段單元7 0 0、分頁單元7 0 2、以及
92223.ptd 第20頁 200300885 五、發明說明(15) 選擇邏輯單元7 0 4,該選擇邏輯單元7 0 4用以選擇在分段單 元7 0 0及分頁單元7 0 2間之輸出,以便產生一個實體位址。 如第7圖所示,分段單元7 0 0自執行單元6 0 0接收一個分段 位址,並利用X 8 6處理器架構的習知之分段位址至線性位 址轉換機制而在輸出上產生一個對應的線性位址。如第7 圖所示,當分頁單元7 0 2為 π分頁π信號致能時,即接收 由該分段單元7 0 0所產生的線性位址,並在輸出上產生對 應的實體位址。該分頁信號可映射X 8 6處理器架構中該組 控制暫存器6 0 8 (第6圖)中的一控制暫存器 0 ( CR0)中 之分頁旗標(Paging Flag,PG)位元。當停止觸發該分 頁信號時,即不致能記憶體分頁,且選擇邏輯單元7 0 4將 自分段單元7 0 0接收的線性位址產生為實體位址。 當觸發該分頁信號時,即致能記憶體分頁,且分頁單 元7 0 2利用前述的X 8 6處理器架構之線性至實體之位址轉換 機制1 0 0將自分段單元7 0 0接收的線性位址轉換為一個對應 的實體位址。如前所述,於該線性至實體位址轉換作業期 間,計算所選擇的分頁目錄資料項及所選擇的分頁表資料 項的 U/S位元内容之邏輯”及’’,以便決定對分頁框的存 取是否經授權。同樣地,計算所選擇的分頁目錄資料項及 所選擇的分頁表資料項的 R/W位元内容之邏輯”及π,以 便決定對該分頁框的存取是否經授權。如果 U/S及 R/W 位元在邏輯上的合併指示對該分頁框的存取經授權,則由 分頁單元7 0 2產生該線性至實體位址轉換作業所得到的實 體位址。選擇邏輯單元7 0 4接收由分頁單元7 0 2所產生的該
92223.ptd 第21頁 200J0088b 五、發明說明(16) 實體位址,將自分頁單元7 0 2接收的該實體位址產生為實 體位址,並將該實體位址提供給快取記憶體單元6 0 4。 - 另一方面,如果 U/S及 R/W位元在邏輯上的合併指 示對分頁框1 0 8的存取並未經授權,則分頁單元7 0 2在該線 體位址轉換作業期間並不產生-一實:體位址。相反 地,分頁單元7 0 2產生一分頁錯誤信號,且 MMU 6 0 2將該 分頁錯誤信號傳送到執行單元6 0 0。在X 8 6處理器架構中, 一分頁錯誤信號在某些情況中係指示一保護違反 (protection violation)。執行單元600可回應該分頁錯 •信號,而執行一異常狀況處理常式,且最後可暫停在該 分頁錯誤信號觸發時執行的一個應用程式5 0 0 (第5圖)之 執行。 在第7圖之實施例中,CPU SCU 41 6係位於 MMU 6 0 2的 分頁單元7 0 2内。分頁單元7 0 2亦可包含一轉換後備緩衝器 (Translation Lookaside Buffer, TLB),用以儲存數 目較少的最近決定之線性至實體位址轉換。 第8圖係第7圖CPU SCU 416之一實施例。在第8圖之實 施例中,CPU SCU 416包含存取保全檢查邏輯8〇〇,而存取
碁全檢查邏輯8 〇 〇係耦合到該組SEM暫存器6 1 0 (第6圖) 買=存取保全屬性表(security attribute table,SAT )貧料項緩衝器80 2。如將於下文中說_明的,SAT資料項 包含比對應於記憶體分頁的分頁目錄及分頁表資料項之 R/W位兀的額外存取保全資訊。存取保全檢查邏 軻8〇〇利用一特定SAT資料項内儲存的該額外之存取保全
92223. ptd 第22頁 200300885 五、發明說明(17)
資訊來避免對應的記愔雕八 A 存取,SAT眘祖话π心版刀頁又到未經授權的軟體啟動之 存取SAT貝枓項緩衝器8 0 2係用來儲存 存取的:憶體分頁《SAT資料項。省存數…的取近 如丽所述,該組SEM暫存器6〗〇係用 電腦系統4 0 0内的一存取保、 回
漸左哭β 1 η从出一— 卞王巩订棋式(SEM),該組SEM 二存二610的内谷官制CPU SCU 41 6的作業。存取保全檢 查邏輯8 0 0經由第8圖所y> ,^ ^ ^ ΰ所不之一通訊匯流排而自 收將=儲存在SAT資料項緩衝器8w之資訊,而存取保 全檢查邏輯8 0 0亦接收分頁單元7〇2所產生的一實體位址。 現在將利用第9至n圖來說明如何在第4圖之電腦系統 4 0 0内取得利用第丨圖之位址轉換機制1〇〇而選擇的記憶體 分頁的額外之存取保全資訊。第9圖係存取所選擇的一記 憶體分頁的一 SAT資料項以便取得所選擇的該記憶體分 ^的額外之存取保全資訊的一機制9 〇 〇之一實施例。可在 第8圖的存取保全檢查邏輯8 〇 〇内實施第9 9〇〇,且可在第4圖之電腦系統4 0 0在SEM下^乍了業時%施該 機制9 0 0。機制9 0 0涉及:分頁單元702 (第7圖),利用第 1圖的位址轉換機制1 〇 〇而產生之一實體位址9 〇 2 ; 一 s a T目 錄904,一 SAT 906’包括多個SAT;以及該組SEM暫存 器6 1 0的一 SAT基址暫存器90 8。SAT目錄9 0 4及其中包括 SAT 9 0 6的多個SAT是由存取保全核心5 0 4 (第5圖)所產 生並維護的SEM資料結構。如將於下文中說明的,sat目 錄9 0 4 (當存在時)及任何必需的SAT係在存取前先複製 到記憶體4 0 6。
92223. ptd 第23頁 五、發明說明(18) SAT基址暫存器9 0 8包含一存在之(p)位元 $ 位元指示在SAT基址暫存器9 0 8内有一有效的SAT目=某 存在。係將SAT基址暫存器9 0 8的最高階(亦即最言”有" 位元保留給該SAT目錄基址,該SAT目錄基址是= 錄9 0 4的一“記憶體分頁之基址,如果Pq,則該sa 址是有效的,且SAT表指定各記憶體分頁之存取保全;屬土 性;如果P4,則該SAT目錄基址是無效的,且並盔 SAT表存在,而且係由一 SAT預設暫存器決定各 頁之存取保全屬性。 U月豆刀 籲第10圖係SAT預設暫存器(1 0 0 0)的一實施例。在第 10圖之實施例中,SAT預設暫存器(1〇〇〇)包含一為 ;:::j sp)❿7^ ’胃SIM立元指示所有的記憶體分 取保全的分頁。例如,如果sp=0,則所有 °心月且刀頁不是受存取保全的分頁,且如果SP=1則 所有f記憶體t頁是受存取保全的分頁。 - θ °Ί,芩閱第9圖,並假設SAT基址暫存器9 0 8的該P位 八-則由分頁單元7 0 2 (第7圖),所產生的實體位址 ;’了、刀&二部分,以便存取所選擇記憶體分頁之SAT資 項。如刚所述,SAT基址暫存器9 0 8的SAT目錄基址是存 SAT目錄9 04的記憶體分頁之基址,SAT目錄9 〇4包含多個 SAT目錄貧料項,其中包括一 SAT目錄資料項910。每一 SAT =錄資料項910可具有記憶體40 6中之一對應的SAT。係將 貫,位,址=〇,2中包括實體位址9〇2的最高階或最高有效位元 “ 、南 4 S用來作為SAT目錄9 0 4的一索引,利用
92223. ptd 第24頁 200300m 五、發明說明(19) SAT基址暫存9 0 8的SAT目錄基址及實體位址2的該較高 部分,而自SAT目錄9 0 4内選擇SAT目錄資料項91〇。 弟1 1圖係一 S A T目錄資料項格式1 1 〇 q的一實施例。根 據第1 1圖,每一 SAT目錄資料項包含一存在之(p)位元, 5玄(P)位元指示在SAT目錄資料項内有一有效的sat基址 存在。在第1 1圖之實施例中,每一 SAT目錄資料項的最高 階(亦即最高有效)位元存放了一對應的SAT,如果 卜1,則該SAT基址是有效的,且對應的SAT係儲存在記 憶體406中。 如果P = 0,則該SAT基址是無效的,且對應的SAT並 未存在於έ己彳思體4 0 6中,且必須自一儲存裝置(例如一磁 碟機)將該對應的SAT複製到記憶體4 0 6。如果Ρ = 0,則 存取保全檢查邏輯8 0 0可將一分頁錯誤信號傳送到分頁單 凡7 〇 2内的邏輯單元,且MMU 6 0 2可將該分頁錯誤信號傳 送到執行單元6 0 0 (第6圖)。執行單元6 0 0可回應該分頁 錯誤信號,而執行一分頁錯誤處理常式以自該儲存裝置擷 取所需的SAT,並將該所需的 SAT儲存在記憶體406。在 將該所需的 SAT儲存在記憶體4 0 6之後,即將對應的SAT 目錄資料項之 P位元設定為 "1π,且繼續執行機制9 0 0。
茲再參閱第9圖,將實體位址902的一 ’’中間π部分用 來作為 SAT 9 0 6的一索引,因而係利用SAT目錄資料項910 的SAT基址及實體位址9 0 2的該中間部分,而自 SAT 9 0 6内 選擇 SAT資料項(9 0 6)。第12圖係一 SAT資料項格式 (1 2 0 0)的一實施例。在第12圖之實施例中,每一 SAT
五、發明說明(20) —~ --------- Ϊ料受存取保全的分頁(SP)位元,· SP位元 ί ^ ^ Ϊ SP 〇',ftf t.1 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ I 〇 ^»j 取保全的八百,貝1所選擇的記憶體分頁可能不是一受存 二二二:而如果SP= 1,則所選擇的記憶體分頁可 姓μ Γ6 (、第6圖)1記憶體4 0 6掏取所需的sem資料 、、^、/亚將該SEM資料結構資料項提供給MMU 。明再苓閱第8圖,存取保全檢查邏輯8〇〇經由該通訊 |流排而^ mmU 6 0 2及分頁單元7 0 2擷取sem資料結構資 ;、項。如則所述,係將SAT資料項緩衝器8〇2用來儲存數 目較少j最近存取的記憶體分頁之SAT資料項,存取保 全檢查遨輯8 0 0將一特定的SAT資料項以及對應的實體位 址之一 ”標=’,部分儲存在SAT資料項緩衝器8〇2中。 在一後續的記憶體分頁存取期間,存取保全檢查邏輯 ^00可將藉由分頁單元70 2所產生的一實體位址之一 ”標記 部分與對應於SAT資料項緩衝器8 0 2中儲存的各SAT 資料項的實體位址之標記部分比較,如果該實體:址的該 標記部分與對應於SAT資料項緩衝器8〇2中儲存的一 SAT #料項的一實體位址之標記部分符合,則存取保全檢查邏 If 8 0 0可存取SAT資料項緩衝器8 0 2中之該SAT資料項, 而無須執行第9圖的自記憶體4 0 6取得該S A T資料項之該 程序 存取保全核心5 0 4 (弟5圖)(諸如在内容切j參 (context switch)期間)修改CPU 4 0 2中的SAT基址暫存 器9 0 8之内容,CPU SCU 4丨6的存取保全檢查邏輯=〇〇可曰回
92223. ptd Η 第26頁 2003008S5 五、發明說明(21) 應SAT基址暫存器9 0 8之修改,而清除SAT資料項緩衝器 8 0 2之内容。 當第4圖之電腦系統4〇〇在 SEM下作業時,存取保全 檢查邏輯8 0 0接收目前執行的工作(亦即目前執行的指令 )之目前特權等級(current privi lege leve;l,CpL)、 以及一實體位址所在的選擇記憶體分頁之分頁目錄資料項 (Page Directory Entry, PDE)的 u/s 位元、該 PDE 的R/W位元、分頁表資料項(page Table Entry,PTE) 的 U/S位元、及該 PTE的R/W位元,存取保全檢查邏 輯8 0 0利用上述的資訊以及對應於所選擇的記憶體分頁的 SAT資料項之SP位元來決定對記憶體406的存取是否經 授權。 弟6圖所示之CPU 4 0 2可以是一個χ8 6處理器,且可包 含程式碼區段(Code Segment,CS)暫存器,該CS暫存器 是x8 6處理器架構中之一個1 6位元區段暫存器。每一區 段暫存器選擇記憶體中稱為區段(segment)的一個 64k 位元區塊(b 1 〇ck),在分頁致能的保護模式中,係將用 來指示記憶體4 0 6的一可執行區段之一區段選擇碼載入該 C S曰存為’該區段選擇碼的最高階(亦即最高有效)位元 用來儲存可指示記憶體的一區段之資訊,其中包括藉由 CPU 40 2的執行單元6〇〇 (第6圖)將要執行的次一/入 “、一才日々指標(Instruction p〇inter, IP)暫 哭 =存由該cs暫存器指*的區段之一位移量,該cs= 曰不次一指令的一分段位址,而cs暫存器的兩個最低階
五、發明說明(22) (亦即最低有效)位元用來儲存可指示目前由執行單元 6 0 0執行的一工作之一目前特權等級(cpL)(亦即目前工 作的 CPL)。 • 下表1顯示出當第4圖之電腦系統4 0 0在SEM下作業時
對由CPU啟動的(亦即由軟體啟動的)記憶體存取之例 示規則。當第4圖之電腦系統4〇〇在SEM下作業時,CPU S C U 4 1 6 (第4至第8圖)及存取保全核心5 〇 4 (第5圖)合 作而執行表1之規則,以便對記憶體4 〇 6中儲存的資料提供 g由作業系統5 〇 2 (第5圖)所提供的資料存取保全更進一 ^的額外存取保全。 之電腦系統40 0在 SEJL二〇1^1_對由軟體啟 己憶體存取之例示規則
目前執行 所選擇的 的指令 記憶體分頁 容許白勺 §£ CPL SP U/S R/W ¥取 1 〇 XX 1(R/W) R/W X X 0(R) 唯讀 備註 全的存取。 (典型的所存取分頁之内
I料55?全核心及SEM 寫入式將造成分頁錯誤 百Ϊ5戶if擇的記憶體分 ^益-^存取保全的分頁 上⑦:1),則發出一 SEM 貪f常狀況信號, 發出一分頁錯誤信
92223. ptd 第28頁 200300885 五、發明說明(23) 1 KU) 1
1 3 1 0(S) X
R/W 適用標準保護機制。 (典型的所存取分頁之内 容:高存取保全的小程 式。) 無 存取將造成分頁錯誤。 (典型的所存取分頁之内 容:存取保全核心及SEM 資料結構。) 無 存取將造成分頁錯誤。 (典型的所存取分頁之内 容:作業系統核心及第0 級(Ring 0)裝置驅動程 式。)
1 X X
X 0 X
無 存取將造成SEM存取控 管異常狀況。 R/W 適用標準保護機制。 (典型的所存取分頁之内 容:高存取保全的小程 式。) 無 存取將造成分頁錯誤;如果 所選擇的記憶體分頁是一 受存取保全的分頁(SP=1) ,則發出一 SEM存取控 管異常狀況信號,而非發 出一分頁錯誤信號。 R/W 適用標準保護機制。 (典型的所存取分頁之内 容:應用程式。) _鱺_1 第29頁 92223.ptd 200300885
五、發明說明(24) 在上表1中,目前執行的指令之sp位元是對應於 放該目前執行的指令的記憶體分頁的SAT資料項之 位元。所選擇的記憶體分頁之u/s位元是對所選擇的該 纪憶體分頁的PDEU/S位元及PTEU/S位元執行邏\ 气Y運算之結果,所選擇的記憶體分.頁之R/w位元 所選擇的該記憶體分頁的PDE R/W位元及pTE R/w ^行邏輯運算之結果。符號,,x”意指"不必理: π,亦即,邏輯值可以是’,〇,,或,,1,,。 曰 請再參閱第8圖,CPU SCU416的存取保全檢查邏 ?:產生二分ΛΤ吳信號及一 ”SEM存取保全異常狀況,, k唬,並將讜为頁錯誤信號及該SEM存取保全里 信號提供給分頁單元7 02内的邏輯。當存取保全檢二 80 0觸發該分頁錯誤信號時,MM 6〇2將該分頁錯爷耳 送到執行單元6 0 0 (第6圖)。執行單元6〇〇可回應兮^^傳 錯誤信號,而利用x86處理器架構的習知之中斷描述二頁 (Interrupt DeScriptor TaMe,IDT)向量機制 ^ 並執行一分頁錯誤處理常式。 不存取 當存取保全檢查邏輯8〇〇觸發該SEM存取 |信號時:MMII 6 0 2將該SEM存取保全異常狀況信ς吊狀 冒執打單7L 6 0 〇。與使用χ8 6處理器架構❾丨D二、运 的正常之處理器異常狀況不同,可使用一種不里棧曰制 法來處理SEM存取保全異常狀況。可利甩與 向夏方 x86”SYSENTER”及” SYSEXn,,指令作業方式類似 ,式,而經由一對暫存器(例如與模型有關的暫存器方
200300885 五、發明說明(25) (Model Specific Register,MSR)而派發 SEM 存取保
全異常狀況。該對暫存器可以是”存取保全異常狀況進入 點 暫存态,且於杂生一 SEM存取保全異常狀況時,可 界定用於指令執行的一分支目標位址。該等存取保全異常 狀況進入點暫存器可界定程式碼區段(CS)、以及將用來 進入一 SEM存取保全異常狀況處理常式之指令指標 (IP、或64位元版的RIP)、堆疊區段(Stack不 Segment,SS)、及堆疊指標(SP、或64位元版的RSP )值。在軟體的控制下,執行單元6 〇 〇 (第6圖)可將先前 的 SS、 SP/RSP、 EFLAGS、 CS、 IP/RIP 值推入一新的堆 疊,以便指示發生該異常狀況的位置。此外,執行單元 6 0 0可將一錯誤碼推入該堆疊上。請注意,不得使用^一正 常的自中斷返回(IRET)指令,這是因為必然备/ 的SS及SP/RSP值,且必然會完成一堆疊切縱然並 未發生CPL的一改變也是會有上述的狀況。因此可界 定一個新個指令,以便完成自該SEM存取保全異常狀況 處理常式之·返回。 第1 3圖係第4圖主橋接器40 4的一實施例。在第丨3圖之 實施例中,主橋接器404包含一主介面(h〇st 0 interf ace) 1 3 0 0、橋接邏輯 1 3 0 2、主橋接器 scu 418 一 記憶體控制器1 3 04、及一裝置匯流排介面13〇6。主介面 1 3 0 0係搞合到CPU 4 0 2,且裝置匯流排介面^(^係耗1^3到 第一裝置匯流排40 8,橋接邏輯1 3 0 2係耦合於 = 與I置匯流排介面丨3 0 6之間’記憶體控制器丨3〇4係耗合到 Η 92223.ptd
暫/子。器9〇8之修改,而清除SAT資料項^衝器 -存取保全檢查邈輯丨4 〇 〇經由裝置匯流排介面丨3 〇 6及橋 接璉輯1 3 0 2 (第1 3圖)而接收由裝置硬體單元4丨4人至4丨4]) f啟動的記憶體存取之記憶體存取信號,該等記憶體存取 信號載送來自裝置硬體單元4144至414D的實體位址、及相
92223.ptd 第32頁 五、發明說明(26) 記憶體4 0 6,且執行對記侉 SCU 41 8係耦合於橋接邏輯且 勺斤有存取。主橋接器 , ^ s; 7«; ! ^ ^ "J " 1 3 04" 1 3 0 6而控制對記憶體4 〇 6 不I由裝置匯流排介面 置匯流排介面1 3 0 6而存取//橋接器SCI) 418經由裝 容許對記憶體4 0 6的經授權之存取。 有存取,且 •弟14圖係第13圖之主橋接器SCU 4 18的一杳;^仞, 第14圖之實施例中,主橋 8的貝她例。在 ^輯1 4 0 0,而存取保全斤:二8包含存取保全檢查 參器Η()2及—SAT資料項—,麵合到一組SEM暫 i4〇2管制存取保全檢杳邏輯/二的二ί。該組SEM暫存器 一第二SAT基址暫存器—92=〇〇=業,且包含第9圖之 ςΑΤΑ ^ οα ”亥、、且SEM暫存器1 4 0 2的該第二 SAT基址暫存斋9 0 8可以是一汀中从献士 核心5 0 4 (第5圖)(諸如於一肉—+、二存器。當存取保全 4 0 2的該組SEM暫存器61〇中之ςΑΤΑ “ j j 。士 士 7 x °° biU中之SAT基址暫存器9 0 8的内容,. 守,存取保王核心5 04亦可將相同的值寫入 =的該組s_存器1 402中之該第二SAT基址暫:器9〇8。 主榀接益3〇]418的存取保全檢查邏輯14〇〇可回庫該
200300885 五、發明說明(27) 關聯的控制信號及/或資料信號。存取保全檢查邏輯1 4 〇 〇 可實施機制9 0 0 (第9圖),以便取得對應的記憶體分頁之 SAT資料項,且可於第4圖之電腦系統4 0 0在SEM下作業 時,可實施機制9 0 0。SAT資料項缓衝器1 4 0 4類似於前述 的〇?1]8(:1]416之8人1[資料項緩衝器8〇2(第8圖),且 係用來儲存數目較少的最近存取的記憶體分頁之s Α τ資 料項。 、 當第4圖之電腦系統4 0 0在SEM下作業時,第14圖之 存取保全檢查邏輯1 4 0 0利用與所選擇的一記憶體分頁相關 聯的一 SAT資料項的額外之存取保全資訊來決定一特定 的由硬體啟動之記憶體存取是否經授權。如果該特定的由 硬體啟動之記憶體存取是經授權的,則存取保全檢查邏輯 1 4 0 0將該記憶體存取的該等記憶體存取信號(亦即載送一 實體位址及相關聯的控制信號及/或資料信號之位址信號 )提供給記憶體控制器1 3 0 4。記憶體控制器丨3 〇 4利用談每 體位址及相關聯的控制信號及/或資料信號來存取=二 4 0 6。如果對記憶體40 6的存取是一寫入,則將資料信=二 載送的資料寫入記憶體4 0 6 ;如果對記憶體4 0 6的存取是° 一 讀取,則記憶體控制器1 3 0 4自記憶體4 0 6讀取資料,並將 所得到的讀取資料提供給存取保全檢查邏輯1 4 0 0。存取保 全檢查邏輯1 4 0 0將該讀取資料傳送到橋接邏輯1 3 0 2,且橋 接邏輯1 3 0 2將該資料提供給裝置匯流排介面1 3 0 6。 另一方面,如果該特定的由硬體啟動之記憶體存取是 未經授權的,則存取保全檢查邏輯1 4 0 0並不對記憶體4 〇 6
92223.ptd 第33頁 200300885 五、發明說明(28) — *----- 存取的該實體位址及相關聯的控制信號及 供給記憶體控制器1 3 04。如果該未經授權的由硬J = 記憶體存取是一記情俨宜A 則在而作人i 趾级動之 ^ ^ A ., ^ L、月旦寫入,則存取保王檢查邏輯1 4 〇 〇可 通知^舄入的元成並捨棄寫入資料,而不改變記憶體 之内谷。存取保全檢查邏輯丨4 〇 〇亦可在一運行記錄 <運行記錄資料項(例如,設定或清除一狀態暫存哭的一 個或多個位兀),以便記載該存取保全之存取違反了 保全核心5 0 4可定期地存取該運行記錄,以便檢查 &記錄資料項。如果該未經授權的由硬體啟動之一娜 #是-記憶體讀取,則存取保全檢查邏輯i 4〇〇 :二 果(false result)(例如,全部皆為” 1又、、’口 1 3 〇 2而送回到裝置匯流排介面1 3 0 6,作A綠、工—橋接避輯 保全檢查邏輯14 〇 〇亦可產生前述的一運4= Γ取貝料。存取 便記載該存取保全的存取違反。心^錄資料項,以 第1 5圖是將存取保全提供給一用來 分頁内配置的資料的記憶體的一方法丨存f ^個記憶體 流程圖。方法1 5 0 0反映了當第4圖之電腦么的一貫施例之一
下作業時對由CPU啟動的(亦即由敕俨二、、先400在SEM t取的表1所示之例示規則。可在MMU βΠ動^ )圮憶體 Ρ内實施方法1 5 0 0。在方法1 5 0 0的步驟2 (第6至第7圖 指令的執行期間所產生的線性位址以及兮〇t 2期間,接收一 全屬性(例如其中包括該指令的一工作令的一存取保 令係存放在一記憶體分頁中。在步驟1 5〇4i CPL),该指 性位址來存取位於該記憶體中的至少一如^間,利用該線 個分頁記憶體資料 薦 II* 92223. ptd 第34頁
200300885 五、發明說明(29) 結構(例如一分頁 一記憶體分頁之基 屬性。所選擇的該 一分頁目錄資料項 分頁表資料項的一 在一決定步驟 及所選擇 否經授權 合所選擇 選擇的該 授權的, 錯誤信號 在步 記憶體分 保全屬性 以便取得 選擇的記 體分頁的 存取保全 記憶體分 的該t己憶 保全的分 記憶體分 的該記憶 。如果該 的該記憶 記憶體分 則在步驟 )0 驟1 5 0 8之 頁之實體 資料結構 該第一記 憶體分頁 該額外之 的分頁( 頁是否為 體分頁的 頁(SP) 頁是否為 目錄及一分頁表),以便取得 址及所選擇的該記憶體分頁之存的 圮憶體分頁之存取保全屬性可呆全 的一 υ/s位元及—R/w位元、諸如 U/S位元及—R/W位元。 及— 1 5 0 6期間,利用該指令之存取 體分頁之存取保全屬性來決定哕二蜀性 存取是經授權的,則在步驟15M二二是 體分頁之基址及一位移量,以便:結 頁内之一實體位址。如果該存,^所 151〇期間產生一錯誤信號(例如二二# 後執行的步驟1512期間,利用所 位址存取位於記憶體中的至少一 ^释的 (例如第9圖之SAT目錄9〇4及—固存取 憶體分頁的一額外之存取保全屬 ’ 的一額外之存取保全屬性。該第一及^ 存取保全屬性可包括諸如前所述 ^憶 SP)位元,其中該SP位元指二雙 一受存取保全的分頁。同樣地、g 5二 該額外之存取保全屬性可包括一二、擇 位元,其中該sp位元指示所取 —受存取保全的分頁。 、 的5亥 在步驟1 5 1 4期間,根據該指令的存取保全尸 ”王萄性、該第
200300885 五、發明說明(30) 一記憶體分頁的該額外之存取保全屬性、所選擇的該記憶 體分頁之存取保全屬性、以及所選擇的該記憶體分頁之該 額外之存取保全屬性,而產生錯誤信號。請注意,可在 CPU SCU 416 (第4至第8圖)内實施方法1 5 0 0的步驟1512 及 1514。 • 下表2顯示出當第4圖之電腦系統4 0 0在 SEM下作業時 由裝置硬體單元4 1 4A至4 1 4D啟動的記憶體分頁存取(亦即 由硬體啟動之記憶體存取)之例示規則。可由在裝置硬體 單元4 1 4A至4 1 4D内的匯流排主控電路啟動此種由硬體啟動 Θ記憶體存取,或者可在裝置硬體單元4 1 4A至4 1 4D的要求 下,由 DMA裝置啟動此種由硬體啟動之記憶體存取。當 第4圖之電腦系統4 0 0在 SEM下作業時,存取保全檢查邏 輯1 4 0 0可實施表2所示之規則,以便對記憶體4 0 6中儲存的 資料提供比作業系統5 0 2 (第5圖)所提供的資料存取保全 更進一步的額外存取保全。在下表2中,該 π目標’’記憶 體分頁是一記憶體存取的記憶體存取信號所載送的一實體 位址所在之記憶體分頁。
92223.ptd 第36頁 200300885 五、發明說明(31) 表2 .當第4圖之電腦系統4 0 0在SEM下作業時由硬體啟動的 記憶體存取之例示規則 特定的 記憶體分頁 SP 存取類型 動作 〇 R/W 該存取以正常方式完成。 1 讀取 並非送回實際的記憶體内容,而是送回的 内容皆為“F”,而完成該存取。可記錄 該未經授權的存取。 1 寫入 完成該存取,但捨棄寫入資料。記憶體的 内容保持不變。可記錄該未經授權的存 取0 在上表2中,藉由主橋接器SCU 4 1 8利用該記憶體存取 的實體位址及第9圖的前述機制9 0 0,而取得目標記憶體分 頁之 SP位元,以便取得對應的記憶體分頁之 SAT資料 項。 如第2圖所示,當 SP= 1而指示目標記憶體分頁是一 受存取保全的分頁時,該記憶體存取是未經授權的。在此 種情形中,存取保全檢查邏輯1 4 0 0 (第1 4圖)並不將記憶 體存取信號提供給記憶體控制器。該等記憶體存取信號的 一部分(例如控制信號)指示一記憶體存取類型,且其中該 記憶體存取類型是一讀取存取或一寫入存取。當 SP = 1且 該等記憶體存取信號指示該記憶體存取類型是寫入時,該
92223.ptd 第37頁 200300885 五、發明說明(32) 記憶體存取是一未經授權的讀取,且存取保全檢查邏輯 1 4 0 0提供用來取代實際記憶體内容的皆為 n F M之内容 八亦即假的讀取資料),而回應該未經授權的讀取。存取 保全檢查邏輯1 4 0 0亦可以前所述之方式記錄該未經授權的 讀取,而回應該未經授權的讀取。 . 當 SP= 1且該等記憶體存取信號指示該記憶體存取類 型是一寫入時,該記憶體存取是一未經授權的寫入。在此 種情形中,存取保全檢查邏輯1 4 0 0藉由捨棄該等記憶體存 取信號所載送的寫入資料而回應該未經授權的寫入,存取 Θ全檢查邏輯1 4 0 0亦可以前所述方式記錄該未經授權的寫 入,而回應該未經授權的寫入。 第1 6圖是將存取保全提供給一用來儲存在多個記憶體 分頁内配置的資料的記憶體的一方法1 6 0 0的一實施例之一 流程圖。方法1 6 0 0反映了當第4圖之電腦系統4 0 0在 SEM 下作業時之表2用於由硬體啟動之記憶體存取的例示規 則,可在主橋接器4 0 4 (第4圖及第1 3至第1 4圖)内實施方 法1 6 0 0。在方法1 6 0 0的步驟1 6 0 2期間,接收一記憶體存取 的記憶體存取信號,其中該等記憶體存取信號載送一目標 g憶體分頁的一實體位址。如前所述,可由一裝置硬體單 f產生該等記憶體存取信號。在步驟1 6 0 4期間,利用該實 體位址來存取位於記憶體中的至少一個存取保全屬性資料 結構,以便取得該目標記憶體分頁的一存取保全屬性。該 等至少一個存取保全屬性資料結構可包括諸如一 SAT目錄 (例如第9圖之SAT目錄9 0 4)及至少一個SAT (例如第9圖
92223.ptd 第38頁 200300885 五、發明說明(33) 之SAT 9 0 6),且該目標記憶體分頁的額外之存取保全屬 性可包含前述之一受存取保全的分頁(SP)位元,該SP位 元指示該目標記憶體分頁是否為一受存取保全的分頁。在 步驟1 6 0 6期間,根據該目標記憶體分頁的存取保全屬性, 而利用該等記憶體存取信號來存取該記憶體。請注意,可 在主橋接器SCU 418 (第4圖及第13至第14圖)内實施方法 1 6 0 0的步驟 1 6 0 0及 1 6 0 2。 前文所揭示的該等特定實施例只是供舉例,這是因為 熟習此項技藝者在參閱本發明的揭示事項之後,可易於以 不同但等效之方式修改並實施本發明。此外,除了下文的 申請專利範圍所述者之外,本發明並不受限於本文所示的 結構或設計之細節。所以,顯然可改變或修改前文所揭示 的該等特定實施例,且將把所有此類的變化視為在本發明 的範圍及精神内。因此,本發明所尋求的保護係述於下文 的申請專利範圍。
92223.ptd 第39頁 2UUJUU^5 圖式簡單說明 [圖式fB彳單說明] 本發明可藉由參考下列說明並配合所附圖式而了解, 在這些附圖中,相同的代號標示類似的元件,所附圖式 有: ^ 第1圖係χ8 6處理器架構的一習知之線性至實體位址轉 換機制之示意圖; 第2圖係χ8 6處理器架構的一分頁目錄資料項格式之示 姜圖; 第3圖係χ86處理器架構的一分頁表資料項格式之示意 第4圖係包括一 CPU及一系統或”主’’橋接器的一電腦 系統之一實施例之示意圖,其中該CPU包含一 CPU存取保全 檢查單元(SCU),且其中該主橋接器包含一主橋接器 SCU ; 第5圖係第4圖之電腦系統的不同硬體及軟體組件間之 關係之不意圖, 第6圖係第4圖之電腦系統的CPU之一實施例之示意 其中該CPU包含一記憶體管理單元(MMU); 第7圖係第6圖之MMU之一實施例之示意圖,其中該 包含一分頁單元,且其中該分頁單元包含CPU SCU; 第8圖係第7圖之CPU SCU之一實施例之示意圖; . 第9圖係存取所選擇的一記憶體分頁的一存取保全屬 性表(SAT)資料項以便取得所選擇的該記憶體分頁的額 外之存取保全資訊的一機制之一實施例之示意圖;
92223. ptd 第40頁 200300885 圖式簡單說明 第1 0圖係一 SAT預設暫存器之一實施例之示意圖; 第1 1圖係一 SAT目錄資料項格式之一實施例之示意 圖, 第1 2圖係一 SAT資料項格式之一實施例之示意圖; 第1 3圖係第4圖之主橋接器之一實施例之示意圖,其 中該 主 橋 接 器 包 含 主 橋 接 器 SCU ; 第 1 4圖 係 第 13圖 之 主 橋 接器 SCU之- -實施 例之示意 圖, 第 15圖 將 存 取 保 全 提 供給 一用 來 儲存在多 個 記 憶 體 分頁 内 配 置 的 資 料 的 記 憶 體 的一 第一 方 法的- -實 施 例 之 一 流程 圖 ; 以 及 第 1 6圖 是 將 存 取 保 全 提 供給 一用 來 儲存在多 個 記 憶 體 分頁 内 配 置 的 資 料 的 記 憶 體 白勺一 第二 方 法的- -實 施 例 之 — 一 流程 圖 〇 100 線 性 至 實 體 之 位址 轉換 機 制 102 線 性 位 址 104 分 頁 表 § 錄 (分頁巨 丨錄 ) 106 分 頁 表 108 分 頁 框 110 控 制 暫 存 器 C 112 分 頁 錄 資 料 項 114 分 頁 表 資 料 項 200 分 頁 g 錄 資 料 項格 式
92223. ptd 第41頁 200300885 圖式簡單說明 300 分 頁 表 資 料 項 格 式 116 1己 憶 位 置 -400 電 腦 系 統 402 中 央 處 理 單 元 404 主 橋 接 器 406 1己 憶 體 408 第 .— 裝 置 匯 流 排 410 裝 置 匯 流 排 橋 接 器 412 第 二 裝 置 匯 流 排 * 4 A5. 414D 裝 置 硬 體 單 元 416 中 央 處 理 單 元 存 取 控 管 檢 查單元 418 主 橋 接 器 存 取 控 管 檢 查 單 元 500 應 用 程 式 502 作 業 系 統 504 存 取 控 管 核 心 5 0 6A至 5 0 6 D 裝 置 驅 動 程 式 600 執 行 單 元 602 1己 憶 體 管 理 單 元 ▲0 4 快 取 記 憶 體 單 元 T〇 6 匯 流 排 介 面 單 元 608 控 制 暫 存 器 .610,1402 存 取 控 管 執 行 模 式 暫 存 器 700 分 段 單 元 70 2 分 頁 單 元
92223.ptd 第42頁 200300885 圖式簡單說明 7 0 4 選擇邏輯 8 0 0, 1 4 0 0 存取控管檢查邏輯 8 0 2, 1 4 0 4 存取控管屬性表資料項緩衝器 9 0 0 機制 9 0 2 實體位址 9 0 4 存取控管屬性表目錄 9 0 6 存取控管屬性表 9 0 8 存取控管屬性表基址暫存器 910 SAT目錄資料項 1 0 0 0 SAT預設暫存器 1100 SAT目錄資料項格式 1 2 0 0 SAT資料項格式 1 3 0 0 主介面 1 3 0 2 橋接邏輯 1 3 0 4 記憶體控制器 1 3 0 6 裝置匯流排介面 1500,1600 方法 1 5 0 2,1 5 0 4,1 5 0 6,1 5 0 8,1 5 1 0,1 5 1 2,1 5 1 4 步驟 1602,1604,1606 步驟
92223. ptd 第43頁

Claims (1)

  1. 六、申請專利範圍 1. 一種主橋接器,包括: 己U to控制益,適於耗合 ,頁内配置的資料之記憶r ; = ; !記 耦合以接收記憶體存取 且1^ f L、祖抆制益係 態係藉由存取該t ^ §己fe體控制器之組 以及 取°玄4組而回應該等記憶體存取信號; 存取保全檢告星分 ^ •取信號,·等記憶體存取:;j :收該等記憶體存 = ί =來::: = ”單…態】、 個存取保全屬性資料έ士構、,°亥°己丨思肢中的至少一 頁的-存取保全屬得該目標記憶體分 組態係根據該目標記;…:=子取保全檢查單元之 等記憶體存取信號提供給該記憶體控制tt。 亥 2.如中請專利範圍第i項之主橋接器,其中之該至少一 個存取保全屬性資M〗士播 、寸+、、、°構包含一存取保全屬性表目錄 及至少一個存取保全屬性表。 、 3·如申請專利範圍第2項之主橋接器,其中之該存取保 全屬性表目錄包含複數個資料項,而該存取保全屬性 表目錄的每一資料項包含一個存在位元及一個存取保 全屬性表基址攔位,而該存在位元指示對應於存取保 全屬性表目錄資料項的一個存取保全屬性表是否存在 於該記憶體中,且其中係將該存取保全屬性表基址攔 位保留給對應於該存取保全屬性表目錄資料項的存取
    » 11 碰_ 92223. ptd 第44頁 200300885 六、申請專利範圍 保全屬性表之一個基址。 4 ·如申5月專利範圍第9 jg J-^r 個存取保全屬性:包=接器,其中:該至Γ π入㈤ 衣匕sI數個賢料項,且其中該存取 保王屬性表的每一資料項包含—受存取保全的分頁 f+ Page ’ SP)位元,且其中該SP位元指示- m憶體分頁是否為一受存取保全的分頁。 圍第1項之主橋接器,其中係由-耗合 作‘。同态的一裝置硬體單元產生該等記憶體存取 6. 圍第1項之主橋接器,…該目標記 的存取保全屬性包含一受存取保全的分頁 (SP)位7C,且其中該 sp — 頁是否為-受存取保全的分頁μ以目&記憶體分 7. 如申請專利範圍第6項之主橋接器,其中當$ :n標記憶體分頁不是—受存取保全的分頁 二,邊=取保全檢查單元將該等記憶體提 給該記憶體控制器。 L現徒供 8. 如申請專利範圍第6項之主橋接器,其中各 元指示該目標記憶體分頁是一受存取保全:;位 該記憶體存取是未經授權的,且該存取保全一 不將該等記憶體存取信號提供給該記憶體3 =早兀 9. 如申請專利範圍第8項之主橋接器,复中::。 體存取信號指示一記憶體存取類型’且复,寺記憶 存取類型是一讀取存取或一寫入存取之j壬—=屺憶體
    92223· ptd 第45頁 200300885 六ίο 11 13. 4. 、申請專利範圍 _ •如申请專利範圍第9項之主橋接器,其中當今 元指示該目標記憶體分頁是一受存取保全二=sp位 該等記憶體存取信號指示該記憶體存取類型:,且 存取時,該記憶體存取是一未經授權的讀取^項取 該存取保全檢查單元之組態係設成藉由提供假^ ^ 貢料而回應該未經授權的讀取存取。 崎取 如申請專利範圍第1 0項之主橋接器,其中誃 檢查單兀之組態進一步係藉由記錄該未經授權的吃呆王 存取而回應該未經授權的讀取存取。 、項取 如申請專利範圍第9項之主橋接器,其 標記憶體分頁是一受存取保全的;:頁SP; 二、记體存取信號指示該記憶體存取類型 二=k,該記憶體存取是一未經授權的寫人存取”、、二 二;ί Ϊ全檢查單元之組態係設成藉由捨棄該等記憒、 Ί “唬所載送的寫入資料而回應該未經授權的^ 入存取。 唯w馬 如申請專利範圍第丨2項之主橋接器,其中之誃 双2早兀之組態進一步設定藉由記錄該未經授權 馬入存取而回應該未經授權的寫入存取。 一種電腦系統,包括: 記憶體,用以儲存在複數個記憶體分頁 資料; 、門配置的 π 在作業上耦合到該記憶體的裝置, 您係設成可產生記憶體存取信號;以及 且該裝置之組
    92223.ptd 第46頁
    200300885
    92223.ptd 六、申請專利範圍 主 橋 接 器 該 主 橋 接 器 包括· 控 耦 合 到 該 記 憶 體 的 記 憶 體控制益,其中該記憶 體 制器 係 •馬 合 以 接 收 記 憶 體 存取信號,且該記憶體 控 制 器之 組 態 係 δ又 成 藉 由 存 取 該記彳思體而回應該等記 憶 體 存取 信 號 以 及 存 取 保 全 檢 查 單 元 該 存取保全檢查單元係耦 合 而 接收 該 等 記 憶 體 存 取 信 號 ,其中該等記憶體存取 信 其 號 載达 在 一 a 標 記 憶 體 分 頁 之内的一實體位址,且 中 該存 取 保 全 檢 查 單 元 之 組 態係利用該實體位址來 存 取 位於 該 記 憶 體 中 的 至 少 - 個存取保全屬性資料結 構 , 以便 取 得 該 g 標 記 憶 體 分 頁的一存取保全屬性, 且 其 中該 存 取 保 全 檢 查 單 元 之 組態係根據該目標記憶 體 分 頁的 存 取 保 全 屬 性 而 將 該 等記憶體存取信號提供 給 該 記憶 體 控 制 器 〇 1 5 ·如 申請 專 利 範 圍 第 14 [項之電腦系統,進一步包含- -中 央 處理 tm 早 元 ( cent ;r a 1 pr oc :ess i ng unit,CPU), 該 CPU包 含 一 記 憶 體 管 理 單 元 (memory management unit, MMU) , 該MMU可 在 作 業上耦合到該記憶體, 且 該 MMU之組態係設成管理該記憶體,其中該MMU之組 態 係 設成 可 管 理 該 記 憶 體 而 使 該記憶體儲存在該等複 數 個 記憶 體 分 頁 内 配 置 的 資 料 〇 1 6 ·如 申請 專 利 範 圍 第 14 :項之電腦系統,其中之該至4 > 一 個 存取 保 全 屬 性 資 料 結 構 包 含一存取保全屬性表目 錄 及 至少 個 存 取 保 全 屬 性 表 0 第47頁 200300885 六、申請專利範圍 範圍第16項之上腦系統,其中之該存取保 >目錚的2錄包含複數個貢料項,該存取保全屬性表 Γί:::資料項包含一個存在位元及存取保全屬性 ▲屬性表目纾二且其中該存在位兀指示對應於存取保全 -憶體中,保全屬性表是否存在於該記 給對應於該存取入/ j=保全屬性表基址欄位保留 .性表之-個基:屬性表目錄資料項的存取保全屬 _·如申明專利範圍第16兩 罾個存取保全屬性、、—之弘細不統,其中之該至少一 屬性表的每一資料口 :數個資料項,❿該存取保全 ”立元,且其d含:個受存取保全的分頁(SP 否為受存取保全的分頁?兀私不對應的記憶體分頁是 19· 口 π]ΐ圍第14項之電腦系統,其中之… )位元,且其中爷s 匕3又存取保全的分頁(sp 否為-受存取保^的分^指不該目標記憶體分頁是 2 0 ·如::3利範圍第1 9項之電腦系統,JL中當兮、p 赢二:ΐ記憶體分頁不是受存取保全的分 该存取保王檢查單元將兮 、寸, 記憶體控制器。 Μ寺d 肢存取信號提供給該 21如申請:利範圍第19項之電腦系統,1中當 .兀私:二目標記憶體分頁是受存位 記憶體存取是未經授權的,且該存取保元:
    92223. ptd 第48頁 200300885 六、申請專利範圍 將該等記憶體存取信號提供給該記憶體控制器。 2 2.如申請專利範圍第2 1項之電腦系統,其中之該等記憶 體存取信號指示一個記憶體存取類型,且其中該記憶 體存取類型是一讀取存取或一寫入存取。 23.如申請專利範圍第22項之電腦系統,其中當該 SP位 元指示該目標記憶體分頁是一受存取保全的分頁,且 該等記憶體存取信號指示該記憶體存取類型是一讀取 存取時,該記憶體存取是一未經授權的讀取存取,且 該存取保全檢查單元之組態係設成藉由提供假的讀取 資料而回應該未經授權的讀取存取。 2 4.如申請專利範圍第2 3項之電腦系統,其中之該存取保 全檢查單元之組態進一步設成藉由記錄該未經授權的 讀取存取而回應該未經授權的讀取存取。 2 5.如申請專利範圍第22項之電腦系統,其中當該 SP位 元指不該目標記憶體分頁是受存取保全的分頁,且該 等記憶體存取信號指示該記憶體存取類型是寫入存取 時,該記憶體存取是未經授權的寫入存取,且該存取 保全檢查單元之組態係設成藉由捨棄該等記憶體存取 信號所載送的寫入資料而回應該未經授權的寫入存取 〇 2 6.如申請專利範圍第2 5項之電腦系統,其中之該存取保 全檢查單元之組態進一步設成藉由記錄該未經授權的 寫入存取而回應該未經授權的寫入存取。 2 7. —種方法,提供對一用來儲存在複數個記憶體分頁内
    92223.ptd 第49頁 六、申請專利範圍 配置的資料之记億體的存取保全,該方法包括·· 接收若干記憶體存取信號,其中之該等記憶體存 取信號載送在一目彳示έ己憶體分頁之内的一實體位址, 將該實體位址用來存取位於該記憶體中之至少一 個存取保全屬性資料結構,以便取得該目標記憶體分 頁的一存取保全屬性;以及 根艨緣 -,一"〜丁 π w 用該等記憶體存取信號來存取該記情體。 #:二:專利範圍第27項之方法,其'\該等記憶體存 取仏號係由一裝置硬體單元產生。 29. 如申請專利範圍第27項之方法,其中之該個 取保全屬性資料結構包含一存 少-個存取保全屬#取保全屬性表目錄及至 30. 如申請專利範圍第 分頁的額外之;^ & & 1之方法,其中之該目標記憶體 (sP)位m保全屬性包含-受存取保全的分頁 否為受存取保全:分二位兀指不該目標記憶體分頁是
    第50頁
TW091134576A 2001-12-05 2002-11-28 Host bridge, computer system, and method for providing access security for a memory TWI262389B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/011,151 US7426644B1 (en) 2001-12-05 2001-12-05 System and method for handling device accesses to a memory providing increased memory access security

Publications (2)

Publication Number Publication Date
TW200300885A true TW200300885A (en) 2003-06-16
TWI262389B TWI262389B (en) 2006-09-21

Family

ID=21749091

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091134576A TWI262389B (en) 2001-12-05 2002-11-28 Host bridge, computer system, and method for providing access security for a memory

Country Status (9)

Country Link
US (1) US7426644B1 (zh)
JP (1) JP2005512228A (zh)
KR (1) KR100995146B1 (zh)
CN (1) CN1285038C (zh)
AU (1) AU2002336493A1 (zh)
DE (1) DE10297494T5 (zh)
GB (1) GB2399920B (zh)
TW (1) TWI262389B (zh)
WO (1) WO2003050688A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619572A1 (en) * 2004-07-23 2006-01-25 Texas Instruments Incorporated System and method of identifying and preventing security violations within a computing system
DE102005014837B4 (de) * 2004-08-02 2007-08-30 Mahltig, Holger Sicherheitsmodul und Verfahren zum Steuern und Kontrollieren eines Datenverkehrs eines Personalcomputers
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
JP4628149B2 (ja) * 2005-03-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
TWI310153B (en) 2006-08-17 2009-05-21 Quanta Comp Inc Computer system and boot code accessing method thereof
TWI448902B (zh) * 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
TWI484334B (zh) * 2009-12-24 2015-05-11 Univ Nat Taiwan 非揮發記憶體的區域式管理方法
US20110202740A1 (en) * 2010-02-17 2011-08-18 Arm Limited Storing secure page table data in secure and non-secure regions of memory
US8935800B2 (en) 2012-12-31 2015-01-13 Intel Corporation Enhanced security for accessing virtual memory
US8959576B2 (en) 2013-03-14 2015-02-17 Intel Corporation Method, apparatus, system for qualifying CPU transactions with security attributes
US9767044B2 (en) 2013-09-24 2017-09-19 Intel Corporation Secure memory repartitioning
CN104169891B (zh) * 2013-10-29 2017-07-21 华为技术有限公司 一种访问内存的方法及设备
US9875189B2 (en) 2015-06-12 2018-01-23 Intel Corporation Supporting secure memory intent
US20170109526A1 (en) * 2015-10-20 2017-04-20 Intel Corporation Systems and methods for providing anti-malware protection and malware forensics on storage devices
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
BR112019005604A2 (pt) * 2016-11-15 2019-07-02 Huawei Tech Co Ltd chip de processador e dispositivo terminal
KR20200067633A (ko) * 2018-12-04 2020-06-12 삼성전자주식회사 메모리 장치 및 그것의 보안 데이터 처리 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63752A (ja) 1986-06-20 1988-01-05 Nippon Telegr & Teleph Corp <Ntt> メモリ保護方式
US5335334A (en) 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5263147A (en) * 1991-03-01 1993-11-16 Hughes Training, Inc. System for providing high security for personal computers and workstations
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
JPH10289158A (ja) 1997-04-11 1998-10-27 Hitachi Ltd タスク管理装置
US6516395B1 (en) * 1997-11-20 2003-02-04 Advanced Micro Devices, Inc. System and method for controlling access to a privilege-partitioned address space with a fixed set of attributes
US6505279B1 (en) * 1998-08-14 2003-01-07 Silicon Storage Technology, Inc. Microcontroller system having security circuitry to selectively lock portions of a program memory address space
US6745306B1 (en) * 1999-07-29 2004-06-01 Microsoft Corporation Method and system for restricting the load of physical address translations of virtual addresses
US7624249B2 (en) * 2005-11-10 2009-11-24 O'connor Dennis Processor multi-partition security architecture

Also Published As

Publication number Publication date
KR20050027085A (ko) 2005-03-17
AU2002336493A1 (en) 2003-06-23
CN1599902A (zh) 2005-03-23
WO2003050688A3 (en) 2004-02-12
GB2399920B (en) 2005-07-06
GB2399920A (en) 2004-09-29
TWI262389B (en) 2006-09-21
WO2003050688A2 (en) 2003-06-19
DE10297494T5 (de) 2004-11-25
US7426644B1 (en) 2008-09-16
KR100995146B1 (ko) 2010-11-18
GB0414778D0 (en) 2004-08-04
JP2005512228A (ja) 2005-04-28
CN1285038C (zh) 2006-11-15

Similar Documents

Publication Publication Date Title
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
TWI342492B (en) Method of providing extended memory protection
TW200300885A (en) System and method for handling device accesses to a memory providing increased memory access security
US6823433B1 (en) Memory management system and method for providing physical address based memory access security
US6854039B1 (en) Memory management system and method providing increased memory access security
TWI289787B (en) Method and computer system of executing security kernel software under a secure execution mode, and computer readable medium of recording related instructions
US7882330B2 (en) Virtualizing an IOMMU
US7543131B2 (en) Controlling an I/O MMU
CN103842976B (zh) 具有保护模式以防止i/o装置进行存储器访问的输入/输出存储器管理单元
US8135962B2 (en) System and method providing region-granular, hardware-controlled memory encryption
US7516247B2 (en) Avoiding silent data corruption and data leakage in a virtual environment with multiple guests
CA1315007C (en) Virtual input/output commands
US7739474B2 (en) Method and system for unifying memory access for CPU and IO operations
US7480784B2 (en) Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU)
AMD et al. Technology (IOMMU) specification
JP2022520150A (ja) インラインecc保護のための方法及びシステム
CN116583840A (zh) 快速外围部件互连保护控制器
KR100831468B1 (ko) Nodma 캐시
KR100972635B1 (ko) 컴퓨터 시스템내에서의 장치간 액세스를 제어하는 시스템및 방법
TWI286686B (en) Method and apparatus for multi-table accessing of input/output devices using target security
JPS5864690A (ja) キヤツシユメモリ制御方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees