專利名稱:包括緩沖器控制邏輯的信號處理系統(tǒng)、集成電路及其方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域涉及包括緩沖器控制邏輯的信號處理系統(tǒng)及其方法,更確切地說, 涉及一種包括將設(shè)置用以分配用于信息存儲的緩沖器的緩沖器控制邏輯的信號處理系統(tǒng)。
背景技術(shù):
在信號處理系統(tǒng)中,較之已經(jīng)發(fā)起提取指令的主設(shè)備的操作頻率,從存儲器中提取指令和數(shù)據(jù)經(jīng)常是較慢的處理。因此,如果該系統(tǒng)正在進(jìn)行大量的這種提取操作,其能夠?qū)е驴傮w系統(tǒng)性能的顯著降低。隨著中心處理單元(CPU)時鐘頻率增加,諸如多核的技術(shù)變得更為普遍,片上系統(tǒng)(SoC)處理性能由于在技術(shù)上存儲器訪問速度的改善速度顯著落后于CPU時鐘速度而導(dǎo)致越來越受限于存儲器帶寬。已知的是實現(xiàn)預(yù)取方案,由此,先于主設(shè)備發(fā)起對于數(shù)據(jù)和/或指令的提取請求而提取數(shù)據(jù)和/或指令。由此,能夠降低訪問相對緩慢的存儲器元件的性能影響。已知預(yù)取方案在緩沖器內(nèi)存儲提取的信息,基于諸如以最近最少使用(LRU)為基礎(chǔ)的替換策略, 以新提取的信息替換緩沖器的內(nèi)容。該已知替換策略的問題在于,在其滿足基本上線性的程序流和在程序流中的緊密循環(huán)的同時,其沒有考慮程序流的長跨度變化。因此,對于包括相對較大比例的程序流的長跨度變化的應(yīng)用代碼,這種已知的替換策略不是緩沖信息的有效方法。
發(fā)明內(nèi)容
本發(fā)明提供了一種如隨附權(quán)利要求所述的信號處理系統(tǒng)、包括諸如信號處理系統(tǒng)的集成電路、及其方法。根據(jù)權(quán)利要求描述本發(fā)明的特定實施例。參考下文中所描述的實施例,將理解和闡述本發(fā)明的這些和其他方面。
通過實例的方式,參考附圖,還將描述本發(fā)明的細(xì)節(jié)、方面和具體實施例。出于簡單和清楚的目的,示出在附圖中的元件,并且不一定將其按比例畫出。圖1示出了信號處理系統(tǒng)的示例。圖2示出了存儲器存取功能性的示例的簡化框圖。圖3示出了信息流的示例。圖4示出了用于緩沖信息的方法的簡化流程圖的示例。
具體實施例方式將參考基本上集成在諸如芯片上系統(tǒng)(SoC)設(shè)備的單個半導(dǎo)體器件中的信號處理系統(tǒng)的示例對本發(fā)明進(jìn)行描述。然而,應(yīng)該明白此處描述的這些示例不限于在諸如集成信號處理系統(tǒng)中使用,并且可以等同地應(yīng)用到可選的信號處理設(shè)置和架構(gòu)中。此外,因為實現(xiàn)本發(fā)明的示例性裝置主要由對于本領(lǐng)域的技術(shù)人員已知的電子構(gòu)件和電路組成,為了理解并鑒定本發(fā)明的基本原理,以及為了不模糊或偏離本發(fā)明的教導(dǎo),如下文所示,不會以任何超過必要的程度對電路細(xì)節(jié)進(jìn)行解釋?,F(xiàn)參見圖1,示出了信號處理系統(tǒng)100的示例。根據(jù)該示例性示例,信號處理系統(tǒng) 100集成在集成電路(IC) 105中。圖1的信號處理系統(tǒng)100包括一個或多個可操作性地與系統(tǒng)互連120耦合的主設(shè)備110、115。主設(shè)備的示例是中央處理單元(CPU)或者直接存儲存取控制器(DMA)。其他主設(shè)備能夠包括諸如以太網(wǎng)或者FlexRay控制器的通信處理器、圖形處理器、和/或控制器等。在一些示例中,例如,在IC 105外部的主設(shè)備還例如經(jīng)由外部總線或者在該IC 105上的互連引腳(未示出)而可被操作性地耦合至系統(tǒng)互連120。以諸如通過根據(jù)諸如外圍部件接口(PCI)協(xié)議或者ARM的高級微控制器總線結(jié)構(gòu)(AMBA )協(xié)議的系統(tǒng)總線協(xié)議操作的系統(tǒng)總線的任何合適方式,可以實現(xiàn)系統(tǒng)互連120??蛇x地,系統(tǒng)互連120可以包括切換電路,其在連接到此的不同主和從設(shè)備之間路由信息。一個或多個從設(shè)備也能被操作地耦合到系統(tǒng)互連120,其示例性示例包括輸入/ 輸出(I/O)電路125、外圍設(shè)備130和其他從設(shè)備135。這些在圖1中示出的從設(shè)備也集成在IC 105中。然而,一些或者所有從設(shè)備可以可選地位于IC 105外部。信號處理系統(tǒng)100 還包括緩沖器控制邏輯142,作為示例性示例,形成操作地耦合到系統(tǒng)互連120的存儲器存取邏輯140的部分,將存儲器存取邏輯140設(shè)置為用于提供對一個或多個存儲器元件160 的訪問。根據(jù)示例性示例,一個或多個存儲器元件160被示出為集成在IC 105中。然而, 在其他示例中,一個或多個存儲器元件可以位于IC 105外部。將緩沖器控制邏輯142設(shè)置成用于分配行緩沖器144,以用于信息存儲,具體而言,根據(jù)示例性示例,用于存儲從一個或多個存儲器元件160中提取的信息。例如,可以將存儲器存取邏輯140設(shè)置成用于在從主設(shè)備110、115接收存取請求之后,預(yù)取順序地位于在所要求的內(nèi)容的位置之后的存儲器塊,并且在緩沖器144中存儲預(yù)取的存儲器塊的內(nèi)容。以該種方式,當(dāng)從主設(shè)備110、115中順序地接收對于位于預(yù)取存儲器塊中的存儲內(nèi)容的請求時,該請求內(nèi)容在緩沖器144中容易是可用的,從而避免為了檢索信息在此時對存儲器160執(zhí)行相當(dāng)緩慢存取的需求,并且因此避免相對應(yīng)的降低系統(tǒng)性能。圖2示出了示出用于圖1的系統(tǒng)100的存儲器存取功能性的示例的簡化結(jié)構(gòu)圖。 當(dāng)存儲器存取邏輯140經(jīng)由互連120和地址總線210接收存取請求時,其被傳輸?shù)骄彌_器控制邏輯142。如果該請求的信息已經(jīng)事先預(yù)取,并且存儲在存儲器訪問邏輯140的緩沖器 144之一內(nèi),則從緩沖器144中檢索被請求的信息,并且在無需對存儲器元件160進(jìn)行相當(dāng)緩慢的存取的情形下,經(jīng)由數(shù)據(jù)總線M0,該請求信息返回到請求主設(shè)備,根據(jù)示例性示例, 所述存儲器元件160包括寬閃存陣列。然而,如果在緩沖器144中不存在所要求的信息,那么該信息必須從其被存儲的存儲器元件160中提取,例如通過緩沖器控制邏輯142經(jīng)由地址總線220向存儲器元件160轉(zhuǎn)發(fā)接收的存取請求的方式。隨后被請求的信息通過存儲器元件160經(jīng)由數(shù)據(jù)總線230而返回存儲器存取邏輯140,并且隨后經(jīng)由數(shù)據(jù)總線240返回至系統(tǒng)互連120。根據(jù)示例性示例,每個存儲器存取請求涉及存儲器中的地址,其中,每個存儲器存取請求包括參考地址和,所述大小限定符限定待被參考的位(或字節(jié))的數(shù)目,例如,存儲 “線”包括32位G字節(jié))信息。這種32位存儲線可以包括指令信息和/或數(shù)據(jù)信息。在接收該存取請求之后,將存儲器元件160設(shè)置為用于檢索存儲內(nèi)容的線,其包括與該存取相關(guān)的地址,并且順序地檢索與順序地址相對應(yīng)的一條或多條線。例如,存儲器元件160可以檢索存儲內(nèi)容的八條線,每條線包括諸如32位的信息。因此,在該示例中,存儲器元件160 可以檢索包括用于單個存儲存取請求的多達(dá)256位的信息的存儲內(nèi)容的塊,并且將存儲內(nèi)容的塊返回存儲訪問邏輯140。以該種方式,不僅從存儲器中提取所請求的數(shù)據(jù),而且從存儲器預(yù)取下一順序信息位置。以這種方式,可以先于主設(shè)備110、115發(fā)起對于數(shù)據(jù)和/或指令的請求而提取數(shù)據(jù)和/或指令,并且在緩沖器144中緩存。結(jié)果,能夠減少相對緩慢存取存儲器元件160的性能影響??梢詫⒕彌_器144設(shè)置為用于使得各個緩沖器能夠存儲通過存儲器元件160返回的存儲線(信息的N位(或者字節(jié)))。從存儲器元件160中預(yù)取信息,不限于僅當(dāng)請求的信息不存在于緩沖器144中時被執(zhí)行。例如,被請求信息可以事先被預(yù)取,從而存在于緩沖器144中,但可以位于朝向被預(yù)取的順序存儲內(nèi)容的塊的順序下游端。因此,假定通常為線性程序流,被請求的信息可以擴展到存儲內(nèi)容的預(yù)取塊之外。因此,在預(yù)取進(jìn)一步的存儲內(nèi)容之前,不需要等待至請求的信息擴展到存儲內(nèi)容的預(yù)取塊之外(這會導(dǎo)致當(dāng)這種信息被預(yù)取時程序流延遲),而將緩沖器邏輯142設(shè)置成用于當(dāng)接收事先被預(yù)取的信息請求,但是其中該信息位于朝向預(yù)取存儲器的塊的順序下游端時,導(dǎo)致相對于請求信息通常位于程序流下游的進(jìn)一步信息被預(yù)取。通過這種方式,可以將緩沖器控制邏輯142設(shè)置成實施預(yù)取方案,由此,先于主設(shè)備發(fā)起對于數(shù)據(jù)和/或指令的提取請求而提取數(shù)據(jù)和/或指令。結(jié)果,可以減少相對緩慢存取存儲器元件的性能影響。已知預(yù)取方案在緩沖器內(nèi)存儲提取的信息,其中,基于諸如以最近最少使用(LRU) 為基礎(chǔ)的替換策略,以新提取的信息替換緩沖器的內(nèi)容。該種已知替換策略的問題在于,在其滿足基本上線性程序流和在程序流內(nèi)的緊密循環(huán)的同時,其沒有考慮程序流的大跨度變化。因此,對于包括相對較大比例的程序流的大跨度變化的應(yīng)用代碼,這種已知的替換策略不是緩沖信息的有效方式。根據(jù)一些示例,在接收將要緩沖的信息之后,將緩沖器控制邏輯142設(shè)置為用于根據(jù)至少與順序流相關(guān)的第一種類和與流變化相關(guān)的第二種類中的一種,將要緩沖的信息分類。將緩沖器控制邏輯142進(jìn)一步設(shè)置成用于當(dāng)將緩沖器144分配以存儲將被緩沖的提取信息時,使得存儲與順序流相關(guān)聯(lián)的第一分類相關(guān)的信息的緩沖器優(yōu)先于存儲與流變化相關(guān)聯(lián)的所述第二分類相關(guān)的信息的緩沖器。例如,參見圖3,示出了典型信息流300的示例,所述信息流300諸如程序流和/或數(shù)據(jù)存取流?;旧显?10和315示出包括線性信息流的順序流,因而從例如,圖1的主元件110、115接收的存儲器存取請求與用于存儲器中的信息的順序地址相關(guān),其相對容易地被預(yù)測,并且能夠有效地被預(yù)取并且存儲在被緩沖的存儲器中。在320示出包括前向分支的流變化。這種前向分支可以包括短跨度,例如,僅幾個地址字節(jié)的長度,并且其通常不會跳躍超過當(dāng)前緩沖器。因此,通常也能夠有效地預(yù)測和預(yù)取這種短跨度前向分支。然而,前向分支320可以可選地包括長跨度,從而諸如存取的地址跳躍朝過當(dāng)前緩沖器的長度。結(jié)果,這種長跨度前向分支有可能與沒有包括在當(dāng)前緩沖器中的信息相關(guān),并且難以對預(yù)取進(jìn)行預(yù)測。流變化也在圖3中示出包括后向分支330、340。后向分支330包括短跨度后向分支,例如僅幾個字節(jié)的長度,并且其通常不跳越朝過當(dāng)前緩沖器的開始。因此,利用存儲在緩沖存儲器內(nèi)的被預(yù)取的信息,通常能夠有效地處理這種短跨度后向分支。然而,后向分支340包括長跨度,從而被存取的地址跳越朝過當(dāng)前緩沖器的開始。結(jié)果,這種長跨度后向分支也可能與未包括在當(dāng)前緩沖器內(nèi)的信息相關(guān),并且利用已知的緩沖器代替戰(zhàn)略可能經(jīng)常與已經(jīng)被取代從而不再存儲在緩沖存儲器中的信息相關(guān)。因此,根據(jù)一些示例,可以將圖1的緩沖器控制邏輯142設(shè)置成用于將從一個或多個存儲器元件160進(jìn)行的各個提取分類和標(biāo)記為與諸如順序流提取或流變化提取中的一個相對應(yīng)。具體而言,根據(jù)圖3中示出的信息流300的示例,可以將用于線性、順序信息流 310、315的提取分類并且標(biāo)記為“順序流”。相反地,可以將前向和后向分支320、330、340分類并且標(biāo)記為“流變化”。因此,當(dāng)緩沖器控制邏輯142順序地接收待緩沖的、進(jìn)一步提取的信息時,當(dāng)選擇在其中利用最近提取的信息取代當(dāng)前存儲的信息的緩沖器時,緩沖器控制邏輯142能夠使得用于存儲順序流信息的緩沖器優(yōu)先于用于存儲與流變化相對應(yīng)的信息的緩沖器。以該種方式,與流變化提取相關(guān)的信息不太可能由順序提取的信息取代。結(jié)果,當(dāng)與先前預(yù)取的信息相關(guān)的流變化發(fā)生時,該先前預(yù)取的流變化信息很有可能仍包含在緩沖器144中。因此, 可以連同系統(tǒng)100的性能提高流變化的緩沖器命中率(hit ratio) 0因為通常更容易預(yù)測線性信息流,并且因此能夠相對有效地被預(yù)取,該被緩沖的線性信息流的更加有規(guī)律的取代不可能顯著影響用于順序信息流的緩沖命中率。結(jié)果,考慮信息流的類型,較之已知的緩沖器替換策略,可以減少相對較慢存取(一個或多個)存儲器元件160的總體性能影響。根據(jù)某些示例,圖1的緩沖器控制邏輯142可以被設(shè)置成,如果空的(無效)緩沖器或存儲未使用信息的緩沖器均不可用,則當(dāng)分配用于存儲待緩沖的信息的緩沖器144 時,使得用于存儲關(guān)于與順序流相關(guān)聯(lián)的第一分類的信息的緩沖器優(yōu)先于用于存儲關(guān)于與流變化相關(guān)聯(lián)的第二分類的信息的緩沖器。例如,緩沖器控制邏輯142可以被設(shè)置成實現(xiàn)包括用于存儲待緩沖的提取信息的下列優(yōu)先級的緩沖器替換策略(i)無效緩沖器(例如,包括初始無載狀態(tài),或硬件或軟件事件已經(jīng)導(dǎo)致緩沖器失效的緩沖器);(ii)未使用緩沖器(例如,已經(jīng)被加載了順序或流變化提取信息,但隨后尚未被存取的緩沖器);(iii) LRU可存取順序緩沖器(例如,存儲最近最少存取(使用)的順序信息的緩沖器——不包括被保持的順序緩沖器);以及(iv) LRU流變化緩沖器。仍需要在其中存儲提取信息以及包括初始無載狀態(tài)的、或者硬件或軟件事件已經(jīng)導(dǎo)致緩沖器失效的無效緩沖器被首先用于存儲待緩沖的提取信息。因此,如果沒有空的 (無效)緩沖器可用,才會替換先前提取和緩沖的信息。如果沒有無效緩沖器可用,則包含未被存取的,并且因此可能已經(jīng)被不正確地提取的先前提取的信息的緩沖器被用于存儲新提取的信息。由于被替換的先前提取的信息可能已經(jīng)被不正確地提取,因此其被緩沖已經(jīng)沒有益處,其替換不會影響系統(tǒng)100的性能。在某些示例中,這種未使用緩沖器可以被保持,即,例如,在從未使用內(nèi)容被加載到緩沖器中開始的一定時間段或數(shù)個時鐘周期內(nèi),可以保護(hù)它們的內(nèi)容不被替換,以避免在主設(shè)備110、115有機會存取該信息之前,意外地替換該信息。
如果沒有無效緩沖器或未使用緩沖器可用,在上文示例中的緩沖器控制邏輯142 被設(shè)置成,當(dāng)分配用于存儲待緩沖的信息的緩沖器144時,使得用于存儲關(guān)于與順序流相關(guān)聯(lián)的第一分類的信息的緩沖器144優(yōu)先于用于存儲關(guān)于與流變化相關(guān)聯(lián)的第二分類的信息的緩沖器。具體而言,對于上文示例,在沒有無效緩沖器或未使用緩沖器可用的情形中,緩沖器控制邏輯142被設(shè)置成在包含順序流(SF)信息的可存取緩沖器中存儲提取的信息。例如,緩沖器控制邏輯142可以被設(shè)置成保持包含最近緩沖的順序流信息的最小數(shù)目 (SF_min)的緩沖器,從而保護(hù)待保持的這些緩沖器的內(nèi)容不被替換。因此,這種被保持的緩沖器是不可存取的,不可用于存儲待緩沖的提取信息。因此,如果存在超過包含順序流信息的SF_min個緩沖器之外的緩沖器,順序流緩沖器是可存取的,用于存儲提取的信息。如果沒有包含順序流的緩沖器是可存取的(并且沒有無效的緩沖器或未使用的緩沖器是可用的),緩沖器控制邏輯142將提取的信息存儲在包含流變化信息的緩沖器內(nèi)。以這種方式, 大體上可以保持最小數(shù)目(SF_min)的緩沖器,用于緩沖順序流信息,以確保有效的順序流預(yù)取和緩沖,同時,對于剩余的可用緩沖器,可以使得流變化信息的緩沖優(yōu)先,以改善用于流變化信息的緩沖器命中率。而且,對于上文示例,在確定待被替換的存儲信息的適當(dāng)種類,例如,如果這種緩沖器是可用時為順序流信息,或者是流變化信息時,緩沖器控制邏輯 142被設(shè)置成用于分配存儲適當(dāng)種類的最近最少使用(LRU)信息的緩沖器144。以這種方式,當(dāng)確定分配哪個緩沖器用于存儲新提取信息時,緩沖器控制邏輯142可以對流變化信息和緩沖信息被使用的新近程度來進(jìn)行考慮。根據(jù)進(jìn)一步的示例,用于最近分配的順序流信息緩沖器的最小數(shù)目(SF_min)值可以在運行期間被變成編程,例如,以被加載到控制寄存器146中的參數(shù)的形式來編程。通過這種方式,用于最近分配的順序流信息緩沖器的最小數(shù)目(SF_min)值可以通過在信號處理系統(tǒng)100的主設(shè)備110、115上執(zhí)行的軟件來構(gòu)造,因此,可以被適配為考慮特定應(yīng)用情況。另外或可選的是,緩沖器控制邏輯142可以被設(shè)置成用于追蹤流變化,例如,用于跟蹤流變化提取的分支跨度,以根據(jù)該追蹤的流變化來調(diào)整用于最近分配的順序流信息緩沖器的最小數(shù)目(SF_min)值。通過這種方式,緩沖器控制邏輯142可以將其替換策略適配為更好地適合由主設(shè)備110、115所執(zhí)行的應(yīng)用代碼的應(yīng)用情況。例如,緩沖器控制邏輯142可以被設(shè)置成用于追蹤例如具有大于閾值跨度的后向分支,并且用于配置用于最近分配的順序流信息緩沖器的最小數(shù)目(SF_min)值,以適應(yīng)這種后向分支的頻率。例如,用于這種閾值跨度長度的適當(dāng)數(shù)目的地址線可以包括二至四條線。通過這種方式,用于SFjnin的更大值可以被配置用于包括較少的大跨度流變化的應(yīng)用代碼,同時,用于SFjnin的較小值可以被配置用于包括較大數(shù)目的大跨度流變化的應(yīng)用代碼。在某些示例中,緩沖器控制邏輯142可以進(jìn)一步被設(shè)置成,使得當(dāng)配置最小數(shù)目 (SF_min)值時,具有大于最大可用緩沖器容量的跨度的分支將被忽略,以避免系統(tǒng)用盡緩沖器容量。例如,緩沖器控制邏輯142可以被設(shè)置成用于追蹤包括在跨度長度閾值范圍內(nèi)的跨度的分支,其中,這些閾值取決于例如可用于順序流存儲的緩沖器的數(shù)目。因此,例如, 具有大于當(dāng)前最小數(shù)目(SF_min)值的容量的跨度以及具有小于緩沖器可用的最大總?cè)萘康目缍鹊暮笙蚍种У牟糠郑梢员挥糜诟伦钚?shù)目(SF_min)值。如先前所提及的,長度上僅包括幾條地址線的短跨度流變化(諸如,分支320、 330)將通常不會跳越朝過當(dāng)前緩沖器,并且因此其能夠通常利用在緩沖存儲器中存儲的預(yù)取線性信息而被有效地處理。因此,預(yù)期的是,在接收到關(guān)于流變化的待緩沖的提取信息時,緩沖器控制邏輯142可以被設(shè)置成根據(jù)用于待緩沖的信息的流變化跨度,將待緩沖的信息分類。例如,緩沖器控制邏輯142可以設(shè)置成用于確定用于待緩沖信息的流變化跨度, 并且如果確定的流變化跨度小于閾值,例如,與用于配置用于最近分配的順序流信息緩沖器的最小數(shù)目(SF_min)值的如上述的相同或類似閾值,將信息分類為順序流信息??蛇x的是,緩沖器控制邏輯142可以被設(shè)置成用于將關(guān)于包括小于閾值的跨度的流變化的信息分類為與短跨度流變化相關(guān)聯(lián)的第三種類,并且當(dāng)分配用于存儲待緩沖的提取信息的緩沖器144時,將用于存儲關(guān)于該第三信息種類的信息的緩沖器的優(yōu)先級設(shè)置在與順序流相關(guān)聯(lián)的第一種類和與流變化相關(guān)聯(lián)的第二種類之間。在一個可選示例中,可以假定通過預(yù)取操作,從存儲器元件160提取基本所有的線性流信息,同時,作為對于來自主設(shè)備110、115的請求的直接響應(yīng),從存儲器元件160提取基本所有的流變化信息。在這個示例中,基于導(dǎo)致其被從存儲器160提取的觸發(fā),可以將信息更簡單地分類。更具體地說,通過預(yù)取操作從存儲器提取的信息可以被分類為順序流 (線性)信息,同時,作為對于來自主設(shè)備的請求的直接響應(yīng)而從存儲器提取的信息可以被分類為流變化信息?,F(xiàn)在參考圖4,示出了用于緩沖信息的方法的簡化流程圖400的示例。該方法始于步驟405,并且前進(jìn)至接收到待緩沖的提取信息的步驟410。接下來,在步驟415中,接收的信息被根據(jù)至少與順序流相關(guān)聯(lián)的第一分類和與流變化相關(guān)聯(lián)的第二分類的一個而分類并且被標(biāo)記。然后,該方法前進(jìn)至步驟420,其中,確定無效/空的緩沖器是否可用。如果這種無效緩沖器是可用的,該方法前進(jìn)至步驟425,其中,將提取的信息存儲在可用無效緩沖器中。然后,該方法在步驟455結(jié)束。再次參考步驟420,如果沒有無效緩沖器可用,該方法前進(jìn)至步驟430,其中,確定未使用緩沖器(例如,已經(jīng)被加載了順序或流變化信息,但是隨后尚未被存取的緩沖器)是否可用。如果在步驟430中,這種未使用緩沖器是可用的,該方法前進(jìn)至步驟435,其中,將提取的信息存儲在可用的未使用緩沖器中,例如,最舊的未使用緩沖器中。然后,該方法在步驟455結(jié)束。再次參考步驟430,如果沒有未使用的緩沖器可用,該方法前進(jìn)至步驟440,其中, 確定可存取的順序流緩沖器是否可用。例如,包含最近緩沖的順序流信息的最小數(shù)目(SF_ min)的緩沖器可以被保持,從而保護(hù)要被保持的這些緩沖器的內(nèi)容不被替換。因此,這種被保持的緩沖器是不可存取的,不能用于存儲待緩沖的提取信息。因此,如果存在超過包含順序流信息的SF_min個緩沖器的數(shù)量的緩沖器,順序流緩沖器是可存取的,用于存儲提取信息。如果可存取的順序流緩沖器是可用的,該方法前進(jìn)至步驟445,其中,將提取信息存儲在最近最少使用的可存取和可用順序流緩沖器內(nèi)。然后,該方法在步驟455結(jié)束。再次參考步驟440,如果沒有可存取的順序流緩沖器是可用的,該方法前進(jìn)至步驟450,其中,通過包含流變化(COF)信息的最近最少使用的緩沖器來存儲提取信息。然后,該方法在步驟 455結(jié)束。在前文的說明中,已經(jīng)結(jié)合本發(fā)明的特定示例描述了本發(fā)明。然而,將明顯的是, 在不脫離如隨附的權(quán)利要求所描述的本發(fā)明的更為廣泛的范圍的條件下,可以對其做出各種修改和變更。例如,這些連接可以是適合于例如,借助中間設(shè)備,從或向各個節(jié)點、單元或設(shè)備來傳輸信號的任何類型的連接。因此,除非另有暗示或說明,例如,這些連接可以是直接連接或間接連接。此處所描述的每個信號可以被設(shè)計為正或負(fù)邏輯。在負(fù)邏輯信號的情形中,信號是低電平有效的,其中,邏輯真狀態(tài)對應(yīng)于邏輯電平0。在正邏輯信號的情形中,信號是高電平有效的,其中,邏輯真狀態(tài)對應(yīng)于邏輯電平1。應(yīng)注意的是,此處描述的信號的任何一個可以被設(shè)計為負(fù)或正邏輯信號。因此,在可選實施例中,被描述為正邏輯信號的那些信號可以被實現(xiàn)為負(fù)邏輯信號,并且被描述為負(fù)邏輯信號的那些信號可以被實現(xiàn)為正邏輯信號。可以可能參考單個導(dǎo)體、多個導(dǎo)體、單向?qū)w或雙向?qū)w,示出或者描述此處所討論的導(dǎo)體,然而,不同的實施例可以變化對導(dǎo)體的實現(xiàn)。例如,可以使用分離的單向?qū)w而非雙向?qū)w,反之亦然。而且,可以用連續(xù)或時間復(fù)用方式來傳送多個信號的單個導(dǎo)體來替換多個導(dǎo)體。同樣,承載多個信號的單個導(dǎo)體可以被分隔成承載這些信號的子集的不同導(dǎo)體。因此,對于傳送信號,存在許多選擇。因為實現(xiàn)本發(fā)明的裝置主要由對于本領(lǐng)域的技術(shù)人員已知的電子構(gòu)件和電路組成,為了理解和了解本發(fā)明的基礎(chǔ)概念,并且避免模糊或偏離本發(fā)明的教導(dǎo),不會超過上文所示的所需程度對于電路細(xì)節(jié)進(jìn)行解釋。此處使用的術(shù)語“程序”被定義為被設(shè)計用于在計算機系統(tǒng)上執(zhí)行的指令序列。程序或計算機程序可以包括子程序、功能、流程、對象方法、對象實現(xiàn)、可執(zhí)行應(yīng)用、小應(yīng)用程序、小服務(wù)程序、源代碼、對象代碼、共享庫/動態(tài)加載庫、以及/或者被設(shè)計用于在計算機系統(tǒng)上執(zhí)行的其他指令序列。使用多種不同的信息處理系統(tǒng),可以適當(dāng)?shù)貙崿F(xiàn)上述實施例的某些。例如,雖然圖 1和其討論描述了示例性信息處理架構(gòu),這個示例性架構(gòu)僅被示出為在討論本發(fā)明的各個方面中提供有用的參考。當(dāng)然,為了討論目的,對架構(gòu)的描述已經(jīng)被簡化,并且其僅僅是根據(jù)本發(fā)明可以使用的是許多不同類型的適當(dāng)架構(gòu)之一。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)承認(rèn),邏輯塊之間的邊界僅是說明性的,并且可選實施例可以合并邏輯塊或電路元件,或者將功能的可替換分解應(yīng)用到各種邏輯塊或電路元件上。因此,應(yīng)該理解的是,此處描述的架構(gòu)僅為示例性,事實上,能夠?qū)嵤崿F(xiàn)相同功能性的許多其他架構(gòu)。簡言之(但明確地),實現(xiàn)相同功能的任何構(gòu)件的布置是有效“關(guān)聯(lián)” 的,以便實現(xiàn)期望的功能。因此,無論架構(gòu)或中間構(gòu)件如何,在此處被組合以實現(xiàn)特定功能的任何兩個構(gòu)件可以被視為彼此“關(guān)聯(lián)”,以便實現(xiàn)期望的功能。同樣,如此相關(guān)聯(lián)的任何兩個組件也可以被視為彼此“可操作地連接”或“可操作地耦合”,以實現(xiàn)期望的功能。又例,在一個實施例中,系統(tǒng)100的示例性元件是位于單個集成電路上或者相同設(shè)備中的電路。可選地,系統(tǒng)100可以包括任何數(shù)目的分離的集成電路或者彼此互連的分離設(shè)備。例如,一個或多個存儲器元件160可以作為主設(shè)備110和115位于相同集成電路上,或者在分離的集成電路上,或者位于與系統(tǒng)100的其他元件離散地分離的另一外圍或從設(shè)備中。外圍130和I/O電路125也可以位于分離的集成電路上。又如,系統(tǒng)100或其部分可以是物理電路系統(tǒng)的軟件或代碼表示,或者是能夠轉(zhuǎn)換成物理電路的邏輯表示。由此,系統(tǒng)100的部分可以通過任何適當(dāng)類型的硬件描述語言而被實施。此外,本領(lǐng)域的技術(shù)人員將明白,在上述操作的功能之間的邊界僅僅是示例性的。 可以將多種操作的功能性合并成單個操作,并且和/或單個操作的功能可以被分布在額外的操作中。此外,可選實施例可以包括特定操作的多種示例,并且在各種其他實施例中可以更改操作的順序。在一個實施例中,系統(tǒng)100是諸如個人計算機系統(tǒng)的計算機系統(tǒng)。其他實施例可以包括不同的計算機系統(tǒng)。計算機系統(tǒng)是能夠被設(shè)計以將獨立的計算能力給予一個或多個用戶的信息處理系統(tǒng)。可以以包括但不限于主機、微計算機、服務(wù)器、工作站、個人計算機、 筆記本、個人數(shù)字助理、電子游戲機、自動和其他植入系統(tǒng)、手機、和各種其他的無線裝置的許多方式來建立計算機系統(tǒng)。典型計算機系統(tǒng)包括處理單元、相關(guān)存儲器、和多個輸入/輸出(I/O)設(shè)備的至少之一。計算機系統(tǒng)根據(jù)程序處理信息,并且經(jīng)由I/O設(shè)備產(chǎn)生作為結(jié)果的輸出信息。程序是諸如特定應(yīng)用程序和/或操作系統(tǒng)的一系列指令。計算機程序通常內(nèi)部存儲在計算機可讀存儲介質(zhì)上,或者經(jīng)由計算機可讀傳輸介質(zhì)傳輸?shù)接嬎銠C系統(tǒng)。計算機程序通常包括執(zhí)行(運行)程序或者程序的部分、當(dāng)前程序值和狀態(tài)信息,以及由管理該處理的執(zhí)行的操作系統(tǒng)使用的資源。父處理可以產(chǎn)生其他的子處理,以幫助執(zhí)行父處理的總體功能。因為父處理特定地產(chǎn)生子處理,以執(zhí)行父處理的總體功能的部分,所以通過子處理(和孫處理等) 執(zhí)行的該功能有時可以描述為通過父程序來執(zhí)行。同時,本發(fā)明不限于在非可編程硬件中實現(xiàn)的物理設(shè)備或單元,但是也能夠被應(yīng)用到通過根據(jù)適當(dāng)?shù)某绦虼a能夠執(zhí)行期望的設(shè)備功能的可編程設(shè)備或單元中。此外,這些設(shè)備可以物理分布在在多個裝置上,而功能上作為單個設(shè)備來操作。同時,功能上形成單獨設(shè)備的這些設(shè)備可以集成在單個物理設(shè)備中。然而,其他修正、變化和可選也是可能的。因此,該說明和附圖僅僅是說明性的而非限制性的。在權(quán)利要求中,在置于括號之間的任何參考符號不應(yīng)被理解為限定權(quán)利要求。詞語“包括”不排除在權(quán)利要求中所列出的那些以外存在其他要素或步驟。而且,此處所使用的術(shù)語“個”被定義為一個或超過一個。而且,在權(quán)利要求中的諸如“至少一個”和“或一個或多個”的引導(dǎo)短語的使用不應(yīng)被解釋為暗示通過不定冠詞“個”引入另一權(quán)利要求要素將包含這種引入的要求的要素的任何特定權(quán)利要求限定為僅包含一個這種要素的發(fā)明,即使當(dāng)相同權(quán)利要求包含引導(dǎo)短語“一個或多個”或者“至少一個”以及諸如“個”的不定冠詞時也是如此。對于定冠詞的使用也是一樣。除非另有說明,諸如“第一”和“第二”的術(shù)語用于任意區(qū)別這種術(shù)語描述的要素。因此,這些術(shù)語不一定旨在指示這種要素的臨時或其他優(yōu)先分級。在彼此不同的權(quán)利要求中列明的某些措施的事實不表示這些措施的組合不能被有利地使用。
權(quán)利要求
1.一種信號處理系統(tǒng)(100),包括緩沖器控制邏輯(142),其被設(shè)置成用于分配多個緩沖器(144)用于存儲從至少一個存儲器元件(160)提取的信息,其中,在接收到待緩沖的提取信息時,所述緩沖器控制邏輯(14 被設(shè)置成根據(jù)與順序流相關(guān)聯(lián)的第一分類和與流變化相關(guān)聯(lián)的第二分類的至少一種,將待緩沖的所述信息分類;以及當(dāng)分配緩沖器(144)用于存儲待緩沖的提取信息時,使得來自用于存儲關(guān)于與順序流相關(guān)聯(lián)的所述第一分類的信息的多個緩沖器的相應(yīng)緩沖器優(yōu)先于用于存儲關(guān)于與流變化相關(guān)聯(lián)的所述第二分類的信息的緩沖器。
2.根據(jù)權(quán)利要求1所述的信號處理系統(tǒng)(100),其中,所述緩沖器控制邏輯(14 設(shè)置成,如果空緩沖器或用于存儲未使用信息的緩沖器均不可用,則使得用于存儲待緩沖的信息的緩沖器優(yōu)先。
3.根據(jù)權(quán)利要求1所述的信號處理系統(tǒng)(100),其中,所述緩沖器控制邏輯(14 進(jìn)一步設(shè)置成用于保持最小數(shù)目(SF_min)的最近分配的順序流信息緩沖器。
4.根據(jù)權(quán)利要求3所述的信息處理系統(tǒng)(100),其中,所述緩沖器控制邏輯(142)進(jìn)一步設(shè)置成用于追蹤用于流變化提取的分支跨度,并且用于根據(jù)所追蹤的分支跨度來調(diào)整用于所述最近分配的順序流信息緩沖器的最小數(shù)目(SF_min)值。
5.根據(jù)權(quán)利要求3所述的信號處理系統(tǒng)(100),其中,能夠通過在所述信號處理系統(tǒng) (100)的主設(shè)備(110,11 上執(zhí)行的軟件,配置用于所述最近分配的順序流信息緩沖器的所述最小數(shù)目(SF_min)值。
6.根據(jù)權(quán)利要求1所述的信號處理系統(tǒng)(100),其中,在接收到關(guān)于流變化的提取信息時,所述緩沖器控制邏輯(14 被設(shè)置成根據(jù)用于待緩沖的所述信息的流變化跨度,將待緩沖的信息分類。
7.根據(jù)權(quán)利要求6所述的信號處理系統(tǒng)(100),其中,所述緩沖器控制邏輯(14 被設(shè)置成用于確定用于待緩沖的所述信息的流變化跨度,并且如果所確定的流變化跨度小于閾值跨度長度,則將所述信息分類為順序流信息。
8.根據(jù)權(quán)利要求1的所述信號處理系統(tǒng)(100),其中,所述緩沖器控制邏輯(14 被設(shè)置成,在確定待替換的存儲信息的適當(dāng)分類時,分配用于存儲所述適當(dāng)分類的最近最少使用的信息的緩沖器(144)。
9.一種集成電路(105),包括所述權(quán)利要求1所述的緩沖器控制(142)。
10.一種用于緩沖信息的方法G00),所述方法包括接收待緩沖的信息G10);根據(jù)與順序流相關(guān)聯(lián)的第一分類和與流變化相關(guān)聯(lián)的第二分類的至少一種,將待緩沖的所述信息分類015);以及當(dāng)分配用于存儲待緩沖的提取信息的緩沖器時,使得用于存儲關(guān)于與順序流相關(guān)聯(lián)的所述第一分類的信息的緩沖器,優(yōu)先于用于存儲關(guān)于與流變化相關(guān)聯(lián)的所述第二分類的信息的緩沖器。
全文摘要
一種信號處理系統(tǒng)(100)包括緩沖器控制邏輯(142),其被設(shè)置成分配多個緩沖器(144),用于存儲從至少一個存儲器元件(160)提取的信息。在接收到待緩沖的提取信息時,緩沖器控制邏輯(142)被設(shè)置成根據(jù)與順序流相關(guān)聯(lián)的第一分類和與流改變相關(guān)聯(lián)的第二分類的至少一種,將待緩沖的信息分類,并且當(dāng)將緩沖器(144)分配用于存儲待緩沖的提取信息時,使來自用于存儲關(guān)于與順序流相關(guān)聯(lián)的第一分類的信息的多個緩沖器的相應(yīng)緩沖器,優(yōu)先于用于存儲關(guān)于與流變化相關(guān)聯(lián)的第二分類的信息的緩沖器。
文檔編號G06F13/16GK102473149SQ200980160573
公開日2012年5月23日 申請日期2009年7月20日 優(yōu)先權(quán)日2009年7月20日
發(fā)明者約瑟夫·奇爾切洛, 阿利斯泰爾·羅伯遜, 馬克·馬約拉尼 申請人:飛思卡爾半導(dǎo)體公司