專利名稱:用于通過停用有效陣列實現(xiàn)功率節(jié)省的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于識別高速緩沖存儲器中的選定條目是否有效的方法。更具 體來說,本發(fā)明涉及使用有效陣列來確定高速緩沖存儲器中的條目是否有效的方法。在 發(fā)現(xiàn)高速緩沖存儲器中的所有條目均有效之后,停用有效陣列。
背景技術(shù):
一種實施高速緩沖存儲器的方式依賴于單獨有效陣列的使用。有效陣列指示高 速緩沖存儲器內(nèi)的特定條目是否有效。通常,如現(xiàn)有技術(shù)中已知,對于對高速緩沖存儲 器進行的每一存取,對有效陣列進行讀取以在接受高速緩沖存儲器中的條目之前確定高 速緩沖存儲器條目是否有效。這意味著在每當存取高速緩沖存儲器時,需要對有效陣列 的單獨讀取。
然而,應(yīng)明了,一旦高速緩沖存儲器中的所有條目已被證實(即,高速緩沖存 儲器中的所有條目已被確定為有效),有效陣列就不再起作用。一旦高速緩沖存儲器中的 條目中的每一者被證實,對有效陣列的進一步讀取就不再產(chǎn)生除所有條目均有效的已確 定事實以外的任何結(jié)果。因此,對有效陣列的進一步讀取不必要地消耗功率。對有效陣 列的任何進一步讀取僅為重復(fù)先前的處理步驟。
如所屬領(lǐng)域的技術(shù)人員可了解,在高速緩沖存儲器中的所有條目已被證實之后 讀取有效陣列不必要地增加處理器所消耗的功率。這被認為是浪費的。
如所屬領(lǐng)域的技術(shù)人員應(yīng)了解,減少處理器時間及功率消耗的能力是所要的。 較少的處理器時間及較低的功率消耗促成較高效的處理器。發(fā)明內(nèi)容
因此,本發(fā)明的一個方面是改進處理器的效率。
本發(fā)明的另一方面是通過減少在高速緩沖存儲器中的所有條目已被證實之后存 取有效陣列的次數(shù)來減少由處理器消耗的功率。
因此,本發(fā)明的一個特定方面是用以在高速緩沖存儲器中的所有條目已被證實 之后停用對有效陣列的讀取的指令的實施方案。
通過在高速緩沖存儲器中的條目已被證實之后停用對有效陣列的讀取,本發(fā)明 減少由存取所述高速緩沖存儲器的處理器消耗的功率。
因此,本發(fā)明的一方面是提供一種在程序控制下的用于停用對有效陣列的讀取 的方法及架構(gòu)。
本發(fā)明的另一方面是提供一種程序首先可借以確保所有條目均有效且接著停用 有效陣列的方法及機構(gòu)。
依據(jù)本文中所提供的論述,本發(fā)明的其它方面將變得顯而易見。
將結(jié)合并入本文中的圖式描述本發(fā)明的各個方面,圖式中
圖1是圖解說明本發(fā)明的方法的一個實施例的第一部分的流程圖2是圖1中所圖解說明的流程圖的繼續(xù),其提供本發(fā)明的方法的一個實施例的 第二部分;且
圖3是圖2中所圖解說明的流程圖的繼續(xù),其提供本發(fā)明的方法的一個實施例的第三部分。
具體實施方式
現(xiàn)在將結(jié)合一個或一個以上實施例描述本發(fā)明。所描述的實施例不打算限制本 發(fā)明。相反,所述實施例打算說明本發(fā)明的廣泛范圍。如所屬領(lǐng)域的技術(shù)人員應(yīng)了解, 存在實施例的可采用的眾多變化形式及等效形式。那些變化形式及等效形式打算歸屬于 本發(fā)明的范圍內(nèi)。
處理器中的高速緩沖存儲器結(jié)構(gòu)通常具有三( 個組件(1)標簽陣列,(2)數(shù) 據(jù)陣列,及C3)有效陣列。出于此論述的目的,術(shù)語“處理器”打算廣泛地指代能夠執(zhí) 行指令(不論是經(jīng)由軟件還是經(jīng)由硬件)的任何裝置。因此,處理器包括作為常見實例 的計算機。如所屬領(lǐng)域的技術(shù)人員應(yīng)了解,處理器還可以是例如個人數(shù)據(jù)助理、蜂窩式 電話等的手持式裝置。
典型的高速緩沖存儲器可具有條目。每一條目可具有滬個字節(jié)的大小。 盡管這些參數(shù)是指典型的高速緩沖存儲器,但可采用具有與更大或更少數(shù)目的條目的高 速緩沖存儲器而并不背離本發(fā)明的范圍。此外,本發(fā)明不打算僅限于其中每一條目具有 2b個字節(jié)的大小的高速緩沖存儲器。所述條目可具有更大或更小的字節(jié)大小而并不背離 本發(fā)明的范圍。
在高速緩沖存儲器存取期間,可基于地址的位m+b-1到位b來存取標簽陣列及 數(shù)據(jù)陣列。將從標簽陣列讀取的內(nèi)容與地址的上部位進行比較。對于32位地址,此比較 包括位31到位m+b。如果所述比較展現(xiàn)出內(nèi)容相同,那么認為所述比較是成功的。照 一般說法,此稱為高速緩沖存儲器中的“命中”。因此,可使用從數(shù)據(jù)陣列讀取的值。 否則,如果所述比較未展現(xiàn)出匹配,那么不認為所述比較是成功的。在此情況下,稱已 存在“未命中”。因此,處理器必須采取進一步的行動,其通常包含重新加載高速緩沖 存儲器條目。
如所屬領(lǐng)域的技術(shù)人員應(yīng)明了,且出于本文論述的目的,“命中”是指在高速 緩沖存儲器內(nèi)找到具有匹配標簽的條目?!拔疵小笔侵冈诟咚倬彌_存儲器內(nèi)不有效或 其標簽不匹配的條目。在條目不有效的情況下,需要進一步的處理,包含高速緩沖存儲 器條目的重新加載,如上文所提及。
如果高速緩沖存儲器中的條目不有效或不具有匹配標簽,那么重新加載所述高速緩沖存儲器。重新加載條目涉及(1)從由地址規(guī)定的存儲器位置讀取滬個字節(jié),
(2)將所述數(shù)據(jù)(即,所述2b個字節(jié))寫入到由地址的位m+b-1到b規(guī)定的位 置處的數(shù)據(jù)陣列中,及(3)將地址的上部位寫入到標簽陣列中。
如所屬領(lǐng)域的技術(shù)人員應(yīng)了解,假定任一特定條目的標簽值,有可能確定所述 條目對應(yīng)于的存儲器地址。換句話說,有可能確定來自特定存儲器位置的正存儲于數(shù)據(jù) 陣列中的值。另外,如應(yīng)明了,對于多個條目,有可能確定來自數(shù)個存儲器位置的正存 儲于數(shù)據(jù)陣列中的值。
當啟動處理器時或?qū)ζ溥M行復(fù)位之后,標簽及數(shù)據(jù)陣列通常保持隨機值。特定 來說,任一條目的數(shù)據(jù)值可不匹配由所述條目的標簽值確定的存儲器地址的內(nèi)容。此不 匹配呈現(xiàn)出通過使用有效陣列來解決的問題。
有效陣列包含高速緩沖存儲器中的每一條目的位。在復(fù)位之后或在處理器啟動 之后,即刻將有效陣列中的所有位清除為0。如果存取高速緩沖存儲器條目,且有效陣列 中的位為0,那么將所述高速緩沖存儲器條目的存取視為“未命中”。如上文所提及, 接著重新加載所述高速緩沖存儲器條目。在重新加載所述高速緩沖存儲器條目之后,將 有效位設(shè)定為1。
一旦將有效位設(shè)定為1,就不能將所述位設(shè)定為0或復(fù)位為0直到執(zhí)行下一復(fù)位 指令或啟動指令為止。因此,如果有必要,那么有效陣列僅直到已重新加載每一高速緩 沖存儲器條目一次才提供有用功能。在已重新加載高速緩沖存儲器條目中的每一者一次 之后,將把有效陣列中的所有條目設(shè)定為1。一旦有效陣列達到此狀態(tài)或條件,對有效陣 列的任何進一步讀取就不會起到進一步的作用。換句話說,一旦將有效陣列中的所有位 設(shè)定為1,就再也沒有任何理由來讀取所述有效陣列。任何后續(xù)讀取將返回相同結(jié)果。
如上文所提及,在現(xiàn)有技術(shù)中,通常甚至在已將有效陣列中的所有位設(shè)定為1 之后也存取所述有效陣列。如應(yīng)明了,對有效陣列的這些讀取不必要地消耗功率。
本發(fā)明通過提供有效控制位以及其它特征來避免對有效陣列中的位的不必要讀 取。每一高速緩沖存儲器的有效控制位可存儲于控制寄存器中。正執(zhí)行的程序在執(zhí)行期 間向控制寄存器寫入。在啟動之后或在執(zhí)行復(fù)位指令之后,即刻將有效控制位設(shè)定為0。
當有效控制位為0時,程序認識到高速緩沖存儲器中的所有條目并未均被證 實。因此,所述程序根據(jù)三個控制參數(shù)進行操作。首先,針對每一高速緩沖存儲器存 取讀取有效陣列。其次,如果有效陣列中的位被設(shè)定為0,那么將存取視為未命中。再 次,如果有效陣列中的位被設(shè)定為1,那么基于標簽比較將存取視為命中或未命中。換句 話說,在將有效控制位設(shè)定為1之前,所述程序至少相對于有效陣列根據(jù)傳統(tǒng)準則進行 操作。
然而,當將有效控制位設(shè)定為1時,所述程序根據(jù)不同行為組進行操作。首 先,停用有效高速緩沖存儲器陣列讀取。其次,基于標簽比較將存取視為命中或未命 中。
以下在代碼段#1中顯示使用控制位的高速緩沖存儲器存取的偽代碼中的命中或 未命中邏輯的一個可能實施方案。出于代碼段#1的目的,假定地址為32個位長且高速 緩沖存儲器包含各自為16個字節(jié)的256個條目。
代碼段#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。所述處理器可 通過執(zhí)行接觸或檢查高速緩沖存儲器中的所有條目的程序來進行此操作。對于指令高速 緩沖存儲器,此涉及運行執(zhí)行來自高速緩沖存儲器中的每一條目的指令的代碼序列。對 于數(shù)據(jù)高速緩沖存儲器,此涉及運行讀取來自高速緩沖存儲器中的每一條目的存儲器位 置的代碼序列。在所述程序已運行完這些代碼序列之后,其可針對對應(yīng)高速緩沖存儲器 設(shè)定有效控制位。
在上文所描述的架構(gòu)及方法的替代方案中,涵蓋有效控制位及有效陣列條目可 操作使得反轉(zhuǎn)0與1的使用。在此替代方法中,有效控制位最初可為1。在此實例中, 一旦所有條目被證實,就可將有效控制位設(shè)定為0。對于有效陣列,可將所有條目初始化 為0。在此情況下,一旦條目被證實,就可將所述條目改變?yōu)?。還涵蓋歸屬于本發(fā)明 的范圍內(nèi)的其它變化形式。
組相關(guān)聯(lián)高速緩沖存儲器
組相關(guān)聯(lián)高速緩沖存儲器呈現(xiàn)出相對于本發(fā)明的方法的額外挑戰(zhàn)。
可非常類似于上文所描述的直接映射高速緩沖存儲器地處理組相關(guān)聯(lián)高速緩沖 存儲器。在N路組相關(guān)聯(lián)高速緩沖存儲器中,存在具有針對每一條目的標簽陣列及有效 位的N個數(shù)據(jù)陣列組。通常,并行地存取所有這些陣列,且將N個標簽值中的每一者與 地址的上部位進行比較。使用N個有效位來確定對應(yīng)條目是否有效。通常,預(yù)期在此情 形中有效標簽比較中的至多一者會成功。如果這樣,那么將其視為命中且使用對應(yīng)于匹 配標簽的數(shù)據(jù)陣列值。否則,高速緩沖存儲器存取為未命中且將地址重新加載到高速緩 沖存儲器中。選擇所述條目的一個標簽陣列或數(shù)據(jù)陣列組且將所重新加載的地址或數(shù)據(jù) 寫入到所述組。
為了使我們的解決方案可應(yīng)用于組相關(guān)聯(lián)高速緩沖存儲器,需要建立保證已重 新加載高速緩沖存儲器中的所有條目的序列。替換策略的知識(即,當重新加載時,所 述重新加載將進入到哪一組中)對于產(chǎn)生此序列來說是關(guān)鍵的。例如,如果重新加載策 略是完全隨機的,那么不存在保證所有條目中的所有組將被存取且借此被設(shè)定為有效條 件或狀態(tài)的序列。
對于稱為LRU(最近最少使用)的常見替換策略,用于將所有位設(shè)定為有效條件 的序列是簡單明了的。對于N路組相關(guān)聯(lián)高速緩沖存儲器,所述程序存取對應(yīng)于每一條 目的N個地址。
碰
一些處理器支持使高速緩沖存儲器條目無效的高速緩沖存儲器沖洗指令。如果 借助清除所述高速緩沖存儲器條目的有效位來實施此指令,那么程序另外確保將有效控 制位設(shè)定為0。其接著可運行額外代碼序列以確保將無效位復(fù)位為1,且接著將有效控制 位設(shè)定回到0。
硬件控制的
盡管此論述的焦點一直在使用基于軟件的有效控制位的概念上,但可使用硬件 來實現(xiàn)相同結(jié)果。如所屬領(lǐng)域的技術(shù)人員鑒于前文論述應(yīng)了解,可設(shè)計其中有效控制陣 列將其所有位“與”運算在一起的硬件。如果“與”運算的結(jié)果為1,那么所述陣列 中的所有位均為1,且不再需要存取所述陣列。如所屬領(lǐng)域的技術(shù)人員可了解,可使用“或”操作數(shù)來替代“與”操作數(shù)而并不背離本發(fā)明的范圍。
現(xiàn)在參考圖式中的圖1到3。圖1到3圖解說明本發(fā)明的一個實施例。
參考圖1,方法10在12處開始。方法10既定由處理器執(zhí)行以用于存取高速緩 沖存儲器。如上文所提及,高速緩沖存儲器包含標簽陣列、數(shù)據(jù)陣列及有效陣列。在14 處,方法10在處理器復(fù)位或啟動之后即刻將所述有效陣列中的所有有效陣列條目設(shè)定為 第一陣列值。方法10繼續(xù)進行到16,其中每當存取來自所述數(shù)據(jù)陣列的數(shù)據(jù)陣列條目 時所述方法就從所述有效陣列讀取一有效陣列條目。在16之后,方法10在兩個單獨路 徑之間進行選擇。在18處,如果有效陣列條目為第一陣列值,那么將對所述高速緩沖存 儲器的存取視為未命中,此指示所述條目無效。如果這樣,那么在20處,從存儲器重新 加載所述高速緩沖存儲器且將所述有效陣列條目設(shè)定為第二陣列值。順著另一路徑,在 22處,如果所述有效陣列條目為第二陣列值,那么將所述標簽陣列中的標簽陣列條目與 地址中的選定位進行比較以確定所述數(shù)據(jù)陣列條目是命中還是未命中。命中指示有效條 目而未命中指示無效條目。在圖1中,提供也標示為“A”的過渡塊對以指示方法10 在圖2中繼續(xù)。
在圖1中,包括16、18、20及22的點線邊界沈既定傳達在所述有效陣列中的 所有條目已被證實之前的間隔期間執(zhí)行這四個操作。
參考圖2,方法10繼續(xù)進行到觀,其中為所述高速緩沖存儲器建立有效控制寄 存器。在30處,在所有有效陣列條目被證實之前將所述有效控制寄存器設(shè)定為第一控制 值。在32處,在所有有效陣列條目被證實之后將所述有效控制寄存器設(shè)定為第二控制 值。也標示為“B”的第二過渡塊34指示方法10在圖3中繼續(xù)。
參考圖3,方法10在36處繼續(xù),其中在設(shè)定所述第二控制值之后,停用對所述 有效陣列的讀取。在38處,在停用對所述有效陣列的讀取之后,將所述標簽陣列條目與 所述地址中的選定位進行比較以確定所述數(shù)據(jù)陣列條目是命中還是未命中。在40處,在 未命中的情況下,從存儲器重新加載所述高速緩沖存儲器。所述方法在42處結(jié)束。點 線邊界44既定指示在所有有效陣列條目已被證實之后的間隔期間執(zhí)行操作36、38及40。
如上文所提及,在方法10的一個所涵蓋變化形式中,所述數(shù)據(jù)陣列可包括2"個 條目,所述數(shù)據(jù)陣列條目中的每一者可包括滬個字節(jié),且可存在地址的總數(shù)目2a。當 然,所述數(shù)據(jù)陣列及所述條目也可具有更大或更小大小而并不背離本發(fā)明的范圍。
在方法10的變化形式中,將所述標簽陣列與所述地址中的上部位進行比較?;蛘?,在使用具有滬個字節(jié)的2m個條目的情況下,涵蓋將所述標簽陣列條目與所述地址的 位a-Ι到m+b進行比較。如果所述地址為32位地址,那么將所述標簽陣列與所述地址 中的位31到m+b進行比較。
關(guān)于數(shù)據(jù)條目的重新加載,涵蓋重新加載涉及數(shù)個操作。首先,從由所述地址 規(guī)定的存儲器位置讀取滬個字節(jié)。其次,將所述滬個字節(jié)寫入到由所述地址的位m+b-1 到b規(guī)定的數(shù)據(jù)陣列條目。再次,將來自所述地址的上部位a到m+b寫入到對應(yīng)標簽陣 列條目。還涵蓋歸屬于本發(fā)明的范圍內(nèi)的其它所涵蓋重新加載操作。
關(guān)于有效控制寄存器,涵蓋所述寄存器為一位寄存器。類似地,涵蓋所有有效 陣列條目為單位條目。
出于本發(fā)明的目的,所述高速緩沖存儲器可以是數(shù)據(jù)高速緩沖存儲器,或者其 可以是指令高速緩沖存儲器。所述高速緩沖存儲器也可以是具有N個數(shù)據(jù)陣列組的組相 關(guān)聯(lián)高速緩沖存儲器。如果這樣,那么可并行地存取所述N個數(shù)據(jù)陣列組中的每一者。
關(guān)于方法10,如果在已將有效陣列條目設(shè)定為第二陣列值之后所述數(shù)據(jù)陣列條 目隨后變?yōu)闊o效,那么方法10涵蓋將所述有效陣列條目復(fù)位為第一陣列值。如依據(jù)前文 應(yīng)了解,如果有效控制寄存器含有第二控制值,那么將所述有效控制寄存器復(fù)位為含有 第一控制值。
在針對方法10所涵蓋的變化形式中,通過組合所有有效陣列條目來建立第二控 制值。
如依據(jù)上文論述可了解,方法10涵蓋經(jīng)由硬件來組合所有有效陣列條目。在采 用硬件的情況下,可經(jīng)由“與”操作數(shù)或“或”操作數(shù)來組合所有有效陣列條目。在 采用“與”操作數(shù)的情況下,第一陣列值為0,第二陣列值為1,第一控制值為0且第二 控制值為1。在使用“或”操作數(shù)的情況下,第一陣列值為1,第二陣列值為0,第一控 制值為1且第二控制值為0。
在所述方法的另一所涵蓋變化形式中,響應(yīng)于由處理器執(zhí)行的指令而建立第二 控制值。
方法10也可包含證實強制操作。證實強制操作強制有效陣列的證實。證實強 制指令包含讀取預(yù)定地址序列、將所有有效陣列條目設(shè)定為第二陣列值及將有效控制寄 存器設(shè)定為第二控制值。在證實強制操作的變化形式中,可以預(yù)定地址序列執(zhí)行指令, 借此將所有有效陣列條目設(shè)定為第二陣列值。接著,可將有效控制寄存器設(shè)定為第二控 制值。
所屬領(lǐng)域的技術(shù)人員基于上文所描述的實施例應(yīng)明了本發(fā)明的其它實施例及變 化形式,不論是經(jīng)由方法還是經(jīng)由硬件。那些變化形式及等效形式打算歸屬于本發(fā)明的 范圍內(nèi)。
權(quán)利要求
1.一種由處理器執(zhí)行的用于存取高速緩沖存儲器的方法,其中所述高速緩沖存儲器 包括標簽陣列、數(shù)據(jù)陣列及有效陣列,所述方法包括在處理器復(fù)位或啟動之后,即刻將所述有效陣列中的所有有效陣列條目設(shè)定為第一 陣列值;在所有有效陣列條目被證實之前,每當存取來自所述數(shù)據(jù)陣列的數(shù)據(jù)陣列條目時,就從所述有效陣列讀取有效陣列條目,如果所述有效陣列條目為所述第一陣列值,那么將對所述高速緩沖存儲器的存取視 為未命中如果所述有效陣列條目為第二陣列值,那么將所述標簽陣列中的標簽陣列條目與地 址中的選定位進行比較以確定所述數(shù)據(jù)陣列條目是命中還是未命中,及在未命中的情況下,從存儲器重新加載所述高速緩沖存儲器,并將所述有效陣列條 目設(shè)定為所述第二陣列值;為所述高速緩沖存儲器建立有效控制寄存器;在所有有效陣列條目被證實之前,將所述有效控制寄存器設(shè)定為第一控制值; 在所有有效陣列條目被證實之后,將所述有效控制寄存器設(shè)定為第二控制值;及 在設(shè)定所述第二控制值之后, 停用對所述有效陣列的讀取將所述標簽陣列條目與所述地址中的所述選定位進行比較以確定所述數(shù)據(jù)陣列條目 是命中還是未命中,及在未命中的情況下,從存儲器重新加載所述高速緩沖存儲器。
2.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)陣列包括2"個條目,所述數(shù)據(jù)陣列條 目中的每一者包括滬個字節(jié),且地址的總數(shù)目為2%其中m為整數(shù),a為整數(shù)且b為整 數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其中所述有效控制寄存器包括一個位。
4.根據(jù)權(quán)利要求1所述的方法,其中所有所述有效陣列條目包括一個位。
5.根據(jù)權(quán)利要求2所述的方法,其中將所述標簽陣列條目與所述地址的位a-Ι到m+b 進行比較。
6.根據(jù)權(quán)利要求5所述的方法,其中 所述地址為32位地址,且將所述標簽陣列與所述地址中的位31到m+b進行比較。
7.根據(jù)權(quán)利要求1所述的方法,其中將所述標簽陣列與所述地址中的上部位進行比較。
8.根據(jù)權(quán)利要求1所述的方法,其中所述重新加載包括 從由所述地址規(guī)定的存儲器位置讀取2b個字節(jié);將所述滬個字節(jié)寫入到由所述地址的位m+b-Ι到b規(guī)定的數(shù)據(jù)陣列條目;及 將來自所述地址的上部位a到m+b寫入到對應(yīng)標簽陣列條目, 其中a、b及m全部為整數(shù)。
9.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲器為數(shù)據(jù)高速緩沖存儲器。
10.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲器為指令高速緩沖存儲器且 所述數(shù)據(jù)陣列包括指令。
11.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲器為具有N個數(shù)據(jù)陣列組的 組相關(guān)聯(lián)高速緩沖存儲器,其中N為整數(shù),且其中并行地存取所述N個數(shù)據(jù)陣列組中的每一者。
12.根據(jù)權(quán)利要求1所述的方法,其進一步包括如果在已將所述有效陣列條目設(shè)定為所述第二陣列值之后,所述數(shù)據(jù)陣列條目隨后 變?yōu)闊o效,那么將所述有效陣列條目復(fù)位為所述第一陣列值;且如果所述有效控制寄存器含有所述第二控制值,那么將所述有效控制寄存器復(fù)位為 含有所述第一控制值。
13.根據(jù)權(quán)利要求1所述的方法,其中通過組合所有所述有效陣列條目來建立所述第 二控制值。
14.根據(jù)權(quán)利要求1所述的方法,其中經(jīng)由硬件來組合所述所有所述有效陣列條目。
15.根據(jù)權(quán)利要求14所述的方法,其中所述第一陣列值為0,所述第二陣列值為1, 所述第一控制值為0,所述第二控制值為1,且經(jīng)由“與”操作數(shù)來組合所有所述有效陣 列條目。
16.根據(jù)權(quán)利要求14所述的方法,其中所述第一陣列值為1,所述第二陣列值為0, 所述第一控制值為1,所述第二控制值為0,且經(jīng)由“或”操作數(shù)來組合所有所述有效陣 列條目。
17.根據(jù)權(quán)利要求1所述的方法,其中響應(yīng)于由所述處理器執(zhí)行的指令而建立所述第二控制值。
18.根據(jù)權(quán)利要求17所述的方法,其進一步包括 執(zhí)行證實強制指令,其包括讀取預(yù)定地址序列,將所有所述有效陣列條目設(shè)定為所述第二陣列值,及 將所述有效控制寄存器設(shè)定為所述第二控制值。
19.根據(jù)權(quán)利要求17所述的方法,其進一步包括 執(zhí)行證實強制指令,其包括以預(yù)定地址序列執(zhí)行指令,借此將所有有效陣列條目設(shè)定為所述第二陣列值,及將 所述有效控制寄存器設(shè)定為所述第二控制值。
全文摘要
本發(fā)明描述一種供在存取高速緩沖存儲器時使用的方法。在所有有效陣列條目被證實之前,在存取數(shù)據(jù)陣列條目時讀取有效陣列條目。如果所述有效陣列條目為第一陣列值,那么將對所述高速緩沖存儲器的存取視為無效且重新加載所述數(shù)據(jù)陣列條目。如果所述有效陣列條目為第二陣列值,那么將標簽陣列條目與地址進行比較以確定所述數(shù)據(jù)陣列條目是有效還是無效。有效控制寄存器在所有有效陣列條目被證實之前含有第一控制值,且在所有有效陣列條目被證實之后含有第二控制值。在建立所述第二控制值之后,停用對所述有效陣列的讀取且將所述標簽陣列條目與所述地址進行比較以確定數(shù)據(jù)陣列條目是有效還是無效。
文檔編號G06F12/08GK102027456SQ200980117103
公開日2011年4月20日 申請日期2009年3月12日 優(yōu)先權(quán)日2008年3月13日
發(fā)明者亞瑟·約瑟夫·霍內(nèi) 申請人:阿斯奔收購公司