JPH064349A - パイプライン機構のテスト方式 - Google Patents

パイプライン機構のテスト方式

Info

Publication number
JPH064349A
JPH064349A JP4159636A JP15963692A JPH064349A JP H064349 A JPH064349 A JP H064349A JP 4159636 A JP4159636 A JP 4159636A JP 15963692 A JP15963692 A JP 15963692A JP H064349 A JPH064349 A JP H064349A
Authority
JP
Japan
Prior art keywords
instruction
test
program
pipeline mechanism
rewriting
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
JP4159636A
Other languages
English (en)
Inventor
Yuriko Meguro
百合子 目黒
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 JP4159636A priority Critical patent/JPH064349A/ja
Publication of JPH064349A publication Critical patent/JPH064349A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 命令を命令で書き換える操作がパイプライン
機構によって正しく実行されることを確認するテスト方
式に関し,テストプログラム開発の工数及び時間を減少
することができるパイプライン機構のテスト方式を提供
することを目的とする。 【構成】 パイプライン機構を有する計算機システムの
命令書き換え操作のテスト方式において,第1の命令は
実行することによってプログラム割込みを発生せず,第
2の命令は実行することによってプログラム割込みを発
生し,書き換え手段は第1の命令を第2の命令に書き換
え,判定手段は第1の命令及び第2の命令を含む命令列
を実行の結果,プログラム割込み発生の有無を判定し,
判定手段の判定に基づいて,命令書き換え操作が正しく
実行されたか否かをテストするように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,計算機のパイプライン
機構のテスト方式に関する。特に,命令を命令で書き換
える操作がパイプライン機構によって正しく実行される
ことを確認するテスト方式に関する。
【0002】近年,電子計算機の高速化を図るため,1
台の計算機内で同時に,複数の計算機命令を実行・処理
するパイプライン機構を備えた計算機が広く使用されて
いる。パイプライン機構は,複数命令を並行処理するた
め,制御が複雑となり,設計過誤を伴い易く,また,そ
の製造不良や部品故障による動作不良の検出が極めて難
しい。電子計算機のテストは一般に,稀にしか発生しな
いような条件やタイミング的に過酷な条件を与えてテス
トするのが効果的であり,パイプライン機構のテストの
一方法として,一つの命令を他の命令で書き換えること
によってパイプラインの動作を擾乱し,その状態におい
ても正常に動作することを確認する方法が効果的であ
る。従って,このような方法によって,パイプライン機
構の動作不良を的確に検出し,正常性を確認することが
できるパイプライン機構のテスト方式が望まれている。
【0003】
【従来の技術】図4は,パイプライン機構の従来例のテ
スト方法を示す図である。全図を通して,同一符号は同
一又は同様な構成要素を示す。
【0004】従来,パイプライン機構のテスト方法は次
のように行われた。 (1) テスト実行:テストプログラムの命令列の中に他の
命令を書き換える命令(以下,命令Aという)と,命令
Aによって書き換えられる命令(以下,命令Bという)
とを含むプログラムを実行し,命令Bによる実行結果を
メモリ領域へ退避して記憶しておく。
【0005】例えば,図4において,命令BをR1+
R2=R3(レジスタ1とレジスタ2の内容を加算して
レジスタ3へ格納する)とし,命令Aを命令Bが格納さ
れた記憶位置へR1−R2=R3をストアする命令とす
る。 (2) 期待値の作成:書き換えられる命令Bを予め,前記
(1) において書き換えられたと同じ状態に作成してお
く。こうして,命令Aを実行しないようにして,テスト
プログラムを実行する。
【0006】例えば,図4において,命令Bを予め,
命令Aによって書き換えられたと同じ状態,即ち,R1
−R2=R3に書き換えておく,即ち,前記(2) で正常
に動作した状態を擬似的に作成しておく。また,命令A
を無演算命令(No Operation:NOP)に,または,次の命
令を分岐する命令(Branch)に書き換えておく。こうし
て,テストプログラムを実行する。 (3) 前記(1) と(2) とのプログラムの実行結果を比較
し,R1−R2=R3の正しい結果が得られたか否かに
よって,命令Aが命令Bを正しく書き換えかを判定して
パイプライン機構の動作の正常性を検査する。
【0007】
【発明が解決しようとする課題】上記のように従来方法
によると,期待値を作成するためのプログラムを実行す
るので,テストプログラム実行に長い時間を要し,装置
の障害箇所を迅速に発見することができない,さらに,
テスト条件またはテスト環境が制限されるという問題点
があった。また,テストに期待値を作成するためのプロ
グラムを必要とするので,そのための工数を必要とし,
テストプログラム開発の費用及び期間が増大するという
問題点があった。
【0008】本発明は,種々の条件,環境におけるテス
トを正確,かつ,短時間に実行することによって,テス
トプログラム開発の工数及び時間を減少することができ
るパイプライン機構のテスト方式を提供することを目的
とする。
【0009】
【課題を解決するための手段】第1図は本発明の原理ブ
ロック図を示す。1は,実行することによってプログラ
ム割込みを発生しない第1の命令,2は,実行すること
によってプログラム割込みを発生する第2の命令,3
は,第1の命令1を第2の命令2に書き換える書き換え
手段,4は,第1の命令1及び第2の命令2を含む命令
列を実行の結果,プログラム割込み発生の有無を判定す
る判定手段,5は判定手段4の判定5は判定手段4の判
定に基づいて,命令の書き換え操作が正しく実行された
か否かを検査する検査手段である。
【0010】
【作用】本発明によれば,パイプライン機構を有する計
算機システムの命令の書き換え操作のテスト方式におい
て,書き換え手段3は,実行することによってプログラ
ム割込みを発生しない第1の命令1を,実行することに
よってプログラム割込みを発生する第2の命令2に書き
換え,判定手段4は第1の命令1及び第2の命令2を含
む命令列を実行の結果,プログラム割込み発生の有無を
判定し,検査手段5は,判定手段4の判定に基づいて,
命令の書き換え操作が正しく実行されたか否かを検査す
ることによって,パイプライン機構を有する計算機シス
テムの命令の書き換え操作をテストする。
【0011】
【実施例】本発明は,テストプログラム中で,書き換え
る命令を命令3aとし,書き換えられる命令bを予め,例
えば,未定義の不当命令コードを有する命令,演算結果
がオーバフローを発生するような演算命令等に設定し
て,プログラムを実行する。従って,実行の結果,命令
3aによって命令bが正しく書き換えられなかった場合に
はプログラム割込み(プログラムの誤り又は特定の状態
が発生したことによる割込み)が発生する。本発明は,
このことを利用して,命令bが正しく書き換えられたか
否かを確認することによってパイプライン機構の正常性
を検査する。
【0012】図2は,本発明の実施例によるパイプライ
ン機構のテスト方法を示す図である。全図を通して,同
一符号は同一又は同様な構成要素を示す。
【0013】本発明の実施例によるパイプライン機構の
テスト方法は次のように行わる。 (1) 命令列を作成する。図2に示すように,命令列中
に書き換える命令3a及び書き換えられる命令1bを配置し
ておく。命令1bは,例えば,被置換命令R1+R2=R
3であって,演算結果がオーバフローを発生してプログ
ラム割込みを起こすように設定された命令である。命令
3aは,例えば,被置換命令である命令1bを置換対象命令
2a(R1−R2=R3)に書き換えるストア命令であ
る。命令2a(R1−R2=R3)は,演算結果がオーバ
フローを発生せず,プログラム割込みを起こさないよう
に設定された命令である。 (2) テストプログラムを実行する。命令3aによって命令
1bが正しく書き換えられときは,命令2a(R1−R2=
R3)を実行することにより,オーバフローを示すプロ
グラム割込みは発生しない。命令1bが正しく書き換えら
れなかったときは,命令1b(R1+R2=R3)を実行
することにより,オーバフローを示すプログラム割込み
が発生する。従って,プログラム割込み発生の有無を確
認することにより,パイプライン機構の正常性を検査す
ることができる。
【0014】図3は,本発明の適用例のフローチャート
である。 (1) テストプログラムの実行結果が格納されるレジスタ
やメモリ領域をイニシャイズしてクリアする。 (2) テストプログラムを,例えば,磁気ディスクから所
定のメモリ領域へロードする。テストプログラム中に
は,書き換えられる命令1bとして,実行することによっ
てプログラム割込みを発生する命令:R1+R2=R3
が含まれる。 (3) テストデータを設定する。例えば,レジスタR1,
R2ヘ演算対象データを設定する。 (4) 書き換え命令を設定する。前記(2) でロードしたテ
ストプログラムに,書き換える命令3aとして,オペラン
ドとして命令2a(R1−R2=R3)を命令1bが格納さ
れた領域へストアする命令を挿入する。ここで,命令2a
(R1−R2=R3)は,実行することによってプログ
ラム割込みを発生しない命令である。 (5) 割込みが発生したことを, プログラムに対して通知
する割込みフラグを0に設定する。 (6) テストプログラムを実行する。 (7) テストプログラム実行の結果,割込みが発生しなか
った場合で,用意されたすべてのテストデータについて
テストを実行したときは検査を終了し,そうでない場合
はテストデータを変更してテストを繰り返す。 (8) テストプログラム実行の結果,割込みが発生した場
合,モニタプログラムによってプログラム割込み処理が
行われる。その出口に設けられた分岐命令によってエラ
ー処理ルーチンへ分岐する。 (9) エラー処理ルーチンでは,エラーが発生したテスト
番号,テスト環境,レジスタの内容等を含むエラー画面
を表示してテストを終了する。
【0015】以上説明したように,テストプログラムに
設けられた,プログラム割込みを発生する命令を,割込
みを発生しない命令に書き換える操作を実行し,又は逆
に割込みを発生しない命令を,割込みを発生する命令に
書き換える操作を実行するようにテストプログラムを作
成する。こうして,テストプログラム実行の結果,期待
したとおりにプログラム割込みが発生しない,又は発生
することを確認することによって,命令を命令で書き換
える操作をパイプライン機構が正しく実行することを検
証することができる。
【0016】以上の記述では,命令全体を書き換える例
を説明したが,命令コード,オペランドの指定など,命
令の一部を書き換える方法も可能であり,種々のテスト
条件,テスト環境における検査が可能となる。
【0017】また,本発明において,書き換える命令と
書き換えられる命令の命令列中における前後関係は,い
ずれが前に配置されてもよい。さらに,両命令が配置さ
れる距離は,一方がパイプラインで実行中に,他方がバ
ッファメモリ(又はキャッシュメモリ)内に存在するよ
うな距離,または,両命令共に,同時にパイプライン内
で処理ささるような距離に配置することによって,パイ
プライン機構のテストをより効果的に検証することがで
きる。
【0018】
【発明の効果】以上説明したように,本発明によると,
パイプライン内で一命令の全部,又は一部を,プログラ
ム割込みを発生する,又は発生しないような命令に書き
換えるような命令を実行し,プログラム割込みの有無が
期待どおりであることを確認することによって,パイプ
ライン機構の動作を検査する。従って,期待値の作成が
不要となるので,テストに要する時間を短縮することが
でき,また,テスト条件の制約がなく,さらに,テスト
条件の種々な組み合わせが可能なので,パイプライン機
構を広範囲で,きめ細かくテストすることができるとい
う効果がある。
【図面の簡単な説明】
【図1】 本発明の原理ブロック図
【図2】 本発明の実施例によるパイプライン機構のテ
スト方法を示す図
【図3】 本発明の適用例のフローチャート
【図4】 パイプライン機構の従来例のテスト方法を示
す図
【符号の説明】
1 第1の命令 2 第2の命令 3 書き換え手段 4 判定手段 5 検査手段 1a 書き換えられる命令 2a 置換対象命令 3a 書き換える命令

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 パイプライン機構を有する計算機システ
    ムの命令の書き換え操作のテスト方式において,実行す
    ることによってプログラム割込みを発生しない第1の命
    令(1) と,実行することによってプログラム割込みを発
    生する第2の命令(2) と,該第1の命令(1) を該第2の
    命令(2) に書き換える書き換え手段(3) と,該第1の命
    令(1) 及び該第2の命令(2) を含む命令列を実行の結
    果,プログラム割込み発生の有無を判定する判定手段
    (4) と,該判定手段(4) の判定に基づいて,命令の書き
    換え操作が正しく実行されたか否かを検査する検査手段
    (5) とを設けることを特徴とするパイプライン機構のテ
    スト方式。
  2. 【請求項2】 前記書き換え手段(3) は,前記第1の命
    令(1) が格納された記憶領域へ前記第2の命令(2) を格
    納する格納命令であることを特徴とするパイプライン機
    構のテスト方式。
JP4159636A 1992-06-18 1992-06-18 パイプライン機構のテスト方式 Withdrawn JPH064349A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4159636A JPH064349A (ja) 1992-06-18 1992-06-18 パイプライン機構のテスト方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4159636A JPH064349A (ja) 1992-06-18 1992-06-18 パイプライン機構のテスト方式

Publications (1)

Publication Number Publication Date
JPH064349A true JPH064349A (ja) 1994-01-14

Family

ID=15698048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4159636A Withdrawn JPH064349A (ja) 1992-06-18 1992-06-18 パイプライン機構のテスト方式

Country Status (1)

Country Link
JP (1) JPH064349A (ja)

Similar Documents

Publication Publication Date Title
US6925584B2 (en) Systems and methods for testing processors
US7483824B1 (en) Self-checking test generator for partially-modeled processors by propagating fuzzy states
US7178076B1 (en) Architecture of an efficient at-speed programmable memory built-in self test
US20040064656A1 (en) Shared memory multiprocessor memory model verification system and method
US6732297B2 (en) Pipeline testing method, pipeline testing system, pipeline test instruction generation method and storage method
CA1218748A (en) Method and apparatus for self-testing of floating point accelerator processors
US20030097613A1 (en) Software debugger, system-level debugger, debugging method, and debugging program
US20150261654A1 (en) Data collisions in concurrent programs
US11625316B2 (en) Checksum generation
JPS59114649A (ja) 処理装置の検査方法
JPWO2019077738A1 (ja) データ検証装置、データ検証方法及びデータ検証プログラム
US20040153785A1 (en) System and method for enabling selective execution of computer code
US8176406B2 (en) Hard error detection
US7885806B2 (en) Simulation method and simulation system of instruction scheduling
US6990569B2 (en) Handling problematic events in a data processing apparatus
JPH064349A (ja) パイプライン機構のテスト方式
US8417508B2 (en) Multiprocessor development environment
US10997060B2 (en) Device, system, and method for detecting a defect in a computer program by generating and testing semantically equivalent computer program variants
US6832181B1 (en) Method to distinguish between physical hardware and simulated hardware
US7353429B2 (en) System and method using hardware buffers for processing microcode trace data
JPH09244912A (ja) 情報処理装置プログラムの試験方式
JP3100458B2 (ja) カバレージ・テスタ
JPS63193235A (ja) 条件コ−ド検査方法
JPH08241225A (ja) 評価装置
JPH11242613A (ja) マイクロプロセッサ

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: 19990831