JP2000252814A - Information processing system - Google Patents

Information processing system

Info

Publication number
JP2000252814A
JP2000252814A JP11054137A JP5413799A JP2000252814A JP 2000252814 A JP2000252814 A JP 2000252814A JP 11054137 A JP11054137 A JP 11054137A JP 5413799 A JP5413799 A JP 5413799A JP 2000252814 A JP2000252814 A JP 2000252814A
Authority
JP
Japan
Prior art keywords
hardware
module
processing
logic circuit
programmable logic
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
JP11054137A
Other languages
Japanese (ja)
Other versions
JP3684901B2 (en
Inventor
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 JP05413799A priority Critical patent/JP3684901B2/en
Publication of JP2000252814A publication Critical patent/JP2000252814A/en
Application granted granted Critical
Publication of JP3684901B2 publication Critical patent/JP3684901B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce overhead due to reconfiguration and to shorten the information processing time by preparing plural hardware modules and preferentially taking out a hardware module in a shape which matches the hardware constitutable region of the programmable logic circuit. SOLUTION: A hardware module acquiring means 300 obtains a hardware module to perform the same process with a software module from a storage device 200, by using the identification code described in the header part of an application program 100. Then the module acquiring means 300 reconfigures a circuit, having actualized the obtained hardware module on the programmable logic circuit 16. Then an execution module determining means 600 determines which module of hardware by the programmable logic circuit 16 and software by a CPU11 processing is to be used to perform the processing for each processing module and performs the processing.

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 including a programmable logic circuit capable of reconfiguring a desired logic in accordance with circuit information describing a logic circuit, and more particularly to a plurality of processes described in a programming language. The present invention relates to an information processing system of a type in which at least a part of a series of processes configured by modules is replaced with a hardware circuit reconfigured on a partially rewritable programmable logic circuit and executed.

【0002】更に詳しくは、本発明は、各処理モジュー
ルをソフトウェア・モジュール又はハードウェア・モジ
ュールのいずれで実行すべきかを決定して処理するタイ
プの情報処理システムに係り、プログラム論理回路の再
構成によるオーバーヘッドを減少して処理モジュール全
体の処理時間を短縮化する情報処理システムに関する。
More specifically, the present invention relates to an information processing system of a type in which each processing module is determined to be executed by a software module or a hardware module and is processed, by reconfiguring a program logic circuit. The present invention relates to an information processing system that reduces overhead and reduces the processing time of the entire processing module.

【0003】[0003]

【従来の技術】昨今の技術革新に伴い、各種の情報処理
機器が研究・開発され、広汎に普及してきている。情報
処理機器は、一般に、高度な半導体技術によって集積化
された半導体回路コンポーネント(LSI:Large
Scale Integration)を数多含んで
構成される。LSIの一部には、特定の用途のために最
適設計されたカスタムIC、すなわちASIC(App
lication Specific Integra
ted Circuit)技術が採用されている。
2. Description of the Related Art With the recent technological innovation, various information processing devices have been researched and developed, and have been widely used. Generally, information processing equipment is a semiconductor circuit component (LSI: Large) integrated by advanced semiconductor technology.
Scale Integration). Some LSIs include custom ICs optimally designed for specific applications, that is, ASICs (Apps).
ligation Specific Integra
ted Circuit) technology.

【0004】最近のASIC分野では、製品の開発期間
を更に短縮化するために、フィールド・プログラマブル
・ゲートアレイ(FPGA:Field Progra
mmable Gate Array)や、プログラマ
ブル・ロジック・デバイス(PLD:Programm
able Logic Device)、CPLD(C
omplex Programmable Logic
Device)などの、プログラマブル論理回路装置
が広く使われ始めている。
In the recent ASIC field, a field programmable gate array (FPGA: Field Program) has been developed in order to further shorten the product development period.
mmable Gate Array) or a programmable logic device (PLD: Programmable Logic Device)
Able Logic Device), CPLD (C
omple Programmable Logic
Devices, such as programmable logic circuit devices, have begun to be widely used.

【0005】この種のプログラマブル論理回路装置は、
論理回路を記述する回路情報を該論理回路装置内に読み
込ませることで、内部の論理回路と論理回路間の結線を
自由に構成することができる。これによって、従来は回
路設計の終了後に数週間から数か月を必要とした集積回
路の作製時間を短縮することができる。特に、米国特許
第4,700,187号明細書に開示されているプログ
ラマブル論理装置は、電気的に再構成が可能な構成であ
り、一度作製した回路を必要に応じて自由に何度でも変
更する、すなわち回路を再構成できるという利点があ
り、ますます広く使われるようになってきている。
[0005] This type of programmable logic circuit device is
By reading circuit information describing a logic circuit into the logic circuit device, the connection between the internal logic circuits and the logic circuits can be freely configured. As a result, it is possible to shorten the time required to manufacture an integrated circuit, which conventionally required several weeks to several months after the completion of circuit design. In particular, the programmable logic device disclosed in U.S. Pat. No. 4,700,187 has an electrically reconfigurable configuration, and a circuit once manufactured can be freely changed as necessary. Has the advantage of being able to reconfigure circuits, and is becoming more and more widely used.

【0006】FPGAと呼ばれるプログラマブル論理回
路装置は、論理ゲート間および配線間を接続するスイッ
チを制御するビット・ストリームを外部から書き込むこ
とによって、所望の論理回路を再構成することのできる
デバイスである。内部回路構成や論理ゲート間のスイッ
チ制御のデータを保持する記憶手段がデバイス内に設け
られており、この記憶手段の種類により様々な動作特性
のデバイスが当業界において提供されている。
A programmable logic circuit device called an FPGA is a device that can reconfigure a desired logic circuit by externally writing a bit stream that controls a switch connecting logic gates and wiring. Storage means for holding data of switch control between the internal circuit configuration and the logic gate is provided in the device, and devices having various operating characteristics are provided in the art depending on the type of the storage means.

【0007】論理ゲート間または配線間のスイッチ制御
のデータを保持する記憶手段としては、アンチヒューズ
・タイプ、EEPROM(Electrically
Erasable and Programmable
Read Only Memory)タイプ、SRA
M(Static Random Access Me
mory)タイプなどがある。
As storage means for holding switch control data between logic gates or wirings, an antifuse type, EEPROM (Electrically) is used.
Erasable and Programmable
Read Only Memory) type, SRA
M (Static Random Access Me)
memory) type.

【0008】このうち、SRAMタイプは、スイッチと
なるトランジスタのゲートに揮発性メモリを接続する。
書き換え可能デバイス中でSRAMメモリの占める面積
は大きいが、他のタイプに比べ書き換え時間が小さく、
アドレスを指定してメモリの内容を書き換えることがで
きるので、システム動作中の論理の再構成も可能であ
る。さらに、再構成されない部分は動作を継続するとい
う機能を実現し、デバイス内の部分書き換えを可能にし
ている。
In the SRAM type, a volatile memory is connected to the gate of a transistor serving as a switch.
Although the area occupied by the SRAM memory in the rewritable device is large, the rewriting time is shorter than other types,
Since the contents of the memory can be rewritten by specifying the address, the logic can be reconfigured during the operation of the system. Furthermore, the function of continuing the operation of the part that is not reconfigured is realized, and partial rewriting in the device is enabled.

【0009】リアルタイムに部分書き換えが可能なFP
GAは、特に、DR−FPGA(Dynamicall
y Reconfigurable Field Pr
ogrammable Gate Array)と呼ば
れている。DR−FPGAとしては、米国ザイリンクス
社のXC6200シリーズ及びVirtexシリーズ、
米国アトメル社のAT6000シリーズ及びAT40K
シリーズ、米国ルーセント・テクノロジー社のORCA
3C/3Tシリーズなどが、既に市販されている。
FP that can be partially rewritten in real time
GA is, in particular, DR-FPGA (Dynamicall).
y Reconfigurable Field Pr
This is referred to as an “ommable gate array”. X-Links XC6200 series and Virtex series of DR-FPGA,
AT6000 AT6000 series and AT40K
Series, ORCA by Lucent Technology, USA
The 3C / 3T series and the like are already commercially available.

【0010】最近の論理回路に要求される処理の複雑さ
が増し、単一のプログラマブル論理回路装置だけでは実
現できない規模にまで回路規模が大きくなっている。こ
の問題を解決するための1つの方法として、処理の途中
でプログラマブル論理回路装置を再度構成し直すことに
よって、異なる時間に異なる論理回路を実現することが
考えられている。
[0010] The complexity of processing required for recent logic circuits has increased, and the circuit scale has increased to a scale that cannot be realized with a single programmable logic circuit device alone. As one method for solving this problem, it has been considered to realize different logic circuits at different times by reconfiguring the programmable logic circuit device during the processing.

【0011】この方法によれば、モバイル機器のような
極度に小型化された情報処理システムのように、内蔵可
能な回路規模に制約がある場合でも、回路コンポーネン
ト数を増やすことなく、様々な処理をプログラマブル論
理回路によってハードウェア化して比較的高速に実行で
きるという利点もある。
According to this method, even if the size of a circuit that can be built in is limited as in an extremely miniaturized information processing system such as a mobile device, various processing can be performed without increasing the number of circuit components. Has the advantage that it can be implemented as hardware by a programmable logic circuit and executed at relatively high speed.

【0012】しかしながら、プログラマブル論理装置を
再構成するときに、回路情報を再度読み込ませるための
余分な時間がかかるという欠点がある。また、処理の途
中で論理装置を再構成するためには、処理を一時中断
し、その時点でのデータをプログラマブル論理回路装置
の外部の記憶装置に一時記憶させ、新たな回路情報を読
み込んで再構成し、再構成前のデータと再構成に伴う新
しいデータを入力させる、という一連の余分な処理が必
要になる。
However, when the programmable logic device is reconfigured, there is a disadvantage that extra time is required to read the circuit information again. In order to reconfigure the logic device in the middle of the process, the process is temporarily suspended, the data at that time is temporarily stored in a storage device external to the programmable logic circuit device, and new circuit information is read and re-read. A series of extra processes are needed to configure and input data before reconstruction and new data accompanying the reconstruction.

【0013】プログラマブル論理装置の再構成に伴なう
上記の問題を解決するために、米国アトメル社が提供す
るデータブック”CONFIGURABLE LOGI
C”に記載されているプログラマブル論理回路装置、及
び、米国ザイリンクス社が提供するデータブック”TH
E PROGRAMMABLE LOGIC” (米国
版)に記載されているプログラマブル論理回路装置で
は、再構成を行うときにデータを記憶するためのデータ
記憶装置を有しており、回路の動作中でも外部の記憶装
置から回路情報の一部を読み込んで部分的に再構成を行
うことで、論理装置を再構成するための時間を最小限に
留めている。
To solve the above problems associated with the reconfiguration of programmable logic devices, a data book “CONFIGUABLE LOGI” provided by Atmel, USA
C "and a data book" TH provided by Xilinx Corporation of the United States.
The programmable logic circuit device described in “E PROGRAMMABLE LOGIC” (U.S. version) has a data storage device for storing data when performing reconfiguration. By reading a part of the information and performing a partial reconfiguration, the time required to reconfigure the logical device is minimized.

【0014】ところが、このような部分的に再構成可能
なプログラマブル論理回路を情報処理システムに好適に
適用するには、情報処理システム上で実行する処理を、
プログラマブル論理回路で行うハードウェア処理と、マ
イクロプロセッサなどの回路構成を変更できない固定的
な論理回路装置で行うソフトウェア処理とに分離するた
めの技術を確立する必要がある。
However, in order to suitably apply such a partially reconfigurable programmable logic circuit to an information processing system, a process executed on the information processing system must be performed as follows.
It is necessary to establish a technique for separating hardware processing performed by a programmable logic circuit from software processing performed by a fixed logic circuit device whose circuit configuration such as a microprocessor cannot be changed.

【0015】このような処理の分離に関する問題を解決
する方法として、プログラマブル論理回路の再構成機能
を用いてアプリケーションの一部をハードウエア化する
手法が幾つか提案されている。アプリケーションの一部
を、汎用のプロセッサによるソフトウェア処理ではな
く、プログラム論理回路装置を用いたハードウェア処理
に委ねるのは、後者の方が前者よりも処理速度が速いと
いう理由に依拠する。
As a method of solving such a problem relating to the separation of processing, there have been proposed some techniques for making a part of an application into hardware by using a reconfigurable function of a programmable logic circuit. The reason that part of the application is left to hardware processing using a program logic circuit device instead of software processing using a general-purpose processor depends on the reason that the latter has a higher processing speed than the former.

【0016】例えば、特開平9−74556号公報に
は、ネットワークを介してアプリケーションの一部をダ
ウンロードする手法について記載している。すなわち、
同公報では、プログラマブル論理回路を用いたアプリケ
ーションとして、符号化した画像データと復号プログラ
ムをネットワーク経由で受信し、ソフトウェアとプログ
ラマブル論理回路の双方を用いて復号化して画像再生す
るということが考えられている。図11には、同公報に
開示されている画像再生装置の概略構成を示している。
以下、図11を参照しながら、この画像再生装置につい
て説明する。
For example, Japanese Patent Application Laid-Open No. Hei 9-74556 describes a method of downloading a part of an application via a network. That is,
According to the publication, as an application using a programmable logic circuit, it is conceivable that encoded image data and a decoding program are received via a network, and the image is reproduced by decoding using both software and the programmable logic circuit. I have. FIG. 11 shows a schematic configuration of an image reproducing apparatus disclosed in the publication.
Hereinafter, the image reproducing apparatus will be described with reference to FIG.

【0017】画像再生装置は、動画像復号部を再構成す
るためのプログラムと符号化された動画像データをネッ
トワーク経由でダウンロードするための受信部と、受信
データがプログラムか動画像データかによって伝送先を
切り換える切り換え手段と、処理系を再構成することが
可能な動画像復号部と、受信したプログラムを動画像復
号部の構成に変更できる形式に変換するプログラム変換
部と、受信部と切り換え手段とプログラム変換部と動画
像復号部の制御を行うための制御部とで構成される。
The image reproducing apparatus includes a receiving unit for downloading a program for reconstructing a moving image decoding unit and encoded moving image data via a network, and transmitting the received data depending on whether the received data is a program or moving image data. Switching means for switching the destination, a video decoding unit capable of reconfiguring the processing system, a program conversion unit for converting a received program into a format changeable to the configuration of the video decoding unit, and a reception unit and switching means And a control unit for controlling the program conversion unit and the video decoding unit.

【0018】プログラム変換部は、受信プログラムを動
画像復号部の構成を変更できる形式に変換する第1プロ
グラム部分(すなわち、ハードウエア化する部分)と動
画像再生時において制御部が行う第2プログラム部分
(すなわち、ソフトウエアで実行する部分)とに分割す
る分割部と、第1プログラム部分を動画像復号部の構成
を変更できる形式に変換する第1の変換部(ハードウエ
ア・コンパイラ)と、第2プログラム部分を制御部が解
読して処理を実行できる形式に変換する第2の変換部
(ソフトウエア・コンパイラ)とを備えている。
The program conversion unit converts a received program into a format that can change the configuration of the moving picture decoding unit (that is, a part that is converted into hardware), and a second program that is executed by the control unit during reproduction of the moving picture. A dividing unit that divides the first program part into a format that can change the configuration of the moving picture decoding unit (a hardware compiler); A second conversion unit (software compiler) for converting the second program portion into a format in which the control unit can decode and execute the processing.

【0019】動画像復号部は、逆量子化処理内容を変更
できる逆量子化部と、逆変換処理内容を変更できる逆変
換部とを備えている。逆量子化部は量子化された画像デ
ータを逆量子化し、逆変換部は変換された画像データを
逆変換する。
The video decoding unit includes an inverse quantization unit that can change the content of the inverse quantization process and an inverse transform unit that can change the content of the inverse transform process. The inverse quantization unit inversely quantizes the quantized image data, and the inverse transform unit inversely transforms the transformed image data.

【0020】次に、この画像再生装置の動作手順につい
て説明する。
Next, an operation procedure of the image reproducing apparatus will be described.

【0021】動画像再生用のプログラムと符号化された
動画像データがネットワーク経由で入力されると、ま
ず、論理記述言語で記述された再生アルゴリズム・プロ
グラムを受信部で受信する。
When a moving picture reproducing program and encoded moving picture data are input via a network, a receiving section first receives a reproducing algorithm program described in a logical description language.

【0022】受信データはプログラム変換部に伝送さ
れ、分割部でハードウエア処理部とソフトウエア処理部
とに分割される。
The received data is transmitted to a program conversion unit, and is divided by a division unit into a hardware processing unit and a software processing unit.

【0023】ハードウエア処理部分は、第1の変換部に
渡され、プログラマブル論理回路装置(FPGA)を書
き換えることができる形式(ビット・ストリーム)に変
換され、制御部は、このビット・ストリームに基づい
て、逆量子化部と逆変換部を書き換える。
The hardware processing section is passed to a first conversion section, where it is converted into a format (bit stream) in which a programmable logic circuit device (FPGA) can be rewritten. Then, the inverse quantization unit and the inverse transform unit are rewritten.

【0024】他方、ソフトウエア処理部分は、第2の変
換部に渡され、プロセッサで処理できる実行形式に変換
された後、制御部に渡される。
On the other hand, the software processing part is passed to the second converter, converted into an executable form that can be processed by the processor, and then passed to the controller.

【0025】こうして再構成された画像再生装置に対し
て、動画像データがネットワーク経由で送られると、受
信部で受信し、切り換え手段によって動画像復号部に伝
送され、復号データとして出力する。
When moving image data is sent to the reconstructed image reproducing apparatus via the network, the moving image data is received by the receiving unit, transmitted to the moving image decoding unit by the switching unit, and output as decoded data.

【0026】上述したように逆量子化部と逆変換部をF
PGAのような処理プログラムを変更可能な素子で構成
したことにより、動画像復号部のハードウェアを最適な
処理能力に適合させるようにしている訳である。
As described above, the inverse quantization unit and the inverse transform unit are represented by F
By configuring the processing program such as PGA with a changeable element, the hardware of the video decoding unit is adapted to the optimum processing capability.

【0027】また、特開平6−301522号には、回
路構成を変更できない固定部とプログラマブル論理回路
のように回路構成を変更できる可変部とで構成される計
算機のシステム構成方法について開示している。同公報
は、複数のプログラムを基に、プログラマブル論理回路
上にハードウェアで構成することを提案するものであ
る。以下、図12を用いながら、この計算機システムに
ついて説明する。
Japanese Patent Application Laid-Open No. 6-301522 discloses a system configuration method of a computer including a fixed unit whose circuit configuration cannot be changed and a variable unit whose circuit configuration can be changed like a programmable logic circuit. . This gazette proposes that a plurality of programs be used to configure hardware on a programmable logic circuit. Hereinafter, this computer system will be described with reference to FIG.

【0028】図12に示すように、計算機で実行するソ
ースプログラムは、固定部の構成に関する情報と可変部
が構成することができる回路の情報が格納されているラ
イブラリを参照しながら、オブジェクト・コードとハー
ドウェア構成データに変換される。
As shown in FIG. 12, a source program executed by a computer refers to an object code by referring to a library in which information on the configuration of a fixed part and information on a circuit that can be configured by a variable part are stored. Is converted to hardware configuration data.

【0029】すなわち、コンパイラはソース・プログラ
ムのフロー解析を行い、関数の頻度を検出する。この検
出頻度に基づいて、呼び出し回数の多い関数をハードウ
ェアで処理する関数として決定し、ハードウェア構成デ
ータを作成して出力する。次に、ハードウェアで処理す
ると決めた部分を所定の可変部で処理することを示すコ
ードを残りのソフトウェアで処理する部分に付加して、
オブジェクト・コードを作成し出力する。
That is, the compiler analyzes the flow of the source program and detects the frequency of the function. Based on the detection frequency, a function with a large number of calls is determined as a function to be processed by hardware, and hardware configuration data is created and output. Next, a code indicating that a portion determined to be processed by hardware is processed by a predetermined variable portion is added to a portion processed by the remaining software,
Create and output object code.

【0030】計算機システムは、回路構成を変更できな
い固定部と、ハードウェア構成データにより構成された
可変部を用いて、オブジェクト・コードに応じた処理を
実行する。このようにして、コンパイル時に呼び出し回
数の多い幾つかの関数をハードウェア化することにより
処理全体の高速化を図っている。
The computer system uses a fixed unit whose circuit configuration cannot be changed and a variable unit configured by hardware configuration data to execute processing according to the object code. In this way, the speed of the entire process is increased by implementing several functions having a large number of calls at the time of compilation at the time of compiling.

【0031】また、日経オープンシステム1997年8
月号の213ページから219ページに掲載されている
記事「インターネットのサーバを運用代行 ISPやV
AN業者がサービスを提供へ」では、ネットワークを介
して複数のサーバにアクセスするケースについて提案し
ている。
Also, Nikkei Open System August 1997
An article published on pages 213 to 219 of the monthly issue "Internet server operation ISP and V
"An AN provider provides services" proposes a case where a plurality of servers are accessed via a network.

【0032】同記事は、ネットワークのアウトソーシン
グというサービスとしてインターネットやクローズドV
ANについて扱っている。この中で、インターネットに
不可欠なサーバであるメール・サーバやネーム・サーバ
を始めとする各種サーバへのアクセスについて詳解して
いる。
This article describes the Internet and closed-V services as a service called network outsourcing.
It deals with AN. In this book, access to various servers such as a mail server and a name server, which are essential servers for the Internet, is explained in detail.

【0033】サーバへのより早いアクセスを実行するた
めに、使用するプログラム一つ一つについてアクセスを
行なうよりも、全てのプログラムについて一度にアクセ
スを行い、最も早くアクセスできたプログラムからダウ
ンロードする方が、全体のアクセス時間が少ないことが
当業界において既に知られている。そこで、プログラム
が複数のサーバに格納されているような状況では、上記
のような方法に従ってプログラムへのアクセスを行い、
ダウンロードすることが一般的になってきている。例え
ば、プログラム・データを分類、整理したり、管轄が異
なっている、あるいはネットワークのトラフィック緩
和、サーバの負荷軽減のために、プログラムは複数のサ
ーバに分散して蓄積される。
In order to access the server faster, it is better to access all the programs at once and download from the program that has been accessed earlier than to access each one of the programs used. It is already known in the art that the total access time is low. Therefore, in a situation where the program is stored in a plurality of servers, the program accesses the program according to the method described above,
Downloading is becoming more common. For example, programs are distributed and stored in a plurality of servers in order to classify and organize program data, have different jurisdictions, or reduce network traffic and server load.

【0034】しかしながら、上記で説明した各々の従来
例では、処理の一部分をプログラマブル論理回路で処理
するに際して、次のような問題が残されている。
However, in each of the conventional examples described above, the following problem remains when a part of the processing is performed by the programmable logic circuit.

【0035】処理の一部を実現するハードウェア・モジ
ュールは、プログラマブル・デバイス上に再構成する、
すなわちハードウェア・モジュールを物理回路として展
開すると、デバイス上の所定セル数を消費するだけでな
く、ある所定の形状を持つセル領域を占有する。したが
って、プログラマブルなデバイス上で部分書き換えを行
なうためには、ハードウェア・モジュールを書き込める
サイズ(すなわちゲート規模)の空き領域がデバイス上
にあるだけでは不充分であり、空き領域がハードウェア
・モジュールの形状を完全に包含できなければならな
い。
A hardware module that realizes a part of the processing is reconfigured on a programmable device.
That is, when a hardware module is developed as a physical circuit, not only does a predetermined number of cells on a device be consumed, but also a cell region having a certain predetermined shape is occupied. Therefore, in order to perform partial rewriting on a programmable device, it is not enough that an empty area of a size (that is, gate scale) in which a hardware module can be written exists on the device. It must be able to completely contain the shape.

【0036】たとえプログラマブル・デバイス上の空き
領域のサイズ(すなわちゲート規模)がハードウェア・
モジュールのサイズを上回っていたとしても、ハードウ
ェア・モジュールを構成できるような形状に適合してい
なければ、部分書き換えを行なうことができない。この
ような場合、デバイス上の他の処理が終了して使用セル
領域が解放され、新たに再構成するハードウェア・モジ
ュールの形状に見合うだけの空き領域が確保されるまで
は、再構成動作は待たされてしまう。
Even if the size of the free area (ie, the gate size) on the programmable device is different from the hardware
Even if the size of the module is exceeded, partial rewriting cannot be performed if the module does not conform to a shape that can constitute a hardware module. In such a case, the reconfiguration operation is not performed until another process on the device is completed, the used cell area is released, and an empty area is secured to match the shape of the newly reconfigured hardware module. I will be kept waiting.

【0037】この結果、再構成時間にオーバーヘッドが
生じてしまう。しかも、空き領域とは形状が適合しない
処理モジュールが後に続くほど、オーバーヘッドはさら
に増加し、全体として処理に要する時間以外に多大な時
間を消費してしまうことになる。また、プログラマブル
・デバイスのこのような使用形態は、デバイスのセル資
源を有効に活用しているとは言い難い。
As a result, overhead occurs in the reconstruction time. In addition, as processing modules whose shape does not conform to the free area follow, the overhead further increases, and a large amount of time is consumed in addition to the time required for processing as a whole. In addition, it is difficult to say that such a usage form of the programmable device effectively utilizes the cell resources of the device.

【0038】[0038]

【発明が解決しようとする課題】本発明の目的は、論理
回路を記述した回路情報に従って所望の論理を再構成可
能なプログラマブル論理回路を含んだタイプの、優れた
情報処理システムを提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an excellent information processing system of a type including a programmable logic circuit capable of reconfiguring a desired logic in accordance with circuit information describing a logic circuit. is there.

【0039】本発明の更なる目的は、プログラム言語で
処理を記述された複数の処理モジュールで構成される一
連の処理の少なくとも一部を部分書き換え可能なプログ
ラマブル論理回路上で再構成したハードウェア回路に置
き換えて実行するタイプの、優れた情報処理システムを
提供することにある。
A further object of the present invention is to provide a hardware circuit in which at least a part of a series of processes constituted by a plurality of processing modules described in a program language is reconfigured on a partially rewritable programmable logic circuit. An object of the present invention is to provide an excellent information processing system of a type which is executed by replacing the above.

【0040】本発明の更なる目的は、各処理モジュール
をソフトウェア・モジュール又はハードウェア・モジュ
ールのいずれで実行すべきかを決定して処理するタイプ
の、優れた情報処理システムを提供することにある。
It is a further object of the present invention to provide an excellent information processing system of the type in which each processing module is executed by determining whether it should be executed by a software module or a hardware module.

【0041】本発明の更なる目的は、プログラム論理回
路の再構成によるオーバーヘッドを減少して処理モジュ
ール全体の処理時間を短縮化することができる、優れた
情報処理システムを提供することにある。
A further object of the present invention is to provide an excellent information processing system capable of reducing the overhead due to the reconfiguration of the program logic circuit and shortening the processing time of the entire processing module.

【0042】本発明の更なる目的は、プログラマブル・
デバイス上の空き領域のサイズは充分であるが形状が適
合しないためにハードウェア・モジュールの再構成が不
可能となって生じるオーバーヘッドを減少することがで
き、また、その結果として全体の処理時間を短縮化する
ことができる、優れた情報処理システムを提供すること
にある。
A further object of the present invention is to provide a programmable
The free space on the device is sufficient, but the inconsistency in shape makes it impossible to reconfigure the hardware module, thereby reducing the overhead that occurs and also reducing the overall processing time. An object of the present invention is to provide an excellent information processing system that can be shortened.

【0043】[0043]

【課題を解決するための手段】本発明は、上記課題を参
酌してなされたものであり、その第1の側面は、複数の
処理モジュールからなる一連の処理を実行するための情
報処理システムであって、各処理モジュールがプログラ
ム言語で記述されたソフトウェア・モジュールで構成さ
れるプログラムの形態で一連の処理を受容するプログラ
ム受容手段と、ソフトウェア・モジュールを実行可能な
プロセッサと、回路情報で記述されたハードウェア・モ
ジュールに従って部分書き換え可能なプログラマブル論
理回路と、ソフトウェア・モジュールと同じ処理を前記
プログラマブル論理回路上で再構成するための回路情報
で記述されるハードウェア・モジュールを蓄積する蓄積
手段と、一連の処理を構成する各処理モジュールのうち
ハードウェア・モジュールによって実行すべきものを決
定する実行モジュール決定手段と、前記実行モジュール
決定手段によって決定されたハードウェア・モジュール
を前記蓄積手段から取り出して前記プログラマブル論理
回路上に再構成するハードウェアモジュール取得手段と
を備え、前記蓄積手段は、同一の処理を実現するが前記
プログラマブル論理回路上に再構成すると形状が異なる
複数のハードウェア・モジュールを用意し、前記ハード
ウェア・モジュール取得手段は、前記プログラマブル論
理回路のハードウェア構成可能領域に適合する形状を持
つハードウェア・モジュールを優先的に取り出すことを
特徴とする情報処理システムである。
SUMMARY OF THE INVENTION The present invention has been made in consideration of the above problems, and a first aspect of the present invention is an information processing system for executing a series of processing including a plurality of processing modules. Program receiving means for receiving a series of processing in the form of a program in which each processing module is constituted by a software module described in a programming language; a processor capable of executing the software module; A programmable logic circuit that can be partially rewritten according to the hardware module, and storage means for storing a hardware module described by circuit information for reconfiguring the same processing as the software module on the programmable logic circuit; Among the processing modules that make up a series of processing, Execution module determining means for determining what should be executed by the module, and hardware module obtaining means for extracting the hardware module determined by the execution module determining means from the storage means and reconfiguring the module on the programmable logic circuit. The storage means prepares a plurality of hardware modules that realize the same processing but have different shapes when reconfigured on the programmable logic circuit, and the hardware module acquisition means includes This is an information processing system characterized in that a hardware module having a shape conforming to a hardware configurable area is preferentially extracted.

【0044】ここで、前記蓄積手段に蓄積されるハード
ウェア・モジュールを、矩形形状で表現してもよい。
Here, the hardware modules stored in the storage means may be represented by a rectangular shape.

【0045】また、ハードウエア構成可能領域の形状
を、前記プログラマブル論理回路上における水平方向と
垂直方向の各々の論理セル数によって定義してもよい。
The shape of the hardware configurable area may be defined by the number of logic cells in the horizontal and vertical directions on the programmable logic circuit.

【0046】また、本発明の第2の側面は、部分書き換
えが可能なプログラマブル論理回路を再構成するための
ハードウェア・モジュールを管理するための方法であっ
て、同一の処理を実現するが前記プログラマブル論理回
路上に再構成すると形状が異なる複数のハードウェア・
モジュールを用意したことを特徴とするハードウェア・
モジュールを管理するための方法である。
A second aspect of the present invention is a method for managing a hardware module for reconfiguring a partially rewritable programmable logic circuit, which realizes the same processing. When reconfiguring on a programmable logic circuit, multiple hardware
Hardware that features a module
This is a method for managing modules.

【0047】また、本発明の第3の側面は、部分書き換
えが可能なプログラマブル論理回路を再構成するための
ハードウェア・モジュールを管理するための装置であっ
て、同一の処理を実現するが前記プログラマブル論理回
路上に再構成すると形状が異なる複数のハードウェア・
モジュールを蓄積する手段と、前記プログラマブル論理
回路のハードウェア構成可能領域に適合する形状を持つ
ハードウェア・モジュールを優先して前記蓄積手段から
取り出す手段とを具備すること特徴とするハードウェア
・モジュールを管理するための装置である。
A third aspect of the present invention is an apparatus for managing a hardware module for reconfiguring a partially rewritable programmable logic circuit, and realizes the same processing. When reconfiguring on a programmable logic circuit, multiple hardware
Means for storing a module, and means for preferentially extracting a hardware module having a shape conforming to the hardware configurable area of the programmable logic circuit from the storage means. It is a device for management.

【0048】[0048]

【作用】本発明に係る情報処理システムは、複数の処理
モジュールからなる一連の処理を実行する。各処理モジ
ュールはプログラム言語で記述されたソフトウェア・モ
ジュールで構成されており、情報処理システムは、所謂
ソフトウェア・プログラムの形態で、一連の処理を受容
する。
The information processing system according to the present invention executes a series of processing including a plurality of processing modules. Each processing module is constituted by a software module described in a programming language, and the information processing system receives a series of processing in the form of a so-called software program.

【0049】また、情報処理システムは、ソフトウェア
・モジュールを実行可能なプロセッサと、回路情報で記
述されたハードウェア・モジュールに従って部分書き換
え可能なプログラマブル論理回路を備えている。一連の
処理を実行する際には、各処理モジュールをソフトウェ
ア・モジュール又はハードウェア・モジュールのいずれ
として実行すべきかを判別して、実行するようになって
いる。
The information processing system includes a processor capable of executing a software module, and a programmable logic circuit partially rewritable according to a hardware module described by circuit information. When executing a series of processing, it is determined whether each processing module is to be executed as a software module or a hardware module, and is executed.

【0050】また、情報処理システムは、ソフトウェア
・モジュールと同じ処理を前記プログラマブル論理回路
上で再構成するための回路情報で記述されるハードウェ
ア・モジュールを蓄積する蓄積手段を備えている。
Further, the information processing system includes storage means for storing a hardware module described by circuit information for reconfiguring the same processing as the software module on the programmable logic circuit.

【0051】ハードウェア・モジュールは、プログラマ
ブル論理回路上に再構成すると、所定数のセルを使用す
るとともに、所定形状を持つセル領域を占有する。本発
明では、各ソフトウェア・モジュールにつき、同一の処
理を実現するが前記プログラマブル論理回路上に再構成
すると形状が異なる複数のハードウェア・モジュール
を、蓄積手段に用意した。
When reconfigured on a programmable logic circuit, a hardware module uses a predetermined number of cells and occupies a cell region having a predetermined shape. In the present invention, a plurality of hardware modules which realize the same processing for each software module but have different shapes when reconfigured on the programmable logic circuit are prepared in the storage means.

【0052】そして、プログラマブル論理回路の部分的
書き換えを行なうときには、同じ処理を実現するが形状
が異なる複数のハードウェア・モジュールのうち、プロ
グラマブル論理回路中の空き領域すなわちハードウェア
構成可能領域の形状に適合するものを優先的に取り出す
ようにした。
When the partial rewriting of the programmable logic circuit is performed, of a plurality of hardware modules that realize the same processing but have different shapes, the shape of an empty area in the programmable logic circuit, that is, the shape of the hardware configurable area is changed. Matching items are given priority.

【0053】プログラマブルなデバイス上で部分書き換
えを行なうためには、ハードウェア・モジュールを書き
込めるサイズの空き領域がデバイス上にあるだけでは不
充分であり、空き領域がハードウェア・モジュールの形
状を完全に包含できなければならない。すなわち、プロ
グラマブル論理回路上の他の処理が終了して使用セルが
解放され、再構成されるハードウェア・モジュールの形
状に見合うだけの空き領域が確保されるまでは、再構成
動作は待たされてしまう(前述)。
In order to perform partial rewriting on a programmable device, it is not sufficient that there is an empty area on the device in which a hardware module can be written, and the empty area completely changes the shape of the hardware module. Must be able to be included. In other words, the reconfiguration operation is delayed until other processes on the programmable logic circuit are completed and the used cells are released, and a free area sufficient for the shape of the hardware module to be reconfigured is secured. (See above).

【0054】本発明によれば、同じ処理を実現するが形
状が異なるハードウェア・モジュールを複数個用意して
おき、プログラマブル論理回路上の空き領域の形状に適
合するハードウェア・モジュールを優先的に使用するこ
とにしたので、ハードウェア・モジュールの再構成が不
可能となって生じるオーバーヘッドを最小限に抑えるこ
とができる。また、その結果として全体の処理時間を短
縮化することができる。
According to the present invention, a plurality of hardware modules realizing the same processing but having different shapes are prepared, and the hardware module which conforms to the shape of the empty area on the programmable logic circuit is preferentially used. Since it is used, the overhead caused by the inability to reconfigure the hardware module can be minimized. As a result, the overall processing time can be reduced.

【0055】また、ハードウェア・モジュールの形状
を、占有するセル領域を包含する最小の矩形で表現する
こととした。この矩形は、水平及び垂直の各方向の論理
セル数だけで定義できる。すなわち、ハードウェア・モ
ジュールがハードウェア・モジュール構成可能領域に適
合するかどうかを、極めて少量のデータにより判断する
ことができる。併せて、プログラマブル論理回路の論理
セルを効率的に利用することが可能となることから、処
理の実行とデバイスのコンフィギュレーションを並行し
て行なうことができ、全体の処理時間を短縮することが
できる。
Further, the shape of the hardware module is represented by the smallest rectangle including the occupied cell area. This rectangle can be defined only by the number of logic cells in each of the horizontal and vertical directions. That is, whether or not the hardware module fits in the hardware module configurable area can be determined based on an extremely small amount of data. In addition, since the logic cells of the programmable logic circuit can be used efficiently, the execution of the processing and the configuration of the device can be performed in parallel, and the overall processing time can be reduced. .

【0056】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
Still other objects, features and advantages of the present invention are:
It will become apparent from the following more detailed description based on the embodiments of the present invention and the accompanying drawings.

【0057】[0057]

【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0058】図1には、本発明を実現するのに適した情
報処理システム10のハードウェア構成を模式的に示し
ている。
FIG. 1 schematically shows a hardware configuration of an information processing system 10 suitable for realizing the present invention.

【0059】情報処理システム10は、例えば、「ワー
クステーション」や「パーソナル・コンピュータ」と呼
ばれる汎用コンピュータ・システムであり、その一例
は、米国IBM社のPC/AT互換機又はその後継機で
ある。この種のシステム10は、OADG(PC Op
en Architecture Develope
r’s Group)仕様に準拠し、オペレーティング
・システム(OS)として、例えば米国マイクロソフト
社の”Windows95/98/NT”を搭載してい
る。以下、情報処理システム10内の各部について説明
する。
The information processing system 10 is, for example, a general-purpose computer system called a “workstation” or a “personal computer”, and an example thereof is a PC / AT compatible machine of IBM Corporation in the United States or a successor thereto. This type of system 10 is OADG (PC Op
en Architecture Development
r's Group) specification and, for example, "Windows 95/98 / NT" of Microsoft Corporation in the United States is installed as an operating system (OS). Hereinafter, each unit in the information processing system 10 will be described.

【0060】システム10のメイン・コントローラであ
るCPU(Central Processing U
nit)11は、オペレーティング・システム(OS)
の制御下で、各種の処理を実行する。
The CPU (Central Processing Unit) which is the main controller of the system 10
nit) 11 is an operating system (OS)
Various processes are executed under the control of.

【0061】ここで言う「処理」は、複数の処理モジュ
ールからなる一連の処理である。かかる一連の処理は、
通常、各処理モジュールがプログラム言語で記述された
ソフトウェア・モジュールで構成されている「プログラ
ム」の形態で、情報処理システム10に供給される。
The "processing" referred to here is a series of processing including a plurality of processing modules. Such a series of processing,
Usually, each processing module is supplied to the information processing system 10 in the form of a “program” composed of software modules described in a programming language.

【0062】CPU11の回路論理は固定的で、再構成
不可能である。したがって、CPU11は、処理モジュ
ールのうち、プログラム言語で記述されたソフトウェア
・モジュールのみを実行し、後述するようにハードウェ
ア・モジュールは実行しない。なお、CPU11は、例
えば米国インテル社の”Pentium II”でよ
い。
The circuit logic of the CPU 11 is fixed and cannot be reconfigured. Therefore, the CPU 11 executes only the software modules described in the program language among the processing modules, and does not execute the hardware modules as described later. The CPU 11 may be, for example, “Pentium II” manufactured by Intel Corporation in the United States.

【0063】本実施例の情報処理システム10は、各周
辺装置をローカル接続するためのローカル・バスとして
のPCI(Peripheral Component
Interconnect)バス14を備えている。
このPCIバスと、CPU11の自身の外部ピンに直結
したホスト・バス11Bとは、チップセットで構成され
るバス・ブリッジ13を介して相互接続されている。
The information processing system 10 of the present embodiment has a PCI (Peripheral Component) as a local bus for connecting each peripheral device locally.
An interconnect bus 14 is provided.
This PCI bus and the host bus 11B directly connected to its own external pin of the CPU 11 are interconnected via a bus bridge 13 composed of a chipset.

【0064】本実施例のチップセット13は、両バス1
1B及び14間のデータ転送速度の差を吸収するための
データ・バッファや、主記憶メモリ12へのアクセス動
作を制御するためのメモリ・コントローラを含んだ構成
となっている。
The chip set 13 of this embodiment is a
The configuration includes a data buffer for absorbing a difference in data transfer speed between 1B and 14, and a memory controller for controlling an access operation to the main storage memory 12.

【0065】主記憶メモリ12は、書き込み可能なメモ
リであり、通常は複数個のDRAM(Dynamic
Random Access Memory)チップで
構成される。主記憶メモリ12は、BIOS(Basi
c Input/Output System:基本入
出力システム)、デバイス・ドライバ、OS、及びアプ
リケーション・プログラムなど各種処理を実現するため
のプログラム・コードをロードしたり、処理実行中の作
業データを一時格納するために利用される。
The main memory 12 is a writable memory, and usually includes a plurality of DRAMs (Dynamics).
Random Access Memory) chip. The main storage memory 12 stores a BIOS (Basi
c Input / Output System (basic input / output system), a device driver, an OS, and a program code for realizing various processes such as an application program, and for temporarily storing work data during the process. Used.

【0066】PCIバス14は、比較的高速なデータ転
送が可能なバスであり(バス幅32/64ビット、最大
動作周波数33/66MHz、最大データ転送速度13
2/264MMps)、PCIバス14とのインターフ
ェース・プロトコルを実現する各種のインターフェース
・アダプタが接続されている。なお、PCIアーキテク
チャは、米国インテル社の提唱に端を発したものであ
り、所謂PnP(プラグ・アンド・プレイ)機能を備え
ている。
The PCI bus 14 is a bus capable of relatively high-speed data transfer (bus width 32/64 bits, maximum operating frequency 33/66 MHz, maximum data transfer rate 13
2/264 Mbps), and various interface adapters for realizing an interface protocol with the PCI bus 14 are connected. The PCI architecture originates from the proposal of Intel Corporation in the United States, and has a so-called PnP (plug and play) function.

【0067】PCIバス14に接続されるインターフェ
ース・アダプタとして、本実施例すなわち図1では、ハ
ード・ディスク・インターフェース17と、通信インタ
ーフェース19と、プログラマブル論理回路インターフ
ェース15を挙げている。
In this embodiment, that is, in FIG. 1, a hard disk interface 17, a communication interface 19, and a programmable logic circuit interface 15 are listed as interface adapters connected to the PCI bus 14.

【0068】ハード・ディスク・インターフェース17
は、ハード・ディスク装置18などの大容量の外部記憶
装置を接続するためのインターフェースであり、IDE
(Integrated Drive Electro
nics)やSCSI(Small Computer
System Interface)などの仕様が当
業界において標準的である。以下では、システム10内
のハード・ディスク装置18のことを、「ローカル・デ
ィスク」とも呼ぶ。
Hard Disk Interface 17
Is an interface for connecting a large-capacity external storage device such as the hard disk device 18;
(Integrated Drive Electro
nics) and SCSI (Small Computer)
Specifications such as System Interface are standard in the art. Hereinafter, the hard disk drive 18 in the system 10 is also referred to as a “local disk”.

【0069】通信インターフェース19は、LAN(L
ocal Area Network)やインターネッ
トなどの、システム10の外部のネットワーク20と接
続するためのアダプタである。
The communication interface 19 is a LAN (L
This is an adapter for connecting to a network 20 external to the system 10, such as the local area network or the Internet.

【0070】ネットワーク20上には、通常、複数の外
部装置が接続されている。外部装置の一例は、ファイル
・サーバやプリント・サーバなど、各種資源サービスを
情報処理システム10に提供するサーバである。図1で
は、ネットワーク20には記憶装置21が接続されてい
る。この記憶装置21は、例えば、ファイル・サーバな
どが提供する大容量ハード・ディスク装置などであり、
システム10側からは記憶装置21に対して透過的にデ
ィスク・アクセス可能である。以下では、ネットワーク
20上のハード・ディスク装置21のことを、「ローカ
ル・ディスク」と区別して、「ネットワーク・ディス
ク」と呼ぶことにする。
A plurality of external devices are usually connected to the network 20. An example of the external device is a server such as a file server or a print server that provides various resource services to the information processing system 10. In FIG. 1, a storage device 21 is connected to the network 20. The storage device 21 is, for example, a large-capacity hard disk device provided by a file server or the like.
The system 10 can transparently access the disk to the storage device 21. Hereinafter, the hard disk drive 21 on the network 20 will be referred to as a “network disk” to distinguish it from a “local disk”.

【0071】プログラマブル論理回路インターフェース
15は、プログラマブル論理回路16をシステム10に
接続するためのアダプタである。プログラマブル論理回
路16は、例えば「アダプタ・カード」に搭載された形
態で提供される。プログラマブル論理回路16は、後述
するように部分書き換え動作が可能なタイプのデバイス
である。プログラマブル論理回路16上に部分的に書き
込まれたハードウェアのことを、以下では「ハードウェ
ア・モジュール」と呼ぶ。ハードウェア・モジュール
は、通常、論理回路16を再構成するための回路情報と
いう形式で記述され、所定の格納場所に保管され、且つ
適宜取り出して用いられる。
The programmable logic circuit interface 15 is an adapter for connecting the programmable logic circuit 16 to the system 10. The programmable logic circuit 16 is provided, for example, in a form mounted on an “adapter card”. The programmable logic circuit 16 is a type of device capable of performing a partial rewrite operation as described later. Hereinafter, the hardware partially written on the programmable logic circuit 16 is referred to as a “hardware module”. The hardware module is usually described in the form of circuit information for reconfiguring the logic circuit 16, is stored in a predetermined storage location, and is appropriately taken out and used.

【0072】本実施例では、回路情報として記述された
数多くのハードウェア・モジュールが、情報処理システ
ム10内のローカル・ディスク18又はネットワーク2
0上のネットワーク・ディスク21に蓄積されている。
プログラマブル論理回路16は、図示しないローカル・
メモリを備えている。部分書き換えを行なうときには、
必要なハードウェア・モジュールを、ローカル・ディス
ク18又はネットワーク・ディスク21からローカル・
メモリに一旦ダウンロードして、書き換え処理を行う。
論理回路16の部分書き換え動作の手順については、後
に詳解する。
In this embodiment, a number of hardware modules described as circuit information are stored in the local disk 18 or the network 2 in the information processing system 10.
0 on the network disk 21.
The programmable logic circuit 16 includes a local
Has memory. When performing partial rewriting,
Necessary hardware modules are transferred from the local disk 18 or the network disk 21 to the local disk.
Once downloaded to the memory, rewrite processing is performed.
The procedure of the partial rewriting operation of the logic circuit 16 will be described later in detail.

【0073】なお、情報処理システム10を構成するた
めには、図1に示した以外にも多くのハードウェア構成
要素等が必要である。但し、これらは当業者には周知で
あり、また、本発明の要旨を構成するものではないの
で、本明細書中では省略している。また、図面の錯綜を
回避するため、図中の各ハードウェア・ブロック間の接
続も一部しか図示していない点を了承されたい。
Note that in order to configure the information processing system 10, many hardware components and the like other than those shown in FIG. 1 are required. However, since these are well known to those skilled in the art and do not constitute the gist of the present invention, they are omitted in this specification. Also, it should be noted that only some of the connections between the hardware blocks in the drawings are shown in order to avoid complication of the drawings.

【0074】次に、プログラマブル論理回路16の内部
構造について説明する。
Next, the internal structure of the programmable logic circuit 16 will be described.

【0075】図2には、プログラマブル論理回路16の
構造を論理的に図解している。同図に示すように、プロ
グラマブル論理回路16は、回路情報を格納するための
コンフィギュレーション・メモリ160と、回路素子1
64とで構成される。回路素子は、後述するように、論
理セル161と、配線領域164と入出力端子163を
含んだ集合体である。
FIG. 2 logically illustrates the structure of the programmable logic circuit 16. As shown in the figure, the programmable logic circuit 16 includes a configuration memory 160 for storing circuit information and a circuit element 1
64. The circuit element is an aggregate including a logic cell 161, a wiring region 164, and an input / output terminal 163, as described later.

【0076】また、図3には、プログラマブル論理回路
16を構成するチップ内の物理構造を模式的に示してい
る。同図に示すように、略矩形状のチップ内16には、
数多の論理セル161…がマトリックス状に配設されて
いる。配線領域162は、各論理セル161…間を走る
ように、格子状に敷設されている。チップの周辺部に
は、論理回路16に対する電気信号データの入出力を行
なうための数多の入出力端子163…が列設されてい
る。
FIG. 3 schematically shows a physical structure in a chip constituting the programmable logic circuit 16. As shown in FIG.
.. Are arranged in a matrix. The wiring region 162 is laid in a lattice shape so as to run between the logic cells 161. A number of input / output terminals 163... For inputting / outputting electric signal data to / from the logic circuit 16 are arranged in a row at the periphery of the chip.

【0077】コンフィギュレーション・メモリ160
は、論理セル161内及び配線領域162内の回路情報
を書き込むための記憶手段であり、SRAM、DRAM
などの書き換え可能なメモリ素子で構成されている。
Configuration memory 160
Is storage means for writing circuit information in the logic cell 161 and the wiring area 162, and is an SRAM, a DRAM,
Rewritable memory element.

【0078】コンフィギュレーション・メモリ160に
はアドレスが割り振られており、あるアドレスに新しい
回路情報を記述したデータが格納されると、アドレスに
該当する論理セル161内の回路構成と、論理セル16
1及び入出力端子163を相互に接続する配線領域16
2の接続状態が、この新しい回路情報に従って再構成さ
れる。
An address is allocated to the configuration memory 160. When data describing new circuit information is stored at a certain address, the circuit configuration in the logic cell 161 corresponding to the address and the logic cell 16
1 and the wiring area 16 for connecting the input / output terminals 163 to each other
2 are reconfigured according to this new circuit information.

【0079】図2に示すように、プログラマブル論理回
路16に再構成されて形成された回路素子に処理すべき
データが入力されると、またその処理を実行した結果が
出力されるようになっている。
As shown in FIG. 2, when data to be processed is input to a circuit element reconfigured and formed in the programmable logic circuit 16, the result of the processing is output. I have.

【0080】プログラマブル論理回路16の回路構成を
再構成する一連の動作のことを、「コンフィギュレーシ
ョン」と呼ぶ。本実施例に係るプログラマブル論理回路
16では、コンフィギュレーション・メモリ160の一
部分のみを書き換えることで、プログラマブル論理回路
16が動作中であっても、回路を部分的に再構成するこ
とができる。すなわち、部分書き換え機能を提供してい
る。
A series of operations for reconfiguring the circuit configuration of the programmable logic circuit 16 is called “configuration”. In the programmable logic circuit 16 according to this embodiment, by rewriting only a part of the configuration memory 160, the circuit can be partially reconfigured even when the programmable logic circuit 16 is operating. That is, a partial rewriting function is provided.

【0081】図4には、情報処理システム10が複数の
処理モジュールからなる一連の処理を実行する仕組みを
模式的に示している。但し、一連の処理は、プログラム
言語で記述されたプログラム、すなわちアプリケーショ
ン・プログラム100の形態で情報処理システム10に
供給されている(例えば、ハード・ディスク装置18内
に導入されている)ものとする。
FIG. 4 schematically shows a mechanism in which the information processing system 10 executes a series of processing including a plurality of processing modules. However, a series of processes is supplied to the information processing system 10 in the form of a program described in a programming language, that is, an application program 100 (for example, installed in the hard disk device 18). .

【0082】アプリケーション・プログラム100は、
実行する一連の処理を複数個の処理に分割可能であり、
分割された各処理毎に1つのモジュールを形成してい
る。このモジュールのことを、本明細書中では「処理モ
ジュール」と呼んでいる。
The application program 100
A series of processes to be executed can be divided into multiple processes,
One module is formed for each of the divided processes. This module is referred to as a “processing module” in this specification.

【0083】アプリケーション・プログラム100を構
成する各処理モジュールは、原初的には、CPU11に
おいて処理が実行可能な形式、すなわち、プログラム言
語で記述されたソフトウェア・プログラムである。処理
モジュール単位のソフトウェア・プログラムのことを、
本明細書では「ソフトウェア・モジュール」と呼ぶ。言
い換えれば、アプリケーション・プログラム100は、
複数のソフトウェア・モジュールの集合体であると言え
る。
Each processing module constituting the application program 100 is initially a format in which the CPU 11 can execute processing, that is, a software program described in a programming language. A software program for each processing module
In this specification, it is called a “software module”. In other words, the application program 100
It can be said that it is an aggregate of a plurality of software modules.

【0084】各ソフトウェア・モジュールが行なうのと
同じ処理を、プログラマブル論理回路16上に構成した
ハードウェアとして実行することもできる。プログラマ
ブル論理回路16によるハードウェア処理は、一般に、
対応するソフトウェア処理よりも高速である。
The same processing as performed by each software module can be executed as hardware configured on the programmable logic circuit 16. The hardware processing by the programmable logic circuit 16 generally includes
It is faster than the corresponding software processing.

【0085】ソフトウェア・モジュールに対応したハー
ドウェアをプログラム論理回路16上に再構成するため
の回路情報を記述した単位モジュールのことを、本明細
書では「ハードウェア・モジュール」と呼んでいる。図
4中の記憶装置200には、アプリケーション・プログ
ラム100を構成する各ソフトウェア・モジュールと同
じ処理を実現するハードウェア・モジュールが蓄積され
ている。但し、記憶装置200の実体は、図1中で示し
たローカル・ディスク18やネットワーク・ディスク2
1であると把握されたい。
A unit module describing circuit information for reconfiguring hardware corresponding to a software module on the program logic circuit 16 is referred to as a “hardware module” in this specification. The storage device 200 in FIG. 4 stores hardware modules that realize the same processing as each software module that configures the application program 100. However, the entity of the storage device 200 is the local disk 18 or the network disk 2 shown in FIG.
I want to be grasped as 1.

【0086】ここで、アプリケーション・プログラム1
00の構造についてもう少し詳しく言及する。
Here, the application program 1
The structure of 00 will be described in more detail.

【0087】図5には、アプリケーション・プログラム
100の構成を模式的に示している。同図に示すよう
に、アプリケーション・プログラム100は、ヘッダ部
と本体部からなる。
FIG. 5 schematically shows the configuration of the application program 100. As shown in FIG. 1, the application program 100 includes a header section and a main body section.

【0088】本体部は、前述したように、複数個のソフ
トウェア・モジュールの集合で構成されている。ヘッダ
部には、各ソフトウェア・モジュールに対応するハード
ウェア・モジュールの各々についての識別符号が記述さ
れている。
As described above, the main body is composed of a set of a plurality of software modules. In the header portion, an identification code for each hardware module corresponding to each software module is described.

【0089】本実施例では、ハードウェア・モジュール
は、対応するソフトウェア・モジュールと同じ処理をプ
ログラマブル論理回路16上に再構成するための回路情
報だけでなく、その回路情報をプログラマブル論理回路
16上に再構成したときに占有するセル領域の形状を記
述している。ここで、ハードウェア・モジュールの形状
は、占有するセル領域を完全に包含する矩形として表現
される。したがって、形状は、その矩形が持つ水平及び
垂直の各方向のPFU(Programmable F
unction Unit)数すなわちセル数によって
定義されるので、少量のデータで済む。
In this embodiment, the hardware module stores not only the circuit information for reconfiguring the same processing as the corresponding software module on the programmable logic circuit 16 but also the circuit information on the programmable logic circuit 16. It describes the shape of the cell area occupied when reconstructed. Here, the shape of the hardware module is expressed as a rectangle that completely covers the occupied cell area. Therefore, the shape is PFU (Programmable F) in each of the horizontal and vertical directions of the rectangle.
(unit number), that is, the number of cells, so that only a small amount of data is required.

【0090】図6には、ハードウェア・モジュールを矩
形表現する様子を図解している。同図に示すように、ハ
ードウェア・モジュールによって構成される回路そのも
のは、複雑な多角形状であり、これを幾何学的に定義す
るとデータ・サイズが大きくなり処理も煩雑となる。そ
こで、ハードウェア・モジュールの構成回路を包含する
最小の矩形によってその形状を表現することとし、その
矩形が持つ水平及び垂直の各方向のセル数によってハー
ドウェア・モジュールの形状を定義する。
FIG. 6 illustrates how a hardware module is represented by a rectangle. As shown in the figure, the circuit itself constituted by the hardware module has a complicated polygonal shape, and if this is geometrically defined, the data size becomes large and the processing becomes complicated. Therefore, the shape of the hardware module is represented by a minimum rectangle including the constituent circuits of the hardware module, and the shape of the hardware module is defined by the number of cells in the horizontal and vertical directions of the rectangle.

【0091】各ハードウェア・モジュールの識別番号
は、同じ処理を行うソフトウェア・モジュールとの対応
関係が明瞭となるように、付与されることが好ましい。
図4及び図5に示した例では、アプリケーション・プロ
グラム100上の処理実行順に従った順序番号によっ
て、各ソフトウェア・モジュールに対応するハードウェ
ア・モジュールの識別符号がヘッダ部に記述される。こ
のような場合、繰り返し使用する処理モジュールに対応
するハードウェア・モジュールの識別番号は、ヘッダ部
において繰り返し記述されることになる。
It is preferable that the identification numbers of the respective hardware modules are given so that the correspondence relation with the software modules performing the same processing becomes clear.
In the example shown in FIG. 4 and FIG. 5, the identification code of the hardware module corresponding to each software module is described in the header part by the sequence number according to the processing execution order on the application program 100. In such a case, the identification number of the hardware module corresponding to the processing module used repeatedly is repeatedly described in the header portion.

【0092】再び図4に戻って、情報処理システム10
上でアプリケーション・プログラム100を実行する仕
組みについての説明を継続する。
Returning to FIG. 4, the information processing system 10
The description of the mechanism for executing the application program 100 will be continued above.

【0093】ハードウェア・モジュール取得手段300
と、実行モジュール決定手段600は、処理モジュール
をハードウェア・モジュールとして実行する動作に深く
関与している。これらの手段300及び600は、例え
ば、情報処理システム10上に導入されたOSの機能の
一部、という形態で実装することができる。
Hardware module acquisition means 300
The execution module determining means 600 is deeply involved in the operation of executing the processing module as a hardware module. These means 300 and 600 can be implemented, for example, in the form of a part of the function of the OS installed on the information processing system 10.

【0094】ハードウェア・モジュール取得手段300
は、アプリケーション・プログラム100のヘッダ部に
記述されている識別符号を用いて、ソフトウェア・モジ
ュールが実行する処理と同じ処理を実行するハードウェ
ア・モジュールを記憶装置200から取得する。そし
て、ハードウェア・モジュール取得手段300は、取得
したハードウェア・モジュールを実現した回路を、プロ
グラマブル論理回路16上に再構成する。
Hardware module acquisition means 300
Acquires from the storage device 200 a hardware module that performs the same processing as that performed by the software module, using the identification code described in the header section of the application program 100. Then, the hardware module acquisition unit 300 reconfigures the circuit that has realized the acquired hardware module on the programmable logic circuit 16.

【0095】図4に示すように、ハードウェア・モジュ
ール取得手段300は、取得要求送出手段310と、取
得再構成手段320とで構成される。ハードウェア・モ
ジュールを記録装置200から取得するとき、取得要求
送出手段310は、必要な全てのハードウェア・モジュ
ールの取得要求を行う。
As shown in FIG. 4, the hardware module acquisition means 300 includes an acquisition request sending means 310 and an acquisition reconfiguration means 320. When acquiring a hardware module from the recording device 200, the acquisition request sending unit 310 issues an acquisition request for all necessary hardware modules.

【0096】実行モジュールをCPU11によるソフト
ウェア・モジュールとするか、又は、プログラマブル論
理回路16によるハードウェア・モジュールとするか
を、プログラムの実行時に決定することもできる。この
場合には、取得要求送出手段310は、アプリケーショ
ン・プログラム100のヘッダ部に記述されている全て
のハードウェア・モジュールの識別符号を含むハードウ
ェア・モジュール取得要求を送出する。
Whether the execution module is a software module by the CPU 11 or a hardware module by the programmable logic circuit 16 can be determined when the program is executed. In this case, the acquisition request sending unit 310 sends a hardware module acquisition request including the identification codes of all the hardware modules described in the header of the application program 100.

【0097】また、実行モジュールの決定をプログラム
100の実行前に行うこともできる。この場合には、取
得要求送出手段310は、ハードウェア・モジュール処
理により実行すると決定されたハードウェア・モジュー
ルの識別符号を含むハードウェアモジュール取得要求を
送出する。
Further, the execution module can be determined before the execution of the program 100. In this case, the acquisition request sending unit 310 sends a hardware module acquisition request including the identification code of the hardware module determined to be executed by the hardware module processing.

【0098】ハードウェア・モジュール取得手段300
内の取得再構成手段320は、記憶手段200から取得
したハードウェア・モジュールの情報を、それに付加さ
れている識別符号により認識し、システム10内に未だ
取り込んでいないハードウェア・モジュールであること
を確認した後に、プログラマブル論理回路16上にその
ハードウェア・モジュールを実現した回路を再構成す
る。このとき、再構成したハードウェア・モジュールの
識別符号を識別符号記録手段800に記録するととも
に、システム10内の記憶装置200(例えば、ハード
・ディスク装置18や主記憶メモリ12)に、そのハー
ドウェア・モジュールの情報を格納する。
Hardware module acquisition means 300
The acquisition / reconstruction means 320 within the hardware module recognizes the information of the hardware module acquired from the storage means 200 by the identification code added thereto, and recognizes that the hardware module has not yet been acquired in the system 10. After confirmation, the circuit realizing the hardware module is reconfigured on the programmable logic circuit 16. At this time, the identification code of the reconfigured hardware module is recorded in the identification code recording means 800 and the hardware device 200 (for example, the hard disk device 18 or the main storage memory 12) in the system 10 stores the hardware code. -Store module information.

【0099】他方、アプリケーション・プログラム10
0のソフトウェア・モジュールによるソフトウェア処理
は、CPU11が実行する。
On the other hand, the application program 10
The software processing by the software module 0 is executed by the CPU 11.

【0100】実際のアプリケーション・プログラム10
0の処理においては、実行モジュール決定手段600
が、ハードウェア又はソフトウェアのどちらのモジュー
ルで行うかを各処理モジュール毎に決定し、実行する。
Actual application program 10
0, the execution module determining means 600
Determines for each processing module whether the processing is performed by hardware or software, and executes the processing.

【0101】図4では示していないが、実行モジュール
決定手段600に選択条件設定手段を設けてもよい。選
択条件設定手段は、ソフトウェア・モジュール及びハー
ドウェア・モジュールの各々による処理時間、メモリ消
費量、プログラマブル論理回路16の再構成時間などの
種々の選択条件項目を予め想定しておき、その1つある
いは複数の条件項目の組み合わせからなる実行モジュー
ル選択条件を設定する。実行モジュール決定手段600
は、選択条件を評価することによって、実行モジュール
を適切に決定することができる。
Although not shown in FIG. 4, the execution module determining means 600 may be provided with a selection condition setting means. The selection condition setting means presupposes various selection condition items such as a processing time by each of the software module and the hardware module, a memory consumption amount, a reconfiguration time of the programmable logic circuit 16, and selects one or more of the selection condition items. An execution module selection condition consisting of a combination of a plurality of condition items is set. Execution module determining means 600
The execution module can appropriately determine an execution module by evaluating the selection condition.

【0102】次に、ハードウェア・モジュールによって
処理モジュールを実行する手順について詳解する。図7
には、この手順をフローチャートの形式で示している。
以下、このフローチャートの各ステップについて説明す
る。
Next, a procedure for executing a processing module by a hardware module will be described in detail. FIG.
Shows this procedure in the form of a flowchart.
Hereinafter, each step of this flowchart will be described.

【0103】但し、処理が実行されるアプリケーション
・プログラム100は、ハードウェア・モジュールとし
て実行される4つの処理モジュールA,B,C,及びD
を含み、且つ、A→B→C→B→Dという順番で各処理
モジュールが実行されることとする(処理Bは、一旦実
行終了した後、処理Cを実行後に再び呼び出される点に
留意されたい)。また、コンフィギュレーションが完了
したプログラマブル論理回路16によるハードウェア的
な処理の方が、対応するソフトウェア処理よりも高速で
あることを前提とする。
However, the application program 100 in which the processing is executed has four processing modules A, B, C, and D executed as hardware modules.
And the respective processing modules are executed in the order of A → B → C → B → D (note that the processing B is called again after the execution of the processing C after the execution is once completed. Want). Also, it is assumed that hardware processing by the programmable logic circuit 16 for which configuration is completed is faster than corresponding software processing.

【0104】既に述べたように、ハードウェア・モジュ
ール取得手段300と、実行モジュール決定手段600
は、情報処理システム10上で動作するOSにおける各
1つの機能、すなわちソフトウェア的に実装されてい
る。したがって、この動作は、アプリケーション・プロ
グラム100の開始に応答して、OSによって処理が実
行される。
As described above, the hardware module obtaining means 300 and the execution module determining means 600
Are each implemented by one function in the OS operating on the information processing system 10, that is, implemented as software. Therefore, this operation is executed by the OS in response to the start of the application program 100.

【0105】アプリケーション・プログラム100が開
始されると、プログラム100内のヘッダ部に記述され
ているハードウェア・モジュールの識別符号(図5を参
照のこと)が読み込まれる(ステップS11)。既に述
べたように、識別符号は、各ソフトウェア・モジュール
と同じ処理をプログラマブル論理回路16上に再構成す
る回路情報と、再構成されたハードウェア・モジュール
の形状に関する情報を含んでいる。
When the application program 100 is started, the identification code (see FIG. 5) of the hardware module described in the header section of the program 100 is read (step S11). As described above, the identification code includes circuit information for reconfiguring the same processing as each software module on the programmable logic circuit 16 and information regarding the shape of the reconfigured hardware module.

【0106】ここで、ハードウェア・モジュールの形状
は、ハードウェア・モジュールをプログラマブル論理回
路16上に再構成して占有するセル領域を完全に包含す
る矩形で表現することとし、したがって、矩形が持つ水
平及び垂直の各方向のセル(PFU)数によって定義さ
れている(前述)。
Here, the shape of the hardware module is represented by a rectangle which completely reconstructs the hardware module on the programmable logic circuit 16 and completely occupies the cell area occupied by the hardware module. It is defined by the number of cells (PFU) in each of the horizontal and vertical directions (described above).

【0107】また、同じ処理を行うためのハードウェア
・モジュールの形状は、単一とは限らず、複数存在する
こともある。本実施例では、形状が異なるが同じ処理を
実行する複数のハードウェア・モジュールを用意するこ
ととしている(後述)。
The shape of a hardware module for performing the same processing is not limited to a single shape, but may be plural. In the present embodiment, a plurality of hardware modules having different shapes but executing the same processing are prepared (described later).

【0108】予定された順序に従って各処理モジュール
を逐次実行するという形式で、アプリケーション・プロ
グラム100の実行が進行する。そして、ハードウェア
・モジュールによる処理部分に到達すると、必要なハー
ドウェア・モジュールがプログラマブル論理回路16上
にコンフィギュレーションされていく。図7の破線で囲
んだ部分がこれに相当する。
The execution of the application program 100 proceeds in such a manner that each processing module is sequentially executed according to a scheduled order. Then, when reaching the processing part by the hardware module, the necessary hardware module is configured on the programmable logic circuit 16. The portion surrounded by the broken line in FIG. 7 corresponds to this.

【0109】本実施例では、アプリケーション・プログ
ラム100は、ハードウェア・モジュールとして実行す
べきと決定されている処理モジュールとして、A,B,
C,Dという4つを含み、且つ、処理モジュールの実行
順序はA→B→C→B→Dと指定されている(前述)。
In this embodiment, the application program 100 includes A, B, and B as processing modules that are determined to be executed as hardware modules.
C and D, and the execution order of the processing modules is specified as A → B → C → B → D (described above).

【0110】まず、ステップS12において、処理Aを
実現するハードウェア・モジュール(A)が、プログラ
マブル論理回路16上にコンフィギュレーションされ
る。次いで、ステップS13において、処理Bを実現す
るハードウェア・モジュール(B)が、プログラマブル
論理回路16上にコンフィギュレーションされる。
First, in step S12, a hardware module (A) for implementing the process A is configured on the programmable logic circuit 16. Next, in step S13, a hardware module (B) that implements the process B is configured on the programmable logic circuit 16.

【0111】図8には、処理A及び処理Bを実現する各
ハードウェア・モジュールがプログラマブル論理回路1
6上にコンフィギュレーションされている様子を、模式
的に示している。同図では、ハードウェア・モジュール
(A)及び(B)の各々に対応する論理セル領域を、夫
々、参照番号222及び221で指し示している。ま
た、この時点での空き領域、すなわちハードウェア・モ
ジュールを未だ構成可能な領域を、参照番号223で指
し示している。
FIG. 8 shows that each hardware module for realizing the processing A and the processing B is a programmable logic circuit 1
6 is schematically shown on the screen 6. In the figure, the logic cell areas corresponding to the hardware modules (A) and (B) are indicated by reference numerals 222 and 221 respectively. Further, an empty area at this time, that is, an area where a hardware module can be configured yet is indicated by reference numeral 223.

【0112】ハードウェア・モジュール(B)のコンフ
ィギュレーションを行なうステップS13が終了する
と、ハードウェア取得手段300は、記憶手段200か
ら、次の処理Cに必要なハードウェア・モジュール
(C)の取得を試みる。
When step S13 for configuring the hardware module (B) is completed, the hardware acquisition means 300 acquires the hardware module (C) necessary for the next processing C from the storage means 200. Try.

【0113】本実施例では、図8に示すように、同じ処
理Cを実行するための、形状が異なる3つのハードウェ
ア・モジュール<C−a>、<C−b>、及び<C−c
>が記憶装置200内に用意されているものとする。但
し、説明の便宜上、<C−a>は従来から用意されてい
たハードウェア・モジュールであり、残りの<C−b>
と<C−c>は本発明において新たに追加されたハード
ウェア・モジュールであるとする。図示の通り、各ハー
ドウェア・モジュール<C−a>、<C−b>、及び<
C−c>の矩形形状は、夫々、6×4、4×6、3×8
である。
In this embodiment, as shown in FIG. 8, three hardware modules <Ca>, <Cb>, and <Cc> having different shapes for executing the same process C.
> Are prepared in the storage device 200. However, for convenience of explanation, <Ca> is a conventionally prepared hardware module, and the remaining <Cb>
And <Cc> are hardware modules newly added in the present invention. As shown, each hardware module <Ca>, <Cb>, and <Cb>
The rectangular shapes of C−c> are 6 × 4, 4 × 6, 3 × 8, respectively.
It is.

【0114】これに対し、この時点でのハードウェア・
モジュール構成可能領域223の形状は4×7である。
したがって、ハードウェア・モジュール取得手段300
は、コンフィギュレーション可能なハードウェア・モジ
ュールは<C−c>のみであると判断して、これを取得
し、ハードウェア・モジュール構成可能領域223にコ
ンフィギュレーションを行なう(ステップS16)。そ
して、コンフィギュレーションが完了すると、処理Bの
実行完了を待って処理Cが実行される。
On the other hand, the hardware
The shape of the module configurable area 223 is 4 × 7.
Therefore, the hardware module acquisition means 300
Determines that the only hardware module that can be configured is <Cc>, acquires this, and configures the hardware module configurable area 223 (step S16). When the configuration is completed, the process C is executed after the execution of the process B is completed.

【0115】一方、既にコンフィギュレーションが完了
している処理Aと処理Bについては、ハードウェア・モ
ジュール<C−c>のコンフィギュレーション開始と同
時に、実行が行なわれる(ステップS14及びS1
5)。ステップS14が終了すると、ハードウェア・モ
ジュール(A)は不要となるので、使用していたセル領
域222は解放され、ハードウェア・モジュール構成可
能領域となる。但し、処理Bは、処理Cを実行した後再
び呼び出されるので(前述)、ステップS15を終了し
た時点では、使用していたセル領域221は解放されな
い。
On the other hand, the processes A and B for which the configuration has already been completed are executed simultaneously with the start of the configuration of the hardware module <Cc> (steps S14 and S1).
5). When step S14 ends, the hardware module (A) becomes unnecessary, so the used cell area 222 is released and becomes a hardware module configurable area. However, since the process B is called again after executing the process C (described above), the used cell area 221 is not released when step S15 ends.

【0116】図9には、処理Cを実現する各ハードウェ
ア・モジュールがプログラマブル論理回路16上にコン
フィギュレーションされた時点での、プログラマブル論
理回路16の様子を、模式的に示している。同図に示す
ように、ハードウェア・モジュール(B)及び<C−c
>の各々に相当する論理回路が、夫々、セル領域221
及び226にコンフィギュレーションされている。ま
た、既に実行が完了した処理Aに係るセル領域222は
解放され、この結果、新たに、ハードウェア・モジュー
ル構成可能領域227が形成される。
FIG. 9 schematically shows the state of the programmable logic circuit 16 when each hardware module for realizing the processing C is configured on the programmable logic circuit 16. As shown in the figure, the hardware module (B) and <C-c
Logic circuits corresponding to each of the cell regions 221
And 226. In addition, the cell area 222 related to the processing A that has already been executed is released, and as a result, a hardware module configurable area 227 is newly formed.

【0117】また、ハードウェア・モジュール(C)の
コンフィギュレーションを行なうステップS16が終了
すると、ハードウェア取得手段300は、記憶手段20
0から、次の処理Dに必要なハードウェア・モジュール
(D)の取得を試みる。
When step S16 for performing the configuration of the hardware module (C) is completed, the hardware obtaining means 300 stores the data in the storage means 20.
From 0, an attempt is made to acquire a hardware module (D) necessary for the next process D.

【0118】本実施例では、図9に示すように、同じ処
理Dを実行するための、形状が異なる3つのハードウェ
ア・モジュール<D−a>、<D−b>、及び<D−c
>が記憶装置200内に用意されているものとする。但
し、説明の便宜上、<D−a>は従来から用意されてい
たハードウェア・モジュールであり、残りの<D−b>
と<D−c>は本発明において新たに追加されたハード
ウェア・モジュールであるとする。図示の通り、各ハー
ドウェア・モジュール<D−a>、<D−b>、及び<
D−c>の矩形形状は、夫々、6×2、4×3、3×4
である。
In the present embodiment, as shown in FIG. 9, three hardware modules <Da>, <Db>, and <Dc> having different shapes for executing the same process D.
> Are prepared in the storage device 200. However, for convenience of explanation, <Da> is a hardware module prepared conventionally, and the remaining <Db>
And <Dc> are hardware modules newly added in the present invention. As shown, each hardware module <Da>, <Db>, and <
D-c> are 6 × 2, 4 × 3, 3 × 4, respectively.
It is.

【0119】これに対し、この時点でのハードウェア・
モジュール構成可能領域227の形状は4×3である。
したがって、ハードウェア・モジュール取得手段300
は、コンフィギュレーション可能なハードウェア・モジ
ュールは<D−b>のみであると判断して、これを取得
し、ハードウェア構成可能セル領域227にコンフィギ
ュレーションを行なう(ステップS17)。
On the other hand, the hardware
The shape of the module configurable area 227 is 4 × 3.
Therefore, the hardware module acquisition means 300
Determines that the only configurable hardware module is <Db>, acquires this, and configures the hardware configurable cell area 227 (step S17).

【0120】ステップS17におけるハードウェア・モ
ジュール<D−b>のコンフィギュレーションを開始す
る時点で、処理A(ステップS14)が終了しているの
で、ステップS17の開始と同時に処理B(ステップS
15)が実行される。
When the configuration of the hardware module <D-b> in step S17 is started, the processing A (step S14) has been completed. Therefore, the processing B (step S14) is performed simultaneously with the start of step S17.
15) is executed.

【0121】また、ハードウェア・モジュール<D−b
>のコンフィギュレーションが終了し、処理Bの実行が
完了すると、既にコンフィギュレーションされたハード
ウェア・モジュール<C−b>によって処理Cを実行開
始する(ステップS28)。
Also, the hardware module <Db
When the configuration of <> is completed and the execution of the process B is completed, the execution of the process C is started by the already configured hardware module <Cb> (step S28).

【0122】処理Cが終了すると、セル領域を占有した
ままのハードウェア・モジュール(B)によって処理B
を再び実行し(ステップS19)、次いで、ハードウェ
ア・モジュール<D−b>によって処理Dを実行する
(ステップS20)。
When the processing C is completed, the hardware module (B) occupying the cell area occupies the processing B
Is executed again (step S19), and then the process D is executed by the hardware module <Db> (step S20).

【0123】図10には、本実施例に従って処理A→処
理B→処理C→処理B→処理Dの順で各ハードウェア・
モジュールが実行される処理フローを、従来例と比較し
ながら、時系列的に表示している。すなわち、同図の
(a)が本実施例であり、同図(b)が従来例である。
但し、従来例では、処理C及び処理Dの各々に対して、
夫々、ハードウェア・モジュール<C−a>及び<D−
a>の唯一つしか、記憶装置200に用意されていない
ものとする(前述)。
FIG. 10 shows each hardware in the order of process A → process B → process C → process B → process D according to this embodiment.
The processing flow in which the module is executed is displayed in chronological order while comparing with the conventional example. That is, FIG. 3A shows the present embodiment, and FIG. 3B shows the conventional example.
However, in the conventional example, for each of process C and process D,
The hardware modules <Ca> and <D-
It is assumed that only one of a> is prepared in the storage device 200 (described above).

【0124】図10では、各処理の所要時間が、時間に
相当する長さを持つ帯で表現されている。同図におい
て、各処理を示す大文字A,B,C,Dと小文字”t”
からなる接頭辞の組み合わせは、該当するハードウェア
・モジュールのコンフィギュレーションに要する時間を
表している。また、各処理を示す大文字A,B,C,D
と大文字”T”からなる接頭辞の組み合わせは、コンフ
ィギュレーションされたハードウェア・モジュールによ
る各処理の所要時間を表している。但し、tC及びTC
は、本実施例(a)においてはハードウェア・モジュー
ル<C−b>に関する各所要時間であり、従来例(b)
ではハードウェア・モジュール<C−a>に関する各所
要時間である。同様に、tD及びTDは、本実施例
(a)においてはハードウェア・モジュール<D−b>
に関する各所要時間であり、従来例(b)ではハードウ
ェア・モジュール<D−a>に関する各所要時間であ
る。
In FIG. 10, the time required for each process is represented by a band having a length corresponding to time. In the figure, uppercase letters A, B, C, D and lowercase letter "t" indicating each processing are shown.
The combination of prefixes consisting of indicates the time required to configure the corresponding hardware module. In addition, capital letters A, B, C, D indicating each processing
The combination of a prefix consisting of and a capital letter "T" indicates the time required for each process by the configured hardware module. However, tC and TC
Is the required time for the hardware module <Cb> in the embodiment (a), and
Here, each required time for the hardware module <Ca> is shown. Similarly, tD and TD are the hardware module <Db> in the embodiment (a).
In the conventional example (b), each required time is related to the hardware module <Da>.

【0125】以下、時系列に従って図10について説明
する。
FIG. 10 will be described below in chronological order.

【0126】まず、本実施例における処理フローについ
て言及する。時刻t0において、処理Aに必要なハード
ウェア・モジュール(A)のコンフィギュレーションが
開始する。次いで、時刻t1において、ハードウェア・
モジュール(A)のコンフィギュレーションが終了する
と、処理Bに必要なハードウェア・モジュール(B)の
コンフィギュレーションが開始する。
First, the processing flow in this embodiment will be described. At time t0, the configuration of the hardware module (A) necessary for the process A starts. Next, at time t1, the hardware
When the configuration of the module (A) is completed, the configuration of the hardware module (B) necessary for the process B starts.

【0127】時刻t2において、ハードウェア・モジュ
ール(B)のコンフィギュレーションが終了すると、処
理Cに必要なハードウェア・モジュールのうち、ハード
ウェア・モジュール構成可能領域223(図8を参照の
こと)に割り当て可能な<C−b>を選択的に取得し
て、コンフィギュレーションを開始する。また、これと
同時に、ハードウェア・モジュール(A)によって処理
Aが開始する。
At time t2, when the configuration of the hardware module (B) is completed, the hardware module configurable area 223 (see FIG. 8) among the hardware modules required for the processing C is set. Selectively acquire <Cb> that can be assigned, and start configuration. At the same time, the processing A is started by the hardware module (A).

【0128】時刻t3において、ハードウェア・モジュ
ール(C)のコンフィギュレーションが終了する。この
時点では、処理Dに必要なハードウェア・モジュールを
コンフィギュレーションできるセル領域が、プログラマ
ブル論理回路16上には存在しない。本実施例では、処
理Dを実行可能な形状が異なる3個のハードウェア・モ
ジュール<D−a>、<D−b>、及び、<D−c>を
用意しているが、いずれもプログラマブル論理回路16
の空き領域に割り当てることができない。このため、実
行中の他のハードウェア・モジュールが終了してセル領
域が解放されるまでコンフィギュレーション作業を待機
する。
At time t3, the configuration of the hardware module (C) ends. At this point, there is no cell area on the programmable logic circuit 16 where a hardware module required for the processing D can be configured. In the present embodiment, three hardware modules <Da>, <Db>, and <Dc> having different shapes capable of executing the process D are prepared. Logic circuit 16
Can not be allocated to the free space. Therefore, the configuration operation waits until the other hardware module being executed ends and the cell area is released.

【0129】時刻t4において、処理Aが終了すると、
ハードウェア・モジュール(A)が使用していたセル領
域が解放されて、新たにハードウェア・モジュール構成
可能領域227が生成される(図9を参照のこと)。処
理Dを実行するハードウェア・モジュールのうち、ハー
ドウェア・モジュール構成可能領域227に割り当て可
能な<D−b>を選択的に取得して、コンフィギュレー
ションを開始する。また、処理Aの終了とともに、ハー
ドウェア・モジュール(B)を用いて処理Bが開始す
る。
At the time t4, when the processing A is completed,
The cell area used by the hardware module (A) is released, and a new hardware module configurable area 227 is generated (see FIG. 9). Of the hardware modules that execute the process D, <Db> that can be assigned to the hardware module configurable area 227 is selectively acquired, and the configuration is started. At the same time as the completion of the process A, the process B starts using the hardware module (B).

【0130】以降、プログラマブル論理回路16上にコ
ンフィギュレーションされた各ハードウェア・モジュー
ルを用いて、処理Bの終了とともに処理Cが開始し(時
刻t6)、処理Cの終了とともに処理Bが開始し(時刻
t8)、処理Bの終了とともに処理Dが開始し(時刻t
11)、最後に処理Dが終了する(時刻t12)。
Thereafter, using each hardware module configured on the programmable logic circuit 16, the process C starts at the end of the process B (time t6), and the process B starts at the end of the process C (time t6). At time t8), the process D starts with the end of the process B (time t8).
11) Finally, the process D ends (time t12).

【0131】次に、従来例における処理フローについて
言及する。時刻t0において、処理Aに必要なハードウ
ェア・モジュール(A)のコンフィギュレーションが開
始する。次いで、時刻t1において、ハードウェア・モ
ジュール(A)のコンフィギュレーションが終了する
と、処理Bに必要なハードウェア・モジュール(B)の
コンフィギュレーションが開始する。
Next, a processing flow in the conventional example will be described. At time t0, the configuration of the hardware module (A) necessary for the process A starts. Next, at time t1, when the configuration of the hardware module (A) ends, the configuration of the hardware module (B) necessary for the process B starts.

【0132】時刻t2において、ハードウェア・モジュ
ール(B)のコンフィギュレーションが終了すると、ハ
ードウェア・モジュール(A)によって処理Aが開始す
る。
At time t2, when the configuration of the hardware module (B) is completed, the processing A is started by the hardware module (A).

【0133】また、処理Bの次に実行される処理Cに必
要なハードウェア・モジュールをプログラマブル論理回
路16上にコンフィギュレーションしなければならな
い。しかしながら、従来例では、処理Cを実行するハー
ドウェア・モジュールとして<C−a>しか用意してい
ない。図8を参照して判るように、ハードウェア・モジ
ュール<C−a>は論理セル数6×4の形状を持ち、こ
れに対し、この時点でのハードウェア・モジュール構成
可能領域223は4×6であり、コンフィギュレーショ
ンすることができない。
Further, a hardware module necessary for the process C executed after the process B must be configured on the programmable logic circuit 16. However, in the conventional example, only <Ca> is prepared as a hardware module for executing the process C. As can be seen with reference to FIG. 8, the hardware module <Ca> has the shape of the number of logic cells 6 × 4, whereas the hardware module configurable area 223 at this point is 4 × 6 and cannot be configured.

【0134】このため、処理Bが終了してハードウェア
・モジュール(B)が使用していたセル領域が解放さ
れ、ハードウェア・モジュール<C−a>に充分なハー
ドウェア・モジュール構成可能領域ができる時刻t6ま
で、<C−a>のコンフィギュレーションは待たされ
る。
As a result, after the processing B is completed, the cell area used by the hardware module (B) is released, and a sufficient hardware module configurable area for the hardware module <Ca> is obtained. Until the possible time t6, the configuration of <Ca> is waited.

【0135】時刻t7において、ハードウェア・モジュ
ール<C−a>のコンフィギュレーションが終了する
と、これを用いて処理Cが開始する。
At the time t7, when the configuration of the hardware module <Ca> is completed, the process C is started by using this.

【0136】また、時刻t9において、処理Cが終了す
ると、ハードウェア・モジュール<C−a>をプログラ
マブル論理回路16上から削除して、再び、処理Bに必
要なハードウェア・モジュール(B)のコンフィギュレ
ーションを開始する。従来例では、ハードウェア・モジ
ュール(B)を2度もコンフィギュレーションしなけれ
ばならない点にも充分留意されたい。
At the time t9, when the process C is completed, the hardware module <Ca> is deleted from the programmable logic circuit 16, and the hardware module (B) required for the process B is again deleted. Start configuration. It should also be noted that in the prior art, the hardware module (B) must be configured twice.

【0137】次いで、時刻t10において、ハードウェ
ア・モジュール(B)のコンフィギュレーションが終了
すると、これを用いて処理Bを開始する。
Next, at time t10, when the configuration of the hardware module (B) is completed, the processing B is started by using this.

【0138】次いで、時刻t13において、処理Bが終
了すると、再びハードウェア・モジュール(B)をプロ
グラマブル論理回路16上から削除して、次の処理Dに
必要なハードウェア・モジュール<D−a>のコンフィ
ギュレーションを開始する。従来例では、処理Dのため
のハードウェア・モジュールとして<D−a>しか用意
していないので、ハードウェア・モジュール(B)が使
用するセル領域が解放されるまで<D−a>のコンフィ
ギュレーションが待たされてしまう、という点にも充分
留意されたい。
Next, when the processing B is completed at time t13, the hardware module (B) is deleted from the programmable logic circuit 16 again, and the hardware module <Da> required for the next processing D is performed. Start configuration. In the conventional example, since only <Da> is prepared as a hardware module for processing D, the configuration of <Da> is continued until the cell area used by the hardware module (B) is released. It is important to pay attention to the fact that the application will be awaited.

【0139】次いで、時刻t14において、ハードウェ
ア・モジュール<D−a>のコンフィギュレーションが
終了すると、処理Dが開始する。そして、時刻t15に
おいて、これを用いた処理Dが終了する。
Next, at time t14, when the configuration of the hardware module <Da> ends, the processing D starts. Then, at time t15, the process D using this ends.

【0140】上述したように、従来例では、本実施例の
場合とは異なり、時刻t2及びt4において、処理C及
び処理Dの夫々に必要なハードウェア・モジュール<C
−a>及び<D−a>のコンフィギュレーションを、処
理A及び処理Bの実行と並行して行なうことができな
い。また、処理Bに必要なハードウェア・モジュール
(B)を、t9において再度コンフィギュレーションし
なければならない。
As described above, in the conventional example, unlike the case of this embodiment, at time t2 and t4, the hardware modules <C required for each of the processing C and the processing D are different.
-A> and <Da> cannot be performed concurrently with the execution of the processing A and the processing B. Further, the hardware module (B) required for the process B must be reconfigured at t9.

【0141】従来例におけるこのような処理時間のロス
は、プログラマブル論理回路16上のハードウェア・モ
ジュール構成可能領域内に、次の処理に必要なハードウ
ェア・モジュールがセル・サイズ的には受容可能だが形
状的に入りきらないために生じたものである。この結
果、ハードウェア・モジュール(B),<C−a>,<
D−a>の各々のコンフィギュレーション時間の合計分
だけ、ハードウェア・モジュールによる処理に長い時間
を要してしまうことになる。
Such a loss of processing time in the conventional example is such that a hardware module necessary for the next processing is acceptable in a cell size within a hardware module configurable area on the programmable logic circuit 16. However, it was caused because it could not fit in shape. As a result, the hardware modules (B), <Ca>, <
The processing by the hardware module takes a long time by the sum of the respective configuration times of D-a>.

【0142】図10で示した例では、A→B→C→B→
Dという合計5つの処理を行ったが、この処理数が多く
なればなるほど、本実施例と従来例との処理時間ロスの
差は拡大するであろう。すなわち、本発明が全体の処理
時間を短縮するために極めて有効な方法である、という
ことを理解できよう。また、本発明は、プログラマブル
論理回路上のハードウェア・モジュール構成可能領域す
なわちセル資源を効率的に使用することにもなる。
In the example shown in FIG. 10, A → B → C → B →
D, a total of five processes were performed. As the number of processes increases, the difference in processing time loss between the present embodiment and the conventional example will increase. That is, it can be understood that the present invention is a very effective method for reducing the overall processing time. The present invention also makes efficient use of the hardware module configurable area on the programmable logic circuit, that is, the cell resources.

【0143】なお、図10に示した例では、処理Bに必
要なハードウェア・モジュール(B)を1種類としてい
る。処理Aに必要なハードウェア・モジュール(A)の
サイズが過大であり、双方のハードウェア・モジュール
(A)及び(B)を同時にプログラマブル論理回路16
上にコンフィギュレーションできないような事態を想定
すれば、従来例と同様に、処理Bがボトルネックとなっ
て処理時間のロスが生じるであろう。
In the example shown in FIG. 10, only one type of hardware module (B) is required for the processing B. The size of the hardware module (A) required for the process A is excessively large, and both the hardware modules (A) and (B) are simultaneously connected to the programmable logic circuit 16.
Assuming a situation where the above configuration cannot be performed, processing B will be a bottleneck and a loss of processing time will occur as in the conventional example.

【0144】また、図10に示した例では、ハードウェ
ア・モジュール<C−b>のコンフィギュレーション時
間tCよりも処理Aの実行時間TAの方が長く、また、
ハードウェア・モジュール<D−b>のコンフィギュレ
ーション時間tDよりも処理Bの実行時間TBの方が長
いこととしている。これとは逆に、処理Aの実行時間T
Aよりもハードウェア・モジュール<C−b>のコンフ
ィギュレーション時間tCの方が長く、また、処理Bの
実行時間TBよりもハードウェア・モジュール<D−b
>のコンフィギュレーション時間tDの方が長いことと
した場合には、処理B(但し2回目)及び処理Dは、ハ
ードウェア・モジュール<C−b>及び<D−b>のコ
ンフィギュレーションの後に実行されことになる。
In the example shown in FIG. 10, the execution time TA of the process A is longer than the configuration time tC of the hardware module <Cb>.
It is assumed that the execution time TB of the process B is longer than the configuration time tD of the hardware module <Db>. Conversely, the execution time T of the process A
The configuration time tC of the hardware module <Cb> is longer than the configuration time A, and the hardware module <Db is longer than the execution time TB of the process B.
>, The processing B (but the second time) and the processing D are executed after the configuration of the hardware modules <Cb> and <Db>. Will be.

【0145】[追補]以上、特定の実施例を参照しなが
ら、本発明について詳解してきた。しかしながら、本発
明の要旨を逸脱しない範囲で当業者が該実施例の修正や
代用を成し得ることは自明である。すなわち、例示とい
う形態で本発明を開示してきたのであり、限定的に解釈
されるべきではない。本発明の要旨を判断するために
は、冒頭に記載した特許請求の範囲の欄を参酌すべきで
ある。
[Supplement] The present invention has been described in detail with reference to the specific embodiments. However, it is obvious that those skilled in the art can modify or substitute the embodiment without departing from the spirit of the present invention. That is, the present invention has been disclosed by way of example, and should not be construed as limiting. In order to determine the gist of the present invention, the claims described at the beginning should be considered.

【0146】[0146]

【発明の効果】以上詳記したように、本発明によれば、
論理回路を記述した回路情報に従って所望の論理を再構
成可能なプログラマブル論理回路を含んだタイプの、優
れた情報処理システムを提供することができる。
As described above in detail, according to the present invention,
An excellent information processing system including a programmable logic circuit capable of reconfiguring desired logic in accordance with circuit information describing the logic circuit can be provided.

【0147】また、本発明によれば、プログラム言語で
処理を記述された複数の処理モジュールで構成される一
連の処理の少なくとも一部を部分書き換え可能なプログ
ラマブル論理回路上で再構成したハードウェア回路に置
き換えて実行するタイプの、優れた情報処理システムを
提供することができる。
Further, according to the present invention, a hardware circuit in which at least a part of a series of processes constituted by a plurality of processing modules described in a program language is reconfigured on a partially rewritable programmable logic circuit An excellent information processing system of a type that executes in place of the above can be provided.

【0148】また、本発明によれば、各処理モジュール
をソフトウェア・モジュール又はハードウェア・モジュ
ールのいずれで実行すべきかを決定して処理するタイプ
の、優れた情報処理システムを提供することができる。
Further, according to the present invention, it is possible to provide an excellent information processing system of a type in which each processing module is determined to be executed by a software module or a hardware module and is processed.

【0149】また、本発明によれば、プログラム論理回
路の再構成によるオーバーヘッドを減少して処理モジュ
ール全体の処理時間を短縮化することができる、優れた
情報処理システムを提供することができる。
Further, according to the present invention, it is possible to provide an excellent information processing system capable of reducing the overhead due to the reconfiguration of the program logic circuit and shortening the processing time of the entire processing module.

【0150】また、本発明によれば、プログラマブル・
デバイス上の空き領域のサイズは充分であるが形状が適
合しないためにハードウェア・モジュールの再構成が不
可能となって生じるオーバーヘッドを減少することがで
き、また、その結果として全体の処理時間を短縮化する
ことができる、優れた情報処理システムを提供すること
ができる。
Also, according to the present invention, the programmable
The free space on the device is sufficient, but the inconsistency in shape makes it impossible to reconfigure the hardware module, thereby reducing the overhead that occurs and also reducing the overall processing time. An excellent information processing system that can be shortened can be provided.

【0151】本発明によれば、同じ処理を実現するが形
状が異なるハードウェア・モジュールを複数個用意して
おき、プログラマブル論理回路上の空き領域の形状に適
合するハードウェア・モジュールを優先的に使用するこ
とにしたので、ハードウェア・モジュールの再構成が不
可能となって生じるオーバーヘッドを最小限に抑えるこ
とができる。また、その結果として全体の処理時間を短
縮化することができる。
According to the present invention, a plurality of hardware modules realizing the same processing but having different shapes are prepared, and a hardware module which conforms to the shape of the empty area on the programmable logic circuit is preferentially used. Since it is used, the overhead caused by the inability to reconfigure the hardware module can be minimized. As a result, the overall processing time can be reduced.

【0152】また、ハードウェア・モジュールの形状
を、占有するセル領域を包含する最小の矩形で表現する
こととした。この矩形は、水平及び垂直の各方向の論理
セル数だけで定義できる。すなわち、ハードウェア・モ
ジュールがハードウェア・モジュール構成可能領域に適
合するかどうかを、極めて少量のデータ量により判断す
ることができる。併せて、プログラマブル論理回路が持
つ論理セルを効率的に利用することが可能となることか
ら、処理の実行とデバイスのコンフィギュレーションを
並行して行なうことができ、全体の処理時間を短縮する
ことができる。
Further, the shape of the hardware module is represented by the smallest rectangle including the occupied cell area. This rectangle can be defined only by the number of logic cells in each of the horizontal and vertical directions. That is, it is possible to determine whether or not the hardware module fits in the hardware module configurable area based on an extremely small amount of data. At the same time, since the logic cells of the programmable logic circuit can be efficiently used, the execution of the processing and the configuration of the device can be performed in parallel, and the overall processing time can be reduced. it can.

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

【図1】 本発明を実現するのに適した情報処理システ
ム10のハードウェア構成を模式的に示した図である。
FIG. 1 is a diagram schematically showing a hardware configuration of an information processing system 10 suitable for realizing the present invention.

【図2】 プログラマブル論理回路16の構造を論理的
に図解したものである。
FIG. 2 logically illustrates the structure of a programmable logic circuit 16;

【図3】 プログラマブル論理回路16の物理構造を模
式的に示した図である。
FIG. 3 is a diagram schematically showing a physical structure of a programmable logic circuit 16;

【図4】 情報処理システム10が複数の処理モジュー
ルからなる一連の処理を実行する様子を模式的に示した
図である(但し、一連の処理は、プログラム言語で記述
された各処理モジュールで構成されるプログラムの形態
で、システム10に供給されているものとする)。
FIG. 4 is a diagram schematically illustrating a state in which the information processing system 10 executes a series of processing including a plurality of processing modules (however, the series of processing is configured by each processing module described in a programming language). The program 10 is supplied to the system 10 in the form of a program to be executed.)

【図5】 一連の処理を構成するアプリケーション・プ
ログラムの構成を模式的に示した図である。
FIG. 5 is a diagram schematically showing a configuration of an application program constituting a series of processes.

【図6】 ハードウェア・モジュールの形状を矩形表現
する様子を模式的に示した図である。
FIG. 6 is a diagram schematically illustrating a state in which the shape of a hardware module is represented by a rectangle.

【図7】 ハードウェア・モジュールによって処理モジ
ュールを実行する手順を示したフローチャートである。
FIG. 7 is a flowchart showing a procedure for executing a processing module by a hardware module.

【図8】 形状が異なるが同じ処理を実行する複数のハ
ードウェア・モジュールの中から最適なものを選択して
プログラマブル論理回路16上に再構成する様子を模式
的に示した図であり、より具体的には、処理A及び処理
Bを実現する各ハードウェア・モジュールがプログラマ
ブル論理回路16上にコンフィギュレーションされてい
る様子を示した図である。
FIG. 8 is a diagram schematically showing a state in which an optimum one is selected from a plurality of hardware modules having different shapes but executing the same processing and reconfigured on the programmable logic circuit 16; Specifically, FIG. 3 is a diagram illustrating a state in which each hardware module that implements the processing A and the processing B is configured on the programmable logic circuit 16.

【図9】 形状が異なるが同じ処理を実行する複数のハ
ードウェア・モジュールの中から最適なものを選択して
プログラマブル論理回路16上に再構成する様子を模式
的に示した図であり、より具体的には、処理Cを実現す
る各ハードウェア・モジュールがプログラマブル論理回
路16上にコンフィギュレーションされた時点でのプロ
グラマブル論理回路16の様子を示した図である。
FIG. 9 is a diagram schematically showing a state in which an optimum one is selected from a plurality of hardware modules having different shapes but executing the same processing and reconfigured on the programmable logic circuit 16; Specifically, FIG. 4 is a diagram illustrating a state of the programmable logic circuit 16 when each hardware module that implements the process C is configured on the programmable logic circuit 16.

【図10】 本実施例に従って処理A→処理B→処理C
→処理B→処理Dの順で各ハードウェア・モジュールが
実行される処理フローを、従来例と比較しながら、時系
列的に表示した図である。
FIG. 10 shows processing A → processing B → processing C according to the present embodiment.
FIG. 11 is a diagram showing a processing flow in which each hardware module is executed in the order of → processing B → processing D in a time-series manner while comparing with a conventional example.

【図11】 特開平9−74556号公報に開示された
画像再生装置の構成を模式的に示した図である。
FIG. 11 is a diagram schematically showing a configuration of an image reproducing apparatus disclosed in Japanese Patent Application Laid-Open No. 9-74556.

【図12】 特開平6−301522号公報に開示され
た計算機システムの構成を模式的に示した図である。
FIG. 12 is a diagram schematically showing a configuration of a computer system disclosed in Japanese Patent Application Laid-Open No. 6-301522.

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

10…情報処理システム、11…CPU、11B…ホス
ト・バス、12…主記憶メモリ、13…バス・ブリッ
ジ、14…PCIバス、15…プログラマブル論理回路
インターフェース、16…プログラマブル論理回路、1
7…ハード・ディスク・インターフェース、18…ハー
ド・ディスク装置、19…通信インターフェース、20
…ネットワーク、21…記憶装置、100…アプリケー
ション・プログラム、160…コンフィギュレーション
・メモリ、161…論理セル、162…配線領域、16
3…入出力端子、164…回路素子、300…ハードウ
ェア・モジュール取得手段、310…取得要求送出手
段、320…取得再構成手段、600…実行モジュール
決定手段、800…識別符号記録手段。
DESCRIPTION OF SYMBOLS 10 ... Information processing system, 11 ... CPU, 11B ... Host bus, 12 ... Main memory, 13 ... Bus bridge, 14 ... PCI bus, 15 ... Programmable logic circuit interface, 16 ... Programmable logic circuit, 1
7: Hard disk interface, 18: Hard disk drive, 19: Communication interface, 20
... Network, 21 ... Storage device, 100 ... Application program, 160 ... Configuration memory, 161 ... Logic cell, 162 ... Wiring area, 16
Reference numeral 3 represents an input / output terminal, 164 represents a circuit element, 300 represents a hardware module acquisition unit, 310 represents an acquisition request sending unit, 320 represents an acquisition reconfiguration unit, 600 represents an execution module determination unit, and 800 represents an identification code recording unit.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】複数の処理モジュールからなる一連の処理
を実行するための情報処理システムであって、 各処理モジュールがプログラム言語で記述されたソフト
ウェア・モジュールで構成されるプログラムの形態で一
連の処理を受容するプログラム受容手段と、 ソフトウェア・モジュールを実行可能なプロセッサと、 回路情報で記述されたハードウェア・モジュールに従っ
て部分書き換え可能なプログラマブル論理回路と、 ソフトウェア・モジュールと同じ処理を前記プログラマ
ブル論理回路上で再構成するための回路情報で記述され
るハードウェア・モジュールを蓄積する蓄積手段と、 一連の処理を構成する各処理モジュールのうちハードウ
ェア・モジュールによって実行すべきものを決定する実
行モジュール決定手段と、 前記実行モジュール決定手段によって決定されたハード
ウェア・モジュールを前記蓄積手段から取り出して前記
プログラマブル論理回路上に再構成するハードウェア・
モジュール取得手段とを備え、 前記蓄積手段は、同一の処理を実現するが前記プログラ
マブル論理回路上に再構成すると形状が異なる複数のハ
ードウェア・モジュールを用意し、 前記ハードウェア・モジュール取得手段は、前記プログ
ラマブル論理回路のハードウェア構成可能領域に適合す
る形状を持つハードウェア・モジュールを優先的に取り
出す、ことを特徴とする情報処理システム。
1. An information processing system for executing a series of processing including a plurality of processing modules, wherein each processing module performs a series of processing in the form of a program constituted by software modules described in a programming language. Receiving a program, a processor capable of executing a software module, a programmable logic circuit partially rewritable according to a hardware module described by circuit information, and performing the same processing as the software module on the programmable logic circuit. Storage means for storing hardware modules described by circuit information to be reconfigured in an execution module; and execution module determination means for determining what should be executed by the hardware module among the processing modules constituting a series of processing. The execution mod Hardware Remove the hardware modules determined by Lumpur determining means from the storing means to reconstruct on the programmable logic circuit,
Module acquisition means, wherein the accumulation means implements the same processing, but prepares a plurality of hardware modules having different shapes when reconfigured on the programmable logic circuit, wherein the hardware module acquisition means comprises: An information processing system, wherein a hardware module having a shape conforming to a hardware configurable area of the programmable logic circuit is preferentially extracted.
【請求項2】前記蓄積手段に蓄積されるハードウェア・
モジュールは矩形形状で表現されることを特徴とする請
求項1に記載の情報処理システム。
2. The hardware stored in said storage means.
The information processing system according to claim 1, wherein the module is represented by a rectangular shape.
【請求項3】ハードウエア構成可能領域の形状は前記プ
ログラマブル論理回路上における水平方向と垂直方向の
各々の論理セル数によって定義されることを特徴とする
請求項1又は2のいずれかに記載の情報処理システム。
3. The configuration according to claim 1, wherein the shape of the hardware configurable area is defined by the number of logic cells in the horizontal and vertical directions on the programmable logic circuit. Information processing system.
【請求項4】部分書き換えが可能なプログラマブル論理
回路を再構成するためのハードウェア・モジュールを管
理するための方法であって、 同一の処理を実現するが前記プログラマブル論理回路上
に再構成すると形状が異なる複数のハードウェア・モジ
ュールを用意したことを特徴とするハードウェア・モジ
ュールを管理するための方法。
4. A method for managing a hardware module for reconfiguring a partially rewritable programmable logic circuit, wherein the same processing is realized, but the shape is reduced by reconfiguring on the programmable logic circuit. A method for managing a hardware module, comprising preparing a plurality of hardware modules different from each other.
【請求項5】部分書き換えが可能なプログラマブル論理
回路を再構成するためのハードウェア・モジュールを管
理するための装置であって、 同一の処理を実現するが前記プログラマブル論理回路上
に再構成すると形状が異なる複数のハードウェア・モジ
ュールを蓄積する手段と、 前記プログラマブル論理回路のハードウェア構成可能領
域に適合する形状を持つハードウェア・モジュールを優
先して前記蓄積手段から取り出す手段と、を具備するこ
と特徴とするハードウェア・モジュールを管理するため
の装置。
5. An apparatus for managing a hardware module for reconfiguring a partially rewritable programmable logic circuit, which realizes the same processing but is reconfigured on the programmable logic circuit. Means for storing a plurality of hardware modules different from each other, and means for preferentially extracting from the storage means a hardware module having a shape conforming to the hardware configurable area of the programmable logic circuit. A device for managing featured hardware modules.
JP05413799A 1999-03-02 1999-03-02 Information processing system Expired - Fee Related JP3684901B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05413799A JP3684901B2 (en) 1999-03-02 1999-03-02 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05413799A JP3684901B2 (en) 1999-03-02 1999-03-02 Information processing system

Publications (2)

Publication Number Publication Date
JP2000252814A true JP2000252814A (en) 2000-09-14
JP3684901B2 JP3684901B2 (en) 2005-08-17

Family

ID=12962199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05413799A Expired - Fee Related JP3684901B2 (en) 1999-03-02 1999-03-02 Information processing system

Country Status (1)

Country Link
JP (1) JP3684901B2 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003179141A (en) * 2001-10-10 2003-06-27 Altera Corp Device and method for silicon-on-insulator transistor in programmable logic device
JP2006293594A (en) * 2005-04-08 2006-10-26 Nippon Telegr & Teleph Corp <Ntt> Data protection service system and data protection method
JP2007179358A (en) * 2005-12-28 2007-07-12 Nec Corp Information processor and method of using reconfiguration device
JP2009025953A (en) * 2007-07-18 2009-02-05 Fuji Xerox Co Ltd Arithmetic processing unit and arithmetic processing program
JP2009129163A (en) * 2007-11-22 2009-06-11 Fuji Xerox Co Ltd Data processing apparatus and data processing program
JP2010211496A (en) * 2009-03-10 2010-09-24 Mitsubishi Electric Corp Dynamic reconfiguration device
JP2011186981A (en) * 2010-03-11 2011-09-22 Fuji Xerox Co Ltd Data processor
JP2011198085A (en) * 2010-03-19 2011-10-06 Fuji Xerox Co Ltd Image processing apparatus, image forming system, and image processing program
JP2014186667A (en) * 2013-03-25 2014-10-02 Fuji Xerox Co Ltd Reconfigurable circuit, image forming apparatus, and program
US8896345B2 (en) 2012-04-30 2014-11-25 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
JP2015039155A (en) * 2013-08-19 2015-02-26 富士通株式会社 Control method, arithmetic device and control program
JP2016009339A (en) * 2014-06-24 2016-01-18 キヤノン株式会社 Image processor, control method thereof and program
JP2016035692A (en) * 2014-08-04 2016-03-17 キヤノン株式会社 Image processing apparatus, system, information processing method, and program
JP2016143086A (en) * 2015-01-29 2016-08-08 キヤノン株式会社 Information processing apparatus, control method thereof, and program
JP2017097478A (en) * 2015-11-19 2017-06-01 富士通株式会社 Arithmetic processing unit and control method of arithmetic processing unit
US10193998B2 (en) 2016-02-15 2019-01-29 Hitachi, Ltd. Communication apparatus, communication system, and circuit configuration control method
JP2020004429A (en) * 2019-08-08 2020-01-09 キヤノン株式会社 Information processing apparatus, control method thereof, and program

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003179141A (en) * 2001-10-10 2003-06-27 Altera Corp Device and method for silicon-on-insulator transistor in programmable logic device
JP2006293594A (en) * 2005-04-08 2006-10-26 Nippon Telegr & Teleph Corp <Ntt> Data protection service system and data protection method
JP4713916B2 (en) * 2005-04-08 2011-06-29 日本電信電話株式会社 Data protection service system and data protection method
JP2007179358A (en) * 2005-12-28 2007-07-12 Nec Corp Information processor and method of using reconfiguration device
JP2009025953A (en) * 2007-07-18 2009-02-05 Fuji Xerox Co Ltd Arithmetic processing unit and arithmetic processing program
JP2009129163A (en) * 2007-11-22 2009-06-11 Fuji Xerox Co Ltd Data processing apparatus and data processing program
JP2010211496A (en) * 2009-03-10 2010-09-24 Mitsubishi Electric Corp Dynamic reconfiguration device
US8299816B2 (en) 2010-03-11 2012-10-30 Fuji Xerox Co., Ltd. Data processing apparatus
JP2011186981A (en) * 2010-03-11 2011-09-22 Fuji Xerox Co Ltd Data processor
US8773713B2 (en) 2010-03-19 2014-07-08 Fuji Xerox Co., Ltd. Image processing apparatus, image forming system and non-transitory computer readable medium
JP2011198085A (en) * 2010-03-19 2011-10-06 Fuji Xerox Co Ltd Image processing apparatus, image forming system, and image processing program
US8896345B2 (en) 2012-04-30 2014-11-25 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
JP2018038052A (en) * 2012-04-30 2018-03-08 株式会社半導体エネルギー研究所 Operation method for semiconductor device
JP2014186667A (en) * 2013-03-25 2014-10-02 Fuji Xerox Co Ltd Reconfigurable circuit, image forming apparatus, and program
JP2015039155A (en) * 2013-08-19 2015-02-26 富士通株式会社 Control method, arithmetic device and control program
JP2016009339A (en) * 2014-06-24 2016-01-18 キヤノン株式会社 Image processor, control method thereof and program
CN105323404A (en) * 2014-06-24 2016-02-10 佳能株式会社 Image processing apparatus and control method for the same
JP2016035692A (en) * 2014-08-04 2016-03-17 キヤノン株式会社 Image processing apparatus, system, information processing method, and program
JP2016143086A (en) * 2015-01-29 2016-08-08 キヤノン株式会社 Information processing apparatus, control method thereof, and program
JP2017097478A (en) * 2015-11-19 2017-06-01 富士通株式会社 Arithmetic processing unit and control method of arithmetic processing unit
US10193998B2 (en) 2016-02-15 2019-01-29 Hitachi, Ltd. Communication apparatus, communication system, and circuit configuration control method
JP2020004429A (en) * 2019-08-08 2020-01-09 キヤノン株式会社 Information processing apparatus, control method thereof, and program

Also Published As

Publication number Publication date
JP3684901B2 (en) 2005-08-17

Similar Documents

Publication Publication Date Title
JP2000252814A (en) Information processing system
JP3587095B2 (en) Information processing equipment
US7328335B1 (en) Bootable programmable logic device for internal decoding of encoded configuration data
US6460136B1 (en) Method and apparatus for loading an operating system kernel from a shared disk memory
JP2000311156A (en) Reconfigurable parallel computer
CN111414325B (en) Method for converting Avalon bus into Axi4 bus
JPWO2009060567A1 (en) Data transfer control device, data transfer device, data transfer control method, and semiconductor integrated circuit using reconfiguration circuit
JPS58154054A (en) Control circuit of external storage device
JP4212676B2 (en) Information processing system and information processing method
JP3877002B2 (en) Information processing system and information processing method
CN110941444A (en) Upgrade configuration logic circuit, method and system and programmable logic device
US6477177B1 (en) Multiple device access to serial data stream
JP3678270B2 (en) Information processing system and information processing method
CN111352641A (en) Method and device for automatic packaging by batch processing, computer equipment and storage medium
CN111198718A (en) FPGA-based processor starting method and processor
US6314485B1 (en) Automatic status register
JP3738802B2 (en) Information processing system
JPH1078932A (en) Reconfigurable network computer
CN114924803A (en) Loading starting method, chip, electronic device and storage medium
JPH1117524A (en) Programmable logic circuit system and re-configuration method for programmable logic circuit device
JPH10177541A (en) Data transfer device and system therefor
JP3707360B2 (en) Circuit function reconfiguration method and programmable logic circuit device
US6122697A (en) System for extending the width of a data bus
JP3747985B2 (en) Information processing system
JP3944639B2 (en) Programmable logic device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050523

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: 20090610

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees