JP3803653B2 - 乗算処理装置 - Google Patents

乗算処理装置 Download PDF

Info

Publication number
JP3803653B2
JP3803653B2 JP2003141619A JP2003141619A JP3803653B2 JP 3803653 B2 JP3803653 B2 JP 3803653B2 JP 2003141619 A JP2003141619 A JP 2003141619A JP 2003141619 A JP2003141619 A JP 2003141619A JP 3803653 B2 JP3803653 B2 JP 3803653B2
Authority
JP
Japan
Prior art keywords
multiplication
bits
point
circuit
result
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
Application number
JP2003141619A
Other languages
English (en)
Other versions
JP2004348215A (ja
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2003141619A priority Critical patent/JP3803653B2/ja
Publication of JP2004348215A publication Critical patent/JP2004348215A/ja
Application granted granted Critical
Publication of JP3803653B2 publication Critical patent/JP3803653B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、浮動小数点乗算と固定小数点乗算とを同一のハードウェアで行う乗算処理装置に関する。
【0002】
【従来の技術】
乗算処理装置において実行される乗算には、浮動小数点乗算と固定小数点乗算とがある。ここで、異なる乗算処理装置を設ける無駄を回避すること等を目的として、従来より、浮動小数点乗算と固定小数点乗算とを同一のハードウェアで行う乗算処理装置が開発されている(例えば、特許文献1および特許文献2参照)。
【0003】
図9は、従来における、浮動小数点乗算と固定小数点乗算とを同一のハードウェアで行う乗算処理装置の一例の構成を示すブロック図である。この乗算処理装置は、2つの前処理回路91と、m(mは正整数)*mビット(bit)の乗算を行う乗算アレイ93と、指数部加算器95と、符号判定回路96と、スティッキー生成回路97と、仮数部加算器98と、丸め桁合わせ回路99とを含んで構成されている。
【0004】
このような構成を有する乗算処理装置における浮動小数点乗算時および固定小数点乗算時の動作は、以下のようなものであった。
【0005】
第1に、浮動小数点乗算時(命令OPが浮動小数点乗算を示している場合)における動作について説明する。
【0006】
まず、2つの前処理回路91のそれぞれは、図10に示すようなmビットの浮動小数点データ(符号S,指数部E,および仮数部Mからなるデータ)である入力データD1およびD2を入力し、1ビットの符号S1およびS2を符号判定回路96に送出し、a(aはm>aに該当する正整数)ビットの指数部E1およびE2を指数部加算器95に送出し、n(nはm>nに該当する正整数)ビットの仮数部Mの下位側にm−nビット分の0を並べて、nビットの仮数部とm−nビットの0とが連結されたmビットのM1およびM2を乗算アレイ93に送出する。
【0007】
指数部加算器95は、aビットの指数部E1およびE2を入力として加算を行い、その結果である指数部加算結果Iを得て、その指数部加算結果Iを丸め桁合わせ回路99に送出する。
【0008】
符号判定回路96は、符号S1およびS2の排他的論理和を求め、その結果である符号出力Jを得て、その符号出力Jを丸め桁合わせ回路99に送出する。
【0009】
乗算アレイ93は、M1およびM2のそれぞれを入力し、一方を被乗数とし、他方を乗数として、乗数の各ビットに被乗数を乗じたもの(部分積と呼ぶ)を2進数の筆算の形にn段並べ、これらを加算することによって積(M1*M2の乗算結果)を求めるための処理を行い、最終的に得られる2つの部分積である中間積N1およびN2を算出し、当該中間積N1およびN2を仮数部加算器98に送出する。
【0010】
仮数部加算器98は、乗算アレイ93の出力のN1およびN2を加算し、その結果の上位nビットを加算結果Hとして丸め桁合わせ回路99に送出し、下位m−nビットの全ビットをRとしてスティッキー生成回路97に送出する。
【0011】
スティッキー生成回路97は、Rの総論理和を求め、その結果をスティッキービットGとして丸め桁合わせ回路99に送出する。
【0012】
丸め桁合わせ回路99は、スティッキービットGを制御信号として、符号出力J,指数部加算結果I,および加算結果Hから正規化および丸めを行い、1ビットの符号とaビットの指数部とnビットの仮数部とからなるmビットの浮動小数点データ形式にビット群を連結し、その結果を演算結果Kとして出力する。
【0013】
第2に、固定小数点乗算時(命令OPが固定小数点乗算を示している場合)における動作について説明する。
【0014】
まず、2つの前処理回路91のそれぞれは、mビットの固定小数点データである入力データD1およびD2を入力し、それらのデータをそのままM1およびM2として乗算アレイ93に送出する。
【0015】
乗算アレイ93は、M1およびM2のそれぞれを入力して、M1*M2の乗算処理を行い、中間積N1およびN2を仮数部加算器98に送出する。
【0016】
仮数部加算器98は、乗算アレイ93の出力であるN1およびN2を加算し、その結果の下位mビットを加算結果Hとして丸め桁合わせ回路99に送出する。
【0017】
丸め桁合わせ回路99は、仮数部加算器98の出力である加算結果Hを選択し、そのHを演算結果Kとして出力する。なお、固定小数点乗算時には、指数部加算器95,符号判定回路96,およびスティッキー生成回路97の出力は利用されない。
【0018】
【特許文献1】
特開平04−080868号公報(第1−2頁、第1図)
【特許文献2】
特開平05−040605号公報(第1−2頁、図1)
【0019】
【発明が解決しようとする課題】
上述した従来の乗算処理装置には、乗算アレイのハードウェア量が大きくなり、それによって、乗算処理装置が大きくなってしまうという問題点があった。
【0020】
このような問題点が存在する理由は、m*mビットの固定小数点乗算を行うためにm*mビットの乗算アレイが使用されており、乗算アレイ中に浮動小数点乗算および固定小数点乗算の何れでも参照されない領域が存在し、乗算アレイが冗長なハードウェアを有することになっていたからである。
【0021】
乗算処理装置はプロセッサ等の高速集積回路において必須なものであり、かつ、ある一定の面積を占有するものであるので、乗算処理装置が大きくなるという上記の問題点は、このような乗算処理装置を有する高速集積回路そのものの面積に影響を与えてしまう(高速集積回路の面積が大きくなってしまう)という問題点を引き起こすことになっていた。
【0022】
本発明の目的は、上述の点に鑑み、以上の問題点を解決すること(ハードウェア量を減少させること)ができる乗算処理装置を提供することにある。
【0023】
【課題を解決するための手段】
本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第1のm(mは正整数)ビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位n(nはm>nに該当する正整数)ビットを入力として乗算を行い、m+n−1ビットの乗算結果を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を出力するm*nビット構成の乗算アレイと、固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、前記乗算アレイの出力であるN1およびN2ならびに前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路とを有する。
【0024】
また、本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果である積Nを算出し、当該積Nを出力するm*nビット構成の乗算アレイと、固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、前記乗算アレイの出力であるNおよび前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路とを有するように構成することも可能である。
【0025】
さらに、本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を出力するm*nビット構成の乗算アレイと、固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、前記乗算アレイの出力であるN1およびN2ならびに前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路とを有するように構成することも可能である。
【0026】
加えて、本発明の乗算処理装置は、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果である積Nを算出し、当該積Nを出力するm*nビット構成の乗算アレイと、固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、前記乗算アレイの出力であるNおよび前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路とを有するように構成することも可能である。
【0027】
なお、本発明の乗算処理装置は、より具体的には、同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、命令OP(乗算の種類が浮動小数点乗算であるか固定小数点乗算であるかを示す情報を含む命令)に従ってmビットの入力データD1のビット分割を行い、命令OPが浮動小数点乗算を示す場合にはD1の最上位1ビットを符号S1として符号判定回路に送出してD1の上位2ビット目からa(aはm>aに該当する正整数)ビット分のビット群を指数部E1として指数部加算器に送出し、命令OPが固定小数点乗算を示す場合には全ビット0のS1を前記符号判定回路に送出して全ビット0のE1を前記指数部加算器に送出し、命令OPが浮動小数点乗算を示す場合にはm−nビット分の0をF1として小乗算回路に送出し、命令OPが固定小数点乗算を示す場合にはD1の下位m−nビットをF1として前記小乗算回路に送出し、命令OPが浮動小数点乗算を示す場合にはD1の下位nビットにm−nビット分の0ビットを連結したmビットのデータをM1として乗算アレイに送出し、命令OPが固定小数点乗算を示す場合にはD1の全ビット(=mビット)をM1として前記乗算アレイに送出する第1の前処理回路と、命令OPに従ってmビットの入力データD2のビット分割を行い、命令OPが浮動小数点乗算を示す場合にはD2の最上位1ビットを符号S2として前記符号判定回路に送出してD2の上位2ビット目からaビット分を指数部E2として前記指数部加算器に送出し、命令OPが固定小数点乗算を示す場合には全ビット0のS2を前記符号判定回路に送出して全ビット0のE2を前記指数部加算器に送出し、命令OPが浮動小数点乗算を示す場合にはm−nビット分の0をF2として前記小乗算回路に送出し、命令OPが固定小数点乗算を示す場合にはD2の上位m−nビットをF2として前記小乗算回路に送出し、D2の下位nビットをM2として前記乗算アレイに送出する第2の前処理回路と、M1を被乗数としM2を乗数として、乗数の各ビットに被乗数を乗じた部分積を2進数の筆算の形にn段並べ、これらを加算することによってm+n−1ビットの乗算結果(M1*M2の積)を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を仮数部加算器に送出する前記乗算アレイと、m−nビットのF1およびF2を入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして求め、その乗算結果Qを前記仮数部加算器に送出する前記小乗算回路と、aビットの指数部E1およびE2を入力として加算を行い、その結果である指数部加算結果Iを得て、その指数部加算結果Iを丸め桁合わせ回路に送出する前記指数部加算器と、符号S1およびS2の排他的論理和を求め、その結果である符号出力Jを得て、その符号出力Jを前記丸め桁合わせ回路に送出する前記符号判定回路と、前記乗算アレイの出力である中間積N1およびN2と前記小乗算回路の出力である乗算結果Qとを入力として加算を行い、命令OPが浮動小数点乗算を示す場合にはその加算によって求めた結果のm+n−1ビットのデータのうちの上位nビット(仮数部有効桁)を加算結果Hとして前記丸め桁合わせ回路に送出して下位m−1ビット(仮数部有効桁を除いたビット群)をRとしてスティッキー生成回路に送出し、命令OPが固定小数点乗算を示す場合にはN1およびN2とQとを加算した結果(N1とN2とを加算した上で、m−nビットのQをN1とN2とを加算した結果のm+n−1ビットのデータのうちの下位mビットの最上位ビットに合わせて加算したm+n−1ビットのデータ)のうちの下位mビット(固定小数点有効桁)を加算結果Hとして前記丸め桁合わせ回路に送出して全ビット0のRを前記スティッキー生成回路に送出する前記仮数部加算器と、Rの全ビットの総論理和を算出し、その算出結果をスティッキービットGとして前記丸め桁合わせ回路に送出する前記スティッキー生成回路と、命令OPが浮動小数点乗算を示す場合には符号出力Jと指数部加算結果Iと加算結果HとスティッキービットGとを入力として正規化(桁合わせ)および丸めを行って浮動小数点データ形式にビット群を連結した結果を浮動小数点乗算の演算結果Kとして出力し、命令OPが固定小数点乗算を示す場合には前記仮数部加算器の出力であるmビットの加算結果Hを固定小数点乗算の演算結果Kとして出力する前記丸め桁合わせ回路とを有すると表現することができる。
【0028】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【0029】
(1) 第1の実施の形態
【0030】
図1は、本発明の第1の実施の形態に係る乗算処理装置の構成を示すブロック図である。
【0031】
図1を参照すると、本実施の形態に係る乗算処理装置は、前処理回路1と、前処理回路2と、乗算アレイ3と、小乗算回路4と、指数部加算器5と、符号判定回路6と、スティッキー生成回路7と、仮数部加算器8と、丸め桁合わせ回路9とを含んで構成されている。
【0032】
前処理回路1は、乗算アレイ3と小乗算回路4と指数部加算器5と符号判定回路6とに接続されている。前処理回路2は、乗算アレイ3と小乗算回路4と指数部加算器5と符号判定回路6とに接続されている。乗算アレイ3は、前処理回路1と前処理回路2と仮数部加算器8とに接続されている。小乗算回路4は、前処理回路1と前処理回路2と仮数部加算器8とに接続されている。指数部加算器5は、前処理回路1と前処理回路2と丸め桁合わせ回路9とに接続されている。符号判定回路6は、前処理回路1と前処理回路2と丸め桁合わせ回路9とに接続されている。スティッキー生成回路7は、仮数部加算器8と丸め桁合わせ回路9とに接続されている。仮数部加算器8は、乗算アレイ3と小乗算回路4とスティッキー生成回路7と丸め桁合わせ回路9とに接続されている。丸め桁合わせ回路9は、指数部加算器5と符号判定回路6とスティッキー生成回路7と仮数部加算器8とに接続されている。
【0033】
前処理回路1は、命令OP(乗算の種類が浮動小数点乗算であるか固定小数点乗算であるかを示す情報を含む命令)に従ってm(mは正整数)ビット(bit)の入力データD1のビット分割を行い、命令OPが浮動小数点乗算を示す場合にはD1の最上位1ビットを符号S1として符号判定回路6に送出してD1の上位2ビット目からaビット(aはm>aに該当する正整数)分のビット群を指数部E1として指数部加算器5に送出し、命令OPが固定小数点乗算を示す場合には全ビット0のS1を符号判定回路6に送出して全ビット0のE1を指数部加算器5に送出し、命令OPが浮動小数点乗算を示す場合にはm−nビット分の0をF1として小乗算回路4に送出し、命令OPが固定小数点乗算を示す場合にはD1の下位m−nビット(nはm>nに該当する正整数)をF1として小乗算回路4に送出し、命令OPが浮動小数点乗算を示す場合にはD1の下位nビットにm−nビット分の0ビットを連結したmビットのデータをM1として乗算アレイ3に送出し、命令OPが固定小数点乗算を示す場合にはD1の全ビット(=mビット)をM1として乗算アレイ3に送出する。
【0034】
前処理回路2は、命令OPに従ってmビットの入力データD2のビット分割を行い、命令OPが浮動小数点乗算を示す場合にはD2の最上位1ビットを符号S2として符号判定回路6に送出してD2の上位2ビット目からaビット分を指数部E2として指数部加算器5に送出し、命令OPが固定小数点乗算を示す場合には全ビット0のS2を符号判定回路6に送出して全ビット0のE2を指数部加算器5に送出し、命令OPが浮動小数点乗算を示す場合にはm−nビット分の0をF2として小乗算回路4に送出し、命令OPが固定小数点乗算を示す場合にはD2の上位m−nビットをF2として小乗算回路4に送出し、D2の下位nビットをM2として乗算アレイ3に送出する。
【0035】
乗算アレイ3は、mビットのM1およびnビットのM2を入力として乗算を行い、m+n−1ビットの乗算結果(M1*M2の積)を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を仮数部加算器8に送出する。
【0036】
小乗算回路4は、m−nビットのF1およびF2を入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして求め、その乗算結果Qを仮数部加算器8に送出する。
【0037】
指数部加算器5は、aビットの指数部E1およびE2を入力として加算を行い、その結果である指数部加算結果Iを得て、その指数部加算結果Iを丸め桁合わせ回路9に送出する。
【0038】
符号判定回路6は、符号S1およびS2の排他的論理和を求め、その結果である符号出力Jを得て、その符号出力Jを丸め桁合わせ回路9に送出する。
【0039】
スティッキー生成回路7は、仮数部加算器8の出力であるRの全ビットの総論理和を算出し、その算出結果をスティッキービットGとして丸め桁合わせ回路9に送出する。
【0040】
仮数部加算器8は、乗算アレイ3の出力である中間積N1およびN2と小乗算回路4の出力である乗算結果Qとを入力として加算を行い、浮動小数点乗算時(命令OPが浮動小数点乗算を示す場合)にはその結果(m+n−1ビットのデータ)のうちの上位nビット(仮数部有効桁)を加算結果Hとして丸め桁合わせ回路9に送出して下位m−1ビット(仮数部有効桁を除いたビット群)をRとしてスティッキー生成回路7に送出し、固定小数点乗算時(命令OPが固定小数点乗算を示す場合)にはN1およびN2とQとを加算した結果(m+n−1ビットのデータ)のうちの下位mビット(固定小数点有効桁)を加算結果Hとして丸め桁合わせ回路9に送出して全ビット0のRをスティッキー生成回路7に送出する。
【0041】
丸め桁合わせ回路9は、命令OPが浮動小数点乗算を示す場合には、符号判定回路6の出力である符号出力Jと指数部加算器5の出力である指数部加算結果Iと仮数部加算器8の出力である加算結果Hとスティッキー生成回路7の出力であるスティッキービットGとを入力として正規化および丸めを行い、1ビットの符号とaビットの指数部とnビットの仮数部とからなるmビットの浮動小数点データ形式にビット群を連結し、その結果を浮動小数点乗算の演算結果Kとして出力する。また、命令OPが固定小数点乗算を示す場合には、仮数部加算器8の出力であるmビットの加算結果Hを固定小数点乗算の演算結果Kとして出力する。
【0042】
図2は、浮動小数点乗算における入力データD1およびD2のデータ構造を示す図である。D1およびD2は、符号ビットSと、指数部Eと、nビットの仮数部Mとからなる。
【0043】
図3は、固定小数点乗算における入力データD1およびD2のデータ構造を示す図である。D1およびD2は、固定小数点数のデータを示している。
【0044】
図4は、本実施の形態に係る乗算処理装置による浮動小数点乗算時における乗算処理を説明するための図である。
【0045】
図5は、本実施の形態に係る乗算処理装置による固定小数点乗算時における乗算処理を説明するための図である。
【0046】
図6は、本実施の形態に係る乗算処理装置と比較して従来の乗算処理装置による乗算処理を説明するための図である。
【0047】
図7は、乗算アレイ3を構成する加算回路(4入力2出力加算回路)の構造を示す図である。乗算アレイ3には、このような加算回路のいくつかが組み合わされて構成されており、また、このような加算回路以外の回路も含まれうる。
【0048】
図8は、図1に示す乗算処理装置による固定小数点乗算時の処理を示す流れ図である。この処理は、M1およびF1送出ステップ81と、M2およびF2送出ステップ82と、Q算出ステップ83と、Q送出ステップ84と、N1およびN2算出ステップ85と、N1およびN2送出ステップ86と、仮数部加算器処理ステップ87と、K出力ステップ88とからなる。
【0049】
次に、図1〜図8を参照して、上記のように構成された本実施の形態に係る乗算処理装置の全体の動作について詳細に説明する。
【0050】
第1に、浮動小数点乗算時の動作について説明する。
【0051】
mビットの浮動小数点データ(浮動小数点数のデータ)である入力データD1/入力データD2は、1ビットの符号ビットと、aビットの指数部Eと、nビットの仮数部Mとで構成され(図2参照)、前処理回路1/前処理回路2によって切り出される。
【0052】
ここで、一般的に(本発明に限らず)、浮動小数点データの乗算は、指数部の加算と仮数部の乗算とを行った後に、丸めおよび桁合わせを行うことにより結果を得ることができる。
【0053】
本実施の形態に係る乗算処理装置では、以下に示すようにして、この浮動小数点乗算が実現される。
【0054】
まず、前処理回路1は、命令OPが浮動小数点乗算を示していることを確認した場合に、図2に示すように、mビット(=1+a+nビット)の入力データD1を1ビットの符号ビットとaビットの指数部とnビットの仮数部とにビット分割し、1ビットの符号ビットをS1として符号判定回路6に送出し、aビットの指数部をE1として指数部加算器5に送出し、nビットの仮数部の下位側にa+1ビット分の0を付け足したM1(mビットのデータ)を乗算アレイ3に送出する。なお、浮動小数点乗算時には、前処理回路1から小乗算回路4に送出されるF1は、m−nビットの全ビットが0のデータとなる。
【0055】
また、前処理回路2は、命令OPが浮動小数点乗算を示していることを確認した場合に、図2に示すように、mビットの入力データD2を1ビットの符号ビットとaビットの指数部とnビットの仮数部とにビット分割し、1ビットの符号ビットをS2として符号判定回路6に送出し、aビットの指数部をE2として指数部加算器5に送出し、nビットの仮数部をM2として乗算アレイ3に送出する。なお、浮動小数点乗算時には、前処理回路2から小乗算回路4に送出されるF2は、m−nビットの全ビットが0のデータとなる。
【0056】
符号判定回路6は、S1とS2との排他的論理和を求め、その結果を浮動小数点乗算結果の符号出力Jとして丸め桁合わせ回路9に送出する。
【0057】
指数部加算器5は、E1とE2との加算を行い、その結果を指数部加算結果Iとして丸め桁合わせ回路9に送出する。
【0058】
小乗算回路4は、F1およびF2の乗算を行い、乗算結果Qを仮数部加算器8に送出する。ただし、ここでは、F1およびF2は共に全ビット0であるため、Qも0となる。
【0059】
乗算アレイ3は、前処理回路1から入力したmビットのM1を被乗数とし、前処理回路2から入力したnビットのM2を乗数として、乗数の各ビットに被乗数を乗じたもの(部分積と呼ぶ)を図4に示すように2進数の筆算の形にn段並べ、これらを加算することによって乗算結果(M1*M2の積)を求めるための処理を行う(本実施の形態では、乗算アレイ3は、M1*M2の乗算結果を算出する直前の段階の中間積N1およびN2を出力する)。各部分積の加算は、図7に示すような全加算器を含んで構成される加算回路(4入力2出力加算回路)を用いることにより行われる。乗算アレイ3は、このような加算回路を用いることによって、n個の部分積を2個になるまで加算し、最終的に得られた2つの部分積である中間積N1およびN2を仮数部加算器8に送出する。
【0060】
仮数部加算器8は、小乗算回路4の出力であるQと乗算アレイ3の出力であるN1およびN2とを加算する。図4に示すように、この加算結果はm+n−1ビットのデータになる(上述のようにQは0である)。
【0061】
仮数部加算器8は、図4に示すように、この加算結果(m+n−1ビットのデータ)のうちの仮数部有効桁である上位nビットを加算結果Hとして丸め桁合わせ回路9に送出し、当該加算結果(m+n−1ビットのデータ)から仮数部有効桁である上位nビットを除いた下位m−1ビットをRとしてスティッキー生成回路7に送出する。
【0062】
ここで、浮動小数点乗算時には、小乗算回路4の入力となるF1およびF2が0であることから小乗算回路4の出力のQは0となるため、HおよびRはN1およびN2の加算結果のみを元に仮数部有効桁とそれ以外とに分けられることになる。
【0063】
スティッキー生成回路7は、仮数部加算器8の出力であるRの全ビットの総論理和を求め、その結果をスティッキービットGとして丸め桁合わせ回路9に送出する。
【0064】
丸め桁合わせ回路9は、命令OP(浮動小数点乗算を示す命令OP)とスティッキービットGとを制御信号として、符号判定回路6の出力である符号出力Jと指数部加算器5の出力である指数部加算結果Iと仮数部加算器8の出力である加算結果Hとから丸めと桁合わせとを行い、浮動小数点数のデータ形式で演算結果K(浮動小数点乗算における演算結果K)を出力する。
【0065】
第2に、固定小数点乗算時の動作について説明する。
【0066】
図6に示すように、従来の乗算処理装置(例えば、図9に示す乗算処理装置)における固定小数点乗算では、mビットの入力データD1およびD2がm*mビットの乗算アレイ(例えば、図9中の乗算アレイ93)に与えられていた。そして、その乗算アレイが、mビットの部分積を2進数の筆算の形にm段並べ、これらを加算することによって2m−1ビットの積を得ていた(図9の例においては、N1とN2との加算は仮数部加算器98によって行われている)。その上で、この積(2m−1ビットのデータ)のうちの下位mビットが、固定小数点乗算の有効桁として、乗算結果出力となっていた。
【0067】
これに対して、本実施の形態、ひいては本発明の乗算処理装置においては、以下に示すようにして、固定小数点乗算が実現される(図8参照)。
【0068】
まず、前処理回路1は、命令OPが固定小数点乗算を示していることを確認した場合に、図3に示すように、mビットの入力データD1をM1として乗算アレイ3に送出し、D1の下位m−nビットをF1として小乗算回路4に送出する(ステップ81)。
【0069】
また、前処理回路2は、命令OPが固定小数点乗算を示していることを確認した場合に、図3に示すように、mビットの入力データD2の下位nビットをM2として乗算アレイ3に送出し、D2の上位m−nビットをF2として小乗算回路4に送出する(ステップ82)。
【0070】
この時、前処理回路1および前処理回路2は、符号判定回路6の入力となるS1およびS2と、指数部加算器5の入力となるE1およびE2とを、全ビット0として送出する。なお、符号判定回路6および指数部加算器5の出力(JおよびI)は、固定小数点乗算時には使用されない。
【0071】
小乗算回路4は、F1およびF2の乗算を行い、その結果の下位m−nビットを乗算結果Qとして求め(ステップ83)、そのQを仮数部加算器8に送出する(ステップ84)。先述のように、小乗算回路4の入力F1およびF2は、それぞれ、D1の下位m−nビットおよびD2の上位m−nビットである。そのため、小乗算回路4が乗算を行って求めるデータは、図5の斜線部に示されるように、m*nビットの乗算アレイ(乗算アレイ3)では求められないものであり、かつ、mビットの固定小数点乗算を行う際に必要なものとなる。
【0072】
乗算アレイ3は、前処理回路1から入力したM1を被乗数とし、前処理回路2から入力したM2を乗数として、乗数の各ビットに被乗数を乗じたもの(部分積と呼ぶ)を図5に示すように2進数の筆算の形にn段並べ、これを加算することによって積(M1*M2の乗算結果)を求めるための処理を行い、最終的に得られる2つの部分積である中間積N1およびN2を算出する(ステップ85)。各部分積の加算は、例えば、図7に示すような全加算器を含んで構成される加算回路(4入力2出力加算回路)を用いることにより行われる。乗算アレイ3は、このような加算回路を用いることによって、n個の部分積を2個になるまで加算し、最終的に得られた2つの部分積である中間積N1およびN2を仮数部加算器8に送出する(ステップ86)。
【0073】
仮数部加算器8は、図5に示すように、小乗算回路4の出力であるQと乗算アレイ3の出力であるN1およびN2とを入力として、以下のa〜cに示すような処理を行う(ステップ87)。
【0074】
a.N1とN2とを加算した上で、小乗算回路4の出力であるm−nビットのQを、N1およびN2の加算結果のm+n−1ビットのデータのうちの下位mビットの最上位ビットに合わせて加算することにより、乗算結果(D1とD2との乗算結果)のうちの固定小数点有効桁である下位mビットを得る。
【0075】
b.aで求めた固定小数点有効桁である下位mビットのデータを、加算結果Hとして丸め桁合わせ回路9に送出する。
【0076】
c.スティッキー生成回路7に、全ビット0のRを送出する。
【0077】
丸め桁合わせ回路9は、固定小数点乗算を示す命令OPを制御信号として、仮数部加算器8の出力であるmビットのHを選択し、そのHを演算結果K(固定小数点乗算における演算結果K)として出力する(ステップ88)。
【0078】
なお、符号判定回路6および指数部加算器5ならびにスティッキー生成回路7への入力は全て0であるため、これらの各回路の出力(丸め桁合わせ回路9の入力となるJ,I,およびG)は全て0となる。また、丸め桁合わせ回路9は、固定小数点乗算時には仮数部加算器8の出力のみを参照するため、これらの各回路の出力は使用されない。
【0079】
上記のようにして、本実施の形態、ひいては本発明では、m*nビットの乗算アレイ3と(m−n)*(m−n)ビットの小乗算回路4とによってm*mビットの固定小数点乗算が実現されているため、従来のm*mビットの乗算アレイによる乗算処理(図6参照)では固定小数点乗算時に参照されずに不要となる領域(図5中の斜線部参照)のハードウェアを削減することが可能になる。なお、浮動小数点乗算時における仮数部の乗算結果はm*nビットの乗算アレイで求められるため、浮動小数点乗算時にも上記の領域は参照されずに、m*mビットの乗算アレイでは冗長なハードウェアとなっていた。
【0080】
(2) 第2〜第4の実施の形態
【0081】
上記の第1の実施の形態に係る乗算処理装置に対しては、以下のような変形形態(第2〜第4の実施の形態)を考えることができる。
【0082】
(2−1) 第2の実施の形態
【0083】
第1の実施の形態に対する第1の変形形態(第2の実施の形態)に係る乗算処理装置は、図1に示す第1の実施の形態における構成と比較して、スティッキー生成回路7が存在せず、丸め桁合わせ回路9が「桁合わせ回路」に変更された構成を有するものとなる。
【0084】
本実施の形態においては、浮動小数点乗算時におけるスティッキービットに基づく丸めが行われない点が、第1の実施の形態における動作と異なっている(すなわち、仮数部加算器8によるRの出力および「桁合わせ回路」によるGの入力は行われない)。その他の動作については、第2の実施の形態も第1の実施の形態と変わるところはない。
【0085】
(2−2) 第3の実施の形態
【0086】
第1の実施の形態に対する第2の変形形態(第3の実施の形態)に係る乗算処理装置は、図1に示す第1の実施の形態における構成と比較して、2個の出力のN1およびN2(2つの中間積)を送出する乗算アレイ3が、1個の出力のN(M1*M2の積となるN1とN2との加算結果)を送出する乗算アレイに変更された構成を有するものとなる。
【0087】
本実施の形態においては、乗算アレイ3が中間積N1およびN2を出力するのではなく、M1*M2の乗算結果である積N(N1とN2との加算結果)を仮数部加算器8に送出する点が、第1の実施の形態における動作と異なっている(これにより、仮数部加算器8ではN1とN2とを加算する処理が不要になる)。その他の動作については、第3の実施の形態も第1の実施の形態と変わるところはない。
【0088】
(2−3) 第4の実施の形態
【0089】
第1の実施の形態に対する第3の変形形態(第4の実施の形態)に係る乗算処理装置は、図1に示す第1の実施の形態における構成と比較して、スティッキー生成回路7が存在せず、丸め桁合わせ回路9が「桁合わせ回路」に変更され、かつ、2個の出力のN1およびN2を送出する乗算アレイ3が1個の出力のNを送出する乗算アレイに変更された構成を有するものとなる。
【0090】
本実施の形態(第4の実施の形態)においては、上述の第2の実施の形態における変更点と第3の実施の形態における変更点とを併有する動作を行う点が、第1の実施の形態における動作と異なっている。その他の動作については、第4の実施の形態も第1の実施の形態と変わるところはない。
【0091】
【発明の効果】
以上説明したように、本発明によると、浮動小数点乗算と固定小数点乗算とを同一のハードウェアを用いて行う乗算処理装置の回路規模を縮小することができるという効果が生じる。
【0092】
すなわち、mビットの浮動小数点データ内のnビットの仮数部の乗算を行うことのできるm*nビットの乗算アレイ(図1における乗算アレイ3)に、m−nビットの小乗算回路(図1における小乗算回路4)を付加することにより、m*mビットの乗算アレイを用いずともm*mビット固定小数点乗算を行うことができるようになるので、m*mビットの乗算アレイを用いてm*mビット固定小数点乗算を行う構成の従来の乗算処理装置よりも、本発明に係る乗算処理装置は、回路規模を縮小することができるという効果が生じる。
【0093】
このような効果が生じる理由は、上述のようにm*nビットの乗算アレイにm−nビットの小乗算回路(m−nビット同士を2つの入力とする小乗算回路)を付加することにより、m*mビットの乗算アレイ(mビット同士を2つの入力とする乗算アレイ)を用いずともmビット同士の固定小数点乗算を実現できるので、固定小数点乗算時に有効桁から切り捨てられて参照されないm*mビットの乗算アレイ中の領域のハードウェアを削減することができるためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る乗算処理装置の構成を示すブロック図である。
【図2】図1に示す乗算処理装置によって行われる浮動小数点乗算における入力データD1およびD2のデータ構造を示す図である。
【図3】図1に示す乗算処理装置によって行われる固定小数点乗算における入力データD1およびD2のデータ構造を示す図である。
【図4】図1に示す乗算処理装置による浮動小数点乗算時における乗算処理を説明するための図である。
【図5】図1に示す乗算処理装置による固定小数点乗算時における乗算処理を説明するための図である。
【図6】図1に示す乗算処理装置と比較して従来の乗算処理装置による乗算処理を説明するための図である。
【図7】図1中の乗算アレイを構成する加算回路の構造を示す図である。
【図8】図1に示す乗算処理装置による固定小数点乗算時の処理を示す流れ図である。
【図9】従来の乗算処理装置の一例の構成を示すブロック図である。
【図10】図9に示す従来の乗算処理装置の動作を説明するための図である。
【符号の説明】
1,2 前処理回路
3 乗算アレイ
4 小乗算回路
5 指数部加算器
6 符号判定回路
7 スティッキー生成回路
8 仮数部加算器
9 丸め桁合わせ回路
81 M1およびF1送出ステップ
82 M2およびF2送出ステップ
83 Q算出ステップ
84 Q送出ステップ
85 N1およびN2算出ステップ
86 N1およびN2送出ステップ
87 仮数部加算器処理ステップ
88 K出力ステップ

Claims (8)

  1. 同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
    固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を出力するm*nビット構成の乗算アレイと、
    固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、
    前記乗算アレイの出力であるN1およびN2ならびに前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、
    前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路と
    を備えることを特徴とする乗算処理装置。
  2. 同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
    固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果である積Nを算出し、当該積Nを出力するm*nビット構成の乗算アレイと、
    固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、
    前記乗算アレイの出力であるNおよび前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、
    前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせとスティッキービットに基づく丸めとを行った結果を演算結果として出力する丸め桁合わせ回路と
    を備えることを特徴とする乗算処理装置。
  3. 同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
    固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を出力するm*nビット構成の乗算アレイと、
    固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、
    前記乗算アレイの出力であるN1およびN2ならびに前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、
    前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路と
    を備えることを特徴とする乗算処理装置。
  4. 同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
    固定小数点乗算時に、第1のmビット固定小数点データの全ビットおよび第2のmビット固定小数点データの下位nビットを入力として乗算を行い、m+n−1ビットの乗算結果である積Nを算出し、当該積Nを出力するm*nビット構成の乗算アレイと、
    固定小数点乗算時に、第1のmビット固定小数点データの下位m−nビットおよび第2のmビット固定小数点データの上位m−nビットを入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして出力する小乗算回路と、
    前記乗算アレイの出力であるNおよび前記小乗算回路の出力であるQを入力としてそれらを加算する仮数部加算器と、
    前記仮数部加算器の出力を入力として、固定小数点乗算時には当該入力を演算結果として出力し、浮動小数点乗算時には当該入力に対して桁合わせを行った結果を演算結果として出力する桁合わせ回路と
    を備えることを特徴とする乗算処理装置。
  5. 同一のハードウェアで浮動小数点乗算および固定小数点乗算のそれぞれを行う乗算処理装置において、
    命令OPに従ってmビットの入力データD1のビット分割を行い、命令OPが浮動小数点乗算を示す場合にはD1の最上位1ビットを符号S1として符号判定回路に送出してD1の上位2ビット目からaビット分のビット群を指数部E1として指数部加算器に送出し、命令OPが固定小数点乗算を示す場合には全ビット0のS1を前記符号判定回路に送出して全ビット0のE1を前記指数部加算器に送出し、命令OPが浮動小数点乗算を示す場合にはm−nビット分の0をF1として小乗算回路に送出し、命令OPが固定小数点乗算を示す場合にはD1の下位m−nビットをF1として前記小乗算回路に送出し、命令OPが浮動小数点乗算を示す場合にはD1の下位nビットにm−nビット分の0ビットを連結したmビットのデータをM1として乗算アレイに送出し、命令OPが固定小数点乗算を示す場合にはD1の全ビットをM1として前記乗算アレイに送出する第1の前処理回路と、
    命令OPに従ってmビットの入力データD2のビット分割を行い、命令OPが浮動小数点乗算を示す場合にはD2の最上位1ビットを符号S2として前記符号判定回路に送出してD2の上位2ビット目からaビット分を指数部E2として前記指数部加算器に送出し、命令OPが固定小数点乗算を示す場合には全ビット0のS2を前記符号判定回路に送出して全ビット0のE2を前記指数部加算器に送出し、命令OPが浮動小数点乗算を示す場合にはm−nビット分の0をF2として前記小乗算回路に送出し、命令OPが固定小数点乗算を示す場合にはD2の上位m−nビットをF2として前記小乗算回路に送出し、D2の下位nビットをM2として前記乗算アレイに送出する第2の前処理回路と、
    M1を被乗数としM2を乗数として、乗数の各ビットに被乗数を乗じた部分積を2進数の筆算の形にn段並べ、これらを加算することによってm+n−1ビットの乗算結果を得るための2個の中間積N1およびN2を算出し、当該中間積N1およびN2を仮数部加算器に送出する前記乗算アレイと、
    m−nビットのF1およびF2を入力として乗算を行い、その結果の下位m−nビットを乗算結果Qとして求め、その乗算結果Qを前記仮数部加算器に送出する前記小乗算回路と、
    aビットの指数部E1およびE2を入力として加算を行い、その結果である指数部加算結果Iを得て、その指数部加算結果Iを丸め桁合わせ回路に送出する前記指数部加算器と、
    符号S1およびS2の排他的論理和を求め、その結果である符号出力Jを得て、その符号出力Jを前記丸め桁合わせ回路に送出する前記符号判定回路と、
    前記乗算アレイの出力である中間積N1およびN2と前記小乗算回路の出力である乗算結果Qとを入力として加算を行い、命令OPが浮動小数点乗算を示す場合にはその加算によって求めた結果のm+n−1ビットのデータのうちの上位nビットを加算結果Hとして前記丸め桁合わせ回路に送出して下位m−1ビットをRとしてスティッキー生成回路に送出し、命令OPが固定小数点乗算を示す場合にはN1およびN2とQとを加算した結果のうちの下位mビットを加算結果Hとして前記丸め桁合わせ回路に送出して全ビット0のRを前記スティッキー生成回路に送出する前記仮数部加算器と、
    Rの全ビットの総論理和を算出し、その算出結果をスティッキービットGとして前記丸め桁合わせ回路に送出する前記スティッキー生成回路と、
    命令OPが浮動小数点乗算を示す場合には符号出力Jと指数部加算結果Iと加算結果HとスティッキービットGとを入力として正規化および丸めを行って浮動小数点データ形式にビット群を連結した結果を浮動小数点乗算の演算結果Kとして出力し、命令OPが固定小数点乗算を示す場合には前記仮数部加算器の出力であるmビットの加算結果Hを固定小数点乗算の演算結果Kとして出力する前記丸め桁合わせ回路と
    を有することを特徴とする乗算処理装置。
  6. スティッキー生成回路が存在せず丸め桁合わせ回路が桁合わせ回路に変更された構成を有しており、浮動小数点乗算時におけるスティッキービットに基づく丸めが行われないことを特徴とする請求項5記載の乗算処理装置。
  7. 中間積N1およびN2を出力する乗算アレイがM1*M2の積となるN1とN2との加算結果であるNを出力する乗算アレイに変更された構成を有しており、前記乗算アレイが中間積N1およびN2を出力するのではなくM1*M2の乗算結果である積Nを仮数部加算器に送出し、前記仮数部加算器ではN1とN2とを加算する処理が不要になることを特徴とする請求項5記載の乗算処理装置。
  8. スティッキー生成回路が存在せず丸め桁合わせ回路が桁合わせ回路に変更されており、かつ、中間積N1およびN2を出力する乗算アレイがM1*M2の積となるN1とN2との加算結果であるNを出力する乗算アレイに変更された構成を有しており、浮動小数点乗算時におけるスティッキービットに基づく丸めが行われず、かつ、前記乗算アレイが中間積N1およびN2を出力するのではなくM1*M2の乗算結果である積Nを仮数部加算器に送出し、前記仮数部加算器ではN1とN2とを加算する処理が不要になることを特徴とする請求項5記載の乗算処理装置。
JP2003141619A 2003-05-20 2003-05-20 乗算処理装置 Expired - Fee Related JP3803653B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003141619A JP3803653B2 (ja) 2003-05-20 2003-05-20 乗算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003141619A JP3803653B2 (ja) 2003-05-20 2003-05-20 乗算処理装置

Publications (2)

Publication Number Publication Date
JP2004348215A JP2004348215A (ja) 2004-12-09
JP3803653B2 true JP3803653B2 (ja) 2006-08-02

Family

ID=33529927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003141619A Expired - Fee Related JP3803653B2 (ja) 2003-05-20 2003-05-20 乗算処理装置

Country Status (1)

Country Link
JP (1) JP3803653B2 (ja)

Also Published As

Publication number Publication date
JP2004348215A (ja) 2004-12-09

Similar Documents

Publication Publication Date Title
CN105468331B (zh) 独立的浮点转换单元
JP2000347836A (ja) 高次基数除算器およびその方法
EP0613082A1 (en) 4:2 adder and multiplier circuit employing the same
KR101560340B1 (ko) 포화가 적용된 정수 곱셈 연산 및 곱셈-덧셈 연산
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
Hormigo et al. Measuring improvement when using HUB formats to implement floating-point systems under round-to-nearest
EP0416869B1 (en) Digital adder/accumulator
JP3345894B2 (ja) 浮動小数点乗算器
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
Yan et al. An energy-efficient multiplier with fully overlapped partial products reduction and final addition
US3842250A (en) Circuit for implementing rounding in add/subtract logic networks
US20200183650A1 (en) Radix-1000 decimal floating-point numbers and arithmetic units using a skewed representation of the fraction
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US6546411B1 (en) High-speed radix 100 parallel adder
JP3803653B2 (ja) 乗算処理装置
Sousa et al. Towards the integration of reverse converters into the RNS channels
JPH09222991A (ja) 加算方法および加算器
JP2018097864A (ja) リーディングゼロ予想
EP0954776A1 (en) System and method for a fast carry/sum select adder
US7043517B2 (en) Multiply accumulator for two N bit multipliers and an M bit addend
US5473558A (en) Method for generating hardware description of multiplier and/or multiplier-adder
JPH0793134A (ja) 乗算器
US20130238680A1 (en) Decimal absolute value adder
US20040181567A1 (en) Method and device for floating-point multiplication, and corresponding computer-program product
US20060277246A1 (en) Multiplication circuitry

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050127

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060508

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130512

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140512

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees