JP2626675B2 - データ誘起状態信号発生装置及び方法 - Google Patents

データ誘起状態信号発生装置及び方法

Info

Publication number
JP2626675B2
JP2626675B2 JP63164822A JP16482288A JP2626675B2 JP 2626675 B2 JP2626675 B2 JP 2626675B2 JP 63164822 A JP63164822 A JP 63164822A JP 16482288 A JP16482288 A JP 16482288A JP 2626675 B2 JP2626675 B2 JP 2626675B2
Authority
JP
Japan
Prior art keywords
instruction
error
state
status flag
processor
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
Application number
JP63164822A
Other languages
English (en)
Other versions
JPS6488748A (en
Inventor
エヌ カトラー ディヴィッド
エイ オービッツ ディヴィッド
バンダーカー ディリープ
カードーザ ウェイン
ティー ウィーテック リチャード
Original Assignee
ディジタル イクイプメント コーポレーション
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 ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
Publication of JPS6488748A publication Critical patent/JPS6488748A/ja
Application granted granted Critical
Publication of JP2626675B2 publication Critical patent/JP2626675B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/30094Condition code generation, e.g. Carry, Zero flag
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は一般にデータ処理システムに関し、特にデ
ータ処理システムにおいて、指定レジスタロケーション
内の所定信号に基づいて制御プログラムを効率的に呼び
出す方式に関する。
(従来の技術) データ処理システムが大型且つ複雑化するにつれ、プ
ログラムのエラーを識別するのがますます困難になって
きている。無効のアドレスを読み取ったり、又は書き込
んだりする無効のメモリ参照が、依然最も一般的なプロ
グラミングエラーの1つのままである。例えば、アレイ
A(i,j)が0≦i,j≦99という必要条件を有することが
ある。ところが、この範囲外のインデックス(アドレ
ス)を用いた試みが行われる可能性がある。また、参照
されるアドレスがアレイフィールドの一部である場合
に、無効アドレスへの参照が最も頻繁に生じる。このた
めプログラムの実行中に、アレイアドレスをテストし、
それらのアレイの境界内にあるかを確かめることが重要
である。これまでは、プログラムにアレイアドレスをテ
ストする付加コードを設け、エラーが生じると、適切な
応答ルーチンを呼び出すようにされている。しかし、ア
レイアドレスをテストするための追加コードは、プログ
ラムのサイズを著しく増し、それに応じて実行速度が遅
くなる。
アレイアドレスをテストする問題は、ブール値をテス
トし、その結果が誤りのときに例外を発生するというも
っと一般的な問題の一部である。アレイアドレスをテス
トする以上の他のアプリケーションには、プログラム確
認、手順成功/失敗リターン状態のテスト、及びその他
現手順が許容できないプログラム(コード)サイズ及び
/又は非効率的なプログラムを実行を含むかどうかのブ
ールテストが含まれる。
(発明が解決しようとする課題) 従って、アレイアドレスをテストするプログラム等、
ブール値をテストし、ブール値が誤りのときに例外を発
生するプログラムについてのプログラムコード(サイ
ズ)を減少し、実行速度を速められる方式の必要が痛感
されている。
本発明の目的は、改良データ処理装置を提供すること
にある。
本発明の一特徴は、指定レジスタロケーション内の所
定信号に基づいて制御プログラムを効率的に呼び出す改
良方法を提供することにある。
本発明の別の特徴は、誤ったブール値の検出を指示す
る信号がレジスタの低ビットフィールド内に存在すると
きに、低ビット誤り命令を与えることにある。
本発明の更なる特徴は、レジスタロケーション内の特
定ビットの存在を判定することによってプール状態をテ
ストすることにある。
(課題を解決するための手段) 上記及びその他の特徴は、本発明によれば、データ処
理システムに低ビットクリア誤り(FLBC)命令を与える
ことによって達成される。この命令の実行前に、比較演
算が実行されてブール値を発生する。この比較演算が、
比較演算の有効性によって決まる指定スカラーレジスタ
内の低ビットをセット又はクリアする。FLBC命令では、
所定のレジスタがテストされ、誤ったブール値がそこに
記憶されているのが見っかると、誤り状態の存在が誤り
制御プログラムに信号発生される。この命令が、誤った
ブール値を生じた状態を指定するエラーサブルーチンの
呼び出すコードシーケンスへのブランチの必要を取り除
く、好ましい実施例では、命令のフィールドが情報を誤
り制御プログラムへ導くのに使えるように、FLBC命令が
選択される。この命令は(サブルーチン呼び出しのブラ
ンチがないので)実行時間を速め、オペレーションを行
うのに必要なプログラムコードが少なくて済む。この単
一命令がプログラムの実行時間に及ぼす影響は微小で、
例えばアレイアドレスチェックのより多くの使用を可能
とする。実行装置を使わないでレジスタビット位置をチ
ェックできるように、データ処理装置の発出装置にレジ
スタビットのコピーを供給する装置が設けられる。
本発明の前記及びその他の特徴は、図面に沿って以下
の説明を読み進むことによって理解されよう。
(実施例) 次に第1A及び1B図を参照すると、本発明を使用可能な
2つの例示データ処理システムの構成が示してある。第
1A図において、中央処理装置(#1)11はシステムバス
19に接続されている。他の中央処理装置(例えば#N)
12も、システムに接続可能である。1つ又は複数の中央
処理装置11(〜12)が、中央処理装置内の制御プログラ
ムと協働して中央処理装置の構造に従ってデータを処理
し、制御プログラムは主メモリ装置15内に常駐する命令
からなる。非常駐データ及び命令は一般に1つ又は複数
の大容量記憶装置内に記憶され、システムバス19を介し
て主メモリ装置15へ及びそこから伝送される。1つ又は
複数の入/出力装置{#1}16(〜{#M}17)が、大
容量記憶装置、ユーザ端末記憶装置及び通信装置等の各
種装置を、システムバス19によってデータ処理システム
に接続する。大容量記憶装置が、データ処理装置にとっ
て必要なデータ及び命令を記憶する。一般にデータ及び
/又は命令のページとして指定され、中央処理装置11〜
12の動作に必要な複数組のデータ及び/又は命令が、中
央処理装置によって比較的遅いアクセス能力を持つ大容
量記憶装置から比較的速くアクセスされる主メモリ装置
へと転送される。かかるバス指向のシステムは、システ
ムを再構成するのが比較的容易という利点を持つ反面、
各システム構成要素がシステムバスとのインタフェース
を与える制御装置を必要とするという欠点を有する。次
に第1B図を参照すると、1つ又は複数の中央処理装置11
(〜12)及び1つ又は複数の入/出力装置{#1}16
(〜{#M}17)がメモリ制御装置14を介して主メモリ
装置15に接続されたデータ処理システムが示してあり、
メモリ制御装置14が第1A図に示したバス指向のデータ処
理構成におけるシステムバス19及び個々のデータ処理シ
ステムの構成要素によって行われる制御機能を代わりに
果たす。メモリ制御装置14がデータ及び命令の転送の集
中制御とモニタリングを行い、これは第1図のバス指向
構成により効率的だが、フレキシビリティが失われてい
る。
次に第2図を参照すると、本発明を有効に利用可能な
例示中央処理装置のブロック図が示してある。発出(イ
ッシュ)装置22が、スカラー演算アドレス発生装置24、
少なくとも1つの実行装置(#1)25(〜実行装置(#
Q)26)及びベクトル演算装置28からなる複数の専用実
行装置に(デコードされた)命令を与える役割を果た
し、ベクトル演算装置28はベクトル演算処理装置28A、
ベクトル演算アドレス発生装置28B及びベクトル演算レ
ジスタ28Cを含む。実行装置によって処理されるデータ
は一般に、スカラーレジスタ23又はベクトルレジスタ28
Cから抽出される。実行装置から得られたデータは、ス
カラーレジスタ23、ベクトルレジスタ28C又はデータキ
ャッシュメモリ装置27内に記憶される。データキャッシ
ュメモリ装置27は、主メモリ装置15と中央処理装置11の
間のインタフェースを与えるキャッシュメモリ装置とし
て見なすことができる。(データキャッシュメモリ装置
27は、第2図で主メモリ装置に直接接続されるものとし
て示してある。第1A及び1B図に示したように、実際の接
続では介在するデータ処理装置を含めることができ
る。)発出装置22は、どの実行装置が選定データを処理
するかを決めると共に、選ばれた実行装置がいつデータ
処理のために使用可能となるべきかを決める装置を含
む。この後者の特徴は、宛先記憶ロケーションが処理さ
れたデータを記憶するのに使えるかを確認することも含
んでいる。命令キャッシュメモリ装置21は、発出装置22
によってデコードされ該当の実行装置に送られる命令を
記憶する。発出装置22は、各実行装置の処理演算を最大
限化しようとする装置を有している。つまり、発出装置
22はプリフェッチ装置と、(任意の分岐命令を含め)該
当の命令が必要に応じ発出装置22で利用可能なことを保
証するアルゴリズムとを含んでいる。複数の実行装置
は、スカラー演算アドレス発生装置24とベクトル演算装
置28で示したように、ある一定クラスの処理演算を扱う
専用の処理装置である。例えば実行装置は、浮動小数点
演算や整数算術演算などを扱うように構成できる。発出
装置22は、プログラムを実行したり、データ処理演算の
レコードを与えるのに必要なデータを記憶可能な付属の
スカラーレジスタ23を備えている。例えば、1つのレジ
スタは、プログラム命令シーケンスの実行において、処
理すべき次の命令の(仮想)アドレスを記憶するプログ
ラムカウンタレジスタである。スカラー演算アドレス発
生装置24が、仮想アドレスを主メモリ装置15内の物理ロ
ケーションへ変換するのに使われる。また発出装置22
は、各実行装置が異なる速度で命令を処理するときに、
実行装置からのデータを正しいシーケンスで再順序付け
する役割も果たす。
次に第3図を参照すると、従来技術に従ってブール値
をテストし応答する手順が、無効なアレイインデックス
(アドレス)について示してある。ステップ301で、ア
レイインデックスが計算される。ステップ302で、計算
されたアレイインデックスが全アレイインデックスの境
界と比較され、インデックスが許容可能な境界内にない
と、指定レジスタの低ビット位置がクリアされる(すな
わち論理値‘0'信号がそこに格納される)。ステップ30
3で、指定レジスタの低ビット位置がテストされ、論理
値‘1'信号がそこに格納されているかどうかを判定す
る。論理値‘1'信号がそこに格納されていないと(すな
わち低ビット位置がクリアされていると)、その状態に
応答するサブルーチンがステップ304で呼び出される。
誤り状態が応答処理された後、あるいは低ビット位置が
そこに格納された論理値‘1'信号を有すると、プログラ
ムの実行が継続される。
第4図を参照すると、本発明に従ってブール値をテス
トし応答する手順が、(第3図と同様)アレイインデッ
クスチェックルーチンについて示しである。ステップ40
1で、アレイインデックスが計算される。ステップ402
で、そのインデックスがアレイインデックスの境界内に
あるかどうかの比較がなされ、インデックスが許容可能
な境界内にないと、論理値‘0'信号が指定レジスタの低
ビット位置に格納される。ステップ403で、低ビットク
リア誤り(FLBC)命令が実行される。指定レジスタの低
ビット位置がクリアされていると(すなわちそこに格納
された論理値‘0'信号を有すると)、ステップ404で誤
りが信号発生され、応答サブルーチンが実行される。ス
テップ403で、あるいはステップ404での応答サブルーチ
ンの結果として、指定レジスタの低ビット位置がそこに
格納された論理値‘1'信号を有すると、ステップ405で
プログラムの実行が継続される。
次に第5A図を参照すれば、誤り状態が信号発生される
と、データ処理システム内の機構(例えば好ましい実施
例では1つの装置又は特別の動作モードで実施される)
が、データ処理装置スタック内の誤り状態ストア情報に
応答し、これが制御プログラムルーチンによってアレイ
参照エラーの発生源を突き止めるのを可能とする。好ま
しい実施例では、誤り命令501が(好ましい実施例では
命令自体に含まれた誤りに関するコード化情報を保存す
るために)1フィールド内に格納され、プロセッサ状態
がフィールド502内に格納され、低ビット(クリア)命
令に関する誤りの仮想アドレスがフィールド503内に格
納される。プロセッサ状態フィールドは、割込レベル、
ベクトル命令エネーブル信号、ベクトル再開フレーム、
演算信号の現在実行中のモード、及び仮想マシンモニタ
ーフィールド等の状態情報を含む。
第5B図を参照すると、低ビットクリア誤り命令の例示
フォーマットが示してある。フィールド510では、オペ
レーションコードフィールドが実行すべき命令(例えば
低ビットクリア誤り)を(発出装置22に対して)識別す
る。これに応じ、発出装置22がその命令を実行する装置
を起動する。フィールド511は発出装置22に対して、ブ
ール状態(例えば低ビットクリア)を調べるべきレジス
タを指定する。フィールド512は、データ処理システム
がアドレス等命令によって信号発生された特定の誤り状
態に応答可能とする情報を与える。
第6図を参照すると、状態信号を検出する装置の好ま
しい実施例が示してある。スカラーレジスタ装置23のス
カラーレジスタバンク230内の各スカラーレジスタに、
発出装置22のレジスタバンク229内の3つのビットサマ
リレジスタが対応している。3つのビットが、レジスタ
バンク230内の対応レジスタが全て零をそこに格納して
いることを示す第1のビット位置を含む。第2のビット
位置が、対応レジスタ内のデータの符号を指示する。そ
して第3のビット位置は、レジスタバンク230の対応レ
ジスタ内の最下位レジスタ位置に格納されたのと同じビ
ット値である。対応サマリレジスタの任意のビット位置
を照合できるように、信号検出装置228が設けられてい
る。従って、低ビットクリア誤りなどの命令に応答し、
識別レジスタ内の信号を識別できると共に、該当の場合
に誤り状態を信号発生可能である。
好ましい実施例では、第2図のパイプライン式実行装
置を有する中央処理装置を幾つかの制約下で実施した
が、他の設計方式でも本発明を使用できる。中央処理装
置は複数の実行装置を含み、各実行装置が1つのクラス
の命令を実行する。一例として、1つの実行装置である
スカラーアドレス発生装置24は、中央処理装置と主メモ
リ装置の間での論理信号群データの転送を制御する、す
なわちスカラーロード/ストア命令を実行する。更に、
1つの実行装置はデータのシフト演算を実行し、1つの
実行装置は浮動小数点加/減演算を実行し、1つの実行
装置は整数及び浮動小数点乗算を実行し、1つの実行装
置は整数及び浮動小数点除算を実行する。専用の実行装
置はパイプライン式構成とし得るが、必ずしもその構成
で実施されなくともよい。中央処理装置の別の特徴は次
の通りである。現在実行される命令シーケンス中の命令
は、命令キャッシュメモリ装置21から発出装置22に転送
される。発出装置22内では、命令がその構成部分に分解
され、データに依存した制御信号及びアドレス信号がそ
こから発生される。しかし、命令が実行開始可能となる
(すなわち発せられる)前に、幾つかの制約が満たされ
ねばならない。先ず、命令用の出所及び宛先レジスタが
全て利用可能でなければならない。すなわち必要なレジ
スタへの書込動作が未決着のままであってはならない。
その命令が処理された量を記憶する別のサイクルで、レ
ジスタ書込経路が利用可能でなければならない。また、
実行中命令を処理するのに必要となる実行装置が、オペ
レーションを行うのに利用可能でなければならない。ベ
クトル演算装置については、ベクトル演算の継続中、ベ
クトル演算が実行装置を確保する。メモリロード/スト
ア命令がキャッシュメモリ装置のミスに出会うと、キャ
ッシュメモリミスの応答が完了するまで、ロード/スト
ア装置使用中フラグによって次のロード/ストア命令が
遅延される。命令が発せられると、その結果のための宛
先レジスタと書込経路サイクルが確保される。オペラン
ドの設定中に、命令と独立の全てのレジスタアドレスが
発生され、オペランドが読み取られて記憶され、データ
依存の制御信号が発生される。命令オペランドと制御信
号が関連の実行装置に送られ、実行される。実行装置に
よって発生された結果は、レジスタファイルまたはデー
タキャッシュメモリ装置27内に適宜記憶される。命令が
一旦発せられると、処理の結果は数マシンサイクルの間
利用できない。一方次のサイクルでは、必要な発出条件
が満たされていれば、次の命令をデコードして発するこ
とができる。つまり、命令は通常の命令シーケンスでデ
コードされ発せられるが、実行装置の命令実行時間がさ
まざまであるため、それらの結果は異なる順序で記憶可
能である。この一定順序でない記憶は、障害命令の例外
扱いと再試行を複雑にする。しかし、これらの事象は比
較的希で、一定順序でない記憶は実行及びハードウェア
上の利点を与える。
第3図と第4図を比較すると、第3図の最初の2つの
ステップ301と302は、第4図の最初の2つのステップ40
1と402と同じである。従来技術では、ステップ303で、
指定レジスタの低ビット位置と参照値との論理比較を行
う必要があった。かかる作業は一般に、サブルーチンの
呼び出しを行う条件突きブランチを含んでいるので、命
令実行の効率的な順次の流れを妨害する。つまり条件付
きブランチの手順は、高性能のデータ処理システムに大
きい性能上のペナルティを課す。これに対し、FLBC命令
は誤り状態の存在をチェックし、誤り状態が存在しなけ
れば遅延なく次の順番の命令を実行可能である。この命
令によって識別される誤り状態が存在すると、制御プロ
グラムが、例外扱いプログラムによって誤り状態の発生
源を識別可能とする情報をスタックに格納する。
この種の命令、すなわち低ビット誤りクリア命令は、
プログラミング規定と組み合わせて使われる場合、プロ
グラムの実行状態をチェックするのにも使うことができ
る。プログラムが正しく実行していると、真のブール値
(すなわち‘1')が戻され、エラーが発見されると、誤
りのブール値(すなわち‘0')が戻される。エラー状態
は、低ビット誤りクリア命令によってチェック可能であ
る。
好ましい実施例では、全ての量がスカラーレジスタ23
へ戻されるのと同時に、各実行装置が別々に状態信号を
(ステップ403から)関連の状態つまりサマリレジスタ2
29に与える。サマリレジスタが、指定レジスタの指定位
置に格納された信号のより迅速な判定を可能とする。
指定レジスタの低ビット位置をFLBC命令で用いたが、
任意の指定レジスタ位置が状態情報を更新するのに使
え、また誤り状態を信号発生可能であるのは当業者によ
って明らかであろう。また、この基本機構は、レジスタ
の零に等しい誤り(FREZ)状態又はレジスタの負誤り
(FRN)状態など、同様な機能を実施するのにも使え
る。
以上の説明は好ましい実施例の動作を例示するために
ここに含めたものであり、発明の範囲を制限することを
意味しない。発明の範囲は、特許請求の範囲の記載によ
ってのみ限定される。以上の説明から、発明の精神及び
範囲に含まれる多くの変形が可能なことは当業者にとっ
て明らかであろう。
【図面の簡単な説明】
第1A及び1B図は本発明を使用可能なデータ処理システム
装置のブロック図、第2図は本発明を使用可能なデータ
処理装置の中央処理装置の一例のブロック図、第3図は
従来技術に従ってアレイ参照をテストする方式の一例を
示すフロー図、第4図は本発明に従ってアレイ参照をテ
ストする方式を示すフロー図、第5A図は例外発生状態の
識別を可能とする例外状態に応じて、データ処理システ
ムのスタックに置かれる情報を示すフィールド構成図、
第5B図はFLBC命令のフォーマットを示す図、及び第6図
は状態信号を識別するのに使われる装置の概略図。 22……発生装置、23……スカラーレジスタ、 228……信号検出装置、 229……サマリレジスタ、 230……レジスタバンク。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ディヴィッド エイ オービッツ アメリカ合衆国 ワシントン州 98052 レッドモンド ノース イースト ワ ンハンドレッドアンドサーティナインス ストリート 17028 (72)発明者 ディリープ バンダーカー アメリカ合衆国 マサチューセッツ州 01545 シュルーズバリー ランターン レーン 3 (72)発明者 ウェイン カードーザ アメリカ合衆国 ニューハンプシャー州 03054 メリマック ハッチンソン ロード 3 (72)発明者 リチャード ティー ウィーテック アメリカ合衆国 マサチューセッツ州 01460 リトルトン シルヴァー バー チ レーン 3 (56)参考文献 特開 昭60−48545(JP,A) 特開 昭60−105049(JP,A) 特公 昭55−39219(JP,B2)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】命令の流れの中に有る命令を処理している
    デジタルデータ処理システム内のプロセッサを制御する
    方法であり、 前記命令の流れの中に有る特定の命令を処理している
    間、誤り状態を識別するための所定の規則に基づいて、
    前記特定の命令の前記処理と関係する誤り状態が存在す
    るか示す複数可能な状態の内の一つを有する状態フラグ
    を発生し、前記特定の命令に続く前記命令の流れの中に
    有る命令の処理によっては変更されない前記プロセッサ
    のデータ記憶部内の所定の位置に前記状態フラグを記憶
    する工程、 前記特定の命令とは異なる一つ以上の別の命令の実行の
    後を含む前記状態フラグの発生に続く任意の時に、単一
    の誤り検出命令を実行する工程であり、前記単一の誤り
    命令が、 (a)前記記憶された状態フラグの状態をテストし、そ
    して (b)前記特定の命令の実行に関連して誤り状態が存在
    することを示す前記状態フラグの第1の状態に応答して
    のみ、誤り扱い制御プログラムに対して誤り状態を信号
    発生し、前記誤り検出命令による前記誤り状態の前記信
    号発生が、前記誤り扱い制御プログラムをして、スタッ
    クに情報を記憶させ、この情報が、前記誤り扱い制御プ
    ログラムが誤り状態の発生源を識別することを可能にす
    る前記工程、及び 前記状態フラグと無関係に、前記命令の流れの中に有る
    前記単一の誤り検出命令に続く次のシークエンシャル命
    令の実行を開始する工程から成ることを特徴とする方
    法。
  2. 【請求項2】命令の流れの中に有る命令を処理するデジ
    タルデータプロセッサであり、前記命令の流れを構成す
    る命令は、状態命令形態及び誤り検出命令を含み、前記
    プロセッサは、 A.命令実行結果データを含むデータを記憶するための前
    記プロセッサ内のデータ記憶部、 B.前記状態命令形態の前記命令の流れの中の特定の命令
    の処理の間、誤り状態を識別するための所定の規則に基
    づいて、前記特定の命令の前記処理と関係する誤り状態
    が存在するか否かを示す複数可能な状態の内の一つを有
    する状態フラグを発生し、前記特定の命令に続く前記命
    令の流れの中の処理によって変更されない前記プロセッ
    サのデータ記憶部内の所定の位置内に前記状態フラグを
    記憶する状態命令実行手段、及び C.前記特定の命令とは異なる一つ以上の別の命令の実行
    の後の任意の時を含む前記状態フラグの発生に続く任意
    の時に、前記特定の命令に続く前記命令の流れの中で発
    生する単一の誤り検出命令に応答して、前記特定の命令
    と関係する前記記憶された状態フラグの状態をテスト
    し、且つ前記特定の命令の実行に関連して誤り状態が存
    在することを示す前記状態フラグの第1の状態に応答し
    てのみ、誤り扱い制御プログラムに対して誤り状態を信
    号発生し、前記誤り検出命令による前記誤り状態の前記
    信号発生が、前記誤り扱い制御プログラムをして、スタ
    ックに情報を記憶させ、この情報が、前記誤り扱い制御
    プログラムが誤り状態の発生源を識別することを可能に
    する、誤り検出命令実行手段、及び D.前記状態フラグと無関係に、前記命令の流れの中に有
    る前記単一の誤り検出命令に続く次のシークエンシャル
    命令の実行を開始するための次の命令実行手段からなる
    プロセッサ。
  3. 【請求項3】命令の流れの中に有る命令を処理している
    デジタルデータ処理システム内のプロセッサを制御する
    方法であり、この方法が、 A.前記命令の流れの中に有る特定の命令を処理している
    間、誤り状態を識別するための所定の規則に基づいて、
    前記特定の命令の前記処理と関係くる誤り状態が存在す
    るかを示す複数可能な状態の内の一つを有する状態フラ
    グを発生し、前記特定の命令に続く前記命令の流れの中
    の命令の処理によって変更されない前記プロセッサ内の
    前記データ記憶部内の所定の位置に前記状態フラグを記
    憶する工程、及び B.前記状態フラグの発生に続く任意の時に、前記記憶さ
    れた状態フラグの状態をテストする単一の誤り検出命令
    を実行し、 I.誤り状態が存在することを示す前記状態フラグの前記
    状態に応答してのみ、 a.状態を識別するために使用する誤りフレームをスタッ
    クへ記憶し、この記憶が、 i.前記スタックに誤り状態を生じた前記命令を指し示す
    アドレスを記憶し、 ii.前記スタックにプロセッサ状態識別を記憶し、そし
    て iii.前記スタックに前記状態フラグを条件付けた命令の
    アドレスを記憶することから成り、更に、 b.誤り扱い制御プログラムに対して誤りを信号発生し、
    そして II.前記単一の誤り検出命令に続く前記命令の流れの中
    の次の命令を開始する工程からなる方法。
  4. 【請求項4】命令の流れの中に有る命令を処理するため
    のデジタルデータプロセッサであり、前記命令の流れを
    構成する命令が状態命令形態及び誤り検出命令を含み、
    前記プロセッサが、 A.命令実行結果データを含むデータを記憶するための、
    前記プロセッサ内の複数のレジスタ、 B.前記状態命令形態の前記命令の流れの中の特定の命令
    を処理している間、前記レジスタの所定のものの内の所
    定のビットを条件付け、これにより前記特定の命令の前
    記処理と関係して誤り状態が存在するかを示し、且つ前
    記特定の命令に続く前記命令の流れの中の命令の処理に
    よって変更されない前記レジスタ内の所定の位置に前記
    条件ビットを記憶する状態命令実行手段、 C.前記状態フラグの発生に続く任意の時に、前記特定の
    命令に後続する命令の流れで発生する単一の誤り検出命
    令に応答して、前記特定の命令とは異なる介在命令の実
    行の後の状態をテストすることを含む、前記特定の命令
    と関係する前記所定の状態ビットの状態をテストする誤
    り検出命令実行手段からなり、この誤り検出命令実行手
    段が、 I.誤り状態が存在するかを決める前記所定のレジスタ内
    の前記所定のビットを検査し、誤り状態を指示する前記
    状態フラグの第1の状態のみに応答する誤り状態手段
    と、 II.前記状態フラグと無関係に、前記単一の誤り検出命
    令に続く次のシークエンシャル命令を実行を開始するた
    めの次の命令実行手段とからなり、 前記誤り状態手段が、 a.状態を識別するために使用する誤りフレームをスタッ
    クに記憶するためのスタック記憶手段であり、 i.前記スタックに前記誤りを引き起こした前記命令を指
    し示すアドレスを記憶するための手段、 ii.前記スタックにプロセッサ状態識別を記憶するため
    の手段、及び iii.前記スタックに前記状態フラグを条件付けた命令の
    アドレスを記憶するための手段を含むスタック記憶手段
    と、 b.前記スタック記憶手段が、前記スタックに前記誤りフ
    レームを記憶した後誤り扱い命令シークエンスを有する
    誤り制御プログラムに対して誤りを信号発生するための
    手段であり、前記誤り検出命令による前記誤り状態の信
    号発生が、前記誤り扱い制御プログラムをして、情報を
    スタックに記憶させ、これによって、前記誤り扱い制御
    プログラムが誤り状態の発生源を識別することを可能に
    する手段から成るデジタルデータプロセッサ。
  5. 【請求項5】命令の流れの中に有る命令を処理している
    デジタルデータ処理システム内のプロセッサを制御する
    ための方法が、 前記命令の流れの中に有るアドレスを参照している特定
    の命令を処理している間、前記特定の命令の処理と関係
    して、前記参照されたアドレスが特定の範囲外にあるか
    を、従って誤り状態が存在するかを示す複数可能な状態
    の内の一つを有する状態フラグを発生し、前記特定の命
    令に続く前記命令の流れの中の命令の処理によって変更
    されない前記プロセッサのデータ記憶部内の所定の位置
    に前記状態フラグを記憶する工程、 前記状態フラグの発生に続く任意の時に、前記記憶され
    た状態フラグの状態をテストし且つ誤り状態の存在を示
    す前記状態フラグの第1の状態に応答してのみ誤り扱い
    プログラムに対して誤り状態を信号発生する単一の誤り
    検出命令を実行する工程であって、前記誤り検出命令に
    よる前記誤り状態の信号発生が、前記誤り扱い制御プロ
    グラムをして、スタックに情報を記憶させ、これによっ
    て、前記誤り扱い制御プログラムが誤り状態の発生源を
    識別することを可能にし、前記誤り情報を記憶させるこ
    とが、前記命令を指し示すアドレスを記憶すること、プ
    ロセッサ状態識別を記憶すること、及び状態フラグを条
    件付けた命令を記憶することからなる、前記実行する工
    程、及び 前記状態フラグの状態と無関係に、前記命令の流れの中
    に有る前記単一の誤り検出命令に続く次のシークエンシ
    ャル命令の実行を開始する工程から成る方法。
  6. 【請求項6】命令の流れの中に有る命令を処理するため
    のデジタルデータプロセッサであり、命令が前記命令の
    流れを構成しており、前記プロセッサが、 A.アドレスを参照する前記命令の流れの中の特定の命令
    を処理している間、参照されたアドレスが所定の範囲外
    にあるかを示す状態フラグ、誤り状態が存在するかを示
    す状態フラグを発生し、前記プロセッサ内の所定の位置
    内に前記状態フラグを記憶する状態命令実行手段、およ
    び B.前記特定の命令に後続する前記命令の流れの中に発生
    する単一の誤り検出命令に応答して、前記状態フラグの
    状態をテストし且つ誤り状態の存在を示す前記状態フラ
    グに応答してのみ誤り状態を誤り制御手段に信号発生
    し、前記状態フラグの前記状態とは無関係に、前記命令
    の流れの中の次の命令を前記プロセッサが実行可能とす
    る誤り検出命令実行手段を含むデジタルデータプロセッ
    サ。
JP63164822A 1987-07-01 1988-07-01 データ誘起状態信号発生装置及び方法 Expired - Fee Related JP2626675B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6928587A 1987-07-01 1987-07-01
US69285 1987-07-01

Publications (2)

Publication Number Publication Date
JPS6488748A JPS6488748A (en) 1989-04-03
JP2626675B2 true JP2626675B2 (ja) 1997-07-02

Family

ID=22087945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63164822A Expired - Fee Related JP2626675B2 (ja) 1987-07-01 1988-07-01 データ誘起状態信号発生装置及び方法

Country Status (9)

Country Link
EP (1) EP0297890B1 (ja)
JP (1) JP2626675B2 (ja)
KR (1) KR970004510B1 (ja)
CN (1) CN1013903B (ja)
AU (1) AU626264B2 (ja)
BR (1) BR8803379A (ja)
CA (1) CA1303745C (ja)
DE (1) DE3856049T2 (ja)
IN (1) IN169637B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079775B2 (en) 2001-02-05 2006-07-18 Finisar Corporation Integrated memory mapped controller circuit for fiber optics transceiver
US7346809B2 (en) * 2004-08-05 2008-03-18 International Business Machines Corporation Bootable post crash analysis environment
US10248488B2 (en) 2015-12-29 2019-04-02 Intel Corporation Fault tolerance and detection by replication of input data and evaluating a packed data execution result

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4334268A (en) * 1979-05-01 1982-06-08 Motorola, Inc. Microcomputer with branch on bit set/clear instructions
JPS6014338A (ja) * 1983-06-30 1985-01-24 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 計算機システムにおける分岐機構

Also Published As

Publication number Publication date
EP0297890A2 (en) 1989-01-04
EP0297890B1 (en) 1997-10-22
KR890002758A (ko) 1989-04-11
AU626264B2 (en) 1992-07-30
CA1303745C (en) 1992-06-16
DE3856049T2 (de) 1998-05-07
KR970004510B1 (en) 1997-03-28
CN1031286A (zh) 1989-02-22
AU1863988A (en) 1989-01-05
EP0297890A3 (en) 1990-07-11
BR8803379A (pt) 1989-01-24
CN1013903B (zh) 1991-09-11
DE3856049D1 (de) 1997-11-27
JPS6488748A (en) 1989-04-03
IN169637B (ja) 1991-11-23

Similar Documents

Publication Publication Date Title
EP0106670B1 (en) Cpu with multiple execution units
EP0205809B1 (en) Vector processing
EP0333366B1 (en) Context switching method and apparatus for use in a vector processing system
EP0297893B1 (en) Apparatus and method for recovering from page faults in vector data processing operations
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US5113521A (en) Method and apparatus for handling faults of vector instructions causing memory management exceptions
EP0730226B1 (en) Hardware support for fast software emulation of unimplemented instructions
US5987600A (en) Exception handling in a processor that performs speculative out-of-order instruction execution
JPH0283735A (ja) 命令先取り装置
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
US5615402A (en) Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch
US6449713B1 (en) Implementation of a conditional move instruction in an out-of-order processor
KR0122527B1 (ko) 슈퍼스칼라 프로세서 시스템에서 비순차적 명령어의 디스패치 및 실행을 위한 방법 및 시스템
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
KR20040005927A (ko) 데이터 처리장치에서의 소스 레지스터 록킹
US5678016A (en) Processor and method for managing execution of an instruction which determine subsequent to dispatch if an instruction is subject to serialization
US4791560A (en) Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
JP2626675B2 (ja) データ誘起状態信号発生装置及び方法
US5278840A (en) Apparatus and method for data induced condition signalling
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JP2778717B2 (ja) データ処理ユニット
EP0201848A2 (en) Information processing system with enhanced instruction execution and support control
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
KR940003384B1 (ko) 저장 및 복귀방법과 이 방법의 실행에 가장 적절한 프로세서 시스템
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees