JP5355152B2 - 動的再構成装置 - Google Patents

動的再構成装置 Download PDF

Info

Publication number
JP5355152B2
JP5355152B2 JP2009056670A JP2009056670A JP5355152B2 JP 5355152 B2 JP5355152 B2 JP 5355152B2 JP 2009056670 A JP2009056670 A JP 2009056670A JP 2009056670 A JP2009056670 A JP 2009056670A JP 5355152 B2 JP5355152 B2 JP 5355152B2
Authority
JP
Japan
Prior art keywords
processing
dynamic reconfiguration
mapping
circuit
calculation
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
JP2009056670A
Other languages
English (en)
Other versions
JP2010211496A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009056670A priority Critical patent/JP5355152B2/ja
Publication of JP2010211496A publication Critical patent/JP2010211496A/ja
Application granted granted Critical
Publication of JP5355152B2 publication Critical patent/JP5355152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Stored Programmes (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

この発明は、複数の異なる処理を実行することが可能な動的再構成回路を実装している動的再構成装置に関するものである。
動的再構成装置である動的再構成デバイスは、処理対象の回路構成を示す回路構成情報を動的にマッピングすることで、適宜、回路構成を切り替えれば、複数の処理を実行することができる。
動的再構成デバイスを用いて、順次処理を実行するようなアプリケーションを実現する場合、次の処理を実行する前に回路構成情報のマッピングを切り替える必要がある。
例えば、以下の特許文献1には、以下に示すような動的再構成デバイスが開示されている。
次の処理を実行させる回路の一部の領域が、現在処理を実行している場合、次の処理の回路構成情報を、現在処理を実行している回路と重なる部分と、現在処理を実行している回路と重ならない部分とに分割する。
そして、重ならない部分の回路構成情報については、現在処理を実行している回路の処理と並行してマッピングし、重なる部分の回路構成情報については、現在処理を実行している回路の処理が終了してからマッピングする。
これにより、重ならない部分の回路構成情報については、直ちにマッピングすることができる。
しかし、処理ごとにマッピングする回路の領域が固定されているため、動的再構成デバイスの全体では、現在処理を実行していない回路が多く残っている場合でも、重なる部分の回路構成情報については、現在処理を実行している回路の処理が終了するまでマッピングすることができず、処理を開始するまでに遅延が発生する。
特開2001−320271号公報(段落番号[0045]、図1)
従来の動的再構成装置は以上のように構成されているので、現在処理を実行していない回路が多く残っている場合でも、次の処理を実行させる回路の一部の領域が、現在処理を実行している場合、現在処理を実行している回路と重なる部分の回路構成情報については、現在処理を実行している回路の処理が終了するまでマッピングすることができず、処理を開始するまでに遅延が発生するなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、実行中の処理の終了を待つことなく、演算内容を割り当てることができるようにして、処理全体の高速化を図ることができる動的再構成装置を得ることを目的とする。
この発明に係る動的再構成装置は、実行する処理の演算内容と上記処理を実行する際に必要な論理セルの個数を記憶している記憶手段と、動的再構成回路を構成している論理セルの中で、現在処理を実行していない論理セルを検出する未実行論理セル検出手段と、未実行論理セル検出手段により検出された論理セルの中から、記憶手段により記憶されている個数分の論理セルを選択する論理セル選択手段とを設け、演算内容割当手段が論理セル選択手段により選択された論理セルに対して記憶手段により記憶されている演算内容を割り当てるようにしたものである。
また、動的再構成回路が、複数の論理セルがブロック単位に領域分けされている場合、現在、演算内容が割り当てられているブロックを示すマッピング状況を未実行論理セル検出手段に通知するようにしたものである。
この発明によれば、実行する処理の演算内容と上記処理を実行する際に必要な論理セルの個数を記憶している記憶手段と、動的再構成回路を構成している論理セルの中で、現在処理を実行していない論理セルを検出する未実行論理セル検出手段と、未実行論理セル検出手段により検出された論理セルの中から、記憶手段により記憶されている個数分の論理セルを選択する論理セル選択手段とを設け、演算内容割当手段が論理セル選択手段により選択された論理セルに対して記憶手段により記憶されている演算内容を割り当てるように構成したので、実行中の処理の終了を待つことなく、演算内容を割り当てることができるようになり、その結果、処理全体の高速化を図ることができる効果がある。
この発明の実施の形態1による動的再構成装置を示す構成図である。 この発明の実施の形態1による動的再構成装置の構成情報生成部4を示す構成図である。 動的再構成回路2を構成しているPE3の内部を示す構成図である。 この発明の実施の形態1による動的再構成装置の処理内容を示すフローチャートである。 2種類のプログラム(P1、P2)の処理順序を示す説明図である。 図1の動的再構成装置が2種類のプログラム(P1、P2)を実行する場合の処理経過を示す説明図である。 図1の動的再構成装置が2種類のプログラム(P1、P2)を実行する場合の処理経過を示すタイミングチャートである。 この発明の実施の形態1による他の動的再構成装置を示す構成図である。 この発明の実施の形態2による動的再構成装置の動的再構成回路2を示す構成図である。 この発明の実施の形態2による動的再構成装置の他の動的再構成回路2を示す構成図である。 この発明の実施の形態3による動的再構成装置を示す構成図である。 この発明の実施の形態3による動的再構成装置の処理内容を示す説明図である。 個数算出手段の処理内容を示すフローチャートである。
実施の形態1.
図1はこの発明の実施の形態1による動的再構成装置を示す構成図であり、図2はこの発明の実施の形態1による動的再構成装置の構成情報生成部4を示す構成図である。
図1及び図2において、動的再構成装置である動的再構成デバイス1は複数の異なる処理を実行することが可能な動的再構成回路2を実装しているデバイスである。
動的再構成回路2は論理セルであるPE(Processor Element)3がアレイ状に並べて構成されており、マッピング制御部8から出力されたマッピング情報S3によって演算内容が割り当てられたPE3が当該演算内容に係る処理を実行する。
構成情報生成部4は動的再構成回路1を構成しているPE3の中で、現在処理を実行していないPE3を検出し、現在処理を実行していないPE3の中から、処理を実行する際に必要な個数分のPE3を選択する処理を実行する。
構成情報生成部4の処理基幹メモリ5は実行する処理の演算内容(例えば、加算、減算、乗算、除算など)と上記処理を実行する際に必要なPE3の個数を記憶しているメモリである。なお、処理基幹メモリ5は記憶手段を構成している。
構成情報生成部4の空き領域検出部6は動的再構成回路1を構成しているPE3の中で、現在処理を実行していないPE3を検出し、そのPE3を示す空き領域情報を出力する処理を実施する。なお、空き領域検出部6は未実行論理セル検出手段を構成している。
構成情報生成部4の回路構成生成部7は空き領域検出部6から出力された空き領域情報を参照して、現在処理を実行していないPE3を認識し、現在処理を実行していないPE3の中から、処理基幹メモリ5に記憶されている個数分のPE3を選択し、その選択した複数のPE3を示す選択情報と、その選択した各PE3が処理する演算内容とを含む構成情報S2をマッピング制御部8に出力する処理を実施する。なお、回路構成生成部7は論理セル選択手段を構成している。
マッピング制御部8は構成情報生成部4の回路構成生成部7から出力された構成情報S2に含まれている選択情報が示すPE3に対して、その構成情報S2に含まれている演算内容を割り当てる旨を示すマッピング情報S3を動的再構成回路2に出力する処理を実施する。
なお、マッピング制御部8は演算内容割当手段を構成している。
図3は動的再構成回路2を構成しているPE3の内部を示す構成図である。
図3において、マッピング判定部11はマッピング制御部8からマッピング情報S3を受けると、そのマッピング情報S3に含まれている演算内容を演算処理部12に割り当てるとともに、当該PE3が現在処理中である旨(空き領域でない旨)を示す領域情報S1を構成情報生成部4に出力し、その演算処理部12が当該演算内容の処理を終了すると、当該PE3が現在処理を実行していない旨(空き領域である旨)を示す領域情報S1を構成情報生成部4に出力する処理を実施する。
演算処理部12はマッピング判定部11により割り当てられた演算内容を処理する。
次に動作について説明する。
図4はこの発明の実施の形態1による動的再構成装置の処理内容を示すフローチャートである。
動的再構成回路2を構成している各PE3のマッピング判定部11は、マッピング制御部8からマッピング情報S3の出力を受けて、現在、演算処理部12が演算処理を実施していれば、現在処理中である旨(空き領域でない旨)を示す領域情報S1を構成情報生成部4に出力する。
一方、マッピング制御部8からマッピング情報S3の出力を受けていない場合、あるいは、マッピング制御部8からマッピング情報S3の出力を受けていても、既に演算処理部12の演算処理が終了している場合、現在処理を実行していない旨(空き領域である旨)を示す領域情報S1を構成情報生成部4に出力する。
構成情報生成部4の空き領域検出部6は、動的再構成回路2を構成している全てのPE3のマッピング判定部11から領域情報S1を収集する。
空き領域検出部6は、全てのPE3のマッピング判定部11から領域情報S1を収集すると、その領域情報S1の内容を参照することで、動的再構成回路1を構成しているPE3の中で、現在処理を実行していない(空き領域である)PE3を検出し、そのPE3を示す空き領域情報を回路構成生成部7に出力する(ステップST1)。
構成情報生成部4の回路構成生成部7は、空き領域検出部6から空き領域情報を受けると、その空き領域情報を参照して、現在処理を実行していないPE3を認識する。
また、回路構成生成部7は、処理基幹メモリ5に記憶されている演算内容と、その演算内容に係る処理を実行する際に必要なPE3の個数Nを取得する。
回路構成生成部7は、例えば、現在処理を実行していないPE3の個数がMであり、その個数Mが、処理を実行する際に必要なPE3の個数Nより大きければ、現在処理を実行していないM個のPE3の中から、N個のPE3を選択する。
動的再構成回路2を構成しているPE3はどれも同じ処理能力を有し、どのPE3でも、割り当てられた演算内容を同じように処理する論理セルであるため、選択するPE3は任意でよく、PE3の選択方法を特に限定するものではない。
回路構成生成部7は、N個のPE3を選択すると、N個のPE3を示す選択情報と、N個のPE3が処理する演算内容とを含む構成情報S2をマッピング制御部8に出力する(ステップST2)。
例えば、処理基幹メモリ5に記憶されている演算内容が、下記に示すような3つの演算ステップをシリアルに実行するものであり、処理を実行する際に必要なPE3の個数が3個である場合、3個のPE3を直列に接続して、先頭のPE3に(ステップ1)の演算内容、次のPE3に(ステップ2)の演算内容、最後のPE3に(ステップ3)の演算内容を割り当てる必要がある。
(ステップ1) aとbを加算
(ステップ2) ステップ1の演算結果にcを乗算
(ステップ3) ステップ1の演算結果をdで除算
したがって、構成情報S2に含まれる選択情報は、単に選択したPE3を示す情報だけでなく、選択した複数のPE3間の接続情報を含む情報である。
ここでは、説明の簡単化のため、各ステップの演算内容が極めて簡単な四則演算の例を示しているが、実際には、もっと複雑な演算の場合が多い。
マッピング制御部8は、構成情報生成部4の回路構成生成部7から構成情報S2を受けると、その構成情報S2に含まれている選択情報が示すPE3に対して、その構成情報S2に含まれている演算内容を割り当てる旨を示すマッピング情報S3を動的再構成回路2に出力する。
動的再構成回路2を構成しているPE3のマッピング判定部11は、マッピング制御部8からマッピング情報S3を受けると、そのマッピング情報S3に含まれている演算内容を演算処理部12に割り当てる処理を行う(ステップST3)。
上記の例では、N個のPE3を選択しているので、N個のPE3がマッピング制御部8からマッピング情報S3を受けて、そのマッピング情報S3に含まれている演算内容を演算処理部12に割り当てることになる。
マッピング判定部11は、上述したように、そのマッピング情報S3に含まれている演算内容を演算処理部12に割り当てると、当該PE3が現在処理中である旨(空き領域でない旨)を示す領域情報S1を構成情報生成部4に出力する。
PE3の演算処理部12は、マッピング判定部11から演算内容が割り当てられると、その演算内容に係る処理を実行する(ステップST4)。
なお、マッピング判定部11により演算内容が割り当てられた演算処理部12は、既に演算内容が割り当てられて処理を実行している他のPE3の演算処理部12とは独立しているので、他のPE3の演算処理部12と並行して処理を実行することになる。
図1の動的再構成装置は、次に実行する処理があれば、ステップST1〜ST4を繰り返し実行し、次に実行する処理がなければ、一連の処理を終了する(ステップST5)。
ここで、図5は2種類のプログラム(P1、P2)の処理順序を示す説明図である。
以下、図1の動的再構成装置が2種類のプログラム(P1、P2)を実行する場合の動作を説明する。
図6は図1の動的再構成装置が2種類のプログラム(P1、P2)を実行する場合の処理経過を示す説明図である。
ただし、図5のプログラム(P1、P2)は、3種類の演算処理A,B,Cで構成されており、プログラム(P1)は演算処理A,B,Cの順に実行され、プログラム(P2)は演算処理C,A,Bの順に実行される。
また、全体の演算処理の実行順序は、(P1)A→(P2)C→(P1)B→(P2)A→(P1)C→(P2)Bである。
なお、演算処理A,B,Cは、プログラム(P1)、プログラム(P2)において、同じ処理である。
以下では、動的再構成装置上で実行されるプログラムは、プログラム(P1)とプログラム(P2)だけであり、実行を開始する前は、動的再構成回路2のPE3にマッピングされている処理はなく、停止しているものとする。
最初に、構成情報生成部4がプログラム(P1)の演算処理Aを実行するために、その演算処理Aの構成情報S2を生成する。
マッピング制御部8は、構成情報生成部4が演算処理Aの構成情報S2を生成すると、その構成情報S2にしたがってマッピング情報S3を生成し、そのマッピング情報S3をプログラム(P1)の演算処理Aを実行するPE3に出力する。
これにより、図6(a)に示すように、そのPE3の演算処理部12によりプログラム(P1)の演算処理Aが実行される。
このとき、構成情報生成部4は、動的再構成回路2を構成している全てのPE3のマッピング判定部11から領域情報S1を収集して、動的再構成回路2上の空き領域を検出し、次に実行するプログラム(P2)の演算処理Cの構成情報S2を生成する(図6(a)を参照)。
マッピング制御部8は、構成情報生成部4がプログラム(P2)の演算処理Cの構成情報S2を生成すると、その構成情報S2にしたがってマッピング情報S3を生成し、そのマッピング情報S3をプログラム(P2)の演算処理Cを実行するPE3に出力する。
これにより、図6(b)に示すように、そのPE3の演算処理部12によりプログラム(P2)の演算処理Cが実行される。
図6(b)の例では、まだプログラム(P1)の演算処理Aが終了していないので、プログラム(P1)の演算処理Aとプログラム(P2)の演算処理Cが並行に実行されている。
図6(c)に示すように、プログラム(P1)の演算処理Aが終了すると、その演算処理Aが割り当てられていたPE3が未使用状態(空き領域)となり、そのPE3のマッピング判定部11から現在使用していない旨(空き領域である旨)を示す領域情報S1が構成情報生成部4に出力される。
構成情報生成部4は、動的再構成回路2を構成している全てのPE3のマッピング判定部11から領域情報S1を収集して、動的再構成回路2上の空き領域を検出し、次に実行するプログラム(P1)の演算処理Bの構成情報S2を生成する(図6(c)を参照)。
マッピング制御部8は、構成情報生成部4がプログラム(P1)の演算処理Bの構成情報S2を生成すると、その構成情報S2にしたがってマッピング情報S3を生成し、そのマッピング情報S3をプログラム(P1)の演算処理Bを実行するPE3に出力する。
これにより、図6(d)に示すように、そのPE3の演算処理部12によりプログラム(P1)の演算処理Bが実行される。
図6(d)の例では、まだプログラム(P2)の演算処理Cが終了していないので、プログラム(P2)の演算処理Cとプログラム(P1)の演算処理Bが並行に実行されている。
以下、プログラム(P2)の演算処理A、プログラム(P1)の演算処理C、プログラム(P2)の演算処理Bについても、同様の手順で実行される(図6(e)〜(k)を参照)。
上述したように、例えば、プログラム(P1)の演算処理Aとプログラム(P2)の演算処理Aは、同じ処理であるため、その演算処理Aに使用されるPE3の個数は同一であり、使用するPE3の個数が同じであれば、どのPE3が実行してもよい。
このため、プログラム(P1)の演算処理Aを実行しているPE3は、図6(a)に示すように、動的再構成回路2の左下領域に配置されているPEであるのに対し、プログラム(P2)の演算処理Aを実行しているPE3は、図6(h)に示すように、動的再構成回路2の上領域に配置されているPEであり、使用しているPE3が相違している。
このように、動的再構成回路2を構成しているPE3のうち、空き状態のPE3を検出して、空き状態のPE3を適宜使用することで、リソースを効率よく使用することができる。
ここで、図7は図1の動的再構成装置が2種類のプログラム(P1、P2)を実行する場合の処理経過を示すタイミングチャートである。
時刻t0で、動的再構成回路2に対するプログラム(P1)の演算処理Aのマッピングが開始され、時刻t1で、プログラム(P1)の演算処理Aのマッピングが完了すると、プログラム(P1)の演算処理Aの実行が開始される。
また同時に、次に実行するプログラム(P2)の演算処理Cの構成情報S2の生成が開始され、時刻t2で、プログラム(P2)の演算処理Cの構成情報S2が生成されると、プログラム(P2)の演算処理Cのマッピングが開始され、時刻t3で、プログラム(P2)の演算処理Cのマッピングが完了すると、プログラム(P2)の演算処理Cの実行が開始され、まだプログラム(P1)の演算処理Aの処理が終了していないので、プログラム(P1)の演算処理Aと平行して実行される。
次に、プログラム(P1)の演算処理Aが終了したのち、時刻t4で、次に実行するプログラム(P1)の演算処理Bの構成情報S2の生成が開始され、時刻t5で、プログラム(P1)の演算処理Bの構成情報S2が生成されると、プログラム(P1)の演算処理Bのマッピングが開始され、時刻t6で、プログラム(P1)の演算処理Bのマッピングが完了すると、プログラム(P1)の演算処理Bの実行が開始され、まだプログラム(P2)の演算処理Cの処理が終了していないので、プログラム(P2)の演算処理Cの処理と平行して実行される。
以下、同様に、処理が終了した後、構成情報の生成、マッピング、処理の実行が行われる。前に実行されている処理と並行して実行されるため、前に実行されている処理を妨げることはない。
以上で明らかなように、この実施の形態1によれば、実行する処理の演算内容と上記処理を実行する際に必要なPE3の個数を記憶している処理基幹メモリ5と、動的再構成回路2を構成しているPE3の中で、現在処理を実行していないPE3を検出する空き領域検出部6と、空き領域検出部6により検出されたPE3の中から、処理基幹メモリ5により記憶されている個数分のPE3を選択する回路構成生成部7とを設け、マッピング制御部8が回路構成生成部7により選択されたPE3に対して上記演算内容を割り当てるように構成したので、実行中の処理の終了を待つことなく、演算内容を割り当てることができるようになり、その結果、処理全体の高速化を図ることができる効果を奏する。
即ち、この実施の形態1によれば、複数の処理からなる異なるプログラムを並列に実行する場合、各プログラムにおいて処理を実行するPE3の構成情報S2を固定せず、動的再構成回路2上にマッピングする際に、PE3の空き状況に応じて構成情報S2を動的に生成するため、処理間でマッピングするPE3(領域)が重なることがなく、マッピングすることができる。
また、動的再構成回路2上に処理を実行しているPE3が存在する場合でも、実行中の処理は継続され、かつ、マッピング完了後処理を開始した場合であっても、実行中の処理と並行動作が可能であるため、実行中の処理の終了を待つ必要がなくなり、処理全体の高速化を実現することができる。
なお、この実施の形態1では、構成情報生成部4が動的再構成デバイス1に実装されているものについて示したが、構成情報生成部4については、図8に示すように、動的再構成デバイス1の外部に設けられていてもよい。
実施の形態2.
上記実施の形態1では、動的再構成回路2を構成しているPE3が別個独立であるものについて示したが、図9に示すように、複数のPE3がブロック単位に領域分けされていてもよい。
図9では、1つのブロックB1,B2・・・が、9個のPE3から構成されている例を示しているが、1つのブロックに含まれるPE3の個数は、例えば、設計者が任意に決定することができる。
このように、複数のPE3がブロック単位に領域分けする場合、各ブロックを構成する複数のPE3の中の代表PE3aのマッピング判定部11が、同じブロック内のPE3のマッピング判定部11から出力される領域情報S1を集約して、当該ブロックのマッピング状況を判定する。
即ち、代表PE3aは、同じブロック内の全てのPE3の空き状態を判定し、いずれか1つのPE3でも、空き状態ではなく、現在処理を実行していれば、当該ブロックには、現在、演算内容が割り当てられており、空き状態ではない旨を示すマッピング状況を、当該ブロックの領域情報S1として構成情報生成部4に出力する。
図9の例では、代表PE3aのマッピング判定部11が、同じブロック内のPE3のマッピング判定部11から出力される領域情報S1を集約して、当該ブロックのマッピング状況を判定するものについて示したが、図10に示すように、ブロック毎に、PEブロックマッピング判定部3bを設け、PEブロックマッピング判定部3bが、代表PE3aと同様の方法、当該ブロック内のPE3のマッピング判定部11から出力される領域情報S1を集約して、当該ブロックのマッピング状況を判定するようにしてもよい。
実施の形態3.
図11はこの発明の実施の形態3による動的再構成装置を示す構成図であり、図12はこの発明の実施の形態3による動的再構成装置の処理内容を示す説明図である。
図11及び図12において、図1と同一符号は同一又は相当部分を示すので説明を省略する。
空き領域検出部6のアドレステーブル部21は動的再構成回路2を構成しているPE3を示すPEアドレスS11と、そのPE3が実行中であるか否かを示すマッピングフラグS12とが対になっているアドレステーブルを保持している。
アドレス禁止制御部22はマッピング制御部8から出力されるマッピング情報S3にしたがってアドレステーブル部21により保持されているアドレステーブル内のマッピングフラグS12を更新する処理を実施する。なお、アドレス禁止制御部22はフラグ更新手段を構成している。
アドレス範囲指定部23はアドレステーブル部21により保持されているアドレステーブル内のマッピングフラグS12のうち、現在処理を実行していない旨を示すマッピングフラグS12に対応するPEアドレスS11を空き領域情報として回路構成生成部7に出力する処理を実施する。なお、アドレス範囲指定部23はアドレス通知手段を構成している。
次に動作について説明する。
例えば、動的再構成回路2が16個のPE3(4×4のPEアレイ)で構成されている場合、図12に示すように、16個のPE3を示すPEアドレスS11として、4ビット“0000”〜“1111”のアドレスがアドレステーブルに設定される。なお、PEアドレスS11の下位2ビットは4×4のPEアレイの列方向を表し、上位2ビットは4×4のPEアレイの行方向を表している。
マッピングフラグS12は、PEアドレスS11が示すPE3が現在未使用(空き領域)であれば“0”が設定され、現在使用中であれば、“1”が設定される。
動的再構成装置の動作が開始される前は、初期状態として、全てのマッピングフラグS12が“0”に設定される。
図12の例では、PEアドレスS11が“0101”,“0110”,“1001”,“1010”であるPE3が現在使用中であるとして“1”が設定され、その他のPE3が現在未使用(空き領域)として“0”が設定されている。
アドレス禁止制御部22は、マッピング制御部8からマッピング情報S3が出力されると、そのマッピング情報S3の出力先であるPE3には、演算内容が割り当てられるので、そのPE3のPEアドレスS11に対応するマッピングフラグS12を“0”から“1”に変更する。
例えば、マッピング情報S3の出力先であるPE3が、“0001”のPE3であれば、PEアドレスS11“0001”に対応するマッピングフラグS12を“0”から“1”に変更する。
アドレス禁止制御部22は、動的再構成回路2を構成しているPE3のマッピング判定部11から、現在処理を実行していない旨(空き領域である旨)を示す領域情報S1を受けると、現在、そのPE3のマッピングフラグS12が“1”であれば、“1”から“0”に変更する。
アドレス範囲指定部23は、アドレステーブル部21により保持されているアドレステーブル内のマッピングフラグS12のうち、“0”のマッピングフラグS12に対応するPEアドレスS11を空き領域情報として回路構成生成部7に出力する。
図12の例では、PEアドレスS11“0000”〜“0100”,“0111”〜“1000”,“1011”〜“1111”を空き領域情報として回路構成生成部7に出力する。
ここでは、アドレス範囲指定部23から出力されるPEアドレスS11は、連続している3つのPEアドレス群であるが、上位2ビットと下位2ビットで行と列を表しているため、動的再構成回路2上の連続した空き領域を表している。
例えば、PEアドレスS11の“0100”と“1000”は、動的再構成回路2の“00”列の2行目と3行目のPE3を表しているため、列方向に連続する2つのPE3が空き領域となっていることがわかる。
回路構成生成部7は、アドレス範囲指定部23から“0”のマッピングフラグS12に対応するPEアドレスS11を空き領域情報として受けると、上記実施の形態1と同様に、現在処理を実行していないPE3を認識して、構成情報S2を生成して出力する。
以上で明らかなように、この実施の形態3によれば、動的再構成回路2を構成しているPE3を示すPEアドレスS11とPE3が実行中であるか否かを示すマッピングフラグS12が対になっているアドレステーブルと、マッピング制御部8から出力されるマッピング情報S3にしたがってアドレステーブル内のマッピングフラグS12を更新するアドレス禁止制御部22と、そのアドレステーブル内のマッピングフラグS12のうち、“0”のマッピングフラグS12に対応するPEアドレスS11を回路構成生成部7に通知するアドレス範囲指定部23とを設けるように構成したので、分割された空き領域のPE3がある場合でも、その空き領域のPE3の位置と個数を容易に特定することができる効果を奏する。
なお、この実施の形態3では、アドレステーブルが、動的再構成回路2を構成しているPE3を示すPEアドレスS11を管理しているものについて示したが、複数のPE3から構成されているブロックB1,B2・・・を示すブロックアドレスを管理するようにしてもよい。
この場合、アドレス禁止制御部22は、マッピング制御部8からマッピング情報S3が出力されるブロックのブロックアドレスに対応するマッピングフラグS12を“0”から“1”に変更する。
アドレス範囲指定部23は、アドレステーブル部21により保持されているアドレステーブル内のマッピングフラグS12のうち、“0”のマッピングフラグS12に対応するブロックアドレスを空き領域情報として回路構成生成部7に出力する。
この実施の形態3では、アドレス禁止制御部22が、マッピング制御部8から出力されるマッピング情報S3にしたがって、アドレステーブル内のマッピングフラグS12を更新するものについて示したが、この更新処理をマッピング制御部8が実施するようにしてもよい。
実施の形態4.
上記実施の形態1〜3では、処理を実行する際に必要なPE3の個数が構成情報生成部4の処理基幹メモリ5に記憶されているものについて示したが、動的再構成回路2を構成しているPE3が処理を開始する前に、実行予定の処理の演算内容から、その処理を実行する際に必要なPE3の個数を算出し、その個数を処理基幹メモリ5に格納する個数算出手段(図示せず)を設けるようにしてもよい。
図13は個数算出手段の処理内容を示すフローチャートである。
まず、個数算出手段は、外部から実行予定の処理の演算内容(例えば、プログラムの動作記述)を入力すると、その演算内容にしたがって構成情報S2を生成する(ステップST11)。
例えば、実行予定の処理の演算内容と、一般的なPE(図1等のPE3とは異なる)の処理能力を比べて、その演算内容に係る処理を実行する際に必要なPEの個数Nを推測し、そのN個のPEを示す選択情報と、N個のPEが処理する演算内容とを含む構成情報S2を生成する。
マッピング制御部8は、個数算出手段が構成情報S2を生成すると、その構成情報S2に含まれている選択情報が示すPE3に対して、その構成情報S2に含まれている演算内容を割り当てる旨を示すマッピング情報S3を動的再構成回路2に出力する(ステップST12)。
動的再構成回路2を構成しているPE3のマッピング判定部11は、マッピング制御部8からマッピング情報S3を受けると、そのマッピング情報S3に含まれている演算内容を演算処理部12に割り当てる処理を行う。
これにより、演算処理部12が割り当てられた演算内容を処理するが、その演算処理部12の処理能力が一般的なPEの処理能力と合致しておらず、例えば、規定の上限時間内に当該演算内容を処理することができなければ、マッピング制御部8が、マッピング情報S3を変更して、その演算内容に係る処理を実行する際に必要なPEの個数Nを増やすようにする。
逆に、規定の上限時間内に当該演算内容を処理することができる場合、マッピング制御部8が、マッピング情報S3を変更して、その演算内容に係る処理を実行する際に必要なPEの個数Nを減らし、この場合でも、規定の上限時間内に当該演算内容を処理することができるか否かを判定する。
マッピング制御部8は、規定の上限時間内に当該演算内容を処理することができなければ、元の個数に戻すようにする。
個数算出手段は、マッピング制御部8がマッピング情報S3の変更処理を完了すると、動的再構成回路2を構成しているPE3のマッピング判定部11から領域情報S1を取得し、その領域情報S1から当該演算内容が割り当てられたPE3の個数N(当該演算内容に係る処理を実行する際に必要なPEの個数)を把握し(ステップST13)、そのPEの個数Nを処理基幹メモリ5に格納する(ステップST14)。
1 動的再構成デバイス、2 動的再構成回路、3 PE(論理セル)、3a 代表PE、3b PEブロックマッピング判定部、4 構成情報生成部、5 処理基幹メモリ(記憶手段)、6 空き領域検出部(未実行論理セル検出手段)、7 回路構成生成部(論理セル選択手段)、8 マッピング制御部(演算内容割当手段)、11 マッピング判定部、12 演算処理部、21 アドレステーブル部、22 アドレス禁止制御部(フラグ更新手段)、23 アドレス範囲指定部(アドレス通知手段)。

Claims (4)

  1. 複数の論理セルから構成されており、演算内容が割り当てられた論理セルが当該演算内容に係る処理を実行する動的再構成回路と、実行する処理の演算内容と上記処理を実行する際に必要な論理セルの個数を記憶している記憶手段と、上記動的再構成回路を構成している論理セルの中で、現在処理を実行していない論理セルを検出する未実行論理セル検出手段と、上記未実行論理セル検出手段により検出された論理セルの中から、上記記憶手段により記憶されている個数分の論理セルを選択する論理セル選択手段と、上記論理セル選択手段により選択された論理セルに対して上記記憶手段により記憶されている演算内容を割り当てる演算内容割当手段とを備え
    上記動的再構成回路は、複数の論理セルがブロック単位に領域分けされている場合、現在、演算内容が割り当てられているブロックを示すマッピング状況を上記未実行論理セル検出手段に通知することを特徴とする動的再構成装置。
  2. 上記動的再構成回路及び上記演算内容割当手段が動的再構成デバイスに実装され、上記記憶手段、上記未実行論理セル検出手段及び上記論理セル選択手段が上記動的再構成デバイスの外部に設けられていることを特徴とする請求項1記載の動的再構成装置。
  3. 上記未実行論理セル検出手段は、上記動的再構成回路を構成しているブロックを示すアドレスと上記ブロックが実行中であるか否かを示すフラグが対になっているアドレステーブルと、上記演算内容割当手段による演算内容の割当状況にしたがって上記アドレステーブル内のフラグを更新するフラグ更新手段と、上記アドレステーブル内のフラグのうち、現在処理を実行していない旨を示すフラグに対応するアドレスを上記論理セル選択手段に通知するアドレス通知手段とを設けたことを特徴とする請求項1または請求項2記載の動的再構成装置。
  4. 上記動的再構成回路を構成している論理セルが処理を開始する前に、実行予定の処理の演算内容から、上記処理を実行する際に必要な論理セルの個数を算出し、上記個数を上記記憶手段に格納する個数算出手段を設けたことを特徴とする請求項1から請求項のうちのいずれか1項記載の動的再構成装置。
JP2009056670A 2009-03-10 2009-03-10 動的再構成装置 Expired - Fee Related JP5355152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009056670A JP5355152B2 (ja) 2009-03-10 2009-03-10 動的再構成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009056670A JP5355152B2 (ja) 2009-03-10 2009-03-10 動的再構成装置

Publications (2)

Publication Number Publication Date
JP2010211496A JP2010211496A (ja) 2010-09-24
JP5355152B2 true JP5355152B2 (ja) 2013-11-27

Family

ID=42971584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009056670A Expired - Fee Related JP5355152B2 (ja) 2009-03-10 2009-03-10 動的再構成装置

Country Status (1)

Country Link
JP (1) JP5355152B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262405B (zh) * 2010-10-22 2016-03-23 三星重工业株式会社 可在操作中重构的控制系统以及用于其的方法
JP5980035B2 (ja) 2012-07-31 2016-08-31 キヤノン株式会社 情報処理装置およびその制御方法
US10693466B2 (en) 2015-07-31 2020-06-23 Guosheng Wu Self-adaptive chip and configuration method
JP6964969B2 (ja) * 2016-09-30 2021-11-10 キヤノン株式会社 演算処理装置、演算処理方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3636277B2 (ja) * 1998-09-11 2005-04-06 富士ゼロックス株式会社 情報処理システム
JP3684901B2 (ja) * 1999-03-02 2005-08-17 富士ゼロックス株式会社 情報処理システム
JP2000311156A (ja) * 1999-04-27 2000-11-07 Mitsubishi Electric Corp 再構成可能並列計算機
JP3587095B2 (ja) * 1999-08-25 2004-11-10 富士ゼロックス株式会社 情報処理装置
JP2002016489A (ja) * 2000-06-30 2002-01-18 Fuji Xerox Co Ltd プログラマブル論理回路装置、及び情報処理システム
JP3987782B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
JP3989397B2 (ja) * 2003-03-31 2007-10-10 三洋電機株式会社 集積回路装置およびその装置に対するデータ設定装置
JP5277615B2 (ja) * 2007-11-22 2013-08-28 富士ゼロックス株式会社 データ処理装置及びデータ処理プログラム

Also Published As

Publication number Publication date
JP2010211496A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
US11593644B2 (en) Method and apparatus for determining memory requirement in a network
US9311157B2 (en) Method and apparatus for dynamic resource allocation of processing units on a resource allocation plane having a time axis and a processing unit axis
JP6010540B2 (ja) 選択された実行ランタイムによる実行のためのユーザコードのランタイム非依存表現
CN108279979B (zh) 一种为应用程序容器绑定cpu的方法及装置
JP5445669B2 (ja) マルチコアシステムおよび起動方法
JP5355152B2 (ja) 動的再構成装置
CN103049328A (zh) 计算机系统中内存资源分配方法
JP2007018268A (ja) タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム
TW200925871A (en) Dynamic logical data channel assignment using time-grouped allocations
JP6823251B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20230067432A1 (en) Task allocation method, apparatus, electronic device, and computer-readable storage medium
US8380724B2 (en) Grouping mechanism for multiple processor core execution
Benini et al. Resource management policy handling multiple use-cases in mpsoc platforms using constraint programming
JP2006099579A (ja) 情報処理装置及び情報処理方法
KR20160037737A (ko) 스케쥴러 컴퓨팅 장치, 그것을 포함하는 분산 컴퓨팅 시스템의 데이터 노드 및 그것의 방법
JP7217341B2 (ja) プロセッサおよびレジスタの継承方法
CN115543553A (zh) 在光线跟踪系统中调度处理
TW200941238A (en) Kernel processor grouping
CN114237878A (zh) 指令控制方法、电路、装置及相关设备
JP2005316679A (ja) 並列演算処理装置
JP2014211727A (ja) 仮想計算機システムおよび仮想計算機におけるi/o実施方法
JP5641128B2 (ja) マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
CN110737533A (zh) 一种任务调度方法、装置及电子设备和存储介质
JP2006350622A (ja) マルチプロセッサシステム
WO2021179333A1 (zh) 任务分配方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130827

R150 Certificate of patent or registration of utility model

Ref document number: 5355152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees