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
Application number
JP2002205381A
Other languages
English (en)
Other versions
JP2003099249A5 (ja
Inventor
Kazuaki Okamoto
一晃 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2002205381A priority Critical patent/JP2003099249A/ja
Publication of JP2003099249A publication Critical patent/JP2003099249A/ja
Publication of JP2003099249A5 publication Critical patent/JP2003099249A5/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 プロセッサにおいて並列処理の並列度を高め
ると、レジスタファイルへアクセスするバスが大きくな
り、実装面積などの面で不都合が生じる。 【解決手段】 プロセッサは、複数の演算器や処理機構
を有し、同時に複数の演算または処理を実行する。プロ
セッサは内部にレジスタファイル18をもつが、これを
処理機構ごとに分散し、それらを所定の形状の転送路で
接続して階層構造を設ける。これにより、処理機構ごと
に発生するレジスタアクセスを分散させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUおよびマイ
クロプロセッサなど、実行可能なデータ形式に変換され
たプログラムを実行してデータを処理するデータ処理装
置に関し、特に並列に設置された複数の処理ユニットに
よって複数の命令を並列的に実行可能なデータ処理装置
に関する。
【0002】
【従来の技術】マイクロプロセッサの処理性能を向上さ
せるために、複数の処理ユニットを並列に動作させ、同
時に複数の命令を実行する方法が有効である。これを実
現する従来技術として、スーパスカラ方式やVLIW方
式のプロセッサがある。スーパスカラ方式は、順次実行
されるべき複数の命令を解析し、命令間の依存関係を検
査して同時に実行可能な命令を動的に検出し、複数の命
令を同時に発行して並列に実行する。実行時間の異なる
複数の命令を動的にスケジューリングするための発行制
御回路をハードウェア化するものである。VLIW方式
は、並列に実行できる命令をコンパイル時に静的に解析
し、各処理ユニットへの命令を連結して長命令形式をと
るものである。プロセッサは実行時に長命令形式の命令
を分解し、あらかじめ定められた各処理ユニットに対し
て小命令を発行することで並列処理を実現する。命令の
依存解析は、すべてソフトウェアで静的に行うことで複
雑な依存解析回路を不要にしている。
【0003】これらに対し、たとえば特開2001−9
2663号公報のように、複数の処理ユニットに命令列
の単位で処理を割り当て、命令列単位で発行制御を行う
ものがある。これは、命令列ごとに動的なスケジューリ
ングをハードウェアで行い、各命令列の実行において
は、各処理ユニットが非同期に並列実行するものであ
る。これらのプロセッサでは一般に、処理に必要なデー
タを格納するための複数のレジスタ群、すなわちレジス
タファイルをプロセッサ内で共有している。レジスタフ
ァイル内のデータは、命令の実行ごとに参照・更新され
るので、すべての処理ユニットとの間でバス結合されて
いる。
【0004】
【発明が解決しようとする課題】しかしながら上述の方
法では、並列に実行されるすべての処理ユニットとレジ
スタファイルとの間で、同時進行的にデータ参照および
更新を行う必要があるため、並列度、すなわち同時に処
理できる命令数に比例した数のデータバスおよび多ポー
トのメモリが必要になる。すなわち、並列度が大きくな
ると、処理ユニットを結ぶデータバス、およびレジスタ
ファイルを構成する多ポートメモリの占める面積が飛躍
的に増大し、これらの要素がプロセッサにおいて支配的
になる。このため、プロセッサの動作速度、消費電力、
チップ面積などに大きく影響していた。さらに、以上の
課題を解決する際に、処理速度などの特性を低下させな
いことが必要である。
【0005】
【課題を解決するための手段】本発明のある態様はデー
タ処理装置であり、その典型はプロセッサである。この
装置は例えば、複数の演算器、処理機構、制御機構を有
し、同時に複数の演算または処理を実行するもので、当
該装置内部の複数のレジスタを含むレジスタファイルを
当該装置の処理機構ごとに分散し、それらを所定の形状
の転送路で接続して階層構造を設けることにより、処理
機構ごとに発生するレジスタアクセスを分散させる。
【0006】「データ処理装置」は、例えば、プロセッ
サやコプロセッサであるが、これらの組み合わせも含む
ものとする。「処理機構」とは、所定の処理を行うしく
みであり、演算器なども含むものとする。「階層構造」
とは、レジスタファイルの一部を分散されたレジスタの
ひとつに蓄積してある構造である。
【0007】所定の形状の転送路がリング形状であり、
転送路においてデータが所定の一方向のみに転送されて
もよい。「リング状」とは、レジスタ間転送路が全体と
して環状になっている状態である。本装置によれば、レ
ジスタを複数に分散させ、ひとつのレジスタには所定の
処理機構のみが直接アクセスできるものとし、さらに、
それらのレジスタ間を占有面積の小さい形状の転送路で
接続することにより、全体としてデータバスの占める面
積を小さくすることが可能である。
【0008】また、他の処理機構が有する遠隔のレジス
タのデータを参照する際、レジスタデータのコピーをパ
ケット転送することによってレジスタ間のデータ転送を
実現するデータ転送機構を設け、当該データ転送をソフ
トウェアから起動可能に構成してもよい。本装置によれ
ば、レジスタ間のデータを転送する際、ひとつのレジス
タアドレスにあるデータだけではなく、複数のデータを
まとめて使用より先に転送するため、レジスタを複数に
分散させることによる処理速度の低下を防ぐことが可能
である。
【0009】本発明の別の態様もデータ処理装置であ
る。この装置では、複数の演算器または処理機構が並列
に動作し、各処理機構がひとつ以上の命令から成る命令
列を非同期に実行する。各処理機構は前述のように分散
レジスタを有し、分散レジスタ上のデータを用いて非同
期に処理を進める。命令列の実行中もしくは実行後に処
理機構間で同期が必要になる場合、例えばパケットによ
るデータ転送によって同期をとる。同期はハードウェア
が保証してもよい。本装置によれば、各処理機構が独立
にそれに対応するレジスタにアクセスして処理を行うた
め、レジスタを複数に分散させることによる処理速度の
低下を防ぐことが可能である。
【0010】前記装置において、各処理機構が有する分
散レジスタを物理的もしくは仮想的に多重化し、それぞ
れの処理機構ではこれらを切り替えながら複数の命令列
を多重実行してもよい。その場合、データ転送にともな
う転送遅延を他の命令列の処理により隠蔽する効果が得
られる。「仮想的に多重化」とは、例えば、物理的には
ひとつのレジスタを論理的に区分してそれらを多重化す
ることである。本装置によれば、処理機構は、所定のレ
ジスタのデータが転送中の場合、別のレジスタのデータ
を使用して処理を実行できるため、レジスタを複数に分
散させることによる処理速度の低下を防ぐことが可能で
ある。
【0011】複数の処理機構と複数のレジスタを複数の
それぞれ独立した副装置に分散させて実装し、それらの
副装置を転送路によって接続してもよい。「副装置」と
は、例えば、データ処理装置がプロセッサと複数のコプ
ロセッサで構成されている場合、プロセッサやひとつの
コプロセッサを示す。
【0012】本発明のいくつかの特徴は以下のようにま
とめられる。 1.並列に実行可能な処理ユニットごとに必要なレジス
タを分散し、各処理ユニットのレジスタ間をリングなど
の単純な転送路で接続した階層構造を有するレジスタフ
ァイルとする。 2.遠隔レジスタのデータ参照・更新を行う場合は、局
所レジスタとの間でデータコピーを行う。このときのデ
ータ転送は、複数のレジスタデータをパケット化したパ
ケット転送で実現する。データのパケット化、パケット
転送、パケットの分解とレジスタ格納などの制御を行う
ためのパケット転送制御手段を設ける。これによりレジ
スタ間のパケット転送はハードウェアが支援し、さらに
これを起動するための手段を設け、その起動をソフトウ
ェアで制御する。
【0013】3.それぞれの処理ユニットは、局所レジ
スタのデータを用い、他の処理ユニットとは非同期に独
立して処理の実行を可能とする。処理ユニット間の同期
はパケット転送によって行われ、ハードウェアがこれを
保証する。このための同期制御手段をパケット転送制御
手段の中に設ける。 4.処理ユニットに分散されたレジスタを物理的に複数
セット用意し、多重化する。多重処理制御手段を設ける
ことで、複数の命令または命令列を多重化して処理す
る。あるレジスタデータの転送中には、多重処理制御手
段が別の命令に処理を切り替え、同時にレジスタセット
選択手段がこれに対応した別のレジスタセットに切替え
る。これによりデータ転送と他の処理を重畳化し、デー
タ転送による遅延を隠蔽する。
【0014】5.上記多重化処理において、レジスタを
複数セット用意するかわりに、レジスタ仮想化手段を用
意して、1セットのレジスタファイルを仮想的に多重化
する。 6.メモリ上に格納されている画像などの大規模なデー
タ群に対し、複数のコプロセッサを用いてパイプライン
的に処理を施し、メモリに書き戻す。例えば、メモリ上
の生画像データに対し、プロセッサのロードストアユニ
ット(以下、「LSU」という、図面においては「L/
S」という)がレジスタにデータをロードし、これを圧
縮処理を行うコプロセッサ1にレジスタ間転送する。圧
縮処理後のデータを、暗号化処理を行うコプロセッサ2
に転送し、暗号化処理後プロセッサにデータを戻して、
LSUがメモリに書き戻す。これらをパイプライン的に
高速処理する。
【0015】7.高速LANなどを介した通信におい
て、LAN制御を行う周辺I/O部と、暗号化・復号処
理を行うコプロセッサと、コプロセッサとの間で分散レ
ジスタを構成する。送信時は、コプロセッサがメモリ上
のデータをレジスタにロードし、これを暗号化するコプ
ロセッサ1に転送する。暗号化後、LAN制御部に転送
され、パケット化されてLAN上に送信される。受信時
は、LAN制御部が受信パケットを分解し、復号処理を
行うコプロセッサ2にデータ転送を行う。復号後、プロ
セッサに転送し、メモリに書き込む。これらの処理をパ
イプライン化することで、高速な通信処理を実現するこ
とができる。
【0016】これらの手段により、並列に実行される複
数の処理ユニットが同時に同じレジスタファイルへアク
セスすることを避け、レジスタファイルのポート数およ
びデータバス数を削減する。したがって、ハードウェア
量および回路の複雑度を大幅に軽減でき、動作速度の向
上、消費電力の低減、回路面積の削減などの効果が得ら
れる。とくに並列度の大きな場合において効果は顕著に
ある。
【0017】
【発明の実施の形態】[概要の図示]図1は、従来一般
的なプロセッサのレジスタおよびその周辺回路を示す。
図2から図5は、それぞれ第1から第4の実施の形態に
相当するプロセッサのレジスタおよびその周辺回路を示
す。図14は、第5の実施の形態に係るプロセッサとコ
プロセッサのレジスタ周辺回路を示す。図15は、第6
の実施の形態に係るプロセッサ、コプロセッサとI/O
制御部のレジスタ周辺回路を示す。
【0018】[実施の形態1]図2は、実施の形態1に
係るデータ処理装置100の一例であるプロセッサのレ
ジスタ周辺回路図である。データ処理装置100は、L
SU12、第1の演算器14、第2の演算器16、レジ
スタファイル18、プログラム制御部20を有する。ま
た、レジスタファイル18は、第1のレジスタ30、第
2のレジスタ32、第3のレジスタ34を有する。実施
の形態1は、レジスタが第1のレジスタ30、第2のレ
ジスタ32、第3のレジスタ34と分散して構成されて
いる点に特徴がある。
【0019】データ処理装置100には、例えば、CP
Uなどのプロセッサやコプロセッサがある。LSU12
は、データ処理装置100が所定の処理を行う際に必要
なデータを、メモリ10から読み込み、レジスタファイ
ル18に蓄積する。蓄積は、レジスタファイル18にお
ける第1のレジスタ30に行う。またデータ処理装置1
00での処理結果をメモリ10に出力する。第1の演算
器14、第2の演算器16は、入力信号に対して所定の
演算を行い、結果信号を出力する。信号の入出力はレジ
スタファイル18における第2のレジスタ32と第3の
レジスタ34に対して行われる。
【0020】レジスタファイル18は、データ処理装置
100が所定の処理を行う際に必要なデータを保持す
る。データ処理装置100における処理機構であるLS
U12、第1の演算器14、第2の演算器16に対し
て、レジスタファイル18は第1のレジスタ30、第2
のレジスタ32、第3のレジスタ34と分散して構成さ
れる。第1のレジスタ30、第2のレジスタ32、第3
のレジスタ34の間は、例えば、リングなどの単純な転
送路で接続される。転送路の構造を簡易にし、転送路が
占める面積を小さくするためである。これらの転送路に
おいて、例えば、データは図示されている矢印の方向の
みに転送される。一般にデータ転送装置の構成が容易と
なるからである。
【0021】プログラム制御部20は、LSU12、第
1の演算器14、第2の演算器16に所定の処理を行う
指示信号を出力する。また、第1のレジスタ30、第2
のレジスタ32、第3のレジスタ34間におけるデータ
転送を指示する。このように、本実施の形態によれば、
レジスタは各処理機構に対応して分散した構成となる。
各処理機構は対応するレジスタのみにアクセスし、レジ
スタ間の接続はリングなどの単純な転送路とすることに
よって、処理機構とレジスタを結ぶデータバスの面積の
削減が可能である。
【0022】[実施の形態2]図3は、実施の形態2に
係るデータ処理装置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があることである。
【0023】第1のパケット制御部40は、第1のレジ
スタ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も同様である。
【0024】このように、本実施の形態によれば、レジ
スタ間のデータ転送を複数のレジスタデータによるパケ
ットで行うことにより、レジスタ分散による遅延時間の
増加を小さくするこが可能である。
【0025】[実施の形態3]図4は、実施の形態3に
係るデータ処理装置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があることである。
【0026】第1のプログラム制御部22は、図3にお
けるプログラム制御部20と同様に処理機構に対して所
定の処理を行う指示信号を出力する。しかし、指示信号
の出力先がLSU12のみである。第1のプログラム制
御部22からの指示により、LSU12は、第1のレジ
スタ30にあるデータを用いて第1の演算器14や第2
の演算器16などの他の処理機構とは非同期に処理を実
行する。他の処理機構とデータの同期が必要になった場
合、第1のプログラム制御部22は、例えば、第1のパ
ケット制御部40によるパケット転送により同期を実現
する。また、第2のプログラム制御部24と第3のプロ
グラム制御部26も同様である。
【0027】このように、本実施の形態によれば、処理
機構の動作を制御するプログラム制御部は、制御機構ご
とに構成される。プログラム制御部は、所定の制御機構
のみを制御し、他の制御機構とは非同期であることか
ら、レジスタを分散しても、より高速な処理を行うこと
が可能である。
【0028】[実施の形態4]図5は、実施の形態4に
係るデータ処理装置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があることで
ある。
【0029】第1のレジスタ50、第2のレジスタ52
は、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と同様である。
【0030】このように、本実施の形態によれば、ひと
つの処理機構に対し複数のレジスタを用意して多重化す
ることにより、レジスタデータの転送待ちになる可能性
が小さくなるため、レジスタを分散することによる処理
遅延を小さくすることが可能である。
【0031】[実施の形態5]図14は、実施の形態5
に係るプロセッサ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つのデータ処理装置に分
散されて構成されている。
【0032】プロセッサ120は、所定の処理に対し
て、第1のコプロセッサ140と第2のコプロセッサ1
60を制御する。例えば、メモリ10にある画像データ
を符号化した後、暗号化する処理の場合、プロセッサ1
20は、メモリ10に蓄積されている画像データを第1
のレジスタ30に入力する。このデータに対して、第1
のコプロセッサ140と第2のコプロセッサ160をパ
イプライン的に処理をするように制御する。さらに上記
の処理が完了した際に、処理後のデータをメモリ10に
出力する。
【0033】第1のコプロセッサ140と第2のコプロ
セッサ160は、プロセッサ120の指示により所定の
処理を行う。上記の例の場合、第1のコプロセッサ14
0は画像を圧縮処理するコプロセッサであり、第2のコ
プロセッサ160は圧縮処理後の画像を暗号化するコプ
ロセッサである。これらの処理においてデータは、第2
のレジスタ32と第3のレジスタ34に蓄積される。第
2のコプロセッサ160による暗号化処理後、データは
プロセッサ120における第1のレジスタ30に入力さ
れる。
【0034】このように、本実施の形態によれば、レジ
スタをひとつのデータ処理装置だけでなく、複数のデー
タ処理装置に分散して構成させることにより、すべての
データ処理装置とメモリ間のデータバスを削減すること
が可能である。さらに、プロセッサとコプロセッサ間の
データがメモリを介さずに直接転送されるため、転送が
高速となる。
【0035】[実施の形態6]図15は、実施の形態6
に係るプロセッサ120、第1のコプロセッサ140、
第2のコプロセッサ160、I/O制御部180のレジ
スタ周辺回路図である。実施の形態5にI/O制御部1
80が追加されている。I/O制御部180は、第4の
レジスタ36、インターフェース制御部38を有する。
【0036】I/O制御部180は、外部に対して所定
のインタフェース機能を有する。これは、所定の通信機
能を有するインターフェースカードなどにより構成され
る。所定の通信機能の一例としてローカルエリアネット
ワーク(以下、「LAN」という)がある。例えば、メ
モリ10にある画像データを符号化した後、そのデータ
を送信する処理と受信したデータを暗号化する処理の場
合、プロセッサ120は、メモリ10に蓄積されている
画像データを第1のレジスタ30に入力し、第1のコプ
ロセッサ140に出力する。第1のコプロセッサ140
は符号化処理を行い、I/O制御部180は符号化され
たデータをインターフェース制御部38から外部に対し
て送信する。また、I/O制御部180は外部からデー
タを受信する。第2のコプロセッサ160は、このデー
タを復号し、プロセッサ120に対して出力する。
【0037】このように、本実施の形態によれば、レジ
スタをひとつのデータ処理装置だけでなく、複数のデー
タ処理装置に分散して構成させることにより、すべての
データ処理装置とメモリ間のデータバスを削減すること
が可能である。さらに、プロセッサとコプロセッサとI
/O制御部間のデータがメモリを介さずに直接転送され
るため、転送が高速となる。
【0038】[実施の形態7] 1.前提条件 携帯端末等の情報処理を要する組込み機器において、画
像・音声データを扱うメディア処理の役割が年々大きく
なっている。また複数の機器間での情報交換や共有のた
めに行われる通信も高速化が進んでいる。現在、これら
の処理の多くは機器に組み込まれたプロセッサ上のソフ
トウェアにより行われているため、プロセッサにかかる
負荷は大変重い。このようなメディア処理および通信に
伴うネットワーク処理に求められる性能は今後ますます
高くなり、さらに画像ストリーム通信のようにメディア
処理とネットワーク処理を同時に行う複合メディア処理
も必要になる。したがって、現状のように組込み機器の
プロセッサによるソフトウェア処理だけで、これらの全
てに対応することは困難と考えられる。
【0039】実際、大量のメディアデータ処理や極めて
高速な通信を行う必要のあるハイエンド機器では、ソフ
トウェア処理だけでは要求を満たせないため、大量のハ
ードウェア投資を施したメディアプロセッサやネットワ
ークプロセッサ等の専用チップが提案・開発されてい
る。一方で組込み機器においてはハイエンド機器のよう
な高速性は要求されないが、同時に消費電力の制約から
プロセッサ自体の性能が低く抑えられるため、ソフトウ
ェア処理だけで対応できないという点において、同等の
問題を抱えている。しかも、コストや消費電力の制約か
ら、上述のような専用プロセッサを用いることも困難と
考えられる。
【0040】ここでは、複合メディア処理を高速化する
ことを目的とした高いコストパフォーマンスを持つ組込
み機器向けのプロセッサ支援機構として、並列信号処理
エンジンを提案する。まず、2.で組込み機器で複合メ
ディア処理を実現する際に求められるプロセッサ支援機
構について考察し、3.では提案する並列信号処理エン
ジンのアーキテクチャについて説明する。4.では、メ
ディア処理の中から画像圧縮に用いられる離散コサイン
変換を選び、これを用いて並列信号処理エンジンの評価
を行う。また他のメディア処理や通信を効率良く実現す
るための機能について検討する。
【0041】2.複合メディア処理のためのプロセッサ
支援機構 より大容量化するメディア処理や高速化する通信、そし
て複合メディア処理に対応するためには、機器の処理能
力を向上させる必要がある。その方法として、次の3つ
が考えられる。
【0042】ソフトウェアのみですべての処理に対応
できるよう、プロセッサ自体の性能を向上させる、また
は複数のプロセッサで並列処理を行う。 処理をハードウェアにより実現し、プロセッサの支援
機構として実装する。 処理の一部をハードウェア化し、ソフトウェアによる
処理の制御が可能なコプロセッサとして実装する。
【0043】プロセッサ自体の性能を向上させるために
は、動作周波数を高める方法とSuper−Scala
rやVLIWのような命令レベル並列処理を行う方法が
ある。動作周波数を高める方法では既存のソフトウェア
資産を生かせる利点があるが、消費電力が増加する欠点
があり、特に携帯機器では大きな問題となる。また命令
レベル並列処理やマルチプロセッサでは制御が複雑にな
り、投資したコストに見合う効果が得られないという問
題がある。
【0044】一方、ハードウェア化により処理を行う方
法は、プロセッサと比較して小規模な回路で高速に実現
できるため、これまで広く使用されてきた。しかしソフ
トウェアに比べて設計に必要な期間が長いこと、開発後
の修正が困難であること、規格の変更等に対する柔軟性
に欠けること、等の欠点がある。さらに処理が複雑化し
て回路が大規模になるにつれてこれらの欠点の影響が増
大するという問題がある。
【0045】これらに対しコプロセッサ方式は、ソフト
ウェア処理の一部をハードウェア化により高速化するも
のである。一般にメディア処理における処理時間の大部
分は一部の定型処理が占めていることが多く、この部分
をハードウェアによって高速化すれば、全体の処理時間
を大幅に減少させることが可能である。また残りの処理
がソフトウェアで記述されていることからプログラマビ
リティは高く、設計期間の短縮や製品開発後の保守コス
トを小さくすることができる。以上の3つの方法を比較
検討した結果、複合メディア処理を行うためのプロセッ
サ支援機構にはコプロセッサ方式が相応しいと判断し、
これに基づく並列信号処理エンジンを提案する。
【0046】3. 並列信号処理エンジンのアーキテク
チャと実装 3.1.アーキテクチャの概要 並列信号処理エンジンでは、動作周波数を低く抑えても
高い性能が得られるように演算部を複数実装し、これら
を並列に動作させる。複数の演算部を効率良く実行させ
るためには、それに見合う大きな並列性が必要である。
メディア処理では空間・時間分割が可能な問題が多く、
比較的粒度の粗い並列性を抽出するのが容易であること
から、ここではユーザが意識して記述するスレッドレベ
ルの並列性を利用することとした。ただし、当然それ以
外の並列性を利用してもよい。
【0047】マルチスレッド処理を行う場合、問題を安
易にモデル化するとスレッド数が爆発してしまう可能性
があるため、スレッドの生成には制約を設ける必要があ
る。並列信号処理エンジンでは無制限にスレッド数が増
えないように、個々の演算部では新たなスレッドの生成
は行わず、生成・同期等のスレッド制御を専用に行う制
御部をひとつだけ持たせた。コストを小さくするために
システムバス・インタフェース機構やメモリ操作機構、
条件分岐等を行うフロー制御機構を制御部内にまとめ
た。ただし、それ以外の構成であってもよい。
【0048】複数の演算部で同時にスレッドを処理する
ためには、レジスタファイルに多ポートのメモリが必要
となりコストが大きくなる。そこで、スレッドレベル並
列では演算部間におけるデータ交換が頻繁ではないこと
から、レジスタファイルを各演算部に分散して持たせ
た。レジスタファイル間で必要なデータ転送はメッセー
ジパッシングにより行うことにした。その転送路のトポ
ロジには、スレッドレベル並列処理ではデータ転送の頻
度が高くないことから、転送レートに対するコストが最
も小さくノードの追加・削除が容易な1次元リングを採
用した。ただし、形状はこれに限る必要はなく、一般に
は単純なトポロジをもてばよいと考えられる。また、メ
ッセージパッシング以外の方法でデータ転送を行っても
よい。
【0049】並列信号処理エンジンでは、システムバス
・インタフェースとスレッド制御、メモリ操作、フロー
制御機構からなる制御部をシステム制御エレメントSC
E(System Control Elemen
t)、スレッドの演算処理に特化した演算部をデータ処
理エレメントDPE(Data Processing
Element)として実装した。そしてひとつのリン
グには1個のSCEと複数のDPEを接続するようにし
た(図6)。ただし、数はこれに限る必要はない。
【0050】3.2.マルチスレッド支援機構 並列信号処理エンジンではSCEやDPEでスレッドを
多重化して処理するマルチスレッド処理を採用してい
る。このためスレッドの切り替え時には、レジスタデー
タの入れ替えを行う必要がある。これはマルチスレッド
化に伴うオーバヘッドであり、これに要する時間が大き
いと粒度が粗くないスレッドを処理する場合に性能が低
下する。並列信号処理エンジンでは、レジスタデータの
入れ替えオーバヘッドを小さくするために、SCEやD
PEの間で直接レジスタ−レジスタ間のデータ転送を行
うことにした。
【0051】レジスタデータはメッセージの形で転送さ
れ、ハードウェアにより自動的にレジスタに格納され
る。またスレッド起動時間も短縮するため、メッセージ
ヘッダにスレッド開始位置を搭載し、メッセージ到着と
同時にこれをプログラムカウンタに格納することでスレ
ッドを起動するメッセージ駆動方式を採用した。ただ
し、その他の駆動方式を採用してもよい。さらにSCE
やDPEではレジスタファイルを2重化し、これらの処
理を重畳化した。並列信号処理エンジンは以上のマルチ
スレッド支援機構を搭載し、スレッド切り替えに要する
時間を隠蔽する。
【0052】3.3.並列信号処理エンジンの基本動作 並列信号処理エンジンはコプロセッサであり、プロセッ
サと連携して動作する。プロセッサにより起動された並
列信号処理エンジンは、システムバス上のメモリにある
データに対して演算を行い、演算の結果をメモリに書き
戻し、処理が終了するとプロセッサに通知を行う。
【0053】並列処理エンジンの内部では、この一連の
処理をSCEとDPEが分割して実行する。その最も基
本的なものは以下の通りである。 [SCE] プロセッサから起動要求を受け、処理を開始する。 プロセッサ側のメモリからデータを読み込む。 データをメッセージ化して1つまたは複数のDPEに
送出する。 [DPE] SCEから受け取ったデータに対して演算を行う。 演算結果をメッセージ化してSCEに送出する。 [SCE] 指定されたすべてのDPEからメッセージが到着する
のを待つ。 受信したデータをシステムバス上のメモリに書き込
む。 プロセッサに終了を通知し、処理を完了する。 プロセッサは並列処理エンジンに、上記からを繰り
返し実行させることで処理を進める(図7)。
【0054】並列信号処理エンジンではメモリ操作およ
びフロー制御はSCEが担当し、DPEには実装してい
ない。よって処理の途中にメモリ操作や分岐を行う必要
がある場合には、スレッドを終了してSCEでこれらの
処理を行い、再度DPEで続きの処理を行う必要があ
る。メモリ操作や分岐を行う場合はから再度に戻
し、(メモリ操作が必要ならばを加える)
を繰り返すことにより行う。
【0055】複数のDPEで処理しているスレッド間で
データ交換が必要となる場合は、それぞれのDPEでの
処理を終了した後、SCE上で同期を取り、データを交
換して、再度スレッドを生成する。
【0056】並列信号処理エンジンでは、もちろん、こ
れに限定する必要はないが、スレッドの生成・同期等の
制御はSCEだけが行い、DPEは結果のreturn
もしくは他のDPEへのスレッドの移動だけを行う。し
たがって並列信号処理エンジンの実行モデルは以下の2
種類に分類される。
【0057】ひとつはSCEで複数のスレッドを生成
し、それぞれを別のDPEで処理し、結果をSCEに戻
し同期を取るfork−join型である。もうひとつ
はSCEでスレッドをひとつだけ生成し、複数のDPE
が順番に処理し、SCEに戻すpipeline型であ
る(図8)。これらは問題の性質により使い分ける。
【0058】3.4.SCEの構成と動作 並列信号処理エンジン全体の動作制御と、プロセッサと
のインタフェースとを司るSCEは、機能によりフロー
コントローラFlow Controller、データ
ストレージレジスタData Storage Reg
ister(DSR)、メモリアクセスパイプラインM
emory Access Pipeline、スレッ
ドコントローラThread Controllerの
4つのブロックに分かれる。
【0059】Flow ControllerはSCE
全体のコントローラであり、RISCパイプラインをベ
ースとした制御を行う。またシステムバスとのインタフ
ェースを有していて、プロセッサとの間でタスクの起動
要求と終了通知のやり取りを行う。DSRは256ワー
ドのレジスタから構成されるデータ保存領域であり、送
受信メッセージやメモリデータの格納場所となる。Me
mory Access Pipelineは、Flo
w Controllerからのメモリリード・メモリ
ライト要求により動作を開始し、システムバス上のメモ
リとDSRとの間のデータ転送を行う。
【0060】Thread Controllerは、
SCEとDPE間のメッセージ送受信を司り、全体のス
レッド制御を行う。メッセージ送信はFlow Con
trollerからのメッセージ送信要求により起動さ
れ、Thread ControllerはDSRから
データを読み出し、ヘッダをつけてメッセージ化し送出
する。メッセージ受信は、ヘッダの情報に基づき受信し
たデータをDSRに自動的に格納し、同期およびスレッ
ド起動を行う。なお、Thread Controll
erはFlow Controllerと独立して動作
し、命令実行とメッセージ送受信は並行して行われる。
【0061】3.5.DPEの構成と動作 SCEで生成されたスレッドを実際に処理するDPE
は、その機能により演算を行う実行パイプラインExe
cution Pipelineとメッセージを扱うネ
ットワークインタフェイスNetwork I/Fの2
つのブロックに分かれる。
【0062】Execution Pipelineは
プログラミングを容易にするためにRISCをベースと
した。これに高速にメディア処理を行うために1命令当
りの演算数を増やすことを目的としたSIMD演算命令
・積和演算命令を追加した(図9)。SIMD命令は1
6bit以下の精度で十分な画像・音声に適したサブワ
ード長演算を同時に行うことができる。積和命令は乗算
と加算を一度に行いフィルタ処理等に有効である。
【0063】Network I/Fは自分宛のメッセ
ージを受信すると、データはExecution Pi
pelineのレジスタに、スレッド開始位置はプログ
ラムカウンタに格納しExecution Pipel
ineを起動する。スレッドが終了すると、Netwo
rk I/Fはヘッダの生成とレジスタ上の結果データ
の読み出しを行い、メッセージを送出する。
【0064】上記のDPEを論理合成したところ、約1
万5千ゲートのランダムロジックと48ワード2R1W
レジスタファイル、最大1Kワード(32bit)の命
令メモリの回路規模となった。なおNetwork I
/Fは全DPEで共通仕様とし、DPEをリングに追加
・削除することを容易にした。これにより必要に応じて
搭載するDPE数を増減し、無駄な回路を削減すること
ができる。
【0065】逆にExecution Pipelin
eはそれぞれのDPEで独立しているため、処理に応じ
てその演算種類に最も適した構成のExecution
Pipelineを実装することが可能である。仕様
の異なる複数のDPEを同じリング上に接続しSCEで
制御することも可能である。
【0066】4. 並列信号処理エンジンを用いたメデ
ィア処理 4.1.マルチスレッド支援機構の効果 マルチスレッド支援機構によりどの程度オーバヘッドが
削減され、性能向上が得られるかをverilog H
DLによるソフトウェア・シミュレーションにより評価
した。
【0067】DPEでスレッドを連続して処理するとき
に、その処理時間がスレッドの長さよりも大きければ、
両者の差が隠蔽できなかったスレッド切り替えのオーバ
ヘッドである。そこで実行するスレッド長と送受信され
るメッセージの長さを変化させ、1スレッドあたりの処
理時間がどのように変化するか測定した。図10にその
結果を示す。横軸にスレッド長、縦軸に1スレッドあた
りの処理時間をとり、送受信されるメッセージの長さが
1,2,4,8,16のときのデータをプロットした。
【0068】オーバヘッドが無いときにはスレッド長と
処理時間は一致する。グラフによると、メッセージ長が
16のときでもスレッド長が24以上であればメッセー
ジ長と処理時間は一致し、オーバヘッドを隠蔽できてい
ることがわかる。逆にスレッド長が14以下になるとス
レッド長が短くなっても処理時間は減少しない。これは
メッセージ送受信にかかる時間のほうがスレッド処理時
間より大きくなったことを示している。マルチスレッド
支援機構がなければ、処理時間は(スレッド長+メッセ
ージ長×2)となることから、この結果はマルチスレッ
ド支援機構が十分な効果を持っていることを示してい
る。
【0069】4.2.離散コサイン変換のアルゴリズム
とマッピング 画像情報圧縮の国際標準規格であるJPEGやMPEG
では、離散コサイン変換(DCT)が中心技術として使
用されている。このDCTを用いて評価を行う。
【0070】DCTは空間上のデータを周波数成分に変
換する直交変換の1つであり、その変換式はN点の入力
(n)に対する出力をX(k)とすると、以下の
ようになる。
【0071】
【数1】 JPEGやMPEGでは縦横8個のデータを1ブロック
とする2次元データに対してDCTを行う。2次元DC
Tではまず行または列方向に1次元DCTを行い、結果
に対して残りの方向に1次元DCTを行うことで演算量
を削減することができる。
【0072】1次元DCTにはさまざまな高速アルゴリ
ズムが提案されている。我々は演算量と演算精度を考慮
してChenの高速アルゴリズムを採用した。Chen
のアルゴリズムでは、8データに対する1次元DCTは
16個の加算と10個の乗算で構成される(図11)。
なお演算精度はそれぞれ16bitとした。
【0073】8x8DCT演算において各行または各列
の1次元DCT演算は独立して行うことが可能であるた
め1ブロックあたりの8つの並列性を抽出できる。DP
Eにはこの1次元DCT演算を割り当てる。DPEでは
8点のデータを入力して1次元DCT演算を行い8点の
データを出力するが、演算精度が16bitであるた
め、全ての演算を2並列SIMDで行っている。すなわ
ち1スレッドで2ライン分の1次元DCT演算を同時に
行う。なお、メッセージ出力までを含めて必要なDPE
の命令数は40である。
【0074】SCEはDPEに対してデータを供給する
こと、および演算結果をまとめプロセッサのメモリに書
き戻すことを行う。さらに2次元DCTではブロックに
対して行方向、列方向の2回演算を行う必要があるた
め、SCEは最初のDPEによる演算結果を転置して再
度1次元DCTを行わせる。
【0075】ここで転置はDPEに対してメッセージを
送信する際に、データ読み出しアドレスのステップ数を
変更することによりオーバヘッドなく実現できる(図1
2)。
【0076】4.3.DCTの性能評価 シミュレーションにより、1ブロックあたりの2次元D
CT処理に必要な時間を、1次元DCTに用いるDPE
の数を1、2、4に変えて測定した。表1と図13に結
果を示す。
【0077】
【表1】 図13では横軸がDPE数、縦軸は一定期間(1000
クロック)あたりに処理できるブロック数である。同図
によりDPEの台数に従って処理できるブロック数が増
加していることがわかる。その数はDPEで行う処理の
命令数から計算したものとほとんど一致し、オーバヘッ
ドがないことがわかる。ただし、4DPEでは台数効果
ほどはブロック数が増加していない。これはデータ転送
路の容量が1クロックあたり1ワードであるため、スレ
ッド長の40クロックに対し、4DPEでの処理にヘッ
ダを含めて9ワードx4の合計36ワードのデータが必
要となため、転送容量がほぼ限界に達しているからであ
ると考えられる。実際4DPEによる処理の際にはデー
タ転送路に空きはほとんど見られない。したがって、ス
レッド長の短い問題を多くのDPEで処理する場合に
は、レジスタ間転送のオーバヘッドが顕著化する。
【0078】なお、4DPEの場合でも処理の効率(ス
レッド長/処理時間)は87%であり、オーバヘッドは
小さいことがわかる。また4DPE構成でDVDに用い
られる720x480画素(4:2:0)、30fps
の画像に対するDCT処理を行うのに必要な動作周波数
は22.4MHzであり、低消費電力での実現が可能で
ある。
【0079】4.4.他のメディア処理と暗号処理 前節ではRISCベースのDPEのみを実装し、DCT
による評価を行った。ここではDCT以外のメディア処
理と通信に関連する暗号処理について考え、新たなDP
Eの構成について検討する。
【0080】・動き検出(ME) MEは高速に絶対差分和計算を行う必要があるが、現状
のDPEには1命令で8bit絶対差分和4つをSIM
D演算する命令を実装しており、十分に対応が可能であ
る。この命令により1つのDPEで1マクロブロック
(16x16画素)あたり116クロックで絶対差分和
を求めることができる。MEではDPEに処理MBデー
タを格納し、SCEから検出範囲のデータを順番に送
り、位置をずらしながら差分絶対和を計算しその最小値
を求める方法を検討している。
【0081】・可変長復号化(VLD)と符号化(VL
C) VLDはbit単位のストリームに対して最大24bi
tのデータのマッチングとテーブル参照があるため、R
ISCベースのDPEでは効率良く実現することが困難
である。そこでVLD処理を効率化するためには、高速
にテーブル参照を行う専用ハードウェアを実現すること
が効果的である。このハードウェアは専用DPEとして
同じリング上に接続することでSCEによって制御され
る。VLCについても、同じハードウェアで対応でき
る。
【0082】・DES暗号 共通鍵方式であるDES暗号は、64bitデータに部
分シフト演算とSboxと呼ばれる特殊演算を繰り返し
行うことにより暗号化・復号化を行う。現在のDPEで
も十分に実装できるが、より高速な処理を行うために
は、DPEの命令パイプラインの実行ステージにデータ
シフトとSbox演算器用のルックアップテーブルを追
加すればよい。
【0083】・RSA暗号 RSAは素因数分解に基づく公開鍵方法であり、安全性
確保のため1024bit長以上の演算が必要となる。
これをRISCベースで実装すると効率が悪くなるた
め、多倍長演算器を持つ専用DPEが必要である。以上
のように複合メディア処理を行うためには、DPEによ
る処理の他、SCEが制御する専用DPEをリング上に
追加することで対応が可能である。
【0084】以上、組み込み機器において複合メディア
処理を高速に行うために、コプロセッサ方式としてプロ
セッサと連携動作する並列信号処理エンジンを提案し
た。並列信号処理エンジンは演算部を複数持ち、スレッ
ドレベルの並列処理を行う。コストを小さくするために
メモリ操作、分岐制御を、スレッド生成・同期等を行う
制御部に集中し、マルチスレッド支援機構によりオーバ
ヘッドを削減した。さらに離散コサイン変換を用いて評
価を行い、並列処理による高い性能が得られることを示
した。DCT以外のメディア処理や暗号処理に対しても
対応を検討した。
【0085】以上、実施の形態を説明したが、これらは
例示に過ぎず、本発明がいろいろな変形例をもち、それ
らも本発明の範囲にあることは、当業者には理解される
ところである。たとえば、実施の形態では、データ処理
装置はコプロセッサ方式とした。しかし、これはメイン
のプロセッサの回路中に埋め込んで構成してもよいし、
その他いろいろな方式がある。その一例を以下に示す。
【0086】実施の形態1では、データの転送路はリン
グ状に構成されている。しかし、転送路の計上はリング
状に限られない。例えば、複数のレジスタを一列に並べ
た場合、隣り合うレジスタのみを接続するバス形状であ
ってもよい。要は、データ転送路となるデータバスの面
積が全体として小さくなればよい。
【0087】
【発明の効果】本発明により、処理速度、消費電力、チ
ップ単価、チップ面積等においてメリットのあるデータ
処理装置が提供される。さらに、処理速度などの特性を
低下させないことが可能である。
【図面の簡単な説明】
【図1】 従来一般的なプロセッサのレジスタ周辺回路
図である。
【図2】 第1の実施の形態に係るプロセッサのレジス
タ周辺回路図である。
【図3】 第2の実施の形態に係るプロセッサのレジス
タ周辺回路図である。
【図4】 第3の実施の形態に係るプロセッサのレジス
タ周辺回路図である。
【図5】 第4の実施の形態に係るプロセッサのレジス
タ周辺回路図である。
【図6】 第7の実施の形態に係る並行信号処理エンジ
ンの構成図である。
【図7】 SCEとDPEによる処理の分割を示す図で
ある。
【図8】 並列信号処理エンジンの実行モデルを示す図
である。
【図9】 DPEの構成を示す図である。
【図10】 並列信号処理エンジンによるメディア処理
の結果を示す図である。
【図11】 一次元DCT演算を概念的に示す図であ
る。
【図12】 SCEとDPEによるDCT処理の概要を
示す図である。
【図13】 DPEの数と処理ブロック数の関係を示す
図である。
【図14】 第5の実施の形態に係るプロセッサとコプ
ロセッサのレジスタ周辺回路図である。
【図15】 第6の実施の形態に係るプロセッサ、コプ
ロセッサとI/O制御部のレジスタ周辺回路図である。
【符号の説明】
10 メモリ、 12 LSU、 14 第1の演算
器、 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制御部。
フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 13/36 530 G06F 13/36 530C

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも複数の処理機構を有し、同時
    に複数の演算または処理を実行する装置であって、 当該装置内部の複数のレジスタを含むレジスタファイル
    を当該装置の処理機構ごとに分散し、それらを所定の形
    状の転送路で接続して階層構造を設けることにより、処
    理機構ごとに発生するレジスタアクセスを分散させるこ
    とを特徴とするデータ処理装置。
  2. 【請求項2】 前記所定の形状の転送路がリング形状で
    あり、前記転送路においてデータが所定の一方向のみに
    転送されることを特徴とする請求項1に記載のデータ処
    理装置。
  3. 【請求項3】 前記レジスタ間のデータ転送を実現する
    データ転送機構をさらに有し、 前記データ転送機構は、複数のレジスタデータをパケッ
    ト化したパケット転送によりデータ転送を実現すること
    を特徴とする請求項1または2のいずれかに記載のデー
    タ処理装置。
  4. 【請求項4】 前記処理機構ごとにプログラム制御部を
    さらに有し、 前記プログラム制御部により、対応する処理機構は、同
    じく対応するレジスタ上のデータを用いて他の処理機構
    と非同期に処理を実行し、処理機構間で同期が必要な場
    合、レジスタ間のデータ転送により同期をとることを特
    徴とする請求項1から3のいずれかに記載のデータ処理
    装置。
  5. 【請求項5】 前記レジスタが、物理的に多重化されて
    構成され、前記処理機構は、多重化されたレジスタを切
    り替えながら複数の命令列を多重実行することを特徴と
    する請求項1から4のいずれかに記載のデータ処理装
    置。
  6. 【請求項6】 前記レジスタが、仮想的に多重化されて
    構成され、前記処理機構は、多重化されたレジスタを切
    り替えながら複数の命令列を多重実行することを特徴と
    する請求項1から4のいずれかに記載のデータ処理装
    置。
  7. 【請求項7】 前記複数の処理機構と前記複数のレジス
    タを複数のそれぞれ独立した副装置に分散させて実装
    し、それらの副装置を前記転送路によって接続すること
    を特徴とする請求項1から6のいずれかに記載のデータ
    処理装置。
JP2002205381A 2001-07-17 2002-07-15 データ処理装置 Pending JP2003099249A (ja)

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)

* Cited by examiner, † Cited by third party
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 上海寒武紀信息科技有限公司 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法

Cited By (11)

* Cited by examiner, † Cited by third party
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