JP2014017019A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2014017019A JP2014017019A JP2013214299A JP2013214299A JP2014017019A JP 2014017019 A JP2014017019 A JP 2014017019A JP 2013214299 A JP2013214299 A JP 2013214299A JP 2013214299 A JP2013214299 A JP 2013214299A JP 2014017019 A JP2014017019 A JP 2014017019A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- packet
- data
- processing
- gate
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000008033 biological extinction Effects 0.000 claims 1
- 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)
Abstract
【解決手段】2つの処理を条件分岐して行わせるプログラムを実現するために、分岐用の条件フラグを持たせたパケットと、その条件が1(true)の場合のみパケット群を通過させ、0(false)の場合はそのパケット群を消去する”t_gate”命令と、逆に、条件が0(false)の場合のみパケット群を通過させ、1(true)の場合はそのパケット群を消去する”f_gate”命令を設け、条件分岐処理においてtrueの場合に実行させたい処理のパケット群を”t_gate”命令のノードに入れ、falseの場合に実行させたい処理のパケット群を”f_gate”命令のノードに入れ、両方のノードに条件フラグを持ったパケットを入れることで分岐処理を実現する。
【選択図】図19
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 true JP2014017019A (ja) | 2014-01-30 |
JP6298937B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111149333A (zh) * | 2017-09-29 | 2020-05-12 | 华为技术有限公司 | 具有条件命令的自运行数据包 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61276033A (ja) * | 1985-05-31 | 1986-12-06 | Matsushita Electric Ind Co Ltd | デ−タ処理装置 |
JPH01188951A (ja) * | 1988-01-23 | 1989-07-28 | Sharp Corp | データフロープログラムの実行制御方式 |
JP2011138479A (ja) * | 2009-12-02 | 2011-07-14 | Mush-A Co Ltd | データ処理装置、データ処理システム、パケット、記録媒体、記憶装置およびデータ処理方法 |
-
2013
- 2013-10-14 JP JP2013214299A patent/JP6298937B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61276033A (ja) * | 1985-05-31 | 1986-12-06 | Matsushita Electric Ind Co Ltd | デ−タ処理装置 |
JPH01188951A (ja) * | 1988-01-23 | 1989-07-28 | Sharp Corp | データフロープログラムの実行制御方式 |
JP2011138479A (ja) * | 2009-12-02 | 2011-07-14 | Mush-A Co Ltd | データ処理装置、データ処理システム、パケット、記録媒体、記憶装置およびデータ処理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111149333A (zh) * | 2017-09-29 | 2020-05-12 | 华为技术有限公司 | 具有条件命令的自运行数据包 |
CN111149333B (zh) * | 2017-09-29 | 2022-03-08 | 华为技术有限公司 | 具有条件命令的自运行数据包 |
US11722424B2 (en) | 2017-09-29 | 2023-08-08 | Futurewei Technologies, Inc. | Execution of a command within a conditional command received in a data packet |
Also Published As
Publication number | Publication date |
---|---|
JP6298937B2 (ja) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4971200B2 (ja) | プログラム難読化装置 | |
JP5057256B2 (ja) | データ処理装置、データ処理システムおよびデータ処理方法 | |
US9535671B2 (en) | Parallel data processing apparatus and method | |
JP3901181B2 (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JP3901180B2 (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JP4979287B2 (ja) | 画像処理装置及びプログラム | |
JP4911022B2 (ja) | カウンタ制御回路、動的再構成回路およびループ処理制御方法 | |
US9607160B2 (en) | Method and apparatus for providing string encryption and decryption in program files | |
JP5843801B2 (ja) | 情報処理装置およびデバッグ方法 | |
JP2007034392A (ja) | 情報処理装置及びデータ処理方法 | |
JP2006018447A (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JP6298937B2 (ja) | データ処理装置 | |
JPH0522936B2 (ja) | ||
JP2007164504A (ja) | ストリームデータ処理方法およびストリームデータ処理装置 | |
JP5125385B2 (ja) | 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法 | |
JPWO2017204139A1 (ja) | データ処理装置、データ処理方法、およびプログラム記録媒体 | |
JP2014041640A (ja) | データ処理装置 | |
JP6111731B2 (ja) | 並列デバッグシステム、並列デバッグ方法、及び、並列デバッグプログラム | |
JP5325744B2 (ja) | 画像処理装置および画像処理プログラム | |
JP4293223B2 (ja) | プログラム並列化装置及びその方法並びにプログラム | |
JP2001005678A (ja) | ネットワーク型情報処理装置及び方法 | |
JP2674301B2 (ja) | ビット転記方式 | |
JPH09305401A (ja) | コンピュータ及びコンパイラ | |
KR102207775B1 (ko) | 네트워크 스위치 병렬화를 위한 데이터 의존성 기반의 데이터 평면 정적 분석 방법 및 이를 이용한 병렬화 장치 | |
JP2006099678A (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 |