亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

具有預(yù)取裝置的數(shù)據(jù)處理系統(tǒng)的制作方法

文檔序號:6478415閱讀:177來源:國知局
專利名稱:具有預(yù)取裝置的數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種被優(yōu)化以用于處理數(shù)據(jù)流應(yīng)用的數(shù)據(jù)處理系統(tǒng),一種被優(yōu)化以用于處理數(shù)據(jù)流應(yīng)用的、在數(shù)據(jù)處理環(huán)境中將數(shù)據(jù)預(yù)取到高速緩沖存儲器的方法,以及一種被優(yōu)化以用于處理數(shù)據(jù)流應(yīng)用的供數(shù)據(jù)處理環(huán)境中使用的半導(dǎo)體裝置。
由于對數(shù)據(jù)流應(yīng)用的需求日益增長,因此特別是被裝備以用于數(shù)據(jù)流應(yīng)用的數(shù)據(jù)處理系統(tǒng)的設(shè)計成果,例如高清晰度數(shù)字TV、具有時間移位功能的機(jī)頂盒、3D游戲、視頻會議、MPEG-4應(yīng)用等在最近幾年中已逐漸增多。
在流式處理中,由不同的處理器對數(shù)據(jù)流執(zhí)行連續(xù)的操作。例如,第一數(shù)據(jù)流可能包括圖像的像素值,該像素值由第一處理器進(jìn)行處理以產(chǎn)生DCT(離散余弦變換)系數(shù)為8×8像素塊的第二塊流。第二處理器可以處理DCT系數(shù)塊以產(chǎn)生為每個DCT系數(shù)塊已選定和已壓縮系數(shù)的塊流。
為了實(shí)現(xiàn)數(shù)據(jù)流處理,提供了多個處理器,每個處理器能夠重復(fù)執(zhí)行一個特定操作,每次都使用來自數(shù)據(jù)對象流的下一個數(shù)據(jù)對象的數(shù)據(jù)和/或在這個數(shù)據(jù)流中產(chǎn)生下一個數(shù)據(jù)對象。數(shù)據(jù)流從一個處理器傳遞到另一個處理器,以使由第一處理器產(chǎn)生的數(shù)據(jù)流能夠由第二處理器處理等等。將數(shù)據(jù)從第一處理器傳遞到第二處理器的一種方法是將第一處理器產(chǎn)生的數(shù)據(jù)塊寫入存儲器中。網(wǎng)絡(luò)中的數(shù)據(jù)流被緩沖。每個緩沖器被實(shí)現(xiàn)為FIFO,確切地說有一個寫入器和一個或多個讀出器。由于這個緩沖,寫入器和讀出器不必在通道(channel)上相互同步各個讀出和寫入動作。典型的數(shù)據(jù)處理系統(tǒng)包括完全可編程處理器的混合以及分別專門用于單個應(yīng)用的專用子系統(tǒng)。
這種體系結(jié)構(gòu)的一個例子示于Rutten等人的“EclipseAHeterogeneous Multiprocessor Architecture for Flexible MediaProcessing”,IEEE Design and Test of ComputersEmbedded Systems,pp.39-50,July-August 2002。所需要的處理應(yīng)用被指定為Kahn處理網(wǎng)絡(luò),也就是一組當(dāng)前正在執(zhí)行的任務(wù)利用單向數(shù)據(jù)流交換數(shù)據(jù)。每個應(yīng)用任務(wù)被映射到一個特定可編程處理器或?qū)S锰幚砥髦?。專用處理器由協(xié)處理器實(shí)現(xiàn),該協(xié)處理器只是稍微可編程的。每個協(xié)處理器能夠在分時的基礎(chǔ)上執(zhí)行來自單個Kahn網(wǎng)絡(luò)或來自多個網(wǎng)絡(luò)的多個任務(wù)。例如媒體處理應(yīng)用的數(shù)據(jù)流特性導(dǎo)致訪問的高度局部性,也就是對相鄰數(shù)據(jù)的存儲地址的連續(xù)訪問。而且,分布式協(xié)處理器的命令解釋器(shell)在協(xié)處理器和通信網(wǎng)絡(luò)即總線和主存儲器之間實(shí)施。它用于解決諸如多任務(wù)處理、數(shù)據(jù)流同步和數(shù)據(jù)傳輸之類的許多系統(tǒng)級別的問題。由于其分布式的特性,命令解釋器能夠在其相關(guān)的協(xié)處理器附近實(shí)施。在每個命令解釋器中,處理隨著任務(wù)而來的數(shù)據(jù)流所需的所有數(shù)據(jù)被存儲在命令解釋器的數(shù)據(jù)流表中,該任務(wù)被映射到與命令解釋器相關(guān)的協(xié)處理器上。
命令解釋器包括高速緩沖存儲器,以便減少在讀出或?qū)懭氪鎯ζ鲿r發(fā)生的數(shù)據(jù)訪問等待時間。執(zhí)行未來的處理步驟所需的數(shù)據(jù)被高速緩存,也就是存儲在較小的存儲器中,所述較小的存儲器與主存儲器分離并被安排在使用所存儲的數(shù)據(jù)的處理器附近。換句話說,一個高速緩沖存儲器被用作一個中間存儲設(shè)備。通過減少存儲器訪問的等待時間,處理器的處理速度能夠被提高。如果數(shù)據(jù)字只由處理器從其高速緩沖存儲器中而不是從主存儲器中訪問,則訪問時間將顯著減少。
為了進(jìn)一步減少數(shù)據(jù)訪問的等待時間,使用預(yù)取方法來預(yù)測即將進(jìn)行的輸入和輸出操作。這里,預(yù)取意味著在從處理器接收到對數(shù)據(jù)的請求之前,該數(shù)據(jù)被高速緩存或從主存儲器被傳輸?shù)礁咚倬彌_存儲器。
一般而言,當(dāng)涉及預(yù)取技術(shù)時會出現(xiàn)兩個主要問題。第一,為了預(yù)測未來對存儲器的輸入/輸出訪問,必須通過觀測一系列輸入/輸出(I/O)操作的地址來識別數(shù)據(jù)處理的訪問模式,并在檢查上述特性之后進(jìn)行推斷以便預(yù)測對存儲器即將進(jìn)行的I/O訪問。在流式數(shù)據(jù)應(yīng)用的情況中,該推斷由于以下事實(shí)而變得非常復(fù)雜,即系統(tǒng)中的其他過程或數(shù)據(jù)流可以訪問所述存儲器中的數(shù)據(jù),從而使得來自其他數(shù)據(jù)流的交叉訪問的I/O操作阻礙正確的預(yù)測。
第二,如果預(yù)測的是,某一數(shù)據(jù)字要在接下來的處理步驟期間被處理并且該特定的數(shù)據(jù)字當(dāng)前未被存儲在高速緩沖存儲器中,則不得不對其進(jìn)行取出,也就是說從存儲器將其傳送或取回到高速緩沖存儲器中。然而,存在這種情況,即該預(yù)取的數(shù)據(jù)字被傳送到高速緩沖存儲器以在其中存儲,由此替換了當(dāng)前存儲在該位置的數(shù)據(jù)字,而該數(shù)據(jù)字可能仍然有用,也就是在未來的處理步驟中仍然需要該數(shù)據(jù)字。因此,該預(yù)取技術(shù)可能導(dǎo)致不希望有的高速緩存未命中的情況,也就是未來的處理步驟中所需的數(shù)據(jù)被刪除。
US 5,590,390涉及一種在一個環(huán)境中的高速緩沖存儲器預(yù)取技術(shù),在所述環(huán)境中主存儲器是一個大容量存儲器(例如磁盤),而高速緩沖存儲器用于存儲從大容量存儲器中預(yù)取的數(shù)據(jù)。特別是它公開了一種預(yù)取技術(shù),其中通常會被解除高速緩存(decached)或被刪除的某些高速緩存數(shù)據(jù)可以被保留或再循環(huán)。用于解除高速緩存的數(shù)據(jù)的一個例子是最近最少使用(LRU)方法,其中最近最少使用的數(shù)據(jù)被刪除或解除高速緩存,以便在高速緩沖存儲器中為新數(shù)據(jù)騰出空間。換句話說,LRU方法確定哪些數(shù)據(jù)沒有被訪問的時間最長或確定當(dāng)前被高速緩存的數(shù)據(jù)。根據(jù)該方法的結(jié)果,某些高速緩存的數(shù)據(jù)從高速緩沖存儲器中被釋放,以便能夠重新使用當(dāng)前由那些數(shù)據(jù)占據(jù)的高速緩沖存儲器空間以用于高速緩存一些當(dāng)前需要而未高速緩存的數(shù)據(jù)。而且,根據(jù)其更高的重新使用的可能性,確定最近最少使用的哪些數(shù)據(jù)應(yīng)該被保留在高速緩沖存儲器中,以及哪些數(shù)據(jù)具有更小的被重新使用的可能性從而應(yīng)該被解除高速緩存以便滿足處理器對數(shù)據(jù)的需要。
實(shí)際的預(yù)取或提前高速緩存是通過確定在接下來的處理器處理步驟中將要使用的在高速緩沖存儲器中存在的數(shù)據(jù)段的數(shù)量而實(shí)現(xiàn)的。如果該數(shù)量被超出,則沒有從主存儲器預(yù)取數(shù)據(jù)的必要。然而,如果不是這種情況,則立即初始化預(yù)取過程。要被預(yù)取的數(shù)據(jù)是緊跟在當(dāng)前數(shù)據(jù)之后的數(shù)據(jù)或是緊跟在當(dāng)前數(shù)據(jù)之前的數(shù)據(jù)。通常當(dāng)前數(shù)據(jù)之后的數(shù)據(jù)是要被預(yù)取的數(shù)據(jù)。根據(jù)該預(yù)取方法,首先確定哪個數(shù)據(jù)段要從主存儲器中預(yù)取出來,并接著將預(yù)取的數(shù)據(jù)存儲在高速緩沖存儲器中的一個位置,該位置是由上述改進(jìn)的最近最少使用方法確定的。然而,盡管使用了改進(jìn)的LRU方法,但是由于重寫高速緩沖存儲器中處理器仍然需要的數(shù)據(jù)而導(dǎo)致高速緩存未命中的危險依然存在。
US 5,787,472公開了一種用于在高速緩沖存儲器中高速緩存順序數(shù)據(jù)流的系統(tǒng)和方法。特別是它涉及一種分布式視頻服務(wù)器,每個服務(wù)器基于視頻數(shù)量(video-on-amount)服務(wù)多個用戶。視頻數(shù)據(jù)存儲于盤上,同時應(yīng)用一個高速緩沖存儲器以便緩沖所述視頻數(shù)據(jù)。在消耗過程讀取了數(shù)據(jù)塊后,確定這個數(shù)據(jù)塊是否應(yīng)該從高速緩沖存儲器中被刪除。首先,確定空閑位置是否可用,否則根據(jù)LRU方法來確定適合的位置。
以高時鐘速度運(yùn)行高速緩沖存儲器對于具有高結(jié)合性的高速緩沖存儲器來說是困難的。另一方面,低結(jié)合性導(dǎo)致可供選擇的犧牲位置(victim location)更少,從而增加了刪除有用數(shù)據(jù)的危險。對于這些高速緩沖存儲器來說基于LRU的方法是更低效的。
因此,本發(fā)明的目的在于提供將數(shù)據(jù)預(yù)取到高速緩沖存儲器,同時減少由于刪除有用的數(shù)據(jù)而引起的高速緩存未命中情況的發(fā)生。
該目的由根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng)、根據(jù)權(quán)利要求9的將數(shù)據(jù)預(yù)取到高速緩沖存儲器的方法、以及根據(jù)權(quán)利要求11的被優(yōu)化以用于處理數(shù)據(jù)流應(yīng)用的供數(shù)據(jù)處理環(huán)境中使用的半導(dǎo)體裝置來實(shí)現(xiàn)。
本發(fā)明基于這樣的思想預(yù)測預(yù)期不被繼續(xù)使用的高速緩存數(shù)據(jù)的刪除,而不是預(yù)測未來的I/O操作。接下來,從主存儲器預(yù)取數(shù)據(jù)以代替高速緩沖存儲器中刪除的數(shù)據(jù)。因此,首先識別高速緩沖存儲器中包含預(yù)期不被繼續(xù)使用的數(shù)據(jù)的位置(也就是犧牲位置),接著執(zhí)行預(yù)取操作以便請求新數(shù)據(jù)來再次填充高速緩沖存儲器中的上述位置。
因此,數(shù)據(jù)處理系統(tǒng)包括至少一個用于處理流式數(shù)據(jù)的處理器12;至少一個具有多個高速緩存塊的高速緩沖存儲器200,其中所述高速緩沖存儲器200之一與每個所述處理器12連接;以及至少一個用于將數(shù)據(jù)預(yù)取到所述高速緩沖存儲器200的高速緩存控制器300,其中所述高速緩存控制器300之一與每個所述高速緩沖存儲器200連接。所述高速緩存控制器300包括確定裝置350,用于識別所述高速緩沖存儲器200中包含第一數(shù)據(jù)的至少一個位置,所述第一數(shù)據(jù)是被預(yù)測為無需代價就可被刪除的數(shù)據(jù);以及預(yù)取裝置320,用于發(fā)出一個預(yù)取操作來用適合所述位置的第二數(shù)據(jù)代替在所述位置處的所述第一數(shù)據(jù)。因此,降低了由于重寫高速緩存中仍需要的高速緩存數(shù)據(jù)所引起的高速緩存未命中的概率。
在本發(fā)明的另一個方面,所述數(shù)據(jù)處理系統(tǒng)被優(yōu)化以用于處理具有任務(wù)和數(shù)據(jù)流的數(shù)據(jù)流應(yīng)用,其中不同的數(shù)據(jù)流競爭共享的高速緩存資源。
在本發(fā)明的另一個方面,執(zhí)行對位置的識別限制在具體預(yù)定的地址范圍之內(nèi)。
在本發(fā)明的優(yōu)選方面中,所述確定裝置確定在高速緩沖存儲器中高速緩存塊的所述第一數(shù)據(jù)字的最后一個數(shù)據(jù)字是否已被訪問,以及所述預(yù)取裝置從存儲器中預(yù)取第二數(shù)據(jù)字,該第二數(shù)據(jù)字代替所述高速緩存塊中的所述第一數(shù)據(jù)字。
如果這是在被設(shè)計來處理流式數(shù)據(jù)的數(shù)據(jù)處理系統(tǒng)中執(zhí)行的,則后續(xù)對單個數(shù)據(jù)流的讀取操作與存儲器中的連續(xù)線性范圍相對應(yīng)。因此,當(dāng)高速緩存塊中的最后一個數(shù)據(jù)字已被讀取操作訪問時,可以假設(shè)高速緩存塊中的所有數(shù)據(jù)字都已被使用并且在接下來的處理器操作中不被需要。因此,存儲空間和高速緩存塊能夠用于來自主存儲器的將用于后續(xù)操作的數(shù)據(jù)?,F(xiàn)在將數(shù)據(jù)塊從存儲器中的新位置或地址預(yù)取出來,其中該數(shù)據(jù)塊必須適合被刪除的高速緩存數(shù)據(jù)的高速緩存位置。
在本發(fā)明的又一個方面,所述確定裝置使所述高速緩存塊中在第一數(shù)據(jù)字中存在的數(shù)據(jù)字無效,并且所述預(yù)取裝置從存儲器中預(yù)取第二數(shù)據(jù)字,所述第二數(shù)據(jù)字適合所述高速緩存塊中所述被無效的第一數(shù)據(jù)字的所述位置。
因此,一旦預(yù)取的第二數(shù)據(jù)塊到達(dá)高速緩沖存儲器,則它將被自動存儲在被刪除的數(shù)據(jù)的位置。讀取操作預(yù)期在不久的將來會訪問該預(yù)取的數(shù)據(jù),因?yàn)閷α魇綌?shù)據(jù)的訪問是以線性順序執(zhí)行的。
在另外的優(yōu)選方面,被無效的數(shù)據(jù)從所述存儲器重新加載。因?yàn)閷τ诹魇綌?shù)據(jù)而言,讀取操作預(yù)期在不久的將來會訪問該數(shù)據(jù),所以這將減少數(shù)據(jù)訪問的等待時間。
本發(fā)明也涉及一種用于將數(shù)據(jù)預(yù)取到高速緩沖存儲器中的方法,其中所述高速緩沖存儲器包括多個高速緩存塊。識別所述高速緩沖存儲器200中包含被預(yù)測為無需代價就可被刪除的第一數(shù)據(jù)的至少一個位置。然后,發(fā)出一個預(yù)取操作來用適合所述選定位置的第二數(shù)據(jù)代替在所述位置的所述第一數(shù)據(jù)。
本發(fā)明還涉及一種用于數(shù)據(jù)處理環(huán)境中的半導(dǎo)體裝置,其被優(yōu)化以用于處理具有任務(wù)和數(shù)據(jù)流的數(shù)據(jù)流應(yīng)用,其中不同的數(shù)據(jù)流競爭共享的高速緩存資源。所述設(shè)備包括一個具有多個高速緩存塊的高速緩沖存儲器200,以及一個用于將數(shù)據(jù)預(yù)取到所述高速緩沖存儲器200的高速緩存控制器300,其中所述高速緩存控制器300與所述高速緩沖存儲器200連接。所述高速緩存控制器300包括確定裝置350,用于識別所述高速緩沖存儲器200中包含第一數(shù)據(jù)的至少一個位置L,所述第一數(shù)據(jù)是被預(yù)測為無需代價就可被刪除的數(shù)據(jù);以及預(yù)取裝置320,用于發(fā)出一個預(yù)取操作來用適合所述位置的第二數(shù)據(jù)代替在所述位置處的所述第一數(shù)據(jù)。
本發(fā)明的另外一些方面在從屬權(quán)利要求中被描述。
參考附圖將更詳細(xì)地描述本發(fā)明的這些和其他方面,附圖示出如下

圖1是根據(jù)本發(fā)明的基于流式的處理系統(tǒng)的結(jié)構(gòu)的示意框圖,以及圖2是根據(jù)本發(fā)明的協(xié)處理器、高速緩存和高速緩存控制器的框圖。
圖1顯示根據(jù)本發(fā)明優(yōu)選實(shí)施例的一種用于處理數(shù)據(jù)對象流的處理系統(tǒng)。該系統(tǒng)可以被分為不同的層,即計算層1、通信支持層2和通信網(wǎng)絡(luò)層3。計算層1包括一個CPU11和兩個處理器或協(xié)處理器12a、12b。這只是舉例說明,顯然該系統(tǒng)可以包含更多的處理器。通信支持層2包括一個與CPU11連接的命令解釋器21以及分別與處理器12a、12b連接的命令解釋器22a、22b。通信網(wǎng)絡(luò)層3包括一個通信網(wǎng)絡(luò)31和一個存儲器32。
處理器12a、12b優(yōu)選為專用處理器;每個處理器專門用于執(zhí)行有限范圍的流處理功能。每個處理器被安排來對數(shù)據(jù)流的連續(xù)數(shù)據(jù)對象重復(fù)實(shí)施相同的處理操作。處理器12a、12b可以各自執(zhí)行一個不同的任務(wù)或功能,例如可變長度解碼、游程長度解碼、運(yùn)動補(bǔ)償、圖像縮放或執(zhí)行DCT變換。在操作中,處理器12a、12b的每個對一個或多個數(shù)據(jù)流執(zhí)行操作。該操作可以涉及,例如接收一個數(shù)據(jù)流并生成另一個數(shù)據(jù)流,或者接收一個數(shù)據(jù)流而不生成新數(shù)據(jù)流,或者生成一個數(shù)據(jù)流而不接收數(shù)據(jù)流,或者修改接收到的數(shù)據(jù)流。處理器12a、12b能夠處理由其他處理器12b、12a或由CPU11生成的數(shù)據(jù)流,乃至能處理由處理器自身生成的數(shù)據(jù)流。數(shù)據(jù)流包括連續(xù)的數(shù)據(jù)對象,該數(shù)據(jù)對象通過所述存儲器32在處理器12a、12b之間來回傳送。
命令解釋器22a、22b包括作為通信層的面向通信網(wǎng)絡(luò)層的第一接口。該層對于所有的命令解釋器是一致的或通用的。而且,命令解釋器22a、22b包括面向分別與命令解釋器22a、22b連接的處理器12a、12b的第二接口。第二接口是任務(wù)級接口,并且是為相應(yīng)的處理器12a、12b定制的,以便能夠處理所述處理器12a、12b的特定需求。因此,命令解釋器22a、22b具有一個處理器專用的接口以作為第二接口,但是命令解釋器的整體結(jié)構(gòu)對于所有處理器而言是通用并一致的,以便有利于整個系統(tǒng)體系結(jié)構(gòu)中命令解釋器的重用,同時允許對特定應(yīng)用的參數(shù)化和采用。
命令解釋器22a、22b包括一個用于數(shù)據(jù)傳輸?shù)淖x/寫單元,一個同步單元和一個任務(wù)切換單元。這三個單元與相關(guān)的處理器以主/從方式進(jìn)行通信,其中處理器作為主控制器(master)。因此,三個單元分別由處理器的請求初始化。優(yōu)選地,處理器和所述三個單元之間的通信由請求-應(yīng)答握手機(jī)制實(shí)現(xiàn)以便移交變元值并等候要返回的所請求的值。因此,通信被阻塞,也就是各個控制線程等待它們的完成。
命令解釋器22a、22b是分布式的,以使每個命令解釋器能夠在與其相關(guān)的處理器12a、12b附近實(shí)現(xiàn)。每個命令解釋器在本地包含與映射在其處理器上的任務(wù)相關(guān)聯(lián)的數(shù)據(jù)流的配置數(shù)據(jù),并且在本地執(zhí)行所有控制邏輯以適當(dāng)?shù)靥幚碓摂?shù)據(jù)。因此,本地數(shù)據(jù)流表可以在命令解釋器22a、22b中實(shí)現(xiàn),所述命令解釋器22a、22b對于每個數(shù)據(jù)流,或換句話說對于每個訪問點(diǎn)包含一行區(qū)域(field)。
而且,命令解釋器22包括一個數(shù)據(jù)高速緩存以用于數(shù)據(jù)傳輸,也就是在處理器12和通信網(wǎng)絡(luò)31以及存儲器32之間的讀操作和寫操作。在命令解釋器22中實(shí)施的數(shù)據(jù)高速緩存提供了對數(shù)據(jù)總線寬度的透明轉(zhuǎn)換,對全局互連即通信網(wǎng)絡(luò)31的排列限制的解決,以及在全局互連上I/O操作數(shù)量的減少。
優(yōu)選地,命令解釋器22包括在讀取和寫入接口中的高速緩存,然而根據(jù)應(yīng)用功能的觀點(diǎn),這些高速緩存是不可見的。所述高速緩存對將處理器讀取和寫入端口從通信網(wǎng)絡(luò)3的全局互連分離開起著重要的作用。這些高速緩存對與速度、功率和面積相關(guān)的系統(tǒng)性能有較大影響。
對根據(jù)圖1的體系結(jié)構(gòu)的更為詳細(xì)的描述,請參考Rutten等人的“EclipseA Heterogeneous Multiprocessor Architecture for FlexibleMedia Processing”,IEEE Design and Test of ComputersEmbeddedSystems,pp.39-50,July-August 2002。
圖2顯示根據(jù)圖1的體系結(jié)構(gòu)的一部分。特別是顯示了處理器12b、命令解釋器22b、總線31和存儲器32。命令解釋器22b包括高速緩沖存儲器200和高速緩存控制器300以作為其數(shù)據(jù)傳輸單元的部分。高速緩存控制器300包括確定裝置350、預(yù)取裝置320和可選地標(biāo)記裝置360。高速緩沖存儲器200可以被分為不同的高速緩存塊210。
系統(tǒng)中的預(yù)取操作由命令解釋器22控制,但由協(xié)處理器12b的讀取請求或無效請求初始化。由于協(xié)處理器12b被設(shè)計為處理流式數(shù)據(jù),所以假設(shè)來自由單個數(shù)據(jù)流的處理所發(fā)起的協(xié)處理器12b的后續(xù)的讀取請求在連續(xù)的線性存儲地址范圍內(nèi)執(zhí)行。
確定裝置350確定高速緩存塊210中的最后一個數(shù)據(jù)字是否已被處理器12b的讀取操作訪問。如果已被訪問,就可以假設(shè)在上述讀取操作過程中高速緩存塊210中的所有數(shù)據(jù)字都已被訪問過,因此在即將進(jìn)行的處理步驟中不再需要所述高速緩存塊210中的所有數(shù)據(jù)字。因此,這些數(shù)據(jù)字可以被刪除,并且所述預(yù)取裝置320從存儲器32預(yù)取數(shù)據(jù)塊。新預(yù)取的數(shù)據(jù)塊必須適合高速緩存塊210,也就是要被預(yù)取的數(shù)據(jù)塊必須與可以被刪除的數(shù)據(jù)塊大小相同。特別是,從所述存儲器32中一個地址的位置上找到要被預(yù)取的數(shù)據(jù)塊,所述地址是在要被刪除的數(shù)據(jù)塊的所述存儲器32中的所述第一數(shù)據(jù)的前一地址的下一個較高地址。換句話說,要預(yù)取的數(shù)據(jù)塊必須適合高速緩存塊210的存儲空間和要被刪除的數(shù)據(jù)塊的空間。另外,預(yù)取操作必須根據(jù)高速緩存組織的限制進(jìn)行。
可選地,當(dāng)確定裝置350確定高速緩存塊210中的最后一個數(shù)據(jù)字已被處理器12b的讀取操作訪問時,高速緩存塊210中的所有數(shù)據(jù)字都可以被刪除并因此由所述標(biāo)記裝置360標(biāo)記為刪除。其后,所述預(yù)取裝置320從存儲器32預(yù)取數(shù)據(jù)塊。新預(yù)取的數(shù)據(jù)塊必須適合高速緩存塊210,也就是要預(yù)取的數(shù)據(jù)塊必須與標(biāo)記為刪除的數(shù)據(jù)塊的大小相同。特別是,從所述存儲器32中一個地址的位置上找到要被預(yù)取的數(shù)據(jù)塊,所述地址是在標(biāo)記為刪除的數(shù)據(jù)塊的所述存儲器32中的所述第一數(shù)據(jù)的前一地址的下一個較高地址。
根據(jù)本發(fā)明的預(yù)取技術(shù)是有利的,因?yàn)閺乃龃鎯ζ?2一找到預(yù)取的數(shù)據(jù)塊并到達(dá)高速緩沖存儲器200,則預(yù)取的數(shù)據(jù)塊就將被自動存儲在高速緩存塊210,也就是要被刪除的數(shù)據(jù)塊的位置。該預(yù)取操作是合理的由于數(shù)據(jù)處理是對流式數(shù)據(jù)執(zhí)行的,并且相應(yīng)的讀取操作和存儲器訪問以線性順序進(jìn)行,因此所述處理器12b期望在接下來的處理步驟中訪問預(yù)取的數(shù)據(jù)塊。
一種確定所述高速緩沖存儲器200中能被刪除的數(shù)據(jù)的可選技術(shù)要檢查被無效的數(shù)據(jù)。在根據(jù)圖1包含幾個處理器的數(shù)據(jù)處理系統(tǒng)中,重要的是執(zhí)行高速緩存的一致性,以確保每個處理器只訪問來自被正確更新的共享存儲器的那些數(shù)據(jù)值。當(dāng)處理器12b通過其高速緩沖存儲器200訪問來自存儲器的數(shù)據(jù)時,必須確認(rèn)讀取數(shù)據(jù)的有效性。然而,用于數(shù)據(jù)無效的技術(shù)不屬于本發(fā)明,而是為現(xiàn)有技術(shù)所公知的。
確定裝置350確定被無效的數(shù)據(jù)字是否存在于高速緩存塊210的數(shù)據(jù)字中。如果確定裝置350找到了任何被無效的數(shù)據(jù)字,則所述預(yù)取裝置320從存儲器32中預(yù)取與被刪除的高速緩存數(shù)據(jù)即被無效的數(shù)據(jù)的地址對應(yīng)的數(shù)據(jù)字。換句話說,預(yù)取是通過在所述高速緩沖存儲器中重新加載被無效數(shù)據(jù)而實(shí)現(xiàn)的。可選地,被無效的數(shù)據(jù)字在被重新加載之前被標(biāo)記裝置360標(biāo)記為刪除。
預(yù)取操作是合理的,因?yàn)樽x取處理器預(yù)期在接下來的處理步驟中訪問該數(shù)據(jù),也就是被無效的數(shù)據(jù)。另外,預(yù)取只針對處于流式緩沖器的地址范圍內(nèi)的高速緩存位置執(zhí)行。
權(quán)利要求
1.數(shù)據(jù)處理系統(tǒng),包括-至少一個用于處理流式數(shù)據(jù)的處理器(12);-至少一個具有多個高速緩存塊(210)的高速緩沖存儲器(200),其中所述高速緩沖存儲器(200)之一與每個所述處理器(12)連接,以及-至少一個用于將數(shù)據(jù)預(yù)取到所述高速緩沖存儲器(200)的高速緩存控制器(300),其中所述高速緩存控制器(300)之一與每個所述高速緩沖存儲器(200)連接;所述高速緩存控制器(300)包括-確定裝置(350),用于識別所述高速緩沖存儲器(200)中包含第一數(shù)據(jù)的至少一個位置,所述第一數(shù)據(jù)是被預(yù)測為無需代價就可被刪除的數(shù)據(jù);以及-預(yù)取裝置(320),用于發(fā)出一個預(yù)取操作來用適合所述位置的第二數(shù)據(jù)代替在所述位置處的所述第一數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述數(shù)據(jù)處理系統(tǒng)被優(yōu)化以用于處理具有任務(wù)和數(shù)據(jù)流的數(shù)據(jù)流應(yīng)用,其中不同的數(shù)據(jù)流競爭共享的高速緩存資源。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述確定裝置(350)適于對限制在預(yù)定的地址范圍內(nèi)的所述位置執(zhí)行識別。
4.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其中所述確定裝置(350)適于確定高速緩存塊(210)中第一數(shù)據(jù)字的最后一個數(shù)據(jù)字是否已被訪問;以及所述預(yù)取裝置(320)適于從存儲器(32)中預(yù)取第二數(shù)據(jù)字,該第二數(shù)據(jù)字代替所述高速緩存塊(210)中的所述第一數(shù)據(jù)字。
5 、根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述預(yù)取裝置(320)進(jìn)一步適于從所述存儲器(32)中的第二地址預(yù)取所述第二數(shù)據(jù)塊的所述第二數(shù)據(jù)字,其中所述第二地址是存儲器(32)中與所述第一數(shù)據(jù)的前一地址相對應(yīng)的第一地址的下一個較高地址,并且其中所述第二數(shù)據(jù)字適合所述第一數(shù)據(jù)的所述選定位置。
6.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述確定裝置(350)適于使所述高速緩存塊(210)中的第一數(shù)據(jù)字當(dāng)中的數(shù)據(jù)字無效,以及所述預(yù)取裝置(320)適于從存儲器(32)預(yù)取第二數(shù)據(jù)字,所述第二數(shù)據(jù)字適合所述高速緩存塊(210)中所述被無效的第一數(shù)據(jù)字的位置。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中所述第一數(shù)據(jù)字是從所述存儲器(32)被重新加載的。
8.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述確定裝置(350)適于確定所述高速緩存塊(210)中的第一數(shù)據(jù)字是否不屬于處理器當(dāng)前操作的數(shù)據(jù)流,以及所述預(yù)取裝置(320)適于從存儲器(32)預(yù)取第二數(shù)據(jù)字,所述第二數(shù)據(jù)字適合所述高速緩存塊(210)中所述第一數(shù)據(jù)字的位置。
9.用于將數(shù)據(jù)預(yù)取到高速緩沖存儲器(200)的方法,其中所述高速緩沖存儲器(200)包括多個高速緩存塊(210),該方法包括以下步驟a)識別所述高速緩沖存儲器(200)中包含被預(yù)測為無需代價就可被刪除的第一數(shù)據(jù)的至少一個位置;并且然后b)通過用適合所述位置的第二數(shù)據(jù)代替在所述位置處的所述第一數(shù)據(jù)來發(fā)出預(yù)取操作。
10.根據(jù)權(quán)利要求9所述的方法,其中所述方法在數(shù)據(jù)處理環(huán)境中被執(zhí)行,其被優(yōu)化以用于處理具有任務(wù)和數(shù)據(jù)流的數(shù)據(jù)流應(yīng)用,其中不同的數(shù)據(jù)流競爭共享的高速緩存資源,其中所述高速緩沖存儲器(200)包括多個高速緩存塊。
11.用于數(shù)據(jù)處理環(huán)境中的半導(dǎo)體裝置,其被優(yōu)化以用于處理具有任務(wù)和數(shù)據(jù)流的數(shù)據(jù)流應(yīng)用,其中不同的數(shù)據(jù)流競爭共享的高速緩存資源,該半導(dǎo)體裝置包括-具有多個高速緩存塊(210)的高速緩沖存儲器(200),以及-用于將數(shù)據(jù)預(yù)取到所述高速緩沖存儲器(200)的高速緩存控制器(300),其中所述高速緩存控制器(300)與所述高速緩沖存儲器(200)連接;所述高速緩存控制器(300)包括-識別裝置(310),用于識別所述高速緩沖存儲器(200)中包含第一數(shù)據(jù)的至少一個位置,所述第一數(shù)據(jù)是被預(yù)測為無需代價就可被刪除的數(shù)據(jù);以及-預(yù)取裝置(320),用于發(fā)出一個預(yù)取操作來用適合所述位置的第二數(shù)據(jù)代替在所述位置處的所述第一數(shù)據(jù)。
全文摘要
預(yù)測刪除預(yù)期不被繼續(xù)使用的緩存數(shù)據(jù),而不是預(yù)測未來的I/O操作,接下來從主存儲器中取出數(shù)據(jù)以代替高速緩沖存儲器中被刪除的數(shù)據(jù)。因此,首先識別高速緩沖存儲器中包含預(yù)期不被繼續(xù)使用的數(shù)據(jù)的一個位置,接著執(zhí)行預(yù)取操作以便請求新數(shù)據(jù)來再填充高速緩沖存儲器中的上述位置。因此,數(shù)據(jù)處理系統(tǒng)包括至少一個用于處理流式數(shù)據(jù)的處理器(12);至少一個具有多個高速緩存塊(210)的高速緩沖存儲器(200),其中所述高速緩沖存儲器(200)之一與每個所述處理器(12)連接;以及至少一個高速緩存控制器(300),用于將數(shù)據(jù)預(yù)取到所述高速緩沖存儲器(200),其中所述高速緩存控制器(300)之一與每個所述高速緩沖存儲器(200)連接。所述高速緩存控制器(300)包括確定裝置(350),用于識別所述高速緩沖存儲器(200)中包含第一數(shù)據(jù)的至少一個位置,所述第一數(shù)據(jù)是被預(yù)測為無需代價就可被刪除的數(shù)據(jù);以及預(yù)取裝置(320),用于發(fā)出一個預(yù)取操作來用適合所述位置的第二數(shù)據(jù)代替在所述位置處的所述第一數(shù)據(jù)。
文檔編號G06F12/08GK1757018SQ200480005894
公開日2006年4月5日 申請日期2004年2月25日 優(yōu)先權(quán)日2003年3月6日
發(fā)明者J·T·J·范埃恩德霍文, M·J·魯坦, E·-J·D·波爾 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1