[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2000311079A - 実数演算器 - Google Patents

実数演算器

Info

Publication number
JP2000311079A
JP2000311079A JP2000101140A JP2000101140A JP2000311079A JP 2000311079 A JP2000311079 A JP 2000311079A JP 2000101140 A JP2000101140 A JP 2000101140A JP 2000101140 A JP2000101140 A JP 2000101140A JP 2000311079 A JP2000311079 A JP 2000311079A
Authority
JP
Japan
Prior art keywords
output
value
gate
bit
exponent
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
JP2000101140A
Other languages
English (en)
Inventor
Dong-Soon Lee
東 淳 李
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.)
SK Hynix Inc
Original Assignee
Hyundai Electronics Industries Co 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 Hyundai Electronics Industries Co Ltd filed Critical Hyundai Electronics Industries Co Ltd
Publication of JP2000311079A publication Critical patent/JP2000311079A/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/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】 演算速度が向上された実数演算器を提供す
る。 【解決手段】 実数演算器は、二つの入力値の指数値の
差を求め、有効数字を出力する有効数字出力部32,34,3
5,36と、二つの入力値の指数値のうち大きい値を選択す
る第1マルチプレクサ33と、指数値が小さい有効数字と
第1ビットインバータ37からの指数値が大きい反転され
た有効数字とを加算する加算器38と、有効数字のゼロの
連続性を予測するリーディングゼロ予測部39と、レフト
シフター42からの左側に桁シフティングされた加算器か
らの出力値を2の補数で処理する第2ビットインバータ43
と、第2ビットインバータからの出力値に1を増加させて
有効数字値を演算するインクリメンター44と、第1マル
チプレクサからの出力値からリーディングゼロカウンタ
40からのゼロのカウント値を減算する指数減算器46と、
指数減算器の出力信号から1ビットを減少させて指数値
を出力するディクレメンター47とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は実数演算器に関する
もので、特に演算速度を向上させるため、リーディング
予測回路を用いる実数演算器に関するものである。
【0002】
【従来の技術】一般に、実数演算器において、演算のた
めに入力される各入力値は、加減(“+”又は“−”)
を示すサインブロック(Sign)と、値の大きさを示すた
めの指数値を示す指数ブロック(Exponent)と、実際値
を示す有効数字ブロック(significant)とから構成さ
れる。例えば、入力値が0.11×28であると仮定す
ると、指数は“8”であり、有効数字は“11”とな
る。
【0003】したがって、浮動小数点加算(floating-p
oint addition)である場合には、二つの指数値を比較
し、小さい指数値を有する有効数字をライトシフティン
グした後、二つの有効数字を合わせ、その結果の値か
ら、上位ゼロ(zero)の連続した数を計算する。これ
は、実数の表現時、ハードウェアを効率的に使用するた
め、有効数字の上位値は常に1と仮定したためである。
これを標準化(normalization)という。
【0004】このように、標準化された後の有効数字値
の領域は0.5以上1.0未満内で表現される。このよ
うな従来の実数演算器を添付図面を参照して説明すると
次のようである。
【0005】図1は従来のTFT−LCD実数演算器の
回路構成図であり、図2は従来のリーディングゼロ予測
部の詳細構成図である。実数演算器は、コントロール部
1、入力整列器(input aligner)2、第1〜第3マル
チプレクサ3〜5、指数演算部(exponent differenc
e)6、ライトシフター7、有効数字比較器8、第1及
び第2ビットインバータ(bit inverter)9、10、加
算器11、リーディングゼロ予測部12、リーディング
ゼロカウンタ13、ラウンディングコントロール(roun
ding control)部14、レフトシフター15、指数減算
器16、インクリメンター(incrementer)17、選択
器18、補償シフター19、サインコントロール部2
0、出力整列器21及び指数インクリメンター22を備
える。
【0006】コントロール部1は、入力整列器2を通じ
て入力される二つの入力値の指数値を比較し、それによ
る制御信号を出力する。第1マルチプレクサ3は、コン
トロール部1の制御により、二つの入力値の指数値の中
で、大きい指数値を出力する。第2及び第3マルチプレ
クサ4、5は、コントロール部1の制御信号に応じて、
二つの入力値の指数値が小さい数の有効数字が第3マル
チプレクサで選択されるように、二つの入力値の有効数
字をそれぞれ入力し一つを出力する。
【0007】指数演算部6は、二つの入力値の指数値の
差を計算して出力する。ライトシフター7は、桁を合わ
せるため、第3マルチプレクサ5から出力される有効数
字を、指数演算部6の出力信号に応じて、指数の差だけ
右側にシフティングさせる。
【0008】有効数字比較器8は、第2及び第3マルチ
プレクサ4、5から出力される二つの入力値の有効数字
を比較し出力する。第1、第2ビットインバータ9、1
0は、減算演算のための下記の加算器の入力端に“2”
の補数を作るため、有効数字比較器8の信号に応じて、
ライトシフター7及び第2マルチプレクサ4の出力を反
転させる。加算器11は、第1、第2ビットインバータ
9、10の出力信号を加算する。
【0009】リーディングゼロ予測部12は、第1ビッ
トインバータ9の出力及び第2ビットインバータ10の
出力からゼロ(zero、“0”)の連続性を予測する。リ
ーディングゼロカウンタ13は、リーディングゼロ予測
部12の出力をカウンティングする。ラウンディングコ
ントロール部14は、加算器11から出力される値を特
定ビット数で貯蔵するため、残りの桁を四捨五入して出
力する。
【0010】インクリメンター17は、ラウンディング
コントロール部13の制御信号に応じて、貯蔵される最
下位ビットに“1”を加算する。レフトシフター15
は、加算器11から出力される値を、リーディングゼロ
カウンタ13から出力される桁だけ、左側に桁シフティ
ングを行う。
【0011】選択器18は、ラウンディングコントロー
ル部14の制御によりライトシフター7及び第2ビット
インバータ10が動作されたか又は動作されなかったか
によって、レフトシフター15の出力又はインクリメン
ター17の出力を選択的に出力する。
【0012】補償シフター19は、選択器18から出力
される有効数字値が最大値であるとき、桁を補償するた
め、有効数字値をシフティングする。指数減算器16
は、第1マルチプレクサ3から出力される値から、リー
ディングゼロカウンタ13から出力される値を減算す
る。サインコントロール部20は、入力される二つの値
のサイン値によって最終出力値のサイン値を指定する。
【0013】指数インクリメンター22は、指数減算器
16の出力指数を増加させてリーディングビット位置を
補償する。出力整列器21は、サインコントロール部2
0、指数インクリメンター22及び補償シフター19か
ら出力される各サイン値、指数値及び有効数字値を整列
して最終的に出力する。
【0014】ここで、リーディングゼロ予測部12の構
成は図2に示すようである。すなわち、二つの入力値を
それぞれmビットで構成された(Am、Am−1、・・
・、Ai、Ai-1、・・・、A1、A0)、(Bm、Bm-1、・・
・、Bi、Bi-1、・・・、B 1、B0)と仮定すると、リーデ
ィングゼロ予測部12は2入力値の各桁を演算するよう
に構成されている。したがって、任意の桁を演算する構
成は同一桁の2入力値(Ai、Bi)を演算するNAND
ゲート23と、同一桁の2入力値(Ai、Bi)を演算す
るNORゲート24と、NORゲート24の出力を反転
するインバータ25と、NANDゲート23の出力とイ
ンバータ25の出力をそれぞれ反転して論理合算するO
Rゲート26と、次の桁(Ai-1、Bi-1)がNOR演算
された信号を反転し、ORゲート26の出力を論理NA
ND演算して出力するNANDゲート27とから構成さ
れる。
【0015】このように構成された従来の実数演算器は
次のように動作する。ここで、加減(“+”又は
“−”)を示すサインブロック(Sign)と、値の大きさ
を示すための指数値を示す指数ブロック(Exponent)
と、実際値を示すブロック(significant)とから構成
される二つのの入力値がそれぞれ外部のデータバスを通
じて入力されると仮定して説明する。
【0016】コントロール部1は、入力整列器2を通じ
て入力される二つの入力値の指数値を比較して、指数値
が大きいものと小さいものを区分し、指数値の小さい入
力値の有効数字が、第3マルチプレクサ5から出力さ
れ、第1マルチプレクサ3から大きい指数の値が出力さ
れるように、制御信号を出力する。
【0017】したがって、コントロール部1の制御信号
に応じて、第1マルチプレクサ3は大きい指数の値を出
力し、指数値の大きい数の有効数字を第2マルチプレク
サ4から出力し、指数値の小さい数の有効数字を第3マ
ルチプレクサ5から出力する。
【0018】そして、指数演算部6は、二つの入力値の
指数値の差を計算して出力し、ライトシフター7は、桁
を合わせるため、第3マルチプレクサ5から出力される
有効数字を、指数演算部6の出力信号に応じて、指数差
だけ右側にシフティングさせる。
【0019】有効数字比較器8は、第2及び第3マルチ
プレクサ4、5から出力される二つの入力値の有効数字
を比較して出力する。減算演算である場合、加算器の入
力端に“2”の補数を作るため、第1ビットインバータ
9は、有効数字比較器8の信号に応じて、第2マルチプ
レクサ4の出力を反転させ、第2ビットインバータ10
は、有効数字比較器8の信号に応じて、ライトシフター
7の出力を反転させる。ここで、減算演算でない場合、
第1及び第2ビットインバータ9、10は各々の入力値
を反転しなく、そのままパスさせる。
【0020】加算器11は第1、第2ビットインバータ
9、10の出力信号を加算する。この際に、加算器11
は、加算演算である場合、2入力値にかかわらず、加算
演算を行うが、減算演算である場合は、常に大きい値か
ら小さい値を減算することとなる。したがって、加算器
11の結果は常に正の数を出力することとなる。
【0021】すなわち、有効数字比較器8は次の数学式
1のように演算する。
【0022】
【数1】 そして、加算器11は、“A−B”である場合、“A+
/B+1”、“B−A”である場合、“B+/A+1”
で演算する。
【0023】リーディングゼロ予測部12は第1ビット
インバータ9の出力又は第2ビットインバータ10の出
力からゼロ(zero、“0”)の連続性を予測し、リーデ
ィングゼロカウンタ13はリーディングゼロ予測部12
の出力をカウンティングする。
【0024】すなわち、リーディングゼロ予測部12は
各桁を次の数学式2のように演算する。
【0025】
【数2】 このように、リーディングゼロ予測部12から出力され
た値(Em、Em-1、・・・、Ei、Ei-1、・・・、E1、E0
をリーディングゼロカウンタ13がカウンティングし
て、ゼロが連続するものをカウントする。すなわち、リ
ーディングゼロ予測部12から出力された値が(000
001011)である場合、リーディングゼロカウンタ
13は“5”をカウントする。
【0026】そして、レフトシフター15は、加算器1
1で演算された値の出力を、最上位ビットが“0”であ
る場合があるので、最上位ビットを“1”に作るため、
リーディングゼロカウンタ13から出力される値だけ、
左側にシフティングする。
【0027】また、加算器11から出力される値を特定
ビット数で貯蔵するため、ラウンディングコントロール
部14は残りの桁を四捨五入して出力し、インクリメン
ター17は、ラウンディングコントロール部14の制御
により、最終桁に1を加えて出力し、選択器18は、ラ
ウンディングコントロール部14の制御により、レフト
シフター15又はインクリメンター17から出力される
信号の一つを選択して出力するので、有効数字の演算が
完了される。
【0028】そして、指数減算器16は、第1マルチプ
レクサ3から出力される指数値からリーディングゼロカ
ウンタ13の出力値を減算して、最終に演算された指数
値を出力する。
【0029】
【発明が解決しようとする課題】しかし、前述したよう
な従来の実数演算器においては、次のような問題点があ
った。
【0030】従来の実数演算器は、常に大きい数から小
さい数を差し引くように構成されているので、有効数字
比較器9と二つのビットインバータ10、11が必要と
なり、これにより、回路が複雑になり、演算速度が遅く
なる問題点があった。
【0031】本発明はこのような問題点を解決するため
に案出されたもので、演算速度を向上させた実数演算器
を提供することにその目的がある。
【0032】
【課題を解決するための手段】前記目的を達成するため
の本発明の実数演算器は、二つの入力値のサイン値を比
較し、それによる制御信号を出力するコントロール部
と、前記二つの入力値の指数値の差を求め、指数値が大
きい有効数字はそのまま出力し、指数値が小さい有効数
字は指数差だけシフティングして出力する有効数字出力
部と、前記コントロール部の制御により、二つの入力値
の指数値のうち、大きい値を選択して出力する第1マル
チプレクサと、減算演算時、前記コントロール部の制御
信号に応じて、前記有効数字出力部の指数値が大きい有
効数字を反転させる第1ビットインバータと、シフティ
ングされた指数値が小さい有効数字と第1ビットインバ
ータから出力される有効数字を加算する加算器と、前記
有効数字出力部の指数値が大きい有効数字とシフティン
グされた有効数字からゼロの連続性を予測するリーディ
ングゼロ予測部と、前記リーディングゼロ予測部の出力
からゼロ値をカウンティングするリーディングゼロカウ
ンタと、前記加算器から出力される値を特定ビット数で
貯蔵するため、残りの桁を四捨五入して出力するラウン
ディングコントロール部と、前記加算器から出力される
値を、前記リーディングゼロカウンタから出力される桁
だけ、左側に桁シフティングするレフトシフターと、前
記加算器で加算された値が負数であると、前記レフトシ
フターから出力される値を2の補数で処理する第2ビッ
トインバータと、前記ラウンディングコントロール部の
信号に応じて、前記第2ビットインバータから出力され
る値に1を増加させて最終の有効数字値を演算するイン
クリメンターと、前記インクリメンターから出力される
有効数字値が最大値であるとき、桁を補償するためにシ
フティングする補償シフターと、前記第1マルチプレク
サから出力される値から前記リーディングゼロカウンタ
から出力される値を減算する指数減算器と、前記指数減
算器の出力信号から1ビットを減少させて指数値を最終
的に出力するディクレメンターとから構成されることに
特徴がある。
【0033】
【発明の実施の形態】本発明の一実施形態の実数演算器
を添付図面を参照してより詳細に説明する。図3は本発
明の一実施形態の実数演算器の回路構成図であり、図4
は図3の実数演算器のリーディングゼロ予測部の詳細回
路構成図であり、図5は図3の実数演算器のリーディン
グゼロ予測カウンタの詳細回路構成図である。
【0034】実数演算器は、図3に示すように、出力す
るコントロール部31、指数演算部(exponent differe
nce)32、第1マルチプレクサ33、第2マルチプレ
クサ34、第3マルチプレクサ35、ライトシフター3
6、第1ビットインバータ(bit inverter)37、加算
器38、リーディングゼロ予測部39、リーディングゼ
ロカウンタ40、ラウンディングコントロール部41、
レフトシフター42、第2ビットインバータ43、イン
クリメンター44、補償シフター45、指数減算器46
及びディクレメンター47を備える。
【0035】コントロール部31は、二つの入力値のサ
イン(Sign)値を比較し、それによる制御信号を出力す
る。指数演算部32は、二つの入力値の指数値の差を計
算し、二つの入力指数値のうち、どの信号が大きい値で
あるかということを示す差信号を出力する。
【0036】第1マルチプレクサ33は、二つの入力値
の指数値のうち、大きい値を選択して出力する。第2マ
ルチプレクサ34は、指数演算部32の制御信号に応じ
て、二つの入力値のうち、指数値が大きい数の有効数字
を選択して出力する。第3マルチプレクサ35は、指数
演算部32の制御信号に応じて、二つの入力値のうち、
指数値が小さい数の有効数字を選択して出力する。
【0037】ライトシフター36は、指数演算部32か
ら出力される二つの入力信号の指数差だけ、第3マルチ
プレクサ35から出力される有効数字信号を右側にシフ
ティングさせる。第1ビットインバータ37は、減算演
算のための加算器の入力端に“2”の補数を作るため、
コントロール部31の制御信号に応じて、第2マルチプ
レクサ34の出力を反転させる。加算器38は、第2マ
ルチプレクサ34又は第1ビットインバータ37の出力
信号とライトシフター36の出力を加算する。
【0038】リーディングゼロ予測部39は、第2マル
チプレクサ34及びライトシフター36の出力からゼロ
(zero、“0”)の連続性を予測する。リーディングゼ
ロカウンタ40は、コントロール部31の制御により、
リーディングゼロ予測部39の出力をカウンティングす
る。ラウンディングコントロール部41は、加算器38
から出力される値を特定ビット数で貯蔵するため、残り
の桁を四捨五入して出力する。
【0039】レフトシフター42は、加算器38から出
力される値を、リーディングゼロカウンタ40から出力
される桁だけ、左側に桁シフティングを行う。第2ビッ
トインバータ43は、加算器38で加算された値が負数
であると、レフトシフター42から出力される値を2の
補数で処理する。
【0040】インクリメンター44は、ラウンディング
コントロール部41の信号に応じて、第2ビットインバ
ータ43から出力される値に1を加えて、最終に有効数
字値を演算する。補償シフター45は、インクリメンタ
ー44から出力される有効数字値が最大値であるとき、
桁を補償するため、シフティングする。
【0041】指数減算器46は、第1マルチプレクサ3
3から出力される値から、リーディングゼロカウンタ4
0から出力される値を減算する。ディクレメンター47
は、指数減算器46の出力信号から1ビットを減少させ
て指数値を最終に出力する。
【0042】このように構成される実数演算器におい
て、リーディングゼロ予測部39の構成は図4に示すよ
うである。ここで、二つの入力値の有効数字をそれぞれ
(・・・Ai+1、Ai、Ai-1、・・・)、(・・・Bi+1、Bi、B
i-1)と仮定すると、Ai+1はAiの上位ビットであり、
i-1はAiの下位ビットであり、Bi+1はBiの上位ビ
ットであり、Bi-1はBiの下位ビットであるとし、リー
ディングゼロ予測値のうち、1ビットのリーディングゼ
ロ予測部39を示すものとする。
【0043】Ai+1の反転された値とBi+1の値が第1A
NDゲート51により論理演算され、Bi+1の反転され
た値とAi+1の値が第2ANDゲート52により論理演
算され、第1、第2ANDゲート51、52の出力が第
1ORゲート53により論理演算される。第1インバー
タ54により第1ORゲート53の出力が反転され、第
3ANDゲート55によりAi-1の反転された値とBi-1
の値とが論理演算される。第4ANDゲート56により
i-1の反転された値とAi-1の値とが論理演算され、第
3及び第4ANDゲート55、56の出力が第2ORゲ
ート57により論理演算される。
【0044】第2ORゲート57の出力は第2インバー
タ58により反転され、Aiの反転された値とBiの値
とが第5ANDゲート59により論理演算され、Bi
反転された値とAiの値とが第6ANDゲート60によ
り論理演算される。第5及び第6ANDゲート59、6
0の出力が第3ORゲート61により論理演算される。
【0045】第3ORゲート61の出力は第3インバー
タ62により反転され、第1インバータ54、第5AN
Dゲート59及び第4ANDゲート56の出力が第7A
NDゲート63により論理演算される。第1インバータ
54、第6ANDゲート60及び第3ANDゲート56
の出力は第8ANDゲート64により論理演算される。
第1ORゲート53、第6ANDゲート60及び第4A
NDゲート56の出力は第9ANDゲート65により論
理演算される。第1ORゲート53、第5ANDゲート
59及び第3ANDゲート55の出力は第10ANDゲ
ート66により論理演算される。第3インバータ62
と、第7、第8、第9、第10ANDゲート63、6
4、65、66の出力は第4ORゲート67により論理
演算され、第4ORゲート67から当該ビットのリーデ
ィングゼロ予測(Ei)信号が出力される。
【0046】ここで、最上位(MSB)ビットに相当す
るリーディングゼロ予測部39では、AMSB+1及びB
MSB+1をそれぞれ“0”と見なし、A0、B0ビットに相
当するリーディングゼロ予測部39ではA−1及びB−
1をそれぞれ“0”と見なす。
【0047】一方、リーディングゼロカウンタ回路40
は、リーディングゼロ予測部39の出力値から上位1ビ
ットの連続した値の数を計算する回路で、その構成は図
5に示される。
【0048】リーディングゼロ予測部39の出力を(・・
・、Ei+1、Ei、Ei-1、Ei-2、・・・)と仮定して説明す
ると次のようである。リーディングゼロ予測部39から
出力されるゼロ予測値の連続する2ビットが第11AN
Dゲート68によって論理乗算されて、連続する二つの
値が“11”であるかが判断される。連続する2ビット
のうち、下位1ビットの反転された値と上位ビットが第
12ANDゲート69によって論理演算されて、連続す
る二つの値が“10”であるかが判断される。
【0049】連続する2ビットのリーディングゼロ予測
部39の出力値によって複数の第1カウンタ部70a、
70b・・・から2ビットのデータが出力される。複数の
第2カウンタ部75の各々は、第13、第14、第15
ANDゲート71、72、73、第5ORゲート74を
含み、複数の第1カウンタ部70a、70b、・・・のう
ち、隣接する二つの第1カウンタ部70a、70bの出
力データに応じて3ビットのデータを出力する。
【0050】すなわち、第13ANDゲート71は、第
1カウンタ部70a、70bから出力される2ビットの
データのうち、隣接した二つの第1カウンタ部70a、
70bから出力された上位ビット(A、C)を論理演算
して第1ビットデータ(E)を出力する。
【0051】第14ANDゲート72は、二つの第1カ
ウンタ部70a、70bのうち、上位第1カウンタ70
aから出力される上位1ビット(A)と下位第1カウン
タ部70bから出力される上位1ビット(C)の反転さ
れた値を論理演算して、1ビットのデータ(F)を出力
する。
【0052】第15ANDゲート73は、下位第1カウ
ンタ部70bから出力される下位1ビット(D)と第1
4ANDゲート72の出力を論理演算する。第5ORゲ
ート74は、上位第1カウンタ部70aから出力される
下位1ビット(B)と第15ANDゲート73の出力値
を論理演算して、残り1ビットデータ(G)を出力す
る。
【0053】ここで、各々の第1カウンタ部70a、7
0b、・・・は、リーディングゼロ予測部39の連続する
二つのビット((Ei+1、Ei)又は(Ei+1、Ei-2)が
“11”であると“10”を出力し、上位ビットのみが
“1”であると“01”を出力し、下位ビットにかかわ
らず、上位ビットが“0”であると“00”を出力す
る。
【0054】各々の第2カウンタ部75は、隣接した二
つのカウンタ部70a、70bからそれぞれ出力される
2ビット(AB又はCD)のうち、上位ビット(A、
C)がそれぞれ“1”である場合にだけ、3ビット(E
FG)の中の最上位ビット(E)に“1”を出力する。
又、各々の第2カウンタ部75は、隣接した二つの第1
カウンタ部70a、70bの中の上位第1カウンタ部7
0aの上位ビット(A)が“1”であり、下位第1カウ
ンタ部70bの上位ビット(C)が“0”である場合に
だけ、3ビット(EFG)の中の中間上位ビット(F)
に“1”を出力し、中間上位ビット(F)と下位第1カ
ウンタ部70bの下位(D)ビットが“1”であるか、
上位第1カウンタ部70aの下位ビット(B)が“1”
である場合、最下位ビット(G)に“1”を出力する。
このような方式を2進ツリー(tree)形式で続けると、
最終結果を得ることができる。
【0055】このように構成される本発明の実数演算器
の動作は次のようである。二つの入力値の各指数値が指
数演算器32に入力されると、指数演算器32は二つの
指数値の差と大きさを出力する。
【0056】指数演算器32の出力信号に応じて、第2
マルチプレクサ34は指数値の大きい入力信号の有効数
字を選択して出力し、第3マルチプレクサ35は指数値
の小さい入力信号の有効数字を選択して出力する。
【0057】そして、ライトシフター36は、指数演算
器32から出力される二つの指数値の差だけ、第3マル
チプレクサ35から出力される有効数字を右側にシフテ
ィングする。
【0058】リーディングゼロ予測部39は、第2マル
チプレクサ34から出力される有効数字とライトシフタ
ー36から出力される有効数字とに基づいて、連続する
ゼロ値を予測する。
【0059】すなわち、リーディングゼロ予測部39は
次のような[数学式3]のように演算する。
【0060】
【数3】 これについて例を挙げて説明すると、次のようである。
【0061】第1実施例 二つの数の演算条件が101011100−10110
001であると仮定すると、リーディングゼロ予測部3
9から出力されるデータは11111100である。こ
こで、リーディングゼロ予測部39から出力されるデー
タが“1”であるとき、ゼロ値が予測され、出力される
データが“0”であるとき、1の値が予測されるように
設計されている。そして、実際に演算条件を計算する
と、00000011となる。
【0062】第2実施例 二つの数の演算条件が10110000−101011
10であると仮定すると、リーディングゼロ予測部39
から出力されるデータは11111101である。そし
て、実際に演算条件を計算すると、00000010と
なる。
【0063】このように、第1、第2実施例から分かる
ように、実際の計算値とリーディングゼロ予測部39か
ら出力される予測値が一致する。しかし、予測が一致し
ない場合もある。
【0064】第3実施例 A−Bを仮定すると、A=10100001からB=1
0001001を減算する演算を調べる。
【0065】数Bは第1ビットインバータ37で011
10110に反転される。そして、ライトシフター36
の出力は二つの数A、Bの指数値が同一であるため、B
と同じに、10001001の値となる。
【0066】したがって、リーディングゼロ予測部39
は11010111の値を出力し、その出力はリーディ
ングゼロカウンタ40に伝達され、リーディングゼロカ
ウンタ40は11010111の値を受けて“2”の値
を計算する。
【0067】そして、第1ビットインバータ37とライ
トシフター36の出力を加算器38が加算する。この際
に、コントロール部31で“1”を出力して、加算器3
8のキャリーイン(carry in)信号を出力する。したが
って、加算器38は、00011000のデータを出力
し、リーディングゼロカウンタ40で“2”をカウント
したので、レフトシフター42は加算器38の出力値を
左側に2だけシフティングし、01100000を出力
する。
【0068】第2ビットインバータ43は、レフトシフ
ター42の出力が負数でないので、レフトシフター42
の出力をそのまま通過させ、ラウンディングコントロー
ル部41からは“0”の値が出力されるので、インクリ
メンター44は01100000を出力することとな
る。
【0069】そして、補償シフター45は、インクリメ
ンター44から出力された値の最上位ビットが“0”で
あるので、1ビットをレフトシフティングして出力す
る。
【0070】
【発明の効果】以上説明したように、本発明の実数演算
器によると、次のような効果がある。従来には、常に大
きい数から小さい数を減算すようにしたが、本発明で
は、数の大きさに無関係に演算を行うので、演算速度を
向上させることができる。
【0071】又、二つの数の演算時、従来には2つのイ
ンバータを使用したが、本発明では1つのインバータの
みを使用するので、実数演算器のコストを減らすことが
できる。
【図面の簡単な説明】
【図1】 従来の実数演算器の回路構成図である。
【図2】 図1の実数演算器のリーディングゼロ予測部
の回路構成図である。
【図3】 本発明の一実施形態の実数演算器の回路構成
図である。
【図4】 図3の実数演算器のリーディングゼロ予測部
の回路構成図である。
【図5】 図3の実数演算器のリーディング予測カウン
タの回路構成図である。
【符号の説明】
31 コントロール部 32 指数演算部 33 第1マルチプレクサ 34 第2マルチプレクサ 35 第3マルチプレクサ 36 ライトシフター 37 第1ビットインバータ 38 加算器 39 リーディングゼロ予測部 40 リーディングゼロカウンタ 41 ラウンディングコントロール部 42 レフトシフター 43 第2ビットインバータ 44 インクリメンター 45 補償シフター 46 減算器 47 ディクレメンター 51、52、55、56、59、60、63、64、6
5、66、68、69、71、72、73 ANDゲー
ト 53、57、61、67、74 ORゲート 54、58、62 インバータ 70a、70b 第1カウンタ部 75 第2カウンタ部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 二つの入力値のサイン値を比較し、それ
    による制御信号を出力するコントロール部と、 前記二つの入力値の指数値の差信号を出力する指数演算
    部と、 前記二つの入力値の指数値のうち、大きい値を選択して
    出力する第1マルチプレクサと、 前記指数演算部の制御信号に応じて、二つの入力値のう
    ち、指数値が大きい数の有効数字を選択して出力する第
    2マルチプレクサと、 前記指数演算部の制御信号に応じて、二つの入力値のう
    ち、指数値が小さい数の有効数字を選択して出力する第
    3マルチプレクサと、 前記指数演算部から出力される二つの入力信号の指数差
    だけ、前記第3マルチプレクサから出力される有効数字
    信号を右側にシフティングさせるライトシフターと、 減算演算のための加算器の入力端に“2”の補数を作る
    ため、前記コントロール部の制御信号に応じて、第2マ
    ルチプレクサの出力を反転させる第1ビットインバータ
    と、 前記第2マルチプレクサ又は第1ビットインバータの出
    力信号と前記ライトシフターの出力を加算する加算器
    と、 前記第2マルチプレクサ及びライトシフターの出力から
    ゼロの連続性を予測するリーディングゼロ予測部と、 前記コントロール部の制御により、前記リーディングゼ
    ロ予測部の出力をカウンティングするリーディングゼロ
    カウンタと、 前記加算器から出力される値を特定ビット数で貯蔵する
    ため、残りの桁を四捨五入して出力するラウンディング
    コントロール部と、 前記加算器から出力される値を、前記リーディングゼロ
    カウンタから出力される桁だけ、左側に桁シフティング
    を行うレフトシフターと、 前記加算器で加算された値が負数であると、前記レフト
    シフターから出力される値を2の補数で処理する第2ビ
    ットインバータと、 前記ラウンディングコントロール部の信号に応じて、前
    記第2ビットインバータから出力される値に1を加え
    て、最終に有効数字値を演算するインクリメンターと、 前記インクリメンターから出力される有効数字値が最大
    値であるとき、桁を補償するため、有効数字値をシフテ
    ィングする補償シフターと、 前記第1マルチプレクサから出力される値から、前記リ
    ーディングゼロカウンタ40出力される値を減算する指
    数減算器と、 前記指数減算器の出力信号から1ビットを減少させて指
    数値を最終出力するディクレメンターとを備えることを
    特徴とする実数演算器。
  2. 【請求項2】 前記二つの入力値の有効数字をそれぞれ
    (・・・Ai+1、Ai、Ai-1、・・・)、(・・・Bi+1、Bi、B
    i-1)と仮定すると、1ビットの前記リーディングゼロ
    予測部は、 Ai+1の反転された値とBi+1の値を論理演算する第1A
    NDゲートと、 Bi+1の反転された値とAi+1の値を論理演算する第2A
    NDゲートと、 前記第1、第2ANDゲートの出力を論理演算する第1
    ORゲートと、 前記第1ORゲートの出力を反転する第1インバータ
    と、 Ai-1の反転された値とBi-1の値を論理演算する第3A
    NDゲートと、 Bi-1の反転された値とAi-1の値を論理演算する第4A
    NDゲートと、 前記第3、第4ANDゲートの出力を論理演算する第2
    ORゲートと、 前記第2ORゲートの出力を反転する第2インバータ
    と、 Aiの反転された値とBiの値を論理演算する第5AN
    Dゲートと、 Biの反転された値とAiの値を論理演算する第6AN
    Dゲートと、 前記第5、第6ANDゲートの出力を論理演算する第3
    ORゲートと、 前記第3ORゲートの出力を反転する第3インバータ
    と、 前記第1インバータ、第5ANDゲート及び第4AND
    ゲートの出力を論理演算する第7ANDゲートと、 前記第1インバータ、第6ANDゲート及び第3AND
    ゲートの出力を論理演算する第8ANDゲートと、 前記第1ORゲート、第6ANDゲート及び第4AND
    ゲートの出力を論理演算する第9ANDゲートと、 前記第1ORゲート、第5ANDゲート及び第3AND
    ゲートの出力を論理演算する第10ANDゲートと、 前記第3インバータ及び前記第7、第8、第9、第10
    ANDゲートの出力を論理演算し、当該ビットのリーデ
    ィングゼロ予測(Ei)信号を出力する第4ORゲート
    とを備えることを特徴とする請求項1記載の実数演算
    器。
  3. 【請求項3】 前記リーディングゼロ予測部が最上位
    (MSB)ビットに相当する場合は、AMSB+1又はB
    MSB+1をそれぞれ“0”と見なし、前記リーディングゼ
    ロ予測部が最下位ビットに相当する場合は、A−1又は
    B−1をそれぞれ“0”と見なすことを特徴とする請求
    項2記載の実数演算器。
  4. 【請求項4】 前記リーディングゼロカウンタは、 前記リーディングゼロ予測部の連続する二つのビットが
    “11”であると“10”を出力し、上位ビットのみが
    “1”であると“01”を出力し、下位ビットにかかわ
    らず、上位ビットが“0”であると“00”を出力する
    複数の第1カウンタ部と、 前記隣接した二つの第1カウンタ部からそれぞれ出力さ
    れる2ビットのうち、上位ビットがそれぞれ“1”であ
    る場合にだけ、3ビットの中の最上位ビットに“1”を
    出力し、隣接した二つの第1カウンタ部の中の上位第1
    カウンタ部の上位ビットが“1”であり、下位第1カウ
    ンタ部の上位ビットが“0”である場合にだけ、3ビッ
    トの中の中間上位ビットに“1”を出力し、前記中間上
    位ビットと前記下位第1カウンタ部の下位ビットが
    “1”であるか、上位第1カウンタ部の下位ビットが
    “1”である場合、最下位ビットに“1”を出力する複
    数の第2カウンタ部とを含むことを特徴とする請求項1
    記載の実数演算器。
  5. 【請求項5】 前記各々の第1カウンタ部は、 前記リーディングゼロ予測部から出力されるゼロ予測値
    の連続する2ビットを論理乗算して、連続する二つの値
    が“11”であるかを判断する第1ANDゲートと、 前記リーディングゼロ予測部の連続する2ビットのう
    ち、下位1ビットの反転された値と上位ビットを論理演
    算して、連続する二つの値が“10”であるかを判断す
    る第2ANDゲートとを含むことを特徴とする請求項4
    記載の実数演算器。
  6. 【請求項6】 前記各々の第2カウンタ部は、 前記第1カウンタ部から出力される2ビットのデータの
    うち、隣接する二つの第1カウンタ部から出力された上
    位ビットを論理演算して1ビットデータを出力する第1
    ANDゲートと、 前記二つの第1カウンタ部のうち、上位ビットの第1カ
    ウンタから出力される上位1ビットと下位ビットの第1
    カウンタ部から出力される上位1ビットの反転された値
    を論理演算して1ビットのデータを出力する第2AND
    ゲートと、 前記下位ビットの第1カウンタ部から出力される下位1
    ビットと前記第14ANDゲートの出力を論理演算する
    第3ANDゲートと、 前記上位ビットの第1カウンタ部から出力される下位1
    ビットと前記第15ANDゲートの出力値を論理演算し
    て、残りの1ビットデータを出力するORゲートとを備
    えることを特徴とする請求項4記載の実数演算器。
JP2000101140A 1999-04-02 2000-04-03 実数演算器 Pending JP2000311079A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR11618/1999 1999-04-02
KR1019990011618A KR100331846B1 (ko) 1999-04-02 1999-04-02 실수 연산기

Publications (1)

Publication Number Publication Date
JP2000311079A true JP2000311079A (ja) 2000-11-07

Family

ID=19578657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000101140A Pending JP2000311079A (ja) 1999-04-02 2000-04-03 実数演算器

Country Status (3)

Country Link
US (1) US6571264B1 (ja)
JP (1) JP2000311079A (ja)
KR (1) KR100331846B1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2412986B (en) * 2001-03-14 2005-11-30 Micron Technology Inc Arithmetic pipeline
US7069288B2 (en) 2001-05-25 2006-06-27 Sun Microsystems, Inc. Floating point system with improved support of interval arithmetic
US7290023B2 (en) * 2003-11-20 2007-10-30 International Business Machines Corporation High performance implementation of exponent adjustment in a floating point design
US7936359B2 (en) * 2006-03-13 2011-05-03 Intel Corporation Reconfigurable floating point filter
CN101459854B (zh) * 2007-12-13 2011-11-16 鸿富锦精密工业(深圳)有限公司 图像压缩编码/解码装置及图像压缩编码/解码方法
TWI398827B (zh) * 2007-12-31 2013-06-11 Hon Hai Prec Ind Co Ltd 圖像壓縮編碼/解碼裝置及圖像壓縮編碼/解碼方法
RU2503991C1 (ru) * 2012-10-11 2014-01-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Вятский государственный университет (ФГБОУ ВПО "ВятГУ") УСТРОЙСТВО ДЛЯ ВЫРАВНИВАНИЯ ПОРЯДКОВ m ДВОИЧНЫХ ЧИСЕЛ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926369A (en) 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
US4994996A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Pipelined floating point adder for digital computer
US5027308A (en) * 1989-02-14 1991-06-25 Intel Corporation Circuit for adding/subtracting two floating point operands
US5136536A (en) * 1990-05-04 1992-08-04 Weitek Corporation Floating-point ALU with parallel paths
JP2508912B2 (ja) * 1990-10-31 1996-06-19 日本電気株式会社 浮動小数点加算装置
US5373461A (en) * 1993-01-04 1994-12-13 Motorola, Inc. Data processor a method and apparatus for performing postnormalization in a floating-point execution unit
US5684729A (en) * 1994-09-19 1997-11-04 Hitachi, Ltd. Floating-point addition/substraction processing apparatus and method thereof
US5751621A (en) * 1994-11-17 1998-05-12 Hitachi, Ltd. Multiply-add unit and data processing apparatus using it
US5757682A (en) * 1995-03-31 1998-05-26 International Business Machines Corporation Parallel calculation of exponent and sticky bit during normalization
US5928316A (en) * 1996-11-18 1999-07-27 Samsung Electronics Co., Ltd. Fused floating-point multiply-and-accumulate unit with carry correction
US6405232B1 (en) * 1999-08-19 2002-06-11 National Semiconductor Corporation Leading bit prediction with in-parallel correction

Also Published As

Publication number Publication date
KR100331846B1 (ko) 2002-04-09
KR20000065394A (ko) 2000-11-15
US6571264B1 (en) 2003-05-27

Similar Documents

Publication Publication Date Title
US7472149B2 (en) Arithmetic unit for approximating function
JP4500358B2 (ja) 演算処理装置および演算処理方法
US5798955A (en) High-speed division and square root calculation unit
JP4388543B2 (ja) 3項入力の浮動小数点加減算器
US7720898B2 (en) Apparatus and method for adjusting exponents of floating point numbers
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
KR900010545A (ko) 연산장치와 연산방법
KR100241072B1 (ko) 부동소수점 감산시 대량소거의 병렬예측 및 연산방법과 장치
US8620983B2 (en) Leading sign digit predictor for floating point near subtractor
CN108694037B (zh) 用于在执行浮点减法时估计移位量的装置和方法
US5408426A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
JPH0659858A (ja) 浮動小数点演算装置
JP2000311079A (ja) 実数演算器
JPH08212058A (ja) 加算オーバフロ検出回路
EP0436905B1 (en) High performance adder using carry predictions
US5867413A (en) Fast method of floating-point multiplication and accumulation
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
US7668892B2 (en) Data processing apparatus and method for normalizing a data value
KR19980082906A (ko) 부동 소수점 숫자의 정수형으로의 변환 방법
JPH10283164A (ja) 除算回路
US20030115236A1 (en) Elimination of rounding step in the short path of a floating point adder
JPH0511980A (ja) 桁あふれ検出方式とその回路
US6615228B1 (en) Selection based rounding system and method for floating point operations
US7386580B2 (en) Data processing apparatus and method for computing an absolute difference between first and second data elements
JP2752564B2 (ja) 先行1予測装置及び浮動小数点加減算装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060201