專利名稱:基于多層次并行處理的視覺處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視覺處理技術(shù)領(lǐng)域,尤其涉及一種基于多層次并行處理的視覺處理裝置,用于靈活高速地可以實現(xiàn)各種圖像處理任務(wù)。
背景技術(shù):
圖像處理技術(shù)廣泛應(yīng)用于軍事、工業(yè)、民用領(lǐng)域,如目標(biāo)追蹤、人臉識別、步態(tài)識另O、手勢識別、機器人視覺等。如何實現(xiàn)高速實時圖像處理是科技發(fā)展中的一個重要問題。圖像處理具有大數(shù)據(jù)量、大運算量的特點,即便是處理能力極強的個人電腦,針對一些圖像處理任務(wù)也無法達到實時性的應(yīng)用要求。大型計算機處理能力強大,可以一定程度上提高實時性,但是其功耗大、體積大、無法攜帶。因此,在實際應(yīng)用中還缺少同時具有高實時性、低功耗、處理能力強的圖像處理硬件構(gòu)架。隨著近年來信息技術(shù)的快速發(fā)展,利用大規(guī)模高性能現(xiàn)場可編程門陣列(FPGA),數(shù)字信號處理器(DSP)以及嵌入式處理器的硬件系統(tǒng)正成為研究熱點,然而受制于傳統(tǒng)的體系構(gòu)架,仍然很難在處理能力、功耗、實時各方面達到平衡。
發(fā)明內(nèi)容
(一 )要解決的技術(shù)問題針對以上的問題,本發(fā)明提供了一種基于多層次并行處理的視覺處理裝置,通過多層次的并行設(shè)計構(gòu)架,有效提高系統(tǒng)的靈活性以及處理能力,從而實現(xiàn)高速實時、低功耗、多線程圖像處理任務(wù)。( 二 )技術(shù)方案為達到上述目的,本發(fā)明提供了一種基于多層次并行處理的視覺處理裝置,該裝置包括用于采集現(xiàn)實世界圖像信號的高速圖像傳感器陣列模塊;用于傳輸采集的現(xiàn)實世界圖像信號的圖像輸入模塊;用于接收圖像輸入模塊輸入的現(xiàn)實世界圖像信號并進行低級圖像處理的低級并行處理單元陣列10 ;用于對低級并行處理單元陣列10處理后的信號進行中級運算處理的中級處理單元陣列11;用于對中級處理單元陣列11處理后的信號進行高級運算處理的高級并行處理單元陣列12 ;用于對高、中、低級并行處理單元陣列進行控制的陣列控制器13 ;用于進行系統(tǒng)控制及圖像處理線程調(diào)度的精簡指令集處理器子系統(tǒng)14 ;以及用于輸出圖像特征的圖像處理結(jié)果輸出模塊。(三)有益效果本發(fā)明提出的基于多層次并行處理的視覺處理裝置,包括低級二維處理單元陣列10和中、高級并行處理單元陣列11、12,陣列控制器13、RISC子系統(tǒng)14和陣列控制器15,其中每個低級二維處理單元由算術(shù)邏輯部件和存儲器組成,并且可以同時進行圖像載入和簡單的低級圖像處理任務(wù);每個低級處理單元可以向鄰近的低級處理單元傳輸數(shù)據(jù)或者接收數(shù)據(jù)。中級處理單元陣列和高級處理單元陣列具有不同的運算能力、不用的并行度。中級處理單元陣列具有較高的并行度,但是較弱的運算能力,高級并行處理單元陣列具有較強的運算能力,但是并行度較低。每個級別中若干個處理單元由硬件劃分為一個組塊,每個組塊分別接收一個上一級別的處理單元發(fā)來的指令。該設(shè)計方案中層次化的并行處理陣列,在保證圖像處理任務(wù)中的并行度的前提下,使得系統(tǒng)具有更高的靈活性,可以實現(xiàn)多線程處理,并且更好的和不同并行度不同計算復(fù)雜度的圖像處理任務(wù)進行耦合,從而大大提高整個系統(tǒng)的處理速度,使該構(gòu)架可以應(yīng)用于各種圖像處理任務(wù)之中。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面對實施例描述中的附圖進行簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來說,在不付出任何創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。圖1是本發(fā)明提出的基于多層次并行處理的視覺處理裝置的結(jié)構(gòu)示意圖;圖2是圖1中低級處理單元的結(jié)構(gòu)示意圖;圖3是圖1中的中級處理單元的結(jié)構(gòu)示意圖;圖4是圖1中高級處理單元的結(jié)構(gòu)示意圖;圖5是圖1中陣列控制器的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。如圖1所示為基于多層次并行處理的視覺處理裝置的結(jié)構(gòu)示意圖,該視覺處理裝置包含有用于采集物理信號的一個圖像處理器,一個用于傳輸圖像數(shù)據(jù)的圖像輸入模塊,多個不同并行度以及計算能力的并行處理陣列10、11、12用于對圖像進行低、中、高級處理、以及精簡指令集處理器子系統(tǒng)14。在具有單周期多指令執(zhí)行能力的低級并行處理單元陣列的支持下,該視覺處理裝置可以在處理某一幀圖像的同時讀入下一幀圖像,掩蓋了圖像傳感器陣列的曝光時間。中、高級并行處理單元并行度逐級降低,運算能力逐級升高,可以應(yīng)對不同的圖像處理任務(wù)。精簡指令集處理器子系統(tǒng)對整個視覺處理裝置進行有效的管理、硬件資源分配,使系統(tǒng)性能達到最佳。圖1中的低級并行處理陣列10,是包含有呈二維陣列排列的多個低級處理器單元100組成的。圖1中的多個低級并行處理單元又構(gòu)成組塊101,整個低級處理單元陣列被分成了若干組塊,這樣的分組方式將處理器陣列分成了若干組,任何組塊均接收來自中級處理單元的指令,在進行圖像處理的時候,組與組之間相互獨立又聯(lián)系。同時,該陣列支持單周期雙指令執(zhí)行,能夠同時進行圖像載入、處理任務(wù)。該陣列可以存儲一幅或者多幅圖像,每一個處理單元對應(yīng)圖像的一個像素或者多個像素。通過將復(fù)雜的多位數(shù)學(xué)運算或者邏輯運算分解成為多個簡單的較少位數(shù)的數(shù)學(xué)運算或邏輯運算,每個處理單元可以在多個周期內(nèi)完成任意位數(shù)的數(shù)學(xué)運算和邏輯運算。每個處理單元的數(shù)據(jù)可以與其上下左右的數(shù)據(jù)進行交互。因為將并行處理陣列分成了多個組,使其每個組進行獨立的圖像任務(wù)處理,使系統(tǒng)的靈活性大大提高。如在本實施例中要處理兩幅圖像,當(dāng)?shù)讓硬⑿刑幚韱卧诶眠壿嬤\算部件20和存儲器22處理第N幅圖像的時候,在其單周期雙指令能力的支持下,第N+1幅圖像被載入到移位寄存器21中,掩蓋了圖像傳感器的曝光時間。處理單元陣列中各個單元首先執(zhí)行一樣的指令,進行諸如濾波、邊緣檢測等低級圖像處理任務(wù)。處理單元在完成8位的加法運算的時候,將8位的運算分解成8次I位的加法運算和一次進位操作,共九次完成。該處理單元陣列利用分組的方式,將并行陣列分割成為多個獨立的組塊,每一組由一個中級處理單元控制,這樣的方式允許該并行陣列對圖像進行分塊并行處理。如在本實施例中低層處理單元陣列為64 X 64,每8 X 8個低層處理單元被劃分為一個組塊,整個陣列被劃分為了 64個組塊,分別對應(yīng)64個中級處理單元。如圖2所示為低級處理單元的結(jié)構(gòu)示意圖,該低級處理單元包括處理位數(shù)為R的算術(shù)邏輯部件(ALU) 20,可以實現(xiàn)求和,求或,求與求非等算術(shù)邏輯操作,一個臨時寄存器23用于臨時存儲算術(shù)邏輯部件20運算的結(jié)果,并作為可能的操作數(shù)2輸入至多路選擇器25。一個靜態(tài)隨機存儲器22用于存儲圖像處理任務(wù)需要使用的變量以及結(jié)果,并作為可能的操作數(shù)I輸入至多路選擇器24。第一個多路選擇器24和第二個多路選擇器25分別用于選擇操作數(shù)1、操作數(shù)2的來源。低級并行處理單元陣列的所有控制指令都來源于中級處理單元。移位寄存器21存儲圖像數(shù)據(jù),并通過指令移位,將數(shù)據(jù)逐列從左移動到右,使其傳遞至整個并行陣列,同時該移位寄存器中的數(shù)據(jù)也可以通過算術(shù)邏輯部件傳輸?shù)酱鎯ζ髦?。如本實施例中采用的是I位處理能力的ALU,存儲器容量256比特(bit)。這樣可以實現(xiàn)一個處理單元對應(yīng)超過20個像素的存儲要求,另外還有超過80比特用于處理過程中的中間變量存儲。I位的ALU可以在多個時鐘周期實現(xiàn)復(fù)雜的多位運算,如可以在9個時鐘周期內(nèi)完成8位的加法運算。如圖3所示為中級處理單元的結(jié)構(gòu)示意圖,該中級處理單元包括算術(shù)運算部件30、指令解析器31、寄存器組34、三個多路選擇器32、33、35,輸入緩存36,以及本地存儲器37。如在本實施例中,寄存器組包括64字節(jié),可以用來保存圖像處理任務(wù)中的初始值、中間變量,以及最后的結(jié)果等。此外輸入緩存為8個字節(jié)的移位寄存器,每次可以并行載入8個低級處理單元的數(shù)據(jù),然后通過算術(shù)運算單元將其輸入寄存器組中。如圖3所示的中級處理單元的邏輯算術(shù)運算部件具有較強運算能力。如在本實例中,中級處理單元的邏輯運算部件能夠完成8比特、16比特加法、8比特與非、比較大小等運算功能。與低級處理單元陣列劃分為多個低級組塊的方式相似,若干個中級處理單元被硬件劃分為中級組塊,每個中級組塊接收其對應(yīng)的高級處理單元發(fā)送的指令,并按照此指令進行中級圖像處理任務(wù)。如本實施例中64個中級處理單元,相鄰4個被劃分為一個中級組塊,整個陣列被劃分為了 16個中級組塊,分別對應(yīng)16個高級處理單元。如在本實例中要完成二值圖像的一階不變距運算,首先通過輸入緩存將低級組塊中的數(shù)據(jù)讀入,然后利用中級處理單元的邏輯算術(shù)部件的與運算和加法運算,可以完成一個低級組塊處理單元對應(yīng)的圖像區(qū)域的一階不變距計算。如圖4為高級處理單元120的結(jié)構(gòu)示意圖,該高級處理單元包括高級算術(shù)運算部件40,指令解析器41,寄存器組42,共享存儲控制器43、共享存儲器44、本地存儲器45,以及多路選擇器46、輸入緩存47。在本實施例中,高級算術(shù)部件40支持乘、除、開平方等多種運算,對這些高級運算的支持是完成較為復(fù)雜的圖像處理任務(wù)的基礎(chǔ)。如在本實施例中,該運算部件可以完成傅立葉變換、小波變換、Gabor濾波等較為復(fù)雜的圖像處理。在本實施例中,指令解析器41,接收來自指令緩存中的指令,通過分析該指令的格式,確定指令是否為高級處理單元指令。如果非高級處理單元指令,則將指令發(fā)送到中級處理單元的指令解析器中,否則在高級處理單元中執(zhí)行該條指令,對處理單元中的各個部件進行控制。在本實施例中,寄存器組42包括256字節(jié),本地存儲單元45包括256字節(jié),輸入緩存47為4個字節(jié)的移位寄存器。移位寄存器可以并行輸入4個中級組塊的數(shù)據(jù)。寄存器組合本地存儲單元可以用于存儲初始數(shù)據(jù)、中間變量以及最后結(jié)果。寄存器組、本地存儲單元的存儲容量較大,可以為高級圖像處理中的復(fù)雜運算、高精度數(shù)據(jù)提供足夠的運算空間。
在本實施例中,共享存儲44包括64字節(jié),主要為各個高級處理單元之間共享數(shù)據(jù)提供存儲空間。該存儲空間下的所有數(shù)據(jù)均可被其他高級處理單元所讀取。這一點符合高級圖像處理中存在大量全局共享數(shù)據(jù)這一特點。共享存儲單元的行為由共享存儲接口 43控制,通過共享存儲接口,其他高級處理單元的數(shù)據(jù)可以被讀入,并通過多路選擇器46的選擇,可以進入到寄存器組中,從而進行本地運算。也可以通過共享存儲接口 43,將共享存儲器中的共享數(shù)據(jù)讀出至共享存儲器接口,是其他高級處理單元可以獲得本處理單元中的共享數(shù)據(jù)。如圖5所示為陣列控制器的結(jié)構(gòu)示意圖,包括指令存儲器50,緩存控制器51,多個指令緩存521組成的指令緩存陣列52,以及指令控制器53。指令存儲器50用于存儲各個并行處理單元陣列執(zhí)行操作所需的指令,指令存儲器通過其總線接口,掛載于高速總線之上,在系統(tǒng)啟動或者運行中可以通過高速總線向其中寫入指令。在本實施例中,指令存儲器有32千字節(jié)(KB)的大小,可以滿足存儲高中低三個并行處理層次所需指令的需求。緩存控制器51,通過總線接口掛載于高速總線之上,其主要作用是接收來自精簡指令集處理器子系統(tǒng)的控制字、并根據(jù)控制字內(nèi)容將指令存儲器中的部分代碼載入指令緩存陣列52中的各個指令緩存521上。如在本實施例中,兩個高級處理單元可能分別進行快速傅立葉變化或者快速小波變換,則緩存控制器將兩個代碼段分別載入到不同的指令緩存中。指令緩存陣列52,由多個指令緩存521組成。如在本實施列中,指令緩存陣列由16個指令緩存組成,每個緩存分別和一個高級處理單元陣列。指令控制器53,通過總線接口掛載于高速總線之上,通過精簡指令集處理器子系統(tǒng)可以對其進行配置。該控制器則控制整個指令緩存陣列52,使其能夠正確的將指令發(fā)送到各個高級處理單元。數(shù)據(jù)緩存54,通過總線接口掛載于高速總線上,并接收來自高級處理單元的數(shù)據(jù),作為高級處理單元和精簡指令集系統(tǒng)之間的數(shù)據(jù)交互緩存;如在本實施例中,通過指令存儲器50、緩存控制器51、指令緩存陣列52、指令控制器53,數(shù)據(jù)緩存54組成的陣列控制器可以對高中低三個層次的并行處理陣列進行控制,同時在多指令緩存的支持下,各個層次,以及每個層次中的組塊可以實現(xiàn)不同的運算操作,使系統(tǒng)具有多線程多任務(wù)的處理能力。
圖1中的精簡指令集處理器子系統(tǒng)14它有一個處理能為X位的RISC核140,一個存儲容量為Y的隨機只讀存儲器(ROM) 141,和一個存儲容量為Z的隨機存儲器(RAM) 142組成(X,Y,Z為大于I的正整數(shù))。它們之間通過先進的高性能總線互連。其中RISC核是一個處理器,ROM是程序存儲器,RAM是數(shù)據(jù)存儲器。RISC核從ROM中獲取程序,根據(jù)整個系統(tǒng)的圖像處理任務(wù)對系統(tǒng)硬件資源進行調(diào)度控制,使系統(tǒng)性能達到最佳。如本實施例中選擇32位的RISC核,64千字節(jié)(KB)的ROM,128KB的RAM,即X =32,Y = 64KB,Z = 128KB。32位的RISC核,能夠一次處理一個字,64KB的ROM空間,可以滿足各種控制、算法所需的程序空間,128KB的RAM則提供足夠大的空間可以滿足過程中各種中間變量的存儲要求。本實施例中,RISC核心的主要任務(wù)是對硬件資源進行分配、控制整個硬件系統(tǒng)。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于多層次并行處理的視覺處理裝置,其特征在于,該裝置包括用于采集現(xiàn)實世界圖像信號的高速圖像傳感器陣列模塊;用于傳輸采集的現(xiàn)實世界圖像信號的圖像輸入模塊;用于接收圖像輸入模塊輸入的現(xiàn)實世界圖像信號并進行低級圖像處理的低級并行處理單元陣列(10);用于對低級并行處理單元陣列(10)處理后的信號進行中級運算處理的中級處理單元陣列(11);用于對中級處理單元陣列(11)處理后的信號進行高級運算處理的高級并行處理單元陣列(12);用于對高、中、低級并行處理單元陣列進行控制的陣列控制器(13);用于進行系統(tǒng)控制及圖像處理線程調(diào)度的精簡指令集處理器子系統(tǒng)(14);以及用于輸出圖像特征的圖像處理結(jié)果輸出模塊。
2.根據(jù)權(quán)利要求1所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述低級并行處理單元陣列(10)包括呈二維陣列排列的多個低級處理單元(100),多個低級處理單元(100)被劃分為多個組塊(101)。
3.根據(jù)權(quán)利要求2所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述多個低級處理單元(100)呈二維陣列排列,用于存儲一幅或者多幅圖像,并行的對該存儲在單元陣列中存儲的圖像完成適合于全并行處理的圖像操作;每個處理單元對應(yīng)圖像的一個像素或者多個像素。
4.根據(jù)權(quán)利要求3所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個處理單元通過將復(fù)雜的多位的數(shù)學(xué)運算或邏輯運算分解成多個簡單的較少位數(shù)的數(shù)學(xué)運算或邏輯運算,在多個周期內(nèi)能完成任意位數(shù)的數(shù)學(xué)運算和邏輯運算。
5.根據(jù)權(quán)利要求3所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個低級處理單元的數(shù)據(jù)能夠被傳遞到其上、下、左、右的近鄰低級處理單元,并于這些低級處理單元做運算。
6.根據(jù)權(quán)利要求3所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個低級處理單元同時利用數(shù)據(jù)傳輸指令來處理來自圖像輸入模塊的數(shù)據(jù)以及根據(jù)數(shù)據(jù)處理指令進行數(shù)據(jù)處理,即同時執(zhí)行兩條不同類型的指令,使系統(tǒng)在進行數(shù)據(jù)處理的時候,仍能讀入圖像數(shù)據(jù),掩蓋圖像傳感器曝光時間。
7.根據(jù)權(quán)利要求2所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個組塊接收來自上層所述中級處理單元陣列(11)中某一個中級處理單元的控制指令,并與該中級處理單元進行數(shù)據(jù)交互,且各組塊之間所執(zhí)行的指令相互獨立。
8.根據(jù)權(quán)利要求7所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個組塊能夠被所述中級處理單元陣列(11)中某一個中級處理單元選中或者不選中,不選中亦即不工作,能夠降低系統(tǒng)功耗。
9.根據(jù)權(quán)利要求2所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個低級處理單元(100)包括算術(shù)邏輯部件(20),用于實現(xiàn)至少包括求和、求或、求與、求非的算術(shù)邏輯操作;移位寄存器(21),用于實現(xiàn)圖像數(shù)據(jù)的輸入和存儲;靜態(tài)隨機存儲器(22),用于存儲算術(shù)邏輯部件的運算初始值、中間量及結(jié)果;臨時寄存器(23),用于暫時存儲算術(shù)邏輯部件(20)的運算結(jié)果;第一個多路選擇器(24),用于選擇算術(shù)邏輯部件(20)的第一個操作數(shù);第二個多路選擇器(25),用于選擇算術(shù)邏輯部件(20)的第二個操作數(shù);五個與近鄰相鄰的互連端口,包括上近鄰、右近鄰、左近鄰、下近鄰是個輸入端口,以及一個近鄰輸出端口;一個左近鄰多比特輸入端口,一個右近鄰多比特輸出端口,用于傳輸圖像數(shù)據(jù);控制指令輸入端口,接收來自所在組對應(yīng)的中級處理單元(110)的指令信號。
10.根據(jù)權(quán)利要求9所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述靜態(tài)隨機存儲器(22)包括用于接收待存儲數(shù)據(jù)的輸入端口,該輸入端口連接到所述計算邏輯部件(20)的一個輸出端口 ;用于儲存器中輸出數(shù)據(jù)的輸出端口,該輸出端口連接到所述第一個多路選擇器(24) 的一個輸入端口;存儲器的讀地址信號和存儲器的寫地址信號,該讀地址信號和該寫地址信號由該組塊對應(yīng)中級處理單元(110)給出。
11.根據(jù)權(quán)利要求1所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述中級處理單元陣列(11)包括呈陣列的多個中級處理單元(110),該多個中級處理單元(110) 被劃分為多個中級組塊。
12.根據(jù)權(quán)利要求11所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個中級組塊均接收來自上層所述高級并行處理單元陣列(12)中某一個高級并行處理單元的控制指令,并與該高級并行處理單元進行數(shù)據(jù)交互,且各中級組塊之間相互獨立,可執(zhí)行相同的指令或不同的指令。
13.根據(jù)權(quán)利要求11所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述每個中級組塊具有高于所述低級處理單元(100)的處理能力及較低的并行度,適于進行各項中級圖像處理任務(wù),并能夠?qū)λ龅图壊⑿刑幚韱卧嚵?10)中的組塊(101)進行控制和數(shù)據(jù)交互,并行處理一個組塊(101)內(nèi)的數(shù)據(jù),亦即處理一幅圖像中的一個區(qū)域或多幅圖像的相同區(qū)域。
14.根據(jù)權(quán)利要求11所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述中級處理單元(Iio)用于進行較為復(fù)雜的數(shù)學(xué)運算或邏輯運算,其處理字長為8比特,亦即一個字節(jié)。
15.根據(jù)權(quán)利要求11所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述中級處理單元(110)包括較高級算術(shù)運算部件(30),包括實現(xiàn)至少多比特加、減、大小比較以及多種邏輯操作; 指令解析器(31),用于接收并分析上層傳輸?shù)某绦蛑噶?,并決定是否在該層次執(zhí)行此指令或者將其傳輸至下一層次;寄存器組(34),用于存儲算術(shù)運算部件所需的變量或者計算產(chǎn)生的變量;用于算術(shù)運算部件的操作數(shù)選擇的第一多路選擇器(32);用于算術(shù)運算部件的操作數(shù)選擇的第二多路選擇器(33);結(jié)果寫回多路選擇器(35);輸入緩存(36),作為低級組塊中的數(shù)據(jù)與中級處理單元中的緩存;本地存儲器(37),為算術(shù)運算部件進行中級圖像處理提供足夠的運算存儲空間。
16.根據(jù)權(quán)利要求15所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述中級處理單元(110)還包括用于接收低級處理單元數(shù)據(jù)的低級處理單元數(shù)據(jù)輸入端口;用于接收共享緩存輸入的輸入端口;用于接收高級處理單元指令的指令輸入端口、輸出給低級組塊的指令輸出端口 ;用于控制與高級處理單元共享緩存的寫數(shù)據(jù)端口、寫地址端口、以及讀地址端口 ; 用于控制寄存器組的讀地址I輸入端口、讀地址2輸入端口、寫地址I端口;用于寄存器組數(shù)據(jù)輸入的數(shù)據(jù)輸入端口、以數(shù)據(jù)I端口、數(shù)據(jù)2端口;用于計算結(jié)果輸入的本地存儲器數(shù)據(jù)輸出端口,該數(shù)據(jù)端口和高級處理單元的中級處理單元數(shù)據(jù)輸入端口相連,用于將中級處理完成的數(shù)據(jù)送入高級處理單元中。
17.根據(jù)權(quán)利要求1所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述高級并行處理單元陣列(12)包括多個高級處理單元(120),該高級處理單元(120)具有復(fù)雜運算處理能力,任何一個高級處理單元能夠獲得其他高級處理單元中的全局共享數(shù)據(jù)。
18.根據(jù)權(quán)利要求17所述的基于多層次并行處理的視覺處理裝置,其特征在于,各個高級處理單元(120)所執(zhí)行的操作完全由其接收的指令決定,使系統(tǒng)能 夠?qū)崿F(xiàn)多任務(wù)同時處理。
19.根據(jù)權(quán)利要求17所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述高級處理單元(120)包括算術(shù)運算部件(40),用于完成復(fù)雜乘法、除法、開方運算,支持高級圖像處理任務(wù);指令解析器(41),解析來自指令緩存的指令類型,并確定指令流的方向;寄存器組(42),用于運算器運算過程中存儲初始值、中間變量及結(jié)果;共享存儲接口(43),用于各個高級處理單元之間共享數(shù)據(jù)傳遞;共享存儲器(44),存儲各個高級處理單元之間共享的全局?jǐn)?shù)據(jù);本地存儲器(45),用于存儲高級處理中出現(xiàn)的本地私有數(shù)據(jù);多路選擇器(46),用于選擇寫回寄存器的數(shù)據(jù)來源;輸入緩存(47),作為中級組塊輸入數(shù)據(jù)與高級處理單元之間的緩存。
20.根據(jù)權(quán)利要求19所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述高級處理單元(120)還包括用于輸入中級處理單元數(shù)據(jù)的中級處理單元數(shù)據(jù)輸入端口;用于接收指令緩存數(shù)據(jù)的指令輸入端口,以及指令輸出端口 ;用于進行全局?jǐn)?shù)據(jù)讀取的共享存儲接口輸入端口和輸出端口;用于寄存器組的讀地址1、讀地址2端口,寫地址I端口,以及數(shù)據(jù)輸入端口,和算術(shù)運算部件讀取操作數(shù)的讀數(shù)據(jù)I端口、讀數(shù)據(jù)2端口;用于本地存儲器單元的寫地址端口、讀地址端口、以及數(shù)據(jù)輸入端口、數(shù)據(jù)輸出端口 ; 用于共享存儲單元的寫地址端口、讀地址端口、以及數(shù)據(jù)輸入、輸出端口。
21.根據(jù)權(quán)利要求19所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述算術(shù)運算部件(40)區(qū)別于低級、中級并處理單元中的運算部件,用于完成乘法、除法或開平方運算,應(yīng)對多數(shù)高級圖像處理任務(wù),其包括兩個操作數(shù)輸入端口,兩個結(jié)果輸出端口, 分別和算術(shù)運算部件和本地存儲單元、共享存儲單元相連接;算術(shù)運算部件(40)由指令解析器給出的指令來控制。
22.根據(jù)權(quán)利要求19所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述寄存器組(42)用于存儲圖像處理所需的初始數(shù)據(jù)、中間變量及結(jié)果,包括兩個讀數(shù)據(jù)端口、兩個讀地址端口、以及一個寫地址端口、一個數(shù)據(jù)輸入端口。
23.根據(jù)權(quán)利要求19所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述共享存儲接口(43)提供各個處理單元之間的共享數(shù)據(jù)交互接口,共享存儲接口模塊由交叉開關(guān)組成,控制信號同樣來自于指令解析器。
24.根據(jù)權(quán)利要求19所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述共享存儲器(44)和本地存儲器(45)為靜態(tài)隨機存儲器。
25.根據(jù)權(quán)利要求1所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述陣列控制器(13)用于控制高、中、低級三個并并行處理單元陣列,該陣列控制器內(nèi)部使用多個指令緩存,每個緩存對應(yīng)一個高級處理單元,每個高級處理單元根據(jù)指令緩存所下達的控制指令進行操作,完成各種高級圖像處理任務(wù)。
26.根據(jù)權(quán)利要求25所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述陣列控制器(13)包括用于存儲三個并行處理單元陣列所需的控制指令的指令存儲器(50),該指令存儲器通過總線接口掛載于高速總線之上;用于為各個指令緩存分配指令段的緩存控制器(51),該緩存控制器通過總線接口掛載于高速總線之上,接收來自精簡指令集處理器子系統(tǒng)的命令并將相應(yīng)指令段根據(jù)進程需要分配到不同的指令緩存中;多個指令緩存(520)組成的指令緩存陣列(52),用于接收來自緩存控制器的指令段, 指令控制器控制每個指令緩存的指令發(fā)送;指令控制器(53),通過總線接口掛載于高速總線之上,用于接收來自精簡指令集處理器子系統(tǒng)的命令,控制整個指令緩存陣列的指令發(fā)送機制;數(shù)據(jù)緩存(54),用于接收來自高級處理單元的數(shù)據(jù),并通過總線接口掛載與總線之上, 通過總線與精簡指令集處理器子系統(tǒng)之間進行數(shù)據(jù)交互。
27.根據(jù)權(quán)利要求1所述的基于多層次并行處理的視覺處理裝置,其特征在于,所述精簡指令集處理器子系統(tǒng)(14)包括一個精簡指令集處理器核(140);一個隨機只讀存儲器(141),用于存儲精簡指令集處理器核(140)的程序;一個隨機存儲器(142),用于實現(xiàn)精簡指令集處理器核(140)處理過程中的數(shù)據(jù)存儲和讀取;實現(xiàn)互連的先進的高性能總線,用于將精簡指令集處理器核(140)、隨機只讀存儲器 (141)和隨機存儲器(142)三者互連。
全文摘要
本發(fā)明公開了一種基于多層次并行處理的視覺處理裝置,該裝置包含一個高速圖像傳感器陣列,多個層次的處理器單元陣列,精簡指令集(RISC)微處理器子系統(tǒng)。圖像傳感器用于采集現(xiàn)實世界的圖像。最底層的低級處理器單元陣列具有最高的并行度,但是相對較弱的運算能力,而隨著層次的提高,處理器陣列的并行度逐漸降低而運算能力逐漸提高。層次化的體系結(jié)構(gòu)更加利于硬件結(jié)構(gòu)與各種不同并行程度、運算復(fù)雜度的圖像處理算法之間的緊密耦合。RISC處理器用于進行系統(tǒng)控制與圖像處理線程的調(diào)度。利用本發(fā)明,能夠使系統(tǒng)具有高靈活性、高數(shù)據(jù)吞吐率,并實現(xiàn)多線程并行工作模式,大大提高了圖像處理能力和速度。
文檔編號G06T1/20GK103020890SQ20121054851
公開日2013年4月3日 申請日期2012年12月17日 優(yōu)先權(quán)日2012年12月17日
發(fā)明者楊杰, 吳南健, 石匆, 龍希田 申請人:中國科學(xué)院半導(dǎo)體研究所