JPH10187475A - Method for generating instruction sequence for test for information processor - Google Patents

Method for generating instruction sequence for test for information processor

Info

Publication number
JPH10187475A
JPH10187475A JP8346335A JP34633596A JPH10187475A JP H10187475 A JPH10187475 A JP H10187475A JP 8346335 A JP8346335 A JP 8346335A JP 34633596 A JP34633596 A JP 34633596A JP H10187475 A JPH10187475 A JP H10187475A
Authority
JP
Japan
Prior art keywords
branch
instruction
instruction sequence
test
generating
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.)
Withdrawn
Application number
JP8346335A
Other languages
Japanese (ja)
Inventor
Fumio Ichikawa
文男 市川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8346335A priority Critical patent/JPH10187475A/en
Publication of JPH10187475A publication Critical patent/JPH10187475A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To generate an instruction sequence for test with which back branching instructions over wide range can be integrated without becoming an infinite loop, the verification of branch close to real operation due to various flow control sentences used for an operation system or the like is sufficiently performed and a branch predictive test can be performed while effectively utilizing the characteristics of random instruction generation. SOLUTION: At the arbitrary timing of process for forward generating a random instruction sequence, an empty area NR is secured for the prescribed number of instructions and just before the empty area NR, a non-conditional forward branching instruction UFB defining the branch destination as just after the empty area NR is generated. At the arbitrary timing of following random instruction sequence generating process, a non-conditional back branching instruction UBB defining the branch destination as the empty area NR is generated and a non-conditional forward branching instruction UFB defining the part after the non-conditional back branching instruction UBB at the branch source as the branch destination or a conditional forward branching instruction CFB is inserted into the empty area NR so that the instruction sequence for test can be generated.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、情報処理装置に
おけるプロセッサの機能を検証するための試験用命令列
を生成する方法に関し、特に、オペレーション・システ
ムやアプリケーション・プログラムで使用される命令の
ランダムな組み合わせによる試験用命令列をフォワード
方向に生成する情報処理装置の試験用命令列生成方法に
関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a method for generating a test instruction sequence for verifying the function of a processor in an information processing apparatus, and more particularly, to a method for randomizing instructions used in an operation system or an application program. The present invention relates to a test instruction sequence generation method for an information processing apparatus that generates a test instruction sequence by a combination in a forward direction.

【0002】[0002]

【従来の技術】計算機システムなどの情報処理装置にお
けるプロセッサの機能を試験用命令列による試験運転に
よって検証することは既に行われている。この試験に使
用される命令列の生成は、乱数を用いてランダムに命令
を選択してフォワード方向にランダム命令列を生成する
のが一般的である。
2. Description of the Related Art Verification of the function of a processor in an information processing apparatus such as a computer system by a test operation using a test instruction sequence has already been performed. In general, an instruction sequence used for this test is generated by randomly selecting an instruction using a random number and generating a random instruction sequence in the forward direction.

【0003】図13は、従来における試験用命令列の生
成手順を示している。この試験用命令列生成手順では、
先ず、図14(a)に示されているように、命令生成域
IGR(Instruction-Generated Region) にランダム・
データを作成し(ステップS10)、命令生成域IGR
の先頭アドレスHA(Head Address)をポインタに設定
する(ステップS20)。
FIG. 13 shows a conventional procedure for generating a test instruction sequence. In this test instruction sequence generation procedure,
First, as shown in FIG. 14A, a random number is stored in an instruction generation region IGR (Instruction-Generated Region).
Data is created (step S10), and the instruction generation area IGR
Is set as the pointer (Step S20).

【0004】つぎに、ポインタが指すランダム・データ
を利用して命令種別(単一命令,複合命令)を判別抽出
する(ステップS30)。
Next, the instruction type (single instruction, compound instruction) is determined and extracted by using the random data pointed by the pointer (step S30).

【0005】判別抽出の結果、単一命令であれば、ポイ
ンタが指すランダム・データを利用して図14(b)に
示されているような命令テーブルIT1 (Instruction
Table)から命令(単一命令)を抽出し(ステップS4
0)、ポインタが指す領域に命令を生成し(ステップS
50)、ポインタをフォワード方向に更新する(ステッ
プS60)。ここで、生成される命令には、load,
store,add,sub,分岐などがあり、分岐命
令に関しては、暴走状態や無限ループにならないことを
保証するために、分岐先をフォワード方向に設定する制
約があり、分岐命令から分岐先までのアドレスには空き
領域を生じさせることなく任意の命令が組み込まれる。
As a result of the discrimination and extraction, if the instruction is a single instruction, an instruction table IT 1 (Instruction) as shown in FIG.
Extract the instruction (single instruction) from Table) (Step S4)
0), and generates an instruction in the area pointed by the pointer (step S
50), the pointer is updated in the forward direction (step S60). Here, the generated instructions include load,
There are restrictions such as store, add, sub, and branch. For the branch instruction, there is a restriction to set the branch destination in the forward direction in order to guarantee that a runaway state or an infinite loop will not occur. , An arbitrary instruction is incorporated without generating an empty area.

【0006】これに対し、複合命令であれば、ポインタ
が指すランダム・データを利用して図14(c)に示さ
れているような命令テーブルIT2 から命令列(ルーチ
ン)を抽出し(ステップS70)、ポインタの指す領域
に命令を生成し(ステップS80)、ポインタをフォワ
ード方向に更新する(ステップS60)。このルーチン
中の分岐命令は、無限ループにならないことを保証する
ために、分岐先をルーチン中に限ってバック方向に設定
することが可能になっている。
[0006] In contrast, if the compound instruction, extracts the instruction sequence (routine) from the instruction table IT 2 such as that shown in FIG. 14 (c) using the random data pointer points (step (S70), an instruction is generated in the area pointed to by the pointer (step S80), and the pointer is updated in the forward direction (step S60). In order to ensure that a branch instruction in this routine does not result in an infinite loop, the branch destination can be set in the back direction only during the routine.

【0007】上述のステップS30〜S80は、ポイン
タが命令生成域IGRの最終アドレスを指す(ステップ
S90)まで繰り返され、これによって試験用の一つの
ランダム命令列がフォワード方向に生成される。
The above steps S30 to S80 are repeated until the pointer points to the last address of the instruction generation area IGR (step S90), whereby one random instruction sequence for testing is generated in the forward direction.

【0008】[0008]

【発明が解決しようとする課題】上述した従来における
試験用命令列生成方法では、試験用のランダム命令列は
アドレスの昇順に命令が組み立てられるから、分岐命令
は、暴走状態や無限ループにならないことを保証するた
めに、アドレスの昇順にしか分岐できないフォワード分
岐命令に制限され、オペレーション・システムやアプリ
ケーション・プログラムで使用されるGOTO文やFO
R文やDO文などのフロー制御文による実際の運用に近
い分岐の検証を行うことについて、充分な試験用命令列
を生成することができない。
In the above-mentioned conventional method for generating a test instruction sequence, since the test random instruction sequence is composed of instructions in ascending order of addresses, the branch instruction does not become a runaway state or an infinite loop. Is limited to forward branch instructions that can only branch in the ascending order of addresses, and GOTO statements and FOs used in operation systems and application programs.
For verifying a branch close to the actual operation using a flow control statement such as an R statement or a DO statement, a sufficient test instruction sequence cannot be generated.

【0009】この問題を解決するために、図14(c)
に示されているように、バック系の分岐命令を含んだル
ーチンを予め準備しておき、試験用命令列の作成過程
で、そのルーチンを複合命令として組み込むことが行わ
れているが、これでは、分岐先がルーチン中に限られる
から、全体の命令列から見れば、極小範囲でしかバック
分岐を実現することができず、また、予測分岐機能につ
いて充分な検証試験を行うことができず、さらに、ラン
ダム命令生成と云う特質を活かすこともできない。
In order to solve this problem, FIG.
As shown in the above, a routine including a back branch instruction is prepared in advance, and the routine is incorporated as a compound instruction in the process of creating a test instruction sequence. Since the branch destination is limited to the routine, from the viewpoint of the entire instruction sequence, the back branch can be realized only in the minimum range, and the sufficient verification test cannot be performed on the predictive branch function. Furthermore, it cannot take advantage of the characteristic of random instruction generation.

【0010】この発明は、上述のような問題点を解決す
るためになされたものであり、ランダムに生成可能な命
令の一つとして、無限ループになることなく、広範囲に
亙るバック分岐命令を組み込むことができ、オペレーシ
ョン・システムやアプリケーション・プログラムで使用
されるGOTO文やFOR文やDO文などのフロー制御
文による実際の運用に近い分岐の検証を充分に行い、ラ
ンダム命令生成の特質を活かした予測分岐試験(バック
系,ロング分岐,ネスト)を行うことができる試験用命
令列を生成する情報処理装置の試験用命令列生成方法を
提供することを目的としている。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and incorporates a wide range of back branch instructions as one of randomly generated instructions without forming an infinite loop. It can fully verify branches close to actual operation using flow control statements such as GOTO, FOR, and DO statements used in operation systems and application programs, making use of the characteristics of random instruction generation. An object of the present invention is to provide a test instruction sequence generation method for an information processing apparatus that generates a test instruction sequence capable of performing a predictive branch test (back system, long branch, nest).

【0011】[0011]

【課題を解決するための手段】上述の目的を達成するた
めに、請求項1に記載の発明は、フォワード方向にラン
ダム命令列を生成する過程の任意のタイミングで、所定
数の命令分の空き領域を確保すると共に、空き領域の直
前に、分岐先を空き領域の直後とした無条件フォワード
分岐命令を生成し、これ以降のランダム命令列の生成過
程の任意のタイミングで、分岐先を前記空き領域にした
バック分岐命令を生成し、空き領域には分岐元のバック
分岐命令より以降を分岐先としたフォワード分岐命令を
挿入する情報処理装置の試験用命令列生成方法である。
According to a first aspect of the present invention, there is provided a method for generating a random instruction sequence in a forward direction at an arbitrary timing. In addition to securing an area, an unconditional forward branch instruction in which the branch destination is set immediately after the empty area is generated immediately before the empty area, and at any timing in the subsequent random instruction sequence generation process, the branch destination is set to the empty area. This is a test instruction sequence generation method for an information processing device in which a back branch instruction in an area is generated, and a forward branch instruction having a branch destination after the back branch instruction of the branch source is inserted into an empty area.

【0012】請求項1に記載の情報処理装置の試験用命
令列生成方法では、ランダムに生成可能な命令の一つと
して、無限ループの問題を生じることなくバック分岐命
令がランダム命令列に組み込まれ、GOTO文やFOR
文などのフロー制御文による実際の運用に近い分岐の検
証試験が行われ得るようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the first aspect, a back branch instruction is incorporated in the random instruction sequence without causing an infinite loop problem as one of the instructions that can be randomly generated. , GOTO statement and FOR
A verification test of a branch close to actual operation by a flow control statement such as a statement can be performed.

【0013】請求項2に記載の発明は、一つのランダム
命令列において空き領域を複数箇所に確保し、バック分
岐命令の分岐先をその複数の空き領域より選択してバッ
ク分岐幅を選択設定する請求項1に記載の情報処理装置
の試験用命令列生成方法である。
According to a second aspect of the present invention, a free area is secured at a plurality of locations in one random instruction sequence, and a branch destination of a back branch instruction is selected from the plurality of free areas to select and set a back branch width. A method for generating a test instruction sequence for an information processing apparatus according to claim 1.

【0014】請求項2に記載の情報処理装置の試験用命
令列生成方法では、分岐幅を可変設定できる。
In the method for generating a test instruction sequence for an information processing apparatus according to the present invention, the branch width can be variably set.

【0015】請求項3に記載の発明は、一つの空き領域
を複数の命令分の空き領域として設定し、空き領域には
フォワード分岐命令以外にランダム命令を挿入する請求
項1または2に記載の情報処理装置の試験用命令列生成
方法である。
According to a third aspect of the present invention, a single free area is set as a free area for a plurality of instructions, and a random instruction other than a forward branch instruction is inserted into the free area. This is a test instruction sequence generation method for the information processing apparatus.

【0016】請求項3に記載の情報処理装置の試験用命
令列生成方法では、空き領域にフォワード分岐命令以外
にランダム命令が挿入されることで、パイプライン処理
のタイミングが変化し、クリティカルな分岐テストが行
われ得るようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the third aspect, the timing of pipeline processing is changed by inserting a random instruction other than a forward branch instruction into an empty area, thereby changing a critical branch. Testing can be done.

【0017】請求項4に記載の発明は、空き領域に挿入
するフォワード分岐命令が、無条件分岐命令である請求
項1〜3のいずれか一つに記載の情報処理装置の試験用
命令列生成方法である。
According to a fourth aspect of the present invention, in the information processing apparatus according to any one of the first to third aspects, the forward branch instruction to be inserted into the empty area is an unconditional branch instruction. Is the way.

【0018】請求項4に記載の情報処理装置の試験用命
令列生成方法では、ランダム分岐命令(GOTO文)が
自動生成される。
According to the fourth aspect of the present invention, a random branch instruction (GOTO statement) is automatically generated.

【0019】請求項5に記載の発明は、空き領域に挿入
するフォワード分岐命令が、プログラムの実行に関係な
く変化する制御情報値を分岐条件値とした条件分岐命令
である請求項1〜3のいずれか一つに記載の情報処理装
置の試験用命令列生成方法である。
According to a fifth aspect of the present invention, the forward branch instruction to be inserted into the empty area is a conditional branch instruction using a control information value that changes regardless of program execution as a branch condition value. A method for generating a test instruction sequence for an information processing apparatus according to any one of the preceding claims.

【0020】請求項5に記載の情報処理装置の試験用命
令列生成方法では、FOR文命令列あるいはFOR文ネ
スト命令列が自動生成される。
In the method for generating a test instruction sequence for an information processing apparatus according to the present invention, a FOR statement instruction sequence or a FOR statement nest instruction sequence is automatically generated.

【0021】請求項6に記載の発明は、フォワード方向
にランダム命令列を生成する過程の任意のタイミング
で、プログラムの実行に関係なく変化する制御情報値を
分岐条件値とした条件付きのバック分岐命令を生成する
情報処理装置の試験用命令列生成方法である。
According to a sixth aspect of the present invention, there is provided a conditional back branch in which a control information value which changes regardless of program execution is set as a branch condition value at an arbitrary timing in a process of generating a random instruction sequence in a forward direction. This is a test instruction sequence generation method for an information processing apparatus that generates an instruction.

【0022】請求項6に記載の情報処理装置の試験用命
令列生成方法では、DO文命令列あるいはDO文ネスト
命令列が自動生成される。
In the method for generating a test instruction sequence for an information processing apparatus according to the present invention, a DO statement instruction sequence or a DO statement nest instruction sequence is automatically generated.

【0023】請求項7に記載の発明は、前記制御情報値
は複数ビットの情報値であり、そのビット数の選択ある
いは分岐条件の判定を逆にすることにより繰り返しルー
プ回数を可変設定する請求項5または6に記載の情報処
理装置の試験用命令列生成方法である。
According to a seventh aspect of the present invention, the control information value is a multi-bit information value, and the number of repetition loops is variably set by reversing the selection of the number of bits or the determination of the branch condition. 7. A method for generating a test instruction sequence for an information processing apparatus according to 5 or 6.

【0024】請求項7に記載の情報処理装置の試験用命
令列生成方法では、FOR文命令列、FOR文ネスト命
令列、DO文命令列、DO文ネスト命令列における繰り
返しループ回数が可変設定される。
In the method for generating a test instruction sequence for an information processing apparatus according to the present invention, the number of repeat loops in the FOR statement instruction sequence, the FOR statement nest instruction sequence, the DO statement instruction sequence, and the DO statement nest instruction sequence is variably set. You.

【0025】請求項8に記載の発明は、請求項4,5,
6に記載の試験用命令列生成方法により生成される命令
列のうちの、少なくとも二種類の命令列を組み合わせて
一つの試験用命令列を生成する情報処理装置の試験用命
令列生成方法である。
[0025] The invention described in claim 8 is the invention according to claims 4 and 5.
6. A test instruction sequence generation method for an information processing apparatus that generates one test instruction sequence by combining at least two types of instruction sequences among the instruction sequences generated by the test instruction sequence generation method according to 6. .

【0026】請求項8に記載の情報処理装置の試験用命
令列生成方法では、GOTO文、FOR文、DO文が混
在した試験用命令列が生成される。
In the test instruction sequence generating method for an information processing apparatus according to the present invention, a test instruction sequence including a GOTO statement, a FOR statement, and a DO statement is generated.

【0027】[0027]

【発明の実施の形態】以下に添付の図を参照してこの発
明に係る情報処理装置の試験用命令列生成方法の実施の
形態を詳細に説明する。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an embodiment of a method for generating a test instruction sequence for an information processing apparatus according to the present invention.

【0028】なお、以下の説明において、空き領域NR
(Null Region)を□印、無条件フォワード分岐命令UF
B(Unconditional Forward Branch instruction) を●
印、条件付フォワード分岐命令CFB(Conditional Fo
rward Branch instruction)を○印、無条件バック分岐
命令UBB(Unconditional Back Branch instruction)
を◆印、条件付バック分岐命令CBB(Conditional Ba
ck Branch instruction)を◇印、分岐先候補のポインタ
P(Pointer)を★印でそれぞれ示すことがある。なお、
各図において、破線で示す空き領域NRは、バック分岐
命令実行後の状態を示している。
In the following description, the free space NR
(Null Region) marked with □, unconditional forward branch instruction UF
B (Unconditional Forward Branch instruction)
Mark, conditional forward branch instruction CFB (Conditional Fo
rward Branch instruction), unconditional back branch instruction UBB (Unconditional Back Branch instruction)
Indicates a conditional back branch instruction CBB (Conditional Ba
ck Branch instruction) may be indicated by a triangle, and a pointer P (Pointer) of a branch destination candidate may be indicated by a star. In addition,
In each figure, a free area NR indicated by a broken line indicates a state after execution of the back branch instruction.

【0029】(実施の形態1)この発明による情報処理
装置の試験用命令列生成方法の実施の形態1の概要につ
いて、図1,図2を参照して説明する。
(Embodiment 1) An outline of Embodiment 1 of a test instruction sequence generation method for an information processing apparatus according to the present invention will be described with reference to FIGS.

【0030】(試験用命令列生成手順)まず、試験用命
令列は、以下の手順で生成する。
(Test Instruction Sequence Generation Procedure) First, a test instruction sequence is generated by the following procedure.

【0031】(1)図1(a)に示されているように、
フォワード方向にランダム命令列を生成する過程の任意
のタイミングで、所定数の命令分の空き領域NR(□)
を確保する。この空き領域NR(□)の直前には、分岐
先を空き領域NR(□)の直後とした無条件フォワード
分岐命令UFB(●)を生成する。
(1) As shown in FIG.
At an arbitrary timing in the process of generating a random instruction sequence in the forward direction, a free area NR (□) for a predetermined number of instructions
To secure. Immediately before this empty area NR (□), an unconditional forward branch instruction UFB (●) whose branch destination is immediately after the empty area NR (□) is generated.

【0032】フォワード分岐命令UFB(●)が設けら
れることにより、命令列の途中に空き領域NR(□)が
存在しても、命令の実行に影響を与えることがない。換
言すれば、生成されたランダム命令列は、空き領域NR
(□)に影響なく正常に動作することを保証される。
The provision of the forward branch instruction UFB (●) does not affect the execution of the instruction even if the empty area NR (□) exists in the middle of the instruction sequence. In other words, the generated random instruction sequence is the empty area NR
Normal operation is guaranteed without affecting (□).

【0033】(2)空き領域NR(□)が作成されれ
ば、空き領域NR(□)の有効空間数と、各空き領域N
R(□)ごとに、空き領域NR(□)の先頭ポインタ
(a,b,c,d・・・)と空き領域NR(□)に入る
命令数Nを、図2(a)に示されているような、空き領
域ポインタ・テーブルPT(Pointer Table)に登録す
る。
(2) If a free area NR (□) is created, the number of effective spaces in the free area NR (□) and each free area N
FIG. 2A shows the leading pointers (a, b, c, d...) Of the free area NR (□) and the number N of instructions entering the free area NR (□) for each R (□). Is registered in a free area pointer table PT (Pointer Table).

【0034】この空き領域ポインタ・テーブルPTは、
無条件バック分岐命令UBB(◆)を生成するときのバ
ック分岐の分岐先を決定するために使用され、分岐先の
選択設定に際して、作成されたいくつかの空き領域NR
(□)から任意の一つを選択することにより、分岐幅を
可変設定できる。
This free area pointer table PT is
It is used to determine the branch destination of the back branch when generating the unconditional back branch instruction UBB (、).
By selecting any one from (□), the branch width can be variably set.

【0035】(3)その後のランダム命令列の生成過程
の任意の時点で、図1(b)に示されているように、無
条件バック分岐命令UBB(◆)を生成する。無条件バ
ック分岐命令UBB(◆)の分岐先は、上記(2)で作
成された空き領域ポインタ・テーブルPTから任意の空
き領域NR(□)を取り出し、その空き領域NR(□)
の先頭とする。取り出された空き領域NR(□)のデー
タ(先頭ポインタaと命令数N)は、図2(b)に示さ
れているように、空き領域ポインタ・テーブルPTより
削除する。
(3) At an arbitrary point in the process of generating a random instruction sequence, an unconditional back branch instruction UBB (◆) is generated as shown in FIG. 1B. The branch destination of the unconditional back branch instruction UBB (◆) extracts an arbitrary free area NR (□) from the free area pointer table PT created in (2) above, and extracts the free area NR (□).
At the beginning of The extracted data of the free area NR (□) (the head pointer a and the number of instructions N) is deleted from the free area pointer table PT as shown in FIG. 2B.

【0036】(4)選択された空き領域NR(□)に
は、図1(c)に示されているように、先頭ポインタよ
り命令数N−1個以内のランダム命令(分岐命令を除
く)を順次生成し、最後に無条件フォワード分岐命令U
FB(●)あるいは条件付フォワード分岐命令CFB
(○)を生成する。この無条件フォワード分岐命令UF
B(●)の分岐先は無条件バック分岐命令UBB(◆)
の直後とする。条件付フォワード分岐命令CFB(○)
の分岐条件値は、プログラムの実行に関係なく変化する
値、例えば、タイマ値を分岐条件値とする。
(4) As shown in FIG. 1C, in the selected empty area NR (□), random instructions (excluding branch instructions) within N−1 instructions from the head pointer Are sequentially generated, and finally an unconditional forward branch instruction U
FB (●) or conditional forward branch instruction CFB
(○) is generated. This unconditional forward branch instruction UF
The branch destination of B (●) is an unconditional back branch instruction UBB (◆)
Immediately after Conditional forward branch instruction CFB (O)
Is a value that changes regardless of the execution of the program, for example, a timer value is used as the branch condition value.

【0037】これらの処理により、ランダムに生成可能
な命令の一つとして、無条件バック分岐命令UBB
(◆)をランダム命令列に組み込むことが可能になり、
無限ループとなる問題も解消される。
By these processes, one of the instructions that can be generated at random is an unconditional back branch instruction UBB.
(◆) can be incorporated into the random instruction sequence,
The problem of an infinite loop is also eliminated.

【0038】上述のような無条件バック分岐命令UBB
(◆)を複数生成することにより、GOTO文の組み合
わせでロング分岐が可能になる。
Unconditional back branch instruction UBB as described above
By generating a plurality of (◆), a long branch can be made by a combination of GOTO statements.

【0039】また、無条件バック分岐命令UBB(◆)
で分岐した分岐先の空き領域NR(□)に条件付フォワ
ード分岐命令CFB(○)を組み込むことで、FOR文
命令列あるいはFOR文ネスト命令列によるフロー制御
の命令列を生成することが可能になる。
The unconditional back branch instruction UBB (B)
By incorporating a conditional forward branch instruction CFB (O) in the empty area NR (□) of the branch destination branched in step (1), it is possible to generate a flow control instruction sequence using a FOR statement instruction sequence or a FOR statement nest instruction sequence. Become.

【0040】このフォワード分岐命令CFB(○)の分
岐条件値をタイマ等の常時加算あるいは常時減算される
制御情報値とし、それの下位nビットが0であるか否か
により分岐させることにより、繰り返しループ回数を可
変設定することができ、また、条件分岐の判定を逆にす
ることによっても繰り返しループ回数を変化させること
ができる。
The branch condition value of the forward branch instruction CFB (○) is used as a control information value that is constantly added or always subtracted by a timer or the like, and the branch is made depending on whether the lower n bits are 0 or not, thereby repeating the operation. The number of loops can be variably set, and the number of repetitions can be changed by reversing the determination of the conditional branch.

【0041】(GOTO文によるフロー制御命令列生成
手順)つぎに、バック分岐命令の組み合わせによってG
OTO文によるフロー制御の命令列を生成する具体例の
手順を説明する。この場合、バック分岐命令を組み合わ
せることにより、ランダムな分岐が可能になる。
(Procedure for Generating Flow Control Instruction Sequence Using GOTO Statement)
A procedure of a specific example of generating a flow control instruction sequence based on the OTO statement will be described. In this case, random branching becomes possible by combining back branch instructions.

【0042】(1)最初に、バック分岐命令の個数を決
定する。この個数が多いほど、分岐先の距離を長くでき
る。
(1) First, the number of back branch instructions is determined. The greater the number, the longer the distance of the branch destination.

【0043】(2)命令生成過程で、無作為に無条件フ
ォワード分岐命令UFB(●)、または無条件バック分
岐命令UBB(◆)を選択し、そのそれぞれにおいて以
下の処理を実行する。
(2) In the instruction generation process, an unconditional forward branch instruction UFB (●) or an unconditional back branch instruction UBB (◆) is selected at random, and the following processing is executed in each of them.

【0044】(2-1)無条件フォワード分岐命令UFB
(●)を選択した場合:図3(a)に示されているよう
に定義した命令列を展開する。ここでのフォワード分岐
命令UFB(●)は、無条件分岐命令あるいは条件設定
命令と条件付分岐命令とを組み合わせて必ず分岐するよ
うに考慮された命令列であり、無条件フォワード分岐命
令UFB(●)は、フォワード方向に分岐先を有し、フ
ォワード分岐命令UFB(●)と分岐先との間に数命令
分の空き領域NR(□)を確保する。
(2-1) Unconditional forward branch instruction UFB
When (●) is selected: The instruction sequence defined as shown in FIG. 3A is expanded. Here, the forward branch instruction UFB (●) is an instruction sequence that is considered to always branch by combining an unconditional branch instruction or a condition setting instruction and a conditional branch instruction, and the unconditional forward branch instruction UFB (●). ) Has a branch destination in the forward direction, and secures an empty area NR (□) for several instructions between the forward branch instruction UFB (●) and the branch destination.

【0045】これにより、所定数の命令分の空き領域N
R(□)を確保し、その空き領域NR(□)の直前に、
分岐先を空き領域の直後としたフォワード分岐命令UF
B(●)を生成したことになる。
Thus, the free area N for a predetermined number of instructions
R (□) is secured, and immediately before the empty area NR (□),
Forward branch instruction UF whose branch destination is immediately after the empty area
This means that B (●) has been generated.

【0046】一つの空き領域NR(□)を確保する度
に、図4(a),(b)に示されているように、空き領
域NR(□)の有効空間数を更新し、空き領域NR
(□)の先頭ポインタと命令数を空き領域ポインタ・テ
ーブルPTに登録する。
Each time one free area NR (□) is secured, the number of effective spaces in the free area NR (□) is updated as shown in FIGS. NR
Register the start pointer and the number of instructions in (□) in the free area pointer table PT.

【0047】(2-2)無条件バック分岐命令UBB(◆)
を選択した場合:図3(b)に示されているように定義
した命令列を展開する。バック分岐の分岐先は空き領域
ポインタ・テーブルPTに登録されている空き領域の中
から任意に設定する。
(2-2) Unconditional back branch instruction UBB ($)
Is selected: The instruction sequence defined as shown in FIG. 3B is expanded. The branch destination of the back branch is arbitrarily set from the free areas registered in the free area pointer table PT.

【0048】空き領域NR(□)には分岐命令以外の任
意の命令を埋め込み、空き領域NR(□)の最後にはフ
ォワード分岐命令(無条件フォワード分岐命令相当)U
FB(●)を埋め込む。この無条件フォワード分岐命令
UFB(●)は分岐してきた無条件バック分岐命令UB
B(◆)より以降を分岐先としている。この分岐先は分
岐元の無条件バック分岐命令UBB(◆)の直後、ある
いは分岐元のバック分岐命令より数命令分、進んだ位置
とする。図3(b)は後者を示しており、無条件バック
分岐命令UBB(◆)の生成に併せて空き領域NR
(□)が確保される。これにより空き領域NR(□)の
個数を多く取れる。
An arbitrary instruction other than the branch instruction is embedded in the empty area NR (□), and a forward branch instruction (corresponding to an unconditional forward branch instruction) U is placed at the end of the empty area NR (□).
Embed FB (●). This unconditional forward branch instruction UFB (●) is a branching unconditional back branch instruction UB
A branch destination after B (◆) is a branch destination. The branch destination is a position immediately after the unconditional back branch instruction UBB (B) of the branch source or a position advanced by several instructions from the back branch instruction of the branch source. FIG. 3B shows the latter, and the free area NR is generated in conjunction with the generation of the unconditional back branch instruction UBB (U).
(□) is secured. Thus, the number of empty areas NR (□) can be increased.

【0049】バック分岐が設定されれば、図4(b)に
示されているように、使用した空き領域NR(□)のデ
ータを空き領域ポインタ・テーブルPTから削除し、新
たに生成した空き領域NR(□)のデータを空き領域ポ
インタ・テーブルPTに登録する。
When the back branch is set, as shown in FIG. 4B, the data of the used free area NR (□) is deleted from the free area pointer table PT, and the newly generated free area NR (□) is deleted. The data of the area NR (□) is registered in the free area pointer table PT.

【0050】無条件バック分岐命令UBB(◆)が指定
個数、例えば、4個になるまで繰り返す。
This operation is repeated until the number of unconditional back branch instructions UBB (◆) reaches the specified number, for example, four.

【0051】なお、無条件バック分岐命令UBB(◆)
を選択したときに、有効な空き領域NR(□)がない場
合には、フォワード分岐に切り換える。
The unconditional back branch instruction UBB (B)
When there is no effective empty area NR (□) when is selected, the operation is switched to the forward branch.

【0052】(3)これにより、図5に示されているよ
うに、フォワード方向にランダム命令列を生成する過程
の任意のタイミングで、所定数の命令分の空き領域NR
(□)を確保し、空き領域NR(□)の直前に、分岐先
を空き領域NR(□)の直後とした無条件フォワード分
岐命令UFB(●)を生成し、これ以降のランダム命令
列の生成過程の任意のタイミングで、分岐先を空き領域
NR(□)にした無条件バック分岐命令UBB(◆)を
生成し、空き領域NR(□)には無条件バック分岐命令
UBB(◆)より以降を分岐先とした無条件フォワード
分岐命令UFB(●)を挿入することが行われ、ロング
分岐のランダム分岐命令(GOTO文)を含む試験用命
令列が出来上がる。
(3) As a result, as shown in FIG. 5, at an arbitrary timing in the process of generating a random instruction sequence in the forward direction, the free area NR for a predetermined number of instructions is obtained.
(□) is secured, and an unconditional forward branch instruction UFB (●) with a branch destination immediately after the empty area NR (□) is generated immediately before the empty area NR (□). At an arbitrary timing in the generation process, an unconditional back branch instruction UBB (◆) with a branch destination set to an empty area NR (□) is generated, and an unconditional back branch instruction UBB (◆) is added to the empty area NR (□). An unconditional forward branch instruction UFB (●) with the subsequent branch destination is inserted, and a test instruction sequence including a long branch random branch instruction (GOTO statement) is completed.

【0053】これにより、ロング分岐のランダム分岐命
令(GOTO文)の組み合わせによる予測分岐試験が行
われ得るようになる。
Thus, a predictive branch test using a combination of a long branch random branch instruction (GOTO statement) can be performed.

【0054】また、無条件バック分岐命令UBB(◆)
後のつぎの分岐命令までに、換言すれば、空き領域NR
(□)に、分岐命令以外のランダム命令が組み込まれる
ことによってパイプライン処理のタイミングが変化し、
クリティカルな分岐テストが行われ得るようになる。
An unconditional back branch instruction UBB (B)
By the next next branch instruction, in other words, the free space NR
(□) incorporates a random instruction other than a branch instruction to change the timing of pipeline processing.
Critical branch tests can now be performed.

【0055】なお、図4(a)は図5の時点t1におけ
る空き領域ポインタ・テーブルPTの状態を、図4
(b)は図5の時点t2における空き領域ポインタ・テ
ーブルPTの状態をそれぞれ示している。なお、図5に
おける〜の数値は、バック分岐の実行順序を示した
ものである。
FIG. 4A shows the state of the free area pointer table PT at time t1 in FIG.
(B) shows the state of the free area pointer table PT at time t2 in FIG. 5 indicate the execution order of the back branch.

【0056】(FOR文ネスト命令列生成手順)つぎ
に、FOR文ネストの例について説明する。バック分岐
命令で分岐した空き領域に条件分岐命令を組み込みこと
で、FOR文によるフロー制御の命令列の生成が可能に
なる。また、これを組み合わせることにより、FOR文
ネスト命令列を生成できる。
(Procedure Nest Instruction Sequence Generation Procedure) Next, an example of a FOR statement nest will be described. By incorporating a conditional branch instruction in an empty area branched by a back branch instruction, it becomes possible to generate a flow control instruction sequence by a FOR statement. By combining these, a FOR statement nest instruction sequence can be generated.

【0057】(1)最初に、ネスト数を決定する。これ
はバック分岐命令の個数と等価である。
(1) First, the number of nests is determined. This is equivalent to the number of back branch instructions.

【0058】(2)命令列生成過程で、図6(a)に示
されているように、ネスト数分の無条件フォワード分岐
命令UFB(●)を無作為に選択し、ネスト数分、ここ
では3個の空き領域NR(□)を確保する。無条件フォ
ワード分岐命令UFB(●)では、図3(a)に示され
ているように定義した命令列を同様に展開する。
(2) In the instruction sequence generation process, as shown in FIG. 6A, unconditional forward branch instructions UFB (●) for the number of nests are randomly selected, and Then, three empty areas NR (□) are secured. In the unconditional forward branch instruction UFB (●), an instruction sequence defined as shown in FIG. 3A is similarly expanded.

【0059】(3)ネスト数分の空き領域NR(□)が
確保された以降の命令列生成過程の任意の時点で、図6
(b)に示されているように、ネスト数分の無条件バッ
ク分岐命令UBB(◆)を選択する。無条件バック分岐
命令UBB(◆)が選択されれば、図7に示されている
ように定義した命令列を展開する。
(3) At any point in the instruction sequence generation process after the free area NR (□) for the number of nests is secured, FIG.
As shown in (b), unconditional back-branch instructions UBB (#) are selected for the number of nests. When the unconditional back branch instruction UBB (◆) is selected, the instruction sequence defined as shown in FIG. 7 is expanded.

【0060】各バック分岐命令UBB(◆)の分岐先の
設定に際しては、図2に示されているような空き領域ポ
インタ・テーブルPTを参照してネストの型になるよう
に空き領域NR(□)を選び、選択された空き領域NR
(□)の先頭とする。分岐先に選択された空き領域NR
(□)のデータは空き領域ポインタより消去されるか
ら、分岐先は重複することなく設定される。
When setting the branch destination of each back branch instruction UBB (◆), the free area NR (□) is set so as to become a nest type by referring to the free area pointer table PT as shown in FIG. ) And the selected free space NR
Start at (□). Free area NR selected as branch destination
Since the data of (□) is deleted from the free area pointer, the branch destination is set without duplication.

【0061】(4)選択された各空き領域NR(□)に
は分岐命令以外の任意の命令を埋め込み、空き領域NR
(□)の最後には条件付フォワード分岐命令CFB
(○)を埋め込む。この条件付フォワード分岐命令CF
B(○)の分岐先は分岐元の無条件バック分岐命令UB
B(◆)の直後とする。
(4) An arbitrary instruction other than the branch instruction is embedded in each of the selected free areas NR (□),
(□) ends with conditional forward branch instruction CFB
(○) is embedded. This conditional forward branch instruction CF
The branch destination of B (O) is the unconditional back branch instruction UB of the branch source
Immediately after B (◆).

【0062】条件付フォワード分岐命令CFB(○)の
分岐条件値はタイマ受信命令により得られるカウンタ
(タイマ)の値であり、そのカウンタの下位nビットの
値が0であれば、分岐先へ分岐する。これにより繰り返
しループ回数が設定される。図8に示されているよう
に、下位ビットn=1の場合には、ループ確率、非ルー
プ確率ともに1/2になり、下位ビットn=2の場合に
は、ループ確率は3/4、非ループ確率1/4になり、
下位ビットn=3の場合には、ループ確率は7/8、非
ループ確率1/8になるから、下位ビットnの選択によ
り繰り返しループ回数を変化させ、ネストから抜け出す
速さを調節することができる。
The branch condition value of the conditional forward branch instruction CFB (○) is the value of the counter (timer) obtained by the timer reception instruction. If the value of the lower n bits of the counter is 0, the branch to the branch destination is made. I do. Thereby, the number of repetition loops is set. As shown in FIG. 8, when the lower bit n = 1, both the loop probability and the non-loop probability are な り, and when the lower bit n = 2, the loop probability is /, Non-loop probability becomes 1/4,
When the lower bit n = 3, the loop probability becomes 7/8 and the non-loop probability becomes 1/8. Therefore, it is possible to change the number of repetition loops by selecting the lower bit n and adjust the speed of exiting the nest. it can.

【0063】また、カウンタの下位nビットの値が0で
なければ、分岐先へ分岐することもでき、この場合も、
同様に下位ビットnの選択により、図8に示されている
ように、ループ確率、非ループ確率を変化させてネスト
から抜け出す速さを調節することができる。
If the value of the lower n bits of the counter is not 0, it is possible to branch to the branch destination.
Similarly, by selecting the lower bit n, as shown in FIG. 8, the speed of exiting the nest can be adjusted by changing the loop probability and the non-loop probability.

【0064】(5)これにより、図6(c)に示されて
いるように、フォワード方向にランダム命令列を生成す
る過程の任意のタイミングで、所定数の命令分の空き領
域NR(□)を確保し、空き領域NR(□)の直前に、
分岐先を空き領域NR(□)の直後とした無条件フォワ
ード分岐命令UFB(●)を生成し、これ以降のランダ
ム命令列の生成過程の任意のタイミングで、分岐先を空
き領域NR(□)にした無条件バック分岐命令UBB
(◆)を生成し、空き領域NR(□)には無条件バック
分岐命令UBB(◆)より以降を分岐先とした条件付フ
ォワード分岐命令CFB(○)を挿入することが行わ
れ、FOR文のネストを含む試験用命令列が出来上が
る。
(5) Thus, as shown in FIG. 6C, at an arbitrary timing in the process of generating a random instruction sequence in the forward direction, a free area NR (□) for a predetermined number of instructions is obtained. And immediately before the empty space NR (□),
An unconditional forward branch instruction UFB (●) with the branch destination immediately after the empty area NR (□) is generated, and the branch destination is set to the empty area NR (□) at an arbitrary timing in the subsequent random instruction sequence generation process. Unconditional back branch instruction UBB
(◆) is generated, and a conditional forward branch instruction CFB (○) having a branch destination after the unconditional back branch instruction UBB (◆) is inserted into the empty area NR (□). The test instruction sequence including the nest of is completed.

【0065】これにより、FOR文命令列およびFOR
文ネスト命令列による予測分岐試験が行われ得るように
なる。
Thus, the FOR statement instruction sequence and the FOR statement
A predictive branch test using a statement nest instruction sequence can be performed.

【0066】(実施の形態2)この発明による情報処理
装置の試験用命令列生成方法の実施の形態2について、
図9〜図11を参照して説明する。実施の形態2では、
フォワード方向にランダム命令列を生成する過程の任意
のタイミングで、プログラムの実行に関係なく変化する
制御情報値を分岐条件値とした条件付バック分岐命令C
BB(◇)を生成する。
(Embodiment 2) Embodiment 2 of a test instruction sequence generation method for an information processing apparatus according to the present invention will be described.
This will be described with reference to FIGS. In the second embodiment,
At any time during the process of generating a random instruction sequence in the forward direction, a conditional back branch instruction C using a control information value that changes regardless of program execution as a branch condition value
BB (◇) is generated.

【0067】以下に、試験用命令列の生成手順を説明す
る。
The procedure for generating a test instruction sequence will be described below.

【0068】(1)最初に、ネスト数を決定する。(1) First, the number of nests is determined.

【0069】(2)命令生成過程で、図9(a)に示さ
れているように、ネスト数分の分岐先候補のポインタP
(★)を無作為に抽出し、図10に示されているような
ポインタ・テーブルPTに登録する。
(2) In the instruction generation process, as shown in FIG.
(★) is randomly extracted and registered in the pointer table PT as shown in FIG.

【0070】(3)ネスト数分のポインタP(★)が設
定されれば、それ以降の命令列生成過程の任意の時点
で、図9(b)に示されているように、ネスト数分の条
件付バック分岐命令CBB(◇)を選択する。条件付バ
ック分岐命令CBB(◇)の分岐先はポインタ・テーブ
ルPTに登録されているポインタP(★)によるネスト
位置より選択設定される。
(3) If the pointers P (★) for the number of nests are set, then at any point in the subsequent instruction sequence generation process, as shown in FIG. Of the conditional back branch instruction CBB (#). The branch destination of the conditional back branch instruction CBB (◇) is selected and set from the nest position by the pointer P (★) registered in the pointer table PT.

【0071】条件付バック分岐命令CBB(◇)の分岐
条件値はタイマ受信命令により得られるカウンタ(タイ
マ)の値であり、そのカウンタの下位nビットの値が0
であれば、分岐先へ分岐する。これにより繰り返しルー
プ回数が設定される。図11に示されているように、下
位ビットn=1の場合には、ループ確率、非ループ確率
ともに1/2になり、下位ビットn=2の場合には、ル
ープ確率は1/4、非ループ確率3/4になり、下位ビ
ットn=3の場合には、ループ確率は1/8、非ループ
確率7/8になるから、下位ビットnの選択により繰り
返しループ回数を変化させ、ネストから抜け出す速さを
調節することができる。
The branch condition value of the conditional back branch instruction CBB (◇) is the value of the counter (timer) obtained by the timer reception instruction, and the value of the lower n bits of the counter is 0.
If so, branch to the branch destination. Thereby, the number of repetition loops is set. As shown in FIG. 11, when the lower bit n = 1, both the loop probability and the non-loop probability are 1 /, and when the lower bit n = 2, the loop probability is 4. The non-loop probability becomes 3/4, and when the lower bit n = 3, the loop probability becomes 1/8 and the non-loop probability becomes 7/8. You can adjust the speed of getting out of

【0072】また、カウンタの下位nビットの値が0で
なければ、分岐先へ分岐することもでき、この場合も、
下位ビットnの選択により、図11に示されているよう
に、ループ確率、非ループ確率を変化させてネストから
抜け出す速さを調節することができる。
If the value of the lower n bits of the counter is not 0, it is possible to branch to the branch destination.
By selecting the lower bit n, as shown in FIG. 11, the speed of exiting the nest can be adjusted by changing the loop probability and the non-loop probability.

【0073】これにより、DO文のネストを含む試験用
命令列が出来上がり、DO文命令列およびDO文ネスト
命令列による予測分岐試験が行われ得るようになる。
As a result, a test instruction sequence including a nested DO statement is completed, and a predictive branch test using a DO statement instruction sequence and a DO statement nested instruction sequence can be performed.

【0074】(実施の形態3)実施の形態3では、上記
実施の形態1と2のものを組み合わせて一つの試験用命
令列を生成する。これによりGOTO文、FOR文、D
O文が混在した試験用命令列が生成される。
(Third Embodiment) In the third embodiment, one test instruction sequence is generated by combining the first and second embodiments. By this, GOTO statement, FOR statement, D
A test instruction sequence in which O statements are mixed is generated.

【0075】この実施の形態3の具体例を図12を参照
して説明する。
A specific example of the third embodiment will be described with reference to FIG.

【0076】(1)最初に、ネスト数を決定する。ここ
では、DO文=3、FOR文=3とする。
(1) First, the number of nests is determined. Here, DO sentence = 3 and FOR sentence = 3.

【0077】(2)命令列生成過程で、ネスト数分の分
岐先候補のポインタP(★)を無作為に抽出し、図10
に示されているようなポインタ・テーブルPTに登録す
る。
(2) In the process of generating an instruction sequence, pointers P (★) of branch destination candidates corresponding to the number of nests are randomly extracted.
Is registered in the pointer table PT as shown in FIG.

【0078】(3)ネスト数分のポインタP(★)が設
定された以降の命令列生成過程で、ネスト数分の無条件
フォワード分岐命令UFB(●)を無作為に選択し、ネ
スト数分、ここでは3個の空き領域NR(□)を確保す
る。
(3) In the instruction sequence generation process after the pointers P (★) for the number of nests are set, unconditional forward branch instructions UFB (●) for the number of nests are randomly selected, and Here, three empty areas NR (□) are secured.

【0079】(4)ネスト数分の空き領域NR(□)が
確保された以降の命令列生成過程の任意の時点で、ネス
ト数分の無条件バック分岐命令UBB(◆)を生成す
る。各無条件バック分岐命令UBB(◆)の分岐先は、
実施の形態1における場合と同等に、選択された空き領
域NR(□)の先頭とする。
(4) An unconditional back-branch instruction UBB (◆) for the number of nests is generated at an arbitrary point in the instruction sequence generation process after the free area NR (□) for the number of nests is secured. The branch destination of each unconditional back branch instruction UBB (◆) is
As in the case of the first embodiment, it is the head of the selected free area NR (□).

【0080】(5)選択された各空き領域NR(□)に
は分岐命令以外の任意の命令を埋め込み、空き領域NR
(□)の最後には条件付フォワード分岐命令CFB
(○)を埋め込む。この条件付フォワード分岐命令CF
B(○)の分岐先は分岐元の無条件バック分岐命令UB
B(◆)の直後とする。
(5) An arbitrary instruction other than a branch instruction is embedded in each of the selected free areas NR (□),
(□) ends with conditional forward branch instruction CFB
(○) is embedded. This conditional forward branch instruction CF
The branch destination of B (O) is the unconditional back branch instruction UB of the branch source
Immediately after B (◆).

【0081】(6)これより以降の命令列生成過程で、
ネスト数分の条件付バック分岐命令CBB(◇)を選択
する。条件付バック分岐命令CBB(◇)の分岐先は、
実施の形態2における場合と同等に、ポインタ・テーブ
ルPTに登録されているポインタP(★)によるネスト
位置より選択設定される。
(6) In the subsequent instruction sequence generation process,
Select conditional back branch instructions CBB (#) for the number of nests. The branch destination of the conditional back branch instruction CBB ($) is
As in the case of the second embodiment, the nest position is selected and set from the pointer P (★) registered in the pointer table PT.

【0082】なお、条件付フォワード分岐命令CFB
(○)、条件付バック分岐命令CBB(◇)の分岐条件
値は、実施の形態1,2における場合と同様に、何れも
タイマ受信命令により得られるカウンタ(タイマ)の値
である。
The conditional forward branch instruction CFB
(○), the branch condition value of the conditional back branch instruction CBB (◇) is the value of the counter (timer) obtained by the timer reception instruction, as in the first and second embodiments.

【0083】これにより、DO文とFOR文のネスト混
在の試験用命令列ができあがり、DO文とFOR文のネ
スト混在の命令列による予測分岐試験が行われ得るよう
になる。
As a result, a test instruction sequence in which a nested DO statement and a FOR statement are mixed is completed, and a predictive branch test using an instruction sequence in which a nested DO statement and a FOR statement are mixed can be performed.

【0084】[0084]

【発明の効果】以上の説明から理解される如く、請求項
1に記載の情報処理装置の試験用命令列生成方法によれ
ば、ランダムに生成可能な命令の一つとして、無限ルー
プの問題を生じることなくバック分岐命令がランダム命
令列に組み込まれるから、GOTO文やFOR文などの
フロー制御文による実際の運用に近い分岐の検証試験が
行われ得るようになり、ランダム命令生成の特質を活か
した予測分岐試験を行うことができるようになる。
As will be understood from the above description, according to the method for generating a test instruction sequence for an information processing apparatus according to the first aspect, the problem of an infinite loop is considered as one of the instructions that can be randomly generated. Since the back-branch instruction is incorporated into the random instruction sequence without occurrence, a verification test of a branch close to the actual operation using a flow control statement such as a GOTO statement or a FOR statement can be performed, and the characteristic of random instruction generation can be utilized. Predicted branch test can be performed.

【0085】請求項2に記載の情報処理装置の試験用命
令列生成方法では、分岐幅を可変設定できるから、ロン
グ分岐を含む種々のフロー制御文による実際の運用に近
い分岐の検証試験が行われ得るようになり、ランダム命
令生成の特質を活かした予測分岐試験を行うことができ
るようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the second aspect, since the branch width can be set variably, a branch verification test close to the actual operation using various flow control statements including long branches is performed. This makes it possible to perform a predictive branch test utilizing the characteristic of random instruction generation.

【0086】請求項3に記載の情報処理装置の試験用命
令列生成方法では、空き領域にフォワード分岐命令以外
にランダム命令が挿入されることにより、パイプライン
処理のタイミングが変化し、クリティカルな分岐テスト
が行われ得るようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the third aspect, a random instruction other than a forward branch instruction is inserted into an empty area, so that the timing of pipeline processing changes and a critical branch is made. Testing can be done.

【0087】請求項4に記載の情報処理装置の試験用命
令列生成方法では、ランダム分岐命令(GOTO文)が
自動生成されるから、ランダム分岐命令の予測分岐試験
が的確に行われ得るようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the present invention, a random branch instruction (GOTO statement) is automatically generated, so that a predictive branch test of a random branch instruction can be accurately performed. Become.

【0088】請求項5に記載の情報処理装置の試験用命
令列生成方法では、FOR文命令列あるいはFOR文ネ
スト命令列が自動生成されるから、FOR文命令列およ
びFOR文ネスト命令列による予測分岐試験が的確に行
われ得るようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the fifth aspect, since the FOR statement instruction sequence or the FOR statement nest instruction sequence is automatically generated, the prediction using the FOR statement instruction sequence and the FOR statement nest instruction sequence is performed. The branch test can be performed accurately.

【0089】請求項6に記載の情報処理装置の試験用命
令列生成方法では、DO文命令列あるいはDO文ネスト
命令列が自動生成されるから、DO文命令列およびDO
文ネスト命令列による予測分岐試験が的確に行われ得る
ようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the sixth aspect, the DO statement instruction sequence or the DO statement nest instruction sequence is automatically generated.
A predictive branch test using a statement nested instruction sequence can be accurately performed.

【0090】請求項7に記載の情報処理装置の試験用命
令列生成方法では、FOR文命令列、FOR文ネスト命
令列、DO文命令列、DO文ネスト命令列における繰り
返しループ回数が可変設定されるから、種々のフロー制
御文による実際の運用に近い分岐の検証試験が行われ得
るようになり、ランダム命令生成の特質を活かした予測
分岐試験を行うことができるようになる。
In the method for generating a test instruction sequence for an information processing apparatus according to the present invention, the number of repetition loops in a FOR statement instruction sequence, a FOR statement nest instruction sequence, a DO statement instruction sequence, and a DO statement nest instruction sequence is variably set. Therefore, a verification test of a branch close to actual operation using various flow control statements can be performed, and a predictive branch test utilizing characteristics of random instruction generation can be performed.

【0091】請求項8に記載の情報処理装置の試験用命
令列生成方法では、GOTO文、FOR文、DO文が混
在した試験用命令列が生成されるから、種々のフロー制
御文による実際の運用に近い分岐の検証試験が行われ得
るようになり、ランダム命令生成の特質を活かした予測
分岐試験を行うことができるようになる。
In the test instruction sequence generating method for an information processing apparatus according to the present invention, a test instruction sequence in which a GOTO statement, a FOR statement, and a DO statement are mixed is generated. A verification test of a branch close to the operation can be performed, and a predictive branch test utilizing characteristics of random instruction generation can be performed.

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

【図1】(a)〜(c)は、この発明による情報処理装
置の試験用命令列生成方法の実施の形態1の概要を示す
説明図である。
FIGS. 1A to 1C are explanatory diagrams showing an outline of a first embodiment of a test instruction sequence generating method for an information processing apparatus according to the present invention.

【図2】(a),(b)は、この発明による情報処理装
置の試験用命令列生成方法で使用される空き領域ポイン
タ・テーブルを示す説明図である。
FIGS. 2A and 2B are explanatory diagrams showing a free area pointer table used in the test instruction sequence generation method for the information processing apparatus according to the present invention;

【図3】(a)は実施の形態1における無条件フォワー
ド分岐命令の命令列の定義例を、(b)は無条件バック
分岐命令の命令列の定義例をそれぞれ示す説明図であ
る。
3A is an explanatory diagram illustrating an example of a definition of an instruction sequence of an unconditional forward branch instruction according to the first embodiment, and FIG. 3B is an explanatory diagram illustrating an example of a definition of an instruction sequence of an unconditional back branch instruction.

【図4】実施の形態1における空き領域ポインタ・テー
ブルを示す説明図である。
FIG. 4 is an explanatory diagram showing a free area pointer table according to the first embodiment;

【図5】ランダム分岐命令(GOTO文)を含む試験用
命令列の一例を示す説明図である。
FIG. 5 is an explanatory diagram showing an example of a test instruction sequence including a random branch instruction (GOTO statement).

【図6】(a)〜(c)は、この発明による情報処理装
置の試験用命令列生成方法の実施の形態1における命令
生成過程を示す説明図である。
FIGS. 6A to 6C are explanatory diagrams illustrating an instruction generation process in the first embodiment of the test instruction sequence generation method for the information processing apparatus according to the present invention.

【図7】実施の形態1における無条件バック分岐命令の
命令列の他の定義例を示す説明図である。
FIG. 7 is an explanatory diagram showing another definition example of the instruction sequence of the unconditional back branch instruction in the first embodiment;

【図8】FOR文のループ確率表を示す図である。FIG. 8 is a diagram showing a loop probability table of a FOR statement.

【図9】(a),(b)は、この発明による情報処理装
置の試験用命令列生成方法の実施の形態2における命令
生成過程を示す説明図である。
FIGS. 9A and 9B are explanatory diagrams showing an instruction generation process in Embodiment 2 of the test instruction sequence generation method for the information processing apparatus according to the present invention.

【図10】実施の形態2におけるポインタ・テーブルを
示す説明図である。
FIG. 10 is an explanatory diagram showing a pointer table according to the second embodiment.

【図11】DO文のループ確率表を示す図である。FIG. 11 is a diagram showing a loop probability table of a DO statement.

【図12】実施の形態3におけるDO文とFOR文のネ
スト混在の試験用命令列を示す説明図である。
FIG. 12 is an explanatory diagram showing a test instruction sequence in which a nested DO statement and a FOR statement are mixed in the third embodiment;

【図13】従来における試験用命令列の生成手順を示す
フローチャートである。
FIG. 13 is a flowchart showing a conventional procedure for generating a test instruction sequence.

【図14】(a)は命令生成域を、(b),(c)は命
令テーブルをそれぞれ示す説明図である。
14A is an explanatory diagram showing an instruction generation area, and FIGS. 14B and 14C are explanatory diagrams each showing an instruction table.

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

NR 空き領域(□) UFB 無条件フォワード分岐命令(●) CFB 条件付フォワード分岐命令(○) UBB 無条件バック分岐命令(◆) CBB 条件付バック分岐命令(◇) P 分岐先候補のポインタ(★) PT 空き領域ポインタ・テーブル NR Free area (□) UFB Unconditional forward branch instruction (●) CFB Conditional forward branch instruction (○) UBB Unconditional back branch instruction (◆) CBB Conditional back branch instruction (◇) P Pointer of branch destination candidate (★ ) PT free area pointer table

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 フォワード方向にランダム命令列を生成
する過程の任意のタイミングで、所定数の命令分の空き
領域を確保すると共に、空き領域の直前に、分岐先を空
き領域の直後とした無条件フォワード分岐命令を生成
し、これ以降のランダム命令列の生成過程の任意のタイ
ミングで、分岐先を前記空き領域にしたバック分岐命令
を生成し、空き領域には分岐元のバック分岐命令より以
降を分岐先としたフォワード分岐命令を挿入することを
特徴とする情報処理装置の試験用命令列生成方法。
An empty area for a predetermined number of instructions is secured at an arbitrary timing in the process of generating a random instruction sequence in the forward direction, and a branch destination is set immediately before the empty area and the branch destination is set immediately after the empty area. A conditional forward branch instruction is generated, and at any time during the subsequent random instruction sequence generation process, a back branch instruction whose branch destination is the empty area is generated. A method for generating a test instruction sequence for an information processing apparatus, comprising: inserting a forward branch instruction having a branch destination of "1".
【請求項2】 一つのランダム命令列において空き領域
を複数箇所に確保し、バック分岐命令の分岐先をその複
数の空き領域より選択してバック分岐幅を選択設定する
ことを特徴とする請求項1に記載の情報処理装置の試験
用命令列生成方法。
2. A back branch width is selected and set by selecting a branch destination of a back branch instruction from the plurality of free areas by securing free areas at a plurality of locations in one random instruction sequence. 2. The test instruction sequence generation method for an information processing apparatus according to claim 1.
【請求項3】 一つの空き領域を複数の命令分の空き領
域として設定し、空き領域にはフォワード分岐命令以外
にランダム命令を挿入することを特徴とする請求項1ま
たは2に記載の情報処理装置の試験用命令列生成方法。
3. The information processing method according to claim 1, wherein one free area is set as a free area for a plurality of instructions, and a random instruction other than a forward branch instruction is inserted into the free area. A method for generating a test instruction sequence for a device.
【請求項4】 空き領域に挿入するフォワード分岐命令
は、無条件分岐命令であることを特徴とする請求項1〜
3のいずれか一つに記載の情報処理装置の試験用命令列
生成方法。
4. The forward branch instruction to be inserted into a free area is an unconditional branch instruction.
3. The test instruction sequence generating method for an information processing device according to any one of 3.
【請求項5】 空き領域に挿入するフォワード分岐命令
は、プログラムの実行に関係なく変化する制御情報値を
分岐条件値とした条件分岐命令であることを特徴とする
請求項1〜3のいずれか一つに記載の情報処理装置の試
験用命令列生成方法。
5. The forward branch instruction to be inserted into an empty area is a conditional branch instruction using a control information value that changes regardless of program execution as a branch condition value. A method for generating a test instruction sequence for an information processing apparatus according to one of the above aspects.
【請求項6】 フォワード方向にランダム命令列を生成
する過程の任意のタイミングで、プログラムの実行に関
係なく変化する制御情報値を分岐条件値とした条件付き
のバック分岐命令を生成することを特徴とする情報処理
装置の試験用命令列生成方法。
6. A conditional back-branch instruction is generated at an arbitrary timing in a process of generating a random instruction sequence in a forward direction, using a control information value that changes regardless of program execution as a branch condition value. A method for generating a test instruction sequence for an information processing apparatus.
【請求項7】 前記制御情報値は複数ビットの情報値で
あり、そのビット数の選択あるいは分岐条件の判定を逆
にすることにより繰り返しループ回数を可変設定するこ
とを特徴とする請求項5または6に記載の情報処理装置
の試験用命令列生成方法。
7. The control information value is a multi-bit information value, and the number of repetition loops is variably set by reversing the selection of the number of bits or the determination of a branch condition. 7. The test instruction sequence generation method for an information processing device according to item 6.
【請求項8】 請求項4,5,6に記載の試験用命令列
生成方法により生成される命令列のうちの、少なくとも
二種類の命令列を組み合わせて一つの試験用命令列を生
成することを特徴とする情報処理装置の試験用命令列生
成方法。
8. A test instruction sequence generated by combining at least two types of instruction sequences among instruction sequences generated by the test instruction sequence generation method according to claim 4. A method for generating a test instruction sequence for an information processing apparatus, the method comprising:
JP8346335A 1996-12-25 1996-12-25 Method for generating instruction sequence for test for information processor Withdrawn JPH10187475A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8346335A JPH10187475A (en) 1996-12-25 1996-12-25 Method for generating instruction sequence for test for information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8346335A JPH10187475A (en) 1996-12-25 1996-12-25 Method for generating instruction sequence for test for information processor

Publications (1)

Publication Number Publication Date
JPH10187475A true JPH10187475A (en) 1998-07-21

Family

ID=18382721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8346335A Withdrawn JPH10187475A (en) 1996-12-25 1996-12-25 Method for generating instruction sequence for test for information processor

Country Status (1)

Country Link
JP (1) JPH10187475A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398515B2 (en) 2003-07-16 2008-07-08 International Business Machines Corporation Buckets of commands in a multiprocessor-based verification environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398515B2 (en) 2003-07-16 2008-07-08 International Business Machines Corporation Buckets of commands in a multiprocessor-based verification environment
US8196111B2 (en) 2003-07-16 2012-06-05 International Business Machines Corporation Buckets of commands in a multiprocessor-based verification environment

Similar Documents

Publication Publication Date Title
US5157620A (en) Method for simulating a logic system
US5095454A (en) Method and apparatus for verifying timing during simulation of digital circuits
US5513339A (en) Concurrent fault simulation of circuits with both logic elements and functional circuits
US7055065B2 (en) Method, system, and computer program product for automated test generation for non-deterministic software using state transition rules
US9626465B2 (en) Arbiter verification
US5592674A (en) Automatic verification of external interrupts
US11094391B2 (en) List insertion in test segments with non-naturally aligned data boundaries
US8117574B2 (en) Implementing a serialization construct within an environment of parallel data flow graphs
Ulrich et al. Fault-test analysis techniques based on logic simulation
JPH10187475A (en) Method for generating instruction sequence for test for information processor
US6886125B2 (en) Testing a processor using a random code generator
US6311266B1 (en) Instruction look-ahead system and hardware
US7475369B1 (en) Eliminate false passing of circuit verification through automatic detecting of over-constraining in formal verification
CN109753389A (en) Guarantee method, apparatus, storage medium and the server of data consistency
US20060190709A1 (en) Method and system for branch prediction
JP2785901B2 (en) Test sequence generation method and test sequence generation device
CN117951315A (en) Code-dependent retrieval method
JPH0634721A (en) Failure module discrimination method for electronic equipment
JPH06222939A (en) Testing system for plural pipelines
JP4854551B2 (en) Test apparatus for branch prediction circuit of information processing apparatus, test method for branch prediction circuit of information processing apparatus, and test program for branch prediction circuit of information processing apparatus
EP0908834A1 (en) Method and apparatus for proving system properties
JP2755646B2 (en) Data driven data processor
KR100421316B1 (en) An Event Selection Algorithm for Two-pass On-the-fly Detection of the First Races in Parallel Programs with Synchronization
JPH04211872A (en) Timing inspection method for logic circuit
JPH0764815A (en) Test program generating method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040302