JP2022141461A - Information processing device, information processing system, information processing method, and program - Google Patents

Information processing device, information processing system, information processing method, and program Download PDF

Info

Publication number
JP2022141461A
JP2022141461A JP2021041778A JP2021041778A JP2022141461A JP 2022141461 A JP2022141461 A JP 2022141461A JP 2021041778 A JP2021041778 A JP 2021041778A JP 2021041778 A JP2021041778 A JP 2021041778A JP 2022141461 A JP2022141461 A JP 2022141461A
Authority
JP
Japan
Prior art keywords
execution
instruction
information processing
test
sequence
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
JP2021041778A
Other languages
Japanese (ja)
Other versions
JP7343197B2 (en
Inventor
美花 赤川
Mika Akagawa
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 Platforms Ltd
Original Assignee
NEC Platforms 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 Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2021041778A priority Critical patent/JP7343197B2/en
Publication of JP2022141461A publication Critical patent/JP2022141461A/en
Application granted granted Critical
Publication of JP7343197B2 publication Critical patent/JP7343197B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an information processing device, an information processing system, an information processing method, and a program that can easily identify an instruction that causes a mismatch when the mismatch is detected with another information processing device in execution results of an instruction sequence.SOLUTION: An information processing device includes: a control unit that executes an instruction sequence having a plurality of instructions; a communication unit that receives a designation of an end execution count indicating the total number of executions of instructions that terminates execution of the instruction sequence in the middle thereof; and a test control unit that terminates the execution of the instruction sequence in the middle thereof when the number of times the instructions are executed reaches the end execution count during the execution of the instruction sequence by the control unit.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing system, an information processing method, and a program.

被試験装置とシミュレータとで同一の命令列を有する試験を実行し、実行結果の同一性を確認することにより、被試験装置の正常性を判定する試験方法がある。このような試験方法では、例えば、実行結果の不一致が検出された場合に、命令列のうち不一致の原因となった命令を特定する処理が実行される。 2. Description of the Related Art There is a test method for determining the normality of a device under test by executing a test having the same instruction sequence on the device under test and a simulator and confirming the identity of the execution results. In such a test method, for example, when a discrepancy in execution results is detected, a process of identifying the instruction that caused the discrepancy among the instruction strings is executed.

不一致の原因となった命令を特定する手法の一例として、命令列内の任意の位置に、試験終了を指示する終了命令を挿入する方法がある。この場合、終了命令が挿入された命令列を被試験装置及びシミュレータで再実行し、実行結果が比較される。終了命令の挿入位置を変更しながら、その実行結果を比較することで、不一致の原因となった命令を特定できる。 As an example of a method of identifying the instruction that caused the mismatch, there is a method of inserting an end instruction to instruct the end of the test at an arbitrary position in the instruction string. In this case, the instruction string with the end instruction inserted is re-executed by the device under test and the simulator, and the execution results are compared. By comparing the execution results while changing the insertion position of the end instruction, the instruction that caused the mismatch can be identified.

特開2020-153804号公報JP 2020-153804 A

しかしながら、命令列が分岐命令を含む場合に、不一致の原因となった命令の特定が困難になることがある。例えば、繰り返し処理を示す分岐命令の直後に終了命令を挿入する場合、分岐命令の実行後、終了命令が実行される前に分岐命令の分岐先の命令群が再実行される。このため、実行結果の不一致が検出された場合、分岐命令及び分岐先の命令群を含む多数の命令の中から原因となる命令を特定する解析処理に時間を要していた。 However, when the instruction sequence includes a branch instruction, it may be difficult to identify the instruction that caused the mismatch. For example, when an end instruction is inserted immediately after a branch instruction indicating a repeat process, the branch destination instruction group of the branch instruction is re-executed after the branch instruction is executed and before the end instruction is executed. For this reason, when an inconsistency in the execution result is detected, it takes a long time to analyze the instruction to identify the cause from a large number of instructions including branch instructions and branch destination instructions.

そこでこの発明は、上述の課題を解決する情報処理装置、情報処理システム、情報処理方法及びプログラムを提供することを目的としている。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an information processing apparatus, an information processing system, an information processing method, and a program that solve the above problems.

本発明は、複数の命令を有する命令列を実行する制御部と、前記命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数の指定を受け付ける通信部と、前記制御部による前記命令列の実行中に、前記命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる試験制御部と、を備える情報処理装置である。 The present invention comprises a control unit for executing an instruction string having a plurality of instructions, a communication unit for accepting a designation of the end execution count indicating the total number of executions of the instructions, which terminates the execution of the instruction string in the middle, and the control unit. and a test control unit that terminates the execution of the instruction sequence when the number of executions of the instruction reaches the end execution count during the execution of the instruction sequence by the unit.

また、本発明は、被試験装置を示す第1情報処理装置と、シミュレータを備える第2情報処理装置とを有する情報処理システムである。前記第1情報処理装置は、複数の命令を有する命令列を実行する制御部と、前記命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数を前記第2情報処理装置から受信する通信部と、前記制御部による前記命令列の実行中に、前記命令を実行した回数が命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる試験制御部と、を備える。前記試験制御部は、前記命令列の実行による第1実行結果を前記第2情報処理装置に前記通信部を介して送信する。前記第2情報処理装置は、前記終了実行回数を前記第1情報処理装置に送信する通信部と、前記命令を実行した回数が前記終了実行回数に達するまで前記命令列を実行するシミュレータと、前記シミュレータの前記命令列の実行による第2実行結果を取得する制御部と、を備える。前記制御部は、前記第1情報処理装置から受信した前記第1実行結果と、前記シミュレータによる前記第2実行結果とを比較し、比較結果を出力する。 Further, the present invention is an information processing system having a first information processing device representing a device under test and a second information processing device having a simulator. The first information processing device includes a control unit that executes an instruction sequence having a plurality of instructions, and a termination execution count indicating a total number of executions of instructions that terminates execution of the instruction sequence in the second information processing. a communication unit receiving from a device, and interrupting the execution of the instruction sequence when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence by the control unit and a test control unit that terminates with The test control unit transmits a first execution result obtained by executing the instruction sequence to the second information processing device via the communication unit. The second information processing device includes: a communication unit that transmits the number of execution times to the first information processing device; a simulator that executes the sequence of instructions until the number of executions of the instructions reaches the number of execution times; and a control unit that acquires a second execution result from execution of the instruction sequence by the simulator. The control unit compares the first execution result received from the first information processing device and the second execution result by the simulator, and outputs a comparison result.

また本発明は、情報処理装置が実行する情報処理方法であって、複数の命令を有する命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数の指定を受け付けるステップと、前記命令列の実行中に、命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させるステップと有する情報処理方法である。 Further, the present invention is an information processing method executed by an information processing apparatus, comprising a step of receiving a designation of an end execution count indicating a total number of executions of commands, in which execution of a sequence of commands including a plurality of commands is terminated midway. and terminating the execution of the instruction sequence when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence.

また本発明は、コンピュータに、複数の命令を含む命令列の実行を途中で終了させる命令の合計の実行回数を示す終了実行回数の指定を受け付ける手順と、前記命令列の実行中に、命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる手順と、を実行させるプログラムである。 Further, the present invention provides a computer with a procedure for receiving a designation of the end execution count indicating the total number of executions of instructions for ending the execution of an instruction sequence including a plurality of instructions, and a procedure for terminating the execution of the instruction sequence when the number of executions reaches the end execution count.

本発明によれば、他の情報処理装置との間で命令列の実行結果に不一致が検出された場合に、不一致の原因となる命令を容易に特定できる。 According to the present invention, when a discrepancy is detected in the execution result of an instruction sequence with another information processing apparatus, the instruction causing the discrepancy can be easily identified.

第1実施形態による情報処理装置の構成例を示すブロック図である。1 is a block diagram showing a configuration example of an information processing apparatus according to a first embodiment; FIG. 第1実施形態による情報処理装置の動作例を示すシーケンス図である。4 is a sequence diagram showing an operation example of the information processing apparatus according to the first embodiment; FIG. 第1実施形態における試験命令列の一例を示す図である。It is a figure which shows an example of the test instruction sequence in 1st Embodiment. 第1実施形態における試験システムの処理を説明するフローチャートである。4 is a flowchart for explaining processing of the test system in the first embodiment; 第2実施形態における試験システムの処理を説明するフローチャートである。FIG. 11 is a flowchart for explaining processing of the test system in the second embodiment; FIG. 各実施形態による情報処理装置の最小構成例を示すブロック図である。1 is a block diagram showing a minimum configuration example of an information processing apparatus according to each embodiment; FIG. 最小構成の情報処理装置による処理フローを示す図である。It is a figure which shows the processing flow by the information processing apparatus of a minimum structure.

以下、本発明の一実施形態による情報処理装置を図面を参照して説明する。
(第1実施形態)
図1は、第1実施形態における試験システム300の構成例を示す図である。図1に示す試験システム300は、第1実施形態における情報処理システムの一例である。試験システム300は、試験装置1及び被試験装置2を備える。被試験装置2は情報処理装置である。試験装置1と、被試験装置2とは、汎用的なインタフェースで接続される。
An information processing apparatus according to an embodiment of the present invention will be described below with reference to the drawings.
(First embodiment)
FIG. 1 is a diagram showing a configuration example of a test system 300 according to the first embodiment. A test system 300 shown in FIG. 1 is an example of an information processing system according to the first embodiment. A test system 300 includes a test apparatus 1 and a device under test 2 . The device under test 2 is an information processing device. The test apparatus 1 and the device under test 2 are connected by a general-purpose interface.

本実施形態の試験システム300は、試験装置1と被試験装置2とで同一の命令列を有する試験を実行させ、その実行結果を比較する。試験システム300は、実行結果を同一であると判定した場合に、被試験装置2の正常性を確認する。また、命令列の実行結果の不一致が検出された場合に、命令列のうち、不一致の原因となった命令が特定される。 The test system 300 of this embodiment causes the test device 1 and the device under test 2 to execute tests having the same instruction sequence, and compares the execution results. When the test system 300 determines that the execution results are the same, the test system 300 confirms the normality of the device under test 2 . Further, when a discrepancy in the execution result of the instruction sequence is detected, the instruction causing the discrepancy is specified among the instruction sequences.

試験装置1は、例えば、CPU(Central Processing Unit)11と、主記憶装置10と、通信部12と、補助記憶装置13と、を備える。試験装置1において、CPU11と、主記憶装置10と、通信部12と、補助記憶装置13とは、バスを介した情報の入出力が可能である。試験装置1は、通信部12を介して、被試験装置2と通信可能に接続される。補助記憶装置13は、例えば磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。 The test apparatus 1 includes, for example, a CPU (Central Processing Unit) 11 , a main storage device 10 , a communication section 12 and an auxiliary storage device 13 . In the test apparatus 1, the CPU 11, the main storage device 10, the communication unit 12, and the auxiliary storage device 13 can input/output information via buses. The test apparatus 1 is communicably connected to the device under test 2 via the communication unit 12 . The auxiliary storage device 13 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device, for example.

被試験装置2は、例えば、CPU21と、主記憶装置20と、通信部22と、補助記憶装置23と、を備える。被試験装置2において、CPU21と、主記憶装置20と、通信部22と、補助記憶装置23とはバスを介した情報の入出力が可能である。被試験装置2は、通信部22を介して、試験装置1と通信可能に接続される。 The device under test 2 includes, for example, a CPU 21 , a main storage device 20 , a communication section 22 and an auxiliary storage device 23 . In the device under test 2, the CPU 21, the main storage device 20, the communication unit 22, and the auxiliary storage device 23 can input and output information via buses. The device under test 2 is communicably connected to the test device 1 via the communication unit 22 .

補助記憶装置23は、例えば磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。補助記憶装置23は、被試験装置2の動作内容を検証するための試験プログラム500を記憶する。試験プログラム500の詳細については後述する。試験プログラム500は、CPU21によって補助記憶装置23から読み出され、主記憶装置20に展開されることで実行される。 The auxiliary storage device 23 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device, for example. The auxiliary storage device 23 stores a test program 500 for verifying the operation contents of the device under test 2 . Details of the test program 500 will be described later. The test program 500 is read out from the auxiliary storage device 23 by the CPU 21 and developed in the main storage device 20 to be executed.

図2は、第1実施形態における試験システム300の機能ブロックの一例を示す図である。試験装置1のCPU11は、例えば、主記憶装置10又は補助記憶装置13に記録されるプログラムを読み出して実行する。これにより、試験装置1は、主記憶装置10上にオペレーティングシステム100、試験タスク101、シミュレータ103を備える装置として機能する。試験タスク101は、試験プログラム生成手段1010、試験実行手段1011、実行結果比較手段1012、再試験実行手段1013、及び通信手段1014を有する。 FIG. 2 is a diagram showing an example of functional blocks of the test system 300 according to the first embodiment. The CPU 11 of the test apparatus 1 reads and executes a program recorded in the main storage device 10 or the auxiliary storage device 13, for example. Thereby, the test apparatus 1 functions as an apparatus having an operating system 100 , test tasks 101 and a simulator 103 on the main storage device 10 . The test task 101 has test program generation means 1010 , test execution means 1011 , execution result comparison means 1012 , retest execution means 1013 and communication means 1014 .

なお、試験装置1の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。 All or part of each function of the test apparatus 1 may be implemented using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array). The program may be recorded on a computer-readable recording medium. Computer-readable recording media include portable media such as flexible disks, magneto-optical disks, ROMs and CD-ROMs, and storage devices such as hard disks incorporated in computer systems. The program may be transmitted over telecommunications lines.

試験プログラム生成手段1010は、試験プログラム500を生成し、主記憶装置10に記憶する。試験プログラム500は、試験(命令列)501、及び試験データ502を含む。以下、試験(命令列)501を、試験命令列501と称する。 The test program generation means 1010 generates the test program 500 and stores it in the main storage device 10 . A test program 500 includes a test (instruction sequence) 501 and test data 502 . The test (instruction string) 501 is hereinafter referred to as a test instruction string 501 .

試験命令列501は、複数の命令を有する。試験データは、試験命令列501の各命令が入力とするデータである。試験プログラム500は必ずしも試験データの入力を必要とするものではない。試験プログラム500がデータの入力を必要としない場合、試験データ502の生成が省略されてもよい。試験命令列501の詳細については、図3で後述する。 The test instruction sequence 501 has multiple instructions. The test data is data input by each command of the test command sequence 501 . Test program 500 does not necessarily require input of test data. If test program 500 does not require data input, generation of test data 502 may be omitted. Details of the test instruction sequence 501 will be described later with reference to FIG.

試験実行手段1011は、試験装置1のシミュレータ103及び被試験装置2による、試験プログラム500の実行を制御する。実行結果比較手段1012は、シミュレータ103及び被試験装置2による試験プログラム500の実行結果を比較し、比較結果を再試験実行手段1013に出力する。 The test execution means 1011 controls execution of the test program 500 by the simulator 103 of the test apparatus 1 and the device under test 2 . The execution result comparison means 1012 compares the execution results of the test program 500 by the simulator 103 and the device under test 2 and outputs the comparison result to the retest execution means 1013 .

再試験実行手段1013は、シミュレータ103及び被試験装置2の実行結果が一致しない場合、試験プログラム500の再実行を指示する。再試験実行手段1013は、不一致の原因である命令の特定のために、再実行を指示する。再試験実行手段1013は、シミュレータ103及び被試験装置2による試験プログラム500の再実行を制御する。 The retest execution means 1013 instructs re-execution of the test program 500 when the execution results of the simulator 103 and the device under test 2 do not match. The retest executing means 1013 instructs reexecution in order to identify the instruction that causes the mismatch. The retest executing means 1013 controls reexecution of the test program 500 by the simulator 103 and the device under test 2 .

通信手段1014は、生成された試験プログラム500を被試験装置2に送信するとともに、被試験装置2による試験プログラム500の実行結果を受信する。通信手段1014は、試験を再実行時に参照される、終了実行回数を被試験装置2に通知する。終了実行回数は、試験プログラム500を途中で終了させる命令の合計の実行回数を示す。 The communication means 1014 transmits the generated test program 500 to the device under test 2 and receives execution results of the test program 500 by the device under test 2 . The communication means 1014 notifies the device under test 2 of the end execution count, which is referred to when re-executing the test. The end execution count indicates the total number of executions of instructions that terminate the test program 500 halfway.

シミュレータ103は、被試験装置2の動作を模擬するソフトウェア又はハードウェアである。シミュレータ103は、被試験装置2と同一の試験プログラム500を実行する。シミュレータ103は、試験プログラム500を実行し、実行結果を実行結果比較手段1012に出力する。 The simulator 103 is software or hardware that simulates the operation of the device under test 2 . The simulator 103 executes the same test program 500 as the device under test 2 . The simulator 103 executes the test program 500 and outputs execution results to the execution result comparison means 1012 .

シミュレータ103は、実行命令数カウンタ1030をさらに有する。実行命令数カウンタ1030は、試験命令列501の実行時における、命令を実行した回数をカウントする。シミュレータ103は、実行命令数カウンタ1030の値が終了実行回数に達した場合に、試験命令列501の実行を終了する。 The simulator 103 further has an execution instruction number counter 1030 . The executed instruction number counter 1030 counts the number of times an instruction is executed when the test instruction sequence 501 is executed. The simulator 103 ends the execution of the test instruction sequence 501 when the value of the executed instruction number counter 1030 reaches the end execution count.

次に、被試験装置2について説明する。被試験装置2のCPU21は、主記憶装置20又は補助記憶装置23に記録されるプログラムを読み出して実行する。これにより、被試験装置2は、主記憶装置20上に実行命令数カウンタ201を有する。実行命令数カウンタ201は、試験命令列501の実行時における、命令を実行した回数をカウントする。主記憶装置20は、試験装置1から送信された試験プログラム500をさらに記憶する。 Next, the device under test 2 will be described. The CPU 21 of the device under test 2 reads and executes a program recorded in the main storage device 20 or the auxiliary storage device 23 . Thus, the device under test 2 has an executed instruction number counter 201 on the main storage device 20 . The executed instruction number counter 201 counts the number of times an instruction is executed when the test instruction sequence 501 is executed. Main storage device 20 further stores test program 500 transmitted from test apparatus 1 .

図2に示す被試験装置2は、試験終了手段202を備える。試験終了手段202は、試験装置1から通知された終了実行回数に基づいて、実行中の試験命令列501を途中で終了させる。試験終了手段202は、実行命令数カウンタ201の値が終了実行回数に達した場合に、試験命令列501の実行を終了させる。例えば、試験終了手段202は、システムコール等の命令や、API(Application Programming Interface)を使用して試験命令列501の実行を終了させる。 The device under test 2 shown in FIG. 2 includes test termination means 202 . The test termination means 202 terminates the test instruction sequence 501 being executed based on the number of termination executions notified from the test apparatus 1 . The test termination means 202 terminates the execution of the test instruction sequence 501 when the value of the execution instruction number counter 201 reaches the number of termination executions. For example, the test termination means 202 terminates the execution of the test instruction sequence 501 using an instruction such as a system call or an API (Application Programming Interface).

なお、被試験装置2の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。 All or part of each function of the device under test 2 may be implemented using hardware such as ASIC, PLD, FPGA, or the like. The program may be recorded on a computer-readable recording medium. Computer-readable recording media include portable media such as flexible disks, magneto-optical disks, ROMs and CD-ROMs, and storage devices such as hard disks incorporated in computer systems. The program may be transmitted over telecommunications lines.

図3は、試験命令列501が有する命令列の一例を示す図である。試験命令列501は、複数の命令からなる命令列である。図3の例によると、試験命令列501は、命令A、命令B、分岐命令、命令C、及び命令Dを有する。分岐命令は、例えば、繰り返し処理を示す分岐命令である。分岐命令が実行されると、例えば、既に実行された命令に分岐し、分岐先の命令が再実行される。 FIG. 3 is a diagram showing an example of an instruction string included in the test instruction string 501. As shown in FIG. A test instruction string 501 is an instruction string consisting of a plurality of instructions. According to the example of FIG. 3, test instruction sequence 501 has instruction A, instruction B, branch instruction, instruction C, and instruction D. FIG. A branch instruction is, for example, a branch instruction indicating repeat processing. When a branch instruction is executed, for example, a branch is taken to an already executed instruction, and the instruction at the branch destination is re-executed.

ここで、試験命令列501の処理順の一例を説明する。試験命令列501は、例えば、命令A、命令B、分岐命令の順に実行される。分岐命令が実行されると、当該分岐命令の分岐条件に応じて、例えば命令Aに分岐する。これにより、再度、命令Aが実行され、命令Aの実行後に命令Bが実行される。なお、分岐命令の分岐条件に拠っては、命令Cに分岐する場合もある。 Here, an example of the processing order of the test instruction sequence 501 will be described. The test instruction sequence 501 is executed, for example, in the order of instruction A, instruction B, and branch instruction. When a branch instruction is executed, it branches to, for example, instruction A according to the branch condition of the branch instruction. As a result, the instruction A is executed again, and after the instruction A is executed, the instruction B is executed. Note that the branch may be branched to instruction C depending on the branch condition of the branch instruction.

このように、試験命令列501が分岐命令を含む場合、試験命令列501における命令列の記載順序と、実際に実行される命令の実行順序とが異なる。また、分岐命令の分岐先の命令は、分岐条件によっては複数回実行される場合がある。 As described above, when the test instruction sequence 501 includes a branch instruction, the order in which the test instruction sequence 501 is written differs from the execution order of the instructions that are actually executed. Also, depending on the branch conditions, the branch destination instruction of the branch instruction may be executed multiple times.

前述したとおり、本実施の形態の試験システム300は、被試験装置2と試験装置1のシミュレータ103とで同一の試験命令列501を実行させる。試験システム300は、被試験装置2とシミュレータ103による実行結果の同一性を確認することにより、被試験装置2の正常性を判定する。シミュレータ103と、被試験装置2とで試験命令列501の実行結果に不一致が検出された場合、不一致の原因となる命令の特定処理が行われる。 As described above, the test system 300 of this embodiment causes the device under test 2 and the simulator 103 of the test device 1 to execute the same test instruction sequence 501 . The test system 300 determines the normality of the device under test 2 by confirming the identity of the results of execution by the device under test 2 and the simulator 103 . When a mismatch is detected in the execution results of the test instruction sequence 501 between the simulator 103 and the device under test 2, the instruction that causes the mismatch is identified.

特定処理の一例として、試験終了を指示する終了命令を命令列の任意の位置に挿入して、命令列内の任意の命令直後に試験を終了させる方法がある。終了命令が挿入された命令列が再実行される。そして、実行結果の不一致の有無に基づいて、不一致の原因となる命令が特定される。例えば、終了命令の挿入位置を変更させながら実行結果を比較することにより、不一致の原因となる命令が特定される。 As an example of the specific processing, there is a method of inserting an end instruction for instructing the end of the test at an arbitrary position in the instruction string and ending the test immediately after the arbitrary instruction in the instruction string. The instruction sequence with the end instruction inserted is re-executed. Then, the instruction causing the mismatch is identified based on the presence or absence of the mismatch in the execution results. For example, by comparing the execution results while changing the insertion position of the end instruction, the instruction causing the mismatch is identified.

ただし、この方法によると、任意の命令の直後で命令列を終了させることができない場合がある。これにより、任意の命令の直後で命令列の実行を終了させた場合の実行結果を取得できず、不一致の原因の命令の特定に時間を要していた。 However, according to this method, it may not be possible to terminate the instruction sequence immediately after an arbitrary instruction. As a result, the execution result cannot be acquired when the execution of the instruction string is terminated immediately after an arbitrary instruction, and it takes time to identify the instruction causing the mismatch.

例えば、命令列が分岐命令を含む場合、分岐先の命令の実行後に命令列の実行を終了させることができない。分岐後に実行される命令Aの実行後に、命令列の実行を終了させることができない場合を例示する。例えば、命令Aの後に終了命令を挿入すると、分岐命令の実行前に命令列の実行が終了する。また、分岐命令の直後に終了命令を挿入する場合、分岐先の命令群(命令A、命令B、…)が再実行された後、命令列の実行が終了する。 For example, if the instruction string includes a branch instruction, the execution of the instruction string cannot be terminated after execution of the branch destination instruction. A case in which the execution of the instruction sequence cannot be completed after execution of instruction A executed after branching will be illustrated. For example, if a termination instruction is inserted after instruction A, the execution of the instruction sequence will be terminated before execution of the branch instruction. Also, when inserting the end instruction immediately after the branch instruction, the execution of the instruction string is finished after the branch destination instruction group (instruction A, instruction B, . . . ) is re-executed.

そこで、本実施の形態における被試験装置2は、試験装置1から通知された終了実行回数に基づいて、実行中の試験命令列501を終了させる。すなわち、被試験装置2は、試験命令列501の実行中に、命令を実行した回数をカウントする実行命令数カウンタ201の値が終了実行回数に達すると、試験命令列501の実行を途中で終了させる。これにより任意のタイミングで命令列の実行を終了させることができる。 Therefore, the device under test 2 according to the present embodiment terminates the test instruction sequence 501 being executed based on the end execution count notified from the test device 1 . That is, the device under test 2 terminates the execution of the test instruction sequence 501 when the value of the executed instruction number counter 201, which counts the number of times the instruction is executed, reaches the end execution count during the execution of the test instruction sequence 501. Let This makes it possible to terminate the execution of the instruction sequence at any timing.

このように、本実施形態における被試験装置2によると、命令列への終了命令の挿入ではなく、命令を実行した回数に基づいて命令列の実行を終了させる。これにより、命令列が分岐命令を含む場合であっても、任意の命令の実行直後に、命令列の実行を終了させることができる。これにより、任意のタイミングで命令列の実行を終了させた場合における実行結果を取得できる。 As described above, according to the device under test 2 of the present embodiment, the execution of the instruction string is terminated based on the number of times the instruction is executed, instead of inserting the end instruction into the instruction string. As a result, even if the instruction string includes a branch instruction, execution of the instruction string can be terminated immediately after execution of an arbitrary instruction. As a result, it is possible to acquire the execution result when the execution of the instruction string is terminated at arbitrary timing.

例えば、試験システム300は、終了実行回数を変更させながら、被試験装置2及びシミュレータ103による実行結果を取得する。試験システム300は、例えば、複数の終了実行回数それぞれに応じた実行結果を取得できる。これにより、試験システム300は、終了実行回数に応じた実行結果の不一致の有無に基づいて、不一致の原因となる命令を容易に特定できる。 For example, the test system 300 acquires execution results by the device under test 2 and the simulator 103 while changing the end execution count. The test system 300 can acquire, for example, execution results corresponding to a plurality of end execution counts. As a result, the test system 300 can easily identify the instruction causing the mismatch based on the presence or absence of the mismatch in the execution results according to the number of times of execution to end.

図4は、第1実施形態における試験システム300の処理を説明するフローチャートである。試験プログラム生成手段1010(図2)は、試験プログラム500を生成する(ステップS301)。前述したとおり、試験プログラム500は、試験命令列501、及び試験命令列501が参照する試験データ502を含む。試験プログラム500は、予め生成されていてもよい。 FIG. 4 is a flow chart illustrating processing of the test system 300 in the first embodiment. The test program generation means 1010 (FIG. 2) generates the test program 500 (step S301). As described above, the test program 500 includes the test instruction string 501 and the test data 502 to which the test instruction string 501 refers. The test program 500 may be generated in advance.

試験実行手段1011は、試験プログラム500を、被試験装置2及び試験装置1のシミュレータ103に移送する(ステップS302)。被試験装置2は、試験プログラム500を受信すると、主記憶装置20の試験プログラム格納領域に格納する。 The test executing means 1011 transfers the test program 500 to the simulator 103 of the device under test 2 and the test device 1 (step S302). Upon receiving the test program 500 , the device under test 2 stores it in the test program storage area of the main storage device 20 .

試験実行手段1011は、被試験装置2及びシミュレータ103に対して、試験プログラム500の実行を指示する。被試験装置2は、指示に応じて、主記憶装置20に記憶された試験プログラム500を実行する(ステップS303)。同様にして、シミュレータ103は、指示に応じて、試験実行手段1011から移送された試験プログラム500を実行する(ステップS304)。 The test executing means 1011 instructs the device under test 2 and the simulator 103 to execute the test program 500 . The device under test 2 executes the test program 500 stored in the main storage device 20 according to the instruction (step S303). Similarly, the simulator 103 executes the test program 500 transferred from the test executing means 1011 according to the instruction (step S304).

被試験装置2は、試験プログラム500の完了後に試験プログラム500の実行結果を取得し、試験装置1に送信する。シミュレータ103は、試験プログラム500の完了後に、試験プログラム500の実行結果を取得し、実行結果比較手段1012(図2)に通知する。実行結果は、例えば、試験プログラム500を実行した後の各レジスタの状態を含む。実行結果は、試験プログラム500の出力データ、出力ステータス等をさらに含んでいてもよい。 After completing the test program 500 , the device under test 2 acquires the execution result of the test program 500 and transmits it to the test apparatus 1 . After completing the test program 500, the simulator 103 acquires the execution result of the test program 500 and notifies the execution result comparing means 1012 (FIG. 2). The execution result includes, for example, the state of each register after executing the test program 500 . The execution result may further include output data, output status, etc. of the test program 500 .

実行結果比較手段1012は、被試験装置2から受信した実行結果と、シミュレータ103から出力された実行結果とを比較する(ステップS305)。実行結果比較手段1012は、双方の実行結果に同一性があるか否かを判定する。実行結果比較手段1012は、例えば、実行結果のうち、一部のレジスタの状態のみを比較してもよい。 The execution result comparison means 1012 compares the execution result received from the device under test 2 with the execution result output from the simulator 103 (step S305). Execution result comparison means 1012 determines whether or not both execution results are identical. The execution result comparing means 1012 may, for example, compare only the states of some registers among the execution results.

実行結果が一致すると判断された場合(ステップS305のYES)、試験実行手段1011は、ログ情報を出力して試験を終了する。ログ情報は、例えば、被試験装置2及びシミュレータ103それぞれにおける試験プログラム500の実行に係る情報を含む。ログ情報は、例えば、レジスタの状態や、メモリのダンプ等を含んでいてもよい。 If it is determined that the execution results match (YES in step S305), the test executing means 1011 outputs log information and ends the test. The log information includes, for example, information related to execution of the test program 500 in the device under test 2 and the simulator 103 respectively. Log information may include, for example, register states, memory dumps, and the like.

一方、実行結果が一致しないと判断された場合(ステップS305のNO)、再試験実行手段1013は、試験プログラム500を再実行させる。再試験実行手段1013は、試験プログラム500を、シミュレータ103及び被試験装置2に移送する(ステップS306)。シミュレータ103及び被試験装置2が試験プログラム500を既に保持する場合、試験プログラム500は移送されなくともよい。 On the other hand, if it is determined that the execution results do not match (NO in step S305), the retest executing means 1013 causes the test program 500 to be executed again. The retest executing means 1013 transfers the test program 500 to the simulator 103 and the device under test 2 (step S306). If the simulator 103 and the device under test 2 already hold the test program 500, the test program 500 need not be transferred.

再試験実行手段1013は、被試験装置2の試験終了手段202、及びシミュレータ103に対して、終了実行回数を通知する(ステップS307)。終了実行回数は、試験命令列501を実行の途中で終了させる、命令の合計の実行回数を示す。換言すると、終了実行回数は、試験命令列501の実行を開始してから、実行を終了させるまでの命令の実行累積回数を示す。 The retest executing means 1013 notifies the test ending means 202 of the device under test 2 and the simulator 103 of the number of times of execution of the test (step S307). The end execution count indicates the total number of executions of instructions that terminate the test instruction sequence 501 in the middle of execution. In other words, the end execution count indicates the accumulated number of command executions from the start of execution of the test instruction sequence 501 to the end of execution.

終了実行回数は、例えば、試験プログラム500の実行実績に基づいて、任意の値が設定される。終了実行回数は、任意の小さい値を初期値として、再実行の度に、1命令ずつ増加させるように設定されてもよい。または、終了実行回数は、試験命令列501を最後まで実行した場合における実行命令数カウンタ201の値を1命令ずつ減少させるように設定されてもよい。 An arbitrary value is set as the end execution count, for example, based on the execution record of the test program 500 . The end execution count may be set to an arbitrary small value as an initial value and incremented by one instruction each time the execution is re-executed. Alternatively, the end execution count may be set so as to decrease the value of the executed instruction number counter 201 by one instruction when the test instruction sequence 501 is executed to the end.

再試験実行手段1013は、被試験装置2及びシミュレータ103に対して、試験プログラム500の実行を指示する。被試験装置2は、指示に応じて、主記憶装置20に記憶された試験命令列501を一命令、実行する(ステップS308)。一命令の実行に伴い、試験終了手段202は実行命令数カウンタ201の値をインクリメントする(ステップS309)。 The retest executing means 1013 instructs the device under test 2 and the simulator 103 to execute the test program 500 . The device under test 2 executes one command from the test command sequence 501 stored in the main storage device 20 according to the instruction (step S308). As one instruction is executed, the test termination means 202 increments the value of the executed instruction number counter 201 (step S309).

同様にして、シミュレータ103は、指示に応じて試験命令列501を一命令、実行する(ステップS310)。一命令の実行に伴い、再試験実行手段1013は、実行命令数カウンタ1030の値をインクリメントする(ステップS311)。 Similarly, the simulator 103 executes one instruction of the test instruction sequence 501 according to the instruction (step S310). As one instruction is executed, the retest executing means 1013 increments the value of the executed instruction number counter 1030 (step S311).

試験終了手段202は、実行命令数カウンタ201の値と、ステップS307で通知された終了実行回数とを比較する(ステップS312)。一致する場合(S312のYES)、試験終了手段202は、試験プログラム500を実行の途中で終了させる。すなわち、被試験装置2は、試験プログラム500の開始から終了実行回数が示す回数分、命令を実行すると、試験プログラム500を途中で終了させる。 The test terminating means 202 compares the value of the executed instruction number counter 201 with the number of termination executions notified in step S307 (step S312). If they match (YES in S312), the test termination means 202 terminates the test program 500 in the middle of execution. That is, the device under test 2 terminates the test program 500 halfway after executing the command the number of times indicated by the end execution count from the start of the test program 500 .

このように、試験終了手段202は、実行命令数カウンタ201と終了実行回数とに基づいて、任意のタイミングで試験命令列501の実行を終了させることができる。また、試験終了手段202は、シミュレータ103との間で、同一の命令の実行の直後に試験命令列501の実行を終了させることができる。試験プログラム500の終了後、被試験装置2は、試験プログラム500の実行結果を取得し、試験装置1に送信する。 In this manner, the test termination means 202 can terminate the execution of the test instruction sequence 501 at an arbitrary timing based on the executed instruction number counter 201 and the number of termination executions. Also, the test termination means 202 can terminate execution of the test instruction sequence 501 immediately after execution of the same instruction with the simulator 103 . After the test program 500 ends, the device under test 2 acquires the execution result of the test program 500 and transmits it to the test device 1 .

同様にして、試験装置1のシミュレータ103は、実行命令数カウンタ1030の値と、ステップS307で通知された終了実行回数とを比較する(ステップS312)。一致する場合(ステップS312のYES)、シミュレータ103に対して、試験プログラム500の実行を途中で終了する。すなわち、シミュレータ103は、試験プログラム500の開始から終了実行回数が示す回数分、命令を実行すると、試験プログラム500を終了させる。 Similarly, the simulator 103 of the test apparatus 1 compares the value of the executed instruction number counter 1030 with the number of times of end execution notified in step S307 (step S312). If they match (YES in step S312), execution of the test program 500 on the simulator 103 ends halfway. That is, the simulator 103 terminates the test program 500 after executing the instruction the number of times indicated by the end execution count from the start of the test program 500 .

シミュレータ103についても、実行命令数カウンタ1030と終了実行回数とに基づいて、任意のタイミングで試験命令列501の実行を終了させることができる。試験命令列501の終了後、シミュレータ103は、試験プログラム500の実行結果を取得し、実行結果比較手段1012に送信する。 The simulator 103 can also terminate the execution of the test instruction sequence 501 at an arbitrary timing based on the executed instruction number counter 1030 and the number of termination executions. After completing the test instruction sequence 501 , the simulator 103 acquires the execution result of the test program 500 and transmits it to the execution result comparison means 1012 .

一方、ステップS312においてカウント値が一致しない場合(ステップS312のNO)、被試験装置2は、試験プログラム500の実行を継続する(S308、S309)。同様にして、シミュレータ103は、試験プログラム500の実行を継続する(S310、S311)。 On the other hand, if the count values do not match in step S312 (NO in step S312), the device under test 2 continues execution of the test program 500 (S308, S309). Similarly, the simulator 103 continues execution of the test program 500 (S310, S311).

実行結果比較手段1012は、被試験装置2から送信された再実行に係る実行結果と、シミュレータ103から出力された再実行に係る実行結果とを比較する(ステップS313)。双方の実行結果が一致すると判定された場合(S313のYES)、再試験実行手段1013は、ログ情報を出力して一連の試験の工程を終了する。 The execution result comparing means 1012 compares the execution result related to re-execution transmitted from the device under test 2 with the execution result related to re-execution output from the simulator 103 (step S313). If it is determined that both execution results match (YES in S313), the retest execution means 1013 outputs log information and terminates the series of test steps.

一方、実行結果が一致しないと判定された場合(S313のNO)、再試験実行手段1013は、不一致の原因となる命令を特定する(ステップS314)。例えば、再試験実行手段1013は、他の終了実行回数が設定された場合の実行結果の不一致の有無を参照する。例えば、一つ値が大きい終了実行回数が指定された時の実行結果に不一致が検出されない場合、指定された終了実行回数に対応する命令が不一致の原因の命令として特定される。 On the other hand, if it is determined that the execution results do not match (NO in S313), the retest execution means 1013 identifies the instruction that causes the mismatch (step S314). For example, the retest execution unit 1013 refers to whether or not there is a mismatch in the execution results when another end execution count is set. For example, if no discrepancy is detected in the execution result when the end execution count that is one larger value is specified, the instruction corresponding to the specified end execution count is specified as the instruction causing the discrepancy.

再試験実行手段1013は、ログ情報を取得して一連の試験の工程を終了する(ステップS315)。この時、シミュレータ103についてもログ情報を取得してもよい。 The retest execution unit 1013 acquires the log information and ends the series of test steps (step S315). At this time, log information may also be acquired for the simulator 103 .

以上のように、第1実施形態の被試験装置2は、複数の命令を有する命令列(試験命令列501)を実行する制御部(CPU)21と、通信部22と、試験制御部202とを備える。通信部22は、命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数の指定を受け付ける。試験制御部202は、制御部21による命令列の実行中に、命令を実行した回数が終了実行回数に達した場合に、命令列の実行を途中で終了させる。 As described above, the device under test 2 of the first embodiment includes the control unit (CPU) 21 that executes an instruction sequence (test instruction sequence 501) having a plurality of instructions, the communication unit 22, and the test control unit 202. Prepare. The communication unit 22 accepts designation of the end execution count, which indicates the total number of executions of the commands, for ending the execution of the command sequence in the middle. The test control unit 202 terminates the execution of the instruction sequence in the middle when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence by the control unit 21 .

このように、被試験装置2は、命令列の実行開始後、命令を実行した累積回数が予め指定した実行回数に達した場合に、命令列の実行を命令列の途中で終了させる。被試験装置2は、命令列への終了命令の追加ではなく、命令の実行回数の合計に基づいて命令列の実行を中断させる。これにより、被試験装置2は、命令列が分岐命令を含んでいても、任意のタイミングで命令列の実行を終了させ、実行結果を取得できる。 In this way, the device under test 2 terminates the execution of the instruction string in the middle of the instruction string when the cumulative number of executions of the instruction reaches the predetermined number of executions after the start of execution of the instruction string. The device under test 2 suspends the execution of the instruction sequence based on the total number of instruction executions rather than adding an end instruction to the instruction sequence. As a result, even if the instruction string includes a branch instruction, the device under test 2 can terminate the execution of the instruction string at an arbitrary timing and acquire the execution result.

また、試験システム300は、終了実行回数の値を変更しながら、各終了実行回数に応じた、被試験装置2及びシミュレータ103による実行結果を取得できる。試験システム300は、被試験装置2及びシミュレータ103による、異なる命令の実行直後の実行結果をそれぞれ取得できる。これにより、不一致の原因である命令を容易に特定することができる。 Also, the test system 300 can acquire execution results by the device under test 2 and the simulator 103 according to each end execution count while changing the value of the end execution count. The test system 300 can obtain execution results immediately after execution of different instructions by the device under test 2 and the simulator 103, respectively. This makes it possible to easily identify the instruction that causes the mismatch.

また、本実施の形態における命令列は、命令列内の実行済みの命令に分岐する分岐命令を含む。制御部は、分岐命令の実行により、当該分岐命令の分岐先の実行済みの命令を再実行する。本実施の形態における被試験装置2は、命令の合計の実行回数に基づいて命令列を終了させることにより、命令列が分岐命令を含む場合であっても、任意の命令の実行後に命令列の実行を終了させることができる。これにより、命令列が分岐命令を含む場合においても、不一致の原因である命令を容易に特定することができる。 Further, the instruction string in this embodiment includes a branch instruction that branches to an already executed instruction in the instruction string. By executing the branch instruction, the control unit re-executes the already executed instruction at the branch destination of the branch instruction. The device under test 2 in the present embodiment terminates the instruction sequence based on the total number of instruction executions, so that even if the instruction sequence includes a branch instruction, the instruction sequence is Execution can be terminated. This makes it possible to easily identify the instruction causing the mismatch even when the instruction string includes a branch instruction.

また、本実施の形態における試験制御部2は、命令列の実行を開始してから、命令列内の命令を実行する度に命令を実行した回数をカウントアップして終了実行回数と比較する。また、試験制御部は、命令を実行した回数が終了実行回数と一致した場合に、命令列の実行を途中で終了させる。これにより、本実施の形態における被試験装置2は、命令列の実行を開始してから、予め指定された回数分、命令を実行したタイミングで、命令列の実行を終了させることができる。 Further, the test control unit 2 in the present embodiment counts up the number of times the instruction is executed each time the instruction in the instruction sequence is executed after starting the execution of the instruction sequence, and compares it with the end execution count. Further, the test control unit terminates the execution of the instruction sequence in the middle when the number of times the instruction is executed matches the end execution number. As a result, the device under test 2 according to the present embodiment can complete the execution of the instruction sequence at the timing when the instruction sequence has been executed a predetermined number of times after starting the execution of the instruction sequence.

また、本実施の形態における試験制御部2は、命令列の実行による第1実行結果を他の情報処理装置に通信部を介して送信する。第1実行結果は、他の情報処理装置において命令列を、命令を実行した回数が終了実行回数に達するまで実行して終了した場合の実行結果である、当該他の情報処理装置による第2実行結果と比較される。これにより、被試験装置2とシミュレータ103との間で、同一のタイミングで同一の命令列の実行を終了した場合の実行結果を比較できる。したがって、不一致の原因となる命令を効率的に、容易に特定することができる。 Further, the test control unit 2 according to the present embodiment transmits the first execution result obtained by executing the instruction sequence to another information processing device via the communication unit. The first execution result is the execution result when the sequence of instructions is executed by the other information processing apparatus until the number of times the instructions have been executed reaches the number of times the instruction is executed, and the second execution result by the other information processing apparatus. compared with the results. As a result, execution results can be compared between the device under test 2 and the simulator 103 when execution of the same instruction string is completed at the same timing. Therefore, the instruction causing the mismatch can be efficiently and easily identified.

また、本実施の形態における試験制御部2は、制御部によって命令列を最後まで実行させた場合の第1実行結果と、他の情報処理装置によって命令列を最後まで実行させた場合の第2実行結果とが一致しない場合に、同一の命令列を終了実行回数に基づいて再実行させる。このように、被試験装置2とシミュレータ103との間で命令列の実行結果の不一致が検出された場合に、終了実行回数に応じて命令列の実行を途中で終了させる再実行処理を行う。 Further, the test control unit 2 in the present embodiment provides a first execution result when the control unit executes the instruction string to the end, and a second execution result when the instruction string is executed to the end by another information processing device. When the execution results do not match, the same instruction sequence is re-executed based on the number of times of execution to end. In this manner, when a mismatch in the execution result of the instruction string is detected between the device under test 2 and the simulator 103, re-execution processing is performed to terminate the execution of the instruction string halfway according to the number of times of termination execution.

(第2実施形態)
第2実施形態では、試験プログラム500の実行中に、予め指定された命令実行回数の時にログ情報を取得する点について、第1実施形態と異なる。第1実施形態との差分を中心に説明する。試験装置1、及び被試験装置2の構成、及び機能ブロック図は第1実施形態で説明した通りである。
(Second embodiment)
The second embodiment is different from the first embodiment in that log information is acquired when the number of command executions specified in advance is reached during execution of the test program 500 . The description will focus on differences from the first embodiment. The configurations and functional block diagrams of the test apparatus 1 and the device under test 2 are as described in the first embodiment.

図5は、第2実施形態における試験システム300の処理を説明するフローチャートである。フローチャートにおけるステップS301~S315におけるステップS307以外の処理は、第1実施形態と同様である。 FIG. 5 is a flow chart illustrating processing of the test system 300 in the second embodiment. Processing other than step S307 in steps S301 to S315 in the flowchart is the same as in the first embodiment.

第2実施形態におけるステップS307において、再試験実行手段1013は、終了実行回数に加えて、ログ出力実行回数を、試験終了手段202及びシミュレータ103に通知する。ログ出力実行回数は、試験命令列501の実行に係るログを出力するタイミングを示す命令の合計の実行回数である。換言すると、試験命令列501の実行を開始してから、命令の実行の累積回数がログ出力実行回数に達した場合に、ログ情報が出力される。 In step S307 in the second embodiment, the retest execution unit 1013 notifies the test termination unit 202 and the simulator 103 of the log output execution count in addition to the end execution count. The number of log output executions is the total number of executions of instructions indicating the timing of outputting a log related to the execution of the test instruction sequence 501 . In other words, log information is output when the cumulative number of instruction executions after the start of execution of the test instruction sequence 501 reaches the log output execution number.

ログ出力実行回数には、終了実行回数より1つ又は所定数分、小さい数が設定されてもよい。または、ログ出力実行回数には、任意の命令に対応する実行回数が設定されてもよい。ログ出力実行回数は、2つ以上の異なる値が指定されてもよい。 The log output execution count may be set to a number smaller than the end execution count by one or a predetermined number. Alternatively, the log output execution count may be set to the execution count corresponding to an arbitrary command. Two or more different values may be specified for the log output execution count.

図5のフローチャートにおいて、ステップS309の後、試験終了手段202は、実行命令数カウンタ201の値と、ステップS307で通知されたログ出力実行回数とを比較する(ステップS320)。一致する場合(ステップS320のYES)、試験終了手段202は、試験プログラム500の実行に係るログ情報を出力させる(ステップS321)。例えば、試験終了手段202は、システムコール等の命令や、APIを使用してログ情報を取得する。 In the flowchart of FIG. 5, after step S309, the test termination means 202 compares the value of the executed instruction number counter 201 with the log output execution count notified in step S307 (step S320). If they match (YES in step S320), the test termination means 202 outputs log information related to the execution of the test program 500 (step S321). For example, the test termination means 202 acquires log information using commands such as system calls or APIs.

同様にして、シミュレータ103は、ステップS311の後、実行命令数カウンタ1030の値と、ステップS307で通知されたログ出力実行回数とを比較する(ステップS322)。一致する場合(ステップS322のYES)、シミュレータ103は、試験プログラム500の実行に係るログ情報を出力する(ステップS323)。 Similarly, after step S311, the simulator 103 compares the value of the executed instruction number counter 1030 with the log output execution count notified in step S307 (step S322). If they match (YES in step S322), the simulator 103 outputs log information related to the execution of the test program 500 (step S323).

ログ情報は、例えば、予め指定された種別の情報を含む。ログ情報は、ステップS315のログ情報と同一であってもいいし、異なってもよい。なお、シミュレータ103は、必ずしも、ログ情報を出力しなくてもよい。 The log information includes, for example, information of a type specified in advance. The log information may be the same as or different from the log information in step S315. Note that the simulator 103 does not necessarily have to output log information.

このように、第2実施形態における被試験装置2の通信部は、命令列の実行に係るログ情報を出力させる、命令の合計の実行回数を示すログ出力実行回数の指定をさらに受け付ける。試験制御部は、制御部による命令列の実行中に、命令を実行した回数がログ出力実行回数に達した場合に、ログ情報を取得する。 As described above, the communication unit of the device under test 2 in the second embodiment further accepts the designation of the log output execution count indicating the total number of command executions for outputting the log information related to the execution of the command sequence. The test control unit acquires log information when the number of command executions reaches the log output execution count during execution of the command sequence by the control unit.

これにより、任意の命令実行回数に達した時点におけるログ情報を出力させることができる。すなわち、試験命令列501の実行を途中で終了する場合に、最後の命令の1つ前の命令の実行後におけるログ情報を取得できる。換言すると、試験命令列501の中断による終了後のログ情報だけでなく、終了前に実行される任意の命令の実行後のログ情報を取得することができる。 As a result, it is possible to output log information at the time when an arbitrary number of instruction executions is reached. That is, when the execution of the test instruction sequence 501 ends in the middle, the log information after execution of the instruction immediately before the last instruction can be acquired. In other words, it is possible to acquire not only the log information after the test instruction sequence 501 is terminated due to the interruption, but also the log information after the execution of any instruction executed before the termination.

これにより、例えば、不一致の原因となる命令の1つ前の命令の実行後のログ情報と、不一致の原因となる命令の実行後のログ情報とを取得し、双方のログ情報を比較できる。これにより、実行結果の不一致が検出された場合に、被試験装置2の実行状態をより効率的に解析可能できる。 As a result, for example, log information after the execution of the instruction immediately before the instruction that causes the mismatch and log information after the execution of the instruction that causes the mismatch can be acquired, and both log information can be compared. As a result, the execution state of the device under test 2 can be analyzed more efficiently when a discrepancy in execution results is detected.

(最小構成例)
以下、最小構成例に係る情報処理装置(被試験装置)2について説明する。
図6は、各実施形態による情報処理装置2の最小構成例を示すブロック図である。図7は、最小構成の情報処理装置2による処理フローを示す図である。複数の命令を含む命令列を実行する制御部(CPU)21と、通信部22と、試験制御部(試験終了手段)202とを有する。通信部22は、命令の合計の実行回数を示す終了実行回数の指定を受け付ける(ステップS701)。試験終了手段202は、制御部21による命令列の実行中に、命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる(ステップS702)。
(Minimum configuration example)
The information processing device (device under test) 2 according to the minimum configuration example will be described below.
FIG. 6 is a block diagram showing a minimum configuration example of the information processing device 2 according to each embodiment. FIG. 7 is a diagram showing a processing flow by the information processing device 2 with the minimum configuration. It has a control unit (CPU) 21 that executes an instruction string including a plurality of instructions, a communication unit 22 and a test control unit (test termination means) 202 . The communication unit 22 receives designation of the end execution count indicating the total execution count of the command (step S701). The test termination means 202 terminates the execution of the instruction sequence in the middle when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence by the control unit 21 (step S702).

(コンピュータ構成)
上述の情報処理装置は内部に、コンピュータシステムを有している。そして、上述した情報処理装置の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM(Read Only Memory)、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
(computer configuration)
The information processing apparatus described above has a computer system inside. The process of operation of the information processing apparatus described above is stored in a computer-readable recording medium in the form of a program, and the above processing is performed by reading and executing this program by a computer. Here, the computer-readable recording medium refers to a magnetic disk, a magneto-optical disk, a CD-ROM (Read Only Memory), a DVD-ROM, a semiconductor memory, and the like. Alternatively, the computer program may be distributed to a computer via a communication line, and the computer receiving the distribution may execute the program.

本実施の形態におけるプログラムは、コンピュータに発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。 The program in the present embodiment may be for realizing part of the functions to be exhibited by the computer. For example, the program may function in combination with another program already stored in the storage or in combination with another program installed in another device.

なお、他の実施形態においては、コンピュータは、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。 In other embodiments, the computer may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or instead of the above configuration. Examples of PLD include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array). In this case, part or all of the functions implemented by the processor may be implemented by the integrated circuit.

ストレージの例としては、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージは、コンピュータのバスに直接接続された内部メディアであってもよいし、インタフェースまたは通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータに配信される場合、配信を受けたコンピュータが当該プログラムをメインメモリに展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージは、非一時的な記録媒体である。 Examples of storage include magnetic disks, magneto-optical disks, semiconductor memories, and the like. The storage may be internal media directly connected to the bus of the computer, or external media connected to the computer via an interface or communication line. Further, when this program is delivered to a computer via a communication line, the computer receiving the delivery may load the program into its main memory and execute the above process. In at least one embodiment, the storage is a non-transitory recording medium.

また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、当該プログラムは、前述した機能をストレージに既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Also, the program may be for realizing part of the functions described above.
Furthermore, the program may be a so-called difference file (difference program) that implements the functions described above in combination with another program already stored in the storage.

上記の実施形態の一部又は全部は、以下のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments can also be described as follows, but are not limited to the following.

300…試験システム、
1…試験装置、
2…被試験装置、
10…主記憶装置、
11…制御部、
12…通信部、
13…補助記憶装置、
20…主記憶装置、
21…制御部、
22…通信部、
23…補助記憶装置、
100…オペレーティングシステム、
101…試験タスク、
103…シミュレータ、
1010…試験プログラム生成手段、
1011…試験実行手段、
1012…実行結果比較手段、
1013…再試験実行手段、
1014…通信手段、
1030…実行命令数カウンタ、
201…実行命令数カウンタ、
202…試験終了手段
300 ... test system,
1 ... test equipment,
2 ... device under test,
10... Main storage device,
11... control section,
12... communication section,
13... Auxiliary storage device,
20 ... main storage device,
21 ... control unit,
22... communication section,
23 ... Auxiliary storage device,
100 operating system,
101 test task,
103... simulator,
1010 ... Test program generation means,
1011 ... test execution means,
1012 Execution result comparison means,
1013 ... retest execution means,
1014 ... communication means,
1030 ... Execution instruction number counter,
201 ... Execution instruction number counter,
202 ... Test termination means

Claims (10)

複数の命令を有する命令列を実行する制御部と、
前記命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数の指定を受け付ける通信部と、
前記制御部による前記命令列の実行中に、前記命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる試験制御部と、
を備える情報処理装置。
a control unit that executes an instruction sequence having a plurality of instructions;
a communication unit that accepts a designation of the end execution count indicating the total number of executions of the instructions for ending the execution of the instruction sequence in the middle;
a test control unit that terminates the execution of the instruction sequence when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence by the control unit;
Information processing device.
前記命令列は、前記命令列内の実行済みの命令に分岐する分岐命令を含み、
前記制御部は、前記分岐命令の実行により、当該分岐命令の分岐先の前記実行済みの命令を再実行する、
請求項1に記載の情報処理装置。
the sequence of instructions includes a branch instruction that branches to an already executed instruction in the sequence of instructions;
By executing the branch instruction, the control unit re-executes the executed instruction at the branch destination of the branch instruction.
The information processing device according to claim 1 .
前記試験制御部は、前記命令列の実行を開始してから、前記命令列内の前記命令を実行する度に前記命令を実行した回数をカウントアップして前記終了実行回数と比較し、前記命令を実行した回数が前記終了実行回数と一致した場合に、前記命令列の実行を途中で終了させる、
請求項1又は2に記載の情報処理装置。
The test control unit counts up the number of times the instruction is executed each time the instruction in the instruction sequence is executed after starting execution of the instruction sequence, compares it with the end execution count, and is executed matches the end execution count, the execution of the instruction sequence is terminated halfway.
The information processing apparatus according to claim 1 or 2.
前記試験制御部は、前記命令列の実行による第1実行結果を他の情報処理装置に前記通信部を介して送信し、
前記第1実行結果は、前記他の情報処理装置において前記命令列を、前記命令を実行した回数が前記終了実行回数に達するまで実行して終了した場合の実行結果である、当該他の情報処理装置による第2実行結果と比較される、
請求項1乃至3のいずれかに記載の情報処理装置。
The test control unit transmits a first execution result obtained by executing the instruction sequence to another information processing device via the communication unit,
The first execution result is an execution result when the sequence of instructions is executed in the other information processing apparatus until the number of times the instructions are executed reaches the number of times the instructions are executed, and the other information processing apparatus ends. compared with a second run result by the device;
The information processing apparatus according to any one of claims 1 to 3.
前記試験制御部は、前記制御部によって前記命令列を最後まで実行させた場合の第1実行結果と、他の情報処理装置によって前記命令列を最後まで実行させた場合の第2実行結果とが一致しない場合に、同一の前記命令列を前記終了実行回数に基づいて再実行させる、
請求項1乃至3のいずれかに記載の情報処理装置。
The test control unit provides a first execution result when the control unit executes the instruction string to the end and a second execution result when the instruction string is executed to the end by another information processing device. if they do not match, re-execute the same instruction sequence based on the end execution count;
The information processing apparatus according to any one of claims 1 to 3.
前記通信部は、複数の異なる前記終了実行回数の指定を受け付け、
前記試験制御部は、前記複数の終了実行回数それぞれに対応する、前記命令列の実行による複数の前記第1実行結果を取得する、
請求項4又は5に記載の情報処理装置。
The communication unit receives designation of a plurality of different end execution counts,
The test control unit acquires a plurality of the first execution results by executing the instruction sequence, corresponding to each of the plurality of end execution counts.
The information processing apparatus according to claim 4 or 5.
前記通信部は、前記命令列の実行に係るログ情報を出力させる、前記命令の合計の実行回数を示すログ出力実行回数の指定をさらに受け付け、
前記試験制御部は、前記制御部による前記命令列の実行中に、前記命令を実行した回数が前記ログ出力実行回数に達した場合に、前記ログ情報を取得する、
請求項1乃至6のいずれかに記載の情報処理装置。
The communication unit further receives a specification of a log output execution count indicating the total number of executions of the command for outputting log information related to the execution of the command sequence,
The test control unit acquires the log information when the number of times the command is executed reaches the log output execution count during execution of the command sequence by the control unit.
The information processing apparatus according to any one of claims 1 to 6.
被試験装置を示す第1情報処理装置と、シミュレータを備える第2情報処理装置とを有し、
前記第1情報処理装置は、
複数の命令を有する命令列を実行する制御部と、
前記命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数を前記第2情報処理装置から受信する通信部と、
前記制御部による前記命令列の実行中に、前記命令を実行した回数が命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる試験制御部と、を備え、
前記試験制御部は、前記命令列の実行による第1実行結果を前記第2情報処理装置に前記通信部を介して送信し、
前記第2情報処理装置は、
前記終了実行回数を前記第1情報処理装置に送信する通信部と、
前記命令を実行した回数が前記終了実行回数に達するまで前記命令列を実行するシミュレータと、
前記シミュレータの前記命令列の実行による第2実行結果を取得する制御部と、を備え、
前記制御部は、前記第1情報処理装置から受信した前記第1実行結果と、前記シミュレータによる前記第2実行結果とを比較し、比較結果を出力する、
情報処理システム。
Having a first information processing device indicating a device under test and a second information processing device having a simulator,
The first information processing device is
a control unit that executes an instruction sequence having a plurality of instructions;
a communication unit that receives, from the second information processing device, an end execution count that indicates the total number of executions of the commands that end the execution of the command sequence in the middle;
a test control unit that terminates execution of the instruction sequence when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence by the control unit; with
The test control unit transmits a first execution result obtained by executing the instruction sequence to the second information processing device via the communication unit,
The second information processing device is
a communication unit that transmits the end execution count to the first information processing device;
a simulator that executes the sequence of instructions until the number of times the instructions have been executed reaches the number of times of termination execution;
a control unit that acquires a second execution result by executing the instruction sequence of the simulator,
The control unit compares the first execution result received from the first information processing device and the second execution result by the simulator, and outputs the comparison result.
Information processing system.
複数の命令を有する命令列の実行を途中で終了させる、命令の合計の実行回数を示す終了実行回数の指定を受け付けるステップと、
前記命令列の実行中に、命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させるステップと、
を有する情報処理方法。
a step of receiving a designation of the end execution count indicating the total number of executions of instructions for ending the execution of an instruction sequence having a plurality of instructions in the middle;
a step of terminating the execution of the instruction sequence when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence;
An information processing method comprising:
コンピュータに、
複数の命令を含む命令列の実行を途中で終了させる命令の合計の実行回数を示す終了実行回数の指定を受け付ける手順と、
前記命令列の実行中に、命令を実行した回数が前記終了実行回数に達した場合に、前記命令列の実行を途中で終了させる手順と、
を実行させるプログラム。
to the computer,
a procedure for receiving a designation of the end execution count indicating the total number of executions of instructions for ending the execution of an instruction string including a plurality of instructions;
a procedure of terminating the execution of the instruction sequence when the number of times the instruction is executed reaches the end execution count during the execution of the instruction sequence;
program to run.
JP2021041778A 2021-03-15 2021-03-15 Information processing device, information processing system, information processing method and program Active JP7343197B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021041778A JP7343197B2 (en) 2021-03-15 2021-03-15 Information processing device, information processing system, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021041778A JP7343197B2 (en) 2021-03-15 2021-03-15 Information processing device, information processing system, information processing method and program

Publications (2)

Publication Number Publication Date
JP2022141461A true JP2022141461A (en) 2022-09-29
JP7343197B2 JP7343197B2 (en) 2023-09-12

Family

ID=83402881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021041778A Active JP7343197B2 (en) 2021-03-15 2021-03-15 Information processing device, information processing system, information processing method and program

Country Status (1)

Country Link
JP (1) JP7343197B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04102931A (en) * 1990-08-22 1992-04-03 Nec Corp Testing system for information processor
JPH05224995A (en) * 1992-02-13 1993-09-03 Nec Corp Information processor test system
JP2001051864A (en) * 1999-08-12 2001-02-23 Hitachi Ltd Test conducting system for data processor
JP2001519939A (en) * 1997-02-28 2001-10-23 トランスメタ・コーポレーション Error correction method and apparatus in computer system
JP2010176392A (en) * 2009-01-29 2010-08-12 Renesas Electronics Corp Defect analyzsis device, method, and program
JP2020153804A (en) * 2019-03-20 2020-09-24 Necプラットフォームズ株式会社 Testing device, testing method, and computer program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04102931A (en) * 1990-08-22 1992-04-03 Nec Corp Testing system for information processor
JPH05224995A (en) * 1992-02-13 1993-09-03 Nec Corp Information processor test system
JP2001519939A (en) * 1997-02-28 2001-10-23 トランスメタ・コーポレーション Error correction method and apparatus in computer system
JP2001051864A (en) * 1999-08-12 2001-02-23 Hitachi Ltd Test conducting system for data processor
JP2010176392A (en) * 2009-01-29 2010-08-12 Renesas Electronics Corp Defect analyzsis device, method, and program
JP2020153804A (en) * 2019-03-20 2020-09-24 Necプラットフォームズ株式会社 Testing device, testing method, and computer program

Also Published As

Publication number Publication date
JP7343197B2 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
RU2383926C2 (en) Method and system for controlling physical system model robustness
US7228262B2 (en) Semiconductor integrated circuit verification system
US20140149800A1 (en) Test method and test control apparatus
US8560991B1 (en) Automatic debugging using automatic input data mutation
CN109783837A (en) Emulator, analogue system, emulation mode and simulated program
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
JP7343197B2 (en) Information processing device, information processing system, information processing method and program
JP2021072074A (en) Semiconductor device and method for controlling semiconductor device
JP2009289072A (en) Circuit operation verification method and apparatus
CN110532164A (en) Semiconductor equipment and adjustment method
US6289473B1 (en) Semiconductor device having a debug function
JP5900336B2 (en) Emulator verification system and emulator verification method
CN115543720A (en) File system read-write correctness testing method and device and storage medium
US7962796B2 (en) State testing device and methods thereof
JP4652317B2 (en) Logic circuit functional verification apparatus, functional coverage item verification method, and program
JP2007058450A (en) Semiconductor integrated circuit
JP6949440B2 (en) Vector generator and vector generator program
JP5550578B2 (en) Entry rewriting device and entry rewriting program
US6775814B1 (en) Dynamic system configuration for functional design verification
US7523297B1 (en) Shadow scan decoder
JP2020153804A (en) Testing device, testing method, and computer program
CN117236277B (en) Method and device for checking register and electronic equipment
JPH09237191A (en) Programming supporting device, programming supporting method and medium recording programming supporting program
CN114138588B (en) Method, system, equipment and medium for deriving debug information of controller
JP3278588B2 (en) Program development support device and program development support method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230824

R151 Written notification of patent or utility model registration

Ref document number: 7343197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151