JPH0443300B2 - - Google Patents

Info

Publication number
JPH0443300B2
JPH0443300B2 JP2560985A JP2560985A JPH0443300B2 JP H0443300 B2 JPH0443300 B2 JP H0443300B2 JP 2560985 A JP2560985 A JP 2560985A JP 2560985 A JP2560985 A JP 2560985A JP H0443300 B2 JPH0443300 B2 JP H0443300B2
Authority
JP
Japan
Prior art keywords
buffer
storage device
program
instruction word
address
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.)
Expired
Application number
JP2560985A
Other languages
English (en)
Other versions
JPS61216039A (ja
Inventor
Yutaka Sakuragi
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2560985A priority Critical patent/JPS61216039A/ja
Publication of JPS61216039A publication Critical patent/JPS61216039A/ja
Publication of JPH0443300B2 publication Critical patent/JPH0443300B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理システムの原プログラムか
ら目的プログラムを生成するための、改良した制
御方式に関する。
情報処理システムで実行されるプログラムの作
成においては、公知の一方式として、作成者が作
成して入力する、いわゆる原プログラムから、処
理装置で実行することのできる形式の、いわゆる
目的プログラムを生成する過程をとる。
この生成処理は、通常は原プログラムのプログ
ラム文の配列順序に従つて、それらの文を目的プ
ログラムを構成する命令語に、逐次変換すること
により行われる。
この処理で、生成される各命令語のプログラム
内の番地は、選考する命令語を並べることによつ
て逐次確定して行くので、ある命令語のオペラン
ドの番地、特に分岐命令の分岐先番地が、該命令
語より前方(即ち大きい値の番地の方向)にある
場合には、該命令語を生成する時点には、その分
岐先番地は定まつていない。
従つて、例えば最初にその命令語を生成すると
きは仮の分岐先番地としておくと共に、その命令
語の番地と、決定待ちの番地を示す情報(例え
ば、原プログラムに書かれている、いわゆるラベ
ル)を、制御情報として別に記憶しておき、処理
が進行してそのラベルの示す番地の値が確定(こ
れを番地が解決するという)したとき、上記制御
情報を参照して、所要の命令語の仮の分岐先番地
を、正しい番地に修正する。
〔従来の技術〕
第2図は、情報処理システムの一構成例を示す
ブロツク図である。
公知のように、処理装置1は主記憶装置2にロ
ードしたプログラムを実行することによつて、主
記憶装置2上のデータを処理するように構成され
ている。
補助記憶装置3は、例えば磁気デイスク記憶装
置で構成され、主記憶装置2に対して、比較的大
きな記憶容量を有して、プログラム及びデータを
格納し、それらは必要の場合に主記憶装置2にロ
ードすることにより、処理装置1によつて処理さ
れ、又処理結果のデータは、必要に応じて補助記
憶装置3に出力して格納する。
原プログラムから目的プログラムを生成する処
理において、処理装置1は予め補助記憶装置3に
入力されている原プログラムデータを、主記憶装
置2に読み出して処理し、結果の目的プログラム
は最終的には主記憶装置2から補助記憶装置3へ
出力される。
このようなシステムによる、目的プログラムの
生成において、前記の番地未解決の命令語の処理
に着目すると、従来以下に述べるような方式がと
られている。
第1の方式では、原プログラムを2回処理し、
第1回はラベルの番地値を決定する処理であつ
て、これにより原プログラムの全ラベルの番地を
解決し、次に第2回処理によつて目的プログラム
の命令語を逐次生成する。
従つて、第2回の処理で命令語を生成すると
き、番地はすべて解決されていて、後で命令語内
の番地を修正する必要はない。
第2の方式では、目的プログラムの命令語を逐
次生成して主記憶装置2上のバツフアに保持し、
番地が未解決の命令語は、未解決のまゝ保持して
おいて、ラベルの番地が求まるごとに、以前の命
令語にさか上つて、それらの命令語の番地を修正
する。
このようにして、主記憶装置2上で目的プログ
ラムの全体を完成してから、補助記憶装置3へ出
力する。
第3の方式では、目的プログラムの命令語を、
番地未解決のものはそのまゝで、逐次主記憶装置
2の適当な大きさのバツフア上に生成し、バツフ
アが満たされるごとに、補助記憶装置3に出力す
るが、その際にバツフア上にある間にラベルの番
地が求まれば、前記のように所要の命令語の番地
を修正しておく。
このようにして、未解決番地を持つ命令語を含
む目的プログラムが補助記憶装置3上に構成され
る。
この間に、既に出力されている命令語で使つて
いるラベルの番地が決定すると、該命令語を修正
するためのデータ(命令語の番地、分岐先番地
等)を作つて、補助記憶装置3に出力する。
その後、公知のように、この目的プログラムを
実行する前処理として、いわゆる実行形式プログ
ラムを生成するための、プログラム結合編集処理
が行われるので、該結合編集処理の中において、
上記修正データを参照して該当命令語を修正する
ようにする。
〔発明が解決しようとする問題点〕
前記第1の方式は、原プログラムを2回走査す
ることになるので、処理時間が長くなるという問
題がある。
第2の方式は、3方式中で最も高速の処理がで
きるが、目的プログラム全体を主記憶装置2に保
持しなければならないので、比較的多量の主記憶
領域が必要であり、特に比較的大きなプログラム
の生成で、主記憶領域の確保が問題になる。
第3の方式は、最初の目的プログラム生成は比
較的高速に処理できるが、バツフアを大きくとら
ないと、一般に多数の未解決番地命令語の修正を
行うことが必要になるので、結合編集処理に時間
を要するという問題がある。
〔問題点を解決するための手段〕
前記の問題点は、主記憶装置及び補助記憶装置
を有する情報処理システムによつて、情報処理シ
ステムの原プログラムにより、目的プログラムを
生成するに際し、該主記憶装置上に2個のバツフ
アを設け、該バツフアを交互に使用して生成過程
の目的プログラムを順次出力し、一方の該バツフ
アが該出力によつて満たされるごとに、他方の該
バツフアのみ、当該バツフアの内容を補助記憶装
置に出力して、後続する目的プログラムを当該他
方のバツフアに出力し、該2個のバツフア上にあ
る、該目的プログラム命令語のオペランド番地
が、該バツフアに該命令語を出力後に解決した場
合には、該バツフア上で該命令語を修正した後
に、当該命令語を含む該バツフアの内容の前記補
助記憶装置への出力を行うように構成された本発
明のプログラム生成制御方式によつて解決され
る。
〔作用〕
即ち、主記憶装置上に2個のバツフアを設け、
このバツフアを交代に使用して、新たに生成され
る命令語の保持領域とする。
但し、一方のバツフアが新たな命令語で満たさ
れるまで、他方のバツフアに既に保持されている
目的プログラムの部分は、補助記憶装置に出力す
ることなく保持し、その間に解決された番地が生
じた場合には、バツフア上で命令語を修正し、こ
のようにして、そのバツフアを新たな命令語で更
新することが必要となる直前に、そのバツフアの
内容を補助記憶装置に出力する。
補助記憶装置に出力する時点で、なお未解決の
番地を持つ命令語が残つている可能性があるの
で、このような命令語については、前記第3の方
式と同様に、結合編集処理において修正するよう
に、修正データを作成して出力しておく。
しかし、上記のようにすることにより、例えば
上記の制御で一方のバツフアに最初に生成された
命令語群をAとし、続いて他方のバツフアに生成
された命令語群をBとし、このように2個の各バ
ツフアに順次生成される命令語群を、生成順に
A,B,C,D,E,F,……と表すと、この2
個分の大きさの1個のみのバツフアを使用する従
来の方式では、主記憶上に同時に存在する(従つ
てその間に相互に番地解決の可能性を持つ)命令
語群は、A,A−B,C−D,E−F,……のよ
うな各組合せになるのに対し、本願発明の前記制
御によれば、A,A−B,B−C,C−D,D−
E,E−F,F−……のような組合せになり、従
つて同時にバツフア上にあることにより、バツフ
ア上で番地を解決される可能性が増加するので、
相対的に結合編集処理で修正を要する命令語を減
少することが可能になる。
例えば、単純化した状態を考えて、前方に分岐
する分岐命令語の分岐先番地が+l番地までの間
に一様に分布すると仮定した場合に、長さ2lのバ
ツフアにおいて、前記第3の方式で処理すれば、
確率的に、バツフアの後半にある該当命令語の約
1/2、即ち該当する全命令語の1/4が、結合編集処
理で修正を要することになる。
しかし、同じ大きさのバツフアを、長さlの2
個のバツフアとして、本発明の制御方式によつた
場合には、同じ条件のプログラムは、すべての分
岐先番地がバツフア上で解決される。
〔実施例〕
第1図は本発明の一実施例構成を示すブロツク
図である。
主記憶装置2上のプログラムを実行することに
よつて構成される、目的プログラム生成機構10
は、制御部11、命令生成部12、及びラベル定
義部13からなる。
制御部11は原プログラム17のプログラム文
を順次入力して、命令生成部12及びラベル定義
部13へ渡す。
命令生成部12は、プログラム文の情報によつ
て命令語を生成し、バツフア14又はバツフア1
5に出力する。
バツフア14及び15は同一長さの主記憶領域
からなり、命令生成部はその一方のバツフア、例
えばバツフア14に、連続して命令語を所定の形
式及び順序に配列して行き、バツフア14に書き
込む領域が無くなると、制御部11に通知する。
制御部11は、この通知により、バツフア15
に前に生成して書き込んだ命令語列を補助記憶装
置3へ出力して、バツフア15を使用可能にす
る。
命令生成部12は、以後生成する命令語をバツ
フア15に書き込み、バツフア15が満たされる
と、前と同様に制御部11に通知して、バツフア
14の内容を補助記憶装置3に出力し、再びバツ
フア14を使用し、このようにして命令生成部1
2は、生成する命令語をバツフア14と15に交
互に出力する。
命令生成部12は、命令語の生成において、所
要のラベルの番地をラベル定義部13から受け取
つて、命令語を完成する。
このとき、分岐命令の分岐先等を示す所要のラ
ベルの番地が未解決であれば、その分岐命令語の
分岐先番地は仮の番地として命令語を生成してバ
ツフア14又は15に出力しておく。
又同時に、ラベル定義部13にその命令語の番
地と、分岐先ラベルを通知しておく。
ラベル定義部13は、ラベルと決定した番地と
の対応情報を保持し、新たにラベルの番地が決定
した場合には、上記のように命令生成部12から
通知されている未解決の分岐先ラベルがあるか調
べる。
該当する命令語があれは、その命令語の番地か
ら、バツフア14及び15上の該当命令語を決定
し、その命令語の仮の分岐先番地を、新たに決定
した番地に修正する。
又このとき、当該する命令語の番地によつて、
その命令語が既に補助記憶装置3へ出力されたこ
とを検出すると、該命令語の番地、新たに決定し
た分岐先番地、及び所要の制御情報からなる、修
正情報を、主記憶装置2上の修正データ領域16
に書き込んで、保持する。
修正データ領域16に作成された修正情報は、
例えば、この目的プログラム生成処理を完了する
とき、補助記憶装置3へ出力する。
その後、補助記憶装置3に出力された目的プロ
グラムの結合編集処理を行う際に、公知のように
結合編集処理の中で、上記修正情報を参照して、
未解決番地の修正が実行される。
〔発明の効果〕
以上の説明から明らかなように本発明によれ
ば、情報処理システムの原プログラムから目的プ
ログラムを生成する処理の効率が、比較的少量の
バツフアの使用で改善されるという著しい工業的
効果がある。
【図面の簡単な説明】
第1図は本発明一実施例のブロツク図、第2図
は情報処理システムの一構成例ブロツク図であ
る。 図において、1は処理装置、2は主記憶装置、
3は補助記憶装置、10は目的プログラム生成機
構、11は制御部、12は命令生成部、13はラ
ベル定義部、14,15はバツフア、16は修正
データ領域、17は原プログラムを示す。

Claims (1)

  1. 【特許請求の範囲】 1 主記憶装置及び補助記憶装置を有する情報処
    理システムによつて、情報処理システムの原プロ
    グラムより、目的プログラムを生成するに際し、 該主記憶装置上に2個のバツフアを設け、 該バツフアを交互に使用して生成過程の目的プ
    ログラムを順次出力し、 一方の該バツフアが該出力によつて満たされる
    ごとに、他方の該バツフアのみ、当該バツフアの
    内容を補助記憶装置に出力して、後続する目的プ
    ログラムを当該他方のバツフアに出力し、 該2個のバツフア上にある、該目的プログラム
    の命令語のオペランド番地が、該バツフアに該命
    令語を出力後に解決した場合には、該バツフア上
    で該命令語を修正した後に、当該命令語を含む該
    バツフアの内容の前記補助記憶装置への出力を行
    うように構成されていることを特徴とするプログ
    ラム生成制御方式。
JP2560985A 1985-02-13 1985-02-13 プログラム生成制御方式 Granted JPS61216039A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2560985A JPS61216039A (ja) 1985-02-13 1985-02-13 プログラム生成制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2560985A JPS61216039A (ja) 1985-02-13 1985-02-13 プログラム生成制御方式

Publications (2)

Publication Number Publication Date
JPS61216039A JPS61216039A (ja) 1986-09-25
JPH0443300B2 true JPH0443300B2 (ja) 1992-07-16

Family

ID=12170634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2560985A Granted JPS61216039A (ja) 1985-02-13 1985-02-13 プログラム生成制御方式

Country Status (1)

Country Link
JP (1) JPS61216039A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201833A (ja) * 1987-02-18 1988-08-19 Nec Corp 未解決ラベル参照解決方式
JP3141945B2 (ja) * 1990-03-20 2001-03-07 富士通株式会社 コンパイル装置

Also Published As

Publication number Publication date
JPS61216039A (ja) 1986-09-25

Similar Documents

Publication Publication Date Title
JPH0443300B2 (ja)
JPH0221612B2 (ja)
JPS59111533A (ja) デジタルデ−タ演算回路
JPH0233173B2 (ja)
JPS588011B2 (ja) マイクロプログラムセイギヨホウシキ
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JPH04104345A (ja) Ecc機構付主記憶装置の部分書き換えデータの書き込み制御方式
JPS60110043A (ja) 情報処理装置
JPH0348535B2 (ja)
JPH09198245A (ja) ディジタルシグナルプロセッサ
JPS6325372B2 (ja)
JPH0228724A (ja) 分岐命令制御方式
JPS6286436A (ja) エデイタ制御情報作成システム
JPH03172958A (ja) 同期処理方法および並列処理システムおよび並列処理方法および並列化プログラム生成装置
JPH05120080A (ja) フアームウエア実行履歴記憶方式
JPS6345603A (ja) プログラマブルコントロ−ラのプログラム格納方式
JPH0214729B2 (ja)
JPS63231553A (ja) 部分書込み方式
JPS62219126A (ja) プログラム制御方式
JPH0625966B2 (ja) マイクロプログラム制御装置
JPS6048551A (ja) リストデ−タアクセス制御方式
JPH03177927A (ja) 情報処理装置
JPS6364130A (ja) 分岐命令制御方法
JPH02100137A (ja) 命令実行制御方式
JPS6329857A (ja) レジスタフアイル装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees