JP2000172523A - インサーキットエミュレータおよび飽和演算処理方法 - Google Patents

インサーキットエミュレータおよび飽和演算処理方法

Info

Publication number
JP2000172523A
JP2000172523A JP10350957A JP35095798A JP2000172523A JP 2000172523 A JP2000172523 A JP 2000172523A JP 10350957 A JP10350957 A JP 10350957A JP 35095798 A JP35095798 A JP 35095798A JP 2000172523 A JP2000172523 A JP 2000172523A
Authority
JP
Japan
Prior art keywords
instruction
saturation
overflow
flag
processing
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.)
Granted
Application number
JP10350957A
Other languages
English (en)
Other versions
JP3068578B2 (ja
Inventor
Yoshio Takakura
良夫 高倉
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP10350957A priority Critical patent/JP3068578B2/ja
Publication of JP2000172523A publication Critical patent/JP2000172523A/ja
Application granted granted Critical
Publication of JP3068578B2 publication Critical patent/JP3068578B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 トレースメモリの実行履歴からオーバーフロ
ーの変化点を発見し、オーバーフローの原因の解析が簡
単にできるインサーキットエミュレータおよび飽和演算
処理方法を提供する。 【解決手段】 飽和演算命令直後に飽和処理の有無の判
断と飽和処理の記憶に要する処理のオーバーヘッドを不
要とした演算装置を有する情報処理装置10と、命令を
実行する基礎的な手続であるフェッチのデータの信号経
路であるフェッチデータバス12と、トレースデータを
記憶するトレースメモリ16と、トレースメモリ16に
書込む命令を命令フェッチのタイミングで捕まえ、命令
の実行タイミングに合わせてトレースメモリ16に出力
する命令アライナ18と、オーバーフローを起こしたこ
とを知らせる信号を出力するSAT端子20と、PSW
のSATの信号をSAT端子20に出力するバッファ2
2とで構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ブレークを掛けず
にプログラムを動かし続けながら、オーバーフローフラ
グの変化点をさかのぼることで飽和演算の異常結果の原
因を解析することができるインサーキットエミュレータ
および飽和演算処理方法に関する。
【0002】
【従来の技術】制御用に使われる近年のマイクロコンピ
ュータには、演算結果が負の値になったとき、演算結果
を正の最大値,最小値で止めておく飽和演算命令が備わ
っている。この命令を使用することにより、演算結果が
負になることによるプログラムおよび装置の暴走を防ぐ
ことができる。
【0003】従来の制御装置の一例が、特開平2−15
0933号公報に記載されている。この公報に記載され
たデバッグ制御装置を、図5を参照して説明する。図5
は、従来のデバッグ制御装置の構成を表す図である。図
5に示すように、マクロプログラムを格納するメモリで
ある制御記憶部34と、制御記憶部34のマクロプログ
ラムを読み出しマクロ命令を格納するマクロ命令レジス
タ36と、マクロ命令レジスタ36のマクロ命令を実行
する演算装置38と、演算装置38の演算により発生す
る例外を格納する例外状態レジスタ40と、各ビットに
例外または割り込みがあったことを示す例外比較レジス
タ42と、例外状態レジスタ40と例外比較レジスタ4
2とを比較し一致するか否かを検出する一致検出回路4
4と、例外比較レジスタ42をセットし、一致検出回路
44の検出結果を格納するフリップフロップ46と、通
知により演算装置の停止をおこないオーバーフローのデ
バッグをおこなうサービスプロセッサ48とから構成さ
れている。
【0004】デバッグ制御装置は、演算装置38が演算
した結果から、オーバーフローや例外処理等の特定の処
理状態の発生を検出し、情報処理装置の動作を停止させ
る機能(一般にブレークと呼ばれる)を有している。演
算装置38で演算した結果、演算装置38が例外処理や
オーバーフローを発生させると、例外処理状態信号は例
外状態レジスタ40に記憶される。記憶された例外処理
状態信号は、一致検出回路44で例外比較レジスタ40
の値と比較される。比較により出力される一致信号は次
段のフリップフロップ46で記憶される。記憶された一
致信号は、サービスプロセッサ48に対し割り込み要求
をする。サービスプロセッサ48はこの割り込み要求に
より、プログラム実行を停止し、ブレークする。このよ
うな仕組みを持ったマイクロコンピュータを使ったイン
サーキットエミュレータでは例外処理をしたとき、ブレ
ークを掛け、メモリ,レジスタ,状態フラグ,命令実行
アドレスを確認しデバッグする。また、場合によって
は、1命令づつ実行し命令実行アドレスの動作を確認す
る。
【0005】このデバッグ制御装置は、カウンタがオー
バーフローするときにブレークが可能となるデバッグ制
御装置を提供した。上述のブレークを用いた装置に対し
て飽和演算処理によりプログラムを動作しながらオーバ
ーフローの変化点を検出する従来の情報処理装置の一例
が、特開平7−334346号公報に記載されている。
この公報に記載の情報処理装置を、図6を参照し詳細に
説明する。図6は、従来の情報処理装置の構成を表す図
である。図6に示すように、計算結果,引数,フラグま
たはその他のデータが入出力されるデータがデータバス
14と、命令オペレーションコードを調べ解読するデコ
ーダである命令デコーダ26と、コンパイルされたプロ
グラムを実行する演算器と、演算器からの状態信号を入
力し情報OVと符号情報Sの論理値の組み合わせに応じ
オーバオフローまたはアンダーフローに対応して、セレ
クタに対して正または負の最大値をデータバスへ選択し
て出力するサチュレーション検出回路28と、プログラ
ムの実行に関する情報で、演算による桁あふれの有無や
入力結果の状態を表す様々な情報を、それぞれフラグや
コードにして1語長にまとめ、決められたビットを参照
することによりシステムの状態を判断できる情報である
PSW(program status word)3
0と、PSWなどのフラグやビットを発生するフラグ発
生回路32とで構成される。
【0006】この従来の情報処理装置は、飽和演算フラ
グを有するものである。情報処理装置は、飽和演算して
オーバーフローが発生した時にオーバーフローフラグを
生成する。このオーバーフローフラグは、キャリーやゼ
ロフラグなどのプログラムの状態を示すbit群である
PSWに反映される。このオーバーフローフラグはセッ
トされると特定の命令を実行したとき、リセットされ
る。
【0007】プログラムをデバッグする人は、このPS
Wの飽和演算オーバーフラグをみて、オーバーフロー演
算が発生したことを知ることができる。このように飽和
演算オーバーフラグを持った情報処理装置は、飽和演算
オーバーフローフラグがセットされると特別な処理を行
わないとリセットされない構成になっている。これは各
演算ごとに実行する必要があったエラー処理判断を、一
連の演算処理を実行した後、一度だけ行うことを可能と
し、処理速度の向上を図るために用意されている。
【0008】情報処置装置を使ったインサーキットエミ
ュレータでは、飽和演算のオーバーフローフラグが端子
として外部に信号を取り出す手段が無いため、やはりト
レーサに実行履歴に残すことができないことになる。読
み出す際は一度ブレークを掛け、プログラムの実行を停
止させる必要がある。
【0009】
【発明が解決しようとする課題】上述の従来のデバッグ
制御装置は、例外処理に対しブレークを掛ける機能や飽
和演算処理時のオーバーフローフラグをマイクロコンピ
ュータ内部に持っている。前記フラグは、ブレークを掛
ければ読み出すことができるようになっている。
【0010】またプログラムデバッグするとき、従来の
情報処理装置は、インサーキットエミュレータに使うエ
ミュレーションCPU自体に、飽和演算のオーバーフロ
ーの状態を出力する手段を持たないため、飽和演算命令
の動作を実行履歴に残すことができなかった。
【0011】この手段を持たないことは、デバッグ対象
のプログラムをブレークさせ、ブレーク後メモリ、レジ
スタ、オーバーフローフラグ、命令実行アドレスの値を
ダンプしデバッグする。この場合、見忘れたデータ等が
あると、もう一度見るためプログラムを再実行してデバ
ッグしていく必要があり、オーバーフローの原因を解析
するのに時間がかかることになる。
【0012】さらにこの手段を持たないことは、デバッ
グ対象のプログラムをブレークさせ、オーバーフローフ
ラグやメモリの値、命令実行アドレスを確認しながらデ
バッグすると、プログラム実行がブレークで停止してし
まい、デバッグ対象のシステムが壊れてしまうことがあ
る。例えば、モーターを制御するシステムでモーターが
動いている最中にブレークが掛かると、マイクロコンピ
ュータはインサーキットエミュレータの制御を行うた
め、モーターを停止させる制御プログラムを実行するこ
とができない。モーターが止まらないため、デバッグ対
象のシステムが壊れてしまうことになる。
【0013】さらにこの手段を持たないことは、飽和演
算オーバーフローフラグを有するマイクロコンピュータ
の場合、飽和演算により、飽和状態になった時のエラー
処理は、飽和処理の速度を向上させるため、飽和演算命
令の直後にはなく、一連の演算処理が終了した後になる
ことがあるので、エラー処理までに複数の飽和演算命令
が存在した場合、どの飽和演算命令でオーバーフローが
発生したか特定しにくいことになる。
【0014】本発明の目的は、飽和演算子を使うことで
ブレークを掛けずにプログラムを動かし続けながら、オ
ーバーフローフラグの変化点をさかのぼることで飽和演
算の異常結果の原因を解析することができるインサーキ
ットエミュレータおよび飽和演算処理方法を提供するこ
とにある。
【0015】本発明の他の目的は、オーバーフローの変
化点を発見し、発見した所から実行した命令をさかのぼ
りオーバーフローを起こした飽和演算命令を見つけて関
連付けを行うため、オーバーフローを起こした演算命令
の特定が可能となり、原因の解析が簡単にできるプログ
ラムを記録する記録媒体を提供することにある。
【0016】
【課題を解決するための手段】本発明のインサーキット
エミュレータは、飽和演算命令直後に飽和処理の有無の
判断と飽和処理の記憶に要する処理のオーバーヘッドを
不要とした演算装置を有する情報処理装置と、プロセッ
サからデバック装置に送出されるトレースデータを記憶
する記憶領域であるトレースメモリとを備えるインサー
キットエミュレータにおいて、前記情報処理装置でおこ
なわれる飽和演算命令を含むプログラムの実行中に、プ
ログラムの状態を示すビット群であるPSWのビットを
前記トレースメモリに格納し、オーバーフローが起こる
とどの飽和演算命令で発生したかを通知することを特徴
とする。
【0017】本発明の飽和演算処理方法は、飽和演算命
令直後に飽和処理の有無の判断と飽和処理の記憶に要す
る処理のオーバーヘッドを不要とした演算装置を有する
情報処理装置と、プロセッサからデバック装置に送出さ
れるトレースデータを記憶する記憶領域であるトレース
メモリとを備えるインサーキットエミュレータにおける
飽和演算処理方法であって、a)前記トレースメモリの
飽和演算処理フラグをリセットし、前記トレースメモリ
からオーバーフローフラグを読み込むステップと、b)
SATフラグがセットされているか否かを判断するステ
ップと、c)判断の結果セットされていない場合、動作
を終了するステップと、d)判断の結果セットされてい
る場合、オーバーフローのフラグの変化点の1つ前の飽
和演算命令の検出を判断するステップと、e)判断の結
果検出されない場合ステップdへ戻り、判断の結果検出
された場合ユーザへ通知し動作を終了するステップとを
含むことを特徴とする。
【0018】さらに本発明のプログラムを記録した記録
媒体は、飽和演算命令直後に飽和処理の有無の判断と飽
和処理の記憶に要する処理のオーバーヘッドを不要とし
た演算装置を有する情報処理装置と、プロセッサからデ
バック装置に送出されるトレースデータを記憶する記憶
領域であるトレースメモリとを備えるインサーキットエ
ミュレータにおける飽和演算処理方法であって、a)前
記トレースメモリの飽和演算処理フラグをリセットし、
前記トレースメモリからオーバーフローフラグを読み込
むステップと、b)SATフラグがセットされているか
否かを判断するステップと、c)判断の結果セットされ
ていない場合、動作を終了するステップと、d)判断の
結果セットされている場合、オーバーフローのフラグの
変化点の1つ前の飽和演算命令の検出を判断するステッ
プと、e)判断の結果検出されない場合ステップdへ戻
り、判断の結果検出された場合ユーザへ通知し動作を終
了するステップとを含むことを特徴とする。
【0019】
【発明の実施の形態】本発明の実施例の構成を図1を参
照し詳細に説明する。図1は、本発明のインサーキット
エミュレーターの構成を表すブロック図である。図1に
示すように、飽和演算命令直後に飽和処理の有無の判断
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とした演算装置を有する情報処理装置10と、命令レジ
スタに入っているコマンドを読んで対象となるアドレス
を求め、命令を実行する基礎的な手続であるフェッチの
データの信号経路であるフェッチデータバス12と、デ
ータなどをやり取りする信号経路であるデータバス14
と、プロセッサからデバック装置に送出されるトレース
データを記憶する記憶領域であるトレースメモリ16
と、トレースメモリ16に書込む命令を命令フェッチの
タイミングで捕まえ、命令の実行タイミングに合わせて
トレースメモリ16に出力する命令アライナ18と、飽
和演算の結果のオーバーフローフラグをマイクロコンピ
ュータ外部に知らせるための信号を出力するSAT端子
20と、情報処理装置10のPSWのSATの信号を受
信しSAT端子に出力するバッファ22と、データバス
に備えられフェッチデータバスからのデータを入出力す
るデータバス端子24とで構成される。さらにマイクロ
コンピュータの実行履歴を残すトレースメモリ16は、
トレースSAT端子から入力されるSAT1ビット分を
記憶する領域を有する。
【0020】マイクロコンピュータ内部のキャリーやゼ
ロフラグなどのプログラムの状態を示すbit群である
PSW(program status word)の
飽和演算オーバーフローフラグは、バッファ22を介し
てSAT端子20に出力される。これを直接トレースメ
モリ16に書き込む。一度セットされたSATフラグ
は、SATフラグをクリアする機能を有した命令が実行
された時にデータバスを介してクリアされる。クリアす
る命令かどうかは命令デコーダ26によって判別され
る。前記のようにトレーサに記録された命令と飽和演算
オーバーフローフラグの関係付けはインサーキットエミ
ュレータのソフトウエアで行う。
【0021】次に、命令アライナから出力された命令実
行アドレスとオーバーフローフラグが、トレースメモリ
へ書込まれた時の例を図2を用いて説明する。図2は、
本発明のトレースメモリの書き込み例を表す図である。
図2に示すように飽和演算命令とオーバーフローフラグ
の関係は、実行した飽和演算命令の次の行にオーバーフ
ローフラグが残されるようになっている。これは実際に
飽和演算命令でフラグが立ったときには、次の命令をト
レースする準備をしている。つまり、アドレス0104
番地のSSUB命令の実行でオーバーフローフラグが立
ったことになる。飽和演算命令実行タイミングと同じタ
イミングでオーバーフローフラグをトレーサに残すこと
も可能であるが、トレースメモリに書込むタイミングを
遅らせるための、ラッチをトレースメモリのbit数用
意する必要がある。またオーバーフローフラグは、1度
セットされると次の命令が実行されてもセット状態が残
っていることがわかる。さらに、このプログラム例は、
アドレス0114番地,0118番地の命令でオーバー
フローしたかチェックしている。オーバーフローフラグ
がセットされてから、フラグセットを確認するまでに他
の飽和演算命令が実行されても、どの命令でオーバーフ
ローフラグが立ったか判別することが可能となってい
る。
【0022】次に、本発明の実施例の動作を図3を参照
し詳細に説明する。図3は、本発明のソフトウエア処理
のフローチャートを表す図である。本実施例は、インサ
ーキットエミュレータのソフトウエアでの飽和演算命令
とオーバーフローフラグの関連付けについてである。図
3に示すようにソフトウエアは、デバッグ対象プログラ
ムを実行する前に、トレースメモリ16のオーバーフロ
ーフラグをクリアする。デバッグ対象のプログラムが実
行されトレーサに実行履歴が残ると、ソフトウエアはト
レースメモリ16のオーバーフローフラグを読み出し
(ステップA1)、PSWのSATビットが1になる変
化点があるか否かを判断する(ステップA2)。判断の
結果変化点がないときはトレースメモリ16のオーバー
フローフラグをクリアし、動作を終了する。判断の結果
変化点を見つけると、見つけたトレースメモリ16のS
ATビットのポイントより1つ前に実行された命令コー
ドを読み出す(ステップA3)。ソフトウエアは、この
命令コードをデコードし飽和演算命令か判断し(ステッ
プA4)、判断の結果飽和演算命令でないときは、ステ
ップA3へ戻りさらに1つ前に実行された命令コードを
読み出し、飽和演算命令が出てくるまで繰り返す。判断
の結果飽和演算命令であるとオーバーフローを起した飽
和演算命令であることをユーザに通知する(ステップA
5)。トレースメモリ16のオーバーフローフラグをク
リアし、動作を終了する。
【0023】次に、本発明の他の実施例を図4を参照し
詳細に説明する。図4は、本発明の他の実施例のソフト
ウエア処理のフローチャートを表す図である。本実施例
は、先に命令コードが飽和演算命令か判断し、オーバー
フローフラグが立っているか確認し対応付ける方法につ
いてである。はじめにソフトウエアは、トレースメモリ
16上に飽和演算命令処理フラグを用意する。トレーサ
が止まって初めてトレースメモリ16を読み出す前に、
用意された飽和演算命令処理フラグをリセットする(ス
テップB1)。命令実行アドレス、命令コードなどをト
レースメモリ16から読み出す(ステップB2)。ステ
ップB1で飽和演算命令処理フラグがリセットされてい
るので、飽和演算命令かどうか命令デコードして判断す
る(ステップB3)。判断の結果飽和演算命令でないと
きステップB7へ進む。判断の結果飽和演算命令である
ときソフトウエアで飽和演算命令処理フラグをセットし
通常のトレース表示処理をおこなう(ステップB4)。
ステップB4で飽和演算命令処理フラグがセットされて
いるので、トレースメモリ16のオーバーフローフラグ
がセットされているか判断する(ステップB5)。判断
の結果オーバーフローフラグがセットされていない場
合、ステップB7へ進む。判断の結果オーバーフローフ
ラグがセットされている場合、以前に処理した飽和演算
がオーバーフローを起しているので、以前に実行したオ
ーバーフローを起こした命令を検索し、オーバーフロー
を起こした命令を検出すると、オーバーフローを起した
飽和演算命令であることをユーザに通知する。その後、
次のトレース処理のため、前記処理フラグをリセットし
ておく(ステップB6)。トレースメモリ16のトレー
サの実行履歴の表示を終了したかを判断し(ステップB
7)、判断の結果終了していない場合ステップB4へ戻
る。判断の結果終了していると動作を終了する。また、
命令コードが飽和演算命令であるかどうかは、通常飽和
演算命令コードのテーブルを用意しておき比較すること
で判断する。テーブルを用いることで飽和演算命令コー
ドが変更されたとき、命令が追加、削除された時にも、
迅速に対応可能となる。飽和実行した命令から飽和演算
命令を見つけ出し、その命令にオーバーフローの表示す
る。
【0024】
【発明の効果】本発明のインサーキットエミュレータ
は、デバッグ対象のプログラムのオーバーフローフラ
グ、命令実行アドレスの値がトレーサに残っているの
で、見たいデータをもう一度見るためプログラムを再実
行する必要がなく、短時間でオーバーフローの原因を解
析することができる。またインサーキットエミュレータ
は、デバッグ対象のプログラムをブレークさせることな
く、トレーサでオーバーフローフラグ,命令実行アドレ
スを確認できるので、デバッグ対象のシステムを壊して
しまうことはない。さらにインサーキットエミュレータ
は、飽和演算により、飽和状態になった時のエラー処理
が、飽和演算命令の直後にはなく、エラー処理までに複
数の飽和演算命令が存在した場合でも、どの飽和演算命
令でオーバーフローが発生したか特定できることにな
る。さらにソフトウエアがオーバーフローフラグの変化
点をさかのぼり、飽和演算命令とオーバーフローフラグ
の関連付けをおこなうので、オーバーフローを起こした
原因の解析が簡単にできることになる。
【図面の簡単な説明】
【図1】本発明のインサーキットエミュレーターの構成
を表すブロック図である。
【図2】本発明のトレースメモリの書き込み例を表す図
である。
【図3】本発明のソフトウエア処理のフローチャートを
表す図である。
【図4】本発明の他の実施例のソフトウエア処理のフロ
ーチャートを表す図である。
【図5】従来のデバッグ制御装置の構成を表す図であ
る。
【図6】従来の情報処理装置の構成を表す図である。
【符号の説明】
10 情報処理装置 12 フェッチデータバス 14 データバス 16 トレースメモリ 18 命令アライナ 20 SAT端子 22 バッファ 24 データバス端子 26 命令デコーダ 28 サチュレーション検出回路 30 PSW 32 フラグ生成回路 34 制御記憶 36 マイクロ命令レジスタ 38 演算装置 40 例外処理レジスタ 42 例外比較レジスタ 44 一致検出回路 46 フリップフロップ 48 サービスプロセッサ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年10月8日(1999.10.
8)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正内容】
【0005】このデバッグ制御装置は、カウンタがオー
バーフローするときにブレークが可能となるデバッグ制
御装置を提供した。上述のブレークを用いた装置に対し
て飽和演算処理によりプログラムを動作しながらオーバ
ーフローの変化点を検出する従来の情報処理装置の一例
が、特開平7−334346号公報に記載されている。
この公報に記載の情報処理装置を、図6を参照し詳細に
説明する。図6は、従来の情報処理装置の構成を表す図
である。図6に示すように、計算結果,引数,フラグま
たはその他のデータが入出力されるデータがデータバス
14と、命令オペレーションコードを調べ解読するデコ
ーダである命令デコーダ26と、コンパイルされたプロ
グラムを実行する演算器と、演算器からの状態信号を入
力し情報OVと符号情報Sの論理値の組み合わせに応じ
オーバーフローまたはアンダーフローに対応して、セレ
クタに対して正または負の最大値をデータバスへ選択し
て出力するサチュレーション検出回路28と、プログラ
ムの実行に関する情報で、演算による桁あふれの有無や
入力結果の状態を表す様々な情報を、それぞれフラグや
コードにして1語長にまとめ、決められたビットを参照
することによりシステムの状態を判断できる情報である
PSW(program status word)3
0と、PSWなどのフラグやビットを発生するフラグ発
生回路32とで構成される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】プログラムをデバッグする人は、このPS
Wの飽和演算オーバーフローフラグをみて、オーバーフ
ロー演算が発生したことを知ることができる。このよう
に飽和演算オーバーフローフラグを持った情報処理装置
は、飽和演算オーバーフローフラグがセットされると特
別な処理を行わないとリセットされない構成になってい
る。これは各演算ごとに実行する必要があったエラー処
理判断を、一連の演算処理を実行した後、一度だけ行う
ことを可能とし、処理速度の向上を図るために用意され
ている。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】本発明の目的は、飽和演算端子を使うこと
でブレークを掛けずにプログラムを動かし続けながら、
オーバーフローフラグの変化点をさかのぼることで飽和
演算の異常結果の原因を解析することができるインサー
キットエミュレータおよび飽和演算処理方法を提供する
ことにある。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】本発明の飽和演算処理方法は、飽和演算命
令直後に飽和処理の有無の判断と飽和処理の記憶に要す
る処理のオーバーヘッドを不要とした演算装置を有する
情報処理装置と、プロセッサからデバック装置に送出さ
れるトレースデータを記憶する記憶領域であるトレース
メモリとを備えるインサーキットエミュレータにおける
飽和演算処理方法であって、a)前記トレースメモリの
飽和演算処理フラグをリセットし、プログラムが実行さ
れ実行履歴が残ると、前記トレースメモリからオーバー
フローフラグを読み込むステップと、b)前記トレース
メモリのオーバーフローフラグがセットされているか否
かを判断するステップと、c)判断の結果セットされて
いない場合、動作を終了するステップと、d)判断の結
果セットされている場合、オーバーフローのフラグの変
化点の1つ前の飽和演算命令の検出を判断するステップ
と、e)判断の結果検出されない場合ステップdへ戻
り、判断の結果検出された場合ユーザへ通知し動作を終
了するステップとを含むことを特徴とする。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正内容】
【0018】さらに本発明のプログラムを記録した記録
媒体は、飽和演算命令直後に飽和処理の有無の判断と飽
和処理の記憶に要する処理のオーバーヘッドを不要とし
た演算装置を有する情報処理装置と、プロセッサからデ
バック装置に送出されるトレースデータを記憶する記憶
領域であるトレースメモリとを備えるインサーキットエ
ミュレータにおける飽和演算処理方法であって、a)前
記トレースメモリのオーバーフローフラグをクリアし、
プログラムが実行されトレーサに実行履歴が残ると、
記トレースメモリからオーバーフローフラグを読み込む
ステップと、b)飽和演算のオーバーフローフラグの変
化点があるか否かを判断するステップと、c)判断の結
果セットされていない場合、動作を終了するステップ
と、d)判断の結果セットされている場合、オーバーフ
ローのフラグの変化点の1つ前の飽和演算命令の検出を
判断するステップと、e)判断の結果検出されない場合
ステップdへ戻り、判断の結果検出された場合ユーザへ
通知し動作を終了するステップとを含むことを特徴とす
る。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正内容】
【0020】マイクロコンピュータ内部のキャリーやゼ
ロフラグなどのプログラムの状態を示すbit群である
PSW(program status word)の
飽和演算オーバーフローフラグは、バッファ22を介し
てSAT端子20に出力される。これを直接トレースメ
モリ16に書き込む。一度セットされた飽和演算オーバ
ーフローフラグ(SATフラグ)は、飽和演算オーバー
フローフラグ(SATフラグ)をクリアする機能を有し
た命令が実行された時にデータバスを介してクリアされ
る。クリアする命令かどうかは命令デコーダ26によっ
て判別される。前記のようにトレーサに記録された命令
と飽和演算オーバーフローフラグの関係付けはインサー
キットエミュレータのソフトウエアで行う。
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成12年1月21日(2000.1.2
1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【請求項】飽和演算命令直後に飽和処理の有無の判断
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とした演算装置を有する情報処理装置と、プロセッサか
らデバック装置に送出されるトレースデータを記憶する
記憶領域であるトレースメモリとを備えるインサーキッ
トエミュレータにおいて、 前記情報処理装置でおこなわれる飽和演算命令を含むプ
ログラムの実行中に、プログラムの状態を示すビット群
であるPSWのビットを前記トレースメモリに格納し、
オーバーフローが起こるとどの飽和演算命令で発生した
かを通知し、 命令レジスタに入っているコマンドを読んで対象となる
アドレスを求め、命令を実行する基礎的な手続であるフ
ェッチのデータの信号経路であるフェッチデータバス
と、 前記フェッチデータバスと接続され、前記トレースメモ
リに書込む命令を命令フェッチのタイミングで捕まえ、
命令の実行タイミングに合わせて前記トレースメモリに
出力する命令アライナと、 前記情報処理装置での飽和演算の結果のオーバーフロー
フラグを前記トレースメモリへ通知するための信号を出
力するSAT端子と、 前記情報処理装置の前記PSWの信号を受信し前記SA
T端子に出力するバッファと、 データバス上の端子で前記フェッチデータバスからのデ
ータを入出力するデータバス端子と、を備える ことを特
徴とするインサーキットエミュレータ。
【請求項飽和演算命令直後に飽和処理の有無の判断
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とした演算装置を有する情報処理装置と、プロセッサか
らデバック装置に送出されるトレースデータを記憶する
記憶領域であるトレースメモリとを備えるインサーキッ
トエミュレータにおいて、 前記情報処理装置でおこなわれる飽和演算命令を含むプ
ログラムの実行中に、プログラムの状態を示すビット群
であるPSWのビットを前記トレースメモリに格納し、
オーバーフローが起こるとどの飽和演算命令で発生した
かを通知し、 命令レジスタに入っているコマンドを読んで対象となる
アドレスを求め、命令を実行する基礎的な手続であるフ
ェッチのデータの信号経路であるフェッチデータバス
と、 前記フェッチデータバスと接続され、前記トレースメモ
リに書込む命令を命令フェッチのタイミングで捕まえ、
命令の実行タイミングに合わせて前記トレースメモリに
出力する命令アライナと、 前記情報処理装置での飽和演算の結果のオーバーフロー
フラグを前記トレースメモリへ通知するための信号を出
力するSAT端子と、 前記情報処理装置の前記PSWの信号を受信し前記SA
T端子に出力するバッファと、 データバス上の端子で前記フェッチデータバスからのデ
ータを入出力するデータバス端子とを備え、 前記トレースメモリは、前記SAT端子から出力される
前記オーバーフローフラグを格納する記憶領域をもち、
前記オーバーフローが発生すると前記記憶領域を解析す
ることにより前記オーバーフローの原因の解析を可能と
することを特徴とするインサーキットエミュレータ。
【請求項】飽和演算命令直後に飽和処理の有無の判断
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とした演算装置を有する情報処理装置と、プロセッサか
らデバック装置に送出されるトレースデータを記憶する
記憶領域であるトレースメモリとを備えるインサーキッ
トエミュレータにおける飽和演算処理方法であって、 a)前記トレースメモリのオーバーフローフラグをクリ
アし、プログラムが実行されトレーサに実行履歴が残る
と、前記トレースメモリからオーバーフローフラグを読
み込むステップと、 b)飽和演算のオーバーフローフラグの変化点があるか
否かを判断するステップと、 c)判断の結果セットされていない場合、動作を終了す
るステップと、 d)判断の結果セットされている場合、オーバーフロー
のフラグの変化点の1つ前の飽和演算命令の検出を判断
するステップと、 e)判断の結果検出されない場合ステップdへ戻り、判
断の結果検出された場合ユーザへ通知し動作を終了する
ステップと、を含むことを特徴とする飽和演算処理方
法。
【請求項】飽和演算命令直後に飽和処理の有無の判断
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とした演算装置を有する情報処理装置と、プロセッサか
らデバック装置に送出されるトレースデータを記憶する
記憶領域であるトレースメモリとを備えるインサーキッ
トエミュレータにおける飽和演算処理方法であって、 a)飽和演算フラグをリセットするステップと、 b)命令実行アドレス、命令コードなどを前記トレース
メモリから読み出ステップと、 c)飽和演算命令か否か命令デコードして判断するステ
ップと、 d)判断の結果飽和演算命令でないときステップgへ進
み、判断の結果飽和演算命令であるとき飽和演算命令処
理フラグをセットし通常のトレース表示処理をおこなう
ステップと、 e)トレースメモリのオーバーフローフラグがセットさ
れているか判断するステップと、 f)判断の結果オーバーフローフラグがセットされてい
ない場合、ステップhへ進むステップと、 g)判断の結果オーバーフローフラグがセットされてい
る場合、以前に実行したオーバーフローを起こした命令
を検索し、オーバーフローを起こした命令を検出する
と、オーバーフローを起した飽和演算命令であることを
ユーザに通知し、次のトレース処理のため前記処理フラ
グをリセットするステップと、 h)前記トレースメモリのトレーサの実行履歴の表示を
終了したか否かを判断するステップと、 i)判断の結果終了していない場合ステップcへ戻り、
判断の結果終了していると動作を終了するステップと、
を含むことを特徴とする飽和演算処理方法。
【請求項】飽和演算命令直後に飽和処理の有無の判断
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とした演算装置を有する情報処理装置と、プロセッサか
らデバック装置に送出されるトレースデータを記憶する
記憶領域であるトレースメモリとを備えるインサーキッ
トエミュレータにおける飽和演算処理方法であって、 a)前記トレースメモリの飽和演算処理フラグをリセッ
トし、前記トレースメモリからオーバーフローフラグを
読み込むステップと、 b)前記トレースメモリのオーバーフローフラグがセッ
トされているか否かを判断するステップと、 c)判断の結果セットされていない場合、動作を終了す
るステップと、 d)判断の結果セットされている場合、オーバーフロー
のフラグの変化点の1つ前の飽和演算命令の検出を判断
するステップと、 e)判断の結果検出されない場合ステップdへ戻り、判
断の結果検出された場合ユーザへ通知し動作を終了する
ステップと、を含むことを特徴とするプログラムを記録
した記録媒体。
【請求項10】飽和演算命令直後に飽和処理の有無の判
断と飽和処理の記憶に要する処理のオーバーヘッドを不
要とした演算装置を有する情報処理装置と、プロセッサ
からデバック装置に送出されるトレースデータを記憶す
る記憶領域であるトレースメモリとを備えるインサーキ
ットエミュレータにおける飽和演算処理方法であって、 a)飽和演算フラグをリセットするステップと、 b)命令実行アドレス、命令コードなどを前記トレース
メモリから読み出ステップと、 c)飽和演算命令か否か命令デコードして判断するステ
ップと、 d)判断の結果飽和演算命令でないときステップgへ進
み、判断の結果飽和演算命令であるとき飽和演算命令処
理フラグをセットし通常のトレース表示処理をおこなう
ステップと、 e)トレースメモリのオーバーフローフラグがセットさ
れているか判断するステップと、 f)判断の結果オーバーフローフラグがセットされてい
ない場合、ステップhへ進むステップと、 g)判断の結果オーバーフローフラグがセットされてい
る場合、以前に実行したオーバーフローを起こした命令
を検索し、オーバーフローを起こした命令を検出する
と、オーバーフローを起した飽和演算命令であることを
ユーザに通知し、次のトレース処理のため前記処理フラ
グをリセットするステップと、 h)前記トレースメモリのトレーサの実行履歴の表示を
終了したか否かを判断するステップと、 i)判断の結果終了していない場合ステップcへ戻り、
判断の結果終了していると動作を終了するステップと、
を含むことを特徴とするプログラムを記録した記録媒
体。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】飽和演算命令直後に飽和処理の有無の判断
    と飽和処理の記憶に要する処理のオーバーヘッドを不要
    とした演算装置を有する情報処理装置と、プロセッサか
    らデバック装置に送出されるトレースデータを記憶する
    記憶領域であるトレースメモリとを備えるインサーキッ
    トエミュレータにおいて、 前記情報処理装置でおこなわれる飽和演算命令を含むプ
    ログラムの実行中に、プログラムの状態を示すビット群
    であるPSWのビットを前記トレースメモリに格納し、
    オーバーフローが起こるとどの飽和演算命令で発生した
    かを通知することを特徴とするインサーキットエミュレ
    ータ。
  2. 【請求項2】命令レジスタに入っているコマンドを読ん
    で対象となるアドレスを求め、命令を実行する基礎的な
    手続であるフェッチのデータの信号経路であるフェッチ
    データバスと、 前記フェッチデータバスと接続され、前記トレースメモ
    リに書込む命令を命令フェッチのタイミングで捕まえ、
    命令の実行タイミングに合わせて前記トレースメモリに
    出力する命令アライナと、 前記情報処理装置での飽和演算の結果のオーバーフロー
    フラグを前記トレースメモリへ通知するための信号を出
    力するSAT端子と、 前記情報処理装置の前記PSWの信号を受信し前記SA
    T端子に出力するバッファと、 データバス上の端子で前記フェッチデータバスからのデ
    ータを入出力するデータバス端子と、を備えることを特
    徴とする請求項1記載のインサーキットエミュレータ。
  3. 【請求項3】前記トレースメモリは、前記SAT端子か
    ら出力される前記オーバーフローフラグを格納する記憶
    領域をもち、前記オーバーフローが発生すると前記記憶
    領域を解析することにより前記オーバーフローの原因の
    解析を可能とすることを特徴とする請求項2記載の飽和
    演算処理方法。
  4. 【請求項4】飽和演算命令直後に飽和処理の有無の判断
    と飽和処理の記憶に要する処理のオーバーヘッドを不要
    とした演算装置を有する情報処理装置と、プロセッサか
    らデバック装置に送出されるトレースデータを記憶する
    記憶領域であるトレースメモリとを備えるインサーキッ
    トエミュレータにおける飽和演算処理方法であって、 a)前記トレースメモリの飽和演算処理フラグをリセッ
    トし、前記トレースメモリからオーバーフローフラグを
    読み込むステップと、 b)SATフラグがセットされているか否かを判断する
    ステップと、 c)判断の結果セットされていない場合、動作を終了す
    るステップと、 d)判断の結果セットされている場合、オーバーフロー
    のフラグの変化点の1つ前の飽和演算命令の検出を判断
    するステップと、 e)判断の結果検出されない場合ステップdへ戻り、判
    断の結果検出された場合ユーザへ通知し動作を終了する
    ステップと、を含むことを特徴とする飽和演算処理方
    法。
  5. 【請求項5】飽和演算命令直後に飽和処理の有無の判断
    と飽和処理の記憶に要する処理のオーバーヘッドを不要
    とした演算装置を有する情報処理装置と、プロセッサか
    らデバック装置に送出されるトレースデータを記憶する
    記憶領域であるトレースメモリとを備えるインサーキッ
    トエミュレータにおける飽和演算処理方法であって、 a)飽和演算フラグをリセットするステップと、 b)命令実行アドレス、命令コードなどを前記トレース
    メモリから読み出ステップと、 c)飽和演算命令か否か命令デコードして判断するステ
    ップと、 d)判断の結果飽和演算命令でないときステップgへ進
    み、判断の結果飽和演算命令であるとき飽和演算命令処
    理フラグをセットし通常のトレース表示処理をおこなう
    ステップと、 e)トレースメモリのオーバーフローフラグがセットさ
    れているか判断するステップと、 f)判断の結果オーバーフローフラグがセットされてい
    ない場合、ステップhへ進むステップと、 g)判断の結果オーバーフローフラグがセットされてい
    る場合、以前に実行したオーバーフローを起こした命令
    を検索し、オーバーフローを起こした命令を検出する
    と、オーバーフローを起した飽和演算命令であることを
    ユーザに通知し、次のトレース処理のため前記処理フラ
    グをリセットするステップと、 h)前記トレースメモリのトレーサの実行履歴の表示を
    終了したか否かを判断するステップと、 i)判断の結果終了していない場合ステップcへ戻り、
    判断の結果終了していると動作を終了するステップと、
    を含むことを特徴とする飽和演算処理方法。
  6. 【請求項6】飽和演算命令直後に飽和処理の有無の判断
    と飽和処理の記憶に要する処理のオーバーヘッドを不要
    とした演算装置を有する情報処理装置と、プロセッサか
    らデバック装置に送出されるトレースデータを記憶する
    記憶領域であるトレースメモリとを備えるインサーキッ
    トエミュレータにおける飽和演算処理方法であって、 a)前記トレースメモリの飽和演算処理フラグをリセッ
    トし、前記トレースメモリからオーバーフローフラグを
    読み込むステップと、 b)SATフラグがセットされているか否かを判断する
    ステップと、 c)判断の結果セットされていない場合、動作を終了す
    るステップと、 d)判断の結果セットされている場合、オーバーフロー
    のフラグの変化点の1つ前の飽和演算命令の検出を判断
    するステップと、 e)判断の結果検出されない場合ステップdへ戻り、判
    断の結果検出された場合ユーザへ通知し動作を終了する
    ステップと、を含むことを特徴とするプログラムを記録
    した記録媒体。
  7. 【請求項7】飽和演算命令直後に飽和処理の有無の判断
    と飽和処理の記憶に要する処理のオーバーヘッドを不要
    とした演算装置を有する情報処理装置と、プロセッサか
    らデバック装置に送出されるトレースデータを記憶する
    記憶領域であるトレースメモリとを備えるインサーキッ
    トエミュレータにおける飽和演算処理方法であって、 a)飽和演算フラグをリセットするステップと、 b)命令実行アドレス、命令コードなどを前記トレース
    メモリから読み出ステップと、 c)飽和演算命令か否か命令デコードして判断するステ
    ップと、 d)判断の結果飽和演算命令でないときステップgへ進
    み、判断の結果飽和演算命令であるとき飽和演算命令処
    理フラグをセットし通常のトレース表示処理をおこなう
    ステップと、 e)トレースメモリのオーバーフローフラグがセットさ
    れているか判断するステップと、 f)判断の結果オーバーフローフラグがセットされてい
    ない場合、ステップhへ進むステップと、 g)判断の結果オーバーフローフラグがセットされてい
    る場合、以前に実行したオーバーフローを起こした命令
    を検索し、オーバーフローを起こした命令を検出する
    と、オーバーフローを起した飽和演算命令であることを
    ユーザに通知し、次のトレース処理のため前記処理フラ
    グをリセットするステップと、 h)前記トレースメモリのトレーサの実行履歴の表示を
    終了したか否かを判断するステップと、 i)判断の結果終了していない場合ステップcへ戻り、
    判断の結果終了していると動作を終了するステップと、
    を含むことを特徴とするプログラムを記録した記録媒
    体。
JP10350957A 1998-12-10 1998-12-10 インサーキットエミュレータおよび飽和演算処理方法 Expired - Fee Related JP3068578B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10350957A JP3068578B2 (ja) 1998-12-10 1998-12-10 インサーキットエミュレータおよび飽和演算処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10350957A JP3068578B2 (ja) 1998-12-10 1998-12-10 インサーキットエミュレータおよび飽和演算処理方法

Publications (2)

Publication Number Publication Date
JP2000172523A true JP2000172523A (ja) 2000-06-23
JP3068578B2 JP3068578B2 (ja) 2000-07-24

Family

ID=18414069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10350957A Expired - Fee Related JP3068578B2 (ja) 1998-12-10 1998-12-10 インサーキットエミュレータおよび飽和演算処理方法

Country Status (1)

Country Link
JP (1) JP3068578B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539578A (ja) * 2007-09-14 2010-12-16 エアバス オペレーションズ (エスアーエス) 航空機搭載のシステムのオペレーション・ソフトウェアをデバッグする方法およびその方法を実施するためのデバイス

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539578A (ja) * 2007-09-14 2010-12-16 エアバス オペレーションズ (エスアーエス) 航空機搭載のシステムのオペレーション・ソフトウェアをデバッグする方法およびその方法を実施するためのデバイス
US8650547B2 (en) 2007-09-14 2014-02-11 Airbus Operations Sas Method for debugging operational software of a system onboard an aircraft and device for implementing the same

Also Published As

Publication number Publication date
JP3068578B2 (ja) 2000-07-24

Similar Documents

Publication Publication Date Title
JP5905911B2 (ja) シングルステップ実行を用いる診断コード
JP2005317023A (ja) データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法
KR20070109432A (ko) 커널 인지 디버깅 장치 및 방법
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
US20070226418A1 (en) Processor and method for controlling processor
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
JP3068578B2 (ja) インサーキットエミュレータおよび飽和演算処理方法
JP2006323726A (ja) モニタプログラムおよびリアルタイムトレースシステム
JPH04145544A (ja) デバッグ装置
JPH03113648A (ja) プログラムデバツグ方式
JP3011115B2 (ja) デバッグシステム
JP2002116926A (ja) プログラム処理装置およびプログラム処理方法
JPH0528002A (ja) マイクロプロセツサ
JP2967741B2 (ja) Cpu互換性テスト装置
JPH05224989A (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
JPH06202907A (ja) デバッグ支援装置
JP2005267349A (ja) プロセッシングモジュールおよびその制御方法
JPS58169262A (ja) 構造化プログラムの実行状態データ収集方法および構造化プログラム処理装置
JPH01145740A (ja) マルチプロセス用エミユレータ
JPH0736735A (ja) デバッグ装置
JPH03175539A (ja) デバッグ用マイクロプロセッサ
JPH07248935A (ja) 情報処理装置の試験方法,及び試験装置
JPH07319724A (ja) エミュレーションcpu
JPH03134742A (ja) デバッグ装置
JPH01214942A (ja) インサーキット・エミュレータ

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees