JPS6051728B2 - 高速演算処理方式 - Google Patents

高速演算処理方式

Info

Publication number
JPS6051728B2
JPS6051728B2 JP53068063A JP6806378A JPS6051728B2 JP S6051728 B2 JPS6051728 B2 JP S6051728B2 JP 53068063 A JP53068063 A JP 53068063A JP 6806378 A JP6806378 A JP 6806378A JP S6051728 B2 JPS6051728 B2 JP S6051728B2
Authority
JP
Japan
Prior art keywords
actual
operand
subtract
processing
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.)
Expired
Application number
JP53068063A
Other languages
English (en)
Other versions
JPS54158830A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP53068063A priority Critical patent/JPS6051728B2/ja
Publication of JPS54158830A publication Critical patent/JPS54158830A/ja
Publication of JPS6051728B2 publication Critical patent/JPS6051728B2/ja
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、高速演算処理方式、特に加減算処理に当つ
て、第1オペランドの指数部の内容および小数部の最上
位桁の値と第2オペランドの指数部の内容および小数部
の最上位桁の値とを抽出して、加減算処理態様を変え、
可能な限ぎり簡単な処理態様によつて演算処理を行なう
ようにした高速演算処理方式に関するものである。
一般に浮動小数点表現のオペランドは、第1図に示す
如く、サイン・ビットとRNで表現される指数部とR進
数で表現される小数部とによつて与えられる。
なお第1図はR=16の場合を表わしている。このよう
な2つのオペランドを加算(又は減算)する場合、一般
には次の如き手順にしたがつた処理が行なわれる。
即ち、(1)第1のオペランド0P1の指数部の内容E
XPlと第2のオペランド0P2の指数部の内容EXP
2とを比較し、その大小とその差とを検出する。
(2)指数部の内容を比較して小さい側のオペランドの
小数部の内容が右桁送りされる。
この桁送りは、両者オペランドの指数部の内容が等しく
なるまで行なわれる。そしてこのとき、例えば托進表現
の場合托進数1桁分が桁送りされる毎に指数部に値Rl
jが加算される。この処理をAI.IGNMENTと呼
ぶ。(3)両オペランドのサインが等しい場合、加算処
理時には両者オペランドの小数部の内容を加算する。
この処理は現実に加算されることからアクチヤル●アン
ドと呼ぶ。サインが異なる場合、第1オペランドの小数
部の内容から第2オペランドの小数部の内容を減算する
。この処理は現実に減算されることからアクチヤル・サ
ブトラクトと呼ぶ。(4) 上記アクチヤル・アンドま
たはアクチヤル・サブトラクトの結果が負数になつた場
合には、正数表現に戻す処理を行なう。
この処理をRECOMPLEMENTと呼ぶ。
(5)上記結果において桁あふれが生じていれば1桁分
右桁送りが行なわれる。
また演算後に正規化処理が必要な場合には、演算後正規
化処理(POSTNORMALIZE)を行なう。(6
)減算処理の場合には、上記サインが等しい場合にアク
チヤル・サブトラクトが行なわれ、サインが異なる場合
にアクチヤル・アンドが行なわれることによつて、上記
加算処理の場合と同様に取扱われる。従来、一般に、浮
動小数点表現のオペランドの加減算は上述の如く行なわ
れているが、上記演算処理を実行する前に、演算対象で
あるオペランド相互の関係を抽出することによつて、所
定の関係がある場合には上記処理のうちの1部の処理を
省略することができる。
本発明は、上記の点を解決することを目的としており、
可能な限ぎり高速度で演算を行ない得るようにすること
を目的としている。
そしてそのため、本発明の高速演算処理方式はサイン・
ビットとRNで表現される指数部とR進数て表現される
小数部とを有するオペランドを加算または減算する演算
処理装置において、第1オペランドの指数部の内容EX
Plおよび第2オペランドの指数部の内容EXP2が供
給されて両者内容間の大小関係をチェックする指数比較
回路と、演算命令のオペレーション・コードおよび第1
オペランドのサイン●ビットおよび第2オペランドのサ
イン・ビットが供給されてアクチヤル・アンドまたはア
クチヤル・サブトラクトのいずれかを判定するアクチヤ
ル●アンド又はアクチヤル・サブトラクト検出回路と、
上記指数比較回路からの出力および上記アクチヤル・ア
ンド又はアクチヤル・サブトラクト検出回路からの出力
および第1オペランドの小数部の最上位置0gRビット
以上の桁の値×1および第2オペランドの小数部の最上
位置0gRビット以上の桁の値×2が供給されて演算処
理装置内制御信号出力を生成する桁演算回路ユニットと
を少なくとも有する桁演算回路をもうけてなり、当該桁
演算回路が、上記第1オペランドと上記第2オペランド
とをアクチヤル◆アンドまたはアクチヤル・サブトラク
トが行なわれる際に、桁シフト処理あるいは正規化処理
あるいは補数化処理を必要とする態様と必要としない態
様と必要とするか否か不定の態様のいずれかを、上記ア
クチヤル・jアンドまたはアクチヤル●サブトラクトを
実行する前に決定し、該アクチヤル・アンドまたはアク
チヤル・サブトラクト処理の演算処理態様を変更せしめ
る上記制御信号出力を発するようにしたことを特徴とし
ている。以下第2図以降の図面を参・照しつつ説明する
。第2図はアクチヤル・アンドを行なう場合を説明する
説明図、第3図はアクチヤル・サブトラクトを行なう場
合を説明する説明図、第4図は本発明による加減算処理
の一実施例フローチャート、)第5図はアクチヤル・ア
ンドを行なう場合の処理タイム・チャート、第6図はア
クチヤル・サブトラクトを行なう場合の処理タイム・チ
ャート、第7図は本発明による加減算処理に関する一実
施例遷移図、第8図は本発明による演算装置の一実施例
構成、第9図は第8図に示す桁演算回路の一実施例構成
を示す。
今第1図に示す如きオペランドの小数部が托進表現で与
えられているものとする。
このようなオペランド0P1と0P2とを加算または減
算するものとし、アクチヤル・アンドが行なわれる場合
、次のことが判る。即ち、両オペランドの指数合わせが
実質上行なわれた後を考えて、(A−1) 両オペラン
ドの小数部の最上位桁(托進表現の場合4ビット分)以
上のビットを対比し、第2図図示A1領域にある楊合、
アクチヤル・アンドを行なつた結果には、必らず桁あふ
れを生ずる。
したがつて該桁あふれに対応して、アクチヤル・アンド
の後に1桁分右桁送り処理を必要とする。(A−2)
第2図図示A2領域にある場合、アクチヤル●アンドを
行なつた結果には、桁あふれを生ずることはなく、その
ままて結果のオペランドの小数部の値となる。
(A−3) 第2図図示A3領域にある場合、アクチヤ
ル・アンドを行なつた結果に桁あふれが生するか否かは
、当該最上位桁のみからは判定できない。
このため、現実にアクチヤル・アンド処理を行なつた上
で上記POSTNORMALIZE処理を行なう必要が
ある。
(S−1) 第3図図示S1領域にある場合、アクチヤ
ル・サブトラクトを行なつた結果では、 (0P1)
−(0P2)〉0となり、必らず正の値が残り、そのま
まで結果のオペランドの小数部の値となる。
(S−2) 第3図図示S2領域にある場合、アクチヤ
ル・サブトラクトを行なつた結果では (0P1)−
(0P2)〈0となり、必らず負の値が残る。
したがつて、アクチヤル・サブトラクトを行なつた後に
該結果一の小数部を正値表現に書直す必要が生ずる。即
ちRECOMPLEMENT処理を行なう必要が生ずる
。(S−3) 第3図図示S3領域にある場合、アクチ
ヤル・サブトラクトを行なつた結果が正値−となるか負
値となるか更にPOSTNORMALlZE処理を必要
とするか否かは、当該最上位桁のみからは判定できない
このため、現実にアクチヤル●サブトラクト処理を行な
つた後に該結果にもとずいてRECOMPLEMENT
処理やPOSTNORMALワE処理を行なう必要が生
ずる。
第2図、第3図を見るとき、第1オペランドの指数部の
内容EXPlが第2オペランドの指数部の内容EXP2
より小さいときには、第1オペランドの小数部の最上位
桁の値にかかわらず、第1オペランドの小数部の最上位
桁が゜゜0゛であるとして、図を見れば、実質的に桁合
わせ処理が行な”われた後の両オペランドの小数部最上
位桁の対比となる。またEXP2がEXPlより小さい
ときには第2オペランドの小数部の最上位桁が“0゛で
あるとして図を見ればよい。
第4図は上記の結論にもとずいて加減算処理を行なう場
合の一実施例フローチャートを示している。
即ち、(7)第4図図示処理Aによつて、第1オペラン
ド0P1の指数部の内容EXPlと第2オペランド0P
2の指数部の内容EXP2とを比較する。
(8)そして等しくない場合、処理BによつてAL,I
GNMENT処理が行なわれ、桁合わせされる。(9)
実質的に桁合わせ処理が行なわれた後における両オペラ
ンドの小数部の最上位桁を対比するとき、上記領域条件
Al,A2,A3,Sl,S2,S3のいずれか1つの
みが論理r1ョとなる。
この領域条件にもとづいて、次の如く最終結果を得る。
(10)即ち、A1=1の場合、上記(A−1)に述べ
た如く1桁分右桁送り処理を行なう。
(11)A2=1の場合、上記(A−2)に述べた如く
そのまま結果を得る。
(12)A3=1の場合、上記(A−3)に述べた如く
、POSTNORMALIZE処理を行なう。
(13)S1=1の場合、上記(S−1)に述べた如く
そのまま結果を得る。(14)S2=1の場合、上記(
S−2)に述べた如く、RECOMPLEMENT処理
を行なう。
(15)S3=1の場合、上記(S−3)に述べた如く
、アクチヤル・サブトラクトを行なつた結果によつて処
理が変わる。即ち、結果が負値となつている場合、RE
COMPLEMENT処理を行なった上でPOSTNO
RMAl.I圧処理を行ない、結果が正値となつている
場合、POSTNORMALワE処理を行なう。第5図
および第6図は夫々アクチヤル・アンドおよびアクチヤ
ル・サブトラクトを行なう場合の処理タイム・チャート
を示している。
例えばアクチヤル・アンドを行なう場合であつて、両オ
ペランドの指数部の内容からが抽出され、,かつ上記領
域条件A1=1の場合、第5図最上部に示す如く、(1
)オペランド・ロード、(Ii)アクチヤル・アンド、
(IiOl桁分右桁送り(SHIFT(4ビット)RI
GHT)の処理が計3サイクルで実行される。
またアクチヤル・アンドを行なう楊合であつて、なる条
件のもとでは、(1)オペランド・ロード、(Ii)ア
クチヤル・アンド、(111)POSTNORMALI
ZE処理のためのビット シフト量のカウント(COU
NT)、(Iv)該カウントに対応した左シフトの各処
理が計4サイクルで実行される。
その他の条件の場合についての説明は省略するが、それ
らの各処理については第4図と対比することによつて容
易に理解されよう。なお第5図および第6図に示すPR
ESHIFTは上述のALIGNMENT処理に対応す
るものと考えてよい。第7図は、第4図または第5図に
示した処理を実行する一実施例遷移図を示している。
図中の符号LUCKは第7図を参照して後述するロジカ
ル・ユニット・チェック部、SHはシフタ、CPAは加
算器を表わしている。そして#1ないし#7は遷移状態
を表わしている。#1状態においては、LUCKによつ
てオペランド・ロードが行なわれる。
#2状態においては、SHとCPAとによってAl.I
GNMENTやADD/SUBが行なわれる。#3状態
においては、CPAによつてADD/SUBが行なわれ
る。#4状態においては、LUCKとCPAとによつて
COUNTやRECOMPLEMENTが行なわれる。
#5状態においてはLUCKによつてCOUNTが行な
われる。#6状態においては、SHによつてPOSTN
ORIVALIZEが行なわれる。また#7状態におい
てはCPAによってRECOMPLEMENTが行なわ
れる。#1,#2,#7、FINを通る処理は、第5,
6図図示処理7に対応する。
#1,#2,#3,#7、FINを通る処理は、第5,
6図図示処理Oに対応する。#1,#2,#3、FIN
を通る処理は、第5,6図図示4と9とに対応する。#
1,#2,#3,#5,#6、FINを通る処理は、第
5,6図図示処理5に対応する。#1,#2,#3,#
4,#6、FINを通る処理は、第5,6図図示処理◎
の一方に対応する。#1,#2,#3,#4,#5,#
6、FINを通る処理は、第5,6図図示処理◎の他方
に対応する。#1,#2,#4,#6、FINを通る処
理は、第5,6図図示処理8の一方に対応する。#1,
#2,#4,#5,#6、FINを通る処理は、第5,
6図図示処理8の他方に対応する。#1,#2,#5,
#6、FINを通る処理は、第5,6図図示の処理3に
対応する。#1,#2,#6、FINを通る処理は、第
5,6図図示の処理1と2と6とに対応する。第8図は
本発明による演算装置の一実施例構成を示し、第9図は
第8図に示す桁演算回路の一実施例構成を示す。
図中、1はロジカル・ユニット・チェック回路部(LU
CK)でありオペランドをロードしたりカウント動作を
行なつたりするもの、2は桁演算回路であつて第9図に
示す構成をもつもの、3はレジスタ、4はシフト量レジ
スタ(SAR)、5はデルタ・エクスポーネント・レジ
スタ(DE)、6はシフタ、7は加算器、8はバイト加
算器、9は乗算器、10は出力レジスタ、11,12は
バスを表わす。また13は指数比較回゛路、14は桁演
算回路ユニット、15はアクチヤル・アンド又はアクチ
ヤル・サブトラクト検出回路を表わしている。LUCK
lは2つのオペランド0P1,0P2や演算途中結果を
受取り、それらをレジスタ3にセットする。
このとき、上記ALIGNMENT処理などのためのシ
フト必要量を検出してレジスタ4にセットすると共に、
該シフト必要量についてのR2ョの補数をとりレジスタ
5にセットする。なおレジスタ5にシフト必要量の12
Jの補数をセ)ツトしておく理由は、上記ALIGNM
ENT処理などによる正規化を行なつたとき、元の指数
部の内容にレジスタ5の内容を加算すれば正規化後の正
しい指数部の内容が得られることから、そのための準備
を行なうものと考えてよい。シフタ6は上記ALIGN
MENT処理やPOSTNORMALIZE処理その他
のためにデータをシフトするために用いられる。そして
該シフト量はレジスタ4の内容によつて指示される。加
算器7は2つのオペランドに対して上記アクチヤル●ア
ンドやアクチヤル◆サブトラクトを行なう。
またバイト加算器8は、1バイト単位の加算器であつて
、上述のレジスタ5の内容と元の指数部の内容との加算
処理などを行なう。桁演算回路4は、第9図を参照して
後述する如く、上述の領域条件Al,A2,A3,Sl
,S2,S3に対応した信号を生成する。更に図中に乗
算器9が示されているが、本願発明の処理に直接関連し
ない。上記桁演算回路2は、第9図に示す如く、指数比
較回路13と桁演算回路ユニット14と検出回路15と
をもつている。
第1オペランド0P1や0P2がLUCKlにセットさ
れたとき、指数比較回路13は、両オペランドの指数部
の内容EXPlとEXP2とを比較して桁演算回路ユニ
ット14に対して、EXPl=EXP2又はEXPl〉
EXP2又はEXPlくEXP2のいずれかを指示する
。一方、検出回路15は、加算又は減算で与えられる演
算命令を受取り、第1オペランド0P1のサイン・ビッ
トと第2オペランド0P2のサイン・ビットとにもとつ
いて、アクチヤル・アンド又はアクチヤル◆サブトラク
トのいずれかを桁演算回路ユニット14に対して指示す
る。桁演算回路ユニット14は、上記回路13および1
5からの夫々の指示を受取り、一方第1オペランド0P
1の小数部最上位桁の値×1と第2オペランド0P2の
小数部最上位桁の値×2とを受取つて、上記第2図また
は第3図に関連して示した対応をとつて信号Al,A2
,A3,Sl,S2,S3のいずれかを生成する。これ
らの信号は、第8図において省略したが各構成回路に対
するゲートを制御するために用いられる。第1オペラン
ド0P1と第2オペランド0P2とが与えられたときの
加減算処理は、第7図図示の遷移図から容易に理解され
る。
例えば#1,#2,#7、FINを通る処理の場合、次
のように処理される。即ち、(16)最初LUCKlに
両オペランド0P1と0P2とがロードされたとき、桁
演算回路2はを判定する。
(17)このときEXPl=EXP2であることから、
レジスタ4にはシフト量はセットされない。
またレジスタ5にも補数はセットされない。(18)L
UCKlは両オペランドをレジスタ3にセットする。
このとき、上記条件式(1)が与えられていることから
、加算器7によつてアクチヤル・サブトラクトが行なわ
れ、その結果バス11を介して再びレジスタ3にセット
される。(19)次いで再び加算器7によつてRECO
MPLEMENT処理を行なつた上で、最終結果を出力
レジスタ10にセットする。以上説明した如く、本発明
によれば、アクチヤル・アンドあるいはアクチヤル・サ
ブトラクトを行なうに先立つて、EXPlとEXP2と
の関係や×1と×2との関係を抽出して、可能な限ぎり
、最短ルートで最終結果を得るようにする。
この結果加減算処理を最も短い場合に3サイクルて済ま
すことができる。なお、上記説明において、領域条件を
抽出するに当つて、例えば托進表示の場合に最上位4ビ
ットを用いるようにしたが、本発明はそれに限られるこ
となく4ビット以上のビット数を用いればよく、好まし
くは4ビット、8ビット、・・の如く4ビットの倍数で
与えられるビット数を用いることができる。
【図面の簡単な説明】
第1図はオペランドのビット構成の一例を示す。

