專利名稱:多通道成組聯(lián)合高速緩沖存儲器的加鎖控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高速緩沖存儲器領(lǐng)域。更特別地,本發(fā)明涉及在高速緩沖存儲 器內(nèi)對加鎖操作的控制。
技術(shù)背景多通道成組聯(lián)合(multi-way set associative)高速緩沖存儲器是公知的。在 這種存儲器中,提供多個高速緩沖通道,每一個高速緩沖通道包括多條高速緩 沖線以及每一條高速緩沖線存儲取自相應(yīng)的存儲器地址的多個字節(jié)的數(shù)據(jù)。來 自給定存儲器地址的數(shù)據(jù)一般可以存儲在任意高速緩沖通道內(nèi),其中所述高速 緩沖線依賴相關(guān)的存儲器地址的一部分(索引部分)而選擇。這就是公知的多 通道成組齢高速緩沖存儲靴為。這樣的高速緩沖存儲器內(nèi)的加鎖機(jī)構(gòu)也是公知的。這些加鎖機(jī)構(gòu)通過向高 速緩沖通道載入特定的數(shù)據(jù)(不管是特定的指令還是特定的數(shù)據(jù)值)并且標(biāo)記 高速緩沖通道使得存儲在其中的數(shù)據(jù)在高速緩沖存儲器的繼續(xù)使用期間不會被 替換。其他要被高速緩沖的數(shù)據(jù)將被存儲并且隨后在高速緩沖通道中收回,但 是在鎖定的高速緩沖通道內(nèi)的數(shù)據(jù)將仍然存儲在緩沖內(nèi)并且對于快速存取可 用。這種加鎖機(jī)制的典型用途是將性能關(guān)鍵指令存儲在鎖定的高速緩沖通道內(nèi), 使得在需要這些指令的時候它們可以從高速緩沖謝尋到。關(guān)鍵的中斷處理代碼 會成為示例指令,其可能在高速緩沖鵬中被加鎖以便在需要的時候在可預(yù)期 時間量中快速可得。發(fā)明內(nèi)容從本發(fā)明的一個方面看去,提供了一種多通道成組聯(lián)合高速緩沖存儲器, 具有響應(yīng)可編程加鎖數(shù)據(jù)的加鎖控制電路,用于選擇性地提供在至少一個高速 緩沖通道內(nèi)的鎖定部分和未鎖定部分。本技術(shù)認(rèn)為,在許多情況下,以高速緩沖通道粒度加鎖高速緩沖存儲器的 使用是低效率的。可能的是,實際上只有高速緩沖通道的一部分用于存儲想要 加鎖并且在高速緩沖存儲器中是永久可用的數(shù)據(jù)。利用通道粒度,高速緩沖通道的乘除部分不能用在以降低高速緩沖存儲器的效率的方式的正常緩沖操作 中。本技術(shù)通過提供由力嫩電路能夠控制至少一個高速緩沖通道以包括鎖定部 分和未鎖定部分來識別并解決該問題。因此,能夠?qū)⑾胍渔i和在高速緩沖器 中7乂久可用的數(shù)據(jù)存儲在高速緩沖通道的鎖定部分,并且高速緩沖通道的剩余 部分能被未鎖定并且可用在用于數(shù)據(jù)的瞬時存儲的正常緩沖操作中。高速緩沖 存儲器設(shè)備在電路面積和功率開銷方面相對昂貴,并且因此依據(jù)本技術(shù)來改進(jìn) 對所提供的資源的利用是有禾啲。應(yīng)該理解的是,如果高速緩沖通道簡單分成會,選擇性地鎖定或未鎖定的 固定尺寸部分和剩余的永久未鎖定部分,本技術(shù)纟娥供一些優(yōu)點,同時,當(dāng)鎖 定部分和未鎖定部分具有由可編程加鎖數(shù)據(jù)指定的各自可變尺寸時,本技術(shù)的靈活性和有效性得到改進(jìn)。以這種方式,鎖定部分的尺寸能夠調(diào)節(jié)到想要儲存 在該鎖定部分內(nèi)的數(shù)據(jù)的實際尺寸。同時可能的是,鎖定部分和未鎖定部分的尺寸能夠由可編程加鎖數(shù)據(jù)單獨 指定,如果這些尺寸之一是由可編程加鎖數(shù)據(jù)所指定并且另一尺寸由相關(guān)的剩 余高速緩沖M導(dǎo)出,這將是更有效的。i;U:面應(yīng)該理解的是,本技術(shù)只針對一個高il緩沖通道而能夠有效地^fOT ,同時依據(jù)本技術(shù),該技術(shù)和該高速緩沖存儲器的靈活性和有效性在每一個高速 緩沖通道可分成鎖定部分和未鎖定部分時得到改進(jìn)。以這種方式,例如,不同的高速緩沖通道可以以存儲數(shù)據(jù)的不同加鎖部分為目標(biāo),每一個M的鎖定部 分的各個尺寸被調(diào)整為以該方式存儲的數(shù)據(jù)的相應(yīng)尺寸。在每一個通道中獨立控制鎖定部分的尺寸的能力是所期望的,但是應(yīng)該理 解的是,即使鎖定部分的尺寸在提供鎖定部分的M上必須保持恒定,也會獲 得某優(yōu)點。同時應(yīng)該理解的是,可編程加鎖數(shù)據(jù)可以以各種不同形式表現(xiàn),有利的是 簡單和直接地提供鎖定數(shù)據(jù),具有指定每一個通道是否具有任何鎖定部分的數(shù) 據(jù)的,并且接著附加地^lz:指定這個鎖定部分的尺寸。如果沒有提供鎖定部分, 那么高速緩沖器可以按照傳統(tǒng)N ffiit成組^高速緩沖器來操作。在可編程加鎖數(shù)據(jù)內(nèi)的尺寸 能夠依據(jù)鎖定部分的尺寸,鎖定部分的 尺寸tt現(xiàn),但方便的是,依據(jù)鎖定部分的尺寸5tt現(xiàn)。鎖定部分可以以各種不同方式形成,例如高速緩沖線范圍,該高速緩沖線用指定的范圍中的頂部和底部高速緩沖線來鎖定。這樣的實現(xiàn)需要使用相對硬 件昂貴的全比較器。因此,有利的是,可以提供非常簡單的實現(xiàn),其中鎖定部 分是從預(yù)定位置(例如高速緩沖通道的一端)開始的高速緩沖線的鄰近成組并 且遍布于由成組數(shù)據(jù)(例如用于那個通道的鎖定部分的尺寸)指定的多個高速 緩沖線??梢蕴鎿Q的是〗OT掩碼類型布置,其中該成組數(shù)據(jù)包括指定預(yù)定區(qū)域 是否被鎖定的值(這樣的布置可以在需要一些特殊的實l/用途時用來于在高速 緩沖鵬內(nèi)提供非鄰近的鎖定部分)。提供了用于指定高速緩沖通道的鎖定部分 的加鎖機(jī)制,犧牲者選擇電路響應(yīng)通道內(nèi)的各個高速緩沖線的加鎖或非加鎖的 狀態(tài),以在它想要執(zhí)行線±真充(luiefill)操作時哪些高速緩沖線是潛在的高速緩 沖器犧牲者。例如可能是,特殊的線填充操作對應(yīng)于在所有高速緩沖通道中是 未鎖定的高速緩沖線集合,并且因此可能的高速緩沖線犧牲者的數(shù)量等于高速 緩沖M的數(shù)量??商鎿Q地,可能的是,有可能是高速緩沖線犧牲者的高速緩 沖線的一些或全部在高速緩沖通道中鎖定并且對于線填充)操作是不可用的。 如果所有高速緩沖線對于特殊高速緩沖線填充操作是不可用的,另卩么有可能是, 相關(guān)數(shù)據(jù)不能作為在高速緩沖存儲器中加鎖的數(shù)據(jù)而被高速緩存,這被認(rèn)為是 很重要的,盡管這種情況可能很少,并且更多情況下,布置高速緩沖器使得在一些瞎況下不可能在高速緩沖存儲器的任何地^m行線填充操作是一個缺點。依據(jù)本技術(shù)的犧牲者選擇電路響應(yīng)特殊的高速緩沖線填充在通道中要發(fā)生 的地方,以便確定該特殊的高速緩沖線是不是被鎖定。為了方便地為該附加能力提供相對低的5更件開銷,iM的技術(shù)重用至少部分加法器電路,該加法器電路通常用于執(zhí)行與將要使用本技術(shù)的許多系統(tǒng)內(nèi)的程序指令相聯(lián)合的加法操 作。除了響應(yīng)在各自通道內(nèi)的各個高速緩沖線的加鎖和未鎖定狀態(tài)之外,犧牲 者選擇電路還能夠響應(yīng)那些高速緩沖線是否存儲有效數(shù)據(jù)。當(dāng)相關(guān)的高速緩沖 線沒有存儲有效數(shù)據(jù)時,通常更好是對在通道內(nèi)的高速緩沖線執(zhí)行線填充,而不是從另一個高速緩沖M犧牲者收回有效數(shù)據(jù)。犧牲者選擇電路能夠是采用各種不同的形式并且通常將實現(xiàn)犧牲者選擇算 法,該算法可以是許多已知算法之一,或者算法的混合,例如隨1皿擇算法、 循環(huán)算法、最近最少使用算法和伏^t擇沒有存儲有效數(shù)據(jù)的高速緩沖線的算 法。還可能使用其它算法。從本發(fā)明的另一方面看去,提供了一種控帝眵通道成組齢高速緩沖存儲 器的方法,包括步驟響應(yīng)可編程加鎖數(shù)據(jù),選擇性地在至少一個高速緩沖通 道內(nèi)提供加鎖部分和未鎖定部分。本發(fā)明的,或其它目的、特征和優(yōu)勢在以下結(jié)合附圖理解的所示實施例 的詳細(xì)描述中是顯而易見的。
圖1示意性i標(biāo)出結(jié)合高速緩沖存儲器的數(shù)據(jù)處理系統(tǒng);圖2示意性ig出多通道成組i^高速緩沖存儲器;圖3示意性i標(biāo)出形成部分加鎖控制電路的多個可編程寄存器;圖4 ^意性地示出基于在特M道內(nèi)的高速緩沖線的未鎖定^fra鎖狀態(tài)來確定其是否可用的流程圖;以及圖5是示意性地示出確定特 1在作為線填充操作的候選者的高速緩沖 線內(nèi)是否存儲有效M的流程圖。
具體實施方式
圖1示意性地示出數(shù)據(jù)處理系統(tǒng)2,包括處理器內(nèi)核4、多通道成組聯(lián)合高 速緩沖存儲器6以及主存儲器8。該處理器內(nèi)核4包括 通路,該 通路包 含注冊文件IO、乘法器12、移位器14和加法器16。指令取出單元18從高速緩 沖存儲器6和主存儲器8取出指令并將這些指定提供到指令髓20,在此它們 由解碼器22解碼以產(chǎn)生用于控制 通路10、 12、 14、 16以及處理器內(nèi)核4 中的其它元件的控制信號。應(yīng)該理解的是,該M器內(nèi)核4將典型地包掛午多 進(jìn)一步的電路元件,但是為了清楚在圖l中省略了這些。存儲多個配置寄存器26的配置協(xié)處理器24也包括在處理器內(nèi)核4中。這 些配置寄存器26用來存儲指定明陛高速緩沖Mit包含招可鎖定部分以及在那些 高速緩沖通道內(nèi)的鎖定部分尺寸的可編程加鎖數(shù)據(jù)。因此,配置寄存器26形成 部分的加鎖控制電路,其中它們將其信號饋送到響應(yīng)加鎖數(shù)據(jù)的犧牲者選擇電 路(圖1中未示出),,從而不線填充如所指示的位于高速緩沖通道的鎖定部分 內(nèi)的高速緩沖線,。概括的說,操作圖l的 處理系統(tǒng)2操作用于執(zhí)4,呈序指 令以對數(shù)據(jù)值進(jìn)行數(shù)據(jù)處理操作。這些程序指令和數(shù)據(jù)值存儲在高速緩沖存儲 器6和主存儲器8中。頻繁使用的繊傲指令或需要用于快速存取的數(shù)據(jù)傲 指令被存儲和/働口鎖在高速緩沖存儲器6中。如果產(chǎn)生關(guān)于禾聘指令或 值的高速緩沖未命中,那么當(dāng)數(shù)據(jù)通過高速緩沖存儲器6被傳回到處理器內(nèi)核4時對主存儲器8進(jìn)行獲取(fetch)并且執(zhí)4亍線填充操作,使得相關(guān)的數(shù)據(jù)存儲在高速緩沖存儲器6中以供再次存取時使用。這種ara的布置在本技術(shù)領(lǐng)域是公知的并且在這里將不再進(jìn)一步描述。圖2更詳細(xì)ite意性示出多通道成組g高速緩沖存儲器。在該例子中, 高速緩沖存儲器6是具有高速緩沖通道W0、 Wl 、 W2以及W3的4通道高速 緩沖存儲器。在該例子中,每一個高速緩沖線28存儲64字節(jié)的 。因此, 虛擬地址VA[5:0]的下六位指定要存取的高速緩沖線28中的字節(jié)的。取決于特 定實現(xiàn),指令或者數(shù)據(jù)值可以是在字對準(zhǔn)、半字對準(zhǔn)或字節(jié)對準(zhǔn)的操縱方式而 被獲取。還應(yīng)該理解的是,高速緩沖線尺寸會,改變,并且64字節(jié)只是一個例 子。在該實例中,虛擬地址VA[12:6]的七位提供索引值,該索引值指定哪些高 速緩沖線是用于存儲來自該虛擬地址的數(shù)據(jù)值的候選者。更高順序的虛擬地址 位在正常通道中形成高速緩沖TAG值并且存儲在用于非比較和命中信號產(chǎn)生目 的的高速緩沖存儲器的高速緩沖TAG部分(未示出)。如圖2的特殊的例子所示,高速緩沖Mil WO和W2不受任意加鎖的影響 并且所有這些高速緩沖通道可用于在線填充時存儲數(shù)據(jù)。對比可知,高速緩沖 ilitWl受加鎖的影響并且具有鎖定部分30和未鎖定部分32。類似地,高速緩 沖通道W3具有鎖定部分34和未鎖定部分36。在所示例子中,高速緩沖通道 Wl的鎖定部分30的尺寸是32個高速緩沖線,而高速緩沖鵬W3的鎖定部分 34的尺寸是48個高速緩沖線。高速緩沖通道W1的未鎖定部分32的尺寸將是 96個高速緩沖線,這是那個高速緩沖M中的高速緩沖線的剩余部分,并且高 速緩沖通道W3的未鎖定部分36的尺寸將是80個高速緩沖線,同樣這是高速 緩沖通道W3的不4OT部分。^^理解的是,在高速緩沖M中的高速緩沖線 的數(shù)量還可以根據(jù)特殊設(shè)計實現(xiàn)而改變,與高速緩沖線內(nèi)的字節(jié)M能夠改變 的方式一樣。能夠選擇鎖定部分30和34使其尺寸與將在這里鎖定的數(shù)據(jù)(不 管是指令還是數(shù)據(jù)值)的尺寸相匹配。在該例子中,應(yīng)該理解的是,把要鎖定 的數(shù)據(jù)排歹贓存儲器地址空間中使其與通道邊沿對準(zhǔn)。有可能的是,可能通過 依據(jù)設(shè)置在相關(guān)高速緩沖通道的任意位置的高速緩沖線的范圍來指定鎖定部分 30,從而避免這種約束(盡管并不3錢照)。這樣的范圍可能用開始值和結(jié)束值 或者M(jìn)使用具有與部分的高速緩沖通M應(yīng)的掩碼位的掩碼itt指定。圖2示出犧牲者選擇電路48,用于實現(xiàn)犧牲者選擇算法(其可以是基于一個算法或算法組合的各種不同形式的算法,例如隨機(jī)算法、循環(huán)算法、最近最少使用算法、無效數(shù)據(jù)im數(shù)據(jù)算法或另一個算法)。當(dāng)發(fā)生高速緩沖未命中和/A^存儲器8獲取數(shù)據(jù)時,為了選擇在其中執(zhí)《譜填充操作的高速緩沖鵬, 為犧牲者選擇電路48提供各種輸入,織入包括未命中信號、指示哪些鵬包 含任何鎖定部分(WLi)的信號、指示在每一個通道(SLi[6: O])的任何鎖定 部分的尺寸的信號、弓胞高速緩沖未命中(VA[12: 6])的存儲單元的虛擬地址 的索弓l部分以及指示哪些通iOT于給定索引值包含有效數(shù)據(jù)(validi)的信號。 ^^這些輸入,犧牲者選擇電路48選擇一個高速緩沖通道,在其中在高速緩沖 未命中時執(zhí)行高速緩沖線填充操作。通過不選擇鎖定了相關(guān)高速緩沖線的通道, 犧牲者選擇電路48保留那些高速緩沖線的鎖定性質(zhì)。因此,在該例子中可以看 到配置寄存器26與犧牲者選擇電路48齢作用來提供加鎖控制電路。圖3、 4和5涉及具有64字節(jié)高速緩沖線長度的32KB尺寸的高速緩沖器 的示例實施例。圖3示意性地示出圖1的配置助、處理器24的一些配置寄存器26。在該例 子中,寄存器38作為其四個最低有效位包括t斜己,這些t射己指示圖2的示例實 施方式的四個高速緩沖通道是否包含任何鎖定部分。如果通道鎖定標(biāo)記 WL0-WL3等于"0",夷卩么相關(guān)的高速緩沖通道不包含任何鎖定部分,而如果值 為"1"那么它包含鎖定部分。寄存器40、 42、 44和46分別對應(yīng)于不同的高速 緩沖通道^V0W3并且作為其七個最低有效位包括尺寸,該尺寸執(zhí)行了一個指示 各自M的鎖定部分30、 34的成組數(shù)據(jù)尺寸的值。該7位值能指定0至U127之 間的數(shù)并且因此指定以單高速緩沖線粒度的鎖定部分30、 34的尺寸。將會理解 的是,本技術(shù)仍然可以有利地在更低粒度下使用。更一般地,指定值SU的尺 寸是SLi[S-l:0],其中S是在給定通道中可用成組的數(shù)目,例如對于具有4 S3I 的32KB高速緩沖器,ffiil以下給出成組的數(shù)目S=log2(32768/4 (鵬)/64(字節(jié)每線)4og2(128H 以及按以下可以得到VA[MB:B]的范圍B=log2 (字節(jié)每線)=log2 (64) =6MB=S-1+B=12圖4是示出犧牲者選擇電路48對于相應(yīng)于高速緩沖未命中的給定虛擬地址來說,如何根據(jù)通道的加鎖或未鎖定數(shù)據(jù)確定哪些通道可用于線填充的流程圖。在步驟50,處理等待著直至嚅要犧牲者選擇。在步驟5,鵬指示符設(shè)定為0 (對于N M成組聯(lián)合高速緩沖存儲器)。在步驟54,檢查用于當(dāng)前通道的通 道,WU,以查看它是否指示包含任何鎖定部分的Mit。如;M道MWLi 不等于"1",那么有關(guān)的通道不會包含任何鎖定繊,并且處理進(jìn)行到步驟56, 在這有關(guān)的鵬被標(biāo)記為可用。其后,處理進(jìn)行到步驟58,在Silit指示符增 加,并且在步驟60中觀賦是否到達(dá)了最后的通道。 一旦到達(dá)最后的鵬,那就 終止處理。如果在步驟54中確定相關(guān)的M包含鎖定部分(WLi—為真),那么步驟 62《頓相關(guān)的lt^地址(在該例子中,高速緩沖器被l^以尋址,但是可能的是 還使用物理高速緩沖器)的索引部分VA[12: 6沐再次比較用于相關(guān)通道的成組 數(shù)據(jù)SLi,從而確定索引是否位于該通道的鎖定部分的外部。能夠重用(至少部 分)加法器16以進(jìn)行該比較。如果相關(guān)索引位于鎖定部分的外部,那么處理再 次進(jìn)行到步驟56,其中通道被標(biāo)記為可用。如果索引不在鎖定部分的外部,那 么處理進(jìn)行到步驟54,其中通道被標(biāo)記為不可用,并且處理像之前那樣進(jìn)行到 步驟58。圖5示意性地示出對于給定索引值來說,如何確定不同通道是否包含用于 待決線填充的可能高速緩沖線的有效數(shù)據(jù)。在步驟66,處理等待著直到需要選 擇犧牲者。在步驟68,通道指示符設(shè)為O。在步驟70,確定用于與高速緩沖未 命中的索引值相對應(yīng)的高速緩沖線的有效標(biāo)記是否被設(shè)置為指示數(shù)據(jù)無效的 值。如果 是無效的,那么 進(jìn)行到步驟72,其中用于該高速緩沖M的 通道有效標(biāo)記被設(shè)置為指示無效性。然后處理進(jìn)行到步驟74,其中M指示符 增加,并且在步驟76中作出關(guān)于是否到達(dá)最后的通道的測試。如果在步驟70 確定通道不包含用于相關(guān)索引的有效i(^,那么在步驟78中這^fflil設(shè)置通道 有效指示符來標(biāo)記的,以指示用于待決線i真充的那個通道的高速緩沖線不包含 有效亂盡管圖3、 4禾口 5是用于一^lf殊示例尺寸/ISS,更一般地緩沖可以由通 道WL[N-1]…WL[3] WL[2] WL[l] WL[O]形成,其中N是高速緩沖通道的數(shù)量。 在這種情況下,指定值的尺寸由SL(n-l)[S-l:0]…SL(3)[S-l:0] SL(2)[S-1:0]SL(1)[S-1:0] SL(0)[S-1:0]給出,其中S是齡高速緩沖鵬的成組數(shù)量。在圖4中,步驟62可成為VA[S-l+B:B]〉SLi[S-l:0],并且在圖5中,步驟 70可成為Valid(X)[VA[S-l+B:B]]=0。盡管本發(fā)明的所示實施例已經(jīng)在此參考附圖詳細(xì)描述,可以理解的是,本 發(fā)明并非限定于那些精確實施例,并且本領(lǐng)域技術(shù)人員能夠在不脫離本發(fā)明的 附加權(quán)利要求中限定的范圍和精神的情況下實現(xiàn)各種改變和修改。
權(quán)利要求
1、一種多通道成組聯(lián)合高速緩沖存儲器,具有響應(yīng)可編程加鎖數(shù)據(jù)的加鎖控制電路,用于在至少一個高速緩沖通道中提供鎖定部分和未鎖定部分。
2、 如權(quán)利要求l所述的多通道成組聯(lián)合高速緩沖存儲器,其中所述鎖定部分和所述未鎖定部分具有由所述可編程力懶娜指定的各自可變尺寸。
3、 如權(quán)利要求2所述的多通道成組齢高速緩沖存儲器,其中所述可編程 加鎖數(shù)據(jù)指定所述鎖定部分和所述未鎖定部分中的一個的尺寸,所述鎖定部分 和所^鎖定部分中的所述另一個具有相應(yīng)于所述至少一個高速緩沖通道的剩 余部分的尺寸。
4、 如權(quán)利要求1所述的多通道成組聯(lián)合高速緩沖存儲器,其中所述多M 成組齢高速緩沖存儲器的每一個高速緩沖通道可通過所述加鎖控制電路響應(yīng) 所述可編程加鎖 進(jìn)^^力作而分成鎖定部分和未鎖定部分。
5、 如權(quán)利要求1所述的多通道成組^"高速緩沖存儲器,其中所述加鎖控 制電路和所述可編程加鎖數(shù)據(jù)規(guī)定了將被獨立指定的每一個高速緩沖通道的鎖 定部分和未鎖定部分的尺寸。
6、 如禾又利要求1所述的多通道成組^高速緩沖存儲器,其中所述可編程 加鎖 包括指定所述至少一個高速緩沖通道是否具有任何鎖定部分的通道數(shù) 據(jù)。
7、 如權(quán)利要求1所述的多通道成組^高速緩沖存儲器,其中所述可編程 加鎖 包括指定所述鎖定部分和未鎖定部分中至少一個的尺寸的成組數(shù)據(jù)。
8、 如權(quán)利要求7所述的多通道成組#高速緩沖存儲器,其中所述成組數(shù) 據(jù)指定所述鎖定部分的尺寸。
9、 如權(quán)利要求1所述的多通道成組f^高速緩沖存儲器,其中所述可編程 加鎖 將所述鎖定部分和所述未鎖定部分之一的尺寸指定為在從預(yù)定高速緩 沖線開始的所述至少一個高速緩沖通道內(nèi)的相鄰高速緩沖線的數(shù)量。
10、 如權(quán)利要求1所述的多通道成組齢高體沖存儲器,其中所述可編 程加鎖數(shù)據(jù)將所述鎖定部分和所述未鎖定部分之一的尺寸指定為掩碼值,所述 掩碼值的不同部分指定所述至少一個高速緩沖通道的相應(yīng)部分是所述鎖定部分 的一部分還是所 鎖定部分的一部分。
11、 如權(quán)利要求1所述的多通道成組齢高速緩沖存儲器,包括響應(yīng)有關(guān) 在存儲器地址處存儲的數(shù)據(jù)的高速緩沖未命中的犧牲者選擇電路,用于從各自 的高速緩沖通道內(nèi)的一個或多個可能犧牲者高速緩沖線之中選擇高速緩沖線, 以作為用于高速緩沖線填充操作的高速緩沖線犧牲者。
12、 如權(quán)利要求ll所述的多通道成組齢高速緩沖存儲器,其中所述犧牲 者選擇電路響應(yīng)所述存儲器地址的索弓l部分以確定在有關(guān)所述高速緩沖未命中 的所述至少一個高速緩沖通道內(nèi)用作高速緩沖線犧牲者的相應(yīng)高速緩沖線是否 在所述鎖定部分內(nèi),并且因lW于所述高速緩沖線填充操作是不可用的。
13、 如權(quán)利要求12所述的多fflit成組齢高速緩沖存儲器,其中當(dāng)iA^f述 索引部分確定所述高速緩沖線是否在所述鎖定部分內(nèi)時,所述犧牲者選擇電路 重用用于處理涉及加法操作的,旨指令的加法器電路的至少一部分。
14、 如權(quán)利要求ll所述的多通道成組齢高速緩沖存儲器,其中所述犧牲 者選擇電路響應(yīng)有效性數(shù)據(jù),該有效性數(shù)據(jù)指定所述一個或多個可能的犧牲者 高速緩沖線中的哪一個存儲有效 。
15、 如權(quán)利要求ll所述的多通道成組齢高速緩沖存儲器,其中所述犧牲 者選擇電路〗OT犧牲者選擇算法^^擇所述犧牲者高速緩沖線。
16、 如權(quán)利要求15所述的多M成組g高速緩沖存儲器,其中所述犧牲 者選擇算fefe括以下一個或多個算法隨禾腿擇算法; 循環(huán)選擇算法;以及 最近最少艦選擇算法。
17、 如權(quán)利要求14所述的多通道成組1^高 沖存儲器,其中所述犧牲 者選擇電路使用包括^ 擇沒有存儲有效數(shù)據(jù)的高速緩沖線的算法的犧牲者 選擇算法^擇所述犧牲者高速緩沖線。
18、 一種控制多通道成組聯(lián)合高速緩沖存儲器的方法,包括步驟響應(yīng)可 編程加鎖翻,在至少一個高速緩沖通道中選擇性提供鎖定部分和未鎖定部分。
19、 如權(quán)利要求17所述的方法,其中所述鎖定部分和所棘鎖定部分具有 由所述可編程加鎖數(shù)據(jù)指定的各自可,寸。
20、 如1X利要求19所述的方法,其中所述可編程加鎖 指定所述鎖定部 分和所述未鎖定部分中的一個的尺寸,所述鎖定部分和所g鎖定部分中的所述另一個具有相應(yīng)于所,少一個高速緩沖M的剩余部分的尺寸。
21、 如權(quán)利要求18所述的方法,其中所述多通道成組^緩沖的每一個高速緩沖通道響應(yīng)所述可編程加鎖數(shù)據(jù)而可分成鎖定部分和未鎖定部分。
22、 如權(quán)利要求18所述的方法,所述可編程加鎖 允許獨立地指定每一 個高速緩沖ffiit的鎖定部分和未鎖定部分的尺寸。
23、 如權(quán)利要求18所述的方法,其中所述可編程加鎖M包括指定所超 少一個高速緩沖M是否具有任何鎖定部分的Mit數(shù)據(jù)。
24、 如權(quán)禾腰求18所述的方法,其中所述可編程加鎖 包括成組繊, 該成組數(shù)據(jù)指定所述鎖定部分和所 鎖定部分中的至少一個的尺寸。
25、 如權(quán)利要求24所述的方法,其中所述成組 指定所述鎖定部分的尺寸。
26、 如權(quán)利要求18所述的方法,其中所述可編程加鎖繊將所述鎖定部分 和所,鎖定部分之一的尺寸指定為在從預(yù)定高速緩沖線開始的所述至少一個 高速緩沖通置內(nèi)的相鄰高速緩沖線的數(shù)量。
27、 如權(quán)利要求18所述的方法,其中所述可編程加鎖娜將所述鎖定部分 和所述未鎖定部分之一的尺寸指定為掩碼值,所述掩碼值的不同部分指定所述 至少一個高速緩沖通道的相應(yīng)部分是所述鎖定部分的一部分還是所述未鎖定部 分的一部分。
28、 如權(quán)利要求18所述的方法,包括響應(yīng)有關(guān)在存儲器地址處存儲的娜 的高速緩沖未命中,從各自的高速緩沖通道內(nèi)的一個或多個可能犧牲者高速緩 沖線之中選擇高速緩沖線,以作為用于高速緩沖線填充操作的高速緩沖線犧牲 者。
29、 如權(quán)利要求28所述的方法,其中響應(yīng)所述存儲器地址的索引部分,確 定在有關(guān)所述高速緩沖未命中的所述至少一個高速緩沖通道內(nèi)用作高速緩沖線 犧牲者的相應(yīng)高速緩沖線是否在所述鎖定部分內(nèi),并且因此對于所述高速緩沖 線填充操作是不可用的。
30、 如權(quán)利要求29所述的方法,其中/Ai^述索弓l部分確定所述高速緩沖線 是否在所述鎖定部分內(nèi),重用用于處理涉及加法操作的程序指令的加法器電路 的至少一部分。
31、 如權(quán)利要求28所述的方法,其中所述選擇響應(yīng)有效性數(shù)據(jù),該有消息過數(shù)據(jù)指定所述一個或多個可能的犧牲者高速緩沖線中的哪一個存儲有效數(shù) 據(jù)。
32、 如權(quán)利要求28所述的方法,其中所^^擇^OT犧牲者選擇算法。
33、 如權(quán)利要求32所述的方法,其中所述犧牲者選擇算纟跑括以下一個或 多個算法隨禾腿擇算法; 循環(huán)選擇算法;以及 最M少^fOT選擇算法。
34、 如權(quán)利要求31所述的方法,其中所鵬擇l頓包括tt^擇沒有存儲 有效 的高速緩沖線的算法的犧牲者選擇算法。
全文摘要
多通道成組聯(lián)合高速緩沖存儲器的加鎖控制。一種多通道成組聯(lián)合高速緩沖存儲器6,具有用于控制緩沖存儲器來存儲在高速緩沖存儲器6中存儲的數(shù)據(jù)的加鎖控制電路26、48(即,不容易收回)??删幊碳渔i數(shù)據(jù)38、40、42、44、46指定哪些通道包含任何鎖定部分并且還有鎖定部分的每一個通道內(nèi)的尺寸。因此,能夠部分鎖定各個高速緩沖通道。
文檔編號G06F12/12GK101226506SQ20071030669
公開日2008年7月23日 申請日期2007年12月14日 優(yōu)先權(quán)日2006年12月14日
發(fā)明者G·R·威廉斯三世 申請人:Arm有限公司