JPH10222396A - マイクロプログラム制御装置のトレース方式 - Google Patents
マイクロプログラム制御装置のトレース方式Info
- Publication number
- JPH10222396A JPH10222396A JP9021261A JP2126197A JPH10222396A JP H10222396 A JPH10222396 A JP H10222396A JP 9021261 A JP9021261 A JP 9021261A JP 2126197 A JP2126197 A JP 2126197A JP H10222396 A JPH10222396 A JP H10222396A
- Authority
- JP
- Japan
- Prior art keywords
- microprogram
- tracing
- trace
- address
- memory
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】本発明はマイクロプログラムメモリを内蔵した
マイクロプログラム制御装置のトレース方式に関しマイ
クロプログラムトレースを容易に実行できるトレース方
式を実現することを目的とする。 【解決手段】マイクロプログラムが実行されたとき、該
マイクロプログラムのマイクロプログラムメモリ上のア
ドレスを書き込むマイクロプログラムトレース手段を設
け、マイクロプログラムを実行する度に、該マイクロプ
ログラムのマイクロプログラムメモリ上のアドレスをマ
イクロプログラムトレース手段に書き込み、該マイクロ
プログラムのトレース時は、マイクロプログラムトレー
ス手段のデータによりトレースを行なうように構成す
る。
マイクロプログラム制御装置のトレース方式に関しマイ
クロプログラムトレースを容易に実行できるトレース方
式を実現することを目的とする。 【解決手段】マイクロプログラムが実行されたとき、該
マイクロプログラムのマイクロプログラムメモリ上のア
ドレスを書き込むマイクロプログラムトレース手段を設
け、マイクロプログラムを実行する度に、該マイクロプ
ログラムのマイクロプログラムメモリ上のアドレスをマ
イクロプログラムトレース手段に書き込み、該マイクロ
プログラムのトレース時は、マイクロプログラムトレー
ス手段のデータによりトレースを行なうように構成す
る。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロプログラ
ムメモリを内蔵したマイクロプログラム制御装置のトレ
ース方式に関する。
ムメモリを内蔵したマイクロプログラム制御装置のトレ
ース方式に関する。
【0002】近年、高性能で安価なマイクロプロセッサ
が容易に入手できるようになってきており、かかる、マ
イクロプロセッサを各種通信装置、情報処理装置に使用
することにより、高機能を備えた通信装置、情報処理装
置を経済的に実現しようとしている。
が容易に入手できるようになってきており、かかる、マ
イクロプロセッサを各種通信装置、情報処理装置に使用
することにより、高機能を備えた通信装置、情報処理装
置を経済的に実現しようとしている。
【0003】かかる通信装置、情報処理装置では、装置
の全体の制御を行なうマイクロプロセッサをソフトプロ
グラムで制御を行なうが、実際の装置内での動作は、ソ
フトプログラムの動作をさらに、細かく展開したマイク
ロプログラムが指示された動作を実行する。
の全体の制御を行なうマイクロプロセッサをソフトプロ
グラムで制御を行なうが、実際の装置内での動作は、ソ
フトプログラムの動作をさらに、細かく展開したマイク
ロプログラムが指示された動作を実行する。
【0004】図12はプログラム制御とマイクロプログ
ラム制御を説明する図である。プログラムは主記憶装置
400に書き込まれており、その中の指定された範囲の
プログラムがキャッシュメモリ320に展開される。
ラム制御を説明する図である。プログラムは主記憶装置
400に書き込まれており、その中の指定された範囲の
プログラムがキャッシュメモリ320に展開される。
【0005】ロケーションレジスタ(Location Registe
r、図中LRと示す) 331の発生するアドレスで指定
される命令データCMDを取り出す。このとき、メモリ
アドレスレジスタ(Memory Address Register、図中MA
Rと示す) 332の発生するアドレスはオペランドデー
タのメモリアドレスを指示するものであり、OはOR回
路である。
r、図中LRと示す) 331の発生するアドレスで指定
される命令データCMDを取り出す。このとき、メモリ
アドレスレジスタ(Memory Address Register、図中MA
Rと示す) 332の発生するアドレスはオペランドデー
タのメモリアドレスを指示するものであり、OはOR回
路である。
【0006】取り出された命令データCMDはマイクロ
プログラムシーケンサ220に入力され、マイクロプロ
グラムシーケンサ220のマイクロプログラムロケーシ
ョンレジスタ(Micro Program Location Register、図中
μPLRと示す) 220aは命令データCMDに対応す
るマイクロプログラムが書き込まれているマイクロプロ
グラムメモリ210のアドレスを出力し、命令実行部2
30aはマイクロプログラムメモリ210の指定のアド
レスのマイクロプログラムを取り出し、指定された動作
を行なう。
プログラムシーケンサ220に入力され、マイクロプロ
グラムシーケンサ220のマイクロプログラムロケーシ
ョンレジスタ(Micro Program Location Register、図中
μPLRと示す) 220aは命令データCMDに対応す
るマイクロプログラムが書き込まれているマイクロプロ
グラムメモリ210のアドレスを出力し、命令実行部2
30aはマイクロプログラムメモリ210の指定のアド
レスのマイクロプログラムを取り出し、指定された動作
を行なう。
【0007】例えば、ソフトプログラムをマイクロプロ
グラムとして展開して実行する例を示す。 ソフトプログラムの1命令 「主記憶装置X番地のデータとレジスタAを加算した結
果をレジスタBに格納せよ。」 マイクロプログラム 主記憶装置X番地のデータをロードして、ワークレ
ジスタCに格納せよ。
グラムとして展開して実行する例を示す。 ソフトプログラムの1命令 「主記憶装置X番地のデータとレジスタAを加算した結
果をレジスタBに格納せよ。」 マイクロプログラム 主記憶装置X番地のデータをロードして、ワークレ
ジスタCに格納せよ。
【0008】 ワークレジスタCのデータとレジスタ
Aの値を演算器に入力し加算せよ。 加算した結果をレジスタBに格納せよ。 このように、マイクロプログラムはハードウェアの制御
を直接的に行なうものであるので、マイクロプログラム
のトレースを行なうことにより、ハードウェアの動作を
詳細に分析することができ、ハードウェアのデバックに
有効である。
Aの値を演算器に入力し加算せよ。 加算した結果をレジスタBに格納せよ。 このように、マイクロプログラムはハードウェアの制御
を直接的に行なうものであるので、マイクロプログラム
のトレースを行なうことにより、ハードウェアの動作を
詳細に分析することができ、ハードウェアのデバックに
有効である。
【0009】かかるマイクロプログラムトレースを容易
に行なうことのできるトレース方式が要求されている。
に行なうことのできるトレース方式が要求されている。
【0010】
【従来の技術】図13は従来例(1)を説明する図を示
す。図中の10はマイクロプログラムシーケンサ22
0、制御回路231、演算回路232から構成されるマ
イクロプログラム制御装置であり、211はマイクロプ
ログラムが格納されているマイクロプログラム記憶装置
である。
す。図中の10はマイクロプログラムシーケンサ22
0、制御回路231、演算回路232から構成されるマ
イクロプログラム制御装置であり、211はマイクロプ
ログラムが格納されているマイクロプログラム記憶装置
である。
【0011】かかる構成において、マイクロプログラム
シーケンサ220は、指定の処理を実行するためにマイ
クロプログラム記憶装置211のマイクロプログラムを
取り出し、制御回路231へ渡し、演算回路232で指
定の動作を実行する。
シーケンサ220は、指定の処理を実行するためにマイ
クロプログラム記憶装置211のマイクロプログラムを
取り出し、制御回路231へ渡し、演算回路232で指
定の動作を実行する。
【0012】ここで、マイクロプログラムのトレースを
行なうには、外付けのマイクロプログラムトレース装置
112を接続し、マイクロプログラムが実行されるごと
に、マイクロトレースアドレス発生回路123の発生す
るアドレスに、実行されたマイクロプログラムのアドレ
スを書き込んでゆく。
行なうには、外付けのマイクロプログラムトレース装置
112を接続し、マイクロプログラムが実行されるごと
に、マイクロトレースアドレス発生回路123の発生す
るアドレスに、実行されたマイクロプログラムのアドレ
スを書き込んでゆく。
【0013】図14は従来例(2)を説明する図を示
す。図中のマイクロプログラム制御装置100の構成
は、従来例(1)で説明したマイクロプログラム記憶装
置211をマイクロプログラムメモリ210として集積
回路の中に取り込んだものである。動作はマイクロプロ
グラムシーケンサ220がマイクロプログラムメモリ2
10に格納されたマイクロプログラムを取り出して制御
回路231に渡すことにより指定の動作を実行する。
す。図中のマイクロプログラム制御装置100の構成
は、従来例(1)で説明したマイクロプログラム記憶装
置211をマイクロプログラムメモリ210として集積
回路の中に取り込んだものである。動作はマイクロプロ
グラムシーケンサ220がマイクロプログラムメモリ2
10に格納されたマイクロプログラムを取り出して制御
回路231に渡すことにより指定の動作を実行する。
【0014】
【発明が解決しようとする課題】上述の従来例(1)で
は、マイクロプログラム制御装置10がマイクロプログ
ラムを実行する度に、外付けのマイクロプログラムトレ
ース装置112に、実行したマイクロプログラムのアド
レスを書き込んで行くので、処理速度が遅い場合は問題
がないが、高速動作が要求される場合には、このような
外部装置とのデータのやり取りが処理速度を早くするた
めの制約条件となる。
は、マイクロプログラム制御装置10がマイクロプログ
ラムを実行する度に、外付けのマイクロプログラムトレ
ース装置112に、実行したマイクロプログラムのアド
レスを書き込んで行くので、処理速度が遅い場合は問題
がないが、高速動作が要求される場合には、このような
外部装置とのデータのやり取りが処理速度を早くするた
めの制約条件となる。
【0015】また、従来例(2)の構成では、マイクロ
プログラム制御そのものは、高速で実行することは可能
であるが、実行したマイクロプログラムのアドレスを外
部に出力することができないので、マイクロプログラム
のトレースを行なうことができない。
プログラム制御そのものは、高速で実行することは可能
であるが、実行したマイクロプログラムのアドレスを外
部に出力することができないので、マイクロプログラム
のトレースを行なうことができない。
【0016】本発明は、マイクロプログラムメモリを内
蔵したマイクロプログラム制御装置において、マイクロ
プログラムトレースを容易に実行できるトレース方式を
実現しようとする。
蔵したマイクロプログラム制御装置において、マイクロ
プログラムトレースを容易に実行できるトレース方式を
実現しようとする。
【0017】
【課題を解決するための手段】図1は本発明の第1の原
理を説明する図である。図中の10はマイクロプログラ
ムを格納しているマイクロプログラムメモリ210と、
マイクロプログラムメモリ210の所定のアドレスのマ
イクロプログラムを取り出し、シーケンス制御を行なう
マイクロプログラムシーケンサ220と、各種制御、演
算を行なう制御部230から構成されるマイクロプログ
ラム制御装置である。
理を説明する図である。図中の10はマイクロプログラ
ムを格納しているマイクロプログラムメモリ210と、
マイクロプログラムメモリ210の所定のアドレスのマ
イクロプログラムを取り出し、シーケンス制御を行なう
マイクロプログラムシーケンサ220と、各種制御、演
算を行なう制御部230から構成されるマイクロプログ
ラム制御装置である。
【0018】また、100は本発明によりマイクロプロ
グラム制御装置10の内部に設けるマイクロプログラム
トレース手段100である。かかる構成において、マイ
クロプログラムシーケンサ220はマイクロプログラム
メモリ210の所定のアドレスのから実行すべきマイク
ロプログラムを取り出し、そのマイクロプログラムを制
御部230に出力し、指定の動作を行なう。このとき、
マイクロプログラムシーケンサ220が出力したアドレ
スをマイクロプログラムトレース手段100に順次書き
込んで行く。
グラム制御装置10の内部に設けるマイクロプログラム
トレース手段100である。かかる構成において、マイ
クロプログラムシーケンサ220はマイクロプログラム
メモリ210の所定のアドレスのから実行すべきマイク
ロプログラムを取り出し、そのマイクロプログラムを制
御部230に出力し、指定の動作を行なう。このとき、
マイクロプログラムシーケンサ220が出力したアドレ
スをマイクロプログラムトレース手段100に順次書き
込んで行く。
【0019】マイクロプログラムトレースを行なう場合
は、マイクロプログラムトレース手段100に書き込ま
れたデータを取り出すことによりマイクロトレースを容
易に行なうことが可能となる。
は、マイクロプログラムトレース手段100に書き込ま
れたデータを取り出すことによりマイクロトレースを容
易に行なうことが可能となる。
【0020】図2は本発明の第2の原理を説明するブロ
ック図である。図中の10はマイクロプログラム制御装
置であり、第2発明ではマイクロプログラムが書き込ま
れたメモリをリード/ライト可能なマイクロプログラム
メモリ210Aとリード/ライト不可能なマイクロプロ
グラムメモリ210Bから構成し、さらに、マイクロプ
ログラムメモリ210Aへのリード/ライト制御を行な
うマイクロプログラム制御部210Cを設けたものであ
る。
ック図である。図中の10はマイクロプログラム制御装
置であり、第2発明ではマイクロプログラムが書き込ま
れたメモリをリード/ライト可能なマイクロプログラム
メモリ210Aとリード/ライト不可能なマイクロプロ
グラムメモリ210Bから構成し、さらに、マイクロプ
ログラムメモリ210Aへのリード/ライト制御を行な
うマイクロプログラム制御部210Cを設けたものであ
る。
【0021】かかる構成により、ソフト命令により、マ
イクロプログラム制御部210Cへ一旦、主記憶装置の
データを書き込み、マイクロプログラム制御部210C
へ書き込まれたデータをマイクロプログラムメモリ21
0Aに書き込む。かかる処理により、マイクロプログラ
ムメモリ210A上のデータを図示省略の主記憶装置上
のデータ内容に容易に変更することができる。
イクロプログラム制御部210Cへ一旦、主記憶装置の
データを書き込み、マイクロプログラム制御部210C
へ書き込まれたデータをマイクロプログラムメモリ21
0Aに書き込む。かかる処理により、マイクロプログラ
ムメモリ210A上のデータを図示省略の主記憶装置上
のデータ内容に容易に変更することができる。
【0022】
【発明の実施の形態】図3は本発明の実施の形態(1)
を説明する図である。図中の10はマイクロプログラム
制御装置であり、原理図で説明したマイクロプログラム
トレース手段100を、実行したマイクロプログラムの
アドレスを書き込むマイクロプログラムトレースメモリ
110と、その際の書込みアドレスを指定するマイクロ
トレースアドレス発生回路120から構成し、制御部2
30を制御回路231と演算回路232で構成した例で
ある。
を説明する図である。図中の10はマイクロプログラム
制御装置であり、原理図で説明したマイクロプログラム
トレース手段100を、実行したマイクロプログラムの
アドレスを書き込むマイクロプログラムトレースメモリ
110と、その際の書込みアドレスを指定するマイクロ
トレースアドレス発生回路120から構成し、制御部2
30を制御回路231と演算回路232で構成した例で
ある。
【0023】図において、マイクロプログラムシーケン
サ220はマイクロプログラムのアドレスを出力し、マ
イクロ命令動作実行のシーケンス制御を行なう。制御回
路231はマイクロプログラムシーケンサ220の指定
したアドレスのマイクロプログラムをマイクロプログラ
ムメモリ210から受け取り、主記憶装置(図示省略)
アクセス、チャネル制御装置(図示省略)アクセス等の
各種制御を行なう。
サ220はマイクロプログラムのアドレスを出力し、マ
イクロ命令動作実行のシーケンス制御を行なう。制御回
路231はマイクロプログラムシーケンサ220の指定
したアドレスのマイクロプログラムをマイクロプログラ
ムメモリ210から受け取り、主記憶装置(図示省略)
アクセス、チャネル制御装置(図示省略)アクセス等の
各種制御を行なう。
【0024】また、演算回路232は各種レジスタ(図
示省略)に書き込まれたデータの演算を行なうものであ
る。マイクロプログラムメモリ210はROMあるいは
RAMで構成されており、マイクロプログラムトレース
メモリ110はRAMで構成されており、マイクロプロ
グラムが実行されるごとに、そのマイクロプログラムが
書き込まれているマイクロプログラムメモリ210上の
アドレスを書き込まれる。書き込みが一巡して、アドレ
スが「0」に戻った場合は順次書き込まれたデータを更
新して行く。マイクロトレースアドレス発生回路120
は、例えば、カウンタで構成されるものであり、マシン
サイクルごとにカウントアップすることより、データを
書き込むマイクロプログラムトレースメモリ110のア
ドレスを指定する。
示省略)に書き込まれたデータの演算を行なうものであ
る。マイクロプログラムメモリ210はROMあるいは
RAMで構成されており、マイクロプログラムトレース
メモリ110はRAMで構成されており、マイクロプロ
グラムが実行されるごとに、そのマイクロプログラムが
書き込まれているマイクロプログラムメモリ210上の
アドレスを書き込まれる。書き込みが一巡して、アドレ
スが「0」に戻った場合は順次書き込まれたデータを更
新して行く。マイクロトレースアドレス発生回路120
は、例えば、カウンタで構成されるものであり、マシン
サイクルごとにカウントアップすることより、データを
書き込むマイクロプログラムトレースメモリ110のア
ドレスを指定する。
【0025】このようにして、マイクロプログラムトレ
ースメモリ110に実行したマイクロプログラムのマイ
クロプログラムメモリ210上でのアドレスを格納して
おき、マイクロプログラムのトレースを行なう場合、マ
イクロプログラムトレースメモリ110の内容を読み出
すことにより、容易にマイクロプログラムのトレースを
行なうことができる。
ースメモリ110に実行したマイクロプログラムのマイ
クロプログラムメモリ210上でのアドレスを格納して
おき、マイクロプログラムのトレースを行なう場合、マ
イクロプログラムトレースメモリ110の内容を読み出
すことにより、容易にマイクロプログラムのトレースを
行なうことができる。
【0026】図4は本発明の実施の形態(2)を説明す
る図である。図の構成は図2で制御した実施の形態
(1)の構成にトレース結果を出力する指示を行なうト
レースデータ出力制御部111と、トレースデータを書
き込む主記憶装置400を追加したものである。
る図である。図の構成は図2で制御した実施の形態
(1)の構成にトレース結果を出力する指示を行なうト
レースデータ出力制御部111と、トレースデータを書
き込む主記憶装置400を追加したものである。
【0027】図5は本発明の実施の形態(2)のフロー
チャートを示す。以下フローチャートのステップ(以下
Sと略称する)ごとに動作を説明する。また、図中のC
MDはマイクロプログラムトレースデータを主記憶装置
400に出力するコマンドであり、その中にデータ書き
込む主記憶装置400のアドレスが指定される。
チャートを示す。以下フローチャートのステップ(以下
Sと略称する)ごとに動作を説明する。また、図中のC
MDはマイクロプログラムトレースデータを主記憶装置
400に出力するコマンドであり、その中にデータ書き
込む主記憶装置400のアドレスが指定される。
【0028】S1;マイクロプログラムのトレースをス
トップする。(ストップの指示は図5にて説明する。) S2;トレースデータ書き込む主記憶装置400のアド
レスは出力コマンドCMD中に指定されているので、こ
のアドレスをMAR(Main Memory Access Address Regi
ster、図示省略)) に書き込む。
トップする。(ストップの指示は図5にて説明する。) S2;トレースデータ書き込む主記憶装置400のアド
レスは出力コマンドCMD中に指定されているので、こ
のアドレスをMAR(Main Memory Access Address Regi
ster、図示省略)) に書き込む。
【0029】S3;マイクロプログラムトレースメモリ
110のデータをMBR(Main Memory Buffer Registe
r、図示省略) に書き込む。 S4;MARで指定された主記憶装置400のアドレス
にMBRのデータを書き込む。
110のデータをMBR(Main Memory Buffer Registe
r、図示省略) に書き込む。 S4;MARで指定された主記憶装置400のアドレス
にMBRのデータを書き込む。
【0030】S5;すべてのマイクロトレースメモリ1
10上のデータを出力を完了したか否かを判定する。 S6;S5で出力完了の場合は次のマイクロトレースを
再開する。
10上のデータを出力を完了したか否かを判定する。 S6;S5で出力完了の場合は次のマイクロトレースを
再開する。
【0031】S7;S5で出力が完了していない場合
は、MARの内容を「+1」、マイクロプログラムトレ
ースメモリ110からデータを取り出すアドレスを「+
1」してS3に戻る。
は、MARの内容を「+1」、マイクロプログラムトレ
ースメモリ110からデータを取り出すアドレスを「+
1」してS3に戻る。
【0032】図6は本発明の実施の形態(3)を説明す
る図である。図はマイクロトレースのスタート/ストッ
プをソフト命令により制御可能とする構成を示す。マイ
クロトレースアドレス発生回路120はトレースアドレ
スを発生するトレースアドレスカウンタ121とマイク
ロプログラムトレースメモリ110への書き込みを制御
するライトイネーブル信号WEを発生するマイクロトレ
ース制御回路122から構成されている。
る図である。図はマイクロトレースのスタート/ストッ
プをソフト命令により制御可能とする構成を示す。マイ
クロトレースアドレス発生回路120はトレースアドレ
スを発生するトレースアドレスカウンタ121とマイク
ロプログラムトレースメモリ110への書き込みを制御
するライトイネーブル信号WEを発生するマイクロトレ
ース制御回路122から構成されている。
【0033】ここで、ソフト命令によりリード/ライト
可能なマイクロトレース制御レジスタ500の1ビット
を制御ビットとして、トレースアドレスカウンタ121
のEN端子および、マイクロトレース制御回路122の
出力するWE信号を一方の入力とするAND回路Aの他
方の端子に入力し、AND回路AでWE信号を制御する
ことにより、ソフト命令でスタート/ストップが可能と
なる。
可能なマイクロトレース制御レジスタ500の1ビット
を制御ビットとして、トレースアドレスカウンタ121
のEN端子および、マイクロトレース制御回路122の
出力するWE信号を一方の入力とするAND回路Aの他
方の端子に入力し、AND回路AでWE信号を制御する
ことにより、ソフト命令でスタート/ストップが可能と
なる。
【0034】また、マイクロトレース制御レジスタ50
0をマイクロ命令で制御できるフリップフロップ回路で
構成し、マイクロプログラム制御とすることも可能であ
る。図7は本発明の実施の形態(4)を説明する図であ
る。図はソフト命令で指定するアドレスでマイクロトレ
ースをストップするためのトレースストップアドレスレ
ジスタ510と、実行されたマイクロプログラムのアド
レスとトレースストップアドレスレジスタ510のデー
タとを比較する比較器600を設けた構成を示す。
0をマイクロ命令で制御できるフリップフロップ回路で
構成し、マイクロプログラム制御とすることも可能であ
る。図7は本発明の実施の形態(4)を説明する図であ
る。図はソフト命令で指定するアドレスでマイクロトレ
ースをストップするためのトレースストップアドレスレ
ジスタ510と、実行されたマイクロプログラムのアド
レスとトレースストップアドレスレジスタ510のデー
タとを比較する比較器600を設けた構成を示す。
【0035】図において、トレースストップアドレスレ
ジスタ510には、トレースをストップするアドレスを
書き込むとともに、その中の1つのビットをトレース開
始指示ビットTSB、次のビットをマイクロトレースメ
モリ110に格納するデータを、前方処理とするか、後
方処理とするかを指定する書込み指示部FBとして使用
する。また、FDはトレース開始指示ビットTSBの立
ち上がり部分を検出するための前端微分回路である。
ジスタ510には、トレースをストップするアドレスを
書き込むとともに、その中の1つのビットをトレース開
始指示ビットTSB、次のビットをマイクロトレースメ
モリ110に格納するデータを、前方処理とするか、後
方処理とするかを指定する書込み指示部FBとして使用
する。また、FDはトレース開始指示ビットTSBの立
ち上がり部分を検出するための前端微分回路である。
【0036】例えば、トレースストップアドレスレジス
タ510の開始指示ビットが「1」になると、フリップ
フロップ回路F1がリセットされ、AND回路A4に一
方の端子には「1」が入力され、他方の端子には、前処
理指定する「1」が入力されると、その出力が「0」と
なり、AND回路A4を通して、トレースアドレスカウ
ンタ121を動作状態となり、トレースアドレスカウン
タ121の出力するアドレスにマイクロプログラムのア
ドレスを書き込んでゆく。そして、比較器600の出力
「1」で、フリップフロップ回路F1がセットされ、A
ND回路A4の出力が「0」となるので、そのアドレス
でマイクロトレースが停止する。
タ510の開始指示ビットが「1」になると、フリップ
フロップ回路F1がリセットされ、AND回路A4に一
方の端子には「1」が入力され、他方の端子には、前処
理指定する「1」が入力されると、その出力が「0」と
なり、AND回路A4を通して、トレースアドレスカウ
ンタ121を動作状態となり、トレースアドレスカウン
タ121の出力するアドレスにマイクロプログラムのア
ドレスを書き込んでゆく。そして、比較器600の出力
「1」で、フリップフロップ回路F1がセットされ、A
ND回路A4の出力が「0」となるので、そのアドレス
でマイクロトレースが停止する。
【0037】逆に、前処理を指定する「1」が入力され
た場合は、比較器600の出力「1」で、フリップフロ
ップ回路F2がセットされトレースが開始される。この
ようにして、トレースアドレスカウンタ121がカウン
トアップして行き、指定のカウント値で出力されるキャ
リィアウト信号COでフリップフロップ回路F2がリセ
ットされ、トレースアドレスカウンタ121に入力され
るイネーブル信号ENが「0」となるので、そこで、マ
イクロトレースがストップする。
た場合は、比較器600の出力「1」で、フリップフロ
ップ回路F2がセットされトレースが開始される。この
ようにして、トレースアドレスカウンタ121がカウン
トアップして行き、指定のカウント値で出力されるキャ
リィアウト信号COでフリップフロップ回路F2がリセ
ットされ、トレースアドレスカウンタ121に入力され
るイネーブル信号ENが「0」となるので、そこで、マ
イクロトレースがストップする。
【0038】図8は本発明の実施の形態(4)の動作を
説明する図であり、(A)は前方トレースの動作を示
す。ここでは、マイクロトレースアドレスとトレースス
トップアドレスレジスタ510の内容を比較器600で
比較し、一致するとその出力が「1」となり、その出力
でライトイネーブル信号ENを「0」として、書き込み
動作を停止する。
説明する図であり、(A)は前方トレースの動作を示
す。ここでは、マイクロトレースアドレスとトレースス
トップアドレスレジスタ510の内容を比較器600で
比較し、一致するとその出力が「1」となり、その出力
でライトイネーブル信号ENを「0」として、書き込み
動作を停止する。
【0039】(B)は後方トレースの動作を示し、マイ
クロトレースアドレスとトレースストップアドレスレジ
スタ510の内容を比較器Cで比較し、一致するとその
出力が「1」となり、その出力でライトイネーブル信号
ENを「1」として、書き込み動作を開始する。トレー
スアドレスカウンタ121が指定のカウント値で出力す
るキャリィアウト信号COでライトイネーブル信号EN
を「0」として書込み動作を停止する。
クロトレースアドレスとトレースストップアドレスレジ
スタ510の内容を比較器Cで比較し、一致するとその
出力が「1」となり、その出力でライトイネーブル信号
ENを「1」として、書き込み動作を開始する。トレー
スアドレスカウンタ121が指定のカウント値で出力す
るキャリィアウト信号COでライトイネーブル信号EN
を「0」として書込み動作を停止する。
【0040】図9は本発明の実施の形態(5)を説明す
る図である。図の構成はマイクロトレースメモリのリー
ド/ライトを行なうアドレスを指定するマイクロトレー
スアドレスレジスタ520と、マイクロトレースメモリ
110のデータを読み出すためのマイクロトレースデー
タレジスタ530を設けたものである。
る図である。図の構成はマイクロトレースメモリのリー
ド/ライトを行なうアドレスを指定するマイクロトレー
スアドレスレジスタ520と、マイクロトレースメモリ
110のデータを読み出すためのマイクロトレースデー
タレジスタ530を設けたものである。
【0041】この構成のマイクロトレースアドレスレジ
スタ520と、マイクロトレースデータレジスタ530
はソフト命令でリード/ライト可能なレジスタであり、
マイクロトレースメモリ110の読み出しを行なう場合
は、指定のビットが「1」となる。
スタ520と、マイクロトレースデータレジスタ530
はソフト命令でリード/ライト可能なレジスタであり、
マイクロトレースメモリ110の読み出しを行なう場合
は、指定のビットが「1」となる。
【0042】マイクロトレースを実行しているときは、
マイクロトレースメモリ110の指定のビットが「0」
であり、AND回路A1、OR回路O1を通して出力さ
れるアドレスに入力端子DAiから入力したデータが書
き込まれる。マイクロトレースメモリ110の指定のビ
ットが「1」となり、読み取りが指示されると、マイク
ロトレースアドレスレジスタ520の指定するマイクロ
トレースメモリ110のアドレスのデータが出力端子D
Aoから出力されマイクロトレースデータレジスタ53
0に書き込まれる。このマイクロトレースデータレジス
タ530はソフト命令でリード/ライト可能であるの
で、ソフト命令で簡単に、マイクロトレースメモリ11
0の内容をチェックすることが可能となる。
マイクロトレースメモリ110の指定のビットが「0」
であり、AND回路A1、OR回路O1を通して出力さ
れるアドレスに入力端子DAiから入力したデータが書
き込まれる。マイクロトレースメモリ110の指定のビ
ットが「1」となり、読み取りが指示されると、マイク
ロトレースアドレスレジスタ520の指定するマイクロ
トレースメモリ110のアドレスのデータが出力端子D
Aoから出力されマイクロトレースデータレジスタ53
0に書き込まれる。このマイクロトレースデータレジス
タ530はソフト命令でリード/ライト可能であるの
で、ソフト命令で簡単に、マイクロトレースメモリ11
0の内容をチェックすることが可能となる。
【0043】図10は本発明の実施の形態(6)を説明
する図である。図の構成は、アクセスを行なう対象のデ
ータとして、マイクロプログラムアドレスCMA、マイ
クロトレースメモリアドレスTMA、トレースメモリデ
ータMTDの3つがあり、ソフトウェアでアクセス可能
なレジスタが2個しかないような場合は、マイクロトレ
ースアドレスレジスタ520に切替えビットを設け、切
替えビットによりセレクタ(図中SELと示す)S1を
切り替えることにより、2種のデータにアクセス可能と
したものである。
する図である。図の構成は、アクセスを行なう対象のデ
ータとして、マイクロプログラムアドレスCMA、マイ
クロトレースメモリアドレスTMA、トレースメモリデ
ータMTDの3つがあり、ソフトウェアでアクセス可能
なレジスタが2個しかないような場合は、マイクロトレ
ースアドレスレジスタ520に切替えビットを設け、切
替えビットによりセレクタ(図中SELと示す)S1を
切り替えることにより、2種のデータにアクセス可能と
したものである。
【0044】さらに、図示省略の主記憶装置アクセス等
のウエイト中ではNOPアドレスを出力している。この
ため、ウエイトが多い場合には、目的とする近傍のデー
タが取り出せなくなる可能性がある。そこで、本来トレ
ースしたい部分を多くトレースできるように、マイクロ
トレースアドレスレジスタ520にNOPの場合は、ト
レースを行なわないように指定するビットを設けること
も可能である。
のウエイト中ではNOPアドレスを出力している。この
ため、ウエイトが多い場合には、目的とする近傍のデー
タが取り出せなくなる可能性がある。そこで、本来トレ
ースしたい部分を多くトレースできるように、マイクロ
トレースアドレスレジスタ520にNOPの場合は、ト
レースを行なわないように指定するビットを設けること
も可能である。
【0045】図11は本発明の実施の形態(7)を説明
する図である。図の構成は、マイクロプログラムメモリ
210をリード/ライト可能なマイクロプログラムメモ
リ210Aとリード/ライト不可能なマイクロプログラ
ムメモリ210Bとから構成したものである。また、5
40はマイクロアドレスレジスタ、550はマイクロデ
ータレジスタ、A1〜A4はAND回路、O1〜O2は
OR回路である。
する図である。図の構成は、マイクロプログラムメモリ
210をリード/ライト可能なマイクロプログラムメモ
リ210Aとリード/ライト不可能なマイクロプログラ
ムメモリ210Bとから構成したものである。また、5
40はマイクロアドレスレジスタ、550はマイクロデ
ータレジスタ、A1〜A4はAND回路、O1〜O2は
OR回路である。
【0046】図において、マイクロデータレジスタ55
0上のデータをマイクロアドレスレジスタ540の発生
するマイクロプログラムメモリ210Aのアドレスに書
き込む。また、書き込んだあとは、マイクロプログラム
シーケンサ220の発生するアドレスにしたがってマイ
クロプログラムがマイクロプログラムメモリ210A、
マイクロプログラムメモリ210Bから取り出され指定
の動作を実行する。
0上のデータをマイクロアドレスレジスタ540の発生
するマイクロプログラムメモリ210Aのアドレスに書
き込む。また、書き込んだあとは、マイクロプログラム
シーケンサ220の発生するアドレスにしたがってマイ
クロプログラムがマイクロプログラムメモリ210A、
マイクロプログラムメモリ210Bから取り出され指定
の動作を実行する。
【0047】また、逆に、マイクロアドレスレジスタ5
40で指定されるアドレスのデータを読み取ってマイク
ロデータレジスタ550に書き込むことも可能である。
この場合のマイクロプログラムメモリ210Aへのリー
ド/ライトを行なうマイクロ命令はリード/ライト不可
能なマイクロプログラムメモリ210Bへ書き込んでお
く。
40で指定されるアドレスのデータを読み取ってマイク
ロデータレジスタ550に書き込むことも可能である。
この場合のマイクロプログラムメモリ210Aへのリー
ド/ライトを行なうマイクロ命令はリード/ライト不可
能なマイクロプログラムメモリ210Bへ書き込んでお
く。
【0048】また、マイクロプログラムメモリデータス
トア命令を設けることにより、図示省略の主記憶装置上
の値にマイクロプログラムを変更することも可能であ
る。かかる構成により、ソフト命令により、マイクロプ
ログラムを主記憶装置上の内容に変更することが可能と
なる。
トア命令を設けることにより、図示省略の主記憶装置上
の値にマイクロプログラムを変更することも可能であ
る。かかる構成により、ソフト命令により、マイクロプ
ログラムを主記憶装置上の内容に変更することが可能と
なる。
【0049】
【発明の効果】本発明によれば、マイクロプログラムメ
モリを内蔵したマイクロプログラム制御装置において、
専用のトレース装置がなくとも、オンライン上で容易に
マイクロプログラムのトレースが可能となるトレース方
式を実現することができる。
モリを内蔵したマイクロプログラム制御装置において、
専用のトレース装置がなくとも、オンライン上で容易に
マイクロプログラムのトレースが可能となるトレース方
式を実現することができる。
【0050】また、マイクロプログラムメモリをリード
/ライト可能なメモリで構成することにより、マイクロ
プログラムの変更/追加を簡単に行なうことが可能とな
る。
/ライト可能なメモリで構成することにより、マイクロ
プログラムの変更/追加を簡単に行なうことが可能とな
る。
【図1】 本発明の第1の原理を説明する図
【図2】 本発明の第2の原理を説明する図
【図3】 本発明の実施の形態(1)を説明する図
【図4】 本発明の実施の形態(2)を説明する図
【図5】 本発明の実施の形態(2)のフローチャート
【図6】 本発明の実施の形態(3)を説明する図
【図7】 本発明の実施の形態(4)を説明する図
【図8】 本発明の実施の形態(4)の動作を説明する
図
図
【図9】 本発明の実施の形態(5)を説明する図
【図10】 本発明の実施の形態(6)を説明する図
【図11】 本発明の実施の形態(7)を説明する図
【図12】 プログラム制御とマイクロプログラムプロ
グラム制御を説明する図
グラム制御を説明する図
【図13】 従来例(1)を説明する図
【図14】 従来例(2)を説明する図
10 マイクロプログラム制御装置 100 マイクロプログラムトレース手段 110 マイクロプログラムトレースメモリ 111 トレースデータ出力制御部 112 マイクロプログラムトレース装置 120、123 マイクロトレースアドレス発生回路 121 トレースアドレスカウンタ 122 マイクロトレース制御回路 210、210A、210B マイクロプログラムメモ
リ 211 マイクロプログラム記憶装置 210C マイクロプログラム制御部 220 マイクロプログラムシーケンサ 220a マイクロプログラムロケーションレジスタ 230 制御部 230a 命令実行部 231 制御回路 232 演算回路 310 メモリアクセス部 320 キャッシュメモリ 330 アドレス発生部 331 ロケーションレジスタ 332 メモリアドレスレジスタ 400 主記憶装置 500 マイクロトレース制御レジスタ 510 トレースストップアドレスレジスタ 520 マイクロトレースアドレスレジスタ 530 マイクロトレースデータレジスタ 540 マイクロアドレスレジスタ 550 マイクロデータレジスタ 600 比較器 A、A1〜A6 AND回路 O1〜O3 OR回路 FD 前端微分回路 SEL1、SEL2 セレクタ
リ 211 マイクロプログラム記憶装置 210C マイクロプログラム制御部 220 マイクロプログラムシーケンサ 220a マイクロプログラムロケーションレジスタ 230 制御部 230a 命令実行部 231 制御回路 232 演算回路 310 メモリアクセス部 320 キャッシュメモリ 330 アドレス発生部 331 ロケーションレジスタ 332 メモリアドレスレジスタ 400 主記憶装置 500 マイクロトレース制御レジスタ 510 トレースストップアドレスレジスタ 520 マイクロトレースアドレスレジスタ 530 マイクロトレースデータレジスタ 540 マイクロアドレスレジスタ 550 マイクロデータレジスタ 600 比較器 A、A1〜A6 AND回路 O1〜O3 OR回路 FD 前端微分回路 SEL1、SEL2 セレクタ
Claims (7)
- 【請求項1】 マイクロプログラムメモリを内蔵したマ
イクロプログラム制御装置において、 マイクロプログラムが実行されたとき、該マイクロプロ
グラムのマイクロプログラムメモリ上のアドレスを書き
込むマイクロプログラムトレース手段を設け、 マイクロプログラムを実行する度に、該マイクロプログ
ラムのマイクロプログラムメモリ上のアドレスを前記マ
イクロプログラムトレース手段に書き込み、該マイクロ
プログラムのトレース時は、前記マイクロプログラムト
レース手段のデータによりトレースを行なうことを特徴
とするマイクロプログラム制御装置のトレース方式。 - 【請求項2】 請求項1記載のマイクロプログラム制御
装置のトレース方式において、 前記マイクロプログラムトレース手段のデータを、該マ
イクロプログラム制御装置の外部に設けられた主記憶装
置の所定のアドレスに出力するトレースデータ出力制御
部を設け、 該マイクロプログラムのトレース時は、前記トレースデ
ータ出力制御部からの制御により、前記マイクロプログ
ラムトレース手段の内容を、該マイクロプログラム制御
装置の外部に設けられた主記憶装置の所定のアドレスに
出力し、トレースを行なうことを特徴とするマイクロプ
ログラム制御装置のトレース方式。 - 【請求項3】 請求項1記載のマイクロプログラム制御
装置のトレース方式において、 前記マイクロプログラムトレース手段への書き込み動作
のスタート/ストップを制御する書込み制御手段を設
け、 前記書込み制御手段で前記マイクロプログラムトレース
手段への書き込み動作のスタート/ストップを制御する
ことを特徴とするマイクロプログラム制御装置のトレー
ス方式。 - 【請求項4】 請求項3記載のマイクロプログラム制御
装置のトレース方式において、 前記書込み制御手段をソフト命令でスタート/ストップ
を設定可能なマイクロトレース制御レジスタで構成した
ことを特徴とするマイクロプログラム制御装置のトレー
ス方式。 - 【請求項5】 請求項1記載のマイクロプログラム制御
装置のトレース方式において、 前記マイクロプログラムのアドレスを指定するトレース
ストップアドレスレジスタと、 前記トレースストップアドレスレジスタで指定されたア
ドレスの前方部/後方部の書込みを指示する書込み指定
部を設け、 マイクロプログラムを実行し、前記トレースストップア
ドレスレジスタで指定されたアドレスと実行中のマイク
ロプログラムのアドレスが一致した場合、書込み指示部
が前方書込みを指示した場合は、その時点で書込みを停
止し、書込み指示部が後方書込みを指示した場合は、そ
の時点から書込みを開始することを特徴とするマイクロ
プログラム制御装置のトレース方式。 - 【請求項6】 請求項1記載のマイクロプログラム制御
装置のトレース方式において、 前記マイクロプログラムトレース手段のデータを書き込
むマイクロトレースデータレジスタを設け、 前記マイクロプログラムトレース手段のデータをマイク
ロトレースデータレジスタに書き込み、ソフト命令でマ
イクロトレースデータレジスタのデータを出力し、トレ
ースを行なうことを特徴とするマイクロプログラム制御
装置のトレース方式。 - 【請求項7】 マイクロプログラムメモリを内蔵したマ
イクロプログラム制御装置において、 前記マイクロプログラムメモリをリード/ライト可能な
マイクロプログラムメモリとリード/ライト不可能なマ
イクロプログラムメモリから構成し、 ソフト命令により、主記憶装置上のデータ内容に変更す
ることを特徴とするマイクロプログラム制御装置のトレ
ース方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9021261A JPH10222396A (ja) | 1997-02-04 | 1997-02-04 | マイクロプログラム制御装置のトレース方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9021261A JPH10222396A (ja) | 1997-02-04 | 1997-02-04 | マイクロプログラム制御装置のトレース方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10222396A true JPH10222396A (ja) | 1998-08-21 |
Family
ID=12050167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9021261A Withdrawn JPH10222396A (ja) | 1997-02-04 | 1997-02-04 | マイクロプログラム制御装置のトレース方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10222396A (ja) |
-
1997
- 1997-02-04 JP JP9021261A patent/JPH10222396A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4897787A (en) | Data processing system | |
US4780819A (en) | Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory | |
US4667285A (en) | Microcomputer unit | |
US5930470A (en) | Debugging system and debugging method | |
EP1177499B1 (en) | Processor and method of executing instructions from several instruction sources | |
JPH10222396A (ja) | マイクロプログラム制御装置のトレース方式 | |
US5819081A (en) | Method of executing a branch instruction of jumping to a subroutine in a pipeline control system | |
US5893928A (en) | Data movement apparatus and method | |
JP2583506B2 (ja) | データ処理装置 | |
JPH0877143A (ja) | ベクトルデータ処理装置 | |
JP2002541582A (ja) | エミュレータシステム内のユーザメモリを更新する方法およびシステム | |
KR940007675A (ko) | 데이타프로세서 및 이것을 사용하는 디버그장치 | |
JP2883488B2 (ja) | 命令処理装置 | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ | |
JP2883489B2 (ja) | 命令処理装置 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JPH0259829A (ja) | マイクロコンピュータ | |
JP2635169B2 (ja) | マイクロプログラム制御装置 | |
JPS6218934B2 (ja) | ||
JPH0667896A (ja) | シングルチップマイクロコンピュータ | |
JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
JPH0364903B2 (ja) | ||
JPS61148536A (ja) | 情報処理システム | |
JPS59106048A (ja) | マイクロプロセツサシステム | |
JPS60193046A (ja) | 命令例外検出方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040406 |