JPS62254237A - インタプリタ方式の分岐命令実行方式 - Google Patents
インタプリタ方式の分岐命令実行方式Info
- Publication number
- JPS62254237A JPS62254237A JP9392986A JP9392986A JPS62254237A JP S62254237 A JPS62254237 A JP S62254237A JP 9392986 A JP9392986 A JP 9392986A JP 9392986 A JP9392986 A JP 9392986A JP S62254237 A JPS62254237 A JP S62254237A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- executed
- storage device
- branch instruction
- 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 claims description 6
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の目的
産業上の利用分野
本発明は、インタプリタ方式のプロセッサにおける分岐
命令の処理方式に関する。
命令の処理方式に関する。
従来の技術
パーソナルコンピュータなど比較的簡易・小型のプロセ
ッサには、事前翻訳を行うことなくプログラムを構成す
る命令群をその行番号と共に記憶装置に格納し、この記
憶装置から読出した個々の命令を翻訳しつつ実行してゆ
くインタプリタ方式言語処理プロセッサがある。
ッサには、事前翻訳を行うことなくプログラムを構成す
る命令群をその行番号と共に記憶装置に格納し、この記
憶装置から読出した個々の命令を翻訳しつつ実行してゆ
くインタプリタ方式言語処理プロセッサがある。
従来、上述のようなインタプリタ方式言語処理プロセッ
サで分岐命令を実行する場合、分岐命令中で行番号によ
って指定されている分岐先命令を記憶装置上で探索しつ
つ読出して実行している。
サで分岐命令を実行する場合、分岐命令中で行番号によ
って指定されている分岐先命令を記憶装置上で探索しつ
つ読出して実行している。
発明が解決しようとする問題点
上述した従来の分岐命令処理方式では、分岐命令の実行
のたびに、行番号で指定されている分岐先命令の格納位
置を記憶装置上で探索しているので、この探索に時間が
かかるという問題がある。
のたびに、行番号で指定されている分岐先命令の格納位
置を記憶装置上で探索しているので、この探索に時間が
かかるという問題がある。
行番号は・命令の配列順に連続的に付される場合もある
が、命令群の挿入、追加によるプログラムの修正の便宜
などを図るため10跳びに付加されたりする場合もある
ので、一般的には、行番号と記憶装置上の格納アドレス
とが1対1に対応しないからである。
が、命令群の挿入、追加によるプログラムの修正の便宜
などを図るため10跳びに付加されたりする場合もある
ので、一般的には、行番号と記憶装置上の格納アドレス
とが1対1に対応しないからである。
発明の構成
問題点を解決するための手段
上記従来技術の問題点を解決する本発明の分岐命令の実
行方式は、分岐命令の実行に際し、この命令に含まれて
いる実行済み又は未実行の情報が未実行を表示していれ
ば、行番号で指定された分岐先命令を記憶装置上で探索
しつつ読出して実行すると共に、分岐命令に含まれてい
る分岐先命令の行番号をこの分岐先命令の記憶装置上の
格納アドレスで置換え、この分岐命令の実行済み又は未
実行の情報を実行済みに変更する。
行方式は、分岐命令の実行に際し、この命令に含まれて
いる実行済み又は未実行の情報が未実行を表示していれ
ば、行番号で指定された分岐先命令を記憶装置上で探索
しつつ読出して実行すると共に、分岐命令に含まれてい
る分岐先命令の行番号をこの分岐先命令の記憶装置上の
格納アドレスで置換え、この分岐命令の実行済み又は未
実行の情報を実行済みに変更する。
また、分岐命令の実行に際し、この命令に含まれている
情報が実行済みを表示していれば、分岐先命令の記憶装
置上の格納アドレスで置換え済みの行番号に基づき記憶
装置から直ちに分岐先命令を読出して実行するように構
成されている。
情報が実行済みを表示していれば、分岐先命令の記憶装
置上の格納アドレスで置換え済みの行番号に基づき記憶
装置から直ちに分岐先命令を読出して実行するように構
成されている。
以下、本発明の作用を実施例と共に詳細に説明する。
実施例
第1図は、本発明の一実施例における分岐命令と分岐先
命令との関係を分岐命令の実行の前後に分けて例示する
概念図であり、(A)は実行前の状#、(B)は実行後
の状態である。
命令との関係を分岐命令の実行の前後に分けて例示する
概念図であり、(A)は実行前の状#、(B)は実行後
の状態である。
第1図(A)に示すように、記憶装置の(001A〕番
地には、行番号mが付された分岐命令が格納されている
。この分岐命令は、記憶装置上の(OIAB)番地に格
納されている行番号pの付された命令への分岐を指令し
ている。この分岐命令はまだ実行されていないので、そ
の制御ビットは未実行(従って行番号の未置換)を表示
する“O”となっている。
地には、行番号mが付された分岐命令が格納されている
。この分岐命令は、記憶装置上の(OIAB)番地に格
納されている行番号pの付された命令への分岐を指令し
ている。この分岐命令はまだ実行されていないので、そ
の制御ビットは未実行(従って行番号の未置換)を表示
する“O”となっている。
この分岐命令がプロセッサによって記憶装置から読出さ
れると割込みが発生し、プロセッサの制御が第2図のフ
ローチャートに示す分岐命令実行前処理ルーチンに移行
する。
れると割込みが発生し、プロセッサの制御が第2図のフ
ローチャートに示す分岐命令実行前処理ルーチンに移行
する。
プロセッサは、まずステップ21にお(・て、分岐命令
に付された制御ビットが“0”であることを検出すると
、ステップ22に進み、分岐先命令の記憶装置上の格納
番地の探索を開始する。すなわち、プロセッサはこの分
岐命令に付された行番号mと分岐先の命令に付された行
番号との大小関係を検査し、後者が前者よりも大であれ
ば、プログラムカウンタの内容を1カウントずつ増加し
ながら記憶装置から順次命令を読出してこれらに付され
た行番号と分岐先命令の行番号との照合を繰り返す。プ
ロセッサは、分岐先命令に付された行番号が分岐命令に
付された行番号よりも小さければ、プログラムカウンタ
の内容を1カウントずっ減算しながら記憶装置から順次
命令を読出してこれらに付きれた行番号と分岐先命令の
行番号との照合を繰り返す。
に付された制御ビットが“0”であることを検出すると
、ステップ22に進み、分岐先命令の記憶装置上の格納
番地の探索を開始する。すなわち、プロセッサはこの分
岐命令に付された行番号mと分岐先の命令に付された行
番号との大小関係を検査し、後者が前者よりも大であれ
ば、プログラムカウンタの内容を1カウントずつ増加し
ながら記憶装置から順次命令を読出してこれらに付され
た行番号と分岐先命令の行番号との照合を繰り返す。プ
ロセッサは、分岐先命令に付された行番号が分岐命令に
付された行番号よりも小さければ、プログラムカウンタ
の内容を1カウントずっ減算しながら記憶装置から順次
命令を読出してこれらに付きれた行番号と分岐先命令の
行番号との照合を繰り返す。
プロセッサは、上記行番号の照合の一致(探索の終了)
を検出するとステップ23に進み、第1図(B)に示す
ように、分岐命令内に含まれている分岐先命令の行番号
(p)を分岐先命令の記憶装置上の格納番地(OIAB
)で置換え、制御ビットを“0゛から“1”に反転した
ものを分岐命令の格納番地(001A)に書込む。プロ
セッサは、この書込みが終了するとステップ24に進み
、分岐先命令の格納番地(OIAB)をプログラム・カ
ウンタにロードして分岐命令実行前処理ルーチンを終了
する。
を検出するとステップ23に進み、第1図(B)に示す
ように、分岐命令内に含まれている分岐先命令の行番号
(p)を分岐先命令の記憶装置上の格納番地(OIAB
)で置換え、制御ビットを“0゛から“1”に反転した
ものを分岐命令の格納番地(001A)に書込む。プロ
セッサは、この書込みが終了するとステップ24に進み
、分岐先命令の格納番地(OIAB)をプログラム・カ
ウンタにロードして分岐命令実行前処理ルーチンを終了
する。
プロセッサは、ステップ21において、分岐命令に付さ
れた制御ビットが“1”であることを検出すると、直ち
にステップ24に進み、分岐命令に含まれる分岐先命令
の格納番地(OIAB)で置換えられた行番号をプログ
ラムカウンタにロードして分岐命令実行前処理ルーチン
を終了する。
れた制御ビットが“1”であることを検出すると、直ち
にステップ24に進み、分岐命令に含まれる分岐先命令
の格納番地(OIAB)で置換えられた行番号をプログ
ラムカウンタにロードして分岐命令実行前処理ルーチン
を終了する。
上記分岐命令実行前処理ルーチンの終了後に、記憶装置
上の(OIAB)番地から分岐先命令(PRINT
A)が読出されて実行され、Aレジスタの内容がプリン
タに印字出力される。
上の(OIAB)番地から分岐先命令(PRINT
A)が読出されて実行され、Aレジスタの内容がプリン
タに印字出力される。
プロセッサは、上記分岐命令を含むプログラムでいる分
岐先命令の記憶装置上のアドレスで置換えられている行
番号を本来の行番号に戻す処理を実行する。すなわち、
プロセッサはそのような分岐命令を検出すると、分岐先
命令を読出してこれに付された行番号を抽出し、これに
よって分岐命令に含まれる行番号を置換えて分岐命令の
格納アドレスに戻す処理を繰り返す。
岐先命令の記憶装置上のアドレスで置換えられている行
番号を本来の行番号に戻す処理を実行する。すなわち、
プロセッサはそのような分岐命令を検出すると、分岐先
命令を読出してこれに付された行番号を抽出し、これに
よって分岐命令に含まれる行番号を置換えて分岐命令の
格納アドレスに戻す処理を繰り返す。
発明の効果
以上詳細に説明したように、本発明は分岐命令の実行に
際し、それに含まれている分岐先命令の行番号をこの分
岐先命令の格納番地で置換えてゆく構成であるから、2
度目以降の実行に際し分岐先命令の格納番地の探索が不
要となり、プログラム全体の実行速度が大幅に向上する
という効果が奏される。
際し、それに含まれている分岐先命令の行番号をこの分
岐先命令の格納番地で置換えてゆく構成であるから、2
度目以降の実行に際し分岐先命令の格納番地の探索が不
要となり、プログラム全体の実行速度が大幅に向上する
という効果が奏される。
以上、分岐命令の実行済み又は未実行表示するために制
御ビットを付加する構成を例示したが、実行済か未実行
であるかによって分岐命令のコード自体を変更してもよ
い。
御ビットを付加する構成を例示したが、実行済か未実行
であるかによって分岐命令のコード自体を変更してもよ
い。
第1図は本発明の一実施例における分岐命令と分岐先命
令の関係の一例をこの分岐命令の実行前(A)と実行後
(B)に分けて示す概念図、第2は 画1記実施例における分岐命令実行前処理ルーチンの一
例を示すフローチャートである。
令の関係の一例をこの分岐命令の実行前(A)と実行後
(B)に分けて示す概念図、第2は 画1記実施例における分岐命令実行前処理ルーチンの一
例を示すフローチャートである。
Claims (1)
- 【特許請求の範囲】 プログラム内の配置を示す識別コードの付された命令群
を記憶装置に格納し、この記憶装置から読出した命令を
翻訳しつつ実行してゆくインタプリタ方式のプログラム
実行方式において、 分岐命令の実行に際し、この命令に含まれている実行済
み又は未実行の情報が未実行を表示していれば、プログ
ラム内の配置を示す識別コードで指定されている分岐先
命令を記憶装置上で探索しつつ読出して実行すると共に
、この分岐命令に含まれている分岐先命令のプログラム
上の配置を示す識別コードを分岐先命令の記憶装置上の
格納番地で置換え、実行済み又は未実行の情報を実行済
みに変更し、 分岐命令の実行に際し、前記実行済み又は未実行の情報
が実行済みを表示していれば、分岐先命令の記憶装置上
の格納アドレスで置換え済みの分岐先命令のプログラム
内の配置を示す識別コードに基づき記憶装置から直ちに
分岐先命令を読出して実行することを特徴とするインタ
プリタ方式の分岐命令実行方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9392986A JPS62254237A (ja) | 1986-04-23 | 1986-04-23 | インタプリタ方式の分岐命令実行方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9392986A JPS62254237A (ja) | 1986-04-23 | 1986-04-23 | インタプリタ方式の分岐命令実行方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62254237A true JPS62254237A (ja) | 1987-11-06 |
Family
ID=14096119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9392986A Pending JPS62254237A (ja) | 1986-04-23 | 1986-04-23 | インタプリタ方式の分岐命令実行方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62254237A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01162933A (ja) * | 1987-12-18 | 1989-06-27 | Fujitsu Ltd | インタプリタ処理装置 |
JPH06230976A (ja) * | 1992-12-22 | 1994-08-19 | Sun Microsyst Inc | 参照をリゾルブする方法および装置 |
JPH08234995A (ja) * | 1996-01-10 | 1996-09-13 | Omron Corp | プログラム変換装置 |
-
1986
- 1986-04-23 JP JP9392986A patent/JPS62254237A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01162933A (ja) * | 1987-12-18 | 1989-06-27 | Fujitsu Ltd | インタプリタ処理装置 |
JPH06230976A (ja) * | 1992-12-22 | 1994-08-19 | Sun Microsyst Inc | 参照をリゾルブする方法および装置 |
JPH08234995A (ja) * | 1996-01-10 | 1996-09-13 | Omron Corp | プログラム変換装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5504869A (en) | High speed processing system capable of executing strings of instructions in order without waiting completion of previous memory access instruction | |
JPS60243795A (ja) | 電子レジスタの変更プログラム設定装置 | |
KR920003044B1 (ko) | 가상 머신 시스템용의 게스트 머신 실행 제어 시스템 | |
KR920004279B1 (ko) | 포인터레지스터를 구비한 마이크로프로세서 | |
US5542079A (en) | Data driven processor for reading data from storage to apply prescribed operation in response to operation updating instruction and updating the contents of the storage | |
JPS62254237A (ja) | インタプリタ方式の分岐命令実行方式 | |
US5579495A (en) | Information processing in which a simulation of parallelism is achieved | |
JP2506591B2 (ja) | 補助処理装置 | |
JPH06149569A (ja) | レジスタ番号変更装置 | |
JPS61117635A (ja) | 仮想記憶制御方式 | |
JPH03119424A (ja) | 情報処理方式及び装置 | |
JPS6232540A (ja) | 情報処理装置 | |
JPH0259829A (ja) | マイクロコンピュータ | |
JPH03131930A (ja) | 情報処理装置 | |
JPH1027153A (ja) | バス転送装置 | |
JPS6042983B2 (ja) | 命令制御方式 | |
JPS6365978B2 (ja) | ||
JPH03218529A (ja) | 高速割込み処理装置 | |
JPS63217433A (ja) | プログラム実行制御方式 | |
JPS638841A (ja) | 割込み受取り装置 | |
JPH0397032A (ja) | 命令先取り方式 | |
JPH0740226B2 (ja) | 分岐命令制御方式 | |
JPS61283930A (ja) | 情報処理装置 | |
JPH0241771B2 (ja) | ||
JPS59189452A (ja) | デ−タ処理装置用キユ−構造 |