JPH01306932A - Method for testing data processor - Google Patents

Method for testing data processor

Info

Publication number
JPH01306932A
JPH01306932A JP63136851A JP13685188A JPH01306932A JP H01306932 A JPH01306932 A JP H01306932A JP 63136851 A JP63136851 A JP 63136851A JP 13685188 A JP13685188 A JP 13685188A JP H01306932 A JPH01306932 A JP H01306932A
Authority
JP
Japan
Prior art keywords
instruction
test
branch
information
random number
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
JP63136851A
Other languages
Japanese (ja)
Other versions
JPH0656588B2 (en
Inventor
Satoru Someya
哲 染谷
Ryuji Misonoo
御園生 隆二
Atsushi Sugiyama
杉山 厚
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 Computer Electronics Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Computer Electronics Co Ltd
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 Computer Electronics Co Ltd, Hitachi Ltd filed Critical Hitachi Computer Electronics Co Ltd
Priority to JP63136851A priority Critical patent/JPH0656588B2/en
Publication of JPH01306932A publication Critical patent/JPH01306932A/en
Publication of JPH0656588B2 publication Critical patent/JPH0656588B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理装置の試験方法に関し、特に複数
ストリームからなる先行制御機能に対して、分岐不成功
側の試験命令も実行することにより、全ての環境の下で
最大の能力を発揮させることが可能なデータ処理装置の
試験方法に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a testing method for a data processing device, and in particular, for a pre-control function consisting of a plurality of streams, by also executing a test instruction on the side of an unsuccessful branch. , relates to a testing method for data processing equipment that allows the maximum performance to be demonstrated under all environments.

〔従来の技術〕[Conventional technology]

データ処理装置の処理速度は、仕様要求から益々高速化
の傾向にある。この処理速度の高速化を実現するための
1つの要素として、従来、単一ストリームの先行制御か
ら複数ストリームの先行制御に移行し、さらに今後はス
トリーム数が増加する傾向にある。ここで、単一ストリ
ームとは分岐命令のないプログラムのルーチンであり、
2つの命令に分岐する場合は2ストリーム、3つの命令
に分岐する場合には3ストリームのプログラムルーチン
ということになる。
The processing speed of data processing devices is becoming increasingly faster due to specification requirements. As one element for achieving this increase in processing speed, there has been a shift from advance control of a single stream to advance control of multiple streams, and the number of streams is likely to increase in the future. Here, a single stream is a program routine without branch instructions,
When branching to two instructions, there are two streams of program routines, and when branching to three instructions, there are three streams of program routines.

例えば、特開昭62−66338号公報に記載された「
パイプライン機構の試験方法」においては、複数ストリ
ームを有する先行制御機能試験を行っている。いま、試
験命令生成時に、条件付き分岐命令を選択した場合、こ
の条件付き分岐命令で分岐することが確定しているとき
には、分岐不成功側は実行されない無効な命令であるた
め、データは特に意識していない。そこで、上記方法で
は、分岐不成功側に例外発生命令等を設定しておき、先
行制御機能が誤動作して条件通り分岐しなかった時に、
例外が発生するようにして誤動作を検出していた。
For example, "
In "Pipeline Mechanism Test Method", we conduct a preliminary control function test with multiple streams. Now, if a conditional branch instruction is selected when generating a test instruction, and it is certain that the conditional branch instruction will cause a branch, the branch failure side is an invalid instruction that will not be executed. I haven't. Therefore, in the above method, an exception generation instruction, etc. is set on the branch failure side, and when the advance control function malfunctions and the branch does not follow the conditions,
Malfunctions were detected by causing an exception to occur.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

このように、従来の方法では、複数スi・リームを有す
る先行制御機能の動作試験において、動作試験を行う試
験命令の生成時に、分岐命令、特に条件付き分岐命令が
選択された場合には、分岐動作で正常動作すれば実行さ
れない側に無効な命令、例えば例外発生命令を設けてい
る。その結果、分岐が確定するまでの間に、暗に実行さ
れる分岐不成功側ストリームは例外検出により先行演算
が中断されてしまい、先行制御機能への負荷が軽減され
た状態で動作試験が行われることになり、っまり有効な
先行制御機能試験が行われないことになる。このように
、分岐不成功側に処理を中断させる命令を設定するなら
ば、分岐不成功の場合を含めた全ての環境の下で試験を
行ったということにはならない。従って、有効な先行制
御試験を行うためには、全ての環境の下で、最大能力を
発揮させることが必要である。
As described above, in the conventional method, when a branch instruction, especially a conditional branch instruction, is selected when generating a test instruction for performing an operation test in an operation test of a preceding control function having multiple i-streams, An invalid instruction, such as an exception generation instruction, is provided on the side that would not be executed if the branch operation is normal. As a result, until the branch is finalized, the preceding operation of the implicitly executed branch failure side stream is interrupted due to exception detection, and the operation test is performed with the load on the preceding control function reduced. Therefore, an effective advance control function test cannot be performed. In this way, if an instruction is set to interrupt processing on the side where the branch fails, it does not mean that the test has been conducted under all environments including the case where the branch fails. Therefore, in order to conduct an effective advance control test, it is necessary to demonstrate the maximum capacity under all environments.

本発明の目的は、このような従来の課題を解決し、複数
ストリームを有する先行制御機能の動作試験を行う際に
、複数ストリームの全てに先行制御が働いた状態で、先
行制御試験を行うことが可能なデータ処理装置の試験方
法を提供することにある。
The purpose of the present invention is to solve such conventional problems, and to perform an advance control test with advance control working on all of the multiple streams when performing an operation test of a advance control function having multiple streams. The object of the present invention is to provide a data processing device testing method that allows for the following.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するため、本発明によるデータ処理装置
の試験方法は、乱数データを入力として試験命令を生成
し、該試験命令の実行結果の期待値をシミュレーション
により求めて、上記試験命令を複数ストリームを有する
先行制御の被試験データ処理装置に実行させ、実行結果
と上記期待値とを比較するデータ処理装置の試験方法に
おいて、乱数データを入力とし、て試験命令を生成する
際に、条件コートを設定する命令を生成した後、該命令
に後続する命令として分岐命令の生成頻度を高くする処
理を行い、かつ該分岐命令の分岐成功側および分岐不成
功・側ともに有意な試験命令を生成して、複数ストリー
ムに対して先行制御が働くようにすることに特徴がある
In order to achieve the above object, a data processing device testing method according to the present invention generates a test instruction using random number data as input, calculates the expected value of the execution result of the test instruction by simulation, and streams the above test instruction in multiple streams. In a test method for a data processing device in which a pre-controlled data processing device under test with After generating an instruction to set, a process is performed to increase the frequency of generation of a branch instruction as an instruction following the instruction, and significant test instructions are generated for both the branch success side and the branch failure side of the branch instruction. , is characterized by allowing advance control to work for multiple streams.

〔作  用〕[For production]

本発明においては、乱数データを入力として生成した試
験命令が、条件コードを設定する命令であれば、後続命
令として分岐命令、特に条件付き分岐命令の生成頻度を
高くする。つまり命令パラメータテーブル内の情報を利
用して、分岐命令を優先的に生成し、複数ストリームに
先行制御が働く条件を整え、条件コードにより分岐する
ことが確定している場合、複数ストリームに先行制御が
働く命令列を生成するため、分岐成功側ストリームには
本来の試験命令生成を続行し、分岐不成功側ストリーム
には先行制御が働く範囲に実行されない命令、つまり暗
に先行演算が行われる命令を生成する。
In the present invention, if the test instruction generated by inputting random number data is an instruction that sets a condition code, the frequency of generation of a branch instruction, particularly a conditional branch instruction, as a subsequent instruction is increased. In other words, by using the information in the instruction parameter table, a branch instruction is generated preferentially, conditions are established for preemptive control to work on multiple streams, and if a condition code has determined that a branch will occur, preemptive control is applied to multiple streams. In order to generate an instruction sequence that works, the original test instruction generation is continued for the stream on the branch success side, and the instruction that will not be executed within the range where the preemption control is activated, that is, the instruction that implicitly performs preemption, is added to the branch failure stream. generate.

このように、本発明では、乱数データと命令パラメータ
テーブル内の情報により、条件コートを設定する命令の
後続命令として、条件付き分岐命   ′令を優先的に
生成するとともに、条件コードにより分岐が確定してい
る場合に、分岐不成功側にも試験命令を生成することに
より、複数ストリームが働く状態に生成する。これらを
試験実行することにより、データ処理装置のハードウェ
アは、分岐が確定した時点で、複数ストリームのうちの
分岐不成功側ストリームにおいて暗に先行演算されたと
きのデコードストレージ動作、アソシエーション動作、
ロード動作、エクゼキューション動作等のキャンセル処
理を実行するため、先行制御機能とハードウェア内部の
各種バッファメモリ類、レジスタ類の状態、先行演算の
各ステージ動作を組み合わせた試験を、先行制御機能の
最大能力を発揮させた環境の下で行うことができる。
In this way, the present invention uses random number data and information in the instruction parameter table to generate a conditional branch instruction with priority as a subsequent instruction of the instruction that sets the condition code, and also to confirm the branch using the condition code. If the branch fails, a test instruction is also generated on the side where the branch fails, thereby creating a state in which multiple streams work. By testing these, the hardware of the data processing device can determine the decoding storage operation, association operation, and
In order to perform cancellation processing such as load operations and execution operations, tests that combine the advance control function, the status of various buffer memories and registers inside the hardware, and the operation of each stage of advance calculation are performed. This can be done in an environment that allows you to reach your maximum potential.

〔実施例〕〔Example〕

以下、本発明の一実施例を、図面により詳細に説明する
Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings.

第1図は、本発明の一実施例を示す試験を行うデータ処
理装置のブロック図である。
FIG. 1 is a block diagram of a data processing device that performs a test showing one embodiment of the present invention.

第1図において、1は試験を実行するデータ処理装置、
2はデータ処理装置のパイプライン制御等を行う先行制
御機能部、3は論理アlくレスを実アドレスに変換する
ためのアドレス変換機構部、4は主記憶装置の写しの一
部を格納し、高速アクセスで書き込み、読み出しが行わ
れるバッファ・メモリ、5は各種レジスタ、6は主記憶
装置、7は主記憶装置6に格納された乱数プログラム、
8は試験プログラムライブラリを格納した外部記憶装置
である。
In FIG. 1, 1 is a data processing device that executes a test;
Reference numeral 2 denotes a preceding control function unit that performs pipeline control of the data processing device, etc.; 3 an address translation mechanism unit that converts a logical address into a real address; and 4, a part of the copy of the main memory is stored. , a buffer memory to which writing and reading are performed with high-speed access; 5 is various registers; 6 is a main memory; 7 is a random number program stored in the main memory 6;
8 is an external storage device storing a test program library.

第1図に示すように、本発明の試験方法は、データ処理
装置1により試験が実行される。このデータ処理装置1
は、先行制御機能部2とアドレス変換部3とハードウェ
ア内部のバッファ・メモリ4、レジスタ5と主記憶装置
6とから構成されている。
As shown in FIG. 1, in the test method of the present invention, a data processing device 1 executes the test. This data processing device 1
It is composed of a advance control function section 2, an address conversion section 3, a buffer memory 4 inside the hardware, a register 5, and a main storage device 6.

本発明の試験方法は、このデータ処理装置1を試験対象
として、外部記憶装置8内の試験プログラムライブラリ
より乱数プログラム7を主記憶装置6にロードし、この
乱数プログラム7により試験命令列を発生させて、先行
制御機能部2を試験するものである。
The test method of the present invention uses the data processing device 1 as a test object, loads a random number program 7 from a test program library in an external storage device 8 into the main storage device 6, and generates a test instruction sequence using the random number program 7. This is to test the advance control function section 2.

第2図(a)(b)は、複数ストリームを有する先行制
御機能の命令を実行する場合の説明図である。
FIGS. 2(a) and 2(b) are explanatory diagrams in the case of executing an instruction of a advance control function having a plurality of streams.

先行制御機能部2は、第2図(a)に示すように、生成
試験命令列9に対して、命令の解読D、アドレス変換A
、オペランドデータの読み出しOF、実行Eの順序で、
マシンサイクル1oに従って各ステージを動作させ、生
成試験命令列の各命令を順次処理していく。条件コード
設定命令■の次に条件付き分岐命令■が設けられ、ここ
で分岐成功により命令[相]に分岐するので、第2図(
b)に示すように、命令■以降の命令は斜線で示すよう
に通常は実行されない。
As shown in FIG. 2(a), the advance control function unit 2 performs instruction decoding D and address conversion A for the generated test instruction sequence 9.
, in the order of operand data reading OF, execution E,
Each stage is operated according to the machine cycle 1o, and each instruction of the generated test instruction sequence is sequentially processed. A conditional branch instruction ■ is provided next to the condition code setting instruction ■, and if the branch is successful, a branch is made to the instruction [phase].
As shown in b), the instructions following instruction (2) are normally not executed as indicated by diagonal lines.

第3図は、本発明の一実施例を示す試験方法の全体動作
フローチャートである。
FIG. 3 is an overall operation flowchart of a test method showing one embodiment of the present invention.

本発明では、乱数プログラム7により生成された試験命
令列を前述のように処理することにより、先行制御機能
部2に対する試験を行う。
In the present invention, the advance control function section 2 is tested by processing the test instruction sequence generated by the random number program 7 as described above.

(i)乱数プログラム7により乱数が発生され、この乱
数を入力として試験命令が生成される(ステップ13.
14)。
(i) A random number is generated by the random number program 7, and a test command is generated using this random number as input (step 13.
14).

主記憶装置6には、試験命令生成情報テーブルおよび命
令パラメータテーブルが格納されている。
The main storage device 6 stores a test instruction generation information table and an instruction parameter table.

第11図は、試験命令生成情報テーブルの内容説明図で
あり、第6図は第11図におけるテーブル内の命令情報
の詳細内容を示す図であり、第5図は同じく主記憶装W
6に格納されている命令パラメータテーブルの内容説明
図である。
FIG. 11 is an explanatory diagram of the contents of the test instruction generation information table, FIG. 6 is a diagram showing the detailed contents of the instruction information in the table in FIG. 11, and FIG.
FIG. 6 is an explanatory diagram of the contents of an instruction parameter table stored in No. 6;

(…)主記憶装置6内に備えられている試験命令生成情
報テーブル40(第11図参照)を読み出し、生成され
た試験命令の命令情報400から種類形式をチエツクし
て、試験命令が複数ストリームを有する先行制御機能を
有効に試験できるように、命令パラメータテーブル50
(第5図参照)を参照することにより、試験命令の再作
成または追加作成による調整を行う。そして、生成され
た試験命令に対応して、試験命令生成情報テーブル4o
に前記生成された試験命令に関する情報を格納する(ス
テップ15〜18)。第11図に示す試験命令生成情報
テーブル4o内の命令情報400の内容は、第6図に示
すように、命令形式70とOPI情報72とOP2情報
74の各情報が格納される。
(...) Reads the test instruction generation information table 40 (see FIG. 11) provided in the main storage device 6, checks the type format from the instruction information 400 of the generated test instruction, and generates a plurality of test instructions in multiple streams. In order to effectively test the advance control function with
(See Figure 5) to make adjustments by re-creating or adding test instructions. Then, corresponding to the generated test instruction, the test instruction generation information table 4o
information regarding the generated test command is stored in (steps 15 to 18). As shown in FIG. 6, the instruction information 400 in the test instruction generation information table 4o shown in FIG. 11 stores an instruction format 70, OPI information 72, and OP2 information 74.

(ni)次に、試験命令の実行結果に対する期待値をシ
ミュレートすることにより求める(ステップ19)。シ
ミュレートは先行制御の影響を受けないように、1試験
命令ずつ独立して行い、生成した試験命令の実行に対し
て、ハードウェア内のバッファ・メモリ3内に存在する
試験命令、データを追い出して、バッファ・メモリ3を
クリアする。
(ni) Next, the expected value for the execution result of the test instruction is obtained by simulating it (step 19). The simulation is performed independently for each test instruction so as not to be affected by advance control, and the test instructions and data existing in the buffer memory 3 in the hardware are flushed out in response to the execution of the generated test instruction. and clear buffer memory 3.

(iy)前述のシミュレートにより求められた期待値と
生成された試験命令の実行による結果値とが一致したか
否かをチエツクし、もし不一致であればエラーメツセー
ジを出力する(ステップ20゜21)。
(iy) Check whether the expected value obtained by the above-mentioned simulation and the result value obtained by executing the generated test command match, and if they do not match, output an error message (steps 20 and 21). ).

(v)ステップ20で、期待値と結果値とが一致してい
る場合、およびステップ21でエラーメツセージを出力
した場合には、いずれも同一の試験命令がn回続けて実
行されたか否かをチエツクする(ステップ22)。
(v) If the expected value and the result value match in step 20, and if an error message is output in step 21, check whether the same test instruction has been executed n times in a row. Check (step 22).

(vi)その試験命令の実行回数がn回に達していない
場合には、ステップ19に戻って、同一命令が実行され
る。このとき、バッファ・メモリ3内には、前回の試験
命令実行時の命令、データが残ったままの状態となって
いるため、この回の試験命令の実行により、第1回目の
実行時とは異なる環境条件でハードウェア内のバッファ
・メモリ4、レジスタ5の状態、および複数ストリーム
での先行演算の状態に対する先行制御機能部2の試験を
行う(ステップ19,20.21)。
(vi) If the number of executions of the test instruction has not reached n times, the process returns to step 19 and the same instruction is executed. At this time, the instructions and data from the previous test instruction execution remain in the buffer memory 3, so the execution of the test instruction this time will result in a difference from the first execution. The advance control function unit 2 is tested with respect to the states of the buffer memory 4 and registers 5 in the hardware, and the state of advance operations in a plurality of streams under different environmental conditions (steps 19, 20, 21).

(報)ステップ22で、同一試験命令がn回実行されて
いる場合には、試験命令が先行制御機能部2の全機能を
完全に試験し得る規定の回数だけ実行されたか否かをチ
エツクする(ステップ23)。
(Information) In step 22, if the same test command has been executed n times, it is checked whether the test command has been executed a predetermined number of times to completely test all functions of the advance control function section 2. (Step 23).

規定回数に達していない場合には、前述の全フローを繰
り返して実行し、規定回数に達している場合には、乱数
プログラム7による一連の試験命令を終了する。
If the predetermined number of times has not been reached, the entire flow described above is repeated, and if the predetermined number of times has been reached, the series of test commands by the random number program 7 is terminated.

第4図は、第3図における試験命令生成の詳細動作フロ
ーチャートである。
FIG. 4 is a detailed operational flowchart of test instruction generation in FIG. 3.

第3図の試験命令の実行処理において、ステップ14〜
17で、複数ストリームを有する先行制御機能の試験を
有効に行うための試験命令の生成が行われるが、それら
の詳細について、第4図により詳述する。なお、複数ス
トリームを有する先行制御機能を有効に試験するための
試験命令再作成、および追加作成は、試験命令生成の都
度行う必要はなく、第4図の例では、先行する試験命令
が条件コードを設定する命令である場合にのみ実行され
る。
In the test instruction execution process of FIG.
In step 17, test commands are generated to effectively test the advance control function having multiple streams, and the details thereof will be described in detail with reference to FIG. Note that it is not necessary to re-create or additionally create a test command each time a test command is generated in order to effectively test a preceding control function that has multiple streams.In the example shown in Figure 4, the preceding test command is a condition code. Executed only if the instruction sets .

第7図は、第6図に示す命令パラメータテーブルの命令
形式の情報の一例を示す図である。
FIG. 7 is a diagram showing an example of instruction format information in the instruction parameter table shown in FIG. 6.

(イ)第3図に示すフローにおいて、試験命令が生成さ
れると、分岐命令作成モードであるか否かをチエツクし
くステップ24)、作成モードでない場合には、第11
図に示す試験命令生成情報チープル40内の先行する試
験命令の種類、形式等の情報を取り出して(ステップ2
5)、先行する命令が条件コードを設定する命令である
か否かをチエツクする(ステップ26)。このチエツク
は、第7図に示す条件コード設定フラグ701の情報に
より行い、このフラグ701が1であれば条件コードを
設定する命令であることを示し、また0であれば設定す
る命令でないことを示している。先行する試験命令が条
件コードを設定する命令でない場合には、第3図のステ
ップ18に移る。
(b) In the flow shown in FIG. 3, when a test instruction is generated, it is checked whether it is in the branch instruction creation mode or not (step 24), and if it is not in the creation mode, the
Information such as the type and format of the preceding test command is extracted from the test command generation information cheaple 40 shown in the figure (step 2).
5) Check whether the preceding instruction is an instruction to set a condition code (step 26). This check is performed using the information of the condition code setting flag 701 shown in FIG. It shows. If the preceding test instruction is not an instruction for setting a condition code, the process moves to step 18 in FIG.

(ロ)ステップ26で先行する試験命令が条件コードを
設定する命令である場合には、第3図に示す全フローで
の一連の試験回数がmの倍数であるか否かをチエツクし
くステップ27)、試験回数がmの倍数でない場合には
、第3図のフローのステップ18に移る。ステップ27
の処理は、先行する命令が条件コートを設定する試験命
令の場合。
(b) If the preceding test instruction in step 26 is an instruction to set a condition code, check whether the number of consecutive tests in the entire flow shown in FIG. 3 is a multiple of m. ), if the number of tests is not a multiple of m, the process moves to step 18 of the flow in FIG. Step 27
Processing is when the preceding instruction is a test instruction that sets a conditional code.

後続する試験命令の全てが分岐命令になることを避ける
ための処理であり、第4図の例では、試験命令の実行回
数がmの倍数となる場合にのみ、次の処理に進むことを
許可している。
This process is to prevent all subsequent test instructions from becoming branch instructions, and in the example shown in Figure 4, proceeding to the next process is permitted only when the number of executions of the test instruction is a multiple of m. are doing.

(ハ)ステップ27において、試験の実行回数がmの倍
数である場合には、分岐命令作成モードをセットし、第
5図の命令パラメータテーブル50内で、第7図の分岐
命令702の情報で規定されている第5図の分岐命令パ
ラメータ群500のポインタを読み出す(ステップ28
)。
(c) In step 27, if the number of test executions is a multiple of m, set the branch instruction creation mode, and use the information of the branch instruction 702 in FIG. 7 in the instruction parameter table 50 in FIG. Read the pointer of the defined branch instruction parameter group 500 in FIG. 5 (step 28
).

(ニ)ステップ24において分岐命令作成モードである
場合、および前記(ハ)のステップ28の処理が終了し
た場合には、乱数データを利用して、第5図の分岐命令
パラメータ群500内から分岐命令、特に条件付き分岐
命令を試験命令として選択しくステップ29)、その試
験命令が分岐成功命令であるか否かを、第7図の分岐成
功命令703の情報によりチエツクする(ステップ30
)。試験命令が分岐成功命令でない場合には、分岐命令
作成モードをリセットして、第3図のフローのステップ
18に移る(ステップ31)。
(d) If the mode is branch instruction creation mode in step 24, and if the process in step 28 (c) is completed, use random number data to branch from the branch instruction parameter group 500 in FIG. An instruction, especially a conditional branch instruction, is selected as a test instruction (step 29), and whether or not the test instruction is a successful branch instruction is checked based on the information of the successful branch instruction 703 in FIG. 7 (step 30).
). If the test instruction is not a successful branch instruction, the branch instruction creation mode is reset and the process moves to step 18 of the flowchart in FIG. 3 (step 31).

