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

基于保留優(yōu)先級(jí)的緩存替換策略的制作方法

文檔序號(hào):6523496閱讀:198來源:國(guó)知局
基于保留優(yōu)先級(jí)的緩存替換策略的制作方法
【專利摘要】本公開提供基于保留優(yōu)先級(jí)的緩存替換策略。一種數(shù)據(jù)處理系統(tǒng)包括緩存存儲(chǔ)器(58)和緩存控制電路(56),用于基于對(duì)緩存存儲(chǔ)器(58)中的每個(gè)緩存行(66)存儲(chǔ)的保留優(yōu)先級(jí)值PV來施加緩存替換策略。在緩存行(66)被插入緩存存儲(chǔ)器(58)中時(shí)設(shè)置的初始保留優(yōu)先級(jí)值取決于多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致插入的存儲(chǔ)器存取請(qǐng)求以及導(dǎo)致插入的存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別中的一者或兩者。由指令獲取產(chǎn)生的緩存行的初始保留優(yōu)先級(jí)級(jí)別可以被設(shè)置為與由數(shù)據(jù)存取產(chǎn)生的緩存行不同。
【專利說明】基于保留優(yōu)先級(jí)的緩存替換策略
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域。更具體地,本發(fā)明涉及在數(shù)據(jù)處理系統(tǒng)中使用的緩存替換策略。
【背景技術(shù)】
[0002]已知提供帶有緩存存儲(chǔ)器的數(shù)據(jù)處理系統(tǒng)。緩存存儲(chǔ)器提供對(duì)頻繁使用的數(shù)據(jù)或指令更快、更有效的存取。與主存儲(chǔ)器相比,緩存存儲(chǔ)器通常具有有限的大小,并因此在任意給定的時(shí)間僅有保存在主存儲(chǔ)器中的指令/數(shù)據(jù)的子集能夠被保存在緩存存儲(chǔ)器中。為緩存存儲(chǔ)器提供替換策略,替換策略確定應(yīng)當(dāng)從緩存中移出緩存行(該緩存行可能包含數(shù)據(jù)和/或指令)以便給將要從主存儲(chǔ)器中獲取并存儲(chǔ)在緩存存儲(chǔ)器中的新的緩存行騰出空間。有很多已知的緩存替換策略的示例,比如最近最少使用法、輪叫法以及隨機(jī)法。

【發(fā)明內(nèi)容】

