JPH0447848B2 - - Google Patents

Info

Publication number
JPH0447848B2
JPH0447848B2 JP58153289A JP15328983A JPH0447848B2 JP H0447848 B2 JPH0447848 B2 JP H0447848B2 JP 58153289 A JP58153289 A JP 58153289A JP 15328983 A JP15328983 A JP 15328983A JP H0447848 B2 JPH0447848 B2 JP H0447848B2
Authority
JP
Japan
Prior art keywords
signal line
data
operand
circuit
arithmetic
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 - Lifetime
Application number
JP58153289A
Other languages
English (en)
Other versions
JPS6045844A (ja
Inventor
Yoshio Takamine
Shunichi Torii
Koichiro Omoda
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 JP58153289A priority Critical patent/JPS6045844A/ja
Publication of JPS6045844A publication Critical patent/JPS6045844A/ja
Publication of JPH0447848B2 publication Critical patent/JPH0447848B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/49905Exception handling

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は演算装置に係り、更に具体的には二重
指数分割に基づく実数値表現法を用いた演算装置
における演算に当り、オペランドが非数である場
合に、それに対して数学的に有意な演算結果を、
高速に応答する装置に関する。
〔発明の背景〕
従来技術において、二重指数分割に基づく実数
値表現法が知られている。
情報処理学会論文誌第22巻第6号の「二重指数
分割に基づくデータ長独立実数値表現法」は、二
進法に基づくデータ処理装置のための実数値表現
法、すなわち二重指数分割に基づく実数値表現法
を提案している。この表現法は、形式がデータの
長さに依存しない。精度変換操作が容易、表現で
きる数の範囲が十分に広い、あふれが事実上発生
しない、等の特長を有す。
情報処理学会論文誌第24巻第2号の「二重指数
分割に基づくデータ長独立実数値表現法」は、
上記実数値表現法を改良し、また非数とその四則
演算を定義している。
第1図を参照しながら、二重指数分割に基づく
改良された実数値表現法を説明する。以下では誤
解を避けるために、2nをexp2(n)と表わす。
実数値表現法の構成を第1図に示す。その表現
法は、符号部11、指数部12、及び係数部13よ
り構成される。指数部12は更に、主指数部121
と副指数部122より構成される。符号部11は1
ビツト固定長であるが、他は可変長である。
さて、表わそうとする数をxとする。これを x=exp2(e)×f …(1) と、2つの数、つまり指数eと仮数fとで表現す
る。ただしeは整数とし、また値を一意に表わす
ために 1≦f<2 または −2≦f<−1 …(2) とする。
まず仮数fが負である場合には「1」、そうで
ない場合には「0」を符号部11とする。
次に、式(2)の制約により、仮数fから符号を除
いた部分の2進数表現は f=1.f1f2…fj… …(3) である。この時「f1f2…fj…」を仮数部13のビ
ツトパタンとする。
また、指数eがその符号も含めて2進m桁(た
だしm≧0、ただし等号はe=0またはe=−1
の時にのみ成立)で表わされる場合の整数eの表
現を次のとおりとする。
x>0,e≧0のとき 1…10en-1…e2e1 x>0,e<0のとき 0…01en-1…e2e1 x<0,e≧0のとき 0…01en-1…e2e1 x<0,e<0のとき 1…10en-1…e2e1 …(4) ここに「en-1…e2e1」は指数eを2進m桁で表
わしたものから、最上位1桁を除いたものであ
る。また、上線「 」は各桁の「1」と「0」と
の反転操作を表わす。また上位桁の「1…1」及
び「0…0」は、指数eがちようど2進m桁で表
わされることを示す。m+1桁の「1」または
「0」の列である。これらの「1」または「0」
のあとに区切りのための「0」または「1」がお
かれる。この時、式(4)における「1…」または
「0…」の列と、区切りのための「0」または
「1」とを主指数部121のビツトパタンとする。
また、残りの「en-1…e2e1」または「n-12 1
を副指数部122のビツトパタンとする。
以上で二重指数分割に基づく実数値表現法の説
明を終わる。
次に第2図を参照しながら二重指数分割に基づ
く実数値表現法による演算の手順を説明する。
例として、加算の手順を第2図に示す。
オペランドが与えられると、まず指数と仮数と
に分離21する。前述のとおり指数部は可変長な
ので、その主指数部のビツトパタンにより指数部
の長さを求め、オペランドをその指数部と仮数部
とに分離する。
以下、オペランドの仮数部同士の加算のために
行なう指数合せ22、仮数部の加算23、式(2)の制
約を満たすための仮数正規化24は、通常の浮動小
数点表現法を用いる加算の手順と同じである。
最後に、二重指数分割に基づく実数値表現法を
用いる加算では、結果の指数部と仮数部とを結合
25する。そのために、まずその指数部により適
当な主指数部のビツトパタンを選び、それに副指
数部を結合し、最後に全体として結果が固定長と
なるように仮数部の長さを決めて、指数部と結合
する。これを結果とする。
他の四則演算についても、指数・仮数の分離2
1と、結合25の操作は同様である。
以上で二重指数分割に基づく実数値表現法によ
る演算手順の説明を終わる。
次に、第3図から第6図までを参照して、本実
数値表現法における非数の表現法と、その四則演
算について説明する。
本実数値表現法では、6種類の非数が定義され
ている。それらを次に示す。
∞(符号無し無限大) −∞(負の無限大) −0(負の無限小) 0(零、または符号無し無限小) +0(正の無限小) +∞(正の無限大) そのビツトパタンを次に示す。
∞:10…00 −∞:10…01 −0:11…11 0:00…00 +0:00…01 +∞:01…11 …(5) これらは、いずれも数値表現の自然な連続とし
て定義されている。
また、非数を含む四則演算の定義を第3図から
第6図までに示す。図中、x1,x2はそれぞれ第
1、第2オペランドの絶対値を、rは非数を考慮
しない演算結果の絶対値を示す。またNSとは、
演算結果に数学的な有意性の無いことを示す。
第3図は加算を定義する。図中31は第1オペ
ランド(被加数)、32は第2オペランド(加数)
を示す。第3図により、例えば「+0」に「+
0」を加えた時には「+0」にならなければなら
ないこと、あるいは「+0」に「−0」を加える
演算は意味が無いことがわかる。
第4図は演算を定義する。図中41は第1オペ
ランド(被減数)、42は第2オペランド(減数)
を示す。
第5図は乗算を定義する。図中51は第1オペ
ランド(被乗数)、52は第2オペランド(乗数)
を示す。
第6図は除算を定義する。図中61は第1オペ
ランド(被除数)、62は第2オペランド(除数)
を示す。
以上で非数の表現法と、その四則演算について
の説明を終わる。
非数を考慮しない従来の演算手順では、演算結
果が、第3図から第6図までの定義どおりに得ら
れるとは限らないため、その場合には演算装置に
オペランドを送る前に、そのオペランドが非数で
ないことをチエツクし、非数である場合にはソフ
トウエアで処理する、あるいは、演算装置からの
割込みにより、例外的にソフトウエアで処理する
ということが必要であつた。このため演算の処理
に時間がかかるという欠点があつた。
〔発明の目的〕 本発明の目的は、二重指数分割に基づく実数値
表現法を用いた演算装置に若干の装置を付加する
ことにより、その演算装置において、少なくとも
一方のオペランドが非数である場合の演算を行な
う際に、ソフトウエアによる処理を削除し、かつ
その際には、演算を行なうまでもなく演算結果が
わかることを利用して演算装置の演算速度を高速
化することにある。
〔発明の概要〕
二重指数分割に基づく実数値表現法の特長の1
つは、いわゆる非数(0,+0,−0,∞,+∞,−
∞)を、通常の数値の表現からの自然な連続とし
て表現できることである。従つて、この表現法を
用いた演算装置では、オペランドが非数である場
合、あるいは演算結果が非数になる場合でも、結
果において数学的な有意性が失われない限り、例
外的処理を用いずに、自然に演算を実行させるこ
とにより、演算を高速化することが要求される。
本発明では、上記の要求に答えるため、非数の
関わる演算を処理する装置を従来の演算装置に付
加する。
命令処理装置からの演算実行指令に際して、従
来からの演算装置による処理と並行して、本発明
の装置は非数のオペランドをいち早く検出する。
非数のオペランドが確認された場合には、従来か
らの演算装置による処理を中止させ、割込み等に
よるソフトウエア処理を必要とせずに、適切な演
算結果を出力する。しかもこの場合には、演算結
果は非数あるいはオペランドのいずれかであり、
演算を実行するまでもないので、通常よりも演算
が早く終了する。
〔発明の実施例〕
以下、本発明の一実施例を第7図から第11図
までを用いて説明する。第7図は命令処理装置と
演算装置とのインターフエースを示している。第
8図は演算装置の構成を示している。第9図、第
10図は演算装置の出力選択回路の動作を示して
いる。第11図は演算装置の主要部分のタイミン
グ図を示している。
タイミング図では説明の都合上基準時刻をt0
定める。更に、単位時間を考え、自然数nに対し
て、基準時刻t0よりn単位時間後の時刻をtoと定
める。
まず、第7図を参照しながら命令処理装置と演
算装置とのインターフエースを説明する。命令処
理装置71が演算装置72に演算実行の要求を出
すには、まずリクエスト信号線711に「1」を
印加する。次に、オーダ信号線713に実行させ
たい演算の種類を、第1オペランド信号線715
に第1オペランドを、第2オペランド信号線71
6に第2オペランドを印加する。演算結果が数学
的に有意性を失わない場合には、まずデータ送出
信号線721に「1」を印加し、次に出力データ
信号線725にその演算結果を印加することによ
り演算装置72に命令処理装置71に応答する。
演算結果が数学的な有意性を失なう場合には割込
み信号線729に「1」を印加することにより演
算装置72は命令処理装置71に応答する。
通常、命令処理装置71から演算装置72への
リクエスト信号線711、及び演算装置72から
命令処理装置71へのデータ送出信号線721、
割込み信号線729は「0」が印加されていなけ
ればならない。
以上で命令処理装置と演算装置とのインターフ
エースの説明を終わる。
次に、第8図から第11図までを参照しなが
ら、本実施例の演算装置の詳細を説明する。
本実施例では、加算のみを行なう演算装置を示
しているが、他の任意の演算、すなわち減算、乗
算、除算等に拡張できることは容易にわかる。ま
た、扱う数値データの長さは特に定めない。任意
の固定長データを扱うことが可能である。
まず、第8図を参照しながら、実施例の演算装
置の構成の概要を説明する。
オーダレジスタ806は実行する演算の種類を
記憶するためのものである。第1オペランドレジ
スタ801及び第2オペランドレジスタ802
は、それぞれ第1オペランド及び第2オペランド
を記憶するためのものである。
通常の加算を行なう部分810は、二重指数分
割に基づく実数値表現法により、第1オペランド
及び第2オペランドが共に非数でない場合に、両
オペランドの数値の和を正しく出力する。
本発明により新しく追加された箇所は、非数を
検出し出力を選択する部分840、非数発生回路
860、及びセレクタ870である。非数を検出
し出力を選択する部分840は、第1オペランド
の非数判定回路841、第2オペランドの非数判
定回路842、及び出力選択回路845より成
る。第1オペランドの非数判定回路841及び第
2オペランドの非数判定回路842は、それぞれ
第1オペランド及び第2オペランドの種類、すな
わち非数か否か、正か負か、非数ならばその種類
が何であるかを調べる。出力選択回路845は、
第1オペランド及び第2オペランドの種類に従つ
て、適当な出力を選択する。非数発生回路860
は、二重指数分割に基づく実数値表現法で定義さ
れる6種類の非数、すなわち+0,0,−0,+
∞,∞,−∞のビツトパタンを発生する。セレク
タ870は、出力選択回路845により、通常の
加算を行なう部分810の出力、第1オペラン
ド、第2オペランド、及び非数発生回路860か
らの6種類の非数より1つを選択し出力する。
演算制御回路890は、演算装置内の各部への
制御信号を発し、演算装置の動作を制御する。
以上で、実施例の演算装置の構成の説明を終わ
る。
次に、第8図から第11図までを参照しなが
ら、実施例の演算装置の動作の詳細を説明する。
初期状態では、命令処理装置からのリクエスト
信号線711、非数を検出し出力を選択する部分
840からのデータ送出信号線849、演算制御
回路からのデータ送出信号線891、及び命令処
理装置へのデータ送出信号線721、割込み信号
線729には「0」が印加されている。更に、第
1オペランドの非数判定回路841からの非数検
出信号線843−1、第2オペランドの非数判定
回路842からの非数検出信号線844−1、及
び非数を検出し出力を選択する部分840からの
非数検出信号線848には「0」が印加されてい
る。また、出力選択回路845からの出力選択信
号846には、通常の加算を行なう部分810の
出力を選択することを示すコード「0」が印加さ
れている。
さて、命令処理装置と演算装置とのインターフ
エースでも説明したように、まず第8図のリクエ
スト信号線711に「1」が印加され、演算実行
の要求が発せられる。この時刻を基準時刻とし、
第11図のようにt0とする。リクエスト信号線7
11上の信号は演算制御回路890に達する。
時刻t0から単位時間後の時刻t1に、命令処理装
置から、第8図のオーダ信号線713には演算の
種類を表わすコードが、第1オペランド信号線7
15と第2オペランド信号線716にはそれぞれ
第1オペランド、第2オペランドの数値データが
二重指数分割に基づく実数値表現法に従つて印加
される。オーダ信号線713はオーダレジスタ8
05に、第1オペランド信号線は第1オペランド
レジスタ801に、第2オペランド信号線は第2
オペランドレジスタ802に達する。
リクエスト信号線711上の演算実行要求の信
号を受けた演算制御回路890は、時刻t2で、オ
ーダレジスタ805、第1オペランドレジスタ8
01、第2オペランドレジスタ802へのラツチ
要求信号を発する。ラツチ要求信号を受けたオー
ダレジスタ805、第1オペランドレジスタ80
1、第2オペランドレジスタ802は、第11図
に示したように時刻t2以後、オーダ信号線71
3、第1オペランド信号715、第2オペランド
信号716上の情報をそれぞれ記憶し、演算装置
内部のオーダ信号線806、第1オペランド信号
線803、第2オペランド信号線804にその情
報を印加する。オーダ信号線806は、非数を検
出し出力を選択する部分840内の出力選択回路
845、及び演算制御回路890に達する。第1
オペランド信号線803は、通常の加算を行なう
部分810内の、第1オペランドの指数部と仮数
部とを分離する回路811、及び非数を検出し出
力を選択する部分840内の、第1オペランドの
非数判定回路841、及びセレクタ870に達す
る。第2オペランド信号線804は、通常の加算
を行なう部分810内の、第2オペランドの指数
部と仮数部とを分離する回路812、及び非数を
検出し出力を選択する部分840内の、第2オペ
ランドの非数判定回路842、及びセレクタ87
0に達する。
これより、オーダ信号線806上の演算の種
類、第1オペランド信号線803及び第2オペラ
ンド信号線804上の第1オペランド、第2オペ
ランドにより、通常の加算を行なう部分810、
及び非数を検出し出力を選択する部分840にお
いて、並行してそれぞれの処理が開始される。
まず、通常の加算を行なう部分810の動作を
説明する。
演算制御回路890は、通常の加算を行なう部
分810に対し、時刻t2で指数部と仮数部との分
離を、時刻t3で指数合わせを行なわせるための制
御信号を発する。時刻t4で、演算制御回路890
は、非数を検出し出力を選択する部分840から
の非数検出信号線848を調べる。非数検出信号
線848上の信号が「0」である場合には、通常
の加算を行なう部分810に引続き処理を行なわ
せるために、時刻t4で仮数部の加算を、時刻t5
仮数部の正規化を、時刻t6で指数部と仮数部との
結合を行なわせるための制御信号を発する。非数
検出信号線848が「0」である場合には、通常の
加算を行なう部分810での処理を中止させ、演算
制御回路890は、以後何の制御信号も発しない。
演算制御回路890はまた、データ送出信号線
891にも信号を印加する。信号線891には通
常「1」が印加されている。前述の通り時刻t4
で、演算制御回路890は、非数を検出し出力を選
択する部分840からの非数検出信号線848を
調べる。非数検出信号線848上の信号が「0」
である場合には、演算制御回路890は時刻t7
に、データ送出信号線891に「1」を印加す
る。信号線891はOR回路895に達し、第11
図に示したように時刻t7に、命令処理装置へのデ
ータ送出信号線721に「1」を印加させる。
通常の加算を行なう部分810は、演算制御回
路890より発せられた制御信号に従つて、まず
第1オペランドの指数部と仮数部とを分離する回
路811及び第2オペランドの指数部と仮数部と
を分離する回路812で、それぞれ第1オペラン
ド信号線803、第2オペランド信号線804上
の数値データを、その指数部と仮数部とに分離
し、第11図に示したように時刻t3に、信号線8
13に第1オペランドの指数部を、信号線814
に第1オペランドの仮数部を、信号線815に第
2オペランドの指数部を、信号線816に第2オ
ペランドの仮数部を印加する。信号線813は第
1オペランドの指数部を増加させる回路817
に、信号線814は第1オペランドの仮数部のシ
フト回路818に、信号線815は第2オペラン
ドの指数部を増加させる回路819に、信号線8
16は第2オペランドの仮数部のシフト回路82
0に達する。
次に、通常の加算を行なう部分810は指数合
せを行なう。信号線813上の第1オペランドの
指数部と、信号線815上の第2オペランドの指
数部とを比較し、その値が大きい方に、もう一方
の値を合わせる。そのために、第1オペランドの
指数部を増加させる回路817が、第2オペラン
ドの指数部を増加させる回路819で、値が少な
い方の指数部を、少ない分だけ増加させる。同時
に、値を増加された方の指数部と対になる仮数部
を、指数部が増加された分だけ2で割る。すなわ
ち、第1オペランドの仮数部のシフト回路818
か、第2オペランドの仮数部のシフト回路820
で、仮数部を右に算術シフトさせる。以上の指数
合せにより、第11図に示したように時刻t4で、
信号線821に一致された指数部が、信号線82
2に第1オペランドの仮数部が、信号線824に
第2オペランドの仮数部が印加される。信号線8
21は仮数部の正規化のために指数部を増加また
は減少させる回路829に、信号線822と信号
線824は仮数部の値を加算する回路826に達
する。
次に仮数部の加算を行なう。加算回路826
は、信号線822上の第1オペランドの仮数部
と、信号線824上の第2オペランドの仮数部と
を固定小数点数として足し合せ、第11図に示し
たように時刻t5に、その結果を信号線828に印
加する。信号線828は、仮数部の正規化のため
のシフト回路830に達する。
次に、仮数部の正規化を行なう。信号線828
上の仮数部の値が、1以上2未満、または−2以
上−1未満になるように、シフト回路830で仮
数部を右または左に算術シフトする。同時に、指
数部を増加または減少させる回路829は、仮数
部が右または左にシフトされるのに合わせて、指
数部を増加または減少させる。以上の仮数部の正
規化により、第11図に示したように時刻t6に、
信号線831に指数部が、信号線832に正規化
された仮数部が印加される。信号線831と信号
線832は、指数部と仮数部とを結合する回路8
33に達する。
次に指数部と仮数部との結合を行なう。指数部
と仮数部との結合を行なう回路833は、信号線
831上の指数部によつて、その指数部の値を二
重指数分割に基づく実数値表現法により表現する
ビツトパタンを生成し、信号線832上の仮数部
を結合して、第11図に示したように時刻t7に、
全体として固定長の演算結果を、通常演算結果信
号線834に印加する。信号線834はセレクタ
870に達する。
以上のように、第11図の時刻t2で開始された
演算は、時刻t7で終了し、通常演算結果信号線8
34上にその演算結果が印加される。
以上で、通常の加算を行なう部分810の動作
の説明を終わる。
次に、非数を含めた演算を実行する動作を説明
する。
演算制御回路890は、時刻t2に、第1オペラ
ンドの非数判定回路841と、第2オペランドの
非数判定回路842とに、オペランドの種類の判
定を行なわせるための制御信号を発する。
オペランドの種類を判定するには、まず定義さ
れた6種類の非数、+0,0,−0,+∞,∞,−∞の
それぞれのビツトパタンと、オペランドのビツト
パタンとを比較する。オペランドのビツトパタン
が、ある非数のビツトパタンに一致した場合に
は、そのオペランドが非数であることがわかる。
また、オペランドが非数でない場合には、そのビツ
トパタンの左端のビツトを調べ、これが「0」な
らば正数、「1」ならば負数であることがわかる。
これらの判定は並行して行なうことができる。
第1オペランドの非数判定回路841は、第1
オペランド信号線803上の数値の種類、すなわ
ち非数か否か、正か負か、及び非数の場合にはそ
の種類を調べ、それぞれに対応して3つの信号を
出力する。時刻t2に、演算制御回路890より発
せられた信号を受け、第1オペランドの非数判定
回路841は、単位時間後の時刻t3に3つの信号
を出力する。すなわち、第1オペランド信号線8
03上のデータが非数である場合には「1」を、
そうでない場合には「0」を、信号線843−1
に印加する。また、第1オペランド信号線803
上のデータが負数である場合には「1」を、そう
でない場合には「0」を、信号線843−2に印
加する。更に、第1オペランド信号線803上の
データが非数である場合には、その種類(+0,
0,−0,+∞,∞,−∞)を表わすコードを信号
線843−3に印加する。信号線843−1は
OR回路847に達する。信号線843−1はま
た、信号線843−2及び信号線843−3とと
もに出力選択回路845に達する。
第2オペランドの非数判定回路842は、第1
オペランドの非数判定回路と同様、第2オペラン
ド信号線804上の数値の種類を調べる。第2オ
ペランドの非数判定回路842は、時刻t2に演算
制御回路890より発せられた信号を受け、単位
時間後の時刻t3に3つの信号を出力する。すなわ
ち、第2オペランド信号線804上のデータが非
数である場合には「1」を、そうでない場合には
「0」を、信号線844−1に印加し、また、デ
ータが負数である場合には「1」を、そうでない
場合には「0」を、信号線844−2に印加し、
更に、データが非数である場合には、その種類
(+0,0,−0,+∞,∞,−∞)を表わすコード
を信号線844−3に印加する。信号線844−
1はOR回路847に達する。信号線844−1
はまた、信号線844−2及び信号線844−3
とともに出力選択回路845に達する。
OR回路847は、信号線843−1及び信号
線844−1上の信号がともに「0」、すなわち
第1オペランド及び第2オペランドがともに非数
でない場合には「0」を、そうでない場合、すな
わち第1オペランドが第2オペランドの少なくと
も一方が非数である場合には「1」を、非数検出
信号線848に印加する。非数検出信号線848
は演算制御回路890に達する。
この時、すなわち時刻t3において、演算制御回路
は、通常の加算を行なう部分810に対し指数合
せを行なわせるための制御信号を発しているが、
非数検出信号線848上の「1」の信号を受け
て、時刻t4以後、演算制御回路890は何の制御信
号も発しなくなる。従つてこの場合、通常の加算
を行なう部分810は演算の実行を中止する。
出力選択回路845は、第1オペランドの非数
判定回路841からの信号線843−1から84
3−3まで、及び第2オペランドの非数判定回路
842からの信号線844−1から844−3ま
で上の信号、すなわち、第1オペランドと第2オ
ペランドの種類に従つて、出力選択信号線846
に出力を選択するためのコードを印加する。信号
線846はセレクタ870に達し、セレクタ87
0が、通常演算結果信号線834、第1オペラン
ド信号線803、第2オペランド信号線804、
及び非数データ信号線861のいずれを選択する
かを指定する。信号線846には、通常、コード
「0」が印加されており、これは通常の加算を行
なう部分810からの通常演算結果信号線834
を選択することを指定する。
出力選択回路845は、第1オペランドが非数
か否かを示す信号線843−1、正数か負数かを
示す信号線843−2、非数ならその種類は何で
あるかを示す信号線843−3、及び第2オペラ
ンドが非数か否かを示す信号線844−1、正数
か負数かを示す信号線844−2、非数ならその
種類は何であるかを示す信号線844−3上のそ
れぞれの信号、すなわち第1オペランドと第2オ
ペランドの種類に従つて、適当な出力を選択する
ためのコードを生成し、第11図に示すように時
刻t4に、出力選択信号線846に送出する。本実
施例における加算についての出力選択の例を第9
図に示す。
第9図では、第1オペランドの種類91、及び
第2オペランドの種類92に従つて、何を出力す
るかを示している。図中、「+X」、「−X」はそ
れぞれ正または負の非数でないオペランドを示
し、「+0」、「0」、「−0」、「+∞」、「∞」、
「−
∞」は非数を示す。また、「R」は通常の加算を
行なう部分810からの通常演算結果信号線83
4を選択することを示し、「OP1」、「OP2」は、
それぞれ第1オペランド信号線803または第2
オペランド信号線804を選択することを示す。
更に「I」は、そのオペランドの組合せによる演
算が、数学的に意味のないことを示す。この場
合、出力選択は行なわない。
出力選択は第9図のかわりに、第10図に示す
ように行なうこともできる。第10図によれば、
後述する非数発生回路860が不要になる。これ
は、加算の場合、結果として非数を出力しなけれ
ばならない場合でも、その非数は第1オペランド
か第2オペランドの少なくとも一方に一致してい
る性質を利用したものである。図中、「OP1/
OP2」は、第1オペランド信号線803か第2オ
ペランド信号線804のいずれかを選択すること
を示す。
出力選択回路845はまた、データ送出信号線
849及び割込み信号線729にも信号を印加す
る。これらには通常「0」が印加されている。第
1オペランド及び第2オペランドの少なくとも一
方が非数であり、演算結果に数学的有意性のある
場合、すなわち第9図あるいは第10図において
「OP1」、「OP2」、「+0」、「0」、「−0」、「+
∞」、「∞」、「−∞」のいずれかを出力として選択
することが示されている場合には、時刻t4に、デ
ータ送出信号線849に「1」を印加する。信号
線849はOR回路895に達し、第11図に示
したように時刻t4に、命令処理装置へのデータ送
出信号線721に「1」を印加させる。また、第
1オペランドと第2オペランドのいずれも非数で
あり、その組合せによる演算結果に数学的有意性
のない場合、すなわち第9図あるいは第10図に
おいて「I」と示されている場合には、時刻t4
に、命令処理装置への割込み信号線729に
「1」を印加する。
非数発生回路860は、内部に6種類の非数、
すなわち+0,0,−0,+∞,∞,−∞のそれぞ
れのビツトパタンを記憶しており、常にこれら6
種類の非数のビツトパタンを、非数データ信号線
861に印加している。信号線861はセレクタ
870に達する。
セレクタ870は、出力選択信号線846上の出
力選択信号によつて、通常の加算を行なう部分8
10からの通常演算結果信号線834、第1オペラ
ンド信号線803、第2オペランド信号線80
4、及び非数発生回路860からの非数データ信
号線861から1つを選択し、そのデータを命令
処理装置への出力データ信号線725に印加す
る。
第1オペランド及び第2オペランドがともに非
数でない場合には、出力選択信号線846には、
通常演算結果信号線834を選択することを意味
するコード「0」が印加され続ける。この場合、
第11図に示したように時刻t7に、通常演算結果
信号線834に加算の結果が印加される。セレク
タ870は、第11図に示したように時刻t8に、
出力データ信号線725に、通常演算結果信号線
834上のデータを印加する。
第1オペランドか第2オペランドの少なくとも
一方が非数でしかも演算結果に数学的有意性のあ
る場合には、第11図に示したように時刻t4に、
出力選択信号線846に、適当なデータを選択す
ることを意味するコードが印加される。セレクタ
870は出力選択信号線846上のコードに従つ
て、第1オペランド信号線803上のデータ、第
2オペランド信号線804上のデータ、又は非数
データ信号線861上の6種類の非数データのう
ちのいずれかを選択し、第11図に示したように
時刻t5に、出力データ信号線725にそのデータ
を印加する。
以上で、本実施例の演算装置の動作の説明を終
わる。
次に、本実施例特有の効果について説明する。
本実施例では、2つのオペランドのうち、少な
くとも一方が非数である場合には、第11図に示
したように時刻t5で演算結果が得られる。従来
は、2つのオペランドのうち少なくとも一方が非
数である場合には、ソフトウエアによる例外的処
理を必要としたため、処理に多くの時間がかかつ
た。更に、本実施例では、2つのオペランドのい
ずれも非数でない場合、演算結果が第11図に示
したように時刻t8に得られるのに比べても、オペ
ランドに非数が含まれる場合は演算結果が早く得
られることがわかる。オペランドに+0,0,−
0が含まれることは多いので、本実施例の演算装
置の平均的な演算実行時間は、従来に比べて相当
に短縮される。
〔発明の効果〕
本発明によれば、オペランドに非数が含まれる
演算において、従来は必ず演算の実行を中断して
ソフトウエアによる例外的処理を必要としていた
のに対し、数学的な有意性が失われない限り、演
算装置内で正しい演算結果が得られる。しかもこ
の場合は、オペランドに非数が含まれない場合に
比べて、複雑なデータ処理が不要になるので、早
く演算結果が得られる。
オペランドに+0,0,−0等の非数が含まれ
ることは多く、本発明による演算装置での平均的
な演算処理時間が短縮される。
【図面の簡単な説明】
第1図は二重指数分割に基づく実数値表現法の
構成図、第2図は二重指数分割に基づく実数値表
現法による加算実行の手順を示す図、第3図は非
数を含む加算を定義する図、第4図は非数を含む
減算を定義する図、第5図は非数を含む乗算を定
義する図、第6図は非数を含む除算を定義する
図、第7図は命令処理装置と演算装置とのインタ
ーフエース説明図、第8図は本発明の実施例のブ
ロツク図、第9図は第8図の出力選択回路845
の動作の一例を示す図、第10図は第9図と同じ
く、第8図の出力選択回路845の動作のもう一
例を示す図、第11図は、第8図の実施例の演算
装置の主要部分の動作を示すタイミング図であ
る。 71……命令処理装置、711……リクエスト
信号線、713……オーダ信号線、715……第
1オペランド信号線、716……第2オペランド
信号線、721……データ送出信号線、725…
…出力データ信号線、729……割込み信号線、
801……第1オペランドレジスタ、802……
第2オペランドレジスタ、810……通常加算回
路、840……非数演算処理回路、841……第
1オペランド非数判定回路、842……第2オペ
ランド非数判定回路、845……出力選択回路、
846……出力選択信号線、848……非数検出
信号線、860……非数発生回路、861……非
数データ信号線、870……セレクタ、890…
…演算制御回路。

Claims (1)

  1. 【特許請求の範囲】 1 二重指数分割に基づく実数値表現法により表
    現された、ともに可変長の指数部と仮数部を有す
    る、命令処理装置により指定された第1、第2の
    データに、その命令処理装置により指定された演
    算を施す装置において、 第1、第2のデータのそれぞれをともに固定長
    の指数部と仮数部を有する第3、第4のデータに
    変換し、変換後のデータに上記指定された演算を
    施し、その演算の結果得られる第5のデータを対
    応するともに可変長の指数部と仮数部を有する第
    6のデータに変換して出力する演算回路であつ
    て、それらの第1、第2のデータの少なくとも一
    方が非数でないとき、所望の演算結果を出力する
    ものと、 第1、第2のデータのそれぞれが、非数である
    か否か、非数であるときには、その種類を、それ
    ぞれのデータを上記第3、第4のデータに変換し
    ないで、それぞれのデータのビツトパターンから
    判定し、それらのデータがともに非数であると
    き、それらの演算結果が非数かを、それらのデー
    タの非数の種類と上記指定された演算から判定す
    る回路であつて、上記演算回路による上記第1、
    第2のデータの処理と並行して動作するものと、 (1)それらのデータの一方が非数でなく他方が非
    数であると判定されたとき、それらのデータの
    内、その非数の種類と上記演算の種類とにより定
    まる非数を上記演算の結果として出力し、(2)それ
    らのデータがともに非数であり、かつ、それらに
    対する上記演算の結果が非数でないとき、そのこ
    とを示す割込み信号を上記命令処理装置に送出
    し、(3)第1、第2のデータがともに非数であり、
    かつ、それらに対する上記演算の結果が非数であ
    るとき、その非数を上記演算の結果として出力
    し、上記判定回路による判定結果に応答する非数
    処理回路とを有する演算装置。
JP58153289A 1983-08-24 1983-08-24 演算装置 Granted JPS6045844A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58153289A JPS6045844A (ja) 1983-08-24 1983-08-24 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58153289A JPS6045844A (ja) 1983-08-24 1983-08-24 演算装置

Publications (2)

Publication Number Publication Date
JPS6045844A JPS6045844A (ja) 1985-03-12
JPH0447848B2 true JPH0447848B2 (ja) 1992-08-05

Family

ID=15559220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58153289A Granted JPS6045844A (ja) 1983-08-24 1983-08-24 演算装置

Country Status (1)

Country Link
JP (1) JPS6045844A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120266B2 (ja) * 1987-09-29 1995-12-20 日本電気株式会社 例外処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置

Also Published As

Publication number Publication date
JPS6045844A (ja) 1985-03-12

Similar Documents

Publication Publication Date Title
US4941120A (en) Floating point normalization and rounding prediction circuit
EP0820005B1 (en) Method and apparatus for computing floating point data
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
JP3313560B2 (ja) 浮動小数点演算処理装置
US6029243A (en) Floating-point processor with operand-format precision greater than execution precision
JPH01302425A (ja) 浮動小数点加減算回路
JPH0447848B2 (ja)
JPH0540605A (ja) 浮動小数点乗算装置
JPH0283728A (ja) 浮動小数点乗算装置
JP2856792B2 (ja) 浮動小数点数演算装置
JPS63158626A (ja) 演算処理装置
JPH0361224B2 (ja)
JPH0383126A (ja) 浮動小数点乗算器
JP3522387B2 (ja) パイプライン演算装置
JPH04132538U (ja) 浮動小数点演算回路
JPH01282633A (ja) 非正規化数の処理方式
JP2801472B2 (ja) 浮動小数点演算装置
JP3124286B2 (ja) 浮動小数点数演算装置
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JPS6149234A (ja) 浮動小数点乗算回路
JPS5960637A (ja) 浮動小数点演算装置
JPH07120265B2 (ja) 2進浮動小数点乗算における丸め処理方式
JPH0552532B2 (ja)
JPH0323937B2 (ja)
JPH05204606A (ja) 浮動小数点演算方式および装置