(ホ)ステップ30において、試験命令が分岐成功命令
の場合には、複数ストリームが働く試験命令を生成する
目的で、乱数データと分岐不成功側命令パラメータテー
ブルより、分岐不成功側の試験命令を求める(ステップ
32)。
(E) In step 30, if the test instruction is a successful branch instruction, the test instruction on the unsuccessful branch side is selected from the random number data and the branch unsuccessful side instruction parameter table in order to generate a test instruction that works with multiple streams. (step 32).

第10図は、本発明における分岐命令の分岐不成功側後
続命令の作成方法を示す説明図であり、第9図は、試験
命令生成中に、ペースレジスタとして有効な汎用レジス
タの番号を示すテーブルの内容を示す図であり、また第
8図は第6図の命令パラメータテーブルの○P1情報の
一例を示す図である。
FIG. 10 is an explanatory diagram showing a method of creating a subsequent instruction on the branch failure side of a branch instruction according to the present invention, and FIG. 9 is a table showing the numbers of general-purpose registers that are effective as pace registers during test instruction generation. FIG. 8 is a diagram showing an example of ○P1 information in the instruction parameter table of FIG. 6.

第10図において、36はレジスタ、6は主記憶装置、
37はペースレジスタ番号が格納されたレジスタ、50
は命令パラメータテーブルである。
In FIG. 10, 36 is a register, 6 is a main memory,
37 is a register in which the pace register number is stored, 50
is the instruction parameter table.

先ず、分岐不成功側アドレスにある命令格納位置38に
レジスタ36の乱数データをセットし、さらに乱数デー
タを入力として、第6図に示す命令パラメータテーブル
50から分岐不成功側に設定する命令パラメータを選択
し、命令パラメータテーブル50内の命令形式70、○
P1情報72、および○P2情報74の各情報を制御情
報として、分岐不成功側試験命令を生成する。そのため
には、先ず、第7図に示す命令形式70の制御命令70
4の情報が参照され、フラグが′1′であった場合には
、選択された命令が制御命令であることから、命令生成
を行わずに再度乱数データを設定し、命令パラメータを
選択して、制御フラグ704の情報がI O+である命
令パラメータが選択されるまでこれを繰り返す。
First, the random number data in the register 36 is set in the instruction storage location 38 at the address on the branch failure side, and further, using the random number data as input, the instruction parameters to be set on the branch failure side are set from the instruction parameter table 50 shown in FIG. Select the instruction format 70 in the instruction parameter table 50, ○
A branch failure test instruction is generated using the P1 information 72 and the P2 information 74 as control information. To do this, first, a control command 70 in the command format 70 shown in FIG.
If the information in 4 is referenced and the flag is '1', the selected instruction is a control instruction, so the random number data is set again without generating the instruction, and the instruction parameters are selected. , this process is repeated until an instruction parameter whose control flag 704 information is IO+ is selected.

制御命令フラグ704がI O+である命令パラメータ
が選択されると、選択された命令パラメータテーブル5
0から命令コード71を、第10図の命令格納位置38
にセットし、さらにOPI情報72、OP2情報74を
参照して、例えば選択された命令のオペランドがメモリ
タイプであった場合には、第8図に示すオペランド情報
72のレジスタセット726が10′となっていること
によりこれを認識し、オペランドで例外が発生しないよ
うに、第9図の有効ペースレジスタ80の情報を利用し
て、レジスタ37からペースレジスタとして使用可能な
汎用レジスタ番号を命令格納値=15− 置38にセットする。これにより、先行演算用として有
意な試験命令が生成された。なお、この例外発生を防ぐ
命令生成方法は、第6図の命令パラメータテーブル50
に予め格納されているコード化された規則により実現さ
れる。すなわち、命令パラメータテーブル50の情報は
、仕様書に記載されている命令仕様をコード化した規則
に集約したものである。
When an instruction parameter whose control instruction flag 704 is IO+ is selected, the selected instruction parameter table 5
The instruction code 71 from 0 to the instruction storage location 38 in FIG.
, and further refers to the OPI information 72 and OP2 information 74. For example, if the operand of the selected instruction is a memory type, the register set 726 of the operand information 72 shown in FIG. 8 is set to 10'. In order to prevent an exception from occurring in the operand, the information of the effective pace register 80 in FIG. =15- Set to position 38. As a result, a meaningful test instruction was generated for the preceding operation. Note that the instruction generation method for preventing the occurrence of this exception is based on the instruction parameter table 50 in FIG.
This is achieved by coded rules stored in advance. That is, the information in the instruction parameter table 50 is a collection of rules that are coded instructions from the instruction specifications described in the specifications.

ここで、前述した動作を行わないときには、分岐不成功
側で先行演算が中断されてしまうので、本発明による効
果は期待できなくなる。すなわち、分岐不成功側命令の
生成において、命令パラメータテーブル50の命令形式
70の制御命令704が′1′である命令を生成してし
まうと、制御命令はシステムの制御する命令であって、
例えば、24ビツトと31ビツトを切替える命令では、
当該制御命令をデコードした時点で後続する先行演算を
ストップさせる。これは、制御命令の実行が完了するま
でシステムの状態が決定されないため、先行演算を実行
することが不可能であることに基づいている。従って、
制御命令は、先行演算されない命令として、分岐不成功
側命令としては有効でないため、生成から除外する。
Here, if the above-described operation is not performed, the preceding operation will be interrupted on the branch failure side, so that the effects of the present invention cannot be expected. That is, when generating an instruction on the side of an unsuccessful branch, if an instruction is generated in which the control instruction 704 of the instruction format 70 of the instruction parameter table 50 is '1', the control instruction is an instruction controlled by the system,
For example, in an instruction to switch between 24 bits and 31 bits,
At the time when the control instruction is decoded, the subsequent preceding calculation is stopped. This is based on the fact that it is not possible to perform look-ahead operations since the state of the system is not determined until the execution of the control instructions is complete. Therefore,
The control instruction is excluded from generation because it is not an instruction that is not pre-operated and therefore is not valid as an instruction on the side of an unsuccessful branch.

このようにして、分岐不成功側命令の生成後、次の乱数
データの設定を行う(ステップ33)。
In this way, after the branch failure instruction is generated, the next random number data is set (step 33).

(へ)分岐不成功側において、分岐命令実行時、先行演
算される最大命令数が選択されたか否かをチエツクして
(ステップ34)、規定数に達していなければ、ステッ
プ32以降の処理を繰り返し、規定数に達していれば1
通常の分岐成功側試験命令を生成するために、分岐先ア
ドレスを次の命令アドレスにセットしくステップ35)
、第3図のステップ18に移って、第4図のフローを終
了する。
(F) On the unsuccessful branch side, when executing a branch instruction, check whether the maximum number of instructions to be pre-computed has been selected (step 34), and if the specified number has not been reached, perform the processing from step 32 onwards. Repeat, if the specified number is reached, 1
To generate a normal branch success side test instruction, set the branch destination address to the next instruction address (Step 35)
, the process moves to step 18 in FIG. 3, and the flow in FIG. 4 ends.

次に、本発明と従来の方法の動作の相違を、詳述する。Next, the differences in operation between the present invention and the conventional method will be explained in detail.

すなわち、本発明における複数ストリームを有する先行
制御機能で、先行制御機能を乱す要因を増大させる条件
付き分岐命令での分岐不成功側の試験命令を生成した場
合の先行演算(第2図(a)参照)と、従来における条
件付き分岐命令で分岐不成功側の命令が有効な命令とし
て生成されでいない場合の先行演算(第2図(b)参照
)とを比較する。
That is, in the advance control function having multiple streams in the present invention, the advance operation when a test instruction on the branch failure side is generated with a conditional branch instruction that increases the factors that disturb the advance control function (see Fig. 2 (a) (see FIG. 2(b)) and a conventional conditional branch instruction in which the instruction on the side of branch failure is not generated as a valid instruction (see FIG. 2(b)).

第2図(a)では、本発明による試験命令9の生成で、
条件コード設定命令■の後続命令として条件付き分岐命
令■を設定している。この場合、前記条件付き分岐命令
■は分岐成功命令であって、次に実行される命令は命令
[相]である。
In FIG. 2(a), in the generation of the test instruction 9 according to the present invention,
A conditional branch instruction ■ is set as the instruction following the condition code setting instruction ■. In this case, the conditional branch instruction (2) is a branch success instruction, and the next instruction to be executed is instruction [phase].

試験命令9を複数ストリーム先行制御機能を有するデー
タ処理装置1で実行させると、マシンサイクル10の1
ステージ目で命令■の命令解読りが行われ、2ステージ
目では命令■のアドレス変換Aと条件コード設定命令■
の命令の解読りが行われ、3ステージ目では命令■のオ
ペランド読み出しOFと条件コード設定命令■のアドレ
ス変換Aと条件付き分岐命令■の命令の解読りが行われ
、4ステージ目では、まだ条件コード設定命令■の条件
コードが設定されておらず、従って条件付き分岐命令■
の分岐条件は確定していないので、分岐不成功側の命令
■の命令の解読りがら始まる先行演算が6ステージ目の
命令の解読りまで行われる。しかし、この時点(7ステ
ージ目)に、5ステージ目で決定された条件コード設定
命令による条件コードで条件付き分岐命令■の分岐が確
定し、ストリームの切替えが行われて、分岐先の命令[
相]の命令の解読りが実行される。
When the test instruction 9 is executed by the data processing device 1 having a multi-stream advance control function, 1 of the machine cycle 10
In the second stage, the instruction ``■'' is decoded, and in the second stage, the address conversion A of the instruction ``■'' and the condition code setting instruction ``■'' are performed.
In the third stage, the operand read OF of instruction ■, the address conversion A of condition code setting instruction ■, and the conditional branch instruction ■ are decoded, and in the fourth stage, the instructions of The condition code for the condition code setting instruction ■ is not set, so the conditional branch instruction ■
Since the branch condition has not been determined, the preceding operation that starts with the decoding of the instruction (3) on the side of the branch failure is performed until the instruction in the sixth stage is decoded. However, at this point (7th stage), the branch of the conditional branch instruction ■ is determined by the condition code determined by the condition code setting instruction in the 5th stage, the stream is switched, and the branch destination instruction [
The decoding of the command of [phase] is executed.

ここで、命令■〜■に対して行われた先行演算において
実行されたアドレス変換、およびオペランドデータ読み
出しにより、既に変更されたレジスタ、バッファ・メモ
リのキャンセル動作が行われて、先行制御機能が乱され
る原因となる。この機能の乱れに対しても、本発明は試
験を行うことができる。
Here, due to the address conversion and operand data read performed in the preceding operations performed for instructions ■ to ■, the registers, buffers, and memories that have already been changed are canceled, and the preceding control function is disturbed. cause the The present invention can also test for this disturbance of function.

これに対して、従来の動作、つまり本発明による試験命
令の生成を行わない場合の先行制御機能の動作は、第2
図(b)に示すようになる。すなわち、試験命令11を
データ処理装置1に実行させた場合の順序は第2図(a
)と同じであるが、分岐不成功側の命令実行が中断され
てしまうことが異なる。つまり、条件付き分岐命令■の
分岐不成功側の命令が実行されない無効な命令であるた
め、=19− 通常、特に意識しない任意のデータが設定されており、
試験命令11の実行結果は第2図(a)の試験命令9の
実行結果と同じである。この時、マシンサイクル12の
4ステージ目では、条件ツー1−般定命令■の条件コー
ドが決定されていないため、条件付き分岐命令■の分岐
条件も確定せず、分岐不成功側の例外発生命令■の命令
の解読りを行うが、4ステージ目の例外発生命令■の命
令解読りにより例外を検出した場合、例外発生命令■以
降の5ステージ目からの先行演算がストップして、先行
制御機能を乱す原因がないまま、分岐先命令[相]の命
令の解読りを待つので、複数ストリームを有する先行制
御機能の試験としては負荷が軽減された試験となってし
まう。
In contrast, the conventional operation, that is, the operation of the advance control function when the test instruction according to the present invention is not generated, is
The result is as shown in Figure (b). That is, the order in which the test instructions 11 are executed by the data processing device 1 is shown in FIG.
), except that execution of the instruction on the unsuccessful branch side is interrupted. In other words, since the instruction on the unsuccessful branch side of the conditional branch instruction ■ is an invalid instruction that will not be executed, =19- Normally, arbitrary data that is not particularly conscious is set,
The execution result of test instruction 11 is the same as the execution result of test instruction 9 in FIG. 2(a). At this time, in the fourth stage of machine cycle 12, since the condition code of condition 2 1 - general instruction ■ has not been determined, the branch condition of conditional branch instruction ■ is also not determined, and an exception occurs on the side of unsuccessful branching. The instruction ■ is decoded, but if an exception is detected by decoding the exception generating instruction ■ in the 4th stage, the pre-operation from the 5th stage after the exception generating instruction ■ is stopped, and the pre-control is stopped. Since the decoding of the instruction of the branch destination instruction [phase] is waited for without causing any disturbance to the function, the test becomes a test with a reduced load as a test of the advance control function having multiple streams.

このように、本実施例においては、複数ストリームを有
する先行制御機能試験で、乱数データと命令パラメータ
テーブル内の情報により、条件コードを設定する命令の
後続命令として分岐命令、特に条件付き分岐命令を生成
し、さらに条件コードにより分岐が確定している場合に
は、分岐千成=20− 功側にも試験命令を生成するので、複数ストリームが働
く試験命令を生成できる。その結果、これらの試験命令
を被試験データ処理装置に実行させることにより、分岐
不成功側ストリームの先取り実行結果のキャンセル処理
を行うので、先行制御    ′機能とハードウェア内
部の各種バッファ・メモリ類とレジスタ類の状態、先行
演算の各ステージ動作を組み合わせた試験を先行制御機
能の最大能力を発揮させた環境の下で実行できる。
In this way, in this embodiment, in a pre-control function test with multiple streams, a branch instruction, especially a conditional branch instruction, is selected as a subsequent instruction of an instruction that sets a condition code using random number data and information in the instruction parameter table. Furthermore, if the branch is confirmed by the condition code, a test instruction is also generated on the successful side of the branch, so it is possible to generate a test instruction that works on multiple streams. As a result, by having the data processing device under test execute these test instructions, the prefetch execution results of the stream on the side of branch failure are cancelled. Tests that combine the status of registers and the operation of each stage of advance calculation can be performed in an environment that maximizes the potential of the advance control function.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、複数ストリーム
を有する先行制御機能試験において、ハードウェア内部
の各種バッファ・メモリ類、レジスタ類の状態や、先行
演算の各ステージ動作を組み合わせた試験を、条件付き
分岐の不成功側命令も実行するので、試験を先行制御機
能の最大能力まで発揮させた環境の下で実行できる。
As explained above, according to the present invention, in a preliminary control function test having multiple streams, a test that combines the states of various buffers, memories, and registers inside the hardware, and the operation of each stage of preliminary calculations is performed. Since instructions on the unsuccessful side of conditional branches are also executed, tests can be performed in an environment that maximizes the potential of the advance control function.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例を示すデータ処理装置のブロ
ック図、第2図は本発明と従来における複数スI・リー
ムを有する先行制御機能の命令の実行を示すシーケンス
チャー1・、第3図は本発明の一実施例を示す試験命令
の実行動作のフローチャート、第4図は第3図における
試験命令生成処理の詳細動作フローチャート、第5図は
試験命令を生成するためのパラメータ群を示す図、第6
図は第5図の命令パラメータテーブルのエントリ項目を
示す図、第7図は第6図の命令パラメータテーブルの命
令形式の情報の一例を示す図、第8図は第6図の命令パ
ラメータテーブルの○P1情報の一例を示す図、第9図
は試験命令生成中にペースレジスタとして有効な汎用レ
ジスタの番号を示すテーブルの図、第10図は本発明に
おける分岐命令の分岐不成功側後続命令の作成方法を示
す図、第11図は試験命令生成情報テーブルを示す図で
ある。 1:データ処理装置、2:先行制御機能部、3ニアドレ
ス変換機構部、4:バッファ・メモリ、5:レジスタ、
6:主記憶装置、7:乱数プログラム、8:外部記憶装
置、9,1.1:試験命令、10:12:マシンサイク
ル、50:命令パラメータテーブル、500:分岐命令
パラメータ群、501:その他の命令パラメータ群、7
0:命令形式、71:命令コード、72:OP1情報、
74:OP2情報、36:乱数データの格納されたレジ
スタ、38:分岐不成功側命令が格納されたアドレス、
37:ペースレジスタ番号が格納されたレジスタ、40
:命令情報テーブル。 特許出願人 株式会社 日立製作所(ばか1名)〇  
   −一 第   9   図 ○ニベースレジスタとして使用不可 1:ベースレジスタとして有効 第   10   図 第   11   図 乱数データ 36 [戸負偵O1に47−5゜
FIG. 1 is a block diagram of a data processing device showing an embodiment of the present invention, and FIG. 2 is a sequence chart 1. FIG. 3 is a flowchart of a test instruction execution operation showing an embodiment of the present invention, FIG. 4 is a detailed operation flowchart of the test instruction generation process in FIG. 3, and FIG. 5 is a parameter group for generating a test instruction. Figure shown, No. 6
The figure shows the entry items of the instruction parameter table of FIG. 5, FIG. 7 shows an example of the instruction format information of the instruction parameter table of FIG. 6, and FIG. ○A diagram showing an example of P1 information, FIG. 9 is a table showing the numbers of general-purpose registers that are valid as pace registers during test instruction generation, and FIG. FIG. 11, which is a diagram showing the creation method, is a diagram showing a test instruction generation information table. 1: data processing device, 2: advance control function section, 3 near address translation mechanism section, 4: buffer memory, 5: register,
6: Main memory, 7: Random number program, 8: External storage, 9, 1.1: Test instruction, 10: 12: Machine cycle, 50: Instruction parameter table, 500: Branch instruction parameter group, 501: Other Instruction parameter group, 7
0: Instruction format, 71: Instruction code, 72: OP1 information,
74: OP2 information, 36: Register where random number data is stored, 38: Address where branch unsuccessful instruction is stored,
37: Register storing pace register number, 40
: Instruction information table. Patent applicant: Hitachi, Ltd. (1 idiot)
-1 9 Figure ○ 2 Unusable as base register 1: Valid as base register Figure 10 Figure 11 Figure Random number data 36 [47-5° to door inspector O1

Claims (1)

【特許請求の範囲】[Claims] 1、乱数データを入力として試験命令を生成し、該試験
命令の実行結果の期待値をシミュレーションにより求め
て、上記試験命令を複数ストリームを有する先行制御の
被試験データ処理装置に実行させ、実行結果と上記期待
値とを比較するデータ処理装置の試験方法において、乱
数データを入力として試験命令を生成する際に、条件コ
ードを設定する命令を生成した後、該命令に後続する命
令として分岐命令の生成頻度を高くする処理を行い、か
つ該分岐命令の分岐成功側および分岐不成功側ともに有
意な試験命令を生成して、複数ストリームに対して先行
制御が働くようにすることを特徴とするデータ処理装置
の試験方法。
1. Generate a test command using random number data as input, calculate the expected value of the execution result of the test command through simulation, execute the test command on a pre-controlled data processing device under test having multiple streams, and calculate the execution result. In a test method for a data processing device that compares the expected value with the above expected value, when generating a test instruction using random number data as input, after generating an instruction to set a condition code, a branch instruction is generated as an instruction following the instruction. Data characterized by performing processing to increase the generation frequency and generating significant test instructions on both the branch success side and the branch failure side of the branch instruction so that advance control works on multiple streams. Processing equipment testing methods.
JP63136851A 1988-06-03 1988-06-03 Data processing device test method Expired - Lifetime JPH0656588B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63136851A JPH0656588B2 (en) 1988-06-03 1988-06-03 Data processing device test method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63136851A JPH0656588B2 (en) 1988-06-03 1988-06-03 Data processing device test method

Publications (2)

Publication Number Publication Date
JPH01306932A true JPH01306932A (en) 1989-12-11
JPH0656588B2 JPH0656588B2 (en) 1994-07-27

Family

ID=15184989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63136851A Expired - Lifetime JPH0656588B2 (en) 1988-06-03 1988-06-03 Data processing device test method

Country Status (1)

Country Link
JP (1) JPH0656588B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157116A (en) * 2008-12-26 2010-07-15 Fujitsu Ltd Apparatus, method and program for testing processor
WO2012023185A1 (en) * 2010-08-18 2012-02-23 富士通株式会社 Test method, processing unit, test program, method of generating test program, test program generating device, and test program generating program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62100847A (en) * 1985-10-29 1987-05-11 Nec Corp Test system for information processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62100847A (en) * 1985-10-29 1987-05-11 Nec Corp Test system for information processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157116A (en) * 2008-12-26 2010-07-15 Fujitsu Ltd Apparatus, method and program for testing processor
US8468327B2 (en) 2008-12-26 2013-06-18 Fujitsu Limited Processor test apparatus, processor test method, and processor test program
WO2012023185A1 (en) * 2010-08-18 2012-02-23 富士通株式会社 Test method, processing unit, test program, method of generating test program, test program generating device, and test program generating program
JP5549734B2 (en) * 2010-08-18 2014-07-16 富士通株式会社 Test method, arithmetic processing device, test program, test program generation method, test program generation device, and test program generation program

Also Published As

Publication number Publication date
JPH0656588B2 (en) 1994-07-27

Similar Documents

Publication Publication Date Title
KR950006616B1 (en) System and method for conserving source instruction molecules in translated program code
ul Rojas Conditional branching is not necessary for universal computation in von Neumann computers
JP3338488B2 (en) Data processing device verification method and device
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPH01306932A (en) Method for testing data processor
JPH02244338A (en) Test system for data processor
JPH0830971B2 (en) Programmable controller
JPS63214804A (en) Processor for plc and plc
JPS60142747A (en) Instruction execution control system
JPS60175148A (en) Instruction prefetching device
JPS62159230A (en) Instruction prefetching device
JPH0233173B2 (en)
JP2536238B2 (en) Information processing device
JPS6161412B2 (en)
JPH0269825A (en) Pipe line control system
CN1031286A (en) Apparatus and method for signaling a data-induced state
JPH02244337A (en) Test system for data processor
JP3428253B2 (en) Sequencer
JP2866143B2 (en) Dynamic pipeline processing unit
JPH01169641A (en) Soft error detecting system
JPH0367340A (en) Simulator
JP2581214B2 (en) Logic simulator
JPH0581015A (en) Method and system for controlling pipe line operation
JPS62159231A (en) Instruction prefetching device
JPS58166454A (en) data processing equipment

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: R313115

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20070727

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20080727

Year of fee payment: 14

EXPY Cancellation because of completion of term