JP2001051864A - Test conducting system for data processor - Google Patents

Test conducting system for data processor

Info

Publication number
JP2001051864A
JP2001051864A JP11228243A JP22824399A JP2001051864A JP 2001051864 A JP2001051864 A JP 2001051864A JP 11228243 A JP11228243 A JP 11228243A JP 22824399 A JP22824399 A JP 22824399A JP 2001051864 A JP2001051864 A JP 2001051864A
Authority
JP
Japan
Prior art keywords
execution
test
failure
instruction sequence
test instruction
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
JP11228243A
Other languages
Japanese (ja)
Inventor
Takayuki Iwata
高行 岩田
Yutaka Kodama
豊 児玉
Hiroichi Mitsumata
博一 三俣
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 JP11228243A priority Critical patent/JP2001051864A/en
Publication of JP2001051864A publication Critical patent/JP2001051864A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To analyze the cause of an error if the execution of a test instruction sequence is stopped due to a processor logic defect or if an infinite loop is entered and no execution result is obtained. SOLUTION: This test conducting system has a test environment setting process 101, an instruction emulator 102 which generates an expected value, a test instruction sequence execution control process 103, a result comparing result 104, and a fault factor specifying process 105, and an instruction and an object function which cause a fault are found out to investigate the fault factor if the expected value generated by the instruction simulation of the test instruction sequence becomes discrepant with the execution result of the test instruction sequence on a data testing device or, if the execution of the test instruction sequence is stopped due to the fault resulting from a processor logic defect, or if an infinite loop is entered and no execution result is obtained, thereby evading the occurrence of a fault caused by the same defect factor in the subsequent execution of a test program.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ処理装置の
試験方法に関し、特に大量な試験プログラムを連続実行
し、被試験データ処理装置を試験する方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for testing a data processing apparatus, and more particularly to a method for continuously executing a large amount of test programs and testing a data processing apparatus under test.

【0002】[0002]

【従来の技術】データ処理装置で試験プログラムを実行
させる方法において、試験命令列をパイプライン処理と
複雑な命令動作の組み合わせにより、データ処理装置に
高負荷を与えた条件下での動作は障害の発生もしくは予
期しない動作した場合、実行中の試験命令列は不当割込
みが発生、無限ループ又は実行結果値が異常値となり、
正常に動作をしない場合は人手を使って試験プログラム
レベルで障害要因となった命令及び対象機能を見つけ出
してエラー原因を解析をし、人手介入によるユーザコマ
ンドでの制御で同件となり得る試験プログラムの実行を
抑止していた。
2. Description of the Related Art In a method of executing a test program in a data processing device, a combination of pipeline processing of test instruction sequences and complicated instruction operations causes an operation under a condition where a heavy load is applied to the data processing device to cause a failure. If it occurs or operates unexpectedly, the test instruction string being executed will generate an illegal interrupt, an infinite loop or an execution result value of an abnormal value,
If it does not operate normally, the instruction and target function that caused the failure at the test program level are found manually, and the cause of the error is analyzed. Execution was suppressed.

【0003】また、特願平6−282599号には、デ
ータ処理装置上で試験プログラムを実行する場合、試験
命令列の中で正常動作しない任意区間を被試験対象デー
タ処理装置上では実行させず、命令インタプリタ上で代
替え実行する為に、任意地点での初期値及び期待値を設
定する手段を用いて、正常動作可能な命令列のみを試験
する方法が開示されている。
Japanese Patent Application No. 6-282599 discloses that when a test program is executed on a data processing device, an arbitrary section in the test instruction sequence that does not operate normally is not executed on the data processing device under test. Discloses a method of testing only a normally operable instruction sequence using means for setting an initial value and an expected value at an arbitrary point in order to execute the instruction on an instruction interpreter.

【0004】[0004]

【発明が解決しようとする課題】従来の技術では、試験
プログラムは類似する試験命令列が多数存在し、過去に
起きた障害が繰り返し発生する恐れがある。この為、類
似する試験命令列を実行すると同一要因の障害が多発す
る結果となる。
In the prior art, the test program has a large number of similar test instruction sequences, and there is a possibility that a fault that has occurred in the past may repeatedly occur. Therefore, execution of a similar test instruction sequence results in frequent occurrence of failures of the same factor.

【0005】本発明の目的は、上記の課題を解決し、同
件不良となる可能性がある試験命令列を実行する場合、
試験命令列の中で正常動作しない任意区間を含めた全て
の試験命令列を障害回避策に従い、同件不良を回避し、
より効率のよい高精度なデータ処理装置の試験方法を提
供するものである。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems and execute a test instruction sequence which may cause a failure.
In the test instruction sequence, all test instruction sequences including any section that does not operate normally follow the failure avoidance measures to avoid the same defect,
An object of the present invention is to provide a more efficient and accurate test method for a data processing device.

【0006】[0006]

【課題を解決するための手段】上記目的を達成する為、
大量の試験プログラムをデータ処理装置で実行させて、
データ処理処理装置を試験する方法において、試験環境
設定処理、期待値を生成する命令シミュレータ、試験命
令列実行制御処理、結果比較処理、障害要因特定処理を
有し、試験命令列を命令シミュレータで生成した期待値
と当該データ試験装置上での当該試験命令列の実行結果
との比較で不一致を生じた場合、あるいは当該試験命令
列実行中にデータ処理装置論理不良に起因する障害によ
り試験命令列が実行抑止される、もしくは無限ループと
なり実行結果が得られない場合、前記要因となった命令
及び対象機能を見つけ出し、障害要因を究明すること
で、以降の試験プログラムの実行において同一不良要因
による障害の発生を回避する機能を有する事を特徴とす
るものである。
In order to achieve the above object,
Run a large amount of test programs on the data processing device,
A method for testing a data processing device includes a test environment setting process, an instruction simulator for generating expected values, a test instruction sequence execution control process, a result comparison process, and a failure factor identification process, and a test instruction sequence is generated by the instruction simulator. If a mismatch is found in the comparison between the expected value obtained and the execution result of the test instruction sequence on the data test apparatus, or the test instruction sequence is executed due to a failure due to a logic failure in the data processing device during the execution of the test instruction sequence. If execution is suppressed or an infinite loop results in no execution result, the cause of the instruction and the target function are found, and the cause of the failure is investigated. It has a function of avoiding occurrence.

【0007】[0007]

【発明の実施の形態】以下、本発明の一実施例を図面に
より詳細に説明する。図1は、データ処理装置での試験
プログラム実行方式を示す本発明の一実施例のブロック
図である。当該データ処理装置の任意のメモリ上に試験
命令列(106)を、レジスタ等の各ハードウェア・リ
ソースに実行初期値(107)を設定する試験環境設定
部(101)。試験命令列(106)、及び実行初期値
(107)を用いて期待値(110)、各命令での期待
する実行シーケンスをテーブル化した試験命令列シミュ
レート情報(108)を生成する命令シミュレート部
(102)、実行初期値(107)を初期値とし、試験
命令列(106)を試験対象のデータ処理装置に実行し
実行結果値(111)を得る、またはタイマー監視によ
って試験命令列が障害により終了しなかった時はタイマ
ー割込み発生により強制終了をさせる試験命令列実行制
御部(103)、期待値(110)と実行結果値(11
1)を比較して不一致を検出し障害要因情報(109)
及びエラーメッセージ(112)を出力する実行結果比
較部(104)、試験命令列(106)、期待値(11
0)、試験命令列シミュレート情報(108)、実行結
果値(111)から障害要因を解析し障害要因情報(1
09)を生成、障害回避方法は障害回避方法(113)
より選択し、障害要因情報と回避方法を蓄積する障害要
因特定部(105)から構成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram of an embodiment of the present invention showing a test program execution method in a data processing device. A test environment setting unit (101) for setting a test instruction sequence (106) on an arbitrary memory of the data processing device and an initial execution value (107) in each hardware resource such as a register. Instruction simulation for generating test instruction sequence simulation information (108) in which an expected value (110) and an expected execution sequence for each instruction are tabulated using the test instruction sequence (106) and the execution initial value (107). The unit (102) sets the execution initial value (107) as an initial value and executes the test instruction sequence (106) on the data processing device to be tested to obtain an execution result value (111). The test instruction sequence execution control unit (103) for forcibly terminating due to the occurrence of a timer interrupt when the processing has not been completed due to (1), the expected value (110) and the execution result value (11)
1) is compared, a mismatch is detected, and failure factor information (109) is detected.
And an execution result comparison unit (104) that outputs an error message (112), a test instruction sequence (106), and an expected value (11).
0), the test instruction sequence simulating information (108), and the execution result value (111) are used to analyze the failure factor and to obtain the failure factor information (1).
09), and the failure avoidance method is the failure avoidance method (113).
A failure factor identification unit (105) that further selects and stores failure factor information and an avoidance method.

【0008】図2は、図1の試験装置全体の処理を示す
フローチャートである。試験プログラムが静的に保持、
あるいは動的に生成する試験命令列データ及び実行初期
値データ群より試験命令列及び実行初期値を設定(20
1)し、前記実行初期値及び試験命令列を基に各命令を
シミュレートし期待値及びシミュレート情報を生成する
(202)。当該試験命令列の実行命令数に依存したタ
イマ値を初期値に付加し、タイマ監視によって試験命令
列実行が障害発生により終了しなかった場合、強制的に
タイムアウトとするタイマ割込みを発生させる設定(2
03)をする。生成されたシミュレート情報と蓄積され
ている障害要因情報とを比較し、以前に発生した障害に
なり得る場合、障害要因情報に付加されている回避方法
に従い、初期値の変更あるいはデグラモードで実行させ
る為の設定をし試験対象処理装置上で試験命令列を実行
し、実行結果を得る(204)。実行結果が得られずタ
イマ割込み発生でタイムアウト(205)になった場
合、割込み発生時にハードウェア・リソースを採取する
(206)。期待値と実行結果値を比較し(207)、
不一致が生じた場合は、エラーメッセージからエラーと
なったハードウェアリソースを参照し、当該試験命令列
のシミュレート情報と比較し障害発生となった命令アド
レスと命令を検索・特定(208)する。特定された命
令アドレス及び命令を基にシミュレート情報を参照し、
任意区間の試験命令列の再実行範囲、再実行時の初期値
・期待値を再生成及び再実行(209)し、障害要因解
析(210)を行う。障害要因が特定出来るまで再実行
範囲を拡大しながら繰り返す(211)。実行結果が得
られずタイムアウト(205)になった場合はタイマ割
込みが発生したアドレスを暫定的に障害発生となった命
令アドレスとし同様に障害要因解析(210)を行う。
特定された障害要因を障害要因情報に追加する(21
2)。該記操作を指定された試験プログラムの試験が終
了するまで繰り返す(213)。
FIG. 2 is a flowchart showing the processing of the entire test apparatus of FIG. The test program is kept static,
Alternatively, a test instruction sequence and an initial execution value are set from a dynamically generated test instruction sequence data and execution initial value data group (20).
1) Then, each instruction is simulated based on the initial execution value and the test instruction sequence to generate an expected value and simulation information (202). A timer value that depends on the number of instructions executed in the test instruction sequence is added to the initial value, and a timer interrupt that forcibly times out is generated if the test instruction sequence execution is not terminated due to a failure due to timer monitoring ( 2
03). The generated simulation information is compared with the accumulated failure factor information, and if a failure may have occurred before, the initial value is changed or executed in the degra mode according to the avoidance method added to the failure factor information. Then, a test instruction sequence is executed on the test target processing device, and an execution result is obtained (204). If the execution result is not obtained and a timeout occurs due to the occurrence of a timer interrupt (205), hardware resources are collected when the interrupt occurs (206). The expected value and the execution result value are compared (207),
If there is a mismatch, the error resource is referred to from the error message, and the simulated information of the test instruction sequence is compared with the simulated information to search and identify the instruction address and instruction in which the failure has occurred (208). Refer to the simulation information based on the specified instruction address and instruction,
The re-execution range and the initial value / expected value at the time of re-execution of the test instruction sequence in an arbitrary section are regenerated and re-executed (209), and a failure factor analysis (210) is performed. The process is repeated while expanding the re-execution range until a failure factor can be identified (211). If the execution result is not obtained and the time-out (205) occurs, the address at which the timer interrupt has occurred is temporarily set as the instruction address at which the failure has occurred, and a failure cause analysis (210) is similarly performed.
Add the identified failure factor to the failure factor information (21
2). This operation is repeated until the test of the specified test program is completed (213).

【0009】図3は、実行結果との比較により不一致が
生じた時の障害発生要因を解析する処理のフローチャー
トを示す。エラーメッセージで出力された情報からエラ
ー箇所を検索し、エラーとなったリソースの種類及び実
行結果値を採取(301)する。当該試験命令列のシミ
ュレート情報内の変更されるリソースを参照し、(30
1)で採取したエラーリソースの種類及び実行結果値と
を比較、一致する命令及び命令アドレスを検索(30
2)する。シミュレート情報は実行命令カウント・命令
アドレス・命令コード・当該命令の期待する動作情報及
び当該命令の実行により変更されるリソースの種類と
値、で構成される。検索成功の場合は、検索された当該
命令アドレスの直前に実行する命令のアドレスをシミュ
レート情報から検索し、再実行時の開始アドレスとす
る。シミュレート情報から前記検索された命令の次に当
該リソースを更新する命令のアドレスを終了アドレスと
して、当該終了アドレスの命令までの実行命令カウント
より再実行時の試験命令列の実行命令数を算出し、任意
の命令数の実行後、強制的に割り込み(命令ステップ割
り込み)を発生させる設定をし、再実行範囲の限定(3
03)をする。検索失敗の場合は、エラーとなった当該
試験命令列の先頭アドレスをそのまま再実行時の開始ア
ドレスとし、当該リソースを最初に更新する命令のアド
レスを終了アドレスとして、当当該終了アドレスの命令
までの実行命令カウントより再実行時のテスト命令列の
実行命令数を算出し、検索成功の場合同様に任意の命令
数の実行後、強制的に割り込み(命令ステップ割り込
み)を発生させる設定をし、再実行範囲の限定(30
3)をする。エラーとなった当該試験命令列を再実行範
囲の開始アドレス直前まで命令シミュレートを行い、再
実行時の初期値を設定(304)し、当該再実行範囲の
試験命令列開始アドレスの命令から実行命令カウント分
の命令までの命令シミュレートを行い、再実行範囲の期
待値及びシミュレート情報を生成(305)、試験対象
のデータ処理装置上で当該再実行範囲の試験命令列を実
行し、(303)で設定した命令ステップ割り込みの発
生に伴い、当該再実行範囲の試験命令列の実行結果値を
採取する(306)。(305)で生成した期待値と
(306)で採取した実行結果値を比較(307)し、
結果が一致の場合は再度、再実行範囲のシミュレート情
報より再実行範囲の限定(303)をし、実行命令ステ
ップ数を拡大する。結果が不一致になるまで前記処理を
繰り返す。結果が不一致の場合は、再実行範囲の試験命
令列の最後の命令実行によりエラーとなったと特定し、
当該再実行範囲のシミュレート情報を参照し、エラーと
なった命令の情報(期待する動作)と合致する内容が蓄
積されている障害要因情報に存在するかを検索(30
8)し、存在する場合は当該障害を回避する方法を障害
要因情報の回避方法に従い、再実行時の初期値の再設定
を行い、再実行範囲の試験命令列を再度、実行(30
9)する。障害要因情報に存在しない場合は障害回避選
択情報を参照し、類似するエラー種の回避方法に従い、
再実行時の初期値の再設定を行い、再実行範囲の試験命
令列を再度、実行(309)する。(305)で生成し
た再実行範囲の期待値と(309)での実行結果値を比
較(310)し、結果が不一致の場合は、当該障害は初
めて発生したとみなし、障害回避選択情報より次の回避
方法を選択し、結果が一致になるまで前記処理を繰り返
す。結果が一致の場合は、選択した回避方法により当該
障害が回避されたことを保証する。選択した回避方法が
障害要因情報に蓄積されていない場合は当該障害要因情
報と併せて回避方法を蓄積する(311)。障害要因情
報の回避方法に従い、障害回避に成功の場合は蓄積しな
い。
FIG. 3 is a flowchart of a process for analyzing a cause of a failure when a mismatch occurs by comparison with an execution result. An error location is searched from the information output by the error message, and the type of the resource in which the error has occurred and the execution result value are collected (301). Referring to the resource to be changed in the simulation information of the test instruction sequence, (30
The type and execution result value of the error resource collected in 1) are compared with each other, and a matching instruction and instruction address are searched (30).
2) Do it. The simulation information includes an execution instruction count, an instruction address, an instruction code, expected operation information of the instruction, and the type and value of a resource changed by execution of the instruction. If the search is successful, the address of the instruction to be executed immediately before the searched instruction address is searched from the simulation information, and is set as the start address at the time of re-execution. Using the address of the instruction that updates the resource following the searched instruction from the simulation information as the end address, the number of execution instructions in the test instruction sequence at the time of re-execution is calculated from the execution instruction count up to the instruction at the end address. After execution of an arbitrary number of instructions, a setting is made to forcibly generate an interrupt (instruction step interrupt), and the re-execution range is limited (3.
03). In the case of a search failure, the start address of the test instruction string in error is used as the start address for re-execution as it is, and the address of the instruction that first updates the resource is used as the end address. Calculate the number of executed instructions in the test instruction sequence at the time of re-execution from the number of executed instructions, and in the case of a successful search, similarly execute the arbitrary number of instructions and make settings to forcibly generate an interrupt (instruction step interrupt). Restrict execution range (30
Do 3). The test instruction sequence in which the error occurred is simulated until immediately before the start address of the re-execution range, an initial value at the time of re-execution is set (304), and the test instruction sequence is executed from the test instruction sequence start address in the re-execution range. Simulates the instruction up to the instruction count, generates an expected value of the re-execution range and simulation information (305), executes the test instruction sequence in the re-execution range on the data processing device under test, With the occurrence of the instruction step interrupt set in 303), an execution result value of the test instruction sequence in the re-execution range is collected (306). The expected value generated in (305) is compared with the execution result value collected in (306) (307),
If the results match, the re-execution range is limited (303) again based on the re-execution range simulation information, and the number of executed instruction steps is increased. The above process is repeated until the result does not match. If the results do not match, it is determined that an error has occurred due to execution of the last instruction of the test instruction sequence in the re-execution range,
With reference to the simulation information of the re-execution range, a search is performed to determine whether or not the content matching the information of the instruction in error (expected operation) exists in the accumulated failure factor information (30).
8) If it exists, the method of avoiding the failure is reset according to the method of avoiding the failure cause information, the initial value is reset at the time of re-execution, and the test instruction sequence in the re-execution range is executed again (30).
9). If it does not exist in the failure factor information, refer to the failure avoidance selection information and follow the similar error type avoidance method.
The initial value at the time of re-execution is reset, and the test instruction sequence in the re-execution range is executed again (309). The expected value of the re-execution range generated in (305) is compared with the execution result value in (309) (310). If the results do not match, the fault is considered to have occurred for the first time, and the fault avoidance selection information indicates Is selected, and the above processing is repeated until the result matches. If the results match, it is assured that the obstacle has been avoided by the selected avoidance method. If the selected avoidance method is not stored in the fault cause information, the avoidance method is stored together with the fault cause information (311). According to the method of avoiding the failure factor information, if the failure avoidance is successful, the information is not accumulated.

【0010】図4は、試験命令列実行でエラーメッセー
ジが得られない場合の障害発生要因を解析するフローチ
ャートを示す。試験命令列実行中に被試験データ処理装
置論理不良に起因する障害により試験命令列が実行停止
される、もしくは無限ループに陥り、実行結果が得られ
なかった場合は、あらかじめ設定したタイマ監視により
タイマ割り込みが発生し、試験命令列実行のタイムアウ
トとみなす。前記タイマ割り込みが発生した場合、割り
込みアドレス・各レジスタ値等のハードウェア・リソー
スを採取(401)する。タイムアウト検出時に当該試
験命令列のシミュレート情報の各命令単位ですべてのリ
ソースの逐次期待値情報を生成(402)し、(40
1)で採取したハードウェア・リソースと(402)で
生成した各命令単位の逐次期待値情報とを順次比較し、
不一致となった時点での逐次期待値情報より実行命令カ
ウントを取り出し、当該試験命令列の先頭アドレスをそ
のまま再実行時の開始アドレスとし、任意の命令数の実
行後、強制的に割り込み(命令ステップ割り込み)を発
生させる設定をし、再実行範囲の限定(403)をす
る。これにより再実行時にはタイムアウトが発生する事
が皆無となる。再実行時の初期値を設定(404)し、
当該再実行範囲の試験命令列開始アドレスの命令から実
行命令カウント分の命令までの命令シミュレートを行
い、再実行範囲の期待値及びシミュレート情報を生成
(405)、試験対象のデータ処理装置上で当該再実行
範囲の試験命令列を実行し、(403)で設定した命令
ステップ割り込みの発生に伴い、当該再実行範囲の試験
命令列の実行結果値を採取する(406)。(405)
で生成した期待値と(406)で採取した実行結果値を
比較(407)し、結果が一致の場合は再度、再実行範
囲のシミュレート情報より再実行範囲の限定(403)
をし、実行命令ステップ数を拡大する。図3でのエラー
メッセージが得られた場合同様、結果が不一致になるま
で前記処理を繰り返す。結果が不一致の場合は、再実行
範囲の試験命令列の最後の命令実行によりエラーとなっ
たと特定し、当該再実行範囲のシミュレート情報を参照
し、エラーとなった命令の情報(期待する動作)と合致
する内容が蓄積されている障害要因情報に存在するかを
検索(408)し、存在する場合は当該障害を回避する
方法を障害要因情報の回避方法に従い、再実行時の初期
値の再設定を行い、再実行範囲の試験命令列を再度、実
行(409)する。障害要因情報に存在しない場合は障
害回避選択情報を参照し、類似するエラー種の回避方法
に従い、再実行時の初期値の再設定を行い、再実行範囲
の試験命令列を再度、実行(409)する。(405)
で生成した再実行範囲の期待値と(409)での実行結
果値を比較(410)し、結果が不一致の場合は、当該
障害は初めて発生したとみなし、障害回避選択情報より
次の回避方法を選択し、結果が一致になるまで前記処理
を繰り返す。結果が一致の場合は、選択した回避方法に
より当該障害が回避されたことを保証する。選択した回
避方法が障害要因情報に蓄積されていない場合は当該障
害要因情報と併せて回避方法を蓄積する(411)。障
害要因情報の回避方法に従い、障害回避に成功の場合は
蓄積しない。図4の例では、アドレス:0x301C番
地の比較命令の結果を基にアドレス:0x3020番地
の分岐命令が50回ループする事を期待であるが、命令
シミュレート情報の期待する動作では、アドレス:Ox
3010番地のData Cache HitするLD
命令の実行結果と直後に実行されるアドレス:Ox30
14番地のData Cache MissするLD命
令の実行結果を各々アドレス:Ox301C番地の比較
命令で使用するレジスタ依存関係にある。実際にはアド
レス:Ox3014番地のLD命令の実行結果がDat
a Cache Missにより不定なデータを読み出
した事により、アドレス:Ox301C番地の比較命令
でループ終了条件とならず、無限ループとなりタイムア
ウトとなる。再実行では1回目のループでのアドレス:
Ox3014番地のData Cache Missす
るLD命令までを実行し、結果不一致となり、障害回避
選択情報からCache障害時の回避方法としてCac
he Hitを選択し、回避したケースを示す。
FIG. 4 is a flowchart for analyzing a cause of a failure when an error message cannot be obtained by executing a test instruction sequence. During execution of the test instruction sequence, execution of the test instruction sequence is stopped due to a failure due to a logic failure of the data processing device under test, or the execution of the test instruction sequence ends in an infinite loop. An interrupt is generated, and it is regarded as a test instruction sequence execution timeout. When the timer interrupt occurs, hardware resources such as an interrupt address and each register value are collected (401). When timeout is detected, sequential expected value information of all resources is generated for each instruction unit of the simulation information of the test instruction sequence (402), and (40)
The hardware resources collected in 1) are sequentially compared with the sequential expected value information of each instruction unit generated in (402),
The execution instruction count is extracted from the sequential expected value information at the time of the mismatch, the start address of the test instruction string is used as the start address for re-execution, and after executing an arbitrary number of instructions, an interrupt (instruction step) is performed. Interrupt), and the re-execution range is limited (403). As a result, no timeout occurs during re-execution. The initial value at the time of re-execution is set (404),
Instruction simulation is performed from the instruction at the test instruction sequence start address in the re-execution range to the instruction for the execution instruction count, and an expected value of the re-execution range and simulation information are generated (405). Then, the test instruction sequence in the re-execution range is executed, and the execution result value of the test instruction sequence in the re-execution range is collected in accordance with the occurrence of the instruction step interrupt set in (403) (406). (405)
The expected value generated in step (406) and the execution result value collected in step (406) are compared (407). If the results match, the re-execution range is limited again based on the re-execution range simulation information (403).
To increase the number of executed instruction steps. As in the case where the error message shown in FIG. 3 is obtained, the above processing is repeated until the result does not match. If the results do not match, it is specified that an error has occurred due to the execution of the last instruction in the test instruction sequence in the re-execution range, and the simulated information in the re-execution range is referenced to obtain information on the erroneous instruction (expected operation ) Is searched for in the accumulated fault cause information (408), and if there is, the method of avoiding the fault is determined according to the method of avoiding the fault cause information, and the initial value at the time of re-execution is determined. The reset is performed, and the test instruction sequence in the re-execution range is executed again (409). If it does not exist in the failure cause information, the failure avoidance selection information is referred to, the initial value at the time of re-execution is reset according to a similar error type avoidance method, and the test instruction sequence in the re-execution range is executed again (409). ). (405)
The expected value of the re-execution range generated in (4) is compared with the execution result value in (409) (410). If the results do not match, the failure is regarded as having occurred for the first time, and the next avoidance method is determined based on the failure avoidance selection information. And repeat the above process until the result matches. If the results match, it is assured that the obstacle has been avoided by the selected avoidance method. If the selected avoidance method is not stored in the failure cause information, the avoidance method is stored together with the failure cause information (411). According to the method of avoiding the failure factor information, if the failure avoidance is successful, the information is not accumulated. In the example of FIG. 4, the branch instruction at the address 0x3020 is expected to loop 50 times based on the result of the comparison instruction at the address 0x301C. However, in the operation expected by the instruction simulation information, the address: Ox
Data Cache Hit LD at 3010
Instruction execution result and address executed immediately after: Ox30
There is a register dependency relationship in which the execution result of the LD instruction for Data Cache Miss at address 14 is used by the comparison instruction at address: Ox301C. Actually, the execution result of the LD instruction at address: Ox3014 is Dat
a. Since indeterminate data is read out by Cache Miss, the comparison instruction at the address: Ox301C does not set a loop end condition, and an infinite loop occurs and a timeout occurs. In re-execution, the address in the first loop:
An LD instruction for Data Cache Miss at address Ox3014 is executed, and the result is inconsistent. From the failure avoidance selection information, Cac is used as a method for avoiding cache failure.
The case where he Hit was selected and avoided was shown.

【0011】[0011]

【発明の効果】本発明により、同一要因による不良発生
を回避することによって不良原因解析の工数を低減する
とともに、検証精度を向上させることが可能となり、短
時間で高精度な論理検証が可能となる。
According to the present invention, it is possible to reduce the number of steps for analyzing the cause of a defect and to improve the verification accuracy by avoiding the occurrence of a defect due to the same factor, thereby enabling a highly accurate logic verification in a short time. Become.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の一実施例の試験方法によりデータ処
理装置の試験を実施する試験処理の構成を示すブロック
図である。
FIG. 1 is a block diagram showing a configuration of a test process for performing a test of a data processing device by a test method according to an embodiment of the present invention.

【図2】 図1の試験処理の全体の処理を示すフローチ
ャートである。
FIG. 2 is a flowchart illustrating the entire processing of the test processing of FIG. 1;

【図3】 図1の不一致発生時のフローチャートであ
る。
FIG. 3 is a flowchart when a mismatch occurs in FIG. 1;

【図4】 図1のタイムアウトの場合での障害発生要因
を解析する処理フローチャートである。
FIG. 4 is a flowchart of a process for analyzing a cause of failure occurrence in the case of a timeout in FIG. 1;

【符号の説明】[Explanation of symbols]

101 試験命令列環境設定部 102 命令シミュレート部 103 試験命令列実行制御部 104 実行結果比較/出力部 105 障害要因特定部 106 試験命令列 107 実行初期値 108 試験命令シミュレート情報 109 障害要因情報 110 期待値 111 実行結果値 112 エラーメッセージ 113 障害回避方法 101 Test instruction sequence environment setting unit 102 Instruction simulation unit 103 Test instruction sequence execution control unit 104 Execution result comparison / output unit 105 Failure factor identification unit 106 Test instruction sequence 107 Initial execution value 108 Test instruction simulation information 109 Failure factor information 110 Expected value 111 execution result value 112 error message 113 fault avoidance method

───────────────────────────────────────────────────── フロントページの続き (72)発明者 三俣 博一 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内 Fターム(参考) 5B048 CC02 CC05 DD01 FF02  ──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Hirokazu Mitama 1 Horiyamashita, Hadano-shi, Kanagawa F-term in Hitachi Information Technology Co., Ltd. 5B048 CC02 CC05 DD01 FF02

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】大量の試験プログラムをデータ処理装置で
実行させて、データ処理装置を試験する方法において、
試験環境設定処理、期待値を生成する命令シミュレー
タ、試験命令列実行制御処理、結果比較処理、障害要因
特定処理を有し、試験命令列を命令シミュレータで生成
した期待値と当該データ試験装置上での当該試験命令列
の実行結果との比較で不一致を生じた場合、あるいは当
該試験命令列実行中にデータ処理装置論理不良に起因す
る障害により試験命令列が実行抑止される、もしくは無
限ループとなり実行結果が得られない場合、前記要因と
なった命令及び対象機能を見つけ出し、障害要因を究明
することで、以降の試験プログラムの実行において同一
不良要因による障害の発生を回避する機能を有する事を
特徴とするデータ処理装置の試験実行方式。
A method for testing a data processing device by causing a data processing device to execute a large amount of test programs,
It has a test environment setting process, an instruction simulator that generates expected values, a test instruction sequence execution control process, a result comparison process, and a failure factor identification process. If a mismatch occurs in the comparison of the test instruction sequence with the execution result of the test instruction sequence, or during execution of the test instruction sequence, execution of the test instruction sequence is suppressed due to a failure due to a logic failure in the data processing device, or the test instruction sequence is executed in an infinite loop. When the result cannot be obtained, the function that has the function of avoiding the occurrence of the failure due to the same failure factor in the subsequent execution of the test program by finding out the instruction and the target function that caused the above and investigating the failure factor is characterized. The test execution method of the data processing device.
【請求項2】請求項1記載の障害要因特定処理であっ
て、試験命令列の実行により障害が発生した時に当該試
験命令列の再実行範囲を限定して部分的に再実行させ、
障害要因となった命令を検索し、障害要因を特定する機
能と当該障害の回避方法を障害要因情報に蓄積する機能
を有する事を特徴としたデータ処理装置の試験実行方
式。
2. A failure factor specifying process according to claim 1, wherein when a failure occurs due to execution of the test instruction sequence, the re-execution range of the test instruction sequence is limited and partially re-executed.
A test execution method for a data processing apparatus, having a function of searching for an instruction causing a failure and specifying the cause of the failure and a function of storing a method of avoiding the failure in failure cause information.
【請求項3】請求項1記載の試験命令列実行制御処理で
あって、障害要因情報を参照し、実行対象の試験プログ
ラムにおいて同件となり得る障害が発生する可能性があ
る場合、試験命令列の実行において障害発生を回避する
機能を有する事を特徴とするデータ処理装置の試験実行
方式。
3. The test instruction sequence execution control process according to claim 1, wherein the failure instruction information is referred to, and if there is a possibility that a failure which may be the same in the test program to be executed may occur, the test instruction sequence is controlled. A test execution method for a data processing device, characterized by having a function of avoiding occurrence of a failure in the execution of the data processing.
JP11228243A 1999-08-12 1999-08-12 Test conducting system for data processor Pending JP2001051864A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11228243A JP2001051864A (en) 1999-08-12 1999-08-12 Test conducting system for data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11228243A JP2001051864A (en) 1999-08-12 1999-08-12 Test conducting system for data processor

Publications (1)

Publication Number Publication Date
JP2001051864A true JP2001051864A (en) 2001-02-23

Family

ID=16873414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11228243A Pending JP2001051864A (en) 1999-08-12 1999-08-12 Test conducting system for data processor

Country Status (1)

Country Link
JP (1) JP2001051864A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017127047A1 (en) * 2016-01-19 2017-07-27 Entit Software Llc Impairment in an application test execution
JP2019532429A (en) * 2016-11-02 2019-11-07 日立オートモティブシステムズ株式会社 Computer system, test method, and recording medium
JP2022141461A (en) * 2021-03-15 2022-09-29 Necプラットフォームズ株式会社 Information processing device, information processing system, information processing method, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017127047A1 (en) * 2016-01-19 2017-07-27 Entit Software Llc Impairment in an application test execution
US10705947B2 (en) 2016-01-19 2020-07-07 Micro Focus Llc Impairment in an application test execution
JP2019532429A (en) * 2016-11-02 2019-11-07 日立オートモティブシステムズ株式会社 Computer system, test method, and recording medium
US10810111B2 (en) 2016-11-02 2020-10-20 Hitachi Automotive Systems, Ltd. Computer system, test method, and recording medium
JP2022141461A (en) * 2021-03-15 2022-09-29 Necプラットフォームズ株式会社 Information processing device, information processing system, information processing method, and program
JP7343197B2 (en) 2021-03-15 2023-09-12 Necプラットフォームズ株式会社 Information processing device, information processing system, information processing method and program

Similar Documents

Publication Publication Date Title
JP3654910B2 (en) Error correction method and apparatus in computer system
US20020073403A1 (en) System and method for whole-system program analysis
JP2006185211A (en) Program analysis system, test execution device, and analysis method and program thereof
CN108572892B (en) PowerPC multi-core processor-based offline test method and device
US7243059B2 (en) Simulation of hardware based on smart buffer objects
US6993749B2 (en) Conditional debug monitors
US20230101154A1 (en) Resumable instruction generation
JP2001051864A (en) Test conducting system for data processor
US5533195A (en) Testing tool for diagnosing defective computer system devices
US11099958B2 (en) Instruction generation for validation of processor functionality
JP4253056B2 (en) Test device, test case evaluation device, and test result analysis device
JPH07253909A (en) Microprogram verifying method
JPH0713809A (en) Program evaluation system
JPH11338736A (en) Method and computer system for verifying graphical display output of application
JP2001022610A (en) Logic simulation system for data processor
JP3073848B2 (en) Test method for data processing equipment
JP3151811B2 (en) Failure processing verification method and method for information processing device
JP2005031860A (en) Test case creation device
JPH11282722A (en) Program verification method
JP2024003945A (en) Program correction device, program correction method, and program correction program
JPH11203160A (en) Testing method for data processor
JP2967741B2 (en) CPU compatibility test equipment
JPH04241640A (en) Testing method for information processor
JPH0566957A (en) Test system for information processor
JPH0567164A (en) Logic simulation system