JP2011175535A - Method and apparatus for managing memory device - Google Patents

Method and apparatus for managing memory device Download PDF

Info

Publication number
JP2011175535A
JP2011175535A JP2010040151A JP2010040151A JP2011175535A JP 2011175535 A JP2011175535 A JP 2011175535A JP 2010040151 A JP2010040151 A JP 2010040151A JP 2010040151 A JP2010040151 A JP 2010040151A JP 2011175535 A JP2011175535 A JP 2011175535A
Authority
JP
Japan
Prior art keywords
application
storage unit
data
management
configuration information
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
JP2010040151A
Other languages
Japanese (ja)
Inventor
Kengo Nishino
賢悟 西野
Takeshi Inuo
武 犬尾
Nobuki Kajiwara
信樹 梶原
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010040151A priority Critical patent/JP2011175535A/en
Publication of JP2011175535A publication Critical patent/JP2011175535A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method and an apparatus for managing a memory device which improve processing performance of a data processor composed of a reconfiguration device. <P>SOLUTION: A management data storage part includes: a configuration information pool for storing configuration information for each application; an initial data pool for storing initial data necessary for the application; a storage part request table indicating an area of a storage part included in the reconfiguration device to be used for storing the initial data of the application when the application is executed; and a storage part status table indicating an application using the storage part. When receiving an application execution request, a management part reads out the configuration information of the application, writes the read information to the storage part, and writes the initial data of an application not stored in the storage part to the storage part, by referring to the storage part request table and the storage part status table. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は再構成デバイスが備えるメモリデバイスの管理に用いて好適なメモリデバイス管理方法及び装置に関する。   The present invention relates to a memory device management method and apparatus suitable for managing a memory device included in a reconfigurable device.

複数の命令を並列に処理することが可能な複数の論理回路(演算器)を備え、該論理回路の構成や接続をソフトウェアによって変更できるデータ処理装置として、コンフィギュアラブルプロセッサ(再構成デバイス)がある。コンフィギュアラブルプロセッサは、FPGA(Field Programmable Gate Array)とリコンフィギュアラブルプロセッサとに大別される。   A configurable processor (reconfigurable device) is provided as a data processing device that includes a plurality of logic circuits (arithmetic units) capable of processing a plurality of instructions in parallel and whose configuration and connection of the logic circuits can be changed by software. is there. Configurable processors are roughly classified into FPGA (Field Programmable Gate Array) and reconfigurable processors.

FPGAについては、例えば特許文献1にその詳細が記載されている。   Details of the FPGA are described in Patent Document 1, for example.

リコンフィギャラブルプロセッサとしては、DRP(Dynamic Reconfigurable Processor)が知られている。DRPについては、例えば特許文献2〜7にその詳細が記載されている。また、特許文献8には、DRPが備える複数の演算器の構成や接続を変更するための構成情報の格納先の制限を無くすと共に、一つの構成情報を複数の処理で共有可能にした技術が記載されている。   A DRP (Dynamic Reconfigurable Processor) is known as a reconfigurable processor. Details of DRP are described in, for example, Patent Documents 2 to 7. Patent Document 8 discloses a technology that eliminates the limitation of the storage destination of the configuration information for changing the configuration and connection of a plurality of arithmetic units included in the DRP, and allows one configuration information to be shared by a plurality of processes. Are listed.

再構成デバイスは、演算を実行する演算部と、演算部の動作を制御する制御部と、演算で用いるデータを保持する記憶部とを備えている。上記DRPでは、演算部に、複数の演算器とそれらの接続を切り替える相互接続部とを備え、各演算器及び相互接続部に対する命令コードを切り換えることで各種の処理を実行できる。演算部に供給する命令コードやデータはソフトウェアによって変更可能であり、上記構成情報として書き込むことで所望の処理を実行する回路や該回路の初期状態を実現できる。   The reconstruction device includes a calculation unit that executes a calculation, a control unit that controls the operation of the calculation unit, and a storage unit that holds data used in the calculation. In the DRP, the arithmetic unit includes a plurality of arithmetic units and an interconnection unit that switches their connection, and various processes can be executed by switching instruction codes for the arithmetic units and the interconnection unit. The instruction code and data supplied to the arithmetic unit can be changed by software, and a circuit for executing a desired process and an initial state of the circuit can be realized by writing as the configuration information.

なお、構成情報とは、ある時点における演算器に対する演算命令、相互接続部における各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、再構成デバイス内に仮想的な回路を構成するために必要な情報である。所望の処理(アプリケーション)を実行するために必要な構成情報の集まりはオブジェクトコードと呼ばれる。   Note that the configuration information refers to a calculation command for the arithmetic unit at a certain point in time, information indicating the connection relationship between the arithmetic units in the interconnection unit, information indicating the relationship between the event signal and the corresponding configuration information to be selected next, etc. Information necessary for configuring a virtual circuit in the reconfigurable device. A collection of configuration information necessary for executing a desired process (application) is called an object code.

米国再発行特許発明第34363号明細書US Reissue Patent No. 34363 Specification 特開2000−138579号公報JP 2000-138579 A 特開2000−224025号公報JP 2000-2224025 A 特開2000−232354号公報JP 2000-232354 A 特開2000−232162号公報JP 2000-232162 A 特開2003−076668号公報Japanese Patent Laid-Open No. 2003-076668 特開2003−099409号公報JP 2003-099409 A 国際公開第2007/114059号パンフレットInternational Publication No. 2007/114059 Pamphlet

上述したFPGAは、1つの構成情報から成る、1つのオブジェクトコードを保持することが可能である。FPGAは、保持する構成情報やオブジェクトコードを入れ替えることで各種の処理を実行できる。オブジェクトコードを複数保持し、処理していないときに該オブジェクトコードの切り換えが可能なFPGAも理論上は実現可能である。   The above-described FPGA can hold one object code composed of one piece of configuration information. The FPGA can execute various processes by exchanging configuration information and object codes held therein. An FPGA that can hold a plurality of object codes and can switch the object codes when not processing is theoretically feasible.

一方、DRPは、記憶容量の範囲内で、1つまたは複数の構成情報から成る、任意の数のオブジェクトコードを保持することが可能であり、それらを入れ替えることで各種の処理を実行できる。   On the other hand, the DRP can hold an arbitrary number of object codes composed of one or a plurality of pieces of configuration information within the range of the storage capacity, and various processes can be executed by replacing them.

しかしながら、上述したFPGAやDRP等の再構成デバイスでは、通常、処理対象となるデータ、処理途中のデータ(中間データ)、テーブルデータ等の処理で用いるデータを保持する処理データ記憶部を複数のアプリケーションで共有することができない。そのため、動作させるアプリケーション(オブジェクトコード)を切り換える場合は、処理データ記憶部で保持するデータも入れ替える必要がある。またその際に、上記中間データがある場合は、該中間データを外部メモリへ退避させる必要がある。   However, in the above-described reconfigurable device such as FPGA or DRP, a processing data storage unit that holds data used for processing such as data to be processed, data in the middle of processing (intermediate data), table data, etc. I can't share with you. Therefore, when switching the application (object code) to be operated, it is necessary to replace the data held in the processing data storage unit. At this time, if there is the intermediate data, it is necessary to save the intermediate data to the external memory.

背景技術のメモリデバイス管理方法では、アプリケーションを切り換える度に、処理対象となるデータや処理で用いるデータの読み込み処理や中間データの退避処理等を実現する回路を、例えば構成情報によって再構成デバイス内に構築し、該回路により処理データ記憶部に対するデータの書き込みや読み出しを制御していた。このような処理データ記憶部を管理するための回路を再構成デバイス内に構築することは、再構成デバイスをアプリケーション以外の処理で用いることであり、アプリケーションの処理が遅くなる要因となる。   In the memory device management method of the background art, each time an application is switched, a circuit that implements a process for reading data to be processed, a process for reading data used in the process, a process for saving intermediate data, etc., is stored in the reconfigurable device based on configuration information The data is written into and read from the processing data storage unit by the circuit. Constructing such a circuit for managing the processing data storage unit in the reconfigurable device means that the reconfigurable device is used for processing other than the application, which causes a delay in the processing of the application.

また、処理データ記憶部を管理するための回路をユーザ等が構成情報により作成しなければならないため、ユーザ等の負担が大きく、また作成した回路が正常に動作するとは限らないため、再構成デバイスの誤動作の要因となる。   In addition, since a user or the like must create a circuit for managing the processing data storage unit based on the configuration information, the burden on the user or the like is large, and the created circuit does not always operate normally. Cause malfunction.

例えば、処理で参照するテーブルデータ等、書き換えが不要な固定データを処理データ記憶部に読み込む場合は、該固定データをオブジェクトコード内に含めることも可能である。しかしながら、そのような場合でも、一旦、他のアプリケーションを動作させ、再び同じアプリケーションを実行する場合は、固定データを含む構成情報を再度読み込む必要がある。   For example, when reading fixed data that does not need to be rewritten, such as table data to be referred to in processing, into the processing data storage unit, the fixed data can be included in the object code. However, even in such a case, when another application is operated once and the same application is executed again, it is necessary to read configuration information including fixed data again.

本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、再構成デバイスから成るデータ処理装置の処理性能を向上できるメモリデバイス管理方法及び装置を提供することを目的とする。   The present invention has been made to solve the above-described problems of the prior art, and provides a memory device management method and apparatus capable of improving the processing performance of a data processing apparatus including a reconfigurable device. Objective.

上記目的を達成するため本発明のメモリデバイス管理方法は、再構成デバイスが備える記憶部を管理するためのメモリデバイス管理方法であって、
前記再構成デバイスで実行するアプリケーション毎の構成情報が格納される構成情報プール、前記アプリケーションの処理対象となるデータ及び該アプリケーションで必要なデータを含む初期データが格納される初期データプール、前記アプリケーションの実行時に該アプリケーションの前記初期データの保持に用いる前記記憶部の領域を示す記憶部要求表、並びに前記記憶部を使用しているアプリケーションを示す記憶部状況表を備えた管理データ記憶部を備えておき、
前記アプリケーションの実行要求を受信すると、前記構成情報プールから該アプリケーションの構成情報を読み出して前記記憶部へ書き込み、
前記記憶部要求表及び前記記憶部状況表を参照して、前記記憶部に無い該アプリケーションの前記初期データを前記初期データプールから読み出して前記記憶部へ書き込む方法である。
In order to achieve the above object, a memory device management method of the present invention is a memory device management method for managing a storage unit included in a reconfigurable device,
A configuration information pool storing configuration information for each application executed by the reconfigurable device, an initial data pool storing initial data including data to be processed by the application and data necessary for the application, A management data storage unit including a storage unit request table indicating an area of the storage unit used for holding the initial data of the application at the time of execution, and a storage unit status table indicating an application using the storage unit; Every
Upon receiving the application execution request, the application configuration information is read from the configuration information pool and written to the storage unit,
In this method, the initial data of the application not in the storage unit is read from the initial data pool and written to the storage unit by referring to the storage unit request table and the storage unit status table.

一方、本発明のメモリデバイス管理装置は、再構成デバイスが備える記憶部を管理するメモリデバイス管理装置であって、
前記再構成デバイスで実行するアプリケーション毎の構成情報が格納される構成情報プール、前記アプリケーションの処理対象となるデータ及び該アプリケーションで必要なデータを含む初期データが格納される初期データプール、前記アプリケーションの実行時に該アプリケーションの前記初期データの保持に用いる前記記憶部の領域を示す記憶部要求表、並びに前記記憶部を使用しているアプリケーションを示す記憶部状況表を備えた管理データ記憶部と、
前記アプリケーションの実行要求を受信すると、前記構成情報プールから該アプリケーションの構成情報を読み出して前記記憶部へ書き込み、前記記憶部要求表及び前記記憶部状況表を参照して、前記記憶部に無い該アプリケーションの前記初期データを前記初期データプールから読み出して前記記憶部へ書き込む管理部と、
を有する。
On the other hand, the memory device management apparatus of the present invention is a memory device management apparatus that manages a storage unit included in the reconfiguration device,
A configuration information pool storing configuration information for each application executed by the reconfigurable device, an initial data pool storing initial data including data to be processed by the application and data necessary for the application, A management data storage unit comprising a storage unit request table indicating an area of the storage unit used for holding the initial data of the application at the time of execution, and a storage unit status table indicating an application using the storage unit;
When receiving the execution request of the application, the configuration information of the application is read from the configuration information pool and written to the storage unit, and the storage unit request table and the storage unit status table are referred to, and the storage unit is not in the storage unit. A management unit that reads the initial data of the application from the initial data pool and writes the initial data to the storage unit;
Have

本発明によれば、再構成デバイスから成るデータ処理装置の処理性能(スループット)を向上させることができる。   According to the present invention, it is possible to improve the processing performance (throughput) of a data processing apparatus including a reconfigurable device.

第1の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 1st Embodiment. 第2の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 2nd Embodiment. 第3の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 3rd Embodiment. 第4の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 4th Embodiment. 第5の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 5th Embodiment. 第6の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 6th Embodiment. 第1実施例のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第1実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 1st Example. 第2実施例のメモリデバイス管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the memory device management apparatus of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example. 第2実施例の管理データ記憶部で保持している情報を示す模式図である。It is a schematic diagram which shows the information hold | maintained at the management data storage part of 2nd Example.

次に本発明について図面を用いて説明する。
(第1の実施の形態)
図1は第1の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。
Next, the present invention will be described with reference to the drawings.
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the memory device management apparatus according to the first embodiment.

図1に示すように、第1の実施の形態のメモリデバイス管理装置は、管理データ記憶部1及び管理部2を有する構成である。   As shown in FIG. 1, the memory device management apparatus according to the first embodiment is configured to include a management data storage unit 1 and a management unit 2.

第1の実施の形態のメモリデバイス管理装置は、1つの構成情報から成る、1つのオブジェクトコードを保持できる再構成デバイスである第1の再構成可能ハードウェア3を管理する。第1の再構成可能ハードウェア3としては、例えば上記FPGAがある。   The memory device management apparatus according to the first embodiment manages the first reconfigurable hardware 3 that is a reconfigurable device that can hold one object code composed of one piece of configuration information. As the first reconfigurable hardware 3, for example, there is the FPGA.

第1の再構成可能ハードウェア3は、演算を実行する演算部32と、演算部32の動作を制御する制御部31と、演算部32及び制御部31による処理対象のデータや処理で必要なデータを保持する処理データ記憶部33と、構成情報を保持する構成情報記憶部34とを有する構成である。処理データ記憶部33は、管理単位となる複数の記憶領域331〜33nに分割可能である。 The first reconfigurable hardware 3 is necessary for the calculation unit 32 that executes the calculation, the control unit 31 that controls the operation of the calculation unit 32, and the data and processing to be processed by the calculation unit 32 and the control unit 31. The configuration includes a processing data storage unit 33 that holds data and a configuration information storage unit 34 that holds configuration information. The processing data storage unit 33 can be divided into a plurality of storage areas 33 1 to 33 n serving as management units.

管理データ記憶部1は、構成情報プール11、初期データプール12及び記憶部管理部13を備えている。   The management data storage unit 1 includes a configuration information pool 11, an initial data pool 12, and a storage unit management unit 13.

構成情報プール11には、第1の再構成可能ハードウェア3で実行する複数のアプリケーションの構成情報が格納される。構成情報には、第1の再構成可能ハードウェア3の構成や機能に応じて作成された、演算命令、各種の論理回路(演算器)の接続関係を示す情報、各種の論理回路(演算器)の処理順序を指定する情報等が含まれる。   The configuration information pool 11 stores configuration information of a plurality of applications executed by the first reconfigurable hardware 3. The configuration information includes calculation instructions, information indicating connection relations between various logic circuits (arithmetic units) created according to the configuration and functions of the first reconfigurable hardware 3, and various logical circuits (arithmetic units). ) Includes information specifying the processing order.

初期データプール12には、第1の再構成可能ハードウェア3で実行するアプリケーション毎の処理対象のデータや処理で必要な固定データ等(以下、これらのデータを、まとめて「初期データ」と称す)がそれぞれ格納される。   In the initial data pool 12, data to be processed for each application executed by the first reconfigurable hardware 3 and fixed data necessary for the processing (hereinafter, these data are collectively referred to as “initial data”). ) Are stored respectively.

記憶部管理部13は、記憶部要求表131及び記憶部状況表132を備えている。   The storage unit management unit 13 includes a storage unit request table 131 and a storage unit status table 132.

記憶部要求表131は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、第1の再構成可能ハードウェア3が備える処理データ記憶部33の記憶領域331〜33nを示す情報が格納される。 The storage unit request table 131 includes information indicating storage areas 33 1 to 33 n of the processing data storage unit 33 included in the first reconfigurable hardware 3 that is used to hold initial data of the application when the application is executed. Stored.

記憶部状況表132は、第1の再構成可能ハードウェア3の処理データ記憶部33を現在使用している、アプリケーションを示す情報が格納される。   The storage unit status table 132 stores information indicating an application that is currently using the processing data storage unit 33 of the first reconfigurable hardware 3.

管理部2は、外部から送信されるアプリケーションの実行要求にしたがって、管理データ記憶部1から該アプリケーションの構成情報及び初期データを読み出し、構成情報を第1の再構成可能ハードウェア3の構成情報記憶部34へ書き込み、初期データを処理データ記憶部33へ書き込む。管理部2は、第1の再構成可能ハードウェア3に対する構成情報及び初期データの書き込みが終了すると、該書き込まれた構成情報にしたがって第1の再構成可能ハードウェア3に処理(アプリケーション)を実行させる。   The management unit 2 reads the configuration information and initial data of the application from the management data storage unit 1 according to the application execution request transmitted from the outside, and stores the configuration information of the first reconfigurable hardware 3 The initial data is written to the processing data storage unit 33. When the writing of the configuration information and the initial data to the first reconfigurable hardware 3 is completed, the management unit 2 executes a process (application) on the first reconfigurable hardware 3 according to the written configuration information. Let

管理部2は、初期データを第1の再構成可能ハードウェア3へ書き込むとき、記憶部要求表131及び記憶部状況表132を参照し、次に実行するアプリケーションの初期データのうち、書き込みが必要な初期データのみを処理データ記憶部33へ書き込む。   When writing the initial data to the first reconfigurable hardware 3, the management unit 2 refers to the storage unit request table 131 and the storage unit status table 132 and needs to be written out of the initial data of the application to be executed next. Only initial data is written into the processing data storage unit 33.

すなわち、記憶部要求表131と記憶部状況表132とを比較し、実行要求されたアプリケーションの初期データが処理データ記憶部33に無い場合は該初期データを処理データ記憶部33へ書き込む。その場合、書き込み後の処理データ記憶部33の状態に応じて記憶部状況表132を更新する。また、実行要求されたアプリケーションの初期データが処理データ記憶部33に既に存在している場合は、該初期データの処理データ記憶部33に対する書き込みを省略する。   That is, the storage unit request table 131 and the storage unit status table 132 are compared, and if the initial data of the requested application is not stored in the processing data storage unit 33, the initial data is written in the processing data storage unit 33. In this case, the storage unit status table 132 is updated according to the state of the processing data storage unit 33 after writing. If the initial data of the application requested to be executed already exists in the processing data storage unit 33, the writing of the initial data to the processing data storage unit 33 is omitted.

本実施形態のメモリデバイス管理装置は、以上の処理をアプリケーションの実行要求毎に実施する。   The memory device management apparatus according to the present embodiment performs the above processing for each application execution request.

なお、図1に示す管理部2は、プログラムにしたがって処理を実行するCPUやMPUで実現できる。第1の再構成可能ハードウェア3は、演算部31、制御部32処理データ記憶部33及び構成情報記憶部34を独立して備える必要はなく、任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部位で構成されていてもよい。例えば、演算部31と制御部32とは一体構成であってもよく、構成情報記憶部34が演算部31及び制御部32内に分散して配置されていてもよい。   The management unit 2 shown in FIG. 1 can be realized by a CPU or MPU that executes processing according to a program. The first reconfigurable hardware 3 does not need to include the calculation unit 31, the control unit 32, the processing data storage unit 33, and the configuration information storage unit 34 independently, and arbitrary components are included in other components. The arbitrary component may be comprised by the some site | part. For example, the calculation unit 31 and the control unit 32 may be integrated, or the configuration information storage unit 34 may be distributed and arranged in the calculation unit 31 and the control unit 32.

管理データ記憶部1は、書き換え可能な記憶装置であればよく、例えば半導体記憶装置やハードディスク装置等で実現できる。   The management data storage unit 1 may be a rewritable storage device, and can be realized by, for example, a semiconductor storage device or a hard disk device.

以上の各構成要素に対する要件は、本実施形態だけでなく、以下に記載する第2の実施の形態〜第6の実施の形態にも適用する。   The above requirements for each component apply not only to the present embodiment, but also to the second to sixth embodiments described below.

本実施形態によれば、構成情報を用いて初期データを再構成デバイス内に読み込むための回路を作成する必要がないため、再構成デバイスにアプリケーション以外の処理を実行させる必要がなくなる。   According to the present embodiment, it is not necessary to create a circuit for reading initial data into the reconfigurable device using the configuration information, so that it is not necessary for the reconfigurable device to execute processing other than the application.

また、実行要求されたアプリケーションの初期データが処理データ記憶部33に無い場合にのみ、該初期データを処理データ記憶部33へ書き込み、所要の初期データが処理データ記憶部33に既に書き込まれている場合や使用しない処理データ記憶部33には初期データを書き込まないため、特に複数のアプリケーションを切り換えつつ繰り返し実行する場合に初期データの書き込み時間が短縮する。そのため、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。   Further, only when the initial data of the requested application is not stored in the processing data storage unit 33, the initial data is written into the processing data storage unit 33, and the required initial data is already written in the processing data storage unit 33. Since initial data is not written to the processing data storage unit 33 that is not used or used, the initial data writing time is shortened particularly when a plurality of applications are repeatedly executed while being switched. Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased.

したがって、本実施形態のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。
(第2の実施の形態)
図2は第2の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。
Therefore, the processing performance (throughput) of the reconfigurable device is improved by using the memory device management apparatus of this embodiment.
(Second Embodiment)
FIG. 2 is a block diagram illustrating a configuration of the memory device management apparatus according to the second embodiment.

図2に示すように、第2の実施の形態のメモリデバイス管理装置は、管理データ記憶部1及び管理部2を有する構成である。   As shown in FIG. 2, the memory device management apparatus according to the second embodiment has a configuration including a management data storage unit 1 and a management unit 2.

第2の実施の形態のメモリデバイス管理装置は、1つまたは複数の構成情報から成る、予め決められた数のオブジェクトコードを保持できる再構成デバイスである第2の再構成可能ハードウェア4を管理する。第2の再構成可能ハードウェア4としては、例えばオブジェクトコードを複数保持し、処理していないときに該オブジェクトコードの切り換えが可能な、上記理論上実現可能なFPGAが考えられる。   The memory device management apparatus according to the second embodiment manages the second reconfigurable hardware 4 which is a reconfigurable device that can hold a predetermined number of object codes composed of one or a plurality of pieces of configuration information. To do. As the second reconfigurable hardware 4, for example, the above-mentioned theoretically feasible FPGA that can hold a plurality of object codes and can switch the object codes when not being processed can be considered.

第2の再構成可能ハードウェア4は、演算を実行する演算部42と、演算部42の動作を制御する制御部41と、演算部42及び制御部41による処理対象のデータや処理で必要なデータを保持する処理データ記憶部43と、構成情報を保持する構成情報記憶部44とを有する構成である。処理データ記憶部43は、管理単位となる複数の記憶領域431〜43nに分割可能である。 The second reconfigurable hardware 4 is necessary for the calculation unit 42 that executes the calculation, the control unit 41 that controls the operation of the calculation unit 42, and the data and processing to be processed by the calculation unit 42 and the control unit 41. The configuration includes a processing data storage unit 43 that holds data and a configuration information storage unit 44 that holds configuration information. The processing data storage unit 43 can be divided into a plurality of storage areas 43 1 to 43 n serving as management units.

本実施形態の管理データ記憶部1は、構成情報プール11、初期データプール12、記憶部管理部13及び構成状況表14を備えている。   The management data storage unit 1 of this embodiment includes a configuration information pool 11, an initial data pool 12, a storage unit management unit 13, and a configuration status table 14.

第2の実施の形態のメモリデバイス管理装置は、上述したように第2の再構成可能ハードウェア4の構成情報記憶部44が複数のオブジェクトコードを保持できるため、構成情報記憶部44で保持している構成情報も管理対象とする。そのため、第2の実施の形態のメモリデバイス管理装置は、第2の再構成可能ハードウェア4の構成情報記憶部44で保持している構成情報を管理するための構成状況表14を管理データ記憶部1に備えている点で第1の実施の形態のメモリデバイス管理装置と異なっている。   In the memory device management apparatus according to the second embodiment, since the configuration information storage unit 44 of the second reconfigurable hardware 4 can hold a plurality of object codes as described above, the configuration information storage unit 44 holds it. The configuration information is also managed. Therefore, the memory device management apparatus of the second embodiment stores the configuration status table 14 for managing the configuration information held in the configuration information storage unit 44 of the second reconfigurable hardware 4 as management data. It differs from the memory device management apparatus of the first embodiment in that it is provided in the unit 1.

構成情報プール11には、第2の再構成可能ハードウェア4で実行する複数のアプリケーションのオブジェクトコードが格納される。オブジェクトコードの各構成情報には、第2の再構成可能ハードウェア4の構成や機能に応じて作成された、演算命令、各種の論理回路(演算器)の接続関係を示す情報、各種の論理回路(演算器)の処理順序を指定する情報等が含まれる。   The configuration information pool 11 stores object codes of a plurality of applications that are executed by the second reconfigurable hardware 4. The configuration information of the object code includes calculation instructions, information indicating connection relationships between various logic circuits (arithmetic units) created according to the configuration and functions of the second reconfigurable hardware 4, and various logics. Information specifying the processing order of the circuit (arithmetic unit) is included.

初期データプール12には、第2の再構成可能ハードウェア4で実行するアプリケーション毎の初期データがそれぞれ格納される。   The initial data pool 12 stores initial data for each application executed by the second reconfigurable hardware 4.

記憶部管理部13は、記憶部要求表131及び記憶部状況表132を備えている。   The storage unit management unit 13 includes a storage unit request table 131 and a storage unit status table 132.

記憶部要求表131は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、第2の再構成可能ハードウェア4の処理データ記憶部43の記憶領域431〜43nを示す情報が格納される。 The storage unit request table 131 stores information indicating the storage areas 43 1 to 43 n of the processing data storage unit 43 of the second reconfigurable hardware 4 used for holding the initial data of the application when the application is executed. Is done.

記憶部状況表132は、第2の再構成可能ハードウェア4の処理データ記憶部43を現在使用している、アプリケーションを示す情報が格納される。   The storage unit status table 132 stores information indicating an application that is currently using the processing data storage unit 43 of the second reconfigurable hardware 4.

構成状況表14は、第2の再構成可能ハードウェア4の構成情報記憶部44で現在保持している構成情報を識別するための情報が格納される。   The configuration status table 14 stores information for identifying configuration information currently held in the configuration information storage unit 44 of the second reconfigurable hardware 4.

管理部2は、外部から送信されるアプリケーションの実行要求にしたがって、管理データ記憶部1から該アプリケーションの構成情報及び初期データを読み出し、構成情報を第2の再構成可能ハードウェア4の構成情報記憶部44へ書き込み、初期データを処理データ記憶部43へ書き込む。管理部2は、第2の再構成可能ハードウェア4に対する構成情報及び初期データの書き込みが終了すると、該書き込まれた構成情報にしたがって第2の再構成可能ハードウェア4に処理(アプリケーション)を実行させる。   The management unit 2 reads the configuration information and initial data of the application from the management data storage unit 1 in accordance with the application execution request transmitted from the outside, and stores the configuration information of the second reconfigurable hardware 4 Write to the unit 44, and write initial data to the processing data storage unit 43. When the writing of the configuration information and the initial data to the second reconfigurable hardware 4 is completed, the management unit 2 executes processing (application) on the second reconfigurable hardware 4 according to the written configuration information. Let

本実施形態の管理部2は、任意のアプリケーションを実行中、次に実行する他のアプリケーションの実行要求を受信した場合、構成状況表14を参照して、次に実行するアプリケーションの構成情報が構成情報記憶部44に既に書き込まれているか否かを確認する。次に実行するアプリケーションの構成情報が構成情報記憶部44に無い場合は、現在実行中のアプリケーションの構成情報を上書きしないよう、構成情報記憶部44の空いている記憶領域に構成情報プール11から読み出した次に実行するアプリケーションの構成情報を書き込む。   When the management unit 2 according to the present embodiment receives an execution request for another application to be executed next while executing an arbitrary application, the configuration information of the application to be executed next is configured with reference to the configuration status table 14 It is confirmed whether or not the information is already written in the information storage unit 44. When there is no configuration information of the application to be executed next in the configuration information storage unit 44, the configuration information of the application currently being executed is read from the configuration information pool 11 to a vacant storage area so as not to overwrite the configuration information. The configuration information of the application to be executed next is written.

また、管理部2は、記憶部要求表131及び記憶部状況表132を参照し、次に実行するアプリケーションの初期データのうち、書き込みが必要な初期データのみを処理データ記憶部43へ書き込む。   In addition, the management unit 2 refers to the storage unit request table 131 and the storage unit status table 132 and writes only the initial data that needs to be written to the processing data storage unit 43 among the initial data of the application to be executed next.

すなわち、記憶部要求表131と記憶部状況表132とを比較し、次に実行するアプリケーションの初期データが処理データ記憶部43に無い場合は該初期データを処理データ記憶部43へ書き込む。その場合、書き込み後の処理データ記憶部43の状態に応じて記憶部状況表132を更新する。また、次に実行するアプリケーションの初期データが処理データ記憶部43に既に存在している場合は、該処理データの処理データ記憶部43に対する書き込みを省略する。なお、管理部2は、次に実行するアプリケーションの初期データを処理データ記憶部43に書き込む際、記憶部状況表132を参照し、現在実行中のアプリケーションで使用している処理データ記憶部43の記憶領域431〜43nについては、該アプリケーションの処理が終了した後に書き込むことで上書きしないようにする。 That is, the storage unit request table 131 and the storage unit status table 132 are compared, and if the initial data of the application to be executed next is not in the processing data storage unit 43, the initial data is written in the processing data storage unit 43. In this case, the storage unit status table 132 is updated according to the state of the processing data storage unit 43 after writing. If the initial data of the application to be executed next already exists in the processing data storage unit 43, the writing of the processing data to the processing data storage unit 43 is omitted. The management unit 2 refers to the storage unit status table 132 when writing the initial data of the application to be executed next to the processing data storage unit 43, and stores the processing data storage unit 43 used in the currently executing application. The storage areas 43 1 to 43 n are not overwritten by writing after the processing of the application is completed.

本実施形態のメモリデバイス管理装置は、以上の処理をアプリケーションの実行要求毎に実施する。   The memory device management apparatus according to the present embodiment performs the above processing for each application execution request.

本実施形態によれば、第2の再構成可能ハードウェア4が備える構成情報記憶部44のうち、現在実行中のアプリケーションで使用していない記憶領域に対して、次に実行するアプリケーションの構成情報を先行して書き込むため、アプリケーションの切り替え時に、構成情報の書き換えに要する時間が不要になる。そのため、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施形態のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。
(第3の実施の形態)
図3は第3の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。
According to the present embodiment, the configuration information of the application to be executed next to the storage area that is not used by the currently executing application in the configuration information storage unit 44 included in the second reconfigurable hardware 4. Therefore, the time required for rewriting configuration information is not required when switching applications. Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, the processing performance (throughput) of the reconfigurable device is improved by using the memory device management apparatus of this embodiment.
(Third embodiment)
FIG. 3 is a block diagram illustrating a configuration of the memory device management apparatus according to the third embodiment.

図3に示すように、第3の実施の形態のメモリデバイス管理装置は、管理データ記憶部1及び管理部2を有する構成である。   As illustrated in FIG. 3, the memory device management apparatus according to the third embodiment has a configuration including a management data storage unit 1 and a management unit 2.

第3の実施の形態のメモリデバイス管理装置は、記憶容量の範囲内で、1つまたは複数の構成情報から成る、任意の数のオブジェクトコードを保持できる再構成デバイスである第3の再構成可能ハードウェア5を管理する。第3の再構成可能ハードウェア5としては、保持するオブジェクトコードを入れ替えることで各種の処理を実行できる、例えば上記DRPがある。   The memory device management apparatus according to the third embodiment is a reconfigurable device that is a reconfigurable device that can hold an arbitrary number of object codes composed of one or a plurality of pieces of configuration information within a storage capacity. The hardware 5 is managed. As the third reconfigurable hardware 5, for example, there is the DRP described above, which can execute various processes by exchanging the object code to be held.

第3の再構成可能ハードウェア5は、演算を実行する演算部52と、演算部52の動作を制御する制御部51と、演算部52及び制御部51による処理対象のデータや処理で必要なデータを保持する処理データ記憶部53と、構成情報を保持する構成情報記憶部54とを有する構成である。処理データ記憶部53は、管理単位となる複数の記憶領域531〜53nに分割可能である。 The third reconfigurable hardware 5 is necessary for the calculation unit 52 that executes the calculation, the control unit 51 that controls the operation of the calculation unit 52, and the data and processing to be processed by the calculation unit 52 and the control unit 51. The configuration includes a processing data storage unit 53 that holds data and a configuration information storage unit 54 that holds configuration information. The processing data storage unit 53 can be divided into a plurality of storage areas 53 1 to 53 n serving as management units.

本実施形態の管理データ記憶部1は、第2の実施の形態と同様に、構成情報プール11、初期データプール12、記憶部管理部13及び構成状況表14を備えている。   As in the second embodiment, the management data storage unit 1 of the present embodiment includes a configuration information pool 11, an initial data pool 12, a storage unit management unit 13, and a configuration status table 14.

第3の実施の形態のメモリデバイス管理装置は、第3の再構成可能ハードウェア5の構成情報記憶部54が複数のオブジェクトコードを保持できるため、構成情報記憶部54で保持している構成情報も管理対象とする。そのため、第3の実施の形態のメモリデバイス管理装置は、第3の再構成可能ハードウェア5の構成情報記憶部54で保持している構成情報を管理するための構成状況表14を管理データ記憶部1に備えている。但し、第3の再構成可能ハードウェア5の構成情報記憶部54は、オブジェクトコードを保持する記憶容量が可変である点で第2の実施の形態で示した第3の再構成可能ハードウェア4と異なっている。   In the memory device management apparatus according to the third embodiment, since the configuration information storage unit 54 of the third reconfigurable hardware 5 can hold a plurality of object codes, the configuration information held in the configuration information storage unit 54 Are also subject to management. Therefore, the memory device management apparatus according to the third embodiment stores the configuration status table 14 for managing configuration information held in the configuration information storage unit 54 of the third reconfigurable hardware 5 as management data. Part 1 is provided. However, the configuration information storage unit 54 of the third reconfigurable hardware 5 has the third reconfigurable hardware 4 shown in the second embodiment in that the storage capacity for holding the object code is variable. Is different.

構成情報プール11には第3の再構成可能ハードウェア5で実行する複数のアプリケーションのオブジェクトコードが格納される。オブジェクトコードの各構成情報には、第3の再構成可能ハードウェア5の構成や機能に応じて作成された、演算命令、各種の論理回路(演算器)の接続関係を示す情報、各種の論理回路(演算器)の処理順序を指定する情報等が含まれる。   The configuration information pool 11 stores object codes of a plurality of applications executed by the third reconfigurable hardware 5. Each piece of configuration information of the object code includes calculation instructions, information indicating connection relations between various logic circuits (calculators) created according to the configuration and functions of the third reconfigurable hardware 5, and various logics. Information specifying the processing order of the circuit (arithmetic unit) is included.

初期データプール12には、第3の再構成可能ハードウェア5で実行するアプリケーション毎の初期データがそれぞれ格納される。   The initial data pool 12 stores initial data for each application executed by the third reconfigurable hardware 5.

記憶部管理部13は、記憶部要求表131及び記憶部状況表132を備えている。   The storage unit management unit 13 includes a storage unit request table 131 and a storage unit status table 132.

記憶部要求表131は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、第3の再構成可能ハードウェア5の処理データ記憶部53の記憶領域を示す情報が格納される。   The storage unit request table 131 stores information indicating the storage area of the processing data storage unit 53 of the third reconfigurable hardware 5 that is used to hold the initial data of the application when the application is executed.

記憶部状況表132は、第3の再構成可能ハードウェア5の処理データ記憶部53を現在使用している、アプリケーションを示す情報が格納される。   The storage unit status table 132 stores information indicating an application that is currently using the processing data storage unit 53 of the third reconfigurable hardware 5.

構成状況表14は、第3の再構成可能ハードウェア5の構成情報記憶部44で現在保持している構成情報を識別するための情報が格納される。   The configuration status table 14 stores information for identifying configuration information currently held in the configuration information storage unit 44 of the third reconfigurable hardware 5.

管理部2は、外部から送信されるアプリケーションの実行要求にしたがって、管理データ記憶部1から該アプリケーションの構成情報及び初期データを読み出し、構成情報を第3の再構成可能ハードウェア5の構成情報記憶部54へ書き込み、初期データを処理データ記憶部53へ書き込む。管理部2は、第3の再構成可能ハードウェア5に対する構成情報及び初期データの書き込みが終了すると、該書き込まれた構成情報にしたがって第3の再構成可能ハードウェア5に処理(アプリケーション)を実行させる。   The management unit 2 reads the configuration information and initial data of the application from the management data storage unit 1 in accordance with an application execution request transmitted from the outside, and stores the configuration information of the third reconfigurable hardware 5 The initial data is written to the processing data storage unit 53. When the writing of the configuration information and initial data to the third reconfigurable hardware 5 is completed, the management unit 2 executes processing (application) on the third reconfigurable hardware 5 according to the written configuration information. Let

本実施形態の管理部2は、任意のアプリケーションを実行中に、次に実行する他のアプリケーションの実行要求を受信した場合、構成状況表14を参照して、次に実行するアプリケーションの構成情報が構成情報記憶部54に既に書き込まれているか否かを確認する。次に実行するアプリケーションの構成情報が構成情報記憶部54に無い場合は、現在実行中のアプリケーションに対応する構成情報を上書きしないよう、構成情報記憶部54の空いている記憶領域に構成情報プール11から読み出した次に実行するアプリケーションの構成情報を書き込む。   When the management unit 2 according to the present embodiment receives an execution request for another application to be executed next while executing an arbitrary application, the configuration information of the application to be executed next is obtained by referring to the configuration status table 14. It is confirmed whether or not it has already been written in the configuration information storage unit 54. If there is no configuration information of the application to be executed next in the configuration information storage unit 54, the configuration information pool 11 is stored in an empty storage area of the configuration information storage unit 54 so as not to overwrite the configuration information corresponding to the currently executing application. The configuration information of the application to be executed next read out from is written.

このとき、管理部2は、構成状況表14を参照し、次に実行するアプリケーションのオブジェクトコードで必要な記憶容量が大きく、構成情報記憶部54の空いている記憶領域に全ての構成情報を書き込むことができない場合は、現在実行中のアプリケーションの処理が終了した後に残りの構成情報を書き込む。   At this time, the management unit 2 refers to the configuration status table 14 and has a large storage capacity necessary for the object code of the application to be executed next, and writes all the configuration information in a free storage area of the configuration information storage unit 54. If this is not possible, the remaining configuration information is written after processing of the currently executing application is completed.

また、管理部2は、記憶部要求表131及び記憶部状況表132を参照し、次に実行するアプリケーションの初期データのうち、書き込みが必要な初期データのみを処理データ記憶部53へ書き込む。すなわち、記憶部要求表131と記憶部状況表132とを比較し、次に実行するアプリケーションの初期データが処理データ記憶部53に無い場合は該初期データを処理データ記憶部53へ書き込む。その場合、書き込み後の処理データ記憶部53の状態に応じて記憶部状況表132を更新する。また、次に実行するアプリケーションの初期データが処理データ記憶部53に既に存在している場合は、該処理データの処理データ記憶部53に対する書き込みを省略する。このとき、管理部2は、記憶部状況表132を参照し、現在実行中のアプリケーションで使用している処理データ記憶部53の記憶領域531〜53nについては、該アプリケーションの処理が終了した後に書き込むことで、上書きしないようにする。 Also, the management unit 2 refers to the storage unit request table 131 and the storage unit status table 132 and writes only the initial data that needs to be written to the processing data storage unit 53 among the initial data of the application to be executed next. That is, the storage unit request table 131 and the storage unit status table 132 are compared, and if the initial data of the application to be executed next is not in the processing data storage unit 53, the initial data is written in the processing data storage unit 53. In this case, the storage unit status table 132 is updated according to the state of the processing data storage unit 53 after writing. If the initial data of the application to be executed next already exists in the processing data storage unit 53, the writing of the processing data to the processing data storage unit 53 is omitted. At this time, the management unit 2 refers to the storage unit status table 132, and the processing of the application has been completed for the storage areas 53 1 to 53 n of the processing data storage unit 53 used by the currently executing application. Do not overwrite by writing later.

本実施形態のメモリデバイス管理装置は、以上の処理をアプリケーションの実行要求毎に実施する。   The memory device management apparatus according to the present embodiment performs the above processing for each application execution request.

本実施形態によれば、第3の再構成可能ハードウェア5が備える構成情報記憶部54の記憶領域のうち、現在実行中のアプリケーションで使用していない記憶領域に対して、次に実行するアプリケーションの構成情報を、空き記憶領域に応じて先行して書き込むため、アプリケーションの切り替え時に、構成情報の書き換えに要する時間が短縮する。そのため、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施形態のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。
(第4の実施の形態)
図4は第4の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。
According to the present embodiment, the next application to be executed on a storage area that is not used by the currently executing application among the storage areas of the configuration information storage unit 54 included in the third reconfigurable hardware 5 Since the configuration information is written in advance according to the free storage area, the time required for rewriting the configuration information is shortened when the application is switched. Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, the processing performance (throughput) of the reconfigurable device is improved by using the memory device management apparatus of this embodiment.
(Fourth embodiment)
FIG. 4 is a block diagram showing a configuration of the memory device management apparatus according to the fourth embodiment.

図4に示すように、第4の実施の形態のメモリデバイス管理装置は、管理データ記憶部1及び管理部2を有する構成である。   As shown in FIG. 4, the memory device management apparatus according to the fourth embodiment has a configuration including a management data storage unit 1 and a management unit 2.

第4の実施の形態のメモリデバイス管理装置は、第1の実施の形態と同様に第1の再構成可能ハードウェア3を管理する。第1の再構成可能ハードウェア3の構成は、第1の実施の形態と同様であるため、ここではその説明を省略する。   The memory device management apparatus according to the fourth embodiment manages the first reconfigurable hardware 3 as in the first embodiment. Since the configuration of the first reconfigurable hardware 3 is the same as that of the first embodiment, the description thereof is omitted here.

本実施形態の管理データ記憶部1は、構成情報プール11、初期データプール12、記憶部管理部13、中間データプール15及び中間データ管理表16を備えている。   The management data storage unit 1 of this embodiment includes a configuration information pool 11, an initial data pool 12, a storage management unit 13, an intermediate data pool 15, and an intermediate data management table 16.

構成情報プール11には、第1の再構成可能ハードウェア3で実行する複数のアプリケーションに対応する構成情報が格納される。構成情報は、第1の再構成可能ハードウェア3の構成や機能に応じて作成された、演算命令、各論理回路(演算器)の接続関係を示す情報、各論理回路(演算器)の処理順序を指定する情報等が含まれる。   The configuration information pool 11 stores configuration information corresponding to a plurality of applications executed by the first reconfigurable hardware 3. The configuration information includes calculation instructions, information indicating connection relations between the logic circuits (arithmetic units) created according to the configuration and functions of the first reconfigurable hardware 3, and processing of the logical circuits (calculation units). Information specifying the order is included.

初期データプール12には、第1の再構成可能ハードウェア3で実行するアプリケーション毎の初期データがそれぞれ格納される。   The initial data pool 12 stores initial data for each application executed by the first reconfigurable hardware 3.

記憶部管理部13は、記憶部要求表131及び記憶部状況表132を備えている。   The storage unit management unit 13 includes a storage unit request table 131 and a storage unit status table 132.

記憶部要求表131は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、第1の再構成可能ハードウェア3の処理データ記憶部33の記憶領域を示す情報が格納される。また、記憶部要求表131には、後述する中間データとして退避や再書き込みが必要であるか否かを示す情報も格納される。   The storage unit request table 131 stores information indicating the storage area of the processing data storage unit 33 of the first reconfigurable hardware 3 that is used to hold the initial data of the application when the application is executed. The storage unit request table 131 also stores information indicating whether saving or rewriting is necessary as intermediate data described later.

記憶部状況表132は、第1の再構成可能ハードウェア3の処理データ記憶部33を現在使用している、アプリケーションを示す情報が格納される。   The storage unit status table 132 stores information indicating an application that is currently using the processing data storage unit 33 of the first reconfigurable hardware 3.

中間データプール15は、第1の再構成可能ハードウェア3で実行する、任意のアプリケーションによる処理途中のデータ(中間データ)が格納される。   The intermediate data pool 15 stores data (intermediate data) being processed by an arbitrary application and executed by the first reconfigurable hardware 3.

中間データ管理表16は、中間データが格納された中間データプール15の記憶領域を示す情報が格納される。   The intermediate data management table 16 stores information indicating the storage area of the intermediate data pool 15 in which the intermediate data is stored.

管理部2は、外部から送信されるアプリケーションの実行要求にしたがって、管理データ記憶部1から該アプリケーションの構成情報及び初期データを読み出し、構成情報を第1の再構成可能ハードウェア3の構成情報記憶部34へ書き込み、初期データを処理データ記憶部33へ書き込む。管理部2は、第1の再構成可能ハードウェア3に対する構成情報及び初期データの書き込みが終了すると、該書き込まれた構成情報にしたがって第1の再構成可能ハードウェア3に処理(アプリケーション)を実行させる。   The management unit 2 reads the configuration information and initial data of the application from the management data storage unit 1 according to the application execution request transmitted from the outside, and stores the configuration information of the first reconfigurable hardware 3 The initial data is written to the processing data storage unit 33. When the writing of the configuration information and the initial data to the first reconfigurable hardware 3 is completed, the management unit 2 executes a process (application) on the first reconfigurable hardware 3 according to the written configuration information. Let

また、本実施形態の管理部2は、初期データを第1の再構成可能ハードウェア3へ書き込むとき、記憶部要求表131及び記憶部状況表132を参照し、次に実行するアプリケーションの初期データのうち、書き込みが必要な初期データのみを処理データ記憶部33へ書き込む。すなわち、記憶部要求表131と記憶部状況表132とを比較し、実行要求されたアプリケーションの初期データが処理データ記憶部33に無い場合は該初期データを処理データ記憶部33へ書き込む。その場合、書き込み後の処理データ記憶部33の状態に応じて記憶部状況表132を更新する。また、実行要求されたアプリケーションの初期データが処理データ記憶部33に既に存在している場合は、該初期データの処理データ記憶部33に対する書き込みを省略する。   In addition, when the management unit 2 of the present embodiment writes initial data to the first reconfigurable hardware 3, the management unit 2 refers to the storage unit request table 131 and the storage unit status table 132, and the initial data of the application to be executed next Of these, only the initial data that needs to be written is written into the processing data storage unit 33. That is, the storage unit request table 131 and the storage unit status table 132 are compared, and if the initial data of the requested application is not stored in the processing data storage unit 33, the initial data is written in the processing data storage unit 33. In this case, the storage unit status table 132 is updated according to the state of the processing data storage unit 33 after writing. If the initial data of the application requested to be executed already exists in the processing data storage unit 33, the writing of the initial data to the processing data storage unit 33 is omitted.

また、本実施形態の管理部2は、次に実行するアプリケーションの初期データを第1の再構成可能ハードウェア3へ書き込むとき、記憶部要求表131を参照し、現在実行中のアプリケーションに関連して処理データ記憶部33で保持しているデータのうち、中間データとして保持するか否かを示す情報にしたがって、所要のデータを中間データとして中間データプール15へ退避させる。また、管理部2は、中間データプール15に中間データの存在を示す情報を中間データ管理表16へ書き込むことで中間データ管理表16を更新する。その後、次に実行するアプリケーションの初期データを初期データプール12から読み出し、該初期データを処理データ記憶部33へ書き込む。   In addition, when writing the initial data of the application to be executed next to the first reconfigurable hardware 3, the management unit 2 of the present embodiment refers to the storage unit request table 131 and relates to the application currently being executed. The required data is saved as intermediate data to the intermediate data pool 15 according to information indicating whether or not the data is held as intermediate data among the data held in the processing data storage unit 33. In addition, the management unit 2 updates the intermediate data management table 16 by writing information indicating the presence of intermediate data in the intermediate data pool 15 to the intermediate data management table 16. Thereafter, initial data of the application to be executed next is read from the initial data pool 12, and the initial data is written to the processing data storage unit 33.

さらに、本実施形態の管理部2は、次に実行するアプリケーションの初期データを第1の再構成可能ハードウェア3へ書き込むとき、中間データ管理表16を参照し、中間データプール15に必要な中間データがある場合は、中間データプール15から該中間データを読み出して処理データ記憶部33へ書き込む。   Furthermore, when the initial data of the application to be executed next is written to the first reconfigurable hardware 3, the management unit 2 according to the present embodiment refers to the intermediate data management table 16, and the intermediate data pool 15 requires intermediate data. If there is data, the intermediate data is read from the intermediate data pool 15 and written to the processing data storage unit 33.

本実施形態のメモリデバイス管理装置は、以上の処理をアプリケーションの実行要求毎に実施する。   The memory device management apparatus according to the present embodiment performs the above processing for each application execution request.

本実施形態によれば、第1の実施の形態と同様の効果に加えて、アプリケーションによる処理途中の中間データの保存要否も管理できるため、構成情報を用いて中間データの退避や中間データを読み込むための回路を作成する必要がなくなる。そのため、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施形態のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。
(第5の実施の形態)
図5は第5の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。
According to the present embodiment, in addition to the same effects as those of the first embodiment, it is possible to manage whether or not intermediate data needs to be saved during the processing by the application. There is no need to create a circuit for reading. Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, the processing performance (throughput) of the reconfigurable device is improved by using the memory device management apparatus of this embodiment.
(Fifth embodiment)
FIG. 5 is a block diagram showing the configuration of the memory device management apparatus according to the fifth embodiment.

図5に示すように、第5の実施の形態のメモリデバイス管理装置は、管理データ記憶部1及び管理部2を有する構成である。   As shown in FIG. 5, the memory device management apparatus according to the fifth embodiment has a configuration including a management data storage unit 1 and a management unit 2.

第5の実施の形態のメモリデバイス管理装置は、第2の実施の形態と同様に第2の再構成可能ハードウェア4を管理する。第2の再構成可能ハードウェア4の構成は、第2の実施の形態と同様であるため、ここではその説明を省略する。   The memory device management apparatus according to the fifth embodiment manages the second reconfigurable hardware 4 as in the second embodiment. Since the configuration of the second reconfigurable hardware 4 is the same as that of the second embodiment, the description thereof is omitted here.

本実施形態の管理データ記憶部1は、構成情報プール11、初期データプール12、記憶部管理部13、構成状況表14、中間データプール15及び中間データ管理表16を備えている。   The management data storage unit 1 of the present embodiment includes a configuration information pool 11, an initial data pool 12, a storage unit management unit 13, a configuration status table 14, an intermediate data pool 15, and an intermediate data management table 16.

構成情報プール11には、第2の再構成可能ハードウェア4で実行する複数のアプリケーションのオブジェクトコードが格納される。オブジェクトコードの各構成情報には、第2の再構成可能ハードウェア4の構成や機能に応じて作成された、演算命令、各種の論理回路(演算器)の接続関係を示す情報、各種の論理回路(演算器)の処理順序を指定する情報等が含まれる。   The configuration information pool 11 stores object codes of a plurality of applications that are executed by the second reconfigurable hardware 4. The configuration information of the object code includes calculation instructions, information indicating connection relationships between various logic circuits (arithmetic units) created according to the configuration and functions of the second reconfigurable hardware 4, and various logics. Information specifying the processing order of the circuit (arithmetic unit) is included.

初期データプール12には、第2の再構成可能ハードウェア4で実行するアプリケーション毎の初期データがそれぞれ格納される。   The initial data pool 12 stores initial data for each application executed by the second reconfigurable hardware 4.

記憶部管理部13は、記憶部要求表131及び記憶部状況表132を備えている。   The storage unit management unit 13 includes a storage unit request table 131 and a storage unit status table 132.

記憶部要求表131は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、第2の再構成可能ハードウェア3の処理データ記憶部43の記憶領域を示す情報が格納される。また、記憶部要求表131には、後述する中間データとして退避や再書き込みが必要であるか否かを示す情報も格納される。   The storage unit request table 131 stores information indicating the storage area of the processing data storage unit 43 of the second reconfigurable hardware 3 that is used to hold the initial data of the application when the application is executed. The storage unit request table 131 also stores information indicating whether saving or rewriting is necessary as intermediate data described later.

記憶部状況表132は、第2の再構成可能ハードウェア4の処理データ記憶部43を現在使用している、アプリケーションを示す情報が格納される。   The storage unit status table 132 stores information indicating an application that is currently using the processing data storage unit 43 of the second reconfigurable hardware 4.

構成状況表14は、第2の再構成可能ハードウェア4の構成情報記憶部44で現在保持している構成情報を識別するための情報が格納される。   The configuration status table 14 stores information for identifying configuration information currently held in the configuration information storage unit 44 of the second reconfigurable hardware 4.

中間データプール15は、第2の再構成可能ハードウェア4で実行する、任意のアプリケーションによる処理途中のデータ(中間データ)が格納される。   The intermediate data pool 15 stores data (intermediate data) being processed by an arbitrary application, which is executed by the second reconfigurable hardware 4.

中間データ管理表16は、中間データが格納された中間データプール15の記憶領域を示す情報が格納される。   The intermediate data management table 16 stores information indicating the storage area of the intermediate data pool 15 in which the intermediate data is stored.

管理部2は、外部から送信されるアプリケーションの実行要求にしたがって、管理データ記憶部1から該アプリケーションの構成情報及び初期データを読み出し、構成情報を第2の再構成可能ハードウェア4の構成情報記憶部44へ書き込み、初期データを処理データ記憶部43へ書き込む。管理部2は、第2の再構成可能ハードウェア4に対する構成情報及び初期データの書き込みが終了すると、該書き込まれた構成情報にしたがって第2の再構成可能ハードウェア4に処理(アプリケーション)を実行させる。   The management unit 2 reads the configuration information and initial data of the application from the management data storage unit 1 in accordance with the application execution request transmitted from the outside, and stores the configuration information of the second reconfigurable hardware 4 Write to the unit 44, and write initial data to the processing data storage unit 43. When the writing of the configuration information and the initial data to the second reconfigurable hardware 4 is completed, the management unit 2 executes processing (application) on the second reconfigurable hardware 4 according to the written configuration information. Let

また、管理部2は、任意のアプリケーションを実行中に、次に実行する他のアプリケーションの実行要求を受信した場合、構成状況表14を参照して、次に実行するアプリケーションの構成情報が構成情報記憶部44に既に書き込まれているか否かを確認する。次に実行するアプリケーションの構成情報が構成情報記憶部44に無い場合は、現在実行中のアプリケーションに対応する構成情報を上書きしないよう、構成情報記憶部44の空いている記憶領域に構成情報プール11から読み出した次に実行するアプリケーションの構成情報を書き込む。   When the management unit 2 receives an execution request for another application to be executed next while executing an arbitrary application, the management unit 2 refers to the configuration status table 14 and the configuration information of the application to be executed next is the configuration information. It is confirmed whether or not the data has already been written in the storage unit 44. If the configuration information storage unit 44 does not have the configuration information of the application to be executed next, the configuration information pool 11 is stored in an empty storage area of the configuration information storage unit 44 so as not to overwrite the configuration information corresponding to the currently executing application. The configuration information of the application to be executed next read out from is written.

また、管理部2は、記憶部要求表131及び記憶部状況表132を参照し、次に実行するアプリケーションの初期データのうち、書き込みが必要な初期データのみを処理データ記憶部43へ書き込む。すなわち、記憶部要求表131と記憶部状況表132とを比較し、次に実行するアプリケーションの初期データが処理データ記憶部43に無い場合は該初期データを処理データ記憶部43へ書き込む。その場合、書き込み後の処理データ記憶部43の状態に応じて記憶部状況表132を更新する。また、次に実行するアプリケーションの初期データが処理データ記憶部43に既に存在している場合は、該処理データの処理データ記憶部43に対する書き込みを省略する。なお、管理部2は、次に実行するアプリケーションの初期データを処理データ記憶部43に書き込む際、記憶部状況表132を参照し、現在実行中のアプリケーションで使用している処理データ記憶部の記憶領域431〜43nについては、該アプリケーションの処理が終了した後に書き込むことで、上書きしないようにする。 In addition, the management unit 2 refers to the storage unit request table 131 and the storage unit status table 132 and writes only the initial data that needs to be written to the processing data storage unit 43 among the initial data of the application to be executed next. That is, the storage unit request table 131 and the storage unit status table 132 are compared, and if the initial data of the application to be executed next is not in the processing data storage unit 43, the initial data is written in the processing data storage unit 43. In this case, the storage unit status table 132 is updated according to the state of the processing data storage unit 43 after writing. If the initial data of the application to be executed next already exists in the processing data storage unit 43, the writing of the processing data to the processing data storage unit 43 is omitted. When the management unit 2 writes initial data of the application to be executed next in the processing data storage unit 43, the management unit 2 refers to the storage unit status table 132 and stores the processing data storage unit used in the currently executing application. The areas 43 1 to 43 n are not overwritten by writing after the processing of the application is completed.

また、本実施形態の管理部2は、次に実行するアプリケーションの初期データを第2の再構成可能ハードウェア4へ書き込むとき、記憶部要求表131を参照し、現在実行中のアプリケーションに関連して処理データ記憶部43で保持しているデータのうち、中間データとして保持するか否かを示す情報にしたがって、所要のデータを中間データとして中間データプール15へ退避させる。また、管理部2は、中間データプール15に中間データの存在を示す情報を中間データ管理表16へ書き込むことで中間データ管理表16を更新する。その後、次に実行するアプリケーションの初期データを初期データプール12から読み出し、該初期データを処理データ記憶部43へ書き込む。   In addition, when writing the initial data of the application to be executed next to the second reconfigurable hardware 4, the management unit 2 of the present embodiment refers to the storage unit request table 131 and relates to the application currently being executed. The required data is saved as intermediate data to the intermediate data pool 15 in accordance with information indicating whether or not to hold as intermediate data among the data held in the processing data storage unit 43. In addition, the management unit 2 updates the intermediate data management table 16 by writing information indicating the presence of intermediate data in the intermediate data pool 15 to the intermediate data management table 16. Thereafter, initial data of the application to be executed next is read from the initial data pool 12 and the initial data is written to the processing data storage unit 43.

さらに、本実施形態の管理部2は、次に実行するアプリケーションの初期データを第2の再構成可能ハードウェア4へ書き込むとき、中間データ管理表16を参照し、中間データプール15に必要な中間データがある場合は、中間データプール15から該中間データを読み出して処理データ記憶部43へ書き込む。   Furthermore, the management unit 2 of the present embodiment refers to the intermediate data management table 16 when writing initial data of an application to be executed next to the second reconfigurable hardware 4, and requires intermediate data required for the intermediate data pool 15. If there is data, the intermediate data is read from the intermediate data pool 15 and written to the processing data storage unit 43.

本実施形態のメモリデバイス管理装置は、以上の処理をアプリケーションの実行要求毎に実施する。   The memory device management apparatus according to the present embodiment performs the above processing for each application execution request.

本実施形態によれば、第2の実施の形態と同様の効果に加えて、アプリケーションによる処理途中の中間データの保存要否も管理できるため、構成情報を用いて中間データの退避や中間データを読み込むための回路を作成する必要がなくなる。そのため、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施形態のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。
(第6の実施の形態)
図6は第6の実施の形態のメモリデバイス管理装置の構成を示すブロック図である。
According to the present embodiment, in addition to the same effects as those of the second embodiment, it is possible to manage whether or not intermediate data needs to be saved during processing by the application. Therefore, saving of intermediate data and intermediate data can be performed using configuration information. There is no need to create a circuit for reading. Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, the processing performance (throughput) of the reconfigurable device is improved by using the memory device management apparatus of this embodiment.
(Sixth embodiment)
FIG. 6 is a block diagram illustrating a configuration of a memory device management apparatus according to the sixth embodiment.

図6に示すように、第6の実施の形態のメモリデバイス管理装置は、管理データ記憶部1及び管理部2を有する構成である。   As shown in FIG. 6, the memory device management apparatus according to the sixth embodiment has a configuration including a management data storage unit 1 and a management unit 2.

第6の実施の形態のメモリデバイス管理装置は、第3の実施の形態と同様に第3の再構成可能ハードウェア5を管理する。第3の再構成可能ハードウェア5の構成は、第3の実施の形態と同様であるため、ここではその説明を省略する。   The memory device management apparatus according to the sixth embodiment manages the third reconfigurable hardware 5 as in the third embodiment. Since the configuration of the third reconfigurable hardware 5 is the same as that of the third embodiment, the description thereof is omitted here.

本実施形態の管理データ記憶部1は、構成情報プール11、初期データプール12、記憶部管理部13、構成状況表14、中間データプール15及び中間データ管理表16を備えている。   The management data storage unit 1 of the present embodiment includes a configuration information pool 11, an initial data pool 12, a storage unit management unit 13, a configuration status table 14, an intermediate data pool 15, and an intermediate data management table 16.

構成情報プール11には、第3の再構成可能ハードウェア5で実行する複数のアプリケーションのオブジェクトコードが格納される。オブジェクトコードの各構成情報には、第3の再構成可能ハードウェア5の構成や機能に応じて作成された、演算命令、各種の論理回路(演算器)の接続関係を示す情報、各種の論理回路(演算器)の処理順序を指定する情報等が含まれる。   The configuration information pool 11 stores object codes of a plurality of applications that are executed by the third reconfigurable hardware 5. Each piece of configuration information of the object code includes calculation instructions, information indicating connection relations between various logic circuits (calculators) created according to the configuration and functions of the third reconfigurable hardware 5, and various logics. Information specifying the processing order of the circuit (arithmetic unit) is included.

初期データプール12には、第3の再構成可能ハードウェア5で実行するアプリケーション毎の初期データがそれぞれ格納される。   The initial data pool 12 stores initial data for each application executed by the third reconfigurable hardware 5.

記憶部管理部13は、記憶部要求表131及び記憶部状況表132を備えている。   The storage unit management unit 13 includes a storage unit request table 131 and a storage unit status table 132.

記憶部要求表131は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、第3の再構成可能ハードウェア5の処理データ記憶部53の記憶領域を示す情報が格納される。また、記憶部要求表131には、後述する中間データとして退避や再書き込みが必要であるか否かを示す情報も格納される。   The storage unit request table 131 stores information indicating the storage area of the processing data storage unit 53 of the third reconfigurable hardware 5 that is used to hold the initial data of the application when the application is executed. The storage unit request table 131 also stores information indicating whether saving or rewriting is necessary as intermediate data described later.

記憶部状況表132は、第3の再構成可能ハードウェア5の処理データ記憶部53を現在使用している、アプリケーションを示す情報が格納される。   The storage unit status table 132 stores information indicating an application that is currently using the processing data storage unit 53 of the third reconfigurable hardware 5.

構成状況表14は、第3の再構成可能ハードウェア5の構成情報記憶部54で現在保持している構成情報を識別するための情報が格納される。   The configuration status table 14 stores information for identifying the configuration information currently held in the configuration information storage unit 54 of the third reconfigurable hardware 5.

中間データプール15は、第3の再構成可能ハードウェア5で実行する、任意のアプリケーションによる処理途中のデータ(中間データ)が格納される。   The intermediate data pool 15 stores data (intermediate data) being processed by an arbitrary application and executed by the third reconfigurable hardware 5.

中間データ管理表16は、中間データが格納された中間データプール15の記憶領域を示す情報が格納される。   The intermediate data management table 16 stores information indicating the storage area of the intermediate data pool 15 in which the intermediate data is stored.

管理部2は、外部から送信されるアプリケーションの実行要求にしたがって、管理データ記憶部1から該アプリケーションの構成情報及び初期データを読み出し、構成情報を第3の再構成可能ハードウェア5の構成情報記憶部54へ書き込み、初期データを処理データ記憶部53へ書き込む。管理部2は、第3の再構成可能ハードウェア5に対する構成情報及び初期データの書き込みが終了すると、該書き込まれた構成情報にしたがって第3の再構成可能ハードウェア5に処理(アプリケーション)を実行させる。   The management unit 2 reads the configuration information and initial data of the application from the management data storage unit 1 in accordance with an application execution request transmitted from the outside, and stores the configuration information of the third reconfigurable hardware 5 The initial data is written to the processing data storage unit 53. When the writing of the configuration information and initial data to the third reconfigurable hardware 5 is completed, the management unit 2 executes processing (application) on the third reconfigurable hardware 5 according to the written configuration information. Let

本実施形態の管理部2は、任意のアプリケーションを実行中に、次に実行する他のアプリケーションの実行要求を受信した場合、構成状況表14を参照して、次に実行するアプリケーションの構成情報が構成情報記憶部54に既に書き込まれているか否かを確認する。次に実行するアプリケーションの構成情報が構成情報記憶部54に無い場合は、現在実行中のアプリケーションに対応する構成情報を上書きしないよう、構成情報記憶部54の空いている記憶領域に構成情報プール11から読み出した次に実行するアプリケーションの構成情報を書き込む。   When the management unit 2 according to the present embodiment receives an execution request for another application to be executed next while executing an arbitrary application, the configuration information of the application to be executed next is obtained by referring to the configuration status table 14. It is confirmed whether or not it has already been written in the configuration information storage unit 54. If there is no configuration information of the application to be executed next in the configuration information storage unit 54, the configuration information pool 11 is stored in an empty storage area of the configuration information storage unit 54 so as not to overwrite the configuration information corresponding to the currently executing application. The configuration information of the application to be executed next read out from is written.

このとき、管理部2は、構成状況表14を参照し、次に実行するアプリケーションのオブジェクトコードで必要な記憶容量が大きく、構成情報記憶部54の空いている記憶領域に全ての構成情報を書き込むことができない場合、残りの構成情報を現在実行中のアプリケーションの処理が終了した後に書き込む。   At this time, the management unit 2 refers to the configuration status table 14 and has a large storage capacity necessary for the object code of the application to be executed next, and writes all the configuration information in a free storage area of the configuration information storage unit 54. If this is not possible, the remaining configuration information is written after the processing of the currently executing application is completed.

また、管理部2は、記憶部要求表131及び記憶部状況表132を参照し、次に実行するアプリケーションの初期データのうち、書き込みが必要な初期データのみを処理データ記憶部53へ書き込む。すなわち、記憶部要求表131と記憶部状況表132とを比較し、次に実行するアプリケーションの初期データが処理データ記憶部53に無い場合は該初期データを処理データ記憶部53へ書き込む。その場合、書き込み後の処理データ記憶部53の状態に応じて記憶部状況表132を更新する。また、次に実行するアプリケーションの初期データが処理データ記憶部53に既に存在している場合は、該処理データの処理データ記憶部53に対する書き込みを省略する。このとき、管理部2は、記憶部状況表132を参照し、現在実行中のアプリケーションで使用している処理データ記憶部の記憶領域531〜53nについては、該アプリケーションの処理が終了した後に書き込むことで、上書きしないようにする。 Also, the management unit 2 refers to the storage unit request table 131 and the storage unit status table 132 and writes only the initial data that needs to be written to the processing data storage unit 53 among the initial data of the application to be executed next. That is, the storage unit request table 131 and the storage unit status table 132 are compared, and if the initial data of the application to be executed next is not in the processing data storage unit 53, the initial data is written in the processing data storage unit 53. In this case, the storage unit status table 132 is updated according to the state of the processing data storage unit 53 after writing. If the initial data of the application to be executed next already exists in the processing data storage unit 53, the writing of the processing data to the processing data storage unit 53 is omitted. At this time, the management unit 2 refers to the storage unit status table 132, and for the storage areas 53 1 to 53 n of the processing data storage unit used by the currently executing application, after the processing of the application is completed Do not overwrite by writing.

また、本実施形態の管理部2は、次に実行するアプリケーションの初期データを第3の再構成可能ハードウェア5へ書き込むとき、記憶部要求表131を参照し、現在実行中のアプリケーションに関連して処理データ記憶部53で保持しているデータのうち、中間データとして保持するか否かを示す情報にしたがって、所要のデータを中間データとして中間データプール15へ退避させる。また、管理部2は、中間データプール15に中間データの存在を示す情報を中間データ管理表16へ書き込むことで中間データ管理表16を更新する。その後、次に実行するアプリケーションの初期データを初期データプール12から読み出し、該初期データを処理データ記憶部53へ書き込む。   In addition, when writing the initial data of the application to be executed next to the third reconfigurable hardware 5, the management unit 2 of the present embodiment refers to the storage unit request table 131 and relates to the application currently being executed. The required data is saved as intermediate data to the intermediate data pool 15 in accordance with information indicating whether or not to hold as intermediate data among the data held in the processing data storage unit 53. In addition, the management unit 2 updates the intermediate data management table 16 by writing information indicating the presence of intermediate data in the intermediate data pool 15 to the intermediate data management table 16. Thereafter, initial data of the application to be executed next is read from the initial data pool 12, and the initial data is written in the processing data storage unit 53.

さらに、本実施形態の管理部2は、次に実行するアプリケーションの初期データを第3の再構成可能ハードウェア5へ書き込むとき、中間データ管理表16を参照し、中間データプール15に必要な中間データがある場合は、中間データプール15から該中間データを読み出して処理データ記憶部43へ書き込む。   Furthermore, the management unit 2 of the present embodiment refers to the intermediate data management table 16 when writing the initial data of the application to be executed next to the third reconfigurable hardware 5, and the intermediate data required for the intermediate data pool 15. If there is data, the intermediate data is read from the intermediate data pool 15 and written to the processing data storage unit 43.

本実施形態のメモリデバイス管理装置は、以上の処理をアプリケーションの実行要求毎に実施する。   The memory device management apparatus according to the present embodiment performs the above processing for each application execution request.

本実施形態によれば、第3の実施の形態と同様の効果に加えて、アプリケーションによる処理途中の中間データの保存要否も管理できるため、構成情報を用いて中間データの退避や中間データを読み込むための回路を作成する必要がなくなる。そのため、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施形態のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。   According to the present embodiment, in addition to the same effects as those of the third embodiment, it is possible to manage whether or not intermediate data is being saved during the processing by the application. There is no need to create a circuit for reading. Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, the processing performance (throughput) of the reconfigurable device is improved by using the memory device management apparatus of this embodiment.

次に本発明の実施例について図面を用いて説明する。
(第1実施例)
図7は第1実施例のメモリデバイス管理装置の構成を示すブロック図である。
Next, embodiments of the present invention will be described with reference to the drawings.
(First embodiment)
FIG. 7 is a block diagram showing the configuration of the memory device management apparatus of the first embodiment.

図7に示すように、第1実施例のメモリデバイス管理装置は、管理データ記憶部6及び管理部7を備えている。   As shown in FIG. 7, the memory device management apparatus according to the first embodiment includes a management data storage unit 6 and a management unit 7.

第1実施例は、上記特許文献1に記載されたFPGA8から成るデータ処理装置を、上述した第4の実施の形態のメモリデバイス管理装置で管理する例である。   The first example is an example in which the data processing apparatus including the FPGA 8 described in Patent Document 1 is managed by the memory device management apparatus according to the fourth embodiment described above.

FPGA8は、第1の実施の形態や第4の実施の形態で示した第1の再構成可能ハードウェア3に相当する。   The FPGA 8 corresponds to the first reconfigurable hardware 3 shown in the first embodiment or the fourth embodiment.

FPGA8は、アプリケーションの処理を実行するゲートアレイ81と、初期データや中間データを保持する周辺メモリ83とを備えている。周辺メモリ83は、管理単位となる複数の記憶領域831〜83nに分割可能である。 The FPGA 8 includes a gate array 81 that executes application processing and a peripheral memory 83 that holds initial data and intermediate data. The peripheral memory 83 can be divided into a plurality of storage areas 83 1 to 83 n serving as management units.

ゲートアレイ81は、LUT(ルックアップテーブル)、D−フリップフロップ、スイッチ等を備えたデータパス(チャネル)を有し、データパスの構成とその動作を指定する構成情報を保持することが可能である。   The gate array 81 has a data path (channel) including a LUT (look-up table), a D-flip-flop, a switch, and the like, and can hold configuration information specifying the configuration of the data path and its operation. is there.

ゲートアレイ81は、第1の実施の形態や第4の実施の形態で示した第1の再構成可能ハードウェア3の演算部32、制御部31及び構成情報記憶部34に相当し、周辺メモリ83は第1の再構成可能ハードウェア3の処理データ記憶部33に相当する。   The gate array 81 corresponds to the arithmetic unit 32, the control unit 31, and the configuration information storage unit 34 of the first reconfigurable hardware 3 shown in the first embodiment or the fourth embodiment, and is a peripheral memory. Reference numeral 83 corresponds to the processing data storage unit 33 of the first reconfigurable hardware 3.

管理データ記憶部6は、構成情報プール61、初期データプール62、周辺メモリ管理部63、構成状況レジスタ64、中間データプール65及び中間データ管理表66を備えている。構成情報プール61は、第4の実施の形態で示した管理データ記憶部1の構成情報プール11に相当し、初期データプール62は管理データ記憶部1の初期データプール12に相当する。周辺メモリ管理部63は管理データ記憶部1の記憶部管理部13に相当し、構成状況レジスタ64は管理データ記憶部1の構成状況表14に相当する。また、中間データプール65は管理データ記憶部1の中間データプール15に相当し、中間データ管理表66は管理データ記憶部1の中間データ管理表16に相当する。   The management data storage unit 6 includes a configuration information pool 61, an initial data pool 62, a peripheral memory management unit 63, a configuration status register 64, an intermediate data pool 65, and an intermediate data management table 66. The configuration information pool 61 corresponds to the configuration information pool 11 of the management data storage unit 1 described in the fourth embodiment, and the initial data pool 62 corresponds to the initial data pool 12 of the management data storage unit 1. The peripheral memory management unit 63 corresponds to the storage unit management unit 13 of the management data storage unit 1, and the configuration status register 64 corresponds to the configuration status table 14 of the management data storage unit 1. The intermediate data pool 65 corresponds to the intermediate data pool 15 of the management data storage unit 1, and the intermediate data management table 66 corresponds to the intermediate data management table 16 of the management data storage unit 1.

構成情報プール61には、FPGA8で実行する複数のアプリケーション毎の構成情報が格納される。   The configuration information pool 61 stores configuration information for each of a plurality of applications executed by the FPGA 8.

初期データプール62には、FPGA8で実行する複数のアプリケーション毎の初期データが格納される。   The initial data pool 62 stores initial data for each of a plurality of applications executed by the FPGA 8.

周辺メモリ管理部63は、周辺メモリ要求表631及び周辺メモリ状況表632を備えている。   The peripheral memory management unit 63 includes a peripheral memory request table 631 and a peripheral memory status table 632.

周辺メモリ要求表631は、アプリケーションの実行時に、該アプリケーションの初期データの保持に用いる、FPGA8の周辺メモリ83の記憶領域を示す情報が格納される。また、周辺メモリ要求表631には、後述する中間データとして退避や再書き込みが必要であるか否かを示す情報も格納される。   The peripheral memory request table 631 stores information indicating the storage area of the peripheral memory 83 of the FPGA 8 that is used to hold initial data of the application when the application is executed. The peripheral memory request table 631 also stores information indicating whether saving or rewriting is necessary as intermediate data described later.

周辺メモリ状況表632は、FPGA8の周辺メモリ83を現在使用している、アプリケーションを示す情報が格納される。   The peripheral memory status table 632 stores information indicating an application that is currently using the peripheral memory 83 of the FPGA 8.

構成状況表68は、FPGA8で現在保持している構成情報を識別するための情報が格納される。   The configuration status table 68 stores information for identifying configuration information currently held in the FPGA 8.

中間データプール65は、FPGA8で実行する、任意のアプリケーションによる処理途中のデータ(中間データ)が格納される。   The intermediate data pool 65 stores data (intermediate data) being processed by an arbitrary application executed by the FPGA 8.

中間データ管理表66は、中間データが格納された中間データプール65の記憶領域を示す情報が格納される。   The intermediate data management table 66 stores information indicating the storage area of the intermediate data pool 65 in which intermediate data is stored.

以下、FPGA8で3種類のアプリケーションA、B、Cを実行する場合を例にして、第1実施例のメモリデバイス管理装置の動作について説明する。   Hereinafter, the operation of the memory device management apparatus according to the first embodiment will be described by taking as an example the case where three types of applications A, B, and C are executed by the FPGA 8.

図8aは、管理データ記憶部6が備える構成情報プール61、初期データプール62、周辺メモリ管理部63、構成状況レジスタ64、中間データプール65及び中間データ管理表66に格納された情報を示している。   FIG. 8 a shows information stored in the configuration information pool 61, the initial data pool 62, the peripheral memory management unit 63, the configuration status register 64, the intermediate data pool 65, and the intermediate data management table 66 included in the management data storage unit 6. Yes.

図8aに示す例では、構成情報プール61に、アプリケーションA、B、Cに対応する構成情報が格納され、初期データプール62には、アプリケーションAに対応して周辺メモリ83の5つの記憶領域(5ブロック)に相当する初期データが格納され、アプリケーションBに対応して周辺メモリ83の4つの記憶領域(4ブロック)に相当する初期データが格納され、アプリケーションCに対応して周辺メモリ83の4つの記憶領域(4ブロック)に相当する初期データが格納されている。   In the example shown in FIG. 8A, the configuration information pool 61 stores configuration information corresponding to the applications A, B, and C, and the initial data pool 62 stores five storage areas (in the peripheral memory 83 corresponding to the application A ( 5), initial data corresponding to four storage areas (4 blocks) of the peripheral memory 83 is stored corresponding to the application B, and 4 of the peripheral memory 83 corresponding to the application C. Initial data corresponding to one storage area (4 blocks) is stored.

周辺メモリ要求表631には、アプリケーションA、B、Cで使用する周辺メモリ83の記憶領域が示されている。ここでは、周辺メモリ83が8つの記憶領域831〜838に分割されているものとする。 The peripheral memory request table 631 shows storage areas of the peripheral memory 83 used by the applications A, B, and C. Here, it is assumed that the peripheral memory 83 is divided into eight storage areas 83 1 to 83 8 .

周辺メモリ状況表632、中間データ管理表66、構成状況レジスタ64には、現状では何も情報が格納されておらず、中間データプール65には中間データが何も格納されていない。   No information is currently stored in the peripheral memory status table 632, the intermediate data management table 66, and the configuration status register 64, and no intermediate data is stored in the intermediate data pool 65.

図8aに示す周辺メモリ要求表631、周辺メモリ状況表632及び中間データ管理表66の縦軸は、周辺メモリ83の記憶領域831〜838に対応し、「1」が記載されている記憶領域は、該記憶領域に対応するアプリケーションで使用することを示している。また、「2」が記載されている記憶領域は、該記憶領域で保持するデータが中間データとして退避や再書き込みが必要であることを示している。 The vertical axes of the peripheral memory request table 631, the peripheral memory status table 632, and the intermediate data management table 66 shown in FIG. 8a correspond to the storage areas 83 1 to 83 8 of the peripheral memory 83, and “1” is described. The area indicates that the area is used by an application corresponding to the storage area. A storage area with “2” indicates that data held in the storage area needs to be saved and rewritten as intermediate data.

ここでは、予めアプリケーションA、B、Cの構成情報が構成情報プール61に格納され、アプリケーションA、B、Cの初期データが初期データプール62に格納され、周辺メモリ要求表631に、図8aに示すような、アプリケーションA、B、Cに対応する情報が格納されている状態から動作を開始するものとする。   Here, the configuration information of the applications A, B, and C is stored in advance in the configuration information pool 61, the initial data of the applications A, B, and C is stored in the initial data pool 62, and the peripheral memory request table 631 is shown in FIG. It is assumed that the operation starts from a state in which information corresponding to the applications A, B, and C as shown is stored.

FPGA8及びメモリデバイス管理装置が起動され、外部からアプリケーションAの実行要求を受信すると、管理部7は、構成情報プール61からアプリケーションAの構成情報を読み出してゲートアレイ81に書き込み、アプリケーションAの構成情報が書き込まれていることを示す情報を構成状況レジスタ64に書き込む。   When the FPGA 8 and the memory device management apparatus are activated and an execution request for the application A is received from the outside, the management unit 7 reads the configuration information of the application A from the configuration information pool 61 and writes it to the gate array 81. Is written in the configuration status register 64.

また、管理部7は、周辺メモリ要求表631を参照し、アプリケーションAの初期データが周辺メモリ83の記憶領域831、833、834、837、838に書き込み可能であるか否かを判定する。 Further, the management unit 7 refers to the peripheral memory request table 631 and determines whether or not the initial data of the application A can be written in the storage areas 83 1 , 83 3 , 83 4 , 83 7 , and 83 8 of the peripheral memory 83. Determine.

図8aに示す周辺メモリ要求表631を参照すると、記憶領域837、838は中間データの退避または書き込みに用いる記憶領域であるが、中間データ管理表66を参照すると、現時点では中間データが無い。 Referring to peripheral memory request table 631 shown in FIG. 8a, but the storage area 83 7, 83 8 is a storage area used for saving or writing intermediate data, referring to the intermediate data management table 66, there is no intermediate data at the moment .

したがって、管理部7は、初期データプール62からアプリケーションAの初期データを読み出し、該初期データを周辺メモリ83の記憶領域831、833、834、837、838へ書き込み、周辺メモリ状況表632を初期データ書き込み後の周辺メモリ83の状態に応じて更新する。 Therefore, the management unit 7 reads the initial data of the application A from the initial data pool 62, writes the initial data to the storage areas 83 1 , 83 3 , 83 4 , 83 7 , 83 8 of the peripheral memory 83, and the peripheral memory status The table 632 is updated according to the state of the peripheral memory 83 after the initial data is written.

また、管理部7は、全ての構成情報及び初期データの書き込みが終了すると、FPGA8によるアプリケーションAの処理を開始させる。このとき、図8bに示すように、周辺メモリ状況表632には、周辺メモリ83の記憶領域831、833、834、837、838をアプリケーションAで使用していることが示されている。 In addition, when the writing of all the configuration information and the initial data is completed, the management unit 7 starts the processing of the application A by the FPGA 8. At this time, as shown in FIG. 8b, the peripheral memory status table 632 indicates that the storage areas 83 1 , 83 3 , 83 4 , 83 7 , and 8 8 of the peripheral memory 83 are used by the application A. ing.

次に、アプリケーションAの実行中にアプリケーションBの実行要求を受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションBの初期データが周辺メモリ83の記憶領域831、832、836、838に書き込み可能であるか否かを判定する。 Next, when an execution request for application B is received during execution of application A, management unit 7 refers to peripheral memory request table 631 and peripheral memory status table 632, and initial data for application B is stored in the storage area of peripheral memory 83. 83 1, 83 2, 83 6, 83 8 to determine whether or not it is possible to write.

ここで、記憶領域831、838は、現在実行中のアプリケーションAで使用しているため、記憶領域832、836にのみアプリケーションBの初期データが書き込み可能である。したがって、管理部7は、初期データプール62から読み出したアプリケーションBの初期データを記憶領域832、836へ書き込み、周辺メモリ状況表632を更新する。 Here, since the storage areas 83 1 and 83 8 are used by the currently executing application A, the initial data of the application B can be written only in the storage areas 83 2 and 83 6 . Therefore, the management unit 7 writes the initial data of the application B read from the initial data pool 62 to the storage areas 83 2 and 83 6 and updates the peripheral memory status table 632.

このとき、図8cに示すように、周辺メモリ状況表632には、周辺メモリ83の記憶領域831、833、834、837、838をアプリケーションAで使用し、記憶領域832、836をアプリケーションBで使用していることが示されている。 At this time, as shown in FIG. 8c, in the peripheral memory status table 632, the storage areas 83 1 , 83 3 , 83 4 , 83 7 , and 8 8 of the peripheral memory 83 are used by the application A, and the storage areas 83 2 , it has been shown that using 83 6 in an application B.

アプリケーションAの処理が終了すると、管理部7は、アプリケーションAの実行中に書き込めなかったアプリケーションBの初期データを記憶領域831、838へ書き込む。管理部7は、まず周辺メモリ状況表632を参照することで記憶領域831、838へ初期データの書き込みが必要であり、周辺メモリ要求表631を参照することで、記憶領域838で保持されたアプリケーションAの中間データの退避が必要であることが分かる。そのため、管理部7は、記憶領域838で保持しているデータを中間データプール65の第1の記憶領域へ書き出し、中間データ管理表66に記憶領域838から中間データプール65へアプリケーションAの中間データを退避させた旨を書き込む。その後、管理部7は、記憶領域831、838にアプリケーションBの初期データを書き込む。 When the processing of the application A is completed, the management unit 7 writes the initial data of the application B that could not be written during the execution of the application A into the storage areas 83 1 and 83 8 . Management unit 7 first to peripheral storage area 83 1 by referring to the memory status table 632, 83 8 of the initial data writing is required, by referring to the peripheral memory request table 631, held in the storage area 83 8 It can be seen that it is necessary to save the intermediate data of the application A. Therefore, the management unit 7 writes the data held in the storage area 83 8 to the first storage area of the intermediate data pool 65, from the intermediate data management table 66 in the storage area 83 8 to the intermediate data pool 65 of the application A Writes that the intermediate data has been saved. Thereafter, the management unit 7 writes the initial data of the application B in the storage areas 83 1 and 83 8 .

続いて、管理部7は、構成情報プール61から読み出したアプリケーションBの構成情報をFPGA8のゲートアレイ81に書き込み、構成情報の書き込みが完了すると、FPGA8にアプリケーションBの処理を開始させる。このとき、図8dに示すように、中間データプール65には記憶領域838で保持していたアプリケーションAの中間データ(A−8)が格納され、中間データ管理表66には、該アプリケーションAの中間データ(A−8)を中間データプール65の第1の記憶領域に退避したことが示されている。また、構成状況レジスタ64にはアプリケーションBの構成情報をゲートアレイ81で使用していることが示されている。 Subsequently, the management unit 7 writes the configuration information of the application B read from the configuration information pool 61 to the gate array 81 of the FPGA 8, and when the writing of the configuration information is completed, causes the FPGA 8 to start processing of the application B. At this time, as shown in FIG. 8d, the intermediate data pool 65 stores intermediate data of the application A that has been held in the storage area 83 8 (A-8) is, the intermediate data management table 66, the application A The intermediate data (A-8) is saved in the first storage area of the intermediate data pool 65. The configuration status register 64 indicates that the configuration information of the application B is used in the gate array 81.

次に、アプリケーションBの実行中にアプリケーションAの実行要求を再度受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションAの初期データが周辺メモリ83の記憶領域831、833、834、837、838に書き込み可能であるか否かを判定する。 Next, when the execution request of the application A is received again during the execution of the application B, the management unit 7 refers to the peripheral memory request table 631 and the peripheral memory status table 632, and the initial data of the application A is stored in the peripheral memory 83. regions 83 1, 83 3, 83 4, 83 7, 83 8 to determine whether or not it is possible to write.

ここで、記憶領域831、838は現在実行中のアプリケーションBで使用しているため、記憶領域833、834、837にのみアプリケーションAの初期データの書き込みが可能である。但し、周辺メモリ状況表632を参照すると、記憶領域833、834、837には、前回アプリケーションAを実行したときの初期データが残っているため、再度書き込む必要が無い。そのため、管理部7は、ここでは周辺メモリ83の書き換えを実行しない。 Here, since the storage areas 83 1 and 83 8 are used by the application B that is currently being executed, the initial data of the application A can be written only in the storage areas 83 3 , 83 4 , and 83 7 . However, referring to peripheral memory status table 632, the storage area 83 3, 83 4, 83 7, since there is still the initial data when executing the last application A, there is no need to write again. For this reason, the management unit 7 does not execute rewriting of the peripheral memory 83 here.

アプリケーションBの処理が終了すると、管理部7は、アプリケーションBの実行中に書き込めなかったアプリケーションAの初期データを記憶領域831、838に書き込む。 When the processing of the application B is completed, the management unit 7 writes the initial data of the application A that could not be written during the execution of the application B in the storage areas 83 1 and 83 8 .

このとき、管理部7は、中間データ管理表66を参照することで、中間データプール65の第1の記憶領域に退避している中間データ(A−8)を記憶領域838へ書き込み、記憶領域831に初期データプール62から読み出した初期データを書き込む。また、管理部7は、中間データプール65の第1の記憶領域を無効化する。無効化は、中間データ(A−8)を中間データプール65へ退避させたことを示す情報を中間データ管理表66から削除することで実現する。 In this case, the management unit 7 refers to the intermediate data management table 66, writes the intermediate data saved in the first memory area of the intermediate data pool 65 (A-8) to the storage area 83 8, storage writes the initial data read out from the initial data pool 62 in the region 83 1. In addition, the management unit 7 invalidates the first storage area of the intermediate data pool 65. Invalidation is realized by deleting information indicating that the intermediate data (A-8) has been saved in the intermediate data pool 65 from the intermediate data management table 66.

続いて、管理部7は、構成情報プール61から読み出したアプリケーションAの構成情報をFPGA8のゲートアレイ81に書き込み、構成情報の書き込み終了後にFPGA8にアプリケーションAの処理を開始させる。このとき、図8eに示すように、中間データ管理表66ではアプリケーションAの中間データの退避先を示す情報が削除されている。また、中間データプール65の第1の記憶領域にはアプリケーションAの中間データ(A−8)が残っているが、中間データ管理表66から該中間データの退避先を示す情報が削除されているため、該中間データの読み出し処理は無効化されている。   Subsequently, the management unit 7 writes the configuration information of the application A read from the configuration information pool 61 to the gate array 81 of the FPGA 8, and causes the FPGA 8 to start processing of the application A after the writing of the configuration information is completed. At this time, as shown in FIG. 8e, the information indicating the save destination of the intermediate data of application A is deleted in the intermediate data management table 66. Further, the intermediate data (A-8) of the application A remains in the first storage area of the intermediate data pool 65, but information indicating the save destination of the intermediate data is deleted from the intermediate data management table 66. Therefore, the intermediate data reading process is invalidated.

次に、アプリケーションAの実行中にアプリケーションCの実行要求を受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションCの初期データが周辺メモリ83の記憶領域831、832、835、836、837に書き込み可能であるか否かを判定する。 Next, when the execution request of the application C is received during the execution of the application A, the management unit 7 refers to the peripheral memory request table 631 and the peripheral memory status table 632, and the initial data of the application C is stored in the storage area of the peripheral memory 83. 83 1, 83 2, 83 5, 83 6, 83 7 determines whether or not writable.

ここで、記憶領域831、837は、現在実行中のアプリケーションAで使用しているため、記憶領域832、835、836にのみアプリケーションCの初期データが書き込み可能である。したがって、管理部7は、初期データプール62から読み出したアプリケーションCの初期データを記憶領域835、836へ書き込み、周辺メモリ状況表632を更新する。このとき、図8fに示すように、周辺メモリ状況表632には、記憶領域831、833、834、837、838をアプリケーションAで使用し、記憶領域832、835、836をアプリケーションCで使用していることが示されている。 Here, since the storage areas 83 1 and 83 7 are used by the currently executing application A, the initial data of the application C can be written only in the storage areas 83 2 , 83 5 , and 83 6 . Therefore, the management unit 7 writes the initial data of the application C read from the initial data pool 62 to the storage areas 83 5 and 83 6 and updates the peripheral memory status table 632. At this time, as shown in FIG. 8f, in the peripheral memory status table 632, the storage areas 83 1 , 83 3 , 83 4 , 83 7 , 83 8 are used by the application A, and the storage areas 83 2 , 83 5 , 83 are used. 6 is used in application C.

アプリケーションAの処理が終了すると、管理部7は、アプリケーションAの実行中に書き込めなかったアプリケーションCの初期データを記憶領域831、837へ書き込む。管理部7は、まず周辺メモリ状況表632を参照することで記憶領域831、837へ初期データの書き込みが必要であり、周辺メモリ要求表631を参照することで、記憶領域837で保持されたアプリケーションAの中間データの退避が必要であることが分かる。そのため、管理部7は、記憶領域837で保持しているデータを中間データプール65の第1の記憶領域へ書き出し、中間データ管理表66に記憶領域837から中間データプール65へアプリケーションAの中間データを退避させた旨を書き込む。その後、管理部7は、記憶領域831、837にアプリケーションBの初期データを書き込む。 When the processing of the application A is completed, the management unit 7 writes the initial data of the application C that could not be written during the execution of the application A into the storage areas 83 1 and 83 7 . Management unit 7 first the storage area 83 1, 83 7 with reference to the peripheral memory status table 632 of the initial data writing is required, by referring to the peripheral memory request table 631, held in the storage area 83 7 It can be seen that it is necessary to save the intermediate data of the application A. Therefore, the management unit 7 writes the data held in the storage area 83 7 to the first memory area of the intermediate data pool 65, from the storage area 83 7 in the intermediate data management table 66 to the intermediate data pool 65 of the application A Writes that the intermediate data has been saved. Thereafter, the management unit 7 writes initial data of the application B in the storage areas 83 1 and 83 7 .

また、管理部7は、構成情報プール61から読み出したアプリケーションCの構成情報をFPGA8のゲートアレイ81に書き込み、構成情報の書き込み終了後にFPGA8にアプリケーションCの処理を開始させる。このとき、図8gに示すように、中間データプール65には記憶領域837で保持していたアプリケーションAの中間データ(A−7)が格納され、中間データ管理表66には、該アプリケーションAの中間データ(A−7)を中間データプール65の第1の記憶領域に退避したことが示されている。また、構成状況レジスタ64にはアプリケーションCの構成情報をゲートアレイ81で使用していることが示されている。 In addition, the management unit 7 writes the configuration information of the application C read from the configuration information pool 61 to the gate array 81 of the FPGA 8, and causes the FPGA 8 to start processing of the application C after completing the writing of the configuration information. At this time, as shown in FIG. 8 g, the intermediate data pool 65 stores intermediate data of the application A that has been held in the storage area 83 7 (A-7) is, the intermediate data management table 66, the application A The intermediate data (A-7) is saved in the first storage area of the intermediate data pool 65. The configuration status register 64 indicates that the configuration information of the application C is used in the gate array 81.

次に、アプリケーションCの実行中にアプリケーションAの実行要求を再度受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションAの初期データが周辺メモリ83の記憶領域831、833、834、837、838に書き込み可能であるか否かを判定する。 Next, when the execution request of the application A is received again during the execution of the application C, the management unit 7 refers to the peripheral memory request table 631 and the peripheral memory status table 632, and the initial data of the application A is stored in the peripheral memory 83. regions 83 1, 83 3, 83 4, 83 7, 83 8 to determine whether or not it is possible to write.

ここでは、現在実行中のアプリケーションCで記憶領域831、837を使用しているため、記憶領域833、834、838にのみアプリケーションAの初期データが書き込み可能である。但し、周辺メモリ状況表632を参照すると、記憶領域833、834、838には、前回アプリケーションAを実行した際に格納した初期データが残っているため、再度書き込む必要が無いことが分かる。そのため、管理部7は、ここでは周辺メモリ83の書き換えを実行しない。 Here, since the storage area 83 1 , 83 7 is used in the currently executing application C, the initial data of the application A can be written only in the storage areas 83 3 , 83 4 , 83 8 . However, referring to peripheral memory status table 632, the storage area 83 3, 83 4, 83 8, since there is still the initial data stored in a previous run of the application A, it can be seen that there is no need to write again . For this reason, the management unit 7 does not execute rewriting of the peripheral memory 83 here.

アプリケーションCの処理が終了すると、管理部7は、アプリケーションCの実行中に書き込めなかったアプリケーションAの初期データを記憶領域831、837へ書き込む。 When the processing of the application C is completed, the management unit 7 writes the initial data of the application A that could not be written during the execution of the application C into the storage areas 83 1 and 83 7 .

このとき、管理部7は、中間データ管理表66を参照することで、中間データプール65の第1の記憶領域に退避している中間データ(A−7)を記憶領域837へ書き込み、記憶領域831に初期データプール62から読み出した初期データを書き込む。また、管理部7は、中間データプール65の第1の記憶領域を無効化する。無効化は、中間データ(A−7)の中間データプール65への退避を示す情報を中間データ管理表66から削除することで実現する。 In this case, the management unit 7 refers to the intermediate data management table 66, writes the intermediate data saved in the first memory area of the intermediate data pool 65 (A-7) to the storage area 83 7, stores writes the initial data read out from the initial data pool 62 in the region 83 1. In addition, the management unit 7 invalidates the first storage area of the intermediate data pool 65. Invalidation is realized by deleting, from the intermediate data management table 66, information indicating saving of intermediate data (A-7) to the intermediate data pool 65.

続いて、管理部7は、構成情報プール61から読み出したアプリケーションAの構成情報をFPGA8のゲートアレイ81に書き込み、構成情報の書き込み終了後にFPGA8にアプリケーションAの処理を開始させる。このとき、図8hに示すように、中間データ管理表66ではアプリケーションAの中間データの退避先を示す情報が削除されている。また、中間データプール65の第1の記憶領域にはアプリケーションAの中間データ(A−7)が残っているが、中間データ管理表66から該中間データの退避先を示す情報が削除されているため、該中間データの読み出し処理は無効化されている。   Subsequently, the management unit 7 writes the configuration information of the application A read from the configuration information pool 61 to the gate array 81 of the FPGA 8, and causes the FPGA 8 to start processing of the application A after the writing of the configuration information is completed. At this time, as shown in FIG. 8h, in the intermediate data management table 66, the information indicating the save destination of the intermediate data of the application A is deleted. Further, the intermediate data (A-7) of the application A remains in the first storage area of the intermediate data pool 65, but information indicating the save destination of the intermediate data is deleted from the intermediate data management table 66. Therefore, the intermediate data reading process is invalidated.

以下、同様にして、次に実行要求されたアプリケーションの初期データや中間データのうち、現在実行中のアプリケーションで使用していない周辺メモリ83へ書き込む初期データや中間データは、現在実行中のアプリケーションの終了を待つことなく書き込み、現在実行中のアプリケーションで使用している周辺メモリ83へ書き込む初期データや中間データは、現在実行中のアプリケーションの終了を待って書き込む。また、その際、現在実行中のアプリケーションで使用している周辺メモリ83内の中間データの退避が必要な場合は、該中間データを中間データプール65へ書き出し、中間データ管理表66に退避後の中間データが格納された領域を記憶させる。   Similarly, among the initial data and intermediate data of the application requested to be executed next, the initial data and intermediate data to be written to the peripheral memory 83 not used by the currently executing application are the same as those of the currently executing application. The initial data and intermediate data to be written without waiting for the end and written to the peripheral memory 83 used by the currently executing application are written after the end of the currently executing application. At that time, if it is necessary to save intermediate data in the peripheral memory 83 used by the currently executing application, the intermediate data is written to the intermediate data pool 65 and saved in the intermediate data management table 66. An area in which intermediate data is stored is stored.

本実施例のメモリデバイス管理装置によれば、FPGA8が備える周辺メモリ83のうち、現在実行中のアプリケーションで使用していない記憶領域に対して、次に実行するアプリケーションの初期データを先行して書き込むため、アプリケーションの切り替え時に初期データの書き換えに要する時間を短縮できる。   According to the memory device management apparatus of the present embodiment, the initial data of the application to be executed next is written in advance in the storage area not used by the currently executing application in the peripheral memory 83 provided in the FPGA 8. Therefore, it is possible to reduce the time required for rewriting initial data when switching applications.

また、構成情報を用いて初期データや中間データを周辺メモリ83に読み込むための回路を作成する必要がないため、FPGA8にアプリケーション以外の処理を実行させる必要がなくなる。   In addition, since it is not necessary to create a circuit for reading the initial data and intermediate data into the peripheral memory 83 using the configuration information, it is not necessary to cause the FPGA 8 to execute processes other than the application.

したがって、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施例のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。   Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, by using the memory device management apparatus of this embodiment, the processing performance (throughput) of the reconfigurable device is improved.

(第2実施例)
図9は第2実施例のメモリデバイス管理装置の構成を示すブロック図である。
(Second embodiment)
FIG. 9 is a block diagram showing the configuration of the memory device management apparatus of the second embodiment.

図9に示すように、第2実施例のメモリデバイス管理装置は、管理データ記憶部6及び管理部7を備えている。   As shown in FIG. 9, the memory device management apparatus according to the second embodiment includes a management data storage unit 6 and a management unit 7.

第2実施例は、上記特許文献9に記載されたDRP9から成るデータ処理装置を、上述した第6の実施の形態のメモリデバイス管理装置で管理する例である。   The second example is an example in which the data processing apparatus including the DRP 9 described in Patent Document 9 is managed by the memory device management apparatus according to the sixth embodiment described above.

DRP9は、第3の実施の形態や第6の実施の形態で示した第3の再構成可能ハードウェア5に相当する。   The DRP 9 corresponds to the third reconfigurable hardware 5 shown in the third embodiment or the sixth embodiment.

DRP9は、演算を実行するPE群91と、PE群91の動作を制御するSTC92と、初期データや中間データを保持する周辺メモリ93とを備えている。周辺メモリ93は、管理単位となる複数の記憶領域931〜93nに分割可能である。 The DRP 9 includes a PE group 91 that performs operations, an STC 92 that controls the operation of the PE group 91, and a peripheral memory 93 that holds initial data and intermediate data. The peripheral memory 93 can be divided into a plurality of storage areas 93 1 to 93 n serving as management units.

PE群91は、演算を実行する複数のPE(Processor Element)を備え、各PEは構成情報を保持するための命令メモリ94を備えている。命令メモリ94は、管理単位となる複数のブロック0〜nに分割可能である。なお、以下では、命令メモリ94の各ブロックで構成情報を保持する例を示すが、構成情報はSTC92が備える不図示の内部メモリでも保持可能である。   The PE group 91 includes a plurality of PEs (Processor Elements) for executing operations, and each PE includes an instruction memory 94 for holding configuration information. The instruction memory 94 can be divided into a plurality of blocks 0 to n serving as management units. In the following, an example in which configuration information is held in each block of the instruction memory 94 is shown, but the configuration information can also be held in an internal memory (not shown) provided in the STC 92.

PE群91は、第3の実施の形態や第6の実施の形態で示した第3の再構成可能ハードウェア5の演算部52及び構成情報記憶部54に相当し、STC92は第3の再構成可能ハードウェア5の制御部51に相当し、周辺メモリ93は第3の再構成可能ハードウェア5の処理データ記憶部53に相当する。   The PE group 91 corresponds to the arithmetic unit 52 and the configuration information storage unit 54 of the third reconfigurable hardware 5 shown in the third embodiment or the sixth embodiment, and the STC 92 is the third reconfigurable hardware. The peripheral memory 93 corresponds to the processing data storage unit 53 of the third reconfigurable hardware 5 and corresponds to the control unit 51 of the configurable hardware 5.

管理データ記憶部6は、構成情報プール67、初期データプール62、周辺メモリ管理部63、構成状況表68、中間データプール65及び中間データ管理表66を備えている。構成情報プール67は、第6の実施の形態で示した管理データ記憶部1の構成情報プール11に相当し、初期データプール62は管理データ記憶部1の初期データプール12に相当する。周辺メモリ管理部63は管理データ記憶部1の記憶部管理部13に相当し、構成状況表68は管理データ記憶部1の構成状況表14に相当する。また、中間データプール65は管理データ記憶部1の中間データプール15に相当し、中間データ管理表66は管理データ記憶部1の中間データ管理表16に相当する。   The management data storage unit 6 includes a configuration information pool 67, an initial data pool 62, a peripheral memory management unit 63, a configuration status table 68, an intermediate data pool 65, and an intermediate data management table 66. The configuration information pool 67 corresponds to the configuration information pool 11 of the management data storage unit 1 described in the sixth embodiment, and the initial data pool 62 corresponds to the initial data pool 12 of the management data storage unit 1. The peripheral memory management unit 63 corresponds to the storage unit management unit 13 of the management data storage unit 1, and the configuration status table 68 corresponds to the configuration status table 14 of the management data storage unit 1. The intermediate data pool 65 corresponds to the intermediate data pool 15 of the management data storage unit 1, and the intermediate data management table 66 corresponds to the intermediate data management table 16 of the management data storage unit 1.

構成情報プール67には、DRP9で実行する複数のアプリケーション毎の構成情報が格納される。   In the configuration information pool 67, configuration information for each of a plurality of applications executed by the DRP 9 is stored.

初期データプール62には、DRP9で実行する複数のアプリケーション毎の初期データが格納される。   The initial data pool 62 stores initial data for each of a plurality of applications executed by the DRP 9.

周辺メモリ管理部63は、周辺メモリ要求表631及び周辺メモリ状況表632を備えている。   The peripheral memory management unit 63 includes a peripheral memory request table 631 and a peripheral memory status table 632.

周辺メモリ要求表631は、アプリケーションの実行時に、該アプリケーションの初期データや中間データの保持に用いる、DRP9の周辺メモリ93の記憶領域を示す情報が格納される。また、周辺メモリ要求表631には、後述する中間データとして退避や再書き込みが必要であるか否かを示す情報も格納される。   The peripheral memory request table 631 stores information indicating the storage area of the peripheral memory 93 of the DRP 9 that is used to hold initial data and intermediate data of the application when the application is executed. The peripheral memory request table 631 also stores information indicating whether saving or rewriting is necessary as intermediate data described later.

周辺メモリ状況表632は、DRP9の周辺メモリ93を現在使用している、アプリケーションを示す情報が格納される。   The peripheral memory status table 632 stores information indicating an application that is currently using the peripheral memory 93 of the DRP 9.

構成状況表68は、DRP9で現在保持している構成情報を識別するための情報が格納される。   The configuration status table 68 stores information for identifying configuration information currently held by the DRP 9.

中間データプール65は、DRP9で実行する、任意のアプリケーションによる処理途中のデータ(中間データ)が格納される。   The intermediate data pool 65 stores data (intermediate data) being processed by an arbitrary application and executed by the DRP 9.

中間データ管理表66は、中間データが格納された中間データプール65の記憶領域を示す情報が格納される。   The intermediate data management table 66 stores information indicating the storage area of the intermediate data pool 65 in which intermediate data is stored.

以下、DRP9で3種類のアプリケーションA、B、Cを実行する場合を例にして、第2実施例のメモリデバイス管理装置の動作について説明する。   The operation of the memory device management apparatus according to the second embodiment will be described below by taking as an example the case where three types of applications A, B, and C are executed by DRP9.

図10aは、管理データ記憶部6が備える構成情報プール67、初期データプール62、周辺メモリ管理部63、構成状況表68、中間データプール65及び中間データ管理表66に格納された情報を示している。   FIG. 10 a shows information stored in the configuration information pool 67, the initial data pool 62, the peripheral memory management unit 63, the configuration status table 68, the intermediate data pool 65, and the intermediate data management table 66 included in the management data storage unit 6. Yes.

図10aに示す例では、構成情報プール67に、アプリケーションAに対応して命令メモリ94の8ブロックに相当する構成情報が格納され、アプリケーションBに対応して命令メモリ94の6ブロックに相当する構成情報が格納され、アプリケーションCに対応して命令メモリ94の12ブロックに相当する構成情報が格納されている。また、初期データプール62には、アプリケーションAに対応して周辺メモリ93の5つの記憶領域に相当する初期データが格納され、アプリケーションBに対応して周辺メモリ93の4つの記憶領域に相当する初期データが格納され、アプリケーションCに対応して周辺メモリ93の4つの記憶領域に相当する初期データが格納されている。   In the example shown in FIG. 10A, configuration information corresponding to 8 blocks of the instruction memory 94 corresponding to the application A is stored in the configuration information pool 67, and corresponding to 6 blocks of the instruction memory 94 corresponding to the application B. Information is stored, and configuration information corresponding to 12 blocks of the instruction memory 94 corresponding to the application C is stored. The initial data pool 62 stores initial data corresponding to five storage areas of the peripheral memory 93 corresponding to the application A, and initial data corresponding to four storage areas of the peripheral memory 93 corresponding to the application B. Data is stored, and initial data corresponding to the four storage areas of the peripheral memory 93 is stored corresponding to the application C.

周辺メモリ要求表631には、アプリケーションA、B、Cで使用する周辺メモリ93の記憶領域が示されている。ここでは、周辺メモリ93が8つの記憶領域931〜938に分割されているものとする。また、PE群91は内部メモリ94により構成情報を16のブロック(ブロック0〜15)にて保持可能とする。 The peripheral memory request table 631 shows storage areas of the peripheral memory 93 used by the applications A, B, and C. Here, it is assumed that the peripheral memory 93 is divided into eight storage areas 93 1 to 934. The PE group 91 can hold the configuration information in 16 blocks (blocks 0 to 15) by the internal memory 94.

周辺メモリ状況表632、中間データ管理表66、構成状況表68には、現状では何も情報が格納されておらず、中間データプール65には何も中間データが格納されていない。   No information is currently stored in the peripheral memory status table 632, the intermediate data management table 66, and the configuration status table 68, and no intermediate data is stored in the intermediate data pool 65.

図10aに示す周辺メモリ要求表631、周辺メモリ状況表632及び中間データ管理表66の縦軸は、周辺メモリ93の分割後の記憶領域931〜938に対応し、「1」が記載されている記憶領域は、該記憶領域に対応するアプリケーションで使用することを示している。また、「2」が記載されている記憶領域は、該記憶領域で保持するデータが中間データとして退避や再書き込みが必要であることを示している。ここでは、予めアプリケーションA、B、Cの構成情報が構成情報プール61に格納され、アプリケーションA、B、Cの初期データが初期データプール62に格納され、周辺メモリ要求表631に、図10aに示すような、各アプリケーションA、B、Cに対応する情報が格納されている状態から動作を開始するものとする。 Peripheral memory request table 631 shown in FIG. 10a, the longitudinal axis of the peripheral memory state table 632 and the intermediate data management table 66 corresponding to the storage area 93 1 to 93 8 after splitting the peripheral memory 93, "1" is described The storage area is used by an application corresponding to the storage area. A storage area with “2” indicates that data held in the storage area needs to be saved and rewritten as intermediate data. Here, the configuration information of the applications A, B, and C is stored in advance in the configuration information pool 61, the initial data of the applications A, B, and C is stored in the initial data pool 62, and the peripheral memory request table 631 is shown in FIG. It is assumed that the operation starts from a state in which information corresponding to each of the applications A, B, and C is stored.

DRP9及びメモリデバイス管理装置が起動され、外部からアプリケーションAの実行要求を受信すると、管理部7は、構成情報プール67からアプリケーションAの構成情報を読み出し、PE群91が備える命令メモリ94およびSTC92が備える内部メモリに該構成情報を書き込み、構成状況表68にアプリケーションAの構成情報の書き込み済みを示す情報を格納する。   When the DRP 9 and the memory device management apparatus are activated and an application A execution request is received from the outside, the management unit 7 reads the configuration information of the application A from the configuration information pool 67, and the instruction memory 94 and the STC 92 included in the PE group 91 The configuration information is written into the internal memory provided, and information indicating that the configuration information of application A has been written is stored in the configuration status table 68.

また、管理部7は、周辺メモリ要求表631を参照し、アプリケーションAの初期データが周辺メモリ93の記憶領域931、933、934、937、938に書き込み可能であるか否かを判定する。 The management unit 7 refers to the peripheral memory request table 631, whether the initial data of the application A can be written in the storage area 93 1, 93 3, 93 4, 93 7, 93 8 of peripheral memory 93 Determine.

図10aに示す周辺メモリ要求表631を参照すると、記憶領域937、938は中間データの退避または書き込みに用いる領域であるが、中間データ管理表66を参照すると、現時点では中間データが無い。 Referring to peripheral memory request table 631 shown in FIG. 10a, but the storage area 93 7, 93 8 is the area used in the save or writing intermediate data, referring to the intermediate data management table 66, the intermediate data is not at the moment.

したがって、管理部7は、初期データプール62からアプリケーションAの初期データを読み出し、該初期データを記憶領域931、933、934、937、938へ書き込み、周辺メモリ状況表632を初期データ書き込み後の周辺メモリ93の状態に応じて更新する。 Therefore, the management unit 7, the initial data pool 62 reads the initial data of the application A, writes the initial data into the storage area 93 1, 93 3, 93 4, 93 7, 93 8, an initial peripheral memory status table 632 It is updated according to the state of the peripheral memory 93 after data writing.

管理部7は、アプリケーションAの全ての構成情報及び初期データの書き込みが終了すると、DRP9によるアプリケーションAの処理を開始させる。このとき、図10bに示すように、周辺メモリ状況表632には、周辺メモリ93の記憶領域931、933、934、937、938をアプリケーションAで使用していることが示されている。また、構成状況表68には、命令メモリ94のブロック0〜7でアプリケーションAの構成情報を保持していることが示されている。 When the writing of all the configuration information and initial data of the application A is completed, the management unit 7 starts processing of the application A by the DRP 9. At this time, as shown in FIG. 10b, the peripheral memory state table 632, shown to be used storage area 93 1 in the peripheral memory 93, 93 3, 93 4, 93 7, 93 8 with application A ing. The configuration status table 68 indicates that the configuration information of the application A is held in the blocks 0 to 7 of the instruction memory 94.

次に、アプリケーションAの実行中にアプリケーションBの実行要求を受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションBの初期データが周辺メモリ93の記憶領域931、932、936、938に書き込み可能であるか否かを判定する。 Next, when an execution request for application B is received during execution of application A, management unit 7 refers to peripheral memory request table 631 and peripheral memory status table 632, and initial data of application B is stored in the storage area of peripheral memory 93. 93 1, 93 2, 93 6, determined at 93 8 whether writable.

ここで、記憶領域931、938は、現在実行中のアプリケーションAで使用しているため、記憶領域932、936にのみアプリケーションBの初期データが書き込み可能である。したがって、管理部7は、初期データプール62から読み出したアプリケーションBの初期データを記憶領域932、936へ書き込み、周辺メモリ状況表632を更新する。 Here, the storage area 93 1, 93 8, because it uses the application A currently running, the initial data of the application B can be written only in the memory region 93 2, 93 6. Therefore, the management unit 7 writes the initial data of the application B read from the initial data pool 62 to the storage area 93 2, 93 6, and updates the peripheral memory status table 632.

また、管理部7は、構成状況表68を参照し、現在実行中のアプリケーションAの構成情報が書き込まれていない命令メモリ94のブロック8〜15に、構成情報プール67から読み出したアプリケーションBの構成情報を書き込む。   In addition, the management unit 7 refers to the configuration status table 68, and the configuration of the application B read from the configuration information pool 67 in the blocks 8 to 15 of the instruction memory 94 in which the configuration information of the currently executing application A is not written. Write information.

このとき、図10cに示すように、周辺メモリ状況表632には、周辺メモリ93の記憶領域931、933、934、937、938をアプリケーションAで使用し、記憶領域932、936をアプリケーションBで使用していることが示されている。また、アプリケーションBでは構成情報を保持するのに6ブロックの命令メモリ94を使用するため、構成状況表68には命令メモリ94のブロック0〜7にアプリケーションAの構成情報が格納され、ブロック8〜13にアプリケーションBの構成情報が格納されていることが示されている。 At this time, as shown in FIG. 10c, the peripheral memory state table 632, using the storage area 93 1 in the peripheral memory 93, 93 3, 93 4, 93 7, 93 8 with application A, the storage area 93 2, it has been shown that using 93 6 in an application B. Further, since the application B uses the six blocks of instruction memory 94 to hold the configuration information, the configuration status table 68 stores the configuration information of the application A in blocks 0 to 7 of the instruction memory 94, and blocks 8 to 13 shows that the configuration information of application B is stored.

アプリケーションAの処理が終了すると、管理部7は、アプリケーションAの実行中に書き込めなかったアプリケーションBの初期データを記憶領域931、938に書き込む。管理部7は、まず周辺メモリ状況表632を参照することで記憶領域931、938へ初期データの書き込みが必要であり、周辺メモリ要求表631を参照することで、記憶領域938のデータが退避させる中間データであると判定する。そのため、管理部7は、記憶領域938で保持しているデータを中間データプール65の第1の記憶領域へ書き出し、中間データ管理表66にアプリケーションAの中間データを中間データプール65の第1の記憶領域へ退避させたことを示す情報を書き込む。その後、管理部7は、記憶領域931、938にアプリケーションBの初期データを書き込む。 When the processing of the application A is completed, the management unit 7 writes the initial data of the application B that could not be written during the execution of the application A in the storage areas 93 1 and 93 8 . Management unit 7 first storage area 93 1 by referring to the peripheral memory status table 632, 93 8 writing initial data to it is required, by referring to the peripheral memory request table 631, the data storage area 93 8 Is intermediate data to be saved. Therefore, the management unit 7 writes the data held in the storage area 93 8 to the first storage area of the intermediate data pool 65, a first intermediate data pool 65 to the intermediate data of the application A in the intermediate data management table 66 Information indicating that the data has been saved in the storage area is written. Then, the management unit 7 writes the initial data of the application B in the storage area 93 1, 93 8.

管理部7は、アプリケーションBの全ての初期データの書き込みが完了すると、DRP9にアプリケーションBの処理を開始させる。このとき、図10dに示すように、中間データプール65には周辺メモリ93の記憶領域938で保持していたアプリケーションAの中間データ(A−8)が格納され、中間データ管理表66には、該アプリケーションAの中間データ(A−8)の退避先(中間データプール65の第1の記憶領域)が示されている。 When the writing of all the initial data of the application B is completed, the management unit 7 causes the DRP 9 to start processing of the application B. At this time, as shown in FIG. 10d, the intermediate data of the application A that has been held in the storage area 93 8 of the peripheral memory 93 (A-8) is stored in the intermediate data pool 65, the intermediate data management table 66 The save destination of the intermediate data (A-8) of the application A (first storage area of the intermediate data pool 65) is shown.

次に、アプリケーションBの実行中にアプリケーションAの実行要求を再度受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションAの初期データが周辺メモリ93の記憶領域931、933、934、937、938に書き込み可能であるか否かを判定する。 Next, when the execution request of the application A is received again during the execution of the application B, the management unit 7 refers to the peripheral memory request table 631 and the peripheral memory status table 632, and the initial data of the application A is stored in the peripheral memory 93. regions 93 1, 93 3, 93 4, 93 7, determines to 93 8 whether writable.

ここで、記憶領域931、938は現在実行中のアプリケーションBで使用しているため、記憶領域933、934、937のみアプリケーションAの初期データの書き込みが可能である。但し、周辺メモリ状況表632を参照すると、記憶領域933、934、937には、前回アプリケーションAを実行したときの初期データが残っているため、再度書き込む必要が無い。また、アプリケーションAの構成情報も命令メモリ94のブロック0〜7に残っているため、構成情報の書き換えも不要である。そのため、管理部7は、ここでは周辺メモリ93や命令メモリ94の書き換えを実行しない。 Here, the storage area 93 1, 93 8 because it uses the application B that is currently running, it is possible to write the initial data in the storage area 93 3, 93 4, 93 7 only application A. However, referring to peripheral memory status table 632, the storage area 93 3, 93 4, 93 7, since there is still the initial data when executing the last application A, there is no need to write again. Further, since the configuration information of the application A remains in the blocks 0 to 7 of the instruction memory 94, it is not necessary to rewrite the configuration information. For this reason, the management unit 7 does not execute rewriting of the peripheral memory 93 and the instruction memory 94 here.

アプリケーションBの処理が終了すると、管理部7は、アプリケーションBの実行中に書き込めなかったアプリケーションAの初期データを記憶領域931、938に書き込む。このとき、管理部7は、中間データ管理表66を参照することで、中間データプール65の第1の記憶領域に退避している中間データ(A−8)を記憶領域938へ書き込み、記憶領域931に初期データプール62から読み出した初期データを書き込む。また、管理部7は、中間データプール65の第1の記憶領域を無効化する。無効化は、中間データ(A−8)を中間データプール65へ退避させたことを示す情報を中間データ管理表66から削除することで実現する。 When the processing of the application B is completed, the management unit 7 writes the initial data of the application A that could not be written in the application B running in the storage area 93 1, 93 8. In this case, the management unit 7 refers to the intermediate data management table 66, writes the intermediate data saved in the first memory area of the intermediate data pool 65 (A-8) to the storage area 93 8, storage writes the initial data read out from the initial data pool 62 in the region 93 1. In addition, the management unit 7 invalidates the first storage area of the intermediate data pool 65. Invalidation is realized by deleting information indicating that the intermediate data (A-8) has been saved in the intermediate data pool 65 from the intermediate data management table 66.

上述したように、アプリケーションAの構成情報は命令メモリ94のブロック0〜7に残っているため、管理部7は、周辺メモリ93に対するアプリケーションAの初期データの書き込みが完了した後、DRP9にアプリケーションAの処理を開始させる。このとき、図10eに示すように、中間データ管理表66ではアプリケーションAの中間データの退避先を示す情報が削除されている。また、中間データプール65の第1の記憶領域にはアプリケーションAの中間データ(A−8)が残っているが、中間データ管理表66から該中間データの退避先を示す情報が削除されているため、該中間データの読み出し処理は無効化されている。   As described above, since the configuration information of the application A remains in the blocks 0 to 7 of the instruction memory 94, the management unit 7 stores the application A initial data in the peripheral memory 93 and then stores the application A in the DRP 9. Start processing. At this time, as shown in FIG. 10E, information indicating the save destination of the intermediate data of application A is deleted in the intermediate data management table 66. Further, the intermediate data (A-8) of the application A remains in the first storage area of the intermediate data pool 65, but information indicating the save destination of the intermediate data is deleted from the intermediate data management table 66. Therefore, the intermediate data reading process is invalidated.

次に、アプリケーションAの実行中にアプリケーションCの実行要求を受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションCの初期データが周辺メモリ93の記憶領域931、932、935、936、937に書き込み可能であるか否かを判定する。 Next, when an execution request for application C is received during execution of application A, management unit 7 refers to peripheral memory request table 631 and peripheral memory status table 632, and initial data for application C is stored in the storage area of peripheral memory 93. 93 1, 93 2, 93 5, 93 6, 93 7 determines whether or not writable.

ここで、記憶領域931、937は、現在実行中のアプリケーションAで使用しているため、記憶領域932、935、936にのみアプリケーションCの初期データが書き込み可能である。したがって、管理部7は、初期データプール62から読み出したアプリケーションCの初期データを記憶領域935、936へ書き込み、周辺メモリ状況表632を更新する。 Here, the storage area 93 1, 93 7, because it uses the application A currently running, initial data storage area 93 2, 93 5, 93 6 only application C is writable. Therefore, the management unit 7 writes the initial data of the application C read from the initial data pool 62 to the storage area 93 5, 93 6, and updates the peripheral memory status table 632.

また、管理部7は、構成状況表68を参照し、現在実行中のアプリケーションAの構成情報が書き込まれていない命令メモリ94のブロック8〜15に、構成情報プール67から読み出したアプリケーションCの構成情報を書き込む。但し、構成情報プール67を参照すると、アプリケーションCは構成情報の保持に12ブロックの命令メモリ94が必要である。したがって、管理部7は、アプリケーションCの構成情報のうち、命令メモリ94の空きブロックに格納可能な構成情報C0〜C7のみを構成情報プール67から読み出して命令メモリ94のブロック8〜15に書き込む。このとき、図10fに示すように、周辺メモリ状況表632には、周辺メモリ93の記憶領域931、933、934、937、938をアプリケーションAで使用し、記憶領域932、935、936をアプリケーションCで使用していることが示されている。また、構成状況表68には、命令メモリ94のブロック0〜7でアプリケーションAの構成情報を保持し、命令メモリ94のブロック8〜15でアプリケーションCの構成情報を保持していることが示されている。 In addition, the management unit 7 refers to the configuration status table 68, and the configuration of the application C read from the configuration information pool 67 in the blocks 8 to 15 of the instruction memory 94 in which the configuration information of the currently executing application A is not written. Write information. However, referring to the configuration information pool 67, the application C requires 12 blocks of instruction memory 94 to hold the configuration information. Therefore, the management unit 7 reads only the configuration information C0 to C7 that can be stored in the empty block of the instruction memory 94 from the configuration information of the application C, and writes it to the blocks 8 to 15 of the instruction memory 94. At this time, as shown in FIG. 10f, the peripheral memory state table 632, using the storage area 93 1 in the peripheral memory 93, 93 3, 93 4, 93 7, 93 8 with application A, the storage area 93 2, it has been shown that using 93 5, 93 6 in the application C. The configuration status table 68 indicates that the configuration information of application A is held in blocks 0 to 7 of the instruction memory 94 and the configuration information of application C is held in blocks 8 to 15 of the instruction memory 94. ing.

アプリケーションAの処理が終了すると、管理部7は、アプリケーションAの実行中に書き込めなかったアプリケーションCの初期データを記憶領域931、937へ書き込む。管理部7は、まず周辺メモリ状況表632を参照することで記憶領域931、937へ初期データの書き込みが必要であり、周辺メモリ要求表631を参照することで、記憶領域937で保持されたアプリケーションAの中間データの退避が必要であることが分かる。そのため、管理部7は、記憶領域937で保持しているデータを中間データプール65の第1の記憶領域へ書き出し、中間データ管理表66に記憶領域937から中間データプール65へアプリケーションAの中間データの退避済みを示す情報を書き込む。その後、管理部7は、記憶領域931、937にアプリケーションCの初期データを書き込む。 When the processing of the application A is completed, the management unit 7 writes the initial data of the application C that could not be written while the application A running in the storage area 93 1, 93 7. Management unit 7 first the storage area 93 1, 93 7 with reference to the peripheral memory status table 632 of the initial data writing is required, by referring to the peripheral memory request table 631, held in the storage area 93 7 It can be seen that it is necessary to save the intermediate data of the application A. Therefore, the management unit 7 writes the data held in the storage area 93 7 to the first memory area of the intermediate data pool 65, from the storage area 93 7 in the intermediate data management table 66 to the intermediate data pool 65 of the application A Write information indicating that intermediate data has been saved. Then, the management unit 7 writes the initial data of the application C into the storage area 93 1, 93 7.

また、管理部7は、構成状況表68を参照し、アプリケーションAの実行中に書き込めなかったアプリケーションCの構成情報C9〜C11を構成情報プール67から読み出し、例えばアプリケーションAで使用していた命令メモリ94のブロック0〜3へ書き込む。   Further, the management unit 7 reads the configuration information C9 to C11 of the application C that could not be written during the execution of the application A from the configuration information pool 67 with reference to the configuration status table 68, for example, the instruction memory used in the application A Write to 94 blocks 0-3.

アプリケーションCの全ての構成情報の書き込みが完了すると、管理部7は、DRP9にアプリケーションCの処理を開始させる。このとき、図10gに示すように、中間データプール65には記憶領域937で保持していたアプリケーションAの中間データ(A−7)が格納され、中間データ管理表66には、該アプリケーションAの中間データ(A−7)の退避先(中間データプール65の第1の記憶領域)が示されている。また、構成状況表68には、命令メモリ94のブロック4〜7でアプリケーションAの構成情報が保持され、命令メモリ94のブロック8〜15及び0〜3でアプリケーションCの構成情報を保持していることが示されている。 When the writing of all the configuration information of the application C is completed, the management unit 7 causes the DRP 9 to start processing of the application C. At this time, as shown in FIG. 10 g, the intermediate data pool 65 stores intermediate data of the application A that has been held in the storage area 93 7 (A-7) is, the intermediate data management table 66, the application A The intermediate data (A-7) save destination (first storage area of the intermediate data pool 65) is shown. In the configuration status table 68, the configuration information of the application A is held in the blocks 4 to 7 of the instruction memory 94, and the configuration information of the application C is held in the blocks 8 to 15 and 0 to 3 of the instruction memory 94. It has been shown.

次に、アプリケーションCの実行中にアプリケーションAの実行要求を再度受信すると、管理部7は、周辺メモリ要求表631及び周辺メモリ状況表632を参照し、アプリケーションAの初期データが周辺メモリ93の記憶領域931、933、934、937、938に書き込み可能であるか否かを判定する。 Next, when the execution request of the application A is received again during the execution of the application C, the management unit 7 refers to the peripheral memory request table 631 and the peripheral memory status table 632, and the initial data of the application A is stored in the peripheral memory 93. regions 93 1, 93 3, 93 4, 93 7, determines to 93 8 whether writable.

ここでは、記憶領域931、937を現在実行中のアプリケーションCで使用しているため、記憶領域933、934、937にのみアプリケーションAの初期データの書き込みが可能である。但し、周辺メモリ状況表632を参照すると、記憶領域933、934、937には、前回アプリケーションAを実行したときの初期データが残っているため、再度書き込む必要が無い。また、命令メモリ94のブロック4〜7にはアプリケーションAの構成情報A4〜A7が残っており、他のブロックはアプリケーションCで使用しているため、管理部7は、ここでは周辺メモリ93や命令メモリ94の書き換えを実行しない。 Here, due to the use of the storage area 93 1, 93 7 the application C currently running, it is possible to write the initial data in the storage area 93 3, 93 4, 93 7 only application A. However, referring to peripheral memory status table 632, the storage area 93 3, 93 4, 93 7, since there is still the initial data when executing the last application A, there is no need to write again. In addition, since the configuration information A4 to A7 of the application A remains in the blocks 4 to 7 of the instruction memory 94 and the other blocks are used by the application C, the management unit 7 does not use the peripheral memory 93 or the instruction here. The memory 94 is not rewritten.

アプリケーションCの処理が終了すると、管理部7は、アプリケーションCの実行中に書き込めなかったアプリケーションAの初期データを記憶領域931、937に書き込む。このとき、管理部7は、中間データ管理表66を参照することで、中間データプール65の第1の記憶領域に退避している中間データ(A−7)を周辺メモリ93の記憶領域937へ書き込み、記憶領域931に初期データプール62から読み出した初期データを書き込む。また、管理部7は、中間データプール65の第1の記憶領域を無効化する。無効化は、中間データプール65への退避を示す情報を中間データ管理表66から削除することで実現する。 When the processing of the application C is completed, the management unit 7 writes the initial data of the application A that could not be written in the application C run in the storage area 93 1, 93 7. At this time, the management unit 7 refers to the intermediate data management table 66 to store the intermediate data (A-7) saved in the first storage area of the intermediate data pool 65 in the storage area 93 7 of the peripheral memory 93. to write, writing the initial data in the storage area 93 1 is read from the initial data pool 62. In addition, the management unit 7 invalidates the first storage area of the intermediate data pool 65. Invalidation is realized by deleting information indicating saving to the intermediate data pool 65 from the intermediate data management table 66.

また、管理部7は、アプリケーションCの実行中に書き込めなかったアプリケーションAの構成情報A0〜A3を命令メモリ94のブロック0〜3に書き込み、アプリケーションAの全ての構成情報の書き込みが完了した後、DRP9にアプリケーションAの処理を開始させる。このとき、図10hに示すように、中間データ管理表66ではアプリケーションAの中間データの退避先を示す情報が削除されている。また、中間データプール65の第1の記憶領域にはアプリケーションAの中間データ(A−7)が残っているが、中間データ管理表66から該中間データの退避先を示す情報が削除されているため、該中間データの読み出し処理は無効化されている。また、構成状況表68には、命令メモリ94のブロック0〜7でアプリケーションAの構成情報が保持され、命令メモリ94のブロック8〜15でアプリケーションCの構成情報が保持されていることが示されている。   Further, the management unit 7 writes the configuration information A0 to A3 of the application A that cannot be written during the execution of the application C to the blocks 0 to 3 of the instruction memory 94, and after the writing of all the configuration information of the application A is completed, The DRP 9 is made to start processing of the application A. At this time, as shown in FIG. 10h, in the intermediate data management table 66, information indicating the save destination of the intermediate data of application A is deleted. Further, the intermediate data (A-7) of the application A remains in the first storage area of the intermediate data pool 65, but information indicating the save destination of the intermediate data is deleted from the intermediate data management table 66. Therefore, the intermediate data reading process is invalidated. The configuration status table 68 indicates that the configuration information of application A is held in blocks 0 to 7 of the instruction memory 94 and the configuration information of application C is held in blocks 8 to 15 of the instruction memory 94. ing.

以下、同様にして、次に実行するアプリケーションの初期データや中間データのうち、現在実行中のアプリケーションで使用していない周辺メモリ93へ書き込む初期データや中間データは、現在実行中のアプリケーションの終了を待つことなく書き込み、現在実行中のアプリケーションで使用している周辺メモリ93へ書き込む初期データや中間データは、現在実行中のアプリケーションの終了を待って書き込む。また、その際、現在実行中のアプリケーションで使用している周辺メモリ93内の中間データの退避が必要な場合は、該中間データを中間データプール65へ書き出し、中間データ管理表66に退避後の中間データが格納された領域を記憶させる。   In the same manner, among the initial data and intermediate data of the application to be executed next, the initial data and intermediate data to be written to the peripheral memory 93 not used by the currently executing application indicate that the currently executing application is terminated. The initial data and intermediate data to be written without waiting and written to the peripheral memory 93 used by the currently executing application are written after the currently executing application is finished. At this time, if it is necessary to save intermediate data in the peripheral memory 93 used by the currently executing application, the intermediate data is written to the intermediate data pool 65 and saved in the intermediate data management table 66. An area in which intermediate data is stored is stored.

さらに、次に実行するアプリケーションの構成情報のうち、現在実行中のアプリケーションで使用していない命令メモリ94のブロックには、現在実行中のアプリケーションの終了を待つことなく次に実行するアプリケーションの構成情報を書き込み、現在実行中のアプリケーションで使用している命令メモリ94のブロックには、現在実行中のアプリケーションの終了を待って次に実行するアプリケーションの構成情報を書き込む。   Further, of the configuration information of the application to be executed next, the block of the instruction memory 94 that is not used by the currently executing application includes the configuration information of the application to be executed next without waiting for the end of the currently executing application. In the block of the instruction memory 94 used by the currently executing application, the configuration information of the application to be executed next is written after the end of the currently executing application.

本実施例のメモリデバイス管理装置によれば、DRP9が備える命令メモリ94や周辺メモリ93のうち、現在実行中のアプリケーションで使用していない記憶領域(ブロック)に対して、次に実行するアプリケーションの構成情報や初期データを先行して書き込むため、アプリケーションの切り替え時に、構成情報や初期データの書き換えに要する時間を短縮できる。   According to the memory device management apparatus of the present embodiment, the application to be executed next is stored in a storage area (block) that is not used by the currently executing application among the instruction memory 94 and the peripheral memory 93 provided in the DRP 9. Since the configuration information and the initial data are written in advance, the time required for rewriting the configuration information and the initial data can be shortened when the application is switched.

また、構成情報を用いて初期データや中間データを周辺メモリ93に読み込むための回路を作成する必要がないため、DRP9にアプリケーション以外の処理を実行させる必要がなくなる。   In addition, since it is not necessary to create a circuit for reading the initial data and intermediate data into the peripheral memory 93 using the configuration information, it is not necessary for the DRP 9 to execute processing other than the application.

したがって、再構成デバイスの全処理時間における、アプリケーションの処理時間の割合を増大させることができる。したがって、本実施例のメモリデバイス管理装置を用いることで、再構成デバイスの処理性能(スループット)が向上する。   Therefore, the ratio of the application processing time to the total processing time of the reconfigurable device can be increased. Therefore, by using the memory device management apparatus of this embodiment, the processing performance (throughput) of the reconfigurable device is improved.

1、6 管理データ記憶部
2、7 管理部
3 第1の再構成可能ハードウェア
4 第2の再構成可能ハードウェア
5 第3の再構成可能ハードウェア
8 FPGA
9 DRP
11、61、67 構成情報プール
12、62 初期データプール
13 記憶部管理部
14、68 構成状況表
15、65 中間データプール
16、66 中間データ管理表
31、41、51 制御部
32、42、52 演算部
33、43、53 処理データ記憶部
34、44、54 構成情報記憶部
63 周辺メモリ管理部
64 構成状況レジスタ
81 ゲートアレイ
83、93 周辺メモリ
91 PE群
92 STC
94 命令メモリ
131 記憶部要求表
132 記憶部状況表
631 周辺メモリ要求表
632 周辺メモリ状況表
DESCRIPTION OF SYMBOLS 1, 6 Management data storage part 2, 7 Management part 3 1st reconfigurable hardware 4 2nd reconfigurable hardware 5 3rd reconfigurable hardware 8 FPGA
9 DRP
11, 61, 67 Configuration information pool 12, 62 Initial data pool 13 Storage management unit 14, 68 Configuration status table 15, 65 Intermediate data pool 16, 66 Intermediate data management table 31, 41, 51 Control unit 32, 42, 52 Arithmetic unit 33, 43, 53 Processing data storage unit 34, 44, 54 Configuration information storage unit 63 Peripheral memory management unit 64 Configuration status register 81 Gate array 83, 93 Peripheral memory 91 PE group 92 STC
94 Instruction memory 131 Storage unit request table 132 Storage unit status table 631 Peripheral memory request table 632 Peripheral memory status table

Claims (8)

再構成デバイスが備える記憶部を管理するためのメモリデバイス管理方法であって、
前記再構成デバイスで実行するアプリケーション毎の構成情報が格納される構成情報プール、前記アプリケーションの処理対象となるデータ及び該アプリケーションで必要なデータを含む初期データが格納される初期データプール、前記アプリケーションの実行時に該アプリケーションの前記初期データの保持に用いる前記記憶部の領域を示す記憶部要求表、並びに前記記憶部を使用しているアプリケーションを示す記憶部状況表を備えた管理データ記憶部を備えておき、
前記アプリケーションの実行要求を受信すると、前記構成情報プールから該アプリケーションの構成情報を読み出して前記記憶部へ書き込み、
前記記憶部要求表及び前記記憶部状況表を参照して、前記記憶部に無い該アプリケーションの前記初期データを前記初期データプールから読み出して前記記憶部へ書き込むメモリデバイス管理方法。
A memory device management method for managing a storage unit included in a reconfigurable device,
A configuration information pool storing configuration information for each application executed by the reconfigurable device, an initial data pool storing initial data including data to be processed by the application and data necessary for the application, A management data storage unit including a storage unit request table indicating an area of the storage unit used for holding the initial data of the application at the time of execution, and a storage unit status table indicating an application using the storage unit; Every
Upon receiving the application execution request, the application configuration information is read from the configuration information pool and written to the storage unit,
A memory device management method that reads the initial data of the application that is not in the storage unit from the initial data pool and writes it in the storage unit with reference to the storage unit request table and the storage unit status table.
前記記憶部要求表及び前記記憶部状況表を参照して、実行中のアプリケーションで使用していない前記記憶部の領域に、次に実行するアプリケーションの前記初期データを書き込む請求項2記載のメモリデバイス管理方法。   3. The memory device according to claim 2, wherein the initial data of an application to be executed next is written in an area of the storage unit that is not used by a running application with reference to the storage unit request table and the storage unit status table. Management method. 前記管理データ記憶部に、
前記アプリケーションによる処理途中のデータである中間データが格納される中間データプール、前記中間データが格納された前記中間データプールの記憶領域を示す中間データ管理表を備え、前記記憶部要求表に前記中間データとして退避や再書き込みが必要であるか否かを示す情報を含み、
前記前記記憶部要求表を参照して、前記アプリケーションの処理時に前記中間データを前記中間データプールに退避させ、該アプリケーションの再実行時に前記記憶部要求表及び前記中間データ管理表を参照して前記中間データプールから所要の中間データを前記記憶部へ書き込む請求項1または2記載のメモリデバイス管理方法。
In the management data storage unit,
An intermediate data pool that stores intermediate data that is being processed by the application; an intermediate data management table that indicates a storage area of the intermediate data pool in which the intermediate data is stored; and the storage unit request table includes the intermediate data management table Including information indicating whether saving or rewriting is required as data,
Referring to the storage unit request table, the intermediate data is saved in the intermediate data pool when the application is processed, and the storage unit request table and the intermediate data management table are referred to when the application is re-executed. 3. The memory device management method according to claim 1, wherein required intermediate data is written from the intermediate data pool to the storage unit.
前記管理データ記憶部に、
前記記憶部で保持している前記アプリケーションの構成情報を示す構成状況表を備え、
前記構成状況表を参照して、実行中のアプリケーションで使用していない前記記憶部の領域に、次に実行するアプリケーションの構成情報を書き込む請求項1から3のいずれか1項記載のメモリデバイス管理方法。
In the management data storage unit,
Comprising a configuration status table indicating configuration information of the application held in the storage unit;
The memory device management according to any one of claims 1 to 3, wherein configuration information of an application to be executed next is written in an area of the storage unit that is not used by an application being executed with reference to the configuration status table. Method.
再構成デバイスが備える記憶部を管理するメモリデバイス管理装置であって、
前記再構成デバイスで実行するアプリケーション毎の構成情報が格納される構成情報プール、前記アプリケーションの処理対象となるデータ及び該アプリケーションで必要なデータを含む初期データが格納される初期データプール、前記アプリケーションの実行時に該アプリケーションの前記初期データの保持に用いる前記記憶部の領域を示す記憶部要求表、並びに前記記憶部を使用しているアプリケーションを示す記憶部状況表を備えた管理データ記憶部と、
前記アプリケーションの実行要求を受信すると、前記構成情報プールから該アプリケーションの構成情報を読み出して前記記憶部へ書き込み、前記記憶部要求表及び前記記憶部状況表を参照して、前記記憶部に無い該アプリケーションの前記初期データを前記初期データプールから読み出して前記記憶部へ書き込む管理部と、
を有するメモリデバイス管理装置。
A memory device management apparatus for managing a storage unit included in a reconfigurable device,
A configuration information pool storing configuration information for each application executed by the reconfigurable device, an initial data pool storing initial data including data to be processed by the application and data necessary for the application, A management data storage unit comprising a storage unit request table indicating an area of the storage unit used for holding the initial data of the application at the time of execution, and a storage unit status table indicating an application using the storage unit;
When receiving the execution request of the application, the configuration information of the application is read from the configuration information pool and written to the storage unit, and the storage unit request table and the storage unit status table are referred to, and the storage unit is not in the storage unit. A management unit that reads the initial data of the application from the initial data pool and writes the initial data to the storage unit;
A memory device management apparatus.
前記管理部は、
前記記憶部要求表及び前記記憶部状況表を参照して、実行中のアプリケーションで使用していない前記記憶部の領域に、次に実行するアプリケーションの前記初期データを書き込む請求項5記載のメモリデバイス管理装置。
The management unit
6. The memory device according to claim 5, wherein the initial data of the application to be executed next is written to an area of the storage unit that is not used by a running application with reference to the storage unit request table and the storage unit status table. Management device.
前記管理データ記憶部は、
前記アプリケーションによる処理途中のデータである中間データが格納される中間データプール、前記中間データが格納された前記中間データプールの記憶領域を示す中間データ管理表を備え、前記記憶部要求表に前記中間データとして退避や再書き込みが必要であるか否かを示す情報を含み、
前記管理部は、
前記前記記憶部要求表を参照して、前記アプリケーションの処理時に前記中間データを前記中間データプールに退避させ、該アプリケーションの再実行時に前記記憶部要求表及び前記中間データ管理表を参照して前記中間データプールから所要の中間データを前記記憶部へ書き込む請求項5または6記載のメモリデバイス管理装置。
The management data storage unit
An intermediate data pool that stores intermediate data that is being processed by the application; an intermediate data management table that indicates a storage area of the intermediate data pool in which the intermediate data is stored; and the storage unit request table includes the intermediate data management table Including information indicating whether saving or rewriting is required as data,
The management unit
Referring to the storage unit request table, the intermediate data is saved in the intermediate data pool when the application is processed, and the storage unit request table and the intermediate data management table are referred to when the application is re-executed. 7. The memory device management apparatus according to claim 5, wherein required intermediate data is written from the intermediate data pool to the storage unit.
前記管理データ記憶部は、
前記記憶部で保持している前記アプリケーションの構成情報を示す構成状況表を備え、
前記管理部は、
前記構成状況表を参照して、実行中のアプリケーションで使用していない前記記憶部の領域に、次に実行するアプリケーションの構成情報を書き込む請求項5から7のいずれか1項記載のメモリデバイス管理装置。
The management data storage unit
Comprising a configuration status table indicating configuration information of the application held in the storage unit;
The management unit
8. The memory device management according to claim 5, wherein configuration information of an application to be executed next is written in an area of the storage unit that is not used by an application being executed with reference to the configuration status table. apparatus.
JP2010040151A 2010-02-25 2010-02-25 Method and apparatus for managing memory device Pending JP2011175535A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010040151A JP2011175535A (en) 2010-02-25 2010-02-25 Method and apparatus for managing memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010040151A JP2011175535A (en) 2010-02-25 2010-02-25 Method and apparatus for managing memory device

Publications (1)

Publication Number Publication Date
JP2011175535A true JP2011175535A (en) 2011-09-08

Family

ID=44688325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010040151A Pending JP2011175535A (en) 2010-02-25 2010-02-25 Method and apparatus for managing memory device

Country Status (1)

Country Link
JP (1) JP2011175535A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003347930A (en) * 2002-05-28 2003-12-05 Konica Minolta Holdings Inc Programmable logic circuit and computer system, and cache method
JP2008152470A (en) * 2006-12-15 2008-07-03 Hitachi Ltd Data processing system and semiconductor integrated circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003347930A (en) * 2002-05-28 2003-12-05 Konica Minolta Holdings Inc Programmable logic circuit and computer system, and cache method
JP2008152470A (en) * 2006-12-15 2008-07-03 Hitachi Ltd Data processing system and semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
TWI590049B (en) Memory device and operating method of same
CN103034617B (en) For realizing buffer structure and the management method of the storage of reconfigurable system configuration information
US9244883B2 (en) Reconfigurable processor and method of reconfiguring the same
CN100533428C (en) Semiconductor device
JP2015184799A (en) cache memory and processor system
US20110035562A1 (en) Providing mirroring write data
JPWO2009063584A1 (en) Programmable device, device control method, and information processing system
JP5776688B2 (en) Information processing apparatus and task switching method
US10289787B2 (en) Control program and control method for programmable logic device and information processing apparatus including the same
CN110781016B (en) Data processing method, device, equipment and medium
KR20140014299A (en) Shiftable memory
JP2006287675A (en) Semiconductor integrated circuit
KR20170141205A (en) A central processing unit having a DSP engine and an enhanced context switch function unit
JP2012190359A (en) Cache system and processing device
US10146483B2 (en) Memory system
JP2010002986A (en) Reconfigurable electronic circuit unit
CN105389134A (en) Flash memory interface control method and apparatus
JP2007272671A (en) Motion composition device, debugging device, write device and circuit design support system and method
CN103907108B (en) Share method, controller and the system of flash memory
US20130132659A1 (en) Microcontroller and method of controlling microcontroller
JP2009175960A (en) Virtual multiprocessor system
JP2008090455A (en) Multiprocessor signal processor
JP2011175535A (en) Method and apparatus for managing memory device
JP6757717B2 (en) Memory management in multiprocessor systems
JP2008060714A (en) Information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140311