專利名稱::同經(jīng)高速緩存的存儲(chǔ)器數(shù)據(jù)一起高速緩存存儲(chǔ)器屬性指示符的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及高速緩存器。
背景技術(shù):
:在支持頁(yè)式虛擬存儲(chǔ)器的處理系統(tǒng)中,可使用占用所述處理系統(tǒng)的虛擬地址空間的虛擬地址(也稱為"有效"或"線性"地址)指定數(shù)據(jù)。所述虛擬地址空間通??纱笥谒鱿到y(tǒng)中的實(shí)際物理存儲(chǔ)器的大小。所述處理系統(tǒng)中的操作系統(tǒng)可以稱為頁(yè)的固定大小塊來(lái)管理所述物理存儲(chǔ)器。為將虛擬頁(yè)地址轉(zhuǎn)換為物理頁(yè)地址,處理系統(tǒng)可所述系統(tǒng)存儲(chǔ)器中所存儲(chǔ)的頁(yè)表,所述頁(yè)表可含有必需的地址轉(zhuǎn)換信息。頁(yè)表在大小上通??梢允窍喈?dāng)大,這是因?yàn)槠淇珊杏伤鎏幚硐到y(tǒng)所產(chǎn)生的所有虛擬頁(yè)地址的所有物理頁(yè)地址的列表。同樣,頁(yè)表搜索(或"頁(yè)表查詢(pagetablewalks)")可包括存儲(chǔ)器存取,這可能是費(fèi)時(shí)的。所述處理系統(tǒng)可因此使用一個(gè)或多個(gè)轉(zhuǎn)換后援緩沖器(translationlookasidebuffer)(TLB)實(shí)施地址轉(zhuǎn)換,所述轉(zhuǎn)換后援緩沖器通常可含有所述頁(yè)表中的一子組條目。TLB是地址轉(zhuǎn)換高速緩存器,也就是存儲(chǔ)從虛擬地址到物理地址的最近映射的小型高速緩存器。在實(shí)施頁(yè)表搜索及地址轉(zhuǎn)換之后,所述處理系統(tǒng)可高速緩存所述TLB中的物理地址。TLB通??珊卸鄠€(gè)TLB條目,每一TLB條目均含有虛擬頁(yè)地址及相應(yīng)物理頁(yè)地址。當(dāng)TLB接收虛擬頁(yè)地址時(shí),所述TLB可搜索其條目以査看任何所述條目中的任何所高速緩存的虛擬頁(yè)地址是否匹配所接收的虛擬頁(yè)地址。如果呈現(xiàn)給TLB的虛擬頁(yè)地址匹配任何TLB條目中所存儲(chǔ)的虛擬頁(yè)地址,則發(fā)生TLB"命中(hit)";否則,則可發(fā)生TLB"未命中(miss)"。因?yàn)槊恳籘LB查找消耗功率及計(jì)算機(jī)時(shí)間,故減少TLB存取的頻率是合意的。除關(guān)于虛擬物理地址轉(zhuǎn)換的信息,TLB也可存儲(chǔ)關(guān)于一個(gè)或多個(gè)存儲(chǔ)器屬性的信息。所述存儲(chǔ)器屬性可(例如)包括存儲(chǔ)器條目的保護(hù)特性,例如讀取/寫入/執(zhí)行許可??稍诖嫒〈鎯?chǔ)器高速緩存器之前或與之并行地存取高速緩存于TLB中的存儲(chǔ)器屬性。除存儲(chǔ)虛擬物理地址轉(zhuǎn)換信息外,將所述存儲(chǔ)器屬性存儲(chǔ)于所述TLB中可增加每一TLB條目中需要高速緩存的位數(shù)量。必須存取的位越多,則TLB中的查找變得越慢,且其消耗的功率越多。
發(fā)明內(nèi)容處理系統(tǒng)可包括經(jīng)配置以將數(shù)據(jù)存儲(chǔ)于多個(gè)頁(yè)中的存儲(chǔ)器,每一頁(yè)具有多個(gè)線。所述處理系統(tǒng)可進(jìn)一步包括轉(zhuǎn)換后援緩沖器(TLB)及包括多個(gè)高速緩存線的存儲(chǔ)器高速緩存器。每一所述高速緩存線可經(jīng)配置以存儲(chǔ)一個(gè)存儲(chǔ)器線的地址并存儲(chǔ)位于所述地址處的數(shù)據(jù)線。所述存儲(chǔ)器高速緩存器可經(jīng)配置以在將虛擬地址呈現(xiàn)給所述高速緩存器時(shí)允許從多個(gè)高速緩存線中識(shí)別匹配的高速緩存線,所述匹配的高速緩存線具有匹配呈現(xiàn)給所述存儲(chǔ)器高速緩存器的虛擬地址的匹配地址。所述存儲(chǔ)器高速緩存器可經(jīng)配置以通過(guò)進(jìn)一步將所述高速緩存線的每一者中所存儲(chǔ)的數(shù)據(jù)線的頁(yè)屬性存儲(chǔ)于所述高速緩存線中而允許從所述存儲(chǔ)器高速緩存器檢索位于所述匹配地址處的頁(yè)的頁(yè)屬性,而無(wú)需為檢索所述頁(yè)屬性而存取所述TLB。一種方法可包括使用數(shù)據(jù)線的虛擬地址存取存儲(chǔ)器高速緩存器。所述方法可進(jìn)一步包括從所述存儲(chǔ)器高速緩存器檢索所述數(shù)據(jù)線的頁(yè)屬性,而無(wú)需為檢索所述頁(yè)屬性而存取所述TLB。圖1在虛擬存儲(chǔ)器系統(tǒng)的背景下圖解說(shuō)明常規(guī)后援緩沖器(TLB)。圖2圖解說(shuō)明處理系統(tǒng)的一個(gè)實(shí)施例。圖3A圖解說(shuō)明具有經(jīng)配置以存儲(chǔ)一個(gè)或多個(gè)存儲(chǔ)器屬性的TLB條目的TLB。圖3B圖解說(shuō)明經(jīng)配置以僅存儲(chǔ)地址轉(zhuǎn)換信息而無(wú)存儲(chǔ)器屬性的TLB條目。圖4A圖解說(shuō)明存儲(chǔ)器高速緩存器中的高速緩存器存取。圖4B圖解說(shuō)明經(jīng)配置以將存儲(chǔ)器屬性存儲(chǔ)為其高速緩存線中的附加位的存儲(chǔ)器高速緩存器。具體實(shí)施方式下文結(jié)合隨附圖示所闡述的詳細(xì)說(shuō)明希望說(shuō)明處理系統(tǒng)的各種實(shí)施例,而不希望僅表示可能的實(shí)施例。所述詳細(xì)說(shuō)明包括具體細(xì)節(jié)以允許對(duì)所說(shuō)明內(nèi)容的透徹理解。然而,所屬
技術(shù)領(lǐng)域:
的技術(shù)人員應(yīng)了解,所述具體細(xì)節(jié)可不包括于所述處理系統(tǒng)的某些實(shí)施例中。在某些示例中,以方塊圖形式顯示眾所周知的結(jié)構(gòu)及組件,以更清晰地圖解說(shuō)明正在解釋的概念。圖l在虛擬存儲(chǔ)器系統(tǒng)的背景下示意性地圖解說(shuō)明轉(zhuǎn)換后援緩沖器(TLB)10,所述虛擬存儲(chǔ)器系統(tǒng)包括物理存儲(chǔ)器30及頁(yè)表20。在虛擬存儲(chǔ)器系統(tǒng)中通??稍谟?jì)算機(jī)的虛擬(或"線性")地址空間(是指由所述計(jì)算機(jī)產(chǎn)生的所有虛擬地址的集合)與所述計(jì)算機(jī)存儲(chǔ)器的物理地址空間之間實(shí)施映射(或轉(zhuǎn)換)。數(shù)據(jù)片的物理地址指示所述數(shù)據(jù)片在物理存儲(chǔ)器30內(nèi)的實(shí)際位置,且可被提供于存儲(chǔ)器總線上以寫入到物理存儲(chǔ)器30中的所述特定位置或從其讀取。在頁(yè)式虛擬存儲(chǔ)器系統(tǒng)中,可將數(shù)據(jù)視為分組為固定長(zhǎng)度的存儲(chǔ)器塊(通常稱為頁(yè)31)。舉例來(lái)說(shuō),如果最小可尋址存儲(chǔ)器單元是字節(jié)且一組連續(xù)地址是指一組連續(xù)存儲(chǔ)器字節(jié),則可將頁(yè)定義為由特定數(shù)量的字節(jié)組成的連續(xù)存儲(chǔ)器字節(jié)塊。頁(yè)可由為2的冪的數(shù)量的字節(jié)構(gòu)成(例如,212=4096字節(jié),或4KB)。頁(yè)可位于所述存儲(chǔ)器中以使每一頁(yè)的開(kāi)始"對(duì)準(zhǔn)"頁(yè)大小,也就是說(shuō),頁(yè)中的第一字節(jié)的地址可由包含所述頁(yè)的字節(jié)數(shù)量來(lái)均勻地劃分。因而,如果頁(yè)的大小為2"個(gè)字節(jié),則所述頁(yè)地址(也就是,所述頁(yè)中的第一字節(jié)的地址)的低階N個(gè)位(low-orderNbits)可始終是零。所述地址中的剩余位(也就是,最高有效位)可被稱為"頁(yè)編號(hào)(pagenumber)"。虛擬地址空間及物理地址空間兩者均可劃分為若干頁(yè),且可通過(guò)將虛擬頁(yè)編號(hào)映射為物理頁(yè)編號(hào)并將所述虛擬地址的低階N位連接所述物理頁(yè)編號(hào)而完成虛擬地址到物理地址的映射。也就是說(shuō),對(duì)應(yīng)虛擬及物理字節(jié)地址可始終具有相同低階N個(gè)位,其中N是以字節(jié)為單位的頁(yè)大小的對(duì)數(shù)(2)。因而,可將虛擬地址空間及物理地址空間劃分為連續(xù)地址塊,每一虛擬地址提供一個(gè)虛擬頁(yè)編號(hào),且每一對(duì)應(yīng)物理頁(yè)編號(hào)指示存儲(chǔ)器30內(nèi)特定數(shù)據(jù)頁(yè)31的位置。物理存儲(chǔ)器30中的頁(yè)表20可含有對(duì)應(yīng)于虛擬存儲(chǔ)器系統(tǒng)的所有虛擬頁(yè)編號(hào)的物理頁(yè)編號(hào),也就是對(duì)于所述虛擬地址空間中的所有虛擬頁(yè)地址來(lái)說(shuō),頁(yè)表20可含有虛擬頁(yè)地址與對(duì)應(yīng)物理頁(yè)地址之間的映射。通常來(lái)說(shuō),頁(yè)表20可含有多個(gè)頁(yè)表?xiàng)l目(PTE)21,每一PTE21指向物理存儲(chǔ)器30中對(duì)應(yīng)于特定虛擬地址的頁(yè)31。存取物理存儲(chǔ)器30中頁(yè)表20中所存儲(chǔ)的PTE21通??尚枰鎯?chǔ)器總線事務(wù),在處理器循環(huán)時(shí)間及功率消耗方面這是代價(jià)高昂的。可通過(guò)存取TLBIO而非物理存儲(chǔ)器30可減少存儲(chǔ)器總線事務(wù)數(shù)量。TLB10通常含有一子組頁(yè)表20中所存儲(chǔ)的虛擬物理地址映射。TLB10中通??珊卸鄠€(gè)TLB條目12。在執(zhí)行程序期間,當(dāng)指令具有需要轉(zhuǎn)換成對(duì)應(yīng)物理地址的虛擬地址22時(shí),通??纱嫒LBIO以從TLBIO中所存儲(chǔ)的TLB條目12中査找虛擬地址22。虛擬地址22通常可包含于地址寄存器中。如圖1中所示,每一TLB條目12可具有標(biāo)記字段14及數(shù)據(jù)字段16。標(biāo)記字段14可指定虛擬頁(yè)編號(hào),且數(shù)據(jù)字段16可指示對(duì)應(yīng)于所標(biāo)記虛擬頁(yè)的物理頁(yè)編號(hào)。如果TLB10從其TLB條目中找到對(duì)應(yīng)于呈現(xiàn)給所述TLB的虛擬地址22中所含有的虛擬頁(yè)編號(hào)的特定物理頁(yè)編號(hào),則發(fā)生TLB"命中",且可從TLB10的數(shù)據(jù)字段16檢索所述物理頁(yè)地址。如果TLB10中未含有對(duì)應(yīng)于呈現(xiàn)給所述TLB的虛擬地址22中的虛擬頁(yè)編號(hào)的特定物理頁(yè)地址,則發(fā)生TLB"未命中",且可必須實(shí)施物理存儲(chǔ)器30中頁(yè)表20的査找。圖2是處理系統(tǒng)100的圖示,所述處理系統(tǒng)包括一組通用寄存器105、TLB110、經(jīng)虛擬標(biāo)記存儲(chǔ)器高速緩存器125及主物理存儲(chǔ)器130。通用寄存器105可包含于處理系統(tǒng)100中的CPU117內(nèi)。在所圖解說(shuō)明的實(shí)施例中,將TLB110也顯示為位于CPU117中,然而在其他實(shí)施例中,TLB100可位于獨(dú)立存儲(chǔ)器管理單元(MMU)(未顯示)中,所述獨(dú)立存儲(chǔ)器管理單元可位于所述CPU外或內(nèi)。存儲(chǔ)器130包括結(jié)合圖1所述的頁(yè)表120。存儲(chǔ)器高速緩存器125是小量的快速存儲(chǔ)器,其可用于保存由處理系統(tǒng)100最頻繁地使用的數(shù)據(jù)因?yàn)樵L問(wèn)局部性(這可以是許多計(jì)算機(jī)程序的屬性),存儲(chǔ)器高速緩存器125可有效地縮短多數(shù)存儲(chǔ)器存取中所固有的等待時(shí)間。存儲(chǔ)器高速緩存器一般通過(guò)從所述高速緩存器中選擇某一數(shù)量的候選線并將用每一線所存儲(chǔ)的地址標(biāo)記與所需存儲(chǔ)器地址相比較來(lái)工作。如果所述候選線不包含所述高速緩存器中的所有線,則使用某一選擇方法,通常通過(guò)使用所述物理或虛擬地址的某一位。如果所述選擇方法僅使用虛擬地址的位,則將所述高速緩存器說(shuō)成"以虛擬方式加索引(virtuallyindexed)"。如果所述方法使用物理(經(jīng)轉(zhuǎn)換的)地址的位,則將所述高速緩存器說(shuō)成"以物理方式加索引(physicallyindexed)"。同樣,用每一高速緩存線所存儲(chǔ)的地址標(biāo)記可以是虛擬地址或物理地址。將物理地址用于索引或標(biāo)記的高速緩存器在可供使用之前必須(當(dāng)然)將虛擬地址轉(zhuǎn)換成物理地址。以虛擬方式加索引、以虛擬方式標(biāo)記(VIVT)的高速緩存器在被存取并確定所需數(shù)據(jù)是否存在之前不需要從虛擬地址產(chǎn)生物理地址。處理系統(tǒng)100的所圖解說(shuō)明實(shí)施例中的存儲(chǔ)器高速緩存器125是以虛擬方式標(biāo)記的存儲(chǔ)器高速緩存器。應(yīng)注意,在處理系統(tǒng)100的其他實(shí)施例中,可使用既不以虛擬方式標(biāo)記也不以虛擬方式加索引的存儲(chǔ)器高速緩存器。寄存器組105通常包括多個(gè)地址寄存器,所述地址寄存器的一個(gè)實(shí)例顯示為地址寄存器122。如早先結(jié)合圖1所解釋,地址寄存器122可將虛擬地址呈現(xiàn)給TLB110,TLBIIO可在多個(gè)其TLB條目中搜索,以找出是否存在任何其TLB條目具有匹配由地址寄存器122所呈現(xiàn)的虛擬地址的標(biāo)記。如果所述搜索導(dǎo)致TLB命中,也就是,找到含有對(duì)應(yīng)于地址寄存器122中的虛擬地址的物理地址的TLB條目,則存儲(chǔ)器高速緩存器125可經(jīng)存取以定位具有從TLB110所檢索的物理地址的數(shù)據(jù)。通常多半時(shí)間可從存儲(chǔ)器高速緩存器125檢索數(shù)據(jù),然而有時(shí)可尚未將數(shù)據(jù)高速緩存于存儲(chǔ)器高速緩存器125中,且可需要存取主存儲(chǔ)器130??稍诖嫒〈鎯?chǔ)器高速緩存器125之前或與之并行地存取TLB110。在圖2中使用將虛擬地址從地址寄存器122發(fā)送到存儲(chǔ)器高速緩存器125的虛線箭頭在功能上圖解說(shuō)明對(duì)以虛擬方式標(biāo)記的存儲(chǔ)器高速緩存器125的存取。,圖3A圖解說(shuō)明TLB180及實(shí)例性虛擬地址寄存器22。TLB180通常含有許多列或線的TLB條目,使用編號(hào)182圖解說(shuō)明實(shí)例性TLB條目。所圖解說(shuō)明的虛擬地址寄存器22是32位寄存器,然而地址寄存器一般可具有高于或低于32的位數(shù)。地址寄存器22可包括其最低階位中的頁(yè)偏移信息及其最高階位中的頁(yè)編號(hào)地址信息。頁(yè)編號(hào)指定所需數(shù)據(jù)位于主存儲(chǔ)器30中的多個(gè)頁(yè)中的哪一頁(yè)中。所述頁(yè)偏移指定所需字或字節(jié)在特定頁(yè)(位于地址寄存器22的較高階位中所指定的頁(yè)編號(hào)處的頁(yè))內(nèi)的位置。地址寄存器22可以是32位寄存器,其中最低階位(在這一實(shí)例中為位9到0)含有頁(yè)偏移信息,且最高階位(也就是位31到10)含有頁(yè)編號(hào)信息。比較器190可將TLB條目182的標(biāo)記字段與位0到11中所示的虛擬地址相比較,以查看由TLB180中的任何TLB條目182的標(biāo)記字段所指示的虛擬地址是否匹配由地址寄存器22中的較高階位所指示的虛擬地址。所述頁(yè)偏移信息可無(wú)需轉(zhuǎn)換,這是因?yàn)樵谔摂M及物理環(huán)境兩者中其均是相同的。雖然TLB基本上是處理系統(tǒng)的虛擬到物理地址映射的高速緩存器,但在TLB中除地址轉(zhuǎn)換信息外還可習(xí)慣于高速緩存由物理區(qū)域或頁(yè)所定義的一個(gè)或多個(gè)存儲(chǔ)器屬性。所述存儲(chǔ)器屬性可包括(例如)讀取、寫入及執(zhí)行許可。在圖3A中使用虛線顯示TLB條目182中的一個(gè)或多個(gè)存儲(chǔ)器屬性的存儲(chǔ)。TLB可具有多級(jí)結(jié)構(gòu)(未顯示),其中將相對(duì)小的TLB用于多數(shù)存儲(chǔ)器存取,且在未命中第一級(jí)TLB時(shí)可通過(guò)一個(gè)或多個(gè)更大更高級(jí)TLB提供備份以供使用。如果在所有所述更高級(jí)TLB中連續(xù)地發(fā)生未命中,則可必須存取主存儲(chǔ)器中的頁(yè)表,也就是說(shuō),用于地址轉(zhuǎn)換的搜索可持續(xù)直至找到有效轉(zhuǎn)換條目。減少每一TLB條目中需要高速緩存的位數(shù)是合乎需要的,這是因?yàn)樾枰嫒〉奈辉蕉?,則TLB中的查找變得越慢,且消耗的功率越多。實(shí)際上,如果對(duì)于某些配置來(lái)說(shuō)可將需要從TLB存取的位數(shù)減少到零,則可移除所述TLB,或至少不頻繁地進(jìn)行存取,從而潛在地節(jié)省功率、面積及復(fù)雜性。如圖2中的處理系統(tǒng)100中所示,在以虛擬方式加索引、以虛擬方式標(biāo)記的存儲(chǔ)器高速緩存器中存儲(chǔ)器高速緩存器査找可不需要地址轉(zhuǎn)換除非未在存儲(chǔ)器高速緩存器中找到所需數(shù)據(jù)(也就是,發(fā)生高速緩存器未命中)。在這種情況中,對(duì)于每一存儲(chǔ)器高速緩存器查找來(lái)說(shuō)在慣例上TLB可需要產(chǎn)生唯一東西可以是為執(zhí)行存取所述存儲(chǔ)器的指令所需的存儲(chǔ)器屬性(也就是,讀取/寫入/執(zhí)行許可)。在處理系統(tǒng)的一個(gè)實(shí)施例中,可不將所述存儲(chǔ)器屬性存儲(chǔ)于TLB中而是存儲(chǔ)于替代位置中。圖3B圖解說(shuō)明處理系統(tǒng)100(圖2中所示)所使用的TLB110中TIB條目112。如可從圖3B看到,TLB條目110經(jīng)配置以僅存儲(chǔ)地址轉(zhuǎn)換信息(在TAG及DATA字段中)且無(wú)存儲(chǔ)器屬性。圖4A示意性地圖解說(shuō)明存儲(chǔ)器高速緩存器220中的高速緩存器存取。可將存儲(chǔ)器高速緩存器劃分成稱為線的小段。存儲(chǔ)器高速緩存器中的每一高速緩存線228通常含有指示存儲(chǔ)器地址(其指定存儲(chǔ)器內(nèi)的特定位置)的地址標(biāo)記及主存儲(chǔ)器中位于所述高速緩存線中所含有的存儲(chǔ)器地址處的數(shù)據(jù)的拷貝。存儲(chǔ)器高速緩存器的標(biāo)記及加索引過(guò)程類似于TLB的標(biāo)記及加索引過(guò)程,這是因?yàn)門LB基本上是地址映射的高速緩存器。存儲(chǔ)器高速緩存器220可經(jīng)配置以允許使用虛擬地址進(jìn)行高速緩存器存取。換句話來(lái)說(shuō),當(dāng)將虛擬地址呈現(xiàn)給高速緩存器220時(shí),高速緩存器220可經(jīng)配置以允許從多個(gè)高速緩存線中識(shí)別匹配的高速緩存線。所述匹配的高速緩存線可以是其地址標(biāo)記指示匹配呈現(xiàn)給所述存儲(chǔ)器高速緩存器的虛擬地址的地址的高速緩存線。所述存儲(chǔ)器高速緩存器可經(jīng)配置以允許從所述存儲(chǔ)器高速緩存器而非從所述TLB檢索位于匹配地址處的頁(yè)的一個(gè)或多個(gè)頁(yè)屬性。除存儲(chǔ)地址標(biāo)記及數(shù)據(jù)外,這還可通過(guò)在每一高速緩存線中存儲(chǔ)所述高速緩存線中所存儲(chǔ)的數(shù)據(jù)的頁(yè)的頁(yè)屬性來(lái)完成。如圖4A中看到,呈現(xiàn)給存儲(chǔ)器高速緩存器220的地址寄存器210中的最低階位可含有與特定高速緩存線228內(nèi)的偏移有關(guān)的信息。所述偏移信息可用于選擇多字節(jié)高速緩存線228內(nèi)的一個(gè)字節(jié)。對(duì)于單字節(jié)高速緩存線來(lái)說(shuō),將不需要位用于所述偏移。后續(xù)一些字節(jié)提供用于在所述高速緩存器中的所有高速緩存線中選擇特定高速緩存線(或高速緩存線組)的索引信息。最好,所述高速緩存器線的標(biāo)記部分中的地址位可用于對(duì)高速緩存器220中的高速緩存線228的標(biāo)記實(shí)施標(biāo)記檢查。在以虛擬方式標(biāo)記,以虛擬方式加索引的高速緩存器中,既不需要轉(zhuǎn)換標(biāo)記也不需要轉(zhuǎn)換索引,且可與所述TLB同時(shí)操作。在以虛擬方式加索引,以物理方式標(biāo)記的高速緩存器中,地址寄存器中的虛擬地址可用于存取所述高速緩存器中的線,且所述物理地址可用于標(biāo)記。在以虛擬方式加索引,以物理方式標(biāo)記的高速緩存器中,可用所述TLB或其他存儲(chǔ)器管理單元同時(shí)發(fā)生加索引,但所述TLB(或其他存儲(chǔ)器管理單元)的輸出可需要標(biāo)記檢查。在處理系統(tǒng)100的一個(gè)實(shí)施例中,將存儲(chǔ)器屬性作為附加位存儲(chǔ)于存儲(chǔ)器高速緩存器的高速緩存線中。圖4B示意性地圖解說(shuō)明處理系統(tǒng)100(圖2中所示)的一個(gè)實(shí)施例中所使用的存儲(chǔ)器高速緩存器125。如圖4B中所看到,代替將存儲(chǔ)器屬性存儲(chǔ)于TLB,而是通過(guò)擴(kuò)展所述高速緩存線以不僅含有地址及數(shù)據(jù)的拷貝且還含有每一高速緩存線的屬性將存儲(chǔ)器屬性存儲(chǔ)于所述存儲(chǔ)器高速緩存器中。圖4B中的每一高速緩存線135經(jīng)配置以作為額外位將一個(gè)或多個(gè)存儲(chǔ)器屬性存儲(chǔ)于所述高速緩存線中。所述存儲(chǔ)器屬性可包括許可準(zhǔn)則,例如是否授予對(duì)數(shù)據(jù)進(jìn)行操作的許可,舉例來(lái)說(shuō),是否可存取欲讀取的數(shù)據(jù),或是否可將新數(shù)據(jù)寫入現(xiàn)有數(shù)據(jù)上,或是否可使用現(xiàn)有數(shù)據(jù)執(zhí)行指令(例如,ADD或MULTIPLY)。所述存儲(chǔ)器屬性亦可提供關(guān)于是否可將操作許可授予特定操作模式(例如,"管理員"或特權(quán)模式,與"用戶"或非特權(quán)模式相對(duì))的信息。換句話來(lái)說(shuō),存儲(chǔ)器屬性可指示是否允許用戶存取特定高速緩存線中所存儲(chǔ)的數(shù)據(jù),或是否僅允許管理員存取。除讀取/寫入/執(zhí)行及用戶/管理員模式許可之外,所述存儲(chǔ)器屬性還可提供其他類型的信息,包括但不限于與所涉及的存儲(chǔ)器高速緩存器與實(shí)際系統(tǒng)存儲(chǔ)器之間的其他級(jí)高速緩存器的高速緩存能力及寫入分配政策有關(guān)的信息。在具有以虛擬方式加索引,以虛擬方式標(biāo)記的指令高速緩存器的處理系統(tǒng)中(僅作為實(shí)例),CPU將僅需要存取TLB以獲得讀取/寫入/執(zhí)行許可屬性并將其與請(qǐng)求指令獲取的應(yīng)用程序的特性相比較。通過(guò)將所述屬性的拷貝放置于每一高速緩存線中,可消除對(duì)關(guān)于指令提取的TLB查找(其在所述高速緩存器中產(chǎn)生命中)的需要??蓛H需要TLB査找以通過(guò)存取下一級(jí)存儲(chǔ)器來(lái)重填指令高速緩存線,這是因?yàn)樽罱K將必須使用所述屬性以授權(quán)正在運(yùn)行的應(yīng)用程序執(zhí)行所提取的指令(且存取所述物理存儲(chǔ)器將需要經(jīng)轉(zhuǎn)換的地址)。應(yīng)注意,存儲(chǔ)器高速緩存器220并不限于以虛擬方式加索引以虛擬方式標(biāo)記的指令高速緩存器??墒褂迷试S經(jīng)由虛擬地址存取的任一存儲(chǔ)器高速緩存器??傊?,上文所述的存儲(chǔ)器屬性作為附加位存儲(chǔ)于存儲(chǔ)器高速緩存器的每一線中,且不存儲(chǔ)于TLB中,從而(至少在第一級(jí)處)消除從所述TLB檢索所述屬性的需要。避免將所述屬性存儲(chǔ)于TLB中的需要可導(dǎo)致更低的總系統(tǒng)功率、面積及/或復(fù)雜性。本文提供上述對(duì)所揭示實(shí)施例的說(shuō)明以使所屬
技術(shù)領(lǐng)域:
的技術(shù)人員均能夠制作或使用本發(fā)明。所屬
技術(shù)領(lǐng)域:
的技術(shù)人員將易于得出所述實(shí)施例的各種修改,且本文所界定的一般原理也可應(yīng)用于其它實(shí)施例,這并未背離本發(fā)明的精神或范圍。因此,本發(fā)明并不希望限定為本文所示的實(shí)施例,而是希望賦予其與權(quán)利要求書相一致的全部范圍,其中除非明確標(biāo)明,以單數(shù)形式提及的元件并不希望表示"一個(gè)或僅一個(gè)",而是'一或多個(gè)'的意思。所有為所屬
技術(shù)領(lǐng)域:
的技術(shù)人員已知或此后將知道的整個(gè)揭示內(nèi)容所述的各實(shí)施例的元件的結(jié)構(gòu)及功能等效物均明確地以引用方式并入本文中并希望涵蓋于權(quán)利要求書中。而且,無(wú)論是否于權(quán)利要求書中明確引用本揭示內(nèi)容,本文所揭示的內(nèi)容均不希望奉獻(xiàn)給公眾。權(quán)利要求書要素均不依據(jù)35U.S.C.§112第六段之規(guī)定加以解釋,除非使用片語(yǔ)"用于…的裝置"明確描述所述要素,或于方法項(xiàng)中使用片語(yǔ)"用于…的步驟"描述所述要素。權(quán)利要求1、一種處理系統(tǒng),其包含存儲(chǔ)器,其經(jīng)配置以將數(shù)據(jù)存儲(chǔ)于多個(gè)頁(yè)中,每一頁(yè)包括多個(gè)線;轉(zhuǎn)換后援緩沖器(TLB);存儲(chǔ)器高速緩存器,其包括多個(gè)高速緩存線,所述高速緩存線中的每一者經(jīng)配置以存儲(chǔ)所述存儲(chǔ)器線中的一者的地址,且存儲(chǔ)位于所述地址處的數(shù)據(jù)線;其中所述存儲(chǔ)器高速緩存器經(jīng)配置以在將虛擬地址呈現(xiàn)給所述高速緩存器時(shí)允許從所述多個(gè)高速緩存線中識(shí)別匹配的高速緩存線,所述匹配的高速緩存線具有匹配所述呈現(xiàn)給所述存儲(chǔ)器高速緩存器的虛擬地址的匹配地址;且其中所述存儲(chǔ)器高速緩存器經(jīng)配置以通過(guò)進(jìn)一步將所述高速緩存線的每一者中所存儲(chǔ)的所述數(shù)據(jù)線的頁(yè)屬性存儲(chǔ)于所述高速緩存線中而允許從所述存儲(chǔ)器高速緩存器檢索位于所述匹配地址處的頁(yè)的頁(yè)屬性,而無(wú)需為檢索所述頁(yè)屬性而存取所述TLB。2、如權(quán)利要求1所述的處理系統(tǒng),其中所述高速緩存線中的至少一些高速緩存線經(jīng)配置以存儲(chǔ)地址標(biāo)記,所述地址標(biāo)記為虛擬地址標(biāo)記。3、如權(quán)利要求1所述的處理系統(tǒng),其中所述高速緩存線中的至少一些高速緩存線經(jīng)配置以存儲(chǔ)地址標(biāo)記,所述地址標(biāo)記為物理地址標(biāo)記。4、如權(quán)利要求1所述的處理系統(tǒng),其中所述存儲(chǔ)器高速緩存器中的所述高速緩存線中的至少一些高速緩存線是通過(guò)虛擬索引存取的,所述虛擬索引允許從所述多個(gè)所述高速緩存線中選出一個(gè)或多個(gè)高速緩存線。5、如權(quán)利要求1所述的處理系統(tǒng),其中所述存儲(chǔ)器高速緩存器中的所述高速緩存線中的至少一些高速緩存線是通過(guò)物理索引存取的,所述物理索引允許從所述多個(gè)所述高速緩存線中選出一個(gè)或多個(gè)高速緩存線。6、如權(quán)利要求1所述的處理系統(tǒng),其中所述頁(yè)屬性中的一者包含許可準(zhǔn)則,所述許可準(zhǔn)則指示是否可將許可授予將要對(duì)數(shù)據(jù)頁(yè)進(jìn)行的操作,所述數(shù)據(jù)頁(yè)位于由具有所述頁(yè)屬性中所述一者的所述高速緩存線的所述地址標(biāo)記指示的地址處。7、如權(quán)利要求6所述的處理系統(tǒng),其中所述操作包含讀取操作、寫入操作及執(zhí)行操作中的至少一者。8、如權(quán)利要求6所述的處理系統(tǒng),其中所述許可準(zhǔn)則進(jìn)一步指示是否可將所述操作的所述許可授予操作員。9、如權(quán)利要求6所述的處理系統(tǒng),其中所述操作員包含用戶及管理員中的至少一者。10、如權(quán)利要求1所述的處理系統(tǒng),其進(jìn)一步包含多個(gè)附加級(jí)的存儲(chǔ)器高速緩存器,且其中所述頁(yè)屬性中的一者包含高速緩存能力準(zhǔn)則,所述高速緩存能力準(zhǔn)則指示是否可將所述數(shù)據(jù)高速緩存于所述附加級(jí)的存儲(chǔ)器高速緩存器中的一者或多者中,所述數(shù)據(jù)位于對(duì)應(yīng)于具有所述存儲(chǔ)器屬性中所述一者的所述高速緩存線中的一者的虛擬地址的物理地址處。11、如權(quán)利要求1所述的處理系統(tǒng),其中所述存儲(chǔ)于所述多個(gè)頁(yè)中的至少一些頁(yè)中的數(shù)據(jù)包含一個(gè)或多個(gè)指令。12、如權(quán)利要求1所述的處理系統(tǒng),其中所述存儲(chǔ)器含有頁(yè)表,所述頁(yè)表含有多個(gè)頁(yè)表?xiàng)l目,且其中每一頁(yè)表?xiàng)l目經(jīng)配置以存儲(chǔ)虛擬地址與所述多個(gè)頁(yè)中的一者的物理地址之間的映射。13、如權(quán)利要求12所述的處理系統(tǒng),其中所述TLB包括多個(gè)TLB條目,其中所述TLB條目中的每一者經(jīng)配置以存儲(chǔ)用于將虛擬地址轉(zhuǎn)換成所述頁(yè)中的一者的物理地址的地址轉(zhuǎn)換信息,且其中所述TLB包括一子組所述多個(gè)頁(yè)表?xiàng)l目。14、如權(quán)利要求13所述的處理系統(tǒng),其中所述TLB條目中的每一者經(jīng)配置以僅存儲(chǔ)所述地址轉(zhuǎn)換信息而不存儲(chǔ)任何頁(yè)屬性。15、一種方法,其包含使用數(shù)據(jù)線的虛擬地址存取存儲(chǔ)器高速緩存器;及從所述存儲(chǔ)器高速緩存器檢索所述數(shù)據(jù)線的頁(yè)屬性,而無(wú)需存取所述TLB以檢索所述頁(yè)屬性。16、如權(quán)利要求15所述的方法,其中所述存取所述存儲(chǔ)器高速緩存器的動(dòng)作包含存取以虛擬方式標(biāo)記的存儲(chǔ)器高速緩存器的動(dòng)作。17、如權(quán)利要求15所述的方法,其中所述存取所述存儲(chǔ)器高速緩存器的動(dòng)作包含存取以物理方式標(biāo)記的存儲(chǔ)器高速緩存器的動(dòng)作。18、如權(quán)利要求15所述的方法,其中所述存取所述存儲(chǔ)器高速緩存器的動(dòng)作包含存取以虛擬方式加索引的存儲(chǔ)器高速緩存器的動(dòng)作。19、如權(quán)利要求15所述的方法,其中所述存取所述存儲(chǔ)器高速緩存器的動(dòng)作包含存取以物理方式加索引的存儲(chǔ)器高速緩存器的動(dòng)作。20、如權(quán)利要求15所述的方法,其中所述存儲(chǔ)存儲(chǔ)器屬性的動(dòng)作包含存儲(chǔ)許可準(zhǔn)則的動(dòng)作,所述許可準(zhǔn)則指示是否可將許可授予將要對(duì)數(shù)據(jù)進(jìn)行的操作,所述數(shù)據(jù)位于對(duì)應(yīng)于所述高速緩存線的所述虛擬地址的物理地址處。全文摘要一種處理系統(tǒng),所述處理系統(tǒng)可包括存儲(chǔ)器,其經(jīng)配置以將數(shù)據(jù)存儲(chǔ)于多個(gè)頁(yè)中;TLB;及存儲(chǔ)器高速緩存器,其包括多個(gè)高速緩存線。所述存儲(chǔ)器中的每一頁(yè)可包括多個(gè)存儲(chǔ)器線。所述存儲(chǔ)器高速緩存器可在將虛擬地址呈現(xiàn)給所述高速緩存器時(shí)允許從所述多個(gè)高速緩存線中識(shí)別匹配的高速緩存線,所述匹配的高速緩存線具有匹配所述虛擬地址的匹配地址。所述存儲(chǔ)器高速緩存器可經(jīng)配置以通過(guò)進(jìn)一步將所述高速緩存線的每一者中所存儲(chǔ)的數(shù)據(jù)線的頁(yè)屬性存儲(chǔ)于所述高速緩存線中而允許從所述存儲(chǔ)器高速緩存器而非從所述TLB檢索位于所述匹配地址處的頁(yè)的一個(gè)或多個(gè)頁(yè)屬性。文檔編號(hào)G06F12/10GK101331466SQ200680046999公開(kāi)日2008年12月24日申請(qǐng)日期2006年10月20日優(yōu)先權(quán)日2005年10月20日發(fā)明者布賴恩·邁克爾·斯坦普爾,托馬斯·安德魯·薩托里烏斯,杰弗里·托德·布里奇斯,羅德尼·韋恩·史密斯,詹姆斯·諾里斯·迪芬德?tīng)栙M(fèi)爾申請(qǐng)人:高通股份有限公司