JPH05100897A - 命令トレース方式 - Google Patents

命令トレース方式

Info

Publication number
JPH05100897A
JPH05100897A JP3281966A JP28196691A JPH05100897A JP H05100897 A JPH05100897 A JP H05100897A JP 3281966 A JP3281966 A JP 3281966A JP 28196691 A JP28196691 A JP 28196691A JP H05100897 A JPH05100897 A JP H05100897A
Authority
JP
Japan
Prior art keywords
instruction
trace
processor
sequence control
control field
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
JP3281966A
Other languages
English (en)
Inventor
Yuichi Yoshida
裕一 吉田
Masatoshi Sato
正俊 佐藤
Koichi Takeda
浩一 武田
Teruhiko Ohara
輝彦 大原
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP3281966A priority Critical patent/JPH05100897A/ja
Publication of JPH05100897A publication Critical patent/JPH05100897A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 プロセッサ内のトレース機能構成を簡単なも
のにできる、各種の命令トレースにプロセッサが応じら
れる、処理時間を短くできる命令トレース方式を実現す
る。 【構成】 複数の操作フィールド中にシーケンス制御フ
ィールドSを有する命令を取扱うプロセッサ1を用い
る。オブジェクト5を構成する全て又は一部の命令のシ
ーケンス制御フィールドSに、当該命令がトレース対象
の命令であることを表す情報「bra*+1」を挿入す
る。プロセッサ1内のステータスレジスタ4に命令トレ
ースを実行するか否かを表すトレースビット4aを設け
る。そして、トレースビット4aがセットされている状
態で、主メモリ2から取出された命令のシーケンス制御
フィールドSに、情報「bra*+1」を挿入されてい
るときにトレース例外を発生させて命令トレース処理ル
ーチン6を実行させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサによる命令
の実行状態をトレースする命令トレース方式に関するも
のである。
【0002】
【従来の技術】コンピュータシステムの複雑化、取扱う
情報の多様化、コンピュータシステムの利用形態の多様
化、利用者の拡大等によって、プログラムが複雑かつ多
大なものとなることが多く、そのため、デバッグの重要
性が増大してきている。例えば、オブジェクトプログラ
ムのデバッグを行なうには、オブジェクトプログラムが
どのように実行されるかを確認することを要し、そのた
め命令の実行状態をトレースすることも行われている。
【0003】命令トレースをソフトウェアだけで対応し
て行なうことは、本来のオブジェクトプログラムを大き
く書き直すことになり、そこで、命令トレースを支援で
きるプロセッサが既に提案されている。このようなプロ
セッサでは、内部のステータスレジスタのスーパバイザ
部分のビットをトレース制御用ビットとして使用してお
り、トレース制御用ビットを操作することで命令をトレ
ースする例外を発生して命令トレース処理ルーチンを実
行させるようになされている。
【0004】このようなプロセッサとしては、命令毎の
トレース機能だけを有するもの(例えばMC68000
プロセッサ)と、命令毎のトレース機能及び分岐毎のト
レース機能(プログラムカウンタが書き替えられた場合
にトレースする機能)を有するもの(例えばMC680
20プロセッサ)とがある。
【0005】
【発明が解決しようとする課題】ユーザが命令トレース
の方法を選択できるという点で、命令毎のトレース機能
及び分岐毎のトレース機能を有するプロセッサが好まし
い。
【0006】しかしながら、このようなプロセッサで
は、2種類のトレース機能をサポートしているため、プ
ロセッサ内の構成が複雑になっていた。
【0007】また、実際上、ユーザが任意の命令だけを
選択的にトレースすることを希望することがある。上述
したプロセッサによってかかる要求に応じようとする
と、命令毎のトレース機能を用いて命令毎にトレース例
外を発生させ、命令トレース処理ルーチンにおいてその
命令がトレースすべき命令であるか否かを判断し、肯定
的な場合にトレースを実行することになる。しかし、こ
の方法によれば、命令毎にトレース例外が生じるので、
処理時間のオーバヘッドが大きくなることを避けること
ができない。
【0008】本発明は、以上の点を考慮してなされたも
のであり、プロセッサ内のトレース機能構成を簡単なも
のとすることができる、各種の命令トレースにプロセッ
サが応じられる、しかも、処理時間を短くできる命令ト
レース方式を提供しようとするものである。
【0009】
【課題を解決するための手段】かかる課題を解決するた
め、本発明においては、複数の操作フィールド中にシー
ケンス制御フィールドを有する命令を取扱うプロセッサ
を用い、命令トレース対象のオブジェクトプログラムを
構成する全て又は一部の命令のシーケンス制御フィール
ドに、当該命令がトレース対象の命令であることを表す
情報を挿入し、プロセッサ内のステータスレジスタに命
令トレースを実行するか否かを表すトレースビットを設
け、トレースビットがセットされている状態で、主メモ
リから取出されたオブジェクトプログラムの命令のシー
ケンス制御フィールドに、当該命令がトレース対象命令
であることを表す情報が挿入されているときに命令トレ
ースを実行することとした。
【0010】
【作用】本発明は、複数の操作フィールド中にシーケン
ス制御フィールドを有する命令を取扱うプロセッサを前
提とする。命令毎の当該命令がトレース対象であるか否
かを明確化するために、命令トレースの実行対象のオブ
ジェクトプログラムを構成する全て又は一部の命令のシ
ーケンス制御フィールドに、当該命令がトレース対象の
命令であることを表す情報を挿入する。また、むやみに
トレースを実行することを防止するために、プロセッサ
内のステータスレジスタに命令トレースを実行するか否
かを表すトレースビットを設ける。そして、トレースビ
ットがセットされている状態で、主メモリから取出され
た命令のシーケンス制御フィールドに、当該命令がトレ
ース対象命令であることを表す情報が挿入されていると
きに命令トレースを実行する。
【0011】従って、命令毎のトレースは、トレースビ
ットをセットすると共に、オブジェクトプログラムを構
成する全ての命令のシーケンス制御フィールドに、トレ
ース対象の命令であることを表す情報を挿入することで
実現できる。また、分岐毎のトレースは、トレースビッ
トをセットすると共に、オブジェクトプログラム中の分
岐命令のシーケンス制御フィールドに、トレース対象の
命令であることを表す情報を挿入することで実現でき
る。さらに、命令を選択してのトレースは、トレースビ
ットをセットすると共に、オブジェクトプログラム中の
選択命令のシーケンス制御フィールドに、トレース対象
の命令であることを表す情報を挿入することで実現でき
る。
【0012】
【実施例】以下、本発明による命令トレース方式の一実
施例を図面を参照しながら詳述する。図1がこの実施例
の説明図である。
【0013】図1において、システムとしては、プロセ
ッサ1と主メモリ2とがバス3を介して接続されて構成
されている。
【0014】プロセッサ1は、複数の操作フィールドで
構成されていてその中の1個の操作フィールドがシーケ
ンス制御フィールドである命令を取扱うLIW(Long I
nstruction Word )タイプのプロセッサである。このプ
ロセッサ1内のステータスレジスタ4の所定位置の1ビ
ット4aは、トレースを実行するか否かを示すトレース
ビットである。このトレースビット4aは、命令トレー
スの種類に関係なく、命令トレースを実行する際にセッ
トされるものである。なお、このトレースビット4aの
セット又はリセットは、一般的な方法である命令操作に
よって実行される。
【0015】主メモリ2は、オブジェクトプログラム5
や命令トレース処理ルーチン6を格納している。オブジ
ェクトプログラム5及び命令トレース処理ルーチン6を
構成する各命令は、上述したように、シーケンス制御フ
ィールドSを有する。シーケンス制御フィールドSに
は、本来の分岐命令であるか否かに関係なく、その命令
を分岐命令であることを指示すると共に分岐先命令が次
命令であることを表す情報「bra*+1」又は次の命
令に移行する命令であること(分岐処理を実行しないこ
と)を表す情報「nop」のいずれかが挿入される。従
って、いずれの情報が挿入されていても、オブジェクト
プログラム5の各命令の実行順序は変わらない。
【0016】なお、命令トレース処理ルーチン6を構成
する全ての命令のシーケンス制御フィールドSには、情
報「nop」を挿入する。これは、命令トレース処理ル
ーチン6の実行時における命令トレースを防止するため
である。
【0017】プロセッサ1(例えばそのシーケンス制御
部)は、トレースビット4aがリセットされていると
き、すなわち、命令トレースがディスエーブルされてい
るときには、主メモリ2から取出した命令のシーケンス
制御フィールドSの情報に関係なく、トレース例外を発
生させずにその命令を普通に実行する。他方、プロセッ
サ1は、トレースビット4aがセットされているとき、
すなわち、命令トレースがイネーブルされているときに
は、主メモリ2から取出した命令のシーケンス制御フィ
ールドSの情報に応じて処理を変える。シーケンス制御
フィールドSの情報が「nop」のときには、トレース
例外を発生させずにその命令を普通に実行する。シーケ
ンス制御フィールドSの情報が「bra*+N」のとき
には、その命令を実行し、トレース例外を発生させて命
令トレース処理ルーチン6を実行させ、命令トレース処
理ルーチン6の実行終了時に分岐先命令の取出しを行な
う。
【0018】なお、オブジェクトプログラム5を作成す
る際には、各命令のシーケンス制御フィールドSには情
報「nop」を挿入して作成する。
【0019】例えば、デバッグのために、このように作
成されたオブジェクトプログラム5の実行時に、命令毎
にトレースを実行させる場合には、まず、オブジェクト
プログラム5の全ての命令のシーケンス制御フィールド
Sの情報を「bra*+1」に書き替える。次に、ステ
ータスレジスタ4内のトレースビット4aをセットさせ
る。その後に、シーケンス制御フィールドSを書き替え
たオブジェクトプログラム5を起動する。従って、この
場合には、全ての命令のシーケンス制御フィールドSに
情報「bra*+1」が挿入されており、かつ、トレー
スビット4aがセットされているので、プロセッサ1は
各命令毎にトレース例外を発生させて命令トレースを実
行させる。
【0020】なお、図1におけるオブジェクトプログラ
ム5は、この場合における書き替えられた内容を示して
いるものである。
【0021】また、例えば、デバッグのために、作成さ
れたオブジェクトプログラム5の実行時に、分岐毎にト
レースを実行させる場合には、まず、オブジェクトプロ
グラム5内の各分岐命令のシーケンス制御フィールドS
の情報を「bra*+1」に書き替える。次に、ステー
タスレジスタ4内のトレースビット4aをセットさせ、
オブジェクトプログラム5を起動する。従って、この場
合には、シーケンス制御フィールドSに情報「bra*
+1」が挿入されている分岐命令が取出されたときに、
プロセッサ1はトレース例外を発生させて命令トレース
を実行させる。
【0022】さらに、例えば、デバッグのために、作成
されたオブジェクトプログラム5の実行時に、任意の命
令について選択的にトレースを実行させる場合には、ま
ず、オブジェクトプログラム5内のその任意の命令のシ
ーケンス制御フィールドSの情報を「bra*+1」に
書き替える。次に、ステータスレジスタ4内のトレース
ビット4aをセットさせ、オブジェクトプログラム5を
起動する。従って、この場合には、シーケンス制御フィ
ールドSに情報「bra*+1」が挿入されている任意
の命令が取出されたときに、プロセッサ1はトレース例
外を発生させて命令トレースを実行させる。
【0023】なお、全て又は一部の命令のシーケンス制
御フィールドSに情報「bra*+1」が挿入されてい
るオブジェクトプログラム5を実行するときでも、ステ
ータスレジスタ4のトレースビット4aをリセットして
おくことにより、命令トレースを禁止することができ
る。
【0024】従って、上述の実施例によれば、本来分岐
命令でない命令のシーケンス制御フィールドにも分岐命
令であることを表す情報を適宜挿入すると共に、プロセ
ッサ内のステータスレジスタにトレースビットを設け、
トレースビットがセットされている状態において取出さ
れた命令のシーケンス制御フィールドに分岐命令である
ことを表す情報が挿入されていると命令トレースを実行
するようにしたので、命令毎のトレースや分岐毎のトレ
ースや任意の命令を選択したトレース等をプロセッサ内
の共通のトレース構成によって実現することができる。
すなわち、従来よりプロセス内の命令トレース構成を簡
単にでき、しかも、各種の命令トレース方法に応じられ
る。
【0025】また、トレース対象以外の命令でトレース
例外が発生することがなく、命令トレース時間を短くす
ることができる。特に、命令を任意に選択してトレース
を実行する場合には、従来との比較からかかる効果は大
きい。
【0026】なお、上述の実施例においては、LIWタ
イプのプロセッサを利用するものを示したが、VLIW
(Very Long Instruction Word)タイプのプロセッサを
利用するものにも本発明を適用することができる。
【0027】
【発明の効果】以上のように、本発明によれば、複数の
操作フィールド中にシーケンス制御フィールドを有する
命令を取扱うプロセッサを用い、命令トレース対象のオ
ブジェクトプログラムを構成する全て又は一部の命令の
シーケンス制御フィールドに、当該命令がトレース対象
の命令であることを表す情報を挿入し、プロセッサ内の
ステータスレジスタに命令トレースを実行するか否かを
表すトレースビットを設け、トレースビットがセットさ
れている状態で、主メモリから取出された命令のシーケ
ンス制御フィールドに、トレース対象命令であることを
表す情報を挿入されているときに命令トレースを実行す
るようにしたので、プロセッサ内のトレース機能構成を
簡単なものとすることができる、各種の命令トレースに
プロセッサが応じられる、しかも、処理時間を短くでき
る命令トレース方式を実現できる。
【図面の簡単な説明】
【図1】実施例の命令トレース方式の説明図である。
【符号の説明】
1…プロセッサ、2…主メモリ、4…ステータスレジス
タ、4a…トレースビット、5…オブジェクトプログラ
ム、6…命令トレース処理ルーチン、S…シーケンス制
御フィールド。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大原 輝彦 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の操作フィールド中にシーケンス制
    御フィールドを有する命令を取扱うプロセッサを用い、 命令トレース対象のオブジェクトプログラムを構成する
    全て又は一部の命令のシーケンス制御フィールドに、当
    該命令がトレース対象の命令であることを表す情報を挿
    入し、 上記プロセッサ内のステータスレジスタに命令トレース
    を実行するか否かを表すトレースビットを設け、 トレースビットがセットされている状態で、主メモリか
    ら取出されたオブジェクトプログラムの命令のシーケン
    ス制御フィールドに、当該命令がトレース対象命令であ
    ることを表す情報を挿入されているときに命令トレース
    を実行することを特徴とした命令トレース方式。
JP3281966A 1991-10-03 1991-10-03 命令トレース方式 Pending JPH05100897A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3281966A JPH05100897A (ja) 1991-10-03 1991-10-03 命令トレース方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3281966A JPH05100897A (ja) 1991-10-03 1991-10-03 命令トレース方式

Publications (1)

Publication Number Publication Date
JPH05100897A true JPH05100897A (ja) 1993-04-23

Family

ID=17646383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3281966A Pending JPH05100897A (ja) 1991-10-03 1991-10-03 命令トレース方式

Country Status (1)

Country Link
JP (1) JPH05100897A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283749A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd マイクロプロセッサの内部割込み制御方式
JPH03147021A (ja) * 1989-11-01 1991-06-24 Fujitsu Ltd 命令指定方法及び命令実行方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283749A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd マイクロプロセッサの内部割込み制御方式
JPH03147021A (ja) * 1989-11-01 1991-06-24 Fujitsu Ltd 命令指定方法及び命令実行方式

Similar Documents

Publication Publication Date Title
EP0241946B1 (en) Information processing system
US6859892B2 (en) Synchronous breakpoint system and method
EP0365188A2 (en) Central processor condition code method and apparatus
KR910017256A (ko) 프로그램 가능한 제어기
IE920739A1 (en) System and method for preserving instruction state-atomocity¹for translated program code
EP0140299A2 (en) Vector mask control system
JPS6212529B2 (ja)
JPH05100897A (ja) 命令トレース方式
JPS6312302B2 (ja)
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
JP2758624B2 (ja) マイクロプログラムの調速方式
JPS58200349A (ja) マイクロプログラム制御装置
JPS6042968B2 (ja) 情報処理装置
JPH0619713B2 (ja) 論理型デ−タ処理装置
SU849218A1 (ru) Устройство дл отладки программ
JPH04338825A (ja) 演算処理装置
JPS6220032A (ja) 情報処理装置
JP2022023631A (ja) アセンブリ命令変換プログラム、アセンブリ命令変換方法、及び情報処理装置
KR100577211B1 (ko) 디지털 신호 처리 장치
JPH02191046A (ja) プログラムの追跡方式
JPH01175632A (ja) マイクロプログラム制御装置
JPS63163543A (ja) 情報処理装置
JPH05181671A (ja) ソフトウェア命令のエミュレーション方式
JPS6143347A (ja) ベクトル命令シミユレ−シヨン方法
JPS6250855B2 (ja)