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

采用包括配置成清除內(nèi)存的內(nèi)存控制器的信賴的執(zhí)行環(huán)境的計算機系統(tǒng)的制作方法

文檔序號:6492800閱讀:169來源:國知局
專利名稱:采用包括配置成清除內(nèi)存的內(nèi)存控制器的信賴的執(zhí)行環(huán)境的計算機系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于一種計算機系統(tǒng),更詳而言之,關(guān)于一種采用信賴的執(zhí)行模式以保護(hù)存儲于計算機系統(tǒng)內(nèi)存的數(shù)據(jù)避免未經(jīng)授權(quán)的存取的計算機系統(tǒng)。
背景技術(shù)
現(xiàn)代的計算機系統(tǒng)使人類的生活方式產(chǎn)生重大的變革。尤其是具有利用x86系統(tǒng)結(jié)構(gòu)的微處理器的系平臺更是變革的主要推手。以x86為基礎(chǔ)的系統(tǒng)開放給各式各樣的使用者輸入外圍設(shè)備(owner-installablethird-party peripheral device)和各種應(yīng)用為野心于競爭、創(chuàng)新和改革的硬件和軟件業(yè)者帶來龐大的商機。此種改革的例證之一即現(xiàn)今廣泛使用此種平臺在品質(zhì)和性能均持續(xù)提升的數(shù)字通訊和媒體系統(tǒng)中。在網(wǎng)際網(wǎng)絡(luò)中,此種系統(tǒng)平臺前所未見的提供傳播大量的數(shù)字內(nèi)容、實現(xiàn)來自世界各地的線上隨選新聞、氣象報告以及廣播電臺、提供線上金融和購物以及聲光的娛樂服務(wù)。
自從x86平臺的結(jié)構(gòu)公諸于世,具有制造商提供的驅(qū)動程序的裝置都在核心模式下運作以進(jìn)行存取,而此種軟件的應(yīng)用則具有核心模式的內(nèi)容。因此,雖然x86公開的結(jié)構(gòu)具有許多優(yōu)點且可提供某種程度上的保護(hù)使其各種應(yīng)用程序間不會在意外的情形下互相干擾,但目前的結(jié)構(gòu)保護(hù)機制仍會使其暴露在非預(yù)期的操作中。
具有以x86結(jié)構(gòu)為操作平臺的微處理器的計算機系統(tǒng)包含幾種保護(hù)應(yīng)用程序使其不會互相干擾的特色。例如,以x86為基礎(chǔ)的操作系統(tǒng)依賴兩種x86保護(hù)模式結(jié)構(gòu)的特色以提供一種環(huán)境,使應(yīng)用程序間互相隔絕且主要的操作系統(tǒng)碼(operation system code)和數(shù)據(jù)與各應(yīng)用間也相互隔絕,此兩種特色為1.分頁的虛擬內(nèi)存,以及2.執(zhí)行特權(quán)級(privilege level,保密級,本文中稱為特權(quán)級)。
分頁虛擬內(nèi)存允許操作系統(tǒng)(OS)為各應(yīng)用程序定義分隔的虛擬地址空間,并特別將實體內(nèi)存的個別分頁透過一組地址變換表映像(map)至各虛擬地址空間。此提供各應(yīng)用程序具有各自的實體內(nèi)存以存取其密碼和數(shù)據(jù),而其它的應(yīng)用程序無法進(jìn)入存取。此虛體內(nèi)存機制同時使OS特別將實體內(nèi)存的分頁對應(yīng)至多個虛擬地址空間,且特別標(biāo)定在虛空間中的分頁為只讀狀態(tài)。這種分享的映像能力同時可允許OS核心的復(fù)制本存在于各應(yīng)用程序地址空間且同樣的實現(xiàn)分享外圍設(shè)備存取端的映像和相關(guān)裝置驅(qū)動程序的例程(routine),以使OS無須昂貴的地址空間切換器就能執(zhí)行有效率的應(yīng)用程序存取操作。但地址空間的OS部份必須具有使OS代碼(operation system code,操作系統(tǒng)的代碼或密碼)能修改的系統(tǒng)數(shù)據(jù)區(qū)域,且其仍然要受到保護(hù)與應(yīng)用程序代碼分隔,前述只讀的設(shè)計卻無法對此區(qū)域提供適當(dāng)?shù)谋Wo(hù)。
x86結(jié)構(gòu)并以0至3定義4個特權(quán)級,OS分派這些特權(quán)級至各代碼區(qū)域(regions of code)并以代碼段指示符(code segment descriptors)保存。目前執(zhí)行密碼或程序的特權(quán)級將存為目前特權(quán)級(CPL)。因此特權(quán)級一般以CPL0至CPL3標(biāo)示。通過使用這些特權(quán)級的標(biāo)示,系統(tǒng)資源將只密碼執(zhí)行于適當(dāng)特權(quán)級中。通過特權(quán)級,分頁虛擬內(nèi)存架構(gòu)可實現(xiàn)對于虛擬內(nèi)存的分頁的存取限制。雖然定義了4個特權(quán)級,但只有CPL0和CPL3常用于主流的操作系統(tǒng)中,因分頁的虛擬內(nèi)存結(jié)構(gòu)無法辨別CPL1或CPL2與CPL3的不同。CPL0一般用于核心模式,其為最高的特權(quán)級,而CPL3一般用于使用者模式,為最低的特權(quán)級。OS碼和數(shù)據(jù)一般編為CPL0而應(yīng)用程序代碼和數(shù)據(jù)編為CPL3。CPL0執(zhí)行特權(quán)無法跨越只讀保護(hù);這兩種特質(zhì)是相互獨立的。而前述的代碼段指示符是用于指派這些特權(quán)級。
除這些內(nèi)存的保護(hù)之外,所有的處理器控制寄存器,包含控制虛擬內(nèi)存操作在內(nèi),通過架構(gòu)定義只能于CPL0存取。此外,特殊的控制轉(zhuǎn)送指令用于切換各片段間的執(zhí)行,且因而切換特權(quán)級。這些指令允許OS限制這些控制的目標(biāo)轉(zhuǎn)送至OS句柄中的特定入口點,而使應(yīng)用程序于傳送控制到OS的同時方能改變特權(quán)級。
各地址空間的隔離以及應(yīng)用程序與OS內(nèi)存空間的隔離完全由虛擬內(nèi)存地址變換表的內(nèi)容所控制。變換表定義各應(yīng)用程序間獨立的虛擬至物理的分頁映像,以及保護(hù)分享數(shù)據(jù)庫和OS的只讀和特權(quán)級特質(zhì)。這些表本身為內(nèi)存常駐的數(shù)據(jù)結(jié)構(gòu)且具有轉(zhuǎn)換入口以映像其成為分享OS內(nèi)存區(qū)域并限制其于核心模式碼的存取。
現(xiàn)行的保護(hù)機制似乎提供應(yīng)用程序和OS一個適當(dāng)?shù)谋Wo(hù)。在運作良好的系統(tǒng)中(如操作系統(tǒng)正確的應(yīng)用這些機制,以及OS碼正確的操作以控制這些機制,以及所有其它運作于核心模式中的碼無法干擾的系統(tǒng)),的確提供了適當(dāng)?shù)谋Wo(hù)。然而,典型以x86為基礎(chǔ)的系統(tǒng)具有大量的核心模式碼,不只來自O(shè)S業(yè)者更來自許多獨立的源頭,如此一來就無法確保意外或其它的干擾不會發(fā)生。
對于實體內(nèi)存這種情況更容易發(fā)生。例如,應(yīng)用程序不再需要在內(nèi)存供給定的位置內(nèi)容,該位置必然要解除配置。然而,于該位置中所存儲的實際數(shù)據(jù)依然完好的存在。依據(jù)使用者執(zhí)行的操作形式和運作中軟件應(yīng)用程序的形式,存儲于該內(nèi)存中的信息易受外在的存取的侵害。因此,必須提升其安全性而使x86結(jié)構(gòu)系統(tǒng)較不易被外在的存取侵害。

發(fā)明內(nèi)容
在此揭示各種利用信賴執(zhí)行環(huán)境以及用于清除內(nèi)存的計算機系統(tǒng)的實施例。在一實施例中,計算機系統(tǒng)中具有處理器,該處理器可通過執(zhí)行安全操作系統(tǒng)密碼段而操作于安全執(zhí)行模式中。此計算機系統(tǒng)中同時具有系統(tǒng)內(nèi)存,該系統(tǒng)內(nèi)存包含多個位置以存儲數(shù)據(jù)。該計算機系統(tǒng)更進(jìn)一步具有連接于該系統(tǒng)內(nèi)存的內(nèi)存控制器。該內(nèi)存控制器為響應(yīng)處理器的復(fù)位指令可選擇性清除在程序化范圍中的多個系統(tǒng)內(nèi)存的位置。
在一特殊實際完成例中,該內(nèi)存控制器可確定該處理器是否為內(nèi)存休眠功能優(yōu)先于復(fù)位功能。更進(jìn)一步,該內(nèi)存控制器為響應(yīng)該處理器并非休眠狀態(tài)優(yōu)先于復(fù)位狀態(tài)的確定而清除數(shù)據(jù)。


圖1為方塊圖,其顯示具有信賴的計算機平臺的計算系統(tǒng)的實施例;
圖2為方塊圖,其顯示具有信賴的計算平臺的內(nèi)存控制器的實施例;圖3為流程圖,其顯示具有信賴的計算平臺的計算機系統(tǒng)的內(nèi)存控制器的實施例的操作。
本發(fā)明可接受各種修改和交替形式,本發(fā)明特定的實施例以圖標(biāo)做為例證的用并將作詳細(xì)的描述。然而,在此必須了解到圖標(biāo)和其詳述并非意圖限制本發(fā)明于特定揭示的形式中,而其意圖系于涵蓋所有于所附的權(quán)利要求書中所定義的本發(fā)明的精神與范疇下的修改、等效以及替換的形式。
具體實施例方式
安全/信賴的計算平臺概述信賴的計算平臺使計算機系統(tǒng)(如個人計算機(PC))的使用者能夠參與許多新的活動,如下載電子現(xiàn)金和電影,且其隱私權(quán)可同時受到保護(hù)以免被攻擊。身為信賴的計算環(huán)境的一部份,PC本身必須受使用者和外部入口兩者所信賴,外部入口如銀行和電子內(nèi)容的提供者。產(chǎn)生信賴的PC必須具備的主要組件包括信賴的處理環(huán)境、平臺專用密文、加密處理、安全存儲以及稱為安全核心(Security Kernel;SK)的安全操作系統(tǒng)密碼段。建構(gòu)裝置這些組件的區(qū)塊將在以下作更多的敘述。
用于執(zhí)行x86指令的處理器一般具有保護(hù)模式的架構(gòu)特性,保護(hù)模式系用于分頁虛擬內(nèi)存和特權(quán)執(zhí)行模式,而控制寄存器組則可控制這些處理器的架構(gòu)特性??刂七@些控制寄存器的存取與分頁表可提供額外的保護(hù)以免未經(jīng)授權(quán)的存取在計算機系統(tǒng)中程序化密碼和處理數(shù)據(jù)。因此,此種保護(hù)可透過對這種處理器增加一組架構(gòu)延伸以及相對應(yīng)的軟件支持而提供。全面的提升處理器的安全性系稱為安全執(zhí)行模式(SEM)。SEM為增加至處理器的新操作模式,可產(chǎn)生信賴的執(zhí)行環(huán)境,在此環(huán)境中安全核心能免于外部竄寫的威脅而運作。
因此,可在SEM中操作的處理器可具有安全硬件(未圖標(biāo)),當(dāng)其由SEM操作時可支持SEM操作模式,如操作的信賴的執(zhí)行(TX)模式。信賴的執(zhí)行模式包括依靠其執(zhí)行中的軟件以及其特權(quán)級、在安全使用者模式中操作有能力執(zhí)行SEM的處理器以及除正常使用者模式和正常核心模式外的安全核心模式。用于保護(hù)硬件內(nèi)存存取(如直接內(nèi)存存取(DMA))的機制可同樣用于產(chǎn)生只能由此環(huán)境中運作的軟件存取的保護(hù)內(nèi)存區(qū)域。
新的信賴的環(huán)境(TX)某種方式上類似于傳統(tǒng)的正常/保護(hù)模式(Ring 3/Ring 0)機制用于分隔使用者和核心環(huán)境。因此,可支持SEM的CPU具有產(chǎn)生且執(zhí)行TX模式的硬件機制。
在此注意到,先進(jìn)配置與電力接口(ACPI)說明書最新的修定本中定義各種系統(tǒng)的操作和休眠狀態(tài)。S3狀態(tài)定義為低喚醒潛伏期休眠狀態(tài),在此狀態(tài)中除系統(tǒng)內(nèi)存外其它與系統(tǒng)相關(guān)者皆會流失。當(dāng)進(jìn)入S3狀態(tài)中,電力會從大部份的系統(tǒng)裝置中移除。然而,支持系統(tǒng)記憶的裝置,如內(nèi)存控制器,能夠部份的有電力供應(yīng)。
ACPI系統(tǒng)管理有大部份獨立于信賴計算和信賴環(huán)境。然而,在各S狀態(tài)中移動會造成某些結(jié)果。例如如前所述,當(dāng)處理器遇到復(fù)位時部份初始化信任環(huán)境的處理系清除實體內(nèi)存的內(nèi)容。然而,若系統(tǒng)為S3狀態(tài),內(nèi)存將不會被清除。同樣的,當(dāng)系統(tǒng)置于其它的休眠狀態(tài)中,如S4狀態(tài),在信賴的內(nèi)存中的密文則無法以”無危險狀態(tài)(in the clear)”存儲于硬盤中。
具有信賴的計算平臺的計算機系統(tǒng)參閱圖1,其顯示具有信賴的計算平臺電腦系統(tǒng)的實施例的方塊圖。計算機系統(tǒng)10具有兩個支持SEM的處理器稱為SEM處理器100A以及SEM處理器100B。SEM處理器100A透過處理器總線105連接至SEM處理器100B。計算機系統(tǒng)10同時具有連接至SEM處理器100A的系統(tǒng)內(nèi)存110A以及連接至SEM處理器100B的系統(tǒng)內(nèi)存110B。SEM處理器100A透過外圍總線145連接至輸入/輸出(I/O)接口120。I/O接口120進(jìn)一步透過外圍總線135連接至安全服務(wù)處理器(SSP)130。在另一個替換的實施例中,除了外圍總線135,SSP130可接至外圍總線145,如虛線所示。在此注意到,雖然圖中標(biāo)示為兩個SEM處理器,但其它的實施例中可具有其它數(shù)目的SEM處理器,且具有相同組件符號和文字的組件簡略的以組件符號表示。例如SEM處理器100A將簡略的表示為SEM處理器100。
在一實施例中,處理器總線105為同調(diào)連結(jié),可形成順應(yīng)超傳輸(Hyper Transport)規(guī)格的高速的點對點連結(jié)。相同的,在一實施例中,系統(tǒng)總線125可為非同調(diào)I/O連結(jié)。例如系統(tǒng)總線125亦可與超傳輸I/O規(guī)格兼容以高速點對點連結(jié)。在此實施例中,SEM處理器100A具有集積主機橋接邏輯(未圖標(biāo))以接至非同調(diào)連結(jié)并以同調(diào)連結(jié)在SEM處理器100A和SEM處理器100B間傳送訊息。然而,在此注意到,于其它實施例中系統(tǒng)總線125可為任何一種系統(tǒng)總線,如前端總線(FSB)。
在此揭露的實施例中。SEM處理器100A和SEM處理器100B各具有集積內(nèi)存控制器101A和101B,用以分別連至系統(tǒng)內(nèi)存110A和110B。注意到在替換的實施例中,I/O接口120可具有一個或多個內(nèi)存控制器以及主機橋接器。在此種實施例中,系統(tǒng)內(nèi)存110可連接至I/O接口120。
SEM處理器100可例如為利用x86架構(gòu)的處理器。例如在一實施例中,SEM處理器100可為高級微裝置(AMD)公司的AthlonTM處理器。就其本身而言,SEM處理器100配置成執(zhí)行存儲于系統(tǒng)內(nèi)存110或存儲裝置140中的x86指令。在此實施例中,SEM處理器100在內(nèi)存控制器101(未圖標(biāo))中具有安全硬件,當(dāng)由SEM激活時可提供支持于SEM操作模式,如描述圖1時所提的信賴執(zhí)行(TX)模式。
系統(tǒng)內(nèi)存110配置成存儲SEM處理器100常用的程序指令和數(shù)據(jù)。在此典型的系統(tǒng)配置中,存儲裝置140可用于更長久的存儲程序指令和數(shù)據(jù)以及當(dāng)SEM處理器100需要數(shù)據(jù)和程序代碼時,其可傳送到系統(tǒng)內(nèi)存110。對于SEM操作模式額外的支持可由安全核心提供,在SEM處理器100操作期間安全核心的執(zhí)行可脫離系統(tǒng)內(nèi)存110而關(guān)聯(lián)至OS。此外,系統(tǒng)內(nèi)存100可分割至信賴的部分與非信賴的部分。如上所述,系統(tǒng)內(nèi)存110典型的利用分頁虛擬內(nèi)存進(jìn)行存取。在此配置中,系統(tǒng)內(nèi)存110可由個體分頁或內(nèi)存區(qū)塊進(jìn)行存取。此分頁功能典型的由OS內(nèi)存管理功能來管理操作。另外,當(dāng)內(nèi)存位置已分派和已解除配置,存儲于解除配置內(nèi)存位置的數(shù)據(jù)依然能進(jìn)行存取。
在一實施例中,系統(tǒng)內(nèi)存110使用動態(tài)存取內(nèi)存(DRAM)技術(shù)或以各種可用的DRAM技術(shù)實現(xiàn)多個內(nèi)存芯片,該各種可用的DRAM技術(shù)可如同步動態(tài)存取內(nèi)存技術(shù)。DRAM芯片通常嵌置在具有邊緣連接器的小型電路板上,該邊緣連接器系插入主機板的插槽連接器中。依據(jù)主機板的配置,其可稱為單排或雙排模塊(如分別為單排內(nèi)存模塊(SIMMs)和雙排內(nèi)存模塊(DIMMs))。系統(tǒng)內(nèi)存100具有多組系統(tǒng)內(nèi)存,允許內(nèi)存擴(kuò)充。
如上所述,存儲裝置140可存儲程序代碼和數(shù)據(jù)。在一實施例中,存儲裝置140可為硬盤驅(qū)動器或多個硬盤驅(qū)動器,雖在其它實施例中考量到其可具有其它多種的存儲裝置,如光驅(qū)、軟盤機和磁帶機。
外圍裝置150可為任一種外圍設(shè)備,如調(diào)制解調(diào)器、影像擷取裝置或其它一般輸入輸出裝置。在此注意到,其它實施例中,可使用其它數(shù)目的外圍裝置。
I/O接口120可配置成提供總線控制和轉(zhuǎn)送以供在一般系統(tǒng)操作時達(dá)成在不同外圍總線和SEM處理器100A和100B間的處理。在一實施例中,I/O接口120具有總線橋接器(未圖標(biāo)),其可執(zhí)行關(guān)聯(lián)于北橋的功能。例如,外圍總線145可為外圍組件連接(PCI)總線以及外圍總線135可為低接腳數(shù)(LPC)總線。此外,總線橋接器可配置為提供安全機制(未圖標(biāo))在系統(tǒng)初始化時允許不受欺騙(non-spoofable)的通訊發(fā)生在SEM處理器100和SPP130間。
一般來說,安全核心初始化指令(SKINIT)執(zhí)行于支持SEM處理器上,如SEM處理器100A和SEM處理器100B。在一實施例中,SKINIT指令可具有三個執(zhí)行階段初始化、數(shù)據(jù)傳送以及跳躍。
在初始化階段,SEM處理器100A裝態(tài)可復(fù)位而任何微碼修補皆會被清除。此外,內(nèi)存控制器101A和101B無論集積或外部至SEM處理器100皆可具有邏輯(圖2中未圖標(biāo))配置成引起系統(tǒng)內(nèi)存110的內(nèi)存芯片的實體內(nèi)容為響應(yīng)這種系統(tǒng)狀態(tài)而造成的重寫,系統(tǒng)狀態(tài)如復(fù)位。
參閱圖2,其顯示內(nèi)存控制器的實施例的方塊圖。內(nèi)存控制器301具有接至內(nèi)存清除狀態(tài)位存儲325以及內(nèi)存清除單元310的控制邏輯315。內(nèi)存控制器301可接至系統(tǒng)內(nèi)存,如圖1中的系統(tǒng)內(nèi)存110。
內(nèi)存控制器301配置成為響應(yīng)復(fù)位或激活電源順序,除非該復(fù)位或激活電源關(guān)聯(lián)至內(nèi)存休眠功能。如在此的使用,清除內(nèi)存芯片的內(nèi)容涉及引起存儲于系統(tǒng)內(nèi)存的內(nèi)存芯片重寫且因而不能使用。在一實施例中。內(nèi)存控制器301可通過對每個在內(nèi)存系統(tǒng)中預(yù)定存取的位置寫入邏輯值0而清除內(nèi)存內(nèi)容。在另一個實施例中,內(nèi)存控制器301可通過對每個在內(nèi)存系統(tǒng)中預(yù)定存取的位置寫入邏輯值1而清除內(nèi)存芯片的內(nèi)容。在另一個實施例中,內(nèi)存控制器301可通過對系統(tǒng)內(nèi)存110寫入某些其它數(shù)據(jù)圖樣以清除內(nèi)存芯片的內(nèi)容,其中該系統(tǒng)內(nèi)存110可提出任何先前存儲于此的數(shù)據(jù)為不能使用者的部分。在此實施例中,數(shù)據(jù)圖樣可隨機產(chǎn)生。
在此注意到,于一實施例中,內(nèi)存控制器301可和SEM處理器100結(jié)合在一起,SEM處理器100可如圖1中的內(nèi)存控制器101,或在交替實施例中內(nèi)存控制器301可為外接至SEM處理器100,在此狀況中,內(nèi)存控制器301可為橋接單元的一部份,橋接單元可如圖1中的I/O控制器120。
在揭示的實施例中,控制邏輯315具有配置和控制寄存器316以及平臺性能寄存器320。配置和控制寄存器316可具有軟件存取寄存器以程序化可的址內(nèi)存的尺寸。例如,在初始化階段,BIOS可確定可用系統(tǒng)內(nèi)存的尺寸,并依次程序化內(nèi)存控制器316以通過程序化配置和控制寄存器316存取可用內(nèi)存。此外,配置和控制寄存器316可具有DRAM致能位稱為DRAME位。在一實施例中,DRAME的邏輯值通過復(fù)位設(shè)置為0,并在程序化內(nèi)存控制器301的最后一步驟中通過如BIOS的軟件將邏輯值設(shè)置為1。當(dāng)內(nèi)存控制器失效或關(guān)掉時硬件也可清除此位。當(dāng)復(fù)位時,DPAME位造成內(nèi)存控制器301由失效轉(zhuǎn)為有效。另外,配置和控制寄存器316具有DRAM狀態(tài)位稱為DStat位。在一實施例中,DStat位為軟件可見(software visible)位。此位由0至1的轉(zhuǎn)變表示內(nèi)存清除操作已經(jīng)完成。當(dāng)內(nèi)存清除操作完成時,此位可通過在控制邏輯315中的硬件設(shè)為1。DRAME位被清除時,DStat位可被清除。例如若真「AND」內(nèi)存清除單元(true AND memory clear unit)310不在內(nèi)存清除操作中,則DStat=1。
在此揭示的實施例中,當(dāng)內(nèi)存控制器301由失效轉(zhuǎn)換至可使用且內(nèi)存晶除單元310為可使用時,內(nèi)存清除單元310系配置為清除已程序化成配置寄存器316的系統(tǒng)內(nèi)存區(qū)域。例如,在一實施例中,內(nèi)存清除單元310具有在內(nèi)存清除操作期間產(chǎn)生數(shù)據(jù)寫入系統(tǒng)內(nèi)存的邏輯。
在此揭示的實施例中,平臺安全性能寄存器320具有稱為MCD的內(nèi)存清除失效位。如后將述的細(xì)節(jié),MCD位系配置使內(nèi)存清除單元310有效/失效,因而有能力或無能力清除系統(tǒng)內(nèi)存。
在一實施例中,平臺安全性能寄存器為軟件可見的存取保護(hù)寄存器,位于配置空間中與內(nèi)存控制器301有關(guān)聯(lián)。在次注意到,MCD位只被信賴的軟件看見。地址功能系以新能力指針(0Fh)為基礎(chǔ)。MCD位可為直接內(nèi)存存取互斥向量(DEV)寄存器中的位。在一實施例中,當(dāng)MCD位設(shè)置為邏輯1,內(nèi)存清除單元310即失效,而當(dāng)MCD位設(shè)置為邏輯0,則內(nèi)存清除單元310即有效。另外,MCD位要在內(nèi)存為有效時才為可寫入。
在此注意到,在一實施例中,無論系統(tǒng)電力是否移除但系統(tǒng)內(nèi)存的內(nèi)存芯片依然具有電力(如S3狀態(tài))而MCD位的狀態(tài)都將被保留。位保留位狀態(tài)訊息,MCD位可具有關(guān)于內(nèi)存休眠狀態(tài)的位,稱為STR,其可保留狀態(tài)且在主/從配置中與MCD位一起運作。在一實施例中,在激活電源的情況下,STR位的狀態(tài)被復(fù)制到MCD位。因此,STR位指示系統(tǒng)內(nèi)存的內(nèi)容在關(guān)閉電源時是否被存儲。STR位不是軟件可見且不能通過復(fù)位而清除。在一實施例中,無論系統(tǒng)電力是否被移除而系統(tǒng)內(nèi)存的內(nèi)存芯片依然具有電力時(如S3狀態(tài)),STR位會保留狀態(tài)。只要內(nèi)存控制器301為有效,信賴的軟件可通過設(shè)定MCD位優(yōu)先于進(jìn)入S3狀態(tài)而間接的設(shè)定STR位。在進(jìn)入關(guān)閉電源狀態(tài)之前,MCD狀態(tài)可復(fù)制到STR位。當(dāng)DRAME位受設(shè)定時(如在內(nèi)存清除操作衡量過自身狀態(tài)后),STR位可自動受清除。在此揭示的實施例中,STR位系包含在內(nèi)存清除狀態(tài)位存儲325中。
在此揭示的實施例中,內(nèi)存清除狀態(tài)位存儲325并具有預(yù)清除內(nèi)存位。這些位可存儲指令在內(nèi)存由先前內(nèi)存清除操作所清除的部份。這些位并非軟件可見且無法通過復(fù)位情除。在一實施例中,無論系統(tǒng)電源是否被切除但系統(tǒng)內(nèi)存的內(nèi)存芯片依然有電源時(如S3狀態(tài))預(yù)清除內(nèi)存位會保留狀態(tài)。每當(dāng)內(nèi)存清除操作執(zhí)行時,預(yù)清除內(nèi)存位可進(jìn)行重新加載。
在一實施例中,控制邏輯315可確認(rèn)系統(tǒng)內(nèi)存目前的尺寸,該系統(tǒng)內(nèi)存對照該存儲于預(yù)清除內(nèi)存位中的狀態(tài)受程序化而成為內(nèi)存控制器301。若出現(xiàn)失配(mismatch)的狀態(tài),內(nèi)存清除單元310將無條件的如上述的方法清除系統(tǒng)內(nèi)存。例如惡意的BIOS或BIOS仿真軟件具有程序化的內(nèi)存控制器301以存取小于在企圖存取安全內(nèi)存時的先前存取和清除的區(qū)域。因此,當(dāng)偵測到失配時,整個預(yù)清除內(nèi)存的范圍都將被清除。在一實施例中,預(yù)清除內(nèi)存位可做為存儲上地址位的工具,該上地址位為最新內(nèi)存清除操作所清除的內(nèi)存中最高64MB區(qū)塊中的一部份。然而,在其它實施例中將考量到其它的目的。
在一實施例中,在系統(tǒng)電力移除但系統(tǒng)內(nèi)存的內(nèi)存芯片依然有電力(如S3狀態(tài))時,內(nèi)存清除狀態(tài)位存儲325的位可保留狀態(tài),且被存儲在裝置于I/O墊環(huán)(I/O pad ring)中的狀態(tài)存儲組件中,該I/O墊環(huán)屬于覆蓋內(nèi)存控制器的裝置的一部份(在圖中以虛線表示)。如將述的圖3的細(xì)節(jié),內(nèi)存控制器301的控制邏輯315可在出現(xiàn)復(fù)位時存取這些狀態(tài)存儲組件。為了替某些裝置(如短暫的存儲,像是RAM)維持電力,即使在系統(tǒng)關(guān)閉電源狀態(tài)(如S3狀態(tài))依然維持該部份的電力。這些狀態(tài)存儲組件可保留其狀態(tài)渡過關(guān)閉電源狀態(tài)和隨后的激活電源狀態(tài)程序。
圖3為流程圖,描述在信賴的計算平臺中的內(nèi)存控制器的一個實施例的操作。同時參考圖2和圖3,操作開始于方塊400,系統(tǒng)出現(xiàn)復(fù)位。為響應(yīng)此復(fù)位,BIOS執(zhí)行各種系統(tǒng)級設(shè)定和配置任務(wù)。例如,BIOS必須藉配置內(nèi)存控制器301而使系統(tǒng)內(nèi)存能夠使用。通過這個特殊的系統(tǒng)配置,BIOS執(zhí)行一個或一個以上的內(nèi)存測試,以測定系統(tǒng)內(nèi)存的實體區(qū)域尺寸。只要測定了可用的內(nèi)存,在一實施例中,BIOS會以目前可用內(nèi)存的尺寸程序化一個或一個以上的內(nèi)存控制器301的配置寄存器316(方塊405)。只要內(nèi)存控制器受程序化,BIOS通過設(shè)定DRAME位而使內(nèi)存控制器301能夠使用(方塊410)。內(nèi)存控制器301于是由失效轉(zhuǎn)為有效。STR位通過控制邏輯315而復(fù)制到MCD位(方塊415)。
為響應(yīng)由失效至有效的轉(zhuǎn)換,控制邏輯315讀取MCD位以于復(fù)位前確定系統(tǒng)是否為S3(如內(nèi)存休眠功能)狀態(tài)(方塊420)。若系統(tǒng)并非在S3狀態(tài)(如MCD位清除),則控制邏輯315由存儲在配置寄存器316中的值確定內(nèi)存尺寸(方塊430)??刂七壿?15通知內(nèi)存清除單元310以對所有位于目前程序化的內(nèi)存尺寸中的位置進(jìn)行內(nèi)存清除操作(方塊435)。清除的內(nèi)存尺寸存儲于預(yù)清除內(nèi)存位中(方塊440)。
再參閱方塊425,若控制邏輯315確定系統(tǒng)為S3狀態(tài)(如MCD位設(shè)定),則控制邏輯315由存儲在配置寄存器316中的值以及藉讀取在內(nèi)存清除狀態(tài)位存儲325的先前內(nèi)存清除位中的存儲值而確定目前程序化內(nèi)存的尺寸(方塊445)??刂七壿?15將目前程序化內(nèi)存尺寸與預(yù)清除內(nèi)存尺寸作比較(方塊450)。若尺寸不匹配(方塊455),則控制邏輯315通知內(nèi)存清除單元310執(zhí)行內(nèi)存清除操作,該內(nèi)存清除操作的對象為存儲在內(nèi)存清除狀態(tài)位存儲325中的預(yù)清除內(nèi)存位的值所指示的先前內(nèi)存清除操作所清除的所有位置。清除的內(nèi)存尺寸存儲在預(yù)清除內(nèi)存位中(方塊440)。在一實施例中,只要MCD位被評估,STR位就會被清除而在出現(xiàn)復(fù)位時造成內(nèi)存清除位成為有效。
再參閱方塊455,若目前程序化內(nèi)存尺寸與預(yù)清除內(nèi)存尺寸相同,只要內(nèi)存清除單元310受設(shè)定MCD位控制而為失效時內(nèi)存清除操作就無法執(zhí)行(方塊460)。
此外,如前所述,只要內(nèi)存控制器301為有效,MCD位即由信賴的軟件于進(jìn)入S3狀態(tài)前進(jìn)行設(shè)定,此設(shè)定造成在出現(xiàn)復(fù)位時內(nèi)存清除操作成為失效。
雖然上述的實施例已作相當(dāng)詳盡的敘述,然而只要對上述揭述的內(nèi)容能充分的了解,則對于所屬領(lǐng)域的技術(shù)人員而言各式各樣的變化與修改將變得顯而易見。后述的申請專利范圍的詮釋將涵蓋上述的各式各樣的變化與修改。
權(quán)利要求
1.一種計算機系統(tǒng)(10),包括處理器(100A),其通過執(zhí)行安全操作系統(tǒng)密碼段以在安全執(zhí)行模式中進(jìn)行操作;系統(tǒng)內(nèi)存(110A),其接至該處理器并具有多個位置以存儲數(shù)據(jù);以及內(nèi)存控制器(101A),其接至該系統(tǒng)內(nèi)存并用以對該系統(tǒng)內(nèi)存的該多個地址的程序化范圍使用內(nèi)存清除操作選擇性清除該數(shù)據(jù)以響應(yīng)該處理器所作的復(fù)位而造成的有效狀態(tài)。
2.如權(quán)利要求1所述的計算機系統(tǒng),其中,該內(nèi)存控制器進(jìn)一步用以于復(fù)位前確定該處理器是否為內(nèi)存休眠功能。
3.如權(quán)利要求2所述的計算機系統(tǒng),其中,該內(nèi)存控制器進(jìn)一步用以使用該內(nèi)存清除操作清除該數(shù)據(jù)以響應(yīng)于復(fù)位前該處理器并非內(nèi)存休眠功能的確定。
4.如權(quán)利要求2所述的計算機系統(tǒng),其中,為響應(yīng)于復(fù)位前該處理器為內(nèi)存休眠狀態(tài),該內(nèi)存控制器進(jìn)一步用以確定目前程序化內(nèi)存尺寸與在先前內(nèi)存清除操作中被清除的該多個地址的該程序化范圍的尺寸是否相同。
5.如權(quán)利要求4所述的計算機系統(tǒng),其中,該內(nèi)存控制器用以使用該內(nèi)存清除操作以清除該數(shù)據(jù),以響應(yīng)所確定的該目前程序化內(nèi)存尺寸不同于在該先前內(nèi)存清除執(zhí)行中所清除的該多個地址的該程序化范圍的尺寸。
6.如權(quán)利要求2所述的計算機系統(tǒng),其中該內(nèi)存控制器具有存儲(325),用以于復(fù)位前存儲指示該處理器是否為該內(nèi)存休眠功能的位。
7.如權(quán)利要求1所述的計算機系統(tǒng),進(jìn)一步包括安全服務(wù)處理器(130),透過輸入/輸出接口(120)接至該處理器,并用以在該處理器的初始化階段進(jìn)入該安全執(zhí)行模式期間核對該安全操作系統(tǒng)密碼段的至少一部份是否為合法的。
8.一種計算機系統(tǒng)安全方法,包括在安全執(zhí)行模式通過執(zhí)行安全初始化指令而對處理器(100A)初始化,并通過執(zhí)行安全操作系統(tǒng)密碼段在該安全執(zhí)行模式中進(jìn)行操作;存儲數(shù)據(jù)于系統(tǒng)內(nèi)存(110A)的多個地址中;以及使用內(nèi)存清除操作在該系統(tǒng)內(nèi)存的該多個地址的程序化范圍中選擇性清除該數(shù)據(jù)以響應(yīng)該處理的復(fù)位。
9.如權(quán)利要求8所述的方法,進(jìn)一步包括于復(fù)位前確定該處理器是否為內(nèi)存休眠狀態(tài)。
10.如權(quán)利要求9所述的方法,進(jìn)一步包括使用該內(nèi)存清除操作清除該數(shù)據(jù),以響應(yīng)于復(fù)位前該處理器并非該內(nèi)存休眠功能的確定。
全文摘要
一種計算機系統(tǒng)(10),具有可通過執(zhí)行安全初始化指令而初使化安全執(zhí)行模式的處理器(IOOA)。并且,該處理器通過執(zhí)行安全操作系統(tǒng)密碼段在安全執(zhí)行模式中進(jìn)行操作。該計算機系統(tǒng)并具有系統(tǒng)內(nèi)存(11OA),該系統(tǒng)內(nèi)存配置成在多個地址中存儲數(shù)據(jù)。該計算機系統(tǒng)并具有內(nèi)存控制器(101A),該內(nèi)存控制器可選擇性清除來自該系統(tǒng)內(nèi)存的內(nèi)存位置的程序化范圍的數(shù)據(jù),以響應(yīng)該處理器復(fù)位而造成的有效狀態(tài)。
文檔編號G06F12/14GK1846195SQ200480025290
公開日2006年10月11日 申請日期2004年6月4日 優(yōu)先權(quán)日2003年9月4日
發(fā)明者D·E·久利克, G·S·斯特隆金, W·A·胡戈赫斯 申請人:先進(jìn)微裝置公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
洛川县| 钦州市| 南江县| 章丘市| 遵化市| 义马市| 酒泉市| 延寿县| 天津市| 公主岭市| 碌曲县| 星座| 洞头县| 鸡西市| 樟树市| 临江市| 神池县| 桃园市| 蒙自县| 雷山县| 饶河县| 滨州市| 图木舒克市| 上高县| 定陶县| 平南县| 无棣县| 翁牛特旗| 礼泉县| 邵阳市| 崇礼县| 丰都县| 沈丘县| 禹城市| 普兰县| 河曲县| 垦利县| 宁陕县| 海南省| 长岛县| 易门县|