JPS59105142A - フロ−テイング加算器 - Google Patents

フロ−テイング加算器

Info

Publication number
JPS59105142A
JPS59105142A JP57214668A JP21466882A JPS59105142A JP S59105142 A JPS59105142 A JP S59105142A JP 57214668 A JP57214668 A JP 57214668A JP 21466882 A JP21466882 A JP 21466882A JP S59105142 A JPS59105142 A JP S59105142A
Authority
JP
Japan
Prior art keywords
data
result
mantissa
exponent
precision data
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
JP57214668A
Other languages
English (en)
Inventor
Masao Takato
高藤 政雄
Shigeo Abe
阿部 重夫
Tadaaki Bando
忠秋 坂東
Hidekazu Matsumoto
松本 秀和
Hideyuki Hara
秀幸 原
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP57214668A priority Critical patent/JPS59105142A/ja
Publication of JPS59105142A publication Critical patent/JPS59105142A/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
    • 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

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)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野」 本発明は、フローティング演算回路に係ジ、特に倍精度
データの加算結果を単精度のデータ形式で出力するベク
トル演算の高速実行に好適な70−ティング加算器に関
するものである。
し従来技術〕 フローティングデータの内積演算や総オロ演算などを計
算機で行なう場合、入力データが単精度データであって
も精度を確保する必要がめることから内部では乗算演算
および加算演算を倍精厩で行なうが、その最終的な演算
結果を単精度で得ることがしばしば必要となっている。
倍精度データ間で演算を行ないその演算結果を単2留度
データ形式で得る必要があるわけであるが、列えば指数
部が16のべき乗で表現され、単精度と倍精度の指数部
でのビット数が同一であるデータフォーマット全採用し
ている計算機においては、倍精度データのまま加算を行
ないその結果を単精度テークとして得ることは容易とな
っている。しかしながら、16のべき乗で指数部が表現
される場合には、仮数部を正規化した場合でも仮数部の
先頭3ビツト内に0が生じる場合があることから、仮数
部を表現するビット数分だけの精度が得られないものと
なっている。このため指数部を2のべき乗で表現し、且
つ倍精度である場合には表現し得る数の範囲を更に拡大
すべく単精度の指数部よ)はビット長が犬とされたフォ
ーマットを採用することが行なわれている。この例とし
ては例えば、IEEEComputer march 
1981. ppsi−62”A pro −pose
d 5tandard for Binary Flo
ating −point Arithmetic”で
開示されている■EEE標準フォーマットが挙げられる
。しかしながら、これらのフォーマットによる場合は単
精度と倍精度の指数部でのビット長が異なることから、
内積演算、総和演算などで精度落ちを防ぐために倍精度
6I算を行なう場合にはその演算結果を単精度演算結果
に変換するに際しては、指数部のフォーマット変換2ノ
フトウエアプログラムによって行なう必要がある。
〔発明の目的〕
よって本発明の目的は、単精度テークと倍精度データの
指数部でのビット数が異なる場合に、倍精度データの加
算結果が結果的に単精度データとして迅速に、しかも精
度良好にして得られるフローティング加算器を供するに
ある。
〔発明の概要〕
この目的のため本発明は、2つの倍精度データのうち指
数の人なるものを基準として加減算を行なうようにした
ものであり、指数が小なる倍精度データの仮数をその基
準指数に対する差分たけ右方向にシフトされたうえ仮数
の加減演算を行ない、この演算結果によっては演算結果
そのものを左右何れかの方向に7ノトさせて正規化する
一方、千のシフト方向と/フト赦に応じて基準指数を補
正し、これら補正済基準指数、正規化仮数演、、¥準結
果および仮数演算結果の符号を単fAi度データ形式に
配列することによって結果的に倍精度テーク加算結果を
単精度データの加算結果として10るようにしだもので
ある。
〔発明の実施例〕
以下、本発明を第1図から第11図により説明する。
先ず第1図から第4図により本発明に係るプロセッサの
概要について説明する。第1図はその全体構成を示すが
、こ、l−Lによるとホスト(HO8T)コンピュータ
1はインクフェイス部2を介し演算ユニット3、レジス
タファイル4、メモリ部5およびアドレス演算部6、更
にはマイクロプログラムコントローラ7に接続されてお
り、マイクロプログラム内容が可変とされたマイクロプ
ログラムコントローラ7はホストコンピュータ1による
制御下にそのマイクログログ2ムを実行することによっ
て演算ユニット3やアドレス演算部6などに制御タイミ
ング信号やアドレス信号などを出力するものとなってい
る。このようにしてなるプロセジヤ゛の構成は特に新規
なものではないが、本発明はその構成における演算ユニ
ットの一部を構成する加算器に関するものである。
第2図はその演算ユニットの構成を示したものであり、
図示の如く32ビット乗算器10と64ビツト加算器1
1とから主に構成されるようになっている。このうち乗
算器10は4段のステージ回路10−1〜10−4よシ
なるパイプライン乗算器として構成され、また、加算器
11は3段のステージ回路11−1〜11−3よシなる
パイプライン加算器として構成される。乗算器について
は例えば米国特許第4,075,704号で例示されて
いるようなパイプライン乗算器とされる。加算器11に
ついては後に詳述するところであるが、乗算器10への
乗算データの入力は32ビット乗算器右入力信号バス1
4および32ビット乗算器左入力信号バス15よシ行な
われる。また、その出力である乗算結果のうち上位32
ビツトは32ビツトデータバス16の他、信号線21 
+ 18によってそれぞれ32ビット加算器右入力信号
バス12、レジスタファイルに送出される一方、その下
位32ビツトは信号線22によって加算器11に右入力
下32ピットとして入力されるようになっている。一方
、加算器11への加算データの入力は単精度データの場
合は勿論のこと、倍精度データが2度に分けて入力され
る場合も原則として加算器右入力信号バス12および3
2ピット加算器左入力信号バス13を介して行なわれる
。但し、倍精度データの場合に乗算器1oよシ右入力下
32ビットが、加算器11よシ左入力下32ビットが与
えられる場合には右入力上32ビツト、左入力上32ビ
ツトのみが加算器右入力信号バス12および加算器在入
力信号バス13よシ入力されるようになっている。また
、その出力である加算結果のうち上位32ビツトはデー
タバス16の他、信号線17.20によってそれぞれレ
ジスタファイル、加算器在入力信号バス13に送出され
る一方、その下位32ビツトは信号線19によって左入
力として直接加算器11に入力されるようになっている
次に第3図によりレジスタファイルについて説明すれば
、レジスタファイル4は主にFIFO(First −
■n、 First−Qut)レジスタ31と2ポート
レジスタ33とから構成されるようになっている。FI
FOレジスタ31へのデータの書込は信号線17.18
からの加算器出力、乗算器出力の何れかをセレクタ30
で選択したうえ1ビット書込信号WEをuIHの状態に
おくことによって、また、F工FOレジスタ31からの
データの加算器右入力信号バス12、加算器在入力信号
バス13への読出は1ビット読出信号几Eをat 1n
の状態におくことによって行なわれるようになっている
ものである。また、2ポートレジスタ33へのデータの
書込は信号i11!17.18からの加算器出力、乗算
器出力の何れか、またはデータバス16上のデータがセ
レクタ32で選択されたうえ5ビット書込アドレス信号
WAによって指定されたアドレスに書込されるようにな
っている。2ポートレジスタ33からのデータの読出は
また5ビット読出アドレス信号RAI、几A2によって
いる。続出アドレス信号RAIによって読出されたデー
タは加算器在入力信号バス13および乗算器在入力信号
バス15に、また、続出アドレス信号几A2によって読
出されたデータは加算器右入力信号バス12および乗算
器右入力信号バス14に読み出されるようになっている
ものである。
最後にメモリ部5およびアドレス演算部6について第4
図によシ説明すれば、メモリ部5は2つの同一構成のメ
モリ41.45よシなりその周辺回路構成も全く同様と
なっている。即ち、メモリ41.45へのデータの書込
はデータバス16上のデータをメモリデータライトレジ
スタ42゜46にセットした状態でメモリアドレスレジ
スタ43.47よシ書込アドレス信号を与えることによ
って行なわれるようになっている。メモリアドレスレジ
スタ43.47は後述するアドレス演算部6からのアド
レス信号を保持し必要な場合には保持されているアドレ
ス信号をインクリメントしたりデクリメントするように
なっている。また、メモリ41.45からのデータの読
出はメモリアドレスレジスタ4’3.47よシ読出アド
レス信号を与えることによって行なわれる。そのアドレ
ス信号によって指定されン【アドレスよシ読み出された
データはメモリデータリードレジスタ40゜44を介し
アドレス演算部6に出力される他、既述の信号バス12
〜15や信号線48.49を介してデータバス1G上に
出力可とされるようにしてなる。次にアドレス演算部6
について説明すれば、アドレス演算部6は2ポートレジ
スタ51およびAL[J(数値論理演算部〕53を含む
ものとなっている。このうち2ポートレジスタ51は4
ビットアドレス信号WKI、WK2に対応して2つの読
出ボートを有するものとなっておシ、また、2ボートレ
ジスタ51へのデータの書込はA、 L D53出力、
データバス上のデータの何れかをセレクタ50によって
選択したうえアドレス信号WKIによって1マシンサイ
クルの後半に行なわれるものとなっている。2ポートレ
ジスタ51 ノ何しカ1方の読出ボートからの読出デー
タは直接kL’U51に右入力として入力されるが、左
へカはメモリデータリードレジスタ40.44がらのメ
モリ読出データの何れか、または2ポートレジスク51
の他方の読出ポ〜l・からの読出データをセレクタ52
によって選択し/ン二ものとされる。A i、 U51
はそれら在入カ、右入力のデータにもどづき所定の演算
を行なうが、その演算結果はメモリアドレスレジスタ4
3.47や2ボ−ルジスタ51にセット町となっている
ものである。。
なお、演算ユニットやアドレス演算部なトテノ動作はマ
イクロプログラムコントローラに格納すれているマイク
ロプログラムの1語によって規定されるようになってい
る。また、演算ユニットやレジスタファイルなどからの
信号バスへのデータ出力も何れか1つのみしか選択され
ないようになっている。
さて、本発明によるフローナイング加算器金第5図によ
り説明する。第5図は第2図における加算器11のイJ
成を具体的に示したものであるが、これによると全体は
指数演算部分秒よび仮数演算部分よシなるものとなって
いる。先ず第5図ケ具体的に説明する前に単循度データ
、倍精度データのナータノオーフッ]・全第6図(a)
 、 (b)にょシ説明して:l?<。第6図(a)、
 (b)はそれぞれ単精度データ、倍f+r度データの
フォーマット゛を示すが、これによると単精度データは
全体として32ビツトよりなり符号81指数E8、仮数
、Fsにはそれぞれ1ビット、8ビット、23ビットが
劇痛され、しかしてj’、4を精度データは以下に示す
データを表わすものとなっている。
単4if度テ’ ; (1)” ・2””−Bs・1.
F s但し、BSは指数Esのバイアス分を、また、S
はtt 1 ppかLL 071の値をとジ′1″であ
る場合にはその単精度データは負のデータであることを
、II OIFの場合には正のデータであることを示す
ようになっている。
また、倍精度データは全体が64ビツトよりなシ符号8
1指数b p−、仮数FDにはそれぞれ1ビツト、11
ビツト、52ビツトが割出され単精度データの場合と同
様にその倍精度データは以下に示すデータを表わすもの
となっている。
倍精度データ1(−1)8・2ED−BD・1.F 。
但し、BDは指数EDのバイアス分を示している。
ここでデータの加算とその出力態様を考えれば、4つの
場合が考えられる。その1は2つの単精度データを演算
し演算結果を単精度データ形式で得る場合である。その
2はその単精度データ演算結果を倍精度データ形式で得
る場合である。その3は2つの倍精度データを演算し演
算結果を倍精度データ形式で得る場合であシ、その4は
その倍精度データ演算結果を単精度データ形式で得る場
合でるる。
単精度データ、倍精度データのデータ形式は以上のよう
であるが、以下上記態様の加算が如何にして行なわれる
かを第7図から第12図をも参照して具体的に説明する
第5図によると先ず第1ステージにおいては、2つの入
力データよシ指数、仮数が所定状態で抽出され、抽出さ
れた仮数は保持される一方、抽出された指数については
これらの間で差が求められたうえその結果は保持される
とともに、その結果に応じて犬なる指数が選択されたう
え保持されるようになっている。加算器在人力信号バス
13および加算器右入力信号バス12からの入力データ
に含まれる指数は指数部入力制御回路101゜102に
よって所定の状態で抽出されるわけであるが、第7図は
それら指数部入力制御回路101゜102の一例での構
成を示したものである、図中におけるSは人力データが
単精度データである」易合のみ′1″となり、倍精度デ
ータである場合には′0”の信号状態を採るようになっ
ている。第6図(a)、 (b)からも判るように指数
は少なくとも12番目ビット位置以降には現われないこ
とから、0奎目から11番目のピット位置より指数のみ
を入力データが単精度データか倍精度データでおるかに
拘わらずそのLSBを11番目ビット位置に位置させる
べく揃えた状態で抽出しようというものである。
図示の如くSがtt 1nである場合には0奎目から3
番−目のピット位置に対応するビット情報は強制的にa
t Oxpとされたうえ新たなるO〜3番目ビット位置
のビット情報とされる一方、1〜8番目ピット位置のビ
ット情報は新たに4〜11番目ビット位置のビット情報
として得られるようになっている。また、SがuO”で
ある場合には0着目ピット位置のビット情報は強制的に
tt Oppとされたうえ新たなる0奎目ビツト位置の
ビット情報とされるが、残シの1〜11番目ビット位置
のビット情報はそのまま1〜11番目ピット位置のビッ
ト情報として得られるようになっているものでちる。第
8図(a)、 (b)はそれぞれ入力データが単精度デ
ータ、倍精度データである場合での指数部入力制御回路
出力のデータフォーマットを示したものであるが、これ
については明らか、であるので特に説明は要しない。こ
のようにLSBが11番目ビット位置に揃えられた指数
iis、120は次に減算器109でその差が求められ
その結果(絶対値)124と符号122はそれぞれラッ
チレジスタ113,112にラッチされるとともに、そ
の符号122の結果如何によってセレクタ110よりは
犬なる指数123が選択出力されたうえラッチレジスタ
1′i1にラッチされるようになっている。減算器10
9からは左入力A≧右入力Bである場合には符号122
としそ”0″が、また、左入力A〈右入力Bである場合
はIt 1jjが出力されるが、この符号122の状態
如何によって指数118.120の何れか犬なるものが
指数123としてラッチレジスタ111にラッチされる
ものである。これにより基準となる指数が求められたわ
けである。なお、加算器11の左入力信号線19上には
加算器11の出力である倍精度データの下32ビットデ
ータが、また、右入力信号線22上には乗算器10出力
である倍精度データ下32ビットが存するが、これらに
は指数は含まれないので、それらデータは指数部入力制
御回路101.102に供されない。
次に第1ステージにおける仮数の処理について説明すれ
ば、加算器11の左入力信号バス13および左入力信号
線19と、加算器11の右入力信号バス12および右入
力信号?IM22からのデータは仮数部入力制御回路1
14,115に入力されることによってそれらデータか
らは仮数のみがそのMSBが9奎目ビツト位置となるべ
く抽出されるようになっている。抽出された仮数125
 。
126はそれぞれラッチレジスタ116,117にラン
チされるが、第9図(a)、 (b)はそれぞれ入力デ
ータが単精度データ、倍精度データである場合での仮数
部入力制御回路114,115より出力されるデータの
フォーマットを、また、第10Qはその仮数部入力制御
回路114,115の一例での構成を示したものである
。これによると第10図における信号S、DU、DL、
Dはそれぞれ入力データが単精度、倍精度上32ビツト
、倍精度下32ビット、倍精度である場合のみ°°1″
となりそれ以外は0#となるようになっている。
即ち、Sが1″である場合にはO〜7番目ビット位置の
ビット情報は強制的に′Onとされたうえ新たなる0〜
7番目ピット位置のそれとして、また、8番目ピッ′ト
位置のビット情報は強電1」的にat 1nとされたう
え8奎目ビツト位置のそれとして、更に9〜31番目ビ
ット位置のビット情報はそのま19〜31番目ビット位
置のそれとして、更にまだ32〜63番目ピット位置の
ビット情報は強制的に′0″とされたうえ32〜63番
目ビット位置のそれとして得られるようになっている。
ここで8奎目ビツト位置のビット情報が1″とされるの
は、仮数Fsを1.F sO形に戻すためである。また
、DUが1″である場合には8奎目ビツト位置までのビ
ット情報はSが′1″の場合と同様であるが、12〜3
1番目ビット位置のビット情報は9〜28番目ビット位
置のそれとして、また29〜63番目のビット情報は°
0”としで得られるようになっている。更にDLが1″
の場合(dO〜28番目のビット情報は0″として、3
2〜63番目ビット位置のビット情報は29〜60番目
ビット位置のそれとして、61〜63番目ビット位置と
してのビット情報は0″におかれるようになっている。
更にまたDがII IIIである場合には第9図(b)
に示す如くにして仮数、;ハ得られるようになっている
。なお、D[J、DLがそれぞれLl I ITである
場合には本発明には直接間しないものとなっている。
引き続いて第2ステージでの処理について説明すれば、
指数については加算出力態様に応じたバイアス補正が行
なわれるようになっている。図示の如くラッチレジスタ
111からの指数143はセレクタ133からの3種類
の補正値(「0」、[(BD−Bs)Jおよび「(Bs
   BD月)の何れか1つと加算器131で加算され
加ふT結果147はラッチレジスタ132にラッチされ
るようになっているものである。この場合単精度データ
の演算結果を単精度データ形式で得る場合、または倍精
度データの演算結果を倍精度データ形式で得る場合は当
然補正値として1−0」が選択されるが、単精度データ
演算結果を@精度データ形式で得る場合には!−−(B
s  BD)Jが、倍精度データ演算結果を単精度デー
タ形式で得る場合にはf−−(BD −BS )Jがそ
れぞれ補正値として選択されるようになっている。
一方、第2ステージにおける仮数の処理は、小なる指数
に係る仮数は指数の差に応じて右方向に/フトーaれた
後他の仮数と所定に加減算されるようになっている。図
示の即くラッチレジスタ116゜117からの仮数15
8’、157はラッチレジスタ112からの符号結果1
44によってセレクタ134で指数が小なるものに係る
方が選択されるようになっており、更に選択された仮数
165はシフタ135でラッチレジスタ113からの指
数差145によって右方向にジノ)iilJ(illさ
れるようになっている。例えば指数の差がパ2”である
場合には2ビット分右方向にシフトされるものである。
これにより加算に必要とされる桁合せが行なわれるもの
である。次にシフタ135より出力されるシフト済の仮
ais4.tssは他の仮数とALUI 39で演算さ
れるが、セレクタ137゜138は演算入力を選択する
ために設けられたものである。ラッチレジスタ116か
らの仮数153に係る指数が大である場合にはその仮数
153はセレクタ137を介しALIJ左入カA160
として、また、ラッチレジスタ117がらのゴ旨数15
7はセレクタ134、シフタ135、セレクタ138を
介しALLI石人力B161としてALIJ139で演
算されるものである。これとは逆にラッチレジスタ11
7からの仮数156に係る指数が大である場合にはその
仮数156はセレクタ138を介しA L U右人力B
161として、また、ラッチレジスタ116からの指数
158はセレクタ134、シフタ135、セレクタ13
7全介しA IIU左入力A160としてALU139
で演算されるものである。この場合ALU139で如何
なる演算が行なわれるかはAL[Jモード判定回路13
6からのモード制御信号150によっている。外部(マ
イクロプログラムコントローラ)からの演算種類制御信
号152と入カデータ符号借号(S)14s。
149とにもとづきAL[J139での演算が制御され
るものである。演算種類制御信号152が加算を指示し
ている場合にはALU139でALU右入力161とA
 L ’U左大入力160の間で加減算が行なわれるが
′、その演算結果は2の補数形式で得られるようになっ
ている。この演算結果は絶対値表現回路171を介しラ
ッチレジスタ142にラッチされるが、絶対値表現回路
171においてはALU139からの演算結果の符号を
判定し符号が正である場合にはそのま1とし、負である
場合は下56ビツトのデータに対して2の補数をとるよ
うになっている。これによりラッチレジスタ142には
符号ピッ1−(S)と絶対値化された演算結果がラッチ
さlしるものである。絶対値表現回路171より得られ
る絶対値化結果162はまたLEADOカウント回路1
40に与えられ、その演算結果が例えば0.0011・
・・といった形であればu3”をカウントあるいは検出
するようになっている。第11図はその場合での演算結
果のフォーマットを単精度データに例を採って示したも
のであるが、8番目ビット位置と9番目ビット位置との
間に小数点が任するから、その演算結果を3ビツト左方
向にシフトせしめれば、1.1・・・といった形にし得
ることが判る。即ち、LEADOカウント回路140は
第8番目ビット位置のビット情報が0”である場合にそ
のビット位置から右方向にtt Onが何個連続するか
をカウントあるいは検出するようになっているものであ
る。そのカウントあるいは検出のホ百果はラッチレジス
タ141にラッチさnるが、これは後述するように77
 ) :rilJ御に供さ2するようになっている。
さて、最後に第3ステージでの処理について説明すれば
、このステージでは絶対値化された仮数の演算結果をシ
フト処理によって1.・・・といった形に戻す正規化処
理が行なわれ、また、このシフト処理に応じ指数が補正
されるようになっており、補正筒の指数、仮数演算結果
の符号および正規化された仮数演算結果は所定に配列さ
れることによって加算結果が目的とするデータ形式で得
られるようになっている。
即ち、絶対瞳化された仮数の演算結果はラッチレジスタ
142にその符号ビット(S)とともにラッチされてい
るが、これより演算頑果の符号は一義的に定まるから、
符号ビット情報は加算結果符号181として出力データ
制御回路175にそのまま与えられることになる。問題
は絶対値化された仮数演算結果の正規化処理でりる。こ
こで仮数演算結果は一般に3つに大別されるものとなっ
ている。その1は11.・・・や10.・・・といった
形の場合である。この場合には仮数演算結果を1ビツト
右方向にシフトさせて正規化処理を行なうと同時に、ラ
ッチレジスタ132にラッチされている指数に1を加え
る補正処理が要されるというものである。7番目ビット
位置のビット情報がtt 1mである場合には上記のよ
うな処理が行なわれるわけであるが、このような処理は
入力データの符号および指数がともに同一である場合に
行なわれることになる。その2は1.・・・といった形
の場合である。
このような場合には正規化処理のだめのシフト処理は不
要であシ、また、ラッチレジスタ132にラッチされて
いる指数も同等補正されることを要しないものである。
その3は0.・・・といった形の場合である。この場合
には1.・・・といった形にすべく左方向にソフト処理
を行ない、そのシフト数分だけラッチレジスタ132に
ラッチされている指数は減じられる必要があるというも
のである。ラッチレジスタ142からの仮数演算結果は
丸め処理回路172で丸め処理され、丸め処理後の仮数
演算結果182はシフタ173,174の何れかでシフ
ト処理されるわけであるが、このうちシフタ173はラ
ッチレジスタ142における7番目ピット位置のピット
情報178が“0”である場合にラッチレジスタ141
にラッチされている数値177分だけ仮数演算結果18
2を左方向にシフトするものとなつ′Cいる。一方、シ
フタ174はその7番目ビット位置のビット情報178
が′″1”である場合に仮数演算結果182を右方向に
1ピツトシフトするようになっている。これによシ正規
化仮数演算結果185が得らnるものである。
この正規化処理の際には指数の補正も行なわれるが、加
n器170はそのだめのものであシ、ランチレジスタ1
32からの指数189は加算器170で1加えられるか
、またはラッチレジスタ141からの数値177分だけ
減じられるようになっている。したがって、加算器17
0からは補正筒指数176が得られるものである。
さて、出力データ制御回路175では以上のようにして
得られた3種の結果は所定に配列されたうえ加算器出力
として出力されることになるが、第12図は出力データ
制御回路175の一例での構成を示したものである。こ
れによると出力許容制御信号(OE)241が(11I
Iにある場合のみ出力可能となっており、また、制御信
号(S)242、(DTS)243はそれぞれ単精度デ
ータ演算結果を単精度データとして、倍精度データ演算
結果を単精度データとして得る場合の春t′1”となる
ようになっている。これと同様にして制御信号(D )
 244、(STD ) 245idそレソレ倍精度デ
ータ演算結果を倍精度データとして、単41〜度データ
演算結果を倍精度データとして得る場合のみ′1″とな
るようになっている。したがって、演算結果を単精度デ
ータとして得る場合には、出力信号線17.19上にお
ける0番目ビット位置のビット情報は加算結果符号18
1そのものとされる。また4、1〜8番目番目ビット流
のそれは補正済Jg数176の4〜11番目ピント位置
のビット情報とされ、更に9〜63査■ビット位置のそ
れは正規化仮数演算結果185の9〜63番目ビット位
置のビット渭報とσれる。また、演算結果を倍精度デー
タとして得る場合は、出力信号線17.19上における
0番目ビット位惹○ビット情報は加算結果符号181そ
のものとされることは前の場合に同様である。1〜11
番目ビット位置のそれは補正済指数176の1〜11爵
目ビツト立置のビット情報とされ、12〜63−$目ビ
ット位置のそれは正規化仮数演算結果185の9〜60
番目ビット位置のビット1−n報となるように配列制御
されたうえ出力されるようになっているものである。な
お、図中における制御信号(DL)246は演算結果を
倍精度データとして得る場合にその下32ビットを出力
1d号)腺17上に出力させるときに°′1″となるよ
うになっている。
〔発明の効果〕
以上説明し/ζように本発明による場合は、単精度デー
タと倍精度データの指数部でのビット数が異なる場合V
こ、倍精度データの加算結果が単精度デ〜りとして、1
だ、単精度データの加算結果が倍精度データとして得ら
れるかし、内債演算(S=S+ΣX+≠Y+)やは和演
算(S二S+ΣX+)において演算途中で確度落ちを生
じさせることなく演算を実行し得るという効果がめる。
【図面の簡単な説明】
第1図は、本発明に係るプロセッサの全体構成を示す図
、第2図、第3図、第4図は、その構成における演算ユ
ニッl−、レジスタファイル、メモリ部・アドレス演算
部の構成をそれぞれ示す図、第5図は、本発明によるフ
ローティング加算器の構成をパイプライン構成として示
す図、第6図(a)。 (b)は、それぞれ単精度データ、倍精度データのフォ
ーマットを示す図、第7図は、第5図における指数部入
力制御回路の一例での11V4成を示す図、第8図<a
)、 (b)は、それぞれ入力データか単精度データ、
倍精度データでりる場合での指数部入力制御回路出力の
フォーマツ)1示す図、第9図(a)、 (b)は、そ
れぞれ入力データが単精度データ、倍精度データである
場合での第5図における仮数部人力制御回路出力のフォ
ーマットを示ず図、第10図は、その仮数部人力[Ul
」御回路の一例での114成ケ示す図、第11図は、第
5図におけるLEADOカウント回路の動作を説明する
だめの絶対値化された演算結果の例を示す図、第12図
は、第5図における出力データ?tilJ御回路の一例
での構成ケ示す図である。 101.102・・・指数部入力制御回路、109・・
・減算器、110,133,134,137,138・
・・セレクタ、111〜1i3,116,117゜13
2.14.1,142・・・ラッチレジスタ、114゜
115・・・仮数部入力制御回路、131,170・・
・加算器、135,173,174・・・シフタ、13
6・・・ALIJモード判屋回路、139・・・ALU
、140・・・LEADOカウント回路、171・・・
絶対値表現回路、175・・・出力データ開側1回路。 代理人 弁理士 秋本正実 沼Gし] )(0−//) //El(/2o)

Claims (1)

  1. 【特許請求の範囲】 ■、指数部のビット長が異なる単精度データ、倍精度デ
    ータにもとづき2つの同一精度データとの間で加算を行
    ない単精度データ加算結果を倍精度データ形式としても
    、倍精度データ加算結果を単精度データとしても得るこ
    とを町とするフローティング加算器にして、2つの同一
    精度データ各々より所定状態にて抽出された指数の差を
    求めたうえ該結果にもとづき大なる指数を選択する指数
    選択回路と、上記同一精度データ各々より所定状態に仮
    数を選択する仮数選択回路と、指数の走の結果にもとづ
    き小なる指数に係る仮数を該差に応じてシフトし/ヒう
    え大なる指数に係る仮数との間で加減算を行なう演算回
    路と、加減算結果に応じて選択に係る指数を補正すると
    ともに、加減算結果に応じて該結果を正規化したうえ加
    減算結果の符号、補正済指数および正規化仮数演算結果
    を出力データ形式に応じたフォーマットで出力する出力
    制御回路とからなる構成を特徴とするフローティング加
    算器。 2、指数選択回路および仮数選択回路が第1ステージと
    して、演算回路が第2ステージとして、出力制御回路が
    第3ステージとして分割され、第1゜第2ステージの最
    終段には選択された指数および仮数、指数の差結果、加
    減算結果を一時的に保持するレジスタが設けられパイプ
    ライン動作町とされる特許請求の範囲第1項記載の70
    −ティング加算器。 3、指数選択回路と出力制御回路との間に、選択された
    指数を入力データの精度別、出力デニタの精度別の組脅
    せに応じて補正する回路が介在される特許請求の範囲第
    1項記載の70−ティング加算器。
JP57214668A 1982-12-09 1982-12-09 フロ−テイング加算器 Pending JPS59105142A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57214668A JPS59105142A (ja) 1982-12-09 1982-12-09 フロ−テイング加算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57214668A JPS59105142A (ja) 1982-12-09 1982-12-09 フロ−テイング加算器

Publications (1)

Publication Number Publication Date
JPS59105142A true JPS59105142A (ja) 1984-06-18

Family

ID=16659584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57214668A Pending JPS59105142A (ja) 1982-12-09 1982-12-09 フロ−テイング加算器

Country Status (1)

Country Link
JP (1) JPS59105142A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62168228A (ja) * 1986-01-21 1987-07-24 Nec Corp 浮動小数点積和演算器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62168228A (ja) * 1986-01-21 1987-07-24 Nec Corp 浮動小数点積和演算器
JPH0552532B2 (ja) * 1986-01-21 1993-08-05 Nippon Electric Co

Similar Documents

Publication Publication Date Title
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
US4999803A (en) Floating point arithmetic system and method
JPH02138620A (ja) 数値量を計算する方法および数値データ処理装置
JPS6097435A (ja) 演算処理装置
US5184318A (en) Rectangular array signed digit multiplier
JPH02294820A (ja) 浮動小数点数演算処理装置および演算処理方法
US4386413A (en) Method and apparatus of providing a result of a numerical calculation with the number of exact significant figures
EP0416308A2 (en) Rectangular array signed digit multiplier
EP0295788A2 (en) Apparatus and method for an extended arithmetic logic unit for expediting selected operations
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
JPS6125245A (ja) 丸め処理回路
US4996660A (en) Selection of divisor multipliers in a floating point divide circuit
US4866651A (en) Method and circuit arrangement for adding floating point numbers
JPS6227412B2 (ja)
JPS5968058A (ja) フロ−テイング乗算器
JPS59105142A (ja) フロ−テイング加算器
US7003540B2 (en) Floating point multiplier for delimited operands
JPS5932038A (ja) 浮動小数点加算器
JPS6120134A (ja) 平方根計算装置
JPS62128331A (ja) 情報処理装置
JPS60536A (ja) フロ−テイング加算器仮数部入力制御回路
JP2752698B2 (ja) 浮動小数点加減算回路
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JPH0330170B2 (ja)