JP2931632B2 - 桁移動装置及び浮動小数点演算装置 - Google Patents
桁移動装置及び浮動小数点演算装置Info
- Publication number
- JP2931632B2 JP2931632B2 JP2135660A JP13566090A JP2931632B2 JP 2931632 B2 JP2931632 B2 JP 2931632B2 JP 2135660 A JP2135660 A JP 2135660A JP 13566090 A JP13566090 A JP 13566090A JP 2931632 B2 JP2931632 B2 JP 2931632B2
- Authority
- JP
- Japan
- Prior art keywords
- exponent
- adder
- mantissa
- bit
- output
- 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 - Fee Related
Links
Description
【発明の詳細な説明】 [概要] 各種コンピュータシステムに搭載されている浮動小数
点演算装置における桁移動装置にに関し、 加減算器から出力されるシフト値に基づいてバレルシ
フタにより行われる数値の桁移動動作の遅延時間を小さ
くし、より高速に桁移動を行えることを目的とし、 被演算数と演算数との差を求め、その差を二進数のシ
フト値として出力する加減算器と、二進数の数値を入力
するとともに、前記加減算器より出力されるシフト値の
各ビット又は連続した複数のビット列を入力し、そのビ
ット又はビット列の重みに対応したビット数分だけ前記
入力した二進数の数値をシフトして出力可能な複数のマ
ルチプレクサからなり、これら複数のマルチプレクサを
直列に接続したバレルシフタとで構成される桁移動装置
において、前記バレルシフタを構成する複数のマルチプ
レクサを、前記加減算器の出力のうち下位側のビット又
はビット列が入力されるマルチプレクサほど前段に設け
た。
点演算装置における桁移動装置にに関し、 加減算器から出力されるシフト値に基づいてバレルシ
フタにより行われる数値の桁移動動作の遅延時間を小さ
くし、より高速に桁移動を行えることを目的とし、 被演算数と演算数との差を求め、その差を二進数のシ
フト値として出力する加減算器と、二進数の数値を入力
するとともに、前記加減算器より出力されるシフト値の
各ビット又は連続した複数のビット列を入力し、そのビ
ット又はビット列の重みに対応したビット数分だけ前記
入力した二進数の数値をシフトして出力可能な複数のマ
ルチプレクサからなり、これら複数のマルチプレクサを
直列に接続したバレルシフタとで構成される桁移動装置
において、前記バレルシフタを構成する複数のマルチプ
レクサを、前記加減算器の出力のうち下位側のビット又
はビット列が入力されるマルチプレクサほど前段に設け
た。
[産業上の利用分野] 本発明は、各種コンピュータシステムに搭載されてい
る浮動小数点演算装置及び同装置における桁移動装置に
関するものである。
る浮動小数点演算装置及び同装置における桁移動装置に
関するものである。
近年のコンピュータシステムの高速化に対する要求に
伴い、浮動小数点演算装置の高速化の要求は強い。浮動
小数点の演算処理には、指数合わせによる仮数の桁移動
動作が不可欠であり、指数の減算動作の後に行われるバ
レルシフタの動作を高速化することにより、浮動小数点
演算の高速化が図れる。
伴い、浮動小数点演算装置の高速化の要求は強い。浮動
小数点の演算処理には、指数合わせによる仮数の桁移動
動作が不可欠であり、指数の減算動作の後に行われるバ
レルシフタの動作を高速化することにより、浮動小数点
演算の高速化が図れる。
[従来の技術] 従来の浮動小数点演算装置を第7図に示す。この浮動
小数点演算装置では、例えば被演算数Fa2eaと演算数Fb2
ebを加減算する場合、指数加減算器1にてnビットより
なる指数eaと指数ebを減算し、その指数差(=eb−ea)
をシフト値としてn本の出力線を介して指数セレクタ2,
仮数セレクタ3,バレルシフタ4及び浮動小数点正規化器
6に出力する。指数セレクタ2は指数eaと指数ebを入力
し前記指数差に基づいて指数の大きい方(ea>ebとす
る)を選択する。
小数点演算装置では、例えば被演算数Fa2eaと演算数Fb2
ebを加減算する場合、指数加減算器1にてnビットより
なる指数eaと指数ebを減算し、その指数差(=eb−ea)
をシフト値としてn本の出力線を介して指数セレクタ2,
仮数セレクタ3,バレルシフタ4及び浮動小数点正規化器
6に出力する。指数セレクタ2は指数eaと指数ebを入力
し前記指数差に基づいて指数の大きい方(ea>ebとす
る)を選択する。
一方、仮数セレクタ3はl(≫n)ビットよりなる仮
数Faと仮数Fbを入力し、前記指数差に基づいて小さい指
数を持つ仮数(この場合、Fb)をバレルシフタ4に、大
きい指数を持つ仮数(この場合、Fa)を仮数加減算器5
に出力する。バレルシフタ4は仮数Fbを前記指数差(=
eb−ea)だけシフトして等値化し仮数加減算器5に出力
する。仮数加減算器5は等値化された仮数Fa,Fbを加減
算fa(=Fa±Fb2Z(eb-ea)=Fa2-ec)する。そして、指
数セレクタ2で選択した指数eaと、仮数加減算器5から
の仮数faは浮動小数点正規化器6に出力されて正規化さ
れ、指数erと仮数Frとして出力される。
数Faと仮数Fbを入力し、前記指数差に基づいて小さい指
数を持つ仮数(この場合、Fb)をバレルシフタ4に、大
きい指数を持つ仮数(この場合、Fa)を仮数加減算器5
に出力する。バレルシフタ4は仮数Fbを前記指数差(=
eb−ea)だけシフトして等値化し仮数加減算器5に出力
する。仮数加減算器5は等値化された仮数Fa,Fbを加減
算fa(=Fa±Fb2Z(eb-ea)=Fa2-ec)する。そして、指
数セレクタ2で選択した指数eaと、仮数加減算器5から
の仮数faは浮動小数点正規化器6に出力されて正規化さ
れ、指数erと仮数Frとして出力される。
この浮動小数点演算装置に用いられているバレルシフ
タ4は、第8図に示すように前記指数加減算器1のn本
の出力線に対応して設けられたn個のマルチプレクサMP
0〜MPn−1からなり、各マルチプレクサMP0〜MPn−1は
回路設計が容易な順に規則性なく形成され、直列に接続
されている。そして、各マルチプレクサMP0〜MPn−1は
それぞれlビットよりなる数値を入力するとともに、前
記指数加減算器1のシフト値の対応する各ビットを入力
し、入力した数値をそのビットの重みに対応したビット
数分だけシフトして次段のマルチプレクサに出力可能に
なっている。例えば、マルチプレクサMP0はシフト値の
ビット0が「0」の場合にはシフトなしとし、ビット0
が「1」の場合には入力した数値を1ビット分だけシフ
トさせる。又、マルチプレクサMPn−1はビットn−1
が「0」の場合にはシフトなしとし、ビットn−1が
「1」の場合には入力した数値を2n-1ビット分だけシフ
トさせる。
タ4は、第8図に示すように前記指数加減算器1のn本
の出力線に対応して設けられたn個のマルチプレクサMP
0〜MPn−1からなり、各マルチプレクサMP0〜MPn−1は
回路設計が容易な順に規則性なく形成され、直列に接続
されている。そして、各マルチプレクサMP0〜MPn−1は
それぞれlビットよりなる数値を入力するとともに、前
記指数加減算器1のシフト値の対応する各ビットを入力
し、入力した数値をそのビットの重みに対応したビット
数分だけシフトして次段のマルチプレクサに出力可能に
なっている。例えば、マルチプレクサMP0はシフト値の
ビット0が「0」の場合にはシフトなしとし、ビット0
が「1」の場合には入力した数値を1ビット分だけシフ
トさせる。又、マルチプレクサMPn−1はビットn−1
が「0」の場合にはシフトなしとし、ビットn−1が
「1」の場合には入力した数値を2n-1ビット分だけシフ
トさせる。
[発明が解決しようとする課題] しかしながら、前記指数加減算器1のシフト値の各ビ
ットの値は、下位ビットから上位ビットへのキャリー出
力があるため、下位ビットほど遅延時間が小さく上位ビ
ットほど遅延時間が大きくなる。従って、バレルシフタ
4の各マルチプレクサMP0〜MPn−1が第8図に示すよう
に降順に設けられている場合には、第9図に示すように
指数加減算器1の最上位ビットの値が確定した後、最前
段マルチプレクサから順に出力が確定し、それに伴って
順次、次段のマルチプレクサの出力が確定することとな
る。このため、バレルシフタ4の出力が確定する遅延時
間t0は、指数加減算器1の最上位ビットの値が確定する
のに要する遅延時間と、バレルシフタ4の最前段マルチ
プレクサMPn−1から最終段マルチプレクサMP0までの遅
延時間の和となり、処理速度が遅くなるという問題点が
あった。
ットの値は、下位ビットから上位ビットへのキャリー出
力があるため、下位ビットほど遅延時間が小さく上位ビ
ットほど遅延時間が大きくなる。従って、バレルシフタ
4の各マルチプレクサMP0〜MPn−1が第8図に示すよう
に降順に設けられている場合には、第9図に示すように
指数加減算器1の最上位ビットの値が確定した後、最前
段マルチプレクサから順に出力が確定し、それに伴って
順次、次段のマルチプレクサの出力が確定することとな
る。このため、バレルシフタ4の出力が確定する遅延時
間t0は、指数加減算器1の最上位ビットの値が確定する
のに要する遅延時間と、バレルシフタ4の最前段マルチ
プレクサMPn−1から最終段マルチプレクサMP0までの遅
延時間の和となり、処理速度が遅くなるという問題点が
あった。
本発明は上記問題点を解決するためになされたもので
あって、その目的は加減算器から出力されるシフト値に
基づいてバレルシフタにより行われる数値の桁移動動作
の遅延時間を小さくし、より高速に桁移動を行うことが
できる桁移動装置を提供することにある。
あって、その目的は加減算器から出力されるシフト値に
基づいてバレルシフタにより行われる数値の桁移動動作
の遅延時間を小さくし、より高速に桁移動を行うことが
できる桁移動装置を提供することにある。
又、上記従来の浮動小数点演算装置において仮数加減
算器5に入力される両仮数を求めるまでの処理として、
まず指数加減算器1により指数差を求め、次にその指数
差に応じて仮数セレクタ3により指数が大きい方の仮数
はそのまま仮数加減算器5に出力し、指数が小さい方の
仮数を選択してバレルシフタ4に出力してシフトさせる
ようになっているので、仮数加減算器5に入力される両
仮数が確定するまでの遅延時間が遅くなり、浮動小数点
演算の高速化を図る上で問題であった。
算器5に入力される両仮数を求めるまでの処理として、
まず指数加減算器1により指数差を求め、次にその指数
差に応じて仮数セレクタ3により指数が大きい方の仮数
はそのまま仮数加減算器5に出力し、指数が小さい方の
仮数を選択してバレルシフタ4に出力してシフトさせる
ようになっているので、仮数加減算器5に入力される両
仮数が確定するまでの遅延時間が遅くなり、浮動小数点
演算の高速化を図る上で問題であった。
本発明は上記問題点を解決するためになされたもので
あって、その目的は仮数加減算器に入力される前までの
仮数の演算処理速度を上げ装置全体として演算処理の高
速化を図ることができる浮動小数点演算装置を提供する
ことにある。
あって、その目的は仮数加減算器に入力される前までの
仮数の演算処理速度を上げ装置全体として演算処理の高
速化を図ることができる浮動小数点演算装置を提供する
ことにある。
[課題を解決するための手段] 第1図に本発明の桁移動装置を示す。
加減算器1は被演算数と演算数との差を求め、その差
を二進数のシフト値として出力する。
を二進数のシフト値として出力する。
バレルシフタ11は、二進数の数値を入力するととも
に、前記加減算器1より出力されるシフト値の各ビット
又は連続した複数のビット列を入力し、そのビット又は
ビット列の重みに対応したビット数分だけ前記入力した
二進数の数値をシフトして出力可能な複数のマルチプレ
クサMP0〜MPn−1からなる。そして、これら複数のマル
チプレクサMP0〜MPn−1は前記加減算器1の出力のうち
下位側のビット又はビット列が入力されるマルチプレク
サほど前段となるように直列に接続されている。
に、前記加減算器1より出力されるシフト値の各ビット
又は連続した複数のビット列を入力し、そのビット又は
ビット列の重みに対応したビット数分だけ前記入力した
二進数の数値をシフトして出力可能な複数のマルチプレ
クサMP0〜MPn−1からなる。そして、これら複数のマル
チプレクサMP0〜MPn−1は前記加減算器1の出力のうち
下位側のビット又はビット列が入力されるマルチプレク
サほど前段となるように直列に接続されている。
又、第2の発明は第2図に示すように、被演算数と演
算数の両指数の指数差を求め、その差を二進数のシフト
値として出力する指数加減算器1と、前記指数加減算器
1が演算した指数差に基づいて大きい方の指数を選択す
る指数セレクタ2と、被演算数及び演算数の二進数で表
現された各仮数をそれぞれ入力するとともに、前記指数
加減算器1より出力されるシフト値の各ビット又は連続
した複数のビット列を入力し、そのビット又はビット列
の重みに対応したビット数分だけ前記入力した各仮数を
シフトして出力可能な複数のマルチプレクサMP0〜MPn−
1からなり、これら複数のマルチプレクサMP0〜MPn−1
を、前記指数加減算器1の出力のうち下位側のビット又
はビット列が入力されるマルチプレクサほど前段となる
ように直列に接続した第1及び第2のバレルシフタ11,1
2と、前記第1及び第2のバレルシフタ11,12の出力のう
ち、前記指数加減算器1が演算した指数差に基づいて小
さい方の指数に対応する出力を選択する第1の仮数セレ
クタ13と、前記被演算数及び演算数の仮数のうち、前記
指数加減算器1が演算した指数差に基づいて大きい方の
指数に対応する仮数を選択する第2の仮数セレクタ14
と、第1及び第2の仮数セレクタ13,14にて選択された
両仮数の差を求める仮数加減算器5と、前記指数セレク
タ2が選択した指数と前記仮数加減算器5により求めら
れた仮数とに基づいて正規化した指数と仮数を演算する
浮動小数点正規化器6とで構成した。
算数の両指数の指数差を求め、その差を二進数のシフト
値として出力する指数加減算器1と、前記指数加減算器
1が演算した指数差に基づいて大きい方の指数を選択す
る指数セレクタ2と、被演算数及び演算数の二進数で表
現された各仮数をそれぞれ入力するとともに、前記指数
加減算器1より出力されるシフト値の各ビット又は連続
した複数のビット列を入力し、そのビット又はビット列
の重みに対応したビット数分だけ前記入力した各仮数を
シフトして出力可能な複数のマルチプレクサMP0〜MPn−
1からなり、これら複数のマルチプレクサMP0〜MPn−1
を、前記指数加減算器1の出力のうち下位側のビット又
はビット列が入力されるマルチプレクサほど前段となる
ように直列に接続した第1及び第2のバレルシフタ11,1
2と、前記第1及び第2のバレルシフタ11,12の出力のう
ち、前記指数加減算器1が演算した指数差に基づいて小
さい方の指数に対応する出力を選択する第1の仮数セレ
クタ13と、前記被演算数及び演算数の仮数のうち、前記
指数加減算器1が演算した指数差に基づいて大きい方の
指数に対応する仮数を選択する第2の仮数セレクタ14
と、第1及び第2の仮数セレクタ13,14にて選択された
両仮数の差を求める仮数加減算器5と、前記指数セレク
タ2が選択した指数と前記仮数加減算器5により求めら
れた仮数とに基づいて正規化した指数と仮数を演算する
浮動小数点正規化器6とで構成した。
[作用] 本発明の桁移動装置では加減算器1の出力のうち、遅
延時間の小さな下位ビットほどバレルシフタ11の前段の
マルチプレクサに入力されているので、加減算器1のシ
フト値の最上位ビットの出力が確定した時にはバレルシ
フタ11の最終段マルチプレクサの入力信号は確定してお
り、加減算器1の最上位ビットの出力の確定後、バレル
シフタ11の最終段マルチプレクサでの遅延時間を経た後
に出力が確定する。従って、バレルシフタ11の出力が確
定する遅延時間は、加減算器1のシフト値の最上位ビッ
トが確定するのに要する遅延時間と、バレルシフタ11の
最終段マルチプレクサの遅延時間の和となり、処理速度
が向上される。
延時間の小さな下位ビットほどバレルシフタ11の前段の
マルチプレクサに入力されているので、加減算器1のシ
フト値の最上位ビットの出力が確定した時にはバレルシ
フタ11の最終段マルチプレクサの入力信号は確定してお
り、加減算器1の最上位ビットの出力の確定後、バレル
シフタ11の最終段マルチプレクサでの遅延時間を経た後
に出力が確定する。従って、バレルシフタ11の出力が確
定する遅延時間は、加減算器1のシフト値の最上位ビッ
トが確定するのに要する遅延時間と、バレルシフタ11の
最終段マルチプレクサの遅延時間の和となり、処理速度
が向上される。
又、本発明の浮動小数点演算装置では仮数加減算器5
に入力される両仮数を求めるまでの処理として、指数加
減算器1により被演算数及び演算数の両指数から指数差
を求めてシフト値とし、そのシフト値に基づいて第1及
び第2のバレルシフタ11,12により被演算数及び演算数
の各仮数をシフトさせ、それを第1の仮数セレクタ13に
出力して前記シフト値に基づいて小さい方の指数に対応
する出力を選択するようにしたので、バレルシフタ11,1
2の各マルチプレクサMP0〜MPn−1においては前記シフ
ト値の各ビットの出力が確定すればシフト動作が順次行
われ、バレルシフタ11,12の出力が確定する遅延時間は
指数加減算器1のシフト値の最上位ビットが確定するの
に要する遅延時間と、バレルシフタ11,12の最終段マル
チプレクサの遅延時間の和となって遅延時間が短くな
り、浮動小数点演算が高速化される。
に入力される両仮数を求めるまでの処理として、指数加
減算器1により被演算数及び演算数の両指数から指数差
を求めてシフト値とし、そのシフト値に基づいて第1及
び第2のバレルシフタ11,12により被演算数及び演算数
の各仮数をシフトさせ、それを第1の仮数セレクタ13に
出力して前記シフト値に基づいて小さい方の指数に対応
する出力を選択するようにしたので、バレルシフタ11,1
2の各マルチプレクサMP0〜MPn−1においては前記シフ
ト値の各ビットの出力が確定すればシフト動作が順次行
われ、バレルシフタ11,12の出力が確定する遅延時間は
指数加減算器1のシフト値の最上位ビットが確定するの
に要する遅延時間と、バレルシフタ11,12の最終段マル
チプレクサの遅延時間の和となって遅延時間が短くな
り、浮動小数点演算が高速化される。
[実施例] 以下、本発明を浮動小数点演算装置に具体化した一実
施例を第1〜4図に従って説明する。
施例を第1〜4図に従って説明する。
尚、説明の便宜上、第7,8図と同様の構成については
同一の符号を付して説明を一部省略する。
同一の符号を付して説明を一部省略する。
第2図に示すように、本実施例における浮動小数点演
算装置では、一対のバレルシフタ11,12が設けられ、各
バレルシフタ11,12には被演算数Fa2eaと演算数Fb2ebの
各仮数Fa,Fbがそれぞれ入力される。各バレルシフタ11,
12は同一の構成をなし、第1図に示すようにn個のマル
チプレクサMP0〜MPn−1をこの順で直列に接続して構成
されている。各マルチプレクサMP0〜MPn−1はl(≫
n)ビットよりなる数値(仮数)を入力するとともに、
指数加減算器1より出力されるnビットよりなるシフト
値の対応する各ビット0〜ビット(n−1)を入力し、
入力した数値をそのビットの重みに対応したビット数分
だけシフトして出力するようになっている。
算装置では、一対のバレルシフタ11,12が設けられ、各
バレルシフタ11,12には被演算数Fa2eaと演算数Fb2ebの
各仮数Fa,Fbがそれぞれ入力される。各バレルシフタ11,
12は同一の構成をなし、第1図に示すようにn個のマル
チプレクサMP0〜MPn−1をこの順で直列に接続して構成
されている。各マルチプレクサMP0〜MPn−1はl(≫
n)ビットよりなる数値(仮数)を入力するとともに、
指数加減算器1より出力されるnビットよりなるシフト
値の対応する各ビット0〜ビット(n−1)を入力し、
入力した数値をそのビットの重みに対応したビット数分
だけシフトして出力するようになっている。
仮数セレクタ13は前記各バレルシフタ11,12の各出力
(シフトされた各仮数)を入力し、前記指数加減算器1
のシフト値に基づいて小さい方の指数に対応する出力を
選択して仮数加減算器5に出力するようになっている。
又、仮数セレクタ14は前記被演算数Fa2eaと演算数Fb2eb
の各仮数Fa,Fbを入力し、前記指数加減算器1のシフト
値に基づいて大きい方の指数に対応する仮数を選択して
仮数加減算器5に出力するようになっている。
(シフトされた各仮数)を入力し、前記指数加減算器1
のシフト値に基づいて小さい方の指数に対応する出力を
選択して仮数加減算器5に出力するようになっている。
又、仮数セレクタ14は前記被演算数Fa2eaと演算数Fb2eb
の各仮数Fa,Fbを入力し、前記指数加減算器1のシフト
値に基づいて大きい方の指数に対応する仮数を選択して
仮数加減算器5に出力するようになっている。
仮数加減算器5は各仮数セレクタ13,14にて選択され
た両仮数の加減算を行い、その結果faを浮動小数点正規
化器6に出力する。そして、浮動小数点正規化器6は指
数セレクタ2が選択した指数と前記仮数加減算器5によ
り求められた仮数とに基づいて正規化した指数erと仮数
Frを演算して出力する。
た両仮数の加減算を行い、その結果faを浮動小数点正規
化器6に出力する。そして、浮動小数点正規化器6は指
数セレクタ2が選択した指数と前記仮数加減算器5によ
り求められた仮数とに基づいて正規化した指数erと仮数
Frを演算して出力する。
次に前記各マルチプレクサMP0〜MPn−1の構成につい
て説明する。各マルチプレクサMP0〜MPn−1はほぼ同一
の構成であるため、説明の便宜上、マルチプレクサMP1
を第3図に従って説明する。
て説明する。各マルチプレクサMP0〜MPn−1はほぼ同一
の構成であるため、説明の便宜上、マルチプレクサMP1
を第3図に従って説明する。
マルチプレクサMP1はl個のエレメントE0〜El−1よ
りなり、各エレメントE0〜El−1はOR回路15,16と両OR
回路15,16の出力を入力とするAND回路17とからなる。各
AND回路17の出力データ線DO0〜DOl−1は次段マルチプ
レクサ(この場合、MP2)の各入力データ線に接続され
ている。各エレメントE0〜El−1におけるOR回路15の一
方の入力端子には入力データ線DI0〜DIl−1を介してデ
ータが入力され、他方の入力端子には前記指数加減算器
1のビット1のデータが入力されるようになっている。
又、各OR回路16の一方の入力端子にはインバータ18を介
して前記ビット1のデータを反転したデータが入力さ
れ、エレメントE0〜El−3のOR回路16の他方の入力端子
は入力データ線DI2〜DIl−1に接続されてデータが入力
されるようになっている。尚、エレメントEl−2,El−1
のOR回路16の他方の入力端子はアースされて「0」のデ
ータが入力されている。
りなり、各エレメントE0〜El−1はOR回路15,16と両OR
回路15,16の出力を入力とするAND回路17とからなる。各
AND回路17の出力データ線DO0〜DOl−1は次段マルチプ
レクサ(この場合、MP2)の各入力データ線に接続され
ている。各エレメントE0〜El−1におけるOR回路15の一
方の入力端子には入力データ線DI0〜DIl−1を介してデ
ータが入力され、他方の入力端子には前記指数加減算器
1のビット1のデータが入力されるようになっている。
又、各OR回路16の一方の入力端子にはインバータ18を介
して前記ビット1のデータを反転したデータが入力さ
れ、エレメントE0〜El−3のOR回路16の他方の入力端子
は入力データ線DI2〜DIl−1に接続されてデータが入力
されるようになっている。尚、エレメントEl−2,El−1
のOR回路16の他方の入力端子はアースされて「0」のデ
ータが入力されている。
従って、前記指数加減算器1のシフト値のビット1が
「0」の場合には、インバータ18を介して反転されたデ
ータ「1」が各OR回路16に入力されるため、各OR回路16
の出力は「1」となり、各エレメントE0〜El−1の出力
は各OR回路15の出力によって決定される。このとき、各
OR回路15の一方の入力端子にはデータ「0」が入力され
ているため、各OR回路15の出力は各入力データ線DI0〜D
Il−1のデータによって決定されることになる。即ち、
ビット1が「0」の場合には、各エレメントE0〜El−1
の出力データ線DO0〜DOl−1に現れるデータは各入力デ
ータ線DI0〜DIl−1のデータとなり、シフト動作は行わ
れない。
「0」の場合には、インバータ18を介して反転されたデ
ータ「1」が各OR回路16に入力されるため、各OR回路16
の出力は「1」となり、各エレメントE0〜El−1の出力
は各OR回路15の出力によって決定される。このとき、各
OR回路15の一方の入力端子にはデータ「0」が入力され
ているため、各OR回路15の出力は各入力データ線DI0〜D
Il−1のデータによって決定されることになる。即ち、
ビット1が「0」の場合には、各エレメントE0〜El−1
の出力データ線DO0〜DOl−1に現れるデータは各入力デ
ータ線DI0〜DIl−1のデータとなり、シフト動作は行わ
れない。
逆に、前記ビット1が「1」の場合には、各OR回路15
にはデータ「1」が入力されるため、各OR回路15の出力
は「1」となり、各エレメントE0〜El−1の出力は各OR
回路16の出力によって決定される。このとき、各OR回路
16の一方の入力端子にはインバータ18を介して反転され
たデータ「0」が入力されているため、エレメントEl−
2,El−1以外の他のエレメントE0〜El−3の各OR回路16
の出力は各入力データ線DI2〜DIl−1のデータによって
決定されることになる。即ち、ビット1が「1」の場合
には、エレメントEl−2,El−1の出力データ線DOl−2,D
Ol−1に現れるデータは入力データ線DIl−2,DIl−1の
データに関係なく「0」,「0」となり、各エレメント
E0〜El−3の出力データ線DO0〜DOl−3に現れるデータ
は各入力データ線DI2〜DIl−1のデータとなり、2ビッ
ト分だけシフトされることになる。
にはデータ「1」が入力されるため、各OR回路15の出力
は「1」となり、各エレメントE0〜El−1の出力は各OR
回路16の出力によって決定される。このとき、各OR回路
16の一方の入力端子にはインバータ18を介して反転され
たデータ「0」が入力されているため、エレメントEl−
2,El−1以外の他のエレメントE0〜El−3の各OR回路16
の出力は各入力データ線DI2〜DIl−1のデータによって
決定されることになる。即ち、ビット1が「1」の場合
には、エレメントEl−2,El−1の出力データ線DOl−2,D
Ol−1に現れるデータは入力データ線DIl−2,DIl−1の
データに関係なく「0」,「0」となり、各エレメント
E0〜El−3の出力データ線DO0〜DOl−3に現れるデータ
は各入力データ線DI2〜DIl−1のデータとなり、2ビッ
ト分だけシフトされることになる。
尚、他のマルチプレクサMP0,MP2〜MPn−1も前記マル
チプレクサMP1と同様にl個のエレメントE0〜El−1で
構成され、各エレメントE0〜El−1のOR回路16の一方の
入力端子が前記指数加減算器1のシフト値の各ビットの
重みに対応したビット数分だけ上位側の入力データ線に
接続されている点において異なっており、これにより、
各ビットが「1」の場合には入力した数値をそのビット
の重みに対応したビット数分だけシフトさせる。例え
ば、マルチプレクサMPiではシフト値のビットiが
「1」である場合に、入力した数値を2iビット分だけシ
フトさせる。
チプレクサMP1と同様にl個のエレメントE0〜El−1で
構成され、各エレメントE0〜El−1のOR回路16の一方の
入力端子が前記指数加減算器1のシフト値の各ビットの
重みに対応したビット数分だけ上位側の入力データ線に
接続されている点において異なっており、これにより、
各ビットが「1」の場合には入力した数値をそのビット
の重みに対応したビット数分だけシフトさせる。例え
ば、マルチプレクサMPiではシフト値のビットiが
「1」である場合に、入力した数値を2iビット分だけシ
フトさせる。
従って、上記のように構成された浮動小数点演算装置
において演算処理を行う場合、第4図に示すように両指
数ea,eb及び仮数F(Fa又はFb)が確定した後、指数加
減算器1から出力されるシフト値の各ビットの出力が順
次確定した時点では、その各ビットに対応するバレルシ
フタ11,12の各マルチプレクサの入力信号は確定する。
即ち、ビットn−1の出力が順次確定した時にはバレル
シフタ11,12の最終段マルチプレクサMPn−1の入力信号
は確定しているため、各バレルシフタ11,12の出力は指
数加減算器1の最上位ビットの出力が確定するのに要す
る遅延時間と、バレルシフタ11の最終段マルチプレクサ
の遅延時間の和t1となり、第9図に示す従来のバレルシ
フタにおける遅延時間t0と比較してシフト処理速度を向
上することができる。
において演算処理を行う場合、第4図に示すように両指
数ea,eb及び仮数F(Fa又はFb)が確定した後、指数加
減算器1から出力されるシフト値の各ビットの出力が順
次確定した時点では、その各ビットに対応するバレルシ
フタ11,12の各マルチプレクサの入力信号は確定する。
即ち、ビットn−1の出力が順次確定した時にはバレル
シフタ11,12の最終段マルチプレクサMPn−1の入力信号
は確定しているため、各バレルシフタ11,12の出力は指
数加減算器1の最上位ビットの出力が確定するのに要す
る遅延時間と、バレルシフタ11の最終段マルチプレクサ
の遅延時間の和t1となり、第9図に示す従来のバレルシ
フタにおける遅延時間t0と比較してシフト処理速度を向
上することができる。
又、本実施例の浮動小数点演算装置では両仮数Fa,Fb
を予めシフトさせた後、仮数セレクタ13により小さい方
の指数に対応する出力を選択して仮数加減算器5に出力
するようにしたので、バレルシフタ11,12の能力を損な
うことなくそのまま活用することができ、浮動小数点演
算を高速化することができる。
を予めシフトさせた後、仮数セレクタ13により小さい方
の指数に対応する出力を選択して仮数加減算器5に出力
するようにしたので、バレルシフタ11,12の能力を損な
うことなくそのまま活用することができ、浮動小数点演
算を高速化することができる。
[別の実施例] 次に別の実施例を第5,6図に従って説明する。
第5図はバレルシフタ20を示し、マルチプレクサMP0
〜MPk(K=n/2;但しnは偶数)をこの順で直列に接続
して構成されている。各マルチプレクサMP0〜MPkは指数
加減算器1より出力されるnビットよりなるシフト値の
各ビットのうち、連続した2ビットよりなるビット列を
入力し、入力した数値をそのビット列の重みに対応した
ビット数分だけシフトして出力できるようになってい
る。例えば、シフト値のビット列がビットi,ビットi+
1である場合には、入力した数値を(2i+2i+1)ビット
分だけシフトできるようになっている。
〜MPk(K=n/2;但しnは偶数)をこの順で直列に接続
して構成されている。各マルチプレクサMP0〜MPkは指数
加減算器1より出力されるnビットよりなるシフト値の
各ビットのうち、連続した2ビットよりなるビット列を
入力し、入力した数値をそのビット列の重みに対応した
ビット数分だけシフトして出力できるようになってい
る。例えば、シフト値のビット列がビットi,ビットi+
1である場合には、入力した数値を(2i+2i+1)ビット
分だけシフトできるようになっている。
次に前記各マルチプレクサMP0〜MPkの構成について説
明するが、各マルチプレクサMP0〜MPkはほぼ同一の構成
であるため、説明の便宜上、マルチプレクサMP0を第6
図に従って説明する。
明するが、各マルチプレクサMP0〜MPkはほぼ同一の構成
であるため、説明の便宜上、マルチプレクサMP0を第6
図に従って説明する。
マルチプレクサMP0は前記バレルシフタ11におけるマ
ルチプレクサと同様にl個のエレメントE0〜El−1と、
前記指数加減算器1のシフト値のビット0及びビット1
を入力する制御回路部21とからなる。制御回路部21は4
つのNAND回路27〜30とインバータ31,32とで構成され、N
AND回路27にはインバータ31,32を介してビット0及びビ
ット1のデータを反転したデータが入力されている。NA
ND回路28にはビット0のデータ及びインバータ32を介し
てビット1のデータを反転したデータが入力され、NAND
回路29にはインバータ31を介してビット0のデータを反
転したデータ及びビット1のデータが入力され、さら
に、NAND回路30にはビット0及びビット1のデータが入
力されている。
ルチプレクサと同様にl個のエレメントE0〜El−1と、
前記指数加減算器1のシフト値のビット0及びビット1
を入力する制御回路部21とからなる。制御回路部21は4
つのNAND回路27〜30とインバータ31,32とで構成され、N
AND回路27にはインバータ31,32を介してビット0及びビ
ット1のデータを反転したデータが入力されている。NA
ND回路28にはビット0のデータ及びインバータ32を介し
てビット1のデータを反転したデータが入力され、NAND
回路29にはインバータ31を介してビット0のデータを反
転したデータ及びビット1のデータが入力され、さら
に、NAND回路30にはビット0及びビット1のデータが入
力されている。
各エレメントE0〜El−1はOR回路22〜25と各OR回路22
〜25の出力を入力とするAND回路26とで構成されてい
る。各エレメントE0〜El−1における各OR回路22〜25の
一方の入力端子にはそれぞれ前記各NAND回路27〜30の出
力信号が入力されている。
〜25の出力を入力とするAND回路26とで構成されてい
る。各エレメントE0〜El−1における各OR回路22〜25の
一方の入力端子にはそれぞれ前記各NAND回路27〜30の出
力信号が入力されている。
各OR回路22の他方の入力端子にはそれぞれ入力データ
線DI0〜DIl−1を介してデータが入力される。各エレメ
ントE0〜El−2のOR回路23の他方の入力端子はそれぞれ
入力データ線DI1〜DIl−1に接続されてデータが入力さ
れるようになっている。各エレメントE0〜El−3のOR回
路24の他方の入力端子はそれぞれ入力データ線DI2〜DIl
−1に接続されてデータが入力されるようになってい
る。さらに、各エレメントE0〜El−4のOR回路25の他方
の入力端子はそれぞれ入力データ線DI3〜DIl−1に接続
されてデータが入力されるようになっている。尚、エレ
メントEl−1のOR回路23〜25、エレメントEl−2のOR回
路24,25、及びエレメントEl−3のOR回路25の他方の入
力端子はアースされて「0」のデータが入力されてい
る。
線DI0〜DIl−1を介してデータが入力される。各エレメ
ントE0〜El−2のOR回路23の他方の入力端子はそれぞれ
入力データ線DI1〜DIl−1に接続されてデータが入力さ
れるようになっている。各エレメントE0〜El−3のOR回
路24の他方の入力端子はそれぞれ入力データ線DI2〜DIl
−1に接続されてデータが入力されるようになってい
る。さらに、各エレメントE0〜El−4のOR回路25の他方
の入力端子はそれぞれ入力データ線DI3〜DIl−1に接続
されてデータが入力されるようになっている。尚、エレ
メントEl−1のOR回路23〜25、エレメントEl−2のOR回
路24,25、及びエレメントEl−3のOR回路25の他方の入
力端子はアースされて「0」のデータが入力されてい
る。
従って、前記指数加減算器1のシフト値のビット0,ビ
ット1が「0」,「0」の場合にはNAND回路27の出力の
みが「0」となるため、各エレメントE0〜El−1の出力
は各OR回路22の出力、即ち、各入力データ線DI0〜DIl−
1のデータによって決定され、シフト動作は行われな
い。
ット1が「0」,「0」の場合にはNAND回路27の出力の
みが「0」となるため、各エレメントE0〜El−1の出力
は各OR回路22の出力、即ち、各入力データ線DI0〜DIl−
1のデータによって決定され、シフト動作は行われな
い。
又、指数加減算器1のシフト値のビット0,ビット1が
「1」,「0」の場合にはNAND回路28の出力のみが
「0」となるため、各エレメントE0〜El−1の出力は各
OR回路23の出力、即ち、各入力データ線DI1〜DIl−1の
データ、及びアースによって決定され、出力データ線DO
0〜DOl−1に現れるデータは1ビット分だけシフトされ
る。さらに、指数加減算器1のシフト値のビット0,ビッ
ト1が「0」,「1」の場合にはNAND回路29の出力のみ
が「0」となるため、各エレメントE0〜El−1の出力は
各OR回路24の出力、即ち、各入力データ線DI2〜DIl−1
のデータ、及びアースによって決定され、出力データ線
DO0〜DOl−1に現れるデータは2ビット分だけシフトさ
れる。そして、指数加減算器1のシフト値のビット0,ビ
ット1が「1」,「1」の場合にはNAND回路30の出力の
みが「0」となるため、各エレメントE0〜El−1の出力
は各OR回路25の出力、即ち、各入力データ線DI3〜DIl−
1のデータ、及びアースによって決定され、出力データ
線DO0〜DOl−1に現れるデータは3ビット分だけシフト
される。
「1」,「0」の場合にはNAND回路28の出力のみが
「0」となるため、各エレメントE0〜El−1の出力は各
OR回路23の出力、即ち、各入力データ線DI1〜DIl−1の
データ、及びアースによって決定され、出力データ線DO
0〜DOl−1に現れるデータは1ビット分だけシフトされ
る。さらに、指数加減算器1のシフト値のビット0,ビッ
ト1が「0」,「1」の場合にはNAND回路29の出力のみ
が「0」となるため、各エレメントE0〜El−1の出力は
各OR回路24の出力、即ち、各入力データ線DI2〜DIl−1
のデータ、及びアースによって決定され、出力データ線
DO0〜DOl−1に現れるデータは2ビット分だけシフトさ
れる。そして、指数加減算器1のシフト値のビット0,ビ
ット1が「1」,「1」の場合にはNAND回路30の出力の
みが「0」となるため、各エレメントE0〜El−1の出力
は各OR回路25の出力、即ち、各入力データ線DI3〜DIl−
1のデータ、及びアースによって決定され、出力データ
線DO0〜DOl−1に現れるデータは3ビット分だけシフト
される。
尚、この例における他のマルチプレクサMP1〜MP Kも
前記マルチプレクサMP0と同様にl個のエレメントE0〜E
l−1で構成され、前記指数加減算器1のシフト値のビ
ット列の重みに対応したビット数分だけシフトできるよ
うに各OR回路23〜25の一方の入力端子が各入力データ線
DI0〜DIl−1に接続されている点において異なってい
る。
前記マルチプレクサMP0と同様にl個のエレメントE0〜E
l−1で構成され、前記指数加減算器1のシフト値のビ
ット列の重みに対応したビット数分だけシフトできるよ
うに各OR回路23〜25の一方の入力端子が各入力データ線
DI0〜DIl−1に接続されている点において異なってい
る。
尚、上記実施例では指数加減算器1のシフト値の各ビ
ットを入力するマルチプレクサで構成したバレルシフタ
11及び連続する2ビットよりなるビット列を入力するマ
ルチプレクサで構成したバレルシフタ20に実施したが、
ビットを入力するマルチプレクサ及びビット列を入力す
るマルチプレクサとを混在させたバレルシフタに実施し
てもよい。
ットを入力するマルチプレクサで構成したバレルシフタ
11及び連続する2ビットよりなるビット列を入力するマ
ルチプレクサで構成したバレルシフタ20に実施したが、
ビットを入力するマルチプレクサ及びビット列を入力す
るマルチプレクサとを混在させたバレルシフタに実施し
てもよい。
[発明の効果] 以上詳述したように、本発明の桁移動装置によれば、
加減算器から出力されるシフト値に基づいてバレルシフ
タにより行われる数値の桁移動動作の遅延時間を小さく
し、より高速に桁移動を行うことができる優れた効果が
ある。
加減算器から出力されるシフト値に基づいてバレルシフ
タにより行われる数値の桁移動動作の遅延時間を小さく
し、より高速に桁移動を行うことができる優れた効果が
ある。
又、本発明の浮動小数点演算装置によれば、仮数加減
算器に入力される前までの仮数の演算処理速度を上げ装
置全体として演算処理の高速化を図ることができる優れ
た効果がある。
算器に入力される前までの仮数の演算処理速度を上げ装
置全体として演算処理の高速化を図ることができる優れ
た効果がある。
第1図は本発明を具体化した一実施例の桁移動装置を示
すブロック図、 第2図は一実施例の浮動小数点演算装置を示す電気ブロ
ック回路図、 第3図はマルチプレクサの一例を示す論理回路図、 第4図は一実施例の作用を示す各波形図、 第5図は別例の桁移動装置を示すブロック図、 第6図はマルチプレクサの別例を示す論理回路図、 第7図は従来の浮動小数点演算装置を示す電気ブロック
回路図、 第8図は従来の桁移動装置を示すブロック図、 第9図は従来例の作用を示す各波形図である。 図中、 1は指数加減算器、 2は指数セレクタ、 5は仮数加減算器、 6は浮動小数点正規化器、 11,12はバレルシフタ、 13は第1の仮数セレクタ、 14は第2の仮数セレクタ、 MP0〜MPn−1はマルチプレクサである。
すブロック図、 第2図は一実施例の浮動小数点演算装置を示す電気ブロ
ック回路図、 第3図はマルチプレクサの一例を示す論理回路図、 第4図は一実施例の作用を示す各波形図、 第5図は別例の桁移動装置を示すブロック図、 第6図はマルチプレクサの別例を示す論理回路図、 第7図は従来の浮動小数点演算装置を示す電気ブロック
回路図、 第8図は従来の桁移動装置を示すブロック図、 第9図は従来例の作用を示す各波形図である。 図中、 1は指数加減算器、 2は指数セレクタ、 5は仮数加減算器、 6は浮動小数点正規化器、 11,12はバレルシフタ、 13は第1の仮数セレクタ、 14は第2の仮数セレクタ、 MP0〜MPn−1はマルチプレクサである。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 7/38 - 7/54 G06F 7/00 G06F 5/01
Claims (2)
- 【請求項1】被演算数と演算数との差を求め、その差を
二進数のシフト値として出力する加減算器(1)と、 二進数の数値を入力するとともに、前記加減算器(1)
より出力されるシフト値の各ビット又は連続した複数の
ビット列を入力し、そのビット又はビット列の重みに対
応したビット数分だけ前記入力した二進数の数値をシフ
トして出力可能な複数のマルチプレクサ(MP0〜MPn−
1)からなり、これら複数のマルチプレクサ(MP0〜MPn
−1)を直列に接続したバレルシフタ(11)と で構成される桁移動装置において、 前記バレルシフタ(11)を構成する複数のマルチプレク
サ(MP0〜MPn−1)を、前記加減算器(1)の出力のう
ち下位側のビット又はビット列が入力されるマルチプレ
クサほど前段に設けたことを特徴とする桁移動装置。 - 【請求項2】被演算数と演算数の両指数の指数差を求
め、その差を二進数のシフト値として出力する指数加減
算器(1)と、 前記指数加減算器(1)が演算した指数差に基づいて大
きい方の指数を選択する指数セレクタ(2)と、 被演算数及び演算数の二進数で表現された各仮数をそれ
ぞれ入力するとともに、前記指数加減算器(1)より出
力されるシフト値の各ビット又は連続した複数のビット
列を入力し、そのビット又はビット列の重みに対応した
ビット数分だけ前記入力した各仮数をシフトして出力可
能な複数のマルチプレクサ(MP0〜MPn−1)からなり、
これら複数のマルチプレクサ(MP0〜MPn−1)を、前記
指数加減算器(1)の出力のうち下位側のビット又はビ
ット列が入力されるマルチプレクサほど前段となるよう
に直列に接続した第1及び第2のバレルシフタ(11,1
2)と、 前記第1及び第2のバレルシフタ(11,12)の出力のう
ち、前記指数加減算器(1)が演算した指数差に基づい
て小さい方の指数に対応する出力を選択する第1の仮数
セレクタ(13)と、 前記被演算数及び演算数の仮数のうち、前記指数加減算
器(1)が演算した指数差に基づいて大きい方の指数に
対応する仮数を選択する第2の仮数セレクタ(14)と、 第1及び第2の仮数セレクタ(13,14)にて選択された
両仮数の差を求める仮数加減算器(5)と、 前記指数セレクタ(2)が選択した指数と前記仮数加減
算器(5)により求められた仮数とに基づいて正規化し
た指数と仮数を演算する浮動小数点正規化器(6)と からなる浮動小数点演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2135660A JP2931632B2 (ja) | 1990-05-25 | 1990-05-25 | 桁移動装置及び浮動小数点演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2135660A JP2931632B2 (ja) | 1990-05-25 | 1990-05-25 | 桁移動装置及び浮動小数点演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0430217A JPH0430217A (ja) | 1992-02-03 |
JP2931632B2 true JP2931632B2 (ja) | 1999-08-09 |
Family
ID=15156965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2135660A Expired - Fee Related JP2931632B2 (ja) | 1990-05-25 | 1990-05-25 | 桁移動装置及び浮動小数点演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2931632B2 (ja) |
-
1990
- 1990-05-25 JP JP2135660A patent/JP2931632B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0430217A (ja) | 1992-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3761977B2 (ja) | 遅延整合技術の利用によりクリティカル・パスを減少させた浮動小数点型掛け算器及びその演算方法 | |
US7395304B2 (en) | Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic | |
US5369607A (en) | Floating-point and fixed-point addition-subtraction assembly | |
EP0158530A2 (en) | Nonrestoring divider | |
JP3436994B2 (ja) | シフト装置 | |
KR100627993B1 (ko) | 3입력 분할 가산기 | |
JPH07234778A (ja) | 演算回路 | |
US4873660A (en) | Arithmetic processor using redundant signed digit arithmetic | |
US4503512A (en) | Cellular division circuit | |
US4823300A (en) | Performing binary multiplication using minimal path algorithm | |
US6269385B1 (en) | Apparatus and method for performing rounding and addition in parallel in floating point multiplier | |
JP2931632B2 (ja) | 桁移動装置及び浮動小数点演算装置 | |
JP3429927B2 (ja) | 浮動小数点演算装置の正規化回路装置 | |
JP2555577B2 (ja) | 演算装置 | |
US4748581A (en) | Digital root extraction circuit | |
EP0442220B1 (en) | Decoder | |
JP3493064B2 (ja) | バレルシフタ | |
JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
JP2856792B2 (ja) | 浮動小数点数演算装置 | |
JP3517162B2 (ja) | 除算・開平演算装置 | |
US5483477A (en) | Multiplying circuit and microcomputer including the same | |
JPH0528407B2 (ja) | ||
KR950015180B1 (ko) | 고속연산형 가산기 | |
JPH0527948A (ja) | 演算装置 | |
JP2821289B2 (ja) | シフト量算出回路および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080521 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090521 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |