[go: up one dir, main page]

JP2017129951A - Information processor, control method of information processor, and program - Google Patents

Information processor, control method of information processor, and program Download PDF

Info

Publication number
JP2017129951A
JP2017129951A JP2016007711A JP2016007711A JP2017129951A JP 2017129951 A JP2017129951 A JP 2017129951A JP 2016007711 A JP2016007711 A JP 2016007711A JP 2016007711 A JP2016007711 A JP 2016007711A JP 2017129951 A JP2017129951 A JP 2017129951A
Authority
JP
Japan
Prior art keywords
reconfiguration
data
partial
reconstruction
processing apparatus
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
JP2016007711A
Other languages
Japanese (ja)
Inventor
傑旻 周
Jiemin Zhou
傑旻 周
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016007711A priority Critical patent/JP2017129951A/en
Publication of JP2017129951A publication Critical patent/JP2017129951A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 同一処理機能を実現できる複数種類のFPGA再構成データの中から、FPGAの利用可能なリソース量に合わせて、一番適切なFPGA再構成データを自動選択する。【解決手段】所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行する情報処理装置において、管理される部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択することを特徴とする。【選択図】 図5PROBLEM TO BE SOLVED: To automatically select the most appropriate FPGA reconstruction data from a plurality of types of FPGA reconstruction data capable of realizing the same processing function according to the amount of available resources of the FPGA. SOLUTION: In an information processing apparatus that writes predetermined reconstruction data in a partial reconstruction area divided into a predetermined number and executes a specific functional process, a new specification specified by a usage state of the managed partial reconstruction area. It is characterized in that one reconstruction data to be written is selected from a plurality of types of reconstruction data having the same specific functional processing according to the number of partially reconstructed areas writable in. [Selection diagram] Fig. 5

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。   The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program.

近年、半導体集積回路装置において、頻繁に発生する機能拡張、パフォーマンス向上の要望を柔軟に対応するために、FPGA(Field Programmable Gate Array)などの再構成可能な回路装置が適用されている。   In recent years, in a semiconductor integrated circuit device, a reconfigurable circuit device such as an FPGA (Field Programmable Gate Array) has been applied in order to flexibly cope with the demand for frequently expanding functions and improving performance.

ユーザは、所望の処理機能を実現できるFPGA再構成データをFPGAにコンフィグする(書き込む)ことにより、所望のデータ処理を実現する。また、別のFPGA再構成データで再コンフィグ(FPGA再構成データの書き換え)により、自由にFPGAの機能を変えることが可能である。   A user configures (writes) FPGA reconfiguration data capable of realizing a desired processing function in the FPGA, thereby realizing desired data processing. Further, it is possible to freely change the function of the FPGA by reconfiguration (rewriting of FPGA reconfiguration data) with another FPGA reconfiguration data.

それから、一個のFPGAに複数のFPGA再構成データをコンフィグし、複数の処理機能を実現することが可能になり、その際、FPGAの一部の領域だけを変更し、前記複数の機能の中のどれかを変更することも可能である。   Then, a plurality of FPGA reconfiguration data can be configured in one FPGA, and a plurality of processing functions can be realized. At that time, only a partial area of the FPGA is changed, It is possible to change any of them.

上記部分再構成(Partial Reconfiguration)技術は、現在使用中の他の処理機能や、変更してはいけない処理機能などに影響せずに、所望の部分だけを変更することを特徴として、公知されている。   The partial reconfiguration technology is known in that it changes only a desired part without affecting other processing functions that are currently in use or processing functions that should not be changed. Yes.

従って、新たにFPGA再構成データをFPGAに書き込む際に、FPGAの変更できる領域を判明し、その変更できる領域にコンフィグ可能なFPGA再構成データを選択し、FPGAをコンフィグする必要がある。   Therefore, when newly writing the FPGA reconfiguration data into the FPGA, it is necessary to identify an area where the FPGA can be changed, select configurable FPGA reconfiguration data in the changeable area, and configure the FPGA.

一方、同一処理機能を実現できるFPGA再構成データでも、複数のバージョンが存在することがある。一般的に、これらのFPGA再構成データは、異なる要求仕様に合わせて設計されるものであり、回路規模、消費電力、性能などの属性が異なり、実際の状況に従い、選択すべきものである。   On the other hand, there may be multiple versions of FPGA reconfiguration data that can realize the same processing function. Generally, these FPGA reconfiguration data are designed in accordance with different required specifications, and have different attributes such as circuit scale, power consumption, and performance, and should be selected according to the actual situation.

例えば、特許文献1には、同一処理機能を実現できる複数のFPGA再構成データが存在し、それぞれの性能と消費電力が異なり、FPGA全体の消費電力が所定の総消費電力値以下に収まるよう、自動的に適切なFPGA再構成データが選択される方法が記載されている。   For example, in Patent Document 1, there are a plurality of FPGA reconfiguration data capable of realizing the same processing function, the performance and power consumption are different from each other, and the power consumption of the entire FPGA falls within a predetermined total power consumption value. A method is described in which appropriate FPGA reconstruction data is automatically selected.

特開2009−271649号公報JP 2009-271649 A

実際にFPGAを使用する際に、以下の状況が発生するのは容易に想像できる。
例えば一部の領域(リソース)がとある処理機能(処理機能A)により占有され、残りのリソース量が足りなく、別の処理機能(処理機能B)を実現するFPGA再構成データを書き込めない可能性がある。
その際、従来の方法では、処理機能Bのコンフィグを諦めるか、処理機能Aが動作しなくなり、それに占有されているリソースが解放されるのを待つか、という二つの方法がある。
しかし、もし、処理機能Aが常にFPGAリソースを占有する場合、処理機能Bのコンフィグはずっと待ち続けることになってしまい、結局、コンフィグは失敗する。
It can be easily imagined that the following situation occurs when actually using the FPGA.
For example, a part of the area (resource) is occupied by a certain processing function (processing function A), the remaining resource amount is insufficient, and FPGA reconfiguration data that realizes another processing function (processing function B) cannot be written There is sex.
At that time, in the conventional method, there are two methods of giving up the configuration of the processing function B or waiting for the processing function A to stop operating and the resources occupied by it to be released.
However, if the processing function A always occupies FPGA resources, the configuration of the processing function B will continue to wait and eventually the configuration will fail.

その場合、所望の処理機能Bが実現でき、かつ回路規模が小さく、残りのFPGAリソースにコンフィグできる別のFPGA再構成データが存在すれば、そのFPGA再構成データを選択すべきであるが、そのFPGA再構成データを検出し、自動的に選択する方法がない。   In that case, if the desired processing function B can be realized, the circuit scale is small, and there is another FPGA reconfiguration data that can be configured in the remaining FPGA resources, that FPGA reconfiguration data should be selected. There is no way to detect and automatically select FPGA reconstruction data.

特許文献1には、同じ機能を実現するFPGA再構成データの中から、適切なものを選択する方法が記載されているが、あくまで総消費電力値の観点から、適切なものを選択する方法である。このように、FPGAのリソース量の制限が考慮されていなく、使用可能なリソースが足りるか否かの観点から、適切なFPGA再構成データを自動選択することができないという課題があった。   Patent Document 1 describes a method for selecting an appropriate data from among FPGA reconfiguration data that realizes the same function, but it is only a method for selecting an appropriate data from the viewpoint of the total power consumption value. is there. As described above, there is a problem in that the limitation of the FPGA resource amount is not taken into consideration, and appropriate FPGA reconfiguration data cannot be automatically selected from the viewpoint of whether or not the available resources are sufficient.

本発明は、上記の課題を解決するためになされたもので、本発明の目的は、同一処理機能を実現できる複数種類のFPGA再構成データの中から、FPGAの利用可能なリソース量に合わせて、一番適切なFPGA再構成データを自動選択できる仕組みを提供することである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to match the amount of resources available to the FPGA from among a plurality of types of FPGA reconfiguration data capable of realizing the same processing function. It is to provide a mechanism that can automatically select the most appropriate FPGA reconstruction data.

上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行する情報処理装置であって、特定の機能処理が同一となる複数種類の再構成データと、前記部分再構成領域に書き込まれる再構成データの使用状態とを管理する管理手段と、前記部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択する選択手段と、を備えることを特徴とする。
The information processing apparatus of the present invention that achieves the above object has the following configuration.
An information processing apparatus that executes predetermined function processing by writing predetermined reconfiguration data in a partial reconfiguration area divided into a predetermined number, and includes a plurality of types of reconfiguration data in which the specific function processing is the same, and Management means for managing the usage state of the reconfiguration data written in the partial reconfiguration area, and specifying according to the number of newly writable partial reconfiguration areas specified by the use state of the partial reconfiguration area Selecting means for selecting one piece of reconstruction data to be written from a plurality of types of reconstruction data having the same function processing.

本発明によれば、同一処理機能を実現できる複数種類のFPGA再構成データの中から、FPGAの利用可能なリソース量に合わせて、一番適切なFPGA再構成データを自動選択できる。   According to the present invention, the most appropriate FPGA reconfiguration data can be automatically selected from a plurality of types of FPGA reconfiguration data capable of realizing the same processing function according to the amount of resources available for the FPGA.

情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of information processing apparatus. 情報処理装置の処理機能の情報を管理するテーブルを示す図である。It is a figure which shows the table which manages the information of the processing function of information processing apparatus. 優先度の項目に記載される内容の決める方法の例を示す図である。It is a figure which shows the example of the method of determining the content described in the item of priority. FPGAのリソースを管理する表の一例を示す図である。It is a figure which shows an example of the table | surface which manages the resource of FPGA. 情報処理装置の制御方法を示すフローチャートである。It is a flowchart which shows the control method of information processing apparatus. 情報処理装置の制御方法を示すフローチャートである。It is a flowchart which shows the control method of information processing apparatus. 情報処理装置の制御方法を示すフローチャートである。It is a flowchart which shows the control method of information processing apparatus.

次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示す情報処理装置の構成を示すブロック図である。本例は、FPGA装置が適用されている情報処理装置の例である。情報処理装置は、画像形成装置、ファクシミリ装置、MFP、プリンタ装置、画像処理装置等が含まれる。
図1において、システム100は、制御装置101、サーバ102、再構成可能装置(FPGA)103、ネットワーク104、PCI Express105で構成される。なお、本実施形態に示す情報処理装置は、所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行可能に構成されている。また、制御部1011が後述するようにテーブルで所定の再構成データを管理している。
制御装置101は、制御部1011、第1のIF部1012、記憶部1013、第2のIF部1014、及び表示部1015で構成される。
Next, the best mode for carrying out the present invention will be described with reference to the drawings.
<Description of system configuration>
[First Embodiment]
FIG. 1 is a block diagram illustrating the configuration of the information processing apparatus according to the present embodiment. This example is an example of an information processing apparatus to which an FPGA device is applied. The information processing apparatus includes an image forming apparatus, a facsimile apparatus, an MFP, a printer apparatus, an image processing apparatus, and the like.
In FIG. 1, a system 100 includes a control device 101, a server 102, a reconfigurable device (FPGA) 103, a network 104, and a PCI Express 105. Note that the information processing apparatus shown in the present embodiment is configured to execute predetermined function processing by writing predetermined reconstruction data in a partial reconstruction area divided into a predetermined number. Further, the control unit 1011 manages predetermined reconstruction data in a table as will be described later.
The control device 101 includes a control unit 1011, a first IF unit 1012, a storage unit 1013, a second IF unit 1014, and a display unit 1015.

制御部1011は、CPU(Central Processing Unit)やRAM(Randam Access Memory)などのデバイスからなり、第1のIF部1012、記憶部1013と第2のIF部1014を制御する。   The control unit 1011 includes a device such as a CPU (Central Processing Unit) and a RAM (Random Access Memory), and controls the first IF unit 1012, the storage unit 1013, and the second IF unit 1014.

制御部1011は、また、第1のIF部1012を介して、サーバ102へ制御コマンドを送信することができる。図1では、ネットワーク104を介して送信しているが、本発明における、どのような送信手段にしても良い。   The control unit 1011 can also transmit a control command to the server 102 via the first IF unit 1012. In FIG. 1, transmission is performed via the network 104, but any transmission means in the present invention may be used.

制御部1011は、また、第1のIF部1012を介して、サーバ102から送信されたFPGA103の構成データを記憶部1013に格納することができる。もちろん、前記構成データを格納せずに、そのままFPGA103に送信しても良い。制御部1011は、また、記憶部1013に格納されている情報に基づき、適切な構成データを自動選択することができる。   The control unit 1011 can also store the configuration data of the FPGA 103 transmitted from the server 102 in the storage unit 1013 via the first IF unit 1012. Of course, the configuration data may be transmitted as it is to the FPGA 103 without being stored. The control unit 1011 can also automatically select appropriate configuration data based on information stored in the storage unit 1013.

制御部1011は、また、第2のIF部1014を介して、FPGA103へ構成データと制御コマンドを送信することができる。図1では、PCI Express105を介して、送信しているが、本発明における、どのような送信手段にしても良い。制御部1011は、また、表示部1015を介して、ユーザに文字や、画像などを提示することができる。第1のIF部1012は、TCP/IPインタフェースなど、サーバ102と通信できるインタフェースの回路装置である。
記憶部1013は、RAMやHDD(Hard Disk Drive)等の大容量記憶装置からなり、FPGA103の構成データを格納することができる。記憶部1013は、また、FPGA103の構成状態情報、及びサーバ102から送信された構成データの属性情報を格納することができる。
第2のIF部1014は、PCI Expressなど、FPGA103と通信できるインタフェースの回路装置である。表示部1015は、液晶ディスプレイ等から成る表示手段と表示手段に対する制御を行う表示制御手段からなり、制御部1011の制御により、文字や画像などを表示する。サーバ102は、記憶部1021とIF部1022で構成される。
The control unit 1011 can also transmit configuration data and a control command to the FPGA 103 via the second IF unit 1014. In FIG. 1, transmission is performed via the PCI Express 105, but any transmission means in the present invention may be used. The control unit 1011 can also present characters, images, and the like to the user via the display unit 1015. The first IF unit 1012 is an interface circuit device that can communicate with the server 102 such as a TCP / IP interface.
The storage unit 1013 includes a large-capacity storage device such as a RAM or an HDD (Hard Disk Drive), and can store configuration data of the FPGA 103. The storage unit 1013 can also store configuration state information of the FPGA 103 and attribute information of configuration data transmitted from the server 102.
The second IF unit 1014 is an interface circuit device that can communicate with the FPGA 103 such as PCI Express. The display unit 1015 includes display means including a liquid crystal display and display control means for controlling the display means, and displays characters, images, and the like under the control of the control unit 1011. The server 102 includes a storage unit 1021 and an IF unit 1022.

記憶部1021は、HDDや、ROM(Read Only Memory)などの大容量記憶装置からなり、FPGA103の構成データを格納し、IF部1022を介して、制御装置101に送信することができる。IF部1022は、TCP/IPインタフェースなど、制御装置101と通信できるインタフェースの回路である。制御装置101から制御コマンドを受信し、所望の構成データを送信することができる。FPGA103は、再構成制御部1031、IF部1032、機能実行部1033で構成される。   The storage unit 1021 includes a large-capacity storage device such as an HDD or a ROM (Read Only Memory). The storage unit 1021 can store configuration data of the FPGA 103 and transmit the configuration data to the control device 101 via the IF unit 1022. The IF unit 1022 is an interface circuit that can communicate with the control device 101 such as a TCP / IP interface. A control command can be received from the control device 101 and desired configuration data can be transmitted. The FPGA 103 includes a reconfiguration control unit 1031, an IF unit 1032, and a function execution unit 1033.

再構成制御部1031は、ハードウェア回路からなり、IF部1032を介して、FPGA103の構成データを受信し、機能実行部1033を書き換えることができる。また、機能実行部1033の全体を再構成しても良いし、その一部だけを再構成しても良い。   The reconfiguration control unit 1031 includes a hardware circuit, can receive configuration data of the FPGA 103 via the IF unit 1032, and can rewrite the function execution unit 1033. Further, the entire function execution unit 1033 may be reconfigured, or only a part thereof may be reconfigured.

IF部1032は、PCI Expressなど、制御装置101と通信できるインタフェースの回路である。制御装置101から制御コマンド、及び構成データを受信し、制御装置101に機能実行完了などの通知を送信することができる。機能実行部1033は、FPGA、CPLD(Complex Programmable Logic Device)や、RAMからなり、再構成制御部1031に制御され、IF部1032を介して、受信した構成データが書き込まれると、所定の処理機能を実現できる回路である。また、説明の便宜上、以下は再構成装置103をFPGA103と称する。
また、構成データをコンフィグデータと称する。ネットワーク104は、本実施形態における、制御装置101とサーバ102との通信手段の一例であり、他の手段にしても、本発明に影響がない。PCI Express105は、本実施形態における、制御装置101とFPGA103との通信手段の一例であり、他の手段にしても、本発明に影響がない。
The IF unit 1032 is an interface circuit that can communicate with the control device 101 such as PCI Express. A control command and configuration data can be received from the control device 101, and a notification such as completion of function execution can be transmitted to the control device 101. The function execution unit 1033 includes an FPGA, a CPLD (Complex Programmable Logic Device), and a RAM. The function execution unit 1033 is controlled by the reconfiguration control unit 1031, and when the received configuration data is written via the IF unit 1032, a predetermined processing function It is a circuit that can realize. For convenience of explanation, the reconfiguration device 103 is hereinafter referred to as an FPGA 103.
The configuration data is referred to as configuration data. The network 104 is an example of a communication unit between the control apparatus 101 and the server 102 in the present embodiment, and other units do not affect the present invention. The PCI Express 105 is an example of communication means between the control apparatus 101 and the FPGA 103 in the present embodiment, and other means do not affect the present invention.

図2は、本実施形態を示す情報処理装置の処理機能の情報を管理するテーブルを示す図である。なお、制御部1011は、処理機能名、再構成データ名、使用する部分再構成領域の数、性能情報、優先度、取得先を記憶部1013に登録して管理する。なお、制御部1011は、図4で後述する部分再構成領域と、再構成データ名、使用状態、前記部分再構成領域のいずれの領域が書換可能かどうかを特定する情報とを関連づけて再構成データを管理している。
図2において、コンフィグデータ管理表200には、処理機能201、コンフィグデータ202、所要リソース量203、性能204、優先度205、パス206などの項目が含まれる。コンフィグデータ管理表200には、サーバ102に格納されているすべてのコンフィグデータが管理されている。
処理機能201の項目には、すべての種類の処理機能が記載されている。例えば、セキュリティ機能A、画像処理機能B、画像処理機能Cなどが記載されている。ここで、画像処理機能Bについては、複数種類(3種類)の再構成データを備え、FPGAから削除される面数に応じたいずれかの再構成データが書き込まれるように制御される。
FIG. 2 is a diagram illustrating a table for managing information on processing functions of the information processing apparatus according to the present embodiment. The control unit 1011 registers and manages the processing function name, the reconfiguration data name, the number of partial reconfiguration areas to be used, the performance information, the priority, and the acquisition source in the storage unit 1013. The control unit 1011 reconstructs the partial reconfiguration area, which will be described later with reference to FIG. 4, by associating the reconfiguration data name, the use state, and information for specifying which of the partial reconfiguration areas is rewritable. Manage data.
2, the configuration data management table 200 includes items such as a processing function 201, configuration data 202, required resource amount 203, performance 204, priority 205, path 206, and the like. The configuration data management table 200 manages all configuration data stored in the server 102.
In the item of the processing function 201, all types of processing functions are described. For example, a security function A, an image processing function B, an image processing function C, and the like are described. Here, the image processing function B is controlled to include a plurality of types (three types) of reconstruction data and write any one of the reconstruction data according to the number of faces to be deleted from the FPGA.

コンフィグデータ202の項目には、処理機能201に記載されている処理機能を実現できるすべてのコンフィグデータが記載されている。例えば、セキュリティ機能Aを実現できるコンフィグデータは1個(A_HIGH)存在し、画像処理機能Bを実現できるコンフィグデータは3個存在する(B_HIGH、B_MID、B_LOW)。
また、前述のように、画像処理機能B、画像処理機能Cを実現できるコンフィグデータは複数個存在し、それぞれが異なる性能を出せるものであり、所要リソース量も異なる。
In the item of the configuration data 202, all configuration data capable of realizing the processing function described in the processing function 201 is described. For example, there is one piece of configuration data (A_HIGH) that can implement the security function A, and three pieces of configuration data that can implement the image processing function B (B_HIGH, B_MID, B_LOW).
Further, as described above, there are a plurality of configuration data that can realize the image processing function B and the image processing function C, each of which can provide different performance, and the required resource amount is also different.

所要リソース量203の項目には、前記コンフィグデータをコンフィグする際に、必要な最小限のリソース量が記載されている。例えば、FPGAの利用可能な総リソース量を4面と仮定し、コンフィグデータB_HIGHにはその中の3面が必要であり、コンフィグデータB_MIDにはその中の2面が必要である。   The item of the required resource amount 203 describes a minimum resource amount necessary for configuring the configuration data. For example, assuming that the total amount of available resources of the FPGA is four, the configuration data B_HIGH requires three of them, and the configuration data B_MID requires two of them.

性能204の項目には、前記コンフィグデータ202をコンフィグした後に、処理機能を実行する際に、予想される性能が記載されている。例えば、複写機の場合、前記コンフィグデータA_HIGHの性能は、1分間で処理できる画像のページ数で評価され、80ppm(Page Per Minute)と記載される。
本実施形態では処理速度を持って性能を評価しているが、これはあくまで一例であり、他の基準で性能を評価しても構わない。
The item of performance 204 describes the expected performance when the processing function is executed after the configuration data 202 is configured. For example, in the case of a copying machine, the performance of the configuration data A_HIGH is evaluated by the number of image pages that can be processed in one minute, and is described as 80 ppm (Page Per Minute).
In this embodiment, the performance is evaluated with the processing speed, but this is only an example, and the performance may be evaluated based on other criteria.

また、一般的に、性能が高ければ、高いほど所要リソース量が多くなるため、処理機能BのHIGH、MID、LOWのコンフィグデータがそれぞれ3面、2面、1面のリソース量が必要であるとする。
優先度205の項目には、各処理機能の優先度が記載されている。例えば、Aはセキュリティ機能であるため、優先度が高い。それに対し、B、Cは普通の画像処理であるため、優先度が低い。前記優先度は設計者が事前に決めたことであり、その決め方は、どういう方法にしても構わない。
In general, the higher the performance, the higher the required resource amount. Therefore, the configuration data for HIGH, MID, and LOW of processing function B requires three, two, and one resource amounts, respectively. And
The priority 205 item describes the priority of each processing function. For example, since A is a security function, priority is high. On the other hand, since B and C are normal image processing, the priority is low. The priority is determined in advance by the designer, and any method may be used for determining the priority.

パス206の項目には、各コンフィグデータが格納されている場所が記載されている。制御装置101が、FPGA103にコンフィグデータを送信する際に、上記パスを参照し、コンフィグデータを取得する。制御装置101の制御部1011は、上記コンフィグデータ管理表200を記憶部1013に格納し、FPGA103をコンフィグする際に、それを参照し、適切なコンフィグデータを選択する。   The item of the path 206 describes the location where each configuration data is stored. When the control device 101 transmits configuration data to the FPGA 103, the control device 101 refers to the path and acquires configuration data. The control unit 1011 of the control device 101 stores the configuration data management table 200 in the storage unit 1013, refers to it when selecting the FPGA 103, and selects appropriate configuration data.

図3は、図2に示した優先度205の項目に記載される内容の決定方法を示す図である。以下は図3の(A)の優先順位決定表300を詳細に説明する。
図3の(A)において、処理機能301の項目には、各処理機能名A、B、Cが記載されている。処理機能種類302の項目には、各処理機能の種類が記載されている。例えば、Aは特定な画像パターンを検出すると、コピー禁止を行うセキュリティ処理機能であり、Bは裏写りを除去する画像の補正処理である。
また、設計者が事前に決めた基準は、セキュリティ系の処理機能の優先度が高く、一般の画像処理の優先度が低い。その場合、優先度303の項目には、Aの優先度がHIGHとなり、BとCの優先度がLOWとなる。
FIG. 3 is a diagram showing a method for determining the contents described in the item of priority 205 shown in FIG. Hereinafter, the priority order determination table 300 in FIG. 3A will be described in detail.
In FIG. 3A, each processing function name A, B, C is described in the processing function 301 item. In the item of processing function type 302, the type of each processing function is described. For example, A is a security processing function that prohibits copying when a specific image pattern is detected, and B is an image correction process that removes show-through.
In addition, the criteria determined in advance by the designer are high in the priority of security processing functions and low in general image processing. In this case, in the priority 303 item, the priority of A is HIGH and the priority of B and C is LOW.

次に、図3の(B)、図3の(C)について説明する。表の構成は基本同じなので、図3の(A)との差分だけを説明する。
図3の(B)の使用頻度304の項目には、各処理機能が使用される頻度の予想が記載されている。例えば、機能Aはほとんどのジョブに使わることが予想されて、使用頻度304が90%である。それに対し、機能Cはあんまり使用されないことが予想されて、使用頻度304が20%である。
また、設計者が事前に決めた基準は、頻繁に使用される機能(予想使用頻度85%以上)は優先度高く、他の処理の優先度が低い。その場合、優先度303の項目には、Aの優先度がHIGHとなり、BとCの優先度がLOWとなる。
Next, (B) in FIG. 3 and (C) in FIG. 3 will be described. Since the configuration of the table is basically the same, only the difference from FIG. 3A will be described.
In the item of the usage frequency 304 in FIG. 3B, an estimate of the frequency with which each processing function is used is described. For example, the function A is expected to be used for most jobs, and the usage frequency 304 is 90%. On the other hand, the function C is expected not to be used so much, and the usage frequency 304 is 20%.
Further, according to the criteria determined in advance by the designer, frequently used functions (expected usage frequency of 85% or more) have high priority, and other processes have low priority. In this case, in the priority 303 item, the priority of A is HIGH and the priority of B and C is LOW.

図3の(C)の再構成所要時間(再構成時間)305の項目には、各処理機能をFPGAにコンフィグするのに必要な時間が記載されている。例えば、機能Aの回路規模、及びコンフィグのオーバーヘッドが大きく、再構成するために5秒必要である。それに対し、機能B、Cのコンフィグは1秒しか要らない。
また、設計者が事前に設定した基準は、構成時間の節約のために、再構成所要時間305が長い(3秒以上)機能は優先度高く、他の処理の優先度が低い。その場合、優先度303の項目には、Aの優先度がHIGHとなり、BとCの優先度がLOWとなる。上記優先度303の項目に記載されている内容は、図2の優先度205の項目に反映される。また、上記以外の方法で優先度を決めても良い。
In the item of reconfiguration required time (reconfiguration time) 305 in FIG. 3C, the time required to configure each processing function in the FPGA is described. For example, the circuit scale of function A and the overhead of configuration are large, and it takes 5 seconds to reconfigure. On the other hand, the configuration of functions B and C requires only 1 second.
Further, according to the criteria set in advance by the designer, a function with a long reconfiguration time 305 (3 seconds or more) has a high priority and a low priority for other processing in order to save the configuration time. In this case, in the priority 303 item, the priority of A is HIGH and the priority of B and C is LOW. The contents described in the item of priority 303 are reflected in the item of priority 205 in FIG. The priority may be determined by a method other than the above.

図4は、図1に示したFPGA103のリソースを管理する表の一例を示す図である。以下は図4の(A)のFPGAリソース管理表400を詳細に説明する。制御部1011は、FPGAリソース管理表400を構成する部分再構成領域と、再構成データ名、使用状態、前記部分再構成領域のいずれの領域が書換可能かどうかを特定する情報を記憶部1013に登録して管理する。
図4の(A)において、部分再構成可能領域401の項目には、FPGA103の中に、部分再構成機能を持つ領域の番号が記載されている。例えば、FPGAが4面の部分再構成領域があり、領域I、領域II、領域III、領域IVに分かれている。
FIG. 4 is a diagram illustrating an example of a table for managing resources of the FPGA 103 illustrated in FIG. Hereinafter, the FPGA resource management table 400 in FIG. 4A will be described in detail. The control unit 1011 stores in the storage unit 1013 information specifying the partial reconfiguration area constituting the FPGA resource management table 400, the reconfiguration data name, the usage state, and which of the partial reconfiguration areas is rewritable. Register and manage.
In (A) of FIG. 4, in the item of the partially reconfigurable area 401, an area number having a partial reconfiguration function is described in the FPGA 103. For example, the FPGA has a four-sided partial reconstruction region, which is divided into a region I, a region II, a region III, and a region IV.

コンフィグ状態402の項目には、各領域にコンフィグされているコンフィグデータが記載されている。例えば、領域I、領域IIがコンフィグデータA_HIGHに占有されて、領域III、領域IVはコンフィグデータB_MID占有されている。なお、コンフィグデータ管理表200により、A_HIGHとB_MIDはそれぞれリソース2面が必要である。   In the item of the configuration status 402, configuration data configured in each area is described. For example, the area I and the area II are occupied by the configuration data A_HIGH, and the area III and the area IV are occupied by the configuration data B_MID. According to the configuration data management table 200, A_HIGH and B_MID each require two resources.

使用状態403の項目には、各コンフィグされた処理機能が実際に動作しているか否かの状態が記載されている。例えば、図4の(A)の場合、処理機能Aが動作していなく、処理機能Bが実際に動作している。   The item of use state 403 describes the state of whether or not each configured processing function is actually operating. For example, in the case of FIG. 4A, the processing function A is not operating and the processing function B is actually operating.

書込可能かを示す書き換え可否404の項目には、FPGA103の各部分再構成可能領域401に新しいコンフィグデータを書き込み、元々のコンフィグデータを書き換えられるか否かの状態が記載されている。例えば、図4の(A)の場合、すべての領域が書き換え不可になっている。
また、図4の(B)については、図4の(A)の差分だけを説明する。
使用状態403の項目には、機能Aと機能B両方とも動作していないことが記載されている。書き換え可否404の項目には、領域I、IIは書換え不可の状態、領域III、IVは書き換え可能の状態となっている。
また、上記書き換え可否の判断については、コンフィグデータ管理表200とFPGAリソース管理表400に記載されている内容に基づき、自動的に判断されている。詳細の判断方法は図5に示すフローチャートを参照して説明する。
In the item of rewriteability 404 indicating whether data can be written, the state of whether or not the original configuration data can be rewritten by writing new configuration data in each partially reconfigurable area 401 of the FPGA 103 is described. For example, in the case of FIG. 4A, all the areas are not rewritable.
For (B) in FIG. 4, only the difference in FIG. 4 (A) will be described.
The item of use state 403 describes that neither function A nor function B is operating. In the item of rewriteability 404, areas I and II are in a state in which rewriting is impossible, and areas III and IV are in a state in which rewriting is possible.
Further, whether or not rewriting is possible is automatically determined based on the contents described in the configuration data management table 200 and the FPGA resource management table 400. A detailed determination method will be described with reference to a flowchart shown in FIG.

以下、図5、図6を使って、上記書き換え可否の判断方法、及びその判断結果に基づき、自動的に適切なコンフィグデータを選択するシステムの動作を説明する。   Hereinafter, the operation of the system for automatically selecting appropriate configuration data based on the determination method of whether or not rewriting and the determination result will be described with reference to FIGS.

図5は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。なお、S501〜S515は、制御装置101の制御部1011が、FPGAリソース管理表400とコンフィグデータ管理表200から情報を取得し、書き換え可能なFPGAの領域数に合わせて、自動的に性能が一番良いコンフィグデータを選択する動作の流れである。なお、各ステップは、制御装置101の記憶部1013に格納され、制御部1011に実行される。以下、FPGA103が図4の(B)の状態であり(処理機能A、処理機能Bがコンフィグされて、両方とも未使用の状態である)、処理機能Cをさらに実装しようする例を説明する。これにより、図4の(B)の状態が図4の(C)の状態に遷移する。   FIG. 5 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. In steps S501 to S515, the control unit 1011 of the control apparatus 101 acquires information from the FPGA resource management table 400 and the configuration data management table 200, and the performance is automatically matched according to the number of rewritable FPGA areas. This is an operation flow for selecting the best configuration data. Each step is stored in the storage unit 1013 of the control apparatus 101 and executed by the control unit 1011. Hereinafter, an example will be described in which the FPGA 103 is in the state shown in FIG. 4B (the processing function A and the processing function B are configured and both are unused), and the processing function C is further implemented. As a result, the state shown in FIG. 4B changes to the state shown in FIG.

制御部1011が、第2のIF部1014を介して、FPGA103に命令を送信し、また、第2のIF部1014を介して、FPGA103のリソース管理表400を取得し、記憶部1013に格納する(S501)。
制御部1011が、FPGAリソース管理表400を参照し、各領域の書き換え可否を判断する(S502)。書き換え可否の判断は図6で詳細に説明する(S516〜S527)。
次に、制御部1011が、書き換え可能な総領域数を取得する。本実施形態の場合、書き換え可能な領域数は2面(図4参照)である(S503)。制御部1011が、記憶部1013に格納されているコンフィグデータ管理表200を参照する(S504)。制御部1011が、コンフィグデータ管理表200の処理機能201の項目から、処理機能Cを探し、特定する(S505)。
The control unit 1011 transmits an instruction to the FPGA 103 via the second IF unit 1014, acquires the resource management table 400 of the FPGA 103 via the second IF unit 1014, and stores it in the storage unit 1013. (S501).
The control unit 1011 refers to the FPGA resource management table 400 to determine whether each area can be rewritten (S502). The determination of whether or not rewriting is possible will be described in detail with reference to FIG. 6 (S516 to S527).
Next, the control unit 1011 acquires the total number of rewritable areas. In the present embodiment, the number of rewritable areas is two (see FIG. 4) (S503). The control unit 1011 refers to the configuration data management table 200 stored in the storage unit 1013 (S504). The control unit 1011 searches for and specifies the processing function C from the item of the processing function 201 in the configuration data management table 200 (S505).

制御部1011が、コンフィグデータ管理表200のコンフィグデータ202の項目から、処理機能Cを実現できるすべてのコンフィグデータを特定する。本実施形態の場合、C_HIGH、C_MID、C_LOWの三つのコンフィグデータが特定される(S506)。   The control unit 1011 identifies all configuration data that can realize the processing function C from the items of the configuration data 202 of the configuration data management table 200. In the case of the present embodiment, three configuration data of C_HIGH, C_MID, and C_LOW are specified (S506).

制御部1011が、コンフィグデータ管理表200の所要リソース量203の項目から、各コンフィグデータの所要リソース量を取得する(S507)。本実施形態の場合、C_HIGHは3面必要、C_MIDは2面必要、C_LOWは1面必要である。   The control unit 1011 acquires the required resource amount of each configuration data from the item of the required resource amount 203 of the configuration data management table 200 (S507). In the present embodiment, C_HIGH requires three surfaces, C_MID requires two surfaces, and C_LOW requires one surface.

次に、制御部1011が、コンフィグデータ管理表200の性能204の項目の情報を参照し、S506で特定されたコンフィグデータの中に、性能が一番高いものから比較する。本実施形態の場合、C_HIGHのコンフィグデータから比較する(S508)。制御部1011が、S507で取得したC_HIGHのコンフィグデータの所要リソース量(3面)とS503で取得した書き換え可能な領域数(2面)と比較する(S509)。具体的には、制御部1011が、C_HIGHの所要リソース量203が書換可能な領域数を越えているかどうかを判断する。   Next, the control unit 1011 refers to the information of the item of the performance 204 of the configuration data management table 200, and compares the configuration data identified in S506 from the one with the highest performance. In the case of the present embodiment, comparison is made from C_HIGH configuration data (S508). The control unit 1011 compares the required resource amount (3 planes) of the C_HIGH configuration data acquired in S507 with the number of rewritable areas (2 planes) acquired in S503 (S509). Specifically, the control unit 1011 determines whether or not the C_HIGH required resource amount 203 exceeds the number of rewritable areas.

制御部1011が、S509の比較結果を見て、「C_HIGHの所要リソース」>「書き換え領域数」でないと判断した場合、C_HIGHを一番適切なコンフィグデータとして選択し、パス206の項目から、実際のコンフィグデータを取得して(S510)、本処理を終了する。   When the control unit 1011 sees the comparison result in S509 and determines that “required resource of C_HIGH”> “number of rewrite areas” is not satisfied, C_HIGH is selected as the most appropriate configuration data, Configuration data is acquired (S510), and the process ends.

一方、制御部1011が、S509の比較結果を見て、「C_HIGHの所要リソース」>「書き換え領域数」であると判断した場合、S511へ進む。そして、C_MIDのコンフィグデータの所要リソース量(2面)とS503で取得した書き換え可能領域数(2面)と比較する(S511)。具体的には、制御部1011が、C_MIDの所要リソース203が書換可能な領域数を越えているかどうかを判断する。   On the other hand, when the control unit 1011 determines that “the required resource of C_HIGH”> “the number of rewrite areas” by looking at the comparison result of S509, the process proceeds to S511. Then, the required resource amount (2 sides) of the configuration data of C_MID is compared with the number of rewritable areas (2 sides) acquired in S503 (S511). Specifically, the control unit 1011 determines whether or not the required resource 203 of C_MID exceeds the number of rewritable areas.

制御部1011が、S511の比較結果をみて、「C_MIDの所要リソース」>「書き換え領域数」でないと判断した場合、C_MIDを一番適切なコンフィグデータとして選択し、パス206の項目から、実際のコンフィグデータを取得して(S512)、本処理を終了する。   When the control unit 1011 determines that “the required resource of C_MID”> “the number of rewrite areas” is not satisfied by looking at the comparison result of S511, the control unit 1011 selects C_MID as the most appropriate configuration data, Configuration data is acquired (S512), and this process is terminated.

一方、制御部1011が、S511の比較結果を見て、「C_MIDの所要リソース」>「書き換え領域数」であると判断した場合、S513へ進む。そして、C_LOWのコンフィグデータの所要リソース量(1面)とS503で取得した書き換え可能領域数(2面)と比較する(S513)。具体的には、制御部1011が、C_LOWの所要リソース203が書換可能な領域数を越えているかどうかを判断する。   On the other hand, when the control unit 1011 determines that “the required resource of C_MID”> “the number of rewrite areas” by looking at the comparison result of S511, the process proceeds to S513. Then, the required resource amount (one side) of the configuration data of C_LOW is compared with the number of rewritable areas (two sides) acquired in S503 (S513). Specifically, the control unit 1011 determines whether or not the C_LOW required resource 203 exceeds the number of rewritable areas.

ここで、制御部1011が、S513の比較結果をみて、「C_LOWの所要リソース」>「書き換え領域数」でないと判断した場合、C_LOWを一番適切なコンフィグデータとして選択し、パス206の項目から、実際のコンフィグデータを取得して(S514)、本処理を終了する。   Here, when the control unit 1011 determines that “the required resource of C_LOW”> “the number of rewrite areas” is not satisfied by looking at the comparison result of S513, C_LOW is selected as the most appropriate configuration data, Actual configuration data is acquired (S514), and this process ends.

一方、制御部1011が、S513の比較結果を見て、「C_LOWの所要リソース」>「書き換え領域数」であると判断した場合、処理機能Cを実現できるコンフィグデータは全部FPGAにコンフィグすることはできないと判断し、ユーザに表示部1015を介して提示して(S515)、本処理を終了する。
本実施形態の場合、書き換え可能な領域数は2面であるので、上記方法により、C_MIDが適切なコンフィグデータとして自動的に選択される。
On the other hand, if the control unit 1011 determines that “required resources for C_LOW”> “number of rewrite areas” by looking at the comparison result in S513, all the configuration data that can realize the processing function C is configured in the FPGA. It is determined that it cannot be performed, and it is presented to the user via the display unit 1015 (S515), and this process ends.
In the present embodiment, since the number of rewritable areas is two, C_MID is automatically selected as appropriate configuration data by the above method.

図4の(C)は、上記方法でコンフィグデータを選択し、コンフィグした後のFPGAリソース管理表400の状態を示している。
書き換え可能な領域(領域III、領域IV)にコンフィグされていた処理機能Bのコンフィグデータは処理機能Cのコンフィグデータに書き換えられた。書き換え不可な領域(領域I、領域II)にコンフィグされていた処理機能Aのコンフィグデータは影響されていない。
FIG. 4C shows the state of the FPGA resource management table 400 after configuration data is selected and configured by the above method.
The configuration data of the processing function B configured in the rewritable area (area III, area IV) has been rewritten to the configuration data of the processing function C. The configuration data of the processing function A configured in the non-rewritable areas (area I and area II) is not affected.

図6は、本実施形態を示す情報処理装置の制御方法を示すフローチャートである。本例は、制御装置101の制御部1011が、記憶部1013の中に格納されているFPGAリソース管理表400を利用し、書き換え可能な領域を特定する処理例であり、各ステップは、制御装置101の記憶部1013に格納され、制御部1011により実行される。以下、図5に示したS502の詳細手順について説明する。
制御部1011が、FPGAリソース管理表400の各領域を書き換え不可状態にする(S516)。制御部1011が、記憶部1013に格納されているFPGAリソース管理表400を参照する(S517)。
制御部1011が、順番に、FPGA103のすべての領域(本実施形態の場合、領域I、II、III、IV)に対応する情報を参照する。本実施形態では、領域Iから参照する(S518)。
制御部1011が、FPGAリソース管理表400のコンフィグ状態402の項目に記載れている内容に基づき、該当領域がコンフィグされているか否かを判断する(S519)。
FIG. 6 is a flowchart illustrating a method for controlling the information processing apparatus according to the present exemplary embodiment. This example is a processing example in which the control unit 1011 of the control apparatus 101 uses the FPGA resource management table 400 stored in the storage unit 1013 to specify a rewritable area. 101 is stored in the storage unit 1013 and executed by the control unit 1011. The detailed procedure of S502 shown in FIG. 5 will be described below.
The control unit 1011 sets each area of the FPGA resource management table 400 to a non-rewritable state (S516). The control unit 1011 refers to the FPGA resource management table 400 stored in the storage unit 1013 (S517).
The control unit 1011 refers to information corresponding to all the regions of the FPGA 103 (regions I, II, III, and IV in this embodiment) in order. In the present embodiment, reference is made from region I (S518).
The control unit 1011 determines whether or not the corresponding area is configured based on the contents described in the item of the configuration state 402 of the FPGA resource management table 400 (S519).

制御部1011が、S519の判断結果を見て、コンフィグされていないと判断した場合、該当領域を書き換え可能にして(S520)、S526へ進む。
一方、コンフィグされていると制御部1011が判断した場合、該当領域の使用状態403を参照する(S521)。次に、制御部1011が、該当領域にコンフィグされている処理機能(本実施形態の場合、処理機能B)が動作しているか否かを判断する(S522)。
なお、制御部1011が、S522の判断結果を見て、処理機能Bが動作していると判断した場合も、S526の判断に移る。
制御部1011が、S522の判断結果を見て、処理機能Bが動作していないと判断した場合、記憶部1013に格納されているコンフィグデータ管理表200を参照する(S523)。
If the control unit 1011 sees the determination result in S519 and determines that it is not configured, the control unit 1011 makes the corresponding area rewritable (S520), and proceeds to S526.
On the other hand, when the control unit 1011 determines that it is configured, the use state 403 of the corresponding area is referred to (S521). Next, the control unit 1011 determines whether or not the processing function configured in the corresponding area (processing function B in this embodiment) is operating (S522).
Note that when the control unit 1011 determines that the processing function B is operating by looking at the determination result in S522, the process proceeds to the determination in S526.
When the control unit 1011 sees the determination result of S522 and determines that the processing function B is not operating, the control unit 1011 refers to the configuration data management table 200 stored in the storage unit 1013 (S523).

制御部1011が、コンフィグデータ管理表200の優先度205の項目から、機能Bの優先度を参照し、優先度が「LOW」であるか、「HIGH」であるかを判断する(S524)。制御部1011が、S524の判断結果を見て、優先度205が「LOW」であると判断した場合、S520と同じように、該当領域を書き換え可能にして(S525)、S526へ進む。
また、制御部1011が、S524の判断結果を見て、優先度205が「HIGH」である場合、該当領域の書き換え可否の属性を変えずに、すべての領域に対して探索完了したか否かを判断する(S526)。
The control unit 1011 refers to the priority of the function B from the priority 205 item of the configuration data management table 200, and determines whether the priority is “LOW” or “HIGH” (S524). If the control unit 1011 sees the determination result of S524 and determines that the priority 205 is “LOW”, the corresponding area is made rewritable (S525), and the process proceeds to S526.
In addition, when the control unit 1011 looks at the determination result of S524 and the priority 205 is “HIGH”, whether or not the search has been completed for all the regions without changing the rewriteability attribute of the corresponding region. Is determined (S526).

ここで、制御部1011が、S526の判断結果を見て、すべての領域に対し、判断を完了していない場合、S518に移り、次の領域の判断を行う。
一方、制御部1011が、S526の判断結果を見て、すべての領域に対し、判断を完了している場合、総書き換え可能な領域数を取得する(S527)。
上記方法で、処理機能CをFPGA103にコンフィグしようとする際に、書き換え可能なリソース量を算出することはできる。
Here, the control unit 1011 looks at the determination result of S526, and if the determination has not been completed for all the regions, the control unit 1011 proceeds to S518 and determines the next region.
On the other hand, the control unit 1011 obtains the total number of rewritable areas in the case where the determination is completed for all areas by looking at the determination result in S526 (S527).
With the above method, when the processing function C is to be configured in the FPGA 103, the rewritable resource amount can be calculated.

〔第2実施形態〕
第1実施形態では、優先度205は「LOW」の処理機能のコンフィグデータをコンフィグする際の動作を説明したが、以下、第2実施形態で、優先度は「HIGH」の処理機能のコンフィグデータをコンフィグする際の動作を説明する。第2実施形態の説明は、第1実施形態との差分を中心に説明する。
[Second Embodiment]
In the first embodiment, the operation at the time of configuring the configuration data of the processing function of “LOW” as the priority 205 has been described. Hereinafter, the configuration data of the processing function having the priority of “HIGH” in the second embodiment. The operation when configuring is described. The description of the second embodiment will focus on differences from the first embodiment.

図4の(D)は、FPGAリソースの使用状況の一例を示している。FPGA103のリソースは、コンフィグデータB_HIGHにより、4面の中の3面が占有されている。ただし、図4の(D)の使用状態403から明らかなように、B_HIGHは動作していない。
第2実施形態は、上記図4の(D)に示された状態で、優先度205は「HIGH」である処理機能AをさらにFPGA103にコンフィグしようとする際、システムの動作を説明する例である。
FIG. 4D shows an example of the usage status of FPGA resources. As for the resources of the FPGA 103, three of the four surfaces are occupied by the configuration data B_HIGH. However, as is apparent from the use state 403 in FIG. 4D, B_HIGH is not operating.
The second embodiment is an example for explaining the operation of the system when trying to configure the FPGA 103 with the processing function A whose priority 205 is “HIGH” in the state shown in FIG. is there.

図7は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、制御装置101の制御部1011が、処理機能Aを優先的にFPGA103にコンフィグし、その後、FPGA103の残りのリソース量を考慮し、処理機能Bを実現できるコンフィグデータの中から、適切なものを選択する処理例であり、各ステップは、制御装置101の記憶部1013に格納され、制御部1011により実行される。   FIG. 7 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. In this example, the control unit 1011 of the control apparatus 101 preferentially configures the processing function A in the FPGA 103, and then considers the remaining resource amount of the FPGA 103, and selects the appropriate configuration data from among the configuration data that can realize the processing function B. In this example, each step is stored in the storage unit 1013 of the control apparatus 101 and executed by the control unit 1011.

制御部1011が、記憶部1013から、コンフィグデータ管理表200を取得し、これからコンフィグしようとする処理機能の優先度205を判断する(S601)。ここで、制御部1011が、S601の判断結果を見て、処理機能Bの優先度205は「LOW」である場合、S501〜S515に記載されている方法で、該当処理機能を実現できるコンフィグデータを自動選択し、FPGA103をコンフィグする(S602)。   The control unit 1011 acquires the configuration data management table 200 from the storage unit 1013, and determines the priority 205 of the processing function to be configured from now on (S601). Here, when the control unit 1011 looks at the determination result of S601 and the priority 205 of the processing function B is “LOW”, the configuration data that can realize the corresponding processing function by the method described in S501 to S515. Is automatically selected and the FPGA 103 is configured (S602).

制御部1011が、S601の判断結果を見て、優先度205が「HIGH」である場合、FPGAリソース管理表400を記憶部1013から取得し、表の中のコンフィグ状態402の項目に記載されている内容を記憶部1013に格納する。本実施形態の場合、「B_HIGHがコンフィグされている」という情報が記憶部1013に格納される(S603)。   When the control unit 1011 looks at the determination result of S601 and the priority 205 is “HIGH”, the FPGA resource management table 400 is acquired from the storage unit 1013, and is described in the item of the configuration state 402 in the table. Is stored in the storage unit 1013. In the present embodiment, information “B_HIGH is configured” is stored in the storage unit 1013 (S603).

制御部1011が、第2のIF部1014を介して、FPGA103にコマンドを発行し、すべてのコンフィグ済みのデータを削除する(S604)。制御部1011が、S501〜S515に記載されている方法で、コンフィグデータを自動選択し、コンフィグしようとする処理機能をFPGA103に書き込む。本実施形態の場合、A_HIGHがコンフィグされる(S605)。   The control unit 1011 issues a command to the FPGA 103 via the second IF unit 1014 and deletes all configured data (S604). The control unit 1011 automatically selects configuration data by the method described in S501 to S515, and writes the processing function to be configured in the FPGA 103. In this embodiment, A_HIGH is configured (S605).

制御部1011が、S603で格納された情報を参照し、元々がコンフィグされていた、S604で削除された処理機能を再コンフィグしようとする。本実施形態の場合、制御部1011が、処理機能Bが削除されたことを判明し、処理機能Bを再コンフィグしようとする(S606)。   The control unit 1011 refers to the information stored in S603 and tries to reconfigure the processing function that was originally configured and deleted in S604. In the present embodiment, the control unit 1011 finds that the processing function B has been deleted, and tries to reconfigure the processing function B (S606).

制御部1011が、また、S501〜S515に記載されている方法で、適切なコンフィグデータを選択し、S604で削除された機能を再コンフィグする。本実施形態の場合、その時のFPGAリソース残量を考慮し、元々のB_HIGHの代わりに、「B_MID」が選択されて、FPGAをコンフィグする(S607)。これにより、図4の(B)はコンフィグ後のFPGAリソース管理表を示している。   The control unit 1011 also selects appropriate configuration data by the method described in S501 to S515, and reconfigures the function deleted in S604. In the present embodiment, considering the remaining amount of FPGA resources at that time, “B_MID” is selected instead of the original B_HIGH, and the FPGA is configured (S607). Thus, FIG. 4B shows the FPGA resource management table after configuration.

また、S607でコンフィグデータの変更が発生した際に、制御装置101の記憶部1013にB_MIDのコンフィグデータがある場合、そのままFPGA103をコンフィグするが、B_MIDのコンフィグデータがないと判断した場合、第1のIF部1012を介して、サーバ102からB_MIDのコンフィグデータを受信しても良い。
次に、制御部1011が、コンフィグ後のFPGAリソース管理表400から、処理機能Bのコンフィグデータ情報を抽出し、S603で格納した元々のコンフィグデータ情報と比較する(S608)。制御部1011が、S608の比較結果を見て、差分がある場合、表示部1015を介してユーザに提示する(S609)。
Further, when the configuration data is changed in S607, if there is B_MID configuration data in the storage unit 1013 of the control apparatus 101, the FPGA 103 is configured as it is, but if it is determined that there is no B_MID configuration data, the first B_MID configuration data may be received from the server 102 via the IF unit 1012.
Next, the control unit 1011 extracts the configuration data information of the processing function B from the post-configuration FPGA resource management table 400 and compares it with the original configuration data information stored in S603 (S608). The control unit 1011 looks at the comparison result of S608, and if there is a difference, presents it to the user via the display unit 1015 (S609).

上記方法で、後から優先度205が高い処理機能をコンフィグする際に、優先度205が高い機能が先にコンフィグされ、残りのリソース残量に合わせて、元々コンフィグされていた優先度より低い機能を復元させることができ。また、その際、性能差がある場合、ユーザに提示することができる。
なお、本実施形態は、FPGAで再構成データを書き換える情報処理装置について説明したが、CPLD (Complex Programmable Logic Device)を備える情報処理装置についても適用可能である。
In the above method, when a processing function having a higher priority 205 is configured later, a function having a higher priority 205 is configured first, and a function lower than the originally configured priority according to the remaining resource remaining amount. Can be restored. At that time, if there is a performance difference, it can be presented to the user.
In addition, although this embodiment demonstrated the information processing apparatus which rewrites reconstruction data by FPGA, it is applicable also to information processing apparatus provided with CPLD (Complex Programmable Logic Device).

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。   The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

101 制御装置
103 再構成可能装置
101 control device 103 reconfigurable device

Claims (12)

所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行する情報処理装置であって、
特定の機能処理が同一となる複数種類の再構成データと、前記部分再構成領域に書き込まれる再構成データの使用状態とを管理する管理手段と、
前記部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択する選択手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus that executes predetermined function processing by writing predetermined reconstruction data in a partial reconstruction area divided into a predetermined number,
Management means for managing a plurality of types of reconfiguration data in which specific function processing is the same, and a use state of the reconfiguration data written in the partial reconfiguration area;
One reconfiguration data to be written from a plurality of types of reconfiguration data in which specific function processing is the same according to the number of newly writable partial reconfiguration regions specified in the usage state of the partial reconfiguration region A selection means for selecting
An information processing apparatus comprising:
選択された所定の再構成データを取得する取得手段と、
前記部分再構成領域に書き込まれていたいずれかの再構成データの削除と、前記取得手段が取得した所定の再構成データの前記部分再構成領域の書込とを制御する制御手段と、
を備えることを特徴とする請求項1に記載の情報処理装置。
Obtaining means for obtaining the selected predetermined reconstruction data;
Control means for controlling the deletion of any reconstruction data written in the partial reconstruction area and the writing of the partial reconstruction area of the predetermined reconstruction data acquired by the acquisition means;
The information processing apparatus according to claim 1, further comprising:
前記制御手段は、前記部分再構成領域に書き込まれた再構成データに基づく特定の機能処理を実行した後、当該特定の機能処理に対応する再構成データを削除した後、先に削除した再構成データを前記部分再構成領域に書き込むことを特徴とする請求項2に記載の情報処理装置。   The control means executes a specific function process based on the reconfiguration data written in the partial reconfiguration area, deletes the reconfiguration data corresponding to the specific function process, and then deletes the reconfiguration previously deleted. The information processing apparatus according to claim 2, wherein data is written in the partial reconstruction area. 前記制御手段は、前記部分再構成領域に書き込まれた再構成データのうち、新たに書き込むべき特定の機能処理の優先度よりも高い優先度で、かつ、使用していない再構成データは削除しないことを特徴とする請求項1に記載の情報処理装置。   The control means does not delete reconfigured data that is higher in priority than specific function processing to be newly written and is not used among reconstructed data written in the partial reconfiguration area. The information processing apparatus according to claim 1. 前記管理手段は、1つの特定の機能処理に対して、使用する前記部分再構成領域の数が異なる再構成データを管理することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the management unit manages reconfiguration data having a different number of the partial reconfiguration areas to be used for one specific function process. 前記管理手段は、処理機能名、再構成データ名、使用する前記部分再構成領域の数、性能情報、優先度、取得先を管理することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the management unit manages a processing function name, a reconfiguration data name, the number of partial reconfiguration areas to be used, performance information, a priority, and an acquisition destination. 前記優先度は、所定の再構成データの使用頻度で特定されることを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the priority is specified by a use frequency of predetermined reconstruction data. 前記優先度は、所定の再構成データの再構成時間で特定されることを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the priority is specified by a reconstruction time of predetermined reconstruction data. 前記優先度は、所定の再構成データに設定された優先順位で特定されることを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the priority is specified by a priority set in predetermined reconstruction data. 前記管理手段は、前記部分再構成領域と、再構成データ名、使用状態、前記部分再構成領域のいずれの領域が書換可能かどうかを特定する情報とを関連づけて管理することを特徴とする請求項1に記載の情報処理装置。   The management unit associates and manages the partial reconfiguration area and reconfiguration data name, use state, and information specifying whether any of the partial reconfiguration areas is rewritable. Item 4. The information processing apparatus according to Item 1. 所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行する情報処理装置の制御方法であって、
特定の機能処理が同一となる複数種類の再構成データと、前記部分再構成領域に書き込まれる再構成データの使用状態とを登録手段に登録して管理する管理工程と、
前記部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択する選択工程と、
選択された所定の再構成データを取得先から取得する取得工程と、
前記部分再構成領域に書き込まれていたいずれかの再構成データの削除と、前記取得工程が取得した所定の再構成データの前記部分再構成領域の書込とを制御する制御工程と、
を備えることを特徴とする情報処理装置の制御方法。
A control method for an information processing apparatus that writes predetermined reconstruction data in a partial reconstruction area divided into a predetermined number and executes specific function processing,
A management step of registering and managing a plurality of types of reconfiguration data in which specific function processing is the same and a use state of the reconfiguration data written in the partial reconfiguration area in a registration unit;
One reconfiguration data to be written from a plurality of types of reconfiguration data in which specific function processing is the same according to the number of newly writable partial reconfiguration regions specified in the usage state of the partial reconfiguration region A selection process for selecting
An acquisition step of acquiring the selected predetermined reconstruction data from the acquisition destination;
A control step for controlling the deletion of any of the reconstruction data written in the partial reconstruction area and the writing of the partial reconstruction area of the predetermined reconstruction data acquired by the acquisition step;
An information processing apparatus control method comprising:
請求項11に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。   A program for causing a computer to execute the control method of the information processing apparatus according to claim 11.
JP2016007711A 2016-01-19 2016-01-19 Information processor, control method of information processor, and program Pending JP2017129951A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016007711A JP2017129951A (en) 2016-01-19 2016-01-19 Information processor, control method of information processor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016007711A JP2017129951A (en) 2016-01-19 2016-01-19 Information processor, control method of information processor, and program

Publications (1)

Publication Number Publication Date
JP2017129951A true JP2017129951A (en) 2017-07-27

Family

ID=59394846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016007711A Pending JP2017129951A (en) 2016-01-19 2016-01-19 Information processor, control method of information processor, and program

Country Status (1)

Country Link
JP (1) JP2017129951A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235271A1 (en) * 2018-06-06 2019-12-12 日本電信電話株式会社 Installation device and installation method
US10782975B1 (en) 2019-08-29 2020-09-22 Fuji Xerox Co., Ltd. Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium
JPWO2020116046A1 (en) * 2018-12-07 2021-10-14 ソニーセミコンダクタソリューションズ株式会社 Sensor devices, electronic devices, sensor systems and control methods

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235271A1 (en) * 2018-06-06 2019-12-12 日本電信電話株式会社 Installation device and installation method
JP2019212069A (en) * 2018-06-06 2019-12-12 日本電信電話株式会社 Arrangement apparatus and arrangement method
JP7070110B2 (en) 2018-06-06 2022-05-18 日本電信電話株式会社 Placement device and placement method
JPWO2020116046A1 (en) * 2018-12-07 2021-10-14 ソニーセミコンダクタソリューションズ株式会社 Sensor devices, electronic devices, sensor systems and control methods
JP7451407B2 (en) 2018-12-07 2024-03-18 ソニーセミコンダクタソリューションズ株式会社 Sensor device, electronic device, sensor system and control method
US10782975B1 (en) 2019-08-29 2020-09-22 Fuji Xerox Co., Ltd. Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium

Similar Documents

Publication Publication Date Title
JP6331504B2 (en) Electronic device and information processing system
US11196657B2 (en) Self identifying interconnect topology
US20160036998A1 (en) Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method
JP2015013429A (en) Image processing apparatus, method for controlling the same, and program
JP2015121989A (en) Network device, control method for network device and program thereof
JP2016510918A (en) Identifying workloads and sizing buffers for volume replication purposes
CN105302536A (en) Configuration method and apparatus for related parameters of MapReduce application
JP2017129951A (en) Information processor, control method of information processor, and program
JP2016103755A (en) Information processing apparatus, image processing apparatus including information processing apparatus, and control method and program of the same
US11080909B2 (en) Image layer processing method and computing device
JP5725191B2 (en) Power management device, power management method, and power management program
JP5724465B2 (en) Electronic device, information processing system, and program
EP4344284A1 (en) Intent activation method and apparatus
US20160034197A1 (en) Data migration method and data migration device
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP6752651B2 (en) Information processing systems, methods and programs in information processing systems
JP5972094B2 (en) Information processing apparatus, information processing method, and program
JP2016115979A (en) Image processing apparatus, control method and program thereof
JP2016018269A (en) Information processing apparatus, information processing method, and program
JP6410055B2 (en) Image forming apparatus and data processing program
JP5996094B2 (en) Virtual machine image management server and virtual machine image management method
JP2015111768A (en) Image processing apparatus, control method thereof, and program
US20180159737A1 (en) Method for Remote Management of Multiple Device Configurations
JP2016042296A (en) Image processing apparatus, information processing method, and program
JP2009265926A (en) Information processing apparatus, information processing method, and information processing program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180306