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

一種高速緩存預取模塊及其方法

文檔序號:6638303閱讀:192來源:國知局
專利名稱:一種高速緩存預取模塊及其方法
技術領域
本發(fā)明涉及數(shù)據(jù)存取技術領域,特別是一種高速緩存預取模塊及其方法。
背景技術
近年來,為了減少處理器等待讀取數(shù)據(jù)的時間,提出了使用高速緩存的技術。采用高速緩存的系統(tǒng)芯片的相關部分如圖1所示,該系統(tǒng)芯片包括處理器(CPU Core)、高速緩存、高速緩存預取模塊、系統(tǒng)內(nèi)存、系統(tǒng)芯片總線。其中處理器從高速緩存中讀取數(shù)據(jù)并進行計算以及向高速緩存預取模塊發(fā)送預取數(shù)據(jù)的控制信息;高速緩存中保存的是處理器將要使用的數(shù)據(jù);高速緩存預取模塊用于從系統(tǒng)內(nèi)存讀取處理器即將使用的數(shù)據(jù),并將數(shù)據(jù)傳輸?shù)礁咚倬彺妫幌到y(tǒng)內(nèi)存中保存著各種數(shù)據(jù);系統(tǒng)芯片總線連接所述高速緩存預取模塊和系統(tǒng)內(nèi)存,并傳遞各種控制信息和數(shù)據(jù)。
圖2所示的是現(xiàn)有技術中高速緩存預取模塊的結構示意圖,該高速緩存預取模塊包括系統(tǒng)芯片總線接口、高速緩存總線接口、數(shù)據(jù)緩沖區(qū)和控制邏輯。其中系統(tǒng)芯片總線接口用于連接系統(tǒng)芯片總線,通過系統(tǒng)芯片總線與系統(tǒng)內(nèi)存相連接,并且用以傳遞數(shù)據(jù)和控制信息;高速緩存總線接口用于連接高速緩存,并用以傳遞數(shù)據(jù)和控制信息;數(shù)據(jù)緩沖區(qū)用于存儲從系統(tǒng)內(nèi)存預取的圖像數(shù)據(jù),它由寄存器組成,數(shù)據(jù)緩沖區(qū)大小為一個緩存行(cache line),可以存儲32字節(jié)的數(shù)據(jù);控制邏輯用于根據(jù)處理器的預取指令,控制從系統(tǒng)內(nèi)存中讀取一個緩存行的圖像數(shù)據(jù),并存入數(shù)據(jù)緩沖區(qū),以及將數(shù)據(jù)緩沖區(qū)內(nèi)一個緩存行的數(shù)據(jù)通過高速緩存總線接口傳輸?shù)礁咚倬彺?。控制邏輯、系統(tǒng)芯片總線接口、數(shù)據(jù)緩沖區(qū)、高速緩存總線接口之間還存在著控制信息的交互,從而實現(xiàn)數(shù)據(jù)的傳輸,例如將數(shù)據(jù)緩沖區(qū)中圖像數(shù)據(jù)傳輸?shù)礁咚倬彺鏁r,控制邏輯產(chǎn)生對數(shù)據(jù)緩沖區(qū)和高速緩存總線接口的控制信息,然后數(shù)據(jù)緩沖區(qū)和高速緩存總線接口根據(jù)控制邏輯的控制信息互相確定工作狀態(tài),當數(shù)據(jù)緩沖區(qū)為傳輸(Transfer)狀態(tài)、高速緩存總線接口為接收(Receive)狀態(tài)時,圖像數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)經(jīng)過高速緩存總線接口傳輸?shù)礁咚倬彺妗?br> 在數(shù)字圖像處理過程中,每幀圖像通常分為若干個圖像子塊,圖像子塊的大小通常為8×8或16×16個數(shù)據(jù)點,8×8個數(shù)據(jù)點的圖像子塊對應于通常所說的塊(Block),16×16個數(shù)據(jù)點的圖像子塊對應于通常所說的宏塊(Macro Block)。如果圖像采用YUV4:2:2編碼格式,每個數(shù)據(jù)點占用一個字節(jié),那么圖像子塊的亮度信息分別為8×8字節(jié)或16×16字節(jié)。圖3所示的是一個由99個宏塊組成的圖像幀,這99個宏塊分為9行11列,分別標記為宏塊0、宏塊1、...宏塊98,每個圖像子塊的大小為16×16字節(jié),即256字節(jié)。
假設處理器當前處理圖3所示幀中的第N個16×16字節(jié)的圖像子塊,需要預取第N+1個16×16個字節(jié)的圖像子塊,其中N大于等于且0小于等于98。如圖4所示,現(xiàn)有技術中上述高速緩存預取模塊預取一個圖像子塊的過程如下步驟401,控制邏輯接收到處理器第1次進行預取第N+1個圖像子塊中32字節(jié)的控制信息,該控制信息包括了所述第N+1個圖像子塊的前32字節(jié)數(shù)據(jù)中第一個字節(jié)數(shù)據(jù)的地址信息。此時處理器處于空閑狀態(tài)等待預取動作結束。
步驟402,控制邏輯根據(jù)上述第一個字節(jié)數(shù)據(jù)的地址信息自動產(chǎn)生其余31字節(jié)數(shù)據(jù)的地址信息后,控制邏輯向系統(tǒng)內(nèi)存發(fā)出讀取該32字節(jié)數(shù)據(jù)的控制信息,該控制信息包括讀取命令和該第N+1個圖像子塊的前32字節(jié)數(shù)據(jù)的地址信息,然后高速緩存預取模塊占據(jù)系統(tǒng)芯片總線進行第1次預取,讀取該第N+1個圖像子塊的前32字節(jié)數(shù)據(jù),然后存儲到數(shù)據(jù)緩沖區(qū)。然后控制邏輯再將第1次預取的32字節(jié)數(shù)據(jù)傳輸給高速緩存。
此時處理器依然處于空閑狀態(tài),等待第N+1個圖像子塊的數(shù)據(jù)。
步驟403,控制邏輯接收到處理器第2次進行預取第N+1個圖像子塊的控制信息,該控制信息包括了所述第N+1個圖像子塊的第2個32字節(jié)數(shù)據(jù)中第一個字節(jié)數(shù)據(jù)的地址信息,處理器處于空閑狀態(tài)。
步驟404,控制邏輯根據(jù)上述第一個字節(jié)數(shù)據(jù)的地址信息自動產(chǎn)生其余31字節(jié)數(shù)據(jù)的地址信息后,控制邏輯向系統(tǒng)內(nèi)存發(fā)出讀取該32字節(jié)數(shù)據(jù)的控制信息,該控制信息包括讀取命令和所述第N+1個圖像子塊的第2個32字節(jié)數(shù)據(jù)的地址信息,然后高速緩存預取模塊占據(jù)系統(tǒng)芯片總線進行第2次預取,讀取該第N+1個圖像子塊的第2個32字節(jié)數(shù)據(jù),然后存儲到數(shù)據(jù)緩沖區(qū)。然后控制邏輯再將第2次預取的32字節(jié)數(shù)據(jù)傳輸給高速緩存。
此時,處理器仍處于等待第N+1個圖像子塊數(shù)據(jù)的狀態(tài)。
步驟405,重復步驟403至步驟404,完成第3次預取到第8次預取,每次預取32字節(jié)數(shù)據(jù),從而完成對第N+1個圖像子塊所有256字節(jié)數(shù)據(jù)的預取。在此期間,處理器一直處于等待狀態(tài)。
步驟406,處理器從高速緩存中讀取并處理第N+1個圖像子塊的數(shù)據(jù)。
從上面的預取流程可以看出,由于現(xiàn)有的高速緩存預取模塊每次只能預取一個緩存行即32字節(jié)數(shù)據(jù),當圖像子塊數(shù)據(jù)大于32字節(jié)的時候,需要多次執(zhí)行預取操作才能預取一個圖像子塊的數(shù)據(jù),這期間處理器長期處于等待狀態(tài),從而導致圖像處理速度減慢。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了一種針對圖像子塊的高速緩存預取模塊及其方法,用以降低處理器在圖像數(shù)據(jù)預取期間等待的時間。
根據(jù)上述目的,本發(fā)明提供了一種高速緩存預取模塊,至少包括高速緩存總線接口、系統(tǒng)芯片總線接口、控制邏輯和數(shù)據(jù)緩沖區(qū),其中高速緩存總線接口用于連接高速緩存;系統(tǒng)芯片總線接口用于連接系統(tǒng)內(nèi)存;相互連接的控制邏輯和數(shù)據(jù)緩沖區(qū)分別連接于高速緩存總線接口和系統(tǒng)芯片總線接口之間,所述控制邏輯用于根據(jù)來自處理器的預取完整圖像子塊數(shù)據(jù)的控制信息,向系統(tǒng)內(nèi)存發(fā)送讀取所述完整圖像子塊數(shù)據(jù)的控制信息,并通過一次讀取操作將所讀取的完整圖像子塊數(shù)據(jù)全部保存到所述數(shù)據(jù)緩沖區(qū),以及將所述數(shù)據(jù)緩沖區(qū)中的完整圖像子塊數(shù)據(jù)傳輸?shù)礁咚倬彺?;?shù)據(jù)緩沖區(qū)用于存儲所述從系統(tǒng)內(nèi)存讀取的完整圖像子塊數(shù)據(jù)。
在上述技術方案中,所述數(shù)據(jù)緩沖區(qū)由寄存器堆構成。
所述數(shù)據(jù)緩沖區(qū)的容量大于或等于一個圖像子塊的大小。
所述預取完整圖像子塊數(shù)據(jù)的控制信息包括所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息;所述控制邏輯進一步用于根據(jù)所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息產(chǎn)生所述圖像子塊中其余數(shù)據(jù)的地址信息,并向系統(tǒng)內(nèi)存發(fā)送包括所述圖像子塊所有數(shù)據(jù)地址信息的所述圖像子塊數(shù)據(jù)的控制信息。
本發(fā)明還提供了一種高速緩存預取方法,該方法包括以下步驟A.接收到處理器預取完整圖像子塊數(shù)據(jù)的控制信息后,高速緩存預取模塊向系統(tǒng)內(nèi)存發(fā)送讀取所述圖像子塊數(shù)據(jù)的控制信息,并通過一次讀取操作讀取完整的所述圖像子塊數(shù)據(jù);B.將所述圖像子塊數(shù)據(jù)保存到高速緩存預取模塊中;C.將所述圖像子塊數(shù)據(jù)傳輸?shù)礁咚倬彺妗?br> 所述預取完整圖像子塊數(shù)據(jù)的控制信息包括所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息;步驟A中所述高速緩存預取模塊向系統(tǒng)內(nèi)存發(fā)出讀取所述圖像子塊數(shù)據(jù)的控制信息之前進一步包括根據(jù)所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息產(chǎn)生所述圖像子塊中其余數(shù)據(jù)的地址信息;所述高速緩存預取模塊向系統(tǒng)內(nèi)存發(fā)出讀取所述圖像子塊數(shù)據(jù)的控制信息包括所述圖像子塊中所有數(shù)據(jù)的地址信息。
進一步,步驟C之后包括處理器從所述高速緩存讀取所述圖像子塊數(shù)據(jù)的步驟。
從上述方案中可以看出,由于本發(fā)明的高速緩存預取模塊支持一次預取一個完整圖像子塊數(shù)據(jù),縮短了預取圖像子塊數(shù)據(jù)的周期,降低了處理器在圖像數(shù)據(jù)預取期間等待的時間,從而提高了圖像處理速度。


