專利名稱:多路超高速緩沖存儲器裝置和方法
技術領域:
本發(fā)明一般涉及處理器和存儲器,尤其涉及多路超高速緩沖存儲器。
由于便攜和手提工具的普遍應用,在微處理器和微控制器的設計中低電耗已變得十分重要。一個典型的嵌入式控制系統(tǒng)一般包括一個中央處理器(CPU)和多個不同類型的存儲器和外圍設備。不同類型的存儲器對于具有微處理器的集成電路來講可能是外置的,并且/或者在同一個集成電路中,并且不同類型的存儲器可能包括超高速緩沖存儲器,ROM(只讀存儲器),和多個SRAM(靜態(tài)隨機訪問存儲器)設備。
要訪問一個大的外部主存儲器需要花費大量的能量和時間。因此,可在集成電路中使用一種更小,更快,更有效的存儲器,有時指超高速緩沖存儲器,以減少對主存儲器的訪問次數(shù)。為了使集成電路盡量的小,集成電路板上只包括所需要的存儲器。
超高速緩沖存儲標記(Cache TAG)普遍被用于提高超高速緩沖存儲器的性能。超高速緩沖存儲器TAG接收一個由微處理器提供的TAG地址,并判定所需要的指令和/或數(shù)據(jù)是否在超高速緩沖存儲器中。如果所需要的指令不在超高速緩沖存儲器中,則微處理器必須從主存儲器中檢索所需指令。當指令被寫進超高速緩沖存儲器中時,則把指令地址的高位存儲在一個TAG矩陣中。超高速緩沖存儲器TAG有一個比較器,用于把處理器生成地址與TAG地址相比較。如果TAG地址與處理器生成地址相同,則超高速緩沖存儲器“命中”,并且超高速緩沖存儲器TAG提供一匹配信號,表明所需要的數(shù)據(jù)在超高速緩沖存儲器中。如果處理器生成地址與TAG地址不相同,則超高速緩沖存儲器“未命中”,相應的匹配信號表明所需要的數(shù)據(jù)不在超高速緩沖存儲器中。另外,可設置一個有效位作為TAG地址的一部分,用于在超高速緩沖存儲器的比較循環(huán)中判定存儲TAG地址的有效命中。
根據(jù)現(xiàn)有的超高速緩沖存儲器技術,在許多應用中,訪問請求的沖突降低了超高速緩沖存儲器的效率,其中訪問請求的沖突造成多次對于超高速緩沖存儲器的訪問失敗,且需要訪問外部存儲器。另外,在低電耗應用中,費用被附加到用于處理資源的有效電力管理上。因此,需要超高速緩沖存儲器在提供低電耗的同時提供更高的處理效率,例如更高的超高速緩沖存儲器命中率。
相應地,需要一種改進的超高速緩沖存儲器裝置和方法。
由于附加的權利要求書中特別提及了本發(fā)明,因此下面將參照附圖來詳細描述本發(fā)明的其他一些特性。
圖1示出了一個數(shù)據(jù)處理系統(tǒng)的實施例的方框圖。
圖2示出了一個圖1中的超高速緩沖存儲器的一部分的實施例的方框圖。
圖3示出了一個詳細說明圖2中超高速緩沖存儲器的具體實施例的方框圖。
圖4示出了表示一個用于圖2的超高速緩沖存儲器的寄存器的特定實施例的圖表。
圖5示出了一個使用圖4中寄存器的圖2中的超高速緩沖存儲器的訪問操作的流程圖。
最佳實施例的詳細說明一般地,本發(fā)明涉及使用多路超高速緩存的多路超高速緩沖存儲器裝置和方法。根據(jù)本發(fā)明的第一個方面,裝置為具有多路超高速緩沖存儲器的裝置。裝置包括一個第一用戶可控制單元,其中的第一可控制單元具有一個相應于多路超高速緩沖存儲器中第一路的預定第一屬性;一個第二用戶可控制單元,其中的第二可控制單元具有一個相應于多路超高速緩沖存儲器中第二路的預定第二屬性;一個用于把訪問屬性傳送給多路超高速緩沖存儲器的導線;第一比較電路,用于把訪問屬性與預定第一屬性相比較,以提供第一比較結(jié)果;第二比較電路,用于把訪問屬性與預定第二屬性相比較,以提供第二比較結(jié)果;第一路控制電路,用于根據(jù)第一比較結(jié)果選擇性地激活多路超高速緩沖存儲器的第一路;和第二路控制電路,用于根據(jù)第二比較結(jié)果選擇性地激活多路超高速緩沖存儲器的第二路。
根據(jù)本發(fā)明的另一方面,裝置為一個集成電路。該集成電路包括一個具有第一路和第二路的超高速緩沖存儲器;一個第一存儲單元,用于存儲一個用于超高速緩沖存儲器中第一路的第一存儲屬性;一個第二存儲單元,用于存儲一個用于超高速緩沖存儲器中第二路的第二存儲屬性;一個用于傳送訪問屬性的導線;和控制電路??刂齐娐钒言L問屬性與第一存儲屬性相比較,以提供一個第一比較結(jié)果,并根據(jù)第一比較結(jié)果選擇性地激活超高速緩沖存儲器的第一路。控制電路還把訪問屬性與第二存儲屬性相比較,以提供一個第二比較結(jié)果,并根據(jù)第二比較結(jié)果選擇性地激活超高速緩沖存儲器的第二路。
根據(jù)本發(fā)明的另一方面,描述了一種用于操作具有多路超高速緩沖存儲器的數(shù)據(jù)處理系統(tǒng)的方法。該方法包括如下步驟初始化一個訪問操作;訪問多路超高速緩沖存儲器以響應訪問操作;把提供的訪問屬性提供給多路超高速緩沖存儲器,作為訪問操作的一部分;把提供的訪問屬性與相應于多路超高速緩沖存儲器中第一路的第一存儲訪問屬性相比較;把提供的訪問屬性與相應于多路超高速緩沖存儲器中第二路的第二存儲訪問屬性相比較;根據(jù)提供的訪問屬性是否與第一存儲屬性相匹配,進而選擇性地激活多路超高速緩沖存儲器的第一路;并根據(jù)提供的訪問屬性是否與第二存儲屬性相匹配,進而選擇性地激活多路超高速緩沖存儲器的第二路。
應當指出的是,這里所用到的具體術語和表達,在詳細描述中所描述的具體的結(jié)構細節(jié)和操作細節(jié),以及附圖均只是為了說明之便,并不會限制附加的權利要求書中所描述的發(fā)明的范圍。
參看圖1,圖示了處理系統(tǒng)10的一個實施例。處理系統(tǒng)10包括一個處理器12,和一個外部存儲器14。處理器12包括一個中央處理器16,一個超高速緩沖存儲器18,一個總線接口22,和其他模塊20。處理器12還包括總線24和總線26。總線24把CPU16,超高速緩沖存儲器18,總線接口22,和其他模塊20互連在一起??偩€26把總線接口22與存儲器14耦合在一起。雖然描述了一個數(shù)據(jù)處理系統(tǒng)的特定實施例,但是可實現(xiàn)用于這種處理系統(tǒng)的不同的配置和其他實施例。例如,雖然圖示中超高速緩沖存儲器18作為微處理器12的一部分,但是超高速緩沖存儲器18可位于處理器12的外部,例如位于外部存儲器14中。
參看圖2,圖示了超高速緩沖存儲器18的一部分的一個特殊的實施例。超高速緩沖存儲器18的這一部分包括一個寄存器40,用于多路42-48的標記存儲器矩陣,用于多路50-56的數(shù)據(jù)存儲器矩陣,和超高速緩沖存儲器控制電路58。超高速緩沖存儲器控制電路58包括寄存器80,比較器60,和訪問控制邏輯82。寄存器40接收總線24的地址部分,并且寄存器40具有一個標記值部分64,索引部分66,和一個字選擇部分68。標記值部分64包括提供給多路標記矩陣42-48的標記值數(shù)據(jù)。來自索引部分66的數(shù)據(jù)被提供給多路標記矩陣42-48和多路數(shù)據(jù)矩陣50-56。來自字處理部分68的數(shù)據(jù)被提供給多路數(shù)據(jù)矩陣50-56。多路數(shù)據(jù)矩陣被耦合到總線24的雙向數(shù)據(jù)部分。
每個標記矩陣,例如標記矩陣(路0)42,根據(jù)標記值64和位于索引值66所指向位置處的數(shù)據(jù)之間的比較結(jié)果,給相應的數(shù)據(jù)矩陣提供一命中信號,例如給數(shù)據(jù)矩陣(路0)50。超高速緩沖存儲器控制電路系統(tǒng)58從總線24處接收訪問屬性87,地址和控制數(shù)據(jù)。在另一個實施例中,可在本地生成訪問屬性87,例如在多路超高速緩沖存儲器內(nèi)部生成。比較器60用于把訪問屬性87與來自寄存器80的存儲屬性值相比較,以生成一比較結(jié)果61,所生成的比較結(jié)果又由訪問控制邏輯82處理,以為多路超高速緩沖存儲器中的各路生成讀允許信號86和寫允許信號84。雖然只圖示了一個比較器60,但是比較器60為多路超高速緩沖存儲器的各路都提供了多個專門的比較器。在一個特定的實施例中,訪問屬性包括用于訪問信息的數(shù)據(jù)類類型,例如存儲在存儲器中的信息的指令類型或數(shù)據(jù)類型。該實施例中的寄存器80包括控制位,用于相應地激活或禁止每個數(shù)據(jù)類類型。另外,寄存器80還可能包括其他的控制位,用于為多路超高速緩沖存儲器的各路選擇不同的激活或禁止功能。一個上述其他控制位的例子是用于根據(jù)每路的情況選擇性地激活超高速緩沖存儲器的刷新的控制位。另外,超高速緩沖存儲器控制電路通過相應的通信通道62和70同標記矩陣42和數(shù)據(jù)矩陣50-56進行通信。
高速緩沖存儲器控制電路58響應接收自數(shù)據(jù)總線24的數(shù)據(jù)。例如,可能從總線24處接收一用戶可編程控制字并把它存儲在寄存器80中,其中用戶可編程控制字包括對于多個高速緩沖存儲器路的用戶選擇屬性控制位。通過這種方式,寄存器80可根據(jù)特殊應用或用戶需求來靈活且動態(tài)地分配多路超高速緩沖存儲器資源。
參看圖3,圖示了第一標記矩陣路的一部分和相應的第一數(shù)據(jù)矩陣路的一部分的一個特定實施例,其中第一標記矩陣路例如為標記矩陣(路0)42,其中第一標記矩陣路例如為數(shù)據(jù)矩陣(路0)50。上述部分包括具有標記部分64,索引部分66,和字選擇部分68的寄存器40。比較器65把標記部分64和通過索引部分66接收自標記矩陣(路0)42的數(shù)據(jù)進行比較,以提供一個命中信號72。數(shù)據(jù)矩陣(路0)50包括多個數(shù)據(jù)塊,并且數(shù)據(jù)矩陣由索引值66和字選擇值68進行編址。編址數(shù)據(jù)項通過數(shù)據(jù)總線從數(shù)據(jù)矩陣(路0)50輸出,其中數(shù)據(jù)總線為總線24的一部分。
另外要描述的是路控制電路92,其中路控制電路從它的輸入處接收讀允許信號86和寫允許信號84,并在它的輸出處輸出控制信號94??刂菩盘?4包括用于標記矩陣(路0)42和數(shù)據(jù)矩陣(路0)50的讀和寫控制信號,還包括用于多個功能的其它相關控制信號,其中各功能根據(jù)每一路的情況執(zhí)行或不執(zhí)行。
參看圖4,圖示了超高速緩沖存儲器控制電路58內(nèi)部的寄存器80的一個特殊實施例。在該實施例中,寄存器80包括多個數(shù)據(jù)域,每個數(shù)據(jù)域包括多個數(shù)據(jù)位。寄存器80包括一個超高速緩沖存儲器刷新域102,一個數(shù)據(jù)超高速緩沖存儲器允許域104,和一個指令超高速緩沖存儲器允許域106。每個域102-106可包括一個或多個控制位。域102中的每個超高速緩沖存儲器控制位都與一個不同的超高速緩沖存儲器路相關。對于每個超高速緩沖存儲器路,域102中的一個特定的超高速緩沖存儲器控制位將判定是否刷新或清除特定的超高速緩沖存儲器路。當刷新特定超高速緩沖存儲器路時,則這一路的數(shù)據(jù)矩陣內(nèi)的所有數(shù)據(jù)都將無效。
對于每個超高速緩沖存儲器路,域104中的一個特定的超高速緩沖存儲器控制位將判定特定超高速緩沖存儲器路是否可被用于訪問具有數(shù)據(jù)類類型的數(shù)據(jù)。同樣地,域106中的一個特定的超高速緩沖存儲器控制位將判定特定超高速緩沖存儲器路是否可被用于訪問具有指令類類型的數(shù)據(jù)。雖然只描述了一些數(shù)據(jù)和指令類型的類類型,但是上述各路的方法和結(jié)構也適用于多種數(shù)據(jù)類。例如,其他控制域也可能用于其他數(shù)據(jù)類類型定義,例如用戶類類型,超級用戶類類型,棧數(shù)據(jù)類類型,和非棧數(shù)據(jù)類類型。
參看圖5,圖示了用于操作數(shù)據(jù)處理系統(tǒng)10的一種特定的方法,其中數(shù)據(jù)處理系統(tǒng)具有多路超高速緩沖存儲器。該方法包括第一步驟,即步驟202,用于初始化一個訪問例如存儲器訪問等,在該步驟中把地址和屬性信息提供給多路超高速緩沖存儲器。在步驟204中,提供的屬性信息與多路超高速緩沖存儲器的各路的存儲屬性控制位相比較。這些存儲屬性控制位可能是存儲在上述寄存器80中的控制位。在步驟206中,根據(jù)上述比較結(jié)果,給多路超高速緩沖存儲器的各路提供允許信號,例如讀允許信號和寫允許信號。在步驟208中,根據(jù)允許信號,激活所選中的超高速緩沖存儲器路,而未被選中的路仍保持禁止。
當訪問超高速緩沖存儲器時,在步驟210中如果有超高速緩沖存儲命中,則在步驟212中繼續(xù)執(zhí)行只有被選中的超高速緩沖存儲器路參加的超高速緩沖存儲器訪問。另外,一個置換功能用于判定在下面的置換操作中將被置換的超高速緩沖存儲器入口。該置換只受所選擇的超高速緩沖存儲器路的影響。在超高速緩沖存儲器未被命中的情況下,在步驟214中,只有被選中的超高速緩沖存儲器路參加置換操作。作為一個特例,只有被選中的超高速緩沖存儲器路參加了置換操作,其中置換操作根據(jù)相應的訪問操作用來自外部存儲器的數(shù)據(jù)塊來置換現(xiàn)存的數(shù)據(jù)塊。然后在步驟216中訪問操作完成。
上述多路超高速緩沖存儲器裝置和方法具有許多優(yōu)點。例如,在某一處理應用中,通過給該應用中常用到的數(shù)據(jù)類類型提供以更高的分配來提高超高速緩沖存儲器的效率。例如,在某一應用中,如果由于處理而要訪問大量的指令類型數(shù)據(jù),則可從更高的超高速緩沖存儲器使用頻率上受益。通過根據(jù)多路的情況來選擇性地分配超高速緩沖存儲器資源,可取得最佳超高速緩沖存儲器分配。另外,由于對于特定的數(shù)據(jù)類類型單獨的超高速緩沖存儲器路可被取消選擇,因此可省電,這是由于未被選擇的超高速緩沖存儲器路沒有使用相關的耗電電路。這種節(jié)約電耗的方法在許多低電耗應用中尤其有用,例如在低功率手提設備中。
因此,至此描述了一種實施例,其中該實施例至少包括一個用于操作數(shù)據(jù)處理系統(tǒng)的改進后的多路超高速緩沖存儲器裝置和方法的最佳實施例。對于熟練的技術人員來講,所述方面可在多個方面予以改進,并且可假設除了上述最佳實施例外還有其他實施例。相應地,上述實施例是示例性的且不僅限于此,且在最大范圍內(nèi)合法,附加的權利要求書的目的在于涵蓋本發(fā)明領域和精神內(nèi)的所有的改進和其他的實施例。本發(fā)明的保護范圍由下述權利要求書或其他相應文件的最廣允許解釋決定,而不是由上述詳細描述決定。
權利要求
1.一種用于操作具有多路超高速緩沖存儲器的數(shù)據(jù)處理系統(tǒng)的方法,該方法具有以下步驟初始化一訪問操作;響應訪問操作訪問多路超高速緩沖存儲器;提供給多路超高速緩沖存儲器一個提供的訪問屬性作為訪問操作的一部分;把提供的訪問屬性與相應于多路超高速緩沖存儲器的第一路的第一存儲訪問屬性相比較;把提供的訪問屬性與相應于多路超高速緩沖存儲器的第二路的第二存儲訪問屬性相比較;根據(jù)提供的訪問屬性是否與第一存儲訪問屬性匹配,選擇性地激活多路超高速緩沖存儲器的第一路;根據(jù)提供的訪問屬性是否與第二存儲訪問屬性匹配,選擇性地激活多路超高速緩沖存儲器的第二路;
2.如權利要求1所述的方法,其中提供的訪問屬性,第一存儲訪問屬性,和第二存儲訪問屬性均為超級用戶/用戶屬性。
3.如權利要求1所述的方法,其特征在于還包括如下步驟在訪問操作中判定是否發(fā)生了超高速緩沖存儲器訪問未命中的情況;和如果發(fā)生了超高速緩沖存儲器訪問未命中的情況,則執(zhí)行置換操作,其中在置換操作中只使用已在訪問操作中選擇性地激活了的多路超高速緩沖存儲器中的路。
4.如權利要求1所述的方法,其中選擇性地激活多路超高速緩沖存儲器中的第一路的所述步驟包括選擇性地把第一讀允許信號提供給多路超高速緩沖存儲器的第一路;和選擇性地把第一寫允許信號提供給多路超高速緩沖存儲器的第一路。
5.如權利要求1所述的方法,其特征在于還包括如下步驟把第二個提供的訪問屬性提供給多路超高速緩沖存儲器,作為訪問操作的一部分;把第二個提供的訪問屬性與相應于多路超高速緩沖存儲器的第一路的第三存儲訪問屬性相比較;把第二個提供的訪問屬性與相應于多路超高速緩沖存儲器的第二路的第四存儲訪問屬性相比較;根據(jù)提供的訪問屬性是否與第一存儲訪問屬性匹配及第二個提供的訪問屬性是否與第三存儲訪問屬性匹配,選擇性地激活多路超高速緩沖存儲器的第一路;根據(jù)提供的訪問屬性是否與第二存儲訪問屬性匹配及第二個提供的訪問屬性是否與第四存儲訪問屬性匹配,選擇性地激活多路超高速緩沖存儲器的第二路。
6.一個集成電路,其特征在于一個具有第一路和第二路的超高速緩沖存儲器;一個第一存儲項,用于存儲有關超高速緩沖存儲器的第一路的第一存儲屬性;一個第二存儲項,用于存儲有關超高速緩沖存儲器的第二路的第二存儲屬性;一個用于傳送訪問屬性的導線;和控制電路,其中控制電路把訪問屬性與第一存儲屬性相比較以提供一個第一比較結(jié)果,并根據(jù)第一比較結(jié)果選擇性地激活超高速緩沖存儲器的第一路,并且控制電路把訪問屬性與第二存儲屬性相比較以提供一個第二比較結(jié)果,并根據(jù)第二比較結(jié)果選擇性地激活超高速緩沖存儲器的第二路。
7.如權利要求6所述的集成電路,其中所述第一存儲項包括第一用戶可編程寄存器位,且所述第二存儲項包括第二用戶可編程寄存器位。
8.如權利要求6所述的集成電路,其中超高速緩沖存儲器的第一路包括一個第一標記部分;和一個第一數(shù)據(jù)部分;并且其中超高速緩沖存儲器的第二路包括一個第二標記部分;和一個第二數(shù)據(jù)部分。
9.如權利要求6所述的集成電路,其中訪問屬性,第一存儲屬性和第二存儲屬性均為指令/數(shù)據(jù)屬性。
10.一個具有多路超高速緩沖存儲器的裝置,其特征在于一個第一用戶可控制項,其中第一用戶可控制項具有相應于多路超高速緩沖存儲器的第一路的預定第一屬性;一個第二用戶可控制項,其中第二用戶可控制項具有相應于多路超高速緩沖存儲器的第二路的預定第二屬性;一個用于把訪問屬性傳送給多路超高速緩沖存儲器的導線;第一比較電路,用于把訪問屬性與預定第一屬性相比較,以提供第一比較結(jié)果;第二比較電路,用于把訪問屬性與預定第二屬性相比較,以提供第二比較結(jié)果;第一路控制電路,用于根據(jù)第一比較結(jié)果選擇性地激活多路超高速緩沖存儲器的第一路;第二路控制電路,用于根據(jù)第二比較結(jié)果選擇性地激活多路超高速緩沖存儲器的第二路。
全文摘要
具有多路超高速緩沖存儲器的裝置,該裝置包括一個第一用戶可控制項,該控制項具有相應于多路超高速緩沖存儲器的第一路的預定第一屬性;一個第二用戶可控制項,該控制項具有相應于多路超高速緩沖存儲器的第二路的預定第二屬性;第一比較電路和第二比較電路,用于把訪問屬性與預定第一或第二屬性相比較,以提供第一或第二比較結(jié)果;第一路控制電路和第二路控制電路,用于根據(jù)第一或第二比較結(jié)果選擇性地激活多路超高速緩沖存儲器的第一或第二路。
文檔編號G06F12/08GK1233020SQ9910520
公開日1999年10月27日 申請日期1999年4月20日 優(yōu)先權日1998年4月20日
發(fā)明者威廉·C.·莫耶 申請人:摩托羅拉公司