專利名稱:選擇替換用高速緩沖存儲(chǔ)器路的方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),更具體而言,涉及數(shù)據(jù)處理系統(tǒng)中的選擇性高速緩沖存儲(chǔ)器替換策略。
背景技術(shù):
由于例如便攜式和手持式應(yīng)用的廣泛使用,低功耗在數(shù)據(jù)處理系統(tǒng)中的重要性增加了。今天,有許多數(shù)據(jù)處理系統(tǒng)都使用位于集成電路上的更小更快更有效的存儲(chǔ)器,有時(shí)稱為高速緩沖存儲(chǔ)器,來減少訪問存儲(chǔ)器(如主存儲(chǔ)器或其它內(nèi)部或外部存儲(chǔ)器)的次數(shù)。與訪問其它內(nèi)部或外部存儲(chǔ)器相比,訪問高速緩沖存儲(chǔ)器通常消耗較少的功率,從而導(dǎo)致減少的等待時(shí)間。因此,為了降低功率和提高性能,期望將那些隨后會(huì)被再次請(qǐng)求的項(xiàng)存儲(chǔ)在更快更有效的高速緩沖存儲(chǔ)器中。
如果具有較高重用度的信息仍存在于高速緩沖存儲(chǔ)器中,那么當(dāng)具有較低重用度的信息替換它時(shí),會(huì)發(fā)生高速緩沖存儲(chǔ)器污染。即,通常具有較高重用度的項(xiàng)應(yīng)當(dāng)保留在高速緩沖存儲(chǔ)器中,因?yàn)樗鼈兏锌赡鼙辉俅握?qǐng)求(例如,再被請(qǐng)求多次)。例如,與其它信息相比,有些信息具有較短的生命周期,由于有可能在被較短生命周期信息替換后,較長生命周期信息必須從又慢又低效的內(nèi)部或外部存儲(chǔ)器中重取,因此由這種較短生命周期信息造成的高速緩沖存儲(chǔ)器污染會(huì)增加高速緩沖存儲(chǔ)器的功耗并降低其性能。但還是期望允許具有較短生命周期的信息受益于高速緩沖存儲(chǔ)器中的重用。因此,存在對(duì)改進(jìn)的高速緩沖存儲(chǔ)器的需求,其中可以降低高速緩沖存儲(chǔ)器污染,以便實(shí)現(xiàn)高速緩沖存儲(chǔ)器改進(jìn)的功耗和性能。
本發(fā)明是通過例子說明的,但不受附圖的限制,其中相同的標(biāo)號(hào)指示相似的元件,其中圖1以方框圖的形式說明了根據(jù)本發(fā)明一種實(shí)施方式的數(shù)據(jù)處理系統(tǒng);圖2以方框圖的形式說明了根據(jù)本發(fā)明一種實(shí)施方式的圖1高速緩沖存儲(chǔ)器的一部分;圖3以方框圖的形式說明了根據(jù)本發(fā)明一種實(shí)施方式的圖2高速緩沖存儲(chǔ)器控制電路的一部分;圖4以方框圖的形式說明了根據(jù)本發(fā)明一種實(shí)施方式的高速緩沖存儲(chǔ)器路控制寄存器的一部分;圖5以方框圖的形式說明了根據(jù)本發(fā)明可選實(shí)施方式的圖2高速緩沖存儲(chǔ)器控制電路的一部分;及圖6以方框圖的形式說明了根據(jù)本發(fā)明可選實(shí)施方式的圖2高速緩沖存儲(chǔ)器控制電路的一部分。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解圖中的元件是為了簡單和清晰而說明的,不必按比例繪制。例如,圖中有些元件的尺寸相對(duì)于其它元件有可能夸大了,以幫助提高對(duì)本發(fā)明實(shí)施方式的理解。
具體實(shí)施例方式
如在此所使用的,術(shù)語“總線”用來指多個(gè)可用于傳輸如數(shù)據(jù)、地址、控制或狀態(tài)的一種或多種不同類型信息的信號(hào)或?qū)w。如在此所討論的,導(dǎo)體可以參考單個(gè)導(dǎo)體、多個(gè)導(dǎo)體、單向?qū)w或雙向?qū)w來說明或描述。但是,不同的實(shí)施方式可以改變導(dǎo)體的實(shí)現(xiàn)。例如,可以使用單獨(dú)的單向?qū)w,而不使用雙向?qū)w,反之亦然。而且,多個(gè)導(dǎo)體可以用串行或以時(shí)間多路復(fù)用方式傳輸多信號(hào)的單個(gè)導(dǎo)體代替。同樣,攜帶多信號(hào)的單個(gè)導(dǎo)體可以被隔離成攜帶這些信號(hào)子集的各種不同導(dǎo)體。因此,對(duì)于傳輸信號(hào)存在許多選擇。
通常,高速緩沖存儲(chǔ)器的性能和功耗可以通過降低高速緩沖存儲(chǔ)器污染來改進(jìn)。如上所述,如果具有較高重用度的信息仍存在于高速緩沖存儲(chǔ)器中,那么當(dāng)具有較低重用度的信息替換它時(shí),會(huì)發(fā)生高速緩沖存儲(chǔ)器污染。本發(fā)明的一種實(shí)施方式通過控制各種類型信息在高速緩沖存儲(chǔ)器中的放置來降低高速緩沖存儲(chǔ)器污染。例如,不同類型的信息可以具有不同的生命周期。例如,與如多媒體、圖形或流數(shù)據(jù)的瞬變數(shù)據(jù)相比,指令和堆?;蚨褦?shù)據(jù)通常具有較長的生命周期。其它類型的信息還可以具有可變的生命周期。具有較長生命周期的信息通常具有較高的重用概率,因?yàn)橄嗤男畔⒏锌赡鼙辉俅握?qǐng)求。因此,如果當(dāng)請(qǐng)求時(shí)這些信息已經(jīng)在高速緩沖存儲(chǔ)器中了,那么效率就可以提高。但是,如果具有較短生命周期的信息不斷地替換具有較長生命周期的信息,那么在隨后對(duì)具有較長生命周期的信息進(jìn)行請(qǐng)求的時(shí)候,很有可能它已經(jīng)不在高速緩沖存儲(chǔ)器中了,因而必須從又慢又低效的存儲(chǔ)器中重取。注意,盡管如此,但還是期望允許具有較短生命周期的信息也受益于重用。因此,如下面將更加具體描述的,本發(fā)明的不同實(shí)施方式允許以可編程和靈活的方式控制信息在高速緩沖存儲(chǔ)器中的放置,以允許改進(jìn)的高速緩沖存儲(chǔ)器性能,并由此降低系統(tǒng)的功耗。
參考圖1,說明了數(shù)據(jù)處理系統(tǒng)10的一種實(shí)施方式。數(shù)據(jù)處理系統(tǒng)10包括集成電路12和外部存儲(chǔ)器14。集成電路12包括處理器16、高速緩沖存儲(chǔ)器18、總線接口22及其它模塊20。集成電路12還包括總線24和總線26??偩€24耦合處理器16、高速緩沖存儲(chǔ)器18、總線接口22及其它模塊20??偩€26將總線接口22耦合到外部存儲(chǔ)器14。盡管公開了數(shù)據(jù)處理系統(tǒng)10的特定的示例實(shí)施方式,但應(yīng)當(dāng)理解這種處理系統(tǒng)的各種配置和可選實(shí)施方式都可以實(shí)現(xiàn)。
例如,盡管高速緩沖存儲(chǔ)器18示為集成電路12的一部分,但高速緩沖存儲(chǔ)器18可選地可以位于集成電路12的外面,例如,位于外部存儲(chǔ)器14中。而且,注意集成電路12可以包括任意個(gè)數(shù)的處理器,如在多處理器數(shù)據(jù)處理系統(tǒng)中,而其它模塊20可以包括任何其它的外圍設(shè)備,如其它主機(jī)、從機(jī)或存儲(chǔ)器。而且,集成電路12可以包括任意個(gè)數(shù)的集成電路,使得集成電路12的不同部分可以位于不同的集成電路中,或者可選地,集成電路12可以是單個(gè)集成電路。而且,外部存儲(chǔ)器14可以位于和集成電路12相同的集成電路中,或者可以位于單獨(dú)的集成電路中。如以下參考圖2至5將要描述的,對(duì)數(shù)據(jù)處理系統(tǒng)10的討論只進(jìn)行到理解本發(fā)明實(shí)施方式所必需的程度。其余的功能在本領(lǐng)域中是已知的,因而可以本領(lǐng)域中已知的多種不同方式實(shí)現(xiàn)。
參考圖2,公開了高速緩沖存儲(chǔ)器18一部分的一種特定實(shí)施方式。高速緩沖存儲(chǔ)器18的這部分包括寄存器62、用于多路的標(biāo)記存儲(chǔ)器陣列42-48、用于多路的數(shù)據(jù)存儲(chǔ)器陣列50-56及高速緩沖存儲(chǔ)器控制電路58。訪問地址40是從總線24的地址部分接收的,具有標(biāo)記值部分64、索引部分66和字選擇部分68。例如,對(duì)于讀訪問,訪問地址40對(duì)應(yīng)于所請(qǐng)求信息(例如,數(shù)據(jù)或指令)的地址。在所說明的實(shí)施方式中,訪問地址40在接收到后存儲(chǔ)在寄存器62中。訪問地址40的標(biāo)記部分64包括提供給多路標(biāo)記陣列42-48的標(biāo)記值數(shù)據(jù)。來自索引部分66的數(shù)據(jù)既提供給多路標(biāo)記陣列42-48,又提供給多路數(shù)據(jù)陣列50-56,并用于提供對(duì)標(biāo)記和數(shù)據(jù)陣列的索引。例如,在一種實(shí)施方式中,索引部分66包括一組指示符來選擇每一路標(biāo)記和數(shù)據(jù)中預(yù)定個(gè)數(shù)組中的一個(gè)。來自字選擇部分68的數(shù)據(jù)提供給多路數(shù)據(jù)陣列50-56,使得一個(gè)數(shù)據(jù)陣列,如數(shù)據(jù)陣列(第0路)50,中的數(shù)據(jù)由索引部分66和字選擇部分68指示。即,索引部分66可以識(shí)別數(shù)據(jù)陣列(第0路)50的一個(gè)輸入項(xiàng),然后字選擇68識(shí)別該輸入項(xiàng)的一部分。多路數(shù)據(jù)陣列還耦合到總線24的雙向數(shù)據(jù)部分,以便從總線24接收數(shù)據(jù)或向其提供數(shù)據(jù)。
基于標(biāo)記值64與標(biāo)記陣列(第0路)42中位置與索引值66相關(guān)的數(shù)據(jù)之間的比較,每個(gè)標(biāo)記陣列,如標(biāo)記陣列(第0路)42,向?qū)?yīng)的數(shù)據(jù)陣列,如數(shù)據(jù)陣列(第0路)50,提供命中信號(hào)。例如,在運(yùn)行中,標(biāo)記部分64與通過索引部分66從標(biāo)記陣列(第0路)42檢索到的值進(jìn)行比較,以便提供命中信號(hào)72。如果被比較值導(dǎo)致匹配,則可以斷言命中信號(hào)72指示命中。數(shù)據(jù)陣列(第0路)50包括多個(gè)數(shù)據(jù)塊,由索引值66和字選擇值68尋址,響應(yīng)命中,尋址數(shù)據(jù)項(xiàng)從數(shù)據(jù)陣列(第0路)50輸出到總線24的數(shù)據(jù)部分。但是,如果被比較值沒有導(dǎo)致匹配,則不能斷言命中信號(hào)72,指示高速緩沖存儲(chǔ)器18這一路的失效。如果標(biāo)記值64與標(biāo)記陣列42-48中任一標(biāo)記都不匹配,則不斷言命中信號(hào)72-78中的任何一個(gè),指示訪問地址40導(dǎo)致高速緩沖存儲(chǔ)器18中的失效。
注意,圖2僅僅說明了高速緩沖存儲(chǔ)器18一部分的一種例子。但是,注意在可選實(shí)施方式中,寄存器62、標(biāo)記陣列42-48及數(shù)據(jù)陣列50-56可以本領(lǐng)域中已知的多種不同方式實(shí)現(xiàn),以實(shí)現(xiàn)期望的功能。
如以下更具體描述的,高速緩沖存儲(chǔ)器控制電路58接收至少一部分訪問地址40,并確定對(duì)應(yīng)于當(dāng)前訪問的選定規(guī)則集。選定的規(guī)則集指示如果有的話,第0至第N路中哪一路可用于替換。在本發(fā)明的一種實(shí)施方式中,每個(gè)規(guī)則集為高速緩沖存儲(chǔ)器中的每一路提供單個(gè)控制位,指示當(dāng)選定規(guī)則集時(shí)特定一路是否是替換的候選。其它實(shí)施方式可以使用指示給定一路關(guān)于給定規(guī)則集是否被看做替換候選的可選方法。
對(duì)于運(yùn)行的一個(gè)例子,響應(yīng)來自請(qǐng)求設(shè)備的讀訪問請(qǐng)求,被請(qǐng)求信息的地址作為訪問地址40提供給高速緩沖存儲(chǔ)器18。如上所述,如果訪問地址40的標(biāo)記值64沒有導(dǎo)致標(biāo)記陣列42、44、46和48中的任何匹配,則發(fā)生失效。在失效的情況下,響應(yīng)讀請(qǐng)求,被請(qǐng)求信息從如外部存儲(chǔ)器14或任何其它(內(nèi)部或外部)存儲(chǔ)器的存儲(chǔ)器提取,存儲(chǔ)在高速緩沖存儲(chǔ)器中并提供給請(qǐng)求設(shè)備。在一種實(shí)施方式中,高速緩沖存儲(chǔ)器控制電路58基于訪問地址40的至少一部分選擇選定規(guī)則集、應(yīng)用選定的規(guī)則集來確定哪些路可用于接收和存儲(chǔ)取出的信息、選擇由選定規(guī)則集指示的要存儲(chǔ)所取出信息可用的路并確定當(dāng)前選定的路中什么信息可以用取出的信息代替。因此,高速緩沖存儲(chǔ)器控制電路通過通信通路70向數(shù)據(jù)陣列50-56提供寫啟用89,以便使選定的路可以被更新。高速緩沖存儲(chǔ)器控制電路58還通過通信通路61與標(biāo)記陣列42-48通信,當(dāng)選定的對(duì)應(yīng)數(shù)據(jù)陣列被寫時(shí)根據(jù)需要控制標(biāo)記陣列的更新。由于這種功能在本領(lǐng)域是眾所周知的,因此進(jìn)一步的描述將集中在對(duì)數(shù)據(jù)陣列50-56的更新,對(duì)標(biāo)記陣列42-48適當(dāng)?shù)膶?duì)應(yīng)更新將不再進(jìn)一步描述。高速緩沖存儲(chǔ)器控制電路58還雙向耦合到總線24的數(shù)據(jù)、地址和控制部分。注意,高速緩沖存儲(chǔ)器控制電路58還可用執(zhí)行本領(lǐng)域已知的多種其它功能,因此只有可用于圖3-5實(shí)施方式的高速緩沖存儲(chǔ)器控制電路58的那些部分將在此具體描述。
圖3說明了圖2高速緩沖存儲(chǔ)器控制電路58一部分的一種實(shí)施方式。圖3的實(shí)施方式包括可以包括高速緩沖存儲(chǔ)器路控制寄存器100的規(guī)則集選擇電路113和替換控制電路112。規(guī)則集選擇電路113從總線24的地址部分接收訪問地址40的高位,并使用這些高位選擇規(guī)則集102、104、106和108中的一個(gè)作為選定規(guī)則集110。然后,選定規(guī)則集110提供給輸出寫啟用89的替換控制電路。在所說明的實(shí)施方式中,訪問地址40的兩個(gè)最高位用于選擇四個(gè)可能規(guī)則集(102-108)中的一個(gè)。但是,注意在可選實(shí)施方式中,任意個(gè)數(shù)的高位可用于使得能夠在更少或更多個(gè)可能規(guī)則集中進(jìn)行選擇。例如,訪問地址40的三個(gè)最高位可用于在8個(gè)(或更少)的可能規(guī)則集中進(jìn)行選擇。在一種實(shí)施方式中,用于選擇規(guī)則集的訪問地址40的高位是高速緩沖存儲(chǔ)器18與數(shù)據(jù)處理系統(tǒng)10之間未使用的地址位。因此,由于它們是未使用的,因此它們可以設(shè)置成對(duì)特定訪問地址(由訪問地址40的其余位定義的)選擇哪個(gè)規(guī)則集是期望的。例如,對(duì)應(yīng)于統(tǒng)治占優(yōu)勢的瞬變數(shù)據(jù)的那些地址可以分配給高速緩沖存儲(chǔ)器18特定的路,使得只有高速緩沖存儲(chǔ)器18該特定的路可以存儲(chǔ)瞬變數(shù)據(jù)。在這個(gè)例子中,用于瞬變數(shù)據(jù)的地址高位可以設(shè)置成一個(gè)值,例如10,以便選擇識(shí)別哪些路以用于該特定類型瞬變數(shù)據(jù)的規(guī)則集106。類似地,對(duì)應(yīng)于指令或其它較長生命周期信息的那些地址高位可以設(shè)置成一個(gè)值,例如00,以便選擇識(shí)別哪些路可用于該特定類型較長生命周期數(shù)據(jù)的規(guī)則集102。
注意,在可選實(shí)施方式中,除最高位以外,訪問地址中可能有其它位(如其它未使用的位)可以用于選擇合適的規(guī)則集。即,在可選實(shí)施方式中,規(guī)則集選擇電路113可以接收訪問地址40的其它部分來選擇規(guī)則集。而且,注意對(duì)于圖3的實(shí)施方式,具有未使用地址位或線的現(xiàn)有數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)可以容易地改進(jìn),以便以最小的附加電路實(shí)現(xiàn)高速緩沖存儲(chǔ)器控制電路58的上述部分。
盡管在圖3中沒有示出,但注意,解碼器可用于解碼訪問地址40的高位,以便向高速緩沖存儲(chǔ)器路控制寄存器100提供選擇合適規(guī)則集的選擇信號(hào)。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解規(guī)則集選擇電路113可以允許多個(gè)地址位用于選擇N個(gè)輸入項(xiàng)中一個(gè)的多種不同方式實(shí)現(xiàn)。
圖4說明了根據(jù)本發(fā)明一種實(shí)施方式的規(guī)則集102的例子。在所說明的實(shí)施方式中,規(guī)則集102對(duì)高速緩沖存儲(chǔ)器18的每一路(0至N)包括一個(gè)替換啟用域。例如,規(guī)則集102包括第0路替換啟用114、第1路替換啟用116及第N路替換啟用118。在一種實(shí)施方式中,每個(gè)規(guī)則集,如規(guī)則集102,存儲(chǔ)在用戶可編程的寄存器中,使得規(guī)則集中的每一位都是用戶可編程的。規(guī)則集102的每個(gè)替換啟用域指示對(duì)應(yīng)的路是否可用于替換。即,每個(gè)替換啟用域指示對(duì)應(yīng)的路是否可用于存儲(chǔ)響應(yīng)導(dǎo)致失效的訪問請(qǐng)求從存儲(chǔ)器取出的信息。例如,如前一段的例子中所描述的,規(guī)則集102可用于對(duì)應(yīng)那些存儲(chǔ)較長生命周期信息的地址。在這個(gè)例子中,用戶可能希望留出第0和5路,用于這種類型的較長生命周期信息,因此可以在規(guī)則集102中斷言用于第0和5路的替換啟用域。在另一例子中,規(guī)則集102可用于對(duì)應(yīng)于那些存儲(chǔ)系統(tǒng)中最短生命周期信息的地址,意味著用戶可能想只分配第0至N路中的一個(gè)用于這種類型的信息。以這種方式,通過對(duì)最可能增加高速緩沖存儲(chǔ)器污染的信息類型只分配特定數(shù)量的路,規(guī)則集(如規(guī)則集102)可用于降低高速緩沖存儲(chǔ)器污染。注意,在一種實(shí)施方式中,規(guī)則集102的每個(gè)替換啟用域都是單個(gè)指示一路是否啟用的位。在可選實(shí)施方式中,斷言位可以指示特定路不能用于替換??蛇x地,可以使用更多或更少的位,而且用于特定路的域可以不同地組合或編碼。
回過頭來參考圖3,在一種實(shí)施方式中,高速緩沖存儲(chǔ)器位控制寄存器100包括多個(gè)寄存器,每個(gè)寄存器存儲(chǔ)規(guī)則集102-108中的一個(gè),其中每個(gè)規(guī)則集可以象規(guī)則集102那樣實(shí)現(xiàn)(如上面參考圖4所描述的)??蛇x地,根據(jù)例如用于期望實(shí)現(xiàn)的期望規(guī)則集的數(shù)量和大小,高速緩沖存儲(chǔ)器位控制寄存器100可以根據(jù)需要包括更多或更少寄存器。而且,在可選實(shí)施方式中,它們可以不實(shí)現(xiàn)為寄存器,而是可以位于其它內(nèi)部或外部存儲(chǔ)器中。在一種實(shí)施方式中,寄存器是用戶可編程的,以便為用戶提供靈活性,使得用戶可以決定如何使用可用規(guī)則集及如何為不同類型的信息分配高速緩沖存儲(chǔ)器18的不同路。一旦由訪問地址40的高位選擇了特定的規(guī)則集,它就作為選定的規(guī)則集110提供給替換控制電路112。
基于選定的規(guī)則集110,替換控制電路112確定哪一路被選擇用于響應(yīng)高速緩沖存儲(chǔ)器失效而存儲(chǔ)取出的信息。例如,選定的規(guī)則集110(對(duì)應(yīng)于規(guī)則集102-108中的一個(gè))可以指示多于一路可用于替換,因此基于選定的規(guī)則集110,替換控制電路112可以確定哪些路是可用的,然后確定可用路中的哪路可用于當(dāng)前替換。在一種實(shí)施方式中,替換控制電路112可以使用循環(huán)法來選擇路,或者可選地,可以使用最近使用法。許多本領(lǐng)域已知的其它方法可用于選擇可用于替換的路中的一路。此外,一旦選定了替換用的路,替換控制電路112就能使用本領(lǐng)域已知的多種方式(如循環(huán)法或最近使用法)來修改替換狀態(tài)信息。一旦選擇了路,替換控制電路112就可以提供寫啟用89來啟用數(shù)據(jù)陣列50-56中選定的路。在一種實(shí)施方式中,寫啟用89向高速緩沖存儲(chǔ)器18中的每一路提供一個(gè)寫啟用信號(hào)。例如,如果高速緩沖存儲(chǔ)器18包括8路(例如,0至7),則寫啟用89將包括8個(gè)啟用信號(hào),每一路一個(gè)??蛇x地,替換控制電路112(或其它控制電路)可以編碼寫啟用信號(hào)來提供寫啟用89。例如,如果高速緩沖存儲(chǔ)器18包括8路,則3位的寫啟用89可用于選擇8路中的一路。如果需要,高速緩沖存儲(chǔ)器控制電路58還可以訪問標(biāo)記陣列42-48,以執(zhí)行替換。還要注意,在可選實(shí)施方式中,選定的規(guī)則集可能不會(huì)啟用任一路進(jìn)行替換,或者替換控制電路112可能根本不會(huì)從可用路中選擇任一路。
圖5說明了高速緩沖存儲(chǔ)器控制電路58一部分的可選實(shí)施方式。圖5的實(shí)施方式允許用戶基于訪問地址40(相鄰或不相鄰的)的任一子集選擇可編程的規(guī)則集。高速緩沖存儲(chǔ)器控制電路58的這部分包括規(guī)則集選擇電路136、它包括地址線選擇器120、地址線選擇寄存器124、規(guī)則集選擇器控制寄存器126、高速緩沖存儲(chǔ)器路控制寄存器100和替換控制電路112。地址線選擇器120基于地址線選擇寄存器124選擇訪問地址40的一部分并將來自所選定地址線的數(shù)據(jù)作為索引提供給規(guī)則集選擇器控制寄存器126。在一種實(shí)施方式中是用戶可編程寄存器的規(guī)則集選擇器控制寄存器126向高速緩沖存儲(chǔ)器路控制寄存器100提供指示規(guī)則集102-108中一個(gè)的規(guī)則集指示符134。然后,選定的規(guī)則集作為選定規(guī)則集110提供給替換控制電路112,然后替換控制電路112提供寫啟用89。因此,注意規(guī)則集選擇電路136接收訪問地址40(或至少訪問地址40的一部分)并提供選定規(guī)則集110。注意,包括規(guī)則集102-108、選定規(guī)則集110、替換控制電路112和寫啟用89的高速緩沖存儲(chǔ)器路控制寄存器100如上面參考圖3和4所描述的運(yùn)行,因此不再參考圖5的實(shí)施方式具體討論。
在一種實(shí)施方式中,地址線選擇寄存器124是用戶可編程寄存器,它允許用戶指示訪問地址40的哪些線(或位)用于選擇規(guī)則集。然后,基于地址線選擇寄存器124,地址線選擇器120將(從訪問地址40選定位或線)所指示的地址值作為索引122提供給規(guī)則集選擇器控制寄存器126。例如,在一種實(shí)施方式中,地址線選擇寄存器124可以對(duì)訪問地址40的每個(gè)地址位有一位,其中如果斷言寄存器124的一位,則訪問地址40的對(duì)應(yīng)地址位用作索引122的一部分??蛇x實(shí)施方式可以使用允許用戶選擇訪問地址40的子集(或全部)作為索引122的地址線選擇寄存器124的其它格式。在一種實(shí)施方式中,索引122包括區(qū)分規(guī)則集選擇器控制寄存器126每個(gè)輸入項(xiàng)所必需的最少位數(shù)。例如,如果規(guī)則集選擇器控制寄存器126只包括4個(gè)或更少的輸入項(xiàng),則只需要訪問地址40(相鄰或不相鄰)的兩位(從而導(dǎo)致兩位索引122)用于尋址每個(gè)輸入項(xiàng)。但是,如果規(guī)則集選擇器控制寄存器126包括8個(gè)輸入項(xiàng),則至少需要訪問導(dǎo)致40的3條線(從而導(dǎo)致至少三位索引122)。還要注意,索引122可以不同方式從訪問導(dǎo)致40的選定位得到。在一種實(shí)施方式中,索引122可以簡單地是訪問地址40選定位或線的串聯(lián)。在可選實(shí)施方式中,可以使用解碼器或其它電路基于選定位產(chǎn)生索引122。
規(guī)則集選擇器控制寄存器126中的每個(gè)輸入項(xiàng)(如輸入項(xiàng)128、130和132)提供選擇哪個(gè)規(guī)則集的指示符。例如,在所說明的實(shí)施方式中,如果索引122選擇輸入項(xiàng)130,則值“11”作為選擇規(guī)則集108的規(guī)則集指示符134提供。因此,在所說明的實(shí)施方式中,值“00”指示規(guī)則集102、值“01”指示規(guī)則集104、值“10”指示規(guī)則集106、值“11”指示規(guī)則集108。在所說明的實(shí)施方式中,規(guī)則集選擇器控制寄存器126包括指示規(guī)則集102的輸入項(xiàng)128,指示規(guī)則集108的輸入項(xiàng)130和指示規(guī)則集106的輸入項(xiàng)132。在圖5所說明的實(shí)施方式中,由于高速緩沖存儲(chǔ)器位控制寄存器100包括4個(gè)可能的規(guī)則集,因此規(guī)則集選擇器控制寄存器126的每個(gè)輸入項(xiàng)包括兩位來從4個(gè)規(guī)則集中選擇。注意,如果有更多規(guī)則集,則規(guī)則集選擇器控制寄存器126的每個(gè)輸入項(xiàng)將包括更多位。而且,注意規(guī)則集選擇器控制寄存器126的多個(gè)輸入項(xiàng)可以指示相同的規(guī)則集。而且,注意可選實(shí)施方式可以對(duì)規(guī)則集選擇器控制寄存器126的輸入項(xiàng)使用不同格式來指示規(guī)則集。
在可選實(shí)施方式中,高速緩沖存儲(chǔ)器位控制寄存器100可以包括缺省規(guī)則集(它可以是規(guī)則集102-108中的任何一個(gè),或單獨(dú)的規(guī)則集),使得如果索引122不對(duì)應(yīng)于寄存器126的索引,則缺省規(guī)則集可以作為選定規(guī)則集110提供。例如,如果索引122是兩位值,但規(guī)則集選擇器控制寄存器126只有3個(gè)輸入項(xiàng),則索引122中有一個(gè)值可以對(duì)應(yīng)于缺省規(guī)則集。類似地,在另一例子中,如果索引122是3位值,但規(guī)則集選擇器控制寄存器126中只有6個(gè)輸入項(xiàng),則索引122的一個(gè)或兩個(gè)值可以對(duì)應(yīng)于缺省規(guī)則集。
因此,注意在圖5的實(shí)施方式中,訪問地址40的全部或任何部分都可以用于選擇規(guī)則集,其中通過對(duì)規(guī)則集選擇器控制寄存器126的值進(jìn)行編程,用戶能夠靈活地對(duì)所請(qǐng)求地址的給定地址范圍使用哪個(gè)規(guī)則集進(jìn)行編程。而且,注意訪問地址40的選定位可以是相鄰位不不相鄰位。注意圖5只是提供了一種實(shí)現(xiàn),但本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解有多種可用于選擇規(guī)則集的選擇訪問地址40一部分來選擇規(guī)則集指示符的方式,如規(guī)則集指示符134。
圖6說明了高速緩沖存儲(chǔ)器控制電路58一部分的另一可選實(shí)施方式。圖6的實(shí)施方式允許用戶基于訪問地址40的全部或一部分選擇規(guī)則集。例如,在所說明的實(shí)施方式中,如果有的話,則規(guī)則集選擇電路138基于訪問地址40(或至少訪問地址40的一部分)屬于什么地址范圍來選擇規(guī)則集。圖6高速緩沖存儲(chǔ)器控制電路58的這部分包括規(guī)則集選擇電路138和替換控制電路112,規(guī)則集選擇電路138包括地址范圍比較器140、缺省選擇器150和高速緩沖存儲(chǔ)器位控制寄存器100。地址范圍比較器140和缺省選擇器150用于選擇規(guī)則集102-108或缺省規(guī)則集152中的一個(gè)。如果訪問地址40屬于由地址比較器142-148中任何一個(gè)定義的地址范圍,則選擇規(guī)則集102-108中的一個(gè)。但是,如果訪問地址40不屬于由地址比較器142-148中任何一個(gè)定義的地址范圍,則選擇缺省規(guī)則集152。(注意,在一種實(shí)施方式中,缺省規(guī)則集152是除規(guī)則集102-108之外的附加規(guī)則集,但在可選實(shí)施方式中,缺省規(guī)則集152可以是規(guī)則集102-108中的一個(gè))。然后,選定的規(guī)則集作為選定規(guī)則集110提供給替換控制電路112,然后替換控制電路112提供寫啟用89。注意,高速緩沖存儲(chǔ)器位控制寄存器100(除缺省規(guī)則集152之外)、選定規(guī)則集110、替換電路112和寫啟用89如什么參考圖3和4所描述的那樣運(yùn)行,因此將不再參考圖6的實(shí)施方式具體討論。
如果有的話,地址范圍比較器140確定訪問地址40屬于哪個(gè)地址范圍。例如,地址比較器142-148中每個(gè)都可用于定義一地址范圍。在一種實(shí)施方式中,地址比較器142-148中每個(gè)都包括存儲(chǔ)對(duì)應(yīng)范圍起始地址和結(jié)束地址的電路及比較訪問地址40和起始結(jié)束地址以確定它是否屬于該范圍的比較電路??蛇x地,地址比較器142-148中每個(gè)都可以包括存儲(chǔ)基地址(定義地址范圍的起始地址)和掩碼值(定義從基地址開始的范圍)的電路及比較由掩碼值掩碼的訪問地址和由掩碼值掩碼的基地址以確定它是否屬于該范圍的比較電路。因此,每個(gè)范圍都指示對(duì)應(yīng)的規(guī)則集。例如,在圖6所說明的實(shí)施方式中,如果訪問地址40屬于由地址比較器142定義的地址范圍,則指示規(guī)則集102。如果訪問地址40屬于由地址比較器144定義的地址范圍,則指示規(guī)則集104。如果訪問地址40屬于由地址比較器146定義的地址范圍,則指示規(guī)則集106。如果訪問地址40屬于由地址比較器148定義的地址范圍,則指示規(guī)則集108。
如果訪問地址40不屬于由地址范圍比較器140定義的任一范圍,則缺省選擇器150選擇缺省規(guī)則集152。例如,在一種實(shí)施方式中,缺省選擇器150可以監(jiān)控,看是否在地址范圍比較器140和高速緩沖存儲(chǔ)器位控制寄存器100之間耦合的指示符沒有一個(gè)被斷言,然后作為響應(yīng),斷言它自己的輸出指示符來選擇缺省規(guī)則集152。缺省規(guī)則集152在形式和功能上可以和其它規(guī)則集,如圖4的規(guī)則集102,類似。還要注意缺省規(guī)則集152是可選的。例如,所有范圍都可以定義,使得訪問地址40總會(huì)屬于一個(gè)范圍。注意可選實(shí)施方式可以根據(jù)需要包括任意個(gè)數(shù)的地址范圍。此外,注意多個(gè)地址范圍可以對(duì)應(yīng)于相同的規(guī)則集。在一種實(shí)施方式中,每個(gè)范圍是不重疊的。但是,在可選實(shí)施方式中,它們可以重疊。
因此,地址范圍可以由地址范圍比較器140設(shè)置來指示不同類型的信息,使得根據(jù)地址范圍內(nèi)的信息類型,規(guī)則集可用于啟用高速緩沖存儲(chǔ)器18不同的路。例如,對(duì)于流數(shù)據(jù),存儲(chǔ)流數(shù)據(jù)的地址的地址范圍可以由地址比較器146指示,使得如果訪問地址40屬于該范圍,則指示流數(shù)據(jù),因而選擇具有被啟用(即,可用于)存儲(chǔ)流數(shù)據(jù)的那些路的規(guī)則集106。因此,用戶在定義哪個(gè)地址范圍對(duì)應(yīng)于高速緩沖存儲(chǔ)器18哪些路上具有靈活性,因而可以使用這種靈活性提高高速緩沖存儲(chǔ)器性能并降低高速緩沖存儲(chǔ)器污染。
注意以上實(shí)施方式是參考響應(yīng)導(dǎo)致失效的讀訪問而選擇指示高速緩沖存儲(chǔ)器18中可用于進(jìn)行替換的路的規(guī)則集描述的。但是,注意在可選實(shí)施方式中,上述方法可用于為其它操作,如本領(lǐng)域中已知的響應(yīng)命中或失效或二者兼有的預(yù)取,選擇指示高速緩沖存儲(chǔ)器18中可用于進(jìn)行替換的路的規(guī)則集。
因此,可以理解規(guī)則集選擇電路(如規(guī)則集選擇電路113、136和138)多么不同的實(shí)現(xiàn)可用于基于訪問地址的至少一部分選擇規(guī)則集。在每種實(shí)施方式中,通過例如為不同類型的信息分配不同的高速緩沖存儲(chǔ)器路,規(guī)則集都可以設(shè)計(jì)成為了提高高速緩沖存儲(chǔ)器性能并降低高速緩沖存儲(chǔ)器污染。例如,在一種應(yīng)用中,用戶可以根據(jù)信息的生命周期分配不同的高速緩沖存儲(chǔ)器路,使得較短生命周期信息不替換(或過度替換)較長生命周期信息??蛇x地,信息(除生命周期以外)的不同屬性可用于分配不同的高速緩沖存儲(chǔ)器路。此外,如高速緩沖存儲(chǔ)器位控制寄存器100、規(guī)則集選擇器控制寄存器126、地址范圍比較器140等的規(guī)則集選擇電路部分的可編程性允許用戶對(duì)不同類型的應(yīng)用優(yōu)化高速緩沖存儲(chǔ)器(如高速緩沖存儲(chǔ)器18)。而且,圖5和6的實(shí)施方式允許根據(jù)需要以最小的開銷定義任意個(gè)數(shù)的規(guī)則集和地址范圍。規(guī)則集還可以根據(jù)需要在任何時(shí)候重新編程,包括在任務(wù)或線程的執(zhí)行過程中。此外,優(yōu)化的執(zhí)行可以不需要分配特定的軟件指令也不需要附加的軟件執(zhí)行開銷。而且,存儲(chǔ)器管理單元不需要知道關(guān)于存儲(chǔ)在不同存儲(chǔ)器范圍中信息的類型。
在前面的說明中,參考特定實(shí)施方式對(duì)本發(fā)明進(jìn)行了描述。但是,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解在不背離如下權(quán)利要求所述本發(fā)明范圍的前提下可以進(jìn)行各種修改和變化。因此,說明書和附圖應(yīng)當(dāng)看作是說明性而不是限制性的,而且所有這些修改都要包括在本發(fā)明范圍之內(nèi)。
好處、其它優(yōu)點(diǎn)及對(duì)問題的解決方案都關(guān)于特定實(shí)施方式在上面進(jìn)行了描述。但是,好處、優(yōu)點(diǎn)、對(duì)問題的解決方案及導(dǎo)致任何好處、優(yōu)點(diǎn)或解決方案發(fā)生或變得更加顯著的任何元件都不應(yīng)當(dāng)看作是任何或全部權(quán)利要求關(guān)鍵的、必需的或必要的特征或元件。如在此所使用的,術(shù)語一或一個(gè)定義為一個(gè)或多于一個(gè)。如在此所使用的,術(shù)語包括和/或具有定義為包括(即,開放式語言)。如在此所使用的,術(shù)語“包括”、“包括”或其任何其它變體都是要覆蓋不排他的包括,使得包括一系列元件的處理、方法、產(chǎn)品或裝置不僅僅包括那些元件,而是可以包括沒有明顯列出的或這種處理、方法、產(chǎn)品或裝置固有的其它元件。
權(quán)利要求
1.一種用于在具有多路的高速緩沖存儲(chǔ)器中選擇可用于替換的N路的方法,包括提供多個(gè)規(guī)則集,其中多個(gè)規(guī)則集中的每個(gè)都指定高速緩沖存儲(chǔ)器中可用于替換的N路,其中N是大于等于0的整數(shù);接收訪問地址;利用訪問地址的至少一部分選擇多個(gè)規(guī)則集中選定的一個(gè);及利用多個(gè)規(guī)則集中選定的一個(gè),選擇高速緩沖存儲(chǔ)器中可用于替換的N路。
2.如權(quán)利要求1所述的方法,其中訪問地址的至少一部分包括多個(gè)相鄰的訪問地址位。
3.如權(quán)利要求1所述的方法,還包括提供第一可編程位來啟用多路中第一路的替換。
4.如權(quán)利要求3所述的方法,還包括提供第二可編程位來啟用多路中第二路的替換。
5.如權(quán)利要求4所述的方法,其中多個(gè)規(guī)則集中的第一個(gè)包括第一和第二可編程位。
6.如權(quán)利要求5所述的方法,還包括提供第三可編程位來啟用多路中第一路的替換;及提供第四可編程位來啟用多路中第二路的替換,其中多個(gè)規(guī)則集中的第二個(gè)包括第三和第四可編程位。
7.如權(quán)利要求1所述的方法,其中訪問地址的至少一部分包括多位,而且其中多位包括訪問地址的最高位。
8.如權(quán)利要求1所述的方法,其中訪問地址的至少一部分在高速緩沖存儲(chǔ)器中沒有進(jìn)一步的使用。
9.如權(quán)利要求1所述的方法,還包括選擇訪問地址的多位用作訪問地址的至少一部分。
10.如權(quán)利要求1所述的方法,還包括解碼訪問地址的至少一部分,其中所述解碼步驟是在利用訪問地址的至少一部分選擇多個(gè)規(guī)則集中的選定一個(gè)的所述步驟之前執(zhí)行的。
11.如權(quán)利要求1所述的方法,還包括提供規(guī)則集選擇控制寄存器,該規(guī)則集選擇控制寄存器接收訪問地址的至少一部分并提供用于選擇多個(gè)規(guī)則集中至少一個(gè)的規(guī)則集指示符。
12.如權(quán)利要求1所述的方法,還包括提供對(duì)應(yīng)于多個(gè)規(guī)則集中第一個(gè)的第一地址范圍;及確定訪問地址是否在該第一地址范圍內(nèi)。
13.如權(quán)利要求12所述的方法,還包括提供對(duì)應(yīng)于多個(gè)規(guī)則集中第二個(gè)的第二地址范圍;及確定訪問地址是否在該第二地址范圍內(nèi)。
14.如權(quán)利要求13所述的方法,還包括如果訪問地址不在第一地址范圍內(nèi),也不在第二地址范圍內(nèi),則使用多個(gè)規(guī)則集中的缺省規(guī)則集。
15.如權(quán)利要求1所述的方法,其中高速緩沖存儲(chǔ)器被構(gòu)成為集成電路的一部分。
16.一種集成電路,包括具有多路的高速緩沖存儲(chǔ)器,該高速緩沖存儲(chǔ)器包括規(guī)則集選擇電路,包括用于存儲(chǔ)多個(gè)規(guī)則集的規(guī)則集存儲(chǔ)電路,其中多個(gè)規(guī)則集中的每個(gè)都指定高速緩沖存儲(chǔ)器中可用于替換的N路,其中N是大于等于0的整數(shù),規(guī)則集選擇電路使用訪問地址的至少一部分提供至少一個(gè)選定規(guī)則集信號(hào);及替換控制電路,耦合到規(guī)則集選擇電路,以接收至少一個(gè)選定規(guī)則集信號(hào),替換控制電路使用該至少一個(gè)選定規(guī)則集信號(hào)選擇高速緩沖存儲(chǔ)器中可用于替換的N路。
17.如權(quán)利要求16所述的集成電路,其中規(guī)則集選擇電路還包括第一存儲(chǔ)電路,用于存儲(chǔ)基地址值和下界值中的一個(gè);及第二存儲(chǔ)電路,用于存儲(chǔ)掩碼值和上界值中的一個(gè)。
18.一種高速緩沖存儲(chǔ)器控制電路,包括存儲(chǔ)電路,用于存儲(chǔ)多個(gè)規(guī)則集;耦合到所述存儲(chǔ)電路的電路,其中所述電路使用訪問地址的一部分產(chǎn)生規(guī)則集指示符,所述規(guī)則集指示符用于選擇多個(gè)規(guī)則集中的至少一個(gè),及其中多個(gè)規(guī)則集中的所述一個(gè)用于選擇高速緩沖存儲(chǔ)器中可用于替換的至少0路或多路。
19.如權(quán)利要求18所述的高速緩沖存儲(chǔ)器控制電路,其中所述存儲(chǔ)電路包括至少一個(gè)用戶可編程的控制寄存器。
全文摘要
在多路高速緩沖存儲(chǔ)器中,用于選擇可用于替換的N路的方法包括提供多個(gè)規(guī)則集(102,108),其中多個(gè)規(guī)則集中的每個(gè)都指定高速緩沖存儲(chǔ)器中可用于替換的N路(其中N大于等于0)。該方法還包括接收訪問地址,并利用訪問地址的至少一部分選擇多個(gè)規(guī)則集中的一個(gè)。然后,多個(gè)規(guī)則集(110)中選定的一個(gè)可用于選擇高速緩沖存儲(chǔ)器中可用于替換的N路。一種實(shí)施方式利用訪問地址(40)的高位選擇規(guī)則集??蛇x實(shí)施方式利用訪問地址的至少一部分和規(guī)則集選擇器控制寄存器選擇規(guī)則集。另一種實(shí)施方式利用訪問地址和地址范圍比較器選擇規(guī)則集。
文檔編號(hào)G06F12/12GK1809819SQ200480017397
公開日2006年7月26日 申請(qǐng)日期2004年7月13日 優(yōu)先權(quán)日2003年7月25日
發(fā)明者威廉·C.·莫耶, 約翰·J.·瓦格利卡 申請(qǐng)人:飛思卡爾半導(dǎo)體公司