專利名稱:數(shù)據(jù)處理系統(tǒng)和存儲(chǔ)器仲裁方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于在設(shè)有由運(yùn)算存儲(chǔ)器和數(shù)據(jù)緩沖器合并而成的共享存儲(chǔ)器的數(shù)據(jù)處理系統(tǒng)中,用來(lái)提高調(diào)試(Debugging)效率的存儲(chǔ)仲裁方法的。
背景技術(shù):
近來(lái),通常把由多個(gè)數(shù)字視頻處理器(Digital Video Processor;DSP)之類的存儲(chǔ)器訪問(wèn)裝置(Memory Access Unit;MAU)所形成的數(shù)據(jù)處理系統(tǒng)體現(xiàn)為ASIC。
并且,還在具有數(shù)字處理系統(tǒng)功能的芯片上連接了數(shù)據(jù)緩沖存儲(chǔ)器進(jìn)行使用;在外部CPU上連接了運(yùn)算存儲(chǔ)器進(jìn)行使用。
但是,最近開(kāi)發(fā)出來(lái)的數(shù)據(jù)處理系統(tǒng)呈現(xiàn)出被SOC形態(tài)的趨勢(shì)。即,將現(xiàn)有的數(shù)據(jù)處理系統(tǒng)功能、外部CPU及周邊功能綜合到一個(gè)芯片上進(jìn)行體現(xiàn)。
因此,雖然原來(lái)是在數(shù)據(jù)處理系統(tǒng)芯片上使用數(shù)據(jù)緩沖用存儲(chǔ)器,并在外部CPU上使用運(yùn)算存儲(chǔ)器,但是最近的SOC形態(tài)的數(shù)據(jù)處理系統(tǒng)將運(yùn)算存儲(chǔ)器和數(shù)據(jù)緩沖用存儲(chǔ)器合二為一進(jìn)行使用,形成了共享存儲(chǔ)器的結(jié)構(gòu)。
圖1是具有這種共享存儲(chǔ)器結(jié)構(gòu)的SOC形態(tài)數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)方塊圖,它顯示了適用于數(shù)字TV接收機(jī)上的實(shí)施例。
觀察圖1,會(huì)發(fā)現(xiàn)有多個(gè)MAU131-135通過(guò)存儲(chǔ)器仲裁器被并列連接在共享存儲(chǔ)器110上。
上述存儲(chǔ)器仲裁器120只向?yàn)榱嗽L問(wèn)共享存儲(chǔ)器而參加存儲(chǔ)器數(shù)據(jù)總線仲裁的多個(gè)MAU131-135中的一個(gè)授予使用權(quán)。
即,在上述多個(gè)MAU131-135中,當(dāng)任意一個(gè)MAU試圖在上述共享存儲(chǔ)器110中寫(xiě)入數(shù)據(jù)或試圖讀取共享存儲(chǔ)器110中所儲(chǔ)存的數(shù)據(jù)時(shí),首先要向存儲(chǔ)器仲裁器申請(qǐng)?jiān)L問(wèn)共享存儲(chǔ)器110。此時(shí),如果申請(qǐng)?jiān)L問(wèn)上述共享存儲(chǔ)器110的MAU是一個(gè),那么上述存儲(chǔ)器仲裁器120就向該MAU授予存儲(chǔ)器數(shù)據(jù)總線的使用權(quán),使其能夠訪問(wèn)存儲(chǔ)器110。但是,如果有2個(gè)以上的MAU同時(shí)發(fā)出訪問(wèn)存儲(chǔ)器的申請(qǐng),就要排出訪問(wèn)的順序,即,上述存儲(chǔ)器仲裁器120在確認(rèn)來(lái)自各MAU的申請(qǐng)之后,決定首先處理來(lái)自哪一個(gè)MAU的申請(qǐng)。然后向這個(gè)決定后的MAU授予存儲(chǔ)器數(shù)據(jù)總線的使用權(quán),使其能夠訪問(wèn)共享存儲(chǔ)器110。
此時(shí),上述存儲(chǔ)器仲裁器120可以優(yōu)先處理來(lái)自某個(gè)MAU的申請(qǐng),也可以按先后順序來(lái)進(jìn)行處理,還可以將兩種方法混合在一起進(jìn)行處理。
而且,如果將上述共享存儲(chǔ)器110適用在數(shù)字TV上,那么上述MAU就要為了寫(xiě)入和讀取用來(lái)對(duì)音頻/視頻進(jìn)行解碼處理的比特流、為了讀取進(jìn)行移動(dòng)補(bǔ)償所必需的數(shù)據(jù)、為了寫(xiě)入解碼處理后的數(shù)據(jù)、為了進(jìn)行必要的寫(xiě)入和讀取以轉(zhuǎn)換被顯示數(shù)據(jù)的格式,而需要訪問(wèn)上述共享存儲(chǔ)器110。
為此,上述MAU包括系統(tǒng)解碼器131、視頻解碼器132、格式轉(zhuǎn)換器133、音頻解碼器134和主機(jī)(CPU)135。
上述系統(tǒng)解碼器131將在一個(gè)信道內(nèi)所包含的多個(gè)節(jié)目中選擇想要的節(jié)目,然后對(duì)打包處理后的音頻和視頻比特流進(jìn)行分離。被分離出來(lái)的視頻比特流通過(guò)仲裁器120和共享存儲(chǔ)器110向視頻解碼器132輸出;被分離出來(lái)的音頻比特流通過(guò)仲裁器120和共享存儲(chǔ)器110向音頻解碼器134輸出。
上述視頻解碼器132從輸入的視頻比特流中摘掉開(kāi)銷(各種頭信息、起始密碼等),然后在將純粹的數(shù)據(jù)信息進(jìn)行可變長(zhǎng)解碼(Variable LengthDecoding;VLD)之后,經(jīng)過(guò)量子化過(guò)程、反向離散余弦變換過(guò)程(InvertedDiscrete Cosine Transform;IDCT)和利用移動(dòng)矢量進(jìn)行移動(dòng)補(bǔ)償?shù)倪^(guò)程,恢復(fù)為原來(lái)畫(huà)面的像素值。此時(shí),上述視頻解碼器132為了寫(xiě)入和讀取進(jìn)行視頻解碼的比特流、為了讀取移動(dòng)補(bǔ)償所必需的數(shù)據(jù)、為了寫(xiě)入解碼處理后的數(shù)據(jù),而通過(guò)上述存儲(chǔ)器仲裁器120訪問(wèn)存儲(chǔ)器110。
上述格式轉(zhuǎn)換器133通過(guò)仲裁器120和存儲(chǔ)器數(shù)據(jù)總線,將上述存儲(chǔ)器110中所儲(chǔ)存的數(shù)據(jù)轉(zhuǎn)換為適合讀取和顯示的格式,再通過(guò)存儲(chǔ)器仲裁器120和存儲(chǔ)器數(shù)據(jù)總線儲(chǔ)存在共享存儲(chǔ)器110內(nèi)。
上述音頻解碼器134將利用MPEG語(yǔ)法或音頻解碼-3語(yǔ)法等將輸入的音頻比特流恢復(fù)為原來(lái)的信號(hào)。上述音頻解碼器134也和視頻解碼器132一樣,為了寫(xiě)入和讀取用來(lái)解碼音頻的比特流、為了寫(xiě)入解碼處理后的數(shù)據(jù),而通過(guò)上述存儲(chǔ)器仲裁器120訪問(wèn)存儲(chǔ)器110。
上述CPU135為了對(duì)數(shù)字TV系統(tǒng)進(jìn)行整體控制,例如,為了分離上述音頻/視頻數(shù)據(jù)、為了進(jìn)行音頻/視頻解碼、為了控制格式轉(zhuǎn)換,而通過(guò)存儲(chǔ)器仲裁器120訪問(wèn)共享存儲(chǔ)器110。
圖2是這種數(shù)字TV接收機(jī)上使用的共享存儲(chǔ)器110的區(qū)域劃分示意圖,它分為多個(gè)可供上述MAU分別進(jìn)行訪問(wèn)的區(qū)域。即,當(dāng)系統(tǒng)解碼器131分離出音頻比特流和視頻比特流時(shí),上述共享存儲(chǔ)器110中劃分出的區(qū)域內(nèi),包括訪問(wèn)中的系統(tǒng)解碼器區(qū)域、分別儲(chǔ)存分離出來(lái)的視頻比特流及音頻比特流的視頻及音頻緩沖區(qū)域。另外,還包括當(dāng)視頻解碼器132進(jìn)行視頻解碼過(guò)程中訪問(wèn)的VDEG區(qū)域、當(dāng)格式轉(zhuǎn)換部133進(jìn)行格式轉(zhuǎn)換時(shí)訪問(wèn)的VDP區(qū)域。并且,還包括進(jìn)行屏幕顯示處理時(shí)儲(chǔ)存OSD文字的OSD區(qū)域和CPU135訪問(wèn)的CPU區(qū)域。上述CPU區(qū)域還包括運(yùn)算存儲(chǔ)器區(qū)域。
但是,在上述共享存儲(chǔ)器結(jié)構(gòu)中,應(yīng)該象CPU135使用的運(yùn)算存儲(chǔ)器區(qū)域那樣設(shè)置禁止任何MAU進(jìn)行寫(xiě)入動(dòng)作的區(qū)域。
發(fā)明內(nèi)容同時(shí),如果任何一個(gè)沒(méi)有寫(xiě)入權(quán)限的MAU試圖在上述寫(xiě)保護(hù)存儲(chǔ)器區(qū)域內(nèi)寫(xiě)入數(shù)據(jù),那么上述存儲(chǔ)器就令安裝的數(shù)據(jù)處理系統(tǒng),例如數(shù)字TV接收機(jī)系統(tǒng)死機(jī)。即由于CPU135因?yàn)閿?shù)據(jù)錯(cuò)誤而無(wú)法進(jìn)行正常運(yùn)行,所以CPU可以不公示系統(tǒng)死機(jī)的原因。如果上述CPU不公示原因,那么恢復(fù)上述系統(tǒng)的調(diào)試就會(huì)發(fā)生許多麻煩。
本發(fā)明就是為了解決上述問(wèn)題而開(kāi)發(fā)出來(lái)的,本發(fā)明的目的在于提供一種數(shù)據(jù)處理系統(tǒng)和存儲(chǔ)器仲裁方法。利用該方法可以在沒(méi)有寫(xiě)入權(quán)的MAU試圖在寫(xiě)保護(hù)存儲(chǔ)器區(qū)域?qū)懭霐?shù)據(jù)時(shí),對(duì)其進(jìn)行阻止,以此來(lái)保護(hù)寫(xiě)保護(hù)存儲(chǔ)器區(qū)域。
為了實(shí)現(xiàn)上述目的,以本發(fā)明為基礎(chǔ)的具有SOC形態(tài)的共享存儲(chǔ)器的“數(shù)據(jù)處理系統(tǒng)和存儲(chǔ)器仲裁方法”具有以下特點(diǎn)SOC形態(tài)的共享存儲(chǔ)器是將運(yùn)算存儲(chǔ)器數(shù)據(jù)和數(shù)據(jù)緩沖存儲(chǔ)器的數(shù)據(jù)儲(chǔ)存在一個(gè)存儲(chǔ)器內(nèi)的結(jié)構(gòu)。如果發(fā)生沒(méi)有對(duì)共享存儲(chǔ)器中特定的存儲(chǔ)器區(qū)域進(jìn)行寫(xiě)入權(quán)限的MAU試圖在上述特定的存儲(chǔ)器區(qū)域內(nèi)進(jìn)行寫(xiě)入的情況,存儲(chǔ)器仲裁器將阻止它并保護(hù)上述特定存儲(chǔ)器區(qū)域。
而且,在本發(fā)明中,如果沒(méi)有對(duì)特定存儲(chǔ)器區(qū)域的寫(xiě)入權(quán)限的MAU在上述特定存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期,那么就向主機(jī)CPU驅(qū)動(dòng)斷續(xù)器對(duì)在寫(xiě)保護(hù)的特定存儲(chǔ)器區(qū)域內(nèi)發(fā)生讀寫(xiě)周期的MAU進(jìn)行公示。
并且,在本發(fā)明中,如果沒(méi)有對(duì)特定存儲(chǔ)器區(qū)域的寫(xiě)入權(quán)限的MAU在上述特定存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期,那么上述MAU申請(qǐng)的數(shù)據(jù)就被寫(xiě)入上述特定存儲(chǔ)器區(qū)域以外的區(qū)域。
本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)可以通過(guò)參照附圖的說(shuō)明進(jìn)行了解。
綜上所述,利用以本發(fā)明為基礎(chǔ)的數(shù)據(jù)處理系統(tǒng)和存儲(chǔ)器仲裁方法,如果不具有對(duì)特定存儲(chǔ)器區(qū)域的寫(xiě)入權(quán)限的MAU在上述特定存儲(chǔ)器區(qū)域中發(fā)生讀寫(xiě)周期,那么存儲(chǔ)器仲裁器就對(duì)上述MAU的讀寫(xiě)周期數(shù)據(jù)被寫(xiě)入特定存儲(chǔ)區(qū)域的動(dòng)作進(jìn)行阻止。轉(zhuǎn)而將上述MAU申請(qǐng)的數(shù)據(jù)寫(xiě)入無(wú)效寫(xiě)入地址寄存器所指定的存儲(chǔ)器行地址中。同時(shí)將相關(guān)MAU的錯(cuò)誤標(biāo)志設(shè)為“1”,并向CPU驅(qū)動(dòng)斷續(xù)器對(duì)不具有寫(xiě)入權(quán)限的MAU在特定存儲(chǔ)器區(qū)域內(nèi)發(fā)生讀寫(xiě)周期的情況進(jìn)行通知。
這樣,當(dāng)沒(méi)有寫(xiě)入權(quán)限的MAU在寫(xiě)保護(hù)的特定存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期時(shí),就可以對(duì)上述寫(xiě)保護(hù)的特定存儲(chǔ)器區(qū)域進(jìn)行保護(hù)。從而能夠防止SOC形態(tài)的數(shù)據(jù)處理系統(tǒng)發(fā)生死機(jī)狀況,進(jìn)而使上述數(shù)據(jù)處理系統(tǒng)的調(diào)試變得更容易。
圖1是普通SOC形態(tài)數(shù)據(jù)處理系統(tǒng)的實(shí)施例結(jié)構(gòu)方塊圖。
圖2是圖1中共享存儲(chǔ)器內(nèi)區(qū)域劃分的實(shí)施例示意圖。
圖3是依據(jù)本發(fā)明,對(duì)CPU存儲(chǔ)器區(qū)域內(nèi)能夠?qū)PU存儲(chǔ)器區(qū)域進(jìn)行可變?cè)O(shè)定的起始地址和結(jié)束地址進(jìn)行儲(chǔ)存的實(shí)施例示意圖。
圖4是依據(jù)本發(fā)明,當(dāng)不具有對(duì)CPU存儲(chǔ)器區(qū)域?qū)懭霗?quán)的MAU試圖在CPU存儲(chǔ)器區(qū)域進(jìn)行寫(xiě)入時(shí),由寄存器代替CPU存儲(chǔ)器區(qū)域?qū)⑸暾?qǐng)的數(shù)據(jù)規(guī)定為將寫(xiě)入存儲(chǔ)器的低地址的實(shí)施例示意圖。
圖5是依據(jù)本發(fā)明,由寄存器對(duì)除CPU之外的MAU是否在CPU存儲(chǔ)器區(qū)域內(nèi)發(fā)生讀寫(xiě)周期進(jìn)行公示的以MAU為單位進(jìn)行錯(cuò)誤標(biāo)記的實(shí)施例示意圖。
圖6是以本發(fā)明為基礎(chǔ)的存儲(chǔ)器仲裁方法的實(shí)施例示意圖。
具體實(shí)施方式下面就參照附圖對(duì)本發(fā)明的實(shí)施例結(jié)構(gòu)及其作用進(jìn)行說(shuō)明。如圖中所示,本發(fā)明的結(jié)構(gòu)和作用是通過(guò)多個(gè)實(shí)施例來(lái)進(jìn)行說(shuō)明的。因此,上面所講的本發(fā)明的技術(shù)思想及其核心結(jié)構(gòu)和作用并不僅限于此。
如圖1所示,本發(fā)明由以下幾個(gè)部分組成①將運(yùn)算存儲(chǔ)器和數(shù)據(jù)緩沖存儲(chǔ)器合并為一個(gè)存儲(chǔ)器而形成的共享存儲(chǔ)器110;②訪問(wèn)上述共享存儲(chǔ)器110的多個(gè)MAU131-135;③對(duì)上述多個(gè)MAU131-135訪問(wèn)共享存儲(chǔ)器110進(jìn)行仲裁的存儲(chǔ)器仲裁器120。
在上述圖1中,MCMD(Memory Command)是任意一個(gè)MAU為了訪問(wèn)存儲(chǔ)器110而向存儲(chǔ)器仲裁器120傳送的信息。該信息包括行列地址(row/columnaddress)、讀寫(xiě)信息、數(shù)據(jù)屏蔽(data masking)、候選庫(kù)(bank)、訪問(wèn)的候選庫(kù)數(shù)量、尋址模式。并且,MWD是共享的寫(xiě)入數(shù)據(jù)總線(shared write databus);而MRD是共享的讀取數(shù)據(jù)總線(shared read data bus)。
而且,如果上述共享存儲(chǔ)器110被應(yīng)用在數(shù)字TV上,那么上述MAU就要為了寫(xiě)入和讀取用來(lái)對(duì)音頻/視頻進(jìn)行解碼處理的比特流、為了讀取進(jìn)行移動(dòng)補(bǔ)償所必需的數(shù)據(jù)、為了寫(xiě)入解碼處理后的數(shù)據(jù)、為了進(jìn)行必要的寫(xiě)入和讀取以轉(zhuǎn)換被顯示數(shù)據(jù)的格式,而需要訪問(wèn)上述共享存儲(chǔ)器110。
為此,以上述MAU為例,它包括系統(tǒng)解碼器131、視頻解碼器132、格式轉(zhuǎn)換器133、音頻解碼器134和主機(jī)(CPU)135。由于前面已經(jīng)對(duì)各MAU的功能進(jìn)行了詳細(xì)的說(shuō)明,所以在這里就省略了對(duì)它們的說(shuō)明。
上述共享存儲(chǔ)器110,如圖2所示,劃分出了多個(gè)區(qū)域以使上述各個(gè)MAU131-135進(jìn)行訪問(wèn),上述各MAU131-135可以在分配給自己的區(qū)域內(nèi)寫(xiě)入數(shù)據(jù)或讀取該區(qū)域所儲(chǔ)存的數(shù)據(jù)。此時(shí)可以對(duì)各區(qū)域進(jìn)行固定的劃分;也可以進(jìn)行可變型劃分。同時(shí),各區(qū)域的起始地址和結(jié)束地址儲(chǔ)存在存儲(chǔ)器仲裁器120內(nèi)。并且,寫(xiě)保護(hù)存儲(chǔ)器區(qū)域的起始地址和結(jié)束地址也儲(chǔ)存在存儲(chǔ)器仲裁器120內(nèi)。
因此,當(dāng)任何一個(gè)MAU試圖在寫(xiě)保護(hù)存儲(chǔ)器區(qū)域?qū)懭霐?shù)據(jù)時(shí),存儲(chǔ)器仲裁器120就停止該存儲(chǔ)器讀寫(xiě)周期,同時(shí)利用斷續(xù)器來(lái)告訴CPU是哪一個(gè)MAU在寫(xiě)保護(hù)區(qū)域發(fā)生了讀寫(xiě)周期。所以,采用共享存儲(chǔ)器結(jié)構(gòu)可以防止CPU死機(jī),從而提高數(shù)據(jù)處理系統(tǒng)的調(diào)試效率。
在本發(fā)明中,為了便于說(shuō)明,將寫(xiě)保護(hù)區(qū)域限定為圖2中的CPU存儲(chǔ)器區(qū)域,在這里,由于寫(xiě)保護(hù)區(qū)域可以被廣泛地應(yīng)用,所以它并不僅限于上述實(shí)施例中提到的內(nèi)容。
圖3是儲(chǔ)存上述CPU存儲(chǔ)器區(qū)域信息的寄存器示意圖。它儲(chǔ)存著CPU存儲(chǔ)器區(qū)域的起始地址(cpu-start-addr)和結(jié)束地址(cpu-end-addr)該寄存器可以設(shè)置在存儲(chǔ)器仲裁器120的內(nèi)部;也可以設(shè)置在存儲(chǔ)器仲裁器120的外部,并參照上述存儲(chǔ)器仲裁器120內(nèi)部的寄存器來(lái)確認(rèn)CPU區(qū)域的起始地址和結(jié)束地址。例如,假設(shè)上述起始和結(jié)束地址占用了12比特,那么起始地址的基本值(default)就是0x“0A5C”、結(jié)束地址就被設(shè)定為0x“0FFF”。此外,上述寄存器的整體大小就被假設(shè)為4字節(jié)。
圖4是當(dāng)沒(méi)有對(duì)CPU存儲(chǔ)器區(qū)域的寫(xiě)入權(quán)限的MAU試圖在上述CPU存儲(chǔ)器區(qū)域?qū)懭霐?shù)據(jù)時(shí),為了保護(hù)上述CPU存儲(chǔ)器區(qū)域,將由寄存器代替CPU存儲(chǔ)器區(qū)域來(lái)指定儲(chǔ)存上述MAU申請(qǐng)寫(xiě)入數(shù)據(jù)的行地址。例如,儲(chǔ)存上述無(wú)效寫(xiě)入地址(invalid-write-addr)的寄存器的整體大小為4字節(jié),其中無(wú)效寫(xiě)入地址(invalid-write-addr)占用了1200比特,其基礎(chǔ)值假定為0x“0000”。上述無(wú)效寫(xiě)入地址(invalid-write-addr)能夠在上述CPU指定一個(gè)除CPU存儲(chǔ)器區(qū)域之外的存儲(chǔ)器區(qū)域。此時(shí),如果上述相關(guān)MAU在無(wú)效寫(xiě)入地址(invalid-write-addr)中寫(xiě)入數(shù)據(jù),那么原來(lái)的數(shù)據(jù)就被丟棄了。因此,上述無(wú)效寫(xiě)入地址(invalid-write-addr)應(yīng)該占用不會(huì)對(duì)系統(tǒng)的動(dòng)作產(chǎn)生影響的區(qū)域地址。例如,上述無(wú)效寫(xiě)入地址(invalid-write-addr)可以占用指定視頻信號(hào)的區(qū)域地址。這是由于視頻信號(hào)容易欺騙使用者的眼睛。
另一方面,當(dāng)不具有對(duì)上述CPU存儲(chǔ)器區(qū)域的寫(xiě)入權(quán)限的MAU試圖在CPU存儲(chǔ)器區(qū)域?qū)懭霐?shù)據(jù)時(shí),上述存儲(chǔ)器仲裁器120就阻止上述MAU的讀寫(xiě)周期(Write Cycle),同時(shí)通過(guò)斷續(xù)器告訴CPU135是哪一個(gè)MAU在寫(xiě)保護(hù)存儲(chǔ)器區(qū)域發(fā)生了讀寫(xiě)周期。
圖5是本發(fā)明中,寄存器為了在上述存儲(chǔ)器仲裁器120中向CPU135發(fā)生斷續(xù)器而以MAU為單位進(jìn)行錯(cuò)誤標(biāo)記的實(shí)施例示意圖。
假定上述寄存器是整體大小為4字節(jié)的只讀型(Read Only)寄存器,并且具有讀取/清除功能。那么上述CPU135依據(jù)各個(gè)錯(cuò)誤標(biāo)志就能夠知道是哪一個(gè)MAU在寫(xiě)保護(hù)存儲(chǔ)器區(qū)域發(fā)生了讀寫(xiě)周期。
現(xiàn)在就將各個(gè)MAU的錯(cuò)誤標(biāo)志用語(yǔ)整理如下err-tp是告知系統(tǒng)解碼器131是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-vb是告知視頻緩沖器是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-fc是告知格式轉(zhuǎn)換部133是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-vdec是告知視頻解碼器132是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-audio是告知音頻解碼器134是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-osd是告知OSD用MAU是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-dma是告知DMA用MAU是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;err-gfx是告知圖表引擎(GFX)用MAU是否在CPU存儲(chǔ)器區(qū)域發(fā)生讀寫(xiě)周期的標(biāo)志,基礎(chǔ)值被假定為“0”;此時(shí),如果上述錯(cuò)誤標(biāo)志值變?yōu)椤?”,那么CPU就會(huì)知道相關(guān)的MAU在寫(xiě)保護(hù)存儲(chǔ)器區(qū)域發(fā)生了讀寫(xiě)周期。例如如果err-vdec標(biāo)志值變?yōu)椤?”,那么上述CPU135就知道是音頻解碼器132在上述CPU存儲(chǔ)器區(qū)域發(fā)生了讀寫(xiě)周期。
這里,上述錯(cuò)誤標(biāo)志的數(shù)量是隨著訪問(wèn)上述存儲(chǔ)器110的MAU的數(shù)量而改變的,由于MAU可以被更廣泛地利用,所以并不僅限上述實(shí)施例所提示的那些。
圖6是這種存儲(chǔ)器仲裁過(guò)程的實(shí)施例流程圖。只有CPU135能夠訪問(wèn)上述共享存儲(chǔ)器110區(qū)域中的CPU存儲(chǔ)器區(qū)域,其他MAU都被禁止訪問(wèn)該區(qū)域。
即,如果多個(gè)MAU為了在存儲(chǔ)器中讀取/寫(xiě)入數(shù)據(jù)而向存儲(chǔ)器仲裁器120申請(qǐng)存儲(chǔ)器使用權(quán),那么上述存儲(chǔ)器仲裁器120就在確認(rèn)來(lái)自各MAU的申請(qǐng)之后,按照仲裁方法來(lái)決定首先處理來(lái)自哪一個(gè)MAU的申請(qǐng)。并且將存儲(chǔ)器總線的使用權(quán)授予該MAU使其能夠訪問(wèn)共享存儲(chǔ)器110(步驟601)。在這里,仲裁方法不是本發(fā)明的特點(diǎn),并且由于它屬于普通技術(shù),所以在此不做詳細(xì)的說(shuō)明。
此時(shí)對(duì)獲得上述存儲(chǔ)器數(shù)據(jù)總線使用權(quán)的MAU是不是CPU135進(jìn)行判斷(步驟602)。如果獲得總線使用權(quán)的MAU是CPU135,那么上述存儲(chǔ)器仲裁器120就將CPU135申請(qǐng)的數(shù)據(jù)寫(xiě)入CPU135指定的存儲(chǔ)器區(qū)域的行地址中,或者從上述行地址中讀取數(shù)據(jù)然后轉(zhuǎn)達(dá)給CPU135(步驟607)。
如果在上述步驟602中獲得總線使用權(quán)的MAU經(jīng)判斷不是CPU135,那么就對(duì)該MAU的訪問(wèn)是不是讀寫(xiě)周期進(jìn)行判斷(步驟603)。如果在上述步驟603中經(jīng)判斷不是讀寫(xiě)周期,即,如果判斷其為讀取命令,那么上述存儲(chǔ)器仲裁器120就從上述MUA申請(qǐng)的存儲(chǔ)器區(qū)域的行地址中讀取數(shù)據(jù),然后轉(zhuǎn)達(dá)給上述MAU(步驟608)。
如果在上述步驟603中判斷結(jié)果為是讀寫(xiě)周期,那么就對(duì)上述MAU申請(qǐng)寫(xiě)入的行地址是不是小于等于圖3中寄存器中所儲(chǔ)存的CPU起始地址(cpu-start-addr)進(jìn)行確認(rèn);同時(shí)對(duì)行地址是不是大小等于CPU結(jié)束地址(cpu-end-addr)進(jìn)行確認(rèn)(步驟604)。如果在上述步驟604中,確認(rèn)結(jié)果為行地址小于等于CPU的起始地址并且大于等于CPU結(jié)束地址,就判定上述行地址不是CPU存儲(chǔ)器區(qū)域的地址。所以,上述存儲(chǔ)器仲裁器120就將上述MAU申請(qǐng)的數(shù)據(jù)寫(xiě)入該MAU申請(qǐng)的存儲(chǔ)器區(qū)域的行地址中,或者從上述行地址中讀取數(shù)據(jù)然后轉(zhuǎn)達(dá)給該MAU。
另一方面,如果在上述步驟604中,確認(rèn)結(jié)果為行地址大于CPU起始地址并小于CPU結(jié)束地址,即上述行地址處在CPU起始地址和結(jié)束地址之間,也就是說(shuō)上述行地址是CPU存儲(chǔ)器區(qū)域的地址,也就是說(shuō)不具有對(duì)上CPU存儲(chǔ)器區(qū)域的寫(xiě)入權(quán)限的MAU在寫(xiě)保護(hù)的CPU存儲(chǔ)器區(qū)域中發(fā)生了讀寫(xiě)周期。因此,此時(shí)上述圖5中相關(guān)MAU的錯(cuò)誤標(biāo)志就變?yōu)椤?”,然后就向CPU135驅(qū)動(dòng)斷續(xù)器(步驟605)。那樣的話,上述CPU135就能知道有某個(gè)不具有寫(xiě)入權(quán)限的MAU在寫(xiě)保護(hù)的CPU存儲(chǔ)器區(qū)域中發(fā)生了讀寫(xiě)周期。例如如果音頻解碼器132在上述CPU存儲(chǔ)器區(qū)域中發(fā)生了讀寫(xiě)周期,那么圖5的err-vdec標(biāo)志就設(shè)定為“1”,然后驅(qū)動(dòng)斷續(xù)器。
而且,將相關(guān)MAU申請(qǐng)的數(shù)據(jù)寫(xiě)入上述圖4的無(wú)效寫(xiě)入地址寄存器所指定的行地址中(步驟606)。如果以上述視頻解碼器132為例,上述視頻解碼器132在CPU存儲(chǔ)器區(qū)域發(fā)生的讀寫(xiě)周期就被寫(xiě)入上述無(wú)效寫(xiě)入地址寄存器所指定的存儲(chǔ)器110的行地址中。此時(shí),上述視頻解碼器132在CPU存儲(chǔ)器區(qū)域發(fā)生的讀寫(xiě)周期數(shù)據(jù)不能寫(xiě)入CPU存儲(chǔ)器區(qū)域。然后對(duì)存儲(chǔ)器110的讀寫(xiě)周期就結(jié)束了。
另外,本發(fā)明中所使用的用語(yǔ)是考慮其在本發(fā)明中的功能而定義下來(lái)的。所以本領(lǐng)域的從業(yè)技術(shù)人員可以根據(jù)自己的理解進(jìn)行更改,但對(duì)用語(yǔ)的定義應(yīng)該是在本發(fā)明的基礎(chǔ)上進(jìn)行的。
而且,由于本文是針對(duì)本發(fā)明的理想實(shí)施例進(jìn)行說(shuō)明的,所以對(duì)于本發(fā)明中技術(shù)的難易,具有本領(lǐng)域中普通技術(shù)的人員可以適當(dāng)?shù)卦鎏砥渌膶?shí)施例。因此,對(duì)本發(fā)明思想及實(shí)施例的一切更改都應(yīng)歸屬于本發(fā)明的申請(qǐng)范圍。
通過(guò)上述的說(shuō)明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。
因此,本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說(shuō)明書(shū)上的內(nèi)容,必須要根據(jù)權(quán)利范圍來(lái)確定其技術(shù)性范圍。
權(quán)利要求
1.數(shù)據(jù)處理系統(tǒng),包括以下組成部分①能夠讀取/寫(xiě)入數(shù)據(jù)并可以分割成多個(gè)區(qū)域的存儲(chǔ)器;②為了在上述存儲(chǔ)器的特定區(qū)域中進(jìn)行數(shù)據(jù)讀取或?qū)懭攵暾?qǐng)存儲(chǔ)器總線使用權(quán)的包括CPU在內(nèi)的多個(gè)存儲(chǔ)器訪問(wèn)單位;③存儲(chǔ)器仲裁器,它負(fù)責(zé)依據(jù)預(yù)設(shè)的仲裁方法向上述申請(qǐng)存儲(chǔ)器總線使用權(quán)的存儲(chǔ)器訪問(wèn)單位中特定的存儲(chǔ)器訪問(wèn)單位授予存儲(chǔ)器總線使用權(quán)之后,當(dāng)獲得存儲(chǔ)器總線使用權(quán)的存儲(chǔ)器訪問(wèn)單位的存儲(chǔ)器訪問(wèn)是讀寫(xiě)周期并且其所申請(qǐng)的存儲(chǔ)器區(qū)域是上述存儲(chǔ)器訪問(wèn)單位不具有寫(xiě)入權(quán)限的存儲(chǔ)器區(qū)域時(shí),使上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的讀寫(xiě)周期數(shù)據(jù)不被寫(xiě)入上述存儲(chǔ)器區(qū)域。
2.如權(quán)利要求項(xiàng)1所述的數(shù)據(jù)處理系統(tǒng),其特征在于共享存儲(chǔ)器是由運(yùn)算存儲(chǔ)器和數(shù)據(jù)緩沖用存儲(chǔ)器合并為一個(gè)單一存儲(chǔ)器而形成的。
3.如權(quán)利要求項(xiàng)1所述的數(shù)據(jù)處理系統(tǒng),其特征在于如果不具有對(duì)上述存儲(chǔ)器內(nèi)特定區(qū)域的寫(xiě)入權(quán)限的存儲(chǔ)器訪問(wèn)單位在上述特定區(qū)域內(nèi)發(fā)生讀寫(xiě)周期,上述存儲(chǔ)器仲裁器就在將向上述CPU發(fā)生公示該存儲(chǔ)器訪問(wèn)單位的信息的同時(shí)驅(qū)動(dòng)斷續(xù)器。
4.如權(quán)利要求項(xiàng)1所述的數(shù)據(jù)處理系統(tǒng),其特征在于如果不具有對(duì)上述存儲(chǔ)器內(nèi)特定區(qū)域的寫(xiě)入權(quán)限的存儲(chǔ)器訪問(wèn)單位在上述特定區(qū)域內(nèi)發(fā)生讀寫(xiě)周期,上述存儲(chǔ)器仲裁器就將上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的數(shù)據(jù)寫(xiě)入上述存儲(chǔ)器中特定區(qū)域以外的區(qū)域中。
5.如權(quán)利要求項(xiàng)1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,上述存儲(chǔ)器仲裁器包括以下幾種寄存器①負(fù)責(zé)儲(chǔ)存寫(xiě)保護(hù)的特定存儲(chǔ)器區(qū)域的起始地址和結(jié)束地址的寄存器;②當(dāng)不具有對(duì)上述存儲(chǔ)器內(nèi)特定區(qū)域的寫(xiě)入權(quán)限的存儲(chǔ)器訪問(wèn)單位在上述特定區(qū)域內(nèi)發(fā)生讀寫(xiě)周期,并且上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的數(shù)據(jù)轉(zhuǎn)而被寫(xiě)入上述特定存儲(chǔ)器區(qū)域之外的區(qū)域中時(shí),對(duì)上述區(qū)域的地址進(jìn)行儲(chǔ)存的寄存器;③為各存儲(chǔ)器訪問(wèn)單位分配與之相對(duì)應(yīng)的錯(cuò)誤標(biāo)志,在各個(gè)錯(cuò)誤標(biāo)志中體現(xiàn)出是否有不具備對(duì)上述存儲(chǔ)器內(nèi)特定區(qū)域的寫(xiě)入權(quán)限的存儲(chǔ)器訪問(wèn)單位在上述特定區(qū)域內(nèi)發(fā)生讀寫(xiě)周期的寄存器。
6.如權(quán)利要求項(xiàng)5所述的數(shù)據(jù)處理系統(tǒng),其特征在于如果不具備對(duì)上述存儲(chǔ)器內(nèi)特定區(qū)域的寫(xiě)入權(quán)限的存儲(chǔ)器訪問(wèn)單位在上述特定區(qū)域內(nèi)發(fā)生讀寫(xiě)周期,上述存儲(chǔ)器仲裁器就將對(duì)此進(jìn)行公示的值變更相關(guān)存儲(chǔ)器訪問(wèn)單位的錯(cuò)誤標(biāo)志值。
7.數(shù)據(jù)處理系統(tǒng)的存儲(chǔ)器仲裁方法,所述方法包括存儲(chǔ)器和多個(gè)存儲(chǔ)器訪問(wèn)單位,其中,存儲(chǔ)器可以分割出多個(gè)區(qū)域;存儲(chǔ)器訪問(wèn)單位則為了在上述存儲(chǔ)器中進(jìn)行數(shù)據(jù)寫(xiě)入或讀取而申請(qǐng)存儲(chǔ)器總線的使用權(quán),上述存儲(chǔ)器仲裁方法包括以下步驟(a)依據(jù)預(yù)設(shè)的仲裁方法對(duì)上述申請(qǐng)存儲(chǔ)器總線使用權(quán)的存儲(chǔ)器訪問(wèn)單位中特定的存儲(chǔ)器訪問(wèn)單位授予存儲(chǔ)器總線使用權(quán)的步驟;(b)如果上述取得存儲(chǔ)器總線使用權(quán)的存儲(chǔ)器訪問(wèn)單位在“存儲(chǔ)器訪問(wèn)”是讀寫(xiě)周期,并且其申請(qǐng)的存儲(chǔ)器區(qū)域是對(duì)存儲(chǔ)器訪問(wèn)單位來(lái)講寫(xiě)保護(hù)的存儲(chǔ)器區(qū)域,就使用上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的讀寫(xiě)周期數(shù)據(jù)不被寫(xiě)入存儲(chǔ)器區(qū)域的步驟。
8.如權(quán)利要求項(xiàng)7所述的存儲(chǔ)器仲裁方法中,其特征在于,如果不具有對(duì)上述存儲(chǔ)器中特定區(qū)域?qū)懭霗?quán)限的存儲(chǔ)器訪問(wèn)單位在特定區(qū)域中發(fā)生了讀寫(xiě)周期,上述(b)步驟就在發(fā)出提示信息的同時(shí)驅(qū)動(dòng)斷續(xù)器。
9.如權(quán)利要求項(xiàng)7所述的存儲(chǔ)器仲裁方法中,其特征在于,如果不具有對(duì)上述存儲(chǔ)器中特定區(qū)域?qū)懭霗?quán)限的存儲(chǔ)器訪問(wèn)單位在特定區(qū)域中發(fā)生了讀寫(xiě)周期,上述(b)步驟就將上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的數(shù)據(jù)寫(xiě)入存儲(chǔ)器特定區(qū)域之外的區(qū)域。
10.如權(quán)利要求項(xiàng)7所述的存儲(chǔ)器仲裁方法中,其特征在于,如果取得上述存儲(chǔ)器總線使用權(quán)的存儲(chǔ)器訪問(wèn)單位的“存儲(chǔ)器訪問(wèn)”是讀取周期,上述(b)步驟就從存儲(chǔ)器區(qū)域中讀出上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的數(shù)據(jù),然后轉(zhuǎn)達(dá)給上述存儲(chǔ)器訪問(wèn)單位。
11.如權(quán)利要求項(xiàng)7所述的存儲(chǔ)器仲裁方法中,其特征在于,如果取得上述存儲(chǔ)器總線使用權(quán)的存儲(chǔ)器訪問(wèn)單位的“存儲(chǔ)器訪問(wèn)”是讀寫(xiě)周期,并且所申請(qǐng)的存儲(chǔ)器區(qū)域是上述存儲(chǔ)器訪問(wèn)單位有權(quán)寫(xiě)入的存儲(chǔ)器區(qū)域,上述(b)步驟就將上述存儲(chǔ)器訪問(wèn)單位申請(qǐng)的讀寫(xiě)周期數(shù)據(jù)寫(xiě)入上述存儲(chǔ)器訪問(wèn)單位所申請(qǐng)的存儲(chǔ)器區(qū)域中。
全文摘要
本發(fā)明是關(guān)于能夠在內(nèi)部設(shè)有共享存儲(chǔ)器(Unified Memory)的數(shù)據(jù)處理系統(tǒng)上提高調(diào)試效率的存儲(chǔ)器仲裁方法的,上述共享存儲(chǔ)器是由運(yùn)算存儲(chǔ)器和數(shù)據(jù)緩沖用存儲(chǔ)器合并而成的一個(gè)存儲(chǔ)器。更詳細(xì)地說(shuō)就是,本發(fā)明如果不具有對(duì)上述共享存儲(chǔ)器內(nèi)某特定存儲(chǔ)區(qū)域的寫(xiě)入權(quán)的MAU在上述特定存儲(chǔ)區(qū)域發(fā)生讀寫(xiě)周期,那么存儲(chǔ)器仲裁器就通過(guò)阻止其發(fā)生來(lái)保護(hù)上述特定的存儲(chǔ)區(qū)域。并且,如果不具有對(duì)上述共享存儲(chǔ)器內(nèi)某特定存儲(chǔ)區(qū)域的寫(xiě)入權(quán)的MAU在上述特定存儲(chǔ)區(qū)域發(fā)生讀寫(xiě)周期,本發(fā)明就向主機(jī)CPU驅(qū)動(dòng)斷續(xù)器來(lái)公示在特定寫(xiě)保護(hù)存儲(chǔ)區(qū)域內(nèi)發(fā)生讀寫(xiě)周期的MAU。
文檔編號(hào)G06F13/16GK1908923SQ20051002842
公開(kāi)日2007年2月7日 申請(qǐng)日期2005年8月3日 優(yōu)先權(quán)日2005年8月3日
發(fā)明者李鎮(zhèn)赫 申請(qǐng)人:上海樂(lè)金廣電電子有限公司