用于高速緩沖存儲器線替代的系統(tǒng)和方法
【專利摘要】本發(fā)明涉及用于高速緩沖存儲器線替代的系統(tǒng)和方法。本發(fā)明描述一種用于確定要替代的高速緩沖存儲器線的系統(tǒng)。在一個實(shí)施例中,所述系統(tǒng)包括高速緩沖存儲器,所述高速緩沖存儲器包含多個高速緩沖存儲器線。所述系統(tǒng)進(jìn)一步包括識別器,其經(jīng)配置以識別要替代的高速緩沖存儲器線。所述系統(tǒng)還包括控制邏輯,其經(jīng)配置以確定所述識別器的值,所述值選自增量器、高速緩沖存儲器維護(hù)指令,或保持相同。
【專利說明】用于高速緩沖存儲器線替代的系統(tǒng)和方法
[0001 ] 分案申請的相關(guān)信息
[0002]本案是分案申請。本案的母案是申請日為2009年2月3日、申請?zhí)枮?00980106734.5、發(fā)明名稱為“用于高速緩沖存儲器線替代的系統(tǒng)和方法”的發(fā)明專利申請案。
技術(shù)領(lǐng)域
[0003]本文所揭示的發(fā)明性概念的實(shí)施例大體上涉及數(shù)據(jù)處理系統(tǒng)的領(lǐng)域。舉例來說,本文所揭示的發(fā)明性概念的實(shí)施例涉及用于高速緩沖存儲器線替代的系統(tǒng)和方法。
【背景技術(shù)】
[0004]在如今的許多計算系統(tǒng)中,存儲器(例如,隨機(jī)存取存儲器)存儲將由處理器用于計算指令的數(shù)據(jù)。舉例來說,存儲器可存儲將由處理器相加的兩個操作數(shù),且存儲來自所述兩個操作數(shù)的求和的結(jié)果。因此,在實(shí)例中,處理器可存取存儲器以讀取所述兩個操作數(shù),且再次存取所述存儲器以寫入結(jié)果。
[0005]存儲器可能具有比處理器慢的操作速度。因此,處理器在對存儲器的存取期間可能等待。因此,在處理器可能閑置而等待對存儲器的存取時,計算設(shè)備消耗功率和時間。為了增加計算系統(tǒng)的總體處理速度并減少功率消耗,可將具有比存儲器快的操作速度的高速緩沖存儲器耦合到處理器。所述高速緩沖存儲器包括多個高速緩沖存儲器線,其中每一高速緩沖存儲器線可將數(shù)據(jù)的一部分存儲在存儲器中。
[0006]由于高速緩沖存儲器比存儲器快,因此可由處理器使用的數(shù)據(jù)被預(yù)加載到高速緩沖存儲器的若干部分(例如,高速緩沖存儲器線)中。因此,當(dāng)處理器將檢索用于處理的數(shù)據(jù)時,所述處理器存取高速緩沖存儲器以獲得所述數(shù)據(jù)。如果高速緩沖存儲器不包括所述數(shù)據(jù),那么存取存儲器以獲得所述數(shù)據(jù)。
[0007]隨著更多數(shù)據(jù)被預(yù)加載到高速緩沖存儲器中,先前存儲的數(shù)據(jù)可被新計算或檢索到的數(shù)據(jù)替代。因此,可存在經(jīng)配置以確定填充和/或替代高速緩沖存儲器線的順序的系統(tǒng)。在常規(guī)處理器中,高速緩沖存儲器的高速緩沖存儲器線是按序使用的,其中一旦到達(dá)高速緩沖存儲器的最后一個高速緩沖存儲器線,處理器就返回到第一高速緩沖存儲器線。處理器中可存在用以確定并指向?qū)⒂伤鎏幚砥魇褂玫南乱桓咚倬彌_存儲器線的系統(tǒng)。一種此系統(tǒng)實(shí)施先入先出(FIFO)高速緩沖存儲器替代策略,其中使指針遞增以便循序地指向高速緩沖存儲器的下一高速緩沖存儲器線。
[0008]處理器可執(zhí)行一程序以包括使高速緩沖存儲器線無效的高速緩沖存儲器維護(hù)指令。由于指令可使高速緩沖存儲器線無效,因此在系統(tǒng)指向?qū)⒔柚幚砥鱽硖娲挠行Ц咚倬彌_存儲器線時,無效高速緩沖存儲器線可存在于高速緩沖存儲器中。因此,在實(shí)施FIFO替代策略的高速緩沖存儲器中,當(dāng)存在無效高速緩沖存儲器線時,有效的高速緩沖存儲器線可能通過加載操作而被替代。此方法中的一個問題在于,有效高速緩沖存儲器線的減少可能要求處理器更頻繁地存取存儲器,從而導(dǎo)致功率消耗增加且計算速度減小。
【發(fā)明內(nèi)容】
[0009]本發(fā)明描述一種用于確定要替代的高速緩沖存儲器線的系統(tǒng)。在一個實(shí)施例中,所述系統(tǒng)包括高速緩沖存儲器,所述高速緩沖存儲器包含多個高速緩沖存儲器線。所述系統(tǒng)進(jìn)一步包括識別器,所述識別器經(jīng)配置以識別要替代的高速緩沖存儲器線。所述系統(tǒng)還包括控制邏輯,所述控制邏輯經(jīng)配置以確定所述識別器的值,所述值選自增量器、高速緩沖存儲器維護(hù)指令,或保持相同。
[0010]本文所揭示的一個或一個以上實(shí)施例的優(yōu)點(diǎn)可包括省電和增加的處理器速度。
[0011]提到此說明性實(shí)施例不是為了限制或界定本文所揭示的發(fā)明性概念,而是為了提供實(shí)例以幫助其理解。在審閱整個申請案之后,本發(fā)明的其它方面、優(yōu)點(diǎn)和特征將變得明顯,申請案包括以下部分:【附圖說明】、【具體實(shí)施方式】和權(quán)利要求書。
【附圖說明】
[0012]當(dāng)參看附圖閱讀以下【具體實(shí)施方式】時,會更好地理解本文所揭示的本發(fā)明的發(fā)明性概念的這些和其它特征、方面和優(yōu)點(diǎn),其中:
[0013]圖1是說明用于確定要替代的高速緩沖存儲器線的常規(guī)系統(tǒng)的現(xiàn)有技術(shù)示意圖。
[0014]圖2是說明用于確定要替代的高速緩沖存儲器線的示范性系統(tǒng)的示意圖,其中存在按索引使無效指令。
[0015]圖3是說明用于確定要替代的高速緩沖存儲器線的示范性系統(tǒng)的示意圖,其中存在按索引使無效指令和按地址使無效指令。
[0016]圖4是說明圖2的示意圖中所說明的系統(tǒng)的操作的示范性方法的流程圖。
[0017]圖5是說明圖3的示意圖中所說明的系統(tǒng)的操作的示范性方法的流程圖。
[0018]圖6是說明并入有可包括如圖2到圖3中所說明的高速緩沖存儲器替代系統(tǒng)的數(shù)字信號處理器的實(shí)例便攜式通信裝置的總圖。
[0019]圖7是說明并入有可包括如圖2到圖3中所說明的高速緩沖存儲器替代系統(tǒng)的數(shù)字信號處理器的實(shí)例蜂窩式電話的總圖。
[0020]圖8是說明并入有可包括如圖2到圖3中所說明的高速緩沖存儲器替代系統(tǒng)的數(shù)字信號處理器的實(shí)例無線因特網(wǎng)協(xié)議電話的總圖。
[0021]圖9是說明并入有可包括如圖2到圖3中所說明的高速緩沖存儲器替代系統(tǒng)的數(shù)字信號處理器的實(shí)例便攜式數(shù)字助理的總圖。
[0022]圖10是說明并入有可包括如圖2到3中所說明的高速緩沖存儲器替代系統(tǒng)的數(shù)字信號處理器的實(shí)例音頻文件播放器的總圖。
【具體實(shí)施方式】
[0023]貫穿以下描述,出于闡釋的目的,陳述大量特定細(xì)節(jié)以便提供對本文所揭示的發(fā)明性概念的全面理解。然而,所屬領(lǐng)域的技術(shù)人員將明白,可在無這些特定細(xì)節(jié)中的某些細(xì)節(jié)的情況下實(shí)踐本文所揭示的發(fā)明性概念。在其它例子中,以框圖形式展示眾所周知的結(jié)構(gòu)和裝置,以避免混淆本文所揭示的發(fā)明性概念的基本原理。
[0024]本文所揭示的發(fā)明性概念的實(shí)施例涉及用于高速緩沖存儲器線替代的系統(tǒng)和方法。圖1的示意圖中所說明的常規(guī)系統(tǒng)100可經(jīng)修改以便減少高速緩沖存儲器中存在的無效高速緩沖存儲器線的數(shù)目。因此,可存在較少的高速緩存未中(cache miss)。因此,處理器在操作期間可較少地存取存儲器。
[0025]常規(guī)高速緩沖存儲器替代系統(tǒng)
[0026]圖1是說明用于確定要替代的高速緩沖存儲器線的常規(guī)系統(tǒng)100的示意圖。在系統(tǒng)100中,處理器經(jīng)循序配置以遍歷高速緩沖存儲器以替代存儲在高速緩沖存儲器線中的數(shù)據(jù)。
[0027]如圖1的示意圖中所說明,系統(tǒng)100包括標(biāo)簽存儲裝置110和狀態(tài)存儲裝置112。標(biāo)簽存儲裝置110和狀態(tài)存儲裝置112可為包含相同數(shù)目的組(例如,行)和路(例如,列)的陣列。狀態(tài)和標(biāo)簽陣列110、112的每一單元對應(yīng)于處理器的高速緩沖存儲器的一高速緩沖存儲器線。在系統(tǒng)100中,每一組包括十六個路(O到15),其可對應(yīng)于處理器可獨(dú)立地從其讀取和向其寫入的十六個數(shù)據(jù)高速緩沖存儲器線。
[0028]標(biāo)簽陣列110的每一單元存儲一標(biāo)簽。所述標(biāo)簽可為當(dāng)前對應(yīng)于一高速緩沖存儲器線的存儲器位置的地址。舉例來說,高速緩沖存儲器線可存儲來自具有存儲器地址A的存儲器位置的數(shù)據(jù)。因此,對應(yīng)的標(biāo)簽單元存儲存儲器地址A。狀態(tài)陣列112的每一單元存儲對應(yīng)的高速緩沖存儲器線的狀態(tài)(例如,有效或無效)。繼續(xù)上述實(shí)例,如果高速緩沖存儲器線中的所存儲值有效,那么狀態(tài)單元存儲指示所述高速緩沖存儲器線為有效的信息。將由處理器執(zhí)行的程序可包括高速緩沖存儲器維護(hù)指令,所述指令可包括用以通過直接指向?qū)⑹怪疅o效的高速緩沖存儲器線或指向標(biāo)簽(存儲對應(yīng)于所述標(biāo)簽的存儲器的值的高速緩沖存儲器線將因其而無效)來使高速緩沖存儲器線無效的指令。為使高速緩沖存儲器線無效,系統(tǒng)100可將無效狀態(tài)存儲在狀態(tài)陣列112的對應(yīng)單元中。
[0029]系統(tǒng)100進(jìn)一步包括多個識別器114(例如,指針)。識別器114的數(shù)目對應(yīng)于標(biāo)簽和狀態(tài)陣列110、112中的組的數(shù)目。此外,由于在系統(tǒng)100中,每組中的路的數(shù)目為16,因此每一識別器可為四個位。因此,每一 FIFO可經(jīng)配置以指向其相應(yīng)組的十六個路中的任一者,因此能夠指向與所述組相關(guān)聯(lián)的十六個高速緩沖存儲器線。
[0030]在系統(tǒng)100中,當(dāng)指令102將由處理器執(zhí)行時,指令102可由系統(tǒng)100接收。指令102可包括組104、字節(jié)106和標(biāo)簽108。字節(jié)106可為執(zhí)行所述指令的處理器將實(shí)施的操作的類型(例如,加載、相加等)。如果所述指令為加載或存儲,那么組104可為所述十六個高速緩沖存儲器線中一者的值可從中加載被存儲的組。標(biāo)簽108是存儲所述指令將包括的值的存儲器的存儲器地址。在一實(shí)例中,如果所述指令為加載操作數(shù)A,那么所述指令可包括組104(將操作數(shù)A存儲在高速緩沖存儲器中何處)、字節(jié)106(所述指令為加載指令)和標(biāo)簽108(操作數(shù)A存儲在存儲器中何處)。
[0031]系統(tǒng)100進(jìn)一步包括增量器120。在系統(tǒng)100中,對于識別器114中的每一者存在一增量器。用于待加載的高速緩沖存儲器的一組的對應(yīng)識別器114指向所述組的下一路。接著,當(dāng)將一值加載到所述高速緩沖存儲器的組104的所述路時,那么用于組104的識別器114的增量器120使所述識別器遞增,以指向所述高速緩沖存儲器的所述組的下一路。一旦遞增到所述組的最后一路,增量器就可翻轉(zhuǎn)所述值(例如,15到O),以便指向所述組的第一路。因此,循序地加載高速緩沖存儲器線。
[0032]如果指令102不是加載指令,那么系統(tǒng)100確定指令102的標(biāo)簽108是否存儲在標(biāo)簽陣列110中。如果標(biāo)簽108存儲在標(biāo)簽陣列110中,那么可存儲對應(yīng)于標(biāo)簽108的存儲器位置的存儲器值。存儲位置可為用于標(biāo)簽陣列110的其中存儲標(biāo)簽108的單元的相應(yīng)高速緩沖存儲器線。
[0033]系統(tǒng)100包括標(biāo)簽比較器116,用以確定存儲在對應(yīng)于標(biāo)簽108的存儲器位置中的存儲器值是否存儲在高速緩沖存儲器的高速緩沖存儲器線中。對于標(biāo)簽和狀態(tài)陣列的每一路(例如,列)可存在一標(biāo)簽比較器。因此,對于系統(tǒng)100,116中可存在十六個標(biāo)簽比較器。對于標(biāo)簽比較器的對應(yīng)的路,標(biāo)簽比較器將標(biāo)簽108與標(biāo)簽陣列110中為組104的路而存儲的標(biāo)簽進(jìn)行比較。標(biāo)簽比較器進(jìn)一步通過存取對應(yīng)于標(biāo)簽陣列110的單元的狀態(tài)陣列112的單元的狀態(tài)來確定存儲在標(biāo)簽陣列110中的標(biāo)簽是否有效。如果十六個比較器均未發(fā)現(xiàn)標(biāo)簽與有效狀態(tài)之間的匹配,那么標(biāo)簽比較器116可輸出表示所述存儲器值未存儲在高速緩沖存儲器中的未中信號118。因此,可將所述值從存儲器加載到高速緩沖存儲器中。如果十六個比較器中的一者發(fā)現(xiàn)標(biāo)簽與有效狀態(tài)之間的匹配,那么標(biāo)簽比較器116可輸出表示所述存儲器值存儲在高速緩沖存儲器中的命中信號118。因此,處理器可存取高速緩沖存儲器而不是存取存儲器。
[0034]如果指令102為加載指令,那么系統(tǒng)100可存取用于組104的識別器114,以確定將加載哪一高速緩沖存儲器線。接著使識別器114遞增,以便指向?qū)⒓虞d的下一高速緩沖存儲器線。
[0035]由于可存在用以使高速緩沖存儲器的高速緩沖存儲器線無效的指令,因此在對應(yīng)的識別器指向高速緩沖存儲器的一不同高速緩沖存儲器線時,可能存在無效的高速緩沖存儲器線。因此,在包括常規(guī)系統(tǒng)100的處理器中,當(dāng)存在無效高速緩沖存儲器線時,有效的高速緩沖存儲器線可能通過加載操作而被替代。
[0036]高速緩沖存儲器維護(hù)指令
[0037]高速緩沖存儲器維護(hù)指令可包括按索引使無效(invalidate by index)指令和按地址使無效(invalidate by address)指令。按索引使無效指令包括將使之無效的高速緩沖存儲器的索引。因此,所述指令明確地指向?qū)⑹怪疅o效的高速緩沖存儲器線。因此,當(dāng)處理器執(zhí)行按索引使無效指令時,狀態(tài)陣列的對應(yīng)于被索引高速緩沖存儲器線的單元存儲無效狀態(tài)。
[0038]按地址使無效指令包括存儲器的地址(例如,標(biāo)簽)。因此,當(dāng)處理器執(zhí)行按地址使無效指令時,處理器將使與存儲器地址相關(guān)聯(lián)的高速緩沖存儲器線無效。因此,處理器在標(biāo)簽陣列中搜索存儲器地址,且使與存儲匹配標(biāo)簽的標(biāo)簽單元相關(guān)聯(lián)的高速緩沖存儲器線無效。
[0039]在示范性系統(tǒng)200(圖2)和示范性系統(tǒng)300(圖3)中,對于經(jīng)由使無效指令而變?yōu)闊o效的高速緩沖存儲器線,系統(tǒng)200、300可選派對應(yīng)于用于無效高速緩沖存儲器線的組的識別器,使得所述識別器指向所述無效高速緩沖存儲器線。因此,無效的高速緩沖存儲器線在同一組的有效高速緩沖存儲器線之前被替代。
[0040]高速緩沖存儲器替代系統(tǒng)的說明性實(shí)施例
[0041]圖2到圖3中的示意圖說明用于替代高速緩沖存儲器線的系統(tǒng)的示范性實(shí)施例。圖2的示意圖說明用于確定高速緩沖存儲器的要替代的高速緩沖存儲器線的示范性系統(tǒng)200,其中處理器的操作期間存在按索引使無效指令。圖3的示意圖說明用于確定高速緩沖存儲器的要替代的高速緩沖存儲器線的示范性系統(tǒng)300,其中處理器的操作期間存在按索引使無效指令和按地址使無效指令。
[0042]參看圖2,與圖1的系統(tǒng)100相比,系統(tǒng)200包括選擇器202。在非維護(hù)指令的處理期間,選擇器202選擇經(jīng)遞增的識別器值(S卩,增量器120的輸出)。因此,系統(tǒng)200可類似于圖1中的系統(tǒng)100而操作。舉例來說,在加載操作期間,系統(tǒng)200使用指令102的組104來選擇識別器114、狀態(tài)陣列112的組和標(biāo)簽陣列110的組。處理器接著將存儲在存儲器的標(biāo)簽108中的值加載到由組104和識別器114識別的高速緩沖存儲器線中。由于字節(jié)106顯示所述指令為加載指令,因此接收到字節(jié)106的增量器120使所選擇的識別器114遞增,以指向所述組的下一高速緩沖存儲器線。由于所述指令不是高速緩沖存儲器維護(hù)/按索引使無效指令,因此選擇器202接著選擇所述增量器的輸出(經(jīng)遞增的識別器值)。識別器114接著存儲經(jīng)遞增的識別器值。
[0043]在另一實(shí)例中,在存儲操作期間,系統(tǒng)200使用指令102的組104來選擇識別器114、狀態(tài)陣列112的組和標(biāo)簽陣列110的組。處理器將對應(yīng)于組104和一預(yù)定路的高速緩沖存儲器線的值發(fā)送到由標(biāo)簽108識別的存儲器的存儲器位置以供存儲。由于所述指令不是加載指令,也不需要來自存儲器的值以便由處理器執(zhí)行,因此增量器120并不使識別器值遞增。由于所述指令不是按索引使無效指令,因此選擇器202選擇增量器120的輸出。因此,識別器的識別器值在存儲指令的執(zhí)行期間保持相同。
[0044]一些指令(例如相加或相乘)可包括將用于指令的執(zhí)行的操作數(shù)。所述操作數(shù)按照慣例存儲在存儲器中。因此,所述操作數(shù)可存儲在高速緩沖存儲器中。因此,系統(tǒng)200可確定所述操作數(shù)是否存儲在高速緩沖存儲器中。類似于圖1中的系統(tǒng)100,如果所述操作數(shù)存儲在高速緩沖存儲器中,那么從標(biāo)簽比較器116輸出命中信號118。如果所述操作數(shù)未存儲在高速緩沖存儲器中,那么從標(biāo)簽比較器116輸出未中信號118。將命中或未中信號118路由到增量器120,以幫助控制增量器120是否使識別器值遞增。
[0045]如果信號118為未中,那么所述操作數(shù)未存儲在高速緩沖存儲器中,且需要從存儲器加載到高速緩沖存儲器。因此,用于組104的識別器114識別將替代的下一高速緩沖存儲器線。將操作數(shù)加載到所識別的高速緩沖存儲器線。在接收到未中信號118后,增量器120使識別器值遞增,以便指向被替代的高速緩沖存儲器線之后的下一高速緩沖存儲器線。如果信號118為命中,那么無需將操作數(shù)從存儲器加載到高速緩沖存儲器。因此,在接收到命中信號118后,增量器120不改變識別器值。
[0046]系統(tǒng)200的操作在高速緩沖存儲器維護(hù)指令(例如,高速緩沖存儲器使無效指令)的執(zhí)行期間從系統(tǒng)100(圖1)的操作轉(zhuǎn)向。當(dāng)執(zhí)行高速緩沖存儲器維護(hù)指令時,選擇器202選擇來自所述指令的索引輸入。處理器還使被索引的高速緩沖存儲器線無效。由于選擇器202選擇來自所述指令的索引,因此用于被索引高速緩沖存儲器線的識別器114等于所述索引,以便指向無效的高速緩沖存儲器線。因此,當(dāng)使一高速緩沖存儲器線無效時,系統(tǒng)200將所述無效的高速緩沖存儲器線設(shè)置為一組中將被替代的下一高速緩沖存儲器線。
[0047]參看圖3,可按索引或按地址來執(zhí)行使無效操作。因此,與圖1中的系統(tǒng)100相比,系統(tǒng)300包括編碼器302和選擇器304。類似于圖2中的系統(tǒng)200,系統(tǒng)300在非維護(hù)指令的執(zhí)行期間類似于圖1的系統(tǒng)100而操作。但當(dāng)執(zhí)行維護(hù)指令時,所述維護(hù)指令可為按索引使無效指令或按地址使無效指令。如果高速緩沖存儲器維護(hù)指令為按索引使無效指令,那么選擇器304選擇來自指令102的索引,且系統(tǒng)300類似于圖2中的系統(tǒng)200而操作。
[0048]如果高速緩沖存儲器維護(hù)指令為按地址使無效指令,那么選擇器304選擇編碼器302的輸出。如先前所描述,按地址使無效指令包括存儲器地址,處理器將因為所述地址而發(fā)現(xiàn)與標(biāo)簽108的存儲器位置相關(guān)聯(lián)的高速緩沖存儲器線,并使所述高速緩沖存儲器線無效。因此,編碼器302可經(jīng)配置以輸出與存儲器的標(biāo)簽108的存儲器位置相關(guān)聯(lián)的組104中的高速緩沖存儲器線的識別器值,使得所述識別器指向要借助處理器來替代的無效高速緩沖存儲器線。
[0049]對于標(biāo)簽陣列的一組中的每一路存在一標(biāo)簽比較器。因此,在說明性實(shí)施例中,可存在十六個標(biāo)簽比較器。如先前所陳述,如果標(biāo)簽比較器具有有效的標(biāo)簽匹配,那么標(biāo)簽比較器輸出命中信號。在一個實(shí)施例中,如果比較器對標(biāo)簽進(jìn)行匹配,且從狀態(tài)陣列112中的對應(yīng)單元接收到有效狀態(tài),那么比較器輸出一。一組中僅一個高速緩沖存儲器線可與一存儲器地址(標(biāo)簽108)相關(guān)聯(lián)。因此,用于組104的十六個標(biāo)簽比較器的輸出可為:(i)表示未中的十六個零(即,每個零各來自一個標(biāo)簽比較器),或(ii)表示命中的十五個零和一個一(即,一個一來自對標(biāo)簽進(jìn)行匹配且接收到有效狀態(tài)的標(biāo)簽比較器,且每個零各來自其余十五個標(biāo)簽比較器中的每一者)。因此,從標(biāo)簽比較器116將所述十六個位發(fā)送到編碼器302。
[0050]在一個實(shí)施例中,編碼器302經(jīng)配置以將接收到的十六個位值編碼為一個四位識別器值。舉例來說,如果用于組104的路10(來自路O到15)的標(biāo)簽比較器為一,那么編碼器可輸出“1010”。在另一實(shí)例中,如果路3為一,那么編碼器302可輸出“0011”。因此,編碼器302輸出的識別器值由選擇器304選擇且由識別器114存儲,使得無效的高速緩沖存儲器線被指向作為將替代的下一高速緩沖存儲器線。
[0051]高速緩沖存儲器替代系統(tǒng)的操作的示范性方法
[0052]圖4到圖5是說明高速緩沖存儲器替代系統(tǒng)200、300的操作的示范性方法的流程圖。圖4是說明圖2的示意圖中所說明的系統(tǒng)200的操作的示范性方法400的流程圖。圖5是說明圖3的示意圖中所說明的系統(tǒng)300的操作的示范性方法500的流程圖。
[0053]參看圖4,系統(tǒng)200在402中確定待執(zhí)行的指令是否為高速緩沖存儲器維護(hù)指令。用于系統(tǒng)200的高速緩沖存儲器維護(hù)指令是按索引使無效指令。如果指令不是高速緩沖存儲器維護(hù)指令,那么系統(tǒng)200在404中選派用于組104的識別器作為增量器120的輸出。在一個實(shí)施例中,選擇器202選擇增量器120的輸出以將值饋送回識別器114中。如果增量器120接收到來自標(biāo)簽比較器116的命中信號118,那么增量器120不使識別器值遞增。如果增量器120接收到未中信號118,那么增量器120使識別器值遞增。因此,用于組104的識別器要么保持相同,要么遞增。
[0054]如果所述指令是高速緩沖存儲器維護(hù)指令,那么系統(tǒng)200從指令102檢索使無效索弓I。接著在408中使位于所述索引處的高速緩沖存儲器線無效。進(jìn)行到410,系統(tǒng)200選派用于組104的識別器作為來自指令的索引。在一個實(shí)施例中,選擇器202選擇來自指令的索引以饋送回識別器114中。因此,識別器指向無效的高速緩沖存儲器線作為將替代的下一高速緩沖存儲器線。
[0055]關(guān)于圖3中的系統(tǒng)300而參看圖5,系統(tǒng)300確定待執(zhí)行的指令是否為高速緩沖存儲器維護(hù)指令(502和510)。用于系統(tǒng)300的高速緩沖存儲器維護(hù)指令可為按索引使無效指令或按地址使無效指令。因此,在502中開始,系統(tǒng)300確定指令是否為按索引使無效指令。如果指令是按索引使無效指令,那么系統(tǒng)300在504中從指令102檢索使無效索引。接著在506中使位于所述索引處的高速緩沖存儲器線無效。進(jìn)行到508,系統(tǒng)200選派用于組104的識別器作為來自所述指令的索引。在一個實(shí)施例中,選擇器304選擇來自所述指令的索引以饋送回識別器114中。因此,識別器指向無效的高速緩沖存儲器線作為將替代的下一高速緩沖存儲器線。
[0056]如果所述指令不是按索引使無效指令,那么系統(tǒng)300在510中確定所述指令是否為高速緩沖存儲器按地址使無效指令。如果所述指令是按地址使無效指令,那么系統(tǒng)300在512中從指令102檢索使無效存儲器地址(例如,標(biāo)簽108)。進(jìn)行到514,系統(tǒng)300確定用于組104的任何高速緩沖存儲器線是否存儲存儲器中位于從指令102檢索到的存儲器地址(例如,標(biāo)簽108)處的值。
[0057]如果系統(tǒng)300確定高速緩沖存儲器線存儲來自存儲器中所述地址處的值,那么系統(tǒng)300的編碼器302在516中對來自標(biāo)簽比較器116的輸出進(jìn)行編碼以產(chǎn)生高速緩沖存儲器線索引(例如,指向無效的高速緩沖存儲器線的四位識別器值)。進(jìn)行到518,系統(tǒng)300將用于組104的識別器選派為經(jīng)編碼值,使得組104的識別器指向?qū)闊o效的高速緩沖存儲器線。在520中使所述高速緩沖存儲器線無效。
[0058]如果系統(tǒng)300在514中確定存儲在使無效地址的存儲器位置中的值未存儲在高速緩沖存儲器中,那么用于組104的識別器114保持相同,因為在522中未使任何高速緩沖存儲器線無效。返回參看510,如果指令不是按地址使無效指令,那么指令不是高速緩沖存儲器維護(hù)指令。因此,系統(tǒng)300在524中選派用于組104的識別器作為增量器120的輸出。在一個實(shí)施例中,選擇器304選擇增量器120的輸出以將值饋送回識別器114中。如果增量器120接收到來自標(biāo)簽比較器116的命中信號118,那么增量器120不使識別器值遞增。如果增量器120接收到未中信號118,那么增量器120使識別器值遞增。因此,用于組104的識別器要么保持相同,要么遞增。
[0059]包括高速緩沖存儲器替代系統(tǒng)的實(shí)例裝置
[0060]可在任何包括寄存器堆的處理器(例如數(shù)字信號處理器)中包括多模式寄存器堆。圖6到圖10的總圖說明可并入有高速緩沖存儲器替代系統(tǒng)以如圖2和圖3的示意圖中所說明那樣替代無效的高速緩沖存儲器線的實(shí)例裝置。
[0061]圖6是說明便攜式通信裝置600的示范性實(shí)施例的圖。如圖6的總圖中所說明,所述便攜式通信裝置包括芯片上系統(tǒng)602,所述芯片上系統(tǒng)602包括數(shù)字信號處理器(DSP)604。圖6的總圖還展示顯示器控制器606,其耦合到數(shù)字信號處理器604和顯示器608。而且,輸入裝置610耦合到DSP 604。如圖所示,存儲器612耦合到DSP 604。另外,編碼器/解碼器(C0DEC)614可耦合到DSP 604。揚(yáng)聲器616和麥克風(fēng)618可耦合到CODEC 614。
[0062]圖6的總圖進(jìn)一步說明無線控制器620,其耦合到數(shù)字信號處理器604和無線天線622。在特定實(shí)施例中,電力供應(yīng)624耦合到芯片上系統(tǒng)602。而且,在特定實(shí)施例中,如圖6中所說明,顯示器626、輸入裝置630、揚(yáng)聲器616、麥克風(fēng)618、無線天線622和電力供應(yīng)624在芯片上系統(tǒng)602外部。然而,顯示器626、輸入裝置630、揚(yáng)聲器616、麥克風(fēng)618、無線天線622和電力供應(yīng)624中的每一者均耦合到芯片上系統(tǒng)602的一組件。
[0063]在特定實(shí)施例中,DSP604包括高速緩沖存儲器替代系統(tǒng)680以確定DSP 604的高速緩沖存儲器的哪些高速緩沖存儲器線將用來自存儲器612的值替代。
[0064]圖7是說明蜂窩式電話700的示范性實(shí)施例的圖。如圖所示,蜂窩式電話700包括芯片上系統(tǒng)702,其包括耦合在一起的數(shù)字基帶處理器704和模擬基帶處理器706。在特定實(shí)施例中,數(shù)字基帶處理器704是數(shù)字信號處理器。如圖7的總圖中所說明,顯示器控制器708和觸摸屏控制器710耦合到數(shù)字基帶處理器704。在芯片上系統(tǒng)702外部的觸摸屏顯示器712又耦合到顯示器控制器708和觸摸屏控制器710。
[0065]圖7的總圖進(jìn)一步說明視頻編碼器714(例如,逐行倒相(PAL)編碼器、順序傳送彩色與記憶制(sequential couleur a memoire,SECAM)編碼器或美國國家電視系統(tǒng)委員會(NTSC)編碼器)耦合到數(shù)字基帶處理器704。此外,視頻放大器716耦合到視頻編碼器714和觸摸屏顯示器712。而且,視頻端口 718耦合到視頻放大器716。如圖7的總圖中所描繪,通用串行總線(USB)控制器720耦合到數(shù)字基帶處理器704。而且,USB端口 722耦合到USB控制器720。存儲器724和訂戶身份模塊(SIM)卡726也可耦合到數(shù)字基帶處理器704。此外,如圖7的總圖中所示,數(shù)字相機(jī)728可耦合到數(shù)字基帶處理器704。在示范性實(shí)施例中,數(shù)字相機(jī)728是電荷耦合裝置(CCD)相機(jī)或互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)相機(jī)。
[0066]如圖7的總圖中進(jìn)一步說明,立體聲音頻CODEC730可耦合到模擬基帶處理器706。而且,音頻放大器732可耦合到立體聲音頻CODEC 730。在示范性實(shí)施例中,第一立體聲揚(yáng)聲器734和第二立體聲揚(yáng)聲器736耦合到音頻放大器732。麥克風(fēng)放大器738也可耦合到立體聲音頻CODEC 730。另外,麥克風(fēng)740可耦合到麥克風(fēng)放大器738。在特定實(shí)施例中,頻率調(diào)制(FM)無線電調(diào)諧器742可耦合到立體聲音頻CODEC 730。而且,F(xiàn)M天線744耦合到FM無線電調(diào)諧器742。此外,立體聲頭戴式耳機(jī)746可耦合到立體聲音頻CODEC 730。
[0067]圖7的總圖進(jìn)一步說明射頻(RF)收發(fā)器748可耦合到模擬基帶處理器706AF開關(guān)750可耦合到RF收發(fā)器748和RF天線752。小鍵盤754可耦合到模擬基帶處理器706。而且,具有麥克風(fēng)的單聲道頭戴耳機(jī)756可耦合到模擬基帶處理器706。此外,振動器裝置758可耦合到模擬基帶處理器706。圖7的總圖還展示電力供應(yīng)760可耦合到芯片上系統(tǒng)702。在特定實(shí)施例中,電力供應(yīng)760是直流(DC)電力供應(yīng),其向蜂窩式電話700的各種組件提供電力。此夕卜,在特定實(shí)施例中,所述電力供應(yīng)是可再充電DC電池或從耦合到AC電源的交流(AC)到DC變壓器得到的DC電力供應(yīng)。
[0068]如圖7的總圖中所描繪,觸摸屏顯示器712、視頻端口 718、USB端口 722、相機(jī)728、第一立體聲揚(yáng)聲器734、第二立體聲揚(yáng)聲器736、麥克風(fēng)740、FM天線744、立體聲頭戴式耳機(jī)746、RF開關(guān)750、RF天線752、小鍵盤754、單聲道頭戴耳機(jī)756、振動器758和電力供應(yīng)760可在芯片上系統(tǒng)702外部。在特定實(shí)施例中,數(shù)字基帶處理器704包括高速緩沖存儲器替代系統(tǒng)780,以確定處理器704的高速緩沖存儲器的哪些高速緩沖存儲器線將由來自存儲器724的值替代。
[0069I圖8是說明無線因特網(wǎng)協(xié)議(IP)電話800的示范性實(shí)施例的圖。如圖所示,無線IP電話800包括芯片上系統(tǒng)802,所述芯片上系統(tǒng)802包括數(shù)字信號處理器(DSP)804。顯示器控制器806可耦合到DSP 804,且顯示器808耦合到顯示器控制器806。在示范性實(shí)施例中,顯示器808是液晶顯示器(IXD)。圖8進(jìn)一步展示小鍵盤810可耦合到DSP 804。
[0070]快閃存儲器812可耦合到DSP 804。同步動態(tài)隨機(jī)存取存儲器(SDRAM)814、靜態(tài)隨機(jī)存取存儲器(SRAM)816和電可擦除可編程只讀存儲器(EEPR0M)818也可耦合到DSP 804。圖8的總圖還展示發(fā)光二極管(LED)820可耦合到DSP 804。另外,在特定實(shí)施例中,語音CODEC 822可耦合到DSP 804。放大器824可耦合到語音C0DEC822,且單聲道揚(yáng)聲器826可耦合到放大器824。圖8的總圖進(jìn)一步說明耦合到語音⑶DEC 822的單聲道頭戴耳機(jī)828。在特定實(shí)施例中,單聲道頭戴耳機(jī)828包括麥克風(fēng)。
[0071]無線局域網(wǎng)(WLAN)基帶處理器830可耦合到DSP 804AF收發(fā)器832可耦合到WLAN基帶處理器830,且RF天線834可耦合到RF收發(fā)器832。在特定實(shí)施例中,藍(lán)牙控制器836也可耦合到DSP 804,且藍(lán)牙天線838可耦合到控制器836。圖8的總圖還展示USB端口 840也可耦合到DSP 804。而且,電力供應(yīng)842耦合到芯片上系統(tǒng)802,且向無線IP電話800的各種組件提供電力。
[0072]如圖8的總圖中所指示,顯示器808、小鍵盤810、LED 820、單聲道揚(yáng)聲器826、單聲道頭戴耳機(jī)828、RF天線834、藍(lán)牙天線838、USB端口 840和電力供應(yīng)842可在芯片上系統(tǒng)802外部,且耦合到芯片上系統(tǒng)802的一個或一個以上組件。在特定實(shí)施例中,數(shù)字信號處理器804包括高速緩沖存儲器替代系統(tǒng)880,以確定處理器804的高速緩沖存儲器的哪些高速緩沖存儲器線將用來自快閃存儲器812、SDRAM 814,SRAM 816和/或EEPROM 818的值替代。
[0073]圖9是說明便攜式數(shù)字助理(PDA)900的示范性實(shí)施例的圖。如圖所示,PDA 900包括芯片上系統(tǒng)902,芯片上系統(tǒng)902包括數(shù)字信號處理器(DSP)904。觸摸屏控制器906和顯示器控制器908耦合到DSP 904。此外,觸摸屏顯示器910耦合到觸摸屏控制器906且耦合到顯示器控制器908。圖9的總圖還指示小鍵盤912可耦合到DSP 904。
[0074]在特定實(shí)施例中,立體聲音頻CODEC 926可耦合到DSP 904。第一立體聲放大器928可耦合到立體聲音頻CODEC 926,且第一立體聲揚(yáng)聲器930可耦合到第一立體聲放大器928。另外,麥克風(fēng)放大器932可耦合到立體聲音頻CODEC 926,且麥克風(fēng)934可耦合到麥克風(fēng)放大器932。圖9的總圖進(jìn)一步展示第二立體聲放大器936可耦合到立體聲音頻CODEC 926,且第二立體聲揚(yáng)聲器938可耦合到第二立體聲放大器936。在特定實(shí)施例中,立體聲頭戴式耳機(jī)940也可耦合到立體聲音頻CODEC 926。
[0075]圖9的總圖還說明802.11控制器942可耦合到DSP 904,且802.11天線944可耦合到802.11控制器942。而且,藍(lán)牙控制器946可耦合到DSP 904,且藍(lán)牙天線948可耦合到藍(lán)牙控制器946 WSB控制器950可耦合到DSP 904,且USB端口 952可耦合到USB控制器950。另外,智能卡954(例如,多媒體卡(MMC)或安全數(shù)字卡(SD))可耦合到DSP 904。此外,電力供應(yīng)956可耦合到芯片上系統(tǒng)902,且可向PDA 900的各種組件提供電力。
[0076]如圖9的總圖中所指示,顯示器910、小鍵盤912、IrDA端口 922、數(shù)字相機(jī)924、第一立體聲揚(yáng)聲器930、麥克風(fēng)934、第二立體聲揚(yáng)聲器938、立體聲頭戴式耳機(jī)940、802.11天線944、藍(lán)牙天線948、USB端口 952和電力供應(yīng)956可在芯片上系統(tǒng)902外部,且耦合到所述芯片上系統(tǒng)的一個或一個以上組件。在特定實(shí)施例中,數(shù)字信號處理器904包括高速緩沖存儲器替代系統(tǒng)980,以確定處理器904的高速緩沖存儲器的哪些高速緩沖存儲器線將用來自快閃存儲器914、R0M 916、DRAM 918和/或EEPROM 920的值替代。
[0077]圖10是說明音頻文件播放器(例如,MP3播放器)1000的示范性實(shí)施例的圖。如圖所示,音頻文件播放器1000包括芯片上系統(tǒng)1002,芯片上系統(tǒng)1002包括數(shù)字信號處理器(DSP)1004。顯示器控制器1006可耦合到DSP 1004,且顯示器1008耦合到顯示器控制器1006。在示范性實(shí)施例中,顯示器1008是液晶顯示器(IXD)。小鍵盤1010可耦合到DSP 1004。
[0078]如圖1O的總圖中進(jìn)一步描繪,快閃存儲器1012和只讀存儲器(ROM) 1014可耦合到DSP 1004。另外,在特定實(shí)施例中,音頻CODEC 1016可耦合到DSP 1004。放大器1018可耦合到音頻⑶DEC 1016,且單聲道揚(yáng)聲器1020可耦合到放大器1018。圖10的總圖進(jìn)一步指示麥克風(fēng)輸入1022和立體聲輸入1024也可耦合到音頻⑶DEC 1016。在特定實(shí)施例中,立體聲頭戴式耳機(jī)1026也可耦合到音頻CODEC 1016。
[0079]USB端口 1028和智能卡1030可耦合到DSP 1004。另外,電力供應(yīng)1032可耦合到芯片上系統(tǒng)1002,且可向音頻文件播放器1000的各種組件提供電力。
[0080]如圖10的總圖中所指示,顯示器1008、小鍵盤1010、單聲道揚(yáng)聲器1020、麥克風(fēng)輸入1022、立體聲輸入1024、立體聲頭戴式耳機(jī)1026、USB端口 1028和電力供應(yīng)1032在芯片上系統(tǒng)1002外部,且耦合到芯片上系統(tǒng)1002上的一個或一個以上組件。在特定實(shí)施例中,數(shù)字信號處理器1004包括高速緩沖存儲器替代系統(tǒng)1080,以確定處理器1004的高速緩沖存儲器的哪些高速緩沖存儲器線將用來自快閃存儲器1012和/SROM 1014的值替代。
[0081]^
[0082]已僅出于說明和描述的目的而呈現(xiàn)了對本文所揭示的發(fā)明性概念的實(shí)施例的以上描述,且不希望以上描述是詳盡的或?qū)⒈疚乃沂镜陌l(fā)明性概念限于所揭示的精確形式。在不脫離本文所揭示的發(fā)明性概念的精神和范圍的情況下,所屬領(lǐng)域的技術(shù)人員可明白許多修改和適應(yīng)。
【主權(quán)項】
1.一種方法,其包含: 接收包括在高速緩沖存儲器按索引使無效指令中的索引值、經(jīng)編碼的路值、及增量器輸出值;以及 響應(yīng)于接收所述高速緩沖存儲器按索引使無效指令,將所述索引值指派為識別器器的值,其中所述識別器的值指示要替代的高速緩沖存儲器線。2.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩沖存儲器線包含在高速緩沖存儲器的多個高速緩沖存儲器線中,其中從編碼器接收所述經(jīng)編碼的路值,且其中從增量器接收所述增量器輸出值。3.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含,于包含在所述處理器中的識別器處,基于所述識別器的值,識別所要替代的高速緩沖存儲器線。4.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)編碼的路值是基于比較器的比較器輸出,其中所述比較器輸出至少部分基于包含標(biāo)簽索引的第一比較以及包含狀態(tài)索引的第二比較而確定。5.根據(jù)權(quán)利要求1所述的方法,其中由包含在所述處理器中的控制邏輯指派所述識別器的值。6.根據(jù)權(quán)利要求1所述的方法,其中于包含在所述處理器中的選擇器處,接收所述索引值、所述經(jīng)編碼的路值、及所述增量器輸出值。7.一種方法,其包含: 接收執(zhí)行的高速緩沖存儲器指令,其中識別器的值從索引值、經(jīng)編碼的路值、或增量器輸出值中選擇,其中所述識別器的值基于所述高速緩沖存儲器指令而選擇,所述識別器的值指示要替代的高速緩沖存儲器線,以及當(dāng)所述高速緩沖存儲器指令包含高速緩沖存儲器按索引使無效指令時,所述索引值被選擇為所述識別器的值。8.根據(jù)權(quán)利要求7所述的方法,其進(jìn)一步包括執(zhí)行所述高速緩沖存儲器指令。9.根據(jù)權(quán)利要求7所述的方法,其進(jìn)一步包括基于所述識別器的值使所述高速緩沖存儲器線無效。10.根據(jù)權(quán)利要求7所述的方法,其中,當(dāng)所述高速緩沖存儲器指令包含高速緩沖存儲器按地址使無效指令,響應(yīng)于所述高速緩沖存儲器按地址使無效指令和高速緩沖存儲器命中而將所述經(jīng)編碼的路值選擇為所述識別器的值,所述高速緩沖存儲器命中基于標(biāo)簽的索引和所述高速緩沖存儲器按地址使無效指令的標(biāo)簽而決定。11.根據(jù)權(quán)利要求7所述的方法,其中,當(dāng)所述高速緩沖存儲器指令包含高速緩沖存儲器按地址使無效指令,響應(yīng)于所述高速緩沖存儲器按地址使無效指令和高速緩沖存儲器未中而使所述識別器的值保持不變,所述高速緩沖存儲器未中基于標(biāo)簽的索引和所述高速緩沖存儲器按地址使無效指令的標(biāo)簽而決定。12.根據(jù)權(quán)利要求7所述的方法,其進(jìn)一步包含,接收包括在所述高速緩沖存儲器按索引使無效指令中的所述索引值;從編碼器接收所述經(jīng)編碼的路值,以及從增量器接收所述增量器輸出值。13.—種方法,其包含: 基于高速緩沖存儲器指令,將索引值、經(jīng)編碼的路值、或增量器輸出值中的一者指派為識別器的值,其中所述識別器的值指示要替代的高速緩沖存儲器線,以及其中響應(yīng)于所述高速緩沖存儲器指令為高速緩沖存儲器按索引使無效指令而將所述索引值指派為所述識別器的值。14.根據(jù)權(quán)利要求13所述的方法,其中基于選擇器的輸出指派所述識別器的值,以及其中所述選擇器經(jīng)配置以接收所述索引值、所述經(jīng)編碼的路值、及所述增量器輸出值。15.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包含接收所述高速緩沖存儲器指令。16.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包含確定所述高速緩沖存儲器指令是否為高速緩沖存儲器維護(hù)指令,其中所述高速緩沖存儲器維護(hù)指令包含所述高速緩沖存儲器按索引使無效指令和高速緩沖存儲器按地址使無效指令中的一者。17.根據(jù)權(quán)利要求16所述的方法,其進(jìn)一步包含響應(yīng)于確定所述高速緩沖存儲器指令不是所述高速緩沖存儲器維護(hù)指令,識別與所述高速緩沖存儲器指令相關(guān)聯(lián)的高速緩沖存儲器未中和與所述高速緩沖存儲器指令相關(guān)聯(lián)的高速緩沖存儲器命中中的一者。18.根據(jù)權(quán)利要求17所述的方法,其中響應(yīng)于識別與所述高速緩沖存儲器指令相關(guān)聯(lián)的所述高速緩沖存儲器未中,將所述增量器輸出值指派為所述識別器的值。19.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包含確定所述高速緩沖存儲器指令是所述高速緩沖存儲器按索引使無效指令或高速緩沖存儲器按地址使無效指令。20.根據(jù)權(quán)利要求19所述的方法,其中,當(dāng)所述高速緩沖存儲器指令是所述高速緩沖存儲器按地址使無效指令時,響應(yīng)于高速緩沖存儲器命中而將所述經(jīng)編碼的路值指派為所述識別器的值,所述高速緩沖存儲器命中基于標(biāo)簽的索引和所述高速緩沖存儲器按地址使無效指令的標(biāo)簽之間的比較而決定。
【文檔編號】G06F12/12GK105868128SQ201610180597
【公開日】2016年8月17日
【申請日】2009年2月3日
【發(fā)明人】阿賈伊·A·英格爾, 埃里克·J·普隆德克, 盧奇安·科德雷斯庫
【申請人】高通股份有限公司