JPH06187190A - 先行制御機構の試験方法 - Google Patents

先行制御機構の試験方法

Info

Publication number
JPH06187190A
JPH06187190A JP4334038A JP33403892A JPH06187190A JP H06187190 A JPH06187190 A JP H06187190A JP 4334038 A JP4334038 A JP 4334038A JP 33403892 A JP33403892 A JP 33403892A JP H06187190 A JPH06187190 A JP H06187190A
Authority
JP
Japan
Prior art keywords
instruction
control mechanism
pointer
area
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4334038A
Other languages
English (en)
Other versions
JP3327601B2 (ja
Inventor
Shinji Miyahara
真次 宮原
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 JP33403892A priority Critical patent/JP3327601B2/ja
Publication of JPH06187190A publication Critical patent/JPH06187190A/ja
Application granted granted Critical
Publication of JP3327601B2 publication Critical patent/JP3327601B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明は先行制御機構の試験方法に関し、先
行制御機構の制御障害の検証能力を向上させることを目
的とする。 【構成】 命令実行の先行制御機構を有する情報処理シ
ステムに対して、命令生成部1が乱数により命令列を生
成し、命令実行制御部2の制御で命令列を実行させ、そ
の実行結果を期待値とする試験方法において、命令列入
替え処理部7が実行結果が変化しない範囲で、命令列を
入替え、入れ替えた命令列の実行結果を、実行結果比較
部3で期待値と比較する。この場合、:レジスタ干渉
を回避させることにより、命令列の入替えを行う。:
オペランドメモリ干渉を回避させることにより、命令列
の入替えを行う。:命令タイプが異なる命令を入れ替
えることにより、命令列の入替えを行う。:同一命令
タイプを集合させることにより、命令列の入替えを行う
ように構成した。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各種情報処理システム
における先行制御機構(例えば、パイプライン制御機
構)の機能を検証する先行制御機構の試験方法に関す
る。
【0002】近年、情報処理システムのCPUは、処理
能率を向上させるために、命令実行のパイプライン制御
方式を採用している。特に、最近のMPUでは、複数の
命令実行パイプライン制御(スーパースカラ制御と呼
ぶ)方式を採用し、更に、処理効率の向上を図ってい
る。
【0003】このため、上記先行制御機構の機能を高精
度で検証出来る試験方法が要望されていた。
【0004】
【従来の技術】図12は、従来例を示した図であり、図
12中、1は命令生成部、2は命令実行制御部、3は実
行結果比較部、4は命令領域(メモリ領域)、5は実行
結果1を格納する実行結果領域(メモリ領域)、6は実
行結果2を格納する実行結果領域(メモリ領域)を示
す。
【0005】従来、先行制御機構として、例えば、パイ
プライン制御機構を検証するための試験が行われてい
た。この試験を実行する場合、図12に示したように、
命令生成部1、命令実行制御部2、実行結果比較部3、
命令領域4、実行結果領域5、実行結果領域6を設けて
おく。
【0006】そして、命令の組み合わせを増大するため
に、上記命令生成部1では、乱数による命令列を生成
し、命令領域4に生成した命令列を格納する。その後、
命令実行制御部2では、命令領域4内の生成命令列に対
して、実行環境(先行制御機構、キャッシュ機構等)を
変化させて、複数回実行させ、その実行結果を、実行結
果領域5、6に格納する。
【0007】この場合、1回目の実行結果(実行結果
1)を実行結果領域5に格納し、2回目の実行結果(実
行結果2)を実行結果領域6に格納する。その後、実行
結果比較部3では、実行結果領域5、6に格納されてい
る実行結果1、実行結果2・・・を比較し、先行制御機
構の試験結果を得る。
【0008】
【発明が解決しようとする課題】上記のような従来のも
のにおいては、次のような課題があった。例えば、ある
特定命令の組み合わせにおいてパイプライン障害があっ
ても、同一命令列に対して実行するために、複数回の実
行結果が同一になる可能性がある。
【0009】このため、パイプライン制御障害にたいす
る検証能力が十分でなかった。本発明は、このような従
来の課題を解決し、先行制御機構(パイプライン制御機
構等)の制御障害の検証能力を向上させることを目的と
する。
【0010】
【課題を解決するための手段】図1は本発明の原理説明
図であり、図1Aは試験方法の説明図、図1Bは、命令
領域内の命令列を示した図である。
【0011】図1中、図12と同じものは、同一符号で
示してある。また、7は命令列入替え処理部、8は命令
領域(メモリ領域)、9は命令領域(メモリ領域)を示
す。本発明は上記の課題を解決するため、次のように構
成した。
【0012】(1)、命令実行の先行制御機構を有する
情報処理システムに対して、乱数により命令列を生成
し、生成した命令列を上記先行制御機構に実行させて、
その実行結果(1回目の走行結果)を、期待値とする先
行制御機構の試験方法において、実行結果が変化しない
範囲で、上記命令列を入替え、入れ替えた命令列の実行
結果を、上記期待値と比較するように構成した。
【0013】(2)、構成(1)において、レジスタ干
渉を回避させることにより、命令列の入替えを行うよう
に構成した。 (3)、構成(1)において、オペランドメモリ干渉を
回避させることにより、命令列の入替えを行うように構
成した。
【0014】(4)、構成(1)において、命令タイプ
が異なる命令を入れ替えることにより、命令列の入替え
を行うように構成した。 (5)、構成(1)において、同一命令タイプを集合さ
せることにより、命令列の入替えを行うように構成し
た。
【0015】
【作用】上記構成に基づく本発明の作用を、図1に基づ
いて説明する。先行制御機構の試験を行う場合は、次の
順序で処理する。
【0016】:命令生成部1では、命令領域8(メモ
リ領域)に乱数を用いて命令列を生成する。 :命令実行制御部2では、命令領域8の命令列を実行
し、その結果(実行結果1)を、実行結果領域5(メモ
リ領域)に格納して期待値とする。
【0017】:次に、命令列入替え処理部7では、命
令領域8の命令列を入れ替えて、新たな命令列を、命令
領域9(メモリ領域)に作成する。 :命令実行制御部2では、命令領域9の命令列を実行
し、その結果(実行結果2)を、実行結果領域6(メモ
リ領域)に格納する。
【0018】:実行結果比較部3では、実行結果領域
5の実行結果1(期待値)と、実行結果領域6の実行結
果2を取り込んで、両者の比較処理を行う。すなわち、
実行結果1(期待値)と実行結果2が全て一致している
事を確認する。
【0019】以上のようにすれば、先行制御機構の動作
を変化させることが出来ると共に、動作条件が拡大出来
るから、先行制御機構(パイプライン等)の検証精度を
高める事が可能となる。
【0020】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図2〜図11は、本発明の実施例を示した図であ
り、中、図1、図12と同じものは、同一符号で示して
ある。
【0021】また、11は試験部、12は被試験部、1
3は試験実行部、14は比較部、15はワークメモリ、
16はワークレジスタ、17は命令取り出し部、18は
命令デコード部、19はパイプライン制御部、20−1
〜20−nは命令実行部、21は実行結果反映部、22
はレジスタ及びメモリアクセス制御部、23はレジスタ
/ファイル、24はメモリを示す。
【0022】:実施例の試験で使用するシステムの説
明・・・図2参照 本実施例の試験で使用するシステム構成図を図2に示
す。図2では、先行制御機構として、パイプライン制御
機構(スーパスカラ制御機構)の例について説明する。
【0023】図示のように、このシステムは、試験を実
行する試験部11と、試験の対象となる被試験部12、
及び被試験部12に接続されたレジスタ及びメモリアク
セス制御部22、レジスタ/ファイル23、メモリ24
等で構成する。
【0024】:試験部11の説明 上記試験部11には、試験実行部13、比較部14、ワ
ークメモリ15、ワークレジスタ16等を設ける。
【0025】試験実行部13は、試験プログラムによ
り、被試験部12に対する各種の試験を実行するもので
あり、比較部14は、命令実行後のデータを比較処理す
るものである。また、ワークメモリ15及び、ワークレ
ジスタ16は、試験実行部13が試験を行う際に使用す
るものである。
【0026】上記試験実行部13では、乱数により命令
列を生成し、ワークメモリ15に格納した後、被試験部
12に該命令列を送って試験を実行する。また、命令列
の入替えも、試験実行部13がワークメモリ15、ワー
クレジスタ16等を使用して行い、その後、被試験部1
2に送って試験を実行する。
【0027】そして、被試験部12での命令列の実行結
果は、上記試験実行部13が受け取り、比較処理を行
う。なお、上記試験実行部13は、図1の命令生成部
1、命令実行制御部2、命令列入替え処理部7等を合わ
せた機能に対応する。また、比較部14は、図1の実行
結果比較部3に対応する。
【0028】:被試験部12等の説明 被試験部12には、命令取り出し部17、命令デコード
部18を具備すると共に、パイプライン制御部19、命
令実行部20−1〜20−n、実行結果反映部21等で
構成されたパイプライン制御機構が設けてある。
【0029】また、この被試験部12には、パイプライ
ン制御を行うために、レジスタ及びメモリアクセス制御
部22が接続されると共に、該レジスタ及びメモリアク
セス制御部22には、レジスタ/ファイル23、メモリ
24が接続されている。
【0030】上記パイプライン制御機構において、例え
ば、命令実行部20−1は、固定少数点用の命令実行
部、命令実行部20−2は、浮動少数点用の命令実行
部、命令実行部20−nは、メモリのロード/ストア等
の命令の実行部である。
【0031】:試験方法の説明 試験を行う場合は、情報処理システムの被試験部12に
対して、試験部11が乱数により命令列を生成し、生成
した命令列を被試験部12に実行させて、その実行結果
(1回目の走行結果)を期待値とする。
【0032】その後、試験部11が実行結果が変化しな
い範囲で、上記命令列の入替え処理を行い、入れ替えた
命令列を再び被試験部12に実行させて、その実行結果
を比較部14が、上記期待値と比較する。
【0033】以下、上記試験部11による命令入替え処
理の実施例を説明する。なお、以下の実施例で説明する
レジスタ(r1〜r6)、ファイル(f1〜f6)、メ
モリ領域(AREA1、AREA2)は、図2のレジス
タ/ファイル23、及びメモリ24の一部である。ま
た、W1、C1は、ワークメモリ15の領域である。
【0034】(第1実施例の説明)図3、図4は、命令
入替え処理の第1実施例を示した図であり、図3は命令
列の説明図、図6は命令入れ替え処理フローチャートで
ある。
【0035】第1実施例では、レジスタ干渉を回避させ
ることにより、命令の入替えを行う例である。この試験
方法は、パイプラインが1個のCPU、及び、パイプラ
インが複数個存在するCPU(図2参照)に適用出来
る。
【0036】:命令の入れ替え論理の説明 この例では、或る命令のディストネーションレジスタ
が、後続命令のソースレジスタと干渉しない条件で命令
列を入れ替える。
【0037】例えば、固定少数点命令のディストネーシ
ョンレジスタが、後続命令のソースレジスタと干渉しな
い条件で命令列を入れ替える。 :命令列の説明・・・図3参照 上記試験を行う場合は、試験実行部13が、乱数により
命令列を生成し、生成した命令列を命令領域1に格納す
ると共に、上記命令入れ替え論理に従って、命令を入れ
替え、その結果の命令列を命令領域2に格納する。
【0038】図示のように、命令領域1の命令列は、
「DIV:ゼロ除算例外割り込み」、「ADD:r1+
r2→r3」、「SUB:r1−r2→r5」、「O
R:r3/r5→r4」、「XXX:特権命令例外割り
込み」・・・の順に並んでいる。
【0039】そして、上記命令領域1の命令の内、「A
DD」と、「SUB」を入替えて、命令領域2に格納す
る。なお、この2つの命令を入れ替えても、レジスタ干
渉がないので、結果に影響を与えない。
【0040】:命令入れ替え処理の説明・・・図4参
照 第1実施例の命令入替え処理フローチャートを図4に示
す。なお、S1〜S7は、処理番号を示す。
【0041】この処理では、図3の各命令列を対象とし
て処理を行うが、割り込みが発生した命令間の命令を対
象にして、命令列の入れ替え処理を行う。すなわち、図
3の例では、「DIV」と「XXX」との間の命令が入
替えの対象となる。
【0042】S1:ポインタ(アドレスポインタ)P1
に、入れ替え命令の先頭アドレスを設定する。 図3の例では、命令領域1に格納した命令列の内、「D
IV:ゼロ除算例外割り込み」命令が割り込み発生であ
るから、その次の命令は、「ADD:r1+r2→r
3」命令である。
【0043】従って、上記ポインタP1には、「AD
D」命令の先頭アドレスを設定する。 S2:ポインタ(アドレスポインタ)P2に、上記ポイ
ンタP1の次の命令の先頭アドレスを設定する。
【0044】この場合、1回目は、ポインタP2に「S
UB:r1−r2→r5」命令の先頭アドレスを設定す
る。 S3:ポインタP1の命令のディストネーションレジス
タが、ポインタP2の命令のソースレジスタと一致する
かどうかを判断する。
【0045】この場合、1回目は、ポインタP1の命令
のディストネーションレジスタが、r3であり、ポイン
タP2の命令のソースレジスタがr1、r2である。従
って、第1回目の判断では、両者は、一致しない。
【0046】S4:上記S3の処理で、両者が一致しな
かった場合は、ポインタP2の命令のディストネーショ
ンレジスタが、ポインタP1の命令のソースレジスタと
一致するかどうかを判断する。
【0047】この場合、1回目は、ポインタP2の命令
のディストネーションレジスタは、r5であり、ポイン
タP1の命令のソースレジスタはr1、r2である。従
って、第1回目の判断では、両者は、一致しない。
【0048】S5:上記S4の処理で、両者が一致しな
かった場合は、レジスタ間の干渉が無いため、ポインタ
P1の命令と、ポインタP2の命令を入れ替える。 S6:上記S3、S4の処理で、両者が一致した場合、
及び、S5の処理が終了した場合には、ポインタP1
に、ポインタP2の次の命令の先頭アドレスを設定す
る。
【0049】S7:続いて、命令入れ替えの範囲を越え
ていたら、処理を終了するが、越えていなければ、上記
S2の処理から繰り返して行う。この場合の入れ替え範
囲は、「ADD」から、「OR」までである。
【0050】なお、2回目から行うS2〜S6までの処
理では、次のようになる。すなわち、S3の処理では、
ポインタP1の命令のディストネーションレジスタが、
レジスタr5であり、ポインタP2の命令のソースレジ
スタがレジスタr3、r5である。
【0051】従って、2回目の判断では、両者は一致す
るから、命令の入れ替え対象とならない。以上の処理に
より、図3の例では、「ADD」と「SUB」命令を入
れ替えることになる。
【0052】(第2実施例の説明)図5、図6は、本発
明の第2実施例を示した図であり、図5は命令列の説明
図、図6は命令入れ替え処理フローチャートである。
【0053】第2実施例では、オペランドメモリ干渉を
回避させることにより、命令の入替えを行う例である。
この試験方法は、パイプラインが1個のCPU、及び、
パイプラインが複数個存在するCPU(図2参照)に適
用出来る。
【0054】:命令の入れ替え論理の説明 この例では、或る命令のディストネーションメモリ領域
が、後続命令のソースメモリ領域と干渉しない条件で命
令列を入れ替える。
【0055】例えば、メモリへの格納と、メモリからの
取り出しが干渉しない条件で、命令列を入れ替える。 :命令列の説明・・・図5参照 上記試験を行う場合は、試験実行部13が、乱数により
命令列を生成し、生成した命令列を命令領域1に格納す
ると共に、上記命令入れ替え論理に従って、命令を入れ
替え、その結果の命令列を命令領域2に格納する。
【0056】図示のように、命令領域1の命令列は、
「DIV:ゼロ除算例外割り込み」、「ST:r1→A
REA1」、「LD:AREA2→r4」、「SUB:
r1−r2→r5」、「XXX:特権命令例外割り込
み」・・・の順に並んでいる。
【0057】そして、上記命令領域1の命令の内、「S
T」と、「LD」の命令を入替えて、命令領域2に格納
する。なお、この2つの命令を入れ替えても、オペラン
ドメモリ干渉がないので、結果に影響を与えない。
【0058】:命令入れ替え処理の説明・・・図6参
照 第2実施例の処理フローチャートを図6に示す。なお、
S11〜S17は、処理番号を示す。
【0059】この処理では、図5の各命令列を対象とし
て処理を行うが、割り込みが発生した命令間の命令を対
象にして、命令の入れ替え処理を行う。すなわち、図5
の例では、「DIV」と「XXX」との間の命令が入替
えの対象となる。
【0060】S11:ポインタP1に、入れ替え命令の
先頭アドレスを設定する。図5の例では、命令領域1の
命令列の内、「DIV:ゼロ除算例外割り込み」命令が
割り込み発生であるから、その次の命令は、「ST:r
1→AREA1」である。
【0061】従って、上記ポインタP1には、「ST:
r1→AREA1」命令の先頭アドレスを設定する。 S12:ポインタP2に、上記ポインタP1の次の命令
の先頭アドレスを設定する。
【0062】この場合、1回目は、ポインタP2には、
「LD:AREA2→r4」命令の先頭アドレスを設定
する。 S13:ポインタP1の命令のディストネーションメモ
リが、ポインタP2の命令のソースメモリと一致するか
どうかを判断する。
【0063】この場合、1回目は、ポインタP1の命令
のディストネーションメモリが、AREA1であり、ポ
インタP2の命令のソースメモリがAREA2である。
従って、第1回目の判断では、両者は、一致しない。
【0064】S14:上記S13の処理で、両者が一致
しなかった場合は、ポインタP2の命令のディストネー
ションレジスタが、ポインタP1の命令のソースレジス
タと一致するかどうかを判断する。
【0065】この場合、1回目は、ポインタP2の命令
のディストネーションレジスタは、r4であり、ポイン
タP1の命令のソースレジスタはr1である。従って、
第1回目の判断では、両者は、一致しない。
【0066】S15:上記S14の処理で、両者が一致
しなかった場合は、レジスタ間の干渉が無いため、ポイ
ンタP1の命令と、ポインタP2の命令を入れ替える。 S16:上記S13、S14の処理で、両者が一致した
場合、及び、S15の処理が終了した場合には、ポイン
タP1に、ポインタP2の次の命令の先頭アドレスを設
定する。
【0067】S17:続いて、命令入れ替えの範囲を越
えていたら、処理を終了するが、越えていなければ、上
記S12の処理から繰り返して行う。この場合の入れ替
え範囲は、「ST」から、「SUB」までである。
【0068】なお、2回目から行うS12〜S16まで
の処理では、次のようになる。すなわち、S13の処理
では、両者供、レジスタなので、メモリの一致は無く、
S14の処理では、メモリとレジスタの比較なので、レ
ジスタの一致は無い。
【0069】従って、2回目の判断では、命令の入れ替
え対象は存在しない。以上の処理により、図5の例で
は、「ST」と「LD」命令を入れ替えることになる。
【0070】(第3実施例の説明)図7、図8は、本発
明の第3実施例を示した図であり、図7は命令列の説明
図、図8は命令入れ替え処理フローチャートである。
【0071】第3実施例では、命令タイプが異なる命令
を入れ替える例である。この試験方法は、スーパースカ
ラ制御等によるパイプラインが複数個存在するCPU
(図2参照)に適用出来る。
【0072】すなわち、他のパイプラインで実行される
命令を入れ替える方法である。この場合、命令のタイプ
とは、例えば、「固定少数点演算命令」、「浮動少数点
演算命令」等の命令の種類を意味する。
【0073】:命令の入れ替え論理の説明 この例では、命令の種類により、実行されるパイプライ
ンが、干渉しない条件で命令を入れ替える。例えば、後
続する固定少数点命令と、浮動少数点命令を入れ替え
る。
【0074】:命令列の説明・・・図7参照 上記試験を行う場合は、試験実行部13が、乱数により
命令列を生成し、生成した命令列を命令領域1に格納す
ると共に、上記命令入れ替え論理に従って、命令を入れ
替え、その結果の命令列を命令領域2に格納する。
【0075】図示のように、命令領域1の命令列は、
「DIV:ゼロ除算例外割り込み」、「ADD:r1+
r2→r3」、「FMUL:f1*f2→f5」、「O
R:r3/r5→r4」、「XXX:特権命令例外割り
込み」・・・の順に並んでいる。
【0076】上記命令領域1の命令の内、固定少数点命
令の「ADD」と、浮動少数点命令の「FMUL」の命
令を入替えて、命令領域2に格納する。 :命令入れ替え処理の説明・・・図8参照 第3実施例の処理フローチャートを図8に示す。なお、
S21〜S26は、処理番号を示す。
【0077】この処理では、図7の各命令列を対象とし
て処理を行うが、割り込みが発生した命令間の命令を対
象にして、命令の入れ替え処理を行う。すなわち、図7
の例では、「DIV」と「XXX」との間の命令が入替
えの対象となる。
【0078】S21:ポインタP1に、入れ替え命令の
先頭アドレスを設定する。 図7の例では、命令領域1の命令列の内、「DIV:ゼ
ロ除算例外割り込み」命令が割り込み発生であるから、
その次の命令は、「ADD:r1+r2→r3」であ
る。
【0079】従って、上記ポインタP1には、「AD
D:r1+r2→r3」命令の先頭アドレスを設定す
る。 S22:ポインタP2に、上記ポインタP1の次の命令
の先頭アドレスを設定する。
【0080】この場合、1回目は、ポインタP2には、
「FMUL:f1*f2→f5」の命令の先頭アドレス
を設定する。 S23:ポインタP1の命令のタイプが、ポインタP2
の命令のタイプと一致するかどうかを判断する。
【0081】この場合、1回目は、ポインタP1の命令
タイプは、固定少数点命令の「ADD」であり、ポイン
タP2の命令タイプは、浮動少数点命令の「FMUL」
である。従って、第1回目の判断では、両者のタイプは
一致しない。
【0082】S24:上記S23の処理で、両者が一致
しなかった場合は、ポインタP1の命令と、ポインタP
2の命令とを入れ替える。 S25:上記S23の処理で、両者が一致した場合、及
び、S24の処理が終了した場合には、ポインタP1
に、ポインタP2の次の命令の先頭アドレスを設定す
る。
【0083】S26:続いて、命令入れ替えの範囲を越
えていたら、処理を終了するが、越えていなければ、上
記S22の処理から繰り返して行う。この場合の入れ替
え範囲は、「ADD」から、「OR」までである。
【0084】以上の処理により、図7の例では、固定少
数点命令の「ADD」と浮動少数点命令の「FMUL」
命令を入れ替えることになる。 (第4実施例の説明)図9、図10、図11は、本発明
の第4実施例を示した図であり、図9は命令列の説明
図、図10、図11は命令入れ替え処理フローチャート
(その1、その2)である。
【0085】第4実施例は、同一命令タイプを集合させ
て命令を入れ替える例である。この試験方法は、スーパ
ースカラ制御等によるパイプラインが複数個存在するC
PU(図2参照)に適用出来る。
【0086】:命令の入れ替え論理の説明 この例では、命令の種類毎に、同一パイプラインで実行
される命令を集合させて入れ替える。例えば、後続する
固定少数点命令と、浮動少数点命令を集合させて入れ替
える。
【0087】すなわち、固定少数点命令と浮動少数点命
令が異なるパイプラインで実行されるCPUの場合、固
定少数点命令群と、浮動少数点命令群にそれぞれ集合
し、入れ替える。
【0088】:命令列の説明・・・図9参照 上記試験を行う場合は、試験実行部13が、乱数により
命令列を生成し、生成した命令列を命令領域1に格納す
ると共に、上記命令入れ替え論理に従って、命令を入れ
替え、その結果の命令列を命令領域2に格納する。
【0089】図示のように、命令領域1の命令列は、
「DIV:ゼロ除算例外割り込み」、「ADD:r1+
r2→r3」、「FMUL:f1*f2→f5」、「O
R:r3/r5→r4」、「SUB:r1−r2→r
3」、「FADD:f2*f3→f6」、「AND:r
1&r2→r6」、「XXX:特権命令例外割り込み」
・・・の順に並んでいる。
【0090】そして、上記命令領域1の命令列の内、固
定少数点命令の「ADD」、「OR」、「SUB」、
「AND」の命令群を集合させると共に、浮動少数点命
令の「FMUL」、「FADD」の命令群を集合させて
入れ替える。
【0091】:命令入れ替え処理の説明・・・図1
0、図11参照 第4実施例の処理フローチャートを図10、図11に示
す。なお、S31〜S41は、処理番号を示す。
【0092】この処理では、図9の命令領域1内の命令
列を対象として処理を行うが、割り込みが発生した命令
間の命令を対象にして、命令の入れ替え処理を行う。す
なわち、図9の例では、「DIV」と「XXX」との間
の命令が入替えの対象となる。
【0093】なお、以下の処理で使用するW1、C1
は、ワークメモリ15(図2参照)内の領域である。ま
た、f1〜f6はファイル(図2のレジスタ/ファイル
23内)の領域である。
【0094】S31:ポインタP1に、入れ替え命令の
先頭アドレスを設定する。また、W1に作業領域の先頭
アドレスを設定し、カウンタC1をゼロクリアする。図
9の例では、命令領域1に格納した命令列の内、「DI
V:ゼロ除算例外割り込み」命令が割り込み発生である
から、その次の命令は、「ADD」である。
【0095】従って、上記ポインタP1には、「AD
D」命令の先頭アドレスを設定する。 S32:W1の領域に、ポインタP1の命令を入れる。
また、W1の領域に、次の作業領域のアドレスを設定す
ると共に、C1の値をカウントアップ(+1)する。
【0096】S33:ポインタP2に、ポインタP1の
次の命令の先頭アドレスを設定する。 S34:ポインタP1の命令のタイプが、ポインタP2
の命令のタイプと一致するかどうかを判断する。
【0097】S35:上記S34の処理で、両者が一致
した場合には、W1の領域に、ポインタP2の命令を入
れる。また、W1に次の作業領域のアドレスを設定する
と共に、C1をカウントアップ(+1)する。更に、ポ
インタP2の命令に、処理済マークを付ける。
【0098】S36:上記S34の処理で、両者が一致
しなかった場合、及び、S35の処理が終了した場合に
は、ポインタP2に、ポインタP2の次の命令の先頭ア
ドレスを設定する(P2のアドレスを1つ増やす)。
【0099】S37:続いて、命令入れ替えの範囲を越
えていなければ、上記S34に戻って処理を行うが、命
令入れ替えの範囲を越えていた場合には、次の処理(S
38)を行う。
【0100】S38:ポインタP1に、ポインタP1の
次の命令の先頭アドレスを設定する。 S39:上記S38の処理を行って、命令入れ替えの範
囲を越えたかどうかを判断する。
【0101】S40:上記S39の処理で、命令入れ替
えの範囲を越えていない場合には、ポインタP1の命令
は、処理済マークかどうかを判断する。その結果、処理
済マークがつ付いていたら、上記S38に戻って処理を
行う。
【0102】しかし、処理済マークでなかった場合は、
上記S32に戻って処理を行う。 S41:上記S39の処理で、命令入れ替えの範囲を越
えていた場合には、上記作業領域の命令列を、命令入れ
替え領域に書き戻して処理を終了する。
【0103】以上の処理により、上記命令領域1の命令
列の内、固定少数点命令の「ADD」、「OR」、「S
UB」、「AND」の命令群を集合させると共に、浮動
少数点命令の「FMUL」、「FADD」の命令群を集
合させて入れ替える。
【0104】(他の実施例)以上実施例について説明し
たが、本発明は次のようにしても実施可能である。 :命令列は、上記実施例で示した命令列に限らず、各
種の命令列で実行可能である。
【0105】:パイプライン制御機構以外の先行制御
機構の検証にも、上記実施例と同様に適用可能である。
【0106】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 :命令列を入れ替えることにより、パイプライン動作
を変化させることが出来、検証精度を高める事が出来
る。
【0107】:特に、スーパースカラ制御による複数
パイプライン方式では、各パイプラインへの命令投入順
序が変化するので、パイプライン機構の動作条件を拡大
出来る。その結果、検証精度を高める事が出来る。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施例のシステム構成図である。
【図3】第1実施例の命令列の説明図である。
【図4】第1実施例の命令入替え処理フローチャートで
ある。
【図5】第2実施例の命令列の説明図である。
【図6】第2実施例の命令入替え処理フローチャートで
ある。
【図7】第3実施例の命令列の説明図である。
【図8】第3実施例の命令入替え処理フローチャートで
ある。
【図9】第4実施例の命令列の説明図である。
【図10】第4実施例の命令入替え処理フローチャート
(その1)である。
【図11】第4実施例の命令入替え処理フローチャート
(その2)である。
【図12】従来技術の説明図である。
【符号の説明】
1 命令生成部 2 命令実行制御部 3 実行結果比較部 5、6 実行結果領域(メモリ領域) 7 命令列入替え処理部 8、9 命令領域(メモリ領域)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 命令実行の先行制御機構を有する情報処
    理システムに対して、乱数により命令列を生成し、 生成した命令列を上記先行制御機構に実行させて、その
    実行結果(1回目の走行結果)を、期待値とする先行制
    御機構の試験方法において、 実行結果が変化しない範囲で、上記命令列を入替え、 入れ替えた命令列の実行結果を、上記期待値と比較する
    ことを特徴とした先行制御機構の試験方法。
  2. 【請求項2】 レジスタ干渉を回避させることにより、
    命令列の入替えを行うことを特徴とした請求項1記載の
    先行制御機構の試験方法。
  3. 【請求項3】 オペランドメモリ干渉を回避させること
    により、命令列の入替えを行うことを特徴とした請求項
    1記載の先行制御機構の試験方法。
  4. 【請求項4】 命令タイプが異なる命令を入れ替えるこ
    とにより、命令列の入替えを行うことを特徴とした請求
    項1記載の先行制御機構の試験方法。
  5. 【請求項5】 同一命令タイプを集合させることによ
    り、命令列の入替えを行うことを特徴とした請求項1記
    載の先行制御機構の試験方法。
JP33403892A 1992-12-15 1992-12-15 先行制御機構の試験方法 Expired - Fee Related JP3327601B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33403892A JP3327601B2 (ja) 1992-12-15 1992-12-15 先行制御機構の試験方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33403892A JP3327601B2 (ja) 1992-12-15 1992-12-15 先行制御機構の試験方法

Publications (2)

Publication Number Publication Date
JPH06187190A true JPH06187190A (ja) 1994-07-08
JP3327601B2 JP3327601B2 (ja) 2002-09-24

Family

ID=18272814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33403892A Expired - Fee Related JP3327601B2 (ja) 1992-12-15 1992-12-15 先行制御機構の試験方法

Country Status (1)

Country Link
JP (1) JP3327601B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012160071A (ja) * 2011-02-01 2012-08-23 Nec Computertechno Ltd コンピュータシステム、試験装置、試験方法、及び試験プログラム
JP2014106928A (ja) * 2012-11-29 2014-06-09 Fujitsu Ltd 試験方法、試験プログラム、および、試験制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012160071A (ja) * 2011-02-01 2012-08-23 Nec Computertechno Ltd コンピュータシステム、試験装置、試験方法、及び試験プログラム
JP2014106928A (ja) * 2012-11-29 2014-06-09 Fujitsu Ltd 試験方法、試験プログラム、および、試験制御装置

Also Published As

Publication number Publication date
JP3327601B2 (ja) 2002-09-24

Similar Documents

Publication Publication Date Title
US5742782A (en) Processing apparatus for executing a plurality of VLIW threads in parallel
US6981083B2 (en) Processor virtualization mechanism via an enhanced restoration of hard architected states
US7272664B2 (en) Cross partition sharing of state information
US7849298B2 (en) Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
US6330661B1 (en) Reducing inherited logical to physical register mapping information between tasks in multithread system using register group identifier
US6330662B1 (en) Apparatus including a fetch unit to include branch history information to increase performance of multi-cylce pipelined branch prediction structures
CN1204499C (zh) 在以正常模式执行指令期间执行硬件测试的处理器
KR100616722B1 (ko) 수퍼스칼라프로세서내의파이프라인명령디스패치유닛
US20070261033A1 (en) Method and apparatus for selectively marking and executing instrumentation code
KR20000062468A (ko) 다수의 예측 분기 명령을 통한 명령 페치의 정렬 명령캐시 제어
US8533394B2 (en) Controlling simulation of a microprocessor instruction fetch unit through manipulation of instruction addresses
CN115686633A (zh) 用于实现链式区块操作的系统和方法
US7143271B2 (en) Automatic register backup/restore system and method
KR101016257B1 (ko) 프로세서 및 정보 처리 장치
US7117319B2 (en) Managing processor architected state upon an interrupt
US20040111593A1 (en) Interrupt handler prediction method and system
CN113204448A (zh) 用于请求处理器核的历史重置的指令的设备、方法和系统
US6983347B2 (en) Dynamically managing saved processor soft states
JPH06187190A (ja) 先行制御機構の試験方法
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
US7039832B2 (en) Robust system reliability via systolic manufacturing level chip test operating real time on microprocessors/systems
US11263014B2 (en) Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry
US12124699B2 (en) Processing device for handling misaligned data
CN112579168B (zh) 指令执行单元、处理器以及信号处理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020625

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

Free format text: PAYMENT UNTIL: 20080712

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090712

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100712

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100712

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110712

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110712

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120712

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees