国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法和裝置的制作方法

      文檔序號(hào):6367841閱讀:197來源:國(guó)知局
      專利名稱:多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及處理器的編譯,特別是指ー種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法和裝置。
      背景技術(shù)
      動(dòng)態(tài)可重構(gòu)處理器包括單核結(jié)構(gòu)和多核結(jié)構(gòu),單核結(jié)構(gòu)參見圖1,由于硬件設(shè)置,將“同步靜態(tài)隨機(jī)存儲(chǔ)器”作為片外器件,其他器件屬于片內(nèi)器件。片內(nèi)的“進(jìn)存儲(chǔ)器”、“計(jì)算陣列”、“出存儲(chǔ)器”一起稱為計(jì)算核內(nèi)器件。圖I中除去片外的“同步靜態(tài)隨機(jī)存儲(chǔ)器”和“公用存儲(chǔ)器”外,其他器件合稱為ー個(gè)單核,單核包括所示的存儲(chǔ)器、控制器和計(jì)算陣列。動(dòng)態(tài)可重構(gòu)處理器遵循先配置后處理的原則。對(duì)數(shù)據(jù)的搬運(yùn)、計(jì)算都得經(jīng)過編譯器的配置后才能執(zhí)行。配置的信息通過主核,導(dǎo)入到可重構(gòu)處理器的控制器上來控制數(shù)據(jù)的輸入輸出格式和長(zhǎng)度等。下面將簡(jiǎn)單介紹圖I中動(dòng)態(tài)可重構(gòu)處理器單核結(jié)構(gòu)里的各個(gè)器件的名稱和用途。“讀緩沖器”是讀入片外的“同步靜態(tài)隨機(jī)存儲(chǔ)器”的數(shù)據(jù),并將數(shù)據(jù)暫時(shí)存儲(chǔ)起來,與“運(yùn)算陣列”隔開?!白x緩沖器”起到緩沖數(shù)據(jù)的作用?!白x緩沖器”是由兩個(gè)控制器控制其數(shù)據(jù)導(dǎo)入和輸出的,控制導(dǎo)入數(shù)據(jù)的控制器稱為“片外數(shù)據(jù)導(dǎo)入控制器”(圖I中的控制器1),控制出數(shù)據(jù)的控制器稱為“核外數(shù)據(jù)導(dǎo)入控制器”?!斑M(jìn)存儲(chǔ)器”是“計(jì)算陣列”的數(shù)據(jù)入口,所有需要進(jìn)入“計(jì)算陣列”的數(shù)據(jù)必須經(jīng)
      過“進(jìn)存儲(chǔ)器”?!斑M(jìn)存儲(chǔ)器”的作用是存儲(chǔ)計(jì)算需求數(shù)據(jù)?!斑M(jìn)存儲(chǔ)器”的數(shù)據(jù)導(dǎo)入控制器是“讀緩沖器”的數(shù)據(jù)輸出控制器,即“核外數(shù)據(jù)導(dǎo)入控制器”(分別為圖I中的控制器2和控制器7)。“計(jì)算陣列”是進(jìn)行密集計(jì)算的計(jì)算單元陣列,能夠進(jìn)行一般的四則運(yùn)算、邏輯運(yùn)算等?!俺龃鎯?chǔ)器”是存儲(chǔ)計(jì)算后的數(shù)據(jù)結(jié)果?!俺龃鎯?chǔ)器”將這些數(shù)據(jù)存儲(chǔ)起來,根據(jù)需要將數(shù)據(jù)送到不同的存儲(chǔ)單元。“出存儲(chǔ)器”的數(shù)據(jù)輸出控制器控制“出存儲(chǔ)器”的數(shù)據(jù)輸出到不同器件上,被稱為“核外數(shù)據(jù)存儲(chǔ)控制器”。圖I所示的“出存儲(chǔ)器”的三個(gè)輸出控制器是ー個(gè)“核外數(shù)據(jù)存儲(chǔ)控制器”(分別為圖I中的控制器4,5,9),只是控制數(shù)據(jù)流向三個(gè)不同器件?!皩懢彌_器”數(shù)據(jù)如果要被輸出到“同步靜態(tài)隨機(jī)存儲(chǔ)器”,必須經(jīng)過“寫緩沖器”存儲(chǔ)起來再輸出到“同步靜態(tài)隨機(jī)存儲(chǔ)器”。
      “寫緩沖器”的導(dǎo)入數(shù)據(jù)控制器為“核外數(shù)據(jù)存儲(chǔ)控制器”,“寫緩沖器”的輸出控制器稱為“片外數(shù)據(jù)存儲(chǔ)控制器”(圖I中的控制器6)?!肮么鎯?chǔ)器”存儲(chǔ)單核內(nèi)的中間數(shù)據(jù),“公用存儲(chǔ)器”是片內(nèi)個(gè)個(gè)單核公用的,所以存儲(chǔ)的中間數(shù)據(jù)可能是幾個(gè)單核的中間數(shù)據(jù)?!肮么鎯?chǔ)器”的數(shù)據(jù)導(dǎo)入控制器是“核外數(shù)據(jù)存儲(chǔ)控制器”,“公用存儲(chǔ)器”的數(shù)據(jù)輸出控制器稱為“片內(nèi)中間數(shù)據(jù)導(dǎo)入控制器”(分別為圖I中控制器的3,10)?!捌瑑?nèi)中間數(shù)據(jù)導(dǎo)入控制器”控制中間數(shù)據(jù)導(dǎo)入“進(jìn)存儲(chǔ)器”和“中間存儲(chǔ)器”。由干“公用存儲(chǔ)器”和幾個(gè)單核都有數(shù)據(jù)的接ロ控制器,當(dāng)不同的單核對(duì)“公用存儲(chǔ)器”發(fā)起讀寫操作吋,這些單核的優(yōu)先級(jí)“核外數(shù)據(jù)存儲(chǔ)控制器”大于“中間數(shù)據(jù)導(dǎo)入控制器”。“中間存儲(chǔ)器”是處理中間數(shù)據(jù)的。“中間存儲(chǔ)器”的中間數(shù)據(jù)讀出可以按行或列讀出。“中間存儲(chǔ)器”的數(shù)據(jù)導(dǎo)入控制器有“核外數(shù)據(jù)導(dǎo)入控制器”、“核外數(shù)據(jù)存儲(chǔ)控制器”和“中間數(shù)據(jù)導(dǎo)入控制器”?!爸虚g存儲(chǔ)器”的數(shù)據(jù)讀出控制器為“核內(nèi)中間數(shù)據(jù)讀入控制器”(圖I中控制器8)。動(dòng)態(tài)可重構(gòu)處理器在處理數(shù)據(jù)的過程中,需要對(duì)軟件進(jìn)行編譯,編譯包括前端和后端,前端部分使用修改后的“斯坦福大學(xué)中間格式”(SUIF)編譯器將C++等高級(jí)語言描述的任務(wù)轉(zhuǎn)為有向數(shù)據(jù)圖描述的任務(wù);后端將將前端給的有向數(shù)據(jù)圖在動(dòng)態(tài)可重構(gòu)處理器進(jìn)行編譯后,動(dòng)態(tài)可重構(gòu)處理器在編譯過程中,通過自身的控制器的控制碼和計(jì)算陣列的控制碼,按照層次關(guān)系和先后關(guān)系進(jìn)行生成配置信息,生成的配置信息也是控制碼,該控制碼能夠操作可重構(gòu)處理器的運(yùn)行。例如,在每個(gè)有向數(shù)據(jù)圖的數(shù)據(jù)處理過程中,生成的控制碼配置存儲(chǔ)器中每個(gè)存儲(chǔ)單元的狀態(tài)為讀或?qū)?,配置?jì)算陣列中每個(gè)單元的計(jì)算狀態(tài)為乘或加等計(jì)算狀態(tài)。隨著動(dòng)態(tài)可重構(gòu)處理器的發(fā)展,單核結(jié)構(gòu)已經(jīng)不能滿足處理要求,已經(jīng)發(fā)展出將單核處理器組合在一起形成的多核處理器結(jié)構(gòu)。參見圖2,單核和另外多個(gè)單核組成多核同在ー個(gè)片內(nèi)。其中圖I所示的“公用存儲(chǔ)器”在圖2的多核結(jié)構(gòu)中屬于片內(nèi)的多核共用的存儲(chǔ)器,方便并行運(yùn)算和單核間的數(shù)據(jù)交互;而在圖2中,“同步靜態(tài)隨即存儲(chǔ)器”是屬于片外的數(shù)據(jù)存儲(chǔ)器。在多核動(dòng)態(tài)可重構(gòu)的處理器中,還未實(shí)現(xiàn)多核并行處理有向數(shù)據(jù)圖生成配置信
      O

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明在于提供一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法和裝置,以解決上述在多核動(dòng)態(tài)可重構(gòu)的處理器中,不能實(shí)現(xiàn)多核并行處理有向數(shù)據(jù)圖生成配置信息的問題。為解決上述問題,本發(fā)明提供一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法,包括通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件;將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組; 按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件;在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信息。本發(fā)明還提供一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的裝置,包括
      劃分模塊,用于通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件; 分組模塊,用于將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組;
      控制模塊,用于按照劃分后 的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件;配置模塊,用于在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信
      O本發(fā)明的實(shí)施例,對(duì)生成的子有向數(shù)據(jù)圖文件進(jìn)行分組,采用多核內(nèi)的各個(gè)單核處理器依次同時(shí)各處理ー個(gè)組的有向數(shù)據(jù)圖文件,從而各個(gè)單核處理器并行處理各個(gè)組,
      提高處理效率。


      圖I示出了單核動(dòng)態(tài)可重構(gòu)處理器的結(jié)構(gòu)框圖;圖2示出了多核動(dòng)態(tài)可重構(gòu)處理器的結(jié)構(gòu)框圖;圖3示出了實(shí)施例的流程圖;圖4示出了所一個(gè)有向數(shù)據(jù)圖文件內(nèi)的數(shù)據(jù)節(jié)點(diǎn)之間的數(shù)據(jù)關(guān)系圖;圖5示出了根據(jù)圖4中劃分后的各個(gè)部分作為數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)關(guān)系圖;圖6示出了設(shè)置圖5中各個(gè)數(shù)據(jù)節(jié)點(diǎn)權(quán)值過程的示意圖;圖7示出了設(shè)置圖5中各個(gè)數(shù)據(jù)節(jié)點(diǎn)權(quán)值的流程圖;圖8示出了對(duì)圖5中各個(gè)數(shù)據(jù)節(jié)點(diǎn)的權(quán)值排序的流程圖;圖9示出了圖5中各個(gè)數(shù)據(jù)節(jié)點(diǎn)的權(quán)值排序后的示意圖;圖10示出了排序后的各個(gè)子有向數(shù)據(jù)圖文件進(jìn)行分組的示意圖;圖11示出了三層生成配置信息的示意圖;圖12示出了中間存儲(chǔ)器內(nèi)各個(gè)存儲(chǔ)區(qū)域的示意圖;圖13示出了中間存儲(chǔ)器的臨時(shí)存儲(chǔ)區(qū)內(nèi)存在無效數(shù)據(jù)的示意圖;圖14示出了圖13的數(shù)據(jù)進(jìn)入計(jì)算陣列前的數(shù)據(jù)結(jié)構(gòu)示意圖;圖15示出了經(jīng)過計(jì)算陣列后寫入到出存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)示意圖;圖16示出了裝置實(shí)施例的結(jié)構(gòu)框圖。
      具體實(shí)施例方式為清楚說明本發(fā)明中的方案,下面給出優(yōu)選的實(shí)施例并結(jié)合附圖詳細(xì)說明。參見圖3中本發(fā)明實(shí)施例的流程圖,包括Sll :通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件;S12 :將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組;S13:按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件;S14 :在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信息。本發(fā)明的實(shí)施例,對(duì)生成的子有向數(shù)據(jù)圖文件進(jìn)行分組,采用圖2中的各個(gè)單核處理器依次同時(shí)各處理ー個(gè)組的有向數(shù)據(jù)圖文件,從而各個(gè)單核處理器并行處理各個(gè)組,提聞處通效率。優(yōu)選地,參見圖4中所示的一個(gè)有向數(shù)據(jù)圖文件內(nèi)的數(shù)據(jù)節(jié)點(diǎn)之間的數(shù)據(jù)關(guān)系圖,該圖內(nèi)的各個(gè)數(shù)據(jù)節(jié)點(diǎn)之間均有數(shù)據(jù)交互。
      可依照各個(gè)節(jié)點(diǎn)之間數(shù)據(jù)結(jié)構(gòu)關(guān)系、以及圖I中單核處理器內(nèi)的計(jì)算陣列內(nèi)的單元數(shù)量劃分。例如采用貪婪算法也稱為貪心算法劃分,包括I、先將有向數(shù)據(jù)圖文件內(nèi)的數(shù)據(jù)節(jié)點(diǎn)賦予權(quán)值,可將所有的葉子節(jié)點(diǎn)賦予ー個(gè)相同的權(quán)值,然后按照從子節(jié)點(diǎn)到父節(jié)點(diǎn)的關(guān)系,將每個(gè)父節(jié)點(diǎn)的所有子幾點(diǎn)的權(quán)值之和作為該父節(jié)點(diǎn)的權(quán)值,直到根節(jié)點(diǎn)。2、將所有節(jié)點(diǎn)按照權(quán)值順序由大到小排列;3、按照計(jì)算陣列處理節(jié)點(diǎn)的數(shù)量,將節(jié)點(diǎn)依次劃分,例如,計(jì)算陣列最大能處理10個(gè)節(jié)點(diǎn),則將10個(gè)節(jié)點(diǎn)劃分為I個(gè)子有向數(shù)據(jù)圖,直到全部劃分完。如圖4所示,將數(shù)據(jù)節(jié)點(diǎn)分成5部分。劃分后,將每個(gè)部分分別生成一子有向數(shù)據(jù)圖文件。每個(gè)子有向數(shù)據(jù)圖文件作為ー個(gè)數(shù)據(jù)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)關(guān)系可如圖5所示。優(yōu)選地,可為圖5中每個(gè)作為子有向數(shù)據(jù)圖文件的數(shù)據(jù)節(jié)點(diǎn)設(shè)置ー個(gè)權(quán)值,并按照權(quán)值由大到小的順序?qū)⒏鱾€(gè)子有向數(shù)據(jù)圖文件進(jìn)行分組。參見圖6,初始化每個(gè)作為子有向數(shù)據(jù)圖的數(shù)據(jù)節(jié)點(diǎn)的權(quán)值,設(shè)置為第一權(quán)值,在實(shí)施例中,將每個(gè)數(shù)據(jù)節(jié)點(diǎn)的權(quán)值設(shè)置為-I。參見圖7,設(shè)置圖5中各個(gè)數(shù)據(jù)節(jié)點(diǎn)的權(quán)值的過程包括S21 :遍歷作為子有向數(shù)據(jù)圖文件的節(jié)點(diǎn);S22 :判斷是否為葉子節(jié)點(diǎn);如果是,則執(zhí)行S23,設(shè)置權(quán)重為O ;如果不是,則執(zhí)行S24。參見圖6中的第一歩,葉子節(jié)點(diǎn)的權(quán)重設(shè)置為O ;如果只有ー個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)則作為葉子節(jié)點(diǎn)。對(duì)照?qǐng)D5中的數(shù)據(jù)節(jié)點(diǎn),節(jié)點(diǎn)5、節(jié)點(diǎn)2的權(quán)值都設(shè)置為O。S24 :判斷該節(jié)點(diǎn)的權(quán)重是否設(shè)置好;如果是,則執(zhí)行S21 ;如果不是,則執(zhí)行S25。S25 :設(shè)置該節(jié)點(diǎn)的權(quán)重;將該節(jié)點(diǎn)的權(quán)重設(shè)置為其所有子節(jié)點(diǎn)的權(quán)值、以及第ニ權(quán)值之和。在實(shí)施例中,優(yōu)選第二權(quán)值為I。例如,數(shù)據(jù)節(jié)點(diǎn)3、數(shù)據(jù)節(jié)點(diǎn)4的權(quán)值為數(shù)據(jù)節(jié)點(diǎn)5的權(quán)值O加第二權(quán)值I的和,為
      I;數(shù)據(jù)節(jié)點(diǎn)I的權(quán)值為數(shù)據(jù)節(jié)點(diǎn)3、數(shù)據(jù)節(jié)點(diǎn)4的權(quán)值與第二權(quán)值的和,即1+1+1 = 3。數(shù)據(jù)節(jié)點(diǎn)I的權(quán)值為3。參見圖6的第二步、第三步對(duì)應(yīng)的圖,最好各個(gè)數(shù)據(jù)節(jié)點(diǎn)都設(shè)置好對(duì)應(yīng)的權(quán)值。S26 :判斷是否所有的數(shù)據(jù)節(jié)點(diǎn)都設(shè)置好權(quán)值,如果是,則執(zhí)行S27 ;如果否,則執(zhí)行 S21 ;S27 :返回權(quán)值最高的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行后續(xù)處理。通過上述過程,最終設(shè)置完所有數(shù)據(jù)節(jié)點(diǎn)的權(quán)值,等同于設(shè)置完每個(gè)子有向數(shù)據(jù)圖文件的權(quán)值。在設(shè)置完權(quán)值之后,對(duì)所有子有向數(shù)據(jù)圖文件按照權(quán)值由大到小排序,排序的過程可采用冒泡算法進(jìn)行排序。
      冒泡排序的算法可通過依次比較相鄰的兩個(gè)子有向數(shù)據(jù)圖的權(quán)重,將小權(quán)重的子有向數(shù)據(jù)圖放在后面,大權(quán)重的子有向數(shù)據(jù)圖放在前面。具體算法流程可參見圖8。在第一趟首先比較第I個(gè)和第2個(gè)的子有向數(shù)據(jù)圖的權(quán)重,將大權(quán)重子有向數(shù)據(jù)圖放在前面,小權(quán)重子有向數(shù)據(jù)圖放后。然后比較第2個(gè)子有向數(shù)據(jù)圖的權(quán)重和第3個(gè)子有向數(shù)據(jù)圖的權(quán)重,將大權(quán)重的子有向數(shù)據(jù)圖放在前面,小權(quán)重的子有向數(shù)據(jù)圖放在后面,如此繼續(xù),直至比較最后兩個(gè)子有向數(shù)據(jù)圖,將大權(quán)重子有向數(shù)據(jù)圖放在前面,小權(quán)重的子有向數(shù)據(jù)圖放后。至此第一趟結(jié)束,將最小的權(quán)重的子有向數(shù)據(jù)圖放到了最后。在第二趟仍從第一對(duì)子有向數(shù)據(jù)圖開始比較(因?yàn)榭赡苡捎诘?個(gè)子有向數(shù)據(jù)圖和第3個(gè)子有向 數(shù)據(jù)圖的交換,使得第I個(gè)子有向數(shù)據(jù)圖權(quán)重不再大于第2個(gè)子有向數(shù)據(jù)圖權(quán)重),將大權(quán)重的子有向數(shù)據(jù)圖放在前面,小權(quán)重的子有向數(shù)據(jù)圖放后,一直比較到倒數(shù)第二個(gè)子有向數(shù)據(jù)圖(倒數(shù)第一的位置上已經(jīng)是最小的子有向數(shù)據(jù)圖),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個(gè)新的最小權(quán)重的子有向數(shù)據(jù)圖(其實(shí)在整個(gè)數(shù)列中是第二小權(quán)重的子有向數(shù)據(jù)圖)。重復(fù)多趟,直到全部的子有向數(shù)據(jù)圖文件的權(quán)值形成由大到小的順序即可,最終形成圖9所示的權(quán)值順序。優(yōu)選地,在實(shí)施例中,按照權(quán)值的順序,對(duì)各個(gè)子有向數(shù)據(jù)圖文件進(jìn)行分組。參見圖10,分組的過程包括S31 :按照權(quán)值有大到小的順序依次讀取每個(gè)子有向數(shù)據(jù)圖文件;S32 :判斷是否為最后ー個(gè)子有向數(shù)據(jù)圖文件;如果是,則執(zhí)行S33末尾處理,以及S34輸出完成結(jié)果;如果否,則執(zhí)ィ了 S35,新建組;S36 :判斷當(dāng)前的子有向數(shù)據(jù)圖文件是否為并行組的文件;如果是,則執(zhí)行S37,如果否,則執(zhí)行S38 ;如果當(dāng)前的子有向數(shù)據(jù)圖文件之后有權(quán)值相等、位置相鄰的子有向數(shù)據(jù)圖文件,則該子有向數(shù)據(jù)圖文件為并行組文件。例如,圖5中的作為數(shù)據(jù)節(jié)點(diǎn)3的子有向數(shù)據(jù)圖文件,與其相鄰的有數(shù)據(jù)節(jié)點(diǎn),其權(quán)值相等,位置相鄰,則數(shù)據(jù)節(jié)點(diǎn)3作為并行組的子有向數(shù)據(jù)圖文件。S37 :設(shè)置當(dāng)前組滿,并執(zhí)行S35,新建組;S38 :將該子有向數(shù)據(jù)圖文件加入當(dāng)前組;例如,圖5中作為數(shù)據(jù)節(jié)點(diǎn)I的子有向數(shù)據(jù)文件,其權(quán)值為3,與其相鄰的數(shù)據(jù)節(jié)點(diǎn)的權(quán)值為1,則將該數(shù)據(jù)節(jié)點(diǎn)I加入當(dāng)前組。S39 :判斷當(dāng)前組是否放滿;如果是,則執(zhí)行S35 ;如果否,則執(zhí)行S31 ;組放滿需要滿足以下兩個(gè)條件之ー即可;I、如果當(dāng)前組內(nèi)再増加一個(gè)子有向數(shù)據(jù)圖文件,則單核處理器的硬件資源不能滿足當(dāng)前組內(nèi)的所有子有向數(shù)據(jù)圖表示的子任務(wù)。這些硬件資源是對(duì)于數(shù)據(jù)處理的資源,例如計(jì)算資源、存儲(chǔ)資源。計(jì)算資源是計(jì)算陣列的處理能力,存儲(chǔ)資源是處理器中的各種存儲(chǔ)器。計(jì)算資源在本可重構(gòu)處理器中就是計(jì)算陣列,一個(gè)計(jì)算陣列有8*8共64個(gè)子計(jì)算単元,這些子計(jì)算單元組成ー個(gè)8*8的計(jì)算陣列。也就是ー個(gè)計(jì)算陣列里能最多同時(shí)計(jì)算64個(gè)計(jì)算操作,超過了 64個(gè)計(jì)算操作就會(huì)計(jì)算資源不足。由于各個(gè)子有向數(shù)據(jù)圖文件已經(jīng)經(jīng)過I次劃分得到,所以每個(gè)子有向數(shù)據(jù)圖文件可在計(jì)算陣列內(nèi)進(jìn)行運(yùn)算。存儲(chǔ)資源是存儲(chǔ)器的存儲(chǔ)空間,“中間存儲(chǔ)器”是32字節(jié)*32,即每行有32個(gè)字節(jié),32行共1024個(gè)字節(jié)的存儲(chǔ)能力。在本文中,“中間存儲(chǔ)器”被分為3個(gè)部分,臨時(shí)數(shù)據(jù)區(qū),輸出數(shù)據(jù)區(qū)和公用數(shù)據(jù)存儲(chǔ)區(qū)。臨時(shí)數(shù)據(jù)區(qū)和輸出數(shù)據(jù)區(qū)的大小是16字節(jié)*16,有256個(gè)字節(jié)。公用數(shù)據(jù)存儲(chǔ)區(qū)的大小是32字節(jié)*16,有512個(gè)字節(jié)。每個(gè)組內(nèi)的多個(gè)子有向數(shù)據(jù)圖文件在運(yùn)算過程中會(huì)產(chǎn)生大量的公用數(shù)據(jù),這些公用數(shù)據(jù)能放置在中間存儲(chǔ)器內(nèi)的存儲(chǔ)空間,當(dāng)“中間存儲(chǔ)器”各部分的存儲(chǔ)的字節(jié)空間不夠時(shí),就會(huì)設(shè)置組已經(jīng)滿。2、當(dāng)前的組為需要并行的組,例如,在步驟S36為作為數(shù)據(jù)節(jié)點(diǎn)3的子有向數(shù)據(jù)圖文件建立的組。通過上述步驟,即可按照權(quán)值由大到小的順序,將全部的子有向數(shù)據(jù)圖文件分組。例如圖5中數(shù)據(jù)節(jié)點(diǎn)按照權(quán)值排序后形成圖9中的權(quán)值順序,由于數(shù)據(jù)節(jié)點(diǎn)3、4、數(shù)據(jù)節(jié)點(diǎn)2、5都是需要并行的組,通過上述的分組過程,需要分成4個(gè)組,加上數(shù)據(jù)節(jié)點(diǎn)I的所在的組,可分為5個(gè)組。 優(yōu)選地,按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件;上述處理過程中,對(duì)于非并行的組,單核處理器需要處理組內(nèi)的一個(gè)或多個(gè)子有向數(shù)據(jù)圖文件;如果并行的組,單核處理器僅處理組內(nèi)的一個(gè)子有向數(shù)據(jù)圖文件。優(yōu)選地,在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信息。任務(wù)編譯器后端的主要任務(wù)是為動(dòng)態(tài)可重構(gòu)處理器提供配置信息,通過配置信息來配置動(dòng)態(tài)可重構(gòu)處理器里各個(gè)核的控制器和計(jì)算陣列。由于控制器管理數(shù)據(jù)的流動(dòng),計(jì)算陣列操作數(shù)據(jù)的運(yùn)算。所以生成配置信息是任務(wù)編譯器的關(guān)鍵任務(wù)。配置信息的生成是根據(jù)控制器的控制碼和計(jì)算陣列的控制碼,按照層次關(guān)系和先后關(guān)系進(jìn)行設(shè)置配置信息。配置信息是控制碼,能夠操作多核動(dòng)態(tài)可重構(gòu)處理器的運(yùn)行??刂破鞯目刂拼a在設(shè)置有向數(shù)據(jù)圖的運(yùn)行時(shí)就相應(yīng)的生成這些控制碼,這樣控制器才能使數(shù)據(jù)有條不紊的運(yùn)行。動(dòng)態(tài)可重構(gòu)處理器的核內(nèi)控制器多,對(duì)于配置信息來說。首先要確定的是這些控制器的配置信息生成的順序。首先生成“片外數(shù)據(jù)導(dǎo)入控制器”(圖I中標(biāo)號(hào)I的控制器)的配置信息,根據(jù)這個(gè)配置信息就能夠?qū)⑦\(yùn)算陣列里需要的外部數(shù)據(jù)從“同步靜態(tài)隨機(jī)存儲(chǔ)器”導(dǎo)入到核內(nèi)。然后需要“核外數(shù)據(jù)導(dǎo)入控制器”的配置信息才能將數(shù)據(jù)的導(dǎo)入到“進(jìn)存儲(chǔ)器”或者“中間存儲(chǔ)器”中。由于數(shù)據(jù)導(dǎo)入到“中間存儲(chǔ)器”中會(huì)占用大量存儲(chǔ)空間,而且至Ij“中間存儲(chǔ)器”的數(shù)據(jù)還是要到“進(jìn)存儲(chǔ)器”中才能被“計(jì)算陣列”使用。所以為了節(jié)省空間和加快運(yùn)行,將“讀緩沖器”的數(shù)據(jù)的“核外數(shù)據(jù)導(dǎo)入控制器”(分別為圖I中標(biāo)號(hào)為2和7的控制器)的配置信息設(shè)置只輸出到“進(jìn)存儲(chǔ)器”。當(dāng)數(shù)據(jù)到了“進(jìn)存儲(chǔ)器”中,“計(jì)算陣列”的操作是根據(jù)數(shù)據(jù)流圖里的個(gè)個(gè)節(jié)點(diǎn)的操作配置的。由于ー組有向數(shù)據(jù)圖中,前面的有向數(shù)據(jù)圖的中間數(shù)據(jù)可能會(huì)被后面的有向數(shù)據(jù)圖利用,所以“計(jì)算陣列”中的ー些中間計(jì)算結(jié)果會(huì)被輸出到“出存儲(chǔ)器”。這也是編譯器生成的“計(jì)算陣列”的配置信息的一部分?!坝?jì)算陣列”的輸出數(shù)據(jù)會(huì)輸出到“出存儲(chǔ)器”,這些數(shù)據(jù)有三種一種是本組中后面的有向數(shù)據(jù)圖所需要的數(shù)據(jù),這些數(shù)據(jù)要被放入“中間存儲(chǔ)器”;ー種是最終的計(jì)算結(jié)果,即要通過“寫緩沖器”輸出到“同步靜態(tài)隨機(jī)存儲(chǔ)器”中的數(shù)據(jù);還有一種是后續(xù)的組的有向數(shù)據(jù)圖它們需要的數(shù)據(jù),這些需要放入“公用存儲(chǔ)器中”。由于控制器控制著數(shù)據(jù)流動(dòng)的単一性,數(shù)據(jù)不能同時(shí)傳到這三個(gè)存儲(chǔ)器中。
      對(duì)于同時(shí)含有ー種以上這些類型的數(shù)據(jù),必須設(shè)計(jì)好“出存儲(chǔ)器”如何輸出。這時(shí),“核外數(shù)據(jù)存儲(chǔ)控制器”(分別為圖I中的控制器4,5,9)的配置信息會(huì)根據(jù)優(yōu)先級(jí)來決定輸出到哪ー個(gè)存儲(chǔ)器。具體優(yōu)先級(jí)是寫到“中間存儲(chǔ)器”的數(shù)據(jù)的優(yōu)先級(jí)大于寫到“公用存儲(chǔ)器”的數(shù)據(jù)的優(yōu)先級(jí),寫到“公用存儲(chǔ)器”的數(shù)據(jù)優(yōu)先級(jí)大于寫到“寫緩沖器”的數(shù)據(jù)的優(yōu)先級(jí)。優(yōu)先級(jí)大的將決定“出存儲(chǔ)器”的數(shù)據(jù)輸出方向,當(dāng)有組內(nèi)后續(xù)有向數(shù)據(jù)圖它們需要的數(shù)據(jù)時(shí),不管是否還有其他類型的數(shù)據(jù),“核外數(shù)據(jù)存儲(chǔ)控制器”都會(huì)控制數(shù)據(jù)輸出到“中間存儲(chǔ)器”中。按照“中間存儲(chǔ)器”空間分配算法,組內(nèi)和后續(xù)組內(nèi)的有向數(shù)據(jù)圖它們需要的數(shù)據(jù)被存放在“中間存儲(chǔ)器”的臨時(shí)數(shù)據(jù)區(qū),最終的計(jì)算結(jié)果數(shù)據(jù)被放在輸出數(shù)據(jù)區(qū)?!爸虚g存儲(chǔ)器” 的數(shù)據(jù)輸出到“進(jìn)存儲(chǔ)器”需要“核內(nèi)中間數(shù)據(jù)讀入控制器”(圖I中的控制器8)控制數(shù)據(jù)的讀入?!爸虚g存儲(chǔ)器”的“公用數(shù)據(jù)存儲(chǔ)區(qū)”是存放從“公用存儲(chǔ)器”來的數(shù)據(jù)。而“公用存儲(chǔ)器”是存儲(chǔ)有向數(shù)據(jù)圖組間中間數(shù)據(jù)的,而且是四個(gè)核共享“公用存儲(chǔ)器”?!爸虚g存儲(chǔ)器”的數(shù)據(jù)到“進(jìn)存儲(chǔ)器”吋,“運(yùn)算陣列”開始ー組內(nèi)的一個(gè)有向數(shù)據(jù)圖的運(yùn)算操作。得到的運(yùn)算結(jié)果按照前述的各種類型分配到各種存儲(chǔ)器里。當(dāng)ー組內(nèi)所有的有向數(shù)據(jù)圖都運(yùn)行完后,會(huì)在后面加幾個(gè)無運(yùn)算的有向數(shù)據(jù)圖,通過這些無運(yùn)算的有向數(shù)據(jù)圖通過“運(yùn)算陣列”將“中間存儲(chǔ)器”的“臨時(shí)數(shù)據(jù)區(qū)”的后面其他組需要的中間數(shù)據(jù)導(dǎo)出到“公用存儲(chǔ)器”,將“輸出數(shù)據(jù)區(qū)”的最終結(jié)果導(dǎo)出到“同步靜態(tài)隨機(jī)存儲(chǔ)器”里。對(duì)于并行的有向數(shù)據(jù)圖組,每個(gè)單核將單獨(dú)運(yùn)行可以并行的有向數(shù)據(jù)圖組的ー個(gè)組。有幾組并行就分配幾個(gè)核給它,由于核的數(shù)量為4,所以可以并行組最多為4個(gè)。每個(gè)組按照上述的單核執(zhí)行情況在各自的單核里執(zhí)行。對(duì)于各組的中間數(shù)據(jù)交互是通過“公用存儲(chǔ)器”,通過“公用存儲(chǔ)器”,每組需要的其他組的數(shù)據(jù)從“公用存儲(chǔ)器”讀入,每組供給其他組的中間數(shù)據(jù)也將存儲(chǔ)到“公用存儲(chǔ)器”。這些并行數(shù)據(jù)的交互操作,最終可以通過設(shè)置進(jìn)出“公用存儲(chǔ)器”的“核外數(shù)據(jù)存儲(chǔ)控制器”和“片內(nèi)中間數(shù)據(jù)導(dǎo)入控制器”(分別為圖I中控制器3,10)的配置信息來控制。按照上面的分析,將配置信息分為三層,最內(nèi)一層是每個(gè)單核內(nèi)的“計(jì)算陣列”的配置信息,這層配置信息處理“計(jì)算陣列”的計(jì)算控制和安排計(jì)算結(jié)果輸出到“出存儲(chǔ)器”;第二層是配置信息中間層,這層配置信息有“片內(nèi)中間數(shù)據(jù)導(dǎo)入控制器”、“核外數(shù)據(jù)導(dǎo)入控制器”、“核內(nèi)中間數(shù)據(jù)讀入控制器”和“核外數(shù)據(jù)存儲(chǔ)控制器”等控制器的配置信息第三層配置信息室最外層,這層配置信息有全部有向數(shù)據(jù)圖的分組的配置信息,包括如何并行分組的情況,還有“片外數(shù)據(jù)導(dǎo)入控制器”和“片外數(shù)據(jù)存儲(chǔ)控制器”的配置信息。參見圖11,通過這種關(guān)系,數(shù)據(jù)就經(jīng)過如下的配置過程。從最外層的“片外數(shù)據(jù)導(dǎo)入控制器”進(jìn)入,經(jīng)過第二層的“中間數(shù)據(jù)導(dǎo)入控制器”和“核外數(shù)據(jù)導(dǎo)入控制器”等進(jìn)入最內(nèi)層的“計(jì)算陣列”,再?gòu)摹俺龃鎯?chǔ)器”出來進(jìn)入中間層的“核外數(shù)據(jù)存儲(chǔ)控制器”和“核內(nèi)中間數(shù)據(jù)讀入控制器”等,一組有向數(shù)據(jù)圖都在中間層和最內(nèi)層的配置信息控制下執(zhí)行完了,最后從第三層的“片外數(shù)據(jù)存儲(chǔ)控制器”把最終結(jié)果數(shù)據(jù)輸出到“同步靜態(tài)隨機(jī)存儲(chǔ)器”中。這樣ー層扣ー層,使得數(shù)據(jù)有條不紊的輸入輸出。優(yōu)選地,上述生成配置信息的過程中,圖I中每個(gè)單核處理器處理ー個(gè)組的子有向數(shù)據(jù)圖文件,會(huì)產(chǎn)生大量的臨時(shí)數(shù)據(jù),這些臨時(shí)數(shù)據(jù)需要暫存在中間存儲(chǔ)器內(nèi)。需要對(duì)中間存儲(chǔ)器內(nèi)的空間進(jìn)行分配,以提高處理的效率。通常臨時(shí)數(shù)據(jù)區(qū)、輸出數(shù)據(jù)區(qū)、公用數(shù)據(jù)存儲(chǔ)區(qū)的空間比例為I : I : 3。
      例如,在實(shí)施例中,參見圖12,實(shí)施例中的中間存儲(chǔ)器共有16*32字節(jié)=1024字節(jié)。將中間存儲(chǔ)器分為三個(gè)部分,三個(gè)部分為左上中間數(shù)據(jù)存儲(chǔ)區(qū),右上輸出數(shù)據(jù)區(qū),里面黒色方塊區(qū)域?yàn)橛行?shù)據(jù)。下方的子単元交換數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)區(qū)。開辟出公用存儲(chǔ)器數(shù)據(jù)存放區(qū)是為了更好地公用存儲(chǔ)器進(jìn)行數(shù)據(jù)交流,公用存儲(chǔ)器為16*32字節(jié)的存儲(chǔ)器。由干“寫緩存器”和“公用存儲(chǔ)器”的局限性。為了更好地利用存儲(chǔ)資源,將“中間存儲(chǔ)器”中的公用存儲(chǔ)器數(shù)據(jù)存放區(qū)設(shè)置為16*16byte。輸出數(shù)據(jù)區(qū)的數(shù)據(jù)存儲(chǔ)方式為列排列,如圖11所示。輸出到“同步靜態(tài)隨即存儲(chǔ)器”的數(shù)據(jù)被從外按一定算法排列在輸出數(shù)據(jù)區(qū)。這樣在不刷新輸出數(shù)據(jù)區(qū)時(shí),能更好地重復(fù)利用臨時(shí)數(shù)據(jù)區(qū)。在動(dòng)態(tài)可重構(gòu)處理器運(yùn)行過程中,由于數(shù)據(jù)多行多列組成的數(shù)據(jù)塊,數(shù)據(jù)在各個(gè)存儲(chǔ)區(qū)域中不斷地讀寫,會(huì)產(chǎn)生大量的冗余數(shù)據(jù)。有些冗余數(shù)據(jù)過于龐大,以至干“進(jìn)存儲(chǔ)器”都不能容納這個(gè)包含冗余數(shù)據(jù)的ニ維數(shù)據(jù)塊。這時(shí),編譯器就會(huì)出錯(cuò),無法處理這些子有向數(shù)據(jù)圖。這些數(shù)據(jù)塊作為公共數(shù)據(jù)的一部分。首先分析“進(jìn)存儲(chǔ)器”的數(shù)據(jù)來源,如圖I所示。數(shù)據(jù)可以從“讀緩沖器”、“中間存儲(chǔ)器”、“公用存儲(chǔ)器”過來,“讀緩沖器”的數(shù)據(jù)是在片內(nèi)是單向來的,如果要進(jìn)行數(shù)據(jù)重組織,則必須對(duì)片外同步靜態(tài)隨即存儲(chǔ)器的數(shù)據(jù)翻新,時(shí)間耗費(fèi)將是巨大的?!肮么鎯?chǔ)器”的數(shù)據(jù)直接進(jìn)入“進(jìn)存儲(chǔ)器”供ー個(gè)“計(jì)算陣列”使用是可以的,但ー組有向數(shù)據(jù)圖包含很多子有向數(shù)據(jù)圖,有的子有向數(shù)據(jù)圖使用“公用存儲(chǔ)器”的數(shù)據(jù),有些子有向數(shù)據(jù)圖則不使用“公用存儲(chǔ)器”的數(shù)據(jù),因而不能靈活適應(yīng)需求?!爸虚g存儲(chǔ)器”中的公用數(shù)據(jù)存儲(chǔ)區(qū)能在一組子有向數(shù)據(jù)圖的存活時(shí)間內(nèi)有效存儲(chǔ)“公用存儲(chǔ)器”的數(shù)據(jù)供子有向數(shù)據(jù)圖使用,而且通過“中間存儲(chǔ)器”-“進(jìn)存儲(chǔ)器”-“計(jì)算陣列”-“出存儲(chǔ)器”-“公用存儲(chǔ)器”-“中間存儲(chǔ)器”這個(gè)環(huán)路能夠很好的進(jìn)行有效數(shù)據(jù)組織,使數(shù)據(jù)塊的有效數(shù)據(jù)被可重構(gòu),重組為適應(yīng)“進(jìn)緩沖器”的ニ維數(shù)據(jù)塊。為了提高中間存儲(chǔ)器的空間利用率,需要對(duì)中間存儲(chǔ)器內(nèi)的臨時(shí)數(shù)據(jù)區(qū)、公用數(shù)據(jù)存儲(chǔ)區(qū)內(nèi)的冗余數(shù)據(jù)進(jìn)行重構(gòu)。中間存儲(chǔ)器中數(shù)據(jù)塊,在輸入“進(jìn)存儲(chǔ)器”的時(shí)需要進(jìn)行判斷。當(dāng)數(shù)據(jù)在“進(jìn)存儲(chǔ)器”的行號(hào)大于“進(jìn)存儲(chǔ)器”的行號(hào)最大值,數(shù)據(jù)塊就不能被放進(jìn),需要進(jìn)行重構(gòu)。有向數(shù)據(jù)圖組在當(dāng)前的子有向數(shù)據(jù)圖終止,當(dāng)前子有向數(shù)據(jù)圖進(jìn)入新組。當(dāng)前子有向數(shù)據(jù)圖的依賴數(shù)據(jù)塊則需進(jìn)入“計(jì)算陣列”進(jìn)行無運(yùn)算的數(shù)據(jù)重組。對(duì)于中間存儲(chǔ)器的空間需要充足的ニ維數(shù)據(jù)分為三種情況一“臨時(shí)數(shù)據(jù)區(qū)”數(shù)據(jù)含冗余過多需要重構(gòu);ニ“中間存儲(chǔ)器”中的公用數(shù)據(jù)存儲(chǔ)區(qū)冗余數(shù)據(jù)多,需要重構(gòu);三臨時(shí)數(shù)據(jù)區(qū)和公用數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)組合冗余數(shù)據(jù)多,需要重構(gòu)。對(duì)于第一種、第二種情況將ニ維數(shù)據(jù)進(jìn)行重新標(biāo)記“出存儲(chǔ)器”地址,將這ニ維數(shù)據(jù)塊通過“進(jìn)存儲(chǔ)器”輸入進(jìn)“計(jì)算陣列”,在計(jì)算陣列內(nèi)進(jìn)行數(shù)據(jù)重組,數(shù)據(jù)重組后會(huì)消除無效數(shù)據(jù)行,可根據(jù)數(shù)據(jù)塊中行標(biāo)志位確定多個(gè)有效數(shù)據(jù)行,并將多個(gè)所述有效數(shù)據(jù)行調(diào)整成位置相鄰行。通過之前標(biāo)記的“出存儲(chǔ)器”地址,數(shù)據(jù)會(huì)進(jìn)行重排進(jìn)入“出存儲(chǔ)器”。進(jìn)入“出存儲(chǔ)器”后數(shù)據(jù)被按照“出存儲(chǔ)器”的排列順序進(jìn)入“公用存儲(chǔ)器”。 在下一組子有向數(shù)據(jù)圖開始的時(shí)候,“公用存儲(chǔ)器”的數(shù)據(jù)被送入“中間存儲(chǔ)器”中的公用數(shù)據(jù)存儲(chǔ)區(qū)。第三種情況的處理方法是將它分解為第一種和第二種情況處理。如圖13所示,“中間存儲(chǔ)器”的“臨時(shí)數(shù)據(jù)區(qū)”的冗余數(shù)據(jù)過多,其中,黒色塊數(shù)據(jù)所在行為有效數(shù)據(jù)行。兩行黑色塊數(shù)據(jù)行之間的數(shù)據(jù)位無效數(shù)據(jù),數(shù)據(jù)塊在進(jìn)存儲(chǔ)器中的行號(hào)大于進(jìn)存儲(chǔ)器中的最大行號(hào)。由于數(shù)據(jù)塊的處理方式使有效數(shù)據(jù)不能被導(dǎo)入計(jì)算陣列進(jìn)行有效運(yùn)算。為了消除這些冗余數(shù)據(jù)帶來的影響,需要進(jìn)行數(shù)據(jù)可重構(gòu)。數(shù)據(jù)可重構(gòu)是進(jìn)行有效數(shù)據(jù)的重新組織,不進(jìn)行功能運(yùn)算,所以可以分次將有效數(shù)據(jù)進(jìn)行導(dǎo)入組織,圖中是將“臨時(shí)數(shù)據(jù)區(qū)”的有效數(shù)據(jù)進(jìn)行數(shù)據(jù)重構(gòu)為例,“中間存儲(chǔ)器”的公用數(shù)據(jù)存儲(chǔ)區(qū)的有效數(shù)據(jù)如需要重構(gòu)也可以按照這種方法進(jìn)行。圖14中顯示了將導(dǎo)入“進(jìn)存儲(chǔ)器”需要重構(gòu)的有效數(shù)據(jù)和冗余數(shù)據(jù)的示意圖,經(jīng)過計(jì)算陣列的數(shù)據(jù)過渡,計(jì)算陣列在此作用只是進(jìn)行數(shù)據(jù)組織,而不進(jìn)行運(yùn)算實(shí)現(xiàn)。被標(biāo)記“出存儲(chǔ)器”地址的有效數(shù)據(jù)重新組織被計(jì)算陣列輸出至IJ“出存儲(chǔ)器”中,將有效數(shù)據(jù)行調(diào)整為圖15所示的位置相鄰行?!俺龃鎯?chǔ)器”將圖15中的數(shù)據(jù)塊數(shù)據(jù)放入到“公用存儲(chǔ)器”,公用存儲(chǔ)器在需要有效數(shù)據(jù)的有向數(shù)據(jù)圖的配置信息來 時(shí)將數(shù)據(jù)導(dǎo)入到“中間存儲(chǔ)器”的公用數(shù)據(jù)存儲(chǔ)區(qū)。由于消除了無效數(shù)據(jù),可有效降低“中間存儲(chǔ)器”的公用數(shù)據(jù)存儲(chǔ)區(qū)的空間。本發(fā)明的實(shí)施例還提供一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的裝置,參見圖16,包括劃分模塊,用于通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件;分組模塊,用于將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組;控制模塊,用于按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件;配置模塊,用于在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信
      O本發(fā)明的裝置實(shí)施例,對(duì)生成的子有向數(shù)據(jù)圖文件進(jìn)行分組,采用圖2中的各個(gè)單核處理器依次同時(shí)各處理ー個(gè)組的有向數(shù)據(jù)圖文件,從而各個(gè)單核處理器并行處理各個(gè)組,提聞處通效率。所述裝置還包括權(quán)值模塊,用于根據(jù)各個(gè)所述子有向數(shù)據(jù)圖文件的之間的數(shù)據(jù)結(jié)構(gòu)關(guān)系,確定每個(gè)所述子有向數(shù)據(jù)圖文件的權(quán)值;所述分組模塊包括第一子模塊,用于按照所述權(quán)值由大到小的順序,逐個(gè)將子有向數(shù)據(jù)圖文件放入當(dāng)前創(chuàng)建的組中;第二子模塊,用于如果判斷出當(dāng)前放入所述組中的子有向數(shù)據(jù)圖文件,使得所述當(dāng)前組所有子有向數(shù)據(jù)圖文件的公共數(shù)據(jù)之和大于存儲(chǔ)區(qū)域,則將所述當(dāng)前的子有向數(shù)據(jù)圖文件放入到新創(chuàng)建的組中;第三子模塊,用于在所述判斷過程中,如果判斷出所述當(dāng)前放入的子有向數(shù)據(jù)圖文件存在位置相鄰、權(quán)值相同的子有向數(shù)據(jù)圖文件,則將權(quán)值相同、位置相鄰的每個(gè)子有向數(shù)據(jù)圖文件各放入到一個(gè)單獨(dú)為其創(chuàng)建的組中。對(duì)于本發(fā)明各個(gè)實(shí)施例中所闡述的方法和裝置,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā) 明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法,其特征在于,包括 通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件; 將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組; 按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中ー個(gè)組的子有向數(shù)據(jù)圖文件; 在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信息。
      2.根據(jù)權(quán)利要求I所述的方法,其特征在于,還包括 根據(jù)各個(gè)所述子有向數(shù)據(jù)圖文件的之間的數(shù)據(jù)結(jié)構(gòu)關(guān)系,確定每個(gè)所述子有向數(shù)據(jù)圖文件的權(quán)值; 按照所述權(quán)值由大到小的順序,執(zhí)行所述劃分為多個(gè)組的步驟。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述劃分為多個(gè)組的過程包括 逐個(gè)將子有向數(shù)據(jù)圖文件放入當(dāng)前創(chuàng)建的組中; 如果判斷出當(dāng)前放入所述組中的子有向數(shù)據(jù)圖文件,使得所述當(dāng)前組所有子有向數(shù)據(jù)圖文件的公共數(shù)據(jù)之和大于存儲(chǔ)區(qū)域,則將所述當(dāng)前的子有向數(shù)據(jù)圖文件放入到新創(chuàng)建的組中。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括 在所述判斷過程中,如果判斷出所述當(dāng)前放入的子有向數(shù)據(jù)圖文件存在位置相鄰、權(quán)值相同的子有向數(shù)據(jù)圖文件,則將權(quán)值相同、位置相鄰的每個(gè)子有向數(shù)據(jù)圖文件各放入到一個(gè)單獨(dú)為其創(chuàng)建的組中。
      5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述每個(gè)單核處理子有向數(shù)據(jù)圖文件的過程中,判斷到讀入的數(shù)據(jù)塊的最大行號(hào)大于存儲(chǔ)區(qū)域的行號(hào)最大值,則清除所述數(shù)據(jù)塊中的無效數(shù)據(jù)。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述存儲(chǔ)區(qū)域?yàn)樗鰡魏藘?nèi)的進(jìn)存儲(chǔ)器,所述清除無效數(shù)據(jù)的過程包括 根據(jù)數(shù)據(jù)塊中行標(biāo)志位確定多個(gè)有效數(shù)據(jù)行; 在計(jì)算陣列內(nèi)將所述數(shù)據(jù)塊的有效數(shù)據(jù)行的地址修改為在出存儲(chǔ)器內(nèi)的位置相鄰行的地址。
      7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括 將地址調(diào)整后的所述數(shù)據(jù)塊從所述出存儲(chǔ)器寫入到所述多核動(dòng)態(tài)可重構(gòu)處理器的公用存儲(chǔ)器; 將所述公用存儲(chǔ)器內(nèi)的所述數(shù)據(jù)塊寫入到中間存儲(chǔ)器。
      8.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)關(guān)系為樹形結(jié)構(gòu)關(guān)系,所述確定權(quán)值的過程包括 將所述子有向數(shù)據(jù)圖文件內(nèi)作為葉子節(jié)點(diǎn)的數(shù)據(jù)節(jié)點(diǎn)的權(quán)值設(shè)置為第一權(quán)值; 按照所述樹形結(jié)構(gòu)關(guān)系,將每個(gè)父節(jié)點(diǎn)的權(quán)值設(shè)置為其所有子節(jié)點(diǎn)的權(quán)值、以及第ニ權(quán)值之和。
      9.一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的裝置,其特征在于,包括 劃分模塊,用于通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件; 分組模塊,用于將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組;控制模塊,用于按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件; 配置模塊,用于在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信息。
      10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括 權(quán)值模塊,用于根據(jù)各個(gè)所述子有向數(shù)據(jù)圖文件的之間的數(shù)據(jù)結(jié)構(gòu)關(guān)系,確定每個(gè)所述子有向數(shù)據(jù)圖文件的權(quán)值; 所述分組模塊包括 第一子模塊,用于按照所述權(quán)值由大到小的順序,逐個(gè)將子有向數(shù)據(jù)圖文件放入當(dāng)前創(chuàng)建的組中; 第二子模塊,用于如果判斷出當(dāng)前放入所述組中的子有向數(shù)據(jù)圖文件,使得所述當(dāng)前組所有子有向數(shù)據(jù)圖文件的公共數(shù)據(jù)之和大于存儲(chǔ)區(qū)域,則將所述當(dāng)前的子有向數(shù)據(jù)圖文件放入到新創(chuàng)建的組中; 第三子模塊,用于在所述判斷過程中,如果判斷出所述當(dāng)前放入的子有向數(shù)據(jù)圖文件存在位置相鄰、權(quán)值相同的子有向數(shù)據(jù)圖文件,則將權(quán)值相同、位置相鄰的每個(gè)子有向數(shù)據(jù)圖文件各放入到一個(gè)單獨(dú)為其創(chuàng)建的組中。
      全文摘要
      本發(fā)明公開了一種多核動(dòng)態(tài)可重構(gòu)處理器生成配置信息的方法和裝置,包括通過有向數(shù)據(jù)圖文件生成多個(gè)子有向數(shù)據(jù)圖文件;將多個(gè)所述子有向數(shù)據(jù)圖文件依次劃分為多個(gè)組;按照劃分后的組的順序,多核動(dòng)態(tài)可重構(gòu)處理器中的每個(gè)單核同時(shí)各處理其中一個(gè)組的子有向數(shù)據(jù)圖文件;在處理每個(gè)所述子有向數(shù)據(jù)圖文件的過程中,生成相應(yīng)的配置信息。本發(fā)明的實(shí)施例,對(duì)生成的子有向數(shù)據(jù)圖文件進(jìn)行分組,采用多核內(nèi)的各個(gè)單核處理器依次同時(shí)各處理一個(gè)組的有向數(shù)據(jù)圖文件,從而各個(gè)單核處理器并行處理各個(gè)組,提高處理效率。
      文檔編號(hào)G06F15/177GK102650980SQ20121010250
      公開日2012年8月29日 申請(qǐng)日期2012年4月9日 優(yōu)先權(quán)日2012年4月9日
      發(fā)明者劉石柱, 尹首一, 殷崇勇 申請(qǐng)人:清華大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1