JPH0421026A - 高桁乗算装置 - Google Patents

高桁乗算装置

Info

Publication number
JPH0421026A
JPH0421026A JP2121351A JP12135190A JPH0421026A JP H0421026 A JPH0421026 A JP H0421026A JP 2121351 A JP2121351 A JP 2121351A JP 12135190 A JP12135190 A JP 12135190A JP H0421026 A JPH0421026 A JP H0421026A
Authority
JP
Japan
Prior art keywords
digit
multiplier
bits
register
input
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
JP2121351A
Other languages
English (en)
Other versions
JPH0833815B2 (ja
Inventor
Tsunesuke Takahashi
恒介 高橋
Aisuke Katayama
片山 愛介
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2121351A priority Critical patent/JPH0833815B2/ja
Publication of JPH0421026A publication Critical patent/JPH0421026A/ja
Publication of JPH0833815B2 publication Critical patent/JPH0833815B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機を使った各種情報処理装置の中での高
桁の数値の掛け算を行う高桁乗算方式及び装置に関する
〔従来の技術〕
高桁数値の乗算は、NP(ノンリニヤプログラミング)
問題を解く過程とか、階乗計算を含む科学計算の過程で
しばしば現れる。数値が20億桁以下であれば32ビッ
ト以下の数値として、32ビットの乗算プロセッサなど
によって1クロツクで計算される。それ以上の桁の数値
の場合には、浮動小数点演算を使うことが必要であった
。微小な誤差が許される場合には問題でないが、誤差の
累積が許されない場合もあって、浮動小数点演算では解
決できない問題もある。このように、科学技術の進歩し
た現在では、ますます高桁の数値の高精度計算が要求さ
れるようになっている。
乗算プロセッサを64ビット以上にすることを目指す方
法もあるが、常にそれ以上の高桁の演算に対する要求が
現れてくる。また、コンピュータ内でのメモリとプロセ
ッサ間のデータバス幅と端子数にも制限があって、むや
みにビット幅を増やせない。現在は高桁の浮動小数点演
算プロセッサの実現が盛んに求められるが、現在のLS
I技術を用いても、64ビット以上の乗算回IalをL
SIチップとして実現することがかなり困難である。
浮動小数点演算でなく、正確に高桁数値の乗算結果を求
めるためにはソフトウェアの助けが必要であり、高桁乗
算処理を分解して部分積を順次に求め、部分的な計算結
果を総合して最終的な計算結果を求めるプログラムが使
われた。しかし、この場合には演算速度が遅くなる問題
がある。処理速度が桁数と共に、桁数の約2乗に比例し
て増加するからである。
〔発明が解決しようとする課題〕
上述した従来の数値のハードウェアによる乗算処理は1
つのLSIチップでの高桁化が困難であり、浮動小数点
演算プロセッサによると切捨て誤差が避けられないので
、高桁演算に必要な高精度を実現できない欠点があった
。一方、ソフトウェアによる乗算処理は逐次処理が含ま
れるために、高速化を実現できない欠点があった。
本発明の目的は、高桁数値の乗算に関するこれらの欠点
を解決することにある。
本発明の他の目的は、入力端子数の制限やデータバス幅
の制限で桁数の制限された乗算回路を多数連結して幾ら
でも高桁の乗算を実行できるようにする回路構成技術を
提供すると共に、指数変換方式の高桁乗算のアルゴリズ
ム及びそれを用いた小型で高速の高桁乗算回路の設計技
術を提供することにある。
〔課題を解決するための手段〕
本発明の高桁乗算方式は、 乗算される高桁の乗数及び被乗数を各桁nビ。
ト(nは2以上の正整数)単位のコード列に変換し、被
乗数のコード列を先に下桁から順次入力してm(2以上
の正整数)個のレジスタに保持し、。
次に、乗数のコード列を下桁から順次入力し、その後も
(m+1)個以上のOを順次に追加入力し、入力される
都度、各桁乗数と全桁の被乗数との積を一斉に計算し、
入力クロツクに同期して、各桁の積から求まる掛け算結
果を各桁nビットのコード列よして下桁から順次ムこ(
rn+1)個のOの追加入力完了時まで出力することを
特徴とする。
また本発明の高桁乗算方式は、 乗算される高桁の乗数及び被乗数を各桁nピッ)(nは
2以上の正整数)単位のコード列に変換し、先に下桁か
ら順次入力される被乗数のコード列をユニット当りm個
ずつ下桁から上桁へ連結されるユニットのレジスタに記
憶し、次に、乗数のコード列を全ユニットに下桁から順
次入力し、その後に(m+1)個以上のOを乗数として
追加入力し、乗数の各桁の入力される都度、各桁乗数と
全桁の被乗数との積を一斉に計算し、計算結果を各ユニ
ットで各桁nビットのコード列として下桁から順次に出
力し、下桁側隣接ユニットに送り出すと共に、上桁側隣
接ユニ・ノドからの出力を順次に受け付けることを特徴
とする。
さらに本発明は、複数ユニットからなる高桁乗算装置で
あって、 各ユニットが、 各桁nビットの被乗数のm桁分のレジスタと、各桁nビ
ットの乗数のクロック信号に同期した入力を行う入力パ
スと、 各桁乗数とレジスタに保持された各桁の被乗数との掛け
算を行うnビット乗算回路と、i番目(iはm以下の正
整数)の桁の乗算回路の出力に桁上げレジスタの内容を
加える第1の加算器と、 第1の加算器の出力(2nビット)を上下nビットずつ
に分けて記憶する部分積レジスタと、i番目の部分積レ
ジスタの上位nビットを(i+1)番目の桁の部分積レ
ジスタの下位nビットと加算する第2の加算器と、 第2の加算器の出力を一時記憶する桁上げレジスタとを
備えたことを特徴とする。
指数変換方式による本発明の高桁乗算方式は、乗算され
る高桁の乗数及び被乗数を各桁nビット(nは2以上の
正整数)単位のコード列に変換し、各コードを指数コー
ドに変換し、被乗数の指数コード列を先に下桁から順次
入力してm(2以上の正整数)個のレジスタに保持し、
次に、乗数の指数コード列と上位桁(m+1)個の0を
下桁から順次入力し、入力される都度、各桁乗数の指数
コードと全桁の被乗数の指数コードとの和を−斉に計算
し、各桁での和を逆指数変換して積を作り、入力クロッ
クに同期して、積を各桁nビ・ノドのコード列として下
桁から順次に出力することを特徴とする。
また本発明は、連結される複数ユニットと、1個の指数
変換回路とからなる高桁乗算装置であって、 各ユニットが指数変換後の各桁nビットの被乗数の指数
コードを蓄えるm桁分のレジスタと、指数変換後の各桁
nビットの乗数の指数コードをクロック信号に同期して
与える入力バスと、各桁乗数の指数コードとレジスタに
保持された各桁の被乗数の指数コードとの加算を行う加
算回路と、 加算回路に接続される逆指数変換回路と、i番目(iは
m以下の正整数)の桁の逆指数変換回路の出力に桁上げ
レジスタの内容を加える第1の加算器と、 第1の加算回路の出力(2nビット)を上下nビットず
つに分けて記憶する部分積レジスタと、i番目の部分積
レジスタの上位nビットを(i+1)番目の桁の部分積
レジスタの下位nビットと加算する第2の加算器と、 第2の加算器の出力を一時記憶する桁上げレジスタとを
備えたことを特徴とする。
〔実施例〕
第1図は本発明の高桁乗算装置の一実施例の基本回路の
構成図である。内容の詳細な説明に入る前に、第3図を
用いて高桁乗算の基本方式を説明しておく。第3図(a
)は高桁の乗算のプロセスの説明図であり、10進法の
掛け算を行うときと同し手順で乗算を進める。第3図(
ハ)は本発明の高桁乗算装置での乗算処理の手順を示し
ている。
いずれにおいても、乗算される高桁の被乗数310及び
乗数320を各桁nビット(nは2以上の正整数)単位
のコード列に変換する。そして、被乗数310のコード
列を先に下桁から順次にm桁梁算装置300 (第1図
の回路)に入力して、その中のm(2以上の正整数)個
のnビットレジスタに1コードずつ保持する。次に、乗
数320のコード列を、このm桁梁算装置300へ順次
入力する。
乗数コードの入力の都度、乗算装置300において、乗
数コードがm個の被乗数コードと一斉に掛け算され、そ
の結果の部分積330がm桁分並列に出力される。それ
らをその桁の出力コードと桁送りコードに分割し、次の
乗数コード入力時のm個の部分積に足し合わせる。つま
り、先に求まった桁送りコードを次の部分積の出力コー
ドに加算すると、下桁から部分積の出力コード340を
順次に取り出せる。この時に、乗数コード列(6桁とす
る)の入力の後、(m+1)個以上のOを順次に追加入
力し、計算結果の吐き出しを行う必要がある。結果とし
て、出力コード列340は(d+m+1)桁に及ぶ。
各桁nビット単位のコード列に変換された被乗数が1つ
のLSIチップに記憶できないほどに高桁である場合を
考えると、チップを連結して使えることが重要となる。
そこで、先に順次入力される被乗数のコード列がm個ず
つに個のユニット300に蓄えられる。そして、k個の
ユニットが第4図に示すように連結される。
被乗数が先に複数ユニットの下桁側から順次に記憶され
、次に、乗数のコード列が全ユニットに入力され、その
後に(km+1)個の0が追加入力される。そして、乗
数の各桁の入力される都度、各桁乗数コードと全桁の被
乗数コードとの部分積が一斉に計算され、出力コードが
下桁側から順次に出力される。
連結されたに個のユニットでの高桁数値の乗算処理はユ
ニット毎で並列に実行され、各ユニットの計算結果が各
桁nビットのコード列として下桁から順次に出力される
。そして、各ユニットは計算結果のコード列を下桁側隣
接ユニットに送り出すと共に、上桁側隣接ユニットから
計算結果のコード列を順次に受け付ける。
第1図の実施例の回路は、このように複数ユニットを使
った高桁乗算に際して、各ユニットの中で使われるm桁
梁算回路の一例であって、高桁演算の一部を分担するだ
けであるが、連結によって幾らでも高桁の乗算を実行す
る繰り返し構造の回路構成になっている。
この実施例の具体的な回路構成は次のようになる。すな
わち、各桁nビットの被乗数のm桁分のレジスタ110
と、各桁nビットの乗数のクロック信号に同期した入力
を行う入力バス120と、各桁乗数とレジスタ110に
保持された各桁の被乗数との掛け算を行うnビット乗算
回路130と、i番目(iはm以下の正整数)の桁の乗
算回路130の出力に桁送りレジスタの内容を加える第
1の加算器150と、その出力(2nビット)を上下n
ビットずつに分けて記憶する部分積レジスタ160と、
i番目の部分積レジスタ160の上位nビットと(i+
1)番目の桁の部分積レジスタ160の下位nビットを
加算する第2の加算器170と、その出力を一時記憶す
る桁送りレジスタ140と、被乗数コードのレジスタ1
10への選択的(下桁側からの順次)設定を制御するデ
コーダ192と、クロック信号のカウンタ191 とか
ら成る。
高桁乗算の実行は、端子125からバス120へ乗数コ
ードが入力される都度行われる。各桁乗数コードとレジ
スタ110に保持された全桁の被乗数コードとの積がn
ビット乗算回路130で一斉に計算される。各桁の部分
積演算から求まる掛け算結果は、レジスタ140に保持
された桁送りコードと第1の加算器150で加算される
。その結果がクロ・ツタ信号CLK、より半周期遅れの
クロック信号CL K zによって部分積レジスタ16
0に保持される。
部分積レジスタは、第1の加算器150の2nビットの
出力を上位nビ・ントと下位nビットに分割して記憶す
る。乗算結果は下位nビットであってクロック信号CL
K2に同期して、部分積レジスタ160から端子185
を介して(d +m+ 1 )桁のコード列として下桁
から順次に出力される。
ここで、乗算のアルゴリズムについて第3図(a)を用
いて、もう少し詳しく説明する。今、被乗数310を各
桁nビットのコードX、 、i=1.2゜・・・1mと
する。これらがレジスタ110に蓄えられる。また、乗
数320の各桁nビットのコードをYt、t=1.2.
・・・、dとする。時刻t、=1の時に1桁目のコード
Y、が与えられるとする。
乗数のt番目のコードYtが入力されたときに、nビッ
ト乗算回路130においては、次の部分積Yt*Xi 
 i=1,2.・・・2mが一斉に計算される。これら
の計算結果は第1の加算器150で桁送りレジスター4
0の内容Cを加えられ、部分積レジスター60に貯えら
れる。すなわち、第1の加算器150の出力に桁送り信
号C1−1を加えた加算結果340は Zi (t)”’Yt*Xi +C3−I (t  1
+θ)・・・(1) となる。ここに、θは半クロックの時間遅れを示し、(
t−1+θ)は時刻tより半クロック前の時間を示す。
故に、Zi(t)の下位nビットが出力データとなり、
上位nピットガ桁送り信号Ci −1となる。
そこで、(1)式で求めた計算結果z、(t)を部分積
レジスター60において上位nビットのコードb、(t
)と下位nビットのコードa6(t)とに分割する。す
なわち、部分積レジスター60の出力は Z= (t)=a、(t)*2’+b、(t)    
(2)で表される。そこで、b;(t)は下桁の部分積
に加算するように出力し、一方、a、(t)は上位桁の
部分積に加算されるようにする。すなわち、桁送りレジ
スタの記憶内容をC1(t−1)とすると、それは第2
の加算器170がら、次式に従った計算によって求まる
。すなわち、 C3(t−1+θ)=a、(t−1) 十す、。、(t、−1)  (3) となる。この計算が第2の加算器170で実行される。
計算結果の桁送りコードは、クロック信号CLK、に同
期してレジスタ140に設定される。このクロック信号
は次の乗数コードを呼び出し、乗算回路130での部分
積演算を開始させるために使われるが、このCLK、を
使えば部分積の演算が終わる前に必ず桁送りコードが用
意されることになる。このような計算は2段パイプライ
ン処理の代表であり、端子190と端子195がら交互
に入力されるクロック信号CLK、とCLK2を使って
容易に実行される。
富裕乗算処理の各桁でのパイプライン処理を第2図を用
いて説明する。当然ながら、被乗数のコード列は予めレ
ジスタ110の下桁側から上桁側へと順次に設定された
後とする。乗数コード列は端子125から入力クロック
信号CLK、の立ち下がり時に取り込まれ、入力バス1
20を介して、乗算回路130に送られる。
乗数コードがnビット乗算回路130に入力されると、
数10nsecの演算遅延時間後に部分積X、*Y1の
乗算結果が出力される。それが第1の加算器150に送
られる。そこで、桁送りレジスタ140の内容と加算さ
れる。数n5ecの遅延の後、第1の加算器150から
加算結果が出力される。それがクロック信号CLKZの
立ち下がり時刻にて、部分積レジスタ160に設定され
る。
従って、レジスタ160の出力を用いる第2の加算器1
70は、このクロック信号CL K zより第2の加算
器170の遅延時間(数n5ec)分だけ遅れて加算結
果を出力する。これがクロック信号CLK。
の立ち下がり時に、桁送りレジスタ140に設定される
。このレジスタ140の出力は、第1の加算器150で
使われる前に変化を終えている。
このように、レジスタ140と160への加算結果の設
定が交互に行われることによって、10nsec以下の
クロック周期での乗算処理速度が達成可能になる。すな
わち、(1)式と(3)式の計算がm桁分の乗算・加算
回路で一斉に、半周期差で交互に実行される。
第1図でのこのようなパイプライン処理のための回路構
成は全くの繰り返し構造であり、LSI化に向いている
。nが4であると、4ビット掛け算器が約350ゲート
、加算器が約60ゲートで、4ビットレジスタが16ゲ
ートとなる。故に桁当りの回路規模は80 + 120
 + 350 = 550ゲートとなる。
LSIチップ当りのゲート収容能力が4万程度であると
すると、1チツプでの乗算処理桁数は64以上に及ぶ。
これは256ビット乗算に相当する。本発明は、このよ
うなLSIチップを連結してさらに高桁乗算の処理に使
える。
第4図は複数乗算二二ノ)(LSIチップ)を使って高
桁乗算を行う場合のユニット間接続方法の説明図である
。1ユニット当り64桁しか受け付けないとしても、ユ
ニットを8個連結すると(ユニット401.402.・
・・、 408)、512桁の乗算が期待される。その
ためには、まず、被乗数コード440を64桁ずつに分
けて、下桁ユニット401から上桁ユニット402を経
てさらに上桁ユニット408に向かって順次に格納する
。このためには、各ユニット401〜408を被乗数の
ロードモードにし、クロック信号発生器430を使っ、
てクロック信号CLK。
を下桁ユニットから上桁ユニットに向かって順に選択的
に64個ずつ印加する。
次に、ユニット間で、上桁ユニットの最下位桁の部分積
レジスタ160の下位nビ・ノドの出力端子185を、
下桁ユニットの最上位桁の部分積レジスタ160の上位
nビットの入力端子180に接続する。
従って、最下桁ユニット401の最下位桁部分積の下位
nビットの出力端子185が総合的な乗算結果の取り出
し端子420につながる。なお、最下桁ユニット408
の最上位桁部分積レジスタ160の上位nビットにはそ
れより上位桁からの桁送り信号が無いので、ユニット4
08の端子180にはOの値を与えておけばよい。
この後、全ユニットのデータ入力端子125に乗数45
0を下桁から順次にユニットへ供給する。クロック信号
発生器430からは、全ユニットへクロック信号CLK
、とCLK2が一斉に供給される。
それにともなって、全ユニットの全桁で、入力バス12
0上の乗数コードとレジスタ110に保持された被乗数
コードとの積(部分積)が−斉に計算される。
各ユニットでの部分積の計算結果は、上桁ユニット40
8の部分積レジスタ160からユニット407゜406
、  ・・・、402の部分積レジスタ160を経て下
桁ユニット401の部分積レジスタ160へと桁送り加
算処理を得ながら順次に転送され、部分的な演算結果が
次々に総合され、総合的な富裕乗算結果460が下桁か
ら順次に端子420を通して出力される。
このような複数乗算ユニットのシリアル結合で、ユニッ
ト当り64桁の2進コードの乗算が、8ユニットの連結
で、512桁の乗算を行える。ただし、桁数が増えるに
つれて計算時間が長くなる。各桁での計算時間が10n
secであるとしても、64桁の乗算結果を出力する時
間が、0.64μsecになる。8チツプを連結した場
合は、512桁の乗算時間が5.12μsecになる。
かなり長いが、ソフトウェアで処理するよりははるかに
短い。
第5図は指数変換を用いた高桁乗算装置の実施例の構成
図である。この図の詳細な説明に入る前に、指数変換方
式による乗算方式を説明しておく。
指数変換方式の乗算は計算尺の計算法に似ている。
AとBの積Cを計算する前に、 A mod (P) =r”           (
4)B mod (p)−rb(5) とする。この計算で、予め、A、Bをa、bに変換する
テーブルを作っておく。また、同時に逆変換テーブルも
作っておく。この時、 AxB mod (p ) = r”’       
 (6)であるから、a+bの加算結果から逆変換テー
ブルでAXBの積を求めることができる。ここに、逆変
換テーブルは、p−=257.  r=10とする場合
に作り易くなる。
そこで、第3図の各桁の部分積を作るための被乗数のn
ビットコードと乗数のnビットコードを指数変換テーブ
ルで、それぞれnビットの指数コードに変換して入力す
ると、乗算回路を使わないで加算器だけで高桁乗算を実
行できる。もちろん、指数変換と逆変換のために変換テ
ーブルメモリは使う必要がある。
第5図に戻って、この高桁乗算装置の説明を行う。第1
図との違いは、入力バス120の前段に指数変換テーブ
ルメモリ505が付加されていることと、nビット被乗
数レジスタ110の代わりに被乗数の指数コードレジス
タ510が使われていることと、乗算回路1300代わ
りに加算回路530が使われていることと、その後に、
逆指数変換テーブルメモリ520が挿入されていること
である。
指数変換を行えば、乗算回路の代わりに加算回路を使え
るために、乗算回路での遅延時間は短縮されるが、逆指
数変換テーブルメモリ520が高速でないとトータルの
演算時間が短縮されない。そこで、変換テーブルメモリ
としてはゲートアレイの固定メモリマトリクスを使うも
のとする。乗算回路に較べ、加算回路を加えても十分に
小さいので、ハードウェアサイズが第1図の場合より減
少すると期待される。
指数変換は変換テーブルメモリのサイズを考えるとn=
4の当りが適当である。4ビットの場合は、16個のコ
ード変換でよいから、変換テーブルは16X 4 =6
4ビットのメモリで実現される。固定であるから128
ゲート以下で実現できる。逆変換テーブルも同じく小さ
く実現できる。
第1図と第5図の高桁乗算装置のハードウェア量の比較
を行う。第1図の実施例で4ビットの乗算回路が約35
0ゲート、加算器が約60ゲートであったことと較べる
と、第5図の実施例は60ゲートの加算器と128ゲー
トの逆変換テーブルを使うので、410ゲートが188
ゲートに減ることになる。乗数や被乗数のための指数変
換テーブルメモリの方は1つあればよいので、4万ゲー
トの乗算ユニットの中では無視できる。故に、桁当りの
回路規模が、550ゲートから222ゲート減って32
8ゲートになる。同じゲート数を使用すると仮定すると
、第1図でのLSIチップ当り64桁が108桁に増え
る。
これは約1.7倍の集積度向上に対応する。
次に、処理時間の比較を行う。指数変換チーフルでの変
換時間は固定メモリを使う場合、2 n5ec以下が可
能である。4ビットの加算も2 n5ec程度である。
変換が2度あることと、順次加算が2度あるために、8
 n5ecは計算にかかる。部分積レジスタでのセット
時間を考えると、やはり、10nsec以下にはならな
い。この値は第1図の場合とあまり変わらないが、もし
第1図の乗算回路が64桁の4ビットコード乗算にBo
oth法を使うのであれば、第1図の桁当りの計算合計
時間が15nsec近(になるので、第5図の方が高速
であると言える。
指数変換方式の高桁乗算が、指数変換を使わない場合に
較べて、ハードウェアサイズや処理速度の点で幾分改善
されると説明したが、詳細な回路設計と改良の工夫をし
た結果でないと、いずれがよいとは断定できない。しか
し、ゲートアレイの規模が大きくなる超LSIの時代で
は、LSIチップで128桁以上の乗算も十分に可能で
あることが示された。
〔発明の効果〕
以上に述べたように、本発明によれば、浮動小数点演算
を使わずに高桁数値の乗算を、16ビットとか32ビッ
トに及ぶ乗算プロセッサとソフトウェアを使って逐次に
処理するときの桁数が増えるにつれて計算時間が桁数の
平方に比例して増える問題が容易に解決されることがわ
かる。
乗算プロセッサのビット幅を32ビット以上にすること
は、端子数やバス幅の制限と回路規模の制限でハードウ
ェア設計が困難になっていたが、本発明を使うと、次の
ようないくつかのメリットが期待される。
第1のメリットは、乗数の桁数がいくら増えても、シリ
アルに入力される期間にわたって計算結果が下桁から順
次に出力されるだけで、実行時間が長くなるが、LSI
化可能なハードウェアへ入力するだけで高桁乗算を実行
できることである。
第2のメリットは、4ビットとか8ビットの部分積演算
回路の繰り返し構造の回路構成であるために、部分積回
路を100個程度にしても小型に実現でき、LSI化も
容易となることである。
第3のメリットは、被乗数の桁を増やす際に乗算ユニッ
トをシリアルに連結するだけで達成されることである。
第4のメリットは、回路構成が単純であるために、桁当
りの乗算が100MHzのクロックで処理されることで
ある。
ここで、512桁の乗算時間を、第4図の説明の時に、
5.12μsecと見積もったが、これは乗数を蓄える
メモリが10nsecのサイクルタイムで乗数コード(
4ビット単位)を供給してもらえると仮定した。32ビ
ット乗算プロセッサで、512ビットの乗算を乗数と被
乗数を32ビットずつ16回に分けて供給すると、約2
56回の部分積計算が必要になる。
途中計算結果を部分積の計算の都度メモリに蓄え、読み
出す動作が必要で、各部分積の計算時間を10nsec
の3倍に見積もる必要がある。故に、256 X 30
nsec = 7.6μsec時間が部分積演算で使わ
れる。さらに16回の加算を約512回繰り返すことも
必要になる。32ビット加算を5 n5ecとすると、
80 X 512nsec = 40 u secが加
わる。合計で47.6 μsecとなる。これを較べる
と、本発明による8ユニツト連結の高桁乗算装置での計
算時間5.12μsecはかなりよい。このことからも
、本発明によれば高桁乗算について約1桁の高速化をも
たらすことが可能と予想される。
【図面の簡単な説明】
第1図は本発明の高桁乗算装置の一実施例の回路構成の
説明図、 第2図は第1図の回路での各部の動作波形図、第3図は
富裕乗算方式の説明図、 第4図は高桁乗算ユニットの連結方法の説明図、第5図
は指数変換方式による高桁乗算装置の一実施例を示す図
である。 110  ・・・・・nビット被乗数レジスタ120 
 ・・・・・入力バス 300゜ 310 ・ 320 ・ 330  ・ 340 ・ 410 ・ 420 ・ 430 ・ ・・・・データ入力端子 ・・・・nビット乗算回路 ・・・・桁送りレジスタ ・・・・第1の加算器 ・・・・部分積レジスタ ・・・・第2の加算器 ・・・・部分積入力端子 ・・・・部分積出力端子 ・・・・クロック信号CLK。 端子 ・クロック信号CLK2 端子 401〜408  ・・・乗算ユニット・・・・被乗数 ・・・・乗数 ・・・・部分積 ・・・・部分積の和 ・・・・入力端子 ・・・・出力端子 ・・・・クロック信号発生器 の入力 の入力 富裕被乗数 富裕乗数 乗算結果 指数変換テーブルメモリ 被乗数の指数コードレジスタ 逆指数変換テーブルメモリ 指数部の加算器

Claims (9)

    【特許請求の範囲】
  1. (1)乗算される高桁の乗数及び被乗数を各桁nビット
    (nは2以上の正整数)単位のコード列に変換し、被乗
    数のコード列を先に下桁から順次入力してm(2以上の
    正整数)個のレジスタに保持し、次に、乗数のコード列
    を下桁から順次入力し、その後も(m+1)個以上の0
    を順次に追加入力し、入力される都度、各桁乗数と全桁
    の被乗数との積を一斉に計算し、入力クロックに同期し
    て、各桁の積から求まる掛け算結果を各桁nビットのコ
    ード列として下桁から順次に(m+1)個の0の追加入
    力完了時まで出力することを特徴とする高桁乗算方式。
  2. (2)乗算される高桁の乗数及び被乗数を各桁nビット
    (nは2以上の正整数)単位のコード列に変換し、先に
    下桁から順次入力される被乗数のコード列をユニット当
    りm個ずつ下桁から上桁へ連結されるユニットのレジス
    タに記憶し、次に、乗数のコード列を全ユニットに下桁
    から順次入力し、その後に(m+1)個以上の0を乗数
    として追加入力し、乗数の各桁の入力される都度、各桁
    乗数と全桁の被乗数との積を一斉に計算し、計算結果を
    各ユニットで各桁nビットのコード列として下桁から順
    次に出力し、下桁側隣接ユニットに送り出すと共に、上
    桁側隣接ユニットからの出力を順次に受け付けることを
    特徴とする高桁乗算方式。
  3. (3)複数ユニットからなる高桁乗算装置であって、 各ユニットが、 各桁nビットの被乗数のm桁分のレジスタと、各桁nビ
    ットの乗数のクロック信号に同期した入力を行う入力バ
    スと、 各桁乗数とレジスタに保持された各桁の被乗数との掛け
    算を行うnビット乗算回路と、 i番目(iはm以下の正整数)の桁の乗算回路の出力に
    桁上げレジスタの内容を加える第1の加算器と、 第1の加算器の出力(2nビット)を上下nビットずつ
    に分けて記憶する部分積レジスタと、i番目の部分積レ
    ジスタの上位nビットを(i+1)番目の桁の部分積レ
    ジスタの下位nビットと加算する第2の加算器と、 第2の加算器の出力を一時記憶する桁上げレジスタとを
    備えたことを特徴とする高桁乗算装置。
  4. (4)乗算される高桁の乗数及び被乗数を各桁nビット
    (nは2以上の正整数)単位のコード列に変換し、各コ
    ードを指数コードに変換し、被乗数の指数コード列を先
    に下桁から順次入力してm(2以上の正整数)個のレジ
    スタに保持し、次に、乗数の指数コード列と上位桁(m
    +1)個の0を下桁から順次入力し、入力される都度、
    各桁乗数の指数コードと全桁の被乗数の指数コードとの
    和を一斉に計算し、各桁での和を逆指数変換して積を作
    り、入力クロックに同期して、積を各桁nビットのコー
    ド列として下桁から順次に出力することを特徴とする高
    桁乗算方式。
  5. (5)連結される複数ユニットと、1個の指数変換回路
    とからなる高桁乗算装置であって、 各ユニットが指数変換後の各桁nビットの被乗数の指数
    コードを蓄えるm桁分のレジスタと、指数変換後の各桁
    nビットの乗数の指数コードをクロック信号に同期して
    与える入力バスと、各桁乗数の指数コードとレジスタに
    保持された各桁の被乗数の指数コードとの加算を行う加
    算回路と、 加算回路に接続される逆指数変換回路と、 i番目(iはm以下の正整数)の桁の逆指数変換回路の
    出力に桁上げレジスタの内容を加える第1の加算器と、 第1の加算回路の出力(2nビット)を上下nビットず
    つに分けて記憶する部分積レジスタと、i番目の部分積
    レジスタの上位nビットを(i+1)番目の桁の部分積
    レジスタの下位nビットと加算する第2の加算器と、 第2の加算器の出力を一時記憶する桁上げレジスタとを
    備えたことを特徴とする高桁乗算装置。
  6. (6)逆指数変換回路が記憶マトリクスであることを特
    徴とする請求項5に記載の高桁乗算装置。
  7. (7)乗数の各桁nビットコードの入力クロック周期内
    の前半で、全桁で一斉に、第1加算器の出力を部分積レ
    ジスタへ設定し、後半で、第2加算器の出力を桁上げレ
    ジスタへ設定することを特徴とする請求項3または5に
    記載の高桁乗算装置。
  8. (8)連結するユニット間において、上桁側ユニットの
    最下位部分積レジスタの下位nビットの出力端子が、下
    位桁側ユニットの最上位部分積レジスタの上位nビット
    の入力端子に接続されることを特徴とする請求項3また
    は5に記載の高桁乗算装置。
  9. (9)nを4とすることを特徴とする請求項3または5
    に記載の高桁乗算装置。
JP2121351A 1990-05-14 1990-05-14 高桁乗算装置 Expired - Lifetime JPH0833815B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2121351A JPH0833815B2 (ja) 1990-05-14 1990-05-14 高桁乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2121351A JPH0833815B2 (ja) 1990-05-14 1990-05-14 高桁乗算装置

Publications (2)

Publication Number Publication Date
JPH0421026A true JPH0421026A (ja) 1992-01-24
JPH0833815B2 JPH0833815B2 (ja) 1996-03-29

Family

ID=14809127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2121351A Expired - Lifetime JPH0833815B2 (ja) 1990-05-14 1990-05-14 高桁乗算装置

Country Status (1)

Country Link
JP (1) JPH0833815B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111801651A (zh) * 2018-03-05 2020-10-20 国际商业机器公司 使用16比特浮点乘法器的矩阵-矩阵乘法的多精度整数乘法器
CN116225366A (zh) * 2023-03-06 2023-06-06 开源网安物联网技术(武汉)有限公司 应用于嵌入式流水cpu内核的乘法指令扩展方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54144148A (en) * 1978-05-01 1979-11-10 Aisuke Katayama Exponential conversion type high speed multiplying system
JPS58129653A (ja) * 1982-01-29 1983-08-02 Hitachi Ltd 乗算方式
JPS5943475A (ja) * 1982-08-02 1984-03-10 アルカテル・エヌ・ブイ 可変長高速乗算能力を有する連想プロセツサ
JPH03103922A (ja) * 1989-09-19 1991-04-30 Fujitsu Ltd 多数桁乗算装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54144148A (en) * 1978-05-01 1979-11-10 Aisuke Katayama Exponential conversion type high speed multiplying system
JPS58129653A (ja) * 1982-01-29 1983-08-02 Hitachi Ltd 乗算方式
JPS5943475A (ja) * 1982-08-02 1984-03-10 アルカテル・エヌ・ブイ 可変長高速乗算能力を有する連想プロセツサ
JPH03103922A (ja) * 1989-09-19 1991-04-30 Fujitsu Ltd 多数桁乗算装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111801651A (zh) * 2018-03-05 2020-10-20 国际商业机器公司 使用16比特浮点乘法器的矩阵-矩阵乘法的多精度整数乘法器
JP2021515936A (ja) * 2018-03-05 2021-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 16ビット浮動小数点乗算器を用いた行列と行列の乗算による複数精度整数乗算器
CN116225366A (zh) * 2023-03-06 2023-06-06 开源网安物联网技术(武汉)有限公司 应用于嵌入式流水cpu内核的乘法指令扩展方法及装置
CN116225366B (zh) * 2023-03-06 2024-04-05 开源网安物联网技术(武汉)有限公司 应用于嵌入式流水cpu内核的乘法指令扩展方法及装置

Also Published As

Publication number Publication date
JPH0833815B2 (ja) 1996-03-29

Similar Documents

Publication Publication Date Title
JP3244506B2 (ja) 小型乗算器
Stelling et al. Implementing multiply-accumulate operation in multiplication time
JPH0474219A (ja) 高速乗算器
JPH01144122A (ja) 除算回路
Gadakh et al. FPGA implementation of high speed vedic multiplier
JPH08221256A (ja) 乗算器及び積和演算装置
US5115408A (en) High speed multiplier
US5289399A (en) Multiplier for processing multi-valued data
JPH0421026A (ja) 高桁乗算装置
JP3660075B2 (ja) 除算装置
Shawl et al. Implementation of Area and Power efficient components of a MAC unit for DSP Processors
Jinesh et al. Implementation of 64Bit high speed multiplier for DSP application-based on vedic mathematics
JPS58129653A (ja) 乗算方式
US4041296A (en) High-speed digital multiply-by-device
Al-Ibadi Hardware implementation for high-speed parallel adder for QSD 2D data arrays
RU2797164C1 (ru) Конвейерный умножитель по модулю
CN217034730U (zh) 多位选择器及运算电路及芯片
Joshi et al. FPGA Based Vedic Multiplier
JPS5911939B2 (ja) フゴウツキカケザンロンリソウチ
Sunitha et al. Design and Implementation of Adder Architectures and Analysis of Performance Metrics
MUSKAN et al. LOW POWER VLSI DESIGN AND FPGA IMPLEMENTATION OF VARIOUS MULTIPLIERS
JP2825255B2 (ja) 半導体集積回路装置
JPS6250928A (ja) 固定係数の直列乗算方法及びそのデイジタル回路
Swathi et al. Design and Estimation of Delay, Power and Area for Parallel Prefix Adders
JPS6086671A (ja) 除算回路