JPH0283749A - マイクロプロセッサの内部割込み制御方式 - Google Patents

マイクロプロセッサの内部割込み制御方式

Info

Publication number
JPH0283749A
JPH0283749A JP63234984A JP23498488A JPH0283749A JP H0283749 A JPH0283749 A JP H0283749A JP 63234984 A JP63234984 A JP 63234984A JP 23498488 A JP23498488 A JP 23498488A JP H0283749 A JPH0283749 A JP H0283749A
Authority
JP
Japan
Prior art keywords
instruction
trace
interrupt
microprocessor
request information
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
Application number
JP63234984A
Other languages
English (en)
Inventor
Naoya Ikeda
尚哉 池田
Toshihiko Ogura
敏彦 小倉
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63234984A priority Critical patent/JPH0283749A/ja
Publication of JPH0283749A publication Critical patent/JPH0283749A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサの割込み制御方式に係り、
特に任意の命令種に対して命令実行時にマイクロプロセ
ッサの内部割込みを発生させ、命令実行状況を外部から
検知するに好適なマイクロプロセッサの内部割込み制御
方式に関する。
〔従来の技術〕
マイクロプロセッサには一般的に入出力機器などの外部
要因から生ずる割込処理の他に、内部的な割込みの発生
及びその処理を行なう機能を有している。内部的な割込
みとは特定の命令を実行する場合や、マイクロプロセッ
サの内部状態として命令実行毎に割込みを発生ずるトレ
ース割込み処理などである。これら内部割込みのうち、
前記トレース割込み処理は、命令の実行を監視するモニ
タ機能を割込み処理先に用意しておき命令実行後のプロ
セッサ状態を表示することにより、プロクラムのデバッ
グ作業に有効となる。
特に、現在良く使われているマイクロプロセッサの1つ
であるMOTOROLA社のM C68020において
は、プロセッサの内部状態を表示・制御するステータス
レジスタSR中に、全命令に対して実行直後毎にトレー
ス割込みを発生させるか否かを指定するという一般のマ
イクロプロセッサのトレース割込制御を行なうT1ビッ
トの他に、分岐命令やサブルーチンコール命令などの実
行によりプログラム実行フローが変わった時点でトl/
ス割込みを発生させるか否かを指定するTOビットを有
している。
したがってM C68020において、TOビットを用
いてトレース割込みの発生を制御し、トレース割込み先
の処理で命令の実行を監視するモニタ機能を動作させれ
ば、プログラム実行のフローが概ねトレース可能となる
ため、デバッグ及び検査作業の効率が向上する。
以上に述べたM C68020のトレース割込み処理に
ついては、CQ出版社発行のM C68020ユーサズ
マニユアルのP、73−P、82で記されている。
〔発明が解決しようとする課題〕
上記従来技術においても、前述の如く、プログラムを構
造的にトレースし、デバッグや検査を行なうことは可能
であったが、他方で、分岐命令を用いたループ処理やプ
ログラムモジュールであるサブルーチン内の分岐におい
てもトレース割込みを発生するため、サブルーチン構造
で階層的に作成したプログラムをサブルーチン単位でト
レースするには煩雑であり、デバッグ効率の点では十分
でなかった。
本発明の目的は、サブルーチンの呼び出し命令の実行時
とサブルーチンからの復帰命令の実行時に対してのみト
レース割込みを発生しつるマイクロプロセッサの内部割
込み制御手段を提供し、サブルーチンによって構造化さ
れたプログラムのトレース及び検査を支援することにあ
る。
〔課題を解決するための手段〕
上記目的は、従来の一般的なマイクロプロセッサが有す
る命令判別手段と各命令実行後に内部割込みを発生ずる
トレース割込み発生手段に対し、前記命令判別手段によ
って分類される各命令種毎にトレース割込要求情報を記
憶するトレース割込み要求情報テーブルと、前記命令判
別手段によってマイクロプロセッサの命令を分類する際
に前記トレース割込み要求情報テーブル中の該当するト
レース割込み要求情報の内容により前記トレース割込み
の発生手段に対しトレース割込みを要求する手段と、前
記トレース割込要求情報テーブルに前記各命令種毎のト
レース割込要求情報を書き込む手段とを新たに設けるこ
とにより、達成される。
〔作用〕
まず、トレースを必要とするプログラムを実行する前に
、トレース割込みを必要とするマイクロプロセッサの命
令種に対して前記トレース割込み要求情報の書き込み手
段により、前記トレース割込み要求情報テーブル中の該
当する位置にトレース割込み要求情報を設定する。
以上のようにトレース割込み要求情報テーブルが設定さ
れた状態で前記命令判別手段がマイクロプロセッサの命
令を分類し、前記トレース割込み要求手段が前記命令分
類結果に該当するトレース割込み要求情報を前記トレー
ス割込み要求情報テーブルから得て、その結果によりト
レース割込みが必要な命令であれば前記トレース割込み
発生手段に対してトレース割込みを要求することにより
マイクロプロセッサの命令のうち前記のサブルチン呼び
出し命令やサブルーチンからの復帰命令など特定な命令
種に対してのみ実行時にトレース割込みを発生させるこ
とができる。
〔実施例〕
以下、本発明の一実施例を第1図(a) 、(bl I
及び第2図を用いて説明する。
第1図fa)は本発明を用いたマイクロプロセッサの全
体ブロック図である。第1図(alにおいて、1はマイ
クロプロセッサ、2はバス制御部、3は命令ポインタ、
4は命令読み出しレジスタ、5は命令実行部、6は命令
デコーダ、7は演算処理ユニット、8はステータスレジ
スタ、9は汎用レジスタ群、10は制御信号処理部であ
り、以上の構成は従来の一般的なマイクロプロセッサの
構成と同様である。さらに、11は本発明のトレース割
込み要求情報テーブルである。
まず、トレース割込み要求情報テーブル11へのトレー
ス割込み要求情報への設定について説明する。なお、本
実施例においてはトレース割込み要求情報テーブル11
は本実施例のマイクロプロセッサ1のメモリ空間上に配
置されるとし、したがって通常のメモリアクセスと同様
の命令体系によって命令種籾のトレース割込み要求情報
が書き込まれるため、前記トレース割込み要求情報の書
き込み手段は第1図(a)において命令実行部5の機能
に含すれるとする。
したがって、トレース割込み要求情報テーブル11の設
定は、トレース対象のプログラム以前に初期プログラム
として実行することにより設定できる。
第1図(b)はトレース割込み要求情報テーブル11の
構成を模式的に表わした図である。本実施例においては
、マイクロプロセッサの命令種即ち命令コードは8ビツ
トで表わされるとし、2”=256種類の命令コードに
対してトレースを必要とするか否かという1ビツトずつ
のメモリでトレース割込み要求情報テーブル11は構成
される。
よって第1図(blに示すようにトレース割込み要求情
報テーブル11は命令コードの上位4ビツトと下位4ビ
ツトのマトリックス状のメモリで表わされ、例えばサブ
ルーチン呼び出し命令の命令コドを16進の20H(以
後数字の16進表現は数字の後ろにHを付ける)、サブ
ルーチンからの復帰命令の命令コードをEFHとし、該
二種の命令実行時のみトレース割込みを必要であるとす
るならば、第1図(b)に示す如<20H,EFHの命
令コードに対応するビットを”1”、他のビットを0”
と設定する。
次に、トレース対象のプログラムの実行方式について説
明する。
第1図(a)においてマイクロプロセッサlはバス制御
部2を用いて命令ポインタ3の示すアドレスの外部メモ
リから命令を読み出し、その命令を命令読み出しレジス
タ4に格納する。そして、命令実行部5は前述の命令判
別手段である命令デコダ6により命令種及び内容を解析
し、その解析結果に従って実際の命令実行手段である演
算処理ユニット7がステータスレジスタ8や汎用レジス
タ9を用いて命令を実行する。なお、制御信号処理部1
0はマイクロプロセッサ1の以上のような動作のタイミ
ングを制御する。
さて、前述のトレース割込み発生手段の機能は、命令実
行後にステータスレジスタ8中のトレース割込み制御情
報を参照してトレース割込みが必要な場合にバス制御部
2を用いてトレース割込みベクトルの番地にあらかじめ
設定されたトレース割込み処理先の番地情報を読み出し
、そのトレース割込み処理先番地を命令ポインタ3に設
定することである。
したがって前述のトレース割込み発生手段は第1図(a
tにおいては命令実行の一部として演算処理ユニット7
が有する機能の一部であるとする。
また、本発明のトレース割込み要求手段も第1図(a)
においては演算処理ユニット7が有する機能の一部であ
るとし、以下に第2図を用いてトレース割込み発生手段
とトレース割込み要求手段の動作について説明する。
み発生手段である処理手順を示すフローチャートである
。なお、以下に説明する処理手順は具体的には半導体回
路で構成する方式や、マイクロプログラムの処理で行な
う方式があるが、本実施例においては処理手順について
のみ説明し、具体的な方法については特定しないことと
する。
第2図において、従来のトレース割込発生手段の処理で
あれは、処理22 、23 、24 、25に示すよう
にステータスレジスタ中のトレース制御ビットtcの内
容により命令コードに対応した命令実行後に内部割込処
理を行なうか否かを判別し、内部割込処理を実行するの
であるが、本実施例においては、まず処理21で命令コ
ードに対応するトレース要求テーブル中のビットtrを
得て、割込み発生の判断処理24でトレース要求trと
トレース制御ビット1Cの内容が、共に“オン”である
場合について内部割込処理25を行なう。すなわち、内
部割込み要求処理を内部割込み発生処理にイ」加するこ
とにより、あらかじめ設定された特定の命令様について
トレース割込みを発生ずることができる。
以上述べたことから本発明を用いれはサブルーチン呼び
出し命令やサブルーチンからの復帰命令など特定の命令
様について任意に命令トレースを行なうことができるた
め、ブロクラムのデバッグや検査の効率を向上すること
ができる。
次に本発明の第二の実施例を第3図(a) 、 (b)
を用いて説明する。
第3図(a)は本発明の第二の実施例によるマイクロプ
ロセッサの1命令のフィールド形式を表わした図、第3
図(b)は第二の実施例におけるl・レース割込み要求
手段を示したブロック図である。
第二の実施例ではトレース割込み要求情報はテーブルに
格納するのではなく、第3図(a)に示すように命令の
フィールドに割り付ける。即ち、本実施例のプロセッサ
用のアセンブラ或いはコンパイラでは命令のオブジェク
トコードを生成する際に、プログラマの指示に従って命
令のオブジェクトコドの一部にトレース割込み要求情報
trを付加することとする。
さて、本実施例においては第一の実施例と同様に1命令
のオブジェクトコードを読み出した後に、命令実行部で
命令種類及び内容を解析する。その命令解析の際に第3
図(b)に示すように命令コードを表わす7ビツトを命
令デコーダ6へ入力するとともに、トレース割込み要求
情報trのビット内容とステータスレジスタ8中のトレ
ース割込み制御ピッltcの内容とをANDゲート30
へ入力してトレース割込み判定信号Tを出力する。
トレース割込み判定信号Tはトレース割込み要求情報t
rとトレース割込み制御ビットtcが共に”オン”即ち
現在の命令がトレース割込を必要としているときにのみ
”オン”となる。
したがって、本実施例のマイクロプロセッサにおいては
演算処理ユニット中のトレース割込み発生手段である半
導体回路或いはマイクロプログラムが、前記トレース割
込み判定信号Tの内容を判別することによりトレース割
込を発生を制御するとすれは特定の命令様について任意
に命令トレースを行なうことが可能となる。
なお、第二の実施例ではトレース割込み要求情報trを
命令のフィールド中に割り付けるため、命令コードを表
わすビット数が第一の実施例に対し半減するという点や
、トレース割込み要求情報trを含む命令オブジェクト
コードを作成する機能がアセンブラやコンパイラに必要
となるという短所がある一方で、プロセッサ内にトレー
ス割込み要求情報テーブルが不要となるため、第一の実
施例のマイクロプロセッサより半導体のゲート規模は少
なく実現できる。また、第二の実施例特有の効果として
、同種の命令についても任意にトレース割込みを発生で
きるため、例えは一つのプログラム中で検査源の部分の
サブルーチン呼び出し命令についてはトレース割込みを
発生せず、検査未完部分のサブルーチン呼び出し命令に
ついてのみトレース割込みを発生させることにより、プ
ログラム検査効率をさらに高めることができる。
なお、以上の二つの実施例を説明する際に、個々の命令
様に対するトレース割込み情報trと全命令に対してト
レース割込み発生を制御するステータスレジスタ中のト
レース制御ビットtcを用いたが、トレース制御ビット
tcは常に1オン”として省きトレース割込み要求情報
trのみでトレース割込み発生を制御してもよい。
〔発明の効果〕
本発明によれば、サブルーチン呼び出し命令やサブルー
チンからの復帰命令など特定の命令種について選択的に
命令トレースを行なうことができるため、プログラムの
デバッグや検査の効率を向上するという効果がある。
さらに、本発明の別の効果として本発明を用いたマイク
ロプロセッサに対して命令の機能を向上した上位様を作
成した場合に、下位種のトレース割込み先処理として上
位様の命令を1個或いは複数個の命令で擬似的に実現し
たり、或いは逆に上位様のトレース割込み先処理として
下位種の命令を1個或いは複数個の命令で擬似的に実現
することが容易となるため、マイクロプロセッサ間の上
位互換、下位互換がプログラムによって容易に実現でき
るという機能面での効果もある。
【図面の簡単な説明】
第1図(a)は本発明の第一の実施例であるマイクロプ
ロセッサの全体ブロック図、第1図(b)はトレース割
込み要求情報テーブルの模式的な構成図、第2図は演算
処理ユニット中の割込み発生処理手順を示すフローチャ
ート、第3図(a)は本発明の第二の実施例であるマイ
クロプロセッサの命令のフィールド形式を示した図、第
3図(b)は本発明の第二の実施例であるマイクロプロ
セッサの命令実行部におけるトレース割込み要求手段を
示すブロック図である。 1・・・マイクロプロセッサ 3・・・命令ポインタ   5・・・命令実行部6・・
・命令デコーダ   7・・・演算処理ユニット8・・
・ステータスレジスタ 11・・・トレース割込み要求情報テーブル完1図 (Q−) 閉1図 (b) コ〉Fr:1−ノLイ言±t ノ〈 ス、 アFL/人 アープ 7、・人  ノV又 〒2図 寵″5図

Claims (1)

  1. 【特許請求の範囲】 1、少なくとも命令判別手段と、前記命令判別手段によ
    って命令種類を判別された命令を実行する命令実行手段
    と、前記命令実行手段が命令を実行する際にトレース割
    込みを発生しうる内部割込み制御手段とを有するマイク
    ロプロセッサにおいて、前記命令判別手段によって判別
    された各命令種類毎に前記内部割込み制御手段に対して
    トレース割込みの発生要求の有無を示すトレース割込み
    要求情報から成るトレース割込み要求情報記憶手段と、
    前記トレース割込み要求情報記憶手段に前記トレース割
    込み要求情報を格納する手段と、前記命令判別手段によ
    って命令の種類を判別した際に前記トレース割込み要求
    情報記憶手段中の前記判別された命令種類に該当するト
    レース割込み要求情報の内容により前記内部割込み制御
    手段に対してトレース割込みの発生を要求する手段とを
    設けたことを特徴とするマイクロプロセッサの内部割込
    み制御方式。 2、少なくとも命令判別手段と、前記命令判別手段によ
    って命令種類を判別された命令を実行する命令実行手段
    と、前記命令実行手段が命令を実行する際にトレース割
    込みを発生しうる内部割込み制御手段とを有するマイク
    ロプロセッサにおいて、各命令フィールドの一部に前記
    内部割込み制御手段に対してトレース割込みの発生要求
    の有無を示すトレース割込み要求情報を設け、かつ、前
    記命令判別手段によって命令の種類を判別した際に前記
    命令フィールド中のトレース割込み要求情報の内容によ
    り前記内部割込み制御手段に対してトレース割込みの発
    生を要求する手段とを設けたことを特徴とするマイクロ
    プロセッサの内部割込み制御方式。
JP63234984A 1988-09-21 1988-09-21 マイクロプロセッサの内部割込み制御方式 Pending JPH0283749A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63234984A JPH0283749A (ja) 1988-09-21 1988-09-21 マイクロプロセッサの内部割込み制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63234984A JPH0283749A (ja) 1988-09-21 1988-09-21 マイクロプロセッサの内部割込み制御方式

Publications (1)

Publication Number Publication Date
JPH0283749A true JPH0283749A (ja) 1990-03-23

Family

ID=16979324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63234984A Pending JPH0283749A (ja) 1988-09-21 1988-09-21 マイクロプロセッサの内部割込み制御方式

Country Status (1)

Country Link
JP (1) JPH0283749A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100897A (ja) * 1991-10-03 1993-04-23 Agency Of Ind Science & Technol 命令トレース方式
CN103162852A (zh) * 2013-03-20 2013-06-19 上海理工大学 基于阈值电压交流发光二极管结温检测方法
JP2021108129A (ja) * 2017-03-29 2021-07-29 グーグル エルエルシーGoogle LLC 分散ハードウェアトレーシング
US11921611B2 (en) 2017-03-29 2024-03-05 Google Llc Synchronous hardware event collection

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100897A (ja) * 1991-10-03 1993-04-23 Agency Of Ind Science & Technol 命令トレース方式
CN103162852A (zh) * 2013-03-20 2013-06-19 上海理工大学 基于阈值电压交流发光二极管结温检测方法
JP2021108129A (ja) * 2017-03-29 2021-07-29 グーグル エルエルシーGoogle LLC 分散ハードウェアトレーシング
US11650895B2 (en) 2017-03-29 2023-05-16 Google Llc Distributed hardware tracing
US11921611B2 (en) 2017-03-29 2024-03-05 Google Llc Synchronous hardware event collection

Similar Documents

Publication Publication Date Title
US5621886A (en) Method and apparatus for providing efficient software debugging
US5740413A (en) Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
KR960011613A (ko) 데이터 처리장치
EP1125199B1 (en) Method of debugging a program thread
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JPS60262251A (ja) マイクロプロセツサ開発支援装置
JPH0581087A (ja) プロセサのモニタ方式
JPH05108404A (ja) デバツガシステム
JPH05127945A (ja) プログラム実行状況解析方式
JPH0259829A (ja) マイクロコンピュータ
JPH02281341A (ja) デバッグ時のライトデータ確認方法
JPS60193046A (ja) 命令例外検出方式
JPH0414367B2 (ja)
JPH01142948A (ja) マイクロコンピュータのシンボリックデバッガ
JPH11167500A (ja) エミュレータ装置のイベント回路及びデバッグシステム
JPH0772874B2 (ja) 割込み受取り装置
JPH0793180A (ja) マイクロプロセッサ
JPH05165672A (ja) プロセッサ
JPH03168845A (ja) 命令実行制御方式
JPH0683987A (ja) マイクロコンピュータ
JPS62256138A (ja) デ−タ処理装置
JPS6349942A (ja) 演算処理装置
JPH0444973B2 (ja)
JPS61267137A (ja) 割込み動作制御方式