JPS5994143A - 除算回路 - Google Patents
除算回路Info
- Publication number
- JPS5994143A JPS5994143A JP57202944A JP20294482A JPS5994143A JP S5994143 A JPS5994143 A JP S5994143A JP 57202944 A JP57202944 A JP 57202944A JP 20294482 A JP20294482 A JP 20294482A JP S5994143 A JPS5994143 A JP S5994143A
- Authority
- JP
- Japan
- Prior art keywords
- register
- divisor
- word length
- adder
- division
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/535—Dividing only
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はデジタル式データ処理装置に係如、1語長のデ
ータ処理と倍語長のデータ処理との両機能を有する除算
回路に関する。
ータ処理と倍語長のデータ処理との両機能を有する除算
回路に関する。
一般に除算命令には、固定小数点除算を指定する命令と
、浮動小数点除算を指定する命令とがある。前者には、
被除数が倍語長で除数および商が1語長で、1語長の余
りを求めるものが多い。これに対し後者は、被除数、除
数、商共に倍語長のもの(倍精度)と、1梧長のもの(
単精V)とがあり、余りは求めないものが一般的である
。
、浮動小数点除算を指定する命令とがある。前者には、
被除数が倍語長で除数および商が1語長で、1語長の余
りを求めるものが多い。これに対し後者は、被除数、除
数、商共に倍語長のもの(倍精度)と、1梧長のもの(
単精V)とがあり、余りは求めないものが一般的である
。
固定小数点と浮動小数点の除算は基本的なアルゴリズム
においては一致している。しかし通常、固定小数点除算
では、データの負数は2の補数表現のため(浮動小数点
データは、符号付絶対値表現)、また余シを求めるため
に、浮動小数点除算より特にデータの前後処理が複雑で
ある。このように固定小数点と浮動小数点の除算に処理
上の差があるため、従来技術では固定小数点用と浮動小
数点用のそれぞれ専用の除算回路を設けるのが一般的で
あった。この場合、高速性という点でに問題ないが、ハ
ード量が多くなる欠点があった。これに対し、1つの除
算回路で兼用する技術もあるが、固定小数点除算の前後
処理を逐次的に行なわせる必要があるため高速性に乏し
かった。
においては一致している。しかし通常、固定小数点除算
では、データの負数は2の補数表現のため(浮動小数点
データは、符号付絶対値表現)、また余シを求めるため
に、浮動小数点除算より特にデータの前後処理が複雑で
ある。このように固定小数点と浮動小数点の除算に処理
上の差があるため、従来技術では固定小数点用と浮動小
数点用のそれぞれ専用の除算回路を設けるのが一般的で
あった。この場合、高速性という点でに問題ないが、ハ
ード量が多くなる欠点があった。これに対し、1つの除
算回路で兼用する技術もあるが、固定小数点除算の前後
処理を逐次的に行なわせる必要があるため高速性に乏し
かった。
本発明は上記事情に鑑みてなされたものでその目的は、
1語長のデータ処理と倍語長のデータ処理とに共用でき
、かつ固定小数点除算など1語長の商を求める際の前後
処理の並列処理化が図れ、もって少ないハード睦で高速
除算が行なえる除算回路を提供することにある。
1語長のデータ処理と倍語長のデータ処理とに共用でき
、かつ固定小数点除算など1語長の商を求める際の前後
処理の並列処理化が図れ、もって少ないハード睦で高速
除算が行なえる除算回路を提供することにある。
本発明は1語長の類似の除算回路を2回路設け、2語長
のデータを処理する場合には、−万の除算回路内の加算
器のキャリー出力を他方の除算回路内の加算器のキャリ
ー人力とすることによって上記2つの除算回路を連結し
、1組の除算回路として動作させる一刀、1語長のデー
タを処理する場合には上記各回路を独立に動作させるこ
とにより除算の前後処理を並列処理さ喰るようにしたも
のである。
のデータを処理する場合には、−万の除算回路内の加算
器のキャリー出力を他方の除算回路内の加算器のキャリ
ー人力とすることによって上記2つの除算回路を連結し
、1組の除算回路として動作させる一刀、1語長のデー
タを処理する場合には上記各回路を独立に動作させるこ
とにより除算の前後処理を並列処理さ喰るようにしたも
のである。
以下、本発明の一実施例を図面を参照して説明する。第
1図は除算師」路の構成を示すものである。図中、1は
1梧長のデータを処理する第1除算回路、2も1語長の
データを処理する第2除算回路、3はこれら除算回路1
.2を制御するファームウェアを有する制御部である。
1図は除算師」路の構成を示すものである。図中、1は
1梧長のデータを処理する第1除算回路、2も1語長の
データを処理する第2除算回路、3はこれら除算回路1
.2を制御するファームウェアを有する制御部である。
本実施例において第1図の除算回路における除算アルゴ
リズムは基数−4とした高基数除算方式であり、商は1
サイクル2ビツトずつ求めていく方式である。
リズムは基数−4とした高基数除算方式であり、商は1
サイクル2ビツトずつ求めていく方式である。
第1図の除算回路で癲用されるデータのフォーマットは
第2図および第3図で示される通りである。第2図は1
語長(例えば32ビツト)の固定小数点データDのデー
タフォーマットを示すものである。第3図に倍語長(倍
精度)の浮動小数点データのデータフォーマットを示す
ものである。図中8は符号部(1ビツト)、Xは指数部
(7ビツ))、Ml、Mjは仮数部(56ビツト)のそ
れぞれ上位部分(24ビツト)、下位部分(32ビツト
)である。この仮数部は16進14桁の絶対値表現で示
された正規化された値である。
第2図および第3図で示される通りである。第2図は1
語長(例えば32ビツト)の固定小数点データDのデー
タフォーマットを示すものである。第3図に倍語長(倍
精度)の浮動小数点データのデータフォーマットを示す
ものである。図中8は符号部(1ビツト)、Xは指数部
(7ビツ))、Ml、Mjは仮数部(56ビツト)のそ
れぞれ上位部分(24ビツト)、下位部分(32ビツト
)である。この仮数部は16進14桁の絶対値表現で示
された正規化された値である。
再び第1図を参照すると、除算回路1,2において10
.20は部分剰余が格納されるURレジスタ、[4レジ
スタ、11.21d商が格納されるUQレジスタ、LQ
レジスタである。
.20は部分剰余が格納されるURレジスタ、[4レジ
スタ、11.21d商が格納されるUQレジスタ、LQ
レジスタである。
シ゛。
これらUQし寧スタ1)およびLQレジスタ21は左2
ビツトシフト機能を有する。12゜22は除数が格納さ
れるUVレジスタ、LVレジスタ、13.23は除数の
2倍値が格納されるUVレジスタ、LMレジスタである
。14゜24i64ビツトの入力をO〜31の任意数シ
フト(左並びに右シフト)するU8シフタ、LSシフタ
、15,25f”i数種の演算モードを有するU人前算
器、LA加算器である。16゜26はゼロ検出を行なう
UZゼロ検出回路、LZゼロ検出回路である。UZゼロ
検出回路26に指数部(X)に対応するビットをマスク
する機節およびt′8000 00001a” (添
字の16は16進表現を示す)の値(すなわち固定小数
点における負の最大値)を検出する機能を本官している
。17はLVレジスタ22に格納される除数の上位11
ビツトが保持されるLVOレジスタ、18はUVレジス
タ12に格納される除数の上位数ビットが保持されるU
VOレジスタである。1911−を倍数および演算モー
ドを予測するMO予測回路である。このMO予測回路1
9tr1部分剰余の上位数ビットとUVOレジスタ18
の保持内容とを比較し、次に実行すべ哲除数の倍数(X
O,XI、X2)と、演算モード(加算、減算)とを決
定するようになっている。27はLVレジスタ22内の
除数の最上位ピッ)(MSB)から連続するO(ゼロ)
の数をカウントするLGZ検出回路、28はSELセレ
クタである。SELセレクタ28は加算機り人25のキ
ャリー出力OIJまたは制御部3から供給されるキャリ
ー人力OIjのいずれか一万を選択する。SELセレク
タ28の選択出力は加算器UA75のキャリー人力UC
IIとなる。なお、加算器り人25のキャリー人力LO
Iは制御部3から供給される。
ビツトシフト機能を有する。12゜22は除数が格納さ
れるUVレジスタ、LVレジスタ、13.23は除数の
2倍値が格納されるUVレジスタ、LMレジスタである
。14゜24i64ビツトの入力をO〜31の任意数シ
フト(左並びに右シフト)するU8シフタ、LSシフタ
、15,25f”i数種の演算モードを有するU人前算
器、LA加算器である。16゜26はゼロ検出を行なう
UZゼロ検出回路、LZゼロ検出回路である。UZゼロ
検出回路26に指数部(X)に対応するビットをマスク
する機節およびt′8000 00001a” (添
字の16は16進表現を示す)の値(すなわち固定小数
点における負の最大値)を検出する機能を本官している
。17はLVレジスタ22に格納される除数の上位11
ビツトが保持されるLVOレジスタ、18はUVレジス
タ12に格納される除数の上位数ビットが保持されるU
VOレジスタである。1911−を倍数および演算モー
ドを予測するMO予測回路である。このMO予測回路1
9tr1部分剰余の上位数ビットとUVOレジスタ18
の保持内容とを比較し、次に実行すべ哲除数の倍数(X
O,XI、X2)と、演算モード(加算、減算)とを決
定するようになっている。27はLVレジスタ22内の
除数の最上位ピッ)(MSB)から連続するO(ゼロ)
の数をカウントするLGZ検出回路、28はSELセレ
クタである。SELセレクタ28は加算機り人25のキ
ャリー出力OIJまたは制御部3から供給されるキャリ
ー人力OIjのいずれか一万を選択する。SELセレク
タ28の選択出力は加算器UA75のキャリー人力UC
IIとなる。なお、加算器り人25のキャリー人力LO
Iは制御部3から供給される。
次に本発明の一実施例の動作について、まず被除数が6
4ビツトで、除数、商、剰余が共に32ビツトの場合の
固定小数点除算を例にとって説明する。ここで便宜的に
制御部3の制御による内部シーケンスを6ステート”で
表わすことにする。まず第1ステートの始まりにおいて
被除数の上位32ピツ)RuがURレジスタ10、LR
レジスタ2oおよびUQレジスタ11、LQレジスタ2
1に人バス経由で置数される。同じく除数りがUVレジ
スタ12、LVレジスタ22にBバス経由で置数される
。続いて、L Vレジスタ22の内容(除数D)はLA
加算器25を経由し、LZゼロ検出回路26およびLG
Z検出回路27に導かれる。しかして■JZゼロ検出回
路26は除数−〇または除数−t18000 0000
.、” の検出を行ない、その検出結果を保持する。ま
たLGZ検出回路27は除数の最上位ピッi−(M2R
)から連続する0(ゼロ)の数をシフ)t−ffiNと
して検出し、その検出結果を保持する。
4ビツトで、除数、商、剰余が共に32ビツトの場合の
固定小数点除算を例にとって説明する。ここで便宜的に
制御部3の制御による内部シーケンスを6ステート”で
表わすことにする。まず第1ステートの始まりにおいて
被除数の上位32ピツ)RuがURレジスタ10、LR
レジスタ2oおよびUQレジスタ11、LQレジスタ2
1に人バス経由で置数される。同じく除数りがUVレジ
スタ12、LVレジスタ22にBバス経由で置数される
。続いて、L Vレジスタ22の内容(除数D)はLA
加算器25を経由し、LZゼロ検出回路26およびLG
Z検出回路27に導かれる。しかして■JZゼロ検出回
路26は除数−〇または除数−t18000 0000
.、” の検出を行ない、その検出結果を保持する。ま
たLGZ検出回路27は除数の最上位ピッi−(M2R
)から連続する0(ゼロ)の数をシフ)t−ffiNと
して検出し、その検出結果を保持する。
第2ステートで[UVレジスタ12の内容(除数D)が
U8シフタ14VCより左シフトされる。この左シフト
はLGZ検出回路27がら得られるシフト数Nに従って
行なわれる。これにより、除数りはその小数点の位置が
Bit Oの左側になるように正規化きれる。U8シフ
タ14のシフト結果(D′ )はUVレジスタ12に置
数され、その上位数ピッ)[UVOレジスタ18に置数
される。すなわち第2ステートにおいては、第1除算回
路1を用いて固定小数点の除数りを浮動小数点に変換し
、かつ%くID1く1となるように除数りを正規化する
処理が行なわれる。また、第2ステートの始めで、被除
数の下位32ピツ)RI!が人バス経由でUl’Lレジ
スタ10およびLQレジスタ21に置数される。そして
、上述した第1除算回路1での除数りの正規化処理と同
時に、第2除算回路2においてLA加算器25によりL
Rレジスタ20の内容(Ru)とLVレジスタ22の内
容(D)とからl Ru I < l D I のチ
ェックが行なわれる。
U8シフタ14VCより左シフトされる。この左シフト
はLGZ検出回路27がら得られるシフト数Nに従って
行なわれる。これにより、除数りはその小数点の位置が
Bit Oの左側になるように正規化きれる。U8シフ
タ14のシフト結果(D′ )はUVレジスタ12に置
数され、その上位数ピッ)[UVOレジスタ18に置数
される。すなわち第2ステートにおいては、第1除算回
路1を用いて固定小数点の除数りを浮動小数点に変換し
、かつ%くID1く1となるように除数りを正規化する
処理が行なわれる。また、第2ステートの始めで、被除
数の下位32ピツ)RI!が人バス経由でUl’Lレジ
スタ10およびLQレジスタ21に置数される。そして
、上述した第1除算回路1での除数りの正規化処理と同
時に、第2除算回路2においてLA加算器25によりL
Rレジスタ20の内容(Ru)とLVレジスタ22の内
容(D)とからl Ru I < l D I のチ
ェックが行なわれる。
もしlRu1>IDIならば演算結果はオーバフローと
なる。このように第2ステートでは、第1除算回路1で
除数りの正規化が行なわれ、これと並行して第2除算回
路1でオーバフローの検出が行なわれる。
なる。このように第2ステートでは、第1除算回路1で
除数りの正規化が行なわれ、これと並行して第2除算回
路1でオーバフローの検出が行なわれる。
第3ステートでは、UQレジスター1の内容(被除数R
u)とUKレジスターoの内容(被除数Rt>とがシフ
ト数Nに従ってUSシック14により左シフトされる。
u)とUKレジスターoの内容(被除数Rt>とがシフ
ト数Nに従ってUSシック14により左シフトされる。
また、L Qレジスタ21の内容(被除数’at)がシ
フト数Nに従ってL8シフタ24によシ左シフトされる
。そして、U8シフタ14のシフト結果(’Ru’)U
URUVレジスタ12数され、L8シフタ24のシフト
結果(FLl!’ )はLRレジスタ2oに置数される
。これが被除数の正規化処理である。
フト数Nに従ってL8シフタ24によシ左シフトされる
。そして、U8シフタ14のシフト結果(’Ru’)U
URUVレジスタ12数され、L8シフタ24のシフト
結果(FLl!’ )はLRレジスタ2oに置数される
。これが被除数の正規化処理である。
また、UZゼロ検出回路16およびLZゼロ検出回路2
6により被除数の負の最大値の検出が行なわれる。もし
、前記第1ステートで除数が負の最大値であることが検
出されており、被除数も負の最大値であれば、オーバフ
ローの処理が必要となる。
6により被除数の負の最大値の検出が行なわれる。もし
、前記第1ステートで除数が負の最大値であることが検
出されており、被除数も負の最大値であれば、オーバフ
ローの処理が必要となる。
第4ステートでに、第5ステートで行なわれる部分剰余
と商を求めるサイクルの最初の倍数(×0)を設定する
と共に、UVレジスタ12の除数D′を2倍(左1ビツ
トシフト)する処理が行なわれる。この除数D′の2倍
値はUVレジスタ13に置数される。
と商を求めるサイクルの最初の倍数(×0)を設定する
と共に、UVレジスタ12の除数D′を2倍(左1ビツ
トシフト)する処理が行なわれる。この除数D′の2倍
値はUVレジスタ13に置数される。
以上の第1〜第4ステートが固定小数点除算の前処理で
ある。
ある。
第5ステートでは、MO予測回路19の判断に従って、
所定の回数の演算を行ない、部分剰余と商を求める処理
が行なわれる。ここで演算とは、部分剰余Rmが置数さ
れるURレジスタ10に対し、予測された倍数に従って
UVレジスタ12の内容(D’)%或いはUVレジスタ
13の内容(2XD’) を減算または加算を施すこ
とである。×0倍が予測された場合には、0 U入船算器15はスルー(Through )モードに
設定される。とれによりURレジスタ10の内容はその
ままUA加算器15から出力される。
所定の回数の演算を行ない、部分剰余と商を求める処理
が行なわれる。ここで演算とは、部分剰余Rmが置数さ
れるURレジスタ10に対し、予測された倍数に従って
UVレジスタ12の内容(D’)%或いはUVレジスタ
13の内容(2XD’) を減算または加算を施すこ
とである。×0倍が予測された場合には、0 U入船算器15はスルー(Through )モードに
設定される。とれによりURレジスタ10の内容はその
ままUA加算器15から出力される。
このU入船算器15の出力は、左2ビツトシフトされ、
UKレジスタ10に置数される。このとき、LRレジス
タ20の上位2ビツトが図示せぬデータラインを介して
IJRレジスタ10の下位2ビツトに入る。商に演算モ
ードと、倍数と、演算結果との関係から2ビツトずつ求
められ、LQレジスタ21の最下位ビット(LSB)か
ら順にシフトインされる。
UKレジスタ10に置数される。このとき、LRレジス
タ20の上位2ビツトが図示せぬデータラインを介して
IJRレジスタ10の下位2ビツトに入る。商に演算モ
ードと、倍数と、演算結果との関係から2ビツトずつ求
められ、LQレジスタ21の最下位ビット(LSB)か
ら順にシフトインされる。
第6ステートでは基本的に第5ステートと同様の処理が
行なわれる。ただし、UA加算器15の出力にシフトさ
れずU几しジスタ10に置数される。また、商に最後の
2ビツトが求められ、LQレジスタ21にシフトインさ
れる。
行なわれる。ただし、UA加算器15の出力にシフトさ
れずU几しジスタ10に置数される。また、商に最後の
2ビツトが求められ、LQレジスタ21にシフトインさ
れる。
同時に最後の部分剰余のゼロ検出がUZゼロ検出回路1
6で行なわれる。
6で行なわれる。
第7ステートでは、U入船算器15により剰余の補正が
行なわれ、これと並行してLA加算1 器25により商の補正が行なわれる。このとき、上記第
6ステートで検出されたゼロ検出の条件が使用され乙。
行なわれ、これと並行してLA加算1 器25により商の補正が行なわれる。このとき、上記第
6ステートで検出されたゼロ検出の条件が使用され乙。
上記剰余の補正はURレジスタ10の出力にUVレジス
タ12の出力をUA加算器15で加算し、その結果をU
Rレジスタ10に再格納することにより行なわれる。々
お、剰余−0であれば補正はない。また、商の補正にL
Qレジスタ2J格納されている商に「1−1を加算する
ことにより行なわれる。なお、商の補正も女い場合があ
る。上記「1」の加算はLA加算器25で行なわれ、そ
の結果(すなわち補正後の商)はデスティネーションバ
スとしてのSバスへ送出される。
タ12の出力をUA加算器15で加算し、その結果をU
Rレジスタ10に再格納することにより行なわれる。々
お、剰余−0であれば補正はない。また、商の補正にL
Qレジスタ2J格納されている商に「1−1を加算する
ことにより行なわれる。なお、商の補正も女い場合があ
る。上記「1」の加算はLA加算器25で行なわれ、そ
の結果(すなわち補正後の商)はデスティネーションバ
スとしてのSバスへ送出される。
第8ステートでは、補正の終了した剰余(URレジスタ
10の内容)がUSシフタ14により右にNビットシフ
トされる。これにより上記剰余は固定小数点表現に戻さ
れる。この剰余(USシフタ14の出力)はSバスへ送
出される。
10の内容)がUSシフタ14により右にNビットシフ
トされる。これにより上記剰余は固定小数点表現に戻さ
れる。この剰余(USシフタ14の出力)はSバスへ送
出される。
以上の第7および第8ステートが固定小数点2
除算の後処理である。第8ステートの完了によって全て
の処理が終了する。なお、除数−〇の場合や、負の最大
値によるオーバフローまたは1被除数1〉1除数!によ
るオーバフローが検出された場合には、割込み等のエラ
ー処理が起動される。
の処理が終了する。なお、除数−〇の場合や、負の最大
値によるオーバフローまたは1被除数1〉1除数!によ
るオーバフローが検出された場合には、割込み等のエラ
ー処理が起動される。
次に64ビツトの倍精度(倍語長)浮動小数点除算の動
作を説明する。まず第1ステートの始めで、被除数の上
位32ピツ)RuがURレジスタ10.UQレジスタ1
1およびLRレジスタ20.LQレジスタ21に置数さ
れる。また除数の上位32ピツ)DuがUVレジスタ1
2、LVレジスタ22に置数される。続いて、LVレジ
スタ22の内容(除数Du)がL入船算器25を介して
LGZ検出回路27に導かれる。しかしてLGZ検出回
路22はシフト数Nを検出し、それを保持する。この場
合、指数部Xおよび符号Sの部分を予めO(ゼロ)と見
なしてシフト数Nが求められる。
作を説明する。まず第1ステートの始めで、被除数の上
位32ピツ)RuがURレジスタ10.UQレジスタ1
1およびLRレジスタ20.LQレジスタ21に置数さ
れる。また除数の上位32ピツ)DuがUVレジスタ1
2、LVレジスタ22に置数される。続いて、LVレジ
スタ22の内容(除数Du)がL入船算器25を介して
LGZ検出回路27に導かれる。しかしてLGZ検出回
路22はシフト数Nを検出し、それを保持する。この場
合、指数部Xおよび符号Sの部分を予めO(ゼロ)と見
なしてシフト数Nが求められる。
第2ステートでは、まず被除数の下位32ピ3
ット1’LI!がUQレジスタIJ%LRレジスタ20
に置数される。同時に除数のF位32ピッ)DI!がL
Vレジスタ22VC置数される。次に。
に置数される。同時に除数のF位32ピッ)DI!がL
Vレジスタ22VC置数される。次に。
仮数部のみUA加算器15およびLA加算器25で減算
され、(被除数の仮数部)り(除数の仮数部)のチェッ
クが行なわれる。
され、(被除数の仮数部)り(除数の仮数部)のチェッ
クが行なわれる。
第3ステートでUUSシフタ14およびL8シフタ24
により、除数がシフト数Nだけ左シフトされる。USシ
フタ14のシフト結果(Du’)ij、UVレジスタ1
2に置数され、L8シフタ24のシフト結果(D!”)
ULVレジスタ22に置数される。このとき、(LVレ
ジスタ22の上位11ビツトを置数する)LVOレジス
タ17の内容もU8シフタ14に導かれてシフトされ、
一部またに全ビットがUVレジスタ12の下位位置に置
数される。以上の動作と並行して、UZゼロ検出回路J
6およびLZゼロ検出回路26により除数の仮数部−〇
の検出が行なわれる。また、もし第2ステートで被除数
の仮数部が除数のそれより大きいことが検出4 されていれば、LGZ検出回路27におけ乙シフト数N
から4を減じた値が新たなNとして旧シフト数に置き換
えられる。
により、除数がシフト数Nだけ左シフトされる。USシ
フタ14のシフト結果(Du’)ij、UVレジスタ1
2に置数され、L8シフタ24のシフト結果(D!”)
ULVレジスタ22に置数される。このとき、(LVレ
ジスタ22の上位11ビツトを置数する)LVOレジス
タ17の内容もU8シフタ14に導かれてシフトされ、
一部またに全ビットがUVレジスタ12の下位位置に置
数される。以上の動作と並行して、UZゼロ検出回路J
6およびLZゼロ検出回路26により除数の仮数部−〇
の検出が行なわれる。また、もし第2ステートで被除数
の仮数部が除数のそれより大きいことが検出4 されていれば、LGZ検出回路27におけ乙シフト数N
から4を減じた値が新たなNとして旧シフト数に置き換
えられる。
第4ステートでは、被除数の左シフトが行なわれる。す
なわちURレジスタ1oの内容(被除数Ru)とUQレ
ジスタ11の内容(被除数R1りとがUSシフタ14に
導かれ、シフト数Nに従って左シフトされる。また、L
Rレジスタ20の内容(被除数at>がL8シフタ24
に導かれ、シフト数Nに従って左シフトされる。
なわちURレジスタ1oの内容(被除数Ru)とUQレ
ジスタ11の内容(被除数R1りとがUSシフタ14に
導かれ、シフト数Nに従って左シフトされる。また、L
Rレジスタ20の内容(被除数at>がL8シフタ24
に導かれ、シフト数Nに従って左シフトされる。
そして、USシフタ14のシフト結果(Ru’)はUR
レジスタ10に置数され、L8シフタ24のシフト結果
(RI!’)はLPLL/ジスタ2゜に置数される。
レジスタ10に置数され、L8シフタ24のシフト結果
(RI!’)はLPLL/ジスタ2゜に置数される。
第5ステートでは、固定小数点の場合の第4ステートと
同様の処理が行なわれる。但し、ここでは%LVレジス
タ22の除数DI!P を2倍(左1ビツトシフト)
した値(2XDJ’)をT、 Mレジスタ23に置数す
る処理も行なわれる。
同様の処理が行なわれる。但し、ここでは%LVレジス
タ22の除数DI!P を2倍(左1ビツトシフト)
した値(2XDJ’)をT、 Mレジスタ23に置数す
る処理も行なわれる。
このとき、LVレジスタ22の上位1ビツトは5
図示せぬデータラインを介しUMレジスタ13の下位1
ピツトに入力されゐ。
ピツトに入力されゐ。
第6ステートでは、固定小数点の場合の第5ステートと
同様の処理が行なわれる、但し、今変は、0人加算器1
5とLA加算器25とが次に述べるように連結され、6
4ビツトの加算器として動作す乙。すなわち本実施例の
除算回路にはUA加算器15と5人加算器との連結/切
り離しを行かうSELセレクタ28が設けられている。
同様の処理が行なわれる、但し、今変は、0人加算器1
5とLA加算器25とが次に述べるように連結され、6
4ビツトの加算器として動作す乙。すなわち本実施例の
除算回路にはUA加算器15と5人加算器との連結/切
り離しを行かうSELセレクタ28が設けられている。
この8FtLセレクタ28の一方の入力端子にdLk2
5のキャリー出力OIJが入力され、他方の入力端子に
は制御部3から出力されるキャリー人力012が入力さ
れるようになっている。SELセレクタ28は前述した
固定小数点除算や単精度(1語長)浮動小数点除算の場
合、制御部3からの指示により当該制御部3からのキャ
リー人力012を選択する。これによりキャリー人力O
I2がUA加算器15のキャリー人力UOIとなシ、U
A加算器15とLA加算器25とが切り離される。これ
に対し、6 倍精囲(倍語長)浮動小数点除算の場合、 SELセレ
クタ28はL入船算器25からのキャリー出力OIJを
UA加算器15のキャリー人力UOIとして選択出力す
る。これによりUA加算器15とL入船算器25とがキ
ャリーで接続される。したがって、LRレジスタ20.
LVレジスタ22.LMレジスタ23の内容も予測演算
モードおよび倍数に従ってLA加算器25により演算が
施され、左2ビツトシフトされ、LRL/ジスタ20に
置数される。LRレジスタ20の下位2ビツトにaIt
o”が入力され、URレジスタ10の下位2ビツトにU
L人加算器25の出力の上位2ビツトが(図示せぬデー
タラインを介して)入力される。また、商はLQレジス
タ21に2ビツトずつシフトインされ、あふれた分はU
Qレジスタ11にシフトインされる。
5のキャリー出力OIJが入力され、他方の入力端子に
は制御部3から出力されるキャリー人力012が入力さ
れるようになっている。SELセレクタ28は前述した
固定小数点除算や単精度(1語長)浮動小数点除算の場
合、制御部3からの指示により当該制御部3からのキャ
リー人力012を選択する。これによりキャリー人力O
I2がUA加算器15のキャリー人力UOIとなシ、U
A加算器15とLA加算器25とが切り離される。これ
に対し、6 倍精囲(倍語長)浮動小数点除算の場合、 SELセレ
クタ28はL入船算器25からのキャリー出力OIJを
UA加算器15のキャリー人力UOIとして選択出力す
る。これによりUA加算器15とL入船算器25とがキ
ャリーで接続される。したがって、LRレジスタ20.
LVレジスタ22.LMレジスタ23の内容も予測演算
モードおよび倍数に従ってLA加算器25により演算が
施され、左2ビツトシフトされ、LRL/ジスタ20に
置数される。LRレジスタ20の下位2ビツトにaIt
o”が入力され、URレジスタ10の下位2ビツトにU
L人加算器25の出力の上位2ビツトが(図示せぬデー
タラインを介して)入力される。また、商はLQレジス
タ21に2ビツトずつシフトインされ、あふれた分はU
Qレジスタ11にシフトインされる。
第7ステートでは、丸めビットを求めるために更にもう
一度上述した第6ステートと同様の演算が行なわれる。
一度上述した第6ステートと同様の演算が行なわれる。
但し、演算結果のURレジ7
スタ10、LRレジスタ2oへの格納、およびUQレジ
スタ11、LQレジスタ21への商の格納はない。
スタ11、LQレジスタ21への商の格納はない。
第8ステートでは、UQレジスタ11、LQレジスタ2
ノの商に対し、第7ステートで求められた丸めビットを
UA加算器15.L入船算器25により加える処理が行
なわれる。そして、L入船算器25の加算結果である下
位32ビツトが8バスへ送出される。−万、UA加算器
15の加算結果である上位32ピツ)H再びUQレジス
タ11に置数される。このときUZゼロ検出回路16、
LZゼロ検出回路26により商がtlO”であることが
検出されると、指数部および符号のクリアが行なわれる
。
ノの商に対し、第7ステートで求められた丸めビットを
UA加算器15.L入船算器25により加える処理が行
なわれる。そして、L入船算器25の加算結果である下
位32ビツトが8バスへ送出される。−万、UA加算器
15の加算結果である上位32ピツ)H再びUQレジス
タ11に置数される。このときUZゼロ検出回路16、
LZゼロ検出回路26により商がtlO”であることが
検出されると、指数部および符号のクリアが行なわれる
。
第9ステートでは、UQレジスタ11に置数畜れている
上位24ビツトの商と指数部および符号を合わせ、0人
加算器15を経由してSバスへ送出する処理が行なわれ
る。これにより全ての処理が終了する。但し、指数部の
演算においてオーバフローやアンダフローが検出された
8 場合、或いは第3ステートで除数−〇が検出された場合
にはエラー処理が行なわれる。
上位24ビツトの商と指数部および符号を合わせ、0人
加算器15を経由してSバスへ送出する処理が行なわれ
る。これにより全ての処理が終了する。但し、指数部の
演算においてオーバフローやアンダフローが検出された
8 場合、或いは第3ステートで除数−〇が検出された場合
にはエラー処理が行なわれる。
このように本実施例によれば、1語長のデータを処理す
る第1除算回路1と、類似の機能を有する第2除算回路
2とを組合わせることにより1倍精度(倍語長)の浮動
小数点除算が行なえる一万、これら2つの除算回路1.
2を独立に動作させることにより固定/]\数点除算に
おいては以下に示すように除算の前後処理の並列処理が
行なえる。すなわち被除数や除数の正規化と同様にオー
バフローの検出が行なえ、また商の補正と同時に剰余の
補正などが行なえる。これにより、前後処理に要するス
テップを短縮することができる。ところで、上述の動作
説明でに、単精度(1語長)の浮動小数点除算について
の説明が省略されているが、この場合にも前後処理のい
くつかを並列処理させることができることは勿論である
。
る第1除算回路1と、類似の機能を有する第2除算回路
2とを組合わせることにより1倍精度(倍語長)の浮動
小数点除算が行なえる一万、これら2つの除算回路1.
2を独立に動作させることにより固定/]\数点除算に
おいては以下に示すように除算の前後処理の並列処理が
行なえる。すなわち被除数や除数の正規化と同様にオー
バフローの検出が行なえ、また商の補正と同時に剰余の
補正などが行なえる。これにより、前後処理に要するス
テップを短縮することができる。ところで、上述の動作
説明でに、単精度(1語長)の浮動小数点除算について
の説明が省略されているが、この場合にも前後処理のい
くつかを並列処理させることができることは勿論である
。
なお、前記冥施例では、高基数除算方式の除算回路につ
いて説明したが、商を1ビツトずつ9 求める方式にも適用することができる。
いて説明したが、商を1ビツトずつ9 求める方式にも適用することができる。
以上詳述したように本発明によれば、1語長のデータ処
理と倍語長のデータ処理とに共用でき、しかも1語長の
商を求める際の前後処理の並列処理が行なえる。したが
って本発明によれば少ないハード量で高速除算を行なう
ことができる。
理と倍語長のデータ処理とに共用でき、しかも1語長の
商を求める際の前後処理の並列処理が行なえる。したが
って本発明によれば少ないハード量で高速除算を行なう
ことができる。
第1図は本発明の除算回路の一実施例を示すブロック構
成図、第2図および第3図に上記実施例で適用されるデ
ータフォーマットを示す図であり、第2図は1語長の固
定小数点データ、第3図は倍精度の浮動小数点データの
場合である。 1・・・第1除算回路、2・・・第2除算回路、3・・
・制御部、14.24・・・シ7り、15.25・・・
加算器、28・・・セレクタ。 出願人代理人 弁理士 鈴 江 武 彦0
成図、第2図および第3図に上記実施例で適用されるデ
ータフォーマットを示す図であり、第2図は1語長の固
定小数点データ、第3図は倍精度の浮動小数点データの
場合である。 1・・・第1除算回路、2・・・第2除算回路、3・・
・制御部、14.24・・・シ7り、15.25・・・
加算器、28・・・セレクタ。 出願人代理人 弁理士 鈴 江 武 彦0
Claims (1)
- 第1加算器を備えた1語長の第1除算回路と、第2加算
器を備えた1語長の第2除算回路と、1語長の商を求め
る場合に上記第1除算回路により被除数および除数の正
規化と部分剰余の生成と剰余の補正とを行なうと共に上
記第2除算回路によりオーバフローの検出と商の補正と
を行なう手段と、倍語長の商を求める場合に上記第2加
算器のキャリー出方を上記第1加算器のとを特徴とする
除算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57202944A JPS5994143A (ja) | 1982-11-19 | 1982-11-19 | 除算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57202944A JPS5994143A (ja) | 1982-11-19 | 1982-11-19 | 除算回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5994143A true JPS5994143A (ja) | 1984-05-30 |
| JPH0413734B2 JPH0413734B2 (ja) | 1992-03-10 |
Family
ID=16465743
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57202944A Granted JPS5994143A (ja) | 1982-11-19 | 1982-11-19 | 除算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5994143A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03269588A (ja) * | 1990-03-20 | 1991-12-02 | Yamaha Corp | 電子楽器 |
| JPH04172526A (ja) * | 1990-11-07 | 1992-06-19 | Toshiba Corp | 浮動小数点除算器 |
-
1982
- 1982-11-19 JP JP57202944A patent/JPS5994143A/ja active Granted
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03269588A (ja) * | 1990-03-20 | 1991-12-02 | Yamaha Corp | 電子楽器 |
| JPH04172526A (ja) * | 1990-11-07 | 1992-06-19 | Toshiba Corp | 浮動小数点除算器 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0413734B2 (ja) | 1992-03-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3110288B2 (ja) | 指数対数変換回路 | |
| US5452241A (en) | System for optimizing argument reduction | |
| US20040128331A1 (en) | Data processing apparatus and method for converting a number between fixed-point and floating-point representations | |
| JP3178746B2 (ja) | 浮動小数点数のためのフォーマット変換装置 | |
| US5931895A (en) | Floating-point arithmetic processing apparatus | |
| JPH0145649B2 (ja) | ||
| JPS61237133A (ja) | 演算回路 | |
| JPH0250492B2 (ja) | ||
| JPH10500513A (ja) | ディジタル除算実行装置 | |
| JPS5994143A (ja) | 除算回路 | |
| US4823300A (en) | Performing binary multiplication using minimal path algorithm | |
| JPH01302425A (ja) | 浮動小数点加減算回路 | |
| US5754458A (en) | Trailing bit anticipator | |
| GB2559039B (en) | Leading zero anticipation | |
| JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
| JPH0283728A (ja) | 浮動小数点乗算装置 | |
| JPS62128331A (ja) | 情報処理装置 | |
| JP3137131B2 (ja) | 浮動小数点乗算器及び乗算方法 | |
| JPS61224036A (ja) | 演算装置 | |
| JPS63158626A (ja) | 演算処理装置 | |
| JPH0216632A (ja) | 固定小数点数−浮動小数点数変換回路 | |
| JPH0778724B2 (ja) | 除算器 | |
| JPH05204606A (ja) | 浮動小数点演算方式および装置 | |
| JPS62168228A (ja) | 浮動小数点積和演算器 | |
| JPH01233520A (ja) | 高基数非回復型除算装置 |