亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

圖像處理裝置和方法以及用于該裝置的編譯程序的制作方法

文檔序號(hào):6580611閱讀:179來(lái)源:國(guó)知局
專利名稱:圖像處理裝置和方法以及用于該裝置的編譯程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖像處理裝置和方法以及用于該裝置的編譯程序,特別是在進(jìn)行大量的圖像數(shù)據(jù)處理時(shí),降低對(duì)存儲(chǔ)器進(jìn)行讀取/存儲(chǔ)的次數(shù),以便能夠迅速進(jìn)行圖像處理的裝置和方法以及用于此裝置的編譯程序。
背景技術(shù)
一般在計(jì)算機(jī)圖形等的圖像處理技術(shù)的領(lǐng)域內(nèi),為實(shí)現(xiàn)與圖像內(nèi)的形狀或色彩等相關(guān)的各種各樣的表現(xiàn)形式,需要有具有靈活的圖像處理功能的圖像處理裝置。另外,還要求用于此圖像處理裝置的軟件的編譯程序,是能夠處理與精彩的圖像內(nèi)的形狀或色彩等相關(guān)的大量數(shù)據(jù)的編譯程序。
例如,根據(jù)表示圖像的亮度和顏色都一樣的圖案的紋理決定顏色時(shí),是根據(jù)形成該圖像的像素的座標(biāo)來(lái)決定其像素的顏色。在決定顏色的處理時(shí),也需要使用大量的數(shù)據(jù),還須逐次按順序計(jì)算其顏色,為此,一直以來(lái)使用的是進(jìn)行高速運(yùn)算的圖像處理裝置(GraphicProcessor Unit-GPU)。
但是,以往的GPU只能處理固定的數(shù)據(jù)流,或者半固定的數(shù)據(jù)流,一次一條路徑可進(jìn)行的像素處理有限。為此,進(jìn)行復(fù)雜的運(yùn)算就要在多條路徑使用GPU。在多條路徑使用GPU時(shí),就要在前一條路徑中,先把中間數(shù)據(jù)寫(xiě)入到幀緩沖存儲(chǔ)器等存儲(chǔ)器中,在下一條路徑的處理過(guò)程中,再把幀緩沖存儲(chǔ)器等存儲(chǔ)器中的數(shù)據(jù)從其存儲(chǔ)器中讀出來(lái),這樣就增加了對(duì)存儲(chǔ)器讀取/存儲(chǔ)的次數(shù)。
對(duì)存儲(chǔ)器的讀取/存儲(chǔ)次數(shù)的增加,就成為圖像處理處理器整體的數(shù)據(jù)處理流程的瓶頸,降低了圖像處理性能,從數(shù)據(jù)處理的迅速性這一角度出發(fā),就要求改善這一問(wèn)題。例如,“n Vidia公司”的GeForce3GPU內(nèi)有可編程像素處理器,可通過(guò)一系列的指令串對(duì)地址運(yùn)算器、對(duì)像素顏色進(jìn)行混合處理的組合器進(jìn)行編程(參照論文GeForce 3GPU[compiling to a VLIM Fragment PipelineFigure1,2])。
但是,就是在上述論文中公開(kāi)的nVIDIA公司的芯片中,對(duì)于一個(gè)像素一次可執(zhí)行的指令數(shù)目也是有限的,另外,寄存器的個(gè)數(shù)也是有限的。為此,更加復(fù)雜的處理就要求在多條路徑使用像素處理器來(lái)進(jìn)行。其理由是在此現(xiàn)有技術(shù)的圖像處理處理器中,地址運(yùn)算器與組合器是分離的,按從組合器到地址運(yùn)算器的順序進(jìn)行運(yùn)算時(shí),就需要分到多條路徑中進(jìn)行。
如果能夠提供通過(guò)在一條路徑中進(jìn)行靈活處理的圖像處理裝置和用于此裝置的編譯程序,就可減少進(jìn)行像素運(yùn)算的路徑數(shù),從而就可減少易成為功能瓶頸的往存儲(chǔ)器讀取/存儲(chǔ)的次數(shù)。

發(fā)明內(nèi)容
本發(fā)明第1構(gòu)成部分的圖像處理裝置包括,對(duì)于輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線,為了把上述多個(gè)運(yùn)算流水線輸出的運(yùn)算結(jié)果再次輸入到上述多個(gè)運(yùn)算流水線,進(jìn)行數(shù)據(jù)傳送路徑切換的切換通道,對(duì)由上述切換通道進(jìn)行的上述數(shù)據(jù)傳送路徑的切換及在上述多個(gè)運(yùn)算流水線內(nèi)的運(yùn)算進(jìn)行控制的控制電路,同時(shí),控制電路進(jìn)行如下控制,即,在上述多個(gè)運(yùn)算流水線內(nèi)執(zhí)行由多個(gè)運(yùn)算構(gòu)成的單位運(yùn)算時(shí),為了保證構(gòu)成從1到n(n是正整數(shù))的單位運(yùn)算中的單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算的上述多個(gè)運(yùn)算在同一流水線中的同一運(yùn)算時(shí)間里不重疊而進(jìn)行調(diào)度。
另外,本發(fā)明第2構(gòu)成部分的編譯程序是用于圖像處理裝置的編譯程序,該圖像處理裝置具有對(duì)輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線,為了把上述多個(gè)運(yùn)算流水線輸出的運(yùn)算結(jié)果再次輸入到上述多個(gè)運(yùn)算流水線而對(duì)數(shù)據(jù)傳送路徑進(jìn)行切換的切換通道,對(duì)上述切換通道進(jìn)行的上述數(shù)據(jù)傳送路徑的切換及在上述多個(gè)運(yùn)算流水線內(nèi)的運(yùn)算進(jìn)行控制的控制電路,編譯程序包含如下控制,即,構(gòu)成上述多個(gè)運(yùn)算流水線的各個(gè)運(yùn)算流水線分別接受由外部提供的上述圖像數(shù)據(jù)的一部分,為了保證由多個(gè)運(yùn)算構(gòu)成的從1到n(n是正整數(shù))的n個(gè)單位運(yùn)算中的單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算中的上述多個(gè)運(yùn)算在同一流水線中的同一運(yùn)算時(shí)間里不重疊而進(jìn)行調(diào)度,按上述調(diào)度來(lái)控制上述多個(gè)運(yùn)算流水線的運(yùn)算順序。
另外,本發(fā)明的第3構(gòu)成部分的圖像處理方法具有以下步驟,即,向構(gòu)成對(duì)輸入圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線的各個(gè)運(yùn)算流水線提供外部供給的上述圖像數(shù)據(jù)的一部分,為了保證由多個(gè)運(yùn)算構(gòu)成的從1到n(n是正整數(shù))的n個(gè)單位運(yùn)算中的單位運(yùn)算k到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算中的上述多個(gè)運(yùn)算在同一流水線中的同一運(yùn)算時(shí)間里不重疊而進(jìn)行調(diào)度,按上述調(diào)度來(lái)控制上述多個(gè)運(yùn)算流水線的運(yùn)算順序。


圖1是表示包含本發(fā)明第1實(shí)施例的圖像處理裝置的系統(tǒng)的整體構(gòu)成的框2是表示圖1中圖像處理內(nèi)核的概略構(gòu)成的框3是表示圖像內(nèi)核內(nèi)部的功能構(gòu)成概略的框4是為了說(shuō)明從圖1到圖3的圖像處理內(nèi)核的動(dòng)作,分別表示(a)數(shù)據(jù)流圖形(DFG=單位運(yùn)算)、(b)使用兩個(gè)功能單元(FU)調(diào)度的單位運(yùn)算、(c)兩個(gè)FU的調(diào)度的說(shuō)明5表示單位運(yùn)算1~n與每個(gè)運(yùn)算的關(guān)系的說(shuō)明6表示的是運(yùn)算重疊無(wú)法調(diào)度,(a)錯(cuò)位1個(gè)循環(huán)的例1、(B)錯(cuò)位3個(gè)循環(huán)的例2的說(shuō)明7為說(shuō)明從圖1到圖3的圖像處理內(nèi)核的動(dòng)作,分別表示(a)數(shù)據(jù)流圖形(DFG=單位運(yùn)算)、(b)使用三個(gè)功能單元(FU)調(diào)度的單位運(yùn)算、(c)三個(gè)FU的調(diào)度的說(shuō)明8為說(shuō)明從圖1到圖3的圖像處理內(nèi)核的動(dòng)作,不同于圖5的分別表示(a)數(shù)據(jù)流圖形(DFG=單位運(yùn)算)、(b)使用三個(gè)功能單元(FU)調(diào)度的單位運(yùn)算、(c)三個(gè)FU的調(diào)度的說(shuō)明9表示的是當(dāng)基本地址與“步數(shù)mod N”相等時(shí)的地址生成電路的構(gòu)成的框10表示的是當(dāng)基本地址與“代*基1本地址步長(zhǎng)mod N”相等時(shí)的地址生成電路的構(gòu)成的框11表示的是動(dòng)作的一個(gè)例子的4個(gè)象素的混合處理時(shí)削減分枝數(shù)目的具體例子的說(shuō)明12表示的是以FIFO等實(shí)現(xiàn)FU內(nèi)的通道時(shí)的運(yùn)算流水線內(nèi)的通道的說(shuō)明13表示的是進(jìn)行為了使圖12的處理具體可行的乘法和加法運(yùn)算的流水線的框圖;以及圖14表示的是本發(fā)明第3構(gòu)成的實(shí)施例的圖像處理方法處理步驟的流程圖。
具體實(shí)施例方式
下面,參照附圖,詳細(xì)說(shuō)明關(guān)于本發(fā)明的圖像處理裝置和方法以及本裝置所采用的編譯程序的實(shí)施例。首先,參照?qǐng)D1,說(shuō)明與第1實(shí)施例相關(guān)的圖像處理器的整體系統(tǒng)構(gòu)成。該第1實(shí)施例的構(gòu)成的目的在于提供可高效率地進(jìn)行多種圖像處理的圖像處理器。首先,說(shuō)明采用了與第1實(shí)施例相關(guān)的處理器的系統(tǒng)構(gòu)成例子。
圖1表示的是第1實(shí)施例采用的圖像處理器所適用的圖像處理系統(tǒng)的構(gòu)成例子。在該圖中,圖像處理處理器1具有例如Setup/DDA等的圖像處理專用電路2,集成在同一芯片上的存儲(chǔ)器3,至少一個(gè)、理想的話為多個(gè)的圖像處理內(nèi)核4。圖像處理內(nèi)核4的詳細(xì)結(jié)構(gòu)以后再敘述。
圖像處理處理器1通過(guò)系統(tǒng)總線5與中央處理器(以下,稱為CPU-Central Processing Unit)6連接,與該CPU6協(xié)同進(jìn)行包含有圖像處理的信息處理。另外,圖像處理處理器1通過(guò)系統(tǒng)總線5、橋7等與外部存儲(chǔ)裝置8連接,一邊與存儲(chǔ)裝置8之間進(jìn)行數(shù)據(jù)的發(fā)送接收,一邊進(jìn)行信息處理。橋7還與輸入輸出接口9連接。每個(gè)圖像處理內(nèi)核4內(nèi)部都有控制器10用以控制內(nèi)核內(nèi)部各構(gòu)成要素。
其次,參照?qǐng)D2詳細(xì)說(shuō)明圖像處理內(nèi)核4,圖2表示的是圖像處理內(nèi)核4的概略。除了上述的控制器10,圖像處理內(nèi)核4還具有存儲(chǔ)單元11,第一個(gè)讀取單元12,作為進(jìn)行像素運(yùn)算的流水線狀的運(yùn)算器的多個(gè)運(yùn)算流水線17、18,切換通道15,作為通信線路而起作用的內(nèi)部總線16??刂破?0的作用是進(jìn)行調(diào)度,從而使在由上述多個(gè)運(yùn)算流水線17、18在上述流水線內(nèi)執(zhí)行由多個(gè)運(yùn)算分別構(gòu)成的單位運(yùn)算時(shí),保證構(gòu)成從1到n(n是正整數(shù))的n個(gè)單位運(yùn)算中的單位運(yùn)算k(1<k<n)到n的(n-k+1)個(gè)單位運(yùn)算的上述多個(gè)運(yùn)算在同一運(yùn)算流水線內(nèi)同一運(yùn)算時(shí)間不發(fā)生重疊(以后進(jìn)行詳細(xì)說(shuō)明)。
另外,上述圖像處理內(nèi)核4進(jìn)行信息處理的過(guò)程如下,通過(guò)第1讀取單元12從存儲(chǔ)器3接收?qǐng)D像數(shù)據(jù)的至少一部分,由運(yùn)算流水線群的各運(yùn)算流水線17、18對(duì)這些數(shù)據(jù)進(jìn)行處理,通過(guò)存儲(chǔ)單元11把一連串的數(shù)據(jù)寫(xiě)回存儲(chǔ)器3。另外,此時(shí)使用切換通道15與內(nèi)部總線16,執(zhí)行具有DAG(Directed Acyclic Graph)狀數(shù)據(jù)流的程序。以后將敘述該程序的執(zhí)行方法。
由于可執(zhí)行具有DAG狀的數(shù)據(jù)流的程序,與以往的只能執(zhí)行固定數(shù)據(jù)流的GPU相比,可以減少對(duì)存儲(chǔ)器的讀取/存儲(chǔ)次數(shù)。為實(shí)現(xiàn)這個(gè)目的,雖因增加切換通道15和內(nèi)部總線16而使得硬件的數(shù)量有所增加,但因?yàn)榭梢韵鳒p易成為瓶頸的取數(shù)存儲(chǔ)次數(shù),從而使整體性能得到提高。
其次,參照?qǐng)D3來(lái)說(shuō)明圖像處理內(nèi)核4的功能結(jié)構(gòu)。
圖3是表示圖像處理內(nèi)核4的結(jié)構(gòu)例子的框圖。在與第1實(shí)施例相關(guān)的圖像處理處理器中,圖像處理內(nèi)核4由控制器10、存儲(chǔ)單元11、第1讀取單元、切換通道15、內(nèi)部總線16、第1運(yùn)算流水線(FUa)17、第2運(yùn)算流水線(FUb)18構(gòu)成。
控制器10雖說(shuō)是按照每一步來(lái)控制其它構(gòu)成要素的,但它特別是使用叫作階段的概念來(lái)進(jìn)行控制的。這里,階段是按照階段=步數(shù)mod最大階段數(shù)加以定義的。該階段在運(yùn)算流水線17、18的具體動(dòng)作過(guò)程中,可當(dāng)作動(dòng)作時(shí)鐘來(lái)理解,所以在圖4及此后的說(shuō)明中,記為時(shí)鐘。
FUa17及FUb18是流水線化的運(yùn)算流水線,規(guī)定的運(yùn)算時(shí)間的間隔,即每個(gè)階段(圖4中叫時(shí)鐘)可執(zhí)行不同的指令。切換通道也可由通道群和縱橫道(crossbar)構(gòu)成,這些縱橫道是具有多播功能的單方向的縱橫道(輸入集合與輸出集合不會(huì)重疊)??v橫道可按時(shí)鐘把運(yùn)算流水線的輸出送到任意通道,同時(shí),可按時(shí)鐘把任意通道的輸出送到任意運(yùn)算流水線的輸入口。切換通道15實(shí)際上是多個(gè)通道(1R/1WRAM)的集約體。切換通道15的各通道可進(jìn)行由各時(shí)鐘而定的基于讀出偏移地址的讀出和基于寫(xiě)入偏移地址的寫(xiě)入。
由于采用了這種構(gòu)成方式,它就比GeForce3一類的寄存器組合型GPU具有較高的可編程性,而且,比VLIW型處理器面積利用率更高,可以控制更多的運(yùn)算器。
與本發(fā)明的第2個(gè)構(gòu)成相關(guān)的圖像處理裝置采用的編譯程序是由圖像處理處理器1執(zhí)行的圖像處理程序。此編譯程序的作用是進(jìn)行調(diào)度,從而構(gòu)成多個(gè)運(yùn)算流水線的各個(gè)運(yùn)算流水線分別接受外部提供的上述圖像數(shù)據(jù)的一部分,作為多個(gè)運(yùn)算的從1到n(n為正整數(shù))的n個(gè)單位運(yùn)算中由單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算在同一流水線中同一運(yùn)算時(shí)間里不重疊,并且按照上述調(diào)度來(lái)控制上述多個(gè)運(yùn)算流水線的運(yùn)算順序。
其次,參照?qǐng)D4說(shuō)明與第1實(shí)施例相關(guān)的圖像處理處理器內(nèi)執(zhí)行的程序的例子。圖4表示的是在此圖像處理內(nèi)核4內(nèi)可執(zhí)行的程序和它的調(diào)度實(shí)例。圖4(a)表示的是準(zhǔn)備執(zhí)行的DFG(Data Flow Grahp)。此DFG構(gòu)成了循環(huán)執(zhí)行一連串的運(yùn)算的的單位運(yùn)算。即,圖中的符號(hào)a0,a1,a2,b0,b2相當(dāng)于運(yùn)算流水線(FU)內(nèi)的各個(gè)運(yùn)算,一連串a(chǎn)0,a1,a2,b0,b2的運(yùn)算的集合就是單位運(yùn)算,連結(jié)單位運(yùn)算內(nèi)的各個(gè)運(yùn)算的縱橫條相當(dāng)于運(yùn)算流水線間的傳送,圖中上部的白圈表示輸入,下部的白圈表示輸出。
圖4(b)表示的是經(jīng)過(guò)調(diào)度后的單位運(yùn)算,a0,a1,a2可以由第1運(yùn)算流水線(FUa)17執(zhí)行,b0,b2可以由第2運(yùn)算流水線(FUb)18執(zhí)行,F(xiàn)U(a)17,F(xiàn)U(b)18可在每一時(shí)鐘執(zhí)行不同的指令。在此例子中,F(xiàn)U(a)17可在時(shí)鐘0執(zhí)行運(yùn)算a0、在時(shí)鐘2執(zhí)行運(yùn)算a1、在時(shí)鐘4執(zhí)行運(yùn)算a2。FU(b)可在時(shí)鐘1執(zhí)行運(yùn)算b0、在時(shí)鐘5執(zhí)行運(yùn)算b2。最大的時(shí)鐘是3,一個(gè)運(yùn)算流水線FU被設(shè)定為可在三個(gè)時(shí)鐘的時(shí)間內(nèi)執(zhí)行一個(gè)運(yùn)算。
圖4(b)關(guān)注的是對(duì)1組輸入數(shù)據(jù)而產(chǎn)生的一個(gè)單位運(yùn)算。在此一個(gè)單位運(yùn)算內(nèi)進(jìn)行的一連串的處理叫做代。執(zhí)行時(shí),按步輸入不同的輸入數(shù)據(jù)組,多個(gè)代的處理同時(shí)被執(zhí)行。圖4(c)表示的是其處理的形式,帶斜線的多個(gè)運(yùn)算是同一代k的單位運(yùn)算。
在圖4(c)中,單位運(yùn)算的第k代的運(yùn)算在與圖4(b)相同的時(shí)鐘下進(jìn)行,F(xiàn)U(a)17可在時(shí)鐘0執(zhí)行運(yùn)算a0k、在時(shí)鐘2執(zhí)行運(yùn)算a1k、在時(shí)鐘4執(zhí)行運(yùn)算a2k,F(xiàn)U(b)可在時(shí)鐘1執(zhí)行運(yùn)算b0k、在時(shí)鐘5執(zhí)行運(yùn)算b2k。在下一代k+1的單位運(yùn)算中,F(xiàn)U(a)17可在時(shí)鐘3執(zhí)行運(yùn)算a0k+1、在時(shí)鐘5執(zhí)行運(yùn)算a1k+1、在時(shí)鐘7執(zhí)行運(yùn)算a2k+1,F(xiàn)U(b)可在時(shí)鐘4執(zhí)行運(yùn)算b0k+1、在時(shí)鐘8執(zhí)行運(yùn)算b2k+1。
用圖5說(shuō)明單位運(yùn)算與各個(gè)運(yùn)算的關(guān)系。圖像處理處理器在對(duì)單位運(yùn)算1到單位運(yùn)算n的n個(gè)單位運(yùn)算按順序進(jìn)行處理的同時(shí),各單位運(yùn)算內(nèi)的運(yùn)算的順序也是相同的。因而,對(duì)多個(gè)運(yùn)算流水線的處理就有必要進(jìn)行調(diào)度從而對(duì)同一單位運(yùn)算內(nèi)的各個(gè)運(yùn)算不在同一個(gè)時(shí)鐘內(nèi)重疊進(jìn)行,同時(shí),還須進(jìn)行調(diào)度使相鄰單位運(yùn)算或有幾個(gè)間隔的單位運(yùn)算之間在同一流水線的同一時(shí)鐘內(nèi)的運(yùn)算不發(fā)生重疊。
即,控制器10進(jìn)行調(diào)度,即使構(gòu)成運(yùn)算流水線群的運(yùn)算流水線17,18接收外部提供的保存在上述存儲(chǔ)器中的一連串的數(shù)據(jù)的一部分,使用多個(gè)流水線17,18在上述運(yùn)算時(shí)間內(nèi)進(jìn)行由多個(gè)運(yùn)算構(gòu)成的單位運(yùn)算時(shí)控制運(yùn)算的順序,使得當(dāng)單位運(yùn)算有1到n(n是正整數(shù))個(gè)時(shí),不僅要使在第k個(gè)單位運(yùn)算內(nèi)的各運(yùn)算,與第k+1個(gè)及第k+2個(gè)單位運(yùn)算內(nèi)的各運(yùn)算在同一流水線的同一運(yùn)算時(shí)間不發(fā)生重疊,同時(shí),從k到n的(n-k+1)個(gè)單位運(yùn)算相互之間,各個(gè)運(yùn)算在同一流水線17或者18在同一運(yùn)算時(shí)間(時(shí)鐘)下也保證不發(fā)生重疊。
圖6((a))表示的是錯(cuò)位一個(gè)循環(huán)調(diào)度發(fā)生重疊的例子,圖6((b))表示的是錯(cuò)位三個(gè)循環(huán)調(diào)度發(fā)生重疊的例子。在圖6(a)表示的例1中,單位運(yùn)算中的運(yùn)算順序與圖4(a)的相同,如在時(shí)鐘0執(zhí)行運(yùn)算a0k、在時(shí)鐘1執(zhí)行運(yùn)算a1k、在時(shí)鐘2執(zhí)行運(yùn)算a2k...,執(zhí)行單位運(yùn)算。沒(méi)有象圖4(b)那樣,進(jìn)行調(diào)度,從而FUa在時(shí)鐘0、時(shí)鐘2、時(shí)鐘4進(jìn)行運(yùn)算,其間的時(shí)鐘1、時(shí)鐘3不進(jìn)行運(yùn)算,在連續(xù)時(shí)鐘下使用不同的流水線進(jìn)行并行運(yùn)算,單位運(yùn)算k的各個(gè)運(yùn)算,F(xiàn)Ua在時(shí)鐘0執(zhí)行運(yùn)算a0k、在時(shí)鐘2執(zhí)行運(yùn)算a1k、在時(shí)鐘4執(zhí)行運(yùn)算a2k,F(xiàn)Ub在時(shí)鐘1執(zhí)行運(yùn)算b0k、在時(shí)鐘3執(zhí)行運(yùn)算b2k。接著,若在一個(gè)循環(huán)的時(shí)鐘內(nèi)加以調(diào)度,進(jìn)行下一代的單位運(yùn)算k+1的話,F(xiàn)Ua在時(shí)鐘1執(zhí)行運(yùn)算a0k+1、在時(shí)鐘2執(zhí)行運(yùn)算a1k+1、在時(shí)鐘3執(zhí)行運(yùn)算a2k+1,F(xiàn)Ub在時(shí)鐘2執(zhí)行運(yùn)算b0k+1、在時(shí)鐘4執(zhí)行運(yùn)算b2k+1。這樣,如圖6(A)中斜線覆蓋的部分所表示的那樣,F(xiàn)Ua的時(shí)鐘1和時(shí)鐘2被調(diào)度為進(jìn)行兩個(gè)不同代的運(yùn)算,F(xiàn)Ua進(jìn)行的運(yùn)算在物定的時(shí)鐘下就會(huì)發(fā)生重疊。
另外,圖6(b)表示的是在對(duì)與圖4(a)相同的單位運(yùn)算按照?qǐng)D4(c)進(jìn)行同樣的調(diào)度后,把下一個(gè)單位運(yùn)算錯(cuò)位三個(gè)循環(huán)時(shí)的情形。此時(shí),單位運(yùn)算K按上述圖4(c)同樣的調(diào)度進(jìn)行,對(duì)于下一代的單位運(yùn)算k+1,F(xiàn)ua在時(shí)鐘3執(zhí)行運(yùn)算a0k+1、在時(shí)鐘5執(zhí)行運(yùn)算a1k+1、在時(shí)鐘7執(zhí)行運(yùn)算a2k+1,F(xiàn)ub在時(shí)鐘4執(zhí)行運(yùn)算b0k+1、在時(shí)鐘7執(zhí)行運(yùn)算b2k+1,運(yùn)算b2k與b0k+1就重疊了。另外,F(xiàn)Ub的K7下,運(yùn)算b2k+1與b0k+2也發(fā)生了重疊。為避免這樣的運(yùn)算重疊,按照?qǐng)D5說(shuō)明的那樣,在就單位運(yùn)算研究個(gè)別運(yùn)算是否發(fā)生沖突,然后按照?qǐng)D4C那樣進(jìn)行調(diào)度即可。
這樣,事先進(jìn)行調(diào)度后再讓運(yùn)算流水線動(dòng)作,就可以不浪費(fèi)每個(gè)時(shí)鐘、高效率地執(zhí)行多個(gè)運(yùn)算流水線的運(yùn)算,從而,就可簡(jiǎn)單地實(shí)現(xiàn)對(duì)運(yùn)算器及通信線路的有效控制。而且,由于對(duì)于各個(gè)運(yùn)算流水線已按時(shí)鐘確定了執(zhí)行的指令,只要按順序執(zhí)行對(duì)應(yīng)于每個(gè)時(shí)鐘的指令即可。
而且,圖4(a)(b)(c)所表示的圖像處理處理器所執(zhí)行的程序和其調(diào)度方法是一種例子,通過(guò)設(shè)置三個(gè)運(yùn)算流水線FU,就可在規(guī)定的時(shí)間內(nèi),把某個(gè)時(shí)鐘設(shè)為兩個(gè)循環(huán),反復(fù)進(jìn)行運(yùn)算。這個(gè)例子由圖7和圖8表示。圖7(a)所示的單位運(yùn)算按照?qǐng)D7(b)所示的進(jìn)行調(diào)度,按照?qǐng)D7(c)進(jìn)行運(yùn)算。運(yùn)算流水線是FUa0,F(xiàn)Ua1,F(xiàn)Ub三個(gè),圖4中流水線FUa的功能由FUa0,F(xiàn)Ua1兩個(gè)流水線替代,通過(guò)反復(fù)兩個(gè)時(shí)鐘實(shí)現(xiàn)與圖4相同的運(yùn)算處理。按照這樣,也可把運(yùn)算a0,a1,a2分配給兩個(gè)運(yùn)算器FUa0,F(xiàn)Ua1。
像圖4(b)(c)那樣,使用兩個(gè)運(yùn)算流水線進(jìn)行單位運(yùn)算的調(diào)度時(shí),例如單位運(yùn)算k的運(yùn)算是使用時(shí)鐘0到時(shí)鐘5六個(gè)時(shí)鐘來(lái)進(jìn)行的,像圖7(b)(c)表示的那樣,使用三個(gè)運(yùn)算流水線進(jìn)行單位運(yùn)算的調(diào)度時(shí),同樣的單位運(yùn)算k使用時(shí)鐘2到時(shí)鐘4的三個(gè)時(shí)鐘就可做完,只增加了一個(gè)運(yùn)算流水線,就可用一半的循環(huán)完成一個(gè)單位運(yùn)算。
另外,與圖7一樣,把運(yùn)算a0,a1,a2分配給兩個(gè)運(yùn)算器FUa0,F(xiàn)Ua1的同時(shí),分別在運(yùn)算流水線FUa0,F(xiàn)Ub內(nèi)進(jìn)行的運(yùn)算a0,a1及運(yùn)算b0,b1之間設(shè)定兩個(gè)時(shí)鐘以上間隔的事例是由圖8ABC表示的。即使在增加了一個(gè)運(yùn)算流水線,把一側(cè)的運(yùn)算流水線的一個(gè)時(shí)鐘設(shè)定為兩個(gè)的情形下,一個(gè)單位運(yùn)算即可像圖7(a)(b)(c)表示的那樣用四個(gè)時(shí)鐘完成,也可像圖8(a)(b)(c)表示的那樣,在六個(gè)時(shí)鐘內(nèi)進(jìn)行運(yùn)算。
而且,為使運(yùn)算按圖8所示方式進(jìn)行,單位運(yùn)算k+1內(nèi)的運(yùn)算b0先于單位運(yùn)算k內(nèi)的運(yùn)算b1被執(zhí)行。這樣,后執(zhí)行的單位運(yùn)算內(nèi)的運(yùn)算可先于在先的單位運(yùn)算內(nèi)的運(yùn)算被執(zhí)行。與圖7相比,圖8所示例子的特征就是可以進(jìn)行象這樣的變更運(yùn)算的順序的調(diào)度。
切換通道15的控制是按每個(gè)通道(1R/1W/RAM)來(lái)進(jìn)行的,具體地說(shuō),每個(gè)通道都確定了讀出地址,寫(xiě)入地址.圖9表示的就是決定這個(gè)通道地址的動(dòng)作.例如,讀出/寫(xiě)入地址是按下述方式?jīng)Q定設(shè)N表示的是表示存儲(chǔ)器地址數(shù)的入口數(shù)基本地址=(代計(jì)數(shù)值*通道重復(fù)度(Channel)mod N讀出地址=(基本地址+讀出偏移(Ch,phase)mod N寫(xiě)入地址=(基本地址+寫(xiě)入偏移(Ch,phase)mod N在此,代計(jì)數(shù)值是每到時(shí)鐘0被計(jì)數(shù)出的值,因基本地址是模N的值,基本地址可以通過(guò)在每個(gè)時(shí)鐘0每個(gè)通道重復(fù)度被計(jì)數(shù)的模N的計(jì)數(shù)器(循環(huán)計(jì)數(shù)器)來(lái)實(shí)現(xiàn),稱之為基本地址計(jì)數(shù)器.
通道重復(fù)度是指一個(gè)通道上可嵌入的表示單位運(yùn)算上的不同數(shù)據(jù)的分枝的值(自然數(shù)),按每個(gè)通道決定。讀出、寫(xiě)入偏移按各個(gè)通道/各時(shí)鐘確定。因而,每個(gè)通道的控制電路是通過(guò)基本計(jì)數(shù)器,在每個(gè)時(shí)鐘把讀出/寫(xiě)入偏移從表中讀出,將基本地址的值和模進(jìn)行加法運(yùn)算的電路來(lái)實(shí)現(xiàn)的。
圖9和圖10的框圖表示的是圖1至圖3的控制器的具體例子。圖9表示的是基本地址和步數(shù)mod N相等的情形下的地址計(jì)數(shù)器的功能構(gòu)成。在圖9中,步數(shù)被輸入到時(shí)鐘生成電路21和模N電路23,加法器26及27分別根據(jù)基于時(shí)鐘生成電路21的輸出從偏移存儲(chǔ)器22讀出的偏移和根據(jù)模N電路23的輸出,輸出讀出地址和寫(xiě)入地址。
圖10表示的是在決定代時(shí),根據(jù)步數(shù)除以時(shí)鐘數(shù)得到的商來(lái)求出基本地址的例子。例如圖形每2步被執(zhí)行一次時(shí),兩個(gè)循環(huán)周期就被分別計(jì)數(shù)。偏移按照與圖8所舉例子同樣的方法被求出,基本地址根據(jù)重復(fù)度寄存器24的輸出和被輸入的步數(shù)由基本地址生成電路25輸出。這里,基本地址按照“基本地址=代*基本地址步幅mod N”被求出,被求出的地址與圖9一樣由加法器26及27輸出。
加法器26及27分別對(duì)偏移存儲(chǔ)器22輸出的偏移和基本地址進(jìn)行加法運(yùn)算,分別輸出讀出地址及寫(xiě)入地址。根據(jù)這一基于圖9的例子的地址生成電路,可以使基本地址步幅比時(shí)鐘數(shù)小,因此,比圖9所示的基本地址生成電路可以更加有效地利用存儲(chǔ)器。
圖11表示的是通過(guò)增加運(yùn)算器的功能削減分枝數(shù)目的例子。此圖11表示的是對(duì)圖像數(shù)據(jù)的4個(gè)像素進(jìn)行混合處理的情形,“a”表示的是象素的讀出動(dòng)作,“b”表示的是象素的運(yùn)算動(dòng)作,“c”表示的是把4個(gè)象素讀出后一起進(jìn)行象素運(yùn)算的動(dòng)作。如果按照這一動(dòng)作的示例,空心箭頭的左側(cè)有11個(gè)分枝,右側(cè)就成為2個(gè)了。
這樣,通過(guò)增加運(yùn)算器的功能來(lái)削減分枝數(shù)目,就可縮小縱橫條或通道的規(guī)模。通過(guò)使用這樣的構(gòu)成,可以用于后述的帶有過(guò)濾功能的多個(gè)象素讀出電路等。另外,還可適用于SIND Mul Add及SINDMulMul Add等譯碼運(yùn)算器上。
本發(fā)明的圖像處理裝置可以采取多個(gè)圖像處理內(nèi)核并列的結(jié)構(gòu)。這是在一個(gè)半導(dǎo)體芯片上排列多個(gè)圖像處理內(nèi)核的結(jié)構(gòu),集成多個(gè)圖像處理內(nèi)核可以提高線性性能。即使是圖像處理內(nèi)核單體也具有可執(zhí)行一定程序的自由規(guī)模的單位運(yùn)算的可縮放性,所以,即使圖像處理內(nèi)核間的連接不緊密,也可執(zhí)行一定程序的自由規(guī)模的單位運(yùn)算。因?yàn)閳D像處理內(nèi)核本身就是流水線化的運(yùn)算器,可以每個(gè)循環(huán)周期或者數(shù)個(gè)循環(huán)周期對(duì)一次吞吐量來(lái)進(jìn)行運(yùn)算,可作為以往的圖像處理處理器的運(yùn)算流水線來(lái)使用圖像處理內(nèi)核。
本發(fā)明的圖像處理裝置,如前面所述的,使用了在執(zhí)行運(yùn)算前事先對(duì)單位運(yùn)算內(nèi)的各運(yùn)算的處理流程進(jìn)行調(diào)度的概念。圖4(a)中,表示了運(yùn)算的內(nèi)容,但這些運(yùn)算內(nèi)容表示的不是構(gòu)成裝置的運(yùn)算流水線的個(gè)數(shù)。因而,本發(fā)明不局限于可執(zhí)行a0,a1,a2運(yùn)算的流水線是一個(gè)還是二個(gè)。可以說(shuō)圖4(A)表示的是各運(yùn)算的假想運(yùn)算流水線。
預(yù)先把調(diào)度前的單位運(yùn)算作為程序加以分配,執(zhí)行時(shí)在了解了裝置的具體構(gòu)成后,再進(jìn)行詳細(xì)的調(diào)度,這樣,就可使程序成為獨(dú)立于裝置結(jié)構(gòu)的構(gòu)成?;诖烁拍畹漠a(chǎn)物就是上述第2構(gòu)成的編譯程序。這樣,即使改變裝置的構(gòu)成也可執(zhí)行同一程序。具體地說(shuō),就可使運(yùn)算流水線的數(shù)目、運(yùn)算流水線的吞吐量、等待時(shí)間的變更成為可能。
相對(duì)于具有鏈接功能的以往的圖像處理處理器中的運(yùn)算流水線間的連接受到限制這一點(diǎn),本發(fā)明的第1基本構(gòu)成的圖像處理裝置,只要運(yùn)算流水線數(shù)目、通道數(shù)目在許可的范圍內(nèi),可執(zhí)行任意的DAG狀的數(shù)據(jù)流程序,就可以削減加載/存儲(chǔ)次數(shù)。
進(jìn)一步,因?yàn)閷?duì)運(yùn)算流水線的調(diào)度是在每個(gè)單位運(yùn)算前事先進(jìn)行的,可使控制電路簡(jiǎn)單化。雖然在具有同樣功能的SIM D型處理器中也可通過(guò)軟件流水線化來(lái)實(shí)現(xiàn),但是在SIM D型處理器內(nèi)實(shí)現(xiàn)時(shí),因寄存器文件需要相當(dāng)于運(yùn)算單元的總輸入數(shù)目的輸入端口和相當(dāng)于運(yùn)算單元的總輸出數(shù)目的輸出端口(通道數(shù)目×通道平均深度)個(gè)以上的寄存器個(gè)數(shù)等,就成為一個(gè)大規(guī)模的裝置,還是本方案有優(yōu)勢(shì)。
把通道的輸出通路設(shè)置為多播,輸入集合和輸出集合間采用沒(méi)有重疊的單方向的縱橫條的結(jié)構(gòu)時(shí),執(zhí)行數(shù)據(jù)流程序時(shí),把同一個(gè)數(shù)據(jù)向同一步的下一步進(jìn)行傳送的多個(gè)通道綜合起來(lái),可用一個(gè)通道和通道輸出通信通路的多指向來(lái)代替。因此,就可削減執(zhí)行同一數(shù)據(jù)流程序所需要的通道數(shù)目,可使裝置的規(guī)??s小。用同一通道數(shù)目可實(shí)現(xiàn)的數(shù)據(jù)流圖形(DFG=單位運(yùn)算)的規(guī)模變大,可削減裝入/存儲(chǔ)次數(shù)。
構(gòu)成通道群的通道是由隨機(jī)訪問(wèn)存儲(chǔ)器構(gòu)成的,并且此隨機(jī)訪問(wèn)存儲(chǔ)器是按照能夠在每一步向任意地址寫(xiě)入一個(gè)數(shù)據(jù)和從任意地址讀出一個(gè)數(shù)據(jù)構(gòu)成時(shí),在執(zhí)行數(shù)據(jù)流程序時(shí),就可把同一個(gè)數(shù)據(jù)向不同的下一步傳送的多個(gè)通道綜合起來(lái),用一個(gè)通道代替??梢钥s小裝置規(guī)模,削減加載/存儲(chǔ)次數(shù)。
控制電路的構(gòu)成具有能夠進(jìn)行控制從而通過(guò)設(shè)置在運(yùn)算流水線內(nèi)的通信線路進(jìn)行同一流水線間的傳送的功能時(shí),就可削減通道的使用次數(shù),在縮小裝置規(guī)模,削減加載/存儲(chǔ)次數(shù)方面有特殊效果。圖12表示的是可削減通道的例子。
通過(guò)FIFO(先進(jìn)先出)電路實(shí)現(xiàn)這樣的構(gòu)成,上述的功能就可通過(guò)簡(jiǎn)單的裝置加以實(shí)現(xiàn)。與上述構(gòu)成相比,削減通道使用數(shù)的條件雖然有些嚴(yán)格,通過(guò)在編譯時(shí)調(diào)度指令以減少通道,就可有效地削減使用通道數(shù)。圖13表示的是運(yùn)算流水線的例子。
圖13中,F(xiàn)IFO電路30具有,例如將通過(guò)圖2及圖3的內(nèi)部總線16提供的圖像數(shù)據(jù)進(jìn)行乘法運(yùn)算的乘法器31,以乘法器31的輸出作為一側(cè)的輸入的加法器32,接受加法器32的輸出通過(guò)先進(jìn)先出的動(dòng)作按輸入的順序輸出的先進(jìn)先出部(FIFO)33,對(duì)此FIFO部33的輸出和通過(guò)內(nèi)部總線16輸入的比如地址信息等進(jìn)行合成處理后加以輸出的控制器10,加法器32的另一側(cè)的輸入是由控制器10的輸出提供的。
這個(gè)例子是進(jìn)行MUL-ADD(a+b×c)運(yùn)算的流水線,但設(shè)置有把運(yùn)算結(jié)果返送給輸入a的通道。多個(gè)運(yùn)算流水線包含有對(duì)圖像的顏色進(jìn)行運(yùn)算的運(yùn)算流水線時(shí),通過(guò)在圖形圖像處理器里采用本裝置,就可以較少的加載/存儲(chǔ)次數(shù)來(lái)執(zhí)行圖形圖像處理器常常要做的復(fù)雜的DAG。
最后,用圖14的流程圖說(shuō)明與本發(fā)明的第3構(gòu)成相關(guān)的圖像處理方法的實(shí)施例。圖14中,在步驟ST1,向構(gòu)成對(duì)輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線的各個(gè)運(yùn)算流水線提供由外部供給的上述圖像數(shù)據(jù)中的至少一部分。
其次,在步驟ST2,由多個(gè)運(yùn)算組成的單位運(yùn)算被加以調(diào)度,以保證從1到n的n個(gè)單位運(yùn)算中的由單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算在同一流水線中同一運(yùn)算時(shí)間里不互相重疊。這一單位運(yùn)算的具體例子如圖4(a)所示。
再次,如圖14中步驟ST3那樣,上述圖像數(shù)據(jù)的運(yùn)算遵照步驟ST2進(jìn)行的調(diào)度被加以控制。根據(jù)以上各步進(jìn)行圖像處理。
如以上所做的詳細(xì)說(shuō)明,發(fā)明可以提供具有以下功能的圖像處理裝置和方法及用于此裝置的編譯程序,即,在處理關(guān)于圖像的形狀或色彩的大量數(shù)據(jù)時(shí),通過(guò)事先對(duì)訪問(wèn)一次存儲(chǔ)器讀出的應(yīng)該處理的數(shù)據(jù)進(jìn)行調(diào)度后由并行處理運(yùn)算部分進(jìn)行處理,可以實(shí)現(xiàn)在以各種各樣的處理為對(duì)象的圖像處理運(yùn)算過(guò)程中,削減路徑數(shù)進(jìn)行高效率處理的同時(shí),還可降低往存儲(chǔ)器的加載/存儲(chǔ)次數(shù)。另外,因?yàn)檫\(yùn)算流水線的調(diào)度是在每個(gè)單位運(yùn)算前事先進(jìn)行的,所以就可簡(jiǎn)單地實(shí)現(xiàn)圖像處理裝置的控制電路的構(gòu)成。
權(quán)利要求
1.一種圖像處理裝置,具有對(duì)輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線,為了把上述多個(gè)運(yùn)算流水線輸出的運(yùn)算結(jié)果再次輸入到上述多個(gè)運(yùn)算流水線而進(jìn)行數(shù)據(jù)傳送路徑切換的切換通道,控制上述切換通道進(jìn)行的把上述數(shù)據(jù)傳送路徑進(jìn)行切換及在上述多個(gè)運(yùn)算流水線進(jìn)行的運(yùn)算的控制電路,上述控制電路進(jìn)行調(diào)度,從而在上述多個(gè)運(yùn)算流水線執(zhí)行由多個(gè)運(yùn)算組成的單位運(yùn)算時(shí),構(gòu)成從1到n(n為正整數(shù))的單位運(yùn)算中的由單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算的上述多個(gè)運(yùn)算在同一流水線中同一運(yùn)算時(shí)間里不互相重疊。
2.如權(quán)利要求1所述的圖像處理裝置,還具有,存儲(chǔ)上述圖像數(shù)據(jù)的存儲(chǔ)器裝置;進(jìn)行包含有圖像處理的規(guī)定的信息處理的中央處理裝置(CPU);連接圖像數(shù)據(jù)的輸入輸出部的同時(shí)還與上述存儲(chǔ)器裝置相連接的橋;作為上述CPU及上述橋之間的數(shù)據(jù)發(fā)送接收媒介的系統(tǒng)總線;保持上述圖像數(shù)據(jù)的一部分的寄存器。
3.如權(quán)利要求1所述的圖像處理裝置上述多個(gè)流水線和上述切換通道和前控制電路分別被設(shè)置在一個(gè)圖像處理內(nèi)核內(nèi),同時(shí)上述圖像處理內(nèi)核還設(shè)置有多個(gè),各圖像處理內(nèi)核還具有存儲(chǔ)單元,第1加載單元,分別進(jìn)行象素運(yùn)算的多個(gè)運(yùn)算流水線。
4.如權(quán)利要求3所述的圖像處理裝置上述各圖像處理內(nèi)核具有供給外部來(lái)的指令的內(nèi)部總線;接收被分配到的通過(guò)內(nèi)部總線傳來(lái)的指令在上述規(guī)定的運(yùn)算時(shí)間的每個(gè)時(shí)鐘執(zhí)行運(yùn)算的上述多個(gè)運(yùn)算流水線;在上述每個(gè)時(shí)鐘把上述運(yùn)算流水線的輸出送到任意通道并在每個(gè)時(shí)鐘把任意通道的輸出送到任意的運(yùn)算流水線的輸入的縱橫條及由通道群組成的上述切換通道。
5.如權(quán)利要求1所述的圖像處理裝置作為上述單位運(yùn)算的數(shù)據(jù)流圖形(DFG)由分配給上述多個(gè)運(yùn)算流水線的各運(yùn)算構(gòu)成,上述多的運(yùn)算流水線受上述控制電路的控制對(duì)構(gòu)成多個(gè)單位運(yùn)算的各運(yùn)算在每個(gè)時(shí)鐘進(jìn)行調(diào)度加以處理。
6.如權(quán)利要求1所述的圖像處理裝置上述控制電路進(jìn)行調(diào)度,以控制上述多個(gè)運(yùn)算流水線的處理,從而使作為上述同一運(yùn)算時(shí)間的每個(gè)時(shí)鐘內(nèi),構(gòu)成同一個(gè)上述單位運(yùn)算的各運(yùn)算在同一個(gè)運(yùn)算流水線內(nèi)不發(fā)生重疊,并且使相鄰單位運(yùn)算或有幾個(gè)間隔的單位運(yùn)算在同一時(shí)鐘內(nèi)各運(yùn)算也不發(fā)生重疊。
7.如權(quán)利要求6所述的圖像處理裝置上述控制電路控制運(yùn)算流水線的調(diào)度,從而至少使用3個(gè)運(yùn)算流水線運(yùn)算1個(gè)單位運(yùn)算,且以使用兩個(gè)運(yùn)算流水線進(jìn)行運(yùn)算時(shí)的一半的時(shí)鐘周期內(nèi)進(jìn)行處理。
8.如權(quán)利要求6所述的圖像處理裝置上述控制電路調(diào)換運(yùn)算的順序,對(duì)調(diào)度進(jìn)行控制,從而至少使用3個(gè)運(yùn)算流水線處理上述單位運(yùn)算,以在單位運(yùn)算k的各運(yùn)算之前先進(jìn)行單位運(yùn)算k+1內(nèi)的各運(yùn)算。
9.如權(quán)利要求1所述的圖像處理裝置上述控制電路具有,輸入作為生成上述規(guī)定運(yùn)算時(shí)間的時(shí)鐘的基礎(chǔ)的步數(shù)以生成進(jìn)行規(guī)定運(yùn)算的上述時(shí)鐘的時(shí)鐘生成電路;把上述時(shí)鐘生成電路輸出的上述時(shí)鐘作為偏移加以存放的偏移存放存儲(chǔ)器;輸入上述步數(shù)進(jìn)行模加法運(yùn)算的模N電路;把上述偏移存儲(chǔ)器輸出的偏移和上述模N電路的輸出相加生成讀出地址的第1加法器;把上述偏移和上述模N電路的輸出相加生成寫(xiě)入地址的第2加法器。
10.如權(quán)利要求1所述的圖像處理裝置上述控制電路具有,輸入用于生成作為上述規(guī)定運(yùn)算時(shí)間的時(shí)鐘的基礎(chǔ)的步數(shù)以生成進(jìn)行規(guī)定的運(yùn)算的上述時(shí)鐘的時(shí)鐘生成電路;把上述時(shí)鐘生成電路輸出的上述時(shí)鐘作為偏移加以存放的偏移存放存儲(chǔ)器;記憶重復(fù)度的重復(fù)度寄存器;根據(jù)上述步數(shù)和上述重復(fù)度生成決定代的基本地址的基本地址生成電路;把上述偏移和上述基本地址相加生成讀出地址的第1加法器;把上述偏移和上述基本地址相加生成寫(xiě)入地址的第2加法器。
11.權(quán)利要求1所述的圖像處理裝置上述控制電路具有使用設(shè)置在運(yùn)算流水線內(nèi)的通信線路進(jìn)行上述多個(gè)運(yùn)算流水線內(nèi)的同一流水線間的數(shù)據(jù)傳送的功能,該通信線路由FIFO電路構(gòu)成,該FIFO電路具有對(duì)輸入的圖像數(shù)據(jù)進(jìn)行乘法運(yùn)算的乘法器,以這個(gè)乘法器的輸出作為一個(gè)輸入的加法器,接受加法器的輸出以先進(jìn)先出的動(dòng)作按照輸入的順序加以輸出的先進(jìn)先出(FIFO)部,把包含地址信息的信號(hào)與該FIFO部的輸出加以合成處理并提供給上述加法器作為其另一輸入的控制器。
12.一種用于圖像處理裝置的編譯程序,該圖像處理裝置具有對(duì)輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線,為了把上述多個(gè)運(yùn)算流水線輸出的運(yùn)算結(jié)果再次輸入到上述多個(gè)運(yùn)算流水線而對(duì)數(shù)據(jù)傳送路徑進(jìn)行切換的切換通道,對(duì)上述切換通道進(jìn)行的上述數(shù)據(jù)傳送路徑的切換及在上述多個(gè)運(yùn)算流水線內(nèi)的運(yùn)算進(jìn)行控制的控制電路,該編譯程序包含如下控制,使得構(gòu)成上述多個(gè)運(yùn)算流水線的各個(gè)運(yùn)算流水線分別接受由外部提供的上述圖像數(shù)據(jù)的一部分,為了保證由多個(gè)運(yùn)算構(gòu)成的從1到n(n是正整數(shù))的n個(gè)單位運(yùn)算中的從單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算中構(gòu)成該(n-k+1)個(gè)單位運(yùn)算的上述多個(gè)運(yùn)算在同一流水線中的同一運(yùn)算時(shí)間里不重疊而進(jìn)行調(diào)度,按上述調(diào)度來(lái)控制上述多個(gè)運(yùn)算流水線的運(yùn)算順序。
13.如權(quán)利要求12所述的用于圖像處理裝置的編譯程序,進(jìn)一步包含如下控制,即控制上述多個(gè)運(yùn)算流水線的處理,從而為了保證作為上述同一運(yùn)算時(shí)間的每個(gè)時(shí)鐘內(nèi)構(gòu)成同一個(gè)上述單位運(yùn)算的各個(gè)運(yùn)算在同一運(yùn)算流水線內(nèi)不重疊而對(duì)其進(jìn)行調(diào)度,還調(diào)度相鄰單位運(yùn)算及有幾個(gè)間隔的單位運(yùn)算使在同一時(shí)鐘內(nèi)各運(yùn)算不發(fā)生重疊。
14.如權(quán)利要求13所述的用于圖像處理裝置的編譯程序還包含如下控制,即控制運(yùn)算流水線的調(diào)度從而至少使用3個(gè)運(yùn)算流水線對(duì)一個(gè)單位運(yùn)算進(jìn)行運(yùn)算,以在使用2個(gè)運(yùn)算流水線進(jìn)行運(yùn)算時(shí)所用的一半的時(shí)鐘周期內(nèi)完成處理。
15.如權(quán)利要求13所述的圖像處理裝置,還包含如下控制,即調(diào)換運(yùn)算的順序,控制調(diào)度,從而至少使用3個(gè)運(yùn)算流水線對(duì)上述單位運(yùn)算進(jìn)行處理,使單位運(yùn)算k+1的各個(gè)運(yùn)算先于單位運(yùn)算k的各個(gè)運(yùn)算被執(zhí)行。
16.一種圖像處理方法,其特征在于具有如下步驟向構(gòu)成對(duì)輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的構(gòu)成多個(gè)運(yùn)算流水線的各個(gè)運(yùn)算流水線供給外部供給的上述圖像數(shù)據(jù)的一部分,為了保證由多個(gè)運(yùn)算構(gòu)成的從1到n(n是正整數(shù))的n個(gè)單位運(yùn)算中的構(gòu)成單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-k+1)個(gè)單位運(yùn)算的上述多個(gè)運(yùn)算在同一流水線中的同一運(yùn)算時(shí)間里不重疊而進(jìn)行調(diào)度,按上述調(diào)度來(lái)控制上述圖像數(shù)據(jù)的運(yùn)算。
17.如權(quán)利要求16所述的圖像處理方法,其特征在于至少在上述圖像數(shù)據(jù)輸入后到被調(diào)度為止的期間,至少存儲(chǔ)其一部分。
18.如權(quán)利要求16所述的圖像處理方法,還包含如下控制,即在上述調(diào)度時(shí)控制上述多個(gè)運(yùn)算流水線的處理,從而為了保證作為上述同一運(yùn)算時(shí)間的每個(gè)時(shí)鐘內(nèi)構(gòu)成同一個(gè)上述單位運(yùn)算的各個(gè)運(yùn)算在同一運(yùn)算流水線內(nèi)不重疊而對(duì)其進(jìn)行調(diào)度,并且還進(jìn)行調(diào)度從而相鄰單位運(yùn)算或有幾個(gè)間隔的單位運(yùn)算在同一時(shí)鐘內(nèi)各個(gè)運(yùn)算不發(fā)生重疊。
19.權(quán)利要求18所述的圖像處理方法,其特征還在于在進(jìn)行上述調(diào)度時(shí),控制運(yùn)算流水線的調(diào)度,從而至少使用3個(gè)運(yùn)算流水線對(duì)一個(gè)單位運(yùn)算進(jìn)行運(yùn)算,以在使用2個(gè)運(yùn)算流水線進(jìn)行運(yùn)算時(shí)所用的一半的時(shí)鐘周期內(nèi)完成處理。
20.如權(quán)利要求18所述的圖像處理方法,其特征還在于在進(jìn)行上述調(diào)度時(shí),調(diào)換運(yùn)算的順序控制調(diào)度以做到,至少使用3個(gè)運(yùn)算流水線對(duì)上述單位運(yùn)算進(jìn)行運(yùn)算,以使單位運(yùn)算k+1的各個(gè)運(yùn)算先于單位運(yùn)算k的各個(gè)運(yùn)算被執(zhí)行。
全文摘要
一種圖像處理裝置,具有對(duì)輸入的圖像數(shù)據(jù)進(jìn)行運(yùn)算的多個(gè)運(yùn)算流水線,為了把上述多個(gè)運(yùn)算流水線輸出的運(yùn)算結(jié)果再次輸入到上述多個(gè)運(yùn)算流水線而對(duì)數(shù)據(jù)傳送路徑進(jìn)行切換的切換通道,對(duì)上述切換通道進(jìn)行的上述數(shù)據(jù)傳送路徑的切換及在上述多個(gè)運(yùn)算流水線內(nèi)的運(yùn)算進(jìn)行控制的控制電路;上述控制電路進(jìn)行調(diào)度,從而,在上述多個(gè)運(yùn)算流水線內(nèi)執(zhí)行由多個(gè)運(yùn)算構(gòu)成的單位運(yùn)算時(shí),構(gòu)成由從1到n(n是正整數(shù))的單位運(yùn)算中的單位運(yùn)算k(1<k<n)到單位運(yùn)算n的(n-1+1)個(gè)單位運(yùn)算的上述多個(gè)運(yùn)算在同一運(yùn)算流水線中的同一運(yùn)算時(shí)間里不重疊。
文檔編號(hào)G06T1/20GK1434380SQ0212178
公開(kāi)日2003年8月6日 申請(qǐng)日期2002年5月31日 優(yōu)先權(quán)日2002年1月22日
發(fā)明者檜田和浩, 齋藤敬弘, 齋藤誠(chéng)一郎 申請(qǐng)人:株式會(huì)社東芝
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1