專利名稱:信號處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及使用第1及第2存儲(chǔ)區(qū)域的數(shù)據(jù)進(jìn)行信號處理的信號處理裝置,特別涉及到經(jīng)由高速緩存器在第1及第2存儲(chǔ)區(qū)域中進(jìn)行存取并讀出第1及第2存儲(chǔ)區(qū)域的數(shù)據(jù)、以此進(jìn)行信號處理的信號處理裝置。
背景技術(shù):
例如,進(jìn)行下述那種信號處理,該信號處理對于音樂數(shù)據(jù)例如使用MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本(Huffman code book)(例如,8)將其編碼成霍夫曼碼,當(dāng)再現(xiàn)時(shí)對編碼后的代碼進(jìn)行解碼。
圖1表示出MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本8。
下面,說明使用該碼本如何進(jìn)行霍夫曼編碼。
例如,假設(shè)被霍夫曼編碼后的輸入的位串,連續(xù)為「01110110000111111011010001111xxxx」。
此時(shí),因?yàn)樽钋懊娴?位與該表格最前面的項(xiàng)「01110」匹配,所以得知解碼結(jié)果為「0」,該代碼長度是5位。再者,因?yàn)榻酉聛淼奈蛔兂伞?10000111111011010001111xxxx」,所以最前面的6位與該表格的第4項(xiàng)「110000」匹配,因此得知解碼結(jié)果為「3」,該代碼長度是6位。再者,因?yàn)榻酉聛淼奈蛔兂伞?11111011010001111xxxx」,所以最前面的9位與從該表格最后開始數(shù)的第3項(xiàng)「111111011」匹配,因此得知解碼結(jié)果為「61」,該代碼長度是9位。再者,因?yàn)榻酉聛淼奈蛔兂伞?10001111xxxx」,所以最前面的4位與該表格的第11項(xiàng)「0100」匹配,因此得知解碼結(jié)果為「10」,該代碼長度是4位。再者,因?yàn)榻酉聛淼奈蛔兂伞?1111xxxx」,所以最前面的5位與該表格的第17項(xiàng)「01111」匹配,因此得知解碼結(jié)果為「16」,該代碼長度是5位。
這樣,通過以循環(huán)方式來檢索霍夫曼碼本8的各行,進(jìn)行霍夫曼解碼。
但是,該解碼方法具有下述問題,即由于在找到一致的霍夫曼碼之前必須多次檢索霍夫曼碼本8,因而需要很多的處理時(shí)間。
為此,本申請相關(guān)的發(fā)明人等發(fā)明出用來高速進(jìn)行霍夫曼解碼處理的裝置(例如,參見專利文獻(xiàn)1)。
下面,以采用MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本8對編碼后的代碼進(jìn)行解碼的過程為例,說明使用這個(gè)發(fā)明的以往技術(shù)。
圖2表示的是用來高速進(jìn)行霍夫曼解碼處理的2個(gè)表格。尤其是,圖2(a)及圖2(b)分別表示出第1表格5000及第2表格6000。
這些第1及第2表格5000、6000存儲(chǔ)于SRAM等存儲(chǔ)器的預(yù)定地址中,解碼器根據(jù)霍夫曼碼的位串來檢索第1及第2表格5000、6000,以此進(jìn)行解碼處理。
在使用該2個(gè)第1及第2表格5000、6000時(shí),輸入的位串如下被解碼。
例如,在輸入的位串與上面的示例相同連續(xù)為「01110110000111111011010001111xxxx」時(shí),解碼器首先取出最前面的6位,并將該6位作為地址來檢索第1表格5000。此時(shí),由于以「011101」作為地址來檢索第1表格5000,因而解碼器對圖2(a)中所示的第1次存取點(diǎn)α1進(jìn)行訪問,并且得知代碼長度是5位,解碼結(jié)果是「0」。然后,解碼器若因代碼長度是5位而將上述位串前進(jìn)5位,則位串變成「110000111111011010001111xxxx」。
接著,解碼器與上面相同取出該位串最前面的6位,并將所取出的6位作為地址來檢索第1表格5000。此時(shí),由于以「110000」作為地址來檢索第1表格5000,因而解碼器對圖2(a)中所示的第2次存取點(diǎn)α2進(jìn)行訪問,并且得知代碼長度是6位,解碼結(jié)果是「3」。然后,若因代碼長度是6位而將上述位串前進(jìn)6位,則位串變成「111111011010001111xxxx」。
再者,解碼器與上面相同取出該位串最前面的6位,并將所取出的6位作為地址來檢索第1表格5000。此時(shí),由于以「111111 」作為地址來檢索第1表格5000,因而解碼器對圖2(a)中所示的第3次存取點(diǎn)α3進(jìn)行訪問,獲得未完成記號「15 」、下一地址指針「1100010」及下面要讀入的位數(shù)4,因此將指針前進(jìn)到圖2(b)所示第2表格6000的地址「1100010」,在將上述位串前進(jìn)6位后再取得4位,以該4位作為來自地址「1100010」的索引,檢索第2表格6000。此時(shí),由于該4位的值是「0110」,因而將對圖2(b)中所示的第4次存取點(diǎn)α4進(jìn)行訪問,因此解碼器得知代碼長度是3位,解碼結(jié)果是「61」。然后,若因上述代碼長度是3位而將上述位串前進(jìn)3位,則位串變成「010001111xxxx」。
接著,解碼器與上面相同取出該位串最前面的6位,并將該6位作為地址來檢索第1表格5000。此時(shí),由于以「010001」作為地址來檢索第1表格5000,因而解碼器對圖2(a)中所示的第5次存取點(diǎn)α5進(jìn)行訪問,并且得知代碼長度是4位,解碼結(jié)果是「10」。若因上述代碼長度是4位而將上述位串前進(jìn)4位,則位串變成「01111xxxx」。
接著,解碼器與上面相同取出該位串最前面的6位,并將該6位作為地址來檢索第1表格5000。此時(shí),由于以「01111x」作為地址來檢索第1表格5000,因而對圖2(a)中所示的第6次存取點(diǎn)α6進(jìn)行訪問,并且得知代碼長度是5位,解碼結(jié)果為是「16」。
如同由上述那種處理過程所明確的那樣,對于代碼長度短的代碼(發(fā)生頻率高的代碼),通過1次表格訪問就完成霍夫曼解碼,只是對于代碼長度長的代碼(發(fā)生頻率低的代碼),才通過2次表格訪問來完成霍夫曼解碼,因此可以平均實(shí)現(xiàn)高速的信號處理。
上面是作者等所發(fā)明出的以往技術(shù)。
可是,近年來在移動(dòng)電話機(jī)等這樣的計(jì)算機(jī)裝置中人們正在尋求多功能化,以便不僅僅是打電話,并且不只是音頻的再現(xiàn),還可以再現(xiàn)視頻,或者收發(fā)郵件。
若為了實(shí)現(xiàn)這樣的多個(gè)功能,給每個(gè)功能設(shè)計(jì)其功能專用的電路,則電路規(guī)模變得龐大。因此,考慮到根據(jù)需要將表格等的數(shù)據(jù)存儲(chǔ)到外部存儲(chǔ)器等中,并在信號處理所需要的時(shí)候?qū)⑼獠看鎯?chǔ)器的數(shù)據(jù)存儲(chǔ)到高速緩存器中,以此不減低響應(yīng)性,而實(shí)現(xiàn)各功能。
有時(shí),采用這種裝載高速緩存器的運(yùn)算裝置(信號處理裝置)來進(jìn)行上述那種霍夫曼解碼。雖然將對于此時(shí)的以往技術(shù)進(jìn)行說明,不過首先簡單說明高速緩存器的動(dòng)作。
圖3表示的是主存儲(chǔ)器1000、處理器2000和高速緩存裝置3000之間的關(guān)系。
高速緩存裝置3000如圖3所示,具備高速緩存器3100,用來存儲(chǔ)數(shù)據(jù);控制部3200,用來進(jìn)行替換控制。
高速緩存器3100以被稱為行(line)的單位來管理數(shù)據(jù)。通常情況下,由于行的大小是32字節(jié)或128字節(jié)之類的值,并且高速緩存器的大小是16k字節(jié)或32k字節(jié)之類的值,因而高速緩存器3100按照數(shù)百到數(shù)千的行進(jìn)行定界(劃界),但是此處為了使說明變得簡單明了,設(shè)為按照4行來定界的狀態(tài)進(jìn)行說明。
主存儲(chǔ)器1000的存儲(chǔ)區(qū)域也按每個(gè)該行大小進(jìn)行定界。而且,主存儲(chǔ)器1000的第幾行存儲(chǔ)于高速緩存器3100的數(shù)據(jù)區(qū)域3400何處,由高速緩存器3100內(nèi)的標(biāo)記信息的區(qū)域(標(biāo)記區(qū)域)3300來管理。
在該圖3中表示出下述狀態(tài),即主存儲(chǔ)器1000的Line1、Line3、Line6及Line8的數(shù)據(jù)存儲(chǔ)于高速緩存器3100的數(shù)據(jù)區(qū)域3400中,用來識別該行的信息存儲(chǔ)于標(biāo)記區(qū)域3300中。
因而,處理器2000在對主存儲(chǔ)器1000的相應(yīng)行(Line1、Line3、Line6及Line8)的數(shù)據(jù)進(jìn)行存取時(shí),是通過訪問高速緩存器3100來進(jìn)行的。
但是,例如對主存儲(chǔ)器1000的Line9進(jìn)行存取時(shí),由于該區(qū)域當(dāng)前沒有存儲(chǔ)于高速緩存器3100中,并且已經(jīng)在高速緩存器3100內(nèi)沒有自由空間,因而通過將高速緩存器3100中當(dāng)前所存儲(chǔ)的任一行數(shù)據(jù)暫時(shí)寫回到主存儲(chǔ)器1000,為高速緩存器3100確保自由空間,并在該所空出的區(qū)域存儲(chǔ)Line9的數(shù)據(jù)。
在采用裝載有這種高速緩存器3100的信號處理裝置進(jìn)行上面所說明的霍夫曼解碼處理時(shí),例如在MPEG音頻的AAC方式時(shí),因?yàn)樾枰^大的存儲(chǔ)區(qū)域,所以預(yù)先在主存儲(chǔ)器1000中存儲(chǔ)了霍夫曼解碼所需的全部表格數(shù)據(jù),并且一邊依次向高速緩存器3100轉(zhuǎn)移數(shù)據(jù),一邊進(jìn)行霍夫曼解碼處理。
還有,此處所謂的存取,意味著預(yù)定地址來讀出或?qū)懭霐?shù)據(jù)。
專利文獻(xiàn)1日本特開2000-286717號公報(bào)但是,如果以采用高速緩存器的信息處理裝置進(jìn)行上面所示的霍夫曼解碼處理,則產(chǎn)生下面所示的那種問題。
圖4是表示采用高速緩存器3100進(jìn)行霍夫曼解碼時(shí)的以往信息處理裝置結(jié)構(gòu)的框圖。還有,為了進(jìn)一步明確以往的信號處理裝置和本申請發(fā)明所涉及的信號處理裝置之間的差異,在此將說明取代第1及第2表格5000、6000而使用下述的第1及第2表格13、14的情形。
信號處理裝置如圖4所示,具備主存儲(chǔ)器1000、作為存取裝置的處理器2000及高速緩存器3100,其構(gòu)成為在主存儲(chǔ)器1000的第1存儲(chǔ)區(qū)域1001存儲(chǔ)第1表格13,并且在主存儲(chǔ)器1000的第2存儲(chǔ)區(qū)域1002存儲(chǔ)第2表格14。
第1表格13由8行(Line0~Line7)構(gòu)成,第2表格14由7行(Line8~Line14)構(gòu)成。在圖14、圖15中分別表示第1表格13及第2表格14各自的具體內(nèi)容。第1表格13及第2表格14是一種采用以往技術(shù)存儲(chǔ)與上面所示的圖2(a)、(b)相同的數(shù)據(jù)之表格,但是不同之處是,與高速緩存器的結(jié)構(gòu)一起為每個(gè)行大小進(jìn)行定界。
可是,在當(dāng)前輸入的位串與上面的示例相同連續(xù)為「01110110000111111011010001111xxxx」時(shí),處理器2000首先將該位串最前面的6位作為地址,檢索第1表格13。此時(shí),由于以「011101」作為地址來檢索第1表格13,但該地址如圖14所示位于Line3,因而在該Line3的數(shù)據(jù)從主存儲(chǔ)器1000移到高速緩存器3100中之后(參見圖5),處理器2000對該數(shù)據(jù)進(jìn)行存取,并且得知代碼長度是5位,解碼結(jié)果是「0」。因?yàn)樯鲜龃a長度是5位,所以處理器2000將上述位串前進(jìn)5位。這樣一來,下一位串變成「110000111111011010001111xxxx」。
接著,處理器2000與上面相同,將該位串最前面的6位作為地址來檢索第1表格13。此時(shí),由于以「110000」作為地址來檢索第1表格13,但該地址如圖14所示位于Line6,因而在該Line6的數(shù)據(jù)從主存儲(chǔ)器1000移到高速緩存器3100中之后(參見圖6),處理器2000對該數(shù)據(jù)進(jìn)行存取,并且得知代碼長度是6位,解碼結(jié)果是「3」。若因上述代碼長度是6位而將上述位串前進(jìn)6位,則位串變成「111111011010001111xxxx」。
再者,與上面相同,處理器2000將該位串最前面的6位作為地址,檢索第1表格13。此時(shí),由于以「111111」作為地址來檢索第1表格13,但該地址如圖14所示位于Line7,因而處理器2000在該Line7的數(shù)據(jù)從主存儲(chǔ)器1000移到高速緩存器3100中之后(參見圖7),為該數(shù)據(jù)進(jìn)行存取,并且獲得未完成記號「15」、下一地址指針「1100010」及下面要讀入的位數(shù)「4」。
因此,處理器2000將指針前進(jìn)至第2表格14的地址「1100010」,并在將上述位串前進(jìn)6位之后,將接下來4位的值作為來自地址「1100010」的索引來檢索第2表格14。此時(shí),由于該4位的值是「0110」,因而給地址「1100010」填補(bǔ)「0110 」,并且下面要存取的地址變成「1101000 」。也就是說,處理器2000給下一地址指針「1100010」填補(bǔ)「0110」,并計(jì)算下面要存取的地址「1101000」。
由于該地址如圖15所示位于Line13,因而處理器2000在該Line13的數(shù)據(jù)從主存儲(chǔ)器1000移到高速緩存器3100中之后(參見圖8),對該數(shù)據(jù)進(jìn)行存取,并且得知代碼長度是3位,解碼結(jié)果是「61」。若因上述代碼長度是3位而將上述位串前進(jìn)3位,則位串變成「010001111xxxx」。
接著,與上面相同,處理器2000將該位串最前面的6位作為地址,檢索第1表格13。此時(shí),由于以「010001」作為地址來檢索第1表格13,但該地址如圖14所示位于Line2,因而在該Line2的數(shù)據(jù)從主存儲(chǔ)器1000移到高速緩存器3100中之后,將要為該數(shù)據(jù)進(jìn)行存取。
然而,當(dāng)前在高速緩存器中沒有自由空間。這樣,在填滿高速緩存器3100的數(shù)據(jù)中沒有需要的數(shù)據(jù)時(shí),也就是在發(fā)生了高速緩存錯(cuò)誤時(shí),控制部3200需要將高速緩存器3100中所存儲(chǔ)的任一行數(shù)據(jù)寫回到主存儲(chǔ)器10中,并向由此產(chǎn)生出的自由空間轉(zhuǎn)移該Line2的數(shù)據(jù)。
由于在發(fā)生了這種高速緩存錯(cuò)誤時(shí),通常將最早所存取的Line寫回,因而此時(shí)控制部3200將Line3寫回(參見圖9),并向此處轉(zhuǎn)移Line2的數(shù)據(jù)(參見圖10)。此后,處理器2000對該Line2的數(shù)據(jù)進(jìn)行存取,并且得知代碼長度是4位,解碼結(jié)果是「10」。若因上述代碼長度是4位而將上述位串前進(jìn)4位,則位串變成「01111xxxx」。
而接下來,與上面相同,處理器2000以該位串最前面的6位作為地址,檢索第1表格13。此時(shí),由于以「01111x」作為地址來檢索第1表格13,但該地址如圖14所示位于Line3,因而在將該Line3的數(shù)據(jù)從主存儲(chǔ)器1000移到高速緩存器3100中之后,將要對該數(shù)據(jù)進(jìn)行存取。然而,由于當(dāng)前在高速緩存器中沒有自由空間,因而控制部3200將高速緩存器3100中所存儲(chǔ)的任一行數(shù)據(jù)寫回到主存儲(chǔ)器1000中,并向由此產(chǎn)生出的自由空間轉(zhuǎn)移該Line3的數(shù)據(jù)。
由于在發(fā)生了這種高速緩存錯(cuò)誤時(shí),通常以LRU方式將最早所存取的Line寫回,因而此時(shí)控制部3200將Line6寫回(參見圖11),并向此處轉(zhuǎn)移Line3的數(shù)據(jù)(參見圖12)。此后,處理器2000對該Line3的數(shù)據(jù)進(jìn)行存取,并且得知代碼長度是5位,解碼結(jié)果是16。
還有,雖然在上述過程中,就上述說明而言假設(shè)Line3的數(shù)據(jù)和Line6的數(shù)據(jù)從高速緩存器3100寫回到主存儲(chǔ)器1000中,但是在該一系列動(dòng)作的過程中,由于Line3的數(shù)據(jù)和Line6的數(shù)據(jù)在存儲(chǔ)于高速緩存器中的期間其值未產(chǎn)生變化,也就是說高速緩存器上的值和主存儲(chǔ)器1000上的值相同,因而在以往很多的高速緩存器控制方法中,沒有進(jìn)行寫回這樣的動(dòng)作而進(jìn)行下述處理,即將Line2的數(shù)據(jù)重寫到Line3的數(shù)據(jù)已被存儲(chǔ)的高速緩存器3100上,或者將Line3的數(shù)據(jù)重寫到Line6的數(shù)據(jù)已被存儲(chǔ)的高速緩存器3100上。
但是,如同由上述過程所明確的那樣,由于以LRU方式來決定替換對象,因而存在高速緩存錯(cuò)誤經(jīng)常發(fā)生這樣的問題。這種高速緩存錯(cuò)誤的經(jīng)常發(fā)生將導(dǎo)致下述問題,即在較短時(shí)間的期間內(nèi),在主存儲(chǔ)器1000和高速緩存器3100之間發(fā)生多次(2次)Line3等的數(shù)據(jù)傳輸,為數(shù)據(jù)的傳輸需要很多時(shí)間,并且消耗電力也有所增加。
這種問題不限于解碼處理的情形,而能夠認(rèn)為是信號處理裝置的普遍情況,該信號處理裝置經(jīng)由高速緩存器在第1及第2存儲(chǔ)區(qū)域進(jìn)行存取,并讀出第1及第2存儲(chǔ)區(qū)域的數(shù)據(jù),以此進(jìn)行信號處理。
發(fā)明內(nèi)容
本發(fā)明是鑒于這種以往的問題而做出的,其目的為在采用高速緩存器的信號處理裝置中,提供一種可以減少高速緩存錯(cuò)誤、并減少數(shù)據(jù)傳輸時(shí)間及數(shù)據(jù)傳輸量的信號處理裝置。
可是,本申請發(fā)明人對使用高速緩存器的以往技術(shù)進(jìn)行分析后,得知在解碼處理過程中向第1表格13的存取頻率是85%,并且向第2表格14的存取頻率是15%。盡管如此,還發(fā)現(xiàn)因?yàn)橐酝捎靡訪RU方式將第2表格的數(shù)據(jù)保留到高速緩存器中的算法,所以替換算法(Replacement Algorithm)是不適當(dāng)?shù)?,以至于研究出本設(shè)計(jì)方案。
因此,為了達(dá)到上述目的,在本發(fā)明所涉及的信號處理裝置中采用第1及第2存儲(chǔ)區(qū)域的數(shù)據(jù)進(jìn)行信號處理,其特征為具備高速緩存器,用來暫時(shí)存儲(chǔ)上述數(shù)據(jù);存取裝置,用來經(jīng)由上述高速緩存器在上述第1及第2存儲(chǔ)的至少之一中進(jìn)行存取,以此讀出上述數(shù)據(jù);控制裝置,用來在上述高速緩存器中進(jìn)行暫時(shí)存儲(chǔ)的自由空間不足時(shí),在上述高速緩存器中確保自由空間;上述控制裝置確保上述自由空間,以便上述第1存儲(chǔ)區(qū)域的數(shù)據(jù)比上述第2存儲(chǔ)區(qū)域的數(shù)據(jù)更優(yōu)先地保持到上述高速緩存器中。
按照這種結(jié)構(gòu),如果預(yù)先在第1存儲(chǔ)區(qū)域存儲(chǔ)了存取頻率較高的數(shù)據(jù),則替換算法適當(dāng)。因而,在采用高速緩存器的信號處理裝置中,可以提供一種減少高速緩存錯(cuò)誤、并減少數(shù)據(jù)傳輸時(shí)間及數(shù)據(jù)傳輸量的信號處理裝置。
另外,在本發(fā)明所涉及的信號處理裝置中其特征可以為,上述信號處理裝置還具備屬性存儲(chǔ)裝置,用來存儲(chǔ)強(qiáng)度屬性,該強(qiáng)度屬性表示上述第1存儲(chǔ)區(qū)域的強(qiáng)度比上述第2存儲(chǔ)區(qū)域的強(qiáng)度強(qiáng);上述控制裝置按照上述屬性存儲(chǔ)裝置中所存儲(chǔ)的強(qiáng)度屬性,來決定要保持到上述高速緩存器中的數(shù)據(jù)。
按照這種結(jié)構(gòu),可以使替換算法變得確實(shí)適當(dāng),并且將對第2存儲(chǔ)區(qū)域的數(shù)據(jù)所分配的高速緩存器的數(shù)據(jù)區(qū)域,管理成最小限度。
另外,在本發(fā)明所涉及的信號處理裝置中其特征也可以為,上述存取裝置對于上述第1存儲(chǔ)區(qū)域,在將上述第1存儲(chǔ)區(qū)域的數(shù)據(jù)移到上述高速緩存器中后進(jìn)行存取,并且對于上述第2存儲(chǔ)區(qū)域,不將上述第2存儲(chǔ)區(qū)域的數(shù)據(jù)移到上述高速緩存器中就進(jìn)行存取。
按照這種結(jié)構(gòu),可以使替換算法確實(shí)適當(dāng),并且去除對第2存儲(chǔ)區(qū)域的數(shù)據(jù)所分配的高速緩存器的數(shù)據(jù)區(qū)域,將高速緩存器數(shù)據(jù)區(qū)域,全部對第1存儲(chǔ)區(qū)域的數(shù)據(jù)進(jìn)行分配。
另外,在本發(fā)明所涉及的信號處理裝置中其特征也可以為,上述第1存儲(chǔ)區(qū)域存儲(chǔ)與上述第2存儲(chǔ)區(qū)域相比存取頻率更高的數(shù)據(jù)。
按照這種結(jié)構(gòu),可以使替換算法確實(shí)適當(dāng)。
另外,在本發(fā)明所涉及的信號處理裝置中其特征可以為,上述第1及第2存儲(chǔ)區(qū)域分別對表示轉(zhuǎn)換規(guī)則的第1及第2表格進(jìn)行保持,該轉(zhuǎn)換規(guī)則用來按照一定規(guī)則替換輸入數(shù)據(jù);上述控制裝置確保上述自由空間,以便上述第2表格的數(shù)據(jù)比上述第1表格的數(shù)據(jù)更優(yōu)先地從上述高速緩存器中廢棄。
按照這種結(jié)構(gòu),如果預(yù)先在第1存儲(chǔ)區(qū)域存儲(chǔ)了存取頻率高的第1表格,則替換算法變得適當(dāng)。因而,可以在采用高速緩存器的信號處理裝置中提供下述信號處理裝置,該信號處理裝置減少高速緩存錯(cuò)誤,并減少數(shù)據(jù)傳輸時(shí)間及數(shù)據(jù)傳輸量,同時(shí)按照一定規(guī)則替換輸入數(shù)據(jù)。
另外,在本發(fā)明所涉及的信號處理裝置中其特征也可以為,上述信號處理裝置還具備屬性存儲(chǔ)裝置,用來存儲(chǔ)強(qiáng)度屬性,該強(qiáng)度屬性表示上述第1表格的強(qiáng)度比上述第2表格的強(qiáng)度強(qiáng);上述控制裝置按照上述屬性存儲(chǔ)裝置中所存儲(chǔ)的強(qiáng)度屬性,來決定要從上述高速緩存器中廢棄的數(shù)據(jù)。
按照這種結(jié)構(gòu),如果預(yù)先在第1存儲(chǔ)區(qū)域存儲(chǔ)了存取頻率高的第1表格,則使替換算法變得確實(shí)適當(dāng),并且可以將對第2存儲(chǔ)區(qū)域的數(shù)據(jù)所分配的高速緩存器的數(shù)據(jù)區(qū)域,管理成最小限度。
另外,在本發(fā)明所涉及的信號處理裝置中其特征也可以為,上述信號處理裝置對作為輸入數(shù)據(jù)的霍夫曼碼進(jìn)行解碼,上述霍夫曼碼其代碼長度的最長位是N位,上述第1表格是在將n設(shè)為1以上且未達(dá)到N的整數(shù)時(shí)對n位以下的代碼數(shù)據(jù)進(jìn)行解碼的表格,上述第2表格是對比上述n位更長的代碼數(shù)據(jù)進(jìn)行解碼的表格。
按照這種結(jié)構(gòu),由于在第1存儲(chǔ)區(qū)域存儲(chǔ)存取頻率高且代碼長度短的霍夫曼碼解碼用的第1表格,因而使替換算法變得確實(shí)適當(dāng),并且可以將對第2存儲(chǔ)區(qū)域的數(shù)據(jù)所分配的高速緩存器的數(shù)據(jù)區(qū)域,管理成最小限度。
還有,本發(fā)明并不僅僅是作為這種信號處理裝置來實(shí)現(xiàn),還可以作為以這種信號處理裝置所具備的特征性機(jī)構(gòu)為步驟的信號處理方法來實(shí)現(xiàn),或者作為使計(jì)算機(jī)實(shí)行那些步驟的程序來實(shí)現(xiàn)。而且,不言而喻,那種程序可以通過CD-ROM等記錄介質(zhì)和因特網(wǎng)等傳輸介質(zhì)進(jìn)行傳遞。
本發(fā)明的效果如下如同由上面的說明所明確的那樣,根據(jù)本發(fā)明所涉及的信號處理裝置,如果預(yù)先在第1存儲(chǔ)區(qū)域存儲(chǔ)了存取頻率高的數(shù)據(jù),則替換算法變得適當(dāng),因此可以提供一種信號處理裝置,在采用高速緩存器的信號處理裝置中,減少高速緩存錯(cuò)誤、并減少數(shù)據(jù)傳輸時(shí)間及數(shù)據(jù)傳輸量。
因而,采用本發(fā)明,可以實(shí)現(xiàn)減少高速緩存錯(cuò)誤、并減少數(shù)據(jù)傳輸時(shí)間及數(shù)據(jù)傳輸量的信號處理,并且在多功能移動(dòng)電話機(jī)等計(jì)算機(jī)裝置已普及的今天,本申請發(fā)明的實(shí)用價(jià)值非常高。
圖1表示的是MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本8。
圖2(a)表示的是用來高速進(jìn)行霍夫曼解碼處理的第1表格5000。
圖2(b)表示的是用來高速進(jìn)行霍夫曼解碼處理的第2表格6000。
圖3表示的是高速緩存器、主存儲(chǔ)器和處理器之間的關(guān)系。
圖4是采用以往的高速緩存器進(jìn)行霍夫曼解碼時(shí)的結(jié)構(gòu)圖。
圖5表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖6表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖7表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖8表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖9表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖10表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖11表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖12表示的是利用以往的技術(shù)存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖13表示的是本發(fā)明實(shí)施方式1所涉及的信號處理裝置1的結(jié)構(gòu)。
圖14表示的是第1表格13的內(nèi)容一個(gè)示例。
圖15表示的是第2表格14的內(nèi)容一個(gè)示例。
圖16表示的是屬性存儲(chǔ)部52所存儲(chǔ)的數(shù)據(jù)內(nèi)容一個(gè)示例。
圖17是表示圖13所示的高速緩存裝置30結(jié)構(gòu)示例的框圖。
圖18表示的是高速緩存項(xiàng)的詳細(xì)位構(gòu)形。
圖19是表示高速緩存控制部42結(jié)構(gòu)的框圖。
圖20是表示W(wǎng)標(biāo)識設(shè)定部結(jié)構(gòu)示例的框圖。
圖21(a)表示的是在指令寄存器中寫入指令的命令一個(gè)示例。
圖21(b)表示的是指令的一個(gè)示例。
圖21(c)表示的是在起始地址寄存器中寫入起始地址的命令一個(gè)示例。
圖21(d)表示的是在大小寄存器(size register)中寫入大小的命令一個(gè)示例。
圖22表示的是起點(diǎn)校準(zhǔn)器(start aligner)及終點(diǎn)校準(zhǔn)器的說明圖。
圖23是表示標(biāo)識改寫部中W標(biāo)識設(shè)定處理的流程圖。
圖24是表示替換部的替換處理的流程圖。
圖25表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖26表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖27表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖28表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖29表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖30表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖31表示的是存儲(chǔ)到高速緩存器中的數(shù)據(jù)流。
圖32是表示本發(fā)明實(shí)施方式2所涉及的信號處理裝置2結(jié)構(gòu)的框圖。
圖33表示的是屬性存儲(chǔ)部64所存儲(chǔ)的屬性數(shù)據(jù)的內(nèi)容一個(gè)示例。
具體實(shí)施例方式
下面,參照附圖來說明本發(fā)明實(shí)施方式所涉及的信號處理裝置。
<整體結(jié)構(gòu)>
(實(shí)施方式1)圖13是表示本發(fā)明實(shí)施方式1所涉及的信號處理裝置1整體結(jié)構(gòu)的框圖。還有,在圖13中圖示出,將信號處理裝置1作為下述解碼器使之發(fā)揮作用的情形,該解碼器采用圖1中MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本(例如,8)對編碼成霍夫曼碼后的位串進(jìn)行解碼。
如圖13所示,信號處理裝置1具備主存儲(chǔ)器10、作為存取裝置的處理器20及高速緩存裝置30等。
主存儲(chǔ)器10由DRAM等構(gòu)成,分別在第1存儲(chǔ)區(qū)域11和第2存儲(chǔ)區(qū)域中,存儲(chǔ)用來按1段進(jìn)行解碼處理的1段用第1表格13和用來按2段進(jìn)行解碼處理的2段用第2表格14。
高速緩存裝置30由SRAM等構(gòu)成,并且具備高速緩存器34,用來存儲(chǔ)弱標(biāo)識W和臟標(biāo)識D等,該弱標(biāo)識W表示標(biāo)記區(qū)域、數(shù)據(jù)區(qū)域以及作為保留到數(shù)據(jù)區(qū)域中的概率高低之強(qiáng)度屬性,該臟標(biāo)識D表示要不要寫回;控制部51,用來進(jìn)行替換控制;屬性存儲(chǔ)部52,用于存儲(chǔ)設(shè)定保留到高速緩存器34中的概率高低的數(shù)據(jù)(屬性數(shù)據(jù));等等。高速緩存裝置30被構(gòu)成為以采用所謂的LRU方式對存取順序早(舊)的高速緩存項(xiàng)進(jìn)行替換的替換控制為前提,此后與存取順序相反對表示用來決定替換對象的存取順序的順序數(shù)據(jù)進(jìn)行改變,以此將對存取頻率低的數(shù)據(jù)進(jìn)行保持的高速緩存項(xiàng)作為替換對象,從高速緩存器中清除。具體而言,通過將下述弱標(biāo)識W附加給高速緩存項(xiàng),來間接改變順序數(shù)據(jù),該弱標(biāo)識W表示判定出存取順序是最早的。據(jù)此,不需要對順序數(shù)據(jù)進(jìn)行直接改變的復(fù)雜電路。
處理器20當(dāng)開始解碼處理時(shí),在主存儲(chǔ)器10的第1存儲(chǔ)區(qū)域11中寫入第1表格13,并在第2存儲(chǔ)區(qū)域12中寫入第2表格14,或者根據(jù)預(yù)先所決定的屬性值設(shè)定數(shù)據(jù),在屬性存儲(chǔ)部52中設(shè)定強(qiáng)度屬性。然后,處理器20以解碼對象的霍夫曼碼串作為地址向高速緩存器進(jìn)行訪問,以此取得解碼結(jié)果。
圖14表示的是第1表格13的結(jié)構(gòu),圖15表示的是第2表格14的結(jié)構(gòu)。
第1表格13及第2表格14用來表示按照一定規(guī)則轉(zhuǎn)換輸入數(shù)據(jù)所需的轉(zhuǎn)換規(guī)則,具體而言,與編碼時(shí)所使用的霍夫曼碼本相對應(yīng),分別被映射到第1存儲(chǔ)區(qū)域11和第2存儲(chǔ)區(qū)域12。
第1表格13用來將下述霍夫曼碼解碼成解碼結(jié)果,該霍夫曼碼能夠包含于從位流所讀出的預(yù)定位數(shù)數(shù)據(jù)中、具有預(yù)定數(shù)(6位)以下的位數(shù)且相比較代碼長度較短。另外,第2表格14用來在較短的霍夫曼碼中沒有完成解碼時(shí),對具有超過下述預(yù)定數(shù)的位數(shù)且相比較代碼長度較長的霍夫曼碼進(jìn)行解碼,該預(yù)定數(shù)是根據(jù)由第1表格13所取得的地址指針和由下一取得點(diǎn)所示的位長的霍夫曼碼,計(jì)算出的。這樣,比較短的霍夫曼碼和比較長的霍夫曼碼以采用第1表格13及第2表格14的處理,進(jìn)行解碼。
第1表格13如圖14所示,由下述三個(gè)欄目構(gòu)成,一是用來存儲(chǔ)代碼長度或未完成記號(此處,為「15」)的數(shù)據(jù)的欄目,二是用來存儲(chǔ)解碼結(jié)果或下一地址的數(shù)據(jù)的欄目,三是用來存儲(chǔ)下一取得長度的數(shù)據(jù)的欄目。還有,在該第1表格13的左側(cè)為了說明上的方便,表示出存儲(chǔ)這些數(shù)據(jù)地址和行。
第2表格14如圖15所示,由下述二個(gè)欄目構(gòu)成,一是用來存儲(chǔ)代碼長度的數(shù)據(jù)的欄目,二是用來存儲(chǔ)解碼結(jié)果的數(shù)據(jù)的欄目。在該第2表格14的左側(cè)為了說明上的方便,表示出存儲(chǔ)下一索引數(shù)據(jù)和這些數(shù)據(jù)的地址以及行,該下一索引數(shù)據(jù)用來求取地址。
還有,在霍夫曼編碼過程中,一般對于出現(xiàn)頻率較高的輸入值,分配較短的霍夫曼碼,對于出現(xiàn)頻率較低的輸入值,分配較長的霍夫曼碼。但是,在解碼處理過程中,與第1表格14相比第1表格13其存取頻率更高。
圖16表示的是屬性存儲(chǔ)部52中所存儲(chǔ)的屬性數(shù)據(jù)的內(nèi)容一個(gè)示例。
這種情況下,表示出位于第1表格13的Line0到Line7其強(qiáng)度大(弱標(biāo)識W為「0」),并且位于第2表格14的Line8到Line14其強(qiáng)度小(弱標(biāo)識W為「1」)。通過設(shè)定這種強(qiáng)度屬性,來發(fā)揮適當(dāng)?shù)奶鎿Q算法,減少高速緩存錯(cuò)誤。
<高速緩存裝置的具體結(jié)構(gòu)>
圖17是表示高速緩存裝置30具體結(jié)構(gòu)示例的框圖。還有,此處作為高速緩存裝置30的具體示例,將說明在4路·成組·相關(guān)聯(lián)(4way-set-associative)方式的高速緩存器中使用本發(fā)明時(shí)的構(gòu)成。
如圖17所示,高速緩存裝置30具備地址寄存器31、存儲(chǔ)器I/F32、解碼器33、4個(gè)路34a~34d(下面,也簡寫為「路0~3」。)、4個(gè)比較器35a~35d、4個(gè)“與”電路36a~36d、選擇器38、選擇器39、多路分解器41及高速緩存控制部42。高速緩存控制部42包括替換部42a及W標(biāo)識設(shè)定部42b。
還有,該高速緩存裝置30具體示例中的替換部42a相當(dāng)于圖13的控制部51,W標(biāo)識設(shè)定部42b相當(dāng)于圖13的屬性存儲(chǔ)部52。
地址寄存器31用來保持到主存儲(chǔ)器10的存取地址。假設(shè),該存取地址是32位。如圖17所示,存取地址從最高位依次包括21位的標(biāo)記地址、4位的組索引(圖7中的SI)及5位的字索引(圖17中的WI)。在此,標(biāo)記地址指的是,映射到路上的存儲(chǔ)器中的區(qū)域(其大小為組(set)數(shù)×字組(block))。該區(qū)域的大小由比標(biāo)記地址更低位的地址位(A10~A0)來決定,也就是2k字節(jié),并且也是1個(gè)路的大小。組索引(SI)指的是,跨越路0~3的多組之一。該組數(shù)因組索引是4位,而有16組。由標(biāo)記地址及組索引所確定的高速緩存項(xiàng)是替換單位,并且在存儲(chǔ)于高速緩存器中時(shí)被稱為行數(shù)據(jù)或行。行數(shù)據(jù)的大小由比組索引更低位的地址位來決定,也就是128字節(jié)。假設(shè)1個(gè)字為4字節(jié),則1個(gè)行數(shù)據(jù)是32字。字索引(WI)指的是,構(gòu)成行數(shù)據(jù)的多個(gè)字中的1個(gè)字。地址寄存器31中的最低有效2位(A1、A0)在進(jìn)行字存取時(shí)被忽略。
存儲(chǔ)器I/F32是從高速緩存裝置30訪問主存儲(chǔ)器10所用的I/F,包括從主存儲(chǔ)器10向高速緩存裝置30的數(shù)據(jù)下載、以及從高速緩存裝置30向主存儲(chǔ)器10的數(shù)據(jù)回寫等。
解碼器33用來對組索引的4位進(jìn)行解碼,并選擇跨越4個(gè)路0~3的16組中的一個(gè)。
4個(gè)路0~3是具有相同結(jié)構(gòu)的4個(gè)路,并具有4×2k字節(jié)的容量。各路具有16個(gè)高速緩存項(xiàng)。
圖18表示的是圖17所示的1個(gè)高速緩存項(xiàng)中詳細(xì)的位構(gòu)形。
如圖18所示,一個(gè)高速緩存項(xiàng)具有有效標(biāo)識V0~V3、21位的標(biāo)記、128字節(jié)的行數(shù)據(jù)、弱標(biāo)識W及臟標(biāo)識D0~D3。
標(biāo)記是21位標(biāo)記地址的副本。
行數(shù)據(jù)是由標(biāo)記地址及組索引確定的字組中128字節(jié)數(shù)據(jù)的副本,由32字節(jié)的4個(gè)子行組成。
有效標(biāo)識V0~V3對應(yīng)于4個(gè)子行,用來表示子行是否有效。
弱標(biāo)識W用來判定出該高速緩存項(xiàng)的存取順序是最早的。也就是說,W=1時(shí)意味著,不從處理器20對該高速緩存項(xiàng)再進(jìn)行讀出和寫入,或者說存取頻率低。另外,W=1時(shí)意味著,在高速緩存裝置30中處理為對于替換控制其存取順序最早,也就是最弱(weak)的高速緩存項(xiàng)。W=0時(shí)意味著,相反的情形。
臟標(biāo)識D0~D3對應(yīng)于4個(gè)子行,表示在其子行上從處理器20有沒有寫入。也就是說,雖然在子行中存在被高速緩存后的數(shù)據(jù),但是因?qū)懭攵c主存儲(chǔ)器10中的數(shù)據(jù)不一樣,因此表示是否需要寫回到主存儲(chǔ)器10中。
比較器35a用來比較地址寄存器31中的標(biāo)記地址和包含于下述組內(nèi)的4個(gè)標(biāo)記中路0的標(biāo)記是否一致,該組是利用組索引所選擇的。對于比較器35b~35c,除對應(yīng)于路34b~34d之外全都相同。
“與”電路36a用來比較有效標(biāo)識和比較器35a的比較結(jié)果是否一致。在比較結(jié)果為「1」時(shí)意味著,存在與地址寄存器31中的標(biāo)記地址及組索引對應(yīng)的行數(shù)據(jù),也就是說在路0上已命中(hit找到)。在比較結(jié)果為「0」時(shí)意味著,發(fā)生了高速緩存錯(cuò)誤。對于“與”電路36b~36d,除對應(yīng)于路34b~34d之外全都相同。其比較結(jié)果分別意味著,在路1~3上已命中或者發(fā)生了高速緩存錯(cuò)誤。
選擇器38用來對所選擇出的組的路0~3的行數(shù)據(jù)之中所命中的路的行數(shù)據(jù)進(jìn)行選擇。
選擇器39用來對通過選擇器38所選擇出的32字的行數(shù)據(jù)之中字索引所示的1個(gè)字進(jìn)行選擇。
多路分解器41用來在為高速緩存項(xiàng)寫入數(shù)據(jù)時(shí),向路0~3之一輸出寫入數(shù)據(jù)。該寫入數(shù)據(jù)可以是字單位。
高速緩存控制部42用來進(jìn)行高速緩存裝置30的整體控制。特別是,進(jìn)行W標(biāo)識的設(shè)定和按照W標(biāo)識的替換控制。
圖19是表示高速緩存控制部42結(jié)構(gòu)的框圖。
高速緩存控制部42如上所述,包括替換部42a,相當(dāng)于圖13的控制部51;W標(biāo)識設(shè)定部42b,相當(dāng)于圖13的屬性存儲(chǔ)部52。
替換部42a用來在因高速緩存錯(cuò)誤而引起的替換時(shí),如果存在已設(shè)定W=1的高速緩存項(xiàng),則判定為該高速緩存項(xiàng)的存取順序最早,選擇作為替換對象,并進(jìn)行替換。
W標(biāo)識設(shè)定部42b用來按照來自處理器20的指令,設(shè)定弱標(biāo)識W。處理器20對于不最早進(jìn)行寫入和讀出的高速緩存項(xiàng),將指示弱標(biāo)識W設(shè)定的指令,對高速緩存裝置30發(fā)放。
圖20是表示W(wǎng)標(biāo)識設(shè)定部42b結(jié)構(gòu)示例的框圖。
如圖20所示,W標(biāo)識設(shè)定部42b具備指令寄存器421、起始地址寄存器422、大小寄存器423、起點(diǎn)校準(zhǔn)器424、加法器425、終點(diǎn)校準(zhǔn)器426及標(biāo)識改寫部427。
指令寄存器421可以從處理器20直接進(jìn)行訪問,用來保持由處理器20所寫入的W標(biāo)識設(shè)定指令。
圖21(a)表示在指令寄存器421中寫入指令的命令一個(gè)示例。
該命令是通常的傳輸命令(mov命令),并且作為源操作數(shù)指定出指令,作為目標(biāo)操作數(shù)指定出指令寄存器(CR)。
圖21(b)表示指令的一個(gè)示例。該指令是表示W(wǎng)標(biāo)識設(shè)定指令的特定代碼。W標(biāo)識設(shè)定指令用來對保持下述數(shù)據(jù)的高速緩存項(xiàng)發(fā)出設(shè)定W標(biāo)識的指示,該數(shù)據(jù)對應(yīng)于起始地址寄存器422中所保持的起始地址到大小寄存器423中所保持的大小的地址范圍。
起始地址寄存器422可以從處理器20直接訪問,用來保持由處理器20所寫入的起始地址。該起始地址表示應(yīng)設(shè)定W標(biāo)識的地址范圍開始位置。
圖21(c)表示在起始地址寄存器422中寫入起始地址的命令一個(gè)示例。該命令也與圖21(a)相同,是通常的傳輸命令(mov命令)。
大小寄存器423可以從處理器20直接訪問,用來保持由處理器20所寫入的大小。該大小表示從起始地址開始的地址范圍。
圖21(d)表示在大小寄存器423中寫入大小的命令一個(gè)示例。該命令也與圖21(a)相同,是通常的傳輸命令(mov命令)。還有,大小的單位是字節(jié)數(shù)還是行數(shù)(高速緩存項(xiàng)數(shù))都可以,并且可以是預(yù)先所設(shè)定的單位。
起點(diǎn)校準(zhǔn)器424用來將起始地址調(diào)整到行邊界的位置上。通過該調(diào)整,處理器20可以與行大小及行邊界無關(guān),指定任意的地址來作為起始地址。
加法器425用來對保持于起始地址寄存器422中的起始地址和保持于大小寄存器423中的大小進(jìn)行加法運(yùn)算。加法運(yùn)算的結(jié)果是指出地址范圍結(jié)束位置的結(jié)束地址。加法器425可以在大小為字節(jié)數(shù)特定時(shí),作為字節(jié)地址進(jìn)行加法運(yùn)算,并且在大小為行數(shù)特定時(shí),作為行地址進(jìn)行加法運(yùn)算。
終點(diǎn)校準(zhǔn)器426用來將結(jié)束地址調(diào)整到行邊界的位置上。通過該調(diào)整,處理器20可以與行大小及行邊界無關(guān),指定任意的大小來作為上述大小。
圖22表示起點(diǎn)校準(zhǔn)器424及終點(diǎn)校準(zhǔn)器426的說明圖。
在圖22中,由處理器20所指定的起始地址用來指示行N中途的任意位置。起點(diǎn)校準(zhǔn)器424進(jìn)行調(diào)整以指示下一行(N+1)的起點(diǎn),并以調(diào)整后的地址作為校準(zhǔn)起始地址予以輸出。將校準(zhǔn)起始地址所指示的行稱為起始行。
另外,結(jié)束地址用來指示行M中途的任意位置。終點(diǎn)校準(zhǔn)器426進(jìn)行調(diào)整以指示僅僅之前行(M-1)的起點(diǎn),并以調(diào)整后的地址作為校準(zhǔn)結(jié)束地址予以輸出。將校準(zhǔn)結(jié)束地址所指示的行稱為結(jié)束行。
此時(shí),對從起始行(行(N+1))到結(jié)束行(行(M-1))的各行(高速緩存項(xiàng))設(shè)定W標(biāo)識。這樣,起點(diǎn)校準(zhǔn)器424及終點(diǎn)校準(zhǔn)器426校準(zhǔn)到比下述地址范圍更靠內(nèi)側(cè)的原因?yàn)?,有可能在行N和行M的外側(cè)部分上發(fā)生從處理器20進(jìn)行讀出或?qū)懭氲臓顩r,上述地址范圍是從由處理器20所指定的起始地址到結(jié)束地址的地址范圍。
如果從校準(zhǔn)起始地址所指示的行到校準(zhǔn)結(jié)束地址所指示的行(在圖22的示例中從行(N+1)到行(M-1)),已進(jìn)入高速緩存裝置30,則標(biāo)識改寫部427將W標(biāo)識設(shè)定為1。
<W標(biāo)識設(shè)定處理>
圖23是表示標(biāo)識改寫部427中W標(biāo)識設(shè)定處理一個(gè)示例的流程圖。
標(biāo)識改寫部427在指令寄存器421中保持有W標(biāo)識設(shè)定指令時(shí),將從起始行到結(jié)束行的各行地址按順序輸出,同時(shí)進(jìn)行循環(huán)1的處理(S82~S86)。由于標(biāo)識改寫部427對于各行進(jìn)行相同的處理,因而此處對于1行部分的處理進(jìn)行說明。
也就是說,標(biāo)識改寫部427在高速緩存裝置30尚未被處理器20訪問的期間,將行地址輸出到地址寄存器31中(S83),使比較器35a~35d對地址寄存器31的標(biāo)記地址和高速緩存項(xiàng)的標(biāo)記進(jìn)行比較,并判定是否命中(S84)。再者,標(biāo)識改寫部427在命中時(shí),對于命中的高速緩存項(xiàng)將W標(biāo)識設(shè)置為1(S85),在發(fā)生了高速緩存錯(cuò)誤時(shí),由于未進(jìn)入高速緩存器,因而不進(jìn)行任何處理。
因此,對于從起始行到結(jié)束行的各行,在進(jìn)入了高速緩存裝置30時(shí),W標(biāo)識被設(shè)定為「1」。
<替換處理>
圖24是表示替換部42a中替換處理的流程圖。
在同圖24中,替換部42a在存儲(chǔ)器存取發(fā)生了高速緩存錯(cuò)誤時(shí)(S91),在由組索引所選擇出的組中讀出4路的弱標(biāo)識W(S92),并判定4個(gè)弱標(biāo)識的邏輯或(OR)是否為1,也就是說是否存在W=1的路(S93)。在判定出存在W=1的路時(shí),判定為該高速緩存項(xiàng)的存取順序最早并選擇1個(gè)W=1的路(S94),在判定出不存在W=1的路時(shí),利用通常的LRU方式選擇1個(gè)路(S95)。此時(shí),在存在多個(gè)弱標(biāo)識W為1的路的情況下,替換部42a隨機(jī)選擇1個(gè)。
再者,替換部42a以該組中所選擇出的路的高速緩存項(xiàng)為對象進(jìn)行替換(S96),在替換后將該高速緩存項(xiàng)的弱標(biāo)識W初始化為0(S97)。還有,此時(shí)有效標(biāo)識V、臟標(biāo)識D分別被初始化為1、0。
這樣,在不存在W=1的路時(shí),替換對象利用通常的LRU方式來選擇。另外,在存在W=1的路時(shí),替換對象被處理為W=1路的存取順序最早,其結(jié)果為,選擇W=1路的高速緩存項(xiàng)。據(jù)此,可以減少因存取頻率低的W=1的數(shù)據(jù)存在于高速緩存器中而產(chǎn)生的高速緩存錯(cuò)誤。
如同上面所說明的那樣,根據(jù)本實(shí)施方式1中的高速緩存器,弱標(biāo)識W=1的行不從處理器再進(jìn)行讀出和寫入,并且作為其存取順序最早被處理的結(jié)果為,最先作為替換對象進(jìn)行選擇。據(jù)此,可以減少因存取頻率低的數(shù)據(jù)而產(chǎn)生的高速緩存錯(cuò)誤的引發(fā)。
另外,因?yàn)椴挥脤σ酝鵏RU方式中表示存取順序的順序數(shù)據(jù)進(jìn)行直接改變,而通過間接附加W標(biāo)識來改變存取順序,所以不用追加復(fù)雜的硬件電路,就可以實(shí)現(xiàn)。
接著,說明信號處理裝置1的各部所執(zhí)行的動(dòng)作。
圖25到圖31表示的是存儲(chǔ)到高速緩存器34中的數(shù)據(jù)流。
在本實(shí)施方式1中,以信號處理裝置1為示例進(jìn)行說明,該信號處理裝置1采用圖1的MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本8對編碼后的代碼進(jìn)行解碼。
還有,為了清楚與以往信號處理裝置之間的動(dòng)作差異,假設(shè)只使用高速緩存器34的1個(gè)路的4組,并且設(shè)為,輸入的位串與以往相同連續(xù)為「01110110000111111011010001111xxxx」。
如圖25所示,處理器20首先將該位串最前面的6位「011101」作為地址,檢索第1表格13。此時(shí),由于該地址「011101」位于Line3(參見圖14),因而在該Line3的數(shù)據(jù)從主存儲(chǔ)器10移到高速緩存器34中之后,存取地址「011101」的數(shù)據(jù),并取得代碼長度5位和解碼結(jié)果「0」。
更為詳細(xì)而言,處理器20對于高速緩存裝置30,以位串最前面的6位「011101」作為地址來輸出讀出信號。接收到以「011101」為地址的讀出信號后的高速緩存裝置30,由于在高速緩存器34中不存在Line3的數(shù)據(jù),因而通過對從Line3的起點(diǎn)到終點(diǎn)進(jìn)行尋址,將Line3的數(shù)據(jù)寫入高速緩存器34的1個(gè)組中。然后,給標(biāo)記寫入Line3,給W標(biāo)識寫入「0」,并給臟標(biāo)識D寫入「0」。若它們的寫入結(jié)束,則高速緩存裝置30將地址「011101」的數(shù)據(jù)、代碼長度5位及解碼結(jié)果「0」,輸出給處理器20。
然后,若取得了代碼長度5位和解碼結(jié)果「0」,則處理器20在為了進(jìn)行此后的信號處理(逆量子化處理、IMDCT(Inverse ModifiedDiscrete Cosine Transform)處理等)而將解碼結(jié)果「0」輸出給緩沖器等之后,因上述代碼長度為5位而將上述位串前進(jìn)5位。也就是說,使取得點(diǎn)P移動(dòng)5位。這樣一來,下一位串變成「110000111111011010001111xxxx」。
在下一位串是「110000111111011010001111xxxx」時(shí)如圖26所示,與上面相同,處理器20將該位串最前面的6位「110000」作為地址,檢索第1表格13。此時(shí),因?yàn)樵摰刂贰?10000」位于Line6(參見圖14),所以在該Line6的數(shù)據(jù)從主存儲(chǔ)器10移到高速緩存器34中之后(圖26),存取該地址「110000」的數(shù)據(jù),并取得代碼長度6位和解碼結(jié)果「3」。
還有,給標(biāo)記寫入Line6,給W標(biāo)識寫入「0」,并給臟標(biāo)識D寫入「0」。
然后,處理器20在輸出解碼結(jié)果「3」之后,因上述代碼長度是6位而將上述位串前進(jìn)6位。也就是說,使取得點(diǎn)P移動(dòng)6位。若因上述代碼長度為6位而將上述位串前進(jìn)6位,則下一位串變成「111111011010001111xxxx」。
在下一位串是「111111011010001111xxxx」時(shí)如圖27所示,處理器20與上面相同將該位串最前面的6位「111111 」作為地址,檢索第1表格13。此時(shí),因?yàn)樵摰刂贰?11111」位于Line7(參見圖14),所以在該Line7的數(shù)據(jù)從主存儲(chǔ)器10移到高速緩存器34中之后(圖26),存取該地址「111111」的數(shù)據(jù),并取得未完成記號「15」、下一地址指針「1100010」及下面要讀入的位數(shù)「4」。
還有,給標(biāo)記寫入Line7,給W標(biāo)識寫入「0」,并給臟標(biāo)識D寫入「0」。在此,對于高速緩存裝置30的數(shù)據(jù)取得動(dòng)作,因?yàn)榕c上述情形相同,所以下面省略其說明。
因此,向圖15所示的第2表格14的地址「1100010」移動(dòng)指針,并在將上述位串前進(jìn)6位之后,以接下來4位的值作為來自地址「1100010」的索引,檢索第2表格14。此時(shí),因?yàn)樵?位的值是「0110」,所以給地址「1100010」填補(bǔ)「0110」,并且下面要存取的地址變成「1101000」。
也就是說,處理器20如圖28所示,取得下面的4位「0110」,并給先前所取得的地址「1100010」填補(bǔ)下面的4位「0110」,計(jì)算出下面要存取的地址計(jì)算「1101000」。
若計(jì)算結(jié)束,則處理器20以通過計(jì)算所得到的「1101000」作為地址,檢索第2表格14。因?yàn)樵摰刂贰?101000」位于Line13(參見圖15),所以在該Line13的數(shù)據(jù)從主存儲(chǔ)器10移到高速緩存器34中之后,處理器20存取該數(shù)據(jù),并取得代碼長度3位、解碼結(jié)果「61」。
還有,給標(biāo)記寫入Line13,給W標(biāo)識寫入「1」,并給臟標(biāo)識D寫入「0」。
然后,處理器20在輸出解碼結(jié)果「61」之后,因上述代碼長度是3位而將上述位串前進(jìn)3位。也就是說,使取得點(diǎn)P移動(dòng)6+3=9位。若使取得點(diǎn)P產(chǎn)生了移動(dòng),則下一位串變成「010001111xxxx」。
在下一位串是「010001111xxxx」時(shí)如圖29所示,處理器20與上面相同將該位串最前面的6位「010001」作為地址,檢索第1表格13。此時(shí),因?yàn)樵摰刂贰?10001」位于Line2(參見圖14),所以在將該Line2的數(shù)據(jù)從主存儲(chǔ)器10移到高速緩存器34中之后,需要為該數(shù)據(jù)進(jìn)行存取。
然而,當(dāng)前在高速緩存器34中沒有自由空間,因此需要將存儲(chǔ)于高速緩存器34中的某一行數(shù)據(jù)寫回到主存儲(chǔ)器10中,并向由此所產(chǎn)生的自由空間轉(zhuǎn)移該Line2的數(shù)據(jù)。
而在此,控制部51根據(jù)由屬性存儲(chǔ)部52所指定的主存儲(chǔ)器10第1存儲(chǔ)區(qū)域11及第2存儲(chǔ)區(qū)域12的強(qiáng)度信息,來決定是否將存儲(chǔ)于高速緩存器34中的某一行數(shù)據(jù)寫回到主存儲(chǔ)器10中。此時(shí)表示出,位于第1表格13的Line0到Line7其強(qiáng)度較大,并且位于第2表格14的Line8到Line14其強(qiáng)度較小(參見圖16)。為此,利用第2表格14的數(shù)據(jù),將當(dāng)前存儲(chǔ)于高速緩存器34上的數(shù)據(jù)寫回到主存儲(chǔ)器10中。也就是說,由于當(dāng)前Line13的數(shù)據(jù)存儲(chǔ)于高速緩存器34中,因而該數(shù)據(jù)被寫回到主存儲(chǔ)器10中(圖29),并向由此所產(chǎn)生的自由空間轉(zhuǎn)移Line2的數(shù)據(jù)(圖30)。
此后,處理器20存取該Line2的數(shù)據(jù),取得代碼長度4位、解碼結(jié)果10。若因上述代碼長度是4位而將上述位串前進(jìn)4位,則位串變成「01111xxxx」。
雖然在該過程中,就上述說明來說假設(shè)Line13的數(shù)據(jù)從高速緩存器34寫回到主存儲(chǔ)器10中,但是在該一系列動(dòng)作的過程中,由于Line13的數(shù)據(jù)在存儲(chǔ)于高速緩存器34中的期間其值未產(chǎn)生變化,也就是說高速緩存器34上的值和主存儲(chǔ)器10上的值相同,因而在以往的很多高速緩存器控制方法中,沒有進(jìn)行寫回這樣的動(dòng)作,而是將Line2的數(shù)據(jù)重寫在Line13的數(shù)據(jù)上。
也就是說,在高速緩存器34中沒有空閑時(shí),以往采用LRU方式將Line3的數(shù)據(jù)決定為替換對象,并在其行上重寫Line2的數(shù)據(jù)。對此,本實(shí)施方式1的控制部51檢索已給高速緩存器34的弱標(biāo)識W設(shè)置「1」的行,并將Line13的數(shù)據(jù)決定為替換對象。然后,控制部51確認(rèn)Line13的臟標(biāo)識D的值是「0」的原狀態(tài),并在其行上重寫Line2的數(shù)據(jù)。
借此,由于存取頻率高的數(shù)據(jù)保留到高速緩存器34中,因而命中的概率增高,發(fā)生高速緩存錯(cuò)誤的概率變低。
在下一位串是「01111xxxx」時(shí),處理器20與上面相同將該位串最前面的6位作為地址,檢索第1表格13。此時(shí),該地址「01111x」位于Line3(參見圖14)。當(dāng)前,因?yàn)樵揕ine3的數(shù)據(jù)存儲(chǔ)于高速緩存器34中,所以將命中,并且處理器20立刻存取該地址「01111x」的數(shù)據(jù),立刻取得代碼長度5位、解碼結(jié)果16。
因?yàn)樵谠撨^程中,就上面所說明的以往技術(shù)而言,在高速緩存器34中沒有自由空間時(shí),通常最早存取的Line被寫回,所以Line3的數(shù)據(jù)多次在主存儲(chǔ)器10和高速緩存器34之間反復(fù)移動(dòng),但是通過上述控制部51(替換部42a)和上述屬性存儲(chǔ)部52(W標(biāo)識設(shè)定部42b)的工作進(jìn)行控制,以便存取頻率高的數(shù)據(jù)優(yōu)先保留到高速緩存器34的數(shù)據(jù)區(qū)域上,并且作為結(jié)果,可以減少主存儲(chǔ)器10和高速緩存器34之間的數(shù)據(jù)移動(dòng)次數(shù)。
如上所述,根據(jù)本實(shí)施方式1,由于采用主存儲(chǔ)器10的第1存儲(chǔ)區(qū)域11、第2存儲(chǔ)區(qū)域12、用來暫時(shí)存儲(chǔ)該存儲(chǔ)區(qū)域11、12的數(shù)據(jù)的高速緩存器34、用來經(jīng)由高速緩存器34在上述第1、第2存儲(chǔ)區(qū)域11、12中進(jìn)行存取的處理器20以及在上述高速緩存器34中自由空間不足時(shí)確保自由空間的控制部51,并且在上述控制部51中進(jìn)行控制,以便將上述第1存儲(chǔ)區(qū)域11的數(shù)據(jù)(第1表格13)優(yōu)先保持在高速緩存器34中,并且確保自由空間,因而可以減少主存儲(chǔ)器10和高速緩存器34之間的傳輸次數(shù)。
還有,在本實(shí)施方式的霍夫曼解碼處理中,雖然說明了通過下述2種過程來完成解碼的那種處理,該2種過程一是通過在第1存儲(chǔ)區(qū)域11中進(jìn)行1次存取來完成解碼的過程,二是在第1存儲(chǔ)區(qū)域11進(jìn)行1次存取之后通過在第2存儲(chǔ)區(qū)域12中進(jìn)行1次存取來完成解碼的過程,但是不一定必須是那種處理。
例如,在日本特開2000-286717公報(bào)(實(shí)施方式1)中所示,其處理也可以通過1次在存儲(chǔ)器中進(jìn)行存取來完成解碼,或者在相反時(shí)再通過1次以上的多次在存儲(chǔ)器中進(jìn)行存取使之完成解碼。那種情況下,例如可以將有可能第1次進(jìn)行存取的存儲(chǔ)區(qū)域分配成本實(shí)施方式中所說明的第1存儲(chǔ)區(qū)域11,并將有可能第2次之后進(jìn)行存取的存儲(chǔ)區(qū)域分配成本實(shí)施方式中所說明的第2存儲(chǔ)區(qū)域12。
或者說,也有下述方法,即在將比較小的整數(shù)設(shè)為m時(shí),將有可能在第m次之前進(jìn)行存取的存儲(chǔ)區(qū)域分配成本實(shí)施方式中所說明的第1存儲(chǔ)區(qū)域11,并將有可能在比第m次靠后進(jìn)行存取的存儲(chǔ)區(qū)域分配成本實(shí)施方式中所說明的第2存儲(chǔ)區(qū)域12。
因?yàn)閷τ谶@種情形來說也進(jìn)行控制,以便將第1存儲(chǔ)區(qū)域11的數(shù)據(jù)(第1表格5000)優(yōu)先保持在高速緩存器34中,并且確保自由空間,因而與以往相比可以大幅減少主存儲(chǔ)器10和高速緩存器34之間的傳輸次數(shù)。
(實(shí)施方式2)接著,說明本發(fā)明的實(shí)施方式2所涉及的信號處理裝置2。
然而,在實(shí)施方式1的信號處理裝置1中設(shè)置控制部51,存取頻率低的數(shù)據(jù)不保留到高速緩存器中。也就是說,在信號處理裝置1中,將第2表格14的數(shù)據(jù)暫時(shí)存儲(chǔ)到高速緩存器34中,在沒有空閑時(shí)使第2表格14的數(shù)據(jù)成為替換的對象。
但是,這樣一來那部分第1表格13的數(shù)據(jù)存在于高速緩存器34中的概率降低。也就是說,對第1表格13的數(shù)據(jù)的分配區(qū)域?qū)p少。
因此,原本進(jìn)行控制,以便存取頻率低的數(shù)據(jù)不存儲(chǔ)到高速緩存器中。
那種情況下,成為圖32所示的那種結(jié)構(gòu)。
也就是說,如圖32所示,信號處理裝置2具備主存儲(chǔ)器10、處理器20以及高速緩存裝置60,該高速緩存裝置60具備經(jīng)由高速緩存器在主存儲(chǔ)器10中進(jìn)行存取的功能以及不經(jīng)由高速緩存器在主存儲(chǔ)器10進(jìn)行存取的功能,并且包括第1表格13,存儲(chǔ)于主存儲(chǔ)器10的第1存儲(chǔ)區(qū)域11,經(jīng)由高速緩存器進(jìn)行存?。坏?表格14,存儲(chǔ)于主存儲(chǔ)器10的第2存儲(chǔ)區(qū)域12,不經(jīng)由高速緩存器進(jìn)行存取。
高速緩存裝置60由高速緩存器61、控制部62、存取控制部63及屬性存儲(chǔ)部64等構(gòu)成。
高速緩存器61的結(jié)構(gòu)為,從高速緩存器34去除了弱標(biāo)識W。
控制部62采用通常的LRU方式?jīng)Q定替換對象。
屬性存儲(chǔ)部64根據(jù)對從處理器20所輸出的屬性進(jìn)行設(shè)定的指令,來存儲(chǔ)強(qiáng)度屬性的數(shù)據(jù)。
圖33表示的是屬性存儲(chǔ)部64中所存儲(chǔ)的屬性數(shù)據(jù)內(nèi)容的一個(gè)示例。
此時(shí)表示出,位于第1表格13的Line0到Line7其強(qiáng)度較大(高速緩存),并且位于第2表格14的Line8到Line14其強(qiáng)度較小(非高速緩存)。通過設(shè)定這種強(qiáng)度屬性,來發(fā)揮適當(dāng)?shù)奶鎿Q算法,減少高速緩存錯(cuò)誤。
存取控制部63根據(jù)屬性存儲(chǔ)部64中所存儲(chǔ)的數(shù)據(jù),來決定是經(jīng)由高速緩存器61進(jìn)行存取還是在第2表格14中進(jìn)行存取。具體而言,在處理器20要存取的地址是Line0~Line7的范圍時(shí),存取控制部63使高速緩存器61成為啟用狀態(tài),對經(jīng)由高速緩存器61的Line0~Line7的數(shù)據(jù)讀出進(jìn)行中轉(zhuǎn)。在處理器20要存取的地址是Line8~Line14的范圍時(shí),存取控制部63使高速緩存器61成為禁用狀態(tài),直接為主存儲(chǔ)器10的第2存儲(chǔ)區(qū)域12中所存儲(chǔ)的第2表格14相當(dāng)?shù)刂返臄?shù)據(jù)進(jìn)行存取,并將所讀出的數(shù)據(jù)輸出給處理器20。
按照這種結(jié)構(gòu),處理器20可以在訪問到第1表格13時(shí)經(jīng)由上述高速緩存器61進(jìn)行存取,在訪問到第2表格14時(shí)不經(jīng)由高速緩存器61進(jìn)行存取,并且能夠不將存取頻率低的第2表格14的數(shù)據(jù)存儲(chǔ)到高速緩存器61中。
借此,提高存取頻率高的第1表格13的數(shù)據(jù)一旦存儲(chǔ)到高速緩存器中后按原狀態(tài)加以保持的可能,并且作為結(jié)果,可以減少主存儲(chǔ)器10和高速緩存器61之間的傳輸次數(shù)。
<變形例>
還有,本發(fā)明的高速緩存器并不限于上述實(shí)施方式1的結(jié)構(gòu),而可以進(jìn)行各種變換。下面,說明一些變形例。
(1)在上述實(shí)施方式1中,利用弱標(biāo)識W表示出存取順序?yàn)樽钤?,但是也可以設(shè)為表示存取順序不是最新或最早。此時(shí),替換部42a的結(jié)構(gòu)可以為,判定出W=1的高速緩存項(xiàng)不是最早,并不作為替換對象進(jìn)行選擇,而選擇其他的高速緩存項(xiàng)。通過將表示不是最早的弱標(biāo)識W附加給下述高速緩存項(xiàng),而可以防止無效替換,該高速緩存項(xiàng)用來保持存取頻率高的數(shù)據(jù)或者存取頻率中等左右的數(shù)據(jù)。
(2)其結(jié)構(gòu)也可以為,處理器20執(zhí)行下述特殊的存儲(chǔ)命令,該特殊的存儲(chǔ)命令用來指令弱標(biāo)識W=1的設(shè)定和數(shù)據(jù)的寫入,高速緩存控制部42還具備命令檢測部,用來檢測特殊的存儲(chǔ)命令;標(biāo)識設(shè)定部,用來在進(jìn)行該存儲(chǔ)命令的寫入時(shí)將其設(shè)定為W=1。
(3)在上述實(shí)施方式1中,以4路·成組·相關(guān)聯(lián)的高速緩存器為例進(jìn)行了說明,但是路數(shù)也可以是數(shù)個(gè)。另外,在上述實(shí)施方式1中,說明了組數(shù)為16的示例,但是組數(shù)也可以數(shù)個(gè)。
(4)在上述實(shí)施方式1中,以成組·相關(guān)聯(lián)的高速緩存器為例進(jìn)行了說明,但是也可以是全·相關(guān)聯(lián)(full associative)方式的高速緩存器。
(5)在上述實(shí)施方式1中,將子行的大小設(shè)為行大小的1/4,但是也可以是1/2、1/8、1/16等其他的大小。此時(shí),各高速緩存項(xiàng)可以分別保持與子行相同數(shù)目的有效標(biāo)識及臟標(biāo)識。
(6)另外,在上述實(shí)施方式1中,說明了對于音樂數(shù)據(jù)的編碼數(shù)據(jù)例如采用與MPEG-AAC標(biāo)準(zhǔn)的霍夫曼碼本(例如,8)對應(yīng)的表格進(jìn)行解碼的情形,但是還可以使用于采用與其他碼本對應(yīng)的表格進(jìn)行解碼的情形。另外,也可以使用于對MP3等編碼數(shù)據(jù)進(jìn)行解碼的情形。再者,不言而喻,還可以使用于對壓縮編碼后的圖像數(shù)據(jù)等進(jìn)行解碼那樣的各種信號處理。
產(chǎn)業(yè)上的可利用性本發(fā)明所涉及的信號處理裝置具有減少高速緩存錯(cuò)誤、并減少高速緩存器和主存儲(chǔ)器之間的數(shù)據(jù)傳輸時(shí)間·量的效果,并且在由處理器和存儲(chǔ)裝置構(gòu)成的設(shè)備如個(gè)人計(jì)算機(jī)等中是有用的。另外,還可以應(yīng)用于通過處理器和存儲(chǔ)裝置對數(shù)字化后的音頻信號和視頻信號進(jìn)行處理的設(shè)備,例如數(shù)字電視機(jī)、DVD設(shè)備、移動(dòng)電話機(jī)、便攜式信息終端及頭式立體聲裝置等。
權(quán)利要求
1.一種信號處理裝置,采用第1及第2存儲(chǔ)區(qū)域的數(shù)據(jù)進(jìn)行信號處理,其特征為具備高速緩存器,用來暫時(shí)存儲(chǔ)上述數(shù)據(jù);存取裝置,用來經(jīng)由上述高速緩存器對上述第1存儲(chǔ)區(qū)域及第2存儲(chǔ)區(qū)域的至少之一進(jìn)行存取,以此讀出上述數(shù)據(jù);控制裝置,用來在上述高速緩存器中進(jìn)行暫時(shí)存儲(chǔ)的自由空間不足時(shí),在上述高速緩存器中確保自由空間;上述控制裝置確保上述自由空間,以便上述第1存儲(chǔ)區(qū)域的數(shù)據(jù)比上述第2存儲(chǔ)區(qū)域的數(shù)據(jù)更優(yōu)先地被保持在上述高速緩存器中。
2.根據(jù)權(quán)利要求1所述的信號處理裝置,其特征為上述信號處理裝置還具備屬性存儲(chǔ)裝置,用來存儲(chǔ)強(qiáng)度屬性,該強(qiáng)度屬性表示上述第1存儲(chǔ)區(qū)域的強(qiáng)度比上述第2存儲(chǔ)區(qū)域的強(qiáng)度強(qiáng),上述控制裝置按照上述屬性存儲(chǔ)裝置中所存儲(chǔ)的強(qiáng)度屬性,來決定保持到上述高速緩存器中的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的信號處理裝置,其特征為上述存取裝置對于上述第1存儲(chǔ)區(qū)域,在將上述第1存儲(chǔ)區(qū)域的數(shù)據(jù)移到上述高速緩存器中后進(jìn)行存取,對于上述第2存儲(chǔ)區(qū)域,不將上述第2存儲(chǔ)區(qū)域的數(shù)據(jù)移到上述高速緩存器中就進(jìn)行存取。
4.根據(jù)權(quán)利要求1所述的信號處理裝置,其特征為上述第1存儲(chǔ)區(qū)域存儲(chǔ)與上述第2存儲(chǔ)區(qū)域相比存取頻率更高的數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的信號處理裝置,其特征為上述第1及第2存儲(chǔ)區(qū)域分別保持表示轉(zhuǎn)換規(guī)則的第1及第2表格,該轉(zhuǎn)換規(guī)則用來按照一定規(guī)則替換輸入數(shù)據(jù),上述控制裝置確保上述自由空間,以便上述第2表格的數(shù)據(jù)比上述第1表格的數(shù)據(jù)更優(yōu)先地從上述高速緩存器中廢棄。
6.根據(jù)權(quán)利要求5所述的信號處理裝置,其特征為上述信號處理裝置還具備屬性存儲(chǔ)裝置,用來存儲(chǔ)強(qiáng)度屬性,該強(qiáng)度屬性表示上述第1表格的強(qiáng)度比上述第2表格的強(qiáng)度強(qiáng),上述控制裝置按照上述屬性存儲(chǔ)裝置中所存儲(chǔ)的強(qiáng)度屬性,來決定要從上述高速緩存器中廢棄的數(shù)據(jù)。
7.根據(jù)權(quán)利要求5所述的信號處理裝置,其特征為上述信號處理裝置用來對作為輸入數(shù)據(jù)的霍夫曼碼進(jìn)行解碼,上述霍夫曼碼其代碼長度的最長位是N位,上述第1表格是用來在將n設(shè)為1以上且未達(dá)到N的整數(shù)時(shí),對n位以下的代碼數(shù)據(jù)進(jìn)行解碼的表格,上述第2表格是用來對比上述n位更長的代碼數(shù)據(jù)進(jìn)行解碼的表格。
8.一種高速緩存器的控制方法,用于控制高速緩存裝置,該控制高速緩存裝置具備第1及第2存儲(chǔ)區(qū)域;高速緩存器,用來暫時(shí)存儲(chǔ)上述數(shù)據(jù);存取裝置,用來經(jīng)由上述高速緩存器在上述第1及第2存儲(chǔ)區(qū)域中進(jìn)行存取,以此讀出上述數(shù)據(jù),其特征為包含下述步驟,即,在上述高速緩存器中進(jìn)行暫時(shí)存儲(chǔ)的自由空間不足時(shí),確保上述自由空間,以便上述第1存儲(chǔ)區(qū)域的數(shù)據(jù)比上述第2存儲(chǔ)區(qū)域的數(shù)據(jù)更優(yōu)先地保持到上述高速緩存器中。
9.一種信號處理裝置所用的程序,該信號處理裝置采用第1及第2存儲(chǔ)區(qū)域的數(shù)據(jù)進(jìn)行信號處理,其特征為使計(jì)算機(jī)執(zhí)行權(quán)利要求8所述的控制方法中包含的步驟。
全文摘要
信號處理裝置(1)采用主存儲(chǔ)器(10)的第1存儲(chǔ)區(qū)域(11)及第2存儲(chǔ)區(qū)域(12)的第1表格(13)和第2表格(14)進(jìn)行解碼處理。信號處理裝置(1)具備高速緩存器(34),用來暫時(shí)存儲(chǔ)第1表格(13)及第2表格(14)的數(shù)據(jù);處理器(20),用來經(jīng)由高速緩存器34在第1存儲(chǔ)區(qū)域(11)及第2存儲(chǔ)區(qū)域(12)的至少之一中進(jìn)行存取,以此讀出數(shù)據(jù);控制部(51),用來在高速緩存器(34)中進(jìn)行暫時(shí)存儲(chǔ)的自由空間不足時(shí),在高速緩存器(34)中確保自由空間;控制部(51)確保自由空間,以便第1存儲(chǔ)區(qū)域(11)的數(shù)據(jù)比第2存儲(chǔ)區(qū)域(12)的數(shù)據(jù)更優(yōu)先地保持到高速緩存器(34)中。
文檔編號G06F12/08GK1655460SQ20051000808
公開日2005年8月17日 申請日期2005年2月16日 優(yōu)先權(quán)日2004年2月12日
發(fā)明者宮阪修二 申請人:松下電器產(chǎn)業(yè)株式會(huì)社