JPS604492B2 - 計算機 - Google Patents

計算機

Info

Publication number
JPS604492B2
JPS604492B2 JP13433876A JP13433876A JPS604492B2 JP S604492 B2 JPS604492 B2 JP S604492B2 JP 13433876 A JP13433876 A JP 13433876A JP 13433876 A JP13433876 A JP 13433876A JP S604492 B2 JPS604492 B2 JP S604492B2
Authority
JP
Japan
Prior art keywords
program
microprogram
machine language
instruction
sequence
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
JP13433876A
Other languages
English (en)
Other versions
JPS5358738A (en
Inventor
護 梅村
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP13433876A priority Critical patent/JPS604492B2/ja
Publication of JPS5358738A publication Critical patent/JPS5358738A/ja
Publication of JPS604492B2 publication Critical patent/JPS604492B2/ja
Expired legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 本発明はマイクロプログラムと機械語プログラムとで相
互交信を行なうことのできる計算機に関する。
従来の計算機においては、プログラムは機械語命令の羅
列で表現され、計算機はその機械語命令間の関係を意識
せずに機械語命令を逐一取り出し、実行する。
従って、例えば、プログラムのある位置から他の位置ま
でのシークェンスを別のシークェンスが呼び出して実行
するとき、前者シークェンスの最後に予め分岐命令を埋
め込んでおく必要がある。また、プログラムの一部シ−
クェンスを条件が成立するまで繰返し実行するような制
御においても、プログラムの然るべき位置に制御のため
の命令を埋め込んでおく必要がある。このような方式で
は命令埋め込みのための前処理が必要なばかりでなく、
命令数が増加して実行時間も余分にかかるという欠点が
ある。本発明の目的はこれらの欠点を除くためにマイク
ロプログラムと機械語との間で制御のやりとりをするこ
とのできる計算機を提供することにある。
本発明の他の目的はマイクロプログラムからプログラム
上の指定された部分の実行を起動することが可能な計算
機を提供するにある。
本発明の別の目的はマイクロプログラムから起動された
プログラムの指定された位置の実行が終了したときその
プログラムを起動したマイクロプログラムに制御を戻す
ことが可能な計算機を提供するにある。
即ち、本発明の計算機は、プログラム上の第1の位置を
保存する第1の貯蔵手段と、前記プログラム上の第2の
位置を保持する第2の貯蔵手段と、前記プログラム上の
第1の位置から前記プログラム上の第2の位置までのプ
ログラムシークェンスを起動し前記プログラムシークェ
ンスの実行が終了した後の戻りのマイクロ命令位置を保
存するマイクロ命令を実行する手段と、前記戻りのマイ
クロ命令位置を保存する第3の貯蔵手段と、実行中の前
記プログラムシークェンスの命令位置が前記第2の貯蔵
手段の内容と一致するか否かを時々刻々調べる検出手段
と、この検出手段が一致を検出したとき前記第3の貯蔵
手段で指示されるマイクロ命令位置に制御を戻す手段と
を具備し、マイクロプログラムから前記プログラム上の
指定されたシークェンスの実行を制御する。
次に図面を参照して本発明を詳細に説明する。
第1図の〔SOURCE〕は、FORTRAN言語のD
O命令を例示したもので、ステートメント0101から
1000までを5回線返し実行するプログラムを示して
いる。第1図の〔OBJECT〕(機械語命令列)は、
従来の計算機における上記DOルーチンの機械語オブジ
ェクトの一例である。ここで命令ステップ00100、
01000、01001は〔SOURCE〕のステート
メント0100を実現するために挿入された制御のため
の命令で、通常はコンパイラが発生し、マイクロプログ
ラムが前記各命令ステップ毎に読み出し、実行を繰返し
て実現される。第2図は第1図の〔SOURCE〕に対
応する本発明に用いられる機械語オブジェクトの一例で
、ステップ番号0100のDO命令が0101から10
00までを5回繰返して実行する命令であることを示し
ている。
第3図は第2図の機械語を実現するマイクロプログラム
の例を示しており、第4図は本発明の一実施例を示すブ
ロック図である。
第4図は説明簡単化のため本発明の説明に必要な部分に
ついてのみ示してあり、従来のマイクロプログラム制御
計算機において行なわれている部分についてはとくに記
述していない。即ち、第4図のマイクロプログラム制御
装置401は、マイクロプログラム議出しレジスタ、マ
イクロプログラム解読回路、アドレス計算等のための演
算回路、シフト回路、マスク回路および内部レジスタ等
を備えた通常のマイクロプログラム制御装置であり、マ
イクロプログラムシークェンスカウンタ410もこ制御
記憶装置411の番地を与えてマイクロ命令を読出し、
その内容によって種々の制御信号を発生する。なお、上
の制御装置401の詳細な構成や動作は1972丑こ情
報処理学会から発行された刊行物「情報処理」(Vol
.14、No.6)の第379頁−第387頁(特に図
2)に説明されている。また、START402及びE
ND403は、マイクロプログラムから起動すべき機械
語ルーチンのそれぞれ開始及び終了番地を保存するレジ
スタであり、本発明で実行されるDO命令においては、
START402にはDO命令の直後の機械語番地(第
2図の0101)が格納され、END403にはCON
TINUE文の機械語番地(第2図の1000)が格納
される。PSC404はプログラムシークエンスカウン
タであり、この内容で指される主記憶装置406の番地
から機械語が取り出される。DO命令を実行するマイク
ロプログラムは、起動すべき機械語シークェンスの開始
番地(START402に格納されている)をPSC4
04に与えることによって、そのシークェンスを起動す
る。比較回路405は、マイクロプログラムから起動さ
れた機械語シークェンスの主記憶番地(PSC404の
内容で、機械語ステップ毎に更新される)と、END4
03の内容とを時々刻々比較し、一致したときフリッブ
フロップ(以下FFと称す)407をセットするための
回路である。RTN408はマイクロプログラムが起動
した機械語シークェンスの最終機械語命令が実行された
後の戻りのマイクロ命令番地を格納するレジスタである
。前記制御装置401は、FF407がセットされたこ
とを検出すると、レジスタRTN408の内容をMSC
410にロードすることによってDO命令のマイクロプ
ログラムに制御を戻す。次に第3図のマイクロルーチン
の流れを第4図と対応させながら更に詳細に説明する。
マイクロプログラム制御は第3図のMOOOから始まる
主記憶装置406内の機械語命令取出しフェーズの実行
に端を発する。
即ち、第4図においてマイクロプログラム制御装置40
1‘まマイクロプログラムアドレスMOO0を発生し、
母線430、マルチプレクサ(以下MPXと称す)40
9および母線431を介してMSC4 1 0‘こMO
OOがセットされると、制御記憶装置411から1つの
マイクロ命令が取り出され、マイクロプログラム制御装
置401がこれを解読して種々の制御信号を発生した後
、次のマイクロ命令が取り出される。このマイクロ命令
の実行の繰返し‘こよって読み出された機械語命令のオ
ペレーションコード(命令指示コード)のビットパター
ンを前記装置401内の図示していない解読回路が解読
した結果、DO命令であることが判ると、マイクロプロ
グラム制御は第3図のMOIOから始まるDO命令実行
フェーズに入る。機械語DO命令は、第2図0100ス
テップに示されており、繰返し実行すべきルーチンの最
終番地(1000)と、繰返し回数(5)とをパラメー
タとして持っており、命令取出しフェーズにおいてこれ
ら二つのパラメータと、繰返しルーチンの先頭番地であ
るDO命令の直後の番地(0101)が前記制御装置4
01の内部レジスタ(図示していない)に保存される。
第3図のMOI0、MOI1、MO12ステップでは上
記繰返し回数を保存した後、繰返しルーチンの開始番地
を母線420を介してSTART402レジスタにセッ
トし、終了番地を母線422を介してEND403レジ
スタにセットする。ステップMO13では信号線434
を介して一致フリップフロップFF407をリセットし
、戻りのマイクロ命令アドレスMO14を母線428を
介してRTN408‘こセットした後、START40
2に格納されている機械語ルーチンの開始番地を母線4
21を介してプログラムシークェンスカウンタPSC4
04に転送し、マイクロプログラムの機械語命令取出し
開始番地MOOOをMSC4 1 01こセットする。
以後、制御記憶装置411内のマイクロルーチンを用い
てPSC404で指される主記憶装置406の記憶位置
からの機械語の取り出し、実行、PSC404の更新を
繰返す動作を前記制御装置401は行なう。上記動作に
よって起動された機械語ルーチンの実行の間、PSC4
04及びEND403の内容はそれぞれ母線424およ
び423を介して比較回路405に送らて比較され、一
致すると比較回路405は信号線426を介してFF4
07をセットする。マイクロプログラムの機械語取出し
ルーチンの先頭である第3図のMOOOステップではマ
イクロプログラム制御装置401が信号線427を介し
てFF407がセットされているか否かをテストする。
テストの結果、セットされていることが検出されると、
前記制御装置401はRTN408の内容を母線429
、MPX409、および母線431を介してMSC41
0に送るよう信号線433に信号を印放してMPX40
9を切換える。この動作によってマイクロプログラム制
御は第3図のMO14ステップの実行へと移る。MO1
4ステップではFF407をリセットし、くり返し回数
COUNTを減算して、もし再び機械語を実行するとき
にはMO13ステップへ分岐し、そうでなければ次のM
O15へ進んでDO命令の最終処理を行なう。以上、本
発明の計算機を説明するために、簡単な例について述べ
たが、これは単なる一例にすぎず、本発明の範囲を限定
するものではない。
即ち、上記説明ではFORTRANの言語のDO命令を
例に挙げたが、その他の言語においても、機械語のシー
クェンスを起動する命令であれば適用が可能である。例
えば、COBOL言語のPERFORM命令の一つであ
る PERFORM A THRU B N TIMES
.の命令は、処理手順Aの開始番地と処理手順Bの終了
番地をそれぞれ第4図のSTART402及びEND4
03に格納し、これをN回線返して実行するマイクロプ
ログラムを作ることにより、全く同様に実行できる。
上記説明では、DO命令で実行されるプログラムシーク
ェンスの中にDO命令を含むこと(NEST)は許され
ないが、第4図のレジスタSTART402,END4
03,RTN408及び内部レジスタ(図示していない
)(第3図のマイクロルーチンのMOI0、MO14で
使用)の代わりにLIFO型のレジスタフアィル(スタ
ツク)を用いて、プッシュダウンやポップアップの制御
を付加すれば前記NEST処理が実行できる。
このときには、一致フリップフロツプFF407のセッ
ト及びリセットを適切な制御の下に行なう必要があるこ
とは言うまでもない。上記説明では、プログラムシーク
ェンスの最終命令が実行されたか否かをマイクロ命令で
テストする(第3図のMOOOステップ)方法について
述べたが、この部分は組み合わせ回路(ハードウェア)
によって実現することも可能である。
上記説明では、番地の貯蔵手段としてレジスタを用い、
プログラムシークェンスの最終番地実行の検出手段とし
て比較回路を用いているが、これらの一部または全部が
マイクロプログラムで実現されてもよい。
また、上述の例では、FORTRAN言語のDO命令を
例にとって、指定された回数だけ機械語シークェンスを
繰返す制御について述べたが、指定された条件を満たす
まで繰返すような制御についても適用が可能である。
例えばCOBOL言語のPERFORM A T
HRU B UNTILCONDITION.と
いう命令は、AからBまでのシークェンスを実行する毎
にCONDITIONで示される条件を調べ、条件が満
たされるまでくり返し実行することを指示しており、こ
れを本発明の計算機で実現するためには、第3図のMO
14ステップ以降に、条件を調べてその結果により条件
分岐する制御を付加すればよい。
ここで、条件を調べる制御はマイクロプログラムで書か
れていてもよいが、ここで再びDO命令に相当する動作
を行なわせて、機械語プログラムで書かれた条件試験ル
ーチンを呼出すこともできる。
【図面の簡単な説明】
第1図はFORTRAN言語のDO命令を含むソースプ
ログラムとそれに対応する従来の計算機における機械語
オブジェクトの例を示す図、第2図は第1図のソースプ
ログラムに対応する本発明の計算機を用いる機械語オブ
ジェクトの例を示す図、第3図は第2図の機械語DO命
令を実行するマイクロルーチンを示す図および第4図は
本発明の一実施例を示すブロック図である。 第4図において、401はマイクロプログラム制御装置
、402はしジスタ(START)、403はしジスタ
(END)、404は力ウンタPSC、405は比較回
路、406は主記憶装置、407はフリツプフロツプ、
408はしジスタ(RTN)、409はマルチプレクサ
、410は力ウン夕(MSC)、411は制御記憶装置
である。 オー図オ2図 オ3図 オ4図

Claims (1)

    【特許請求の範囲】
  1. 1 プログラム上の第1の位置を保存する第1の貯蔵手
    段と、前記プログラム上の第2の位置を保存する第2の
    貯蔵手段と、前記プログラム上の第1の位置から前記プ
    ログラム上の第2の位置までのプログラムシークエンス
    を起動し前記プログラムシークエンスの実行が終了した
    後の戻りのマイクロ命令位置を保存するマイクロ命令を
    実行する手段と、前記戻りのマイクロ命令位置を保存す
    る第3の貯蔵手段と、実行中の前記プログラムシークエ
    ンスの命令位置が前記第2の貯蔵手段の内容と一致する
    か否かを時々刻々調べる検出手段と、この検出手段が一
    致を検出したとき前記第3の貯蔵手段で指示されるマイ
    クロ命令位置に制御を戻す手段とを具備しマイクロプロ
    グラムから前記プログラム上の指定されたシークエンス
    の実行を制御するようにしたことを特徴とする計算機。
JP13433876A 1976-11-08 1976-11-08 計算機 Expired JPS604492B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13433876A JPS604492B2 (ja) 1976-11-08 1976-11-08 計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13433876A JPS604492B2 (ja) 1976-11-08 1976-11-08 計算機

Publications (2)

Publication Number Publication Date
JPS5358738A JPS5358738A (en) 1978-05-26
JPS604492B2 true JPS604492B2 (ja) 1985-02-04

Family

ID=15126005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13433876A Expired JPS604492B2 (ja) 1976-11-08 1976-11-08 計算機

Country Status (1)

Country Link
JP (1) JPS604492B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5556253A (en) * 1978-10-23 1980-04-24 Yokogawa Hokushin Electric Corp Data processor

Also Published As

Publication number Publication date
JPS5358738A (en) 1978-05-26

Similar Documents

Publication Publication Date Title
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
CN102063286B (zh) 程序流控制
US4520440A (en) Test verification of processor architecture having a partial instruction set
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JPH0773032A (ja) ソフトウェアシステムを動的に修正する方法
KR101249693B1 (ko) 서브루틴 복귀 메카니즘 선택
JPS604492B2 (ja) 計算機
JPH06103109A (ja) データプロセッサ、及びこれを用いるデバッグ装置
JPH09288595A (ja) 演算処理装置
JPS6214240A (ja) プログラム検査方式
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JP2860054B2 (ja) プログラムデバッグ装置
JPS6143347A (ja) ベクトル命令シミユレ−シヨン方法
JPS5875256A (ja) 実行命令遂行状態のモニタ方式
JP3159155B2 (ja) プログラムのデバッグ方法および装置
JP3130421B2 (ja) プログラム解析方法および装置
JPH0546444A (ja) ログ機能付きデバツカ
JP2570119B2 (ja) ソフトウェアシミュレータ
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPH0287237A (ja) Execute命令制御方式
JPS6049442A (ja) マイクロ診断方式
JPH0248739A (ja) デバッグ用マイクロプロセッサ
JPS5848150A (ja) 障害波及防止方式
JPH02165342A (ja) マイクロプロセサを有する演算処理装置
JPH04306743A (ja) 集積回路マイクロプロセッサのデバッグ支援システム