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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49957—Implementation 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,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ピツトスライスした演算器
内の最上位に来るからである。また、丸め処理する前の
仮数部が最大値のときに切上げると仮数部があふれてし
壕うこと、すなわち丸め処理に伴う仮数部オーバーフロ
ーの処理に時間がかかる問題があった。
分けて制御する必要があった。また、この方法では、第
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。
示すような拡張精度浮動小数点フォーマットで浮動小数
点演算を行うことを推奨している。また、丸め処理に対
しては第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図に示す規則により丸めることを推奨し
ている。
に示す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)。
、指数が小さい方のオペランドの仮数部を指数の差だけ
右ヘシフトし、加算または減算を実行する(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との加算を゛行う。これと同時に、
シフトした仮数部において前述の丸め処理に必要な各ピ
ラトラ調べ、ユーザー指定の丸めモードに従った丸め処
理を決定する。
および20の処理と同じであるが、8oでは70の演算
結果t−MSBよりも先行するθビットの数だけ左ヘシ
フトし、演算器で0との加算を゛行う。これと同時に、
シフトした仮数部において前述の丸め処理に必要な各ピ
ラトラ調べ、ユーザー指定の丸めモードに従った丸め処
理を決定する。
この結果丸め処理として桁上げを行う場合には、ユーザ
ー指定の丸め精度に対応するLSHに1が加算されるよ
うにキャリー発生器を操作して丸め処理を行い、LSB
より下の全ビットには、演算結果としてOを出力する。
ー指定の丸め精度に対応するLSHに1が加算されるよ
うにキャリー発生器を操作して丸め処理を行い、LSB
より下の全ビットには、演算結果としてOを出力する。
さらに、丸め処理用の各ビットを調べるときに、丸め処
理により仮数部オーバーフローが発生するか否か、すな
わち仮数部が各精度における最大値を示しているか否か
を検出する。仮数部が最大値でかつ丸め処理として切上
げを行う場合には、仮数部オーバーフローと判定し、そ
の旨を指数部へ知らせて、仮数部演算結果としては最小
値1.0を出力する。こうすると丸め処理が高速化され
る。
理により仮数部オーバーフローが発生するか否か、すな
わち仮数部が各精度における最大値を示しているか否か
を検出する。仮数部が最大値でかつ丸め処理として切上
げを行う場合には、仮数部オーバーフローと判定し、そ
の旨を指数部へ知らせて、仮数部演算結果としては最小
値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とを主な要素として構成され
る。
構成を示している。この演算処理装置は、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を出力す
る。
用いて説明する。まず、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で右ヘシフトされた値となって入ってくる。
号演算部および指数演算部の演算結果と命令とにより決
められる真の加算または減算を示す信号740に基づき
、シフタ600の出力610とセレクタ940の出力9
45との演算をALUlooで実行する(ステップ70
)。このとき、ALUI 00の八人力には、指数が小
さい方の仮数部が、指数の差を示す信号720によレジ
スタ600で右ヘシフトされた値となって入ってくる。
また、ALUlooでの演算結果110は、レジスタ・
ファイル800に格納されると同時に、先行ゼロ検出部
400によ!0M5Bからの先行する0ビット列の長さ
が検出され、その値410が先行ゼロレジスタ500に
セットされる。
ファイル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を出力する。
値によシステップ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。
ーバーフローが発生するか否かを検出し、その結果を信
号線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としては、切捨てた値が得られる。
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からの出力側を選択する。
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でとった値を選択する。
制御部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を選択する。
対応する几ound Bitを選択し、セレクタ262
では同じ(Quard Bi tを選び、セレクタ26
3ではLSBを選択する。
丸め処理決定ロジック2300では、セレクタ260〜
263の出力2350 、2340 、2330 。
263の出力2350 、2340 、2330 。
2320と、丸めを行う仮数部610符号765と、丸
め精度770と、丸めモード780とに基づき丸め処理
を決定し、桁上げ信号230と2310とを作成する。
め精度770と、丸めモード780とに基づき丸め処理
を決定し、桁上げ信号230と2310とを作成する。
第5図は、丸め処理決定ロジック2300の一構成例を
示している。ANDゲート2360〜2363は、第1
1図に示す規則に従い、丸め処理として切上げるか切捨
てるかを判定し、ORゲート2364を通して信号23
10を出力する。
示している。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としてそのまま出力される
。
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
を出力する。
制御信号作成部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を作成する。
各精度に丸める場合に、被丸め数値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が真ならばオーバー
フローの可能性がある。
成例を示している。信号771が真となる単精度に丸め
る場合、信号2110が真ならばオーバーフローの可能
性がある。また、信号772が真となる倍精客に丸める
場合、信号211oおよび2120が真ならばオーバー
フローの可能性がある。
さらに、信号773が真となる拡張精度の場合、信号2
110.2120.2130の全てが真ならば、オーバ
ーフローの可能性がある。このとき、信号750が丸め
処理を指示しており、かつ、丸め処理決定ロジック23
00からの桁上げ信号2310が桁上げを示していれば
、丸め処理による仮数部オーバーフローが発生すると見
なして信号220を真とする。
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)を生成する。
ー伝搬信号120 (PI3〜PO)、 キャリー生成
信号130(016〜GO)、丸め処理決定ロジック2
00からの桁上げ信号230および丸め精度240によ
り、ALUI 00へのキャリー出力310(CI6〜
CO)を生成する。
丸め処理以外でのCG300の構成は桁上げ先見回路と
して周知の技術であるから、ここでは詳細な説明を省き
、特に丸め処理に関係する部分についてだけ述べる。第
8図は、キャリー発生器300内で特に丸め処理に関係
した部分の構成を示している。
して周知の技術であるから、ここでは詳細な説明を省き
、特に丸め処理に関係する部分についてだけ述べる。第
8図は、キャリー発生器300内で特に丸め処理に関係
した部分の構成を示している。
丸め精度240の何れも真でなければ、ALUlooか
らのキャリー生成信号GO,G3.GIOがそのまま出
力される。しかし、丸め精度240が何れかの精度に丸
めることを示していれば、単精度(信号241が真)な
らばキャリー生成信号GOAが、倍精度(信号242が
真)ならばキャリー生成信号G3Aが、拡張精度(信号
243が真)ならばキャリー生成信号GIOAが、それ
ぞれ丸め制御部200からの桁上げ信号230とな多出
力される。この値に基づき桁上げ先見が行われるので、
結果として所望の精度への丸め処理が実行できることに
なる。
らのキャリー生成信号GO,G3.GIOがそのまま出
力される。しかし、丸め精度240が何れかの精度に丸
めることを示していれば、単精度(信号241が真)な
らばキャリー生成信号GOAが、倍精度(信号242が
真)ならばキャリー生成信号G3Aが、拡張精度(信号
243が真)ならばキャリー生成信号GIOAが、それ
ぞれ丸め制御部200からの桁上げ信号230とな多出
力される。この値に基づき桁上げ先見が行われるので、
結果として所望の精度への丸め処理が実行できることに
なる。
本実施例では、仮数部の丸め処理についてだけ述べたが
、指数部においては丸め処理のときに指数部に1加算し
た値と、加算しない値の2通シを用意しておき、丸め制
御部200からの仮数部オ一バーフロー信号220によ
り用意しておいた指数部のどちらか一方を最終結果とし
て取れば、仮数部オーバーフローの判定が全く不要とな
り、高速丸め処理が可能となる。
、指数部においては丸め処理のときに指数部に1加算し
た値と、加算しない値の2通シを用意しておき、丸め制
御部200からの仮数部オ一バーフロー信号220によ
り用意しておいた指数部のどちらか一方を最終結果とし
て取れば、仮数部オーバーフローの判定が全く不要とな
り、高速丸め処理が可能となる。
本発明によれば、IEEE推奨事項に準拠した丸め処理
を従来2ステップ以上要していたのに対し、1ステツプ
でできるので、高速な浮動小数点演算処理装置が得られ
る。
を従来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・・・セレクタ。
成を示すブロック図、第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、オペランドと演算結果とを格納するレジスタ・ファ
イルと、レジスタ・ファイルから読出したオペランドを
任意ビット左右にシフト可能なシフタと、レジスタ・フ
ァイルから読出したオペランドとシフタの出力との間で
演算する演算器と、演算器からのキャリー伝搬信号とキ
ャリー生成信号とに応じて演算器へのキャリー出力を生
成するキャリー発生器と、演算器の演算結果で先行ゼロ
ビット列の長さを検出する先行ゼロビット検出器と、符
号演算部および指数演算部を有し演算処理装置全体を制
御する浮動小数点演算制御部とからなる浮動小数点演算
処理装置において、前記シフタの出力データから丸め処
理用ビットを抽出し、処理用ビットに含まれた丸めモー
ドと丸め精度との情報に応じて丸め処理を決定するとと
もに丸め処理に必要なときは桁上げ信号をキャリー発生
器に出力する丸め処理決定手段と、丸め処理決定手段の
出力に応じて丸め精度をキャリー発生器に知らせる信号
を出力する丸め処理制御信号作成手段と、丸め処理決定
手段の出力に応じて丸め処理により仮数部オーバーフロ
ーが発生するか否かを検出し結果を前記浮動小数点演算
処理制御部および演算器に知らせる仮数部オーバーフロ
ー検出手段とを含む丸め制御部を設け、丸め制御部から
の信号に従いキャリー発生器が所定のビット位置で桁上
げに必要なキャリー信号を生成し演算器に出力すること
を特徴とする浮動小数点演算処理装置。 2、特許請求の範囲第1項において、丸め処理制御信号
作成手段が、演算器の出力において丸め処理により不要
になる部分を0にさせる制御信号を演算器に出すことを
特徴とする浮動小数点演算処理装置。 3、特許請求の範囲第1項または第2項において、丸め
制御部から仮数部オーバーフローを知らせる信号が出力
されたときに、演算器は仮数部での最小値(≠0)を出
力することを特徴とする浮動小数点演算処理装置。
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)
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)
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)
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 |
-
1985
- 1985-03-18 JP JP60053975A patent/JPS61213927A/ja active Granted
-
1986
- 1986-03-12 US US06/838,941 patent/US4839846A/en not_active Expired - Fee Related
Cited By (7)
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 |