JPS61213927A - 浮動小数点演算処理装置 - Google Patents

浮動小数点演算処理装置

Info

Publication number
JPS61213927A
JPS61213927A JP60053975A JP5397585A JPS61213927A JP S61213927 A JPS61213927 A JP S61213927A JP 60053975 A JP60053975 A JP 60053975A JP 5397585 A JP5397585 A JP 5397585A JP S61213927 A JPS61213927 A JP S61213927A
Authority
JP
Japan
Prior art keywords
rounding
arithmetic
signal
carry
processing
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.)
Granted
Application number
JP60053975A
Other languages
English (en)
Other versions
JPH049341B2 (ja
Inventor
Kenji Hirose
健二 廣瀬
Tadaaki Bando
忠秋 坂東
Hidekazu Matsumoto
松本 秀和
Shinichiro Yamaguchi
伸一朗 山口
Yoichi Hirayama
洋一 平山
Hiroaki Nakanishi
宏明 中西
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 Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
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 Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP60053975A priority Critical patent/JPS61213927A/ja
Priority to US06/838,941 priority patent/US4839846A/en
Publication of JPS61213927A publication Critical patent/JPS61213927A/ja
Publication of JPH049341B2 publication Critical patent/JPH049341B2/ja
Granted 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
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • 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/49936Normalisation mentioned as feature only
    • 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)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、浮動小数点演算処理装置に係り、特に丸め処
理を高速に実行するのに好適な浮動小数点演算処理装置
に関する。
〔発明の背景〕
浮動小数点演算結果を丸め処理する方法としては、例え
ば米国特許第4,468,748号がある。正規化を終
えた仮数部演算結果(64ビツト)を、単精度(仮数部
24ビツト)または倍精度(仮数部56ビツト)に丸め
るために、単精度または倍精度での仮数部のL S B
 (Least 51gn1ficantBit)に続
(()uard 13its (丸め処理を決定するた
めの8ビツト)を調べて、切上げる<LsBに1を加え
る)か切捨てるかを決定しながら、仮数部演算結果(6
4ビツト)の内、単精度または倍精度での仮数部の範囲
に対してはOと加算し他の部分に対しては0との論理積
を得る。切上げる場合には、64ビツト幅仮数部演算器
の最下位ビットに加えられたキャリー人力が、0との論
理積を行っている部分では伝搬されて、所望の仮数部L
SBに加算されるようにしている。
この方法は、4ビツトスライスの演算器で論理積を行う
とキャリーが伝搬されることを利用して、丸め処理の決
定と実行(実際には、最下位ビットへのキャリー人力を
切上げまたは切捨てに従い操作するだけで済む。)を同
時に行うものである。
しかし、64ビツト幅演算器を上位24ビツト。
下位8ピツト、および中央の32ビツトの3つの部分に
分けて制御する必要があった。また、この方法では、第
9図(2)に示すようなIEEE標準の倍精度浮動小数
点フォーマットでの丸め処理がうまくできない。という
のは、演算する場合に整数部も含めて仮数部53ビツト
として扱うため、LSBが4ピツトスライスした演算器
内の最上位に来るからである。また、丸め処理する前の
仮数部が最大値のときに切上げると仮数部があふれてし
壕うこと、すなわち丸め処理に伴う仮数部オーバーフロ
ーの処理に時間がかかる問題があった。
〔発明の目的〕
本発明の目的は、■EEE推奨事項に準拠した浮動小数
点演算での丸め処理を高速に実行する浮動小数点演算処
理装置を提供するととである。
〔発明の概要〕
IBEE  Ta5k p754では、第9図(3)に
示すような拡張精度浮動小数点フォーマットで浮動小数
点演算を行うことを推奨している。また、丸め処理に対
しては第10図に示すようにLSBに続(()uard
 Bit 、 1(ound 13ft 、 5tic
ky 13it(LSBより第3番目以降の全ビットの
論理和の値を持つ)の3ビツトとLSBおよびSign
 Bitとを調べて、ユーザーが指定可能な4モード(
R,N。
RP、RM、RZ)の内いずれかの丸めモードと第9図
に示す3種の精度の内いずれかの指定された丸め精度と
に従い、第11図に示す規則により丸めることを推奨し
ている。
第12図はIEEE標準に準拠した一般的な浮動小数点
加減算の実行処理フローを示している。
まず、2つのオペランドの指数部の差を求めて(lO)
、指数が小さい方のオペランドの仮数部を指数の差だけ
右ヘシフトし、加算または減算を実行する(20)。シ
フトに際しては、)l、oundBit以降にシフトさ
れる全ビットの論理和が5ticky Bitに反映さ
れなければならない。次に、ステップ20での演算結果
をMS B (Most Sign−1fcant B
it )よシも先行するOビットの数だけ左ヘシフトし
、シフトした数だけ指数部から減算する(30)。そし
て、ステップ3oの結果に対し前述の丸め処理を行う(
40)。最後に、丸め処理により仮数部がオーバーフロ
ーしたか否かを調べ、オーバーフローしていると、仮数
部を右へ1ビツトシフトし、指数部に1を加えて実行を
終了する(50)。
これに対し第2図は、本発明を用いた場合の浮動小数点
加減算の実行処理フローを示している。
図において60および70での処理は第12図での10
および20の処理と同じであるが、8oでは70の演算
結果t−MSBよりも先行するθビットの数だけ左ヘシ
フトし、演算器で0との加算を゛行う。これと同時に、
シフトした仮数部において前述の丸め処理に必要な各ピ
ラトラ調べ、ユーザー指定の丸めモードに従った丸め処
理を決定する。
この結果丸め処理として桁上げを行う場合には、ユーザ
ー指定の丸め精度に対応するLSHに1が加算されるよ
うにキャリー発生器を操作して丸め処理を行い、LSB
より下の全ビットには、演算結果としてOを出力する。
さらに、丸め処理用の各ビットを調べるときに、丸め処
理により仮数部オーバーフローが発生するか否か、すな
わち仮数部が各精度における最大値を示しているか否か
を検出する。仮数部が最大値でかつ丸め処理として切上
げを行う場合には、仮数部オーバーフローと判定し、そ
の旨を指数部へ知らせて、仮数部演算結果としては最小
値1.0を出力する。こうすると丸め処理が高速化され
る。
〔発明の実施例〕
以下、第1図〜第8図を参照して、本発明の一実施例を
説明する。
第1図は、本発明による浮動小数点演算処理装置の全体
構成を示している。この演算処理装置は、AおよびBの
読出し口を持った2ボート・レジスタ・ファイル(1ワ
ード67ビツト)800と、一度に左右へ67ビツトシ
フト可能なシフタ600と、2つのオペランド間での算
術演算および論理演算を行う67ビツト幅の演算器AL
U100と、ALUlooからの4ビツト毎のキャリー
伝達(ト)120とキャリー生成(G)130と最下位
ビットへのキャリー人力230および240とに基づい
てALUlooへ4ビツト毎のキャリー(C)、すすな
わち桁上げ信号を生成するキャリー発生器(CG) 3
00と、ALUlooのA人力データと指定された丸め
モードおよび丸め精度とにより丸め処理を決定する丸め
制御部200と、ALUlooでの演算結果のMOBか
ら先行するOビットの数を検出する先行ゼロ検出部40
0と、この先行ゼロ検出部400からの出力をラッチす
る先行ゼロレジスタ500と、演算処理装置全体を制御
するコントローラ(FP−CONT)と符号演算部およ
び指数演算部(SIGN&EXP UNIT)とを含む
浮動小数点演算制御部700と、2対1セレクタ910
.920,930,940とを主な要素として構成され
る。
本処理装置の浮動小数点加減算実行時の動作を第2図を
用いて説明する。まず、2つのオペランドの指数の差を
指数演算部700で求める(ステップ60)。その結果
によシ、次にレジスタ・ファイル800のAボートから
読出すデータ810とBボートから読出すデータ820
の内で指数が小さい方の仮数部データがシフタ600へ
の入力となるように、セレクタ910および920に浮
動小数点演算制御部700からセレクト信号710を出
力する。また、シフタ600にシフト信号として720
を出力するとともに、ALUlooのB人力データとし
てセレクタ920の出力925を選択するように、セレ
クタ930および940にセレクト信号730を出力す
る。
次のマシンサイクルでは、演算制御部700における符
号演算部および指数演算部の演算結果と命令とにより決
められる真の加算または減算を示す信号740に基づき
、シフタ600の出力610とセレクタ940の出力9
45との演算をALUlooで実行する(ステップ70
)。このとき、ALUI 00の八人力には、指数が小
さい方の仮数部が、指数の差を示す信号720によレジ
スタ600で右ヘシフトされた値となって入ってくる。
また、ALUlooでの演算結果110は、レジスタ・
ファイル800に格納されると同時に、先行ゼロ検出部
400によ!0M5Bからの先行する0ビット列の長さ
が検出され、その値410が先行ゼロレジスタ500に
セットされる。
最後のマシンサイクルでは、先行ゼロレジスタ500の
値によシステップ70での演算結果の正規化を7フタ6
00で行い、ALUI OOで0と加算し丸め処理を実
行する(ステップ80)。このために、レジスタ・ファ
イル800から読出す前記演算結果がセレクタ910で
選択されてシフタ600の入力となるように、セレクト
信号710を出力する。また、シフタ600へのシフト
信号として先行ゼロレジスタpOOの出力510を選択
させ、ALUlooへのB入力として0が入るように、
セレクタ930および940へのセレクト信号730を
それぞれ出力する。次に丸め処理を行うために、ALU
looに加算を示す信号740を出力するとともに、丸
め制御部200に丸め処理実行を示す信号750と丸め
モードおよび丸め精度を指示する信号760とを演算制
御部700から出力する。丸め制御部200では信号7
50および760に基づき、被丸め処理数値610上の
各丸め処理用ビットを調べて丸め処理を決定する。また
丸めのための桁上げ信号230と丸め精度を示す信号2
40とをキャリー発生器300に出力し、ALUloo
に対しても丸め精度を知らせる信号210を出力する。
さらに、丸め制御部200では丸め処理により仮数部オ
ーバーフローが発生するか否かを検出し、その結果を信
号線220によりALU 100および指数演算部70
0に知らせる。キャリー発生器300では、ALUlo
oの4ビツト毎から出力されるキャリー伝達信号(P)
120およびキャリー生成信号(G)130と前記信号
230および240 、!:にヨDALUlooの4ビ
ツト毎へのキャリー出力310を出力する。このとき、
信号線230が桁上げを示していれば、信号線240で
示される精度でのLSBへ桁上げが発生して、ALUl
o。
での演算結果110としては、切上げた値が得られる。
遂に、信号線230が桁上げを示していなければ、LS
Bへの桁上げは発生せず、ALUlooでの演算結果1
10としては、切捨てた値が得られる。
次に、第3図によりALU100の詳細を説明する。第
3図は67ピツト幅の演算器の構成を示している。この
ALUlooは、4ビット幅のALU150〜165お
よび3ビット幅のAL0166と2対1セレクタ170
,176〜186とから成る。各4ピツ)4LUからは
、桁上げ先見用のキャリー伝達信号120 (PO−P
I 6)およびキャリー生成信号130 (Go−Gl
 6 )が、キャリー発生器300に送られる。すると
、その情報を元にキャリー発生器300から各4ビット
人LU150〜166へのキャリー信号310(CO〜
C16)が送られてくる。セレクタ186では、3つの
丸め精度の何れかに丸める場合に、丸め制御部200か
らの信号線212によりO側を選択する。セレクタ18
3〜185では、倍精度または単精度の何れかに丸める
場合に、丸め制御部200からの信号線213によりθ
側が選択される。ただし、倍精度に丸める場合はセレク
タ183へのALU162からの出力の最上位ビットが
、倍精度でのLSBに位置するので、セレクタ183で
O側を選択した場合でも正しいLSBが得られるように
、丸め制御部200で作成したLSB211が出力され
る。セレクタ176〜182では、単精度に丸める場合
に、丸め制御部200からの信号線214によりO側が
選択される。セレクタ170では、3つの丸め精度の何
れかに丸める場合には仮数部オーバーフローが発生する
とき、丸め制御部200からの信号線215によシ(8
)ta=(1000)2側が選択されて、オーバージロ
ーした仮数部を右へ1ビツトシフトした値として出力さ
れる。4ビツトALU151〜155の出力は、各精度
に対して共通なのでセレクタは使わない。また、丸め処
理以外では、丸め制御部200からの信号210は出力
されず、セレクタ170.176〜186は常にA L
 Uからの出力側を選択する。
第4図により丸め制御部200の詳細を説明する。丸め
制御部200は、ANbゲート252゜254.255
と、ORゲート251,253と、3対1セレクタ26
0〜263と、丸め処理決定ロジック2300と、丸め
処理による仮数部オーバーフロー検出器2100と、A
LUlooおよびキャリー発生器300への丸め精度を
指示する信号を作成する丸め処理制御信号作成部220
0とから成る。セレクタ260は、丸め精度を示す信号
770によシ、各精度での5ticky Bi t r
つまり、拡張精度ではピッ)(0)、倍精度ではビット
(10〜0)の論理和をORゲート251でとった値を
選択し、単精度ではピッ) (40〜0)の論理和をO
Rゲート253でとった値を選択する。
セレクタ261では、信号線770によシ各丸め精度に
対応する几ound Bitを選択し、セレクタ262
では同じ(Quard Bi tを選び、セレクタ26
3ではLSBを選択する。
丸め処理決定ロジック2300では、セレクタ260〜
263の出力2350 、2340 、2330 。
2320と、丸めを行う仮数部610符号765と、丸
め精度770と、丸めモード780とに基づき丸め処理
を決定し、桁上げ信号230と2310とを作成する。
第5図は、丸め処理決定ロジック2300の一構成例を
示している。ANDゲート2360〜2363は、第1
1図に示す規則に従い、丸め処理として切上げるか切捨
てるかを判定し、ORゲート2364を通して信号23
10を出力する。
ANDゲー)2365は、倍精度に丸める場合(信号線
272で知らされる)の桁上げ信号230を作成するた
めのものである。つまシ、倍精度の場合にはLSBが4
ビツトスライスしたALUの最上位にくるために、直接
キャリーをLSBに加えることができない。そこで、L
SBへの桁上げは別途制御して、ここではLSBの次の
ビットへの桁上げを制御すべくANDゲート2365に
ょシ倍精度に丸める場合にL8B=1でかつLSBへの
桁上げを行うときのみ桁上げ信号230を出力する。他
の2つの精度に丸める場合には、ANDゲ−)2366
によシ信号231Oが230としてそのまま出力される
ALUlooおよびキャリー発生器300への丸め処理
制御信号作成部220oでは、丸め処理決定ロジック2
300からの桁上げ信号2310と、丸め精度770と
、倍精度で(7)LSB2210と、FP−CONT7
00からの丸め指示信号750とによシ信号210およ
び240を作成する。第6図は丸め処理制御信号作成部
2200の一構成例を示している。図において、単精度
7711倍精度7?2.拡張精度7’73の信号と信号
750とのANDがとられ、いずれかの精度で丸め、る
場合に、ALUIQQのセレクタ170,176〜18
6へのセレクト信号212〜214のいずれかに、また
、キャリー発生器300に丸め精度を知らせる信号24
1〜243のいずれかにそれぞれ信号が出力される。信
号772で示される倍精度の場合は、倍精度でLSBを
出方する。信号線211は、EORゲートで被丸め数値
610の倍精度でのLSB2210と丸め処理決定ロジ
ック2300からの桁上げ信号231oとの排他的論理
和をとった結果の値を出力する。それ以外の場合には0
を出力する。
丸め処理による仮数部オーバーフロー検出部2100は
各精度に丸める場合に、被丸め数値610のビット(6
6〜43)の論理積をANDゲート255でとった値2
11oと、同じくビット(42〜14)の論理積をAN
Dゲート254でとった値2120(!:、k:ッ) 
(13〜3 ) (7)論理積ヲANDゲート252で
とった値213oと、丸め処理決定ロジック2300が
らの桁上げ信号231oと、丸め精度770と、および
丸め指示信号750とにより、仮数部がオーバーフロー
するが否かを示す信号220を作成する。
第7図は、仮数部オーバーフロー検出部2100の一構
成例を示している。信号771が真となる単精度に丸め
る場合、信号2110が真ならばオーバーフローの可能
性がある。また、信号772が真となる倍精客に丸める
場合、信号211oおよび2120が真ならばオーバー
フローの可能性がある。
さらに、信号773が真となる拡張精度の場合、信号2
110.2120.2130の全てが真ならば、オーバ
ーフローの可能性がある。このとき、信号750が丸め
処理を指示しており、かつ、丸め処理決定ロジック23
00からの桁上げ信号2310が桁上げを示していれば
、丸め処理による仮数部オーバーフローが発生すると見
なして信号220を真とする。
キャリー発生器300では、ALUlooからのキャリ
ー伝搬信号120 (PI3〜PO)、 キャリー生成
信号130(016〜GO)、丸め処理決定ロジック2
00からの桁上げ信号230および丸め精度240によ
り、ALUI 00へのキャリー出力310(CI6〜
CO)を生成する。
丸め処理以外でのCG300の構成は桁上げ先見回路と
して周知の技術であるから、ここでは詳細な説明を省き
、特に丸め処理に関係する部分についてだけ述べる。第
8図は、キャリー発生器300内で特に丸め処理に関係
した部分の構成を示している。
丸め精度240の何れも真でなければ、ALUlooか
らのキャリー生成信号GO,G3.GIOがそのまま出
力される。しかし、丸め精度240が何れかの精度に丸
めることを示していれば、単精度(信号241が真)な
らばキャリー生成信号GOAが、倍精度(信号242が
真)ならばキャリー生成信号G3Aが、拡張精度(信号
243が真)ならばキャリー生成信号GIOAが、それ
ぞれ丸め制御部200からの桁上げ信号230とな多出
力される。この値に基づき桁上げ先見が行われるので、
結果として所望の精度への丸め処理が実行できることに
なる。
本実施例では、仮数部の丸め処理についてだけ述べたが
、指数部においては丸め処理のときに指数部に1加算し
た値と、加算しない値の2通シを用意しておき、丸め制
御部200からの仮数部オ一バーフロー信号220によ
り用意しておいた指数部のどちらか一方を最終結果とし
て取れば、仮数部オーバーフローの判定が全く不要とな
り、高速丸め処理が可能となる。
〔発明の効果〕
本発明によれば、IEEE推奨事項に準拠した丸め処理
を従来2ステップ以上要していたのに対し、1ステツプ
でできるので、高速な浮動小数点演算処理装置が得られ
る。
【図面の簡単な説明】
第1図は本発明による浮動小数点演算処理装置の全体構
成を示すブロック図、第2図は第1図装置による浮動小
数点加減算の実行処理を示すフローチャート、第3図は
第1図のALUlooの構成を示すブロック図、第4図
は第1図の丸め制御部200の構成を示すブロック図、
第5図は第4図の丸め処理決定ロジック2300の構成
を示す回路図、第6図は第4図の丸め制御信号作成部。 2200の構成を示す回路図、第7図は第4図の仮数部
オーバーフロー検出部2100の構成を示す回略図、第
8図は第1図のキャリー発生器300のうち特に丸め処
理に関係する部分の構成を示す回路図、第9図は工EE
E標準の浮動小数点データフォーマットを示す図、第1
0図は丸め処理のための各ビットを説明する図、第11
図は丸め処理の規則を示す図、第12図は一般的な浮動
小数点加減算の実行処理を示すフローチャートである。 100・・・ALU、200・・・丸め処理制御部、2
100・・・仮数部オーバーフロー検出部、2200・
・・丸め処理制御信号作成部、2300・・・丸め処理
決定ロジック、300・・・キャリー発生器、400・
・・先行ゼロ検出部、500・・・先行ゼロレジスタ、
600・・・シフタ、700・・・浮動小数点演算制御
部、符号演算部、指数演算部、800・・・レジスタ・
ファイル、900・・・セレクタ。

Claims (1)

  1. 【特許請求の範囲】 1、オペランドと演算結果とを格納するレジスタ・ファ
    イルと、レジスタ・ファイルから読出したオペランドを
    任意ビット左右にシフト可能なシフタと、レジスタ・フ
    ァイルから読出したオペランドとシフタの出力との間で
    演算する演算器と、演算器からのキャリー伝搬信号とキ
    ャリー生成信号とに応じて演算器へのキャリー出力を生
    成するキャリー発生器と、演算器の演算結果で先行ゼロ
    ビット列の長さを検出する先行ゼロビット検出器と、符
    号演算部および指数演算部を有し演算処理装置全体を制
    御する浮動小数点演算制御部とからなる浮動小数点演算
    処理装置において、前記シフタの出力データから丸め処
    理用ビットを抽出し、処理用ビットに含まれた丸めモー
    ドと丸め精度との情報に応じて丸め処理を決定するとと
    もに丸め処理に必要なときは桁上げ信号をキャリー発生
    器に出力する丸め処理決定手段と、丸め処理決定手段の
    出力に応じて丸め精度をキャリー発生器に知らせる信号
    を出力する丸め処理制御信号作成手段と、丸め処理決定
    手段の出力に応じて丸め処理により仮数部オーバーフロ
    ーが発生するか否かを検出し結果を前記浮動小数点演算
    処理制御部および演算器に知らせる仮数部オーバーフロ
    ー検出手段とを含む丸め制御部を設け、丸め制御部から
    の信号に従いキャリー発生器が所定のビット位置で桁上
    げに必要なキャリー信号を生成し演算器に出力すること
    を特徴とする浮動小数点演算処理装置。 2、特許請求の範囲第1項において、丸め処理制御信号
    作成手段が、演算器の出力において丸め処理により不要
    になる部分を0にさせる制御信号を演算器に出すことを
    特徴とする浮動小数点演算処理装置。 3、特許請求の範囲第1項または第2項において、丸め
    制御部から仮数部オーバーフローを知らせる信号が出力
    されたときに、演算器は仮数部での最小値(≠0)を出
    力することを特徴とする浮動小数点演算処理装置。
JP60053975A 1985-03-18 1985-03-18 浮動小数点演算処理装置 Granted JPS61213927A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60053975A JPS61213927A (ja) 1985-03-18 1985-03-18 浮動小数点演算処理装置
US06/838,941 US4839846A (en) 1985-03-18 1986-03-12 Apparatus for performing floating point arithmetic operations and rounding the result thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60053975A JPS61213927A (ja) 1985-03-18 1985-03-18 浮動小数点演算処理装置

Publications (2)

Publication Number Publication Date
JPS61213927A true JPS61213927A (ja) 1986-09-22
JPH049341B2 JPH049341B2 (ja) 1992-02-19

Family

ID=12957642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60053975A Granted JPS61213927A (ja) 1985-03-18 1985-03-18 浮動小数点演算処理装置

Country Status (2)

Country Link
US (1) US4839846A (ja)
JP (1) JPS61213927A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226226A (ja) * 1986-03-27 1987-10-05 Nec Corp 浮動小数点丸め正規化回路
JPH01162928A (ja) * 1987-12-18 1989-06-27 Fujitsu Ltd 浮動小数点加算器
JPH01240927A (ja) * 1988-03-23 1989-09-26 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JPH01286022A (ja) * 1988-05-13 1989-11-17 Sharp Corp 係数回路
JPH02232723A (ja) * 1989-02-03 1990-09-14 Digital Equip Corp <Dec> ディジタルコンピュータ用パイプライン式浮動小数点加減算器
CN108139885A (zh) * 2015-10-07 2018-06-08 Arm有限公司 浮点数舍入

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197024A (en) * 1989-06-14 1993-03-23 Pickett Lester C Method and apparatus for exponential/logarithmic computation
US5432727A (en) * 1989-11-02 1995-07-11 Intergraph Corporation Apparatus for computing a sticky bit for a floating point arithmetic unit
EP0461241A4 (en) * 1989-12-29 1993-09-01 Motorola, Inc. Binary floating point arithmetic rounding in conformance with ieee 754-1985 standard
US5111421A (en) * 1990-02-26 1992-05-05 General Electric Company System for performing addition and subtraction of signed magnitude floating point binary numbers
US5204832A (en) * 1990-03-22 1993-04-20 Matsushita Electric Industrial Co., Ltd. Addition apparatus having round-off function
US5231600A (en) * 1990-04-19 1993-07-27 Bull Hn Information Systems Inc. Overflow detector for anticipating producing invalid operands resulting from performing shift operations on such operands
EP0463966B1 (en) * 1990-06-29 1998-11-25 Digital Equipment Corporation High-performance multi-processor having floating point unit and operation method
JP2523962B2 (ja) * 1990-08-20 1996-08-14 松下電器産業株式会社 浮動小数点演算装置
US5276634A (en) * 1990-08-24 1994-01-04 Matsushita Electric Industrial Co., Ltd. Floating point data processing apparatus which simultaneously effects summation and rounding computations
JPH04165530A (ja) * 1990-10-30 1992-06-11 Nec Corp 浮動小数点乗算装置
US5245563A (en) * 1991-09-20 1993-09-14 Kendall Square Research Corporation Fast control for round unit
US5258943A (en) * 1991-12-23 1993-11-02 Intel Corporation Apparatus and method for rounding operands
JPH05282133A (ja) * 1992-04-01 1993-10-29 Mitsubishi Electric Corp 演算方式
JP2803506B2 (ja) * 1992-12-25 1998-09-24 三菱電機株式会社 除算器
US5339266A (en) * 1993-11-29 1994-08-16 Motorola, Inc. Parallel method and apparatus for detecting and completing floating point operations involving special operands
US5548544A (en) * 1994-10-14 1996-08-20 Ibm Corporation Method and apparatus for rounding the result of an arithmetic operation
US5511016A (en) * 1994-11-30 1996-04-23 International Business Machines Corporation Method for store rounding and circuit therefor
RU95107478A (ru) * 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
US5892697A (en) * 1995-12-19 1999-04-06 Brakefield; James Charles Method and apparatus for handling overflow and underflow in processing floating-point numbers
WO1998006031A1 (en) * 1996-08-05 1998-02-12 Valery Yakovlevich Gorshtein Floating point addition methods and apparatus
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
JP2000010762A (ja) * 1998-06-19 2000-01-14 Mitsubishi Electric Corp 浮動小数点演算装置
US6219684B1 (en) * 1998-09-30 2001-04-17 Intel Corporation Optimized rounding in underflow handlers
US7242414B1 (en) * 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US6732259B1 (en) 1999-07-30 2004-05-04 Mips Technologies, Inc. Processor having a conditional branch extension of an instruction set architecture
JP2000348017A (ja) 1999-06-02 2000-12-15 Toshiba Corp 浮動小数点演算器
US6912559B1 (en) 1999-07-30 2005-06-28 Mips Technologies, Inc. System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
US7346643B1 (en) * 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6697832B1 (en) 1999-07-30 2004-02-24 Mips Technologies, Inc. Floating-point processor with improved intermediate result handling
US6714197B1 (en) 1999-07-30 2004-03-30 Mips Technologies, Inc. Processor having an arithmetic extension of an instruction set architecture
US6631392B1 (en) 1999-07-30 2003-10-07 Mips Technologies, Inc. Method and apparatus for predicting floating-point exceptions
DE10050589B4 (de) 2000-02-18 2006-04-06 Hewlett-Packard Development Co., L.P., Houston Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation
US6996596B1 (en) * 2000-05-23 2006-02-07 Mips Technologies, Inc. Floating-point processor with operating mode having improved accuracy and high performance
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
US6941335B2 (en) * 2001-11-29 2005-09-06 International Business Machines Corporation Random carry-in for floating-point operations
US9146706B2 (en) * 2006-05-05 2015-09-29 Qualcomm Incorporated Controlled-precision iterative arithmetic logic unit
US8046400B2 (en) * 2008-04-10 2011-10-25 Via Technologies, Inc. Apparatus and method for optimizing the performance of x87 floating point addition instructions in a microprocessor
US9104479B2 (en) 2011-12-07 2015-08-11 Arm Limited Apparatus and method for rounding a floating-point value to an integral floating-point value
US20140195581A1 (en) * 2013-01-08 2014-07-10 Analog Devices, Inc. Fixed point division circuit utilizing floating point architecture

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130879A (en) * 1977-07-15 1978-12-19 Honeywell Information Systems Inc. Apparatus for performing floating point arithmetic operations using submultiple storage
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
US4442498A (en) * 1981-04-23 1984-04-10 Josh Rosen Arithmetic unit for use in data processing systems
US4468748A (en) * 1981-06-11 1984-08-28 Data General Corporation Floating point computation unit having means for rounding the floating point computation result
US4476523A (en) * 1981-06-11 1984-10-09 Data General Corporation Fixed point and floating point computation units using commonly shared control fields
JPS59188740A (ja) * 1983-04-11 1984-10-26 Hitachi Ltd フロ−テイング加算器
US4562553A (en) * 1984-03-19 1985-12-31 Analogic Corporation Floating point arithmetic system and method with rounding anticipation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226226A (ja) * 1986-03-27 1987-10-05 Nec Corp 浮動小数点丸め正規化回路
JPH01162928A (ja) * 1987-12-18 1989-06-27 Fujitsu Ltd 浮動小数点加算器
JPH01240927A (ja) * 1988-03-23 1989-09-26 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JPH01286022A (ja) * 1988-05-13 1989-11-17 Sharp Corp 係数回路
JPH02232723A (ja) * 1989-02-03 1990-09-14 Digital Equip Corp <Dec> ディジタルコンピュータ用パイプライン式浮動小数点加減算器
CN108139885A (zh) * 2015-10-07 2018-06-08 Arm有限公司 浮点数舍入
CN108139885B (zh) * 2015-10-07 2023-04-07 Arm有限公司 浮点数舍入

Also Published As

Publication number Publication date
JPH049341B2 (ja) 1992-02-19
US4839846A (en) 1989-06-13

Similar Documents

Publication Publication Date Title
JPS61213927A (ja) 浮動小数点演算処理装置
EP0973089B1 (en) Method and apparatus for computing floating point data
US4941120A (en) Floating point normalization and rounding prediction circuit
EP0585619B1 (en) Method of detecting zero condition of arithmetic or logical computation result, and circuit for same
US4922446A (en) Apparatus and method for floating point normalization prediction
KR950029924A (ko) 부동 소수점점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
EP0328871A2 (en) Condition code prediction apparatus
US5957997A (en) Efficient floating point normalization mechanism
JPS584441A (ja) デ−タ処理システム
US6199089B1 (en) Floating point arithmetic logic unit rounding using at least one least significant bit
US7668892B2 (en) Data processing apparatus and method for normalizing a data value
KR19980041799A (ko) 결합된 선두 1 및 선두 제로 예상기
US7437400B2 (en) Data processing apparatus and method for performing floating point addition
US6499044B1 (en) Leading zero/one anticipator for floating point
US4996660A (en) Selection of divisor multipliers in a floating point divide circuit
US5117384A (en) Method and apparatus for exponent adder
JP3306497B2 (ja) 浮動小数点乗算器における丸め回路
US6594679B1 (en) Leading-zero anticipator having an independent sign bit determination module
US7356553B2 (en) Data processing apparatus and method for determining a processing path to perform a data processing operation on input data elements
US6178437B1 (en) Method and apparatus for anticipating leading digits and normalization shift amounts in a floating-point processor
US6360238B1 (en) Leading zero/one anticipator having an integrated sign selector
US6684232B1 (en) Method and predictor for streamlining execution of convert-to-integer operations
JP4439060B2 (ja) 浮動小数点加算器
US7386580B2 (en) Data processing apparatus and method for computing an absolute difference between first and second data elements
JPH0479014B2 (ja)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term