亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于通過(guò)停用有效陣列實(shí)現(xiàn)功率節(jié)省的方法

文檔序號(hào):6593537閱讀:241來(lái)源:國(guó)知局
專利名稱:用于通過(guò)停用有效陣列實(shí)現(xiàn)功率節(jié)省的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于識(shí)別高速緩沖存儲(chǔ)器中的選定條目是否有效的方法。更具 體來(lái)說(shuō),本發(fā)明涉及使用有效陣列來(lái)確定高速緩沖存儲(chǔ)器中的條目是否有效的方法。在 發(fā)現(xiàn)高速緩沖存儲(chǔ)器中的所有條目均有效之后,停用有效陣列。
背景技術(shù)
一種實(shí)施高速緩沖存儲(chǔ)器的方式依賴于單獨(dú)有效陣列的使用。有效陣列指示高 速緩沖存儲(chǔ)器內(nèi)的特定條目是否有效。通常,如現(xiàn)有技術(shù)中已知,對(duì)于對(duì)高速緩沖存儲(chǔ) 器進(jìn)行的每一存取,對(duì)有效陣列進(jìn)行讀取以在接受高速緩沖存儲(chǔ)器中的條目之前確定高 速緩沖存儲(chǔ)器條目是否有效。這意味著在每當(dāng)存取高速緩沖存儲(chǔ)器時(shí),需要對(duì)有效陣列 的單獨(dú)讀取。
然而,應(yīng)明了,一旦高速緩沖存儲(chǔ)器中的所有條目已被證實(shí)(即,高速緩沖存 儲(chǔ)器中的所有條目已被確定為有效),有效陣列就不再起作用。一旦高速緩沖存儲(chǔ)器中的 條目中的每一者被證實(shí),對(duì)有效陣列的進(jìn)一步讀取就不再產(chǎn)生除所有條目均有效的已確 定事實(shí)以外的任何結(jié)果。因此,對(duì)有效陣列的進(jìn)一步讀取不必要地消耗功率。對(duì)有效陣 列的任何進(jìn)一步讀取僅為重復(fù)先前的處理步驟。
如所屬領(lǐng)域的技術(shù)人員可了解,在高速緩沖存儲(chǔ)器中的所有條目已被證實(shí)之后 讀取有效陣列不必要地增加處理器所消耗的功率。這被認(rèn)為是浪費(fèi)的。
如所屬領(lǐng)域的技術(shù)人員應(yīng)了解,減少處理器時(shí)間及功率消耗的能力是所要的。 較少的處理器時(shí)間及較低的功率消耗促成較高效的處理器。發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)方面是改進(jìn)處理器的效率。
本發(fā)明的另一方面是通過(guò)減少在高速緩沖存儲(chǔ)器中的所有條目已被證實(shí)之后存 取有效陣列的次數(shù)來(lái)減少由處理器消耗的功率。
因此,本發(fā)明的一個(gè)特定方面是用以在高速緩沖存儲(chǔ)器中的所有條目已被證實(shí) 之后停用對(duì)有效陣列的讀取的指令的實(shí)施方案。
通過(guò)在高速緩沖存儲(chǔ)器中的條目已被證實(shí)之后停用對(duì)有效陣列的讀取,本發(fā)明 減少由存取所述高速緩沖存儲(chǔ)器的處理器消耗的功率。
因此,本發(fā)明的一方面是提供一種在程序控制下的用于停用對(duì)有效陣列的讀取 的方法及架構(gòu)。
本發(fā)明的另一方面是提供一種程序首先可借以確保所有條目均有效且接著停用 有效陣列的方法及機(jī)構(gòu)。
依據(jù)本文中所提供的論述,本發(fā)明的其它方面將變得顯而易見(jiàn)。


將結(jié)合并入本文中的圖式描述本發(fā)明的各個(gè)方面,圖式中
圖1是圖解說(shuō)明本發(fā)明的方法的一個(gè)實(shí)施例的第一部分的流程圖2是圖1中所圖解說(shuō)明的流程圖的繼續(xù),其提供本發(fā)明的方法的一個(gè)實(shí)施例的 第二部分;且
圖3是圖2中所圖解說(shuō)明的流程圖的繼續(xù),其提供本發(fā)明的方法的一個(gè)實(shí)施例的第三部分。
具體實(shí)施方式
現(xiàn)在將結(jié)合一個(gè)或一個(gè)以上實(shí)施例描述本發(fā)明。所描述的實(shí)施例不打算限制本 發(fā)明。相反,所述實(shí)施例打算說(shuō)明本發(fā)明的廣泛范圍。如所屬領(lǐng)域的技術(shù)人員應(yīng)了解, 存在實(shí)施例的可采用的眾多變化形式及等效形式。那些變化形式及等效形式打算歸屬于 本發(fā)明的范圍內(nèi)。
處理器中的高速緩沖存儲(chǔ)器結(jié)構(gòu)通常具有三( 個(gè)組件(1)標(biāo)簽陣列,(2)數(shù) 據(jù)陣列,及C3)有效陣列。出于此論述的目的,術(shù)語(yǔ)“處理器”打算廣泛地指代能夠執(zhí) 行指令(不論是經(jīng)由軟件還是經(jīng)由硬件)的任何裝置。因此,處理器包括作為常見(jiàn)實(shí)例 的計(jì)算機(jī)。如所屬領(lǐng)域的技術(shù)人員應(yīng)了解,處理器還可以是例如個(gè)人數(shù)據(jù)助理、蜂窩式 電話等的手持式裝置。
典型的高速緩沖存儲(chǔ)器可具有條目。每一條目可具有滬個(gè)字節(jié)的大小。 盡管這些參數(shù)是指典型的高速緩沖存儲(chǔ)器,但可采用具有與更大或更少數(shù)目的條目的高 速緩沖存儲(chǔ)器而并不背離本發(fā)明的范圍。此外,本發(fā)明不打算僅限于其中每一條目具有 2b個(gè)字節(jié)的大小的高速緩沖存儲(chǔ)器。所述條目可具有更大或更小的字節(jié)大小而并不背離 本發(fā)明的范圍。
在高速緩沖存儲(chǔ)器存取期間,可基于地址的位m+b-1到位b來(lái)存取標(biāo)簽陣列及 數(shù)據(jù)陣列。將從標(biāo)簽陣列讀取的內(nèi)容與地址的上部位進(jìn)行比較。對(duì)于32位地址,此比較 包括位31到位m+b。如果所述比較展現(xiàn)出內(nèi)容相同,那么認(rèn)為所述比較是成功的。照 一般說(shuō)法,此稱為高速緩沖存儲(chǔ)器中的“命中”。因此,可使用從數(shù)據(jù)陣列讀取的值。 否則,如果所述比較未展現(xiàn)出匹配,那么不認(rèn)為所述比較是成功的。在此情況下,稱已 存在“未命中”。因此,處理器必須采取進(jìn)一步的行動(dòng),其通常包含重新加載高速緩沖 存儲(chǔ)器條目。
如所屬領(lǐng)域的技術(shù)人員應(yīng)明了,且出于本文論述的目的,“命中”是指在高速 緩沖存儲(chǔ)器內(nèi)找到具有匹配標(biāo)簽的條目?!拔疵小笔侵冈诟咚倬彌_存儲(chǔ)器內(nèi)不有效或 其標(biāo)簽不匹配的條目。在條目不有效的情況下,需要進(jìn)一步的處理,包含高速緩沖存儲(chǔ) 器條目的重新加載,如上文所提及。
如果高速緩沖存儲(chǔ)器中的條目不有效或不具有匹配標(biāo)簽,那么重新加載所述高速緩沖存儲(chǔ)器。重新加載條目涉及(1)從由地址規(guī)定的存儲(chǔ)器位置讀取滬個(gè)字節(jié),
(2)將所述數(shù)據(jù)(即,所述2b個(gè)字節(jié))寫(xiě)入到由地址的位m+b-1到b規(guī)定的位 置處的數(shù)據(jù)陣列中,及(3)將地址的上部位寫(xiě)入到標(biāo)簽陣列中。
如所屬領(lǐng)域的技術(shù)人員應(yīng)了解,假定任一特定條目的標(biāo)簽值,有可能確定所述 條目對(duì)應(yīng)于的存儲(chǔ)器地址。換句話說(shuō),有可能確定來(lái)自特定存儲(chǔ)器位置的正存儲(chǔ)于數(shù)據(jù) 陣列中的值。另外,如應(yīng)明了,對(duì)于多個(gè)條目,有可能確定來(lái)自數(shù)個(gè)存儲(chǔ)器位置的正存 儲(chǔ)于數(shù)據(jù)陣列中的值。
當(dāng)啟動(dòng)處理器時(shí)或?qū)ζ溥M(jìn)行復(fù)位之后,標(biāo)簽及數(shù)據(jù)陣列通常保持隨機(jī)值。特定 來(lái)說(shuō),任一條目的數(shù)據(jù)值可不匹配由所述條目的標(biāo)簽值確定的存儲(chǔ)器地址的內(nèi)容。此不 匹配呈現(xiàn)出通過(guò)使用有效陣列來(lái)解決的問(wèn)題。
有效陣列包含高速緩沖存儲(chǔ)器中的每一條目的位。在復(fù)位之后或在處理器啟動(dòng) 之后,即刻將有效陣列中的所有位清除為0。如果存取高速緩沖存儲(chǔ)器條目,且有效陣列 中的位為0,那么將所述高速緩沖存儲(chǔ)器條目的存取視為“未命中”。如上文所提及, 接著重新加載所述高速緩沖存儲(chǔ)器條目。在重新加載所述高速緩沖存儲(chǔ)器條目之后,將 有效位設(shè)定為1。
一旦將有效位設(shè)定為1,就不能將所述位設(shè)定為0或復(fù)位為0直到執(zhí)行下一復(fù)位 指令或啟動(dòng)指令為止。因此,如果有必要,那么有效陣列僅直到已重新加載每一高速緩 沖存儲(chǔ)器條目一次才提供有用功能。在已重新加載高速緩沖存儲(chǔ)器條目中的每一者一次 之后,將把有效陣列中的所有條目設(shè)定為1。一旦有效陣列達(dá)到此狀態(tài)或條件,對(duì)有效陣 列的任何進(jìn)一步讀取就不會(huì)起到進(jìn)一步的作用。換句話說(shuō),一旦將有效陣列中的所有位 設(shè)定為1,就再也沒(méi)有任何理由來(lái)讀取所述有效陣列。任何后續(xù)讀取將返回相同結(jié)果。
如上文所提及,在現(xiàn)有技術(shù)中,通常甚至在已將有效陣列中的所有位設(shè)定為1 之后也存取所述有效陣列。如應(yīng)明了,對(duì)有效陣列的這些讀取不必要地消耗功率。
本發(fā)明通過(guò)提供有效控制位以及其它特征來(lái)避免對(duì)有效陣列中的位的不必要讀 取。每一高速緩沖存儲(chǔ)器的有效控制位可存儲(chǔ)于控制寄存器中。正執(zhí)行的程序在執(zhí)行期 間向控制寄存器寫(xiě)入。在啟動(dòng)之后或在執(zhí)行復(fù)位指令之后,即刻將有效控制位設(shè)定為0。
當(dāng)有效控制位為0時(shí),程序認(rèn)識(shí)到高速緩沖存儲(chǔ)器中的所有條目并未均被證 實(shí)。因此,所述程序根據(jù)三個(gè)控制參數(shù)進(jìn)行操作。首先,針對(duì)每一高速緩沖存儲(chǔ)器存 取讀取有效陣列。其次,如果有效陣列中的位被設(shè)定為0,那么將存取視為未命中。再 次,如果有效陣列中的位被設(shè)定為1,那么基于標(biāo)簽比較將存取視為命中或未命中。換句 話說(shuō),在將有效控制位設(shè)定為1之前,所述程序至少相對(duì)于有效陣列根據(jù)傳統(tǒng)準(zhǔn)則進(jìn)行 操作。
然而,當(dāng)將有效控制位設(shè)定為1時(shí),所述程序根據(jù)不同行為組進(jìn)行操作。首 先,停用有效高速緩沖存儲(chǔ)器陣列讀取。其次,基于標(biāo)簽比較將存取視為命中或未命 中。
以下在代碼段#1中顯示使用控制位的高速緩沖存儲(chǔ)器存取的偽代碼中的命中或 未命中邏輯的一個(gè)可能實(shí)施方案。出于代碼段#1的目的,假定地址為32個(gè)位長(zhǎng)且高速 緩沖存儲(chǔ)器包含各自為16個(gè)字節(jié)的256個(gè)條目。
代碼段#1
entry = address[ll:4];
if(valid_control = 1)
valid_bit = 1 ;
else
valid_bit = valid_array[entry];
if (address[31:12] == tag_array [entry])
tag_hit = 1 ;
else
tag_hit = 0 ;
hit = tag_hit & valid_bit ;
為利用有效控制位,處理器必須確保有效陣列中的所有位均為1。所述處理器可 通過(guò)執(zhí)行接觸或檢查高速緩沖存儲(chǔ)器中的所有條目的程序來(lái)進(jìn)行此操作。對(duì)于指令高速 緩沖存儲(chǔ)器,此涉及運(yùn)行執(zhí)行來(lái)自高速緩沖存儲(chǔ)器中的每一條目的指令的代碼序列。對(duì) 于數(shù)據(jù)高速緩沖存儲(chǔ)器,此涉及運(yùn)行讀取來(lái)自高速緩沖存儲(chǔ)器中的每一條目的存儲(chǔ)器位 置的代碼序列。在所述程序已運(yùn)行完這些代碼序列之后,其可針對(duì)對(duì)應(yīng)高速緩沖存儲(chǔ)器 設(shè)定有效控制位。
在上文所描述的架構(gòu)及方法的替代方案中,涵蓋有效控制位及有效陣列條目可 操作使得反轉(zhuǎn)0與1的使用。在此替代方法中,有效控制位最初可為1。在此實(shí)例中, 一旦所有條目被證實(shí),就可將有效控制位設(shè)定為0。對(duì)于有效陣列,可將所有條目初始化 為0。在此情況下,一旦條目被證實(shí),就可將所述條目改變?yōu)?。還涵蓋歸屬于本發(fā)明 的范圍內(nèi)的其它變化形式。
組相關(guān)聯(lián)高速緩沖存儲(chǔ)器
組相關(guān)聯(lián)高速緩沖存儲(chǔ)器呈現(xiàn)出相對(duì)于本發(fā)明的方法的額外挑戰(zhàn)。
可非常類(lèi)似于上文所描述的直接映射高速緩沖存儲(chǔ)器地處理組相關(guān)聯(lián)高速緩沖 存儲(chǔ)器。在N路組相關(guān)聯(lián)高速緩沖存儲(chǔ)器中,存在具有針對(duì)每一條目的標(biāo)簽陣列及有效 位的N個(gè)數(shù)據(jù)陣列組。通常,并行地存取所有這些陣列,且將N個(gè)標(biāo)簽值中的每一者與 地址的上部位進(jìn)行比較。使用N個(gè)有效位來(lái)確定對(duì)應(yīng)條目是否有效。通常,預(yù)期在此情 形中有效標(biāo)簽比較中的至多一者會(huì)成功。如果這樣,那么將其視為命中且使用對(duì)應(yīng)于匹 配標(biāo)簽的數(shù)據(jù)陣列值。否則,高速緩沖存儲(chǔ)器存取為未命中且將地址重新加載到高速緩 沖存儲(chǔ)器中。選擇所述條目的一個(gè)標(biāo)簽陣列或數(shù)據(jù)陣列組且將所重新加載的地址或數(shù)據(jù) 寫(xiě)入到所述組。
為了使我們的解決方案可應(yīng)用于組相關(guān)聯(lián)高速緩沖存儲(chǔ)器,需要建立保證已重 新加載高速緩沖存儲(chǔ)器中的所有條目的序列。替換策略的知識(shí)(即,當(dāng)重新加載時(shí),所 述重新加載將進(jìn)入到哪一組中)對(duì)于產(chǎn)生此序列來(lái)說(shuō)是關(guān)鍵的。例如,如果重新加載策 略是完全隨機(jī)的,那么不存在保證所有條目中的所有組將被存取且借此被設(shè)定為有效條 件或狀態(tài)的序列。
對(duì)于稱為L(zhǎng)RU(最近最少使用)的常見(jiàn)替換策略,用于將所有位設(shè)定為有效條件 的序列是簡(jiǎn)單明了的。對(duì)于N路組相關(guān)聯(lián)高速緩沖存儲(chǔ)器,所述程序存取對(duì)應(yīng)于每一條 目的N個(gè)地址。

一些處理器支持使高速緩沖存儲(chǔ)器條目無(wú)效的高速緩沖存儲(chǔ)器沖洗指令。如果 借助清除所述高速緩沖存儲(chǔ)器條目的有效位來(lái)實(shí)施此指令,那么程序另外確保將有效控 制位設(shè)定為0。其接著可運(yùn)行額外代碼序列以確保將無(wú)效位復(fù)位為1,且接著將有效控制 位設(shè)定回到0。
硬件控制的
盡管此論述的焦點(diǎn)一直在使用基于軟件的有效控制位的概念上,但可使用硬件 來(lái)實(shí)現(xiàn)相同結(jié)果。如所屬領(lǐng)域的技術(shù)人員鑒于前文論述應(yīng)了解,可設(shè)計(jì)其中有效控制陣 列將其所有位“與”運(yùn)算在一起的硬件。如果“與”運(yùn)算的結(jié)果為1,那么所述陣列 中的所有位均為1,且不再需要存取所述陣列。如所屬領(lǐng)域的技術(shù)人員可了解,可使用“或”操作數(shù)來(lái)替代“與”操作數(shù)而并不背離本發(fā)明的范圍。
現(xiàn)在參考圖式中的圖1到3。圖1到3圖解說(shuō)明本發(fā)明的一個(gè)實(shí)施例。
參考圖1,方法10在12處開(kāi)始。方法10既定由處理器執(zhí)行以用于存取高速緩 沖存儲(chǔ)器。如上文所提及,高速緩沖存儲(chǔ)器包含標(biāo)簽陣列、數(shù)據(jù)陣列及有效陣列。在14 處,方法10在處理器復(fù)位或啟動(dòng)之后即刻將所述有效陣列中的所有有效陣列條目設(shè)定為 第一陣列值。方法10繼續(xù)進(jìn)行到16,其中每當(dāng)存取來(lái)自所述數(shù)據(jù)陣列的數(shù)據(jù)陣列條目 時(shí)所述方法就從所述有效陣列讀取一有效陣列條目。在16之后,方法10在兩個(gè)單獨(dú)路 徑之間進(jìn)行選擇。在18處,如果有效陣列條目為第一陣列值,那么將對(duì)所述高速緩沖存 儲(chǔ)器的存取視為未命中,此指示所述條目無(wú)效。如果這樣,那么在20處,從存儲(chǔ)器重新 加載所述高速緩沖存儲(chǔ)器且將所述有效陣列條目設(shè)定為第二陣列值。順著另一路徑,在 22處,如果所述有效陣列條目為第二陣列值,那么將所述標(biāo)簽陣列中的標(biāo)簽陣列條目與 地址中的選定位進(jìn)行比較以確定所述數(shù)據(jù)陣列條目是命中還是未命中。命中指示有效條 目而未命中指示無(wú)效條目。在圖1中,提供也標(biāo)示為“A”的過(guò)渡塊對(duì)以指示方法10 在圖2中繼續(xù)。
在圖1中,包括16、18、20及22的點(diǎn)線邊界沈既定傳達(dá)在所述有效陣列中的 所有條目已被證實(shí)之前的間隔期間執(zhí)行這四個(gè)操作。
參考圖2,方法10繼續(xù)進(jìn)行到觀,其中為所述高速緩沖存儲(chǔ)器建立有效控制寄 存器。在30處,在所有有效陣列條目被證實(shí)之前將所述有效控制寄存器設(shè)定為第一控制 值。在32處,在所有有效陣列條目被證實(shí)之后將所述有效控制寄存器設(shè)定為第二控制 值。也標(biāo)示為“B”的第二過(guò)渡塊34指示方法10在圖3中繼續(xù)。
參考圖3,方法10在36處繼續(xù),其中在設(shè)定所述第二控制值之后,停用對(duì)所述 有效陣列的讀取。在38處,在停用對(duì)所述有效陣列的讀取之后,將所述標(biāo)簽陣列條目與 所述地址中的選定位進(jìn)行比較以確定所述數(shù)據(jù)陣列條目是命中還是未命中。在40處,在 未命中的情況下,從存儲(chǔ)器重新加載所述高速緩沖存儲(chǔ)器。所述方法在42處結(jié)束。點(diǎn) 線邊界44既定指示在所有有效陣列條目已被證實(shí)之后的間隔期間執(zhí)行操作36、38及40。
如上文所提及,在方法10的一個(gè)所涵蓋變化形式中,所述數(shù)據(jù)陣列可包括2"個(gè) 條目,所述數(shù)據(jù)陣列條目中的每一者可包括滬個(gè)字節(jié),且可存在地址的總數(shù)目2a。當(dāng) 然,所述數(shù)據(jù)陣列及所述條目也可具有更大或更小大小而并不背離本發(fā)明的范圍。
在方法10的變化形式中,將所述標(biāo)簽陣列與所述地址中的上部位進(jìn)行比較?;蛘?,在使用具有滬個(gè)字節(jié)的2m個(gè)條目的情況下,涵蓋將所述標(biāo)簽陣列條目與所述地址的 位a-Ι到m+b進(jìn)行比較。如果所述地址為32位地址,那么將所述標(biāo)簽陣列與所述地址 中的位31到m+b進(jìn)行比較。
關(guān)于數(shù)據(jù)條目的重新加載,涵蓋重新加載涉及數(shù)個(gè)操作。首先,從由所述地址 規(guī)定的存儲(chǔ)器位置讀取滬個(gè)字節(jié)。其次,將所述滬個(gè)字節(jié)寫(xiě)入到由所述地址的位m+b-1 到b規(guī)定的數(shù)據(jù)陣列條目。再次,將來(lái)自所述地址的上部位a到m+b寫(xiě)入到對(duì)應(yīng)標(biāo)簽陣 列條目。還涵蓋歸屬于本發(fā)明的范圍內(nèi)的其它所涵蓋重新加載操作。
關(guān)于有效控制寄存器,涵蓋所述寄存器為一位寄存器。類(lèi)似地,涵蓋所有有效 陣列條目為單位條目。
出于本發(fā)明的目的,所述高速緩沖存儲(chǔ)器可以是數(shù)據(jù)高速緩沖存儲(chǔ)器,或者其 可以是指令高速緩沖存儲(chǔ)器。所述高速緩沖存儲(chǔ)器也可以是具有N個(gè)數(shù)據(jù)陣列組的組相 關(guān)聯(lián)高速緩沖存儲(chǔ)器。如果這樣,那么可并行地存取所述N個(gè)數(shù)據(jù)陣列組中的每一者。
關(guān)于方法10,如果在已將有效陣列條目設(shè)定為第二陣列值之后所述數(shù)據(jù)陣列條 目隨后變?yōu)闊o(wú)效,那么方法10涵蓋將所述有效陣列條目復(fù)位為第一陣列值。如依據(jù)前文 應(yīng)了解,如果有效控制寄存器含有第二控制值,那么將所述有效控制寄存器復(fù)位為含有 第一控制值。
在針對(duì)方法10所涵蓋的變化形式中,通過(guò)組合所有有效陣列條目來(lái)建立第二控 制值。
如依據(jù)上文論述可了解,方法10涵蓋經(jīng)由硬件來(lái)組合所有有效陣列條目。在采 用硬件的情況下,可經(jīng)由“與”操作數(shù)或“或”操作數(shù)來(lái)組合所有有效陣列條目。在 采用“與”操作數(shù)的情況下,第一陣列值為0,第二陣列值為1,第一控制值為0且第二 控制值為1。在使用“或”操作數(shù)的情況下,第一陣列值為1,第二陣列值為0,第一控 制值為1且第二控制值為0。
在所述方法的另一所涵蓋變化形式中,響應(yīng)于由處理器執(zhí)行的指令而建立第二 控制值。
方法10也可包含證實(shí)強(qiáng)制操作。證實(shí)強(qiáng)制操作強(qiáng)制有效陣列的證實(shí)。證實(shí)強(qiáng) 制指令包含讀取預(yù)定地址序列、將所有有效陣列條目設(shè)定為第二陣列值及將有效控制寄 存器設(shè)定為第二控制值。在證實(shí)強(qiáng)制操作的變化形式中,可以預(yù)定地址序列執(zhí)行指令, 借此將所有有效陣列條目設(shè)定為第二陣列值。接著,可將有效控制寄存器設(shè)定為第二控 制值。
所屬領(lǐng)域的技術(shù)人員基于上文所描述的實(shí)施例應(yīng)明了本發(fā)明的其它實(shí)施例及變 化形式,不論是經(jīng)由方法還是經(jīng)由硬件。那些變化形式及等效形式打算歸屬于本發(fā)明的 范圍內(nèi)。
權(quán)利要求
1.一種由處理器執(zhí)行的用于存取高速緩沖存儲(chǔ)器的方法,其中所述高速緩沖存儲(chǔ)器 包括標(biāo)簽陣列、數(shù)據(jù)陣列及有效陣列,所述方法包括在處理器復(fù)位或啟動(dòng)之后,即刻將所述有效陣列中的所有有效陣列條目設(shè)定為第一 陣列值;在所有有效陣列條目被證實(shí)之前,每當(dāng)存取來(lái)自所述數(shù)據(jù)陣列的數(shù)據(jù)陣列條目時(shí),就從所述有效陣列讀取有效陣列條目,如果所述有效陣列條目為所述第一陣列值,那么將對(duì)所述高速緩沖存儲(chǔ)器的存取視 為未命中如果所述有效陣列條目為第二陣列值,那么將所述標(biāo)簽陣列中的標(biāo)簽陣列條目與地 址中的選定位進(jìn)行比較以確定所述數(shù)據(jù)陣列條目是命中還是未命中,及在未命中的情況下,從存儲(chǔ)器重新加載所述高速緩沖存儲(chǔ)器,并將所述有效陣列條 目設(shè)定為所述第二陣列值;為所述高速緩沖存儲(chǔ)器建立有效控制寄存器;在所有有效陣列條目被證實(shí)之前,將所述有效控制寄存器設(shè)定為第一控制值; 在所有有效陣列條目被證實(shí)之后,將所述有效控制寄存器設(shè)定為第二控制值;及 在設(shè)定所述第二控制值之后, 停用對(duì)所述有效陣列的讀取將所述標(biāo)簽陣列條目與所述地址中的所述選定位進(jìn)行比較以確定所述數(shù)據(jù)陣列條目 是命中還是未命中,及在未命中的情況下,從存儲(chǔ)器重新加載所述高速緩沖存儲(chǔ)器。
2.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)陣列包括2"個(gè)條目,所述數(shù)據(jù)陣列條 目中的每一者包括滬個(gè)字節(jié),且地址的總數(shù)目為2%其中m為整數(shù),a為整數(shù)且b為整 數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其中所述有效控制寄存器包括一個(gè)位。
4.根據(jù)權(quán)利要求1所述的方法,其中所有所述有效陣列條目包括一個(gè)位。
5.根據(jù)權(quán)利要求2所述的方法,其中將所述標(biāo)簽陣列條目與所述地址的位a-Ι到m+b 進(jìn)行比較。
6.根據(jù)權(quán)利要求5所述的方法,其中 所述地址為32位地址,且將所述標(biāo)簽陣列與所述地址中的位31到m+b進(jìn)行比較。
7.根據(jù)權(quán)利要求1所述的方法,其中將所述標(biāo)簽陣列與所述地址中的上部位進(jìn)行比較。
8.根據(jù)權(quán)利要求1所述的方法,其中所述重新加載包括 從由所述地址規(guī)定的存儲(chǔ)器位置讀取2b個(gè)字節(jié);將所述滬個(gè)字節(jié)寫(xiě)入到由所述地址的位m+b-Ι到b規(guī)定的數(shù)據(jù)陣列條目;及 將來(lái)自所述地址的上部位a到m+b寫(xiě)入到對(duì)應(yīng)標(biāo)簽陣列條目, 其中a、b及m全部為整數(shù)。
9.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲(chǔ)器為數(shù)據(jù)高速緩沖存儲(chǔ)器。
10.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲(chǔ)器為指令高速緩沖存儲(chǔ)器且 所述數(shù)據(jù)陣列包括指令。
11.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲(chǔ)器為具有N個(gè)數(shù)據(jù)陣列組的 組相關(guān)聯(lián)高速緩沖存儲(chǔ)器,其中N為整數(shù),且其中并行地存取所述N個(gè)數(shù)據(jù)陣列組中的每一者。
12.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括如果在已將所述有效陣列條目設(shè)定為所述第二陣列值之后,所述數(shù)據(jù)陣列條目隨后 變?yōu)闊o(wú)效,那么將所述有效陣列條目復(fù)位為所述第一陣列值;且如果所述有效控制寄存器含有所述第二控制值,那么將所述有效控制寄存器復(fù)位為 含有所述第一控制值。
13.根據(jù)權(quán)利要求1所述的方法,其中通過(guò)組合所有所述有效陣列條目來(lái)建立所述第 二控制值。
14.根據(jù)權(quán)利要求1所述的方法,其中經(jīng)由硬件來(lái)組合所述所有所述有效陣列條目。
15.根據(jù)權(quán)利要求14所述的方法,其中所述第一陣列值為0,所述第二陣列值為1, 所述第一控制值為0,所述第二控制值為1,且經(jīng)由“與”操作數(shù)來(lái)組合所有所述有效陣 列條目。
16.根據(jù)權(quán)利要求14所述的方法,其中所述第一陣列值為1,所述第二陣列值為0, 所述第一控制值為1,所述第二控制值為0,且經(jīng)由“或”操作數(shù)來(lái)組合所有所述有效陣 列條目。
17.根據(jù)權(quán)利要求1所述的方法,其中響應(yīng)于由所述處理器執(zhí)行的指令而建立所述第二控制值。
18.根據(jù)權(quán)利要求17所述的方法,其進(jìn)一步包括 執(zhí)行證實(shí)強(qiáng)制指令,其包括讀取預(yù)定地址序列,將所有所述有效陣列條目設(shè)定為所述第二陣列值,及 將所述有效控制寄存器設(shè)定為所述第二控制值。
19.根據(jù)權(quán)利要求17所述的方法,其進(jìn)一步包括 執(zhí)行證實(shí)強(qiáng)制指令,其包括以預(yù)定地址序列執(zhí)行指令,借此將所有有效陣列條目設(shè)定為所述第二陣列值,及將 所述有效控制寄存器設(shè)定為所述第二控制值。
全文摘要
本發(fā)明描述一種供在存取高速緩沖存儲(chǔ)器時(shí)使用的方法。在所有有效陣列條目被證實(shí)之前,在存取數(shù)據(jù)陣列條目時(shí)讀取有效陣列條目。如果所述有效陣列條目為第一陣列值,那么將對(duì)所述高速緩沖存儲(chǔ)器的存取視為無(wú)效且重新加載所述數(shù)據(jù)陣列條目。如果所述有效陣列條目為第二陣列值,那么將標(biāo)簽陣列條目與地址進(jìn)行比較以確定所述數(shù)據(jù)陣列條目是有效還是無(wú)效。有效控制寄存器在所有有效陣列條目被證實(shí)之前含有第一控制值,且在所有有效陣列條目被證實(shí)之后含有第二控制值。在建立所述第二控制值之后,停用對(duì)所述有效陣列的讀取且將所述標(biāo)簽陣列條目與所述地址進(jìn)行比較以確定數(shù)據(jù)陣列條目是有效還是無(wú)效。
文檔編號(hào)G06F12/08GK102027456SQ200980117103
公開(kāi)日2011年4月20日 申請(qǐng)日期2009年3月12日 優(yōu)先權(quán)日2008年3月13日
發(fā)明者亞瑟·約瑟夫·霍內(nèi) 申請(qǐng)人:阿斯奔收購(gòu)公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1