JP2001068993A - Information processing system - Google Patents
Information processing systemInfo
- Publication number
- JP2001068993A JP2001068993A JP23838499A JP23838499A JP2001068993A JP 2001068993 A JP2001068993 A JP 2001068993A JP 23838499 A JP23838499 A JP 23838499A JP 23838499 A JP23838499 A JP 23838499A JP 2001068993 A JP2001068993 A JP 2001068993A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- circuit
- information
- programmable logic
- data
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Microcomputers (AREA)
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、アプリケーション
プログラムによる処理の一部分を、回路構成を再構成で
きるプログラマブル論理回路で処理することが可能であ
る情報処理システムに関する。特に、回路の再構成と処
理を連続的に実行する方法に関するものである。[0001] 1. Field of the Invention [0002] The present invention relates to an information processing system capable of processing a part of processing by an application program by a programmable logic circuit whose circuit configuration can be reconfigured. In particular, the present invention relates to a method for continuously executing circuit reconfiguration and processing.
【0002】[0002]
【従来の技術】デジタル回路装置、特に特定用途向け集
積回路(ASIC)の分野において、製品の開発期間を
短縮するために、フィールドプログラマブルゲートアレ
イ(FPGA)やプログラマブルロジックデバイス(P
LD)などで構成されたプログラマブル論理回路が広く
使われている。これらのプログラマブル論理回路は、論
理回路を記述する回路情報を読み込ませることで、内部
の論理回路と論理回路間の結線を自由に構成することが
できる。このため、プログラマブル論理回路を用いるこ
とで、従来は回路設計の終了後に数週間から数か月を必
要とした集積回路の作製時間が不要となるメリットがあ
る。特に、例えば米国特許第4,700,187号明細
書等に記載されているような電気的に再構成可能なプロ
グラマブル論理装置は、一度作製した回路を必要に応じ
て自由に何度でも変更できるという利点があり、ますま
す広く使われるようになってきている。2. Description of the Related Art In the field of digital circuit devices, in particular, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) and programmable logic devices (PGAs) have been developed in order to shorten the development period of products.
2. Description of the Related Art Programmable logic circuits including LDs) are widely used. These programmable logic circuits can freely configure the internal logic circuits and the connections between the logic circuits by reading circuit information describing the logic circuits. For this reason, using a programmable logic circuit has the advantage that the time required to manufacture an integrated circuit, which conventionally required several weeks to several months after the completion of circuit design, is not required. In particular, an electrically reconfigurable programmable logic device as described in, for example, U.S. Pat. No. 4,700,187 can change a circuit once manufactured as many times as necessary. It is becoming more and more widely used.
【0003】ところで、最近の論理回路はますます複雑
になってきており、ひとつのプログラマブル論理回路で
は実現できない規模にまで回路規模が大きくなってい
る。この問題を解決するためのひとつの方法として、異
なる時間に異なる論理回路を実現するために、プログラ
マブル論理回路を処理の途中で再構成することが提案さ
れている。この方法を用いることにより、携帯情報端末
のように装置が小型であるために内蔵できる回路規模に
制約がある場合でも、様々な処理を比較的高速に行うこ
とができるという利点がある。[0003] Recently, logic circuits have become more and more complex, and the circuit scale has increased to a level that cannot be realized by a single programmable logic circuit. As one method for solving this problem, it has been proposed to reconfigure a programmable logic circuit during processing in order to realize different logic circuits at different times. By using this method, there is an advantage that various processes can be performed at relatively high speed even when the size of a circuit that can be built in is limited due to the small size of the device such as a portable information terminal.
【0004】しかし、プログラマブル論理回路を再構成
するときには、回路全体の回路情報を再度読み込ませる
必要があるため、再構成に時間がかかるという欠点があ
る。さらに、処理の途中で再構成することは、処理を一
時中断し、その時のデータをプログラマブル論理回路の
外部の記憶装置に待避させ、新たな回路情報を読み込ん
で再構成し、再構成前のデータと再構成に伴う新しいデ
ータを入力するという余分な処理が必要になる。However, when reconfiguring a programmable logic circuit, it is necessary to read the circuit information of the entire circuit again, so that there is a disadvantage that the reconfiguration takes time. Further, reconfiguring in the middle of the process means that the process is temporarily suspended, the data at that time is saved in a storage device outside the programmable logic circuit, new circuit information is read and reconfigured, and the data before reconfiguration is reconstructed. And extra processing of inputting new data for reconstruction is required.
【0005】この問題を解決するものとして、例えば米
国アトメル社の「CONFIGURABLE LOGI
C」という名のデータブックに記載されているプログラ
マブル論理回路、および米国ザイリンクス社の「THE
PROGRAMMABLELOGIC」という名のデ
ータブックに記載されているプログラマブル論理回路等
がある。これらのプログラマブル論理回路は、データを
記憶するためのデータ記憶装置を有し、回路の動作中で
も外部の記憶装置から回路情報の一部を読み込んで部分
的に再構成を行うことができる。これによって、再構成
するための時間を最小に留めるようにしている。[0005] To solve this problem, for example, "CONFIGURABLE LOGI" manufactured by Atmel, USA
C "and a programmable logic circuit described in a data book named Xilinx" THE "
There is a programmable logic circuit or the like described in a data book named "PROGRAMMABLELOGIC". These programmable logic circuits have a data storage device for storing data, and can read a part of the circuit information from an external storage device and partially reconfigure the circuit even during operation of the circuit. This keeps the time for reconfiguration to a minimum.
【0006】このようなプログラマブル論理回路を情報
処理システムに用いる場合には、例えばCPUなどの制
御装置がアプリケーション等の処理とプログラマブル論
理回路の再構成とを高速かつ効率的に行わなければなら
ないという問題がある。すなわち制御装置は、所望の論
理回路を構成するための回路情報を格納先から取り出
し、必要に応じて複数の回路情報を合成し、プログラマ
ブル論理回路内に所望の論理回路を再構成する。これと
並行して、アプリケーションの処理を実行する必要があ
り、両者の処理を高速かつ効率的に行わねばならない。When such a programmable logic circuit is used in an information processing system, for example, a control device such as a CPU must perform processing of an application and the like and reconfiguration of the programmable logic circuit at high speed and efficiently. There is. That is, the control device extracts circuit information for forming a desired logic circuit from a storage destination, combines a plurality of pieces of circuit information as necessary, and reconfigures the desired logic circuit in the programmable logic circuit. In parallel with this, it is necessary to execute the processing of the application, and both processing must be performed quickly and efficiently.
【0007】以上に述べた複数の回路情報によりプログ
ラマブル論理回路を再構成しながら処理を行う情報シス
テムは、ネットワークに接続して利用することができ
る。その例として、特開平10−78932号公報に公
開される「リコンフィグラブル・ネットワークコンピュ
ータ」がある。[0007] The information system for performing processing while reconfiguring a programmable logic circuit based on a plurality of circuit information described above can be used by connecting to a network. As an example, there is a “reconfigurable network computer” disclosed in Japanese Patent Application Laid-Open No. 10-78932.
【0008】図17は、従来の情報処理システムの一例
を示すブロック図である。図中、51はアプリケーショ
ンサーバ、52,53はクライアントコンピュータ、5
4は通信ネットワーク、55はメインプロセッサ、56
は拡張ハードウェア、57はアプリケーションプログラ
ム、58は拡張コード、59はメインプロセッサコー
ド、60はOS、61はコード選択機能である。この情
報処理システムは、通信ネットワーク54によって接続
された複数のコンピュータで構成されている。FIG. 17 is a block diagram showing an example of a conventional information processing system. In the figure, 51 is an application server, 52 and 53 are client computers, 5
4 is a communication network, 55 is a main processor, 56
Is an extension hardware, 57 is an application program, 58 is an extension code, 59 is a main processor code, 60 is an OS, and 61 is a code selection function. The information processing system includes a plurality of computers connected by a communication network 54.
【0009】アプリケーションサーバ51は、アプリケ
ーションプログラムを配布するコンピュータである。ま
た、クライアントコンピュータ52,53は、アプリケ
ーションサーバ51からアプリケーションプログラム5
7をダウンロードして実行する。クライアントコンピュ
ータ52,53には、メインプロセッサ55が搭載され
ており、OS60の管理下においてアプリケーションプ
ログラム57を実行することができる。また、クライア
ントコンピュータ52は、メインプロセッサ55とは別
に拡張ハードウェア56を有している。拡張ハードウェ
ア56は、上述のプログラマブル論理回路が搭載されて
おり、プログラムにより機能を随時変更し、再構成する
ことが可能である。The application server 51 is a computer that distributes application programs. In addition, the client computers 52 and 53 transmit the application program 5 from the application server 51.
7 is downloaded and executed. A main processor 55 is mounted on each of the client computers 52 and 53, and can execute an application program 57 under the control of the OS 60. Further, the client computer 52 has extended hardware 56 separately from the main processor 55. The extended hardware 56 is equipped with the above-described programmable logic circuit, and can change its function as needed by a program and can be reconfigured.
【0010】アプリケーションサーバ51に格納された
アプリケーションプログラム57においては、その一部
の機能については、拡張ハードウェア56のプログラム
コード(拡張コード58)と、クライアントコンピュー
タのメインプロセッサ55のコード(メインプロセッサ
コード59)が含まれている。[0010] In the application program 57 stored in the application server 51, some of its functions are provided by a program code (extended code 58) of the extended hardware 56 and a code (main processor code) of the main processor 55 of the client computer. 59) is included.
【0011】また、クライアントコンピュータ52,5
3のOS60には、それぞれのハードウェア構成に適し
たコードを選択するコード選択機能61を有している。
このコード選択機能61が、拡張ハードウェア56を実
装しているか否かを判断し、クライアントコンピュータ
52のように拡張ハードウェア56が実装されている場
合には、アプリケーションプログラム57の中から拡張
コード58を取り出して拡張ハードウェア56により実
行する。またクライアントコンピュータ53のように拡
張ハードウェアを持たない場合には、メインプロセッサ
コード59を選択して実行する。The client computers 52, 5
The third OS 60 has a code selection function 61 for selecting a code suitable for each hardware configuration.
The code selection function 61 determines whether or not the extension hardware 56 is implemented. If the extension hardware 56 is implemented as in the client computer 52, the extension code 58 is read from the application program 57. And executed by the extended hardware 56. When the client computer 53 does not have extended hardware, the main processor code 59 is selected and executed.
【0012】別の構成では、拡張ハードウェア56で実
現する機能を、クライアントコンピュータ上に後から動
的に追加/削除が可能なOS60の拡張機能あるいは動
的ライブラリとして実現し、アプリケーションプログラ
ム57がOS60に対し、処理中に利用する拡張機能あ
るいは動的ライブラリの種類を登録する。OS60は、
拡張機能あるいは動的ライブラリがクライアントコンピ
ュータに上に存在する場合にはそれを用い、存在しない
場合には通信ネットワーク54上のアプリケーションサ
ーバ51から必要とする拡張機能あるいは動的ライブラ
リを転送して利用する。In another configuration, the function realized by the extended hardware 56 is realized as an extended function or a dynamic library of the OS 60 which can be dynamically added / deleted later on the client computer. Register the type of extended function or dynamic library used during processing. OS60,
If the extension function or dynamic library exists on the client computer, it is used. If not, the required extension function or dynamic library is transferred from the application server 51 on the communication network 54 and used. .
【0013】また、メインプロセッサコード59と拡張
コード58は、一体となっているのではなく、アプリケ
ーションプログラム57またはOS60の拡張機能また
は動的ライブラリ毎に、個々のコードをアプリケーショ
ンサーバ51に上に備えている。Further, the main processor code 59 and the extension code 58 are not integrated, but individual codes are provided on the application server 51 for each extension function or dynamic library of the application program 57 or the OS 60. ing.
【0014】拡張ハードウェア56を構成するプログラ
マブル論理回路の構成が、クライアントコンピュータ間
で異なる場合は、拡張コード58を、適当なゲート数と
入出力端子数の論理回路の機能をブール式等で記述した
基本モジュールと、それらの接続関係を表現したコード
から構成される。この基本モジュールをそれぞれプログ
ラマブル論理回路の基本プログラムとして割り付ける機
能と、複数のプログラマブルロジックチップにまたがる
大きな拡張コードの場合には、基本モジュールを接続の
度合いに応じて分割し、各プログラマブルロジックチッ
プに配置、配線する機能を、アプリケーションサーバ5
1またはクライアントコンピュータ上に持つ。If the configuration of the programmable logic circuit constituting the extension hardware 56 differs between client computers, the extension code 58 is described by using a Boolean formula or the like to describe the function of the logic circuit having an appropriate number of gates and input / output terminals. It consists of the basic modules and the codes that represent the connections between them. In the case of a function for assigning each basic module as a basic program of a programmable logic circuit, and in the case of a large extension code extending over a plurality of programmable logic chips, the basic module is divided according to the degree of connection, and arranged on each programmable logic chip. Application server 5
1 or on the client computer.
【0015】拡張ハードウェア56を利用する複数のア
プリケーションを同時に実行できるように、必要のなく
なったハードウェア資源を別のアプリケーションプログ
ラムのために再利用するハードウェア資源の管理機能
と、拡張ハードウェア56に入りきらない拡張コードを
時分割で入れ替えるコード入れ替え機能を持つ。クライ
アントコンピュータ上で実行されるアプリケーションプ
ログラム毎に適宜設定されるプライオリティ値、メイン
プロセッサ55の処理能力値、拡張ハードウェア56の
処理能力値、ハードウェア資源量、コードを入れ替える
ために必要な処理能力値を基に、ハードウェア資源に入
りきらない複数のアプリケーションプログラムに対して
選択する拡張ハードウェア管理機能を持つ。複数のアプ
リケーションが同時に同じ拡張コードを拡張ハードウェ
ア56で利用する場合には、内部状態のみを時分割で切
り替えて機能を共有する。A hardware resource management function for reusing the unnecessary hardware resources for another application program so that a plurality of applications using the extended hardware 56 can be executed simultaneously; It has a code replacement function that replaces extended codes that cannot fit in by time sharing. A priority value appropriately set for each application program executed on the client computer, a processing capability value of the main processor 55, a processing capability value of the extended hardware 56, a hardware resource amount, and a processing capability value required for exchanging codes. Based on the above, it has an extended hardware management function for selecting a plurality of application programs that cannot fit in the hardware resources. When a plurality of applications use the same extension code in the extension hardware 56 at the same time, the function is shared by switching only the internal state in a time division manner.
【0016】以上のように、ネットワークで接続された
コンピュータ上で、アプリケーションサーバから配布さ
れたアプリケーションプログラムをクライアントコンピ
ュータ側で実行する際、プログラムにより機能を随時変
更し、再構成可能な拡張ハードウェアをクライアントコ
ンピュータに搭載する。そして、アプリケーションサー
バに格納されたアプリケーションプログラムには、メイ
ンプロセッサコードと拡張コードを含ませておく。実行
時には、拡張ハードウェアの有無、種類を判断するOS
のコード選択機能によって、クライアントコンピュータ
側で拡張ハードウェアの構成を変え、処理に適した構成
にする。これによって、クライアントコンピュータにお
いて、アプリケーションプログラムを高速に処理するこ
とができる。As described above, when an application program distributed from an application server is executed on a client computer side on a computer connected via a network, the function is changed as needed by the program, and reconfigurable extended hardware is used. Installed on the client computer. Then, the application program stored in the application server includes a main processor code and an extension code. At the time of execution, an OS that determines the presence or absence and type of extended hardware
The code selection function changes the configuration of the extended hardware on the client computer side to make the configuration suitable for processing. This allows the client computer to process the application program at high speed.
【0017】また、従来、ネットワーク上で、クライア
ントコンピュータ側に特殊なハードウェアを必要とする
新しいサービスを開始しようとする場合、クライアント
コンピュータ側のユーザは、そのために新しいハードウ
ェアを導入する必要があった。またサービスの提供者
は、新しいハードウェアをもつ一部のユーザに対しての
み、新しいサービスを提供していた。しかし上述のよう
に、プログラマブル論理回路を搭載した拡張ハードウェ
アを有している構成では、プログラマブル論理回路を再
構成することによって、新しいハードウェアを導入する
ことなく、新しいサービスを開始することが可能とな
る。Conventionally, when trying to start a new service that requires special hardware on the client computer side on a network, the user on the client computer side needs to introduce new hardware for that purpose. Was. Also, service providers provided new services only to some users with new hardware. However, as described above, in a configuration that has extended hardware with programmable logic circuits, it is possible to start a new service without introducing new hardware by reconfiguring the programmable logic circuits. Becomes
【0018】このように拡張ハードウェアにプログラマ
ブル論理回路を用いて、回路を再構成しながら処理を実
行していく場合には、CPUによる制御が必要であっ
た。例えばアプリケーションプログラムにおいて、処理
のフローが決定されていて、そのために用いる機能回路
があらかじめ選択指定可能な場合にも、常にメインプロ
セッサを動作させた処理方法が用いられている。特に、
上述のシステム例のように、クライアントコンピュータ
に拡張ハードウェアが搭載されている場合、拡張コード
によって再構成する制御は、クライアントコンピュータ
のメインプロセッサにより行われる。そのため、アプリ
ケーションプログラムのメインプログラムにはあらかじ
め必要な拡張コードが関連づけされていて、拡張ハード
ウェアの再構成の都度、メインプロセッサの制御によっ
て拡張コードを用いて行われている。このため、多種多
様な拡張ハードウェアを頻繁に再構成しながらアプリケ
ーションプログラムを実行していく場合には、常に、メ
インプロセッサが処理の進行状態を監視するとともに、
再構成のための制御を行う必要があり、メインプロセッ
サの負荷が大きくなる欠点がある。また、拡張ハードウ
ェアの動作とともにメインプロセッサも動作させる必要
があり、クライアント全体の消費電力も増大する欠点が
ある。As described above, when the processing is executed while reconfiguring the circuit by using the programmable logic circuit as the extended hardware, control by the CPU is required. For example, a processing method in which a main processor is always operated is used even when a processing flow is determined in an application program and a functional circuit used for the processing can be selected and designated in advance. In particular,
When extended hardware is installed in a client computer as in the above-described system example, control for reconfiguring with extended code is performed by the main processor of the client computer. For this reason, a necessary extension code is associated with the main program of the application program in advance, and each time the extension hardware is reconfigured, the extension is performed using the extension code under the control of the main processor. For this reason, when executing an application program while frequently reconfiguring a wide variety of extended hardware, the main processor always monitors the progress of processing,
It is necessary to perform control for reconfiguration, and there is a disadvantage that the load on the main processor increases. Further, it is necessary to operate the main processor together with the operation of the extended hardware, and there is a disadvantage that the power consumption of the entire client increases.
【0019】このように、回路の再構成のための制御に
よって、メインプロセッサの処理負荷が常時発生するこ
とにより、消費電力として、メインプロセッサと拡張ハ
ードウェアとを合わせた増加となってしまう問題があ
る。また、回路の再構成のためのメインプロセッサの負
荷のため、システム全体のパフォーマンスが制約を受け
て低下してしまう欠点があった。As described above, there is a problem that the processing load of the main processor is constantly generated by the control for reconfiguring the circuit, so that the power consumption is increased by combining the main processor and the extended hardware. is there. In addition, there is a disadvantage that the performance of the whole system is reduced due to the load of the main processor for reconfiguring the circuit.
【0020】次に、プログラマブル論理回路の新しいデ
バイス技術について述べる。アプリケーションの処理に
合わせた処理回路をプログラマブル論理回路上に構成
し、この専用の処理回路を用いて高速処理を実現すると
いうリコンフィギュラブルコンピューティングにプログ
ラマブル論理回路が活用されはじめている。リコンフィ
ギュラブルコンピューティングでは、アプリケーション
処理で必要となる複数の処理回路の回路情報を記憶装置
へ事前に格納しておき、必要に応じて記憶装置から読み
出した回路情報をプログラマブル論理回路に書き込むこ
とで、その時点で必要となる回路を生成する。この技術
はキャッシュロジック技術とかバーチャルロジック技術
と呼ばれる。Next, a new device technology for a programmable logic circuit will be described. 2. Description of the Related Art Programmable logic circuits have begun to be used in reconfigurable computing, in which processing circuits adapted to the processing of applications are configured on programmable logic circuits, and high-speed processing is realized using the dedicated processing circuits. In reconfigurable computing, circuit information of a plurality of processing circuits required for application processing is stored in a storage device in advance, and the circuit information read from the storage device is written to a programmable logic circuit as needed. , And generate a circuit required at that time. This technology is called cache logic technology or virtual logic technology.
【0021】キャッシュロジック技術は、同じプログラ
マブル論理回路上に必要に応じて異なる回路を構成する
という時分割駆動技術である。その結果、回路規模の小
さなプログラマブル論理回路を用いて、その回路規模以
上の回路を実現でき、回路装置の小型化と低コスト化が
可能となる。しかしながら、プログラマブル論理回路に
書きこむ回路情報の規模によっては、回路の再構成時間
が長くなり、専用の処理回路を用いて高速処理を実現す
るというリコンフィギュラブルコンピューティングの効
果を損なうという問題がある。The cache logic technique is a time-division driving technique in which different circuits are formed as needed on the same programmable logic circuit. As a result, by using a programmable logic circuit having a small circuit scale, a circuit larger than the circuit scale can be realized, and the size and cost of the circuit device can be reduced. However, depending on the size of the circuit information to be written in the programmable logic circuit, there is a problem that the reconfiguration time of the circuit becomes longer and the effect of the reconfigurable computing of realizing high-speed processing using a dedicated processing circuit is impaired. .
【0022】この問題のひとつの解決方法が、マルチコ
ンテキスト技術と呼ばれるデバイス技術である。すなわ
ち、プログラマブル論理回路内に複数の回路情報を格納
するメモリを備え、必要に応じてメモリを切り替えて回
路を再構成することにより、回路の再構成時間を大幅に
短縮できる。One solution to this problem is a device technology called a multi-context technology. That is, a memory for storing a plurality of pieces of circuit information is provided in the programmable logic circuit, and the memory is switched as necessary to reconfigure the circuit, so that the reconfiguration time of the circuit can be significantly reduced.
【0023】マルチコンテキスト技術の従来例のひとつ
が、FPD’95の“A First Generat
ion DPGA Implementation”で
示されたDPGAである。図18は、DPGAの論理セ
ル構造の一例の説明図である。図中、71はDRAM、
72,75はマルチプレクサ、73はルックアップテー
ブル、74はフリップフロップである。図18に示すよ
うに、DPGAの論理セルは、4組の構成を格納する4
×32ビットのDRAM71、4つの8入力マルチプレ
クサ72、4入力ルックアップテーブル73、フリップ
フロップ74、出力を切り替えるマルチプレクサ75で
構成されている。32ビットのDRAM71の出力のう
ち、12ビットが4つの8入力マルチプレクサ72の状
態を、16ビットが4入力ルックアップテーブル73の
状態を、1ビットがマルチプレクサ75の状態を決定
し、残り3ビットは保留されている。4組のDRAM7
1には、それぞれ異なるデータが格納されており、メモ
リ出力を切り替えることにより、異なる回路を構成する
ことができる。One of the conventional examples of the multi-context technique is “A First Generator” of FPD'95.
ion DPGA Implementation ”. FIG. 18 is an explanatory diagram of an example of a logic cell structure of the DPGA. In the figure, reference numeral 71 denotes a DRAM,
72 and 75 are multiplexers, 73 is a look-up table, and 74 is a flip-flop. As shown in FIG. 18, a DPGA logic cell stores four sets of configurations.
It comprises a × 32-bit DRAM 71, four 8-input multiplexers 72, a 4-input look-up table 73, a flip-flop 74, and a multiplexer 75 for switching the output. Of the outputs of the 32-bit DRAM 71, 12 bits determine the state of the four 8-input multiplexer 72, 16 bits determine the state of the 4-input look-up table 73, 1 bit determines the state of the multiplexer 75, and the remaining 3 bits determine the state of the multiplexer 75. Pending 4 sets of DRAM7
1 stores different data, and different circuits can be configured by switching memory outputs.
【0024】マルチコンテキスト技術は、回路の再構成
時間を大幅に短縮することができる。また、回路を再構
成するための回路情報をプログラマブル論理回路に転送
するときの入出力バスラインの負荷を小さくできるた
め、高速化と低消費電力化に有利な構成である。しか
し、回路情報を格納するためのメモリ回路領域をプログ
ラマブル論理回路と一体構成する必要があり、集積回路
化した場合のプログラマブル論理回路全体の回路規模が
大きくなるという欠点を有している。The multi-context technique can greatly reduce the circuit reconfiguration time. Further, the load on the input / output bus lines when transferring circuit information for reconfiguring the circuit to the programmable logic circuit can be reduced, which is advantageous for high speed and low power consumption. However, a memory circuit area for storing circuit information needs to be integrally formed with the programmable logic circuit, which has a disadvantage that the circuit scale of the entire programmable logic circuit when integrated is increased.
【0025】[0025]
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、プログラマブル論理回路を
再構成するためのメインプロセッサの負荷を大幅に軽減
させることができ、これにより低消費電力化を図るとと
もに、メインプロセッサを有効に活用できるようにして
システム全体のパフォーマンスを向上させた情報処理シ
ステムを提供することを目的とするものである。SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and can greatly reduce the load on a main processor for reconfiguring a programmable logic circuit, thereby reducing power consumption. It is an object of the present invention to provide an information processing system in which the power consumption is increased and the performance of the entire system is improved by effectively utilizing a main processor.
【0026】[0026]
【課題を解決するための手段】一般にアプリケーション
プログラムにおいて、処理のフローが決定されていて、
そのために用いる処理回路が複数の種類の組み合わせで
あらかじめ選択指定可能な場合、同じ順番を単位として
一定の繰り返される処理の場合などには、あらかじめ使
用する回路情報と順番を決定できる。本発明はこれを利
用し、プログラマブル論理回路に処理回路を構成するた
めの回路情報を、予め順番に回路情報保持手段に保持さ
せておく。そしてCPUなどの制御手段は、プログラマ
ブル論理回路で処理を行う処理データのヘッダ部など
に、使用する回路情報を特定するための情報を含めて、
処理を依頼する。インタフェース手段は、与えられた処
理データの例えばヘッダ部などから、プログラマブル論
理回路の再構成に使用する最初の回路情報を特定すると
ともに、特定された回路情報から回路情報保持手段に保
持されている順番に回路情報を取り出し、プログラマブ
ル論理回路を再構成して処理回路を構成し、構成した処
理回路に処理データの処理を行わせる。In general, the flow of processing is determined in an application program.
In the case where a processing circuit used for the selection can be selected and designated in advance by a plurality of types of combinations, or in the case of a predetermined repeated processing in the same order as a unit, the circuit information to be used and the order can be determined in advance. The present invention makes use of this, and stores circuit information for configuring a processing circuit in the programmable logic circuit in advance in the circuit information holding unit in order. Then, the control means such as the CPU includes information for specifying circuit information to be used, for example, in a header portion of processing data to be processed by the programmable logic circuit,
Request processing. The interface means specifies the first circuit information to be used for the reconfiguration of the programmable logic circuit from, for example, a header part of the given processing data, and the order in which the circuit information is held in the circuit information holding means from the specified circuit information. Then, the circuit information is extracted, the programmable logic circuit is reconfigured to configure a processing circuit, and the configured processing circuit processes the processing data.
【0027】このようにして、プログラマブル論理回路
では、予め設定されている順番で、処理回路の再構成と
実行が自動的に行われる。そのため、CPUなどの制御
手段では、最初に実行指示を行うだけで、以後順番に行
われるプログラマブル論理回路の再構成や実行指示を行
う必要がない。これによってCPUなどの制御手段によ
るプログラマブル論理回路の制御を行うための処理ステ
ップが大幅に削減され、高速化を図ることができるとと
もに、消費電力を大幅に低減することができる。これと
ともに、プログラマブル論理回路を含めた情報処理シス
テムにおける全体のパフォーマンスを向上させることが
できる。Thus, in the programmable logic circuit, the reconfiguration and execution of the processing circuit are automatically performed in a preset order. Therefore, a control unit such as a CPU only issues an execution instruction first, and does not need to issue a reconfiguration or execution instruction of a programmable logic circuit that is performed in order thereafter. As a result, the number of processing steps for controlling the programmable logic circuit by the control means such as the CPU can be significantly reduced, and the speed can be increased, and the power consumption can be significantly reduced. At the same time, the overall performance of the information processing system including the programmable logic circuit can be improved.
【0028】[0028]
【発明の実施の形態】図1は、本発明の情報処理システ
ムの実施の一形態を示す構成図である。図中、1は情報
処理システム、2はネットワーク、3は外部機器、11
はCPU、12はホストバス、13はチップセット、1
4はメインメモリ、15はシステムバス、16はハード
ディスクインタフェース、17はハードディスクドライ
ブ、18は通信インタフェース、19は拡張ハードウェ
ア部、21はプログラマブル論理回路、22はローカル
メモリ、23はプログラマブル論理回路インタフェー
ス、24は外部入出力インタフェースである。FIG. 1 is a block diagram showing an embodiment of an information processing system according to the present invention. In the figure, 1 is an information processing system, 2 is a network, 3 is an external device, 11
Is a CPU, 12 is a host bus, 13 is a chip set, 1
4 is a main memory, 15 is a system bus, 16 is a hard disk interface, 17 is a hard disk drive, 18 is a communication interface, 19 is an extended hardware unit, 21 is a programmable logic circuit, 22 is a local memory, 23 is a programmable logic circuit interface, 24 is an external input / output interface.
【0029】情報処理システム1において、CPU11
のホストバス12に、チップセット13に含まれる図示
しないメモリコントローラを介して、DRAMで構成さ
れるメインメモリ14が接続されている。ホストバス1
2は、チップセット13に含まれる図示しないバスブリ
ッジを介してシステムバス15に接続されている。シス
テムバス15は、例えばPCIバスやISAバス、その
他各種のバスを使用することができる。例えばシステム
バス15としてPCIバスを用いた場合、チップセット
13内にはホスト−PCIブリッジを備えていればよ
い。In the information processing system 1, the CPU 11
A main memory 14 composed of a DRAM is connected to the host bus 12 via a memory controller (not shown) included in the chipset 13. Host bus 1
2 is connected to the system bus 15 via a bus bridge (not shown) included in the chipset 13. As the system bus 15, for example, a PCI bus, an ISA bus, or various other buses can be used. For example, when a PCI bus is used as the system bus 15, the chipset 13 only needs to include a host-PCI bridge.
【0030】システムバス15には、この例では、ハー
ドディスクインタフェース16を介してハードディスク
ドライブ17が接続され、また通信インタフェース18
を介してネットワーク2と接続されている。さらに拡張
ハードウェア部19が接続され、この拡張ハードウェア
部19を介して外部機器3が接続されている。もちろん
他の種々の機器が直接あるいはインタフェースを介して
システムバス15に接続されていてもよく、また、ハー
ドディスクおよびネットワークについても接続は任意で
ある。In this example, a hard disk drive 17 is connected to the system bus 15 via a hard disk interface 16.
Is connected to the network 2 via the. Further, an extension hardware unit 19 is connected, and the external device 3 is connected via the extension hardware unit 19. Of course, various other devices may be connected to the system bus 15 directly or via an interface, and the connection of the hard disk and the network is arbitrary.
【0031】この例では、ハードディスクドライブ17
にはアプリケーションプログラムが格納されている。ア
プリケーションプログラムは、ハードディスクインタフ
ェース16、システムバス15、および、チップセット
13に含まれる図示しないバスブリッジを介して、ハー
ドディスクドライブ17からメインメモリ14にロード
されてCPU11によって実行される。In this example, the hard disk drive 17
Stores application programs. The application program is loaded from the hard disk drive 17 to the main memory 14 via the hard disk interface 16, the system bus 15, and a bus bridge (not shown) included in the chipset 13 and executed by the CPU 11.
【0032】また、通信インタフェース18は、LAN
やインターネットなどのネットワーク2を介して、様々
な機器との間でデータの転送を行うことができる。CP
U11によって実行されるアプリケーションプログラム
は、この通信インタフェース18を介して通信を行うこ
とにより、ネットワーク2に接続される例えば記憶装置
に格納されている情報へのアクセスを行うことができ、
様々なアプリケーションプログラムやデータなどを入手
できる。この場合、ネットワーク2に接続される通信イ
ンタフェース18を介して転送したアプリケーションプ
ログラムをメインメモリ14に格納して実行したり、あ
るいはシステムバス15から直接プログラマブル論理回
路インタフェース23を介してプログラマブル論理回路
21へ転送することもできる。The communication interface 18 is a LAN
And data can be transferred to and from various devices via a network 2 such as the Internet. CP
The application program executed by U11 can access information stored in, for example, a storage device connected to the network 2 by performing communication through the communication interface 18.
Various application programs and data can be obtained. In this case, the application program transferred via the communication interface 18 connected to the network 2 is stored in the main memory 14 and executed, or the application program is directly transmitted from the system bus 15 to the programmable logic circuit 21 via the programmable logic circuit interface 23. You can also transfer.
【0033】拡張ハードウェア部19は、プログラマブ
ル論理回路21、ローカルメモリ22、プログラマブル
論理回路インタフェース23を有している。またこの例
では、外部入出力インタフェース24もこの拡張ハード
ウェア部19に設けられている。プログラマブル論理回
路21は、回路情報を変更することによって機能を随時
変更し再構成することが可能であり、プログラマブル論
理回路インタフェース23を介してシステムバス15に
接続されている。また、この例では外部入出力インタフ
ェース24を介して外部機器3とも接続されており、プ
ログラマブル論理回路21における処理により、外部機
器3を制御可能に構成した例を示している。The extended hardware section 19 has a programmable logic circuit 21, a local memory 22, and a programmable logic circuit interface 23. In this example, the external input / output interface 24 is also provided in the extended hardware unit 19. The function of the programmable logic circuit 21 can be changed and reconfigured at any time by changing circuit information. The programmable logic circuit 21 is connected to the system bus 15 via a programmable logic circuit interface 23. In this example, the external device 3 is also connected to the external device 3 via the external input / output interface 24, and the external device 3 can be controlled by processing in the programmable logic circuit 21.
【0034】ローカルメモリ22は、プログラマブル論
理回路21で処理を行う処理データや、処理後の中間処
理データなどを保持することができる。また、予め使用
する回路情報と順番を保持する回路情報保持手段として
も機能する。The local memory 22 can hold processing data to be processed by the programmable logic circuit 21, intermediate processing data after processing, and the like. It also functions as circuit information holding means for holding circuit information to be used in advance and the order.
【0035】プログラマブル論理回路インタフェース2
3は、システムバス15によってCPU11やメインメ
モリ14、ローカルメモリ22、プログラマブル論理回
路21との間でデータ転送や制御を行うためのものであ
る。またプログラマブル論理回路インタフェース23
は、転送されてきた処理データからプログラマブル論理
回路の再構成に使用する最初の回路情報を特定する機能
を有している。この最初の回路情報が例えば処理データ
のヘッダ情報として付加されている場合、処理データの
ヘッダ情報を解釈することによって実現できる。また、
回路再構成のための回路情報や処理データ、中間処理デ
ータの最後に付加されるEOFのマーカ検出機能なども
含まれている。さらに、特定した最初の回路情報をもと
にローカルメモリ22から回路情報を順番に取り出し、
順次プログラマブル論理回路21を再構成して処理回路
を構成し、構成した処理回路に処理データの処理を行わ
せる。また、ローカルメモリ22とプログラマブル論理
回路21との間での処理データや中間処理データの転送
も行う。Programmable logic circuit interface 2
Reference numeral 3 is for performing data transfer and control between the CPU 11, the main memory 14, the local memory 22, and the programmable logic circuit 21 via the system bus 15. Also, the programmable logic circuit interface 23
Has a function of specifying the first circuit information used for reconfiguring the programmable logic circuit from the transferred processing data. When the first circuit information is added, for example, as header information of the processing data, it can be realized by interpreting the header information of the processing data. Also,
It also includes circuit information for circuit reconfiguration, processing data, and a marker detection function of EOF added to the end of intermediate processing data. Further, circuit information is sequentially taken out from the local memory 22 based on the specified first circuit information,
The programmable logic circuit 21 is sequentially reconfigured to configure a processing circuit, and the configured processing circuit processes the processing data. Further, transfer of processing data and intermediate processing data between the local memory 22 and the programmable logic circuit 21 is also performed.
【0036】なお、予め使用する回路情報等は、例えば
メインメモリ14やハードディスクドライブ17に格納
しておいてもよい。この場合、プログラマブル論理回路
インタフェース23は、メインメモリ14やハードディ
スクドライブ17に対して、CPU11を動作させずに
データ転送を行う機能を有していればよい。例えばメイ
ンメモリ14とローカルメモリ22を同じメモリ空間に
おいてアクセス可能に構成し、いずれのメモリを利用し
ているかを意識しないでアクセスできるように構成して
もよい。The circuit information used in advance may be stored in, for example, the main memory 14 or the hard disk drive 17. In this case, the programmable logic circuit interface 23 only needs to have a function of transferring data to the main memory 14 or the hard disk drive 17 without operating the CPU 11. For example, the main memory 14 and the local memory 22 may be configured to be accessible in the same memory space, and may be configured to be accessible without being aware of which memory is being used.
【0037】また、拡張ハードウェア部19は、集積化
により一体化することで、入出力部のライン負荷を低減
させたり、専用バス化の構成により、高速化及び低消費
電力化を図ることができる。The extension hardware unit 19 can be integrated to reduce the line load of the input / output unit, and the speed can be reduced and the power consumption can be reduced by using a dedicated bus. it can.
【0038】図2は、プログラマブル論理回路の一例を
示す平面構造図、図3は、同じく内部構造の一例を示す
ブロック図である。図中、31は論理セル、32は配線
領域、33は入出力端子、41はコンフィギュレーショ
ンメモリ、42は回路素子である。プログラマブル論理
回路21は、回路情報を格納するためのコンフィギュレ
ーションメモリ41と、論理セル31や配線領域32か
らなる回路素子42と、入出力端子33とで構成されて
いる。FIG. 2 is a plan view showing an example of the programmable logic circuit, and FIG. 3 is a block diagram showing an example of the internal structure. In the figure, 31 is a logic cell, 32 is a wiring area, 33 is an input / output terminal, 41 is a configuration memory, and 42 is a circuit element. The programmable logic circuit 21 includes a configuration memory 41 for storing circuit information, a circuit element 42 including a logic cell 31 and a wiring area 32, and an input / output terminal 33.
【0039】コンフィギュレーションメモリ41は、E
EPROM、SRAMなどの書き換え可能なメモリ素子
で構成されている。回路情報はアドレスとデータの対で
構成される。コンフィギュレーションメモリ41にアド
レスを与えて、そのアドレスに対応するメモリセルにア
ドレスと対になったデータを格納すると、このデータに
従って、論理セル31内の回路構成や、論理セル31と
入出力端子33を相互に接続する配線領域32の接続状
態が再構成される。コンフィギュレーションメモリ41
の一部分を書き換えることにより、プログラマブル論理
回路21が動作中であっても、回路を部分的に再構成す
ることができる。The configuration memory 41 stores E
It is composed of rewritable memory elements such as EPROM and SRAM. The circuit information is composed of address and data pairs. When an address is given to the configuration memory 41 and the data paired with the address is stored in a memory cell corresponding to the address, the circuit configuration in the logic cell 31 and the logic cell 31 and the input / output terminal 33 are stored in accordance with the data. Are reconfigured in the connection state of the wiring region 32 connecting the two. Configuration memory 41
Can be partially reconfigured even when the programmable logic circuit 21 is operating.
【0040】プログラマブル論理回路21に再構成され
た回路素子42に、入出力端子33を介して処理すべき
データ(処理データや中間処理データ)が入力され、ま
た、その処理結果(中間処理データ)が出力される。デ
ータ入力先の論理セルと、データ出力元の論理セルは、
論理セルの位置に対応するセル座標を示した制御コード
によってアプリケーションプログラムが指定する。Data (processing data and intermediate processing data) to be processed is input to the circuit element 42 reconfigured in the programmable logic circuit 21 via the input / output terminal 33, and the processing result (intermediate processing data) Is output. The logic cell of the data input destination and the logic cell of the data output source are
The application program specifies the control code indicating the cell coordinates corresponding to the position of the logic cell.
【0041】以上のシステム構成によって、プログラマ
ブル論理回路21による処理データの入出力方法から、
以下のような処理形態があげられる。データとしては、
マルチメディアのような画像、音声などのストリーミン
グデータなどがある。 ネットワーク2を経由して情報システム1に入力し
たデータを、システムバス15を経由して、プログラマ
ブル論理回路21に再構成した処理回路で処理する。 ハードディスクドライブ17などの記憶装置に格納
されたデータを、システムバス15を経由して、プログ
ラマブル論理回路21に再構成した処理回路で処理す
る。 外部の記憶装置からの転送やアプリケーションの処
理結果などのデータで、メインメモリ14に一時的に格
納されたデータを、システムバス15を経由して、プロ
グラマブル論理回路21に再構成した処理回路で処理す
る。 ローカルメモリに格納されたデータを、プログラマ
ブル論理回路インタフェース23を経由して、プログラ
マブル論理回路21に再構成した処理回路で処理する。With the above system configuration, the method of inputting / outputting processing data by the programmable logic circuit 21 is as follows.
The following processing forms are available. As data,
There are streaming data such as multimedia images and audio. Data input to the information system 1 via the network 2 is processed by the processing circuit reconfigured in the programmable logic circuit 21 via the system bus 15. Data stored in a storage device such as the hard disk drive 17 is processed by the processing circuit reconfigured in the programmable logic circuit 21 via the system bus 15. Data temporarily stored in the main memory 14, such as data transferred from an external storage device or processing results of an application, is processed by the processing circuit reconfigured in the programmable logic circuit 21 via the system bus 15. I do. The data stored in the local memory is processed by the processing circuit reconfigured in the programmable logic circuit 21 via the programmable logic circuit interface 23.
【0042】次に、本発明の情報処理システムの実施の
一形態における動作について説明する。アプリケーショ
ンプログラムにおいて、処理のフローが決定されてい
て、そのために用いる機能回路が複数の種類の組み合わ
せであらかじめ選択指定可能な場合や、同じ順番を単位
として繰り返される処理の場合などには、あらかじめ使
用する回路情報と順番を決定できる。そこで、アプリケ
ーションの処理が開始される前に、予め、使用する回路
情報と順番等の情報を参照テーブルとして例えばローカ
ルメモリ22などに登録しておく。なお、全く不定な順
番で、任意の処理の次にどのような処理を行うことにな
るのか特定できない場合には、メインプロセッサによっ
て、その都度、制御を行えばよいので、ここでは対象外
とする。Next, the operation of the information processing system according to the embodiment of the present invention will be described. In the case where the processing flow is determined in the application program and the functional circuit used for that can be selected and designated in advance by a combination of a plurality of types, or when the processing is repeated in the same order as a unit, it is used in advance. Circuit information and order can be determined. Therefore, before the processing of the application is started, circuit information to be used and information such as an order are registered in advance in the local memory 22 or the like as a reference table. If it is not possible to specify what processing is to be performed after an arbitrary processing in a completely uncertain order, the main processor may perform control each time, and therefore, is not included here. .
【0043】図4は、参照テーブルの一例の説明図であ
る。図4に示した例では、処理回路の順番を示す処理ス
テップNo.に対応して、再構成のための回路情報が格
納されているメモリ中の開始アドレスを示すポインタ、
中間処理を行うことになる場合に対応してアロケーショ
ンされた中間処理データを格納するメモリ中の開始アド
レスを示すポインタ、プログラマブル論理回路21に同
時に再構成可能な回路数の情報によって参照テーブルが
構成されている。FIG. 4 is an explanatory diagram of an example of the reference table. In the example shown in FIG. 4, the processing step No. indicating the order of the processing circuits. Corresponding to the pointer indicating the start address in the memory where the circuit information for reconfiguration is stored,
A reference table is formed by a pointer indicating a start address in the memory for storing the intermediate processing data allocated corresponding to the case where the intermediate processing is to be performed, and information on the number of circuits that can be simultaneously reconfigured in the programmable logic circuit 21. ing.
【0044】アプリケーションの処理でi番目の処理回
路で処理した結果を次のi+1番目で処理する場合に
は、i番目の処理回路から出力されるデータは中間処理
データとなる。また最後のM番目で処理した結果は、最
終出力データとなる。この中間処理データを格納するメ
モリの開始アドレスポインタが図4におけるポインタP
diである。なお、最終データもさらに別のアプリケー
ションで用いられることも考えられるので、最終データ
も中間処理データ用メモリへ格納しておいてもよい。When the result of processing by the i-th processing circuit in the application processing is processed by the next (i + 1) -th processing circuit, data output from the i-th processing circuit is intermediate processing data. The result of processing at the last M-th becomes final output data. The start address pointer of the memory for storing the intermediate processing data is the pointer P in FIG.
di. Since the final data may be used by another application, the final data may be stored in the intermediate processing data memory.
【0045】また、再構成する処理回路について、プロ
グラマブル論理回路の回路規模に応じて、同時に再構成
できる回路数Niは、i番目の回路からの同時再構成可
能最大数である。このNiに対応する回路の再構成のモ
ードとして、1個の場合には自動的に単独コンフィギュ
レーションモードになり、複数個の場合には単独コンフ
ィギュレーションモードまたは連続コンフィギュレーシ
ョンモードの選択ができる。これは、アプリケーション
開始時にCPUによって選択指定できる。The number of circuits Ni that can be simultaneously reconfigured for the processing circuit to be reconfigured according to the circuit scale of the programmable logic circuit is the maximum number of simultaneously reconfigurable circuits from the i-th circuit. As a mode for reconfiguring the circuit corresponding to Ni, the single configuration mode is automatically set in the case of one, and the single configuration mode or the continuous configuration mode can be selected in the case of a plurality. This can be selected and designated by the CPU at the start of the application.
【0046】この図4に示すような参照テーブルは、ア
プリケーションが実行されるときに情報処理システムで
用いられるプログラマブル論理回路21の品種や回路規
模サイズ、メインメモリ14やローカルメモリ22など
のメモリサイズなどを考慮して、CPU11によって作
成する。あるいは、当然ながら、決まった処理を同じシ
ステムで行う場合には、処理の実行の都度にこの参照テ
ーブルを作成する必要はなく、予め用意しておくことも
できる。The reference table as shown in FIG. 4 includes the type and size of the programmable logic circuit 21 used in the information processing system when the application is executed, the memory size of the main memory 14 and the local memory 22, and the like. Is generated by the CPU 11 in consideration of the above. Alternatively, of course, when a predetermined process is performed by the same system, it is not necessary to create this reference table every time the process is executed, and the reference table can be prepared in advance.
【0047】図5は、処理データおよび回路情報と、こ
れらを格納するメモリアドレス空間の説明図である。図
4に示すような参照テーブルの情報は、図5に示すよう
に、例えば処理データのヘッダ部に付加しておくことが
できる。プログラマブル論理回路インタフェース23に
おいて、処理データを受け取った際にヘッダ部を解析
し、これらの情報を取り出して、参照テーブルを作成す
ることができる。また、このような参照テーブルをもと
に、ある処理ステップiを実行する際には、処理ステッ
プNo.iに対応付けられている回路情報用のポインタ
Pciと中間処理データ用のポインタPdiが割り付け
られる。処理の順番によっては、同じポインタを用いて
上書きでアロケートすることによって、メモリの使用効
率を向上させることもできる。FIG. 5 is an explanatory diagram of processing data and circuit information and a memory address space for storing them. The information of the reference table as shown in FIG. 4 can be added, for example, to the header part of the processing data as shown in FIG. In the programmable logic circuit interface 23, when processing data is received, the header part is analyzed, and these pieces of information are taken out, and a reference table can be created. When executing a certain processing step i based on such a reference table, the processing step No. A pointer Pci for circuit information and a pointer Pdi for intermediate processing data associated with i are allocated. Depending on the order of processing, memory allocation efficiency can be improved by allocating by overwriting using the same pointer.
【0048】なお、図5に示すメモリアドレス空間は、
ローカルメモリ22のメモリアドレス空間、あるいは、
メインメモリ14とローカルメモリ22を一体としたメ
モリアドレス空間であってよい。後者の場合、例えば回
路情報や中間処理データを格納する領域などがメインメ
モリ14上に確保される場合もある。The memory address space shown in FIG.
The memory address space of the local memory 22, or
It may be a memory address space in which the main memory 14 and the local memory 22 are integrated. In the latter case, for example, an area for storing circuit information and intermediate processing data may be secured in the main memory 14.
【0049】前述の回路情報と順番において、図4に示
すように、処理ステップNo.として最初の0番からM
番までのM+1ステップの場合で、i番目の処理を行う
際の動作について述べる。再構成する回路情報を格納す
るメモリの開始アドレスポインタをPciとする。ま
た、中間処理データを格納するメモリの開始アドレスポ
インタをPdiとする。さらに、再構成する処理回路に
ついて、プログラマブル論理回路の回路規模に応じて、
同時に再構成できる回路数をNiとする。In the order of the circuit information described above, as shown in FIG. From the first 0 to M
The operation at the time of performing the i-th process in the case of the (M + 1) th step up to the number is described. Let Pci be the start address pointer of the memory that stores the circuit information to be reconfigured. The start address pointer of the memory for storing the intermediate processing data is Pdi. Furthermore, regarding the processing circuit to be reconfigured, according to the circuit scale of the programmable logic circuit,
The number of circuits that can be reconfigured simultaneously is Ni.
【0050】アプリケーションの処理データファイル及
び回路情報を読み出し、あらかじめアプリケーションプ
ログラムの実行前に、回路情報をメモリ空間に割り付け
ておく。また、CPU11によって前述の4種の情報を
アプリケーションの処理データファイルのヘッダ部に付
加する。なお、処理データファイルや回路情報は、例え
ば、ネットワーク2に接続された記憶装置、情報処理シ
ステム1内部のハードディスクドライブ17などの記憶
装置、メインメモリ14、あるいは、ローカルメモリ2
2など、いずれの記憶装置に記憶されていてもよい。The processing data file and the circuit information of the application are read out, and the circuit information is allocated to the memory space before executing the application program. The CPU 11 adds the above four types of information to the header of the processing data file of the application. The processing data file and the circuit information are stored in, for example, a storage device connected to the network 2, a storage device such as a hard disk drive 17 in the information processing system 1, the main memory 14, or the local memory 2.
2, etc., may be stored in any storage device.
【0051】アプリケーションプログラムの実行がCP
U11によって開始されると、処理データファイルがプ
ログラマブル論理回路インタフェース23に転送されて
ヘッダ部に付加されている情報が解釈される。最初の回
路情報によってプログラマブル論理回路21に対する処
理回路の再構成が行われ、回路情報の最後を示すEOF
のマーカにより、再構成が終了する。このEOFマーカ
をプログラマブル論理回路インタフェース23で検出
し、ヘッダ部に続くデータ部の転送が行われて、再構成
した処理回路におけるデータ処理が進められていく。When the execution of the application program is a CP
When started by U11, the processing data file is transferred to the programmable logic circuit interface 23, and the information added to the header is interpreted. Reconfiguration of the processing circuit for the programmable logic circuit 21 is performed by the first circuit information, and EOF indicating the end of the circuit information is performed.
The reconstruction is completed by the marker of. The EOF marker is detected by the programmable logic circuit interface 23, the data portion following the header portion is transferred, and the data processing in the reconfigured processing circuit proceeds.
【0052】処理されたデータを次に再構成する処理回
路で用いる場合には、処理されたデータを中間処理デー
タとして、さきにメモリ空間にアロケートした領域に一
旦格納する。そして、次の処理回路を再構成した後、中
間処理データを新たに再構成した処理回路に入力し、デ
ータ処理を進める。最終データは、例えば外部入出力イ
ンタフェース24を介して外部機器3に転送されたり、
あるいはメインメモリ14,ハードディスクドライブ1
7,ネットワーク2に接続された記憶装置などに転送さ
れる。または、中間処理データと同様に格納されていて
もよい。When the processed data is used in a processing circuit for reconstructing the next data, the processed data is temporarily stored as intermediate processing data in the area allocated in the memory space. Then, after reconfiguring the next processing circuit, the intermediate processing data is input to the newly reconfigured processing circuit, and the data processing proceeds. The final data is transferred to the external device 3 via, for example, the external input / output interface 24,
Alternatively, the main memory 14 and the hard disk drive 1
7. The data is transferred to a storage device or the like connected to the network 2. Alternatively, it may be stored similarly to the intermediate processing data.
【0053】以上のように、CPU11が最初の開始制
御を行うことによって、回路の再構成とデータ処理が順
次実行されていくので、CPU11はプログラマブル論
理回路21の再構成のための処理を行う必要がない。そ
のため、CPU11の負荷を軽減して消費電力を大幅に
低減し、またCPU11とプログラマブル論理回路21
との並行動作を可能として情報処理システムにおける全
体のパフォーマンスを向上させることができる。As described above, the reconfiguration of the circuit and the data processing are sequentially performed by the CPU 11 performing the initial start control, so that the CPU 11 needs to perform the process for reconfiguring the programmable logic circuit 21. There is no. Therefore, the load on the CPU 11 is reduced to greatly reduce the power consumption.
Can be performed in parallel to improve the overall performance of the information processing system.
【0054】次に、プログラマブル論理回路21への処
理回路の再構成領域とそれぞれの処理回路によって処理
された中間処理データのメモリへの格納あるいは連続処
理について、以下、3つの形態をあげて説明する。Next, the reconfiguration area of the processing circuit to the programmable logic circuit 21 and the storage or continuous processing of the intermediate processing data processed by each processing circuit in the memory will be described in three forms. .
【0055】図6は、プログラマブル論理回路への処理
回路の第1の再構成例の説明図、図7は、同じく動作時
の一例を示すタイミングチャートである。図6に示す例
では、シングルタスクモードで、処理回路の再構成とそ
の処理回路での処理の実行を順次行いながら、中間処理
データの入出力をその間に入れていく方式を示してい
る。この例は、プログラマブル論理回路21の構成可能
な最大回路規模と再構成する回路規模との関係におい
て、連続する処理回路が同時に再構成できる領域が確保
できない場合に対応する形態である。FIG. 6 is an explanatory diagram of a first example of reconfiguration of a processing circuit into a programmable logic circuit, and FIG. 7 is a timing chart showing an example of the same operation. The example shown in FIG. 6 shows a method in which the input and output of the intermediate processing data are interposed in the single task mode while the reconfiguration of the processing circuit and the execution of the processing in the processing circuit are sequentially performed. This example is a mode corresponding to a case where an area where continuous processing circuits can be reconfigured at the same time cannot be ensured in the relationship between the maximum configurable circuit size of the programmable logic circuit 21 and the circuit size to be reconfigured.
【0056】最初の処理回路の再構成が完了し、データ
処理が行われて得られた結果は、一時的にプログラマブ
ル論理回路21の内部メモリまたはローカルメモリ22
やメインメモリ14など外部メモリを利用して中間処理
データのまま格納する。そして、最初に再構成された領
域に上書きして次の処理回路の再構成を行う。次の処理
回路の再構成が完了すると、続けて中間処理データに対
してデータ処理を行う。このようにしてデータ処理が継
続されていく。処理モードとしては、回路の同時再構成
可能な数Niは、1個である単独コンフィギュレーショ
ンモードの場合である。When the reconfiguration of the first processing circuit is completed and the data processing is performed, the result obtained is temporarily stored in the internal memory or the local memory 22 of the programmable logic circuit 21.
The intermediate processing data is stored as it is using an external memory such as the main memory 14. Then, the next processing circuit is reconfigured by overwriting the first reconfigured area. When the reconfiguration of the next processing circuit is completed, data processing is continuously performed on the intermediate processing data. Thus, the data processing is continued. The processing mode is the case of the single configuration mode in which the number Ni of circuits that can be simultaneously reconfigured is one.
【0057】一例として、図6に示す例について、図7
に示すタイミングチャートを用いて説明する。まず、C
PU11によって、例えば図4に示すような参照テーブ
ルが用意され、図5に示すようにメモリアドレス空間が
割り当てられる。プログラマブル論理回路インタフェー
ス23は、CPU11から処理データが転送されてくる
と、その処理データのヘッダ部に付加された情報を解釈
して、プログラマブル論理回路21に対する回路Aの再
構成を開始する(図7−)。As an example, the example shown in FIG.
This will be described with reference to the timing chart shown in FIG. First, C
For example, a reference table as shown in FIG. 4 is prepared by the PU 11, and a memory address space is allocated as shown in FIG. When the processing data is transferred from the CPU 11, the programmable logic circuit interface 23 interprets the information added to the header part of the processing data and starts the reconfiguration of the circuit A for the programmable logic circuit 21 (FIG. 7). -).
【0058】回路Aの再構成が完了すると、処理データ
を回路Aに入力し、回路Aを用いた処理が開始される
(図7−)。回路Aによって得られた結果は、中間処
理データとしてメモリに格納されていく(図7−)。When the reconfiguration of the circuit A is completed, processing data is input to the circuit A, and processing using the circuit A is started (FIG. 7-). The result obtained by the circuit A is stored in the memory as intermediate processing data (FIG. 7-).
【0059】処理データのEOFが検出されて処理が終
了すると、次の回路Bの再構成を行う(図7−)。最
初に再構成された回路Aの領域に上書きして次の処理回
路である回路Bの再構成を行うことができる。図6は、
この回路Bを再構成したときの状態を示している。回路
情報のEOFが検出されると、回路Bの再構成が完了す
る(図7−)。回路Bの再構成が完了すると、回路B
は中間処理データに対してデータ処理を開始する(図7
−)。When the EOF of the processing data is detected and the processing is completed, the next circuit B is reconfigured (FIG. 7-). The circuit B, which is the next processing circuit, can be reconfigured by overwriting the area of the circuit A reconfigured first. FIG.
This shows a state when the circuit B is reconfigured. When the EOF of the circuit information is detected, the reconfiguration of the circuit B is completed (FIG. 7-). When the reconfiguration of the circuit B is completed, the circuit B
Starts data processing on the intermediate processing data (FIG. 7).
-).
【0060】このステップが繰り返されて、処理ステッ
プMで終了する。このように、最初にCPU11による
制御を施すだけで、あとは、処理回路の再構成と、再構
成された処理回路における処理の実行が、あらかじめ設
定された規定通りに連続して行われる。これによって、
CPU11の制御負荷が大幅に軽減され、消費電力が大
幅に低減できる。This step is repeated, and ends in processing step M. As described above, only the control by the CPU 11 is performed first, and thereafter, the reconfiguration of the processing circuit and the execution of the processing in the reconfigured processing circuit are continuously performed as specified in advance. by this,
The control load on the CPU 11 is greatly reduced, and the power consumption can be significantly reduced.
【0061】図8は、プログラマブル論理回路への処理
回路の第1の再構成例における動作の一例を示すフロー
チャートである。上述の例について処理動作をまとめる
と図8に示すようになる。S101において処理ステッ
プを示す変数iを0に初期化し、S102において、処
理データを入力し、ヘッダ部の情報を解釈してポインタ
等の設定を行う。FIG. 8 is a flowchart showing an example of the operation in the first reconfiguration example of the processing circuit for the programmable logic circuit. FIG. 8 summarizes the processing operations of the above example. In step S101, a variable i indicating a processing step is initialized to 0. In step S102, processing data is input, and information of a header portion is interpreted to set a pointer and the like.
【0062】S103において、回路情報Pciにアク
セスしてプログラマブル論理回路21に対して処理回路
の再構成を行う。S104において回路情報の終了を示
すEOFを検出すると、処理回路の再構成を終了する。
そしてS105において、中間処理データPd(i−
1)へアクセスして再構成した処理回路に入力し、ある
いは、処理データを再構成した処理回路に入力して、S
106においてデータ処理を開始する。In S103, the circuit information Pci is accessed to reconfigure the processing circuit for the programmable logic circuit 21. When the EOF indicating the end of the circuit information is detected in S104, the reconfiguration of the processing circuit ends.
Then, in S105, the intermediate processing data Pd (i-
1) and input to the reconfigured processing circuit, or input processing data to the reconfigured processing circuit,
At 106, data processing is started.
【0063】S107において、処理データあるいは中
間処理データの終了を示すEOFを検出すると、処理回
路における処理を終了する。S108において、処理ス
テップを示す変数iに1を加え、S109において、変
数iの値がM以下か否かを判定する。変数iの値がM以
下であれば、S110において、処理結果を中間処理デ
ータとして中間処理データ用のメモリ領域Pd(i−
1)に格納する。そしてS103へ戻り、次の処理回路
の再構成および処理を繰り返す。In S107, when the EOF indicating the end of the processing data or the intermediate processing data is detected, the processing in the processing circuit ends. In S108, 1 is added to the variable i indicating the processing step, and in S109, it is determined whether or not the value of the variable i is M or less. If the value of the variable i is equal to or smaller than M, in S110, the processing result is set as the intermediate processing data, and the memory area Pd (i−
1). Then, the process returns to S103 to repeat the reconfiguration and processing of the next processing circuit.
【0064】処理ステップMまでの処理を行い、処理ス
テップを示す変数iの値がMを超える場合には、S11
1において、処理後のデータを最終データとして出力
し、プログラマブル論理回路21における処理を終え
る。The processing up to the processing step M is performed, and if the value of the variable i indicating the processing step exceeds M, the processing in S11
In step 1, the processed data is output as final data, and the processing in the programmable logic circuit 21 ends.
【0065】なお、上述の説明では中間処理データを生
成して処理する形態で記述したが、図2に示すように回
路Aの結果を内部メモリで受けて、引き続き回路Bで処
理する場合には、内部メモリの代わりに、データラッチ
回路を用いた一時的なデータ保持方法の利用も可能であ
る。In the above description, the intermediate processing data is generated and processed. However, as shown in FIG. 2, when the result of the circuit A is received by the internal memory and subsequently processed by the circuit B, Instead of the internal memory, it is also possible to use a temporary data holding method using a data latch circuit.
【0066】図9は、プログラマブル論理回路への処理
回路の第2の再構成例の説明図、図10は、同じく動作
時の一例を示すタイミングチャートである。図9に示す
例では、シングルタスクモードではあるが、複数の処理
が同時に形成できる場合に、複数の処理回路の再構成を
行ってから、処理を連続して実行する形態である。処理
モードとして、回路の同時再構成可能な数Niまでの再
構成を連続的に行う、連続コンフィギュレーションモー
ドの選択である。FIG. 9 is an explanatory diagram of a second example of reconfiguration of a processing circuit into a programmable logic circuit, and FIG. 10 is a timing chart showing an example of the same operation. In the example shown in FIG. 9, although the single task mode is set, when a plurality of processes can be simultaneously formed, the processes are continuously executed after reconfiguring a plurality of processing circuits. The processing mode is a selection of a continuous configuration mode in which reconfiguration of a circuit up to a number Ni that can be simultaneously reconfigured is continuously performed.
【0067】プログラマブル論理回路21の構成可能な
最大回路規模と再構成する処理回路の回路規模との関係
において、連続する処理回路が同時に再構成できる領域
が確保できるが、データ処理が行われて得られた結果
は、一時的にプログラマブル論理回路の内部メモリまた
はローカルメモリやメインメモリの外部メモリを利用し
て中間処理データのまま格納して行っていく場合であ
る。ただし、中間処理データを介しながら分割して処理
を進めていく場合も含めることができる。当然ながら、
処理モードとして、処理回路を一つずつ再構成してゆく
単独コンフィギュレーションモードも選択できる。この
場合には、図6に示した形態として扱うこともできる。In the relationship between the maximum configurable circuit scale of the programmable logic circuit 21 and the circuit scale of the processing circuit to be reconfigured, an area where continuous processing circuits can be reconfigured at the same time can be ensured. The obtained result is a case where the intermediate processing data is temporarily stored as it is by using the internal memory of the programmable logic circuit or the external memory of the local memory or the main memory. However, it is possible to include a case in which the processing is performed while being divided through the intermediate processing data. Of course,
As a processing mode, a single configuration mode in which processing circuits are reconfigured one by one can be selected. In this case, it can be handled as the form shown in FIG.
【0068】一例として、図9に示す例について、図1
0に示すタイミングチャートを用いて説明する。まず、
CPU11によって、図4に示すような参照テーブルが
用意され、図5に示すようにメモリアドレス空間が割り
当てられる。プログラマブル論理回路インタフェース2
3は、CPU11から処理データが転送されてくると、
その処理データのヘッダ部に付加された情報を解釈す
る。そして、プログラマブル論理回路21に再構成可能
な複数個の回路、ここでは回路Aと回路Bの再構成を開
始する(図10−、)。As an example, the example shown in FIG.
This will be described with reference to the timing chart shown in FIG. First,
A reference table as shown in FIG. 4 is prepared by the CPU 11, and a memory address space is allocated as shown in FIG. Programmable logic circuit interface 2
3, when the processing data is transferred from the CPU 11,
The information added to the header of the processing data is interpreted. Then, reconfiguration of a plurality of circuits reconfigurable in the programmable logic circuit 21, here, the circuit A and the circuit B, is started (FIG. 10-).
【0069】2つの回路情報のEOFが検出されると再
構成を完了し、これらの処理回路を用いた処理の実行が
開始される(図10−、)。ここでは、回路Aによ
って処理された結果が回路Bに入力され、回路Bによる
処理結果が中間処理データとしてメモリに格納されてい
く。ここでは、最後の処理回路による処理結果のみを示
している(図10−、)。When the EOF of the two pieces of circuit information is detected, the reconstruction is completed, and the execution of the processing using these processing circuits is started (FIG. 10-). Here, the result processed by the circuit A is input to the circuit B, and the processing result by the circuit B is stored in the memory as intermediate processing data. Here, only the processing result of the last processing circuit is shown (FIG. 10-).
【0070】このような処理が繰り返されて、処理ステ
ップMで終了する。このように連続処理が可能になるた
め、中間処理データのすべてに対してメモリへ格納せず
に処理を進めることができる。そのため、中間処理デー
タを格納する回数が低減され、高速処理、消費電力の低
減が図れる。また、最初にCPU11による制御を施す
だけで、あとは、処理回路の再構成と、再構成された処
理回路における処理の実行が、あらかじめ設定された規
定通りに連続して行われる。これによって、CPU11
の制御負荷が大幅に軽減され、消費電力が大幅に低減で
きる。This process is repeated, and the process ends in processing step M. As described above, since the continuous processing can be performed, the processing can be performed without storing all of the intermediate processing data in the memory. Therefore, the number of times of storing the intermediate processing data is reduced, and high-speed processing and power consumption can be reduced. Further, only the control by the CPU 11 is performed first, and thereafter, the reconfiguration of the processing circuit and the execution of the processing in the reconfigured processing circuit are continuously performed as specified in advance. Thereby, the CPU 11
Control load is greatly reduced, and power consumption can be significantly reduced.
【0071】図11は、プログラマブル論理回路への処
理回路の第2の再構成例における動作の一例を示すフロ
ーチャートである。上述の第2の構成例について処理動
作をまとめると図11に示すようになる。S121にお
いて処理ステップを示す変数iを0に初期化し、S12
2において、処理データを入力し、ヘッダ部の情報を解
釈してポインタ等の設定を行う。FIG. 11 is a flowchart showing an example of the operation in the second example of reconfiguring the processing circuit to the programmable logic circuit. FIG. 11 summarizes the processing operations of the second configuration example described above. In S121, a variable i indicating a processing step is initialized to 0, and in S12
In step 2, the processing data is input, the information in the header part is interpreted, and the setting of the pointer and the like is performed.
【0072】S123において、再構成した回路数を示
す変数jを0に初期化する。S124において、回路情
報Pc(i+j)にアクセスしてプログラマブル論理回
路21に対して処理回路の再構成を行う。S125にお
いて回路情報の終了を示すEOFを検出すると、処理回
路の再構成を終了する。S126において変数jの値に
1を加算し、S127において、新たな変数jの値が処
理ステップiにおける同時構成可能な回路数Niより小
さいか否かを判定する。新たな変数jの値がNiより小
さければ、S124へ戻って、同時に再構成可能な次の
処理回路の再構成を行う。変数jの値がNiに達する
と、S128において、同時に再構成可能な回路数まで
の処理回路の再構成を終了する。In S123, a variable j indicating the number of reconfigured circuits is initialized to 0. In S124, the circuit information Pc (i + j) is accessed to reconfigure the processing circuit for the programmable logic circuit 21. When the EOF indicating the end of the circuit information is detected in S125, the reconfiguration of the processing circuit ends. In S126, 1 is added to the value of the variable j. In S127, it is determined whether or not the value of the new variable j is smaller than the number Ni of simultaneously configurable circuits in the processing step i. If the value of the new variable j is smaller than Ni, the process returns to S124, and the next processing circuit that can be reconfigured at the same time is reconfigured. When the value of the variable j reaches Ni, in S128, the reconfiguration of the processing circuits up to the number of circuits that can be reconfigured at the same time ends.
【0073】S129において、変数iが0の場合には
処理データを、また変数iが0でない場合には中間処理
データPd(i+Ni−1)へアクセスして、再構成し
た処理回路に入力し、S130においてデータ処理を開
始する。In step S129, if the variable i is 0, the processing data is accessed. If the variable i is not 0, the intermediate processing data Pd (i + Ni-1) is accessed and input to the reconfigured processing circuit. Data processing is started in S130.
【0074】S131において、処理データあるいは中
間処理データの終了を示すEOFを検出すると、処理回
路における処理を終了する。S132において、処理ス
テップを示す変数iにNiを加え、S133において、
新たな変数iの値がM以下か否かを判定する。変数iの
値がM以下であれば、S134において、処理結果を中
間処理データとして中間処理データ用のメモリ領域Pd
(i+Ni−1)に格納する。そしてS123へ戻り、
次の複数の処理回路の再構成および再構成した複数の処
理回路による連続処理を繰り返す。When the EOF indicating the end of the processing data or the intermediate processing data is detected in S131, the processing in the processing circuit ends. In S132, Ni is added to the variable i indicating the processing step, and in S133,
It is determined whether the value of the new variable i is equal to or less than M. If the value of the variable i is equal to or less than M, in step S134, the processing result is used as intermediate processing data, and the memory area Pd for intermediate processing data is used.
(I + Ni-1). Then, returning to S123,
Reconfiguration of the next plurality of processing circuits and continuous processing by the reconfigured processing circuits are repeated.
【0075】処理ステップMまでの処理を行い、処理ス
テップを示す変数iの値がMを超える場合には、S13
5において、処理後のデータを最終データとして出力
し、プログラマブル論理回路21における処理を終え
る。The processing up to the processing step M is performed, and if the value of the variable i indicating the processing step exceeds M, the processing in S13
In 5, the processed data is output as final data, and the processing in the programmable logic circuit 21 ends.
【0076】なお、上述の第1の再構成例と同様に、シ
ングルタスクモードで単独コンフィギュレーションを行
う場合には、それぞれの処理ステップごとに中間処理デ
ータをメモリへ格納していけばよい。連続した回路の同
時構成が可能なため、連続した処理が可能になる。当
然、必要に応じて中間処理データはローカルメモリ22
などへ格納されてもよい。As in the case of the first reconfiguration example, when performing the single configuration in the single task mode, the intermediate processing data may be stored in the memory for each processing step. Since a continuous circuit can be simultaneously configured, continuous processing can be performed. Naturally, the intermediate processing data is stored in the local memory 22 if necessary.
And so on.
【0077】図12は、プログラマブル論理回路への処
理回路の第3の再構成例の説明図、図13は、同じく動
作時の一例を示すタイミングチャートである。図12に
示す例では、マルチタスクモードとして、処理回路の再
構成が完了すると処理が実行されるとともに、その処理
の実行中に並行して次の処理回路の再構成がプログラマ
ブル論理回路の別の領域に対して行われる。そして、先
の処理回路による処理結果が連続して処理されたり、別
のデータによる並列処理などが行われていく。例えば回
路Aによるプロセス中に回路Bのコンフィギュレーショ
ンを行って処理を連続的に行っていくものである。しか
も、処理回路の再構成は、プログラマブル論理回路21
に同時再構成可能な数Niまでの処理回路の再構成を連
続的に行う、連続コンフィギュレーションモードが選択
される。FIG. 12 is an explanatory diagram of a third example of reconfiguration of a processing circuit into a programmable logic circuit, and FIG. 13 is a timing chart showing an example of the same operation. In the example shown in FIG. 12, in the multitask mode, the processing is executed when the reconfiguration of the processing circuit is completed, and the reconfiguration of the next processing circuit is performed in parallel with another of the programmable logic circuit during the execution of the processing. Performed on the region. Then, the processing results obtained by the previous processing circuit are continuously processed, and parallel processing using different data is performed. For example, the configuration of the circuit B is performed during the process by the circuit A, and the processing is continuously performed. Moreover, the processing circuit is reconfigured by the programmable logic circuit 21.
In this case, the continuous configuration mode in which the reconfiguration of the processing circuits up to the number Ni that can be simultaneously reconfigured is continuously performed is selected.
【0078】なおこの例では、さきの処理回路の再構成
が完了してデータ処理が行われているときに、次の処理
回路の再構成が並列して行われていく。さきの処理回路
によるデータ処理の結果は、一時的にプログラマブル論
理回路21の内部メモリまたはローカルメモリ22やメ
インメモリ14等の外部メモリを利用して中間処理デー
タのまま格納して、次の回路の再構成が完了したときに
続けてデータ処理が継続されていく。しかし、次の処理
回路の再構成が、さきの処理回路の出力までに完了する
場合には、図9に示したように回路Aの出力を直接、回
路Bに入力するように構成してもよい。In this example, when the reconfiguration of the previous processing circuit is completed and the data processing is being performed, the reconfiguration of the next processing circuit is performed in parallel. The result of the data processing by the processing circuit described above is temporarily stored as intermediate processing data using an internal memory of the programmable logic circuit 21 or an external memory such as the local memory 22 or the main memory 14, and is stored in the next circuit. When the reconstruction is completed, the data processing is continued. However, if the reconfiguration of the next processing circuit is completed before the output of the processing circuit, the output of the circuit A may be directly input to the circuit B as shown in FIG. Good.
【0079】一例として、図12に示す例について、図
13に示すタイミングチャートを用いて説明する。ま
ず、CPU11によって、図4に示すような参照テーブ
ルが用意され、図5に示すようにメモリアドレス空間が
割り当てられる。プログラマブル論理回路インタフェー
ス23は、CPU11から処理データが転送されてくる
と、その処理データのヘッダ部に付加された情報を解釈
する。プログラマブル論理回路インタフェース23は、
CPU11から処理データが転送されてくると、その処
理データのヘッダ部に付加された情報を解釈して、プロ
グラマブル論理回路21に対する回路Aの再構成を開始
する(図13−)。As an example, an example shown in FIG. 12 will be described with reference to a timing chart shown in FIG. First, the CPU 11 prepares a reference table as shown in FIG. 4, and allocates a memory address space as shown in FIG. When the processing data is transferred from the CPU 11, the programmable logic circuit interface 23 interprets the information added to the header of the processing data. The programmable logic circuit interface 23
When the processing data is transferred from the CPU 11, the information added to the header part of the processing data is interpreted, and the reconfiguration of the circuit A for the programmable logic circuit 21 is started (FIG. 13-).
【0080】回路Aに関する回路情報のEOFを検出
し、回路Aの再構成が完了すると、処理データを回路A
に入力し、回路Aを用いた処理が開始される(図13−
)。回路Aによって得られた結果は、中間処理データ
としてメモリに格納されていく(図13−)。When the EOF of the circuit information regarding the circuit A is detected and the reconfiguration of the circuit A is completed, the processing data is transferred to the circuit A.
And the process using the circuit A is started (FIG. 13-
). The result obtained by the circuit A is stored in the memory as intermediate processing data (FIG. 13-).
【0081】この回路Aにおける処理と並行して、次の
回路Bの再構成を開始する(図13−)。このような
処理回路において処理を行っている間に、プログラマブ
ル論理回路に回路の同時再構成可能な数Niまでの再構
成を連続的に行うことができる。In parallel with the processing in the circuit A, the reconfiguration of the next circuit B is started (FIG. 13-). While processing is being performed in such a processing circuit, reconfiguration of the programmable logic circuit up to the number Ni that can be simultaneously reconfigured can be performed continuously.
【0082】回路Aにおける処理において処理データの
EOFを検出して処理の終了を検出するとともに、次の
回路Bの再構成の終了を検出すると、回路Bにおける中
間処理データを用いた処理の実行が開始される(図13
−、)。In the processing in the circuit A, the end of the processing is detected by detecting the EOF of the processing data, and when the end of the reconfiguration of the next circuit B is detected, the execution of the processing using the intermediate processing data in the circuit B is started. It is started (Fig. 13
-,).
【0083】このように、処理回路の再構成と、再構成
した処理回路の実行の並列処理によって、処理回路の再
構成による処理の待ち時間を短くして高速化を図ること
ができるとともに、処理を連続して実行することによる
処理の高速化を図ることができる。また、最初にCPU
11による制御を施すだけで、あとは、処理回路の再構
成とその実行を、あらかじめ設定された規定通りに連続
して行うことができる。これによって、CPU11の制
御負荷が大幅に軽減され、消費電力が大幅に低減でき
る。As described above, the parallel processing of the reconfiguration of the processing circuit and the execution of the reconfigured processing circuit can shorten the waiting time of the processing by the reconfiguration of the processing circuit, thereby increasing the processing speed. , The speed of the process can be increased. Also, first the CPU
By simply performing the control by step 11, the reconfiguration of the processing circuit and its execution can be continuously performed as specified in advance. As a result, the control load on the CPU 11 is greatly reduced, and the power consumption can be significantly reduced.
【0084】図14は、プログラマブル論理回路への処
理回路の第3の再構成例における動作の一例を示すフロ
ーチャートである。上述の第3の構成例について処理動
作をまとめると図14に示すようになる。S141にお
いて処理ステップを示す変数iを0に初期化し、S14
2において、処理データを入力し、ヘッダ部の情報を解
釈してポインタ等の設定を行う。FIG. 14 is a flowchart showing an example of the operation in the third example of reconfiguration of the processing circuit to the programmable logic circuit. FIG. 14 summarizes the processing operations of the third configuration example. In S141, a variable i indicating a processing step is initialized to 0, and in S14
In step 2, the processing data is input, the information in the header part is interpreted, and the setting of the pointer and the like is performed.
【0085】S143において、回路情報Pciにアク
セスしてプログラマブル論理回路21に対して処理回路
の再構成を行う。S144において回路情報の終了を示
すEOFを検出すると、処理回路の再構成を終了する。
そしてS145において処理ステップiの処理回路の再
構成が終了していることを確認後、S146において、
中間処理データPd(i−1)へアクセスして再構成し
た処理回路に入力し、あるいは、処理データを再構成し
た処理回路に入力して、S147においてデータ処理を
開始する。At S143, the circuit information Pci is accessed to reconfigure the processing circuit for the programmable logic circuit 21. When the EOF indicating the end of the circuit information is detected in S144, the reconfiguration of the processing circuit ends.
Then, after confirming in S145 that the reconfiguration of the processing circuit in the processing step i has been completed, in S146,
The intermediate processing data Pd (i-1) is accessed and input to the reconfigured processing circuit, or the processing data is input to the reconfigured processing circuit, and data processing is started in S147.
【0086】このような再構成された処理回路における
処理の実行と並行して、S161以降の処理回路の再構
成を行う。まずS161において変数iの値を変数kに
待避し、S162において、再構成した回路の処理ステ
ップを示す変数jの値をk+1に初期化する。そして、
S163において、回路情報Pc(j)にアクセスして
プログラマブル論理回路21に対して、空いている領域
に処理回路の再構成を行う。S164において回路情報
の終了を示すEOFを検出すると、処理回路の再構成を
終了する。S165において変数jの値に1を加算し、
S166において、同時に再構成した回路数が、処理ス
テップkにおいて同時構成可能な回路数Nkより小さい
か否かを判定する。この判定のために、いままで再構成
した回路数+1を示す新たな変数jの値と、k+Nkの
値とを比較する。新たな変数jの値がk+Nkより小さ
ければ、S163へ戻って、同時に再構成可能な次の処
理回路の再構成を行う。変数jの値がk+Nkに達する
と、同時に構成可能な回路数に達したものとして、処理
回路の再構成を一旦停止する。In parallel with the execution of the processing in the reconfigured processing circuit, the reconfiguration of the processing circuit in and after S161 is performed. First, in S161, the value of the variable i is saved to the variable k, and in S162, the value of the variable j indicating the processing step of the reconfigured circuit is initialized to k + 1. And
In S163, the circuit information Pc (j) is accessed to reconfigure the processing circuit in the vacant area for the programmable logic circuit 21. When the EOF indicating the end of the circuit information is detected in S164, the reconfiguration of the processing circuit ends. In S165, 1 is added to the value of the variable j,
In S166, it is determined whether the number of simultaneously reconfigured circuits is smaller than the number Nk of simultaneously configurable circuits in the processing step k. For this determination, the value of a new variable j indicating the number of reconfigured circuits + 1 is compared with the value of k + Nk. If the value of the new variable j is smaller than k + Nk, the process returns to S163, and the next processing circuit that can be reconfigured at the same time is reconfigured. When the value of the variable j reaches k + Nk, it is determined that the number of circuits that can be simultaneously configured has been reached, and the reconfiguration of the processing circuit is temporarily stopped.
【0087】S167において、変数jの値がMに達し
ていれば、すべての処理回路の再構成が終了したものと
して、再構成の処理を終了する。変数jの値がM以下で
あれば処理を継続し、S168において、再構成が終了
している処理回路のすべてにおいて処理が終了するまで
待ち、その後、S161へ戻って、次の同時に構成可能
な回路数だけの処理回路の再構成処理を行う。In S167, if the value of the variable j has reached M, it is determined that the reconfiguration of all the processing circuits has been completed, and the reconfiguration processing is terminated. If the value of the variable j is equal to or smaller than M, the process is continued, and in S168, the process waits until the process is completed in all the processing circuits for which the reconfiguration has been completed, and then returns to S161 to enable the next simultaneous configuration. The reconfiguration processing of the processing circuits corresponding to the number of circuits is performed.
【0088】このような処理回路の再構成処理と並行し
て行われていた処理回路における処理の実行は、S14
8において処理データあるいは中間処理データの終了を
示すEOFを検出して終了する。S149において、処
理ステップを示す変数iに1を加え、S150におい
て、新たな変数iの値がM以下か否かを判定する。変数
iの値がM以下であれば、S151において、処理結果
を中間処理データとして中間処理データ用のメモリ領域
Pd(i−1)に格納する。そしてS145へ戻り、次
の処理回路の再構成終了を確認してから、次の処理回路
による連続処理を繰り返す。The execution of the processing in the processing circuit, which has been performed in parallel with the reconfiguration processing of the processing circuit, is performed in S14.
In step 8, EOF indicating the end of the processing data or the intermediate processing data is detected, and the processing ends. In S149, 1 is added to the variable i indicating the processing step, and in S150, it is determined whether the value of the new variable i is M or less. If the value of the variable i is equal to or less than M, in S151, the processing result is stored as intermediate processing data in the memory area Pd (i-1) for intermediate processing data. Then, returning to S145, after confirming the end of the reconfiguration of the next processing circuit, the continuous processing by the next processing circuit is repeated.
【0089】処理ステップMまでの処理を行い、処理ス
テップを示す変数iの値がMを超える場合には、S15
2において、処理後のデータを最終データとして出力
し、プログラマブル論理回路21における処理を終え
る。The processing up to the processing step M is performed. If the value of the variable i indicating the processing step exceeds M, the process proceeds to S15.
In step 2, the processed data is output as final data, and the processing in the programmable logic circuit 21 ends.
【0090】なお、上述の説明では、処理回路の再構成
を、同時に構成可能な回路数ごとに行っている。しかし
これに限らず、例えば処理が終了した処理回路の領域を
順次開放してゆき、次の処理回路が構成可能な領域が確
保できた時点ですぐに次の処理回路を再構成するように
構成してもよい。In the above description, the reconfiguration of the processing circuit is performed for each number of circuits that can be simultaneously configured. However, the present invention is not limited to this. For example, the configuration is such that the area of the processing circuit for which processing has been completed is sequentially opened, and the next processing circuit is reconfigured immediately when an area in which the next processing circuit can be configured is secured. May be.
【0091】上述の3つの例は、適宜組み合わせること
が可能である。図15は、プログラマブル論理回路への
処理回路の第4の再構成例の説明図、図16は、同じく
動作時の一例を示すタイミングチャートである。この例
では、最初に上述の第2の再構成例で示したように、同
時に構成可能な回路数だけの処理回路の再構成を先に行
っておき、その後、第3の再構成例で示したように、処
理が終了した処理回路の領域を開放して新たな処理回路
の再構成を行うことができる。The above three examples can be appropriately combined. FIG. 15 is an explanatory diagram of a fourth example of reconfiguration of the processing circuit into the programmable logic circuit, and FIG. 16 is a timing chart showing an example of the same operation. In this example, first, as shown in the above-described second reconfiguration example, the reconfiguration of the processing circuits for the number of circuits that can be simultaneously configured is performed first, and then, in the third reconfiguration example, As described above, it is possible to reconfigure a new processing circuit by opening the area of the processing circuit where the processing is completed.
【0092】一例として、図15に示す例について、図
16に示すタイミングチャートを用いて説明する。ま
ず、図15(A)に示すように、プログラマブル論理回
路21に再構成可能な複数個の回路、ここでは回路Aと
回路Bの再構成を開始する(図16−、)。As an example, an example shown in FIG. 15 will be described with reference to a timing chart shown in FIG. First, as shown in FIG. 15A, reconfiguration of a plurality of circuits reconfigurable in the programmable logic circuit 21, here, the circuit A and the circuit B, is started (FIG. 16-).
【0093】2つの回路情報のEOFが検出されると再
構成を完了し、これらの処理回路を用いた処理の実行を
開始する(図16−、)。ここでは、回路Aによっ
て処理された結果が回路Bに入力され、回路Bによる処
理結果が中間処理データとしてメモリに格納されていく
(図16−、)。When the EOF of the two pieces of circuit information is detected, the reconfiguration is completed, and the processing using these processing circuits is started (FIG. 16-). Here, the result processed by the circuit A is input to the circuit B, and the processing result by the circuit B is stored in the memory as intermediate processing data (FIG. 16-).
【0094】回路Aの処理が終了した時点で、回路Aが
配置されていたプログラマブル論理回路21内の領域は
不要となる。そのため、回路Bの処理実行中に並行し
て、回路Aが構成されていた領域も用いて、回路Cの再
構成を開始する(図16−)。このような処理回路の
再構成は、処理回路を配置可能であればいくつでも行っ
てよい。このようにして、図15(B)に示すように、
回路Aが配置されていた領域も用いて回路Cの再構成が
行われる。When the processing of the circuit A is completed, the area in the programmable logic circuit 21 in which the circuit A is arranged becomes unnecessary. Therefore, in parallel with the execution of the processing of the circuit B, the reconfiguration of the circuit C is started using the area in which the circuit A is configured (FIG. 16-). Such reconfiguration of the processing circuits may be performed as many as the processing circuits can be arranged. In this way, as shown in FIG.
The circuit C is reconfigured using the area where the circuit A is located.
【0095】回路Bにおける処理において処理データの
EOFを検出して処理の終了を検出するとともに、次の
回路Cの再構成の終了を検出すると、回路Bから出力さ
れた中間処理データを用いて、回路Cにおける処理の実
行が開始される(図16−、)。このような処理が
繰り返されて、処理ステップMまでの処理を連続して行
うことができる。In the processing in the circuit B, the end of the processing is detected by detecting the EOF of the processing data, and when the end of the reconfiguration of the next circuit C is detected, the intermediate processing data output from the circuit B is used. The execution of the process in the circuit C is started (FIG. 16-). Such processing is repeated, and the processing up to the processing step M can be continuously performed.
【0096】なお、上述の説明では、図1に示した構成
をもとにして説明してきた。本発明の情報処理システム
は図1に示す構成に限られることはなく、種々の変形が
可能である。そのうちのいくつかの変形例については既
に述べた。さらに極端な例として、例えば拡張ハードウ
ェア部19の部分のみの構成や、さらには外部入出力イ
ンタフェース24も設けず、プログラマブル論理回路イ
ンタフェース23を介してのみデータの入出力を行う構
成などであってもよい。In the above description, the description has been given based on the configuration shown in FIG. The information processing system of the present invention is not limited to the configuration shown in FIG. 1 and various modifications are possible. Some of them have already been described. As a more extreme example, for example, a configuration of only the extended hardware unit 19 or a configuration in which the external input / output interface 24 is not provided and data is input / output only via the programmable logic circuit interface 23 is provided. Is also good.
【0097】[0097]
【発明の効果】以上の説明から明らかなように、本発明
によれば、あらかじめ使用する回路と順番を規定できる
場合には、メインプロセッサによる最初のデータ処理開
始の制御だけで、あとは処理データ(例えば処理データ
のヘッダ情報)を解釈するだけで、プログラマブル論理
回路の複数の機能回路によるデータ処理を順次実行して
ゆくことができる。このため、メインプロセッサによる
制御の処理ステップを大幅に削減して高速化を図ること
ができるとともに、消費電力も大幅に低減することがで
きる。As is apparent from the above description, according to the present invention, when the circuit to be used and the order can be specified in advance, only the control of the start of the first data processing by the main processor is performed, and Only by interpreting (for example, header information of processing data), data processing by a plurality of functional circuits of the programmable logic circuit can be sequentially executed. For this reason, the processing steps of control by the main processor can be significantly reduced to achieve high speed, and the power consumption can be significantly reduced.
【0098】また、回路の再構成のための制御に対する
メインプロセッサの負荷が大幅に軽減されることによっ
て、その処理パワーを他の処理へ使用できるため、シス
テム全体のパフォーマンスの向上を図ることができると
いう効果がある。Further, since the load on the main processor for control for circuit reconfiguration is greatly reduced, the processing power can be used for other processing, so that the performance of the entire system can be improved. This has the effect.
【図1】 本発明の情報処理システムの実施の一形態を
示す構成図である。FIG. 1 is a configuration diagram showing an embodiment of an information processing system of the present invention.
【図2】 プログラマブル論理回路の一例を示す平面構
造図である。FIG. 2 is a plan view showing an example of a programmable logic circuit.
【図3】 プログラマブル論理回路の内部構造の一例を
示すブロック図である。FIG. 3 is a block diagram illustrating an example of an internal structure of a programmable logic circuit.
【図4】 参照テーブルの一例の説明図である。FIG. 4 is an explanatory diagram of an example of a reference table.
【図5】 処理データおよび回路情報と、これらを格納
するメモリアドレス空間の説明図である。FIG. 5 is an explanatory diagram of processing data and circuit information, and a memory address space for storing them.
【図6】 プログラマブル論理回路への処理回路の第1
の再構成例の説明図である。FIG. 6 shows a first processing circuit to a programmable logic circuit;
It is explanatory drawing of the example of reconfiguration | reconstruction.
【図7】 プログラマブル論理回路への処理回路の第1
の再構成例における動作時の一例を示すタイミングチャ
ートである。FIG. 7 shows a first processing circuit to a programmable logic circuit;
6 is a timing chart showing an example of operation in a reconfiguration example of FIG.
【図8】 プログラマブル論理回路への処理回路の第1
の再構成例における動作の一例を示すフローチャートで
ある。FIG. 8 shows a first processing circuit to a programmable logic circuit.
5 is a flowchart showing an example of the operation in the reconfiguration example of FIG.
【図9】 プログラマブル論理回路への処理回路の第2
の再構成例の説明図である。FIG. 9 shows a second processing circuit to a programmable logic circuit.
It is explanatory drawing of the example of reconfiguration | reconstruction.
【図10】 プログラマブル論理回路への処理回路の第
2の再構成例における動作時の一例を示すタイミングチ
ャートである。FIG. 10 is a timing chart showing an example of an operation in a second reconfiguration example of a processing circuit for a programmable logic circuit;
【図11】 プログラマブル論理回路への処理回路の第
2の再構成例における動作の一例を示すフローチャート
である。FIG. 11 is a flowchart illustrating an example of an operation in a second example of reconfiguring a processing circuit to a programmable logic circuit;
【図12】 プログラマブル論理回路への処理回路の第
3の再構成例の説明図である。FIG. 12 is an explanatory diagram of a third reconfiguration example of a processing circuit for a programmable logic circuit;
【図13】 プログラマブル論理回路への処理回路の第
3の再構成例における動作時の一例を示すタイミングチ
ャートである。FIG. 13 is a timing chart showing an example of an operation in a third example of reconfiguration of the processing circuit to the programmable logic circuit;
【図14】 プログラマブル論理回路への処理回路の第
3の再構成例における動作の一例を示すフローチャート
である。FIG. 14 is a flowchart illustrating an example of an operation in a third example of reconfiguring the processing circuit to the programmable logic circuit;
【図15】 プログラマブル論理回路への処理回路の第
4の再構成例の説明図である。FIG. 15 is an explanatory diagram of a fourth example of reconfiguration of a processing circuit into a programmable logic circuit.
【図16】 プログラマブル論理回路への処理回路の第
4の再構成例における動作時の一例を示すタイミングチ
ャートである。FIG. 16 is a timing chart showing an example of an operation in a fourth reconfiguration example of a processing circuit for a programmable logic circuit;
【図17】 従来の情報処理システムの一例を示すブロ
ック図である。FIG. 17 is a block diagram illustrating an example of a conventional information processing system.
【図18】 DPGAの論理セル構造の一例の説明図で
ある。FIG. 18 is an explanatory diagram of an example of a logic cell structure of a DPGA.
1…情報処理システム、2…ネットワーク、3…外部機
器、11…CPU、12…ホストバス、13…チップセ
ット、14…メインメモリ、15…システムバス、16
…ハードディスクインタフェース、17…ハードディス
クドライブ、18…通信インタフェース、19…拡張ハ
ードウェア部、21…プログラマブル論理回路、22…
ローカルメモリ、23…プログラマブル論理回路インタ
フェース、24…外部入出力インタフェース、31…論
理セル、32…配線領域、33…入出力端子、41…コ
ンフィギュレーションメモリ、42…回路素子、51…
アプリケーションサーバ、52,53…クライアントコ
ンピュータ、54…通信ネットワーク、55…メインプ
ロセッサ、56…拡張ハードウェア、57…アプリケー
ションプログラム、58…拡張コード、59…メインプ
ロセッサコード、60…OS、61…コード選択機能、
71…DRAM、72,75…マルチプレクサ、73…
ルックアップテーブル、74…フリップフロップ。DESCRIPTION OF SYMBOLS 1 ... Information processing system, 2 ... Network, 3 ... External equipment, 11 ... CPU, 12 ... Host bus, 13 ... Chipset, 14 ... Main memory, 15 ... System bus, 16
... Hard disk interface, 17 ... Hard disk drive, 18 ... Communication interface, 19 ... Extended hardware part, 21 ... Programmable logic circuit, 22 ...
Local memory, 23: programmable logic circuit interface, 24: external input / output interface, 31: logic cell, 32: wiring area, 33: input / output terminal, 41: configuration memory, 42: circuit element, 51:
Application server, 52, 53 Client computer, 54 Communication network, 55 Main processor, 56 Extended hardware, 57 Application program, 58 Extended code, 59 Main processor code, 60 OS, 61 Code selection function,
71 ... DRAM, 72, 75 ... Multiplexer, 73 ...
Look-up table, 74 ... Flip-flop.
Claims (7)
随時変更し再構成することが可能なプログラマブル論理
回路を備えた情報処理システムにおいて、予め使用する
回路情報と順番を保持する回路情報保持手段と、与えら
れた処理データから前記プログラマブル論理回路の再構
成に使用する最初の回路情報を特定するとともに特定さ
れた回路情報から前記回路情報保持手段に保持されてい
る順番に前記回路情報により前記プログラマブル論理回
路を再構成して処理回路を構成し該処理回路に前記処理
データの処理を行わせるインタフェース手段を有してい
ることを特徴とする情報処理システム。1. An information processing system comprising a programmable logic circuit capable of changing and reconfiguring functions at any time by changing circuit information, a circuit information holding means for holding circuit information to be used in advance and an order. Specifying the first circuit information to be used for reconfiguring the programmable logic circuit from given processing data, and from the specified circuit information in the order held by the circuit information holding means, the programmable logic An information processing system comprising an interface means for reconfiguring a circuit to form a processing circuit and for causing the processing circuit to process the processing data.
じめ規定された処理ステップの順番、前記順番に対応し
た再構成する回路情報を格納した前記回路情報保持手段
のアドレス情報、前記順番に対応した回路で処理された
データを格納するための記憶手段のアドレス情報、前記
順番に対応して前記プログラマブル論理回路に連続的に
同時再構成可能な回路数の情報が付加されていることを
特徴とする請求項1に記載の情報処理システム。2. The processing data includes, in a header portion, an order of processing steps defined in advance, address information of the circuit information holding unit storing circuit information to be reconfigured corresponding to the order, and an address corresponding to the order. Address information of storage means for storing data processed by the circuit, and information of the number of circuits that can be simultaneously reconfigured continuously in the programmable logic circuit corresponding to the order are added. The information processing system according to claim 1.
ラマブル論理回路の構成可能な最大回路規模と再構成す
る回路規模との関係において、連続する処理回路が同時
に再構成できる領域が確保できない場合に、処理ステッ
プの順番に対応して回路の再構成と構成した処理回路に
よる処理と、該処理回路で処理された中間処理データの
前記記憶手段への入出力を順次行いながら連続的に処理
が行われるように制御することを特徴とする請求項2に
記載の情報処理システム。3. The method according to claim 1, wherein the interface means is configured to execute a processing step when a region in which continuous processing circuits cannot be reconfigured at the same time cannot be ensured in a relationship between a maximum configurable circuit size of the programmable logic circuit and a reconfigurable circuit size. The processing is performed by the processing circuit configured and configured in accordance with the order of the processing circuits, and the intermediate processing data processed by the processing circuit is sequentially input / output to the storage unit so that the processing is performed continuously. The information processing system according to claim 2, wherein the control is performed.
ラマブル論理回路の構成可能な最大回路規模と再構成す
る回路規模との関係において、複数の処理回路の再構成
を行ってから、該処理回路における処理が連続して実行
され、最後の処理回路による結果を中間処理データとし
て前記記憶手段に格納し、続けて複数の処理回路の再構
成と複数の処理回路における処理が順次実行されるよう
に制御することを特徴とする請求項2に記載の情報処理
システム。4. The method according to claim 1, wherein the interface unit reconfigures a plurality of processing circuits based on a relationship between a maximum configurable circuit size of the programmable logic circuit and a circuit size to be reconfigured. The result of the last processing circuit being executed continuously is stored in the storage means as intermediate processing data, and control is performed so that the reconfiguration of the plurality of processing circuits and the processing in the plurality of processing circuits are sequentially executed. The information processing system according to claim 2, wherein:
ラマブル論理回路の構成可能な最大回路規模と再構成す
る回路規模との関係において、複数の処理回路の再構成
を、同時に再構成できる数だけ連続的に行いながら、最
初の処理回路の再構成が終了した時点で最初の処理が実
行されるとともに、処理の実行と並列的に次の回路の再
構成を行い、処理結果を次に再構成された処理回路に受
け渡して連続して処理が行われるように制御することを
特徴とする請求項2に記載の情報処理システム。5. The method according to claim 1, wherein the interface unit continuously reconfigures a plurality of processing circuits by a number that can be simultaneously reconfigured in a relationship between a maximum configurable circuit size of the programmable logic circuit and a reconfigurable circuit size. While performing, the first processing is executed at the time when the reconfiguration of the first processing circuit is completed, and the next circuit is reconfigured in parallel with the execution of the processing, and the processing result is then processed. 3. The information processing system according to claim 2, wherein the control is performed so that the data is transferred to a circuit and the processing is continuously performed.
理データとして前記記憶手段に格納可能であることを特
徴とする請求項4または請求項5に記載の情報処理シス
テム。6. The information processing system according to claim 4, wherein a processing result in the processing circuit can be stored in the storage unit as intermediate processing data.
規定した処理ステップの処理終了ごとに中間処理データ
として前記記憶手段に格納可能であることを特徴とする
請求項4または請求項5に記載の情報処理システム。7. The processing unit according to claim 4, wherein a processing result in the processing circuit can be stored in the storage unit as intermediate processing data every time the processing of a predetermined processing step is completed. Information processing system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23838499A JP3587095B2 (en) | 1999-08-25 | 1999-08-25 | Information processing equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23838499A JP3587095B2 (en) | 1999-08-25 | 1999-08-25 | Information processing equipment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001068993A true JP2001068993A (en) | 2001-03-16 |
JP2001068993A5 JP2001068993A5 (en) | 2004-10-28 |
JP3587095B2 JP3587095B2 (en) | 2004-11-10 |
Family
ID=17029401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23838499A Expired - Fee Related JP3587095B2 (en) | 1999-08-25 | 1999-08-25 | Information processing equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3587095B2 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005033939A1 (en) * | 2003-09-30 | 2005-04-14 | Sanyo Electric Co., Ltd. | Processor and integrated circuit comprising reconfigurable circuit, and processing method utilizing it |
JP2005122514A (en) * | 2003-10-17 | 2005-05-12 | Rikogaku Shinkokai | Device constructed of program common control software and hardware |
JP2005190343A (en) * | 2003-12-26 | 2005-07-14 | Tokyo Electron Device Ltd | Programmable logic circuit control device, method and program |
JP2005521949A (en) * | 2002-04-03 | 2005-07-21 | センター ナショナル デ ラ レシェルシェ サイエンティフィック(シーエヌアールエス) | Logical computing architecture including multiple configuration modes |
WO2005078933A1 (en) * | 2004-02-12 | 2005-08-25 | Matsushita Electric Industrial Co., Ltd. | Programmable logic circuit |
EP1610226A1 (en) * | 2003-03-31 | 2005-12-28 | Fujitsu Limited | Semiconductor device |
WO2006011232A1 (en) * | 2004-07-30 | 2006-02-02 | Fujitsu Limited | Reconfigurable circuit and controlling method of reconfigurable circuit |
WO2006061996A1 (en) * | 2004-12-07 | 2006-06-15 | Matsushita Electric Industrial Co., Ltd. | Reconfigurable signal processor |
JP2006260411A (en) * | 2005-03-18 | 2006-09-28 | Japan Radio Co Ltd | Signal processor, and communication equipment using the same |
WO2007029421A1 (en) * | 2005-09-05 | 2007-03-15 | Nec Corporation | Information processing device |
JP2007128124A (en) * | 2005-11-01 | 2007-05-24 | Hitachi Ltd | Reconfigurable processor or device |
JP2007133456A (en) * | 2005-11-08 | 2007-05-31 | Hitachi Ltd | Semiconductor device |
JP2007279984A (en) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | Data processor and program |
KR100776608B1 (en) * | 2001-05-10 | 2007-11-16 | 동경 엘렉트론 주식회사 | Computing system |
JP2007304802A (en) * | 2006-05-10 | 2007-11-22 | Fuji Xerox Co Ltd | Data processing device and its program |
JP2008052750A (en) * | 2005-04-12 | 2008-03-06 | Matsushita Electric Ind Co Ltd | Processor |
JP2008060714A (en) * | 2006-08-29 | 2008-03-13 | Fuji Xerox Co Ltd | Information processing system |
JP2008066875A (en) * | 2006-09-05 | 2008-03-21 | Fuji Xerox Co Ltd | Data processing unit |
CN100412801C (en) * | 2003-09-30 | 2008-08-20 | 三洋电机株式会社 | Processor and integrated circuit comprising reconfigurable circuit, and processing method utilizing it |
KR100886730B1 (en) * | 2006-11-02 | 2009-03-04 | 후지쯔 가부시끼가이샤 | Reconfigurable circuit and controlling method of reconfigurable circuit |
WO2009044635A1 (en) * | 2007-10-03 | 2009-04-09 | Nec Corporation | Data processing device and method |
JP2009080799A (en) * | 2001-06-22 | 2009-04-16 | Src Computers Inc | System and method for web server using reconfigurable processor operating under single operation system image |
JPWO2007060932A1 (en) * | 2005-11-25 | 2009-05-07 | パナソニック株式会社 | Multi-thread processor with dynamically reconfigurable logic |
JP2009122809A (en) * | 2007-11-13 | 2009-06-04 | Hitachi Ltd | Compiler and tool chain |
JP2009129163A (en) * | 2007-11-22 | 2009-06-11 | Fuji Xerox Co Ltd | Data processing apparatus and data processing program |
JP2009187478A (en) * | 2008-02-08 | 2009-08-20 | Sanyo Electric Co Ltd | Information processor, information processing method and processor |
JPWO2008026273A1 (en) * | 2006-08-31 | 2010-01-14 | 富士通株式会社 | DMA controller |
JP2010211496A (en) * | 2009-03-10 | 2010-09-24 | Mitsubishi Electric Corp | Dynamic reconfiguration device |
JP2010531556A (en) * | 2007-05-16 | 2010-09-24 | ローデ ウント シュワルツ ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディット ゲゼルシャフト | Method and apparatus for dynamic reconfiguration of a wireless communication system |
JP2010251925A (en) * | 2009-04-13 | 2010-11-04 | Canon Inc | Data processing apparatus and method for controlling the same |
US7941794B2 (en) | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
USRE43619E1 (en) | 2001-08-11 | 2012-08-28 | Ramsle Technology Group Gmbh, Llc | Universal computer architecture |
JP2014506073A (en) * | 2011-01-13 | 2014-03-06 | ザイリンクス インコーポレイテッド | Power management in integrated circuits |
JP2014165748A (en) * | 2013-02-26 | 2014-09-08 | Fujitsu Semiconductor Ltd | Processing device and method of controlling processing device |
JP2018180805A (en) * | 2017-04-10 | 2018-11-15 | 東芝デベロップメントエンジニアリング株式会社 | Management device |
-
1999
- 1999-08-25 JP JP23838499A patent/JP3587095B2/en not_active Expired - Fee Related
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100776608B1 (en) * | 2001-05-10 | 2007-11-16 | 동경 엘렉트론 주식회사 | Computing system |
JP2009080799A (en) * | 2001-06-22 | 2009-04-16 | Src Computers Inc | System and method for web server using reconfigurable processor operating under single operation system image |
USRE43619E1 (en) | 2001-08-11 | 2012-08-28 | Ramsle Technology Group Gmbh, Llc | Universal computer architecture |
JP2005521949A (en) * | 2002-04-03 | 2005-07-21 | センター ナショナル デ ラ レシェルシェ サイエンティフィック(シーエヌアールエス) | Logical computing architecture including multiple configuration modes |
EP1610226A1 (en) * | 2003-03-31 | 2005-12-28 | Fujitsu Limited | Semiconductor device |
EP1610226A4 (en) * | 2003-03-31 | 2009-05-06 | Fujitsu Microelectronics Ltd | Semiconductor device |
CN100412801C (en) * | 2003-09-30 | 2008-08-20 | 三洋电机株式会社 | Processor and integrated circuit comprising reconfigurable circuit, and processing method utilizing it |
WO2005033939A1 (en) * | 2003-09-30 | 2005-04-14 | Sanyo Electric Co., Ltd. | Processor and integrated circuit comprising reconfigurable circuit, and processing method utilizing it |
JP2005122514A (en) * | 2003-10-17 | 2005-05-12 | Rikogaku Shinkokai | Device constructed of program common control software and hardware |
WO2005064456A1 (en) * | 2003-12-26 | 2005-07-14 | Tokyo Electron Limited | Programmable logic circuit control apparatus, programmable logic circuit control method and program |
JP2005190343A (en) * | 2003-12-26 | 2005-07-14 | Tokyo Electron Device Ltd | Programmable logic circuit control device, method and program |
WO2005078933A1 (en) * | 2004-02-12 | 2005-08-25 | Matsushita Electric Industrial Co., Ltd. | Programmable logic circuit |
US7365566B2 (en) | 2004-02-12 | 2008-04-29 | Matsushita Electric Industrial Co., Ltd. | Programmable logic circuit |
WO2006011232A1 (en) * | 2004-07-30 | 2006-02-02 | Fujitsu Limited | Reconfigurable circuit and controlling method of reconfigurable circuit |
US7849288B2 (en) | 2004-07-30 | 2010-12-07 | Fujitsu Limited | Alternately selecting memory units to store and retrieve configuration information in respective areas for a plurality of processing elements to perform pipelined processes |
US7941794B2 (en) | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
US7861101B2 (en) | 2004-12-07 | 2010-12-28 | Panasonic Corporation | Reconfigurable signal processor |
WO2006061996A1 (en) * | 2004-12-07 | 2006-06-15 | Matsushita Electric Industrial Co., Ltd. | Reconfigurable signal processor |
JP2006260411A (en) * | 2005-03-18 | 2006-09-28 | Japan Radio Co Ltd | Signal processor, and communication equipment using the same |
JP2008052750A (en) * | 2005-04-12 | 2008-03-06 | Matsushita Electric Ind Co Ltd | Processor |
JP5018480B2 (en) * | 2005-09-05 | 2012-09-05 | 日本電気株式会社 | Information processing device |
WO2007029421A1 (en) * | 2005-09-05 | 2007-03-15 | Nec Corporation | Information processing device |
JP2007128124A (en) * | 2005-11-01 | 2007-05-24 | Hitachi Ltd | Reconfigurable processor or device |
JP4720436B2 (en) * | 2005-11-01 | 2011-07-13 | 株式会社日立製作所 | Reconfigurable processor or device |
JP2007133456A (en) * | 2005-11-08 | 2007-05-31 | Hitachi Ltd | Semiconductor device |
JP5096923B2 (en) * | 2005-11-25 | 2012-12-12 | パナソニック株式会社 | Multi-thread processor with dynamically reconfigurable logic |
JPWO2007060932A1 (en) * | 2005-11-25 | 2009-05-07 | パナソニック株式会社 | Multi-thread processor with dynamically reconfigurable logic |
JP2007279984A (en) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | Data processor and program |
JP2007304802A (en) * | 2006-05-10 | 2007-11-22 | Fuji Xerox Co Ltd | Data processing device and its program |
JP2008060714A (en) * | 2006-08-29 | 2008-03-13 | Fuji Xerox Co Ltd | Information processing system |
JPWO2008026273A1 (en) * | 2006-08-31 | 2010-01-14 | 富士通株式会社 | DMA controller |
JP2008066875A (en) * | 2006-09-05 | 2008-03-21 | Fuji Xerox Co Ltd | Data processing unit |
KR100886730B1 (en) * | 2006-11-02 | 2009-03-04 | 후지쯔 가부시끼가이샤 | Reconfigurable circuit and controlling method of reconfigurable circuit |
JP2010531556A (en) * | 2007-05-16 | 2010-09-24 | ローデ ウント シュワルツ ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディット ゲゼルシャフト | Method and apparatus for dynamic reconfiguration of a wireless communication system |
WO2009044635A1 (en) * | 2007-10-03 | 2009-04-09 | Nec Corporation | Data processing device and method |
JP5240200B2 (en) * | 2007-10-03 | 2013-07-17 | 日本電気株式会社 | Data processing apparatus and method |
JP2009122809A (en) * | 2007-11-13 | 2009-06-04 | Hitachi Ltd | Compiler and tool chain |
JP2009129163A (en) * | 2007-11-22 | 2009-06-11 | Fuji Xerox Co Ltd | Data processing apparatus and data processing program |
JP2009187478A (en) * | 2008-02-08 | 2009-08-20 | Sanyo Electric Co Ltd | Information processor, information processing method and processor |
JP2010211496A (en) * | 2009-03-10 | 2010-09-24 | Mitsubishi Electric Corp | Dynamic reconfiguration device |
JP2010251925A (en) * | 2009-04-13 | 2010-11-04 | Canon Inc | Data processing apparatus and method for controlling the same |
JP2014506073A (en) * | 2011-01-13 | 2014-03-06 | ザイリンクス インコーポレイテッド | Power management in integrated circuits |
JP2014165748A (en) * | 2013-02-26 | 2014-09-08 | Fujitsu Semiconductor Ltd | Processing device and method of controlling processing device |
US8901957B2 (en) | 2013-02-26 | 2014-12-02 | Fujitsu Semiconductor Limited | Processor and control method for processor |
JP2018180805A (en) * | 2017-04-10 | 2018-11-15 | 東芝デベロップメントエンジニアリング株式会社 | Management device |
Also Published As
Publication number | Publication date |
---|---|
JP3587095B2 (en) | 2004-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001068993A (en) | Information processing system | |
EP3612942B1 (en) | Queue management for direct memory access | |
US10893005B2 (en) | Partial reconfiguration for Network-on-Chip (NoC) | |
US7861065B2 (en) | Preferential dispatching of computer program instructions | |
US7669035B2 (en) | Systems and methods for reconfigurable computing | |
WO2021155642A1 (en) | Data processing method and device, distributed data flow programming framework, and related assemblies | |
JP2000311156A (en) | Reconfigurable parallel computer | |
KR20070112468A (en) | Integrating programmable logic into personal computer(pc) architecture | |
EP3330866B1 (en) | Methods and apparatus for programmable integrated circuit coprocessor sector management | |
KR20210052188A (en) | System and method for hierarchical sort acceleration near storage | |
JP2002503839A (en) | Method of generating an application specific integrated circuit using a programmable hardware architecture | |
JP2010102719A (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in memory subsystem | |
EP2846263A1 (en) | Methods for configurable hardware logic device reloading and devices thereof | |
US6675289B1 (en) | System and method for executing hybridized code on a dynamically configurable hardware environment | |
JPWO2009060567A1 (en) | Data transfer control device, data transfer device, data transfer control method, and semiconductor integrated circuit using reconfiguration circuit | |
US20020010825A1 (en) | Memory resource arbitrator for multiple gate arrays | |
JP3832557B2 (en) | Circuit reconfiguration method and information processing system for programmable logic circuit | |
US9946551B2 (en) | System and method that generate reconfiguration information | |
Hagemeyer et al. | A design methodology for communication infrastructures on partially reconfigurable FPGAs | |
GB2424503A (en) | Active memory device including a processor array | |
JP2013009044A (en) | Control device, processing device, processing system and control program | |
WO2008061162A1 (en) | Hybrid computing platform having fpga components with embedded processors | |
Rettkowski et al. | Application-specific processing using high-level synthesis for networks-on-chip | |
JP2006513489A (en) | System and method for scalable interconnection of adaptive processor nodes for clustered computer systems | |
JP3573193B2 (en) | Information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040702 |
|
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: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040802 |
|
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: 20070820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |