JPH09190335A - Cpu - Google Patents

Cpu

Info

Publication number
JPH09190335A
JPH09190335A JP8002586A JP258696A JPH09190335A JP H09190335 A JPH09190335 A JP H09190335A JP 8002586 A JP8002586 A JP 8002586A JP 258696 A JP258696 A JP 258696A JP H09190335 A JPH09190335 A JP H09190335A
Authority
JP
Japan
Prior art keywords
precision
effective
arithmetic
calculation
variable
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.)
Withdrawn
Application number
JP8002586A
Other languages
English (en)
Inventor
Shigemi Mori
繁美 森
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP8002586A priority Critical patent/JPH09190335A/ja
Publication of JPH09190335A publication Critical patent/JPH09190335A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明は、プログラム内に於いて精度低下が生
じる可能性のある箇所を、ユーザが計算実施中及び実施
後の2次処理により容易に認識することができる、計算
精度算定機能をもつCPUを提供することを課題とす
る。 【解決手段】既存の倍精度浮動小数点データフォーマッ
トを拡張し、演算結果の変数値の有効桁数(VN)や有
効精度(E)を拡張したフォーマットに記憶できるよう
にすることを特徴とする。即ち、ALU11は、オペラ
ンドレジスタ部12,13に貯えられた算術変数の数値
のみではなく、同変数の有効桁数(VN)、有効精度
(E)も計算して、算術変数の有効桁数(VN)をレジ
スタ部(有効桁数部)14cに保持し、当該変数の有効
精度(E)をレジスタ部(有効精度部)14dに保持す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子計算機に適用
されるCPUに係り、特に計算精度算定機能を備えたC
PUに関する。
【0002】
【従来の技術】従来、電子計算機に搭載されるCPUに
於いて、算術変数の数値データの保存は行なっている
が、算術演算後の変数の有効桁数、有効精度について
は、その変数の固有データとして保存していなかった。
図2は従来技術の概要説明図であり、ここでは図(a)
に演算の流れを示し、図(b)に変数のフォーマット例
を示している。
【0003】上記したような従来の電子計算機により算
術演算を実施した場合、算術変数に対し単精度/倍精度
の計算精度管理機能はあるものの、算術演算実施時に
「丸めによる精度低下」「桁落ちによる精度低下」等が
生じた場合、精度低下が生じた箇所をユーザ側で直接知
ることができない。
【0004】従って、プログラム内のどの箇所で、どの
程度の精度低下が生じるのかをユーザ側で直接知ること
ができない。この精度低下を回避するために、従来で
は、ユーザが様々な特殊処置を行ない、慎重にソフトウ
ェア設計を行なっていた。
【0005】このため、従来では超高精度が要求される
際の演算処理等に於いて、計算結果の精度上の信頼性
は、精度低下を回避するための特殊処置如何によって左
右されることになり、信頼性の面で問題があった。
【0006】
【発明が解決しようとする課題】上述したように、従来
では、電子計算機により算術演算を実施した場合、算術
変数に対し単精度/倍精度の計算精度管理機能はあるも
のの、算術演算実施時に「丸めによる精度低下」「桁落
ちによる精度低下」等が生じた場合、精度低下が生じた
箇所をユーザ側で直接知ることができなかった。
【0007】従って、従来ではプログラム内のどの箇所
で、どの程度の精度低下が生じるのかをユーザ側で直接
知ることができない。そこで従来では、この精度低下を
回避するために、ユーザが様々な特殊処置を行ない慎重
にソフトウェア設計を行なっているが、この処置如何に
よって精度が左右されることから、計算結果の精度上に
於ける信頼性の面で問題があった。
【0008】本発明は上記実情に鑑みなされたもので、
プログラム内において精度低下が生じる可能性のある箇
所を、ユーザが計算実施中及び実施後の2次処理により
容易に認識することができる、計算精度算定機能をもつ
CPUを提供することを目的とする。
【0009】
【課題を解決するための手段】本発明は、既存の倍精度
浮動小数点データフォーマットを拡張し、演算結果の有
効桁数や有効精度を拡張したフォーマットに記憶できる
ようにする。即ち、具体的には、ALU(算術論理部)
に於いて変数値の算術演算のみではなく、各変数が保有
する有効桁数、有効精度を合わせて計算できるようにす
る。この際の各変数は予め数値、有効桁数、有効精度を
入力するものとし、各演算に於いて演算結果の有効桁数
及び有効精度を算定し、この情報を算術変数データに付
随する情報として一緒に保存する(上書きする)。この
際の本発明に係わる概要説明図を図2に示す。尚、図2
に於いて、14cは算術変数の有効桁数(VN)を保持
する演算レジスタ部(有効桁数部)、14dは同変数の
有効精度(E)を保持する演算レジスタ部(有効精度
部)である。
【0010】
【作用】ALU(演算論理部)は、算術変数の数値のみ
ではなく、同変数の有効桁数(VN)、有効精度(E)
も計算し、既存の倍数浮動小数点の拡張フォーマット内
の指定箇所に、算術変数の有効桁数(VN)、有効精度
(E)を保存する。この有効桁数(VN)、有効精度
(E)は数値と同様に演算が行なわれる度に更新され
る。
【0011】
【発明の実施の形態】以下図面を参照して本発明の実施
形態を説明する。
【0012】図1は本発明の概要説明図であり、図中、
11はALU(演算論理部)である。このALU11
は、算術変数の数値のみではなく、同変数の有効桁数
(VN)、有効精度(E)も計算し、既存の倍数浮動小
数点の拡張フォーマット内の指定箇所に、算術変数の有
効桁数(VN)、有効精度(E)を保存する。
【0013】12,13はALU11に入力する演算値
及び被演算値の各演算データを貯えるオペランドレジス
タ部、14は演算結果のデータを貯える演算結果レジス
タ部である。
【0014】14cは上述した算術変数の有効桁数(V
N)を保持するレジスタ部(有効桁数部)であり、14
dは当該変数の有効精度(E)を保持するレジスタ部
(有効精度部)である。
【0015】ALU11は、オペランドレジスタ部1
2,13に貯えられた算術変数の数値のみではなく、同
変数の有効桁数(VN)、有効精度(E)も計算する。
そして、図(b)に示すように、既存の倍数浮動小数点
の拡張フォーマット内の指定箇所に、算術変数の有効桁
数(VN)、有効精度(E)を保存する。即ち、レジス
タ部(有効桁数部)14cに算術変数の有効桁数(V
N)を保持し、レジスタ部(有効精度部)14dに当該
変数の有効精度(E)を保持する。この有効桁数(V
N)、有効精度(E)は数値と同様に演算が行なわれる
度に更新される。
【0016】本発明に係わる実施の形態を以下に示す2
例により説明する。
【0017】実施の形態1 電子計算機のOS(オペレーティングシステム)に於い
て、変数の数値を画面上又はファイルへ出力するコマン
ドに、その変数の有効桁数、有効精度も同時に出力する
ように指定するオプションを新規に追加した場合(一例
としてC言語によるコマンドを使用する)、 ・プログラム例 printf(“Z=%VN/n”,Z) (%VN:数値出力コマンドに於いて、有効桁数、有効
精度出力を指定するオプション) 出力例 Z=3112345,VN=6,E=0.00
001 となる。この場合、ユーザは算術演算実施後の変数の有
効桁数(VN)及び有効精度(E)を画面上で視認によ
り直接確認することが可能となる。また、上記有効桁数
(VN)、有効精度(E)をファイルへ出力し、データ
の統計的処理を施すことにより、自分が設計したプログ
ラムのどの箇所で精度低下が生じ易いかを認識すること
が可能となる。
【0018】実施の形態2 電子計算機のOS(オペレーティングシステム)に於い
て、返値として変数の有効桁数、有効精度を返す新規コ
マンドを追加した場合(一例としてC言語によるコマン
ドを使用する)、 ・プログラム例:変数の有効桁数が3未満の場合はエラ
ーメッセージを表示する。
【0019】if(VN(変数名)<3) printf(“E
rror.Check Here !”); VN(変数名):変数の有効桁数を返値とするコマンド ・プログラム例:変数の有効桁数が3未満の場合は、精
度低下の生じない他の算術ロジックへ自動的に切り替え
る。
【0020】if(VN(変数名)<3) AnotherLog
ic(); AnotherLogic():精度低下を回避するための処理を
行う関数 となる。この場合、算術演算後の精度低下が発生した時
点でそれを検知してエラーメッセージを表示することが
可能となる。
【0021】これによりユーザはプログラム内の精度低
下箇所を直接認識することができ、第1実施の形態と同
様の効果を得ることが可能となる。それに加えて、電子
計算機内で自動的に精度低下を回避する算術ロジックへ
切り替えることが可能となる。
【0022】自動的に算術ロジックを切り替える機能を
付加したときは、精度低下を回避するための処理を行う
関数がライブラリ関数として電子計算機内に既に用意さ
れていれば、ユーザは算術演算実施後の変数の有効精度
低下を回避するための処置を特にプログラミングする必
要なく、自動的に精度低下を回避する演算ロジックを使
用して計算結果の信頼性を高めることが可能となる。
【0023】
【発明の効果】以上詳記したように本発明によれば、プ
ログラム内に於いて精度低下が生じる可能性のある箇所
を、ユーザが計算実施中及び実施後の2次処理により容
易に認識することのできる計算精度算定機能をもつCP
Uが提供できる。
【0024】本発明の具体的な効果を以下に列記する。
【0025】(1)有効桁数を検知して算術ロジックを
自動的に切り替えることにより、算術演算等による計算
精度低下を極力回避することが可能となり、より信頼性
の高い計算結果を得られるようになる。
【0026】(2)各演算での有効桁数及び有効精度を
計算し、その内容をデータとして保存することが可能で
ある。
【0027】(3)数値計算実施後、有効桁数及び蓄積
誤差等を統計的に解析処理することにより、精度低下に
よる計算誤差を生じ易い変数及び算術計算式をユーザが
認識することが容易となる。更に、その解析結果を設計
へフィードバックすることにより、ユーザの使用目的を
満足する最適なプログラム設計を実施することが可能と
なる。
【図面の簡単な説明】
【図1】本発明の概要説明図。
【図2】従来技術の概要説明図。
【符号の説明】
11…ALU(演算論理部)、 12,13…オペランドレジスタ部、 14…演算結果レジスタ部、 14c…算術変数の有効桁数(VN)を貯えるレジスタ
部(有効桁数部)、 14d…算術変数の有効精度(E)を貯えるレジスタ部
(有効精度部)、 VN…算術変数の有効桁数、 E…算術変数の有効精度。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 算術演算手段と、当該手段による算術演
    算実施時に生じる変数値の計算精度を表すデータを当該
    変数の固有データとして保存する手段とを具備してなる
    ことを特徴とするCPU。
JP8002586A 1996-01-10 1996-01-10 Cpu Withdrawn JPH09190335A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8002586A JPH09190335A (ja) 1996-01-10 1996-01-10 Cpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8002586A JPH09190335A (ja) 1996-01-10 1996-01-10 Cpu

Publications (1)

Publication Number Publication Date
JPH09190335A true JPH09190335A (ja) 1997-07-22

Family

ID=11533489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8002586A Withdrawn JPH09190335A (ja) 1996-01-10 1996-01-10 Cpu

Country Status (1)

Country Link
JP (1) JPH09190335A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272629A (ja) * 2006-03-31 2007-10-18 Casio Comput Co Ltd 計算装置及び計算プログラム
US7716267B2 (en) 2004-08-30 2010-05-11 Casio Computer Co., Ltd. Decimal computing apparatus, electronic device connectable decimal computing apparatus, arithmetic operation apparatus, arithmetic operation control apparatus, and program-recorded recording medium
JP2015232833A (ja) * 2014-06-10 2015-12-24 本田技研工業株式会社 浮動小数点演算装置、プログラム、及び演算装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716267B2 (en) 2004-08-30 2010-05-11 Casio Computer Co., Ltd. Decimal computing apparatus, electronic device connectable decimal computing apparatus, arithmetic operation apparatus, arithmetic operation control apparatus, and program-recorded recording medium
US8316067B2 (en) 2004-08-30 2012-11-20 Casio Computer Co., Ltd. Decimal computing apparatus, electronic device connectable decimal computing apparatus, arithmetic operation apparatus, arithmetic operation control apparatus, and program-recorded recording medium
JP2007272629A (ja) * 2006-03-31 2007-10-18 Casio Comput Co Ltd 計算装置及び計算プログラム
JP2015232833A (ja) * 2014-06-10 2015-12-24 本田技研工業株式会社 浮動小数点演算装置、プログラム、及び演算装置

Similar Documents

Publication Publication Date Title
US11347511B2 (en) Floating-point scaling operation
US4338675A (en) Numeric data processor
KR950003200B1 (ko) 정확한 부동 소숫점 예외를 처리할 수 있는 방법 및 장치
US6571265B1 (en) Mechanism to detect IEEE underflow exceptions on speculative floating-point operations
US6658444B1 (en) Method and apparatus for performing a mask-driven interval division operation
JP4953644B2 (ja) 正規化および丸め処理前にフィードバックを行う浮動小数点ユニットのためのシステムおよび方法
JP2009093662A (ja) 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法
USRE33629E (en) Numeric data processor
KR980010751A (ko) 부동 소수점 하드웨어를 사용하여 마이크로프로세서 정수 나눗셈 연산을 실행하기 위한 방법 및 장치
JPH06202850A (ja) データ処理装置
US8849881B2 (en) Modal interval processor
JPH09190335A (ja) Cpu
KR100307980B1 (ko) 산술 또는 논리 연산의 수행과 동시에 조건 코드 비트를 발생하는 방법 및 시스템
EP0738959A1 (en) Method and apparatus for finding arctangents
US20070124357A1 (en) Methods and apparatus fro performing calculations using reduced-width data
US5646876A (en) Method and apparatus for reducing rounding error when evaluating binary floating point polynomials
US4649478A (en) Operation code selected overflow interrupts
JPH02176849A (ja) 電子式卓上計算機
EP0718752A1 (en) Data processing system for performing efficient fuzzy logic operations and method therefor
CN109960533B (zh) 浮点运算方法、装置、设备及存储介质
US20100235607A1 (en) Processor
Kapisch et al. SAPHO—Scalable-Architecture Processor for Hardware Optimization: An FPGA Customizable Implementation Approach
JP3522387B2 (ja) パイプライン演算装置
JP2002024004A (ja) データ処理装置およびその方法
JPH09330218A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030401