TW201120745A - Data processing apparatus, data processing system, packet, recording medium, storage device, and data processing method - Google Patents

Data processing apparatus, data processing system, packet, recording medium, storage device, and data processing method Download PDF

Info

Publication number
TW201120745A
TW201120745A TW099139208A TW99139208A TW201120745A TW 201120745 A TW201120745 A TW 201120745A TW 099139208 A TW099139208 A TW 099139208A TW 99139208 A TW99139208 A TW 99139208A TW 201120745 A TW201120745 A TW 201120745A
Authority
TW
Taiwan
Prior art keywords
packet
data
processing
information
unit
Prior art date
Application number
TW099139208A
Other languages
English (en)
Other versions
TWI533208B (zh
Inventor
Mitsuru Mushano
Original Assignee
Mush A Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mush A Co Ltd filed Critical Mush A Co Ltd
Publication of TW201120745A publication Critical patent/TW201120745A/zh
Application granted granted Critical
Publication of TWI533208B publication Critical patent/TWI533208B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Logic Circuits (AREA)

Description

201120745 六、發明說明: 【發明所屬之技術領域】 本發明係有關於資料處理裝置、資料處理系統、封包 、曰己錄媒體 '記憶裝置及資料處理方法。 【先前技術】 作爲電腦架構’從記憶裝置(記憶體)中將指令依序 5賣出(fetch )、解讀(dec〇de )、執行(execute )的馮 ♦紐曼型架構’係爲—般熟知。該當馮紐曼型架構,係預先 決定指令的執行順序,每次都將運算元(運算對象之資料 )一面集結一面進行處理’是一種指令中心的處理體系。 又’於瑪紐曼型電腦中,作爲將複數指令予以平行處 理的 CPU (Central Processing Unit:中央處理裝置)架 構,熟知的有超純量處理器。該當超純量處理器,係按照 運算元的抵達順序,對執行節點發行(issue )指令並執 fT之,可進丫了非循序執彳了(out of order)處理。然而, ^ 在超純量處理器中’由於排程器是一面檢查資料依存性一 面將執行結果排序成正確的順序,因此同時可執行之指令 數的增加,會導致排程器的複雜化。 另一方面’作爲非馮紐曼型架構,有著眼於資料依存 性,依照資料流(資料的流動)而進行處理的資料驅動型 架構,爲人所知。該當資料驅動型架構,係在執行節點中 湊齊了運算元的時點上發動點火(fire ),把指令的執行 結果傳送至下個執行節點,藉此而可將許多的指令予以平 201120745 行處理。 例如,在專利文獻1中係揭露,在處理器間的控制上 採用資料驅動型(於專利文獻1中係稱作資料流機械型) 架構’在處理器內的控制上採用馮紐曼型架構的多處理器 系統。該當多處理器系統,係藉由將資料驅動型及馮紐曼 型架構加以組合使用,就不必使用複雜的硬體構成,基於 被分割成執行緒而生成的執行碼,就能進行平行處理。 又,例如,在非專利文獻1中係揭露了 TRIPS ( Tera-op Reliable Intelligently advanced Processing System )架構。該當TRIPS架構,係爲稱作磚疊式處理器 的晶片架構,和稱作 EDGE ( Explicit Data Graph Execution )的 ISA ( Instruction Set Architecture :指令集 架構)所組合而成。其中,碍疊式處理器,係藉由僅在相 鄰核心間作配線,而可避免配線延遲的問題,即使核心數 增加仍可保持高速動作速度。另一方面,EDGE架構,係 將指令對執行節點作靜態配置,和資料流型架構同樣地, 在執行節點中湊齊了運算元的時點上加以執行,藉此以謀 求處理平行性的最大限度提升。 如此一來,把上述的電腦架構予以單獨、或組合使用 ,就可將複數指令予以平行處理。 [先前技術文獻] [專利文獻] [專利文獻1]日本特開200 7- 1 93 43 0號公報 201120745 [非專利文獻] [非專利文獻 l]Doug Burger,et al.,"Scaling to the End of Silicon with EDGE Architectures," IEEE Computer, v o 1. 3 7, no. 7, pp. 44- 5 5, July 2004 【發明內容】 [發明所欲解決之課題] 平行電腦,係藉由採用上記的資料驅動型架構,就可 φ 將許多指令進行平行處理。然而,在資料驅動型架構下, 係使用與馮紐曼型架構不同的指令集,因此既存的馮紐曼 型電腦用的軟體資產,不能直接利用。 爲了將既存之軟體資產在平行電腦上作利用,例如, 必須要有從馮紐曼型電腦用原始程式生成平行電腦用執行 碼的編譯器技術。然而,使用該當編譯器技術時的處理平 行性,係受編譯器的性能所左右,在平行性的提升時會伴 隨著編譯器的複雜化,有時也會導致編譯時間的增加。又 φ ’上記專利文獻1中,爲了以程式處理裝置來生成多處理 器系統用的執行碼’必須要在以C語言等之高階語言所撰 寫成的原始程式中,預先追加執行緒描述。 又,例如’必須要有一面將馮紐曼型電腦用原始程式 逐次解譯一面加以執行的解譯器技術。然而,和編譯器技 術的情形相同,在處理平行性的提升時會伴隨著解譯器的 複雜化,有時也會導致解譯器的動作速度降低。甚至,即 使沒有伴隨著編譯器或解譯器的複雜化,有時仍會導致平 201120745 行電腦本身的複雜化或動作速度的降低。 因此,平行電腦中的平行性之提升,會招來將既存之 軟體資產利用於平行電腦所需之成本的上升,而呈現取捨 關係。 [用以解決課題之手段] 解決前述課題的主要之本發明,係一種資料處理裝置 ,其特徵爲,具備複數處理部,係用來處理對每一資料附 加上擴充識別資訊而成的封包,該擴充識別資訊係含有: φ 用來識別該當資料的識別資訊、及表示對該當資料之1個 以上之處理指令的指令資訊:前記複數處理部,係分別具 有:輸出入部,係在前記封包當中,僅將隨著前記擴充識 別資訊而決定的目標資訊是表示著該當處理部的封包,力口 以取得;和運算部,係將已被前記輸出入部所取得之前記 封包的前記處理指令,加以執行。 關於本發明的其他特徵,係由添附圖面及本說明書之 記載就能明瞭。 φ [發明效果] 若依據本發明,則可將既存之軟體資產槪略地直接利 用,而使處理平行性提升。 【實施方式】 根據本說明書及添附圖面的記載,至少可以明瞭以下 -8- 201120745 事項。 ===資料處理系統全體構成之槪略=== 以下’參照圖2 ’說明具備資料處理裝置的資料處理 系統全體構成之槪略。 圖2所示的資料處理系統’係爲具備資料處理裝置1 的平行電腦系統’除了資料處理裝置1以外,還含有記億 裝置6、輸入裝置7、輸出裝置8、及匯流排9所構成。 ^ 又,資料處理裝置1、記憶裝置6、輸入裝置7、及輸出 裝置8,係透過匯流排9而彼此連接。此外,關於資料處 理裝置1之構成的詳細說明,將於後述。 ===資料處理系統全體動作之槪略=== 接著’說明資料處理系統全體動作之槪略。 舌己憶裝置 6,係由 RAM ( Random Access Memory) 或ROM ( Read Only Memory )等所構成,係將程式(執 % 行碼)或該當程式之執行時所使用的資料等,加以記憶。 又,資料處理裝置丨,係相當於電腦系統的CPU,會執行 記憶裝置6中所記憶的程式。此外,關於資料處理裝置1 之動作的詳細說明,將於後述。 輸入裝置7,係由鍵盤或滑鼠等所構成,含有資料或 程式(原始程式或執行碼)的資訊,是從外部輸入至該當 資料處理系統。另一方面,輸出裝置8係由顯示器或印表 機等所構成’是將資訊以文字或影像等而輸出至外部。 -9- 201120745 此外’上記資料處理裝置丨、記憶裝置6、輸入裝置 7及輸出裝置8的分類,係並非固定。例如,硬碟機或 光碟機等之輔助記憶裝置,係被當成記憶裝置6來使用’ 但亦可分類成與外部間作資訊輸出入用的輸入裝置7及輸 出裝置8。 資料處理裝置之構成 以下’參照圖3 ’說明本發明之一實施形態中的資料 處理裝置之構成。 圖3所示的資料處理裝置1,係含有:PE ( Processor/Processing Element:處理要素 /處理元件)1〇〇 至 H5、MCE ( Memory Control/Controlling Element :記 憶體控制要素/記億體控制要素)3 00至3 03、快取記憶體 4〇〇、及通訊路(傳輸路)500所構成。 資料處理裝置1 ’係具備複數個相當於處理部的PE, 各P E是透過通訊路5 0 0而彼此連接。在本實施形態中, 作爲一例,假設資料處理裝置1係爲具備被配置成4行4 列之矩陣狀的1 6個P E 1 0 0至1 1 5。又’和前述的磚疊式 處理器同樣地,PE 1 0 0至1 1 5 ’係僅在相鄰的p E間有被 彼此連接。此外,關於各PE之構成的詳細說明’將於後 述。 此處,若將P E 1 〇 〇至Π 5的座標(X,Y ),如圖3所 示,分別表示成(〇, 0 )至(3, 3 ) ’則對各PE係可設定 X座標爲上位2位元、Y座標爲下位2位元的識別號碼。 • 10- 201120745 又,如此所被設定的識別號碼,係與圖3所示之各p E的 3位數符號的下2位數一致。例如,位於座標(〇,3 )的 PE 1 03的識別號碼係爲3 ( 2進位表示爲〇〇 1 1 ),位於座 標(3, 0 )的PE1 12的識別號碼係爲12 ( 2進位表示爲 1100) °
資料處理裝置1,係具備至少1個相當於控制部的 MCE,各MCE是透過通訊路500被連接至PE100至115 之任一個。在本實施形態中,作爲一例,假設資料處理裝 置1係爲具備4個MCE300至303。又假設,MCE300至 3 03,係分別與相鄰的PE 1 00至1 03作連接。此外,如圖 3所示,對MCE3 0 0至3 03,分別設定有0至3的識別號 碼。 快取記憶體400,係與MCE3 00至303作連接。又, 快取記憶體400,係透過前述的匯流排9 (未圖示),而 和資料處理裝置1外的記憶裝置6作連接。 φ ===通訊路之構成及動作之一例 通訊路500係爲PE間或PE及MCE間的資訊傳達媒 體,在該當資訊傳達上,除了以電氣配線所致之電氣訊號 的傳達以外,亦包含以光纖所致之光訊號之傳達、或自由 空間中的電磁波之傳達。此處,將使用電磁波、尤其是使 用光來進行資訊傳達之情形的通訊路5 0 0之構成的一例, 示於圖13。此情況下,各PE係含有,具備發光元件之至 少1個送訊部,及具備受光元件之至少1個收訊部。又, -11 - 201120745 於圖13中,發光元件212係被含有在資訊傳達來源的PE 裡,受光元件2 1 3係被含有在資訊傳達目標的PE裡。 圖13所示的通訊路500,係由讓光透過的穿透材501 、將光予以反射的反射材5 02、及吸收光的吸收材5 03所 成。穿透材5 0 1及反射材5 02,係分別相當於光纖中的芯 (core)及外殼(cladding),是採用石英玻璃或塑膠等 。又,係被構成爲,穿透材5 0 1的折射率是高於反射材 5 02的折射率,光訊號會一面被反射材5 02作全反射而一 面在穿透材501中被傳達。 受光元件 213,係採用 〇CF( On-chip Color Filter) 等,是被構成爲可接收對每一 PE所設定之波長的光。此 情況下’發光元件2 1 2所發光的光之波長係爲可變,藉由 與傳達目標PE所被設定之波長呈一致,就能傳達封包。 又’即使交替切換使用會發出不同波長光的複數發光元件 ’仍只要傳達來源及傳達目標之PE所被設定的波長一致 ,就能傳達封包。 此外’各PE所被設定之波長,係可使用從紫外線波 段至紅外光波段的任意波段。然而,隨著穿透材5 〇丨及反 射材5 02所使用的材料,紫外線會被吸收、降低穿透率, 因此使用可見光波段至紅外光波段的波長,較爲理想。 ===資料處理裝置之動作=== 接著’適宜參照圖4至圖8,說明本實施形態中的資 料處理裝置之動作。 -12- 201120745 快取記憶體400,係一面進行快取,一面控制著 MCE3 00至3 03與記億裝置6之間的輸出入。因此,記憶 裝置6中所記憶之程式或資料等,係會透過快取記憶體 400而被讀取至MCE300至303。 此處’原始程式與資料處理裝置1中所被處理之程式 (執行碼)之關係之一例,示於圖4。以高階語言所撰寫 成的原始程式P0 ’係事先被編譯成執行碼p 1然後記憶在 記憶裝置6中,執行碼P 1係會被讀取到M C E 3 0 0至3 0 3 φ 裡。此外’於圖4中,作爲原始程式ρ〇之一例,圖示了 以C + +語言所撰寫成的,將陣列sp[i 024]之各要素除以2 後的値儲存在陣列d p [ 1 0 2 4 ]中的處理。又,執行碼p 1係 不僅可爲機械語言程式,也可以是用和機械語言約略1對 1對應的組合語言所撰寫成的程式。 MCE300至303,係從所被讀取的執行碼P1,基於資 料流程圖,生成後述的封包列。此外,各MCE是沒有必 要生成資料流程圖本身’但在本實施形態中係爲了說明上 • 的方便,而假設首先會生成資料流程圖,然後基於資料流 程圖而生成封包列。 此處’資料處理裝置1中所採用之指令集之—例,示 於圖5。於圖5中’各指令係大致分成2輸入· 1輸出指 令與1輸入· 1輸出指令。其中,2輸入.1輸出指令, 係將所被輸入的2筆資料分別當成左側及右側運算元而進 行2項運算的指令。另一方面,1輸入· 1輸出指令,係 將所被輸入的1筆資料當成運算元而進行單項運算的指令 -13- 201120745 。又’如圖5所示,對各指令,設定有相當於運算子( operator )的記號和機械語言中的16進位表示,這些將在 資料流程圖或封包列的說明中被使用。 首先說明2輸入.1輸出指令。 對於會將2筆資料(A及B )的加算結果(A + B或 B + A )予以輸出的加算指令,設定有記號「+」與1 6進位 表示的10H。另一方面,當是將2筆資料(L及R)的減 算結果(L-R )予以輸出的減算指令時,由於減算是交換 法則不成立的非可換運算,因此必須要有表示把各資料視 爲左側或右側運算元之何者用的左右資訊(方向資訊)。 因此,對減算指令的記號「-」,還會附加上左右資訊「L 」或「R」,且分別設定有16進位表示12H或13H。 此外,左右資訊「L」係表示這是身爲左側運算元的 資料,左右資訊「R」係表示這是身爲右側運算元的資料 。又,於該當指令集中,各指令的 LSB (Least Significant Bit :最下位位元)是被指派給左右資訊專用 。因此,在以下的指令(除了 null文字以外)中,均爲 具有左右資訊「L」之指令及不具有左右資訊之指令的 LSB是設爲0,據有左右資訊「R」之指令的LSB是設爲 1 ° 對於會將2筆資料(A及B )的乘算結果(AxB或B xA)予以輸出的乘算指令,設定有不具左右資訊之記號 「X」與1 6進位表示的1 4H。另一方面,對於會將2筆資 料(L及R)的除算結果(L + R)予以輸出的除算指令, -14- 201120745 ,和1 6進 設定有被附加左右資訊之記號「+ 位表示16H及17H。 被設疋有附加左右資訊之記號「writeL」及「wrjteR 」、和1 6進位表示1 8H及1 9H的寫入指令,係爲對資料 (L )所示之記憶裝置6之位址中所記憶的資料(* L ), 寫入資料(R )用的指令。此外’ 「*」係爲間接參照運算 子。 被設定有附加左右資訊之記號「applLj及「applR」 、和16進位表示50H及51H的資料追加指令,係爲對後 述的封包(L )之資料部分,追加封包(R )之資料部分 用的指令。又’被設定有附加左右資訊之記號「app2L」 及「app2R」、和1 6進位表示52H及ΜΗ的指令追加指 令’係爲對後述的封包(L )之處理指令部分,追加封包 (R)之資料部分用的指令。 接者說明1輸入.1輸出指令。此外,1輸入.1輸 出指令’係只將1筆資料當成運算元,因此均不具有左右 資訊。 被設定有記號「Ν Ο P」與1 6進位表示〇 ο Η的Ν Ο P指 令’係爲不做任何事的指令。又,被設定有記號「read」 和1 6進位表示02H的讀出指令,係爲將資料(a )所示 之記憶裝置6之位址中所記憶的資料(* a )予以讀出用 的指令。此外,雖然並非指令,但作爲表示封包尾端的 n u 11文字,而設定有例如1 6進位表示f F Η。 各M C Ε ’係使用圖5所示的指令集,和一般的資料 -15- 201120745 驅動型架構同樣地’生成資料流程圖。圖6係圖示由執行 碼P 1所生成的資料流程圖,係對應於圖4所示之原始程 式P0的for迴圈內的處理。 於圖ό中,D1至D5係表示資料,n至15係表示指 令。加算指令14,係將資料D1 ( dp)及資料D2 ( Π)予 以加算’將資料dp + ii予以輸出,加算指令〗丨,係將資料 D 3 ( s p )及資料D 4 ( i i )予以加算,將資料s p + i i予以輸 出。又’讀出指令12 ’係從記憶裝置6讀出資料* ( 5ρ + ίί )。然後,除算指令13,係將資料* ( sp + ii )除以資料 D 5 ( 2 ) ’將資料* ( s p + i i ) / 2予以輸出。然後,寫入指 令15,係對記憶裝置6的資料* ( dp + ii ),將資料* ( sp + ii ) /2予以寫入。 藉由以上的資料流,陣列s p [ 1 0 2 4 ]的1個要素除以2 後的値,會被儲存在陣列d p [ 1 0 2 4 ]中。圖7係圖示了,基 於圖6所示的資料流程圖所生成的基本封包列。 各封包係由資料部分(data section )與擴充識別資 訊部分(extended identification information section)所 成。又’擴充識別資訊部分係由識別資訊部分( identification information section )與處理指令部分( processing instructions section)所成。此外,各封包係 亦可爲了加密或壓縮等目的而被適宜地編碼。 資料部分,係除了資料本體以外,還含有該當資料的 資料長度資訊。又,資料長度資訊,係例如表示資料的位 元組數,但若資料處理裝置1僅處理固定長度資料的時候 -16- 201120745 ,則可免除。 識別資訊部分,係含有例如MCE ID及處理ID。在這 其中,處理ID係對每一基本封包列作設定,因此圖7中 係爲空(null文字),是在將for迴圏予以展開之際所被 設定。另一方面,MCE ID係爲相當於表示生成該當基本 封包列之MCE用的發行者資訊,例如採用圖3所示的〇 至3的識別號碼。又,於基本封包列中,亦可如圖7所示 ,將MCE ID設成空,在for迴圈展開之際,才將MCE φ ID連同處理ID —起加以設定。 在本實施形態中,作爲一例,處理指令部分是除了含 有5個爲止的指令1至5以外,還含有指令數資訊。又, 各指令係爲,與執行順序顛倒之順序而排列,應最先被執 行之指令是被配置在最末尾,其後係設成空。甚至,指令 數資訊雖然是表示未處理之指令數,但亦可按情形而加以 計數。 由圖7可知’該當基本封包列,係將圖6所示的資料 φ 流程圖’按照5個資料D1至D5——加以重新構成而成 ’各封包係爲,對該當資料附加上識別資訊及處理指令而 被生成。然後’各MCE係先將對反覆處理等之基本封包 列的控制指令予以展開後,將各封包發行至相鄰的pE。 圖8係圖示了 ’對圖7所示的基本封包列,將f〇 r迴圈予 以展開後的封包列。 如圖4所示’因爲該當f〇r迴圈係爲從ii = 〇至 ii = l〇23爲止的重複處理,因此藉由展開,會生成5χ1〇24 -17- 201120745 個封包。又’如圖8所示’每5封包係含有1至1024爲 止的同一處理ID,該當5封包是分別對應於圖7所示的 基本封包列。此外,於圖8中係作爲一例而圖示了,μ C E ID係爲1 ’各封包是由M c Ε 3 〇丨所生成的情形。 從MCE301所發行的各封包,係在ΡΕ100至115當中 ’—路到後述的目標資訊所示的ΡΕ爲止,透過通訊路 5〇〇而被傳達。又’各ΡΕ係相當於,將封包中所含之處 理指令加以執行的執行節點。此外,關於各ρ Ε之動作的 詳細說明,將於後述。 如以上所述’本實施形態的資料處理裝置,係把身爲 運算元的資料與身爲運算子的指令視爲一體的封包,當作 處理對象,這點是和先前的電腦架構有很大差異。 此外,本發明的資料處理裝置係不限定於,如本實施 形態所示,具備根據以機械語言或組合語言所撰寫成的執 行碼Ρ1來生成封包列之MCE之構成。 例如,亦可爲,在記憶裝置6中是記憶著,作爲從原 始程式P0編譯成執行碼P 1之際的中間階段所生成的中間 碼,而以語法樹(syntax tree )所表現成的程式。在語法 樹中,運算元是被配置在葉節點(leaf node),運算子是 被配置在內部節點(internal node )而呈現樹狀結構,因 此相較於機械語言或組合語言,較容易生成資料流程圖。 又,例如,亦可在記憶裝置6中記憶著,由具備編譯 器之外部裝置所預先生成之基本封包列(sequences of base packets)或展開後的封包列(sequences of expanded 201120745 packets)。當記億著基本封包列時,各MCE係將對於已 被讀取之基本封包列的控制指令予以展開’將MCE ID或 處理ID加以設定後,將各封包發行至相鄰的PE。另一方 面,當記憶著展開後之封包列時,則各MCE係可將各封 包直接發行至相鄰的PE。 又,例如,亦可在記億裝置6中記憶著,展開後之封 包列當中,識別資訊部分之部分或全部被省略、或被設成 null 文字的中間封包列(sequences of interim packets) φ 。此情況下,各MCE係先把被省略的MCE ID或處理ID 加以設定後,才將各封包發行至相鄰的PE。 甚至亦可爲,例如,展開後之封包列是從外部裝置直 接輸入資料處理裝置。此情況下的外部裝置中,亦可含有 會平行動作的其他資料處理裝置。 此處,原始程式與資料處理裝置1中所被處理之程式 (執行碼)之關係之其他例,示於圖14。此情況下,編 譯器係根據以高階語言所撰寫成的原始程式P0,基於資 φ 料流程圖而生成基本封包列,然後,將對該當基本封包列 的控制指令予以展開。又,在記憶裝置6中,該當展開後 的封包列係被適宜編碼之後,成爲執行碼P2而被記憶。 然後,在M C E 3 0 0至3 0 3中,執行碼p 2係被讀入。 = = = ΡΕ (處理要素)之構成=== 以下’參照圖1 ’說明本實施形態的ΡΕ之構成。 圖1所示的ΡΕ100至115,係分別含有輸出入部210 -19- 201120745 、比較•選擇部2 3 0、緩衝記憶體240、運算元緩衝區 250a、250b、及 ALU (Arithmetic Logic Unit:算術邏輯 運算部)260所構成。 輸出入部2 1 0係含有:目標資訊算出部2 I 1、輸出埠 214a至2 14d、及輸入埠215a至21 5d。又,對輸出入部 2 1 0,係透過各輸入埠,輸入著封包或從記憶裝置6所讀 出之資料等。再者,從輸出入部210,係透過各輸出埠, 輸出著封包或要寫入至記憶裝置6之資料等。然後,各輸 出入埠(輸入埠及輸出埠),係透過前述的通訊路500 ( 未圖示),而和相鄰的PE或MCE作連接。 例如,以圖3的PE 1 10爲例,4組的輸出入埠,係分 別和P E 1 0 9、1 0 6、1 1 1、及1 1 4連結。又,例如P E 1 0 0的 情況,2組輸出入埠,係分別與p E 1 0 1及1 0 4連接,1組 輸出入埠係與M C E 3 0 0連接,然後,1組輸出入埠係不使 用。 又’亦可例如圖1 5所示,各輸出入埠是具備複數通 道,使用該當複數通道,在相鄰的ΡΕ間或ΡΕ及MCE間 ,將封包或資料等予以輸出入之構成。 此外’使用光來進行資訊傳達時,例如,圖1 3的發 光元件212係被設在各輸出埠,受光元件213係被設在各 輸入埠。 對比較•選擇部2 3 0,係從輸出入部2 1 0,輸入著封 包。又’比較.選擇部23 0係含有雜湊値算出部231,在 與相當於記憶部的緩衝記億體240之間,進行封包輸出入 201120745 。再者,從比較.選擇部230,係透過運算元緩衝區250a 及2 5 0 b,而將具有分別作爲左側及右側運算元之資料的 封包,輸入至相當於運算部的ALU260。然後’由 ALU260所新生成的封包,係再次被輸入至輸出入部210 = = = PE (處理要素)之動作=== 接著,適宜參照圖9至圖1 1 ’說明本實施形態中的 φ P E之動作。 輸出入部210,係首先將目標資訊算出部211所輸入 之封包的目標資訊,予以算出。目標資訊,係爲表示應處 理封包之PE的資訊,可從該當封包的擴充識別資訊部分 求出。此處,參照圖9,說明圖8中MCE ID=1、且處理 ID=1,最初5封包的目標資訊的算出方法。以下,如圖9 所示,將該當5封包分別令作封包P1至P5。 目標資訊算出部2 1 1,係首先從各封包僅把擴充識別 # 資訊部分予以抽出(圖9中段),在各擴充識別資訊資訊 當中’將應被最初執行之指令的左右資訊,加以遮蔽(圖 9下段)。如前述,在本實施形態中,應被最初執行之指 令是被配置在封包的最末尾,各指令的LSB係被指派給 左右資訊專用。因此’只要將擴充識別資訊的最後1位元 以〇或1 (於圖9中係爲〇)加以遮蔽即可。此外,擴充 識別資訊中亦可含有null文字,此情況下,只要將null 文字前面1位元以後加以遮蔽即可。 -21 - 201120745 目標資訊算出部211,接下來會基於上記已被遮 擴充識別資訊而生成擬似(疑似)亂數,隨應於該當 亂數,而算出目標資訊。例如,若0至1 5 ( 2進位表 0000至1 1 1 1 )的4位元之値被當成目標資訊而算出 該當目標資訊係和圖3的各PE之座標同樣地,可以 2位元爲X座標、下位2位元爲Y座標的座標(X, Y 式來表示。在圖9下段中,將目標資訊以該當座標之 而加以表示。 擬似亂數係和實體亂數不同,具有重現性,因此 被遮蔽的擴充識別資訊爲相同的封包,係會生成出同 似亂數,而算出同一目標資訊。例如圖9下段所示, 被遮蔽的擴充識別資訊爲相同的封包P 1及P2,係會 同一目標資訊(X1,y 1 )。又,同樣地,從封包P3 I ,係會算出同一目標資訊(x2,y2)。 此外,如前述,各封包係可被適宜編碼,但爲了 算出目標資訊時不需要解碼,最好是將資料部分與擴 別資訊部分予以個別地編碼。同樣地,在以處理指令 單獨、或擴充識別資訊部分全體地進行編碼的情況下 用不必解碼、就能將應被最初執行之指令的左右資訊 遮蔽的編碼,較爲理想。 又,擬似亂數的生成上,可採用公知的方法。站 標資訊的算出時間的觀點來看,使用 LCG ( L:
Congruential Generator :線性同餘法)或 LFSR ( L:
Feedback Shift Register:線性反饋位移暫存器)等 蔽的 擬似 不爲 ,則 上位 )形 形式 從已 一擬 從已 算出 ^ P4 每次 充識 部分 ,採 予以 在目 inear inear 局速 -22- 201120745 的生成方法,較爲理想。 甚至’目標資訊算出部2 1 1係亦可構成爲,參照預先 生成之擬似亂數表而算出目標資訊。此情況下,由於目標 資訊算出部211係不需要對每一封包生成擬似亂數,因此 能夠縮短目標資訊的算出時間。此外,於此種構成中必須 爲’各PE的目標資訊算出部係具備同一擬似亂數表,或 是各PE的目標資訊算出部會讀出共通的擬似亂數表。 另一方面,站在PE的使用效率之觀點來看,爲了使 φ 封包分布均勻’擬似亂數係接近均勻分布,較爲理想。又 ,機率變數群無法預測這件事,係和均勻分布是等價的, 因此藉由使用 CSPRNG ( Cryptographically Secure Pseudo-Random Number Generator :密碼學安全擬似亂數 產生器),可謀求PE使用效率之提升。然而,由於隨著 指令不同,各封包的處理時間也不同,因此實際上即使擬 似亂數是均勻分布,有時候封包分布仍無法達到均勻。 因此,使用不會讓目標資訊的算出時間變得過長、接 φ 近均勻分布的擬似亂數,較爲理想。例如,目標資訊的算 出時間’比後述之雜湊値的算出時間還長的話,就不理想 〇 輸出入部2 1 0,接下來係判定封包的目標資訊是否表 示著該當PE,若表示著該當PE,則將該當封包加以取得 ,然後輸入至比較·選擇部23 0。另一方面,若封包的目 標資訊並非表示該當PE,則向接近於目標資訊所示PE的 方向,將該當封包傳送至相鄰的PE。此處,參照圖10, -23- 201120745 說明實現此種封包之取得及傳送的輸出入部2 1 0之具體動 作之一例。此外,於圖10中,是令現在位置、亦即該當 ΡΕ的座標爲(xO, yO ),目標資訊所示之ΡΕ的座標爲( X 1,y 1 ) » 輸出入部210,係一旦從相鄰的PE或MCE輸入了封 包(S 1 ),則首先將現在位置的Y座標yO與目標資訊的 Y座標y 1進行比較(S2 )。 於S2中,當兩者的Y座標一致時(S2 ··=),則將 現在位置的X座標x〇與目標資訊的X座標xl進行比較 (S3 ) 〇 又,當y〇大於yl時(S2 : > ),則由於目標資訊所 示之PE是位於Y座標小於現在位置的方向,因此往yO-Ι 方向上所相鄰之PE、亦即位於座標(xO, yO-Ι )之PE, 傳送封包(S 3 1 ),結束處理(S 5 )。一方,當y 〇小於 y 1時(S 2 : < ),則由於目標資訊所示之P E是位於Y座 標大於現在位置的方向,因此往y〇 + l方向上所相鄰之PE 、亦即位於座標(x〇, y〇 + i)之PE,傳送封包(S32), 結束處理(s 5 )。 於S 3中,當兩者的X座標一致時(S 3 :=),則目 標資訊係表示該當P E,因此將封包加以取得然後輸入至 比較.選擇部230 ( S4),結束處理(S5)。 又,當x〇大於xl時(S3 : > ),則由於目標資訊所 示之P E是位於X座標小於現在位置的方向,因此往X 0 -1 方向上所相鄰之P E、亦即位於座.標(X 0 -1,y 〇 )之P E, -24- 201120745 傳送封包(S41 ),結束處理(S5 )。一方,當χ〇小於 xl時(S3 : <),則由於目標資訊所示之ΡΕ是位於X座 標大於現在位置的方向,因此往xO+1方向上所相鄰之ΡΕ 、亦即位於座標(xO+1,y〇 )之PE,傳送封包(S42 ), 結束處理(S 5 )。
以上動作由各PE的輸出入部進行,藉此,各封包就 會被傳達至目標資訊所示的PE爲止,而被取得。例如, 於圖3中,從MCE301往PE101所發行之封包的目標資訊 是表示PEI 1 5的情況下,該當封包係經由PE102、PE103 、PE107、及 PE111,而~路被傳達至 PE115。又例如, 被PE1 15所處理而新生成的封包的目標資訊是表示PE 104 的情況下,該當封包係經由 P E 1 1 4、P E 1 1 3、P E 1 1 2、及 PE108,而一路被傳達至PE104。 亦即,各封包係首先在圖3的上下方向移動直到目標 資訊所示之PE與Y座標呈一致爲止,然後在圖3的左右 方向移動直到X座標呈一致爲止。藉由採用此種移動規 則,可使封包的移動路徑總是最短。又,移動中的方向轉 換係爲1次或0次,可使各PE間的通訊路5 00的使用頻 率平均化。 如以上所述,雖然本實施形態的資料處理裝置係爲, 相當於執行節點的PE是和碍疊式處理器同樣地被配置成 矩陣狀’但處理對象的封包係基於其位元列本身而被動態 配置這點,是和EDGE架構有很大的不同。 此外’本發明的資料處理裝置,係不限定於本實施形 -25- 201120745 態所示之矩陣狀配置及連接。例如,於圖3中,藉由將各 PE間的通訊路500的一部分予以省略,可成爲環型的連 接。又例如’亦可將所有的P E間或P E及]M C E間,作直 接連接。此情況下’以電氣配線所進行的電氣訊號之傳達 上’ Ρ Ε或M C Ε的個數越是增加,則配線會變得越困難。 另一方面,使用前述的電磁波之資訊傳達上,就可容易地 追加通訊路5 0 0。 比較·選擇部230’係在已被輸出入部210所取得的 封包(以下稱作取得封包)當中,將可處理的封包,輸入 至ALU260。又,比較·選擇部230,係將不可處理的封 包’記憶在緩衝記憶體240,並且還會進行緩衝記億體 240中所記憶之封包(以下稱作記憶封包)的讀出。 更具體而言,若取得封包的應被最初執行(最末尾) 之指令是1輸入.1輸出指令時,則比較.選擇部23 0係 僅將取得封包,透過運算元緩衝區250a或250b而輸入至 ALU260。 另一方面’若取得封包的應被最初執行(最末尾)之 指令是2輸入· 1輸出指令時,則比較.選擇部2 3 〇係將 前述之已被遮蔽的擴充識別資訊是與取得封包一致的封包 ,從記憶封包中檢索出來。然後,當有一致的記憶封包存 在時,則比較·選擇部2 3 0係將該當一致的2個封包當成 一組,透過運算元緩衝區250a及250b而輸入至ALU260 。又,若一致的記憶封包不存在時,則比較.選擇部2 3 0 係將取得封包,記億在緩衝記憶體240中。 -26- 201120745 此外’爲了有效率地檢索出已被遮蔽的擴充識別資訊 是與取得封包一致的記憶封包,在本實施形態中,緩衝記 憶體2 4 0係含有雜湊表。 又,比較•選擇部230係首先由雜湊値算出部231, 根據取得封包而算出雜湊値。該當雜湊値,係和目標資訊 的情況相同,是基於取得封包的已被遮蔽的擴充識別資訊 ’而被算出。然後,當比較.選擇部230將取得封包記憶 至緩衝記憶體240時,是將取得封包與該雜湊値建立對應 ^ 而儲存在雜湊表中。 此外,雜湊表係可採用公知的實裝方法。圖1 1係圖 示了被實裝在緩衝記憶體240裡的雜湊表之一例。在該當 雜湊表中,作爲解決雜湊碰撞之方法係採用開放定址法( ο p e n a d d r e s s i n g ),作爲再雜湊程序則是使用線性探索法 (linear probing ) ° 於圖1 1中,作爲一例而圖示了,雜湊値爲n + 3的封 包1被儲存後,雜湊値爲η的封包2至5被儲存時的情形 # 。封包1係被儲存在根陣列[256]的要素η + 3之位置,被 設定有旗標「1」及計數値「1」。又,封包2至5係分別 被儲存在要素η、η+1、η + 2、η + 4之位置,在要素η的位 置上係被設定有旗標「1」及計數値「4」。 ALU2 60,係對透過運算元緩衝區250a及250b而被 輸入的運算元,進行算術運算(整數運算及/或浮點運算 )或邏輯運算等,將運算結果予以輸出。更具體而言, ALU2 60 ,係對所被輸入的封包的資料,執行應被最初執 -27- 201120745 行(最末尾)之指令,對執行結果之資料,附加上已被執 行之指令除外後的擴充識別資訊而生成新的封包,再度輸 入至輸出入部210。 如此一來,各PE係從所被輸入之封包的擴充識別資 訊部分,求出目標資訊,僅將目標資訊是表示該當PE的 封包加以取得,將目標資訊並非表示該當PE的封包,傳 送至其他PE。然後,對取得封包之資料,執行應被最初 執行(最末尾)之指令,同時對執行結果之資料附加上已 被執行之指令除外後的擴充識別資訊而生成新的封包,將 已被生成之封包,隨應於該目標資訊而加以傳送或取得。 此外,亦可不在每次封包輸入時各PE都算出目標資 訊,而是改成,將已算出之目標資訊,附加至封包,將該 當目標資訊予以再利用。例如,藉由在MCE將封包發行 至PE時,及PE生成新的封包時,附加目標資訊,則在 這些以外的情況下,就可將所被附加的目標資訊直接加以 利用。此情況下,不需要對目標資訊所被附加之封包算出 目標資訊,各PE所取得的封包中所被附加的目標資訊係 爲同一,因此亦可將目標資訊對資料部分及擴充識別資訊 部分之任一者作附加。 又,使用光來進行資訊傳達時,資訊傳達來源之PE 的發光元件’係藉由發出目標資訊所示之資訊傳達目標之 PE所被設定之波長的光,就可不必重複傳送,而可對目 標資訊所示之PE直接傳送封包。此情況下,各PE係不 必判定從其他PE或MCE所輸入之封包的目標資訊是否表 201120745 示該當PE,就能僅取得目標資訊是表示該當PE之封包。 甚至,關於被各PE所新生成的封包也是,可以不必 判定目標資訊是否表示著該當PE,而發出目標資訊所示 之資訊傳達目標之PE所被設定之波長的光之構成。此時 ’包含與資訊傳達來源同一 PE的任一 PE的受光元件會 將該當波長之光予以受光,可向目標資訊所示之PE,傳 送封包。 φ 資料處理裝置之動作的具體例=== 此處,參照圖12,說明對圖9所示之封包P1至P5 的資料處理裝置1之動作的具體例。 如前述,封包P1及P2’係被算出同一目標資訊( x1,yi),因此會被一路傳達至位於座標(x1,y1)的PE ’最末尾的加算指令14會被執行。然後,對執行結果之 資料dp+ 〇,附加上加算指令14除外後的擴充識別資訊, 生成新的封包P6。此外,假設從封包P6所算出的目標資 訊係爲(x4,y4)。 同樣地,封包P3及P4’係被算出同一目標資訊( x2, y2),因此會被一路傳達至位於座標(X2, y2)的pe ’最末尾的加算指令η會被.執行。然後,對執行結果之 資料sp + Ο,附加上加算指令π除外後的擴充識別資訊, 生成新的封包P7。此外’假設從封包P7所算出的目標資 訊係爲(x5,y5)。 封包P7係被一路傳達至位於座標(x5,y5)的pE, -29- 201120745 最末尾的讀出指令12 ( 1輸入.1輸出指令)會被執行。 然後’對執行結果之資料* ( S P + 〇 ),附加上讀出指令12 除外後的擴充識別資訊’生成新的封包p 8。此外,封包 p 8 ’係已被遮蔽的擴充識別資訊是和封包p 5相同,因此 會被算出與封包P5相同之目標資訊(x3, y3 )。 封包P8及P5,係被一路傳達至位於座標(x3,y3 ) 的PE ’最末尾的除算指令13會被執行。然後,對執行結 果之資料* ( sp + Ο ) /2 ’附加上除算指令π除外後的擴充 識別資訊’生成新的封包P 9。此外,封包p 9,係已被遮 蔽的擴充識別資訊是和封包P6相同,因此會被算出與封 包P6相同之目標資訊(χ4,y4 )。 封包P6及P9 ’係被一路傳達至位於座標(X4,y4 ) 的PE ’最末尾的寫入指令15會被執行。然後,對執行結 果之資料* ( dp + o) =* ( sp + 0) /2,附加上寫入指令15除 外後的擴充識別資訊,生成新的封包P 1 〇。 封包P10係不含有處理指令,因此會被一路送回至 MCE ID所示的MCE301。爲了使封包P10 —路回到 MCE3 01 ’各PE的輸出入部必須要進行例外處理。於圖 1 2中’作爲一例,目標資訊算出部2 1 1係將不含處理指 令之封包的目標資訊,算出爲(-1,m )。此處係假設 MCE ID = m。此時,封包pi〇的目標資訊,係爲(_〗,1) 。例如’於圖3中,當PE115已生成封包P10時,封包 P10係經由PE114、PE113、PE109、PE105、及PE101, 而一路被傳達至MCE301。 201120745 此外,於各PE中,當緩衝記憶體或運算元緩衝區溢 滿,無法處理取得封包之忙碌狀態時,也將該當封包一路 送回到M C E ID所示的M C E,較爲理想。此時的例外處理 ,係例如只要將封包的指令數資訊設成大於最大指令數的 値,把此種封包的目標資訊也算出成(-1,m )即可。再 者,當任一 PE處於忙碌狀態之期間,各MCE係停止發行 新的處理ID之封包,較爲理想。此種忙碌狀態之控制, 係例如,只要設置對所有PE及MCE連接的控制訊號線, φ 透過該當控制訊號線而發送表示忙碌狀態的忙碌訊號即可 ===資料處理裝置之動作的其他具體例=== 圖7 m示之封包的構成,處理指令部分中只能含有5 個指令。因此,爲了進行較複雜之處理,必須要在封包的 處理指令部分,追加指令。 圖5所不的指令追加指令(記號/16進位表示:「 _ app2L」/52H、「app2R」/53H ),係可實現此種指令之追 加機能。以下適宜參照圖1 6至1 8,說明包含指令追加指 令之執行的資料處理裝置1之動作的具體例。此處作爲一 例,係說明對陣列sp [ 1 024]之各要素乘以4之後加算1, 然後將除以2後的値儲存在陣列dp[1〇24]中的處理。 圖16係圖示此種處理的f〇r迴圈內之處理所對應之 資料流程圖。 於圖16中’ D11至D18係表示資料,ia係表示指令 -31 - 201120745 追加指令,11 1至I 1 7係表示指令追加指令以外之指令。 加算指令11 6,係將資料D 1 1 ( dp )及資料D 1 2 ( ii )予 以加算,將資料dp + ii予以輸出,加算指令11 1,係將資 料D13 ( sp )及資料D14 ( ii )予以加算,將資料sp + ii予 以輸出。 資料 D15 係爲指令串(sequence of instructions), 指令追加指令la ’係對資料Sp + ii的封包的處理指令部分 ’追加資料D 1 5。此外’資料d 1 5的指令串,係對應於對 資料sp + ii之封包的指令追加指令Ia以後之處理,具體而 言係相當於指令11 2至11 5、及11 7。 被指令追加指令I a所追加的指令當中,讀出指令j i 2 ’係從記憶裝置6讀出資料* ( s p +丨i )。 接著’乘算指令113,係對資料*( sp + ii )乘以資料 D16 (4) ’將資料* (sp + ii) *4予以輸出。 接著,加算指令I 1 4,係對資料* ( s p + i i ) * 4加算資 料D17 ( 1) ’將資料*( sp + ii) *4+1予以輸出。 接著’除算指令11 5 ’係將資料* ( s p + i丨)* 4 + 1除以 資料D18 (2) ’將資料[* ( 3ρ + Η) 予以輸出。 最後’寫入指令11 7 ’係對記憶裝置6的資料* ( dp + ii),將資料[*(sp + ii) h<4+1]/2 予以寫入。 藉由以上的資料流,就會對陣列s ρ [丨〇 2 4 ]的1個要素 乘以4然後加算1,再除以2後的値,會被儲存在陣列 dp [ 1 024]中。圖I7係圖示了,對圖16所示的基於資料流 程圖所生成的基本封包列,將f0 r迴圏予以展開後的封包 -32- 201120745 列當中,MCE ID=1 '且處理ID=1的最初8封包pi 1至 P1 8。 此處,參照圖1 8,說明對圖1 7所示之封包P 1 1至 P 1 8的資料處理裝置1之動作的具體例。 封包P11及P12,係由於被算出同一目標資訊,因此 會被一路傳達至該當同一目標資訊所示之PE’最末尾的 加算指令11 6會被執行。然後,對執行結果之資料dp + 0 ,附加上加算指令Π 6除外後的擴充識別資訊’生成新的 封包P 1 9。 同樣地,封包P13及P14,係由於被算出同一目標資 訊,因此會被一路傳達至該當同一目標資訊所示之PE, 最末尾的加算指令11 1會被執行。然後,對執行結果之資 料sp + Ο,附加上加算指令I Π除外後的擴充識別資訊,生 成新的封包P20。此外,封包P20,係已被遮蔽的擴充識 別資訊是和封包P15相同,因此會被算出與封包P15相同 之目標資訊。 封包P20及P15,係被一路傳達至同一目標資訊所示 之PE,最末尾的指令追加指令la會被執行。然後,對封 包P2〇之資料sp + 〇,附加上從處理指令部分除去指令追 加指令la以後再追加有資料D 1 5的擴充識別資訊,生成 新的封包P21。 封包P21係被一路傳達至已被算出之目標資訊所示的 PE’最末尾的讀出指令112(1輸入.1輸出指令)會被 執行。然後’對執行結果之資料* ( sp + Ο ),附加上讀出 -33- 201120745 指令π 2除外後的擴充識別資訊,生成新的封包P22。此 外’封包P22 ’係已被遮蔽的擴充識別資訊是和封包p】6 相同’因此會被算出與封包P16相同之目標資訊。 封包P22及p 1 6 ’係被一路傳達至同一目標資訊所示 之PE’最末尾的乘算指令113會被執行。然後,對執行 結果之資料* ( sp + Ο ) *4,附加上乘算指令113除外後的 擴充識別資訊,生成新的封包P 2 3。此外,封包P 2 3,係 已被遮蔽的擴充識別資訊是和封包P〗7相同,因此會被算 出與封包P17相同之目標資訊。 封包P23及P17,係被一路傳達至同一目標資訊所示 之PE ’最末尾的加算指令〗丨4會被執行。然後,對執行 結果之資料* ( s p + 〇 ) * 4 + 1,附加上加算指令11 4除外後 的擴充識別資訊,生成新的封包P 2 4。此外,封包P 2 4, 係已被遮蔽的擴充識別資訊是和封包P 1 8相同,因此會被 算出與封包P18相同之目標資訊。 封包P24及P 1 8,係被一路傳達至同一目標資訊所示 之PE’最末尾的除算指令Π5會被執行。然後,對執行 結果之資料[* ( sp + Ο ) *4 + 1]/2,附加上除算指令II 5除外 後的擴充識別資訊,生成新的封包P25。此外,封包P25 ,係已被遮蔽的擴充識別資訊是和封包P 1 9相同,因此會 被算出與封包P19相同之目標資訊。 封包P19及P25,係被一路傳達至同一目標資訊所示 之PE,最末尾的寫入指令117會被執行。然後,對執行 結果之資料* ( dp + Ο ) =[* ( sp + Ο ) *4+1]/2,附加上寫入 -34- 201120745 指令π 7除外後的擴充識別資訊,生成新的封包p26。此 外’封包P26係不含有處理指令,因此會被—路送回至 MCE ID 所示的 MCE301。 順便一提,藉由寫入指令117的執行,更具體而言, 會對封包P 1 9的資料dp + O所示的記憶裝置6的位址中所 被記憶的資料*(dp + 0),寫入封包P25的資料[*(sp + 0 )M+l]/2。因此,封包 P26 之資料 * (dp + 0) =[* (sp + 0 )*4+1]/2,係表示著寫入指令117的執行本身。因此, φ 寫入指令H7的執行後,亦可不將封包P26送回MCE301 而令其消滅。 如此一來’藉由執行圖5所示的指令追加指令,就可 在封包的處理指令部分,追加指令。又,同樣地,藉由執 行圖5所示的資料追加指令(記號/16進位表示:「 applL」/50H、「applR」/51H),也可實現對封包之資料 部分,追加資料。 φ ===封包的其他構成例=== 於圖7中’雖然圖示了被資料處理裝置1所處理之封 包的構成’但並非限定於此。此處,被資料處理裝置丨所 處理的封包的其他構成例,示於圖1 9。此外,於圖1 9中 係圖示了,會獲得和圖17所示之封包P11至P18相同執 行結果的封包P3 1至P38。 於圖1 9中,擴充識別資訊部分,係和圖7相同之構 成。然而’假設各PE係在生成新的封包之際,並未從擴 -35- 201120745 充識 候應 係爲 須之 當資 係用 藉由 長度 型, 示該 令la 外, ,資 P 1 1、 類型 指令 指令 示這 些封 P3 3 別資訊部分去除已被執行過的指令。此情況下,有時 被最初執行之指令並未被配置在最末尾,指令數資訊 用來表示未處理之指令數或應被最初執行之指令所必 資訊。 另一方面,資料部分係除了資料本體以外,還含有該 料的資料類型資訊及延長旗標。又,資料類型資訊, 來表不例如「整數型」或「浮點型」等之資料類型, 對每一資料類型預先設定資料長度,就也可實現資料 資訊的機能。又,藉由具備「指令型」來作爲資料類 就可如後述般地,實現指令的追加機能。圖2〇係表 當封包之構成的資料流程圖,是沒有使用指令追加指 i ’藉由指令追加處理Pa而實現指令的追加機能。此 延長旗標’係被使用於指令追加處理Pa中。 又’於圖19中’封包P31、P32及P36至P38係爲 料本體及擴充識別資訊部分是和圖丨7所示的封包 P 1 2 '及p〗6至p〗8 —致。此外,這些封包的資料 資訊均爲「整數型」,延長旗標爲「〇」。 封包P33及P34,係從封包P13及P14去除指令追加 I aL ’指令數資訊係爲「1」。又,取代了指令追加 hL ’爲了於指令追加處理pa中在處理指令部分表 是指令追加側,因此延長旗標係爲「1」。此外,這 包的資料類型資訊均爲「整數型」。 封包P35係取代了指令追加指令IaR,含有與封包 及P34相同的處理指令,爲了於指令追加處理Pa中 -36- 201120745 表示這是指令追加側’資料類型資訊係爲「指令型」。然 而,與封包P33及P34相同的處理指令,對於封包P35的 資料D15並非應該被處理,因此指令數資訊係爲「〇」。 此外,封包P3 5係爲延長旗標是「〇」❶ 此外,於圖19中’係把在算出目標資訊之際,及將 取得封包與記憶封包進行比較之際所被使用的部分,對各 封包以箭頭的範圍來表示。例如,在封包P31至P34、及 P36至P38中’只有識別資訊部分、及處理指令部分當中 φ 的指令數資訊所示之未處理的指令會被抽出,應被最初執 行之指令的左右資訊會被遮蔽,進行目標資訊的算出等。 因此,這些封包中,係和新的封包生成之際從擴充識別資 訊部分去除已被執行過之指令的情況相同,進行目標資訊 的算出等。 然而,資料類型資訊是「指令型」的封包P35、及延 長旗標爲「1」的封包中,當指令數資訊爲「0」時,基於 整個擴充識別資訊部分,而進行目標資訊的算出等。 Φ 此處,參照圖21,說明對圖1 9所示之封包P3 1至 P3 8的資料處理裝置1之動作的具體例。 封包P3 1及P32,係由於被算出同一目標資訊,因此 會被一路傳達至該當同一目標資訊所示之PE,指令數資 訊所示之應被最初執行之加算指令11 6,會被執行。然後 ,對執行結果之資料dp + Ο ,附加上指令數資訊減1後的 擴充識別資訊’生成新的封包P 3 9。此外,封包P 3 9,係 由於指令數資訊是「1」,因此殘存的加算指令11 6,係 -37- 201120745 不被用於目標資訊的算出。 同樣地’封包P33及P34,係由於被算出同一目標資 訊’因此會被一路傳達至該當同一目標資訊所示之PE, 指令數資訊所示之應被最初執行之加算指令11 1,會被執 行。然後’對執行結果之資料sp + Ο,附加上指令數資訊 減〗後的擴充識別資訊,生成新的封包P40。此外,封包 P40 ’係由於延長旗標是「1」、指令數資訊是「〇」,因 此基於整個擴充識別資訊部分,而算出與封包P35相同的 目標資訊。 指令數資訊都是「〇」的封包P40及P35,係被一路 傳達至同一目標資訊所示之PE,進行指令追加處理Pa。 然後,對延長旗標爲「1」的封包P40之資料sp + Ο,附加 上將處理指令部分設成資料類型資訊爲「指令型」之封包 P35之資料D15的擴充識別資訊,生成新的封包P41。 此外,封包P41的指令數資訊,係爲資料D1 5中所 含之指令數「5」。又’封包P41的延長旗標,係繼承( inheritance)封包P35的延長旗標「〇」。另一方面,藉 由將資料類型資訊爲「指令型」的封包的延長旗標設成「 1」’對於藉由指令追加處理而被新生成之封包,也能進 行指令追加處理。 封包P4 1係被一路傳達至已被算出之目標資訊所示的 PE ’指令數資訊所示之應被最初執行之讀出指令Π 2 ( i 輸入· 1輸出指令)會被執行。然後,對執行結果之資料 * ( sp + Ο ),附加上指令數資訊減1後的擴充識別資訊, -38- 201120745 生成新的封包P42。此外,封包P42,係由於指令數資訊 是「4」,因此殘存的讀出指令11 2,係不被用於目標資 訊之算出,而算出與封包P36相同的目標資訊。 封包P42及P36,係被一路傳達至同一目標資訊所示 之PE,指令數資訊所示之應被最初執行的乘算指令113, 會被執行。然後,對執行結果之資料* ( sp + 〇 ) *4,附加 上指令數資訊減1後的擴充識別資訊,生成新的封包P43 。此外,封包P43,係由於指令數資訊是「3」,因此殘 φ 存的乘算指令Π3及讀出指令112,係不被用於目標資訊 之算出,而算出與封包P3 7相同的目標資訊。 封包P43及P37,係被一路傳達至同一目標資訊所示 之PE,指令數資訊所示之應被最初執行的加算指令11 4, 會被執行。然後,對執行結果之資料* ( sp + Ο ) *4+1,附 加上指令數資訊減1後的擴充識別資訊,生成新的封包 P44。此外,封包P44,係由於指令數資訊是「2」,因此 殘存的加算指令Π 4、乘算指令11 3、及讀出指令11 2,係 # 不被用於目標資訊之算出,而算出與封包P38相同的目標 資訊。 封包P44及P38,係被一路傳達至同一目標資訊所示 之PE,指令數資訊所示之應被最初執行的除算指令11 5, 會被執行。然後,對執行結果之資料[* ( sp + Ο ) *4+1]/2 ,附加上指令數資訊減1後的擴充識別資訊,生成新的封 包P45。此外,封包P45,係由於指令數資訊是「1」,因 此殘存的除算指令Π 5、加算指令11 4、乘算指令11 3、及 -39- 201120745 讀出指令Π2,係不被用於目標資訊之算出’而算出與封 包Ρ39相同的目標資訊。 封包Ρ39及Ρ45’係被一路傳達至同一目標資訊所示 之ΡΕ,指令數資訊所示之應被最初執行的寫入指令11 7, 會被執行。然後,對執行結果之資料* ( dP + 〇 ) =[* ( sp + 0 )*4+1]/2,附加上指令數資訊減1後的擴充識別資訊, 生成新的封包P46。此外,即使封包P46的資料類型資訊 不是「指令型」,延長旗標不是「1」,指令數資訊仍爲 「〇」。因此,封包P46係不含有應被處理之處理指令, 所以會被一路送回至MCE ID所示的MCE301,或是消滅 〇 如此一來,就可不必使用指令追加指令,藉由進行指 令追加處理Pa,就可在封包的處理指令部分,追加指令 。此外,亦可再藉由執行指令追加指令,來對封包的處理 指令部分,追加指令。 如前述,於資料處理裝置1中,各MCE係對每一筆 資料,附加含處理指令之擴充識別資訊而生成封包,各封 包係被隨著擴充識別資訊所指定的目標資訊所示的PE加 以取得,藉由該當PE來執行封包的指令,處理對象的封 包就會基於其位元列本身而被配置,可直接利用既存之軟 體資產,提升處理平行性。 又,目標資訊是隨擴充識別資訊而動態決定,藉此, 處理對象的封包係會基於其位元列本身而被動態配置,可 更加提升處理平行性。 -40- 201120745 又,基於擴充識別資訊而生成擬似亂數,隨著該當擬 似亂數而算出目標資訊,藉此可使封包分布接近於均勻分 布,可謀求PE使用效率之提升。 又,藉由將目標資訊並非表示該當PE的封包傳送至 其他PE,就可將封包一路傳達至目標資訊所示的PE爲止 〇 又,各PE係執行取得封包的應被最初執行之指令, 在擴充識別資訊當中,將已被執行之指令的下個應被執行 φ 之指令當成應被最初執行之指令,藉此就可將該當擴充識 別資訊附加至執行結果之資料而生成新的封包。 又,各PE係執行取得封包的應被最初執行之指令, 從擴充識別資訊中排除已被執行過之指令,藉此就可將該 當擴充識別資訊附加至執行結果之資料而生成新的封包。 又,當有已被遮蔽的擴充識別資訊是與取得封包一致 的記憶封包存在時,則將該當一致的2個封包當成一組而 輸入至ALU260,當沒有一致的記憶封包存在時,則將取 # 得封包記憶至緩衝記憶體240中,藉此就可執行進行2項 運算之2輸入·1輸出指令。 又,當取得封包的應被最初執行之指令是1輸入.1 輸出指令時,則藉由僅將取得封包輸入至ALU260,就可 執行進行單項運算之1輸入· 1輸出指令。 又,在取得封包的擴充識別資訊與記憶封包的擴充識 別資訊之比較中,藉由將應被最初執行之指令的左右資訊 予以遮蔽,就可執行進行屬於非可換運算之2項運算之2 -41 - 201120745 輸入· 1輸出指令。 又,基於取得封包的已被遮蔽的擴充識別資訊而算出 雜湊値,將取得封包與其雜湊値建立對應而儲存至雜湊表 ,藉此就有效率地進行已被遮蔽的擴充識別資訊是與取得 封包一致的記憶封包的檢索。 又,基於已被遮蔽的擴充識別資訊而生成擬似亂數, 隨應於該當擬似亂數而算出目標資訊,藉此就可將已被遮 蔽的擴充識別資訊是相同的封包一路傳達至PE,同時可 謀求PE使用效率之提升。 又,藉由僅將相鄰的P E間彼此連接,就可避免配線 延遲之問題。 又,和磚疊式處理器同樣地把PE配置成矩陣狀,各 PE係向接近於目標資訊所示PE的方向’將該當封包傳送 至相鄰的PE,藉此就可使封包的移動路徑呈最短’即使 PE數增加仍可保持高速的動作速度。 又,各MCE係根據記憶裝置6中所記億的執行碼或 中間碼而逐次生成封包列,藉此就可架構出解譯器型的處 理系。 又,藉由將不含應被處理之處理指令的封包,一路送 回至MCE ID所示的MCE,各MCE就可完成該當封包的 處理ID之處理,而可再次使用該當處理 又,藉由構成將各MCE逐次生成封包的資料處理裝 置1加以具備的資料處理系統’就可提升解譯器型平行電 腦系統的處理平行性。 -42- 201120745 又,如前述,於圖7或圖19所示的封包之構成中, 各封包係被隨著擴充識別資訊所指定的目標資訊所示的 PE加以取得而執行指令,藉此,處理對象的封包係會基 於其位元列本身而被動態配置,可直接利用既存之軟體資 產,提升處理平行性。 又,將從原始程式P0預先生成之封包列當作執行碼 P2而記錄至記錄媒體,藉此就可將該當執行碼P2在編譯 器型處理系中作利用。 φ 又,將從原始程式P0預先生成之封包列當作執行碼 P2而記錄至記憶裝置6,各MCE就可讀取該當執行碼P2 而作利用。 又,在展開後之封包列當中,將識別資訊部分之至少 一部分被省略(設成null文字)的中間封包列,記錄至 記錄媒體,就可對該當中間封包列先設定好被省略的 MCE ID或處理ID,然後於編譯器型處理系中作利用。 又,在展開後之封包列當中,將識別資訊部分之至少 # 一部分被省略(設成null文字)的中間封包列,記錄至 記憶裝置6,各MCE就可讀取該當中間封包列,先將已 被省略的MCE ID或處理ID予以設定,然後加以利用。 又,藉由構成將各MCE會讀取預先生成之封包列的 資料處理裝置1加以具備的資料處理系統,就可提升編譯 器型平行電腦系統的處理平行性。 又’如前述,各PE係對每一筆資料,在附加含處理 指令之擴充識別資訊的封包當中,將隨著擴充識別資訊所 -43- 201120745 指定的目標資訊是表示該當PE的封包,加以取得而執行 指令,藉此,處理對象的封包係會基於其位元列本身而被 動態配置,可直接利用既存之軟體資產,提升處理平行性 〇 又,各PE係將目標資訊並非表示該當PE的封包傳 送至其他PE,藉此就可將封包一路傳達至目標資訊所示 的PE爲止。 又’各PE係執行取得封包的應被最初執行(最末尾 )之指令’對執行結果之資料,附加上把已被執行之指令 的下一應被執行之指令當成應被最初執行之指令的擴充識 別資訊而生成新的封包,藉此’即使針對該當新的封包, 也能動態配置而執行指令。 此外,上記實施形態係爲了容易理解本發明而揭露, 並不是用來限定解釋本發明。本發明係在不脫離其宗旨的 範圍內,可施加各種變更、改良,本發明中係亦包含這些 的等價物。 【圖式簡單說明】 [圖1 ]本發明之一實施形態中的p E (處理要素)之構 成的區塊圖。 [圖2 ]具備資料處理裝置的資料處理系統全體之構成 之槪略的區塊圖。 [圖3 ]本發明之一實施形態中的資料處理裝置之構成 的區塊圖。 -44* 201120745 [圖4]原始程式與資料處理裝置中所被處理之程式( 執行碼)之關係之一例的圖示。 [圖5]資料處理裝置中所採用之指令集之一例的圖示 〇 [圖6 ]由M C E (記憶體控制要素)所生成的資料流程 圖之一例的圖示。 [圖7]由MCE (記憶體控制要素)所生成的基本封包 列之一例的圖示。 φ [圖8 ]由M C E (記憶體控制要素)所生成的展開後之 封包列之一例的圖示。 [圖9]本發明之一實施形態中的目標資訊的算出方法 的說明圖。 [圖1 0 ]說明輸出入部之動作之一例的流程圖。 [圖1 1 ]被實裝在緩衝記憶體裡的雜湊表之一例的圖示 0 [圖12]本發明之一實施形態中的資料處理裝置之動作 # 的說明圖。 [圖13]使用電磁波(光)來進行資訊傳達時的通訊路 之構成之一例的圖示。 [圖14]原始程式與資料處理裝置中所被處理之程式( 執行碼)之關係之其他例的圖示。 [圖15]各輸出入墙是具備複數通道的ρε (處理要素 )之構成之槪略的區塊圖。 [圖1 6 ]包含指令追加指令之執行的資料流程圖之一例 -45- 201120745 的圖示。 [圖1 7]包含指令追加指令之執行的展開後之封包列之 一例的圖示。 [圖1 8]包含指令追加指令之執行的資料處理裝置之動 作的說明圖。 [圖19]被資料處理裝置所處理的封包的其他構成例的 圖示。 [圖20]包含指令追加處理的資料流程圖之一例的圖示 [圖21]包含指令追加處理的資料處理裝置之動作的說 明圖。 【主要元件符號說明】 1 :資料處理裝置 6 :記憶裝置 7 :輸入裝置 8 :輸出裝置 _ 9 :匯流排 100〜115: PE (處理要素) 2 1 0 :輸出入部 2 1 1 :目標資訊算出部 2 1 2 :發光元件 2 1 3 :受光元件 214a〜214d :輸出埠 -46- 201120745 2 1 5a~2 1 5d :輸入埠 23 0 :比較·選擇部 231 :雜湊値算出部 240 :緩衝記億體 250a、250b:運算元緩衝區 260 : ALU (算術邏輯運算部) 3 00〜3 03 : MCE (記億體控制要素) 400 :快取記億體 φ 500:通訊路(傳輸路) 5 0 1 :穿透材(芯) 5 02 :反射材(外殻) 5 0 3 :吸收材
-47-

Claims (1)

  1. 201120745 七、申請專利範圍: 1. 一種資料處理裝置,其特徵爲, 具備複數處理部,係用來處理對每一資料附加上擴充 識別資訊而成的封包,該擴充識別資訊係含有:用來識別 該當資料的識別資訊、及表示對該當資料之1個以上之處 理指令的指令資訊; 前記複數處理部,係分別具有: 輸出入部,係在前記封包當中,僅將隨著前記擴充識 別資訊而決定的目標資訊是表示著該當處理部的封包’加 以取得;和 運算部,係將已被前記輸出入部所取得之前記封包的 前記處理指令,加以執行。 2 .如申請專利範圍第1項所記載之資料處理裝置,其 中,前記輸出入部,係在前記封包當中,僅將隨著前記擴 充識別資訊而動態決定的前記目標資訊是表示著該當處理 部的封包,加以取得。 3 .如申請專利範圍第2項所記載之資料處理裝置,其 中,前記輸出入部係含有:目標資訊算出部,係隨著從前 記擴充識別資訊所生成之擬似亂數,來算出前記目標資訊 〇 4 .如申請專利範圍第3項所記載之資料處理裝置,其 中,前記輸出入部,係將前記封包當中的前記目標資訊並 非表示該當處理部的封包,傳送至其他處理部。 5 .如申請專利範圍第4項所記載之資料處理裝置’其 201120745 中,前記運算部,係將已被前記輸出入部所取得之前記封 包的前記處理指令當中應被最先執行之處理指令’加以執 行,對藉由該當執行所被生成之資料,附加上把已被執行 之前記處理指令的下一應被執行之處理指令當成應被最先 執行之處理指令的前記擴充識別資訊’而生成封包,然後 輸入至前記輸出入部。 6 .如申請專利範圍第5項所記載之資料處理裝置,其 中,前記運算部,係將已被前記輸出入部所取得之前記封 φ 包的前記處理指令當中應被最先執行之處理指令,加以執 行,對藉由該當執行所被生成之資料,附加上把已被執行 之前記處理指令予以除外的前記擴充識別資訊,而生成封 包,然後輸入至前記輸出入部。 7.如申請專利範圍第5項或第6項所記載之資料處理 裝置,其中, 前記處理指令係含有:處理指令,其係進行,將2個 封包的前記資料分別當成左側及右側運算元的2項運算; # 前記複數處理部,係還分別具有: 記憶部,係記憶前記封包;和 比較·選擇部,係將已被前記輸出入部所取得之前記 封包的前記擴充識別資訊與前記記億部中所記憶的前記封 包的前記擴充識別資訊,進行比較,從該當已被取得之封 包及該當所被記憶之封包中,選擇出要輸入至前記運算部 的封包; 前記比較·選擇部,係已被前記輸出入部所取得之前 -49- 201120745 記封包的應被最先執行之處理指令,是要進行前記2項運 算的處理指令的情況下,當前記擴充識別資訊的所定部分 係與該當已被取得之封包一致的封包,是有被記憶在前記 記憶部中時,則將該當所定部分爲一致的2個封包當成一 組而輸入至前記運算部,當前記擴充識別資訊的前記所定 部分係與該當已被取得之封包一致的封包,並沒有被記憶 在前記記憶部中時,則令該當已被取得之封包,被記憶在 前記記憶部中》 8 .如申請專利範圍第7項所記載之資料處理裝置,其 中, 前記處理指令係含有:處理指令,其係進行,將1個 封包的前記資料當成運算元的單項運算; 前記比較·選擇部,係當已被前記輸出入部所取得之 前記封包的應被最先執行之處理指令係爲進行前記單項運 算的處理指令時,則將該當已被取得之封包,輸入至前記 運算部。 9 ·如申請專利範圍第7項或第8項所記載之資料處理 裝置,其中, 前記處理指令,係含有左右資訊,其係用來表示,當 前記2項運算爲非可換運算時’要將前記資料當作前記左 側或右側運算元之哪一者; 前記擴充識別資訊的前記所定部分係爲,該當擴充識 別資訊當中應被最先執行之處理指令的前記左右資訊以外 之部分。 -50- 201120745 1 〇 .如申請專利範圍第7項至第9項 之資料處理裝置,其中, 前記記憶部係含有,儲存著前記封包 前記比較·選擇部,係含有雜湊値算 被前記輸出入部所取得之前記封包的前記 前記所定部分而算出雜湊値;當令該當已 記憶在前記記憶部中時,係將該當已被取 雜湊値建立對應而儲存在前記雜湊表中。 φ · 11 .如申請專利範圍第7項至第1 0項 之資料處理裝置,其中,前記目標資訊算 記擴充識別資訊的前記所定部分而生成前 1 2 ·如申請專利範圍第4項至第1 1項 之資料處理裝置,其中,前記輸出入部, 中的前記目標資訊並非表示該當處理部的 鄰於該當處理部的處理部。 1 3 .如申請專利範圍第1 2項所記載之 #其中, 前記複數處理部,係被配置成矩陣狀 前記輸出入部,係將前記封包當中的 非表示該當處理部的封包,傳送至接近於 示之處理部之方向上所相鄰之處理部。 1 4.如申請專利範圍第1項至第1 3項 之資料處理裝置,其中,還具備:控制部 置中所記憶之程式而生成前記封包。 之任一項所記載 的雜湊表; 出部,係基於已 擴充識別資訊的 被取得之封包被 得之封包與前記 之任一項所記載 出部,係基於前 記擬似亂數。 之任一項所記載 係將前記封包當 封包,傳送至相 資料處理裝置, 前記目標資訊並 前記目標資訊所 之任一項所記載 ,係根據記憶裝 -51 - 201120745 1 5 ·如申請專利範圍第丨4項所記載之資料處理裝置, 其中, 前記控制部係生成前記封包,該封包的前記識別資訊 是含有發行者資訊,該發行者資訊是表示該當控制部,而 且’前記控制部係將所生成的前記封包,發行至前記複數 處理部之任一者; 前記輸出入部,係當前記封包不含有應被處理之前記 處理指令時,則將該當封包傳送回前記發行者資訊所示之 控制部。 1 6 .—種資料處理系統,其特徵爲,具備: 如申請專利範圍第1項至第1 5項之任一項所記載之 資料處理裝置;和 記憶著前記程式的記憶裝置;和 將含有前記資料及前記程式的資訊進行輸出入的輸出 入裝置。 17.—種封包,其特徵爲, 對每一資料附加有擴充識別資訊,其中含有:用來識 別該當資料的識別資訊、及表示對該當資料之1個以上之 處理指令的指令資訊; 被資料處理裝置的複數處理部當中、隨著前記擴充識 別資訊而決定之目標資訊所示的處理部所取得,而執行前 記處理指令。 1 8 · —種記錄媒體,其特徵爲,記錄著如申請專利範 圍第1 7項所記載之封包。 -52- 201120745 19·~種記億裝置,其特徵爲,記億著如申請專利範 圍第1 7項所記載之封包。 20_ —種記錄媒體,其特徵爲,記錄著如申請專利範 m第17項所記載之封包當中,前記識別資訊之至少一部 #胃® 記資料處理裝置的控制部所附加的中間封包。 21 · ~種記憶裝置,其特徵爲,記憶著如申請專利範 @第1 7項所記載之封包當中,前記識別資訊之至少一部 β胃Μ Μ記資料處理裝置的控制部所附加的中間封包。 φ 2 2.—種資料處理系統,其特徵爲,具備: 如申請專利範圍第1 9項或第2 1項所記載之記憶裝置 :和 前記資料處理裝置;和 將含有前記資料的資訊進行輸出入的輸出入裝置。 23.—種資料處理方法,其特徵爲, 複數處理部係分別爲, 在對每一資料附加上含有:用來識別該當資料的識別 Φ 資訊、及表示對該當資料之1個以上之處理指令的指令資 訊的擴充識別資訊而成封包當中, 僅將隨著前記擴充識別資訊而決定的目標資訊是表示 著該當處理部的封包,加以取得,並執行該當封包的前記 處理指令。 24·如申請專利範圍第23項所記載之資料處理方法, 其中, 前記複數處理部係分別爲, -53- 201120745 在前記封包當中, 將前記目標資訊並非表示該當處理部的封包,傳送至 其他處理部。 25 .如申請專利範圍第24項所記載之資料處理方法, 其中, 前記複數處理部係分別爲, 當已取得了前記目標資訊是表示該當處理部的封包時 ,將該當封包的前記處理指令當中的應被最先執行之處理 指令加以執行,並且對藉由該當執行所被生成之資料,附 加上把已被執行之前記處理指令的下一應被執行之處理指 令當成應被最先執行之處理指令的前記擴充識別資訊而生 成封包,隨應於該當已被生成之封包的前記目標資訊,而 將該當已被生成之封包加以傳送或取得。
    -54-
TW099139208A 2009-12-02 2010-11-15 Data processing device, data processing system, packet, recording medium, memory device and data processing method TWI533208B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009274033 2009-12-02
JP2010199711A JP5057256B2 (ja) 2009-12-02 2010-09-07 データ処理装置、データ処理システムおよびデータ処理方法

Publications (2)

Publication Number Publication Date
TW201120745A true TW201120745A (en) 2011-06-16
TWI533208B TWI533208B (zh) 2016-05-11

Family

ID=44114874

Family Applications (2)

Application Number Title Priority Date Filing Date
TW099139208A TWI533208B (zh) 2009-12-02 2010-11-15 Data processing device, data processing system, packet, recording medium, memory device and data processing method
TW099139370A TW201131381A (en) 2009-12-02 2010-11-16 Data processing device, data processing system and data processing method

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW099139370A TW201131381A (en) 2009-12-02 2010-11-16 Data processing device, data processing system and data processing method

Country Status (7)

Country Link
US (1) US8817793B2 (zh)
EP (2) EP2507718A4 (zh)
JP (3) JP5057256B2 (zh)
KR (1) KR101450675B1 (zh)
CN (1) CN102770855B (zh)
TW (2) TWI533208B (zh)
WO (1) WO2011068018A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI562065B (zh) * 2012-02-08 2016-12-11 Mush A Co Ltd

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698859B2 (en) 2009-09-18 2020-06-30 The Board Of Regents Of The University Of Texas System Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture
WO2011159309A1 (en) 2010-06-18 2011-12-22 The Board Of Regents Of The University Of Texas System Combined branch target and predicate prediction
JP6353359B2 (ja) * 2012-03-23 2018-07-04 株式会社Mush−A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
US9792252B2 (en) 2013-05-31 2017-10-17 Microsoft Technology Licensing, Llc Incorporating a spatial array into one or more programmable processor cores
JP6298937B2 (ja) * 2013-10-14 2018-03-20 武者野 満 データ処理装置
US11755484B2 (en) 2015-06-26 2023-09-12 Microsoft Technology Licensing, Llc Instruction block allocation
US9940136B2 (en) 2015-06-26 2018-04-10 Microsoft Technology Licensing, Llc Reuse of decoded instructions
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
US10169044B2 (en) 2015-06-26 2019-01-01 Microsoft Technology Licensing, Llc Processing an encoding format field to interpret header information regarding a group of instructions
US10409599B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Decoding information about a group of instructions including a size of the group of instructions
US9720693B2 (en) 2015-06-26 2017-08-01 Microsoft Technology Licensing, Llc Bulk allocation of instruction blocks to a processor instruction window
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
EP3335116A1 (en) * 2015-08-11 2018-06-20 AB Initio Technology LLC Data processing graph compilation
US10180840B2 (en) 2015-09-19 2019-01-15 Microsoft Technology Licensing, Llc Dynamic generation of null instructions
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US10871967B2 (en) 2015-09-19 2020-12-22 Microsoft Technology Licensing, Llc Register read/write ordering
US10936316B2 (en) 2015-09-19 2021-03-02 Microsoft Technology Licensing, Llc Dense read encoding for dataflow ISA
US10095519B2 (en) 2015-09-19 2018-10-09 Microsoft Technology Licensing, Llc Instruction block address register
US10031756B2 (en) 2015-09-19 2018-07-24 Microsoft Technology Licensing, Llc Multi-nullification
US11977891B2 (en) 2015-09-19 2024-05-07 Microsoft Technology Licensing, Llc Implicit program order
US10452399B2 (en) 2015-09-19 2019-10-22 Microsoft Technology Licensing, Llc Broadcast channel architectures for block-based processors
US10061584B2 (en) 2015-09-19 2018-08-28 Microsoft Technology Licensing, Llc Store nullification in the target field
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
US10678544B2 (en) 2015-09-19 2020-06-09 Microsoft Technology Licensing, Llc Initiating instruction block execution using a register access instruction
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US10198263B2 (en) 2015-09-19 2019-02-05 Microsoft Technology Licensing, Llc Write nullification
US10776115B2 (en) 2015-09-19 2020-09-15 Microsoft Technology Licensing, Llc Debug support for block-based processor
US10719321B2 (en) 2015-09-19 2020-07-21 Microsoft Technology Licensing, Llc Prefetching instruction blocks
US11681531B2 (en) 2015-09-19 2023-06-20 Microsoft Technology Licensing, Llc Generation and use of memory access instruction order encodings
MA44821A (fr) * 2016-02-27 2019-01-02 Kinzinger Automation Gmbh Procédé d'allocation d'une pile de registres virtuels dans une machine à pile
US11687345B2 (en) 2016-04-28 2023-06-27 Microsoft Technology Licensing, Llc Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
US10963379B2 (en) 2018-01-30 2021-03-30 Microsoft Technology Licensing, Llc Coupling wide memory interface to wide write back paths
US10824429B2 (en) 2018-09-19 2020-11-03 Microsoft Technology Licensing, Llc Commit logic and precise exceptions in explicit dataflow graph execution architectures
WO2020251170A1 (ko) * 2019-06-13 2020-12-17 엘지전자 주식회사 무선랜 시스템에서 무선 광통신을 통한 상향 링크 전송 기법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689647A (en) * 1989-03-14 1997-11-18 Sanyo Electric Co., Ltd. Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
JP2568452B2 (ja) * 1990-02-27 1997-01-08 シャープ株式会社 データフロー型情報処理装置
JP2003162514A (ja) * 2001-11-27 2003-06-06 Nec Corp 複数プロセッサによる並列分散制御方式
US7590397B2 (en) * 2003-09-10 2009-09-15 Sony Corporation Signal processing apparatus and signal processing method, program, and recording medium
JP2005108086A (ja) * 2003-10-01 2005-04-21 Handotai Rikougaku Kenkyu Center:Kk データ処理装置
JP2005198267A (ja) * 2003-12-10 2005-07-21 Japan Telecom Co Ltd 中央演算処理装置、制御センタ装置、それらを用いたネットワークシステム、及びその通信制御方法
US7324605B2 (en) * 2004-01-12 2008-01-29 Intel Corporation High-throughput multicarrier communication systems and methods for exchanging channel state information
JP2005202873A (ja) 2004-01-19 2005-07-28 Sony Corp 分散処理システム、分散処理制御端末、分散処理方法、及び分散処理プログラム
JP2005259030A (ja) * 2004-03-15 2005-09-22 Sharp Corp 性能評価装置、性能評価方法、プログラムおよびコンピュータ読取可能記録媒体
JP2006053662A (ja) 2004-08-10 2006-02-23 Matsushita Electric Ind Co Ltd 多重プロセッサ
JP4923240B2 (ja) 2006-01-17 2012-04-25 国立大学法人東京工業大学 プログラム処理装置、並列処理プログラム、プログラム処理方法、並列処理コンパイラ、並列処理コンパイラを格納した記録媒体およびマルチプロセッサシステム
KR101399361B1 (ko) * 2006-08-25 2014-05-26 삼성전자주식회사 무선 통신 방법 및 장치
US7441099B2 (en) * 2006-10-03 2008-10-21 Hong Kong Applied Science and Technology Research Institute Company Limited Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit
JP2008130712A (ja) 2006-11-20 2008-06-05 Hitachi Maxell Ltd 3端子型結晶シリコン素子

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI562065B (zh) * 2012-02-08 2016-12-11 Mush A Co Ltd

Also Published As

Publication number Publication date
US20130028260A1 (en) 2013-01-31
WO2011068018A1 (ja) 2011-06-09
JPWO2011068018A1 (ja) 2013-04-18
CN102770855A (zh) 2012-11-07
TWI533208B (zh) 2016-05-11
EP2509002A1 (en) 2012-10-10
EP2507718A4 (en) 2017-12-27
KR20120101433A (ko) 2012-09-13
EP2507718A1 (en) 2012-10-10
JP2011138479A (ja) 2011-07-14
CN102770855B (zh) 2015-06-17
JP5057256B2 (ja) 2012-10-24
KR101450675B1 (ko) 2014-10-14
US8817793B2 (en) 2014-08-26
TW201131381A (en) 2011-09-16
JP2012194992A (ja) 2012-10-11

Similar Documents

Publication Publication Date Title
TW201120745A (en) Data processing apparatus, data processing system, packet, recording medium, storage device, and data processing method
US10025594B2 (en) Parallel data processing apparatus, system, and method
JP5512803B2 (ja) ベクトル命令を取り扱うためのデータ処理装置および方法
US10776117B2 (en) Instruction predication using unused datapath facilities
JP5102758B2 (ja) 複数の発行ポートを有するプロセッサにおける命令グループを形成する方法、並びに、その装置及びコンピュータ・プログラム
US7620821B1 (en) Processor including general-purpose and cryptographic functionality in which cryptographic operations are visible to user-specified software
TWI525537B (zh) 具有為向量衝突指令與置換指令所共享的全連接互連的處理器
JP5684704B2 (ja) 実行エンジン
JP6051458B2 (ja) 複数のハッシュ動作を効率的に実行する方法および装置
JP3752224B2 (ja) コンピュータ・システムにおいて命令を処理する方法および装置
KR20150091462A (ko) 충돌 검출을 수행하고, 레지스터의 콘텐츠를 다른 레지스터의 데이터 구성요소 위치들로 브로드캐스트하기 위한 시스템들, 장치들 및 방법들
JP6066423B2 (ja) データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
JP2018500659A (ja) 高速ベクトルによる動的なメモリ競合検出
JP4444305B2 (ja) 半導体装置
JP3835764B2 (ja) プロセッサおよび記録媒体
CN111984313A (zh) 矢量位转置
JP6347629B2 (ja) 命令処理方法及び命令処理装置
JP4703735B2 (ja) コンパイラ、コード生成方法、コード生成プログラム
Glew et al. RISC-V Cryptographic Extension Proposals