JPH0330170B2 - - Google Patents

Info

Publication number
JPH0330170B2
JPH0330170B2 JP60178097A JP17809785A JPH0330170B2 JP H0330170 B2 JPH0330170 B2 JP H0330170B2 JP 60178097 A JP60178097 A JP 60178097A JP 17809785 A JP17809785 A JP 17809785A JP H0330170 B2 JPH0330170 B2 JP H0330170B2
Authority
JP
Japan
Prior art keywords
guard
subtraction
digit
mantissa
protection
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 - Lifetime
Application number
JP60178097A
Other languages
English (en)
Other versions
JPS6238937A (ja
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 filed Critical
Priority to JP60178097A priority Critical patent/JPS6238937A/ja
Publication of JPS6238937A publication Critical patent/JPS6238937A/ja
Publication of JPH0330170B2 publication Critical patent/JPH0330170B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 通常浮動小数点の加減算を行う場合、2つのオ
ペランドを桁合わせするためにシフトを行うが、
その際、有効桁に保護桁を加えた長さでシフト
し、後に保護桁のデータを用いて丸め処理を行
い、有効桁の精度を保護しているが、保護桁のデ
ータは加算時と減算時とで異なつた処理が必要と
なるため、これを専用のハードウエア機構を用い
て簡単かつ高速に実行できるようにする。
〔産業上の利用分野〕
本発明は、計算機の演算装置に関するものであ
り、特に浮動小数点演算における保護桁の処理方
式に関する。
〔従来の技術〕
浮動小数点形式のデータは、指数部と仮数部と
で構成されており、加減算の場合には、2つのオ
ペランドの指数部が異なつているとき、これを一
致させるために仮数部のシフト補正(桁合わせ)
が必要となる。
仮数部のシフト補正では、有効桁の2倍の長さ
のレジスタが用意できればよいが、ALU(算術演
算ユニツト)等のハードウエア量が増大するため
に、通常、有効桁長に保護ビツトと呼ばれる3桁
のビツトを付加することで代替している。
第5図は保護ビツトの説明図である。G、R、
Sは保護ビツトを構成する3つのビツトを表し、
それぞれGビツト(Guard bit)、Rビツト
(Round bit)、Sビツト(Sticky bit)と呼ばれ
る。
仮数を右シフトするとき、LSBからシフト出
力された仮数の下位ビツトは、順次、G、R、S
の各ビツトへシフト入力される。Sビツトは以前
の入力ビツトを累積する。すなわちRビツトより
も下位のビツトに1つでも“1”があれば“1”
となり、マイクロ命令でリセツトされるまで保持
する。またSビツトは、左シフトの場合シフト動
作から切り離され、Rビツトには“0”が入力さ
れる。
浮動小数点の加減算では、有効桁内での精度を
保障するために、演算は有効桁数に上記した保護
ビツトの桁数を加えて行い、演算終了後に保護ビ
ツトの値に基づく一定の論理にしたがつて丸めキ
ヤリ(桁上げ)を生成し、丸めを行つている。
第6図は、加算時の保護ビツトG、R、Sの状
態を示す図である。A,Bはオペランドで、e1
e2はA,Bの指数部、f1,f2はA,Bの仮数部を
それぞれ表している。
ここでe1>e2であるとすれば、オペランドBの
指数部e2をe1に合わせるために、Bの仮数部f2
(e1−e2)桁だけ右シフトして桁合わせする必要
がある。この結果、オペランドAの保護ビツト
G、R、Sは(000)であるが、オペランドBの
保護ビツトG、R、Sはf2のLSBからシフト出力
された下位(e1−e2)ビツトに基づく所定の値を
とる。
このような加算の場合には、Aの(G、R、S
=000)+Bの(G、R、S)となるので、Bの
G、R、Sをそのまま用いて丸めを行うことがで
きる。
これに対して減算の場合には、Aの(G、R、
S=000)−Bの(G、R、S)の演算が必要とな
り、フオームウエアによりオペランドBの(G、
R、S)の補正、具体的には(00)−(G、R)の
補数化処理、が行われる(Sは下位ビツトにおけ
る“1”の有無を示すため補数化しない)。
ところで、このような保護ビツト補正を伴う浮
動小数点加減算方式をとる計算機では、有効桁演
算用のALUと保護ビツト用のフラグレジスタと
を用い、保護ビツトの減算補正は、フアームウエ
アによつて行つているのが普通である。
第7図は、上述した方式の加算および減算の処
理フローであり、オペランドの読み出し、指数演
算、仮数桁合わせを行つた後、加算の場合と減算
の場合とを切り分け、加算の場合には、仮数加
算、丸め、結果格納の順で行われるが、減算の場
合には、仮数減算と保護ビツト補正を別々に行
い、その後で丸め、結果格納が行われることを示
している。
〔発明が解決しようとする問題点〕
従来の保護ビツトを使用する浮動小数点方式の
加算および減算処理では、減算の場合に保護ビツ
トの補正をフアームウエアで行うため、加算にく
らべて演算時間が長くなり、制御も複雑になると
いう問題があつた。
〔問題点を解決するための手段〕
本発明は、仮数分の語長しか持たないALUを
用い、加減算実行時の保護ビツトの補正演算を、
フアームウエア処理によらずに、ALUとは別に
専用のハードウエア機構を設けて行うことによ
り、処理の高速化を図るものである。
第1図は本発明の原理的構成を示す図である。
図において、 1および2は入力オペランドを保持するオペラ
ンドレジスタ、 3はオペランドレジスタ1,2の入力オペラン
ドについて加減算等の算術演算を行うALU(算術
演算ユニツト)、 4はオペランドレジスタ1および2の一方を選
択するセレクタ、 5はG、R、Sの保護ビツトを保持する保護桁
レジスタ、 6は保護ビツトの減算補正と丸めのキヤリ生成
を行う丸めキヤリ論理回路である。
〔作用〕
オペランドレジスタ1,2には、加算あるいは
減算すべき2つのオペランドの仮数が設定され
る。
桁合わせのため、2つのオペランドの指数比較
を用い、たとえばオペランドレジスタ2の仮数を
右シフトすることが決定されると、セレクタ4は
下側の入力を選択するように制御される。
オペランドレジスタ2の最下位桁(LSB)か
らシフト出力された仮数の下位ビツトは、不護桁
レジスタ5へGビツト側からシフト入力される。
丸めキヤリ論理回路6は、保護桁レジスタ5の
G、R、Sビツトについて、加算実行時に(00)
+(G、R)、そして減算実行時に(00)−(G、
R)の補正を行い、その結果に基づいて丸めキヤ
リを生成し、ALUに印加する。
第2図は、本発明方式による加減算の処理フロ
ーである。図示のように、オペランド読み出し、
指数演算、仮数桁合わせを順次行つた後、加算の
場合には仮数加算、丸め、結果格納を行い、減算
の場合には仮数減算、丸め、結果格納を行う。
このように、減算の場合の保護ビツトの補正は
ハードウエアで実行されるため、従来フアームウ
エアで行つていた保護ビツト処理に要していた時
間が短縮され、加算と減算の丸め処理がほぼ同等
の時間で実行可能となる。
〔実施例〕
第3図は本発明の第1実施例の構成図である。
図において、1および2はオペランドレジス
タ、3はALU、4はセレクタ、5は保護桁レジ
スタ、6は丸めキヤリ論理回路、7は保護ビツト
補正回路、8は丸めキヤリ生成回路、9はセレク
タ、10は内部バスを表している。またCNTL
−1ないしCNTL−4はマイクロ命令に基づい
て与えられる制御信号である。
CNTL−1は、オペランドレジスタ1とオペ
ランドレジスタ2に格納されているオペランドの
指数部を比較してその大小判定を行つたマイクロ
指令により与えられる。たとえば、常に小さい方
のオペランドをもつオペランドレジスタを選択す
るすうに制御される。
CNTL−2は、保護桁レジスタ2への書き込
みを制御するために与えられる。たとえば、オペ
ランドレジスタ1あるいは2からシフト出力され
た仮数の下位ビツトをシフト入力する場合、ある
いは保護桁レジスタ2から読み出した保護ビツト
G、R、Sを丸めキヤリ論理回路6の保護ビツト
補正回路7で補正した結果を保護桁レジスタ2へ
再書き込みする場合などのときに与えられる。
CNTL−3は、丸めキヤリ論理回路6内の保
護ビツト補正回路7と丸めキヤリ生成回路7とを
逐次的に機能化するために与えられる。
CNTL−4は、セレクタ9において、ALU3
のキヤリ入力Cinとして丸めキヤリ生成回路7で
生成した丸めキヤリRcを選択するか、下位デー
タからのキヤリCを選択するか固定値“0”ある
いは“1”を選択するかを指示するために与えら
れる。
これらの制御信号CNTL−1ないしCNTL−
4の制御のもとに、オペランドレジスタの一方か
らシフト出力された仮数の下位ビツトに基づき生
成された保護ビツトG、R、Sは、まず保護桁レ
ジスタ5から保護ビツト補正回路7へ読み出さ
れ、減算のときにのみ補正されて、保護桁レジス
タ5へ書き戻される。
次に、補正済みの保護ビツトG、R、Sは、保
護桁レジスタ5から丸めキヤリ生成回路8へ読み
出され、丸めキヤリRcを生成するために使用さ
れる。
生成された丸めキヤリRcは、ALU3の演算タ
イミングに合わせてCinへ入力され、丸められた
演算結果は、内部バス10へ出力される。
第4図に、保護ビツト補正回路7の論理テーブ
ルを示す。演算が加算(add)か減算(sub)か、
および保持指定か更新指定かに応じて、図示のよ
うなGRSの変換を行う。
〔発明の効果〕
本発明によれば、保護ビツト補正をハードウエ
アで行うので、減算操作特有の保護ビツト補正の
ステツプを省略できるため、フアームウエアの演
算ステツプの削減と実行時間の短縮が図れる。
【図面の簡単な説明】
第1図は本発明の原理的構成を示す図、第2図
は本発明方式による加減算実行時の処理フロー、
第3図は本発明の1実施例の構成図、第4図は第
3図の実施例における保護ビツト補正回路の論理
テーブルを示す説明図、第5図は保護ビツトの構
成を示す説明図、第6図は加算時の保護ビツトの
状態を示す説明図、第7図は従来方式による加減
算実行時の処理フローである。 第1図において、1および2:オペランドレジ
スタ、3:ALU、4:セレクタ、5:保護桁レ
ジスタ、6:丸めキヤリ論理回路。

Claims (1)

  1. 【特許請求の範囲】 1 算術演算ユニツト3と、保護桁レジスタ5と
    を用いて浮動小数点演算を実行する計算機におい
    て、 保護桁レジスタ5に設定されている保護ビツト
    の減算補正を行う機能を有する専用の丸めキヤリ
    論理回路6を備え、 浮動小数点減算の実行時に、仮数桁合わせの
    後、仮数部減算操作を行うと同時に上記丸めキヤ
    リ論理回路6により、保護桁レジスタ5に設定さ
    れた保護ビツトの減算補正をし、丸めキヤリを生
    成することを特徴とする浮動小数点演算における
    保護桁処理方式。
JP60178097A 1985-08-13 1985-08-13 浮動小数点演算における保護桁処理方式 Granted JPS6238937A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60178097A JPS6238937A (ja) 1985-08-13 1985-08-13 浮動小数点演算における保護桁処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60178097A JPS6238937A (ja) 1985-08-13 1985-08-13 浮動小数点演算における保護桁処理方式

Publications (2)

Publication Number Publication Date
JPS6238937A JPS6238937A (ja) 1987-02-19
JPH0330170B2 true JPH0330170B2 (ja) 1991-04-26

Family

ID=16042588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60178097A Granted JPS6238937A (ja) 1985-08-13 1985-08-13 浮動小数点演算における保護桁処理方式

Country Status (1)

Country Link
JP (1) JPS6238937A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298435A (ja) * 1987-05-28 1988-12-06 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JP2537876B2 (ja) * 1987-06-11 1996-09-25 松下電器産業株式会社 丸め処理回路
US8909690B2 (en) 2011-12-13 2014-12-09 International Business Machines Corporation Performing arithmetic operations using both large and small floating point values

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56129946A (en) * 1980-02-13 1981-10-12 Intel Corp Method for computing numerical value and numerical data processor
JPS58225436A (ja) * 1982-06-25 1983-12-27 Panafacom Ltd まるめ処理制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56129946A (en) * 1980-02-13 1981-10-12 Intel Corp Method for computing numerical value and numerical data processor
JPS58225436A (ja) * 1982-06-25 1983-12-27 Panafacom Ltd まるめ処理制御方式

Also Published As

Publication number Publication date
JPS6238937A (ja) 1987-02-19

Similar Documents

Publication Publication Date Title
US4639886A (en) Arithmetic system having pipeline structure arithmetic means
US5197023A (en) Hardware arrangement for floating-point addition and subtraction
US5530663A (en) Floating point unit for calculating a compound instruction A+B×C in two cycles
CA1324217C (en) Pipelined floating point adder for digital computer
US4199810A (en) Radiation hardened register file
JPS6351287B2 (ja)
US5426600A (en) Double precision division circuit and method for digital signal processor
JPH0542011B2 (ja)
JPH0470662B2 (ja)
EP0234495B1 (en) Arithmetic circuit capable of executing floating point operations and fixed point operations
US4992969A (en) Integer division circuit provided with a overflow detector circuit
JPH0343645B2 (ja)
JPS6227412B2 (ja)
JPH04270415A (ja) 高性能加算器
GB1061545A (en) Arithmetic section
JPH0330170B2 (ja)
JPH07107664B2 (ja) 乗算回路
JPH07146777A (ja) 演算装置
JPH0772860B2 (ja) 演算方式
US5689721A (en) Detecting overflow conditions for negative quotients in nonrestoring two's complement division
JPS61224036A (ja) 演算装置
JPS59105142A (ja) フロ−テイング加算器
SU567172A1 (ru) Устройство дл вычитани чисел с плавающей зап той
JP2604667B2 (ja) 予測機能付き演算装置
JP3139011B2 (ja) 固定小数点プロセッサ