專利名稱:一種能夠標記存儲器中某些位置的處理器的制作方法
一種能夠標記存儲器中某些位置的處理器技術(shù)領(lǐng)域本文涉及一種數(shù)據(jù)處理設(shè)備,特別是處理器的體系結(jié)構(gòu)設(shè)計。
技術(shù)背景許多種現(xiàn)有技術(shù)可以對微處理器所訪問的存儲空間中的某些區(qū)段賦以一定的屬性,從而 達到提高安全性等目的。例如虛擬內(nèi)存(virtual memory)技術(shù)中提供的頁表。每個頁表的大 小從1K字節(jié)到4M字節(jié)不等,可以單獨標記某個頁表為是否可讀、是否可寫、是否可執(zhí)行、 是否存在于物理內(nèi)存中等等。例如ARM公司所提供的TnistZone技術(shù),可以標定某段內(nèi)存空 間的特權(quán)級,只有進程擁有足夠高的特權(quán)級,才能訪問這段空間。這些技術(shù)都是基于地址的, 即在內(nèi)存中的特殊區(qū)域,或在微處理器中的特殊寄存器中,存儲頁表或內(nèi)存區(qū)段的地址,及 其相應(yīng)的屬性。頁表和內(nèi)存區(qū)段只能提供對較大的內(nèi)存區(qū)塊的保護。有時候,對較小的內(nèi)存區(qū)塊進行保 護也是非常必要的。對于軟件而言,在某些情況下某些內(nèi)存位置具有特殊的含義和訪問規(guī)則, 例如在訪問數(shù)組時,數(shù)組的邊界是不可跨越的;未初始化的內(nèi)存區(qū)域是不可訪問的;己釋 放的內(nèi)存是不可訪問的;堆棧中保存的返回地址是不可被覆蓋的,等等。對于較低層次的編 程語言如C、 C十+等,對于上述這些具有特殊含義的內(nèi)存位置,完全以來編程人員的謹慎來 保證特定的訪問規(guī)則不被違反。在處理器的體系結(jié)構(gòu)層面上,并沒有對特定位置的特殊訪問 規(guī)則進行檢査的輔助措施。有一些技術(shù),可以標記某個指針能訪問的內(nèi)存范圍。例如肥指針(fat-pointer),它通過 改變編譯器,使得指針不只包含一個地址,還包括該指針可以指向的區(qū)域的上邊界和下邊界, 以此來動態(tài)地檢査數(shù)組訪問是否越界。在一定程度上,這種方式對較小的內(nèi)存區(qū)塊提供了保 護。這種方式也是基于地址的。當(dāng)前業(yè)界存在普遍的偏見,即指定一段內(nèi)存具有某種屬性,只有通過基于地址的方式, 即一定要指定這段內(nèi)存的地址范圍。目前尚沒有某種技術(shù),通過基于內(nèi)容的方式,來標定一 段內(nèi)存具有某種屬性,即一段內(nèi)存由于它的起始部分、結(jié)束部分、中間的某部分或它的整體 存儲了特定的內(nèi)容,而具有某種屬性。這種偏見是有一定理由的。對通用處理器而言,內(nèi)存中的數(shù)據(jù)的具體取值,同它的含義 ——即處理器對它的解釋——無關(guān)。任意一塊內(nèi)存中存儲的數(shù)據(jù),既可以被解釋成為一個或 若干個整數(shù),又可以被解釋為一個或若干個浮點數(shù),還可以被解釋為一個字符串,等等。因此,規(guī)定某一個取值具有特定含義并且用這個取值標記內(nèi)存中某位置為特殊的位置在原則上 是不可行的,因為內(nèi)存中某位置可能在某時刻碰巧被寫入了一個整數(shù)、浮點數(shù)或字符串,使 得該位置上的數(shù)據(jù)的取值正好就是用來標記特殊位置的那個取值,于是意外地碰巧產(chǎn)生了一 個我們所不希望的標記。本發(fā)明提出一種基于內(nèi)容的技術(shù),對在內(nèi)存特定位置加標記提供支持,從而破除了這種 偏見。 發(fā)明內(nèi)容在概率意義上,用特定取值標記內(nèi)存位置是可行的。只要選定的取值包含足夠多的比特 數(shù),則程序正常運行過程中向內(nèi)存中寫的數(shù)據(jù)同這個取值巧合的幾率就會非常之低,以至于 在足夠長的時間內(nèi)都不會出現(xiàn)一次。在軟件技術(shù)中,經(jīng)常使用隨機生成的128位整數(shù)作為唯 一的、不會重復(fù)的ID。這里所謂的"唯一的、不會重復(fù)"是指在概率意義上隨機生成的兩個 128位整數(shù)碰巧相等的可能性非常之低。但類似技術(shù)并沒有出現(xiàn)在處理器設(shè)計領(lǐng)域。本發(fā)明的基本思想是利用"在概率意義上,用特定取值標記內(nèi)存位置是可行的"這一事 實,并且加以適當(dāng)?shù)母倪M。改進之一使得程序正常運行過程中向內(nèi)存中寫的數(shù)據(jù)使某位置碰 巧滿足標記條件的可能性不會因為數(shù)據(jù)拷貝增加。改進之二使得預(yù)定義的取值所包含的字節(jié) 數(shù)(比特數(shù))保持在適當(dāng)?shù)姆秶?。改進一。比較簡單和幼稚的判定某內(nèi)存位置被標記的方式是,若該位置保存的數(shù)據(jù)同某 預(yù)定義取值相同,則認為該位置被標記了。這種方式的缺點是, 一旦程序正常運行過程中向 內(nèi)存中寫的數(shù)據(jù)同這個取值巧合了,則第二次巧合的可能性會大大增加。這是因為,對軟件 而言,對內(nèi)存中數(shù)據(jù)的拷貝是很常見的操作,巧合的數(shù)據(jù)極有可能會被拷貝到內(nèi)存中其它位 置,造成第二次甚至第三次巧合。在本發(fā)明中,判定某內(nèi)存位置Aj被標記的標準是 f(MEM(Aj,n),Aj)三B。其中,B是某預(yù)定義的取值,f是某個映射函數(shù),MEM(Aj, n)表示存儲 器中從地址Aj開始的n個字節(jié)長的數(shù)據(jù)且該數(shù)據(jù)被視為無符號整數(shù)。本發(fā)明不單純地以存儲 的內(nèi)容來判斷,即不采用MEM(Aj,n)三B為判斷標準,而是同時考慮內(nèi)存地址Aj和存儲內(nèi)容 MEM(Aj,n),如圖1所示。f可以選擇為一種加密函數(shù)或哈希函數(shù),它可以是簡單的異或、移 位、相加或這幾種計算的結(jié)合,也可以是復(fù)雜的Blowfish、 AES等加密函數(shù),f也可以是某 種哈希函數(shù)??傊褦?shù)據(jù)存放位置的地址也考慮了進來,數(shù)據(jù)被拷貝到別的位置后,Aj 變化了,不再滿足f(MEM(Aj,n),Aj)EB,因此不會因為拷貝造成新的巧合。根據(jù)實施時的不 同需要,Aj可以是邏輯地址,也可以是物理地址。若某內(nèi)存位置Aj滿足f(MEM(Aj,n),Aj)= B,則稱該位置存儲了一個"同B對應(yīng)的保護字",簡稱存儲了一個"保護字"。處理器保存 一個集合{81,82...8",集合中的每一個數(shù)據(jù),都對應(yīng)一種類型的保護字。處理器可以在正巧訪問到保護字時觸發(fā)某種預(yù)定義的行為,也可以在被訪問的位置的附 近出現(xiàn)保護字時觸發(fā)某種預(yù)定義的行為。例如,處理器訪問的地址是Ai,同時在Aj處有一 個保護字,處理器可以在這些情況下觸發(fā)某種預(yù)定義的行為Ai在Aj之后的某個位置上, 即Ai-Aj-m三0, m是某個整數(shù);或者,Aj是Ai所在的長度為m的內(nèi)存區(qū)段的開頭,即 Ai-Aj-Ai%mE0, m是某個整數(shù),"%"表示取模操作;或者,Ai距離Aj不超過一定的范圍, 艮P(Ai《Aj+ml) AND (Ai》Aj-m2)), ml和m2是某兩個正整數(shù),AND表示邏輯與操作;等等。改進二。預(yù)定義的取值若只包含64個比特(8個字節(jié),相當(dāng)于64位處理器中一個指針 的大小),巧合的幾率并不足以達到很低。設(shè)想一種極端情況, 一個進程運行在4GHz的處理 器上,每秒鐘向內(nèi)存寫232個64比特的數(shù)據(jù),持續(xù)運行了 232秒(約136年,這是個保守的估 計,因為計算機的平均無故障工作時間僅為IO年左右)。在這種情況下, 一次巧合也不發(fā)生 的幾率僅僅為37.8%。但是,發(fā)生巧合的次數(shù)大于16次的可能性低至1.86X10—"。轉(zhuǎn)義列表 的機制可以允許一定次數(shù)的巧合,從而使得預(yù)定義的取值只包含64個比特也是可行的。由于轉(zhuǎn)義列表的存在,判斷一個地址Aj處是否有真保護字,就要考慮Aj是否滿足AjE {Al,A2...An}, "1^2..^11}是轉(zhuǎn)義列表中列舉的地址的集合。 一個位置Aj要有真保護字, 要滿足f(MEM(Aj,n),Aj)三B并且不滿足Aj e {Al, A2. . An}。 一個位置Aj若同時滿足 f(MEM(Aj,n),Aj)三B和AjE仏l,A2…Ar4,則稱此位置保存了偽保護字。保存了偽保護字的 內(nèi)存位置不被視為加了標記的位置,不會引起預(yù)定義的行為。維護轉(zhuǎn)義列表和用保護字設(shè)定標記,需要甲類和乙類兩種訪存方式的配合。用乙類方式訪問存儲器時,不論所訪問的位置包含了怎樣的數(shù)據(jù),處理器都不會進行任 何預(yù)定義的行為,即不識別任何保護字。用此類訪存方式,可以用來安全地在內(nèi)存中寫入保 護字。即使被標記的位置原本就包含有另一種類型的保護字,也可以成功地將它覆蓋掉,而 不會觸發(fā)另一種類型的保護字所對應(yīng)的預(yù)定義的行為。甲類訪存方式識別保護字,并且可以觸發(fā)保護字所對應(yīng)的預(yù)定義的行為。對于讀操作, 只需在操作之前檢查地址A處是否滿足標記條件即可。對于寫操作,不但需在操作之前檢查 地址A處是否滿足標記條件f (MEM(Aj, n) , Aj) =B,而且需要在操作之后檢査地址A處是否滿 足此條件。如果在操作之前不滿足,而操作之后滿足了,說明由于該寫操作本身碰巧形成了 一個偽保護字。這種情況下,處理器將觸發(fā)某種預(yù)定義的行為來把地址A加入轉(zhuǎn)義列表,使 得之后的訪問不會認為地址A處有真保護字。如果在操作之前滿足此條件但該地址處于轉(zhuǎn)義 列表中(是個偽保護字,因此不應(yīng)當(dāng)引發(fā)預(yù)定義的行為),而操作之后不滿足了,說明由于 該寫操作本身碰巧取消掉了一個偽保護字。這種情況下,處理器將觸發(fā)某種預(yù)定義的行為, 把地址A從轉(zhuǎn)義列表中去除,以騰出轉(zhuǎn)義列表的表項。用乙類方式在地址A處寫上新的保護字時,如果發(fā)現(xiàn)該位置碰巧曾經(jīng)被甲類訪存方式形 成了一個保護字并且被加入轉(zhuǎn)義列表中了 (從而形成了一個偽保護字),也應(yīng)當(dāng)把該地址從 轉(zhuǎn)義列表中去除。有益效果利用保護字來觸發(fā)某種預(yù)定義的行為,可以在多個角度對軟件的錯誤進行檢 査和防止,還可以起到防護病毒攻擊、保護關(guān)鍵數(shù)據(jù)、提高處理器性能等作用。
圖1:判斷某內(nèi)存地址A處是否存放了同某個預(yù)定義值所對應(yīng)的保護字。
具體實施方式
絲",縦,療為"麟嚴方式l,寫保護異常。即對于甲類訪存方式,讀取地址A處之前發(fā)現(xiàn)地址A-8處存儲了 真保護字,即觸發(fā)一個異常,通知操作系統(tǒng),該應(yīng)用程序改寫了一個只能被讀取的內(nèi)存位置 的數(shù)據(jù),違背了該位置的訪問規(guī)則。這種方式可以用來標記不可改寫的內(nèi)存區(qū)域,例如函數(shù) 的返回地址,防止軟件錯誤。方式2,讀寫保護異常。即對于甲類訪存方式,讀取地址A處之前發(fā)現(xiàn)地址A處存儲了 真保護字,即觸發(fā)一個異常,通知操作系統(tǒng),該應(yīng)用程序讀取或改寫了一個不可訪問的內(nèi)存 位置A的數(shù)據(jù),違背了該位置的訪問規(guī)則。這種方式可以用來標記不可訪問的內(nèi)存區(qū)域,防 止軟件錯誤。在數(shù)組的開頭之前和結(jié)尾之后存放保護字,可以在一定程度上防止數(shù)組越界的 問題。方式3,執(zhí)行保護異常。即處理器從地址A處取指令之前發(fā)現(xiàn)地址A處存儲了真保護字, 即觸發(fā)一個異常,通知操作系統(tǒng),該應(yīng)用程序嘗試從一個不可訪問的內(nèi)存位置A的取指令, 違背了該位置的訪問規(guī)則。這種方式可以用來標記不可執(zhí)行的內(nèi)存區(qū)域的邊界,防止軟件錯 誤。方式4,程序計數(shù)器(ProgramCounter,簡稱PC)范圍檢查。即對于甲類訪存方式,讀 取地址A處之前發(fā)現(xiàn)地址A-24處存儲了真保護字,則檢査PC是否大于A-16處存儲的64比 特的數(shù)據(jù)并且小于A-8處存儲的64比特的數(shù)據(jù),若不滿足條件,則觸發(fā)某種異常。這種方式 可以使得某數(shù)據(jù)只能被某個或某些特定函數(shù)來修改,防止軟件錯誤。方式5,進程特權(quán)態(tài)的檢査。即對于甲類訪存方式,訪問地址A處之前發(fā)現(xiàn)地址A-12處 存儲了真保護字,則檢査當(dāng)前進程所處特權(quán)態(tài)的編號是否大于A-4處存儲的32比特的數(shù)據(jù), 若不滿足條件,則觸發(fā)某種異常。這種方式可以使得某數(shù)據(jù)只能被有足夠高的權(quán)限的進程修 改,防止軟件錯誤。方式6,進程ID的檢查。即對于甲類訪存方式,訪問地址A處之前發(fā)現(xiàn)地址A-12處存儲了真保護字,則檢査當(dāng)前進程的ID是否等于A-4處存儲的32比特的數(shù)據(jù),若不滿足條件, 則觸發(fā)某種異常。這種方式可以使得某數(shù)據(jù)只能被某一特定的進程修改,防止軟件錯誤。方式7,數(shù)據(jù)預(yù)取。即對于甲類訪存方式,訪問地址A處之前發(fā)現(xiàn)地址A-8處存儲了真 保護字,則將從A開始的若干字節(jié)的數(shù)據(jù)從內(nèi)存中預(yù)取到高速緩沖器(cache)中。可以在一 個數(shù)組的開頭之前存放保護字,在訪問其第一個元素的時候,自動地整個數(shù)組或數(shù)組的開頭 部分都會預(yù)取到高速緩沖器中,從而減少了高速緩沖器失效(cache miss)的機會,提高處 理器的性能。方式8,統(tǒng)計訪問頻率。即對于甲類訪存方式,訪問地址A處之前發(fā)現(xiàn)地址A-8處存儲 了真保護字,則將表示地址A—共被訪問了多少次的計數(shù)器的值增加一。統(tǒng)計某些關(guān)鍵地址 的訪問頻率有助于分析程序的特性,從而找到提高性能的方法。在具體實施時,可以同時采取多項上述的方式,只需用不同類型(即對應(yīng)于不同的B的 取值)的保護字來觸發(fā)不同的行為即可。^^關(guān);t:息^y^定、更氣疾存或査^為了實施本發(fā)明,必須用相應(yīng)的機制來指定、更新、保存或査詢預(yù)先定義的若干項取值 {Bi, B2... Bn},這些取值同被自動觸發(fā)的行為之間的對應(yīng)關(guān)系,以及這些取值對應(yīng)的轉(zhuǎn)義列 表^1,八2...八11}。其中,指定、更新和査詢?nèi)N操作,可以通過特殊指令來實現(xiàn),也可以通 過讀寫特定的狀態(tài)寄存器實現(xiàn),還可以通過讀寫特定的內(nèi)存位置實現(xiàn)。指定操作還可以通過 輸入設(shè)備,從處理器外部輸入來實現(xiàn)。保存操作是指在處理器發(fā)生進程切換的時候,把必要 的信息轉(zhuǎn)存到內(nèi)存或硬盤上,在進程恢復(fù)的時候,從內(nèi)存和硬盤上把這些信息恢復(fù)到處理器 內(nèi)部,它可以通過軟件的方式來實現(xiàn),即先進行査詢操作,得到信息后,用軟件方式把必要 的信息轉(zhuǎn)存到內(nèi)存或硬盤上,進程恢復(fù)時,用軟件方式從內(nèi)存或硬盤上得到信息,進行更新 操作以重建這些信息;它也可以通過硬件的方式來實現(xiàn),即轉(zhuǎn)存和重建完全由處理器內(nèi)部的 控制電路自動完成。柳術(shù)絲方,實凍本發(fā)明需要甲乙兩種不同的訪存方式配合工作??梢杂貌煌闹噶罹幋a來區(qū)分這兩種訪 存方式,即兩種訪存方式用兩類不同的指令來實現(xiàn)。這種實施方式最直接,但是比較耗費編 碼空間。另一種方式是用不同的處理器狀態(tài)來實施,即在處理器的狀態(tài)寄存器中規(guī)定某些位 為某種值時,發(fā)出的訪存請求是甲類訪存,為另外某種值時,發(fā)出的請求是乙類訪存。還有 一種方式是用前綴指令實施,即規(guī)定緊跟在某一條特殊指令之后的訪存指令是乙類訪存,否 則是甲類訪存。#贏遂餅器磁頻定靜字微教為了實施本發(fā)明,表面上看來,需要在每次訪存的時候,額外進行一次或若干次函數(shù) f(MEM(Aj,n),Aj)的計算,但實際上額外的計算代價并沒有那么高?,F(xiàn)代幾乎所有的微處理器 內(nèi)部都包含高速緩存器,可以對高速緩存器以修改,使其不但緩存數(shù)據(jù),還緩存一定的信息 以表明每64比特的數(shù)據(jù)及其對應(yīng)的地址是否滿足f(MEM(Aj,n),Aj)三Bl、 f (MEM(Aj, n), Aj) 三B2、 f(MEM(Aj,n),Aj)三83,等等。這樣,讀操作時就不必進行運算,直接利用緩存的信息 即可。只有在數(shù)據(jù)被改寫時,才需要進行額外的運算來更新緩存的信息。
權(quán)利要求
1. 一種包含訪存部件和運算部件的處理器,其特征在于處理器用某種訪存方式甲訪問(即讀取或改寫)某內(nèi)存地址Ai處的之前和(或)之后,若存在地址Aj,滿足f(MEM(Aj,n),Aj)≡B∈{B1,B2...Bn}和g(Ai,Aj,M)≡true,(≡表示恒等,true表示邏輯值真),則處理器在訪問內(nèi)存的之前和(或)之后,自動觸發(fā)同B對應(yīng)的某種預(yù)定義的行為,其中MEM(Aj,n)表示存儲器中從地址Aj開始的n個字節(jié)長的數(shù)據(jù)且該數(shù)據(jù)被視為無符號整數(shù),{B1,B2...Bn}表示某個正整數(shù)集合,f和g表示兩個函數(shù),M表示訪問的方式,當(dāng)訪問是讀時,M為0,當(dāng)訪問為寫時,M為1,當(dāng)訪問為執(zhí)行(即取指令)時,M為2。
2、 如權(quán)利要求1所述的處理器,其特征在于處理器用另一種訪存方式乙訪問任何內(nèi) 存地址,都不會觸發(fā)如權(quán)利要求1所述的同B對應(yīng)的某種預(yù)定義的行為。
3、 如權(quán)利要求1所述的處理器,其特征在于(1) f是某種加密函數(shù)或哈希函數(shù),并且(2) g被定義為g(Ai,Aj,M)=k(Ai,Aj),或者(3) g被定義為g(Ai,Aj,M)=(k(Ai,Aj)ANDM=m), m為0、 l或2,或者(4) g被定義為g(Ai,Aj,M)-(k(Ai,Aj) AND (NOT Aj £ {Al, A2. . An} )), {Al, A2. . . An}是 一個正整數(shù)集合,或者(5) g被定義為g(Ai,Aj,M)-k(Ai,Aj) AND Aj e {Al, A2... An} , {Al, A2. An}是一個正整 數(shù)集合,或者(6) g被定義為g(Ai,Aj,M)-(k(Ai,Aj) AND M三m AND (NOT Aj e {Al, A2... An} )), m為0、 l或2, "1^2..^:1}是一個正整數(shù)集合,或者(7) g被定義為g(Ai,Aj,M)=(k(Ai,Aj) AND M^m AND Aj e {Ai, A2... An}), m為0、 1 或2, "1,八2..^4是一個正整數(shù)集合,或者(8) g被定義為其它形式。
4、 如權(quán)利要求1或3所述的處理器,其特征在于 (1 ) k被定義為k(Ai,Aj)=(Ai=Aj),或者(2) k被定義為k(Ai,Aj)-(Ai-Aj-mEO), m是某個整數(shù),或者(3) k被定義為k(Ai,Aj"(Ai-Aj-Ai。/。mEO), m是某個整數(shù),"%"表示取模操作,或者(4) k被定義為k(Ai,Aj)=((Ai《Aj+ml) AND (Ai^Aj'm2)), ml和m2是某兩個正整數(shù),或者(5) k被定義為其它形式。
5、 如權(quán)利要求1或3所述的處理器,其特征在于正整數(shù)集合{Bl, B2... Bn}和{Al, A2... An} 存儲在處理器的特殊寄存器當(dāng)中和(或)內(nèi)存的特定位置當(dāng)中,并且它們具體的定義方式,可以被用戶指定、更新、保存或査詢。
6、 如權(quán)利要求1或3所述的處理器,其特征在于某個整數(shù)8曰{81,82...134具體對應(yīng)于哪種預(yù)定義的行為,可以被用戶指定、更新、保存或査詢。
7、 如權(quán)利要求l、 3或4所述的處理器,其特征在于函數(shù)f、 g和k具體的定義方式,可以被用戶指定、更新、保存或査詢。
8、 如權(quán)利要求1所述的處理器,其特征在于所述的同B對應(yīng)的某種預(yù)定義的行為(1) 是對程序計數(shù)器(Program Counter)取值的檢査,或者(2) 是對進程所處的運行狀態(tài)的檢査,或者(3) 是對進程所擁有的某個特殊編號的檢査,或者(4) 是數(shù)據(jù)預(yù)取(pre-fetch),或者(5) 是將Ai加入集合仏l,A2…Anh或者(6) 是改寫內(nèi)存中某位置的值或改寫處理器內(nèi)部某存儲單元的值,或者(7) 是內(nèi)存寫保護異常(exc印tion),或者(8) 是內(nèi)存讀保護異常,或者(9) 是內(nèi)存執(zhí)行保護異常,或者(10) 是上述某幾種行為的混合,或者(11) 是指定、更新、保存或査詢正整數(shù)集合{81,82...811}和"1^2..^:1}的具體的定義 方式,或者(12) 是指定、更新、保存或査詢某個整數(shù)8£{81,82...811}具體對應(yīng)于哪種預(yù)定義的 行為,或者(13) 是指定、更新、保存或査詢函數(shù)f、 g和k具體的定義方式,或者(14) 是其它行為。
9、 如權(quán)利要求1所述的處理器,其特征在于(1) 包含高速緩沖器(cache),并且(2) 在高速緩沖器中,對于每一個BE {Bi,B2...Bn},對于每個包含n個字節(jié)的數(shù)據(jù), 緩存一定的信息來標明它們是否滿足f(MEM(Aj,n),Aj)EB,其中n表示某正整數(shù),Aj代表某一個地址。
全文摘要
本發(fā)明公開一種能夠標記存儲器中某些位置的處理器。本發(fā)明涉及一種數(shù)據(jù)處理設(shè)備,特別是處理器的體系結(jié)構(gòu)設(shè)計。本發(fā)明公開一種處理器設(shè)計方法,可以根據(jù)內(nèi)存中某位置的內(nèi)容而非其地址來標記該位置。若處理器訪問被標記了的位置或被訪問的位置附近被標記了話,處理器將觸發(fā)某種自動行為。利用保護字來觸發(fā)某種預(yù)定義的行為,可以在多個角度對軟件的錯誤進行檢查和防止,還可以起到防護病毒攻擊、保護關(guān)鍵數(shù)據(jù)、提高處理器性能等作用。
文檔編號G06F9/06GK101256480SQ20071008593
公開日2008年9月3日 申請日期2007年2月28日 優(yōu)先權(quán)日2007年2月28日
發(fā)明者嘉 宋 申請人:歐蜀平