Claims (1)

  1. 【特許請求の範囲】 1 サイン・ビットとR^Nで表現される指数部とR進
    数で表現される小数部とを有するオペランドを加算また
    は減算する演算処理装置において、第1オペランドの指
    数部の内容EXP1および第2オペランドの指数部の内
    容EXP2が供給されて両者内容間の大小関係をチェッ
    クする指数比較回路と、演算命令のオペレーション・コ
    ードおよび第1オペランドのサイン・ビットおよび第2
    オペランドのサイン・ビットが供給されてアクチヤル・
    アツドまたはアクチヤル・サブトラクトのいずれかを判
    定するアクチヤル・アツド又はアクチヤル・サブトラク
    ト検出回路と、上記指数比較回路からの出力および上記
    アクチヤル・アツド又はアクチヤル・サブトラクト検出
    回路からの出力および第1オペランドの小数部の最上位
    log_2Rビット以上の桁の値×1および第2オペラ
    ンドの小数部の最上位log_2Rビット以上の桁の値
    ×2が供給されて演算処理装置内制御信号出力を生成す
    る桁演算回路ユニットとを少なくとも有する桁演算回路
    をもうけてなり、当該桁演算回路が、上記第1オペラン
    ドと上記第2オペランドとをアクチヤル・アツドまたは
    アクチヤル・サブトラクトが行なわれる際に、桁シフト
    処理あるいは正規化処理あるいは補数化処理を必要とす
    る態様と必要としない態様と必要とするか否か不定の態
    様とのいずれかを、上記アクチヤル・アツドまたはアク
    チヤル・サブトラクトを実行する前に決定し、該アクチ
    ヤル・アツドまたはアクチヤル・サブトラクト処理の演
    算処理態様を変更せしめる上記制御信号出力を発するよ
    うにしたことを特徴とする高速演算処理方式。 2 上記演算処理態様は、上記指数部の内容EXP1と
    EXP2とにもとづいて、修飾されることを特徴とする
    特許請求の範囲第1項記載の高速演算処理方式。 3 上記最上位log_2Rビット以上の桁は、log
    _2Rビットの倍数で与えられるビットをもつて抽出さ
    れることを特徴とする特許請求の範囲第1項または第2
    項記載の高速演算処理方式。
JP53068063A 1978-06-06 1978-06-06 高速演算処理方式 Expired JPS6051728B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP53068063A JPS6051728B2 (ja) 1978-06-06 1978-06-06 高速演算処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP53068063A JPS6051728B2 (ja) 1978-06-06 1978-06-06 高速演算処理方式

Publications (2)

Publication Number Publication Date
JPS54158830A JPS54158830A (en) 1979-12-15
JPS6051728B2 true JPS6051728B2 (ja) 1985-11-15

Family

ID=13362941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53068063A Expired JPS6051728B2 (ja) 1978-06-06 1978-06-06 高速演算処理方式

Country Status (1)

Country Link
JP (1) JPS6051728B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6225389U (ja) * 1985-07-30 1987-02-16

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56105539A (en) * 1980-01-28 1981-08-22 Kokusai Denshin Denwa Co Ltd <Kdd> Adder of pcm signal
JPS595346A (ja) * 1982-06-30 1984-01-12 Fujitsu Ltd 演算制御方式
JPS6312025A (ja) * 1987-02-06 1988-01-19 Hitachi Ltd 加減算装置
JPS62187933A (ja) * 1987-02-06 1987-08-17 Hitachi Ltd 加減算装置
JPS6353138U (ja) * 1987-09-02 1988-04-09
JPS63171842U (ja) * 1988-01-20 1988-11-08

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6225389U (ja) * 1985-07-30 1987-02-16

Also Published As

Publication number Publication date
JPS54158830A (en) 1979-12-15

Similar Documents

Publication Publication Date Title
JP3076046B2 (ja) 例外検出回路
US5469377A (en) Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1
AU628969B2 (en) Pipelined floating point adder for digital computer
KR0169264B1 (ko) 연산장치와 연산방법
US5136536A (en) Floating-point ALU with parallel paths
US5016210A (en) Binary division of signed operands
EP0328619B1 (en) Apparatus and method for using a single carry chain for leading one detection and for &#39;&#39;sticky&#39;&#39; bit calculation
US4594680A (en) Apparatus for performing quadratic convergence division in a large data processing system
US4811272A (en) Apparatus and method for an extended arithmetic logic unit for expediting selected floating point operations
US5903486A (en) Device for digitally carrying out a division operation
JPS6051728B2 (ja) 高速演算処理方式
US4800516A (en) High speed floating-point unit
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
US6571264B1 (en) Floating-point arithmetic device
US4099248A (en) One&#39;s complement subtractive arithmetic unit utilizing two&#39;s complement arithmetic circuits
Vassiliadis et al. Brief communication Condition code predictor for fixed-point arithmetic units
US7003540B2 (en) Floating point multiplier for delimited operands
JPS62128331A (ja) 情報処理装置
EP0704793B1 (en) Method and circuit to compare the sum of two numbers to a third number
JP2663287B2 (ja) データプロセッサの条件を明確に評価する方法及び装置
JPH0383126A (ja) 浮動小数点乗算器
JP2801472B2 (ja) 浮動小数点演算装置
KR100198783B1 (ko) 직렬처리 나눗셈기의 구동 방법
JPS61294582A (ja) 演算装置
JPH0413734B2 (ja)