JPS64732B2 - - Google Patents
Info
- Publication number
- JPS64732B2 JPS64732B2 JP55044311A JP4431180A JPS64732B2 JP S64732 B2 JPS64732 B2 JP S64732B2 JP 55044311 A JP55044311 A JP 55044311A JP 4431180 A JP4431180 A JP 4431180A JP S64732 B2 JPS64732 B2 JP S64732B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- microprogram
- branch
- microinstruction
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】
本発明はデータ処理システム、特にマイクロプ
ログラム制御方式の計算機に関する。更に詳細に
は特定のマイクロ命令に分岐する分岐元のマイク
ロ命令を検出する装置に関する。
ログラム制御方式の計算機に関する。更に詳細に
は特定のマイクロ命令に分岐する分岐元のマイク
ロ命令を検出する装置に関する。
マイクロプログラム制御計算機のマイクロプロ
グラム列をデバツグする際に特定のマイクロプロ
グラムステツプ(マイクロ命令)に制御を移すマ
イクロ命令がマイクロプログラム列にあるかを調
べる場合がある。例えば特定のマイクロプログラ
ムの直前のマイクロ命令で計算機を停止させ、そ
のときの計算機の状態を調べる場合である。この
ような場合には、特定のマイクロ命令に分岐する
マイクロ命令の全てに停止コマンドを挿入する必
要がある。
グラム列をデバツグする際に特定のマイクロプロ
グラムステツプ(マイクロ命令)に制御を移すマ
イクロ命令がマイクロプログラム列にあるかを調
べる場合がある。例えば特定のマイクロプログラ
ムの直前のマイクロ命令で計算機を停止させ、そ
のときの計算機の状態を調べる場合である。この
ような場合には、特定のマイクロ命令に分岐する
マイクロ命令の全てに停止コマンドを挿入する必
要がある。
この目的を達成するために、従来のマイクロプ
ログラムデバツグにおいては、各操作に対応して
命名されたコマンド名をビツト列に展開する際に
作成されるプログラムリストを利用している。こ
のプログラムリストには各マイクロ命令に分岐し
てくる分岐元のマイクロ命令が表現されているの
で、このプログラムリストを調べることにより分
岐元を知ることができた。しかし、デバツグする
ためにプログラムリストを調べ、デバツグを効率
よく行うためには、リスト調べに対し従来人為的
な作業によるため、リストに慣れる期間が必要で
あつた。さらに、プログラムリストの量が多くな
るとリストを操る作業がデバツグ効率を低下させ
る原因となつていた。またデバツグ途中でデバツ
グを行つている人が直接マイクロプログラム記憶
にマイクロステツプを書き込んだり、修正する場
合がある。このときには、プログラムリストの内
容がデバツグの中のマイクロプログラム記憶に一
致していないのでプログラムリストに表示された
分岐元が正しいとは限らない。このような場合に
は、マイクロプログラム記憶に格納されたマイク
ロプログラム情報により、直接分岐元を知る方が
確実である。さらに、マイクロプログラムのデバ
ツグ中にマイクロステツプを追加して直接マイク
ロプログラム記憶に書き込む時に書き込み対象と
なつた記憶位置が使用されているか否かを知る必
要がある。このときには対象となつた記憶位置に
分岐してくるマイクロステツプの有無を調べるこ
とにより使用状態を知ることができる。
ログラムデバツグにおいては、各操作に対応して
命名されたコマンド名をビツト列に展開する際に
作成されるプログラムリストを利用している。こ
のプログラムリストには各マイクロ命令に分岐し
てくる分岐元のマイクロ命令が表現されているの
で、このプログラムリストを調べることにより分
岐元を知ることができた。しかし、デバツグする
ためにプログラムリストを調べ、デバツグを効率
よく行うためには、リスト調べに対し従来人為的
な作業によるため、リストに慣れる期間が必要で
あつた。さらに、プログラムリストの量が多くな
るとリストを操る作業がデバツグ効率を低下させ
る原因となつていた。またデバツグ途中でデバツ
グを行つている人が直接マイクロプログラム記憶
にマイクロステツプを書き込んだり、修正する場
合がある。このときには、プログラムリストの内
容がデバツグの中のマイクロプログラム記憶に一
致していないのでプログラムリストに表示された
分岐元が正しいとは限らない。このような場合に
は、マイクロプログラム記憶に格納されたマイク
ロプログラム情報により、直接分岐元を知る方が
確実である。さらに、マイクロプログラムのデバ
ツグ中にマイクロステツプを追加して直接マイク
ロプログラム記憶に書き込む時に書き込み対象と
なつた記憶位置が使用されているか否かを知る必
要がある。このときには対象となつた記憶位置に
分岐してくるマイクロステツプの有無を調べるこ
とにより使用状態を知ることができる。
本発明の目的はマイクロプログラム制御の計算
機をデバツグする際の上記の問題点を解決するも
のであり、対象とするマイクロステツプに分岐す
るマイクロステツプをマイクロプログラム記憶情
報に基づいて検出する装置を提供することにあ
る。
機をデバツグする際の上記の問題点を解決するも
のであり、対象とするマイクロステツプに分岐す
るマイクロステツプをマイクロプログラム記憶情
報に基づいて検出する装置を提供することにあ
る。
上記目的のために、本発明ではマイクロプログ
ラム方式の計算機において、検査対象マイクロ命
令列を格納するマイクロプログラム記憶と、検査
対象マイクロ命令アドレスを順次計数発生するア
ドレスレジスタと、検査対象マイクロ命令の分岐
先となつているか否かを調べるためのマイクロ命
令のアドレスを格納する分岐先アドレスレジスタ
と、前記マイクロプログラム記憶から読み出され
たマイクロ命令が前記分岐先アドレスレジスタで
示すアドレスに分岐するか否かを調べるためにア
ドレスの比較を行う分岐先アドレスの一致検出手
段と、計算機が通常の処理状態かデバツグ状態か
を示すモードフラグとを備え、前記モードフラグ
がデバツグ状態では前記分岐先アドレスレジスタ
が示すアドレスに分岐するマイクロ命令アドレス
を検出するマイクロプログラムデバツグ装置を提
供する。
ラム方式の計算機において、検査対象マイクロ命
令列を格納するマイクロプログラム記憶と、検査
対象マイクロ命令アドレスを順次計数発生するア
ドレスレジスタと、検査対象マイクロ命令の分岐
先となつているか否かを調べるためのマイクロ命
令のアドレスを格納する分岐先アドレスレジスタ
と、前記マイクロプログラム記憶から読み出され
たマイクロ命令が前記分岐先アドレスレジスタで
示すアドレスに分岐するか否かを調べるためにア
ドレスの比較を行う分岐先アドレスの一致検出手
段と、計算機が通常の処理状態かデバツグ状態か
を示すモードフラグとを備え、前記モードフラグ
がデバツグ状態では前記分岐先アドレスレジスタ
が示すアドレスに分岐するマイクロ命令アドレス
を検出するマイクロプログラムデバツグ装置を提
供する。
次に本発明を用いた実施例について図面を参照
して説明する。
して説明する。
本発明におけるマイクロ命令形式の一例を第1
図に示し、従来のマイクロプログラムで一般によ
く用いられる分岐方式について説明する。
図に示し、従来のマイクロプログラムで一般によ
く用いられる分岐方式について説明する。
マイクロ命令はデータ制御部とシーケンス制御
部とに分けられる。データ制御部では、演算、デ
ータ移送などを指定する。シーケンス制御部は次
に実行するマイクロ命令を決定する情報を示す。
このシーケンス制御部はアドレス部と分岐制御部
とに分けられる。このマイクロ命令の分岐には、
相対分岐、絶対分岐、2方向分岐、4方向分岐が
あり、それぞれ第1図のa,b,c,dに示され
る。シーケンス制御部では、右側(LSB側)か
ら0、1、……、11とビツトの番号が割り当てら
れている。このマイクロ命令では、1024命令まで
のマイクロプログラムを作成することができる。
相対分岐はこのマイクロ命令が格納されている位
置から分岐先までの相対位置をビツト6〜ビツト
2の領域で保持している。絶対分岐ではビツト11
〜ビツト2で示されるマイクロプログラム記憶1
の番地に分岐する。2方向分岐ではビツト11〜ビ
ツト3の下位に計算機の内部状態に依存して決ま
る状態情報を1ビツト挿入することにより分岐番
地が決まる。分岐方向は状態情報により決まるの
で2方向に分岐する。4方向分岐ではシーケンス
制御部のビツト11〜ビツト4の下位に状態情報を
2ビツト挿入することにより分岐方向が決まる。
計算機実行時には状態情報2ビツトの状態によつ
て分岐方向が決定されるので4方向分岐となる。
部とに分けられる。データ制御部では、演算、デ
ータ移送などを指定する。シーケンス制御部は次
に実行するマイクロ命令を決定する情報を示す。
このシーケンス制御部はアドレス部と分岐制御部
とに分けられる。このマイクロ命令の分岐には、
相対分岐、絶対分岐、2方向分岐、4方向分岐が
あり、それぞれ第1図のa,b,c,dに示され
る。シーケンス制御部では、右側(LSB側)か
ら0、1、……、11とビツトの番号が割り当てら
れている。このマイクロ命令では、1024命令まで
のマイクロプログラムを作成することができる。
相対分岐はこのマイクロ命令が格納されている位
置から分岐先までの相対位置をビツト6〜ビツト
2の領域で保持している。絶対分岐ではビツト11
〜ビツト2で示されるマイクロプログラム記憶1
の番地に分岐する。2方向分岐ではビツト11〜ビ
ツト3の下位に計算機の内部状態に依存して決ま
る状態情報を1ビツト挿入することにより分岐番
地が決まる。分岐方向は状態情報により決まるの
で2方向に分岐する。4方向分岐ではシーケンス
制御部のビツト11〜ビツト4の下位に状態情報を
2ビツト挿入することにより分岐方向が決まる。
計算機実行時には状態情報2ビツトの状態によつ
て分岐方向が決定されるので4方向分岐となる。
次に本発明を用いた実施例について図面を参照
して説明する。
して説明する。
第2図は本発明を用いたマイクロプログラムデ
バツグ装置の一実施例を示すブロツク図である。
デバツグ以外の通常のマイクロプログラム処理を
行う場合における第2図に示す装置の動作を簡単
に示す。
バツグ装置の一実施例を示すブロツク図である。
デバツグ以外の通常のマイクロプログラム処理を
行う場合における第2図に示す装置の動作を簡単
に示す。
マイクロプログラム記憶1には本計算機の動作
を制御するマイクロプログラムが格納されてい
る。マイクロプログラムレジスタ3にはマイクロ
プログラム記憶1から読み出されたマイクロ命令
が格納され、このマイクロ命令が実行対象とな
る。マイクロプログラムレジスタ3に格納するマ
イクロ命令は、アドレス線20のアドレス情報に
よつてマイクロプログラム記憶1から読み出され
る。アドレス線20のアドレス情報は分岐アドレ
ス生成回路6から出力される。この分岐アドレス
生成回路6では本計算機の状態情報と現在実行対
象となつているマイクロ命令のアドレスを記憶す
る実行アドレスレジスタ4および現在実行対象と
なつているマイクロ命令が格納されているマイク
ロプログラムレジスタ3の内容によつて決定され
た次の実行対象マイクロ命令アドレスをアドレス
線20に出力する。このように、本計算機が通常
の処理を行う際には分岐アドレス生成回路6のマ
イクロ命令アドレスによつて決定されるマイクロ
命令を順次実行する。
を制御するマイクロプログラムが格納されてい
る。マイクロプログラムレジスタ3にはマイクロ
プログラム記憶1から読み出されたマイクロ命令
が格納され、このマイクロ命令が実行対象とな
る。マイクロプログラムレジスタ3に格納するマ
イクロ命令は、アドレス線20のアドレス情報に
よつてマイクロプログラム記憶1から読み出され
る。アドレス線20のアドレス情報は分岐アドレ
ス生成回路6から出力される。この分岐アドレス
生成回路6では本計算機の状態情報と現在実行対
象となつているマイクロ命令のアドレスを記憶す
る実行アドレスレジスタ4および現在実行対象と
なつているマイクロ命令が格納されているマイク
ロプログラムレジスタ3の内容によつて決定され
た次の実行対象マイクロ命令アドレスをアドレス
線20に出力する。このように、本計算機が通常
の処理を行う際には分岐アドレス生成回路6のマ
イクロ命令アドレスによつて決定されるマイクロ
命令を順次実行する。
次に、通常処理の場合と同様、第2図を用いて
デバツグ用にマイクロ命令の分岐元を検出する本
発明を用いた実施例を説明する。マイクロプログ
ラム記憶1にはデバツグ対象となつているマイク
ロプログラムが格納されている。デバツグ時にマ
イクロプログラム記憶1から読み出されるマイク
ロ命令はアドレスレジスタ2からのアドレス情報
によつて指示される。本実施例ではアドレスレジ
スタ2は10ビツトで構成され、1024語のマイクロ
命令を指示することができる。マイクロプログラ
ムレジスタ3にはマイクロプログラム記憶1から
読み出されたマイクロ命令が格納され、このマイ
クロ命令が検査対象となる。
デバツグ用にマイクロ命令の分岐元を検出する本
発明を用いた実施例を説明する。マイクロプログ
ラム記憶1にはデバツグ対象となつているマイク
ロプログラムが格納されている。デバツグ時にマ
イクロプログラム記憶1から読み出されるマイク
ロ命令はアドレスレジスタ2からのアドレス情報
によつて指示される。本実施例ではアドレスレジ
スタ2は10ビツトで構成され、1024語のマイクロ
命令を指示することができる。マイクロプログラ
ムレジスタ3にはマイクロプログラム記憶1から
読み出されたマイクロ命令が格納され、このマイ
クロ命令が検査対象となる。
第1図aで示した相対分岐では実行対象となつ
ているマイクロ命令のアドレスが次のマイクロ命
令への分岐アドレスを求めるための基点になつて
いる。このことから、デバツグ時に、マイクロプ
ログラムレジスタ3に格納された検査対象マイク
ロ命令が通常処理を行うとすれば分岐するマイク
ロプログラムアドレスを求めるためには、検査対
象マイクロ命令のアドレスが必要である。この目
的のために実行アドレスレジスタ4が利用され
る。本実施例においてはデバツグ時に用いられる
アドレスレジスタの内容は次に検査するマイクロ
命令のアドレスであり、マイクロプログラム記憶
1のマイクロ命令を順次走査するために現在検査
対象となつているマイクロ命令アドレスを歩進し
た値を保持している。実行アドレスレジスタ4の
内容を検査対象マイクロ命令のアドレスに一致さ
せるためには、マイクロ命令がマイクロプログラ
ムレジスタ3に格納されるときにアドレスレジス
タ2の内容が実行アドレスレジスタ4に格納され
る。分岐アドレス生成回路6はマイクロプログラ
ム制御の計算機において一般に用いられる制御回
路であり、実行中のマイクロ命令の次に処理され
るマイクロ命令アドレスを決定する。分岐アドレ
ス生成回路6ではマイクロプログラムレジスタ3
に格納されているマイクロ命令のシーケンス制御
部の情報に基づき分岐先のアドレスを決定する。
モードフラグ7は計算機が通常の処理を行う場合
とマイクロ命令の分岐元を検出するためのデバツ
グ状態である場合とを区別するためのフラグであ
る。分岐先アドレスレジスタ5はデバツグ時に利
用され、このレジスタ5で示されるアドレスに分
岐してくる可能性があるマイクロ命令を調べるた
めに用いられる10ビツトのレジスタである。比較
器9では分岐先アドレスレジスタ5と分岐アドレ
ス生成回路6の出力について一致を調べる。デバ
ツグ時においては、この一致信号により、マイク
ロプログラムレジスタ3に格納されているマイク
ロ命令から分岐先アドレスレジスタ5で示される
マイクロ命令アドレスに分岐できることが検出さ
れる。加算器10はアドレスレジスタにより、マ
イクロプログラム記憶1を走査するために設けら
れたアドレスレジスタ2の歩進用回路である。
ているマイクロ命令のアドレスが次のマイクロ命
令への分岐アドレスを求めるための基点になつて
いる。このことから、デバツグ時に、マイクロプ
ログラムレジスタ3に格納された検査対象マイク
ロ命令が通常処理を行うとすれば分岐するマイク
ロプログラムアドレスを求めるためには、検査対
象マイクロ命令のアドレスが必要である。この目
的のために実行アドレスレジスタ4が利用され
る。本実施例においてはデバツグ時に用いられる
アドレスレジスタの内容は次に検査するマイクロ
命令のアドレスであり、マイクロプログラム記憶
1のマイクロ命令を順次走査するために現在検査
対象となつているマイクロ命令アドレスを歩進し
た値を保持している。実行アドレスレジスタ4の
内容を検査対象マイクロ命令のアドレスに一致さ
せるためには、マイクロ命令がマイクロプログラ
ムレジスタ3に格納されるときにアドレスレジス
タ2の内容が実行アドレスレジスタ4に格納され
る。分岐アドレス生成回路6はマイクロプログラ
ム制御の計算機において一般に用いられる制御回
路であり、実行中のマイクロ命令の次に処理され
るマイクロ命令アドレスを決定する。分岐アドレ
ス生成回路6ではマイクロプログラムレジスタ3
に格納されているマイクロ命令のシーケンス制御
部の情報に基づき分岐先のアドレスを決定する。
モードフラグ7は計算機が通常の処理を行う場合
とマイクロ命令の分岐元を検出するためのデバツ
グ状態である場合とを区別するためのフラグであ
る。分岐先アドレスレジスタ5はデバツグ時に利
用され、このレジスタ5で示されるアドレスに分
岐してくる可能性があるマイクロ命令を調べるた
めに用いられる10ビツトのレジスタである。比較
器9では分岐先アドレスレジスタ5と分岐アドレ
ス生成回路6の出力について一致を調べる。デバ
ツグ時においては、この一致信号により、マイク
ロプログラムレジスタ3に格納されているマイク
ロ命令から分岐先アドレスレジスタ5で示される
マイクロ命令アドレスに分岐できることが検出さ
れる。加算器10はアドレスレジスタにより、マ
イクロプログラム記憶1を走査するために設けら
れたアドレスレジスタ2の歩進用回路である。
命令走査制御部11はモードフラグ7でデバツ
グモードであることが示されるときに有効な制御
を行う。つまりアドレスレジスタ2が示すマイク
ロプログラム記憶1中のマイクロ命令について分
岐先アドレスレジスタ5に一致するか否かを比較
器9により調べる。一致が認められないときには
マイクロプログラム記憶1中のマイクロ命令の走
査を続けるために、アドレスレジスタ2を加算器
10で歩進させる。通常の処理モードにおいては
命令走査制御部11の制御は無効になり、マイク
ロプログラム記憶1のマイクロ命令を読み出すア
ドレスは分岐アドレス生成回路6で出力されるア
ドレスが用いられる。
グモードであることが示されるときに有効な制御
を行う。つまりアドレスレジスタ2が示すマイク
ロプログラム記憶1中のマイクロ命令について分
岐先アドレスレジスタ5に一致するか否かを比較
器9により調べる。一致が認められないときには
マイクロプログラム記憶1中のマイクロ命令の走
査を続けるために、アドレスレジスタ2を加算器
10で歩進させる。通常の処理モードにおいては
命令走査制御部11の制御は無効になり、マイク
ロプログラム記憶1のマイクロ命令を読み出すア
ドレスは分岐アドレス生成回路6で出力されるア
ドレスが用いられる。
マイクロプログラム記憶1は市販の高速記憶素
子で構成され、各レジスタ2〜5は市販のレジス
タ素子で構成される。モードフララグ7は市販の
フリツプフロツプである。比較器9は市販の比較
素子で構成され、加算器10は市販の演算素子で
構成される。命令走査制御部11には一般のマイ
クロプログラム制御方式を採用する。
子で構成され、各レジスタ2〜5は市販のレジス
タ素子で構成される。モードフララグ7は市販の
フリツプフロツプである。比較器9は市販の比較
素子で構成され、加算器10は市販の演算素子で
構成される。命令走査制御部11には一般のマイ
クロプログラム制御方式を採用する。
次に、通常モードにおいてマイクロプログラム
レジスタ3のマイクロ命令から分岐先アドレスレ
ジスタ5で示されたアドレスへ分岐するか否かを
調べる比較器9のアドレス比較形式を第1図に示
した4種のマイクロプログラム分岐形式に従つて
説明する。
レジスタ3のマイクロ命令から分岐先アドレスレ
ジスタ5で示されたアドレスへ分岐するか否かを
調べる比較器9のアドレス比較形式を第1図に示
した4種のマイクロプログラム分岐形式に従つて
説明する。
第3図はこのため、分岐アドレス生成回路6と
分岐先アドレスレジスタ5の出力を入力とする比
較器9の比較形式を説明するための概念図であ
る。マイクロプログラムの分岐制御部が“00”で
示される相対分岐命令は、分岐アドレス生成回路
6において、実行アドレスレジスタ4で示される
現在検査中のマイクロ命令アドレスにマイクロプ
ログラムレジスタ3が示すシーケンス制御部6ビ
ツト〜2ビツトの相対分岐巾を加算することによ
り、通常モードで本計算機が動作する場合におけ
る次に実行対象となるアドレスが求められる。比
較器9においては第3図のaに示すようにこの分
岐アドレス生成回路6の出力9ビツト〜0ビツト
までの10ビツトと分岐先アドレスレジスタ5の出
力9ビツト〜0ビツトまでの10ビツトの一致を調
べる。
分岐先アドレスレジスタ5の出力を入力とする比
較器9の比較形式を説明するための概念図であ
る。マイクロプログラムの分岐制御部が“00”で
示される相対分岐命令は、分岐アドレス生成回路
6において、実行アドレスレジスタ4で示される
現在検査中のマイクロ命令アドレスにマイクロプ
ログラムレジスタ3が示すシーケンス制御部6ビ
ツト〜2ビツトの相対分岐巾を加算することによ
り、通常モードで本計算機が動作する場合におけ
る次に実行対象となるアドレスが求められる。比
較器9においては第3図のaに示すようにこの分
岐アドレス生成回路6の出力9ビツト〜0ビツト
までの10ビツトと分岐先アドレスレジスタ5の出
力9ビツト〜0ビツトまでの10ビツトの一致を調
べる。
マイクロプログラムの分岐制御部が“10”で示
される絶対分岐命令はシーケンス制御部のビツト
11〜ビツト2の10ビツトが直接、分岐アドレス生
成回路6から出力され、通常モード時における次
に実行対象となるマイクロ命令アドレスとなる。
比較器9においては第3図bに示すようにこの分
岐アドレス生成回路6の出力9ビツト〜0ビツト
までの10ビツトと検査アドレスレジスタ5の出力
9ビツト〜0ビツトまでの10ビツトとの一致を調
べる。
される絶対分岐命令はシーケンス制御部のビツト
11〜ビツト2の10ビツトが直接、分岐アドレス生
成回路6から出力され、通常モード時における次
に実行対象となるマイクロ命令アドレスとなる。
比較器9においては第3図bに示すようにこの分
岐アドレス生成回路6の出力9ビツト〜0ビツト
までの10ビツトと検査アドレスレジスタ5の出力
9ビツト〜0ビツトまでの10ビツトとの一致を調
べる。
前記2種の分岐方式では実行対象マイクロプロ
グラムが決まつていれば、分岐先が一意に決まる
無条件分岐である。この場合には分岐アドレス生
成回路6と分岐先アドレスレジスタ5の全ビツト
の一致を調べることにより、通常モード時におけ
る実行対象となつているマイクロ命令から分岐先
アドレスレジスタ5で示されるアドレスへの分岐
の有無が調べられる。マイクロプログラムの分岐
制御部が“011”で示される2方向分岐命令では、
分岐アドレス生成回路6の出力は実行対象マイク
ロプログラムだけでは一意に決定しない。計算機
の状態情報1ビツトがシーケンス制御部11ビツト
〜3ビツトまでの9ビツトの下(LSB側)に付
加された10ビツトのアドレスが分岐アドレス生成
回路6の出力となる。この分岐では、実行対象と
なつている2方向分岐型のマイクロ命令によつて
分岐アドレス生成回路6出力の上位9ビツトが一
意に決まり、下位1ビツトが状態情報に応じて
“0”あるいは“1”となる可能性がある。した
がつて2方向分岐型のマイクロ命令からの分岐先
としては分岐アドレス生成回路6出力の上位9ビ
ツトと同じ9ビツトを上位9ビツトアドレスとし
て指示できる2つのマイクロ命令が存在してい
る。比較器9では第3図cに示すように、アドレ
ス比較において分岐アドレス生成回路6出力の下
1ビツトと分岐先アドレスレジスタ5の下1ビツ
トをマスクし、各出力の上位9ビツトの一致を調
べる。この比較によつて2方向分岐型のマイクロ
命令から分岐先アドレスレジスタ5で示されるア
ドレスに分岐できるか否かを検査することができ
る。
グラムが決まつていれば、分岐先が一意に決まる
無条件分岐である。この場合には分岐アドレス生
成回路6と分岐先アドレスレジスタ5の全ビツト
の一致を調べることにより、通常モード時におけ
る実行対象となつているマイクロ命令から分岐先
アドレスレジスタ5で示されるアドレスへの分岐
の有無が調べられる。マイクロプログラムの分岐
制御部が“011”で示される2方向分岐命令では、
分岐アドレス生成回路6の出力は実行対象マイク
ロプログラムだけでは一意に決定しない。計算機
の状態情報1ビツトがシーケンス制御部11ビツト
〜3ビツトまでの9ビツトの下(LSB側)に付
加された10ビツトのアドレスが分岐アドレス生成
回路6の出力となる。この分岐では、実行対象と
なつている2方向分岐型のマイクロ命令によつて
分岐アドレス生成回路6出力の上位9ビツトが一
意に決まり、下位1ビツトが状態情報に応じて
“0”あるいは“1”となる可能性がある。した
がつて2方向分岐型のマイクロ命令からの分岐先
としては分岐アドレス生成回路6出力の上位9ビ
ツトと同じ9ビツトを上位9ビツトアドレスとし
て指示できる2つのマイクロ命令が存在してい
る。比較器9では第3図cに示すように、アドレ
ス比較において分岐アドレス生成回路6出力の下
1ビツトと分岐先アドレスレジスタ5の下1ビツ
トをマスクし、各出力の上位9ビツトの一致を調
べる。この比較によつて2方向分岐型のマイクロ
命令から分岐先アドレスレジスタ5で示されるア
ドレスに分岐できるか否かを検査することができ
る。
マイクロプログラムの分岐制御部が“111”で
示される4方向分岐命令は、シーケンス制御部11
ビツト〜4ビツトで決定される8ビツトに状態情
報の2ビツトが下位に付加されたアドレスが通常
モード時における次に実行される命令アドレスと
なる。この場合には分岐アドレス生成回路6の上
位8ビツトが実行対象マイクロ命令によつて一意
に決定され、下2ビツトは“00”〜“11”の4状
態の可能性がある。4方向分岐型のマイクロ命令
から分岐できるマイクロ命令のアドレスは、4方
向分岐型のマイクロ命令でアドレス生成した分岐
アドレス生成回路6出力の上位8ビツトと同一の
上位8ビツトとして持つ。このことから比較器9
では第3図のdに示すように、アドレス比較にお
いて分岐アドレス生成回路6出力の下2ビツトと
分岐先アドレスレジスタ5の下2ビツトをマスク
し、各出力の上位8ビツトの一致を調べる。この
比較によつて4方向分岐型のマイクロ命令から分
岐先アドレスレジスタ5で示されるアドレスに分
岐できるか否かを検査することができる。
示される4方向分岐命令は、シーケンス制御部11
ビツト〜4ビツトで決定される8ビツトに状態情
報の2ビツトが下位に付加されたアドレスが通常
モード時における次に実行される命令アドレスと
なる。この場合には分岐アドレス生成回路6の上
位8ビツトが実行対象マイクロ命令によつて一意
に決定され、下2ビツトは“00”〜“11”の4状
態の可能性がある。4方向分岐型のマイクロ命令
から分岐できるマイクロ命令のアドレスは、4方
向分岐型のマイクロ命令でアドレス生成した分岐
アドレス生成回路6出力の上位8ビツトと同一の
上位8ビツトとして持つ。このことから比較器9
では第3図のdに示すように、アドレス比較にお
いて分岐アドレス生成回路6出力の下2ビツトと
分岐先アドレスレジスタ5の下2ビツトをマスク
し、各出力の上位8ビツトの一致を調べる。この
比較によつて4方向分岐型のマイクロ命令から分
岐先アドレスレジスタ5で示されるアドレスに分
岐できるか否かを検査することができる。
比較器9で前記4種の比較をデバツグ時の検査
対象マイクロ命令に応じて行つた時に、アドレス
の一致を検出すると、一致信号を比較器9から出
力する。一致信号は命令走査制御部11で用いら
れ、この信号の利用方法はデバツグの形態によ
る。例えば一致が認められたタイミングでマイク
ロプログラム記憶1の走査を停止し、そのときの
実行アドレスレジスタ4の内容を表示して、新た
なデバツグ指示を待つ形態が考えられる。さらに
続けてマイクロプログラム記憶1内のマイクロ命
令の走査を行う場合には、停止時のアドレスレジ
スタ2は一致が認められたマイクロ命令の次のア
ドレスを指示していることを利用して再び一致が
認められるマイクロ命令を求めて走査できる。
対象マイクロ命令に応じて行つた時に、アドレス
の一致を検出すると、一致信号を比較器9から出
力する。一致信号は命令走査制御部11で用いら
れ、この信号の利用方法はデバツグの形態によ
る。例えば一致が認められたタイミングでマイク
ロプログラム記憶1の走査を停止し、そのときの
実行アドレスレジスタ4の内容を表示して、新た
なデバツグ指示を待つ形態が考えられる。さらに
続けてマイクロプログラム記憶1内のマイクロ命
令の走査を行う場合には、停止時のアドレスレジ
スタ2は一致が認められたマイクロ命令の次のア
ドレスを指示していることを利用して再び一致が
認められるマイクロ命令を求めて走査できる。
また、別の形態として命令走査制御部11では
マイクロプログラム記憶1の先頭番地から終了番
地までの走査を行い、一致信号があつた時の実行
アドレスレジスタ4の内容を全て記憶しておき、
分岐元のアドレスをまとめて利用する形態にする
こともできる。
マイクロプログラム記憶1の先頭番地から終了番
地までの走査を行い、一致信号があつた時の実行
アドレスレジスタ4の内容を全て記憶しておき、
分岐元のアドレスをまとめて利用する形態にする
こともできる。
前記本発明の一実施例においては、4種のマイ
クロプログラム分岐方式について説明した。これ
ら以外の分岐方式においても実施例で示した比較
器9を分岐方式に応じて構成することによりアド
レスの一致を検出することができる。比較器9で
検査対象をマスクすることにより容易に分岐先を
調べることができた前記実施例とは異なり、分岐
アドレス生成回路6の出力だけでは多方向の分岐
可能性を調べることができない多方向分岐があ
る。このときには、前記実施例のように分岐アド
レス生成回路6と比較器9を1箇づつ有するだけ
でなく、複数箇の対で備える並列化の手法、ある
いは分岐アドレス生成回路6で状態情報によつて
生成される可能性があるアドレスの全てを時分割
で生成し、比較器9で調べる手法で解決できる。
クロプログラム分岐方式について説明した。これ
ら以外の分岐方式においても実施例で示した比較
器9を分岐方式に応じて構成することによりアド
レスの一致を検出することができる。比較器9で
検査対象をマスクすることにより容易に分岐先を
調べることができた前記実施例とは異なり、分岐
アドレス生成回路6の出力だけでは多方向の分岐
可能性を調べることができない多方向分岐があ
る。このときには、前記実施例のように分岐アド
レス生成回路6と比較器9を1箇づつ有するだけ
でなく、複数箇の対で備える並列化の手法、ある
いは分岐アドレス生成回路6で状態情報によつて
生成される可能性があるアドレスの全てを時分割
で生成し、比較器9で調べる手法で解決できる。
以上説明した如く、本発明によればマイクロプ
ログラム記憶1に格納されているマイクロプログ
ラム情報に基づいて任意に設定したマイクロ命令
のアドレスに分岐することができる分岐元のマイ
クロ命令アドレスを求めることができる。これに
よりマイクロプログラムをデバツグする際の効率
を向上させることができる。
ログラム記憶1に格納されているマイクロプログ
ラム情報に基づいて任意に設定したマイクロ命令
のアドレスに分岐することができる分岐元のマイ
クロ命令アドレスを求めることができる。これに
よりマイクロプログラムをデバツグする際の効率
を向上させることができる。
第1図は本発明の実施例で用いるマイクロ命令
形式、特にシーケンス制御関係の形式を説明する
ための概念図、第2図は本発明のマイクロプログ
ラムデバツグ装置の一実施例を示すブロツク図、
第3図は比較器9でのアドレス比較方式を説明す
るための概念図である。 図において 1はマイクロプログラム記憶、2
はアドレスレジスタ、3はマイクロプログラムレ
ジスタ、4は実行アドレスレジスタ、5は分岐先
アドレスレジスタ、6は分岐アドレス生成回路、
7はモードフラグ、9は比較器、10は加算器、
11は命令走査制御部をそれぞれ示す。
形式、特にシーケンス制御関係の形式を説明する
ための概念図、第2図は本発明のマイクロプログ
ラムデバツグ装置の一実施例を示すブロツク図、
第3図は比較器9でのアドレス比較方式を説明す
るための概念図である。 図において 1はマイクロプログラム記憶、2
はアドレスレジスタ、3はマイクロプログラムレ
ジスタ、4は実行アドレスレジスタ、5は分岐先
アドレスレジスタ、6は分岐アドレス生成回路、
7はモードフラグ、9は比較器、10は加算器、
11は命令走査制御部をそれぞれ示す。
Claims (1)
- 1 マイクロプログラムの分岐方法をマイクロプ
ログラム指定するマイクロプログラム方式の計算
機において、検査対象マイクロ命令列を格納する
マイクロプログラム記憶と、検査対象マイクロ命
令アドレスを順次計数発生するアドレスレジスタ
と、検査対象マイクロ命令の分岐先となつている
か否かを調べるためのマイクロ命令のアドレスを
格納する分岐先アドレスレジスタと、前記マイク
ロプログラム記憶から読み出されたマイクロ命令
が前記分岐先アドレスレジスタで示すアドレスに
分岐するか否かを調べるためにマイクロプログラ
ムで指定された分岐方法に従つてアドレスの比較
を行う一致検査手段と、計算機が通常の処理状態
かデバツグ状態かを示すモードフラグとを備え、
前記モードフラグがデバツグ状態になつていると
きで、本計算機がマイクロプログラム制御の通常
処理状態であるときには前記分岐先アドレスレジ
スタが示すアドレスに分岐する可能性があるマイ
クロ命令アドレスを検出すると共に、本計算機が
前記アドレスレジスタが指定する前記マイクロプ
ログラム記憶を走査する状態であるときにも前記
分岐先アドレスレジスタが示すアドレスに分岐す
る可能性があるマイクロ命令アドレスを検出する
ことを特徴とするマイクロプログラムデバツグ装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4431180A JPS56143055A (en) | 1980-04-04 | 1980-04-04 | Microprogram debug device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4431180A JPS56143055A (en) | 1980-04-04 | 1980-04-04 | Microprogram debug device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS56143055A JPS56143055A (en) | 1981-11-07 |
| JPS64732B2 true JPS64732B2 (ja) | 1989-01-09 |
Family
ID=12687937
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4431180A Granted JPS56143055A (en) | 1980-04-04 | 1980-04-04 | Microprogram debug device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS56143055A (ja) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5247981A (en) * | 1975-10-08 | 1977-04-16 | Japan Atom Energy Res Inst | Method of immobilizing yeast or microbial cells |
-
1980
- 1980-04-04 JP JP4431180A patent/JPS56143055A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS56143055A (en) | 1981-11-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5038348A (en) | Apparatus for debugging a data flow program | |
| JPS5851292B2 (ja) | 診断/デバツク計算システム | |
| EP0199009A2 (en) | Path coverage measuring system in a programme | |
| EP0111952B1 (en) | Verification of a processor architecture having a partial instruction set | |
| JPH0574099B2 (ja) | ||
| JP2886191B2 (ja) | 命令解析装置及び方法 | |
| US5280626A (en) | Multi-process emulator suitable for testing software under multi-process environments | |
| US6347368B1 (en) | Microcomputing device for exchanging data while executing an application | |
| US3728690A (en) | Branch facility diagnostics | |
| JPS64732B2 (ja) | ||
| JP2616542B2 (ja) | 疑似障害発生システム | |
| EP0297890A2 (en) | Apparatus and method for data induced condition signaling | |
| JP2795332B2 (ja) | ループ処理誤り検出装置 | |
| JPH083801B2 (ja) | 度数を含まない関数型言語コ−ドを用いる2進有向グラフとしてストアされたプログラムを評価する縮小プロセッサのためのシステムアロケ−タ | |
| JPS59183443A (ja) | デバツグ装置 | |
| KR940002321B1 (ko) | 마이크로 코드된 데이타 처리기의 테스트 방법 | |
| CN120892323A (zh) | 程序检测方法、装置和计算设备 | |
| JPS5936853A (ja) | 演算処理装置 | |
| JPH0588946A (ja) | ヒストリメモリ書き込み方式 | |
| JPH05298184A (ja) | キャッシュメモリ試験方法 | |
| JPS626341A (ja) | 情報処理装置 | |
| JPS6212541B2 (ja) | ||
| JPS61240342A (ja) | マイクロプログラム制御装置 | |
| JPH03119436A (ja) | マイクロ命令アドレストレーサ | |
| JPS62224833A (ja) | デ−タ形式の適否検査方式 |