TW201346749A - 資料處理裝置、資料處理系統、資料結構、記錄媒體、記憶裝置及資料處理方法 - Google Patents

資料處理裝置、資料處理系統、資料結構、記錄媒體、記憶裝置及資料處理方法 Download PDF

Info

Publication number
TW201346749A
TW201346749A TW102104001A TW102104001A TW201346749A TW 201346749 A TW201346749 A TW 201346749A TW 102104001 A TW102104001 A TW 102104001A TW 102104001 A TW102104001 A TW 102104001A TW 201346749 A TW201346749 A TW 201346749A
Authority
TW
Taiwan
Prior art keywords
packet
data
instruction
loop
processing
Prior art date
Application number
TW102104001A
Other languages
English (en)
Other versions
TWI562065B (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 TW201346749A publication Critical patent/TW201346749A/zh
Application granted granted Critical
Publication of TWI562065B publication Critical patent/TWI562065B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/451Code distribution
    • G06F8/452Loops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/456Parallelism detection
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Abstract

[課題]解決迴圈處理中的瓶頸,高速地進行平行處理。[解決手段]複數處理部,係分別具有:輸出入部,係僅取得,基於指令資訊之所定部分及識別資訊而算出之目標資訊是表示該當處理部的封包;和運算部,係在已被輸出入部所取得之封包的處理指令當中,執行應被最先執行之處理指令,生成對藉由該當執行所被生成之資料,附加上把已被執行之處理指令的下個應執行處理指令當作應被最先執行之處理指令的擴充識別資訊而成的封包,然後輸入至輸出入部;和樣版記憶部,係若應被最先執行之處理指令是用來生成由複數封包所成之封包群的處理指令時,則會被登錄用來生成封包群所需之樣版資訊;和封包生成部係基於樣版記憶部中所被登錄之樣版資訊來生成封包群然後輸入至輸出入部。

Description

資料處理裝置、資料處理系統、資料結構、記錄媒體、記憶裝置及資料處理方法
本發明係有關於資料處理裝置、資料處理系統、資料結構、記錄媒體、記憶裝置及資料處理方法。
作為電腦架構,從記憶裝置(記憶體)中將指令依序讀出(fetch)、解讀(decode)、執行(execute)的馮紐曼型架構,係為一般熟知。該當馮紐曼型架構,係預先決定指令的執行順序,每次都將運算元(運算對象之資料)一面集結一面進行處理,是一種指令中心的處理體系。
又,於馮紐曼型電腦中,作為將複數指令予以平行處理的CPU(Central Processing Unit:中央處理裝置)架構,熟知的有超純量處理器。該當超純量處理器,係按照運算元的抵達順序,對執行節點發行(issue)指令並執行之,可進行非循序執行(out of order)處理。然而,在超純量處理器中,由於排程器是一面檢查資料相依性一面將執行結果排序成正確的順序,因此同時可執行之指令數的增加,會導致排程器的複雜化。
本申請人係為了解決這類馮紐曼型電腦的問題,而提出一種基於新的資料驅動型架構的平行電腦(以下稱作新資料驅動型電腦)(參照專利文獻1及專利文獻2)。該當新資料驅動型電腦,係以身為運算元之資料和身為運算子(演算子)之指令是呈一體的封包為處理對象,各封包中所含之指令,係被該封包的位元列本身所決定的目標之PE(Processor/Processing Element:處理要素/處理元件)所執行。因此,含有複數指令的封包,係一旦被目前的PE執行了1個指令,則會移動至執行後之位元列所決定的下個PE(包含目前之PE),是逐次在PE間一邊移動一邊執行指令。
如此一來,在新資料驅動型電腦中,可將處理對象之封包根據其位元列本身來做動態配置,可謀求通用性與高速性兼備。
[先前技術文獻] [專利文獻]
[專利文獻1]日本特開2011-138479號公報
[專利文獻2]國際公開第2011/068018號
[專利文獻3]日本特開2008-130712號公報
在專利文獻1及專利文獻2的新資料驅動型電腦(資料處理裝置)中,在進行迴圈處理時,在MCE(Memory Control/Controlling Element:記憶體控制要素/記憶體控制元素)裡,首先,會生成對應於迴圈之每次重複所被執行之內部處理(例如以C語言所撰寫之for迴圈內之處理)的基本封包列,將它們展開成重複次數份的執行用封包列,並發行之。然而,在此種迴圈處理的方法下,MCE的處理能力或MCE、PE間的通訊能力會造成瓶頸,即使增加PE數,仍無法達到相符的裝置整體之處理能力提升。
又,在專利文獻1及專利文獻2中係還提出了,藉由編譯器而預先生成被展開之執行用封包列,將它們當作執行碼而加以讀取的方法。然而,該方法雖然可以解決MCE之處理能力所造成的瓶頸,但是無法解決MCE.PE間之通訊能力所造成的瓶頸。另一方面,由於執行碼的大小是隨迴圈重複數而增大,因此會壓迫記憶裝置的容量,或造成從記憶裝置讀取的時間變長等等。
解決前述課題的主要之本發明,係一種資料處理裝置,其特徵為,具備:複數處理部,係用來處理對每一資料附加上擴充識別資訊而成的封包,該擴充識別資訊係含有:用來識別該當資料的識別資訊、及表示對該當資料之1個以上之處理指令的指令資訊;和目標資訊算出 部,係基於由前記指令資訊之所定部分及前記識別資訊所構成的位元列,而算出前記封包的目標資訊;前記複數處理部,係分別具有:輸出入部,係在前記封包當中,僅將前記目標資訊是表示該當處理部的封包,加以取得;和運算部,將已被前記輸出入部所取得之前記封包的前記處理指令當中應被最先執行之處理指令,加以執行,對藉由該當執行所被生成之資料,附加上把已被執行之前記處理指令的下一應被執行之處理指令當成應被最先執行之處理指令的前記擴充識別資訊,而生成封包,然後輸入至前記輸出入部;和樣版記憶部,係當已被前記輸出入部所取得之前記封包的應被最先執行之處理指令,是要生成由複數封包所成之封包群的處理指令的情況下,則會被登錄用來生成前記封包群所需之樣版資訊;和封包生成部,係基於前記樣版記憶部中所被登錄之前記樣版資訊,來生成前記封包群然後輸入至前記輸出入部。
關於本發明的其他特徵,係由添附圖面及本說明書之記載就能明瞭。
若依據本發明,則在新資料驅動型電腦中,可消除迴圈處理中的瓶頸,可高速地平行處理迴圈處理。尤其是,稱作迴圈承載相依的跨越迴圈之重複間的資料相依關係不會存在,因此,可確定迴圈重複數,可使能不同步進行平行處理的Doall型迴圈處理,高速地進行平行處 理。
1‧‧‧資料處理裝置
6‧‧‧記憶裝置
7‧‧‧輸入裝置
8‧‧‧輸出裝置
9‧‧‧匯流排
100~115‧‧‧PE(處理要素)
210‧‧‧輸出入部
211‧‧‧目標資訊算出部
212‧‧‧送訊部
213‧‧‧收訊部
214a~214d‧‧‧輸出埠
215a~215d‧‧‧輸入埠
230‧‧‧比較.選擇部
231‧‧‧雜湊值算出部
240‧‧‧緩衝記憶體
250‧‧‧指令解碼器
260‧‧‧ALU(算術邏輯運算部)
270‧‧‧封包生成部
280‧‧‧樣版緩衝區
300~303‧‧‧MCE(記憶體控制要素)
400‧‧‧緩衝記憶體
500‧‧‧通訊路(傳輸路)
501‧‧‧穿透材(芯)
502‧‧‧反射材(外殼)
503‧‧‧吸收材
504‧‧‧半導體基板
600‧‧‧網路
LE‧‧‧發光元件
LR‧‧‧受光元件
FL‧‧‧光學濾波器
SW‧‧‧光開關
WG‧‧‧光導波路
[圖1]本發明之第1實施形態中的PE(處理要素)之構成的區塊圖。
[圖2]本發明的第1及第2實施形態中的具備資料處理裝置的資料處理系統全體之構成之概略的區塊圖。
[圖3]本發明之第1實施形態中的資料處理裝置之構成的區塊圖。
[圖4]資料處理裝置的其他構成例的區塊圖。
[圖5]原始程式與資料處理裝置中所被處理之程式(執行碼)之關係之一例的圖示。
[圖6]資料處理裝置中所採用之指令集之一例的圖示。
[圖7]由MCE(記憶體控制要素)所生成的資料流程圖之一例的圖示。
[圖8]由MCE(記憶體控制要素)所生成的初期封包列之一例的圖示。
[圖9]原始程式與資料處理裝置中所被處理之程式(執行碼)之關係之其他例的圖示。
[圖10]被實裝在緩衝記憶體裡的雜湊表之一例的圖示。
[圖11]打包(pack)指令之執行所致之資料處理裝置 之動作的說明圖。
[圖12]重複(repeat)指令之執行所致之資料處理裝置之動作的說明圖。
[圖13]重複(repeat)指令之執行所致之資料處理裝置之另一動作的說明圖。
[圖14]樣版緩衝區中所被登錄之樣版資訊之一例的圖示。
[圖15]基於依照重複(repeat)指令而被登錄之樣版資訊所生成的封包群之一例的圖示。
[圖16]步階(step)指令之執行所致之資料處理裝置之動作的說明圖。
[圖17]基於依照步階(step)指令而被登錄之樣版資訊所生成的封包群之一例的圖示。
[圖18]複製(duplicate)指令之執行所致之資料處理裝置之動作的說明圖。
[圖19]從圖8所示的初期封包列,藉由迴圈關連指令之執行所被生成之封包群的圖示。
[圖20]在專利文獻1及專利文獻2的資料處理裝置與本發明的第1實施形態的資料處理裝置中,藉由迴圈處理所被生成之封包數之一例的圖示。
[圖21]包含多重迴圈之處理的資料流程圖之一例的圖示。
[圖22]包含多重迴圈之處理的初期封包列之一例的圖示。
[圖23]指令追加指令之執行所致之資料處理裝置之動作的說明圖。
[圖24]包含多重迴圈之處理的資料流程圖之另一例的圖示。
[圖25]包含多重迴圈之處理的初期封包列之另一例的圖示。
[圖26]迴圈ID偏置指令之執行所致之資料處理裝置之動作的說明圖。
[圖27]從圖25所示的初期封包列所生成之,正要進行函數呼叫前的封包群的圖示。
[圖28]本發明之第2實施形態中的資料處理裝置之構成的區塊圖。
[圖29]使用電磁波(光)來進行資訊傳達時的通訊路之構成之一例的圖示。
[圖30]使用電磁波(光)來進行資訊傳達時的封包之收送訊動作之一例的說明圖。
[圖31]PE(處理要素)、MCE(記憶體控制要素)、及快取記憶體的其他配置例的圖示。
[圖32]本發明之第2實施形態中的PE(處理要素)之構成的區塊圖。
[圖33]各PE(處理要素)及各MCE(記憶體控制要素)中具備共通之發光元件的資料處理裝置之構成之一例的透視側面圖。
[圖34]具備複數通道的送訊部之構成之一例的圖示。
[圖35]各PE(處理要素)及各MCE(記憶體控制要素)是使用複數通道時的封包收送訊動作之一例的說明圖。
根據本說明書及添附圖面的記載,至少可以明瞭以下事項。
===資料處理系統全體構成之概略===
以下,參照圖2,說明後述本發明之第1及第2實施形態的具備資料處理裝置的資料處理系統全體構成之概略。
圖2所示的資料處理系統,係為具備資料處理裝置1的平行電腦系統,除了資料處理裝置1以外,還含有記憶裝置6、輸入裝置7、輸出裝置8、及匯流排9所構成。又,資料處理裝置1、記憶裝置6、輸入裝置7、及輸出裝置8,係透過匯流排9而彼此連接。此外,關於資料處理裝置1之構成的詳細說明,將於後述。
===資料處理系統全體動作之概略===
接著,說明資料處理系統全體動作之概略。
記憶裝置6,係由RAM(Random Access Memory)或ROM(Read Only Memory)等所構成,係將程式(執行碼)或該當程式之執行時所使用的資料等,加 以記憶。又,資料處理裝置1,係相當於電腦系統的CPU,會執行記憶裝置6中所記憶的程式。此外,關於資料處理裝置1之動作的詳細說明,將於後述。
輸入裝置7,係由鍵盤或滑鼠等所構成,含有資料或程式(原始程式或執行碼)的資訊,是從外部輸入至該當資料處理系統。另一方面,輸出裝置8係由顯示器或印表機等所構成,是將資訊以文字或影像等而輸出至外部。
此外,上記資料處理裝置1、記憶裝置6、輸入裝置7、及輸出裝置8的分類,係並非固定。例如,硬碟機或光碟機等之輔助記憶裝置,係被當成記憶裝置6來使用,但亦可分類成與外部間作資訊輸出入用的輸入裝置7及輸出裝置8。
<第1實施形態> ===資料處理裝置之構成===
以下,參照圖3,說明本發明之第1實施形態中的資料處理裝置之構成。
圖3所示的資料處理裝置1,係含有:PE100至115、MCE300至303、快取記憶體400、及通訊路(傳輸路)500所構成。
資料處理裝置1,係具備複數個相當於處理部的PE,各PE是透過通訊路500而彼此連接。在本實施形態中,作為一例,假設資料處理裝置1係為具備被配置 成4行4列之矩陣狀的16個PE100至115。又,PE100至115,係僅在相鄰的PE間有被彼此連接。此外,關於各PE之構成的詳細說明,將於後述。
此處,若將PE100至115的座標(X,Y),如圖3所示,分別表示成(0,0)至(3,3),則對各PE係可設定X座標為上位2位元、Y座標為下位2位元的識別號碼。又,如此所被設定的識別號碼,係與圖3所示之各PE的3位數符號的下2位數一致。例如,位於座標(0,3)的PE103的識別號碼係為3(2進位表示為0011),位於座標(3,0)的PE112的識別號碼係為12(2進位表示為1100)。
資料處理裝置1,係具備至少1個相當於控制部的MCE,各MCE是透過通訊路500被連接至PE100至115之任一個。在本實施形態中,作為一例,假設資料處理裝置1係為具備4個MCE300至303。又假設,MCE300至303,係分別與相鄰的PE100至103作連接。此外,如圖3所示,對MCE300至303,分別設定有0至3的識別號碼。
快取記憶體400,係與MCE300至303作連接。又,快取記憶體400,係透過前述的匯流排9(未圖示),而和資料處理裝置1外的記憶裝置6作連接。
此外,資料處理裝置1中的各PE之配置及連接,係不限定於本實施形態所示之矩陣狀的配置及連接。例如,於圖3中,藉由將各PE間的通訊路500的一部 分予以省略,可成為環型的連接。又例如,亦可將所有的PE間或PE及MCE間,作直接連接。此情況下,以電氣配線所進行的電氣訊號之傳達上,PE或MCE的個數越是增加,則配線會變得越困難。甚至,亦可例如圖4所示,在MCE300(及緩衝記憶體400)與各PE之間,透過網路600而連接。此時,亦可構成為,被設在網路600中的路由器係具備後述的目標資訊算出部,而在各PE中不設置目標資訊算出部。
===資料處理裝置之動作===
接著,適宜參照圖5至圖9,說明本實施形態中的資料處理裝置之動作。
快取記憶體400,係一面進行快取,一面控制著MCE300至303與記憶裝置6之間的輸出入。因此,記憶裝置6中所記憶之程式或資料等,係會透過快取記憶體400而被讀取至MCE300至303。
此處,原始程式與資料處理裝置1中所被處理之程式(執行碼)之關係之一例,示於圖5。以高階語言所撰寫成的原始程式PR0,係事先被編譯成執行碼PR1然後記憶在記憶裝置6中,執行碼PR1係會被讀取到MCE300至303裡。此外,於圖5中,作為原始程式PR0之一例,圖示了以C++語言所撰寫成的,將陣列sp[1024]之各要素除以2後的值儲存在陣列dp[1024]中的處理。又,執行碼PR1係不僅可為機械語言程式,也可以是用和機 械語言約略1對1對應的組合語言所撰寫成的程式。
MCE300至303,係從所被讀取的執行碼PR1,基於資料流程圖,生成後述的初期封包列。此外,各MCE是沒有必要生成資料流程圖本身,但在本實施形態中係為了說明上的方便,而假設首先會生成資料流程圖,然後基於資料流程圖而生成初期封包列。
此處,資料處理裝置1中所採用之指令集之一例,示於圖6。於圖6中,各指令係大致分成2輸入.1輸出指令、1輸入.1輸出指令、及迴圈關連指令。其中,2輸入.1輸出指令,係將所被輸入的2筆資料分別當成左側及右側運算元而進行2項運算的指令,1輸入.1輸出指令,係將所被輸入的1筆資料當成運算元而進行單項運算的指令。另一方面,迴圈關連指令,係為了將迴圈處理展開至各PE,因此係為對本實施形態的資料處理裝置所追加的指令。
又,如圖6所示,對各指令,設定有相當於運算子(operator)的記號和機械語言中的16進位表示,這些將在資料流程圖或封包列的說明中被適宜使用。在本實施形態,各指令係為例如8位元的固定長度。
首先說明2輸入.1輸出指令。
對於會將2筆資料(A及B)的加算結果(A+B)予以輸出的加算指令,設定有記號「+」與16進位表示的10H。又,對於會將2筆資料(A及B)的乘算結果(A×B)予以輸出的乘算指令,設定有記號「×」與16 進位表示的14H。
當是將2筆資料(L及R)的減算結果(L-R)予以輸出的減算指令時,由於減算是交換法則不成立的非可換運算,因此必須要有表示把各資料視為左側或右側運算元之何者用的左右資訊(方向資訊)。因此,對減算指令的記號「-」,還會附加上左右資訊「L」或「R」,且分別設定有16進位表示12H或13H。又,對於會將2筆資料(L及R)的除算結果(L/R)予以輸出的除算指令,設定有被附加左右資訊之記號「/」(「/L」及「/R」),和16進位表示16H及17H。
此外,左右資訊「L」係表示這是身為左側運算元的資料,左右資訊「R」係表示這是身為右側運算元的資料。又,於該當指令集中,各指令的LSB(Least Significant Bit:最下位位元)是被指派給左右資訊專用。因此,在以下的指令(除了null文字以外)中,均為具有左右資訊「L」之指令及不具有左右資訊之指令的LSB是設為0,據有左右資訊「R」之指令的LSB是設為1。因此,對於成立交換法則的進行可換演算之加算指令或乘算指令等,也是可以容易地附加上左右資訊。
被設定有附加左右資訊之記號「write」(「writeL」及「writeR」)、和16進位表示18H及19H的寫入指令,係為對資料(L)所示之記憶裝置6之位址中所記憶的資料(*L),寫入資料(R)用的指令。此外,「*」係為間接參照運算子。
被設定有附加左右資訊之記號「Dap」(「DapL」及「DapR」)、和16進位表示50H及51H的資料追加指令,係為對後述的封包(L)之資料部分,追加封包(R)之資料部分用的指令。又,被設定有附加左右資訊之記號「Iap1」至「Iap4」(「Iap1L」至「Iap4L」、及「Iap1R」至「Iap4R」)、和16進位表示60H至67H的指令追加指令,均為對後述的封包(L)之處理指令部分,追加封包(R)之資料部分用的指令。
接著說明1輸入.1輸出指令。此外,1輸入.1輸出指令,係只將1筆資料當成運算元,因此均不具有左右資訊。
被設定有記號「NOP」與16進位表示00H的NOP指令,係為不做任何事的指令。又,被設定有記號「read」和16進位表示02H的讀出指令,係為將資料(A)所示之記憶裝置6之位址中所記憶的資料(*A)予以讀出用的指令。此外,雖然並非指令,但作為表示封包尾端的null文字,而設定有例如16進位表示FFH。
接著說明迴圈關連指令。此外,這裡僅概略地說明,細節則是舉出具體例而後述。
被設定有附加左右資訊之記號「pack」(「packL」及「packR」)、和16進位表示70H及71H的打包(pack)指令,係為將封包(L)之資料部分與封包(R)之資料部分打包成1個封包之資料部分的指令。因此,打包指令係為2輸入.1輸出指令。
被設定有附加左右資訊之記號「dup」(「dupL」及「dupR」)、和16進位表示72H及73H的複製(duplicate)指令,係為將封包(L)之資料部分予以複製,並分配至2個封包之資料部分的指令。此時,藉由複製及分配而被新生成的封包的處理指令部分中,係被追加有封包(R)之資料部分。因此,複製指令係為2輸入.2輸出指令。
被設定有附加左右資訊之記號「step」(「stepL」及「stepR」)、和16進位表示74H及75H的步階(step)指令,係為生成封包(R)與封包(L)之資料部分所相應之樣版資訊(以下稱作S樣版),並登錄至後述之樣版緩衝區的指令。此時,封包(R)及封包(L)本身會消滅。因此,步階指令係為2輸入.0輸出(但是會生成S樣版)指令。
被設定有附加左右資訊之記號「rep1」至「rep4」(「rep1L」至「rep4L」、及「rep1R」至「rep4R」)、和16進位表示80H至87H的重複(repeat)指令,係均為生成封包(R)與封包(L)之資料部分所相應之樣版資訊(以下稱作R樣版),並登錄至樣版緩衝區的指令。此時,封包(R)本身會消滅。因此,重複指令係為2輸入.1輸出(還會生成R樣版)指令。
各MCE,係使用圖6所示的指令集,生成資料流程圖。圖7係圖示由執行碼PR1所生成的資料流程圖,係對應於圖5所示之原始程式PR0。又,於圖7中,D1 至D8係表示資料,I1至113係表示指令。此外,於圖7中,2重線係表示複數封包所成之封包群的生成,及針對所生成之封包群的處理。
資料D1,係表示迴圈的全部重複數,係因為原始程式中的「ii=0;ii<1024」,所以為1024。又,資料D2,係表示後述的迴圈ID間距(迴圈ID的增加量),若為1重迴圈或最內迴圈時,則為1。然後,藉由資料D1及D2之組合,就表示了應生成迴圈ID每次增加1的1024個的封包群。
資料D3及D4,係分別為表示陣列dp[1024]及sp[1024]的指標,資料D5係表示迴圈內之除算時的除數2。又,資料D6係表示,對於藉由複製指令之執行而被新生成之封包的處理指令部分所追加之指令。
資料D7,係表示迴圈內所使用之迴圈變數(計數器變數)ii的初期值,因為原始程式中的「ii=0」,所以為0。又,資料D8,係表示後述的步階間距(迴圈函數ii所相當的資料之增加量),因為原始程式中的「ii++」,所以為1。然後,藉由資料D1及D2之組合與資料D7及D8之組合,就表示了應生成迴圈ID每次增加1、且將從初期值0起每次增加1之迴圈函數ii當作資料的1024個的封包群。
於圖7中,位於長虛線上側的指令I1至I8,係均為迴圈關連指令,藉由執行這些指令,迴圈處理會被展開,生成相當於迴圈變數從ii=0至ii=1023之重複處 理的封包群。此外,關於迴圈處理之展開的詳細說明,係在後述的針對各迴圈關連指令之具體說明中進行。又,位於長虛線上側的指令I9至I13,係為針對藉由迴圈處理之展開所生成之封包群的指令,因此關於這些的詳細說明也將於後述。
圖8係圖示了,基於圖7所示的資料流程圖所生成的、各指令被執行前的初期封包列。
各封包係由資料部分(data section)與擴充識別資訊部分(extended identification information section)所成。又,擴充識別資訊部分係由識別資訊部分(identification information section)與處理指令(指令資訊)部分(processing instructions section)所成。此外,各封包係亦可為了加密或壓縮等目的而被適宜地編碼。
識別資訊部分,係含有例如通用ID及迴圈ID。其中,通用ID係被使用於例如,表示生成該當封包之MCE的發行者資訊等。另一方面,迴圈ID係為,隨著迴圈處理時的每次迴圈之重複而被設定的識別號碼,例如,對應於迴圈函數ii=0至ii=1023的重複處理,而被設定0至1023。
在本實施形態中,作為一例,處理指令部分是除了含有8個為止的指令1至8以外,還含有指令數資訊。又,各指令係為,與執行順序顛倒之順序而排列,應最先被執行之指令是被配置在最末尾,其後係設成null文字。甚至,指令數資訊雖然是表示未處理之指令數,但亦 可按情形而加以計數。
資料部分係除了資料本體以外,還含有該當資料的資料類型資訊及延長旗標。又,資料類型資訊係表示例如「整數型(integer)」、「浮點型(floating)」、「指標型(pointer)」等之資料類型。甚至,作為資料類型還具備有「指令型(command)」,該當指令型的資料,係藉由指令追加指令或複製指令之執行,而被當成封包的處理指令部分而被追加。在本實施形態中,由於資料本體係設成例如64位元的固定長,因此作為指令型的資料,係可分別將8位元之指令儲存到8個為止。此外,延長旗標係被使用於與指令追加指令不同的指令之追加機能(專利文獻1中的指令追加處理)。
由圖8可知,封包P1至P8所構成的初期封包列,係將圖7所示的資料流程圖針對8個資料D1至D8所重建而成,各封包係對該當資料附加識別資訊及處理指令而被生成,從各MCE發行至相鄰的PE。
從各MCE所發行的封包,係在PE100至115當中,一路到後述的目標資訊所示的PE為止,透過通訊路500而被傳達。又,各PE係相當於,將封包中所含之處理指令加以執行的執行節點。此外,關於各PE之動作的詳細說明,將於後述。
此外,本發明的資料處理裝置係不限定於,如本實施形態所示,具備根據以機械語言或組合語言所撰寫成的執行碼PR1來生成封包列之MCE之構成。
例如,亦可為,在記憶裝置6中是記憶著,作為從原始程式PR0編譯成執行碼PR1之際的中間階段所生成的中間碼,而以語法樹(syntax tree)所表現成的程式。在語法樹中,運算元是被配置在葉節點(leaf node),運算子是被配置在內部節點(internal node)而呈現樹狀結構,因此相較於機械語言或組合語言,較容易生成資料流程圖。
又,例如,亦可在記憶裝置6中記憶著,由具備編譯器之外部裝置所預先生成之初期封包列(initial packet sequences)。此時,各MCE係可將各封包直接發行至相鄰的PE。
又,例如,亦可在記憶裝置6中記憶著,初期封包列當中,識別資訊部分之部分或全部被省略、或被設成null文字的中間封包列(interim packet sequences)。此情況下,各MCE係先把被省略的識別資訊部分予以附加,才將各封包發行至相鄰的PE。
甚至亦可為,例如,藉由迴圈處理之展開而被生成之封包群,是從外部裝置直接輸入資料處理裝置。此情況下的外部裝置中,亦可含有會平行動作的其他資料處理裝置。
此處,原始程式與資料處理裝置1中所被處理之程式(執行碼)之關係之其他例,示於圖9。此情況下,編譯器係根據以高階語言所撰寫成的原始程式PR0,基於資料流程圖而生成初期封包列或中間封包列。又,在 記憶裝置6中,這些封包列係被適宜編碼之後,成為執行碼PR2而被記憶。然後,在MCE300至303中,執行碼PR2係被讀入。
===PE(處理要素)之構成===
以下,參照圖1,說明本實施形態的PE之構成。
圖1所示的PE100至115,係分別含有輸出入部210、比較.選擇部230、緩衝記憶體240、指令解碼器250、ALU(Arithmetic Logic Unit:算術邏輯運算部)260、封包生成部270、及樣版緩衝區280所構成。此外,在本實施形態中,指令解碼器250及ALU260係相當於運算部。
輸出入部210係含有:目標資訊算出部211、輸出埠214a至214d、及輸入埠215a至215d。又,對輸出入部210,係透過各輸入埠,輸入著封包或從記憶裝置6所讀出之資料等。再者,從輸出入部210,係透過各輸出埠,輸出著封包或要寫入至記憶裝置6之資料等。然後,各輸出入埠(輸入埠及輸出埠),係透過前述的通訊路500(未圖示),而和相鄰的PE或MCE作連接。
例如,以圖3的PE110為例,4組的輸出入埠,係分別和PE109、106、111、及114連結。又,例如PE100的情況,2組輸出入埠,係分別與PE101及104連接,1組輸出入埠係與MCE300連接,然後,1組輸出入 埠係不使用。又,亦可為,各輸出入埠是具備複數通道,使用該當複數通道,在相鄰的PE間或PE及MCE間,將封包或資料等予以輸出入之構成。
對比較.選擇部230,係從輸出入部210,輸入著封包。又,比較.選擇部230係含有雜湊值算出部231,在與相當於封包記憶部的緩衝記憶體240之間,進行封包輸出入。再者,從比較.選擇部230,係透過指令解碼器250,而將具有分別作為左側及右側運算元之資料的封包,輸入至ALU260。然後,由ALU260所新生成的封包,係再次被輸入至輸出入部210。此外,當新生成的封包的目標資訊是表示著該當PE時,該當封包就會從輸出入部210再次輸入至比較.選擇部230。
在本實施形態中,從指令解碼器250,還有樣版資訊會被輸入至封包生成部270。又,封包生成部270係與相當於樣版記憶部的樣版緩衝區280之間,將樣版資訊予以輸出入。然後,由封包生成部270所新生成的封包,係再次被輸入至輸出入部210。
===PE(處理要素)之動作===
接著,適宜參照圖10,說明本實施形態中的PE之動作。
輸出入部210,係首先將目標資訊算出部211所輸入之封包的目標資訊,予以算出。目標資訊,係為表示應處理封包之PE的資訊,可從該當封包的擴充識 別資訊部分求出。
目標資訊算出部211,係首先從各封包僅把擴充識別資訊部分予以抽出,在各擴充識別資訊資訊當中,將應被最初執行之指令的左右資訊,加以遮蔽。如前述,在本實施形態中,應被最初執行之指令是被配置在封包的最末尾(null文字之前),各指令的LSB係被指派給左右資訊專用。因此,只要將擴充識別資訊的最後1位元以0或1(null文字之前)加以遮蔽即可。
目標資訊算出部211,接下來會基於上記已被遮蔽的擴充識別資訊(所定部分)而生成擬似(疑似)亂數,隨應於該當擬似亂數,而算出目標資訊。例如,若0至15(2進位表示為0000至1111)的4位元之值被當成目標資訊而算出,則該當目標資訊係和圖3的各PE之座標同樣地,可以上位2位元為X座標、下位2位元為Y座標的座標(X,Y)形式來表示。此處,擬似亂數係和實體亂數不同,具有重現性,因此從已被遮蔽的擴充識別資訊為相同的封包,係會生成出同一擬似亂數,而算出同一目標資訊。
此外,擬似亂數的生成上,可採用公知的方法。站在目標資訊的算出時間的觀點來看,使用LCG(Linear Congruential Generator:線性同餘法)或LFSR(Linear Feedback Shift Register:線性反饋位移暫存器)等高速的生成方法,較為理想。又,目標資訊算出部211係亦可構成為,參照預先生成之擬似亂數表而算出目標資訊 。此情況下,由於目標資訊算出部211係不需要對每一封包生成擬似亂數,因此能夠縮短目標資訊的算出時間。
另一方面,站在PE的使用效率之觀點來看,為了使封包分布均勻,擬似亂數係接近均勻分布,較為理想。又,機率變數群無法預測這件事,係和均勻分布是等價的,因此藉由使用CSPRNG(Cryptographically Secure Pseudo-Random Number Generator:密碼學安全擬似亂數產生器),可謀求PE使用效率之提升。然而,由於隨著指令不同,各封包的處理時間也不同,因此實際上即使擬似亂數是均勻分布,有時候封包分布仍無法達到均勻。因此,使用不會讓目標資訊的算出時間變得過長、接近均勻分布的擬似亂數,較為理想。
甚至,亦可不在每次封包輸入時各PE都算出目標資訊,而是改成,將已算出之目標資訊,附加至封包,將該當目標資訊予以再利用。例如,藉由在MCE將封包發行至PE時,及PE生成新的封包時,附加目標資訊,則在這些以外的情況下,就可將所被附加的目標資訊直接加以利用。此時就不需要對目標資訊所被附加之封包算出目標資訊。
輸出入部210,接下來係判定封包的目標資訊是否表示著該當PE,若表示著該當PE,則將該當封包加以取得,然後輸入至比較.選擇部230。另一方面,若封包的目標資訊並非表示該當PE,則向接近於目標資訊所示PE的方向,將該當封包傳送至相鄰的PE。然後,藉 由各PE的輸出入部進行該當動作,藉此,各封包就會被傳達至目標資訊所示的PE為止,而被取得。
例如,各封包係首先在圖3的上下方向移動直到目標資訊所示之PE與Y座標呈一致為止,然後在圖3的左右方向移動直到X座標呈一致為止。藉由採用此種移動規則,可使封包的移動路徑總是最短。又,移動中的方向轉換係為1次或0次,可使各PE間的通訊路500的使用頻率平均化。作為一例,於圖3中,從MCE301往PE101所發行之封包的目標資訊是表示PE115的情況下,該當封包係經由PE102、PE103、PE107、及PE111,而一路被傳達至PE115。
比較.選擇部230,係在已被輸出入部210所取得的封包(以下稱作取得封包)當中,將可執行指令者選擇成為處理對象(指令的執行對象),輸入至指令解碼器250。又,比較.選擇部230,係將指令無法執行的封包,記憶在緩衝記憶體240,並且還會進行緩衝記憶體240中所記憶之封包(以下稱作記憶封包)的讀出。
更具體而言,若取得封包的應被最初執行(最末尾)之指令是1輸入.1輸出指令時,則比較.選擇部230係僅將取得封包,輸入至指令解碼器250。另一方面,若取得封包的應被最初執行(最末尾)之指令是迴圈關連指令或2輸入.1輸出指令時,則比較.選擇部230係將上記之已被遮蔽的擴充識別資訊(所定部分)是與取得封包一致的封包,從記憶封包中檢索出來。然後,當有 一致的記憶封包存在時,則比較.選擇部230係將該當一致的2個封包,選擇成為處理對象,輸入至指令解碼器250。又,若一致的記憶封包不存在時,則比較.選擇部230係將取得封包,記憶在緩衝記憶體240中。
此外,為了有效率地檢索出已被遮蔽的擴充識別資訊是與取得封包一致的記憶封包,在本實施形態中,緩衝記憶體240係含有雜湊表。又,比較.選擇部230係首先由雜湊值算出部231,根據取得封包而算出雜湊值。該當雜湊值,係和目標資訊的情況相同,是基於取得封包的已被遮蔽的擴充識別資訊,而被算出。然後,當比較.選擇部230將取得封包記憶至緩衝記憶體240時,是將取得封包與該雜湊值建立對應而儲存在雜湊表中。
此外,雜湊表係可採用公知的實裝方法。圖10係圖示了被實裝在緩衝記憶體240裡的雜湊表之一例。在該當雜湊表中,作為解決雜湊碰撞之方法係採用開放定址法(open addressing),作為再雜湊程序則是使用線性探索法(linear probing)。
於圖10中,作為一例而圖示了,雜湊值為n+3的封包1被儲存後,雜湊值為n的封包2至5被儲存時的情形。封包1係被儲存在根陣列[256]的要素n+3之位置,被設定有旗標「1」及計數值「1」。又,封包2至5係分別被儲存在要素n、n+1、n+2、n+4之位置,在要素n的位置上係被設定有旗標「1」及計數值「4」。
指令解碼器250,係先把從比較.選擇部 230所輸入的1個或2個封包的應被最初執行之指令予以解讀(解譯),然後將該當封包輸入至ALU260。又,此時,若應被最初執行之指令是重複指令或步階指令,則生成樣版資訊(R樣版或S樣版),輸入至封包生成部270。
ALU260,係對從指令解碼器250所輸入的1個或2個封包的資料部分(運算元),進行算術運算(整數運算及/或浮點運算)或邏輯運算等,將運算結果予以輸出。更具體而言,ALU260,係對所被輸入的封包的資料,執行應被最初執行之指令,對執行結果之資料,附加上已被執行之指令除外後的擴充識別資訊而生成新的封包,再度輸入至輸出入部210。
封包生成部270,係首先將從指令解碼器250所輸入的樣版資訊,登錄至樣版緩衝區280。又,封包生成部270,係基於樣版緩衝區280中所被登錄的樣版資訊,每一樣版資訊地生成重複數份的封包群,輸入至輸出入部210。此外,該當封包群的生成,係獨立於封包生成部270以外的各部之動作,自動(每一時脈)地進行。
如此一來,各PE係僅將目標資訊是表示該當PE的封包加以取得,將目標資訊並非表示該當PE的封包,傳送至其他PE。然後,對取得封包之資料,執行應被最初執行之指令,同時對執行結果之資料附加上已被執行之指令除外後的擴充識別資訊而生成新的封包,將已被生成之封包,隨應於該目標資訊而加以傳送或取得。
此外,在本實施形態中,當應被最初執行之指令是重複指令時,目標資訊算出部211及雜湊值算出部231係分別以與此之外之情形不同的方法,而算出目標資訊及雜湊值。亦即,當應被最初執行之指令是重複指令時,目標資訊及雜湊值之算出時所使用的擴充識別資訊的所定部分,是與上記已被遮蔽的擴充識別資訊不同。此時的目標資訊及雜湊值之算出方法的詳細說明,係針對後述的重複指令的具體說明時再來進行。
===資料處理裝置之動作的具體例===
此處,適宜參照圖11至圖19,使用圖7所示之資料流程圖及圖8所示之初期封包列,來說明資料處理裝置1之動作的具體例。
封包P1及P2係為,應被最初執行(最末尾)之指令都是打包指令I1,這些擴充識別資訊,係除了打包指令I1的左右資訊以外都一致,因此會算出同一目標資訊。因此,封包P1及P2係會被一路傳達至所被算出之目標資訊所示的同一PE,而被取得。然後,在該當PE的ALU260中係會執行打包指令I1,其結果為,如圖11所示,將資料D1(1024)與資料D2(1)打包成資料部分,生成打包指令I1除外後的新封包P9。同樣地,對封包P7及P8,會執行打包指令I2,其結果為,將資料D7(0)與資料D8(1)打包成資料部分,生成打包指令I2除外後的新封包P10。
此外,在本實施形態中,打包指令係對整數型的資料執行,藉由將整數型的資料設成32位元的固定長,就可將2個整數型的資料,打包成1個封包的資料部分。又,為了表示資料部分是由2個整數型的資料所成,藉由打包指令之執行所生成的封包P9及P10的資料類型,係稱為「捆包型(packed)」。
封包P9及P3係為,應被最初執行之指令都是重複指令I3,下個應被執行之指令所被儲存的處理指令部分(封包P9之指令5及封包P3之指令3)中,係儲存著不是指令而是相同的整數「4」。該當整數係在重複指令執行之際,作為減值計數而使用,重複指令係被視為實質上具備減值計數的16位元之指令。
又,對這些封包,係如圖12所示,使用僅將最初執行之實質16位元之重複指令(I3+「4」)包含在處理指令部分的擴充識別資訊P9’及P3’,進行目標資訊及雜湊值的算出。擴充識別資訊P9’及P3’,係由於除了重複指令I3的左右資訊之外都一致,因此會算出同一目標資訊。因此,封包P9及P3係會被一路傳達至所被算出之目標資訊所示的同一PE,而被取得。然後,在該當PE的ALU260中係會執行重複指令I3(rep1),其結果為,會生成在封包P9中重複指令I3(rep1L)的減值計數是被減值計數成「3」的新封包P11。
另一方面,指令解碼器250,係生成含有在封包P3中將重複指令I3(rep1R)及減值計數予以除外後 的樣版封包TP1的樣版資訊(R樣版)。透過封包生成部270而登錄至樣版緩衝區280。此處,樣版封包TP1係並非實際生成的封包,而是R樣版的一部分,會反映在由封包生成部270所生成之封包群。
此處,將樣版緩衝區280的構成例示於圖14。如圖14所示,樣版緩衝區280係可登錄複數樣版資訊。又,樣版數係表示樣版緩衝區280中所被登錄之樣版資訊的數目,下個樣版號碼係表示封包生成部270所應參照(下次應執行)的樣版資訊。
於圖14中,樣版資訊TI1係依照重複指令I3而被登錄之樣版資訊,除了含有樣版封包TP1,還含有封包生成部270生成封包群之際的生成條件。此處,RS旗標係表示,樣版資訊是R樣版還是S樣版。樣版資訊TI1,係為依照重複指令I3而被登錄的R樣版,RS旗標係為「R」。
又,全生成數(相當於迴圈的全體重複數),係表示封包生成部270基於該當樣版資訊而必須生成的全封包數(封包群中所含之封包的個數),已生成數係表示,在全生成數當中,已經被封包生成部270所生成的封包數。然後,迴圈ID間距,係表示封包生成部270在生成封包群之際的迴圈ID的增加量,步階間距係表示封包生成部270在生成封包群之際的資料增加量(相當於迴圈函數ii的增加量)。然後,如圖14所示,R樣版TI1的全生成數及迴圈ID間距中,係分別儲存著被打包在封包 P9之資料部分的資料D1(1024)及資料D2(1),步階間距係為「0」。
同樣地,如圖13所示,對封包P11及P4,會執行重複指令I4(rep1),其結果為,會生成在封包P11中重複指令I4(rep1L)的減值計數是被減值計數成「2」的新封包P12。另一方面,在封包P4中將重複指令I4(rep1R)及減值計數予以除外後的樣版封包TP2加以含有的R樣版TI2,會被登錄至樣版緩衝區280。
又,同樣地,對封包P12及P5,會執行重複指令I5(rep1),其結果為,會生成在封包P12中重複指令I5(rep1L)的減值計數是被減值計數成「1」的新封包P13。另一方面,在封包P5中將重複指令I5(rep1R)及減值計數予以除外後的樣版封包TP3加以含有的R樣版TI3,會被登錄至樣版緩衝區280。
然後,同樣地,對封包P13及P6,會執行重複指令I6(rep1),其結果為,會生成在封包P13中把重複指令I6(rep1L)及已被減值計數成「0」之減值計數予以除外後的新封包P14。另一方面,在封包P6中將重複指令I6(rep1R)及減值計數予以除外後的樣版封包TP4加以含有的R樣版TI4,會被登錄至樣版緩衝區280。
如圖15所示,封包生成部270,係基於樣版緩衝區280中所被登錄的R樣版TI1,生成相當於迴圈函數ii=0至ii=1023之重複處理的1024個封包群GP1-ii。此處,最初生成的封包GP1-0,係和樣版封包TP1相同, 然後,由於R樣版TI1的迴圈ID間距為「1」,因此封包GP1-0至GP1-1023的迴圈ID,係依序逐次增加1。又,同樣地,封包生成部270,係基於R樣版TI2、TI3及TI4,分別生成封包群GP2-ii、GP3-ii、及GP4-ii。
此外,如前述,封包群的生成係每一時脈地進行,封包生成部270,係參照樣版緩衝區280,每一時脈地生成1個封包。又,若1個PE中的樣版緩衝區280裡被登錄有複數樣版資訊時,則封包生成部270,係每生成1個封包就將樣版緩衝區280的下個樣版號碼予以逐次更新。
例如,R樣版TI1至TI3係分別被當成第1個至第3個樣版資訊而登錄,下個樣版號碼是1時,則首先,基於R樣版TI1,生成被包含在封包群GP1-ii的1個封包。又,下個樣版號碼係被更新成2。接著,基於R樣版TI2,生成被包含在封包群GP2-ii的1個封包,下個樣版號碼係被更新成3。接著,基於R樣版TI3,生成被包含在封包群GP3-ii的1個封包,下個樣版號碼係再被更新成1。
藉由重複以上動作,就可從樣版緩衝區280中所被登錄的所有樣版資訊,均等地生成封包。因此,具有同一迴圈ID的封包是儘可能在相近的時序上被生成,可抑制未處理封包的增多。
重複指令I6之執行所生成的封包P14、及打包指令I2之執行所生成的封包P10,係應被最初執行之指 令均為步階指令I7,這些擴充識別資訊,係除了步階指令I7的左右資訊以外都一致,因此會算出同一目標資訊。因此,封包P14及P10係會被一路傳達至所被算出之目標資訊所示的同一PE,而被取得。
然後,指令解碼器250,係如圖16所示,於封包P10中,僅留下被打包在資料部分的第1個資料D7(0),生成含有除了步階指令I7(stepR)以外之樣版封包TP5的樣版資訊(S樣版),透過封包生成部270而登錄至樣版緩衝區280。此處,樣版封包TP5係並非實際生成的封包,而是S樣版的一部分,會反映在由封包生成部270所生成之封包群。此外,樣版封包TP5的資料類型,係從「捆包型」變回「整數型」。
於圖14中,樣版資訊TI5係依照步階指令I7而被登錄之樣版資訊,含有樣版封包TP5。此處,樣版資訊TI5係為依照步階指令I7而被登錄的S樣版,因此RS旗標係為「S」。又,如圖14所示,S樣版TI5的全生成數及迴圈ID間距中,係分別儲存著被打包在封包P14之資料部分的資料D1(1024)及資料D2(1)。另一方面,步階間距中係儲存有,被打包在封包P10之資料部分的第2個資料D8(1)。
如圖17所示,封包生成部270,係基於樣版緩衝區280中所被登錄的S樣版TI5,生成相當於迴圈函數ii=0至ii=1023之重複處理的1024個封包群GP5-ii。此處,最初生成的封包GP5-0,係和樣版封包TP5相同, 然後,由於S樣版TI5的迴圈ID間距為「1」,因此封包GP5-0至GP5-1023的迴圈ID,係依序逐次增加1。又,由於S樣版TI5的步階間距為「1」,因此封包GP5-0至GP5-1023的整數型的資料,係從資料D7所示之初期值「0」逐次增加1。因此,封包群GP5-ii的各資料,係相當於迴圈函數ii。
如圖18所示,在封包群GP5-ii及GP4-ii中所含的封包當中,分別具有任意迴圈ID=ii的封包P15及P16,係應被最初執行之指令均為複製指令I8,這些擴充識別資訊,係除了複製指令I8的左右資訊以外都一致,因此會算出同一目標資訊。因此,封包P15及P16係會被一路傳達至所被算出之目標資訊所示的同一PE,而被取得。
然後,在該當PE的ALU260中係會執行複製指令I8,其結果為,生成在封包P15中將複製指令I8(dupL)予以除外後的新封包P17。然後,還會將封包P15的資料部分予以複製,將封包P16的指令型之資料D6,追加至封包的處理指令部分而當作指令,生成新封包P18。
如此一來,藉由執行迴圈關連指令I1至I8,迴圈處理就被展開,如圖19所示,生成相當於迴圈變數從ii=0至ii=1023之重複處理的封包群。於圖19中,封包P19至P21,係分別是在被封包群GP1-ii至GP3-ii所包含的封包當中,具有任意迴圈ID=ii的封包。然後, 圖19所示的封包P17至P21,係對應於原始程式中的、關於任意迴圈函數ii的for迴圈內之處理。
於圖7中,加算指令I9,係將封包P19的資料(dp)與封包P17的資料(ii)予以加算而輸出資料dp+ii,加算指令I10,係將封包P20的資料(sp)與封包P18的資料(ii)予以加算而輸出資料sp+ii。又,讀出指令I11,係從記憶裝置6讀出資料*(sp+ii)。然後,除算指令I12,係將資料*(sp+ii)除以封包P21的資料(2)而輸出資料*(sp+ii)/2。然後,寫入指令I5,係對記憶裝置6的資料*(dp+ii),將資料*(sp+ii)/2予以寫入。
藉由以上的資料流,陣列sp[1024]的1個要素除以2後的值,會被儲存在陣列dp[1024]中。
如以上所述,本實施形態的資料處理裝置,係藉由執行所被追加的迴圈關連指令,在各PE中展開迴圈處理,生成迴圈重複數量份的封包群,這點是和專利文獻1及專利文獻2的資料處理裝置有很大的不同。
此處,在專利文獻1的資料處理裝置中,於4個MCE上展開迴圈處理而生成封包的情形,和在本實施形態的資料處理裝置中,於16個PE上展開迴圈處理而生成封包的情形的比較結果,示於圖20。圖20係將每一時脈在4個MCE(短虛線)中各自生成1個封包時的情形,和在16個PE(實線)中各自生成1個封包的情形下,所生成之各封包到達基於擬似亂數之目標PE的個數加以模擬而計測的結果。
如圖20所示,相較於在4個MCE中生成封包的情形,在16個PE中生成封包的時候,係會生成約4倍的封包,性能係有所提升。因此,迴圈重複數越多,越可看到PE數之增加所帶來的處理能力之提升。此外,雖然在100時脈之期間可在16個PE中生成1600個封包,但是在圖20的實線來看,在100時脈之期間到達目標PE的封包數,係還不到1500個。這是因為,於圖20中到達目標PE的封包數,係由於PE間之通訊路的限制、和在PE間傳輸中之封包的存在,而會少於所能生成之封包數的緣故。
===資料處理裝置之動作的其他具體例===
此處,含有多重迴圈之處理的原始程式及資料流程圖之一例示於圖21,基於該當資料流程圖所生成的初期封包列示於圖22。此外,於圖21中,2重線係表示外側(原始程式的第1行)之迴圈處理(迴圈函數ii)所對應的封包群之生成等,3重線係表示內側(原始程式的第2行)之迴圈處理(迴圈變數jj)所對應的封包群之生成等。
資料D33及D34係分別表示內側迴圈的全重複數(全生成數)及迴圈ID間距,表示了應生成迴圈ID每次增加1的200個的封包群。另一方面,資料D31及D32係分別表示外側迴圈的全重複數及迴圈ID間距,表示了應生成迴圈ID每次增加200的100個的封包群。此 外,該當外側迴圈之迴圈ID間距,係等於位於其內側1個迴圈的全重複數及迴圈ID間距的積(200×1)。
然後,如圖21所示,對於藉由打包指令I31及I32之執行所生成的2個封包,會執行重複指令I35,生成將資料D33及D34打包至各個資料部分的100個的封包群。然後,對該當100個的封包群,執行重複指令I43至I48,分別生成(100×200=)20000個的封包群。
資料D38及D39係分別表示內側迴圈的迴圈變數jj的初期值及步階間距,表示了應配合資料D33及D34,生成迴圈ID每次增加1、且將從初期值0起每次增加1的迴圈變數jj當作資料的的200個的封包群。另一方面,資料D42及D43係分別表示外側迴圈的迴圈函數ii的初期值及步階間距,表示了應配合資料D31及D32,而生成迴圈ID每次增加200、且將從初期值0起每次增加1的迴圈函數ii當作資料的的100個的封包群。
此外,圖8所示之封包的構成,係由於處理指令部分是只含有到8個為止的指令,因此圖21所示之資料流程圖及圖22所示之初期封包列中,係含有對封包之處理指令部分追加指令的指令追加指令I51及I53。
此處,圖23係表示,指令追加指令I51正要執行前的封包P44及P45,和藉由指令追加指令I51之執行所生成的封包P46。又表示了,指令追加指令I53正要執行前的封包P47及P48,和藉由指令追加指令I53之執行所生成的封包P49。此外,封包P44、P45、P47、及 P48係分別為,在將2重迴圈處理予以展開所生成的20000個封包群中所含的封包當中,具有任意迴圈ID(LID1=ii×200+jj)的封包。
對封包P44及P45,會執行指令追加指令I51,其結果為,於封包P44中,將指令追加指令I51(Iap1L)予以除外,將封包P45的指令型之資料D40當成指令而追加至處理指令部分而成的新封包P46,會被生成。同樣地,對封包P47及P48,會執行指令追加指令I53,其結果為,於封包P47中,將指令追加指令I53(Iap2L)予以除外,將封包P45的指令型之資料D41當成指令而追加至處理指令部分而成的新封包P46,會被生成。
此處,含有多重迴圈之處理的原始程式及資料流程圖之另一例示於圖24,基於該當資料流程圖所生成的初期封包列示於圖25。此外,於圖24中,短虛線係表示,任一迴圈處理(迴圈函數ii、jj、kk、及nn)所對應的封包群之生成。
資料D65及D66係對應於原始程式的第3行的(最內)迴圈處理(迴圈函數kk),表示了應生成迴圈ID每次增加1的5個的封包群。又,資料D63及D64係對應於原始程式的第2行的迴圈處理(迴圈函數jj),表示了應生成迴圈ID每次增加5的3個的封包群。此外,該當第2行之迴圈的迴圈ID間距,係等於位於其內側1個的第3行之迴圈的全重複數及迴圈ID間距的積(5×1)。
又,資料D69及D70係對應於原始程式的第7行的(最內)迴圈處理(迴圈函數nn),表示了應生成迴圈ID每次增加1的10個的封包群。然後,資料D61及D62係對應於原始程式的第1行的(最外)迴圈處理(迴圈函數ii),表示了應生成迴圈ID每次增加25的100個的封包群。此外,該當第1行迴圈的迴圈ID間距,係等於位於其內側1個的第2行及第7行之迴圈的全重複數及迴圈ID間距的積的合計(3×5×1+10×1)。
然後,藉由這些迴圈處理之組合,就會生成進行「func1」之函數呼叫的(100×3×5=)1500個的封包群、及進行「func2」之函數呼叫的(100×10=)1000個的封包群。
此外,在圖24所示的原始程式中,由於在迴圈內沒有使用迴圈函數的處理,因此圖24所示之資料流程圖及圖25所示之初期封包列中,係不含有步階指令。又,必須要使位於第1行迴圈之內側1個的第2行迴圈和第7行迴圈之間,迴圈ID不重複。於是,對這些資料流程圖及初期封包列,係為了使迴圈ID不重複而對迴圈ID加算偏置,含有以記號「lid+」所表示的迴圈ID偏置指令I75及I76。
此處,圖26係表示迴圈ID偏置指令I75正要執行前的封包P72及P73、和藉由迴圈ID偏置指令I75之執行所生成的封包P74及P75。又表示了,迴圈ID偏置指令I76正要執行前的封包P74及P76、和藉由迴圈ID 偏置指令I76之執行所生成的封包P77及P78。此外,封包P72、P73及P76係分別為,在將第1行迴圈處理予以展開所生成的100個封包群中所含的封包當中,具有任意迴圈ID(LID2=ii×25)的封包。
如圖26所示,迴圈ID偏置指令,係和重複指令同樣地,被視為實質上具備減值計數的16位元之指令。又,和重複指令的時候同樣地,對於應被最初執行之指令是迴圈ID偏置指令的封包,係使用僅將該當最初執行之實質16位元之迴圈ID偏置指令包含在處理指令部分的擴充識別資訊,進行目標資訊及雜湊值的算出。
對封包P72及P73,會執行迴圈ID偏置指令I75(lid+),其結果為,會生成在封包P72中迴圈ID偏置指令I75(lid+L)的減值計數被減值計數成「1」的新封包P74。然後還會生成,於封包P73中將迴圈ID偏置指令I75(lid+R)及減值計數予以除外,將封包P72的整數型之資料D68(15)加算至迴圈ID而成的新封包P75。因此,封包P75的迴圈ID係為LID3=ii×25+15。
同樣地,對封包P74及P76,會執行迴圈ID偏置指令I76(lid+),其結果為,會生成在封包P74中將迴圈ID偏置指令I75(lid+L)及已被減值計數成「0」的減值計數予以除外後的新封包P77。此外,封包P77係不含有處理指令,因此會被一路送回發行源的MCE,或是進行消去之處理等。然後還會生成,於封包P76中將迴圈ID偏置指令I76(lid+R)及減值計數予以除外,將封 包P74的整數型之資料D68(15)加算至迴圈ID而成的新封包P78。因此,封包P78的迴圈ID係亦為LID3(=ii×25+15)。
此處,圖27係圖示了,進行「func1」之函數呼叫之前的封包P79、及進行「func2」之函數呼叫之前的封包P80。此外,封包P79係為,在將第1行至第3行之3重迴圈處理予以展開所生成的1500個封包群中所含的封包當中,具有任意迴圈ID(LID4=ii×25+jj×5+kk)的封包。又,封包P80係為,在將第1行及第7行之2重迴圈處理予以展開所生成的1000個封包群中所含的封包當中,具有任意迴圈ID(LID5=ii×25+15+nn)的封包。因此,被分配給各個封包群的迴圈ID係為:LID4=0~14,25~39,50~64,…、LID5=15~24,40~49,65~74,…可避免迴圈ID的重複。
<第2實施形態> ===資料處理裝置之構成===
以下,參照圖28,說明本發明之第2實施形態中的資料處理裝置之構成。
圖28所示的資料處理裝置1,係含有:PE100至115、MCE300至303、及緩衝記憶體400。又,和第1實施形態同樣地,快取記憶體400,係和MCE300至303、及資料處理裝置1外的記憶裝置6作連接。
在本實施形態中,如圖28所示,假設對PE100至115係分別設定0至15的識別號碼,對MCE300至303係分別設定0至3的識別號碼。又,各PE及各MCE係具備發光元件LE及受光元件LR。此外,關於各PE之構成的詳細說明,將於後述。
===通訊路之構成及動作之一例===
在本實施形態中,為了避免封包之移動所伴隨的配線延遲或間接負擔等問題,PE間或PE及MCE間的資訊傳達,係採用電磁波而進行。此處,將使用電磁波、尤其是使用光來進行資訊傳達時,PE間或PE及MCE間的通訊路之構成的一例,示於圖29。此外,圖29係將資料處理裝置1,從MCE303、及PE103、107、111、115側(於圖28中係為下側)觀看的透視圖(透視側面圖)。
圖29所示的通訊路,係由讓光透過的穿透材501、將光予以反射的反射材502、及吸收光的吸收材503所成;是被配置在各PE、各MCE、及快取記憶體400所形成的半導體基板504的上方。此外,穿透材501及反射材502,係分別相當於光纖中的芯(core)及外殼(cladding),是採用石英玻璃或塑膠等。然後,作為穿透材501係使用矽或氮化矽,作為反射材502係使用氧化矽,藉此就可將它們形成在半導體基板504上。
在穿透材501的領域中係配置有,各PE及各MCE所具備的發光元件LE及受光元件LR。又,穿透 材501係為折射率高於反射材502,反射材502係被配置成將穿透材501上下包夾。然後,吸收材503係為了防止因反射造成光訊號波形走樣,而被配置成至少將各發光元件LE及各受光元件LR予以包圍。然後,藉由此種構成,從發光元件LE所射出的光訊號,係一面被反射材502作全反射而一面在穿透材501中被傳達,入射至各受光元件LR。
此處,對各PE及各MCE,係設定有彼此互異的波長段(頻率頻帶),各受光元件LR係被構成為,採用OCF(On-chip Color Filter)或環狀振盪器等之光學濾波器,而只會接收所被設定之波長段的光。在本實施形態中,作為一例,係如圖28所示,假設對PE100至115係分別設定波長段λ 0至λ 15,對MCE300至303係分別設定波長段λ 16至λ 19。
然後,各發光元件LE係藉由射出資訊傳達目標之PE或MCE所被設定之波長段的光訊號,就可向所選擇的1個PE或MCE傳達資訊。此外,作為使發光元件所射出之光的波長呈可變的方法,係例如專利文獻3中所揭露,藉由對3端子型結晶矽元件的控制電極所施加的電位來控制波長的方法。又,藉由切換使用複數個射出彼此互異波長段之光的發光元件,也能使波長呈可變。
此處,參照圖30,說明對圖29所示之通訊路中,使用光來進行資訊傳達時,資料處理裝置1的收送訊動作的具體例。此外,本實施形態中的資料處理裝置1 之動作,係除了該當收送訊動作以外,均和第1實施形態的資料處理裝置1的動作相同。以下,將各PE及各MCE,與所被設定之識別號碼a建立對應,而以PE(a)及MCE(a)這樣的方式來稱呼。
於本實施形態的資料處理裝置1中,係如後述,PE間或PE及MCE間的資訊傳達,係藉由封包收送訊而進行。又,於本實施形態使用光的資訊傳達中,當對1個PE或MCE從複數PE或MCE同時發送封包時,這些封包是以相同波長段的光而被發送。因此,資料處理裝置1係為了避免碰撞而造成資訊遺失或是被變更等等,而具備用來調停(仲裁)的仲裁機能。
在圖30的最初之仲裁期中,從PE(2)及PE(4)以波長段λ 0的光發送RTS(Request to Send:送訊要求)封包,PE(0)係先接收到來自PE(4)的RTS封包。此時,PE(0)係對PE(4)以波長段λ 4的光,發送CTS(Clear to Send:送訊許可)封包。然後,PE(4)係在接收到CTS封包之後,於資料傳送期中,對PE(0)以波長段λ 0的光,發送通常的(資料)封包。
然後,在下個仲裁期中,從PE(2)及PE(3)以波長段λ 0的光發送RTS封包,PE(0)係先接收到來自PE(2)的RTS封包。此時,PE(0)係對PE(2)以波長段λ 2的光,發送CTS封包。然後,PE(2)係在接收到CTS封包之後,於資料傳送期中,對PE(0)以波長段λ 0的光,發送通常的(資料)封包。
如此一來,各發光元件LE係以資訊傳達目標之PE或MCE所被設定之波長段的光來發送封包,各受光元件LR係僅接受所被設定之波長段的光,藉此就可取得封包。以下,將RTS/CTS封包以外的通常(資料)封包,單純簡稱為封包。
此外,各PE及各MCE所被設定之波長段,係亦可使用從紫外線波段至紅外光波段的任意波段。然而,隨著穿透材501及反射材502所使用的材料,紫外線會被吸收、降低穿透率,因此使用可見光波段至紅外光波段的波長,較為理想。
又,資料處理裝置1中的各PE之配置,係並非限定與磚疊式處理器同樣的矩陣狀配置。亦可例如圖31所示,將面積較大的快取記憶體400配置在中央,在周圍配置PE及MCE。此情況下,封包係從各MCE所發行,因此從發行源MCE至發明目標PE為止的距離,就可平均化。
===PE(處理要素)之構成===
以下,參照圖32,說明本實施形態的PE之構成。此外,本實施形態中的PE100至115之動作,係除了輸出入部210之構成以外,均和第1實施形態的PE100至115之構成相同。
輸出入部210係含有:目標資訊算出部211、送訊部212、及收訊部213。又,送訊部212及收訊部 213,係分別具備發光元件LE及受光元件LR,會透過它們而收送資料傳送期中的封包及仲裁期中的RTS/CTS封包。然後,送訊部212及收訊部213,係也將藉由讀出指令而從記憶裝置6所讀出之資料、或藉由寫入指令而寫入至記憶裝置6的資料等,於資料傳送期中以封包的方式加以收送訊。
此外,封包收送訊之際的光訊號之調變方式,係可採用例如OOK(On-Off Keying:開.關調變)等。又,為了在PE及MCE間進行封包的收訊送,MCE300至303也是具備和輸出入部210同樣的輸出入部。
又,資料處理裝置1的各PE及各MCE,係並不限定於如本實施形態所示,具備1個發光元件LE之構成。
例如,如圖33所示,亦可為在各PE及各MCE中具備共通之發光元件LE的構成。於圖33中,從發光元件LE所射出的廣波長段的光,係透過光波導WG而被導引至各PE及各MCE。又,各PE及各MCE係藉由光學濾波器FL而僅讓資訊傳達目標之PE或MCE所被設定的波長段穿透,藉由光開關SW而進行OOK等之調變。然後,已被調變過的光訊號,係透過光波導WG而被導引至穿透材501的領域。此外,於圖33中係構成為,來自其他PE或MCE的光訊號,也是會透過光波導WG而入射至受光元件LR。
又,亦可構成為,各PE及各MCE係具備複 數發光元件LE,使用複數通道,在PE間或PE及MCE間收送封包。此情況下,除了複數具備波長可變的發光元件之構成外,亦可例如圖34所示,構成為各送訊部具備會射出所被設定之波長段λ0至λ19之光的波長固定發光元件,將它們切換使用。
此處,參照圖35,說明各PE及各MCE使用複數通道來進行資訊傳達時,資料處理裝置1的收送訊動作的具體例。此外,於圖35中,作為一例,各PE及各MCE係至少具備4個光開關等之調變手段,同時使用4個通道。又,仲裁期,係由收送RTS封包的RTS訊框與收送CTS封包的CTS訊框所成,CTS訊框係還被分時成對應於各PE及各MCE的時槽。
於圖35的RTS訊框中,從PE(0)以波長段λ1至λ4的光發送RTS封包,這些RTS封包,係分別被PE(1)至PE(4)所接收。又,PE(1)至PE(4)當中的PE(2)及PE(4),係於CTS訊框各自對應的時槽中,對PE(0)以波長段λ0的光發送CTS封包。此情況下,PE(0)係接收到各個CTS封包之後,於資料傳送期中,對PE(2)及PE(4)分別以波長段λ2及λ4的光,發送封包。
已被收訊部213所取得的封包,係被輸入至比較.選擇部230。又,和第1實施形態同樣地,從比較.選擇部230係透過指令解碼器250而向ALU260輸入著封包,並且,從指令解碼器250係有樣版資訊會被輸入至封包生成部270。然後,藉由ALU260及封包生成部270 所新生成的封包,係被輸入至目標資訊算出部211。
從目標資訊算出部211往送訊部212,係除了輸入新生成的封包,還輸入著對應於目標資訊的波長段資訊WL。又,當收訊部213接收RTS封包時,從收訊部213往送訊部212係會輸入著,該當RTS封包的送訊源PE或MCE所被設定的波長段資訊WL。然後,當收訊部213接收CTS封包時,從收訊部213往送訊部212係會輸入該當CTS封包。然後,從送訊部212係以波長段資訊WL所示之波長段的光,發送出新生成的封包或RTS/CTS封包。
此外,當新生成的封包的目標資訊是表示著該當PE時,該當封包就會從目標資訊算出部211輸入至比較.選擇部230。
===PE(處理要素)之動作===
接著,說明本實施形態中的PE之動作。此外,本實施形態中的各PE之動作,係除了輸出入部210之動作以外,均和第1實施形態的各PE之動作相同。
輸出入部210的收訊部213,係僅接受該當PE所被設定之波長段λn的光,而取得封包。此處,各封包係以送訊源PE或MCE的目標資訊算出部211所算出之目標資訊所對應之波長段的光而被發送,只有被設定該當波長段的PE或MCE可以收訊。因此,各PE及各MCE係可僅對目標資訊所示的應該處理各封包的PE,傳達封 包。
已被收訊部213取得之封包(取得封包),係和第1實施形態同樣地,是被比較.選擇部230、指令解碼器250、ALU260、及封包生成部270所處理。然後,藉由ALU260及封包生成部270所新生成的封包,係被輸入至目標資訊算出部211。
目標資訊算出部211,係藉由和第1實施形態同樣的方法,算出新生成之封包的目標資訊。例如,若0至15的4位元之值被當成目標資訊而算出,則該當目標資訊係可與圖28的各PE所被設定的識別號碼,建立對應。又,目標資訊算出部211,係當所被算出之目標資訊是表示著該當PE時,則將新生成的封包再次輸入至比較.選擇部230,比較.選擇部230係會將該當封包視為取得封包而加以處理。
另一方面,目標資訊算出部211,係當所被算出之目標資訊不是表示著該當PE時,則將新生成的封包,連同所被算出的目標資訊所對應之波長段資訊WL,輸入至送訊部212。送訊部212,係一旦有新生成的封包被輸入,則首先於仲裁期中,以波長段資訊WL所示之波長段的光,發送RTS封包。然後,送訊部212係在將對該當RTS封包的CTS封包以收訊部213收訊後的資料傳送期中,以該當波長段資訊WL所示之波長段的光,發送新生成的封包。
此外,收訊部213,係於仲裁期中,接收到 來自其他PE或MCE的RTS封包時,將該當RTS封包之送訊源PE或MCE所被設定的波長段加以表示的波長段資訊WL,輸入至送訊部212。然後,送訊部212係於該當仲裁期中,以該當波長段資訊WL所示的波長段的光,發送CTS封包。
如此一來,各PE係僅將該當PE所被設定之波長段λ n的光予以受光而取得封包,對取得封包的資料,執行應被最初執行(最末尾)之指令。然後,對執行結果之資料附加上已被執行之指令除外後的擴充識別資訊而生成新的封包,以所被生成之封包的目標資訊所對應之波長段的光,進行送訊。
此外,在本實施形態中,當所生成的封包的目標資訊是表示著該當PE時,該當封包就不會從送訊部212發送,而是被視為取得封包而處理。然而,目標資訊表示該當PE的封包係亦可也從送訊部212發送,被該當PE的收訊部213取得。
又,如前述,各封包係可被適宜編碼,但編碼及解碼係可例如分別是在送訊部212及收訊部213中進行。亦即,已被收訊部213所取得的封包,係先被解碼然後才輸入至比較.選擇部230。另一方面,藉由ALU260而新生成的封包,係於目標資訊算出部211中進行目標資訊的算出,之後被送訊部212加密然後才發送。
如前述,於資料處理裝置1中,各MCE係對每一筆資料,附加含處理指令之擴充識別資訊而生成封 包,各PE係僅將隨著擴充識別資訊所指定的目標資訊是表示該當PE的封包,加以取得,執行取得封包之指令而生成封包,並且,基於樣版緩衝區280中所被登錄的樣版資訊,封包生成部270會獨立生成封包群,藉此可在各PE中將迴圈處理予以展開,因此可解決迴圈處理中的瓶頸,可將迴圈處理高速地進行平行處理。尤其是,在迴圈重複數係為確定,可無同步地進行平行處理的Doall型迴圈處理中,可看到符合PE數之增加所帶來的處理能力之提升。
又,藉由執行重複指令,生成含有樣版封包與封包群生成之既知生成條件的樣版資訊(R樣版)而登錄至樣版緩衝區280,就可生成使樣版封包的迴圈ID有所變化的封包群。
又,作為封包群的生成條件,藉由將全生成數與迴圈ID間距登錄至樣版緩衝區280,就可生成將樣版封包之迴圈ID逐次增加了迴圈ID間距、由全生成數所示之個數的封包所成的封包群。
又,藉由在重複指令的下個應執行指令所被儲存的處理指令部分中,儲存非指令的整數資料,就可將重複指令視為實質上具備減值計數的16位元之指令,可再利用減值計數之次數份重複指令。因此,可削減封包中所含之指令數,還可達成封包數的削減。
又,當應被最初執行之指令是重複指令時,藉由使用僅將含有減值計數之實質16位元之重複指令含 在處理指令部分中的擴充識別資訊亦即,使用「識別資訊+整數資料+重複指令(左右資訊除外)」來算出目標資訊,就可將減值計數之計數值為相同的重複指令是被最初執行的2個封包,一路傳達至同一PE為止。
又,藉由將取得封包及記憶封包的「識別資訊+整數資料+重複指令(左右資訊除外)」進行比較,來選擇重複指令的執行對象之封包,就可執行減值計數之計數值相同的重複指令。
又,藉由執行步階指令,生成含有樣版封包與封包群生成之既知生成條件的樣版資訊(S樣版)而登錄至樣版緩衝區280,就可生成使樣版封包的迴圈ID及迴圈變數(整數型的資料)有所變化的封包群。
又,作為封包群的生成條件,藉由將全生成數與迴圈ID間距與步階間距登錄至樣版緩衝區280,就可生成將樣版封包之迴圈ID逐次增加了迴圈ID間距、將迴圈變數從初期值起逐次增加了步階間距、由全生成數所示之個數的封包所成的封包群。
又,藉由執行打包指令,將封包(L)之資料部分與封包(R)之資料部分打包成1個封包的資料部分,藉由重複指令或步階指令之執行,就可將該當已被打包之2筆資料分別當成全生成數及迴圈ID間距而登錄至樣版緩衝區280。
又,藉由步階指令之執行,就可將因打包指令之執行而被打包的2筆資料,分別當成迴圈變數之初期 值及步階間距而登錄至樣版緩衝區280。
又,藉由執行迴圈ID偏置指令,對封包(R)的迴圈ID將封包(L)之資料當作偏置而予以加算,就可避免多重迴圈之處理中的迴圈ID之重複。
又,藉由在迴圈ID偏置指令的下個應執行指令所被儲存的處理指令部分中,儲存非指令的整數資料,就可將迴圈ID偏置指令視為實質上具備減值計數的16位元之指令,可再利用減值計數之次數份迴圈ID偏置指令。因此,可削減封包中所含之指令數,還可達成封包數的削減。
又,當應被最初執行之指令是迴圈ID偏置指令時,使用僅將含有減值計數之實質16位元之迴圈ID偏置指令含在處理指令部分中的擴充識別資訊、亦即,使用「識別資訊+整數資料+迴圈ID偏置指令(左右資訊除外)」來算出目標資訊,就可將減值計數之計數值為相同的迴圈ID偏置指令是被最初執行的2個封包,一路傳達至同一PE為止。
又,藉由將取得封包及記憶封包的「識別資訊+整數資料+迴圈ID偏置指令(左右資訊除外)」進行比較,來選擇迴圈ID偏置指令的執行對象之封包,就可執行減值計數之計數值相同的迴圈ID偏置指令。
又,各PE係僅接收該當PE所被設定之頻率頻帶的電磁波而取得封包,以對應於目標資訊的頻率頻帶之電磁波來發送封包,藉此,就不必使用電氣配線而能傳 達各封包,因此可減少間接負擔,提升整體的處理速度。
又,各PE係具備發光元件LE及受光元件LR,各受光元件LR係僅接收該當PE所被設定之波長段的光而取得封包,各受光元件LR是以目標PE所被設定之波長段的光來發送封包,藉此就可使用紫外線波段至紅外光波段的光來進行資訊傳達。
又,各MCE係藉由將含有迴圈關連指令的封包發行至各PE,就可在各PE中將迴圈處理予以展開,可解決MCE的處理能力或MCE、PE間的通訊能力所致之瓶頸。
又,於資料處理系統中,資料處理裝置1的各MCE,係逐次生成封包、或將預先生成的封包列加以讀取,藉此就可構成解譯器型或編譯器型的平行電腦系統。
又,如前述,在圖8所示之封包的資料結構中,各封包係被隨著擴充識別資訊所指定的目標資訊所示的PE加以取得,而指令會被執行。然後,藉由執行重複指令而登錄R樣版,就可與指令之執行獨立開來,生成將樣版封包的迴圈ID逐次增加迴圈ID間距、由全生成數所示之個數的封包所成之封包群。因此,可消除迴圈處理中的瓶頸,可高速地平行處理迴圈處理。
又,藉由將在重複指令執行之際作為減值計數而使用的整數資料,相鄰於該當重複指令而儲存,就可將重複指令視為實質上16位元之指令,可再利用減值計 數之次數份重複指令,可達成封包中所含之指令數或封包數的削減。
又,如前述,藉由執行步階指令而登錄S樣版,就可與指令之執行獨立開來,生成將樣版封包的迴圈ID逐次增加迴圈ID間距、將迴圈變數從初期值起逐次增加步階間距、全生成數所示之個數的封包所成之封包群。
又,藉由打包指令之執行,2個封包之資料被打包成1個封包之資料部分,就可在重複指令或步階指令的執行之際,將該當已被打包之2筆資料分別當成全生成數及迴圈ID間距而予以登錄。
又,在步階指令的執行之際,就可將因打包指令之執行而被打包的2筆資料,分別當成迴圈變數之初期值及步階間距而予以登錄。
又,藉由迴圈ID偏置指令之執行,對封包(R)的迴圈ID將封包(L)之資料當作偏置而予以加算,就可避免多重迴圈之處理中的迴圈ID之重複。
又,藉由將在迴圈ID偏置指令執行之際作為減值計數而使用的整數資料,相鄰於該當迴圈ID偏置指令而儲存,就可將迴圈ID偏置指令視為實質上16位元之指令,可再利用減值計數之次數份迴圈ID偏置指令,可達成封包中所含之指令數或封包數的削減。
又,將從原始程式PR0預先生成之初期封包列當作執行碼PR2而記錄至記錄媒體,藉此就可將該當執行碼PR2在編譯器型處理系中作利用。
又,在初期封包列當中,將識別資訊部分之至少一部分被省略或設成null文字的中間封包列,記錄至記錄媒體,就可對該當中間封包列附加上被省略之識別資訊部分,然後於編譯器型處理系中作利用。
又,將從原始程式PR0預先生成之初期封包列當作執行碼PR2而記錄至記憶裝置6,各MCE就可讀取該當執行碼PR2而作利用。
又,在初期封包列當中,將識別資訊部分之至少一部分被省略或設成null文字的中間封包列,記錄至記憶裝置6,各MCE就可讀取該當中間封包列,附加已被省略之識別資訊部分,然後加以利用。
又,於資料處理系統中,藉由資料處理裝置1讀取記憶裝置6中所記憶之初期封包列或中間封包列,就可構成編譯器型的平行電腦系統。
又,如前述,各PE係僅將隨著擴充識別資訊所指定的目標資訊是表示該當PE的封包,加以取得,執行取得封包之指令,並且,基於樣版緩衝區280中所被登錄的樣版資訊,封包生成部270會獨立生成封包群,藉此可解決迴圈處理中的瓶頸,將迴圈處理高速地進行平行處理,尤其是在Doall型迴圈處理中,可看到符合PE數之增加所帶來的處理能力之提升。
此外,上記實施形態係為了容易理解本發明而揭露,並不是用來限定解釋本發明。本發明係在不脫離其宗旨的範圍內,可施加各種變更、改良,本發明中係亦 包含這些的等價物。
100~115‧‧‧PE(處理要素)
214a~214d‧‧‧輸出埠
215a~215d‧‧‧輸入埠
210‧‧‧輸出入部
211‧‧‧目標資訊算出部
230‧‧‧比較.選擇部
231‧‧‧雜湊值算出部
240‧‧‧緩衝記憶體
250‧‧‧指令解碼器
260‧‧‧ALU(算術邏輯運算部)
270‧‧‧封包生成部
280‧‧‧樣版緩衝區

Claims (31)

  1. 一種資料處理裝置,其特徵為,具備:複數處理部,係用來處理對每一資料附加上擴充識別資訊而成的封包,該擴充識別資訊係含有:用來識別該當資料的識別資訊、及表示對該當資料之1個以上之處理指令的指令資訊;和目標資訊算出部,係基於由前記指令資訊之所定部分及前記識別資訊所構成的位元列,而算出前記封包的目標資訊;前記複數處理部,係分別具有:輸出入部,係在前記封包當中,僅將前記目標資訊是表示該當處理部的封包,加以取得;和運算部,將已被前記輸出入部所取得之前記封包的前記處理指令當中應被最先執行之處理指令,加以執行,對藉由該當執行所被生成之資料,附加上把已被執行之前記處理指令的下一應被執行之處理指令當成應被最先執行之處理指令的前記擴充識別資訊,而生成封包,然後輸入至前記輸出入部;和樣版記憶部,係當已被前記輸出入部所取得之前記封包的應被最先執行之處理指令,是要生成由複數封包所成之封包群的處理指令的情況下,則會被登錄用來生成前記封包群所需之樣版資訊;和封包生成部,係基於前記樣版記憶部中所被登錄之前 記樣版資訊,來生成前記封包群然後輸入至前記輸出入部。
  2. 如請求項1所記載之資料處理裝置,其中,前記識別資訊係含有,隨著迴圈處理時的每次迴圈之重複而被設定的識別號碼亦即迴圈ID;用來生成前記封包群的處理指令係含有重複指令,該重複指令係用來生成,僅前記迴圈ID不同之複數封包所成之前記封包群;當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記重複指令的情況下,則前記樣版記憶部中所被登錄之前記樣版資訊係含有:該當已被取得之2個封包的其中一方之封包中除了前記重複指令以外的樣版封包、和該當已被取得之2個封包的其中另一方之封包的前記資料所相應之前記封包群的生成條件;前記封包生成部係生成,基於前記生成條件而改變了前記樣版封包之前記迴圈ID而成的複數封包所成之前記封包群。
  3. 如請求項2所記載之資料處理裝置,其中,當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記重複指令的情況下,則前記生成條件係含有:表示所被生成之前記封包群中所含之封包之個數的全生成數、和表示前記迴圈ID之增加量的迴圈ID間距;前記封包生成部係生成,將前記樣版封包的前記迴圈ID按照前記迴圈ID間距而逐次增加過的、前記全生成數 所示之個數的封包所成之前記封包群。
  4. 如請求項2或請求項3所記載之資料處理裝置,其中,前記封包的前記指令資訊係為,當前記重複指令是被儲存來作為前記處理指令的情況下,則整數資料是相鄰於該當重複指令而被儲存;前記運算部,係當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記重複指令的情況下,則生成:該當已被取得之2個封包的其中前記另一方之封包中前記整數資料被減值計數過的封包。
  5. 如請求項4所記載之資料處理裝置,其中,前記目標資訊算出部,係當前記封包的應被最先執行之處理指令是前記重複指令的情況下,則基於由前記重複指令及前記整數資料之所定部分、以及前記識別資訊所構成的位元列,來算出前記目標資訊。
  6. 如請求項4所記載之資料處理裝置,其中,前記複數處理部,係還分別具有:封包記憶部,係記憶前記封包;和比較.選擇部,係將已被前記輸出入部所取得之前記封包的前記擴充識別資訊與前記封包記憶部中所記憶的前記封包的前記擴充識別資訊,進行比較,從該當已被取得之封包及該當所被記憶之封包中,選擇出前記處理指令之執行對象的封包;前記比較.選擇部,係在已被前記輸出入部所取得之 前記封包的應被最先執行之處理指令是前記重複指令的情況下,當前記重複指令及前記整數資料的所定部分、及前記識別資訊是與該當已被取得之封包一致的封包是有被記憶在前記封包記憶部中時,則將該當所定部分及識別資訊為一致的2個封包,選擇成為前記重複指令之執行對象的封包;當前記重複指令及前記整數資料的前記所定部分、及前記識別資訊是與該當已被取得之封包一致的封包是未被記憶在前記封包記憶部中時,則令該當已被取得之封包,被記憶在前記封包記憶部中。
  7. 如請求項1所記載之資料處理裝置,其中,前記識別資訊係含有,隨著迴圈處理時的每次迴圈之重複而被設定的識別號碼亦即迴圈ID;用來生成前記封包群的處理指令係含有步階指令,該步階指令係用來生成,將前記迴圈處理時的迴圈內所使用之迴圈變數當作前記資料的複數封包所成之前記封包群;當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記步階指令的情況下,則前記樣版記憶部中所被登錄之前記樣版資訊係含有:在該當已被取得之2個封包的其中一方之封包中把前記迴圈變數之初期值當作前記資料,並把前記步階指令除外後的樣版封包、和該當已被取得之2個封包的前記資料所相應之前記封包群的生成條件; 前記封包生成部係生成,基於前記生成條件而改變了前記樣版封包之前記迴圈ID及前記資料而成的複數封包所成之前記封包群。
  8. 如請求項7所記載之資料處理裝置,其中,當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記步階指令的情況下,則前記生成條件係含有:表示所被生成之前記封包群中所含之封包之個數的全生成數、和表示前記迴圈ID之增加量的迴圈ID間距、和表示前記迴圈變數之增加量的步階間距;前記封包生成部係生成,將前記樣版封包的前記迴圈ID按照前記迴圈ID間距而逐次增加、且將前記資料從前記迴圈變數之初期值起按照前記步階間距而逐次增加過的前記全生成數所示之個數的封包所成之前記封包群。
  9. 如請求項3或請求項8所記載之資料處理裝置,其中,前記處理指令係含有:將2個封包之前記資料打包成1個封包之前記資料的打包指令;前記運算部,係當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記打包指令的情況下,則將該當已被取得之2個封包所各自擁有的2筆資料打包成前記資料,生成前記打包指令除外後的封包;被打包成為前記資料的2筆資料,係分別被當成前記全生成數及前記迴圈ID間距而被登錄在前記樣版記憶部中。
  10. 如請求項8所記載之資料處理裝置,其中,前記處理指令係含有:將2個封包之前記資料打包成1個封包之前記資料的打包指令;前記運算部,係當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記打包指令的情況下,則將該當已被取得之2個封包所各自擁有的2筆資料打包成前記資料,生成前記打包指令除外後的封包;被打包成為前記資料的2筆資料,係分別被當成前記迴圈變數之初期值及前記步階間距而被登錄在前記樣版記憶部中。
  11. 如請求項2或請求項7所記載之資料處理裝置,其中,前記處理指令係含有:對前記迴圈ID加算偏置的迴圈ID偏置指令;前記運算部,係當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記迴圈ID偏置指令的情況下,則在該當已被取得之2個封包的其中一方之封包中,將該當已被取得之2個封包的其中另一方之封包的前記資料,當作前記偏置而加算至前記迴圈ID,生成前記迴圈ID偏置指令除外後的封包。
  12. 如請求項11所記載之資料處理裝置,其中,前記封包的前記指令資訊係為,當前記迴圈ID偏置指令是被儲存來作為前記處理指令的情況下,則整數資料是相鄰於該當迴圈ID偏置指令而被儲存; 前記運算部,係當已被前記輸出入部所取得之2個封包的應被最先執行之處理指令是前記迴圈ID偏置指令的情況下,則生成:該當已被取得之2個封包的其中前記另一方之封包中前記整數資料被減值計數過的封包。
  13. 如請求項12所記載之資料處理裝置,其中,前記目標資訊算出部,係當前記封包的應被最先執行之處理指令是前記迴圈ID偏置指令的情況下,則基於由前記迴圈ID偏置指令及前記整數資料之所定部分、以及前記識別資訊所構成的位元列,來算出前記目標資訊。
  14. 如請求項12所記載之資料處理裝置,其中,前記複數處理部,係還分別具有:封包記憶部,係記憶前記封包;和比較.選擇部,係將已被前記輸出入部所取得之前記封包的前記擴充識別資訊與前記封包記憶部中所記憶的前記封包的前記擴充識別資訊,進行比較,從該當已被取得之封包及該當所被記憶之封包中,選擇出前記處理指令之執行對象的封包;前記比較.選擇部,係在已被前記輸出入部所取得之前記封包的應被最先執行之處理指令是前記迴圈ID偏置指令的情況下,當前記迴圈ID偏置指令及前記整數資料的所定部分、及前記識別資訊是與該當已被取得之封包一致的封包是有被記憶在前記封包記憶部中時,則將該當所定部分及識別資訊為一致的2個封包,選擇成為前記迴圈ID偏置指 令之執行對象的封包;當前記迴圈ID偏置指令及前記整數資料的前記所定部分、及前記識別資訊是與該當已被取得之封包一致的封包是未被記憶在前記封包記憶部中時,則令該當已被取得之封包,被記憶在前記封包記憶部中。
  15. 如請求項1至請求項14之任一項所記載之資料處理裝置,其中,對前記複數處理部,係設定彼此互異的頻率頻帶;前記輸出入部係含有:收訊部,係僅接收該當處理部所被設定之頻率頻帶的電磁波,而取得前記封包;和送訊部,係以對應於前記目標資訊之頻率頻帶的電磁波,來發送前記封包。
  16. 如請求項15所記載之資料處理裝置,其中,前記電磁波,係為紫外線、可見光線、或紅外線、或是這些之組合的光;對前記複數處理部,係設定彼此互異的波長段;前記收訊部,係僅將該當處理部所被設定之波長段的光予以受光,而取得前記封包;前記送訊部,係以對應於前記目標資訊之波長段的光,來發送前記封包。
  17. 如請求項1至請求項16之任一項所記載之資料處理裝置,其中,還具備:控制部,係用來將前記封包,發行至前記複數處理部之任一者。
  18. 一種資料處理系統,其特徵為,具備:請求項17所記載之資料處理裝置;和記憶裝置,係記憶著:被前記控制部轉換成前記封包的程式、前記封包當中至少前記識別資訊之一部分是被前記控制部所附加的中間封包、或前記封包;和輸出入裝置,係將包含前記資料、且還包含前記程式、前記中間封包、或前記封包的資訊,進行輸出入。
  19. 一種資料結構,係屬於被具備複數處理部、目標資訊算出部的資料處理裝置所處理的複數封包之資料結構,其特徵為,前記複數封包,係對每一資料附加上擴充識別資訊所構成,該擴充識別資訊係含有:用來識別該當資料的識別資訊、及表示對該當資料之1個以上之處理指令的指令資訊;前記識別資訊係含有,隨著迴圈處理時的每次迴圈之重複而被設定的識別號碼亦即迴圈ID;前記複數封包的前記處理指令係含有重複指令,該重複指令係用來生成,僅前記迴圈ID不同之複數封包所成之封包群;前記目標資訊算出部,係基於由前記指令資訊之所定部分及前記識別資訊所構成的位元列,而分別算出前記複數封包的目標資訊;前記複數處理部係分別:在前記複數封包當中,僅取得前記目標資訊是表示該 當處理部的封包,並執行該當封包的前記處理指令;在執行前記重複指令時,係將在應被最先執行之處理指令是前記重複指令的2個封包的其中一方之封包中把前記重複指令除外後的樣版封包、和表示所被生成之前記封包群中所含之封包之個數的全生成數、和表示前記迴圈ID之增加量的迴圈ID間距,予以登錄;獨立於前記處理指令的執行之外,生成:將前記樣版封包的前記迴圈ID按照前記迴圈ID間距而逐次增加過的、前記全生成數所示之個數的封包所成之前記封包群。
  20. 如請求項19所記載之資料結構,其中,該資料結構的特徵係為,前記複數封包的前記指令資訊係為,當前記重複指令是被儲存來作為前記處理指令的情況下,則整數資料是相鄰於該當重複指令而被儲存;前記複數處理部係分別為,在執行前記重複指令時,係生成:在應被最先執行之處理指令是前記重複指令的2個封包的其中另一方之封包中把前記整數資料予以減值計數過的封包。
  21. 一種資料結構,係屬於被具備複數處理部、目標資訊算出部的資料處理裝置所處理的複數封包之資料結構,其特徵為,前記複數封包,係對每一資料附加上擴充識別資訊所構成,該擴充識別資訊係含有:用來識別該當資料的識別資訊、及表示對該當資料之1個以上之處理指令的指令資 訊;前記識別資訊係含有,隨著迴圈處理時的每次迴圈之重複而被設定的識別號碼亦即迴圈ID;前記複數封包的前記處理指令係含有步階指令,該步階指令係用來生成,將前記迴圈處理時的迴圈內所使用之迴圈變數當作前記資料的複數封包所成之封包群;前記目標資訊算出部,係基於由前記指令資訊之所定部分及前記識別資訊所構成的位元列,而分別算出前記複數封包的目標資訊;前記複數處理部係分別:在前記複數封包當中,僅取得前記目標資訊是表示該當處理部的封包,並執行該當封包的前記處理指令;在執行前記步階指令時,係將在應被最先執行之處理指令是前記步階指令的2個封包的其中一方之封包中把前記迴圈變數之初期值當作前記資料,並把步階指令除外後的樣版封包、和表示所被生成之前記封包群中所含之封包之個數的全生成數、和表示前記迴圈ID之增加量的迴圈ID間距、和表示前記迴圈變數之增加量的步階間距,予以登錄;獨立於前記處理指令的執行之外,生成:將前記樣版封包的前記迴圈ID按照前記迴圈ID間距而逐次增加、且將前記資料從前記迴圈變數之初期值起按照前記步階間距而逐次增加過的前記全生成數所示之個數的封包所成之前記封包群。
  22. 如請求項19或請求項21所記載之資料結構,其中,該資料結構的特徵係為,前記複數封包的前記處理指令係還含有:將2個封包之前記資料打包成1個封包之前記資料的打包指令;前記複數處理部係分別為,在執行前記打包指令時,係將應被最先執行之處理指令為前記打包指令的2個封包所分別擁有的2筆資料,打包成為前記資料,生成前記打包指令除外後的封包;被打包成為前記資料的2筆資料,係分別被當成前記全生成數及前記迴圈ID間距而登錄。
  23. 如請求項21所記載之資料結構,其中,該資料結構的特徵係為,前記複數封包的前記處理指令係還含有:將2個封包之前記資料打包成1個封包之前記資料的打包指令;前記複數處理部係分別為,在執行前記打包指令時,係將應被最先執行之處理指令為前記打包指令的2個封包所分別擁有的2筆資料,打包成為前記資料,生成前記打包指令除外後的封包;被打包成為前記資料的2筆資料,係分別被當成前記迴圈變數之初期值及前記步階間距而登錄。
  24. 如請求項19或請求項21所記載之資料結構,其中,該資料結構的特徵係為,前記複數封包的前記處理指令係還含有:對前記迴圈ID加算偏置的迴圈ID偏置指令; 前記複數處理部係分別為,在執行前記迴圈ID偏置指令時,係在應被最先執行之處理指令為前記迴圈ID偏置指令的2個封包的其中一方之封包中,將該當2個封包的其中另一方之封包的前記資料,當作前記偏置而加算至前記迴圈ID,生成前記迴圈ID偏置指令除外後的封包。
  25. 如請求項24所記載之資料結構,其中,該資料結構的特徵係為,前記複數封包的前記指令資訊係為,當前記迴圈ID偏置指令是被儲存來作為前記處理指令的情況下,則整數資料是相鄰於該當迴圈ID偏置指令而被儲存;前記複數處理部係分別為,在執行前記迴圈ID偏置指令時,係生成:在應被最先執行之處理指令是前記迴圈ID偏置指令的2個封包的其中另一方之封包中把前記整數資料予以減值計數過的封包。
  26. 一種記錄媒體,其特徵為,其中所記錄的封包是具有如請求項19至請求項25之任一項所記載之資料結構。
  27. 一種記錄媒體,其特徵為,記錄著:在如請求項19至請求項25之任一項所記載之資料結構當中,前記識別資訊之至少一部分是被前記資料處理裝置的控制部所附加的中間封包。
  28. 一種記憶裝置,其特徵為,其中所記憶的封包是具有如請求項19至請求項25之任一項所記載之資料結構。
  29. 一種記憶裝置,其特徵為,記憶著:在如請求項19至請求項25之任一項所記載之資料結構當中,前記識別資訊之至少一部分是被前記資料處理裝置的控制部所附加的中間封包。
  30. 一種資料處理系統,其特徵為,具備:如請求項28或請求項29所記載之記憶裝置;和前記資料處理裝置;和將含有前記資料的資訊進行輸出入的輸出入裝置。
  31. 一種資料處理方法,係屬於用來處理對每一資料附加上擴充識別資訊而成之封包的資料處理方法,該擴充識別資訊係含有:用來識別該當資料的識別資訊、及表示對該當資料之1個以上之處理指令的指令資訊;其特徵為,基於由前記指令資訊之所定部分及前記識別資訊所構成的位元列,而算出前記封包的目標資訊;複數處理部係分別:在前記封包當中,僅將前記目標資訊是表示該當處理部的封包,加以取得;執行該當封包的前記處理指令,並且若該當封包的應被最先執行之處理指令是要生成由複數封包所成之封包群的處理指令的情況下,則將用來生成前記封包群所需之樣版資訊,登錄至樣版記憶部中;獨立於前記處理指令的執行之外,基於前記樣版記憶部中所被登錄之前記樣版資訊,來生成前記封包群。
TW102104001A 2012-02-08 2013-02-01 資料處理裝置、資料處理系統、資料結構、記錄媒體、記憶裝置及資料處理方法 TW201346749A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012025368 2012-02-08

Publications (2)

Publication Number Publication Date
TW201346749A true TW201346749A (zh) 2013-11-16
TWI562065B TWI562065B (zh) 2016-12-11

Family

ID=48947515

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102104001A TW201346749A (zh) 2012-02-08 2013-02-01 資料處理裝置、資料處理系統、資料結構、記錄媒體、記憶裝置及資料處理方法

Country Status (3)

Country Link
JP (1) JP6066423B2 (zh)
TW (1) TW201346749A (zh)
WO (1) WO2013118754A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11364719B2 (en) 2019-02-06 2022-06-21 Hewlett-Packard Development Company, L.P. Print component with memory array using intermittent clock signal
US11407218B2 (en) 2019-02-06 2022-08-09 Hewlett-Packard Development Company, L.P. Identifying random bits in control data packets
US11485134B2 (en) 2019-02-06 2022-11-01 Hewlett-Packard Development Company, L.P. Data packets comprising random numbers for controlling fluid dispensing devices
US11559985B2 (en) 2019-02-06 2023-01-24 Hewlett-Packard Development Company, L.P. Integrated circuit with address drivers for fluidic die

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014041640A (ja) * 2013-10-15 2014-03-06 Mitsuru Mushano データ処理装置
WO2023084739A1 (ja) * 2021-11-12 2023-05-19 日本電信電話株式会社 電子計算機

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62256045A (ja) * 1986-04-30 1987-11-07 Hitachi Ltd デ−タ駆動型計算機
JP2005259050A (ja) * 2004-03-15 2005-09-22 Meitec Corp アウトプレースメントおよびアウトソーシング(ヒューマンリソース・ベストマッチング・ソリューション)に係る情報管理システムおよびその方法
JP2005259030A (ja) * 2004-03-15 2005-09-22 Sharp Corp 性能評価装置、性能評価方法、プログラムおよびコンピュータ読取可能記録媒体
US8160509B2 (en) * 2007-04-06 2012-04-17 Qualcomm Atheros, Inc. Apparatus for coupling a wireless communication device to a physical device
JP5057256B2 (ja) * 2009-12-02 2012-10-24 株式会社Mush−A データ処理装置、データ処理システムおよびデータ処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11364719B2 (en) 2019-02-06 2022-06-21 Hewlett-Packard Development Company, L.P. Print component with memory array using intermittent clock signal
US11407218B2 (en) 2019-02-06 2022-08-09 Hewlett-Packard Development Company, L.P. Identifying random bits in control data packets
US11485134B2 (en) 2019-02-06 2022-11-01 Hewlett-Packard Development Company, L.P. Data packets comprising random numbers for controlling fluid dispensing devices
US11559985B2 (en) 2019-02-06 2023-01-24 Hewlett-Packard Development Company, L.P. Integrated circuit with address drivers for fluidic die

Also Published As

Publication number Publication date
WO2013118754A1 (ja) 2013-08-15
TWI562065B (zh) 2016-12-11
JP6066423B2 (ja) 2017-01-25
JPWO2013118754A1 (ja) 2015-05-11

Similar Documents

Publication Publication Date Title
TWI533208B (zh) Data processing device, data processing system, packet, recording medium, memory device and data processing method
US10025594B2 (en) Parallel data processing apparatus, system, and method
JP6066423B2 (ja) データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
US20220171885A1 (en) Co-processor for cryptographic operations
JP6466388B2 (ja) 方法及び装置
TWI512531B (zh) 用以處理blake安全雜湊演算法的方法、設備、系統及製品
ES2805125T3 (es) Arquitectura e instrucciones flexibles para el estándar de cifrado avanzado (AES)
KR101846392B1 (ko) 보안 해시 알고리즘들을 처리하는 명령어 프로세서들, 방법들 및 시스템들
KR101672358B1 (ko) Snow 3g 무선 보안 알고리즘을 가속화하기 위한 명령어
RU2334268C2 (ru) Команды для поддержки обработки шифрованного сообщения
CN107133018B (zh) 执行groestl散列的指令
KR20170033890A (ko) 비트 셔플 프로세서, 방법, 시스템, 및 명령어
CN107851016B (zh) 向量算术指令
JP6353359B2 (ja) データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
ES2951658T3 (es) Sistemas, aparatos y métodos para generar un índice por orden de clasificación y reordenar elementos basándose en el orden de clasificación
CN104012031B (zh) 用于执行jh加密散列的指令
US20210026772A1 (en) Determining a tag value for use in a tag-guarded memory
JPH11203106A (ja) プロセッサ
JP2010049430A (ja) 演算装置、行列演算装置、資源割当装置および演算方法