專利名稱:影像處理機的存儲器存取仲裁裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種影像處理機存儲器仲裁方法,特別是一種按照FIFO狀態(tài)調(diào)節(jié)優(yōu)先序列(arbitrary priority),并有效使用影像處理機的存儲器存取仲裁裝置及方法(arbitration apparatus for memory access in video processorand method of the same)。
處理影像的基準,按照影像處理機(MPEG-2解碼器,TS/PS解碼器,格式轉(zhuǎn)換器)的不同而不同。為了處理影像數(shù)據(jù)和各模塊中自身所需的必要數(shù)據(jù),本發(fā)明采用同一個存儲器對上述數(shù)據(jù)進行存取。
這樣,對各模塊所需的必要的數(shù)據(jù),可在存儲器中進行存取。存儲器每次只能存取一個模塊的數(shù)據(jù)。
此時,根據(jù)各模塊怎樣設(shè)定優(yōu)先序列,而使各模塊數(shù)據(jù)更有效的進行工作,同時,可以在最大的允許范圍內(nèi)使用存儲器帶寬?,F(xiàn)今,對這個問題正在繼續(xù)研究之中。
其中,最常用的方式是在各模塊申請讀寫存儲器數(shù)據(jù)時,仲裁控制部通過考慮各模塊申請的時間間隔、字數(shù)的多少等,最后對經(jīng)常要求的申請給予最高優(yōu)先序列值;否則給予低優(yōu)先序列值。
但是用這種方式設(shè)計的仲裁控制部(arbiter controller),存在如下幾方面問題第一,存儲器帶寬(bandwidth),即在存儲器進行讀寫數(shù)據(jù)所需的最短時間(minimum latency)內(nèi),一個第一模塊申請讀寫存儲器數(shù)據(jù)的申請次數(shù)較多時,可以提高存儲器帶寬效率。但是,在第一模塊正在申請讀寫期間,優(yōu)先級別比第一模塊高的第二模塊申請讀寫時,在第一模塊申請讀寫數(shù)據(jù)最短時間內(nèi),第一模塊由于級別低而不能進行讀寫。
例如,假定第一模塊以n時間間隔申請讀寫存儲器數(shù)據(jù),在n始點時間優(yōu)先序列值比第一模塊高的第二模塊申請讀寫存儲器數(shù)據(jù)。
此時,第一模塊從第二模塊申請讀寫時間開始,由于其級別低而不能進行讀寫。由于此時第一模塊繼續(xù)使用原來申請的讀寫要求,因此影像處理機不能正確處理其影像,由此引起影像處理機處理的影像被破壞的現(xiàn)象。
第二,第一原因引起的問題可以通過縮小帶寬的辦法來解決,但由此會產(chǎn)生帶寬的浪費。
第三,在讀寫存儲器數(shù)據(jù)最短待機時間(minimum latency)內(nèi),假定第一模塊申請讀寫數(shù)據(jù),此時優(yōu)先級別比第一模塊高的多個模塊連續(xù)申請讀寫數(shù)據(jù),那么第一模塊就由于優(yōu)先級別低而不能進行讀寫。
例如,假定第一模塊讀寫存儲器數(shù)據(jù)最短時間(minimum latency)為10,進行讀寫存儲器數(shù)據(jù)所需的時間為3;而第二模塊讀寫存儲器數(shù)據(jù)所需的時間假定為5,第三模塊讀寫時間假定為4。
此時,假定第一模塊在0時間申請讀寫時,優(yōu)先序列級別高的第二模塊會在2時間申請讀寫,接著優(yōu)先順序級別高的第三模塊會在7時間申請讀寫,則第一模塊所需的讀寫存儲器數(shù)據(jù)時間余下1時間,因優(yōu)先級別低而被擠掉,從而不能在最短時間(minimum latency)內(nèi)進行讀寫。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決如上所述的問題提出來的,在處理不同級別的幾種申請時,為了解決優(yōu)先序列低的申請被優(yōu)先級別高的申請擠掉而不能實現(xiàn)在最短時間內(nèi)(minimum latency)進行讀寫的問題,提供了影像處理機的存儲器存取仲裁方法。
本發(fā)明的另一個目的就是在全部所需的時間內(nèi),最大限度的利用存儲器帶寬,在各模塊各自的讀寫最短時間內(nèi)有效的實現(xiàn)讀寫申請。
為達到如上所述的目的,按照本發(fā)明設(shè)置的存儲器存取仲裁裝置,其特點是由如下部分組成的包括由存儲影像處理數(shù)據(jù)的存儲器;按照設(shè)定的優(yōu)先序列,用讀寫存儲在存儲器中的數(shù)據(jù)來處理影像的多個功能模塊;用來臨時存儲功能模塊讀寫數(shù)據(jù)的多個FIFO;根據(jù)多個FIFO中存儲的數(shù)據(jù)量,改變多個功能模塊中設(shè)定的優(yōu)先序列的仲裁控制部。
上述仲裁控制部根據(jù)數(shù)據(jù)量將上述各個功能模塊區(qū)分為滿(full)、半滿(half full)、半空(half empty)、空(empty)。
按照本發(fā)明的影像處理機存儲器存取仲裁方法,其特點是由如下階段組成包括各功能模塊接收讀寫申請信號,檢出被申請的功能模塊的第一階段;根據(jù)被確認的申請信號,將準許的信號傳送到FIFO控制部,接收存儲在FIFO中的數(shù)據(jù)量并改變優(yōu)先序列的第二階段;根據(jù)多個FIFO中變換的優(yōu)先序列,將存儲在存儲器的數(shù)據(jù)在相應(yīng)FIFO中存儲的第三階段;檢查存儲在FIFO的數(shù)據(jù)量,并在FIFO中數(shù)據(jù)日程領(lǐng)域裝滿時,將此數(shù)據(jù)信息傳送至功能模塊的第四階段。
在上述各功能模塊中,存儲器用的數(shù)據(jù)存儲在相應(yīng)FIFO的第一階段;當FIFO中的日程領(lǐng)域裝滿時,傳送寫數(shù)據(jù)申請信號和存儲在各FIFO的數(shù)據(jù)量的第二階段;根據(jù)存儲在各FIFO的數(shù)據(jù)量變換優(yōu)先序列,又根據(jù)變換的優(yōu)先序列在存儲器中存儲數(shù)據(jù)的第三階段。
此時,在第三階段中根據(jù)存儲在各FIFO的數(shù)據(jù)量滿(full)>半滿(halffull)>半空(half empty)>空(empty)順序變換優(yōu)先序列值。
綜上所述,本發(fā)明的影像處理機的存儲器仲裁方法,通過單純用優(yōu)先序列值對申請進行工作的方式轉(zhuǎn)變?yōu)楦鶕?jù)FIFO狀態(tài)進行工作的方式,使集中的申請能夠分散地進行工作,并能更加有效地利用存儲器的帶寬,徹底去除掉由于單純用優(yōu)先序列值而引起高優(yōu)先序列值排擠低優(yōu)先序列值而使數(shù)據(jù)不能正常讀取的現(xiàn)象。
本發(fā)明的其他目的、特性及利點等通過參照對附件中的圖示實施例的詳細說明就清楚了。
圖1是本發(fā)明的一種展示讀存儲器數(shù)據(jù)的結(jié)構(gòu)示意圖。
圖2是本發(fā)明的一種展示寫存儲器數(shù)據(jù)的結(jié)構(gòu)示意圖。
圖3是本發(fā)明的一種展示讀寫數(shù)據(jù)時對全部控制信號的說明圖。
圖4a是本發(fā)明的一種展示在仲裁控制部中改變優(yōu)先序列的變換方法定時圖。
圖4b是本發(fā)明的一種展示在仲裁控制部中改變優(yōu)先序列的另一種變換方法定時圖。
圖中主要序號說明10功能模塊;20FIFO控制部;
30仲裁控制部;40存儲器。
圖1是展示本發(fā)明讀存儲器數(shù)據(jù)的結(jié)構(gòu)示意圖;圖2是展示本發(fā)明寫存儲器數(shù)據(jù)的結(jié)構(gòu)示意圖。
通過圖1和圖2可以看出,本發(fā)明是由如下部分組成存儲影像數(shù)據(jù)的存儲器(40);按設(shè)定的優(yōu)先序列讀寫存儲在存儲器(40)數(shù)據(jù)以及處理影像的多個功能模塊(10);臨時存儲給多個模塊(10)讀寫數(shù)據(jù)的多個FIFO(20);根據(jù)存儲在多個FIFO(20)中的數(shù)據(jù)量,改變多個功能模塊中設(shè)定的優(yōu)先序列仲裁控制部(30)等。此時,按照仲裁控制部(30)數(shù)據(jù)量,將各功能模塊區(qū)分為滿(full)、半滿(half full)、半空(half empty)、空(empty)。
這樣構(gòu)成的影像處理機存儲器存取仲裁方法,參照圖紙詳細說明如下首先,參照圖1從存儲器向功能模塊讀數(shù)據(jù)的情況說明如下功能模塊(10)為了將自己所需的數(shù)據(jù)從存儲器(40)中取過來,從仲裁控制部(30)傳送數(shù)據(jù)申請信號,此時,仲裁控制部(30)根據(jù)上述申請信號將允許信號傳送至FIFO控制部(20)。接著,F(xiàn)IFO控制部將存儲在各FIFO中數(shù)據(jù)量通知給仲裁控制部(30)。
然后,仲裁控制部(30)從功能模塊(10)申請的各種申請中,按存儲在FIFO數(shù)據(jù)量選則其合適的,然后向存儲器(40)傳送控制信號,以便存取特定領(lǐng)域的數(shù)據(jù)。
存儲器(40)向FIFO控制部傳送合適的數(shù)據(jù),同時向仲裁控制部傳送與控制信號相應(yīng)的應(yīng)答信號。
接著,F(xiàn)IFO控制部(20)將存儲器(40)傳送過來的數(shù)據(jù)存儲在相應(yīng)FIFO中。
此時,仲裁控制部(30)檢驗存儲在FIFO中的數(shù)據(jù)量,在FIFO中的數(shù)據(jù)裝到一定的程度時,向功能模塊(10)傳送數(shù)據(jù)準備好的信號,以此通知已有準備傳送的數(shù)據(jù)。
同時,仲裁控制部(30)向FIFO控制部(20)傳送數(shù)據(jù)傳達信號,將存儲在FIFO中數(shù)據(jù)通過總線傳送至與此相對應(yīng)的功能模塊(10)中。
其次,參照圖2將功能模塊的數(shù)據(jù)寫入存儲器的情況詳細說明如下首先,功能模塊(10)將用于存儲器(40)的數(shù)據(jù)傳送到FIFO控制部(20),并數(shù)據(jù)順次存儲到相應(yīng)的FIFO中。
同時,在FIFO中的數(shù)據(jù)裝到一定程度,F(xiàn)IFO控制部(20)向仲裁控制部(30)傳送有數(shù)據(jù)要寫入的申請信息和當前存儲在各FIFO中的數(shù)字量。
此時仲裁控制部(30)向存儲器(40)傳送用在存儲器特定領(lǐng)域的數(shù)據(jù)的申請信號。存儲器(40)向仲裁控制部(30)傳送按申請信號相對應(yīng)的應(yīng)答信號。
接著,仲裁控制部(30)從存儲器(40)中接到應(yīng)答信號后,根據(jù)FIFO控制部(20)存儲在各FIFO中的數(shù)據(jù)量決定優(yōu)先序列,從FIFO控制部(20)相應(yīng)數(shù)據(jù)通過數(shù)據(jù)總線傳送至存儲器(40)。
當讀寫存儲器數(shù)據(jù)時,對全部控制信號的說明通過圖3詳細說明。
首先,從存儲器(40)讀數(shù)據(jù),向功能模塊(10)傳送數(shù)據(jù)的讀存儲器的過程說明如下從功能模塊(10)讀出存儲器(40)的特定領(lǐng)域數(shù)據(jù),功能模塊(10)將讀申請信號(Read-ready)傳送至仲裁控制部(30)。接著,仲裁控制部(30)為了傳送從功能模塊(10)讀出的申請信號,將允許信號(Read-grant)傳送到FIFO控制部(20)。
那么,F(xiàn)IFO控制部(20)知道存儲器(40)還存在要輸入的數(shù)據(jù),F(xiàn)IFO控制部(20)將存儲在各FIFO數(shù)據(jù)量通過Fstatus-x〔10〕信號傳送到仲裁控制部(30)。
上述的Fstate-x〔10〕信號就是表示各FIFO狀態(tài)的信號,“00”表示空(Empty);“01”表示半空/滿(Half Empty/Full)“10”表示滿(full)。
此時,仲裁控制部(30)傳送對存儲器(40)的特定部分邏輯地址(logicaladdress)變換為物理地址(physical address)的模塊,并將(x,y)坐標值變換為列(row)、行(colum)、排(bank)。
同時,仲裁控制部(30)根據(jù)存儲在FIFO數(shù)據(jù)量,確定各FIFO的優(yōu)先序列,將申請對應(yīng)于FIFO的優(yōu)先序列高的數(shù)據(jù)的控制信號(Mcmd-red)傳送到存儲器(40)。
存儲器(40)將已收到了模塊的申請信號的應(yīng)答信號(mcmd-ack)再次傳送給仲裁控制部(40),同時將相應(yīng)的數(shù)據(jù)傳送給FIFO控制部(20)。
這時,如果仲裁控制部(30)收到上述的應(yīng)答信號(mcmd-ack),那么它就將開始讀的信號(Read-ready)傳送給功能模塊(10),使其做好下一步的準備。
FIFO控制部(20)裝滿對應(yīng)于各FIFO的存儲數(shù)據(jù),并將read-valid信號傳送給功能模塊(10),同時顯示FIFO已準備了數(shù)據(jù),并將相應(yīng)的數(shù)據(jù)傳送給功能模塊。
下面,將數(shù)據(jù)從功能模塊(10)傳送到存儲器(40)的寫存儲器的過程做以詳細說明。
數(shù)據(jù)將通過功能模塊(10)與FIFO控制部(20)連接的數(shù)據(jù)總線用于多個FIFO,這時上述的數(shù)據(jù)與圖3的write-valid相同步呼應(yīng),用于FIFO。
如果多個FIFO上裝滿數(shù)據(jù)的話,那么就將寫的請求信號(write-request)傳送給仲裁控制部(30),通知存儲器上需要寫的信息。
這時,F(xiàn)IFO控制部(20)將存儲在各FIFO的數(shù)據(jù)量通過Fstatus-x[10]信號傳送給仲裁控制部(30)。
上述的Fstate-x[10]作為表示FIFO狀態(tài)的信號,“00”表示空(Enpty),“01”表示半空/滿(Half Empty/Full),“10”表示滿(full)。
接著,仲裁控制部(30)接收寫申請信號,向存儲器傳送還有可輸入的數(shù)據(jù)存在的申請信號。此時存儲器(40)將上述申請信號相應(yīng)的應(yīng)答信號傳送給仲裁控制部(30)。
仲裁控制部(30)將寫的承認信號傳送到FIFO控制部(20)(所用的不同信號而寫信號,并把信號傳送出去,并顯示通知FIFO控制部)存儲器已做好接收數(shù)據(jù)準備的信息。
接著,F(xiàn)IFO控制部將數(shù)據(jù)傳送到存儲器(40),履行其功能。
同時,仲裁控制部(30)將開始寫的信號(write-ready)顯示給功能模塊(10),并使功能模塊做好下一步申請的準備。
仲裁控制部(30)作為處理申請的模塊,可以處理從多個功能模塊將數(shù)據(jù)讀寫到存儲器的申請,并決定現(xiàn)始點上將哪個模塊數(shù)據(jù)最快地處理。
上述的仲裁控制部(30)在接收多個申請時的動作通過實施例做以下說明。
圖4a是根據(jù)本發(fā)明,在仲裁控制部上顯示優(yōu)先序列變換方法的定時圖。
通過圖4a我們可以看到對讀的申請有3個,對寫的申請有2個,并隨著由上至下,優(yōu)先序列也會慢慢變小。
首先,從圖4a的(0)點上看,所有的申請都會被一塊申請,讀申請的FIFO狀態(tài)都是空(Empty)狀態(tài),寫申請的FIFO狀態(tài)都是半空(Half Empty)狀態(tài)。
接著,首先提供服務(wù)給空(empty)狀態(tài)的請求讀A(Req-A-read),請求讀B(Req-B-read),請求讀C(Req-C-read)上裝滿數(shù)據(jù),這時根據(jù)提前規(guī)定的優(yōu)先值提供服務(wù)。
所以,首先在圖4a(0)點上,應(yīng)該給優(yōu)先值最高的請求讀A(Req-A-read)的申請?zhí)峁┓?wù),并在圖4a(1)點上決定對下一個哪個申請?zhí)峁┓?wù)。
這時,看一看任一申請的高與各FIFO狀態(tài)1)請求讀B(Req-B-read),請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)空(Emqty)2)請求讀D(Req-D-write),請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)半空(Half Emqty)因此,給下一個提供服務(wù)的應(yīng)根據(jù)優(yōu)先序列提供服務(wù),所以應(yīng)該給請求讀B(Req-B-read)提供服務(wù)。
從圖4a(2)點上看,1請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)半空(Empty)。
2)請求讀A(Req-D-write)高,請求讀E(Req-A-write)高,F(xiàn)IFO狀態(tài)Half Empty。
因此,給下一個提供服務(wù)的應(yīng)根據(jù)優(yōu)先序列給Req-C-read提供服務(wù)。
從圖4a(3)點上看,1)請求讀D(Req-D-write),請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)HalfEmpty。
因此,根據(jù)優(yōu)先序列給請求讀D(Req-D-write)提供服務(wù)。
從圖4a(4)點上看,1)Req-A-read高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)Req-E-write高,F(xiàn)IFO狀態(tài)半滿(Half Empty)。
因此,根據(jù)優(yōu)先序列給請求讀A(Req-A-read)提供服務(wù)、之后,請求讀A(Req-A-read)的FIFO狀態(tài)變?yōu)闈M(Full)狀態(tài),所以變換為最低的優(yōu)先序列。
圖4a(5)點上看,1)請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
因此,根據(jù)優(yōu)先序列給請求讀C(Req-C-read)提供服務(wù),由于FIFO狀態(tài)變?yōu)镕ull狀態(tài),請求讀C(Req-C-read))變?yōu)樽畹偷膬?yōu)先序列。
從圖4a(6)點上看,1)請求讀B(Req-B-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀D(Req-D-write),F(xiàn)IFO狀態(tài)滿(Full)。
3)請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
這時不能根據(jù)優(yōu)先序列提供服務(wù),而是首先對寫FIFO狀態(tài)滿(Full)的申請?zhí)峁┓?wù),之后給請求讀D(Req-D-write)提供服務(wù)。
如果根據(jù)優(yōu)先序列提供服務(wù),那 Req-D-write的FIFO中的數(shù)據(jù)將不能寫于存儲器,因新的數(shù)據(jù)覆蓋(overwrite)寫而破壞原數(shù)據(jù)。
當然,一般情況下,表示為FIFO滿(Full))狀態(tài)時,在FIFO留一定程度的能夠在存儲器上寫信號時間左右的剩余空間,但是本發(fā)明為使這個剩余空間能夠在外部進行調(diào)節(jié)而做了指示字寄存器。
圖4a(7)點上看,1)請求讀B(Req-B-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)滿(Full)。
因此,這時也像(6)點上一樣,不根據(jù)優(yōu)先序列提供服務(wù),應(yīng)該首先對寫FIFO狀態(tài)的Full申請?zhí)峁┓?wù)之后,對請求讀E(Req-E-write)提供服務(wù)。
從圖4a(8)點上看,1)請求讀A(Req-A-read)高,F(xiàn)IFO狀態(tài)滿(Full)。
2)請求讀B(Req-B-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
由于請求讀A(Req-A-read)的FIFO狀態(tài)是滿(Full),所以不應(yīng)提供服務(wù),而應(yīng)該對請求讀B(Req-B-read)提供服務(wù)之后,請求讀B(Req-B-read)的FIFO狀態(tài)也會變?yōu)闈M(Full)。
從圖4a(9)點上看,1)請求讀A(Req-A-read)/請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)滿(Full)。
2請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)Half Empty。這時讀申請的FIFO狀態(tài)是滿(Full),所以會變?yōu)樽畹偷膬?yōu)先序列。因此應(yīng)對請求讀E(Req-E-write)提供服務(wù)。
從圖4a(10)點上看,1)請求讀A(Req-A-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
根據(jù)優(yōu)先序列提供服務(wù),所以應(yīng)對請求讀A(Req-A-read)提供服務(wù)。
從圖4a(11)點上看,1)請求讀B(Req-B-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀CReq-C-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
根據(jù)優(yōu)先序列給Req-B-read提供服務(wù)。
從圖4a(12)點上看,1)請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀D(Req-D-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
根據(jù)優(yōu)先序列對請求讀C(Req-C-read)提供服務(wù)。
從圖4a(13)點上看,請求讀D(Req-D-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)之后,對此提供服務(wù)就可以了。
從圖4a(14)點上看,1)請求讀C(Req-C-reade)高,F(xiàn)IFO狀態(tài)滿(Full)這時雖然只申請了一項,但是FIFO狀態(tài)是滿(Full),如果提供服務(wù)的話,F(xiàn)IFO里的數(shù)據(jù)就會更新為新的數(shù)據(jù),所以不能提供服務(wù)。
從圖4a(15)點上看,1)請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)滿(Full)。
2)請求讀D(Req-D-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
由于請求讀C(Req-C-write)的FIFO狀態(tài)是滿(Full),所以不能對此提供服務(wù)。對請求讀D(Req-D-write)提供服務(wù)就可以了。
對圖4a的與請求讀D(Req-D-write),請求讀E(Req-E-write)同步的write-waiting-D,write-waiting-E信號做以下說明。
如果請求讀D(Req-D-write)或是請求讀E(Req-E-write)FIFO的數(shù)據(jù)是滿(Full),那么這些信號刪除傳送到功能模塊,使數(shù)據(jù)不能再用于FIFO刪除,直至FIFO變?yōu)榘肟?Half Empty)為止,維持為高(high),并使FIFO里的數(shù)據(jù)安全地用于存儲器上。
圖4b是根據(jù)本發(fā)明,在仲裁控制部上顯示優(yōu)先序列變換方法的實施例的定時圖,以下是對申請?zhí)峁┓?wù)的標準對FIFO狀態(tài)是empty的申請?zhí)峁┓?wù);所有半空(Half Empty)或是Half Full的時候,對write request優(yōu)先提供服務(wù)。圖4b就是對此進行說明的圖表。
圖4b與圖4a動作相同,因此僅對有特征的方面進行說明。
首先,從圖4b(1)點上看,1)請求讀C(Req-C-read)高,F(xiàn)IFO狀態(tài)、空(Empty)。
2)請求讀D(Req-D-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
3)請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
因此,優(yōu)先對FIFO里沒有數(shù)據(jù)的請求讀C(Req-C-read)提供服務(wù)。
從圖4b(3)點上看,1)請求讀A(Req-A-read)高,F(xiàn)IFO狀態(tài)滿(Full)。
2)請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。這時為了對寫的申請優(yōu)先提供服務(wù),所以對請求讀D(Req-D-write)提供服務(wù)。
從圖4b(7)點上看,1)請求讀A(Req-A-read)高,F(xiàn)IFO狀態(tài)半滿(Half Full)。
2)請求讀B(Req-B-read)高,F(xiàn)IFO狀態(tài)空(Empty)。
3)請求讀E(Req-E-write)高,F(xiàn)IFO狀態(tài)半空(Half Empty)。
由于要對空著的FIFO優(yōu)先提供服務(wù),所以對Req-B-read提供服務(wù)。
就像圖4a,圖4b兩種實施例所示的那樣,將申請的優(yōu)先序列值與各FIFO狀態(tài)進行比較,從而決定首先給哪個提供服務(wù),這樣就能夠解決由于單純根據(jù)優(yōu)先序列值提供服務(wù)而導致的各種問題,并能有效地使用存儲器的帶寬。
根據(jù)各模塊變更優(yōu)先序列值,可以在一個存儲器上開發(fā)多種功能模塊所要求數(shù)據(jù)的HDTV用芯片。
通過以上的說明,如果是專業(yè)人員,那么就可以在不脫離本發(fā)明的設(shè)計思想的技術(shù)范圍內(nèi),進行多種變更或修正。所以,本發(fā)明的技術(shù)范圍不應(yīng)局限于實施例所記載的內(nèi)容。
權(quán)利要求
1.一種影像處理機的存儲器存取仲裁裝置,其特征在于包括由存儲影像處理數(shù)據(jù)的存儲器;按照設(shè)定的優(yōu)先序列,用讀寫存儲在存儲器中的數(shù)據(jù)來處理影像的多個功能模塊;用來臨時存儲功能模塊讀寫數(shù)據(jù)的多個FIFO;根據(jù)多個FIFO中存儲的數(shù)據(jù)量,改變多個功能模塊中設(shè)定的優(yōu)先序列的仲裁控制部。
2.根據(jù)權(quán)利要求1所述的影像處理機的存儲器存取仲裁裝置,其特征在于仲裁控制部根據(jù)數(shù)據(jù)量將上述各個功能模塊區(qū)分為滿(full)、半滿(half full)、半空(half empty)、空(empty)
3.一種影像處理機的存儲器存取仲裁方法,其特征在于包括各功能模塊接收讀寫申請信號,檢出被申請的功能模塊的第一階段;根據(jù)被確認的申請信號,將準許的信號傳送到FIFO控制部,接收存儲在FIFO中的數(shù)據(jù)量并改變優(yōu)先序列的第二階段;根據(jù)多個FIFO中變換的優(yōu)先序列,將存儲在存儲器的數(shù)據(jù)在相應(yīng)FIFO中存儲的第三階段;檢查存儲在FIFO的數(shù)據(jù)量,并在FIFO中數(shù)據(jù)日程領(lǐng)域裝滿時,將此數(shù)據(jù)信息傳送至功能模塊的第四階段。
4.根據(jù)權(quán)利要求3所述的影像處理機的存儲器存取仲裁方法,其特征在于在各功能模塊中,存儲器用的數(shù)據(jù)存儲在相應(yīng)FIFO的第一階段;當FIFO中的日程領(lǐng)域裝滿時,傳送寫數(shù)據(jù)申請信號和存儲在各FIFO的數(shù)據(jù)量的第二階段;根據(jù)存儲在各FIFO的數(shù)據(jù)量變換優(yōu)先序列,又根據(jù)變換的優(yōu)先序列在存儲器中存儲數(shù)據(jù)的第三階段。
全文摘要
本發(fā)明提供了影像處理機的存儲器存取仲裁裝置和方法。它是由存儲器、多個功能模塊、多個FIFO、仲裁機控制部等幾個部分組成存儲器能夠存儲影像處理數(shù)據(jù);多個功能模塊能夠按照已設(shè)定的優(yōu)先序列讀寫存儲器中存儲的數(shù)據(jù),并用它來進行影像處理;多個FIFO,可以臨時存儲對多個功能模塊進行讀寫后得到的數(shù)據(jù);仲裁機控制部能夠按照多個FIFO中存儲的數(shù)據(jù)量,改變功能模塊設(shè)定的優(yōu)先序列。本發(fā)明解決了一般計算機存在的處理具有不同級別的幾種申請時,按照級別優(yōu)先的原則進行處理,先處理高級別的,后處理低級別的,因此低級別的經(jīng)常被高級別的排擠掉;低級別的申請很難在規(guī)定的最短時間內(nèi)實現(xiàn)讀寫存儲器數(shù)據(jù)的功能的問題。
文檔編號G06F12/12GK1424656SQ02156909
公開日2003年6月18日 申請日期2002年12月23日 優(yōu)先權(quán)日2002年12月23日
發(fā)明者金成龍 申請人:樂金電子(沈陽)有限公司