JPH05298115A - Device and method for processing data - Google Patents

Device and method for processing data

Info

Publication number
JPH05298115A
JPH05298115A JP10466092A JP10466092A JPH05298115A JP H05298115 A JPH05298115 A JP H05298115A JP 10466092 A JP10466092 A JP 10466092A JP 10466092 A JP10466092 A JP 10466092A JP H05298115 A JPH05298115 A JP H05298115A
Authority
JP
Japan
Prior art keywords
subroutine
compiled
program
length
programmable hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10466092A
Other languages
Japanese (ja)
Inventor
Tae Aoki
妙 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP10466092A priority Critical patent/JPH05298115A/en
Publication of JPH05298115A publication Critical patent/JPH05298115A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve versatility and to enable programming at the user level by performing processing corresponding to the program length of a sub routine in a source program while using plural programmable hardware circuits. CONSTITUTION:The sub routine longer than the specified length is compiled by the plural programmable hardware circuits such as field programmable gate arrays(FPGA) 151-15n corresponding to the program length of the sub routine in the source program while using those hardware circuits. On the other hand, the sub routine shorter than the specified length is compiled by an execution file as it is and processed by softwares. Prepared mapping and execution files are preserved in a RAM 14 as a shared memory. Thus, when the stored execution file is read and started, a CPU 11 loads the mapping files of (n) pieces of FPGA from the RAM 14 and obtains the sub routine as a wave motion circuit.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、高級言語で作成したソ
ースプログラムを実行ファイルにコンパイルしてデータ
処理を実行するデータ処理装置及び方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing apparatus and method for compiling a source program created in a high-level language into an execution file and executing data processing.

【0002】[0002]

【従来の技術】従来、複雑で且つ大幅な時間を要するデ
ータ処理を行なう場合、プログラムを組んでソフトウェ
アで対処するか、あるいはゲートアレイ等により専用ハ
ードウェアを開発して対処するかのいずれかの方法によ
り実現していた。
2. Description of the Related Art Conventionally, in the case of performing complicated and time-consuming data processing, either a program is used to handle it by software, or dedicated hardware such as a gate array is developed to handle it. It was realized by the method.

【0003】一般的には、上記前者のソフトウェアによ
る方法はユーザが手軽に実現できる反面、高速化が困難
であり処理時間を短くすることができないと共に、膨大
なメモリ容量を必要とするので効率的な処理を行なうこ
とができず、それがために上記後者のハードウェアによ
る方法を採ることが多かった。
In general, the former software method can be easily implemented by the user, but it is difficult to increase the processing speed, the processing time cannot be shortened, and an enormous memory capacity is required, which is efficient. In many cases, the latter hardware method described above is used for this reason.

【0004】しかしながらこのハードウェアによる方法
にあっても、処理速度が向上し、メモリ容量も制限でき
る反面、開発に期間と費用とを要し、且つ汎用性が乏し
いために用途に合わせてその都度開発し直さなければな
らないという欠点があった。
However, even with this hardware method, the processing speed can be improved and the memory capacity can be limited, but on the other hand, it takes a long time and cost for development, and the versatility is poor. It had the drawback of having to redevelop it.

【0005】[0005]

【発明が解決しようとする課題】上述した如くソフトウ
ェアによる方法は高速化が困難で膨大なメモリ容量を必
要とし、ハードウェアによる方法は開発に期間と費用と
を要し、且つ汎用性が乏しいという欠点があったため、
ユーザはその時々に応じていずれか不具合の度合いの少
ないほうを選択して実現するようにしていた。
As described above, the software method is difficult to speed up and requires a huge memory capacity, and the hardware method requires development in a long period of time and cost, and is not versatile. Because of the drawbacks
The user selects and implements the lesser degree of failure depending on the occasion.

【0006】本発明は上記のような実情に鑑みてなされ
たもので、その目的とするところは、汎用性が高く、ユ
ーザレベルでのプログラムが可能であると同時に処理速
度が高く、メモリ容量も制限できるデータ処理装置及び
方法を提供することにある。
The present invention has been made in view of the above circumstances, and an object thereof is to have high versatility, enable programming at a user level, high processing speed, and memory capacity. It is to provide a data processing device and method that can be limited.

【0007】[0007]

【課題を解決するための手段及び作用】すなわち本発明
は、複数のプログラム可能なハードウェア回路、例えば
FPGA(Field Programmable Gate Array:フィールド
・プログラマブル・ゲート・アレイ(ユーザがプログラ
ム可能なゲート・アレイ))を用い、ソースプログラム
中のサブルーチンのプログラム長に対応して特定長以上
のサブルーチンは上記プログラム可能なハードウェア回
路にコンパイルさせる一方、特定長より短いサブルーチ
ンはそのまま実行ファイルにコンパイルさせてソフトウ
ェアで処理させるようにしたもので、汎用性が高く、ユ
ーザレベルでのプログラムが可能であると同時にメモリ
容量も制限せず、高速処理が可能で効率的なデータ処理
を行なうことができる。
SUMMARY OF THE INVENTION That is, the present invention provides a plurality of programmable hardware circuits such as a field programmable gate array (FPGA) (user programmable gate array). ) Is used to compile a subroutine with a specific length or longer corresponding to the program length of the subroutine in the source program into the programmable hardware circuit, while a subroutine shorter than the specific length is directly compiled into an executable file and processed by software. Therefore, the versatility is high, programming at the user level is possible, and at the same time, the memory capacity is not limited, and high-speed processing is possible and efficient data processing can be performed.

【0008】[0008]

【実施例】以下図面を参照して本発明の一実施例を説明
する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0009】図1はその回路構成を示すもので、11は装
置全体を統合制御するCPU、12は外部インタフェイス
やシステムバスSBなどの制御を行なうペリフェラルL
SI、13はシステムプログラムやBIOS等を記憶する
ROM、14は共有メモリとして使用されるRAM、151
,152 ,…,15n はそれぞれプログラム可能なハード
ウェア回路としてのFPGAである。
FIG. 1 shows a circuit configuration thereof. 11 is a CPU for integrally controlling the entire apparatus, 12 is a peripheral L for controlling an external interface, a system bus SB and the like.
SI, 13 is a ROM for storing system programs and BIOS, 14 is a RAM used as a shared memory, 151
, 152, ..., 15n are FPGAs as programmable hardware circuits.

【0010】上記FPGA151 ,152 ,…,15n は、そ
れぞれが例えば20×103 個のゲート素子をアレイ状
に配列してなるLSIチップで構成され、サブルーチン
をコンパイルすることで所望のハードウェア回路を実現
するものであり、ここではn個設けられるものとする。
Each of the FPGAs 151, 152, ..., 15n is, for example, 20 × 10 3. It is composed of an LSI chip in which individual gate elements are arranged in an array, and a desired hardware circuit is realized by compiling a subroutine. Here, n pieces are provided.

【0011】上記のような構成にあって、その動作は図
2に示すようになる。すなわち、同図はソースプログラ
ムを作成してからその実行ファイルを共有メモリである
RAM14に保存するまでの処理内容を示すもので、全体
の動作制御はCPU11により行なわれる。
With the above-mentioned structure, the operation is as shown in FIG. That is, this figure shows the processing contents from the creation of the source program to the storage of the execution file in the RAM 14 which is a shared memory, and the overall operation control is performed by the CPU 11.

【0012】処理当初には、まずステップS1に示すよ
うにユーザが高級言語でソースプログラムを必要に応じ
てサブルーチンを含んで作成する。プログラムの作成を
終えるとCPU11は続いてステップS2でそのソースプ
ログラム中にサブルーチンがあるか否かを判断する。
At the beginning of the process, first, as shown in step S1, the user creates a source program in a high-level language, including a subroutine if necessary. When the creation of the program is completed, the CPU 11 subsequently determines in step S2 whether or not there is a subroutine in the source program.

