相關(guān)申請的交叉引用
包括說明書、附圖和摘要的2015年12月24日提交的日本專利申請no.2015-250937的公開的全部內(nèi)容通過引用并入本文中。
本發(fā)明涉及例如用來在外部存儲器中儲存壓縮數(shù)據(jù)的半導體裝置、數(shù)據(jù)處理系統(tǒng)以及半導體裝置控制方法。
背景技術(shù):
近來,執(zhí)行包括圖像處理的各種算術(shù)處理的半導體裝置被廣泛使用。在這樣的半導體裝置中,當諸如圖像數(shù)據(jù)的數(shù)據(jù)被寫到存儲器或從存儲器中讀取時,遵循預定的標準對數(shù)據(jù)編碼、解碼、壓縮和展開。就讀取壓縮數(shù)據(jù)而言,已知日本未審查專利申請公開no.hei10(1998)-27127和no.2006-099774中公開的技術(shù)。
在日本未審查專利申請公開no.hei10(1998)-27127中公開的技術(shù)中,當壓縮數(shù)據(jù)儲存在存儲器中時,將表明壓縮數(shù)據(jù)儲存在哪里的存儲器地址信息經(jīng)由總線儲存在存儲器中,作為在讀取壓縮數(shù)據(jù)時使用的輔助信息。當要從存儲器讀取壓縮數(shù)據(jù)時,使用該地址信息。
在日本未審查專利申請公開no.2006-099774中公開的技術(shù)中,當壓縮數(shù)據(jù)儲存在存儲器中時,將關(guān)于壓縮數(shù)據(jù)的數(shù)據(jù)大小信息作為輔助信息經(jīng)由總線儲存在直接存儲器存取控制器(dmac)中。當要從存儲器讀取壓縮數(shù)據(jù)時,使用數(shù)據(jù)大小信息。
技術(shù)實現(xiàn)要素:
在上述專利文獻中公開的技術(shù)中,當從存儲器讀取壓縮數(shù)據(jù)時,必須經(jīng)由總線讀取輔助信息。當讀取輔助信息時,消耗了許多總線/存儲器帶寬。
本發(fā)明的其它目的和新穎的特征將根據(jù)以下描述和附圖而變得明白。
根據(jù)本發(fā)明的一個實施例,半導體裝置設置有用于儲存被儲存在存儲器中的輔助信息的高速緩存。當接收到用于讀取儲存在存儲器中的壓縮數(shù)據(jù)的請求時,如果儲存了輔助信息,則半導體裝置從高速緩存讀取關(guān)于壓縮數(shù)據(jù)的輔助信息,并且使用輔助信息從存儲器讀取壓縮數(shù)據(jù)。
根據(jù)以上實施例,能夠減少由輔助信息的讀取導致的總線/存儲器帶寬的消耗。
附圖說明
圖1是示出根據(jù)比較示例的數(shù)據(jù)處理系統(tǒng)的配置的示意圖。
圖2是描述根據(jù)比較示例的半導體裝置的操作流程的流程圖。
圖3是示出根據(jù)本發(fā)明的第一實施例的數(shù)據(jù)處理系統(tǒng)的配置的示意圖。
圖4是描述根據(jù)第一實施例的半導體裝置的操作流程的流程圖。
圖5是示出根據(jù)本發(fā)明的第二和第三實施例的數(shù)據(jù)處理系統(tǒng)的配置的示意圖。
圖6是例示根據(jù)第二和第三實施例的壓縮數(shù)據(jù)的示圖。
圖7是描述根據(jù)第二實施例的半導體裝置的操作流程的流程圖。
圖8是示出數(shù)據(jù)長度和存儲器存取效率之間的關(guān)系的圖表。
具體實施方式
在下文中將參考附圖描述本發(fā)明的實施例。為了描述清楚,在適當?shù)那闆r下,以下描述和附圖包括省略和簡化。在附圖中表示為功能塊的元件,在硬件方面可配置成例如具有中央處理單元(cpu)、存儲器和其它電路,或者在軟件方面可配置成例如具有加載在存儲器中的程序。對本領(lǐng)域的技術(shù)人員來說明顯的是,這樣的功能塊能夠在硬件方面、軟件方面或者通過硬件和軟件的結(jié)合以各種形式實現(xiàn),而不受限于任何具體的手段。在附圖中,相同的元件由相同的附圖標記來指代,以及在下文中,在適當?shù)那闆r下省略相同元件的重復描述。
(1)第一實施例
<比較示例的配置>
首先,為了使得更容易理解本發(fā)明的第一實施例,將描述由本發(fā)明的本發(fā)明人考慮的比較示例。首先將描述比較示例的數(shù)據(jù)處理系統(tǒng)9的配置。該配置示出在圖1中。如圖所示,比較示例的數(shù)據(jù)處理系統(tǒng)9包括例如大規(guī)模集成電路(lsi)的半導體裝置100和設置在半導體裝置100外部的存儲器20。
存儲器20儲存壓縮數(shù)據(jù)。存儲器20還儲存在讀取壓縮數(shù)據(jù)時使用的輔助信息。輔助信息包括例如數(shù)據(jù)大小信息和地址信息,其中數(shù)據(jù)大小信息表明壓縮數(shù)據(jù)的數(shù)據(jù)長度,地址信息表明儲存壓縮數(shù)據(jù)的地址。
半導體裝置100包括控制單元11、展開單元12和數(shù)據(jù)總線13??刂茊卧?1經(jīng)由數(shù)據(jù)總線13讀取儲存在存儲器20中的壓縮數(shù)據(jù)和輔助信息。展開單元12展開由控制單元11從存儲器20讀取的壓縮數(shù)據(jù)。
<比較示例的操作>
接著,將描述比較示例的半導體裝置100的操作。圖2示出了比較示例的半導體裝置100的操作流程。
如圖2中所示,當接收到用于讀取儲存在存儲器20中的壓縮數(shù)據(jù)的請求時(步驟s11),控制單元11經(jīng)由數(shù)據(jù)總線13從存儲器20讀取關(guān)于壓縮數(shù)據(jù)的輔助信息(步驟s12)。
接著,控制單元11使用輔助信息經(jīng)由數(shù)據(jù)總線13從存儲器20讀取壓縮數(shù)據(jù)(步驟s13)。
隨后,展開單元12展開由控制單元11從存儲器20讀取的壓縮數(shù)據(jù)(步驟s14)。
如上所述,根據(jù)比較示例的半導體裝置100,為了從存儲器20讀取壓縮數(shù)據(jù),必須經(jīng)由數(shù)據(jù)總線13從存儲器20讀取輔助信息。即,根據(jù)比較示例的半導體裝置100,每次要從存儲器20讀取壓縮數(shù)據(jù)時,都經(jīng)由數(shù)據(jù)總線13從存儲器20讀取輔助信息。這存在消耗了許多總線/存儲器帶寬來讀取未包括在壓縮數(shù)據(jù)中的輔助信息的問題。
根據(jù)本發(fā)明的本第一實施例,能夠解決以上問題。
<第一實施例的配置>
接著,將描述本第一實施例的數(shù)據(jù)處理系統(tǒng)1的配置。該配置在圖3中示出。如圖3中所示,本第一實施例的數(shù)據(jù)處理系統(tǒng)1和圖1中示出的比較示例的數(shù)據(jù)處理系統(tǒng)9的不同在于,數(shù)據(jù)處理系統(tǒng)1包括半導體裝置10而非包括在數(shù)據(jù)處理系統(tǒng)9中的半導體裝置100。
與圖1中示出的比較示例的半導體裝置100相比,半導體裝置10額外地包括高速緩存14。高速緩存14儲存輔助信息,所述輔助信息與壓縮數(shù)據(jù)一起儲存在存儲器20中。
<第一實施例的操作>
接著,將描述本第一實施例的半導體裝置10的操作。圖4示出了本第一實施例的半導體裝置10的操作流程。
如圖4中所示,當接收到用于讀取儲存在存儲器20中的壓縮數(shù)據(jù)的請求時(步驟s21),控制單元11確定關(guān)于壓縮數(shù)據(jù)的輔助信息是否儲存在高速緩存14中(步驟s22)。
當在步驟s22中確定了輔助信息儲存在高速緩存14中時(步驟s22=是),控制單元11從高速緩存14讀取輔助信息(步驟s23)。
當確定了輔助信息未被儲存在高速緩存14中時(步驟s22=否),控制單元11經(jīng)由數(shù)據(jù)總線13從存儲器20讀取輔助信息并將輔助信息儲存在高速緩存14中(步驟s24)。
接著,控制單元11使用輔助信息經(jīng)由數(shù)據(jù)總線13從存儲器20讀取壓縮數(shù)據(jù)(步驟s25)。
隨后,展開單元12展開由控制單元11從存儲器20讀取的壓縮數(shù)據(jù)(步驟s26)。
<第一實施例的效果>
根據(jù)本第一實施例,當在關(guān)于壓縮數(shù)據(jù)的輔助信息被儲存在高速緩存14中的情況下接收到用于讀取壓縮數(shù)據(jù)的請求時,從高速緩存14讀取輔助信息并通過使用輔助信息從存儲器20讀取壓縮數(shù)據(jù)。
因此,避免了每次從存儲器20讀取壓縮數(shù)據(jù)時都經(jīng)由數(shù)據(jù)總線13從存儲器20讀取輔助信息,使得減少了由輔助信息的讀取導致的總線/存儲器帶寬的消耗。
(2)第二實施例
<第二實施例的配置>
本發(fā)明的第二實施例等同于第一實施例的配置的更具體的版本。
<第二實施例的數(shù)據(jù)處理系統(tǒng)的配置>
首先,將描述本第二實施例的數(shù)據(jù)處理系統(tǒng)2的配置。該配置示出在圖5中。如圖5中所示,本第二實施例的數(shù)據(jù)處理系統(tǒng)2包括例如lsi的半導體裝置30和設置在半導體裝置30外部的雙倍數(shù)據(jù)速率(ddr)存儲器40。半導體裝置30和ddr存儲器40分別地對應于圖3中示出的半導體裝置10和存儲器20。
半導體裝置30壓縮從包括在半導體裝置30中的稍后描述的運算單元31輸出的數(shù)據(jù)并將壓縮數(shù)據(jù)儲存在ddr存儲器40中。此時,半導體裝置30也將在讀取壓縮數(shù)據(jù)中使用的輔助信息儲存在ddr存儲器40中。在本第二實施例中,假定輔助信息是表明壓縮數(shù)據(jù)的數(shù)據(jù)長度的數(shù)據(jù)大小信息。
以下將描述本第二實施例中使用的儲存壓縮數(shù)據(jù)的方法。圖6是概念性地示出壓縮數(shù)據(jù)的儲存的示意圖。在本第二實施例中,半導體裝置30如圖6中所示壓縮數(shù)據(jù)并將壓縮數(shù)據(jù)儲存在ddr存儲器40中。
例如,半導體裝置30以256字節(jié)為單位壓縮從運算單元31輸出的數(shù)據(jù)。每個單位的壓縮數(shù)據(jù)都具有比被壓縮之前短的數(shù)據(jù)長度。因此,按順序儲存在ddr存儲器40中的多個單位的壓縮數(shù)據(jù)具有與它們被壓縮之前的數(shù)據(jù)地址相偏移的數(shù)據(jù)地址。因此,為了使得可以在與壓縮之前相偏移的地址處直接地存取壓縮數(shù)據(jù),必須保持壓縮之前和壓縮之后的數(shù)據(jù)地址以相互關(guān)聯(lián)的狀態(tài)被記憶。
因此,如圖6中所示,半導體裝置30將每個單位的壓縮數(shù)據(jù)都儲存成在對應的256字節(jié)未壓縮數(shù)據(jù)(壓縮之前的數(shù)據(jù))的頂部地址處開始。即,當儲存每個單位的壓縮數(shù)據(jù)時,半導體裝置30只儲存壓縮數(shù)據(jù)而不使得每個單位的壓縮數(shù)據(jù)的頂部地址相對于對應的壓縮前的256字節(jié)數(shù)據(jù)的頂部地址變動。
因此,在本第二實施例中,儲存的每個單位的壓縮數(shù)據(jù)的頂部地址與對應的256字節(jié)單位的未壓縮數(shù)據(jù)的頂部地址相同。這使得不需要記憶每256字節(jié)單位的未壓縮數(shù)據(jù)的壓縮前的數(shù)據(jù)地址,例如每個緩沖器的頂部地址。并且,能夠以任何順序存取任意單位的壓縮數(shù)據(jù)(隨機存取)。
當從ddr存儲器40讀取所期望的壓縮數(shù)據(jù)時,半導體裝置30讀取開始于對應的256字節(jié)單位的頂部地址處的壓縮數(shù)據(jù)。此時,因為壓縮數(shù)據(jù)在數(shù)據(jù)長度上短于被壓縮之前,所以不需要讀取整個256字節(jié)單位。只需要讀取對應于壓縮之后的數(shù)據(jù)長度的部分。
在本第二實施例中,當讀取所期望的壓縮數(shù)據(jù)時,半導體裝置30使用儲存所期望的壓縮數(shù)據(jù)的ddr存儲器上的地址(與壓縮之前的地址相同)和表明所期望的壓縮數(shù)據(jù)的數(shù)據(jù)長度的數(shù)據(jù)大小信息。
當在ddr存儲器40中儲存壓縮數(shù)據(jù)時,半導體裝置30還在ddr存儲器40中儲存了關(guān)于壓縮數(shù)據(jù)的數(shù)據(jù)大小信息作為輔助信息。此時,在ddr存儲器40中儲存壓縮數(shù)據(jù)的順序和在ddr存儲器40中儲存關(guān)于壓縮數(shù)據(jù)的數(shù)據(jù)大小信息的順序是相同的。因此,根據(jù)儲存所期望的壓縮數(shù)據(jù)的ddr存儲器40上的地址,可以知道儲存關(guān)于所期望的壓縮數(shù)據(jù)的數(shù)據(jù)大小信息(后文中,在適合的情況下也可稱為“所需的數(shù)據(jù)大小信息”)的ddr存儲器40上的地址。由此,可從ddr存儲器40讀取所需的數(shù)據(jù)大小信息。
<第二實施例的半導體裝置30的配置>
接著,將描述本第二實施例的半導體裝置30的配置。如圖5中所示,半導體裝置30包括運算單元31、運算數(shù)據(jù)讀取控制單元32、數(shù)據(jù)大小信息高速緩存單元33、ddr存儲器控制單元34、壓縮數(shù)據(jù)展開單元35和數(shù)據(jù)總線36。配置有運算數(shù)據(jù)讀取控制單元32、數(shù)據(jù)大小信息高速緩存單元33(但是,排除稍后描述的數(shù)據(jù)大小信息緩沖器335)以及ddr存儲器控制單元34的元件對應于圖3中示出的控制單元11,而壓縮數(shù)據(jù)展開單元35對應于圖3中示出的展開單元12。
運算單元31執(zhí)行算術(shù)處理,例如圖像處理。從運算單元31輸出的數(shù)據(jù)如圖6中所示的被壓縮然后被儲存在ddr存儲器40中。注意,因為本第二實施例的特征主要在于與儲存在ddr存儲器40中的壓縮數(shù)據(jù)的讀取相關(guān)的配置,所以圖5中省略了與數(shù)據(jù)壓縮相關(guān)的元件。
當從ddr存儲器40讀取所期望的壓縮數(shù)據(jù)時,運算單元31向運算數(shù)據(jù)讀取控制單元32發(fā)送了用于讀取所期望的壓縮數(shù)據(jù)的讀取請求(讀取命令)。讀取請求包括所期望的壓縮數(shù)據(jù)的壓縮之前的數(shù)據(jù)地址(與儲存所期望的壓縮數(shù)據(jù)的ddr存儲器40上的地址相同的地址)和所期望的壓縮數(shù)據(jù)的壓縮之前的數(shù)據(jù)長度。例如,當運算單元31執(zhí)行圖像處理時,因為圖像上所期望的數(shù)據(jù)的位置與ddr存儲器40上所期望的數(shù)據(jù)的位置彼此對應,所以運算單元31可在讀取請求中包括與圖像上所期望的數(shù)據(jù)的位置相對應的ddr存儲器40上的地址。運算單元31請求壓縮之前的數(shù)據(jù)長度和數(shù)據(jù)地址,因為運算單元31不知道數(shù)據(jù)已經(jīng)被壓縮了。
運算數(shù)據(jù)讀取控制單元32執(zhí)行與儲存在ddr存儲器40中的壓縮數(shù)據(jù)的讀取相關(guān)的控制。例如,當從運算單元31接收讀取請求時,運算數(shù)據(jù)讀取控制單元32將讀取請求傳送到數(shù)據(jù)大小信息高速緩存單元33。
當經(jīng)由運算數(shù)據(jù)讀取控制單元32從運算單元31接收讀取請求時,數(shù)據(jù)大小信息高速緩存單元33確定關(guān)于由所接收的讀取請求所請求的壓縮數(shù)據(jù)的數(shù)據(jù)大小信息是否儲存在稍后描述的數(shù)據(jù)大小信息緩沖器335中。當數(shù)據(jù)大小信息未儲存在數(shù)據(jù)大小信息緩沖器335中時,數(shù)據(jù)大小信息高速緩存單元33經(jīng)由數(shù)據(jù)總線36讀取儲存在ddr存儲器40中的數(shù)據(jù)大小信息并將數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中。基于數(shù)據(jù)大小信息,數(shù)據(jù)大小信息高速緩存單元33用壓縮數(shù)據(jù)的壓縮之后的數(shù)據(jù)長度替代包括在從運算單元31接收的讀取請求中的數(shù)據(jù)長度,然后將讀取請求經(jīng)由數(shù)據(jù)總線36發(fā)送到ddr存儲器控制單元34。
ddr存儲器控制單元34控制ddr存儲器40。例如,當從數(shù)據(jù)大小信息高速緩存單元33接收讀取請求時,ddr存儲器控制單元34基于讀取請求從ddr存儲器40讀取壓縮數(shù)據(jù)。具體來說,ddr存儲器控制單元34從包括在讀取請求中的地址讀取包括在讀取請求中的數(shù)據(jù)長度的壓縮數(shù)據(jù)。
壓縮數(shù)據(jù)展開單元35經(jīng)由數(shù)據(jù)總線36接收由ddr存儲器控制單元34讀取的壓縮數(shù)據(jù)并且展開壓縮數(shù)據(jù)。將由壓縮數(shù)據(jù)展開單元35展開的數(shù)據(jù)經(jīng)由運算數(shù)據(jù)讀取控制單元32發(fā)送到運算單元31。
<第二實施例的數(shù)據(jù)大小信息高速緩存單元33的配置>
接著,將描述本第二實施例的數(shù)據(jù)大小信息高速緩存單元33的配置。如圖5中所示,數(shù)據(jù)大小信息高速緩存單元33包括運算數(shù)據(jù)請求分析單元331、讀取請求生成單元332、標簽(tag)緩沖器333、標簽緩沖器控制單元334、數(shù)據(jù)大小信息緩沖器335和數(shù)據(jù)大小信息緩沖器控制單元336。數(shù)據(jù)大小信息緩沖器335對應于圖3中示出的高速緩存14。構(gòu)成數(shù)據(jù)大小信息高速緩存單元33的其它元件對應于構(gòu)成圖3中示出的控制單元11的元件。
數(shù)據(jù)大小信息緩沖器335儲存被儲存在ddr存儲器40中的數(shù)據(jù)大小信息。
標簽緩沖器333儲存表明儲存在數(shù)據(jù)大小信息緩沖器335中的數(shù)據(jù)大小信息的管理信息。在本第二實施例中,管理信息表明儲存在數(shù)據(jù)大小信息緩沖器335中的數(shù)據(jù)大小信息的ddr存儲器40上的地址。
當經(jīng)由運算讀取控制單元32從運算單元31接收用于讀取所期望的壓縮數(shù)據(jù)的讀取請求時,運算數(shù)據(jù)請求分析單元331分析讀取請求并基于分析的結(jié)果執(zhí)行處理。例如,基于包括在讀取請求中的地址,運算數(shù)據(jù)請求分析單元331獲得儲存關(guān)于所期望的壓縮數(shù)據(jù)的數(shù)據(jù)大小信息的ddr存儲器40上的地址,并將獲得的地址傳遞到標簽緩沖器控制單元334。
標簽緩沖器控制單元334控制標簽緩沖器333。例如,當從運算數(shù)據(jù)請求分析單元331接收地址時,標簽緩沖器控制單元334基于儲存在標簽緩沖器333中的管理信息來確定儲存在該地址處的所需的數(shù)據(jù)大小信息是否儲存在數(shù)據(jù)大小信息緩沖器335中。當數(shù)據(jù)大小信息未儲存在數(shù)據(jù)大小信息緩沖器335中時,標簽緩沖器控制單元334指示讀取請求生成單元332生成用于讀取儲存在ddr存儲器40中的所需的數(shù)據(jù)大小信息的讀取請求。并且,標簽緩沖器控制單元334在標簽緩沖器333中儲存關(guān)于所需的數(shù)據(jù)大小信息的管理信息,標簽緩沖器控制單元334已為了該所需的數(shù)據(jù)大小信息而指示讀取請求生成。
數(shù)據(jù)大小信息緩沖器控制單元336控制數(shù)據(jù)大小信息緩沖器335。例如,當由ddr存儲器控制單元34從ddr存儲器40讀取所需的數(shù)據(jù)大小信息時,數(shù)據(jù)大小信息緩沖器控制單元336經(jīng)由數(shù)據(jù)總線36接收數(shù)據(jù)大小信息并將數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中。當數(shù)據(jù)大小信息緩沖器335中沒有剩余的可用空間時,例如,數(shù)據(jù)大小信息緩沖器控制單元336丟棄儲存在數(shù)據(jù)大小信息緩沖器335中的最舊的數(shù)據(jù)大小信息并將新的數(shù)據(jù)大小信息儲存在由最舊的數(shù)據(jù)大小信息騰出的緩沖器區(qū)域中。
當從數(shù)據(jù)大小信息緩沖器335或ddr存儲器40讀取所需的數(shù)據(jù)大小信息時,運算數(shù)據(jù)請求分析單元331基于數(shù)據(jù)大小信息確定所期望的壓縮數(shù)據(jù)的數(shù)據(jù)長度。然后運算數(shù)據(jù)請求分析單元331指示讀取請求生成單元332用所期望的壓縮數(shù)據(jù)的數(shù)據(jù)長度來替換包括在從運算單元31接收的讀取請求中的數(shù)據(jù)長度。
讀取請求生成單元332依照運算數(shù)據(jù)請求分析單元331或標簽緩沖器控制單元334的指示生成讀取請求并將所生成的讀取請求經(jīng)由數(shù)據(jù)總線36發(fā)送到ddr存儲器控制單元34。
<第二實施例的操作>
接著,將描述本第二實施例的半導體裝置30的操作。圖7示出了本第二實施例的半導體裝置30的操作流程。
如圖7中所示,運算數(shù)據(jù)請求分析單元331經(jīng)由運算數(shù)據(jù)讀取控制單元32從運算單元31接收用于讀取所期望的壓縮數(shù)據(jù)的讀取請求(步驟s31)。讀取請求包括所期望的壓縮數(shù)據(jù)的壓縮之前的數(shù)據(jù)地址(與儲存所期望的壓縮數(shù)據(jù)的ddr存儲器40上的地址相同的地址)和所期望的壓縮數(shù)據(jù)的壓縮之前的數(shù)據(jù)長度。運算數(shù)據(jù)請求分析單元331基于包括在所接收的讀取請求中的地址獲得儲存關(guān)于所期望的壓縮數(shù)據(jù)的數(shù)據(jù)大小信息的ddr存儲器40上的地址,并將獲得的地址傳遞到標簽緩沖器控制單元334。隨后,標簽緩沖器控制單元334基于儲存在標簽緩沖器333中的管理信息來確定儲存在從運算數(shù)據(jù)請求分析單元331獲得的地址處的數(shù)據(jù)大小信息是否儲存在數(shù)據(jù)大小信息緩沖器335中(步驟s32)。
當在步驟s32中確定數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中時(步驟s32=是),數(shù)據(jù)大小信息緩沖器控制單元336從數(shù)據(jù)大小信息緩沖器335讀取數(shù)據(jù)大小信息(步驟s33)。
另一方面,當在步驟s32中確定數(shù)據(jù)大小信息未儲存在數(shù)據(jù)大小信息緩沖器335中時(步驟s32=否),在標簽緩沖器控制單元334的控制下,讀取請求生成單元332生成用于讀取所需的數(shù)據(jù)大小信息的讀取請求并將所生成的讀取請求經(jīng)由數(shù)據(jù)總線36發(fā)送到ddr存儲器控制單元34。響應于讀取請求,ddr存儲器控制單元34從ddr存儲器40讀取所需的數(shù)據(jù)大小信息。從ddr存儲器40讀取的數(shù)據(jù)大小信息由數(shù)據(jù)大小信息緩沖器控制單元336經(jīng)由數(shù)據(jù)總線36接收。數(shù)據(jù)大小信息緩沖器控制單元336將所接收的數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中(步驟s34)。并且,標簽緩沖器控制單元334將關(guān)于數(shù)據(jù)大小信息的管理信息儲存在標簽緩沖器333中。
隨后,運算數(shù)據(jù)請求分析單元331基于數(shù)據(jù)大小信息確定所期望的壓縮數(shù)據(jù)的數(shù)據(jù)長度。在運算數(shù)據(jù)請求分析單元331的控制之下,讀取請求生成單元332用壓縮數(shù)據(jù)的數(shù)據(jù)長度替換從運算單元31接收的讀取請求中包括的數(shù)據(jù)長度(步驟s35)。
接著,讀取請求生成單元332將包括步驟s35中所替換的數(shù)據(jù)長度的讀取請求經(jīng)由數(shù)據(jù)總線36發(fā)送到ddr存儲器控制單元34。響應于讀取請求,ddr存儲器控制單元34從ddr存儲器40讀取所期望的壓縮數(shù)據(jù)(步驟s36)。
隨后,壓縮數(shù)據(jù)展開單元35經(jīng)由數(shù)據(jù)總線36接收從ddr存儲器40讀取的壓縮數(shù)據(jù)并展開壓縮數(shù)據(jù)(步驟s37)。將在壓縮數(shù)據(jù)展開單元35中被展開的數(shù)據(jù)經(jīng)由運算數(shù)據(jù)讀取控制單元32發(fā)送到運算單元31。
<第二實施例的效果>
接著,將描述本第二實施例的效果。根據(jù)本第二實施例,當在關(guān)于壓縮數(shù)據(jù)的數(shù)據(jù)大小信息被儲存在數(shù)據(jù)大小信息緩沖器335中的情況下接收用于讀取壓縮數(shù)據(jù)的請求時,從數(shù)據(jù)大小信息緩沖器335讀取數(shù)據(jù)大小信息,并且使用該數(shù)據(jù)大小信息從ddr存儲器40讀取壓縮數(shù)據(jù)。
因此,避免了在每次從ddr存儲器40讀取壓縮數(shù)據(jù)時都經(jīng)由數(shù)據(jù)總線36從ddr存儲器40讀取數(shù)據(jù)大小信息,使得減少了由讀取數(shù)據(jù)大小信息導致的總線/存儲器帶寬的消耗。
<第二實施例的具體配置示例>
接著,將描述用于實現(xiàn)本第二實施例的具體配置示例。
假定運算單元31是遵從視頻壓縮標準h.264的解碼器。
使用的壓縮方法用于無損壓縮,以及在該方法中生成長度可變的壓縮數(shù)據(jù)。具體來說,從運算單元31輸出的數(shù)據(jù)以64×4像素塊(水平地64像素乘以垂直地4行)為單位(每個256字節(jié))被壓縮,并且在壓縮數(shù)據(jù)被舍入(round)成四個數(shù)據(jù)長度(即64字節(jié)、128字節(jié)、192字節(jié)和256字節(jié))的單位之后管理壓縮數(shù)據(jù)。數(shù)據(jù)大小信息對于每個64×4像素塊由兩比特組成。并且,在ddr存儲器40中儲存壓縮數(shù)據(jù)的順序和在ddr存儲器40中儲存關(guān)于壓縮數(shù)據(jù)的數(shù)據(jù)大小信息的順序相同。
假定ddr存儲器40是lpddr4(低功率ddr4)。
根據(jù)h.264標準,移動圖像以圖片為單位被壓縮并且被壓縮成三種類型的圖片,i/p/b。
i圖片通過使用從圖片自身可得的數(shù)據(jù)壓縮圖片來生成,并且i圖片可通過自身被解碼。p/b圖片通過基于該圖片和早前的圖片解碼的結(jié)果(早前解碼的圖片)之間的差壓縮圖片來生成。因此,可以使得p/b圖片在壓縮之后在數(shù)據(jù)大小方面小于i圖片。在生成要生成p/b圖片所需要的差數(shù)據(jù)時,可選擇所參考的解碼圖像的任何部分上的數(shù)據(jù)。例如,可選擇使得壓縮之后的數(shù)據(jù)量最小化的部分上的數(shù)據(jù)。
在生成p/b圖片時所參考的解碼圖片也稱作“參考平面”。為了生成差數(shù)據(jù),需要用于亮度和用于顏色差的參考平面。根據(jù)h.264標準,可以使用用于亮度和用于顏色差的各自多達32個的參考平面,總共64個平面。
以下將描述如上所述具體地配置的本第二實施例的具體效果。
在本第二實施例中,當在關(guān)于壓縮數(shù)據(jù)的數(shù)據(jù)大小信息被儲存在數(shù)據(jù)大小信息緩沖器335中的情況下接收用于讀取壓縮數(shù)據(jù)的讀取請求時,使用儲存在數(shù)據(jù)大小信息緩沖器335中的數(shù)據(jù)大小信息從ddr存儲器40讀取壓縮數(shù)據(jù)。以這種方式,避免了在每次從ddr存儲器40讀取壓縮數(shù)據(jù)時都經(jīng)由數(shù)據(jù)總線36從ddr存儲器40讀取數(shù)據(jù)大小信息。
如果每次讀取壓縮數(shù)據(jù)時都必須經(jīng)由數(shù)據(jù)總線36從ddr存儲器40讀取數(shù)據(jù)大小信息,則每次讀取數(shù)據(jù)大小信息的兩比特時所消耗的總線/存儲器帶寬將實際上等同于由讀取128字節(jié)的數(shù)據(jù)所導致的消耗。這將參考圖8來描述。
圖8示出了ddr存儲器40的根據(jù)數(shù)據(jù)傳送長度的傳送效率(存取效率)的圖表。如圖所示,盡管在數(shù)據(jù)傳送長度是128字節(jié)或更長時傳送效率是接近100%,但傳送效率隨著數(shù)據(jù)傳送長度逐漸變得短于128字節(jié)而逐漸降低。例如,當數(shù)據(jù)傳送長度是64字節(jié)時,傳送效率是大約50%,即,不能傳送數(shù)據(jù)的時段(period)以每兩次傳送有一次的比率出現(xiàn)。因此,當數(shù)據(jù)傳送長度短于128字節(jié)時,出現(xiàn)期間不能傳送數(shù)據(jù)的時段,使得數(shù)據(jù)傳送實際上等同于128字節(jié)的數(shù)據(jù)傳送。因此,讀取兩比特的數(shù)據(jù)大小信息實際上等同于讀取具有128字節(jié)的數(shù)據(jù)長度的數(shù)據(jù)。在本第二實施例中,只要所需的數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中,就不會出現(xiàn)經(jīng)由數(shù)據(jù)總線36從ddr存儲器40讀取數(shù)據(jù)大小信息,使得減少了總線/存儲器帶寬的消耗。
并且,根據(jù)圖8,當讀取數(shù)據(jù)大小信息時,期望的是一起讀取預定的讀取單位的數(shù)據(jù)大小信息。例如,期望的是一起讀取包括所需的數(shù)據(jù)大小信息(2比特)的128字節(jié)的數(shù)據(jù)大小信息。在這種情況下,讀取請求生成單元332生成了用于一起讀取從所需的數(shù)據(jù)大小信息的地址算起的128字節(jié)的數(shù)據(jù)大小信息的讀取請求。與單獨地讀取多條兩比特的數(shù)據(jù)大小信息相比,如上所述一起讀取預定的讀取單位的數(shù)據(jù)大小信息進一步減少了總線/存儲器帶寬消耗。
并且,在沒有儲存任何數(shù)據(jù)大小信息在ddr存儲器40中的情況下,如果所有數(shù)據(jù)大小信息都要被儲存在包括在運算單元31中的靜態(tài)隨機存取存儲器(sram)(未示出)中,則在全hd分辨率的情況下需要96k字節(jié)sram,但是這還取決于圖像大小(因為64個參考平面需要64倍的1.5k字節(jié))。
另一方面,在本第二實施例中,使用每參考平面128字節(jié)來管理關(guān)于64個參考平面的數(shù)據(jù)大小信息,并且所需的總存儲器空間是大約8k字節(jié),即,數(shù)據(jù)大小信息緩沖器335可以是8k字節(jié)sram。
(3)第三實施例
第三實施例的配置和操作
首先,將描述本發(fā)明的第三實施例的配置和操作。第三實施例在配置上類似于第二實施例,但在操作上與第二實施例不同。
在第二實施例中,一起讀取預定的讀取單位(例如128字節(jié)的單位)的數(shù)據(jù)大小信息并將該預定的讀取單位的數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中。
在本第三實施例中,當讀取預定的讀取單位的數(shù)據(jù)大小信息時,還讀取與第一個讀取單位在地址上連續(xù)的下一單位的數(shù)據(jù)大小信息,作為提前讀取,并且將該下一單位的數(shù)據(jù)大小信息也儲存在數(shù)據(jù)大小信息緩沖器335中。在這種情況下,讀取請求生成單元332生成讀取請求,該讀取請求用于從所期望的地址讀取128字節(jié)的數(shù)據(jù)大小信息,并且也用于讀取與第一個讀取的128字節(jié)的數(shù)據(jù)大小信息在地址上連續(xù)的下一128字節(jié)的數(shù)據(jù)大小信息作為提前讀取。
在本第三實施例中,當數(shù)據(jù)大小信息緩沖器335中未剩余可用容量時,認為要丟棄最舊的數(shù)據(jù)大小信息。以這種方式,根據(jù)數(shù)據(jù)大小信息緩沖器335的容量,當如上所述地發(fā)生數(shù)據(jù)大小信息的提前讀取時,在同一讀取操作中第一個讀取的數(shù)據(jù)大小信息可能會被從數(shù)據(jù)大小信息緩沖器335丟棄。
因此期望的是,讀取請求生成單元332基于數(shù)據(jù)大小信息緩沖器335的容量確定是否要進行這樣的數(shù)據(jù)大小信息的提前讀取。例如,只在數(shù)據(jù)大小信息緩沖器335具有不小于兩倍的用于讀取數(shù)據(jù)大小信息的預定單位的容量時,才優(yōu)選地進行這樣的數(shù)據(jù)大小信息的提前讀取。在數(shù)據(jù)大小信息讀取中,這將防止由于隨后的下一單位的數(shù)據(jù)大小信息的提前讀取而從數(shù)據(jù)大小信息緩沖器335丟棄第一個讀取單位的數(shù)據(jù)大小信息。
<第三實施例的效果>
接著,將描述本發(fā)明的本第三實施例的效果。根據(jù)本第三實施例,當讀取預定的讀取單位的數(shù)據(jù)大小信息時,還讀取與在前讀取單位在地址上連續(xù)的下一讀取單位的數(shù)據(jù)大小信息作為提前讀取,并且將該下一讀取單位的數(shù)據(jù)大小信息儲存在數(shù)據(jù)大小信息緩沖器335中。
例如,存在如下的情況,即當運算單元31讀取局部地隨機地定位的壓縮數(shù)據(jù)時,壓縮數(shù)據(jù)一般地按地址的順序定位。在這樣的情況下,當如同在本第三實施例中一樣讀取一些數(shù)據(jù)大小信息作為提前讀取時,能夠防止當在數(shù)據(jù)大小信息緩沖器335中未找到所需的數(shù)據(jù)大小信息時所導致的處理延時(缺失損失(misspenalty))。這防止了運算單元31的處理性能劣化。
本第三實施例的其它效果類似于第二實施例的那些效果。
<第三實施例的具體配置示例>
接著,將描述用于實現(xiàn)本第三實施例的具體配置示例。假定使用類似于第二實施例的具體配置示例的配置來實現(xiàn)本第三實施例。
如上所述,根據(jù)h.264標準,可以使用用于亮度和用于顏色差的各自多達32個的參考平面,總共64個平面。然而,實際上,存在很多運算單元31沒有使用最大數(shù)量的相應的參考平面的情況。根據(jù)h.264標準,使用中的參考平面的數(shù)量以被編碼的形式儲存在壓縮數(shù)據(jù)的引導頭部分中,使得運算單元31可以在開始編碼處理之前知道使用中的參考平面的數(shù)量。
根據(jù)第三實施例的具體配置示例,數(shù)據(jù)大小信息緩沖器335具有允許使用每參考平面128字節(jié)來儲存關(guān)于64個參考平面的數(shù)據(jù)大小信息的容量。
因此,當亮度參考平面和顏色差參考平面的總數(shù)量不超過32時(例如,當使用16個亮度參考平面和16個顏色差參考平面時),數(shù)據(jù)大小信息的提前讀取不會導致同一讀取操作中早先讀取的數(shù)據(jù)大小信息被從數(shù)據(jù)大小信息緩沖器335丟棄。
因此,所期望的是,只有在亮度參考平面和顏色差參考平面的總數(shù)量是32或更小的狀況下,當讀取包括所需的數(shù)據(jù)大小信息的128字節(jié)數(shù)據(jù)大小信息時,也讀取與在前的128字節(jié)的數(shù)據(jù)大小信息在地址上連續(xù)的下一128字節(jié)的數(shù)據(jù)大小信息作為提前讀取。
然而,此時,如果下一128字節(jié)的數(shù)據(jù)大小信息已經(jīng)儲存在數(shù)據(jù)大小信息緩沖器335中,不進行下一128字節(jié)的數(shù)據(jù)大小信息的提前讀取。這避免了數(shù)據(jù)大小信息的無用讀取,使得進一步減少總線/存儲器帶寬的消耗。
(4)其它實施例
已基于實施例具體地描述了由本發(fā)明的本發(fā)明人做出的本發(fā)明,但是本發(fā)明不限于前述實施例并且可以在不偏離本發(fā)明的范圍的情況下以各種方式被修改。
例如,雖然對于前述第二和第三實施例將在讀取壓縮數(shù)據(jù)中使用的輔助信息描述為表明壓縮數(shù)據(jù)的數(shù)據(jù)長度的數(shù)據(jù)大小信息,但輔助信息不限于這樣的數(shù)據(jù)大小信息。輔助信息可以可替代地是表明儲存壓縮數(shù)據(jù)的存儲器上的地址的地址信息。
在這樣的情況下,將關(guān)于壓縮數(shù)據(jù)的地址信息作為輔助信息儲存在存儲器中。當發(fā)出讀取請求時,基于關(guān)于壓縮數(shù)據(jù)的地址信息,用儲存壓縮數(shù)據(jù)的存儲器上的地址替換包括在讀取請求中的地址。
此外,輔助信息可包括數(shù)據(jù)大小信息和地址信息中任一個或兩者全部。