JP3036485B2 - 実数演算方式 - Google Patents
実数演算方式Info
- Publication number
- JP3036485B2 JP3036485B2 JP9267882A JP26788297A JP3036485B2 JP 3036485 B2 JP3036485 B2 JP 3036485B2 JP 9267882 A JP9267882 A JP 9267882A JP 26788297 A JP26788297 A JP 26788297A JP 3036485 B2 JP3036485 B2 JP 3036485B2
- Authority
- JP
- Japan
- Prior art keywords
- real number
- instruction
- unit
- real
- arithmetic
- 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
Links
Landscapes
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Description
ける実数演算方式に関し、特に実数演算器のアルゴリズ
ムの誤りによる演算精度の低下を回避する実数演算方式
に関する。
算の結果を一意に確定するために用いられている。従来
の実数演算方式のの一例として、例えば特開平7−17
5674号公報に記載された演算方式が知られている。
上記公報に記載された実数演算方式は、実数演算(浮動
小数点実数)の誤差を含んだ処理結果について、当該誤
差を含む処理結果と指定誤差を比較して、比較結果に基
づいて比較を行い、グループに分け、当該グループ毎に
代表値を決定し、代表値による多数決判定を行うことに
より、誤差を含んでいても近似値を得ることができるよ
うにしたものである。
報に提案される従来の実数演算方式においては、複数個
(N個)のバージョンプログラミングの処理結果に大き
なばらつきがあっても、多数決判定を行って処理結果を
決定してしまうため、必ずしも正しい処理結果を選択で
きるとは限らない、という問題点を有している。
ング間の差異を誤差の大小のみで判断しており、実数演
算器のアルゴリズムに誤りが無いことを前提としている
からである。
なされたものであって、その目的は、中央処理装置の実
数演算器のアルゴリズムに誤りがあっても、個々のアプ
リケーションソフトウェア毎の回避に頼ることなく、演
算結果の精度を低下させない実数演算方式を提供するこ
とにある。
本発明の実数演算方式は、中央処理装置において、実数
演算命令と該実数演算命令を実行するために用いられる
実数演算器あるいは整数演算器との対応を記憶する演算
命令表と、前記実数演算命令を解釈し前記演算命令表を
参照して前記実数演算命令に対応する演算器を用いて前
記実数演算命令を実行する命令解析実行器と、それぞれ
相異なるアルゴリズムに基づく複数の実数演算器と、整
数演算命令を実行するための整数演算器と、ソフトウェ
ア的に桁落ちのない実数演算を前記整数演算器で行うた
めの実数演算ファームウェアと、前記複数の実数演算器
の演算結果、及び前記整数演算器による実数演算の演算
結果を比較検証するための演算結果比較器と、を備えた
ことを特徴とする。
ゴリズムを有する複数の実数演算器およびソフトウェア
的に桁落ちのない実数演算を整数演算器で行うための実
数演算ファームウェア手段を設け、実数演算命令実行時
にそれぞれの演算結果の比較検証を行い、最適な実数演
算手段を選択し、実数演算命令と選択された実数演算手
段との対応を演算命令表に登録することにより、実数演
算器のアルゴリズムの誤りによる実数演算の精度低下を
回避するようにしたものである。
に説明する。本発明の実数演算方式は、その好ましい実
施の形態において、中央処理装置内に相異なる複数のア
ルゴリズムに基づいた複数個の実数演算器を設け、演算
命令実行時にそれぞれの演算結果の比較検証を行うこと
により、実数演算器のアルゴリズムの誤りによる演算精
度の低下を回避するようにしたものである。
その好ましい実施の形態において、中央処理装置が、そ
れぞれ相異なる演算論理方式(アルゴリズム)に基づく
複数個の実数演算器(図1の104〜106)と、整数
演算命令を実行するための整数演算器(図1の108)
と、整数演算器(図1の108)を用いて実数演算をプ
ログラムで行う実数演算ファームウェア手段(図1の1
09)と、実数演算命令と、該実数演算命令を実行する
ために用いられる演算器と、の対応を記憶保持する演算
命令表(図1の103)と、複数の実数演算器(図1の
104〜106)の演算結果、及び実数演算ファームウ
ェア手段による整数演算器(図1の108)を用いた実
数演算の演算結果を比較検証するための演算結果比較手
段(図1の107)と、命令を解釈し解釈した命令を実
行する命令解析実行手段(図1の101)と、を備え
る。
数演算命令(図1の102)を実行するあたり、演算命
令表(図1の103)を参照し、実数演算命令に対応す
る演算器が登録済みであるか否かを判定し、登録済みで
ある場合には、登録済みの演算器を用いて実数演算命令
を実行する。一方、実数演算命令に対応する演算器が未
登録の場合に、複数個の実数演算器(図1の104〜1
06)にて実数演算命令を実行し、演算結果比較手段
(図1の107)において、複数個の実数演算器(図1
の104〜106)の各演算結果を比較検証し、各演算
結果の差異が予め定めた規定値以下である場合には、複
数個の実数演算器(図1の104〜106)のうちのい
ずれか一の実数演算器による演算結果を命令実行結果と
するとともに、一の実数演算器を実数演算命令に対応す
る演算器として演算命令表(図1の103)に登録す
る。また、複数個の実数演算器(図1の104〜10
6)の各演算結果の差異が規定値以上の場合には、実数
演算ファームウェア手段(図1の109)による整数演
算器(図1の108)を用いた実数演算命令の演算結果
と、複数個の実数演算器(図1の104〜106)の各
演算結果とを比較検証し、最も良好な近似を与える実数
演算器による演算結果を命令実行結果とするとともに、
実数演算命令に対応する演算器として演算命令表(図1
の103)に登録する。
細に説明すべく、本発明の実施例について図面を参照し
て以下に説明する。
図である。図1を参照すると、本発明の第1の実施の形
態は、命令解析実行器101と、それぞれ相異なるアル
ゴリズムを有する複数個(N個)の実数演算器1(10
4)、実数演算器2(105)、…、実数演算器N(1
06)と、整数演算器108と、ソフトウェア的(プロ
グラム制御により)に桁落ちのない実数演算を整数演算
器108で行うためのファームウェアを格納した実数演
算ファームウェア109と、N個の実数演算器1(10
4)〜N(106)、および実数演算ファームウェア1
09による整数演算器108のそれぞれの演算結果を比
較検証するための演算結果比較器107と、実数演算命
令102と該実数演算命令の演算に使用する実数演算器
あるいは整数演算器との対応を記憶する演算命令表10
3と、を備えて構成されている。
るための流れ図である。本発明の一実施例の動作につい
て、図1及び図2を参照して以下に説明する。
(ステップS1)、取り込んだ命令の解析(ステップS
2)、命令の実行(ステップS4〜ステップS14)
を、終了命令に達するまで繰り返す(ステップS3)。
テップS3のNO分岐)、実数演算命令であるか否かを
判断する(ステップS4)。
ければ(ステップS4のNO分岐)、該解析された命令
を実行し(ステップS14)、命令の取り込み(ステッ
プS1)に戻る。
令であれば(ステップS4のYES分岐)、命令演算表
103を参照する(ステップS5)。
実行に使用する演算手段である実数演算器1(104)
〜N(106)のうちのいずれか、あるいは整数演算器
108との対応を表形式で登録するものであり、ステッ
プS5において演算命令表103を参照することで、実
数演算命令102に対応する演算器が演算命令表103
に登録済みであるか否かを判断する(ステップS6)。
演算命令に対応する演算器が演算命令表103に登録済
みであれば(ステップS6のYES分岐)、登録された
演算器を用いて該実数演算命令102を実行し(ステッ
プS14)、ステップS1の命令の取り込みに戻る。
で、該実数演算命令102に対応する演算器が未だ登録
されていない場合(ステップS6のNO分岐)、N個の
実数演算器1(104)〜N(106)で演算処理を行
う(ステップS7)。
(106)のそれぞれの演算結果を、演算結果比較器1
07で比較し(ステップS8)、それぞれの演算結果の
差異が演算誤差の範囲内にあるか否かを判断する(ステ
ップS9)。
算器での演算結果の差異がすべて演算誤差の範囲内にあ
れば(ステップS9のYES分岐)、N個の実数演算器
1(104)〜N(106)のいずれかを、実数演算命
令102に対応する演算手段として、演算命令表103
に登録し(ステップS10)、演算結果を実数演算命令
102の演算結果として設定する(ステップS11)。
そしてステップS1の命令の取り込みに戻る。
実数演算器での演算結果の差異が演算誤差の範囲内にな
ければ(ステップS9のNO分岐)、実数演算ファーム
ウェア109を用いた整数演算器108による実数演算
を実行し(ステップS12)、その演算結果と、N個の
実数演算器1(104)〜N(106)のそれぞれの演
算結果と、を演算結果比較器107により比較検証し
(ステップS13)、演算誤差の範囲内で最も良好な近
似である演算結果となった実数演算器を、実数演算命令
102の演算手段として、演算命令表103に登録し
(ステップ10)、演算結果を実数演算命令102の演
算結果として設定する(ステップS11)。そしてステ
ップS1の命令の取り込みに戻る。
差の範囲内の演算結果となった実数演算器が存在しなか
った場合には、整数演算器108を、演算命令102の
演算手段として、演算命令表103に登録し(ステップ
S10)、演算結果を実数演算命令102の演算結果と
して設定する(ステップS11)。
の実数演算器に実装されたアルゴリズム等の不具合によ
る実数演算の精度の低下を、ソフトウェア処理等外部的
な対策に頼ることなく中央処理装置内部で回避可能とし
たものである。
中央処理装置の実数演算器の実数演算アルゴリズムに誤
りがあったとしても、新たにソフトウェアによる外部的
な回避手段を講ずる必要が無く、信頼性を向上するとい
う効果を奏する。すなわち、本発明によれば、中央処理
装置の実数演算のアルゴリズムに誤りが発見されたとし
ても、既に作成済みのアプリケーションプログラムを修
正することは不要となり、修正作業工数、修正コスト等
を特段に実質上不要とし、信頼性、保守性を特段に向上
するものである。
装置内に相異なるアルゴリズムに基づいた複数個の実数
演算器を設け、演算処理実行時にそれらの演算結果につ
いて、比較検証を行うように構成したことによる。
る。
ーチャートである。
Claims (5)
- 【請求項1】中央処理装置が、相異なるアルゴリズムを
有する複数の実数演算手段と、ソフトウェア的に桁落ち
のない実数演算を整数演算手段で行うための実数演算フ
ァームウェア演算手段と、を備え、 実数演算命令の実行時に前記各演算手段の演算結果の比
較検証を行い、最適な演算手段を選択し、前記実数演算
命令と選択された演算手段との対応を演算命令表に登録
し、 実数演算命令の実行時に前記演算命令表に登録済みの演
算手段があればこれを用いて実数演算を行うことを特徴
とする実数演算方式。 - 【請求項2】中央処理装置において、実数演算命令と該
実数演算命令を実行するために用いられる実数演算器あ
るいは整数演算器との対応を記憶する演算命令表と、 前記実数演算命令を解釈し前記演算命令表を参照して前
記実数演算命令に対応する演算器を用いて前記実数演算
命令を実行する命令解析実行器と、 それぞれ相異なるアルゴリズムに基づく複数の実数演算
器と、 整数演算命令を実行するための整数演算器と、 ソフトウェア的に桁落ちのない実数演算を前記整数演算
器で行うための実数演算ファームウェアと、 前記複数の実数演算器の演算結果、及び前記実数演算フ
ァームウェアによる前記整数演算器を用いた実数演算の
演算結果を比較検証するための演算結果比較器と、 を備えたことを特徴とする実数演算方式。 - 【請求項3】中央処理装置が、互いに異なるアルゴリズ
ムに基づいた複数の実数演算器と、 実数演算命令と該実数演算命令を実行する実数演算器と
の対応を記憶部に表形式で記憶保持する演算命令表と、
を備え、 命令解釈実行手段が、実数演算命令の実行時に、前記演
算命令表から前記実数演算命令に対応する実数演算器を
検索し、 登録済みの場合には、前記登録済みの実数演算器で前記
実数演算命令を実行し、 一方、未登録の場合には、前記複数の実数演算器の各演
算結果を比較検証し、前記各演算結果の差異が予め定め
た規定値以下の場合には前記複数の実数演算器のうちの
一の実数演算器が選択され前記実数演算命令を該実数演
算器で実行するとともに前記記憶部に前記実数演算命令
に対応する演算器として登録し、 前記複数の実数演算器の各演算結果の差異が予め定めた
規定値を超える場合には近似の最もよい実数演算器を選
択して前記実数演算命令を該実数演算器で実行するとと
もに前記記憶部に前記実数演算命令に対応する演算器と
して登録する、ことを特徴とする実数演算方式。 - 【請求項4】整数演算器と、 前記整数演算器を用いてプログラムによりソフトウェア
的に実数演算を行う手段と、を備え、 前記実数演算命令に対応する演算器が前記演算対応表に
未登録であり、且つ、複数の実数演算器の各演算結果の
差異が予め定めた規定値を超える場合には、前記整数演
算器を用いてプログラムにより実数演算を行う手段によ
る演算結果を、前記複数の実数演算器の各演算結果と比
較検証し、近似の最もよい実数演算器を選択して前記実
数演算命令を該実数演算器で実行するとともに、前記記
憶部に登録する、ことを特徴とする請求項3記載の実数
演算方式。 - 【請求項5】中央処理装置が、 それぞれ相異なる演算論理に基づく複数の実数演算器
と、 整数演算命令を実行するための整数演算器と、 前記整数演算器を用いて実数演算をプログラムで行う実
数演算ファームウェア手段と実数演算命令と、該実数演
算命令を実行するために用いられる演算器と、の対応を
表形式で記憶部に記憶保持する演算命令表と、 前記複数の実数演算器の演算結果、及び前記実数演算フ
ァームウェア手段による前記整数演算器を用いた実数演
算の演算結果を比較検証するための演算結果比較手段
と、 前記命令を解釈し前記解釈した命令を実行する命令解析
実行手段と、 を備え、 前記命令解析実行手段は、前記実数演算命令を解釈し実
行するあたり、前記演算命令表を参照し、前記実数演算
命令に対応する演算器が登録済みであるかを判定し、登
録済みである場合には、前記登録済みの演算器を用いて
前記実数演算命令を実行し、 前記実数演算命令に対応する演算器が未登録の場合に、
前記複数の実数演算器にて前記実数演算命令を実行し、
前記演算結果比較手段において、前記複数の実数演算器
の各演算結果を比較検証し、前記各演算結果の差異が予
め定めた規定値以下である場合には、前記複数の実数演
算器のうちのいずれか一の実数演算器による演算結果を
命令実行結果とするとともに、前記一の実数演算器を前
記実数演算命令に対応する演算器として前記演算命令表
に登録し、 一方、前記複数の実数演算器の各演算結果の差異が前記
規定値を越える場合には、前記実数演算ファームウェア
手段による前記整数演算器を用いた前記実数演算命令の
演算結果と、前記複数の実数演算器の各演算結果とを比
較検証し、最も良好な近似を与える実数演算器による演
算結果を命令実行結果とするとともに、前記実数演算命
令に対応する演算器として前記演算命令表に登録し、所
定の演算誤差範囲内の演算結果となる実数演算器が存在
しない場合には前記整数演算器を前記実数演算命令に対
応する演算器として登録する、ことを特徴とする実数演
算方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9267882A JP3036485B2 (ja) | 1997-09-12 | 1997-09-12 | 実数演算方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9267882A JP3036485B2 (ja) | 1997-09-12 | 1997-09-12 | 実数演算方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1185554A JPH1185554A (ja) | 1999-03-30 |
JP3036485B2 true JP3036485B2 (ja) | 2000-04-24 |
Family
ID=17450950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9267882A Expired - Fee Related JP3036485B2 (ja) | 1997-09-12 | 1997-09-12 | 実数演算方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3036485B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010019250A (ja) * | 2008-07-10 | 2010-01-28 | General Electric Co <Ge> | 過回転防止を可能にする方法及びシステム |
KR101757732B1 (ko) | 2015-07-02 | 2017-07-26 | 주식회사 피플파이 | 훈증 및 아로마테라피 효과가 있는 핫팩 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1496435A1 (en) * | 2003-07-11 | 2005-01-12 | Yogitech Spa | Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor |
DE102005037217A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten |
-
1997
- 1997-09-12 JP JP9267882A patent/JP3036485B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010019250A (ja) * | 2008-07-10 | 2010-01-28 | General Electric Co <Ge> | 過回転防止を可能にする方法及びシステム |
KR101757732B1 (ko) | 2015-07-02 | 2017-07-26 | 주식회사 피플파이 | 훈증 및 아로마테라피 효과가 있는 핫팩 |
Also Published As
Publication number | Publication date |
---|---|
JPH1185554A (ja) | 1999-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132196B2 (en) | Apparatus and method for managing address collisions when performing vector operations | |
EP3756089B1 (en) | Processor achieving zero-overhead loop | |
CN112905446A (zh) | 测试用例的生成方法、装置、设备和存储介质 | |
JP3036485B2 (ja) | 実数演算方式 | |
US20060149949A1 (en) | Data processing device with branch prediction mechanism | |
CN111045730B (zh) | 一种用于risc-v架构的硬件快速中断处理系统及其方法 | |
US11099958B2 (en) | Instruction generation for validation of processor functionality | |
EP0577393B1 (en) | Method for executing a program | |
US20050050524A1 (en) | Generating software test information | |
JP3599499B2 (ja) | 中央処理装置 | |
US8392893B2 (en) | Emulation method and computer system | |
US10642971B2 (en) | Methods and systems for ensuring program code flow integrity | |
JP2531791B2 (ja) | フエッチアクセス時の異常処理方法 | |
US11301252B2 (en) | Executing mutually exclusive vector instructions according to a vector predicate instruction | |
JPH04288625A (ja) | マイクロコンピュータ | |
JP3213792B2 (ja) | 論理シミュレ−ション検証方式 | |
JP2616542B2 (ja) | 疑似障害発生システム | |
JP2799646B2 (ja) | パイプライン制御の計算機の診断方式 | |
CA1309777C (en) | Method and apparatus for executing concurrent co-processor operations and precisely handling related exceptions | |
JPWO2022157941A5 (ja) | プログラム解析支援装置、プログラム解析支援方法、及びプログラム | |
JP2504570B2 (ja) | 記憶領域の書き込み検査処理方法 | |
JPH08137714A (ja) | マルチタスクプログラムのデバッグ方法およびデバッグシステム | |
JPH0335323A (ja) | 命令実行制御方式 | |
JPH03282635A (ja) | プリフェッチ型プロセッサのブレーク制御装置およびトレース制御装置 | |
JPS58149571A (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: 20000125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080225 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090225 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100225 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100225 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110225 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110225 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120225 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120225 Year of fee payment: 12 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120225 Year of fee payment: 12 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120225 Year of fee payment: 12 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130225 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130225 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130225 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 14 |
|
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 |