JPS6170635A - 丸め制御装置 - Google Patents

丸め制御装置

Info

Publication number
JPS6170635A
JPS6170635A JP59191558A JP19155884A JPS6170635A JP S6170635 A JPS6170635 A JP S6170635A JP 59191558 A JP59191558 A JP 59191558A JP 19155884 A JP19155884 A JP 19155884A JP S6170635 A JPS6170635 A JP S6170635A
Authority
JP
Japan
Prior art keywords
bit
rounding
bits
register
sign
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
JP59191558A
Other languages
English (en)
Inventor
Hozumi Hamada
浜田 穂積
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59191558A priority Critical patent/JPS6170635A/ja
Publication of JPS6170635A publication Critical patent/JPS6170635A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49957Implementation of IEEE-754 Standard

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、電子計算機内の演算装置における丸め制御装
置に関し、特に複数個の丸め処理要求に効率的に対処す
るのに好適な丸め制御装置に関するものである。
〔発明の背景〕
従来の電子計算機における丸め処理は、丸め位置の下位
指すへてを単に捨てさる(切捨て)のみのものが多い。
まれにO捨1人(2進の場合)、4捨5人(同10進)
、7捨8人(同16進)によるものもあるが、切捨てと
のいずれかを選ぶことを可能とするものはない。ところ
が、数値計算技術は複数個の丸め処理の方針を要求する
ようになった。これに対して、従来はソフトウェアによ
る解決を行っているが、必ずしもすべての要求に正しく
対応できるわけでもなく、また処理速度も低下するとい
う欠点があった。
〔発明の目的〕
本発明の目的は、このような従来の欠点を解決するため
に、複数個の丸め方針に基づく丸め処理を一元的に実行
可能な−丸め制御装置を提供することにある。
〔発明の概要〕
上記目的を達成するために1本発明によれば、電子計算
機の内部処理において要求される桁数より長い桁数のデ
ータを該要求される桁数に丸める場合において、符号ビ
ット、丸め位置を単位として上位桁を整数と考えたもの
の偶数、奇数を判定する手段、および丸め位置の下位桁
の値を2進2゛桁で表現する手段を用いることにより、
複数の丸め方針を指定して丸める処理を行うことに特徴
がある。
〔発明の実施例〕
以下、本発明の実施例を図面により説明する。
本発明の詳細な説明するに先立って、丸め処理の数学的
意味について述べる。ここでは、2進法に基づく数値表
現に限定して述べる。現実の計算機は2以外の基数によ
るものもあるが、その場合の応用については実施例の後
半において言及する。
実数値にはO1正の数、負の数がある。データとして表
現可能な数として、これらの外に無限大を含めることも
ある。数の表現法には、大別して2つの重要なものがあ
る。以下1表現しようとする数を、Xで表すことにする
。第2図は、符号と1      絶対値による表現で
ある。101は符号を表す1ビツトである。通常0ある
いは正の数の場合は。
“O11、’負の数の場合は# I 11とする。10
2は絶対値を表す。lxlの2進法に基づく表現である
。絶対値の表現方法にはいろいろある。数の表現法のも
う1つの重要なものは2の補数と呼ばれるものである。
これは固定小数点表現において、−1≦x<Oの数をx
+2の表現によって行うことから、このように呼ばれる
。浮動小数点表現の系統の表現法の場合は、固定小数点
表現における2の補数表現によって得られるビット・バ
タンを用いて構成されるものを、2の補数による浮動小
数点表現と呼ぶ(情報処理学会論文誌・第24巻第4号
別刷昭和58年4月発行における浜田穂積(本発明者)
による“計算機内部における数の表現法″を参照された
い)。
ここで、以後の説明のため、ビット・バタンとしての大
、あるいは小であることを次によって定義する。比較す
る2つのビット列の長さが等しい場合のみ大、小の関係
を定義する。ビット・バタンをそのまま負でない2進整
数と解釈するとき、この整数値の大なるものをビット・
バタンとして大、小なるものをビット・バタンとして小
とする。
これに対して、そのビット・バタンを含む数値表現での
値の大なるものを数値として大、小なるものを数値とし
て小と呼ぶ。固定小数点表現の場合におけるビット・バ
タンとしての大、小と、数値としての大、小の関係を第
10図に示す。符号と絶対値表現における符号ビットが
it 1 #lの場合、両者の大小の関係が逆転してい
ることが、丸め処理の違いとなる。
次に丸めの方針の種類とその処理(IEEE Tran
s。
Computer + March 1981における
5tevansonによる^Proposed 5ta
ndard for Binary Floating
−Point Arithmetic”参照)について
述べる。
丸めによって得られるデータのすべてのビット・バタン
は、とびとびに選ばれる有限個の実数値を正しく表すと
考えられている。表したい数Xがその選ばれた実数値の
一つと等しいときは、丸めの方針によらず、対応するビ
ット・バタンか丸めの結果であるとするが、そうでない
場合は、それぞれの丸めの方針にしたがって、その数か
らある方向に向って初めて出会う、ビット・バタンの正
しく表す値に対応するビット・バタンを選ぶ。
(1)RPCプラス無限大に向う。
(2)RM:マイナス無限大に向う。
(3)RZ:ゼロに向う。
(4)RNニブラス無限大とマイナス無限大とのそれぞ
れ1つずつのビット・バタンを 選び、それらの正しく表す値とXとの 差の小なる方のものを選ぶ。もし両者 の差が等しいときは、ビット・バタン の右端へも(最下位桁)が′0″であ るものを選ぶ。
さて、固定小数点データを符号ビットと仮数部からなる
とする。仮数部は全データから符号ビットを除いた部分
である。固定小数点データの例を第3図に示す。111
は符号ビット、112は仮数部である。次に浮動小数点
データを符号ビット、指数部および仮数部からなるとす
る。実数値を2の指数付きの表現に基づいてビット列表
現するときの指数を表す部分を指数部とし、符号ビット
でも指数部でもない部分を仮数部とする6浮動小敬点デ
ータの例を第4図に示す。121は符号ビット、122
は指数部、123は仮数部である。
丸めの対象となるのは、固定小数点データも、浮動小数
点データも、いずれの場合も仮数部である。
この長さをnビットとし、これをmビットに丸めるもの
とする。このときn)mである。
第5図は、nビットの仮数部を上位のmビット131と
下位のn−mビット132に区切ったものである。第6
図は、上位mビット141を上位のmビット131と同
じビット・パタンとし、下位n−mビット142をすべ
て゛0″としたものである。第7図は、上位mビット1
51を上位のmビット131の次に大なるビット・パタ
ンとし下位n−mビット152をすべてII □ II
としたものとする。ここで、上位mビット(次の大なる
ビット・パタン)151が存在しない場合があり得るが
、この場合については、特別の処理を必要とする。ここ
では、上位mビット151が存在すZものと仮定する。
そこで、第6図の上位mピッ1141を単なる切捨て″
と呼び、第7図の上イエビット151を“次に大なるビ
ット・パタン″と呼ぶことにする。与えられたビット・
パタンは第5図の上位mビット131とn−mビット1
32を合せたものであり、単なる切捨てのビット・パタ
ン141の作り方は明白である。次に大なるビット・パ
タン151は、単なる切捨て141のビット・パタンに
′1″を加えることによって得られる。第5図を仮数と
してもつデータの値をX。
第6図を仮数としてもつデータの幀をy、第′7図を仮
数としてもつデータの値をZとする。x、yおよび2の
データの符号ビットと指数部は同じであるとする。また
、第5図のnビットのビット・パタンをX、同様に第6
図の場合をY、第7図の場合をZとする。このとき、仮
定からn−mビット(下位のビット)132の各ビット
はすへてか“O′″ではないからx、y、zの関係は、
Y<X<Z である。x、y、zの間の関係は第10図にしたがい y < x < zあるいはz < x < yである
丸め処理は、上に述べた単なる切捨て″かあるいは次に
大なるビット・パタン″かの、いずれかを選ぶ操作とい
うことができる。従来、行われた丸め方針には先に述べ
た4つのものの他に次のものがある。
(5)0捨1人:n−mビット(下位のビット)132
の最左端の1ビツトが II O″′のときは単なる切捨て、 11111のときは次に大なるビット ・パタンとする。
以上5つの丸め方針のそれぞれについて正の数。
負の数について、また負の数については絶対値表示と2
の補数による表示についての処理をまとめたものを第1
1図に示す。
第11図によると、これらすべての丸め方針を実現し得
る装置を構成するためには、データの符号ビットを考慮
する必要があることがわかる。また、” RN ”を実
現するためには上位mビット(単なる切捨て)141の
最右端のビットを考慮する必要がある。また、” RN
”、″0捨1人1′を実現するためには一下位のビット
142の最左端のビットを考慮する必要がある。最後に
+l RN ITを実現するためには下位のビット14
2の最左端以外のビット列を考慮する必要があることが
わかる。この最後の場合は、すべて2がOのみであるか
、1つ以上の′1″があるかの区別をするだけでよい。
以上をまとめてデータを第8図とする。161は符号ピ
ッ+−Sである。162は指数部である。
固定小数点データにおいては、この部分は空として扱う
。163は仮数部の上位m−1ビツトである。164は
上位m−1ビツト163に続く1ビツトUである。16
5は1ビツト(u)164に続く1ビツトhである6 
166は仮数部の下位n−m−1ビツトdである。16
7は丸め位置である。
第11図の結果を第8図に対する処理に翻訳したものを
第12図、第13図に示す。第12図は符号と絶対値の
場合、第13図は2の補数の場合である。ここではn 
−m −1ビツト(d)166について、すべて0”の
ときII OIIで、1つ以上“1”のあるとき“1″
と表す。また、単なる切捨てを″″切捨″と次に大なる
ビット・パタンを次に大″と省略して示す。これは、上
位m −1ビツト163.1ビツト(u)164をまと
めたmビットについてのものである。
これまでの説明は、丸めによって失なわれる下位n−m
ビットがレジスタに存在するものと仮定したが、右シフ
ト命令によって実質的に丸め処理を行う場合も同じ内容
の丸めを行うことができるこの場合は2ビツトのレジス
タを設ける。これを第9図で示す。ここで171は符号
ビットSである。172は仮数部の上位m−1ビツトで
ある。
右シフトが意味を持つのは固定小数点表現の場合である
ので、指数部はないものとする。173は上位m−1ビ
ツト172に続く1ビツトUである1      17
4は1ビツトのレジスタhである。175は1ビツトの
レジスタdである。1ビツトレジスタ(d)175は前
の実施例の下位のビット(d)166を1ビツトにまと
めたものである。シフトによって1ピツ1〜レジスタ(
u)173.1ビツトレジスタ(h)174.1ビツト
レジスタ(d)175が定まって以後の丸め方は、第1
2図、第13図と同じである。ここでは1ビツトレジス
タ(h)175.1ビツトレジスタ (d)175の定
め方を述べる。
(a)初期設定、 h == 110 TJ 、 d 
=Li OIIとする。
(b)1ピッ1−の右シフトごとに次のことを行う。
dは元のdとhとの論理和(OR)をとる。
hはUの値で更新する。
第12図、第13図は2つの処理、単なる切捨て”、あ
るいは11次に大なるビット・パタン″のいずれをとる
かを示しており、これはいわゆる真理値表と等価なもの
である。この値はs、u。
h、clによって完全に定まるため、これらの処理を得
ることは従来技術で可能である。
第7図における上位mビット(次の大なるビット・パタ
ン)151が存在しない場合とは、次に大なるビット・
パタンを得るために′1″を加える操作で溢れを生じる
ことと同じであり、これは固定小数点データでは溢れに
なる。浮動小数点データでは指数の値を′1″だけ変化
させる必要が生じることに相当している。この処理は採
用すべき数値表現形式に依存するので一般的には記述で
きないが、この場合が生じるのは特定の場合であるから
その処理は容易に実現できろ。ここで述べた。指数の値
を″1″だけ変化させて得られる新しい指数部と仮数部
の連結し・たちのを、この場合の次に大なるビット・パ
タン″と考えれば、固定小数点データと浮動小数点デー
タとで、処理を同じ図で表すことができる。
以上の結果をまとめると、第1図に示すような本発明の
一実施例を示す丸め制御装置の構成を得ることができる
。ここで、181は符号ビット、182は符号ビット1
81に続くm−1ビツト、183はm−1ビツト182
に快く1ビツト(U)。
184は1ビツト183に続く1ピツh(h)。
185はデータの残りの下位のビットである。
186は丸め位置、187はm−1ビツト】82と1ビ
ツト(u)183を連結したものを保持するmビットの
レジスタ、188はmビットレジスタ187の次に大な
るビット・パターンを保持するレジスタである。この1
′次に大なる″には、指数部の1″′だけの変更を受け
た場合も含むものとする。189は187がら188を
発生する回路である。190は丸め判定回路であり、入
力を符号ビット181.1ビツトレジスタ (u)18
3゜1ビツトレジスタ (h)184.下位のビット(
d)185の4つのビット、あるいは、ビット列とし、
第12図、あるいは第13図にしたがって、丸めの方針
をCPUがらの制御信号線195で指定して、その結果
を制御信号線196に出力する。制御信号線196は単
なる切捨て′あるいは“次に大なるビット・パタン″の
いずれがの値を持ち、その値にしたがって、レジスタ1
87あるいは188のデータを、選択袋ff’j19]
が退び、レジスタ192に転送する。レジスタ192は
、符号ビット193とその他ビット列194がらなり、
符号ビット193は符号ピッh 181と、その他のビ
ット列194はm−1ビツト182と】−ビット(u)
183を連結したものと対応する。
これらの図では別のものとして表しであるが1回路とし
ては同じものを用いることもできる。
次に大なるビット・バタン″の発生は、固定小数点表現
の場合は容易である。浮動小数点表現の場合は、仮数部
の左端から繰り上がりが生じる場合にそなえて特別の論
理を必要とする。この理由は、指定部と仮数部を連続し
たビット・バタンの大小関係と数値としての大小関係が
一致しないからである。しかしながら、本発明者の特願
昭58−114828号明細書に述べている新しい浮動
小数点表現においては、ビット・バタンとしての大小関
係と、数値としての大小関係が一致するので、固定小数
点表現の場合と同じ簡単な装置によって実現できる。
〔発明の効果〕
以上説明したように、本発明によれば、複数個の丸め方
針に基づく丸め処理を一元的に実行可能な装置が簡単な
ハードウェアで実現できるようになる。
【図面の簡単な説明】
第1図は本発明の実施例を示す丸め制御装置の構成図、
第2図は符号と絶対値による数値の表現例を示す図、第
3図は固定小数点データの例を示す図、第4図は浮動小
数点データの例を示すpl。 第5図は仮数部の構成と丸め位置の関係を示す図。 第6図は単なる切捨てを示す図、第7図は次シこ大なる
ビット・バタンを示す図、第8図は丸め処理に関係する
ビットあるいはビット列の関係を示す図、第9図はシフ
トの処理に伴や丸め処理のためのデータ構成を示す図、
第10図は数値としての大小の関係を示す図、第11図
は5つの丸め方針についての処理を示す図、第12図は
符号と絶対値方式の場合の丸め処理を示す図、第13図
け2の補数方式の場合の丸め処理を示す図である。 101.111,121,161,181.1!”3・
・・符号ビット、102・・絶対値、112・仮(9部
、122・・・指数部、123・・・仮数部、1.31
・・・nビットからなる仮数部の上位mビット、132
・・仮数部のTI−mビット(下位ビンj、)、↓41
−・・仮鼓部の上位Inビット(単なる切捨て)、14
2・・・仮数部のF位ビットがすl\て01151 ・
仮数部の上位mビット(次の大なるビット・バタン)、
162・・指数部、163・・・上位m−Lビット、1
64・・丸め位置での単位ビット(u)、L65・・・
1ビツト(1+) 、  3. C; 6・・下位ピン
ト(d)。 167 ・丸め位1ff、172・上tfl m −1
ビツト。 173−1ピッl−(u)−L ’74・ 1ビツト(
h)。 175−下位ビット(d)、I C32・=:*−’m
ビット、183・・1ビツト(u)、18・[・ニービ
ット(l′l) 、 185  ・下位ビット(d)、
18G・・・丸め位は、187・・mビットレジスタ(
単なる切捨て)、188・・mビットレジスタ(次の大
デるビット・バタン)、189 ・次に人なる°ピット
・パタン発生回路、190・・丸め判定回路、191・
・・選択装置、192・・・レジスタ、104・・mピ
ッ1−レジス第 1 図 /?3        /Y4− 第2 図 、 第5 図 ¥I /θ 図 yn++  阻 7A rz  図 第 13 2

Claims (1)

    【特許請求の範囲】
  1. 電子計算機の内部処理において要求される桁数より長い
    桁数のデータを該要求される桁数に丸める場合において
    、符号ビット、丸め位置を単位として上位桁を整数と考
    えたものの偶数、奇数を判定する手段、および丸め位置
    の下位桁の値を2進2桁で表現する手段を用いることに
    より、複数の丸め方針を指定して丸める処理を行うこと
    を特徴とする丸め制御装置。
JP59191558A 1984-09-14 1984-09-14 丸め制御装置 Pending JPS6170635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59191558A JPS6170635A (ja) 1984-09-14 1984-09-14 丸め制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59191558A JPS6170635A (ja) 1984-09-14 1984-09-14 丸め制御装置

Publications (1)

Publication Number Publication Date
JPS6170635A true JPS6170635A (ja) 1986-04-11

Family

ID=16276669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59191558A Pending JPS6170635A (ja) 1984-09-14 1984-09-14 丸め制御装置

Country Status (1)

Country Link
JP (1) JPS6170635A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373420A (ja) * 1986-09-17 1988-04-04 Fujitsu Ltd 浮動小数点のデ−タ・フオ−マツト変換演算方式
JPH01240927A (ja) * 1988-03-23 1989-09-26 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JPH01290035A (ja) * 1988-03-31 1989-11-21 Texas Instr Inc <Ti> 高速乗算器における丸めの方法及び装置
JPH02201645A (ja) * 1989-01-31 1990-08-09 Nec Corp 例外検出回路
EP0553833A2 (en) * 1992-01-31 1993-08-04 Victor Company Of Japan, Limited Digital divider and method for dividing positive or negative dividend and rounding down a remainder
JP2020071642A (ja) * 2018-10-31 2020-05-07 富士通株式会社 演算処理装置及びその制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373420A (ja) * 1986-09-17 1988-04-04 Fujitsu Ltd 浮動小数点のデ−タ・フオ−マツト変換演算方式
JPH01240927A (ja) * 1988-03-23 1989-09-26 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JPH01290035A (ja) * 1988-03-31 1989-11-21 Texas Instr Inc <Ti> 高速乗算器における丸めの方法及び装置
JPH02201645A (ja) * 1989-01-31 1990-08-09 Nec Corp 例外検出回路
EP0553833A2 (en) * 1992-01-31 1993-08-04 Victor Company Of Japan, Limited Digital divider and method for dividing positive or negative dividend and rounding down a remainder
EP0553833A3 (en) * 1992-01-31 1993-10-13 Victor Company Of Japan, Limited Digital divider and method for dividing positive or negative dividend and rounding down a remainder
JP2020071642A (ja) * 2018-10-31 2020-05-07 富士通株式会社 演算処理装置及びその制御方法

Similar Documents

Publication Publication Date Title
KR102447636B1 (ko) 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법
JPH07210368A (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
JP2019057249A (ja) 演算処理装置および演算処理方法
US5247471A (en) Radix aligner for floating point addition and subtraction
JPS6170635A (ja) 丸め制御装置
JPS59226923A (ja) バスインタ−フエ−ス装置
JP3256251B2 (ja) 乗算器
GB2376773A (en) Display and/or precision operations of numerical values in binary systems
US7827451B2 (en) Method, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US4118786A (en) Integrated binary-BCD look-ahead adder
US4719590A (en) Apparatus and method for performing addition and subtraction
US5691930A (en) Booth encoder in a binary multiplier
US6629239B1 (en) System and method for unpacking and merging bits of a data world in accordance with bits of a mask word
JPH08129479A (ja) 演算処理装置及び電子計算機
GB2127187A (en) Circuits for operating on N- digit operands
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
JP2803788B2 (ja) パリテイ予測およびストリング制御を有する高速パイプライン・シフタ要素
JPS59188790A (ja) シグナルシ−ケンス高速生成装置
GB1593136A (en) Data processing
JP3125436B2 (ja) ビットオフセット量計算装置
JPS63197218A (ja) プライオリテイ・エンコ−ダ
JP2503017B2 (ja) バレルシフタ回路
KR100265358B1 (ko) 고속의쉬프팅장치
JP2606580B2 (ja) 数値データ演算方法