[0003]從本發(fā)明的一個(gè)方面看,提供了一種用于處理數(shù)據(jù)的裝置,所述裝置包括:
[0004]存儲(chǔ)器存取請(qǐng)求的多個(gè)源;
[0005]耦合到所述多個(gè)源的緩存存儲(chǔ)器;以及
[0006]耦合到所述緩存存儲(chǔ)器的緩存控制電路,所述緩存控制電路被配置來控制緩存行到所述緩存存儲(chǔ)器的插入以及緩存行從所述緩存存儲(chǔ)器的逐出,其中
[0007]所述緩存控制電路被配置來存儲(chǔ)與插入到所述緩存存儲(chǔ)器中的每個(gè)緩存行相關(guān)聯(lián)的各保留優(yōu)先級(jí)值;
[0008]所述緩存控制電路被配置來根據(jù)所述保留優(yōu)先級(jí)值從所述緩存存儲(chǔ)器中選擇緩存行以逐出;以及
[0009]所述緩存控制電路被配置來根據(jù)以下至少一項(xiàng)設(shè)置與插入到所述緩存存儲(chǔ)器中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值:
[0010](i)所述多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致所述緩存行插入到所述緩存存儲(chǔ)器中的存儲(chǔ)器存取請(qǐng)求;以及
[0011](ii)所述存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別。
[0012]本技術(shù)認(rèn)識(shí)到改善的替換策略可以通過將每個(gè)緩存行與依賴于存儲(chǔ)器存取請(qǐng)求的源和/或存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別的保留優(yōu)先級(jí)值相關(guān)聯(lián)來獲得。隨后根據(jù)這些分配的保留優(yōu)先級(jí)值(這些保留優(yōu)先級(jí)值在緩存行駐留于緩存存儲(chǔ)器中期間可以被改變)從緩存存儲(chǔ)器中選擇緩存行以逐出。
[0013]緩存控制電路被配置來使具有相應(yīng)于低保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值的緩存行比具有相應(yīng)于高保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值的緩存行優(yōu)先逐出。保留優(yōu)先級(jí)值因此可被用來表示將給定的緩存行保持在緩存存儲(chǔ)器中的預(yù)測(cè)意愿。將緩存行保持在緩存存儲(chǔ)器中的意愿可能是該緩存行被頻繁存取或如果因該緩存行不存在于緩存存儲(chǔ)器中而存取被延遲所以導(dǎo)致重大懲罰的事實(shí)的結(jié)果。根據(jù)觸發(fā)獲取的初始存儲(chǔ)器存取請(qǐng)求的源和/或觸發(fā)獲取的存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別設(shè)置的保留優(yōu)先級(jí)值可以增加從保留在緩存存儲(chǔ)器中的緩存行獲取的益處(或以另一種方式看,減少由沒有保留在緩存存儲(chǔ)器內(nèi)的緩存行招致的懲罰)。
[0014]在一些示例實(shí)施例中,多個(gè)源可以包括被配置來獲取用于執(zhí)行的程序指令的指令獲取電路和被配置來存取要經(jīng)受處理操作的數(shù)據(jù)值的數(shù)據(jù)存取電路。作為示例,指令獲取電路和數(shù)據(jù)存取電路可以是通用處理器、圖形處理單元或DSP的部分。根據(jù)緩存行是因?yàn)橹噶瞰@取電路的存儲(chǔ)器存取還是數(shù)據(jù)存取電路的存儲(chǔ)器存取而被插入到緩存存儲(chǔ)器中,指令保留優(yōu)先級(jí)值或數(shù)據(jù)保留優(yōu)先級(jí)值可以與緩存行相關(guān)聯(lián)。指令保留優(yōu)先級(jí)值和數(shù)據(jù)保留優(yōu)先級(jí)值的不同之處在于對(duì)于緩存行隨后被從緩存存儲(chǔ)器中逐出給出不同的可能性。
[0015]根據(jù)情況,可能希望指令保留優(yōu)先級(jí)值比數(shù)據(jù)保留優(yōu)先級(jí)值對(duì)應(yīng)于更高的保留優(yōu)先級(jí)。在其他情況中,可能希望應(yīng)當(dāng)保持相反的保留優(yōu)先級(jí)關(guān)系。因此,在一些實(shí)施例中,緩存控制電路響應(yīng)于標(biāo)志來設(shè)置上述關(guān)系之一。
[0016]盡管標(biāo)志可以由物理硬件信號(hào)控制,在一些實(shí)施例中,標(biāo)志值是軟件可編程標(biāo)志程序值,該標(biāo)志值控制指令或數(shù)據(jù)是否憑借它們被插入到緩存存儲(chǔ)器中時(shí)被分配給它們的不同的保留優(yōu)先級(jí)值而被優(yōu)先地保留在緩存存儲(chǔ)器中。
[0017]在一些實(shí)施例中,指令獲取電路和數(shù)據(jù)存取電路是順序處理器的部分,并且在這種情形下,希望指令保留優(yōu)先級(jí)值應(yīng)當(dāng)比數(shù)據(jù)保留優(yōu)先級(jí)值具有較低的保留優(yōu)先級(jí),即,希望數(shù)據(jù)比指令優(yōu)先地保留在緩存存儲(chǔ)器中(至少到與指令相比偏向有利于保留數(shù)據(jù)的程度而不是阻止指令被保留)。
[0018]盡管保留優(yōu)先級(jí)值可以被存儲(chǔ)在系統(tǒng)中的任何位置(例如,存儲(chǔ)在緩存控制電路中),在一些實(shí)施例中,保留優(yōu)先級(jí)值與它們相關(guān)聯(lián)的緩存行一起(如果緩存存儲(chǔ)器包含單獨(dú)的TAG存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,最可能與TAG值一起)存儲(chǔ)在緩存存儲(chǔ)器中是方便的。緩存行可以被擴(kuò)展一位或多位來容易地適應(yīng)與之相關(guān)聯(lián)的保留優(yōu)先級(jí)值。
[0019]當(dāng)選定了用于逐出的緩存行時(shí),緩存控制電路對(duì)與緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值進(jìn)行響應(yīng)。在一些實(shí)施例中,緩存控制電路可以被配置來從那些具有相應(yīng)于可能表示的最低保留優(yōu)先級(jí)值的相關(guān)聯(lián)保留優(yōu)先級(jí)值的緩存行中選擇用于逐出的緩存行。在相應(yīng)于最低保留優(yōu)先級(jí)的緩存行池中,緩存控制電路可以依據(jù)諸如輪叫或最近最少使用法的另一種策略進(jìn)行選擇,但是如果在那些具有相應(yīng)于最低保留優(yōu)先級(jí)的相關(guān)聯(lián)保留優(yōu)先級(jí)值的緩存行中進(jìn)行隨機(jī)選擇的話,這是簡(jiǎn)單的。
[0020]如果沒有具有相應(yīng)于最低保留優(yōu)先級(jí)的相關(guān)聯(lián)保留優(yōu)先級(jí)值并適于逐出的緩存行,在一些實(shí)施例中,緩存控制器被配置來降低緩存存儲(chǔ)器中的所有緩存行的保留優(yōu)先級(jí),直到至少一個(gè)緩存行具有相應(yīng)于最低保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值并因此適于逐出。這種降級(jí)可以通過改變所存儲(chǔ)的保留優(yōu)先級(jí)值或通過改變所存儲(chǔ)的保留優(yōu)先級(jí)值和它們所表示的優(yōu)先級(jí)之間的映射來獲得。
[0021]當(dāng)緩存行被插入時(shí)與之相關(guān)聯(lián)的保留優(yōu)先級(jí)值如上所述依賴于相應(yīng)的存儲(chǔ)器存取請(qǐng)求的源或權(quán)限級(jí)別而變化。此后,保留優(yōu)先級(jí)值可能隨與緩存行單獨(dú)地相關(guān)聯(lián)的活動(dòng)或與緩存存儲(chǔ)器總地相關(guān)聯(lián)的活動(dòng)而改變。在一些實(shí)施例中,緩存控制電路被配置來檢測(cè)對(duì)已經(jīng)存在于緩存存儲(chǔ)器中的緩存行的存取(命中)并基于這種命中來改變保留優(yōu)先級(jí)值,以便提高緩存行的保留優(yōu)先級(jí)。因此,經(jīng)常被存取的緩存行的保留優(yōu)先級(jí)將被提高,從而它們優(yōu)先地保留在緩存存儲(chǔ)器中。
[0022]在緩存命中發(fā)生時(shí)對(duì)緩存行的保留優(yōu)先級(jí)值的提高能夠以各種不同的方式進(jìn)行。在一些實(shí)施例中,命中的緩存行的保留優(yōu)先級(jí)值隨每次存取逐步提聞到最聞的最大保留優(yōu)先級(jí)值(一旦達(dá)到最大保留優(yōu)先級(jí)值,不再隨命中進(jìn)行進(jìn)一步提高),或可選地,當(dāng)出現(xiàn)命中時(shí),命中的緩存行的保留優(yōu)先級(jí)值被改變?yōu)橹苯右苿?dòng)到最高保留優(yōu)先級(jí)。
[0023]如前所述,與不同的保留優(yōu)先級(jí)值相關(guān)聯(lián)的多個(gè)源可以采用指令獲取電路或數(shù)據(jù)存取電路的形式。在其他實(shí)施例中,多個(gè)源可以包括通用處理器和圖形處理單元,它們具有與由它們觸發(fā)而被插入到在通用處理器和圖形處理單元之間共享的緩存存儲(chǔ)器中的緩存行相關(guān)聯(lián)的不同的保留優(yōu)先級(jí)值。作為示例,圖形處理單元可以容許與緩存存儲(chǔ)器內(nèi)失效(miss)的存儲(chǔ)器存取相關(guān)聯(lián)的較長(zhǎng)的延時(shí),并因此希望通過為插入到緩存存儲(chǔ)器中代表通用處理器的緩存行分配相應(yīng)于較高保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值來將緩存資源偏向通用處理器。
[0024]多個(gè)源的另一個(gè)示例可以是多個(gè)可能相同的通用處理器。然而,這些處理器中的一些可能被分配更多時(shí)間要求嚴(yán)格的任務(wù),并因此對(duì)緩存行在多個(gè)通用處理器共享的緩存存儲(chǔ)器中的保留應(yīng)該偏向?qū)焖俅嫒≈噶詈蛿?shù)據(jù)有最大需求的處理器(例如,一些處理器可能正執(zhí)行對(duì)性能要求嚴(yán)格的實(shí)時(shí)任務(wù),而其它處理器可能正執(zhí)行可以容易地容許較長(zhǎng)延時(shí)的后臺(tái)維護(hù)任務(wù))。
[0025]應(yīng)用本技術(shù)的緩存存儲(chǔ)器可以在存儲(chǔ)器系統(tǒng)內(nèi)的不同位置采用各種不同的形式。在一些實(shí)施例中,緩存存儲(chǔ)器是二級(jí)緩存存儲(chǔ)器,而在其它實(shí)施例中緩存存儲(chǔ)器可以是三級(jí)緩存存儲(chǔ)器。
[0026]應(yīng)理解,根據(jù)想要指定的粒度,保留優(yōu)先級(jí)值可以具有各種不同的位大小。在所支持的粒度和存儲(chǔ)保留優(yōu)先級(jí)值所需的存儲(chǔ)資源之間存在平衡。在一些實(shí)施例中,保留優(yōu)先級(jí)值為兩位保留優(yōu)先級(jí)可獲得折中。
[0027]如前所述,緩存行在插入到緩存存儲(chǔ)器中時(shí)被分配的保留優(yōu)先級(jí)值可以隨與對(duì)于緩存存儲(chǔ)器獲取緩存行的存儲(chǔ)器存取請(qǐng)求相關(guān)聯(lián)的權(quán)限級(jí)別而變化。以這種方式,緩存行保留可以偏向由具有較高權(quán)限級(jí)別的存儲(chǔ)器存取請(qǐng)求獲取的緩存行。作為示例,裝置可以執(zhí)行內(nèi)核程序和一個(gè)或多個(gè)用戶程序,并且內(nèi)核程序的權(quán)限級(jí)別高于一個(gè)或多個(gè)用戶程序的權(quán)限級(jí)別。在這種情況中,例如,插入到緩存存儲(chǔ)器中代表內(nèi)核程序的緩存行可以比那些被插入的代表一個(gè)或多個(gè)用戶程序的緩存行被賦予較高的保留優(yōu)先級(jí)以便保留。在其它實(shí)施例中,相反的情況也可能,即,插入的代表用戶程序的緩存行比插入的代表內(nèi)核程序的緩存行被賦予較高的優(yōu)先級(jí)。
[0028]從本發(fā)明的另一個(gè)方面看,提供了一種用于處理數(shù)據(jù)的裝置,所述裝置包括:
[0029]多個(gè)源裝置,用于產(chǎn)生存儲(chǔ)器存取請(qǐng)求;
[0030]緩存存儲(chǔ)器裝置,用于存儲(chǔ)數(shù)據(jù);
[0031]緩存控制裝置,用于控制緩存行到所述緩存存儲(chǔ)器裝置的插入及緩存行從所述緩存存儲(chǔ)器裝置的逐出,其中
[0032]所述緩存控制裝置被配置來存儲(chǔ)與插入到所述緩存存儲(chǔ)器裝置中的每個(gè)緩存行相關(guān)聯(lián)的各保留優(yōu)先級(jí)值;
[0033]所述緩存控制裝置被配置來根據(jù)所述保留優(yōu)先級(jí)值從所述緩存存儲(chǔ)器裝置中選擇用于逐出的緩存行;以及
[0034]所述緩存控制裝置被配置來根據(jù)以下至少一項(xiàng)設(shè)置與插入到所述緩存存儲(chǔ)器裝置中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值:
[0035](i)所述多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致所述緩存行插入到所述緩存存儲(chǔ)器裝置中的存儲(chǔ)器存取請(qǐng)求;以及
[0036](ii)所述存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別。
[0037]從本發(fā)明的有一個(gè)方面看,提供了一種處理數(shù)據(jù)的方法,所述方法包括如下步驟:
[0038]以多個(gè)源產(chǎn)生存儲(chǔ)器存取請(qǐng)求;
[0039]在緩存存儲(chǔ)器中存儲(chǔ)數(shù)據(jù);以及
[0040]控制緩存行到所述緩存存儲(chǔ)器的插入及緩存行從所述緩存存儲(chǔ)器中的逐出,所述方法還包括如下步驟:
[0041]存儲(chǔ)與插入到所述緩存存儲(chǔ)器中的每個(gè)緩存行相關(guān)聯(lián)的各保留優(yōu)先級(jí)值;
[0042]根據(jù)所述保留優(yōu)先級(jí)值從所述緩存存儲(chǔ)器中選擇用于逐出的緩存行;以及
[0043]根據(jù)以下至少一項(xiàng)設(shè)置與插入到所述緩存存儲(chǔ)器裝置中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值:
[0044](i)所述多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致所述緩存行插入到所述緩存存儲(chǔ)器裝置中的存儲(chǔ)器存取請(qǐng)求;以及
[0045](ii)所述存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別。
[0046]本發(fā)明的上述及其它目標(biāo)、特征及優(yōu)點(diǎn)將從下述結(jié)合附圖對(duì)示例實(shí)施例的詳細(xì)地描述中變得顯而易見。
【專利附圖】

【附圖說明】
[0047]現(xiàn)在僅通過示例的方式,參照附圖來描述本發(fā)明的實(shí)施例,其中。
[0048]圖1示意性地示出了包括多個(gè)存取請(qǐng)求源、緩存層級(jí)結(jié)構(gòu)和主存儲(chǔ)器的數(shù)據(jù)處理系統(tǒng);
[0049]圖2示意性地示出了包括指令獲取電路和數(shù)據(jù)存取電路的通用處理器;
[0050]圖3示意性地示出了用于插入伴有不同的保留優(yōu)先級(jí)值的緩存行并隨后根據(jù)那些保留優(yōu)先級(jí)值執(zhí)行緩存行逐出的緩存控制電路;
[0051]圖4示意性地示出了緩存行的內(nèi)容;
[0052]圖5是示意性地示出了緩存控制電路響應(yīng)于接收到的存儲(chǔ)器存取請(qǐng)求的操作的流程圖;
[0053]圖6是示意性地示出了當(dāng)保留優(yōu)先級(jí)值依據(jù)存儲(chǔ)器存取請(qǐng)求源被設(shè)置時(shí)有關(guān)緩存失效而執(zhí)行的處理操作的流程圖;
[0054]圖7是除保留優(yōu)先級(jí)值是根據(jù)導(dǎo)致失效的存儲(chǔ)器存取請(qǐng)求是否具有與內(nèi)核程序相關(guān)聯(lián)的內(nèi)核權(quán)限級(jí)別而設(shè)置的之外,與圖6的流程圖相似的流程圖。
【具體實(shí)施方式】
[0055]圖1示意性地示出了處理數(shù)據(jù)的裝置2,裝置2包括主存儲(chǔ)器4,包括三級(jí)緩存6、兩個(gè)二級(jí)緩存8和10、四個(gè)一級(jí)緩存12、14、16和18的緩存層級(jí)結(jié)構(gòu),以及包括兩個(gè)通用處理器20和22、圖形處理單元24和DSP單元26的多個(gè)存儲(chǔ)器存取請(qǐng)求源。
[0056]各種緩存存儲(chǔ)器6到18是按層級(jí)結(jié)構(gòu)排列的。所有的存取請(qǐng)求源20、22、24和26共享單個(gè)三級(jí)緩存6。兩個(gè)通用處理器20和22共享二級(jí)緩存8。圖形處理單元24和DSP單元26共享二級(jí)緩存10。存取請(qǐng)求源20、22、24和26中的每個(gè)都有自己的一級(jí)緩存12、14,16和18。本技術(shù)可以被應(yīng)用于緩存6到18中的任何一個(gè),盡管發(fā)現(xiàn)在二級(jí)緩存8和10以及三級(jí)緩存6中特別實(shí)用。
[0057]圖1也示出了主存儲(chǔ)器4。主存儲(chǔ)器4支持存儲(chǔ)器地址空間,其中不同范圍的存儲(chǔ)器地址可以主要被在各種存取請(qǐng)求源20、22、24和26上執(zhí)行的不同的任務(wù)或程序使用。被獲取到緩存存儲(chǔ)器6到18中的任何一個(gè)的緩存行將在主存儲(chǔ)器4中有相應(yīng)的地址(實(shí)際上是小地址范圍)。如圖1所示,不同范圍的存儲(chǔ)器地址被被多個(gè)用戶程序28、30、32和34中不同的用戶程序使用,并且不同范圍的存儲(chǔ)器地址36用于內(nèi)核程序(操作系統(tǒng)的部分,包括在某些操作模式中可能被頻繁地執(zhí)行的代碼)。存儲(chǔ)器管理單元(未示出)可以被提供來根據(jù)存儲(chǔ)器存取請(qǐng)求源的當(dāng)前權(quán)限級(jí)別來限制對(duì)主存儲(chǔ)器4的不同區(qū)域的存取。權(quán)限級(jí)別也可以被用來控制保留優(yōu)先級(jí)。正如后面將討論的,與緩存行相關(guān)聯(lián)的一個(gè)或多個(gè)存儲(chǔ)器地址可被用于確定當(dāng)緩存行被插入緩存存儲(chǔ)器6到18中的一個(gè)中時(shí)分配給該緩存行的保留優(yōu)先級(jí)值。存儲(chǔ)器地址空間被分為多個(gè)存儲(chǔ)器地址范圍,從而使得不同的保留優(yōu)先級(jí)值可以與不同存儲(chǔ)器地址范圍相關(guān)聯(lián)。
[0058]圖2示意性地示出了包括指令獲取電路40和數(shù)據(jù)存取電路42的通用處理器38。指令獲取電路40獲取程序指令流,程序指令被傳遞到順序指令流水線44并沿著順序指令流水線44前進(jìn),正如他們經(jīng)歷各個(gè)階段的處理。這些處理階段中的至少一個(gè)使用指令解碼器46解碼指令并產(chǎn)生控制諸如寄存器組48、乘法器50、移位器52和加法器54等的處理電路來執(zhí)行由解碼的程序指令所指定的處理操作的控制信號(hào)。數(shù)據(jù)存取電路42具有負(fù)載存取單元(LSU)的形式,并執(zhí)行數(shù)據(jù)存取來讀和寫經(jīng)受由處理電路48、50、52和54執(zhí)行的程序指令控制下的處理操作的數(shù)據(jù)值。通用處理器38輸出識(shí)別存儲(chǔ)器存取請(qǐng)求是涉及指令還是數(shù)據(jù)以及相關(guān)聯(lián)的權(quán)限級(jí)別的信號(hào)。
[0059]要理解的是圖2是對(duì)通用處理器38的程式化的表現(xiàn),而實(shí)踐中通用處理器38通常包括更多的電路元件。為清楚起見,圖2中省略了這些電路元件。
[0060]通過指令獲取電路40和數(shù)據(jù)存取電路42存取的數(shù)據(jù)和指令可以被存儲(chǔ)在緩存層級(jí)結(jié)構(gòu)6到18的任何級(jí)中,并且也將被存儲(chǔ)在主存儲(chǔ)器4中。存儲(chǔ)器存取請(qǐng)求沿緩存層級(jí)結(jié)構(gòu)向上傳遞直到出現(xiàn)命中(hit),或者如果沒有命中出現(xiàn)將傳遞到主存儲(chǔ)器4中。當(dāng)沒有出現(xiàn)命中時(shí),這是失效(miss),并且包括試圖要存取的數(shù)據(jù)(或指令)的緩存行將被從主存儲(chǔ)器4獲取到緩存層級(jí)結(jié)構(gòu)6到18中。如果失效出現(xiàn)在較高級(jí)的緩存之一中(例如,一級(jí)緩存12到18,但是命中出現(xiàn)在諸如二級(jí)緩存或三級(jí)緩存6的較低級(jí)的緩存之一中),那么緩存行將被從較低級(jí)的緩存中取回到離存儲(chǔ)器存取請(qǐng)求源較近的較高級(jí)的緩存中。本技術(shù)可以被用來分配當(dāng)緩存行從緩存層級(jí)結(jié)構(gòu)的一個(gè)級(jí)被復(fù)制到另一級(jí)時(shí)而插入時(shí)的保留優(yōu)先權(quán)值。
[0061]當(dāng)存儲(chǔ)器存取請(qǐng)求是由存取請(qǐng)求源20、22、24和26之一所作出時(shí),那么該存儲(chǔ)器存取請(qǐng)求伴隨有識(shí)別存儲(chǔ)器存取請(qǐng)求源的信號(hào)以及識(shí)別當(dāng)前執(zhí)行的程序的權(quán)限級(jí)別的信號(hào)。作為示例,伴隨信號(hào)可以區(qū)分存儲(chǔ)器存取請(qǐng)求源自指令獲取電路40還是數(shù)據(jù)存取電路42。如果存儲(chǔ)器存取請(qǐng)求導(dǎo)致了失效,那么這個(gè)指示存儲(chǔ)器存取請(qǐng)求源的信號(hào)可以被用來在與失效相應(yīng)的緩存行被插入到緩存存儲(chǔ)器中出現(xiàn)失效的位置時(shí)與該緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值。這些與因指令獲取或數(shù)據(jù)存取而被插入的緩存行相關(guān)聯(lián)的不同的保留優(yōu)先權(quán)值隨后可以被用來控制從緩存存儲(chǔ)器中選擇用于逐出(eviction)的緩存行。
[0062]上面描述了基于源是指令獲取電路40還是數(shù)據(jù)存取電路42而對(duì)保留優(yōu)先級(jí)值的不同設(shè)置。不同的保留優(yōu)先級(jí)值也可以根據(jù)例如諸如源是否是通用處理器20和22或圖形處理單元24之一等的其它因素而被設(shè)置。在其它實(shí)施例中,兩個(gè)通用處理器20和22可以執(zhí)行不同類型的任務(wù),并且代表他們以相關(guān)聯(lián)的不同保留優(yōu)先級(jí)值用于填充到共享緩存存儲(chǔ)器中的緩存行(例如,一個(gè)處理器20可以正在執(zhí)行被分配了較高緩存保留優(yōu)先級(jí)的實(shí)時(shí)任務(wù),而另一個(gè)處理器22可以正在執(zhí)行具有較低保留優(yōu)先級(jí)的后臺(tái)任務(wù))。
[0063]另一種控制與插入到緩存存儲(chǔ)器中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值的方法(可以單獨(dú)使用或與源標(biāo)識(shí)符組合使用)基于與緩存行相關(guān)聯(lián)的權(quán)限級(jí)別。內(nèi)核程序與用戶程序相比通常以較高權(quán)限級(jí)別執(zhí)行,并且與被一個(gè)或多個(gè)用戶程序獲取的緩存行相比,緩存行保留(使用插入時(shí)的保留優(yōu)先級(jí)值)可能會(huì)偏向于被內(nèi)核程序獲取的緩存行。
[0064]圖3示意性地示出了耦合到緩存存儲(chǔ)器58的緩存控制電路56。緩存控制電路56接收指定存儲(chǔ)器地址的存儲(chǔ)器存取請(qǐng)求、識(shí)別該存儲(chǔ)器存取請(qǐng)求是來自存儲(chǔ)器存取請(qǐng)求源之一的指令獲取還是數(shù)據(jù)存取的信號(hào)以及權(quán)限級(jí)別信號(hào)。緩存控制電路56對(duì)軟件可編程標(biāo)志值60做出響應(yīng),軟件可編程標(biāo)志值60指示指令是否比數(shù)據(jù)被賦予更高的保留優(yōu)先級(jí)或數(shù)據(jù)是否比指令被賦予更高的保留優(yōu)先級(jí)。在諸如圖2所示的順序通用處理器的情況中,已經(jīng)發(fā)現(xiàn)對(duì)數(shù)據(jù)緩存行比指令緩存行賦予更高的保留優(yōu)先級(jí)可以提高性能。軟件可編程標(biāo)志值60允許這一偏好在軟件控制下被選擇以適應(yīng)個(gè)人情況。
[0065]與具有內(nèi)核權(quán)限級(jí)別的存儲(chǔ)器存取請(qǐng)求相關(guān)聯(lián)的緩存行將比那些與用戶權(quán)限級(jí)別相關(guān)聯(lián)的緩存行被賦予更高的保留優(yōu)先級(jí),并因此將優(yōu)先保留在緩存儲(chǔ)器58中。緩存控制電路56控制關(guān)于存儲(chǔ)器存取請(qǐng)求是否能夠由存儲(chǔ)于緩存存儲(chǔ)器58中的緩存行66來服務(wù)(相應(yīng)于命中)或緩存存儲(chǔ)器58是否不包含相應(yīng)的緩存行并因此必須參考緩存存儲(chǔ)器層級(jí)結(jié)構(gòu)中的更高級(jí)(相應(yīng)于失效)的判斷。當(dāng)出現(xiàn)失效時(shí),那么數(shù)據(jù)將隨后從存儲(chǔ)器層級(jí)結(jié)構(gòu)中的更高級(jí)返回并存儲(chǔ)在緩存存儲(chǔ)器58中(除非存儲(chǔ)器存取被標(biāo)記為不可緩存的)。
[0066]如果緩存存儲(chǔ)器58已經(jīng)滿了,那么必須從緩存存儲(chǔ)器58移除現(xiàn)有的緩存行來為新獲取的緩存行騰出空間。如在下文中所述,替換策略可以取決于在當(dāng)每個(gè)緩存行被插入時(shí)由緩存控制電路56存儲(chǔ)于緩存存儲(chǔ)器58中的保留優(yōu)先級(jí)值PV。保留優(yōu)先級(jí)值PV在緩存行被插入時(shí)被設(shè)置為初始值,但可以隨緩存行存在于緩存存儲(chǔ)器58中時(shí)對(duì)緩存行的使用以及緩存存儲(chǔ)器58可能產(chǎn)生的操作的其它方面而改變(例如,全局降級(jí)以給出潛在的受害者(victim)緩存行池)。
[0067]圖4示意性地示出了緩存行66。在這一示例中,緩存行包括相應(yīng)于存儲(chǔ)器地址的TAG值68,構(gòu)成緩存行的N個(gè)字的指令或數(shù)據(jù)被從主存儲(chǔ)器4的存儲(chǔ)器地址空間中的該存儲(chǔ)器地址提取。緩存行內(nèi)還包括兩位(bit)保留優(yōu)先級(jí)值70。保留優(yōu)先級(jí)值如圖所示進(jìn)行編碼,保留優(yōu)先級(jí)值“00”相應(yīng)于最高保留優(yōu)先級(jí),而保留優(yōu)先級(jí)值“ 11 ”相應(yīng)于最低優(yōu)先級(jí)。在下面將要進(jìn)一步討論的示例中,當(dāng)緩存行被緩存控制器56插入到緩存存儲(chǔ)器58中時(shí),緩存行將以初始保留優(yōu)先級(jí)值70為相應(yīng)于最低保留優(yōu)先級(jí)的“11”或相應(yīng)于比最低優(yōu)先級(jí)高一級(jí)的保留優(yōu)先級(jí),保留優(yōu)先級(jí)值“10”,被插入。其它初始值可被使用,例如,“01”用于較高保留優(yōu)先級(jí)以及“10”用于較低保留優(yōu)先級(jí)。當(dāng)已經(jīng)被保存于緩存存儲(chǔ)器中的緩存行上出現(xiàn)命中時(shí),那么在一些實(shí)施例中該緩存行的保留優(yōu)先級(jí)值可以被遞減一,直到達(dá)到相應(yīng)于最高保留優(yōu)先級(jí)的限值“00”。在其它實(shí)施例中,當(dāng)對(duì)于已經(jīng)被保存于緩存存儲(chǔ)器58中的緩存行出現(xiàn)命中時(shí),那么緩存行的保留優(yōu)先級(jí)值可以被立即改變到相應(yīng)于最高保留優(yōu)先級(jí)的限值“00”。
[0068]要理解圖4示出了具有和數(shù)據(jù)一起存儲(chǔ)的TAG的緩存行。在實(shí)踐中,TAG可以與數(shù)據(jù)分開存儲(chǔ)。在這種情況下,保留優(yōu)先級(jí)值可以與TAG以及諸如有效位和臟位(dirty bit)等其它位一起存儲(chǔ)。
[0069]保留優(yōu)先級(jí)值更一般的是η位保留優(yōu)先級(jí)值。這給出2η種可能的保留優(yōu)先級(jí)值K=O, I, ".2η-1。被分配給不同類別的緩存行插入(例如,數(shù)據(jù)相對(duì)于指令,或內(nèi)核相對(duì)于用戶)的保留優(yōu)先級(jí)值被選擇,以使得它們總和為2η-1。這在可用的位空間內(nèi)平均分配保留優(yōu)先級(jí)值。不同的開始插入值可被選擇為例如強(qiáng)烈有利于數(shù)據(jù)(數(shù)據(jù)=00,指令=11)、微弱有利于數(shù)據(jù)(數(shù)據(jù)=01,指令=10),微弱有利于指令(數(shù)據(jù)=10,指令=01)、強(qiáng)烈有利于指令(數(shù)據(jù)=11,指令=00)。這些不同的開始值相應(yīng)于在(例如,通過硬件配置選擇或通過軟件配置選擇)間可以選擇的不同策略。
[0070]圖5是示意性地示出緩存控制電路56和緩存存儲(chǔ)器58在緩存層級(jí)結(jié)構(gòu)6到18中給定的層級(jí)上在服務(wù)于存儲(chǔ)器存取請(qǐng)求的過程中所進(jìn)行的操作的流程圖。在步驟72中,處理等候直到接收到存取請(qǐng)求。在步驟74中,做出存取請(qǐng)求是相應(yīng)于已經(jīng)存在于緩存存儲(chǔ)器58中的緩存行之一中的數(shù)據(jù)還是指令的判斷。如果存儲(chǔ)器存取請(qǐng)求相應(yīng)于已經(jīng)存在的存儲(chǔ)行,那么這是命中,處理前進(jìn)到步驟76。在步驟76中已經(jīng)命中的緩存行的保留優(yōu)先權(quán)值被遞減一(相應(yīng)于保留優(yōu)先級(jí)級(jí)別提升一級(jí)),受限于降低到達(dá)到最小可能值“00”的保留優(yōu)先權(quán)值。在步驟76之后,步驟78用來為來自緩存存儲(chǔ)器58的存儲(chǔ)器緩存請(qǐng)求提供服務(wù),處理返回到步驟72。
[0071]如果在步驟74沒有檢測(cè)到命中,處理前進(jìn)到步驟80,其中如下面所述的緩存失效操作被觸發(fā)。隨后處理在步驟82等待數(shù)據(jù)或指令的緩存行被返回到緩存存儲(chǔ)器58。一旦數(shù)據(jù)/指令被返回并且插入到緩存存儲(chǔ)器58 (或與這種插入并行),隨后處理前進(jìn)到步驟78,其中存儲(chǔ)器存取請(qǐng)求被提供服務(wù)。
[0072]圖6是示意性地示出了由緩存控制電路56和緩存存儲(chǔ)器58基于圖5中由步驟80觸發(fā)的失效而執(zhí)行的失效操作的流程圖。在步驟84中,處理等待直到檢測(cè)到緩存失效。步驟86判斷緩存存儲(chǔ)器當(dāng)前是否是滿的。如果緩存存儲(chǔ)器當(dāng)前不是滿的,那么處理前進(jìn)到步驟88,其中當(dāng)前空的緩存行之一隨機(jī)地被選擇作為“受害者”,新獲取的緩存行可以被填入其中。
[0073]如果在步驟86中確定緩存已經(jīng)滿了,那么必須從當(dāng)前被占用的緩存行中選擇受害者。步驟90判斷是否有當(dāng)前被占用的緩存行中的任何緩存行具有最低保留優(yōu)先級(jí)。在前面討論的示例中,這相應(yīng)于具有保留優(yōu)先級(jí)值“11”的緩存行。如果沒有這種具有最低保留優(yōu)先級(jí)的緩存行,那么處理前進(jìn)到步驟92,其中當(dāng)前保持于緩存存儲(chǔ)器58中的所有緩存行的保留優(yōu)先級(jí)都被降一級(jí)。這將通過改變所有存儲(chǔ)的保留優(yōu)先級(jí)值PV來達(dá)到。然而,更有效的實(shí)施例可以改變存儲(chǔ)的保留優(yōu)先級(jí)值和保留優(yōu)先級(jí)級(jí)別之間的映射以達(dá)到相同的結(jié)果。在所有的緩存行都被降低一個(gè)保留優(yōu)先級(jí)級(jí)別后,隨后處理返回到步驟90,其中重復(fù)對(duì)最低優(yōu)先級(jí)級(jí)別的緩存行的檢查。處理在步驟90和92間循環(huán)直到在步驟90中檢測(cè)到至少一個(gè)具有最低保留優(yōu)先級(jí)級(jí)別的緩存行。
[0074]當(dāng)在步驟90中檢測(cè)到至少一個(gè)具有最低保留優(yōu)先級(jí)級(jí)別的緩存行之后,步驟94用來從具有最低保留優(yōu)先級(jí)的緩存行中隨機(jī)選擇受害者(如果單一緩存行具有這一最低保留優(yōu)先級(jí),那么將選擇這個(gè)單一行)。在最低保留優(yōu)先級(jí)緩存行中隨機(jī)選擇受害者相對(duì)易于實(shí)現(xiàn)。諸如最近最少使用策略或輪叫策略等從最低保留優(yōu)先級(jí)緩存行池中進(jìn)行選擇的其他策略可以被采用。這些不同的策略通常需要額外的資源來存儲(chǔ)與它們的操作相關(guān)聯(lián)的狀態(tài)。
[0075]—旦在步驟94中選定了受害者,步驟96確定該緩存行是否是臟的(是否包含不同于那些當(dāng)前保存于主存儲(chǔ)器4中值的更新值)。如果該緩存行是臟的,那么步驟98用于在該緩存行被新插入的緩存行重寫之前,將該緩存行回寫到儲(chǔ)存器4中。
[0076]在這一示例中,步驟100確定觸發(fā)失效的存儲(chǔ)器存取是否源自指令獲取單元40。如果存儲(chǔ)器存取是源自獲取單元的,那么該緩存行至少包含要被獲取的指令,并在步驟102中以保留優(yōu)先級(jí)值“10”標(biāo)記。如果在步驟100中確定存儲(chǔ)器存取不是來自指令獲取單元,那么存儲(chǔ)器存取是來自負(fù)載存儲(chǔ)單元42 (數(shù)據(jù)存取電路)的,并在步驟104中設(shè)置保留優(yōu)先級(jí)值PV為“01”。隨后步驟106等待直到接收到來自存儲(chǔ)器層級(jí)結(jié)構(gòu)中的較低級(jí)(例如,較低級(jí)別緩存存儲(chǔ)器之一或主存儲(chǔ)器)的緩存行。當(dāng)在步驟106中接收到緩存行時(shí),隨后步驟108用于將新緩存行和初始保留優(yōu)先級(jí)值PV —起寫入在步驟94中選定的先前存儲(chǔ)的受:害者中。
[0077]圖7是與圖6中的流程圖相似的流程圖。圖7的不同之處在于保留優(yōu)先級(jí)值是基于與出現(xiàn)緩存失效的緩存行相關(guān)聯(lián)的權(quán)限級(jí)別是否是相應(yīng)于操作系統(tǒng)的內(nèi)核程序的內(nèi)核權(quán)限級(jí)別。一旦受害者被選定,那么步驟110確定出現(xiàn)緩存行失效的存儲(chǔ)器存取是否具有相應(yīng)于內(nèi)核程序的權(quán)限級(jí)別。如果在步驟110中確定存儲(chǔ)器緩存具有相應(yīng)于內(nèi)核程序的內(nèi)核權(quán)限級(jí)別,隨后步驟112用于設(shè)置保留優(yōu)先級(jí)值PV為“01”。相反地,如果存儲(chǔ)器存取具有用戶權(quán)限級(jí)別并且不相應(yīng)于內(nèi)核程序,隨后步驟114用于設(shè)置初始保留優(yōu)先級(jí)值PV為“10”。如此,與內(nèi)核程序相關(guān)聯(lián)的緩存行比那些與其它程序(例如,用戶程序)相關(guān)聯(lián)的緩存行被賦予較高的初始保留優(yōu)先級(jí)。
[0078]盡管已經(jīng)參照附圖對(duì)本發(fā)明的示意性實(shí)施例作了詳細(xì)地描述,要理解的是本發(fā)明不限于這些具體的實(shí)施例,并且在不脫離由所附權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,本領(lǐng)域技術(shù)人員能夠做出各種變化和修改。
【權(quán)利要求】
1.一種用于處理數(shù)據(jù)的裝置,所述裝置包括: 存儲(chǔ)器存取請(qǐng)求的多個(gè)源; 耦合到所述多個(gè)源的緩存存儲(chǔ)器;以及 耦合到所述緩存存儲(chǔ)器的緩存控制電路,所述緩存控制電路被配置來控制緩存行到所述緩存存儲(chǔ)器的插入以及緩存行從所述緩存存儲(chǔ)器的逐出,其中 所述緩存控制電路被配置來存儲(chǔ)與插入到所述緩存存儲(chǔ)器中的每個(gè)緩存行相關(guān)聯(lián)的各保留優(yōu)先級(jí)值; 所述緩存控制電路被配置來根據(jù)所述保留優(yōu)先級(jí)值從所述緩存存儲(chǔ)器中選擇用于逐出的緩存行;以及 所述緩存控制電路被配置來根據(jù)以下至少一項(xiàng)設(shè)置與插入到所述緩存存儲(chǔ)器中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值: (i)所述多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致所述緩存行插入到所述緩存存儲(chǔ)器中的存儲(chǔ)器存取請(qǐng)求;以及 (?)所述存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別。
2.如權(quán)利要求1所述的裝置,其中,所述緩存控制電路被配置來使具有相應(yīng)于低保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值的緩存行比具有相應(yīng)于高保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值的緩存行優(yōu)先逐出。
3.如權(quán)利要求1所述的`裝置,其中,所述多個(gè)源包括: 被配置來獲取用于執(zhí)行的程序指令的指令獲取電路;以及 被配置來存取要在所述程序指令的控制下經(jīng)受處理操作的數(shù)據(jù)值的數(shù)據(jù)存取電路,其中 因由所述指令獲取電路發(fā)出的存儲(chǔ)器存取請(qǐng)求而被插入到所述緩存存儲(chǔ)器中的緩存行與指令保留優(yōu)先級(jí)值相關(guān)聯(lián),并且因由所述數(shù)據(jù)存取電路發(fā)出的存儲(chǔ)器存取請(qǐng)求而被插入到所述緩存存儲(chǔ)器中的緩存行與不同于所述指令保留優(yōu)先級(jí)值的數(shù)據(jù)保留優(yōu)先級(jí)值相關(guān)聯(lián)。
4.如權(quán)利要求3所述的裝置,其中,所述緩存控制電路響應(yīng)于標(biāo)志值以設(shè)置如下其中一項(xiàng): (i)所述指令保留優(yōu)先級(jí)值比所述數(shù)據(jù)保留優(yōu)先級(jí)值相應(yīng)于較高保留優(yōu)先級(jí); (?)所述指令保留優(yōu)先級(jí)值比所述數(shù)據(jù)保留優(yōu)先級(jí)值相應(yīng)于較低保留優(yōu)先級(jí)。
5.如權(quán)利要求4所述的裝置,其中,所述標(biāo)志值是軟件可編程標(biāo)志值。
6.如權(quán)利要求3所述的裝置,其中,所述指令獲取電路和所述數(shù)據(jù)存取電路是順序處理器的部分,并且所述指令保留優(yōu)先級(jí)值比所述數(shù)據(jù)保留優(yōu)先級(jí)值相應(yīng)于較低保留優(yōu)先級(jí)。
7.如權(quán)利要求1所述的裝置,其中,所述保留優(yōu)先級(jí)值以及與所述保留優(yōu)先級(jí)值相關(guān)聯(lián)的緩存行的TAG值一起存儲(chǔ)在所述緩存存儲(chǔ)器中。
8.如權(quán)利要求2所述的裝置,其中,所述緩存控制電路被配置來從那些具有相應(yīng)于最低保留優(yōu)先級(jí)的相關(guān)聯(lián)保留優(yōu)先級(jí)值的緩存行中選擇用于逐出的緩存行。
9.如權(quán)利要求8所述的裝置,其中,所述緩存控制電路被配置來從具有相應(yīng)于最低保留優(yōu)先級(jí)的相關(guān)聯(lián)保留優(yōu)先級(jí)值的緩存行中隨機(jī)選擇用于逐出的緩存行。
10.如權(quán)利要求8所述的裝置,其中,如果沒有具有相應(yīng)于所述最低保留優(yōu)先級(jí)的相關(guān)聯(lián)保留優(yōu)先級(jí)值的緩存行,則所述緩存控制器被配置來降低所述緩存存儲(chǔ)器中所有緩存行的保留優(yōu)先級(jí),直到至少一個(gè)緩存行具有相應(yīng)于所述最低保留優(yōu)先級(jí)的保留優(yōu)先級(jí)值。
11.如權(quán)利要求2所述的裝置,其中,所述緩存控制電路被配置來檢測(cè)對(duì)已經(jīng)存在于所述緩存存儲(chǔ)器中的緩存行的存取以及改變所述緩存行的保留優(yōu)先級(jí)以提高所述緩存行的保留優(yōu)先級(jí)。
12.如權(quán)利要求11所述的裝置,其中,所述保留優(yōu)先級(jí)值被改變?yōu)橐韵缕渲幸豁?xiàng): (i)基于每次存取,逐步向最高保留優(yōu)先級(jí)提高所述緩存行的保留優(yōu)先級(jí);以及 (?)直接提高所述緩存行到最高保留優(yōu)先級(jí)。
13.如權(quán)利要求1所述的裝置,其中,所述多個(gè)源包括通用處理器和圖形處理單元。
14.如權(quán)利要求1所述的裝置,其中,所述多個(gè)源包括多個(gè)通用處理器。
15.如權(quán)利要求1所述的裝置,其中,所述緩存存儲(chǔ)器是緩存存儲(chǔ)器層級(jí)結(jié)構(gòu)中的二級(jí)緩存存儲(chǔ)器,所述緩存存儲(chǔ)器層級(jí)結(jié)構(gòu)包括至少一個(gè)一級(jí)緩存存儲(chǔ)器和所述二級(jí)緩存存儲(chǔ)器。
16.如權(quán)利要求1所述的裝置,其中,所述緩存存儲(chǔ)器是緩存存儲(chǔ)器層級(jí)結(jié)構(gòu)中的三級(jí)緩存存儲(chǔ)器,所述緩存存儲(chǔ)器層級(jí)結(jié)構(gòu)包括至少一個(gè)一級(jí)緩存存儲(chǔ)器、至少一個(gè)二級(jí)緩存存儲(chǔ)器和所述三級(jí)緩存存儲(chǔ)器。
17.如權(quán)利要求1所述的裝置,其中,所述保留優(yōu)先級(jí)值是η位保留優(yōu)先級(jí)值,并且在緩存行被插入時(shí)能夠由所述緩存控制電路設(shè)置的不同保留優(yōu)先級(jí)值的總和為2η-1。
18.如權(quán)利要求1所`述的裝置,其中,因具有內(nèi)核程序權(quán)限級(jí)別的存儲(chǔ)器存取請(qǐng)求而被插入所述緩存存儲(chǔ)器的緩存行與內(nèi)核保留優(yōu)先級(jí)相關(guān)聯(lián),并且被插入所述緩存層級(jí)的緩存行與用戶保留優(yōu)先級(jí)值相關(guān)聯(lián)。
19.如權(quán)利要求18所述的裝置,其中,如下述之一: 所述內(nèi)核保留優(yōu)先級(jí)值比所述用戶保留優(yōu)先級(jí)值相應(yīng)于較高保留優(yōu)先級(jí);以及 所述用戶保留優(yōu)先級(jí)值比所述內(nèi)核保留優(yōu)先級(jí)值相應(yīng)于較高保留優(yōu)先級(jí)。
20.一種用于處理數(shù)據(jù)的裝置,所述裝置包括: 多個(gè)源裝置,所述多個(gè)源裝置用于產(chǎn)生存儲(chǔ)器存取請(qǐng)求; 緩存存儲(chǔ)器裝置,所述緩存存儲(chǔ)器裝置用于存儲(chǔ)數(shù)據(jù);以及 緩存控制裝置,所述緩存控制裝置用于控制緩存行到所述緩存存儲(chǔ)器裝置的插入以及緩存行從所述緩存存儲(chǔ)器裝置的逐出,其中 所述緩存控制裝置被配置來存儲(chǔ)與被插入到所述緩存存儲(chǔ)器裝置中的每個(gè)緩存行相關(guān)聯(lián)的各保留優(yōu)先級(jí)值; 所述緩存控制裝置被配置來根據(jù)所述保留優(yōu)先級(jí)值從所述緩存存儲(chǔ)器裝置中用于逐出的緩存行;以及 所述緩存控制裝置被配置來根據(jù)以下至少一項(xiàng)設(shè)置與插入到所述緩存存儲(chǔ)器裝置中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值: (i)所述多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致所述緩存行插入到所述緩存存儲(chǔ)器裝置中的存儲(chǔ)器存取請(qǐng)求;以及 (?)所述存儲(chǔ)器存取請(qǐng)求的權(quán)限級(jí)別。
21.—種處理數(shù)據(jù)的方法,所述方法包括如下步驟: 以多個(gè)源產(chǎn)生存儲(chǔ)器存取請(qǐng)求; 在緩存存儲(chǔ)器中存儲(chǔ)數(shù)據(jù); 控制緩存行到所述緩存存儲(chǔ)器的插入以及緩存行從所述緩存存儲(chǔ)器的逐出,所述方法還包括如下步驟: 存儲(chǔ)與插入到所述緩存存儲(chǔ)器中的每個(gè)緩存行相關(guān)聯(lián)的各保留優(yōu)先級(jí)值; 根據(jù)所述保留優(yōu)先級(jí)值從所述緩存存儲(chǔ)器中選擇用于逐出的緩存行;以及 根據(jù)以下至少一項(xiàng)設(shè)置與插入到所述緩存存儲(chǔ)器中的緩存行相關(guān)聯(lián)的保留優(yōu)先級(jí)值: (i)所述多個(gè)源中的哪個(gè)發(fā)送了導(dǎo)致所述緩存行插入所述緩存存儲(chǔ)器的存儲(chǔ)器存取請(qǐng)求;以及 (?)所述存儲(chǔ)器 存取請(qǐng)求的權(quán)限級(jí)別。
【文檔編號(hào)】G06F12/08GK103870394SQ201310680919
【公開日】2014年6月18日 申請(qǐng)日期:2013年12月12日 優(yōu)先權(quán)日:2012年12月13日
【發(fā)明者】帕瑞卡什·史昂萊·瑞恩萊卡亞妮, 阿里·格哈森·賽迪 申請(qǐng)人:Arm 有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南靖县| 佳木斯市| 和林格尔县| 怀宁县| 莱阳市| 迁安市| 韶关市| 关岭| 凌源市| 乌拉特后旗| 固始县| 响水县| 缙云县| 敦化市| 沭阳县| 绥宁县| 恩平市| 澄江县| 崇明县| 华亭县| 富顺县| 林口县| 隆回县| 阿拉善右旗| 固始县| 兴化市| 简阳市| 远安县| 枣阳市| 南投县| 武威市| 阜阳市| 商丘市| 汶川县| 绥阳县| 英德市| 盘山县| 商南县| 马关县| 顺平县| 文山县|