JP3073848B2 - データ処理装置の試験方法 - Google Patents

データ処理装置の試験方法

Info

Publication number
JP3073848B2
JP3073848B2 JP05016219A JP1621993A JP3073848B2 JP 3073848 B2 JP3073848 B2 JP 3073848B2 JP 05016219 A JP05016219 A JP 05016219A JP 1621993 A JP1621993 A JP 1621993A JP 3073848 B2 JP3073848 B2 JP 3073848B2
Authority
JP
Japan
Prior art keywords
test
microprogram
information
data processing
processing device
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 - Fee Related
Application number
JP05016219A
Other languages
English (en)
Other versions
JPH06231000A (ja
Inventor
哲 染谷
淳一 田代
善太郎 廣瀬
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 JP05016219A priority Critical patent/JP3073848B2/ja
Publication of JPH06231000A publication Critical patent/JPH06231000A/ja
Application granted granted Critical
Publication of JP3073848B2 publication Critical patent/JP3073848B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理装置の試験
方式に関し、特にランダムに試験命令群を生成して被試
験データ処理装置の処理機能を試験する方法に関する。
【0002】
【従来の技術】データ処理装置の高性能化を支える技術
として、命令を幾つかの処理ステップ(ステージ)に分
解し、各装置(ユニット)が特定のステージを1マシン
サイクル毎に処理するパイプライン処理方式が広く採用
されている。この先行制御機能とも呼ばれるパイプライ
ン処理は、複雑かつ大規模な論理により実現されてお
り、先行制御の度合が非常に深くなっている。そのた
め、先行制御機能の検証は試験命令群の命令数拡大によ
る複雑な機能組合せの発生によって、データ処理装置
(命令プロセッサ)に高負荷を与えた条件化での試験が
重要である。
【0003】論理検証を目的とした試験プログラムの中
で、乱数データを入力として試験命令群を生成する乱数
試験プログラムは、命令、オペランド、データ等の多種
多様な組合せをランダムに発生させ無限(実際は、有限
であるはず)に近い試験命令群を生成しうるが、乱数デ
ータの性格上むやみに試験命令を生成しても発散してし
まい有効な検証を行えない可能性が高い。そこで、試験
命令生成に関し人為的操作(アルゴリズム)が加わる
が、論理構造に適合したものが望ましい。したがって、
ある程度限定された範囲内で乱数性に期待する構造とす
るのが常套手段とされる。以下にランダム試験に関する
幾つかの従来技術について説明する。
【0004】例えば、特開昭63−65539号には、
ランダム試験プログラムを用いて、ページング機能試験
を効率良く実行する方法が開示されている。これは、ラ
ンダムに発生させた試験命令群を実行させた結果と、該
試験命令群がアクセスするオペランドの任意のページを
無効にして試験命令群を実行し、ページフォルトが報告
された時、無効ページを有効にして、上記試験命令群の
実行を再開させた実行結果とを比較することによりペー
ジング機能を試験するものである。
【0005】特開昭62−203239号には、被試験
情報処理装置上でランダムに発生させた試験命令群の実
行中に、被試験情報処理装置を試験するため接続される
試験処理装置から負荷(例えば、メモリアクセスや装置
間通信など先行制御を乱すような要因と考えられる)を
与えて、被試験情報処理装置を試験する方法が開示され
ている。
【0006】特開昭63−136851号には、乱数デ
ータを入力として試験命令群を生成する乱数試験プログ
ラムを用いて、パイプライン処理の試験を分岐命令に着
目して実行する方法が開示されている。即ち、命令を幾
つかのステージに分解し、各ユニットが特定のステージ
を1マシンサイクル毎に処理するパイプライン処理で
は、分岐命令の出現により一時的に後続命令の実行に不
確実性をもたらしパイプラインが大きく乱される。これ
は分岐条件が成立するか否かにより分岐成功側か分岐不
成功側のいずれを実行するかを決定するまでの間、予測
した後続命令処理を継続しており、予測失敗の場合先行
処理をすべてキャンセルしなければならない。特開昭6
3−136851号はこの時の動作を試験するものであ
る。
【0007】特開平2−244337号には、乱数デー
タを入力として試験命令群を生成する乱数試験プログラ
ムを用いて、パイプライン処理の試験を高負荷を与えた
環境で実行するために必要な大規模な試験命令群を生成
する方法が開示されている。乱数データを用いる性格
上、命令に関する例外の発生確率が高くなるのは必至で
あり、命令やデータを補正する必要がある。補正は、試
験命令群実行時に補正しながらリスタートさせる方法
と、命令生成時に補正する方法が考えられる。前者の方
法では、試験命令群実行中に例外の発生により試験が中
断されてパイプライン処理の試験を実施する上ではあま
り良い方法ではないと考えられる。特開平2−2443
3号は、命令生成時に補正する方法を用いて、有効な試
験命令群を効率良く生成するものである。
【0008】
【発明が解決しようとする課題】前述の従来技術では、
乱数の特徴である多種多様な組合せ動作の発生の可能性
を、あるアルゴリズムのもとで試験として実現してい
る。しかし、人間の思考の範囲内で大規模かつ膨大な論
理(特に、先行制御機構など)の組合せ試験をアルゴリ
ズム化することは、現実的には困難であり、あとは乱数
性に期待する部分があることは否定できない。この場
合、命令生成のアルゴリズム自体に洩れが生じたり、乱
数性に期待した部分に偏りが発生する可能性もあり、ま
た、装置をどこまで検証できたのかが不明確であり、論
理の検証を実施したあとに、さらに検証自体を評価する
方法が必要となってくる。つまり、不良が存在しないの
か、もしくは、これ以上に試験の実行を継続しても不良
を検出できないのかを判断する指標が必要となる。
【0009】本発明の目的は、上記従来の課題を解決
し、データ処理装置の動作状態を監視するだけでなく、
試験に偏りが生じたり、試験洩れを自動修正可能なデー
タ処理装置の試験方法を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明は、乱数データを入力として試験命
令群を繰り返し生成し、被試験命令群を被試験データ処
理装置に実行させて該データ処理装置を試験する方法に
おいて、試験命令群による前記データ処理装置での実行
結果を採取する処理と、乱数データを入力として次の試
験命令群を生成する際、前記採取した実行結果をフィー
ドバックして、次の新たな試験命令群を生成する処理
と、有することを特徴とするものである。
【0011】請求項2の発明は、請求項1記載のデータ
処理装置の試験方法において、前記生成した試験命令群
の実行結果の期待値をシミュレーションにより作成する
処理を有し、乱数データを入力して次の試験命令群を生
成する際、前の試験試験命令群によるデータ処理装置で
の実行結果と期待値を比較し、その比較結果に基づいて
次の試験命令群を生成することを特徴とするものであ
る。
【0012】請求項3の発明は請求項1もしくは2記載
のデータ処理装置の試験方法において、前記採取した実
行結果を解読し、データ変換してフィードバックするこ
とを特徴とするものである。
【0013】請求項4の発明は、請求項1,2もしくは
3記載のデータ処理装置の試験方法において、生成され
た試験命令群の実行による前記データ処理装置の検証状
況を編集・出力する処理を有することを特徴とするもの
である。
【0014】請求項5の発明は、請求項1,2,3もし
くは4記載のデータ処理装置の試験方法において、被試
験データ処理装置は実データ処理装置もしくは該データ
処理装置の動作をシミュレートする論理シミュレーショ
ン装置であることを特徴とするものである。
【0015】
【作用】本発明では、データ処理装置に内蔵された、実
行サイクル毎の信号を逐次追跡するステージトレーサ、
データ処理装置の特定事象の発生回数や処理時間をモニ
タリングするハ−ドウェアモニタ、マイクロプログラム
分岐情報をトレースするマイクロプログラムカバレージ
トレーサなどから、装置の論理動作やマイクロプログラ
ム動作に関する論理信号追跡情報、特定事象の情報、マ
イクロプログラム分岐情報などのプロセッサ情報を取得
する。そして、乱数を入力として試験命令群を生成する
際に、これらの取得したプロセッサ情報を次の試験命令
群生成にフィードバック(反映)させ、検証されていな
い部位、つまり、論理回路及びマイクロプログラムなど
がまだ動作していない部位の検証を実施するための試験
命令群を生成する。これにより、試験に偏りが生ずるこ
とや試験洩れの発生を自動修正することが可能であり、
無意味な試験や重複した試験の実行を回避でき、有効な
試験命令を効率良く実行させることにより、検証期間の
短縮を図ることができる。また、検証された論理動作及
びマイクロプログラム動作を容易に把握することができ
る。
【0016】
【実施例】以下、本発明の一実施例についてを図面によ
り詳細に説明する。
【0017】図1は、本発明の試験方式を適用して試験
を行うデータ処理装置構成の一実施例を示すブロック図
である。図1において、データ処理装置1は、命令を処
理する命令プロセッサ(IP)2と、命令プロセッサ2
の実行サイクル毎の論理動作を逐次追跡するステージト
レーサ3と、ステージトレーサ3により追跡された論理
動作のトレース情報をロギング(蓄積)する記憶素子4
と、命令プロセッサ2の特定事象の発生回数や処理時間
をモニタリングするハ−ドウェアモニタ5と、マイクロ
プログラム動作情報すなわちマイクロプログラム分岐情
報をトレースするためハ−ドウェアモニタ5に内蔵され
るマイクロプログラムカバレージトレーサ6と、ハ−ド
ウェアモニタ5によりモニタリングされたモニタリング
情報及びマイクロプログラムカバレージトレーサ6によ
りトレースされたマイクロプログラム分岐情報を蓄積す
る記憶素子7と、主記憶装置(MS)8と、制御記憶装
置(CS)9をとから構成される。
【0018】主記憶装置(MS)8には、乱数を入力と
して生成された試験命令群からなる試験プログラム8′
が格納されている。制御記憶装置(CS)9にはマイク
ロプログラムが格納されている。命令プロセッサ2は、
主記憶装置8の試験プログラム8′の試験命令を順次フ
ェッチし、制御記憶装置9のマイクロプログラムを起動
して試験命令を実行する。
【0019】サービスプロセッサ(SVP)10は、デ
ータ処理装置1の保守および診断のために使用される
が、本実施例では、該サービスプロセッサ10が後述の
試験制御部12を具備しているとする。このサービスプ
ロセッサ10には、試験のための種々のファイル、テー
ブルを格納するハードディスク(HD)11が備えられ
ている。
【0020】図2に試験制御部12の機能ブロック図を
示す。図2において、試験制御部12は、試験命令の生
成や試験の統合管理を行う監視・制御部13と、試験命
令群の生成処理を行う試験命令生成部14と、ステージ
トレーサ3の動作を制御するステージトレーサ起動・停
止処理部15と、ステージトレーサ3により追跡された
論理動作のトレース情報を採取するトレース情報採取処
理部16と、ハ−ドウェアモニタ5の動作を制御するハ
−ドウェアモニタ起動・停止処理部17と、ハ−ドウェ
アモニタ5によりモニタリングされた情報を採取するモ
ニタリング情報採取処理部18と、ハ−ドウェアモニタ
5に内蔵されるマイクロプログラムカバレージトレーサ
6の動作を制御するマイクロプログラムカバレージトレ
ーサ起動・停止処理部19と、マイクロプログラムカバ
レージトレーサ6によりトレースされたマイクロプログ
ラム分岐情報を採取するマイクロプログラムカバレージ
情報採取部20と、トレース情報採取処理部16、モニ
タリング情報採取処理部18、もしくは、マイクロプロ
グラムカバレージ情報採取部20により、またはこれら
すべてにより採取したプロセッサ情報(命令プロセッサ
2の論理動作、マイクロプログラム動作に関する情報)
を解読し、データを変換処理するプロセッサ情報解読・
データ変換処理部21と、該プロセッサ情報解読・デー
タ変換処理部21での処理結果のプロセッサ情報(検証
状況)を編集して出力するためのプロセッサ情報編集・
出力部22とから構成される。プロセッサ情報解読・デ
ータ変換処理部21のプロセッサ情報は試験命令生成部
14にフィードバックされ、次の試験命令生成に反映さ
れる。
【0021】図3は試験制御部12の全体の処理を示す
処理フローチャートである。図3中、ステップ32はプ
ロセッサ情報解読・データ変換処理部21でプロセッサ
情報からフィードバック情報を作成する処理である。ス
テップ33は試験命令生成部14で乱数データを入力
し、ステップ32で作成したフィードバック情報を参照
しながら試験命令生成を行う処理である。ステップ36
は起動・停止処理15,17,19がステージトレーサ
3もしくはハードウエアモニタ5またはマイクロプログ
ラムカバレージトレーサ6に起動を掛ける処理、ステッ
プ37は同じく停止させる処理である。ステップ39は
採取処理部16,18,20で命令プロセッサ2の論理
動作及びマイクロプログラム動作に関するプロセッサ情
報を採取する処理であり、ステップ32で参照されるプ
ロセッサ情報はステップ39で採取された情報である。
以下、図3の各ステップについて詳述する。
【0022】(1)監視/制御部3により乱数データが
発生される(ステップ30)。
【0023】(2)一連の試験実行において、あらかじ
め定めた任意の試験回数(例えば1回、2回等)が実行
されたか判定し、任意の試験回数に達している場合はス
テップ32を実行した後にステップ33に行き、達して
いない場合は直ちにステップ33に行く(ステップ3
1)。
【0024】(3)プロセッサ情報解読・データ変換処
理部21において後述するステップ39で採取したプロ
セッサ情報を解読し、データ変換をすることにより、試
験命令生成部14にフィードバックする情報を作成する
(ステップ32)。
【0025】採取したプロセッサ情報を解読・データ変
換するのは次の理由による。プロセッサ情報には、
(a)ステージトレーサ3によって採取した論理信号ト
レース情報と、(b)ハードウエアモニタ5によるデー
タ処理装置の特定事象(論理動作状態)の発生回数や処
理時間などのモニタリング(監視)情報と、(c)マイ
クロプログラムカバレージトレーサ6によりトレースし
たマイクロプログラム分岐情報などがあり、各々採取し
た情報のデータフォーマットが異なる。このため、採取
したプロセッサ情報を解読・データ変換して、同一フォ
ーマットのフィードバック情報を作成する必要がある。
後述する処理例では(c)のマイクロプログラム分岐情
報が解読・データ変換の対象となる。
【0026】また、任意のテスト回数が実行されたか判
定することにより、試験命令生成にプロセッサ情報を反
映させるかを決定する理由は、乱数試験プログラムが本
来持つ検証能力によりたいていの不良を検出することが
可能であり、すべての試験において完全にプロセッサ情
報を反映させる必要はなく、任意のテスト回数だけラン
ダムに生成した試験命令群を実行した時点で監視してい
たプロセッサ情報により、試験の軌道修正をするか否か
を決定すればよいことによる。つまり、例えば任意の命
令のマイクロプログラム処理に着目した場合、ランダム
に生成した試験命令群だけで、上記任意の命令のマイク
ロプログラム処理すべての試験が網羅できていたならば
軌道修正をする必要はない。
【0027】(4)試験命令生成部14において、デ−
タ処理装置1(命令プロセッサ2)の試験を実行するた
めの試験命令群を生成し、主記憶装置8にロードする
(ステップ33)。
【0028】試験命令生成処理では、(3)に記述した
ように、後述するステップ39で採取したプロセッサ情
報を解読し、データ変換して作成されたフィードバック
情報を参照し、軌道修正しながらランダムに試験命令を
生成する場合と、試験命令生成部14の乱数試験プログ
ラムが本来持っている命令生成アルゴリズムだけでラン
ダムに試験命令を生成する場合に処理が分けられる。こ
こで、フィードバック情報を参照し、軌道修正しながら
ランダムに試験命令を生成する場合、一義的に定められ
た処理手順を実行するのではなく、乱数性を保ちなが
ら、命令生成アルゴリズム(試験内容)を制御していく
のであって、乱数試験の範囲を限定するものではない。
【0029】(5)ステップ33での試験命令生成処理
において、所定の試験命令数分生成したかをチェック
し、達するまでステップ33の処理を継続する。達した
場合には次の処理ステップに移る(ステップ34)。所
定の試験命令数とは何命令でもよく、あらかじめ設定さ
れた数やオペレータによる指定も可能であるが、極端に
少なかったり多過ぎることは、試験効率や試験精度の上
で避けるべきである。
【0030】(6)次に、ステップ33で生成したすべ
ての試験命令の期待値をシミュレーションすることによ
り求める(ステップ35)。
【0031】シミュレーションには、幾つかの方法があ
るが、ここでは簡易シミュレーションと詳細シミュレー
ションを用いた例について簡単に説明する。
【0032】簡易シミュレーションは、命令の実行環境
を、実際に試験命令が実行されるときとは変化させて、
同一命令を実行させることにより実現できる。実行環境
を変化させるとは、データそのものは変化させず、使用
するレジスタ番号やオペランド位置(アドレス)を変化
させ、同一命令を実行させることである。例えば、L命
令(ロード命令)を例にとると、第1オペランドのレジ
スタ番号と第2オペランドアドレス(ベースレジスタ)
を変化させてL命令を実行させることで期待値を求め
る。
【0033】詳細シミュレーションは、試験命令の実行
によって得られる結果を別の命令、または機能によって
求める方法である。例えば、MVC命令(ムーブ命令)
を例にとると、第2オペランドからIC命令(インサー
ト・キャラクタ命令)によって1バイト読出し、STC
命令(ストア・キャラクタ命令)によって第1オペラン
ドに1バイト格納する動作をオペランド長だけ繰り返せ
ば、MVC命令を実行したときと同一結果が求められる
ことになる。これは、あくまで、例であるので、ほかに
も方法は考えられ、限定されるものではない。
【0034】簡易シミュレーションと詳細シミュレーシ
ョンの何れの方法を使用するかは、状況により様々であ
るが、詳細シミュレーションでなければ検証精度が低下
するとは一概には言えない。なぜなら、試験プログラム
を実行する段階では、単一命令動作や基本機能動作は既
に検証されている場合が多く、詳細シミュレーションを
行っても命令(機能)レベルでの不良はあまり期待でき
ず、かえって試験効率の低下を招く可能性もある。むし
ろ、パイプライン機能に代表されるような先行制御で
は、前後の命令(機能)の関係が大きく影響するのであ
って、命令の期待値については簡易シミュレーションで
も充分な場合もある。
【0035】(7)ステージトレーサ3、ハードウェア
モニタ5、または、マイクロプログラムカバレージトレ
ーサ6、もしくは、これらすべてに対し起動を掛ける
(ステップ36)。
【0036】(8)ステップ33により生成された試験
命令群を命令プロセッサ2において実行する(ステップ
37)。この試験命令群の実行により、命令プロセッサ
2の各機能の動作(試験)状態が、ステージトレーサ
3、ハードウェアモニタ5、もしくは、マイクロプログ
ラムカバレージトレーサ6によって記憶素子4,7に書
き込まれる。
【0037】(9)試験命令群の実行が終了した時点で
即座に、ステージトレーサ3、ハードウェアモニタ5、
または、マイクロプログラムカバレージトレーサ6、も
しくは、これらすべてを停止させる(ステップ38)。
これは、試験命令群による実行以外のプログラム処理で
プロセッサ情報が破壊(更新)されることを防止するた
めである。つまり、試験命令の実行による純粋なプロセ
ッサ情報を採取するためである。
【0038】(10)トレース情報採取処理部16、モニ
タリング情報採取処理部18、マイクロプロセッサカバ
レージ情報採取処理部20において、ステップ37での
試験命令群の実行により記憶素子4,7に書き込まれた
命令プロセッサ2の論理動作及びマイクロプログラム動
作に関するプロセッサ情報を採取する(ステップ3
9)。
【0039】(11)プロセッサ情報解読・データ変換処
理部21では、ステップ35で求められた期待値とラン
ダムに生成した試験命令群を実行した結果値とが一致し
たか否かをチェックし、もし、不一致であればエラーメ
ッセージを出力する(ステップ40,41)。
【0040】(12)また、ステップ39で採取されたプ
ロセッサ情報を表示するか否かをチェックし、もし、表
示する要求があれば、プロセッサ情報編集・出力部22
によりプロセッサ情報を編集・出力する(ステップ4
2,43)。
【0041】(13)監視/制御部13では、試験を終了
させる条件が成立したか否かをチェックする(ステップ
44)。試験終了条件が成立していない場合には、前述
の全フローを繰り返して実行し、試験終了条件が成立し
ている場合には、乱数試験プログラムによる一連の試験
は終了する。
【0042】ここで、試験終了条件は幾つか考えられる
が、例えば、 (a)所定の試験回数を実行したか否かをチェックする
方法 (b)試験時間を監視する方法 (c)オペレータが終了指示を与えるまで試験を継続さ
せる方法 等がある。また、ステージトレーサ3、ハードウェアモ
ニタ5、もしくは、マイクロプログラムカバレージトレ
ーサ6によって記憶素子4,7及びハードディスク11
に書き込まれた、論理動作及びマイクロプログラム動作
に関するプロセッサ情報を監視することにより、デ−タ
処理装置1の各機能の試験が充分網羅されたと判断した
段階で試験を終了させてもよい。
【0043】次に、プロセッサ情報解読・データ変換処
理部21を中心とする詳細動作について、マイクロプロ
グラムカバレージトレーサ6によって記憶素子7に書き
込まれたマイクロプログラム分岐情報(カバレージ情
報)に関するプロセッサ情報を例にして説明する。な
お、ステージトレーサ3によるトレース情報やハードウ
ェアモニタ5によるモニタリング情報の場合についても
同様である。
【0044】図4は、マイクロプログラムカバレージト
レーサ6によって記憶素子7に書き込まれたマイクロプ
ログラム分岐情報から、マイクロプログラムカバレージ
情報(パス情報)を作成する処理の流れを概略的に示す
処理ブロック図である。ここで、マイクロプログラムソ
ースコードファイル53はデータ処理装置1の制御記憶
装置(CS)9内のマイクロプログラムを読み込んで作
成してもよいし、あるいは、ハードウェア(HD)11
上にあらかじめ用意しておいてもよい。
【0045】図4において、まず、アドレス情報作成処
理50でマイクロプログラムソースコードファイル53
からのデータを入力としてアドレス情報ファイル54を
作成する。次に、アドレス情報ファイル54のデータか
ら、カバレージ情報作成処理51により、カバレージ情
報ファイル55を作成する。一方、カバレージ情報更新
処理52では、マイクロプログラムカバレージ情報採取
処理部20により採取されたデータ処理装置1における
記憶素子7内のマイクロプログラム分岐情報を入力とし
てカバレージ情報ファイル55を更新する。次に、これ
ら各処理について詳細に説明する。
【0046】図5は、アドレス情報作成処理50を詳細
に説明する図である。アドレス情報作成処理50に入力
されるマイクロプログラムソースコードファイル53に
は、データ処理装置1の制御記憶装置(CS)9内のマ
イクロプログラムの処理機能が記述されている。ここ
で、マイクロプログラムは2分岐のアドレスを有し、次
のマイクロプログラムアドレスとしては、各々アドレス
1(ADDRA)およびアドレス2(ADDRB)を有
するものとする。アドレス情報作成処理50では、マイ
クロプログラムソースコードファイル53の中から、マ
イクロプログラムアドレス502,その分岐アドレスA
DDRA503,ADDRB504を抽出して、アドレ
ス情報ファイル54にアドレス情報テーブル501を作
成する。アドレス情報テーブル501には、各々のマイ
クロプログラムステップに対応して、自マイクロプログ
ラムアドレス502と次に実行する可能性をもつ次マイ
クロプログラムアドレスADDRA503,ADDRB
504が格納される。このようにして、各マイクロプロ
グラムアドレスとその分岐可能性を持つ次マイクロプロ
グラムアドレスを対応づけて格納したアドレス情報テー
ブル501が作成される。
【0047】図6は、カバレージ情報作成処理51を詳
細に説明する図である。このカバレージ情報作成処理5
1では、アドレス情報作成処理50により作成したアド
レス情報テーブル501のデータを入力して、カバレー
ジ情報ファイル55にカバレージテーブル601を作成
する。すなわち、カバレージ情報作成処理51では、ア
ドレス情報ファイル54の中のアドレス情報テーブル5
01からのデータを入力して、自マイクロプログラムア
ドレスと次に実行する可能性をもつ次マイクロプログラ
ムアドレスとを組合せて、1つのマイクロプログラムパ
スとしてパス識別名を付けて、各々のマイクロプログラ
ムパスを登録して、カバレージテーブル601を作成
し、カバレージ情報ファイル55に格納する。この結
果、カバレージ情報ファイル55のカバレージテーブル
601には、各々のマイクロプログラムパス602がパ
ス識別名を付けて登録され、登録されるマイクロプログ
ラムパス602に対して、その通過有無を記録する領域
603が設けられる。この通過有無を記録する領域60
3には、最初は初期値として値「0」が格納される。
【0048】図5,図6で説明した一連の処理の流れ
は、データ処理装置1の試験を開始するに先立って行わ
れ、その後、繰返し実行される試験の中で、カバレージ
情報更新処理52によるカバレージテーブル601の更
新処理が行われる。
【0049】図7は、カバレージ情報更新処理52を詳
細に説明する図である。図7において、データ処理装置
1内のマイクロプログラムカバレージトレーサ6により
トレースされたマイクロプログラム分岐情報を格納する
記憶素子7におけるマイクロプログラム分岐情報テーブ
ル701には、制御記憶装置9内のすべてのマイクロプ
ログラムアドレス502が格納され、データ処理装置1
の命令プロセッサ2が試験プログラム9の一連の試験命
令の実行によって、動作したマイクロプログラムの各マ
イクロプログラムアドレス502に対して、分岐条件に
対応した分岐有無を示す分岐情報として、NEXTA7
02あるいはNEXTB703に値「1」が登録され
る。カバレージ情報更新処理52では、データ処理装置
1内の記憶素子7におけるマイクロプログラム分岐情報
テーブル701のマイクロプログラムアドレス502と
分岐した方向の情報であるNEXTA702,NEXT
B703のデータを入力として、カバレージ情報ファイ
ル55のカバレージテーブル601におけるマイクロプ
ログラムパス602の分岐元アドレスとマイクロプログ
ラムアドレス502とを比較し、一致したマイクロプロ
グラムアドレスに対するマイクロプログラムパスについ
て、NEXTA702,NEXTB703に登録した情
報から、対応した通過有無の領域603に値「1」を登
録し、順次に通過有無の領域603のデータを更新す
る。データ処理装置1内の記憶素子7のマイクロプログ
ラム分岐情報テーブル701におけるマイクロプログラ
ムアドレス502には、存在するすべてのマイクロプロ
グラムアドレス502が格納されており、そのデータ量
は一定量となっている。このマイクロプログラムアドレ
ス502に対する分岐情報のNEXTA702,NEX
TB703は、初期値は値「0」であり、分岐する毎に
値「1」が格納される。
【0050】以上、試験命令生成処理部14にフィード
バックするためのカバレージ情報の作成を,マイクロプ
ログラムカバレージトレーサ6によりトレースされたマ
イクロプログラム分岐情報の場合を例に説明したが、本
発明は、これに限定されるものではなく、ステージトレ
ーサ3とハードウェアモニタ5により採取された論理信
号や特定事象の情報などを利用することも可能であるこ
とは言うまでもない。
【0051】次に、マイクロプログラムカバレージトレ
ーサ6によって記憶素子7に書き込まれたマイクロプロ
グラム分岐情報から作成されたカバレージ情報が試験命
令生成部14にフィードバックされて利用される処理に
ついて説明する。
【0052】図8は、マイクロプログラム分岐情報のカ
バレージ情報が試験命令生成処理にフィードバックされ
て利用される場合の、試験命令生成部14の処理の流れ
を概略的に示す処理ブロック図である。
【0053】まず、マイクロプログラム分岐条件作成処
理56で、マイクロプログラムソースコードファイル5
3とアドレス情報ファイル54からのデータを入力とし
てマイクロプログラム分岐情報ファイル57を作成す
る。このマイクロプログラム分岐情報ファイル57を入
力として、試験命令生成処理58によりランダムな試験
命令群が生成される。一方、カバレージ情報ファイル5
5には、前述したように試験命令群の実行によってデー
タ処理装置1が動作したマイクロプログラムのカバレー
ジ情報が格納されており、試験命令生成時にフィードバ
ック情報として試験命令生成部14に入力される。試験
命令生成処理58では、カバレージ情報ファイル55と
マイクロプログラム分岐情報ファイル57を参照するこ
とにより試験命令生成の制御を行う。
【0054】図9は、マイクロプログラム分岐条件作成
処理56の処理を詳細に説明する図である。図9におい
て、マイクロプログラム分岐条件作成処理56に入力さ
れるマイクロプログラムソースコードファイル53に
は、マイクロプログラム機能の処理が記述されている。
さらに、もうひとつの入力であるアドレス情報ファイル
54には、アドレス情報作成処理50により作成したア
ドレス情報テーブル501のデータが格納されている
(図5)。マイクロプログラム分岐条件作成処理56で
は、アドレス情報ファイル54の中のアドレス情報テー
ブル501からのデータを入力して、自マイクロプログ
ラムアドレスと次に実行する可能性をもつ次マイクロプ
ログラムアドレスとを組合せて、1つのマイクロプログ
ラムパスとしてパス識別名を付けて、各々のマイクロプ
ログラムパス802をマイクロプログラム分岐条件テー
ブル801に登録し、また、マイクロプログラムソース
コードファイル53に記述されているマイクロプログラ
ム処理機能からは、マイクロプログラム処理の分岐条件
(テスト条件)803をマイクロプログラム分岐条件テ
ーブル801に登録し、マイクロプログラム分岐情報フ
ァイル57に格納する。
【0055】試験命令生成処理58では、あらかじめ定
めた試験回数に達しない間は、乱数試験プログラムが本
来持っている命令生成アルゴリズムだけでランダムに試
験命令群を生成する。マイクロプログラム分岐情報ファ
イル57のマイクロプログラム分岐条件テーブル801
における通過期待値804には、シミュレーションによ
り、上記ランダムに生成された試験命令群の実行によっ
て通過するはずである期待値が格納される。次に、一連
の試験実行において、あらかじめ定めた試験回数が実行
された後は、試験命令生成処理58では、マイクロプロ
グラム分岐情報ファイル57のマイクロプログラムの分
岐条件テーブル801(図8)とカバレージ情報ファイ
ル55のカバレージテーブル601(図7)のデータを
比較することにより(具体的には通過期待値804と通
過有無603を比較)、未通過のマイクロプログラム動
作(パス)を試験可能な試験命令群を生成する。
【0056】なお、図9における通過期待値804は、
ランダムに生成された試験命令群の実行によって通過す
るはずである期待値が格納され、上記試験命令群の実行
によってデータ処理装置1が動作してマイクロプログラ
ムカバレージトレーサ6によって記憶素子7に書き込ま
れたマイクロプログラム分岐情報と比較することによ
り、検証状況を把握することが可能である。
【0057】以上、本発明の一実施例について説明した
が、図1において、試験制御部12はデータ処理装置1
にあってもよい。この場合、データ処理装置1は、ある
ときは被試験データ処理装置となり、また、あるときに
は試験制御部12の各機能(図2)を実行する試験制御
処理装置の性質をもつことになる。これは、試験制御部
12と同様の試験制御プログラムを主記憶装置8上に用
意し、命令プロセッサ2が実行することで実現する。
【0058】また、試験対象は実機のデータ処理装置の
他に、論理動作を機能レベルで擬似的に実行するエミュ
レータ、該エミュレータが実行した結果をそのままの状
態で引き継ぐ論理シミュレータ、該論理シミュレータに
おけるサイクル毎の論理信号のカバレージを採取可能な
論理カバレージを具備した、実機の論理回路の動作をシ
ミュレートする論理シミュレーション装置であってもよ
い。この場合、論理シミュレーション段階で、該論理シ
ミュレーション装置に具備された論理カバレージからカ
バレージ情報を採取し、該論理シミュレーション装置の
機能を試験する試験命令群を乱数データを入力として生
成する際、該カバレージ情報をフィードバックさせるこ
とになる。
【0059】
【発明の効果】請求項1及び2の発明によれば、乱数デ
ータを入力とする次の試験命令群の生成に、その前に生
成した試験命令群によるデータ処理装置での実行結果
(装置の論理動作やマイクロプログラム動作などに関す
る情報)をフィードバックさせることにより、まだ検証
されていない部位、つまり、論理回路やマイクロプログ
ラムなどが動作していない部位の検証を実施するための
試験命令群の生成が可能となる。この結果、試験に偏り
が生ずることや試験洩れの発生を自動修正することが可
能となり、無意味な試験や重複した試験の実行を回避で
き、有効な試験命令を効率良く実行させることにより、
検証期間の短縮を図ることができる。
【0060】請求項3の発明によれば、ステージトレー
サによる論理信号トレース情報、ハードウエアモニタに
よるデータ処理装置の特定事象(論理動作状態)の発生
回数や処理時間などのモニタリング(監視)情報、マイ
クロプログラムカバレージトレーサによりトレースした
マイクロプログラム分岐情報など、各々採取した情報の
データフォーマットが異なる場合でも、同一フォーマッ
トのフィードバック情報を作成することが可能になる。
【0061】請求項4の発明によれば、繰り返し生成さ
れる試験命令群によるデータ処理装置の論理回路やマイ
クロプログラムなどの各機能の検証状況を自動的に監視
可能であり、検証された論理動作やマイクロプログラム
動作などを容易に把握することが可能である。
【0062】請求項5の発明によれば、同様の試験を実
機のデータ処理装置の他に、該実機の論理回路等の動作
をシミュレートする論理シミュレーション装置にも適用
することができる。
【図面の簡単な説明】
【図1】本発明の試験方法を適用するデータ処理装置構
成の一実施例のブロック図である。
【図2】本発明の一主要な構成である試験制御部の一実
施例のブロック図である。
【図3】本発明による試験方法の概略処理を示す処理フ
ローチャートである。
【図4】図2のプロセッサ情報解読・データ変換処理部
の処理例として、マイクロプログラム分岐情報からマイ
クロプログラムカバレージ情報(パス情報)を作成する
処理の流れを概略的に示す処理ブロック図である。
【図5】図4におけるアドレス情報作成処理を詳細に説
明する図である。
【図6】図4におけるカバレージ情報作成処理を詳細に
説明する図である。
【図7】図4におけるカバレージ情報更新処理を詳細に
説明する図である。
【図8】マイクロプログラムソースコードからマイクロ
プログラム分岐条件情報を作成する処理の流れを概略的
に示す処理ブロック図である。
【図9】図8におけるマイクロプログラム分岐条件作成
処理を説明する図である。
【符号の説明】
1 データ処理装置 2 命令プロセッサ 3 ステージトレーサ 4,7 記憶素子 5 ハードウェアモニタ 6 マイクロプログラムカバレージトレーサ 8 主記憶装置(MS) 8′ 試験プログラム 9 制御記憶装置 10 サービスプロセッサ 11 ハードディスク 12 試験制御部 13 監視/制御部 14 試験命令生成部 15 ステージトレーサ起動・停止処理部 16 トレース情報採取処理部 17 ハードウェアモニタ起動・停止処理部 18 モニタリング情報採取処理部 19 マイクロプログラムカバレージトレーサ起動・停
止処理部 20 マイクロプログラムカバレージ情報採取処理部 21 プロセッサ情報解読・データ変換部 22 プロセッサ情報編集・出力部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 廣瀬 善太郎 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (56)参考文献 特開 平4−102931(JP,A) 特開 平4−36840(JP,A) 特開 平2−244337(JP,A) 特開 平2−244338(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 - 11/26

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 乱数データを入力として試験命令群を繰
    り返し生成し、該試験命令群を被試験データ処理装置に
    実行させて該データ処理装置を試験する方法において、 試験命令群による前記データ処理装置での実行結果を採
    取する処理と、 乱数データを入力として次の試験命令群を生成する際、
    前記採取した実行結果をフィードバックして、次の新た
    な試験命令群を生成する処理と、 を有することを特徴とするデータ処理装置の試験方法。
  2. 【請求項2】 請求項1記載のデータ処理装置の試験方
    法において、 前記生成した試験命令群の実行結果の期待値をシミュレ
    ーションにより作成する処理を有し、 乱数データを入力して次の試験命令群を生成する際、前
    の試験命令群による前記データ処理装置での実行結果と
    期待値を比較し、その比較結果に基づいて次の新たな試
    験命令群を生成することを特徴とするデータ処理装置の
    試験方法。
  3. 【請求項3】 請求項1もしくは2記載のデータ処理装
    置の試験方法において、 前記採取した実行結果を解読し、データ変換してフィー
    ドバックすることを特徴とするデータ処理装置の試験方
    法。
  4. 【請求項4】 請求項1,2もしくは3記載のデータ処
    理装置の試験方法において、 生成された試験命令群の実行による前記データ処理装置
    の検証状況を編集・出力する処理を有することを特徴と
    するデータ処理装置の試験方法。
  5. 【請求項5】 請求項1,2,3もしくは4記載のデー
    タ処理装置の試験方法において、 被試験データ処理装置は実データ処理装置もしくは該デ
    ータ処理装置の動作をシミュレートする論理シミュレー
    ション装置であることを特徴とするデータ処理装置の試
    験方法。
JP05016219A 1993-02-03 1993-02-03 データ処理装置の試験方法 Expired - Fee Related JP3073848B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05016219A JP3073848B2 (ja) 1993-02-03 1993-02-03 データ処理装置の試験方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05016219A JP3073848B2 (ja) 1993-02-03 1993-02-03 データ処理装置の試験方法

Publications (2)

Publication Number Publication Date
JPH06231000A JPH06231000A (ja) 1994-08-19
JP3073848B2 true JP3073848B2 (ja) 2000-08-07

Family

ID=11910423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05016219A Expired - Fee Related JP3073848B2 (ja) 1993-02-03 1993-02-03 データ処理装置の試験方法

Country Status (1)

Country Link
JP (1) JP3073848B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461798B (zh) * 2014-11-12 2017-08-18 中国航天科技集团公司第九研究院第七七一研究所 一种用于处理器算术逻辑单元指令的随机数验证方法

Also Published As

Publication number Publication date
JPH06231000A (ja) 1994-08-19

Similar Documents

Publication Publication Date Title
US6986125B2 (en) Method and apparatus for testing and evaluating a software component using an abstraction matrix
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
US9785439B2 (en) Processor testing
US20120117424A1 (en) System-level testcase generation
CN110704315B (zh) 一种嵌入式软件测试的故障注入装置
US8589734B2 (en) Verifying correctness of processor transactions
US7243059B2 (en) Simulation of hardware based on smart buffer objects
Kantrowitz et al. Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
JP3073848B2 (ja) データ処理装置の試験方法
US20230101154A1 (en) Resumable instruction generation
CN115470141A (zh) 一种故障模拟方法、装置及相关设备
JPH06309193A (ja) 機械語プログラムの動作検証方法および装置
JP2828590B2 (ja) マイクロプログラム検証方法
Cantoro et al. On the optimization of SBST test program compaction
US6986110B1 (en) Automated method and system for backtracing of instruction parameters from specified instruction in test cases
JPH0510692B2 (ja)
JP2001051864A (ja) データ処理装置の試験実行方式
EP1297456A2 (en) Tcl pli, a framework for reusable, run time configurable test benches
JP2000222243A (ja) デバッグ装置及びデバッグ方法
Sandhu Comparison of Fault Simulation Over Custom Kernel Module Using Various Techniques
CN118035072A (en) Automatic acceptance method and system based on multi-version upgrading
JPH0895817A (ja) 情報処理装置の試験方法
JPH0567164A (ja) 論理シミユレーシヨン方式

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080602

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090602

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees