JPH0612236A - 整数上の乗算回路及び乗算方法 - Google Patents
整数上の乗算回路及び乗算方法Info
- Publication number
- JPH0612236A JPH0612236A JP4167083A JP16708392A JPH0612236A JP H0612236 A JPH0612236 A JP H0612236A JP 4167083 A JP4167083 A JP 4167083A JP 16708392 A JP16708392 A JP 16708392A JP H0612236 A JPH0612236 A JP H0612236A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- integer
- bits
- full adder
- register
- 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
Links
Abstract
る場合に、小さな桁数の乗算器を用いて桁上がりを考慮
した効率的な回路及び乗算方法を提供する。 【構成】h,m,nを正の整数とし、nビツトの整数A
と(h×m)ビツトの整数Bとの乗算を行う回路におい
て、1×mビツトの乗算器とmビツトフルアダーとm+
2ビツトのレジスタとからなる演算エレメントを整数B
のmビツトに対応してh個備え、整数Aの各1ビツトに
整数Bのmビツトが乗算されて、mビツトフルアダーに
出力され、フルアダーでは、各乗算器の出力と、下位桁
のレジスタからの前回のクロツク時の下位桁のmビツト
フルアダーの上位3ビツトと、同じレジスタからの前回
のクロツク時のフルアダーでの加算結果の下位m−1ビ
ツトを1桁上位にシフトしたフイードバツク値とを加算
し、上位3ビツトを上位桁のフルアダーの下位3ビツト
に提供し、nクロツク後のm+2ビツトのレジスタの内
容を乗算結果A・Bとする。
Description
し、特に小さな桁数の乗算器を用いて大きな桁数の乗算
を行う回路及びその方法に関するものである。本発明
は、大きな桁数の乗算を必要とするRSA暗号(池野信
一,小山謙二:“現代暗号学”,電子情報通信学会,1
986,6章)のような暗号化技術をはじめとして多く
の整数演算に利用することができる。
て、小さな桁数の整数上の乗算器は、セルライブラリや
TTL等が用意されているため手軽に構成することがで
きる。しかし、大きな桁数の乗算回路を実現しようとし
た場合には、セルライブラリ等がないので自分で設計し
なければならない。ところが、大きな桁数の乗算器を自
分で設計する場合、小さな桁数の乗算器の回路構成をそ
のまま拡張したのでは、回路構成が非常に複雑になり実
現が難しい。
数クロツクで乗算を行おうとする場合、入力値を多項式
と見なすと、ガロア体(宮川洋,岩垂好裕,今井秀樹:
“符号理論”,昭晃堂,1973,4章)のような桁上
がりのない演算系では、図2のような回路によつて乗算
が行われることが知られている。図2中、*Bi はB i
(i=0,…,n−1)を乗数としたmビツト*mビツ
トのガロア体上の乗算器、EXはmビツトのEXOR、
rはmビツトのレジスタである。
分割演算を行うと分割演算した桁毎に桁上がりが生じる
ため、効率的な乗算器を実現することは難しい。
欠点を除去し、乗算回路において大きな桁数の入力値を
分割して演算する場合に、小さな桁数の乗算器を用いて
桁上がりを考慮した効率的な整数上の乗算回路及び乗算
方法を提供することを目的とする。
に、本発明の整数上の乗算回路は、h,m,nを正の整
数とする場合に、nビツトの整数Aと(h×m)ビツト
の整数Bとの乗算を行う整数上の乗算回路であつて、整
数Aが1ビツト毎にnクロツクに分けて上位桁から入力
され、該整数Aの各1ビツトに整数Bの所定のmビツト
を乗算する前記整数Aに対して並列につながれる1ビツ
ト×mビツトの乗算器と、該乗算器の出力と、前回のク
ロツク時の1つ下位桁の2ビツトキヤリー付きmビツト
フルアダーのm,m+1及びm+2の上位3ビツトと、
前回のクロツク時の同じ桁の2ビツトキヤリー付きmビ
ツトフルアダーの下位m−1ビツトを1桁上位にシフト
したフイードバツク値とを加算する前記2ビツトキヤリ
ー付きmビツトフルアダーと、前記2ビツトキヤリー付
きmビツトフルアダーのm+2ビツトの出力を同時に入
出力する、2つの前記2ビツトキヤリー付きmビツトフ
ルアダー間につながれるm+2ビツトのレジスタとを備
え、nクロツク後の前記m+2ビツトのレジスタの内容
を乗算結果A・Bとする。
nビツトの整数Aと(h×m)ビツトの整数Bとの乗算
を行う整数上の乗算回路であつて、1ビツト×mビツト
の乗算器と2ビツトキヤリー付きmビツトフルアダーと
m+2ビツトのレジスタとからなる演算エレメントを整
数Bの所定のmビツトに対応してh個備え、前記乗算器
には整数Aが1ビツト毎にnクロツクに分けて上位桁か
ら並列に入力され、該整数Aの各1ビツトに整数Bの所
定のmビツトが乗算されて、前記mビツトフルアダーに
出力され、前記mビツトフルアダーでは、前記各乗算器
の出力と、下位桁の前記レジスタからの前回のクロツク
時の下位桁の前記mビツトフルアダーのm,m+1及び
m+2の上位3ビツトと、同じ演算エレメント内の前記
レジスタからの前回のクロツク時の前記mビツトフルア
ダーでの加算結果の下位m−1ビツトを1桁上位にシフ
トしたフイードバツク値とを加算し、前記レジスタは、
前記mビツトフルアダーのm+2ビツトの出力を同時に
保持し、下位m−1ビツトを同じ演算エレメント内の前
記mビツトフルアダーにフイードバツクし、上位3ビツ
トを上位桁の前記mビツトフルアダーの下位3ビツトに
提供し、nクロツク後の前記m+2ビツトのレジスタの
内容を乗算結果A・Bとする。
トフルアダーは、複数の2入力フルアダーまたはハーフ
アダーによつて実現される。
m,nを正の整数とする場合に、nビツトの整数Aと
(h×m)ビツトの整数Bとの乗算を行う整数上の乗算
方法であつて、1ビツト×mビツトの乗算器と、2ビツ
トキヤリー付きmビツトフルアダーと、該フルアダーの
出力を記憶する整数Bの桁に対応してアドレス配置され
る複数領域を有する少なくともm+2ビツトのメモリと
を備え、(A) 整数Aのn分割された1ビツト(Ai )と
整数Bのh分割されたmビツト(Bj )とを前記1ビツ
ト×mビツトの乗算器で乗算する行程と、(B) 乗算結果
と前記メモリの所定領域(Rj-1 )の上位3ビツトと所
定領域(Rj )の下位m−1ビツトとを前記フルアダー
で加算する行程と、(C) 加算結果を前記メモリの所定領
域(Rj )に記憶する行程とを備え、前記行程(A) 〜
(C) を各Ai(i=n−1,n−2,…,0の順)につい
て、B j のjをn−1から0まで変化させて繰り返し、
全行程終了後の前記メモリの内容を乗算結果A・Bとす
る。
トの整数Bとの乗算器を想定するが、簡単のためにh=
nとして説明する。この限定により一般性が失われるこ
とはない。すなわち、nビツトの整数Aとn・mビツト
の整数Bとし、A・B=Cの演算を実行することを考え
る。ここで、mビツトの2つの整数a,bの乗算a・b
=cを実行する乗算器は公知の構成、例えばセルライブ
ラリやTTL等によつて簡単に実現できる。
毎にn分割すると、次のように表せる。
+A1 ・2+A0 B=Bn-1 ・Xn-1 +Bn-2 ・Xn-2 +…+B1 ・X+
B0 ここで、X=2m-1 とし、A,Bについて上位桁からn
分割したビツト系列を、各々Ai ,Bi (i=n−1,
…,0)とする。この場合、整数A,Bは多項式とみな
すことができるので、A・Bは次のように表すことがで
きる。
場合を考える。
Ai (i=n−1,…,0)が1ビツト単位、Bi がm
ビツト単位のときの乗算回路である。図1は1×mビツ
トの乗算器4個(×B0 〜×B3 )と、2ビツトキヤリ
ー付きmビツトフルアダー4個(+0 〜+3 )と、m+
2ビツトのレジスタ4個(R0 〜R4 )から構成され
る。図1において各レジスタの初期状態はオール“0”
とする。
式の各項の係数A3 ・Bi (i=3,…,0)が各乗算
器から出力され、各フルアダーを通して各々のレジスタ
に格納される。
式の各項の係数A2 ・Bi (i=3,…,0)が各乗算
器から出力される。式は式に対して2進数で1桁大
きいので、レジスタ内に格納された値は1ビツト上位に
シフトされて、式の係数を表す各乗算器からの出力と
加算される。従つて、各レジスタの下位m−1ビツトは
1ビツト上位にシフトされて加算器にフイードバツク入
力され、各レジスタのmビツト目は右隣の加算器の最下
位ビツトに入力される。従つて、加算器ではmビツト同
士の加算が行われ、桁上がりがあればm+1ビツトの出
力が行われて再びレジスタに格納される。
A2 が入力されたときと同様の演算が行われるが、各レ
ジスタのm+1ビツト目の桁上がりビツトがキヤリーと
して右隣の加算器の2桁目に入力される。すなわち、各
レジスタのm+1ビツト目は右隣のレジスタの最下位ビ
ツトと同じ桁を表すので、加算器においては最下位のキ
ヤリービツトではなく2桁目のキヤリービツトとして扱
う必要がある。従つて、加算器からはm+2ビツトの出
力が行われ再びレジスタに格納される。これによつて、
上の〜式までの各項の係数の加算が行われたことに
なる。
たとき、同様の演算によつて〜式の各項の係数の加
算が行われ、A・Bの乗算が行われたことになる。後は
引続きクロツクわ入力し、最上位桁のレジスタの上位ビ
ツトから乗算結果A・Bを上位桁から出力しても良い
し、各レジスタの内容を読み出して最終乗算結果A・B
を作成しても良い。これによつてAの値が分割入力され
るときA・Bの演算が効率的に行われる。
n=4として説明したが、一般性を失うことなく、整数
Aをmビツトに分割されたn・mビツトの数とし、nと
hとが異なる任意の整数の乗算にまで拡張される。この
場合には、mビツト×mビツトの乗算器が使用される。
ダーは、複数の2入力フルアダーとハーフアダーの組合
せによつて実現できることも明かである。また、図1に
おいて右端のレジスタを省いたり、更にフルアダーとレ
ジスタを付け加えても同様の乗算器が構成できるのは明
かである。
ルアダー(+j )とレジスタ(Rj)とからなる同一の
演算素子(エレメント)の繰り返しによる構成は、VL
SI等の大規模回路を構成しやすいという利点もある。
また、複数の領域Rj を有するメモリを使用して、ソフ
トウエアにより上記演算素子に対応する演算を順にある
いは並列に行うことにより、同様の演算結果が得られる
ことは明らかである。尚、本発明は、複数の機器から構
成されるシステムに適用しても、1つの機器から成る装
置に適用しても良い。また、本発明はシステム或は装置
にプログラムを供給することによつて達成される場合に
も適用できることは言うまでもない。
桁数の入力値を分割して演算する場合に、小さな桁数の
乗算器を用いて桁上がりを考慮した効率的な整数上の乗
算回路及び乗算方法を提供できる。
である。
2mビツトフルアダー、×Bi …Bi (i=0,…,n
−1)を乗数とした1ビツト×mビツトの整数上の乗算
器、*Bi …Bi (i=0,…,n−1)を乗数とした
1ビツト*mビツトのガロア体上の乗算器、EX…mビ
ツトのEXOR、r…mビツトレジスタ
Claims (4)
- 【請求項1】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算回路であつて、 整数Aが1ビツト毎にnクロツクに分けて上位桁から入
力され、該整数Aの各1ビツトに整数Bの所定のmビツ
トを乗算する前記整数Aに対して並列につながれる1ビ
ツト×mビツトの乗算器と、 該乗算器の出力と、前回のクロツク時の1つ下位桁の2
ビツトキヤリー付きmビツトフルアダーのm,m+1及
びm+2の上位3ビツトと、前回のクロツク時の同じ桁
の2ビツトキヤリー付きmビツトフルアダーの下位m−
1ビツトを1桁上位にシフトしたフイードバツク値とを
加算する前記2ビツトキヤリー付きmビツトフルアダー
と、 前記2ビツトキヤリー付きmビツトフルアダーのm+2
ビツトの出力を同時に入出力する、2つの前記2ビツト
キヤリー付きmビツトフルアダー間につながれるm+2
ビツトのレジスタとを備え、 nクロツク後の前記m+2ビツトのレジスタの内容を乗
算結果A・Bとすることを特徴とする整数上の乗算回
路。 - 【請求項2】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算回路であつて、 1ビツト×mビツトの乗算器と2ビツトキヤリー付きm
ビツトフルアダーとm+2ビツトのレジスタとからなる
演算エレメントを整数Bの所定のmビツトに対応してh
個備え、 前記乗算器には整数Aが1ビツト毎にnクロツクに分け
て上位桁から並列に入力され、該整数Aの各1ビツトに
整数Bの所定のmビツトが乗算されて、前記mビツトフ
ルアダーに出力され、 前記mビツトフルアダーでは、前記各乗算器の出力と、
下位桁の前記レジスタからの前回のクロツク時の下位桁
の前記mビツトフルアダーのm,m+1及びm+2の上
位3ビツトと、同じ演算エレメント内の前記レジスタか
らの前回のクロツク時の前記mビツトフルアダーでの加
算結果の下位m−1ビツトを1桁上位にシフトしたフイ
ードバツク値とを加算し、 前記レジスタは、前記mビツトフルアダーのm+2ビツ
トの出力を同時に保持し、下位m−1ビツトを同じ演算
エレメント内の前記mビツトフルアダーにフイードバツ
クし、上位3ビツトを上位桁の前記mビツトフルアダー
の下位3ビツトに提供し、 nクロツク後の前記m+2ビツトのレジスタの内容を乗
算結果A・Bとすることを特徴とする整数上の乗算回
路。 - 【請求項3】 前記2ビツトキヤリー付きmビツトフル
アダーは、複数の2入力フルアダーまたはハーフアダー
によつて実現されることを特徴とする請求項1または2
記載の整数上の乗算回路。 - 【請求項4】 h,m,nを正の整数とする場合に、n
ビツトの整数Aと(h×m)ビツトの整数Bとの乗算を
行う整数上の乗算方法であつて、 1ビツト×mビツトの乗算器と、2ビツトキヤリー付き
mビツトフルアダーと、該フルアダーの出力を記憶する
整数Bの桁に対応してアドレス配置される複数領域を有
する少なくともm+2ビツトのメモリとを備え、 (A) 整数Aのn分割された1ビツト(Ai )と整数Bの
h分割されたmビツト(Bj )とを前記1ビツト×mビ
ツトの乗算器で乗算する行程と、 (B) 乗算結果と前記メモリの所定領域(Rj-1 )の上位
3ビツトと所定領域(Rj )の下位m−1ビツトとを前
記フルアダーで加算する行程と、 (C) 加算結果を前記メモリの所定領域(Rj )に記憶す
る行程とを備え、 前記行程(A) 〜(C) を各Ai(i=n−1,n−2,…,
0の順)について、B j のjをn−1から0まで変化さ
せて繰り返し、全行程終了後の前記メモリの内容を乗算
結果A・Bとすることを特徴とする整数上の乗算方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16708392A JP3210420B2 (ja) | 1992-06-25 | 1992-06-25 | 整数上の乗算回路 |
| EP93304879A EP0576262B1 (en) | 1992-06-25 | 1993-06-23 | Apparatus for multiplying integers of many figures |
| DE69329260T DE69329260T2 (de) | 1992-06-25 | 1993-06-23 | Gerät zum Multiplizieren von Ganzzahlen mit vielen Ziffern |
| US08/512,620 US5524090A (en) | 1992-06-25 | 1995-08-08 | Apparatus for multiplying long integers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16708392A JP3210420B2 (ja) | 1992-06-25 | 1992-06-25 | 整数上の乗算回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0612236A true JPH0612236A (ja) | 1994-01-21 |
| JP3210420B2 JP3210420B2 (ja) | 2001-09-17 |
Family
ID=15843097
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16708392A Expired - Fee Related JP3210420B2 (ja) | 1992-06-25 | 1992-06-25 | 整数上の乗算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3210420B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100465874C (zh) * | 1995-08-31 | 2009-03-04 | 英特尔公司 | 根据指令对数据执行运算的方法、处理器和系统 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7806832B2 (en) | 2007-04-30 | 2010-10-05 | The General Electric Company | False positive reduction in SPO2 atrial fibrillation detection using average heart rate and NIBP |
| KR102911856B1 (ko) | 2021-02-08 | 2026-01-15 | 삼성전자주식회사 | 프로세서, 프로세서의 동작 방법 및 이를 포함한 전자 장치 |
-
1992
- 1992-06-25 JP JP16708392A patent/JP3210420B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100465874C (zh) * | 1995-08-31 | 2009-03-04 | 英特尔公司 | 根据指令对数据执行运算的方法、处理器和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3210420B2 (ja) | 2001-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1293891B1 (en) | Arithmetic processor accomodating different finite field size | |
| Mohan | Residue number systems: algorithms and architectures | |
| CN110351087B (zh) | 流水线型的蒙哥马利模乘运算方法 | |
| JP5266354B2 (ja) | ガロア拡大体・積算/積算加算・積和演算装置 | |
| US6009450A (en) | Finite field inverse circuit | |
| US6061706A (en) | Systolic linear-array modular multiplier with pipeline processing elements | |
| US3805043A (en) | Serial-parallel binary multiplication using pairwise addition | |
| JP3516503B2 (ja) | 電子乗算および加算装置および方法 | |
| JP3213628B2 (ja) | Mを法として長い整数を乗算するための算術ユニット及びそのような乗算デバイスを具えるr.s.a.変換器 | |
| JPH08101779A (ja) | 有限領域におけるモジュラ計算用の電子回路 | |
| CN1717653B (zh) | 带有查询表的乘法器 | |
| US20030182343A1 (en) | Fast multiplication circuits | |
| US7607165B2 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
| JPH0612236A (ja) | 整数上の乗算回路及び乗算方法 | |
| EP1504338B1 (en) | "emod" a fast modulus calculation for computer systems | |
| JP3129525B2 (ja) | 整数上の乗算回路 | |
| KR100480997B1 (ko) | GF(p)와 GF(2^m)의 유한체 곱셈 연산 장치 | |
| JP3129524B2 (ja) | 整数上の乗算回路及び乗算方法 | |
| JP3129526B2 (ja) | 整数上の乗算回路 | |
| JPH0612237A (ja) | 整数上の乗算回路 | |
| JPH0612235A (ja) | 整数上の乗算回路及び乗算方法 | |
| JPH0612232A (ja) | 整数上の乗算回路 | |
| JPH0612231A (ja) | 整数上の乗算回路 | |
| KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
| Meher et al. | An Efficient Look-up Table-based Approach for Multiplication over GF (2 m) Generated by Trinomials |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010615 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080713 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080713 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090713 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090713 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |