JPS63201727A - 手続き呼び出し方式の異なるプログラムの結合方式 - Google Patents
手続き呼び出し方式の異なるプログラムの結合方式Info
- Publication number
- JPS63201727A JPS63201727A JP3429887A JP3429887A JPS63201727A JP S63201727 A JPS63201727 A JP S63201727A JP 3429887 A JP3429887 A JP 3429887A JP 3429887 A JP3429887 A JP 3429887A JP S63201727 A JPS63201727 A JP S63201727A
- Authority
- JP
- Japan
- Prior art keywords
- program
- stack
- branch
- calling
- procedure
- 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
Links
- 238000000034 method Methods 0.000 title claims description 56
- 230000008878 coupling Effects 0.000 title description 2
- 230000006870 function Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はアーキテクチャの異なるプロセッサを有する電
子計算機システムにおけるプログラムの結合方式に関す
る。
子計算機システムにおけるプログラムの結合方式に関す
る。
(従来の技術)
従来、この種の技術として以下のものがある(例えば、
情報処理学会第32回(昭和61年前期)全国大会で金
子他の論文として発明きれた「スーパーコンピュータS
XシステムにおけるAP/CP結合方式J PP193
−194 )。
情報処理学会第32回(昭和61年前期)全国大会で金
子他の論文として発明きれた「スーパーコンピュータS
XシステムにおけるAP/CP結合方式J PP193
−194 )。
この金子らの論文の方式では、ブランチ方式のプログラ
ム翻訳時に次の処理を行う。
ム翻訳時に次の処理を行う。
■第6図に示すように、ユーザ定義の入口点−1とは別
にスタック方式から呼ばれる入口点−2を生成する。そ
の入り目立−2に制御が渡った場合に、インターフェー
サルーチンを呼び出し、その後にプログラムの実行を開
始するオブジェクトコードを生成する。
にスタック方式から呼ばれる入口点−2を生成する。そ
の入り目立−2に制御が渡った場合に、インターフェー
サルーチンを呼び出し、その後にプログラムの実行を開
始するオブジェクトコードを生成する。
■第7図に示すように、スタック方式のプログラムを呼
び出す時に使用するインターフェーサルーチンのアドレ
スを特定のレジスタに格納するオブジェクトコードを生
成する。
び出す時に使用するインターフェーサルーチンのアドレ
スを特定のレジスタに格納するオブジェクトコードを生
成する。
オブジェクトモジュールのリンク時に、スタック方式の
プログラムからブランチ方式のプログラムを呼び出す場
合には、第6図に示すように■で述べた入り目立−2へ
制御を移行するようにアドレス定数を設定する。ブラン
チ方式のプログラムからスタック方式のプログラムを呼
び出す場合には、第7図に示すようにブランチ方式のプ
ログラム中にスタック方式のプログラムのアドレスと例
外を発生させるフラッグを設定する。
プログラムからブランチ方式のプログラムを呼び出す場
合には、第6図に示すように■で述べた入り目立−2へ
制御を移行するようにアドレス定数を設定する。ブラン
チ方式のプログラムからスタック方式のプログラムを呼
び出す場合には、第7図に示すようにブランチ方式のプ
ログラム中にスタック方式のプログラムのアドレスと例
外を発生させるフラッグを設定する。
ロードモジュールの実行時に、第6図に示すようにスタ
ック方式のプログラムからブランチ方式のプログラムへ
制御を移行する時は、インタフェーサルーチンを実行し
てインターフェースをとる。第7図に示すようにブラン
チ方式のプログラムからスタック方式のプログラムへ制
御を移行する時には、例外を発生させ、例外処理ルーチ
ンで■に述べたレジスタからインターフェーサルーチン
のアドレスを得てインターフェーサルーチンを実行する
。
ック方式のプログラムからブランチ方式のプログラムへ
制御を移行する時は、インタフェーサルーチンを実行し
てインターフェースをとる。第7図に示すようにブラン
チ方式のプログラムからスタック方式のプログラムへ制
御を移行する時には、例外を発生させ、例外処理ルーチ
ンで■に述べたレジスタからインターフェーサルーチン
のアドレスを得てインターフェーサルーチンを実行する
。
(発明が解決しようとする問題点)
上述した従来の結合方式には、次の欠点がある。
(1)オブジェクトモジュールのリンク時に、手続き呼
び出し方式の差異を検出して処理するのでリンカが複雑
になりリンク時間がかかる。
び出し方式の差異を検出して処理するのでリンカが複雑
になりリンク時間がかかる。
(2)ロードモジュールの実行時に、ブランチ方式のプ
ログラムからスタック方式のプログラムを呼び出す際に
例外が発生するので、例外処理の時間がかかる。
ログラムからスタック方式のプログラムを呼び出す際に
例外が発生するので、例外処理の時間がかかる。
(問題点を解決するための手段)
前述の問題点を解決するために本発明が提供する手段は
二手続きの呼び出し命令としてスタック方式を用いる演
算処理装置と、これと同期して動作するブランチ命令の
みを用いる演算処理装置とを含み1両演算処理装置間で
共通の主記憶装置をもつ電子計算機システム、または手
続き呼び出し命令としてスタック方式を用いるファーム
ウェアと、これと同期をとって動作するブランチ方式を
用いるファームウェアとを内蔵する電子計算機システム
の上で実行するプログラムを;スタック方式の命令を用
いる手続きとブランチ命令を用いる手続きを結合して作
成するプログラム結合方式であってニブランチ方式のプ
ログラム言語仕様上に、ブランチ方式のみでなくスタッ
ク方式のプログラムから呼ばれる入り口名を定義する入
り口名定義手段およびスタック方式のプログラムを呼び
出す呼び出し手段を有し;言語翻訳処理プログラムがブ
ランチ方式のプログラムを翻訳するときに、前記入り口
名定義手段のデータを受けてスタックフレームから呼び
出し情報を取り出してブランチ方式のインフタ−フェー
スに変換するオブジェクトフードを生成する入り口名処
理機能と、前記呼び出し手段のデータを受けてスタック
フレームを作成し、スタック方式のインターフェースに
よる手続き呼び出し方式のオブジェクトコードを生成す
る呼び出し処理機能とを有し;これら処理機能を用いて
作成されたオブジェクトモジュールのリンク時には1手
続き呼び出し方式の差異に無関係に結合し、結合された
ロードモジュールの実行時に例外を発生させずに手続き
呼び出し方式の異なるプログラムへ制御を移行すること
を特徴とする。
二手続きの呼び出し命令としてスタック方式を用いる演
算処理装置と、これと同期して動作するブランチ命令の
みを用いる演算処理装置とを含み1両演算処理装置間で
共通の主記憶装置をもつ電子計算機システム、または手
続き呼び出し命令としてスタック方式を用いるファーム
ウェアと、これと同期をとって動作するブランチ方式を
用いるファームウェアとを内蔵する電子計算機システム
の上で実行するプログラムを;スタック方式の命令を用
いる手続きとブランチ命令を用いる手続きを結合して作
成するプログラム結合方式であってニブランチ方式のプ
ログラム言語仕様上に、ブランチ方式のみでなくスタッ
ク方式のプログラムから呼ばれる入り口名を定義する入
り口名定義手段およびスタック方式のプログラムを呼び
出す呼び出し手段を有し;言語翻訳処理プログラムがブ
ランチ方式のプログラムを翻訳するときに、前記入り口
名定義手段のデータを受けてスタックフレームから呼び
出し情報を取り出してブランチ方式のインフタ−フェー
スに変換するオブジェクトフードを生成する入り口名処
理機能と、前記呼び出し手段のデータを受けてスタック
フレームを作成し、スタック方式のインターフェースに
よる手続き呼び出し方式のオブジェクトコードを生成す
る呼び出し処理機能とを有し;これら処理機能を用いて
作成されたオブジェクトモジュールのリンク時には1手
続き呼び出し方式の差異に無関係に結合し、結合された
ロードモジュールの実行時に例外を発生させずに手続き
呼び出し方式の異なるプログラムへ制御を移行すること
を特徴とする。
(実施例)
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成を表わす図である。言
語翻訳処理プログラム2は、ブランチ方式のプログラム
1を入力し、そのプログラムに含まれる入り口名定義手
段、呼び出し手段を翻訳して、スタック方式プログラム
とのインターフェースをとるオブジェクトフードを含む
ブランチ方式オブジェクトモジュール3を出力する。
語翻訳処理プログラム2は、ブランチ方式のプログラム
1を入力し、そのプログラムに含まれる入り口名定義手
段、呼び出し手段を翻訳して、スタック方式プログラム
とのインターフェースをとるオブジェクトフードを含む
ブランチ方式オブジェクトモジュール3を出力する。
リンカ5はブランチ方式のオブジェクトモジュール3と
スタック方式のオブジェクトモジュール4を入力する。
スタック方式のオブジェクトモジュール4を入力する。
リンカは両方式の相違に関係なく、オブジェクトモジュ
ール間の外部参照を解決し、ロードモジュール6を出力
する。
ール間の外部参照を解決し、ロードモジュール6を出力
する。
次に、ロードモジュール6を入力して実行する。
第2図は、スタック方式プログラムからブランチ方式プ
ログラムを呼び出す場合の言語翻訳処理プログラムの流
れを表わす。
ログラムを呼び出す場合の言語翻訳処理プログラムの流
れを表わす。
ブランチ方式プログラムには、入り口名がどの方式から
呼ばれるか定義する入り口名定義手段があり、入り口名
の定義を行なうときに5TACKオプシヨンを指定する
ことによって、スタック方式プログラムから呼ばれるこ
とを表わす。
呼ばれるか定義する入り口名定義手段があり、入り口名
の定義を行なうときに5TACKオプシヨンを指定する
ことによって、スタック方式プログラムから呼ばれるこ
とを表わす。
言語翻訳処理プログラムは、入り口名の定義に5TAC
Kオプシヨンが指定されたか判定し、指定された場合に
は、入り口名定義処理機能によって、次のインタフェー
スオブジェクト−1を生成する。
Kオプシヨンが指定されたか判定し、指定された場合に
は、入り口名定義処理機能によって、次のインタフェー
スオブジェクト−1を生成する。
■スタック方式の手続き呼び出しに使用される手続き記
述子を定義する。
述子を定義する。
■両方式のプロセッサ間で定義されたレジスタの対応づ
けを行なう。
けを行なう。
■アーギュメント情報をスタックフレームから取り出し
、作業域に設定する。
、作業域に設定する。
■プロセッサの切り替えを行なう。
続いて、言語翻訳処理プログラムは、ほかのオブジェク
トモジュールから、入り目立が参照できるように入り口
名の登録を行なう。
トモジュールから、入り目立が参照できるように入り口
名の登録を行なう。
第3図は、ブランチ方式プログラムからスタック方式プ
ログラムを呼び出す場合の言語翻訳処理プロゲラ゛ムの
状態を表わす。
ログラムを呼び出す場合の言語翻訳処理プロゲラ゛ムの
状態を表わす。
ブランチ方式プログラムには、どの方式のオブジェクト
モジュールを呼び出すか指定する呼び出し手段があり、
呼び出しを行なうときに5TACKオプシヨンを指定す
ることによって、スタック方式プログラムを呼び出すこ
とを表わす。
モジュールを呼び出すか指定する呼び出し手段があり、
呼び出しを行なうときに5TACKオプシヨンを指定す
ることによって、スタック方式プログラムを呼び出すこ
とを表わす。
言語翻訳処理プログラムは、呼び出し文に5TACKオ
プシヨンが指定されたか判定し、指定された場合は呼び
出し処理機能によって、次のインターフェースオブジェ
クト−2を生成する。
プシヨンが指定されたか判定し、指定された場合は呼び
出し処理機能によって、次のインターフェースオブジェ
クト−2を生成する。
■プロセッサのモード切り替えを行なう。
■スタックフレームを確保する。
■スタックにアーギュメント情報を作業域から設定する
。
。
■スタック方式プロセッサの呼び出し命令を生成する。
5TACKオプシヨンが指定されていない場合はブラン
チ方式プロセッサのブランチ命令を生成する。
チ方式プロセッサのブランチ命令を生成する。
第4図は、スタック方式プログラムからブランチ方式プ
ログラムを呼び出す場合の実行時の流れを表わす。
ログラムを呼び出す場合の実行時の流れを表わす。
スタック方式プロセッサの呼び出し命令は、アドレス定
数が指すブランチ方式プログラムの手続き記述子を介し
て、インタフェースオブジェクト−1へ制御を移す。イ
ンタフェースオブジェクト−1は、第2図の説明に述べ
たようにインターフェースをとり、プロセッサモードを
切り替える。続いて、入り目立からユーザオブジェクト
の実行を行なう。
数が指すブランチ方式プログラムの手続き記述子を介し
て、インタフェースオブジェクト−1へ制御を移す。イ
ンタフェースオブジェクト−1は、第2図の説明に述べ
たようにインターフェースをとり、プロセッサモードを
切り替える。続いて、入り目立からユーザオブジェクト
の実行を行なう。
第5図は、ブランチ方式プログラムからスタック方式プ
ログラムを呼び出す場合の実行の流れを表わす。
ログラムを呼び出す場合の実行の流れを表わす。
ブランチ方式プログラムで、第3図にのべたようにプロ
セッサモードの切り替えを行ない、インターフエースを
とるインターフェースオブジェクト−2を実行する。続
いて、スタック方式に従って、アドレス定数が指すスタ
ック方式プログラム上の手続き記述子を介して、入り四
点へ制御を移す。
セッサモードの切り替えを行ない、インターフエースを
とるインターフェースオブジェクト−2を実行する。続
いて、スタック方式に従って、アドレス定数が指すスタ
ック方式プログラム上の手続き記述子を介して、入り四
点へ制御を移す。
入り四点からユーザオブジェクトの実行を行なう。
(発明の効果)
以上説明したように本発明は、プログラム言語仕様上に
スタック方式およびブランチ方式の両方式の定義手段を
与えることによって、プログラムの翻訳時に両方式のイ
ンターフェースを生成する。その結果、リンク時には、
両方式の相違に関係なく、オブジェクトモジュール間の
外部参照を解決するために、リンク時間が短縮する。ま
た、実行時においても、ブランチ方式のプログラムから
、スタック方式のプログラムを呼び出す際に例外を発生
させないので、実行時間が短縮するという効果がある。
スタック方式およびブランチ方式の両方式の定義手段を
与えることによって、プログラムの翻訳時に両方式のイ
ンターフェースを生成する。その結果、リンク時には、
両方式の相違に関係なく、オブジェクトモジュール間の
外部参照を解決するために、リンク時間が短縮する。ま
た、実行時においても、ブランチ方式のプログラムから
、スタック方式のプログラムを呼び出す際に例外を発生
させないので、実行時間が短縮するという効果がある。
第1図は本発明の一実施例の構成図、第2図は第1図実
施例における入り口定義手段の処理概念図、第3図は第
1図実施例における呼び出し手段の処理概念図、第4図
はスタック方式プログラムからブランチ方式プログラム
を呼び出す際に行なう本発明方式の処理の概念を示す図
、第5図はブランチ方式プログラムからスタック方式プ
ログラムを呼び出す−に行なう本発明方式の処理の概念
を示す園、第6図はスタック方式プログラムかるブラン
チ方式プログラムを呼び出す際に行なう従来方式の処理
の概念を示す図、第7図はブランチ方式プログラムから
スタック方式プログラムを呼び出す際に行なう従来方式
の処理の概念を示す図である。 1・・・ブランチ方式プログラム、2・・・言語翻訳処
理プログラム、3・・・ブランチ方式オブジェクトモジ
ュール、4・・・スタック方式オブジェクトモジュール
、5・・・リンカ、6・・・ロードモジュール、7・・
・実行。
施例における入り口定義手段の処理概念図、第3図は第
1図実施例における呼び出し手段の処理概念図、第4図
はスタック方式プログラムからブランチ方式プログラム
を呼び出す際に行なう本発明方式の処理の概念を示す図
、第5図はブランチ方式プログラムからスタック方式プ
ログラムを呼び出す−に行なう本発明方式の処理の概念
を示す園、第6図はスタック方式プログラムかるブラン
チ方式プログラムを呼び出す際に行なう従来方式の処理
の概念を示す図、第7図はブランチ方式プログラムから
スタック方式プログラムを呼び出す際に行なう従来方式
の処理の概念を示す図である。 1・・・ブランチ方式プログラム、2・・・言語翻訳処
理プログラム、3・・・ブランチ方式オブジェクトモジ
ュール、4・・・スタック方式オブジェクトモジュール
、5・・・リンカ、6・・・ロードモジュール、7・・
・実行。
Claims (1)
- 手続きの呼び出し命令としてスタック方式を用いる演算
処理装置と、これと同期して動作するブランチ命令のみ
を用いる演算処理装置とを含み、両演算処理装置間で共
通の主記憶装置をもつ電子計算機システム、または手続
き呼び出し命令としてスタック方式を用いるファームウ
ェアと、これと同期をとって動作するブランチ方式を用
いるファームウェアとを内蔵する電子計算機システムの
上で実行するプログラムを;スタック方式の命令を用い
る手続きとブランチ命令を用いる手続きを結合して作成
するプログラム結合方式において:ブランチ方式のプロ
グラム言語仕様上に、ブランチ方式のみでなくスタック
方式のプログラムから呼ばれる入り口名を定義する入り
口名定義手段およびスタック方式のプログラムを呼び出
す呼び出し手段を有し;言語翻訳処理プログラムがブラ
ンチ方式のプログラムを翻訳するときに、前記入り口名
定義手段のデータを受けてスタックフレームから呼び出
し情報を取り出してブランチ方式のインターフェースに
変換するオブジェクトコードを生成する入り口名処理機
能と、前記呼び出し手段のデータを受けてスタックフレ
ームを作成し、スタック方式のインターフェースによる
手続き呼び出し方式のオブジェクトコードを生成する呼
び出し処理機能とを有し;これら処理機能を用いて作成
されたオブジェクトモジュールのリンク時には、手続き
呼び出し方式の差異に無関係に結合し、結合されたロー
ドモジュールの実行時に例外を発生させずに手続き呼び
出し方式の異なるプログラムへ制御を移行することを特
徴とする手続き呼び出し方式の異なるプログラムの結合
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3429887A JPS63201727A (ja) | 1987-02-17 | 1987-02-17 | 手続き呼び出し方式の異なるプログラムの結合方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3429887A JPS63201727A (ja) | 1987-02-17 | 1987-02-17 | 手続き呼び出し方式の異なるプログラムの結合方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63201727A true JPS63201727A (ja) | 1988-08-19 |
Family
ID=12410252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3429887A Pending JPS63201727A (ja) | 1987-02-17 | 1987-02-17 | 手続き呼び出し方式の異なるプログラムの結合方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63201727A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3693304A3 (de) * | 2019-02-07 | 2020-11-18 | BHS Corrugated Maschinen-und Anlagenbau GmbH | Materialbahn-einzugsvorrichtung |
-
1987
- 1987-02-17 JP JP3429887A patent/JPS63201727A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3693304A3 (de) * | 2019-02-07 | 2020-11-18 | BHS Corrugated Maschinen-und Anlagenbau GmbH | Materialbahn-einzugsvorrichtung |
US11548747B2 (en) | 2019-02-07 | 2023-01-10 | Bhs Corrugated Maschinen- Und Anlagenbau Gmbh | Release liner removal apparatus |
US11685624B2 (en) | 2019-02-07 | 2023-06-27 | Bhs Corrugated Maschinen- Und Anlagenbau Gmbh | Material web drawing-in apparatus |
US11691837B2 (en) | 2019-02-07 | 2023-07-04 | Bhs Corrugated Maschinen- Und Anlagenbau Gmbh | Material web drawing-in apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW345649B (en) | Method for executing different sets of instructions that cause a processor to perform different data type operations | |
JPH04184630A (ja) | ループ制御のネスティング管理機構 | |
JPS62214464A (ja) | データ処理システム | |
JPS63201727A (ja) | 手続き呼び出し方式の異なるプログラムの結合方式 | |
US5388263A (en) | Procedure state descriptor system for digital data processors | |
CA1304823C (en) | Apparatus and method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions | |
JPS59183445A (ja) | デ−タ処理装置 | |
JP2871693B2 (ja) | クリティカルセクション最適化方式 | |
JPH01291358A (ja) | 多重言語処理システム | |
JPS5920055A (ja) | 分岐命令のリトライ方式 | |
JPS6084659A (ja) | デ−タ処理装置 | |
JPH01118926A (ja) | パイプライン処理装置 | |
JPH04267438A (ja) | 二重例外検出装置 | |
JPS59103146A (ja) | 動作モ−ド表示装置 | |
JPS63184136A (ja) | 最適化処理方式 | |
JPS62216041A (ja) | コマンドによるコンパイラ起動処理方式 | |
JPS633338A (ja) | パイプラインレジスタ | |
JPS63131233A (ja) | デ−タフロ−制御処理装置 | |
JPS62269237A (ja) | デ−タプロセツサ | |
JPH03168836A (ja) | エミュレーションプロセッサ | |
JPS6297041A (ja) | 並列処理計算機 | |
JPH02128223A (ja) | 演算処理装置 | |
JPS61194533A (ja) | マイクロプログラム処理装置 | |
JPH0258128A (ja) | データ処理装置 | |
JPH01121939A (ja) | プログラム変換方式 |