JPS58158739A - 浮動小数点加算方法及び装置 - Google Patents

浮動小数点加算方法及び装置

Info

Publication number
JPS58158739A
JPS58158739A JP58028420A JP2842083A JPS58158739A JP S58158739 A JPS58158739 A JP S58158739A JP 58028420 A JP58028420 A JP 58028420A JP 2842083 A JP2842083 A JP 2842083A JP S58158739 A JPS58158739 A JP S58158739A
Authority
JP
Japan
Prior art keywords
digit
shifter
shifting
floating point
digital
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
JP58028420A
Other languages
English (en)
Inventor
エトワ−ド・ア−ル・ヴアツサ−
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.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of JPS58158739A publication Critical patent/JPS58158739A/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
    • 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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (技術分野) 本発明は、デジタル・コンピュータの演算装置に関し、
更に詳細には、シフト動作を達成するのに必要な時間を
減少させることくよって浮動小数点加算実行時間を顕著
に減少させ得る装置に関する。
(背景技術) デジタル・コンピュータにおいて行なわれる算術演算に
は、事務データ又は統計計算に一般に使用される固定小
数点演算、あるいは、科学又は工学計算に主に使用され
る浮動小数点演算がある。
デジタル・コンピュータの設計において、基点は含まれ
るが、それが記憶装置に物理的位置を占めるわけではな
い。固定小数点演算では、基点は最小位の数字位置のす
ぐ右側に位置するが、最初の数字位置の前の符号位置の
すぐ右側に位置する。
浮動小数点演算では、数字は、符号、仮数及び指数によ
って表わされ、仮数は固定小数点による表記法がとられ
、指数は正又は負の整数である。
2つの浮動小数点の数字の加算又は減算を行うには、ま
ず指数の・比較及び等化が必要である。動作スピードを
高めるために、仮数計算と同時に指数計算も行う別個の
演算装置がしばしば用いられる。正規化された浮動小数
点演算動作では、浮動小数点数は仮数の最上位数の位置
に零でない数字があれば正規化される。正規化は仮数を
左にシフトすることを必要とし、それによって上位の数
字位置に先行する余分の零を押し出し、指数がそれに従
って最上位の位置に零でない数字が現われるまで減少す
る。正規化演算においては、処理する前にすべての浮動
小数点数を予め正規化(前正規化)しなければならない
。従って、中間的計算ステップの後には、正規化された
形の完全性を確実なものにするために再正規化手順が必
要になる。
浮動小数点表記法は多くのテキストに示されているが、
−例をあげれば、Kai Hwang、John Wi
le’/。
及び5ons著「Comput er Ari thr
ne t i c :Pr1ncipl −es、Ar
chitecture and DesignJ (1
979)がある。
浮動小数点加算はオペランドの位置合せ及び結果の正規
化のためのシフトが必要となる。実行されるシフトの数
又はシフト・カウントは仮数部及び利用される特定の丸
めのアルゴリズムによってのみ制限される。2進数シス
テムにおいて実行されるシフトの数の最大値は仮数ピッ
トの数に1を加えたものに等しいことが多い。一度に数
ビットのシフト・カウントに制限されるシフト器から成
るコンピュータは長いシフト動作を反復して行うのに多
くの時間を費すことになる。より大きなシフト範囲を有
するシフト器は、単一動作で位置合せ又は正規化シフト
を行うことができるが、小さなシフト器を通る単一パス
よシも相当大きな伝搬遅延を呈することになる。従来、
浮動小数点による加算は、位置合せ及び正規化を多重ビ
ット・シフト器によシ各動作に対し1つのパスで実行す
るか、あるいは短いシフト器に必要な多くのパスによシ
複数のシフトを行うかによって行なわれてきた。
(発明の概要) 本発明は、浮動小数点数の仮数部分に対する実行時間を
著しく低減した加算動作を行う演算装置を開示する。シ
フト器は、浮動小数点加算の間に位置合せ及び正規化を
行うことが求められ、デジタル・ワードはシフト器を一
度だけ通過すれは各機能が達成される。シフト器は、デ
ジタル・ワード内の数字(デジット)を1つの位置シフ
トする単−桁シフト器と、デジタル・ワード内の数字(
デジット)を複数の位置に亘ってシフトする多桁シフト
器と、から成る。多桁シフト器は左シフト及び右シフト
が可能で、単−桁シフト器は左シフトだけか、または右
シフトだけが求められ、両方は行なわない。多桁シフト
器はバレル・シフト器から成り、浮動小数点加算動作中
にデジタル・ワードが通過するのは1回だけである。多
桁シフト器と並列に演算論理装置が接続され、その演算
論理装置の入力及び出力に単−桁シフト器が接続される
。しかし、デジタル・ワードはシフト器を出入(アク七
ス)する目的のみで演算論理装置を通過する必要はない
。浮動小数点加算動作はマイクロプログラム制御のもと
で行なわれる。演算論理装置にシフト器が結合される構
成は浮動小数点加算動作の実行時間を減少させる手段を
提供する。
本発明は、更に、データ及び命令を含むデジタル・ワー
ドを記憶するメモリと、演算及び論理機能を達成する主
演算装置及び指数演算装置と、コンピュータ動作を行う
信号を発生する制御装置と、デジタル・ワードのコンピ
ュータへの、そしてコンピュータからの通路を制御する
入出力装置と、メモリの相互接続を行うコンピュータ・
ノぐスと、演算装置及び入力及び出力装置と、コンピュ
ータとの間でデジタル・ワードの転送のための入力−出
力バスと、から構成されるデジタル・コンピュータを開
示する。主演算装置は、更に、2つの型のシフト器を有
し、位置合せ及び正規化機能から成る浮動小数点加算を
実行し、そのときデジタル・ワードはシフト器を一度だ
け通過して前記各機能を達成する。シフト器は、左又は
右シフト機能を必要としその両方を必要としない単−桁
シフト器と、左及び右シフトが可能な多桁シフ(器と、
から成る。多桁シフト器は、更に、バレル・シフト器か
ら成り、浮動小数点加算動作中に1回だけデジタル・ワ
ードが通過する。演算論理装置が多桁シフト器と並列に
接続され、単−桁シフト器が演算論理装置の入力及び出
力に接続される。しかし、デジタル・ワードはシフト器
を単に出入するのに演算論理装置を通過する必要はない
。すべてのコンピュータ動作がマイクロプログラムの制
御のもとに行なわれる。シフト器が演算論理装置に結合
されるこの構成によって、浮動小数点加算動作の実行時
間が減少する。
本発明は、更に、シフト器で位置合せ及び正規化機能を
実行して、デジタル・ワードがシフト器を1度だけ通過
して前記各機能を達成し、単−桁シフト器を使用してデ
ジタル・ワードの数字を一つの位置シフトし、単−桁シ
フト器に結合される多桁シフト器を使用してデジタル・
ワードの数字を複数の位置シフトし、そのときデジタル
・ワードは浮動小数点加算動作中に1回だけ多桁シフト
器を通過し、次にシフト器に結合された演算論理装置を
使用して加算動作を行うステッチから成り、これによっ
て前記デジタル・ワードがシフト器に出入するためだけ
では演算論理装置を通過する必要をなくする。浮動小数
点加算動作実行方法を開示する。数字をシフトするステ
ップは、デジタル・ワード内で左及び右シフトを行うこ
とを含み、力n算動作を行うステップは2つの仮数デジ
タル・ワードの加算から成る。複数の位置についてデジ
タル・ワードの数字をシフトするステップはバレノいシ
フト器によって行なわれる。前記方法は、史に、マイク
ロプラダラム制御によって制御信号を発生するステップ
を含み、制御信号は多桁シフト器を1つの経路に、演算
論理装置を別の経路に用いて、並列の経路を同時に動作
可能I;シ、また、制御信号は機械状態によって決定さ
れる1、往路の1つのみからの出力を記憶するため選択
する。
(実施例の説明) 本発明を以下実施例に従って詳細に説明する。
第1図を参照すると、浮動小数点数又はデジタル・ワー
ドの仮数部分について演算動作を行う主演算装置64の
機能的ブロック図が示される。本装置は、第2図に示す
周知の浮動小数点の指数演算装置66及び適当な制御信
号35と共に使用して浮動小数点演算を行う。基数値r
が2に等しい基数システムは2進数システムとして一般
に知られている。2進数システムにおける桁はビットと
呼ばれ、2進数又はビットよりも多い基数値rが大きい
システムでは基数rの桁をエントートしなければならな
い。デジタル・ワードは隣接位置と位置合せをした複数
の桁から成って数字表記法を形成する。レジスタ10は
加算されるべき浮動小数点デジタル・ワード又は数の仮
数を記憶する。
右シフト器12は、必要なとき、レジスタ10から転送
された1又はそれ以上の桁から成るデジタル・ワードに
一桁の右シフトを与える。演算論理装置(ALU)14
は、その入力に与えられる仮数を表わす2つのデジタル
・ワード又は数の加算を行い、前記デジタル・ワードに
対し論理処理をするか、または変更しないデジタル・ワ
ードを単−桁左シフト器16に単に転送する。左シフト
器16に接続されるALU14を含む経路に並列に接続
すれるバレル・シフト器18は、任意数の桁の左又は右
シフトを行う。Aバス20、Bバス22及びFパス24
は、浮動小数点演算動作中のデジタル・ワードの転送を
容易にする。Aバス20は、ALU14の1つの入力に
浮動小数点オペランドを、又は、バレル・シフト器18
にデジタル・ワードを与える。Bバス22は、ALU1
4の他の入力に浮動小数点オペランドを、バレル・シフ
ト器18にデジタル・ワードを与えるか、又は、レジス
タIOKデジタル・ワードを転送する。Fバス24は、
浮動小数点演算中間値又は最終結果を、レジスタ10又
は浮動小数点デジタル・コンピュータの他の部分に伝送
する。
主演算装置64で実行される動作(仮l:!!、計算を
含む)のシーケンスは、デコーダ31に接続される/イ
クロプログラム制御装置30によって決定され、該デコ
ーダ31は特定の動作中に出されるある機械状態33に
基いて要求される制御信号35を与える。
ここで、第2図を参照すると、主演算装置64がデジタ
ル・コンビ′豆−夕の一般的ブロック図の中に示され、
該演算装置は指数演算装置66と組合わされて、固定小
数点及び浮動小数点演算動作を行う演算装置62を形成
している。メモリ68はデータと命令を記憶することが
できる。入出力装置70は入出カバスフ4を介するデジ
タル・コンピュータへの、そしてそこからのデジタル・
ワードの通路を制御する。コンピュータ・バス60は、
演算装置62、メモリ68そして入出力装置70を相互
接続してデータ及び命令の転送を行う。
制御装置72は、リード・オンリ・メモリを使用するマ
イクロプログラム制御技術を含み、制御卸信号35を発
生してデジタル・コンピュータ内のすべての動作を行な
わせる。
浮動小数点加算動作は、一般に次のような機能ステップ
を必要とする。
(1)  指数比較及び位置合せ (2)加算 (3)正規化 (4)丸め (5)再正規化 ステップ1の指数比較は、主演算装置で行うことができ
るが、スピードを改善するために第2図に示す個別の指
数演算装置66で予め行う方が望ましい。たとえ位置合
せが1桁以上のシフトを必要とするときでも、正規化動
作は多くて1桁シフトを必要とする。並列シフト器アー
キテクチャ−は、第1図に示すように、ALU14を第
1の経路に、そして、バレル・シフト器18によって達
成される多桁シフトを第2の経路に配置する。しかし、
単−桁シフトは右シフト器12とALU14の経路に含
まれる左シフト器16によって行なわれる。この方法は
、正規化又は位置合せの一方(両方ではない)のために
必要なときだけ、浮動小数点加算動作当り多くて1回バ
レル・シフト器18を使用する。他のすべての必要なシ
フトは右シフト器12及び左シフト器16等の単−桁シ
フト器によって処理される。位置合せ又は正規化に対し
バレル・シフト−器18を使用するかどうかの決定は、
これらの動作が1桁よシも多いシフトが必要かどうかに
よる。もし位置合せに1桁よりも多いシフトが必要なと
きは、バレル・シフト器18は位置合せに使用される。
もし位置合せが零又は1桁シフトであるときは、単−桁
シフト器が位置合せに使用され、バレル・シフト器18
は正規化のため(もし必要であれば)に用意される。
並列シフト器アーキテクチャ−は、結果として、シフト
動作に費される時間を最小にすることによって、また、
位置合せ等の機能ステップを達成するためバレル・シフ
ト類を通過する回数を1回に制御することによって、浮
動小数点加算を行うだめの実行時間を相当低減すること
ができる。
表■は、演算される実際の数によって異なる浮動小数点
加算を実行するための3つのシーケンスを要約している
。3つのシーケンスA、B、又はCの1つは並列シフト
器アーキテクチャ−による浮動小数点加算の実行中に行
なわれる。行なわれるシーケンスは処理される実際の浮
動小数点数に依る。しかし、シーケンスA及びCがシー
ケンスBよりも相当に多く生じることは理解できる。
第5図は、第1図及び第8図に示す本発明の装置によっ
て実施される浮動小数点加算動作のマイクロフローチャ
ートである。判断ブロックに近接して描いた実行ブロッ
クは判断が行なわれると同時に実行される。アクション
は状態しだいであることは理解される。所望のブランチ
条件状態は、その状態を必要とする処理サイクル又はマ
イクロサイクルの開始まで得られない。従って、第1図
に示すALU14処理経路及びバレル・シフト器18処
理経路は同時に実行される。サイクルの終りでは、1つ
の経路からの出力は記憶のために選択され、ブランチは
機械状態に基いて実行される。
マイクロプログラム制御装置30の制御のもとてのAL
U14経路とバレル・シフト器18経路の同時実行は、
マイクロプログラム化された制御装置のより遅い動作ス
ピードを埋め合せ又は補償する傾向にある。指数演算装
置66における指数比較を示す破線ボックスが、第5図
のマイクロフローチャートに含葦れているのは、表1に
示されるマイクロサイクルを必要とする浮動小数点演算
の必須の部分であるからである。
浮動小数点加算命令の間に零又は単−桁の位置合せが必
要なときは、位置合せ及び加算が、ALU14の経路に
接続される単−桁右シフト器12を使用して1マイクロ
サイクル内に行なわれる。もし第1正規化が右シフトを
必要とする場合には、再正規化は丸めの後必要とならな
い。従って、表1に示す第4マイクロサイクルの再正規
化はALU14の入力に接続される位置合せ右シフト器
12とALU14の出力に接続される単−桁右シフト器
16とによって達成することができる。表1に示す各シ
ーケンスの最後のマイクロサイクルは次の3つの正規化
の場合に与えられる。
1、正規化シフト−1桁右 右シフト器12が結果を右に1桁シフトし、次に丸め桁
の位値を加算して結果を丸める。
2、正規化シフトなし 右シフト器12が結果を右に1桁シフトし、次に右に1
桁移された丸め桁の位値を加えて結果を丸める。もし結
果が正規化されないときは、単−桁左シフトが左シフト
器16によって行なわれ、仮数を最終形にする。
3、正規化シフト−1桁左 右シフト器12はシフトしないで、右に1桁移された丸
め桁の位値を加えて結果を丸める。その結果が正規化さ
れない場合には、単−桁左シフトが左シフト器16によ
って行なわれ仮数を最終形にする。
この3つのすべての場合に、第2図に示す指数演算装置
66は、仮数がALU14及び左シフト器16を通過す
る間に浮動小数点数の指数部を調整する。前記デジタル
・ワードの結果の記憶の前にその仮数を付けたデジタル
・ワードに指数が組み込まれる。
ここで第8図を参照すると、第1図の詳細論理ブロック
図が示される。この好適実施例において、マイクロプロ
グラム制御装置30及びデコーダ8LKよって示される
マイクロプログラム化された制御装置72の下で、32
ビツト(基数=2)浮動小数点デジタル・コンピュータ
の仮数計算を行うのは高速主演算装置64であるが、3
2ビツト以外のワード長、他の基数、及び他の制御装置
技術に対しても本発明は適用可能である。制御信号35
のいくつかは機械状態信号33の関数として発生される
。レジスタ・ファイル42はワードあたシ82ビットの
48ワードから成シ、1ポーリード トがリードオンリで他のポートが   /ライトポート
の2つのボート・ファイルで、29705A型RAM集
積回路で作られる。処理されるべき浮動小数点仮数デー
タはAバス20及びBバス22から与えられる。レジス
タ・ファイル42の第1出力はAバス20に接続され、
第2出力はBバス22に接続される。データは、また、
入力データ・ライン26から又はCレジスタ36の出力
からBバス22に与えられる。
レジスタ・ファイル42に加えて、Aレジスタ32、B
レジスタ34、及びCレジスタ36が高速中間オペラン
ド記憶のため32ピツト・ワーキング・レジスタとして
設けられ、これらは64F374集積回路で作られる。
Aレジスタはバッファ50を介してAバス20から、ま
たはFバス24からデータを受ける。Fバス24は、バ
ッファ52及び左シフト器16を介して演算論理装置4
4及び14から、バレル・シン、ト器18から、又は乗
算又は除算のための論理装置等の外部源から、のデータ
を伝送する。Aレジスタ32の出力は右シフト器40に
直接に接続される。Bレジスタ34の入力は、Bバス2
2に接続され、その出力は右シフト器88に直接接続さ
れる。Cレジスタ86への入力はFバス24又はバッフ
ァ5oを介してAバス20から送られる。Cレジスタ8
6の出力はBバス22に直接接続される。Cレジスタ3
6はあるマイクロサイクルの間、一時的記憶を行い、ま
だ、Bレジスタ34の代りに機能する。
Cレジスタ86を設けること(よって、Bレジスタ34
の入力にマルチプレクサを付加するイリも安くFバス2
4からBレジスタ34に経路(バス)を提供することが
でき、また時間をつかわないですむ。
更に、第8図を参照すると、2つの演算論理装置14及
び44が、浮動小数点減算動作を増強することを主目的
として並列に使用されている。Aバス20及びBバス2
2はALU14及びALU44の両方に2つのオペラン
ドを与える。ALU14の出力は第1図に示すと同様に
左シフト器16に接続され、符号ビットは浮動小数点符
号論理回路48に接続される。ALU44の出力はバッ
ファ52に接続され、その出力はFバス24に接続され
る。これら2つのALUを並列に接続することによって
、一方が他方の結果の2つの補数を発生する。正の結果
のALUが選択され、それによって負の2つの補数の結
果を反転する必要もなく浮動小数点仮数の大きさに符号
をつける。
ALUKO−ドされた各オぜランドに関連の符号は、A
LUL4からの符号出力と共に浮動小数点符号論理回路
48に送られ、該回路48はALU動作からの結果に対
し最終の適合符号を決定する。
回路48からの出力はバッファ54を介してFバス24
に伝送される。丸め機能が行なわれている間、丸めデジ
ット(又は2進システムのビット)と呼ばれる適当な定
数がリテラルPROM46からBバス22を介してAL
U14に与えられる。
ALU14及びALU44は、5 tFl 81及び5
4Fl 82型集積回路を使用して実現され先取りけた
上げ(ルック・アヘッド・キャリー)付32ビットAL
Uを構成する。各ALUは表■に示す論理及び算術演算
を行なう(A及びBはALUへの入力である。バッファ
50.52及び54は54F244集積回路を使用して
実施することができる。Aバス及びBバスは54F25
8)ライステート(8状態)集積回路で、Fバスは54
F244集積回路で実施することができる。
ここで、第4図を参照すると、多ビツトシフト器、即ち
バレル・シフト器18が示され、第1図及び第3図に示
す2つのシフト器経路の1つを与え、多桁シフトを行う
。用語「バレル・シフト器」は、浮動小数点加算命令演
算において、バレル・シフト器の単一機能的通過で位置
合せ又は正規化を実行するために、任意長の右及び左シ
フトを実行し得る論理回路集合体をいう。バレル・シフ
ト器18は、64ピントの2進データのシフト又は回転
を実行することができ、次の4つのマルチプレクサ論理
段から成る。即ち、入力データ・マルチプレクサ100
及び102、バイト回転マルチプレクサ104、ビット
回転マルチプレクサ108及び終了状態マルチプレクサ
114である。
入力データ・マルチプレクサ1oo及び102は、Aバ
ス20又はBバス22から2つの82ビツト量を選択す
る。Aバス2oは最下位82ビツト入力を与え、Bバス
22は最上位82ビツトを与える。更に、データ・ワー
ドの歯下位82ビットは入力データ・マルチプレクサ1
02にオール・ゼロ101として与えられ、32ビツト
量のシフトが必要なとき零挿入を行う。32ビット回転
は、最上位82ビツトが最下位32ビツトと全く同様な
入力を選択することによって行なわれる。入力データ・
マルチプレクサの出方は′8:1バイト回転マルチプレ
クサ104に接続され、該マルチプレクサはシフト又は
回転動作の間、バイト境界の各ビット・データ・バイト
の位置決めをする。翻訳器106は要求されるようにシ
フト値を論理再形成する。8:1バイト回転マルチプレ
クサ104の出力は8:1ピット回転マルチプレクサ1
08に接続され、該マルチプレクサ108は8個の位位
置の範囲でデータを回転し、データを最終位置に移動さ
せる。8:1ビット回転マルチプレクサ108の出力は
2:1終了状態マルチプレクサ114に接続され、該マ
ルチプレクサ114は要求されたようにデータ・ビット
の位置を変えて、もしシフト動作(回転と異なって)が
実行されていれば、零挿入に対し符号拡張を行う。終了
状態マルチプレクサ114からの出力はCレジスタ56
(第3図)及びFバス24に直接接続される。
入力データ・マルチプレクサ100及び102と、終了
状態マルチプレクサ114は54F257集積回路を使
用して実施することができる。バイト回転マルチプレク
サ104及びピット回転マルチプレクサ108は54F
151集積回路を使用して実施することができる。
浮動小数点加算動作を第3図、第5図々び表■を参照し
て説明する。マイクロプログラム制御装置は浮動小数点
加算等のコンピュータ動作(演算)を実行するためのマ
イクロ命令を有する。マイクロ命令を実行するための時
間間隔はマイクロサイクルによって決められる。次の4
つのマイクロサイクルが浮動小数点加算を達成する。
マイクロサイクル1:オペランド仮数がAバス20及び
Bバス22に入力データ26又はレジスタ・ファイル4
2からのデータとして現われ、これらはAレジスタ82
及びBレジスタ34に伝送される。同時に、第2図に示
す指数演算装置66が各仮数に関連の指数を比較しどの
仮数が位置合せを必要とするかを決定する。オペランド
の符号はこのとき浮動小数点符号論理回路48によって
決定される。
マイクロサイクル2二指数演算装置66が決定した位置
合せ機能シフトが1を超える場合には、位置合せを特徴
とする特定の仮数がAレジスタ32又はBレジスタ34
から右シフト器40又は38及びAバス20又はBバス
22を夫々通ってバレル・シフト器18に送られる。位
置合せシフト・カウントの最下位ビットが選択されたレ
ジスタの内容に関して右ビット・シフト器を制御する。
位置合せシフト・カウントの残りのビットがバレル・シ
フト器18を制御する。オペランド仮数は、位置合せさ
れたバレル・シフト器18から出て、Aレジネタ82の
内容が位置合せのために選択された場合にはAレジスタ
82に、もしBレジスタの内容が位置合せのために選択
された場合にはCレジスタ36に、記憶(ストア)され
る。位置合せシフト・カウントが零又はlの場合には、
選択された仮数は、すでに位置合せされた関連の右シフ
ト器38又は40から出て、並列ALU14及び44を
通過し、そこで加算が行なわれる。その結果は正の形で
Aレジスタ82に記憶(ストア)される。
マイクロサイクル3:もしバレル・シフト器18がAレ
ジスタ32の内容を位置合せするのに使用された場合に
は、Aし、ジスタ32及びBレジスタ34の内容がAL
U14及び44で加算され、その結果はAレジスタ32
に記憶される。もしバレル・シフト器18がBレジスタ
84の内容を位置合せするのに使用された場合には、A
レジスタ82及びCレジスタ36の内容がALU14及
び44で加算され、その結果がAレジスタ32に記憶さ
れる。もし加算がマイクロサイクル2で完了している場
合には、正規化がここで行なわれる。
もし正規化シフトが1ビツト又はそれ以下である場合に
は、正規化、丸め及び再正規化が、Aレジスタ32、右
シフト器40、ALU14、及び左シフト器16を使用
して表iに関連して前述したように行なわれる。丸め桁
又はビットがリテラルPROM46からBバス22を通
ってALU入力の正しい位置に導かれる。左シフト器1
6の出力はその結果の仮数でレジスタ・ファイル42に
記憶されるか、又は浮動小数点符号論理回路48によっ
て発生されたその結果の符号と共にFバス24を通って
別の場所に伝送される。もし正規化に1ビツトを超える
シフトが必要な場合には、バレル・シフト器18が使用
されてAレジスタ32の内容をシフトしてその結果をA
レジスタ32に戻して記憶する。
マイクロサイクル4:もしバレル・シフト器18が多ピ
ット位置合せに使用されたときは、多くて1ピントのみ
の正規化が必要になる。正規化、丸め及び再正規化は、
加算が前のサイクルで完了していて多ビツト正規化が必
要ない場合に、行なわれる。もしバレル・シフト器18
が多ビツト正規化に使用された場合には、丸め及び再正
規化がALU14、左シフト器16及びリテラルFRO
M46を使用して、Aレジスタ32の内容に対して実行
される。これは、結局、正規化、丸め及び再正規化の場
合、結果がマイクロサイクルが開始されるときに正規化
されるということになる。
以上、本発、明を実施例に従って説明したが、本発明の
範囲内で他の多くの修正及び変更が可能であることは当
業者には明らかである。例えば、多桁シフト器即ちバレ
ル・シフト器が前述したものとは別の論理設計で行なわ
れ、同じ機能を達成することが可能である。
表  1 浮動小数点加算シーケンス 表  ■ ALU機能 第1図は本発明の実施例を示す機能ブロック図である。
第2図は本発明による浮動小数点アーキテクチャ−を利
用した主演算装置を含むデジタル・コンピュータのブロ
ック図である。
第3図は、第1図の論理実行を行うブロック図である。
第4図は、第1図及び第2図に示すバレル・シフト器1
8のブロック図である。
第5図は、本発明による浮動小数点加算動作のマイクロ
・フローチャートである。
特許出願人  レイセオン・カンパニー(外4名) 入nテ二726 FIG  4 、、、、.2つ      A +P 
1 j)。

Claims (8)

    【特許請求の範囲】
  1. (1)  シフト手段によって位置合せ及び正規化機能
    を行い、そのシフト手段をデジタル・ワードが一度だけ
    通過して前記各機能が達成され、前記デジタル・ワード
    のデジットを単−桁シフト手段を使用して1つの位置だ
    けシフトし、前記デジタル・ワードのデジットを前記単
    一桁シフト手段に結合された多桁シフト手段を使用して
    複数の位置シフトし、前記デジタル・ワードは浮動小数
    点加算の間に多くて一度だけ前記多桁シフト手段を通過
    し、 前記シフト手段に結合された演算手段を使用して加算を
    行い、前記デジタル・ワードが前記シフト手段を出入す
    るためだけでは前記演算手段を通過する必要をなくする
    、 ステップから成る浮動小数点加算方法。
  2. (2)  前記デジットをシフトするステップが前記デ
    ジタル・ワードに対し左及び右シフトすることを含む特
    許請求の範囲第(1)項記載の方法。
  3. (3)前記加算を行うステップが2つの仮数デジタル・
    ワードを加算することから成る特許請求の範囲第(1)
    項記載の方法。
  4. (4)前記デジットを複数の位置に亘ってシフトするス
    テップがバレル・シフト器によって行われる特許請求の
    範囲第(1)項記載の方法。
  5. (5)位置合せ及び正規化機能から成る浮動小数点加算
    演算を行うシフト装置であって、前記各機能を達成する
    のにデジタル・ワードが一度たけ通過するシフト装置と
    、 前記シフト装置に含まれ、前記加算演算の間前記デジタ
    ル・ワードのデジットを1つの位置シフトする単−桁シ
    フト装置と、 前記シフト装置に含まれ、前記単一桁シフト装置に結合
    されて、前記デジタル・ワードのデジットを複数の位置
    シフトする多桁シフト装置であって、前記浮動小数点加
    算演算の間前記デジタル・ワードが多くて一回通過する
    多桁シフト装置と、前記シフト装置に結合され、加算機
    能を行う装置を有して前記浮動小数点加算演算を行う演
    算装置と、 から構成され、前記デジタル・ワードが前記シフト装置
    に出入するためだけモは前記演算装置を通過する必要が
    ない、浮動小数点加算装置。
  6. (6)前記シフト装置が前記デジタル・ワードの左及び
    右シフトを行うところの特許請求の範囲第(5)項記載
    の装置。
  7. (7)前記演算装置が、前記浮動小数点加算演算の間に
    2つの仮数デジタル・ワードについて加算動作を行うと
    ころの特許請求の範囲第(5)項記載の装置。
  8. (8)前記多桁シフト装置がバレル・シフト器から成る
    ところの特許請求の範囲第(5)項記載の装置。
JP58028420A 1982-02-22 1983-02-22 浮動小数点加算方法及び装置 Pending JPS58158739A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/350,860 US4488252A (en) 1982-02-22 1982-02-22 Floating point addition architecture
US350860 1982-02-22

Publications (1)

Publication Number Publication Date
JPS58158739A true JPS58158739A (ja) 1983-09-21

Family

ID=23378509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58028420A Pending JPS58158739A (ja) 1982-02-22 1983-02-22 浮動小数点加算方法及び装置

Country Status (7)

Country Link
US (1) US4488252A (ja)
JP (1) JPS58158739A (ja)
CA (1) CA1184664A (ja)
DE (1) DE3306084A1 (ja)
FR (1) FR2522171B1 (ja)
GB (1) GB2116758B (ja)
NL (1) NL8300492A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6083139A (ja) * 1983-10-13 1985-05-11 Nec Corp 2進化10進数正規化回路
JPS60204031A (ja) * 1984-02-24 1985-10-15 アメリカ合衆国 デジタルコンピユ−タにおける浮動小数点演算方法と装置
JPH01111229A (ja) * 1987-10-26 1989-04-27 Nec Corp 浮動小数点加減算器
JP2008510229A (ja) * 2004-08-13 2008-04-03 アナログ・デバイセズ・インコーポレイテッド 効率的浮動小数点式aluのための方法及び装置

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US4586131A (en) * 1982-02-22 1986-04-29 Texas Instruments Incorporated Microcomputer having data move circuits for within-memory shift of data words
CA1229415A (en) * 1983-12-09 1987-11-17 Masayuki Ikeda Floating-point addition/subtraction system
US4716539A (en) * 1984-12-31 1987-12-29 Gte Communication Systems Corporation Multiplier circuit for encoder PCM samples
EP0211179A3 (en) * 1985-06-28 1990-09-05 Hewlett-Packard Company Apparatus for performing variable shift
US4782457A (en) * 1986-08-18 1988-11-01 Texas Instruments Incorporated Barrel shifter using bit reversers and having automatic normalization
US4884231A (en) * 1986-09-26 1989-11-28 Performance Semiconductor Corporation Microprocessor system with extended arithmetic logic unit
US4800516A (en) * 1986-10-31 1989-01-24 Amdahl Corporation High speed floating-point unit
JP2558669B2 (ja) * 1986-12-29 1996-11-27 松下電器産業株式会社 浮動小数点演算装置
US4862407A (en) * 1987-10-05 1989-08-29 Motorola, Inc. Digital signal processing apparatus
JP2695178B2 (ja) * 1988-03-11 1997-12-24 富士通株式会社 演算回路
JPH01302425A (ja) * 1988-05-31 1989-12-06 Toshiba Corp 浮動小数点加減算回路
US5153848A (en) * 1988-06-17 1992-10-06 Bipolar Integrated Technology, Inc. Floating point processor with internal free-running clock
US4996661A (en) * 1988-10-05 1991-02-26 United Technologies Corporation Single chip complex floating point numeric processor
US4926369A (en) * 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
US5161117A (en) * 1989-06-05 1992-11-03 Fairchild Weston Systems, Inc. Floating point conversion device and method
US4999803A (en) * 1989-06-29 1991-03-12 Digital Equipment Corporation Floating point arithmetic system and method
JPH05134848A (ja) * 1991-03-06 1993-06-01 Fujitsu Ltd 中央処理装置のデータシフト回路
KR100262438B1 (ko) * 1991-05-08 2000-08-01 가나이 쓰도무 연산장치 및 이것을 사용한 비트필드조작 연산방법
AU652896B2 (en) * 1992-09-29 1994-09-08 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus
GB2274730B (en) * 1993-01-30 1997-05-28 Motorola Inc A mantissa addition system for a floating point adder
US5576982A (en) * 1994-10-17 1996-11-19 Unisys Corporation Fast significant bit calculator and its application to integer multiplication and division
JP3421933B2 (ja) * 1994-10-31 2003-06-30 弘之 河▲崎▼ 演算処理装置及び電子計算機
US5880983A (en) * 1996-03-25 1999-03-09 International Business Machines Corporation Floating point split multiply/add system which has infinite precision
US5790445A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Method and system for performing a high speed floating point add operation
KR100212139B1 (ko) * 1996-07-22 1999-08-02 윤종용 클럭공급장치
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US5844825A (en) * 1996-09-03 1998-12-01 Wang; Song-Tine Bidirectional shifter circuit
JP2000068834A (ja) 1998-08-20 2000-03-03 Hiroyuki Kawasaki 信号変換方法及び信号変換器
JP3709553B2 (ja) * 2000-12-19 2005-10-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 演算回路および演算方法
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
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
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
US7774393B1 (en) * 2004-06-30 2010-08-10 Oracle America, Inc. Apparatus and method for integer to floating-point format conversion
CN100543723C (zh) * 2004-08-13 2009-09-23 模拟装置公司 用于高效浮点运算器(alu)的方法
US7546328B2 (en) * 2004-08-31 2009-06-09 Wisconsin Alumni Research Foundation Decimal floating-point adder
US7743084B2 (en) * 2004-09-23 2010-06-22 Wisconsin Alumni Research Foundation Processing unit having multioperand decimal addition
US7949695B2 (en) * 2004-10-27 2011-05-24 Via Technologies Inc. Two's complement circuit
KR20070088190A (ko) * 2006-02-24 2007-08-29 삼성전자주식회사 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법
US8768989B2 (en) * 2011-03-18 2014-07-01 Apple Inc. Funnel shifter implementation
US9836278B2 (en) * 2015-05-29 2017-12-05 Huawei Technologies Co., Ltd. Floating point computation apparatus and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5425133A (en) * 1977-07-27 1979-02-24 Nec Corp Data shift device
JPS54133855A (en) * 1978-04-10 1979-10-17 Hitachi Ltd Computer processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3551665A (en) * 1966-09-13 1970-12-29 Ibm Floating point binary adder utilizing completely sequential hardware
US4208722A (en) * 1978-01-23 1980-06-17 Data General Corporation Floating point data processing system
US4308589A (en) * 1979-11-08 1981-12-29 Honeywell Information Systems Inc. Apparatus for performing the scientific add instruction
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4405992A (en) * 1981-04-23 1983-09-20 Data General Corporation Arithmetic unit for use in data processing systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5425133A (en) * 1977-07-27 1979-02-24 Nec Corp Data shift device
JPS54133855A (en) * 1978-04-10 1979-10-17 Hitachi Ltd Computer processor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6083139A (ja) * 1983-10-13 1985-05-11 Nec Corp 2進化10進数正規化回路
JPH0366692B2 (ja) * 1983-10-13 1991-10-18 Nippon Electric Co
JPS60204031A (ja) * 1984-02-24 1985-10-15 アメリカ合衆国 デジタルコンピユ−タにおける浮動小数点演算方法と装置
JPH057737B2 (ja) * 1984-02-24 1993-01-29 Us Energy
JPH01111229A (ja) * 1987-10-26 1989-04-27 Nec Corp 浮動小数点加減算器
JP2008510229A (ja) * 2004-08-13 2008-04-03 アナログ・デバイセズ・インコーポレイテッド 効率的浮動小数点式aluのための方法及び装置

Also Published As

Publication number Publication date
US4488252A (en) 1984-12-11
NL8300492A (nl) 1983-09-16
FR2522171A1 (fr) 1983-08-26
DE3306084A1 (de) 1983-09-01
FR2522171B1 (fr) 1987-02-27
DE3306084C2 (ja) 1993-08-05
GB2116758B (en) 1985-11-13
CA1184664A (en) 1985-03-26
GB8304310D0 (en) 1983-03-23
GB2116758A (en) 1983-09-28

Similar Documents

Publication Publication Date Title
JPS58158739A (ja) 浮動小数点加算方法及び装置
KR100239029B1 (ko) 가산기와 함께 사용하기 위한 결과 정규화기 및 결과 정규화 방법과 그를 포함하는 데이터 프로세서
US4941120A (en) Floating point normalization and rounding prediction circuit
CN107077416B (zh) 用于以选择性舍入模式进行向量处理的装置和方法
US5058048A (en) Normalizing pipelined floating point processing unit
US5844830A (en) Executing computer instrucrions by circuits having different latencies
US5053631A (en) Pipelined floating point processing unit
US5267186A (en) Normalizing pipelined floating point processing unit
US5272660A (en) Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
EP0097956B1 (en) Arithmetic system having pipeline structure arithmetic means
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
JP2674754B2 (ja) バレル・シフタ
US5493520A (en) Two state leading zero/one anticipator (LZA)
JPH06236257A (ja) データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置
US5426600A (en) Double precision division circuit and method for digital signal processor
JPS6114532B2 (ja)
US3699326A (en) Rounding numbers expressed in 2{40 s complement notation
US5247471A (en) Radix aligner for floating point addition and subtraction
US4967343A (en) Pipelined parallel vector processor including parallel configured element processors for processing vector elements in parallel fashion
US4334284A (en) Multiplier decoding using parallel MQ register
JP3436994B2 (ja) シフト装置
EP0551531A1 (en) Apparatus for executing ADD/SUB operations between IEEE standard floating-point numbers
US4866651A (en) Method and circuit arrangement for adding floating point numbers
JP2695178B2 (ja) 演算回路
US7237000B2 (en) Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly