JPH06161745A - データ処理装置の検証方法及び装置 - Google Patents

データ処理装置の検証方法及び装置

Info

Publication number
JPH06161745A
JPH06161745A JP4307461A JP30746192A JPH06161745A JP H06161745 A JPH06161745 A JP H06161745A JP 4307461 A JP4307461 A JP 4307461A JP 30746192 A JP30746192 A JP 30746192A JP H06161745 A JPH06161745 A JP H06161745A
Authority
JP
Japan
Prior art keywords
instruction
data processing
processing device
verification
verifying
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
JP4307461A
Other languages
English (en)
Other versions
JP3338488B2 (ja
Inventor
Hideaki Nabekura
英明 鍋倉
Shuntaro Fujioka
俊太郎 藤岡
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 JP30746192A priority Critical patent/JP3338488B2/ja
Priority to AU44498/93A priority patent/AU670802B2/en
Priority to US08/105,175 priority patent/US5530815A/en
Priority to DE69323695T priority patent/DE69323695T2/de
Priority to EP93306610A priority patent/EP0598471B1/en
Priority to CA002105113A priority patent/CA2105113C/en
Publication of JPH06161745A publication Critical patent/JPH06161745A/ja
Application granted granted Critical
Publication of JP3338488B2 publication Critical patent/JP3338488B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3871Asynchronous instruction pipeline, e.g. using handshake signals between stages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】命令が正常終了するまで命令キューに命令を保
持するデータ処理装置の検証方法及び装置に関し、命令
キューに保持された非同期命令を実行する際の順序と動
作を保証する。 【構成】命令制御手段10から送られた非同期演算命令
を命令キュー14に保持し、実行可能な命令を選択して
パイプライン化された非同期演算手段18に投入する。
命令キュー14に保持した命令ごとにステータス領域2
0を確保して非同期演算手段18における命令実行の進
行状態を示すパイプラインビットを格納する。検証手段
24は、パイプラインビットをチェックし、同一命令の
エントリには複数のパイプライン・ステージが存在しな
いこと、および各命令間には複数のパイプライン・ステ
ージが存在しないことを検証して命令実行の順序と動作
を保証する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令キューに保持した
命令を取り出して実行するデータ処理装置の検証装置に
関し、特に命令が正常終了するまで命令キューに命令を
保持するデータ処理装置の検証方法及び装置に関する。
近年、CPU装置による命令実行の高速化に伴い、同期
演算器で1マシンサイクルごとに命令(同期命令)を逐
次実行するだけでなく、複数サイクルに亘る長い命令
(非同期命令)では別の演算器として非同期演算制御装
置を設け、CPUと並列に命令実行を行っている。
【0002】そのため、非同期演算制御装置を設けた分
だけデータ処理装置の回路規模が大きくなっており、L
SI故障、論理不良が問題になり、信頼性を向上させる
必要が増大してきている。
【0003】
【従来の技術】図12は命令を逐次実行する整数演算器
12を備えた中央処理装置(CPU)26に対し長い非
同期命令を並列的に実行する非同期演算制御装置28を
設けた従来のデータ処理装置を示したもので、中央処理
装置26に設けた命令制御部10で命令を解読し、同期
命令であれば同期演算器12に送って実行させ、非同期
命令であれば非同期演算制御装置28に送って実行させ
る。
【0004】非同期演算制御装置28には命令を待ち行
列として保持する命令キュー14、実行が可能となった
命令を命令キュー14から選択する制御部16、制御部
16で命令キュー14から選択された命令の投入を受け
て複数サイクルで命令を実行する非同期演算器として機
能する非同期パイプライン演算器18が設けられる。命
令キュー14は、図13に示すように、命令コード3
0、第1ソースレジスタ番号32、第2ソースレジスタ
番号34、結果書込みレジスタ番号(デスティネーショ
ン・レジスタ番号)36で構成される。
【0005】中央処理装置26の命令制御部10から命
令が発行されると、命令キュー14に一旦保持するキュ
ーイングが行われる。キューイング後に実行可能となっ
た命令が制御部16で選択され、命令キュー14から出
されて非同期パイプラインド演算器18に投入される。
このとき命令保存要求があれば、非同期パイプラインド
演算器18で命令実行が正常終了するまで命令キュー1
4を保持され、命令保存要求がなければ命令キュー14
から削除される。
【0006】
【発明が解決しようとする課題】しかしながら、演算処
理を高速化するために非同期演算制御装置を設けた場合
には、その分だけデータ処理装置の回路規模が大きくな
り、LSI故障や論理不良の可能性が高くなる。即ち、
LSI不良、故障、断線、論理不良等が起きて非同期演
算制御装置28に設けた命令キュー14に基づく非同期
演算のパイプライン制御が乱された場合、待ち行列とし
て命令を保持している命令キュー14の内容が保証でき
なくなり、命令キューの順序に従って動作せずに命令の
実行に矛盾を生じ、異常終了してしまう問題があった。
本発明の目的は、命令キューに保持された非同期命令を
実行する際の順序と動作を保証するようにしたデータ処
理装置の検証方法及び装置を提供する。
【0007】本発明の他の目的は、命令キューに保持す
る命令内容に加えて非同期パイプラインド演算器におけ
るステージの命令実行段階を示すパイプラインビットを
設けて命令の順序と動作を検証するデータ処理装置の検
証方法及び装置を提供する。本発明の他の目的は、命令
キューに設けたパイプラインビットに基づき、同一命令
のエントリには複数のパイプライン・ステージが存在し
ないことを検証して命令実行の順序と動作を保証するデ
ータ処理装置の検証方法及び装置を提供する。
【0008】本発明の他の目的は、命令キュー設けたパ
イプラインビットに基づき、並列的に実行されている複
数の命令間では、同一のパイプライン・ステージが存在
しないことを検証して命令実行の順序と動作を保証する
データ処理装置の検証方法及び装置を提供する。
【0009】
【課題を解決するための手段】図1は本発明の原理説明
図であり、装置構成を例にとっている。まず本発明は、
中央処理装置(CPU装置)26と非同期演算制御装置
28とから構成される。中央処理装置26には、命令を
順番に解読し同期演算命令と非同期演算命令とに分けて
異なる実行先に送る命令制御手段10と、命令制御手段
10から送られた同期演算命令を実行する同期演算手段
12が設けられる。
【0010】非同期演算制御装置28には、命令制御手
段10から送られた非同期演算命令を保持して実行を待
つ命令待合せ手段(命令キュー)14と、命令待合せ手
段14の中から実行可能な命令を選択すると共に命令実
行終了まで命令待合せ手段14に保持させる命令選択手
段16と、選択手段16で選択された非同期命令を複数
段階に分けて並列的に実行するパイプライン化された非
同期演算手段18とが設けられる。
【0011】更に本発明にあっては、命令待合せ手段1
4に格納された保持された命令ごとにステータス領域2
0を確保し、非同期演算手段18における命令実行の進
行状態を示す情報(パイプラインビット)をステータス
領域20に格納する状態監視手段22と、ステータス領
域20を検証する検証手段24を設けたことを特徴とす
る。
【0012】検証手段24は、命令待合せ手段14に保
持された命令ごとにステータス領域20のステータスビ
ット(パイプラインビット)をチェックし、同一命令の
エントリには複数のパイプライン・ステージが存在しな
いことを検証して命令実行の順序と動作を保証する。同
時に検証手段24は、命令待合せ手段14に保持された
複数の命令間でステータス領域20のステータスビット
(パイプラインビット)をチェックし、各命令間には複
数の同一パイプライン・ステージが存在しないことを検
証して命令実行の順序と動作を保証する。
【0013】
【作用】このような構成を備えた本発明によるデータ処
理装置の検証方法及び装置によれば、非同期演算制御装
置の命令キュー14にパイプラインビットを格納するス
テータス領域20を新設することにより、次の条件を検
証して命令実行の順序と動作を保証することができる。
【0014】条件1;命令キュー14の1つの命令のエ
ントリ内には、複数のパイプライン・ステージが存在し
ないこと。 条件2;命令キュー14の各命令間では、複数の同一パ
イプライン・ステージが存在しないこと。
【0015】このためLSI不良、故障、断線、論理不
良等が起きて非同期演算制御装置28に設けた命令キュ
ー14に基づく非同期演算のパイプライン制御が乱され
た場合には、1つの命令のエントリにパイプラインビッ
トが2以上立ったり、複数の命令間の同一ステージにパ
イプラインビットが2以上立つことから、命令実行の順
序と動作の異常を直ちに認識し、適切なエラー回復処理
に入ることができる。
【0016】このように命令キュー14パイプラインビ
ットを追加して命令キューに基づく命令実行の順序と動
作をチェックすることで命令キューの内容を保証できる
ようになる。
【0017】
【実施例】図2は本発明のデータ処理装置の全体構成を
示した説明図であり、主記憶装置(MSU)100,主
記憶制御装置(MCU)200及びプロセッサユニット
300で構成される。プロセッサユニット300には、
逐次、命令を実行する同期演算器としての機能を備えた
中央処理装置26と、長い命令を非同期に実行するパイ
プライン化された演算器を備える非同期演算制御装置2
8が設けられる。
【0018】このような中央処理装置26と非同期演算
制御装置28により並列的に命令を実行する高速処理を
目的とした情報処理装置は、並列マシン構成のスーパー
コンピュータに使用する各プロセッサエレメントのスカ
ラユニットとして使用される。図3は図2のプロセッサ
ユニット300に設けた中央処理装置26及び非同期演
算制御装置28の詳細を示した実施例構成図である。
【0019】図3において、まず中央処理装置(CP
U)26には命令制御部10,同期演算器として機能す
る整数演算器12、命令実行に使用する各種の汎用レジ
スタを備えた汎用レジスタ群38,キャッシュ等のロー
カルメモリとして使用されるメモリ40が設けられる。
命令制御部10は命令を順番に解読し、同期演算命令を
解読すると命令を整数演算器12に送って、1サイクル
で終了する整数演算を行わせる。また、命令制御部10
で非同期演算命令、例えば浮動小数点演算命令を解読し
た場合には、複数サイクルで実行される長い命令である
ことから、非同期演算制御装置28に送って並列的に命
令を実行する。
【0020】非同期演算制御装置28には命令待合せ手
段としての命令キュー14、制御部25、パイプライン
化された非同期演算器として非同期パイプラインド演算
器18が設けられる。本発明にあっては、命令キュー1
4は図4にインデックスで示される命令1〜nごとに、
命令コード30,第1ソースレジスタ番号32,第2ソ
ースレジスタ番号34,結果レジスタ番号(デストネー
ション・レジスタ番号)36で構成され、更にステータ
ス領域20としてパイプラインビットを設けている。
【0021】図3の非同期パイプラインド演算器18に
あっては、パイプラインがフェッチステージF,第1実
行ステージE1,第2実行ステージE2及び書込ステー
ジWの4ステージで構成されていることから、命令キュ
ー14に保持した各命令のパイプラインビットとしてス
テージF,E1,E2,Wに対応した4つのパイプライ
ンビットの格納領域を設けている。
【0022】再び図3を参照するに、非同期演算制御層
28には制御部25が設けられ、制御部25には命令選
択部16,状態監視部22及びキュー検証部24として
の各機能が設けられる。命令選択部16は命令キュー1
4に待ち行列として保持された命令の中から実行可能と
なった命令を取り出して非同期パイプラインド演算器1
8に投入する。
【0023】このとき、命令選択部18は命令キュー1
4から取り出した命令の第1ソースレジスタ番号32,
第2ソースレジスタ番号34及び結果レジスタ番号36
をレジスタアドレスバス44を通じて中央処理装置26
の汎用レジスタ群38に通知し、対応するソースレジス
タに格納しているソースデータをソースデータバス46
により非同期パイプラインド演算器18に供給する。
【0024】また非同期パイプラインド演算器18によ
る実行結果を、レジスタアドレスバス44により指定さ
れた結果レジスタ番号で指定されるデストネーション・
レジスタに書込みデータバス48を通じて書き込むよう
にしている。更に、制御部25には命令キュー14のス
テータス領域20に設けたパイプラインビット(F,E
1,E2,W)に対応して状態監視部22とキュー検証
部24が設けられる。状態監視部22は非同期パイプラ
インド演算器18に投入した命令の進行状況を監視し、
フェッチステージ,第1実行ステージ,第2実行ステー
ジ,書込みステージに命令が移行する毎に、命令キュー
10のステータス領域20に設けているパイプラインビ
ットの書替えを行う。
【0025】図5は非同期パイプラインド演算器18に
おける命令の実行状態を示したタイムチャートである。
図5において、まずT1 サイクルで命令1が最初のフェ
ッチステージに投入され、次のT2サイクルで第1実行
ステージE1で第1ソースレジスタのソースデータに基
づく処理を実行する。また、T2 サイクルにあっては、
次の命令2のフェッチステージFへの投入が行われる。
【0026】次のT3 サイクルでは命令1は第2実行ス
テージE2に進み、第2ソースレジスタからのソースデ
ータに基づく処理を実行し、命令2は第1実行ステージ
E1に進んで第1ソースレジスタのソースデータに基づ
く処理を実行し、更に命令3が新たにフェッチステージ
Fに投入される。T4 サイクルでは命令1は書込みステ
ージWに進んで実行結果をデストネーション・レジスタ
に書き込み、命令2は第2実行ステージE2に進み、更
に命令3は第1実行ステージE1に進む。T5 サイクル
では第2命令が書込みステージW、第3命令が第2実行
ステージE2となり、T6 サイクルでは命令3が書込み
ステージWとなる。
【0027】この図5に示すような複数命令の非同期パ
イプラインド演算器18における並列的な実行状態は状
態監視部22で監視され、命令キュー14のステータス
領域20の各命令毎のパイプラインビット(F,E1,
E2,W)が、対応する命令の存在するステージを示す
パイプラインビットをビット1にセットし、それ以外の
パイプラインビットを0にリセットしている。
【0028】制御部25に設けたキュー検証部24は非
同期パイプラインド演算器18の各サイクル毎に命令キ
ュー14に保持されている複数の命令のステータス領域
20をチェックし、命令キュー14に保持された命令に
従った非同期パイプラインド演算器18の順序及び動作
が正常に行われているか否かを検証する。図6は、ある
命令が非同期パイプラインド演算器18に投入されて正
常に実行された場合の命令キュー14のステータス領域
20におけるパイプラインビットのサイクル変化を示し
ている。これは、例えば図5に示した命令1のT0 サイ
クルからT4 サイクルまでの命令実行に対応している。
尚、最初のT0 サイクルは命令投入前のパイプラインビ
ットを示している。
【0029】このように正常に命令が実行された場合に
は、T1 〜T4 サイクルの全てでパイプラインビット
(F,E1,E2,W)のいずれか1つのビットのみが
1となっている。即ち、同一命令のエントリ内には複数
のパイプライン・ステージが存在しないことを示す。ま
た命令投入前にあっては、パイプラインビットが全て0
となっている。
【0030】本発明のキュー検証部24は命令キューの
パイプラインビットについて各命令毎にNC1チェック
を実行する。NC1チェックとは、4つのパイプライン
ビットがオール0かまたはどれか1つがビット1になっ
た場合にチェック出力1を生じ、チェック出力1で正常
動作が行われることを示す。一方、4つのパイプライン
ビットに2以上、ビット1があった場合には、チェック
出力0を生じ、動作異常を示す。
【0031】図7は図6のT1 サイクルでパイプライン
ビットFとE1がビット1となり、同一エントリに命令
が2つ存在する動作異常を示しており、このT1 サイク
ルでのNC1チェック結果は0となり、異常を起こした
ことを検知することができる。図8はキュー検証部24
における複数命令間のパイプラインビットの検証を示し
たもので、全ての命令において正常動作が行われている
場合を示す。
【0032】図8にあっては、例えば命令番号1〜5の
5つの命令が命令キュー14に保持されており、それぞ
れパイプラインビット(F,E1,E2,W)に示すビ
ット内容をもち、正常動作が行われていることから、各
命令間の同一ステージ、即ち縦方向に見たビット列の中
でビット1は1つしか存在しない。即ち、キュー検証部
24は複数命令間については同じステージに複数の命令
が存在しないことで順序と動作を保証する。この場合に
も、複数命令間の同一パイプラインビット毎にNC1チ
ェックが行われ、正常動作であることから、命令間のチ
ェック結果は全て1となる。
【0033】図9は図8の命令間のNCチェックにおい
て異常が起きた場合を示しており、パイプラインビット
E1について命令番号2と3にビット1が立っており、
チェック結果が0となって動作異常が起きたことを認識
することができる。本発明のキュー検証部24にあって
は、図6,7に示した命令毎のNC1チェックと図8,
9に示した命令間のNC1チェックのいずれか一方を行
ってもよいが、どの命令の実行について異常が起きてい
るかを判別するためには命令毎のNC1チェックと命令
間のNC1チェックを同時に行うことが望ましい。
【0034】例えば、図9に示すような異常が起きてい
る場合には、命令番号3の命令実行の順序と動作は正常
であるが、次の命令番号4の動作と順序が誤っているこ
とが認識でき、命令4のリトライで異常を回復すること
が可能となる。図10は図3に示した中央処理装置26
の命令制御部10による制御処理を示したフローチャー
トである。
【0035】図10において、まずステップS1で命令
制御部10は所定の順番に従った命令を取り出し、ステ
ップS2で命令を解読する。命令の解読結果からステッ
プS3で浮動小数点演算命令が否かチェックし、整数演
算命令であれば整数演算器12に送ってステップS4で
整数演算命令を1サイクルで実行させる。一方、浮動小
数点演算命令であればステップS8に進み、非同期演算
制御装置28の命令キュー14に送る。
【0036】ステップS4で整数演算命令を実行する
と、次のステップS5で非同期演算制御装置28に送っ
た先行命令の終了待ちがあるか否かチェックし、もし非
同期演算制御装置28に送った先行命令の終了待ちがあ
ればステップS6に進み、非同期演算制御装置28から
の先行命令の終了通知を待つ。ステップS5で終了待ち
がなかった場合、あるいはステップS6で先行命令の終
了通知を受けた場合にはステップS7に進み、命令番号
をインクリメントし、再びステップS1に戻り、次の命
令を取り出し、以下同様な処理を繰り返す。
【0037】図11は図3に示した非同期演算制御装置
28に設けた制御部25による非同期制御を示したフロ
ーチャートである。図11において、まずステップS1
で制御部25に設けた命令選択部16が実行可能となっ
た命令を命令キュー14の待ち行列の中から選択して非
同期パイプラインド演算器18に投入する。
【0038】次にステップS2で、投入した命令につい
て保存要求の有無をチェックし、もし保存要求がなけれ
ばステップS8で投入済み命令を命令キュー14から削
除する。本発明で検証の対象としている浮動小数点演算
命令は、保存要求をもっていることから命令キュー14
から削除されることなく、ステップS3に進み、非同期
パイプラインド演算器18で命令サイクルが実行される
毎に命令が存在するパイプライン・ステージに対応する
パイプラインビットを1にセットするビット更新を命令
キュー14のステータス領域20に対し行う。
【0039】続いてステップS4でビット更新終了毎に
命令キュー14のステータス領域20に格納しているパ
イプラインビットをチェックする。このチェックは命令
毎のエントリ内のNC1チェック及び命令間のNC1チ
ェックの両方を行う。ステップS5でNC1チェックの
チェック結果から異常の有無を判定し、NC1チェック
の結果が全て1であれば正常動作と判定し、ステップS
6に進む。ステップS6にあっては、最終ステージを終
了した命令があるか否かチェックし、最終ステージを終
了した命令があればステップS7に進み、実行終了命令
を命令キューから削除する。
【0040】一方、ステップS5でパイプラインビット
のNC1チェックのチェック結果から0が得られた場合
には異常ありと判定し、ステップS9に進み、エラー処
理を行う。例えば、異常を起こした命令を再度命令キュ
ー14から取り出して非同期パイプラインド演算器18
に投入するリトライを行う。このリトライの実行により
ステップS9でパイプラインビットのNC1チェックか
ら正常動作となれば復旧が判定され、再びステップS1
の処理に戻る。一方、異常の原因が断線や故障等のハー
ドウェアに原因した場合には、リトライを行っても異常
が回復しないことから、ステップS11に進んで異常終
了とする。
【0041】この異常終了にあっては、例えば本発明の
データ処理装置が並列マシン構成のスーパーコンピュー
タのプロセッサエレメントのスカラユニットに使用され
ているような場合には、異常を起こしたスカラユニット
をもつプロセッサエレメントを並列処理の対象から切り
離す等の処理が行われることになる。尚、上記の実施例
はスーパーコンピュータのプロセッサエレメントにおけ
るスカラユニットとして使用されるデータ処理装置を例
にとっているが、本発明はこれに限定されず、適宜の計
算機の中央処理装置としてそのまま使用することができ
る。
【0042】更に本発明は上記の実施例に限定されず、
本発明の目的の範囲で可能な各種の変形を含むものであ
る。
【0043】
【発明の効果】以上説明してきたように本発明によれ
ば、LSI不良,故障,断線,論理不良等により、命令
キューに基づく命令実行の制御に乱れが生じて異常が起
きた場合、常に命令キューに設けているパイプラインビ
ットをチェックしていることから、チェック結果に基づ
いて動作異常を認識し、リトライ,異常終了等の対応策
を講ずることができ、常に命令キューを用いた命令実行
の順序と動作を保証することができ、非同期演算制御装
置の信頼性を大幅に向上することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明の全体構成を示した説明図
【図3】本発明の実施例構成図
【図4】本発明で用いる命令キューの説明図
【図5】非同期パイプラインド演算器における命令の並
列実行を示したタイムチャート
【図6】正常に命令を実行した場合のパイプラインビッ
トのチェックを示した説明図
【図7】命令実行中に異常を起した場合のパイプライン
ビットのチェックを示した説明図
【図8】正常動作時の各命令間のパイプラインビットの
チェックを示した説明図
【図9】異常動作を起した時の各命令間のパイプライン
ビットのチェックを示した説明図
【図10】図3の中央処理装置の命令制御を示した説明
【図11】図3の非同期演算制御装置の非同期制御を示
したフローチャート
【図12】従来のデータ処理装置の説明図
【図13】従来の命令キューの説明図
【符号の説明】
10:命令制御部(命令制御手段) 12:整数演算器(同期演算手段) 14:命令キュー(命令待合せ手段) 16:命令選択部(命令選択手段) 18:非同期パイプラインド演算器(非同期演算手段) 20:ステータス領域 22:状態監視部(状態監視手段) 24:検証部(検証手段) 26:CPU(中央処理装置) 28:非同期演算制御装置 30:命令コード 32:第1ソースレジスタ番号 34:第2ソースレジスタ番号 36:結果レジスタ番号(ディストネーションレジスタ
番号) 38:汎用レジスタ群 40:メモリ 44:レジスタアドレスバス 46:ソースデータバス 48:書込データバス 100:主記憶装置(MSU) 200:主記憶制御装置(MCU) 300:プロセッサユニット

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】命令を順番に解読し同期演算命令と非同期
    演算命令とに分けて異なる実行先に送る命令転送過程
    と、 該命令転送過程で送られた同期演算命令を実行する同期
    演算過程と、 前記命令転送過程で送られた非同期演算命令を保持して
    実行を待つ命令待合せ過程と、 該命令待合せ過程で保持した命令の中から実行可能な命
    令を選択すると共に命令実行終了まで選択した命令を保
    持させる命令選択過程と、 該命令選択過程で選択された非同期命令を複数段階に分
    けて実行するパイプライン化された非同期演算過程と、 前記命令待合せ過程で保持されている命令ごとにステー
    タス領域(20)を確保し、前記非同期演算過程での命
    令実行の進行状態を示す情報を前記ステータス領域(2
    0)に格納する格納する状態監視過程と、 前記ステータス領域(20)を検証する検証過程と、を
    備えたことを特徴とするデータ処理装置の検証方法。
  2. 【請求項2】請求項1記載のデータ処理装置の検証方法
    に於いて、前記状態監視過程は、前記非同期演算過程の
    各パイプライン・ステージごとにステータスビットの各
    格納領域を設けて命令実行を示すビットフラグをセット
    することを特徴とするデータ処理装置の検証方法。
  3. 【請求項3】請求項2記載のデータ処理装置の検証方法
    に於いて、前記検証過程は、前記命令待合せ過程で保持
    された命令ごとにステータス領域(20)のステータス
    ビットをチェックし、同一命令のエントリには複数のパ
    イプライン・ステージが存在しないことを検証すること
    を特徴とするデータ処理装置の検証方法。
  4. 【請求項4】請求項2記載のデータ処理装置の検証方法
    に於いて、前記検証過程は、前記命令待合せ過程で保持
    された複数の命令間でステータス領域(20)のステー
    タスビットをチェックし、各命令間には複数の同一パイ
    プライン・ステージが存在しないことを検証することを
    特徴とするデータ処理装置の検証方法。
  5. 【請求項5】請求項2記載のデータ処理装置の検証方法
    に於いて、前記検証過程は、前記命令待合せ過程で保持
    された命令ごとにステータス領域(20)のステータス
    ビットをチェックし、同一命令のエントリには複数のパ
    イプライン・ステージが存在しないことを検証すると同
    時に、前記命令待合せ過程で保持された複数の命令間で
    ステータス領域(20)のステータスビットをチェック
    し、各命令間には複数の同一パイプライン・ステージが
    存在しないことを検証する特徴とするデータ処理装置の
    検証方法。
  6. 【請求項6】請求項3又は5記載のデータ処理装置の検
    証方法に於いて、前記検証過程は、1つの命令のステー
    タス領域に複数のパイプラインビットが存在した場合
    に、演算制御の異常と判定することを特徴とするデータ
    処理装置の検証装置。
  7. 【請求項7】請求項4又は5記載のデータ処理装置の検
    証方法に於いて、前記検証過程は、複数の命令の同一ス
    テージに複数のパイプラインビットが存在した場合に、
    演算制御の異常と判定することを特徴とするデータ処理
    装置の検証方法。
  8. 【請求項8】請求項1乃至7記載のデータ処理装置の検
    証方法に於いて、前記命令制御過程は、浮動小数点命令
    を解読した場合に該命令を前記命令待合せ過程に送るこ
    とを特徴とするデータ処理装置の検証方法。
  9. 【請求項9】請求項1乃至7記載のデータ処理装置の検
    証方法に於いて、前記命令選択過程は、浮動小数点命令
    を選択した場合に前記非同期演算過程による命令実行の
    終了まで該浮動小数点命令を前記命令待合せ過程に保持
    させることを特徴とするデータ処理装置の検証方法。
  10. 【請求項10】命令を順番に解読し同期演算命令と非同
    期演算命令とに分けて異なる実行先に送る命令制御手段
    (10)と、 該命令制御手段(10)から送られた同期演算命令を実
    行する同期演算手段(12)と、 前記命令制御手段(10)から送られた非同期演算命令
    を保持して実行を待つ命令待合せ手段(14)と、 該命令待合せ手段(14)の中から実行可能な命令を選
    択すると共に命令実行終了まで前記命令待合せ手段(1
    4)に保持させる命令選択手段(16)と、 該選択手段(16)で選択された非同期命令を複数段階
    に分けて並列的に実行するパイプライン化された非同期
    演算手段(18)と、 前記命令待合せ手段(14)に格納された保持された命
    令ごとにステータス領域(20)を確保し、前記非同期
    演算手段(18)に於ける命令実行の進行状態を示す情
    報を前記ステータス領域(20)に格納する状態監視手
    段(22)と、 前記ステータス領域(20)を検証する検証手段(2
    4)と、を設けたことを特徴とするデータ処理装置の検
    証装置。
  11. 【請求項11】請求項10記載のデータ処理装置に於い
    て、前記状態監視手段(22)は、前記非同期演算手段
    (18)の各パイプライン・ステージごとにステータス
    ビットの各格納領域を設けて命令実行を示すビットフラ
    グをセットすることを特徴とするデータ処理装置の検証
    装置。
  12. 【請求項12】請求項11記載のデータ処理装置の検証
    装置に於いて、前記検証手段(24)は、前記命令待合
    せ手段(14)に保持された命令ごとにステータス領域
    (20)のステータスビットをチェックし、同一命令の
    エントリには複数のパイプライン・ステージが存在しな
    いことを検証することを特徴とするデータ処理装置の検
    証装置。
  13. 【請求項13】請求項11記載のデータ処理装置の検証
    装置に於いて、前記検証手段(24)は、前記命令待合
    せ手段(14)に保持された複数の命令間でステータス
    領域(20)のステータスビットをチェックし、各命令
    間には複数の同一パイプライン・ステージが存在しない
    ことを検証することを特徴とするデータ処理装置の検証
    装置。
  14. 【請求項14】請求項11記載のデータ処理装置の検証
    装置に於いて、前記検証手段(24)は、前記命令待合
    せ手段(14)に保持された命令ごとにステータス領域
    (20)のステータスビットをチェックし、同一命令の
    エントリには複数のパイプライン・ステージが存在しな
    いことを検証すると同時に、前記命令待合せ手段(1
    4)に保持された複数の命令間でステータス領域(2
    0)のステータスビットをチェックし、各命令間には複
    数の同一パイプライン・ステージが存在しないことを検
    証する特徴とするデータ処理装置の検証装置。
  15. 【請求項15】請求項12又は14記載のデータ処理装
    置の検証装置に於いて、前記検証手段(24)は、1つ
    の命令のステータス領域に複数のパイプラインビットが
    存在した場合に、演算制御の異常と判定することを特徴
    とするデータ処理装置の検証装置。
  16. 【請求項16】請求項13又は14記載のデータ処理装
    置の検証装置に於いて、前記検証手段(24)は、複数
    の命令の同一ステージに複数のパイプラインビットが存
    在した場合に、演算制御の異常と判定することを特徴と
    するデータ処理装置の検証装置。
  17. 【請求項17】請求項10乃至16記載のデータ処理装
    置の検証装置に於いて、前記命令制御手段(10)は、
    浮動小数点命令を解読した場合に該命令を前記命令待合
    せ手段(14)に送ることを特徴とするデータ処理装置
    の検証装置。
  18. 【請求項18】請求項10乃至17記載のデータ処理装
    置の検証装置に於いて、前記命令選択手段(16)は、
    浮動小数点命令を選択した場合に前記非同期演算手段
    (18)による命令実行の終了まで該浮動小数点命令を
    前記命令待合せ手段(14)に保持させることを特徴と
    するデータ処理装置の検証装置。
  19. 【請求項19】請求項10乃至19記載のデータ処理装
    置の検証装置に於いて、前記命令制御手段(10)およ
    び同期演算手段(12)で中央処理装置(26)を構成
    し、前記命令待合せ手段(14)、命令選択手段(1
    6)、非同期演算手段(18)、状態監視手段(22)
    および検証手段(24)で非同期演算制御装置(28)
    を構成したことを特徴とするデータ処理装置の検証装
    置。
  20. 【請求項20】命令を保持して実行を待つ命令待合せ手
    段(14)と、 該命令待合せ手段(14)の中から実行可能な命令を選
    択すると共に命令実行終了まで前記命令待合せ手段(1
    4)に保持させる命令選択手段(16)と、 該選択手段(16)で選択された命令を複数段階に分け
    て並列的に実行するパイプライン化された非同期演算手
    段(18)と、 前記命令待合せ手段(14)に格納された保持された命
    令ごとにステータス領域(20)を確保し、前記非同期
    演算手段(18)に於ける命令実行の進行状態を示す情
    報を前記ステータス領域(20)に格納する状態監視手
    段(22)と、 前記ステータス領域(20)を検証する検証手段(2
    4)と、を設けたことを特徴とするデータ処理装置の検
    証装置。
  21. 【請求項21】請求項20記載のデータ処理装置に於い
    て、前記状態監視手段(22)は、前記非同期演算手段
    (18)の各パイプライン・ステージごとにステータス
    ビットの各格納領域を設けて命令実行を示すビットフラ
    グをセットすることを特徴とするデータ処理装置の検証
    装置。
  22. 【請求項22】請求項21記載のデータ処理装置の検証
    装置に於いて、前記検証手段(24)は、前記命令待合
    せ手段(14)に保持された命令ごとにステータス領域
    (20)のステータスビットをチェックし、同一命令の
    エントリには複数のパイプライン・ステージが存在しな
    いことを検証することを特徴とするデータ処理装置の検
    証装置。
  23. 【請求項23】請求項21記載のデータ処理装置の検証
    装置に於いて、前記検証手段(24)は、前記命令待合
    せ手段(14)に保持された複数の命令間でステータス
    領域(20)のステータスビットをチェックし、各命令
    間には複数の同一パイプライン・ステージが存在しない
    ことを検証することを特徴とするデータ処理装置の検証
    装置。
  24. 【請求項24】請求項21記載のデータ処理装置の検証
    装置に於いて、前記検証手段(24)は、前記命令待合
    せ手段(14)に保持された命令ごとにステータス領域
    (20)のステータスビットをチェックし、同一命令の
    エントリには複数のパイプライン・ステージが存在しな
    いことを検証すると同時に、前記命令待合せ手段(1
    4)に保持された複数の命令間でステータス領域(2
    0)のステータスビットをチェックし、各命令間には複
    数の同一パイプライン・ステージが存在しないことを検
    証することを特徴とするデータ処理装置の検証装置。
  25. 【請求項25】請求項22又は24記載のデータ処理装
    置の検証装置に於いて、前記検証手段(24)は、1つ
    の命令のステータス領域に複数のパイプラインビットが
    存在した場合に、演算制御の異常と判定することを特徴
    とするデータ処理装置の検証装置。
  26. 【請求項26】請求項23又は24記載のデータ処理装
    置の検証装置に於いて、前記検証手段(24)は、複数
    の命令の同一ステージに複数のパイプラインビットが存
    在した場合に、演算制御の異常と判定することを特徴と
    するデータ処理装置の検証装置。
  27. 【請求項27】請求項20乃至26記載のデータ処理装
    置の検証装置に於いて、前記命令選択手段(16)は、
    浮動小数点命令を選択した場合に前記非同期演算手段
    (18)による命令実行の終了まで該浮動小数点命令を
    前記命令待合せ手段(14)に保持させることを特徴と
    するデータ処理装置の検証装置。
  28. 【請求項28】請求項20乃至27記載のデータ処理装
    置の検証装置に於いて、前記命令待合せ手段(14)、
    命令選択手段(16)、非同期演算手段(18)、状態
    監視手段(22)および検証手段(24)で非同期演算
    制御装置(28)を構成したことを特徴とするデータ処
    理装置の検証装置。
JP30746192A 1992-11-18 1992-11-18 データ処理装置の検証方法及び装置 Expired - Fee Related JP3338488B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP30746192A JP3338488B2 (ja) 1992-11-18 1992-11-18 データ処理装置の検証方法及び装置
AU44498/93A AU670802B2 (en) 1992-11-18 1993-08-06 Method and apparatus for verifying data processing apparatus
US08/105,175 US5530815A (en) 1992-11-18 1993-08-12 Apparatus and method for verifying the order and operation of a data processing device when asynchronous commands are held in a command queue
DE69323695T DE69323695T2 (de) 1992-11-18 1993-08-20 Verfahren und Einrichtung zum Überprüfen von geordneter Datenverarbeitung
EP93306610A EP0598471B1 (en) 1992-11-18 1993-08-20 Method and apparatus for verifying the orderly processing of data
CA002105113A CA2105113C (en) 1992-11-18 1993-08-30 Method and apparatus for verifying data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30746192A JP3338488B2 (ja) 1992-11-18 1992-11-18 データ処理装置の検証方法及び装置

Publications (2)

Publication Number Publication Date
JPH06161745A true JPH06161745A (ja) 1994-06-10
JP3338488B2 JP3338488B2 (ja) 2002-10-28

Family

ID=17969353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30746192A Expired - Fee Related JP3338488B2 (ja) 1992-11-18 1992-11-18 データ処理装置の検証方法及び装置

Country Status (6)

Country Link
US (1) US5530815A (ja)
EP (1) EP0598471B1 (ja)
JP (1) JP3338488B2 (ja)
AU (1) AU670802B2 (ja)
CA (1) CA2105113C (ja)
DE (1) DE69323695T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3713145A1 (de) * 1986-04-16 1987-10-22 Japan Automatic Machine Co Einstell-lehre fuer die koordinaten eines werkstuecks in einer mit draht arbeitenden, numerisch gesteuerten funkenerosionsmaschine
JP2006048661A (ja) * 2004-07-06 2006-02-16 Matsushita Electric Ind Co Ltd プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置
US7110995B2 (en) 2002-02-27 2006-09-19 International Business Machines Corporation Apparatus and method for generating graphic presentation of estimated time of completion of a server request

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343309B1 (en) 1996-09-30 2002-01-29 International Business Machines Corporaton Method and apparatus for parallelizing a graphics pipeline
US6088740A (en) * 1997-08-05 2000-07-11 Adaptec, Inc. Command queuing system for a hardware accelerated command interpreter engine
US6625440B1 (en) 2000-01-31 2003-09-23 Trw Inc. Drum memory controller
US6496900B1 (en) * 2000-09-12 2002-12-17 3Ware, Inc. Disk array system, controller, and method for verifying command data written to disk drives
US8117624B2 (en) * 2003-09-16 2012-02-14 Matrox Electronic Systems Ltd. Method and apparatus for performing real-time commands in a non real-time operating system environment
ATE436050T1 (de) * 2004-04-27 2009-07-15 Nxp Bv Pipeline-asynchron-anweisungs-prozessorschaltun
TWI348652B (en) * 2005-10-17 2011-09-11 Via Tech Inc Driver assisted asynchronous command processing
JP7221070B2 (ja) * 2019-02-07 2023-02-13 日立Astemo株式会社 電子制御装置、制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6226580A (ja) * 1985-07-29 1987-02-04 Hitachi Ltd 障害処理方式
JPH0760388B2 (ja) * 1987-06-09 1995-06-28 三菱電機株式会社 パイプライン制御回路
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
US4924466A (en) * 1988-06-30 1990-05-08 International Business Machines Corp. Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US5109514A (en) * 1988-07-28 1992-04-28 Sun Microsystems, Inc. Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
GB8828817D0 (en) * 1988-12-09 1989-01-18 Int Computers Ltd Data processing apparatus
US4982402A (en) * 1989-02-03 1991-01-01 Digital Equipment Corporation Method and apparatus for detecting and correcting errors in a pipelined computer system
US5067069A (en) * 1989-02-03 1991-11-19 Digital Equipment Corporation Control of multiple functional units with parallel operation in a microcoded execution unit
US5073855A (en) * 1989-06-30 1991-12-17 Bull Hn Information Systems Inc. Resource conflict detection method and apparatus included in a pipelined processing unit
US5119495A (en) * 1989-12-21 1992-06-02 Bull Hn Information Systems Inc. Minimizing hardware pipeline breaks using software scheduling techniques during compilation
WO1991014985A1 (fr) * 1990-03-19 1991-10-03 Fujitsu Limited Systeme de traitement de programme d'interruption
GB9114513D0 (en) * 1991-07-04 1991-08-21 Univ Manchester Condition detection in asynchronous pipelines

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3713145A1 (de) * 1986-04-16 1987-10-22 Japan Automatic Machine Co Einstell-lehre fuer die koordinaten eines werkstuecks in einer mit draht arbeitenden, numerisch gesteuerten funkenerosionsmaschine
US7110995B2 (en) 2002-02-27 2006-09-19 International Business Machines Corporation Apparatus and method for generating graphic presentation of estimated time of completion of a server request
JP2006048661A (ja) * 2004-07-06 2006-02-16 Matsushita Electric Ind Co Ltd プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置

Also Published As

Publication number Publication date
EP0598471B1 (en) 1999-03-03
AU670802B2 (en) 1996-08-01
JP3338488B2 (ja) 2002-10-28
US5530815A (en) 1996-06-25
DE69323695D1 (de) 1999-04-08
CA2105113C (en) 1999-02-23
DE69323695T2 (de) 1999-07-01
EP0598471A1 (en) 1994-05-25
AU4449893A (en) 1994-06-02
CA2105113A1 (en) 1994-05-19

Similar Documents

Publication Publication Date Title
US6751749B2 (en) Method and apparatus for computer system reliability
JPS61107434A (ja) デ−タ処理装置
EP0372751B1 (en) Pipelined data-processing apparatus
JP3338488B2 (ja) データ処理装置の検証方法及び装置
EP0094535B1 (en) Pipe-line data processing system
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US8516303B2 (en) Arithmetic device for concurrently processing a plurality of threads
JP2020086897A (ja) 演算処理装置及び演算処理装置の制御方法
EP0113982B1 (en) A data processing system
JP2824484B2 (ja) パイプライン処理計算機
JPH07262032A (ja) 情報処理装置
JP3240660B2 (ja) データ処理装置
JPH07271625A (ja) 情報処理装置
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JPS60142747A (ja) 命令再実行制御方式
JPH04220722A (ja) パイプライン処理装置
JPH046983B2 (ja)
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置
JPH0335327A (ja) 多数決障害処理装置
KR20240038497A (ko) 프로세서 및 프로세서에서의 소프트 에러 검출 방법
TW202418068A (zh) 處理器及自處理器偵測軟錯誤的方法
JP2793526B2 (ja) スーパースカラープロセッサ
JPH04175935A (ja) 情報処理装置
JPS62159231A (ja) 命令先取り装置
JPS58166454A (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: 20020709

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

Free format text: PAYMENT UNTIL: 20080809

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090809

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees