JP2009163328A - Information processor and its control method - Google Patents

Information processor and its control method Download PDF

Info

Publication number
JP2009163328A
JP2009163328A JP2007339939A JP2007339939A JP2009163328A JP 2009163328 A JP2009163328 A JP 2009163328A JP 2007339939 A JP2007339939 A JP 2007339939A JP 2007339939 A JP2007339939 A JP 2007339939A JP 2009163328 A JP2009163328 A JP 2009163328A
Authority
JP
Japan
Prior art keywords
processor
processing
reconfigurable device
information
call
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.)
Withdrawn
Application number
JP2007339939A
Other languages
Japanese (ja)
Inventor
Takanao Amatsubo
孝尚 雨坪
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007339939A priority Critical patent/JP2009163328A/en
Publication of JP2009163328A publication Critical patent/JP2009163328A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor including a reconfigurable circuit and an information processing method for executing specific processing at high speed. <P>SOLUTION: A storage part 12a stores first information showing a circuit related with specific processing and second information showing whether or not a processing time by the circuit shown by the first information depends on data. When recognizing a specific call, a first processor 11 refers to the first information, and judges whether or not the call is executable by a reconfigurable device 12, and when it is judged that the call is not executable, the first processor 11 executes processing, and outputs the processing result, and when judging that the call is executable by the reconfigurable device 12, the first processor 11 refers to the second information, and when it is judged that the processing time does not depend on the data, the reconfigurable device 12 executes the processing, and outputs the result, and when it is judged that the processing time depends on the data, the first processor 11 and the reconfigurable device 12 are made to simultaneously execute the processing, and the result of the processing which has been completed first is output. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、例えばプロセッサと、回路構成を変更可能なリコンフィギュラブル回路とを含む情報処理装置及びその制御方法に関する。   The present invention relates to an information processing apparatus including, for example, a processor and a reconfigurable circuit whose circuit configuration can be changed, and a control method thereof.

再構成可能なロジック回路を用いて演算処理の高速化を図るデータ処理装置が開発されている。従来の再構成可能なロジック回路を用いたデータ処理装置として、例えば再構成可能なハードウェア(以下、HWと略称する)に、加速したい処理を実現できるように予め再構成しておく技術が開発されている(例えば特許文献1を参照)。しかし、このデータ処理装置は、再構成可能なHWは使いたいときだけ使用可能にするという方法であり、再構成可能なHWを動的に変更できない。また、加速したい機能が複数あるとき、再構成可能なHWを複数用意する必要があり、回路規模が増大する。   Data processing devices have been developed that use a reconfigurable logic circuit to speed up arithmetic processing. As a conventional data processing device using a reconfigurable logic circuit, for example, a technology has been developed in which reconfigurable hardware (hereinafter abbreviated as HW) is reconfigured in advance so as to realize processing that is desired to be accelerated. (See, for example, Patent Document 1). However, this data processing apparatus is a method in which a reconfigurable HW is made available only when it is desired to use it, and the reconfigurable HW cannot be changed dynamically. Further, when there are a plurality of functions to be accelerated, it is necessary to prepare a plurality of reconfigurable HWs, which increases the circuit scale.

また、動的にHWの再構成が可能とされたデータ処理装置が開発されている(例えば特許文献2を参照)。このデータ処理装置は、特定の命令が実行された場合、HWの再構成後にHWにて処理を実行する場合と、CPUで全ての処理を実行する場合とでどちらが速いかをCPUにて判定する。この結果、HWの再構成後にHWにて処理を実行する場合の方が速いと判断した場合、CPUによりHWの再構成の指示が出力され、CPUによるデータ処理とHWの再構成とを並行して実行する。HWの再構成完了後、CPUは処理の途中結果等をHWへ渡して処理実行のための準備をし、HWに処理を実行させる。CPUはHWに処理を実行させている間、並行して他の処理を実行することが可能である。   In addition, a data processing apparatus capable of dynamically reconfiguring the HW has been developed (see, for example, Patent Document 2). In this data processing apparatus, when a specific instruction is executed, the CPU determines which is faster, in the case where the process is executed in the HW after the HW is reconfigured or in the case where all processes are executed by the CPU. . As a result, if it is determined that the processing in the HW is faster after the HW is reconfigured, the CPU outputs an instruction to reconfigure the HW, and the CPU performs the data processing and the HW reconfiguration in parallel. And execute. After completing the reconfiguration of the HW, the CPU passes the intermediate result of the processing to the HW, prepares for the execution of the processing, and causes the HW to execute the processing. While the CPU causes the HW to execute a process, it is possible to execute another process in parallel.

このデータ処理装置の場合、CPUの処理とHWの処理を並行して実行することができ、HWの再構成に要する時間が処理全体の所要時間に遅延をもたらすことを抑制できる。   In the case of this data processing apparatus, CPU processing and HW processing can be executed in parallel, and the time required for HW reconfiguration can be suppressed from causing a delay in the time required for the entire processing.

しかし、このデータ処理装置において、HWの再構成後にHWにて処理を実行する場合と、CPUで全ての処理を実行する場合のどちらが速いかを判定することが容易ではない場合、この判定をしている期間、CPUによる処理が進まなくなる。特に、処理に要する時間がデータに依存する場合、実行前にどちらの処理が速いかを判定することが難しく、一層処理の遅延をきたす事となる。
特許第3340343号公報 特許第3723775号公報
However, in this data processing apparatus, if it is not easy to determine which is faster when executing processing at the HW after reconfiguration of the HW or when executing all processing at the CPU, this determination is made. During this period, processing by the CPU does not proceed. In particular, when the time required for processing depends on data, it is difficult to determine which processing is faster before execution, resulting in further processing delay.
Japanese Patent No. 3340343 Japanese Patent No. 3723775

本発明は、再構成可能な回路を含み、特定の処理を実行する際、高速な処理が可能な情報処理装置及びその制御方法を提供しようとするものである。   An object of the present invention is to provide an information processing apparatus including a reconfigurable circuit and capable of performing high-speed processing when executing specific processing, and a control method thereof.

本発明の情報処理装置の態様は、第1のプロセッサと、前記第1のプロセッサに接続され、回路構成を再構成できるリコンフィギュラブルデバイスと、前記リコンフィギュラブルデバイス内に設けられ、特定の処理に関する回路構成を示す第1の情報と、前記第1の情報が示す回路による前記特定の処理の処理時間が、データに依存するか否かを示す第2の情報を記憶する記憶部とを具備し、前記第1のプロセッサは、前記特定の処理のコールを認識すると前記記憶部に記憶された前記第1の情報を参照し、前記リコンフィギュラブルデバイスにて前記コールが実行可能かどうか判断し、前記コールを実行出来ないと判断した場合、前記第1のプロセッサにて処理を実行して処理結果を出力し、前記リコンフィギュラブルデバイスにて前記コールを実行できると判断した場合、前記記憶部に記憶された前記第2の情報を参照し、データに依存しないと判断した場合は前記リコンフィギュラブルデバイスにて前記特定の処理を実行して結果を出力し、データに依存すると判断した場合は前記第1のプロセッサと前記リコンフィギュラブルデバイスを同時に処理させ、早く処理が終了した方の結果を出力することを特徴とする。   An aspect of the information processing apparatus according to the present invention includes a first processor, a reconfigurable device connected to the first processor and capable of reconfiguring a circuit configuration, a specific process provided in the reconfigurable device And a storage unit that stores second information indicating whether or not the processing time of the specific processing by the circuit indicated by the first information depends on data. When the first processor recognizes the call of the specific process, the first processor refers to the first information stored in the storage unit and determines whether the call can be executed by the reconfigurable device. If it is determined that the call cannot be executed, the first processor executes processing, outputs a processing result, and the reconfigurable device outputs the processing result. The second information stored in the storage unit is referred to, and if it is determined not to depend on the data, the specific process is executed in the reconfigurable device and the result is determined. And the first processor and the reconfigurable device are processed at the same time, and the result of the earlier processing is output.

本発明の情報処理装置の制御方法の態様は、第1のプロセッサは、特定の処理のコールを認識した場合、リコンフィギュラブルデバイスの記憶部に記憶された前記特定の処理に関する回路構成を示す第1の情報を参照して前記リコンフィギュラブルデバイスにて前記コールが実行可能かどうか判断し、前記コールを実行出来ないと判断した場合、前記第1のプロセッサにて処理を実行して処理結果を出力し、前記リコンフィギュラブルデバイスにて前記コールを実行できると判断した場合、前記記憶部に記憶された前記第1の情報が示す回路による前記特定の処理の処理時間がデータに依存するか否かを示す第2の情報を参照し、データに依存しない場合は前記リコンフィギュラブルデバイスにて前記特定の処理を実行して結果を出力し、データに依存する場合は前記第1のプロセッサと前記リコンフィギュラブルデバイスを同時に処理させ、早く処理が終了した方の結果を出力することを特徴とする。   According to the aspect of the control method of the information processing apparatus of the present invention, when the first processor recognizes the call of the specific process, the first processor shows a circuit configuration related to the specific process stored in the storage unit of the reconfigurable device. 1 is referred to to determine whether the call can be executed by the reconfigurable device, and if it is determined that the call cannot be executed, the first processor executes the processing and the processing result is obtained. If the output is determined and the call can be executed by the reconfigurable device, whether the processing time of the specific processing by the circuit indicated by the first information stored in the storage unit depends on the data If the data does not depend on the data, the reconfigurable device executes the specific process and outputs the result. Depend on the data is to simultaneously process the reconfigurable device and the first processor, characterized in that the fast processing and outputs the result of the person who has finished.

本発明によれば、再構成可能な回路を含み、特定の処理を実行する際、高速な処理が可能な情報処理装置及びその制御方法を提供できる。   According to the present invention, it is possible to provide an information processing apparatus including a reconfigurable circuit and capable of performing high-speed processing when executing specific processing, and a control method thereof.

以下、本発明の実施の形態について、図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(実施形態)
先ず、図1を用いて概略的に本実施形態の構成を説明する。
(Embodiment)
First, the configuration of the present embodiment will be schematically described with reference to FIG.

第1のプロセッサ11は例えばALU(arithmetic and logic unit)11aを具備している。第1のプロセッサ11はリコンフィギュラブルデバイス12に接続されている。第1のプロセッサ11はインターフェース(以下I/Fと略称する)14を介してバス15に接続され、リコンフィギュラブルデバイス12はI/F16を介してバス15に接続されている。リコンフィギュラブルデバイス12には、例えば記憶部としてのステータスレジスタ12aが設けられている。ステータスレジスタ12aには、リコンフィギュラブルデバイス12内の回路構成を示す識別情報としてのコンフィグIDと、その設定された回路による処理時間がデータに依存するか否かを示すフラグ(FLG)が記憶されている。   The first processor 11 includes, for example, an ALU (arithmetic and logic unit) 11a. The first processor 11 is connected to the reconfigurable device 12. The first processor 11 is connected to the bus 15 via an interface (hereinafter abbreviated as I / F) 14, and the reconfigurable device 12 is connected to the bus 15 via an I / F 16. The reconfigurable device 12 is provided with a status register 12a as a storage unit, for example. The status register 12a stores a configuration ID as identification information indicating the circuit configuration in the reconfigurable device 12, and a flag (FLG) indicating whether the processing time of the set circuit depends on the data. ing.

第2のプロセッサ13とメインメモリ17とDMAC(Direct Memory Access Controller)18はバス15に接続され、DMAC18は第2のプロセッサ13からの指令を受けて、メインメモリ17の動作を制御する。   The second processor 13, the main memory 17, and a DMAC (Direct Memory Access Controller) 18 are connected to the bus 15, and the DMAC 18 receives an instruction from the second processor 13 and controls the operation of the main memory 17.

第1のローカルメモリ19は第1のプロセッサ11に接続され、I/F14を介してバス15に接続されている。第2のローカルメモリ20は第1のプロセッサ11とリコンフィギュラブルデバイス12に接続され、I/F14を介してバス15に接続されている。第1のローカルメモリ19は、例えば第1のプロセッサ11のプログラム及びデータ等を記憶する。第2のローカルメモリ20は、例えば第1のプロセッサ11とリコンフィギュラブルデバイス12で共有するデータ等を保存する。   The first local memory 19 is connected to the first processor 11 and is connected to the bus 15 via the I / F 14. The second local memory 20 is connected to the first processor 11 and the reconfigurable device 12, and is connected to the bus 15 via the I / F 14. The first local memory 19 stores, for example, a program and data of the first processor 11. The second local memory 20 stores, for example, data shared by the first processor 11 and the reconfigurable device 12.

例えばDSP(Digital Signal Processor)21とVLIW(Very Long Instruction Word)型コプロセッサ22はそれぞれ第2のローカルメモリ20に接続されている。   For example, a DSP (Digital Signal Processor) 21 and a VLIW (Very Long Instruction Word) coprocessor 22 are respectively connected to the second local memory 20.

SDRAM(Synchronous Dynamic Random Access Memory)23はSDRAMC(Synchronous Dynamic Random Access Memory Controller)24を介してバス15に接続されている。周辺装置25、26は、バス27に接続されている。周辺装置25、26は例えばシリアルI/FやUART(Universal asynchronous receiver transmitter)等である。バス27とバス15はバスブリッジ28に接続されている。   An SDRAM (Synchronous Dynamic Random Access Memory) 23 is connected to the bus 15 via an SDRAMC (Synchronous Dynamic Random Access Memory Controller) 24. The peripheral devices 25 and 26 are connected to the bus 27. The peripheral devices 25 and 26 are, for example, a serial I / F or a UART (Universal asynchronous receiver transmitter). The bus 27 and the bus 15 are connected to the bus bridge 28.

前記第1のプロセッサ11は例えばメディア処理プロセッサであり、ソフトウェア(以下、SWと略称する)により特定の処理、例えば関数処理を実行可能とされている。関数処理は複数命令の集合であり、例えば関数処理サブルーチンである。第1のプロセッサ11は、関数処理がコールされると、ステータスレジスタ12aからフラグとコンフィグIDを参照する。第1のプロセッサ11は、コンフィグIDよりリコンフィギュラブルデバイス12上に設定されている関数処理に関する回路構成が何かを判断する。関数処理を実行する場合、コンフィグIDとフラグによって、リコンフィギュラブルデバイス12かSWのどちらか一方、もしくは同時に実行させる。   The first processor 11 is, for example, a media processing processor, and can execute a specific process, for example, a function process, by software (hereinafter abbreviated as SW). The function processing is a set of a plurality of instructions, for example, a function processing subroutine. When the function processing is called, the first processor 11 refers to the flag and the configuration ID from the status register 12a. The first processor 11 determines what the circuit configuration related to the function processing set on the reconfigurable device 12 is based on the configuration ID. When the function processing is executed, either the reconfigurable device 12 or the SW is executed simultaneously with the configuration ID and the flag.

第1のプロセッサ11とリコンフィギュラブルデバイス12の少なくとも一方を使って関数処理を実行する場合で、処理に必要なデータはメインメモリ17からバス15、I/F14を介して第2のローカルメモリ20に転送される。第1のプロセッサ11とリコンフィギュラブルデバイス12の少なくとも一方は、第2のローカルメモリ20よりデータを読み出し、関数処理を実行する。第1のプロセッサ11は、リコンフィギュラブルデバイス12が処理を実行している場合において、リコンフィギュラブルデバイス12からの割り込み要求(Interrupt Request:以下、IRQと略称する)を受信した場合、リコンフィギュラブルデバイス12から処理結果を回収する。   When function processing is executed using at least one of the first processor 11 and the reconfigurable device 12, data necessary for processing is transferred from the main memory 17 to the second local memory 20 via the bus 15 and the I / F 14. Forwarded to At least one of the first processor 11 and the reconfigurable device 12 reads data from the second local memory 20 and executes function processing. When the reconfigurable device 12 is executing processing, the first processor 11 receives the interrupt request (Interrupt Request: hereinafter abbreviated as IRQ) from the reconfigurable device 12 and reconfigurable. The processing result is collected from the device 12.

リコンフィギュラブルデバイス12は、例えば外部から与えられるデータに基づき内部構成が変更できる回路である。リコンフィギュラブルデバイス12は、第2のプロセッサ13からの再構成指令により例えば関数処理に関する回路を再構成する。リコンフィギュラブルデバイス12は、設定されている回路を示す第1の情報であるコンフィグIDをステータスレジスタ12aに記憶する。また、あるコンフィグIDが示す回路による関数処理に要する時間がデータに依存する場合、第2の情報であるフラグをステータスレジスタ12aに設定する。リコンフィギュラブルデバイス12が関数処理を実行し、完了した場合、第1のプロセッサ11にIRQを出力する。   The reconfigurable device 12 is a circuit whose internal configuration can be changed based on, for example, data given from the outside. The reconfigurable device 12 reconfigures a circuit related to function processing, for example, in accordance with a reconfiguration command from the second processor 13. The reconfigurable device 12 stores a configuration ID, which is first information indicating the set circuit, in the status register 12a. If the time required for function processing by a circuit indicated by a certain configuration ID depends on the data, a flag as second information is set in the status register 12a. When the reconfigurable device 12 executes and completes the function processing, the IRQ is output to the first processor 11.

第2のプロセッサ13は例えば本発明の回路全体の制御を行い、再構成処理も兼ねる全体制御CPUである。第2のプロセッサ13は、第1のプロセッサ11によるステータスレジスタ12aへのコンフィグIDの呼び出しを監視する。コンフィグIDが第1のプロセッサ11に呼び出され、ステータスレジスタ12aに設定されているコンフィグIDと不一致の場合で、その不一致の回数が規定値以上、例えば数回続いている場合、第2のプロセッサ13は不一致の回数が規定値以上のコンフィグIDに基づく回路をリコンフィギュラブルデバイス12に設定する。第2のプロセッサ13は、リコンフィギュラブルデバイス12を再構成する都度、ステータスレジスタ12aのコンフィグIDとフラグの設定を書き替える。第2のプロセッサ13は、システム起動時は、最も使用頻度が高いと考えられる回路を予めリコンフィギュラブルデバイス12に設定しておく。   The second processor 13 is, for example, an overall control CPU that controls the entire circuit of the present invention and also serves as a reconfiguration process. The second processor 13 monitors the calling of the configuration ID to the status register 12a by the first processor 11. When the configuration ID is called by the first processor 11 and does not match the configuration ID set in the status register 12a, and the number of times of the mismatch continues over a predetermined value, for example, several times, the second processor 13 Sets a circuit based on the configuration ID in which the number of mismatches is equal to or greater than a specified value in the reconfigurable device 12. Each time the reconfigurable device 12 is reconfigured, the second processor 13 rewrites the configuration ID and flag setting of the status register 12a. The second processor 13 sets a circuit that is considered to be used most frequently in the reconfigurable device 12 in advance when the system is started.

メインメモリ17は例えばリコンフィギュラブルデバイス12の再構成に使用されるコンフィグデータ等を記憶している。   The main memory 17 stores, for example, configuration data used for reconfiguration of the reconfigurable device 12.

次に、図1、図2、図3を用いて本実施形態を第1のプロセッサ11の動作を中心として具体的に説明する。   Next, the present embodiment will be specifically described with reference to FIGS. 1, 2, and 3, focusing on the operation of the first processor 11.

第1のプロセッサ11が特定の処理として関数コール(例えば関数処理を実行するサブルーチンのコール)を認識した場合(S101)、第1のプロセッサ11はリコンフィギュラブルデバイス12に設けられたステータスレジスタ12aに設定されているコンフィグIDを参照する(S102)。この参照したコンフィグIDに基づき、リコンフィギュラブルデバイス12に設定されている回路構成が、その関数を実行可能かどうか判断する(S103)。   When the first processor 11 recognizes a function call (for example, a subroutine call for executing a function process) as a specific process (S101), the first processor 11 stores a status register 12a provided in the reconfigurable device 12 in the status register 12a. The set configuration ID is referred to (S102). Based on the referenced configuration ID, it is determined whether or not the circuit configuration set in the reconfigurable device 12 can execute the function (S103).

回路構成が関数を実行可能である場合、第1のプロセッサ11はステータスレジスタ12aより、関数処理にかかる時間がデータに依存するかどうか、つまりフラグが設定されているか否かを判断する(S104)。   When the circuit configuration can execute the function, the first processor 11 determines from the status register 12a whether the time required for the function processing depends on the data, that is, whether the flag is set (S104). .

フラグが設定されていない場合、第1のプロセッサ11は関数の実行処理をリコンフィギュラブルデバイス12に実行させる(S105)。   When the flag is not set, the first processor 11 causes the reconfigurable device 12 to execute the function execution process (S105).

リコンフィギュラブルデバイス12は、処理が完了した場合、第1のプロセッサ11にIRQを出力する(S106)。第1のプロセッサ11はリコンフィギュラブルデバイス12からのIRQを受けた場合、リコンフィギュラブルデバイス12から処理結果を回収し、出力する(S107)。   When the process is completed, the reconfigurable device 12 outputs an IRQ to the first processor 11 (S106). When receiving the IRQ from the reconfigurable device 12, the first processor 11 collects and outputs the processing result from the reconfigurable device 12 (S107).

ステップS104において、フラグが設定されていると判断された場合、リコンフィギュラブルデバイス12と第1のプロセッサ11のSWで関数処理を実行する(S108)。リコンフィギュラブルデバイス12から第1のプロセッサ11へIRQが出力された場合(S109)、第1のプロセッサ11はSW処理を停止し(S110)、リコンフィギュラブルデバイス12から結果を回収し、出力する(S111)。   If it is determined in step S104 that the flag is set, function processing is executed by the reconfigurable device 12 and the SW of the first processor 11 (S108). When the IRQ is output from the reconfigurable device 12 to the first processor 11 (S109), the first processor 11 stops the SW process (S110), collects the result from the reconfigurable device 12, and outputs the result. (S111).

一方、リコンフィギュラブルデバイス12とSWで関数処理を実行している状態において、リコンフィギュラブルデバイス12からのIRQが出力される前にSW処理が完了した場合(S112)、第1のプロセッサ11はリコンフィギュラブルデバイス12の関数処理を停止させ(S113)、SW処理による結果を出力する(S114)。   On the other hand, when the SW processing is completed before the IRQ is output from the reconfigurable device 12 in a state where the function processing is executed by the reconfigurable device 12 and the SW (S112), the first processor 11 The function process of the reconfigurable device 12 is stopped (S113), and the result of the SW process is output (S114).

ところで、第2のプロセッサ13は第1のプロセッサ11のステータスレジスタ12aへのアクセス状況を監視している。第2のプロセッサ13はステップS103において第1のプロセッサ11が呼び出すコンフィグIDがステータスレジスタ12aに記憶されたコンフィグIDと不一致であると判断した場合、図3で示すように、その不一致回数が規定値以上かどうかを判断する(S201)。不一致回数が規定値に達しない場合、第1のプロセッサ11はSWにより関数処理を実行し、結果を出力する(S202)。不一致回数が例えば規定回数(規定値)以上続いた場合、第2のプロセッサ13は、同じコンフィグIDが呼び出される確率が高いと判断し、このコンフィグIDに対応するコンフィグデータをメインメモリ17からリコンフィギュラブルデバイス12に供給し、リコンフィギュラブルデバイス12における回路の設定を開始する(S203)。第1のプロセッサ11はSWにより関数処理を実行し、結果を出力する(S202)。SWによる処理実行中に、リコンフィギュラブルデバイス12は供給されたコンフィグデータに基づいて回路を再構成する(S204)。第2のプロセッサ13は再構成した回路に基づいてコンフィグIDとフラグをステータスレジスタ12aに設定する(S205)。   By the way, the second processor 13 monitors the access status of the first processor 11 to the status register 12a. If the second processor 13 determines in step S103 that the configuration ID called by the first processor 11 does not match the configuration ID stored in the status register 12a, the number of mismatches is a specified value as shown in FIG. It is determined whether or not this is the case (S201). If the number of mismatches does not reach the specified value, the first processor 11 executes function processing with SW and outputs the result (S202). If the number of mismatches continues for a specified number of times (specified value) or more, for example, the second processor 13 determines that the probability that the same configuration ID is called is high, and reconfigures the configuration data corresponding to this configuration ID from the main memory 17. Then, the setting of the circuit in the reconfigurable device 12 is started (S203). The first processor 11 executes function processing by SW and outputs the result (S202). During the process execution by SW, the reconfigurable device 12 reconfigures the circuit based on the supplied configuration data (S204). The second processor 13 sets a configuration ID and a flag in the status register 12a based on the reconfigured circuit (S205).

上記実施形態によれば、リコンフィギュラブルデバイス12は、ステータスレジスタ12aを有し、このステータスレジスタ12aは、リコンフィギュラブルデバイス12に設定された関数処理に関する回路構成を示すコンフィグIDと、関数処理に関する回路構成の処理時間がデータに依存することを示すフラグとを記憶する。第1のプロセッサ11は、関数処理のコールを認識するとコンフィグIDとフラグを判別し、第1のプロセッサ11とリコンフィギュラブルデバイス12の処理を切り替えている。従って、リコンフィギュラブルデバイス12の処理時間と第1のプロセッサ11によるSWの処理時間を判定したり、リコンフィギュラブルデバイス12を再構成すべきかどうかを判断したりする必要がなく、コンフィグIDとフラグの判別のみにより、第1のプロセッサ11とリコンフィギュラブルデバイス12のうちのいずれかに処理を実行させることができる。しかも、第1のプロセッサ11とリコンフィギュラブルデバイス12の両方により処理を実行させた場合、早く終了した処理結果を利用している。このため、処理の高速化が可能である。   According to the above embodiment, the reconfigurable device 12 includes the status register 12a, and the status register 12a relates to the configuration ID indicating the circuit configuration related to the function processing set in the reconfigurable device 12, and to the function processing. A flag indicating that the processing time of the circuit configuration depends on the data is stored. When the first processor 11 recognizes the function processing call, the first processor 11 determines the configuration ID and the flag, and switches the processing of the first processor 11 and the reconfigurable device 12. Therefore, it is not necessary to determine the processing time of the reconfigurable device 12 and the SW processing time by the first processor 11 or to determine whether or not the reconfigurable device 12 should be reconfigured. Only by this determination, either the first processor 11 or the reconfigurable device 12 can execute processing. In addition, when processing is executed by both the first processor 11 and the reconfigurable device 12, the processing result that has been completed earlier is used. For this reason, the processing speed can be increased.

また、リコンフィギュラブルデバイス12の再構成をすべきかどうかや、再構成の指令は第2のプロセッサ13が行っている。このため、第1のプロセッサ11はリコンフィギュラブルデバイス12の再構成に時間を割く必要がない。したがって、システム全体の性能の低下を防止できる。   Further, whether or not the reconfigurable device 12 should be reconfigured and the reconfiguration command are issued by the second processor 13. For this reason, the first processor 11 does not need to spend time for reconfiguring the reconfigurable device 12. Therefore, it is possible to prevent a decrease in the performance of the entire system.

更に、第2のプロセッサ13は、第1のプロセッサ11とリコンフィギュラブルデバイス12との間のデータをモニタし、第1のプロセッサ11により呼び出されるコンフィグIDとステータスレジスタ12a内に設定されているコンフィグIDが不一致であり、且つ同一のコンフィグIDが複数回呼び出された場合、リコンフィギュラブルデバイス12を再構成している。このため、同一関数コールが複数回行われた場合、そのコンフィグIDに対応して再構成されたリコンフィギュラブルデバイス12を用いて処理が実行されるため、処理を高速化することが可能である。   Further, the second processor 13 monitors data between the first processor 11 and the reconfigurable device 12, and the config ID called by the first processor 11 and the config set in the status register 12a. If the IDs do not match and the same configuration ID is called multiple times, the reconfigurable device 12 is reconfigured. For this reason, when the same function call is made a plurality of times, the processing is executed using the reconfigurable device 12 reconfigured corresponding to the configuration ID, so that the processing can be speeded up. .

また、リコンフィギュラブルデバイス12と、第2のプロセッサ13、及び第1のプロセッサ11の間に複雑な通信機構が設けられていない。このため、システム構成の単純化を図ることができ、拡張性に優れ、バグが少ないシステムを構築することが可能である。
次に上記実施形態の変形例について説明する。変形例において第2のプロセッサ13は、第1のプロセッサ11がこれまでに呼び出したコンフィグIDの順序(パターン)、つまり、これまでに実行された関数の順序を例えばメインメモリ17に記憶しておき、呼び出されるコンフィグIDのパターンをパターンマッチング等で検出する。第2のプロセッサ13は、マッチングを取ることで、次に呼び出されるコンフィグIDを予測する。例えば、第1のプロセッサ11によってA、B、CというコンフィグIDがA,B、Cという順序で呼び出され、ステータスレジスタ12aに設定されているコンフィグIDと不一致だった場合で、例えばAというコンフィグIDが呼び出された場合、SWにてAを処理している間に第2のプロセッサ13は次がBであると推測し、Aの処理中にリコンフィギュラブルデバイス12にBの再構成を指示する。
Further, a complicated communication mechanism is not provided between the reconfigurable device 12, the second processor 13, and the first processor 11. For this reason, it is possible to simplify the system configuration, and it is possible to construct a system with excellent extensibility and few bugs.
Next, a modification of the above embodiment will be described. In the modification, the second processor 13 stores the order (pattern) of the configuration IDs that the first processor 11 has called so far, that is, the order of the functions executed so far in the main memory 17, for example. The pattern of the called config ID is detected by pattern matching or the like. The second processor 13 predicts the next config ID to be called by matching. For example, when the first processor 11 calls the configuration IDs A, B, and C in the order A, B, and C, and does not match the configuration ID set in the status register 12a, for example, the configuration ID A is set. Is called, the second processor 13 estimates that the next is B while processing A in the SW, and instructs the reconfigurable device 12 to reconfigure B during the processing of A. .

上記実施形態の変形例によれば、第2のプロセッサ13が、それまでに実行した関数のパターンを記憶し、その後実行された関数と記憶されたパターンとのマッチングを取ることにより次に実行される関数を予測し、リコンフィギュラブルデバイス12に予測に沿った関数を実装する再構成の指令を出力する。これにより、効率的にリコンフィギュラブルデバイス12の再構成を実行することが可能となり、関数処理においてリコンフィギュラブルデバイス12を効率的に活用することが可能である。   According to the modification of the above embodiment, the second processor 13 stores the pattern of the function executed so far, and then executes the function by matching the executed function with the stored pattern. And a reconfiguration command for implementing the function in accordance with the prediction is output to the reconfigurable device 12. Thereby, it becomes possible to perform reconfiguration of the reconfigurable device 12 efficiently, and it is possible to efficiently utilize the reconfigurable device 12 in function processing.

上記実施形態は関数処理について説明した。しかし、これに限定されるものではなく、例えば特定の命令を処理する場合にも本実施形態を適用することが可能である。   In the above embodiment, function processing has been described. However, the present embodiment is not limited to this. For example, the present embodiment can also be applied to a case where a specific instruction is processed.

本発明の実施形態の情報処理装置を示す構成図。The block diagram which shows the information processing apparatus of embodiment of this invention. 図1に示す情報処理装置の動作を示すフローチャート。2 is a flowchart showing the operation of the information processing apparatus shown in FIG. 図3は、図2に示すフローチャートに続く処理を示すフローチャート。FIG. 3 is a flowchart showing processing subsequent to the flowchart shown in FIG.

符号の説明Explanation of symbols

11…第1のプロセッサ、12…リコンフィギュラブルデバイス12a…ステータスレジスタ、13…第2のプロセッサ。   DESCRIPTION OF SYMBOLS 11 ... 1st processor, 12 ... Reconfigurable device 12a ... Status register, 13 ... 2nd processor.

Claims (5)

第1のプロセッサと、
前記第1のプロセッサに接続され、回路構成を再構成できるリコンフィギュラブルデバイスと、
前記リコンフィギュラブルデバイス内に設けられ、特定の処理に関する回路構成を示す第1の情報と、前記第1の情報が示す回路による前記特定の処理の処理時間が、データに依存するか否かを示す第2の情報を記憶する記憶部とを具備し、
前記第1のプロセッサは、前記特定の処理のコールを認識すると前記記憶部に記憶された前記第1の情報を参照し、前記リコンフィギュラブルデバイスにて前記コールが実行可能かどうか判断し、前記コールを実行出来ないと判断した場合、前記第1のプロセッサにて処理を実行して処理結果を出力し、前記リコンフィギュラブルデバイスにて前記コールを実行できると判断した場合、前記記憶部に記憶された前記第2の情報を参照し、データに依存しないと判断した場合は前記リコンフィギュラブルデバイスにて前記特定の処理を実行して結果を出力し、データに依存すると判断した場合は前記第1のプロセッサと前記リコンフィギュラブルデバイスを同時に処理させ、早く処理が終了した方の結果を出力することを特徴とする情報処理装置。
A first processor;
A reconfigurable device connected to the first processor and capable of reconfiguring a circuit configuration;
First information that is provided in the reconfigurable device and indicates a circuit configuration related to specific processing, and whether or not a processing time of the specific processing by the circuit indicated by the first information depends on data. A storage unit for storing second information to be displayed,
When the first processor recognizes the call of the specific process, the first processor refers to the first information stored in the storage unit, determines whether the call can be executed by the reconfigurable device, and When it is determined that the call cannot be executed, the first processor executes processing and outputs a processing result. When it is determined that the call can be executed by the reconfigurable device, the call is stored in the storage unit. The second information is referred to, and when it is determined that it does not depend on data, the specific process is executed by the reconfigurable device and a result is output. An information processing apparatus that simultaneously processes one processor and the reconfigurable device and outputs the result of the earlier completion of processing .
前記第1のプロセッサと前記リコンフィギュラブルデバイスに接続された第2のプロセッサとを更に具備し、
前記第2のプロセッサは、前記第1のプロセッサが呼び出した前記第1の情報に対する不一致回数が規定値以上である場合、前記第1の情報に基づく回路構成を前記リコンフィギュラブルデバイス内に構成させることを特徴とする請求項1記載の情報処理装置。
Further comprising: a first processor connected to the reconfigurable device; and a second processor connected to the reconfigurable device.
The second processor configures a circuit configuration based on the first information in the reconfigurable device when the number of mismatches with respect to the first information called by the first processor is equal to or greater than a predetermined value. The information processing apparatus according to claim 1.
前記第2のプロセッサは、前記第1のプロセッサが呼び出した前記第1の情報の呼び出し順序を記憶し、記憶した前記順序と前記第1のプロセッサにより呼び出される前記第1の情報を照合することにより、次に呼び出される前記第1の情報の順序を予測し、予測した順序に応じた再構成を前記リコンフィギュラブルデバイスに指示することを特徴とする請求項2記載の情報処理装置。   The second processor stores a calling order of the first information called by the first processor, and collates the stored order with the first information called by the first processor. The information processing apparatus according to claim 2, wherein an order of the first information to be called next is predicted, and reconfiguration according to the predicted order is instructed to the reconfigurable device. 第1のプロセッサは、特定の処理のコールを認識した場合、リコンフィギュラブルデバイスの記憶部に記憶された前記特定の処理に関する回路構成を示す第1の情報を参照して前記リコンフィギュラブルデバイスにて前記コールが実行可能かどうか判断し、
前記コールを実行出来ないと判断した場合、前記第1のプロセッサにて処理を実行して処理結果を出力し、
前記リコンフィギュラブルデバイスにて前記コールを実行できると判断した場合、前記記憶部に記憶された前記第1の情報が示す回路による前記特定の処理の処理時間がデータに依存するか否かを示す第2の情報を参照し、データに依存しない場合は前記リコンフィギュラブルデバイスにて前記特定の処理を実行して結果を出力し、
データに依存する場合は前記第1のプロセッサと前記リコンフィギュラブルデバイスを同時に処理させ、早く処理が終了した方の結果を出力することを特徴とする情報処理装置の制御方法。
When the first processor recognizes the call of the specific process, the first processor refers to the first information indicating the circuit configuration related to the specific process stored in the storage unit of the reconfigurable device, and stores the call to the reconfigurable device. To determine if the call can be executed,
If it is determined that the call cannot be executed, the first processor executes processing and outputs a processing result;
If it is determined that the call can be executed by the reconfigurable device, it indicates whether the processing time of the specific processing by the circuit indicated by the first information stored in the storage unit depends on data Referring to the second information, if it does not depend on the data, execute the specific processing in the reconfigurable device and output the result,
A method for controlling an information processing apparatus, characterized in that when it depends on data, the first processor and the reconfigurable device are processed at the same time, and the result of the earlier processing is output.
前記第1のプロセッサと前記リコンフィギュラブルデバイスに接続された第2のプロセッサとを更に具備し、
前記第2のプロセッサは、前記第1のプロセッサが呼び出した前記第1の情報に対するリジェクト回数が規定値以上である場合、前記第1の情報に基づく回路構成を前記リコンフィギュラブルデバイス内に構成させることを特徴とする請求項4記載の情報処理装置の制御方法。
Further comprising: a first processor connected to the reconfigurable device; and a second processor connected to the reconfigurable device.
The second processor configures a circuit configuration based on the first information in the reconfigurable device when the number of rejects for the first information called by the first processor is equal to or greater than a predetermined value. The method of controlling an information processing apparatus according to claim 4.
JP2007339939A 2007-12-28 2007-12-28 Information processor and its control method Withdrawn JP2009163328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007339939A JP2009163328A (en) 2007-12-28 2007-12-28 Information processor and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007339939A JP2009163328A (en) 2007-12-28 2007-12-28 Information processor and its control method

Publications (1)

Publication Number Publication Date
JP2009163328A true JP2009163328A (en) 2009-07-23

Family

ID=40965912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007339939A Withdrawn JP2009163328A (en) 2007-12-28 2007-12-28 Information processor and its control method

Country Status (1)

Country Link
JP (1) JP2009163328A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089044A (en) * 2010-10-22 2012-05-10 Lenovo Singapore Pte Ltd Computer and method for improving performance of computer
JP2014509106A (en) * 2011-01-13 2014-04-10 ザイリンクス インコーポレイテッド Expansion of processor systems in integrated circuits.
JP2020530175A (en) * 2017-08-03 2020-10-15 ネクスト シリコン リミテッドNext Silicon Ltd Run-time optimization of configurable hardware

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089044A (en) * 2010-10-22 2012-05-10 Lenovo Singapore Pte Ltd Computer and method for improving performance of computer
JP2014509106A (en) * 2011-01-13 2014-04-10 ザイリンクス インコーポレイテッド Expansion of processor systems in integrated circuits.
JP2020530175A (en) * 2017-08-03 2020-10-15 ネクスト シリコン リミテッドNext Silicon Ltd Run-time optimization of configurable hardware
JP7245833B2 (en) 2017-08-03 2023-03-24 ネクスト シリコン リミテッド Configurable hardware runtime optimizations

Similar Documents

Publication Publication Date Title
US11675598B2 (en) Loop execution control for a multi-threaded, self-scheduling reconfigurable computing fabric using a reenter queue
US11675734B2 (en) Loop thread order execution control of a multi-threaded, self-scheduling reconfigurable computing fabric
US11868163B2 (en) Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric
US11531543B2 (en) Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric
US11003451B2 (en) Execution control of a multi-threaded, self-scheduling reconfigurable computing fabric
KR100746797B1 (en) Processor and information processing method
US11048656B2 (en) Multi-threaded, self-scheduling reconfigurable computing fabric
JP5673672B2 (en) Multi-core processor system, control program, and control method
JP5994679B2 (en) Processing device and control method of processing device
JP4609113B2 (en) Processor
JP2009163328A (en) Information processor and its control method
US20180267829A1 (en) Method for configuring an it system, corresponding computer program and it system
JP5308383B2 (en) Virtual multiprocessor system
JP2003058381A (en) Processor realizing exception processing setting by program
JP5382624B2 (en) Multiprocessor control device, method and program thereof
JP3723775B2 (en) Data processing device
WO2002063465A2 (en) Method and apparatus for handling interrupts
JP2008225710A (en) Computer system and process-switching method used in the system
JPH11184828A (en) Test system for multiprocessor system
US9336011B2 (en) Server and booting method
JP2000029719A (en) Interrupt controller
JP5644197B2 (en) Computer system and interrupt request processing method
EP3276489A1 (en) Parallel processing system
KR100731706B1 (en) A method and apparatus of processing time reduction for CPU using reset
JP3652269B2 (en) Signal processing device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110301