JPH06222939A - 複数パイプラインの試験方式 - Google Patents
複数パイプラインの試験方式Info
- Publication number
- JPH06222939A JPH06222939A JP5008644A JP864493A JPH06222939A JP H06222939 A JPH06222939 A JP H06222939A JP 5008644 A JP5008644 A JP 5008644A JP 864493 A JP864493 A JP 864493A JP H06222939 A JPH06222939 A JP H06222939A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- simultaneous
- pipelines
- execution
- time
- 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
Links
Landscapes
- Retry When Errors Occur (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】複数のパイプラインの正常動作を容易に確認で
きる複数パイプラインの試験方式を提供する。 【構成】複数の命令を各々実行するための複数のパイプ
ライン12を備えた電子計算機において、同時命令列作
成手段14は複数のパイプライン12に複数の命令を同
時に実行させるために同時命令列を作成し、逐次命令列
作成手段16は複数のパイプライン12に1つの命令ず
つ実行させるために同時命令列に基づき逐次命令列を作
成する。実行結果比較手段24は複数のパイプライン1
2による同時命令列の実行結果を複数のパイプライン1
2による逐次命令列の実行結果と比較するよう構成し
た。
きる複数パイプラインの試験方式を提供する。 【構成】複数の命令を各々実行するための複数のパイプ
ライン12を備えた電子計算機において、同時命令列作
成手段14は複数のパイプライン12に複数の命令を同
時に実行させるために同時命令列を作成し、逐次命令列
作成手段16は複数のパイプライン12に1つの命令ず
つ実行させるために同時命令列に基づき逐次命令列を作
成する。実行結果比較手段24は複数のパイプライン1
2による同時命令列の実行結果を複数のパイプライン1
2による逐次命令列の実行結果と比較するよう構成し
た。
Description
【0001】
【産業上の利用分野】本発明は、複数のパイプラインを
備えた電子計算機において、複数のパイプラインで複数
の命令を同時に実行したか否かを試験する複数パイプラ
インの試験方式に関する。
備えた電子計算機において、複数のパイプラインで複数
の命令を同時に実行したか否かを試験する複数パイプラ
インの試験方式に関する。
【0002】
【従来の技術】一般に、プロセッサの中では命令は逐次
実行されることを前提にプログラムが作成されている。
プロセッサ内では1つの命令を実行した後に、次の命令
を実行するように命令の実行を制御している。命令の実
行の流れは、例えば(1)命令の読み出し、(2)命令
の解読、(3)アドレス修飾、(4)アドレス変換、
(5)オペランド読み出し、(6)演算実行、(7)結
果の格納である。
実行されることを前提にプログラムが作成されている。
プロセッサ内では1つの命令を実行した後に、次の命令
を実行するように命令の実行を制御している。命令の実
行の流れは、例えば(1)命令の読み出し、(2)命令
の解読、(3)アドレス修飾、(4)アドレス変換、
(5)オペランド読み出し、(6)演算実行、(7)結
果の格納である。
【0003】この場合、プロセッサの処理速度を向上さ
せるために、前の命令の(7)が終了する前に次の命令
の(1)〜(5)などをオーバラップして行う先行制御
がある。この先行制御をさらに進めて、あたかもパイプ
ラインの中を水が流れているように一定の速度で命令の
実行が次々に行われていく制御をパイプライン制御とい
う。
せるために、前の命令の(7)が終了する前に次の命令
の(1)〜(5)などをオーバラップして行う先行制御
がある。この先行制御をさらに進めて、あたかもパイプ
ラインの中を水が流れているように一定の速度で命令の
実行が次々に行われていく制御をパイプライン制御とい
う。
【0004】このパイプライン制御は電子計算機によっ
て行われるが、この電子計算機は、複数のパイプライン
を有し、この複数のパイプラインで複数の命令を同時に
実行する。このように、複数の命令を複数のパイプライ
ンに同時に投入して実行すれば、処理の高速化を図るこ
とができる。
て行われるが、この電子計算機は、複数のパイプライン
を有し、この複数のパイプラインで複数の命令を同時に
実行する。このように、複数の命令を複数のパイプライ
ンに同時に投入して実行すれば、処理の高速化を図るこ
とができる。
【0005】
【発明が解決しようとする課題】しかしながら、従来で
は、複数のパイプラインで複数の命令が同時に実行され
たか否かの動作試験方式がなかったため、複数命令に対
する同時実行が正常か異常かを確認できなかった。
は、複数のパイプラインで複数の命令が同時に実行され
たか否かの動作試験方式がなかったため、複数命令に対
する同時実行が正常か異常かを確認できなかった。
【0006】本発明は、このような点に鑑みてなされた
もので、その目的とするところは、複数のパイプライン
において複数の命令の同時実行に対する動作試験を行
い、複数のパイプラインの正常動作を容易に確認できる
複数パイプラインの試験方式を提供することにある。
もので、その目的とするところは、複数のパイプライン
において複数の命令の同時実行に対する動作試験を行
い、複数のパイプラインの正常動作を容易に確認できる
複数パイプラインの試験方式を提供することにある。
【0007】
【課題を解決するための手段】本発明は、上記課題を解
決し目的を達成するために下記の構成とした。図1は本
発明の原理図である。図1に示すように複数の命令を各
々実行するための複数のパイプライン12を備えた電子
計算機において、同時命令列作成手段14は、前記複数
のパイプライン12に複数の命令を同時に実行させるた
めに同時命令列を作成する。
決し目的を達成するために下記の構成とした。図1は本
発明の原理図である。図1に示すように複数の命令を各
々実行するための複数のパイプライン12を備えた電子
計算機において、同時命令列作成手段14は、前記複数
のパイプライン12に複数の命令を同時に実行させるた
めに同時命令列を作成する。
【0008】逐次命令列作成手段16は、複数のパイプ
ライン12に1つの命令ずつ実行させるために前記同時
命令列作成手段14で作成した同時命令列に基づき逐次
命令列を作成する。
ライン12に1つの命令ずつ実行させるために前記同時
命令列作成手段14で作成した同時命令列に基づき逐次
命令列を作成する。
【0009】実行結果比較手段24は、複数のパイプラ
イン12による同時命令列の実行結果を複数のパイプラ
イン12による逐次命令列の実行結果と比較する。ここ
で、同時命令列作成手段14、逐次命令列作成手段1
6、実行結果比較手段24は、中央処理装置(CPU)
やマイクロプロセッサである。同時命令列作成手段1
4、逐次命令列作成手段16の内容は、CPUなどによ
りテーブル化されてメモリに格納される。
イン12による同時命令列の実行結果を複数のパイプラ
イン12による逐次命令列の実行結果と比較する。ここ
で、同時命令列作成手段14、逐次命令列作成手段1
6、実行結果比較手段24は、中央処理装置(CPU)
やマイクロプロセッサである。同時命令列作成手段1
4、逐次命令列作成手段16の内容は、CPUなどによ
りテーブル化されてメモリに格納される。
【0010】さらに、計時手段18、実行時間計算手段
22を有するようにする。計時手段18は、前記同時命
令列及び逐次命令列の実行開始時間並びに同時命令列及
び逐次命令列の実行終了時間を計測する。
22を有するようにする。計時手段18は、前記同時命
令列及び逐次命令列の実行開始時間並びに同時命令列及
び逐次命令列の実行終了時間を計測する。
【0011】実行時間計算手段22は、この計時手段1
8で計測された同時命令列及び逐次命令列の実行開始時
間並びに同時命令列及び逐次命令列の実行終了時間に基
づき同時実行時間並びに逐次実行時間を計算する。
8で計測された同時命令列及び逐次命令列の実行開始時
間並びに同時命令列及び逐次命令列の実行終了時間に基
づき同時実行時間並びに逐次実行時間を計算する。
【0012】計時手段18は、例えばタイマー、カウン
タなどであり、実行時間計算手段22は例えばCPUや
マイクロプロセッサ内の演算回路であってもよい。前記
実行結果比較手段24は、実行時間計算手段22で計算
された同時実行時間と逐次実行時間とを比較するように
する。
タなどであり、実行時間計算手段22は例えばCPUや
マイクロプロセッサ内の演算回路であってもよい。前記
実行結果比較手段24は、実行時間計算手段22で計算
された同時実行時間と逐次実行時間とを比較するように
する。
【0013】前記実行結果比較手段24による比較の結
果、同時実行時間が逐次実行時間よりも短い場合には、
複数のパイプライン12が正常であると判定し、同時実
行時間が逐次実行時間よりも長い又は等しい場合には、
複数のパイプライン12が異常であると判定する試験結
果判定部26を有するようにする。
果、同時実行時間が逐次実行時間よりも短い場合には、
複数のパイプライン12が正常であると判定し、同時実
行時間が逐次実行時間よりも長い又は等しい場合には、
複数のパイプライン12が異常であると判定する試験結
果判定部26を有するようにする。
【0014】前記逐次命令列は、同時命令列を並び換え
ることにより作成されるようにしてもよい。
ることにより作成されるようにしてもよい。
【0015】
【作用】本発明によれば、同時命令列作成手段14が、
複数のパイプライン12に複数の命令を同時に実行させ
るために同時命令列を作成し、逐次命令列作成手段16
が、複数のパイプライン12に1つの命令ずつ実行させ
るために同時命令列に基づき逐次命令列を作成する。
複数のパイプライン12に複数の命令を同時に実行させ
るために同時命令列を作成し、逐次命令列作成手段16
が、複数のパイプライン12に1つの命令ずつ実行させ
るために同時命令列に基づき逐次命令列を作成する。
【0016】そして、実行結果比較手段24が、複数の
パイプライン12による同時命令列の実行結果を複数の
パイプライン12による逐次命令列の実行結果と比較す
るので、その比較結果によって複数パイプラインの動作
が正常か異常かを簡単に確認できる。
パイプライン12による同時命令列の実行結果を複数の
パイプライン12による逐次命令列の実行結果と比較す
るので、その比較結果によって複数パイプラインの動作
が正常か異常かを簡単に確認できる。
【0017】また、実行時間比較手段24によって同時
実行時間と逐次実行時間とを比較し、試験結果判定部2
6によって同時実行時間が逐次実行時間よりも短いと判
定された場合には、複数の命令が同時に実行されかつパ
イプライン12の動作が正常であることを容易に確認す
ることができる。また、同時実行時間が逐次実行時間よ
りも長い又は等しい場合には、複数のパイプライン12
が異常であると判定することができる。
実行時間と逐次実行時間とを比較し、試験結果判定部2
6によって同時実行時間が逐次実行時間よりも短いと判
定された場合には、複数の命令が同時に実行されかつパ
イプライン12の動作が正常であることを容易に確認す
ることができる。また、同時実行時間が逐次実行時間よ
りも長い又は等しい場合には、複数のパイプライン12
が異常であると判定することができる。
【0018】
【実施例】以下、本発明にかかる複数パイプラインの試
験方式の具体的な実施例を説明する。図2は実施例を示
す構成ブロック図である。 <実施例の構成>複数のパイプラインの試験方式を実現
するための装置は、電子計算機内に設けられている。
験方式の具体的な実施例を説明する。図2は実施例を示
す構成ブロック図である。 <実施例の構成>複数のパイプラインの試験方式を実現
するための装置は、電子計算機内に設けられている。
【0019】複数パイプライン12は、例えば、ロード
/ストア命令用パイプライン12a、四則演算用パイプ
ライン12b、分岐用パイプライン12cからなる。同
時命令列作成部14は、複数のパイプライン12に接続
され、複数のパイプライン12に複数の命令を同時に実
行させるために同時命令列を作成する。
/ストア命令用パイプライン12a、四則演算用パイプ
ライン12b、分岐用パイプライン12cからなる。同
時命令列作成部14は、複数のパイプライン12に接続
され、複数のパイプライン12に複数の命令を同時に実
行させるために同時命令列を作成する。
【0020】図3は同時命令列作成部14の構成ブロッ
ク図である。図3に示す例では、パイプライン12aが
ロード/ストア命令、パイプライン12bが演算命令、
パイプライン12cが分岐命令を同時に実行するために
図に示すようにロード/ストア命令、演算命令、
分岐命令、ロード/ストア命令、演算命令、分岐
命令、ロード/ストア命令、演算命令、分岐命令
までの同時命令列M1を作成する。
ク図である。図3に示す例では、パイプライン12aが
ロード/ストア命令、パイプライン12bが演算命令、
パイプライン12cが分岐命令を同時に実行するために
図に示すようにロード/ストア命令、演算命令、
分岐命令、ロード/ストア命令、演算命令、分岐
命令、ロード/ストア命令、演算命令、分岐命令
までの同時命令列M1を作成する。
【0021】逐次命令列作成部16は、同時命令列作成
部14及び複数のパイプライン12に接続され、複数の
パイプライン12に1つの命令ずつ実行させるために前
記同時命令列作成部14で作成した同時命令列に基づき
逐次命令列を作成する。
部14及び複数のパイプライン12に接続され、複数の
パイプライン12に1つの命令ずつ実行させるために前
記同時命令列作成部14で作成した同時命令列に基づき
逐次命令列を作成する。
【0022】すなわち、図3に示す実行命令列作成部1
4においては、複数のパイプライン12に複数の命令が
同時に投入されて実行されたか否かを判断することがで
きない。
4においては、複数のパイプライン12に複数の命令が
同時に投入されて実行されたか否かを判断することがで
きない。
【0023】そこで、逐次命令列作成部16は、その判
断基準として、複数のパイプライン12に複数の命令が
投入されない順番で逐次命令列M2を作成する。図4は
逐次命令列作成部を示す構成ブロック図である。図4に
おいて、逐次命令列作成部16は、例えば、ロード/
ストア命令、ロード/ストア命令、ロード/ストア
命令を作成し、3つのパイプラインの内、ロード/スト
ア用パイプライン12aのみがロード/ストア命令の
みを実行できるようにしている。
断基準として、複数のパイプライン12に複数の命令が
投入されない順番で逐次命令列M2を作成する。図4は
逐次命令列作成部を示す構成ブロック図である。図4に
おいて、逐次命令列作成部16は、例えば、ロード/
ストア命令、ロード/ストア命令、ロード/ストア
命令を作成し、3つのパイプラインの内、ロード/スト
ア用パイプライン12aのみがロード/ストア命令の
みを実行できるようにしている。
【0024】すなわち、ロード/ストア命令は四則演
算用パイプライン12bに投入できず、ロード/スト
ア命令は分岐用パイプライン12cに投入できないから
である。
算用パイプライン12bに投入できず、ロード/スト
ア命令は分岐用パイプライン12cに投入できないから
である。
【0025】タイマー18は、複数のパイプライン12
に接続され、同時命令列作成部14で作成された同時命
令列M1又は逐次命令列作成部16で作成された逐次命
令列M2が複数のパイプライン12で実行された場合
に、同時命令列M1の実行開始時間(TODアクセス時
間c1)と実行終了時間(TODアクセス時間c2)を
計測するとともに、逐次命令列M2の実行開始時間(T
ODアクセス時間c3)と実行終了時間(TODアクセ
ス時間c4)を計測する。
に接続され、同時命令列作成部14で作成された同時命
令列M1又は逐次命令列作成部16で作成された逐次命
令列M2が複数のパイプライン12で実行された場合
に、同時命令列M1の実行開始時間(TODアクセス時
間c1)と実行終了時間(TODアクセス時間c2)を
計測するとともに、逐次命令列M2の実行開始時間(T
ODアクセス時間c3)と実行終了時間(TODアクセ
ス時間c4)を計測する。
【0026】レジスタ20は、タイマー18に接続さ
れ、タイマー18によって計測された同時命令列M1の
TODアクセス時間c1とTODアクセス時間c2の情
報と、逐次命令列M2のTODアクセス時間c3とTO
Dアクセス時間c4の情報とを格納する。
れ、タイマー18によって計測された同時命令列M1の
TODアクセス時間c1とTODアクセス時間c2の情
報と、逐次命令列M2のTODアクセス時間c3とTO
Dアクセス時間c4の情報とを格納する。
【0027】実行時間計算部22は、例えば中央処理装
置(CPU)などからなり、レジスタ20に格納された
同時命令列M1のTODアクセス時間C1とTODアク
セス時間C2との差を算出することにより同時実行時間
T1を得ると共に、逐次命令列M2のTODアクセス時
間C3とTODアクセス時間C4との差を算出すること
により逐次実行時間T2を得る。
置(CPU)などからなり、レジスタ20に格納された
同時命令列M1のTODアクセス時間C1とTODアク
セス時間C2との差を算出することにより同時実行時間
T1を得ると共に、逐次命令列M2のTODアクセス時
間C3とTODアクセス時間C4との差を算出すること
により逐次実行時間T2を得る。
【0028】図5に複数命令を同時に実行したときの実
行時間を示す。図6に複数命令を逐次実行した時の実行
時間を示す。実行時間比較部24は、実行時間計算部2
2に接続され、同時命令列M1による同時実行時間T1
と逐次命令列M2による逐次実行時間T2との時間の大
小を比較する。
行時間を示す。図6に複数命令を逐次実行した時の実行
時間を示す。実行時間比較部24は、実行時間計算部2
2に接続され、同時命令列M1による同時実行時間T1
と逐次命令列M2による逐次実行時間T2との時間の大
小を比較する。
【0029】試験結果判定部26は、実行時間比較部2
4の比較の結果、同時実行時間T1が逐次実行時間T2
よりも短い場合には、ロード/ストア命令用パイプライ
ン12a,四則演算用パイプライン12b,分岐用パイ
プライン12cが正常である判定し、同時実行時間T1
が逐次実行時間T2よりも長い又は等しい場合には、ロ
ード/ストア命令用パイプライン12a,四則演算用パ
イプライン12b,分岐用パイプライン12cが異常と
判定する。
4の比較の結果、同時実行時間T1が逐次実行時間T2
よりも短い場合には、ロード/ストア命令用パイプライ
ン12a,四則演算用パイプライン12b,分岐用パイ
プライン12cが正常である判定し、同時実行時間T1
が逐次実行時間T2よりも長い又は等しい場合には、ロ
ード/ストア命令用パイプライン12a,四則演算用パ
イプライン12b,分岐用パイプライン12cが異常と
判定する。
【0030】このような実施例による構成によって、ロ
ード/ストア命令用パイプライン12a,四則演算用パ
イプライン12b,分岐用パイプライン12cによって
例えばロード/ストア命令、演算命令、分岐命令が同時
に実行されるか否かを試験する。 <実施例の処理>図7は実施例の処理フローを示す図で
ある。次に、このように構成された実施例の処理を図面
を参照して説明する。なお、ここでは、複数命令の同時
実行の命令パターンをロードストア/演算/分岐とす
る。
ード/ストア命令用パイプライン12a,四則演算用パ
イプライン12b,分岐用パイプライン12cによって
例えばロード/ストア命令、演算命令、分岐命令が同時
に実行されるか否かを試験する。 <実施例の処理>図7は実施例の処理フローを示す図で
ある。次に、このように構成された実施例の処理を図面
を参照して説明する。なお、ここでは、複数命令の同時
実行の命令パターンをロードストア/演算/分岐とす
る。
【0031】まず、結果が格納されているレジスタある
いはメモリに対してイニシャライズ処理を行い、テスト
命令によって使用すべき試験データを設定する(ステッ
プ101)。すなわち、同時命令列作成部14によって
図3に示すような同時命令列M1として、ロード/ス
トア命令、演算命令、分岐命令、ロード/ストア
命令、演算命令、分岐命令、ロード/ストア命
令、演算命令、分岐命令を作成する。
いはメモリに対してイニシャライズ処理を行い、テスト
命令によって使用すべき試験データを設定する(ステッ
プ101)。すなわち、同時命令列作成部14によって
図3に示すような同時命令列M1として、ロード/ス
トア命令、演算命令、分岐命令、ロード/ストア
命令、演算命令、分岐命令、ロード/ストア命
令、演算命令、分岐命令を作成する。
【0032】次に、同時命令列作成部14によって作成
された同時命令列M1を複数のパイプライン12a,1
2b,12cに投入し、テスト命令列M1’を実行する
(ステップ102)。
された同時命令列M1を複数のパイプライン12a,1
2b,12cに投入し、テスト命令列M1’を実行する
(ステップ102)。
【0033】テスト命令列M1’は、例えば、図8
(a)に示すように、TODアクセス時間C1、ロー
ド/ストア命令、演算命令、分岐命令、ロード/
ストア命令、演算命令、分岐命令、ロード/スト
ア命令、演算命令、分岐命令、TODアクセス時間
C2である。
(a)に示すように、TODアクセス時間C1、ロー
ド/ストア命令、演算命令、分岐命令、ロード/
ストア命令、演算命令、分岐命令、ロード/スト
ア命令、演算命令、分岐命令、TODアクセス時間
C2である。
【0034】ここでは、図5に示すように、ロード/ス
トア命令用パイプライン12a、四則演算用パイプライ
ン12b、分岐用パイプライン12cは、最初にロー
ド/ストア命令、演算命令、分岐命令を同時に実行
し、次にロード/ストア命令、演算命令、分岐命
令を同時に実行し、最後にロード/ストア命令、演
算命令、分岐命令を同時に実行する。
トア命令用パイプライン12a、四則演算用パイプライ
ン12b、分岐用パイプライン12cは、最初にロー
ド/ストア命令、演算命令、分岐命令を同時に実行
し、次にロード/ストア命令、演算命令、分岐命
令を同時に実行し、最後にロード/ストア命令、演
算命令、分岐命令を同時に実行する。
【0035】なお、このとき、タイマー18によってT
ODアクセス時間C1とTODアクセス時間C2とが計
測される。次に、ロード/ストア命令用パイプライン1
2a,四則演算用パイプライン12b,分岐用パイプラ
イン12cによる実行結果をレジスタ20に退避する。
そして、レジスタ20に格納されたタイマー18のTO
Dアクセス時間C1とTODアクセス時間C2と基づき
実行時間計算部22が同時実行時間を計算する(ステッ
プ103)。
ODアクセス時間C1とTODアクセス時間C2とが計
測される。次に、ロード/ストア命令用パイプライン1
2a,四則演算用パイプライン12b,分岐用パイプラ
イン12cによる実行結果をレジスタ20に退避する。
そして、レジスタ20に格納されたタイマー18のTO
Dアクセス時間C1とTODアクセス時間C2と基づき
実行時間計算部22が同時実行時間を計算する(ステッ
プ103)。
【0036】ここでは、TODアクセス時間C2からT
ODアクセス時間C1を引いた差、すなわち、同時実行
時間T1を計算する(図5に示す。)。例えばロード/
ストア命令用パイプライン12a,四則演算用パイプラ
イン12b,分岐用パイプライン12c毎に1秒だけ実
行時間がかかるとすると、同時実行時間T1は3秒とな
る。
ODアクセス時間C1を引いた差、すなわち、同時実行
時間T1を計算する(図5に示す。)。例えばロード/
ストア命令用パイプライン12a,四則演算用パイプラ
イン12b,分岐用パイプライン12c毎に1秒だけ実
行時間がかかるとすると、同時実行時間T1は3秒とな
る。
【0037】次に、結果が格納されているレジスタある
いはメモリに対してイニシャライズ処理を行い、テスト
命令によって使用すべき試験データを設定する(ステッ
プ104)。すなわち、逐次命令列作成部16によって
図4に示すような逐次命令列M2として、ロード/ス
トア命令、ロード/ストア命令、ロード/ストア命
令、演算命令、演算命令、演算命令、分岐命
令、分岐命令、分岐命令を作成する。
いはメモリに対してイニシャライズ処理を行い、テスト
命令によって使用すべき試験データを設定する(ステッ
プ104)。すなわち、逐次命令列作成部16によって
図4に示すような逐次命令列M2として、ロード/ス
トア命令、ロード/ストア命令、ロード/ストア命
令、演算命令、演算命令、演算命令、分岐命
令、分岐命令、分岐命令を作成する。
【0038】次に、逐次命令列作成部16によって作成
された逐次命令列M2をロード/ストア命令用パイプラ
イン12a,四則演算用パイプライン12b,分岐用パ
イプライン12cに投入し、テスト命令列M2’を実行
する(ステップ105)。
された逐次命令列M2をロード/ストア命令用パイプラ
イン12a,四則演算用パイプライン12b,分岐用パ
イプライン12cに投入し、テスト命令列M2’を実行
する(ステップ105)。
【0039】テスト命令列M2’は、例えば、図8
(b)に示すように、TODアクセス時間C3、ロー
ド/ストア命令、ロード/ストア命令、ロード/ス
トア命令、演算命令、演算命令、演算命令、分
岐命令、分岐命令、分岐命令、TODアクセス時間
C4である。
(b)に示すように、TODアクセス時間C3、ロー
ド/ストア命令、ロード/ストア命令、ロード/ス
トア命令、演算命令、演算命令、演算命令、分
岐命令、分岐命令、分岐命令、TODアクセス時間
C4である。
【0040】ここでは、図6に示すように、ロード/ス
トア命令用パイプライン12aが最初にロード/スト
ア命令を実行し、次にロード/ストア命令を実行し、
その次にロード/ストア命令を実行する。
トア命令用パイプライン12aが最初にロード/スト
ア命令を実行し、次にロード/ストア命令を実行し、
その次にロード/ストア命令を実行する。
【0041】次に、図6に図示していないが、四則演算
用パイプライン12bが最初に演算命令を実行し、次
に演算命令を実行し、その次に演算命令を実行す
る。さらに、分岐用パイプライン12cが最初に分岐
命令を実行し、次に分岐命令を実行し、その次に分
岐命令を実行する。
用パイプライン12bが最初に演算命令を実行し、次
に演算命令を実行し、その次に演算命令を実行す
る。さらに、分岐用パイプライン12cが最初に分岐
命令を実行し、次に分岐命令を実行し、その次に分
岐命令を実行する。
【0042】なお、このとき、タイマー18によってT
ODアクセス時間C3とTODアクセス時間C4とが計
測される。次に、ロード/ストア命令用パイプライン1
2a,四則演算用パイプライン12b,分岐用パイプラ
イン12cによる実行結果をレジスタ20に退避し、レ
ジスタ20に格納されたタイマー18のTODアクセス
時間C3とTODアクセス時間C4と基づき実行時間計
算部22が逐次実行時間を計算する(ステップ10
6)。ここでは、TODアクセス時間C4からTODア
クセス時間C3を引いた差、すなわち、逐次実行時間T
2を計算する(図6に示す。)。
ODアクセス時間C3とTODアクセス時間C4とが計
測される。次に、ロード/ストア命令用パイプライン1
2a,四則演算用パイプライン12b,分岐用パイプラ
イン12cによる実行結果をレジスタ20に退避し、レ
ジスタ20に格納されたタイマー18のTODアクセス
時間C3とTODアクセス時間C4と基づき実行時間計
算部22が逐次実行時間を計算する(ステップ10
6)。ここでは、TODアクセス時間C4からTODア
クセス時間C3を引いた差、すなわち、逐次実行時間T
2を計算する(図6に示す。)。
【0043】例えば、ロード/ストア命令用パイプライ
ン12aは、ロード/ストア命令毎に1秒かかるとする
と、3つのロード/ストア命令で3秒の時間を要する。
四則演算用パイプライン12bは、演算命令毎に1秒か
かるとすると、3つの演算命令で3秒の時間を要する。
分岐用パイプライン12cは、分岐命令毎に1秒かかる
とすると、3つの分岐命令で3秒の時間を要する。従っ
て、逐次実行時間T2は合計で例えば9秒となる。
ン12aは、ロード/ストア命令毎に1秒かかるとする
と、3つのロード/ストア命令で3秒の時間を要する。
四則演算用パイプライン12bは、演算命令毎に1秒か
かるとすると、3つの演算命令で3秒の時間を要する。
分岐用パイプライン12cは、分岐命令毎に1秒かかる
とすると、3つの分岐命令で3秒の時間を要する。従っ
て、逐次実行時間T2は合計で例えば9秒となる。
【0044】次に、実行時間比較部24が、テスト命令
列M1’の同時実行時間T1とテスト命令列M2’の逐
次実行時間T2とを比較し、これらの実行結果の値が正
常であるか否かを判定する(ステップ107)。
列M1’の同時実行時間T1とテスト命令列M2’の逐
次実行時間T2とを比較し、これらの実行結果の値が正
常であるか否かを判定する(ステップ107)。
【0045】ここで、実行結果の値が正常でない場合に
は、エラー処理を行い(ステップ112)、試験処理を
終了する(ステップ111)。一方、実行結果の値が正
常である場合には、試験結果判定部26は、同時実行時
間T1が逐次実行時間T2よりも短いか否かを判定する
ことになる(ステップ108)。
は、エラー処理を行い(ステップ112)、試験処理を
終了する(ステップ111)。一方、実行結果の値が正
常である場合には、試験結果判定部26は、同時実行時
間T1が逐次実行時間T2よりも短いか否かを判定する
ことになる(ステップ108)。
【0046】ここで、試験結果判定部26が、同時実行
時間T1を逐次実行時間T2よりも長い又は等しいと判
定した場合には、ステップ112に進み、エラー処理を
行うことにより処理を終了することになる(ステップ1
11)。
時間T1を逐次実行時間T2よりも長い又は等しいと判
定した場合には、ステップ112に進み、エラー処理を
行うことにより処理を終了することになる(ステップ1
11)。
【0047】また、試験結果判定部26が、同時実行時
間T1を逐次実行時間T2よりも短いと判定した場合に
は、ロード/ストア命令用パイプライン12a,四則演
算用パイプライン12b,分岐用パイプライン12cが
ロード/ストア命令、演算命令、分岐命令を同時に実行
していると判定する。
間T1を逐次実行時間T2よりも短いと判定した場合に
は、ロード/ストア命令用パイプライン12a,四則演
算用パイプライン12b,分岐用パイプライン12cが
ロード/ストア命令、演算命令、分岐命令を同時に実行
していると判定する。
【0048】従って、これらの命令についてロード/ス
トア命令用パイプライン12a,四則演算用パイプライ
ン12b,分岐用パイプライン12cの動作が正常であ
ることを確認できる。例えば、前述ように同時実行時間
T1が3秒であって、逐次実行時間T2が9秒である場
合には、ロード/ストア命令用パイプライン12a,四
則演算用パイプライン12b,分岐用パイプライン12
cがの動作が正常であることを確認できる。
トア命令用パイプライン12a,四則演算用パイプライ
ン12b,分岐用パイプライン12cの動作が正常であ
ることを確認できる。例えば、前述ように同時実行時間
T1が3秒であって、逐次実行時間T2が9秒である場
合には、ロード/ストア命令用パイプライン12a,四
則演算用パイプライン12b,分岐用パイプライン12
cがの動作が正常であることを確認できる。
【0049】次に、前記命令以外の別の複数の命令をロ
ード/ストア命令用パイプライン12a,四則演算用パ
イプライン12b,分岐用パイプライン12cで実行す
べくテストデータを変更する(ステップ109)。そし
て、テストデータが終了したか否かを判定する(ステッ
プ110)。
ード/ストア命令用パイプライン12a,四則演算用パ
イプライン12b,分岐用パイプライン12cで実行す
べくテストデータを変更する(ステップ109)。そし
て、テストデータが終了したか否かを判定する(ステッ
プ110)。
【0050】ここで、テストデータが終了していない場
合には、ステップ101に戻り、ステップ101以降の
処理を繰り返し行うことになる。テストデータが終了し
た場合には、処理を終了する(ステップ111)。
合には、ステップ101に戻り、ステップ101以降の
処理を繰り返し行うことになる。テストデータが終了し
た場合には、処理を終了する(ステップ111)。
【0051】なお、ステップ102又はステップ105
において、割り込みが発生した場合には、プログラム割
り込みを発生させて(ステップ113,114)、エラ
ー処理実行ルーチン、すなわち、ステップ112に進
み、エラー処理を行うことになる。
において、割り込みが発生した場合には、プログラム割
り込みを発生させて(ステップ113,114)、エラ
ー処理実行ルーチン、すなわち、ステップ112に進
み、エラー処理を行うことになる。
【0052】このように本実施例によれば、逐次命令列
作成部16によって、複数のパイプライン12が1つの
命令ずつ実行するために同時命令列M1を並び換えるこ
とにより逐次命令列M2を作成する。
作成部16によって、複数のパイプライン12が1つの
命令ずつ実行するために同時命令列M1を並び換えるこ
とにより逐次命令列M2を作成する。
【0053】そして、複数のパイプライン12で同時命
令列M1を実行して同時実行時間T1を算出する。ま
た、複数のパイプライン12で逐次命令列M2を実行し
て逐次実行時間T2を算出する。
令列M1を実行して同時実行時間T1を算出する。ま
た、複数のパイプライン12で逐次命令列M2を実行し
て逐次実行時間T2を算出する。
【0054】さらに、実行時間比較部24によって同時
実行時間T1と逐次実行時間T2とを比較し、試験結果
判定部26によって同時実行時間が逐次実行時間よりも
短いと判定された場合には、複数の命令が同時に実行さ
れかつパイプライン12の動作が正常であることを容易
に確認することができる。
実行時間T1と逐次実行時間T2とを比較し、試験結果
判定部26によって同時実行時間が逐次実行時間よりも
短いと判定された場合には、複数の命令が同時に実行さ
れかつパイプライン12の動作が正常であることを容易
に確認することができる。
【0055】また、同時実行時間が逐次実行時間よりも
長い又は等しい場合には、複数のパイプライン12が異
常であると判定することができる。さらに、予め期待値
を設ける必要がないから、動作試験のための検証時間を
短縮することができる。
長い又は等しい場合には、複数のパイプライン12が異
常であると判定することができる。さらに、予め期待値
を設ける必要がないから、動作試験のための検証時間を
短縮することができる。
【0056】
【発明の効果】本発明によれば、複数のパイプラインに
おいて、複数の命令を同時に実行する同時命令列の命令
を並び替えることにより逐次命令列を作成し、複数のパ
イプラインによる逐次命令列の実行結果を複数のパイプ
ラインによる同時命令列と比較するのみで、複数パイプ
ラインの動作試験を保証できるため、期待値を持つ必要
がなくなる。
おいて、複数の命令を同時に実行する同時命令列の命令
を並び替えることにより逐次命令列を作成し、複数のパ
イプラインによる逐次命令列の実行結果を複数のパイプ
ラインによる同時命令列と比較するのみで、複数パイプ
ラインの動作試験を保証できるため、期待値を持つ必要
がなくなる。
【0057】また、期待値を持つ必要がなくなるから、
多くの試験データを実行できるため、検証時間が短時間
で済む。
多くの試験データを実行できるため、検証時間が短時間
で済む。
【図1】本発明の原理図である。
【図2】実施例の構成ブロック図である。
【図3】複数同時命令列作成部の構成ブロック図であ
る。
る。
【図4】複数逐次命令列作成部の構成ブロック図であ
る。
る。
【図5】複数命令を同時に実行した時の実行時間を示す
図である。
図である。
【図6】複数命令を逐次実行した時の実行時間を示す図
である。
である。
【図7】実施例の処理フローである。
【図8】テスト命令列M1,M2を示す図である。
12・・複数パイプライン 12a・・ロード/ストア用パイプライン 12b・・四則演算用パイプライン 12c・・分岐用パイプライン 14・・同時命令列作成部 16・・逐次命令列作成部 18・・タイマー 20・・レジスタ 22・・実行時間計算部 24・・実行時間比較部 26・・試験結果判定部 M1・・同時命令列 M2・・逐次命令列
Claims (5)
- 【請求項1】 複数の命令を各々実行するための複数の
パイプライン(12)を備えた電子計算機において、 前記複数のパイプライン(12)に複数の命令を同時に
実行させるために同時命令列を作成する同時命令列作成
手段(14)と、 複数のパイプライン(12)に1つの命令ずつ実行させ
るために前記同時命令列作成手段(14)で作成した同
時命令列に基づき逐次命令列を作成する逐次命令列作成
手段(16)と、 複数のパイプライン(12)による同時命令列の実行結
果を複数のパイプライン(12)による逐次命令列の実
行結果と比較する実行結果比較手段(24)とを備えた
ことを特徴とする複数パイプラインの試験方式。 - 【請求項2】 前記同時命令列及び逐次命令列の実行開
始時間並びに同時命令列及び逐次命令列の実行終了時間
を計測する計時手段(18)と、 この計時手段(18)で計測された同時命令列及び逐次
命令列の実行開始時間並びに同時命令列及び逐次命令列
の実行終了時間に基づき同時実行時間と逐次実行時間を
計算する実行時間計算手段(22)とを有することを特
徴とする請求項1記載の複数パイプラインの試験方式。 - 【請求項3】 前記実行結果比較手段(24)は、実行
時間計算手段(22)で計算された同時実行時間と逐次
実行時間とを比較することを特徴とする請求項2記載の
複数パイプラインの試験方式。 - 【請求項4】 前記実行結果比較手段(24)による比
較の結果、同時実行時間が逐次実行時間よりも短い場合
には、複数のパイプライン(12)が正常であると判定
し、同時実行時間が逐次実行時間よりも長い又は等しい
場合には、複数のパイプライン(12)が異常であると
判定する試験結果判定部(26)を有することを特徴と
する請求項3記載の複数パイプラインの試験方式。 - 【請求項5】 前記逐次命令列は、同時命令列を並び換
えることにより作成されることを特徴とする請求項1な
いし請求項4のいずれかに記載の複数パイプラインの試
験方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00864493A JP3164452B2 (ja) | 1993-01-21 | 1993-01-21 | 複数パイプラインの試験方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00864493A JP3164452B2 (ja) | 1993-01-21 | 1993-01-21 | 複数パイプラインの試験方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06222939A true JPH06222939A (ja) | 1994-08-12 |
JP3164452B2 JP3164452B2 (ja) | 2001-05-08 |
Family
ID=11698662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00864493A Expired - Fee Related JP3164452B2 (ja) | 1993-01-21 | 1993-01-21 | 複数パイプラインの試験方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3164452B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010176602A (ja) * | 2009-02-02 | 2010-08-12 | Nec Corp | 二重化処理装置、二重化処理システム、方法及びプログラム |
US8898516B2 (en) | 2011-12-09 | 2014-11-25 | Toyota Jidosha Kabushiki Kaisha | Fault-tolerant computer system |
-
1993
- 1993-01-21 JP JP00864493A patent/JP3164452B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010176602A (ja) * | 2009-02-02 | 2010-08-12 | Nec Corp | 二重化処理装置、二重化処理システム、方法及びプログラム |
US8898516B2 (en) | 2011-12-09 | 2014-11-25 | Toyota Jidosha Kabushiki Kaisha | Fault-tolerant computer system |
Also Published As
Publication number | Publication date |
---|---|
JP3164452B2 (ja) | 2001-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100616722B1 (ko) | 수퍼스칼라프로세서내의파이프라인명령디스패치유닛 | |
JPS59114641A (ja) | 割込処理装置 | |
JPH07302200A (ja) | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 | |
JP2001222442A (ja) | パイプライン試験方法、パイプライン試験命令生成方法及びその記憶媒体 | |
US5075849A (en) | Information processor providing enhanced handling of address-conflicting instructions during pipeline processing | |
US7085964B2 (en) | Dynamic test program generator for VLIW simulation | |
JP3338488B2 (ja) | データ処理装置の検証方法及び装置 | |
US20010034594A1 (en) | Design verification method, design verification device for microprocessors, and pipeline simulator generation device | |
JP3822568B2 (ja) | イベント処理 | |
JPH06222939A (ja) | 複数パイプラインの試験方式 | |
JP2000268074A (ja) | 検証プログラム自動生成装置および方法並びにプロパティ自動生成装置および方法 | |
JP2904172B2 (ja) | 論理回路シミュレータ | |
JPH0454638A (ja) | 電子計算機 | |
JPH0147818B2 (ja) | ||
JP3108215B2 (ja) | パイプライン制御機構生成装置及び制御機構生成方法 | |
JP2525492B2 (ja) | プログラマブルコントロ―ラ | |
JPH07253909A (ja) | マイクロプログラム検証方法 | |
JPH0578053B2 (ja) | ||
JP2633651B2 (ja) | シミュレーション装置のレーシングチェック方式 | |
JP2808985B2 (ja) | 情報処理装置及びデバッグ装置 | |
JP2869376B2 (ja) | データ依存関係を持つ複数のデータ処理を実行するパイプラインデータ処理方法 | |
JPH02217935A (ja) | デバッグ用割込み発生回路 | |
JPH07160545A (ja) | 情報処理装置の性能測定方法 | |
JPS58149571A (ja) | 情報処理装置のベクトル演算処理方式 | |
JPH05108401A (ja) | テストパターン生成方法 |
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: 20010213 |
|
LAPS | Cancellation because of no payment of annual fees |