JP4580879B2 - リコンフィグラブル回路 - Google Patents

リコンフィグラブル回路 Download PDF

Info

Publication number
JP4580879B2
JP4580879B2 JP2006056686A JP2006056686A JP4580879B2 JP 4580879 B2 JP4580879 B2 JP 4580879B2 JP 2006056686 A JP2006056686 A JP 2006056686A JP 2006056686 A JP2006056686 A JP 2006056686A JP 4580879 B2 JP4580879 B2 JP 4580879B2
Authority
JP
Japan
Prior art keywords
program counter
program
cluster
counter value
master data
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.)
Expired - Fee Related
Application number
JP2006056686A
Other languages
English (en)
Other versions
JP2007233857A (ja
Inventor
晋一 須藤
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2006056686A priority Critical patent/JP4580879B2/ja
Publication of JP2007233857A publication Critical patent/JP2007233857A/ja
Application granted granted Critical
Publication of JP4580879B2 publication Critical patent/JP4580879B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

本発明は、リコンフィグラブル回路に関する。
図4は、リコンフィグラブル論理回路の構成例を示す図である。リコンフィグラブル論理回路は、データネットワーク403及び複数のクラスタ401a〜401dを有する。各クラスタ401a〜401dは、プログラムカウンタ制御手段411、ユーザプログラム記憶手段412及び複数のプロセッシングエレメント(PE:Processing Element)413を有する。プログラムカウンタ制御手段411は、ユーザプログラム記憶手段412にプログラムカウンタ値PCを出力する。PE413は、プログラムカウンタ値PCが示すユーザプログラム記憶手段412内のプログラムに応じて処理を行う。
プログラムカウンタ値PCは、クラスタ401a〜401d毎に独立している。複数のクラスタ401a〜401dの同期をとって動作させるには、複数のクラスタ401a〜401dのプログラムカウンタ値PCを同期して動作させる必要がある。また、ユーザは、プログラム上で全体を統一(同期)保障した動作を行うようにプログラミングを行う必要がある。
図5は、図4のリコンフィグラブル論理回路のより具体的な構成例を示す図である。各クラスタ401a〜401dは、プログラムカウンタ制御手段411、ユーザプログラム記憶手段412及び複数のPE413の他に、コンフィグレーション記憶手段511、ネットワークコンフィグレーション記憶手段501及びプログラム記憶手段512を有する。データネットワーク403は、クロスバスイッチ521を有する。
各クラスタ401a〜401dのプログラムカウンタ制御手段411は独立しており、連携する手段を持っていない。このため、各クラスタ401a〜401dのプログラム記憶手段512には、同一種類のタスク0(task0)のプログラムを記憶させる必要がある。各クラスタ401a〜401dのプログラム記憶手段512内のプログラムが独立していないため、これらが連携しないとユーザプログラムが動作できないといった非効率な問題を抱えている。
下記の特許文献1には、各プロセッサユニットの送信部内に以下のようにアクセス要求の送付先を決める回路を設けるマルチプロセッサシステムが記載されている。主記憶データへのアクセス要求の場合、全てのプロセッサユニットとそのデータを保持している一つのメモリユニットのみに、そのアクセス要求をクロスバスイッチを介して部分放送する。入出力装置内のメモリマップドレジスタに対するアクセス要求の場合には、全ての入出力ユニットにこのアクセス要求を部分放送する。プロセッサユニット、メモリユニットあるいは入出力ユニットのいずかれに属するメモリマップドレジスタに対するアクセス要求の場合、全てのユニットにこのアクセス要求をクロスバスイッチを介して放送する。
下記の特許文献2には、プロセッサエレメントPE12がPE13〜15に対してパイプカウンタを特定して複数のタスクを呼び出し、同期待ち命令で必要に応じて同期待ちを行う並列演算処理装置が記載されている。アービタは、タスク呼び出しが発生すると対応するパイプカウンタのカウント値を増加し、そのタスクが終了すると対応するパイプカウンタのカウント値を減少させる。プロセッサエレメントPE12は、同期待ち命令を実行したときに、同期待ち命令に含まれるカウント値と、アービタの対応するパイプカウンタのカウント値とを比較し、一致した場合に同期待ちを解除し、一致しない場合に同期待ちとなる。
特開平9−138782号公報 特開平11−306037号公報
上述のようなリコンフィグラブル論理回路においては、各クラスタ401a〜401dに1つのプログラムカウンタ制御手段411を持ち、ユーザプログラムを同期させるためプログラムカウンタ値PCの制御を行う。しかし、ユーザはプログラミングによる同期問題を保障する必要があり、ソフトウエアの負担が大きい。
本発明の目的は、複数のクラスタのプログラムカウンタ値を容易に同期させ、プログラミングによるソフトウエアの負担を軽減することである。
本発明の一観点によれば、第1のクラスタと、第2のクラスタと、前記第1のクラスタ及び前記第2のクラスタに接続可能なデータネットワークと、プログラムカウンタマスタであるか否かを示すプログラムカウンタマスタデータであって、前記第1のクラスタのプログラムカウンタマスタデータ及び前記第2のクラスタのプログラムカウンタマスタデータを記憶するためのプログラムカウンタマスタデータ記憶手段とを有し、前記第1のクラスタは、プログラムカウンタ値を出力する第1のプログラムカウンタ制御手段と、前記プログラムカウンタマスタデータ記憶手段が前記第1のクラスタのプログラムカウンタマスタデータを記憶しているときには、前記第1のプログラムカウンタ制御手段が出力するプログラムカウンタ値に応じて処理を行い、前記プログラムカウンタマスタデータ記憶手段が前記第1のクラスタのプログラムカウンタマスタデータを記憶していないときには、前記データネットワークを介して前記第2のクラスタからプログラムカウンタ値を入力してその入力したプログラムカウンタ値に応じて処理を行う第1のプロセッシングエレメントとを有することを特徴とするリコンフィグラブル回路が提供される。
プログラムカウンタマスタデータを設定することにより、第1及び第2のクラスタのプログラムカウンタ値を容易に同期させることができ、プログラミングによるソフトウエアの負担を軽減することができる。
図1は、本発明の実施形態によるリコンフィグラブル論理回路の構成例を示す図である。リコンフィグラブル論理回路は、プログラムカウンタマスタデータ記憶手段102、データネットワーク103及び複数のクラスタ101a〜101dを有する。各クラスタ101a〜101dは、プログラムカウンタ制御手段111、ユーザプログラム記憶手段112及び複数のプロセッシングエレメント(PE:Processing Element)113を有する。データネットワーク103は、クラスタ101a〜101dに接続可能である。
プログラムカウンタマスタデータ記憶手段102は、例えばレジスタであり、0ビット目〜3ビット目のプログラムカウンタマスタデータを記憶する。0ビット目〜3ビット目のプログラムカウンタマスタデータは、それぞれクラスタ101a〜101dがプログラムカウンタマスタであるか否かを示す。プログラムカウンタマスタデータが1であるときにはプログラムカウンタマスタであることを示し、プログラムカウンタマスタデータが0であるときにはプログラムカウンタマスタでないことを示す。
まず、クラスタ101aの動作を説明する。クラスタ101a内のプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102内の0ビット目に1が記憶されていれば、プログラムカウンタ値PCをユーザプログラム記憶手段112に出力し、プログラムカウンタ値PC1をデータネットワーク103に出力する。プログラムカウンタ値PC1は、プログラムカウンタ値PCと同じ値である。
また、クラスタ101a内のプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102内の0ビット目に0が記憶されていれば、プログラムカウンタ値PC2をデータネットワーク103から入力し、そのプログラムカウンタ値PC2をプログラムカウンタ値PCとしてユーザプログラム記憶手段112に出力する。
クラスタ101b〜101dの動作も同様である。クラスタ101b〜101d内のプログラムカウンタ制御手段111は、それぞれプログラムカウンタマスタデータ記憶手段102内の1ビット目〜3ビット目に1が記憶されていれば、プログラムカウンタ値PCをユーザプログラム記憶手段112に出力し、プログラムカウンタ値PC1をデータネットワーク103に出力する。プログラムカウンタ値PC1は、プログラムカウンタ値PCと同じ値である。
また、クラスタ101b〜101d内のプログラムカウンタ制御手段111は、それぞれプログラムカウンタマスタデータ記憶手段102内の1ビット目〜3ビット目に0が記憶されていれば、プログラムカウンタ値PC2をデータネットワーク103から入力し、そのプログラムカウンタ値PC2をプログラムカウンタ値PCとしてユーザプログラム記憶手段112に出力する。
プログラムカウンタマスタデータ記憶手段102のプログラムカウンタマスタデータは、0ビット目〜3ビット目のうちのいずれか1つが1であり、その他が0である。プログラムカウンタ制御手段111は、自己のクラスタのプログラムカウンタマスタデータが1であるときには、プログラムカウンタ値PC1をデータネットワーク103を介して他のクラスタに送信する。また、プログラムカウンタ制御手段111は、自己のクラスタのプログラムカウンタマスタデータが0であるときには、プログラムカウンタ値PC2をデータネットワーク103を介して他のクラスタから受信する。これにより、すべてのクラスタ101a〜101d内のプログラムカウンタ制御手段111は、同じプログラムカウンタ値PCをユーザプログラム記憶手段112に出力する。このプログラムカウンタ値PCは、プログラムカウンタマスタデータが1であるクラスタ内のプログラムカウンタ制御手段111が生成したものである。PE113は、プログラムカウンタ値PCが示すユーザプログラム記憶手段112内のプログラムに応じて処理を行う。
プログラムカウンタマスタデータ記憶手段102は、4ビットのプログラムカウンタマスタデータを記憶し、4個のクラスタ101a〜101dのプログラムカウンタ制御手段111に対して、それに対応する4個のプログラムカウンタマスタデータを出力する。各プログラムカウンタ制御手段111は、データネットワーク103に対して、プログラムカウンタ値PC1を出力したり、プログラムカウンタ値PC2を入力することができる。また、プログラムカウンタ値PC1をデータネットワーク103に出力することにより、各PE113は、直接、データネットワーク103上のプログラムカウンタ値を参照可能である。上記構成により、各クラスタ101a〜101d内のプログラムカウンタ制御手段111は、プログラムカウンタ値PCと同じプログラムカウンタ値PC1を他のクラスタに伝達することが可能となり、リコンフィグラブル論理回路全体で一つのプログラムカウンタ値PCを統一して使用することができる。
プログラムカウンタマスタデータを設定することにより、すべてのクラスタ101a〜101dのプログラムカウンタ値PCを容易に同期させることができ、プログラミングによるソフトウエアの負担を軽減することができる。
図2は、図1のリコンフィグラブル論理回路のより具体的な構成例を示す図である。図2は、図1に対して、ネットワークコンフィグレーション制御手段201を追加したものである。クラスタ101a〜101dは、それぞれネットワークコンフィグレーション制御手段201を有する。ネットワークコンフィグレーション制御手段201は、データネットワーク103に対する、プログラムカウンタ制御手段111及びPE113の接続を再構成可能に制御する。プログラムカウンタ制御手段111をデータネットワーク103に接続することにより、プログラムカウンタ制御手段111は、データネットワーク103に対して、プログラムカウンタ値PC1を出力又はプログラムカウンタ値PC2を入力することができる。また、PE113をデータネットワーク103に接続することにより、PE113は、データネットワーク103からプログラムカウンタ値PC3を入力し、種々の処理を行うことができる。
クラスタ101a内のプログラムカウンタ制御手段111は、例えばタスク0(task0)のプログラムを基にプログラムカウンタ値PCを生成する。クラスタ101b内のプログラムカウンタ制御手段111は、例えばタスク1(task1)のプログラムを基にプログラムカウンタ値PCを生成する。クラスタ101c内のプログラムカウンタ制御手段111は、例えばタスク2(task2)のプログラムを基にプログラムカウンタ値PCを生成する。クラスタ101d内のプログラムカウンタ制御手段111は、例えばタスク3(task3)のプログラムを基にプログラムカウンタ値PCを生成する。
ユーザプログラムは、クラスタ101a〜101d単位にユーザプログラム記憶手段112にロードされる。これにより、ネットワークコンフィグレーション制御手段201内の記憶手段(レジスタ)にもプログラムが設定される。また、ユーザプログラムは、タスク単位で動作するプログラムである。プログラムカウンタ制御手段111は、ユーザプログラムに応じて所定のタスクのプログラムカウンタ値PCを生成する。
クラスタ101aのプログラム(タスク0)が動作中のときには、プログラムカウンタマスタデータ記憶手段102の0ビット目を1に設定しておき、1ビット目〜3ビット目を0に設定しておく。クラスタ101aのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の0ビット目が1であるので、自己が生成したプログラムカウンタ値PCをプログラムカウンタ値PC1としてデータネットワーク103を介してクラスタ101b〜101dに送信する。これに対して、クラスタ101b〜101dのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の1ビット目〜3ビット目が0であるので、データネットワーク103を介して、クラスタ101aのプログラムカウンタ制御手段111が生成したプログラムカウンタ値PCをプログラムカウンタ値PC2として受信し、そのプログラムカウンタ値PC2をプログラムカウンタ値PCとしてユーザプログラム記憶手段112に出力する。クラスタ101a〜101dは、ユーザプログラム記憶手段112内の同じプログラムカウンタ値PCが示すユーザプログラムに応じて動作する。ただし、クラスタ101a〜101d内のユーザプログラム記憶手段112には、異なるユーザプログラムが記憶されているので、クラスタ101a〜101dは相互に異なる処理を行う。
また、クラスタ101bのプログラム(タスク1)が動作中のときには、プログラムカウンタマスタデータ記憶手段102の1ビット目を1に設定しておき、0ビット目、2ビット目、3ビット目を0に設定しておく。クラスタ101bのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の1ビット目が1であるので、自己が生成したプログラムカウンタ値PCをプログラムカウンタ値PC1としてデータネットワーク103を介してクラスタ101a、101c、101dに送信する。これに対して、クラスタ101a、101c、101dのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の0ビット目、2ビット目、3ビット目が0であるので、データネットワーク103を介して、クラスタ101bのプログラムカウンタ制御手段111が生成したプログラムカウンタ値PCをプログラムカウンタ値PC2として受信し、そのプログラムカウンタ値PC2をプログラムカウンタ値PCとしてユーザプログラム記憶手段112に出力する。クラスタ101a〜101dは、ユーザプログラム記憶手段112内の同じプログラムカウンタ値PCが示すユーザプログラムに応じて動作する。
また、クラスタ101cのプログラム(タスク2)が動作中のときには、プログラムカウンタマスタデータ記憶手段102の2ビット目を1に設定しておき、0ビット目、1ビット目、3ビット目を0に設定しておく。クラスタ101cのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の2ビット目が1であるので、自己が生成したプログラムカウンタ値PCをプログラムカウンタ値PC1としてデータネットワーク103を介してクラスタ101a、101b、101dに送信する。これに対して、クラスタ101a、101b、101dのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の0ビット目、1ビット目、3ビット目が0であるので、データネットワーク103を介して、クラスタ101cのプログラムカウンタ制御手段111が生成したプログラムカウンタ値PCをプログラムカウンタ値PC2として受信し、そのプログラムカウンタ値PC2をプログラムカウンタ値PCとしてユーザプログラム記憶手段112に出力する。クラスタ101a〜101dは、ユーザプログラム記憶手段112内の同じプログラムカウンタ値PCが示すユーザプログラムに応じて動作する。
また、クラスタ101dのプログラム(タスク3)が動作中のときには、プログラムカウンタマスタデータ記憶手段102の3ビット目を1に設定しておき、0ビット目〜2ビット目を0に設定しておく。クラスタ101dのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の3ビット目が1であるので、自己が生成したプログラムカウンタ値PCをプログラムカウンタ値PC1としてデータネットワーク103を介してクラスタ101a〜101cに送信する。これに対して、クラスタ101a〜101cのプログラムカウンタ制御手段111は、プログラムカウンタマスタデータ記憶手段102の0ビット目〜2ビット目が0であるので、データネットワーク103を介して、クラスタ101dのプログラムカウンタ制御手段111が生成したプログラムカウンタ値PCをプログラムカウンタ値PC2として受信し、そのプログラムカウンタ値PC2をプログラムカウンタ値PCとしてユーザプログラム記憶手段112に出力する。クラスタ101a〜101dは、ユーザプログラム記憶手段112内の同じプログラムカウンタ値PCが示すユーザプログラムに応じて動作する。
以上のように、プログラムカウンタマスタデータ記憶手段102に記憶されるプログラムカウンタマスタデータは、タスクスイッチ(=コンテキストスイッチ)として、タスク0〜タスク3を切り替えることができる。また、PE113は、随時ユーザプログラムにより、データネットワーク103を介してプログラムカウンタ値PC3を認識し、制御及び演算等を行うことができる。
図3は、図2のリコンフィグラブル論理回路のより具体的な構成例を示す図である。リコンフィグラブル論理回路は、プログラムカウンタマスタデータ記憶手段102、データネットワーク103及び複数のクラスタ101a〜101dの他に、CPU(中央処理装置)301及びコンフィグレーションメモリ302を有する。CPU301は、コンフィグレーションメモリ302、プログラムカウンタマスタデータ記憶手段102及び複数のクラスタ101a〜101dを制御する。コンフィグレーションメモリ302は、ユーザプログラムを記憶する。データネットワーク103は、クロスバスイッチ321を有する。クロスバスイッチ321は、クラスタ101a〜101d間のデータネットワーク103を再構成可能に接続する。
各クラスタ101a〜101dは、プログラムカウンタ制御手段111、ユーザプログラム記憶手段112、ネットワークコンフィグレーション制御手段201及び複数のPE113の他に、以下の構成を有する。コンフィグレーション記憶手段311は、例えばレジスタであり、PE113毎に設けられ、ユーザプログラム記憶手段112に記憶されたユーザプログラムの一部がロードされる。プログラム記憶手段312は、例えばレジスタであり、ユーザプログラム記憶手段112に記憶されたユーザプログラムの一部がロードされる。
クラスタ101aでは、プログラム記憶手段312はタスク0のプログラムを記憶し、プログラムカウンタ制御手段111はそのタスク0のプログラムを基にプログラムカウンタ値PC11を生成する。同様に、クラスタ101bでは、プログラム記憶手段312はタスク1のプログラムを記憶し、プログラムカウンタ制御手段111はそのタスク1のプログラムを基にプログラムカウンタ値PC11を生成する。同様に、クラスタ101cでは、プログラム記憶手段312はタスク2のプログラムを記憶し、プログラムカウンタ制御手段111はそのタスク2のプログラムを基にプログラムカウンタ値PC11を生成する。同様に、クラスタ101dでは、プログラム記憶手段312はタスク3のプログラムを記憶し、プログラムカウンタ制御手段111はそのタスク3のプログラムを基にプログラムカウンタ値PC11を生成する。
プログラムカウンタマスタデータMB0はプログラムカウンタマスタデータ記憶手段102の0ビット目のデータであり、プログラムカウンタマスタデータMB1はプログラムカウンタマスタデータ記憶手段102の1ビット目のデータである。以下、プログラムカウンタマスタデータMB0及びMB1の総称又は個々をプログラムカウンタマスタデータMBという。
否定回路(NOT回路)313は、プログラムカウンタマスタデータMBを論理反転した値を出力する。論理積回路(AND回路)315は、否定回路313の出力値及びプログラムカウンタ値PC12の論理積を出力する。プログラムカウンタ値PC12は、データネットワーク103から入力される値である。論理積回路314は、プログラムカウンタ値PC11及びプログラムカウンタマスタデータMBの論理積をプログラムカウンタ値PC13としてデータネットワーク103に出力する。論理和回路(OR回路)316は、論理積回路314及び315の出力値の論理和をプログラムカウンタ値PCとしてコンフィグレーション記憶手段311及びネットワークコンフィグレーション制御手段201に出力する。
まず、プログラムカウンタマスタデータMBが1である場合を説明する。その場合、否定回路313は0を出力し、論理積回路315も0を出力する。また、論理積回路314は、プログラムカウンタ値PC11と同じプログラムカウンタ値PC13を出力する。その結果、論理和回路316は、プログラムカウンタ値PC11と同じプログラムカウンタ値PCを出力する。また、プログラムカウンタ値PC13は、プログラムカウンタ値PC11と同じ値としてデータネットワーク103に出力され、他のクラスタに送信される。
次に、プログラムカウンタマスタデータMBが0である場合を説明する。その場合、否定回路313は1を出力する。論理積回路315は、プログラムカウンタ値PC12と同じ値を出力する。プログラムカウンタ値PC12は、データネットワーク103を介して他のクラスタから受信した値である。また、論理積回路314は0を出力する。その結果、論理和回路316は、プログラムカウンタ値PC12と同じプログラムカウンタ値PCを出力する。
以上のように、プログラムカウンタマスタデータMBが1である場合には、プログラムカウンタ値PCはプログラムカウンタ制御手段111が生成したプログラムカウンタ値PC11と同じ値になる。また、プログラムカウンタマスタデータMBが0である場合には、プログラムカウンタ値PCはデータネットワーク103から入力したプログラムカウンタ値PC12と同じ値になる。
例えば、プログラムカウンタマスタデータMB0が1であり、プログラムカウンタマスタデータMB1が0に設定されている例を説明する。その場合、クラスタ101aでは、プログラムカウンタ値PCがプログラムカウンタ値PC11と同じ値になり、ネットワークコンフィグレーション制御手段201はデータネットワーク103内の接続ポイント322を接続する。クラスタ101bでは、プログラムカウンタ値PCがプログラムカウンタ値PC12と同じ値になり、ネットワークコンフィグレーション制御手段201はデータネットワーク103内の接続ポイント322を接続する。
クラスタ101aのプログラムカウンタ値PC13は、プログラムカウンタ値PC11と同じ値であり、データネットワーク103内の接続ポイント322を介して、クラスタ101bのプログラムカウンタ値PC12として送信される。クラスタ101bでは、プログラムカウンタ値PCは、プログラムカウンタ値PC12と同じ値になる。したがって、クラスタ101a及び101bのプログラムカウンタ値PCは、共にクラスタ101aのプログラムカウンタ値PC11と同じ値になる。
CPU301は、プログラムカウンタマスタデータ記憶手段102にプログラムカウンタマスタデータをアサインする。クラスタ101aのタスク0のプログラムが動作するとき、プログラムカウンタマスタデータMB0を1に設定する。クラスタ101aのプログラムカウンタ制御手段111からプログラムカウンタ値PC11が出力され、ネットワークコンフィグレーション制御手段201はデータネットワーク103上の接続ポイント322が接続されるようにスイッチングする。これにより、クラスタ101aは、データネットワーク103及びクロスバスイッチ321を介して他のクラスタ101bのデータネットワーク103に接続される。クラスタ101bのプログラムカウンタ制御手段111から出力されるプログラムカウンタ値PC11は別のタスク1のプログラムのものであるため、タスク1の動作は停止状態である。クラスタ101bのプログラムカウンタ値PCは、データネットワーク103を介してクラスタ101aから入力される。クラスタ101a及び101bのPE113は、タスク0のプログラムカウンタ値PCを基に動作する。ネットワークコンフィグレーション制御手段201は、データネットワーク103の接続可変なスイッチを制御し、PE113はユーザプログラムによりデータネットワーク103のプログラムカウンタ値PC3の参照が行える。プログラムカウンタ値PC3の直接参照は、各PE113のユーザプログラム等の条件判定、入力データとして扱える。
次に、リコンフィグラブル論理回路の処理手順を説明する。まず、CPU301は、コンフィグレーションメモリ302からユーザプログラムを読み出してクラスタ101a〜101dのユーザプログラム記憶手段112に記憶させる。次に、CPU301は、コンフィグレーションメモリ302からプログラムカウンタマスタデータを読み出してプログラムカウンタマスタデータ記憶手段102に記憶させる。次に、ユーザプログラム記憶手段112内のユーザプログラムは、コンフィグレーション記憶手段311、ネットワークコンフィグレーション制御手段201内の記憶手段及びプログラム記憶手段312に分配ロードされる。次に、CPU301は、クラスタ101a〜101d内のプログラムカウンタ制御手段111に起動を指示する。次に、プログラムカウンタ制御手段111は、プログラム記憶手段312に記憶されているタスクのプログラムに応じてプログラムカウンタ値PC11を生成し、プログラムカウンタ値PCが出力される。ネットワークコンフィグレーション制御手段201は、プログラムカウンタ値PCが示す自己の記憶手段内のプログラムに応じて、データネットワーク104の接続を制御する。PE113は、プログラムカウンタ値PCが示すコンフィグレーション記憶手段311内のプログラムに応じて、処理を行う。上記のユーザプログラムのタスク処理が終了すると、CPU(データ書き換え手段)301は、上記と同様に、プログラムカウンタマスタデータ記憶手段102内のプログラムカウンタマスタデータを書き換えることができる。上記の処理を繰り返すことにより、別のタスクを動作させることができる。例えば、タスク0を動作させた後に、タスク1を動作させることができる。
図5のリコンフィグラブル論理回路では、同一のプログラムカウンタ値PCを制御する場合、クラスタ101a〜101dのプログラム記憶手段512には同じタスク0の1種類分の動作プログラムを記憶させる必要があった。本実施形態では、クラスタ101a〜101dのプログラム記憶手段312に異なるタスク0〜タスク3のプログラムを記憶させることができる。プログラムカウンタマスタデータMBを使用することにより、プログラムカウンタ値PCの生成においてプログラムカウンタマスタデータ記憶手段102の記憶ビット数分のタスク空間を増やすことが可能であり、ユーザプログラムを増量させる効果が得られる。また、ユーザは、タスク毎にプログラミングできることにより、ソフトウエアの負担を軽減できる。
1つのクラスタのプログラムカウンタ値PCの制御により、プログラム上で全体を統一(同期)保障した同期問題をクリアすることができる。また、PE113は、データネットワーク103上のプログラムカウンタ値PC3を直接参照することが可能となり、ユーザプログラムの制御できる範囲を広げ、性能を向上させることができる。
以上のように、本実施形態によれば、プログラムカウンタマスタデータMBを設定することにより、クラスタ101a〜101dのプログラムカウンタ値PCを容易に同期させることができ、プログラミングによるソフトウエアの負担を軽減することができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態によるリコンフィグラブル論理回路の構成例を示す図である。 図1のリコンフィグラブル論理回路のより具体的な構成例を示す図である。 図2のリコンフィグラブル論理回路のより具体的な構成例を示す図である。 リコンフィグラブル論理回路の構成例を示す図である。 図4のリコンフィグラブル論理回路のより具体的な構成例を示す図である。
符号の説明
101a〜101d クラスタ
102 プログラムカウンタマスタデータ記憶手段
103 データネットワーク
111 プログラムカウンタ制御手段
112 ユーザプログラム記憶手段
113 PE

Claims (5)

  1. 第1のクラスタと、
    第2のクラスタと、
    前記第1のクラスタ及び前記第2のクラスタに接続可能なデータネットワークと、
    プログラムカウンタマスタであるか否かを示すプログラムカウンタマスタデータであって、前記第1のクラスタのプログラムカウンタマスタデータ及び前記第2のクラスタのプログラムカウンタマスタデータを記憶するためのプログラムカウンタマスタデータ記憶手段とを有し、
    前記第1のクラスタは、
    プログラムカウンタ値を出力する第1のプログラムカウンタ制御手段と、
    前記プログラムカウンタマスタデータ記憶手段が前記第1のクラスタのプログラムカウンタマスタデータを記憶しているときには、前記第1のプログラムカウンタ制御手段が出力するプログラムカウンタ値に応じて処理を行い、前記プログラムカウンタマスタデータ記憶手段が前記第1のクラスタのプログラムカウンタマスタデータを記憶していないときには、前記データネットワークを介して前記第2のクラスタからプログラムカウンタ値を入力してその入力したプログラムカウンタ値に応じて処理を行う第1のプロセッシングエレメントとを有することを特徴とするリコンフィグラブル回路。
  2. 前記第1のクラスタは、前記プログラムカウンタマスタデータ記憶手段が前記第1のクラスタのプログラムカウンタマスタデータを記憶しているときには、前記データネットワークを介して前記第2のクラスタに前記第1のプログラムカウンタ制御手段が出力したプログラムカウンタ値を出力することを特徴とする請求項1記載のリコンフィグラブル回路。
  3. 前記第2のクラスタは、
    プログラムカウンタ値を出力する第2のプログラムカウンタ制御手段とを有し、
    前記プログラムカウンタマスタデータ記憶手段が前記第2のクラスタのプログラムカウンタマスタデータを記憶しているときには、前記第2のプログラムカウンタ制御手段が出力するプログラムカウンタ値に応じて処理を行い、前記プログラムカウンタマスタデータ記憶手段が前記第2のクラスタのプログラムカウンタマスタデータを記憶していないときには、前記データネットワークを介して前記第1のクラスタからプログラムカウンタ値を入力してその入力したプログラムカウンタ値に応じて処理を行う第2のプロセッシングエレメントとを有することを特徴とする請求項2記載のリコンフィグラブル回路。
  4. 前記第1のプロセッシングエレメントは、前記データネットワークを介してプログラムカウンタ値を入力することができることを特徴とする請求項1〜3のいずれか1項に記載のリコンフィグラブル回路。
  5. さらに、前記プログラムカウンタマスタデータ記憶手段のプログラムカウンタマスタデータを書き換えるためのデータ書き換え手段を有することを特徴とする請求項1〜4のいずれか1項に記載のリコンフィグラブル回路。
JP2006056686A 2006-03-02 2006-03-02 リコンフィグラブル回路 Expired - Fee Related JP4580879B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006056686A JP4580879B2 (ja) 2006-03-02 2006-03-02 リコンフィグラブル回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006056686A JP4580879B2 (ja) 2006-03-02 2006-03-02 リコンフィグラブル回路

Publications (2)

Publication Number Publication Date
JP2007233857A JP2007233857A (ja) 2007-09-13
JP4580879B2 true JP4580879B2 (ja) 2010-11-17

Family

ID=38554368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006056686A Expired - Fee Related JP4580879B2 (ja) 2006-03-02 2006-03-02 リコンフィグラブル回路

Country Status (1)

Country Link
JP (1) JP4580879B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62293372A (ja) * 1986-06-11 1987-12-19 Nec Corp マスタスレ−ブプロセツサ
JPH04102158A (ja) * 1990-08-21 1992-04-03 Fujitsu Ltd 密結合マルチプロセッサ
JPH06195474A (ja) * 1992-12-25 1994-07-15 Kawasaki Steel Corp プログラムカウンタ及びプログラムカウンタ値変更コントローラ
JPH07249013A (ja) * 1994-03-09 1995-09-26 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサシステムにおけるマスタの切り替え制御方法
JPH09212358A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd データ処理装置及びマイクロプロセッサ
JP2004040188A (ja) * 2002-06-28 2004-02-05 Fujitsu Ltd 集積回路及びシステム開発方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62293372A (ja) * 1986-06-11 1987-12-19 Nec Corp マスタスレ−ブプロセツサ
JPH04102158A (ja) * 1990-08-21 1992-04-03 Fujitsu Ltd 密結合マルチプロセッサ
JPH06195474A (ja) * 1992-12-25 1994-07-15 Kawasaki Steel Corp プログラムカウンタ及びプログラムカウンタ値変更コントローラ
JPH07249013A (ja) * 1994-03-09 1995-09-26 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサシステムにおけるマスタの切り替え制御方法
JPH09212358A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd データ処理装置及びマイクロプロセッサ
JP2004040188A (ja) * 2002-06-28 2004-02-05 Fujitsu Ltd 集積回路及びシステム開発方法

Also Published As

Publication number Publication date
JP2007233857A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
TW202115575A (zh) 靜止可重組態的資料處理器
JP4909588B2 (ja) 情報処理装置及び再構成デバイスの利用方法
JP5131188B2 (ja) データ処理装置
GB2380834A (en) Thread ending method
US10002103B2 (en) Low-pin microcontroller device with multiple independent microcontrollers
JP2007034359A (ja) 分散制御装置
JP2007207026A (ja) Dma転送装置
JP5360061B2 (ja) マルチプロセッサシステム及びその制御方法
US10571993B2 (en) Micro controller unit
WO2002003592A2 (en) System and method for executing hybridized code on a dynamically configurable hardware environment
JPH11154087A (ja) データ処理装置の使用者プログラマブル回路
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
WO2012132692A1 (ja) 並列処理システム及び並列処理システムの動作方法
JP2013122764A (ja) 再構成可能プロセッサ及び再構成可能プロセッサのミニコア
JP4580879B2 (ja) リコンフィグラブル回路
US20090319762A1 (en) Dynamic reconfigurable circuit and data transmission control method
JP2008041059A (ja) マルチプロセッサ制御装置及び情報処理装置
JP2007047968A (ja) マルチプロセッサシステム
JP6817827B2 (ja) アクセラレータ処理管理装置、ホスト装置、アクセラレータ処理実行システム、方法およびプログラム
JP2005085079A (ja) データ転送制御装置
Pereira et al. Co-designed FreeRTOS deployed on FPGA
KR20090004394A (ko) 입력 소스로부터의 직접적인 명령어들의 실행
US20080222336A1 (en) Data processing system
US9697122B2 (en) Data processing device
JP2007026184A (ja) 機能処理電子回路およびその制御手法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100726

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100830

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4580879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees