欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

實現(xiàn)快速、安全的內(nèi)存上下文切換的設(shè)備和方法

文檔序號:6615803閱讀:310來源:國知局
專利名稱:實現(xiàn)快速、安全的內(nèi)存上下文切換的設(shè)備和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及計算機(jī)內(nèi)存,并且具體但不排他地說,涉及在計 算機(jī)內(nèi)存中實現(xiàn)快速和安全的內(nèi)存上下文切換的設(shè)備、系統(tǒng)和方法。
背景技術(shù)
即便不是所有計算機(jī),但大部分計算機(jī)均使用某類上下文進(jìn)行操 作。最熟悉和最常用的上下文是運行幾乎每臺計算機(jī)所有基本功能 的操作系統(tǒng)。操作系統(tǒng)是"超級程序",控制諸如輸入、輸出、調(diào)度和 內(nèi)存管理等計算機(jī)基本操作,并且也提供上下文,而諸如用戶應(yīng)用 程序等其它程序可在上下文內(nèi)運行。因此,例如,大多數(shù)個人計算片幾使用某個版本的Microsoft Windows作為才乘作系統(tǒng),并且MS Windows提供上下文,在該上下文內(nèi),諸如Microsoft Outlook、 Word 和Excel等應(yīng)用程序可以運行。在一些環(huán)境中,用戶可能有一些應(yīng)用程序在MS Windows上運 行,其它應(yīng)用程序在諸如Linux等不同的操作系統(tǒng)上運行,因此,有 時可能需要在Windows與Linux之間切換。在這些環(huán)境中,最方便 和經(jīng)濟(jì)的將是用戶能夠在同 一 臺計算機(jī)上使用不止一個操作系統(tǒng), 而不是讓單獨的計算機(jī)運行每個操作系統(tǒng)。這可以通過允許用戶切 換操作系統(tǒng)而切換上下文實現(xiàn)。圖1示出在此處根據(jù)第一與第二操 作系統(tǒng)之間切換而描述的上下文切換的當(dāng)前實現(xiàn)。圖1以示意圖方 式示出一個基本內(nèi)存系統(tǒng)100,該系統(tǒng)包括內(nèi)存控制器102、存儲器 104和內(nèi)存106。存儲器104和內(nèi)存106均耦合到內(nèi)存控制器102。 在系統(tǒng)100是其一部分的計算機(jī)啟動時,內(nèi)存控制器102從處理器(未 示出)接收命令,該命令使它從存儲器104檢索用于第一操作系統(tǒng)的
代碼,并將它復(fù)制到內(nèi)存106。 一旦載入內(nèi)存106中后,計算機(jī)便運 行第 一操作系統(tǒng)以及在該操作系統(tǒng)上運行的任何程序。計算機(jī)用戶要更改操作系統(tǒng)時,可指示系統(tǒng)IOO在第一操作系統(tǒng) 與第二操作系統(tǒng)之間切換。在一個很原始和基本的實現(xiàn)中,在收到 切換操作系統(tǒng)的指令時,整個計算機(jī)會關(guān)閉并繼而使用第二操作系 統(tǒng)重新啟動。在稍微更成熟的實現(xiàn)中,系統(tǒng)100收到切換搡作系統(tǒng) 的指令時,處理器發(fā)送指令到內(nèi)存控制器102以便從內(nèi)存106清空 第一操作系統(tǒng)。 一旦第一操作系統(tǒng)從內(nèi)存中清空,內(nèi)存控制器102 便訪問存儲器104,在存儲器中找到用于第二操作系統(tǒng)的代碼并隨后 將代碼從存儲器104傳送到內(nèi)存106。 一旦第二操作系統(tǒng)被載入內(nèi)存 106,系統(tǒng)100便使用第二操作系統(tǒng)運行,并且可以使用為第二操作 系統(tǒng)設(shè)計的應(yīng)用程序。上面結(jié)合圖1所述的上下文切換方案有幾個缺點,其中最明顯的 是在操作系統(tǒng)之間切換的時間長、負(fù)擔(dān)重。訪問通常為磁盤或光盤 驅(qū)動器的儲存器104或從儲存器104讀取的速度慢,因此,載入和 啟動第二操作系統(tǒng)需要一段時間。另一個大的缺點在于,在一些情 況下,計算機(jī)必須物理關(guān)閉才可實現(xiàn)操作系統(tǒng)切換;換而言之,用 戶必須物理關(guān)閉計算機(jī)電源。


參照附圖對本發(fā)明非限制性的和非窮盡的實施例進(jìn)行描述,除非 另有規(guī)定,否則,圖中相同的標(biāo)號表示各種視圖中相同的部件。 圖l是多操作系統(tǒng)環(huán)境當(dāng)前內(nèi)存實現(xiàn)的方框圖。 圖2是已分區(qū)內(nèi)存上下文切換系統(tǒng)的實施例方框圖。 圖3是已分區(qū)內(nèi)存上下文切換系統(tǒng)的備選實施例方框圖。 圖4是包括已分區(qū)內(nèi)存上下文切換系統(tǒng)實施例的計算機(jī)系統(tǒng)實施 例方框圖。圖5A是示出如圖2或圖3所示的已分區(qū)內(nèi)存上下文切換系統(tǒng)操
作實施例的流程圖。圖5B是示出如圖2或圖3所示的已分區(qū)內(nèi)存上下文切換系統(tǒng)操 作備選實施例的流程圖。圖6A是示出用于將內(nèi)存分區(qū)的內(nèi)存配置寄存器實施例的方框圖。圖6B是示出用于將內(nèi)存分區(qū)的內(nèi)存配置寄存器備選實施例的方 框圖。
具體實施方式
本文描述了用于實現(xiàn)快速和安全的內(nèi)存上下文切換的設(shè)備、系統(tǒng) 和方法實施例。在下面的說明中,描述了許多特定的細(xì)節(jié)以提供對 本發(fā)明實施例的詳盡理解。然而,相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識到, 本發(fā)明可在不存在一個或多個特定細(xì)節(jié)的情況下實踐,或者通過其 它方法、組件、材料等實踐。在其它實例中,熟知的結(jié)構(gòu)、材料或 操作未詳細(xì)示出或描述,但仍包括在本發(fā)明范圍內(nèi)。此說明書通篇對"一個實施例"或"實施例"的引用意p未著結(jié)合該實 施例描述的特定特性、結(jié)構(gòu)或特征包括在本發(fā)明的至少一個實施例 中。因此,此說明書中出現(xiàn)的詞語"在一個實施例中,,或"在實施例中,, 不一定全部指同一實施例。此外,特定的特性、結(jié)構(gòu)或特征可在一 個或多個實施例中以任何適合的方式組合。圖2示出快速上下文切換內(nèi)存系統(tǒng)200的實施例。內(nèi)存系統(tǒng)200 包括內(nèi)存控制器202,內(nèi)存控制器202中有一個或多個配置寄存器 204。在此實施例中,至少一個通信信道將內(nèi)存控制器202耦合到至 少一個內(nèi)存, 一對通信信道206和208各耦合到至少一個內(nèi)存通 信信道206耦合到內(nèi)存模塊210和212,而通信信道208類似地耦合 到內(nèi)存模塊214和216。其它實施例當(dāng)然可包括更多或更少的通信信 道,并且每個通信信道可耦合到比圖中所示實施例中更多或更少數(shù) 量的內(nèi)存模塊。在所示實施例中,內(nèi)存模塊210、 212、 214和216是雙列直插式 內(nèi)存模塊(DIMM),每個模塊包^r通稱為"列(rank)"的兩行內(nèi)存 器件。內(nèi)存模塊210例如由第一行或列210a和第二行或列210b組成。 在一個實施例中,在模塊中使用的內(nèi)存器件可包括DRAM,但本發(fā) 明的實施例在此方面并不受限。雖然所示實施例為內(nèi)存^f吏用DIMM 配置,但在內(nèi)存系統(tǒng)200的其它實施例中,諸如單列直插式內(nèi)存模 塊(SIMM)及諸如此類等其它種類的內(nèi)存模塊也可使用。另外,內(nèi)存 系統(tǒng)200中的所有內(nèi)存模塊無需為同一種類在其它實施例中,只 要使用的內(nèi)存模塊具有足夠的容量,并且可通過使用內(nèi)存控制器202 上的配置寄存器204進(jìn)行適當(dāng)?shù)貙ぶ泛团渲茫煌瑑?nèi)存模塊的任何 組合就可用于內(nèi)存模塊210、 212、 214和216。內(nèi)存模塊210-216分 組成兩個內(nèi)存分區(qū)包括內(nèi)存才莫塊210和214的第一內(nèi)存分區(qū),和 包括內(nèi)存模塊212和216的第二內(nèi)存分區(qū)。如下面結(jié)合圖4和圖5 進(jìn)一步所述,通過在配置寄存器204中設(shè)置適當(dāng)?shù)膮?shù),以便控制 器一次為一個內(nèi)存分區(qū)進(jìn)行地址解碼,可實現(xiàn)將內(nèi)存分區(qū)的操作。 以此方式配置寄存器可確保在第一分區(qū)中運行的上下文(例如,操作 系統(tǒng))不訪問第二分區(qū)的內(nèi)存,并且在第二分區(qū)中運行的上下文(例 如,操作系統(tǒng))不訪問第一分區(qū)中的內(nèi)存,從而避免了如內(nèi)存訪問沖 突等問題。通信信道206和208將內(nèi)存泮莫塊210、 212、 214和216耦合到內(nèi) 存控制器202,并允許在內(nèi)存^^莫塊與控制器之間進(jìn)行通信和數(shù)據(jù)交 換。在內(nèi)存系統(tǒng)200的一個實施例中,通信信道206和208是能夠 承載電信號的導(dǎo)電路徑;印刷電路板中的內(nèi)存總線是此類傳導(dǎo)路徑 的一個示例。然而,在其它實施例中,通信信道可以為某種其它類 型的電通信信道,或者可以為完全不同類型的通信信道,例如,光 通信信道,如波導(dǎo)或光纖。內(nèi)存控制器202也稱為內(nèi)存控制器中心(MCH),控制內(nèi)存模塊 210、 212、 214和216之間的數(shù)據(jù)流動及內(nèi)存控制器202與諸如處理
器和/或存儲媒體等計算機(jī)內(nèi)的其它組件(未示出)之間的數(shù)據(jù)流動。除其它外,內(nèi)存控制器212包括至少一個配置寄存器204。在所示的為 內(nèi)存模塊使用DIMM的實施例中,配置寄存器204包括DRAM歹l1/ 行邊界(DRB)寄存器。DRB寄存器用于將中央處理器(CPU)和直接內(nèi) 存存取(DMA)地址映射到內(nèi)存模塊210-216的物理內(nèi)存單元。在典型的計算機(jī)系統(tǒng)中,基本輸入輸出系統(tǒng)(BIOS)將配置寄存器 設(shè)計為其正常內(nèi)存初始化序列的一部分。BIOS查詢DIMM以確定每 個DIMM支持的內(nèi)存量,并隨后在DRB寄存器中為每個DIMM設(shè) 計正確的值。DRB寄存器中的參數(shù)告訴芯片集每個DIMM支持的內(nèi) 存量,以及如何將處理器地址映射到DIMM上的物理內(nèi)存單元。DRB 寄存器以遞增方式設(shè)計。對于如所述實施例的雙信道實施例Ch0中的總內(nèi)存=CO—DRBO + CO—DRB 1 + CO—DRB2 + CO—DRB3Chi中的總內(nèi)存=CI—DRBO + CI—DRB1 + CI—DRB2 + CI—DRB3 系統(tǒng)中的總內(nèi)存=Ch0中的總內(nèi)存+Chl中的總內(nèi)存許多內(nèi)存系統(tǒng)支持雙內(nèi)存信道,因此,在此類系統(tǒng)中,可為每個 內(nèi)存信道指配單獨的DRB內(nèi)存寄存器集。此類雙信道拓樸以不影響 系統(tǒng)內(nèi)存帶寬的方式生成內(nèi)存分區(qū)。圖3示出快速上下文切換內(nèi)存系統(tǒng)300的備選實施例。正如圖2 所示內(nèi)存系統(tǒng)200 —樣,內(nèi)存300包括其中具有一個或多個配置寄 存器304的內(nèi)存控制器302。同樣耦合到內(nèi)存控制器302的是一對通 信信道306和308。除耦合到內(nèi)存控制器302之外,通信信道306還 耦合到內(nèi)存模塊310和312;類似地,通信信道308耦合到內(nèi)存模塊 314和316。內(nèi)存系統(tǒng)399與內(nèi)存系統(tǒng)200的不同之處大部分在于內(nèi)存分區(qū)的 拓樸。在內(nèi)存系統(tǒng)200中,每個分區(qū)包括耦合到每個通信信道的內(nèi) 存模塊;例如,第一分區(qū)包括耦合到通信信道206的內(nèi)存模塊210 和耦合到通信信道208的內(nèi)存模塊214。結(jié)果是內(nèi)存系統(tǒng)200中的每
個內(nèi)存分區(qū)與內(nèi)存控制器202之間具有兩個通信信道。與此相反, 在內(nèi)存系統(tǒng)300中,每個分區(qū)包括耦合到同一通信信道的多個內(nèi)存 模塊;因此,在內(nèi)存系統(tǒng)300中,第一分區(qū)包括內(nèi)存模塊310和312, 兩個模塊均耦合到同 一通信信道306,并且第二分區(qū)包括內(nèi)存模塊314 和316,兩個模塊均耦合到同一通信信道308。結(jié)果是每個內(nèi)存分區(qū) 與內(nèi)存控制器302之間具有一個通信信道。正如內(nèi)存系統(tǒng)200 —樣, 在內(nèi)存系統(tǒng)300中,通過調(diào)整配置寄存器304內(nèi)的參數(shù)值,以便內(nèi) 存控制器一次為 一個分區(qū)進(jìn)行地址解碼而形成分區(qū)。以此方式配置 寄存器,可確保在笫一分區(qū)中運行的上下文(例如,操作系統(tǒng))不訪問 第二分區(qū)中的內(nèi)存,并且在第二分區(qū)中運行的上下文(例如,操作系 統(tǒng))不訪問第 一分區(qū)中的內(nèi)存,從而避免了如內(nèi)存訪問沖突等問題。圖4示出包括諸如內(nèi)存系統(tǒng)200或300等上下文切換內(nèi)存系統(tǒng)的 基本計算機(jī)系統(tǒng)400的實施例。計算機(jī)系統(tǒng)400包括處理器402,該 處理器耦合到非易失性內(nèi)存404和形成諸如內(nèi)存系統(tǒng)200或300等 已分區(qū)內(nèi)存一部分的內(nèi)存控制器202。內(nèi)存控制器202也耦合到存儲 裝置406。處理器402可以是從諸如Intel Pentium處理器等可編程通用處理 器到專用集成電路(ASIC)在內(nèi)的任何種類的處理器。除其它之外,處 理器402包括一定數(shù)量的板上內(nèi)存,如隨機(jī)存取內(nèi)存(RAM)或其它種 類的內(nèi)存,所有或部分這些內(nèi)存可用于運行某些程序。處理器402可在其板上內(nèi)存中運行的程序之一是特權(quán)代碼模塊 (即,具有比操作系統(tǒng)更高內(nèi)存存取權(quán)限的代碼模塊);在所示實施例 中,特權(quán)代碼模塊是已鑒權(quán)代碼沖莫塊(ACM)403,但在其它實施例中, 特權(quán)代碼模塊可以是系統(tǒng)管理模式(SMM)模塊、嵌入式微控制器或 某個其它特權(quán)代碼模塊。在一個實施例中,特權(quán)代碼模塊是至少將 配置寄存器解鎖的唯一部件,但在其它實施例中,特權(quán)代碼模塊除 將寄存器解鎖外,還可配置和鎖定寄存器。在還有的其它實施例中, 特權(quán)代碼模塊可將模塊解鎖,而配置和鎖定可由非特權(quán)代碼模塊執(zhí)
行。允許諸如ACM等特權(quán)代碼沖莫塊至少將寄存器解鎖可能是符合需 要的,因為它確保至少寄存器的解鎖是由設(shè)計為與平臺一起工作的 特權(quán)代碼完成。在所示實施例中,ACM 403帶有數(shù)字簽名,并被加密約束到平 臺上。約束可通過計算ACM公共密鑰的哈希值(hash),并將它與 芯片集或處理器硬件中常駐的哈希值進(jìn)行比較而實現(xiàn)。ACM通過使 用處理器的現(xiàn)有安全機(jī)器擴(kuò)展(SMX)能力啟動。在ACM啟動時,處 理器402將模塊載入特定內(nèi)存(稱為已鑒權(quán)代碼RAM或ACRAM)以 便驗證和執(zhí)行。在一個實施例中,ACRAM可使用處理器高速緩存的 特殊才莫式實現(xiàn),但在其它實施例中,它可以不同的方式實現(xiàn),如通 過使用部分板上RAM實現(xiàn)。ACRAM的其它實現(xiàn)是可能的。一旦在ACRAM中載入ACM,處理器便驗證數(shù)字簽名到平臺約 束,并隨后使用數(shù)字簽名驗證模塊本身。如果數(shù)字簽名成功通過驗 證,則處理器402開始在特權(quán)環(huán)境中執(zhí)行ACM,在該環(huán)境中,ACM有權(quán)訪問控制器中的特權(quán)丄r. o "y g.丄ocA:和丄r. a w/ g. fodt命令。這些命令在由ACM發(fā)出時,控制器會注重這些命令。鎖定/解鎖命 令可控制控制器的內(nèi)存控制/配置寄存器的鎖定和解鎖。本發(fā)明的實 施例可使用這些特殊命令將內(nèi)存配置寄存器解鎖,更改內(nèi)存配置以 創(chuàng)建內(nèi)存分區(qū),以及重新鎖定配置寄存器以確保將內(nèi)存分區(qū)可由簽 名的ACM啟用/禁用。.使用這些命令和/或其它ACM 403可實現(xiàn)打開或關(guān)閉內(nèi)存分區(qū)的 安全開關(guān),以允許在內(nèi)存中不同OS上下文之間的切換。這通過以允 許隱藏或顯示內(nèi)存分區(qū)和/或分區(qū)中內(nèi)存模塊的方式操控內(nèi)存配置寄 存器而完成。在一個實施例中,此內(nèi)存操控涉及設(shè)置寄存器,以便 它們 一次為 一個分區(qū)進(jìn)行地址解碼,這允許控制器管理多個重疊的 物理內(nèi)存范圍,使得一次看到一個范圍。這樣,ACM可有效地將物 理內(nèi)存分區(qū)成利用控制器解碼邏輯來實施隔離的兩個或更多個獨立 范圍。這允許更快的OS上下文切換,并提高了切換機(jī)制的安全性。
處理器402耦合到非易失性內(nèi)存404,非易失性內(nèi)存可以是任何 種類的非易失性內(nèi)存;示例包括閃存、ROM、 EPROM及諸如此類。 除其它外,非易失性內(nèi)存404可存儲基本輸入輸出系統(tǒng)(BIOS),處理 器402在操作系統(tǒng)可被載入以接管計算機(jī)操作前,需要該系統(tǒng)以操 作其基本功能。BIOS引導(dǎo)計算對幾,建立基本連接,在載入操作系統(tǒng) 前執(zhí)行某些功能,以及載入操作系統(tǒng)。圖5A示出諸如系統(tǒng)200或系統(tǒng)300等上下文切換內(nèi)存系統(tǒng)在計 算機(jī)系統(tǒng)400中操作的流程500的實施例。計算機(jī)系統(tǒng)啟動從方框502 開始。在方框504,系統(tǒng)例如通過使用其BIOS載入已鑒權(quán)代碼模塊 (ACM)并對ACM鑒權(quán)。在ACM通過鑒權(quán)后,在方框506,系統(tǒng)將 第 一上下文(在此實施例中為第 一操作系統(tǒng))載入到第 一 內(nèi)存分區(qū)。在 方框508,系統(tǒng)將第二上下文(在此實施例中為第二操作系統(tǒng))載入第 二內(nèi)存分區(qū)。在操作系統(tǒng)載入其相應(yīng)分區(qū)并引導(dǎo)后,配置寄存器在 方框510被解鎖,并且設(shè)置配置寄存器中的參數(shù),以便發(fā)生用于第 一分區(qū)的地址解碼。通過以此方式設(shè)置配置參^t,系統(tǒng)識別第一分 區(qū)并且表現(xiàn)得好象第二分區(qū)根本不存在一樣。 一旦配置寄存器中的 參數(shù)經(jīng)適當(dāng)設(shè)置,在方框514,配置寄存器便由ACM鎖定。通過用 于第一內(nèi)存分區(qū)的地址解碼,在方框516,系統(tǒng)使用第一操作系統(tǒng)運 行。在運行第一操作系統(tǒng)的同時,在方框518,計算機(jī)系統(tǒng)檢查是否 已收到切換操作系統(tǒng)的指示。如果未收到指示,則在方框516,系統(tǒng) 繼續(xù)運行第一操作系統(tǒng)。如果在方框518收到切換操作系統(tǒng)的指示, 則在方框520, ACM將配置寄存器解鎖,并且在方框522,設(shè)置配 置寄存器中的參數(shù),以便控制器現(xiàn)在為與第二分區(qū)相關(guān)聯(lián)的地址解 碼;通過以此方式設(shè)置配置參^t,內(nèi)存控制器識別第二分區(qū)并且表 現(xiàn)得好象第一分區(qū)根本不存在一樣。配置寄存器中的參數(shù)設(shè)置后, 在方框524,配置寄存器由ACM鎖定,并且在方框526,第二操作 系統(tǒng)開始運4亍。 在運行第二操作系統(tǒng)的同時,在方框528,計算機(jī)系統(tǒng)檢查是否 已收到切換操作系統(tǒng)的指示。如果未收到指示,則在方框526,系統(tǒng) 繼續(xù)運行第二操作系統(tǒng)。如果在方框528收到切換操作系統(tǒng)的指示, 則流程返回方框510,在方框510, ACM將配置寄存器解鎖,并且 在方框512,設(shè)置配置寄存器中的參數(shù),以便控制器再次為與第一分 區(qū)解碼地址。 一旦配置寄存器中的參數(shù)設(shè)置后,在方框514,配置寄 存器便由ACM鎖定,并且在方框516,第一操作系統(tǒng)開始運行。圖5B示出諸如系統(tǒng)200或系統(tǒng)300等上下文切換內(nèi)存系統(tǒng)在計 算機(jī)系統(tǒng)400中操作的流程550的備選實施例。流程550與流程500 的不同之處主要在于載入操作系統(tǒng)的順序。在流程500中,兩個操 作系統(tǒng)在開始時載入,并且切換操作系統(tǒng)涉及在兩個系統(tǒng)之間切換。 在流程550中,第一操作系統(tǒng)會載入并用于開始操作,并且第二操 作系統(tǒng)會在需要時被載入、引導(dǎo)和操作。然而, 一旦第二操作系統(tǒng) 已載入,兩個操作系統(tǒng)便均在內(nèi)存中,并且切換操作系統(tǒng)如流程500 中一樣涉及在兩個操作系統(tǒng)之間的反復(fù)。計算機(jī)系統(tǒng)的啟動從方框552開始。在方框554,系統(tǒng)例如通過 使用其基本輸入輸出系統(tǒng)(BIOS)載入已鑒權(quán)代碼模塊(ACM)并對 ACM鑒權(quán)。在ACM通過鑒權(quán)后,在方框556, ACM設(shè)置配置寄存 器為第一分區(qū)進(jìn)行地址解碼;通過以此方式設(shè)置配置參數(shù),系統(tǒng)識 別第 一分區(qū)并表現(xiàn)得好象第二分區(qū)根本不存在一樣。在方框558 , ACM 將配置寄存器鎖定后,在方框560,系統(tǒng)將第一上下文(在此實施例 中為第一操作系統(tǒng))載入第一內(nèi)存分區(qū),引導(dǎo)操作系統(tǒng),并在方框562, 運行第一操作系統(tǒng)。在方框564,系統(tǒng)等待更改上下文(即,操作系統(tǒng))的指示。如果 未收到指示,則系統(tǒng)繼續(xù)運行第一操作系統(tǒng)。如果在方框564收到 更改操作系統(tǒng)的指示,則在方框566, ACM將配置寄存器解鎖,在 方框568,設(shè)置配置寄存器為第二分區(qū)進(jìn)行地址解碼,并在方框570, 再次將配置寄存器鎖定。在將配置寄存器鎖定后,在方框572,系統(tǒng) 將第二操作系統(tǒng)載入第二分區(qū),引導(dǎo)第二操作系統(tǒng),并在方框574, 運行第二操作系統(tǒng)。在方框576,系統(tǒng)等待更改操作系統(tǒng)的指示。如果未收到指示, 則系統(tǒng)繼續(xù)運行第二操作系統(tǒng)。如果在方框576收到更改操作系統(tǒng) 的指示,則在方框578, ACM將配置寄存器解鎖,在方框580,設(shè) 置配置寄存器為第二分區(qū)進(jìn)行地址解碼,并在方框582,再次將配置 寄存器鎖定。在將配置寄存器鎖定后,系統(tǒng)切換到已經(jīng)載入第一分 區(qū)的第一操作系統(tǒng),并在方框584,運行第一操作系統(tǒng)。在方框586,系統(tǒng)等待更改操作系統(tǒng)的指示。如果未收到指示, 則在方框584,系統(tǒng)繼續(xù)運行第一操作系統(tǒng)。如果在方框586收到更 改操作系統(tǒng)的指示,則在方框588, ACM將配置寄存器解鎖,在方 框590,設(shè)置配置寄存器為第二分區(qū)進(jìn)行地址解碼,并在方框592, 再次將配置寄存器鎖定。在將配置寄存器鎖定后,系統(tǒng)切換到已經(jīng) 載入第二分區(qū)的第二操作系統(tǒng),并在方框594,運行第二操作系統(tǒng)。在方框596,系統(tǒng)等待更改操作系統(tǒng)的指示。如果未收到指示, 則在方框594,系統(tǒng)繼續(xù)運行第二操作系統(tǒng)。如果在方框596收到更 改操作系統(tǒng)的指示,則流程返回方框578,在該方框,它再次經(jīng)歷上 下文切換順序,并在方框584,運行第一操作系統(tǒng)。圖6A示出可用于在諸如系統(tǒng)200或系統(tǒng)300等上下文切換內(nèi)存 系統(tǒng)中配置內(nèi)存和將內(nèi)存分區(qū)的配置寄存器604的實施例。配置寄 存器604的操作將參照圖5A的流程500描述;配置寄存器的操作擴(kuò) 展類似于到圖5B所示流程550,主要不同之處在于配置寄存器的鎖 定、解鎖和配置的順序。配置寄存器604包括兩個部分存儲用于 第一內(nèi)存分區(qū)的參數(shù)的第一部分606和存儲用于第二分區(qū)的參數(shù)的 第二部分608。在初始狀態(tài)602,配置寄存器604纟皮鎖定,并且部分 606中的參數(shù)設(shè)置成為第一內(nèi)存分區(qū)進(jìn)行地址解碼,而部分608中的 參數(shù)設(shè)置成不為第二內(nèi)存分區(qū)進(jìn)行地址解碼。在圖4所示操作實施 例中,配置寄存器狀態(tài)602對應(yīng)于方框514和516。
在方框518,內(nèi)存控制器202或302收到更改上下文的指示(在 此實施例中,通過更改操作系統(tǒng))時,配置寄存器604從狀態(tài)602轉(zhuǎn) 變到狀態(tài)610,在該狀態(tài),它已由已鑒權(quán)代碼模塊(ACM)解鎖;狀態(tài) 610因此對應(yīng)于方框520。在配置寄存器604解鎖后,它從狀態(tài)610 轉(zhuǎn)變到狀態(tài)612,在該狀態(tài),用于第一內(nèi)存分區(qū)的參數(shù)經(jīng)設(shè)置,以便 不存在該部分的地址編碼,并且用于第二內(nèi)存分區(qū)的參數(shù)經(jīng)設(shè)置, 以便存在該分區(qū)的解碼。配置寄存器604在狀態(tài)612的設(shè)置基本上 是在狀態(tài)602設(shè)置的調(diào)換,并且對應(yīng)于方框522。最后,在狀態(tài)614, 配置寄存器604再次在狀態(tài)612的配置中被鎖定;狀態(tài)614因此對 應(yīng)于方框524和526。要將上下文從第二操作系統(tǒng)切換回第一操作系 統(tǒng),可實際上以相反的順序再配置配置寄存器604。換而言之,配置 寄存器從狀態(tài)614開始(對應(yīng)于方框524和526),并且轉(zhuǎn)變到狀態(tài) 612(對應(yīng)于方框510),然后轉(zhuǎn)變到狀態(tài)610(對應(yīng)于方框512),并最 后轉(zhuǎn)變到對應(yīng)于方框514和516的狀態(tài)602。圖6B示出可用于在諸如系統(tǒng)200或系統(tǒng)300等已分區(qū)內(nèi)存系統(tǒng) 中配置內(nèi)存和將內(nèi)存分區(qū)的配置寄存器658備選實施例。與配置寄 存器604不同,配置寄存器658包括一次為一個內(nèi)存分區(qū)存儲參數(shù) 的一個部分。為允許上下文切換,配置寄存器658可耦合到一個單 獨的內(nèi)存652,該內(nèi)存分配第一部分564以存儲用于第一內(nèi)存分區(qū)的 參數(shù),并且分配第二部分656以存儲用于第二內(nèi)存分區(qū)的參數(shù)。正如配置寄存器604 —樣,配置寄存器658的操作將參照圖5A 所示的流程500論述。在初始狀態(tài)650,配置寄存器658被鎖定,并 且寄存器中的參數(shù)設(shè)置成為第 一 內(nèi)存分區(qū)進(jìn)行地址解碼。用于第二 分區(qū)的參數(shù)存儲在內(nèi)存652的部分656中。在圖5A所示的操作實施 例中,配置寄存器狀態(tài)650對應(yīng)于方框514。在方框518,內(nèi)存控制器202或302收到更改上下文的指示(在 此示例中,通過更改操作系統(tǒng))時,配置寄存器658從狀態(tài)650轉(zhuǎn)變 到狀態(tài)660,在該狀態(tài),它已由已鑒權(quán)代碼模塊(ACM)解鎖;狀態(tài)610
因此對應(yīng)于方框520。在配置寄存器658被解鎖后,它從狀態(tài)650轉(zhuǎn) 變到狀態(tài)660,在該狀態(tài),在配置寄存器658與內(nèi)存652之間建立數(shù) 據(jù)通信。 一旦數(shù)據(jù)通信已建立,用于第一內(nèi)存分區(qū)的參數(shù)便從配置 寄存器658復(fù)制到內(nèi)存652的部分654,而用于第二內(nèi)存分區(qū)的參數(shù) 從內(nèi)存652的部分656復(fù)制到配置寄存器658。在狀態(tài)662,用于第 二內(nèi)存分區(qū)的參數(shù)載入配置寄存器658,并且配置寄存器658在狀態(tài) 662的設(shè)置對應(yīng)于方框522。最后,在狀態(tài)664,配置寄存器604在 狀態(tài)662的配置中^C鎖定;狀態(tài)664因此對應(yīng)于方框524。要將上下文從第二操作系統(tǒng)切換回第 一操作系統(tǒng),可實際上以相 反的順序再配置配置寄存器658。換而言之,配置寄存器從狀態(tài)664 開始(對應(yīng)于方框524和526),并且轉(zhuǎn)變到狀態(tài)662(對應(yīng)于方框510), 然后轉(zhuǎn)變到狀態(tài)660(對應(yīng)于方框512),并最后轉(zhuǎn)變到對應(yīng)于方框514 和516的狀態(tài)650。上述本發(fā)明所示實施例的說明、包括摘要中所述內(nèi)容無意窮盡或 限制本發(fā)明為明確的公開形式。雖然為便于說明而在本文描述了本 發(fā)明的特定實施例和示例,但相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識到,在本 發(fā)明范圍內(nèi)可能實現(xiàn)各種等效的修改。根據(jù)上述詳細(xì)說明,可對本 發(fā)明進(jìn)行這些修改。隨附權(quán)利要求書中使用的術(shù)語不應(yīng)視為限制本發(fā)明為說明書和權(quán) 利要求書中公開的特定實施例。相反,本發(fā)明的范圍要完全由隨附 權(quán)利要求書確定,權(quán)利要求書要根據(jù)解釋權(quán)利要求的確定原則來進(jìn) 行解釋。
權(quán)利要求
1.一種設(shè)備,包括其中包括配置寄存器的內(nèi)存控制器;耦合到所述內(nèi)存控制器的通信信道;以及耦合到所述通信信道的第一和第二內(nèi)存分區(qū),其中所述配置寄存器中的配置參數(shù)被設(shè)置成使所述內(nèi)存控制器一次識別一個分區(qū)。
2. 如權(quán)利要求1所述的設(shè)備,其中所述通信信道包括第一和第 二通信信道,并且其中所述第 一 內(nèi)存分區(qū)耦合到所述第 一通信信道, 所述第二內(nèi)存分區(qū)耦合到所述第二通信信道。
3. 如權(quán)利要求1所述的設(shè)備,其中所述通信信道包括第一和第二通信信道,并且其中所述第 一 內(nèi)存分區(qū)和所述第二內(nèi)存分區(qū)中的 每個均耦合到所述第一通信信道和所述第二通信信道。
4. 如權(quán)利要求1所述的設(shè)備,其中每個內(nèi)存分區(qū)包括至少一個 內(nèi)存。
5. 如權(quán)利要求1所述的設(shè)備,其中所述配置寄存器中的所述參 數(shù)被設(shè)置成使所述內(nèi)存控制器一次為 一個內(nèi)存分區(qū)進(jìn)行地址解碼。
6. 如權(quán)利要求1所述的設(shè)備,其中所述配置寄存器包括第一配 置寄存器和第二配置寄存器,每個寄存器中具有用于對應(yīng)內(nèi)存分區(qū) 的配置參數(shù),其中一次設(shè)置一個寄存器以便為其對應(yīng)的內(nèi)存分區(qū)進(jìn) 行解碼。
7. 如權(quán)利要求l所述的設(shè)備,還包括一個或多個附加內(nèi)存分區(qū)。
8. 如權(quán)利要求1所述的設(shè)備,其中所述配置寄存器可被鎖定和 解鎖。
9. 如權(quán)利要求8所述的設(shè)備,其中至少所述解鎖由比操作系統(tǒng)具有更高內(nèi)存訪問特權(quán)的特權(quán)代碼模塊完成。
10. 如權(quán)利要求9所述的設(shè)備,其中所述特權(quán)代碼模塊是將所述 配置寄存器解鎖的唯一部件。
11. 如權(quán)利要求9所述的設(shè)備,其中所述特權(quán)代碼模塊是已鑒權(quán) 代碼模塊(ACM)、系統(tǒng)管理模式(SMM)模塊或嵌入式微控制器。
12. —種系統(tǒng),包括 處理器;耦合到所述處理器的存儲裝置;以及 耦合到所述處理器的內(nèi)存系統(tǒng),所述內(nèi)存系統(tǒng)包括 其中包括配置寄存器的內(nèi)存控制器; 耦合到所述內(nèi)存控制器的通信信道;以及 耦合到所述通信信道的第 一和第二內(nèi)存分區(qū),其中所述配置 寄存器中的配置參數(shù)被設(shè)置成使所述內(nèi)存控制器一次識別一個分 區(qū)。
13. 如權(quán)利要求12所述的系統(tǒng),其中所述通信信道包括第一和 第二通信信道,并且其中所述第 一 內(nèi)存分區(qū)耦合到所述第 一通信信道,所述第二內(nèi)存分區(qū)耦合到所述第二通信信道。
14. 如權(quán)利要求12所述的系統(tǒng),其中所述通信信道包括第一和 第二通信信道,并且其中所述第一內(nèi)存分區(qū)和所述第二內(nèi)存分區(qū)中 的每個均耦合到所述第一通信信道和所述第二通信信道。
15. 如權(quán)利要求12所述的系統(tǒng),其中所述配置寄存器中的所述 參數(shù)被設(shè)置成使所述內(nèi)存控制器一次為 一個內(nèi)存分區(qū)進(jìn)行地址解 碼。
16. 如權(quán)利要求12所述的系統(tǒng),其中所述配置寄存器包括第一 配置寄存器和第二配置寄存器,每個寄存器對應(yīng)于所述內(nèi)存分區(qū)的 其中之一。
17. 如權(quán)利要求12所述的系統(tǒng),還包括一個或多個附加內(nèi)存分區(qū)。
18. 如權(quán)利要求12所述的系統(tǒng),其中所述配置寄存器可被鎖定 和解鎖。
19. 如權(quán)利要求18所述的系統(tǒng),其中至少所述解鎖由比操作系統(tǒng)具有更高內(nèi)存訪問特權(quán)的特權(quán)代碼模塊完成。
20. 如權(quán)利要求19所述的系統(tǒng),其中所述特權(quán)代碼模塊是將所 述配置寄存器解鎖的唯一部件。
21. 如權(quán)利要求19所述的系統(tǒng),其中所述特權(quán)代碼模塊是已鑒 權(quán)代碼模塊(ACM)、系統(tǒng)管理模式(SMM)模塊或嵌入式微控制器。
22. —種處理方法,包括在內(nèi)存控制器的配置寄存器中設(shè)置配置參數(shù),以便所述內(nèi)存控制 器識別通過通信信道耦合到所述內(nèi)存控制器的第 一 內(nèi)存分區(qū),而不 是通過所述通信信道耦合到所迷內(nèi)存控制器的第二內(nèi)存分區(qū);以及重置所述配置參數(shù),以便所述內(nèi)存控制器識別所述第二內(nèi)存分區(qū) 而不是所述第一內(nèi)存分區(qū)。
23. 如權(quán)利要求22所述的處理方法,其中所述通信信道包括第 一和第二通信信道,并且其中所述第一內(nèi)存分區(qū)耦合到所述第一通 信信道,所述第二內(nèi)存分區(qū)耦合到所述第二通信信道。
24. 如權(quán)利要求22所述的處理方法,其中所述通信信道包括第 一和第二通信信道,并且其中所述第一內(nèi)存分區(qū)和所述第二內(nèi)存分 區(qū)兩者均耦合到所述第一通信信道和所述第二通信信道。
25. 如權(quán)利要求22所述的處理方法,其中在所述配置寄存器中 設(shè)置配置參數(shù),以便所述內(nèi)存控制器識別所述第一 內(nèi)存分區(qū)而不是 所述第二內(nèi)存分區(qū),或者所述第二內(nèi)存分區(qū)而不是所述第一內(nèi)存分 區(qū)包括設(shè)置所述配置參數(shù)以便一次為一個分區(qū)進(jìn)行地址解碼。
26. 如權(quán)利要求22所述的處理方法,還包括將一個或多個附加 內(nèi)存分區(qū)耦合到所述通信信道。
27. 如權(quán)利要求22所述的處理方法,還包括鎖定和解鎖所述配 置寄存器。
28. 如權(quán)利要求27所述的處理方法,其中至少所述解鎖由比操 作系統(tǒng)具有更高內(nèi)存訪問特權(quán)的特權(quán)代碼模塊完成。
29. 如權(quán)利要求28所述的處理方法,其中所述特權(quán)代碼模塊是 將所述配置寄存器解鎖的唯一部件。
30.如權(quán)利要求28所述的處理方法,其中所述特權(quán)代碼模塊是 所述已鑒權(quán)代碼模塊(ACM)、系統(tǒng)管理模式(SMM)模塊或嵌入式微控制器。
全文摘要
一種包括內(nèi)存控制器的設(shè)備,該控制器中包括配置寄存器、耦合到內(nèi)存控制器的通信信道及耦合到通信信道的第一和第二內(nèi)存分區(qū),其中配置寄存器中的配置參數(shù)被設(shè)置成使內(nèi)存控制器一次識別一個分區(qū)。一種處理方法包括在內(nèi)存控制器的配置寄存器中設(shè)置配置參數(shù),以便內(nèi)存控制器識別通過通信信道耦合到內(nèi)存控制器的第一內(nèi)存分區(qū)而不是通過通信信道耦合到內(nèi)存控制器的第二內(nèi)存分區(qū),并且重置配置參數(shù)以便內(nèi)存控制器識別該第二內(nèi)存分區(qū)而不是第一內(nèi)存分區(qū)。
文檔編號G06F12/00GK101211313SQ20071030528
公開日2008年7月2日 申請日期2007年12月28日 優(yōu)先權(quán)日2006年12月28日
發(fā)明者F·A·西迪奇, K·D·布蘭諾克 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
延津县| 从化市| 荆州市| 三原县| 阿巴嘎旗| 文登市| 建德市| 河东区| 河津市| 兰西县| 阜新| 云阳县| 翼城县| 鹤峰县| 建水县| 石家庄市| 平度市| 尚义县| 阿拉尔市| 连山| 阜宁县| 昌平区| 赫章县| 襄城县| 岗巴县| 常德市| 科尔| 山阳县| 牡丹江市| 镇雄县| 巴彦淖尔市| 汾西县| 鄂托克前旗| 昌邑市| 威信县| 尉氏县| 泾川县| 穆棱市| 永昌县| 涟水县| 安龙县|