新四季網

高速緩存及其數據處理方法

2023-10-17 13:04:44 2


專利名稱::高速緩存及其數據處理方法
技術領域:
:本發明涉及一種高速緩存及其數據處理方法,特別是一種用於影像處理裝置的高速緩存及其數據處理方法。
背景技術:
:影像處理標準H.264的影像解碼器對外部動態隨機存取存儲器的數據訪問量與標準MPEG2相比,增加了好幾倍。在R264的影像解碼器,訪問動態隨機存取存儲器的數據量最大的是運動補償部分。例如,在進行圖像重構時,讀取的數據量以每個宏塊為單位讀取的數據量來說,在最差的情況下(worstcase)情況下,是通常一個宏塊數據量的9到10倍。因此,對存儲器的帶寬要求也大為增加。在常見的支持H.264解碼晶片的晶片系統(SystemonChip,SoC)系統中,不得不採用兩條以上的存儲器信道(memorychannel),來滿足整個系統對帶寬的要求,因而相應的產品成本也會上升。然而,現有技術中也有適用一高速緩存來暫存影像解碼器所需的影像數據的方法。其中,當影像解碼器需要讀取數據時,若高速緩存中有影像解碼器所需的數據時,便在高速緩存中讀取;若高速緩存中沒有影像解碼器需要讀取的數據,則再去動態隨機存取存儲器中讀取。但是,現有技術對於配合高速緩存在動態隨機存取存儲器讀取影像數據的技術,往往會存在影像解碼器無法實際從高速緩存中讀取到有效的數據,以及讀取動態隨機存取存儲器的效率不高等缺點,無法有效發揮影像數據預讀取的功效。
發明內容本發明的目的在於,通過分析H.264影像解碼器數據訪問的特點,提供一種高效率的數據高速緩存與其數據處理方法。通過本發明的高速緩存及其數據處理方法,可以有效的提高高速緩存中數據的命中率及訪問動態隨機存取存儲器的效率,對比於從外部動態隨機存取存儲器讀數據,速度會更快,從而可加快系統解碼的速度,同時,本發明還可以降低生產成本,提高產品的競爭力。為了實現上述目的,本發明提供了一種高速緩存,用於暫存一動態存取存儲器的數據,供一影像解碼器讀取,該高速緩存包括一命中比較單元,接收一讀動態存取存儲器請求,用於比較判斷該讀動態存取存儲器請求是一命中高速緩存的讀動態存取存儲器請求,還是一未命中高速緩存的讀動態存取存儲器請求;一合併模塊,連接至該命中比較單元,接收及合併該未命中高速緩存的讀動態存取存儲器請求;一指令隊列模塊,連接至該命中比較單元及該合併模塊,根據命中高速緩存的讀動態存取存儲器請求及合併後的該未命中高速緩存的讀動態存取存儲器請求,讀取該動態存取存儲器的數據及該高速緩存中的數據。此外,本發明還提供了一種高速緩存的數據處理方法,供一影像解碼器在一動態隨機存取存儲器中讀取數據,該方法包括以下步驟首先,接收該影像解碼器送來的一讀動態隨機存取存儲器請求,然後,通過一命中比較單元判斷該讀動態隨機存取存儲器請求是否命中該高速緩存。若比較結果為命中,則將該讀動態隨機存取存儲器請求的信息傳送寫入一指令隊列模塊。若比較結果為未命中,則將該讀動態隨機存取存儲器請求的信息傳送至一合併模塊,由該合併模塊將該未命中的讀動態隨機存取存儲器請求合併。在合併模塊合併該未命中的讀動態隨機存取存儲器請求後,將合併後的信息寫入該指令隊列模塊。最後,該指令接收模塊根據該命中比較單元及該合併模塊所寫入的信息,從該動態隨機存取存儲器或該高速緩存中讀取該讀動態隨機存取存儲器請求的數據。以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。圖1為本發明高速緩存的功能方塊圖;圖2為本發明指令隊列模塊的功能方塊圖;圖3為第一級緩存指令隊列示意圖;圖4為第二級緩存指令隊列示意圖5為多指令流出方式的時序示意圖6為本發明高速緩存數據處理方法的流程圖。其中,附圖標記l一高速緩存2—運動補償單元3—動態隨機存取存儲器IO—命中比較單元101—命中比較模塊102—命中地址產生模塊20—合併模塊30—指令隊列模塊301—第一級緩存指令隊列302—第二級緩存指令隊列303—指令控制單元304—地址產生單元40—第一協議控制模塊50—第二協議控制模塊60—第一暫存模塊控制單元70—第一數據暫存模塊80—地址暫存模塊90—第二數據暫存模塊IOO—第二暫存模塊控制單元IIO—數據選擇模塊READ—CACHE—QUE_讀第二數據暫存模塊的指令隊列WRITE—CACHE一QUE—寫第二數據暫存模塊的指令隊列READ—BUF—QUE—讀第一數據暫存模塊的指令隊列WRITE_BUF—QUE—寫第一數據暫存模塊的指令隊列READ—DRAM—QUE—讀動態隨機存取存儲器的指令隊列ReadCache—讀第二數據暫存模塊的指令WriteCache—寫第二數據暫存模塊的指令ReadBUF—讀第一數據暫存模塊的指令WriteBUF—寫第一數據暫存模塊的指令ReadDram—讀動態隨機存取存儲器的指令CACHE—CLK—高速緩存的時鐘信號READ—DRAM,RDD—讀動態隨機存取存儲器WRITE—CACHE,RDC—寫第二數據暫存模塊WRITE—BUF,WRB—寫第一數據暫存模塊READ—BUF,RDB—讀第一數據暫存模塊WRITE一CACHE,WRC—寫第二數據暫存模塊DATA2CIDEO—VALD—數據擷取信號DATA2VIDEO—數據傳送具體實施例方式在11.264影像解碼器(VideoDecoder)中,訪問數據量最大的是運動補償部分。針對許多數據是可以重複利用的及可以預先讀回的這一特性,我們可以將這些需要重複利用或預先讀回的數據,保存在高速緩存(Cache)中。同時,需要從動態隨機存取存儲器(DRAM)中讀取數據的請求(沒有命中高速緩存的讀請求),可依據動態隨機存取存儲器中數據可以順序(wraplinear或sequential)方式讀取的特性,把沒有命中高速緩存而需從動態隨機存取存儲器中讀取數據的請求進行合併。從而可通過增加每個訪問動態隨機存取存儲器的數據長度(BurstLength),來提高訪問動態隨機存取存儲器的效率。在H.264影像解碼器的高速緩存的設計中,為了降低讀外部動態隨機存取存儲器的響應延遲時間(Latency)對影像解碼器解碼速度的影響,提高高速緩存的效率。本發明通過高速緩存內部的指令機,在高速緩存內部的某種狀態下,每個時鐘周期發送多個指令的方式,將讀動態隨機存取存儲器的響應延遲時間(latency)隱藏在讀內部高速緩存的操作中。從而提高系統的效率,加快解碼的速度。再者,在設計高速緩存的時候,一方面為了節約面積,我們用靜態隨機存取存儲器(SRAM)來保存每筆需要更新到高速緩存中的數據,同時,用靜態隨機存取存儲器保存該數據對應在動態隨機存取存儲器中的地址。因此,在進行高速緩存數據命中比較的時候,只要將該讀地址與動態隨機存取存儲器中所有保存的有效地址比較一遍,就可以知道該讀請求有沒有命中高速緩存。進而,本發明採用了動態調整高速緩存中數據的有效性的方法,以提高高速緩存中數據的命中率。以下將進一步說明本發明的上述特點及工作原理。請參閱圖l,此為本發明高速緩存的功能方塊圖。如圖所示,影像解碼器的運動補償單元2通過本發明的高速緩存1從動態隨機存取存儲器3中讀取數據。本發明的高速緩存1的主要架構包括一高速緩存命中比較單元10、一合併模塊20及一指令隊列模塊30。其中,高速緩存命中比較單元IO包括一命中比較模塊101及一命中地址產生模塊102。另外,本發明的高速緩存l還包括一第一協議控制模塊40、第二協議控制模塊50、第一暫存模塊控制單元60、第一數據暫存模塊70、地址暫存模塊80、第二數據暫存模塊90、第二暫存模塊控制單元100及數據選擇模塊110。其中,第一數據暫存模塊70用於暫存由動態隨機存取存儲器3讀回的數據,第二數據暫存模塊90為用於保存高速緩存1的數據的模塊。接下來,介紹本發明高速緩存l中各模塊的功能及彼此的關係。高速緩存1利用第一協議控制模塊40連接至影像解碼器的運動補償單元2。第一協議控制模塊40用於高速緩存1與運動補償單元2間接口協議的控制,通過內部存儲器總線(Internalmemorybus)連接至運動補償單元2。運動補償單元2傳送一讀動態隨機存取存儲器3的請求,經第一協議控制模塊40到命中比較單元10。命中比較單元10的命中比較模塊101接收該讀動態隨機存取存儲器3的請求,並依照每一請求發送的順序進行編碼,每一請求對應一個編碼序號索引(index)。索引的位寬由後級指令隊列模塊30中的隊列深度決定,因為該編碼序號索引將作為指令隊列的地址指針。接著,命中比較模塊101便將編碼後的每個請求進行高速緩存l命中比較,該命中比較是一個多級的流水(pipe)過程,並採用動態調整數據的有效性的方法,以提高高速緩存1中數據的命中率。所謂動態調整數據的有效性的方法,其特點在於,在流水(pipe)命中比較過程中,有些保存在高速緩存l中的數據是無效的,而有些還在動態隨機存取存儲器3中將要被讀回或正在讀回的數據卻是有效的。在高速緩存1數據更新機制上,通過分析影像解碼器運動補償部分圖像重構讀取數據"向右、向下"的特性、圖像重構劃分的邊界數據可以重複利用以及可以部分預讀取的特點,我們採用時間順序的原則,即最早保存在高速緩存1中的數據最先被覆蓋的方法,來更新數據。同時,採用16級的流水(pipe)來進行數據命中比較,在這16級流水(pipe)命中比較的時候,在每一級比較中同樣遵循時間順序的原則,即每一級比較不僅與從靜態隨機存取存儲器(如圖1地址暫存模塊80)中讀出來的地址比較,同時還要與在這16級流水(pipe)中,在當前這一級流水(pipe)的前面所有流水(pipe)中將要被寫進靜態隨機存取存儲器中保存的動態隨機存取存儲器3的地址進行比較。也就是將這16級流水(pipe)中有可能將被寫進高速緩存1的數據的地址,也參與命中比較,而這些數據還是存在動態隨機存取存儲器3中沒有被讀回來的。每一級命中比較從靜態隨機存取存儲器讀出來的地址,還要看它是否將要被排在它前面的可能寫進高速緩存的,但是還在這16級流水(pipe)中的請求所覆蓋,若將被覆蓋則該命中無效,即,有些已經存在高速緩存中的數據是無效的。通過這種動態地調整每一級中參加比較的地址的有效性(也就是數據的有效性)來確保參與比較的有效地址是最近被更新的,以提高高速緩存1的命中率。當然,若採用4級、8級的流水(pipe)命中比較方法,也可以採用這種動態調整的方式。若比較結果該讀請求有命中,表示該請求所要讀的數據可從高速緩存1中讀取。接著,命中比較單元IO便傳送該命中請求的相關信息給指令隊列模塊30及命中地址產生模塊102;同時由命中地址產生模塊102產生命中高速緩存1的地址及命中標誌,並將命中高速緩存1的地址及命中標誌傳通過內部流水(pipe)寫入指令隊列模塊30。若是比較結果該讀請求沒有命中,表示必須從動態隨機存取存儲器3中讀取。則命中比較單元10將讀動態隨機存取存儲器3的請求傳送至合併模塊20。合併模塊20會將每一個沒命中高速緩存1的讀動態隨機存取存儲器3的請求進行合併,並將合併後的相關信息送入指令隊列模塊30。上述合併模塊20可利用動態隨機存取存儲器3的存儲數據可以以順序(wraplinear或s叫uential)方式讀取的特性,將沒命中高速緩存1的讀動態隨機存取存儲器3的請求進行合併,再將合併後的相關信息送入指令隊列模塊30,以從動態隨機存取存儲器3讀取數據。增加每個訪問動態隨機存取存儲器的數據長度(BurstLength),可以提高訪問動態隨機存取存儲器3的效率。以每個訪問動態隨機存取存儲器的數據長度(BurstLength)為4舉例,請同時請參考表一所示tableseeoriginaldocumentpage11(表一)表一表示動態隨機存取存儲器3的存儲數據可以以順序(wraplinear或sequential)方式讀取的特性,與首地址及每個訪問動態隨機存取存儲器的數據長度(BurstLength)間的關係。假設我們首先要讀數據"2",然後又有某些請求要讀數據"3"、數據"0"及數據"1",那我們就可以利用表一所示的特性,將這四筆不連續的讀請求合併成一筆讀請求,只要令首地址的起始位為"10",且數據長度(BurstLength)為4就可以了。數據回來的順序是按"2、3、0、1"的順序;這樣向動態隨機存取存儲器3發送的請求就可以從四次減少到一次,數據總線上傳輸的數據也可以連續起來,從而可以提高訪問動態隨機存取存儲器3的效率。因此,數據長度(BurstLength)的值就是該讀請求需要的數據個數,本發明的數據長度(BurstLength)的值並不限定於4;在總的數據量一定的情況下,訪問數據長度(BurstLength)的值越大(當然不能超過系統規定的最大值),則請求的次數便越少,訪問動態隨機存取存儲器3的效率就越高。接著,請參閱圖2,此為本發明指令隊列模塊的功能方塊圖。通過前述的說明可知,指令隊列模塊30接收命中比較模塊101、命中地址產生模塊102及合併模塊20的寫入信號。指令隊列模塊30中包括第一級緩存指令隊列301、第二級緩存指令隊列302、指令控制單元303及地址產生單元304。其中,指令控制單元303用於第一級緩存指令隊列301及第二級緩存指令隊列302中相關指令的控制。第一級緩存指令隊列301還包括有多個隊列,按照運動補償單元2讀取數據的正常順序,分別保存著每個讀動態隨機存取存儲器3請求的數據長度(BurstLength)值以及對應的首地址、讀第二數據暫存模塊90的標誌以及地址、讀寫第一數據暫存模塊70的標誌以及地址。然後,第二級緩存的指令隊列302及地址產生單元304根據這些隊列中保存的信息,分別產生相關指令以及與指令相關的地址,包括讀動態隨機存取存儲器3的指令及地址與每筆訪問動態隨機存取存儲器的數據長度(BurstLength,BL)值、讀第二數據暫存模塊90的指令及地址、寫第二數據暫存模塊90的指令及地址、讀第一數據暫存模塊70的指令及地址及寫第一數據暫存模塊70的指令及地址等指令。上述指令通過第二級緩存的指令隊列302發出,具有兩個作用,其一是指令隊列模塊30可以以亂序的方式向動態隨機存取存儲器3發送經過合併以後的請求,提高訪問速度。其從動態隨機存取存儲器3讀回的數據在通過第二協議控制模塊50寫進內部的第一數據暫存模塊70時,按照送給高速緩存1的正確順序重排。其二是這些指令在某些特定的時鐘周期裡,可以以每時鐘周期多指令方式流出,從而提高系統效率。接著,進一步說明通過第二級緩存指令隊列302發出指令的作用。為了儘量減少高速緩存1讀取動態隨機存取存儲器3的響應延遲時間(latency)對解碼速度的影響。當高速緩存1內部的指令隊列模塊30發現當前有M筆數據需要從高速緩存1中讀取時,指令隊列模塊30可以將隨後第M+l或第M+2或第M+N筆讀動態隨機存取存儲器3的指令與地址,與當前的讀高速緩存1的指令與地址,在一個時鐘周期內發送出去。當M個讀高速緩存1的操作完成後,若M比較大,即讀高速緩存1數據比較多的時候,第M+l個或第M+2或第M+N個讀動態隨機存取存儲器3的數據可能已經讀回來,按排好的順序放在第一數據暫存模塊70中了,這樣就可以不用等待。緊接著,將排好順序的數據,一方面送給影像解碼器(圖中未示出)解碼用,另外一方面也可以同時將要更新到高速緩存1中的數據寫進高速緩存1,即讀第一數據暫存模塊70的命令及地址與寫高速緩存1的指令及地址等指令與地址也可以在同一個時鐘周期產生。若M比較小,即讀高速緩存l的數據比較少的時候,讀動態隨機存取存儲器3的響應延遲時間(latency)也有部分隱藏在這些讀高速緩存1的操作中。因此,採用這種可以在一個時鐘周期發送多條指令的方式,可以將讀取外部動態隨機存取存儲器3的響應延遲時間(latency)完全或者部分隱藏在讀取內部的高速緩存1的操作中。接著,用一較具體的實施例來說明上述在一個時鐘周期發送多條指令的方式及將讀取外部動態隨機存取存儲器3的響應延遲時間(latency)完全或者部分隱藏在讀取內部的高速緩存1的操作中的方法。請參閱圖1及圖3,圖3為第一級緩存指令隊列示意圖。在系統的某個時候,假定第一級緩存指令隊列301中的指令順序如圖3所示。隊列緩衝器(buffer)深度為32級,其中,前28條是讀高速緩存1的指令(ReadCache),後4條是讀動態隨機存取存儲器3的指令(ReadDram),每條讀動態隨機存取存儲器3的指令的每個訪問動態隨機存取存儲器的數據長度(BurstLength)為2個64位寬的數據(也可以是1個或其它系統規定的個數)。這些數據讀回來後,按重新排好的順序寫進內部的緩衝器(第一數據暫存模塊70),然後,按順序讀出來送給影像解碼器(圖中未示出)解碼用,以及更新到高速緩存1的第二數據暫存模塊卯中(第二數據暫存模塊90為保存高速緩存1的數據的模塊)。所以每一條ReadDmm指令,當數據讀回來後,會對應兩條寫第一數據暫存模塊(WriteBUF)、兩條讀第一數據暫存模塊(ReadBUF)、兩條寫第二數據暫存模塊(WriteCache)指令。接著,請參閱圖4,此為第二級緩存指令隊列示意圖。ReadCache、ReadDram、WriteBUF、ReadBUF及WriteCache的指令經過第二級緩存指令隊列302處理以後,暫存於各指令隊列,如圖4讀第二數據暫存模塊的指令隊列(READ—CACHE—QUE)、寫第二數據暫存模塊的指令隊列(WRITE—CACHE—QUE)、讀第一數據暫存模塊的指令隊列(READ—BUF—QUE)、寫第一數據暫存模塊的指令隊列(WRITE—BUF—QUE)及讀動態隨機存取存儲器的指令隊列(READ_DRAM—QUE)所示。而圖4中的各條指令,在適當的時候,某些指令是可以在同一個時鐘內讀出來執行的。接著,請再參閱圖5,此為多指令流出方式的時序示意圖。當四條ReadDmm指令和ReadCache指令同時發送出去後,假定26個時鐘周期後,第一個讀Dram的數據己經回來了,這個時候,指令機繼續發送ReadCache指令(因為總共有28條ReadCache指令,也就是有28個64位寬數據(QWs)需要從高速緩存l的第二數據暫存模塊90中讀)。同時,也會執行WriteBUF指令,將從動態隨機存取存儲器3讀回的數據寫進第一數據暫存模塊70。所以,讀動態隨機存取存儲器3的響應延遲時間(latency)就隱藏在讀高速緩存1的操作中。當28條ReadCache指令執行完後,馬上執行ReadBUF與WriteCache指令,將數據從第一數據暫存模塊70讀出來送給影像解碼器(圖中未示出),並同時更新到第二數據暫存模塊90中。當然,這時還會同時執行WriteBUF指令,繼續將從動態隨機存取存儲器3讀回的數據按照排好的順序寫進第一數據暫存模塊70。所以,通過上述方法,可實現在同一個時鐘周期內發送多條指令,將讀動態隨機存取存儲器3的響應延遲時間(latency)隱藏在讀高速緩存1的操作中,達到提高高速緩存1效率。請參閱圖6,此為本發明高速緩存數據處理方法的流程圖。首先,高速緩存1接收運動補償單元2傳來的讀動態隨機存取存儲器3請求(如圖6步驟S601)。接著,由命中比較單元10判斷讀動態隨機存取存儲器3請求是否命中高速緩存1(如圖6步驟S603)。若讀動態隨機存取存儲器3請求命中高速緩存l,根據命中高速緩存l的讀動態隨機存取存儲器3請求,從高速緩存1中(第二數據暫存模塊90)輸出讀動態隨機存取存儲器3請求欲讀取的數據到運動補償單元2(如圖6步驟S605)。若讀動態隨機存取存儲器3請求未命中高速緩存1,便將讀動態隨機存取存儲器3請求傳至合併模塊20進行合併(如圖6步驟S607)。接著便根據合併的讀動態隨機存取存儲器3請求,從動態隨機存取存儲器3中讀取每個讀動態隨機存取存儲器3請求欲讀取的數據,並輸出至運動補償單元2(如圖6步驟S609)。請再次參閱圖1,繼上述各功能原理的說明後,將針對本發明的高速緩存1中各功能方塊間的動作及信號流程進行進一步整體說明。運動補償單元2通過高速緩存1從動態隨機存取存儲器3讀取數據。高速緩存1通過第一協議控制模塊40接收運動補償單元2所傳送過來的讀動態隨機存取存儲器3的請求。接下來,該讀請求便傳送至命中比較單元IO,命中比較單元10依照每一個請求發送的順序進行編碼,並在該讀請求被編碼後進行比較。若比較結果有命中的讀請求,命中比較單元IO便分別傳送該命中的讀請求的相關信息給指令隊列模塊30及命中地址產生模塊102。然後,由命中地址產生模塊102產生命中高速緩存1的地址及命中標誌,並將命中高速緩存1的地址及命中標誌通過內部流水(pipe)寫入指令隊列模塊30。若是比較結果該讀請求沒有命中,則命中比較單元10將該讀請求傳送至合併模塊20。該合併模塊20會將每一個沒命中高速緩存1的讀動態隨機存取存儲器3的請求進行合併,並將合併後的相關信息送入指令隊列模塊30。其中,命中比較單元10的命中比較是一個多級的流水(pipe)過程,並採用動態調整數據的有效性的方法,以提高高速緩存l中數據的命中率。合併模塊20可利用動態隨機存取存儲器中數據可以順序(wraplinear或s叫uential)方式讀取的特性,將未命中高速緩存1的讀動態隨機存取存儲器3的請求進行合併,從而增加每個訪問動態隨機存取存儲器的數據長度(BurstLength),進而提高訪問動態隨機存取存儲器3的效率。指令隊列模塊30接收了命中比較模塊101、命中地址產生模塊102及合併模塊20所傳來的相關信息,然後分別輸出讀動態隨機存取存儲器3的指令及地址與每個訪問動態隨機存取存儲器的數據長度(BurstLength)、讀寫第一數據暫存模塊70的指令及地址及讀寫第二數據暫存模塊90的指令及地址的相關指令到第二協議控制模塊50、第一暫存模塊控制單元60及第二暫存模塊控制單元100。第二協議控制模塊50接收讀動態隨機存取存儲器3的指令及地址與每個訪問動態隨機存取存儲器的數據長度(BurstLength)後,便從動態隨機存取存儲器3讀取數據,並將讀回的數據暫存於第一數據暫存模塊70。第一數據暫存模塊70連接至第二協議控制模塊50、第一數據暫存模塊70、第二暫存模塊控制單元100及數據選擇模塊110,根據指令隊列模塊30所傳來的讀寫第一數據暫存模塊70的指令及地址,控制第一數據暫存模塊70中數據的寫入及讀出。第一數據暫存模塊70由第二協議控制模塊50接收動態隨機存取存儲器3中的數據後,可將數據傳送至數據選擇模塊IIO,同時寫入第二數據暫存模塊卯。第二暫存模塊控制單元100連接至地址暫存模塊80及數據選擇模塊110,根據指令隊列模塊30及第一暫存模塊控制單元60所傳來的信息,控制地址暫存模塊80的動作及第二數據暫存模塊90中數據的寫入及讀出。其中,地址暫存模塊80用於暫存第二數據暫存模塊90中的數據的地址,並提供該數據的地址傳送至命中比較單元10,以供命中比較單元10與讀動態隨機存取存儲器3的請求進行命中比較之用。第二暫存模塊控制單元100控制,將第二數據暫存模塊90中的數據傳送至數據選擇模塊110。接著,數據選擇模塊110根據第一暫存模塊控制單元60及第二暫存模塊控制單元100所傳來的信息,選擇由第一數據暫存模塊70或由第二數據暫存模塊90輸出數據的運動補償單元2。而數據選擇模塊110輸出的數據的順序,將依照運動補償單元2對高速緩存1所發出的讀請求的順序輸出。綜上所述,通過本發明的高速緩存及其數據處理方法,可有效提高高速緩存的命中率,使運動補償單元所需的數據大部分可從高速緩存中讀取,並且有效提高訪問動態隨機存取存儲器的效率,從而提升影像解碼器的解碼速度。當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬於本發明所附的權利要求的保護範圍。權利要求1、一種高速緩存,供一影像解碼器從一動態存取存儲器讀取數據,其特徵在於,包括一命中比較單元,接收一讀動態存取存儲器請求,用於比較判斷該讀動態存取存儲器請求為一命中高速緩存的讀動態存取存儲器請求還是一未命中高速緩存的讀動態存取存儲器請求;一合併模塊,連接至該命中比較單元,接收及合併該未命中高速緩存的讀動態存取存儲器請求;一指令隊列模塊,連接至該命中比較單元及該合併模塊,根據命中高速緩存的讀動態存取存儲器請求及合併後的該未命中高速緩存的讀動態存取存儲器請求,讀取該動態存取存儲器的數據及該高速緩存中的數據。2、如權利要求1所述的高速緩存,其特徵在於,該命中比較單元還包括一命中比較模塊,將該讀動態存取存儲器請求與一暫存在該高速緩存中數據的地址進行比較,並將該命中高速緩存的讀動態存取存儲器請求的信息傳送至該指令隊列模塊,而未命中高速緩存的讀動態存取存儲器請求的信息傳送至該合併模塊合併;一命中地址產生模塊,根據命中比較模塊判斷該讀動態存取存儲器請求為一命中高速緩存的讀動態存取存儲器請求,而產生該命中高速緩存的讀動態存取存儲器請求的地址,並輸出至該指令隊列模塊。3、如權利要求1所述的高速緩存,其特徵在於,還包括一第一協議控制模塊,連接至該影像解碼器的一運動補償單元,控制該高速緩存與該運動補償單元間接口的協議。4、如權利要求1所述的高速緩存,其特徵在於,該命中比較單元利用多級的流水來比較判斷該讀動態存取存儲器請求為一命中高速緩存的讀動態存取存儲器請求還是一未命中高速緩存的讀動態存取存儲器請求。5、如權利要求1所述的高速緩存,其特徵在於,該指令隊列模塊還包括一第一級緩存指令隊列,用於暫存該命中比較單元及該合併模塊所傳來的信息;一第二級緩存指令隊列,根據該第一級緩存指令隊列中暫存的信息,輸出對應的讀寫指令;一地址產生單元,根據該第一級緩存指令隊列中暫存的信息,產生對應指令的地址;一指令控制單元,連接至該第一級緩存指令隊列及該第二級緩存指令隊列,用於控制第一級緩存指令隊列及第二級緩存指令隊列中的指令。6、如權利要求5所述的高速緩存,其特徵在於,還包括一第二協議控制模塊,接收該第二級緩存指令隊列輸出的一讀動態隨機存取存儲器的指令及地址,以從動態隨機存取存儲器讀取數據;一第一數據暫存模塊,暫存該第二協議控制模塊由動態隨機存取存儲器所讀取的數據;一第一暫存模塊控制單元,接收該第二級緩存指令隊列輸出的一讀寫第一數據暫存模塊的指令及地址,以控制該第一數據暫存模塊中暫存的數據的傳輸;一第二數據暫存模塊,用於暫存該第一數據暫存模塊中的數據,為該高速緩存儲存數據的模塊;一地址暫存模塊,暫存該第二數據暫存模塊的數據的地址,並傳送至該比較單元;一第二暫存模塊控制單元,接收該第二級緩存指令隊列輸出的一讀寫第二數據暫存模塊的指令及地址,以控制該第二數據暫存模塊中暫存的數據的傳輸。7、如權利要求6所述的高速緩存,其特徵在於,還包括一數據選擇模塊,根據該第一暫存模塊控制單元及該第二暫存模塊控制單元的指令,以輸出該第一數據暫存模塊及該第二數據暫存模塊所傳來的數據。8、一種高速緩存的數據處理方法,供一影像解碼器從一動態隨機存取存儲器中讀取數據,其特徵在於,包括以下步驟接收該影像解碼器送來的一讀動態隨機存取存儲器請求;通過一命中比較單元判斷該讀動態隨機存取存儲器請求是否命中該高速緩存,並且將每一該讀動態隨機存取存儲器請求依照發送的順序進行編碼,每個請求對應一個編碼序號索引;若比較結果為命中,則將該讀動態隨機存取存儲器請求的地址信息傳送寫入一指令隊列模塊;若比較結果為未命中,則將該讀動態隨機存取存儲器請求的信息傳送至一合併模塊,由該合併模塊將該未命中的讀動態隨機存取存儲器請求合併;合併模塊合併該未命中的讀動態隨機存取存儲器請求後,將合併後的信息寫入該指令隊列模塊;該指令隊列模塊根據該命中比較單元及該合併模塊所寫入的信息,從該動態隨機存取存儲器或該高速緩存中讀取該讀該動態隨機存取存儲器請求的數據。9、如權利要求8所述的數據處理方法,其特徵在於,該命中比較單元判斷該讀動態隨機存取存儲器請求是否命中該高速緩存為一多級流水命中比較過程,而該命中比較單元的多級流水命中比較通過動態調整數據的有效性,來判斷該讀動態隨機存取存儲器請求是否命中該高速緩存。10、如權利要求8所述的數據處理方法,其特徵在於,該指令隊列模塊利用一個時鐘周期發送多條指令的方式讀取該動態隨機存取存儲器或該高速緩存中讀取該讀該動態隨機存取存儲器請求的數據,並且該指令隊列模塊將該讀動態隨機存取存儲器的響應延遲時間隱藏在讀該高速緩存的動作中。全文摘要本發明涉及一種高速緩存,供一影像解碼器在一動態存取存儲器讀取數據,該高速緩存包括一命中比較單元、一合併模塊及一指令隊列模塊。命中比較單元接收並處理一讀動態隨機存取存儲器的請求;若該請求命中高速緩存,則將該請求相關信息傳送至指令隊列模塊,以在高速緩存中讀取數據。若該請求未命中高速緩存,則將該請求傳送至合併模塊合併,並在合併後傳送至指令隊列模塊,以在動態隨機存取存儲器中讀取數據。本發明可提升影像解碼器讀取在動態存取存儲器讀取數據的速度、降低總的存儲帶寬,並提高訪問動態隨機存取存儲器的效率。文檔編號H04N7/24GK101340569SQ20071012606公開日2009年1月7日申請日期2007年7月6日優先權日2007年7月6日發明者順原,成世明,易四軍,王津福,蔡忠憲申請人:揚智科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