圖1為高速緩存預取模塊在系統(tǒng)中的位置示意圖;圖2為現(xiàn)有技術中高速緩存預取模塊的結構示意圖;圖3為一個包含11×9個圖像子塊的圖像;圖4為現(xiàn)有技術中預取一個256字節(jié)圖像子塊的流程示意圖;圖5為本發(fā)明高速緩存預取模塊的結構示意圖;圖6為本發(fā)明預取一個256字節(jié)圖像子塊的流程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,以下舉實施例對本發(fā)明進一步詳細說明。
本發(fā)明提出的高速緩存預取模塊在數(shù)字圖像處理系統(tǒng)的位置與現(xiàn)有技術一樣,但是本發(fā)明提出的高速緩存預取模塊的具體結構和功能與現(xiàn)有技術不同。
參考圖5,本發(fā)明的高速緩存預取模塊包括系統(tǒng)芯片總線接口、高速緩存總線接口、數(shù)據(jù)緩沖區(qū)和控制邏輯。其中系統(tǒng)芯片總線接口用于連接系統(tǒng)芯片總線,通過系統(tǒng)芯片總線與系統(tǒng)內(nèi)存相連接,并且傳遞數(shù)據(jù)和控制信息。高速緩存總線接口用于連接高速緩存,并傳遞數(shù)據(jù)和控制信息??刂七壿嫼蛿?shù)據(jù)緩沖區(qū)分別連接于系統(tǒng)芯片總線接口和高速緩存總線接口之間,并且控制邏輯和數(shù)據(jù)緩沖區(qū)兩者之間相互連接。數(shù)據(jù)緩沖區(qū)用于存儲從系統(tǒng)內(nèi)存預取的圖像數(shù)據(jù),它由寄存器組成,與現(xiàn)有技術不同的是,本發(fā)明的數(shù)據(jù)緩沖區(qū)大小至少為一個圖像子塊的大小,根據(jù)現(xiàn)有Mpeg-1、Mpeg-2、Mpeg-4、H.261、H.263或H.264等編解碼處理技術知道圖像子塊的大小一般為64字節(jié)或256字節(jié),為了不造成冗余浪費,可以根據(jù)實際圖像處理的需要將數(shù)據(jù)緩沖區(qū)的大小設置為64字節(jié)或256字節(jié),即數(shù)據(jù)緩沖區(qū)由能夠存儲64字節(jié)或256字節(jié)的寄存器堆組成。與現(xiàn)有技術相比,結構上相當于在數(shù)據(jù)緩沖區(qū)新添加了寄存器??刂七壿嫿邮仗幚砥鞯念A取指令,根據(jù)處理器發(fā)送過來的圖像子塊中第一字節(jié)數(shù)據(jù)的地址信息自動產(chǎn)生一個圖像子塊的其余數(shù)據(jù)的地址信息后,通過系統(tǒng)芯片總線接口向系統(tǒng)內(nèi)存發(fā)送讀取該圖像子塊數(shù)據(jù)的控制信息,該控制信息包括讀取命令和上述圖像子塊中所有數(shù)據(jù)的地址信息,從系統(tǒng)內(nèi)存中讀取一個圖像子塊的數(shù)據(jù),并存入數(shù)據(jù)緩沖區(qū),以及將數(shù)據(jù)緩沖區(qū)內(nèi)一個圖像子塊的數(shù)據(jù)通過高速緩存總線接口傳輸?shù)礁咚倬彺?。與現(xiàn)有技術相同,控制邏輯、系統(tǒng)芯片總線接口、數(shù)據(jù)緩沖區(qū)、高速緩存總線接口之間還存在著控制信息的交互,從而實現(xiàn)數(shù)據(jù)在各模塊之間的傳輸,例如將數(shù)據(jù)緩沖區(qū)中圖像數(shù)據(jù)傳輸?shù)礁咚倬彺鏁r,控制邏輯產(chǎn)生對數(shù)據(jù)緩沖區(qū)和高速緩存總線接口的控制信息,然后數(shù)據(jù)緩沖區(qū)和高速緩存總線接口根據(jù)控制邏輯的控制信息互相確定工作狀態(tài),當數(shù)據(jù)緩沖區(qū)為傳輸(Transfer)狀態(tài)、高速緩存總線接口為接收(Receive)狀態(tài)時,圖像數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)經(jīng)過高速緩存總線接口傳輸?shù)礁咚倬彺妗?br> 假設處理器當前處理圖3所示幀中的第N個16×16字節(jié)的圖像子塊,需要預取第N+1個16×16個字節(jié)的圖像子塊,其中N大于等于且0小于等于98。如圖6所示,本發(fā)明中高速緩存預取模塊預取一個圖像子塊的過程如下步驟601,控制邏輯接收到處理器進行預取完整的第N+1個圖像子塊的控制信息,該控制信息包括所述第N+1個圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息。由于本發(fā)明的高速緩存預取模塊支持一次預取一個圖像子塊,因此處理器可以向該高速緩存預取模塊發(fā)送預取一個圖像子塊的控制信息。然后,控制邏輯根據(jù)所述第N+1個圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息產(chǎn)生該圖像子塊中其余255字節(jié)數(shù)據(jù)的地址信息。不同廠商的控制邏輯產(chǎn)生其余數(shù)據(jù)地址信息的方法可能不同,最簡單的方法就是在第一個字節(jié)數(shù)據(jù)的地址信息上依次加上一到255個固定的數(shù)值,從而產(chǎn)生其余的255字節(jié)數(shù)據(jù)的地址信息。
步驟602,控制邏輯向系統(tǒng)內(nèi)存發(fā)出讀取該圖像子塊的控制信息,該控制信息包括讀取命令和該第N+1個圖像子塊的256字節(jié)數(shù)據(jù)的地址信息,然后高速緩存預取模塊占據(jù)系統(tǒng)芯片總線進行預取,讀取該第N+1個圖像子塊的256字節(jié)數(shù)據(jù),存儲到數(shù)據(jù)緩沖區(qū)。然后控制邏輯再將該次預取的256字節(jié)數(shù)據(jù)傳輸給高速緩存。
此時,處理器處理當前第N個圖像子塊的數(shù)據(jù),或者已經(jīng)處理完第N個圖像子塊的數(shù)據(jù),處于等待第N+1個圖像子塊數(shù)據(jù)的狀態(tài)。如果處理器正在處理第N個圖像子塊的數(shù)據(jù),那么在處理器處理完第N個圖像子塊的數(shù)據(jù)之后,就可以直接從高速緩存中讀取第N+1個圖像子塊數(shù)據(jù),從而不需要等待,跟現(xiàn)有技術相比,減少了處理器等待的時間,提高了圖像處理的效率。如果處理器已經(jīng)處理完第N個圖像子塊的數(shù)據(jù),并處于等待第N+1個圖像子塊數(shù)據(jù)的狀態(tài),那么在高速緩存預取模塊結束該次預取后,就可以從高速緩存中讀取第N+1個圖像子塊的數(shù)據(jù),跟現(xiàn)有技術相比,同樣減少了處理器等待的時間,提高了圖像處理的效率。
步驟603,處理器從高速緩存中讀取并處理第N+1個圖像子塊的數(shù)據(jù)。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種高速緩存預取模塊,至少包括高速緩存總線接口、系統(tǒng)芯片總線接口、控制邏輯和數(shù)據(jù)緩沖區(qū),其中高速緩存總線接口用于連接高速緩存;系統(tǒng)芯片總線接口用于連接系統(tǒng)內(nèi)存;相互連接的控制邏輯和數(shù)據(jù)緩沖區(qū)分別連接于高速緩存總線接口和系統(tǒng)芯片總線接口之間,其特征在于,所述控制邏輯用于根據(jù)來自處理器的預取完整圖像子塊數(shù)據(jù)的控制信息,向系統(tǒng)內(nèi)存發(fā)送讀取所述完整圖像子塊數(shù)據(jù)的控制信息,并通過一次讀取操作將所讀取的完整圖像子塊數(shù)據(jù)全部保存到所述數(shù)據(jù)緩沖區(qū),以及將所述數(shù)據(jù)緩沖區(qū)中的完整圖像子塊數(shù)據(jù)傳輸?shù)礁咚倬彺?;?shù)據(jù)緩沖區(qū)用于存儲所述從系統(tǒng)內(nèi)存讀取的完整圖像子塊數(shù)據(jù)。
2.根據(jù)權利要求1所述的高速緩存預取模塊,其特征在于,所述數(shù)據(jù)緩沖區(qū)由寄存器堆構成。
3.根據(jù)權利要求1所述的高速緩存預取模塊,其特征在于,所述數(shù)據(jù)緩沖區(qū)的容量大于或等于一個圖像子塊的大小。
4.根據(jù)權利要求1所述的高速緩存預取模塊,其特征在于,所述預取完整圖像子塊數(shù)據(jù)的控制信息包括所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息;所述控制邏輯進一步用于根據(jù)所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息產(chǎn)生所述圖像子塊中其余數(shù)據(jù)的地址信息,并向系統(tǒng)內(nèi)存發(fā)送包括所述圖像子塊所有數(shù)據(jù)地址信息的所述圖像子塊數(shù)據(jù)的控制信息。
5.一種高速緩存預取方法,其特征在于,該方法包括以下步驟A.接收到處理器預取完整圖像子塊數(shù)據(jù)的控制信息后,高速緩存預取模塊向系統(tǒng)內(nèi)存發(fā)送讀取所述圖像子塊數(shù)據(jù)的控制信息,并通過一次讀取操作讀取完整的所述圖像子塊數(shù)據(jù);B.將所述圖像子塊數(shù)據(jù)保存到高速緩存預取模塊中;C.將所述圖像子塊數(shù)據(jù)傳輸?shù)礁咚倬彺妗?br> 6.根據(jù)權利要求5所述的方法,其特征在于,所述預取完整圖像子塊數(shù)據(jù)的控制信息包括所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息;步驟A中所述高速緩存預取模塊向系統(tǒng)內(nèi)存發(fā)出讀取所述圖像子塊數(shù)據(jù)的控制信息之前進一步包括根據(jù)所述圖像子塊中第一個字節(jié)數(shù)據(jù)的地址信息產(chǎn)生所述圖像子塊中其余數(shù)據(jù)的地址信息;所述高速緩存預取模塊向系統(tǒng)內(nèi)存發(fā)出讀取所述圖像子塊數(shù)據(jù)的控制信息包括所述圖像子塊中所有數(shù)據(jù)的地址信息。
7.根據(jù)權利要求5所述的方法,其特征在于,步驟C之后進一步包括處理器從所述高速緩存讀取所述圖像子塊數(shù)據(jù)的步驟。
全文摘要
本發(fā)明公開了一種高速緩存預取模塊,包括高速緩存總線接口、系統(tǒng)芯片總線接口以及控制邏輯和數(shù)據(jù)緩沖區(qū),其中,控制邏輯用于根據(jù)來自處理器的預取完整圖像子塊數(shù)據(jù)的控制信息,向系統(tǒng)內(nèi)存發(fā)出讀取所述圖像子塊數(shù)據(jù)的控制信息,并將所讀取的圖像子塊數(shù)據(jù)保存到所述數(shù)據(jù)緩沖區(qū),以及將所述數(shù)據(jù)緩沖區(qū)中的圖像子塊數(shù)據(jù)傳輸?shù)礁咚倬彺妫粩?shù)據(jù)緩沖區(qū)用于存儲所述從系統(tǒng)內(nèi)存讀取的完整圖像子塊數(shù)據(jù)。本發(fā)明還公開了一種高速緩存預取方法。由于本發(fā)明的高速緩存預取模塊支持一次預取一個完整圖像子塊數(shù)據(jù),縮短了預取圖像子塊數(shù)據(jù)的周期,降低了處理器在圖像數(shù)據(jù)預取期間等待的時間,從而提高了圖像處理速度。
文檔編號G06F12/08GK1731374SQ20051009307
公開日2006年2月8日 申請日期2005年8月25日 優(yōu)先權日2005年8月25日
發(fā)明者白鋒, 夏煜, 王浩, 懷千江 申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1