JP2001312481A - アレイ型プロセッサ - Google Patents

アレイ型プロセッサ

Info

Publication number
JP2001312481A
JP2001312481A JP2001043202A JP2001043202A JP2001312481A JP 2001312481 A JP2001312481 A JP 2001312481A JP 2001043202 A JP2001043202 A JP 2001043202A JP 2001043202 A JP2001043202 A JP 2001043202A JP 2001312481 A JP2001312481 A JP 2001312481A
Authority
JP
Japan
Prior art keywords
state
state transition
array
event
address
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
Application number
JP2001043202A
Other languages
English (en)
Other versions
JP3674515B2 (ja
Inventor
Taro Fujii
太郎 藤井
Masato Motomura
真人 本村
Kouichirou Furuta
浩一朗 古田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2001043202A priority Critical patent/JP3674515B2/ja
Priority to US09/792,394 priority patent/US6738891B2/en
Priority to GB0104550A priority patent/GB2365595B/en
Publication of JP2001312481A publication Critical patent/JP2001312481A/ja
Application granted granted Critical
Publication of JP3674515B2 publication Critical patent/JP3674515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 アレイ型プロセッサは、全ての処理をアレイ
部で行おうとすると、各プロセッサエレメントにおい
て、演算器ベースの処理とランダムロジック回路の処理
という、異なった性質の処理を実現させる必要があり、
大型化や処理性能が限定されてしまう。 【解決手段】 プロセッサをアレイ状に並べたものをプ
ログラマブルなスイッチで接続した構成をとり演算を主
体として行うデータパス部102と、状態遷移手段の実
現を容易とした構成をとり制御を行う状態遷移管理部1
01と、の二つを独立して持つことで、それぞれを処理
目的に応じて特化した構成で実現し、演算と制御との両
者を効率良く実装及び処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムするこ
とで所望の演算処理を実行できるプロセッサに関するも
のであり、特に、プロセッサエレメントを二次元アレイ
状に並べたアレイ型プロセッサに関する。
【0002】
【従来の技術】従来、プログラム可能なデバイスとし
て、様々なマイクロプロセッサが知られており、これら
のマイクロプロセッサは、メモリに記憶されている命令
を順に読み出し、逐次的に処理することを特徴としてい
た。つまり、マイクロプロセッサは、非常にシンプルな
処理を行なう一つの命令を順に処理する形が、組み合わ
されて実行されることで、目的とする一連の処理を実現
していた。
【0003】しかし、このマイクロプロセッサは、一つ
のプロセッサで同時に実行できる命令が数個であるた
め、処理性能を向上させる上で限界があった。具体的に
は、大量のデータに対して同一の処理を行う場合に、一
つ一つのデータに対して逐次処理を繰り返す必要があ
り、処理能力を向上させることができなかった。
【0004】この限界を越える技術として、複数のプロ
セッサエレメントを用いて、命令を並列処理する(同時
に実行する)技術があり、具体的には、プロセッサエレ
メント間の電気的接続方法により様々な技術が存在す
る。その一つとして、Lawrence Snyder
により、論文‘‘IntroducTion To T
he Configurable,HighlyPar
allel CompuTer’’(IEEE COM
PUTER,Jan.1982)において提案された、
複数のプロセッサエレメントをアレイ状に配置し、か
つ、プログラマブルなスイッチを用いて電気的に接続す
ることにより、所望のプロセッサを電気的に接続する技
術がある(適宜、第一従来技術と略称する。)。
【0005】この第一従来技術のマイクロプロセッサ
は、複数のプロセッサを用いて並列処理を行うことで、
一つのプロセッサによる処理よりも処理能力が向上し、
しかも、プロセッサエレメント間をプログラマブルなス
イッチで電気的に接続しているため、目的に応じたプロ
セッサエレメント同士の電気的接続を実現でき、特に、
データ処理分野のアプリケーションにおいて、効率の良
い処理を行うことができた。
【0006】また、このマイクロプロセッサは、異なっ
た性質の処理、すなわち、データパスのような演算器ベ
ースの処理と、制御回路のようなランダムロジック回路
の処理を、各プロセッサエレメントのアレイ部のみで実
現するために、各プロセッサエレメントに汎用処理能力
を付加する必要があった。
【0007】
【発明が解決しようとする課題】ところが、マイクロプ
ロセッサのさらなる小型化・高性能化の要求に応えるた
めには、各プロセッサエレメントの機能をそれぞれを処
理目的に応じて特化する技術を確立する必要があるが、
この技術は極めて困難であり、結果的に、マイクロプロ
セッサの小型化・高性能化の要求に応えることができな
いという問題があった。
【0008】本発明は、上述した従来技術の問題点を解
決するためになされたものであり、プロセッサエレメン
トをアレイ状に並べたものをプログラマブルなスイッチ
で電気的に接続した構成からなる、演算を主体として行
うデータパス部と、状態遷移手段の実現を容易とした構
成からなる、制御を行う状態遷移管理部を独立して具備
し、それぞれを処理目的に応じて特化した構成で実現す
ることで、小型化・高性能化の可能なアレイ型プロセッ
サの提供を目的とする。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明のアレイ型プロセッサは、複数の演算状態間
の遷移ルールが書き込まれた状態遷移テーブルを記憶す
る状態遷移テーブルメモリおよび、この状態遷移テーブ
ルメモリを用いて前記複数の演算状態間の遷移を制御す
ることにより、任意の時点における演算状態を決定する
シーケンサ部を有する状態遷移管理部と、この状態遷移
管理部で決定された演算状態に基づいて演算処理を行な
う複数のプロセッサエレメント、および、前記状態遷移
管理部で決定された演算状態に基づいて前記プロセッサ
エレメント間を接続する複数のプログラマブルスイッチ
エレメントを、二次元アレイ状に電気的に接続して構成
されたデータパス部とを独立に具備し、前記プロセッサ
エレメントは、複数の命令コードを記憶する命令コード
メモリと、この命令コードメモリから読み出された前記
命令コードを解読する命令デコーダと、解読された前記
命令コードに基づいて、前記演算処理を行なう演算部を
有し、かつ、前記プログラマブルスイッチエレメント
は、前記プロセッサエレメントと前記プログラマブルス
イッチエレメント間、及び/又は、前記プログラマブル
スイッチエレメント相互間の接続構成を指示する接続構
成情報を複数セット記憶する接続構成情報メモリを有し
ている構成としてある。
【0010】このように、演算を主体として行うデータ
パス部と、制御を行う状態遷移管理部を分離して具備
し、それぞれを処理目的に応じて特化した構成で実現す
ることで、演算と制御の両者を効率良く実装および処理
することが可能となり、アレイ型プロセッサは、小型化
され、かつ、処理性能が向上する。
【0011】さらに、前記状態遷移管理部からの制御
が、前記状態遷移管理部単独による前記演算状態の遷
移、及び/又は、前記データパス部からのイベントを入
力することによる前記演算状態の遷移、及び/又は、外
部からのイベントを入力することによる前記演算状態の
遷移に基づく構成としてある。
【0012】このようにすることにより、アレイ型プロ
セッサは、きめ細かく柔軟な制御を行うことができるの
で、処理性能が向上する。
【0013】さらに、前記状態遷移管理部と前記データ
パス部とを電気的に接続する演算制御バスを有し、前記
状態遷移管理部が、前記任意の時点における演算状態に
応じて前記演算制御バスを通じて、前記命令コードメモ
リのアドレスを出力し、及び/又は、前記接続構成情報
メモリのアドレスを出力する構成としてある。
【0014】このようにすることにより、アレイ型プロ
セッサは、状態遷移管理部からプロセッサエレメントと
プログラマブルスイッチエレメントに、効率良く制御信
号を出力することができる。
【0015】さらに、一つ以上の前記演算制御バスを有
し、前記状態遷移管理部が、前記演算制御バスに対して
前記アドレスを出力し、かつ、各前記プロセッサエレメ
ント及び/又は各前記プログラマブルスイッチエレメン
トが、それぞれ一つの前記演算制御バスを選択して前記
アドレスを入力する構成としてある。
【0016】このようにすることにより、アレイ型プロ
セッサは、プロセッサエレメントを効率良く作動させる
ことができ、処理性能が向上する。
【0017】また、前記状態遷移管理部が、それぞれの
前記プロセッサエレメントおよびそれぞれの前記プログ
ラマブルスイッチエレメントに対し、独立した前記アド
レスを並列に与える構成としてある。
【0018】このようにすることにより、アレイ型プロ
セッサは、データパス部内のプロセッサエレメントを効
率良く作動させることができるので、処理性能が向上す
る。
【0019】また、前記プロセッサエレメント及び/又
は前記プログラマブルスイッチエレメントをグループ化
し、このグループに対して一つの前記アドレスを与える
構成としてある。
【0020】このようにすることにより、アレイ型プロ
セッサは、データパス部内のグループ化されたプロセッ
サエレメントを効率良く作動させることができるので、
より処理性能が向上する。
【0021】さらに、一部の前記プロセッサエレメント
及び/又は一部の前記プログラマブルスイッチエレメン
トに対してのみ、前記任意の時点における演算状態に応
じた前記アドレスを与え、残りの前記プロセッサエレメ
ントおよび残りの前記プログラマブルスイッチエレメン
トは、前記任意の時点における演算状態の直前に使用し
ていた前記アドレスを継続して使用する構成としてあ
る。
【0022】このようにすることにより、アレイ型プロ
セッサは、継続してプロセッサエレメントに処理を実行
させることができ、また、きめ細かく柔軟な制御を行う
ことができるので、処理性能がより向上する。
【0023】また、前記演算制御バスが、前記プロセッ
サエレメントおよび前記プログラマブルスイッチエレメ
ントに配設され、かつ、前記状態遷移管理部が、前記演
算制御バスに対して前記アドレスを出力し、さらに、前
記プロセッサエレメント及び/又は前記プログラマブル
スイッチエレメントが、隣接する前記演算制御バスのう
ちいずれか一つを選択して前記アドレスを得る構成とし
てある。
【0024】このようにすることにより、アレイ型プロ
セッサは、きめ細かく柔軟な制御を行うことができるの
で、処理性能がより向上する。
【0025】さらに、前記プロセッサエレメントおよび
前記プログラマブルスイッチエレメントに対して、それ
ぞれ独立の前記演算制御バスが配設され、かつ、該独立
の演算制御バスは、それぞれ独立した制御が行われる構
成としてある。
【0026】このようにすることにより、アレイ型プロ
セッサは、構成が単純化され、制御が容易になる。
【0027】さらに、前記プロセッサエレメントが、演
算処理データを記録するレジスタを有する構成としてあ
る。
【0028】このようにすることにより、アレイ型プロ
セッサは、演算部とレジスタ間の配線効率が改善され
て、小型化されるとともに処理性能が向上する。
【0029】さらに、前記プロセッサエレメントが、外
部からの入力データまたは前記演算処理データに対し
て、前記状態遷移管理部からの制御に応じた演算処理を
行ない、この演算処理結果を、前記外部に出力データと
して出力するか、あるいは、前記レジスタに記録する構
成としてある。
【0030】このようにすることにより、アレイ型プロ
セッサは、演算処理を効率良く実行することができ、処
理性能が向上する。
【0031】さらに、前記状態遷移管理部と前記データ
パス部とを電気的に接続するイベント通知バスを有し、
前記データパス部が、前記イベント通知バスを通じて、
演算結果をイベントとして前記状態遷移管理部に通知す
る構成としてある。
【0032】このようにすることにより、アレイ型プロ
セッサは、きめ細かく柔軟な制御を行うことができるの
で、処理性能がより向上する。
【0033】さらに、前記シーケンサ部が、前記状態遷
移テーブルメモリに書き込まれた前記状態遷移ルールに
したがって、前記演算状態から同一のまたは異なる演算
状態への状態遷移を制御し、前記同一のまたは異なる演
算状態を新たな演算状態とする構成としてある。
【0034】このようにすることにより、アレイ型プロ
セッサは、効率良く制御を行うことができるので、処理
性能が向上する。
【0035】さらに、前記状態遷移テーブルが、複数の
演算状態の記述エントリを並べたリスト形式で記録され
ており、前記記述エントリが、状態を識別するある時点
の状態番号、状態遷移先の状態を識別する次の時点の状
態番号及び前記ある時点の状態から次の時点の状態へ遷
移するための状態遷移条件を有する構成としてある。
【0036】このように、アレイ型プロセッサは、状態
遷移テーブルが複数の演算状態の記述エントリを並べた
リスト形式で記録されてあるので、効率が良くかつ容易
な制御を行うことができるので、処理性能が向上する。
【0037】さらに、前記状態遷移管理部は、前記ある
時点の状態番号、あるいは前記次の時点の状態番号に対
応して、前記命令コードアドレスのアドレス及び/又は
前記接続構成情報メモリのアドレスを管理する制御情報
メモリを有し、前記状態遷移テーブルから特定された前
記ある時点の状態番号、あるいは前記次の時点の状態番
号を基に、前記接続情報メモリより前記命令コードメモ
リのアドレス及び/又は前記接続構成情報メモリのアド
レスを特定する構成としてある。
【0038】このように、状態遷移先である、ある時点
の状態番号、あるいは次の時点の状態番号の特定と、命
令コードメモリのアドレス及び/又は接続構成情報メモ
リのアドレスの特定と、各々別のメモリを用いて実行す
ることにより、メモリが搭載された回路面積の縮小と、
状態遷移先を決定するための自由度の縮減のない接続制
御バスのビット幅の縮減と、を実現することが可能とな
る。
【0039】また、前記ある時点の状態番号に対応し
て、前記次の時点の状態番号及び、前記命令コードメモ
リのアドレス及び/又は前記接続構成情報メモリのアド
レスを管理する状態遷移テーブルを有し、前記状態遷移
テーブルは、前記ある時点の状態番号を基に、前記次の
時点の状態番号及び、前記命令コードメモリのアドレス
及び/又は前記接続構成情報メモリのアドレスを特定す
る構成としてある。
【0040】このように、ある時点の状態番号を基に、
次の時点の状態番号だけでなく、ある時点の命令コード
メモリのアドレスも特定することにより、メモリの参照
回数を減らすことが可能となり、より高速な処理を実現
することが可能となる。
【0041】さらに、前記状態遷移テーブルが、前記あ
る時点の状態番号、前記次の時点の状態番号及び前記状
態遷移条件を前記記述エントリとするイベント状態遷移
テーブルと、前記ある時点の状態番号と前記次の時点の
状態番号とを前記記述エントリとするデフォルト状態遷
移テーブルとを有し、前記イベント状態遷移テーブルに
より前記状態遷移条件が満たされる場合の状態遷移を実
現し、かつ、前記デフォルト状態遷移テーブルにより前
記状態遷移条件が満たされない場合の状態遷移を実現す
る構成としてある。
【0042】このようにすることにより、アレイ型プロ
セッサは、状態遷移を効率良く行なうことができ、制御
が容易となる。
【0043】さらに、一つの前記ある時点の状態番号に
は、一つ以上の前記記述エントリが対応し、前記一つ以
上の記述エントリが、各々異なる前記状態遷移条件を有
する構成としてある。
【0044】このようにすることにより、アレイ型プロ
セッサは、状態遷移を実行する際の自由度が拡大され、
結果的に、制御が容易となる。
【0045】また、前記シーケンサ部が、イベントから
イベント識別コードを生成し、さらに、前記状態遷移テ
ーブルメモリを、前記ある時点の状態番号と前記イベン
ト識別コードで検索し、この検索において、前記ある時
点の状態番号が合致し、かつ、前記イベント識別コード
が前記状態遷移条件を満たす前記記述エントリがある場
合には、前記記述エントリにおける前記次の時点の状態
番号に基づいて、前記状態遷移先の状態を決定する構成
としてある。
【0046】このように、アレイ型プロセッサは、シー
ケンサ部が、イベントからイベント識別コードを生成
し、さらに、状態遷移テーブルメモリを検索することに
よっても、状態遷移先を決定することができ、制御方式
の選択の自由度が拡大される。
【0047】さらに、前記イベントが通知されない場合
に、前記シーケンサ部が、前記イベントが発生しなかっ
たことを示すイベント識別コードを生成し、さらに、前
記ある時点の状態番号と前記イベント識別コードの組み
合わせにより前記状態遷移テーブルメモリを検索する構
成としてある。
【0048】このようにすると、イベントが発生しない
場合であっても、アレイ型プロセッサは、シーケンサ部
が状態遷移テーブルメモリを検索することができ、状態
遷移先を決定する。
【0049】また、前記シーケンサ部が、イベントから
イベント識別コードを生成し、さらに、前記イベント状
態遷移テーブルを前記ある時点の状態番号と前記イベン
ト識別コードで検索すると同時に、前記デフォルト状態
遷移テーブルを前記ある時点の状態番号で検索し、この
検索において、前記イベント状態遷移テーブルに、前記
ある時点の状態番号と前記イベント識別コードが一致す
る前記状態記述エントリがある場合には、前記記述エン
トリにおける前記次の時点の状態番号に基づいて、前記
状態遷移先の状態を決定し、あるいは、前記イベント状
態遷移テーブルに、前記ある時点の状態番号と前記イベ
ント識別コードとが一致する前記記述エントリが無かっ
た場合には、前記デフォルト状態遷移テーブルにおける
前記ある時点の状態番号と一致する前記記述エントリの
前記次の時点の状態番号に基づいて、前記状態遷移先の
状態を決定する構成としてある。
【0050】このようにすることにより、アレイ型プロ
セッサは、状態遷移先を決定することができ、制御方式
の選択の自由度が拡大される。
【0051】また、前記状態遷移テーブルメモリからな
る内容アドレスメモリに、前記ある時点の状態番号と前
記イベント識別コードとが入力され、前記内容アドレス
メモリと前記記述エントリとの並列照合により一致した
前記記述エントリにおける前記次の時点の状態番号が出
力される構成としてある。
【0052】このように、アレイ型プロセッサは、前記
状態遷移テーブルメモリを内容アドレスメモリとし、こ
の内容アドレスメモリを照合することにより、次の時点
の状態番号が出力できるので、制御方式の選択の自由度
が拡大される。
【0053】更に、前記次の時点の状態番号の生成の開
始以降、若しくは終了以降に、前記状態遷移先の状態に
対応した前記命令コードメモリのアドレス及び/又は前
記接続構成情報メモリのアドレスの生成が行われる構成
としてある。
【0054】このようにすることにより、アレイ型プロ
セッサは、状態遷移管理部とデータパス部の信号の受け
渡しの自由度が拡大され、きめ細かく柔軟な制御を行う
ことができる。
【0055】また、決定された前記状態遷移先の状態
が、前記状態遷移管理部において前記ある時点の状態と
された時点で、前記ある時点の状態に対応する前記アド
レスの生成を開始する構成としてある。
【0056】このようにすることにより、アレイ型プロ
セッサは、同じ状態遷移を連続して実行することができ
る。
【0057】更に、前記次の時点の状態番号の生成開始
から前記プロセッサエレメントおよび前記プログラマブ
ルスイッチエレメントに前記命令コードメモリのアドレ
ス及び/又は前記接続構成情報メモリのアドレスが届く
までのパスに、レジスタを設け、前記次の時点の状態番
号の生成開始時点と、前記プロセッサエレメントおよび
前記プログラマブルスイッチエレメントが前記アドレス
を受け取る時点とを、別サイクルとする構成としてあ
る。
【0058】このように、アレイ型プロセッサは、アド
レスの生成開始時点と、プロセッサエレメントおよびプ
ログラマブルロジックエレメントがアドレスを受け取る
時点とを、別サイクルとすることにより、動作速度の向
上を図ることが可能となる。これは、“演算動作+イベ
ント伝播+アドレス配布”の動作を1サイクルとせず
に、“演算動作+イベント伝播”と“アドレス配布”と
を別サイクルとすることで、アドレスを発行するタイミ
ングを前倒しにすることが可能となり、クリティカルパ
スであるこの部分の遅延を削除することが可能となるた
めである。
【0059】さらに、前記次の時点の状態番号の生成を
開始する時点から、前記プロセッサエレメントおよび前
記プログラマブルスイッチエレメントに前記命令コード
メモリのアドレス及び/又は前記接続構成情報メモリの
アドレスが届くまでを一つのサイクルとして独立させる
構成としてある。
【0060】このように、アレイ型プロセッサは、アド
レスの生成開始時点と、プロセッサエレメントおよびプ
ログラマブルロジックエレメントがアドレスを受け取る
時点とを、別サイクルとすることにより、動作速度の向
上を図ることが可能となる。これは、レジスタ等を用い
ることで、“演算動作+イベント伝播”と“アドレス配
布”とを別サイクルとすることで、クリティカルパスが
短くなり、高速化(動作)が可能となる。
【0061】また、前記イベント識別コードを前記シー
ケンサ部から前記状態遷移テーブルメモリへ伝搬する接
続線上に第一のレジスタを設け、該第一のレジスタによ
り前記イベント識別コードを前記接続線上において一時
保持することで、前記次の時点の状態番号の生成開始時
点と、前記プロセッサエレメントおよび前記プログラマ
ブルスイッチエレメントが前記命令コードメモリのアド
レス及び/又は前記接続構成情報メモリのアドレスを受
け取る時点とを、別サイクルとする構成としてある。
【0062】このように構成することにより、アレイ型
プロセッサは、命令コードアドレスを生成する時点と、
生成した命令コードアドレスがプロセッサエレメント1
05及びプログラマブルスイッチエレメント106に到
達する時点とを、別サイクルとして動作させることが可
能となり、命令コードアドレスの発行のタイミングを他
の構成に依存させずに、制御の確実性を向上させること
ができる。
【0063】さらに、前記状態遷移テーブルメモリが、
前記ある時点の状態番号を含む全てのエントリにおける
前記次の時点の状態番号を保持する一つ以上の第二のレ
ジスタを有し、前記状態遷移条件が満たされる場合に
は、前記一つ以上の第二のレジスタで保持されている前
記次の時点の状態番号の内、前記状態遷移条件を満たす
いずれかを選択して出力する構成としてある。
【0064】このように構成することにより、アレイ型
プロセッサは、イベント状態遷移テーブルへのある時点
の状態番号の入力の如何に関わらず、データパス部に対
して次の時点の状態番号に対する命令コードアドレスを
発行することが可能となり、制御の確実性を向上させる
ことが可能となる。
【0065】さらに、前記第一のレジスタ及び第二のレ
ジスタ各々に対して、使用するか否かを選択するセレク
タを有し、前記命令コードが、前記第一及び第二のレジ
スタを使用するか否かを制御する制御情報を含み、前記
セレクタが、前記命令コードに基づき前記第一及び第二
のレジスタを使用するか否かを選択する構成としてあ
る。
【0066】このように構成することにより、アレイ型
プロセッサは、上記請求項26に記載のアレイ型プロセ
ッサにおける制御をより状況に応じて実行することが可
能となり、制御の確実性を向上させることが可能とな
る。
【0067】さらに、前記状態遷移管理部が、クロック
信号入力端子を有しており、このクロック信号入力端子
から入力されるクロック信号の立ち上がり及び/又は立
ち下がりにおいて、前記演算状態の遷移動作を同期させ
る構成としてある。
【0068】このように、アレイ型プロセッサは、演算
状態の遷移動作を同期させることにより、精度の良い制
御を行うことができる。
【0069】さらに、前記状態遷移管理部が、現時点で
の演算状態に依存せずに状態遷移させるための強制状態
遷移信号により、強制的に前記演算状態が遷移する構成
としてある。
【0070】このように、アレイ型プロセッサは、演算
状態の遷移を強制的に遷移させることにより、制御が容
易となる。
【0071】また、前記状態遷移テーブルが、入力され
た前記イベント識別コードとの一致を検出する強制状態
遷移テーブルを有し、この強制状態遷移テーブルにおい
て、前記状態遷移テーブルに入力された前記イベント識
別コードと一致する前記記述エントリが存在する場合に
は、前記記述エントリに記述された次の時点の状態番号
を強制的に状態遷移先の状態とする構成としてある。
【0072】このように、アレイ型プロセッサは、演算
状態の遷移を強制的に遷移させることにより、制御が容
易となる。
【0073】さらに、前記状態遷移管理部が、前記デー
タパス部を制御する演算制御情報メモリを有する構成と
してある。
【0074】このように、アレイ型プロセッサは、演算
制御情報メモリを有することにより、データパス部の制
御を効率良く行うことができる。
【0075】
【発明の実施の形態】以下、本発明に係るアレイ型プロ
セッサについて、図面を参照して説明する。先ず、本発
明のアレイ型プロセッサの実施形態について説明する。 「アレイ型プロセッサの実施形態」図1は、本発明のア
レイ型プロセッサの実施形態における概略ブロック図を
示している。
【0076】<アレイ型プロセッサの構成> 〔アレイ型プロセッサの第1の実施例〕図1を説明する
にあたり、この構成をアレイ型プロセッサの第1の実施
例として説明する。同図において、アレイ型プロセッサ
1は、演算制御バス103、イベント通知バス104及
び外部イベントバス107が電気的に接続された状態遷
移管理部101と、この状態遷移管理部101からの制
御に応じた演算処理を行なう、複数のプロセッサエレメ
ント(PE)105および電気的接続を行なう複数のプ
ログラマブルスイッチエレメント(PSE)106を、
二次元アレイ状に電気的に接続して構成されたデータパ
ス部102とを独立に具備した構成としてある。
【0077】状態遷移管理部101は、演算状態の遷移
を管理する、すなわち、基本的に状態遷移手段として動
作する。ここで、好ましくは、状態遷移管理部101か
らの制御は、状態遷移管理部101単独(入力される信
号にかかわらず状態遷移管理部101の独自の判断によ
る、閉じた状態)による演算状態の遷移、及び/又は、
データパス部102からイベント通知バス104を通じ
てイベントを入力することによる演算状態の遷移、及び
/又は、アレイ型プロセッサ1の外部から外部イベント
バス107を通じてイベントを入力することによる演算
状態の遷移に基づいて行われる構成とすると良く、これ
により、アレイ型プロセッサ1は、きめ細かく柔軟な制
御を行うことができるので、処理性能が向上する。
【0078】また、好ましくは、アレイ型プロセッサ1
は、状態遷移管理部101とデータパス部102とを電
気的に接続する演算制御バス103を具備し、状態遷移
管理部101が、演算状態に応じて演算制御バス103
を通じて、命令コードメモリのアドレスを出力し、及び
/又は、後述する接続構成情報メモリのアドレスを出力
する構成とすると良く、これにより、状態遷移管理部1
01からプロセッサエレメント105とプログラマブル
スイッチエレメント106とに、効率良く制御信号を出
力することができる。
【0079】つまり、データパス部102は、状態遷移
管理部101から出力される、命令コードを記憶する命
令コードメモリのアドレス、および、プログラマブルス
イッチエレメント106相互間の接続構成を指示する接
続構成情報メモリのアドレスにより(適宜、これら二つ
のアドレスを命令コードアドレスと略称する。)、プロ
セッサエレメント105の動作およびプログラマブルス
イッチエレメント106の電気的接続関係が決定され
る。
【0080】具体的には、各プロセッサエレメント10
5は、入力した命令コードアドレスにしたがって演算を
行い、また、各プログラマブルスイッチエレメント10
6は、データパス部102の内部および外部との電気的
接続を行う。これにより、データパス部102は、デー
タ入力108または後述するレジスタによりデータパス
部102内部に記録されたデータを処理し、その結果を
データ出力109として出力するか、または、データパ
ス部102の内部に記録することができる。
【0081】また、アレイ型プロセッサ1は、一つの演
算制御バス103に限定するものではなく、二つ以上の
演算制御バス103を具備し、状態遷移管理部101
が、複数の演算制御バス103に対してアドレスを出力
し、かつ、各プロセッサエレメント105及び/又は各
プログラマブルスイッチエレメント106が、それぞれ
一つの演算制御バス103を選択して、命令コードアド
レスを入力する構成としても良く、これにより、プロセ
ッサエレメント105を効率良く作動させることがで
き、処理性能が向上する。
【0082】また、好ましくは、アレイ型プロセッサ1
は、状態遷移管理部101が、プロセッサエレメント1
05、および、プログラマブルスイッチエレメント10
6に対し、それぞれ独立したアドレスを並列に与えると
良く、これにより、データパス部102内のプロセッサ
エレメント105を効率良く作動させることができるの
で、処理性能が向上する。
【0083】このように、アレイ型プロセッサ1の基本
的な動作は、先ず、状態遷移管理部101が、演算状態
の遷移を管理することにより、ある時点の状態(適宜、
現状態と略称する。)において行うべき処理を指示する
命令コードアドレスを、演算制御バス103を通してデ
ータパス部102に出力する。
【0084】続いて、データパス部102は、現状態に
応じた処理を行い、また、データパス部102において
発生したイベントを、イベント通知バス104を通じて
状態遷移管理部101に出力する。そして、状態遷移管
理部101は、このイベントの入力、外部からのイベン
トの入力又は状態遷移管理部101単独の動作により次
の演算状態へと遷移し、この繰り返しにより一連の動作
を行うことができる。
【0085】<状態遷移管理部の構成> 〔状態遷移管理部の第1の実施例〕次に、本発明による
状態遷移管理部101を好適に実施した第1の実施例に
ついて、図面を参照して説明する。図2は、本発明のア
レイ型プロセッサ1の実施形態における状態遷移管理部
101の概略ブロック図を示している。同図において、
状態遷移管理部101は、複数の状態間の遷移ルールが
書き込まれた状態遷移テーブルを記憶する状態遷移テー
ブルメモリ202、この状態遷移テーブルメモリ202
を用いて複数の状態間の遷移を制御することにより、次
の状態を決定するシーケンサ部201及び命令コードア
ドレスをデータパス部102に出力する制御情報メモリ
203とで構成してある。
【0086】シーケンサ部201は、クロック207,
リセット208,イベント209及び次状態番号205
の入力に応じて、イベント識別コード206、及び/又
は強制イベント識別コード210、および現状態番号2
04を出力する。ここで、現状態番号204は、現状態
を識別する番号(本明細書においては、ある時点の状態
番号とも称す。)である。また、次状態とは、現状態か
ら状態遷移する次の時点の状態(適宜、次状態と略称す
る。)をいい、同様に、次状態番号205は、次状態を
識別する番号(本明細書においては、次の時点の状態番
号とも称す。)である。また、「状態」とは、プロセッ
サエレメント105およびプログラマブルスイッチエレ
メント106の状態である。
【0087】状態遷移テーブルメモリ202は、イベン
ト識別コード206、及び/又は強制イベント識別コー
ド210、および現状態番号204を入力して、次状態
番号205を出力する。また、制御情報メモリ203
は、現状態番号204の入力に応じて演算制御バス10
3へ命令コードアドレスを出力する。
【0088】つまり、状態遷移管理部101は、状態遷
移手段の動作として、シーケンサ部201が、現状態番
号204とイベント識別コード206及び/又は強制イ
ベント識別コード210を出力すると、その組み合わせ
に応じた次状態番号205が、状態遷移テーブルメモリ
202からシーケンサ部201に出力される。そして、
この次状態番号205は、シーケンサ部201から、次
の現状態番号204として出力される。ここで、状態遷
移手段とは、複数の演算状態間を遷移させる手段であ
る。
【0089】また、イベント識別コード206は、シー
ケンサ部201への入力であるクロック207,リセッ
ト208及びイベント209の各信号に応じて生成され
る信号である(適宜、各信号における信号の表示を省略
する。)。なお、このイベント209は、イベント通知
バス104および外部イベントバス107と電気的に接
続してある。これにより、現状態番号204による状態
およびイベント識別コード206によるイベントの組み
合わせにより次の状態が決定するという、状態遷移手段
の動作が実現できる。更に、強制イベント識別コード2
10は同様に、シーケンサ部201への入力であるクロ
ック207、リセット208及びイベント209の各信
号に応じて生成される信号であり、他の構成から割り込
みとして入力されるものである。但し、イベント識別コ
ード206と強制イベント識別コード210とを区別せ
ず、同一のものとして構成することも可能である。この
イベント識別コード206及び強制イベント識別コード
210については、以下の図13の説明において触れ
る。
【0090】また、制御情報メモリ203は、命令コー
ドアドレスを記憶していて、シーケンサ部201の出力
である現状態番号204を入力すると、演算制御バス1
03を通して、命令コードアドレスをデータパス部10
2に出力する。そして、上述したように、この命令コー
ドアドレスは、データパス部102の動作を決定する。
このようにして、現在の状態に応じてデータパス部10
2が動作するという仕組みが実現される。
【0091】また、後述において図5を用いて説明する
が、アレイ型プロセッサ1は、制御情報メモリ203を
配設せず、制御情報メモリ203が命令コードアドレス
を出力する構成の替わりに、状態遷移テーブルメモリ2
02が次状態番号205の他に命令コードアドレス(対
応する状態遷移テーブルメモリ202の詳細を説明する
図16における命令コードアドレス1505に対応)を
出力するよう構成することも可能である。但し、この場
合に適用される状態遷移テーブルメモリ202の構成と
しては、後述において、図16を用いて説明する形態が
例に挙げられる。また、図5の構成において、命令コー
ドアドレス1505を出力せず、次状態番号205自体
を命令コードアドレスとして、制御情報バス103を介
してデータパス部102へ出力するよう構成することも
可能である。この場合、データパス部102では、入力
された次状態番号205に基づいて、各プロセッサエレ
メント105の演算状態の遷移、及び/又は、各プログ
ラマブルスイッチエレメント106の接続状態の遷移が
実行される。但し、このように構成した場合、データパ
ス部102における各プロセッサエレメント105及び
各プログラマブルスイッチエレメント106の遷移先と
なる演算状態若しくは接続状態の自由度がある程度限定
されてしまうという欠点が生じる。この欠点を解決する
ものが、上述の次状態番号205と命令コードアドレス
との双方を状態遷移テーブルメモリ202が出力する構
成である。この構成については、後述において図16を
用いて詳細に説明する。
【0092】また、好ましくは、アレイ型プロセッサ1
は、状態遷移管理部101のシーケンサ部201が、ク
ロック信号入力端子を有しており、このクロック信号入
力端子から入力されるクロック信号207の立ち上がり
及び/又は立ち下がりにおいて、演算状態の遷移動作を
同期させる構成とすると良く、これにより、精度の良い
制御を行うことができる。
【0093】また、アレイ型プロセッサ1は、リセット
208の入力により、強制的にシーケンサ部201の動
作を初期化し、現状態番号204を初期値にすることも
できる。またさらに、アレイ型プロセッサ1は、イベン
ト信号209の入力により、強制的に現状態番号204
を変更することもできる。
【0094】また、例えば、後述するデータパス部10
2の第4の実施例のように、プロセッサエレメント10
5及び/又はプログラマブルスイッチエレメント106
をグループ化した場合は、好ましくは、グループに対し
て独立したアドレスを並列に与えると良く、これによ
り、アレイ型プロセッサ1は、データパス部102内の
グループ化されたプロセッサエレメント105を効率良
く作動させることができるので、より処理性能が向上す
る。
【0095】また、アレイ型プロセッサ1は、基本的に
は、プロセッサエレメント105の動作およびプログラ
マブルスイッチエレメント106の電気的接続が、状態
遷移管理部101からの命令コードアドレスにより決定
されることを基本とするが、その決定の一部または全体
が、状態遷移管理部101によらずデータパス部102
内部で生成されたイベント信号により、直接的に決定さ
れることもできる。
【0096】ここで、好ましくは、アレイ型プロセッサ
1は、一部のプロセッサエレメント105及び/又は一
部のプログラマブルスイッチエレメント106に対して
のみ、複数の状態に応じたアドレスを与え、残りのプロ
セッサエレメント105及び/又はプログラマブルスイ
ッチエレメント106は、複数の状態の直前に使用して
いたアドレスを継続して使用すると良く、これにより、
一部は前演算(状態)を継続して動作させ、他は演算
(状態)を変えるという柔軟な制御を効率的に行うこと
ができるので、処理性能がより向上する。この構成につ
いては、後述において実施例を用いて詳細に説明する。
【0097】なお、データパス部102は、イベント通
知バス104を通じて、演算結果をイベントとして状態
遷移管理部101に通知することができるので、アレイ
型プロセッサ1は、柔軟な制御を行うことができる。
【0098】〔状態遷移管理部の第2の実施例〕続い
て、状態遷移管理部101の第2の実施例について、図
面を参照して説明する。図3は、本発明のアレイ型プロ
セッサ1の実施形態における状態遷移管理部101の第
2実施例の概略ブロック図を示している。同図におい
て、状態遷移管理部101は、図2と異なり、次状態番
号205を制御情報メモリ203の入力としており、演
算制御バス103に次状態の命令コードアドレスが出力
される構成としてある。
【0099】このようにすることにより、アレイ型プロ
セッサ1は、シーケンサ部201の状態遷移すなわち次
状態番号205を現状態番号204として有効化する動
作とともに、各プロセッサエレメント105およびプロ
グラマブルスイッチエレメント106が演算制御バス1
02からの命令コードアドレスを有効化すると、状態遷
移と同時に各プロセッサエレメント105およびプログ
ラマブルスイッチエレメント106が命令の実行を開始
できる。
【0100】この命令の実行の開始、すなわち演算動作
の開始について、図面を参照して説明する。図4は、図
2及び図3に示した状態遷移管理部101の命令コード
アドレス発行のタイミングチャート図を示している。
【0101】同図において、現状態番号を命令コードア
ドレス発行に使用(図2)する場合は、シーケンサ部2
01が現状態番号204を発行してから制御情報メモリ
203により命令コードアドレスを出力し、各プロセッ
サエレメント105およびプログラマブルスイッチエレ
メント106に命令コードアドレスが届くまでの、命令
コードアドレス発行のための遅延401が、状態遷移4
02から各プロセッサエレメント105およびプログラ
マブルスイッチエレメント106が命令を実行するまで
に必要となる。
【0102】これに対し、次状態番号204を命令コー
ドアドレス発行に使用(図3)する場合は、状態遷移4
02の前に、命令コードアドレス発行が行われるので、
この遅延を回避することができる。ただし、この場合に
は、命令コードアドレス発行のための遅延401が状態
遷移直前の状態403に含まれることになる。
【0103】なお、この遅延を回避するために、アレイ
型プロセッサ1は、本説明の末尾において構成例を用い
て説明するが、状態遷移テーブルメモリ202による次
状態番号205の出力から、プロセッサエレメント10
5およびプログラマブルスイッチエレメント106にお
ける命令コードアドレスの受け取りまでのパス間に、電
気的に絶縁するレジスタを設け、命令コードアドレス発
行のための遅延401を状態遷移402の直前の状態4
03と直後の状態404に分配する構成や、命令コード
アドレス発行のための遅延401を1サイクルとして分
離し隠蔽する構成とすることもできる。
【0104】〔状態遷移管理部の第3の実施例〕更に、
図3に示す状態遷移管理部101は、図5に示すように
変形して実施することが可能である。これを以下の説明
において状態遷移管理部101の第3の実施例とする。
以下、状態遷移管理部101の第3の実施例について、
図面を参照して説明する。図5は、本発明のアレイ型プ
ロセッサの実施形態における状態遷移管理部の第3の実
施例の概略ブロック図を示している。
【0105】同図において、状態遷移管理部101は、
図3に示す状態遷移管理部の第2の実施例と異なり、制
御情報メモリ203の構成が削除され、状態遷移テーブ
ルメモリ202がそのまま演算制御バス103を介して
データパス部102へ接続される構成としてある。
【0106】これは、状態遷移管理部の第2の実施例で
は、メモリの参照が状態遷移テーブルメモリ202と制
御情報メモリ203とで行われるよう構成されていたも
のを、状態遷移テーブルメモリ202における参照の一
回で済ますよう構成するためである。即ち、上述の状態
遷移管理部の第2の実施例では、シーケンサ部201よ
り出力された現状態番号204を基に、先ず状態遷移テ
ーブルメモリ202において対応する次状態番号205
を特定し、この次状態番号205をシーケンサ部201
と制御情報メモリ203とに並列に入力し、制御情報メ
モリ203において対応する命令コードアドレスを特定
する構成としてあるが、図5に示す本実施例では、状態
遷移テーブルメモリ202において、シーケンサ部20
1より入力された現状態番号204に対応する次状態番
号205と命令コードアドレス(対応する状態遷移テー
ブルメモリ202の詳細を説明する図16における命令
コードアドレス1505に対応)とを特定し、この特定
した次状態番号205をシーケンサ部201へ、また、
命令コードアドレスをデータパス部102へ出力するよ
う構成してある。
【0107】このように構成することで、本実施例によ
るアレイ型プロセッサ1では、メモリを参照するという
処理を一度にまとめることが可能となり、処理速度の向
上を図ることができる。
【0108】このことを模式的に説明するためのタイミ
ングチャート図を図6に示す。図6を参照すると、本実
施例では、上述の状態遷移管理部の第2の実施例と比較
して、命令コードアドレス発行に要する時間が短縮、即
ち、再度(2回目)のメモリ(制御情報メモリ203)
参照による遅延が削減され、結果として、イベント伝搬
からデータパス部におけるプロセッサエレメントの動作
開始までの時間が短くなっている。これは、メモリ参照
回数を一回に減らしたために生じた効果である。
【0109】(データパス部の構成) 〔データパス部の第1の実施例〕次に、データパス部1
02の第1の実施例について、図面を参照して説明す
る。図7は、本発明のアレイ型プロセッサ1の実施形態
におけるデータパス部102の第1の実施例の概念図を
示している。同図において、データパス部102は、プ
ロセッサエレメント105およびプログラマブルスイッ
チエレメント106のアレイによって構成してある。
【0110】ここで、隣接するプロセッサエレメント1
05は、プログラマブルスイッチエレメント106を介
して電気的に接続されている。また、各プロセッサエレ
メント105は、一つ以上のプログラマブルスイッチエ
レメント106を介して、さらに、任意あるいは一定の
制限を受けた上で、他のプロセッサエレメント105あ
るいはデータパス部102の外部と電気的に接続するこ
とができる。
【0111】図8は、本発明のアレイ型プロセッサの実
施形態におけるデータパス部102の第1の実施例の概
略ブロック図を示している。同図において、データパス
部102は、プロセッサエレメント105およびプログ
ラマブルスイッチエレメント106がそれぞれマトリッ
クス状に配設された構成としてある。
【0112】ここで、各プログラマブルスイッチエレメ
ント106は、格子状に配設されたデータバス601及
びイベント通知バス104、並びに、列方向に並列に配
設された演算制御バス103と電気的に接続されてい
る。また、各プログラマブルスイッチエレメント106
は、電気的に接続されているデータバス601の接続を
On/Offさせることができ、また、同様に、イベン
ト通知バス104の接続をOn/Offさせることがで
きる。但し、各プログラマブルスイッチエレメント10
6が全データバス601及び全イベント通知バス104
の接続をOn/Offするわけでなく、状況に応じて制
限が加えられる場合も存在する。これは、各プログラマ
ブルスイッチエレメント106が全てのデータバス60
1及び全てのイベント通知バス104をOn/Offで
きるように構成すると、接続の自由度は増すが、配線が
断片的(プログラマブルスイッチエレメント106毎に
全て接続スイッチが設けられる。)となり、遅延が増加
するためである。更に、全てのプログラマブルスイッチ
エレメント106が全てのデータバス601及び全ての
イベント通知バス104をOn/Offする場合、これ
を制御するための情報量が膨大なものとなるためであ
る。したがって、各位置の全てのバス(データバス60
1及びイベント通知バス104)にスイッチを設けるわ
けでなく、部分的に設けることで、全体における整合を
図る。また、この構成において、データバス601は、
図7におけるプログラマブルスイッチエレメント106
に含まれるものであり、各プログラマブルスイッチエレ
メント106を接続するためのものである。
【0113】プロセッサエレメント105は、それぞれ
対応するプログラマブルスイッチエレメント106から
配設されたデータバス601及びイベント通知バス10
4、並びに、列方向に並列に配設された演算制御バス1
03と電気的に接続されている。これにより、プロセッ
サエレメント105は、プログラマブルスイッチエレメ
ント106を通して、データ入力108およびデータ出
力109を行い、また、同じく、イベントの発行および
イベントの受け取りを行うことができる。ここで、デー
タパス部102は、このイベント通知バス104が、デ
ータバス601の一部として組み込まれる構成とするこ
ともできる。
【0114】また、データパス部102は、演算制御バ
ス103がプロセッサエレメント105とプログラマブ
ルスイッチエレメント106とに配線されており、この
演算制御バス103から各プロセッサエレメント105
およびプログラマブルスイッチエレメント106に命令
コードアドレスが出力され、それぞれの動作が決定され
る。演算制御バス103は、この構成により、省スペー
ス化を実現することができるが、この構成に限定するも
のではない。
【0115】例えば、プロセッサエレメント105およ
びプログラマブルスイッチエレメント106に対して、
格子状に演算制御バス103を配設し、プロセッサエレ
メント105およびプログラマブルスイッチエレメント
106が、隣接する演算制御バス103のうちいずれか
一つを選択してアドレスを得る構成としても良く、これ
により、アレイ型プロセッサ1は、きめ細かく柔軟な制
御を行うことができる。
【0116】また、例えば、プロセッサエレメント10
5およびプログラマブルスイッチエレメント106に対
して、それぞれ独立の演算制御バス103を配設し、か
つ、プロセッサエレメント105およびプログラマブル
スイッチエレメント106に対して独立した制御を行な
う構成としても良く、これにより、制御の自由度が拡大
されると共に、アレイ型プロセッサ1の構成が単純化さ
れ、制御も容易になる。
【0117】〔データパス部の第2の実施例〕続いて、
実施形態におけるデータパス部102の第2の実施例に
ついて、図面を参照して説明する。図9は、本発明のア
レイ型プロセッサ1の実施形態におけるデータパス部1
02の第2の実施例の概略ブロック図を示している。
【0118】同図において、データパス部102は、プ
ロセッサエレメント105およびプログラマブルスイッ
チエレメント106がそれぞれマトリックス状に配設さ
れた構成としており、演算制御バス701がプロセッサ
エレメント105と電気的に接続してあり、また、接続
構成情報を制御する接続制御バス702がプログラマブ
ルスイッチエレメント106と電気的に接続してある。
その他の構造については、図8に示すデータパス部10
2と同様としてある。但し、本図における接続制御バス
702は、プロセッサエレメント105に着目して説明
した図1における演算制御バス103に含まれるもので
あり、各プログラマブルスイッチエレメント106の接
続状態を遷移させるための命令コードアドレスを伝播す
るための媒体である。また、本発明では、説明の明確化
及び簡略化のため、必要に応じて接続制御バス702に
関する説明を省略するが、本来は、全ての構成におい
て、接続制御バス702も演算制御バス103に含まれ
て構成されているものである。以下における本実施例の
説明では、各々を演算制御バス701と接続制御バス7
02とに区別する。
【0119】ここで、演算制御バス701と接続制御バ
ス702とは、それぞれプロセッサエレメント105と
プログラマブルスイッチエレメント106とに命令コー
ドアドレスを送ることができるように、それぞれが独立
のリソースとして用意されている。これによりプロセッ
サエレメント105とプログラマブルスイッチエレメン
ト106との構成を全く独立に制御することが可能とな
り、プロセッサエレメント105と比較して、プログラ
マブルスイッチエレメント106による接続の変更をよ
り多く可能にするなど、データパス部102の構成変更
の自由度を高め、より柔軟性を増すことができる。
【0120】このように演算制御バス701と接続制御
バス702とを分離する場合も、演算制御バス701お
よび接続制御バス702は、状態遷移管理部101から
の制御により、演算制御バス103だけの構成の場合と
同様の構成にて実現することができる。また、本実施例
は、図8においては、データバス601と分離している
イベント通知バス104を、データバス703内に含め
た構成の例でもある。
【0121】〔データパス部の第3の実施例〕続いて、
実施形態におけるデータパス部の第3の実施例につい
て、図面を参照して説明する。図10は、本発明のアレ
イ型プロセッサ1の実施形態におけるデータパス部10
2の第3の実施例の概略ブロック図を示している。
【0122】同図において、データパス部102は、プ
ロセッサエレメント105とプログラマブルスイッチエ
レメント106とが、各プロセッサエレメント105の
周囲を八個のプログラマブルスイッチエレメント106
で取り囲むように、配設した構成としてある。ここで、
データパス部102は、隣接するプログラマブルスイッ
チエレメント106同士、および隣接するプロブラマブ
ルスイッチエレメント106とプロセッサエレメント1
05とがデータバス801により電気的に接続されてお
り、また、プログラマブルスイッチエレメント106お
よびプロセッサエレメント105に、演算制御バス10
3が配線してある。ここで、図10には示していない
が、各プロセッサエレメント105を取り囲むように四
角に構成された8個のプログラマブルスイッチエレメン
ト106のうち、この四角の対角に存在するプログラマ
ブルスイッチエレメント106に関しても、この四角の
中央に位置するプロセッサエレメント105とデータバ
ス801を介して接続するよう構成することも可能であ
る。
【0123】プロセッサエレメント105同士のデータ
のやり取りは、プログラマブルスイッチエレメント10
6を介す形で行われる。つまり、一つのプロセッサエレ
メント105が複数のスイッチエレメント106に接続
されていることにより、プロセッサエレメント105の
データ入出力接続の自由度が高められている。
【0124】〔データパス部の第4の実施例〕続いて、
実施形態におけるデータパス部102の第4の実施例に
ついて、図面を参照して説明する。図11は、本発明の
アレイ型プロセッサ1の実施形態におけるデータパス部
102の第4の実施例の概略ブロック図を示している。
【0125】同図において、データパス部102は、隣
接するプロセッサエレメント105間を直接電気的に接
続する、複数(一例として、16個)のプロセッサエレ
メント105からなるグループ902が、複数(20
個)のプログラマブルスイッチエレメント106で囲ま
れるように、配設された構成としてある。つまり、この
グループ902間は、プログラマブルスイッチエレメン
ト106を介して電気的に接続される。
【0126】これにより、同一グループ902内の隣接
するプロセッサエレメント105間では、プログラマブ
ルスイッチエレメント106を通さずに接続することが
可能となり、遅延等の性能面や回路量の削減による面積
の縮小化といった効果を得ることができる。即ち、配線
において、プロセッサエレメント105をプログラマブ
ルスイッチエレメント106で挟むように構成した場
合、隣接するプロセッサエレメント105を接続する場
合でも、その間に必ずプログラマブルスイッチエレメン
ト106が設けられることとなり、遅延や面積でのデメ
リットが生じる。また、実際の利用する場合を考慮する
と、各プロセッサエレメント105間に必ずしもプログ
ラマブルスイッチエレメント106が必要であるとは限
らない。これは、例えば“A+B+C”を演算する場
合、先ず“A”と“B”とが初段のプロセッサエレメン
ト105に入力され、次に、この初段のプロセッサエレ
メント105における演算結果“A+B”と“C”と
が、次段のプロセッサエレメント105に入力されるこ
とで実現することができる。これは、隣接するプロセッ
サエレメント105間を接続するためのプログラマブル
スイッチエレメント106が必ずしも必要な訳ではない
ことを示している。従って、本実施例では、ある程度の
サイズ(個数)のプロセッサエレメント105のみのア
レイを作成し、このアレイ同士をプログラマブルスイッ
チエレメント106により接続する。但し、本実施例に
おける構成においても、各プロセッサエレメント105
同士を接続するためのスイッチエレメントは必要であ
る。このスイッチエレメントは、隣接するプロセッサエ
レメント105同士を接続する機能のみを有するもので
あればよいため、本実施例では、詳細な説明を省略す
る。また、本実施例における図面では、このスイッチエ
レメントが、各プロセッサエレメント105に予め組み
込まれているものとする。
【0127】(シーケンサ部の構成) 〔シーケンサ部の第1の実施例〕次に、実施形態(図
2)におけるシーケンサ部201の第1の実施例につい
て、図面を参照して説明する。図12は、本発明のアレ
イ型プロセッサ1の実施形態におけるシーケンサ部20
1の第1の実施例の概略ブロック図を示している。
【0128】同図において、シーケンサ部201は、ク
ロック207,リセット208及びイベント209の各
信号を入力し、イベント識別コード206及び/又は強
制イベント識別コード210を出力する符号化器100
1と、クロック207,リセット208及び次状態番号
205の各信号入力し、現状態番号204を出力するレ
ジスタ1002とで構成してある。
【0129】ここで、入力された次状態番号205は、
レジスタ1002に入力され、現状態番号204として
出力される。この際、新たな現状態番号204を出力す
るタイミングは、クロック207を用いて同期化するこ
ともできる。また、リセット208の入力により、現状
態番号204を初期化することもできる。
【0130】符号化器1001は、入力されたイベント
209を符号化し、イベント識別コード206及び/又
は強制イベント識別コード210として出力する。ここ
で、イベント209をそのままイベント識別コード20
6及び/又は強制イベント識別コード210とすること
も可能であるし、符号化したものをイベント識別コード
206及び/又は強制イベント識別コード210とする
ことも可能である。後者の場合、符号化により、イベン
ト識別コード206及び/又は強制イベント識別コード
210の伝送に必要とするビット幅を小さくすることが
できる。但し、以下に図15を用いて説明するが、イベ
ント209を符号化せず、イベント識別コード206
を、このイベント識別コード206における各ビットが
イベント状態遷移テーブル(図15ではイベント状態遷
移テーブル1111)の1つ以上の出力に1対1で対応
する1hot信号として構成する方が、信号を容易に取
り扱うことが可能となり、さらに、同一サイクル内で次
状態番号が変化するという問題(ハザード)の発生を防
ぎ易いという利点を発揮することができる。また、リセ
ット208をイベント209の一つとして扱うこともで
きる。
【0131】また、イベント識別コード206の発生タ
イミングは、クロック207を用いて同期化することも
できるし、入力遷移時に出力が直ちに変化する非同期式
とすることもできる。
【0132】(状態遷移テーブルメモリの構成) 〔状態遷移テーブルメモリの第1の実施例〕次に、実施
形態(図2)における状態遷移テーブルメモリ202の
第1の実施例について、図面を参照して説明する。図1
3は、本発明のアレイ型プロセッサ1の実施形態におけ
る状態遷移テーブルメモリ202の第1の実施例の概略
ブロック図を示している。
【0133】状態遷移テーブルメモリ202は、イベン
ト状態遷移テーブル1101、デフォルト状態遷移テー
ブル1102、強制状態遷移テーブル1103及びセレ
クタ1108、1110とからなっており、状態遷移テ
ーブルメモリ202に書き込まれた状態遷移ルールにし
たがって、ある演算状態から同一または異なる演算状態
へ状態遷移を制御し、同一または異なる演算状態を新た
な演算状態とすることができる。
【0134】ここで、イベント状態遷移テーブル110
1は、現状態番号204とイベント識別コード206と
を入力し、両者の組み合わせに一致するエントリが存在
した場合にのみ、それに応じた次状態番号1106が出
力される。また、一致したエントリが存在したかどうか
を示す、イベント一致信号1104も同時に出力され
る。一方、デフォルト状態遷移テーブル1102は、現
状態番号204を入力し、この入力に応じた次状態番号
1107を出力する。
【0135】そして、この二つのテーブル1101、1
102において、現状態番号204とイベント識別コー
ド206との組み合わせに一致するエントリが、イベン
ト状態遷移テーブル1101に存在する場合には、そこ
で指定された次状態番号1106がセレクタ1108で
選択され次状態番号205として出力される。また、上
述の一致するエントリが、イベント状態遷移テーブル1
101に存在しない場合には、デフォルト状態遷移テー
ブル1102で示された、現状態番号204に応じた次
状態番号1107が、セレクタ1108で選択され次状
態番号205として出力される。このセレクタ1108
における選択は、イベント一致信号1104を用いるこ
とで実現できる。
【0136】強制状態遷移テーブル1103は、強制イ
ベント識別コード210が強制状態遷移テーブル110
3のエントリと一致した場合に、次状態番号1109を
決定する。そして、この強制状態遷移テーブル1103
において一致した場合には、セレクタ1110は、先に
示した次状態番号1106、1107より優先的に、次
状態番号1109を次状態番号205として出力するこ
とができる。具体的には、このような出力は、強制状態
遷移テーブル1103で一致が起こったことを示す強制
イベント一致信号1105と、セレクタ1110を用い
て実現することができる。
【0137】このように、アレイ型プロセッサ1は、状
態遷移管理部101が、強制状態遷移信号である強制イ
ベント一致信号1105により、強制的に演算状態が遷
移する構成とすると良く、これにより、制御が容易とな
る。但し、上記のような動作を実現するにあたり、上記
におけるイベント状態遷移テーブル1101を、内容ア
ドレスメモリ(CAM:Content Addressable Memory)
により構成するとよい。また、これは、図17に示す状
態遷移テーブルメモリ202における通常状態遷移テー
ブル1301でも同様である。但し、内容アドレスメモ
リとは、メモリをアドレスではなく内容(アドレスと異
なり入力値の群が不連続)で引くメモリのことである。
【0138】また、状態遷移テーブルメモリ202は、
例えば、リセット208により強制的に次状態番号20
5を初期化することも可能である。この構成により、状
態遷移手段における状態間の遷移ルールをイベント状態
遷移テーブル1101及び/又はデフォルト状態遷移テ
ーブル1102及び/又は強制状態遷移テーブル110
3に書き込むことができる。つまり、デフォルト状態遷
移テーブル1102を用いてデフォルトの状態遷移先を
指定する。ここで、条件分岐が存在する(デフォルト以
外の状態遷移先が存在する)場合には、それらを全てイ
ベント状態遷移テーブル1101に書き込む。また、割
り込みのように、状態に関わらず必ず強制的に状態を遷
移させたい場合には、次状態番号1109を強制状態遷
移テーブル1103に書き込む。このように各テーブル
に、状態遷移条件に応じて複数持つ遷移可能な次状態の
次状態番号を書き込むことにより、この書き込まれた次
状態番号の中から一つを次状態として選択することが可
能となる。ここで、状態遷移条件の判断はイベント識別
コード206及び強制イベント識別コード210の判別
により実現する。但し、本実施例及び、その他の各実施
例において、イベント識別コード及び強制イベント識別
コード(各々の符号は各実施例におけるもの)を区別す
ることなく、1つのコードとして構成することも可能で
ある。
【0139】また、イベント状態遷移テーブル1101
のテーブルサイズが許す範囲内において、一状態が記録
する遷移可能な次状態の数に制限は無く、状態遷移に要
する時間も遷移可能な次状態の数に依らず一定とするこ
とができる。即ち、全状態における条件分岐数の総和が
イベント状態遷移テーブル1101のサイズ(エントリ
数)に収まる数であれば問題は生じない。これは、一つ
の状態が持つ遷移可能な次状態数のばらつきに依って、
イベント状態遷移テーブル1101に無駄が生じること
が無いことを意味する。
【0140】続いて、実施形態における状態遷移テーブ
ルメモリ202に書き込まれた状態遷移例について、図
13及び図14を参照して説明する。図14は、本発明
のアレイ型プロセッサ1の実施形態における状態遷移テ
ーブルメモリ202に書き込まれた状態遷移例の図を示
している。先ず、同図において、現状態番号204がS
T−01の場合、次状態番号205は無条件にST−0
2となる。この動作を状態遷移テーブルメモリ202に
記述するには、デフォルト状態遷移テーブル1102
に、‘‘現状態番号204をST−01、次状態番号1
107をST−02’’としたエントリを作成すること
で実現される。
【0141】続いて、動作時は、現状態番号204がS
T−01であるとイベント状態遷移テーブル1101に
一致するエントリが存在しないためイベント一致信号1
104は出力されず、デフォルト状態遷移テーブル11
02において現状態番号204がST−01であるエン
トリが必ず有効となり、次状態番号1107がST−0
2となり、次状態番号205として出力される。
【0142】次に現状態番号204がST−02の場合
は、条件により次状態番号1106がST−02,ST
−03,ST−05,ST−11の四つのいずれかとな
る(図13を参照願います。)。イベントEV−10が
入力された場合は状態ST−03へ遷移するため、イベ
ント状態遷移テーブル1101に、‘‘現状態番号20
4をST−02、イベント識別コード206をEV−1
0、次状態番号1106をST−03’’としたエント
リを作成する。
【0143】同様に、イベントEV−18が入力された
場合は状態ST−05へ遷移するため、‘‘現状態番号
204をST−02、イベント識別コード206をEV
−18、次状態番号1106をST−05’’としたエ
ントリ、イベントEV−21が入力された場合は状態S
T−11へ遷移するため、‘‘現状態番号204をST
−02、イベント識別コード206をEV−21、次状
態番号1106をST−11’’としたエントリをそれ
ぞれイベント状態遷移テーブル1101に作成する。
【0144】それ以外の場合は次状態番号205がST
−02であるので、デフォルト状態遷移テーブル110
2に、‘‘現状態番号204をST−02、次状態番号
1107をST−02’’としたエントリを作成する。
【0145】上述した記述により、例えば、現状態番号
204がST−02である場合に、イベント識別コード
206にEV−21が入力されると、イベント状態遷移
テーブル1101において、この二つの組み合わせに一
致するエントリが有効となり、ST−11が次状態番号
205として出力される。その際、イベント状態遷移テ
ーブル1101で一致が発生しているのでイベント一致
信号1104が出力され、デフォルト状態遷移テーブル
1102から出力される現状態番号204のST−02
に対応した次状態番号1107のST−02は破棄され
る。
【0146】次に、現状態番号204がST−02で、
イベント識別コード206にEV−10、EV−18、
EV−21のいずれも入力されなかった場合、イベント
一致信号1104が出力されず、デフォルト状態遷移テ
ーブル1102から、現状態番号ST−02に対応した
ST−02が次状態番号205として出力される。
【0147】さらに、上記のいずれの場合においても、
強制イベント識別コード210にIRQ−01が入力さ
れた場合、強制状態遷移テーブル1103においてIR
Q−01に対応したST−01が次状態番号205とし
て出力される(図13を参照願います。)。この場合
は、強制イベント一致信号1105が出力されるため、
イベント状態遷移テーブル1101の出力およびデフォ
ルト状態遷移テーブル1102の出力は破棄され、強制
状態遷移テーブル1103からの次状態番号1109の
ST−01が有効となる。
【0148】また、図13に示す状態遷移テーブルメモ
リ202は、以下に示すように応用して実施することが
可能である。以下に、この実施例の幾つかを図面を用い
て詳細に説明する。
【0149】〔状態遷移テーブルメモリの第2の実施
例〕図15は、図13に示す本発明の状態遷移テーブル
メモリ202を変形した第2の実施例のブロック図を示
している。
【0150】図15を参照すると、本実施例による状態
遷移テーブルメモリ202は、イベント状態遷移テーブ
ル1111、デフォルト状態遷移テーブル1112、強
制状態遷移テーブル1113、イベント発生判定回路1
211,1212及びセレクタ1118,1119,1
120を有して構成されており、図13に示した状態遷
移テーブルメモリ202と同様に、書き込まれた状態遷
移ルールに従って、ある演算状態から同一のまたは異な
る演算状態への状態遷移を制御し、同一のまたは異なる
演算状態を新たな演算状態とすることを可能としてい
る。
【0151】上記構成において、本実施例によるイベン
ト状態遷移テーブル1111は、入力された現状態番号
204に対して一つ以上のエントリを次状態番号112
6として出力する(図15では、4つのエントリを次状
態番号1126として出力するよう構成されている)。
この構成において、イベント状態遷移テーブル1111
から出力される次状態番号1126の数は、各現状態番
号204に対応する次状態番号1126において、この
種類数が最も多い場合でも対応可能な数となるように構
成される。即ち、現状態番号204がST−02である
場合に対して遷移先となる次状態番号205がST−0
3,ST−05,ST−11,ST−13の計4種類存
在する場合、この出力数は4つ、あるいはこれ以上とな
る。また、例えばイベント状態遷移テーブル1111が
入力された現状態番号204に対して4つのエントリを
次状態番号1126として出力するよう構成した場合、
イベント識別コード1206は、この4つの次状態番号
1126の中から何れか1つの次状態番号1126をセ
レクタ1118に選択させる。このための構成として
は、例えば、イベント識別コード1206を4ビットで
構成し、各々のビットとイベント状態遷移テーブル11
11の出力とを対応させ、セレクタ1118において
“1”が格納されたビットに対応する次状態番号112
6を選択して出力するよう構成することで実現すること
が可能である。但し、このように構成する場合、イベン
ト状態遷移テーブル1111の出力数とイベント識別コ
ード1206のビット数とを同数として構成する必要が
ある。
【0152】また、上記では、イベント状態遷移テーブ
ル1111の出力数が4である場合、イベント識別コー
ド1206を4ビットで構成したが、これを(2n −
1)≦4を満たすnビットにより構成することも可能で
ある(図15に示す例ではnは3となる)。ここで、例
えばイベント識別コード1206を3ビットで構成した
場合、イベント識別コード1206は、0から7の8種
類で表現されるため、イベント状態遷移テーブル111
1の出力を、この値に対応させることで、セレクタ11
18において出力させる次状態番号1126を選択させ
ることが可能となる。以下に、図15を例に揚げて具体
的に説明する。図15を参照すると、イベント識別コー
ド1206を3ビットにより“0”から“7”で構成
し、イベント状態遷移テーブル1111の出力を同図に
おける上から順に“1”,“2”,“3”,“4”と割
り当てることで、セレクタ1119へ出力する次状態番
号1126を選択させる。但し、この場合、イベント識
別コード1206が“0”若しくは“5”〜“7”であ
った場合は、セレクタ1119へデフォルト状態遷移テ
ーブル1112から入力された次状態番号1127を出
力するようセレクタ1118を制御する。
【0153】また、上記の各イベント識別コード120
6の構成双方を両立させて構成することも可能である。
このように構成する場合、図15におけるセレクタ11
18に図28に示すようなメモリを接続させ、このメモ
リからの制御に従い、イベント識別コード1206をデ
コードするか否かを選択させるよう構成することで実現
することが可能である。但し、この場合でも、イベント
識別コード1206のビット数は、イベント状態遷移テ
ーブル1111からセレクタ1118へ出力される次状
態番号候補の数に限定する必要がある。
【0154】このようにセレクタ1118で選択して出
力された次状態番号1126は、セレクタ1119に入
力される。また、このセレクタ1119には、デフォル
ト状態遷移テーブル1112から出力された次状態番号
1127も入力されるよう構成される。ここで、デフォ
ルト状態遷移テーブル1112は、入力された現状態番
号204に一意に対応する次状態番号1127を出力す
るよう構成される。従って、セレクタ1119は、イベ
ント状態遷移テーブル1111及びデフォルト状態遷移
テーブル1112より入力された次状態番号1126,
1127の中から何れか一方を選択して出力するよう動
作する。
【0155】この動作において、何れの次状態番号(1
126,1127)を出力するかを判断する要素とし
て、イベント発生判定回路1211から入力されたイベ
ント一致信号1114を用いる。このイベント一致信号
1114とは、例えば1ビットで構成された信号であ
り、イベント発生判定回路1211において入力された
イベント識別コード1206に対応するイベントが存在
する場合に“1”として出力され、存在しない場合に
“0”として出力される信号である。また、イベント識
別コード1206にエンコードされているもの(図15
では3ビットの信号)を用いる場合、イベント発生判定
回路1211は、イベント識別コード1206が例えば
“0”若しくは“5”〜“7”のいずれかの信号であっ
た場合、イベント一致信号1114として“0”を出力
し、“1”〜“4”のいずれかであった場合、“1”を
出力する。但し、この構成において、イベント識別コー
ド1206として、“5”〜“7”を発生させないよう
構成することも可能である。この場合、イベント識別コ
ード1206が“0”のときにイベント無しを判定し、
また、イベント識別コード1206が“1”〜“4”の
ときにセレクタ1118で次状態番号1126を選択す
るよう構成する。これにより、イベント発生判定回路1
211が“5”〜“7”に対する判定を行う必要がなく
なる。これに対して、イベント識別コード1206にエ
ンコードされていないもの(図15では、4ビットの信
号)を用いる場合、イベント発生判定回路1211は、
イベント識別コード1206を構成する各ビットの何れ
かに“1”が格納されていた場合、イベント一致信号1
114として“1”を出力するように構成され、これ以
外であれば“0”を出力するよう構成される。但し、例
えば、イベント無しを示すためのイベント識別コード1
206として、全てのビットが“0”である信号(“0
000”)を用いる場合、イベント発生判定回路121
1を、4つの入力をもつ論理和回路(OR回路)で構成
することが可能である。これにより、イベント識別コー
ド1206のいずれかに“1”が格納されていた場合、
イベント発生判定回路1211は、“1”を出力する
が、何れのビットにも“0”が格納されていた場合、
“0”を出力するよう構成することが可能である。
【0156】従って、セレクタ1119は、イベント一
致信号1114が“1”である場合、イベント識別コー
ド1206に対応するイベントが存在すると判断して、
イベント状態遷移テーブル1111から入力された次状
態番号1126を選択して出力し、また、イベント一致
信号1114が“0”である場合、イベント識別コード
1206に対応するイベントが存在しないと判断して、
デフォルト状態遷移テーブル1112から入力された次
状態番号1127を選択して出力する。但し、デフォル
ト状態遷移テーブル1112の構成としては、上記図1
3で示した構成と同一のもので実施することが可能であ
る。
【0157】更に、セレクタ1119から出力された次
状態番号(1126若しくは1127のいずれか)は、
セレクタ1120に入力され、強制状態遷移テーブル1
113から出力された次状態番号1128との何れか一
方が出力されるよう構成されている。ここで、強制状態
遷移テーブル1113は、他の構成から割り込みとして
入力された強制イベント識別コード1216に対応する
エントリを次状態番号1128としてセレクタ1120
へ出力する。
【0158】また、セレクタ1120には、イベント発
生判定回路1212から出力された強制イベント一致信
号1115も入力されるよう構成されている。このイベ
ント発生判定回路1212は、上記のイベント発生判定
回路1211と同様な構成であり、入力されたイベント
識別コード1216に対応するイベントが存在する場合
に強制イベント一致信号1115を“1”として出力
し、存在しない場合に“0”として出力する。また、強
制イベント識別コード1216にエンコードされている
もの(例えば2ビットの信号)を用いる場合、イベント
発生判定回路1212は、強制イベント識別コード12
16が“0”のときに、強制イベント一致信号1115
を“0”として出力し、それ以外(例えば2ビットで構
成した場合、“1”〜“3”)の場合、“1”として出
力する。また、強制イベント識別コード1216にエン
コードされていないもの(例えば4ビットの信号)を用
いるよう構成することも可能である。このように、エン
コードされていない信号を使用した場合、複数の強制イ
ベントが発生した場合も適用することが可能となる。つ
まり、同時に2つ以上のイベントの発生を表現すること
が可能である。また、このように2つのイベントが同時
に発生した場合、以下に示すような幾通りかの方法で、
処理を実行することが可能となる。これは、発生した2
つ以上のイベントに対していずれかを優先させる方法
と、発生したイベントの組み合わせに応じた処理を実行
する方法と、等である。ここで、例えば2ビット幅の強
制イベント識別コード1216を判別できる回路の場
合、2ビットで表現される4値全てを判別できるような
強制状態遷移テーブル1113を作成する。即ち、強制
状態遷移テーブル1113において、強制イベント識別
コード1216が“0”であった場合、“なにも発生し
ない”を判定し、“1”であった場合、“イベントaが
発生した”を判定し、“2”であった場合、“イベント
bが発生した”を判定し、“3”であった場合、“イベ
ントa及びbが発生した”を判定するよう構成する。こ
こで、“1”,“2”,“3”各々に対応した次状態番
号1128は、強制状態遷移テーブル1113のエント
リとして書き込まれる。これにより、強制イベント識別
コード1216による割り込みに対応することが可能と
なる。このような構成のもと、前者として説明した、い
ずれかのイベントを優先させる方法を適用する場合に
は、イベントa若しくはイベントbのいずれか一方に対
応した次状態番号1128を出力する。また、後者とし
て説明した組み合わせに応じた処理を実行する方法を適
用する場合には、イベントa、イベントbのいずれにも
対応しない次状態番号1128を出力する。これは、強
制イベント識別コード1216が“3”の場合に応じた
エントリを新たに強制状態遷移テーブル1113に書き
込むことで実現される。これにより、両イベントa及び
bが発生したときに独自の処理を実行することが可能と
なる。また、上記した方法の他に、2ビットで構成した
強制イベント識別コード1216自体に優先順位を設
け、この優先順位に基づき次状態番号1128を決定す
る方法も可能である。例えばイベントaがイベントbよ
り優先して判断されるよう構成した場合では、強制イベ
ント識別コード1216が“0”であれば“なにも発生
しない”が判定され、“1”であれば“イベントaが発
生した”が判定され、“2”であれば“イベントbが発
生した”が判定される。但し、イベントa及びbが発生
した場合には、イベントaが優先されるため、イベント
aが発生したとハードウェア的に判断されることとな
る。即ち、この方法では、2つ以上のイベントが発生し
た場合に独自の処理を実行することができなくなる。こ
のように強制イベント一致信号1115として“1”が
出力されると、セレクタ1120は強制状態遷移テーブ
ル1113から入力された次状態番号1128を選択
し、次状態番号205として出力するよう動作する。ま
た、イベント発生判定回路1212において入力された
強制イベント識別コード1216に対応する強制イベン
トが存在しない場合には、即ち、強制イベント一致信号
1115が例えば“0”として出力された場合には、セ
レクタ1120はセレクタ1119から入力された次状
態番号(1126若しくは1127のいずれか)を選択
し、次状態番号205として出力するよう動作する。
【0159】また、上記構成において、イベント状態遷
移テーブル1111からセレクタ1118へ出力される
次状態番号候補の数は、状態遷移先となる次状態番号1
126の数の最多種類(以下、これを最大分岐数とい
う)として構成されるとしているが、最大分岐数が多岐
にわたる場合、ハードウェアにかけるオーバヘッド(所
謂、面積及び遅延の増加)が大きくなるため、ある程
度、次状態番号候補の数、及び状態遷移先となる次状態
番号1126の種類を制限する必要が存在する。この問
題を生じない構成が、図13に示す構成である。従っ
て、実施にあたっては、用途に応じて使い分けることが
望ましい。但し、本実施例において、状態遷移先の次状
態番号1126を、次状態番号候補の数以上とすること
も可能である。これは、ハードウェアにおける次状態番
号1126の出力の種類の制限を、ソフトウェアにおい
て仮想的に回避する方法である。この方法では、例え
ば、イベント識別コード1206による条件分岐をソフ
トウェアにより二段以上とすることで実現される。これ
は、図15に示す構成において、ソフトウェア的に二段
階以上に条件分岐を行うことで実現される。例えば、現
状態番号204が“01”の状態に対し、遷移先となる
次状態番号205の候補が“10”〜“17”の計8種
類存在する場合、先ず、第1段階目の条件分岐として、
“01”の現状態から“02”若しくは“03”の次状
態に遷移し、次に、例えば“02”の現状態から“1
0”〜“13”の次状態、若しくは“03”の現状態か
ら“14”〜“17”の次状態へ条件分岐する。これに
より、イベント状態遷移テーブル1111の出力が4つ
しか存在しない場合でも、それ以上の8分岐が可能とな
る。但し、このように構成した場合、状態遷移時に、1
段階で構成した場合よりも1段階余分な状態を経る必要
がある。また、イベント識別コード1206は、状態番
号との組み合わせで意味を持つため、異なる状態間でコ
ードを重複させることが可能である。これは、どの瞬間
においても有効である状態が1つであるため、入力され
たイベント識別コード1206を、その有効な状態にお
ける値であると判断することができるためである。例え
ば、状態aと状態bとにおいて、イベント識別コード1
206の共通な値xが別の意味(状態aの時に“甲”、
状態bの時に“乙”の意味を持つとする)を持つことは
可能である。その理由は、状態aと状態bとが同時に有
効であることがあり得ない為、状態aの時に値xが入力
されれば、(a,x)の組み合わせで値xの意味を
“甲”と判断することができる。また、状態bの時に値
xが入力された場合でも、(b,x)の組み合わせで値
xを“乙”と判断することができる。即ち、値xのみで
意味を持たせる必要はない。
【0160】〔状態遷移テーブルメモリの第3の実施
例〕更に、以下に本発明による状態遷移テーブルメモリ
202の第3の実施例を図面を用いて詳細に説明する。
図16は、本発明の図13に示す状態遷移テーブルメモ
リ202の第1の実施例を変形して応用した第3の実施
例のブロック図を示している。
【0161】図16を参照すると、本実施例による状態
遷移テーブルメモリ202は、イベント状態遷移テーブ
ル1121、デフォルト状態遷移テーブル1122、強
制状態遷移テーブル1123、イベント発生判定回路1
221,1222及びセレクタ1138,1139,1
140を有して構成されており、図13に示した状態遷
移テーブルメモリ202と同様に、書き込まれた状態遷
移ルールに従って、ある演算状態から同一のまたは異な
る演算状態への状態遷移を制御し、同一のまたは異なる
演算状態を新たな演算状態とすることが可能なものであ
る。この図面からも明らかなように、本実施例による状
態遷移テーブルメモリ202は、図15に示す状態遷移
テーブルメモリ202の第2の実施例と概ね同様な構成
となっているが、相違点として、イベント状態遷移テー
ブル1121及びデフォルト状態遷移テーブル1122
がそれぞれ現状態番号204に対応させて次状態番号1
146若しくは1147を格納するだけでなく、同様に
対応させて命令コードアドレス1346若しくは134
7(図16中、“CA−(番号)”で記載されているも
のは、命令コードアドレスである)も格納するように構
成され、また、強制状態遷移テーブル1123が強制イ
ベント識別コード1236に対応させて次状態番号11
48を格納するだけでなく、同様に対応させて命令コー
ドアドレス1348も格納するように構成されており、
且つ、イベント状態遷移テーブル1121,デフォルト
状態遷移テーブル1122,及び強制状態遷移テーブル
1123がそれぞれ次状態番号1146,1147,若
しくは1148だけでなく、命令コードアドレス134
6,1347,若しくは1348も出力するように構成
され、さらに各セレクタ1138,1139,及び11
40それぞれが次状態番号1146,1147,若しく
は1148の他に命令コードアドレス1346,134
7,若しくは1348も出力するよう構成される。但
し、セレクタ1140の出力先は、次状態番号205と
命令コードアドレス1505とを分離して、次状態番号
205をシーケンサ部201(図5参照)へ、また、命
令コードアドレス1505を演算制御バス103を介し
てデータパス部102(図5参照)へ、それぞれ出力す
るよう構成される。更に、イベント状態遷移テーブル1
121,デフォルト状態遷移テーブル1122,強制状
態遷移テーブル1123,各セレクタ1138,113
9は、その出力として、次状態番号1146,114
7,若しくは1148と命令コードアドレス1346,
1347,若しくは1348とをシリアルあるいはパラ
レルに出力するよう構成されるが、パラレルに出力する
よう構成した場合、各々を同時に出力する構成に限定さ
れるものではない。また、上記構成において、各次状態
番号1146,1147,1148と対として出力され
る命令コードアドレス1346,1347,1348
は、各々の対において必ずしも1つとは限らず、1つの
次状態番号1146,1147,1148に対して複数
の命令コードアドレス1346,1347,1348が
出力されるよう構成することも可能である。
【0162】この構成は、図5に示した状態遷移管理部
101の構成に伴い要求された構成である。即ち、図1
6において、出力された次状態番号205は、図5にお
けるシーケンサ部201に入力され、また、同図16に
おける演算制御バス103へは、命令コードアドレス1
505がデータパス部102へ向けて出力される。
【0163】〔状態遷移テーブルメモリの第4の実施
例〕続いて、実施形態における状態遷移テーブルメモリ
202の第4の実施例について、図面を参照して説明す
る。図17は、本発明のアレイ型プロセッサ1の実施形
態における状態遷移テーブルメモリ202の第4の実施
例の概略ブロック図を示している。
【0164】同図において、状態遷移テーブルメモリ2
02は、通常状態遷移テーブル1301、強制状態遷移
テーブル1103及びセレクタ1110とからなってい
る。ここで、イベント識別コード206に、対象となる
イベントが発生しなかったことを示すNoEventと
いうコードを加えることにより、図13に示すデフォル
ト状態遷移テーブル1102の機能をイベント状態遷移
テーブル1101に含ませて、通常状態遷移テーブル1
301としている。
【0165】これにより、通常の状態遷移は、通常状態
遷移テーブル1301によって、また、割り込み等の処
理は、強制状態遷移テーブル1103によって処理され
る。そのためには、データパス部102等からのイベン
ト209への入力信号を、NoEventを含めて符号
化する必要がある。この処理は、シーケンサ部201内
でも実現できるし、データパス部102内部でも実現す
ることができる。その他の構造は、図13に示す状態遷
移テーブルメモリ202と同様としてある。
【0166】続いて、例えば、図14に示した状態遷移
を実現させる動作について説明する。先ず、現状態番号
204がST−01の場合は、常に、次状態番号110
6がST−02となる必要がある。そのため、現状態番
号204が入力される場合には、イベント識別コード2
06として必ずNoEventが入力されるようにす
る。これにより、通常状態遷移テーブル1301中の
‘‘現状態番号204がST−01、イベント識別コー
ド206がNoEvent’’のエントリに一致し、S
T−02が次状態番号1106として出力される。
【0167】そして、現状態番号204がST−02の
場合は、イベント識別コード206としてEV−10、
EV−18、EV−21のいずれかが入力した場合は通
常状態遷移テーブル1301において図13に示すイベ
ント状態遷移テーブル1101と同様の記述および動作
をするが、これらのイベント識別コード206が入力さ
れない場合には必ずNoEventがイベント識別コー
ド206として入力されるようにする。
【0168】これにより、図13ではデフォルト状態遷
移テーブル1102で動作していたものが、図17では
通常状態遷移テーブル1301において‘‘現状態番号
204がST−02、イベント識別コード206がNo
Event’’のエントリに一致し、ST−02を次状
態番号1106として出力する。また、強制状態遷移テ
ーブル1103については図13と同様の動作をする。
その他の動作および作用は、図13に示す状態遷移テー
ブルメモリ202と同様としてある。
【0169】〔状態遷移テーブルメモリの第5の実施
例〕更に、上述した本発明による状態遷移テーブルメモ
リ202の第2の実施例と第4の実施例とを組み合わせ
た実施例について、以下に、状態遷移テーブルメモリの
第5の実施例として図面を用いて詳細に説明する。図1
8は、本実施例による状態遷移テーブルメモリ202の
構成を示すブロック図である。図18を参照すると、本
実施例による状態遷移テーブルメモリ202は、イベン
ト状態遷移テーブル1131、強制状態遷移テーブル1
133、セレクタ1158、1159及びイベント発生
判定回路1232を有して構成されている。ここで、状
態遷移テーブルメモリの第4の実施例と同様に、イベン
ト識別コード1246に、対象となるイベントが発生し
なかったことを示すNoEventというコードを加え
る。また、本実施例は、例えばイベント状態遷移テーブ
ル1131の出力を二つ以上(図18では、例として四
つ)設け、この中で何れか一つ(例えば図18において
最も下部に構成された信号線)をNoEventの場合
に対応した次状態番号1166を出力する信号線として
固定し、NoEventがセレクタ1158に入力され
た場合に、セレクタ1158において、必ず上記のNo
Eventに対応した信号線から入力された次状態番号
1166を選択して出力するよう構成する。これによ
り、デフォルト状態遷移テーブルを削除することが可能
となる。
【0170】また、状態遷移テーブルメモリの第4の実
施例と同様に、通常の状態遷移は、イベント状態遷移テ
ーブル1131によって処理され、更に、割り込み等の
処理は、強制状態遷移テーブル1133によって処理さ
れる。そのためには、本実施例においても、データパス
部102等からのイベント209への入力信号を、No
Eventを含めて符号化する必要がある。この処理
は、シーケンサ部201内でも実現できるし、データパ
ス部102内部でも実現することができる。その他の構
造は、図15に示す状態遷移テーブルメモリ202と同
様である。
【0171】(制御情報メモリの構成) 〔制御情報メモリの第1の実施例〕次に、実施形態(図
2)における制御情報メモリ203の第1の実施例につ
いて、図面を参照して説明する。図19は、本発明のア
レイ型プロセッサ1の実施形態における制御情報メモリ
203の第1の実施例の概略ブロック図を示している。
同図において、状態遷移管理部101を構成する制御情
報メモリ203は、複数の演算制御情報メモリ1402
およびデコーダ1411とからなっている。
【0172】ここで、制御情報メモリ203は、状態番
号1401の入力に応じて、一つ以上の演算制御情報メ
モリ1402が選択され、この選択された演算制御情報
メモリ1402の中の情報が演算制御バス103を通じ
てデータパス部102に出力される構成としてある。こ
のように、アレイ型プロセッサ1は、演算制御情報メモ
リ1402を有することにより、複数の演算制御バス1
03を効率良く制御できるので、結果的に、データパス
部102の制御を効率良く行うことができる。即ち、状
態遷移テーブルメモリ202が1状態につき複数のエン
トリ(あるいは複数個の次状態候補)を有しているた
め、出力ビット幅を狭くすることが状態遷移テーブルメ
モリ202の面積削減効果に大きく作用するが、演算制
御バス103を介して出力される命令コードアドレスの
自由度を向上させる(つまり、各プロセッサエレメント
105毎や各プログラマブルスイッチエレメント106
毎に命令コードアドレスを割り当てる)ためには、出力
ビット幅を広くする必要がある。上記の制御情報メモリ
203は、この相反する両者の要求を満足させるために
設けられるものである。即ち、状態遷移テーブルメモリ
202とデータパス部102との間に制御情報メモリ2
03を設け、イベント状態遷移テーブル1111の深さ
(アドレス空間若しくはエントリ数)よりも制御情報メ
モリ203の深さ(アドレス空間)の方を浅くすること
により、状態遷移テーブルメモリ202に要求される面
積の削減と、状態遷移先の自由度を向上させるために要
求される命令コードアドレスの自由度の向上と、を両立
させることが可能となる。この具体的な例を図15を用
いて説明すると、図2における状態遷移テーブルメモリ
202に図15に示す状態遷移テーブルメモリ202を
構成した例では、1つの現状態番号204に対応し、イ
ベント識別テーブル1111から4つの分岐先である次
状態番号1126と、デフォルト状態遷移テーブル11
12から1つの遷移先である次状態番号1127と、を
出力するよう構成されており、更に、強制イベント識別
コードに対応する次状態番号1128が強制状態遷移テ
ーブル1113から出力されるよう構成されており、こ
れらから、セレクタ1118、セレクタ1119、セレ
クタ1120において1つが選択され、次状態番号20
5として出力される。この出力された次状態番号205
は、シーケンサ部201において、現状態番号204に
置き換えられ、制御情報メモリ203へ出力される構成
となっている。制御情報メモリ203では、例えば図1
9を用いて説明すると、入力された状態番号1401に
対応する演算制御情報メモリ1402を選択し、演算制
御情報メモリ1402に記憶された命令コードアドレス
1505を演算制御バス103を介して、データパス部
102に入力する構成となっている。これに対し、制御
情報メモリ203が構成されていない場合、状態遷移テ
ーブルメモリ202の出力に命令コードアドレス150
5を有していなければならない。例えば、図5における
状態遷移テーブル202に図16に示す状態遷移テーブ
ル202を構成した例では、制御情報メモリ203を構
成しておらず、イベント状態遷移テーブル1121と、
デフォルト状態遷移テーブル1122と、強制状態遷移
テーブル1123と、には、現状態番号204と次状態
番号(1146,1147,1148)だけでなく、次
状態番号(1146,1147,1148)に対応する
命令コードアドレス(1346,1347,1348)
のためのメモリも必要となる。このため、各テーブル
(イベント状態遷移テーブル1121、デフォルト状態
遷移テーブル1122、強制状態遷移テーブル112
3)には、命令コードアドレス(1346,1347,
1348)を格納するためのメモリ領域も要求される。
即ち、イベント状態遷移テーブル1121に関してのみ
比べても、例えば1つの現状態番号204に対して4組
の次状態番号1146及び命令コードアドレス1346
を出力するよう構成(図16に示す構成)した場合で
は、制御情報メモリ203を組み込んだ場合の約4倍の
メモリが必要となり、また、デフォルト状態遷移テーブ
ル1122、および、強制状態遷移テーブル1123に
も命令コードアドレス(1347,1348)を有する
ため、命令コード用のメモリが制御情報メモリ203を
設けた場合の約5倍、必要となる。更に、セレクタ(1
138,1139,1140)等のビット幅もこれに応
じて広く構成する必要がある。図5の構成では、制御情
報メモリ203を有していないために、図16に示され
るように状態遷移テーブルメモリ202のメモリ数が増
加し、ビット幅を広くする必要があるが、高速化には向
いている。一方、図2に示す構成は、制御情報メモリ2
03を持たせることで、状態遷移テーブルメモリ202
のメモリ領域が削減される。更に、この構成では、状態
遷移テーブルメモリ202が次状態番号205だけを出
力するため、ビット幅を狭く構成することが可能とな
る。但し、この構成では、一旦制御情報メモリ203を
介するために速度は遅くなる。また、制御情報テーブル
メモリ203が別に構成されていることに起因するメモ
リ効率の良さを利用して、命令コードアドレスの出力数
を図16に示す状態遷移テーブルメモリ202から出力
される数よりも増やすことにより、データパス部102
の構成の高効率化を図ることが可能となる。即ち、この
両者の構成は、命令コード配布数を増やす(自由度を上
げる)ことを目的とする場合と、処理速度を上げること
を目的とする場合と、で各々使い分けられるものであ
る。但し、メモリの参照を状態遷移テーブル202と制
御情報メモリ203との2回として構成することが遅延
的に問題を有する場合は、命令コードアドレス1505
の自由度を削減し、イベント状態遷移テーブル1121
と、デフォルト状態遷移テーブル1122と、強制状態
遷移テーブル1123と、における出力ビット幅を削減
することで、上記のような問題を回避することも可能で
ある。なお、状態番号1401は、現状態番号204ま
たは次状態番号205を指している。
【0173】(プロセッサエレメントの構成) 〔プロセッサエレメントの第1の実施例〕次に、実施形
態(図2)におけるプロセッサエレメント105の第1
の実施例について、図面を参照して説明する。図20
は、本発明のアレイ型プロセッサ1の実施形態における
プロセッサエレメント105の第1の実施例の概略ブロ
ック図を示している。同図において、プロセッサエレメ
ント105は、複数の命令コードを記憶する命令コード
メモリ1501、命令コードを解読する命令デコーダ1
502、デコードされた命令コードを実行する演算部1
503及び演算処理データを記録するレジスタ1504
とで構成してある。
【0174】ここで、プロセッサエレメント105は、
演算制御バス103を通して与えられる命令コードアド
レス1505を入力すると、命令コードメモリ1501
内に記憶されている命令コード1508が一つ選択され
て出力され、この命令コード1508を入力した命令デ
コーダ1502が、命令コード1508を解釈し、この
解釈により、演算部1503およびレジスタ部1504
の動作が決定される。このように命令デコーダ1502
の解釈により、演算部1503は、何れの入力信号を用
いて何の演算を行い、何を何処へ出力するかを決定す
る。また、この構成により、レジスタ部1504を使用
するか否かの動作も決定される。
【0175】このように、アレイ型プロセッサ1は、プ
ロセッサエレメント105が、演算処理データを記録す
るレジスタ1504を有する構成としてあるので、演算
部1503とレジスタ1504間の配線効率が改善され
て、小型化されるとともに処理性能が向上する。
【0176】また、好ましくは、アレイ型プロセッサ1
は、プロセッサエレメント105が、外部からの入力デ
ータ1506またはレジスタ1504に記録された演算
処理データに対して、状態遷移管理部101からの制御
に応じた演算処理を行ない、この演算処理結果を、外部
に出力データ1507として出力するか、あるいは、前
記レジスタに記録する構成とすると良く、これにより、
演算処理を効率良く実行することができ、処理性能が向
上する。
【0177】演算部1503は、入力データ1506ま
たはレジスタ1504からのデータを入力として演算
し、出力データ1507またはレジスタ1504へ結果
を出力することを基本動作とする。また、必ずしも各プ
ロセッサエレメント105内に、レジスタ1504が必
要なわけではない。さらにまた、複数のプロセッサエレ
メントにつき一つのレジスタを持つことや、複数のプロ
セッサエレメントを一つのグループとし、そのグループ
にレジスタを属させることも可能であり、また、演算制
御バス103の入力から演算部1503およびレジスタ
1504までのパス中にレジスタを設け、プロセッサエ
レメント105の動作変更、正確には、プロセッサエレ
メント105の動作開始(状態の実現若しくは構成の変
更)を同期化することも可能である。これは、状態遷移
管理部101から次状態番号205に応じた命令コード
アドレスが届くよう構成されている場合に、次サイクル
でこれを有効化する必要があるために組み込まれた構成
である。また、このように構成することにより、サイク
ルの開始と同期して各プロセッサエレメントの構成(状
態)が切り替わり、その後、演算が一斉に開始されるよ
うになる。
【0178】〔プロセッサエレメントの第2の実施例〕
続いて、実施形態におけるプロセッサエレメント105
の第2の実施例について、図面を参照して説明する。図
21は、本発明のアレイ型プロセッサ1の実施形態にお
けるプロセッサエレメント105の第2の実施例の概略
ブロック図を示している。
【0179】同図において、プロセッサエレメント10
5は、命令コードメモリ1501、命令デコーダ160
2、演算部1503、レジスタ1504及びプログラマ
ブルスイッチ1603、1604とからなっており、命
令デコーダ1602が、制御信号1601を入力する構
成としてある。
【0180】命令デコーダ1602は、命令コード15
08と制御信号1601との両方を使用して演算部15
03とレジスタ1504とに制御信号を出力する。ま
た、このレジスタ1504は、適宜、信号を演算部15
03と受け渡しする。この制御信号1601は、プロセ
ッサエレメント105の出力やデータパス部102の外
部から来る信号である。ここで、データパス部102の
外部から来る信号としては、チップ外部(制御用プロセ
ッサ)や状態遷移管理部101等が例に挙げられる。こ
れは、例えば、状態遷移管理部101が複数のプロセッ
サエレメントに対して共通の命令コードアドレスを配布
するが、制御信号1601は各プロセッサエレメント1
05に対して個別に配布するという方法が適用されるた
めである。これは、同じ命令コードアドレスを使用(使
用命令コードアドレス空間の削減=効率化)しながら、
微妙な調整を制御信号1601により実現するためであ
る。これにより、状態遷移管理部101から発行される
命令コードアドレス1505のみでなく、データパス部
102内部やアレイ型プロセッサ1の外部からの信号に
よりプロセッサエレメント105の動作を制御すること
も可能としている。例えば、演算部1503が2入力1
出力のセレクタを実現するということが命令コードアド
レスにより決定されている場合、セレクタの選択線(制
御)も命令コードに含ませる方法の他に、選択線をプロ
セッサエレメント105外部から入力させる方法も適用
することが可能である。この構成については、レジスタ
1504の書き込み制御やシフトの方向等に関しても同
様である。このように構成することで、基本的な構成を
命令コードアドレスにより決定し、また、一部を外部か
ら制御することが可能となり、同一の命令コードアドレ
スでありながら、例えば条件等によって、一部の状態に
変化を加える動作を実現することが可能となる。
【0181】したがって、例えば、他のプロセッサエレ
メント105の出力信号を当該のプロセッサエレメント
105に入力させ、当該の演算器で実現しているセレク
タの選択信号を制御する、即ち、演算部1503でセレ
クタを演算器として実現(この実現は命令コードにより
行われる)している時に、その選択制御を当該のプロセ
ッサエレメント105が行うのでなく、他のプロセッサ
エレメント105からの出力により行うことも可能とな
る。
【0182】また、プロセッサエレメント105は、演
算部1503と入力データとの間に、プログラマブルス
イッチ1603を、演算部1503と出力データ150
7との間に、プログラマブルスイッチ1604を配置し
ている。これにより、複数の入力データ1506の中か
ら使用するものを選択することや、複数の出力先である
出力データ1507の中から、出力先を選択することが
できる。
【0183】このようにすることにより、プロセッサエ
レメント105は、特に、図10に示したように、一つ
のプロセッサエレメント105が複数のプログラマブル
スイッチエレメント106に接続されている場合や、図
11に示したように、プロセッサエレメント同士がプロ
グラマブルスイッチエレメント106を通さずに直接電
気的に接続されている場合に、処理性能を向上させるこ
とができる。なお、プログラマブルスイッチ1603、
1604は、入力側及び出力側両方に設置することも可
能であるし、どちらか一方だけに設置することも可能で
ある。その他の構造および作用は、図20に示すプロセ
ッサエレメント105と同様としてある。
【0184】(プログラマブルスイッチエレメントの構
成) 〔プログラマブルスイッチエレメントの第1の実施例〕
次に、実施形態(図7)におけるプログラマブルスイッ
チエレメント106の第1の実施例について、図面を参
照して説明する。図22は、本発明のアレイ型プロセッ
サ1の実施形態におけるプログラマブルスイッチエレメ
ント106の第1の実施例の概略ブロック図を示してい
る。同図において、プログラマブルスイッチエレメント
106は、接続構成情報1703を複数セット記憶する
接続構成情報メモリ1701、接続スイッチ1702及
び接続線1704とからなっている。
【0185】ここで、接続構成情報1703は、図示し
てないが、プロセッサエレメント105及びプログラマ
ブルスイッチエレメント106間、及び/又は、プログ
ラマブルスイッチエレメント106相互間の接続構成を
指示する情報であり、この接続構成情報1703に基づ
いて、接続スイッチ1702は、接続線1704間の電
気的接続をOn/Offする機能を果たす。
【0186】プログラマブルスイッチエレメント106
は、演算制御バス103を通して入力された命令コード
アドレス1505によって、接続構成情報メモリ170
1の中から、一つの接続構成情報1703を選択し出力
する。そして、この接続構成情報1703は、各接続ス
イッチ1702の動作を決定し、結果的に、プロセッサ
エレメント105及びプログラマブルスイッチエレメン
ト106間、及び/又は、プログラマブルスイッチエレ
メント106相互間の接続構成を指示する
【0187】ここで、接続スイッチ1702および接続
線1704は、双方向に信号伝播を可能としても良いし
単方向の信号伝播のみを可能としても良い。また、接続
スイッチ1702および接続線1704毎に双方向と単
方向を分けても良い。
【0188】プログラマブルスイッチエレメント106
は、接続構成情報メモリ1701の出力をそのまま接続
スイッチ1702の制御に使用しているが、接続構成情
報メモリ1701と接続スイッチ1702の間にデコー
ダを設置することもできる。また、プログラマブルスイ
ッチエレメント106は、排他的に接続がOnされる接
続スイッチの接続構成情報メモリを共有化することなど
により、接続スイッチの数に対して接続構成情報メモリ
の量を減らすことができる。
【0189】さらにまた、プログラマブルスイッチエレ
メント106は、演算制御バス103の入力から接続ス
イッチ1702までのパス中にレジスタを設け、プログ
ラマブルスイッチエレメント106の接続変更を同期化
することができる。即ち、このように構成することによ
り、サイクルの開始と同期して各プロセッサエレメント
の構成(状態)を切り替えるという接続関係の変更を同
期化することが可能となる。
【0190】(データパス部の制御方法) 〔データパス部の制御方法の第1の実施例〕次に、実施
形態における演算制御情報メモリ1402を用いたデー
タパス部102の制御方法について、図面を参照して説
明する。図23は、本発明のアレイ型プロセッサ1の実
施形態における演算制御情報メモリ1402を用いたデ
ータパス部102の制御方法の第1の実施例の模式図を
示している。
【0191】同図において、データパス部102は、演
算制御情報メモリ1402を使用して、プロセッサエレ
メント105を制御する方法を示している。先ず、図1
9に示すように、状態番号1401により選択された、
制御情報メモリ203に含まれる演算制御情報メモリ1
402が使用され、この演算制御情報メモリ1402
は、その演算制御情報メモリ1402が制御するプロセ
ッサエレメント105と同数の命令コードアドレスを記
録する。
【0192】つまり、プロセッサエレメント105と命
令コードアドレスが、一対一の対応をしている。具体的
には、同図に示すように、Addr1はPE1、Add
r2はPE2というように対応しており、各プロセッサ
エレメント105のアドレスを独立に制御することがで
きる。なお、一つの演算制御情報メモリ203が制御す
るプロセッサエレメント105の配置は、図示した例に
限られるものではないことは勿論である。つまり、本形
態において、必ずしも横一列に配置されたプロセッサエ
レメント105を1つの演算制御情報メモリ1402が
制御するよう構成する必要はなく、また、プロセッサエ
レメント105の順番(並び)も同様にこの構成に限定
されるものではない。但し、プロセッサエレメント10
5をアレイ状に配列した場合、その各プロセッサエレメ
ント105に個々の命令コードアドレスが供給されると
する構成が望ましい。
【0193】また、図示してないが、プログラマブルス
イッチエレメント106に対しては、プロセッサエレメ
ント105とは独立した同様の形式の演算制御情報メモ
リを持ち、プロセッサエレメント105と同様に制御す
ることが可能である。
【0194】〔データパス部の制御方法の第2の実施
例〕上述したデータパス部102の制御方法の第2の実
施例としては、演算制御情報メモリ1402内にプロセ
ッサエレメント105とプログラマブルスイッチエレメ
ント106の両方の命令コードアドレスを持たせ、同一
の演算制御情報メモリ1402によりプロセッサエレメ
ント105とプログラマブルスイッチエレメント106
の両方を制御することもできる。
【0195】この構成を説明するための模式図を図24
に示す。図24を参照すると、本実施例では、演算制御
情報メモリ1402において、プロセッサエレメント1
05に対する命令コードアドレスの他に、プログラマブ
ルスイッチエレメント106への命令コードアドレスも
格納するように構成される。この構成により、本実施例
では、接続構成情報メモリを異なる構成として設ける必
要がなくなり、回路規模の縮小を図ることができる。
【0196】〔データパス部の制御方法の第3の実施
例〕さらに、データパス部の制御方法の第3の実施例と
しては、プロセッサエレメント105とプログラマブル
スイッチエレメント106とで、同一演算制御情報メモ
リ1402内の同一アドレスを共有して使用し、プロセ
ッサエレメント105とプログラマブルスイッチエレメ
ント106とで共通の命令コードアドレスを使用するこ
ともできる。
【0197】なお、図23に示すデータパス部102の
制御方法は、状態番号1401により選択された一つの
演算制御情報メモリ1402に含まれる命令コードアド
レス数と、その演算制御情報メモリ1402が担当する
プロセッサエレメント105の数が等しいために、各プ
ロセッサエレメント105の命令コードアドレス指定に
関する柔軟性を得られるが、各命令コードアドレスを各
プロセッサエレメント105へ個別に伝播させるために
要求される演算制御バス103や、一つの演算制御情報
メモリ1402の大きさといったリソース量が大きくな
るといった問題がある。
【0198】〔データパス部の制御方法の第4の実施
例〕続いて、この問題を解決した、実施形態における演
算制御情報メモリ1402を用いたデータパス部102
の制御方法の第4の実施例について、図面を参照して説
明する。図25は、本発明のアレイ型プロセッサ1にお
ける演算制御情報メモリ1402を用いたデータパス部
102の制御方法の第4の実施例におけるブロック図を
示している。
【0199】本実施例は、演算制御情報メモリ1402
内の一つのアドレスで複数のプロセッサエレメント10
5の命令コードアドレスを指定することを可能とする方
法である。具体的には、Addr1によりPE1−1〜
PE1−mまでのm個のアドレス、Addr2によりP
E2−1〜PE2−mまでのm個のアドレスというよう
に制御を行うことができるように構成してある。ただ
し、各プロセッサエレメント105に対して独立なアド
レスを指定するという柔軟性は失われるが、要求するハ
ードェアリソース量が軽減される効果がある。
【0200】なお、一つの演算制御情報メモリ1402
に含まれるアドレスの数は、一以上で構成可能である。
また、一つのアドレスが制御するグループ1901に含
まれるプロセッサエレメント105の数mは、全グルー
プにおいて共通である必要はなく、mは一以上で構成可
能である。
【0201】また、プログラマブルスイッチエレメント
106も同様に制御することができる。
【0202】以下に、プログラムブルスイッチエレメン
ト106も同様にグループ化して制御するよう構成した
制御方法について、独立した実施例として図面を用いて
詳細に説明する。
【0203】〔データパス部の制御方法の第5の実施
例〕図26は、本発明によるアレイ型プロセッサ1の実
施形態における演算制御情報メモリ1402を用いたデ
ータパス部102の制御方法の第5の実施例の模式図で
ある。ここで、本実施例は、演算制御情報メモリ140
2内の一つのアドレスで複数のプロセッサエレメント1
05若しくはプログラマブルスイッチエレメント106
の命令コードアドレスを指定することを可能とする方法
である。従って、本実施例では、プロセッサエレメント
105に対するアドレスが図25で示したデータパス部
の制御方法の第4の実施例と同様に構成されており、更
に、本実施例独自の構成として、プログラマブルスイッ
チエレメント106をグループ化して、各々のグループ
1901にアドレスが割り当てられるよう構成されてお
り、一つのアドレスで複数のプログラマブルスイッチエ
レメント106の命令コードアドレスも指定することを
可能としている。具体的には、Addrs1によりPS
Es1−1〜PSEs1−jまでのj個のアドレス、A
ddrs2によりPSEs2−1〜PSEs2−jまで
のj個のアドレスというように制御を行うことができる
ように構成してある。この構成も、データパス部の制御
方法の第4の実施例における各プロセッサエレメント1
05に対する構成と同様に、各プログラマブルスイッチ
エレメント106に対して独立なアドレスを指定すると
いう柔軟性は失われるが、要求するハードェアリソース
量が軽減される効果がある。
【0204】なお、一つの演算制御情報メモリ1402
に含まれるアドレスの数n及びskは、各々一以上で構
成可能である。また、一つのアドレスが制御するグルー
プ1901に含まれるプロセッサエレメント105の数
m、若しくはプログラマブルスイッチエレメント106
の数jは、全グループ1901において共通である必要
はなく、各々一以上で構成可能である。
【0205】〔データパス部の制御方法の第6の実施
例〕更に、データパス部の第5の実施例による演算制御
情報メモリ1402の制御方法は、図27に示すように
も変形可能である。図27に示す制御方法を、以下、デ
ータパス部の制御方法の第6の実施例として詳細に説明
する。
【0206】図27を参照すると、実施例による制御方
法では、演算制御情報メモリ1402における一つのア
ドレスにより、複数のプロセッサエレメント105及び
複数のプログラマブルスイッチエレメント106の命令
コードアドレスを指定することが可能なよう構成されて
いる。具体的には、Addr1によりPE1−1〜PE
1−m,及びPSE1−1〜PSE1−kまでの合計
(m+k)個のアドレスを指定する制御を行うことが可
能なように構成されている。この構成では、データパス
部の制御方法の第4の実施例における各プロセッサエレ
メント105に対する構成と同様に、各プロセッサエレ
メント105及び各プログラマブルスイッチエレメント
106に対して独立なアドレスを指定するという柔軟性
が失われるが、上述のデータパス部の制御方法の第4及
び第5の実施例よりも、要求するハードウェアリソース
量が軽減されるという効果が得られる。
【0207】なお、一つの演算制御情報メモリ1402
に含まれるアドレスの数は、一以上で構成可能である。
また、一つのアドレスが制御するグループ1902に含
まれるプロセッサエレメント105の数m、若しくはプ
ログラマブルスイッチエレメント106の数kは、全グ
ループ1902において共通である必要はなく、いずれ
かが一以上で構成可能である。
【0208】〔データパス部の制御方法の第7の実施
例〕続いて、実施形態における演算制御情報メモリ14
02を用いたデータパス部102の制御方法の第7の実
施例について、図面を参照して説明する。図28は、本
発明のアレイ型プロセッサ1における演算制御情報メモ
リ1402を用いたデータパス部102の制御方法の第
7の実施例におけるブロック図を示している。
【0209】同図において、状態番号1401により選
択された演算制御情報メモリ1402に含まれる各アド
レス値は、演算制御バス2003にそれぞれ出力されて
おり、当該の演算制御情報メモリ1402によって制御
されるプロセッサエレメント105は、演算制御バス2
003の中からセレクタ2001を用いて一つのバスを
選択し、そのバスから送られてくるアドレスを命令コー
ドアドレスとして使用する。
【0210】したがって、例えば、プロセッサエレメン
ト105であるPE2が演算制御バスaを選択している
場合は、演算制御情報メモリ1402のAddr1の値
が演算制御バスaを通りPE2の命令コードアドレスと
して使用される。このように、各プロセッサエレメント
105が任意の演算制御バス2003を選択できるよう
にすれば、一つの演算制御情報メモリ1402に接続さ
れたプロセッサエレメント105を演算制御バス200
3の数以下にグループ化でき、各グループごとに異なっ
た命令コードアドレスを使用することができる。
【0211】また、上記の各プロセッサエレメント10
5のグループ化は、図28に示すメモリ2002で制御
される。このメモリ2002は、例えば図20に示すプ
ロセッサエレメント105における命令コードメモリ1
501と命令デコーダ1502とで構成されるものであ
る。即ち、本実施例によるデータパス部102の制御方
法では、図28に示す演算制御バス2003の選択に、
命令デコーダ1502でデコードされた命令コードが使
用される。この構成は、以下における説明において同様
の形態で実施されるものである。
【0212】また、各プロセッサエレメント105が選
択できる演算制御バス2003を制限する方法や、いく
つかのプロセッサエレメント105でセレクタ2001
を共有し、回路量を削減することも可能である。ただ
し、その際は、グループ化に制限を受けることになる。
【0213】このように、データパス部の制御方法の第
7の実施例によれば、図23に示すように、一つ以上の
プロセッサエレメント105と同数の演算制御バスを必
要とすることもなく、また、図25に示すように、一つ
のアドレスで制御されるプロセッサエレメント105が
予め固定されるといった状態を回避することができる。
すなわち、命令コードアドレスを伝播させるために必要
とするリソース量の削減と、プロセッサエレメント10
5のグループ化の自由度といった両者のメリットを得る
ことが可能となる。
【0214】また、セレクタ2001がどのバスを選択
するかという情報は、固定情報としてメモリ2002に
保存しておく方法もあるし、各プロセッサエレメント1
05の状態に応じて動的に変更する方法もある。例え
ば、各プロセッサエレメント毎に、現在の命令コードア
ドレスにより、次の演算制御バス2003を決定する方
法がある。
【0215】〔データパス部の制御方法の第8の実施
例〕更に、上述したデータパス部の制御方法の第7の実
施例をプロセッサエレメント105だけでなく、プログ
ラマブルスイッチエレメント106にも適用した形態に
ついて、データパス部の制御方法の第8の実施例として
以下に図面を用いて詳細に説明する。図29は、本実施
例によるデータパス部102の制御方法のブロック図で
ある。
【0216】同図において、状態番号1401により選
択された演算制御情報メモリ1402に含まれる各アド
レス値は、演算制御バス2013にそれぞれ出力されて
おり、当該の演算制御情報メモリ1402によって制御
されるプロセッサエレメント105及びプログラマブル
スイッチエレメント106は、演算制御バス2013の
中からセレクタ2011を用いて一つのバスを選択し、
そのバスから送られてくるアドレスを命令コードアドレ
スとして使用する。
【0217】したがって、例えば、プログラマブルスイ
ッチエレメント106であるPSE1が演算制御バスa
を選択している場合は、演算制御情報メモリ1402の
Addr1の値が演算制御バスaを通りPSE1の命令
コードアドレスとして使用される。このように、各プロ
セッサエレメント105及び各プログラマブルスイッチ
エレメント106が任意の演算制御バス2013を選択
できるようにし、且つ、共に共通の命令コードアドレス
を使用するよう構成すれば、一つの演算制御情報メモリ
1402に接続されたプロセッサエレメント105及び
プログラマブルスイッチエレメント106を演算制御バ
ス2013の数以下にグループ化でき、各グループごと
に異なった命令コードアドレスを使用することができ
る。
【0218】また、各プロセッサエレメント105及び
各プログラマブルスイッチエレメント106が選択でき
る演算制御バス2013を制限する方法や、いくつかの
プロセッサエレメント105若しくはいくつかのプログ
ラマブルスイッチエレメント106、更には、いくつか
のプロセッサエレメント105及びいくつかのプログラ
マブルスイッチエレメント106でセレクタ2011を
共有し、回路量を削減することも可能である。ただし、
その際は、グループ化に制限を受けることになる。
【0219】このように、データパス部102の制御方
法の第8の実施例によれば、データパス部の制御方法の
第7の実施例で得られた効果を更にプログラマブルスイ
ッチエレメント106を含めて奏するよう構成すること
が可能となる。すなわち、命令コードアドレスを伝播さ
せるために必要とするリソース量の削減と、プロセッサ
エレメント105及びプログラマブルスイッチエレメン
ト106のグループ化の自由度といった両者のメリット
を得ることが可能となる。
【0220】また、セレクタ2011がどの演算制御バ
ス2013を選択するかという情報は、データパス部の
制御方法の第7の実施例と同様に、固定情報としてメモ
リ2012に保存しておく方法もあるし、各プロセッサ
エレメント105および各プログラマブルスイッチエレ
メント106の状態に応じて動的に変更する方法もあ
る。例えば、各プロセッサエレメント毎および各プログ
ラマブルスイッチエレメント106毎に、現在の命令コ
ードアドレスにより、次の演算制御バス2013を決定
する方法である。
【0221】〔データパス部の制御方法の第9の実施
例〕また、上述したデータパス部の制御方法の第8の実
施例の他の構成をデータパス部の制御方法の第9の実施
例として図面を用いて詳細に説明する。図30は、本実
施例によるデータパス部102の制御方法のブロック図
である。
【0222】図30を参照すると、本実施例は、プロセ
ッサエレメント105への命令コードアドレスを伝搬さ
せる演算制御バス2023だけでなく、プログラマブル
スイッチエレメント106への命令コードアドレスを伝
搬させるための演算制御バス2023も構成されてい
る。更に、本実施例による演算制御情報メモリ1402
は、プロセッサエレメント105へのアドレスに対する
命令コードアドレスだけでなく、プログラマブルスイッ
チエレメント106へのアドレスに対する命令コードア
ドレスも格納するよう構成されている。
【0223】即ち、同図において、状態番号1401に
より選択された演算制御情報メモリ1402に含まれる
各アドレス値は、演算制御バス2023にそれぞれ出力
されており、当該の演算制御情報メモリ1402によっ
て制御されるプロセッサエレメント105若しくはプロ
グラマブルスイッチエレメント106は、演算制御バス
2023の中からセレクタ2021を用いて一つの演算
制御バス2023を選択し、その演算制御バス2023
から送られてくるアドレスを命令コードアドレスとして
使用する。
【0224】したがって、例えば、プログラマブルスイ
ッチエレメント106であるPSE1が演算制御バス
a’を選択している場合は、演算制御情報メモリ140
2のAddrs1の値が演算制御バスa’を通りPSE
1の命令コードアドレスとして使用される。このよう
に、各プロセッサエレメント105若しくは各プログラ
マブルスイッチエレメント106が任意の演算制御バス
2023を選択できるように構成すれば、一つの演算制
御情報メモリ1402に接続されたプロセッサエレメン
ト105を演算制御バス2023の数以下にグループ化
できるだけでなく、同一の演算制御情報メモリ1402
に接続されたプログラマブルスイッチエレメント106
を合わせて、演算制御バス2023の数以下にグループ
化することができ、また、各グループごとに異なった命
令コードアドレスを使用することができる。
【0225】また、各プロセッサエレメント105若し
くは各プログラマブルスイッチエレメント106が選択
できる演算制御バス2023を制限する方法や、いくつ
かのプロセッサエレメント105若しくはいくつかのプ
ログラマブルスイッチエレメント106でセレクタ20
21を共有し、回路量を削減することも可能である。た
だし、その際は、グループ化に制限を受けることにな
る。
【0226】このように、データパス部102の制御方
法の第9の実施例によれば、データパス部の制御方法の
第7の実施例で得られた効果を更にプログラマブルスイ
ッチエレメント106を含めて奏するよう構成すること
が可能となる。すなわち、命令コードアドレスを伝播さ
せるために必要とするリソース量の削減と、プロセッサ
エレメント105及びプログラマブルスイッチエレメン
ト106のグループ化の自由度といった両者のメリット
を得ることが可能となる。
【0227】また、セレクタ2021がどの演算制御バ
ス2023を選択するかという情報は、データパス部の
制御方法の第7の実施例と同様に、固定情報としてメモ
リ2022に保存しておく方法もあるし、各プロセッサ
エレメント105の状態に応じて動的に変更する方法も
ある。例えば、各プロセッサエレメント105毎に、現
在の命令コードアドレスにより、次の演算制御バス20
23を決定する方法である。
【0228】〔データパス部の制御方法の第10の実施
例〕次に、実施形態における演算制御情報メモリ140
2を用いたデータパス部102の制御方法の第10の実
施例について、図面を参照して説明する。図31は、本
発明のアレイ型プロセッサ1における演算制御情報メモ
リ1402を用いたデータパス部102の制御方法の第
10の実施例におけるブロック図を示している。
【0229】同図において、データパス部102は、プ
ロセッサエレメント105をアレイ状に配置し、縦方向
に対し演算制御バス(2033−V1,2033−V
2,…)を通し、また、横方向に対し演算制御バス(2
033−H1,2033−H2,…)を通し、その縦横
各々に演算制御情報メモリ(1402−V1,1402
−V2,…、1402−H1,1402−H2,…)が
接続されている。このようにすることにより、各プロセ
ッサエレメント105は、近傍を通る演算制御バス20
33の中から一つを選択し、命令コードアドレスを得る
ことができる。即ち、図31におけるプロセッサエレメ
ントPE1−1に注目して説明すると、これに接続され
たセレクタ2001は、メモリ2002からのデコード
された命令コードにより演算制御バス2033−V1に
含まれる命令アドレスバス(V1−1,V1−2,…,
V1−m)若しくは2033−H1に含まれる命令コー
ドアドレス(H1−1,H1−2,…,H1−n)の中
から何れか一つを選択し、これをプロセッサエレメント
PE1−1へ入力する。
【0230】また、図31に示す構成の、グループ化の
最大分割数は(m+n)よりも遥かに大きいが、自由な
形と位置が保障されるのは(m+n)個である。これに
より、プロセッサエレメント105の領域分割方法が、
演算制御バス103の数の範囲内で、縦横方向自由に決
定することができる。即ち、図31に示す本実施例で
は、データパス部102を(m+n)個の自由な領域に
分割することが可能である。これは、各プロセッサエレ
メント105に対して、(m+n)本の命令アドレスバ
ス(図31におけるPE1−1に注目すれば、V1−
1,〜,V1−m、H1−1,〜,H1−nの本数)が
入力されており、これを各プロセッサエレメント105
が自由に選択できるためである。これにより、全プロセ
ッサエレメント105を(m+n)個のグループに分割
することが可能である。このようにグループに分割した
場合、各グループ毎にプロセッサエレメント105の命
令コードアドレスを変える(個別に値を決定し、入力す
る)ことが可能となる。これは例えば、グループ1のア
ドレスは固定したまま、グループ5のアドレスを変える
等の動作である。例えば、図23、若しくは図24に示
す方法により、グループ分けの全自由度を持たせるため
には、全プロセッサエレメント105に個別のアドレス
を入力する必要があるが、これを実現するためには、膨
大なハードウェア量が要求される。更に、実際の方法で
は、全自由度を実現する必要がなく、ある程度、自由度
を落として構成することが好ましい。また、例えば、図
29に示す構成では、各列毎のグループ化の自由度は高
いが、上下方向にグループ分けをする場合に大きな制限
を受ける。そこで、本実施例では、縦方向及び横方向に
命令アドレスバス(演算制御バス2033−V1,20
33−V2,…、2033−H1,2033−H2,…
としてもよい)を通すことにより、縦方向及び横方向に
おいて自由にグループ分けを行うことを可能にしてい
る。但し、生成されるグループは、塊とされていなくて
もよく、例えば市松模様のように分割することも可能で
ある。また、図31に示す構成でも、グループ化におけ
る最大分割数は非常に大きいが、自由な形(プロセッサ
エレメント105の位置及び数を自由に選択することが
可能であるという意味)でグループ化が可能である理由
は、(m+n)が保証されていることに起因する。但
し、同じ(m+n)を保証する場合、各列毎に(m+
n)本の命令アドレスバスを通すよりも、図31に示す
ように、縦横に通した方が自由度があると考えられる。
これは、例えばデータパス部102において横方向にデ
ータの流れがある場合、パイプラインを切るためには、
縦方向に分割する必要があるが、ビット幅方向に分割す
る(複数のデータパスを実現する)ためには、横方向に
分割する必要がある。図31に示す構成は、この両者を
効率的に実現するための構成である。
【0231】〔データパス部の制御方法の第11の実施
例〕次に、実施形態における演算制御情報メモリ140
2を用いたデータパス部102の制御方法の第11の実
施例について、図面を参照して説明する。図32の
(a)は、本発明のアレイ型プロセッサ1における演算
制御情報メモリ1402を用いたデータパス部102の
制御方法の第11の実施例におけるブロック図を示して
いる。また、図32の(b)は、同実施例の動作を実現
する回路の例を示すブロック図である。
【0232】図32の(a)において、データパス部1
02は、演算制御情報メモリ1402内に命令コードメ
モリ部2201とマスク部2202を持つことを特徴と
する。このようにすることにより、当該の演算制御情報
メモリ1402が制御するプロセッサエレメント105
のうち、一部のみのアドレス変更を可能とする。つま
り、図32の(a)におけるマスク部2202とは、演
算制御情報メモリ1402に含まれる各命令コードアド
レスを有効値として出力するか否かの情報を格納するも
のである。マスク部2202に含まれる各マスク220
3,2204,…,2205は、各々対応する命令コー
ドアドレスを有効値とするか否かの情報を格納するため
に1ビットにより構成される。即ち、図32の(a)の
マスク部2202においては、マスクに“1”が格納さ
れている場合は、対応する命令コードアドレスを有効値
として出力させ、“0”が格納されている場合は、無効
値として出力する。但し、無効値として出力された場
合、例えば各プロセッサエレメント105が前状態の命
令コードアドレスを保持しておき使用するよう動作し、
また演算制御情報メモリ1402が前状態の命令コード
アドレスを出力する等の動作するものとする。また、上
記の各マスクは、必ずしも1ビットで構成されるもので
はない。即ち、各マスクが対応する命令コードアドレス
を有効値とするか無効値とするかの情報のみを格納する
場合は、各マスクは1ビットで構成されるが、この他の
情報を持たせるために多ビットにより構成することも可
能である。また、各マスク2203,2204,…,2
205を1ビットで構成した場合、マスク部2202の
ビット幅は、命令コードアドレスの数と同数となる。
【0233】具体的に説明すると、例えば、マスク部2
202の値が“1”であるアドレスを有効、“0”であ
るアドレスを無効とすると、図32の(a)ではマスク
部2202中の2203、2204が“1”であるか
ら、それぞれに対応するAddr1とAddr2が有効
となり、PE1とPE2とへ命令コードアドレスが送ら
れる。しかし、マスク部2202中の2205は値が
“0”であるため、それに対応するAddrnは無効と
なり、PEnへはAddrnが送られない。
【0234】この場合、PEnは直前と同じ命令コード
アドレスを使用するように構成することで対応できる。
これにより、例えばPE1とPE2のみのアドレスを変
えたい場合、その部分のマスクのみが有効であるエント
リを一つ作れば、前の状態における他のプロセッサエレ
メント105のアドレスによらず、PE1とPE2のみ
のアドレスを変更することができる。
【0235】この機構が無いと、例えばPEnのアドレ
スが“0”の場合にも“1”の場合にも、PE1とPE
2のアドレスを“0”から“1”に変えたい場合に、P
E1とPE2のアドレスが“0”でPEnのアドレスが
“0”という演算制御情報メモリ1402のエントリ
と、PE1、PE2、PEnのアドレスが“1”という
エントリの二つが必要となる。より詳細に説明するため
に、PEnの値に依らず、状態遷移によってPE1の命
令コードアドレスを“0”から“1”に変更する場合を
例に挙げて説明する。但し、この例において、PEnの
命令コードアドレスは状態遷移によって変化しないもの
とする。上記の場合、マスク部2202により各命令コ
ードアドレスにマスクをかけることができないと、PE
nの命令コードアドレスが“0”であったときにPE1
の命令コードアドレスを“1”に変えるという演算制御
情報メモリ1402のエントリ(構成)と、PEnの命
令コードアドレスが“1”であったときにPE1の命令
コードアドレスを“1”変えるという演算制御情報メモ
リ1402のエントリ(構成)と、が必要となる。即
ち、命令コードアドレス部2201に格納される命令コ
ードアドレスとして、“1,…,0”と“1,…,1”
との2通りのエントリが必要となる。これは、全てのプ
ロセッサエレメント105へ必ず命令コードアドレスを
送信する必要があるため、このように状態に適用したエ
ントリ(構成)を設けておかなければPEnの状態が変
化してしまうためである。従って、PEnのアドレスが
“0”であった場合、前者のエントリを使用してPE1
のアドレスを“1”に変更し、且つ、PEnのアドレス
を“0”に保持する。また、PEnのアドレスが“1”
であった場合、後者のエントリを使用してPE1のアド
レスを“1”に変更し、且つPEnのアドレスを“1”
に保持する。これに対し、マスク部2202を設けた場
合、PE1のアドレスを“1”にするという演算制御情
報メモリ1402のエントリ(構成)のみでこれに対応
することが可能となる。即ち、エントリとして“1,
…,−”(“−”は、アドレスを出力しないという意
味)の1つがあれば、PE1のアドレスが“1”に変化
するが、PEnのアドレスが変化しないという遷移が可
能となる。更に、この構成は、変化しないプロセッサエ
レメント105が複数ある場合に対して、より有効な手
段となる。
【0236】このように部分的なプロセッサエレメント
105のアドレスの変更を可能とすることにより、演算
制御情報メモリ1402のエントリ数を大きく削減する
ことが可能となる。また、このような動作は、単純に演
算制御情報メモリ1402の命令コードメモリ部220
1にマスクをかけ、各々、対応するマスク値が“0”
(対応するアドレスを有効値としない)のときは、これ
に対応するアドレスを出力せず、また、対応するマスク
値が“1”のときは、これに対応するアドレスをそのま
ま出力することで実現される。また、同様な動作を、例
えば論理積回路を用いることにより実現することも可能
である。この構成例を図32の(b)に示す。図32の
(b)を参照すると、本構成例は、演算制御情報メモリ
1402におけるアドレス(例えば(a)におけるAd
dr1)の出力部にセレクタ2206を設け、このセレ
クタ2206の出力(これを例としてAddr1’とす
る)は、データパス部102に送られる他に、分岐さ
れ、レジスタ2207を介して同セレクタ2206の入
力に帰還されている。更に、セレクタ2206には、演
算制御情報メモリ1402におけるマスク部2202か
ら出力された値(例えばマスク2203)が入力され、
この値(マスク2203)を基に出力する値(Addr
1若しくはAddr1’)が選択される。但し、レジス
タ2207は、例えばフリップフロップ等で構成される
ものであり、前回の出力値(アドレス)を保持する。即
ち、図32の(a)におけるAddr1に着目して説明
すると、セレクタ2206に入力されているマスク22
03が、本例では、“1”(Addr1を有効値とす
る)であるため、セレクタ2206はAddr1を選択
して出力する。これに対して、例えばマスク2203が
“0”(Addr1を有効値としない)である場合、セ
レクタ2206は、レジスタ2207において保持され
ている値(前サイクルの値)を選択して出力する。但
し、本発明によるマスク部を用いたデータパス部の制御
方法は、上記第11の実施例による構成に限定されるも
のではなく、マスクをかけることにより状況に応じてア
ドレスの配布を行うという本発明の主旨を逸脱しない限
り、種々変形して実施することが可能である。
【0237】〔データパス部の制御方法の第12の実施
例〕次に、上記したデータパス部の制御方法の第11の
実施例を、プロセッサエレメント105だけでなく、プ
ログラマブルスイッチエレメント106に対しても適用
した場合について、以下にデータパス部の制御方法の第
12の実施例として図面を用いて詳細に説明する。図3
3は、本実施例によるデータパス部102の制御方法の
ブロック図である。
【0238】同図において、データパス部102は、演
算制御情報メモリ1402内に命令コードメモリ部22
11とマスク部2212とを持つことを特徴とする。こ
のようにすることにより、当該の演算制御情報メモリ1
402が制御するプロセッサエレメント105のうち、
一部のみのアドレス変更を可能とする。
【0239】例えば、マスク部2212の値が“1”で
あるアドレスを有効、“0”であるアドレスを無効とす
ると、図33ではマスク部2212中の2213,22
14,2223,2224が“1”であるから、それぞ
れに対応するAddr1,Addr2,Addrs1,
Addrs2が有効となり、PE1,PE2,PSEs
1及びPSEs2へ命令コードアドレスが送られる。し
かし、マスク部2212中の2215及び2225は値
が“0”であるため、それに対応するAddrn及びA
ddrskは無効となり、PEnへはAddrnが、P
SEskにはAddrskが送られない。
【0240】この場合、命令コードアドレスが送信され
ないPEn及びPSEskは直前と同じ命令コードアド
レスを使用するように構成することで対応できる。これ
により、例えばPE1とPSEs1のみのアドレスを変
えたい場合、その部分のマスクのみが有効であるエント
リを一つ作れば、前の状態における他のプロセッサエレ
メントのアドレスによらず、PE1とPSEs1のみの
アドレスを変更することができる。
【0241】この機構が無いと、例えばPEn若しくは
PSEkのアドレスが“0”の場合にも“1”の場合に
も、あるPEのアドレスのみを“0”から“1”に変え
たい場合には、PEn若しくはPSEkの現在のアドレ
スの有り得るパターン全てに対応して変更対象のPEの
アドレスを“0”から“1”にするエントリを設ける必
要がある。これは、データパス部102の制御方法の第
11の実施例における図32の(a)及び(b)の説明
と同等の理由である。
【0242】このように部分的なプロセッサエレメント
105及びプログラマブルスイッチエレメント106の
アドレスの変更を可能とすることにより、演算制御情報
メモリ1402のエントリ数を大きく削減することが可
能となる。
【0243】<命令コードアドレスを発行するタイミン
グ>また、本発明のアレイ型プロセッサ1において、状
態遷移テーブルメモリ202が命令コードアドレスを発
行するタイミングについて、以下に幾つかの実施例を用
いて詳細に説明する。ここで、本説明及び各実施例を説
明するにあたり、本発明による状態遷移テーブルメモリ
202の第3の実施例を引用して説明することとする。
但し、以下の説明では、説明の簡略化のために、強制状
態遷移テーブル1113の構成を省くものとする。
【0244】先ず、状態遷移の基本的な流れを説明する
と、本動作は、“現状態番号204”と“イベント20
9入力”とにより“次状態番号205”を求め、この
“次状態番号205”を新たな(状態遷移先の)“現状
態番号204”とするものである。ここで、回路動作を
同期式とする場合、状態遷移、即ち、次状態番号205
を現状態番号204とするタイミングを、図3における
シーケンサ部201に入力されたクロック(例えばクロ
ック207の立ち上がり。以下、このクロック207に
同期させる場合を例に挙げる。)に合わせることで実現
できる。また、イベント209(図3参照)は、状態遷
移テーブルメモリ202において次状態番号205を特
定するために必要となるため、状態遷移のタイミング、
即ち、次状態番号205を現状態番号204とする以前
にシーケンサ部201に入力されている必要がある。
【0245】〔命令コードアドレスを発行するタイミン
グの第1の実施例〕この状態遷移テーブルメモリ202
が命令コードアドレスを発行するタイミングを図34に
示す第1の実施例を用いて詳細に説明する。ここで、本
実施例を説明するにあたり、上記と同様に、本発明によ
る状態遷移テーブルメモリ202の第2の実施例を引用
し、図34の(a)に示す状態遷移テーブルメモリ20
2の構成と(b)に示す状態遷移タイミングチャート図
とを用いて説明することとする。但し、強制状態遷移テ
ーブル1113の構成は説明の簡略化のために省する。
【0246】図34の(b)を説明するにあたり、クロ
ックの立ち上がりに同期した回路を構成したとする。ま
た、図34の(b)において、“T1”,“T2”を、
それぞれ連続した任意のクロックの立ち上がりタイミン
グとし、各々のタイミングの間隔をサイクルと呼ぶ(例
えばタイミング“T1”から“T2”の直前までの期間
をサイクルC1と呼ぶ:以下、各実施例において同様で
ある)。このことを踏まえて図34の(b)を参照する
と、本実施例では、イベント209がサイクルC1(但
し、タイミング“T2”に対して、ある程度の余裕をも
つ直前であることが好ましい。この点も、以下の各実施
形態において同様である。)の期間に入力される。但
し、状態が切り替わるのはクロックの立ち上がりと同時
(同期)である。これにより、本実施例では、効率的な
(遅延のない)状態遷移が実現されている。これは、サ
イクルC1、即ち、タイミング“T2”の直前までの段
階において、現状態番号204と入力されたイベント2
09との組み合わせを基に次状態番号205を特定し、
タイミング“T2”となると同時に、この特定した次状
態番号205を現状態番号204とすることに起因して
いる。即ち、ある状態のサイクルにおいてイベントが入
力されると、この入力されたイベントを同サイクル内で
解釈し、次のサイクルの最初に遷移すべき状態へ移行す
ることが可能となる。また、次のサイクルの最初に遷移
すべき状態へ移行することが可能となるのは、次状態番
号205を現状態番号204とする(状態遷移する)タ
イミングを図3におけるシーケンサ部201に入力され
たクロック(例えばクロック207の立ち上がり)に合
わせているためである。但し、“T1”のタイミングよ
り前にイベント209をシーケンサ部201に入力し、
このイベント209をシーケンサ部201においてレジ
スタ等で保持しておくという構成も可能であり、この構
成から得られる効果も、上記のものと同様なものとな
る。
【0247】この状態遷移の過程を示す図34の(b)
の状態遷移タイミングチャート図について、図34の
(a)の状態遷移テーブルメモリ202の構成図を用い
て、より詳細に説明する。図34の(a)を参照する
と、図34の(b)の状態遷移タイミングチャート図に
おけるサイクルC1では状態は(1)である。この状態
において、サイクルC1の期間に、現状態番号204
(状態(1))がイベント状態遷移テーブル1111と
デフォルト状態遷移テーブル1112との両方に入力さ
れ、この入力に対し、イベント状態遷移テーブル111
1が、例えば4つの次状態番号1126(図34の
(b)では状態(3)と状態(4)との2つの次状態番
号1126)を出力し、また、デフォルト状態遷移テー
ブル1112が、1つの次状態番号1127(図34の
(b)では状態(2)の1つの次状態番号1127)を
出力する。
【0248】ここで、同じくサイクルC1の期間にイベ
ント識別コード1206がシーケンサ部201(図3参
照)からセレクタ1118及びイベント発生判定回路1
211に入力される。従って、イベントが発生している
場合(例えば、図15の説明において、1hotとして
構成されたイベント識別コード1206におけるビット
のいずれかに“1”が格納されている場合)、セレクタ
1118では、入力された次状態番号1126(状態
(3)及び状態(4))の中からこれに対応する次状態
番号1126(状態(3)又は状態(4))がセレクタ
1119へ出力される。また、サイクルC1の期間にイ
ベント発生判定回路1211では、イベントが発生して
いることを示すイベント一致信号1114がセレクタ1
119へ出力される。さらに、デフォルト状態遷移テー
ブル1112からは、現状態番号204に対応した次状
態番号1127(状態(4))がセレクタ1119へ出
力される。
【0249】これにより、セレクタ1119では、イベ
ント一致信号1114に基づき次状態番号1126,1
127のいずれか(状態(3),状態(4)、若しくは
状態(2)のいずれか)が次状態番号205として出力
される。但し、これまでの動作は、サイクルC1期間
内、即ち、タイミング“T2”の直前までに処理される
ものである。このように出力された次状態番号205
は、タイミング“T2”において現状態番号204とし
て有効化され、サイクルC2になると、この現状態番号
204がシーケンサ部201から状態遷移テーブルメモ
リ202へ出力される。
【0250】〔命令コードアドレスを発行するタイミン
グの第2の実施例〕更に、本発明による状態遷移テーブ
ルメモリ202が命令コードアドレスを発行するタイミ
ングについて、上記の命令コードアドレスを発行するタ
イミングの第1の実施例を応用した例を、以下に命令コ
ードアドレスを発行するタイミングの第2の実施例とし
て図面を用いて詳細に説明する。ここで、本実施例を説
明するにあたり、上記の命令コードアドレスを発行する
タイミングの第1の実施例と同様に、本発明による状態
遷移テーブルメモリ202の第2の実施例を引用し、図
35の(a)に示す状態遷移テーブルメモリ202の構
成と(b)に示す状態遷移タイミングチャート図とを用
いて説明することとする。但し、強制状態遷移テーブル
1113の構成は説明の簡略化のために省する。
【0251】また、本実施例は上記の命令コードアドレ
スを発行するタイミングの第1の実施例と比較して、条
件分岐が実現される2つ(2サイクル)前の状態におい
てイベント209がシーケンサ部201(図2参照)に
入力されるという特徴がある。(第1の実施例では、条
件分岐の1つ(1サイクル)前の状態においてイベント
209が入力される構成である。) また、構成としての差分は、セレクタ1118とイベン
ト発生判定回路1211との前段にイベント識別コード
1206を保持するレジスタ3001が設けられた点で
ある。このレジスタ3001は、例えばフリップフロッ
プ等により構成される。このレジスタ3001によっ
て、本実施例では、図35の(b)に示すタイミング
“T3”において条件分岐が実現される。即ち、図35
の(b)におけるタイミング“T2”の直前のサイクル
C1においてイベント209がシーケンサ部201に入
力され、このシーケンサ部201から出力されたイベン
ト識別コード1206がタイミング“T2”の時点でレ
ジスタ3001に保持される。但し、“T1”のタイミ
ングより前にイベント209をシーケンサ部201に入
力し、このイベント209をシーケンサ部201におい
てレジスタ等で保持しておくという構成も可能であり、
この構成から得られる効果も、上記のものと同様なもの
となる。
【0252】この状態遷移の過程を示す図35の(b)
の状態遷移タイミングチャート図について、図35の
(a)の状態遷移テーブルメモリ202の構成図を用い
て、より詳細に説明する。図35の(a)を図35の
(b)を用いて説明するにあたり、第1の実施例と同様
に、クロックの立ち上がりに同期した回路を構成したと
する。また、図35の(b)において、“T1”,“T
2”,“T3”を、それぞれ任意のクロックの立ち上が
りタイミングとし、タイミング“T1”から“T2”の
直前までをサイクルC1、タイミング“T2”から“T
3”の直前までをサイクルC2と呼ぶ。このことを踏ま
えて図35の(a)を参照すると、図35の(b)の状
態遷移タイミングチャート図におけるサイクルC1で
は、先ず、イベント209がシーケンサ部201に入力
される。また、サイクルC1では、現状態番号204と
して状態(1)がイベント状態遷移テーブル1111と
デフォルト状態遷移テーブル1112との両方に入力さ
れる。この入力に対し、イベント状態遷移テーブル11
11からは、状態(1)に対応する例えば4つの次状態
番号1126(この次状態番号1126の値は、本説明
においては特に限定されるものではない。)が出力さ
れ、また、デフォルト状態遷移テーブル1112から
は、1つの次状態番号1127(図35の(b)では状
態(2)の1つの次状態番号1127)が出力される。
但し、同じサイクルC1では、シーケンサ部201から
出力されたイベント識別コード1206が、一旦レジス
タ3001において保持されるため、セレクタ1118
及びイベント発生判定回路1211には、イベント識別
コード1206が入力されない。従って、セレクタ11
19から出力される次状態番号205は、セレクタ11
18からの出力の如何に関わらず、次状態番号1127
として出力された状態(2)となる。また、この次状態
番号205(次状態番号1127=状態(2))は、シ
ーケンサ部201に入力され、タイミング“T2”にお
いて現状態番号204とされる。また、このタイミング
“T2”では、サイクルC1で入力されたイベント識別
コード1206がレジスタ3001に書き込まれる。
【0253】その後、次のサイクルC2では、タイミン
グ“T2”において現状態番号204とされた状態
(2)がイベント状態遷移テーブル1111及びデフォ
ルト状態遷移テーブル1112に入力される。従って、
サイクルC2では、このイベント状態遷移テーブル11
11から状態(2)に対応した例えば4つの次状態番号
1126(図35の(b)では、状態(4)及び状態
(5)の2つの次状態番号1126)がセレクタ111
8へ出力され、また、デフォルト状態遷移テーブル11
12から状態(2)に対応した次状態番号1127(図
35の(b)では、状態(3)の1つの次状態番号11
27)がセレクタ1119へ出力される。
【0254】また、このサイクルC2において、レジス
タ3001からは、タイミング“T2”で保持したイベ
ント識別コード1206がセレクタ1118及びイベン
ト発生判定回路1211へ出力される。更に、このイベ
ント識別コード1206が入力されたイベント発生判定
回路1211からは、イベント一致信号1114がセレ
クタ1119へ出力される。従って、サイクルC1でイ
ベントが発生していた場合、セレクタ1118からは、
該当する次状態番号1126(状態(4)若しくは状態
(5))がセレクタ1119へ出力される。その後、セ
レクタ1119からは、セレクタ1118から入力され
た次状態番号1126(状態(4)若しくは状態
(5))が次状態番号205として出力される。これに
対して、サイクルC1でイベントが発生していなかった
場合、セレクタ1119からは、セレクタ1118から
の出力の如何に関わらず、デフォルト状態遷移テーブル
1112から入力された次状態番号1127(状態
(3))が次状態番号205として出力される。また、
この出力された次状態番号205は、シーケンサ部20
1に入力され、タイミング“T3”において現状態番号
204として有効化される。
【0255】即ち、命令コードアドレスを発行するタイ
ミングの第1の実施例では、((サイクルC1における
現状態番号204)+(サイクルC1の期間に入力され
たイベント209))から(サイクルC2における次状
態番号205)が特定されるが、本実施例では、((サ
イクルC2における現状態番号204)+(サイクルC
1の期間に入力されたイベント209))から(サイク
ルC3における次状態番号205)が特定されるという
構成となっている。
【0256】このように構成することで本実施例では、
クリティカルパスを短くすることが可能となり、アレイ
型プロセッサ1の動作周波数を上げることができる。こ
れは、イベント識別コード1206があるサイクル(状
態)においてデータパス部102により演算された結果
に従い状態遷移管理部101に入力されることに起因し
ている。即ち、イベント識別コード1206がセレクタ
1118とセレクタ1119とに入力されて次状態番号
205が出力され、さらにこの次状態番号205が、例
えば図3に示した構成例では制御情報メモリ203に入
力されて命令コードアドレスが送出された後に、プロセ
ッサエレメント105の命令コードメモリ1501(例
として図20参照)に入力されるまでを1サイクルとし
て構成した場合、クリティカルパスとなるこのパスが長
いために、動作速度が低下してしまう。従って、本実施
例では、このパスの途中にレジスタ3001を設けるこ
とで、このパスを比較的短い2つのクリティカルパスに
分割し、動作速度の低下を防ぐよう構成している。そし
て、この2つ(イベント伝送と命令アドレス供給と)を
パイプライン動作させることにより、スループットを上
げ、全体の処理性能を向上させることができる。
【0257】但し、本実施例は、命令コードアドレスを
発行するタイミングの第1の実施例においてサイクルC
1(第2の実施例ではサイクルC2に相当)における状
態(1)(第2の実施例では状態(2)に相当)とイベ
ント209入力との組み合わせにより次状態番号205
を決定していたものを、第2の実施例では、1サイクル
前のサイクルC1(第1の実施例では、サイクルC1の
直前のサイクルに相当)においてイベント209を入力
する必要があるため、状態遷移とイベント209を入力
するタイミングとの決定が複雑化するという欠点があ
る。また、本実施例では、サイクルC1にイベント20
9を入力できない場合、条件分岐のタイミングが1サイ
クル遅れる。これは、図35の(b)に示す状態遷移タ
イミングチャート図において、サイクルC1にイベント
を入力することが不可能なためにサイクルC2に入力し
た場合、サイクルC3にダミーの状態を挿入する必要が
あり、これが原因で実際に状態分岐が行われるタイミン
グがタイミング“T3”より1サイクル遅れたタイミン
グとなるためである。
【0258】〔命令コードアドレスを発行するタイミン
グの第3の実施例〕更に、本発明による状態遷移テーブ
ルメモリ202が命令コードアドレスを発行するタイミ
ングについて、上記の命令コードアドレスを発行するタ
イミングの第2の実施例をさらに応用した例を、以下に
命令コードアドレスを発行するタイミングの第3の実施
例として図面を用いて詳細に説明する。ここで、本実施
例を説明するにあたり、上記の命令コードアドレスを発
行するタイミングの第2の実施例と同様に、本発明によ
る状態遷移テーブルメモリ202の第2の実施例を引用
し、図36の(a)に示す状態遷移テーブルメモリ20
2の構成と、(b)に示す状態遷移図と、(c),
(d)に示す状態遷移タイミングチャート図とを用いて
説明する。但し、強制状態遷移テーブル1113の構成
は説明の簡略化のために省する。
【0259】また、本実施例は上記の命令コードアドレ
スを発行するタイミングの第2の実施例と比較して、図
36の(c),(d)に示すように、デフォルト時の状
態遷移では通常の状態分岐(状態(1)→状態(2)→
状態(3))を実現し、イベント発生時の状態遷移では
途中に1サイクル無効なサイクルが存在し、分岐する
(状態(1)→状態(4)若しくは(5))点を特徴と
している。即ち、本実施例では、イベント209が入力
されない場合では、デフォルト状態遷移に従い、サイク
ル毎に順次状態が遷移するが、イベント209が入力さ
れた場合では、入力から条件分岐までに1サイクル無効
なサイクルを挿入する。これを実現するにあたり、本実
施例は、命令コードアドレスを発行するタイミングの第
2の実施例におけるレジスタ3001だけでなく、イベ
ント状態遷移テーブル1111の出力とセレクタ111
8との間にレジスタ3002を設けている。但し、レジ
スタ3002も、例えばフリップフロップ等により構成
される。
【0260】この状態遷移を図36の(c),(d)を
用いて説明する。但し、図36の(c),(d)を説明
するにあたり、第2の実施例と同様に、クロックの立ち
上がりに同期した回路を構成したとする。また、図35
の(c),(d)において、“T1”,“T2”,“T
3”を、それぞれ任意のクロックの立ち上がりタイミン
グとし、タイミング“T1”から“T2”の直前までを
サイクルC1、タイミング“T2”から“T3”の直前
までをサイクルC2と呼ぶ。このことを踏まえて、図3
6の(c)を参照すると、本実施例は、サイクルC1に
おいて状態が(1)であり、このサイクル中にイベント
209が入力されなければ、次のサイクルC2において
状態(2)に遷移し、さらに次のサイクルC3において
状態(3)となる。これに対して、図36の(d)を参
照すると、サイクルC1においてイベント209が入力
された場合、サイクルC2において一度、状態(2)に
遷移した状態がキャンセルされ、次のサイクルC3にお
いて、サイクルC1で入力されたイベント209に応じ
た状態遷移(状態(4)または状態(5)への遷移)が
実行される。このような状態遷移の形は、デフォルト状
態による遷移が多く発生し、たまにイベント209が入
力されるという場合に特に有効な形態である。何故な
ら、デフォルト状態による遷移の場合は、ロスとなる無
効のサイクルがなく状態遷移がされるが、イベント20
9が入力された場合は、必ず1サイクル分の無駄が挿入
されるためである。
【0261】上記において説明した状態遷移タイミング
チャート図について、図36の(a)の状態遷移テーブ
ルメモリ202の構成図を用いて、より詳細に説明す
る。図36の(a)を参照すると、サイクルC1におい
てイベント209がシーケンサ部201(図3参照)に
入力された場合、タイミング“T2”においてその値は
レジスタ3001に保持される。また、サイクルC1で
は、イベント状態遷移テーブル1111及びデフォルト
状態遷移テーブル1112に、現状態番号204とし
て、状態(1)が入力されている。従って、サイクルC
1では、イベント状態遷移テーブル1111からは、状
態(1)に対応する例えば4つの次状態番号1126
(図36の(b)及び(d)では、状態(4)及び状態
(5))が出力され、また、デフォルト状態遷移テーブ
ル1112からは、状態(1)に対応する次状態番号1
127(図36の(b),(c)及び(d)では、状態
(2))が出力される。但し、上記において、イベント
状態遷移テーブル1111から出力された次状態番号1
126は、レジスタ3002に保持されるため、サイク
ルC1において、セレクタ1118へは何も入力されな
い。また、このとき、セレクタ1118及びイベント発
生判定回路1211には、イベント識別コード1206
が入力されていないため、セレクタ1119にイベント
一致信号1114が入力されず、強制的にセレクタ11
19は、デフォルト状態遷移テーブル1112から入力
された次状態番号1127(状態(2))を次状態番号
205としてシーケンサ部201へ出力する。これに対
して、シーケンサ部201では、タイミング“T2”に
おいて、入力された次状態番号205(状態(2))を
現状態番号204として有効化し、これをサイクルC2
において出力する。よって、本実施例では、サイクルC
2において全ての条件分岐に対して一時、デフォルト状
態遷移テーブル1112から出力された状態が有効化さ
れる。
【0262】次に、サイクルC2では、タイミング“T
2”で有効化された現状態番号204(状態(2))が
イベント状態遷移テーブル1111及びデフォルト状態
遷移テーブル1112に入力され、各々のテーブルより
この状態(2)に対応した次状態番号1126(この次
状態番号1126の値は、本説明においては特に限定さ
れるものではない。)及び1127(図36の(b),
(c)及び(d)における状態(3))が出力される。
但し、このとき、レジスタ3002には、前のサイクル
C1において保持した次状態番号1126が格納されて
いるため、サイクルC2においてセレクタ1118に入
力される次状態番号1127は、この格納されている値
(図36の(b),(d)では、状態(4)及び
(5))である。また、タイミング“T2”でレジスタ
3001に保持されたイベント識別コード1206も、
サイクルC2においてセレクタ1118及びイベント発
生判定回路1211へ入力される。
【0263】このため、サイクルC2では、例えばサイ
クルC1でイベントが発生していた場合、このイベント
識別コード1206に該当する次状態番号1126(図
36の(b),(d)では、状態(4)若しくは
(5))が選択され、セレクタ1119へ出力される。
また、イベント発生判定回路1211からは、イベント
が発生したことを示したイベント一致信号1114がセ
レクタ1119へ入力されるため、セレクタ1119か
らは、セレクタ1118より入力された次状態番号11
26(状態(4)若しくは(5))が選択され、次状態
番号205として出力される。その後、この出力された
次状態番号205は、シーケンサ部201に入力され、
タイミング“T3”において現状態番号204として有
効化される。但し、このままでは、タイミング“T2”
のときに、一旦、現状態番号204としてデフォルト状
態遷移テーブル1112から出力された状態(2)を有
効化しているため、動作に矛盾が生じる。従って、本実
施例では、この矛盾を回避するために、サイクルC2に
おける、イベント発生判定回路1211にてイベント識
別コード1206がイベント発生を示していると判定し
た時点で、イベント発生判定回路1211がデータパス
部102に対して、現在実行している動作(書き込み
等)をキャンセルさせるための動作(書き込み)キャン
セル信号1207を出力するよう構成する。これによ
り、サイクルC2において実行されている動作をキャン
セルし、新たにタイミング“T3”で有効化された現状
態番号204に基づく動作を前の状態(この場合、状態
(1))に引き続いて実行可能なように構成する。これ
に対して、サイクルC1でイベントが発生していなかっ
た場合、サイクルC2では、第2の実施例と同様に、セ
レクタ1119が、デフォルト状態遷移テーブル111
2より入力された、現状態番号204(状態(2))に
対応する次状態番号1127(状態(3))を選択し
て、次状態番号205として出力する。その後、この出
力された次状態番号205(状態(3))は、シーケン
サ部201に入力され、タイミング“T3”において現
状態番号204として有効化される。但し、この動作に
おいて、イベントが発生していないため、イベント発生
判定回路1211は、動作(書き込み)キャンセル信号
1207を出力しない。
【0264】このような動作を経ることにより、タイミ
ング“T3”では、サイクルC1においてイベント20
9が入力されていた場合、そのイベント209に応じた
次状態番号205(図36の(b),(d)では状態
(4)若しくは状態(5)に対応)を現状態番号204
とし、また、サイクルC1においてイベント209が入
力されていない場合、デフォルト状態遷移テーブル11
12に従って出力された次状態番号205(図36の
(b)では状態(3)に対応)を現状態番号204とす
ることが可能となる。
【0265】〔命令コードアドレスを発行するタイミン
グの第1から第3の実施例の各サイクル毎の状態〕ま
た、上述した命令コードアドレスを発行するタイミング
の第1から第3の実施例における各サイクル毎の状態に
ついて、図38を用いて比較する。図38を参照する
と、上記第1から第3の実施例全てにおいて、タイミン
グ“T1”から“T2”の直前までのサイクルC1の期
間の状態は、(1)とされている。この状態において、
第1の実施例では、サイクルC1においてイベント(イ
ベント無しも含むとする)と現状態番号204(状態
(1)が入力され、この組み合わせに応じた次状態番号
205(状態(2)又は、(3)若しくは(4))が出
力される。従って、タイミング“T2”では、この組み
合わせに応じた次状態番号205が現状態番号204と
して有効化され、この現状態番号204を基にタイミン
グ“T2”において状態遷移が行われる。また、第2の
実施例では、サイクルC1において入力されたイベント
がタイミング“T2”においてレジスタ3001に保持
されるため、サイクルC2における状態は、デフォルト
遷移に従って状態(2)となる。従って、サイクルC2
では、保持されたイベントと状態(2)との組み合わせ
に応じた次状態番号205(状態(3)又は、(4)若
しくは(5))が出力され、これがタイミング“T3”
において現状態番号204として有効化される。更に、
第3の実施例では、サイクルC1において入力されたイ
ベントが第2の実施例と同様に、タイミング“T2”に
おいてレジスタ3001に保持される。従って、タイミ
ング“T2”の時点では、サイクルC1において出力さ
れた、デフォルト状態遷移テーブル1112において状
態(1)に対応する次状態番号1127(状態(2))
が現状態番号204として有効化される。但し、サイク
ルC1では、イベント状態遷移テーブル1111から状
態(1)に対応する次状態番号1126(状態(4)若
しくは(5))が出力され、これがレジスタ3002に
おいて保持されている。ここで、サイクルC1において
イベントが発生しなかった場合、第2の実施例と同様
に、サイクルC2では、デフォルト状態遷移テーブル1
112から、タイミング“T2”において現状態番号2
04とされた状態(2)に対応する次状態番号1127
(状態(3))が出力され、これがタイミング“T3”
において現状態番号204として有効化される。これに
対して、サイクルC1においてイベントが発生していた
場合、実行されている状態(2)が、動作(書き込み)
キャンセル信号1207によりキャンセルされ、代わり
に、サイクルC1においてレジスタ3002に保持され
た次状態番号1126(状態(4)若しくは(5))が
現状態番号204として有効化される。
【0266】〔命令コードアドレスを発行するタイミン
グの第4の実施例〕また、上述した命令コードアドレス
を発行するタイミングの第1から第3の実施例について
は、図37のように構成することにより、各実施例の何
れかを選択して実行するよう構成することが可能であ
る。これを以下に、命令コードアドレスを発行するタイ
ミングの第4の実施例として説明する。但し、本実施例
でも、本発明による状態遷移テーブルメモリ202の第
2の実施例を引用し、強制状態遷移テーブル1113の
構成は説明の簡略化のために省略する。
【0267】図37を参照すると、本実施例では、イベ
ント状態遷移テーブル1111からの各出力に対して、
各々が分岐され、一方がレジスタ3004〜3007を
介し、他の一方がこれを介さずに対応するセレクタ31
02〜3105に入力されるよう構成されている。ま
た、このセレクタ3102〜3105は、図20におけ
る命令デコーダ1502からの出力に対応するメモリ3
022に接続されており、各セレクタ3102〜310
5における選択(レジスタ3004〜3007各々に関
して使用するか否かの選択)には、この命令デコーダ1
502でデコードされた命令コードが使用される。ま
た、本実施例では、セレクタ1118及びイベント発生
判定回路1211に入力されるイベント識別コード12
06に対しても、分岐して、一方がレジスタ3003を
介し、他の一方が介さずにセレクタ3101に入力され
るよう構成されている。また、このセレクタ3101
も、図20における命令デコーダ1502からの出力に
対応するメモリ3021に接続されており、セレクタ3
101における選択(レジスタ3003を使用するか否
かの選択)には、この命令デコーダ1502でデコード
された命令コードが使用される。但し、上記における各
レジスタ3003、〜、3007も、各々例えばフリッ
プフロップ等により構成される。
【0268】このように構成することで、本実施例で
は、メモリ3022及びメモリ3021の値を制御する
ことにより、図34から図36に示す命令コードアドレ
スを発行するタイミングの第1の実施例から第3の実施
例のいずれかを選択して実行させることが可能となる。
但し、本実施例の選択には、アプリケーションの実装時
に1つに固定して使用することも可能であるし、また、
動作中(状態遷移時)に選択して切り替えるよう構成す
ることも可能である。
【0269】
【発明の効果】以上説明したように、本発明によるアレ
イ型プロセッサでは、データパス部分のプロセッサエレ
メントアレイを演算処理に特化させることが可能とな
り、状態遷移管理部は状態遷移手段としての動作および
データパス部の制御を柔軟に行うよう構成を特化させる
ことができるという効果があり、これにより面積、処理
性能の両面に対する効果も得られる。
【0270】また、状態遷移手段としての動作におい
て、条件により複数の遷移先の中から一つの状態を選択
する際、選択先の状態数によらず分岐に要する時間を一
定とすることを実現し、状態遷移を記述するテーブルに
も分岐先の状態数のばらつきによる無駄が生じない効果
がある。また、条件が一致した時の遷移先および条件が
一致しなかった場合の遷移先を容易に記述することを可
能としている。また、状態遷移の方法として、状態遷移
管理部内だけの制御、データパス部からの信号による制
御、アレイ型プロセッサ外部からの信号による制御のい
ずれも可能としており、状態遷移条件設定の柔軟性を高
める効果がある。
【0271】さらに、状態遷移管理部によるデータパス
部の制御は、全プロセッサエレメントおよび全プログラ
マブルスイッチエレメントを独立に制御する、いくつか
のエレメントを固定的にグループ化し制御する、プログ
ラムによりグループ化を決定し制御する、全エレメント
の中の一部のみを制御することが可能となる。この結
果、目的に応じてデータパス部の制御の柔軟性と、制御
のために必要とされるリソース量のバランスを考慮した
アレイ型プロセッサの構成を可能とする効果がある。
【0272】また、全ての制御を状態遷移管理部が行う
のではなく、データパス部内においても制御の信号を発
生して直接データパス部内を制御する方法も可能として
いるため、制御に関する柔軟性を高める効果がある。
【図面の簡単な説明】
【図1】図1は、本発明のアレイ型プロセッサの実施形
態における概略ブロック図を示している。
【図2】図2は、本発明のアレイ型プロセッサの実施形
態における状態遷移管理部の第1の実施例の概略ブロッ
ク図を示している。
【図3】図3は、本発明のアレイ型プロセッサの実施形
態における状態遷移管理部の第2の実施例の概略ブロッ
ク図を示している。
【図4】図4は、図2及び図3に示した状態遷移管理部
の命令コードアドレス発行のタイミングチャート図を示
している。
【図5】図5は、本発明のアレイ型プロセッサの実施形
態における状態遷移管理部の第3の実施例の概略ブロッ
ク図を示している。
【図6】図6は、図5に示した状態遷移管理部の命令コ
ードアドレス発行のタイミングチャート図を示してい
る。
【図7】図7は、本発明のアレイ型プロセッサの実施形
態におけるデータパス部の第1の実施例の概念図を示し
ている。
【図8】図8は、本発明のアレイ型プロセッサの実施形
態におけるデータパス部の第1の実施例の概略ブロック
図を示している。
【図9】図9は、本発明のアレイ型プロセッサの実施形
態におけるデータパス部の第2の実施例の概略ブロック
図を示している。
【図10】図10は、本発明のアレイ型プロセッサの実
施形態におけるデータパス部の第3の実施例の概略ブロ
ック図を示している。
【図11】図11は、本発明のアレイ型プロセッサの実
施形態におけるデータパス部の第4の実施例の概略ブロ
ック図を示している。
【図12】図12は、本発明のアレイ型プロセッサの実
施形態におけるシーケンサ部の第1の実施例の概略ブロ
ック図を示している。
【図13】図13は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリの第1の実施例
の概略ブロック図を示している。
【図14】図14は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリに書き込まれた
状態遷移例の図を示している。
【図15】図15は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリの第2の実施例
の概略ブロック図を示している。
【図16】図16は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリの第3の実施例
の概略ブロック図を示している。
【図17】図17は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリの第4の実施例
の概略ブロック図を示している。
【図18】図18は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリの第5の実施例
の概略ブロック図を示している。
【図19】図19は、本発明のアレイ型プロセッサの実
施形態における制御情報メモリの第1の実施例の概略ブ
ロック図を示している。
【図20】図20は、本発明のアレイ型プロセッサの実
施形態におけるプロセッサエレメントの第1の実施例の
概略ブロック図を示している。
【図21】図21は、本発明のアレイ型プロセッサの実
施形態におけるプロセッサエレメントの第2の実施例の
概略ブロック図を示している。
【図22】図22は、本発明のアレイ型プロセッサの実
施形態におけるプログラマブルスイッチエレメントの第
1の実施例の概略ブロック図を示している。
【図23】図23は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第1の実施例の模式図を示している。
【図24】図24は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第2の実施例の模式図を示している。
【図25】図25は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第4の実施例の模式図を示している。
【図26】図26は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第5の実施例の模式図を示している。
【図27】図27は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第6の実施例の模式図を示している。
【図28】図28は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第7の実施例の模式図を示している。
【図29】図29は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第8の実施例の模式図を示している。
【図30】図30は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第9の実施例の模式図を示している。
【図31】図31は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第10の実施例の模式図を示している。
【図32】図32は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第11の実施例を説明するための図であ
り、(a)は、本実施例の模式図を示し、(b)は、本
実施例の動作を実現するための回路構成の例を示してい
る。
【図33】図33は、本発明のアレイ型プロセッサの実
施形態における演算制御情報メモリを用いたデータパス
部の制御方法の第12の実施例の模式図を示している。
【図34】図34は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリによる命令コー
ドアドレス発行のタイミングの第1の実施例を説明する
ための図であり、(a)は、第1の実施例の概略ブロッ
ク図であり、(b)は、第1の実施例の状態遷移タイミ
ングチャート図である。
【図35】図35は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリによる命令コー
ドアドレス発行のタイミングの第2の実施例を説明する
ための図であり、(a)は、第2の実施例の概略ブロッ
ク図であり、(b)は、第2の実施例の状態遷移タイミ
ングチャート図である。
【図36】図36は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリによる命令コー
ドアドレス発行のタイミングの第3の実施例を説明する
ための図であり、(a)は、第3の実施例の概略ブロッ
ク図であり、(b)は、第3の実施例の状態遷移図であ
り、(c)は、(b)の状態遷移におけるデフォルト遷
移に着目した状態遷移タイミングチャート図であり、
(d)は、(b)の状態遷移におけるイベント遷移に着
目した状態遷移タイミングチャート図である。
【図37】図37は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリによる命令コー
ドアドレス発行のタイミングの第4の実施例を説明する
ための概略ブロック図である。
【図38】図38は、本発明のアレイ型プロセッサの実
施形態における状態遷移テーブルメモリによる命令コー
ドアドレス発行のタイミングの第1から第3の実施例に
おける各サイクル毎の状態を比較するための図である。
【符号の説明】
1 アレイ型プロセッサ 101 状態遷移管理部 102 データパス部 103、701、2003、2013、2023、20
33−V1,2033−V2,…、2033−H1,2
033−H2,… 演算制御バス 104 イベント通知バス 105 プロセッサエレメント 106 プログラマブルスイッチエレメント 107 外部イベントバス 108 データ入力 109 データ出力 201 シーケンサ部 202 状態遷移テーブルメモリ 203 制御情報メモリ 204 現状態番号 205、1106、1107、1109、1126、1
127、1128、1146、1147、1148、1
166、1168 次状態番号 206、1206、1226、1246 イベント識別
コード 207 クロック 208 リセット 209 イベント 210、1216、1236、1256 強制イベント
識別コード 401 遅延 402 状態遷移 403 状態遷移の直前の状態 404 状態遷移の直後の状態 601、703、801、901 データバス 702 接続制御バス 902、1901、1902 グループ 1001 符号化器 1002、1504、2207、3001、3002、
3003、3004、3005、3006、3007
レジスタ 1101、1111、1121、1131 イベント状
態遷移テーブル 1102、1112、1122 デフォルト状態遷移テ
ーブル 1103、1113、1123、1133 強制状態遷
移テーブル 1104、1114、1124、1134 イベント一
致信号 1105、1115、1125、1135 強制イベン
ト一致信号 1108、1110、1118、1119、1120、
1138、1139、1140、1158、1159、
2001、2011、2021、2206、3101、
3102、3103、3104、3105 セレクタ 1207 動作(書き込み)キャンセル信号 1211、1212、1221、1222、1232
イベント発生判定回路1301 通常状態遷移テーブル 1346、1347、1348、1505 命令コード
アドレス 1401 状態番号 1402 演算制御情報メモリ 1501 命令コードメモリ 1502、1602 命令デコーダ 1503 演算部 1506 入力データ 1507 出力データ 1508 命令コード 1601 制御信号 1603、1604 プログラマブルスイッチ 1701 接続構成情報メモリ 1702 接続スイッチ 1703 接続構成情報 1704 接続線 2002、2012、2022、3021、3022
メモリ 2201、2211 命令コードメモリ部 2202、2203、2204、2205、2212、
2213、2214、2215、2223、2224、
2225 マスク部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 古田 浩一朗 東京都港区芝五丁目7番1号 日本電気株 式会社内 Fターム(参考) 5B045 GG12

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】 複数の演算状態間の遷移ルールが書き込
    まれた状態遷移テーブルを記憶する状態遷移テーブルメ
    モリおよび、この状態遷移テーブルメモリを用いて前記
    複数の演算状態間の遷移を制御することにより、任意の
    時点における演算状態を決定するシーケンサ部を有する
    状態遷移管理部と、 この状態遷移管理部で決定された演算状態に基づいて演
    算処理を行なう複数のプロセッサエレメント、および、
    前記状態遷移管理部で決定された演算状態に基づいて前
    記プロセッサエレメント間を接続する複数のプログラマ
    ブルスイッチエレメントを、二次元アレイ状に電気的に
    接続して構成されたデータパス部とを独立に具備し、 前記プロセッサエレメントは、複数の命令コードを記憶
    する命令コードメモリと、この命令コードメモリから読
    み出された前記命令コードを解読する命令デコーダと、
    解読された前記命令コードに基づいて、前記演算処理を
    行なう演算部とを有し、かつ、前記プログラマブルスイ
    ッチエレメントは、前記プロセッサエレメントと前記プ
    ログラマブルスイッチエレメント間、及び/又は、前記
    プログラマブルスイッチエレメント相互間の接続構成を
    指示する接続構成情報を複数セット記憶する接続構成情
    報メモリを有していることを特徴とするアレイ型プロセ
    ッサ。
  2. 【請求項2】 上記請求項1に記載のアレイ型プロセッ
    サにおいて、 前記状態遷移管理部からの制御が、前記状態遷移管理部
    単独による前記演算状態の遷移、及び/又は、前記デー
    タパス部からのイベントを入力することによる前記演算
    状態の遷移、及び/又は、外部からのイベントを入力す
    ることによる前記演算状態の遷移に基づくことを特徴と
    するアレイ型プロセッサ。
  3. 【請求項3】 上記請求項1又は2に記載のアレイ型プ
    ロセッサにおいて、 前記状態遷移管理部と前記データパス部とを電気的に接
    続する演算制御バスを有し、前記状態遷移管理部が、前
    記任意の時点における演算状態に応じて前記演算制御バ
    スを通じて、前記命令コードメモリのアドレスを出力
    し、及び/又は、前記接続構成情報メモリのアドレスを
    出力することを特徴とするアレイ型プロセッサ。
  4. 【請求項4】 上記請求項3に記載のアレイ型プロセッ
    サにおいて、 一つ以上の前記演算制御バスを有し、前記状態遷移管理
    部が、前記演算制御バスに対して前記アドレスを出力
    し、かつ、各前記プロセッサエレメント及び/又は各前
    記プログラマブルスイッチエレメントが、それぞれ一つ
    の前記演算制御バスを選択して前記アドレスを入力する
    ことを特徴とするアレイ型プロセッサ。
  5. 【請求項5】 上記請求項3に記載のアレイ型プロセッ
    サにおいて、 前記状態遷移管理部が、それぞれの前記プロセッサエレ
    メントおよびそれぞれの前記プログラマブルスイッチエ
    レメントに対し、独立した前記アドレスを並列に与える
    ことを特徴とするアレイ型プロセッサ。
  6. 【請求項6】 上記請求項3に記載のアレイ型プロセッ
    サにおいて、 前記プロセッサエレメント及び/又は前記プログラマブ
    ルスイッチエレメントをグループ化し、このグループに
    対して一つの前記アドレスを与えることを特徴とするア
    レイ型プロセッサ。
  7. 【請求項7】 上記請求項5又は6に記載のアレイ型プ
    ロセッサにおいて、 一部の前記プロセッサエレメント及び/又は一部の前記
    プログラマブルスイッチエレメントに対してのみ、前記
    任意の時点における演算状態に応じた前記アドレスを与
    え、残りの前記プロセッサエレメントおよび残りの前記
    プログラマブルスイッチエレメントは、前記任意の時点
    における演算状態の直前に使用していた前記アドレスを
    継続して使用することを特徴とするアレイ型プロセッ
    サ。
  8. 【請求項8】 上記請求項3に記載のアレイ型プロセッ
    サにおいて、 前記演算制御バスが、前記プロセッサエレメントおよび
    前記プログラマブルスイッチエレメントに配設され、か
    つ、前記状態遷移管理部が、前記演算制御バスに対して
    前記アドレスを出力し、さらに、前記プロセッサエレメ
    ント及び/又は前記プログラマブルスイッチエレメント
    が、隣接する前記演算制御バスのうちいずれか一つを選
    択して前記アドレスを得ることを特徴とするアレイ型プ
    ロセッサ。
  9. 【請求項9】 上記請求項3から8のいずれかに記載の
    アレイ型プロセッサにおいて、前記プロセッサエレメン
    トおよび前記プログラマブルスイッチエレメントに対し
    て、それぞれ独立の前記演算制御バスが配設され、か
    つ、それぞれ独立した制御が行われることを特徴とする
    アレイ型プロセッサ。
  10. 【請求項10】 上記請求項1から9のいずれかに記載
    のアレイ型プロセッサにおいて、 前記プロセッサエレメントが、演算処理データを記録す
    るレジスタを有することを特徴とするアレイ型プロセッ
    サ。
  11. 【請求項11】 上記請求項10に記載のアレイ型プロ
    セッサにおいて、 前記プロセッサエレメントが、外部からの入力データま
    たは前記演算処理データに対して、前記状態遷移管理部
    からの制御に応じた演算処理を行ない、この演算処理結
    果を、前記外部に出力データとして出力するか、あるい
    は、前記レジスタに記録することを特徴とするアレイ型
    プロセッサ。
  12. 【請求項12】 上記請求項1から11のいずれかに記
    載のアレイ型プロセッサにおいて、 前記状態遷移管理部と前記データパス部とを電気的に接
    続するイベント通知バスを有し、前記データパス部が、
    前記イベント通知バスを通じて、演算結果をイベントと
    して前記状態遷移管理部に通知することを特徴とするア
    レイ型プロセッサ。
  13. 【請求項13】 上記請求項1から12のいずれかに記
    載のアレイ型プロセッサにおいて、 前記シーケンサ部が、前記状態遷移テーブルメモリに書
    き込まれた前記状態遷移ルールにしたがって、前記演算
    状態から同一のまたは異なる演算状態への状態遷移を制
    御し、前記同一のまたは異なる演算状態を新たな演算状
    態とすることを特徴とするアレイ型プロセッサ。
  14. 【請求項14】 上記請求項1から13のいずれかに記
    載のアレイ型プロセッサにおいて、 前記状態遷移テーブルが、複数の演算状態の記述エント
    リを並べたリスト形式で記録されており、前記記述エン
    トリが、状態を識別するある時点の状態番号、状態遷移
    先の状態を識別する次の時点の状態番号及び前記ある時
    点の状態から次の時点の状態へ遷移するための状態遷移
    条件を有することを特徴とするアレイ型プロセッサ。
  15. 【請求項15】 上記請求項13又は14に記載のアレ
    イ型プロセッサにおいて、 前記状態遷移管理部は、前記ある時点の状態番号、ある
    いは前記次の時点の状態番号に対応して、前記命令コー
    ドアドレスのアドレス及び/又は前記接続構成情報メモ
    リのアドレスを管理する制御情報メモリを有し、 前記状態遷移テーブルから特定された前記ある時点の状
    態番号、あるいは前記次の時点の状態番号を基に、前記
    制御情報メモリより前記命令コードメモリのアドレス及
    び/又は前記接続構成情報メモリのアドレスを特定する
    ことを特徴とするアレイ型プロセッサ。
  16. 【請求項16】 上記請求項13又は14に記載のアレ
    イ型プロセッサにおいて、 前記状態遷移管理部は、前記ある時点の状態番号に対応
    して、前記次の時点の状態番号及び、前記命令コードメ
    モリのアドレス及び/又は前記接続構成情報メモリのア
    ドレスを管理する状態遷移テーブルを有し、 前記状態遷移テーブルは、前記ある時点の状態番号を基
    に、前記次の時点の状態番号及び、前記命令コードメモ
    リのアドレス及び/又は前記接続構成情報メモリのアド
    レスを特定することを特徴とするアレイ型プロセッサ。
  17. 【請求項17】 上記請求項14から16のいずれかに
    記載のアレイ型プロセッサにおいて、 前記状態遷移テーブルが、前記ある時点の状態番号、前
    記次の時点の状態番号及び前記状態遷移条件を前記記述
    エントリとするイベント状態遷移テーブルと、前記ある
    時点の状態番号と前記次の時点の状態番号とを前記記述
    エントリとするデフォルト状態遷移テーブルとを有し、
    前記イベント状態遷移テーブルにより前記状態遷移条件
    が満たされる場合の状態遷移を実現し、かつ、前記デフ
    ォルト状態遷移テーブルにより前記状態遷移条件が満た
    されない場合の状態遷移を実現することを特徴とするア
    レイ型プロセッサ。
  18. 【請求項18】 上記請求項14から17のいずれかに
    記載のアレイ型プロセッサにおいて、 一つの前記ある時点の状態番号には、一つ以上の前記記
    述エントリが対応し、一つの前記ある時点の状態番号に
    対応する前記記述エントリが二つ以上存在する場合に
    は、当該前記記述エントリ間で異なる前記状態遷移条件
    を有することを特徴とするアレイ型プロセッサ。
  19. 【請求項19】 上記請求項15又は16に記載のアレ
    イ型プロセッサにおいて、 前記シーケンサ部が、イベントからイベント識別コード
    を生成し、さらに、前記状態遷移テーブルメモリを、前
    記ある時点の状態番号と前記イベント識別コードとで検
    索し、この検索において、前記ある時点の状態番号が合
    致し、かつ、前記イベント識別コードが前記状態遷移条
    件を満たす前記記述エントリがある場合には、前記記述
    エントリにおける前記次の時点の状態番号に基づいて、
    前記状態遷移先の状態を決定することを特徴とするアレ
    イ型プロセッサ。
  20. 【請求項20】 上記請求項19に記載のアレイ型プロ
    セッサにおいて、 前記イベントが通知されない場合に、前記シーケンサ部
    が、前記イベントが発生しなかったことを示すイベント
    識別コードを生成し、さらに、前記ある時点の状態番号
    と前記イベント識別コードの組み合わせにより前記状態
    遷移テーブルメモリを検索することを特徴とするアレイ
    型プロセッサ。
  21. 【請求項21】 上記請求項17又は18に記載のアレ
    イ型プロセッサにおいて、 前記シーケンサ部が、イベントからイベント識別コード
    を生成し、さらに、前記イベント状態遷移テーブルを前
    記ある時点の状態番号と前記イベント識別コードとで検
    索すると同時に、前記デフォルト状態遷移テーブルを前
    記ある時点の状態番号で検索し、この検索において、前
    記イベント状態遷移テーブルに、前記ある時点の状態番
    号と前記イベント識別コードが一致する前記記述エント
    リがある場合には、前記記述エントリにおける前記次の
    時点の状態番号に基づいて、前記状態遷移先の状態を決
    定し、あるいは、前記イベント状態遷移テーブルに、前
    記ある時点の状態番号と前記イベント識別コードとが一
    致する前記記述エントリが無かった場合には、前記デフ
    ォルト状態遷移テーブルにおける前記ある時点の状態番
    号と一致する前記記述エントリの前記次の時点の状態番
    号に基づいて、前記状態遷移先の状態を決定することを
    特徴とするアレイ型プロセッサ。
  22. 【請求項22】 上記請求項19から21のいずれかに
    記載のアレイ型プロセッサにおいて、 前記状態遷移テーブルメモリからなる内容アドレスメモ
    リに、前記ある時点の状態番号と前記イベント識別コー
    ドとが入力され、前記内容アドレスメモリと前記記述エ
    ントリとの並列照合により一致した前記記述エントリに
    おける前記次の時点の状態番号が出力されることを特徴
    とするアレイ型プロセッサ。
  23. 【請求項23】 上記請求項17から22のいずれかに
    記載のアレイ型プロセッサにおいて、 前記次の時点の状態番号の生成の開始以降、若しくは終
    了以降に、前記状態遷移先の状態に対応した前記命令コ
    ードメモリのアドレス及び/又は前記接続構成情報メモ
    リのアドレスの生成が行われることを特徴とするアレイ
    型プロセッサ。
  24. 【請求項24】 上記請求項17から22のいずれかに
    記載のアレイ型プロセッサにおいて、 決定された前記状態遷移先の状態が、前記状態遷移管理
    部において前記ある時点の状態とされた時点で、前記あ
    る時点の状態に対応する前記アドレスの生成を開始する
    ことを特徴とするアレイ型プロセッサ。
  25. 【請求項25】 上記請求項14から24のいずれかに
    記載のアレイ型プロセッサにおいて、 前記次の時点の状態番号の生成開始から前記プロセッサ
    エレメントおよび前記プログラマブルスイッチエレメン
    トに前記命令コードメモリのアドレス及び/又は前記接
    続構成情報メモリのアドレスが届くまでのパスに、レジ
    スタを設け、前記次の時点の状態番号の生成開始時点
    と、前記プロセッサエレメントおよび前記プログラマブ
    ルスイッチエレメントが前記アドレスを受け取る時点と
    を、別サイクルとすることを特徴とするアレイ型プロセ
    ッサ。
  26. 【請求項26】 上記請求項14から24のいずれかに
    記載のアレイ型プロセッサにおいて、 前記次の時点の状態番号の生成を開始する時点から、前
    記プロセッサエレメントおよび前記プログラマブルスイ
    ッチエレメントに前記命令コードメモリのアドレス及び
    /又は前記接続構成情報メモリのアドレスが届くまでを
    一つのサイクルとして独立させることを特徴とするアレ
    イ型プロセッサ。
  27. 【請求項27】 上記請求項19から22のいずれかに
    記載のアレイ型プロセッサにおいて、 前記イベント識別コードを前記シーケンサ部から前記状
    態遷移テーブルメモリへ伝搬する接続線上に第一のレジ
    スタを設け、該第一のレジスタにより前記イベント識別
    コードを前記接続線上において一時保持することで、前
    記次の時点の状態番号の生成開始時点と、前記プロセッ
    サエレメントおよび前記プログラマブルスイッチエレメ
    ントが前記命令コードメモリのアドレス及び/又は前記
    接続構成情報メモリのアドレスを受け取る時点とを、別
    サイクルとすることを特徴とするアレイ型プロセッサ。
  28. 【請求項28】 上記請求項27に記載のアレイ型プロ
    セッサにおいて、 前記状態遷移テーブルメモリが、前記ある時点の状態番
    号を含む全てのエントリにおける前記次の時点の状態番
    号を保持する一つ以上の第二のレジスタを有し、前記状
    態遷移条件が満たされる場合には、前記一つ以上の第二
    のレジスタで保持されている前記次の時点の状態番号の
    内、前記状態遷移条件を満たすいずれかを選択して出力
    することを特徴とするアレイ型プロセッサ。
  29. 【請求項29】 上記請求項28に記載のアレイ型プロ
    セッサにおいて、 前記第一のレジスタ及び第二のレジスタ各々に対して、
    使用するか否かを選択するセレクタを有し、 前記命令コードが、前記第一及び第二のレジスタを使用
    するか否かを制御する制御情報を含み、 前記セレクタが、前記命令コードに基づき前記第一及び
    第二のレジスタを使用するか否かを選択することを特徴
    とするアレイ型プロセッサ。
  30. 【請求項30】 上記請求項1から29のいずれかに記
    載のアレイ型プロセッサにおいて、 前記状態遷移管理部が、クロック信号入力端子を有して
    おり、このクロック信号入力端子から入力されるクロッ
    ク信号の立ち上がり及び/又は立ち下がりにおいて、前
    記演算状態の遷移動作を同期させることを特徴とするア
    レイ型プロセッサ。
  31. 【請求項31】 上記請求項1から30のいずれかに記
    載のアレイ型プロセッサにおいて、 前記状態遷移管理部が、現時点での演算状態に依存せず
    に状態遷移させるための強制状態遷移信号により、強制
    的に前記演算状態が遷移することを特徴とするアレイ型
    プロセッサ。
  32. 【請求項32】 上記請求項1から30のいずれかに記
    載のアレイ型プロセッサにおいて、 前記状態遷移テーブルが、入力された前記イベント識別
    コードとの一致を検出する強制状態遷移テーブルを有
    し、この強制状態遷移テーブルにおいて、前記状態遷移
    テーブルに入力された前記イベント識別コードと一致す
    る前記記述エントリが存在する場合には、前記記述エン
    トリに記述された次の時点の状態番号を強制的に状態遷
    移先の状態とすることを特徴とするアレイ型プロセッ
    サ。
  33. 【請求項33】 上記請求項1から32のいずれかに記
    載のアレイ型プロセッサにおいて、 前記状態遷移管理部が、前記データパス部を制御する演
    算制御情報メモリを有することを特徴とするアレイ型プ
    ロセッサ。
JP2001043202A 2000-02-25 2001-02-20 アレイ型プロセッサ Expired - Fee Related JP3674515B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001043202A JP3674515B2 (ja) 2000-02-25 2001-02-20 アレイ型プロセッサ
US09/792,394 US6738891B2 (en) 2000-02-25 2001-02-23 Array type processor with state transition controller identifying switch configuration and processing element instruction address
GB0104550A GB2365595B (en) 2000-02-25 2001-02-23 Array type processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000050067 2000-02-25
JP2000-50067 2000-02-25
JP2001043202A JP3674515B2 (ja) 2000-02-25 2001-02-20 アレイ型プロセッサ

Publications (2)

Publication Number Publication Date
JP2001312481A true JP2001312481A (ja) 2001-11-09
JP3674515B2 JP3674515B2 (ja) 2005-07-20

Family

ID=26586148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001043202A Expired - Fee Related JP3674515B2 (ja) 2000-02-25 2001-02-20 アレイ型プロセッサ

Country Status (3)

Country Link
US (1) US6738891B2 (ja)
JP (1) JP3674515B2 (ja)
GB (1) GB2365595B (ja)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2006031127A (ja) * 2004-07-12 2006-02-02 Fujitsu Ltd 再構成可能な演算装置
JP2006512661A (ja) * 2002-12-30 2006-04-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 処理システム
EP1703414A1 (en) 2005-03-14 2006-09-20 Fujitsu Limited Reconfigurable processor with a shared functional unit
WO2006121046A1 (ja) * 2005-05-12 2006-11-16 Nec Corporation プロセッサアレイ、プロセッサエレメント複合体、マイクロ命令制御装置およびマイクロ命令制御方法
EP1736890A2 (en) 2005-06-03 2006-12-27 NEC Electronics Corporation Stream processor including DMA controller used in data processing apparatus
EP1770519A2 (en) 2005-07-22 2007-04-04 NEC Electronics Corporation Information processing apparatus and its data processing method capable of forming descriptor queue
JP2007122318A (ja) * 2005-10-27 2007-05-17 Seiko Epson Corp 印刷制御装置
JP2007133456A (ja) * 2005-11-08 2007-05-31 Hitachi Ltd 半導体装置
WO2007069464A1 (ja) * 2005-12-14 2007-06-21 Sonac Incorporated 待合わせ機構を有する演算装置
US7268583B2 (en) 2005-08-17 2007-09-11 Fujitsu Limited Reconfigurable integrated circuit device for automatic construction of initialization circuit
US7350054B2 (en) 2001-08-31 2008-03-25 Nec Corporation Processor having array of processing elements whose individual operations and mutual connections are variable
US7362132B2 (en) 2006-05-30 2008-04-22 Fujitsu Limited Reconfigurable integrated circuit device to automatically configure an initialization circuit
JP2009510618A (ja) * 2005-09-28 2009-03-12 インテル コーポレイション 多コア・プロセッサによる信頼できるコンピューティング
US7515159B2 (en) 2005-09-29 2009-04-07 Fujitsu Microelectronics Limited Reconfigurable address generation circuit for image processing, and reconfigurable LSI comprising the same
US7523292B2 (en) 2002-10-11 2009-04-21 Nec Electronics Corporation Array-type processor having state control units controlling a plurality of processor elements arranged in a matrix
JP2010045581A (ja) * 2008-08-12 2010-02-25 Nec Electronics Corp 状態遷移管理装置及びその状態遷移管理方法
US7680962B2 (en) 2004-12-22 2010-03-16 Nec Electronics Corporation Stream processor and information processing apparatus
WO2010044242A1 (ja) 2008-10-14 2010-04-22 国立大学法人奈良先端科学技術大学院大学 データ処理装置
US7725698B2 (en) 2004-06-30 2010-05-25 Fujitsu Limited Operation apparatus having sequencer controlling states of plurality of operation units and operation apparatus control method therefor
US7734896B2 (en) 2005-09-29 2010-06-08 Fujitsu Microelectronics Limited Enhanced processor element structure in a reconfigurable integrated circuit device
US7752420B2 (en) 2007-02-14 2010-07-06 Nec Electronics Corporation Configuration layout number controlled adjustable delaying of connection path changes among processors in array to reduce transition glitches
US7756505B2 (en) 2004-10-04 2010-07-13 Hitachi, Ltd. Semiconductor integrated circuit and a software radio device
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
US7975250B2 (en) 2004-02-27 2011-07-05 Intel Corporation Allocation of combined or separate data and control planes
US7987398B2 (en) 2007-07-02 2011-07-26 Renesas Electronics Corporation Reconfigurable device
US8041925B2 (en) 2006-07-05 2011-10-18 Renesas Electronics Corporation Switch coupled function blocks with additional direct coupling and internal data passing from input to output to facilitate more switched inputs to second block
US8151089B2 (en) 2002-10-30 2012-04-03 Renesas Electronics Corporation Array-type processor having plural processor elements controlled by a state control unit
US8299815B2 (en) 2010-02-01 2012-10-30 Renesas Electronics Corporation Reconfigurable semiconductor integrated circuit
US8385627B2 (en) 2005-08-10 2013-02-26 Hitachi High-Technologies Corporation Method and apparatus for inspecting defects of semiconductor device
WO2014112082A1 (ja) * 2013-01-17 2014-07-24 富士通株式会社 プログラマブルロジック装置
US9021235B2 (en) 2009-08-25 2015-04-28 Nec Corporation Data processing device
CN109523019A (zh) * 2018-12-29 2019-03-26 百度在线网络技术(北京)有限公司 加速器、基于fpga的加速系统及控制方法、cnn网络系统
JP2019219753A (ja) * 2018-06-15 2019-12-26 ルネサスエレクトロニクス株式会社 半導体装置及びその制御方法
CN111936984A (zh) * 2018-04-03 2020-11-13 赛灵思公司 设备中的数据处理引擎布置
JP2021520549A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated システムオンチップインターフェースアーキテクチャ
JP2021532430A (ja) * 2018-04-03 2021-11-25 ザイリンクス インコーポレイテッドXilinx Incorporated データ処理エンジンアレイを有するデバイス

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
WO2000077652A2 (de) 1999-06-10 2000-12-21 Pact Informationstechnologie Gmbh Sequenz-partitionierung auf zellstrukturen
NL1013134C2 (nl) * 1999-09-24 2001-03-27 Dsm Nv Vlamvertragende thermoplastische samenstelling met verbeterde eigenschappen.
US6732203B2 (en) 2000-01-31 2004-05-04 Intel Corporation Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus
EP2226732A3 (de) 2000-06-13 2016-04-06 PACT XPP Technologies AG Cachehierarchie für einen Multicore-Prozessor
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
GB2370380B (en) * 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
WO2002069469A1 (en) * 2001-02-24 2002-09-06 International Business Machines Corporation Fault tolerance in a supercomputer through dynamic repartitioning
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7581076B2 (en) * 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
EP1402382B1 (de) 2001-06-20 2010-08-18 Richter, Thomas Verfahren zur bearbeitung von daten
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
JP3693013B2 (ja) * 2001-12-26 2005-09-07 日本電気株式会社 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
DE10390689D2 (de) 2002-02-18 2005-02-10 Pact Xpp Technologies Ag Bussysteme und Rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7159099B2 (en) * 2002-06-28 2007-01-02 Motorola, Inc. Streaming vector processor with reconfigurable interconnection switch
US7461234B2 (en) * 2002-07-01 2008-12-02 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
JP3987782B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US6993639B2 (en) * 2003-04-01 2006-01-31 Hewlett-Packard Development Company, L.P. Processing instruction addressed by received remote instruction and generating remote instruction to respective output port for another cell
KR100503094B1 (ko) * 2003-08-25 2005-07-21 삼성전자주식회사 넓은 메모리 밴드위스를 갖는 디지털 신호 처리 장치 및그 메모리 맵핑 방법
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
JP4728581B2 (ja) * 2004-02-03 2011-07-20 日本電気株式会社 アレイ型プロセッサ
US7401203B2 (en) * 2004-09-14 2008-07-15 International Business Machines Corporation Method for wiring allocation and switch configuration in a multiprocessor environment
US7248530B2 (en) * 2004-10-29 2007-07-24 Infineon Technologies, Ag Integrated semiconductor memory device
JP2006236106A (ja) * 2005-02-25 2006-09-07 Canon Inc データ処理装置及びデータ処理方法
US7814242B1 (en) * 2005-03-25 2010-10-12 Tilera Corporation Managing data flows in a parallel processing environment
JP4410162B2 (ja) * 2005-07-05 2010-02-03 富士通株式会社 リコンフィギュアブルlsi
JP4536618B2 (ja) * 2005-08-02 2010-09-01 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
WO2007020849A1 (ja) * 2005-08-15 2007-02-22 Turbo Data Laboratories Inc. 共有メモリ型マルチプロセッサシステム及びその情報処理方法
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US7636835B1 (en) * 2006-04-14 2009-12-22 Tilera Corporation Coupling data in a parallel processing environment
US7539845B1 (en) * 2006-04-14 2009-05-26 Tilera Corporation Coupling integrated circuits in a parallel processing environment
US7577820B1 (en) * 2006-04-14 2009-08-18 Tilera Corporation Managing data in a parallel processing environment
US7774579B1 (en) 2006-04-14 2010-08-10 Tilera Corporation Protection in a parallel processing environment using access information associated with each switch to prevent data from being forwarded outside a plurality of tiles
US7865694B2 (en) * 2006-05-12 2011-01-04 International Business Machines Corporation Three-dimensional networking structure
JP2008152409A (ja) * 2006-12-15 2008-07-03 Renesas Technology Corp 半導体集積回路
JP4753895B2 (ja) 2007-02-20 2011-08-24 ルネサスエレクトロニクス株式会社 遅延調整回路を有するアレイ型プロセッサ
JP4444305B2 (ja) * 2007-03-28 2010-03-31 株式会社東芝 半導体装置
US8019970B2 (en) * 2007-11-28 2011-09-13 International Business Machines Corporation Three-dimensional networking design structure
US8375395B2 (en) * 2008-01-03 2013-02-12 L3 Communications Integrated Systems, L.P. Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms
JP5231949B2 (ja) * 2008-11-12 2013-07-10 株式会社東芝 半導体装置、および、半導体装置によるデータ処理方法
JPWO2010087098A1 (ja) 2009-01-30 2012-07-26 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
US8122226B2 (en) * 2009-04-16 2012-02-21 Vns Portfolio Llc Method and apparatus for dynamic partial reconfiguration on an array of processors
US9823905B2 (en) * 2013-11-11 2017-11-21 International Business Machines Corporation Event based code generation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA742069B (en) 1973-04-13 1975-03-26 Int Computers Ltd Improvements in or relating to array processors
US4065808A (en) 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
JPH01147767A (ja) 1987-12-04 1989-06-09 Hitachi Ltd 双カスケード型並列処理方式
JPH04291659A (ja) 1991-03-20 1992-10-15 Hitachi Ltd 並列コンピュータシステムおよびその動作方法
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US5892962A (en) 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US5915123A (en) * 1997-10-31 1999-06-22 Silicon Spice Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
US6185667B1 (en) 1998-04-09 2001-02-06 Teranex, Inc. Input/output support for processing in a mesh connected computer
US6167501A (en) * 1998-06-05 2000-12-26 Billions Of Operations Per Second, Inc. Methods and apparatus for manarray PE-PE switch control

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350054B2 (en) 2001-08-31 2008-03-25 Nec Corporation Processor having array of processing elements whose individual operations and mutual connections are variable
US7523292B2 (en) 2002-10-11 2009-04-21 Nec Electronics Corporation Array-type processor having state control units controlling a plurality of processor elements arranged in a matrix
US8151089B2 (en) 2002-10-30 2012-04-03 Renesas Electronics Corporation Array-type processor having plural processor elements controlled by a state control unit
JP2006512661A (ja) * 2002-12-30 2006-04-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 処理システム
US7975250B2 (en) 2004-02-27 2011-07-05 Intel Corporation Allocation of combined or separate data and control planes
US7725698B2 (en) 2004-06-30 2010-05-25 Fujitsu Limited Operation apparatus having sequencer controlling states of plurality of operation units and operation apparatus control method therefor
JP4547198B2 (ja) * 2004-06-30 2010-09-22 富士通株式会社 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
US7822888B2 (en) 2004-06-30 2010-10-26 Fujitsu Limited Data buffer control which controls selection of path and operation of data buffer, based on stored configuration information
EP2116938A1 (en) 2004-06-30 2009-11-11 Fujitsu Limited Operation apparatus and control method
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
EP2278496A1 (en) 2004-07-12 2011-01-26 Fujitsu Limited Reconfigurable operation apparatus
JP4594666B2 (ja) * 2004-07-12 2010-12-08 富士通株式会社 再構成可能な演算装置
US7774580B2 (en) 2004-07-12 2010-08-10 Fujitsu Limited Array processor having reconfigurable data transfer capabilities
JP2006031127A (ja) * 2004-07-12 2006-02-02 Fujitsu Ltd 再構成可能な演算装置
US7756505B2 (en) 2004-10-04 2010-07-13 Hitachi, Ltd. Semiconductor integrated circuit and a software radio device
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
US7680962B2 (en) 2004-12-22 2010-03-16 Nec Electronics Corporation Stream processor and information processing apparatus
US7743236B2 (en) 2005-03-14 2010-06-22 Fujitsu Limited Reconfigurable processor
EP1703414A1 (en) 2005-03-14 2006-09-20 Fujitsu Limited Reconfigurable processor with a shared functional unit
JP4530042B2 (ja) * 2005-05-12 2010-08-25 日本電気株式会社 プロセッサアレイ、プロセッサエレメント複合体、マイクロ命令制御装置およびマイクロ命令制御方法
JPWO2006121046A1 (ja) * 2005-05-12 2008-12-18 日本電気株式会社 プロセッサアレイ、プロセッサエレメント複合体、マイクロ命令制御装置およびマイクロ命令制御方法
WO2006121046A1 (ja) * 2005-05-12 2006-11-16 Nec Corporation プロセッサアレイ、プロセッサエレメント複合体、マイクロ命令制御装置およびマイクロ命令制御方法
EP1736890A2 (en) 2005-06-03 2006-12-27 NEC Electronics Corporation Stream processor including DMA controller used in data processing apparatus
EP1770519A2 (en) 2005-07-22 2007-04-04 NEC Electronics Corporation Information processing apparatus and its data processing method capable of forming descriptor queue
US8385627B2 (en) 2005-08-10 2013-02-26 Hitachi High-Technologies Corporation Method and apparatus for inspecting defects of semiconductor device
US7268583B2 (en) 2005-08-17 2007-09-11 Fujitsu Limited Reconfigurable integrated circuit device for automatic construction of initialization circuit
JP2009510618A (ja) * 2005-09-28 2009-03-12 インテル コーポレイション 多コア・プロセッサによる信頼できるコンピューティング
JP2012216232A (ja) * 2005-09-28 2012-11-08 Intel Corp 多コア・プロセッサによる信頼できるコンピューティング
US7734896B2 (en) 2005-09-29 2010-06-08 Fujitsu Microelectronics Limited Enhanced processor element structure in a reconfigurable integrated circuit device
US7515159B2 (en) 2005-09-29 2009-04-07 Fujitsu Microelectronics Limited Reconfigurable address generation circuit for image processing, and reconfigurable LSI comprising the same
JP2007122318A (ja) * 2005-10-27 2007-05-17 Seiko Epson Corp 印刷制御装置
JP2007133456A (ja) * 2005-11-08 2007-05-31 Hitachi Ltd 半導体装置
WO2007069464A1 (ja) * 2005-12-14 2007-06-21 Sonac Incorporated 待合わせ機構を有する演算装置
US7362132B2 (en) 2006-05-30 2008-04-22 Fujitsu Limited Reconfigurable integrated circuit device to automatically configure an initialization circuit
US8041925B2 (en) 2006-07-05 2011-10-18 Renesas Electronics Corporation Switch coupled function blocks with additional direct coupling and internal data passing from input to output to facilitate more switched inputs to second block
US7752420B2 (en) 2007-02-14 2010-07-06 Nec Electronics Corporation Configuration layout number controlled adjustable delaying of connection path changes among processors in array to reduce transition glitches
US7987398B2 (en) 2007-07-02 2011-07-26 Renesas Electronics Corporation Reconfigurable device
JP2010045581A (ja) * 2008-08-12 2010-02-25 Nec Electronics Corp 状態遷移管理装置及びその状態遷移管理方法
US8261027B2 (en) 2008-08-12 2012-09-04 Renesas Electronics Corporation State transition management device and method
US8510522B2 (en) 2008-08-12 2013-08-13 Renesas Electronics Corporation State transition management device and state transition management method thereof
KR20110084915A (ko) 2008-10-14 2011-07-26 고쿠리츠다이가쿠호징 나라 센탄카가쿠기쥬츠 다이가쿠인 다이가쿠 데이터 처리 장치
WO2010044242A1 (ja) 2008-10-14 2010-04-22 国立大学法人奈良先端科学技術大学院大学 データ処理装置
US9021235B2 (en) 2009-08-25 2015-04-28 Nec Corporation Data processing device
US8299815B2 (en) 2010-02-01 2012-10-30 Renesas Electronics Corporation Reconfigurable semiconductor integrated circuit
US8760191B2 (en) 2010-02-01 2014-06-24 Renesas Electronics Corporation Reconfigurable semiconductor integrated circuit
WO2014112082A1 (ja) * 2013-01-17 2014-07-24 富士通株式会社 プログラマブルロジック装置
JP2021520550A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated デバイスにおけるデータ処理エンジン構成
CN111936984A (zh) * 2018-04-03 2020-11-13 赛灵思公司 设备中的数据处理引擎布置
JP2021520549A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated システムオンチップインターフェースアーキテクチャ
JP2021532430A (ja) * 2018-04-03 2021-11-25 ザイリンクス インコーポレイテッドXilinx Incorporated データ処理エンジンアレイを有するデバイス
US11573726B1 (en) 2018-04-03 2023-02-07 Xilinx, Inc. Data processing engine arrangement in a device
JP7274500B2 (ja) 2018-04-03 2023-05-16 ザイリンクス インコーポレイテッド システムオンチップインターフェースアーキテクチャ
JP7398384B2 (ja) 2018-04-03 2023-12-14 ザイリンクス インコーポレイテッド デバイスにおけるデータ処理エンジン構成
US11972132B2 (en) 2018-04-03 2024-04-30 Xilinx, Inc. Data processing engine arrangement in a device
JP2019219753A (ja) * 2018-06-15 2019-12-26 ルネサスエレクトロニクス株式会社 半導体装置及びその制御方法
JP7038608B2 (ja) 2018-06-15 2022-03-18 ルネサスエレクトロニクス株式会社 半導体装置
CN109523019A (zh) * 2018-12-29 2019-03-26 百度在线网络技术(北京)有限公司 加速器、基于fpga的加速系统及控制方法、cnn网络系统
CN109523019B (zh) * 2018-12-29 2024-05-21 百度在线网络技术(北京)有限公司 加速器、基于fpga的加速系统及控制方法、cnn网络系统

Also Published As

Publication number Publication date
US20010018733A1 (en) 2001-08-30
US6738891B2 (en) 2004-05-18
JP3674515B2 (ja) 2005-07-20
GB2365595A (en) 2002-02-20
GB0104550D0 (en) 2001-04-11
GB2365595B (en) 2004-10-13

Similar Documents

Publication Publication Date Title
JP2001312481A (ja) アレイ型プロセッサ
US10282338B1 (en) Configuring routing in mesh networks
US8737392B1 (en) Configuring routing in mesh networks
KR100812225B1 (ko) 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조
US5367690A (en) Multiprocessing system using indirect addressing to access respective local semaphore registers bits for setting the bit or branching if the bit is set
US4837676A (en) MIMD instruction flow computer architecture
US8151088B1 (en) Configuring routing in mesh networks
JP4424443B2 (ja) 混合モード並列プロセッサシステム、混合モード並列プロセッサ方法、および、混合モード並列プロセッサプログラム
US6366997B1 (en) Methods and apparatus for manarray PE-PE switch control
JP4007483B2 (ja) 高位合成装置および高位合成方法
JPH06266615A (ja) 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
JPH0668053A (ja) 並列計算機
US6912626B1 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JP2731742B2 (ja) クラスタ構成の並列計算機
US20030126404A1 (en) Data processing system, array-type processor, data processor, and information storage medium
JP2002007359A (ja) Simd制御並列処理方法および装置
WO1986003038A1 (en) Instruction flow computer
JPH04291659A (ja) 並列コンピュータシステムおよびその動作方法
KR100397240B1 (ko) 데이터처리시스템
JP4530042B2 (ja) プロセッサアレイ、プロセッサエレメント複合体、マイクロ命令制御装置およびマイクロ命令制御方法
JP7331482B2 (ja) 演算処理装置、及び情報処理装置
JP2007013856A (ja) テーブル装置及びこれを用いたアドレス検索装置
JP2976700B2 (ja) プロセッサ間同期制御方式
EP0556825A1 (en) Microprocessor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040928

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20041028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041028

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041126

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041203

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050315

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: 20050405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees