JP3675038B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP3675038B2 JP3675038B2 JP16466296A JP16466296A JP3675038B2 JP 3675038 B2 JP3675038 B2 JP 3675038B2 JP 16466296 A JP16466296 A JP 16466296A JP 16466296 A JP16466296 A JP 16466296A JP 3675038 B2 JP3675038 B2 JP 3675038B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- random number
- data
- generated
- generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ランダムな命令列を生成する手段を備えた情報処理装置に係り、特にランダムに生成した命令列において、種々の条件を備えた同一命令を連続して生成する手段を備えた情報処理装置に関する。
【0002】
【従来の技術】
図9は、従来のランダムな命令列を生成する手段を説明する図である。従来の命令列生成手段では、情報処理装置に備えられている疑似乱数発生器のランダム・データから、命令識別コード(以下、命令IDということがある)を設定し、設定された命令IDに従って、命令生成テーブル 30 をデコードして得た命令生成データと、疑似乱数から、命令列を生成していた。
【0003】
図9において、先ず、疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 から、ランダムな命令IDを決定する。命令生成テーブル 30 は、命令情報データ▲1▼と、命令生成データ▲2▼から、構成されている。
【0004】
命令情報データ▲1▼は、生成命令の形式 (例えば、各命令ID毎のフィールド構成)や制御情報(例えば、後述の各フィールドに、乱数をその儘挿入するか、固定のデータを挿入するかを指示する制御フラグ等)が設定されており、命令の生成時に使用される。
【0005】
命令生成データ▲2▼は、対象命令をランダムに生成するための、生成データA(ランダム値設定、例えば、上記制御フラグが、ランダム値設定を示しているとき、生成された乱数と論理積(AND) をとるための全“1”データ)と、生成データB(上記制御フラグにより生成する固定データで強制的に付加するもので、生成された乱数と論理和をとって、各フィールドの各ビット単位で、強制的に“1”にするか、“0”にするかを指示するデータ)から構成されている。
【0006】
決定された命令IDに従い、デコーダ 31 により、命令IDに対応した命令生成テーブル 30 の命令情報データ▲1▼と、命令生成データ▲2▼が選択される。そして、疑似乱数発生器 1からのランダム・データ▲5▼と、命令生成データ▲2▼からランダムな命令が生成される。
【0007】
該生成された命令は、生成命令設定処理部 4により、被試験命令列 5に設定される。生成命令数カウンタ 6には、予め、所定の生成命令数が設定されており、生成命令数カウンタ 6は、減算制御部 60 により“−1”され、生成命令数カウンタ=0で、命令列の生成を終了し、生成命令数カウンタ≠0で、次の命令を生成するため、疑似乱数発生器 1の発生処理に戻る。
【0008】
【発明が解決しようとする課題】
従って、従来のランダム命令生成手段では、ランダムに命令を生成するため、同一命令の連続、
指定された数だけ同一命令の連続、
レジスタ値がすべて重複しない同一命令の連続、
オペランドアドレス値が近似値をとる同一命令の連続、
前後する命令でレジスタ値の重複を指定した同一命令の連続、
同一命令の連続の指定、
といった命令列を意図的に生成することができないといった問題を生じていた。
【0009】
本発明は上記従来の欠点に鑑み、命令IDの生成と共に、コントロール・ビット(以下、CB1,CB2ということがある)を生成し、該生成されたCB1,CB2を制御する繰り返しカウンタ、CBリセットと、命令中のレジスタ番号の生成を制御するレジスタ値制御データ生成手段、オペランドアドレスを生成する近似値データ生成手段等により、命令生成効率の向上を図ることができる命令列生成手段を備えた情報処理装置を提供することを目的とするものである。
【0010】
【課題を解決するための手段】
図1は、本発明の原理構成図であり、図2〜図8が、本発明の一実施例を示した図である。上記の問題点は、下記の如き命令列生成手段を備えた情報処理装置によって解決される。
【0011】
(1) 情報処理装置を試験する命令列を生成する手段を備えた情報処理装置であって、
疑似乱数発生手段 1と、該疑似乱数発生手段 1で発生された乱数を用いて生成された命令識別コード (命令ID)と、第1の制御ビット(CB1) 21と、該第1の制御ビット(CB1) 21を制御する制御ビット制御部(CB制御部)22からなる命令識別コード設定処理手段 2と、
上記生成された命令識別コード(命令ID)に対応して、生成命令の形式や、制御情報からなる命令情報データ▲1▼と、上記生成命令の形式の各フィールド毎に、上記疑似乱数発生手段 1からの乱数をその儘、設定するか、所定の固定データを設定するかを指示する命令生成データ▲2▼とからなる命令生成テーブル 30 を持ち、該命令生成テーブル 30 の内容に基づいてランダム命令を生成するランダム命令生成制御手段 3と、
該生成された所定数の命令列を被試験命令列 5として所定の領域に設定する生成命令設定処理手段 4と、
上記生成する命令の数を指定する生成命令数カウンタ 6と、
を備えて
上記第1の制御ビット(CB1) 21を制御して、上記疑似乱数発生手段 1で発生された乱数を用いて生成された命令識別コード(命令ID)と同一の複数の命令を生成するように構成する。{図1に参照}
(2) 上記(1) 項に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2は、上記第1の制御ビット(CB1) 21を上記疑似乱数発生手段 1で発生された乱数で設定する手段と、該設定された第1の制御ビット(CB1) 21を、上記疑似乱数発生手段 1で発生された乱数(CB リセット) 220 で制御 (リセット) するCB制御部 22 とを備えるように構成する。{図2参照}
(3) 上記(1) 項に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2は、上記疑似乱数発生手段 1で発生された乱数で設定された上記第1の制御ビット(CB1) 21を、上記疑似乱数発生手段 1で発生された乱数で設定される繰り返しカウンタ 221の所定のカウント値 (例えば、カウントオーバ) で制御 (リセット) するCB制御部 22 を備えるように構成する。{図3参照}
(4) 上記(1) 項 に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2は、上記疑似乱数発生手段 1で発生された乱数で設定された上記第1の制御ビット(CB1) 21を、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータで設定される繰り返しカウンタ 221の所定のカウント値 (例えば、カウントオーバ) で制御 (リセット) するCB制御部 22 を備えるように構成する。{図4参照}
(5) 上記(1) 項に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2は、上記第1の制御ビット(CB1) 21を、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータに基づいて設定する手段と、該設定された第1の制御ビット(CB1) 21を、上記疑似乱数発生手段 1で発生された乱数で制御 (リセット) するCB制御部 22 を備えるように構成する。{図5参照}
(6) 上記(1) 項に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2に、上記疑似乱数発生手段 1で発生された乱数で設定される繰り返しカウンタ 221、又は、上記命令生成テーブル 30 の命令情報データ▲1▼で設定される繰り返しカウンタ 221の値に基づいて、上記生成される複数命令のレジスタ番号が重複しないように、該重複しないレジスタ番号を設定するレジスタ値制御データ生成手段 225を備えるように構成する。{図6参照}
(7) 上記(2) 項、又は(3) 項、又は(4) 項、又は(5) 項、又は(6) 項 に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2に、第2の制御ビット(CB2) 23と、該第2の制御ビット(CB2) 23に基づいて、上記疑似乱数発生手段 1で発生された乱数と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータ▲3▼とを使用して、上記生成される複数命令のオペランドアドレスとして、相互に類似したアドレスを生成する近似値データ生成手段 226を備えるように構成する。{図7参照} (8) 上記(2) 項、又は(3) 項、又は(4) 項、又は(5) 項、又は(6) 項に記載の情報処理装置であって、
上記命令識別コード設定処理手段 2に、第2の制御ビット(CB2) 23と、該第2の制御ビット(CB2) 23に基づいて、上記疑似乱数発生手段 1で発生された乱数と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータ▲4▼とを使用して、上記生成される複数命令のレジスタ番号が重複したレジスタ番号を生成するレジスタ値重複データ生成手段 227とを備えるように構成する。{図8参照}
(9) 上記(7) 項、又は(8) 項に記載の情報処理装置であって、
上記第2の制御ビット(CB2) 23を、上記疑似乱数発生手段 1で発生された乱数で生成する手段を備えるように構成する。{図6,図7参照}
(10)上記(7) 項、又は(8) 項に記載の情報処理装置であって、
上記第2の制御ビット(CB2) 23を、上記命令生成テーブル 30 の命令情報データ▲2▼の所定のデータで生成する手段を備えるように構成する。
【0012】
即ち、上記(1),(2) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が上記命令ID(識別コード)と、上記疑似乱数発生器 1で生成される第1の制御ビット(CB1) 21により制御される手段と、
該命令IDが1個に対し、上記第1の制御ビット(CB1) 21が乱数でセットされ、乱数でリセットされる迄の間、複数の同一命令IDを生成する制御手段とを有する命令列生成手段を備えた情報処理装置である。
【0013】
又、上記(3) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が命令ID(識別コード)と、上記疑似乱数発生器 1で生成される第1の制御ビット(CB1) 21と、上記疑似乱数発生器 1でランダムに設定された繰り返しカウンタ 221により制御される手段と、
該命令IDが1個に対し、上記第1の制御ビット(CB1) 21が乱数でセットされて、上記繰り返しカウンタ 221によりリセットされる迄の間、複数の同一命令IDを生成する制御手段とを備えることで、該複数の同一命令の生成回数が乱数で指示されている制御手段を有する情報処理装置である。
【0014】
又、上記(4) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が命令ID(識別コード)と、上記疑似乱数発生器 1で生成される第1の制御ビット(CB1) 21と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータで設定される繰り返しカウンタ 221により制御される手段と、
該命令IDが1個に対し、上記第1の制御ビット(CB1) 21が乱数でセットされて、上記繰り返しカウンタ 221によりリセットされる迄の間、複数の同一命令IDを生成する制御手段とを備えることで、該複数の同一命令の生成回数が命令生成テーブル 30 の命令情報データ▲1▼で指示される制御手段を有する情報処理装置である。
【0015】
又、上記(5) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が命令ID(識別コード)と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータでセットされ、上記疑似乱数発生器 1で生成される乱数でリセットされる第1の制御ビット(CB1) 21により制御される手段とを備えることで、該命令IDが1個に対し、複数の同一命令IDの生成が、上記命令情報テーブル 30 の命令情報データ▲1▼で指示される制御手段を有する情報処理装置である。
【0016】
又、上記(6) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が命令ID(識別コード)と、上記疑似乱数発生器 1で生成される第1の制御ビット(CB1) 21と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータで設定された繰り返しカウンタ 221により制御される手段と、
該命令IDが1個に対し、上記第1の制御ビット(CB1) 21が乱数でセットされて、上記繰り返しカウンタ 221のオーバフローによりリセットされる迄の間、複数の同一命令IDを生成する制御手段とを備える情報処理装置において、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータ▲3▼による指示に基づいて、該生成された複数の命令のレジスタの番号が重複しないように、例えば、上記繰り返しカウンタ 221の内容を、レジスタ値制御データレジスタ 2250 に設定し、該設定されたレジスタ番号を、乱数に代えで、該生成された命令のレジスタ番号フィールドに設定する手段を備えたものである。
【0017】
又、上記(7) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が命令ID(識別コード)と、上記疑似乱数発生器 1で生成される第1の制御ビット(CB1) 21と、第2の制御ビット(CB2) 23と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータで設定された繰り返しカウンタ 221とにより制御される手段と、
該命令IDが1個に対し、上記第1の制御ビット(CB1) 21が乱数でセットされて、上記繰り返しカウンタ 221のオーバフローによりリセットされる迄の間、複数の同一命令IDを生成する制御手段とを備える情報処理装置において、
上記第2の制御ビット(CB2) 23の指示に基づいて、該生成された複数の命令のオペランドアドレスが、所定の値の近辺のアドレスを維持する手段 (近似値データ生成手段) 226 として、例えば、該オペランドアドレスの上位ビットを、上記命令生成テーブル 30 の命令情報データ▲1▼の所定ビット▲3▼を使用し、下位ビットを乱数で設定して生成する近似値データを近似値データレジスタ 2260 に設定するようにしたものである。
【0018】
又、上記(8) は、被試験命令の命令IDを疑似乱数発生器 1でランダムに生成する手段と、
該生成が命令ID(識別コード)と、上記疑似乱数発生器 1で生成される第1の制御ビット(CB1) 21と、第2の制御ビット(CB2) 23と、上記命令生成テーブル 30 の命令情報データ▲1▼の所定のデータで設定された繰り返しカウンタ 221とにより制御される手段と、
該命令IDが1個に対し、上記第1の制御ビット(CB1) 21が乱数でセットされて、上記繰り返しカウンタ 221のオーバフローによりリセットされる迄の間、複数の同一命令IDを生成する制御手段とを備える情報処理装置において、
上記第2の制御ビット(CB2) 23の指示に基づいて、該生成された複数の命令のレジスタ値が重複した値とする手段 (レジスタ値重複データ生成手段) 227 として、例えば、命令生成テーブル 30 の命令情報データ▲1▼の所定のデータ “00" ▲4▼で、乱数と論理積をとって、該乱数を消去して、且つ、該命令情報データ▲1▼の所定のデータ “10" ▲4▼を論理和して、固定データ “01" を生成するようにして、重複させたレジスタ値を生成する制御手段を備えるようにしたものである。
【0019】
又、上記(9) は、上記第2の制御ビット(CB2) 23を乱数で生成するものであり、請求項10の発明は、上記第2の制御ビット(CB2) 23を、上記命令生成テーブル 30 の命令情報データ▲1▼で生成するようにしたものである。
【0020】
従って、本発明の情報処理装置によれば、上記(1) 〜(5) により、複数の同一命令が乱数に基づいて、或いは、命令生成テーブル 30 の命令情報データ▲1▼で指定した数だけ連続して生成することができる。
【0021】
又、上記(6) により、レジスタ値がすべて重複しない同一の命令を連続して生成することができ、上記(7) により、生成された複数の同一命令に対して、相互に余り変わらない近似値をとるオペランドアドレスのものを生成することができ、上記(8) により、前後する命令でレジスタ値が重複した同一命令を連続して生成することができる。
【0022】
【発明の実施の形態】
以下本発明の実施例を図面によって詳述する。前述の図1が、本発明の原理構成図であり、図2〜図8が、本発明の一実施例を示した図であって、図2は、乱数で設定された第1の制御ビット(CB1) を乱数で制御する場合を示し、図3は、乱数で設定された第1の制御ビット(CB1) を、乱数で設定された繰り返しカウンタで制御する場合を示し、図4は、乱数で設定された第1の制御ビット(CB1) を、命令生成テーブルの命令情報データ▲1▼で意図的に設定した繰り返しカウンタで制御する場合を示し、図5は、命令生成テーブルの命令情報データ▲1▼で意図的に設定した第1の制御ビット(CB1) を、乱数で制御する場合を示し、図6は、生成された複数の同一命令のレジスタ値を重複しないように命令生成テーブルの命令情報データ▲1▼で制御する場合を示し、図7は、生成された複数の同一命令のオペランドアドレスが、所定の近似値になるように制御する場合を示し、図8は、生成された複数の同一命令のレジスタ値を、命令生成テーブルの命令情報データ▲1▼で固定値に制御する場合を示している。
【0023】
本実施の形態では、情報処理装置を試験する命令列を生成する手段を備えた情報処理装置であって、乱数で命令コード(命令ID)を生成する手段と、第1の制御ビット(CB1) 21を設けて、該第1の制御ビット(CB1) 21を、乱数、又は、命令生成テーブル 30 の命令情報データ▲1▼で制御して、該第1の制御ビット(CB1) 21が、例えば、“1" である間、同一の命令コード(命令ID)を持つ命令を複数生成する手段と、上記命令生成テーブル 30 の命令情報データ▲1▼による指示で、生成される複数の同一命令のレジスタ値を重複させない手段と、第2の制御ビット(CB2) 23を設けて、該該第2の制御ビット(CB2) 23を、乱数、又は、命令生成テーブル 30 の命令情報データ▲1▼で制御して、該第2の制御ビット(CB2) 23が、例えば、“1" である間、生成される複数の命令のオペランドアドレスを、所定の近似値とする手段と、生成される複数の命令のレジスタ値を、上記命令生成テーブル 30 の命令情報データ▲1▼が指示する所定の値とする手段等が、本実施の形態に必要な手段である。尚、全図を通して同じ符号は同じ対象物を示している。
【0024】
以下、図1を参照しながら、図2〜図8によって、本発明の情報処理装置を試験する命令列を生成する命令列生成手段を備えた情報処理装置の構成と動作を説明する。
【0025】
先ず、図2は、上記手段(1),(2) の実施例について説明する図である。
命令ID設定処理部 2は、命令ID部 20 と、CBリセット 220とから構成されている。
疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 に、ランダムな命令IDと、ランダムなCB値{第1の制御ビット(CB1) の値}を設定する。
CB1=0であれば、命令IDをランダム命令生成制御部 3の命令生成テーブル 30 に渡す。
CB1=1であれば、命令ID部 20 の命令ID更新を禁止し、ランダムに設定されるCBリセット 220により,CB1=0に設定されない限り、同一命令IDを上記命令生成テーブル 30 に渡し続ける。
【0026】
命令生成テーブル 30 は、命令情報データ▲1▼と、命令生成データ▲2▼とから構成されている。命令情報データ▲1▼は、生成命令の形式、例えば、各命令ID毎のフィールド構成や、制御情報、例えば、生成された各命令IDの各フィールドに乱数を設定するか、否かを制御する制御フラグや、制御データ等が設定されており、命令の生成時に使用される。
【0027】
命令生成データ▲2▼は、対象命令をランダムに生成するための、前述の生成データA(ランダム値を設定するための乱数との論理積データ、例えば、全“1”データ)と、生成データB(強制的に所定値を付加するための乱数との論理和データで、“0”、又は“1”)から構成されている。
【0028】
決定された命令IDに従い、デコーダ 31 により、命令IDに対応した命令生成テーブル 30 の命令情報データ▲1▼と、命令生成データ▲2▼が選択される。更に疑似乱数発生器 1からのランダム・データと、上記命令生成データ▲2▼の制御データからランダムな命令が生成される。
【0029】
該生成された命令は、生成命令設定処理部 4により,被試験命令列 5に設定される。生成命令数カウンタ 6には、予め所定の生成命令数が設定されており、該生成命令数カウンタ 6は、減算制御部 60 により“−1”され、生成命令数カウンタ=0で、上記設定された命令IDの生成を終了し、生成命令数カウンタ≠0で次の命令を生成するため、疑似乱数発生器 1の発生処理に戻る。
【0030】
次に、図3は、上記手段(3) の実施例について説明する図である。
この実施例では、命令ID設定処理部 2は、命令ID部 20 と、CBリセット 223と、繰返しカウンタ 221と、減算制御部 222とから構成されている。
【0031】
疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 に、ランダムな命令IDと、ランダムなCB値{第1の制御ビット(CB1) の値}を設定し、繰返しカウンタ 221へもランダムなカウンタ・データを設定する。
【0032】
該設定されたCB値{第1の制御ビット(CB1) 21の値}が、
CB1=0であれば、命令IDをランダム命令生成制御部 3の命令生成テーブル 30 に渡す。
CB1=1であれば、命令ID部 20 の命令IDの更新と、繰返しカウンタ 221の更新を禁止し、
繰返しカウンタ 221が減算制御部 222により、繰り返しカウンタ=0になるまで、同一命令IDを命令生成テーブル 30 に渡し続ける。
該繰り返しカウンタ=0になれば、CBリセット 223を付勢し、CB1=0に設定される。以下に続く動作は、上記図2で説明した請求項1、2の発明の動作と同一である。
【0033】
次に、図4は、上記手段(4) の実施例について説明する図である。
この実施例では、命令ID設定処理部 2は、命令ID部 20 と、CBリセット 223と、繰返しカウンタ 221と、減算制御部 222と、設定判定部 224とから構成されている。
【0034】
疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 に、ランダムな命令IDと、ランダムなCB値{第1の制御ビット(CB1) の値}を設定する。
該設定されたCB値{第1の制御ビット(CB1) 21の値}が、
CB1=0であれば、命令IDをランダム命令生成制御部 3の命令生成テーブル 30 に渡す。
CB1=1であれば、命令ID部 20 の命令IDの更新を禁止する。
【0035】
このようにして決定された命令IDに従い、デコーダ 31 により、命令IDに対応した命令生成テーブル 30 の命令情報データ▲1▼と、命令生成データ▲2▼が選択される。該選択された命令情報データ▲1▼から、指定されている繰返しカウンタ・データを繰返しカウンタ 221に設定する。このとき、該繰返しカウンタ 221へ生成中の再設定を防ぐため、設定判定部 224により、既に設定されているか否かが判定される。
【0036】
該繰返しカウンタ 221は減算制御部 222により、繰り返しカウンタ=0になるまで、同一命令IDを命令生成テーブル 30 に渡し続ける。繰り返しカウンタ=0になれば、CBリセット 223を付勢して、CB1=0に設定する。その他の動作は、前述の図2で説明した請求項1、2の発明の動作と同一である。
【0037】
次に、図5は、上記手段(5) の実施例について説明する図である。
この実施例では、命令ID部 20 のCB設定を、ランダム命令生成制御部 3の命令生成テーブル 30 の命令情報データ▲1▼から、該CB値{第1の制御ビット(CB1) の値}を得る。その他の動作は、図2で説明した請求項1、2の発明の動作と同一である。
【0038】
次に、図6は、上記手段(6) の実施例について説明する図である。
この実施例では、命令ID設定処理部 2は、命令ID部 20 と、CBリセット 223と、繰返しカウンタ 221と、減算制御部 222と、設定判定部 224と、レジスタ値制御データ生成手段 225とから構成されている。
【0039】
先ず、疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 に、ランダムな命令IDと、ランダムなCB値{第1の制御ビット(CB1) の値}を設定する。
【0040】
該設定されたCB値{第1の制御ビット(CB1) の値}が、
CB1=0であれば、命令IDをランダム命令生成制御部 3の命令生成テーブル 30 に渡す。
CB1=1であれば、命令ID部 20 の命令IDの更新を禁止する。
このようにして、決定された命令IDに従い、デコーダ 31 により、命令IDに対応した命令生成テーブル 30 の命令情報データ▲1▼と、命令生成データ▲2▼が選択される。該選択された命令情報データ▲1▼から、指定されている繰返しカウンタ・データを繰返しカウンタ 221に設定する。このとき、該繰返しカウンタ 221へ生成中の再設定を防ぐため、設定判定部 224により、既に設定されているか否かが判定される。
【0041】
該繰返しカウンタ 221は、減算制御部 222により、繰り返しカウンタ=0になるまで、同一命令IDを命令生成テーブル 30 に渡し続ける。繰り返しカウンタ=0になれば、CBリセット 223を付勢して、CB=0に設定する。上記レジスタ値制御データ生成手段 225は、該繰返しカウンタ 221に設定されたデータを基にして、上記命令情報データ▲1▼から命令形式に対応したレジスタ値制御データ▲6▼を生成する。該生成されたレジスタ値制御データ▲6▼を疑似乱数発生器 1からのランダム・データに入替え、該入替えたレジスタ値制御データ▲6▼と、命令生成データ▲2▼から、ランダムな命令が生成される。
【0042】
このとき、上記繰返しカウンタ 221は、命令IDの生成ごとに減算制御部 222により、“−1”されるため、順次、レジスタ値制御データ▲6▼の値は変化して行くため、該生成された命令IDの命令情報データ▲1▼から命令形式に対応したレジスタ値は変化し、重複されることがなくなる。その他の動作は、図1、図2で説明した請求項1、2の発明の動作と同一である。
【0043】
次に、図7は、上記手段(7) の実施例について説明する図である。
命令ID設定処理部 2は、命令ID部 20 と、CBリセット 223と、繰返しカウンタ 221と、減算制御部 222と、設定判定部 224と、近似値データ生成手段 226とから構成されている。
【0044】
先ず、疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 に、ランダムな命令IDと、ランダムなCB1値{第1の制御ビット(CB1) の値}、CB2値{第2の制御ビット(CB2) の値}を設定する。
【0045】
該設定されたCB1値{第1の制御ビット(CB1) の値}が、
CB1=0であれば、命令IDをランダム命令生成制御部 3の命令生成テーブル 30 に渡す。
CB1=1であれば、命令ID部 20 の命令IDの更新を禁止する。
このようにして、決定された命令IDに従い、デコーダ 31 により、命令IDに対応した命令生成テーブル 30 の命令情報データ▲1▼と、命令生成データ▲2▼が選択される。該選択された命令情報データ▲1▼から、指定されている繰返しカウンタ・データを繰返しカウンタ 221に設定する。このとき、該繰返しカウンタ 221へ生成中の再設定を防ぐため、設定判定部 224により、既に設定されているか否かが判定される。
【0046】
該繰返しカウンタ 221は減算制御部 222により、繰り返しカウンタ=0になるまで、同一命令IDを、ランダム命令生成制御部 3の命令生成テーブル 30 に渡し続ける。繰り返しカウンタ=0になれば、CBリセット 223を付勢して、CB1=0、CB2=0に設定する。
【0047】
このとき、上記ランダム・データによって設定されたCB2値{第2の制御ビット(CB2) の値}が、
CB2=0であれば、上記と同じ処理を行う。
CB2=1であれば、上記の処理と共に、近似値データ生成手段 226で以下の処理を行う。即ち、疑似乱数発生器 1のランダム・データに対し、命令情報データ▲1▼から命令形式に対応した近似値データ▲3▼を生成し、乱数と共に、近似値データレジスタ 2260 に設定される。該生成された近似値データレジスタ 2260 のデータと、命令生成データ▲2▼とから、ランダムな命令が生成される。
【0048】
例えば、上記近似値は、オペランド・アドレス・データの上位ビットを上記近似値データ▲3▼で固定化して、下位ビットを乱数としたオペランド・アドレスを生成する。このようにして、生成された複数の命令IDのオペランドアドレスは、上位ビットが定められた値の、下位ビットが乱数で少し変化した所定の近似化されたオペランドアドレスとなる。その他の動作は、図2で説明した請求項1、2の発明の動作と同一である。
【0049】
次に、図8は、上記手段(8) の実施例について説明する図である。
この実施例では、命令ID設定処理部 2は、命令ID部 20 と、CBリセット 223と、繰返しカウンタ 221と、減算制御部 222と、設定判定部 224と、レジスタ値重複データ生成手段 227とから構成されている。
【0050】
先ず、疑似乱数発生器 1からランダム・データを発生させて、命令ID設定処理部 2の命令ID部 20 に、ランダムな命令IDと、ランダムなCB1値{第1の制御ビット(CB1) の値}、CB2値{第2の制御ビット(CB2) の値}とを設定する。
【0051】
該設定されたCB1値{第1の制御ビット(CB1) の値}が、
CB1=0であれば、命令IDをランダム命令生成制御部 3の命令生成テーブル 30 に渡す。
CB1=1であれば、命令ID部 20 の命令IDの更新を禁止する。
このようにして、決定された命令IDに従い、デコーダ 30 により、命令IDに対応した命令生成テーブル 30 の命令情報データ▲1▼と、命令生成データ▲2▼が選択される。該選択された命令情報データ▲1▼から、指定されている繰返しカウンタ・データを繰返しカウンタ 221に設定する。このとき、該繰返しカウンタ 221へ生成中の再設定を防ぐため、設定判定部 224により、既に設定されているか否かが判定される。
【0052】
該繰返しカウンタ 221は減算制御部 222により、該繰り返しカウンタ=0になるまで、同一命令IDを命令生成テーブル 30 に渡し続ける。該繰り返しカウンタ=0になれば、CBリセット 223を付勢して、CB1=0、CB2=0に設定する。
【0053】
このとき、上記ランダム・データによって設定されたCB2値{第2の制御ビット(CB2) の値}が、
CB2=0であれば、上記と同じ処理を行う。
CB2=1であれば、上記の処理と共に、レジスタ値重複データ生成手段 227により、以下の処理を行う。
【0054】
即ち、疑似乱数発生器 1のランダム・データに対し、命令情報データ▲1▼から、命令形式に対応したレジスタ値重複データ▲4▼を生成する。該生成されたレジスタ値重複データ▲4▼と、命令生成データ▲2▼とから、ランダムな命令が生成される。即ち、上記レジスタ値重複データ生成手段 227では、レジスタ値重複データ▲4▼ “0000〜" で、疑似乱数発生器 1からの乱数と論理積をとり、該乱数を消去した後、他のレジスタ値重複データ▲4▼ “10" と論理和して、レジスタ値を強制的に “10" として、レジスタ値重複データレジスタ 2270 に設定し、該設定された、複数の命令IDで重複したレジスタ値 “10" と、命令生成データ▲2▼とにより、該複数の命令IDに重複したレジスタ値を持つ命令列を生成する。
【0055】
その他の動作は、図2で説明した上記手段(1),(2) の動作と同一である。尚、上記図6、図7、図8で説明した実施例では、繰り返しカウンタ 221に設定する繰り返し数を、命令生成テーブル 30 の命令情報データ▲1▼で、意図的に指示する例で説明したが、これに限定されるものではなく、該繰り返しカウンタ 221に設定する数を、疑似乱数発生器 1のランダム・データで設定するようにしても良いことは言うまでもないことである。
【0056】
又、図6で説明した実施例では、生成された複数の命令IDに対応するレジスタ値を重複しないように制御するのに、命令生成テーブル 30 の命令情報データ▲1▼からのデータで制御する例で説明したが、これに限定されるものではなく、例えば、図7、図8で説明した第2の制御ビット(CB2) 23で制御するようにしても良いことは言う迄もないことである。
【0057】
又、図7、図8の実施例では、該第2の制御ビット(CB2) 23を、疑似乱数発生器 1たらの乱数で設定する例で説明したが、図5で説明したと同様に、命令生成テーブル 30 の命令情報データ▲1▼のデータで設定するようにしても良いことは言うまでもないことである。
【0058】
このように、本発明の情報処理装置は、疑似乱数発生手段と、該疑似乱数発生手段で生成された乱数を用いて、命令識別コード(命令ID) と、第1、第2の制御ビット(CB1,CB2) と、該第1、第2の制御ビット(CB1,CB2) を制御する制御ビット制御部からなる命令識別コード設定処理手段と、上記生成された命令識別コード(命令ID)に対応して、生成命令の形式や、制御情報からなる命令情報データ▲1▼と、上記命令形式の各フィールド毎に、上記疑似乱数発生手段からの乱数をその儘、設定するか、所定の固定データを設定するかを指示する命令生成データ▲2▼とからなる命令生成テーブルを持ち、該命令生成テーブルの内容に基づいて、ランダムな命令を生成するランダム命令生成制御手段と、該生成された所定数の命令列を被試験命令列として所定の領域に設定する生成命令設定処理手段と、該生成する被試験命令の数を指定する生成命令カウンタとで構成するようにしたところに特徴がある。
【0059】
【発明の効果】
以上、詳細に説明したように、本発明の情報処理装置によれば、
上記手段(1) 〜(5) により、複数の同一命令が乱数に基づいて、或いは、命令生成テーブル 30 の命令情報データ▲1▼で指定した数だけ連続して生成することができる。
【0060】
又、上記手段(6) により、レジスタ値がすべて重複しない同一の命令を連続して生成することができ、上記手段(7) により、生成された複数の同一命令に対して、相互に余り変わらない近似値をとるオペランドアドレスのものを生成することができ、上記手段(8) により、前後する命令でレジスタ値が重複した同一命令を連続して生成すると言った意図的な命令列を生成することができる。
【0061】
従って、従来と比較して、飛躍的に、同一命令の命令生成効率の向上を図ることができる。又、この命令列生成手段を、情報処理装置の試験に用いることにより、実行時間の短縮を図った効率的な試験が可能になる。
【図面の簡単な説明】
【図1】本発明の原理構成図
【図2】本発明の一実施例を示した図(その1)
【図3】本発明の一実施例を示した図(その2)
【図4】本発明の一実施例を示した図(その3)
【図5】本発明の一実施例を示した図(その4)
【図6】本発明の一実施例を示した図(その5)
【図7】本発明の一実施例を示した図(その6)
【図8】本発明の一実施例を示した図(その7)
【図9】従来のランダムな命令列を生成する手段を説明する図
【符号の説明】
1 疑似乱数発生手段、疑似乱数発生器
2 命令識別コード設定処理手段、命令ID設定処理部
20 命令ID部 21 制御ビット(CB1)
22 CB制御部 23 制御ビット(CB2)
220,223 CBリセット
221 繰り返しカウンタ 60,222 減算制御部
224 設定判定部 225 レジスタ値制御データ生成手段
2250 レジスタ値制御データレジスタ
226 近似値データ生成手段 2260 近似値データレジスタ
227 レジスタ値重複データ生成手段
2270 レジスタ値重複データレジスタ
3 ランダム命令生成制御部、ランダム命令生成制御手段
30 命令生成テーブル 31 デコーダ
4 生成命令設定処理手段、生成命令設定処理部
5 被試験命令列
6 生成命令数カウンタ ▲1▼ 命令情報データ
▲2▼ 命令生成データ
▲3▼ 命令情報データからの所定のデータ, 所定ビット, 近似値データ
▲4▼ 命令情報データからの所定のデータ(レジスタ値重複データ)
▲5▼ ランダム・データ
▲6▼ レジスタ値制御データ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus having means for generating a random instruction sequence, and more particularly, information processing including means for continuously generating the same instruction with various conditions in a randomly generated instruction sequence Relates to the device.
[0002]
[Prior art]
FIG. 9 is a diagram for explaining a conventional means for generating a random instruction sequence. In the conventional instruction sequence generation means, an instruction identification code (hereinafter also referred to as an instruction ID) is set from the random data of the pseudo random number generator provided in the information processing apparatus, and according to the set instruction ID, An instruction sequence was generated from the instruction generation data obtained by decoding the instruction generation table 30 and a pseudo random number.
[0003]
In FIG. 9, first, random data is generated from the pseudo
[0004]
The command information data (1) is the format of the generated command (for example, field configuration for each command ID) or control information (for example, whether to insert a random number in each field described later or fixed data) Control flag or the like) is set and used when an instruction is generated.
[0005]
The command generation data (2) is generated data A (random value setting, for example, when the control flag indicates the random value setting, for generating the target command randomly, and a logical product ( AND) all “1” data) and generation data B (fixed data generated by the above control flag are forcibly added. The generated random numbers and logical sums are used to calculate each of the fields. Data for forcibly setting “1” or “0” in bit units).
[0006]
According to the determined instruction ID, the
[0007]
The generated instruction is set in the instruction under
[0008]
[Problems to be solved by the invention]
Therefore, in the conventional random instruction generation means, in order to generate an instruction at random, a sequence of the same instruction,
The same number of consecutive instructions,
A sequence of identical instructions with all register values not duplicated,
A sequence of identical instructions whose operand address values are approximate,
A sequence of identical instructions that specify overlapping register values in preceding and following instructions,
Specifying the same instruction sequence,
This causes a problem that the instruction sequence cannot be intentionally generated.
[0009]
In view of the above-mentioned conventional drawbacks, the present invention generates a control bit (hereinafter also referred to as CB1 and CB2) together with the generation of an instruction ID, a repetitive counter for controlling the generated CB1 and CB2, a CB reset, Information processing provided with instruction sequence generation means capable of improving instruction generation efficiency by register value control data generation means for controlling generation of register numbers in instructions, approximate value data generation means for generating operand addresses, etc. The object is to provide an apparatus.
[0010]
[Means for Solving the Problems]
FIG. 1 is a diagram illustrating the principle of the present invention, and FIGS. 2 to 8 are diagrams illustrating an embodiment of the present invention. The above problem is solved by an information processing apparatus provided with the following instruction sequence generation means.
[0011]
(1) An information processing apparatus comprising means for generating an instruction sequence for testing an information processing apparatus,
Pseudorandom number generation means 1, an instruction identification code (instruction ID) generated using the random number generated by the pseudorandom number generation means 1, a first control bit (CB1) 21, and the first control bit (CB1) Instruction identification code setting processing means 2 comprising a control bit control unit (CB control unit) 22 for controlling 21;
Corresponding to the generated instruction identification code (instruction ID), the pseudo-random number generating means is provided for each field of the generated instruction format and instruction information data (1) consisting of control information and the generated instruction format. It has an instruction generation table 30 consisting of instruction generation data (2) that indicates whether to set a random number from 1 or to set predetermined fixed data, and randomly based on the contents of the instruction generation table 30 Random command generation control means 3 for generating commands,
Generated instruction setting processing means 4 for setting the generated predetermined number of instruction sequences in a predetermined area as an instruction sequence under
Generated
With
The first control bit (CB1) 21 is controlled to generate a plurality of instructions identical to the instruction identification code (instruction ID) generated using the random number generated by the pseudo-random number generating means 1 Constitute. {See Figure 1}
(2) The information processing apparatus according to (1) above,
The instruction identification code setting processing means 2 includes means for setting the first control bit (CB1) 21 with the random number generated by the pseudo-random number generating means 1, and the set first control bit (CB1). 21 is configured to include a
(3) The information processing apparatus according to (1) above,
The instruction identification code setting processing means 2 sets the first control bit (CB1) 21 set with the random number generated by the pseudo random number generating means 1 with the random number generated by the pseudo random number generating means 1. The
(4) The information processing apparatus according to (1) above,
The instruction identification code setting processing means 2 uses the first control bit (CB1) 21 set by the random number generated by the pseudo-random number generating means 1 as the instruction information data (1) in the instruction generation table 30. The
(5) The information processing apparatus according to (1) above,
The instruction identification code setting processing means 2 has means for setting the first control bit (CB1) 21 based on predetermined data of the instruction information data (1) in the instruction generation table 30; The first control bit (CB1) 21 is configured to include a
(6) The information processing apparatus according to (1) above,
In the instruction identification code setting processing means 2, a
(7) The information processing apparatus according to (2), (3), (4), (5), or (6) above,
The instruction identification code setting processing means 2 includes a second control bit (CB2) 23, a random number generated by the pseudo-random number generation means 1 based on the second control bit (CB2) 23, and the instruction Approximate value data generating means 226 for generating similar addresses as operand addresses of the plurality of generated instructions using the predetermined data (3) of the instruction information data (1) in the generation table 30 is provided. Configure as follows. {See Fig. 7} (8) The information processing apparatus according to (2), (3), (4), (5), or (6) above,
The instruction identification code setting processing means 2 includes a second control bit (CB2) 23, a random number generated by the pseudo-random number generation means 1 based on the second control bit (CB2) 23, and the instruction Register value duplication data generation means 227 for generating a register number in which register numbers of the plurality of generated instructions are duplicated using predetermined data (4) of the instruction information data (1) in the generation table 30 is provided. Configure as follows. {See Fig. 8}
(9) The information processing apparatus according to (7) or (8) above,
The second control bit (CB2) 23 is configured to include means for generating a random number generated by the pseudo-random number generating means 1. {See Fig. 6 and Fig. 7}
(10) The information processing apparatus according to (7) or (8) above,
The second control bit (CB2) 23 is configured to include means for generating predetermined data of the instruction information data (2) of the instruction generation table 30.
[0012]
That is, the above (1) and (2) are means for randomly generating the instruction ID of the instruction under test by the pseudo
The generation is controlled by the instruction ID (identification code) and the first control bit (CB1) 21 generated by the
Instruction sequence generation having control means for generating a plurality of identical instruction IDs until the first control bit (CB1) 21 is set with a random number and reset with a random number for one instruction ID An information processing apparatus including means.
[0013]
The above (3) includes means for randomly generating the instruction ID of the instruction under test by the pseudo
The generation is controlled by an instruction ID (identification code), a first control bit (CB1) 21 generated by the pseudo
Control means for generating a plurality of identical instruction IDs until the first control bit (CB1) 21 is set with a random number and reset by the
[0014]
The above (4) includes means for randomly generating the instruction ID of the instruction under test by the pseudo
The generation is set by the instruction ID (identification code), the first control bit (CB1) 21 generated by the pseudo
Control means for generating a plurality of identical instruction IDs until the first control bit (CB1) 21 is set with a random number and reset by the
[0015]
In the above (5), means for randomly generating the instruction ID of the instruction under test by the pseudo
A first control in which the generation is set with an instruction ID (identification code) and predetermined data of instruction information data (1) in the instruction generation table 30 and is reset with a random number generated by the
[0016]
The above (6) includes means for randomly generating the instruction ID of the instruction under test by the pseudo
The generation is set by the instruction ID (identification code), the first control bit (CB1) 21 generated by the pseudo
Control means for generating a plurality of identical instruction IDs until the first control bit (CB1) 21 is set with a random number and reset by overflow of the
[0017]
The above (7) includes means for randomly generating the instruction ID of the instruction under test by the pseudo
The generation is an instruction ID (identification code), a first control bit (CB1) 21 generated by the
Control means for generating a plurality of identical instruction IDs until the first control bit (CB1) 21 is set with a random number and reset by overflow of the
Based on the instruction of the second control bit (CB2) 23, the means (operating value data generating means) 226 for maintaining the operand addresses of the plurality of generated instructions in the vicinity of a predetermined value, for example, The approximate value data generated by setting the low-order bits with random numbers using the predetermined bits (3) of the instruction information data (1) of the instruction generation table 30 as the high-order bits of the operand address. It is set to.
[0018]
The above (8) includes means for randomly generating the instruction ID of the instruction under test by the pseudo
The generation is an instruction ID (identification code), a first control bit (CB1) 21 generated by the
Control means for generating a plurality of identical instruction IDs until the first control bit (CB1) 21 is set with a random number and reset by overflow of the
Based on the instruction of the second control bit (CB2) 23, as means (register value duplication data generation means) 227 for making the register values of the plurality of generated instructions overlap, for example, an instruction generation table 30 The predetermined data “00” of the instruction information data {circle over (1)} is logically ANDed with the random number to delete the random number, and the predetermined data “10” of the instruction information data {circle over (1)} A control means for generating an overlapped register value is provided by logically adding (4) and generating fixed data “01”.
[0019]
The above (9) is to generate the second control bit (CB2) 23 by a random number, and the invention of claim 10 provides the second control bit (CB2) 23 to the instruction generation table. It is generated with 30 command information data (1).
[0020]
Therefore, according to the information processing apparatus of the present invention, according to the above (1) to (5), a plurality of identical instructions are based on random numbers or the number specified by the instruction information data (1) in the instruction generation table 30. It can be produced continuously.
[0021]
In addition, because of the above (6), it is possible to continuously generate the same instruction in which all register values do not overlap, and because of the above (7), an approximation that does not change much with respect to the plurality of generated same instructions. It is possible to generate an operand address that takes a value, and according to the above (8), it is possible to continuously generate the same instruction in which register values are overlapped by preceding and following instructions.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing the principle of the present invention, FIGS. 2 to 8 are diagrams showing an embodiment of the present invention, and FIG. 2 shows a first control bit set by a random number. FIG. 3 shows the case where the first control bit (CB1) set by the random number is controlled by the repetition counter set by the random number, and FIG. 4 shows the case where the random number is controlled by the random number. FIG. 5 shows the case where the first control bit (CB1) set in
[0023]
In the present embodiment, an information processing apparatus having means for generating an instruction sequence for testing the information processing apparatus, the means for generating an instruction code (instruction ID) with a random number, and the first control bit (CB1) 21, the first control bit (CB1) 21 is controlled by a random number or instruction information data (1) in the instruction generation table 30, and the first control bit (CB1) 21 is, for example, , “1”, a means for generating a plurality of instructions having the same instruction code (instruction ID) and a plurality of instructions generated by the instruction by the instruction information data (1) in the instruction generation table 30 A means for preventing register values from overlapping and a second control bit (CB2) 23 are provided, and the second control bit (CB2) 23 is set as a random number or instruction information data (1) in the instruction generation table 30. Control, the second control bit (CB2) 23 is generated while it is “1”, for example. Means for setting operand addresses of a plurality of instructions to a predetermined approximate value, and means for setting register values of a plurality of instructions to be a predetermined value indicated by the instruction information data (1) of the instruction generation table 30 These are necessary means for the present embodiment. In addition, the same code | symbol has shown the same target object through all the figures.
[0024]
Hereinafter, the configuration and operation of an information processing apparatus including an instruction sequence generation unit that generates an instruction sequence for testing the information processing apparatus of the present invention will be described with reference to FIG.
[0025]
First, FIG. 2 is a diagram for explaining an embodiment of the means (1) and (2).
The command ID
Random data is generated from the pseudo
If CB1 = 0, the instruction ID is passed to the instruction generation table 30 of the random instruction
If CB1 = 1, the
[0026]
The instruction generation table 30 is composed of instruction information data (1) and instruction generation data (2). The command information data (1) controls the format of the generated command, for example, the field configuration for each command ID, and control information, for example, whether or not to set a random number in each field of each generated command ID. Control flags, control data, etc. are set and used when generating instructions.
[0027]
The instruction generation data (2) includes the above-mentioned generation data A (logical product data with random numbers for setting random values, for example, all “1” data) for generating a target instruction randomly, and generation data B (logical sum data with a random number for forcibly adding a predetermined value, “0” or “1”).
[0028]
According to the determined instruction ID, the
[0029]
The generated instruction is set in the instruction under
[0030]
FIG. 3 is a diagram for explaining an embodiment of the means (3).
In this embodiment, the instruction ID
[0031]
Random data is generated from the pseudo
[0032]
The set CB value {the value of the first control bit (CB1) 21} is
If CB1 = 0, the instruction ID is passed to the instruction generation table 30 of the random instruction
If CB1 = 1, update of the instruction ID of the
The
When the repeat counter = 0, the CB reset 223 is activated and CB1 = 0 is set. The subsequent operation is the same as that of the first and second aspects of the invention described with reference to FIG.
[0033]
Next, FIG. 4 is a diagram for explaining an embodiment of the means (4).
In this embodiment, the instruction ID
[0034]
Random data is generated from the pseudo
The set CB value {the value of the first control bit (CB1) 21} is
If CB1 = 0, the instruction ID is passed to the instruction generation table 30 of the random instruction
If CB1 = 1, update of the instruction ID of the
[0035]
In accordance with the instruction ID thus determined, the
[0036]
The
[0037]
Next, FIG. 5 is a diagram for explaining an embodiment of the means (5).
In this embodiment, the CB setting of the
[0038]
Next, FIG. 6 is a diagram for explaining an embodiment of the means (6).
In this embodiment, the instruction ID
[0039]
First, random data is generated from the
[0040]
The set CB value {value of the first control bit (CB1)} is
If CB1 = 0, the instruction ID is passed to the instruction generation table 30 of the random instruction
If CB1 = 1, update of the instruction ID of the
In this way, according to the determined instruction ID, the
[0041]
The
[0042]
At this time, since the
[0043]
Next, FIG. 7 is a diagram for explaining an embodiment of the means (7).
The instruction ID
[0044]
First, random data is generated from the
[0045]
The set CB1 value {the value of the first control bit (CB1)} is
If CB1 = 0, the instruction ID is passed to the instruction generation table 30 of the random instruction
If CB1 = 1, update of the instruction ID of the
In this way, according to the determined instruction ID, the
[0046]
The
[0047]
At this time, the CB2 value {value of the second control bit (CB2)} set by the random data is
If CB2 = 0, the same processing as described above is performed.
If CB2 = 1, in addition to the above processing, the approximate value data generation means 226 performs the following processing. That is, for the random data of the pseudo
[0048]
For example, the approximate value is generated by fixing the upper bits of the operand address data with the approximate value data {circle around (3)} and using the lower bits as random numbers. In this way, the operand addresses of the plurality of instruction IDs generated are predetermined approximate operand addresses in which the lower bits are slightly changed by random numbers, with the value of the upper bits being determined. Other operations are the same as those of the first and second aspects of the invention described with reference to FIG.
[0049]
FIG. 8 is a diagram for explaining an embodiment of the means (8).
In this embodiment, the instruction ID
[0050]
First, random data is generated from the
[0051]
The set CB1 value {the value of the first control bit (CB1)} is
If CB1 = 0, the instruction ID is passed to the instruction generation table 30 of the random instruction
If CB1 = 1, update of the instruction ID of the
In this way, according to the determined instruction ID, the
[0052]
The
[0053]
At this time, the CB2 value {value of the second control bit (CB2)} set by the random data is
If CB2 = 0, the same processing as described above is performed.
If CB2 = 1, the following processing is performed by the register value duplication data generation means 227 together with the above processing.
[0054]
That is, the register value duplication data (4) corresponding to the instruction format is generated from the instruction information data (1) for the random data of the pseudo
[0055]
Other operations are the same as the operations of the means (1) and (2) described with reference to FIG. In the embodiment described with reference to FIGS. 6, 7, and 8, the number of repetitions set in the
[0056]
In the embodiment described with reference to FIG. 6, control is performed using data from instruction information data (1) in the instruction generation table 30 in order to control register values corresponding to a plurality of generated instruction IDs so as not to overlap. Although described in the example, the present invention is not limited to this example. For example, the second control bit (CB2) 23 described in FIGS. 7 and 8 may be used for control. is there.
[0057]
In the embodiment shown in FIGS. 7 and 8, the second control bit (CB2) 23 has been described as an example of setting the random number generated by the
[0058]
As described above, the information processing apparatus of the present invention uses a pseudo-random number generator, a command random number generated by the pseudo-random number generator, and an instruction identification code (command ID) and first and second control bits ( CB1, CB2) and instruction identification code setting processing means comprising a control bit control unit for controlling the first and second control bits (CB1, CB2), and corresponding to the generated instruction identification code (instruction ID) Then, the command information data (1) consisting of the format of the generated command and control information, and the random number from the pseudo-random number generating means are set for each field of the command format, or predetermined fixed data is set. A random command generation control means for generating a random command based on the content of the command generation table, and a predetermined command generated Number of instruction sequences to be tested It is characterized in that it is composed of a generation instruction setting processing means for setting a predetermined area as an instruction sequence and a generation instruction counter for designating the number of instructions to be generated.
[0059]
【The invention's effect】
As described above in detail, according to the information processing apparatus of the present invention,
By the means (1) to (5), a plurality of identical instructions can be generated continuously based on random numbers or the number specified by the instruction information data (1) in the instruction generation table 30.
[0060]
Also, the means (6) makes it possible to continuously generate the same instruction in which all register values do not overlap. It is possible to generate an operand address that takes an approximate value that is not, and by means of the above means (8), an intentional instruction sequence is generated in which the same instruction with overlapping register values is continuously generated by the preceding and following instructions. be able to.
[0061]
Therefore, it is possible to dramatically improve the instruction generation efficiency of the same instruction as compared with the conventional case. Further, by using this instruction sequence generation means for the test of the information processing apparatus, it is possible to perform an efficient test for shortening the execution time.
[Brief description of the drawings]
FIG. 1 is a principle configuration diagram of the present invention.
FIG. 2 is a diagram showing an embodiment of the present invention (No. 1)
FIG. 3 is a diagram showing an embodiment of the present invention (No. 2)
FIG. 4 is a diagram showing an embodiment of the present invention (part 3);
FIG. 5 is a diagram showing an embodiment of the present invention (part 4);
FIG. 6 is a diagram showing one embodiment of the present invention (No. 5).
FIG. 7 is a diagram showing an embodiment of the present invention (No. 6).
FIG. 8 is a diagram showing an embodiment of the present invention (part 7);
FIG. 9 is a diagram for explaining a conventional means for generating a random instruction sequence;
[Explanation of symbols]
1 Pseudorandom number generator, pseudorandom number generator
2 Instruction identification code setting processing means, instruction ID setting processing section
20
22 CB control unit 23 Control bit (CB2)
220,223 CB reset
221 Repeat counter 60,222 Subtraction control unit
224
2250 Register value control data register
226 Approximate value data generation means 2260 Approximate value data register
227 Register value duplicated data generation means
2270 Register value duplicate data register
3 Random instruction generation control unit, random instruction generation control means
30 Instruction generation table 31 Decoder
4 Generation command setting processing means, generation command setting processing section
5 Instruction sequence under test
6 Generated instruction counter (1) Instruction information data
(2) Instruction generation data
(3) Predetermined data, predetermined bits, approximate value data from instruction information data
(4) Predetermined data from the instruction information data (register value duplication data)
(5) Random data
(6) Register value control data
Claims (8)
疑似乱数発生手段と、
該疑似乱数発生手段で発生された乱数を用いて生成された命令識別コードと、該疑似乱数発生手段で発生された乱数により設定される第1の制御ビットと、該第1の制御ビットを制御する制御ビット制御部とからなる命令識別コード設定処理手段と、
上記命令識別コードに対応して生成命令の形式や制御情報からなる命令情報データと、前記疑似乱数発生手段からの乱数をそのまま設定するか所定の固定データを設定するかの指示により生成される命令生成データ、とからなる命令生成テーブルを持ち、一旦乱数により上記命令識別コードが設定されると、前記第1の制御ビットが所定の値である間は、該所定値が前記制御ビット制御部によりリセットされるまで、以降に発生される乱数の値が、新たな命令識別コードの値として設定されることが禁止され、該命令生成テーブルは、同一の命令識別コードをデコードすることにより、同一の命令情報データと命令生成データが生成され、該命令生成テーブルの内容に基づいてランダム命令を生成するランダム命令生成制御手段と、
該命令生成テーブル上の1組の命令情報データと命令生成データに基づいて生成される1つの被試験命令を所定数、被試験命令列として所定の領域に設定する生成命令設定処理手段と、
起動時に設定された後、命令の生成毎に減算され、カウント値が零で終了するまでに生成される命令の数を指定する生成命令数カウンタと、
を備えて
上記第1の制御ビットを制御して、上記疑似乱数発生手段で発生された乱数を用いて生成された命令識別コードと同一の複数の命令を生成し、第1の制御ビットによるリセット後は、リセット後に発生した乱数により新たに設定された命令識別コードにより同様に、同一の複数の命令を生成することを繰り返し、前記生成命令数カウンタが零で被試験命令列の生成を終了すること特徴とする情報処理装置。An information processing apparatus comprising means for generating an instruction sequence for testing the information processing apparatus,
Pseudo-random number generating means;
An instruction identification code generated using the random number generated by the pseudo-random number generating means, a first control bit set by the random number generated by the pseudo-random number generating means, and the first control bit are controlled control bit controlling unit to the instruction identification code setting means consisting of,
And command information data consisting of format and control information creating command corresponding to the upper Symbol instruction identification code is generated by a random number of either directly setting the predetermined fixed data or setting instruction from the pseudo random number generation means A command generation table including command generation data , and once the command identification code is set by a random number, the predetermined value is set to the control bit control unit while the first control bit is a predetermined value. Until the value is reset, the random number value generated thereafter is prohibited from being set as a new instruction identification code value, and the instruction generation table is identical by decoding the same instruction identification code. Instruction information data and instruction generation data are generated, and random instruction generation control means for generating a random instruction based on the contents of the instruction generation table ;
A generation instruction setting processing means for setting a predetermined number of one instruction under test generated based on a set of instruction information data and instruction generation data on the instruction generation table, and a predetermined area as an instruction string under test;
A generated instruction counter that specifies the number of instructions that are set at startup and then subtracted each time an instruction is generated, and generated until the count value ends with zero,
The first control bit is controlled to generate a plurality of instructions identical to the instruction identification code generated using the random number generated by the pseudo-random number generating means, and reset by the first control bit Thereafter, generation of the same plurality of instructions is repeated in the same manner using the instruction identification code newly set by the random number generated after the reset, and the generation of the instruction sequence under test is completed when the generated instruction number counter is zero. An information processing apparatus characterized by that.
上記命令識別コード設定処理手段の上記制御ビット制御部は、該疑似乱数発生手段で発生された乱数で設定された上記第1の制御ビットを、上記疑似乱数発生手段で発生された乱数でリセットするものであることを特徴とする情報処理装置。The information processing apparatus according to claim 1,
The control bit controller of the instruction identifier setting processing unit, the first control bit set in the random number generated by the該疑similar random number generation means, for resetting a random number generated by the pseudo-random number generating means An information processing apparatus characterized by being a thing.
上記命令識別コード設定処理手段の上記制御ビット制御部は、更に、該疑似乱数発生手段で発生された乱数により設定される繰り返しカウンタと該繰り返しカウンタの値を該疑似乱数発生手段による乱数の発生毎に減算する減算制御部とを有し、該疑似乱数発生手段で発生された乱数で設定された上記第1の制御ビットを、上記繰り返しカウンタの所定のカウント値でリセットするものであること特徴とする情報処理装置。 The information processing apparatus according to claim 1,
The control bit control unit of the instruction identification code setting processing unit further includes a repeat counter set by a random number generated by the pseudo random number generation unit and a value of the repeat counter for each generation of random numbers by the pseudo random number generation unit. And a subtracting control unit for subtracting the first control bit set by the random number generated by the pseudo-random number generating means and resetting the first control bit with a predetermined count value of the repetition counter; Information processing apparatus.
上記命令識別コード設定処理手段の上記制御ビット制御部は、更に、該疑似乱数発生手段で発生された乱数により設定される繰り返しカウンタと該繰り返しカウンタの値を該疑似乱数発生手段による乱数の発生毎に減算する減算制御部とを有し、上記命令生成テーブルの命令情報データの所定のデータで設定された上記第1の制御ビットを、上記繰り返しカウンタの所定のカウント値でリセットするものであること特徴とする情報処理装置。The control bit control unit of the instruction identification code setting processing unit further includes a repeat counter set by a random number generated by the pseudo random number generating unit and a value of the repeat counter for each generation of random numbers by the pseudo random number generating unit. A subtracting control unit for subtracting the first control bit, and resetting the first control bit set by predetermined data of the instruction information data of the instruction generation table with a predetermined count value of the repetition counter. A characteristic information processing apparatus.
上記命令識別コード設定処理手段の上記制御ビット制御部は、上記命令生成テーブルの命令情報データの所定のデータで設定された上記第1の制御ビットを、上記疑似乱数発生The control bit control unit of the instruction identification code setting processing means generates the first control bit set by predetermined data of the instruction information data in the instruction generation table, and generates the pseudo random number. 手段で発生された乱数でリセットするものであることを特徴とする情報処理装置。An information processing apparatus that resets with a random number generated by the means.
上記命令識別コード設定処理手段に、更に近似値データレジスタを有し、The instruction identification code setting processing means further includes an approximate value data register,
制御ビット制御部の上記第1の制御ビットに加え、上記疑似乱数発生手段で発生された乱数で設定され、上記第1の制御ビットをリセットする第2の制御ビットを備え、In addition to the first control bit of the control bit control unit, a second control bit that is set with a random number generated by the pseudo-random number generator and resets the first control bit is provided.
該制御ビット制御部の第2の制御ビットに基づいて、上記近似値データレジスタを介して、生成される複数命令のオペランドアドレスの下位ビットに上記疑似乱数発生手段で発生された乱数を、上記生成される複数命令のオペランドアドレスの上位ビットに上記命令情報データから命令形式に対応した近似値データを、それぞれ設定する近似値データ生成手段とを備え、Based on the second control bit of the control bit control unit, the random number generated by the pseudo-random number generating means is generated in the lower bits of the operand addresses of the generated instructions via the approximate value data register. Approximate value data generating means for setting approximate value data corresponding to the instruction format from the instruction information data in the upper bits of the operand addresses of the plurality of instructions to be executed,
上記生成される複数命令のオペランドアドレスとして、相互に類似したアドレスを生成することを特徴とする情報処理装置。An information processing apparatus that generates similar addresses as operand addresses of the plurality of instructions generated.
上記命令識別コード設定処理手段に、更にレジスタ値重複データレジスタを有し、The instruction identification code setting processing means further includes a register value duplication data register,
上記命令識別コード設定処理手段に、上記第2の制御ビットに基づいて、上記命令情報データの中の重複指示データにより、上記疑似乱数発生手段で発生された乱数と、命令生成データの中の論理積をとるためのデータと論理積を取った後、命令生成データの中の論理和をとるためのデータと論理和を取る、ビット対応で論理演算する論理演算手段を具備し、Based on the second control bit, the instruction identification code setting processing means causes the pseudo-random number generating means to generate a random number generated by the pseudo-random number generating means based on the duplication instruction data in the instruction information data. Logical operation means for performing a logical operation in a bit-corresponding manner, taking a logical sum with data for taking a logical sum in the instruction generation data after taking a logical product with the data for taking the product;
上記論理演算処理後の所定の重複指示データをレジスタ値重複データレジスタに設定するレジスタ値重複データ生成手段とを備え、Register value duplication data generation means for setting the predetermined duplication instruction data after the logical operation processing in the register value duplication data register,
上記生成される複数命令のレジスタ番号が重複したレジスタ番号を生成することを特徴とする情報処理装置。An information processing apparatus for generating a register number in which register numbers of the plurality of generated instructions are duplicated.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16466296A JP3675038B2 (en) | 1996-06-25 | 1996-06-25 | Information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16466296A JP3675038B2 (en) | 1996-06-25 | 1996-06-25 | Information processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1011312A JPH1011312A (en) | 1998-01-16 |
| JP3675038B2 true JP3675038B2 (en) | 2005-07-27 |
Family
ID=15797439
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16466296A Expired - Fee Related JP3675038B2 (en) | 1996-06-25 | 1996-06-25 | Information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3675038B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100896274B1 (en) * | 2002-07-10 | 2009-05-07 | 엘지전자 주식회사 | Pseudo Random Code Generator |
| JP2007047893A (en) * | 2005-08-08 | 2007-02-22 | Fujitsu Ltd | Operation verification method and operation verification program for verifying operation of processor |
-
1996
- 1996-06-25 JP JP16466296A patent/JP3675038B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1011312A (en) | 1998-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6591415B1 (en) | Polymorphic code generation method and system therefor | |
| US5386469A (en) | Firmware encryption for microprocessor/microcomputer | |
| EP2486482A1 (en) | A system and method for aggressive self-modification in dynamic function call systems | |
| US6782518B2 (en) | System and method for facilitating coverage feedback testcase generation reproducibility | |
| CN110147238B (en) | A program compiling method, device and system | |
| JP3675038B2 (en) | Information processing device | |
| CN106407754B (en) | A method and device for generating a random layout program | |
| US20050177773A1 (en) | Software method for exhaustive variation of parameters, independent of type | |
| JP2001209554A (en) | Test data generation device, test data generation method, and storage medium storing program for causing computer to perform processing in system | |
| KR102395134B1 (en) | Method and apparatus for implementation of playbook-style penetration simulator | |
| JP2001236132A (en) | Method and program for providing tamper resistance | |
| JP2903721B2 (en) | Method for assembling test instruction of information processing device | |
| Sharikov et al. | Research of the sustainability of a digital watermark embedded through opcodes substitutions in a class file against decompilation attacks | |
| JPH09330242A (en) | Test instruction sequence generation method for information processing equipment | |
| US7886282B1 (en) | Augmenting signature-based technologies with functional flow graphs | |
| JP2924080B2 (en) | Logic simulation support system | |
| JP2990159B1 (en) | Apparatus and method for managing events in debugger | |
| JP3221421B2 (en) | Testing method for information processing device and storage medium storing the program | |
| JP4226168B2 (en) | Microprocessor verification program creation device | |
| JPH04364520A (en) | Generation system for general sequence program and general screen information | |
| JPH07319729A (en) | Software debugging method | |
| JPS62278645A (en) | Microcomputer | |
| JPS63148328A (en) | System for registering and verifying password number of execute form program | |
| JPH0566938A (en) | Patch data generating system | |
| JPH05265806A (en) | Testing device for information processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040202 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040406 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040709 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050412 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050425 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080513 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120513 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |