JP2003099249A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2003099249A JP2003099249A JP2002205381A JP2002205381A JP2003099249A JP 2003099249 A JP2003099249 A JP 2003099249A JP 2002205381 A JP2002205381 A JP 2002205381A JP 2002205381 A JP2002205381 A JP 2002205381A JP 2003099249 A JP2003099249 A JP 2003099249A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- register
- registers
- processor
- 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.)
- Pending
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Bus Control (AREA)
Abstract
ると、レジスタファイルへアクセスするバスが大きくな
り、実装面積などの面で不都合が生じる。 【解決手段】 プロセッサは、複数の演算器や処理機構
を有し、同時に複数の演算または処理を実行する。プロ
セッサは内部にレジスタファイル18をもつが、これを
処理機構ごとに分散し、それらを所定の形状の転送路で
接続して階層構造を設ける。これにより、処理機構ごと
に発生するレジスタアクセスを分散させる。
Description
クロプロセッサなど、実行可能なデータ形式に変換され
たプログラムを実行してデータを処理するデータ処理装
置に関し、特に並列に設置された複数の処理ユニットに
よって複数の命令を並列的に実行可能なデータ処理装置
に関する。
せるために、複数の処理ユニットを並列に動作させ、同
時に複数の命令を実行する方法が有効である。これを実
現する従来技術として、スーパスカラ方式やVLIW方
式のプロセッサがある。スーパスカラ方式は、順次実行
されるべき複数の命令を解析し、命令間の依存関係を検
査して同時に実行可能な命令を動的に検出し、複数の命
令を同時に発行して並列に実行する。実行時間の異なる
複数の命令を動的にスケジューリングするための発行制
御回路をハードウェア化するものである。VLIW方式
は、並列に実行できる命令をコンパイル時に静的に解析
し、各処理ユニットへの命令を連結して長命令形式をと
るものである。プロセッサは実行時に長命令形式の命令
を分解し、あらかじめ定められた各処理ユニットに対し
て小命令を発行することで並列処理を実現する。命令の
依存解析は、すべてソフトウェアで静的に行うことで複
雑な依存解析回路を不要にしている。
2663号公報のように、複数の処理ユニットに命令列
の単位で処理を割り当て、命令列単位で発行制御を行う
ものがある。これは、命令列ごとに動的なスケジューリ
ングをハードウェアで行い、各命令列の実行において
は、各処理ユニットが非同期に並列実行するものであ
る。これらのプロセッサでは一般に、処理に必要なデー
タを格納するための複数のレジスタ群、すなわちレジス
タファイルをプロセッサ内で共有している。レジスタフ
ァイル内のデータは、命令の実行ごとに参照・更新され
るので、すべての処理ユニットとの間でバス結合されて
いる。
法では、並列に実行されるすべての処理ユニットとレジ
スタファイルとの間で、同時進行的にデータ参照および
更新を行う必要があるため、並列度、すなわち同時に処
理できる命令数に比例した数のデータバスおよび多ポー
トのメモリが必要になる。すなわち、並列度が大きくな
ると、処理ユニットを結ぶデータバス、およびレジスタ
ファイルを構成する多ポートメモリの占める面積が飛躍
的に増大し、これらの要素がプロセッサにおいて支配的
になる。このため、プロセッサの動作速度、消費電力、
チップ面積などに大きく影響していた。さらに、以上の
課題を解決する際に、処理速度などの特性を低下させな
いことが必要である。
タ処理装置であり、その典型はプロセッサである。この
装置は例えば、複数の演算器、処理機構、制御機構を有
し、同時に複数の演算または処理を実行するもので、当
該装置内部の複数のレジスタを含むレジスタファイルを
当該装置の処理機構ごとに分散し、それらを所定の形状
の転送路で接続して階層構造を設けることにより、処理
機構ごとに発生するレジスタアクセスを分散させる。
サやコプロセッサであるが、これらの組み合わせも含む
ものとする。「処理機構」とは、所定の処理を行うしく
みであり、演算器なども含むものとする。「階層構造」
とは、レジスタファイルの一部を分散されたレジスタの
ひとつに蓄積してある構造である。
転送路においてデータが所定の一方向のみに転送されて
もよい。「リング状」とは、レジスタ間転送路が全体と
して環状になっている状態である。本装置によれば、レ
ジスタを複数に分散させ、ひとつのレジスタには所定の
処理機構のみが直接アクセスできるものとし、さらに、
それらのレジスタ間を占有面積の小さい形状の転送路で
接続することにより、全体としてデータバスの占める面
積を小さくすることが可能である。
タのデータを参照する際、レジスタデータのコピーをパ
ケット転送することによってレジスタ間のデータ転送を
実現するデータ転送機構を設け、当該データ転送をソフ
トウェアから起動可能に構成してもよい。本装置によれ
ば、レジスタ間のデータを転送する際、ひとつのレジス
タアドレスにあるデータだけではなく、複数のデータを
まとめて使用より先に転送するため、レジスタを複数に
分散させることによる処理速度の低下を防ぐことが可能
である。
る。この装置では、複数の演算器または処理機構が並列
に動作し、各処理機構がひとつ以上の命令から成る命令
列を非同期に実行する。各処理機構は前述のように分散
レジスタを有し、分散レジスタ上のデータを用いて非同
期に処理を進める。命令列の実行中もしくは実行後に処
理機構間で同期が必要になる場合、例えばパケットによ
るデータ転送によって同期をとる。同期はハードウェア
が保証してもよい。本装置によれば、各処理機構が独立
にそれに対応するレジスタにアクセスして処理を行うた
め、レジスタを複数に分散させることによる処理速度の
低下を防ぐことが可能である。
散レジスタを物理的もしくは仮想的に多重化し、それぞ
れの処理機構ではこれらを切り替えながら複数の命令列
を多重実行してもよい。その場合、データ転送にともな
う転送遅延を他の命令列の処理により隠蔽する効果が得
られる。「仮想的に多重化」とは、例えば、物理的には
ひとつのレジスタを論理的に区分してそれらを多重化す
ることである。本装置によれば、処理機構は、所定のレ
ジスタのデータが転送中の場合、別のレジスタのデータ
を使用して処理を実行できるため、レジスタを複数に分
散させることによる処理速度の低下を防ぐことが可能で
ある。
それぞれ独立した副装置に分散させて実装し、それらの
副装置を転送路によって接続してもよい。「副装置」と
は、例えば、データ処理装置がプロセッサと複数のコプ
ロセッサで構成されている場合、プロセッサやひとつの
コプロセッサを示す。
とめられる。 1.並列に実行可能な処理ユニットごとに必要なレジス
タを分散し、各処理ユニットのレジスタ間をリングなど
の単純な転送路で接続した階層構造を有するレジスタフ
ァイルとする。 2.遠隔レジスタのデータ参照・更新を行う場合は、局
所レジスタとの間でデータコピーを行う。このときのデ
ータ転送は、複数のレジスタデータをパケット化したパ
ケット転送で実現する。データのパケット化、パケット
転送、パケットの分解とレジスタ格納などの制御を行う
ためのパケット転送制御手段を設ける。これによりレジ
スタ間のパケット転送はハードウェアが支援し、さらに
これを起動するための手段を設け、その起動をソフトウ
ェアで制御する。
スタのデータを用い、他の処理ユニットとは非同期に独
立して処理の実行を可能とする。処理ユニット間の同期
はパケット転送によって行われ、ハードウェアがこれを
保証する。このための同期制御手段をパケット転送制御
手段の中に設ける。 4.処理ユニットに分散されたレジスタを物理的に複数
セット用意し、多重化する。多重処理制御手段を設ける
ことで、複数の命令または命令列を多重化して処理す
る。あるレジスタデータの転送中には、多重処理制御手
段が別の命令に処理を切り替え、同時にレジスタセット
選択手段がこれに対応した別のレジスタセットに切替え
る。これによりデータ転送と他の処理を重畳化し、デー
タ転送による遅延を隠蔽する。
複数セット用意するかわりに、レジスタ仮想化手段を用
意して、1セットのレジスタファイルを仮想的に多重化
する。 6.メモリ上に格納されている画像などの大規模なデー
タ群に対し、複数のコプロセッサを用いてパイプライン
的に処理を施し、メモリに書き戻す。例えば、メモリ上
の生画像データに対し、プロセッサのロードストアユニ
ット(以下、「LSU」という、図面においては「L/
S」という)がレジスタにデータをロードし、これを圧
縮処理を行うコプロセッサ1にレジスタ間転送する。圧
縮処理後のデータを、暗号化処理を行うコプロセッサ2
に転送し、暗号化処理後プロセッサにデータを戻して、
LSUがメモリに書き戻す。これらをパイプライン的に
高速処理する。
て、LAN制御を行う周辺I/O部と、暗号化・復号処
理を行うコプロセッサと、コプロセッサとの間で分散レ
ジスタを構成する。送信時は、コプロセッサがメモリ上
のデータをレジスタにロードし、これを暗号化するコプ
ロセッサ1に転送する。暗号化後、LAN制御部に転送
され、パケット化されてLAN上に送信される。受信時
は、LAN制御部が受信パケットを分解し、復号処理を
行うコプロセッサ2にデータ転送を行う。復号後、プロ
セッサに転送し、メモリに書き込む。これらの処理をパ
イプライン化することで、高速な通信処理を実現するこ
とができる。
数の処理ユニットが同時に同じレジスタファイルへアク
セスすることを避け、レジスタファイルのポート数およ
びデータバス数を削減する。したがって、ハードウェア
量および回路の複雑度を大幅に軽減でき、動作速度の向
上、消費電力の低減、回路面積の削減などの効果が得ら
れる。とくに並列度の大きな場合において効果は顕著に
ある。
的なプロセッサのレジスタおよびその周辺回路を示す。
図2から図5は、それぞれ第1から第4の実施の形態に
相当するプロセッサのレジスタおよびその周辺回路を示
す。図14は、第5の実施の形態に係るプロセッサとコ
プロセッサのレジスタ周辺回路を示す。図15は、第6
の実施の形態に係るプロセッサ、コプロセッサとI/O
制御部のレジスタ周辺回路を示す。
係るデータ処理装置100の一例であるプロセッサのレ
ジスタ周辺回路図である。データ処理装置100は、L
SU12、第1の演算器14、第2の演算器16、レジ
スタファイル18、プログラム制御部20を有する。ま
た、レジスタファイル18は、第1のレジスタ30、第
2のレジスタ32、第3のレジスタ34を有する。実施
の形態1は、レジスタが第1のレジスタ30、第2のレ
ジスタ32、第3のレジスタ34と分散して構成されて
いる点に特徴がある。
Uなどのプロセッサやコプロセッサがある。LSU12
は、データ処理装置100が所定の処理を行う際に必要
なデータを、メモリ10から読み込み、レジスタファイ
ル18に蓄積する。蓄積は、レジスタファイル18にお
ける第1のレジスタ30に行う。またデータ処理装置1
00での処理結果をメモリ10に出力する。第1の演算
器14、第2の演算器16は、入力信号に対して所定の
演算を行い、結果信号を出力する。信号の入出力はレジ
スタファイル18における第2のレジスタ32と第3の
レジスタ34に対して行われる。
100が所定の処理を行う際に必要なデータを保持す
る。データ処理装置100における処理機構であるLS
U12、第1の演算器14、第2の演算器16に対し
て、レジスタファイル18は第1のレジスタ30、第2
のレジスタ32、第3のレジスタ34と分散して構成さ
れる。第1のレジスタ30、第2のレジスタ32、第3
のレジスタ34の間は、例えば、リングなどの単純な転
送路で接続される。転送路の構造を簡易にし、転送路が
占める面積を小さくするためである。これらの転送路に
おいて、例えば、データは図示されている矢印の方向の
みに転送される。一般にデータ転送装置の構成が容易と
なるからである。
1の演算器14、第2の演算器16に所定の処理を行う
指示信号を出力する。また、第1のレジスタ30、第2
のレジスタ32、第3のレジスタ34間におけるデータ
転送を指示する。このように、本実施の形態によれば、
レジスタは各処理機構に対応して分散した構成となる。
各処理機構は対応するレジスタのみにアクセスし、レジ
スタ間の接続はリングなどの単純な転送路とすることに
よって、処理機構とレジスタを結ぶデータバスの面積の
削減が可能である。
係るデータ処理装置100の一例であるプロセッサのレ
ジスタ周辺回路図である。データ処理装置100は、L
SU12、第1の演算器14、第2の演算器16、レジ
スタファイル18、プログラム制御部20を有する。ま
た、レジスタファイル18は、第1のレジスタ30、第
2のレジスタ32、第3のレジスタ34、第1のパケッ
ト制御部40、第2のパケット制御部42、第3のパケ
ット制御部44を有する。実施の形態1との違いは、第
1のパケット制御部40、第2のパケット制御部42、
第3のパケット制御部44があることである。
スタ30に蓄積されたデータを第2のレジスタ32また
は第3のレジスタ34に出力し、第2のレジスタ32ま
たは第3のレジスタ34に蓄積されたデータを第1のレ
ジスタ30に入力する。第2のレジスタ32と第3のレ
ジスタ34に対しては夫々第2のパケット制御部42と
第3のパケット制御部44を介して行われる。第1のパ
ケット制御部40は、ひとつのレジスタアドレスで示さ
れるひとつのレジスタデータだけでなく、複数のレジス
タデータをまとめてパケット化し、これを転送する。す
なわち、将来必要となるデータをあらかじめ先読みまた
は先出しする。これにより、レジスタ間のデータ転送に
よる処理遅延、転送時の付加情報による伝送効率の低下
を改善可能である。なお、転送するデータが複数ない場
合、ひとつのレジスタデータのみを転送してもかまわな
い。第2のパケット制御部42と第3のパケット制御部
44も同様である。
スタ間のデータ転送を複数のレジスタデータによるパケ
ットで行うことにより、レジスタ分散による遅延時間の
増加を小さくするこが可能である。
係るデータ処理装置100の一例であるプロセッサのレ
ジスタ周辺回路図である。データ処理装置100は、L
SU12、第1の演算器14、第2の演算器16、レジ
スタファイル18、第1のプログラム制御部22、第2
のプログラム制御部24、第3のプログラム制御部26
を有する。また、レジスタファイル18の構成は、実施
の形態2と同一である。実施の形態2との違いは、第1
のプログラム制御部22、第2のプログラム制御部2
4、第3のプログラム制御部26があることである。
けるプログラム制御部20と同様に処理機構に対して所
定の処理を行う指示信号を出力する。しかし、指示信号
の出力先がLSU12のみである。第1のプログラム制
御部22からの指示により、LSU12は、第1のレジ
スタ30にあるデータを用いて第1の演算器14や第2
の演算器16などの他の処理機構とは非同期に処理を実
行する。他の処理機構とデータの同期が必要になった場
合、第1のプログラム制御部22は、例えば、第1のパ
ケット制御部40によるパケット転送により同期を実現
する。また、第2のプログラム制御部24と第3のプロ
グラム制御部26も同様である。
機構の動作を制御するプログラム制御部は、制御機構ご
とに構成される。プログラム制御部は、所定の制御機構
のみを制御し、他の制御機構とは非同期であることか
ら、レジスタを分散しても、より高速な処理を行うこと
が可能である。
係るデータ処理装置100の一例であるプロセッサのレ
ジスタ周辺回路図である。データ処理装置100は、L
SU12、第1の演算器14、第2の演算器16、レジ
スタファイル18、第1のプログラム制御部22、第2
のプログラム制御部24、第3のプログラム制御部26
を有する。また、レジスタファイル18は、第1のレジ
スタ50、第2のレジスタ52、第3のレジスタ54、
第4のレジスタ56、第5のレジスタ58、第6のレジ
スタ60、第1のパケット制御部40、第2のパケット
制御部42、第3のパケット制御部44を有する。実施
の形態3との違いは、第1のレジスタ50、第2のレジ
スタ52、第3のレジスタ54、第4のレジスタ56、
第5のレジスタ58、第6のレジスタ60があることで
ある。
は、LSU12に対応する複数のレジスタである。これ
らは共に第1のプログラム制御部22によって制御され
る。第1のレジスタ50にあるレジスタデータが転送中
の場合、LSU12は、第2のレジスタ52に対して所
定の処理を行う。第1のレジスタ50にあるレジスタデ
ータが転送完了後、LSU12は、第1のレジスタ50
に対して所定の処理を行う。第1のレジスタ50にある
レジスタデータ転送の完了を待たずに他の処理を実行で
きるため、データ転送による遅延を実質的に少なくでき
る。なお、第1のレジスタ50と第2のレジスタ52は
必ずしも物理的に別のレジスタである必要はなく、仮想
的または論理的に別のレジスタであってもよい。第3の
レジスタ54、第4のレジスタ56、第5のレジスタ5
8、第6のレジスタ60についても第1のレジスタ5
0、第2のレジスタ52と同様である。
つの処理機構に対し複数のレジスタを用意して多重化す
ることにより、レジスタデータの転送待ちになる可能性
が小さくなるため、レジスタを分散することによる処理
遅延を小さくすることが可能である。
に係るプロセッサ120、第1のコプロセッサ140、
第2のコプロセッサ160のレジスタ周辺回路図であ
る。プロセッサ120は、LSU12、第1のレジスタ
30を有する。第1のコプロセッサ140は、第2のレ
ジスタ32を有する。第2のコプロセッサ160は、第
3のレジスタ34を有する。なお、図14においては、
レジスタ以外の構成要素を原則として省略している。実
施の形態5は、第1のレジスタ30、第2のレジスタ3
2、第3のレジスタ34がひとつのデータ処理装置では
なく、プロセッサ120、第1のコプロセッサ140、
第2のコプロセッサ160の3つのデータ処理装置に分
散されて構成されている。
て、第1のコプロセッサ140と第2のコプロセッサ1
60を制御する。例えば、メモリ10にある画像データ
を符号化した後、暗号化する処理の場合、プロセッサ1
20は、メモリ10に蓄積されている画像データを第1
のレジスタ30に入力する。このデータに対して、第1
のコプロセッサ140と第2のコプロセッサ160をパ
イプライン的に処理をするように制御する。さらに上記
の処理が完了した際に、処理後のデータをメモリ10に
出力する。
セッサ160は、プロセッサ120の指示により所定の
処理を行う。上記の例の場合、第1のコプロセッサ14
0は画像を圧縮処理するコプロセッサであり、第2のコ
プロセッサ160は圧縮処理後の画像を暗号化するコプ
ロセッサである。これらの処理においてデータは、第2
のレジスタ32と第3のレジスタ34に蓄積される。第
2のコプロセッサ160による暗号化処理後、データは
プロセッサ120における第1のレジスタ30に入力さ
れる。
スタをひとつのデータ処理装置だけでなく、複数のデー
タ処理装置に分散して構成させることにより、すべての
データ処理装置とメモリ間のデータバスを削減すること
が可能である。さらに、プロセッサとコプロセッサ間の
データがメモリを介さずに直接転送されるため、転送が
高速となる。
に係るプロセッサ120、第1のコプロセッサ140、
第2のコプロセッサ160、I/O制御部180のレジ
スタ周辺回路図である。実施の形態5にI/O制御部1
80が追加されている。I/O制御部180は、第4の
レジスタ36、インターフェース制御部38を有する。
のインタフェース機能を有する。これは、所定の通信機
能を有するインターフェースカードなどにより構成され
る。所定の通信機能の一例としてローカルエリアネット
ワーク(以下、「LAN」という)がある。例えば、メ
モリ10にある画像データを符号化した後、そのデータ
を送信する処理と受信したデータを暗号化する処理の場
合、プロセッサ120は、メモリ10に蓄積されている
画像データを第1のレジスタ30に入力し、第1のコプ
ロセッサ140に出力する。第1のコプロセッサ140
は符号化処理を行い、I/O制御部180は符号化され
たデータをインターフェース制御部38から外部に対し
て送信する。また、I/O制御部180は外部からデー
タを受信する。第2のコプロセッサ160は、このデー
タを復号し、プロセッサ120に対して出力する。
スタをひとつのデータ処理装置だけでなく、複数のデー
タ処理装置に分散して構成させることにより、すべての
データ処理装置とメモリ間のデータバスを削減すること
が可能である。さらに、プロセッサとコプロセッサとI
/O制御部間のデータがメモリを介さずに直接転送され
るため、転送が高速となる。
像・音声データを扱うメディア処理の役割が年々大きく
なっている。また複数の機器間での情報交換や共有のた
めに行われる通信も高速化が進んでいる。現在、これら
の処理の多くは機器に組み込まれたプロセッサ上のソフ
トウェアにより行われているため、プロセッサにかかる
負荷は大変重い。このようなメディア処理および通信に
伴うネットワーク処理に求められる性能は今後ますます
高くなり、さらに画像ストリーム通信のようにメディア
処理とネットワーク処理を同時に行う複合メディア処理
も必要になる。したがって、現状のように組込み機器の
プロセッサによるソフトウェア処理だけで、これらの全
てに対応することは困難と考えられる。
高速な通信を行う必要のあるハイエンド機器では、ソフ
トウェア処理だけでは要求を満たせないため、大量のハ
ードウェア投資を施したメディアプロセッサやネットワ
ークプロセッサ等の専用チップが提案・開発されてい
る。一方で組込み機器においてはハイエンド機器のよう
な高速性は要求されないが、同時に消費電力の制約から
プロセッサ自体の性能が低く抑えられるため、ソフトウ
ェア処理だけで対応できないという点において、同等の
問題を抱えている。しかも、コストや消費電力の制約か
ら、上述のような専用プロセッサを用いることも困難と
考えられる。
ことを目的とした高いコストパフォーマンスを持つ組込
み機器向けのプロセッサ支援機構として、並列信号処理
エンジンを提案する。まず、2.で組込み機器で複合メ
ディア処理を実現する際に求められるプロセッサ支援機
構について考察し、3.では提案する並列信号処理エン
ジンのアーキテクチャについて説明する。4.では、メ
ディア処理の中から画像圧縮に用いられる離散コサイン
変換を選び、これを用いて並列信号処理エンジンの評価
を行う。また他のメディア処理や通信を効率良く実現す
るための機能について検討する。
支援機構 より大容量化するメディア処理や高速化する通信、そし
て複合メディア処理に対応するためには、機器の処理能
力を向上させる必要がある。その方法として、次の3つ
が考えられる。
できるよう、プロセッサ自体の性能を向上させる、また
は複数のプロセッサで並列処理を行う。 処理をハードウェアにより実現し、プロセッサの支援
機構として実装する。 処理の一部をハードウェア化し、ソフトウェアによる
処理の制御が可能なコプロセッサとして実装する。
は、動作周波数を高める方法とSuper−Scala
rやVLIWのような命令レベル並列処理を行う方法が
ある。動作周波数を高める方法では既存のソフトウェア
資産を生かせる利点があるが、消費電力が増加する欠点
があり、特に携帯機器では大きな問題となる。また命令
レベル並列処理やマルチプロセッサでは制御が複雑にな
り、投資したコストに見合う効果が得られないという問
題がある。
法は、プロセッサと比較して小規模な回路で高速に実現
できるため、これまで広く使用されてきた。しかしソフ
トウェアに比べて設計に必要な期間が長いこと、開発後
の修正が困難であること、規格の変更等に対する柔軟性
に欠けること、等の欠点がある。さらに処理が複雑化し
て回路が大規模になるにつれてこれらの欠点の影響が増
大するという問題がある。
ウェア処理の一部をハードウェア化により高速化するも
のである。一般にメディア処理における処理時間の大部
分は一部の定型処理が占めていることが多く、この部分
をハードウェアによって高速化すれば、全体の処理時間
を大幅に減少させることが可能である。また残りの処理
がソフトウェアで記述されていることからプログラマビ
リティは高く、設計期間の短縮や製品開発後の保守コス
トを小さくすることができる。以上の3つの方法を比較
検討した結果、複合メディア処理を行うためのプロセッ
サ支援機構にはコプロセッサ方式が相応しいと判断し、
これに基づく並列信号処理エンジンを提案する。
チャと実装 3.1.アーキテクチャの概要 並列信号処理エンジンでは、動作周波数を低く抑えても
高い性能が得られるように演算部を複数実装し、これら
を並列に動作させる。複数の演算部を効率良く実行させ
るためには、それに見合う大きな並列性が必要である。
メディア処理では空間・時間分割が可能な問題が多く、
比較的粒度の粗い並列性を抽出するのが容易であること
から、ここではユーザが意識して記述するスレッドレベ
ルの並列性を利用することとした。ただし、当然それ以
外の並列性を利用してもよい。
易にモデル化するとスレッド数が爆発してしまう可能性
があるため、スレッドの生成には制約を設ける必要があ
る。並列信号処理エンジンでは無制限にスレッド数が増
えないように、個々の演算部では新たなスレッドの生成
は行わず、生成・同期等のスレッド制御を専用に行う制
御部をひとつだけ持たせた。コストを小さくするために
システムバス・インタフェース機構やメモリ操作機構、
条件分岐等を行うフロー制御機構を制御部内にまとめ
た。ただし、それ以外の構成であってもよい。
ためには、レジスタファイルに多ポートのメモリが必要
となりコストが大きくなる。そこで、スレッドレベル並
列では演算部間におけるデータ交換が頻繁ではないこと
から、レジスタファイルを各演算部に分散して持たせ
た。レジスタファイル間で必要なデータ転送はメッセー
ジパッシングにより行うことにした。その転送路のトポ
ロジには、スレッドレベル並列処理ではデータ転送の頻
度が高くないことから、転送レートに対するコストが最
も小さくノードの追加・削除が容易な1次元リングを採
用した。ただし、形状はこれに限る必要はなく、一般に
は単純なトポロジをもてばよいと考えられる。また、メ
ッセージパッシング以外の方法でデータ転送を行っても
よい。
・インタフェースとスレッド制御、メモリ操作、フロー
制御機構からなる制御部をシステム制御エレメントSC
E(System Control Elemen
t)、スレッドの演算処理に特化した演算部をデータ処
理エレメントDPE(Data Processing
Element)として実装した。そしてひとつのリン
グには1個のSCEと複数のDPEを接続するようにし
た(図6)。ただし、数はこれに限る必要はない。
多重化して処理するマルチスレッド処理を採用してい
る。このためスレッドの切り替え時には、レジスタデー
タの入れ替えを行う必要がある。これはマルチスレッド
化に伴うオーバヘッドであり、これに要する時間が大き
いと粒度が粗くないスレッドを処理する場合に性能が低
下する。並列信号処理エンジンでは、レジスタデータの
入れ替えオーバヘッドを小さくするために、SCEやD
PEの間で直接レジスタ−レジスタ間のデータ転送を行
うことにした。
れ、ハードウェアにより自動的にレジスタに格納され
る。またスレッド起動時間も短縮するため、メッセージ
ヘッダにスレッド開始位置を搭載し、メッセージ到着と
同時にこれをプログラムカウンタに格納することでスレ
ッドを起動するメッセージ駆動方式を採用した。ただ
し、その他の駆動方式を採用してもよい。さらにSCE
やDPEではレジスタファイルを2重化し、これらの処
理を重畳化した。並列信号処理エンジンは以上のマルチ
スレッド支援機構を搭載し、スレッド切り替えに要する
時間を隠蔽する。
サと連携して動作する。プロセッサにより起動された並
列信号処理エンジンは、システムバス上のメモリにある
データに対して演算を行い、演算の結果をメモリに書き
戻し、処理が終了するとプロセッサに通知を行う。
処理をSCEとDPEが分割して実行する。その最も基
本的なものは以下の通りである。 [SCE] プロセッサから起動要求を受け、処理を開始する。 プロセッサ側のメモリからデータを読み込む。 データをメッセージ化して1つまたは複数のDPEに
送出する。 [DPE] SCEから受け取ったデータに対して演算を行う。 演算結果をメッセージ化してSCEに送出する。 [SCE] 指定されたすべてのDPEからメッセージが到着する
のを待つ。 受信したデータをシステムバス上のメモリに書き込
む。 プロセッサに終了を通知し、処理を完了する。 プロセッサは並列処理エンジンに、上記からを繰り
返し実行させることで処理を進める(図7)。
びフロー制御はSCEが担当し、DPEには実装してい
ない。よって処理の途中にメモリ操作や分岐を行う必要
がある場合には、スレッドを終了してSCEでこれらの
処理を行い、再度DPEで続きの処理を行う必要があ
る。メモリ操作や分岐を行う場合はから再度に戻
し、(メモリ操作が必要ならばを加える)
を繰り返すことにより行う。
データ交換が必要となる場合は、それぞれのDPEでの
処理を終了した後、SCE上で同期を取り、データを交
換して、再度スレッドを生成する。
れに限定する必要はないが、スレッドの生成・同期等の
制御はSCEだけが行い、DPEは結果のreturn
もしくは他のDPEへのスレッドの移動だけを行う。し
たがって並列信号処理エンジンの実行モデルは以下の2
種類に分類される。
し、それぞれを別のDPEで処理し、結果をSCEに戻
し同期を取るfork−join型である。もうひとつ
はSCEでスレッドをひとつだけ生成し、複数のDPE
が順番に処理し、SCEに戻すpipeline型であ
る(図8)。これらは問題の性質により使い分ける。
のインタフェースとを司るSCEは、機能によりフロー
コントローラFlow Controller、データ
ストレージレジスタData Storage Reg
ister(DSR)、メモリアクセスパイプラインM
emory Access Pipeline、スレッ
ドコントローラThread Controllerの
4つのブロックに分かれる。
全体のコントローラであり、RISCパイプラインをベ
ースとした制御を行う。またシステムバスとのインタフ
ェースを有していて、プロセッサとの間でタスクの起動
要求と終了通知のやり取りを行う。DSRは256ワー
ドのレジスタから構成されるデータ保存領域であり、送
受信メッセージやメモリデータの格納場所となる。Me
mory Access Pipelineは、Flo
w Controllerからのメモリリード・メモリ
ライト要求により動作を開始し、システムバス上のメモ
リとDSRとの間のデータ転送を行う。
SCEとDPE間のメッセージ送受信を司り、全体のス
レッド制御を行う。メッセージ送信はFlow Con
trollerからのメッセージ送信要求により起動さ
れ、Thread ControllerはDSRから
データを読み出し、ヘッダをつけてメッセージ化し送出
する。メッセージ受信は、ヘッダの情報に基づき受信し
たデータをDSRに自動的に格納し、同期およびスレッ
ド起動を行う。なお、Thread Controll
erはFlow Controllerと独立して動作
し、命令実行とメッセージ送受信は並行して行われる。
は、その機能により演算を行う実行パイプラインExe
cution Pipelineとメッセージを扱うネ
ットワークインタフェイスNetwork I/Fの2
つのブロックに分かれる。
プログラミングを容易にするためにRISCをベースと
した。これに高速にメディア処理を行うために1命令当
りの演算数を増やすことを目的としたSIMD演算命令
・積和演算命令を追加した(図9)。SIMD命令は1
6bit以下の精度で十分な画像・音声に適したサブワ
ード長演算を同時に行うことができる。積和命令は乗算
と加算を一度に行いフィルタ処理等に有効である。
ージを受信すると、データはExecution Pi
pelineのレジスタに、スレッド開始位置はプログ
ラムカウンタに格納しExecution Pipel
ineを起動する。スレッドが終了すると、Netwo
rk I/Fはヘッダの生成とレジスタ上の結果データ
の読み出しを行い、メッセージを送出する。
万5千ゲートのランダムロジックと48ワード2R1W
レジスタファイル、最大1Kワード(32bit)の命
令メモリの回路規模となった。なおNetwork I
/Fは全DPEで共通仕様とし、DPEをリングに追加
・削除することを容易にした。これにより必要に応じて
搭載するDPE数を増減し、無駄な回路を削減すること
ができる。
eはそれぞれのDPEで独立しているため、処理に応じ
てその演算種類に最も適した構成のExecution
Pipelineを実装することが可能である。仕様
の異なる複数のDPEを同じリング上に接続しSCEで
制御することも可能である。
ィア処理 4.1.マルチスレッド支援機構の効果 マルチスレッド支援機構によりどの程度オーバヘッドが
削減され、性能向上が得られるかをverilog H
DLによるソフトウェア・シミュレーションにより評価
した。
に、その処理時間がスレッドの長さよりも大きければ、
両者の差が隠蔽できなかったスレッド切り替えのオーバ
ヘッドである。そこで実行するスレッド長と送受信され
るメッセージの長さを変化させ、1スレッドあたりの処
理時間がどのように変化するか測定した。図10にその
結果を示す。横軸にスレッド長、縦軸に1スレッドあた
りの処理時間をとり、送受信されるメッセージの長さが
1,2,4,8,16のときのデータをプロットした。
処理時間は一致する。グラフによると、メッセージ長が
16のときでもスレッド長が24以上であればメッセー
ジ長と処理時間は一致し、オーバヘッドを隠蔽できてい
ることがわかる。逆にスレッド長が14以下になるとス
レッド長が短くなっても処理時間は減少しない。これは
メッセージ送受信にかかる時間のほうがスレッド処理時
間より大きくなったことを示している。マルチスレッド
支援機構がなければ、処理時間は(スレッド長+メッセ
ージ長×2)となることから、この結果はマルチスレッ
ド支援機構が十分な効果を持っていることを示してい
る。
とマッピング 画像情報圧縮の国際標準規格であるJPEGやMPEG
では、離散コサイン変換(DCT)が中心技術として使
用されている。このDCTを用いて評価を行う。
換する直交変換の1つであり、その変換式はN点の入力
Xi(n)に対する出力をXi(k)とすると、以下の
ようになる。
とする2次元データに対してDCTを行う。2次元DC
Tではまず行または列方向に1次元DCTを行い、結果
に対して残りの方向に1次元DCTを行うことで演算量
を削減することができる。
ズムが提案されている。我々は演算量と演算精度を考慮
してChenの高速アルゴリズムを採用した。Chen
のアルゴリズムでは、8データに対する1次元DCTは
16個の加算と10個の乗算で構成される(図11)。
なお演算精度はそれぞれ16bitとした。
の1次元DCT演算は独立して行うことが可能であるた
め1ブロックあたりの8つの並列性を抽出できる。DP
Eにはこの1次元DCT演算を割り当てる。DPEでは
8点のデータを入力して1次元DCT演算を行い8点の
データを出力するが、演算精度が16bitであるた
め、全ての演算を2並列SIMDで行っている。すなわ
ち1スレッドで2ライン分の1次元DCT演算を同時に
行う。なお、メッセージ出力までを含めて必要なDPE
の命令数は40である。
こと、および演算結果をまとめプロセッサのメモリに書
き戻すことを行う。さらに2次元DCTではブロックに
対して行方向、列方向の2回演算を行う必要があるた
め、SCEは最初のDPEによる演算結果を転置して再
度1次元DCTを行わせる。
送信する際に、データ読み出しアドレスのステップ数を
変更することによりオーバヘッドなく実現できる(図1
2)。
CT処理に必要な時間を、1次元DCTに用いるDPE
の数を1、2、4に変えて測定した。表1と図13に結
果を示す。
クロック)あたりに処理できるブロック数である。同図
によりDPEの台数に従って処理できるブロック数が増
加していることがわかる。その数はDPEで行う処理の
命令数から計算したものとほとんど一致し、オーバヘッ
ドがないことがわかる。ただし、4DPEでは台数効果
ほどはブロック数が増加していない。これはデータ転送
路の容量が1クロックあたり1ワードであるため、スレ
ッド長の40クロックに対し、4DPEでの処理にヘッ
ダを含めて9ワードx4の合計36ワードのデータが必
要となため、転送容量がほぼ限界に達しているからであ
ると考えられる。実際4DPEによる処理の際にはデー
タ転送路に空きはほとんど見られない。したがって、ス
レッド長の短い問題を多くのDPEで処理する場合に
は、レジスタ間転送のオーバヘッドが顕著化する。
レッド長/処理時間)は87%であり、オーバヘッドは
小さいことがわかる。また4DPE構成でDVDに用い
られる720x480画素(4:2:0)、30fps
の画像に対するDCT処理を行うのに必要な動作周波数
は22.4MHzであり、低消費電力での実現が可能で
ある。
による評価を行った。ここではDCT以外のメディア処
理と通信に関連する暗号処理について考え、新たなDP
Eの構成について検討する。
のDPEには1命令で8bit絶対差分和4つをSIM
D演算する命令を実装しており、十分に対応が可能であ
る。この命令により1つのDPEで1マクロブロック
(16x16画素)あたり116クロックで絶対差分和
を求めることができる。MEではDPEに処理MBデー
タを格納し、SCEから検出範囲のデータを順番に送
り、位置をずらしながら差分絶対和を計算しその最小値
を求める方法を検討している。
C) VLDはbit単位のストリームに対して最大24bi
tのデータのマッチングとテーブル参照があるため、R
ISCベースのDPEでは効率良く実現することが困難
である。そこでVLD処理を効率化するためには、高速
にテーブル参照を行う専用ハードウェアを実現すること
が効果的である。このハードウェアは専用DPEとして
同じリング上に接続することでSCEによって制御され
る。VLCについても、同じハードウェアで対応でき
る。
分シフト演算とSboxと呼ばれる特殊演算を繰り返し
行うことにより暗号化・復号化を行う。現在のDPEで
も十分に実装できるが、より高速な処理を行うために
は、DPEの命令パイプラインの実行ステージにデータ
シフトとSbox演算器用のルックアップテーブルを追
加すればよい。
確保のため1024bit長以上の演算が必要となる。
これをRISCベースで実装すると効率が悪くなるた
め、多倍長演算器を持つ専用DPEが必要である。以上
のように複合メディア処理を行うためには、DPEによ
る処理の他、SCEが制御する専用DPEをリング上に
追加することで対応が可能である。
処理を高速に行うために、コプロセッサ方式としてプロ
セッサと連携動作する並列信号処理エンジンを提案し
た。並列信号処理エンジンは演算部を複数持ち、スレッ
ドレベルの並列処理を行う。コストを小さくするために
メモリ操作、分岐制御を、スレッド生成・同期等を行う
制御部に集中し、マルチスレッド支援機構によりオーバ
ヘッドを削減した。さらに離散コサイン変換を用いて評
価を行い、並列処理による高い性能が得られることを示
した。DCT以外のメディア処理や暗号処理に対しても
対応を検討した。
例示に過ぎず、本発明がいろいろな変形例をもち、それ
らも本発明の範囲にあることは、当業者には理解される
ところである。たとえば、実施の形態では、データ処理
装置はコプロセッサ方式とした。しかし、これはメイン
のプロセッサの回路中に埋め込んで構成してもよいし、
その他いろいろな方式がある。その一例を以下に示す。
グ状に構成されている。しかし、転送路の計上はリング
状に限られない。例えば、複数のレジスタを一列に並べ
た場合、隣り合うレジスタのみを接続するバス形状であ
ってもよい。要は、データ転送路となるデータバスの面
積が全体として小さくなればよい。
ップ単価、チップ面積等においてメリットのあるデータ
処理装置が提供される。さらに、処理速度などの特性を
低下させないことが可能である。
図である。
タ周辺回路図である。
タ周辺回路図である。
タ周辺回路図である。
タ周辺回路図である。
ンの構成図である。
ある。
である。
の結果を示す図である。
る。
示す図である。
図である。
ロセッサのレジスタ周辺回路図である。
ロセッサとI/O制御部のレジスタ周辺回路図である。
器、 16 第2の演算器、 18 レジスタファイ
ル、 20 プログラム制御部、 22 第1のプログ
ラム制御部、 24 第2のプログラム制御部、 26
第3のプログラム制御部、 30 第1のレジスタ、
32 第2のレジスタ、 34 第3のレジスタ、
36 第4のレジスタ、 38 インターフェース制御
部、 40第1のパケット制御部、 42 第2のパケ
ット制御部、 44 第3のパケット制御部、 50
第1のレジスタ、 52 第2のレジスタ、 54 第
3のレジスタ、 56 第4のレジスタ、 58 第5
のレジスタ、 60 第6のレジスタ、 100 デー
タ処理装置、 120 プロセッサ、 140 第1の
コプロセッサ、 160 第2のコプロセッサ、 18
0 I/O制御部。
Claims (7)
- 【請求項1】 少なくとも複数の処理機構を有し、同時
に複数の演算または処理を実行する装置であって、 当該装置内部の複数のレジスタを含むレジスタファイル
を当該装置の処理機構ごとに分散し、それらを所定の形
状の転送路で接続して階層構造を設けることにより、処
理機構ごとに発生するレジスタアクセスを分散させるこ
とを特徴とするデータ処理装置。 - 【請求項2】 前記所定の形状の転送路がリング形状で
あり、前記転送路においてデータが所定の一方向のみに
転送されることを特徴とする請求項1に記載のデータ処
理装置。 - 【請求項3】 前記レジスタ間のデータ転送を実現する
データ転送機構をさらに有し、 前記データ転送機構は、複数のレジスタデータをパケッ
ト化したパケット転送によりデータ転送を実現すること
を特徴とする請求項1または2のいずれかに記載のデー
タ処理装置。 - 【請求項4】 前記処理機構ごとにプログラム制御部を
さらに有し、 前記プログラム制御部により、対応する処理機構は、同
じく対応するレジスタ上のデータを用いて他の処理機構
と非同期に処理を実行し、処理機構間で同期が必要な場
合、レジスタ間のデータ転送により同期をとることを特
徴とする請求項1から3のいずれかに記載のデータ処理
装置。 - 【請求項5】 前記レジスタが、物理的に多重化されて
構成され、前記処理機構は、多重化されたレジスタを切
り替えながら複数の命令列を多重実行することを特徴と
する請求項1から4のいずれかに記載のデータ処理装
置。 - 【請求項6】 前記レジスタが、仮想的に多重化されて
構成され、前記処理機構は、多重化されたレジスタを切
り替えながら複数の命令列を多重実行することを特徴と
する請求項1から4のいずれかに記載のデータ処理装
置。 - 【請求項7】 前記複数の処理機構と前記複数のレジス
タを複数のそれぞれ独立した副装置に分散させて実装
し、それらの副装置を前記転送路によって接続すること
を特徴とする請求項1から6のいずれかに記載のデータ
処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002205381A JP2003099249A (ja) | 2001-07-17 | 2002-07-15 | データ処理装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-217385 | 2001-07-17 | ||
JP2001217385 | 2001-07-17 | ||
JP2002205381A JP2003099249A (ja) | 2001-07-17 | 2002-07-15 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003099249A true JP2003099249A (ja) | 2003-04-04 |
JP2003099249A5 JP2003099249A5 (ja) | 2005-10-20 |
Family
ID=26618896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002205381A Pending JP2003099249A (ja) | 2001-07-17 | 2002-07-15 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003099249A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048254A (ja) * | 2004-08-02 | 2006-02-16 | Ricoh Co Ltd | 画像処理制御装置 |
JP2009003946A (ja) * | 2005-07-29 | 2009-01-08 | Sony Computer Entertainment Inc | タスク共有方法およびマルチプロセッサシステム |
WO2010044242A1 (ja) * | 2008-10-14 | 2010-04-22 | 国立大学法人奈良先端科学技術大学院大学 | データ処理装置 |
US9542185B2 (en) | 2013-07-19 | 2017-01-10 | International Business Machines Corporation | Allocation method, apparatus, and program for managing architectural registers and physical registers using mapping tables |
JP2018165913A (ja) * | 2017-03-28 | 2018-10-25 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
JP2019101969A (ja) * | 2017-12-07 | 2019-06-24 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP2022541999A (ja) * | 2020-06-30 | 2022-09-29 | 上海寒武紀信息科技有限公司 | 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法 |
-
2002
- 2002-07-15 JP JP2002205381A patent/JP2003099249A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048254A (ja) * | 2004-08-02 | 2006-02-16 | Ricoh Co Ltd | 画像処理制御装置 |
JP4585809B2 (ja) * | 2004-08-02 | 2010-11-24 | 株式会社リコー | 画像処理制御装置 |
JP2009003946A (ja) * | 2005-07-29 | 2009-01-08 | Sony Computer Entertainment Inc | タスク共有方法およびマルチプロセッサシステム |
WO2010044242A1 (ja) * | 2008-10-14 | 2010-04-22 | 国立大学法人奈良先端科学技術大学院大学 | データ処理装置 |
JP5279046B2 (ja) * | 2008-10-14 | 2013-09-04 | 国立大学法人 奈良先端科学技術大学院大学 | データ処理装置 |
US9542185B2 (en) | 2013-07-19 | 2017-01-10 | International Business Machines Corporation | Allocation method, apparatus, and program for managing architectural registers and physical registers using mapping tables |
US9891925B2 (en) | 2013-07-19 | 2018-02-13 | International Business Machines Corporation | Allocation method, apparatus, and program for managing architectural registers and physical registers using mapping tables |
JP2018165913A (ja) * | 2017-03-28 | 2018-10-25 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
JP2019101969A (ja) * | 2017-12-07 | 2019-06-24 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP2022541999A (ja) * | 2020-06-30 | 2022-09-29 | 上海寒武紀信息科技有限公司 | 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法 |
JP7483764B2 (ja) | 2020-06-30 | 2024-05-15 | 寒武紀(西安)集成電路有限公司 | 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100888369B1 (ko) | 영상 처리 엔진 및 그것을 포함하는 영상 처리 시스템 | |
Kapasi et al. | The Imagine stream processor | |
EP0726532B1 (en) | Array processor communication architecture with broadcast instructions | |
US8412917B2 (en) | Data exchange and communication between execution units in a parallel processor | |
JP4156794B2 (ja) | iVLIWのPE間通信を用いた効率的な同期MIMD動作のための方法および装置 | |
JP5762440B2 (ja) | 高効率の埋め込み型均一マルチコアプラットフォーム用のタイルベースのプロセッサアーキテクチャーモデル | |
US6216223B1 (en) | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor | |
AU2003287320B2 (en) | Pipeline accelerator and related system and method | |
US9442872B2 (en) | Methods and apparatus for providing bit-reversal and multicast functions utilizing DMA controller | |
CN113050990A (zh) | 用于矩阵操作加速器的指令的装置、方法和系统 | |
US20040221137A1 (en) | Efficient complex multiplication and fast fourier transform (FFT) implementation on the ManArray architecture | |
JP2003526157A (ja) | オンチップダイナミックramを備えたvliwコンピュータ処理アーキテクチャ | |
TW200537377A (en) | Physics processing unit instruction set architecture | |
JP4624098B2 (ja) | プロセッサのアドレス発生ユニット | |
JPH04336378A (ja) | 情報処理装置 | |
US7165166B2 (en) | Data processing system, data processing apparatus and control method for a data processing apparatus | |
Pechanek et al. | The ManArray/sup TM/embedded processor architecture | |
JP2003099249A (ja) | データ処理装置 | |
US9438414B2 (en) | Virtualized SHA computational engine | |
US20130311753A1 (en) | Method and device (universal multifunction accelerator) for accelerating computations by parallel computations of middle stratum operations | |
JP2006523883A (ja) | Ilp及びtlpを利用する再構成可能なプロセッサアレイ | |
KR19980018071A (ko) | 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리 | |
JP2003005954A (ja) | データ処理装置およびその制御方法 | |
Fernandes et al. | Processing while routing: a network-on-chip-based parallel system | |
JP2004515856A (ja) | ディジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050622 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050622 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061003 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070410 |