JPH11232081A - Information processing system and method - Google Patents

Information processing system and method

Info

Publication number
JPH11232081A
JPH11232081A JP10029669A JP2966998A JPH11232081A JP H11232081 A JPH11232081 A JP H11232081A JP 10029669 A JP10029669 A JP 10029669A JP 2966998 A JP2966998 A JP 2966998A JP H11232081 A JPH11232081 A JP H11232081A
Authority
JP
Japan
Prior art keywords
module
program
identification code
programmable logic
logic circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10029669A
Other languages
Japanese (ja)
Other versions
JP4212676B2 (en
Inventor
Yoshio Nishihara
義雄 西原
Yoshihide Sato
嘉秀 佐藤
Kiichi Yamada
紀一 山田
Hiroyuki Miyake
弘之 三宅
Eigo Nakagawa
英悟 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP02966998A priority Critical patent/JP4212676B2/en
Publication of JPH11232081A publication Critical patent/JPH11232081A/en
Application granted granted Critical
Publication of JP4212676B2 publication Critical patent/JP4212676B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable an efficient processing by efficiently determining whether each processing module is to be executed by a software or by a hardware when executing series of processing composed of plural processing modules. SOLUTION: An application program 100 is composed of plural software modules SM describing processings in a program language (or hardware modules describing the processings in circuit information reconstituted in a programmable logic circuit 400). A hardware module (software module) to perform the same processing as the processing to be performed by the software module (or hardware module HM) in the program is acquired from a storage device 200 in a system or on a network. An execution module determining means 600 is provided for determining whether the processing module described in the program is to be executed by the software module or by the hardware module before the execution of the program or at the time of execution.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、少なくとも処理
の一部分を、回路構成を再構成できるプログラマブル論
理回路で処理することが可能である情報処理システムお
よび情報処理方法に関するものであり、特に、プログラ
マブル論理回路の有効な活用方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing system and an information processing method capable of processing at least part of a process by a programmable logic circuit whose circuit configuration can be reconfigured. It relates to the effective use of circuits.

【0002】[0002]

【従来の技術】デジタル回路装置、特に特定用途向け集
積回路(ASIC)の分野において、製品の開発期間を
短縮するために、フィールドプログラマブルゲートアレ
イ(FPGA)やプログラマブルロジックデバイス(P
LD)などで構成されたプログラマブル論理回路が広く
使われている。
2. Description of the Related Art In the field of digital circuit devices, in particular, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) and programmable logic devices (PGAs) have been developed in order to shorten the development period of products.
2. Description of the Related Art Programmable logic circuits including LDs) are widely used.

【0003】これらのプログラマブル論理回路は、論理
回路を記述する回路情報をこれらに読み込ませること
で、内部の論理回路と論理回路間の結線を自由に構成す
ることができる。このため、プログラマブル論理回路装
置を用いることで、従来は回路設計の終了後に数週間か
ら数か月を必要とした集積回路の作製時間が不要になる
というメリットがある。特に、米国特許第4,700,
187号の発明のような電気的に再構成可能なプログラ
マブル論理回路装置は、一度作製した回路を必要に応じ
て自由に何度でも変更できるという利点があり、プログ
ラマブル論理回路装置は、ますます広く使われるように
なってきている。
[0003] These programmable logic circuits can freely configure internal logic circuits and connections between the logic circuits by reading circuit information describing the logic circuits. For this reason, the use of the programmable logic circuit device has an advantage that the time required to manufacture an integrated circuit, which conventionally required several weeks to several months after the completion of circuit design, becomes unnecessary. In particular, U.S. Pat.
An electrically reconfigurable programmable logic circuit device such as the invention of 187 has the advantage that a circuit once manufactured can be freely changed as many times as necessary, and the programmable logic circuit device becomes more and more widely used. It is being used.

【0004】ところで、最近の論理回路は複雑さが増
し、一つのプログラマブル論理回路装置では実現できな
い規模にまで回路規模が大きくなっている。
[0004] Recently, logic circuits have increased in complexity, and the circuit scale has increased to a level that cannot be realized by a single programmable logic circuit device.

【0005】この問題を解決するためのひとつの方法と
して、異なる時間に異なる論理回路を実現するためにプ
ログラマブル論理回路を処理の途中で再構成することが
提案されている。この方法を用いることにより、携帯情
報端末のように、装置が小型であるため、内蔵できる回
路規模に制約がある場合でも、様々な処理が比較的高速
に行えるという利点がある。
As one method for solving this problem, it has been proposed to reconfigure a programmable logic circuit during processing in order to realize different logic circuits at different times. By using this method, there is an advantage that various processes can be performed at a relatively high speed even when the size of a circuit that can be built in is limited because the device is small like a portable information terminal.

【0006】しかし、プログラマブル論理回路を再構成
するときには、回路全体の回路情報を再度読み込ませる
ため、再構成に時間がかかるという欠点がある。さら
に、処理の途中で再構成することは、処理を一時中断
し、その時のデータをプログラマブル論理回路の外部の
記憶装置に待避させ、新たな回路情報を読み込んで再構
成し、再構成前のデータと再構成に伴う新しいデータを
入力するという余分な処理が必要になる。
However, when the programmable logic circuit is reconfigured, the circuit information of the entire circuit is read again, so that there is a disadvantage that the reconfiguration takes time. Further, reconfiguring in the middle of the process means that the process is temporarily suspended, the data at that time is saved in a storage device outside the programmable logic circuit, new circuit information is read and reconfigured, and the data before reconfiguration is reconstructed. And extra processing of inputting new data for reconstruction is required.

【0007】この問題を解決するために、米国アトメル
社の「CONFIGURABLELOGIC」という名
のデータブックに記載されているプログラマブル論理回
路、および米国ザイリンクス社の「THE PROGR
AMMABLE LOGIC」という名のデータブック
に記載されているプログラマブル論理回路では、データ
を記憶するためのデータ記憶装置を有し、回路の動作中
でも外部の記憶装置から回路情報の一部を読み込んで部
分的に再構成を行うことで、再構成するための時間を最
小に留めるようにしている。
In order to solve this problem, a programmable logic circuit described in a data book named “CONFIGURABLE LOGIC” by Atmel, USA, and “THE PROGR,” manufactured by Xilinx, USA.
A programmable logic circuit described in a data book named "AMMABLE LOGIC" has a data storage device for storing data, and reads part of circuit information from an external storage device during operation of the circuit to partially store the circuit information. By performing the reconfiguration, the time required for the reconfiguration is minimized.

【0008】このようなプログラマブル論理回路を情報
処理システムに用いるときの問題は、処理を、プログラ
マブル論理回路で行う処理と、マイクロプロセッサなど
の回路構成を変更できない固定的な論理回路装置で行う
処理とで、分離する技術が確立していないことである。
The problem when using such a programmable logic circuit in an information processing system is that processing is performed by a programmable logic circuit and processing is performed by a fixed logic circuit device such as a microprocessor whose circuit configuration cannot be changed. Therefore, the technology for separation has not been established.

【0009】この問題を解決する方法のひとつとして、
特開平6−301522号公報に開示される計算機の例
がある。これを、従来例1として、図35を参照しなが
ら説明する。
As one of the methods for solving this problem,
There is an example of a computer disclosed in JP-A-6-301522. This will be described as Conventional Example 1 with reference to FIG.

【0010】すなわち、図35の従来例1においては、
計算機で実行するソースプログラム1000は、回路構
成を変更できない固定部と、プログラマブル論理回路の
ように回路構成を変更できる可変部とで構成される。ラ
イブラリ1001には、固定部の構成に関する情報と、
可変部が構成することができる回路の情報が格納されて
いる。
That is, in the conventional example 1 of FIG.
The source program 1000 executed by the computer includes a fixed unit whose circuit configuration cannot be changed and a variable unit whose circuit configuration can be changed like a programmable logic circuit. The library 1001 includes information on the configuration of the fixed unit,
Information on a circuit that can be configured by the variable unit is stored.

【0011】コンパイラ1002は、ソースプログラム
1000を解析し、ライブラリ1001を参照しなが
ら、オブジェクトコードと、ハードウエア構成データに
変換する。例えば、コンパイラ1002は、ソースプロ
グラムのフロー解析を行い、関数の頻度を検出し、その
検出した頻度に基づいて、呼び出し回数の多い関数をハ
ードウエアで処理する関数として決定し、ハードウエア
構成データ1003を作成し、出力する。
The compiler 1002 analyzes the source program 1000 and converts it into object code and hardware configuration data while referring to the library 1001. For example, the compiler 1002 analyzes the flow of the source program, detects the frequency of the function, determines a function having a large number of calls as a function to be processed by hardware based on the detected frequency, and generates hardware configuration data 1003. Create and output.

【0012】次に、コンパイラ1002は、ハードウエ
アで処理すると決めた部分を所定の可変部で処理するこ
とを示すコードを生成する。そして、このコードを、残
りのソフトウエアで処理する部分に付加してオブジェク
トコード1004を作成し、出力する。計算機1005
は、固定部と、ハードウエア構成データにより構成され
た可変部とを用いて、オブジェクトコードに応じた処理
を実行する。
Next, the compiler 1002 generates a code indicating that a part determined to be processed by hardware is processed by a predetermined variable part. Then, this code is added to a portion to be processed by the remaining software to create and output an object code 1004. Computer 1005
Executes a process according to the object code by using a fixed unit and a variable unit configured by hardware configuration data.

【0013】このようにして、従来例1では、コンパイ
ル時に呼び出し回数の多い関数をハードウエア化するこ
とにより処理全体の高速化を図っている。
As described above, in the first conventional example, the speed of the entire process is increased by implementing a function having a large number of calls at the time of compilation at the time of compiling.

【0014】次に、前記問題を解決する従来例2とし
て、特開平5−150943号公報に開示されるコンピ
ュータ装置の場合を説明する。この従来例2において
は、プログラマブル論理回路で行う処理と、固定的な論
理回路装置で行う処理とに分離された処理を、アプリケ
ーションプログラムとして、情報処理システムとしての
コンピュータ装置で実行する。
Next, as a second conventional example which solves the above problem, a case of a computer device disclosed in Japanese Patent Laid-Open No. 5-150943 will be described. In the second conventional example, processing separated by a programmable logic circuit and processing performed by a fixed logic circuit device is executed by a computer as an information processing system as an application program.

【0015】この従来例2のコンピュータ装置は、CP
U、メモリ、プログラマブル論理回路、ハードディスク
などの外部記憶装置、およびその他の入出力インターフ
ェースで構成される。
The computer device of the second prior art is composed of a CP
U, a memory, a programmable logic circuit, an external storage device such as a hard disk, and other input / output interfaces.

【0016】外部記憶装置には、プログラマブル論理回
路の回路データと、アプリケーションプログラムが記憶
してある。メモリには、外部記憶装置からアプリケーシ
ョンプログラムをロードするイニシャルローディングプ
ログラムが記憶してある。
The external storage device stores circuit data of the programmable logic circuit and an application program. The memory stores an initial loading program for loading an application program from an external storage device.

【0017】CPUは、これらのプログラムを実行する
とともに、プログラマブル論理回路に回路データを書き
込む。プログラマブル論理回路は、CPUのバスライン
に接続され、バスライン上の信号を入力し、論理処理を
施してバスラインへ信号を返す。この従来例2における
処理手順を、図36に示す。
The CPU executes these programs and writes circuit data into the programmable logic circuit. The programmable logic circuit is connected to a bus line of the CPU, inputs a signal on the bus line, performs logic processing, and returns a signal to the bus line. FIG. 36 shows a processing procedure in the second conventional example.

【0018】まず、実行すべきプログラムファイルを指
定する(ステップS1)。次に、指定したプログラムフ
ァイルに回路データが含まれるか否か判別し(ステップ
S2)、含まれる場合は、回路データ書き込みプログラ
ムをロードして実行し(ステップS3)、続いて回路デ
ータをロードして(ステップS4)、その回路データを
プログラマブル論理回路に書き込む(ステップS5)。
その後、アプリケーションプログラムをロードし(ステ
ップS6)、実行する(ステップS7)。
First, a program file to be executed is specified (step S1). Next, it is determined whether or not the specified program file contains circuit data (step S2). If so, the circuit data writing program is loaded and executed (step S3), and then the circuit data is loaded. Then, the circuit data is written into the programmable logic circuit (step S5).
Thereafter, the application program is loaded (Step S6) and executed (Step S7).

【0019】指定したプログラムファイルに回路データ
が含まれていない場合には、ステップS2からステップ
S6に飛び、そのまま、アプリケーションプログラムを
ロードし、実行する。
If the specified program file does not contain circuit data, the process jumps from step S2 to step S6, where the application program is loaded and executed as it is.

【0020】以上のように、この従来例2の場合、プロ
グラマブル論理回路上の機能を用いる命令実行時に、回
路が所定の論理処理を行う。これにより、アプリケーシ
ョンごとに特殊なハードウエアを設けることなく、必要
に応じた論理回路を構成して処理の高速化を図ることが
できる。
As described above, in the case of the conventional example 2, the circuit performs a predetermined logic process when executing an instruction using a function on the programmable logic circuit. This makes it possible to increase the speed of processing by configuring a necessary logic circuit without providing special hardware for each application.

【0021】以上に述べた処理の一部分をプログラマブ
ル論理回路で処理する情報処理システムは、ネットワー
クに接続して利用することができる。その場合の例のひ
とつとして、特開平9−74556号公報に開示される
画像再生装置を、従来例3として次に示す。
An information processing system for processing a part of the processing described above by a programmable logic circuit can be used by connecting to a network. As one example of such a case, an image reproducing apparatus disclosed in Japanese Patent Application Laid-Open No. 9-74556 will be described as Conventional Example 3 below.

【0022】図37に示すように、この従来例3の画像
再生装置は、処理系を再構成することが可能な動画像復
号部1100と、動画像復号部1100を再構成するた
めのプログラムと符号化された動画像データとをネット
ワークNTからダウンロードするための受信部1200
と、受信データがプログラムか動画像データかによって
伝送先を切り換える切り換え手段1300と、該プログ
ラムを動画像復号部1100の構成に変更できる形式に
変換するプログラム変換部1400と、受信部1200
と切り換え手段1300とプログラム変換部1400と
動画像復号部1100の制御を行うための制御部150
0とからなる。
As shown in FIG. 37, the image reproducing apparatus of the third conventional example has a moving image decoding unit 1100 capable of reconfiguring a processing system, and a program for reconfiguring the moving image decoding unit 1100. Receiving section 1200 for downloading encoded moving image data from network NT
A switching unit 1300 for switching a transmission destination depending on whether received data is a program or moving image data, a program converting unit 1400 for converting the program into a format changeable to the structure of the moving image decoding unit 1100, and a receiving unit 1200
Control unit 150 for controlling switching unit 1300, program conversion unit 1400, and video decoding unit 1100
It consists of 0.

【0023】動画像復号部1100は、量子化された画
像データを逆量子化するものであってその逆量子化処理
内容を変更できる逆量子化部1101と、変換された画
像データを逆変換するものであってその逆変換処理内容
を変更できる逆変換部1102とを備える。
The video decoding unit 1100 inversely quantizes the quantized image data and can change the content of the inverse quantization processing, and inversely transforms the converted image data. And an inverse conversion unit 1102 that can change the content of the inverse conversion process.

【0024】プログラム変換部1400は、前記プログ
ラムを、動画像復号部1100の構成を変更できる形式
に変換する第1プログラム部分(ハードウエア処理部
分)と、動画像再生時において制御部1500が行う第
2プログラム部分(ソフトウエア処理部分)とに分割す
る分割部1401と、第1プログラム部分を動画像復号
部1100の構成を変更できる形式に変換する第1の変
換部(ハードウエアコンパイラ)1402と、第2プロ
グラム部分を制御部1500が解読して処理を実行でき
る形式に変換する第2の変換部(ソフトウエアコンパイ
ラ)1403とを備える。
The program conversion unit 1400 converts the program into a format that can change the configuration of the moving image decoding unit 1100 (a hardware processing unit), and a second unit that is executed by the control unit 1500 when reproducing a moving image. A dividing unit 1401 for dividing the program into two program parts (software processing parts), a first converting unit (hardware compiler) 1402 for converting the first program part into a format capable of changing the configuration of the video decoding unit 1100, A second conversion unit (software compiler) 1403 for converting the second program portion into a format that can be decoded by the control unit 1500 and executed.

【0025】この画像再生装置は、ネットワークNTか
ら、動画像再生用のプログラムと符号化された動画像デ
ータとを受信し、次にように動作する。
This image reproducing apparatus receives a moving image reproducing program and encoded moving image data from the network NT, and operates as follows.

【0026】まず、論理記述言語で記述された再生アル
ゴリズムプログラムを受信部1200で受信する。受信
データは、伝送切り換え手段1300を通じてプログラ
ム変換部1400に伝送され、分割部1401でハード
ウエア処理部分とソフトウエア処理部分とに分割され
る。
First, the receiving unit 1200 receives a reproduction algorithm program described in a logical description language. The received data is transmitted to the program conversion unit 1400 through the transmission switching unit 1300, and divided by the division unit 1401 into a hardware processing part and a software processing part.

【0027】ハードウエア処理部分は、第1の変換部1
402に渡され、プログラマブル論理回路(FPGA)
を書き換えることができる形式(ビットストリーム)に
変換され、逆量子化部1101と逆変換部1102とを
制御部1500からの制御によって書き換える。また、
ソフトウエア処理部分は、第2の変換部1403に渡さ
れ、プロセッサで処理できる形式に変換された後、制御
部1500に渡される。
The hardware processing section includes a first conversion section 1
Passed to 402, programmable logic circuit (FPGA)
Is converted into a rewriteable format (bit stream), and the inverse quantization unit 1101 and the inverse transformation unit 1102 are rewritten under the control of the control unit 1500. Also,
The software processing part is passed to the second conversion unit 1403, converted into a format that can be processed by the processor, and then passed to the control unit 1500.

【0028】このように構成された図37の画像再生装
置に、ネットワークNTから動画像データが送られる
と、受信部1200で受信し、切り換え手段1300に
よって動画像復号部1100に伝送され、復号データと
して出力される。逆量子化部1101と逆変換部110
2とを、回路構成が変更可能な素子で構成することによ
り、異なるアルゴリズムによって再生される画像データ
にも対応することができる。
When moving image data is sent from the network NT to the image reproducing apparatus of FIG. 37 configured as described above, the moving image data is received by the receiving unit 1200, transmitted to the moving image decoding unit 1100 by the switching unit 1300, and decoded. Is output as Inverse quantization unit 1101 and inverse transformation unit 110
2 is composed of an element whose circuit configuration can be changed, so that it is possible to cope with image data reproduced by a different algorithm.

【0029】以上、従来例1から従来例3で示した例で
は、プログラマブル論理回路でハードウエア処理される
部分と、マイクロプロセッサなどでソフトウエア処理さ
れる部分とが固定的に決められているが、ハードウエア
処理をソフトウエア処理で置き換える例を、従来例4と
して次に説明する。
As described above, in the examples shown in the conventional examples 1 to 3, the part processed by the hardware by the programmable logic circuit and the part processed by the software by the microprocessor are fixedly determined. An example in which hardware processing is replaced by software processing will be described as Conventional Example 4.

【0030】Proceedings of the
IEEE Symposium on FPGAs f
or Custom Computing Machi
nes(1996)の195ページから203ページに
記載されている「Supporting FPGA M
icroprocessors through Re
targetable Software Tool
s」には、動作中に書換え可能なプログラマブル論理回
路を、プロセッサとして使用する技術(DISC)で用
いられるプログラムのデバッグ方法が記述されている。
[0030] Proceedings of the
IEEE Symposium on FPGAs f
or Custom Computing Machi
Nes (1996), pp. 195-203, "Supporting FPGA M
microprocessors through Re
targetable Software Tool
In “s”, a method of debugging a program used in a technology (DISC) of using a programmable logic circuit that can be rewritten during operation as a processor is described.

【0031】この従来例4の論文では、ソフトウエアの
デバッグを短時間で行うために、ハードウエアで処理す
るルーチンを、デバック時にソフトウエアで行うことが
示されている。これは、プログラム実行時には繰り返し
処理されるルーチンも、デバッグ時は1回処理するのみ
でよいので、回路規模の大きなハードウエアモジュール
を、プログラマブル論理回路に処理時間よりも長い時間
をかけて再構成して実行するよりも、ソフトウエアで実
行してデバックする方が効率がよいためである。デバッ
ク時にどちらで処理するかはデバッグ用のプログラムで
指示する。
In the paper of the conventional example 4, it is shown that a routine for processing by hardware is performed by software at the time of debugging in order to debug the software in a short time. This is because a routine that is repeatedly executed when executing a program need only be processed once during debugging, so that a hardware module having a large circuit scale is reconfigured in a programmable logic circuit over a longer time than processing time. This is because it is more efficient to execute and debug by software than to execute by software. Which process is performed at the time of debugging is specified by a debugging program.

【0032】[0032]

【発明が解決しようとする課題】しかしながら、以上説
明した、処理の一部分をプログラマブル論理回路で処理
する情報処理システムに関する従来例1〜4は、次のよ
うな問題がある。
However, the conventional examples 1 to 4 relating to the information processing system in which a part of the processing is processed by the programmable logic circuit described above have the following problems.

【0033】従来例1では、プログラマブル論理回路で
実行する処理は、ひとつのプログラム内で、呼び出し回
数の多い関数というように一元的に決めている。このた
め、情報処理システムが複数のプログラムを用いて複数
の処理を一連の処理として一度に行うときには、プログ
ラマブル論理回路を用いた処理を効率的に利用できない
欠点がある。
In the first conventional example, the processing to be executed by the programmable logic circuit is determined centrally in a single program such as a function having a large number of calls. Therefore, when the information processing system performs a plurality of processes as a series of processes at once using a plurality of programs, there is a disadvantage that the processes using the programmable logic circuit cannot be efficiently used.

【0034】例えば、ひとつのプログラム内での呼び出
し回数は少ないが、一連の処理として順次に実行される
処理全体で共通に数多く呼び出される関数が存在する場
合には、プログラマブル論理回路で処理を実行した方が
効率的に良い。しかし、従来例1では、一つのプログラ
ム内で呼び出し回数の少ない当該関数の処理をプログラ
マブル論理回路で実行するようには決定することができ
ない。
For example, if the number of calls in one program is small, but there are a number of functions that are commonly called in the entire processing sequentially executed as a series of processing, the processing is executed by the programmable logic circuit. It is more efficient and better. However, in the first conventional example, it is not possible to determine that the processing of the function having a small number of calls in one program is executed by the programmable logic circuit.

【0035】また、関数によっては、対応する回路情報
のサイズが大きいため、プログラマブル論理回路に、回
路情報を再構成する時間が長くかかり、たとえ呼び出し
回数が多くともソフトウエア処理のほうが処理時間が短
い場合もあるが、従来例1では、そのような関数処理で
あっても、呼び出し回数が多いことからプログラマブル
論理回路による処理と決定してしまうことになる。
Also, depending on the function, the size of the corresponding circuit information is large, so that it takes a long time to reconfigure the circuit information in the programmable logic circuit. Even if the number of calls is large, the processing time of the software processing is shorter. In some cases, in the first conventional example, such a function process is determined to be a process by the programmable logic circuit because of the large number of calls.

【0036】また、従来例2では、アプリケーション毎
にハードウエアで処理する部分が予め定められ、そのハ
ードウエアでの処理部分を、プログラム開始前にプログ
ラマブル論理回路に実装している。このため、ハードウ
エア処理を必要としないソフトウエア処理も回路構成が
終了するまで開始されないという問題がある。
In the second conventional example, a portion to be processed by hardware is predetermined for each application, and the portion to be processed by the hardware is mounted on a programmable logic circuit before the start of a program. Therefore, there is a problem that software processing that does not require hardware processing is not started until the circuit configuration is completed.

【0037】特に、回路データのサイズが大きいためプ
ログラマブル論理回路への書き込み時間が長いときに
は、ハードウエア処理よりも処理速度の遅いソフトウエ
アで処理したほうが、全体の処理時間が短い場合もあ
る。
In particular, when the writing time to the programmable logic circuit is long due to the large size of the circuit data, the entire processing time may be shorter if the processing is performed by software having a lower processing speed than the hardware processing.

【0038】すなわち、従来例2の場合には、個々のハ
ードウエア処理とソフトウエア処理の処理時間だけに注
目し、プログラマブル論理回路の再構成時間も含めた処
理時間全体の短縮を考慮していないことに問題がある。
また、個々のプログラム毎にプログラマブル論理回路を
再構成しているので、複数のプログラムを実行するとき
に共通に用いられる回路も重複して構成されてしまい、
非効率であるという問題もある。
That is, in the case of the conventional example 2, attention is paid only to the processing time of each hardware processing and software processing, and no consideration is given to shortening the entire processing time including the reconfiguration time of the programmable logic circuit. There is a problem.
In addition, since the programmable logic circuit is reconfigured for each program, a circuit commonly used when executing a plurality of programs is also redundantly configured.
There is also the problem of inefficiency.

【0039】従来例3では、ネットワークから論理記述
言語で記述されたプログラムをダウンロードするので、
画像再生装置内でそのプログラムを回路情報に変換する
処理に時間がかかるという問題がある。
In Conventional Example 3, a program described in a logical description language is downloaded from a network.
There is a problem that it takes time to convert the program into circuit information in the image reproducing apparatus.

【0040】すなわち、論理記述言語から回路情報に変
換する処理は、論理記述言語からネットリストに変換
し、それをデバイスに合わせてテクノロジーマッピング
を行い、配置配線のレイアウト処理を施し、さらに、そ
の結果を回路情報に変換する必要がある。特に、配置配
線の処理はアルゴリズムが複雑で、時間がかかることが
知られている。
That is, in the process of converting the logic description language into circuit information, the logic description language is converted into a netlist, and the netlist is subjected to technology mapping according to a device, layout and layout processing is performed, and the result is further converted. Must be converted to circuit information. In particular, it is known that the placement and routing process has a complicated algorithm and takes a long time.

【0041】つまり、従来例3では、ネットワーク上の
サーバに格納されていてクライアントが共有するプログ
ラムに、互換性を持たせる目的で、論理記述言語のよう
な抽象度の高い記述方法を用いるために、クライアント
での前処理量が大きくなり、ハードウエア処理による処
理時間の短縮を損なうほどに全体の処理時間が長くなる
問題がある。
That is, in the conventional example 3, in order to make the programs stored in the server on the network and shared by the client compatible, a description method with a high level of abstraction such as a logical description language is used. However, there is a problem in that the amount of pre-processing at the client becomes large, and the entire processing time becomes long enough to impair the reduction of the processing time by hardware processing.

【0042】さらに、従来例3では、プログラムをネッ
トワークから取得しているが、ネットワークでの伝送
は、途中で通信が切断し、プログラムをダウンロードで
きないことも起こり得るため、信頼性の点で問題があ
る。
Furthermore, in the third conventional example, the program is obtained from the network. However, in the transmission over the network, the communication may be interrupted on the way and the program may not be downloaded. is there.

【0043】また、従来例4では、プログラム実行時に
は、繰り返し処理回数が1回以上であっても少ない場合
は、ハードウエアモジュールをプログラマブル論理回路
に実装して処理するよりは、ソフトウエアで処理したほ
うが処理時間が短くなる可能性もあるが、デバック時の
みハードウエア処理をソフトウエア処理で置換してい
る。すなわち、プログラム実行時におけるプログラマブ
ル論理回路の再構成時間も含めた処理時間全体の短縮を
考慮していないことに問題がある。
In the conventional example 4, when the program is executed, if the number of repetition processings is one or more, the processing is performed by software rather than mounting the hardware module in a programmable logic circuit. Although processing time may be shorter, hardware processing is replaced with software processing only at the time of debugging. That is, there is a problem in that the reduction of the entire processing time including the reconfiguration time of the programmable logic circuit at the time of program execution is not considered.

【0044】そして、以上の従来例1〜4に共通した問
題として、回路情報を取得する時間も含めたプログラマ
ブル論理回路の再構成時間と、一連の処理として実行さ
れる複数のプログラムで共通して用いられる処理を考慮
しないで、処理をハードウエア処理とソフトウエア処理
に一元的に分離していることが挙げられる。
As problems common to the above-mentioned conventional examples 1 to 4, the reconfiguration time of the programmable logic circuit including the time for acquiring the circuit information and the common time among a plurality of programs executed as a series of processing are common. The processing is unified into hardware processing and software processing without considering the processing to be used.

【0045】この発明は、以上の点にかんがみ、複数の
処理を一連の処理として一度に行う情報処理システムに
おいて、プログラマブル論理回路による処理を、プログ
ラマブル論理回路の再構成時間も考慮に入れ、かつ、前
記一連の処理全体として効率的な処理ができるように、
活用できるようにすることを目的とする。
In view of the above, the present invention provides an information processing system that performs a plurality of processes as a series of processes at a time, and performs processing by the programmable logic circuit in consideration of the reconfiguration time of the programmable logic circuit. In order to perform efficient processing as a whole of the series of processing,
The purpose is to be able to utilize it.

【0046】[0046]

【課題を解決するための手段】上記課題を解決するた
め、請求項1の発明による情報処理システムは、プログ
ラム言語で処理を記述したソフトウエアモジュールから
なる処理モジュールの複数個で構成されるプログラムで
記述される一連の処理を実行するものであり、かつ、前
記一連の処理の一部分が、プログラマブル論理回路で処
理可能である情報処理システムであって、前記プログラ
ム内のソフトウエアモジュールが行う処理と同じ処理
を、前記プログラマブル論理回路に再構成する回路情報
で記述したハードウエアモジュールを記憶する記憶装置
部と、前記記憶装置部から前記ハードウエアモジュール
を入手して、前記プログラマブル論理回路を再構成する
ハードウエアモジュール取得手段と、前記プログラムに
記述された処理モジュールを、前記ソフトウエアモジュ
ールと、前記ハードウエアモジュールのどちらで実行す
るかを、前記プログラムの実行前に決める実行モジュー
ル決定手段と、備えることを特徴とする。
In order to solve the above-mentioned problems, an information processing system according to the first aspect of the present invention comprises a program constituted by a plurality of processing modules each comprising a software module in which processing is described in a program language. An information processing system that executes a series of processes to be described, and a part of the series of processes can be processed by a programmable logic circuit, and is the same as a process performed by a software module in the program. A storage unit for storing a hardware module in which processing is described by circuit information for reconfiguring the programmable logic circuit, and a hardware unit for obtaining the hardware module from the storage unit and reconfiguring the programmable logic circuit A software module acquisition means, and a processing module described in the program. Le, said software module, whether to run in either the hardware module, and execution module determination means for determining prior to execution of said program, characterized in that it comprises.

【0047】また、請求項2の発明は、プログラム言語
で処理を記述したソフトウエアモジュールからなる処理
モジュールの複数個で構成されるプログラムで記述され
る一連の処理を実行するものであり、かつ、前記一連の
処理の一部分が、プログラマブル論理回路で処理可能で
ある情報処理システムであって、前記プログラム内のソ
フトウエアモジュールが行う処理と同じ処理を、前記プ
ログラマブル論理回路に再構成する回路情報で記述した
ハードウエアモジュールを記憶する記憶装置部と、前記
記憶装置部から前記ハードウエアモジュールを入手し
て、前記プログラマブル論理回路を再構成するハードウ
エアモジュール取得手段と、前記プログラムに記述され
た処理モジュールを、前記ソフトウエアモジュールと、
前記ハードウエアモジュールのどちらで実行するかを、
前記プログラムの前記処理モジュールの実行時に決める
実行モジュール決定手段と、備えることを特徴とする。
According to a second aspect of the present invention, a series of processes described by a program composed of a plurality of processing modules including software modules in which processes are described in a program language are executed, and An information processing system in which a part of the series of processes can be processed by a programmable logic circuit, wherein the same process as that performed by a software module in the program is described by circuit information reconfigured in the programmable logic circuit. A storage unit for storing the hardware module, a hardware module obtaining unit for obtaining the hardware module from the storage unit and reconfiguring the programmable logic circuit, and a processing module described in the program. , The software module;
Which of the hardware modules should be executed,
Execution module determining means for determining when the processing module of the program is executed.

【0048】また、請求項3の発明は、処理の一部分
が、プログラマブル論理回路で処理可能であり、前記プ
ログラマブル論理回路に構成する回路情報で処理を記述
したハードウエアモジュールからなる処理モジュールの
複数個で構成されるプログラムで記述される一連の処理
を実行する情報処理システムであって、前記プログラム
内のハードウエアモジュールが行う処理と同じ処理を、
プログラム言語で記述したソフトウエアモジュールを記
憶する記憶装置部と、前記記憶装置部から前記ソフトウ
エアモジュールを入手して、実行プログラム用記憶部に
格納するソフトウエアモジュール取得手段と、前記プロ
グラムに記述された処理モジュールを、前記ソフトウエ
アモジュールと、前記ハードウエアモジュールのどちら
で実行するかを、前記プログラムの実行前に決める実行
モジュール決定手段と、を備えることを特徴とする。
According to a third aspect of the present invention, there is provided a plurality of processing modules comprising a hardware module in which a part of the processing can be processed by a programmable logic circuit and the processing is described by circuit information included in the programmable logic circuit. An information processing system that executes a series of processes described by a program configured by the same process as the process performed by the hardware module in the program,
A storage unit for storing a software module described in a programming language; a software module obtaining unit for obtaining the software module from the storage unit and storing the software module in a storage unit for an execution program; An execution module determining unit that determines whether the processing module is executed by the software module or the hardware module before the execution of the program.

【0049】また、請求項4の発明は、処理の一部分
が、プログラマブル論理回路で処理可能であり、前記プ
ログラマブル論理回路に構成する回路情報で処理を記述
したハードウエアモジュールからなる処理モジュールの
複数個で構成されるプログラムで記述される一連の処理
を実行する情報処理システムであって、前記プログラム
内のハードウエアモジュールが行う処理と同じ処理を、
プログラム言語で記述したソフトウエアモジュールを記
憶する記憶装置部と、前記記憶装置部から前記ソフトウ
エアモジュールを入手して、実行プログラム用記憶部に
格納するソフトウエアモジュール取得手段と、前記プロ
グラムに記述された処理モジュールを、前記ソフトウエ
アモジュールと、前記ハードウエアモジュールのどちら
で実行するかを、前記プログラムの前記処理モジュール
の実行時に決める実行モジュール決定手段とを備えるこ
とを特徴とする。
According to a fourth aspect of the present invention, a plurality of processing modules, each of which can be partially processed by a programmable logic circuit, are composed of hardware modules in which the processing is described by circuit information included in the programmable logic circuit. An information processing system that executes a series of processes described by a program configured by the same process as the process performed by the hardware module in the program,
A storage unit for storing a software module described in a programming language; a software module obtaining unit for obtaining the software module from the storage unit and storing the software module in a storage unit for an execution program; An execution module determining unit that determines whether the processing module executed by the software module or the hardware module is to be executed when the processing module of the program is executed.

【0050】また、請求項5の発明は、プログラム言語
で処理を記述したソフトウエアモジュールからなる処理
モジュールの複数個で構成されるプログラムで記述され
る一連の処理を実行するものであり、かつ、前記一連の
処理の一部分が、プログラマブル論理回路で処理可能で
ある情報処理システムであって、前記プログラム内のソ
フトウエアモジュールが行う処理と同じ処理を、前記プ
ログラマブル論理回路に再構成する回路情報で記述した
ハードウエアモジュールをネットワークを通じて入手し
て、前記プログラマブル論理回路を再構成するハードウ
エアモジュール取得手段と、前記プログラムに記述され
た処理モジュールを、前記ソフトウエアモジュールと、
前記ハードウエアモジュールのどちらで実行するかを、
前記プログラムの実行前に決める実行モジュール決定手
段と、を備えることを特徴とする。
According to a fifth aspect of the present invention, a series of processes described by a program composed of a plurality of processing modules including software modules in which processes are described in a program language are executed, and An information processing system in which a part of the series of processes can be processed by a programmable logic circuit, wherein the same process as that performed by a software module in the program is described by circuit information reconfigured in the programmable logic circuit. A hardware module obtaining means for obtaining the hardware module through a network and reconfiguring the programmable logic circuit; and a processing module described in the program, the software module,
Which of the hardware modules should be executed,
Execution module determining means for determining before executing the program.

【0051】請求項6の発明は、プログラム言語で処理
を記述したソフトウエアモジュールからなる処理モジュ
ールの複数個で構成されるプログラムで記述される一連
の処理を実行するものであり、かつ、前記一連の処理の
一部分が、プログラマブル論理回路で処理可能である情
報処理システムであって、前記プログラム内のソフトウ
エアモジュールが行う処理と同じ処理を、前記プログラ
マブル論理回路に再構成する回路情報で記述したハード
ウエアモジュールをネットワークを通じて入手して、前
記プログラマブル論理回路を再構成するハードウエアモ
ジュール取得手段と、前記プログラムに記述された処理
モジュールを、前記ソフトウエアモジュールと、前記ハ
ードウエアモジュールのどちらで実行するかを、前記プ
ログラムの前記処理モジュールの実行時に決める実行モ
ジュール決定手段と、を備えることを特徴とする。
According to a sixth aspect of the present invention, a series of processes described by a program composed of a plurality of processing modules each including a software module in which processes are described in a program language are executed. Is an information processing system in which a part of the processing can be performed by a programmable logic circuit, wherein the same processing as that performed by a software module in the program is described by circuit information reconfigured in the programmable logic circuit. A hardware module obtaining means for obtaining a hardware module through a network and reconfiguring the programmable logic circuit; and executing the processing module described in the program by the software module or the hardware module. In the processing of the program. Characterized in that it comprises a execution module determination means for determining when the module execution.

【0052】また、請求項7の発明は、処理の一部分
が、プログラマブル論理回路で処理可能であり、前記プ
ログラマブル論理回路に構成する回路情報で処理を記述
したハードウエアモジュールからなる処理モジュールの
複数個で構成されるプログラムで記述される一連の処理
を実行する情報処理システムであって、前記プログラム
内のハードウエアモジュールが行う処理と同じ処理を、
プログラム言語で記述したソフトウエアモジュールをネ
ットワークを通じて入手して、実行プログラム用記憶部
に格納するソフトウエアモジュール取得手段と、前記プ
ログラムに記述された処理モジュールを、前記ソフトウ
エアモジュールと、前記ハードウエアモジュールのどち
らで実行するかを、前記プログラムの実行前に決める実
行モジュール決定手段と、を備えることを特徴とする。
According to a seventh aspect of the present invention, a plurality of processing modules each including a hardware module in which a part of the processing can be processed by a programmable logic circuit and the processing is described by circuit information included in the programmable logic circuit. An information processing system that executes a series of processes described by a program configured by the same process as the process performed by the hardware module in the program,
A software module obtaining means for obtaining a software module described in a programming language through a network and storing the software module in a storage unit for an execution program; a processing module described in the program as a software module; Execution module determining means for determining which of the two is to be executed before the execution of the program.

【0053】また、請求項8の発明は、処理の一部分
が、プログラマブル論理回路で処理可能であり、前記プ
ログラマブル論理回路に構成する回路情報で処理を記述
したハードウエアモジュールからなる処理モジュールの
複数個で構成されるプログラムで記述される一連の処理
を実行する情報処理システムであって、前記プログラム
内のハードウエアモジュールが行う処理と同じ処理を、
プログラム言語で記述したソフトウエアモジュールをネ
ットワークを通じて入手して、実行プログラム用記憶部
に格納するソフトウエアモジュール取得手段と、前記プ
ログラムに記述された処理モジュールを、前記ソフトウ
エアモジュールと、前記ハードウエアモジュールのどち
らで実行するかを、前記プログラムの前記処理モジュー
ルの実行時に決める実行モジュール決定手段と、を備え
ることを特徴とする。
According to a further aspect of the present invention, a plurality of processing modules comprising a hardware module in which a part of the processing can be processed by a programmable logic circuit, and the processing is described by circuit information included in the programmable logic circuit. An information processing system that executes a series of processes described by a program configured by the same process as the process performed by the hardware module in the program,
A software module obtaining means for obtaining a software module described in a programming language through a network and storing the software module in a storage unit for an execution program; a processing module described in the program as a software module; Execution module determining means for determining which of the two is executed when the processing module of the program is executed.

【0054】また、請求項9の発明は、請求項1、請求
項2、請求項5または請求項6に記載の情報処理システ
ムにおいて、前記ソフトウエアモジュールが行う処理と
同じ処理を行うハードウエアモジュールを示す識別符号
が、プログラム内に記述されており、前記ハードウエア
モジュール取得手段は、前記識別符号に対応するハード
ウエアモジュールを入手して、前記プログラマブル論理
回路を再構成することを特徴とする。
According to a ninth aspect of the present invention, in the information processing system according to the first, second, fifth, or sixth aspect, the hardware module performs the same processing as the processing performed by the software module. Is described in a program, and the hardware module obtaining means obtains a hardware module corresponding to the identification code and reconfigures the programmable logic circuit.

【0055】また、請求項10の発明は、請求項3、請
求項4、請求項7または請求項8に記載の情報処理シス
テムにおいて、前記ハードウエアモジュールが行う処理
と同じ処理を行うソフトウエアモジュールを示す識別符
号が、プログラム内に記述されており、前記ソフトウエ
アモジュール取得手段は、前記識別符号に対応するソフ
トウエアモジュールを入手して、前記実行プログラム用
記憶部に格納することを特徴とする。
According to a tenth aspect of the present invention, in the information processing system according to the third, fourth, seventh or eighth aspect, the software module performs the same processing as that performed by the hardware module. Is described in a program, and the software module obtaining means obtains a software module corresponding to the identification code and stores the software module in the execution program storage unit. .

【0056】また、請求項11の発明は、請求項9に記
載の情報処理システムにおいて、前記プログラマブル論
理回路に再構成されているハードウエアモジュールの識
別符号を記録する識別符号記録手段を備え、前記ハード
ウエアモジュール取得手段は、前記プログラムに記述さ
れているハードウエアモジュールの識別符号のうち、前
記識別符号記録手段に記録されていない識別符号に対応
するハードウエアモジュールを入手して、前記プログラ
マブル論理回路を再構成することを特徴とする。
According to an eleventh aspect of the present invention, in the information processing system according to the ninth aspect, there is provided an identification code recording means for recording an identification code of a hardware module reconfigured in the programmable logic circuit, The hardware module obtaining means obtains a hardware module corresponding to an identification code not recorded in the identification code recording means among the identification codes of the hardware modules described in the program, and obtains the programmable logic circuit. Is reconfigured.

【0057】また、請求項12の発明は、請求項10に
記載の情報処理システムにおいて、前記実行プログラム
用記憶部に格納されているソフトウエアモジュールの識
別符号を記録する識別符号記録手段を備え、前記ソフト
ウエアモジュール取得手段は、前記プログラムに記述さ
れているソフトウエアモジュールの識別符号のうち、前
記識別符号記録手段に記録されていない識別符号に対応
するソフトウエアモジュールを入手して、前記実行プロ
グラム用記憶部に格納することを特徴とする。
According to a twelfth aspect of the present invention, in the information processing system according to the tenth aspect, there is provided an identification code recording means for recording an identification code of a software module stored in the execution program storage unit, The software module obtaining means obtains a software module corresponding to an identification code not recorded in the identification code recording means among identification codes of the software modules described in the program, and executes the execution program. It is stored in the storage unit.

【0058】また、請求項13の発明は、請求項9に記
載の情報処理システムにおいて、前記プログラマブル論
理回路に再構成されたハードウエアモジュールの識別符
号を記録する識別符号記録手段を備え、前記ハードウエ
アモジュール取得手段は、前記識別符号記録手段に記録
されている識別符号に対応する、少なくとも一つ以上の
ハードウエアモジュールを、プログラムの実行前に入手
して、前記プログラマブル論理回路を再構成することを
特徴とする。
According to a thirteenth aspect of the present invention, in the information processing system according to the ninth aspect, the information processing system further includes identification code recording means for recording an identification code of a hardware module reconfigured in the programmable logic circuit. The hardware module obtaining means obtains at least one or more hardware modules corresponding to the identification code recorded in the identification code recording means before executing the program, and reconfigures the programmable logic circuit. It is characterized by.

【0059】また、請求項14の発明は、請求項10に
記載の情報処理システムにおいて、前記実行プログラム
用記憶部に格納されたソフトウエアモジュールの識別符
号を記録する識別符号記録手段を備え、前記ソフトウエ
アモジュール取得手段は、前記識別符号記録手段に記録
されている識別符号に対応する、少なくとも一つ以上の
ソフトウエアモジュールを、プログラムの実行前に入手
して、前記実行プログラム用記憶部に格納することを特
徴とする。
According to a fourteenth aspect of the present invention, in the information processing system according to the tenth aspect, there is provided an identification code recording means for recording an identification code of a software module stored in the execution program storage unit, The software module acquisition unit acquires at least one software module corresponding to the identification code recorded in the identification code recording unit before executing the program, and stores the acquired software module in the execution program storage unit. It is characterized by doing.

【0060】また、請求項15の発明は、請求項1〜請
求項14のいずれかに記載の情報処理システムにおい
て、前記実行モジュール決定手段は、予め設定された実
行モジュール選択条件を参照して、前記プログラムで記
述された処理モジュールを、前記ソフトウエアモジュー
ルと前記ハードウエアモジュールのどちらで実行するか
を決定することを特徴とする。
According to a fifteenth aspect of the present invention, in the information processing system according to any one of the first to fourteenth aspects, the execution module determining means refers to an execution module selection condition set in advance. It is characterized in that it is determined whether the processing module described by the program is executed by the software module or the hardware module.

【0061】また、請求項16の発明は、請求項2、請
求項4、請求項6または請求項8に記載の情報処理シス
テムにおいて、前記実行モジュール決定手段は、前記処
理モジュールの実行時に、前記実行モジュール選択条件
として、当該実行する処理のハードウエアモジュールの
前記プログラマブル論理回路への再構成が終了している
か否かを判別し、前記再構成が終了しているときには、
前記処理をハードウエアモジュールにより再構成された
プログラマブル論理回路で実行するように決定すること
を特徴とする。
According to a sixteenth aspect of the present invention, in the information processing system according to the second, fourth, sixth, or eighth aspect, the execution module determining means executes the processing module when executing the processing module. As the execution module selection condition, it is determined whether or not the reconfiguration of the hardware module of the process to be executed into the programmable logic circuit has been completed, and when the reconfiguration has been completed,
The processing is determined to be executed by a programmable logic circuit reconfigured by a hardware module.

【0062】また、請求項17の発明は、請求項2、請
求項4、請求項6または請求項8に記載の情報処理シス
テムにおいて、前記プログラムの実行処理と並行してハ
ードウエアモジュールによるプログラマブル論理回路の
再構成を行い、前記処理モジュールの実行時に、当該実
行する処理のハードウエアモジュールの前記プログラマ
ブル論理回路への再構成が終了しているか否かを判別
し、前記再構成が終了しているときには、前記処理をハ
ードウエアモジュールにより再構成されたプログラマブ
ル論理回路で実行するように決定することを特徴とす
る。
According to a seventeenth aspect of the present invention, in the information processing system according to the second, fourth, sixth or eighth aspect, the programmable logic by a hardware module is executed in parallel with the execution of the program. The circuit is reconfigured, and when the processing module is executed, it is determined whether or not the reconfiguration of the hardware module of the processing to be executed to the programmable logic circuit has been completed, and the reconfiguration has been completed. In some cases, the processing is determined to be executed by a programmable logic circuit reconfigured by a hardware module.

【0063】また、請求項18の発明は、請求項2、請
求項4、請求項6または請求項8に記載の情報処理シス
テムにおいて、前記ハードウエアモジュールを示す識別
符号が、プログラム内に記述されているとともに、前記
プログラマブル論理回路に再構成されている前記ハード
ウエアモジュールの識別符号を記録する識別符号記録手
段を備え、前記実行モジュール選択手段は、前記処理モ
ジュールの実行時に、前記識別符号記録手段を参照し
て、前記識別符号記録手段に、実行しようとする処理の
ハードウエアモジュールの識別符号が記録されていると
きには、当該ハードウエアモジュールの再構成は終了し
ているとして、前記処理をハードウエアモジュールによ
り再構成されたプログラマブル論理回路で実行するよう
に決定することを特徴とする。
According to an eighteenth aspect of the present invention, in the information processing system according to the second, fourth, sixth, or eighth aspect, the identification code indicating the hardware module is described in a program. And an identification code recording means for recording an identification code of the hardware module reconfigured in the programmable logic circuit. The execution module selection means, when the processing module is executed, the identification code recording means When the identification code of the hardware module of the process to be executed is recorded in the identification code recording unit, it is determined that the reconfiguration of the hardware module has been completed, and the process is executed by hardware. The decision to execute on a programmable logic circuit reconfigured by the module To.

【0064】[0064]

【作用】上述の構成の各請求項の発明による情報処理シ
ステムにおいては、予め、ソフトウエアモジュールまた
はハードウエアモジュールの一方がプログラム内に記述
され、ソフトウエアモジュールあるいはハードウエアモ
ジュールの他方が、システム内の記憶装置部に記憶され
ている。
In the information processing system according to the present invention, one of a software module and a hardware module is described in a program in advance, and the other of the software module and the hardware module is included in the system. Are stored in the storage device section.

【0065】この記憶装置部に記憶されているハードウ
エア(またはソフトウエア)モジュールは、ハードウエ
ア(またはソフトウエア)取得手段により読み出され、
プログラマブル論理回路に回路情報が再構成(または記
憶部に記憶)される。
The hardware (or software) module stored in the storage unit is read out by hardware (or software) acquisition means,
Circuit information is reconfigured (or stored in the storage unit) in the programmable logic circuit.

【0066】実行モジュール決定手段は、プログラムの
実行時またはプログラム実行前に、ソフトウエアモジュ
ールとハードウエアモジュールのどちらで処理単位を実
行するかを決定する。
The execution module determining means determines whether to execute a processing unit by a software module or a hardware module at the time of executing a program or before executing the program.

【0067】従来のように、アプリケーションプログラ
ムにおいて、ソフトウエア処理部分と、ハードウエア処
理部分とを事前に固定的に決定するものではないので、
その実行モジュールの決定時点における、プログラマブ
ル論理回路の再構成時間も考慮に入れた種々の条件に基
づいて、プログラムに記述された処理全体として効率の
よい実行モジュールを選択するように決定することがで
きる。
As in the prior art, the software processing part and the hardware processing part are not fixedly determined in advance in the application program.
At the time of the determination of the execution module, it can be determined to select an efficient execution module as the whole process described in the program based on various conditions that also take into account the reconfiguration time of the programmable logic circuit. .

【0068】そして、請求項5〜請求項8の発明におい
ては、ハードウエアモジュールあるいはソフトウエアモ
ジュールはシステム内にはなく、ネットワークを通じて
取得するようにされる。
In the inventions of claims 5 to 8, the hardware module or the software module is not provided in the system, but is obtained through a network.

【0069】したがって、この請求項5〜請求項8の発
明の場合には、システム内にハードウエアモジュールを
予め記憶する記憶装置部やソフトウエアモジュールを予
め記憶しておく記憶装置部を備える必要がなく、システ
ム構成を簡単にできるものである。そして、もしも、ネ
ットワークの不具合により、ハードウエアモジュールや
ソフトウエアモジュールのネットワークからの取得が困
難な場合であっても、この請求項5〜請求項8の発明の
場合には、同じ処理内容を実行するソフトウエアモジュ
ールやハードウエアモジュールが存在するので、それら
を用いて、処理を中断することなく、継続することが可
能である。
Therefore, in the case of the present invention, it is necessary to provide a storage unit for storing hardware modules in advance and a storage unit for storing software modules in advance in the system. However, the system configuration can be simplified. Even if it is difficult to obtain a hardware module or a software module from the network due to a fault in the network, the same processing is executed in the case of the present invention. Since there are software modules and hardware modules that perform processing, it is possible to continue processing without interruption by using them.

【0070】また、請求項9および請求項10の発明の
情報処理システムにおいては、プログラム内にソフトウ
エアモジュールに対応するハードウエアモジュールの識
別符号、あるいは、ハードウエアモジュールに対応する
ソフトウエアモジュールの識別符号が記述されている。
ハードウエアモジュール取得手段は、その識別符号で指
示されるハードウエアモジュールを入手して、プログラ
マブル論理回路を再構成する。また、ソフトウエアモジ
ュールは、その識別符号で指示されるものが取得され
て、メインメモリなどの実行プログラム用記憶部に格納
される。
In the information processing system according to the ninth and tenth aspects of the present invention, the identification code of the hardware module corresponding to the software module or the identification of the software module corresponding to the hardware module is included in the program. The code is described.
The hardware module obtaining means obtains the hardware module indicated by the identification code and reconfigures the programmable logic circuit. Further, the software module indicated by the identification code is obtained and stored in an execution program storage unit such as a main memory.

【0071】したがって、この請求項9および請求項1
0の発明によれば、プログラムを構成するソフトウエア
モジュールとハードウエアモジュールとの対応を、予
め、表などとして取得して保存しておく必要はない。
Therefore, in the ninth and the first aspects of the present invention,
According to the invention of No. 0, it is not necessary to acquire and store in advance a correspondence between a software module and a hardware module constituting a program as a table or the like.

【0072】また、請求項11の発明の情報処理システ
ムにおいては、プログラマブル論理回路に、既に再構成
されているハードウエアモジュールの識別符号が識別符
号記憶手段に記憶されている。そして、ハードウエアモ
ジュール取得手段は、プログラムに記述されているハー
ドウエアモジュールの識別符号のうち、識別符号記憶手
段に記録されていない識別符号に対応するハードウエア
モジュールを入手して、前記プログラマブル論理回路を
再構成する。
In the information processing system according to the eleventh aspect of the present invention, the identification code of the hardware module which has been reconfigured in the programmable logic circuit is stored in the identification code storage means. The hardware module obtaining means obtains a hardware module corresponding to an identification code not recorded in the identification code storage means among the identification codes of the hardware modules described in the program, and obtains the programmable logic circuit. Reconfigure.

【0073】したがって、この請求項11の発明によれ
ば、既にプログラマブル論理回路に再構成されている回
路情報と同じ回路情報が、プログラマブル論理回路に再
構成されることはなく、再構成時間の無駄を省くことが
できて、既にプログラマブル論理回路に再構成されてい
る回路情報を用いたハードウエア処理を効率よく利用す
ることができる。
Therefore, according to the eleventh aspect of the present invention, the same circuit information as that already reconfigured in the programmable logic circuit is not reconfigured in the programmable logic circuit, and the reconfiguration time is wasted. Can be omitted, and hardware processing using circuit information already reconfigured into a programmable logic circuit can be efficiently used.

【0074】また、請求項12の発明の情報処理システ
ムにおいては、実行プログラム用記憶部に、既に格納さ
れているソフトウエアモジュールの識別符号が識別符号
記憶手段に記憶されている。そして、ソフトウエアモジ
ュール取得手段は、プログラムに記述されているソフト
ウエアモジュールの識別符号のうち、識別符号記憶手段
に記録されていない識別符号に対応するソフトウエアモ
ジュールを入手して、前記実行プログラム用記憶部に格
納する。
In the information processing system according to the twelfth aspect of the present invention, the identification code of the software module already stored in the execution program storage unit is stored in the identification code storage unit. Then, the software module obtaining means obtains a software module corresponding to an identification code not recorded in the identification code storage means among the identification codes of the software modules described in the program, and Store in the storage unit.

【0075】したがって、この請求項12の発明によれ
ば、既に実行プログラム用記憶部に格納されているソフ
トウエアモジュールと同じ情報が、実行プログラム用記
憶部に再書き込みされることはなく、時間の無駄を省く
ことができて、既に格納されているソフトウエアモジュ
ールを効率よく利用することができる。
Therefore, according to the twelfth aspect of the present invention, the same information as the software module already stored in the execution program storage unit is not rewritten in the execution program storage unit. Waste can be eliminated, and the already stored software modules can be used efficiently.

【0076】また、請求項13の発明においては、過去
に同種のアプリケーションプログラムによる処理が行わ
れたとき、ハードウエアモジュールの識別符号記憶手段
に記憶されている識別符号を用いて、その幾つかのハー
ドウエアモジュールをプログラムの実行前に入手して、
プログラマブル論理回路に再構成する。これにより、予
め使用が予測されるハードウエアモジュールによるプロ
グラマブル論理回路への再構成がプログラムの実行前か
ら、行われて、全体としての処理時間の短縮化を図るこ
とができる。
According to the thirteenth aspect of the present invention, when processing by an application program of the same type has been performed in the past, some identification codes stored in the identification code storage means of the hardware module are used. Get the hardware module before running the program,
Reconfigure to a programmable logic circuit. As a result, the reconfiguration of the programmable logic circuit by the hardware module whose use is predicted in advance is performed before the execution of the program, and the processing time as a whole can be reduced.

【0077】また、請求項14の発明においては、過去
に同種のアプリケーションプログラムによる処理が行わ
れたとき、ソフトウエアモジュールの識別符号記憶手段
に記憶されている識別符号を用いて、その幾つかのソフ
トウエアモジュールをプログラムの実行前に入手して、
実行プログラム用記憶部に格納する。これにより、予め
使用が予測されるソフトウエアモジュールが、プログラ
ムの実行前から、実行プログラム用記憶部に格納され
て、全体としての処理時間の短縮化を図ることができ
る。
According to the fourteenth aspect of the present invention, when processing of the same type of application program has been performed in the past, the identification code stored in the identification code storage means of the software module is used for some of them. Get the software module before running the program,
It is stored in the execution program storage unit. Thereby, the software module whose use is predicted in advance is stored in the execution program storage unit before the execution of the program, and the processing time as a whole can be reduced.

【0078】また、請求項15の発明においては、予
め、実行モジュール選択条件が設定され、この実行モジ
ュール選択条件をプログラムの実行時に参照して、前記
ソフトウエアモジュールと前記ハードウエアモジュール
のどちらで実行するかを決定する。したがって、この請
求項15の発明においては、実行モジュール選択条件
を、予め設定しておくことにより、処理時間だけでな
く、その他の条件により、いずれのモジュールで処理を
実行するかを決定させるようにすることができる。
According to the invention of claim 15, an execution module selection condition is set in advance, and the execution module selection condition is referred to at the time of execution of a program to be executed by either the software module or the hardware module. Decide what to do. Therefore, in the invention of claim 15, by setting the execution module selection condition in advance, not only the processing time but also other modules can be used to determine which module to execute the processing. can do.

【0079】例えば、実行モジュール選択条件として
は、ハードウエアモジュールのプログラマブル論理回
路への再構成時間とソフトウエアモジュールによる処理
時間との小さい方、処理の際のメモリ消費量が両モジ
ュールで異なる場合、そのメモリ消費量の小さい方、
ソフトウエアモジュールとハードウエアモジュールによ
る処理にかかる実行時間の小さい方、前記〜の組
み合わせ、などの種々のものがあり、それらをユーザ
が、種々の要求に応じて設定することができる。
For example, as the execution module selection condition, the smaller of the reconfiguration time of the hardware module into the programmable logic circuit and the processing time of the software module, or the case where the memory consumption for processing is different between the two modules, The smaller of its memory consumption,
There are various types, such as the one in which the execution time required for the processing by the software module and the hardware module is short, the combination of the above, and the like, which can be set by the user according to various requests.

【0080】また、請求項16の発明においては、実行
モジュール決定手段は、処理を実行しようとする時に、
その処理に対応するハードウエアモジュールの再構成が
終了しているには、ソフトウエア処理に代えて、プログ
ラマブル論理回路によるハードウエア処理を実行するよ
うに決定する。
Further, in the invention according to claim 16, when the execution module determining means attempts to execute the processing,
If the reconfiguration of the hardware module corresponding to the processing has been completed, it is determined that hardware processing by a programmable logic circuit is executed instead of software processing.

【0081】処理時間に関しては、一般に、ハードウエ
ア処理は、ソフトウエア処理よりも速いので、この請求
項16の発明のようにすることにより、全体としての処
理時間を短縮することが可能になる。
Regarding the processing time, generally, hardware processing is faster than software processing, so that the processing time as a whole can be reduced by adopting the invention of claim 16.

【0082】また、請求項17の発明においては、プロ
グラムの開始は、ソフトウエア処理により始め、同時に
ハードウエアモジュールによるプログラム論理回路への
再構成を並行して行う。そして、処理単位の実行時に、
プログラマブル論理回路の再構成が完了しているときに
は、そのプログラマブル論理回路を用いたハードウエア
処理を実行するようにする。
According to the seventeenth aspect of the present invention, the start of the program is started by software processing, and at the same time, the reconfiguration of the program logic circuit by the hardware module is performed in parallel. Then, when executing the processing unit,
When the reconfiguration of the programmable logic circuit has been completed, hardware processing using the programmable logic circuit is executed.

【0083】例えば繰り返し処理の場合、最初の処理は
ソフトウエア処理で実行されるが、プログラマブル論理
回路の再構成が完了したときからは、同じ処理がハード
ウエア処理によりなされる。
For example, in the case of repetitive processing, the first processing is executed by software processing, but the same processing is performed by hardware processing after the reconfiguration of the programmable logic circuit is completed.

【0084】繰り返し処理だからといって、最初から、
プログラマブル論理回路による処理をすべきとして一元
的に定める場合には、処理の開始がプログラマブル論理
回路の再構成が完了するまで遅れることになるが、請求
項17の発明の場合には、始めはソフトウエア処理によ
り処理が実行されるので、全体として、処理時間の短縮
化が期待ができる。
Even though it is a repetitive process, from the beginning,
If the processing by the programmable logic circuit is to be unified, the start of the processing is delayed until the reconfiguration of the programmable logic circuit is completed. Since the processing is performed by the wear processing, reduction of the processing time can be expected as a whole.

【0085】また、請求項18の発明においては、識別
符号記憶手段に記憶されている識別符号に対応するハー
ドウエアモジュールは、既にプログラマブル論理回路に
再構成されているので、ハードウエアモジュール取得手
段は、記憶装置部やネットワークからハードウエアモジ
ュールを取得して、再構成を実行することなく、実行モ
ジュール決定手段が、ハードウエアモジュールによる処
理を選択するように決定する。
According to the eighteenth aspect of the present invention, the hardware module corresponding to the identification code stored in the identification code storage means has already been reconfigured into a programmable logic circuit. Then, the hardware module is acquired from the storage unit or the network, and the execution module determination unit determines to select the processing by the hardware module without executing the reconfiguration.

【0086】したがって、既に再構成が完了したハード
ウエアモジュールが重ねて再構成されることがなく、プ
ログラマブル論理回路の再構成の時間が省略できるた
め、全体としての処理時間を短縮して、効率のよい処理
を行うことができる。
Therefore, the hardware modules that have already been reconfigured do not overlap and are reconfigured, and the time for reconfiguring the programmable logic circuit can be omitted. As a result, the overall processing time can be shortened and the efficiency can be reduced. Good processing can be performed.

【0087】[0087]

【発明の実施の形態】以下、この発明による情報処理シ
ステムの幾つかの実施の形態を、図を参照しながら説明
する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Some embodiments of an information processing system according to the present invention will be described below with reference to the drawings.

【0088】[第1の実施の形態]この発明による、少
なくとも処理の一部分が回路構成を再構成できるプログ
ラマブル論理回路で処理される情報処理システムの第1
の実施の形態の主要な概念構成を図1に示す。
[First Embodiment] An information processing system according to the present invention, in which at least a part of the processing is processed by a programmable logic circuit whose circuit configuration can be reconfigured, is first described.
FIG. 1 shows a main conceptual configuration of the embodiment.

【0089】この実施の形態において、対象とするアプ
リケーションプログラム(単にプログラムという場合も
ある)100は、当該プログラムにより実行しようとす
る一連の処理を複数個の処理に分離し、分離された各処
理ごとにモジュールとして構成したものである。このモ
ジュールを、この明細書では処理モジュールと称するこ
ととする。
In this embodiment, a target application program (which may be simply called a program) 100 separates a series of processes to be executed by the program into a plurality of processes. It is configured as a module. This module is referred to as a processing module in this specification.

【0090】この第1の実施の形態では、プログラム1
00を構成する各処理モジュールは、CPUが処理を実
行するように、処理がプログラム言語で記述されたソフ
トウエアプログラムで構成される。このソフトウエアプ
ログラムは、それぞれソフトウエアモジュールSMと称
することとする。したがって、この実施の形態の場合、
アプリケーションプログラム100は、複数個のソフト
ウエアモジュールSMの集合からなる。
In the first embodiment, the program 1
Each processing module constituting 00 is configured by a software program whose processing is described in a programming language so that the CPU executes the processing. This software program is called a software module SM. Therefore, in the case of this embodiment,
The application program 100 includes a set of a plurality of software modules SM.

【0091】この実施の形態においては、記憶装置20
0に、ソフトウエアモジュールSMのそれぞれが行う処
理と同じ処理をプログラマブル論理回路に再構成する回
路情報で記述したモジュール(この明細書では、このモ
ジュールをハードウエアモジュールと称する)HMを保
存して用意する。記憶装置200は、当該情報処理シス
テム内に設けてもよいし、ネットワーク上の記憶装置で
あってもよい。
In this embodiment, the storage device 20
0, a module HM in which the same processing as the processing performed by each of the software modules SM is described by circuit information for reconfiguring into a programmable logic circuit (this module is referred to as a hardware module in this specification) is stored and prepared. I do. The storage device 200 may be provided in the information processing system, or may be a storage device on a network.

【0092】この例の場合、プログラム100は、図2
に示すように、ヘッダ部HEDと、本体部PRGとから
なり、本体部PRGが前述したように複数個のソフトウ
エアモジュールSMの集合で構成されている。そして、
ヘッダ部HEDには、各ソフトウエアモジュールSMと
同じ処理をプログラマブル論理回路に再構成する回路情
報で記述した、対応するハードウエアモジュールHMの
識別符号IDが記述されている。
In the case of this example, the program 100
As shown in (1), it is composed of a header part HED and a main part PRG, and the main part PRG is composed of a set of a plurality of software modules SM as described above. And
In the header HED, the identification code ID of the corresponding hardware module HM, which is described by circuit information for reconfiguring the same processing as each software module SM into a programmable logic circuit, is described.

【0093】この場合、プログラム100には、同じ処
理を行うソフトウエアモジュールSMとハードウエアモ
ジュールHMとの対応が付くように識別符号IDが記述
されている。例えば、この例では、本体部PRGの複数
個のソフトウエアモジュールSMのプログラム上の処理
実行順に従った順番で、各ソフトウエアモジュールSM
に対応するハードウエアモジュールHMの識別符号ID
が、ヘッダ部HEDに記述される。
In this case, the identification code ID is described in the program 100 so that the software module SM and the hardware module HM that perform the same processing are associated with each other. For example, in this example, each software module SM is arranged in the order according to the processing execution order on the program of the plurality of software modules SM of the main body PRG.
Code ID of hardware module HM corresponding to
Is described in the header section HED.

【0094】ハードウエアモジュール取得手段300
は、プログラム100中に記述されている識別符号ID
を用いて、ソフトウエアモジュールSMが実行する処理
と同じ処理を実行するハードウエアモジュールHMを、
システム内の記憶装置200から、あるいはネットワー
ク上の記憶装置200から取得する。そして、ハードウ
エアモジュール取得手段300は、取得したハードウエ
アモジュールHMによる回路をプログラマブル論理回路
400上に再構成する。
Hardware module acquisition means 300
Is the identification code ID described in the program 100
By using the hardware module HM that executes the same processing as that executed by the software module SM,
It is obtained from the storage device 200 in the system or from the storage device 200 on the network. Then, the hardware module acquisition unit 300 reconfigures the circuit based on the acquired hardware module HM on the programmable logic circuit 400.

【0095】プログラム100のソフトウエアモジュー
ルSMによるソフトウエア処理は、CPU500が実行
する。
The software processing by the software module SM of the program 100 is executed by the CPU 500.

【0096】実際のアプリケーションプログラム100
の処理は、処理モジュールごとに、実行モジュール決定
手段600により、ソフトウエアモジュールSMまたは
ハードウエアモジュールHMのいずれで実行するかが選
択されて、実行される。この実施の形態では、実行モジ
ュール決定手段は、選択条件設定手段700に設定され
ている実行モジュール選択条件に基づいて、どちらのモ
ジュールで処理モジュールを実行するかを決定する。
Actual application program 100
Is executed by the execution module determining means 600 for each processing module, selecting which of the software module SM and the hardware module HM is to be executed. In this embodiment, the execution module determining unit determines which module executes the processing module based on the execution module selection condition set in the selection condition setting unit 700.

【0097】選択条件設定手段700には、予め、例え
ばソフトウエアやハードウエアによる処理時間、メモリ
消費量、プログラマブル論理回路の再構成時間などの種
々の選択条件項目を想定し、その一つの条件項目あるい
は複数個の条件項目を組み合わせて、実行モジュール選
択条件を設定することができる。
In the selection condition setting means 700, various selection condition items such as processing time by software or hardware, memory consumption, and reconfiguration time of a programmable logic circuit are assumed in advance. Alternatively, an execution module selection condition can be set by combining a plurality of condition items.

【0098】なお、選択条件設定手段700は、実行モ
ジュール選択条件をユーザにより設定変更可能なように
設けられるものである。したがって、実行モジュール決
定手段600に対して、予め、特定の実行モジュール選
択条件が定められて、その選択条件を変えることなく、
その選択条件に従って実行モジュールを決定する場合に
は、この選択条件設定手段700は、実行モジュール決
定手段600に包含されていることになるので、その場
合には、特に設ける必要がなくなる。
The selection condition setting means 700 is provided so that the execution module selection condition can be changed by the user. Therefore, specific execution module selection conditions are determined in advance for the execution module determination means 600, and without changing the selection conditions,
When the execution module is determined according to the selection condition, the selection condition setting means 700 is included in the execution module determination means 600. In this case, there is no need to particularly provide the execution module.

【0099】実行モジュール決定手段600での実行モ
ジュールの決定は、プログラム実行前に行う場合と、プ
ログラム実行時に行う場合の2通りがある。この第1の
実施の形態では、プログラム実行時であって、各処理モ
ジュールの実行開始時に行う。
The execution module is determined by the execution module determining means 600 before the program is executed or when the program is executed. In the first embodiment, the processing is performed at the time of executing the program and at the time of starting execution of each processing module.

【0100】[第1の実施の形態のハードウエア構成
例]図3は、この発明の第1の実施の形態の情報処理シ
ステム10のハードウエア構成例を示すブロック図であ
る。この実施の形態の情報処理システム10において
は、CPU11のホストバス11Bに、チップセット1
2に含まれるメモリコントローラ(図示せず)を介し
て、DRAMで構成されるメインメモリ13が接続され
る。
[Example of Hardware Configuration of First Embodiment] FIG. 3 is a block diagram showing an example of a hardware configuration of an information processing system 10 according to the first embodiment of the present invention. In the information processing system 10 of this embodiment, the chipset 1 is connected to the host bus 11B of the CPU 11.
2, a main memory 13 composed of a DRAM is connected via a memory controller (not shown) included in the memory 2.

【0101】ホストバス11Bは、また、チップセット
12に含まれるホスト−PCIバスブリッジ(図示せ
ず)を介して、PCIバス14に接続される。PCIバ
ス14には、プログラマブル論理回路インターフェース
15を介してプログラマブル論理回路16と、ハードデ
ィスクインターフェース17を介してハードディスクド
ライブ18と、通信インターフェース19とが接続され
る。
The host bus 11B is connected to a PCI bus 14 via a host-PCI bus bridge (not shown) included in the chipset 12. The PCI bus 14 is connected to a programmable logic circuit 16 via a programmable logic circuit interface 15, a hard disk drive 18 via a hard disk interface 17, and a communication interface 19.

【0102】通信インターフェース19は、LANやイ
ンターネットなどのネットワーク20を介して、プログ
ラマブル論理回路16に再構成される回路情報が格納さ
れている記憶装置21に接続される。
The communication interface 19 is connected via a network 20 such as a LAN or the Internet to a storage device 21 in which circuit information reconfigured in the programmable logic circuit 16 is stored.

【0103】ハードディスクドライブ18により読み書
きされるハードディスクには、アプリケーションプログ
ラムが格納されている。また、アプリケーションプログ
ラムは、ネットワーク20上の記憶装置(サーバ)に格
納されている場合もある。
The hard disk read and written by the hard disk drive 18 stores application programs. The application program may be stored in a storage device (server) on the network 20 in some cases.

【0104】また、ハードディスクドライブ18のハー
ドディスクには、プログラマブル論理回路16に再構成
される回路情報が格納されている場合もある。この例の
場合、ハードディスクドライブ18により読み書きされ
るハードディスクは、この情報処理システム10内の記
憶装置を構成する。
The hard disk of the hard disk drive 18 may store circuit information reconfigured in the programmable logic circuit 16. In the case of this example, the hard disk read / written by the hard disk drive 18 forms a storage device in the information processing system 10.

【0105】この実施例では、ハードウエア取得手段3
00と、実行モジュール決定手段600が、図3で示し
た情報処理システム10のOSのひとつの機能としてソ
フトウエア的に実装される。
In this embodiment, the hardware acquisition means 3
00 and the execution module determination means 600 are implemented as software as one function of the OS of the information processing system 10 shown in FIG.

【0106】次に、プログラマブル論理回路16の構造
を図4に示す。プログラマブル論理回路16は、図5に
示すように、回路情報を格納するためのコンフィギュレ
ーションメモリ160と、論理セル161と、配線領域
162と、入出力端子163とで構成される。
Next, the structure of the programmable logic circuit 16 is shown in FIG. As shown in FIG. 5, the programmable logic circuit 16 includes a configuration memory 160 for storing circuit information, a logic cell 161, a wiring area 162, and an input / output terminal 163.

【0107】コンフィギュレーションメモリ160は、
論理セル161内および配線領域162内のSRAM、
DRAMなどの書き換え可能なメモリ素子で構成されて
いる。コンフィギュレーションメモリ160にアドレス
ADRが与えられて、新しい回路情報のデータDAが格
納されると、この回路情報に従って、論理セル161内
の回路構成と、論理セル161および入出力端子163
を相互に接続する配線領域162の接続状態が再構成さ
れる。この一連の動作をコンフィギュレーションと呼
ぶ。コンフィギュレーションメモリ160の一部分を書
き換えることで、プログラマブル論理回路が動作中であ
っても、回路を部分的に再構成することができる。
The configuration memory 160
SRAM in the logic cell 161 and the wiring region 162,
It is composed of a rewritable memory element such as a DRAM. When the address ADR is given to the configuration memory 160 and the data DA of the new circuit information is stored, the circuit configuration in the logic cell 161 and the logic cell 161 and the input / output terminal 163 are determined according to the circuit information.
Are reconfigured in the connection state of the wiring region 162 that connects the two. This series of operations is called a configuration. By rewriting a part of the configuration memory 160, the circuit can be partially reconfigured even when the programmable logic circuit is operating.

【0108】図5に示すように、プログラマブル論理回
路16に再構成されて形成された回路素子164に、処
理すべきデータが入力され、また、その処理結果が出力
される。
As shown in FIG. 5, data to be processed is input to a circuit element 164 formed by being reconfigured in the programmable logic circuit 16, and the processing result is output.

【0109】[第1の実施の形態による処理の説明]図
6は、この発明の第1の実施の形態における基本的な処
理の流れを示すフローチャートである。前述したよう
に、この実施の形態では、ハードウエア取得手段と実行
モジュール決定手段が、図3の情報処理システム10の
OSのひとつの機能としてソフトウエア的に実装されて
おり、アプリケーションプログラム100の開始によ
り、当該OSにより処理が実行される。
[Explanation of Processing According to First Embodiment] FIG. 6 is a flowchart showing a basic processing flow in the first embodiment of the present invention. As described above, in this embodiment, the hardware acquisition unit and the execution module determination unit are implemented as software as one function of the OS of the information processing system 10 in FIG. Thus, the processing is executed by the OS.

【0110】以下に説明する例においては、図1の選択
条件設定手段700は設けられず、実行モジュール決定
手段600内に含まれているものとする。そして、この
第1の実施の形態では、コンフィギュレーションが完了
したプログラマブル論理回路によるハードウエア処理
は、一般に、対応するソフトウエア処理よりも高速処理
が可能であることから、実行モジュール選択条件とし
て、「実行する処理モジュールに対応するハードウエア
モジュールのプログラマブル論理回路16への再構成が
終了しているか否かを判別し、再構成が終了していると
きには、処理をハードウエアモジュールにより再構成さ
れたプログラマブル論理回路で実行する」という条件が
設定されている。
In the example described below, it is assumed that the selection condition setting means 700 of FIG. 1 is not provided, but is included in the execution module determination means 600. In the first embodiment, the hardware processing by the programmable logic circuit whose configuration has been completed can generally be performed at a higher speed than the corresponding software processing. It is determined whether or not the reconfiguration of the hardware module corresponding to the processing module to be executed into the programmable logic circuit 16 has been completed. When the reconfiguration has been completed, the processing is performed by the programmable module reconfigured by the hardware module. Executing in a logic circuit "is set.

【0111】アプリケーションプログラム100の実行
に先立ち、まず、図2に示したようにプログラム100
内のヘッダ部HEDに記述されているハードウエアモジ
ュールHMの識別符号IDが読み込まれ、プログラマブ
ル論理回路16上に構成するハードウエアモジュールH
Mがハードウエアモジュール取得手段300で認識され
る(ステップS11)。
Prior to execution of the application program 100, first, as shown in FIG.
The identification code ID of the hardware module HM described in the header section HED in the inside is read, and the hardware module H configured on the programmable logic circuit 16 is read.
M is recognized by the hardware module acquisition means 300 (step S11).

【0112】次に、2つのルーチンが並行して実行され
る。ひとつは、ハードウエアモジュール取得手段300
によるプログラマブル論理回路16へのコンフィギュレ
ーションの実行で、もうひとつは、実行モジュール決定
手段600によるプログラムで実行される、処理モジュ
ールごとのソフトウエアモジュールSMまたはハードウ
エアモジュールHMの決定およびその処理モジュールの
実行である。
Next, two routines are executed in parallel. One is hardware module acquisition means 300
The other is the execution of the configuration of the programmable logic circuit 16 by the execution module determination means 600, and the determination of the software module SM or the hardware module HM for each processing module and the execution of the processing module by the program by the execution module determination means 600 It is.

【0113】ハードウエアモジュール取得手段300
は、先に読み込まれた識別符号IDの最初の識別符号I
Dに対応するハードウエアモジュールHMの回路情報
を、情報処理システム10内の記憶装置18またはネッ
トワーク20上の記憶装置21から、プログラマブル論
理回路16のコンフィギュレーションメモリ160に転
送し、コンフィギュレーションを実行して、実行モジュ
ール決定手段600からの問い合わせに対し、コンフィ
ギュレーションの成否を答える(ステップS12)。
Hardware module acquisition means 300
Is the first identification code I of the previously read identification code ID.
The circuit information of the hardware module HM corresponding to D is transferred from the storage device 18 in the information processing system 10 or the storage device 21 on the network 20 to the configuration memory 160 of the programmable logic circuit 16 to execute the configuration. Then, in response to the inquiry from the execution module determining means 600, the success or failure of the configuration is answered (step S12).

【0114】そして、ハードウエアモジュール取得手段
300は、最初のハードウエアモジュールHMのコンフ
ィギュレーションが完了すると、次のハードウエアモジ
ュールHMがあるか否か判断し(ステップS13)、次
のハードウエアモジュールHMがあれば、ステップS1
2に戻って、その識別符号IDに対応するハードウエア
モジュールHMの回路情報を、情報処理システム10内
の記憶装置18またはネットワーク20上の記憶装置2
1から、プログラマブル論理回路16のコンフィギュレ
ーションメモリ160に転送し、コンフィギュレーショ
ンを実行する。
When the configuration of the first hardware module HM is completed, the hardware module obtaining means 300 determines whether or not there is a next hardware module HM (step S13). If there is, step S1
2, the circuit information of the hardware module HM corresponding to the identification code ID is stored in the storage device 18 in the information processing system 10 or the storage device 2 on the network 20.
1 to the configuration memory 160 of the programmable logic circuit 16 to execute the configuration.

【0115】ハードウエアモジュール取得手段300
は、先に読み込んだ識別符号IDのすべてのハードウエ
アモジュールHMについて、上述の処理を実行して、そ
のコンフィギュレーションを行うようにする。
Hardware module acquisition means 300
Executes the above-described processing for all the hardware modules HM of the identification code ID read earlier to perform the configuration.

【0116】実行モジュール決定手段600は、実行し
ようとする処理モジュールに対応するハードウエアモジ
ュールHMのコンフィギュレーションが完了しているか
否か、ハードウエアモジュール取得手段300に問い合
わせて判断し(ステップS14)、当該対応するハード
ウエアモジュールHMのコンフィギュレーションが完了
していれば、ハードウエアモジュールHMによる処理を
行い(ステップS15)、コンフィギュレーションが完
了していなければ、対応するソフトウエアモジュールS
Mによる処理を実行する(ステップS16)。
The execution module determination means 600 inquires of the hardware module acquisition means 300 whether or not the configuration of the hardware module HM corresponding to the processing module to be executed is completed (step S14). If the configuration of the corresponding hardware module HM is completed, the processing by the hardware module HM is performed (step S15), and if the configuration is not completed, the corresponding software module S
The processing by M is performed (step S16).

【0117】そして、当該処理モジュールの処理が終了
すると、次の処理モジュールがあるか否か判断し(ステ
ップS17)、次の処理モジュールがあれば、ステップ
S15に戻り、次の処理モジュールがなければ、このア
プリケーションによる処理を終了する。
When the processing of the processing module is completed, it is determined whether there is a next processing module (step S17). If there is a next processing module, the process returns to step S15. Then, the processing by this application ends.

【0118】ここで、ハードウエアモジュール取得手段
300と、実行モジュール決定手段600との間でのコ
ミュニケーションは、図3のシステム10においては、
具体的には、次のようにしてなされる。
Here, communication between the hardware module acquisition means 300 and the execution module determination means 600 is performed in the system 10 of FIG.
Specifically, this is performed as follows.

【0119】すなわち、ハードウエアモジュールHMが
プログラマブル論理回路16上にコンフィギュレーショ
ンされると、PCIバス14を介してCPU11上で稼
動するOSに検知され、そのOSの一部として機能して
いるハードウエアモジュール取得手段300から、実行
モジュール決定手段600に通知される。
That is, when the hardware module HM is configured on the programmable logic circuit 16, it is detected by the OS running on the CPU 11 via the PCI bus 14, and the hardware functioning as a part of the OS The module acquisition unit 300 notifies the execution module determination unit 600.

【0120】また、プログラムの処理状況がCPU11
上で稼動するOSで検知され、このOSの一部として機
能している実行モジュール決定手段600から、ハード
ウエアモジュール取得手段300に対して、ハードウエ
アモジュールHMの回路情報の転送およびコンフィギュ
レーションの開始や中断が指示される。
Also, the processing status of the program is
Transfer of the circuit information of the hardware module HM and the start of the configuration from the execution module determining unit 600 functioning as a part of the OS to the hardware module obtaining unit 300 Or interruption is instructed.

【0121】以上のようにして、この実施の形態では、
処理モジュールの実行をするときに、対応するハードウ
エアモジュールHMが、プログラマブル論理回路16に
再構成されていれば、当該処理モジュールの処理は、ハ
ードウエアモジュールで実行するようにする。
As described above, in this embodiment,
When the processing module is executed, if the corresponding hardware module HM is reconfigured in the programmable logic circuit 16, the processing of the processing module is executed by the hardware module.

【0122】前述もしたように、通常、プログラマブル
論理回路へのコンフィギュレーションのための時間を考
慮しなければ、ハードウエアで処理した方が高速処理が
可能である。したがって、上述のように、コンフィギュ
レーションが完了した時点から、そのコンフィギュレー
ションが完了したハードウエアモジュールで処理を実行
することで、アプリケーションプログラムによる一連の
処理を高速に行うことができるようになる。
As described above, generally, unless processing time for configuration into a programmable logic circuit is taken into consideration, processing by hardware enables higher-speed processing. Therefore, as described above, a series of processing by the application program can be performed at high speed by executing the processing by the hardware module in which the configuration is completed from the time when the configuration is completed.

【0123】[処理の具体例の実施例(第1の実施
例)]次に、図7、図8および図9のフローチャートを
用いて、第1の実施の形態の処理の具体例である第1の
実施例を、以下に説明する。
[Example of Specific Example of Processing (First Example)] Next, a specific example of the processing of the first embodiment will be described with reference to the flowcharts of FIGS. 7, 8 and 9. One embodiment will be described below.

【0124】図7は、この第1の実施例における、図6
のフローチャートに対応する詳細な処理の流れの全体を
示したフローチャートである。図8は、図7におけるハ
ードウエアモジュールHMのコンフィギュレーションの
ルーチンのステップS22の詳細なフローチャートを示
している。また、図9は、図7におけるソフトウエアモ
ジュールSMまたはハードウエアモジュールHMによる
処理ルーチンのステップS32の詳細なフローチャート
を示している。
FIG. 7 is a circuit diagram of the first embodiment shown in FIG.
5 is a flowchart showing the entire detailed processing flow corresponding to the flowchart of FIG. FIG. 8 shows a detailed flowchart of step S22 of the configuration routine of the hardware module HM in FIG. FIG. 9 is a detailed flowchart of step S32 of the processing routine by the software module SM or the hardware module HM in FIG.

【0125】図7において、ソフトウエアモジュールS
MまたはハードウエアモジュールHMによる処理と、ハ
ードウエアモジュールHMのコンフィギュレーションは
並行して実行される。
In FIG. 7, the software module S
The processing by the M or the hardware module HM and the configuration of the hardware module HM are executed in parallel.

【0126】ここで、この第1の実施例では、ソフトウ
エアモジュールSMまたはハードウエアモジュールHM
による処理モジュールをM種類行い、これらのM種類の
処理モジュールからなる一連の処理を、N回繰り返すも
のとする。
Here, in the first embodiment, the software module SM or the hardware module HM
Are performed, and a series of processes including these M types of processing modules is repeated N times.

【0127】図7に示すように、アプリケーションプロ
グラムの実行に先立ち、ハードウエアモジュールの識別
符号がアプリケーションプログラムのヘッダ部から読み
取られる(ステップS11)。このあと、ハードウエア
モジュールHMのコンフィギュレーションを行うルーチ
ンR20と、ソフトウエアモジュールSMまたはハード
ウエアモジュールHMによる処理を行うルーチンR30
とが並行して実行される。
As shown in FIG. 7, prior to the execution of the application program, the identification code of the hardware module is read from the header of the application program (step S11). Thereafter, a routine R20 for performing configuration of the hardware module HM and a routine R30 for performing processing by the software module SM or the hardware module HM.
Are executed in parallel.

【0128】ルーチンR20においては、まず、M種類
のハードウエアモジュールの、何番めまでのハードウエ
アモジュールHMがコンフィギュレーションされたかを
示す変数iを初期化し(ステップS20)、その後、ハ
ードウエアモジュールHMのコンフィギュレーションの
処理ルーチンR40を実行するステップS22に進む。
In the routine R20, first, a variable i indicating how many hardware modules HM of the M types of hardware modules have been configured is initialized (step S20), and then the hardware module HM is initialized. The process proceeds to step S22 for executing the configuration processing routine R40.

【0129】このステップS22のコンフィギュレーシ
ョンの処理ルーチンR40においては、図8に示すよう
に、i番目のハードウエアモジュールHMが、プログラ
マブル論理回路16上に存在するかどうかを確認し(ス
テップS41)、存在すれば、既に構成されていること
をOSに通知する(ステップS43)。i番目のハード
ウエアモジュールHMが、プログラマブル論理回路16
上に存在しなければ、ステップS42のコンフィギュレ
ーションを行う。
In the configuration processing routine R40 in step S22, as shown in FIG. 8, it is confirmed whether or not the i-th hardware module HM exists on the programmable logic circuit 16 (step S41). If there is, it notifies the OS that it has already been configured (step S43). The i-th hardware module HM is a programmable logic circuit 16
If not, the configuration in step S42 is performed.

【0130】このステップS42のコンフィギュレーシ
ョンにおいては、まず、ハードウエアモジュールHMの
回路情報が、情報処理システム10内の記憶装置に存在
するかを確認し、存在すれば情報処理システム10内の
記憶装置から回路情報を取得し、存在しなければ、ネッ
トワーク20上の記憶装置21から回路情報を取得し
て、コンフィギュレーションを行う。
In the configuration of step S42, first, it is confirmed whether the circuit information of the hardware module HM exists in the storage device in the information processing system 10, and if it exists, the storage device in the information processing system 10 is checked. From the storage device 21 on the network 20, and performs configuration.

【0131】そして、ハードウエアモジュールHMの構
成が終了した時点で、ステップS43に移り、コンフィ
ギュレーションの終了をOSに通知し、図7に戻って変
数iをカウントアップする(ステップS23)。
Then, when the configuration of the hardware module HM is completed, the process proceeds to step S43, where the end of the configuration is notified to the OS, and returning to FIG. 7, the variable i is counted up (step S23).

【0132】ハードウエアモジュールHMのコンフィギ
ュレーションが完了する前に、このハードウエアモジュ
ールHMに対応する処理が開始される場合には、ソフト
ウエアモジュールSMまたはハードウエアモジュールH
Mによる処理を行うルーチンR30で、ソフトウエアモ
ジュールSMによる処理が行われるが、ハードウエアモ
ジュールHMのコンフィギュレーションは続行される。
If the processing corresponding to the hardware module HM is started before the configuration of the hardware module HM is completed, the software module SM or the hardware module H
In the routine R30 for performing processing by M, processing by the software module SM is performed, but the configuration of the hardware module HM is continued.

【0133】そして、M種類のハードウエアモジュール
HMのすべてを、コンフィギュレーションする途中で、
アプリケーションプログラム100により実行される一
連の繰り返し処理数をカウントする変数jが、j>Nと
なったと判別され(ステップS24)、アプリケーショ
ンが終了する場合には、M種類のハードウエアモジュー
ルHMのうちの一部は、コンフィギュレーションされな
い。
Then, during the configuration of all the M types of hardware modules HM,
It is determined that the variable j that counts the number of the series of repetitive processes executed by the application program 100 satisfies j> N (step S24), and when the application ends, the M types of hardware modules HM Some are not configured.

【0134】しかし、情報処理システム10内の記憶装
置に余裕があれば、ネットワーク20上の記憶装置21
から回路情報を取得することを続行することもできる。
そのようにすれば、同種のアプリケーションが、その後
に実行されるときに、ネットワーク20からの回路情報
の取得が完了しており、その分のアクセス時間を短縮す
ることができる。また、後で、ネットワーク20から取
得しようとしたときに、ネットワーク20に障害が生じ
ていて、必要なハードウエアモジュールHMが取得でき
ない事態になっても、その影響が最小限に押さえられ
る。
However, if the storage device in the information processing system 10 has room, the storage device 21 on the network 20
It is also possible to continue obtaining the circuit information from.
By doing so, when the same type of application is subsequently executed, the acquisition of the circuit information from the network 20 has been completed, and the access time can be reduced accordingly. Further, even if a failure occurs in the network 20 and the necessary hardware module HM cannot be acquired later when the acquisition is performed from the network 20, the influence thereof is minimized.

【0135】次に、コンフィギュレーションするべきハ
ードウエアモジュールHMが残っているかを確認するた
めに、変数iと変数Mを比較する(ステップS25)。
変数iが、変数Mと等しいか小さければ、次のハードウ
エアモジュールHMのコンフィギュレーションを開始
し、変数iが変数Mよりも大きければ、すべてのハード
ウエアモジュールHMがプログラマブル論理回路16上
に構成されたことがわかり、図8のコンフィギュレーシ
ョン処理を終了する。
Next, the variable i and the variable M are compared in order to confirm whether or not the hardware module HM to be configured remains (step S25).
If the variable i is equal to or smaller than the variable M, the configuration of the next hardware module HM is started, and if the variable i is larger than the variable M, all the hardware modules HM are configured on the programmable logic circuit 16. Then, the configuration processing of FIG. 8 ends.

【0136】次に、図7において、ルーチン20と並行
して実行されるルーチンR30では、まず、一連の繰り
返し処理数をカウントする変数jが初期化され(ステッ
プS31)、その後、ソフトウエアモジュールSMまた
はハードウエアモジュールHMによる処理を実行するル
ーチンR50のステップS32に移る。
Next, in FIG. 7, in a routine R30 executed in parallel with the routine 20, first, a variable j for counting the number of series of repetitive processes is initialized (step S31), and thereafter, the software module SM Alternatively, the process proceeds to step S32 of the routine R50 for executing the processing by the hardware module HM.

【0137】このステップS32のルーチンR50にお
いては、図9に示すように、まず、M種の処理モジュー
ルの何番めの処理モジュールによる処理であるかをカウ
ントする変数kが初期化される(ステップS51)。
In the routine R50 of step S32, as shown in FIG. 9, first, a variable k for counting the number of processing modules of the M types of processing modules is initialized (step S32). S51).

【0138】次に、k番目のハードウエアモジュールH
Mが、プログラマブル論理回路16上に構成されたかを
確認するために、このルーチンR50で、M種のハード
ウエアモジュールHMのうちの何番目までのコンフィギ
ュレーションが終了したかを示す変数iと、前記処理を
実行しようとする処理モジュールが、M種の処理モジュ
ールの何番目であるかの変数kとの比較を行なう(ステ
ップS52)。
Next, the k-th hardware module H
In order to confirm whether or not M is configured on the programmable logic circuit 16, in this routine R50, a variable i indicating the order of the configuration of the M types of hardware modules HM has been completed, The processing module that is to execute the processing compares the number of the M types of processing modules with the variable k (step S52).

【0139】変数kが変数iより小さければ、プログラ
マブル論理回路16上に、k番目の処理モジュールに対
応するハードウエアモジュールHMの構成が終了してい
ることがわかるので、ハードウエアモジュールHMで処
理を実行する(ステップS53)。
If the variable k is smaller than the variable i, it is known that the configuration of the hardware module HM corresponding to the k-th processing module has been completed on the programmable logic circuit 16, so that the processing is performed by the hardware module HM. Execute (Step S53).

【0140】変数kが、変数iに等しいか、変数iより
大きければ、まだ、k番目の処理モジュールに対応する
ハードウエアモジュールHMが、プログラマブル論理回
路16上に構成されていないので、ソフトウエアモジュ
ールSMで処理を実行する(ステップS54)。
If the variable k is equal to or larger than the variable i, the hardware module HM corresponding to the k-th processing module has not been configured on the programmable logic circuit 16 yet. The process is executed by the SM (step S54).

【0141】次に、処理モジュールが何番目のものであ
るかの変数kをカウントアップし(ステップS55)、
次のk+1番目の処理モジュールについて、その前のk
番目の処理モジュールと同様にしてステップS52から
ステップS55のステップを実行し、それを、最後のM
番目の処理モジュールまで前記処理ステップを繰り返す
(ステップS56)。そして、最後のM番目の処理モジ
ュールについての処理が終了したときには、図7のルー
チンに戻る。
Next, a variable k indicating the order of the processing module is counted up (step S55).
For the next (k + 1) th processing module, the previous k
The steps from step S52 to step S55 are executed in the same manner as the
The above-described processing steps are repeated up to the processing module (step S56). When the process for the last M-th processing module is completed, the process returns to the routine of FIG.

【0142】図7においては、繰り返しの変数jをカウ
ントアップし(ステップS33)、次の繰り返し処理が
開始される。繰り返し処理をN回行うとアプリケーショ
ンは終了する(ステップS34)。
In FIG. 7, the variable j of the repetition is counted up (step S33), and the next repetition processing is started. When the repetition processing is performed N times, the application ends (step S34).

【0143】以上説明したように、第1の実施例におい
ては、M種の処理モジュールのN回の繰り返しを行う処
理のアプリケーションプログラムにおいて、最初は、ソ
フトウエアモジュールSMによる処理が実行されるが、
繰り返し処理の間に、M種のハードウエアモジュールH
Mのコンフィギュレーションが、徐々に完了し、その完
了したハードウエアモジュールHMが順次に使用され
る。したがって、繰り返し処理の繰り返しの回数が増加
するにつれて、コンフィギュレーションが完了するハー
ドウエアモジュールHMの数も増加し、処理速度が徐々
に上がり、全体としての処理時間は、短縮化されるもの
である。
As described above, in the first embodiment, in the application program for performing the N repetitions of the M kinds of processing modules, the processing by the software module SM is first executed.
During the repetitive processing, M kinds of hardware modules H
The configuration of M is gradually completed, and the completed hardware modules HM are sequentially used. Therefore, as the number of repetitions of the repetition processing increases, the number of hardware modules HM for which the configuration is completed also increases, the processing speed gradually increases, and the overall processing time is shortened.

【0144】[第1の実施の形態の処理の他の実施例
(第2の実施例)]次に、この発明の第1の実施の形態
を、画像処理に適用したより詳細な実施例(第2の実施
例という)について説明する。この第2の実施例では、
線形変換処理、ノイズ除去処理および輪郭強調処理の3
種の処理を、それぞれ以下に説明するような3種の画像
フィルタを用いて画像データについて行うことにより、
不鮮明な画像を鮮明にする画像処理を行うようにする。
まず、各画像フィルタについて説明する。
[Another Example of Processing of First Embodiment (Second Example)] Next, a more detailed example in which the first embodiment of the present invention is applied to image processing ( The second embodiment will be described. In this second embodiment,
3 of linear transformation processing, noise removal processing and contour enhancement processing
By performing three types of processing on image data using three types of image filters as described below,
Image processing for sharpening an unclear image is performed.
First, each image filter will be described.

【0145】[ノイズ除去処理用フィルタの例の説明]
画像処理のひとつである空間フィルタ処理は、単位画素
から構成される画像ファイルの単一もしくは複数画素に
対して演算を行う。これは、ある画素(データxl,m
の近傍の画素(データpl,m )に、マスクデータfilter
l,m を掛けて足し合わせ、係数Nを乗じたものを処理後
の画素値xl,m として得る処理として、次の式(1)の
ように表すことができる。ここで、マスクデータfilter
l,m や係数Nの値を変えることにより、空間フィルタは
様々な処理を実行することが可能である。
[Description of Example of Filter for Noise Removal Processing]
The spatial filter processing, which is one of the image processing, performs an operation on a single or a plurality of pixels of an image file composed of unit pixels. This corresponds to a certain pixel (data x l, m )
Pixels (data p l, m ) in the vicinity of the mask data filter
As a process of obtaining a pixel value x l, m after processing by multiplying by l, m and multiplying by a coefficient N, the following equation (1) can be used. Here, the mask data filter
By changing the values of l, m and the coefficient N, the spatial filter can execute various processes.

【0146】[0146]

【数1】 (Equation 1)

【0147】図10は、画像にガウス分布の平滑化処理
を施してノイズ除去を行うGaussianフィルタと
呼ばれる画像フィルタのマスクデータの例である。中心
画素のデータxl,m およびその近傍の3×3画素内にあ
る8画素のデータpl,m に、マスクデータの係数filter
l,m を掛けて足し合わせ、係数N(=1/16)を乗じ
て中心画素のデータと置き換える。このフィルタ処理を
施すことにより、画像のノイズを除去することができ
る。
FIG. 10 shows an example of mask data of an image filter called a Gaussian filter which performs a smoothing process of a Gaussian distribution on an image to remove noise. The data x l, m of the center pixel and the data p l, m of 8 pixels in 3 × 3 pixels in the vicinity thereof are added with the coefficient filter mask data.
The data is multiplied by l and m , added together, multiplied by a coefficient N (= 1/16), and replaced with the data of the central pixel. By performing this filter processing, image noise can be removed.

【0148】図11は、図10のGaussianフィ
ルタ処理を実現するソフトウェアモジュールSmABC
001のプログラムを示すものである。また、図12
は、図10のGaussianフィルタ処理を実現する
ハードウエアモジュールHmABC001の回路を示す
ものである。
FIG. 11 shows a software module SmABC for realizing the Gaussian filter processing of FIG.
001 program. FIG.
Shows a circuit of a hardware module HmABC001 realizing the Gaussian filter processing of FIG.

【0149】そして、前述もしたように、この場合、あ
る任意の処理モジュールに対し、同一の入出力仕様を持
つソフトウェアモジュールとハードウェアモジュールを
対にして持つ。それぞれのモジュールには唯一の識別符
号が付けられている。例えば、Gaussianフィル
タ処理に、「ABC001」という処理を識別する符号
を付けるとすれば、ソフトウェアモジュールSMには、
ソフトウエアモジュールであることを示す接頭語Smを
付けて、SmABC001という識別符号を付け、ハー
ドウェアモジュールHMには、ハードウエアモジュール
であることを示す接頭語Hmを付けて、HmABC00
1という識別符号を付けることにする。
As described above, in this case, a given processing module has a pair of a software module and a hardware module having the same input / output specifications. Each module has a unique identification code. For example, if the Gaussian filter processing is provided with a code for identifying the processing “ABC001”, the software module SM includes:
A prefix Sm indicating that the module is a software module is attached, an identification code SmBC001 is assigned, and a prefix Hm indicating that the module is a hardware module is assigned to the hardware module HM.
An identification code of 1 will be given.

【0150】ソフトウェアモジュールSMは、例えばC
/C++言語などで記述されたソースプログラムをコン
パイルしたものであり、ハードウェアモジュールHM
は、例えば図12に示すような回路構成を、プログラマ
ブル論理回路16上に構成する回路情報である。
The software module SM is, for example, C
/ C ++ is a compilation of a source program written in a language such as
Is circuit information that configures the circuit configuration shown in FIG. 12 on the programmable logic circuit 16, for example.

【0151】図11は、Gaussianフィルタのソ
フトウェアモジュールとなるCプログラムの一例であ
る。演算を施す元の画像データp[l][m]に対し、for
文を用いた二重ループ構成によって、あらかじめ図10
に示すフィルタ係数を代入した配列filter[l][m]を乗算
し、累積した後、ビットシフト演算子によって4ビット
下位にシフトすることで、1/16の演算を実現する。
FIG. 11 shows an example of a C program serving as a software module of the Gaussian filter. For the original image data p [l] [m] to be operated on, for
FIG. 10 shows a double loop configuration using statements in advance.
After multiplying and accumulating the array filter [l] [m] to which the filter coefficients shown in (1) are substituted, and shifting down by 4 bits by a bit shift operator, 1/16 operation is realized.

【0152】図12は、ハードウェアによる、対応する
Gaussianフィルタの回路構成の一例である。元
の画像ファイルからフィルタ処理を行うマスク領域のう
ち、p[l-1][m-1],p[l][m-1],p[l+1][m-1]の3画素
分のデータを、一つのデータとして、ハードウェアモジ
ュールHMに転送する。例えば、1画素当たり8ビット
のデータであれば、3つのデータを結合して、24ビッ
トのデータとして転送する。
FIG. 12 shows an example of a circuit configuration of a corresponding Gaussian filter using hardware. Three pixels of p [l-1] [m-1], p [l] [m-1], p [l + 1] [m-1] in the mask area to be filtered from the original image file The minute data is transferred to the hardware module HM as one data. For example, in the case of 8-bit data per pixel, three data are combined and transferred as 24-bit data.

【0153】転送されたデータは、ハードウェアモジュ
ールのINに入力され、最初のクロックでレジスタ10
1,102,103に入力される。結合したデータはこ
こで分離されて出力D1,D2,D3とされ、これらの
出力D1,D2,D3が、それぞれレジスタ111,1
12,113および加算器211、212、213に入
力される。
The transferred data is input to IN of the hardware module, and is transferred to the register 10 at the first clock.
1, 102 and 103 are input. The combined data is separated here as outputs D1, D2, D3, and these outputs D1, D2, D3 are stored in registers 111, 1 respectively.
12, 113 and adders 211, 212, 213.

【0154】そして、次のクロックで、p[l-1][m],p
[l][m],p[l+1][m]の3画素分のデータが、同様にして
出力D1,D2,D3に現れる。この時点で、加算器2
11,212,213の出力A1,A2,A3は、それ
ぞれ、 A1=p[l-1][m-1]+p[l-1][m] A2=p[l][m-1]+p[l][m] A3=p[l+1][m-1]+p[l+1][m] となる。
Then, at the next clock, p [l-1] [m], p
Data for three pixels [l] [m] and p [l + 1] [m] similarly appear at outputs D1, D2, and D3. At this point, adder 2
Outputs A1, A2, and A3 of 11, 212, and 213 are A1 = p [l-1] [m-1] + p [l-1] [m] A2 = p [l] [m-1] + p [l] [m] A3 = p [l + 1] [m-1] + p [l + 1] [m]

【0155】この加算器211,212,213の出力
は、同時に、レジスタ121,122,123および加
算器221,222,223に入力されている。
The outputs of the adders 211, 212, and 213 are simultaneously input to the registers 121, 122, and 123 and the adders 221, 222, and 223.

【0156】そして、その次のクロックで、p[l-1][m+
1],p[l][m+1],p[l+1][m+1]の3画素分のデータが、
同様にして、出力D1,D2,D3に現れる。
Then, at the next clock, p [l-1] [m +
1], p [l] [m + 1] and p [l + 1] [m + 1]
Similarly, it appears at outputs D1, D2, and D3.

【0157】このとき、加算器211,212,213
A1,A2,A3の出力は、それぞれ、 A1=p[l-1][m]+p[l-1][m+1] A2=p[l][m]+p[l][m+1] A3=p[l+1][m]+p[l+1][m+1] であり、また、加算器221,222,223の出力A
4,A5,A6は、それぞれ、 A4=p[l-1][m-1]+p[l-1][m]×2+p[l-1][m+1] A5=p[l][m-1]+p[l][m]×2+p[l][m+1] A6=p[l+1][m-1]+p[l+1][m]×2+p[l+1][m+1] となる。
At this time, the adders 211, 212, 213
The outputs of A1, A2, and A3 are A1 = p [l-1] [m] + p [l-1] [m + 1] A2 = p [l] [m] + p [l] [m + 1] A3 = p [l + 1] [m] + p [l + 1] [m + 1], and the outputs A of the adders 221, 222 and 223
A4 = p [l-1] [m-1] + p [l-1] [m] × 2 + p [l-1] [m + 1] A5 = p [l] [ m-1] + p [l] [m] × 2 + p [l] [m + 1] A6 = p [l + 1] [m-1] + p [l + 1] [m] × 2 + p [l + 1] [m + 1].

【0158】ここで、レジスタ101,102,10
3,111,112,113,121,122,133
を動作させているクロックを止め、シフトレジスタ30
1により、1ビット上位にシフトさせることで、加算器
222の出力A5が2倍されて、シフトレジスタ301
の出力A7とされる。
Here, the registers 101, 102, 10
3,111,112,113,121,122,133
Is stopped, and the shift register 30 is stopped.
1, the output A5 of the adder 222 is doubled by shifting one bit higher, and the shift register 301
Is output A7.

【0159】次に、加算器231,232により、加算
器221、223の出力A4,A6と、シフトレジスタ
301の出力A7との総和をとり、シフトレジスタ30
2によって、下位に4ビットシフトすることで、1/1
6の演算が実行される。以上で、単位マスク領域でのG
aussianフィルタ処理が終了する。以降この処理
を繰り返すことで、画像全体の処理が施される。
Next, the outputs A4 and A6 of the adders 221 and 223 and the output A7 of the shift register 301 are summed by the adders 231 and 232, and the shift register 30
2 to lower 4 bits, 1/1
6 is performed. With the above, G in the unit mask area
The aussian filter processing ends. Thereafter, by repeating this processing, processing of the entire image is performed.

【0160】以上のように、この実施例では、Bi−n
ominalフィルタ回路構成によって、Gaussi
anフィルタを実現しているが、他にも様々なアルゴリ
ズムが考えられる。
As described above, in this embodiment, Bi-n
Gaussi by the ominal filter circuit configuration
Although an filter is realized, various other algorithms can be considered.

【0161】[輪郭強調処理用のフィルタの例の説明]
図13は、2次微分によりエッジを検出するLapla
cianフィルタと呼ばれる画像フィルタに原画像を加
えたマスクデータである。このフィルタ処理を施すこと
により、画像の輪郭強調を行うことができる。
[Description of Example of Filter for Contour Enhancement Processing]
FIG. 13 shows Lapla detecting an edge by the second derivative.
This is mask data obtained by adding an original image to an image filter called a cyan filter. By performing this filter processing, the outline of the image can be enhanced.

【0162】図14は、図13のLaplacianフ
ィルタ処理を実現するソフトウェアモジュールSmXY
Z001のプログラム例を示すものである。また、図1
5は、図13のLaplacianフィルタ処理を実現
するハードウエアモジュールHmXYZ001の回路例
を示すものである。
FIG. 14 shows a software module SmXY for realizing the Laplacian filter processing of FIG.
This shows a program example of Z001. FIG.
Reference numeral 5 denotes a circuit example of a hardware module HmXYZ001 for realizing the Laplacian filter processing of FIG.

【0163】図14は、図13と同様なアルゴリズムを
持つCプログラムの一例で、フィルタ係数を代入した配
列filter[l][m]が、図13に示すエッジ強調フィルタの
係数に置き換えられたものである。
FIG. 14 is an example of a C program having an algorithm similar to that of FIG. 13, in which an array filter [l] [m] in which filter coefficients are substituted is replaced with coefficients of an edge emphasis filter shown in FIG. It is.

【0164】図15は、ハードウェアによるLapla
cianフィルタの回路構成の一例である。まず、元の
画像データの演算する単位領域から、データストリーム
として、例えば、p[l][m],p[l-1][m],p[l][m-1],
p[l][m+1],p[l+1][m]を構成し、時系列的にハードウ
ェアモジュールの入力端INへ入力する。
FIG. 15 is a block diagram of Lapla by hardware.
It is an example of a circuit configuration of a cian filter. First, as a data stream, for example, p [l] [m], p [l-1] [m], p [l] [m-1],
p [l] [m + 1] and p [l + 1] [m] are configured and input to the input terminal IN of the hardware module in time series.

【0165】4クロックによって、前記のデータストリ
ームを入力した時点で、画像データp[l][m],p[l-1]
[m],p[l][m-1],p[l][m+1],p[l+1][m]が、それぞ
れレジスタ44、43、42、41の出力端34,3
3,32,31および入力端INに現れている。そし
て、このとき、加算器45,46および47による演算
によって、加算器47の出力端38には、 p[l-1][m]+p[l][m-1]+p[l][m+1]+p[l+1][m] が出力されている。
When the data stream is input by four clocks, the image data p [l] [m] and p [l-1]
[m], p [l] [m-1], p [l] [m + 1], p [l + 1] [m] are output terminals 34, 3 of registers 44, 43, 42, 41, respectively.
3, 32, 31 and input terminal IN. Then, at this time, by the operations of the adders 45, 46 and 47, p [l-1] [m] + p [l] [m-1] + p [l] [m +1] + p [l + 1] [m] is output.

【0166】一方、シフトレジスタ50により、その入
力データが2ビット左シフトされることで、このシフト
レジスタ50の出力端37には、 4×p[l][m] が出力される。
On the other hand, the shift register 50 shifts the input data to the left by 2 bits, so that 4 × p [l] [m] is output to the output terminal 37 of the shift register 50.

【0167】そして、減算器48により、シフトレジス
タ50の出力端37のデータと、加算器47の出力端3
8のデータとの減算が行われ、この減算器48の出力端
39には、 4×p[l][m]−(p[l-1][m]+p[l][m-1]+p[l][m+1]
+p[l+1][m]) が出力され、さらに加算器49により、この出力端39
の出力データに、レジスタ44の出力端34の出力デー
タp[l][m]が加算されることで、エッジ強調出力がOU
Tに得られる。
The data at the output terminal 37 of the shift register 50 and the output terminal 3 of the adder 47 are output from the subtractor 48.
The subtraction with the data of No. 8 is performed, and the output terminal 39 of the subtractor 48 receives 4 × p [l] [m] − (p [l−1] [m] + p [l] [m−1] + P [l] [m + 1]
+ P [l + 1] [m]), and the output terminal 39
The output data p [l] [m] of the output terminal 34 of the register 44 is added to the output data of
Obtained in T.

【0168】[線形変換処理用のフィルタの例の説明]
図16は、画像の単一画素の線形変換を行うフィルタを
実現するソフトウェアモジュールSmPQR001のプ
ログラム例を示し、また、図17は、そのハードウェア
モジュールHmPQR001の回路例を示す。このフィ
ルタ処理を施すことにより、画像の濃度分布を線形に変
換してコントラストなどを補正することができる。
[Description of Example of Filter for Linear Conversion Processing]
FIG. 16 shows an example of a program of a software module SmPQR001 that realizes a filter for performing a linear transformation of a single pixel of an image, and FIG. 17 shows an example of a circuit of the hardware module HmPQR001. By performing this filtering process, the density distribution of the image can be linearly converted to correct the contrast and the like.

【0169】図16の例は、画像の単一画素の線形変換
を行うフィルタを、C言語で記述したソフトウェアモジ
ュールの一例であり、次の式(2)で示す線形変換を用
いている。
The example of FIG. 16 is an example of a software module in which a filter for performing a linear conversion of a single pixel of an image is described in C language, and uses a linear conversion represented by the following equation (2).

【0170】 x(l,m)=a×p(l,m)+b 式(2) 図17は、この線形変換を実現する回路の一例である。
この例では、線形変換は、ルックアップテーブル(LU
T)方式を用いている。すなわち、入力データINに対
し、テーブル55を参照して、前記式(2)に対応する
値OUTを出力する。
X (l, m) = a × p (l, m) + b Equation (2) FIG. 17 shows an example of a circuit for realizing this linear conversion.
In this example, the linear transformation is a lookup table (LU
T) method is used. That is, for the input data IN, a value OUT corresponding to the equation (2) is output with reference to the table 55.

【0171】テーブル55は、SRAMやROMなどの
メモリ回路でテーブルデータをあらかじめ設定すること
で実現することができる。また、式(2)に従った入出
力の真理値表を作って、アンドゲート、オアゲート、イ
クスクルーシブオアゲートなどの基本的ロジックゲート
で、回路を構成することでテーブルを実現することもで
きる。
The table 55 can be realized by setting table data in a memory circuit such as an SRAM or a ROM in advance. Also, a table can be realized by creating a truth table of input and output according to equation (2) and configuring a circuit with basic logic gates such as an AND gate, an OR gate, and an exclusive OR gate. .

【0172】この線形変換の動作は、元の画像データか
ら、画素データp[l][m]を、順次、入力データINとし
てハードウェアモジュールに転送し、この入力データに
対する出力データOUTをテーブル55を参照して求
め、出力するものである。
In the linear conversion operation, pixel data p [l] [m] are sequentially transferred from the original image data to the hardware module as input data IN, and output data OUT corresponding to the input data is stored in table 55. And output.

【0173】[処理の具体例の第2の実施例の説明]第
2の実施例では、以上説明した3つの画像フィルタを連
続して処理することにより、画像のコントラストを上
げ、ノイズを除去し、輪郭の強調をすることができ、不
鮮明な画像を鮮明にするという画像処理アプリケーショ
ンを実現するものである。
[Description of Second Embodiment of Specific Example of Processing] In the second embodiment, the above-described three image filters are successively processed to increase the image contrast and remove noise. This realizes an image processing application capable of enhancing an outline and sharpening an unclear image.

【0174】このアプリケーションプログラムAPの構
造を、図18を用いて説明する。このアプリケーション
プログラムAPで利用するソフトウェアモジュールSM
と、ハードウェアモジュールHMとを関連付ける識別符
号IDのリストが、アプリケーションプログラムAPの
ヘッダ部HEDに付加されている。
The structure of the application program AP will be described with reference to FIG. Software module SM used in this application program AP
And a list of identification codes ID for associating with the hardware module HM are added to the header part HED of the application program AP.

【0175】プログラムAP内では、ハードウェアモジ
ュールSMとソフトウェアモジュールHMとが、二重化
された処理として呼び出される。
In the program AP, the hardware module SM and the software module HM are called as duplicated processing.

【0176】利用する処理モジュールは、ABC00
1,XYZ001,PQR001の3つとされるので、
ヘッダ部HEDには、これらの処理に対応するハードウ
エアモジュールHMの識別符号HmABC001,Hm
XYZ001,HmPQR001が記載されている。
The processing module used is ABC00
1, XYZ001, and PQR001.
The header part HED includes identification codes HmABC001, Hm of the hardware module HM corresponding to these processes.
XYZ001 and HmPQR001 are described.

【0177】ソフトウェアモジュールSMとハードウェ
アモジュールHMとは同一の引数および戻り値を持って
互換性が完全に保たれており、アプリケーションプログ
ラムAPからは同じ処理モジュールに見えるように構成
されている。
The software module SM and the hardware module HM have the same argument and return value and are completely compatible with each other, so that the application program AP can see the same processing module.

【0178】次に、この画像処理の動作を図19および
その続きである図20に示したフローチャートに示す。
この図19および図20のフローチャートは、図7〜図
9を用いて説明した処理動作に対応しており、対応する
各ステップには、同一ステップ番号を付してある。
Next, the operation of this image processing is shown in the flowchart of FIG. 19 and the continuation of FIG.
The flowcharts of FIGS. 19 and 20 correspond to the processing operations described with reference to FIGS. 7 to 9, and corresponding steps are denoted by the same step numbers.

【0179】図21は、この画像処理動作のタイミング
チャートを示すものである。図19、図20のフローチ
ャートと、この図21のタイミングチャートを用いて、
この第2の実施例の画像処理動作を以下に説明する。な
お、図21では、処理aが線形変換PQR001、処理
bがGaussianフィルタを使ったノイズ除去処理
ABC001、処理cがLaplacianフィルタを
使った輪郭強調処理XYZ001をそれぞれ示してい
る。
FIG. 21 is a timing chart of this image processing operation. Using the flowcharts of FIGS. 19 and 20 and the timing chart of FIG. 21,
The image processing operation of the second embodiment will be described below. In FIG. 21, the process a shows the linear transformation PQR001, the process b shows the noise removal process ABC001 using the Gaussian filter, and the process c shows the contour enhancement process XYZ001 using the Laplacian filter.

【0180】また、使用する処理モジュールは、線形変
換PQR001、ノイズ除去処理ABC001、輪郭強
調処理XYZ001の3種類なので、図7〜図9におけ
る処理モジュール数Mは3となる。また、画像のR(赤
データ)、G(緑データ)、B(青データ)の各プレー
ンに対して、処理aから処理cまでを繰り返し実行する
ので、図7〜図9における繰り返し数Nは3となる。
The number of processing modules used in FIG. 7 to FIG. 9 is three since there are three types of processing modules to be used: linear conversion PQR001, noise removal processing ABC001, and contour enhancement processing XYZ001. Further, since the processes a to c are repeatedly executed for each plane of R (red data), G (green data), and B (blue data) of the image, the number of repetitions N in FIGS. It becomes 3.

【0181】図21において、時点t0で、アプリケーシ
ョンプログラムが起動すると、プログラムAPの初期化
処理や処理画像の準備などが行われる。同時にアプリケ
ーションプログラムAPのヘッダ部HEDにある識別符
号IDを読み込み、そこに記載されているハードウェア
モジュールHMの回路情報を取得して、プログラマブル
論理回路上にコンフィギュレーションする処理を、時点
t1から開始する。
In FIG. 21, when the application program is started at time t0, initialization processing of the program AP and preparation of a processed image are performed. At the same time, the process of reading the identification code ID in the header portion HED of the application program AP, obtaining the circuit information of the hardware module HM described therein, and configuring the programmable logic circuit on the
Start from t1.

【0182】図19において、繰り返し数をカウントす
るjが初期化されてj=1となり(ステップS31)、
画像のRプレーンに対する処理を開始する。次に何番め
のモジュールデータについての処理かを示す変数kを初
期化してk=1とする(ステップS51)。
In FIG. 19, j for counting the number of repetitions is initialized to j = 1 (step S31),
Processing for the R plane of the image is started. Next, a variable k indicating the module data to be processed is initialized to k = 1 (step S51).

【0183】図21において、処理a(PQR001)
を実行する直前の時点t2で、OSにコンフィギュレーシ
ョン完了を問い合わせる(ステップS52)。完了して
いない場合(k≧i)、アプリケーションプログラムA
Pは、ソフトウェアモジュールSmPQR001を使っ
て処理を実行する(ステップS53)。
In FIG. 21, processing a (PQR001)
At the time point t2 immediately before the execution of, the OS is inquired of the completion of the configuration (step S52). If not completed (k ≧ i), application program A
P executes a process using the software module SmPQR001 (step S53).

【0184】以降、処理bおよび処理cの直前の時点t
4、t6でも同様の問い合わせを、OSに対し行う。しか
し、この例では、図21のタイミングチャートに示すよ
うに、対応するハードウエアモジュールHmABC00
1,HmXYZ001のコンフィギュレーションが完了
していないので、それぞれソフトウエアモジュールSm
ABC001,SmXYZ001を用いて処理を実行し
て、繰り返し処理の1回目が終了する。
Thereafter, the time t immediately before the processing b and the processing c
At 4 and t6, a similar inquiry is made to the OS. However, in this example, as shown in the timing chart of FIG. 21, the corresponding hardware module HmABC00
1, the configuration of HmXYZ001 is not completed, and the software module Sm
The process is executed using ABC001 and SmXYZ001, and the first iteration of the process is completed.

【0185】一方、図21に示すように、処理aのハー
ドウェアモジュールHmPQR001がプログラマブル
論理回路16上にコンフィギュレーションされると、O
Sに対し、時点t8で、そのコンフィギュレーションの完
了が通知される(ステップS43)。
On the other hand, as shown in FIG. 21, when the hardware module HmPQR001 of the process a is configured on the programmable logic circuit 16,
S is notified of the completion of the configuration at time t8 (step S43).

【0186】上述した繰り返し処理の1回目が終了した
後に、画像のGプレーンを処理する繰り返し処理の2回
目が始まり(j=2)、再び、処理aの直前の時点t9ま
でプログラムが進行すると、再び、OSにコンフィギュ
レーション完了を問い合わせる(ステップS52)。コ
ンフィギュレーション完了(k<i)の返答があると、
今度は、処理データをハードウェアモジュールHmPQ
R001に渡し、ハードウェアで処理した後、時点t11
で、結果のみをプログラムへ戻す(ステップS53)。
After the first iteration of the above-described repetition processing is completed, a second iteration of the repetition processing for processing the G plane of the image is started (j = 2), and the program proceeds again to time t9 immediately before the processing a. Again, the system inquires of the OS about the completion of the configuration (step S52). When there is a response that the configuration is completed (k <i),
This time, the processing data is transferred to the hardware module HmPQ
After passing it to R001 and processing by hardware, at time t11
Then, only the result is returned to the program (step S53).

【0187】処理bの直前の時点t12 でも、OSに対し
問い合わせを行うが(ステップS52)、この例では、
図21に示すように、対応するハードウエアモジュール
HmABC001のコンフィギュレーションが完了して
いないので、ソフトウエアモジュールSmABC001
で処理を行う(ステップS53)。
At time t12 immediately before the process b, an inquiry is made to the OS (step S52).
As shown in FIG. 21, since the configuration of the corresponding hardware module HmABC001 is not completed, the software module SmABC001
Is performed (step S53).

【0188】しかし、処理cの直前の時点t16 でOSに
対し問い合わせを行うと、この例では、図21に示すよ
うに、対応するハードウエアモジュールHmXYZ00
1のコンフィギュレーションが完了しているので、この
ハードウエアモジュールHmXYZ001で処理を行っ
て(ステップS53)、繰り返し処理の2回目が終了す
る。
However, when an inquiry is made to the OS at time t16 immediately before the process c, in this example, as shown in FIG. 21, the corresponding hardware module HmXYZ00
Since the configuration of No. 1 has been completed, the hardware module HmXYZ001 performs processing (step S53), and the second iteration of the processing is completed.

【0189】繰り返し処理の2回目が終了した後に、画
像のBプレーンを処理する繰り返し処理の3回目が始ま
る(j=3)。このときには、各処理の直前の時点t18
、t20 、t22 で、OSにコンフィギュレーションを問
い合わすと、対応するハードウエアモジュールHmPQ
R001,HmABC001,HmXYZ001の全て
がプログラマブル論理回路16上にコンフィギュレーシ
ョンされているので、処理a,b,cは、全て、ハード
ウェアモジュールHmPQR001,HmABC00
1,HmXYZ001にて処理が実行され、くり返し処
理の3回目が終了し、アプリケーションも終了する。
After the second repetition processing is completed, the third repetition processing for processing the B plane of the image starts (j = 3). At this time, the time t18 immediately before each process
, T20, t22, when the configuration is queried from the OS, the corresponding hardware module HmPQ
Since all of R001, HmBC001, and HmXYZ001 are configured on the programmable logic circuit 16, the processes a, b, and c are all performed by the hardware modules HmPQR001 and HmBC00.
At 1, HmXYZ001, the process is executed, the third iteration of the process ends, and the application ends.

【0190】以上のようにして、この第1の実施の形態
の第2の実施例においても、ソフトウエアモジュールに
よる処理を実行しながら、ハードウエアモジュールのプ
ログラマブル論理回路16へのコンフィギュレーション
を並行して行い、コンフィギュレーションが完了したも
のについては、プログラマブル論理回路16によるハー
ドウエア処理を行うようにしたので、コンフィギュレー
ションの時間を考慮することなく、効率的にソフトウエ
ア処理と、ハードウエア処理を行って、全体としての処
理時間の短縮化を図ることができる。
As described above, also in the second example of the first embodiment, the configuration of the hardware module into the programmable logic circuit 16 is performed in parallel while executing the processing by the software module. After the configuration is completed, hardware processing is performed by the programmable logic circuit 16, so that the software processing and the hardware processing are efficiently performed without considering the configuration time. As a result, the processing time as a whole can be reduced.

【0191】[第2の実施の形態]次に、この発明によ
る情報処理システムの第2の実施の形態の構成を図22
に示す。
[Second Embodiment] Next, the configuration of an information processing system according to a second embodiment of the present invention will be described with reference to FIG.
Shown in

【0192】この第2の実施の形態においては、ハード
ウエアモジュール取得手段300が取得して、プログラ
マブル論理回路400に構成したハードウエアモジュー
ルHMの識別符号は、識別符号記録手段800に記録さ
れる点が、第1の実施の形態と異なる。他の構成要素
は、第1の実施の形態と同様である。
In the second embodiment, the identification code of the hardware module HM acquired by the hardware module acquisition means 300 and configured in the programmable logic circuit 400 is recorded in the identification code recording means 800. However, this is different from the first embodiment. Other components are the same as in the first embodiment.

【0193】この実施の形態の場合、識別符号記録手段
800には、ハードウエアモジュール取得手段300に
より、情報処理システム内の記憶装置あるいはネットワ
ーク20上の記憶装置21から取得されて、プログラマ
ブル論理回路400に再構成されたハードウエアモジュ
ールHMの識別符号IDが、その再構成順に記録され
る。したがって、この識別符号記録装置800には、ハ
ードウエアモジュールHMの使用履歴が記録されること
になる。
In the case of this embodiment, the identification code recording means 800 is obtained from the storage device in the information processing system or the storage device 21 on the network 20 by the hardware module obtaining means 300 and is stored in the programmable logic circuit 400. The identification code ID of the reconfigured hardware module HM is recorded in the reconfiguration order. Therefore, the use history of the hardware module HM is recorded in the identification code recording device 800.

【0194】この第2の実施の形態のハードウエア構成
は、識別符号記録手段800を、次に説明するように構
成することにより、図3に示した第1の実施の形態を実
現する情報処理システム10と同じハードウエア構成で
実現できる。
The hardware configuration of the second embodiment is based on the information processing for realizing the first embodiment shown in FIG. 3 by configuring the identification code recording means 800 as described below. It can be realized with the same hardware configuration as the system 10.

【0195】すなわち、ハードウエアモジュールHMの
コンフィギュレーションが終了し、図8のステップS4
3に示すように、コンフィギュレーションの終了がOS
に通知されたとき、コンフィギュレーションが終了した
ハードウエアモジュールHMの識別符号を、システム1
0内の記憶装置、例えば、図3のハードディスクドライ
ブ18によりハードディスクやメインメモリ13に記録
することにより、識別符号記録手段800を実現する。
That is, the configuration of the hardware module HM is completed, and step S4 in FIG.
As shown in FIG.
Is notified to the system 1, the identification code of the hardware module HM for which configuration has been completed is
The identification code recording unit 800 is realized by recording the data in a hard disk or the main memory 13 using a storage device in the storage unit 0, for example, the hard disk drive 18 in FIG.

【0196】[処理の具体例の実施例(第3の実施
例)]次に、この第2の実施の形態における第1の実施
例(以下、第3の実施例という)を、図23のフローチ
ャートを用いて説明する。
[Example of Specific Example of Processing (Third Example)] Next, a first example (hereinafter, referred to as a third example) of the second embodiment will be described with reference to FIG. This will be described with reference to a flowchart.

【0197】この第3の実施例は、紙文書をスキャナで
読み込んで、電子文書に変換する処理の例である。紙文
書は、文字で記述された文字部分と、図や写真の画像部
分で構成される。
The third embodiment is an example of a process in which a paper document is read by a scanner and converted into an electronic document. A paper document is composed of a character portion described by characters and an image portion of a figure or a photograph.

【0198】図23に示すように、まず、最初に、スキ
ャナを使って、画像部の読み取りに必要な解像度と階調
数で紙文書を読み取り、画像データとして蓄積する(ス
テップS61)。次に、読み取った画像データを、既知
の文字画像分離処理技術を用いて、文字部と画像部に分
離する(ステップS62)。
As shown in FIG. 23, first, a paper document is read using a scanner at a resolution and the number of gradations necessary for reading an image portion, and is stored as image data (step S61). Next, the read image data is separated into a character portion and an image portion by using a known character image separation processing technique (step S62).

【0199】分離した文字部の画像データは、第1のア
プリケーションによって、Laplacianフィルタ
によりエッジ強調の前処理を行い(ステップS63)、
既知の文字認識技術を用いて認識し(ステップS6
4)、文字コードによって表される文字データに変換す
る(ステップS65)。
The image data of the separated character portion is subjected to edge emphasis preprocessing by a first application using a Laplacian filter (step S63).
Recognition is performed using a known character recognition technique (step S6).
4) Convert the data into character data represented by a character code (step S65).

【0200】また、画像部の画像データは、第2のアプ
リケーションによって、前述の第2の実施例で述べた線
形変換処理によりコントラストを整え(ステップS6
6)、第2の実施例で述べたGaussianフィルタ
によりノイズを除去し(ステップS67)、さらに、第
2の実施例で述べたLaplacianフィルタによ
り、エッジを強調して(ステップS68)、ディスプレ
イ表示に適した画像データに変換する(ステップS6
9)。
The contrast of the image data of the image portion is adjusted by the second application by the linear conversion processing described in the second embodiment (step S6).
6) The noise is removed by the Gaussian filter described in the second embodiment (step S67), and the edge is enhanced by the Laplacian filter described in the second embodiment (step S68). Conversion to suitable image data (step S6
9).

【0201】最後に、例えば市販の電子文書編集ソフト
ウエアを用いて、文字部の文字データと画像部の画像デ
ータを、所望のレイアウトに編集して(ステップS7
0)、電子文書が完成する。
Finally, the character data of the character portion and the image data of the image portion are edited into a desired layout using, for example, commercially available electronic document editing software (step S7).
0), the electronic document is completed.

【0202】第1のアプリケーションと第2のアプリケ
ーションは、ともに前記第2の実施例で示したアプリケ
ーションと同じように、アプリケーションを構成するソ
フトウエアモジュールSMと同じ処理をするハードウエ
アモジュールHMの識別符号IDをアプリケーションの
ヘッダ部HEDに持つ。
The first application and the second application are both identification codes of the hardware module HM which performs the same processing as the software module SM constituting the application, similarly to the application shown in the second embodiment. The ID is stored in the header section HED of the application.

【0203】すなわち、第1のアプリケーションは、L
aplacianフィルタのハードウエアモジュールの
識別符号HmXYZ001を、そのヘッダ部HEDに持
ち、また、第2のアプリケーションは、Gaussia
nフィルタのハードウエアモジュールの識別符号HmA
BC001と、線型変換のハードウエアモジュールの識
別符号HmPQR001とを、そのヘッダ部HEDに持
つ。
That is, the first application is L
The identification code HmXYZ001 of the hardware module of the aplacian filter is included in the header part HED, and the second application is Gaussia.
Identification code HmA of hardware module of n filter
BC001 and the identification code HmPQR001 of the hardware module for linear conversion are included in the header part HED.

【0204】この第2の実施の形態のハードウエアモジ
ュール取得手段300は、第1の実施の形態で述べた手
順と同様の手順で、第1のアプリケーションと第2のア
プリケーションからハードウエアモジュールHMの識別
符号IDを読み込むことで、コンフィギュレーションす
るハードウエアモジュールHMを認識する。
[0204] The hardware module acquisition means 300 of the second embodiment transmits the hardware module HM from the first application and the second application in the same procedure as the procedure described in the first embodiment. The hardware module HM to be configured is recognized by reading the identification code ID.

【0205】例えば、第1のアプリケーション、第2の
アプリケーションの順序で実行する場合、第1のアプリ
ケーションが実行されるときに、ハードウエアモジュー
ルHmXYZ001が、プログラマブル論理回路400
に構成され、識別符号HmXYZ001が識別符号記録
手段800に記録される。
For example, when the first application is executed in the order of the second application, when the first application is executed, the hardware module HmXYZ001 executes the operation of the programmable logic circuit 400.
The identification code HmXYZ001 is recorded in the identification code recording means 800.

【0206】そして、第2のアプリケーションが実行さ
れるときには、ハードウエアモジュール取得手段300
は、3種のハードウエアモジュールHmPQR001,
HmABC001,HmXYZ001を取得して、コン
フィギュレーションする必要があるが、ハードウエアモ
ジュール取得手段300が、識別符号記録手段800を
参照することにより、ハードウエアモジュールHmXY
Z001は、既にプログラマブル論理回路上に構成され
ていることが分かる。
Then, when the second application is executed, the hardware module obtaining means 300
Are three kinds of hardware modules HmPQR001,
It is necessary to acquire and configure HmABC001 and HmXYZ001. However, the hardware module acquisition unit 300 refers to the identification code recording unit 800, and the hardware module HmXY001 is acquired.
It can be seen that Z001 is already configured on the programmable logic circuit.

【0207】そこで、ハードウエアモジュール取得手段
300は、第2のアプリケーションを実行するときに
は、ハードウエアモジュールHmXYZ001は、重ね
てコンフィギュレーションすることはしない。しかし、
ハードウエアモジュールHmXYZ001は、既にプロ
グラマブル論理回路400上に構成されているので、前
述した第1の実施例と第2の実施例で示したハードウエ
アモジュールの構成手順を経ること無く、Laplac
ianフィルタのソフトウエアモジュールHmXYZ0
01をハードウエアモジュールに置き換えて処理するこ
とができる。
Therefore, when executing the second application, the hardware module acquisition means 300 does not configure the hardware module HmXYZ001 in an overlapping manner. But,
Since the hardware module HmXYZ001 is already configured on the programmable logic circuit 400, Laplac can be used without going through the hardware module configuration procedure described in the first and second embodiments.
HmXYZ0 software module for ian filter
01 can be replaced with a hardware module for processing.

【0208】[処理の具体例の実施例(第4の実施
例)]次に、この発明の第2の実施の形態における他の
実施例(以下、第4の実施例という)を説明する。
[Example of Specific Example of Processing (Fourth Example)] Next, another example (hereinafter, referred to as a fourth example) of the second embodiment of the present invention will be described.

【0209】前述の第3の実施例で示した、画像データ
からの文字認識を行う第1のアプリケーションと、画像
データをディスプレイ表示に適した画像に変換する第2
のアプリケーションは、それぞれが独立した処理である
から、それぞれが異なった画像データを処理することも
できる。この第4の実施例は、それぞれ第1および第2
のアプリケーションが異なった画像データを処理する場
合である。
The first application for performing character recognition from image data and the second application for converting image data into an image suitable for display display, as described in the third embodiment.
These applications are independent processes, and can therefore process different image data. This fourth embodiment is similar to the first and second embodiments, respectively.
Is a case where different applications process different image data.

【0210】この第4の実施例において、第1のアプリ
ケーションと第2のアプリケーションを続けて実行する
場合は、識別符号記録手段800を参照することによ
り、共通に用いられるハードウエアモジュールHmXY
Z001が、一方のアプリケーションを実行した後には
既にプログラマブル論理回路上に構成されていることが
分かる。したがって、他方のアプリケーションを実行す
るときに、第1、第2の実施例で示したハードウエアモ
ジュールのコンフィギュレーションを行うこと無く、L
aplacianフィルタのソフトウエアモジュール
を、ハードウエアモジュールHmXYZ001に置き換
えて処理するようにする。
In the fourth embodiment, when the first application and the second application are executed successively, the hardware module HmXY commonly used is referred to by referring to the identification code recording means 800.
It can be seen that Z001 is already configured on the programmable logic circuit after executing one application. Therefore, when the other application is executed, the configuration of the hardware module shown in the first and second embodiments is not performed, and
The software module of the aplacian filter is replaced with a hardware module HmXYZ001 for processing.

【0211】また、第4の実施例においては、一方のア
プリケーションを実行した後に、情報処理システムの運
転を停止し、後にシステムの運転を再開して他方のアプ
リケーションを実行するときには、次のようにすること
により、ハードウエアモジュールのコンフィギュレーシ
ョンを効率的に行うことができる。
In the fourth embodiment, when one of the applications is executed, the operation of the information processing system is stopped, and the operation of the system is resumed later to execute the other application. By doing so, the configuration of the hardware module can be performed efficiently.

【0212】すなわち、システムを再開したときに、他
方のアプリケーションの処理開始前に、識別符号記録手
段800を参照して、記録されている識別符号に対応す
るハードウエアモジュールHMを、プログラマブル論理
回路16上に構成する。
That is, when the system is restarted and before the processing of the other application is started, the hardware module HM corresponding to the recorded identification code is referred to the identification code recording means 800 and the programmable logic circuit 16 Configure above.

【0213】これにより、他方のアプリケーションの処
理を開始したときには、既に、前に処理を行ったアプリ
ケーションと共通に用いるハードウエアモジュールHm
XYZ001は、プログラマブル論理回路400上に構
成されている。
Thus, when the processing of the other application is started, the hardware module Hm that is already used in common with the previously processed application
XYZ001 is configured on the programmable logic circuit 400.

【0214】したがって、第1、第2の実施例で示した
ハードウエアモジュールの構成手順を経ること無く、L
aplacianフィルタのソフトウエアモジュール
を、共通に用いるハードウエアモジュールHmXYZ0
01に置き換えて処理することができる。
Therefore, without going through the hardware module configuration procedure shown in the first and second embodiments, L
hardware module HmXYZ0 that uses the software module of the aplacian filter in common
01 and can be processed.

【0215】[第3の実施の形態]以上の第1および第
2の実施の形態は、各処理モジュールをソフトウエアモ
ジュールSMで行うか、ハードウエアモジュールHMで
行うかを、アプリケーションプログラムの実行時に決定
するようにしたが、前述もしたように、アプリケーショ
ンプログラムの実行前に行うようにすることもできる。
[Third Embodiment] In the first and second embodiments described above, whether each processing module is performed by the software module SM or the hardware module HM is determined when the application program is executed. Although the determination is made, as described above, it may be performed before the execution of the application program.

【0216】この第3の実施の形態は、実行モジュール
決定手段600での実行モジュールの決定を、アプリケ
ーションプログラムの実行前に行うようにする場合であ
る。この第3の実施の形態の場合の情報処理システム6
0のハードウエア構成例を図24に示す。
In the third embodiment, the execution module is determined by the execution module determining means 600 before the execution of the application program. Information processing system 6 in the case of the third embodiment
FIG. 24 shows an example of the hardware configuration of the "0".

【0217】この第3の実施の形態の場合の情報処理シ
ステム60は、PCIバス14に対して、LCDやCR
Tからなるディスプレイ61が、ディスプレイインタ−
フェース62を通じて接続されるとともに、キー操作部
63が、キーインターフェース64を通じて接続されて
構成される。他は、図3の情報処理システムと同様であ
る。
The information processing system 60 according to the third embodiment uses the LCD bus and the CR
The display 61 made of T is a display interface.
The key operation unit 63 is connected through a key interface 64 while being connected through the face 62. Others are the same as the information processing system of FIG.

【0218】[処理の具体例の実施例(第5の実施
例)]この第3の実施の形態における実施例(以下、第
5の実施例という)を、前述した画像処理のアプリケー
ションプログラムと同じく、コントラスト調整、ノイズ
除去、輪郭強調を画像データに施すとき、当該プログラ
ムの実行前に実行モジュールを判断する場合の例として
説明する。
[Example of Specific Example of Processing (Fifth Example)] An example (hereinafter, referred to as a fifth example) of the third embodiment is the same as the above-described image processing application program. An example in which the execution module is determined before executing the program when performing contrast adjustment, noise removal, and contour enhancement on image data will be described.

【0219】この第5の実施例の場合、アプリケーショ
ンプログラムのヘッダ部HEDには、各ソフトウエアモ
ジュールSMの識別符号と、ハードウエアモジュールH
Mの識別符号とが、対応して記述されるとともに、それ
ぞれのモジュールの能力などに関する情報、例えば、そ
れぞれの処理にかかる時間、ソフトウエアモジュールの
メモリ使用量、ハードウエアモジュールのプログラマブ
ル論理回路セル使用量などが、記述されている。
In the case of the fifth embodiment, the identification code of each software module SM and the hardware module H
The identification code of M is described correspondingly, and information on the capability of each module, for example, the time required for each process, the memory usage of the software module, the use of the programmable logic circuit cell of the hardware module The amount is described.

【0220】この実施例の情報処理システム60は、ア
プリケーションプログラムの実行前に、このヘッダ部H
EDの情報を取得する。そして、前記のソフトウエアモ
ジュールSMおよびハードウエアモジュールHMについ
ての能力等に関する情報を、ディスプレイ61の画面6
1Dに表示する。
[0220] The information processing system 60 according to this embodiment executes the header H before executing the application program.
Obtain ED information. Then, information on the capabilities of the software module SM and the hardware module HM is displayed on the screen 6 of the display 61.
Display in 1D.

【0221】図25は、前述した画像処理を実行する前
に表示される情報処理システム60のディスプレイ61
の画面61Dの例である。すなわち、この画面61Dに
は、この実施例においては、ソフトウエアモジュールS
MとハードウエアモジュールHMのそれぞれの識別符号
に対応して記述されている、処理時間、ソフトウエアモ
ジュールのメモリ使用量、ハードウエアモジュールのプ
ログラマブル論理回路セル使用量が表形式で表示され
る。
FIG. 25 shows a display 61 of the information processing system 60 which is displayed before executing the above-described image processing.
It is an example of the screen 61D. That is, in this embodiment, the software module S
The processing time, the memory usage of the software module, and the usage of the programmable logic circuit cell of the hardware module, which are described corresponding to the respective identification codes of M and the hardware module HM, are displayed in a table format.

【0222】ユーザは、期待する処理時間、情報処理装
置が備えているメモリ量、プログラマブル論理回路16
が備えているセル数を考慮して、各処理モジュールをど
ちらのモジュールで行うかを、キー操作部63を用いて
指示する。
The user can determine the expected processing time, the amount of memory provided in the information processing apparatus, and the programmable logic circuit 16.
The key operation unit 63 is used to specify which module performs each processing module in consideration of the number of cells included in the processing module.

【0223】図25の表示例では、コントラスト調整と
輪郭強調とを、処理時間が速いハードウエアモジュール
で処理をし、また、必要とされるセル数がプログラマブ
ル論理回路16のセル数を上回るので、ノイズ除去は、
ソフトウエアモジュールで処理する、というように指示
されている。
In the display example of FIG. 25, contrast adjustment and contour enhancement are processed by a hardware module having a short processing time, and the required number of cells exceeds the number of cells of the programmable logic circuit 16. Noise removal is
It is instructed to process with a software module.

【0224】そして、画面61Dには、その指示の結
果、組み合わされた処理モジュールで処理が実行された
場合の予測される全処理時間が5602ミリ秒、最大使
用メモリ量が2923キロバイト、全使用セル数が10
84セルであることが表示される。そこで、これが満足
できるものであれば、ユーザはこの条件でプログラムを
開始するように、キー操作部63より指示する。
The screen 61D displays, as a result of the instruction, an estimated total processing time of 5602 milliseconds, a maximum used memory amount of 2923 kilobytes, and a total used cell when the processing is executed by the combined processing module. Number 10
It is displayed that there are 84 cells. Therefore, if this is satisfactory, the user instructs the key operation unit 63 to start the program under this condition.

【0225】このように、この第3の実施の形態の場合
には、プログラム開始前に、各処理モジュールの実行に
ついて、ソフトウエアモジュールとハードウエアモジュ
ールのいずれを使用するかを、ユーザが自由に選択指示
することができる。したがって、処理速度だけでなく、
メモリ使用量などを考慮した適切な処理を行うようにす
ることができる。
As described above, in the case of the third embodiment, before starting the program, the user can freely determine which of the software module and the hardware module to use for execution of each processing module. Selection can be instructed. Therefore, not only processing speed,
Appropriate processing can be performed in consideration of the memory usage and the like.

【0226】[第4の実施の形態]以上に述べたよう
に、プログラマブル論理回路16への回路情報の転送
は、ネットワーク上の記憶装置21、またはシステム内
部の記憶装置18から行われる。回路情報の転送には、
システムの構成によっていくつかの方法がある。
[Fourth Embodiment] As described above, the transfer of circuit information to the programmable logic circuit 16 is performed from the storage device 21 on the network or the storage device 18 inside the system. To transfer circuit information,
There are several methods depending on the system configuration.

【0227】例えば、アプリケーションの実行と並行
して、ネットワークから必要な情報を随時ダウンロード
しながら、情報転送とコンフィギュレーションを行う方
法や、ネットワークから一旦すべての情報をシステム
内部のハードディスク等の記憶装置にダウンロードして
から、アプリケーションの実行と並行して随時読み出
し、その後ローカルバス転送、コンフィギュレーション
といったシステム内部だけのローカルの転送方法があ
る。
For example, in parallel with the execution of the application, a method of performing information transfer and configuration while downloading necessary information from the network as needed, or temporarily transferring all information from the network to a storage device such as a hard disk in the system. There is a local transfer method only inside the system, such as reading after downloading, reading at any time in parallel with the execution of the application, and then local bus transfer and configuration.

【0228】しかし、いずれの場合でも、回路の再構成
は、アプリケーションが、その回路を実行するまでに完
了しなければならない。転送の時間が長くなるとアプリ
ケーションの実行待ちが発生し、結果として処理速度が
低下する問題がある。
However, in any case, the reconfiguration of the circuit must be completed before the application executes the circuit. When the transfer time is long, there is a problem that the application waits for execution, resulting in a reduction in processing speed.

【0229】この問題を解決する方法のひとつとして、
特開平8−76974号公報に示される方法がある。こ
の公報に記載された方法は、次のようなものである。
As one of the methods for solving this problem,
There is a method disclosed in JP-A-8-76974. The method described in this publication is as follows.

【0230】プログラマブル論理回路を備えたデータ処
理装置において、電源投入時には、読みとり専用メモリ
にあらかじめ格納されている回路情報をプログラマブル
論理回路内のコンフィギュレーションメモリにダウンロ
ードする。外部から回路情報をダウンロードするときに
は、回路情報を所定のRAMにコピーした後、RAMか
らプログラマブル論理回路内のコンフィギュレーション
メモリにダウンロードする。
In a data processing device having a programmable logic circuit, when power is turned on, circuit information stored in advance in a read-only memory is downloaded to a configuration memory in the programmable logic circuit. When downloading circuit information from the outside, the circuit information is copied to a predetermined RAM, and then downloaded from the RAM to a configuration memory in the programmable logic circuit.

【0231】さらに、外部から回路情報をダウンロード
するときには、すでにプログラマブル論理回路内のコン
フィギュレーションメモリにある回路情報と新たな回路
情報を比較し、同一の場合、再ダウンロードしない。い
わゆるキャッシングと呼ばれる手法である。
Further, when circuit information is downloaded from the outside, the circuit information already in the configuration memory in the programmable logic circuit is compared with the new circuit information. This is a so-called caching technique.

【0232】しかしながら、この従来例の方法には、次
のような問題がある。
However, the conventional method has the following problem.

【0233】すなわち、前記従来例では、繰り返し使用
されるにもかかわらず、プログラマブル論理回路の回路
規模の制限により常駐することができない回路情報を、
いわゆるキャッシングを用いて短い時間で再構成する。
しかしながら、RAMの容量やその管理方法、また、デ
ータの種別の管理方法に不備な点があり、効率的なコン
フィギュレーションが行えるとは言い難い。
That is, in the above-described conventional example, circuit information which cannot be resident due to the limitation of the circuit size of the programmable logic circuit although it is used repeatedly is
Reconstruct in a short time using so-called caching.
However, there are inadequacies in the capacity of the RAM, the method of managing the RAM, and the method of managing the type of data, and it cannot be said that efficient configuration can be performed.

【0234】コンフィギュレーションデータは、一旦、
所定のRAMにコピーした後に、コンフィギュレーショ
ンメモリにダウンロードされ、直接、ネットワークから
コンフィギュレーションメモリへ転送されるものではな
い。したがって、転送のためのデータの流れとしてみる
と、システムの共通バスであるPCIバスを経由するこ
とになり、このバスのトラフィック混雑状態、転送段数
の増加などにより、結果として転送時間が長くかかって
しまう問題がある。
The configuration data is temporarily
After being copied to a predetermined RAM, it is not downloaded to the configuration memory and directly transferred from the network to the configuration memory. Therefore, when viewed as a flow of data for transfer, the data passes through a PCI bus which is a common bus of the system, and as a result, the transfer time is long due to the traffic congestion state of the bus and an increase in the number of transfer stages. There is a problem.

【0235】また、電源投入時に、読み取り専用メモリ
からのダウンロード、または、一旦RAMにコピーされ
たもののダウンロードというように、コンフィギュレー
ションメモリに対して一方向の転送しか行われず、常
に、RAMの中には、コンフィギュレーションメモリと
同じ情報が格納されている状態になり、メモリの容量と
しては効率的ではないという問題がある。
When the power is turned on, only one-way transfer to the configuration memory is performed, such as download from a read-only memory or download of a copy once in the RAM. However, there is a problem in that the same information is stored in the configuration memory, and the memory capacity is not efficient.

【0236】この第4の実施の形態は、以上の問題を解
決したものである。
The fourth embodiment solves the above problem.

【0237】この第4の実施の形態のブロック図を、図
26に示す。この図26から分かるように、この第4の
実施の形態においては、ハードウエアモジュール取得手
段300が取得したハードウエアモジュールの回路情報
を一時的に記憶するローカルメモリ900を設ける。他
は、第2の実施の形態の場合と全く同様である。
FIG. 26 is a block diagram of the fourth embodiment. As can be seen from FIG. 26, in the fourth embodiment, a local memory 900 for temporarily storing the circuit information of the hardware module acquired by the hardware module acquiring means 300 is provided. Others are exactly the same as the case of the second embodiment.

【0238】この第4の実施の形態においては、ハード
ウエアモジュール取得手段300は、プログラマブル論
理回路400に対してコンフィギュレーションを行うと
きには、ローカルメモリ900にもその回路情報を記憶
させるようにする。このとき、識別符号記録手段800
には、そのコンフィギュレーションされ、また、ローカ
ルメモリ900に記憶された回路情報を持つハードウエ
アモジュールの識別符号が記録される。
In the fourth embodiment, when configuring the programmable logic circuit 400, the hardware module acquisition means 300 stores the circuit information in the local memory 900. At this time, the identification code recording means 800
Is recorded with an identification code of a hardware module having the circuit information configured and stored in the local memory 900.

【0239】そして、プログラム100内のヘッダ部H
EDの識別符号に従って新たなハードウエアを取得する
とき、前記識別符号記録手段800の識別符号を参照し
て、この識別符号記録手段800内に、取得しようとす
るハードウエアモジュールの識別符号があるが、プログ
ラマブル論理回路には、コンフィギュレーションメモリ
の容量などの影響のために、その回路情報が構成されて
いないときには、ローカルメモリ900の記憶内容を確
認した後、ローカルメモリ900に保存されている当該
ハードウエアモジュールの回路情報を用いて、プログラ
マブル論理回路400のコンフィギュレーションを実行
する。
Then, the header H in the program 100
When acquiring new hardware according to the identification code of the ED, the identification code of the hardware module to be acquired is stored in the identification code recording means 800 by referring to the identification code of the identification code recording means 800. When the circuit information is not configured in the programmable logic circuit due to the effect of the capacity of the configuration memory or the like, the contents stored in the local memory 900 are checked after the contents stored in the local memory 900 are checked. The configuration of the programmable logic circuit 400 is executed using the circuit information of the wear module.

【0240】これにより、PCIバス14を経由したデ
ータ伝送は不要になり、高速にハードウエアモジュール
の回路情報の、プログラマブル論理回路へのコンフィギ
ュレーションができる。
As a result, data transmission via the PCI bus 14 becomes unnecessary, and the configuration of the circuit information of the hardware module into the programmable logic circuit can be performed at high speed.

【0241】すなわち、例えば、システム内記憶装置1
8から、あるいはネットワーク20から取得してハード
ウエアモジュールの回路情報を、一旦、メインメモリ1
3に蓄積し、コンフィギュレーションを実行する場合に
は、PCIバス14がコンフィギュレーションのために
回路情報の伝送に使用されしまうことになるが、この第
4の実施の形態のように、ローカルメモリ900に記憶
されているハードウエアモジュールHMの回路情報によ
り、プログラマブル論理回路16のコンフィギュレーシ
ョンを実行するようにすれば、PCIバス14は、コン
フィギュレーション時の回路情報が伝送されることがな
くなり、PCIバス14を効率良く使用することができ
る。
That is, for example, in-system storage device 1
8 or from the network 20, the circuit information of the hardware module is temporarily stored in the main memory 1
3, the PCI bus 14 is used for transmitting circuit information for the configuration, but the local memory 900 is used as in the fourth embodiment. When the configuration of the programmable logic circuit 16 is executed based on the circuit information of the hardware module HM stored in the PCI bus 14, the PCI bus 14 does not transmit the circuit information at the time of the configuration. 14 can be used efficiently.

【0242】また、一度、プログラマブル論理回路にコ
ンフィギュレーションされた回路情報が、コンフィギュ
レーションメモリの容量不足のために、他の回路情報に
上書きされてしまう場合には、ローカルメモリ900に
蓄えておくことが可能になり、当該ハードウエアモジュ
ールをプログラマブル論理回路に再度コンフィギュレー
ションする必要が生じたときでも、ローカルメモリ90
0からプログラマブル論理回路400のコンフィギュレ
ーションメモリに転送してコンフィギュレーションを実
行することができる。
If the circuit information once configured in the programmable logic circuit is overwritten by other circuit information due to a shortage of the capacity of the configuration memory, it should be stored in the local memory 900. And the local memory 90 can be used even when the hardware module needs to be reconfigured into a programmable logic circuit.
0 to the configuration memory of the programmable logic circuit 400 to execute the configuration.

【0243】さらに、前述した実施例のように、例えば
2つのアプリケーションを続けて実行する場合の後のア
プリケーションの実行に先立ち、識別符号記録手段80
0に記録されている識別符号に基づき、ローカルメモリ
900に格納されている回路情報を、プログラマブル論
理回路に、高速にコンフィギュレーションして構成して
おくことができる。
Further, as in the above-described embodiment, for example, prior to execution of an application after execution of two applications in succession, the identification code recording means 80 is executed.
Based on the identification code recorded in 0, the circuit information stored in the local memory 900 can be configured and configured in a programmable logic circuit at high speed.

【0244】この第4の実施の形態の場合の情報処理シ
ステム70のハードウエア構成例を図27に示す。
FIG. 27 shows a hardware configuration example of the information processing system 70 in the case of the fourth embodiment.

【0245】この情報処理システム70は、コンフィギ
ュレーション用の回路情報を一時的に格納しておくキャ
ッシュ用のローカルメモリとして、SRAMまたはDR
AMで構成されるローカルメモリ71を備える。このロ
ーカルメモリ71へは、プログラマブル論理回路16か
らアクセスすることができるとともに、プログラマブル
論理回路インターフェース15を介してPCIバス14
からもアクセスすることができる。
This information processing system 70 is an SRAM or DR as a cache local memory for temporarily storing configuration circuit information.
A local memory 71 composed of AM is provided. The local memory 71 can be accessed from the programmable logic circuit 16, and the PCI bus 14 can be accessed via the programmable logic circuit interface 15.
You can also access from.

【0246】また、プログラマブル論理回路16のコン
フィギュレーションメモリに格納された回路情報は、ア
ドレスの制御によって読み出すことができ、ローカルメ
モリ71あるいはPCIバス14を経由して、メインメ
モリ13や記憶装置としてのハードディスクドライブ1
8に転送できる。
The circuit information stored in the configuration memory of the programmable logic circuit 16 can be read out by controlling the address, and can be read from the main memory 13 or the storage device via the local memory 71 or the PCI bus 14. Hard disk drive 1
8 can be transferred.

【0247】情報処理システム70のその他の構成は、
図3の情報処理システム10と全く同様である。
The other configuration of the information processing system 70 is as follows.
It is completely the same as the information processing system 10 of FIG.

【0248】プログラマブル論理回路16と、メモリ1
3や記憶装置18間で回路情報を転送する速度は、デバ
イスの種類、転送バス幅、バス動作周波数、転送モー
ド、転送バスのトラフィック状態、転送経路等の要因に
より変化する。
The programmable logic circuit 16 and the memory 1
The speed at which circuit information is transferred between the storage device 3 and the storage device 18 varies depending on factors such as the type of device, transfer bus width, bus operating frequency, transfer mode, transfer bus traffic state, and transfer path.

【0249】ここで、プログラマブル論理回路16に対
して回路情報の転送速度が高速なメモリや記憶装置を高
位、低速なメモリや記憶装置を低位であると呼ぶことに
する。この第4の実施の形態では、高位から順に並べる
と、プログラマブル論理回路16内部のコンフィギュレ
ーションメモリ、ローカルメモリ71、メインメモリ1
3、システム内記憶装置としてのハードディスクドライ
ブ18、ネットワークで接続された記憶装置21の順で
あるとする。
Here, a memory or a storage device having a high transfer rate of circuit information to the programmable logic circuit 16 is called a high rank, and a memory or a storage device with a low transfer rate is called a low rank. In the fourth embodiment, the configuration memory, the local memory 71, and the main memory 1 in the programmable logic circuit 16 are arranged in order from the highest order.
3. Assume that the order is a hard disk drive 18 as a storage device in the system, and a storage device 21 connected via a network.

【0250】次に、この第4の実施の形態の基本的な動
作は、第1の実施の形態の場合と同様であり、アプリケ
ーションプログラムの実行時に、処理モジュールとし
て、ソフトウエアモジュールとハードウエアモジュール
のいずれを使用するのかを、図6に示したフローチャー
トのようにして決定しながら処理を行うものである。
Next, the basic operation of the fourth embodiment is the same as that of the first embodiment. When an application program is executed, a software module and a hardware module are used as processing modules. The processing is performed while deciding which of the two is to be used as shown in the flowchart of FIG.

【0251】[処理の具体例の実施例(第6の実施
例)]この第6の実施例は、ローカルメモリ71を利用
して、コンフィギュレーションの効率化を図るものであ
る。この第6の実施例の要部の動作であるコンフィギュ
レーションの処理を、図28、図29、図30に示した
フローチャートを使って説明する。
[Embodiment of Specific Example of Processing (Sixth Embodiment)] In the sixth embodiment, the local memory 71 is used to improve the efficiency of the configuration. The configuration processing which is the operation of the main part of the sixth embodiment will be described with reference to the flowcharts shown in FIGS. 28, 29 and 30.

【0252】図28に示すように、ハードウェアモジュ
ール取得手段300は、ハードウェアモジュールを取得
するとき、識別符号記録手段800に記録された識別符
号を参照することにより、コンフィギュレーションメモ
リに、コンフィギュレーションしようとするハードウェ
アモジュールに対応する回路情報が存在するかを確認す
る(ステップS71)。存在する場合は、コンフィギュ
レーションは行わずに、完了とする(ステップS7
2)。存在しない場合は、ローカルメモリ71の回路情
報を確認する(ステップS73)。ローカルメモリ71
上に、回路情報が存在する場合は、ローカルメモリ71
からの回路情報のコンフィギュレーションの処理を行う
(ステップS74)。
As shown in FIG. 28, when acquiring a hardware module, the hardware module acquiring means 300 refers to the identification code recorded in the identification code recording means 800 to store the configuration in the configuration memory. It is checked whether there is circuit information corresponding to the hardware module to be tried (step S71). If there is, the configuration is completed without performing the configuration (step S7).
2). If not, the circuit information of the local memory 71 is confirmed (step S73). Local memory 71
If there is circuit information above, the local memory 71
(Step S74).

【0253】図29は、ローカルメモリ71からのコン
フィギュレーションのルーチンのフローチャートであ
る。この図29に示すように、コンフィギュレーション
メモリに十分な空き領域があるか否か判断する(ステッ
プS81)。十分な空き領域があれば、ステップS83
に飛んで、ローカルメモリ71から回路情報を、プログ
ラマブル論理回路16のコンフィギュレーションメモリ
へ転送して、コンフィギュレーションをそのまま実行す
る。空き領域がない場合は、ステップS82に進み、優
先順位の低いハードウェアモジュール上に上書きした
後、ステップS83に進んで、コンフィギュレーション
を行う。
FIG. 29 is a flowchart of a configuration routine from the local memory 71. As shown in FIG. 29, it is determined whether there is a sufficient free area in the configuration memory (step S81). If there is enough free space, step S83
Then, the circuit information is transferred from the local memory 71 to the configuration memory of the programmable logic circuit 16, and the configuration is executed as it is. If there is no free area, the process proceeds to step S82 to overwrite the hardware module with a lower priority, and then proceeds to step S83 to perform configuration.

【0254】ローカルメモリ71上に回路情報がない場
合には、メインメモリ13の回路情報を確認する(ステ
ップS75)。メインメモリ13に回路情報があれば、
その回路情報を、メインメモリ13からローカルメモリ
71と、プログラマブル論理回路16のコンフィギュレ
ーションメモリとへ転送する処理を行う(ステップS7
6)。
If there is no circuit information in the local memory 71, the circuit information in the main memory 13 is confirmed (step S75). If there is circuit information in the main memory 13,
A process of transferring the circuit information from the main memory 13 to the local memory 71 and the configuration memory of the programmable logic circuit 16 is performed (Step S7).
6).

【0255】図30は、このメインメモリ13からの転
送処理のルーチンのフローチャートを示すものである。
メインメモリ13からの転送に当たって、まず、プログ
ラマブル論理回路16のコンフィギュレーションメモリ
上の空き領域を確認し(ステップS91)、空き領域が
十分でないときには、優先順位の低い回路情報に上書き
するために、その上書きする領域を決定し(ステップS
92)、次のステップS93に進む。
FIG. 30 shows a flowchart of a routine for the transfer process from the main memory 13.
In transferring data from the main memory 13, first, a vacant area in the configuration memory of the programmable logic circuit 16 is checked (step S91). If the vacant area is not sufficient, the circuit information is overwritten with lower priority circuit information. Determine the area to be overwritten (step S
92), and proceed to the next step S93.

【0256】コンフィギュレーションメモリ上の空き領
域が十分であれば、ステップS91からステップS93
に飛んで、ローカルメモリ71上の空き領域を確認する
(ステップS93)。ローカルメモリ71の空き領域が
十分でないときには、優先順位の低い回路情報に上書き
して転送を行うために、ステップS94に進んで、その
上書きする領域を決定する。そして、次のステップS9
5において、ローカルメモリ71にメインメモリ13か
らの回路情報の転送を行い、その転送された回路情報に
基づいてプログラマブル論理回路16のコンフィギュレ
ーションを行う。
If the free space on the configuration memory is sufficient, steps S91 to S93 are performed.
To confirm a free area on the local memory 71 (step S93). If the free area of the local memory 71 is not sufficient, the process proceeds to step S94 to determine the area to be overwritten in order to perform the transfer by overwriting the circuit information with the lower priority. Then, the next step S9
In 5, the circuit information is transferred from the main memory 13 to the local memory 71, and the configuration of the programmable logic circuit 16 is performed based on the transferred circuit information.

【0257】ローカルメモリ71の空き領域が十分であ
れば、ステップS93からステップS95に飛んで、ロ
ーカルメモリ71にメインメモリ13からの回路情報の
転送を行い、その転送された回路情報に基づいてプログ
ラマブル論理回路16のコンフィギュレーションを行
う。
If the free area of the local memory 71 is sufficient, the process jumps from step S93 to step S95 to transfer the circuit information from the main memory 13 to the local memory 71, and to program based on the transferred circuit information. The configuration of the logic circuit 16 is performed.

【0258】そして、図28に戻って、メインメモリ1
3に回路情報がない場合には、さらに低位の回路情報格
納先へと探索していく。この実施例では、ネットワーク
20上の記憶装置21から回路情報をメインメモリ13
に転送する(ステップS77)。この場合も、メインメ
モリ13上に空き領域がない場合は、メインメモリ13
上の優先順位の回路情報に上書きする。
Returning to FIG. 28, the main memory 1
If there is no circuit information in No. 3, the search is made to a lower-level circuit information storage destination. In this embodiment, the circuit information is stored in the main memory
(Step S77). Also in this case, if there is no free area on the main memory 13, the main memory 13
Overwrite the circuit information with the higher priority.

【0259】メインメモリ13への転送後は、メインメ
モリ13に回路情報が存在する場合と同じ処理を行うこ
とになり、ローカルメモリ71と、プログラマブル論理
回路16のコンフィギュレーションメモリへと転送され
る。このように、回路情報は、プログラマブル論理回路
16のコンフィギュレーションメモリへ書き込まれると
ともに、最も、転送が高速にできるローカルメモリ71
にも転送される。
After the transfer to the main memory 13, the same processing as when circuit information exists in the main memory 13 is performed, and the transfer is performed to the local memory 71 and the configuration memory of the programmable logic circuit 16. As described above, the circuit information is written to the configuration memory of the programmable logic circuit 16 and the local memory 71 that can perform the transfer at the highest speed.
Will also be forwarded.

【0260】ローカルメモリ71からのプログラマブル
論理回路16のコンフィギュレーションメモリへの転送
およびコンフィギュレーションは、メインメモリ13か
らの転送およびコンフィギュレーションに比べて、PC
Iバス14を経由することがないので、他のデータ転送
との輻輳がなく、高速にコンフィギュレーションが実行
できる。
The transfer and configuration of the programmable logic circuit 16 from the local memory 71 to the configuration memory are different from the transfer and configuration of the main memory 13 by the PC.
Since the data does not pass through the I bus 14, there is no congestion with other data transfer and the configuration can be executed at high speed.

【0261】次に、ローカルメモリ71を使用して、4
つのハードウェアモジュールを、プログラマブル論理回
路16にコンフィギュレーションする具体例を、図3
1、図32を用いて説明する。
Next, using the local memory 71, 4
FIG. 3 shows a specific example in which one hardware module is configured in the programmable logic circuit 16.
This will be described with reference to FIG.

【0262】この第6の実施例では、プログラムのヘッ
ダHEDに記載された識別符号に基づいて、ハードウェ
アモジュールを、例えばネットワーク上の記憶装置20
から取得し、ローカルメモリ71を使うことにより、よ
り高速に回路情報をプログラマブル論理回路16にコン
フィギュレーションする。
In the sixth embodiment, a hardware module is stored in, for example, a storage device 20 on a network based on an identification code described in a header HED of a program.
And by using the local memory 71, circuit information is configured in the programmable logic circuit 16 at higher speed.

【0263】4つのハードウェアモジュールA〜Dを用
いた処理フローを、図31に示す。ハードウェアモジュ
ールの処理順序は、A→B→C→A→Dである。ハード
ウェアモジュールAによる処理を2回行うため、ハード
ウエアモジュールAの優先順位が最も高い。プログラマ
ブル論理回路16上のハードウェアモジュールA,B,
C,Dの配置を図32に示す。この場合、ハードウェア
モジュールAとハードウェアモジュールCは重なりを持
つので、同時にコンフィギュレーションできない。
FIG. 31 shows a processing flow using the four hardware modules A to D. The processing order of the hardware modules is A → B → C → A → D. Since the processing by the hardware module A is performed twice, the priority of the hardware module A is the highest. The hardware modules A, B,
FIG. 32 shows the arrangement of C and D. In this case, since the hardware module A and the hardware module C have an overlap, they cannot be simultaneously configured.

【0264】これらのハードウェアモジュールA〜Dの
コンフィギュレーション手順を、図31を使って説明す
る。
The configuration procedure of these hardware modules A to D will be described with reference to FIG.

【0265】処理時間tc0 に、ネットワーク上の記憶装
置21からハードウェアモジュールAの転送が開始さ
れ、その回路情報は、一旦、メインメモリ13に格納さ
れる。そして、処理時間tc1 〜tc2 の期間で、メインメ
モリ13から、ローカルメモリ71とプログラマブル論
理回路16のコンフィギュレーションメモリへ転送され
る。
At the processing time tc0, the transfer of the hardware module A from the storage device 21 on the network is started, and its circuit information is temporarily stored in the main memory 13. Then, the data is transferred from the main memory 13 to the local memory 71 and the configuration memory of the programmable logic circuit 16 during the processing time tc1 to tc2.

【0266】ハードウェアモジュールAは最も優先順位
が高いので、ローカルメモリ71のメモリ容量が十分で
ない場合には、ハードウェアモジュールB、C、Dがロ
ーカルメモリ71に格納されずに、これらハードウェア
モジュールB、C、Dは、さらに低位のメインメモリ1
3、または、内部記憶装置としてのハードディスクドラ
イブ18へ格納されることになる。ハードウェアモジュ
ールAのコンフィギュレーションは処理時間tc2 で完了
する。
Since the hardware module A has the highest priority, if the memory capacity of the local memory 71 is not sufficient, the hardware modules B, C, and D are not stored in the local memory 71, and these hardware modules are not stored. B, C, and D are lower-level main memories 1
3, or stored in the hard disk drive 18 as an internal storage device. The configuration of the hardware module A is completed in the processing time tc2.

【0267】次に、ハードウェアモジュールBおよびC
は、それぞれ処理時間tc1 〜tc2 、処理時間tc3 〜tc4
の期間内で、ネットワーク20上の記憶装置21からの
転送が開始され、処理時間tc4 、処理時間tc6 でプログ
ラマブル論理回路16へのコンフィギュレーションが完
了する。
Next, the hardware modules B and C
Are processing times tc1 to tc2 and processing times tc3 to tc4, respectively.
Is started from the storage device 21 on the network 20, and the configuration to the programmable logic circuit 16 is completed in the processing time tc4 and the processing time tc6.

【0268】ここで、ハードウェアモジュールCのコン
フィギュレーションを開始する処理時間tc5 のときに
は、プログラマブル論理回路16上のハードウェアモジ
ュールCは、ハードウェアモジュールAの一部に上書き
して構成する。したがって、プログラマブル論理回路1
6上でのコンフィギュレーション状態としては、ハード
ウェアモジュールAが無効になり、ハードウェアモジュ
ールBはそのまま有効で、処理時間tc6 からハードウェ
アモジュールCが有効になる。
Here, when the processing time tc5 for starting the configuration of the hardware module C is reached, the hardware module C on the programmable logic circuit 16 is constructed by overwriting a part of the hardware module A. Therefore, the programmable logic circuit 1
As the configuration state on 6, the hardware module A becomes invalid, the hardware module B remains valid, and the hardware module C becomes valid from the processing time tc6.

【0269】ここで、ハードウェアモジュールCをロー
カルメモリ71に転送するときに、ローカルメモリ71
の空き容量を考える必要がある。この実施例の場合、ロ
ーカルメモリ71の容量が、ハードウェアモジュール
A、BおよびCのすべてを格納するために十分でないの
で、ハードウェアモジュールBのローカルメモリ71の
領域に、ハードウェアモジュールCを上書きして格納さ
せる。
Here, when transferring the hardware module C to the local memory 71, the local memory 71
You need to consider the free space. In the case of this embodiment, since the capacity of the local memory 71 is not enough to store all of the hardware modules A, B, and C, the area of the local memory 71 of the hardware module B is overwritten with the hardware module C. And store it.

【0270】これは、ハードウェアモジュールBは、ハ
ードウェアモジュールAに比べて優先順位が低いためで
ある。したがって、処理時間tc5 の時点からハードウェ
アモジュールCの情報がローカルメモリ71に格納され
ていくことになる。
This is because the hardware module B has a lower priority than the hardware module A. Therefore, the information of the hardware module C is stored in the local memory 71 from the processing time tc5.

【0271】次に、再びハードウェアモジュールAによ
る処理が行われるが、前に無効になったハードウェアモ
ジュールAを再びコンフィギュレーションするために、
ハードウェアモジュールCによるアプリケーションプロ
グラムの処理が完了する処理時間tc7 の時点から、ロー
カルメモリ71に格納されているハードウェアモジュー
ルAの回路情報を、プログラマブル論理回路16のコン
フィギュレーションメモリに転送する。
Next, the processing by the hardware module A is performed again. In order to reconfigure the previously invalidated hardware module A,
From the processing time tc7 when the processing of the application program by the hardware module C is completed, the circuit information of the hardware module A stored in the local memory 71 is transferred to the configuration memory of the programmable logic circuit 16.

【0272】したがって、この処理時間tc7 の時点から
ハードウェアモジュールCが無効になり、ハードウェア
モジュールAがプログラマブル論理回路に再構成され
て、処理時間tc8 の時点でコンフィギュレーションが完
了する。メモリへの格納状態からみると、図31のロー
カルメモリ71から、プログラマブル論理回路16のコ
ンフィギュレーションメモリへ、図31でTraで示すよ
うな転送が行われたことになる。
Therefore, the hardware module C becomes invalid at the time of the processing time tc7, the hardware module A is reconfigured into a programmable logic circuit, and the configuration is completed at the time of the processing time tc8. From the state of storage in the memory, the transfer as indicated by Tra in FIG. 31 has been performed from the local memory 71 in FIG. 31 to the configuration memory of the programmable logic circuit 16.

【0273】最後に、ハードウェアモジュールDのコン
フィギュレーションが行われる。
Finally, the configuration of the hardware module D is performed.

【0274】なお、上記の例で、ハードウェアモジュー
ルの回路情報を、ネットワーク20上の記憶装置21か
ら、一旦、メインメモリ13に格納して、ローカルメモ
リ71とコンフィギュレーションメモリに転送したが、
ネットワーク20から、直接、メインメモリ13とロー
カルメモリ71とコンフィギュレーションメモリに転送
してもよい。
In the above example, the circuit information of the hardware module is temporarily stored in the main memory 13 from the storage device 21 on the network 20 and transferred to the local memory 71 and the configuration memory.
The data may be directly transferred from the network 20 to the main memory 13, the local memory 71, and the configuration memory.

【0275】ここで、回路情報を格納するメモリの容量
を効率的に使用する場合には、メモリの格納状態におい
ては、図31で、メインメモリ13の格納状態が存在し
ない状態がよい。
Here, when the capacity of the memory for storing the circuit information is used efficiently, the storage state of the memory is preferably such that the storage state of the main memory 13 does not exist in FIG.

【0276】ネットワーク20から、直接、ローカルメ
モリ71と、プログラマブル論理回路16のコンフィギ
ュレーションメモリに転送された後の、処理時間tc5 以
降では、ハードウェアモジュールBは、ローカルメモリ
71では、ハードウェアモジュールCによって上書きさ
れてしまい、コンフィギュレーションメモリにしか、そ
の回路情報は残っていないことになる。
After the processing time tc5 after the data is directly transferred from the network 20 to the local memory 71 and the configuration memory of the programmable logic circuit 16, the hardware module B is replaced by the hardware module C in the local memory 71. And the circuit information remains only in the configuration memory.

【0277】もし、プログラマブル論理回路16のコン
フィギュレーションメモリのハードウェアモジュールB
の領域に新たなハードウェアモジュールが構成されて、
上書きされてしまうと、再び、このハードウェアモジュ
ールBを使用する予定がある場合には、このハードウエ
アモジュールBをコンフィギュレーションメモリからロ
ーカルメモリ71へと転送して格納しておく。
If the hardware module B of the configuration memory of the programmable logic circuit 16
A new hardware module is configured in the area of
When overwritten, if there is a plan to use the hardware module B again, the hardware module B is transferred from the configuration memory to the local memory 71 and stored.

【0278】ハードウエアモジュールの使用予定に関す
る情報は、例えば、プログラムを事前に解析しておくこ
とにより、得ることができる。また、この実施の形態の
場合には、プログラムのヘッダ部HEDに、識別符号I
Dが処理モジュール順に記述されるので、そのヘッダ部
HEDの識別符号IDの並びを参照することでも、知る
ことができる。
Information about the use schedule of the hardware module can be obtained, for example, by analyzing the program in advance. In the case of this embodiment, the identification code I is added to the header part HED of the program.
Since D is described in the order of the processing module, it can also be known by referring to the arrangement of the identification codes ID of the header part HED.

【0279】さらに、識別符号記録手段800に記録さ
れている識別符号を参照することにより、過去の使用履
歴から推定することもできる。この例では、識別符号記
録手段800の識別符号による使用されたハードウエア
モジュールHMの過去の使用履歴から、使用が予定され
るハードウエアモジュールHMの回路情報を、プログラ
マブル論理回路のコンフィギュレーションメモリから、
ローカルメモリ71に転送しておくようにする。
Further, by referring to the identification code recorded in the identification code recording means 800, it can be estimated from the past use history. In this example, from the past use history of the hardware module HM used by the identification code of the identification code recording unit 800, the circuit information of the hardware module HM to be used is obtained from the configuration memory of the programmable logic circuit.
The data is transferred to the local memory 71.

【0280】このようにすることによって、ローカルメ
モリ71と、プログラマブル論理回路16のコンフィギ
ュレーションメモリとの高速転送に関わるメモリ容量
を、効率良く使うことができる。
By doing so, the memory capacity related to high-speed transfer between the local memory 71 and the configuration memory of the programmable logic circuit 16 can be used efficiently.

【0281】次に、プログラマブル論理回路16のコン
フィギュレーションメモリと、このコンフィギュレーシ
ョンメモリの容量より大きなローカルメモリ71との間
で、ハードウェアモジュールHMの回路情報を通信する
実施例について、図33を用いて説明する。
Next, an embodiment in which circuit information of the hardware module HM is communicated between the configuration memory of the programmable logic circuit 16 and the local memory 71 having a capacity larger than that of the configuration memory will be described with reference to FIG. Will be explained.

【0282】プログラマブル論理回路16のコンフィギ
ュレーションメモリ160と、ローカルメモリ71を結
線するアドレスバスの幅と、データバスの幅において、
ローカルメモリ71のアドレスバスの幅の方が大きくな
るため、その下位ビット側をコンフィギュレーションメ
モリ160のアドレスバス幅に対応させる。
In the width of the address bus connecting the configuration memory 160 of the programmable logic circuit 16 and the local memory 71, and the width of the data bus,
Since the width of the address bus of the local memory 71 is larger, the lower bits are made to correspond to the address bus width of the configuration memory 160.

【0283】ローカルメモリ71のアドレスバスの上位
ビット側の制御により、コンフィギュレーションメモリ
160と同等なメモリ容量で、アドレス制御も同じくし
た、複数に分割されたメモリ空間の構成ができる。
By controlling the upper bits of the address bus of the local memory 71, it is possible to configure a memory space divided into a plurality of parts with the same memory capacity as the configuration memory 160 and the same address control.

【0284】なお、データバス幅に関しては、必ずしも
同じにする必要はないが、制御のしやすさから考える
と、例えばバイト単位の倍数で構成しておく。一方、そ
れぞれのメモリ空間に格納されているハードウェアモジ
ュールHMの識別符号IDの情報は、識別符号記録手段
800に記録されており、コンフィギュレーションの要
求に応じて、記録された識別符号の情報に基づいて選択
的に転送される。
Although the data bus width is not necessarily required to be the same, the width is, for example, a multiple of a byte unit from the viewpoint of controllability. On the other hand, the information of the identification code ID of the hardware module HM stored in each memory space is recorded in the identification code recording means 800, and the information of the recorded identification code is stored in response to the configuration request. Selectively transferred based on

【0285】このように構成及び制御をすることによっ
て、この分割されたメモリ空間単位でコンフィギュレー
ションする場合には、一括転送ができるためハードウェ
アモジュールの転送の制御が簡単になり、しかも、コン
フィギュレーションの高速化が図れる。
By performing the configuration and control in this manner, when the configuration is performed in units of the divided memory space, the batch transfer can be performed, so that the transfer control of the hardware module is simplified, and the configuration is further improved. Can be speeded up.

【0286】さらに、図32に示すような複数のハード
ウェアモジュールによるコンフィギュレーションにおい
て、複数個を組み合わせて繰り返し用いられるハードウ
ェアモジュールが発生する場合、例えば、ハードウェア
モジュールAおよびハードウェアモジュールBが組み合
わされて用いられる場合、これらを結線する配線情報も
合わせて前述のローカルメモリ71において、複数に分
割構成されたメモリ空間に対応させて格納する。
Further, in a configuration using a plurality of hardware modules as shown in FIG. 32, when a hardware module that is used repeatedly by combining a plurality of hardware modules is generated, for example, the hardware module A and the hardware module B are combined. When used, the wiring information for connecting these is also stored in the local memory 71 in association with the memory space divided into a plurality of parts.

【0287】この格納されたハードウェアモジュールお
よび配線情報に関する情報は、識別符号記録手段800
に記録される。したがって、コンフィギュレーションが
必要になったときには、記録された情報に基づいて、ハ
ードウェアモジュール(A+B)および配線情報を個別
に順次転送することなく、コンフィギュレーションメモ
リに、一括で、あるいは部分的に、高速に転送できる。
The information on the stored hardware modules and wiring information is stored in the identification code recording means 800.
Will be recorded. Therefore, when the configuration becomes necessary, the hardware module (A + B) and the wiring information are not individually and sequentially transferred on the basis of the recorded information, but are collectively or partially stored in the configuration memory. Can be transferred at high speed.

【0288】[第5の実施の形態]以上に示した第1の
実施の形態、第2の実施の形態、第3の実施の形態、第
4の実施の形態では、アプリケーションプログラムが、
ソフトウエアモジュールの集合で構成され、ソフトウエ
アモジュールと同じ処理を行うハードウエアモジュール
を、プログラムのヘッダ部HEDの識別符号により取得
し、プログラムの実行前またはプログラム実行時に、実
行モジュールを決定した。
[Fifth Embodiment] In the first, second, third, and fourth embodiments described above, the application programs are
A hardware module, which is composed of a set of software modules and performs the same processing as the software module, is obtained by the identification code of the header part HED of the program, and the execution module is determined before or during execution of the program.

【0289】しかし、この発明は、この逆に、アプリケ
ーションプログラムが、ハードウエアモジュールの集合
で構成され、ハードウエアモジュールと同じ処理を行う
ソフトウエアモジュールを、プログラムのヘッダ部HE
Dの識別符号によりシステム内の記憶装置やネットワー
ク上の記憶装置から取得する場合も、ソフトウエアモジ
ュールとハードウエアモジュールとを置き換えるだけ
で、前述した第1の実施の形態、第2の実施の形態、第
3の実施の形態、第4の実施の形態と、同様な処理を行
うことができる。
However, according to the present invention, on the contrary, the application program is constituted by a set of hardware modules, and a software module which performs the same processing as the hardware module is replaced by a header part HE of the program.
In the case of acquiring from the storage device in the system or the storage device on the network by the identification code of D, the first embodiment and the second embodiment described above can be obtained simply by replacing the software module with the hardware module. The same processing as in the third and fourth embodiments can be performed.

【0290】なぜならば、両方のモジュールを取得した
後では、実行モジュールを決定する手順は同じであり、
実行プログラム用記憶部としての主記憶装置である、例
えばメインメモリ13に格納されているソフトウエアモ
ジュールを、再び取得する必要はないし、アプリケーシ
ョンの開始前にソフトウエアモジュールを、主記憶装置
に格納することができるからである。
The reason is that after both modules are obtained, the procedure for determining the execution module is the same.
It is not necessary to acquire again a software module stored in the main memory 13 as a main storage device as a storage unit for the execution program, and the software module is stored in the main storage device before the application is started. Because you can do it.

【0291】その場合の、ブロック図を、図34に示
す。この図34は、第2の実施の形態に対応したもので
あり、第1の実施の形態に対応する構成の場合には、識
別情報記憶手段800が存在しない。
FIG. 34 is a block diagram showing such a case. FIG. 34 corresponds to the second embodiment. In the case of the configuration corresponding to the first embodiment, the identification information storage unit 800 does not exist.

【0292】この場合には、アプリケーションプログラ
ム110に記述されているハードウエアモジュールHM
は、プログラマブル論理回路400に転送されて、再構
成される。
In this case, the hardware module HM described in the application program 110
Is transferred to the programmable logic circuit 400 to be reconfigured.

【0293】また、前述の実施の形態のハードウエアモ
ジュール取得手段に対応するソフトウエアモジュール取
得手段330は、取得したソフトウエアモジュールを、
実行プログラム記憶手段550に格納し、CPU500
で実行するようにする。この実行プログラム記憶手段4
40は、前述したように、情報処理システムでは、メイ
ンメモリ13で構成される。
Also, the software module acquiring means 330 corresponding to the hardware module acquiring means of the above-described embodiment converts the acquired software module into
Stored in the execution program storage means 550,
To run in This execution program storage means 4
The information processing system 40 includes the main memory 13 as described above.

【0294】[実施の形態の効果]以上説明したよう
に、第1の実施の形態、第2の実施の形態、第4の実施
の形態および第5の実施の形態では、少なくとも処理の
一部分が回路構成を再構成できるプログラマブル論理回
路で処理される情報処理システムにおいて、ソフトウエ
アモジュールによるアプリケーションプログラムの実行
と並行して、ソフトウエアモジュールと同じ処理を行う
ハードウエアモジュールのコンフィギュレーションを行
うことにより、プログラム論理回路の再構成時間を考慮
した最善のソフトウエアモジュールとハードウエアモジ
ュールの組み合わせでプログラムを実行することがで
き、情報処理システムの最高の処理能力を発揮すること
が可能となる。
[Effects of Embodiment] As described above, in the first, second, fourth, and fifth embodiments, at least a part of the processing is performed. In an information processing system processed by a programmable logic circuit whose circuit configuration can be reconfigured, in parallel with the execution of an application program by a software module, by configuring a hardware module that performs the same processing as a software module, The program can be executed with the best combination of the software module and the hardware module in consideration of the reconfiguration time of the program logic circuit, and the highest processing capability of the information processing system can be exhibited.

【0295】したがって、従来のように、アプリケーシ
ョンプログラムにおいてソフトウエアモジュールとハー
ドウエアモジュールとで、処理する部分を事前に固定的
に決定する必要が無い。
Therefore, unlike the related art, it is not necessary to fixedly determine in advance the part to be processed by the software module and the hardware module in the application program.

【0296】また、第1の実施の形態、第2の実施の形
態、第3の実施の形態および第4の実施の形態によれ
ば、ネットワーク上の記憶装置にハードウエアモジュー
ルが格納され、処理の途中でネットワーク通信が切断さ
れることがあっても、処理を中断することなく、ソフト
ウエアモジュールにより処理を継続することが可能とな
る。
According to the first embodiment, the second embodiment, the third embodiment, and the fourth embodiment, a hardware module is stored in a storage device on a network. Even if the network communication is disconnected during the process, the processing can be continued by the software module without interrupting the processing.

【0297】同様に、第5の実施の形態によれば、ネッ
トワーク上の記憶装置にソフトウエアモジュールが格納
され、処理の途中でネットワーク通信が切断されること
があっても、処理を中断することなく、ハードウエアモ
ジュールにより処理を継続することが可能となる。
Similarly, according to the fifth embodiment, even if a software module is stored in a storage device on a network and network communication is disconnected during the processing, the processing is interrupted. Instead, the processing can be continued by the hardware module.

【0298】また、第1〜第4のいずれの実施の形態に
おいても、複数のアプリケーションプログラムを実行す
る場合、プログラマブル論理回路にコンフィギュレーシ
ョンされているハードウエアモジュールが識別符号記録
手段800に記録されているので、共通して用いるハー
ドウエアモジュールを重複してコンフィギュレーション
することがなくなり、プログラマブル論理回路の再構成
時間を最小にすることができ、情報処理システムの最高
の処理能力を発揮することが可能となる。
In any of the first to fourth embodiments, when executing a plurality of application programs, the hardware module configured in the programmable logic circuit is recorded in the identification code recording means 800. Eliminates redundant configuration of commonly used hardware modules, minimizing the reconfiguration time of programmable logic circuits, and maximizing the processing power of information processing systems Becomes

【0299】同様に、第5の実施の形態によれば、複数
のアプリケーションプログラムを実行する場合、メイン
メモリに格納されているソフトウエアモジュールが、識
別符号記録手段800に記録されているので、共通して
用いるソフトウエアモジュールを重複して格納すること
がなくなり、メインメモリへのロード時間を最小にする
ことができ、情報処理システムの最高の処理能力を発揮
することが可能となる。
Similarly, according to the fifth embodiment, when executing a plurality of application programs, the software modules stored in the main memory are recorded in the identification code recording means 800. This eliminates the need to redundantly store software modules that are to be used, minimizes the load time to the main memory, and enables the information processing system to exhibit the highest processing capability.

【0300】また、第1の実施の形態、第2の実施の形
態、第4の実施の形態においては、識別符号記録手段8
00に記録されているハードウエアモジュールの使用経
歴に基づいて、アプリケーションプログラムの開始前に
プログラマブル論理回路上にハードウエアモジュールを
構成することができるので、アプリケーションプログラ
ムの実行開始時からからハードウエアモジュールを効率
的に利用することができ、情報処理システムの最高の処
理能力を発揮することが可能となる。
In the first, second, and fourth embodiments, the identification code recording means 8
Since the hardware module can be configured on the programmable logic circuit before the start of the application program based on the history of use of the hardware module recorded in 00, the hardware module can be configured from the start of the execution of the application program. The information processing system can be used efficiently, and the highest processing capability of the information processing system can be exhibited.

【0301】同様に、第5の実施の形態においては、同
様にして、識別符号記録手段800のソフトウエアモジ
ュールの使用経歴に基づいて、アプリケーションプログ
ラムの開始前に主記憶にソフトウエアモジュールを格納
することができるので、アプリケーションプログラムの
実行開始時からからCPUを効率的に利用することがで
き、情報処理システムの最高の処理能力を発揮すること
が可能となる。
Similarly, in the fifth embodiment, similarly, the software module is stored in the main memory before the start of the application program, based on the history of use of the software module of the identification code recording means 800. Therefore, the CPU can be efficiently used from the start of the execution of the application program, and the highest processing capability of the information processing system can be exhibited.

【0302】また、第3の実施の形態の場合には、プロ
グラムを開始する前に、処理を行うモジュールを指示す
ることで、情報処理装置の状態や、ユーザの好みに応じ
た処理を行うことができる。
In the case of the third embodiment, before starting a program, a module to be processed is designated to perform a process according to the state of the information processing apparatus or a user's preference. Can be.

【0303】また、第4の実施の形態の場合には、ロー
カルメモリと、プログラマブル論理回路のコンフィギュ
レーションメモリとの間で、ハードウェアモジュールの
回路情報を通信できるため、ローカルメモリまたはコン
フィギュレーションメモリのいずれかに回路情報が格納
されていれば十分であり、高速転送可能なメモリの容量
を効率的に用いることができる。
Further, in the case of the fourth embodiment, circuit information of a hardware module can be communicated between a local memory and a configuration memory of a programmable logic circuit. It is sufficient if the circuit information is stored in any of them, and the capacity of the memory capable of high-speed transfer can be used efficiently.

【0304】さらに、第4の実施の形態の場合には、コ
ンフィギュレーションメモリ空間と同じ容量でローカル
メモリを複数に分割したメモリ空間を持つことにより、
同時に構成されている回路情報と配線情報を含めた複数
のハードウェアモジュールを単位として一括あるいは部
分的に高速に転送できる。
Further, in the case of the fourth embodiment, by having a memory space in which the local memory is divided into a plurality of parts with the same capacity as the configuration memory space,
A plurality of hardware modules including simultaneously configured circuit information and wiring information can be collectively or partially transferred at high speed in units.

【0305】また、この発明による情報処理システム
は、第5の実施の形態のように、ソフトウエアモジュー
ルによる処理と、ハードウエアモジュールによる処理と
のどちらでも行うことができるので、プログラムを、ソ
フトウエアモジュールの集合としても、ハードウエアモ
ジュールの集合としても記述することができる。
Further, since the information processing system according to the present invention can perform either the processing by the software module or the processing by the hardware module as in the fifth embodiment, the program is It can be described as a set of modules or a set of hardware modules.

【0306】[0306]

【発明の効果】以上説明したように、この発明によれ
ば、少なくとも処理の一部分が回路構成を再構成できる
プログラマブル論理回路で処理される情報処理システム
において、ソフトウエアで処理を実行するか、プログラ
マブル論理回路によるハードウエアで処理を実行するか
を、柔軟に決定することができ、従来のように、アプリ
ケーションプログラムにおいて、ソフトウエアモジュー
ルとハードウエアモジュールとで、処理する部分を事前
に固定的に決定する必要が無い。
As described above, according to the present invention, in an information processing system in which at least a part of processing is processed by a programmable logic circuit whose circuit configuration can be reconfigured, the processing is executed by software, It is possible to flexibly determine whether to execute processing by hardware using a logic circuit, and, as in the past, in an application program, a processing module is fixedly determined in advance by a software module and a hardware module. No need to do.

【0307】また、プログラム論理回路の再構成時間を
考慮した最善のソフトウエアモジュールとハードウエア
モジュールの組み合わせでプログラムを実行することが
でき、情報処理システムの最高の処理能力を発揮するこ
とが可能となる。
Further, the program can be executed by the best combination of the software module and the hardware module in consideration of the reconfiguration time of the program logic circuit, and the highest processing capability of the information processing system can be exhibited. Become.

【0308】また、アプリケーションプログラム中で共
通して用いるハードウエアモジュールやソフトウエアモ
ジュールを重複してコンフィギュレーションすることが
なくなり、プログラマブル論理回路の再構成時間を最小
にすることができ、情報処理システムの最高の処理能力
を発揮することが可能となる。
Also, the configuration of the hardware module and the software module commonly used in the application program is not duplicated, and the reconfiguration time of the programmable logic circuit can be minimized. It is possible to demonstrate the highest processing capacity.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明による情報処理システムの第1の実施
の形態の概念構成を示すブロック図である。
FIG. 1 is a block diagram showing a conceptual configuration of a first embodiment of an information processing system according to the present invention.

【図2】この発明による情報処理システムで用いるアプ
リケーションプログラムの一例を説明するための図であ
る。
FIG. 2 is a diagram for explaining an example of an application program used in the information processing system according to the present invention.

【図3】この発明による情報処理システムの第1の実施
の形態のハードウエア構成例を示す図である。
FIG. 3 is a diagram illustrating a hardware configuration example of a first embodiment of the information processing system according to the present invention;

【図4】プログラマブル論理回路の一例を説明するため
の図である。
FIG. 4 is a diagram illustrating an example of a programmable logic circuit.

【図5】プログラマブル論理回路の一例を説明するため
の図である。
FIG. 5 is a diagram illustrating an example of a programmable logic circuit.

【図6】この発明による情報処理システムの第1の実施
の形態の主要な処理動作を説明するためのフローチャー
トである。
FIG. 6 is a flowchart for explaining main processing operations of the first embodiment of the information processing system according to the present invention.

【図7】この発明による情報処理システムの第1の実施
の形態の処理の具体例(第1の実施例)を説明するため
のフローチャートである。
FIG. 7 is a flowchart illustrating a specific example (first example) of processing of the first embodiment of the information processing system according to the present invention;

【図8】図7の一部の処理ルーチンを説明するためのフ
ローチャートである。
FIG. 8 is a flowchart illustrating a part of the processing routine of FIG. 7;

【図9】図7の一部の処理ルーチンを説明するためのフ
ローチャートである。
FIG. 9 is a flowchart illustrating a part of the processing routine of FIG. 7;

【図10】この発明による情報処理システムの第1の実
施の形態における処理の具体例(第2の実施例)で用い
る処理モジュールの一つを説明のための図である。
FIG. 10 is a diagram for explaining one of processing modules used in a specific example of processing (second example) in the first embodiment of the information processing system according to the present invention;

【図11】第2の実施例で用いるソフトウエアモジュー
ルの一つを説明するための図である。
FIG. 11 is a diagram for explaining one of the software modules used in the second embodiment.

【図12】第2の実施例で用いるハードウエアモジュー
ルの一つを説明するための図である。
FIG. 12 is a diagram for explaining one of the hardware modules used in the second embodiment.

【図13】この発明による情報処理システムの第1の実
施の形態における処理の具体例(第2の実施例)で用い
る処理モジュールの一つを説明のための図である。
FIG. 13 is a diagram for explaining one of processing modules used in a specific example of processing (second example) in the first embodiment of the information processing system according to the present invention;

【図14】第2の実施例で用いるソフトウエアモジュー
ルの一つを説明するための図である。
FIG. 14 is a diagram for explaining one of the software modules used in the second embodiment.

【図15】第2の実施例で用いるハードウエアモジュー
ルの一つを説明するための図である。
FIG. 15 is a diagram for explaining one of the hardware modules used in the second embodiment.

【図16】第2の実施例で用いるソフトウエアモジュー
ルの一つを説明するための図である。
FIG. 16 is a diagram for explaining one of software modules used in the second embodiment.

【図17】第2の実施例で用いるハードウエアモジュー
ルの一つを説明するための図である。
FIG. 17 is a diagram for explaining one of the hardware modules used in the second embodiment.

【図18】第2の実施例で用いるアプリケーションプロ
グラムを説明するための図である。
FIG. 18 is a diagram for describing an application program used in the second embodiment.

【図19】第2の実施例の処理の流れを説明するための
フローチャートである。
FIG. 19 is a flowchart illustrating the flow of a process according to the second embodiment.

【図20】図19のフローチャートの一部のフローチャ
ートである。
FIG. 20 is a flowchart of a part of the flowchart of FIG. 19;

【図21】第2の実施例の処理の流れを説明するための
タイミングチャートである。
FIG. 21 is a timing chart illustrating the flow of a process according to the second embodiment.

【図22】この発明による情報処理システムの第2の実
施の形態の概念構成を示すブロック図である。
FIG. 22 is a block diagram showing a conceptual configuration of a second embodiment of the information processing system according to the present invention.

【図23】第2の実施の形態における処理の具体例(第
3の実施例)の処理の流れを説明するためのフローチャ
ートである。
FIG. 23 is a flowchart for explaining a processing flow of a specific example (third example) of processing according to the second embodiment;

【図24】この発明による情報処理システムの第3の実
施の形態の場合のハードウエア構成例を示す図である。
FIG. 24 is a diagram illustrating an example of a hardware configuration of an information processing system according to a third embodiment of the present invention;

【図25】この発明による情報処理システムの第3の実
施の形態の場合の処理の具体例(第5の実施例)を説明
するための図である。
FIG. 25 is a diagram for explaining a specific example (fifth embodiment) of the processing in the case of the third embodiment of the information processing system according to the present invention;

【図26】この発明による情報処理システムの第4の実
施の形態の概念構成を示すブロック図である。
FIG. 26 is a block diagram showing a conceptual configuration of a fourth embodiment of the information processing system according to the present invention.

【図27】この発明による情報処理システムの第4の実
施の形態の場合のハードウエア構成例を示す図である。
FIG. 27 is a diagram illustrating an example of a hardware configuration of an information processing system according to a fourth embodiment of the present invention;

【図28】この発明による情報処理システムの第4の実
施の形態の場合の処理の具体例(第6の実施例)を説明
するためのフローチャートである。
FIG. 28 is a flowchart for explaining a specific example (sixth example) of processing in the case of a fourth embodiment of the information processing system according to the present invention;

【図29】図28の一部の処理ルーチンのフローチャー
トである。
FIG. 29 is a flowchart of a part of the processing routine of FIG. 28;

【図30】図28の一部の処理ルーチンのフローチャー
トである。
FIG. 30 is a flowchart of a part of the processing routine in FIG. 28;

【図31】第6の実施例の処理の流れを説明するための
タイミングチャートである。
FIG. 31 is a timing chart for explaining a processing flow of the sixth embodiment.

【図32】第6の実施例の説明に供する、プログラマブ
ル論理回路上に形成された回路配置を説明するための図
である。
FIG. 32 is a diagram for explaining the circuit arrangement formed on the programmable logic circuit for explaining the sixth embodiment;

【図33】第6の実施例の説明に供する、ハードウエア
の主要部分を示す図である。
FIG. 33 is a diagram illustrating a main part of hardware for explaining a sixth embodiment;

【図34】この発明による情報処理システムの第5の実
施の形態の概念構成を示すブロック図である。
FIG. 34 is a block diagram showing a conceptual configuration of a fifth embodiment of the information processing system according to the present invention.

【図35】従来の情報処理システムの一つを説明するた
めの図である。
FIG. 35 is a diagram illustrating one conventional information processing system.

【図36】従来の情報処理システムの他の一つを説明す
るための図である。
FIG. 36 is a diagram for explaining another example of the conventional information processing system.

【図37】従来の情報処理システムの、さらに他の一つ
を説明するための図である。
FIG. 37 is a diagram for explaining yet another one of the conventional information processing systems.

【符号の説明】[Explanation of symbols]

10 情報処理システム 11 CPU 12 チップセット 13 メインメモリ 14 バス 15 プログラマブル論理回路インターフェース 16 プログラマブル論理回路 17 ハードディスクインターフェース 18 ハードディスクドライブ 19 通信インターフェース 20 ネットワーク 21 ネットワーク上の記憶装置 60 情報処理システム 61 ディスプレイ 62 ディスプレイインターフェース 63 キー操作部 64 キーインターフェース 70 情報処理システム 71 ローカルメモリ 100 アプリケーションプログラム 160 コンフィギュレーションメモリ 200 情報処理システム内またはネットワーク上の記
憶装置 300 ハードウエアモジュール取得手段 330 ソフトウエアモジュール取得手段 400 プログラマブル論理回路 440 実行プログラム記憶手段 500 CPU 600 実行モジュール決定手段 700 選択条件設定手段 800 識別符号記憶手段 900 ローカルメモリ
Reference Signs List 10 information processing system 11 CPU 12 chipset 13 main memory 14 bus 15 programmable logic circuit interface 16 programmable logic circuit 17 hard disk interface 18 hard disk drive 19 communication interface 20 network 21 storage device on network 60 information processing system 61 display 62 display interface 63 Key operation unit 64 Key interface 70 Information processing system 71 Local memory 100 Application program 160 Configuration memory 200 Storage device in information processing system or on network 300 Hardware module acquisition unit 330 Software module acquisition unit 400 Programmable logic circuit 4 0 execution program storage means 500 CPU 600 executing module determination means 700 selecting condition setting unit 800 identification code storage means 900 local memory

───────────────────────────────────────────────────── フロントページの続き (72)発明者 三宅 弘之 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 (72)発明者 中川 英悟 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hiroyuki Miyake 430 Nakai-cho, Nakai-machi, Ashigara-kami, Kanagawa Prefecture Inside Green Tech Nakai Fuji Xerox Co., Ltd. Inside

Claims (35)

