JP2019193189A - 回路再構成装置、制御方法、及び制御プログラム - Google Patents

回路再構成装置、制御方法、及び制御プログラム Download PDF

Info

Publication number
JP2019193189A
JP2019193189A JP2018086416A JP2018086416A JP2019193189A JP 2019193189 A JP2019193189 A JP 2019193189A JP 2018086416 A JP2018086416 A JP 2018086416A JP 2018086416 A JP2018086416 A JP 2018086416A JP 2019193189 A JP2019193189 A JP 2019193189A
Authority
JP
Japan
Prior art keywords
circuit
information
reconfigured
reconfiguration
dynamically
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
JP2018086416A
Other languages
English (en)
Other versions
JP7136436B2 (ja
Inventor
公一 津口
Koichi Tsuguchi
公一 津口
潔 池浦
Kiyoshi Ikeura
潔 池浦
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2018086416A priority Critical patent/JP7136436B2/ja
Publication of JP2019193189A publication Critical patent/JP2019193189A/ja
Application granted granted Critical
Publication of JP7136436B2 publication Critical patent/JP7136436B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】再構成できる回路の規模を小さくし、かつ処理速度の低下を抑止する回路再構成装置、制御方法、及び制御プログラムを提供する。【解決手段】複数の領域2a、2bを有する、動的再構成可能回路2と、領域に回路情報に対応する回路を動的に再構成する、回路再構成手段3と、動的に再構成された回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、選択した回路情報に対応する回路を再構成させる制御をする、回路再構成制御手段4と、を有する回路再構成装置である。【選択図】図1

Description

本発明は、回路を再構成する回路再構成装置、制御方法、及び制御プログラムに関する。
近年、動的に再構成可能な回路(以降、動的再構成可能回路と呼ぶ)を有するFPGA(Field Programmable Gate Array)などのプログラマブルなデバイス(以降、回路再構成装置と呼ぶ)が普及し、多種多様な電子機器に搭載されている。このような回路再構成装置は、例えば、回路再構成装置が動作している間でも、動的再構成可能回路に回路情報を用いて、回路情報に対応する回路を再構成できる。
ところで、回路情報を用いて再構成した回路の規模が、想定している回路の規模を超過した場合、現状では、再構成できる回路の規模が大きい回路再構成装置に変更している。また、再構成できる回路の規模を大きくすると、回路を再構成する時間が増加する。
特許文献1には、動的再構成可能回路を有するFPGAを用いて、パイプラインを構成する技術が開示されている。具体的には、まず、動的再構成可能回路を分割した複数の領域(ブロックA、B、C)に、パイプライン処理回路を再構成するために用いる回路情報(ブロックデータDA、DB、DC)を作成する。そして、ブロックデータDAを用いてブロックAに回路を再構成し、ブロックAに回路を再構成した後、ブロックAに再構成した回路が動作している間に、ブロックデータDBを用いてブロックBに回路を再構成する。更に、ブロックBに回路を再構成した後、ブロックBに再構成した回路が動作している間に、ブロックデータDCを用いてブロックCに回路を再構成する。このように、再構成した回路が動作している間に他の回路を再構成することで、パイプライン処理にかかる時間を短縮している。
特許文献2には、複数の回路情報(ブロックデータ)を用いて、動的再構成可能回路に、一連の処理を実行するために用いる複数の異なる回路を、順次再構成する技術が開示されている。また、特許文献2では、分割した回路情報に基づいて再構成した回路が出力した出力データを、次に再構成する回路の入力データとすることが開示されている。
特開2011−186981号公報 特開2001−202236号公報
しかしながら、特許文献1に開示された技術では、分割したすべての領域(ブロックA、B、C)に回路を再構成するため、回路規模が大きくなると、動的再構成可能回路の大きな回路再構成装置に変更しなくてはならない。従って、回路を再構成する時間が増加する。
また、特許文献2に開示された技術では、一連の処理を実行するために用いる複数の異なる回路を、動的再構成可能回路に対して順次再構成するので、動的再構成可能回路の規模を小さくできる。しかし、特許文献2に開示された技術では、一つの動的再構成可能回路に順次回路を再構成するため、再構成をするたびに処理を停止させてから、次に用いる
回路を再構成をしなければならない。すなわち、停止後、再構成が終了してから次の処理を開始しなければならない。そのため、当該処理を実行する時間が増加するので、処理速度が低下する。
本発明の目的の一例は、再構成できる回路の規模を小さくし、かつ処理速度の低下を抑止する回路再構成装置、制御方法、及び制御プログラムを提供することにある。
上記目的を達成するため、本発明の一側面における回路再構成装置は、
複数の領域を有する、動的再構成可能回路と、
前記領域に回路情報に対応する回路を動的に再構成する、回路再構成手段と、
動的に再構成された前記回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、前記選択した回路情報に対応する回路を再構成させる制御をする、回路再構成制御手段と、
を有することを特徴とする。
また、上記目的を達成するため、本発明の一側面における、動的再構成可能回路に複数の領域を有する、回路再構成装置の制御方法は、
(A)前記領域に回路情報に対応する回路を動的に再構成する、ステップと、
(B)動的に再構成された前記回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、前記選択した回路情報に対応する回路を再構成させる制御をする、ステップと、
を有することを特徴とする。
更に、上記目的を達成するため、本発明の一側面における、動的再構成可能回路に複数の領域を有する、回路再構成装置に用いる制御プログラムは、
前記回路再構成装置に
(A)前記領域に回路情報に対応する回路を動的に再構成する、ステップと、
(B)動的に再構成された前記回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、前記選択した回路情報に対応する回路を再構成させる制御をする、ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、再構成できる回路の規模を小さくし、かつ処理速度の低下を抑止することができる。
図1は、回路再構成装置の一例を示す図である。 図2は、回路再構成装置を具体的に示す図である。 図3は、回路再構成装置の動作の一例を示す図である。 図4は、回路再構成装置の動作の一例を示す図である。 図5は、回路再構成装置の動作の一例を示す図である。 図6は、回路再構成装置の動作の一例を示す図である。 図7は、回路再構成装置を有するハードウェアの一例を示す図である。
(実施の形態)
以下、本発明の実施の形態について、図1から図7を参照しながら説明する。
[装置構成]
最初に、図1を用いて、本実施の形態における回路再構成装置の構成について説明する。図1は、回路再構成装置の一例を示す図である。
図1に示すように、回路再構成装置1は、動的再構成可能回路の規模を小さくし、かつ処理速度の低下を抑止する装置である。回路再構成装置1は、例えば、FPGAなどのプログラマブルなデバイスである。回路再構成装置1は、動的再構成可能回路2と、回路再構成部3(回路再構成手段)と、回路再構成制御部4(回路再構成制御手段)とを有する。
このうち、動的再構成可能回路2は、複数の領域2a、2bを有する。回路再構成部3は、領域2a、2bに回路情報に対応する回路を動的に再構成する。回路再構成制御部4は、動的に再構成された回路が生成した中間情報を用いて、次に再構成させる回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、選択した回路情報に対応する回路を再構成させる制御をする。すなわち、回路再構成制御部4は、回路再構成部3に対して、別の領域に、選択した回路情報に対応する回路を再構成させる指示をする。なお、回路再構成制御部4は、動的再構成可能回路2と異なる動的でない再構成可能回路5に再構成する。
また、図1に示す記憶部6は回路情報を記憶する。図1の例では、回路情報である処理A、処理B(B1又はB2)、処理C(C1又はC2又はC3)、処理D(D1又はD2又はD3又はD4)は、処理A、B、C、Dの順番に実行される一連の処理である。また、一連の処理は、図1の例では、処理Bは処理Aの処理結果(中間情報)に依存し、処理Cは処理Bの処理結果(中間情報)に依存し、処理Dは処理Cの処理結果(中間情報)に依存する。
具体的に説明する。回路再構成部3は、まず、領域2aに処理Aに対応する回路を再構成する。回路再構成制御部4は、処理Aに対応する回路が動作を開始した後、中間情報を用いて次に実行される処理B1又はB2を選択し、選択した処理に対応する回路を再構成することを、回路再構成部3へ指示する。回路再構成部3は、領域2bに選択された処理B1又はB2に対応する回路を再構成する。
続いて、回路再構成制御部4は、処理B1又はB2に対応する回路が動作を開始した後、中間情報を用いて次に実行される処理C1、C2、C3のいずれか一つを選択し、選択した処理に対応する回路を再構成することを、回路再構成部3へ指示する。回路再構成部3は、領域2aに選択された処理C1、C2、C3のいずれか一つに対応する回路を再構成する。
続いて、回路再構成制御部4は、処理C1、C2、C3のいずれか一つに対応する回路が動作を開始した後、中間情報を用いて次に実行される処理D1、D2、D3、D4のいずれか一つを選択し、選択した処理に対応する回路を再構成することを、回路再構成部3へ指示をする。回路再構成部3は、領域2bに選択された処理D1、D2、D3、D4のいずれか一つに対応する回路を再構成する。
このように、本実施の形態では、回路情報を用いて再構成する回路の規模が、回路再構成装置1に再構成できる回路規模より大きい場合でも、一連の処理を分割した回路情報を複数の領域に連続して再構成できるので、回路再構成装置1の規模を小さくできる。従って、回路を再構成する時間も短縮できる。
また、再構成された回路が動作している間に、当該回路が動作している領域と別の領域
に次に再構成させる回路を再構成させるので、従来のように再構成をするたびに処理を停止しなくてもよい。そのため、一連の処理を実行する時間を短縮できる。その結果、処理速度の低下を抑止できる。
更に、本実施の形態では、上述したように前段の処理に後段の処理が依存しているような場合(前段の処理結果(中間情報)により後段の処理が選択されるような場合)でも、後段の処理をできるだけ早く選択し、選択した後段の処理に対応する回路を再構成する。例えば、処理Aの後段の処理として処理B1又はB2を選択するような場合、処理Aに対応する回路が動作中に生成した中間情報を用いて、条件に一致する後段の処理を選択する。そうすることで、次に再構成する回路の候補が複数ある場合でも、連続して回路を再構成できる。
また、中間情報を用いて次の処理を選択できるので、従来よりも処理を小さく分割することができる。現状では、例えば、処理Aの次に処理B1又はB2を実行する場合でも、選択ができないので、処理B1と処理B2とを含む処理Bに対応する回路を再構成している。しかし、本実施の形態では、次の処理を選択ができるため、処理Bを処理B1と処理B2に分割できる。そのため、更に、動的再構成可能回路の規模を小さくできる。その結果、更に、回路を再構成する時間を短縮できる。
また、再構成可能回路の規模を小さくできるので、回路再構成装置1の価格や消費電力を抑制できる。例えば、車載機器、又はIoT(Internet of Things)デバイス、又は画像分析処理装置などの組み込み機器では、低価格、低消費電力が求められているため、できるだけ小さい回路再構成装置を採用できる。
なお、分割の方法は、例えば、設計ツールを用いて一連の処理のソースを解析し、領域2a、2bに再構成可能な規模に分割する。
続いて、図2を用いて、本実施の形態における回路再構成装置1についてより具体的に説明する。図2は、回路再構成装置を具体的に示す図である。
図2に示すように、本実施の形態における回路再構成装置1は、領域2a、2bと、回路再構成部3と、回路再構成制御部4とに加えて、入力部21と、出力部22と、結果保持部23とを有する。
領域2a、2bは、動的再構成可能回路2に設けられる領域である。なお、動的再構成可能回路2は、二つ以上の領域を有してもよい。具体的には、動的再構成可能回路2は、論理回路、入出力回路、配線回路などを有し、それらの回路を用いて、記憶部6に記憶されている回路情報に対応する回路を動的に再構成する。動的に再構成される回路は、例えば、上述した回路情報を示す処理(処理A、処理B1からB2、処理C1からC3、処理D1からD4)に対応する回路である。
回路再構成部3は、再構成可能回路5及び動的再構成可能回路2に回路情報を用いて、回路情報に対応する回路を再構成する回路である。具体的には、回路再構成部3は、記憶部6に記憶されている、回路再構成制御部4を再構成するための回路情報を用いて、コンフィギュレーション期間に、再構成可能回路5に回路再構成制御部4を構成する。また、回路再構成部3は、記憶部6に記憶されている上述した処理を用いて、動的に再構成をする期間に、領域2a、2bに処理それぞれに対応する回路を動的に再構成する。
回路再構成制御部4は、動的に再構成された回路が生成した中間情報を用いて、次に再構成させる回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に
、選択した回路情報に対応する回路を再構成させる制御をする。なお、回路再構成制御部4は、例えば、再構成可能回路5に再構成する。ただし、再構成可能回路5以外に設けてもよい。
具体的には、回路再構成制御部4は、まず、動的再構成可能回路2が有する領域に動的に再構成された回路が生成した中間情報を取得する。中間情報は、次に再構成させる回路に対応する回路情報を選択するために用いる情報である。また、回路再構成制御部4は、中間情報以外にも、動的再構成可能回路2が有する領域に動的に再構成された回路に、外部から入力された入力情報を、動的に再構成された回路から取得する。入力情報は、例えば、動的に再構成された回路の外部に設けられた外部装置から入力される情報(図2に示す外部からの入力情報)、又は結果保持部23から再構成された回路へ出力される情報(図2に示す内部に保持した入力情報)である。
例えば、画像分析処理を回路再構成装置1が実行する場合、外部からの入力情報は、撮像装置が撮像した動画像、各種センサから取得した速度、加速度、温度、湿度などの入力データ、及び、走行路、周囲環境、天候などの条件データである。中間情報は、例えば、画像分析処理により物体を検知した結果や、人物とそれ以外とを検知した結果などである。
外部装置は、プロセッサなどの情報処理装置、又は通信装置などである。なお、外部装置は、再構成可能回路5に設けていてもよい。
続いて、回路再構成制御部4は、中間情報、又は入力情報、又は両方の情報、又はそれら情報の一部を用いて、次に再構成させる回路に対応する回路情報を選択する。そして、回路再構成制御部4は、選択した回路情報に対応する回路を領域に再構成するための再構成指示を、回路再構成部3に送信する。回路再構成部3は、再構成指示を受信した後、選択した回路情報に対応する回路を領域に再構成する。
又は、回路再構成制御部4は、動的に再構成された回路が動作している場合、入力情報を用いて、複数の次に再構成する回路情報の候補を選択し、選択した複数の次に再構成する回路情報のなかから、中間情報を用いて、次に再構成される回路に対応する回路情報を選択してもよい。
具体的に説明する。例えば、処理B1の次に処理C1を選択する条件1が、入力情報1、中間情報1、中間情報2であり、処理B1の次に処理C2を選択する条件2が、入力情報1、中間情報1、中間情報3であり、処理B1の次に処理C3を選択する条件3が、入力情報1、中間情報3、中間情報4である場合について説明する。
回路再構成制御部4が、既に外部装置から入力情報1を取得している場合、入力情報1は条件1、条件2、条件3に含まれているので、処理C1と処理C2と処理C3とを次に再構成する候補とする。
続いて、回路再構成制御部4は、処理B1に対応する回路から、処理B1の処理結果として中間情報1を取得する。中間情報1は条件1、条件2に含まれるので、処理C1と処理C2とに候補を絞る。
続いて、回路再構成制御部4は、処理B1に対応する回路から、処理B1の処理結果として中間情報2を取得したとすると、中間情報2は条件1にしかないので、処理C1を選択する。
又は、回路再構成制御部4は、処理B1に対応する回路から、処理B1の処理結果として中間情報3を取得したとすると、中間情報1と中間情報3とを有するのは条件2しかないので、処理C2を選択する。
なお、回路再構成制御部4は、処理B1に対応する回路から処理結果として中間情報3と中間情報4とを取得したとすると、中間情報3と中間情報4とを有するのは条件3しかないので、処理C3を選択する。
更に、回路再構成制御部4は、動的に再構成された回路が動作している場合、入力情報を用いて、複数の次に再構成する回路情報の候補を選択し、選択した複数の候補に対応する回路を、動的に再構成された回路が動作している領域と別の領域に再構成するための再構成指示を、回路再構成部3に送信してもよい。
例えば、三つ以上の領域2a、2b、2cを設け、現在、領域2bに処理B1に対応する回路が再構成されている場合に、回路再構成制御部4が中間情報1を取得すると、領域2aに処理C1を再構成し、領域2cに処理C2を再構成する。その後、処理B1の中間情報を用いて、次に回路を再構成する処理を選択する。
なお、次に回路を再構成する処理の候補の数が、領域の数より多い場合、予め処理に優先順位を設定し、その優先順位に従い再構成をしてもよい。優先順位は、実験、又はシミュレーション、又は機械学習などにより導出した確率などである。
ただし、回路再構成制御部4は、選択した候補と異なる回路情報が、中間情報を用いて選択された場合、中間情報を用いて選択された回路情報を用いて、回路を再構成する。
次に、回路再構成制御部4は、動作している再構成された回路が処理を終了すると、次に再構成させる回路側へ入出力を切り替える。すなわち、回路再構成制御部4は、後述する入力部21を制御し、動的に再構成された回路に入力された入力情報を、入力部21から入力先となる領域へ入力させる。また、回路再構成制御部4は、後述する出力部22を制御し、動的に再構成された回路から出力された出力情報を、出力部22から出力先となる領域へ出力させる。出力情報は、動的に再構成された回路が実行した処理結果で、再構成された回路から外部装置へ出力する情報(図2に示す外部へ出力する出力情報)、又は再構成された回路から結果保持部23へ入力される情報(図2に示す内部に保持する出力情報)である。
入力部21は、外部装置から入力される情報(外部からの入力情報)、又は結果保持部23から再構成された回路へ出力される情報(内部に保持した入力情報)を取得し、領域2a又は2bに再構成された回路へ出力する、切替部21aと切替部21bとを有する。
切替部21aは、外部装置から入力される情報(外部からの入力情報)、又は結果保持部23から再構成された回路へ出力される情報(内部に保持した入力情報)を取得する。そして、切替部21aは、回路再構成制御部4により制御され、取得した入力情報を選択して切替部21bに出力する。
切替部21bは、切替部21aから出力された入力情報を、回路再構成制御部4により選択された次に動作する回路が構成されている領域へ出力する。
出力部22は、領域2a又は2bから外部へ出力する出力情報を取得し、取得した出力情報を外部装置へ出力する。また、出力部22は、領域2a又は2bから外部へ出力する出力情報を取得し、取得した出力情報を結果保持部23に保持する。出力部22は、切替
部22aと切替部22bとを有する。
切替部22aは、再構成された回路から外部装置へ出力する情報(外部へ出力する出力情報)、又は再構成された回路から結果保持部23へ出力する情報(内部に保持する出力情報)を取得する。そして、切替部22aは、回路再構成制御部4により制御され、取得した出力情報を切替部22bに出力する。
切替部22bは、切替部22aから出力された出力情報を、回路再構成制御部4の制御により選択された外部装置又は結果保持部23へ出力する。
結果保持部23は、領域2a又は2bに再構成された回路から出力された出力情報を保持し、次の回路が再構成された後、保持した出力情報を次に再構成された回路へ出力する。結果保持部23は、例えば、再構成可能回路5に再構成する。ただし、再構成可能回路5以外に設けてもよい。
[装置動作]
次に、本発明の実施の形態における回路再構成装置1の動作について図3から図6を用いて説明する。図3から図6は、回路再構成装置の動作の一例を示す図である。なお、以下の説明においては、適宜図1、2を参酌する。また、本実施の形態では、回路再構成装置1を動作させることによって、回路再構成方法が実施される。よって、本実施の形態における回路再構成方法の説明は、以下の回路再構成装置1の動作説明に代える。
まず、回路再構成部3は、記憶部6から回路再構成制御部4と処理Aに対応する回路情報を取得し、再構成可能回路5に回路再構成制御部4を再構成し、動的再構成可能回路2の領域2aに処理Aに対応する回路(以降、回路Aと呼ぶ)を再構成する。
次に、図3に示すように、情報処理装置は、回路Aに一連の処理を開始することを示す開始指示を送信する(ステップA1)。回路Aは、開始指示を受信した場合(ステップA2)、処理A(ステップA7からA9)を開始する。
次に、情報処理装置は、回路Aに入力情報を送信する(ステップA3)。回路Aは、入力情報を受信した場合(ステップA4)、入力情報を回路再構成制御部4へ送信する(ステップA5)。回路再構成制御部4は、入力情報を受信した場合(ステップA6)、処理Aの次に実行する処理を選択する選択処理を開始する(ステップA11からA13)。例えば、処理B1又はB2を選択する選択処理を開始する。
なお、回路Aと回路再構成制御部4とは、処理Aと選択処理とを並行して実行する。処理Aでは、回路Aが、動作して処理Aを実行して、中間情報と出力情報とを生成する(ステップA7、ステップA9)。また、回路Aは、選択処理で用いる中間情報を、回路再構成制御部4へ送信する(ステップA8)。すなわち、回路Aは、処理B1又はB2を選択するために用いる中間情報を、回路再構成制御部4へ送信する。なお、回路Aは、中間情報を生成するたびに、回路再構成制御部4へ送信してもよい。
選択処理では、回路再構成制御部4は、まず、入力情報を用いて処理Aの次に実行する処理の候補を選択する(ステップA10)。例えば、処理B1と処理B2とを候補にする。
続いて、回路再構成制御部4は、回路Aから中間情報を受信する(ステップA11)。そして、回路再構成制御部4は、中間情報を用いて、選択した候補のなかから、処理Aの次に実行する処理を選択する(ステップA12)。例えば、処理B1を選択する。
その後、回路再構成制御部4は、回路再構成部3に、記憶部6から処理Aの次に実行する処理B1に対応する回路情報を読み出し、領域2bに次の処理に対応する回路(以降、回路Bと呼ぶ)を再構成させるための再構成指示を送信する(ステップA13)。記憶部6は、回路再構成部3を介して再構成指示を受信する(ステップA14)。
回路再構成部3は、選択処理が終了した後、記憶部6から処理B1を読み出し(ステップA15)、領域2bに回路Bを再構成する(ステップA16)。
また、回路Aは、処理Aが終了する前において、結果保持部23に処理Aの処理結果である出力情報を送信する(ステップA17)。結果保持部23は、回路Aから出力情報を受信して保持する(ステップA18)。回路Aは、処理Aが終了した場合、処理Aが終了したことを示す終了情報を、回路再構成制御部4へ送信する(ステップA19)。回路再構成制御部4は、終了情報を受信した場合(ステップA20)、入力部21と出力部22とに回路A側から回路B側に入出力を切り替える切替指示をする(ステップA21)。
次に、図4に示すように、結果保持部23は、保持している回路Aの処理結果である出力情報を、入力情報として回路Bへ送信する(ステップB1)。回路Bは、入力情報を受信した場合(ステップB2)、入力情報を回路再構成制御部4へ送信する(ステップB3)。また、回路Bは、入力情報を受信した場合(ステップB4)、処理B1(ステップB5からB7)を開始する。
回路再構成制御部4は、入力情報を受信した場合(ステップB4)、処理B1の次に実行する処理を選択する選択処理を開始する(ステップB8からB11)。例えば、処理C1からC3のいずれか一つを選択する選択処理を開始する。
なお、回路Bと回路再構成制御部4とは、処理B1と選択処理とを並行して実行する。処理B1では、回路Bが、動作して処理B1を実行して、中間情報と出力情報とを生成する(ステップB5、ステップB7)。また、回路Bは、選択処理で用いる中間情報を、回路再構成制御部4へ送信する(ステップB6)。例えば、回路Bは、処理C1からC3のいずれか一つを選択するために用いる中間情報を、回路再構成制御部4へ送信する。なお、回路Bは、中間情報を生成するたびに、回路再構成制御部4へ送信してもよい。
選択処理では、回路再構成制御部4は、まず、入力情報を用いて処理B1の次に実行する処理の候補を選択する(ステップB8)。例えば、処理C1、C2、C3を候補にする。
続いて、回路再構成制御部4は、回路Bから中間情報を受信する(ステップB9)。そして、回路再構成制御部4は、中間情報を用いて、選択した候補のなかから、処理B1の次に実行する処理を選択する(ステップB10)。例えば、処理C1を選択する。
その後、回路再構成制御部4は、回路再構成部3に、記憶部6から処理B1の次に実行する処理C1に対応する回路情報を読み出し、領域2aに次の処理に対応する回路(以降、回路Cと呼ぶ)を再構成させるための再構成指示を送信する(ステップB11)。記憶部6は、回路再構成部3を介して再構成指示を受信する(ステップB12)。
回路再構成部3は、選択処理が終了した後、記憶部6から処理C1を読み出し(ステップB13)、領域2aに回路Cを再構成する(ステップB14)。
また、回路Bは、処理B1が終了する前において、結果保持部23に処理B1の処理結
果である出力情報を送信する(ステップB15)。結果保持部23は、回路Bから出力情報を受信して保持する(ステップB16)。回路Bは、処理B1が終了した場合、処理B1が終了したことを示す終了情報を、回路再構成制御部4へ送信する(ステップB17)。回路再構成制御部4は、終了情報を受信した場合(ステップB18)、入力部21と出力部22とに回路B側から回路C側に入出力を切り替える切替指示をする(ステップB19)。
次に、図5に示すように、結果保持部23は、保持している回路B1の処理結果である出力情報を、入力情報として回路Cへ送信する(ステップC1)。回路Cは、入力情報を受信した場合(ステップC2)、入力情報を回路再構成制御部4へ送信する(ステップC3)。また、回路Cは、入力情報を受信した後(ステップC4)、処理C1(ステップC5からC7)を開始する。
回路再構成制御部4は、入力情報を受信した場合(ステップC4)、処理C1の次に実行する処理を選択する選択処理を開始する(ステップC8からC11)。例えば、処理D1からD4のいずれか一つを選択する選択処理を開始する。
なお、回路Cと回路再構成制御部4とは、処理C1と選択処理とを並行して実行する。処理C1では、回路Cが、動作して処理C1を実行して、中間情報と出力情報とを生成する(ステップC5、ステップC7)。また、回路Cは、選択処理で用いる中間情報を、回路再構成制御部4へ送信する(ステップC6)。例えば、回路Cは、処理D1からD4のいずれか一つを選択するために用いる中間情報を、回路再構成制御部4へ送信する。なお、回路Dは、中間情報を生成するたびに、回路再構成制御部4へ送信してもよい。
選択処理では、回路再構成制御部4は、まず、入力情報を用いて処理C1の次に実行する処理の候補を選択する(ステップC8)。例えば、処理D1、D2、D3、D4を候補にする。
続いて、回路再構成制御部4は、回路Cから中間情報を受信する(ステップC9)。そして、回路再構成制御部4は、中間情報を用いて、選択した候補のなかから、処理C1の次に実行する処理を選択する(ステップC10)。例えば、処理D2を選択する。
その後、回路再構成制御部4は、回路再構成部3に、記憶部6から処理C1の次に実行する処理D2に対応する回路情報を読み出し、領域2bに次の処理に対応する回路(以降、回路Dと呼ぶ)を再構成させるための再構成指示を送信する(ステップC11)。記憶部6は、回路再構成部3を介して再構成指示を受信する(ステップC12)。
回路再構成部3は、選択処理が終了した後、記憶部6から処理D2を読み出し(ステップB13)、領域2bに回路Dを再構成する(ステップC14)。
また、回路Cは、処理C1が終了する前において、結果保持部23に処理C1の処理結果である出力情報を送信する(ステップC15)。結果保持部23は、回路Cから出力情報を受信して保持する(ステップC16)。回路Cは、処理C1が終了した場合、処理C1が終了したことを示す終了情報を、回路再構成制御部4へ送信する(ステップC17)。回路再構成制御部4は、終了情報を受信した場合(ステップC18)、入力部21と出力部22とに回路C側から回路D側に入出力を切り替える切替指示をする(ステップC19)。
次に、図6に示すように、結果保持部23は、保持している回路Cの処理結果である出力情報を、入力情報として回路Dへ送信する(ステップD1)。回路Dは、入力情報を受
信した場合(ステップD2)、入力情報を回路再構成制御部4へ送信する(ステップD3)。また、回路Dは、入力情報を受信した後(ステップD4)、処理D2(ステップD5からD7)を開始する。
回路再構成制御部4は、入力情報を受信した場合(ステップD4)、処理D2の次に実行する処理を選択する選択処理を開始する(ステップD8からD10)。
なお、回路Dと回路再構成制御部4とは、処理D2と選択処理とを並行して実行する。処理D2では、回路Dが、動作して処理D2を実行して、中間情報と出力情報とを生成する(ステップD5、ステップD7)。また、回路Dは、選択処理で用いる中間情報を、回路再構成制御部4へ送信する(ステップD6)。例えば、回路Dは、次の処理を選択するために用いる中間情報を、回路再構成制御部4へ送信する。なお、回路Dは、予め次の処理が無いとわかっている場合、中間情報を生成しなくてもよい。
選択処理では、回路再構成制御部4は、まず、入力情報を用いて処理D1の次に実行する処理の候補を選択する(ステップD8)。図6の例では、次に選択する処理の候補がない。
続いて、回路再構成制御部4は、回路Dから中間情報を受信する(ステップD9)。そして、回路再構成制御部4は、中間情報を用いて、選択した候補のなかから、処理D1の次に実行する処理を選択する(ステップD10)。図6の例では、次に選択する処理の候補がない。
その後、回路Dは、情報処理装置に処理D2の処理結果である出力情報を送信する(ステップD11)。情報処理装置は、回路Dから出力情報を受信した場合(ステップD12)、出力情報を用いて、処理を実行する。回路Dは、処理D2が終了した場合、処理D2が終了したことを示す終了情報を、回路再構成制御部4へ送信する(ステップD13)。回路再構成制御部4は終了情報を受信する(ステップD14)。
なお、回路再構成制御部4は、終了情報を受信した場合(ステップD14)、次の処理に備えて、入力部21と出力部22とに入出力を切り替える切替指示をしてもよい。
例えば、次に領域2aに再構成する回路が処理Aに対応する回路Aである場合、回路再構成制御部4は、終了情報を受信した後、記憶部6から処理Aを読み出して領域2aに回路Aを再構成する。その後、回路再構成制御部4は、入力部21と出力部22とに回路D側から回路A側へ入出力を切り替える。
また、一連の処理において最初の処理が決定できない場合、例えば、最初の処理の候補として処理A1、A2がある場合、回路再構成制御部4は、処理A1又は処理A2を記憶部6から読み出し、領域2aに読み出した処理に対応する回路を再構成する。領域2aに処理A1に対応する回路A1が再構成されている状態において、回路再構成制御部4が処理A2を受信した場合であれば、回路再構成制御部4は領域2aに処理A2に対応する回路A2を再構成する。
更に、領域が三つ以上ある場合、回路再構成装置1は、動的に再構成された回路が動作している場合に、入力情報を用いて、複数の次に再構成する回路情報の候補を選択し、選択した複数の候補に対応する回路を、動的に再構成された回路が動作している領域と別の領域に再構成させてもよい。
[本実施の形態の効果]
以上のように本実施の形態によれば、回路情報を用いて再構成する回路の規模が、回路再構成装置1に再構成できる回路規模より大きい場合でも、一連の処理を分割した回路情報を複数の領域に連続して再構成できるので、回路再構成装置1の規模を小さくできる。従って、回路を再構成する時間も短縮できる。
また、再構成された回路が動作している間に、当該回路が動作している領域と別の領域に次に再構成させる回路を再構成させるので、従来のように再構成をするたびに処理を停止しなくてもよい。そのため、一連の処理を実行する時間を短縮できる。その結果、処理速度の低下を抑止できる。
更に、本実施の形態では、上述したように前段の処理に後段の処理が依存しているような場合(前段の処理結果(中間情報)により後段の処理が選択されるような場合)でも、後段の処理をできるだけ早く選択し、選択した後段の処理に対応する回路を再構成する。例えば、処理Aの後段の処理として処理B1又はB2を選択するような場合、処理Aに対応する回路が動作中に生成した中間情報を用いて、条件に一致する後段の処理を選択する。そうすることで、次に再構成する回路の候補が複数ある場合でも、連続して回路を再構成できる。
また、中間情報を用いて次の処理を選択できるので、従来よりも処理を小さく分割することができる。現状では、例えば、処理Aの次に処理B1又はB2の処理を実行する場合でも、選択ができないので、処理B1と処理B2とを含む処理Bを再構成している。しかし、本実施の形態では、次の処理を選択ができるため、処理Bを処理B1と処理B2に分割できる。そのため、更に、動的再構成可能回路の規模を小さくできる。その結果、更に、回路を再構成する時間を短縮できる。
また、再構成可能回路の規模を小さくできるので、回路再構成装置1の価格や消費電力を抑制できる。例えば、車載機器、又はIoT(Internet of Things)デバイス、画像分析処理装置などの組み込み機器では、低価格、低消費電力が求められているため、できるだけ小さい回路再構成装置を採用できる。
[プログラム]
本発明の実施の形態におけるプログラムは、上述した図3から図6に示した、再構成可能回路5に回路再構成制御部4を再構成させ、複数の領域2a、2bに回路情報を用いて動的に回路を再構成させるプログラムであればよい。このプログラムを記憶部6に記憶し、プログラムを回路再構成装置1が実行することによって、本実施の形態における上述した回路再構成の制御を実現することができる。
[物理構成]
図7は、回路再構成装置を有するハードウェアの一例を示す図である。図7に示すように、基板110は、回路再構成装置1と、記憶部6と、周辺回路120とを有する。周辺回路120は、例えば、CPU(Central Processing Unit)に加えて、又はCPUに代えて、GPU(Graphics Processing Unit)、又はFPGA、又は通信装置などを有する回路である。
記憶部6は、典型的には、ROM(Read Only Memory)等の不揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体130に格納された状態で提供してもよい。なお、本実施の形態におけるプログラムは、通信インターフェイスを介して接続されたインターネット上で流通するものでもよい。また、記録媒体130の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)
等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
以上のように本発明によれば、再構成できる回路の規模を小さくし、かつ処理速度の低下を抑止することができる。本発明は、FPGAを代表とするプログラマブルなデバイスの分野において有用である。
1 回路再構成装置
2 動的再構成可能回路
2a、2b 領域
3 回路再構成部
4 回路再構成制御部
5 再構成可能回路
6 記憶部
21 入力部
21a、21b 切替部
22 出力部
22a、22b 切替部
23 結果保持部
110 基板
120 周辺回路
130 記録媒体

Claims (12)

  1. 複数の領域を有する、動的再構成可能回路と、
    前記領域に回路情報に対応する回路を動的に再構成する、回路再構成手段と、
    動的に再構成された前記回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、前記選択した回路情報に対応する回路を再構成させる制御をする、回路再構成制御手段と、
    を有する回路再構成装置。
  2. 請求項1に記載の回路再構成装置であって、
    動的に再構成された前記回路が出力した出力情報は、前記次に再構成される回路に入力する入力情報として記憶する。
  3. 請求項2に記載の回路再構成装置であって、
    前記回路再構成制御手段は、動的に再構成された前記回路が動作している場合、前記入力情報、又は前記中間情報、又は両方を用いて、複数の前記次に再構成する回路情報の候補を選択し、選択した複数の前記次に再構成する回路情報のなかから、前記中間情報を用いて、前記次に再構成される回路に対応する回路情報を選択する。
  4. 請求項3に記載の回路再構成装置であって、
    前記回路再構成制御手段は、動的に再構成された前記回路が動作している場合、前記入力情報、又は前記中間情報、又は両方を用いて、複数の前記次に再構成する回路情報の候補を選択し、選択した複数の候補に対応する回路を、前記別の領域に再構成させる制御をする。
  5. 動的再構成可能回路に複数の領域を有する、回路再構成装置の制御方法であって、
    (A)前記領域に回路情報に対応する回路を動的に再構成する、ステップと、
    (B)動的に再構成された前記回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、前記選択した回路情報に対応する回路を再構成させる制御をする、ステップと、
    を有する回路再構成装置の制御方法。
  6. 請求項5に記載の回路再構成装置の制御方法であって、
    前記(B)のステップにおいて、動的に再構成された前記回路が出力した出力情報は、前記次に再構成される回路に入力する入力情報として記憶する。
  7. 請求項6に記載の回路再構成装置の制御方法であって、
    前記(B)のステップにおいては、動的に再構成された前記回路が動作している場合、前記入力情報、又は前記中間情報、又は両方を用いて、複数の前記次に再構成する回路情報の候補を選択し、選択した複数の前記次に再構成する回路情報のなかから、前記中間情報を用いて、前記次に再構成される回路に対応する回路情報を選択する。
  8. 請求項7に記載の回路再構成装置の制御方法であって、
    前記(B)のステップにおいては、動的に再構成された前記回路が動作している場合、前記入力情報、又は前記中間情報、又は両方を用いて、複数の前記次に再構成する回路情報の候補を選択し、選択した複数の候補に対応する回路を、前記別の領域に再構成させる制御をする。
  9. 動的再構成可能回路に複数の領域を有する、回路再構成装置に用いる制御プログラムであって、
    前記回路再構成装置に
    (A)前記領域に回路情報に対応する回路を動的に再構成する、ステップと、
    (B)動的に再構成された前記回路が生成した中間情報を用いて、次に再構成される回路に対応する回路情報を選択し、当該回路が再構成された領域と別の領域に、前記選択した回路情報に対応する回路を再構成させる制御をする、ステップと、
    を実行させる制御プログラム。
  10. 請求項9に記載の回路再構成装置に用いる制御プログラムであって、
    前記(B)のステップにおいて、動的に再構成された前記回路が出力した出力情報は、前記次に再構成される回路に入力する入力情報として記憶する。
  11. 請求項10に記載の回路再構成装置に用いる制御プログラムであって、
    前記(B)のステップにおいては、動的に再構成された前記回路が動作している場合、前記入力情報、又は前記中間情報、又は両方を用いて、複数の前記次に再構成する回路情報の候補を選択し、選択した複数の前記次に再構成する回路情報のなかから、前記中間情報を用いて、前記次に再構成される回路に対応する回路情報を選択する。
  12. 請求項11に記載の回路再構成装置に用いる制御プログラムであって、
    前記(B)のステップにおいては、動的に再構成された前記回路が動作している場合、前記入力情報、又は前記中間情報、又は両方を用いて、複数の前記次に再構成する回路情報の候補を選択し、選択した複数の候補に対応する回路を、前記別の領域に再構成させる制御をする。
JP2018086416A 2018-04-27 2018-04-27 回路再構成装置、制御方法、及び制御プログラム Active JP7136436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018086416A JP7136436B2 (ja) 2018-04-27 2018-04-27 回路再構成装置、制御方法、及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018086416A JP7136436B2 (ja) 2018-04-27 2018-04-27 回路再構成装置、制御方法、及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2019193189A true JP2019193189A (ja) 2019-10-31
JP7136436B2 JP7136436B2 (ja) 2022-09-13

Family

ID=68391066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018086416A Active JP7136436B2 (ja) 2018-04-27 2018-04-27 回路再構成装置、制御方法、及び制御プログラム

Country Status (1)

Country Link
JP (1) JP7136436B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075759A (ja) * 1999-09-06 2001-03-23 Fuji Xerox Co Ltd 情報処理装置および情報処理方法
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP2003198361A (ja) * 2001-12-28 2003-07-11 Fujitsu Ltd プログラマブル論理デバイス
JP2008242850A (ja) * 2007-03-27 2008-10-09 Ricoh Co Ltd 画像処理装置、画像処理システム及び画像処理方法
WO2009096247A1 (ja) * 2008-02-01 2009-08-06 Nec Corporation 多分岐予測方法及び装置
JP2011186981A (ja) * 2010-03-11 2011-09-22 Fuji Xerox Co Ltd データ処理装置
JP2013125288A (ja) * 2011-12-13 2013-06-24 Nec Engineering Ltd データ処理装置及びデータ処理方法
JP2016110499A (ja) * 2014-12-09 2016-06-20 株式会社リコー データ処理装置およびデータ処理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075759A (ja) * 1999-09-06 2001-03-23 Fuji Xerox Co Ltd 情報処理装置および情報処理方法
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP2003198361A (ja) * 2001-12-28 2003-07-11 Fujitsu Ltd プログラマブル論理デバイス
JP2008242850A (ja) * 2007-03-27 2008-10-09 Ricoh Co Ltd 画像処理装置、画像処理システム及び画像処理方法
WO2009096247A1 (ja) * 2008-02-01 2009-08-06 Nec Corporation 多分岐予測方法及び装置
JP2011186981A (ja) * 2010-03-11 2011-09-22 Fuji Xerox Co Ltd データ処理装置
JP2013125288A (ja) * 2011-12-13 2013-06-24 Nec Engineering Ltd データ処理装置及びデータ処理方法
JP2016110499A (ja) * 2014-12-09 2016-06-20 株式会社リコー データ処理装置およびデータ処理方法

Also Published As

Publication number Publication date
JP7136436B2 (ja) 2022-09-13

Similar Documents

Publication Publication Date Title
EP3404587B1 (en) Cnn processing method and device
JP7411663B2 (ja) 部分的リコンフィギュレーションを使用したフィールドプログラマブルゲートアレイのプログラミングプロセスの改善
US20190179635A1 (en) Method and apparatus for tensor and convolution operations
EP3410296B1 (en) Starting method and device for embedded device
US8407633B2 (en) Dynamically reconfigurable self-monitoring circuit
JP5994679B2 (ja) 処理装置、及び処理装置の制御方法
US20190384641A1 (en) Method, apparatus, and computer program product for processing computing task
US11016769B1 (en) Method and apparatus for processing information
CN110780921A (zh) 数据处理方法和装置、存储介质及电子装置
EP2565786A1 (en) Information processing device and task switching method
US9467532B2 (en) Server, arithmatic processing method, and arithmatic processing system
JP7136436B2 (ja) 回路再構成装置、制御方法、及び制御プログラム
JP6913312B2 (ja) データ処理装置及びデータ転送方法
JP2017204121A (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
KR20200053170A (ko) 인공지능 실행가속을 위한 인공지능 실행모델 설정방법 및 인공지능 실행가속시스템
CN113485855B (zh) 一种内存共享方法、装置、电子设备及可读存储介质
JPWO2018135088A1 (ja) データ処理装置、畳み込み演算装置および畳み込みニューラルネットワーク装置
JP2005258509A (ja) ストレージ装置
JP2009163328A (ja) 情報処理装置及びその制御方法
CN111027682A (zh) 神经网络处理器、电子设备及数据处理方法
KR102213046B1 (ko) 설계 지원 장치, 설계 지원 방법 및 기록 매체에 저장된 프로그램
JP2021086564A (ja) 動的再構成制御装置、動的再構成制御方法、及びプログラム
KR101569001B1 (ko) Fpga 데이터 구성 시스템 및 그 방법
JPWO2017188416A1 (ja) 回路装置、回路書き換え方法、及びプログラム
WO2022250708A1 (en) Parallelizing opengl rendering pipelines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220825

R150 Certificate of patent or registration of utility model

Ref document number: 7136436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150