JPH0150930B2 - - Google Patents

Info

Publication number
JPH0150930B2
JPH0150930B2 JP17962383A JP17962383A JPH0150930B2 JP H0150930 B2 JPH0150930 B2 JP H0150930B2 JP 17962383 A JP17962383 A JP 17962383A JP 17962383 A JP17962383 A JP 17962383A JP H0150930 B2 JPH0150930 B2 JP H0150930B2
Authority
JP
Japan
Prior art keywords
carry
output
leading
result
calculation
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
Application number
JP17962383A
Other languages
English (en)
Other versions
JPS6072021A (ja
Inventor
Yoshihisa Soda
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP17962383A priority Critical patent/JPS6072021A/ja
Publication of JPS6072021A publication Critical patent/JPS6072021A/ja
Publication of JPH0150930B2 publication Critical patent/JPH0150930B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 本発明は演算装置、とくに浮動小数点演算の仮
数部の演算を行なうための演算装置に関する。
一般に、正規化された浮動小数点数はその正負
を表わす符号と、指数部と、正規化された絶対値
をもつ仮数部とより構成される。
このような浮動小数点数の演算においては、あ
る浮動小数点数の絶対値から他の浮動小数点数の
絶対値の引き算を行ない結果を正規化する必要が
生ずる場合がしばしばある。
この場合には、まず指数部の大きい方の数の指
数に指数部の小さい方の数の指数が等しくなるま
で、指数部の小さい方の数の仮数部を右シフトし
てから、両者の仮数部の絶対値の間で指定された
順序の引き算を行なう。
この引き算において、得られる結果の正負を決
定し、その絶対値を求め、かつ、この絶対値を正
規化する演算を行なう。
この正規化を行なうためには、引き算の結果生
ずる絶対値を表わす数の最初の桁に“1”のビツ
トが現われるまで最上位の桁からの“0”(以後
これをリーデイング0という)の数を数える必要
がある。
従来装置においては、後に詳述するように、上
述の絶対値の引き算が完了し結果の絶対値が一義
的に定まつてからリーデイング0の数を数える演
算を開始しており、このためにそれだけ演算時間
が長くなるという欠点がある。
本発明の目的は上述の従来の欠点を除去した演
算装置を提供することにある。
本発明の装置は、絶対値演算を行ないその演算
結果を正規化する機能を有する演算装置におい
て、下位からのキヤリイ入力“1”の演算を行な
いこの演算結果に相当する値のリーデイング
“0”をカウントする回路と、下位からのキヤリ
イ入力“0”の演算を行ないこの演算結果に相当
する値の各桁毎の補数のリーデイング“0”をカ
ウントする回路と、この二つの回路のいずれかの
出力を前記演算結果により生ずるキヤリイに応答
して選択するようにした選択回路とを含む。
次に、図面を参照して本発明を詳細に説明す
る。
第1図は本発明の一実施例を示すブロツク図で
ある。
本実施例は、第1オペランド格納レジスタ1、
第2オペランド格納レジスタ2、キヤリー入力
“1”の演算器3、キヤリー入力“0”の演算器
4、反転器5、選択器6,10、演算結果格納レ
ジスタ7、リーデイング0カウント回路8,9お
よびカウント数保持レジスタ11を含む。
さて、本実施例において絶対値で表わされた第
1オペランドから絶対値で表わされた第2オペラ
ンドを引く引き算は以下のようにして行なわれ
る。
今、第1オペランドをA、第2オペランドをB
とするとA0,B0である。
これから行なう演算は、A0,B0の条件
の下で引き算A―Bを行なつて、その結果の正負
の情報を得ることと、引き算結果の絶対値|A―
B|を得ることと、この|A―B|に現われるリ
ーデイング0の数を得ることである。
第1オペランドAはそのまま第1オペランド格
納レジスタ1に格納される。一方、第2オペラン
ドBはその各桁の“1”,“0”を反転したもの、
すなわちBの補数としたものが第2オペランド
格納レジスタ2に格納される。
こうしてレジスタ1およびレジスタ2に格納さ
れたAおよびは、それぞれ演算器3および演算
器4で加算される。
但し、演算器3は最小桁へのキヤリーがある場
合(キヤリー入力“1”)のAとの加算、つま
りA++1の加算を行なう。
一方、演算器4の側は最小桁へのキヤリーがな
い場合(キヤリー入力“0”)のA+の加算、
つまり、通常のA+の加算を行ない、その加算
結果を反転器5により各桁の“1”,“0”を反転
してその補数(つまり(+)を作る。
こうして得られるA++1を与えるべき出力
3000および(+)を与えるべキ出力5000は、
一方においては選択器6のそれぞれの入力に導か
れ、他方においてはそれぞれ、A++1のリー
デイング0をカウントするリーデイング0カウン
ト回路8、および(+)のリーデイング0を
カウントするリーデイング0カウント回路9に導
かれ、こうしてカウントされたそれぞれのリーデ
イング0の数は、選択器10のそれぞれの入力に
導かれる。
さて、演算器4が前述の演算A+を行なつた
結果オーバーフローが起り最上位桁からキヤリー
が出ると、このキヤリー出力はライン4000を介し
て選択器6および10に導かれる。この結果、選
択器6はキヤリー出力4000にキヤリーが出力した
場合には、演算器3の出力3000のA++1を選
択し、またキヤリー出力4000にキヤリーが出力し
ない場合には反転器5からの出力5000の(+
B)を選択して、これらのうちの選択した方の出
力を演算結果格納レジスタ7に格納する。
一方、選択器10は同様にキヤリー出力4000に
キヤリーが出力した場合にはカウント回路8から
のA++1のリーデイング0をカウントした出
力を選択し、また、キヤリー出力4000にキヤリー
が出力しない場合にはカウント回路9からの(
+B)のリーデイング0をカウントした出力を選
択して、これらのうちの選択した方の出力をカウ
ント数保持レジスタ11に格納する。
以上の処理により、キヤリー出力4000はA―B
の演算結果の正負の情報(キヤリー出力がある場
合には正、ない場合には0または負を表わす)を
出力し、レジスタ7の出力7000は引き算結果の絶
対値|A―B|を出力し、またレジスタ11の出
力1100は引き算結果の絶対値|A―B|のリーデ
イング0の数を出力する。こうしてA―Bの引き
算において以後の処理に必要な結果がすべて得ら
れたことになる。
上述の処理により必要な結果が正しく得られる
理由は下記の通りである。
最初に、A>Bであると仮定する。
B0の場合、Bの補数とは演算器のすべて
の桁を“1”とした数(これを以後Fで表わすこ
とにする)からBを引いた数に等しい。
すなわち、B0の場合には、 =F−B ……(1) である。従つて、 A+=A+F−B=F+(A−B) であるが、A−B>0であるため、Fに正の数を
加える結果となりA+は必らずオーバーフロー
しキヤリーを出すので、出力4000を結果が正(0
または負ではない)であることを示す情報として
用いることができる。
次に、 A+=F+A−B =F+1−1+A−B これより、 A++1=F+1+A−B となるが、F+1は上位から出るキヤリーを表わ
すので A++1=A−B+上位からのキヤリー
……(2) となる。
すなわち、A>Bの場合にはA+つまり演算
器4の出力4000は必らずキヤリーを出し、この結
果選択器6により演算器3の出力3000のA++
1が選ばれ、これはA−B=|A―B|よりA−
Bの絶対値を正しく出力していることになる(演
算器3の上位からのキヤリーは無視されている)。
また、このときは、選択器10によりA++
1のリーデイング0をカウントするカウント回路
8側の出力8000が選択されるので、これも正しく
A−Bの絶対値のリーデイング0を出力すること
になる。
以上より、A>Bの場合にはすべてが正しい出
力であることが分る。
次に、ABと仮定すると以下のようになる。
前と同様に、式(1)を用いて、 A+=A+F−B A+=F−(B−A) ……(3) となる。しかるに、(B−A)は上の仮定より0
または正の数であるためFから(B−A)を引い
てもキヤリーがでることはない。
従つてこの場合に演算器4のA+の演算の結
果は上位の桁からキヤリーを出さず、出力4000は
結果が0または負であることを示す情報を正しく
出力している。
次に式(1)のBのかわりに(B−A)を用いる
と、 (−)=F−(B−A) ……(4) これに式(3)の関系を用いると A+=(B−A) ∴(−)=B−A=|A―B| となる。前述のように、出力4000がキヤリーを出
さず、このため選択器6により出力5000の(+
B)が選ばれるが、これは上式で明らかなよう
に、A−Bの絶対値を正しく表わしている。
また、このときは選択器10により(+)
のリーデイング0をカウントするカウント回路9
側の出力が選択されるので、これも正しくA−B
の絶対値のリーデイング0を出力することにな
る。
かくして、A>Bの場合にもABの場合にも
上述の処理は正しい結果を与えることが分る。
さて、本実施例においては、A++1のリー
デイング0をカウントするカウント回路8と、
(A+B)のリーデイング0をカウントするカウ
ント回路9とを別々に設けた結果、A++1の
演算と(+)の演算とを並行して行なえるば
かりでなく、A++1の演算とA++1のリ
ーデイング0を数える演算とをオーバラツプして
行なうようにし、また(+)の演算と(+
B)のリーデイング0を数える演算とをオーバー
ラツプして行なうようにし、演算器4からキヤリ
ー4000を出力する時点においては、回路8による
リーデイング0の演算も回路9によるリーデイン
グ0の演算も充分進行していて、このキヤリー
4000が出る時点で、レジスタ7に|A―B|が得
られるばかりでなく、レジスタ11に|A―B|
のリーデイング0をカウントした結果の数をも殆
んど同時に得られるようにすることができる。
本実施例のこのメリツトは、従来例と比較する
と特に明らかとなる。
第2図は、上述の実施例と同様な処理を行なう
従来例の演算装置を示したものである。
第2図の参照数字1′の第1オペランド格納レジ
スタ1′から参照数字7′までは、前記実施例の対応
する参照数字の要素と同様な動作を行なう。
従つて、前述の説明で明らかなように、演算器
4′からキヤリー4000′が出る時点で演算結果格納
レジスタ7′には|A―B|の正しい演算結果が
出力される。
こうして|A―B|の値が一義的に、決定した
あとでリーデイング0カウント回路12はこの|
A―B|のリーデイング0のカウントを開始し、
そのカウント結果をカウント数格納レジスタ1
1′に出力する。
この結果、従来例においては|A―B|の演算
が完全にすんでその正しい結果が一義的に与えら
れてから、はじめてそのリーデイング0のカウン
トが開始され、|A―B|の演算とリーデイング
0の演算とはオーバーラツプすることができず必
らず縦統された演算となる。
このため本発明の実施例の方がその演算時間が
短縮されることは明らかである。
実際に従来装置においては|A―B|の演算結
果が確定した後にリーデイング0のカウントを行
なつているために演算サイクルとリーデイング0
のカウントサイクルの2サイクル必要であるが、
本発明の実施例によると1サイクルでリーデイン
グ0のカウントまで行なうようにすることができ
る。
次に、演算器とリーデイング0カウント回路と
の間でオーバーラツプする動作を行なうようにし
た一例を、キヤリー入力0の演算器側(第1図の
演算器4反転器5およびリーデイング0カウント
回路9を含む側)について例示する。
この例においては、演算すべきデータのビツト
幅を2等分して(例えば16ビツト幅の演算におい
ては上位桁側8ビツトと下位桁側8ビツトとに2
等分して)、下位桁側の演算と、上位桁側の演算
とを同時に平行して行なう。但し、上位桁側の演
算は、下位桁側からのキヤリーがある場合の演算
と下位桁側からのキヤリーがない場合の演算との
両方を、下位桁側からのキヤリーのいかんにかか
わらず前もつて平行して行なつておき、下位桁か
ら実際にキヤリーが出る時点で、実際のキヤリー
の有無により、その正しい方を選択して最終出力
とする。このような方位により演算時間を大いに
短縮することができる。
第3図は、このような動作をする演算器4と反
転器5とリーデイング0カウント回路9との構成
を示したもので、演算器41は下位桁側の演算
器、演算器42は下位桁側からのキヤリーがない
としたときの上位桁側の演算器、また演算器43
は下位桁側からのキヤリーがあるとしたときの上
位桁側の演算器、反転器51,52,および53
はそれぞれ演算器41,42,43の出力の補数
をとる反転器、リーデイング0カウント回路91
および92はそれぞれ、前もつて下位桁からのキ
ヤリーがないとして演算した場合、および前もつ
てキヤリーがあるとして演算した場合の演算結果
のリーデイング0を求める回路、また切替器4
4,45および93はそれぞれ、下位桁からのキ
ヤリー4100がある場合に、前もつてキヤリーがあ
るとして演算した方の側の各演算結果を選択して
出力し、キヤリー4100がない場合に前もつてキヤ
リーがないとして演算した方の側の各演算結果を
選択して出力する選択器である。
この第3図に示した部分の動作は、以上の説明
と第1図を参照することとにより容易に理解され
るであろう。
なお、以上の例では、演算すべきデータの全ビ
ツト幅を2等分し、上位桁側については下位桁か
らのキヤリーがある場合とない場合とを前もつて
平行に演算するようにしたが、このかわりに、さ
らに分割数を多くして、最下位桁以外について
は、下位桁からのキヤリーがある場合とない場合
とについても前もつて平行して演算を行ない、最
下位桁側からのキヤリー出力によつて、それらの
結果の中から正しい組合せを選択するというよう
にすることもできる。
以上のように本発明を用いると、絶対値演算を
行ないその演算結果を正規化する機能を有する演
算装置において絶対値の引き算に対する演算時間
を短縮できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツク図、
第2図は従来例を示すブロツク図および第3図は
前記実施例の一部を詳細に説明するためのブロツ
ク図である。 図において、1……第1オペランド格納レジス
タ、2……第2オペランド格納レジスタ、3……
キヤリー入力“1”の演算器、4……キヤリー入
力“0”の演算器、6,10……選択器、7……
演算結果格納レジスタ、8,9……リーデイング
0カウント回路、11……カウント数保持レジス
タ、41,42,43……演算器、51,52,
53……反転器、91,92……リーデイング0
カウント回路、44,45,93……選択器。

Claims (1)

  1. 【特許請求の範囲】 1 絶対値演算を行ないその演算結果を正規化す
    る機能を有する演算装置において、 下位からのキヤリイ入力“1”の演算を行ない
    この演算結果に相当する値のリーデイング“0”
    をカウントする回路と、 下位からのキヤリイ入力“0”の演算を行ない
    この演算結果に相当する値の各桁毎の補数のリー
    デング“0”をカウントする回路と、 この二つの回路のいずれかの出力を前記演算結
    果により生ずるキヤリイに応答して選択するよう
    にした選択回路とを含むことを特徴とする演算装
    置。
JP17962383A 1983-09-28 1983-09-28 演算装置 Granted JPS6072021A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17962383A JPS6072021A (ja) 1983-09-28 1983-09-28 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17962383A JPS6072021A (ja) 1983-09-28 1983-09-28 演算装置

Publications (2)

Publication Number Publication Date
JPS6072021A JPS6072021A (ja) 1985-04-24
JPH0150930B2 true JPH0150930B2 (ja) 1989-11-01

Family

ID=16068998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17962383A Granted JPS6072021A (ja) 1983-09-28 1983-09-28 演算装置

Country Status (1)

Country Link
JP (1) JPS6072021A (ja)

Also Published As

Publication number Publication date
JPS6072021A (ja) 1985-04-24

Similar Documents

Publication Publication Date Title
EP0472139A2 (en) A floating-point processor
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JP2511527B2 (ja) 浮動小数点演算器
JPS608933A (ja) 演算処理装置
GB882751A (en) Error detection system
JPH0150930B2 (ja)
JP3950920B2 (ja) 積和演算器及びデータ処理装置
JPH0352093B2 (ja)
JPS59154542A (ja) 乗算装置
JPS5911444A (ja) 浮動小数点数演算装置
JPS61224036A (ja) 演算装置
JPS63158626A (ja) 演算処理装置
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
JPS61282928A (ja) 浮動小数点演算装置
JPS5960637A (ja) 浮動小数点演算装置
JP2993119B2 (ja) 浮動小数点演算装置
JP3104569B2 (ja) 除算回路
JPS6126135A (ja) 浮動小数点デ−タ変換回路
JPH05165605A (ja) 浮動小数点乗算器及び乗算方法
JPS60235239A (ja) 浮動小数点加算回路
JP3522387B2 (ja) パイプライン演算装置
JPH0361224B2 (ja)
JPH0413734B2 (ja)
JPH07104777B2 (ja) 浮動小数点加減算装置
JPS6149234A (ja) 浮動小数点乗算回路