【特許請求の範囲】[Claims] 【請求項1】プログラム言語で処理を記述したソフトウ
エアモジュールからなる処理モジュールの複数個で構成
されるプログラムで記述される一連の処理を実行するも
のであり、かつ、前記一連の処理の一部分が、プログラ
マブル論理回路で処理可能である情報処理システムであ
って、 前記プログラム内のソフトウエアモジュールが行う処理
と同じ処理を、前記プログラマブル論理回路に再構成す
る回路情報で記述したハードウエアモジュールを記憶す
る記憶装置部と、 前記記憶装置部から前記ハードウエアモジュールを入手
して、前記プログラマブル論理回路を再構成するハード
ウエアモジュール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの実行前に決
める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
The present invention executes a series of processes described by a program including a plurality of processing modules each including a software module in which processes are described in a program language, and a part of the series of processes is executed. An information processing system capable of being processed by a programmable logic circuit, wherein a hardware module in which the same processing as that performed by a software module in the program is described by circuit information to be reconfigured in the programmable logic circuit is stored. A storage device unit, a hardware module obtaining unit that obtains the hardware module from the storage device unit and reconfigures the programmable logic circuit, a processing module described in the program, the software module, Run on either of the hardware modules The information processing system characterized in that it comprises, with an execution module determination means for determining prior to execution of the program Luca.
【請求項2】プログラム言語で処理を記述したソフトウ
エアモジュールからなる処理モジュールの複数個で構成
されるプログラムで記述される一連の処理を実行するも
のであり、かつ、前記一連の処理の一部分が、プログラ
マブル論理回路で処理可能である情報処理システムであ
って、 前記プログラム内のソフトウエアモジュールが行う処理
と同じ処理を、前記プログラマブル論理回路に再構成す
る回路情報で記述したハードウエアモジュールを記憶す
る記憶装置部と、 前記記憶装置部から前記ハードウエアモジュールを入手
して、前記プログラマブル論理回路を再構成するハード
ウエアモジュール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの前記処理モ
ジュールの実行時に決める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
2. A program for executing a series of processes described by a program composed of a plurality of processing modules comprising software modules in which processes are described in a programming language, and a part of the series of processes is described. An information processing system capable of being processed by a programmable logic circuit, wherein a hardware module in which the same processing as that performed by a software module in the program is described by circuit information to be reconfigured in the programmable logic circuit is stored. A storage device unit, a hardware module obtaining unit that obtains the hardware module from the storage device unit and reconfigures the programmable logic circuit, a processing module described in the program, the software module, Run on either of the hardware modules The information processing system characterized in that it comprises, with an execution module determination means for determining during execution of the processing module of the program Luca.
【請求項3】処理の一部分が、プログラマブル論理回路
で処理可能であり、前記プログラマブル論理回路に構成
する回路情報で処理を記述したハードウエアモジュール
からなる処理モジュールの複数個で構成されるプログラ
ムで記述される一連の処理を実行する情報処理システム
であって、 前記プログラム内のハードウエアモジュールが行う処理
と同じ処理を、プログラム言語で記述したソフトウエア
モジュールを記憶する記憶装置部と、 前記記憶装置部から前記ソフトウエアモジュールを入手
して、実行プログラム用記憶部に格納するソフトウエア
モジュール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの実行前に決
める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
3. A part of processing can be processed by a programmable logic circuit, and is described by a program including a plurality of processing modules including hardware modules in which processing is described by circuit information included in the programmable logic circuit. An information processing system for executing a series of processes performed by the storage device, the storage device storing a software module in which the same process as a hardware module in the program is described in a program language; Software module obtaining means for acquiring the software module from the storage module and storing the software module in the execution program storage unit; and executing the processing module described in the program by either the software module or the hardware module. Before running the program The information processing system comprising: the Mel execution module determining means.
【請求項4】処理の一部分が、プログラマブル論理回路
で処理可能であり、前記プログラマブル論理回路に構成
する回路情報で処理を記述したハードウエアモジュール
からなる処理モジュールの複数個で構成されるプログラ
ムで記述される一連の処理を実行する情報処理システム
であって、 前記プログラム内のハードウエアモジュールが行う処理
と同じ処理を、プログラム言語で記述したソフトウエア
モジュールを記憶する記憶装置部と、 前記記憶装置部から前記ソフトウエアモジュールを入手
して、実行プログラム用記憶部に格納するソフトウエア
モジュール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの前記処理モ
ジュールの実行時に決める実行モジュール決定手段とを
備えることを特徴とする情報処理システム。
4. A part of the processing can be processed by a programmable logic circuit, and is described by a program including a plurality of processing modules including hardware modules in which processing is described by circuit information included in the programmable logic circuit. An information processing system for executing a series of processes performed by the storage device, the storage device storing a software module in which the same process as a hardware module in the program is described in a program language; Software module obtaining means for acquiring the software module from the storage module and storing the software module in the execution program storage unit; and executing the processing module described in the program by either the software module or the hardware module. The processing of the program The information processing system characterized by comprising an execution module determination means for determining at joule execution.
【請求項5】プログラム言語で処理を記述したソフトウ
エアモジュールからなる処理モジュールの複数個で構成
されるプログラムで記述される一連の処理を実行するも
のであり、かつ、前記一連の処理の一部分が、プログラ
マブル論理回路で処理可能である情報処理システムであ
って、 前記プログラム内のソフトウエアモジュールが行う処理
と同じ処理を、前記プログラマブル論理回路に再構成す
る回路情報で記述したハードウエアモジュールをネット
ワークを通じて入手して、前記プログラマブル論理回路
を再構成するハードウエアモジュール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの実行前に決
める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
5. A program for executing a series of processes described by a program composed of a plurality of processing modules each including a software module in which processes are described in a program language, and a part of the series of processes is executed. An information processing system capable of being processed by a programmable logic circuit, wherein a hardware module described by circuit information to be reconfigured in the programmable logic circuit, the same processing as that performed by a software module in the program, is executed via a network. Hardware module acquisition means for acquiring and reconfiguring the programmable logic circuit; and executing the processing module described in the program by the software module or the hardware module. Execution module to decide before execution The information processing system comprising: the Lumpur determining means.
【請求項6】プログラム言語で処理を記述したソフトウ
エアモジュールからなる処理モジュールの複数個で構成
されるプログラムで記述される一連の処理を実行するも
のであり、かつ、前記一連の処理の一部分が、プログラ
マブル論理回路で処理可能である情報処理システムであ
って、 前記プログラム内のソフトウエアモジュールが行う処理
と同じ処理を、前記プログラマブル論理回路に再構成す
る回路情報で記述したハードウエアモジュールをネット
ワークを通じて入手して、前記プログラマブル論理回路
を再構成するハードウエアモジュール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの前記処理モ
ジュールの実行時に決める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
6. A program for executing a series of processes described by a program composed of a plurality of processing modules including software modules in which processes are described in a program language, and a part of the series of processes is executed. An information processing system capable of being processed by a programmable logic circuit, wherein a hardware module described by circuit information to be reconfigured in the programmable logic circuit, the same processing as that performed by a software module in the program, is executed via a network. Hardware module acquisition means for acquiring and reconfiguring the programmable logic circuit; and executing the processing module described in the program by the software module or the hardware module. Of the processing module The information processing system comprising: the execution module determination means for determining at the.
【請求項7】処理の一部分が、プログラマブル論理回路
で処理可能であり、前記プログラマブル論理回路に構成
する回路情報で処理を記述したハードウエアモジュール
からなる処理モジュールの複数個で構成されるプログラ
ムで記述される一連の処理を実行する情報処理システム
であって、 前記プログラム内のハードウエアモジュールが行う処理
と同じ処理を、プログラム言語で記述したソフトウエア
モジュールをネットワークを通じて入手して、実行プロ
グラム用記憶部に格納するソフトウエアモジュール取得
手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの実行前に決
める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
7. A part of the processing can be processed by a programmable logic circuit, and is described by a program configured by a plurality of processing modules including hardware modules in which processing is described by circuit information included in the programmable logic circuit. An information processing system for executing a series of processes performed by a software module described in a program language, which is the same as the process performed by a hardware module in the program, via a network, Software module obtaining means for storing the processing module described in the program, and execution module determining means for determining which of the software module and the hardware module to execute the processing module described in the program before executing the program. It is characterized by having An information processing system to be.
【請求項8】処理の一部分が、プログラマブル論理回路
で処理可能であり、前記プログラマブル論理回路に構成
する回路情報で処理を記述したハードウエアモジュール
からなる処理モジュールの複数個で構成されるプログラ
ムで記述される一連の処理を実行する情報処理システム
であって、 前記プログラム内のハードウエアモジュールが行う処理
と同じ処理を、プログラム言語で記述したソフトウエア
モジュールをネットワークを通じて入手して、実行プロ
グラム用記憶部に格納するソフトウエアモジュール取得
手段と、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、前記プログラムの前記処理モ
ジュールの実行時に決める実行モジュール決定手段と、 を備えることを特徴とする情報処理システム。
8. A part of the processing can be processed by a programmable logic circuit, and is described by a program including a plurality of processing modules including hardware modules in which processing is described by circuit information included in the programmable logic circuit. An information processing system for executing a series of processes performed by a software module described in a program language, which is the same as the process performed by a hardware module in the program, via a network, A software module obtaining means to be stored in a storage module, and an execution module for determining whether to execute the processing module described in the program by the software module or the hardware module when the processing module of the program is executed Decision means The information processing system comprising: a.
【請求項9】請求項1、請求項2、請求項5または請求
項6に記載の情報処理システムにおいて、 前記ソフトウエアモジュールが行う処理と同じ処理を行
うハードウエアモジュールを示す識別符号が、プログラ
ム内に記述されており、 前記ハードウエアモジュール取得手段は、前記識別符号
に対応するハードウエアモジュールを入手して、前記プ
ログラマブル論理回路を再構成することを特徴とする情
報処理システム。
9. The information processing system according to claim 1, wherein the identification code indicating a hardware module that performs the same processing as the processing performed by the software module is a program. Wherein the hardware module obtaining means obtains a hardware module corresponding to the identification code and reconfigures the programmable logic circuit.
【請求項10】請求項3、請求項4、請求項7または請
求項8に記載の情報処理システムにおいて、 前記ハードウエアモジュールが行う処理と同じ処理を行
うソフトウエアモジュールを示す識別符号が、プログラ
ム内に記述されており、 前記ソフトウエアモジュール取得手段は、前記識別符号
に対応するソフトウエアモジュールを入手して、前記実
行プログラム用記憶部に格納することを特徴とする情報
処理システム。
10. The information processing system according to claim 3, wherein the identification code indicating a software module that performs the same processing as the processing performed by the hardware module is a program. Wherein the software module obtaining means obtains a software module corresponding to the identification code and stores the software module in the execution program storage unit.
【請求項11】請求項9に記載の情報処理システムにお
いて、 前記プログラマブル論理回路に再構成されているハード
ウエアモジュールの識別符号を記録する識別符号記録手
段を備え、 前記ハードウエアモジュール取得手段は、前記プログラ
ムに記述されているハードウエアモジュールの識別符号
のうち、前記識別符号記録手段に記録されていない識別
符号に対応するハードウエアモジュールを入手して、前
記プログラマブル論理回路を再構成することを特徴とす
る情報処理システム。
11. The information processing system according to claim 9, further comprising: identification code recording means for recording an identification code of a hardware module reconfigured in said programmable logic circuit; Among the identification codes of the hardware modules described in the program, a hardware module corresponding to an identification code not recorded in the identification code recording means is obtained, and the programmable logic circuit is reconfigured. Information processing system.
【請求項12】請求項10に記載の情報処理システムに
おいて、 前記実行プログラム用記憶部に格納されているソフトウ
エアモジュールの識別符号を記録する識別符号記録手段
を備え、 前記ソフトウエアモジュール取得手段は、前記プログラ
ムに記述されているソフトウエアモジュールの識別符号
のうち、前記識別符号記録手段に記録されていない識別
符号に対応するソフトウエアモジュールを入手して、前
記実行プログラム用記憶部に格納することを特徴とする
情報処理システム。
12. The information processing system according to claim 10, further comprising: an identification code recording unit that records an identification code of a software module stored in the execution program storage unit; Obtaining a software module corresponding to an identification code not recorded in the identification code recording means among the identification codes of the software modules described in the program, and storing the software module in the execution program storage unit. An information processing system characterized by the following.
【請求項13】請求項9に記載の情報処理システムにお
いて、 前記プログラマブル論理回路に再構成されたハードウエ
アモジュールの識別符号を記録する識別符号記録手段を
備え、 前記ハードウエアモジュール取得手段は、前記識別符号
記録手段に記録されている識別符号に対応する、少なく
とも一つ以上のハードウエアモジュールを、プログラム
の実行前に入手して、前記プログラマブル論理回路を再
構成することを特徴とする情報処理システム。
13. The information processing system according to claim 9, further comprising: identification code recording means for recording an identification code of a hardware module reconfigured in said programmable logic circuit; An information processing system comprising: acquiring at least one or more hardware modules corresponding to an identification code recorded in an identification code recording unit before executing a program, and reconfiguring the programmable logic circuit. .
【請求項14】請求項10に記載の情報処理システムに
おいて、 前記実行プログラム用記憶部に格納されたソフトウエア
モジュールの識別符号を記録する識別符号記録手段を備
え、 前記ソフトウエアモジュール取得手段は、前記識別符号
記録手段に記録されている識別符号に対応する、少なく
とも一つ以上のソフトウエアモジュールを、プログラム
の実行前に入手して、前記実行プログラム用記憶部に格
納することを特徴とする情報処理システム。
14. The information processing system according to claim 10, further comprising: an identification code recording unit that records an identification code of a software module stored in the execution program storage unit; At least one or more software modules corresponding to the identification code recorded in the identification code recording means are obtained before execution of a program, and stored in the execution program storage unit. Processing system.
【請求項15】請求項1〜請求項14のいずれかに記載
の情報処理システムにおいて、 前記実行モジュール決定手段は、 予め設定された実行モジュール選択条件を参照して、前
記プログラムで記述された処理モジュールを、前記ソフ
トウエアモジュールと前記ハードウエアモジュールのど
ちらで実行するかを決定することを特徴とする情報処理
システム。
15. The information processing system according to claim 1, wherein the execution module determining unit refers to a preset execution module selection condition and executes a process described in the program. An information processing system, which determines whether a module is executed by the software module or the hardware module.
【請求項16】請求項2、請求項4、請求項6または請
求項8に記載の情報処理システムにおいて、 前記実行モジュール決定手段は、 前記処理モジュールの実行時に、前記実行モジュール選
択条件として、当該実行する処理のハードウエアモジュ
ールの前記プログラマブル論理回路への再構成が終了し
ているか否かを判別し、前記再構成が終了しているとき
には、前記処理をハードウエアモジュールにより再構成
されたプログラマブル論理回路で実行するように決定す
ることを特徴とする情報処理システム。
16. The information processing system according to claim 2, 4, 6, or 8, wherein the execution module determining unit determines the execution module selection condition as the execution module selection condition when the processing module is executed. It is determined whether or not the reconfiguration of the hardware module of the processing to be performed into the programmable logic circuit has been completed. When the reconfiguration has been completed, the programmable logic reconfigured by the hardware module is executed. An information processing system characterized in that it is determined to be executed by a circuit.
【請求項17】請求項2、請求項4、請求項6または請
求項8に記載の情報処理システムにおいて、 前記プログラムの実行処理と並行してハードウエアモジ
ュールによるプログラマブル論理回路の再構成を行い、 前記処理モジュールの実行時に、当該実行する処理のハ
ードウエアモジュールの前記プログラマブル論理回路へ
の再構成が終了しているか否かを判別し、前記再構成が
終了しているときには、前記処理をハードウエアモジュ
ールにより再構成されたプログラマブル論理回路で実行
するように決定することを特徴とする情報処理システ
ム。
17. The information processing system according to claim 2, wherein the reconfigurable logic circuit is configured by a hardware module in parallel with the execution of the program. At the time of execution of the processing module, it is determined whether or not reconfiguration of the hardware module of the processing to be executed into the programmable logic circuit has been completed, and when the reconfiguration has been completed, the processing is performed by hardware. An information processing system, which is determined to be executed by a programmable logic circuit reconfigured by a module.
【請求項18】請求項2、請求項4、請求項6または請
求項8に記載の情報処理システムにおいて、 前記ハードウエアモジュールを示す識別符号が、プログ
ラム内に記述されているとともに、前記プログラマブル
論理回路に再構成されている前記ハードウエアモジュー
ルの識別符号を記録する識別符号記録手段を備え、 前記実行モジュール選択手段は、 前記処理モジュールの実行時に、前記識別符号記録手段
を参照して、前記識別符号記録手段に、実行しようとす
る処理のハードウエアモジュールの識別符号が記録され
ているときには、当該ハードウエアモジュールの再構成
は終了しているとして、前記処理をハードウエアモジュ
ールにより再構成されたプログラマブル論理回路で実行
するように決定することを特徴とする情報処理システ
ム。
18. The information processing system according to claim 2, wherein the identification code indicating the hardware module is described in a program and the programmable logic is An identification code recording unit for recording an identification code of the hardware module reconfigured in a circuit, wherein the execution module selecting unit refers to the identification code recording unit when executing the processing module, and performs the identification. When the identification code of the hardware module of the process to be executed is recorded in the code recording unit, it is determined that the reconfiguration of the hardware module has been completed, and that the process is reconfigured by the hardware module. An information processing system characterized in that it is determined to be executed by a logic circuit. .
【請求項19】請求項1、請求項2、請求項5または請
求項6に記載の情報処理システムにおいて、 前記ソフトウエアモジュールが行う処理と同じ処理を行
うハードウエアモジュールを示す識別符号が、プログラ
ム内に記述されており、 前記プログラマブル論理回路に再構成されたハードウエ
アモジュールの識別符号を記録する識別符号記録手段を
設けるとともに、 前記ハードウエアモジュールの回路情報を一時記憶する
ローカルメモリを、前記プログラマブル論理回路のコン
フィギュレーションメモリと直接的なデータの通信が可
能な位置に設け、 前記ハードウエアモジュール取得手段は、 前記プログラム内の識別符号に基づいて前記ハードウエ
アモジュールを入手して前記プログラマブル論理回路に
再構成するものであり、かつ、前記入手した前記ハード
ウエアモジュールの回路情報を前記ローカルメモリにも
転送して記憶させることを特徴とする情報処理システ
ム。
19. The information processing system according to claim 1, wherein the identification code indicating a hardware module that performs the same processing as the processing performed by the software module is a program. And an identification code recording means for recording an identification code of a reconfigured hardware module in the programmable logic circuit, and a local memory for temporarily storing circuit information of the hardware module, Provided at a position where data can be directly communicated with the configuration memory of the logic circuit, wherein the hardware module obtaining means obtains the hardware module based on an identification code in the program and sends the hardware module to the programmable logic circuit. To reconfigure and before The information processing system characterized in that for storing circuit information of the hardware module was obtained also transferred to the local memory.
【請求項20】請求項3、請求項4、請求項7または請
求項8に記載の情報処理システムにおいて、 前記ハードウエアモジュールを示す識別符号が、プログ
ラム内に記述されており、 前記プログラマブル論理回路に再構成されたハードウエ
アモジュールの識別符号を記録する識別符号記録手段を
設けるとともに、 前記ハードウエアモジュールの回路情報を一時記憶する
ローカルメモリを、前記プログラマブル論理回路のコン
フィギュレーションメモリと直接的なデータの通信が可
能な位置に設け、 前記プログラム内の識別符号に対応する前記ハードウエ
アモジュールの回路情報を、前記記憶装置あるいはネッ
トワークから取得して、前記プログラマブル論理回路に
再構成するとともに、前記ローカルメモリにも転送して
記憶することを特徴とする情報処理システム。
20. The information processing system according to claim 3, wherein an identification code indicating the hardware module is described in a program, and the programmable logic circuit An identification code recording means for recording an identification code of a reconfigured hardware module is provided, and a local memory for temporarily storing circuit information of the hardware module is directly stored in a configuration memory of the programmable logic circuit. The circuit information of the hardware module corresponding to the identification code in the program is obtained from the storage device or a network, and reconfigured into the programmable logic circuit, and the local memory is provided. The feature is that it is also transferred and stored Information processing system.
【請求項21】請求項19または請求項20に記載の情
報処理システムにおいて、 前記プログラムの実行前に、前記識別符号記録手段の識
別符号を参照して、前記ローカルメモリのハードウエア
モジュールの回路情報を検索し、前記ローカルメモリに
存在する少なくとも一つ以上の前記ハードウエアモジュ
ールの回路情報を、前記ローカルメモリから前記プログ
ラマブル論理回路に再構成することを特徴とする情報処
理システム。
21. The information processing system according to claim 19, wherein before execution of said program, circuit information of a hardware module of said local memory is referred to by referring to an identification code of said identification code recording means. And reconfiguring circuit information of at least one hardware module existing in the local memory from the local memory into the programmable logic circuit.
【請求項22】請求項19または請求項20に記載の情
報処理システムにおいて、 前記識別符号記録手段に記録された前記ハードウエアモ
ジュールの使用履歴に基づいて、前記ハードウエアモジ
ュールの回路情報を、前記プログラマブル論理回路のコ
ンフィギュレーションメモリから前記ローカルメモリに
転送して記憶するようにしたことを特徴とする情報処理
システム。
22. The information processing system according to claim 19, wherein the circuit information of the hardware module is stored based on a use history of the hardware module recorded in the identification code recording unit. An information processing system wherein data is transferred from a configuration memory of a programmable logic circuit to the local memory and stored.
【請求項23】請求項19〜請求項22のいずれかに記
載の情報処理システムにおいて、 前記プログラマブル論理回路内のコンフィギュレーショ
ンメモリの全領域と同等な記憶容量を単位として、前記
ローカルメモリのメモリ空間を複数の単位に分割して構
成し、 前記分割されたメモリ空間の単位によって、前記コンフ
ィギュレーションメモリと前記ローカルメモリとの間
で、前記ハードウエアモジュールの回路情報を通信する
ことを特徴とする情報処理システム。
23. The information processing system according to claim 19, wherein a memory space of the local memory is set in units of a storage capacity equivalent to an entire area of a configuration memory in the programmable logic circuit. Is divided into a plurality of units, and the circuit information of the hardware module is communicated between the configuration memory and the local memory according to the divided memory space unit. Processing system.
【請求項24】請求項19〜請求項23のいずれかに記
載の情報処理システムにおいて、 前記ハードウエアモジュールの複数個と、それらの配線
情報とによって前記プログラマブル論理回路に同時に構
成される機能回路を一つの回路情報とし、 前記コンフィギュレーションメモリ、または、前記分割
されたローカルメモリの任意のメモリ空間に対応して前
記ハードウエアモジュールの回路情報を記憶することを
特徴とする情報処理システム。
24. The information processing system according to claim 19, wherein a functional circuit simultaneously configured in the programmable logic circuit by a plurality of the hardware modules and their wiring information. An information processing system, wherein the circuit information of the hardware module is stored as one piece of circuit information corresponding to an arbitrary memory space of the configuration memory or the divided local memory.
【請求項25】請求項19〜請求項23のいずれかに記
載の情報処理システムにおいて、 使用された前記ハードウエアモジュールの識別符号を記
録する識別符号記録手段を設け、 前記コンフィギュレーションメモリまたは前記分割され
たローカルメモリの任意のメモリ空間に格納されている
前記ハードウエアモジュールの情報を、前記識別符号に
よって、前記識別符号記録手段に記録しておくことを特
徴とする情報処理システム。
25. The information processing system according to claim 19, further comprising: an identification code recording unit for recording an identification code of the used hardware module, wherein the configuration memory or the division memory is used. An information processing system, wherein information of the hardware module stored in an arbitrary memory space of a specified local memory is recorded in the identification code recording means by the identification code.
【請求項26】プログラム言語で処理を記述したソフト
ウエアモジュールからなる処理モジュールの複数個で構
成されるプログラムで記述される一連の処理を実行する
ものであり、かつ、前記一連の処理の一部分が、プログ
ラマブル論理回路で処理可能である情報処理方法であっ
て、 前記プログラム内のソフトウエアモジュールが行う処理
と同じ処理を、前記プログラマブル論理回路に再構成す
る回路情報で記述したハードウエアモジュールを用意し
ておき、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、予め設定された実行モジュー
ル選択条件に基づいて、前記プログラムの実行前または
前記プログラムの実行時に決めるようにすることを特徴
とする情報処理方法。
26. A program for executing a series of processes described by a program composed of a plurality of processing modules including software modules in which processes are described in a program language, and a part of the series of processes is described. An information processing method capable of being processed by a programmable logic circuit, comprising preparing a hardware module in which the same processing as that performed by a software module in the program is described by circuit information to be reconfigured in the programmable logic circuit. The processing module described in the program may be executed by the software module or the hardware module, based on a preset execution module selection condition. The feature is that it is decided when the program is executed. Information processing method that.
【請求項27】前記ハードウエアモジュールは、ネット
ワークを通じて入手することを特徴とする請求項26に
記載の情報処理方法。
27. The information processing method according to claim 26, wherein said hardware module is obtained through a network.
【請求項28】処理の一部分が、プログラマブル論理回
路で処理可能であり、前記プログラマブル論理回路に構
成する回路情報で処理を記述したハードウエアモジュー
ルからなる処理モジュールの複数個で構成されるプログ
ラムで記述される一連の処理を実行する情報処理方法で
あって、 前記プログラム内の前記ハードウエアモジュールが行う
処理と同じ処理を、プログラム言語で記述したソフトウ
エアモジュールを用意しておき、 前記プログラムに記述された処理モジュールを、前記ソ
フトウエアモジュールと、前記ハードウエアモジュール
のどちらで実行するかを、予め設定された実行モジュー
ル選択条件に基づいて、前記プログラムの実行前または
前記プログラムの実行時に決めるようにすることを特徴
とする情報処理方法。
28. A part of the processing can be processed by a programmable logic circuit, and is described by a program including a plurality of processing modules including hardware modules in which the processing is described by circuit information included in the programmable logic circuit. An information processing method for executing a series of processes performed by a software module in which the same process as that performed by the hardware module in the program is described in a program language, and is described in the program. The execution of the processing module by the software module or the hardware module is determined based on a preset execution module selection condition before or at the time of execution of the program. An information processing method, comprising:
【請求項29】前記ソフトウエアモジュールは、ネット
ワークを通じて入手することを特徴とする請求項28に
記載の情報処理方法。
29. The information processing method according to claim 28, wherein said software module is obtained through a network.
【請求項30】請求項26または請求項27に記載の情
報処理方法において、 前記ソフトウエアモジュールが行う処理と同じ処理を行
う前記ハードウエアモジュールを示す識別符号が、前記
プログラム内に記述されており、 前記識別符号に対応する前記ハードウエアモジュールを
入手して、前記プログラマブル論理回路を再構成するこ
とを特徴とする情報処理方法。
30. The information processing method according to claim 26, wherein an identification code indicating the hardware module performing the same processing as the processing performed by the software module is described in the program. An information processing method comprising: obtaining the hardware module corresponding to the identification code; and reconfiguring the programmable logic circuit.
【請求項31】請求項28または請求項29に記載の情
報処理方法において、 前記ハードウエアモジュールが行う処理と同じ処理を行
うソフトウエアモジュールを示す識別符号が、プログラ
ム内に記述されており、 前記識別符号に対応するソフトウエアモジュールを入手
して、実行プログラム用記憶部に格納することを特徴と
する情報処理方法。
31. The information processing method according to claim 28, wherein an identification code indicating a software module performing the same processing as that performed by the hardware module is described in a program. An information processing method comprising: obtaining a software module corresponding to an identification code; and storing the software module in an execution program storage unit.
【請求項32】請求項30に記載の情報処理方法におい
て、 前記ソフトウエアモジュールが行う処理と同じ処理を行
う前記ハードウエアモジュールを示す識別符号が、前記
プログラム内に記述されているとともに、 前記プログラマブル論理回路に再構成されている前記ハ
ードウエアモジュールの識別符号を識別符号記憶部に記
憶しておき、 前記プログラムに記述されている前記ハードウエアモジ
ュールの識別符号のうち、前記識別符号記憶部に記録さ
れていない識別符号に対応する前記ハードウエアモジュ
ールを入手して、前記プログラマブル論理回路を再構成
することを特徴とする情報処理方法。
32. The information processing method according to claim 30, wherein an identification code indicating the hardware module performing the same processing as the processing performed by the software module is described in the program, and The identification code of the hardware module reconfigured in the logic circuit is stored in the identification code storage unit, and the identification code of the hardware module described in the program is recorded in the identification code storage unit. An information processing method comprising: obtaining the hardware module corresponding to an identification code that is not performed; and reconfiguring the programmable logic circuit.
【請求項33】請求項31に記載の情報処理方法におい
て、 前記ハードウエアモジュールが行う処理と同じ処理を行
う前記ソフトウエアモジュールを示す識別符号が、前記
プログラム内に記述されているとともに、 前記実行プログラム用記憶部に記憶されている前記ソフ
トウエアモジュールの識別符号を識別符号記憶部に記憶
しておき、 前記プログラムに記述されている前記ソフトウエアモジ
ュールの識別符号のうち、前記識別符号記憶部に記録さ
れていない識別符号に対応する前記ソフトウエアモジュ
ールを入手して、前記プログラマブル論理回路を再構成
することを特徴とする情報処理方法。
33. The information processing method according to claim 31, wherein an identification code indicating the software module performing the same processing as that performed by the hardware module is described in the program, and The identification code of the software module stored in the program storage unit is stored in the identification code storage unit, and among the identification codes of the software module described in the program, the identification code is stored in the identification code storage unit. An information processing method comprising: obtaining the software module corresponding to an identification code that is not recorded; and reconfiguring the programmable logic circuit.
【請求項34】請求項30に記載の情報処理方法におい
て、 前記プログラマブル論理回路に再構成された前記ハード
ウエアモジュールの識別符号を記録しておき、 前記記録されている識別符号に対応する、少なくとも一
つ以上の前記ハードウエアモジュールを、前記プログラ
ムの実行前に入手して、前記プログラマブル論理回路を
再構成することを特徴とする情報処理方法。
34. The information processing method according to claim 30, wherein an identification code of the reconfigured hardware module is recorded in the programmable logic circuit, and at least the identification code corresponding to the recorded identification code is recorded. An information processing method comprising: acquiring one or more hardware modules before executing the program; and reconfiguring the programmable logic circuit.
【請求項35】請求項31に記載の情報処理方法におい
て、 前記実行プログラム用記憶部に格納された前記ソフトウ
エアモジュールの識別符号を識別符号記録部に記録して
おき、 前記識別符号記録手段に記録されている識別符号に対応
する、少なくとも一つ以上の前記ソフトウエアモジュー
ルを、前記プログラムの実行前に入手して、前記実行プ
ログラム用記憶部に格納することを特徴とする情報処理
方法。
35. The information processing method according to claim 31, wherein an identification code of the software module stored in the execution program storage unit is recorded in an identification code recording unit, and the identification code recording unit stores the identification code in the identification code recording unit. An information processing method comprising: acquiring at least one or more software modules corresponding to a recorded identification code before executing the program and storing the software module in the execution program storage unit.
JP02966998A 1998-02-12 1998-02-12 Information processing system and information processing method Expired - Fee Related JP4212676B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02966998A JP4212676B2 (en) 1998-02-12 1998-02-12 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02966998A JP4212676B2 (en) 1998-02-12 1998-02-12 Information processing system and information processing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006000413A Division JP3877002B2 (en) 2006-01-05 2006-01-05 Information processing system and information processing method

Publications (2)

Publication Number Publication Date
JPH11232081A true JPH11232081A (en) 1999-08-27
JP4212676B2 JP4212676B2 (en) 2009-01-21

Family

ID=12282531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02966998A Expired - Fee Related JP4212676B2 (en) 1998-02-12 1998-02-12 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP4212676B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293561A (en) * 2004-03-09 2005-10-20 Seiko Epson Corp Information processing system, information processing apparatus and management server, information processing system control program, information processing apparatus control program and management server control program, information processing method, information processing system control method, and information processing apparatus control method and management server control method
JP2007102651A (en) * 2005-10-07 2007-04-19 Hitachi High-Technologies Corp Data processing system
WO2007074583A1 (en) * 2005-12-27 2007-07-05 Matsushita Electric Industrial Co., Ltd. Processor having a reconstitutable functional unit
JP2007305115A (en) * 2006-04-14 2007-11-22 Matsushita Electric Ind Co Ltd Design support system, design support method, and design support program
JP2008027048A (en) * 2006-07-19 2008-02-07 I L C:Kk Information processing apparatus, verification method and program for allowing computer to execute the method
US7424595B2 (en) 2000-06-06 2008-09-09 Tadahiro Ohmi System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit
WO2009022418A1 (en) * 2007-08-15 2009-02-19 Fujitsu Limited Dynamic reconstruction program, recording medium recoding the program, dynamic reconstructor, and method of dynamic reconstruction
JP2011028333A (en) * 2009-07-21 2011-02-10 Fuji Xerox Co Ltd Circuit information generation device, function execution system and program
JP2011175339A (en) * 2010-02-23 2011-09-08 Nec Corp Migration method
US8091064B2 (en) 2006-04-14 2012-01-03 Panasonic Corporation Supporting system, design supporting method, and computer-readable recording medium recorded with design supporting program
JP2012252712A (en) * 1998-11-20 2012-12-20 Altera Corp Reconfigurable programmable logic device computer system
JP2013050953A (en) * 2011-08-30 2013-03-14 Samsung Electronics Co Ltd System on chip, method for operating the system on chip, and portable device
JP2018124605A (en) * 2017-01-30 2018-08-09 オムロン株式会社 Image processing system, information processing apparatus, information processing method, and information processing program
JP2018526714A (en) * 2016-01-12 2018-09-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 CNN processing method and device
JP2019079175A (en) * 2017-10-23 2019-05-23 日本電気株式会社 Information processing system and control method by information processing system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252712A (en) * 1998-11-20 2012-12-20 Altera Corp Reconfigurable programmable logic device computer system
US7424595B2 (en) 2000-06-06 2008-09-09 Tadahiro Ohmi System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit
JP2005293561A (en) * 2004-03-09 2005-10-20 Seiko Epson Corp Information processing system, information processing apparatus and management server, information processing system control program, information processing apparatus control program and management server control program, information processing method, information processing system control method, and information processing apparatus control method and management server control method
JP2007102651A (en) * 2005-10-07 2007-04-19 Hitachi High-Technologies Corp Data processing system
WO2007074583A1 (en) * 2005-12-27 2007-07-05 Matsushita Electric Industrial Co., Ltd. Processor having a reconstitutable functional unit
US8091064B2 (en) 2006-04-14 2012-01-03 Panasonic Corporation Supporting system, design supporting method, and computer-readable recording medium recorded with design supporting program
JP2007305115A (en) * 2006-04-14 2007-11-22 Matsushita Electric Ind Co Ltd Design support system, design support method, and design support program
JP2008027048A (en) * 2006-07-19 2008-02-07 I L C:Kk Information processing apparatus, verification method and program for allowing computer to execute the method
US8250501B2 (en) 2007-08-15 2012-08-21 Fujitsu Limited Dynamic reconfiguration computer product, apparatus, and method
JP5035344B2 (en) * 2007-08-15 2012-09-26 富士通株式会社 Dynamic reconfiguration program, recording medium storing the program, dynamic reconfiguration apparatus, and dynamic reconfiguration method
WO2009022418A1 (en) * 2007-08-15 2009-02-19 Fujitsu Limited Dynamic reconstruction program, recording medium recoding the program, dynamic reconstructor, and method of dynamic reconstruction
JP2011028333A (en) * 2009-07-21 2011-02-10 Fuji Xerox Co Ltd Circuit information generation device, function execution system and program
JP2011175339A (en) * 2010-02-23 2011-09-08 Nec Corp Migration method
JP2013050953A (en) * 2011-08-30 2013-03-14 Samsung Electronics Co Ltd System on chip, method for operating the system on chip, and portable device
JP2018526714A (en) * 2016-01-12 2018-09-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 CNN processing method and device
JP2018124605A (en) * 2017-01-30 2018-08-09 オムロン株式会社 Image processing system, information processing apparatus, information processing method, and information processing program
JP2019079175A (en) * 2017-10-23 2019-05-23 日本電気株式会社 Information processing system and control method by information processing system

Also Published As

Publication number Publication date
JP4212676B2 (en) 2009-01-21

Similar Documents

Publication Publication Date Title
JPH11232081A (en) Information processing system and method
JP4833303B2 (en) Sequence conversion in behavioral synthesis tools
DE19614991C2 (en) Dynamically reconfigurable processing unit, system for dynamically reconfigurable control, system for coupling processors, methods for generating instructions, methods for dynamic reconfigurable computing, dynamically reconfigurable computers and methods for data processing
JP6122121B2 (en) Method and system for power management in pattern recognition processing
EP2891053B1 (en) Results generation for state machine engines
JP3877002B2 (en) Information processing system and information processing method
US11907828B2 (en) Deep neural network on field-programmable gate array
JP2009524854A (en) Method and system for digital data processing
US11947979B2 (en) Systems and devices for accessing a state machine
JP2000252814A (en) Information processing system
Gribbon et al. Design patterns for image processing algorithm development on fpgas
JPH11232079A (en) Information processing system
JP3738802B2 (en) Information processing system
JP4051974B2 (en) Image processing apparatus and image processing method
JP3747985B2 (en) Information processing system
JP3675255B2 (en) Information processing device
JP3942528B2 (en) Image processing apparatus, image processing method, program, and recording medium
CN112379868B (en) Programming method for network data packet processing based on reconfigurable chip
US8395630B2 (en) Format conversion apparatus from band interleave format to band separate format
JP4646854B2 (en) Control information supply device
Lehn Framework for a Context-Switching Run-Time Reconfigurable System
US6985624B2 (en) Image processing apparatus and its method
JP2004102988A (en) Data processor
JP2004015741A (en) Image processing method, image processing program, and image processing apparatus
CN112580285A (en) Embedded server subsystem and configuration method thereof

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20060222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081003

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees