JPH10333883A - 乗算方法および乗算回路 - Google Patents

乗算方法および乗算回路

Info

Publication number
JPH10333883A
JPH10333883A JP10078695A JP7869598A JPH10333883A JP H10333883 A JPH10333883 A JP H10333883A JP 10078695 A JP10078695 A JP 10078695A JP 7869598 A JP7869598 A JP 7869598A JP H10333883 A JPH10333883 A JP H10333883A
Authority
JP
Japan
Prior art keywords
rounding
shift
multiplication
signal
bit
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
Application number
JP10078695A
Other languages
English (en)
Other versions
JP3252954B2 (ja
Inventor
Masanori Nishisashi
真納 西指
Shiyunichi Kuroumaru
俊一 九郎丸
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP07869598A priority Critical patent/JP3252954B2/ja
Publication of JPH10333883A publication Critical patent/JPH10333883A/ja
Application granted granted Critical
Publication of JP3252954B2 publication Critical patent/JP3252954B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 処理量を増大させることなく、丸め込み処理
が施された乗算結果を用いる処理に対して、ユーザー所
望の適切な丸め位置での丸め込み処理を実現する。 【解決手段】 丸め込み信号生成手段105は、乗算処
理による乗算結果の任意の切り出しビット範囲の最下位
ビットと基準切り出しビット範囲の最下位ビットとの差
に対応したシフトビット数信号108を基に、乗算処理
による乗算結果の任意の切り出しビット範囲の最下位ビ
ットの隣接下位ビットに加える丸め込み用数値からなる
丸め込み信号106を生成する。加算手段109で乗算
手段103による乗算結果104と丸め込み信号106
とを加算して丸め込み処理後の乗算結果110を得る。
丸め込み処理後の乗算結果110は、レジスタ111に
格納された後、バレルシフタ112によってシフトビッ
ト数信号108が示すビット数の分だけシフトされ、シ
フト結果格納レジスタ113へ出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像・音声分野の
ディジタル信号処理などに用いられる固定小数点方式の
乗算命令を実行するための乗算方法および乗算回路に関
する。
【0002】
【従来の技術】図9は従来の丸め込み機能付き乗算命令
における乗算方法を示す概念図である。この従来の乗算
方法は、乗数901と被乗数902の乗算によって得ら
れる乗算結果903に対して、丸め込み処理を行う所定
の丸め位置905に、丸め込み信号906として1を加
えて丸め込み処理を行った後、丸め位置905以下のビ
ット範囲908を切り捨てたものを、丸め込み処理を施
した乗算結果907とするものである。
【0003】
【発明が解決しようとする課題】しかしながら図9に示
した従来例のように、丸め込み処理を必要とする乗算を
実行する際に、続く処理においてその乗算結果907を
どのように用いるかに関係なく、一律に所定の丸め位置
905に1を加算する方法では、所定の丸め位置905
以下のビット範囲908が乗算結果として無意味になっ
てしまう。このため、乗算結果903の下位からmビッ
ト目を所定の丸め位置905とすると、丸め込み処理を
施した乗算結果907として切り出せるビット範囲が、
乗算結果903のうち下位からm+1ビット目を最下位
ビットとした上位ビット部分に限定されてしまう。
【0004】このため、例えば乗数と被乗数の小数点位
置が可変で、これらの乗算によって得られる乗算結果の
小数点以下に丸め込み処理を施した後、整数ビットのみ
を切り出したい場合には、乗算によって得られる乗算結
果の小数点位置が、乗数と被乗数の小数点位置に応じて
変動するため、乗算命令を実行するユーザーは、所定の
丸め位置905が小数点以下を丸め込むための適切な丸
め位置になるように、前もって乗数あるいは被乗数に対
してシフト演算を行っておく(例えば特開平5−224
888号公報参照)、あるいは、乗算を丸め込み処理な
しで行い、あらためて乗算結果の小数点以下に対して丸
め込み処理を行う必要があった。
【0005】以上のように、従来の乗算方法では、乗算
命令を実行するユーザーは、丸め込み処理を施した乗算
結果907を、切り出したいビット範囲とするために、
所定の丸め位置905が適切な丸め位置になるように、
前もって乗数あるいは被乗数に対してシフト演算を行っ
ておくか、あるいは、乗算を丸め込み処理なしで行った
後、その乗算結果の切り出したいビット範囲に応じて、
あらためて加算処理などによって丸め込み処理を行う必
要があり、処理量が増大するという課題があった。
【0006】本発明の目的は、処理量を増大させること
なく、丸め込み処理が施された乗算結果を用いる処理に
対して、ユーザー所望の適切な丸め位置での丸め込み処
理を実現できる乗算方法および乗算回路を提供すること
である。
【0007】
【課題を解決するための手段】請求項1記載の乗算方法
は、乗算命令によって得られる乗数と被乗数とを乗算す
る乗算処理と、乗算処理による乗算結果の任意の切り出
しビット範囲の最下位ビットと基準切り出しビット範囲
の最下位ビットとの差に対応したシフトビット数信号を
基に、乗算処理による乗算結果の任意の切り出しビット
範囲の最下位ビットの隣接下位ビットに加える丸め込み
用数値からなる丸め込み信号を生成する丸め込み信号生
成処理と、乗算処理による乗算結果と丸め込み信号とを
加算することにより丸め込み処理後の乗算結果を作成す
る加算処理と、シフトビット数信号が示すシフトビット
数の分だけ丸め込み処理後の乗算結果をシフトさせるこ
とにより丸め込み処理後の乗算結果を任意の切り出しビ
ット範囲で切り出させるシフト処理とを含んでいる。
【0008】この乗算方法によれば、丸め込み処理後の
乗算結果をシフトさせるビット数に応じたシフトビット
数信号を基に生成した丸め込み信号を用いて丸め込み処
理を行うことにより、シフト処理により切り出すビット
範囲に、丸め込み処理によって乗算結果としては意味の
無くなったビットが含まれることなく、丸め込み処理が
施された乗算結果を用いる処理に対して、ユーザー所望
の適切な丸め位置での丸め込み処理を実現することがで
きる。また、従来のように前もって乗数あるいは被乗数
に対してシフト演算を行ったり、乗算を丸め込み処理な
しで行った後、その乗算結果の切り出したいビット範囲
に応じて、あらためて丸め込み処理を行う必要がないた
め、処理量の増大を防止できる。なお、加算処理により
作成した丸め込み処理後の乗算結果を、シフトさせて切
り出したものを丸め込み処理が施された乗算結果とい
う。
【0009】請求項2記載の乗算方法は、部分積生成お
よび部分積加算によって乗算処理を行う乗算方法であっ
て、乗算処理による乗算結果の任意の切り出しビット範
囲の最下位ビットと基準切り出しビット範囲の最下位ビ
ットとの差に対応したシフトビット数信号を基に、乗算
処理による乗算結果の任意の切り出しビット範囲の最下
位ビットの隣接下位ビットに加える丸め込み用数値から
なる丸め込み信号を生成する丸め込み信号生成処理と、
乗算命令によって得られる乗数と被乗数との部分積を生
成する部分積生成処理と、部分積生成処理により生成し
た全ての部分積と丸め込み信号とを加算することにより
丸め込み処理後の乗算結果を作成する加算処理と、シフ
トビット数信号が示すシフトビット数の分だけ丸め込み
処理後の乗算結果をシフトさせることにより丸め込み処
理後の乗算結果を任意の切り出しビット範囲で切り出さ
せるシフト処理とを含むことを特徴とする。
【0010】この乗算方法によれば、丸め込み処理後の
乗算結果をシフトさせるビット数に応じたシフトビット
数信号を基に生成した丸め込み信号を用いて丸め込み処
理を行うことにより、シフト処理により切り出すビット
範囲に、丸め込み処理によって乗算結果としては意味の
無くなったビットが含まれることなく、丸め込み処理が
施された乗算結果を用いる処理に対して、ユーザー所望
の適切な丸め位置での丸め込み処理を実現することがで
きる。また、従来のように前もって乗数あるいは被乗数
に対してシフト演算を行ったり、乗算を丸め込み処理な
しで行った後、その乗算結果の切り出したいビット範囲
に応じて、あらためて丸め込み処理を行う必要がないた
め、処理量の増大を防止できる。さらに、部分積生成処
理および加算処理からなる乗算処理中に、丸め込み処理
を含めて行うことにより、処理の高速化および処理回路
の規模の低減を実現できる。
【0011】請求項3記載の乗算方法は、請求項1また
は2記載の乗算方法において、シフトビット数信号は一
時保持された後で、丸め込み信号生成処理およびシフト
処理に用いられることを特徴とする。これにより、シフ
トビット数信号の設定を、乗算命令より以前の別の命令
で前もって行えばよく、乗算命令において行う必要はな
く、命令コード長の増加を回避することができる。
【0012】請求項4記載の乗算方法は、請求項3記載
の乗算方法において、一時保持されたシフトビット数信
号と零ビットを示す零信号とのうち一方を選択して丸め
込み信号生成処理およびシフト処理に用い、零信号を選
択して用いた際には、丸め込み信号生成処理では乗算処
理による乗算結果の基準切り出しビット範囲の最下位ビ
ットの隣接下位ビットに加える丸め込み用数値からなる
丸め込み信号を生成し、シフト処理では丸め込み処理後
の乗算結果のシフトを行わないことを特徴とする。
【0013】これにより、零信号を選択して用いた際に
は、予め設定された固定位置を丸め位置とする丸め込み
処理を行い、シフト処理を行わない従来の乗算方法を行
うことも可能となる。請求項5記載の乗算回路は、乗算
命令によって得られる乗数と被乗数とを入力しその乗算
結果を出力する乗算手段と、乗算手段による乗算結果の
任意の切り出しビット範囲の最下位ビットと基準切り出
しビット範囲の最下位ビットとの差に対応したシフトビ
ット数信号を基に、乗算手段による乗算結果の任意の切
り出しビット範囲の最下位ビットの隣接下位ビットに加
える丸め込み用数値からなる丸め込み信号を生成する丸
め込み信号生成手段と、乗算手段による乗算結果と丸め
込み信号生成手段により生成した丸め込み信号とを加算
することにより丸め込み処理後の乗算結果を作成する加
算手段と、シフトビット数信号が示すシフトビット数の
分だけ加算手段の作成した丸め込み処理後の乗算結果を
シフトさせて丸め込み処理後の乗算結果を任意の切り出
しビット範囲で切り出させるシフト手段とを備えてい
る。
【0014】この構成によれば、丸め込み処理後の乗算
結果をシフトさせるビット数に応じたシフトビット数信
号を基に生成した丸め込み信号を用いて丸め込み処理を
行うことにより、シフト手段が切り出すビット範囲に、
丸め込み処理によって乗算結果としては意味の無くなっ
たビットが含まれることなく、丸め込み処理が施された
乗算結果を用いる処理に対して、ユーザー所望の適切な
丸め位置での丸め込み処理を実現することができる。ま
た、従来のように前もって乗数あるいは被乗数に対して
シフト演算を行ったり、乗算を丸め込み処理なしで行っ
た後、その乗算結果の切り出したいビット範囲に応じ
て、あらためて丸め込み処理を行う必要がないため、処
理量の増大を防止できる。
【0015】請求項6記載の乗算回路は、請求項5記載
の乗算回路において、シフトビット数信号を一時保持
し、丸め込み信号生成手段およびシフト手段へ出力する
シフト数保存手段を設けたことを特徴とする。このよう
に、シフト数保存手段を設けたことにより、シフトビッ
ト数信号の設定を、乗算命令より以前の別の命令で前も
って行えばよく、乗算命令において行う必要はなく、命
令コード長の増加を回避することができる。
【0016】請求項7記載の乗算回路は、請求項6記載
の乗算回路において、シフト数保存手段と丸め込み信号
生成手段およびシフト手段との間に、シフト数保存手段
のシフトビット数信号と零ビットを示す零信号とのうち
一方を選択して丸め込み信号生成手段およびシフト手段
へ出力するシフト数選択手段を設け、このシフト数選択
手段が零信号を選択して出力した際には、丸め込み信号
生成手段は乗算結果の基準切り出しビット範囲の最下位
ビットの隣接下位ビットに加える丸め込み用数値からな
る丸め込み信号を生成し、シフト手段では丸め込み処理
後の乗算結果のシフトを行わないようにしたことを特徴
とする。
【0017】これにより、シフト数選択手段が零信号を
選択して出力した際には、予め設定された固定位置を丸
め位置とする丸め込み処理を行い、シフト処理を行わな
い従来の乗算方法を行うことも可能となる。請求項8記
載の乗算回路は、部分積生成および部分積加算によって
乗算処理を行う乗算回路であって、乗算処理による乗算
結果の任意の切り出しビット範囲の最下位ビットと基準
切り出しビット範囲の最下位ビットとの差に対応したシ
フトビット数信号を基に、乗算処理による乗算結果の任
意の切り出しビット範囲の最下位ビットの隣接下位ビッ
トに加える丸め込み用数値からなる丸め込み信号を生成
する丸め込み信号生成手段と、乗算命令によって得られ
る乗数と被乗数との部分積を生成する部分積生成手段
と、部分積生成手段により生成した全ての部分積と丸め
込み信号生成手段により生成した丸め込み信号とを加算
することにより丸め込み処理後の乗算結果を作成する加
算手段と、シフトビット数信号が示すシフトビット数の
分だけ加算手段の作成した丸め込み処理後の乗算結果を
シフトさせて丸め込み処理後の乗算結果を任意の切り出
しビット範囲で切り出させるシフト手段とを設けたこと
を特徴とする。
【0018】この構成によれば、丸め込み処理後の乗算
結果をシフトさせるビット数に応じたシフトビット数信
号を基に生成した丸め込み信号を用いて丸め込み処理を
行うことにより、シフト手段が切り出すビット範囲に、
丸め込み処理によって乗算結果としては意味の無くなっ
たビットが含まれることなく、丸め込み処理が施された
乗算結果を用いる処理に対して、ユーザー所望の適切な
丸め位置での丸め込み処理を実現することができる。ま
た、従来のように前もって乗数あるいは被乗数に対して
シフト演算を行ったり、乗算を丸め込み処理なしで行っ
た後、その乗算結果の切り出したいビット範囲に応じ
て、あらためて丸め込み処理を行う必要がないため、処
理量の増大を防止できる。さらに、部分積生成手段およ
び加算手段による乗算処理中に、丸め込み処理を含めて
行うことにより、処理の高速化および処理回路の規模の
低減を実現できる。
【0019】請求項9記載の乗算回路は、請求項8記載
の乗算回路において、シフトビット数信号を一時保持
し、丸め込み信号生成手段およびシフト手段へ出力する
シフト数保存手段を設けたことを特徴とする。このよう
に、シフト数保存手段を設けたことにより、シフトビッ
ト数信号の設定を、乗算命令より以前の別の命令で前も
って行えばよく、乗算命令において行う必要はなく、命
令コード長の増加を回避することができる。
【0020】請求項10記載の乗算回路は、請求項9記
載の乗算回路において、シフト数保存手段と丸め込み信
号生成手段およびシフト手段との間に、シフト数保存手
段のシフトビット数信号と零ビットを示す零信号とのう
ち一方を選択して丸め込み信号生成手段およびシフト手
段へ出力するシフト数選択手段を設け、このシフト数選
択手段が零信号を選択して出力した際には、丸め込み信
号生成手段は乗算結果の基準切り出しビット範囲の最下
位ビットの隣接下位ビットに加える丸め込み用数値から
なる丸め込み信号を生成し、シフト手段では丸め込み処
理後の乗算結果のシフトを行わないようにしたことを特
徴とする。
【0021】これにより、シフト数選択手段が零信号を
選択して出力した際には、予め設定された固定位置を丸
め位置とする丸め込み処理を行い、シフト処理を行わな
い従来の乗算方法を行うことも可能となる。請求項11
記載の乗算回路は、請求項5,6,7,8,9または1
0記載の乗算回路において、加算手段とシフト手段との
間に、加算手段の出力信号と他の信号とのうち一方を選
択してシフト手段へ出力するシフト入力切換手段を設け
たことを特徴とする。
【0022】このように、シフト入力切換手段を設けた
ことにより、乗算を行うことなく、他の信号のシフトの
みを行うことができる。
【0023】
【発明の実施の形態】画像・音声分野のディジタル信号
処理などを行うプロセッサに用いられる、固定小数点方
式の乗算命令を実行するための本発明の実施の形態にお
ける乗算方法および乗算回路について、図面を参照しな
がら説明する。 (第1の実施の形態)図1は本発明の第1の実施の形態
の乗算回路のブロック図である。図1において、101
は乗数、102は被乗数、103は乗算手段、104は
乗算手段103の出力としての乗算結果、105は丸め
込み信号生成手段、106は丸め込み信号生成手段10
5の出力としての丸め込み信号、107はプロセッサの
命令制御手段、108は命令制御手段107によって制
御されるシフトビット数信号、109は加算手段、11
0は加算手段109の出力としての丸め込み処理後の乗
算結果、111は丸め込み処理後の乗算結果110を格
納する手段としてのレジスタ、112はシフト手段とし
てのバレルシフタ、113はバレルシフタ112の出力
を格納する手段としてのレジスタである。
【0024】プロセッサの発行する乗算命令によって得
られる乗数101と被乗数102とが乗算手段103に
入力され、乗算手段103は乗算結果104を出力す
る。丸め込み信号生成手段105は命令制御手段107
の出力するシフトビット数信号108を入力とし、丸め
込み信号106を生成する。加算手段109は乗算結果
104と丸め込み信号106を入力とし、丸め込み処理
後の乗算結果110を出力する。丸め込み処理後の乗算
結果110は一旦乗算結果格納手段としてのレジスタ1
11に格納される。レジスタ111の出力はシフト手段
としてのバレルシフタ112に入力され、命令制御手段
107の出力するシフトビット数信号108に応じて入
力信号をシフトし、その出力をシフト出力を格納する手
段としてのレジスタ113に格納する。
【0025】この構成により、乗算命令が発行されると
乗算手段103によって乗数101と被乗数102の乗
算が行われ、乗算結果104が算出される。同時に命令
制御手段107より前もって出力されるシフトビット数
信号108を受けて、丸め込み信号生成手段105が丸
め込み信号106を生成する。乗算結果104と丸め込
み信号106を加算手段109で加算することにより、
丸め込み処理を施した乗算結果110が算出され、乗算
結果格納レジスタ111に格納されて乗算命令は終了す
る。
【0026】続いて、乗算結果格納レジスタ111を用
いたシフト命令が発行されると、バレルシフタ112に
よって乗算結果格納レジスタ111に格納された乗算結
果のシフト演算が行われる。バレルシフタ112のシフ
ト数は命令制御手段107によって乗算命令のときにも
発行されたシフトビット数信号108によって決定され
るので、乗算結果格納レジスタ111に格納された乗算
結果を、シフトビット数信号108で示されるシフト数
だけシフトした値がシフト結果格納レジスタ113に格
納される。
【0027】ここで、本発明の実施の形態の乗算回路に
より実行される乗算方法について、図6〜図8を参照し
ながら説明する。図7,図8は本発明の乗算方法を示す
概念図である。なお、図6は本発明と比較のために示し
た従来の乗算方法において乗算結果のシフトを行う処理
を付加した場合の概念図である。まず、図6について説
明する。図6において、601は乗数、602は被乗
数、603は乗算結果、604は乗算結果603のうち
切り出したいビット範囲、605は丸め込み処理を行う
所定の丸め位置、606は丸め込み信号、607は丸め
込み処理後の乗算結果、608は丸め込み処理によって
乗算結果として意味の無くなったビット範囲、609は
ビットの切り出しのためのシフト演算の例としてのkビ
ット左シフト、610はシフト演算後の出力のシフト結
果出力である。
【0028】ここで、乗算結果603に対しての丸め位
置605が下位からmビット目に位置するとすると、丸
め込み処理として下位からmビット目に“1”を加算し
た後、丸め込み処理後の乗算結果607についてシフト
演算を行わず、つまり0ビットシフトして出力したとき
のシフト結果出力610は、乗算結果607で言うとこ
ろの下位からm+1ビット目を最下位ビットとした上位
ビット部分になるとする。
【0029】乗算結果603のうち、ユーザー所望のビ
ット範囲をシフト処理によって切り出す場合、ここでは
一例としてビット範囲604で示された範囲を切り出す
場合に、従来の乗算方法の丸め込み処理を行っては、所
定の丸め位置605で一意に丸め込みが行われてしまう
ため、kビット左シフト609のシフト演算によって切
り出した所望のシフト結果出力610に、乗算結果とし
ては意味の無いビットが含まれる結果となる。このた
め、従来の乗算方法でビット範囲604で示された範囲
を切り出したい場合には、丸め込み処理を行わずに切り
捨て処理によって切り出すことになってしまう。これで
は、丸め込み処理を行わなかったための演算誤差が大き
くなるか、または別の処理によって丸め込み演算を施さ
なければならず処理サイクルが増大してしまう。
【0030】これに対し、図7,図8に示す本発明の乗
算方法を説明する。図7において、701は乗数、70
2は被乗数、703は乗算結果、704は乗算結果のう
ち切り出したいビット範囲、705は丸め込み処理を行
う丸め位置、706は丸め込み信号、707は丸め込み
処理後の乗算結果、708は丸め込み処理によって乗算
結果として意味の無くなったビット範囲、709はビッ
トの切り出しのためのシフト演算の例としてkビット左
シフト、710はシフト演算後の出力のシフト結果出
力、711は図6の従来の所定の丸め位置605と同じ
所定の丸め位置である。
【0031】ここでも従来と同様に、乗算結果703に
対しての所定の丸め位置711が下位からmビット目に
位置するとすると、所定の丸め位置711で丸め込み処
理を施した後、丸め込み処理後の乗算結果707につい
てシフト演算を行わず、つまり0ビットシフトして出力
したときのシフト結果出力710は、乗算結果707で
言うところの下位からm+1ビット目を最下位ビットと
した上位ビット部分であるとする。なお、所定の丸め位
置711が乗算結果703の下位からmビット目に位置
するとすると、乗算結果703のうち下位からm+1ビ
ット目を最下位ビットとした上位ビット部分が基準切り
出しビット範囲である。
【0032】ここで、乗算結果703のうちビット範囲
704で示された範囲を切り出したい場合に、切り出す
ためのシフト演算に必要なシフト数がkビット左シフト
709で示されていることを反映し、丸め込み信号70
6としては、所定の丸め位置711である下位からmビ
ット目を基準とすると、m−kビット目が“1”の信号
を生成する。つまり丸め位置がkビット右に移動したこ
とになり、これによって乗算結果として切り出したいビ
ット範囲704は、乗算結果としては意味の無いビット
範囲を含むことなく、適切な丸め込み処理が施されてシ
フト結果出力710として出力される。なお、乗算結果
703のうち乗算結果として切り出したいビット範囲7
04が任意の切り出しビット範囲である。
【0033】また、図8において、801は乗数、80
2は被乗数、803は乗算結果、804は乗算結果のう
ち切り出したいビット範囲、805は丸め込み処理を行
う丸め位置、806は丸め込み信号、807は丸め込み
処理後の乗算結果、808は丸め込み処理によって乗算
結果として意味の無くなったビット範囲、809はビッ
トの切り出しのためのシフト演算の例としてのkビット
右シフト、810はシフト演算後の出力のシフト結果出
力、811は図6の従来の所定の丸め位置605と同じ
所定の丸め位置である。
【0034】ここで、乗算結果803のうちビット範囲
804で示された範囲を切り出したい場合に、切り出す
ためのシフト演算に必要なシフト数がkビット右シフト
809で示されていることを反映し、丸め込み信号80
6としては、所定の丸め位置811である下位からmビ
ット目を基準とすると、m+kビット目が“1”の信号
を生成する。つまり丸め位置がkビット左に移動したこ
とになり、これによって乗算結果として切り出したいビ
ット範囲804に対して適切な丸め込み処理が施されて
シフト結果出力810として出力される。なお、所定の
丸め位置811が乗算結果803の下位からmビット目
に位置するとすると、乗算結果803のうち下位からm
+1ビット目を最下位ビットとした上位ビット部分が基
準切り出しビット範囲であり、乗算結果803のうち乗
算結果として切り出したいビット範囲804が任意の切
り出しビット範囲である。
【0035】以上のように本実施の形態によれば、命令
制御手段107の出力するシフトビット数信号108
は、バレルシフタ112に入力されるとともに、丸め込
み信号生成手段105に入力され、丸め込み信号生成手
段105でシフトビット数信号108に応じて異なる丸
め込み信号106を生成し、この丸め込み信号106を
用いて丸め込み処理を行うことにより、丸め込み処理が
施された乗算結果を用いた処理に必要なビット幅をシフ
ト演算によって切り出す場合に、ユーザー所望の適切な
丸め位置での丸め込み処理を行うことができ、演算誤差
の発生、または処理サイクルの増大を抑制することがで
きる。また、従来のように前もって乗数あるいは被乗数
に対してシフト演算を行ったり、乗算を丸め込み処理な
しで行った後、その乗算結果の切り出したいビット範囲
に応じて、あらためて丸め込み処理を行う必要がないた
め、処理量の増大を防止できる。
【0036】また、本実施の形態において、パイプライ
ン化を行い、乗算および丸め込み処理と乗算結果のシフ
ト演算による必要ビットの切り出しとを1命令として実
行する場合に、乗算手段103による乗算から加算手段
109による丸め込み処理を介してバレルシフタ112
によるシフト演算までに3サイクル必要となる。なお、
以上の説明では、加算手段109の一入力として乗算結
果104を用いて構成した例を示したが、その他、シフ
ト対象データを入力とすると、丸め込み機能付きシフト
命令が同様に実施可能である。
【0037】(第2の実施の形態)図2は本発明の第2
の実施の形態の乗算回路のブロック図である。図2にお
いて、201は乗数、202は被乗数、203は乗算手
段、204は乗算手段203の出力としての乗算結果、
205は丸め込み信号生成手段、206は丸め込み信号
生成手段205の出力としての丸め込み信号、207は
プロセッサの命令制御手段、208は命令制御手段20
7によって制御されるシフト数設定信号、209は加算
手段、210は加算手段209の出力としての丸め込み
処理後の乗算結果、211は丸め込み処理後の乗算結果
210を格納する手段としてのレジスタ、212はシフ
ト手段としてのバレルシフタ、213はバレルシフタ2
12の出力を格納する手段としてのレジスタ、214は
シフト数設定信号208の保存手段としてのシフト数保
存手段、215はシフト数保存手段214の出力として
のシフトビット数信号である。
【0038】この第2の実施の形態では、シフト数保存
手段214を設けたことが、第1の実施の形態と異な
り、他の構成および動作は第1の実施の形態と同様であ
るので、ここでは説明を省略する。シフト数設定信号2
08は、シフト数保存手段214に一旦格納され、シフ
ト数保存手段214の出力をシフトビット数信号215
として、丸め込み信号生成手段205およびバレルシフ
タ212に入力する。すなわち、この第2の実施の形態
では、第1の実施の形態の構成にシフト数保存手段21
4を付加することによって、乗算命令より以前にシフト
数保存手段214にシフト数を設定することを可能にし
たものである。
【0039】以上のように本実施の形態によれば、第1
の実施の形態の効果に加え、シフト数保存手段214を
設けたことにより、シフト数の設定は別の命令で前もっ
て行えばよく、第1の実施の形態で述べたように乗算命
令とその乗算結果を用いたシフト命令との2度に渡って
シフト数設定を行うという必要が無くなり、命令コード
に対するシフト数設定フィールドの増設の必要がなくな
り、また命令制御手段207の回路の簡素化が実現可能
となる。
【0040】(第3の実施の形態)図3は本発明の第3
の実施の形態の乗算回路のブロック図である。図3にお
いて、301は乗数、302は被乗数、303は乗算手
段、304は乗算手段303の構成要素としての部分積
生成手段、305は部分積生成手段304の出力として
の部分積、306は乗算手段303の構成要素としての
第一の部分積加算手段、307は第一の部分積加算手段
306の途中結果を一時保存する中間レジスタ、308
は乗算手段303の構成要素として中間レジスタ307
の出力を加算する第二の部分積加算手段、309は第二
の部分積加算手段308の出力としての丸め込み処理後
の乗算結果、310はシフト手段としてのバレルシフ
タ、311はバレルシフタ310の出力を格納する手段
としてのレジスタ、312は命令制御手段、313は命
令制御手段312の出力としてのシフトビット数信号、
314は丸め込み信号生成手段、315は丸め込み信号
生成手段314の出力としての丸め込み信号である。
【0041】乗数301と被乗数302は部分積生成手
段304に入力され、得られた部分積305は第一の部
分積加算手段306に入力される。一方、命令制御手段
312の出力するシフトビット数信号313を入力する
丸め込み信号生成手段314は、丸め込み信号315を
生成し、丸め込み信号315は第一の部分積加算手段3
06に入力される。第一の部分積加算手段306は2つ
の加数となったところで途中結果を中間レジスタ307
に格納する。中間レジスタ307の出力は、第二の部分
積加算手段308に入力されて加算され、丸め込み処理
後の乗算結果309として出力される。丸め込み処理後
の乗算結果309は、バレルシフタ310に入力され、
バレルシフタ310で命令制御手段312の出力するシ
フトビット数信号313に応じてシフトされ、乗算結果
として切り出したいビット範囲が切りだされ、乗算出力
格納レジスタ311に格納される。
【0042】この構成により、乗算命令が発行されると
部分積生成手段304によって乗数301と被乗数30
2の部分積の生成が行われる。同時に命令制御手段31
2より出力されるシフトビット数信号313を受けて、
丸め込み信号生成手段314が丸め込み信号315を生
成しているので、部分積305と丸め込み信号315を
第一の部分積加算手段306で加算する。第一の部分積
加算手段306により2個の加数になるまで加算したと
ころで、一旦中間レジスタ307に値を格納する。中間
レジスタ307の出力は、2入力加算器で構成される第
二の部分積加算手段308で加算され、丸め込み処理後
の乗算結果309が出力される。丸め込み処理後の乗算
結果309は、バレルシフタ310に入力され、命令制
御手段312の出力しているシフトビット数信号313
で設定されたビット数分だけシフトされ、乗算結果とし
て切り出したいビット範囲が切りだされ、乗算出力格納
レジスタ311に格納される。
【0043】以上のように本実施の形態によれば、第1
の実施の形態の効果に加え、第1の実施の形態における
乗算手段103および加算手段109に代えて、部分積
生成手段304,第一の部分積加算手段306,中間レ
ジスタ307および第二の部分積加算手段307からな
る乗算手段303を用い、高速乗算器構成として一般的
な反復セル型配列乗算器の構成要素である部分積加算手
段において丸め込み信号315の加算を行うことによっ
て、丸め込み処理を乗算処理中に取り込んで演算時間の
高速化と回路規模低減を可能にしている。これによっ
て、パイプライン化を行い、乗算および丸め込み処理と
乗算結果のシフト演算による必要ビットの切り出しとを
1命令として実行する場合に、部分積生成と第一の部分
積加算までを1サイクル、第二の部分積加算とバレルシ
フタ310によるシフト演算までを1サイクルとして2
サイクルでパイプライン化することができ、3サイクル
必要となる第1の実施の形態と比較して処理量の軽減に
つながる。
【0044】(第4の実施の形態)図4は本発明の第4
の実施の形態の乗算回路のブロック図である。図4にお
いて、401は乗数、402は被乗数、403は乗算手
段、404は乗算手段403の構成要素としての部分積
生成手段、405は部分積生成手段404の出力として
の部分積、406は乗算手段403の構成要素としての
第一の部分積加算手段、407は第一の部分積加算手段
406の途中結果を一時保存する中間レジスタ、408
は乗算手段403の構成要素として中間レジスタ407
の出力を加算する第二の部分積加算手段、409は第二
の部分積加算手段408の出力としての丸め込み処理後
の乗算結果、410はシフト手段としてのバレルシフ
タ、411はバレルシフタ410の出力を格納する手段
としてのレジスタ、412は命令制御手段、413は命
令制御手段412の出力としてのシフト数設定信号、4
14は丸め込み信号生成手段、415は丸め込み信号生
成手段414の出力としての丸め込み信号、416はシ
フト数設定信号413の保存手段としてのシフト数保存
手段、417はシフト数保存手段416の出力としての
シフトビット数信号である。
【0045】この第4の実施の形態では、シフト数保存
手段416を設けたことが、第3の実施の形態と異な
り、他の構成および動作は第3の実施の形態と同様であ
るので、ここでは説明を省略する。シフト数設定信号4
13は、シフト数保存手段416に一旦格納され、シフ
ト数保存手段416の出力をシフトビット数信号417
として、丸め込み信号生成手段414およびバレルシフ
タ410に入力する。すなわち、この第4の実施の形態
では、第3の実施の形態の構成に、シフト数保存手段4
16を付加したことにより、乗算命令より前の命令で、
シフト数保存手段416にシフト数を設定しておくこと
を可能にしたものである。
【0046】以上のように本実施の形態によれば、第3
の実施の形態の効果に加え、シフト数保存手段416を
設けたことにより、シフト数の設定は別の命令で前もっ
て行えばよく、第3の実施の形態のように乗算命令とそ
の乗算結果を用いたシフト命令との2度に渡ってシフト
数設定を行うという必要が無くなり、命令コードに対す
るシフト数設定フィールドの増設を回避することができ
る。
【0047】(第5の実施の形態)図5は本発明の第5
の実施の形態の乗算回路のブロック図である。図5にお
いて、501は乗数、502は被乗数、503は乗算手
段、504は乗算手段503の構成要素としての部分積
生成手段、505は部分積生成手段504の出力として
の部分積、506は乗算手段503の構成要素としての
第一の部分積加算手段、507は第一の部分積加算手段
506の途中結果を一時保存する中間レジスタ、508
は乗算手段503の構成要素として中間レジスタ507
の出力を加算する第二の部分積加算手段、509は第二
の部分積加算手段508の出力としての丸め込み処理後
の乗算結果、510はシフト手段としてのバレルシフ
タ、511はバレルシフタ510の出力を格納する手段
としてのレジスタ、512は命令制御手段、513は命
令制御手段512の出力としてのシフト数設定信号、5
14は丸め込み信号生成手段、515は丸め込み信号生
成手段514の出力としての丸め込み信号、516はシ
フト数設定信号513の保存手段としてのシフト数保存
手段、517はシフト数保存手段516の出力としての
シフトビット数信号、518はシフト数選択手段、51
9はシフト数選択手段518の選択信号としての乗算モ
ード切換信号、520はシフト命令の入力切換手段、5
21はシフト命令の入力切換手段520の切換信号とし
てのシフト命令制御信号、522はシフト命令時の入力
である。なお、乗算モード切換信号519は、乗算結果
のシフトとそのシフト数による丸め込み処理を行う本発
明による乗算方法を実現するモードと、乗算結果のシフ
トやそれに応じた丸め込みを行わない通常の乗算方法を
実現するモードとを切り換えるための信号である。
【0048】この第5の実施の形態では、シフト数保存
手段516の出力および“0”のうち一方を選択するシ
フト数選択手段518と、シフト命令の入力切換手段5
20とを設けたことが、第4の実施の形態と異なり、他
の構成および動作は第4の実施の形態と同様であるの
で、ここでは説明を省略する。命令制御手段512の出
力するシフト数設定信号513はシフト数保存手段51
6に入力され、シフト数保存手段516の出力は、シフ
ト数選択手段518の一方の入力に入力される。シフト
数選択手段518は2入力セレクタで構成されており、
他方の入力は“0”に固定されている。また、命令制御
手段512の出力する乗算モード切換信号519はシフ
ト数選択手段518の選択信号として入力される。シフ
ト数選択手段518の出力は、シフトビット数信号51
7として、丸め込み信号生成手段514とバレルシフタ
510に入力される。また、命令制御手段512の出力
するシフト命令制御信号521は、2入力セレクタで構
成されているシフト命令の入力切換手段520の選択信
号として入力される。シフト命令の入力切換手段520
の2入力のうち、一方は乗算手段503の出力としての
乗算結果509、もう一方はシフト命令時の入力522
である。
【0049】この構成により、シフト命令の入力切換手
段520が乗算手段503からの入力、すなわち丸め込
み処理後の乗算結果509を出力とする場合に、命令制
御手段512の出力する乗算モード切換信号519によ
って、シフト数選択手段518の出力が“0”かシフト
数保存手段516に保存されているシフト数かに切り替
わる。例えばシフト数選択手段518の出力としてシフ
ト数保存手段516に保存されているシフト数が出力さ
れるとすると、それを受けた丸め込み信号生成手段51
4は図7、図8に示したような丸め込み信号を発生し、
また、バレルシフタ510は、入力をシフト数保存手段
516に保存されていたシフト数分だけシフトして出力
する。また、シフト数選択手段518の出力として
“0”が出力されるとすると、それを受けた丸め込み信
号生成手段514は、丸め込み信号としてある固定の信
号、例えば下位からmビット目のみが“1”の信号を発
生し、また、バレルシフタ510は、入力を0ビットシ
フト、つまりシフトすることなく出力する。
【0050】なお、シフト数選択手段518の無い図4
の構成においても、シフト数設定信号413として
“0”をシフト数保存手段416に保存しておいた場合
には、図5の構成においてシフト命令の入力切換手段5
20が丸め込み処理後の乗算結果509を出力とし、シ
フト数選択手段518が“0”を選択して出力する場合
と同様の動作が得られる。しかしながら、図5の構成の
ようにシフト数選択手段518を設けることにより、シ
フト数選択手段518の出力すなわちシフトビット数信
号517として“0”を選択する前後で同じシフト数を
選択する場合には、“0”を選択する前に選択されてい
たシフト数が、“0”を選択後にもシフト数保存手段5
16に保存されているため、シフト数選択手段518が
“0”を選択後に命令制御手段512がシフト数保存手
段516にシフト数を設定しなおす必要がなくなり、高
速処理が可能となる。
【0051】また、シフト命令の入力切換手段520を
設けているため、乗算手段503を介さずに、シフト命
令の入力切換手段520へ直接入力したシフト命令時の
入力522をバレルシフタ510へ出力することによ
り、シフト命令だけを単独に実行できる。以上のように
本実施の形態によれば、第4の実施の形態の効果に加
え、シフト数選択手段518を設けたことにより、乗算
モード切換信号519によりシフト数選択手段518の
出力を切り替えることにより、乗算結果のシフトとその
シフト数による丸め込み処理を行う本発明による乗算方
法と、乗算結果のシフトやそれに応じた丸め込みを行わ
ない通常の乗算方法とを、同一回路で実現することがで
きる。
【0052】また、シフト命令の入力切換手段520を
設けたことにより、シフト命令のみの単独実行も容易に
実現できる。なお、シフト数保存手段516,シフト数
選択手段518,シフト命令の入力切換手段520を、
図1に示す第1の実施の形態の構成に同様に付加しても
よいし、シフト数選択手段518を、図2に示す第2の
実施の形態の構成に同様に付加してもよい。また、シフ
ト命令の入力切換手段520のみを、図1〜図4に示す
第1〜第4の実施の形態の構成に同様に付加することも
できる。
【0053】
【発明の効果】本発明の乗算方法によれば、乗算処理に
よる乗算結果の任意の切り出しビット範囲の最下位ビッ
トと基準切り出しビット範囲の最下位ビットとの差に対
応したシフトビット数信号を基に、乗算処理による乗算
結果の任意の切り出しビット範囲の最下位ビットの隣接
下位ビットに加える丸め込み用数値からなる丸め込み信
号を生成し、この丸め込み信号を用いて丸め込み処理を
行うことにより、シフト処理により切り出すビット範囲
に、丸め込み処理によって乗算結果としては意味の無く
なったビットが含まれることなく、丸め込み処理が施さ
れた乗算結果を用いる処理に対して、ユーザー所望の適
切な丸め位置での丸め込み処理を実現することができ
る。また、従来のように前もって乗数あるいは被乗数に
対してシフト演算を行ったり、乗算を丸め込み処理なし
で行った後、その乗算結果の切り出したいビット範囲に
応じて、あらためて丸め込み処理を行う必要がないた
め、処理量の増大を防止できる。
【0054】また、部分積生成および部分積加算によっ
て乗算処理を行う乗算方法において、部分積生成処理お
よび加算処理からなる乗算処理中に、丸め込み処理を含
めて行うことにより、処理の高速化および処理回路の規
模の低減を実現できる。また、シフトビット数信号は一
時保持された後で、丸め込み信号生成処理およびシフト
処理に用いることにより、シフトビット数信号の設定
を、乗算命令より以前の別の命令で前もって行えばよ
く、乗算命令において行う必要はなく、命令コード長の
増加を回避することができる。
【0055】さらに、一時保持されたシフトビット数信
号と零ビットを示す零信号とのうち一方を選択して丸め
込み信号生成処理およびシフト処理に用い、零信号を選
択して用いた際には、丸め込み信号生成処理では乗算処
理による乗算結果の基準切り出しビット範囲の最下位ビ
ットの隣接下位ビットに加える丸め込み用数値からなる
丸め込み信号を生成し、シフト処理では丸め込み処理後
の乗算結果のシフトを行わないことにより、予め設定さ
れた固定位置を丸め位置とする丸め込み処理を行い、シ
フト処理を行わない従来の乗算方法を行うことも可能と
なる。
【0056】また、本発明の乗算回路によれば、丸め込
み信号生成手段により上記シフトビット数信号を基に上
記丸め込み信号を生成し、加算手段により丸め込み信号
を用いて丸め込み処理を行うことにより、シフト手段が
切り出すビット範囲に、丸め込み処理によって乗算結果
としては意味の無くなったビットが含まれることなく、
丸め込み処理が施された乗算結果を用いる処理に対し
て、ユーザー所望の適切な丸め位置での丸め込み処理を
実現することができる。また、従来のように前もって乗
数あるいは被乗数に対してシフト演算を行ったり、乗算
を丸め込み処理なしで行った後、その乗算結果の切り出
したいビット範囲に応じて、あらためて丸め込み処理を
行う必要がないため、処理量の増大を防止できる。
【0057】また、部分積生成および部分積加算によっ
て乗算処理を行う乗算回路において、部分積生成手段お
よび加算手段による乗算処理中に、丸め込み処理を含め
て行うことにより、処理の高速化および処理回路の規模
の低減を実現できる。さらに、シフトビット数信号を一
時保持し、丸め込み信号生成手段およびシフト手段へ出
力するシフト数保存手段を設けることにより、シフトビ
ット数信号の設定を、乗算命令より以前の別の命令で前
もって行えばよく、乗算命令において行う必要はなく、
命令コード長の増加を回避することができる。
【0058】さらに、シフト数保存手段と丸め込み信号
生成手段およびシフト手段との間に、シフト数保存手段
のシフトビット数信号と零ビットを示す零信号とのうち
一方を選択して丸め込み信号生成手段およびシフト手段
へ出力するシフト数選択手段を設け、このシフト数選択
手段が零信号を選択して出力した際には、丸め込み信号
生成手段は乗算結果の基準切り出しビット範囲の最下位
ビットの隣接下位ビットに加える丸め込み用数値からな
る丸め込み信号を生成し、シフト手段では丸め込み処理
後の乗算結果のシフトを行わないようにすることによ
り、予め設定された固定位置を丸め位置とする丸め込み
処理を行い、シフト処理を行わない従来の乗算方法を行
うことも可能となる。
【0059】また、加算手段とシフト手段との間に、加
算手段の出力信号と他の信号とのうち一方を選択してシ
フト手段へ出力するシフト入力切換手段を設けたことに
より、乗算を行うことなく、他の信号のシフトのみを行
うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の乗算回路のブロッ
ク図である。
【図2】本発明の第2の実施の形態の乗算回路のブロッ
ク図である。
【図3】本発明の第3の実施の形態の乗算回路のブロッ
ク図である。
【図4】本発明の第4の実施の形態の乗算回路のブロッ
ク図である。
【図5】本発明の第5の実施の形態の乗算回路のブロッ
ク図である。
【図6】従来の乗算方法において乗算結果のシフトを行
う処理を付加した場合の概念図である。
【図7】本発明の乗算方法を示す概念図である。
【図8】本発明の乗算方法を示す概念図である。
【図9】従来の乗算方法を示す概念図である。
【符号の説明】
101,201,301,401,501 乗数 102,202,302,402,502 被乗数 103,203,303,403,503 乗算手段 104,204 乗算結果 105,205,314,414,514 丸め込み信
号生成手段 106,206,315,415,515 丸め込み信
号 107,207,312,412,512 命令制御手
段 108,215,313,417,517 シフトビッ
ト数信号 109,209 加算手段 110,210,309,409,509 丸め込み処
理後の乗算結果 111,211 乗算結果格納レジスタ 112,212,310,410,510 バレルシフ
タ 113,213 シフト結果格納レジスタ 208,413,513 シフト数設定信号 214,416,516 シフト数保存手段 304,404,504 部分積生成手段 305,405,505 部分積 306,406,506 第一の部分積加算手段 307,407,507 中間レジスタ 308,408,508 第二の部分積加算手段 311,411 乗算出力格納レジスタ 511 シフト及び乗算結果格納レジスタ 518 シフト数選択手段 519 乗算モード切換信号 520 シフト命令の入力切換手段 521 シフト命令制御信号 522 シフト命令時の入力 701,801 乗数 702,802 被乗数 703,803 乗算結果 704,804 乗算結果として切り出したいビット範
囲 705,805 丸め位置 706,806 丸め込み信号 707,807 丸め込み処理後の乗算結果 708,808 丸め込みによって乗算結果として意味
の無くなったビット範囲 709 kビット左シフト 809 kビット右シフト 710,810 シフト結果出力 711,811 所定の丸め位置

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 乗算命令によって得られる乗数と被乗数
    とを乗算する乗算処理と、 前記乗算処理による乗算結果の任意の切り出しビット範
    囲の最下位ビットと基準切り出しビット範囲の最下位ビ
    ットとの差に対応したシフトビット数信号を基に、前記
    乗算処理による乗算結果の任意の切り出しビット範囲の
    最下位ビットの隣接下位ビットに加える丸め込み用数値
    からなる丸め込み信号を生成する丸め込み信号生成処理
    と、 前記乗算処理による乗算結果と前記丸め込み信号とを加
    算することにより丸め込み処理後の乗算結果を作成する
    加算処理と、 前記シフトビット数信号が示すシフトビット数の分だけ
    前記丸め込み処理後の乗算結果をシフトさせることによ
    り前記丸め込み処理後の乗算結果を前記任意の切り出し
    ビット範囲で切り出させるシフト処理とを含む乗算方
    法。
  2. 【請求項2】 部分積生成および部分積加算によって乗
    算処理を行う乗算方法であって、 前記乗算処理による乗算結果の任意の切り出しビット範
    囲の最下位ビットと基準切り出しビット範囲の最下位ビ
    ットとの差に対応したシフトビット数信号を基に、前記
    乗算処理による乗算結果の任意の切り出しビット範囲の
    最下位ビットの隣接下位ビットに加える丸め込み用数値
    からなる丸め込み信号を生成する丸め込み信号生成処理
    と、 乗算命令によって得られる乗数と被乗数との部分積を生
    成する部分積生成処理と、 前記部分積生成処理により生成した全ての部分積と前記
    丸め込み信号とを加算することにより丸め込み処理後の
    乗算結果を作成する加算処理と、 前記シフトビット数信号が示すシフトビット数の分だけ
    前記丸め込み処理後の乗算結果をシフトさせることによ
    り前記丸め込み処理後の乗算結果を前記任意の切り出し
    ビット範囲で切り出させるシフト処理とを含むことを特
    徴とする乗算方法。
  3. 【請求項3】 シフトビット数信号は一時保持された後
    で、丸め込み信号生成処理およびシフト処理に用いられ
    ることを特徴とする請求項1または2記載の乗算方法。
  4. 【請求項4】 一時保持されたシフトビット数信号と零
    ビットを示す零信号とのうち一方を選択して丸め込み信
    号生成処理およびシフト処理に用い、前記零信号を選択
    して用いた際には、前記丸め込み信号生成処理では乗算
    処理による乗算結果の基準切り出しビット範囲の最下位
    ビットの隣接下位ビットに加える丸め込み用数値からな
    る丸め込み信号を生成し、前記シフト処理では丸め込み
    処理後の乗算結果のシフトを行わないことを特徴とする
    請求項3記載の乗算方法。
  5. 【請求項5】 乗算命令によって得られる乗数と被乗数
    とを入力しその乗算結果を出力する乗算手段と、 前記乗算手段による乗算結果の任意の切り出しビット範
    囲の最下位ビットと基準切り出しビット範囲の最下位ビ
    ットとの差に対応したシフトビット数信号を基に、前記
    乗算手段による乗算結果の任意の切り出しビット範囲の
    最下位ビットの隣接下位ビットに加える丸め込み用数値
    からなる丸め込み信号を生成する丸め込み信号生成手段
    と、 前記乗算手段による乗算結果と前記丸め込み信号生成手
    段により生成した丸め込み信号とを加算することにより
    丸め込み処理後の乗算結果を作成する加算手段と、 前記シフトビット数信号が示すシフトビット数の分だけ
    前記加算手段の作成した丸め込み処理後の乗算結果をシ
    フトさせて前記丸め込み処理後の乗算結果を前記任意の
    切り出しビット範囲で切り出させるシフト手段とを備え
    た乗算回路。
  6. 【請求項6】 シフトビット数信号を一時保持し、丸め
    込み信号生成手段およびシフト手段へ出力するシフト数
    保存手段を設けたことを特徴とする請求項5記載の乗算
    回路。
  7. 【請求項7】 シフト数保存手段と丸め込み信号生成手
    段およびシフト手段との間に、前記シフト数保存手段の
    シフトビット数信号と零ビットを示す零信号とのうち一
    方を選択して前記丸め込み信号生成手段およびシフト手
    段へ出力するシフト数選択手段を設け、このシフト数選
    択手段が零信号を選択して出力した際には、前記丸め込
    み信号生成手段は乗算結果の基準切り出しビット範囲の
    最下位ビットの隣接下位ビットに加える丸め込み用数値
    からなる丸め込み信号を生成し、前記シフト手段では丸
    め込み処理後の乗算結果のシフトを行わないようにした
    ことを特徴とする請求項6記載の乗算回路。
  8. 【請求項8】 部分積生成および部分積加算によって乗
    算処理を行う乗算回路であって、 前記乗算処理による乗算結果の任意の切り出しビット範
    囲の最下位ビットと基準切り出しビット範囲の最下位ビ
    ットとの差に対応したシフトビット数信号を基に、前記
    乗算処理による乗算結果の任意の切り出しビット範囲の
    最下位ビットの隣接下位ビットに加える丸め込み用数値
    からなる丸め込み信号を生成する丸め込み信号生成手段
    と、 乗算命令によって得られる乗数と被乗数との部分積を生
    成する部分積生成手段と、 前記部分積生成手段により生成した全ての部分積と前記
    丸め込み信号生成手段により生成した丸め込み信号とを
    加算することにより丸め込み処理後の乗算結果を作成す
    る加算手段と、 前記シフトビット数信号が示すシフトビット数の分だけ
    前記加算手段の作成した丸め込み処理後の乗算結果をシ
    フトさせて前記丸め込み処理後の乗算結果を前記任意の
    切り出しビット範囲で切り出させるシフト手段とを設け
    たことを特徴とする乗算回路。
  9. 【請求項9】 シフトビット数信号を一時保持し、丸め
    込み信号生成手段およびシフト手段へ出力するシフト数
    保存手段を設けたことを特徴とする請求項8記載の乗算
    回路。
  10. 【請求項10】 シフト数保存手段と丸め込み信号生成
    手段およびシフト手段との間に、前記シフト数保存手段
    のシフトビット数信号と零ビットを示す零信号とのうち
    一方を選択して前記丸め込み信号生成手段およびシフト
    手段へ出力するシフト数選択手段を設け、このシフト数
    選択手段が零信号を選択して出力した際には、前記丸め
    込み信号生成手段は乗算結果の基準切り出しビット範囲
    の最下位ビットの隣接下位ビットに加える丸め込み用数
    値からなる丸め込み信号を生成し、前記シフト手段では
    丸め込み処理後の乗算結果のシフトを行わないようにし
    たことを特徴とする請求項9記載の乗算回路。
  11. 【請求項11】 加算手段とシフト手段との間に、前記
    加算手段の出力信号と他の信号とのうち一方を選択して
    前記シフト手段へ出力するシフト入力切換手段を設けた
    ことを特徴とする請求項5,6,7,8,9または10
    記載の乗算回路。
JP07869598A 1997-04-01 1998-03-26 乗算方法および乗算回路 Expired - Fee Related JP3252954B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07869598A JP3252954B2 (ja) 1997-04-01 1998-03-26 乗算方法および乗算回路

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-82559 1997-04-01
JP8255997 1997-04-01
JP07869598A JP3252954B2 (ja) 1997-04-01 1998-03-26 乗算方法および乗算回路

Publications (2)

Publication Number Publication Date
JPH10333883A true JPH10333883A (ja) 1998-12-18
JP3252954B2 JP3252954B2 (ja) 2002-02-04

Family

ID=26419748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07869598A Expired - Fee Related JP3252954B2 (ja) 1997-04-01 1998-03-26 乗算方法および乗算回路

Country Status (1)

Country Link
JP (1) JP3252954B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018124681A (ja) * 2017-01-30 2018-08-09 富士通株式会社 演算処理装置、情報処理装置、方法、およびプログラム
CN108563465A (zh) * 2012-09-28 2018-09-21 英特尔公司 用于响应于单个指令来执行循环和异或的系统、装置和方法
JP2019074951A (ja) * 2017-10-17 2019-05-16 富士通株式会社 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法
JP2019148972A (ja) * 2018-02-27 2019-09-05 富士通株式会社 演算処理装置、情報処理装置、情報処理方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563465A (zh) * 2012-09-28 2018-09-21 英特尔公司 用于响应于单个指令来执行循环和异或的系统、装置和方法
JP2018124681A (ja) * 2017-01-30 2018-08-09 富士通株式会社 演算処理装置、情報処理装置、方法、およびプログラム
JP2019074951A (ja) * 2017-10-17 2019-05-16 富士通株式会社 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法
JP2019148972A (ja) * 2018-02-27 2019-09-05 富士通株式会社 演算処理装置、情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP3252954B2 (ja) 2002-02-04

Similar Documents

Publication Publication Date Title
JP3479438B2 (ja) 乗算回路
US6742012B2 (en) Apparatus and method for performing multiplication operations
US20090077154A1 (en) Microprocessor
US9712185B2 (en) System and method for improved fractional binary to fractional residue converter and multipler
EP0464493B1 (en) High-radix divider
JPH1078863A (ja) 浮動小数点式ハードウェアを用いたマイクロプロセッサ整数除法演算を実行するための方法および装置
US6108682A (en) Division and/or square root calculating circuit
JPH0612229A (ja) 乗累算回路
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
KR100744216B1 (ko) 계산 장치 및 방법과 컴퓨터 프로그램 저장 매체
KR100556568B1 (ko) 승산방법및승산회로
US5195052A (en) Circuit and method for performing integer power operations
JP2597775B2 (ja) 除算方法および除算装置
JP3252954B2 (ja) 乗算方法および乗算回路
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
JPH10187416A (ja) 浮動小数点演算装置
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
US7047271B2 (en) DSP execution unit for efficient alternate modes for processing multiple data sizes
JPS62197868A (ja) パイプライン構成の直線近似変換回路
KR100265355B1 (ko) 마이크로프로세서에서 2사이클 파이프라인방식으로 부동소수점 데이터를 곱셈 연산하는 장치
WO2003096182A1 (en) “emod” a fast modulus calculation for computer systems
JP2951685B2 (ja) 固定小数点演算器
KR100900790B1 (ko) 재구성형 프로세서 연산 방법 및 장치
JPH1069372A (ja) 演算実行方法及び演算装置
JPH09134277A (ja) 演算器

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees