專利名稱:可重構(gòu)裝置及其方法、信息處理設(shè)備及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種可重構(gòu)裝置、處理分配方法、處理配置方法、信息處理設(shè)備及其控制方法。
背景技術(shù):
傳統(tǒng)上,提出了ー種包括所制造的LSI電路設(shè)備的、可以通過改變內(nèi)部電路結(jié)構(gòu)來改變該電路所執(zhí)行的處理內(nèi)容的可重構(gòu)裝置。由于可以改變所制造的LSI電路設(shè)備的處理,因而不必隨著規(guī)格的改變而重新制造LSI。由于可以降低制造成本或縮短開發(fā)周期,因而當(dāng)前在各種領(lǐng)域使用這類可重構(gòu)裝置。
代表性的可重構(gòu)裝置安裝有許多LUT (查找表)或許多處理元件。各元件都與諸如多路復(fù)用器等的切換元件連接。注意,將用于使諸如LUT、處理元件或切換元件等的各結(jié)構(gòu)元件進行動作的設(shè)置統(tǒng)稱為電路結(jié)構(gòu)信息。盡管存在用于生成電路結(jié)構(gòu)信息的各種方法,但是這些方法中的許多方法順次執(zhí)行(I)被稱為技術(shù)映射的邏輯分配處理的步驟、(2)在各個結(jié)構(gòu)元件中物理地對處理進行配置的步驟、以及(3)對各個結(jié)構(gòu)元件進行路由的步驟。通過執(zhí)行這三個步驟,最終生成電路結(jié)構(gòu)信息。在邏輯處理分配步驟(I)中,將處理分配給結(jié)構(gòu)元件。更具體地,在無需指定物理結(jié)構(gòu)元件的情況下將各處理分配給邏輯結(jié)構(gòu)元件。作為順序改變操作用的指標,通常使用電路的面積、工作速度或功耗。在配置步驟(2)中,確定執(zhí)行各處理的物理分配、即可重構(gòu)裝置內(nèi)的結(jié)構(gòu)元件。根據(jù)配置了具有數(shù)據(jù)輸入/輸出關(guān)系的處理的處理元件之間的距離,延遲時間(最大工作頻率)由于數(shù)據(jù)通信所涉及的切換元件的數(shù)量的變化而明顯改變。為縮短延遲時間,通常重要的是將具有輸入/輸出關(guān)系的處理配置在相互盡可能靠近的處理元件中。在路由步驟(3)中,通過具有數(shù)據(jù)通信輸入/輸出關(guān)系的處理元件之間的數(shù)據(jù)通信用的切換元件來確定路由。由干與配置步驟相比,進行更詳細的路由,因而重要的確定路由以縮短處理元件之間的延遲時間。近年來,隨著集成程度的提高,可重構(gòu)裝置中可執(zhí)行的處理的規(guī)模増大。另外,對處理本身的要求變得復(fù)雜和精密,因此,在ー個可重構(gòu)裝置中可能難以一次執(zhí)行所有處理。為解決該問題,存在一種用于在ー個可重構(gòu)裝置中時分并順次執(zhí)行處理的方法。更具體地,對期望的處理進行分割,并且生成與分割后的處理相對應(yīng)的電路結(jié)構(gòu)信息。此后,基于該電路結(jié)構(gòu)信息,順次執(zhí)行可重構(gòu)裝置的電路結(jié)構(gòu)的改變操作和處理。這使得能夠在可重構(gòu)裝置中執(zhí)行大規(guī)模的處理。然而,在毎次改變電路結(jié)構(gòu)的情況下,總處理時間延長,因而使速度性能劣化。當(dāng)處理分割數(shù)量大時,這也使得處理速度劣化。作為用于解決該問題的方法,存在ー種多上下文可重構(gòu)裝置(multicontextreconfigurable device) 0上下文表示電路結(jié)構(gòu)信息,并且多上下文可重構(gòu)裝置表示安裝有用于存儲多個電路結(jié)構(gòu)信息的存儲器的可重構(gòu)裝置。當(dāng)改變電路結(jié)構(gòu)時,可以通過切換存儲器來重構(gòu)裝置,并且可以進行高速切換,因而顯著縮短了電路的重構(gòu)時間。然而,由于需要安裝電路結(jié)構(gòu)信息用的附加存儲器,因而電路規(guī)模變大。
為解決該問題,日本專利3558119號提出了一種基于骨架電路技術(shù)(skeletoncircuit technique)的方法作為用于縮短重構(gòu)時間的方法。在該方法中,預(yù)先在可重構(gòu)裝置中生成被稱為基于優(yōu)先級電路的電路結(jié)構(gòu)信息。注意,基于優(yōu)先級電路表示下面的電路結(jié)構(gòu)信息,該電路結(jié)構(gòu)信息包括所有的多個電路結(jié)構(gòu)信息共用的共用電路部分以及不是多個電路共用的且在可重構(gòu)裝置上不共享電路結(jié)構(gòu)信息的非排他獨立電路部分。通過僅對可重構(gòu)裝置的電路的不同進行部分重構(gòu),構(gòu)建了進行處理所需的電路。與多上下文型相比,由于不需要配置用的附加存儲器,因而該方法不會增大電路規(guī)模??芍貥?gòu)裝置通常可以執(zhí)行各種類型的用途,并且由于用途的不同,共同部分少。要重構(gòu)的電路結(jié)構(gòu)信息的數(shù)量根據(jù)用途而改變。在日本專利3558119號所述的基于優(yōu)先級電路生成中,在共同部分少或者電路結(jié)構(gòu)信息的數(shù)量大且顯著超出可重構(gòu)裝置的電路規(guī)模的情況下,難以有效地縮短用于改變電路結(jié)構(gòu)的時間段。
發(fā)明內(nèi)容
本發(fā)明是考慮到上述問題而作出的,并且提供了通過考慮電路結(jié)構(gòu)改變順序而在 不增大電路規(guī)模的情況下有效地縮短電路改變時間段的可重構(gòu)裝置、處理分配方法、處理配置方法、信息處理設(shè)備及其控制方法。根據(jù)本發(fā)明的第一方面,提供一種處理分配方法,用于針對包括多個結(jié)構(gòu)元件的可重構(gòu)裝置,向各結(jié)構(gòu)元件分配處理,所述處理分配方法包括以下步驟數(shù)據(jù)流程輸入步驟,用于輸入至少兩個不同的數(shù)據(jù)流程以及數(shù)據(jù)流程的執(zhí)行順序;約束步驟,用于輸入所述結(jié)構(gòu)元件的約束;以及處理分配確定步驟,用于確定處理分配,以使得基于所述結(jié)構(gòu)元件的約束和所述執(zhí)行順序?qū)λ鼋Y(jié)構(gòu)元件進行重構(gòu)所需的設(shè)置改變計數(shù)變小。根據(jù)本發(fā)明的第二方面,提供ー種可重構(gòu)裝置,其包括能夠?qū)⒂糜趯崿F(xiàn)數(shù)據(jù)流程的處理分配至的多個結(jié)構(gòu)元件,所述可重構(gòu)裝置還包括數(shù)據(jù)流程輸入單元,用于輸入至少兩個不同的數(shù)據(jù)流程以及數(shù)據(jù)流程的執(zhí)行順序;約束輸入?yún)g元,用于輸入所述結(jié)構(gòu)元件的約束;以及處理分配確定單元,用于確定處理分配,以使得基于所述結(jié)構(gòu)元件的約束和所述執(zhí)行順序?qū)λ鼋Y(jié)構(gòu)元件進行重構(gòu)所需的設(shè)置改變計數(shù)變小。根據(jù)本發(fā)明的第三方面,提供ー種信息處理設(shè)備,其包括能夠?qū)⒂糜趯崿F(xiàn)數(shù)據(jù)流程的處理分配至的多個結(jié)構(gòu)元件,所述信息處理設(shè)備還包括輸入單元,用于輸入用于通過所述多個結(jié)構(gòu)元件實現(xiàn)第一數(shù)據(jù)流程的設(shè)置信息以及所述多個結(jié)構(gòu)元件的配置信息;以及控制器,用于基于所述設(shè)置信息和所述配置信息,將用于實現(xiàn)所述第一數(shù)據(jù)流程的處理分配給所述多個結(jié)構(gòu)元件,以使得與用于實現(xiàn)第二數(shù)據(jù)流程的設(shè)置之間要進行改變的結(jié)構(gòu)元件的數(shù)量變小。根據(jù)本發(fā)明的第四方面,提供一種信息處理設(shè)備的控制方法,所述信息處理設(shè)備包括輸入單元、控制器以及能夠?qū)⒂糜趯崿F(xiàn)數(shù)據(jù)流程的處理分配至的多個結(jié)構(gòu)元件,所述控制方法包括以下步驟輸入步驟,用于輸入用于通過所述多個結(jié)構(gòu)元件實現(xiàn)第一數(shù)據(jù)流程的設(shè)置信息以及所述多個結(jié)構(gòu)元件的配置信息;以及控制步驟,用于基于所述設(shè)置信息和所述配置信息,將用于實現(xiàn)所述第一數(shù)據(jù)流程的處理分配給所述多個結(jié)構(gòu)元件,以使得與用于實現(xiàn)第二數(shù)據(jù)流程的設(shè)置之間要進行改變的結(jié)構(gòu)元件的數(shù)量變小。根據(jù)本發(fā)明的第五方面,提供一種處理配置方法,用于針對包括多個結(jié)構(gòu)元件的可重構(gòu)裝置,確定執(zhí)行數(shù)據(jù)流程的各處理的結(jié)構(gòu)元件,所述處理配置方法包括以下步驟輸入步驟,用于輸入至少兩個不同的數(shù)據(jù)流程以及數(shù)據(jù)流程的處理順序;約束步驟,用于輸入所述可重構(gòu)裝置的所述結(jié)構(gòu)元件的約束;以及確定步驟,用于通過使用根據(jù)所述數(shù)據(jù)流程進行重構(gòu)所需的設(shè)置改變計數(shù)以及基于所述數(shù)據(jù)流程的數(shù)據(jù)輸入/輸出的依賴關(guān)系的各結(jié)構(gòu)元件之間的距離來確定所述結(jié)構(gòu)元件的配置,從而確定用于執(zhí)行所需處理的結(jié)構(gòu)元件。根據(jù)本發(fā)明的第六方面,提供ー種可重構(gòu)裝置,用于基于根據(jù)上述處理配置方法所生成的設(shè)置信息而進行工作。根據(jù)本發(fā)明,可以通過生成電路結(jié)構(gòu)信息以減少重構(gòu)所需的設(shè)置的數(shù)量,在不會增大電路規(guī)模的情況下,縮短可重構(gòu)裝置的重構(gòu)時間段。通過以下(參考附圖)對典型實施例的說明,本發(fā)明的其它特征將變得明顯。
圖I是示出包括可重構(gòu)裝置的處理設(shè)備的結(jié)構(gòu)的例子的圖;圖2是示出可重構(gòu)裝置的結(jié)構(gòu)的例子的圖;圖3是示出可重構(gòu)裝置的元件之間的數(shù)據(jù)通信過程的例子的圖;圖4是示出處理元件的結(jié)構(gòu)的例子的圖;圖5是示出配置命令的格式的例子的圖;圖6是示出存儲在處理元件的配置存儲器中的設(shè)置的概況的圖;圖7是示出用于讀取/寫設(shè)置的過程的流程圖;圖8是示出切換元件的結(jié)構(gòu)的例子的圖;圖9是示出存儲在切換元件的配置存儲器中的設(shè)置的概況的圖;圖10是示出多個數(shù)據(jù)流程的順次執(zhí)行的時序圖;圖11是示出處理分配的概況的圖;圖12是示出根據(jù)第一實施例的用于執(zhí)行數(shù)據(jù)流程的處理分配的概況的圖;圖13是示出根據(jù)第一實施例的用于執(zhí)行處理分配的處理的流程圖;圖14是示出根據(jù)第二實施例的用于執(zhí)行數(shù)據(jù)流程的處理分配的概況的圖;圖15是示出根據(jù)第三實施例的用于執(zhí)行數(shù)據(jù)流程的處理分配的概況的圖;圖16是示出根據(jù)第四實施例的用于執(zhí)行數(shù)據(jù)流程的處理分配的概況的圖;圖17是示出根據(jù)第五實施例的處理元件中的數(shù)據(jù)流程的處理的配置例子的圖;圖18是示出根據(jù)第五實施例的用于處理配置的處理元件陣列的模型例子的圖;圖19是示出根據(jù)第五實施例的用于執(zhí)行多個數(shù)據(jù)流程的處理配置的概況的圖;圖20是示出根據(jù)第五實施例的用于執(zhí)行處理配置的過程的流程圖;圖21是示出根據(jù)第六實施例的用于執(zhí)行數(shù)據(jù)流程的處理配置的概況的圖;圖22是示出根據(jù)第七實施例的用于執(zhí)行數(shù)據(jù)流程的處理配置的概況的圖;圖23是示出根據(jù)第八實施例的用于執(zhí)行數(shù)據(jù)流程的處理配置的概況的圖;圖24是示出根據(jù)第九實施例的用于限制數(shù)據(jù)流程的處理可配置范圍的概況的圖;以及圖25是示出用于創(chuàng)建電路結(jié)構(gòu)信息的設(shè)備的結(jié)構(gòu)的框圖。
具體實施例方式下面將參考附圖來詳細說明應(yīng)用本發(fā)明的優(yōu)選實施例。圖I是示出根據(jù)本發(fā)明實施例的具有可重構(gòu)裝置的系統(tǒng)的總體結(jié)構(gòu)的例子的圖。外部存儲器101將電路結(jié)構(gòu)信息106保持在其中。電路結(jié)構(gòu)信息106包括用于使可重構(gòu)裝置105的元件進行動作的ー組設(shè)置。配置控制器102經(jīng)由連接線104從存儲器101獲取電路結(jié)構(gòu)信息106。經(jīng)由連接線103將所獲取的電路結(jié)構(gòu)信息106發(fā)送給可重構(gòu)裝置105。注意,作為可重構(gòu)裝置105的例子,示出了處理元件陣列。下面將詳細說明處理元件陣列的內(nèi)部。然而,本發(fā)明不局限于各處理元件的以下結(jié)構(gòu)或以下路由結(jié)構(gòu)。圖2是示出根據(jù)本實施例的用作可重構(gòu)裝置105的處理元件陣列的概況的圖。在 可重構(gòu)裝置105中,以ニ維網(wǎng)格圖案配置各自用作具有8個輸入和8個輸出的輸入/輸出處理部件的切換元件201,并且在切換元件201的網(wǎng)格內(nèi)配置各自用作具有4個輸入和4個輸出的計算處理部件的處理元件202。在切換元件201a 201i各自的8個輸入和8個輸出中,通過連接線203a和203b,將四組各自的一個輸入和ー個輸出分別與東、西、南和北(右、左、下和上)方向上的其它四個切換元件201連接。此外,通過連接線204a和204b,將其它四組各自的一個輸入和一個輸出分別與東北、東南、西南和西北方向上的其它四個處理元件202雙向連接。切換元件201a 201i和處理元件202a 202d通過連接線205在ー個方向上串聯(lián)連接。對連接線203a、203b、204a和204b進行連接,以在切換元件201和處理元件202之間對要處理的數(shù)據(jù)進行通信。使用連接線205向切換元件201和處理元件202提供設(shè)置?;谶@些設(shè)置,切換元件201確定要處理的數(shù)據(jù)的輸入和輸出目的地,并且處理元件202確定要處理的數(shù)據(jù)的處理內(nèi)容及輸入和輸出目的地。注意,圖2中的連接線203a、203b、204a、204b和205各自的箭頭的方向表示數(shù)據(jù)的方向。切換元件201a 201i具有相同結(jié)構(gòu),并且處理元件202a 202d具有相同結(jié)構(gòu)。圖3示出使用有效信號和準備就緒信號的ニ線式握手協(xié)議作為連接線203a、203b、204a、204b和205各自的通信協(xié)議的例子。參考圖3,在作為發(fā)送器側(cè)的模塊A 301和作為接收器側(cè)的模塊B 302之間連接有數(shù)據(jù)信號線303、有效信號線304和準備就緒信號線305。發(fā)送器側(cè)經(jīng)由有效信號線304針對接收器側(cè)使用有效信號,以表示發(fā)送允許狀態(tài)。接收器側(cè)經(jīng)由準備就緒信號線305針對發(fā)送器側(cè)使用準備就緒信號,以表示數(shù)據(jù)接收允許狀態(tài)。在該協(xié)議中,在模塊A301的有效信號線304和模塊B302的準備就緒信號線305這兩者有效時的時鐘的上升沿處,將數(shù)據(jù)信號線303的數(shù)據(jù)從模塊A301發(fā)送至模塊B302。在圖3所示的波形中,分別在時刻306a、306b、306c和306d將數(shù)據(jù)A、B、C和D從模塊A301傳送至模塊B302。圖4示出處理元件202的結(jié)構(gòu)。處理元件202包括配置単元401、輸入單元402、計算單元403、輸出單元404和臨時緩沖器405。配置単元401對用于確定處理元件202的操作內(nèi)容的設(shè)置進行管理。輸入單元402基于配置単元401的設(shè)置執(zhí)行輸入處理。計算單元403基于配置単元401的設(shè)置執(zhí)行計算處理。此外,計算單元403可以將處理結(jié)果保持在臨時緩沖器405中,以再次輸入給計算單元403。輸出單元404基于配置単元401的設(shè)置執(zhí)行輸出處理。下面將更詳細地說明處理元件202的操作。輸入單元402通過連接線406從配置単元401獲取用于確定輸入目的地的設(shè)置。所獲取的設(shè)置指定與外部連接的模塊進行通信所要使用的輸入端ロ?;谠撔畔?,通過連接線204a-ne、204a-se、204a_sw或204a_nw獲取要處理的數(shù)據(jù)。注意,附圖標記ne、se、sw和nw分別表示各方向。連接線204a_ne與東北方向上配置的切換元件連接。連接線204a_se與在東南方向上配置的切換元件連接。連接線204a-sw與西南方向上配置的切換元件連接。連接線204a-nw與西北方向上配置的切換元件連接。通過連接線409將所獲取的數(shù)據(jù)發(fā)送給計算単元403。計算單元403通過連接線407從配置単元401獲取用于確定處理內(nèi)容的設(shè)置。基于所獲取的設(shè)置,計算單元403獲取從輸入單元402所發(fā)送的數(shù)據(jù),并且執(zhí)行所設(shè)置的處理。然后,計算單元403通過連接線410將處理后的數(shù)據(jù)發(fā)送給輸出単元404。計算單元403具有至少ー個計算部件。計算部件包括例如諸如加法/減法部件、 比較器、乘法器、除法器或邏輯計算部件等的計算部件、這些部件的組合、或者這些部件和其它計算部件的組合。假定作為實際例子,計算單元403可以執(zhí)行積和運算及比較運算,并且可以選擇性地在一個運算中執(zhí)行其中ー個處理。在積和運算中,単元403計算ab+cd。在比較運算中,如果a >b,則單元403輸出c ;否則,単元403輸出d。還將計算單元403配置成能夠?qū)τ讴`個輸入重復(fù)使用計算部件。當(dāng)重復(fù)使用計算部件時,通過連接線412將計算部件中所使用的處理結(jié)果臨時保存在臨時緩沖器中,然后通過連接線411將其再次輸入給計算単元403。単元403在計算部件中對再次輸入的數(shù)據(jù)執(zhí)行處理。如稍后將要詳細說明的那樣,上述設(shè)置指定運算的類型、重復(fù)處理以及各個處理所需的變量a、b、c和d所參考的值或者變量a、b、c和d在其為固定值時的值。輸出單元404通過連接線408獲取表示處理后的數(shù)據(jù)的輸出目的地的設(shè)置。所獲取的設(shè)置指定與切換元件進行通信要使用的輸出端ロ?;谠撔畔?,通過連接線204b-ne、204b-se、204b-sw或204b_nw將數(shù)據(jù)輸出給切換元件。注意,連接線204b_ne與東北方向上配置的切換元件連接。連接線204b-se與東南方向上配置的切換元件連接。連接線204b-sw與西南方向上配置的切換元件連接。連接線204b-nw與西北方向上配置的切換元件連接。接著將說明配置単元401的操作。配置単元401保持各處理元件202的唯一 ID。配置単元獲取從輸入側(cè)的連接線205所發(fā)送的設(shè)置,在自身內(nèi)對這些設(shè)置進行處理,并且通過輸出側(cè)的連接線205輸出這些設(shè)置。配置単元401具有用于存儲與其自身的ID相對應(yīng)的設(shè)置的配置存儲器413。圖5示出發(fā)送至配置単元/從配置単元所接收到的設(shè)置的配置命令501。配置命令501包括讀取/寫模式502、ID503、配置地址504和設(shè)置值505。讀取/寫模式502是用于確定配置命令的讀取/寫處理的信號。ID503是用于確定要處理的處理兀件202的信號。配置地址504是用于指定保持配置単元401的設(shè)置的存儲器內(nèi)的地址的信號。設(shè)置值505是表示實際設(shè)置值的信號?;趯嶋H基礎(chǔ)架構(gòu)來確定圖5中的位寬度M、N、O和P。下面將更詳細地說明基于上述結(jié)構(gòu)的設(shè)置。參考圖6,附圖標記601表示與由圖5的配置地址504所指定的地址相對應(yīng)的配置存儲器413的地址。附圖標記602表示與圖5的設(shè)置值505相對應(yīng)的實際設(shè)置值。在本實施例中,將每ー值都稱為設(shè)置。然而,本發(fā)明不局限于上述単元。在圖6中,將與輸入?yún)g元402、計算單元403和輸出單元404相關(guān)聯(lián)的設(shè)置保持在配置存儲器413中。使用地址0x0000_0000 ( “Ox”表示十六進制數(shù))處的設(shè)置值來確定輸入單元402的輸入目的地,并且基于該值來確定預(yù)定輸入目的地。使用地址0χ0000_0004處的迭代次數(shù)來確定計算單元403中的計算迭代計數(shù),并且基于該值來確定計算迭代計數(shù)。在本實施例中,假定多達四次計算。使用地址0χ0000_0008處的操作設(shè)置來確定第一次計算中執(zhí)行的運算的類型,并且基于該值來判斷是執(zhí)行積和運算還是執(zhí)行比較運算。使用地址0X0000_000c處的變量設(shè)置來確定第一次計算中的變量a的值的參考目的地。參考目的地的例子包括來自輸入端ロ的輸入值、配置存儲器413中所保持的固定值、以及保持之前的計算結(jié)果的臨時緩沖器的值。根據(jù)該地址處的值,將這些值中的一個輸入給變量 a。類似于地址 0x0000_000c,使用地址 0x0000_0010、0x0000_0014 和 0x0000_0018處的變量設(shè)置來分別確定第一次計算中的變量b、c和d的值的參考目的地。當(dāng)在第一次計 算中,地址0x0000_000c處所指定的參考目的地是固定值時,地址0x0000_001c處的參數(shù)具 有用于變量a的固定值。類似于地址0x0000_001c,在第一次計算中,對于變量b、c和d,使用地址 0x0000_0020、0x0000_0024 和 0x0000_0028 處的固定值。類似于地址0x0000_0008 0x0000_0028處與第一次計算相關(guān)聯(lián)的設(shè)置,地址0x0000_002c 0x0000_0094處的值分別表示第二次計算、第三次計算和第四次計算中的設(shè)置值。最后,地址0x0000_0098處的輸出選擇值是用于確定輸出單元404的輸出目的地的設(shè)置值,并且基于該值來確定預(yù)定輸出目的地。圖7示出在配置單元中執(zhí)行的處理過程。在步驟S701,輸入配置命令501。在步驟S702,配置單元401判斷輸入的配置命令501所指定的ID503是否與其本身的ID —致。如果單元401在步驟S702判斷為ID503與自身的ID不一致,則在步驟S711和S712在不執(zhí)行任何處理的情況下將輸入的配置命令501輸出;否則,単元401在步驟S703判斷讀取/寫模式502的值是否表示讀取模式。如果該值不表示讀取模式,則單元401在步驟S707判斷該值是否表示寫模式。如果均不表示這兩個模式,則單元401在步驟S711和S712在不執(zhí)行任何處理的情況下輸出命令501。如果判斷為該值表示讀取模式,則單元401在步驟S704從配置存儲器413讀出由配置地址504所指定的數(shù)據(jù)。然后,単元401在步驟S705將讀出的數(shù)據(jù)寫入輸入的配置命令501的設(shè)置值505中,并且在步驟S706輸出配置命令501。如果判斷為該值表示寫模式,則單元401在步驟S708將輸入的配置命令501的設(shè)置值505寫入由配置地址504所指定的配置存儲器413中。単元401在步驟S709不改變輸入的配置命令501的值,并且在步驟S710原樣輸出該配置命令。針對ー個配置命令可以改變ー個設(shè)置值505。通過順次發(fā)送配置命令,并且改變所有必要的設(shè)置值,實現(xiàn)了期望的處理。也就是說,基于設(shè)置的數(shù)量來確定處理內(nèi)容的切換時間。
圖8示出切換元件201的結(jié)構(gòu)。切換元件201包括配置単元801和交叉開關(guān)802。配置単元801對用于確定數(shù)據(jù)所傳送至的連接目的地的設(shè)置值進行管理。交叉開關(guān)802基于配置単元801的設(shè)置,以一一對應(yīng)關(guān)系連接輸入和輸出。類似于處理元件202的配置単元401,配置單元801保持各切換元件201的唯一 ID。配置單元801獲取從輸入側(cè)的連接線205所發(fā)送的設(shè)置值,在配置単元內(nèi)執(zhí)行處理,并且通過輸出側(cè)的連接線205輸出設(shè)置值。配置単元801將所獲取的設(shè)置保持在配置存儲器804中。配置単元801的配置命令和處理過程分別與圖5和7所示的配置命令和處理過程相同。交叉開關(guān)802通過連接線803從配置單元801獲取用于確定數(shù)據(jù)輸入和輸出目的地的設(shè)置。切換元件201基于所獲取的設(shè)置值,通過連接線 203a-w、203a-s、203b_e、203b_n、204b_ne、204b_se、204b_sw 或 204b_nw 來獲取數(shù)據(jù)。通過所連接的連接線 203a-e、203a-n、203b-w、203b-s、204a-ne、204a-se、204a-sw 或204a-nw傳送所獲取的數(shù)據(jù)。注意,連接線203a_w和203a_s分別表示與西方向和南方向上配置的切換元件的連接線。連接線203b-e和203b-n分別表示與東方向和北方向上配置的切換元件的連接線。連接線203a_e和203a_n分別表示與東方向和北方向上配置的切換元件的連接線。連接線203b-w和203b-s分別表示與西方向和南方向上配置的切換元件的連接線。連接線204a-ne、204a-se、204a_sw和204a_nw分別表示與東北方向、東南方向、西南方向和西北方向上配置的處理元件的連接線。連接線204b-ne、204b-se、204b-sw和204b-nw分別表示與東北方向、東南方向、西南方向和西北方向上配置的處理元件的連接線。 圖9示出配置存儲器804中保持的、與切換元件201的交叉開關(guān)802的輸入/輸出的連接線相關(guān)聯(lián)的設(shè)置。附圖標記901表示與由圖5的配置地址504所指定的地址相對應(yīng)的存儲器地址;并且附圖標記902表示與圖5的設(shè)置值505相對應(yīng)的設(shè)置值。地址0X0000_0000處的連接設(shè)置具有用于確定來自連接線203a-w的輸入被輸出至的連接線 203a-e、203a-n、203b-w、203b-s、204a-ne、204a-se、204a-sw 或 204a_nw 的設(shè)置值。類似于地址0x0000_0000,使用地址0x0000_0004處的設(shè)置值來確定來自連接線203a_s的輸入被輸出至的連接線。類似于地址0x0000_0000,使用地址0x0000_0008處的設(shè)置值來確定來自連接線203b-e的輸入被輸出至的連接線。類似于地址0x0000_0000,使用地址0x0000_000c處的設(shè)置值來確定來自連接線203b-n的輸入被輸出至的連接線。類似于地址0x0000_0000,使用地址0x0000_0010處的設(shè)置值來確定來自連接線204b-ne的輸入被輸出至的連接線。類似于地址0x0000_0000,使用地址0x0000_0014處的設(shè)置值來確定來自連接線204b-se的輸入被輸出至的連接線。類似于地址0x0000_0000,使用地址0x0000_0018處的設(shè)置值來確定來自連接線204b-sw的輸入被輸出至的連接線。類似于地址0x0000_0000,使用地址0x0000_001c處的設(shè)置值來確定來自連接線204b-nw的輸入被輸出至的連接線。圖10示出用于通過改變上述可重構(gòu)裝置的多個類型的結(jié)構(gòu)來實現(xiàn)期望處理的時序圖。圖10是ー個可重構(gòu)裝置順次執(zhí)行多個不同的數(shù)據(jù)流程A Z的時序圖。在本實施例中,執(zhí)行數(shù)據(jù)流程輸入以輸入數(shù)據(jù)流程和數(shù)據(jù)流程的執(zhí)行順序??梢淮畏峙浣o可重構(gòu)裝置的處理單位構(gòu)成了本實施例中處理的數(shù)據(jù)流程。預(yù)先生成用于處理各數(shù)據(jù)流程的設(shè)置??芍貥?gòu)裝置是基于針對自身預(yù)先生成的設(shè)置來進行重構(gòu)的,并且利用該結(jié)構(gòu)執(zhí)行處理。以期望的執(zhí)行順序?qū)?shù)據(jù)流程執(zhí)行這些處理。假定數(shù)據(jù)流程A經(jīng)過了處理分配,并且數(shù)據(jù)流程B是處理分配對象。更具體地,參考用于執(zhí)行經(jīng)過了處理分配的數(shù)據(jù)流程A的設(shè)置值,然后確定數(shù)據(jù)流程B的處理分配。在通過參考數(shù)據(jù)流程A的處理分配而確定了數(shù)據(jù)流程B的處理分配之后,認為數(shù)據(jù)流程B經(jīng)過了處理分配,并且數(shù)據(jù)流程C成為處理分配対象。更具體地,類似于數(shù)據(jù)流程B的處理分配的確定,參考用于執(zhí)行經(jīng)過了處理分配的數(shù)據(jù)流程B的設(shè)置值,然后確定數(shù)據(jù)流程C的處理分配。重復(fù)上述過程,使得能夠?qū)?shù)據(jù)流程A Z執(zhí)行處理分配。
說明數(shù)據(jù)流程的處理到可重構(gòu)裝置的處理元件的分配。數(shù)據(jù)流程的處理到處理元件的分配表示了用于將數(shù)據(jù)流程的各個處理邏輯分配給處理元件的方法。更具體地,如圖11所示,確定了執(zhí)行與數(shù)據(jù)流程的各節(jié)點1105相對應(yīng)的處理內(nèi)容的處理元件,并且還確定了執(zhí)行順序。在圖11的左側(cè)示出數(shù)據(jù)流程A。在圖11的中間示出處理分配例子。在圖11的右側(cè)示出基于處理分配的圖6所示的設(shè)置。如上所述,作為本實施例所述的處理元件的功能,假定了處理迭代計數(shù)、各處理的處理內(nèi)容以及處理內(nèi)容所需的固定值,并且實際地確定這些設(shè)置。假定最大處理迭代計數(shù)在本實施例中為4。將組IlOla 1104a分別按順序分配給不同的處理元件202?;诮MIlOla 1104a,分別確定處理元件202-1 202-4的設(shè)置 IlOlb 1104bο根據(jù)本發(fā)明,提供了用于降低在如圖10所示在ー個可重構(gòu)裝置中切換處理內(nèi)容(數(shù)據(jù)流程)時所需的、圖11所示的設(shè)置的數(shù)量的處理分配方法。圖12示出當(dāng)將可重構(gòu)裝置中的處理從數(shù)據(jù)流程A切換成數(shù)據(jù)流程B時的處理元件202-1 202-4的設(shè)置改變的概況。假定數(shù)據(jù)流程1204的處理對應(yīng)于時序圖中的處理1201,并且已分配該處理。還假定數(shù)據(jù)流程1205的處理對應(yīng)于時序圖中的處理1203,并且數(shù)據(jù)流程1205是處理分配對象。數(shù) 據(jù)流程1204和1205的處理被分配至的處理元件202-1 202-4表示邏輯上相同的處理元件。在數(shù)據(jù)流程A的處理中,設(shè)置IlOlb 1104b分別與處理元件202-1 202-4相關(guān)聯(lián)。在數(shù)據(jù)流程B的處理中,設(shè)置1206 1209分別與處理元件202-1 202-4相關(guān)聯(lián)。在處理元件202-1中,在該時序圖的從數(shù)據(jù)流程A到數(shù)據(jù)流程B的設(shè)置改變時間段1202期間,進行從設(shè)置IlOlb到設(shè)置1206的設(shè)置改變1210。在處理元件202-2中,在該時序圖的從數(shù)據(jù)流程A到數(shù)據(jù)流程B的設(shè)置改變時間段1202期間,進行從設(shè)置1102b到設(shè)置1207的設(shè)置改變1211。在處理元件202-3中,在該時序圖的從數(shù)據(jù)流程A到數(shù)據(jù)流程B的設(shè)置改變時間段1202期間,進行從設(shè)置1103b到設(shè)置1208的設(shè)置改變1212。在處理元件202-4中,在時序圖的從數(shù)據(jù)流程A到數(shù)據(jù)流程B的設(shè)置改變時間段1202期間,進行從設(shè)置1104b到設(shè)置1209的設(shè)置改變1213。在本實施例中,為執(zhí)行用于數(shù)據(jù)流程B的處理分配,參考經(jīng)過了處理元件202-1 202-4中的處理分配的數(shù)據(jù)流程A。然后,以降低進行設(shè)置改變1210、1211、1212和1213所需的設(shè)置改變計數(shù)為目的,對于數(shù)據(jù)流程B執(zhí)行處理分配。圖25是示出用于在將數(shù)據(jù)流程A轉(zhuǎn)變成數(shù)據(jù)流程B時的生成電路結(jié)構(gòu)信息106的設(shè)備的結(jié)構(gòu)的框圖。參考圖25,附圖標記2501表示整體控制設(shè)備的CPU ;附圖標記2502表示用于存儲引導(dǎo)程序和BIOS的ROM ;附圖標記2503表示用作CPU2501的工作區(qū)的用于存儲OS(操作系統(tǒng))和應(yīng)用程序的RAM ;以及附圖標記2504表示用于存儲OS、用于創(chuàng)建電路結(jié)構(gòu)信息106的應(yīng)用程序、和各種類型的數(shù)據(jù)的硬盤驅(qū)動器(HDD)。鍵盤2505和鼠標2506各自用作用戶接ロ。附圖標記2507表示包含視頻存儲器和顯示控制器的顯示控制器;以及附圖標記2508表示用于接收來自顯示控制器2507的視頻信號并進行顯示的顯示裝置。附圖標記2509表示用干與各種類型的外部裝置進行通信的接ロ。例如,如果接ロ 2509與圖I所示的外部存儲器101連接,則可以將由該設(shè)備所創(chuàng)建的電路結(jié)構(gòu)信息106寫入外部存儲器101中。
當(dāng)接通具有上述結(jié)構(gòu)的設(shè)備的電源時,CPU2501執(zhí)行存儲在R0M2502中的引導(dǎo)程序,將存儲在HDD2504中的OS裝載進RAM,然后啟動用于創(chuàng)建電路結(jié)構(gòu)信息106的應(yīng)用程序,從而使該設(shè)備用作電路結(jié)構(gòu)信息創(chuàng)建設(shè)備。
下面將參考圖13所示的流程圖來說明用作電路結(jié)構(gòu)信息創(chuàng)建設(shè)備的設(shè)備的處理過程。盡管該過程是基于模擬退火的處理分配方法的例子,但是本發(fā)明不局限于此??梢允褂弥T如遺傳算法等的近似解和各種數(shù)值最優(yōu)化方法。將參考圖12說明用于解釋該流程圖所需的元件。假定i是表示每ー數(shù)據(jù)流程的索引,j是處理元件的索引,并且k是與圖6的地址601相對應(yīng)的處理元件內(nèi)的存儲器的配置地址。然后,Ui,ふ,表示各存儲 器內(nèi)的設(shè)置值。假定數(shù)據(jù)流程i0經(jīng)過了處理分配,并且數(shù)據(jù)流程il是處理分配対象。在步驟S1301,輸入多個數(shù)據(jù)流程和它們的執(zhí)行順序關(guān)系(i的順序)。對于經(jīng)過了處理分配的數(shù)據(jù)流程,同樣輸入其設(shè)置值Uic^, k。在本實施例中,數(shù)據(jù)流程1204已經(jīng)過了處理分配,并且各處理元件的存儲器內(nèi)的與數(shù)據(jù)流程1204相關(guān)聯(lián)的設(shè)置值是固定值。數(shù)據(jù)流程1205是處理分配対象。在步驟S1302,輸入所需規(guī)格和硬件約束。硬件約束包括諸如可重構(gòu)裝置內(nèi)的處理元件的數(shù)量、處理元件中可處理的處理迭代計數(shù)以及計算單元的類型等的硬件配置的約束。所需規(guī)格包括諸如使用的處理元件的數(shù)量、處理迭代計數(shù)和可使用的計算單元的類型等的在硬件使用中應(yīng)受限制的項。約束還包括在處理的輸入和輸出之間的順序關(guān)系中沒有矛盾以及沒有死鎖。對于經(jīng)過了處理分配的數(shù)據(jù)流程,約束包括不改變處理分配。注意,本發(fā)明不局限于上述約束。在步驟S1303,對于作為處理分配對象的數(shù)據(jù)流程執(zhí)行處理分配。作為初始處理分配方法,使用用于隨機分配處理的方法或用于按照數(shù)據(jù)流程的深度方向順序分配處理的方法。然而,本發(fā)明不局限于此。除在初始分配中以外,還基于模擬退火改變處理分配,從而隨機選擇和交換兩個配置。在本實施例中,對于作為處理分配對象的數(shù)據(jù)流程1205執(zhí)行初始處理分配或處理分配改變。對于經(jīng)過了處理分配的數(shù)據(jù)流程,根據(jù)約束不進行處理分配改變。在步驟S1304,判斷處理分配結(jié)果是否滿足步驟S1302輸入的所需規(guī)格。如以下等式⑴所示,如果滿足約束,則在懲罰變量Ptl中設(shè)置O ;否則,在懲罰變量Po中設(shè)置懲罰值cpQ。 懲罰變量
權(quán)利要求
1.一種處理分配方法,用于針對包括多個結(jié)構(gòu)元件的可重構(gòu)裝置,向各結(jié)構(gòu)元件分配處理,所述處理分配方法包括以下步驟 數(shù)據(jù)流程輸入步驟,用于輸入至少兩個不同的數(shù)據(jù)流程以及數(shù)據(jù)流程的執(zhí)行順序; 約束步驟,用于輸入所述結(jié)構(gòu)元件的約束;以及 處理分配確定步驟,用于確定處理分配,以使得基于所述結(jié)構(gòu)元件的約束和所述執(zhí)行順序?qū)λ鼋Y(jié)構(gòu)元件進行重構(gòu)所需的設(shè)置改變計數(shù)變小。
2.根據(jù)權(quán)利要求I所述的處理分配方法,其特征在于,所輸入的數(shù)據(jù)流程中的至少ー個數(shù)據(jù)流程經(jīng)過了處理分配,并且通過參考經(jīng)過了處理分配的數(shù)據(jù)流程,對沒有經(jīng)過處理分配的數(shù)據(jù)流程執(zhí)行處理分配。
3.根據(jù)權(quán)利要求I所述的處理分配方法,其特征在于,對于所輸入的數(shù)據(jù)流程中沒有經(jīng)過處理分配的多個數(shù)據(jù)流程統(tǒng)ー執(zhí)行處理分配。
4.根據(jù)權(quán)利要求I所述的處理分配方法,其特征在于,針對各數(shù)據(jù)流程或者用于確定所述結(jié)構(gòu)元件的處理內(nèi)容的設(shè)置,對所述設(shè)置改變計數(shù)進行加權(quán)。
5.ー種可重構(gòu)裝置,其包括能夠?qū)⒂糜趯崿F(xiàn)數(shù)據(jù)流程的處理分配至的多個結(jié)構(gòu)元件,所述可重構(gòu)裝置還包括 數(shù)據(jù)流程輸入單元,用于輸入至少兩個不同的數(shù)據(jù)流程以及數(shù)據(jù)流程的執(zhí)行順序; 約束輸入?yún)g元,用于輸入所述結(jié)構(gòu)元件的約束;以及 處理分配確定單元,用于確定處理分配,以使得基于所述結(jié)構(gòu)元件的約束和所述執(zhí)行順序?qū)λ鼋Y(jié)構(gòu)元件進行重構(gòu)所需的設(shè)置改變計數(shù)變小。
6.ー種信息處理設(shè)備,其包括能夠?qū)⒂糜趯崿F(xiàn)數(shù)據(jù)流程的處理分配至的多個結(jié)構(gòu)元件,所述信息處理設(shè)備還包括 輸入單元,用于輸入用于通過所述多個結(jié)構(gòu)元件實現(xiàn)第一數(shù)據(jù)流程的設(shè)置信息以及所述多個結(jié)構(gòu)元件的配置信息;以及 控制器,用于基于所述設(shè)置信息和所述配置信息,將用于實現(xiàn)所述第一數(shù)據(jù)流程的處理分配給所述多個結(jié)構(gòu)元件,以使得與用于實現(xiàn)第二數(shù)據(jù)流程的設(shè)置之間要進行改變的結(jié)構(gòu)元件的數(shù)量變小。
7.根據(jù)權(quán)利要求6所述的信息處理設(shè)備,其特征在干,所述輸入?yún)g元還輸入用于通過所述多個結(jié)構(gòu)元件實現(xiàn)包括所述第一數(shù)據(jù)流程和所述第二數(shù)據(jù)流程的多個數(shù)據(jù)流程的設(shè)置信息以及所述多個數(shù)據(jù)流程的執(zhí)行順序。
8.根據(jù)權(quán)利要求7所述的信息處理設(shè)備,其特征在于,所述控制器包括 候選確定単元,用于基于所述執(zhí)行順序,針對所述多個數(shù)據(jù)流程,確定用于向所述結(jié)構(gòu)元件分配處理的分配候選; 改變計數(shù)計算單元,用于基于所述設(shè)置信息和所述配置信息,計算各所述分配候選的分配的改變計數(shù);以及 確定單元,用于確定所述結(jié)構(gòu)元件的處理分配,以使得所述改變計數(shù)變小。
9.根據(jù)權(quán)利要求8所述的信息處理設(shè)備,其特征在于,所述確定単元包括 判斷単元,用于基于所述配置信息判斷是否能夠?qū)⑺龇峙浜蜻x分配給所述結(jié)構(gòu)元件; 懲罰值確定單元,用于當(dāng)所述判斷単元判斷為不能分配所述分配候選時,確定懲罰值; 評價值計算單元,用于基于所述改變計數(shù)和所述懲罰值,計算用于確定分配的評價值;以及 評價值判斷単元,用于判斷所述評價值是否不大于閾值, 其中,當(dāng)判斷為所述評價值不大于所述閾值時,所述確定単元將所述分配候選確定為所述結(jié)構(gòu)元件的處理分配。
10.根據(jù)權(quán)利要求8所述的信息處理設(shè)備,其特征在干,當(dāng)所述多個數(shù)據(jù)流程中的至少ー個數(shù)據(jù)流程經(jīng)過了所述結(jié)構(gòu)元件的處理分配時,所述改變計數(shù)計算單元參考該處理分配,并且針對各所述分配候選,計算沒有進行所述結(jié)構(gòu)元件的處理分配的、下一要執(zhí)行的數(shù)據(jù)流程的處理分配的改變計數(shù)。
11.根據(jù)權(quán)利要求8所述的信息處理設(shè)備,其特征在于,所述改變計數(shù)計算單元針對各所述分配候選,統(tǒng)ー計算沒有進行所述結(jié)構(gòu)元件的處理分配的數(shù)據(jù)流程的處理分配的改變計數(shù)。
12.根據(jù)權(quán)利要求8所述的信息處理設(shè)備,其特征在于,所述輸入?yún)g元還輸入沒有進行所述結(jié)構(gòu)元件的處理分配的數(shù)據(jù)流程在所述執(zhí)行順序中的插入目的地位置,以及 所述改變計數(shù)計算單元參考要插入的數(shù)據(jù)流程的處理前后所處理的、經(jīng)過了處理分配的數(shù)據(jù)流程的處理分配,并且針對各所述分配候選,計算沒有進行所述結(jié)構(gòu)元件的處理分配的數(shù)據(jù)流程的處理分配的改變計數(shù)。
13.根據(jù)權(quán)利要求8所述的信息處理設(shè)備,其特征在于,所述改變計數(shù)計算單元通過針對各數(shù)據(jù)流程或者各結(jié)構(gòu)元件的處理賦予權(quán)重,計算所述改變計數(shù)。
14.一種信息處理設(shè)備的控制方法,所述信息處理設(shè)備包括輸入單元、控制器以及能夠?qū)⒂糜趯崿F(xiàn)數(shù)據(jù)流程的處理分配至的多個結(jié)構(gòu)元件,所述控制方法包括以下步驟 輸入步驟,用于輸入用于通過所述多個結(jié)構(gòu)元件實現(xiàn)第一數(shù)據(jù)流程的設(shè)置信息以及所述多個結(jié)構(gòu)元件的配置信息;以及 控制步驟,用于基于所述設(shè)置信息和所述配置信息,將用于實現(xiàn)所述第一數(shù)據(jù)流程的處理分配給所述多個結(jié)構(gòu)元件,以使得與用于實現(xiàn)第二數(shù)據(jù)流程的設(shè)置之間要進行改變的結(jié)構(gòu)元件的數(shù)量變小。
15.一種處理配置方法,用于針對包括多個結(jié)構(gòu)元件的可重構(gòu)裝置,確定執(zhí)行數(shù)據(jù)流程的各處理的結(jié)構(gòu)元件,所述處理配置方法包括以下步驟 輸入步驟,用于輸入至少兩個不同的數(shù)據(jù)流程以及數(shù)據(jù)流程的處理順序; 約束步驟,用于輸入所述可重構(gòu)裝置的所述結(jié)構(gòu)元件的約束;以及 確定步驟,用于通過使用根據(jù)所述數(shù)據(jù)流程進行重構(gòu)所需的設(shè)置改變計數(shù)以及基于所述數(shù)據(jù)流程的數(shù)據(jù)輸入/輸出的依賴關(guān)系的各結(jié)構(gòu)元件之間的距離來確定所述結(jié)構(gòu)元件的配置,從而確定用于執(zhí)行所需處理的結(jié)構(gòu)元件。
16.根據(jù)權(quán)利要求15所述的處理配置方法,其特征在于,所述約束包括用于根據(jù)所述數(shù)據(jù)流程的配置和所述可重構(gòu)裝置的結(jié)構(gòu)來對所述數(shù)據(jù)流程的各處理限制可配置范圍的約束。
17.根據(jù)權(quán)利要求15所述的處理配置方法,其特征在于,針對各數(shù)據(jù)流程或者用于確定所述結(jié)構(gòu)元件的處理內(nèi)容的設(shè)置,對所述設(shè)置改變計數(shù)進行加權(quán)。
18.根據(jù)權(quán)利要求15所述的處理配置方法,其特征在于,基于所述結(jié)構(gòu)元件,對所述結(jié)構(gòu)元件之間的連接距離進行加權(quán)。
19.ー種可重構(gòu)裝置,用于基于根據(jù)權(quán)利要求15所述的處理配置方法所生成的設(shè)置信息而進行工作。
全文摘要
本發(fā)明涉及可重構(gòu)裝置及其方法、信息處理設(shè)備及其控制方法。根據(jù)本發(fā)明,在改變可重構(gòu)裝置的電路結(jié)構(gòu)時,在不會由于添加機構(gòu)而增大電路規(guī)模的情況下,避免對處理內(nèi)容的依賴,同時縮短電路結(jié)構(gòu)改變時間段??紤]到多個數(shù)據(jù)流程之間的執(zhí)行順序關(guān)系,在約束范圍內(nèi)降低改變處理時的電路結(jié)構(gòu)改變所需的設(shè)置改變計數(shù),從而縮短電路結(jié)構(gòu)改變時間段。
文檔編號G06F15/00GK102693207SQ20121002789
公開日2012年9月26日 申請日期2012年2月8日 優(yōu)先權(quán)日2011年2月8日
發(fā)明者谷內(nèi)出悠介 申請人:佳能株式會社