JP6298937B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP6298937B2 JP6298937B2 JP2013214299A JP2013214299A JP6298937B2 JP 6298937 B2 JP6298937 B2 JP 6298937B2 JP 2013214299 A JP2013214299 A JP 2013214299A JP 2013214299 A JP2013214299 A JP 2013214299A JP 6298937 B2 JP6298937 B2 JP 6298937B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- packet
- data
- processing
- instructions
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 70
- 238000010586 diagram Methods 0.000 description 28
- 238000000034 method Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000004888 barrier function Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 108010050063 beta-naphthylsulfonyl-R-(d-Pip)-Ada-Abu-DYEPIPEEA-(Cha)-(d-Glu)-OH-AcOH Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
まず、図1を参照して、データ処理装置を備えたデータ処理システム全体の構成の概略について説明する。
図1に示されているデータ処理システムは、データ処理装置1を備えた並列コンピュータシステムであり、データ処理装置1以外に、記憶装置6、入力装置7、出力装置8、およびバス9を含んで構成されている。また、データ処理装置1、記憶装置6、入力装置7、および出力装置8は、バス9を介して互いに接続されている。なお、データ処理装置1の構成についての詳細な説明は後述する。
ここでPE100aないし100pの座標(X,Y)を図8に示すように(0,0)ないし(3,3)と表し、図5の宛先PEx31が座標Xに、宛先PEy30が座標Yに対応するデータである。
図5のモード32は、値が1であれば次命令がMCE300で実行されることを意味し、パケットはMCE300に転送され、値が0であれば次命令はPEで実行されることを意味し、宛先PEx31と宛先PEy30が示す座標のPEに転送される。
図9に示されているMCE300はコマンド実行部301、パケット命令実行部302、バッファメモリ303、分配・比較・選択部304、入出力部305、およびメモリアクセス命令実行部307をそれぞれ含んで構成されている。さらに入出力部305は、宛先情報算出部306を含む。
待ち合わせ機能は、次命令が2入力命令である”write”命令の場合で、比較の結果ペアとなるパケットが見つからない取得パケットはバッファメモリ303に記憶し、ペアとなるパケットが見つかった(発火した)場合は、該パケットをバッファメモリ303から読み出し、取得パケットとペアにしてメモリアクセス命令実行部307に転送する。なお、パケットの比較方法は後述する。
図10に示されているPE100aないし100pは、入出力部200、比較・選択部203,バッファメモリ204、および処理命令実行部205をそれぞれ含んで構成されている。入出力部200は、さらに宛先情報算出部201を含む。
まず、パケットが入力されると(S1)、そのパケットの命令数が0であるか判定し(S2)、0であればそのパケットを消去し(S8)、0より大きければ、次命令が命令追加命令かどうかを判定する(S3)。これは具体的には、命令数=1かつ延長フラグ=1であるか判定する。命令追加命令であれば宛先PE座標(X,Y)を算出して宛先PEx31と宛先PEy30に書き込み(S5)、モード32に0を書き込む(S6)。次命令が命令追加命令でなければ(S3のNO)、次命令がMCEで実行する命令であるかどうかを判定する(S4)。次命令が32より小さいかどうかを判定する。次命令がMCEで実行する命令であれば(S4のYES)モード32に1を書き込み、そうでなければ(S4のNO)S5に進む。
図12のデータフロー図は値がそれぞれ「5」と「3」の2個のデータを加算してから、その値をアドレスとするメモリのデータを読み込み、その読み込んだ値をメモリに書き込むというデータフロー図である。図中の四角はデータを表し、楕円はノード(処理命令)を表す。以降の図では図示しないが、矢印の近くの符号はその矢印の符号ではなく、その矢印上を流れるパケットの符号を示している。データ550を基に生成したパケットは”P550”、データ551を基に生成したパケットは”P551”とデータの符号の先頭に”P”を付加するものとする。また、各ノードで命令を実行後のパケットには数字の後に”a”,”b”,...とアルファベットを添えていくものとし、2入力1出力命令では左から来るパケットの符号を使って出力パケットを示す。
本実施形態における命令追加命令は、特許文献1で開示された2つの方式と異なる方式を用いている。その目的は、特許文献1の2つの方式ではデータフロー図が複雑化した場合に、データフロー図上で異なる場所で命令追加命令を実行する予定の2つのパケットの命令情報部が偶然にペアとなる条件を満たしてしまうようなミスマッチが発生し誤動作するため、命令追加命令のノード毎に異なるコードを与え、ミスマッチが発生しないように改良したものである。
図16は図17を簡略化した図で、複製命令513aと513bをまとめて513として記述したものである。本来”dup”命令は2入力2出力命令であるが、2バイト目がダウンカウンタになっており連続して複数のパケットにデータを複製できるため513のようにまとめてN入力N出力として表現したものであり、二重線で識別できるようにしている。また、簡略化しても左右オペランドが区別できるように矢印514のように左オペランドに”L”を記載する。この簡略化は”t_gate”、”f_gate”、および”wait”でも同様に適応する。
図16の510ないし512に対応するパケットはそれぞれ図18のP510ないしP512である。P511とP512の命令情報部の最上位バイトには、P510とペアになるためにP510の最上位と同じ”app_0”が入っており、それぞれの進むべきノードである”app_2”、”app_4”はそれぞれのデータ部に入っている。
図19は動作を説明するためのデータフロー図の一例である。”t_gate”、および”f_gate”は”dup”と同じく2バイト命令でダウンカウンタを持っているため、二重線で簡略化した表現を用いている。”t_gate”は左からきたパケットの「条件フラグ」が1の場合に、右から来たパケットを通過させ、「条件フラグ」が0の場合には右から来たパケットを消滅させる命令であり、”f_gate”はその反対の動作をする命令である。”dup”命令との違いは前述したように、命令情報の中の2バイト命令の部分のみを比較してペア判定する点である。図20のパケット図における太枠の2バイトが比較部分で、上位15ビットが一致して、左右フラグが異なることがペアの条件である。
図22で示しているのはC言語で記述されたプログラムソースコードの一部分である次の3行だけをデータフロー図で示したものである。
val += val ;
}
以上説明してきたように、本実施形態で開示した新規命令セットを使用することで、複雑な条件分岐やループプログラムでも実現可能になることがわかる。
命令追加命令は、プログラムが長くなったり、複雑化するに伴って増大していき、命令追加命令ノードの右から来る、処理命令をデータ部に持ったパケットのデータフロー自体も長くなりすぎて、途中に命令追加命令を挿入することが発生する。これらはデータフロー図を見づらくするだけでなく、プログラムの実行時間も長くなるという課題がある。また、”dup”命令のノードに右から来るパケットも同様の課題を持っている。
ここでは新規に”barrier”命令を使用するもので、これは消去フラグが”1”のパケットは消去し、”0”のパケットを通過させる命令である。
命令セット内で複数のコードが割り当てられ得ている”t_gate”、”f_gate”、”wait”や”app”命令は、プログラムが長くなると、割り当てられたコードでは足りなくなることがある。もし、プログラムの複数の箇所で同一コードの命令を使用してしまい、かつそれらに係わるパケットがデータ処理装置内に同時に存在すると、比較・選択部でパケットのペアリングミスが発生する。この問題を避けるため、プログラムコードを複数に分け、同一コードの命令を持つパケットが同時に存在しないようする方法を示したのが図24である。
また、本実施形態は逐次処理を実現するという効果も持っており、そのために使用することもできる。
6 記憶装置
7 入力装置
8 出力装置
9 バス
10 命令情報
11 命令数
12 再延長フラグ
13 延長フラグ
14 データ
20 識別情報
21 条件フラグ
22 消去フラグ
30 宛先PEy
31 宛先PEx
32 モード
100a〜100p PE
120 キャッシュメモリ制御部
130a〜130p ルーター
140 通信路
200 入出力部(PE)
201 宛先情報算出部(PE)
203 比較・選択部
204 バッファメモリ(PE)
205 処理命令実行部
300 MCE
301 コマンド実行部
302 パケット命令実行部
303 バッファメモリ(MCE)
304 分配・比較・選択部
305 入出力部(MCE)
306 宛先情報算出部(MCE)
307 メモリアクセス命令実行部
400 プログラムヘッダー
401 関数ディスクリプタリスト
402 中間パケットリスト
403 文字列リスト
404 グローバルデータ
Claims (1)
- データごとに、当該データに対する1つ以上の処理命令を示す命令情報を含むパケットを処理する複数の処理部を備えるデータ処理装置において、
前記パケットは条件フラグおよび消去フラグをさらに含み、
前記処理命令は2つのパケットを使って実行するゲート命令を含み、
前記処理部は、
次に実行すべき処理命令が前記ゲート命令を示す前記2つのパケットのうち、第一のパケットの前記条件フラグに基づいて、第二のパケットの前記消去フラグをセットもしくはリセットし、
前記消去フラグがセットされたパケットを処理する際は特定の処理命令のみ実行し、それ以外の処理命令をスキップする
ことを特徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013214299A JP6298937B2 (ja) | 2013-10-14 | 2013-10-14 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013214299A JP6298937B2 (ja) | 2013-10-14 | 2013-10-14 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014017019A JP2014017019A (ja) | 2014-01-30 |
JP6298937B2 true JP6298937B2 (ja) | 2018-03-20 |
Family
ID=50111571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013214299A Active JP6298937B2 (ja) | 2013-10-14 | 2013-10-14 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6298937B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10972397B2 (en) | 2017-09-29 | 2021-04-06 | Futurewei Technologies, Inc. | Self-driving packets with conditional commands |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0661110B2 (ja) * | 1985-05-31 | 1994-08-10 | 松下電器産業株式会社 | デ−タ処理装置 |
JPH01188951A (ja) * | 1988-01-23 | 1989-07-28 | Sharp Corp | データフロープログラムの実行制御方式 |
JP5057256B2 (ja) * | 2009-12-02 | 2012-10-24 | 株式会社Mush−A | データ処理装置、データ処理システムおよびデータ処理方法 |
-
2013
- 2013-10-14 JP JP2013214299A patent/JP6298937B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014017019A (ja) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4971200B2 (ja) | プログラム難読化装置 | |
JP4979287B2 (ja) | 画像処理装置及びプログラム | |
JP5057256B2 (ja) | データ処理装置、データ処理システムおよびデータ処理方法 | |
JP3901181B2 (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JP4911022B2 (ja) | カウンタ制御回路、動的再構成回路およびループ処理制御方法 | |
US20120311306A1 (en) | Data processing apparatus, data processing system, packet, recording medium, storage device, and data processing method | |
JP2006018445A (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JP5843801B2 (ja) | 情報処理装置およびデバッグ方法 | |
JP2007034392A (ja) | 情報処理装置及びデータ処理方法 | |
JP6298937B2 (ja) | データ処理装置 | |
JP2006018447A (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JPH0522936B2 (ja) | ||
JP2007164504A (ja) | ストリームデータ処理方法およびストリームデータ処理装置 | |
JP5125385B2 (ja) | 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法 | |
JPWO2017204139A1 (ja) | データ処理装置、データ処理方法、およびプログラム記録媒体 | |
JP5293609B2 (ja) | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム | |
JP7225904B2 (ja) | ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム | |
JP2014041640A (ja) | データ処理装置 | |
JP5325744B2 (ja) | 画像処理装置および画像処理プログラム | |
JP6111731B2 (ja) | 並列デバッグシステム、並列デバッグ方法、及び、並列デバッグプログラム | |
JP2008205753A (ja) | 信号処理装置 | |
JP4293223B2 (ja) | プログラム並列化装置及びその方法並びにプログラム | |
US20160371414A1 (en) | Circuit design support method, circuit design support apparatus, and recording medium | |
JP2674301B2 (ja) | ビット転記方式 | |
JP2001005678A (ja) | ネットワーク型情報処理装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6298937 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |