JP2022040721A - 情報処理装置、及びプログラム - Google Patents

情報処理装置、及びプログラム Download PDF

Info

Publication number
JP2022040721A
JP2022040721A JP2020145560A JP2020145560A JP2022040721A JP 2022040721 A JP2022040721 A JP 2022040721A JP 2020145560 A JP2020145560 A JP 2020145560A JP 2020145560 A JP2020145560 A JP 2020145560A JP 2022040721 A JP2022040721 A JP 2022040721A
Authority
JP
Japan
Prior art keywords
memory
region
circuit
programmable logic
arithmetic circuit
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.)
Pending
Application number
JP2020145560A
Other languages
English (en)
Inventor
雅広 石渡
Masahiro Ishiwatari
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fujifilm Business Innovation 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 Fujifilm Business Innovation Corp filed Critical Fujifilm Business Innovation Corp
Priority to JP2020145560A priority Critical patent/JP2022040721A/ja
Priority to US17/149,845 priority patent/US20220066666A1/en
Priority to CN202110239529.9A priority patent/CN114116597A/zh
Publication of JP2022040721A publication Critical patent/JP2022040721A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Abstract

【課題】機能を実現するモジュールをプログラマブル論理回路に再構成するときにそのモジュールで使う全てのメモリも再構成する場合に比べて、再構成に要する時間を短くする。【解決手段】受付部111は、操作部14からユーザの指示を受付ける。初期化部112は、プログラマブル論理回路16が初期化前であると判断した場合、これを初期化する。第1再構成部113は、初期化の際に、プログラマブル論理回路16の第1領域を、データを記憶する第1メモリとして再構成する。選択部114は、選択した演算処理を実行するためのコンフィグレーションデータをメモリ12から読出して第2再構成部115に供給する。第2再構成部115は、選択部114から供給されたコンフィグレーションデータをプログラマブル論理回路16の、第1領域と異なる第2領域に書き込んで、この第2領域に、上述した演算回路を再構成する。【選択図】図3

Description

本発明は、情報処理装置、及びプログラムに関する。
特許文献1は、メモリセル内に不良が検出されると、そのメモリセルに接続する全ての選択線を、救済用メモリセルにつながる制御信号線に接続するように再構成する情報記憶装置を開示している。
また、特許文献2は、自身の状態を制御する制御回路から供給される構成情報に応じてメモリポートに対するメモリの割り当てを動的に変更してメモリ領域を再構成する半導体装置を開示している。
また、特許文献3は、リセット時に動作するメモリの初期化回路を専用回路として設ける必要のないリコンフィグ可能な集積回路装置を開示している。
特開2007-157075号公報 特開2006-18452号公報 特開2007-323164号公報
FPGA(field-programmable gate array)等のプログラマブル論理回路は、再構成に要する時間が長引くほど処理に遅れが生じるため、再構成する領域のサイズは可能な限り小さいことが望ましい。
本発明は、機能を実現するモジュールをプログラマブル論理回路に再構成するときにそのモジュールで使う全てのメモリも再構成する場合に比べて、再構成に要する時間を短くすることを目的とする。
本発明の請求項1に係る情報処理装置は、プログラマブル論理回路に接続されたプロセッサを有し、前記プロセッサは、初期化の際に、前記プログラマブル論理回路の第1領域を、データを記憶する第1メモリとして再構成し、前記プログラマブル論理回路の前記第1領域と異なる第2領域を、前記第1メモリを使用する第1演算回路として再構成し、前記第1演算回路として再構成されていた前記第2領域を、該第1演算回路と異なる第2演算回路として再構成した場合に、該第2演算回路に、前記第1メモリを使用させる情報処理装置である。
本発明の請求項2に係る情報処理装置は、請求項1に記載の態様において、前記プロセッサは、前記プログラマブル論理回路の前記初期化の際を除き、前記第1領域を再構成しない情報処理装置である。
本発明の請求項3に係る情報処理装置は、請求項1又は2に記載の態様において、前記プロセッサは、前記第2領域を前記第1演算回路として再構成したときに、該第1演算回路が使用する前記第1メモリの記憶容量が不足している場合に、前記プログラマブル論理回路の第3領域を、該記憶容量を補う第2メモリとして再構成する情報処理装置である。
本発明の請求項4に係る情報処理装置は、請求項1から3のいずれか1項に記載の態様において、前記プロセッサは、前記第2領域を前記第1演算回路として再構成したときに、前記プログラマブル論理回路の第4領域を、該第1演算回路から前記第1メモリへのアクセスを制御する制御回路として再構成する情報処理装置である。
本発明の請求項5に係る情報処理装置は、請求項1又は2に記載の態様において、前記プロセッサは、前記第2領域を前記第1演算回路として再構成したときに、該第1演算回路が使用する前記第1メモリの記憶容量が不足している場合に、前記プログラマブル論理回路の第3領域を、該記憶容量を補う第2メモリとして再構成し、前記プログラマブル論理回路の第4領域を、前記第1演算回路から前記第1メモリ及び前記第2メモリへのアクセスをそれぞれ制御する制御回路として再構成する情報処理装置である。
本発明の請求項6に係る情報処理装置は、請求項4又は5に記載の態様において、前記第4領域と前記第1領域との間の距離は、前記第2領域と前記第1領域との間の距離よりも小さいことを特徴とする情報処理装置である。
本発明の請求項7に係る情報処理装置は、請求項6に記載の態様において、前記第4領域は、前記第1領域に隣接することを特徴とする情報処理装置である。
本発明の請求項8に係る情報処理装置は、請求項1から7のいずれか1項に記載の態様において、前記プログラマブル論理回路は、格子状に配列された複数の論理ブロックを有し、前記第2領域は、矩形であることを特徴とする情報処理装置である。
本発明の請求項9に係る情報処理装置は、請求項8に記載の態様において、前記第1領域は、決められた幅で統一されていることを特徴とする情報処理装置である。
本発明の請求項10に係るプログラムは、プログラマブル論理回路に接続されたプロセッサを有するコンピュータに、初期化の際に、前記プログラマブル論理回路の第1領域を、データを記憶する第1メモリとして再構成するステップと、前記プログラマブル論理回路の前記第1領域と異なる第2領域を、前記第1メモリを使用する第1演算回路として再構成するステップと、を実行させるとともに、前記第1演算回路として再構成されていた前記第2領域を、該第1演算回路と異なる第2演算回路として再構成した場合に、該第2演算回路に、前記第1メモリを使用させるように、前記コンピュータを制御するプログラムである。
請求項1、10に係る発明によれば、機能を実現するモジュールをプログラマブル論理回路に再構成するときにそのモジュールで使う全てのメモリも再構成する場合に比べて、再構成に要する時間を短くすることができる。
請求項2に係る発明によれば、初期化の際を除いて、第1領域の再構成のための時間は不要である。
請求項3に係る発明によれば、第2領域を第1演算回路として再構成したときに第1メモリの記憶容量が不足していても、第1演算回路に演算を行わせることができる。
ことができる。
請求項4に係る発明によれば、第1演算回路に第1メモリへのアクセスを制御する制御回路を内包させる場合に比べて、第1メモリへのアクセスの効率が向上する。
請求項5に係る発明によれば、第1メモリ及び第2メモリへのアクセスを異なる制御回路により制御する場合に比べて、そのアクセスの効率が向上する。
請求項6に係る発明によれば、第4領域と第1領域との間の距離を、第2領域と第1領域との間の距離以上の配置とする場合に比べて、配線効率が向上する。
請求項7に係る発明によれば、第4領域を、第1領域に隣接させない配置とする場合に比べて、配線効率が向上する。
請求項8に係る発明によれば、格子状に配列された複数の論理ブロックを有するプログラマブル論理回路において、矩形でない第2領域を再構成する場合に比べて、再構成の効率が向上する。
請求項9に係る発明によれば、第1メモリへのアクセスを統一されたインタフェースによって行うことができる。
情報処理装置1の構成の例を示す図。 本実施形態におけるプログラマブル論理回路16の構成の例を示す図。 情報処理装置1の機能的構成の例を示す図。 情報処理装置1の指示受付の動作の流れの例を示すフロー図。 情報処理装置1の演算処理の動作の流れの例を示すフロー図。 プログラマブル論理回路16の再構成の状態を説明するための図。 専用のメモリを備えない演算回路の例を示す図。 専用のメモリを備える演算回路の例を示す図。 第1メモリMs、第1演算回路F1、及び制御回路A1の配置の例を示す図。 従来のプログラマブル論理回路の例を示す図。
<実施形態>
<情報処理装置の構成>
図1は、情報処理装置1の構成の例を示す図である。図1に示す情報処理装置1は、プロセッサ11、メモリ12、インタフェース13、操作部14、表示部15、プログラマブル論理回路16、画像読取部17、及び画像形成部18を有する。これらの構成は、バス19で、互いに通信可能に接続されている。
バス19は、プロセッサ11を図示しないチップセットに接続するホストバス、及び、そのチップセットに含まれる図示しないメモリコントローラとメモリ12とを接続するメモリバスを含む。また、バス19は、プロセッサ11と、プログラマブル論理回路16等とを接続するPCI(Peripheral Component Interconnect)バス、及び、このPCIバスと、上述したホストバスとを接続するホスト・PCIバスブリッジを含む。また、バス19は、画像読取部17や画像形成部18が利用する、画像データをやり取りするための画像バスを含んでいてもよい。
プロセッサ11は、メモリ12に記憶されているプログラムを読出して実行することにより情報処理装置1の各部を制御する。プロセッサ11は、例えばCPU(Central Processing Unit)である。
メモリ12は、プロセッサ11に読み込まれるオペレーティングシステム、各種のプログラム、データ等を記憶する記憶手段である。また、メモリ12は、プログラマブル論理回路16に書き込む回路情報のデータ(コンフィグレーションデータともいう)を記憶する。
メモリ12は、RAM(Random Access Memory)やROM(Read Only Memory)を有する。なお、メモリ12は、ソリッドステートドライブ、ハードディスクドライブ等を有してもよい。
インタフェース13は、有線又は無線により情報処理装置1を、他の装置に通信可能に接続する通信回路である。例えば、インタフェース13は、各種のデバイスをプロセッサ11に接続し、それらのデバイスをプロセッサ11に制御させる。
操作部14は、各種の指示をするための操作ボタン、キーボード、マウス、タッチパネル等の操作子を備えており、操作を受付けてその操作内容に応じた信号をプロセッサ11に送る。
表示部15は、プロセッサ11又はプログラマブル論理回路16の制御の下、指定された画像を表示する。図1に示す表示部15は、上述した画像を表示するための表示画面である液晶ディスプレイを有している。この液晶ディスプレイの上には、操作部14の透明のタッチパネルが重ねて配置されてもよい。
画像読取部17は、LED(light emitting diode)等の照射装置、レンズやプリズム等の光学系、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサや、CCD(Charge Coupled Device)イメージセンサ等の撮像素子等を備える。画像読取部17は、プロセッサ11又はプログラマブル論理回路16の制御の下、紙等の媒体に形成された画像を読取り、読取った画像を示す画像データを生成してプロセッサ11に供給する。
画像形成部18は、プロセッサ11又はプログラマブル論理回路16の制御の下、例えば電子写真方式等により、紙などの媒体に画像を形成する。
プログラマブル論理回路16は、プロセッサ11の制御の下、機能を実現するモジュールを再構成することが可能な論理回路であり、例えばFPGA(Field Programmable Gate Array)である。図1に示すプログラマブル論理回路16は、表示部15、画像読取部17、及び画像形成部18のうち、少なくともいずれかを制御する。なお、プログラマブル論理回路16が制御する対象はこれらに限られない。また、プログラマブル論理回路16は、これらを制御しなくてもよい。
図2は、本実施形態におけるプログラマブル論理回路16の構成の例を示す図である。図2に示すプログラマブル論理回路16は、いわゆるアイランドスタイルのFPGAである。
このプログラマブル論理回路16は、それぞれ格子状に配列された複数の、論理ブロック161、スイッチブロック162、接続ブロック163、及び入出力端子164を有する。すなわち、このプログラマブル論理回路16は、格子状に配列された複数の論理ブロックを有するプログラマブル論理回路の例である。なお、図2に示すプログラマブル論理回路16は略図であり、論理ブロック161等の個数は図2に示したものに限らない。
論理ブロック161は、真理値表回路等を用いて、論理や演算回路、記憶回路等、各種の機能を実現するモジュールを構成する単位となるブロックである。
スイッチブロック162、及び、接続ブロック163は、これらを繋ぐ配線とともに配線領域を構成する。
スイッチブロック162は、配線どうしの接続を切替えるブロックである。接続ブロック163は、論理ブロック161の入出力と上述した配線領域との接続を切替えるブロックである。
スイッチブロック162、及び、接続ブロック163は、例えば、バストランジスタを用いたスイッチとその制御用のコンフィグレーションメモリとで構成される。
入出力端子164は、プログラマブル論理回路16とプロセッサ11とを通信可能に接続し、プロセッサ11からの入力、及びプロセッサ11への出力のインタフェースとなるブロックである。図2に示す入出力端子164は、上述した配線領域に接続されている。
なお、プログラマブル論理回路16は、例えば、決められた処理の実行に用いるDSP(digital signal processor)を備えていてもよい。
プロセッサ11は、メモリ12に記憶されたコンフィグレーションデータをプログラマブル論理回路16の論理ブロック161、スイッチブロック162、及び接続ブロック163にそれぞれ書き込むことで、プログラマブル論理回路16を再構成する。
<情報処理装置の機能的構成>
図3は、情報処理装置1の機能的構成の例を示す図である。情報処理装置1のプロセッサ11は、メモリ12に記憶されたプログラムを実行することにより、受付部111、初期化部112、第1再構成部113、選択部114、及び第2再構成部115として機能する。
受付部111は、操作部14からユーザの指示を受付ける。受付部111は、例えば、情報処理装置1を起動する指示(起動指示という)を受付けた場合に、図示しない電源からの給電を開始して、情報処理装置1を起動する。
また、受付部111は、各種の演算処理を実行する指示(処理指示という)を受付ける。これらの演算処理は、例えば、ソーベルフィルタやラプラシアンフィルタ等のエッジエンハンス処理、TRC(Tone Reproduction Curve)に基づく階調補正処理等、画像データに対する演算の処理である。受付部111は、上述した処理指示を受付けた場合に、メモリ12の決められた領域に、その処理指示が示す演算処理の識別情報を順に記憶して、待ち行列を生成する。
初期化部112は、受付部111が、例えば、上述した起動操作を受付けた場合等に、プログラマブル論理回路16が初期化前であるか否かを確認する。そして、初期化部112は、プログラマブル論理回路16が初期化前であると判断した場合、このプログラマブル論理回路16を初期化する。
プログラマブル論理回路16が有するコンフィグレーションメモリ等の記憶素子は、給電されなくなると記憶した内容が消える。初期化部112は、初期化が終了するときに、この記憶素子に初期化が終了したことを示すフラグ等の情報を記憶させる。給電が維持されている間は、この情報が記憶され続けるため、初期化部112は、プログラマブル論理回路16が初期化済みである(つまり、初期化前ではない)ことを認識する。
第1再構成部113は、初期化部112が初期化をする際に、プログラマブル論理回路16の決められた領域(以下、第1領域という)を、データを記憶するメモリ(以下、第1メモリという)として再構成する。
この第1領域は、初期化の際にのみ再構成される、いわゆるスタティック領域に含まれる。また、第1再構成部113は、スタティック領域に、PCIバスへのインタフェースや、プログラマブル論理回路16の入出力端子164へのインタフェース、画像バスへのインタフェース等、プログラマブル論理回路16に常駐させる機能も初期化の際に再構成する。
選択部114は、受付部111がメモリ12に生成した待ち行列の中から、例えば優先順位に基づいて、いずれか1つの識別情報を選択する。そして、選択部114は、選択したその識別情報が示す演算処理を実行するための回路(演算回路という)の情報であるコンフィグレーションデータをメモリ12から読出して第2再構成部115に供給する。
第2再構成部115は、選択部114から供給されたコンフィグレーションデータをプログラマブル論理回路16の、第1領域と異なる領域(第2領域という)に書き込んで、この第2領域に、上述した演算回路を再構成する。
この第2領域は、いわゆるリコンフィグ領域のうち、演算回路を再構成するための領域である。リコンフィグ領域は、初期化の際に限らず、必要になったタイミングでその都度、再構成される。第2領域に再構成された演算回路は、上述した第1メモリを使用して上述した演算処理を実行する。プログラマブル論理回路16は、再構成された演算回路によって、表示部15、画像読取部17、及び画像形成部18のいずれかを制御して、演算処理の結果を出力してもよい。
また、第2再構成部115は、プログラマブル論理回路16のうち、第2領域を監視する。そして、選択部114が選択した識別情報が示す演算回路が、第2領域に再構成されていない場合、すでに再構成されて実行が終了し、不要になった演算回路(第1演算回路という)を上書きするように、新たな演算回路(第2演算回路という)を再構成する。第1演算回路と異なるこの第2演算回路も、実行の際に第1メモリを使用する。
<情報処理装置の動作>
情報処理装置1のプロセッサ11は、メモリ12に記憶されたプログラムを読出して、指示を受付ける指示受付の動作、及び、プログラマブル論理回路16に演算回路を再構成して演算処理を行わせる演算処理の動作をそれぞれ実行する。
<指示受付の動作>
図4は、情報処理装置1の指示受付の動作の流れの例を示すフロー図である。情報処理装置1のプロセッサ11は、プログラマブル論理回路16が初期化前であるか否かを判断する(ステップS101)。プログラマブル論理回路16が初期化前である、と判断する場合(ステップS101;YES)、プロセッサ11は、プログラマブル論理回路16を初期化する(ステップS102)。そして、プロセッサ11は、この初期化に伴って第1領域を第1メモリとして再構成する(ステップS103)。
一方、プログラマブル論理回路16が初期化前ではない、と判断する場合(ステップS101;NO)、プロセッサ11は、上述したステップS102、及びステップS103を行わずに、処理をステップS104に進める。
プロセッサ11は、処理指示を受付ける(ステップS104)。受付けた処理指示が示す演算処理の識別情報は、メモリ12に蓄積され待ち行列が生成される。
そして、プロセッサ11は、自装置が終了条件を満たしたか否かを判断する(ステップS105)。終了条件とは、例えば、操作部14がユーザから情報処理装置1の終了を指示する操作を受付けた、といった条件や、決められた期間にわたって処理が実行されなかった、といった条件等である。
終了条件を満たした、と判断する場合(ステップS105;YES)、プロセッサ11は、処理を終了する。一方、終了条件を満たしていない、と判断する場合(ステップS105;NO)、プロセッサ11は、処理をステップS104に戻す。
この場合、プロセッサ11は、初期化の際にのみ第1領域を再構成する。つまり、このプロセッサ11は、プログラマブル論理回路の初期化の際を除き、第1領域を再構成しないプロセッサ、の例である。初期化の際に再構成された第1メモリは、読み書き可能に構成されているため、記憶する内容は、初期化の際に限らず、その都度、書き換えられるが、給電が続いている限り、他の回路等に再構成されることがない。
<演算処理の動作>
図5は、情報処理装置1の演算処理の動作の流れの例を示すフロー図である。この演算処理の動作は、例えば、図4に示す指示受付の動作のうち、ステップS102の初期化が終了した後に、並行して開始される。
情報処理装置1のプロセッサ11は、メモリ12に生成された待ち行列を読出して、処理指示があるか否かを判断する(ステップS201)。処理指示がない、と判断する場合(ステップS201;NO)、プロセッサ11は、この判断処理を続ける。
一方、処理指示がある、と判断する場合(ステップS201;YES)、プロセッサ11は、待ち行列の中からいずれかの処理指示を選択し(ステップS202)、その処理指示が示す処理に、プログラマブル論理回路16の再構成が必要であるか否かを判断する(ステップS203)。再構成が必要ではない、と判断する場合(ステップS203;NO)、プロセッサ11は、処理をステップS207に進める。
一方、再構成が必要である、と判断する場合(ステップS203;YES)、プロセッサ11は、上述した第2領域を、処理指示が示す演算回路として再構成する(ステップS204)。なお、プロセッサ11は、第2領域を演算回路として再構成している期間に、第1領域に再構成された第1メモリの初期設定を行ってもよい。
次に、プロセッサ11は、ステップS204において再構成した演算回路が使用する第1メモリの記憶容量が不足しているか否かを判断する(ステップS205)。記憶容量が不足していない、と判断する場合(ステップS205;NO)、プロセッサ11は、処理をステップS207に進める。
一方、記憶容量が不足している、と判断する場合(ステップS205;YES)、プロセッサ11は、第1領域、及び第2領域のいずれとも異なる領域(第3領域という)を、上述した演算回路において第1メモリを補う第2メモリとして再構成する(ステップS206)。
つまり、このプロセッサ11は、第2領域を第1演算回路として再構成したときに、この第1演算回路が使用する第1メモリの記憶容量が不足している場合に、プログラマブル論理回路の第3領域を、この記憶容量を補う第2メモリとして再構成するプロセッサの例である。
プロセッサ11は、第2領域に再構成された演算回路に第1メモリを使用させ(ステップS207)、演算処理を実行させる(ステップS208)。そして、プロセッサ11は、プログラマブル論理回路16による上述した演算回路により実行された演算処理が終了したか否かを判断する(ステップS209)。演算処理が終了した、と判断する場合(ステップS209;YES)、プロセッサ11は、処理をステップS201に戻す。一方、演算処理が終了していない、と判断する場合(ステップS209;NO)、プロセッサ11は、処理をステップS208に戻し、プログラマブル論理回路16に、この演算処理を続けさせる。
図6は、プログラマブル論理回路16の再構成の状態を説明するための図である。図6に示すプログラマブル論理回路16は、スタティック領域Rsと、リコンフィグ領域Rとを有する。
スタティック領域Rsは、初期化の際に一度だけ再構成される領域である。このスタティック領域Rsは、常駐回路Fs1、Fs2、Fs3が再構成されている。これらの常駐回路Fs1、Fs2、Fs3は、プログラマブル論理回路16に常駐させる機能を実現する回路である。これらの常駐回路は、例えば、上述したPCIバス、入出力端子164、画像バス等へのインタフェースや、比較的、呼び出される頻度の多い画像データへの演算処理等の機能を実現する。
また、このスタティック領域Rsは、常駐回路Fs1、Fs2、Fs3に使用される記憶領域である第1メモリMsが再構成されている。第1メモリMsは、また、後述するリコンフィグ領域Rに再構成される演算回路にも使用される。スタティック領域Rsのうち、第1メモリMsが再構成される領域が第1領域である。第1メモリMsは、例えば、複数の読取りや書き込みを同時に許可するDPRAM(Dual-ported RAM)として再構成される。
常駐回路Fs1、及び常駐回路Fs2は、それぞれ、専用のメモリMs1、Ms2を内包している。常駐回路Fs3は、専用のメモリを内包しない。
また、このスタティック領域Rsは、制御回路Asが再構成されている。この制御回路Asは、プロセッサ11から第1メモリMsへのアクセスを制御する。
リコンフィグ領域Rは、機能を実現させるタイミングでその都度、再構成される領域である。このリコンフィグ領域Rは、第1演算回路F1が再構成されている。リコンフィグ領域Rのうち、第1演算回路F1が再構成されている領域が第2領域である。
リコンフィグ領域Rは、初期化の際にスタティック領域Rsに再構成された第1メモリMsを、演算回路に使用させるために、制御回路を再構成してもよい。図6に示すリコンフィグ領域Rは、第2領域と異なる領域(第4領域という)に、制御回路A1が再構成されている。この制御回路A1は、第1演算回路F1から第1メモリMsへのアクセスを制御する。これにより、第1演算回路F1は、第1メモリMsを使用可能になる。
つまり、このプロセッサ11は、第2領域を第1演算回路として再構成したときに、プログラマブル論理回路の第4領域を、第1演算回路から第1メモリへのアクセスを制御する制御回路として再構成するプロセッサの例である。
図7は、専用のメモリを備えない演算回路の例を示す図である。図7に示す通り、第1演算回路F1は、専用のメモリを備えていない。第1演算回路F1とともに、図6に示すリコンフィグ領域Rの第4領域に再構成される制御回路A1は、図7に示す通り、スタティックメモリ制御回路A11を備える。このスタティックメモリ制御回路A11は、スタティック領域Rsのうち、第1領域に再構成された第1メモリMsへの、第1演算回路F1のアクセスを制御する回路である。
第1演算回路F1は、制御回路A1に第1メモリMsへのアクセスを要求する。制御回路A1は、スタティックメモリ制御回路A11によって、第1演算回路F1からの要求に応じる。
図8は、専用のメモリを備える演算回路の例を示す図である。第1演算回路F1が実行を終えて不要になった後、第1演算回路F1が行う演算処理と異なる演算処理の実行がユーザにより指示されると、プロセッサ11は、再構成が必要になったと判断する。
この場合、プロセッサ11は、指示された演算処理を実行する演算回路の情報を示すコンフィグレーションデータを読出す。そして、プロセッサ11は、このコンフィグレーションデータで第1演算回路F1が再構成されていた第2領域を上書きして、第2領域に第2演算回路F2を再構成する。
この第2演算回路F2が使用するメモリとして、第1メモリMsの記憶容量が不足している場合、プロセッサ11は、第2演算回路F2に加えて、第2メモリM2を再構成する。この第2メモリM2は、第2演算回路F2が専用で使用するメモリであり、第1メモリMsの記憶容量を補うメモリである。リコンフィグ領域Rのうち、第2メモリM2が再構成される領域が第3領域である。
この場合、図8に示す通り、第2演算回路F2とともに、制御回路A2が再構成される。制御回路A2は、スタティックメモリ制御回路A21と、リコンフィグメモリ制御回路A22と、を備える。スタティックメモリ制御回路A21は、スタティック領域Rsのうち、第1領域に再構成された第1メモリMsへの、第2演算回路F2のアクセスを制御する回路である。
一方、リコンフィグメモリ制御回路A22は、リコンフィグ領域Rのうち、第3領域に再構成された第2メモリM2への、第2演算回路F2のアクセスを制御する回路である。
第2演算回路F2が、制御回路A2に第1メモリMsへのアクセスを要求すると、制御回路A2は、スタティックメモリ制御回路A21によって、第2演算回路F2からの要求に応じる。
一方、第2演算回路F2が、制御回路A2に第2メモリM2へのアクセスを要求すると、制御回路A2は、リコンフィグメモリ制御回路A22によって、第2演算回路F2からの要求に応じる。つまり、制御回路A2は、第2演算回路F2がアクセスを要求するメモリの所在に応じて、制御を切替える。
なお、第1演算回路F1と、第2演算回路F2とは、再構成される順序によって区別されるが、演算回路としては共通である。そして、第1演算回路F1が使用する第1メモリMsの記憶容量が不足している場合に、プロセッサ11は、第1演算回路F1に専用のメモリ(つまり第2メモリ)を再構成してもよい。
つまり、このプロセッサ11は、第2領域を第1演算回路として再構成したときに、この第1演算回路が使用する第1メモリの記憶容量が不足している場合に、プログラマブル論理回路の第3領域を、この記憶容量を補う第2メモリとして再構成するプロセッサの例である。
また、この場合、プロセッサ11は、第1演算回路F1、及びこの第1演算回路F1に専用のメモリを再構成することに伴って、リコンフィグ領域Rの第4領域に制御回路A1を再構成する。この制御回路A1は、スタティックメモリ制御回路A11に加えて、リコンフィグメモリ制御回路を備えてもよい。
このリコンフィグメモリ制御回路は、第1演算回路F1に専用のメモリへの、第1演算回路F1のアクセスを制御する。つまり、このプロセッサ11は、プログラマブル論理回路の第4領域を、第1演算回路から第1メモリ及び第2メモリへのアクセスをそれぞれ制御する制御回路として再構成するプロセッサの例である。
図9は、第1メモリMs、第1演算回路F1、及び制御回路A1の配置の例を示す図である。プログラマブル論理回路16は、図2に示した通り、論理ブロック161等の要素が格子状に配列された構成を有する。図9に示す第1メモリMs、第1演算回路F1、及び制御回路A1のそれぞれの配置は、プログラマブル論理回路16の領域におけるそれぞれの物理的な配置である。
図9に示す通り、第1メモリMsと第1演算回路F1とは、距離Dfだけ離れている。一方、第1メモリMsと制御回路A1とは、距離Daだけ離れている。そして、距離Daは、距離Dfよりも短い。つまり、制御回路A1が再構成される第4領域と第1メモリMsが再構成される第1領域との間の距離Daは、第1演算回路F1が再構成される第2領域と第1領域との間の距離Dfよりも小さい(Da<Df)。この構成により、制御回路A1と第1メモリMsとを繋ぐ経路が、制御回路A1と第1演算回路F1とを繋ぐ経路よりも短くなるため、配線効率が向上する。
なお、図9に示す距離Daは最小の距離であり、距離Daだけ離れた2つの構成は互いに隣接している。つまり、図9に示す配置において、制御回路A1が再構成される第4領域は、第1メモリMsが再構成される第1領域に隣接している。この構成にすると、制御回路A1と第1メモリMsとを繋ぐ経路は最短となるため、配線効率が向上する。
図10は、従来のプログラマブル論理回路の例を示す図である。従来では、プロセッサPは、プログラマブル論理回路のスタティック領域Rsと、リコンフィグ領域Rとを、図10に示す通り再構成していた。すなわち、プロセッサPは、リコンフィグ領域Rに、機能を実現するモジュールである第1演算回路F1と、この第1演算回路F1で使用する全てのメモリである専用メモリM1と、を再構成する。そして、プロセッサPは、スタティック領域Rsに、常駐回路Fs1、Fs2、Fs3を再構成する。
この場合、第1演算回路F1が読み書きする全ての内容は、全て専用メモリM1で記憶しなければならない。そのため、専用メモリM1の記憶容量は、リコンフィグ領域Rを圧迫していた。また、プロセッサPがプログラマブル論理回路に再構成する第1演算回路F1を稼働させるためには、比較的大きい専用メモリM1を再構成するための時間も必要であった。
上述した動作により、情報処理装置1は、プログラマブル論理回路16に再構成した演算回路に、スタティック領域Rsに再構成した第1メモリを使用させるので、演算回路で使用する記憶内容の全てを、演算回路に専用のメモリで記憶する必要がない。そのため、情報処理装置1は、演算回路を再構成させる際に、再構成するメモリを抑えることができ、再構成にかかる時間が短縮される。
つまり、機能を実現するモジュールをプログラマブル論理回路に再構成するときにそのモジュールで使う全てのメモリも再構成する場合に比べて、この情報処理装置1が再構成に要する時間は短い。
<変形例>
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例は、互いに組合されてもよい。
<1>
上述した実施形態において、情報処理装置1は、CPUで構成されるプロセッサ11を有していたが、情報処理装置1を制御する制御手段は他の構成であってもよい。例えば、情報処理装置1は、CPU以外にも各種のプロセッサ等を有してもよい。
ここでプロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば上述したCPU等)や、専用のプロセッサ(例えばGPU: Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA、PLD:Programmable Logic Device、等)を含むものである。
<2>
上述した実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。
また、プロセッサの各動作の順序は、上述した実施形態において記載した順序のみに限定されるものではなく、適宜変更されてもよい。
<3>
上述した実施形態において、第2領域の形状について特に限定していないが、第2領域は、矩形であることが望ましい。また、第2領域は、複数の矩形を組合せた形状であってもよい。第2領域を複数の矩形を組合せた形状とすることより、単一の矩形形状とした場合に比べて、配線効率やリソース使用率は向上する。
<4>
上述した実施形態において、第1領域の幅について特に限定していないが、第1領域は、決められた幅で統一されていることが望ましい。第1領域が決められた幅で統一されていることにより、この第1領域に初期化の際に再構成される第1メモリは、異なる演算回路で共有して使用される際に、統一されたインタフェースからそれぞれのアクセスを受けることができる。なお、第1領域の幅そのものを、上述したインタフェースに合わせるのではなく、例えば、第1領域を包囲するラッパー回路によって、上述したインタフェースが要求する第1メモリの幅と、実際の第1メモリの幅との差を吸収させてもよい。
<5>
上述した実施形態において、情報処理装置1のプロセッサ11によって実行されるプログラムは、プログラマブル論理回路に接続されたプロセッサを有するコンピュータに、初期化の際に、前記プログラマブル論理回路の第1領域を、データを記憶する第1メモリとして再構成するステップと、前記プログラマブル論理回路の前記第1領域と異なる第2領域を、前記第1メモリを使用する第1演算回路として再構成するステップと、を実行させるとともに、前記第1演算回路として再構成されていた前記第2領域を、該第1演算回路と異なる第2演算回路として再構成した場合に、該第2演算回路に、前記第1メモリを使用させるように、前記コンピュータを制御するプログラムの例である。
このプログラムは、磁気テープ及び磁気ディスク等の磁気記録媒体、光ディスク等の光記録媒体、光磁気記録媒体、半導体メモリ等の、コンピュータ装置が読取り可能な記録媒体に記憶された状態で提供し得る。また、このプログラムは、インターネット等の通信回線経由でダウンロードされてもよい。
1…情報処理装置、11…プロセッサ、111…受付部、112…初期化部、113…第1再構成部、114…選択部、115…第2再構成部、12…メモリ、13…インタフェース、14…操作部、15…表示部、16…プログラマブル論理回路、161…論理ブロック、162…スイッチブロック、163…接続ブロック、164…入出力端子、17…画像読取部、18…画像形成部、19…バス、A1、A2…制御回路、A11、A21…スタティックメモリ制御回路、A22…リコンフィグメモリ制御回路、F1…第1演算回路、F2…第2演算回路、Fs1、Fs2、Fs3…常駐回路、Ms…第1メモリ、M1…専用メモリ、M2…第2メモリ、Ms1、Ms2…メモリ。

Claims (10)

  1. プログラマブル論理回路に接続されたプロセッサを有し、前記プロセッサは、
    初期化の際に、前記プログラマブル論理回路の第1領域を、データを記憶する第1メモリとして再構成し、
    前記プログラマブル論理回路の前記第1領域と異なる第2領域を、前記第1メモリを使用する第1演算回路として再構成し、
    前記第1演算回路として再構成されていた前記第2領域を、該第1演算回路と異なる第2演算回路として再構成した場合に、該第2演算回路に、前記第1メモリを使用させる
    情報処理装置。
  2. 前記プロセッサは、前記プログラマブル論理回路の前記初期化の際を除き、前記第1領域を再構成しない
    請求項1に記載の情報処理装置。
  3. 前記プロセッサは、
    前記第2領域を前記第1演算回路として再構成したときに、該第1演算回路が使用する前記第1メモリの記憶容量が不足している場合に、前記プログラマブル論理回路の第3領域を、該記憶容量を補う第2メモリとして再構成する
    請求項1又は2に記載の情報処理装置。
  4. 前記プロセッサは、
    前記第2領域を前記第1演算回路として再構成したときに、前記プログラマブル論理回路の第4領域を、該第1演算回路から前記第1メモリへのアクセスを制御する制御回路として再構成する
    請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記プロセッサは、
    前記第2領域を前記第1演算回路として再構成したときに、該第1演算回路が使用する前記第1メモリの記憶容量が不足している場合に、前記プログラマブル論理回路の第3領域を、該記憶容量を補う第2メモリとして再構成し、
    前記プログラマブル論理回路の第4領域を、前記第1演算回路から前記第1メモリ及び前記第2メモリへのアクセスをそれぞれ制御する制御回路として再構成する
    請求項1又は2に記載の情報処理装置。
  6. 前記第4領域と前記第1領域との間の距離は、前記第2領域と前記第1領域との間の距離よりも小さい
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  7. 前記第4領域は、前記第1領域に隣接する
    ことを特徴とする請求項6に記載の情報処理装置。
  8. 前記プログラマブル論理回路は、格子状に配列された複数の論理ブロックを有し、
    前記第2領域は、矩形である
    ことを特徴とする請求項1から7のいずれか1項に記載の情報処理装置。
  9. 前記第1領域は、決められた幅で統一されている
    ことを特徴とする請求項8に記載の情報処理装置。
  10. プログラマブル論理回路に接続されたプロセッサを有するコンピュータに、
    初期化の際に、前記プログラマブル論理回路の第1領域を、データを記憶する第1メモリとして再構成するステップと、
    前記プログラマブル論理回路の前記第1領域と異なる第2領域を、前記第1メモリを使用する第1演算回路として再構成するステップと、
    を実行させるとともに、
    前記第1演算回路として再構成されていた前記第2領域を、該第1演算回路と異なる第2演算回路として再構成した場合に、該第2演算回路に、前記第1メモリを使用させるように、前記コンピュータを制御する
    プログラム。
JP2020145560A 2020-08-31 2020-08-31 情報処理装置、及びプログラム Pending JP2022040721A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020145560A JP2022040721A (ja) 2020-08-31 2020-08-31 情報処理装置、及びプログラム
US17/149,845 US20220066666A1 (en) 2020-08-31 2021-01-15 Information processing apparatus and non-transitory computer readable medium
CN202110239529.9A CN114116597A (zh) 2020-08-31 2021-03-04 信息处理装置以及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020145560A JP2022040721A (ja) 2020-08-31 2020-08-31 情報処理装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2022040721A true JP2022040721A (ja) 2022-03-11

Family

ID=80358506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020145560A Pending JP2022040721A (ja) 2020-08-31 2020-08-31 情報処理装置、及びプログラム

Country Status (3)

Country Link
US (1) US20220066666A1 (ja)
JP (1) JP2022040721A (ja)
CN (1) CN114116597A (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3934493B2 (ja) * 2002-06-28 2007-06-20 富士通株式会社 集積回路及びシステム開発方法
JP4451733B2 (ja) * 2004-06-30 2010-04-14 富士通マイクロエレクトロニクス株式会社 半導体装置
JP4485272B2 (ja) * 2004-06-30 2010-06-16 富士通マイクロエレクトロニクス株式会社 半導体装置
US20100174884A1 (en) * 2005-12-27 2010-07-08 Matsushita Electric Industrial Co., Ltd. Processor having reconfigurable arithmetic element
JP5373620B2 (ja) * 2007-11-09 2013-12-18 パナソニック株式会社 データ転送制御装置、データ転送装置、データ転送制御方法及び再構成回路を用いた半導体集積回路
JP5785357B2 (ja) * 2009-06-25 2015-09-30 スパンション エルエルシー リコンフィグ演算装置を備えるコンピュータシステムおよびリコンフィグ演算装置
JP6598432B2 (ja) * 2014-06-24 2019-10-30 キヤノン株式会社 画像処理装置、その制御方法およびプログラム
JP2016111629A (ja) * 2014-12-09 2016-06-20 キヤノン株式会社 画像処理装置、その制御方法およびプログラム
JP2022042856A (ja) * 2020-09-03 2022-03-15 富士フイルムビジネスイノベーション株式会社 情報処理装置、及びプログラム
JP2022056144A (ja) * 2020-09-29 2022-04-08 富士フイルムビジネスイノベーション株式会社 プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム
JP2022072452A (ja) * 2020-10-29 2022-05-17 富士フイルムビジネスイノベーション株式会社 情報処理装置、及びプログラム

Also Published As

Publication number Publication date
CN114116597A (zh) 2022-03-01
US20220066666A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
US10296217B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
CN103198450B (zh) 图像形成装置
JP5905408B2 (ja) マルチcpuシステムとそれを含むコンピューティングシステム
KR20070082229A (ko) 멀티프로세서 시스템 그리고 멀티프로세서 시스템의 초기화방법
JP2008041098A (ja) メモリーカード及び該データ格納方法
JP5036737B2 (ja) 操作端末、操作端末の画面表示方法
JP6160553B2 (ja) メモリカードアクセス装置、その制御方法及びメモリカードアクセスシステム
CN106657763B (zh) 图像处理设备和方法
JP2022040721A (ja) 情報処理装置、及びプログラム
KR20170055206A (ko) 세이프 어드레스 매핑을 이용한 메모리 셀 액세스 제어 방법
CN114185720B (zh) 服务器动态热备份的方法、装置、设备及存储介质
JP2022072452A (ja) 情報処理装置、及びプログラム
JP2022056144A (ja) プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム
US11322119B2 (en) Semiconductor device
JP7006410B2 (ja) 制御装置、画像形成装置および回路装置
WO2020097799A1 (zh) 终端设备及其触摸响应控制方法
JP2006031123A (ja) Usbメモリ装置およびusbメモリ装置制御プログラム
JP5205843B2 (ja) 演算処理装置及び演算処理プログラム
JP2007102544A (ja) デジタルシグナルプロセッサシステムおよびそのブート方法。
JP6919072B2 (ja) 画像処理装置
JP2008129851A (ja) 演算処理装置
KR100888427B1 (ko) 공유 메모리를 구비한 디지털 처리 장치 및 데이터 출력방법
JP2011203843A (ja) 情報処理装置
JP2004040599A (ja) プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法
CN116126406A (zh) 驱动芯片、驱动方法及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230720