JP2000040081A - ベクトルデータ処理装置 - Google Patents

ベクトルデータ処理装置

Info

Publication number
JP2000040081A
JP2000040081A JP10209093A JP20909398A JP2000040081A JP 2000040081 A JP2000040081 A JP 2000040081A JP 10209093 A JP10209093 A JP 10209093A JP 20909398 A JP20909398 A JP 20909398A JP 2000040081 A JP2000040081 A JP 2000040081A
Authority
JP
Japan
Prior art keywords
exception
register
result
vector
data
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.)
Pending
Application number
JP10209093A
Other languages
English (en)
Inventor
Toshihiko Nakamura
俊彦 中村
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP10209093A priority Critical patent/JP2000040081A/ja
Publication of JP2000040081A publication Critical patent/JP2000040081A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 演算器で間欠障害が発生しても、ベクトルデ
ータに対する演算を再実行し、ジョブアボートを防ぐ。 【解決手段】 ベクトルレジスタ11、12に格納され
ているベクトルデータは、順次、毎サイクル、リードデ
ータレジスタ110、120に読み出され、演算器14
で演算される。同時にベクトルデータから結果予測回路
13で、演算結果に対するチェック情報(たとえばパリ
ティ)を作成し、比較回路15により演算器14で作成
されたチェック情報(パリティ)との比較を行う。比較
回路15で不一致が検出されると、演算例外検出回路1
6では、無効演算例外の例外報告を出力し、デコーダ1
7で選択号を作成し、それにしたがって、選択回路18
で、非数を選択、出力する。例外報告は、また、例外フ
ラグ保持レジスタ19に格納される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はベクトルデータ処理
装置に関し、特に、障害発生時にジョブ中断を防ぐ機能
を持つベクトルデータ処理装置に関する。
【0002】
【従来の技術】近年プロセッサ性能の向上、システム処
理性能の向上に伴って、単位時間あたりに処理できるデ
ータ量も飛躍的に増加してきている。また、微細化製造
技術の進歩により、LSIなどの集積回路の集積度が向
上し、加えてマシン動作周波数も非常に高速になってき
ており、金属配線の切断などの様な固定的な障害より
も、配線間のノイズやクロック信号のジッタなどの影響
により、一連のデータ処理の中の1要素だけの障害と言
うような、間欠的な障害が発生する割合が増加してきて
いる。このような状況の中で、高速・高性能・高信頼度
を有したシステムを提供することが要求されている。
【0003】従来、計算機で発生した障害を検出する障
害検出回路は、障害報告を直接、障害処理装置や、診断
・サービスプロセッサに行うように構成されており、ハ
ードウェア障害を検出すると、プロセッサやシステムを
停止して障害処理を行うように構成されている。
【0004】たとえば、「特開昭63−188243号
公報」記載の技術は、障害による例外発生時に、システ
ムの使用状況、およびハードウェアに関する障害情報の
ログアウトを行えるようにしたものである。
【0005】
【発明が解決しようとする課題】上述の従来の技術にお
いては、ハードウェアの障害情報のログ採取するため、
ジョブをアボート(中断)する構成をとっている。した
がって、数10時間、数日あるいは数週間にわたり連続
処理を行うような大規模な処理で障害を検出した場合に
おいても、ジョブアボートを起こし、障害を発生したハ
ードウェア交換後に、再実行処理を行わなければならな
いという問題がある。
【0006】本発明の目的は、システムや処理そのもの
を停止することなく、障害情報そのものを、演算例外と
し、結果データに例外処理時と同様なデータを用いるこ
とで、ジョブアボートを発生しない高信頼度のベクトル
浮動小数点データ処理装置を提供することである。
【0007】
【課題を解決するための手段】本発明の第1のベクトル
データ処理装置は、ベクトルデータの要素の演算におい
て、ハードウェアの障害により演算結果が不正であると
判断された場合に、演算結果を非数とする手段を有す
る。
【0008】本発明の第2のベクトルデータ処理装置
は、前記第1のベクトルデータ処理装置であって、前記
非数としての演算結果を算出されたベクトルデータに対
する演算を再実行することを特徴とする請求項1記載の
ベクトルデータ処理装置。
【0009】本発明の第3のベクトルデータ処理装置
は、(a)演算の対象となる一連の順序づけられたベク
トルデータを格納し、命令で指定された要素数分の要素
を1マシンサイクルに1要素ずつ読み出し、命令におい
て結果を格納するものとして指定された場合には、演算
結果のベクトルデータを順に入力し指定された要素位置
に格納する第1のベクトルレジスタおよび第2のベクト
ルレジスタと、(b)前記第1のベクトルレジスタから
読み出されたベクトルデータを格納する第1のリードデ
ータレジスタと、(c)前記第2のベクトルレジスタか
ら読み出されたベクトルデータを格納する第2のリード
データレジスタと、(d)前記第1のリードデータレジ
スタおよび前記第2のリードレジスタから供給されるベ
クトルデータを1マシンサイクルごとに入力し、命令で
指定される演算を施し、1マシンサイクルに1要素のデ
ータである演算結果を出力する演算器と、(e)前記演
算器からの前記演算結果を格納する中間結果レジスタ
と、(f)演算対象の要素となるベクトルデータを第1
のベクトルレジスタおよび第2のベクトルレジスタから
入力して、前記演算器による演算とは別のアルゴリズム
を用いて、前記演算結果のチェックを行うためのチェッ
ク情報を生成する結果予測回路と、(g)前記演算器か
らの前記演算結果から結果予測回路のアルゴリズムに対
応したチェック情報を取り出し、前記結果予測回路が生
成したチェック情報との比較を行い一致するかどうかの
一致情報を出力する比較回路と、(h)前記演算器から
の演算情報に基づいて演算規格に対応した演算例外を検
出し、かつ前記比較回路からの前記一致情報が不一致を
示す場合、無効演算例外とし、例外報告を生成する演算
例外検出回路と、(i)前記演算例外検出回路からの前
記例外報告の内容に基づいて、最終的な演算結果を選択
するための選択信号を作成するデコーダと、(j)前記
中間結果レジスタからの前記演算結果と複数の定数値と
を前記デコーダからの前記選択信号にしたがって選択
し、前記最終的な演算結果を出力する選択回路と、を有
する。
【0010】本発明の第4のベクトルデータ処理装置
は、前記第3のベクトルデータ処理装置であって、
(a)前記演算例外検出回路からの前記例外報告を保持
する例外フラグ保持レジスタと、(b)前記例外フラグ
保持レジスタ内の例外報告による割り込みを抑止するた
めの抑止情報を保持する割り込み抑止フラグと(c)前
記例外フラグ保持レジスタおよび前記割り込み抑止フラ
グの内容にしたがって割り込みを発生させる割り込み指
示を生成する割り込み指示生成回路と、を有する。
【0011】本発明の第5のベクトルデータ処理装置
は、前記第4のベクトルデータ処理装置であって、前記
例外フラグ保持レジスタを調べ、例外を検出すると、前
記最終的な演算結果のデータに非数が含まれるかどうか
を調べ、非数となったデータに対する演算を再実行する
手段を有する。
【0012】本発明の第6のベクトルデータ処理装置
は、(a)演算の対象となる一連の順序づけられたベク
トルデータを格納し、命令で指定された要素数分の要素
を1マシンサイクルに1要素ずつ読み出し、命令におい
て結果を格納するものとして指定された場合には、演算
結果のベクトルデータを順に入力し指定された要素位置
に格納する第1のベクトルレジスタおよび第2のベクト
ルレジスタと、(b)前記第1のベクトルレジスタから
読み出されたベクトルデータを格納する第1のリードデ
ータレジスタと、(c)前記第2のベクトルレジスタか
ら読み出されたベクトルデータを格納する第2のリード
データレジスタと、(d)前記第1のリードデータレジ
スタおよび前記第2のリードレジスタから供給されるベ
クトルデータを1マシンサイクルごとに入力し、命令で
指定される演算を施し、1マシンサイクルに1要素のデ
ータである演算結果を出力する演算器と、(e)前記演
算器からの前記演算結果を格納する中間結果レジスタ
と、(f)演算対象の要素となるベクトルデータを第1
のベクトルレジスタおよび第2のベクトルレジスタから
入力して、前記演算器による演算とは別のアルゴリズム
を用いて、前記演算結果のチェックを行うためのチェッ
ク情報を生成する結果予測回路と、(g)前記演算器か
らの前記演算結果から結果予測回路のアルゴリズムに対
応したチェック情報を取り出し、前記結果予測回路が生
成したチェック情報との比較を行い一致するかどうかの
一致情報を出力する比較回路と、(h)前記演算器から
の演算情報に基づいて演算規格に対応した演算例外を検
出し、かつ前記比較回路からの前記一致情報が不一致を
示す場合、障害を示す例外とし、例外報告を生成する演
算例外検出回路と、(i)前記演算例外検出回路からの
前記例外報告の内容に基づいて、最終的な演算結果を選
択するための選択信号を作成するデコーダと、(j)前
記中間結果レジスタからの前記演算結果と複数の定数値
とを前記デコーダからの前記選択信号にしたがって選択
し、前記障害を示す例外が発生した場合には、通常の非
数とは異なる別の非数を選択し、前記最終的な演算結果
を出力する選択回路と、を有する。
【0013】本発明の第7のベクトルデータ処理装置
は、前記第6のベクトルデータ処理装置であって、
(a)前記演算例外検出回路からの前記例外報告を保持
する例外フラグ保持レジスタと、(b)前記例外フラグ
保持レジスタ内の例外報告による割り込みを抑止するた
めの抑止情報を保持する割り込み抑止フラグと(c)前
記例外フラグ保持レジスタおよび前記割り込み抑止フラ
グの内容にしたがって割り込みを発生させる割り込み指
示を生成する割り込み指示生成回路と、を有する。
【0014】本発明の第8のベクトルデータ処理装置
は、前記第7のベクトルデータ処理装置であって、前記
例外フラグ保持レジスタを調べ、前記障害を示す例外を
検出すると、前記最終的な演算結果のデータに非数が含
まれるかどうかを調べ、非数となったデータに対する演
算を再実行する手段を有する。
【0015】
【発明の実施の形態】次に、本発明の第1の実施の形態
について図面を参照して詳細に説明する。図1は、本発
明の第1の実施の形態を示すブロック図である。図1を
参照すると、本発明の第1の実施の形態は、主記憶(図
示せず)に接続され、演算の対象となる一連の順序づけ
られたベクトルデータを格納し、命令で指定された要素
数分の要素を1マシンサイクルに1要素ずつ読み出し、
順に演算器14に対して供給を行い、命令において結果
レジスタとして指定された場合には、演算結果のベクト
ルデータを順に入力し、指定された要素位置に格納する
ベクトルレジスタ11およびベクトルレジスタ12と、
ベクトルレジスタ11から読み出されたデータを格納す
るリードデータレジスタ110と、ベクトルレジスタ1
2から読み出されたデータを格納するリードデータレジ
スタ120と、リードデータレジスタ110、120に
接続され、リードデータレジスタ110、120から供
給されるベクトルデータに対して、命令で指定される演
算を施し、1マシンサイクルに1組の演算対象要素であ
るベクトルデータを入力し、1マシンサイクルに1要素
の結果を出力するパイプライン構成の演算器14と、演
算器14の出力である演算結果を格納する中間結果レジ
スタ140と、演算対象要素となるベクトルデータを入
力して、演算とは別のアルゴリズムを用いて、演算結果
のチェックを行うためのチェック情報を生成する結果予
測回路13と、演算器14が生成した演算結果から結果
予測回路13のアルゴリズムに対応したチェック情報
(たとえば、パリティプレディクションにおけるパリテ
ィや、モジュロ3における剰余)を取り出し、結果予測
回路13が生成したチェック情報との比較を行い不一致
であれば障害情報を出力する比較回路15と、IEEE
754演算規格に対応した演算例外(IEEE754演
算規格で定められている例外としては、無効演算、ゼロ
除算、オーバーフロー、アンダーフロー、精度落ちがあ
る)を演算器14からの演算情報および比較回路15か
らの障害情報に基づいて検出し、例外報告を生成する演
算例外検出回路16と、演算例外検出回路16から出力
される例外報告を基に、最終的な演算結果を選択するた
めの選択信号を作成し選択回路18に出力するデコーダ
17と、中間結果レジスタ140から出力される演算結
果と5個の定数値とをデコーダ17から送出される選択
信号にしたがって選択し、最終的な演算結果を出力する
選択回路18と、演算例外検出回路16からの例外報告
を保持する例外フラグ保持レジスタ19と、例外フラグ
保持レジスタ19内の例外報告による割り込みを抑止す
るための抑止情報を保持する割り込み抑止フラグ20
と、例外フラグ保持レジスタ19および割り込み抑止フ
ラグ20にしたがって割り込みを発生させる割り込み指
示を生成する割り込み指示生成回路21とから構成され
る。
【0016】ここで、演算器14からの演算情報とは、
(1)無効演算例外に対しては、演算対象となる入力デ
ータが特定の指定されたデータであるか否かを示す情
報、すなわち、報告型非数、無限大、“0”および各符
号を示す情報であり、(2)ゼロ除算例外に対しては、
被除数が“0”ではない通常の有限値であることを示す
情報と、除数が“0”であることを示す情報であり、
(3)浮動小数点オーバーフロー例外に対しては、演算
中の指数値の情報、および仮数部からの桁上がりの情報
であり、(4)浮動小数点アンダーフロー例外に対して
は、演算中の指数値の情報、および仮数部の上位桁から
有効桁までの間のゼロの数をカウントしたリーディング
ゼロカウント値の情報であり、(5)精度落ち例外に対
しては、仮数部の下位桁で演算結果の有効桁からあふれ
る桁部分に値が有るか否かを示す情報である。
【0017】また、演算器14の動作が保証できないよ
うな障害が結果予測回路13ならびに比較回路15によ
って検出された場合は、比較回路15は、演算例外検出
回路16に障害情報を送出し、演算例外検出回路16
は、無効演算例外を例外報告として出力する。
【0018】詳細には、IEEE754演算規格による
と、「報告型非数(signaling NaN)との
演算」、「異符号の無限大同士の加算あるいは同符号の
無限大同士の減算」、「無限大と0の乗算」、「0÷0
または無限大÷無限大の除算」、および「非数との比較
演算」の5つの場合に無効演算例外を発生し、その結果
を非報告型非数(quite NaN)とするように定
められている。本発明の第1の実施の形態においては、
これに加えて障害検出時も同様にして無効演算例外を発
生しその結果として非報告型非数を出力する。
【0019】次に、例外フラグ保持レジスタ19、割り
込み抑止フラグ20、および割り込み指示生成回路21
の詳細について図2を参照して説明する。図2は、例外
フラグ保持レジスタ19、割り込み抑止フラグ20、お
よび割り込み指示生成回路21を示す詳細ブロック図で
ある。図2を参照すると、例外フラグ保持レジスタ19
は、演算例外検出回路16からの例外報告(無効演算例
外、ゼロ除算例外、オーバーフロー例外、アンダーフロ
ー例外、および精度落ち例外)をビットごとに保持する
レジスタである。
【0020】また、割り込み抑止フラグ20は、例外フ
ラグ保持レジスタ19の各ビットに対応する割り込み抑
止のためのフラグを保持するレジスタである。割り込み
を抑止する場合には、対応するフラグを“0”に設定す
る。この設定は、設定用の命令の実行により行われる。
【0021】また、割り込み指示生成回路21は、例外
フラグ保持レジスタ19および割り込み抑止フラグ20
の対応する出力同士の論理積をAND回路で作成し、論
理積のすべての論理和をOR回路で作成し、割り込み指
示として出力する回路である。
【0022】次に、本発明の実施の形態の動作について
図面を参照して説明する。結果予測回路13のアルゴリ
ズムがパリティプレディクションの場合について説明す
る。たとえば、FORTRANプログラム上の記述にお
いて、DO 10 I=0,100C(I)=A(I)
+B(I)10 CONTINUEとコーディングされ
た演算を実施する場合、主記憶上にある配列を演算(加
算)するために、まず配列のデータをベクトルレジスタ
11、12にそれぞれロードする。すなわち、ベクトル
レジスタ11には、配列A={a0,a1,a2,a
3,a4,…,a99}が、ベクトルレジスタ12に
は、配列B={b0,b1,b2,b3,b4,…,b
99}が、それぞれ100要素ずつ格納される。
【0023】そして、加算結果として、配列C={a0
+b0,a1+b1,a2+b2,a3+b3,a4+
b4,…,a99+b99}を算出する。それぞれに格
納されている配列データの各要素を順に読み出しリード
データレジスタ110、120に供給する。すなわち、
第1マシンサイクルでは、要素a0とb0を、第2マシ
ンサイクルでは要素a1とb2を、以下同様にして第1
00マシンサイクルで要素a99とb99を読み出すま
で、読み出しと供給を行う。
【0024】演算器14においては、加算命令とその時
の丸めモードなど演算に必要となる情報と起動が命令制
御部(図示せず)から供給され、上述した各要素の組が
順にリードデータレジスタ110、120から入力され
加算が実行される。
【0025】演算器14の出力の演算結果は、サイクル
ごとに中間結果レジスタ140に格納される。
【0026】結果予測回路13は、リードデータレジス
タ110およびリードデータレジスタ120から順に供
給される各データ、またはデータに付随したパリティを
入力してパリティプレディクションのアルゴリズムに基
づいて加算結果のパリティを算出して出力する。出力す
るタイミングは演算器14から出力される対応する加算
結果に同期している。
【0027】比較回路15は、演算器14から出力され
る加算結果と結果予測回路13から出力されるパリティ
を入力して、パリティの対応するビットを比較し、加算
動作の正当性のチェックを行う。
【0028】演算例外検出回路16は、各種の演算例外
の検出を各要素に対応して行うとともに、比較回路15
から出力される正当性のチェック結果を入力し、動作不
正の情報を検出すると、演算例外が無い演算結果に対し
ても、無効演算例外の例外報告する。また、演算例外検
出回路16は、内部にレジスタをもっており、中間結果
レジスタ140の内容に対応する例外報告がサイクルご
とに保持される。
【0029】デコーダ17は、演算例外検出回路16か
らの例外報告に基づいて、最終的な演算結果を選択する
選択回路18の選択信号を作成する。
【0030】選択回路18は、デコーダ17からの選択
信号に基づいて、中間結果レジスタ140から出力され
る加算結果に対して、動作不正が検出された対応する要
素に対して非数を選択し出力する。したがって、たとえ
ば、第3要素に動作不正が検出されたとすると、結果配
列Cは、{a0+b0,a1+b1,a2+b2,Na
N,a4+b4,…,a99+b99}となる。
【0031】例外フラグ保持レジスタ19は、演算例外
検出回路16からの例外報告を各ビットごとに保持す
る。
【0032】割り込み指示生成回路21は、例外フラグ
保持レジスタ19からの出力である例外報告と、割り込
み抑止フラグ20の出力とから割り込み指示を作成す
る。割り込み抑止フラグ20の無効演算例外のビットが
“0”であると、演算器14で動作不正が発生し、演算
結果として非数が出力された場合にも、割り込み指示は
生成されない。
【0033】プログラム状態語が割り込みを許可してい
る場合では、割り込みを受けて割り込み処理を行い、ま
た割り込みを許可しない場合は引き続き後続の命令を実
行する。
【0034】最終的な演算結果の、非数は後続の演算処
理においても非数のまま伝搬される。
【0035】次に、本発明の第1の実施の形態の動作に
ついて図3を参照してさらに詳細に説明する。図3は、
本発明の第1の実施の形態の動作を示すタイムチャート
である。図3を参照すると、ベクトルレジスタ11のリ
ードアドレス、ベクトルレジスタ12のリードアドレ
ス、リードデータレジスタ110、120の内容、演算
器14の出力である演算結果、選択回路18の出力、例
外フラグ保持レジスタ19の無効演算例外のビットが示
されている。
【0036】まず、命令の起動に応じて、ベクトルレジ
スタ11、12それぞれの読み出しを指定するリードア
ドレスを初期アドレスに設定する。すなわち、リードア
ドレスを両方とも、“0”に設定する(図3T1)。こ
のリードアドレスは、1マシンサイクルごとに“1”ず
つ加算され、この加算は命令で指定される要素数に達す
るまで繰り返される。
【0037】ベクトルレジスタ11、12には、このリ
ードアドレスの値に応じて対応するデータが読み出され
格納される。すなわち、リードデータレジスタ110に
ベクトルレジスタ11の要素0番のデータa0を、ま
た、リードデータレジスタ120にベクトルレジスタ1
2の要素0番のデータb0が格納される(図3T2)。
【0038】以下、順にリードデータレジスタ110に
はa1、a2、a3、・・・が、リードデータレジスタ
120にはb1、b2、b3、・・・が読み出され格納
される。
【0039】演算器14は、リードデータレジスタ11
0に格納されているデータを第1オペランド、リードデ
ータレジスタ120に格納されているデータを第2オペ
ランドとして、命令で指定される演算(ここでは加算)
を施す処理を行う。1マシンサイクルで加算が可能であ
る場合について説明する。サイクルT2で演算器14に
入力されたオペランドは、演算器14からa0+b0と
して出力される(図3T3)。
【0040】演算器14は、パイプラインに構成され、
以降、順に、a1+b1(図3T4)、a2+b2(図
3T5)、a3+b3(図3T6)、・・・を出力す
る。
【0041】次に、演算器14の出力は、順次、a0+
b0(図3T4)、a1+b1(図3T5)、a2+b
2(図3T6)、a3+b3(図3T7)、・・・のよ
うに中間結果レジスタ140に格納される。
【0042】演算器14にデータが入力されるのと同時
に、結果予測回路13にもデータが入力され、パリティ
プレディクションによりパリティが生成される。このパ
リティは、サイクルごとに演算器14からのパリティと
比較回路15で比較される。a3+b3の演算で演算器
14が障害を発生すると、比較結果は不一致となる(図
3T6)。
【0043】演算例外検出回路16は、演算器14から
の演算情報および比較回路15からの比較結果により例
外報告を毎サイクル作成する。この場合、比較回路15
からのa3+b3に対する比較結果(不一致を示す)に
より、無効演算の例外報告を作成する(図3T7)。
【0044】選択回路18は、中間結果レジスタ140
の出力である演算結果を1マシンサイクルごとに入力
し、演算例外検出回路16からの例外報告からデコーダ
17により作成された選択信号にしたがって、最終的な
演算結果を1サイクルごとに出力する。a0+b0(図
3T5)、a1+b1(図3T6)、a2+b2(図3
T7)の順に最終的な結果を出力し、a3+b3に関し
ては、非数が出力される(図3T8)。
【0045】また、例外フラグ保持レジスタ19は、演
算例外検出回路16からの例外報告により、無効演算例
外のビットを“1”にセットする(図3T8)。例外フ
ラグ保持レジスタ19はソフトウェアによって値のリセ
ットを行うように構成されており、ソフトウェアからリ
セット指示があるまで、値“1”を保持し続ける。
【0046】割り込み抑止フラグ20は、全ビットが
“0”に設定されているので、割り込み指示は発行され
ない。
【0047】次に、DO 10 I=0,100C
(I)=A(I)+B(I)10 CONTINUEの
実行が終了すると、システムは、例外フラグ保持レジス
タ19を調べ、“1”を検出すると、結果のデータに非
数が含まれるかどうかを調べ(たとえば、非数検出命令
を用いて)、非数となったデータのみに対する演算を最
初から再実行し、正しい演算結果を算出する。
【0048】このようにして、不正な結果を算出したジ
ョブのジョブアボートを防ぐことができる。
【0049】次に、本発明の第2の実施の形態について
説明する。本発明の第2の実施の形態は、障害報告を行
うのに、本発明の第1の実施の形態のように無効演算例
外を用いずに、演算例外検出回路16で、障害報告の情
報を作成し、この情報にしたがって、ビットを例外フラ
グ保持に新規に設けることにより、ソフトウェアによる
切り分けを容易にする構成をとる。
【0050】また、本発明の第1の実施の形態では、非
数をその障害発生の結果として出力するが、IEEE7
54演算規格においては、非数の定義としては、指数部
が最大値で、仮数部が非零値であると定められているの
で、障害発生時の結果となる非数と正常動作として検出
した無効演算例外の結果となる非数と、それぞれ異なる
フォーマットで定義できる。したがって、選択回路18
の入力となる非数に2種類の非数を用意し、障害検出状
態により選択する非数をそれぞれ対応する非数を出力す
るように構成する。
【0051】すなわち、結果予測回路13と比較回路1
5において、障害を検出せず正常な演算が行われたと判
断され、かつ上述した無効演算例外の対象となる演算が
実行されたと演算例外検出回路16で判断されたときに
は、無効演算例外の例外報告を出力し、選択回路18に
おいては正常動作非数を選択するようにする。結果予測
回路13および比較回路15において障害を検出したと
判断したときには、演算例外検出回路16は、障害動作
の無効演算例外の報告を行うように指示を出力し、選択
回路18においては障害動作を示す非数を選択するよう
にする。したがって、比較命令や分岐命令の被比較デー
タに障害動作を示す非数を用意することによって、ソフ
トウェアから容易に障害発生したデータか否かの判断を
行うことが可能となる。
【0052】
【発明の効果】本発明の第1の効果は、少ないハードウ
ェア量で、致命的なジョブアボートを防ぎ、高い信頼性
を実現できることである。
【0053】その理由は、障害が発生した演算結果を非
数として出力し、後で非数を算出した演算を再実行し、
正しい演算結果を算出するからである。
【0054】第2の効果は、演算の再実行が短時間で実
行できることである。
【0055】その理由は、演算の障害が発生した演算結
果のデータのみに関して演算の再実行を行うからであ
る。
【0056】第3の効果は、間欠障害によるジョブアボ
ートを回避できることである。
【0057】その理由は、障害が発生した演算結果を非
数として出力し、後で非数を算出した演算を再実行し、
正しい演算結果を算出するからである。
【0058】第4の効果は、障害発生による非数である
のか演算による結果の非数であるのかが容易に判別でき
ることである。
【0059】その理由は、本発明の第2の実施の形態の
ように、両方の場合に対応する異なる非数を用意するか
らである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図で
ある。
【図2】図1の例外報告の処理を行う回路の詳細ブロッ
ク図である。
【図3】本発明の第1の実施の形態の動作を示すタイム
チャートである。
【符号の説明】
11 ベクトルレジスタ 12 ベクトルレジスタ 13 結果予測回路 14 演算器 15 比較回路 16 演算例外検出回路 17 デコーダ 18 選択回路 19 例外フラグ保持レジスタ 20 割り込み抑止フラグ 21 割り込み指示生成回路 110 リードデータレジスタ 120 リードデータレジスタ 140 中間結果レジスタ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ベクトルデータの要素の演算において、
    ハードウェアの障害により演算結果が不正であると判断
    された場合に、演算結果を非数とする手段を有すること
    をベクトルデータ処理装置。
  2. 【請求項2】 前記非数としての演算結果を算出された
    ベクトルデータに対する演算を再実行することを特徴と
    する請求項1記載のベクトルデータ処理装置。
  3. 【請求項3】(a)演算の対象となる一連の順序づけら
    れたベクトルデータを格納し、命令で指定された要素数
    分の要素を1マシンサイクルに1要素ずつ読み出し、命
    令において結果を格納するものとして指定された場合に
    は、演算結果のベクトルデータを順に入力し指定された
    要素位置に格納する第1のベクトルレジスタおよび第2
    のベクトルレジスタと、(b)前記第1のベクトルレジ
    スタから読み出されたベクトルデータを格納する第1の
    リードデータレジスタと、(c)前記第2のベクトルレ
    ジスタから読み出されたベクトルデータを格納する第2
    のリードデータレジスタと、(d)前記第1のリードデ
    ータレジスタおよび前記第2のリードレジスタから供給
    されるベクトルデータを1マシンサイクルごとに入力
    し、命令で指定される演算を施し、1マシンサイクルに
    1要素のデータである演算結果を出力する演算器と、
    (e)前記演算器からの前記演算結果を格納する中間結
    果レジスタと、(f)演算対象の要素となるベクトルデ
    ータを第1のベクトルレジスタおよび第2のベクトルレ
    ジスタから入力して、前記演算器による演算とは別のア
    ルゴリズムを用いて、前記演算結果のチェックを行うた
    めのチェック情報を生成する結果予測回路と、(g)前
    記演算器からの前記演算結果から結果予測回路のアルゴ
    リズムに対応したチェック情報を取り出し、前記結果予
    測回路が生成したチェック情報との比較を行い一致する
    かどうかの一致情報を出力する比較回路と、(h)前記
    演算器からの演算情報に基づいて演算規格に対応した演
    算例外を検出し、かつ前記比較回路からの前記一致情報
    が不一致を示す場合、無効演算例外とし、例外報告を生
    成する演算例外検出回路と、(i)前記演算例外検出回
    路からの前記例外報告の内容に基づいて、最終的な演算
    結果を選択するための選択信号を作成するデコーダと、
    (j)前記中間結果レジスタからの前記演算結果と複数
    の定数値とを前記デコーダからの前記選択信号にしたが
    って選択し、前記最終的な演算結果を出力する選択回路
    と、を有することを特徴とするベクトルデータ処理装
    置。
  4. 【請求項4】(a)前記演算例外検出回路からの前記例
    外報告を保持する例外フラグ保持レジスタと、(b)前
    記例外フラグ保持レジスタ内の例外報告による割り込み
    を抑止するための抑止情報を保持する割り込み抑止フラ
    グと(c)前記例外フラグ保持レジスタおよび前記割り
    込み抑止フラグの内容にしたがって割り込みを発生させ
    る割り込み指示を生成する割り込み指示生成回路と、を
    有することを特徴とする請求項3記載のベクトルデータ
    処理装置。
  5. 【請求項5】 前記例外フラグ保持レジスタを調べ、例
    外を検出すると、前記最終的な演算結果のデータに非数
    が含まれるかどうかを調べ、非数となったデータに対す
    る演算を再実行する手段を有することを特徴とする請求
    項4記載のベクトルデータ処理装置。
  6. 【請求項6】(a)演算の対象となる一連の順序づけら
    れたベクトルデータを格納し、命令で指定された要素数
    分の要素を1マシンサイクルに1要素ずつ読み出し、命
    令において結果を格納するものとして指定された場合に
    は、演算結果のベクトルデータを順に入力し指定された
    要素位置に格納する第1のベクトルレジスタおよび第2
    のベクトルレジスタと、(b)前記第1のベクトルレジ
    スタから読み出されたベクトルデータを格納する第1の
    リードデータレジスタと、(c)前記第2のベクトルレ
    ジスタから読み出されたベクトルデータを格納する第2
    のリードデータレジスタと、(d)前記第1のリードデ
    ータレジスタおよび前記第2のリードレジスタから供給
    されるベクトルデータを1マシンサイクルごとに入力
    し、命令で指定される演算を施し、1マシンサイクルに
    1要素のデータである演算結果を出力する演算器と、
    (e)前記演算器からの前記演算結果を格納する中間結
    果レジスタと、(f)演算対象の要素となるベクトルデ
    ータを第1のベクトルレジスタおよび第2のベクトルレ
    ジスタから入力して、前記演算器による演算とは別のア
    ルゴリズムを用いて、前記演算結果のチェックを行うた
    めのチェック情報を生成する結果予測回路と、(g)前
    記演算器からの前記演算結果から結果予測回路のアルゴ
    リズムに対応したチェック情報を取り出し、前記結果予
    測回路が生成したチェック情報との比較を行い一致する
    かどうかの一致情報を出力する比較回路と、(h)前記
    演算器からの演算情報に基づいて演算規格に対応した演
    算例外を検出し、かつ前記比較回路からの前記一致情報
    が不一致を示す場合、障害を示す例外とし、例外報告を
    生成する演算例外検出回路と、(i)前記演算例外検出
    回路からの前記例外報告の内容に基づいて、最終的な演
    算結果を選択するための選択信号を作成するデコーダ
    と、(j)前記中間結果レジスタからの前記演算結果と
    複数の定数値とを前記デコーダからの前記選択信号にし
    たがって選択し、前記障害を示す例外が発生した場合に
    は、通常の非数とは異なる別の非数を選択し、前記最終
    的な演算結果を出力する選択回路と、を有することを特
    徴とするベクトルデータ処理装置。
  7. 【請求項7】(a)前記演算例外検出回路からの前記例
    外報告を保持する例外フラグ保持レジスタと、(b)前
    記例外フラグ保持レジスタ内の例外報告による割り込み
    を抑止するための抑止情報を保持する割り込み抑止フラ
    グと(c)前記例外フラグ保持レジスタおよび前記割り
    込み抑止フラグの内容にしたがって割り込みを発生させ
    る割り込み指示を生成する割り込み指示生成回路と、を
    有することを特徴とする請求項6記載のベクトルデータ
    処理装置。
  8. 【請求項8】 前記例外フラグ保持レジスタを調べ、前
    記障害を示す例外を検出すると、前記最終的な演算結果
    のデータに非数が含まれるかどうかを調べ、非数となっ
    たデータに対する演算を再実行する手段を有することを
    特徴とする請求項7記載のベクトルデータ処理装置。
JP10209093A 1998-07-24 1998-07-24 ベクトルデータ処理装置 Pending JP2000040081A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10209093A JP2000040081A (ja) 1998-07-24 1998-07-24 ベクトルデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10209093A JP2000040081A (ja) 1998-07-24 1998-07-24 ベクトルデータ処理装置

Publications (1)

Publication Number Publication Date
JP2000040081A true JP2000040081A (ja) 2000-02-08

Family

ID=16567178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10209093A Pending JP2000040081A (ja) 1998-07-24 1998-07-24 ベクトルデータ処理装置

Country Status (1)

Country Link
JP (1) JP2000040081A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536589B2 (en) 2005-02-21 2009-05-19 Kabushiki Kaisha Toshiba Processing apparatus
JP2009187133A (ja) * 2008-02-04 2009-08-20 Nec Computertechno Ltd 浮動小数点演算装置、浮動小数点演算器、特殊数判定回路故障検出方法及びプログラム
US7870467B2 (en) 2008-04-30 2011-01-11 Kabushiki Kaisha Toshiba Data converter, information recorder, and error detector
JP2018531467A (ja) * 2015-10-22 2018-10-25 エイアールエム リミテッド ベクトル演算命令の例外条件処理

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536589B2 (en) 2005-02-21 2009-05-19 Kabushiki Kaisha Toshiba Processing apparatus
JP2009187133A (ja) * 2008-02-04 2009-08-20 Nec Computertechno Ltd 浮動小数点演算装置、浮動小数点演算器、特殊数判定回路故障検出方法及びプログラム
US7870467B2 (en) 2008-04-30 2011-01-11 Kabushiki Kaisha Toshiba Data converter, information recorder, and error detector
JP2018531467A (ja) * 2015-10-22 2018-10-25 エイアールエム リミテッド ベクトル演算命令の例外条件処理

Similar Documents

Publication Publication Date Title
Patel et al. Concurrent error detection in ALU's by recomputing with shifted operands
Carlough et al. The IBM zEnterprise-196 decimal floating-point accelerator
US7412475B1 (en) Error detecting arithmetic circuits using hexadecimal digital roots
US6519730B1 (en) Computer and error recovery method for the same
US4922446A (en) Apparatus and method for floating point normalization prediction
CA1324217C (en) Pipelined floating point adder for digital computer
US9110768B2 (en) Residue based error detection for integer and floating point execution units
US20020143837A1 (en) Microarchitecture of an artihmetic unit
KR101124550B1 (ko) 연산 회로, 연산 처리 장치, 및 연산 처리 방법
US4926374A (en) Residue checking apparatus for detecting errors in add, subtract, multiply, divide and square root operations
US3986015A (en) Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
US7769795B1 (en) End-to-end residue-based protection of an execution pipeline that supports floating point operations
US6658621B1 (en) System and method for silent data corruption prevention due to next instruction pointer corruption by soft errors
US6378067B1 (en) Exception reporting architecture for SIMD-FP instructions
Pflanz et al. Online check and recovery techniques for dependable embedded processors
US5880982A (en) Error detecting digital arithmetic circuit
JPH0833842B2 (ja) 論理演算装置
US7290023B2 (en) High performance implementation of exponent adjustment in a floating point design
US5097436A (en) High performance adder using carry predictions
JPH0250492B2 (ja)
US20070067677A1 (en) Program-controlled unit and method
JP2000040081A (ja) ベクトルデータ処理装置
EP0251809B1 (en) Error detection carried out by the use of unused modulo-m code
US4924423A (en) High speed parity prediction for binary adders using irregular grouping scheme
US20200235751A1 (en) Residue number systems and methods for arithmetic error detection and correction

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011106