(57)【要約】【課題】浮動小数点乗算と固定小数点乗算とを同一のハードウェアを用いて行う乗算処理装置の回路規模を縮小する。【解決手段】ｍ＊ｎビット構成の乗算アレイ３は、固定小数点乗算時に、第１のｍビット固定小数点データ（Ｄ１）の全ビットおよび第２のｍビット固定小数点データ（Ｄ２）の下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を出力する。小乗算回路４は、固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する。仮数部加算器８は、乗算アレイ３の出力であるＮ１およびＮ２ならびに小乗算回路４の出力であるＱを入力としてそれらを加算する。【選択図】        図１
2004348215.tif 000002
【特許請求の範囲】
【請求項１】
同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を出力するｍ＊ｎビット構成の乗算アレイと、
固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、
前記乗算アレイの出力であるＮ１およびＮ２ならびに前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、
前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路と
を備えることを特徴とする乗算処理装置。
【請求項２】
同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果である積Ｎを算出し、当該積Ｎを出力するｍ＊ｎビット構成の乗算アレイと、
固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、
前記乗算アレイの出力であるＮおよび前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、
前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路と
を備えることを特徴とする乗算処理装置。
【請求項３】
同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を出力するｍ＊ｎビット構成の乗算アレイと、
固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、
前記乗算アレイの出力であるＮ１およびＮ２ならびに前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、
前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路と
を備えることを特徴とする乗算処理装置。
【請求項４】
同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果である積Ｎを算出し、当該積Ｎを出力するｍ＊ｎビット構成の乗算アレイと、
固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、
前記乗算アレイの出力であるＮおよび前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、
前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路と
を備えることを特徴とする乗算処理装置。
【請求項５】
同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
命令ＯＰに従ってｍビットの入力データＤ１のビット分割を行い、命令ＯＰが浮動小数点乗算を示す場合にはＤ１の最上位１ビットを符号Ｓ１として符号判定回路に送出してＤ１の上位２ビット目からａビット分のビット群を指数部Ｅ１として指数部加算器に送出し、命令ＯＰが固定小数点乗算を示す場合には全ビット０のＳ１を前記符号判定回路に送出して全ビット０のＥ１を前記指数部加算器に送出し、命令ＯＰが浮動小数点乗算を示す場合にはｍ−ｎビット分の０をＦ１として小乗算回路に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ１の下位ｍ−ｎビットをＦ１として前記小乗算回路に送出し、命令ＯＰが浮動小数点乗算を示す場合にはＤ１の下位ｎビットにｍ−ｎビット分の０ビットを連結したｍビットのデータをＭ１として乗算アレイに送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ１の全ビットをＭ１として前記乗算アレイに送出する第１の前処理回路と、
命令ＯＰに従ってｍビットの入力データＤ２のビット分割を行い、命令ＯＰが浮動小数点乗算を示す場合にはＤ２の最上位１ビットを符号Ｓ２として前記符号判定回路に送出してＤ２の上位２ビット目からａビット分を指数部Ｅ２として前記指数部加算器に送出し、命令ＯＰが固定小数点乗算を示す場合には全ビット０のＳ２を前記符号判定回路に送出して全ビット０のＥ２を前記指数部加算器に送出し、命令ＯＰが浮動小数点乗算を示す場合にはｍ−ｎビット分の０をＦ２として前記小乗算回路に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ２の上位ｍ−ｎビットをＦ２として前記小乗算回路に送出し、Ｄ２の下位ｎビットをＭ２として前記乗算アレイに送出する第２の前処理回路と、
Ｍ１を被乗数としＭ２を乗数として、乗数の各ビットに被乗数を乗じた部分積を２進数の筆算の形にｎ段並べ、これらを加算することによってｍ＋ｎ−１ビットの乗算結果を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を仮数部加算器に送出する前記乗算アレイと、
ｍ−ｎビットのＦ１およびＦ２を入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして求め、その乗算結果Ｑを前記仮数部加算器に送出する前記小乗算回路と、
ａビットの指数部Ｅ１およびＥ２を入力として加算を行い、その結果である指数部加算結果Ｉを得て、その指数部加算結果Ｉを丸め桁合わせ回路に送出する前記指数部加算器と、
符号Ｓ１およびＳ２の排他的論理和を求め、その結果である符号出力Ｊを得て、その符号出力Ｊを前記丸め桁合わせ回路に送出する前記符号判定回路と、
前記乗算アレイの出力である中間積Ｎ１およびＮ２と前記小乗算回路の出力である乗算結果Ｑとを入力として加算を行い、命令ＯＰが浮動小数点乗算を示す場合にはその加算によって求めた結果のｍ＋ｎ−１ビットのデータのうちの上位ｎビットを加算結果Ｈとして前記丸め桁合わせ回路に送出して下位ｍ−１ビットをＲとしてスティッキー生成回路に送出し、命令ＯＰが固定小数点乗算を示す場合にはＮ１およびＮ２とＱとを加算した結果のうちの下位ｍビットを加算結果Ｈとして前記丸め桁合わせ回路に送出して全ビット０のＲを前記スティッキー生成回路に送出する前記仮数部加算器と、
Ｒの全ビットの総論理和を算出し、その算出結果をスティッキービットＧとして前記丸め桁合わせ回路に送出する前記スティッキー生成回路と、
命令ＯＰが浮動小数点乗算を示す場合には符号出力Ｊと指数部加算結果Ｉと加算結果ＨとスティッキービットＧとを入力として正規化および丸めを行って浮動小数点データ形式にビット群を連結した結果を浮動小数点乗算の演算結果Ｋとして出力し、命令ＯＰが固定小数点乗算を示す場合には前記仮数部加算器の出力であるｍビットの加算結果Ｈを固定小数点乗算の演算結果Ｋとして出力する前記丸め桁合わせ回路と
を有することを特徴とする乗算処理装置。
【請求項６】
スティッキー生成回路が存在せず丸め桁合わせ回路が桁合わせ回路に変更された構成を有しており、浮動小数点乗算時におけるスティッキービットに基づく丸めが行われないことを特徴とする請求項５記載の乗算処理装置。
【請求項７】
中間積Ｎ１およびＮ２を出力する乗算アレイがＭ１＊Ｍ２の積となるＮ１とＮ２との加算結果であるＮを出力する乗算アレイに変更された構成を有しており、前記乗算アレイが中間積Ｎ１およびＮ２を出力するのではなくＭ１＊Ｍ２の乗算結果である積Ｎを仮数部加算器に送出し、前記仮数部加算器ではＮ１とＮ２とを加算する処理が不要になることを特徴とする請求項５記載の乗算処理装置。
【請求項８】
スティッキー生成回路が存在せず丸め桁合わせ回路が桁合わせ回路に変更されており、かつ、中間積Ｎ１およびＮ２を出力する乗算アレイがＭ１＊Ｍ２の積となるＮ１とＮ２との加算結果であるＮを出力する乗算アレイに変更された構成を有しており、浮動小数点乗算時におけるスティッキービットに基づく丸めが行われず、かつ、前記乗算アレイが中間積Ｎ１およびＮ２を出力するのではなくＭ１＊Ｍ２の乗算結果である積Ｎを仮数部加算器に送出し、前記仮数部加算器ではＮ１とＮ２とを加算する処理が不要になることを特徴とする請求項５記載の乗算処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、浮動小数点乗算と固定小数点乗算とを同一のハードウェアで行う乗算処理装置に関する。
【０００２】
【従来の技術】
乗算処理装置において実行される乗算には、浮動小数点乗算と固定小数点乗算とがある。ここで、異なる乗算処理装置を設ける無駄を回避すること等を目的として、従来より、浮動小数点乗算と固定小数点乗算とを同一のハードウェアで行う乗算処理装置が開発されている（例えば、特許文献１および特許文献２参照）。
【０００３】
図９は、従来における、浮動小数点乗算と固定小数点乗算とを同一のハードウェアで行う乗算処理装置の一例の構成を示すブロック図である。この乗算処理装置は、２つの前処理回路９１と、ｍ（ｍは正整数）＊ｍビット（ｂｉｔ）の乗算を行う乗算アレイ９３と、指数部加算器９５と、符号判定回路９６と、スティッキー生成回路９７と、仮数部加算器９８と、丸め桁合わせ回路９９とを含んで構成されている。
【０００４】
このような構成を有する乗算処理装置における浮動小数点乗算時および固定小数点乗算時の動作は、以下のようなものであった。
【０００５】
第１に、浮動小数点乗算時（命令ＯＰが浮動小数点乗算を示している場合）における動作について説明する。
【０００６】
まず、２つの前処理回路９１のそれぞれは、図１０に示すようなｍビットの浮動小数点データ（符号Ｓ，指数部Ｅ，および仮数部Ｍからなるデータ）である入力データＤ１およびＤ２を入力し、１ビットの符号Ｓ１およびＳ２を符号判定回路９６に送出し、ａ（ａはｍ＞ａに該当する正整数）ビットの指数部Ｅ１およびＥ２を指数部加算器９５に送出し、ｎ（ｎはｍ＞ｎに該当する正整数）ビットの仮数部Ｍの下位側にｍ−ｎビット分の０を並べて、ｎビットの仮数部とｍ−ｎビットの０とが連結されたｍビットのＭ１およびＭ２を乗算アレイ９３に送出する。
【０００７】
指数部加算器９５は、ａビットの指数部Ｅ１およびＥ２を入力として加算を行い、その結果である指数部加算結果Ｉを得て、その指数部加算結果Ｉを丸め桁合わせ回路９９に送出する。
【０００８】
符号判定回路９６は、符号Ｓ１およびＳ２の排他的論理和を求め、その結果である符号出力Ｊを得て、その符号出力Ｊを丸め桁合わせ回路９９に送出する。
【０００９】
乗算アレイ９３は、Ｍ１およびＭ２のそれぞれを入力し、一方を被乗数とし、他方を乗数として、乗数の各ビットに被乗数を乗じたもの（部分積と呼ぶ）を２進数の筆算の形にｎ段並べ、これらを加算することによって積（Ｍ１＊Ｍ２の乗算結果）を求めるための処理を行い、最終的に得られる２つの部分積である中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を仮数部加算器９８に送出する。
【００１０】
仮数部加算器９８は、乗算アレイ９３の出力のＮ１およびＮ２を加算し、その結果の上位ｎビットを加算結果Ｈとして丸め桁合わせ回路９９に送出し、下位ｍ−ｎビットの全ビットをＲとしてスティッキー生成回路９７に送出する。
【００１１】
スティッキー生成回路９７は、Ｒの総論理和を求め、その結果をスティッキービットＧとして丸め桁合わせ回路９９に送出する。
【００１２】
丸め桁合わせ回路９９は、スティッキービットＧを制御信号として、符号出力Ｊ，指数部加算結果Ｉ，および加算結果Ｈから正規化および丸めを行い、１ビットの符号とａビットの指数部とｎビットの仮数部とからなるｍビットの浮動小数点データ形式にビット群を連結し、その結果を演算結果Ｋとして出力する。
【００１３】
第２に、固定小数点乗算時（命令ＯＰが固定小数点乗算を示している場合）における動作について説明する。
【００１４】
まず、２つの前処理回路９１のそれぞれは、ｍビットの固定小数点データである入力データＤ１およびＤ２を入力し、それらのデータをそのままＭ１およびＭ２として乗算アレイ９３に送出する。
【００１５】
乗算アレイ９３は、Ｍ１およびＭ２のそれぞれを入力して、Ｍ１＊Ｍ２の乗算処理を行い、中間積Ｎ１およびＮ２を仮数部加算器９８に送出する。
【００１６】
仮数部加算器９８は、乗算アレイ９３の出力であるＮ１およびＮ２を加算し、その結果の下位ｍビットを加算結果Ｈとして丸め桁合わせ回路９９に送出する。
【００１７】
丸め桁合わせ回路９９は、仮数部加算器９８の出力である加算結果Ｈを選択し、そのＨを演算結果Ｋとして出力する。なお、固定小数点乗算時には、指数部加算器９５，符号判定回路９６，およびスティッキー生成回路９７の出力は利用されない。
【００１８】
【特許文献１】
特開平０４−０８０８６８号公報（第１−２頁、第１図）
【特許文献２】
特開平０５−０４０６０５号公報（第１−２頁、図１）
【００１９】
【発明が解決しようとする課題】
上述した従来の乗算処理装置には、乗算アレイのハードウェア量が大きくなり、それによって、乗算処理装置が大きくなってしまうという問題点があった。
【００２０】
このような問題点が存在する理由は、ｍ＊ｍビットの固定小数点乗算を行うためにｍ＊ｍビットの乗算アレイが使用されており、乗算アレイ中に浮動小数点乗算および固定小数点乗算の何れでも参照されない領域が存在し、乗算アレイが冗長なハードウェアを有することになっていたからである。
【００２１】
乗算処理装置はプロセッサ等の高速集積回路において必須なものであり、かつ、ある一定の面積を占有するものであるので、乗算処理装置が大きくなるという上記の問題点は、このような乗算処理装置を有する高速集積回路そのものの面積に影響を与えてしまう（高速集積回路の面積が大きくなってしまう）という問題点を引き起こすことになっていた。
【００２２】
本発明の目的は、上述の点に鑑み、以上の問題点を解決すること（ハードウェア量を減少させること）ができる乗算処理装置を提供することにある。
【００２３】
【課題を解決するための手段】
本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第１のｍ（ｍは正整数）ビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎ（ｎはｍ＞ｎに該当する正整数）ビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を出力するｍ＊ｎビット構成の乗算アレイと、固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、前記乗算アレイの出力であるＮ１およびＮ２ならびに前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路とを有する。
【００２４】
また、本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果である積Ｎを算出し、当該積Ｎを出力するｍ＊ｎビット構成の乗算アレイと、固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、前記乗算アレイの出力であるＮおよび前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路とを有するように構成することも可能である。
【００２５】
さらに、本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を出力するｍ＊ｎビット構成の乗算アレイと、固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、前記乗算アレイの出力であるＮ１およびＮ２ならびに前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路とを有するように構成することも可能である。
【００２６】
加えて、本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第１のｍビット固定小数点データの全ビットおよび第２のｍビット固定小数点データの下位ｎビットを入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果である積Ｎを算出し、当該積Ｎを出力するｍ＊ｎビット構成の乗算アレイと、固定小数点乗算時に、第１のｍビット固定小数点データの下位ｍ−ｎビットおよび第２のｍビット固定小数点データの上位ｍ−ｎビットを入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして出力する小乗算回路と、前記乗算アレイの出力であるＮおよび前記小乗算回路の出力であるＱを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路とを有するように構成することも可能である。
【００２７】
なお、本発明の乗算処理装置は、より具体的には、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、命令ＯＰ（乗算の種類が浮動小数点乗算であるか固定小数点乗算であるかを示す情報を含む命令）に従ってｍビットの入力データＤ１のビット分割を行い、命令ＯＰが浮動小数点乗算を示す場合にはＤ１の最上位１ビットを符号Ｓ１として符号判定回路に送出してＤ１の上位２ビット目からａ（ａはｍ＞ａに該当する正整数）ビット分のビット群を指数部Ｅ１として指数部加算器に送出し、命令ＯＰが固定小数点乗算を示す場合には全ビット０のＳ１を前記符号判定回路に送出して全ビット０のＥ１を前記指数部加算器に送出し、命令ＯＰが浮動小数点乗算を示す場合にはｍ−ｎビット分の０をＦ１として小乗算回路に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ１の下位ｍ−ｎビットをＦ１として前記小乗算回路に送出し、命令ＯＰが浮動小数点乗算を示す場合にはＤ１の下位ｎビットにｍ−ｎビット分の０ビットを連結したｍビットのデータをＭ１として乗算アレイに送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ１の全ビット（＝ｍビット）をＭ１として前記乗算アレイに送出する第１の前処理回路と、命令ＯＰに従ってｍビットの入力データＤ２のビット分割を行い、命令ＯＰが浮動小数点乗算を示す場合にはＤ２の最上位１ビットを符号Ｓ２として前記符号判定回路に送出してＤ２の上位２ビット目からａビット分を指数部Ｅ２として前記指数部加算器に送出し、命令ＯＰが固定小数点乗算を示す場合には全ビット０のＳ２を前記符号判定回路に送出して全ビット０のＥ２を前記指数部加算器に送出し、命令ＯＰが浮動小数点乗算を示す場合にはｍ−ｎビット分の０をＦ２として前記小乗算回路に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ２の上位ｍ−ｎビットをＦ２として前記小乗算回路に送出し、Ｄ２の下位ｎビットをＭ２として前記乗算アレイに送出する第２の前処理回路と、Ｍ１を被乗数としＭ２を乗数として、乗数の各ビットに被乗数を乗じた部分積を２進数の筆算の形にｎ段並べ、これらを加算することによってｍ＋ｎ−１ビットの乗算結果（Ｍ１＊Ｍ２の積）を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を仮数部加算器に送出する前記乗算アレイと、ｍ−ｎビットのＦ１およびＦ２を入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして求め、その乗算結果Ｑを前記仮数部加算器に送出する前記小乗算回路と、ａビットの指数部Ｅ１およびＥ２を入力として加算を行い、その結果である指数部加算結果Ｉを得て、その指数部加算結果Ｉを丸め桁合わせ回路に送出する前記指数部加算器と、符号Ｓ１およびＳ２の排他的論理和を求め、その結果である符号出力Ｊを得て、その符号出力Ｊを前記丸め桁合わせ回路に送出する前記符号判定回路と、前記乗算アレイの出力である中間積Ｎ１およびＮ２と前記小乗算回路の出力である乗算結果Ｑとを入力として加算を行い、命令ＯＰが浮動小数点乗算を示す場合にはその加算によって求めた結果のｍ＋ｎ−１ビットのデータのうちの上位ｎビット（仮数部有効桁）を加算結果Ｈとして前記丸め桁合わせ回路に送出して下位ｍ−１ビット（仮数部有効桁を除いたビット群）をＲとしてスティッキー生成回路に送出し、命令ＯＰが固定小数点乗算を示す場合にはＮ１およびＮ２とＱとを加算した結果（Ｎ１とＮ２とを加算した上で、ｍ−ｎビットのＱをＮ１とＮ２とを加算した結果のｍ＋ｎ−１ビットのデータのうちの下位ｍビットの最上位ビットに合わせて加算したｍ＋ｎ−１ビットのデータ）のうちの下位ｍビット（固定小数点有効桁）を加算結果Ｈとして前記丸め桁合わせ回路に送出して全ビット０のＲを前記スティッキー生成回路に送出する前記仮数部加算器と、Ｒの全ビットの総論理和を算出し、その算出結果をスティッキービットＧとして前記丸め桁合わせ回路に送出する前記スティッキー生成回路と、命令ＯＰが浮動小数点乗算を示す場合には符号出力Ｊと指数部加算結果Ｉと加算結果ＨとスティッキービットＧとを入力として正規化（桁合わせ）および丸めを行って浮動小数点データ形式にビット群を連結した結果を浮動小数点乗算の演算結果Ｋとして出力し、命令ＯＰが固定小数点乗算を示す場合には前記仮数部加算器の出力であるｍビットの加算結果Ｈを固定小数点乗算の演算結果Ｋとして出力する前記丸め桁合わせ回路とを有すると表現することができる。
【００２８】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【００２９】
（１）  第１の実施の形態
【００３０】
図１は、本発明の第１の実施の形態に係る乗算処理装置の構成を示すブロック図である。
【００３１】
図１を参照すると、本実施の形態に係る乗算処理装置は、前処理回路１と、前処理回路２と、乗算アレイ３と、小乗算回路４と、指数部加算器５と、符号判定回路６と、スティッキー生成回路７と、仮数部加算器８と、丸め桁合わせ回路９とを含んで構成されている。
【００３２】
前処理回路１は、乗算アレイ３と小乗算回路４と指数部加算器５と符号判定回路６とに接続されている。前処理回路２は、乗算アレイ３と小乗算回路４と指数部加算器５と符号判定回路６とに接続されている。乗算アレイ３は、前処理回路１と前処理回路２と仮数部加算器８とに接続されている。小乗算回路４は、前処理回路１と前処理回路２と仮数部加算器８とに接続されている。指数部加算器５は、前処理回路１と前処理回路２と丸め桁合わせ回路９とに接続されている。符号判定回路６は、前処理回路１と前処理回路２と丸め桁合わせ回路９とに接続されている。スティッキー生成回路７は、仮数部加算器８と丸め桁合わせ回路９とに接続されている。仮数部加算器８は、乗算アレイ３と小乗算回路４とスティッキー生成回路７と丸め桁合わせ回路９とに接続されている。丸め桁合わせ回路９は、指数部加算器５と符号判定回路６とスティッキー生成回路７と仮数部加算器８とに接続されている。
【００３３】
前処理回路１は、命令ＯＰ（乗算の種類が浮動小数点乗算であるか固定小数点乗算であるかを示す情報を含む命令）に従ってｍ（ｍは正整数）ビット（ｂｉｔ）の入力データＤ１のビット分割を行い、命令ＯＰが浮動小数点乗算を示す場合にはＤ１の最上位１ビットを符号Ｓ１として符号判定回路６に送出してＤ１の上位２ビット目からａビット（ａはｍ＞ａに該当する正整数）分のビット群を指数部Ｅ１として指数部加算器５に送出し、命令ＯＰが固定小数点乗算を示す場合には全ビット０のＳ１を符号判定回路６に送出して全ビット０のＥ１を指数部加算器５に送出し、命令ＯＰが浮動小数点乗算を示す場合にはｍ−ｎビット分の０をＦ１として小乗算回路４に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ１の下位ｍ−ｎビット（ｎはｍ＞ｎに該当する正整数）をＦ１として小乗算回路４に送出し、命令ＯＰが浮動小数点乗算を示す場合にはＤ１の下位ｎビットにｍ−ｎビット分の０ビットを連結したｍビットのデータをＭ１として乗算アレイ３に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ１の全ビット（＝ｍビット）をＭ１として乗算アレイ３に送出する。
【００３４】
前処理回路２は、命令ＯＰに従ってｍビットの入力データＤ２のビット分割を行い、命令ＯＰが浮動小数点乗算を示す場合にはＤ２の最上位１ビットを符号Ｓ２として符号判定回路６に送出してＤ２の上位２ビット目からａビット分を指数部Ｅ２として指数部加算器５に送出し、命令ＯＰが固定小数点乗算を示す場合には全ビット０のＳ２を符号判定回路６に送出して全ビット０のＥ２を指数部加算器５に送出し、命令ＯＰが浮動小数点乗算を示す場合にはｍ−ｎビット分の０をＦ２として小乗算回路４に送出し、命令ＯＰが固定小数点乗算を示す場合にはＤ２の上位ｍ−ｎビットをＦ２として小乗算回路４に送出し、Ｄ２の下位ｎビットをＭ２として乗算アレイ３に送出する。
【００３５】
乗算アレイ３は、ｍビットのＭ１およびｎビットのＭ２を入力として乗算を行い、ｍ＋ｎ−１ビットの乗算結果（Ｍ１＊Ｍ２の積）を得るための２個の中間積Ｎ１およびＮ２を算出し、当該中間積Ｎ１およびＮ２を仮数部加算器８に送出する。
【００３６】
小乗算回路４は、ｍ−ｎビットのＦ１およびＦ２を入力として乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして求め、その乗算結果Ｑを仮数部加算器８に送出する。
【００３７】
指数部加算器５は、ａビットの指数部Ｅ１およびＥ２を入力として加算を行い、その結果である指数部加算結果Ｉを得て、その指数部加算結果Ｉを丸め桁合わせ回路９に送出する。
【００３８】
符号判定回路６は、符号Ｓ１およびＳ２の排他的論理和を求め、その結果である符号出力Ｊを得て、その符号出力Ｊを丸め桁合わせ回路９に送出する。
【００３９】
スティッキー生成回路７は、仮数部加算器８の出力であるＲの全ビットの総論理和を算出し、その算出結果をスティッキービットＧとして丸め桁合わせ回路９に送出する。
【００４０】
仮数部加算器８は、乗算アレイ３の出力である中間積Ｎ１およびＮ２と小乗算回路４の出力である乗算結果Ｑとを入力として加算を行い、浮動小数点乗算時（命令ＯＰが浮動小数点乗算を示す場合）にはその結果（ｍ＋ｎ−１ビットのデータ）のうちの上位ｎビット（仮数部有効桁）を加算結果Ｈとして丸め桁合わせ回路９に送出して下位ｍ−１ビット（仮数部有効桁を除いたビット群）をＲとしてスティッキー生成回路７に送出し、固定小数点乗算時（命令ＯＰが固定小数点乗算を示す場合）にはＮ１およびＮ２とＱとを加算した結果（ｍ＋ｎ−１ビットのデータ）のうちの下位ｍビット（固定小数点有効桁）を加算結果Ｈとして丸め桁合わせ回路９に送出して全ビット０のＲをスティッキー生成回路７に送出する。
【００４１】
丸め桁合わせ回路９は、命令ＯＰが浮動小数点乗算を示す場合には、符号判定回路６の出力である符号出力Ｊと指数部加算器５の出力である指数部加算結果Ｉと仮数部加算器８の出力である加算結果Ｈとスティッキー生成回路７の出力であるスティッキービットＧとを入力として正規化および丸めを行い、１ビットの符号とａビットの指数部とｎビットの仮数部とからなるｍビットの浮動小数点データ形式にビット群を連結し、その結果を浮動小数点乗算の演算結果Ｋとして出力する。また、命令ＯＰが固定小数点乗算を示す場合には、仮数部加算器８の出力であるｍビットの加算結果Ｈを固定小数点乗算の演算結果Ｋとして出力する。
【００４２】
図２は、浮動小数点乗算における入力データＤ１およびＤ２のデータ構造を示す図である。Ｄ１およびＤ２は、符号ビットＳと、指数部Ｅと、ｎビットの仮数部Ｍとからなる。
【００４３】
図３は、固定小数点乗算における入力データＤ１およびＤ２のデータ構造を示す図である。Ｄ１およびＤ２は、固定小数点数のデータを示している。
【００４４】
図４は、本実施の形態に係る乗算処理装置による浮動小数点乗算時における乗算処理を説明するための図である。
【００４５】
図５は、本実施の形態に係る乗算処理装置による固定小数点乗算時における乗算処理を説明するための図である。
【００４６】
図６は、本実施の形態に係る乗算処理装置と比較して従来の乗算処理装置による乗算処理を説明するための図である。
【００４７】
図７は、乗算アレイ３を構成する加算回路（４入力２出力加算回路）の構造を示す図である。乗算アレイ３には、このような加算回路のいくつかが組み合わされて構成されており、また、このような加算回路以外の回路も含まれうる。
【００４８】
図８は、図１に示す乗算処理装置による固定小数点乗算時の処理を示す流れ図である。この処理は、Ｍ１およびＦ１送出ステップ８１と、Ｍ２およびＦ２送出ステップ８２と、Ｑ算出ステップ８３と、Ｑ送出ステップ８４と、Ｎ１およびＮ２算出ステップ８５と、Ｎ１およびＮ２送出ステップ８６と、仮数部加算器処理ステップ８７と、Ｋ出力ステップ８８とからなる。
【００４９】
次に、図１〜図８を参照して、上記のように構成された本実施の形態に係る乗算処理装置の全体の動作について詳細に説明する。
【００５０】
第１に、浮動小数点乗算時の動作について説明する。
【００５１】
ｍビットの浮動小数点データ（浮動小数点数のデータ）である入力データＤ１／入力データＤ２は、１ビットの符号ビットと、ａビットの指数部Ｅと、ｎビットの仮数部Ｍとで構成され（図２参照）、前処理回路１／前処理回路２によって切り出される。
【００５２】
ここで、一般的に（本発明に限らず）、浮動小数点データの乗算は、指数部の加算と仮数部の乗算とを行った後に、丸めおよび桁合わせを行うことにより結果を得ることができる。
【００５３】
本実施の形態に係る乗算処理装置では、以下に示すようにして、この浮動小数点乗算が実現される。
【００５４】
まず、前処理回路１は、命令ＯＰが浮動小数点乗算を示していることを確認した場合に、図２に示すように、ｍビット（＝１＋ａ＋ｎビット）の入力データＤ１を１ビットの符号ビットとａビットの指数部とｎビットの仮数部とにビット分割し、１ビットの符号ビットをＳ１として符号判定回路６に送出し、ａビットの指数部をＥ１として指数部加算器５に送出し、ｎビットの仮数部の下位側にａ＋１ビット分の０を付け足したＭ１（ｍビットのデータ）を乗算アレイ３に送出する。なお、浮動小数点乗算時には、前処理回路１から小乗算回路４に送出されるＦ１は、ｍ−ｎビットの全ビットが０のデータとなる。
【００５５】
また、前処理回路２は、命令ＯＰが浮動小数点乗算を示していることを確認した場合に、図２に示すように、ｍビットの入力データＤ２を１ビットの符号ビットとａビットの指数部とｎビットの仮数部とにビット分割し、１ビットの符号ビットをＳ２として符号判定回路６に送出し、ａビットの指数部をＥ２として指数部加算器５に送出し、ｎビットの仮数部をＭ２として乗算アレイ３に送出する。なお、浮動小数点乗算時には、前処理回路２から小乗算回路４に送出されるＦ２は、ｍ−ｎビットの全ビットが０のデータとなる。
【００５６】
符号判定回路６は、Ｓ１とＳ２との排他的論理和を求め、その結果を浮動小数点乗算結果の符号出力Ｊとして丸め桁合わせ回路９に送出する。
【００５７】
指数部加算器５は、Ｅ１とＥ２との加算を行い、その結果を指数部加算結果Ｉとして丸め桁合わせ回路９に送出する。
【００５８】
小乗算回路４は、Ｆ１およびＦ２の乗算を行い、乗算結果Ｑを仮数部加算器８に送出する。ただし、ここでは、Ｆ１およびＦ２は共に全ビット０であるため、Ｑも０となる。
【００５９】
乗算アレイ３は、前処理回路１から入力したｍビットのＭ１を被乗数とし、前処理回路２から入力したｎビットのＭ２を乗数として、乗数の各ビットに被乗数を乗じたもの（部分積と呼ぶ）を図４に示すように２進数の筆算の形にｎ段並べ、これらを加算することによって乗算結果（Ｍ１＊Ｍ２の積）を求めるための処理を行う（本実施の形態では、乗算アレイ３は、Ｍ１＊Ｍ２の乗算結果を算出する直前の段階の中間積Ｎ１およびＮ２を出力する）。各部分積の加算は、図７に示すような全加算器を含んで構成される加算回路（４入力２出力加算回路）を用いることにより行われる。乗算アレイ３は、このような加算回路を用いることによって、ｎ個の部分積を２個になるまで加算し、最終的に得られた２つの部分積である中間積Ｎ１およびＮ２を仮数部加算器８に送出する。
【００６０】
仮数部加算器８は、小乗算回路４の出力であるＱと乗算アレイ３の出力であるＮ１およびＮ２とを加算する。図４に示すように、この加算結果はｍ＋ｎ−１ビットのデータになる（上述のようにＱは０である）。
【００６１】
仮数部加算器８は、図４に示すように、この加算結果（ｍ＋ｎ−１ビットのデータ）のうちの仮数部有効桁である上位ｎビットを加算結果Ｈとして丸め桁合わせ回路９に送出し、当該加算結果（ｍ＋ｎ−１ビットのデータ）から仮数部有効桁である上位ｎビットを除いた下位ｍ−１ビットをＲとしてスティッキー生成回路７に送出する。
【００６２】
ここで、浮動小数点乗算時には、小乗算回路４の入力となるＦ１およびＦ２が０であることから小乗算回路４の出力のＱは０となるため、ＨおよびＲはＮ１およびＮ２の加算結果のみを元に仮数部有効桁とそれ以外とに分けられることになる。
【００６３】
スティッキー生成回路７は、仮数部加算器８の出力であるＲの全ビットの総論理和を求め、その結果をスティッキービットＧとして丸め桁合わせ回路９に送出する。
【００６４】
丸め桁合わせ回路９は、命令ＯＰ（浮動小数点乗算を示す命令ＯＰ）とスティッキービットＧとを制御信号として、符号判定回路６の出力である符号出力Ｊと指数部加算器５の出力である指数部加算結果Ｉと仮数部加算器８の出力である加算結果Ｈとから丸めと桁合わせとを行い、浮動小数点数のデータ形式で演算結果Ｋ（浮動小数点乗算における演算結果Ｋ）を出力する。
【００６５】
第２に、固定小数点乗算時の動作について説明する。
【００６６】
図６に示すように、従来の乗算処理装置（例えば、図９に示す乗算処理装置）における固定小数点乗算では、ｍビットの入力データＤ１およびＤ２がｍ＊ｍビットの乗算アレイ（例えば、図９中の乗算アレイ９３）に与えられていた。そして、その乗算アレイが、ｍビットの部分積を２進数の筆算の形にｍ段並べ、これらを加算することによって２ｍ−１ビットの積を得ていた（図９の例においては、Ｎ１とＮ２との加算は仮数部加算器９８によって行われている）。その上で、この積（２ｍ−１ビットのデータ）のうちの下位ｍビットが、固定小数点乗算の有効桁として、乗算結果出力となっていた。
【００６７】
これに対して、本実施の形態、ひいては本発明の乗算処理装置においては、以下に示すようにして、固定小数点乗算が実現される（図８参照）。
【００６８】
まず、前処理回路１は、命令ＯＰが固定小数点乗算を示していることを確認した場合に、図３に示すように、ｍビットの入力データＤ１をＭ１として乗算アレイ３に送出し、Ｄ１の下位ｍ−ｎビットをＦ１として小乗算回路４に送出する（ステップ８１）。
【００６９】
また、前処理回路２は、命令ＯＰが固定小数点乗算を示していることを確認した場合に、図３に示すように、ｍビットの入力データＤ２の下位ｎビットをＭ２として乗算アレイ３に送出し、Ｄ２の上位ｍ−ｎビットをＦ２として小乗算回路４に送出する（ステップ８２）。
【００７０】
この時、前処理回路１および前処理回路２は、符号判定回路６の入力となるＳ１およびＳ２と、指数部加算器５の入力となるＥ１およびＥ２とを、全ビット０として送出する。なお、符号判定回路６および指数部加算器５の出力（ＪおよびＩ）は、固定小数点乗算時には使用されない。
【００７１】
小乗算回路４は、Ｆ１およびＦ２の乗算を行い、その結果の下位ｍ−ｎビットを乗算結果Ｑとして求め（ステップ８３）、そのＱを仮数部加算器８に送出する（ステップ８４）。先述のように、小乗算回路４の入力Ｆ１およびＦ２は、それぞれ、Ｄ１の下位ｍ−ｎビットおよびＤ２の上位ｍ−ｎビットである。そのため、小乗算回路４が乗算を行って求めるデータは、図５の斜線部に示されるように、ｍ＊ｎビットの乗算アレイ（乗算アレイ３）では求められないものであり、かつ、ｍビットの固定小数点乗算を行う際に必要なものとなる。
【００７２】
乗算アレイ３は、前処理回路１から入力したＭ１を被乗数とし、前処理回路２から入力したＭ２を乗数として、乗数の各ビットに被乗数を乗じたもの（部分積と呼ぶ）を図５に示すように２進数の筆算の形にｎ段並べ、これを加算することによって積（Ｍ１＊Ｍ２の乗算結果）を求めるための処理を行い、最終的に得られる２つの部分積である中間積Ｎ１およびＮ２を算出する（ステップ８５）。各部分積の加算は、例えば、図７に示すような全加算器を含んで構成される加算回路（４入力２出力加算回路）を用いることにより行われる。乗算アレイ３は、このような加算回路を用いることによって、ｎ個の部分積を２個になるまで加算し、最終的に得られた２つの部分積である中間積Ｎ１およびＮ２を仮数部加算器８に送出する（ステップ８６）。
【００７３】
仮数部加算器８は、図５に示すように、小乗算回路４の出力であるＱと乗算アレイ３の出力であるＮ１およびＮ２とを入力として、以下のａ〜ｃに示すような処理を行う（ステップ８７）。
【００７４】
ａ．Ｎ１とＮ２とを加算した上で、小乗算回路４の出力であるｍ−ｎビットのＱを、Ｎ１およびＮ２の加算結果のｍ＋ｎ−１ビットのデータのうちの下位ｍビットの最上位ビットに合わせて加算することにより、乗算結果（Ｄ１とＤ２との乗算結果）のうちの固定小数点有効桁である下位ｍビットを得る。
【００７５】
ｂ．ａで求めた固定小数点有効桁である下位ｍビットのデータを、加算結果Ｈとして丸め桁合わせ回路９に送出する。
【００７６】
ｃ．スティッキー生成回路７に、全ビット０のＲを送出する。
【００７７】
丸め桁合わせ回路９は、固定小数点乗算を示す命令ＯＰを制御信号として、仮数部加算器８の出力であるｍビットのＨを選択し、そのＨを演算結果Ｋ（固定小数点乗算における演算結果Ｋ）として出力する（ステップ８８）。
【００７８】
なお、符号判定回路６および指数部加算器５ならびにスティッキー生成回路７への入力は全て０であるため、これらの各回路の出力（丸め桁合わせ回路９の入力となるＪ，Ｉ，およびＧ）は全て０となる。また、丸め桁合わせ回路９は、固定小数点乗算時には仮数部加算器８の出力のみを参照するため、これらの各回路の出力は使用されない。
【００７９】
上記のようにして、本実施の形態、ひいては本発明では、ｍ＊ｎビットの乗算アレイ３と（ｍ−ｎ）＊（ｍ−ｎ）ビットの小乗算回路４とによってｍ＊ｍビットの固定小数点乗算が実現されているため、従来のｍ＊ｍビットの乗算アレイによる乗算処理（図６参照）では固定小数点乗算時に参照されずに不要となる領域（図５中の斜線部参照）のハードウェアを削減することが可能になる。なお、浮動小数点乗算時における仮数部の乗算結果はｍ＊ｎビットの乗算アレイで求められるため、浮動小数点乗算時にも上記の領域は参照されずに、ｍ＊ｍビットの乗算アレイでは冗長なハードウェアとなっていた。
【００８０】
（２）  第２〜第４の実施の形態
【００８１】
上記の第１の実施の形態に係る乗算処理装置に対しては、以下のような変形形態（第２〜第４の実施の形態）を考えることができる。
【００８２】
（２−１）  第２の実施の形態
【００８３】
第１の実施の形態に対する第１の変形形態（第２の実施の形態）に係る乗算処理装置は、図１に示す第１の実施の形態における構成と比較して、スティッキー生成回路７が存在せず、丸め桁合わせ回路９が「桁合わせ回路」に変更された構成を有するものとなる。
【００８４】
本実施の形態においては、浮動小数点乗算時におけるスティッキービットに基づく丸めが行われない点が、第１の実施の形態における動作と異なっている（すなわち、仮数部加算器８によるＲの出力および「桁合わせ回路」によるＧの入力は行われない）。その他の動作については、第２の実施の形態も第１の実施の形態と変わるところはない。
【００８５】
（２−２）  第３の実施の形態
【００８６】
第１の実施の形態に対する第２の変形形態（第３の実施の形態）に係る乗算処理装置は、図１に示す第１の実施の形態における構成と比較して、２個の出力のＮ１およびＮ２（２つの中間積）を送出する乗算アレイ３が、１個の出力のＮ（Ｍ１＊Ｍ２の積となるＮ１とＮ２との加算結果）を送出する乗算アレイに変更された構成を有するものとなる。
【００８７】
本実施の形態においては、乗算アレイ３が中間積Ｎ１およびＮ２を出力するのではなく、Ｍ１＊Ｍ２の乗算結果である積Ｎ（Ｎ１とＮ２との加算結果）を仮数部加算器８に送出する点が、第１の実施の形態における動作と異なっている（これにより、仮数部加算器８ではＮ１とＮ２とを加算する処理が不要になる）。その他の動作については、第３の実施の形態も第１の実施の形態と変わるところはない。
【００８８】
（２−３）  第４の実施の形態
【００８９】
第１の実施の形態に対する第３の変形形態（第４の実施の形態）に係る乗算処理装置は、図１に示す第１の実施の形態における構成と比較して、スティッキー生成回路７が存在せず、丸め桁合わせ回路９が「桁合わせ回路」に変更され、かつ、２個の出力のＮ１およびＮ２を送出する乗算アレイ３が１個の出力のＮを送出する乗算アレイに変更された構成を有するものとなる。
【００９０】
本実施の形態（第４の実施の形態）においては、上述の第２の実施の形態における変更点と第３の実施の形態における変更点とを併有する動作を行う点が、第１の実施の形態における動作と異なっている。その他の動作については、第４の実施の形態も第１の実施の形態と変わるところはない。
【００９１】
【発明の効果】
以上説明したように、本発明によると、浮動小数点乗算と固定小数点乗算とを同一のハードウェアを用いて行う乗算処理装置の回路規模を縮小することができるという効果が生じる。
【００９２】
すなわち、ｍビットの浮動小数点データ内のｎビットの仮数部の乗算を行うことのできるｍ＊ｎビットの乗算アレイ（図１における乗算アレイ３）に、ｍ−ｎビットの小乗算回路（図１における小乗算回路４）を付加することにより、ｍ＊ｍビットの乗算アレイを用いずともｍ＊ｍビット固定小数点乗算を行うことができるようになるので、ｍ＊ｍビットの乗算アレイを用いてｍ＊ｍビット固定小数点乗算を行う構成の従来の乗算処理装置よりも、本発明に係る乗算処理装置は、回路規模を縮小することができるという効果が生じる。
【００９３】
このような効果が生じる理由は、上述のようにｍ＊ｎビットの乗算アレイにｍ−ｎビットの小乗算回路（ｍ−ｎビット同士を２つの入力とする小乗算回路）を付加することにより、ｍ＊ｍビットの乗算アレイ（ｍビット同士を２つの入力とする乗算アレイ）を用いずともｍビット同士の固定小数点乗算を実現できるので、固定小数点乗算時に有効桁から切り捨てられて参照されないｍ＊ｍビットの乗算アレイ中の領域のハードウェアを削減することができるためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る乗算処理装置の構成を示すブロック図である。
【図２】図１に示す乗算処理装置によって行われる浮動小数点乗算における入力データＤ１およびＤ２のデータ構造を示す図である。
【図３】図１に示す乗算処理装置によって行われる固定小数点乗算における入力データＤ１およびＤ２のデータ構造を示す図である。
【図４】図１に示す乗算処理装置による浮動小数点乗算時における乗算処理を説明するための図である。
【図５】図１に示す乗算処理装置による固定小数点乗算時における乗算処理を説明するための図である。
【図６】図１に示す乗算処理装置と比較して従来の乗算処理装置による乗算処理を説明するための図である。
【図７】図１中の乗算アレイを構成する加算回路の構造を示す図である。
【図８】図１に示す乗算処理装置による固定小数点乗算時の処理を示す流れ図である。
【図９】従来の乗算処理装置の一例の構成を示すブロック図である。
【図１０】図９に示す従来の乗算処理装置の動作を説明するための図である。
【符号の説明】
１，２  前処理回路
３  乗算アレイ
４  小乗算回路
５  指数部加算器
６  符号判定回路
７  スティッキー生成回路
８  仮数部加算器
９  丸め桁合わせ回路
８１  Ｍ１およびＦ１送出ステップ
８２  Ｍ２およびＦ２送出ステップ
８３  Ｑ算出ステップ
８４  Ｑ送出ステップ
８５  Ｎ１およびＮ２算出ステップ
８６  Ｎ１およびＮ２送出ステップ
８７  仮数部加算器処理ステップ
８８  Ｋ出力ステップ
【図１】
2004348215.tif 000003
【図２】
2004348215.tif 000004
【図３】
2004348215.tif 000005
【図４】
2004348215.tif 000006
【図５】
2004348215.tif 000007
【図６】
2004348215.tif 000008
【図７】
2004348215.tif 000009
【図８】
2004348215.tif 000010
【図９】
2004348215.tif 000011
【図１０】
2004348215.tif 000012