(57)【要約】      （修正有）【課題】演算・加工手段が変更可能で、所望のデータレートで演算加工処理が容易に実現可能な装置を提供する。【解決手段】  並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備え、レジスタファイルは、読み出し、書き込みがなされたことを示すアサーションビットを有し、命令の実行は、アサーションビットの状態に応じて制御される。レジスタファイルは、複数の領域に分割されており、各々に独立している。【選択図】  図１
2006119974.tif 000002
【特許請求の範囲】
【請求項１】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備えることを特徴とするデータ処理装置。
【請求項２】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備える装置であって、
前記プロセッサエレメントの構成要素であるレジスタファイルは通常データを記憶する手段の他に前記データを記憶する記憶素子に対して読み出し、書き込みがなされたことを記憶するための記憶素子であるアサーションビットを備えることを特徴とするデータ処理装置。
【請求項３】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備える装置であって、
前記ブロセッサエレメントの構成要素であるレジスタファイルは、各々単数、或いは複数のレジスタを有する複数の領域に分割されており、前記複数の領域の一部は、書き込みアドレス・書き込み制御・書き込みデータをプロセッサエレメント外から供給され、前記レジスタファイルを構成要素とするプロセッサエレメントから前記レジスタファイルの前記複数の領域のうちのあらかじめ定められた別の領域へのテータの書き込み動作により前記データが前記プロセッサエレメント外部に出力され、他のプロセッサエレメントが構成要素とする他のレジスタファイルの複数の領域のうち、予め定められた他の領域ヘデータの書き込みが行われ、アドレスデコーダ・データセレクタを備え、レジスタファイル外部からは、一元的なアドレス参照で、レジスタファイルに記憧されたデータヘのアクセスが可能になっていることを特徴とするテータ処理装置。
【請求項４】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立しで有する演算加工手段であるプロセッサエレメントを備える装置であって、
前記構成要素を操作して所望のデータ処理を行う手順をプログラムで規定し、前記プログラムがプロセッサに対する命令を構成要素とし、前記命令はその実行が前記アサーションビットの状態に応じて制御されるか否かを規定されるための予め定められた領域(フィールド)を有する命令セットアーキテクチャを有することを特徴とするデータ処理装置。
【請求項５】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備える装置であって、
前記プロセッサエレメントの構成要案であるレジスタファイルは単数或いは複数のレジスタを有する複数の領域に分割されており、前記複数の領域の各々に独立した、アドレス・制御・データ信号入力、データ信号出力を備えるとともに、前記複数の領域の一部は、書き込みアドレス・書き込み制御・書き込みデータをプロセッサエレメント外から供給され、前記複数の領域の一部の領域は通常データを記憶する手段の他に前記データを記憶する記憶素子に対して読み出し、書き込みがなされたことを記憶するための記憶素子であるアサーションビットを備え、前記アサーションビットに対するアサート入力とネゲート入力を備えていることを轍とするデータ処理装置。
【請求項６】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令テコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備える装置であって、
前記プロセッサエレメントの構成要素であるレジスタファイルは、各々単数或いは複数のレジスタを有する複数の領域に分劃されており、前記複数の領域のうちの一部の領域には通常データを記録する手段に加えて前記テータを記憶する記憶素子に対して読み出し、書き込みがなされたことを記憶する為の記憶素子であるアサーションビットを備え、前記アサーションビットを備えるレジスタヘの読み出しアクセスに対しては前記アクセスされたレジスタのデータに加えてアサーションビットの状態も出力し、前記アサーションビットを有する領域の書き込みアドレス・書き込み制脚・書き込みデータをプロセッサエレメント外から供給され、前記レジスタファイルを構成要素とするプロセッサエレメントから前記レジスタファイルの前記複数の領域のうちのあらかじめ定められた領域へのデータの書き込み動作により前記データが前記プロセッサエレメント外部に出力され、他のプロセッサエレメントが構成要素とする他のレジスタファイルの複数の領域のうち、予め定められた他の領域へデータの書き込み力巧われるとともに、前記他のプロセッサエレメントヘのレジスタのアサーションビットヘのアサート信号を出力することを特徴とするデータ処理装置。
【請求項７】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード`シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備える装置であって、
前記構成要素を操作して所望のデータ処理を行う手順をプロダラムで規定し、前記プログラムがプロセッサに対する命令を構成要素とし、前記命令はその実行が前記アサーションビットの状態に応じて制御されるか否かを規定されるための予め定められた領域(フィールド)を有する命令セットアーキテクチャを有し、前記レジスタファイルを構成要素とするプロセッサエレメントからのレジスタデータの読み出しによって前記レジスタのアサーションビットがネゲートされ、他のプロセッサエレメントが当該プロセッサエレメントの一つの領域にデータを書き込む動作により、当該プロセッサエレメント外部に出力され前記プロセッサエレメントの構成要素であるレジスタファイルの別の一つの領域にデータが書き込まれるとき前記アサーションビットがアサートされ、前記命令フィールドに設定された状態とアサーションピットの状態に応じて、命令の実行が続行或いは待機状態になることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置に関する
【背景技術】
【０００２】
ディジタル映像信号データや、ディジタル音声信号データなど大量のデータを高速に処理ける手段として、従来は、主に組み合わせ論理素子を構成要素とする演算・加工処理手段を有し、演算・加工処理を施したデータを所望のデータレートで得るために、前記データレートでデータを転送するためのクロック周期内に演算・加工手段を分割し、分割した演算・加工手段の間にフリップフロップ等の記憶素子を配して前記フリップフロップをクロックで駆動することにより、分割された演算・加工処理を実現するハードウェアによる演算・加工手段が提供されてきた。
【０００３】
また、大量のデータを高速に処理する手段として、複数の演算・加圧処理手段を有し、該演算処理手段に並列にデータを供給すると同時に並列にデータを受納するレジスタファイルを有し、前記各々の演算・加工処理手段に対し並列に供給される命令に応じてデータを演算・加圧処理する並列プロセッサがある（例えば、特許文献１参照）。
【特許文献１】特開平１０−２８３１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ハードウェアによる演算・加工手段は、演算・加工手段の変更が困離であるという課題がある。また、並列プロセッサではデータ依存関係・リソース競合が原因となり、並列に配したリソースの有効利用が困難で所望のデータレートでの演算、加工処理が困難になる。
【０００５】
また、ハードウェアによる実現を並列プロセッサで実現した場合、演算、加工処理のレイテンシ数(フリップフロプブの段数)をＭ、並列処理プロセッサの並列処理数をＮ、データ依存関係・リソース競合等を考慮した並列処理プロセッサの実行並列処理率をｎとすると、並列処理プロセッサの並列処理命令数はＮ×ｎとなり、ハードウェアによる演算・加工処理手段と等価なデータレートで演算・加工処理結果を生成するためには、Ｍ／（Ｎ×ｎ）倍のクロック周波数でプロセッサを動作させる必要がある。
【０００６】
例えばＭ＝２０，Ｎ＝４，ｎ＝０．５とすると、並列処理プロセッサはハードウェア処理に比較して10倍のクロック周波数で動作させる必要があり、所望のデータレートを得るプロセッサの実現が困難、所望のデータレートを実現するために高い周波数のクロックで駆動する必要があるため、消費電力が大きい等の課題がある。
【０００７】
本発明はこの様な問題を解決し、演算・加工手段が変更可能で、所望のテータレートでの演算加工処理が容易に実現可能な装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
並列処理を行うための処理単位であるプロセッサエレメントの構成要素である、複数のレジスタを有するレジスタファイル、演算加工処理手段、データメモリ、プログラムメモリ、命令デコード・シーケンサを独立して有する演算加工手段であるプロセッサエレメントを備える。
【発明の効果】
【０００９】
プロセッサエレメント問でデータの同期を取りながら独立したプログラムの並列実行が可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面と共に説明する。
【００１１】
図1は上記プロセッサの構成要素であるプロセッサエレメントの構成を示すブロック図、図2は上記プロセッサエレメントの構成要素であるレジスタファイルの構成を示すブロック図である。図3は本発明の実施の形態のプロセッサの全体の構成を示すブロック図である。
【００１２】
≪レジスタファイルの構成≫
図2において、本発明の実施形態によるレジスタファイルは下記により構成される。
【００１３】
mbit語長、nwordのレジスタファイルにおいて、nwordのレジスタは、n1、n2二つの領域に分かれており、それぞれの領域に対する、
ライトアドレス入力WAIl,WAI2
ライトイネイル入力WEI1,WEI2
データ入力        DI1,DI2
を備えている。レジスタファイルのn2word領域には、レジスタに記憶されるデータに加えてレジスタ内容の更新の履歴を表す情報を記憶するための記憶手段（アサーションビット）を有しており・ライトアドレス入力WA2で参照されるアドレスのアサーションビットはアサーション入力AI2によりアサートされ、リードアドレス入力RA2,RB2で参照されるアサーションビットがネゲート入力ＮＡＩ２，ＮＢＩ２によりネゲートされるようになっている。
【００１４】
また、上記レジスタファイルは、
n1領域のレジスタ出力OA1,0Bl
n2領域のレジスタ出力OA2,0B2
n2領域のアサーションピット出力AOA2,AOB2
を備えており、レジスタファイル外部から供給される読み出しアドレスRA,RBを供給されたリードアドレスデコーダRADA，RADB及びデコーダのデコード出力を供給されたセレクタSELA，SELBによってnl,n2領域をリードアドレスRA，RBに対して一拍的にアドレスして該当するアドレスのデータがデータ出力QA,OBから出力されるようになっている。
【００１５】
また、レジスタファイルは、アドレスRA，RB，WAI1で参照されるレジスタのアサーションビットAOA2,AOB2,AOW2を出力すると共にレジスタファイル外部から供給される一元化された書き込みレジスタWAI1，書き込みイネーブル信号WEIlをデコードして、当該レジスタファイルn1領域への書き込みアドレスWAl、書き込みイネーブルWEl、外部へのアサーションビットヘのアサート出力WASO2、レジスタファイル当該レジスタファイル外部へのライトアドレス出力WAO2、当該レジスタファイル外部へのライトアイネーブル出力WEO2を生成するようになっている。
【００１６】
≪レジスタファイルの動作≫
上記構成のレジスタファイルの動作を説明する。
【００１７】
ｎｗｏｒｄのレジスタファイルは、当該レジスタファイルヘのアドレス領域n1,n2,n3によって分割されており、当該レジスタファイルを構成要素とするプロセッサエレメントからは、n1領域のアドレスのレジスタは読み出し、書き込みが有効、n2領域のアドレスのレジスタは読み出しのみが有効、n3領域のアドレスのレジスタは書き込みのみが有効となっており、n2領域のレジスタは当該レジスタファイルを構成要素とするプロセッサエレメント外部から供給されるライトアドレスWAI2、ライトイネーブルWEI2によって、外部から供給されるデータDI2がライトされる。
【００１８】
当該レジスタファイルを構成要素とするプロセッサエレメントから、ｎ３領域への書き込みは、当該プロセッサ外部へのライトアドレスWAO2,ライトイネーブルWEO2を発生し、レジスタファイルに入力されたテータDI1をDO2へ供袷することによりプロセッサ外部へのデータ書き込み動作を行う。
【００１９】
≪プロセッサエレメントの構成≫
図１は本発明の実施形態によるプロセッサエレメントの構成を示す図である。
【００２０】
プロセッサエレメントは、レジスタファイル、前記レジスタファイル間でデータ授受を行うことが可能なデータメモリ、前記レジスタファイル間でデータ授受を行いレジスタファイルのデータに演算等を行いレジスタデータの加工処理を行うデータパス、前記レジスタファイル・テータメモリ間のデータ転送、前記レジスタファイル・データパス間のデータ転送及びその間のデータパスによるデータの加工処理等を処理の単位とする命令を構成要素とする命令系列(プログラム)を記憶するためのプログラムメモリ、前記プログラムメモリに格納された命令を読み出し・前記命令に従い前記レジスタファイルの読み出し、書き込み及び前記データメモリの読み出し・書き込み、前記データパスの処理内容を制御するためのシーケンサを構或要素とする。
【００２１】
≪アサーションビット状態の条件付き実行が可能な命令≫
前記プログラムメモリに記憶され、プログラムの構成要素である命令は、処理の内容、処理に使用する読み出しソースレジスタ、処理結果を書き込むデスティネーションレジスタなどを表す語(命令フィールド)で構成されているが、本実施の形態のプロセッサでは、アサーションピットの状態に応じた実行の制御を指定するためのフィールドを有している。
【００２２】
上記フィールドに条件付き鱒而{指定されているときは、
レジスタ読み出し出し時
アサーションビットがアサート状態：命令を実行し、アサーションビットをネゲートする
アサーションピットがネゲート状態：アサーションビットがアサートされるまで命令の実行をしない。
【００２３】
レジスタ書き込み動作時
アサーションビットがアサート状態：アサーションビットがネゲートされるまで命令を実行しない。
【００２４】
アサーションビットがネゲート状態：命令を実行し、アサーションビットをアサートする。
動作を実行する。
【００２５】
前記フィールドに条件付き実行が指定されていないときは、アサーションビットの状態に関係なく命令を実行するようになっている。
【００２６】
≪プロセッサエレメントの動作の説明≫
シーケンサが出力するプログラムアドレスPADRに参照され、プログラムメモリは当該アドレスに記慮されている命令を出方する。プログラムメモリから出力された命令はシーケンサ命令入力ＩＩＮへ供給されシーケンサによりデコードされる。シーケンサはデコード結果に応じて、レジスタファイル、データパス、データメモリ等の制御を行う。例えば、レジスタファイルに対しては、リードレジスタアドレスRAI，RBIを供給し当該アドレスのレジスタを読み出し、ライトアドレスWAI、ライトイネープルWEIを供給しレジスタファイルに供給されるデータDIlの書き込み等を行う。例えばデータパスに対しては、レジスタファイルから供給されるデータを命令の指示に応じた加工処理を行いレジスタファイルヘ加工後のデータを出力する。例えば、データメモリに関してはメモリアドレスMAI、読み出し・書き込み制御MWE等で読み出し・書き込み制御を行う。
【００２７】
本形態では、ひとつの命令により上記の動作の複数が組み合わされて下記のように実行されるようになっている。
【００２８】
リードアドレスが供給されたレジスタファイルからレジスタに記憶されたデータが出力され、命令のデコード結果に応じた演算・加工処理の指示CMDを供給されたデータパスでレジスタファイルから供給されたデータの演算・加工処理を行い、ライトアドレスが供給されたレジスタファイルの当該ライトアドレスへ演算加工拠理を施したデータを記憶する。
【００２９】
リードアドレスが供給されたレジスタファイルからレジスタに記憶されたデータが出力され、このデータをデータメモリヘ出力し、レジスタから出力されたデータAI,BI・命令に創髄したデータII・また前記2つのデータをもとにして生成されたデータのアドレスMAOで参照されるアドレスに記憶する。
【００３０】
レジスタから出力されたデータ・命令に付随したデータ・また前記2つのデータをもとにして生成されたデータをデータメモリアドレスとして供給し、当該アドレスのデータを読み出して、ライトアドレスが供給されたレジスタファイルの当該アドレスにデータメモリに記憶されたデータをレジスタファイルに記憶する。
【００３１】
≪アサーションビットとプロセッサエレメント動作の説朋≫
本形態のブロセッサエレメントの構成要素であるレジスタファイルはレジスタファイルを構成要素とするプロセサエレメントにはそのアドレスによって、下記のように3つの領域が割り当てられる。
【００３２】
n1:読み出し可能、書き込み可能
n2:読み出しのみ可能、アサーションビット付
n3:書き込みのみ可能、アサーションビット付
それぞれの領域に対するプロセッサエレメントのレジスタのアクセス動作は下記のようになる。
【００３３】
nl:通常の読み出し・書き込み動作を行う。
【００３４】
n2:読み出し動作のみ、対応するアドレスのアサーションビットの記憶内容も出力される。
【００３５】
n3:書き込み動作のみ、書き込みアドレスから生成されたアドレスWAO2・書き込みイネープルWEO2・アサーションフラグWASO2、書き込みされるべきデータDO2がプロセッサエレメント外に出力される。
【００３６】
n2領域への読み出しアクセス、n3領域への書き込みアクセスを伴う命令は、前述のように当該アドレスのアサーションビットの状態と予め定められた命令フィールドの設定状態によって命令発行のシーケンスが異なるようになっている。
【００３７】
≪プロセッサエレメントを複数使用したプロセッサの説明≫
図3は本形態のプロセッサエレメントを複数接続したプロセッサの構成を示す図である。
【００３８】
プロセッサエレメント1(PEl)のデータ出力DO2,アサーションフラグ出力WASO2,ライトアドレス出力WAO2,ライトイネーブル出力WEI2が各々プロセッサエレメント2(PE2)のデータ入力DI2,アサーションフラグ出力AI2,ライトアドレス入力WAI2,ライトイネーブル入力WEI2に接続されている。
【００３９】
プロセッサエレメント2(PE2)のデータ出力DO2,アサーションフラグ出力WASO2,ライトアドレス出力WAO2,ライトイネーブル出力WEI2が各々プロセッサエレメント3(PE3)のデータ入力DI2,アサーションフラグ出力AI2,ライトアドレス入力WAI2,ライトイネーブル入力WEI2に接続されている。
【００４０】
上記の接続を施されたプロセッサエレメントに対して、PE1のレジスタファイルn3領域の書き込みは、PE2のレジスタファイルn2領域のデータを更新することに相当する。
【００４１】
このn3領域への書き込み処理を伴う命令の前述のアサーションピット条件付き実行を設定するフィールドが条件付き実行に設定されているときは、PE2のレシスタファイルのn2領域のアサーションビットが設定されている場合、当該命令は待機状態となる。命令の実行は、n2領域のアサーションビットがネゲートされたときすなわちPE2により当該アドレスのレジスタデータカ続み出されたときとなる。
【００４２】
PE2のレジスタファイルn2領域からの読み出しは、PElによって書き込みされたデータを読み出すことに相当する。このn2領域からの読み出し処理を伴う命令の前述のアサーションビット条件付き実行を設定するフィールドが条件付き実行に設定されているときは、PE2のレジスタファイルn2領或のアサーションビットが設定されていない場合、当該命令は待機状態となる。命令の実行はn2領域のアサーションビットがアサートされたときすなわちPElにより当該アドレスのレジスタデータが書き込まれたときになる。
【００４３】
本図では、プロセッサエレメント3個を接続したプロセッサの構成を示しているが、隣接するプロセッサエレメント間を上記のように接競することによってプロセッサエレメント数に制限なくプロセッサを構成できる。
【００４４】
以上の様に、本形態によれば、プロセッサエレメントの構成要素であるレジスタファイルを複数の領域に分割し、その複数の領域のうち第2の領域を当該プロセッサエレメントは読み出し可能とし、当該領域のレジスタに一意に対応するアサーションビットを配し、第3の領域を当該プロセッサは書き込み可能とし、当該プロセッサエレメントのレジスタファイルの第2の領域を、第2のプロセッサエレメントの第3のレジスタファイル領域に接続し、各々がアサーションビットの状態を参照しながらレジスタヘのデータ書き込み・読み出しを行うことによって、プロセッサエレメント問でデータの同期を取りながら独立したプログラムの並列実行が可能になるという効果が得られる。
【図面の簡単な説明】
【００４５】
【図１】ロセッサエレメントの形態を示すブロック図である。
【図２】プロセッサエレメントの構成要素であるレジスタファイルの形態を表す図である。
【図３】プロセッサエレメントを構成要素とするプロセッサの形態を表す図である。
【図１】
2006119974.tif 000003
【図２】
2006119974.tif 000004
【図３】
2006119974.tif 000005