JPH0659908A - Device for executing program - Google Patents

Device for executing program

Info

Publication number
JPH0659908A
JPH0659908A JP4213137A JP21313792A JPH0659908A JP H0659908 A JPH0659908 A JP H0659908A JP 4213137 A JP4213137 A JP 4213137A JP 21313792 A JP21313792 A JP 21313792A JP H0659908 A JPH0659908 A JP H0659908A
Authority
JP
Japan
Prior art keywords
program
execution
unit
execution program
configuration
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
JP4213137A
Other languages
Japanese (ja)
Inventor
Akiyoshi Mogi
章善 茂木
Atsushi Inoue
淳 井上
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 JP4213137A priority Critical patent/JPH0659908A/en
Publication of JPH0659908A publication Critical patent/JPH0659908A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To automatically select and execute an optimum execution program in accordance with a computer to be executed which is specified by a user at the time of execution by storing plural different execution programs together with information relating to the constitution of the computer to be executed or a debugging mode in accordance with the constitution of the computer prepared from a program. CONSTITUTION:Plural execution programs respectively corresponding to plural system constitution for one source program are stored in an execution program storing part 16. When a program selecting part 11 specifies a program to be executed by means of an execution specifying part 102, an attribute information reading part 111 reads out respective attribute information of plural execution programs corresponding to the specified program from the storing part 16. A comparing part 112 compares the read attribute information with a parameter set up in a parameter setting part 13, and when both the contents coincide with each other, an execution program determing part 113 sends information for specifying an execution program to a program execution part 12.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、電子計算機システムに
おけるプログラム実行装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program execution device in an electronic computer system.

【0002】[0002]

【従来の技術】近年の素子技術の発達により、計算機の
速度が向上してきている。一方で計算機システムの構成
面からの速度向上をはかるために並列・並行処理の手法
も考えられてきている。この並列・並行処理においては
複数の計算機で一つのシステムを構成するが、こういっ
たシステム上で効率の良い処理を行うためにはシステム
の構成に合わせたプログラムの実行が不可欠である。計
算機上でプログラムを実行するにはソースプログラムか
ら実行プログラムを生成してそれを実行することが行わ
れるが、その際にシステムの構成に合わせた最適化処理
を施した実行プログラムを生成することにより、そのシ
ステムにあった効率良い処理を行うことができる。
2. Description of the Related Art With the recent development of element technology, the speed of computers has been improved. On the other hand, parallel and parallel processing methods have also been considered in order to improve the speed of computer systems. In this parallel / parallel processing, one computer is composed of a plurality of computers, but in order to perform efficient processing on such a system, it is essential to execute a program according to the system configuration. In order to execute a program on a computer, an execution program is generated from a source program and then executed, but at that time, by generating an execution program that is optimized according to the system configuration. , It is possible to perform efficient processing that suits the system.

【0003】しかし、システム構成に合わせた実行プロ
グラムを生成するということは、システムの構成が変わ
れば同一のソースプログラムから異なる実行プログラム
が生成されることになる。ユーザが実行時にシステム構
成を指定できるシステムを考えた場合、意図するところ
は同じだがその処理方法や対象システムの異なる複数の
実行プログラムが生成されることになる。この時、現状
ではユーザがこれら複数の実行プログラムに対して管理
する際のサポート機構をシステムが持っておらず、すべ
てユーザに任せられていたので、これがユーザの負担と
なっていた。
However, generating an execution program suitable for the system configuration means that different execution programs are generated from the same source program if the system configuration changes. When a system in which the user can specify the system configuration at the time of execution is considered, a plurality of execution programs having the same intention but different processing methods and target systems are generated. At this time, at present, the system does not have a support mechanism when the user manages these plural execution programs, and all of them are left to the user, which is a burden on the user.

【0004】また、実システムにおける実行時だけでな
く、例えばこうした並列・並行処理システムをシミュレ
ートするシミュレータ上での実行についても同様のこと
がいえ、同一のソースプログラムから得られる複数の相
異なるシミュレーション実行用プログラムを管理するこ
とがユーザの負担となっており、この負担を軽減するこ
とが望まれていた。
The same can be said not only when executing in a real system, but also when executing on a simulator for simulating such a parallel / concurrent processing system, for example, a plurality of different simulations obtained from the same source program. It is a user's burden to manage the execution program, and it has been desired to reduce this burden.

【0005】さらに、このようなシステム上でのデバッ
グの際にも同じことが言える。デバッグ作業する時に
は、対象とするシステムの構成に合ったデバッグ対象実
行プログラムを使用するが、どれがそのファイルなのか
など、ファイル情報の管理はユーザ任せであった。ま
た、複数のデバッグモードを有するデバッガ上でのデバ
ッグを考えた時、デバッガの各モードに応じてデバッグ
対象実行プログラムを生成する必要があり、これについ
ての情報管理もユーザの負担となっており、この負担を
軽減することが効率の良いデバッグを行うために必要で
あった。
Furthermore, the same can be said when debugging on such a system. When debugging, I use the debug target execution program that matches the configuration of the target system, but it was up to the user to manage the file information such as which file. Also, when considering debugging on a debugger that has multiple debug modes, it is necessary to generate a debug target execution program according to each mode of the debugger, and the information management for this is also a burden on the user. It was necessary to reduce this burden for efficient debugging.

【0006】[0006]

【発明が解決しようとする課題】このように実行時にシ
ステム構成を変化させることのできる並列・並行処理シ
ステム上での実行は、実行時に最適と思われるシステム
構成をユーザが指定できるという反面、システム構成毎
に異なる実行プログラムの管理をすべてユーザが行わな
ければならないという欠点があった。
Execution on a parallel / parallel processing system in which the system configuration can be changed at the time of execution in this way allows the user to specify the optimal system configuration at the time of execution. There is a drawback in that the user must manage all the execution programs that differ for each configuration.

【0007】本発明はこのような事情を考慮してなされ
たものであり、その目的とするところは、ユーザの指定
によりその構成を変化させることのできるシステムにお
いて、システムの構成を表すパラメタと実行プログラム
中に記載された対象システム情報を比較することによ
り、ユーザが特に指示することなく、システムが自らの
実行するファイルを選択、実行することを可能とするプ
ログラム実行装置を提供することにある。
The present invention has been made in consideration of such circumstances, and an object thereof is to provide a system configuration parameter and an execution method in a system whose configuration can be changed by user's designation. An object of the present invention is to provide a program execution device that enables a system to select and execute a file executed by itself by comparing target system information described in a program without a user's instruction.

【0008】[0008]

【課題を解決するための手段】本発明に係るプログラム
実行装置は、計算機の構成もしくはデバッグモードを表
す情報を入力する入力手段と、1つのプログラムから作
成された計算機の構成に応じて異なる複数の実行プログ
ラムを、その実行対象計算機構成に関する情報やデバッ
グモードに関する情報と共に記憶する記憶手段と、実行
すべきプログラムを特定する指示手段と、この指示手段
により特定されたプログラムに対応する前記記憶手段の
複数の実行プログラムの中から、前記入力手段により入
力された計算機の構成もしくはデバッグモードに合致す
る実行プログラムを選択する選択手段とを具備し、前記
選択手段により選択された実行プログラムを前記入力手
段により入力された計算機の構成の下で実行することを
特徴とするものである。
A program execution apparatus according to the present invention comprises a plurality of input means for inputting information representing the configuration of a computer or a debug mode, and a plurality of different devices depending on the configuration of a computer created from one program. A plurality of storage means for storing the execution program together with information about the configuration of the computer to be executed and information about the debug mode, an instruction means for specifying the program to be executed, and a plurality of storage means corresponding to the program specified by the instruction means. Selecting the execution program that matches the configuration of the computer or the debug mode input by the input means from among the execution programs of the input program, and the execution program selected by the selection means is input by the input means. Characterized by running under a configured computer configuration That.

【0009】また、前記選択手段において、入力された
計算機の構成に合致する実行プログラムが前記記憶手段
に存在しなかった場合に、入力された計算機の構成に合
致する実行プログラムをコンパイラ等の実行プログラム
生成装置を用いて新たに生成し、これを実行することを
特徴とするものである。
Further, in the selecting means, when there is no execution program matching the input computer configuration in the storage means, the executing program matching the input computer configuration is executed by a compiler or the like. It is characterized in that it is newly generated using a generation device and is executed.

【0010】[0010]

【作用】本発明によれば、プログラム実行時にユーザが
指定した実行対象計算機構成に応じて、最適な実行プロ
グラムを自動的に選択して実行することが可能であり、
また適当な実行プログラムが無い場合には自動的にその
実行計算機構成に合致した実行プログラムをコンパイラ
等を呼び出して生成して選択・実行するので、ユーザは
個々の実行プログラム内容(どのような構成の計算機を
対象に生成されたものか、どのような最適化が施されて
いるか、など)を意識せず適切なプログラム実行を行う
ことができる。
According to the present invention, it is possible to automatically select and execute an optimum execution program in accordance with the configuration of the execution target computer specified by the user when executing the program.
If there is no suitable execution program, an execution program that matches the execution computer configuration is automatically created by calling a compiler, etc., and selected / executed. Appropriate program execution can be performed without being aware of what was generated for the computer, what kind of optimization was performed, etc.).

【0011】[0011]

【実施例】以下、図面に基づいて本発明の一実施例につ
き説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0012】図1は本発明の一実施例に係るプログラム
実行装置の構成を示す図である。本装置は、ユーザ入力
部10、パラメタ設定部13、プログラム選択部11、
プログラム実行部12から成る。ユーザ入力部10は、
システム構成入力部101と実行指示部102を備え、
プログラム実行時にシステム構成入力部101からシス
テム構成を示すパラメタを入力し、パラメタ設定部13
にこの値を設定することになる。一方、実行プログラム
記憶部16には、1つのソースプログラムに対して、複
数のシステム構成にそれぞれ対応する複数の実行プログ
ラムが記憶されている。
FIG. 1 is a diagram showing the configuration of a program execution device according to an embodiment of the present invention. The apparatus includes a user input unit 10, a parameter setting unit 13, a program selection unit 11,
It comprises a program execution unit 12. The user input unit 10 is
A system configuration input unit 101 and an execution instruction unit 102 are provided,
When the program is executed, the parameter indicating the system configuration is input from the system configuration input unit 101, and the parameter setting unit 13
You will set this value to. On the other hand, the execution program storage unit 16 stores a plurality of execution programs corresponding to a plurality of system configurations for one source program.

【0013】そして、プログラム選択部11は、属性情
報読み出し部111、比較部112、実行プログラム決
定部113、実行プログラム生成要求部114を備え、
実行したいプログラムを実行指示部102より特定する
と、特定されたプログラムに対応する複数の実行プログ
ラムの属性情報をそれぞれ属性情報読み出し部111が
実行プログラム記憶部16から読み出す。読み出された
属性情報とパラメタ設定部13中のパラメタとを比較部
112が比較し、一致すれば実行プログラム決定部11
3がその実行プログラムを選択することを決定して、プ
ログラム実行部12へ実行プログラムを特定する情報を
送る。読みだした属性情報の中に設定されたパラメタと
一致するものがなければ、実行プログラム決定部113
は実行プログラム生成要求部114に対して設定された
パラメタの情報を送り、実行プログラム生成要求部11
4はプログラム生成装置15に対して、該当するソース
プログラムから、設定されたシステム構成に対応する実
行プログラムを生成するよう指示を出す。新たに生成さ
れた実行プログラムが実行プログラム記憶部16に記憶
されたという応答が返ってくると、実行プログラム生成
要求部114は実行プログラム決定部113を介して、
プログラム実行部12へ新たに生成された実行プログラ
ムを特定する情報を送る。
The program selection unit 11 includes an attribute information read unit 111, a comparison unit 112, an execution program determination unit 113, and an execution program generation request unit 114,
When the program to be executed is specified by the execution instructing unit 102, the attribute information reading unit 111 reads out the attribute information of the plurality of execution programs corresponding to the specified program from the execution program storage unit 16. The comparing unit 112 compares the read attribute information with the parameters in the parameter setting unit 13, and if they match, the execution program determining unit 11
3 determines to select the execution program, and sends information specifying the execution program to the program execution unit 12. If there is no match in the read attribute information with the set parameter, the execution program determination unit 113
Sends the information of the set parameters to the execution program generation request unit 114, and the execution program generation request unit 11
4 issues an instruction to the program generation device 15 to generate an execution program corresponding to the set system configuration from the corresponding source program. When the response that the newly generated execution program is stored in the execution program storage unit 16 is returned, the execution program generation request unit 114 causes the execution program determination unit 113 to
Information for identifying the newly generated execution program is sent to the program execution unit 12.

【0014】プログラム実行部12はプログラム読み込
み部121と実行部122を備え、プログラム読み込み
部121が実行プログラム記憶部16から実行プログラ
ム決定部113により特定される実行プログラムの本体
を読み込み、実行部122がこれを実行する。
The program execution unit 12 includes a program reading unit 121 and an execution unit 122. The program reading unit 121 reads the main body of the execution program specified by the execution program determining unit 113 from the execution program storage unit 16, and the execution unit 122 Do this.

【0015】プログラム実行時に実行対象となる計算機
構成を示す実行パラメタの値は、あらかじめ定められた
値が用いられる。ユーザが計算機構成を変えたい場合に
は、その値をユーザ入力部101からその値を入力する
とパラメタ設定部13において入力されたデータからプ
ログラム実行のパラメタ値が設定される。このとき設定
する値としては、マルチプロセッサ構成システムにおけ
る使用プロセッサ台数、使用プロセッサの種類、複数の
演算ユニットを持つVLIW、スーパースカラ計算機に
おける(個々の)演算ユニット数、コンパイル時に論理
的なプロセッサを割り当て実行時にこれらの論理プロセ
ッサを実際の物理プロセッサに割り当てて実行するよう
な並行処理システムにおける対象とする論理プロセッサ
の数や物理プロセッサの種類や数、など対象となる計算
機、システムに応じて自由に定めてよい。
A predetermined value is used as the value of the execution parameter indicating the computer configuration to be executed when the program is executed. When the user wants to change the computer configuration, when the value is input from the user input unit 101, the parameter value for program execution is set from the data input in the parameter setting unit 13. The values to be set at this time are the number of processors used in a multiprocessor configuration system, the type of processors used, the VLIW having multiple arithmetic units, the number of (individual) arithmetic units in a superscalar computer, and the logical processors assigned during compilation. In a parallel processing system that allocates these logical processors to actual physical processors at the time of execution and executes them, the number of target logical processors, the type and number of physical processors, etc. can be freely determined according to the target computer and system. You may

【0016】ここで設定されたパラメタの値に従いプロ
グラム選択部11において実行するプログラム(オブジ
ェクトファイル、ロードモジュール)を選択する。ここ
でプログラム選択の際には検索対象となる実行プログラ
ムの属性情報を読み出し部114で読み込み、設定され
たパラメタを満足する条件で生成された実行プログラム
の有無を実行プログラム決定部113で判定する。
A program (object file, load module) to be executed in the program selecting section 11 is selected according to the parameter values set here. At the time of program selection, the reading unit 114 reads the attribute information of the execution program to be searched, and the execution program determining unit 113 determines whether or not there is an execution program generated under the condition that satisfies the set parameters.

【0017】ここで各実行プログラムの内容形式の例を
図2、図3に示す。図2はマルチプロセッサシステムで
所定のプロセッサ台数で実行することを想定して生成さ
れた実行プログラムの内部形式を示している。通常の実
行プログラム情報の先頭に、プログラム実行プロセッサ
台数、個々の実行プロセッサの属性情報を書き込んであ
る。この図では、その実行プログラムが4台のプロセッ
サを想定し、うち1台はプロセッサA1、残りの3台は
プロセッサB1であることを想定して生成(コンパイ
ル)されていることを示す。図3はスーパースカラプロ
セッサで命令レベルの並列処理を想定して生成された実
行プログラムの内部構成を示している。やはり通常の実
行プログラム情報の先頭に、プログラムを実行するプロ
セッサの1サイクルあたり実行命令数、個々の演算ユニ
ット(整数ユニット、浮動小数点ユニット、ロード・ス
トアユニット)数を示す実行プロセッサの属性情報がコ
ード化されている。図3は実行プログラムが4命令同時
実行、整数ユニット2個、浮動小数点ユニット1個、ロ
ード・ストアユニット2個のプロセッサを想定して生成
されたことを示している。
Here, examples of the content format of each execution program are shown in FIGS. FIG. 2 shows the internal format of an execution program generated assuming that a predetermined number of processors will be executed in a multiprocessor system. The number of program execution processors and attribute information of each execution processor are written at the head of the normal execution program information. This figure shows that the execution program is generated (compiled) assuming four processors, one of which is the processor A1 and the remaining three of which are the processors B1. FIG. 3 shows the internal structure of an execution program generated by the superscalar processor assuming parallel processing at the instruction level. The attribute information of the execution processor indicating the number of execution instructions per cycle of the processor executing the program and the number of individual arithmetic units (integer unit, floating point unit, load / store unit) is coded at the beginning of the normal execution program information. Has been converted. FIG. 3 shows that the execution program is generated assuming that four instructions are simultaneously executed, two integer units, one floating point unit, and two load / store units.

【0018】これらの実行プログラムはコンパイラ等の
実行プログラム生成装置15によって生成されたもので
あるが、これらの実行プロセッサの属性情報はプログラ
ム生成時にオプションスイッチ等で指定されることにな
る。例えば図2の場合、コンパイル時オプションとして -num 4 -p1 A1 -p2 B1 -p3 B1 -p4 B1 のように指定することにより、プロセッサ台数が4台で
あることやそれぞれのプロセッサの種類についての情報
をコンパイラに対して与える。この時、コンパイラはこ
れらの情報をもとに必要な最適化の処理を行い実行プロ
グラムを生成し、同時に、実行プログラム中にその情報
を書き出す。このようにして図2のような実行プログラ
ムが得られる。また、このようなコンパイルオプション
による指定がない場合、現在のシステム構成に関する情
報をシステムから得ることにより、現在のシステム構成
に合わせた実行プログラムが生成されるようになってい
ても良い。
Although these execution programs are generated by the execution program generation device 15 such as a compiler, the attribute information of these execution processors is designated by an option switch or the like when the program is generated. For example, in the case of Fig. 2, by specifying as a compile time option -num 4 -p1 A1 -p2 B1 -p3 B1 -p4 B1, the number of processors is 4 and information about each processor type is specified. To the compiler. At this time, the compiler performs necessary optimization processing based on these pieces of information to generate an execution program, and at the same time, writes the information in the execution program. In this way, the execution program as shown in FIG. 2 is obtained. If no such compile option is specified, an execution program suitable for the current system configuration may be generated by obtaining information about the current system configuration from the system.

【0019】検索された実行プログラム群のうち、パラ
メタ設定部13で設定された条件に合致するものがあれ
ば実行プログラム決定部113はこれを決定してその情
報をプログラム実行部12に渡す。プログラム実行部1
2では与えられた情報から選択された実行プログラムを
実行プログラム読み込み部121で読み出して実行部1
22で通常のプログラム実行を行う。
If there is one of the retrieved execution programs that matches the condition set by the parameter setting unit 13, the execution program determination unit 113 determines this and passes the information to the program execution unit 12. Program execution unit 1
2, the execution program selected from the given information is read by the execution program reading unit 121, and the execution unit 1
At 22, normal program execution is performed.

【0020】パラメタ設定部13で設定した実行条件に
合致する実行プログラムが存在しない場合には、設定さ
れたパラメタを提示して実行プログラム生成要求部11
4により適当な実行プログラムの生成を外部の実行プロ
グラム生成装置15(コンパイラなどの言語処理プロセ
ッサ)に要求する。本実施例ではプログラム実行装置と
は別に個々の計算機に対する最適な実行プログラム生成
を行うコンパイラが存在することを仮定しているが、シ
ステム構成によってはこれらの言語処理プロセッサを内
蔵し自らパラメタに合致する実行プログラムを生成する
ように構成しても構わない。
If there is no execution program that matches the execution conditions set by the parameter setting unit 13, the set parameters are presented and the execution program generation requesting unit 11 is presented.
4, an external execution program generation device 15 (language processor such as a compiler) is requested to generate an appropriate execution program. In the present embodiment, it is assumed that there is a compiler for generating an optimum execution program for each computer in addition to the program execution device. However, depending on the system configuration, these language processors are built in and the parameters match themselves. It may be configured to generate an execution program.

【0021】実行プログラム生成要求部114からの要
求に対して適当な実行プログラムが生成されたことが通
知されたら、改めて実行プログラム決定部113はこの
新たに生成されたプログラムを選択してその情報をプロ
グラム実行部12に渡す。プログラム実行部12は同様
に実行プログラム読み込み部121で読み出して実行部
122でプログラムを実行する。
When it is notified that an appropriate execution program has been generated in response to the request from the execution program generation requesting unit 114, the execution program determining unit 113 again selects this newly generated program and outputs the information. It is passed to the program execution unit 12. Similarly, the program execution unit 12 reads out by the execution program reading unit 121 and executes the program by the execution unit 122.

【0022】また、パラメタ設定部13で設定した実行
条件に合致しない実行プログラムが存在している場合、
そのプログラムファイルを削除するような不要実行プロ
グラムファイル削除装置をシステム内に持つことも可能
である。このような自動的にファイル削除を行う装置を
持つことは、プログラムファイルを保持するハードディ
スクなどの記憶装置の容量が小さい場合には有効であ
る。また、プログラムを保持しておくファイルシステム
中のディレクトリに存在するファイル数が少なくなるの
で、ファイル管理における負担が軽減される。このシス
テムにおいてユーザの作業は以下のようになる。 1)実行プログラムをコンパイラなどの実行プログラム
作成装置15を用いて作成しておく。 2)実行システムの構成を指定する(システム構成入力
部101)。 3)実行プログラムを指定し、システムに実行の指示を
与える(実行指示部102)。 4)必要ならば2)に戻る。 ただし、この流れのうち、必要な実行プログラムはシス
テムにより自動的に作成されるので1)は必要不可欠な
ものではない。
If there is an execution program that does not meet the execution conditions set by the parameter setting unit 13,
It is also possible to have an unnecessary execution program file deletion device in the system that deletes the program file. Having such a device that automatically deletes files is effective when the capacity of a storage device such as a hard disk holding a program file is small. Further, since the number of files existing in the directory in the file system that holds the program is reduced, the burden of file management is reduced. The user's work in this system is as follows. 1) An execution program is created by using the execution program creation device 15 such as a compiler. 2) Designate the configuration of the execution system (system configuration input unit 101). 3) Designate an execution program and give an execution instruction to the system (execution instruction unit 102). 4) Return to 2) if necessary. However, in this flow, 1) is not indispensable because a necessary execution program is automatically created by the system.

【0023】システムは実行の指示が与えられた時に実
行プログラム中の対象システムの構成と実際のシステム
の構成を比較し、実行するプログラムを選択して実行す
る。該当するプログラムが無い場合には実行プログラム
作成装置に対し作成の指示を出し、実行プログラムが作
成されたところでその実行プログラムを実行する。この
ような処理の流れとなる。
When the execution instruction is given, the system compares the configuration of the target system in the execution program with the actual configuration of the system, and selects and executes the program to be executed. If there is no corresponding program, a creation instruction is issued to the execution program creation device, and the execution program is executed when the execution program is created. This is the flow of processing.

【0024】本プログラム実行装置をシミュレータに対
して適用した例を考えてみる。この場合のシミュレータ
の構成は図1に示されたものと同様のものを使用でき、
対象とする実行プログラムはシミュレーション実行用プ
ログラムである。シミュレーション対象とするプロセッ
サはスーパースカラ方式のものであり、スーパースカラ
プロセッサ用にコンパイラで生成された実行プログラム
を用いてシミュレーションを行うものとする。スーパー
スカラ方式のプロセッサは複数の演算器を内部に持ち、
同一クロックで複数の演算を行うことによりその処理性
能を向上させようとするものである。スーパースカラプ
ロセッサのシミュレータの場合、その演算器の種類や個
数、同時実行命令数などを変化させてその性能に与える
影響などを評価したりするが、これら、演算器の種類や
個数、同時実行命令数などがシステムの構成を表すパラ
メタである。コンパイラはこのシステム構成を表すパラ
メタをコンパイル時オプションスイッチとして受けと
り、そのシステム構成に応じた実行プログラムを生成す
る。
Consider an example in which the program execution device is applied to a simulator. The configuration of the simulator in this case can be the same as that shown in FIG.
The target execution program is a simulation execution program. The processor to be simulated is of the superscalar type, and the simulation is performed using the execution program generated by the compiler for the superscalar processor. The superscalar type processor has multiple arithmetic units inside,
It is intended to improve its processing performance by performing a plurality of calculations with the same clock. In the case of a superscalar processor simulator, the type and number of arithmetic units, the number of simultaneous execution instructions, etc. are changed to evaluate the effect on performance. The number is a parameter that represents the system configuration. The compiler receives a parameter indicating this system configuration as a compile-time option switch and generates an execution program according to the system configuration.

【0025】図4にシミュレーション実行用プログラム
の例を示す。これらは上記コンパイラによって生成され
たものである。すなわち、ユーザはシミュレーション実
行用プログラム1を生成するのに -num 4 -IU 2 -FPU 1 -LSU 2 のように同時実行命令数が4、整数ユニット数が2、浮
動小数点ユニット数が2、ロードストアユニット数が2
であることを指定してコンパイラを起動して生成してい
る(無論、ソースプログラムの指定や生成されるプログ
ラムの指定も同時に行うが、ここではそれは省略してい
る)。また、シミュレーション実行用プログラム2につ
いては同様に、 -num 4 -IU 2 -FPU 1 -LSU 2 のように指定して実行用プログラムを生成している。こ
の場合、浮動小数点ユニットの数が異なるだけで、その
他の指定は実行用プログラム1の場合と同じである。
FIG. 4 shows an example of the simulation execution program. These are generated by the above compiler. That is, the user needs to generate four simulation execution programs, such as -num 4 -IU 2 -FPU 1 -LSU 2 with 4 simultaneous execution instructions, 2 integer units, 2 floating point units, and load. 2 store units
It is generated by invoking the compiler by specifying that (of course, the source program and the generated program are also specified at the same time, but they are omitted here). Similarly, the simulation execution program 2 is specified as -num 4 -IU 2 -FPU 1 -LSU 2 to generate the execution program. In this case, only the number of floating point units is different, and other specifications are the same as in the case of the execution program 1.

【0026】シミュレータ起動時にはあらかじめ定めら
れたパラメタ値が用いられるが、例えば、整数ユニット
が2個、浮動小数点ユニットが2個、ロード・ストアユ
ニットが2個、同時実行命令数が4という値がその規定
値であるとする。この設定において、図4に見られるよ
うなあらかじめユーザにより生成されたシミュレーショ
ン実行用プログラムを用いてシミュレーションを行う場
合、ユーザが例えばソースプログラムを指定するとその
ソースプログラムから生成されたシミュレーション実行
用プログラム1および2内の対象プロセッサに関する情
報が属性情報読み出し部において読み出され、この設定
値とシミュレータの設定値が実行プログラム比較部にお
いて比較され、シミュレーション実行用プログラム1が
選択される。そしてこの情報がプログラム実行部に伝え
られ、プログラム読み込み部においてシミュレーション
実行用プログラム1が読み込まれ、シミュレーションが
実行される。
A predetermined parameter value is used at the time of starting the simulator. For example, a value of 2 integer units, 2 floating point units, 2 load / store units, and 4 concurrent execution instructions are used. It is assumed to be the specified value. In this setting, when a simulation is performed using a simulation execution program generated in advance by the user as shown in FIG. 4, when the user specifies, for example, a source program, the simulation execution program 1 and the simulation execution program 1 generated from the source program are stored. Information about the target processor in 2 is read by the attribute information reading unit, and the setting value of the simulator is compared with the setting value of the simulator, and the simulation execution program 1 is selected. Then, this information is transmitted to the program execution unit, the simulation execution program 1 is read by the program reading unit, and the simulation is executed.

【0027】さて、ユーザがシミュレーション条件を変
えた場合を考える。シミュレータ上の対象システム設定
用コマンドを用いてシミュレータの設定を整数ユニット
が1個、浮動小数点ユニットが1個、ロード・ストアユ
ニットが1個、同時実行命令数が2というように設定を
行った時、パラメタ設定部において、その値が設定され
る。そして、シミュレーションを実行するときには、実
行プログラム決定部において、該当するシミュレーショ
ン実行用プログラムが存在していないので、新たに生成
することが決定される。そして実行プログラム生成要求
部からコンパイラに対し生成要求が出される。その際に
はソースプログラム名や各ユニットの個数、同時命令実
行数などのパラメタ情報がコンパイラに渡され、現在の
シミュレータ構成に合致したシミュレーション実行用プ
ログラムが生成される(図5のシミュレーション実行用
プログラム3)。すなわち、シミュレータ内の実行プロ
グラム生成要求部を通じてコンパイラが起動される。そ
の際に必要なオプションスイッチをつけてコンパイラが
起動される。この場合、 -num 2 -IU 1 -FPU 1 -LSU 1 のようにスイッチが付けられてコンパイラが起動され
る。シミュレータはこの生成されたシミュレーション実
行用プログラム3を読み込み、シミュレーションを実行
する。
Now, consider the case where the user changes the simulation conditions. When the simulator is set using the target system setting command on the simulator such that one integer unit, one floating point unit, one load / store unit, and two simultaneous execution instructions The value is set in the parameter setting section. Then, when the simulation is executed, the execution program determination unit determines that a new simulation execution program does not exist, so that a new generation program is generated. Then, the execution program generation request unit issues a generation request to the compiler. At that time, parameter information such as the source program name, the number of each unit, and the number of simultaneous instruction executions is passed to the compiler to generate a simulation execution program that matches the current simulator configuration (the simulation execution program of FIG. 5). 3). That is, the compiler is activated through the execution program generation request unit in the simulator. At that time, the compiler is started with the necessary option switches. In this case, the compiler is invoked with a switch such as -num 2 -IU 1 -FPU 1 -LSU 1. The simulator reads the generated simulation execution program 3 and executes the simulation.

【0028】以上のようなシミュレータの場合、シミュ
レータが対象システムの設定とシミュレーション実行用
プログラム内の情報を比較することでどのプログラムを
実行するべきかを決定でき、また、実行すべきプログラ
ムが存在しない場合には外部のコンパイラに指示を出す
ことによりシミュレーション実行用プログラムを生成し
てシミュレーションを実行することができる。
In the case of the above simulator, the simulator can determine which program should be executed by comparing the setting of the target system and the information in the simulation execution program, and there is no program to be executed. In this case, by issuing an instruction to an external compiler, a simulation execution program can be generated to execute the simulation.

【0029】さらに、本プログラム実行装置をデバッガ
に対して適用した例を考えてみる。対象とするシステム
はマルチプロセッサシステムであり、デバッグのモード
には命令を逐次に実行して並列処理しないように動作す
るモード(serialモード)と、並列実行を行うモ
ード(parallelモード)の2種類があるものと
する。マルチプロセッサシステムの場合、使用されるプ
ロセッサの台数や、その種類などがシステム構成のパラ
メタとなる。また、デバッガの場合にはデバッグモード
もシステムのパラメタとなる。図6はデバッグ対象実行
プログラムの例である。これらのプログラムはそれぞ
れ、 プログラム1: -dbg serial -num 4 -p1 A1 -p2 B1 -
p3 B1 -p4 B1 プログラム2: -dbg serial -num 3 -p1 A1 -p2 B1 -
p3 B1 のように、デバッグモード、プロセッサ数、各プロセッ
サの種類などの情報をコンパイル時オプションスイッチ
で指定されて生成されたものである。
Further, consider an example in which the program execution device is applied to a debugger. The target system is a multiprocessor system, and there are two types of debug modes: a mode in which instructions are executed sequentially to avoid parallel processing (serial mode) and a mode in which parallel execution is performed (parallel mode). There is. In the case of a multiprocessor system, the number of processors used and their types are parameters of the system configuration. In the case of a debugger, the debug mode is also a system parameter. FIG. 6 shows an example of the debug target execution program. Each of these programs is Program 1: -dbg serial -num 4 -p1 A1 -p2 B1-
p3 B1 -p4 B1 Program 2: -dbg serial -num 3 -p1 A1 -p2 B1-
Like p3 B1, it is generated by specifying information such as debug mode, number of processors, and type of each processor with a compile-time option switch.

【0030】デバッガ起動時の規定値は、プロセッサ数
が4台で、1台目がA1プロセッサ、2から4台目がB
1プロセッサであり、デバッグモードはserialモ
ードであるとする。この構成において、図6に示される
ようなデバッグ対象実行プログラムを用いてデバッグを
行う場合、デバッグ対象実行ファイル1および2内の対
象システムに関する情報が属性情報読み出し部において
読み出され、この設定値とデバッガの設定値が実行プロ
グラム比較部において比較され、デバッグ対象実行プロ
グラム1が選択される。そしてこの情報がプログラム実
行部に伝えられ、プログラム読み込み部においてデバッ
グ対象実行プログラム1が読み込まれデバッグが実行さ
れる。
The default value when the debugger is started is that the number of processors is 4, the first is the A1 processor, and the second to the fourth are B
It is assumed that there is one processor and the debug mode is the serial mode. In this configuration, when the debug target execution program as shown in FIG. 6 is used for debugging, the information about the target system in the debug target execution files 1 and 2 is read by the attribute information reading unit and The setting values of the debugger are compared in the execution program comparison unit, and the debug target execution program 1 is selected. Then, this information is transmitted to the program execution unit, and the debug target execution program 1 is read in the program reading unit and debugging is executed.

【0031】ユーザがシステム構成を変えた場合を考え
る。ユーザがシステム設定コマンドやデバッガ上のデバ
ッグ対象システム設定コマンドなどで、システム構成が
プロセッサ2台、1台目がA1プロセッサ、2台目がB
1プロセッサという構成に変更した場合、実行プログラ
ム決定部において該当するデバッグ対象実行プログラム
は存在しないので新たに生成するという決定がなされ
る。そして実行プログラム生成要求部からコンパイラに
対し、その際にはプロセッサ台数(2台)やその構成に
ついての情報や、デバッグモード(serialモー
ド)についての情報もコンパイラに渡される。すなわ
ち、 -dbg serial -num 2 -p1 A1 -p2 B1 のようなデバッグモードやプロセッサ台数、プロセッサ
の種類を指定するオプションスイッチつきでコンパイラ
が起動され、デバッグ対象実行プログラムが生成され
る。そうして生成されたデバッグ対象プログラム3(図
7)が読み込まれ、デバッグ実行される。
Consider a case where the user changes the system configuration. The user uses the system setting command or the debug target system setting command on the debugger to configure the system with two processors, the first with an A1 processor and the second with B.
When the configuration is changed to one processor, there is no corresponding debug target execution program in the execution program determination unit, and a decision is made to newly generate it. Then, the execution program generation requesting unit also gives the compiler information about the number of processors (two) and its configuration, and information about the debug mode (serial mode). That is, the compiler is invoked with an option switch that specifies the debug mode such as -dbg serial -num 2 -p1 A1 -p2 B1 and the number of processors, and the type of processor, and the debug target execution program is generated. The debug target program 3 (FIG. 7) thus generated is read and debugged.

【0032】また、ユーザがシステム構成は変更せずに
デバッガ上のデバッグモード変更コマンドを用いてデバ
ッグモードをserialモードからparallel
モードに変更した場合、やはり実行プログラム決定部に
おいて該当するプログラムは存在しないと判断される。
そして実行プログラム生成要求部から生成要求が出され
る(デバッグモードはparallelモード)。この
場合、 -dbg parallel -num 4 -p1 A1 -p2 B1 -p3 B1 -p4 B1 のようなデバッグモードがparallelであって、
プロセッサ台数が4台、プロセッサの種類は1台目のプ
ロセッサがA1でそれ以外のプロセッサはB1であるこ
とを示すオプションスイッチをつけてコンパイラが起動
され、parallelモード用のデバッグ対象実行プ
ログラム4が生成される。このデバッグ対象実行プログ
ラム4が読み込まれデバッグ実行される。
Further, the user can change the debug mode from the serial mode to the parallel mode by using the debug mode change command on the debugger without changing the system configuration.
When the mode is changed to the mode, the execution program determining unit determines that the corresponding program does not exist.
Then, a generation request is issued from the execution program generation request unit (the debug mode is the parallel mode). In this case, the debug mode like -dbg parallel -num 4 -p1 A1 -p2 B1 -p3 B1 -p4 B1 is parallel,
The compiler is started with an option switch that indicates that the number of processors is 4, and the type of processor is A1 for the first processor and B1 for the other processors, and the debug target execution program 4 for parallel mode is generated. To be done. This debug target execution program 4 is read and debugged.

【0033】以上のようなデバッガの場合、デバッガが
自らの対象とするシステム構成とデバッグ対象実行プロ
グラムの対象システム構成とを比較することでどのプロ
グラムを用いてデバッグするかを決定でき、また、該当
するデバッグ対象実行プログラムが存在しない場合には
コンパイラを呼び出すことで該当するデバッグ対象実行
プログラムを生成し、デバッグ実行することができる。
In the case of the above-mentioned debugger, the debugger can determine which program to use for debugging by comparing the target system configuration of the debugger with the target system configuration of the debug target execution program. If the debug target execution program does not exist, the corresponding debug target execution program can be generated by calling the compiler, and debug execution can be performed.

【0034】[0034]

【発明の効果】かくして本発明によれば、プログラム実
行時にユーザが指定した計算機構成に応じて、最適な実
行プログラムを自動的に選択して実行することが可能で
あり、また適当な実行プログラムが存在しない場合には
自動的にその計算機構成に合致したパラメタを渡してコ
ンパイラを呼び出して実行プログラムを生成するので、
ユーザは実行したい計算機構成を指定するだけで最適な
プログラム実行を行うことが可能で、個々のプログラム
の生成、管理等の負担を大幅に軽減できる。
As described above, according to the present invention, it is possible to automatically select and execute the optimum execution program according to the computer configuration specified by the user at the time of executing the program. If it does not exist, it will automatically pass a parameter that matches the computer configuration and call the compiler to generate an execution program.
The user can execute the optimum program simply by designating the computer configuration to be executed, and the burden of generating and managing individual programs can be greatly reduced.

【0035】また本発明を適用したシミュレータでは、
シミュレータ側で自身の実行するプログラムを自動的に
選択し実行する。もしくは、適当な実行プログラムが存
在しない場合にはシミュレータ側から自動的に対象計算
機構成を指定してコンパイラを呼び出して実行プログラ
ムを生成し実行するので、あるシミュレーション条件を
選んだ時に自動的にその条件にあった実行プログラムが
シミュレートでき、ユーザの負担を軽減しより効率の良
い作業を行うことが可能になる。
In the simulator to which the present invention is applied,
The simulator automatically selects and executes the program to be executed by itself. Or, if an appropriate execution program does not exist, the simulator will automatically specify the target computer configuration and call the compiler to generate and execute the execution program. A suitable execution program can be simulated, the burden on the user can be reduced, and more efficient work can be performed.

【0036】さらに本発明を適用したデバッガにおいて
も、デバッガ側で自身の実行するプログラムを自動的に
選択するか、自動的に対象計算機構成を指定してコンパ
イラを呼び出して実行プログラムを生成し実行するの
で、自動的にその計算機構成に合致したデバッグ対象プ
ログラムを処理できる。さらにデバッガへの適用の場
合、デバッガの実行モードに応じて、デバッグオプショ
ンを変更した実行プログラムを自動的に生成、選択、実
行することが可能となる。
Further, also in the debugger to which the present invention is applied, a program to be executed by itself is automatically selected on the debugger side, or a target computer configuration is automatically specified to call a compiler to generate and execute an execution program. Therefore, a debug target program that matches the computer configuration can be automatically processed. Further, in the case of application to a debugger, it becomes possible to automatically generate, select, and execute an execution program in which debug options are changed according to the execution mode of the debugger.

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

【図1】 本発明の一実施例に係るプログラム実行装置
の構成を示す図。
FIG. 1 is a diagram showing a configuration of a program execution device according to an embodiment of the present invention.

【図2】 本発明の一実施例に係る実行ファイルを示す
図。
FIG. 2 is a diagram showing an execution file according to an embodiment of the present invention.

【図3】 本発明の一実施例に係る実行ファイルを示す
図。
FIG. 3 is a diagram showing an execution file according to an embodiment of the present invention.

【図4】 本実施例に係るシミュレータの処理対象とな
る複数のシミュレーション実行用プログラムを示す図。
FIG. 4 is a diagram showing a plurality of simulation execution programs to be processed by the simulator according to the present embodiment.

【図5】 本実施例に係るシミュレータの処理対象とな
るシミュレーション実行用プログラムを示す図。
FIG. 5 is a diagram showing a simulation execution program which is a processing target of the simulator according to the present embodiment.

【図6】 本実施例に係るデバッガの処理対象となる複
数のデバッグ対象実行プログラムを示す図。
FIG. 6 is a diagram showing a plurality of debug target execution programs to be processed by the debugger according to the present embodiment.

【図7】 本実施例に係るデバッガの処理対象となる複
数のデバッグ対象実行プログラムを示す図。
FIG. 7 is a diagram showing a plurality of debug target execution programs to be processed by the debugger according to the present embodiment.

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

10 ユーザ入力部 101 システム構成入力部 102 実行指示部 11 プログラム選択部 111 属性情報読み出し部 112 比較部 113 実行プログラム決定部 114 実行プログラム生成要求部 12 プログラム実行部 121 プログラム読み込み部 122 実行部 13 パラメタ設定部 41 シミュレーション実行用プログラム1 42 シミュレーション実行用プログラム2 51 シミュレーション実行用プログラム3 61 デバッグ対象実行プログラム1 62 デバッグ対象実行プログラム2 71 デバッグ対象実行プログラム3 72 デバッグ対象実行プログラム4 10 user input unit 101 system configuration input unit 102 execution instruction unit 11 program selection unit 111 program information reading unit 112 comparison unit 113 execution program determination unit 114 execution program generation request unit 12 program execution unit 121 program reading unit 122 execution unit 13 parameter setting Part 41 Simulation execution program 1 42 Simulation execution program 2 51 Simulation execution program 3 61 Debug target execution program 1 62 Debug target execution program 2 71 Debug target execution program 3 72 Debug target execution program 4

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 計算機の構成を表す情報を入力する入力
手段と、 1つのプログラムから作成された計算機の構成に応じて
異なる複数の実行プログラムを記憶する記憶手段と、 実行すべきプログラムを特定する指示手段と、 この指示手段により特定されたプログラムに対応する前
記記憶手段の複数の実行プログラムの中から、前記入力
手段により入力された計算機の構成に合致する実行プロ
グラムを選択する選択手段とを具備し、 前記選択手段により選択された実行プログラムを前記入
力手段により入力された計算機の構成の下で実行するこ
とを特徴とするプログラム実行装置。
1. An input unit for inputting information representing the configuration of a computer, a storage unit for storing a plurality of execution programs different from each other according to the configuration of the computer created from one program, and a program to be executed are specified. An instruction means; and a selection means for selecting, from a plurality of execution programs in the storage means corresponding to the program specified by the instruction means, an execution program that matches the configuration of the computer input by the input means. Then, the program execution device is characterized in that the execution program selected by the selection unit is executed under the configuration of the computer input by the input unit.
【請求項2】 前記選択手段において、入力された計算
機の構成に合致する実行プログラムが前記記憶手段に存
在しなかった場合に、入力された計算機の構成に合致す
る実行プログラムを新たに生成して実行することを特徴
とする請求項1記載のプログラム実行装置。
2. The selecting means newly generates an execution program matching the input computer configuration when the execution program matching the input computer configuration does not exist in the storage means. The program execution device according to claim 1, which is executed.
JP4213137A 1992-08-11 1992-08-11 Device for executing program Pending JPH0659908A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4213137A JPH0659908A (en) 1992-08-11 1992-08-11 Device for executing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4213137A JPH0659908A (en) 1992-08-11 1992-08-11 Device for executing program

Publications (1)

Publication Number Publication Date
JPH0659908A true JPH0659908A (en) 1994-03-04

Family

ID=16634191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4213137A Pending JPH0659908A (en) 1992-08-11 1992-08-11 Device for executing program

Country Status (1)

Country Link
JP (1) JPH0659908A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008508802A (en) * 2004-07-29 2008-03-21 マイクロソフト コーポレーション Image processing using linear light intensity values and other image processing improvements
WO2010073463A1 (en) * 2008-12-25 2010-07-01 パナソニック株式会社 Program conversion device and program conversion method
US8176500B2 (en) 2002-04-15 2012-05-08 Microsoft Corporation Closing a video stream object
WO2013011620A1 (en) * 2011-07-19 2013-01-24 パナソニック株式会社 Multiprocessor system
US8428346B2 (en) 2003-08-01 2013-04-23 Microsoft Corporation Strategies for processing image information using a color information data structure

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176500B2 (en) 2002-04-15 2012-05-08 Microsoft Corporation Closing a video stream object
US8428346B2 (en) 2003-08-01 2013-04-23 Microsoft Corporation Strategies for processing image information using a color information data structure
JP2008508802A (en) * 2004-07-29 2008-03-21 マイクロソフト コーポレーション Image processing using linear light intensity values and other image processing improvements
WO2010073463A1 (en) * 2008-12-25 2010-07-01 パナソニック株式会社 Program conversion device and program conversion method
JP2010152762A (en) * 2008-12-25 2010-07-08 Panasonic Corp Program conversion apparatus and program conversion method
US8612958B2 (en) 2008-12-25 2013-12-17 Panasonic Corporation Program converting apparatus and program conversion method
WO2013011620A1 (en) * 2011-07-19 2013-01-24 パナソニック株式会社 Multiprocessor system
CN103718158A (en) * 2011-07-19 2014-04-09 松下电器产业株式会社 Multiprocessor system
US9317287B2 (en) 2011-07-19 2016-04-19 Panasonic Intellectual Property Management Co., Ltd. Multiprocessor system

Similar Documents

Publication Publication Date Title
Baer A survey of some theoretical aspects of multiprocessing
Gurd et al. The Manchester prototype dataflow computer
US20060230408A1 (en) Multithreaded processor architecture with operational latency hiding
Alt et al. Cosy compiler phase embedding with the cosy compiler model
MacDougall Instruction-level program and processor modeling
JPH0659908A (en) Device for executing program
Tang et al. Automatically partitioning threads for multithreaded architectures
US20090133022A1 (en) Multiprocessing apparatus, system and method
Ruggiero Throttle Mechanisms for the Manchester Dataflow Machine
KR20150040663A (en) Method and Apparatus for instruction scheduling using software pipelining
DeSouza-Batista et al. A sub-optimal assignment of application tasks onto heterogeneous systems
JPH08286896A (en) Software development method and software development system
JP3461185B2 (en) Method and apparatus for registering source code line number to load module
Cierniak et al. Briki: an optimizing Java compiler
Shmeis et al. Fine and coarse grained composition and adaptation of spark applications
JPH03135630A (en) Instruction scheduling system
van der Wijst An Accelerator based on the ρ-VEX Processor: an Exploration using OpenCL
Fisher A survey of control structures in programming languages
RossienskyjL A Kernel Approach to System Programming: SAM
JPH0744401A (en) Logic integrated circuit and its data processing system
Chen et al. Optimizing Dataframes for Interactive Workloads
Bradel The use of traces in optimization
Brahmakshatriya Universal graph framework: achieving high-performance across algorithms, graph types, and architectures
Hentrich et al. Fine-Grained Instruction Placement in Polymorphic Computing Architectures
JP2022011264A (en) Software development support device and software development support method