【0013】ここでサブルーチンがある場合には、さら
にステップS5でそのサブルーチンのプログラム長が長
いか否かを例えば特定のプログラムステップ数を基準に
して判断する。プログラム長が長く、長時間の処理が必
要なサブルーチンがあった場合には、ステップS6でそ
のサブルーチンに対してFPGA用のコンパイラにより
コンパイルすることでFPGA151 ,152 ,…,15n に
マッピングファイルを作成する。
If there is a subroutine, it is further determined in step S5 whether or not the program length of the subroutine is long, for example, based on a specific number of program steps. When there is a subroutine having a long program length and requiring a long time processing, a mapping file is created in the FPGA 151, 152, ..., 15n by compiling the subroutine in step S6 by the compiler for FPGA. ..

【0014】また、上記ステップS2でサブルーチンが
なくメインルーチンのみであると判断した場合、あるい
はサブルーチンがあったとしてもステップS5でそのサ
ブルーチンが長時間の処理が必要なものでなく短いサブ
ルーチンであると判断した場合はROM13に予め記憶さ
れる該高級言語用のコンパイラでこれらメインルーチン
及びサブルーチンをコンパイルして実行ファイルを作成
する。
If it is determined in step S2 that there is no subroutine but only the main routine, or if there is a subroutine, it is determined in step S5 that it is a short subroutine that does not require long-time processing. If determined, the main routine and the subroutine are compiled by the high-level language compiler stored in the ROM 13 in advance to create an execution file.

【0015】そして、ステップS4において上記ステッ
プS6で作成したマッピングファイル及びステップS3
で作成した実行ファイルを共有メモリであるRAM14に
保存する。
Then, in step S4, the mapping file created in step S6 and step S3
The executable file created in step S6 is saved in the RAM 14 which is a shared memory.

【0016】こうしてRAM14に記憶させた実行ファイ
ルを読出して起動させると、CPU11はRAM14よりn
個のFPGA151 ,152 ,…,15n のマッピングファイ
ルをロードして所定個数のサブルーチンをFPGA151
,152 ,…,15n にて波動回路として実現させる。
When the execution file stored in the RAM 14 is read and activated in this way, the CPU 11 reads n from the RAM 14.
, 15n FPGA15, 152, ... 15n mapping file is loaded and a predetermined number of subroutines FPGA151
, 152, ..., 15n are realized as a wave circuit.

【0017】そして、ソースプログラムの実行ファイル
はRAM14に移され、CPU11により実行される。この
とき、長時間の処理を要するサブルーチンをコールする
場合はCPU11が予めハードウェア化したFPGA151
,152 ,…,15n のいずれかによりデータ処理を実行
させるため、高速でサブルーチンを処理することができ
る。CPU11はその結果を受取った後に再び実行ファイ
ルを続行させるもので、以上の処理をソースプログラム
のメインルーチンが終了するまで実行する。
Then, the execution file of the source program is moved to the RAM 14 and executed by the CPU 11. At this time, when calling a subroutine that requires a long processing time, the CPU 151 pre-configures the hardware in the FPGA 151.
, 152, ..., 15n to execute the data processing, the subroutine can be processed at high speed. The CPU 11 continues the execution file again after receiving the result, and executes the above processing until the main routine of the source program is completed.

【0018】なお、上記実施例では、長時間の処理が必
要なサブルーチンをFPGA151 ,152 ,…,15n でハ
ードウェア化して実現するか否かを自動的に判断し、実
行させるようにしたが、ユーザが個々のサブルーチンに
ついてハードウェア化するか否かを判断し、指定してコ
ンパイルさせるようにすることもできる。また、FPG
A151 ,152 ,…,15n へのサブルーチンロードをプロ
グラム実行前にすべて終えてしまうのではなく、ソース
プログラムの実行ファイル中でサブルーチンがコールさ
れた時に、自動的にロードすることもできる。
In the above embodiment, whether or not a subroutine requiring a long-time process is realized by hardware in FPGA 151, 152, ..., 15n is automatically judged and executed. It is also possible for the user to judge whether or not to implement hardware for each individual subroutine and to specify and compile it. Also, FPG
.., 15n may be automatically loaded when a subroutine is called in the execution file of the source program, instead of finishing all the loading of the subroutines into A151, 152, ..., 15n.

【0019】さらに、プログラム可能なハードウェア回
路としてのFPGA151 ,152 ,…,15n の使用個数が
限定される場合には、n個のFPGA151 ,152 ,…,
15n中のm個(n>m)にサブルーチンがコンパイルさ
れた時点で、残るサブルーチンはその処理に必要な長さ
に関係なく、そのままメインルーチンと共に実行ファイ
ルにコンパイルするものとして設定することも考えられ
る。
Further, when the number of FPGAs 151, 152, ..., 15n used as programmable hardware circuits is limited, n FPGAs 151, 152 ,.
When m subroutines (n> m) in 15n are compiled, the remaining subroutines may be set to be compiled into an executable file together with the main routine regardless of the length required for the processing. ..

【0020】[0020]

【発明の効果】以上に述べた如く本発明によれば、複数
のプログラム可能なハードウェア回路、例えばFPGA
を用い、ソースプログラム中のサブルーチンのプログラ
ム長に対応して特定長以上のサブルーチンは上記プログ
ラム可能なハードウェア回路にコンパイルさせる一方、
特定長より短いサブルーチンはそのまま実行ファイルに
コンパイルさせてソフトウェアで処理させるようにした
ので、汎用性が高く、ユーザレベルでのプログラムが可
能であると同時にメモリ容量も制限せず、高速処理が可
能で効率的にデータ処理を行なうことができる。
As described above, according to the present invention, a plurality of programmable hardware circuits such as FPGAs are used.
, A subroutine having a specific length or more corresponding to the program length of the subroutine in the source program is compiled into the programmable hardware circuit,
Subroutines shorter than a specified length are compiled into an executable file and processed by software, so they have high versatility and can be programmed at the user level, and at the same time do not limit the memory capacity and enable high-speed processing. Data processing can be performed efficiently.

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

【図1】本発明の一実施例に係る回路構成を示すブロッ
ク図。
FIG. 1 is a block diagram showing a circuit configuration according to an embodiment of the present invention.

【図2】本発明の動作を説明するフローチャート。FIG. 2 is a flowchart illustrating the operation of the present invention.

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

11…CPU、12…ペリフェラルLSI、13…ROM、14
…RAM、151 ,152,15n …FPGA。
11 ... CPU, 12 ... Peripheral LSI, 13 ... ROM, 14
... RAM, 151, 152, 15n ... FPGA.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数のプログラム可能なハードウェア回
路と、 これらプログラム可能なハードウェア回路のマッピング
ファイルを作成する第1のコンパイル手段と、 ユーザが高級言語で作成したソースプログラムを実行フ
ァイルにコンパイルする第2のコンパイル手段と、 上記ソースプログラム中のサブルーチンのプログラム長
に対応して特定長以上のサブルーチンは上記第1のコン
パイル手段により上記プログラム可能なハードウェア回
路にコンパイルさせ、特定長より短いサブルーチンは上
記第2のコンパイル手段により実行ファイルにコンパイ
ルさせる制御手段とを具備したことを特徴とするデータ
処理装置。
1. A plurality of programmable hardware circuits, a first compiling means for creating a mapping file of these programmable hardware circuits, and a source program created by a user in a high-level language is compiled into an execution file. The second compiling means and a subroutine having a specific length or more corresponding to the program length of the subroutine in the source program are compiled into the programmable hardware circuit by the first compiling means, and a subroutine shorter than the specific length is A data processing apparatus comprising: a control unit that causes the second compiling unit to compile an execution file.
【請求項2】 上記プログラム可能なハードウェア回路
はフィールド・プログラマブル・ゲート・アレイで構成
したことを特徴とする請求項1記載のデータ処理装置。
2. The data processing apparatus according to claim 1, wherein the programmable hardware circuit comprises a field programmable gate array.
【請求項3】 ソースプログラム中のサブルーチンのプ
ログラム長に対応し、特定長以上のサブルーチンはプロ
グラム可能なハードウェア回路にコンパイルさせ、特定
長より短いサブルーチンは実行ファイルにコンパイルさ
せることを特徴としたデータ処理方法。
3. Data corresponding to a program length of a subroutine in a source program, wherein a subroutine having a specific length or more is compiled into a programmable hardware circuit, and a subroutine shorter than the specific length is compiled into an execution file. Processing method.
JP10466092A 1992-04-23 1992-04-23 Device and method for processing data Pending JPH05298115A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10466092A JPH05298115A (en) 1992-04-23 1992-04-23 Device and method for processing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10466092A JPH05298115A (en) 1992-04-23 1992-04-23 Device and method for processing data

Publications (1)

Publication Number Publication Date
JPH05298115A true JPH05298115A (en) 1993-11-12

Family

ID=14386625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10466092A Pending JPH05298115A (en) 1992-04-23 1992-04-23 Device and method for processing data

Country Status (1)

Country Link
JP (1) JPH05298115A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008913A3 (en) * 2000-07-20 2002-05-02 Celoxica Ltd Memory resource arbitrator for multiple gate arrays
JP2006048201A (en) * 2004-08-02 2006-02-16 Mori Seiki Co Ltd Program conversion apparatus
JP2006243838A (en) * 2005-02-28 2006-09-14 Toshiba Corp Program development device
JP2009251782A (en) * 2008-04-03 2009-10-29 Koyo Electronics Ind Co Ltd Acceleration method, and the like, of programmable controller

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008913A3 (en) * 2000-07-20 2002-05-02 Celoxica Ltd Memory resource arbitrator for multiple gate arrays
JP2006048201A (en) * 2004-08-02 2006-02-16 Mori Seiki Co Ltd Program conversion apparatus
JP4578884B2 (en) * 2004-08-02 2010-11-10 株式会社森精機製作所 Program converter
JP2006243838A (en) * 2005-02-28 2006-09-14 Toshiba Corp Program development device
US7917899B2 (en) 2005-02-28 2011-03-29 Kabushiki Kaisha Toshiba Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
JP2009251782A (en) * 2008-04-03 2009-10-29 Koyo Electronics Ind Co Ltd Acceleration method, and the like, of programmable controller

Similar Documents

Publication Publication Date Title
US6086623A (en) Method and implementation for intercepting and processing system calls in programmed digital computer to emulate retrograde operating system
RU99113042A (en) Computer devices for the application program, BLOCK ADMINISTRATOR OF EVENTS computing device, a way to develop computer applications, programming model for computer applications, a way to create a library of objects, computer devices DATABASE, WORK PROCESS SYSTEM DATABASE
JPS60136833A (en) Switching method of operating system
JPH05298115A (en) Device and method for processing data
JPH05165718A (en) Processing system
US6099585A (en) System and method for streamlined execution of instructions
JPH11120210A (en) Designing device of reconfigurable circuit and reconfigurable circuit device
JP3099889B2 (en) Electronic computer, programmable logic circuit and program processing method
JPH0410081B2 (en)
CN110941478B (en) Execution method and device of file scanning task and computing equipment
JP2841403B2 (en) Loop optimization processing method
JPH06124212A (en) Interruption vector table management system
JP2989906B2 (en) JCL automatic generation method
KR970066855A (en) Computer and method for operating an add-on device without an operating system
JPH03233703A (en) Sequence controller
JPS63276629A (en) Sorting system for record in file
JPH0675757A (en) Link system for virtual space resident program
JPS62212743A (en) Memory dump system
JPH0573335A (en) Automatic in-line development system for program
JPS62221058A (en) Additional load control system for input/output control program
JPH0830466A (en) Multitask switching control method
JPS6249502A (en) Programmable controller
EP0410418A2 (en) Input device for computer and method for input interrupt
JPS63163636A (en) Executing system for parallel processing
JPH0844570A (en) System and method for program execution