JPH0644228B2 - 2乗演算装置 - Google Patents
2乗演算装置Info
- Publication number
- JPH0644228B2 JPH0644228B2 JP1011351A JP1135189A JPH0644228B2 JP H0644228 B2 JPH0644228 B2 JP H0644228B2 JP 1011351 A JP1011351 A JP 1011351A JP 1135189 A JP1135189 A JP 1135189A JP H0644228 B2 JPH0644228 B2 JP H0644228B2
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- value
- controller
- shifter
- pointers
- 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 - Lifetime
Links
Landscapes
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明はレジスタが複数個にまたがるような大規模整数
を扱う2乗演算装置に関する。
を扱う2乗演算装置に関する。
(従来の技術) 従来、2乗演算ではあっても、特に区別はせず、同じ数
同志を乗算することで処理していた。
同志を乗算することで処理していた。
(発明が解決しようとする問題点) 大規模整数の2乗演算を高速に実行させたい場合、同じ
数の乗算と見なすのは、無駄な処理が多く、高速化の妨
げになる。
数の乗算と見なすのは、無駄な処理が多く、高速化の妨
げになる。
(問題を解決するための手段) 上記問題点は、以下のようにして解決できる。すなわ
ち、m個のレジスタで表現されている正整数Xの2乗を
演算する装置であって、少なくとも2つのポインタと、
前記2つのポインタの指し示すレジスタの値を乗算する
乗算器と、前記乗算器の出力をコントローラの制御によ
ってシフトを行なうシフト器と、シフト器の出力を格納
する記憶装置を有し、第一のポインタはコントローラの
制御によって1からmまで働き、第二のポインタはコン
トローラの制御によって第一のポインタの値からmまで
働き、コントローラは第一のポインタと第二のポインタ
の値が等しい時、シフト器により1ビットシフトさせ、
シフト器の出力を第一のポインタと第二のポインタBの
和に定数を足したアドレスのメモリに足し込むことを特
徴とした2乗演算装置である。
ち、m個のレジスタで表現されている正整数Xの2乗を
演算する装置であって、少なくとも2つのポインタと、
前記2つのポインタの指し示すレジスタの値を乗算する
乗算器と、前記乗算器の出力をコントローラの制御によ
ってシフトを行なうシフト器と、シフト器の出力を格納
する記憶装置を有し、第一のポインタはコントローラの
制御によって1からmまで働き、第二のポインタはコン
トローラの制御によって第一のポインタの値からmまで
働き、コントローラは第一のポインタと第二のポインタ
の値が等しい時、シフト器により1ビットシフトさせ、
シフト器の出力を第一のポインタと第二のポインタBの
和に定数を足したアドレスのメモリに足し込むことを特
徴とした2乗演算装置である。
(作用) Xがレジスタ長mで表現されているとする。すなわち、
qをレジスタの単位とおけば、 であるとする。ここで、Xiは、ポインタがiのときに
指し示すX領域の値てある。このとき、X2は、 であるから、前述のポインタAをカウンタi、ポインタ
Bをカウンタjと見なせば、ポインタAが1からmまで
動くとき、ポインタBはポインタAからmまで動き、ポ
インタBとポインタAが等しいときは両ポインタの示す
X領域の値Xi、Xj(ここではXi=Xj)を掛け合
わせ、等しくないときは両ポインタの示すX領域の値を
掛け合わせた後に2倍、すなわち1ビット左にシストし
て足し合わす。
qをレジスタの単位とおけば、 であるとする。ここで、Xiは、ポインタがiのときに
指し示すX領域の値てある。このとき、X2は、 であるから、前述のポインタAをカウンタi、ポインタ
Bをカウンタjと見なせば、ポインタAが1からmまで
動くとき、ポインタBはポインタAからmまで動き、ポ
インタBとポインタAが等しいときは両ポインタの示す
X領域の値Xi、Xj(ここではXi=Xj)を掛け合
わせ、等しくないときは両ポインタの示すX領域の値を
掛け合わせた後に2倍、すなわち1ビット左にシストし
て足し合わす。
(実施例) 本発明をディジタルシグナルプロセッサ(以下DSPと
略す)上で実施した例を述べる。mレジスタで表現され
ている大規模整数が上位レジスタから順にアドレス1か
らmまでに格納されているとする。その2乗がアドレス
nからn+2m−2に格納される場合を考える。ここ
で、被乗数と積のアドレスが重ならないように、n>m
とする。以下の手順は第1図に示してある。まず、アド
レスnからn+2m−1までの結果領域をクリアする。
ポインタBをmにセットする。ポインタAをBと等しく
する。次に、結果領域のためのポインタをCと名付け、
Cに2m+n−2(=A+B+n−2)を代入する。ポ
インタA及びポインタBで指される値を@A、@Bと記
し、@Aと@Bの積を求める。この時、ポインタA=ポ
インタBであるので、この乗算結果にはシフトをせず、
また結果領域もクリアされているのでそのまま格納す
る。格納するとき、下位ワードをアドレスCのレジスタ
に格納し、上位ワードは一次待避レジスタに置いてお
く。つぎにポインタA並びにポインタCをひとつ減ら
し、同様に@Aと@Bを掛け合わせる。この時、ポイン
タAとポインタBの値は等しくないので、この積を2
倍、すなわち1ビット左にシフトする。そののち、前乗
算からの繰越ワードを足し合わせる。得られた和の下位
ワードをアドレスCに格納し、上位ワードは次の積に繰
り越すため待避レジスタに入れて置く。以上の処理を繰
り返し、ポインタAが0になったら、待避レジスタにあ
る値をポインタCの示す第2メモリ領域のアドレスに格
納し、ポインタBの値を1つ減らす。以下同様な手順を
続けるが、2回目からは前回結果領域に格納してある値
をも加算することになる。上記の処理をポインタBが0
になるまで繰り返す。
略す)上で実施した例を述べる。mレジスタで表現され
ている大規模整数が上位レジスタから順にアドレス1か
らmまでに格納されているとする。その2乗がアドレス
nからn+2m−2に格納される場合を考える。ここ
で、被乗数と積のアドレスが重ならないように、n>m
とする。以下の手順は第1図に示してある。まず、アド
レスnからn+2m−1までの結果領域をクリアする。
ポインタBをmにセットする。ポインタAをBと等しく
する。次に、結果領域のためのポインタをCと名付け、
Cに2m+n−2(=A+B+n−2)を代入する。ポ
インタA及びポインタBで指される値を@A、@Bと記
し、@Aと@Bの積を求める。この時、ポインタA=ポ
インタBであるので、この乗算結果にはシフトをせず、
また結果領域もクリアされているのでそのまま格納す
る。格納するとき、下位ワードをアドレスCのレジスタ
に格納し、上位ワードは一次待避レジスタに置いてお
く。つぎにポインタA並びにポインタCをひとつ減ら
し、同様に@Aと@Bを掛け合わせる。この時、ポイン
タAとポインタBの値は等しくないので、この積を2
倍、すなわち1ビット左にシフトする。そののち、前乗
算からの繰越ワードを足し合わせる。得られた和の下位
ワードをアドレスCに格納し、上位ワードは次の積に繰
り越すため待避レジスタに入れて置く。以上の処理を繰
り返し、ポインタAが0になったら、待避レジスタにあ
る値をポインタCの示す第2メモリ領域のアドレスに格
納し、ポインタBの値を1つ減らす。以下同様な手順を
続けるが、2回目からは前回結果領域に格納してある値
をも加算することになる。上記の処理をポインタBが0
になるまで繰り返す。
(発明の効果) 以上詳細に説明した通り、本発明装置を用いれば、効率
よく高速に2乗演算が実行できる。
よく高速に2乗演算が実行できる。
第1図は本発明の一実施例を示す図である。第2図は本
発明の一実施例を示すブロック図である。
発明の一実施例を示すブロック図である。
Claims (1)
- 【請求項1】m個のレジスタで表現されている正整数X
の2乗を演算する装置であって、少なくとも2つのポイ
ンタと、前記2つのポインタの指し示すレジスタの値を
乗算する乗算器と、前記乗算器の出力をコントローラの
制御によってシフトを行なうシフト器と、シフト器の出
力を格納する記憶装置を有し、第一のポインタはコント
ローラの制御によって1からmまで働き、第二のポイン
タはコントローラの制御によって第一のポインタの値か
らmまで働き、コントローラは第一のポインタと第二の
ポインタの値が等しい時、シフト器により1ビットシフ
トさせ、シフト器の出力を第一のポインタと第二のポイ
ンタの和に定数を足したアドレスのメモリに足し込むこ
とを特徴とした2乗演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1011351A JPH0644228B2 (ja) | 1989-01-20 | 1989-01-20 | 2乗演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1011351A JPH0644228B2 (ja) | 1989-01-20 | 1989-01-20 | 2乗演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02191030A JPH02191030A (ja) | 1990-07-26 |
JPH0644228B2 true JPH0644228B2 (ja) | 1994-06-08 |
Family
ID=11775617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1011351A Expired - Lifetime JPH0644228B2 (ja) | 1989-01-20 | 1989-01-20 | 2乗演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0644228B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2550597B2 (ja) * | 1987-08-27 | 1996-11-06 | ソニー株式会社 | 2乗器 |
-
1989
- 1989-01-20 JP JP1011351A patent/JPH0644228B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02191030A (ja) | 1990-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4754421A (en) | Multiple precision multiplication device | |
US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
US5081573A (en) | Parallel processing system | |
US4602350A (en) | Data reordering memory for use in prime factor transform | |
US4604721A (en) | Computer and method for high speed prime factor transform | |
JPH0368416B2 (ja) | ||
US4225933A (en) | Exponential function computing apparatus | |
JPH0477932B2 (ja) | ||
JPH0731592B2 (ja) | 除算回路 | |
JPH0644228B2 (ja) | 2乗演算装置 | |
JPS63501828A (ja) | マルチゾ−ンプロセツサ | |
JPH0331005B2 (ja) | ||
JPS58129653A (ja) | 乗算方式 | |
US5715187A (en) | Method and apparatus for integer multiplication | |
JPS60138640A (ja) | レジスタフアイル書込み方式 | |
JP2951685B2 (ja) | 固定小数点演算器 | |
JP2550597B2 (ja) | 2乗器 | |
JP2674747B2 (ja) | シグナル・プロセツサ | |
JPH06168105A (ja) | 整数除算方式 | |
JPS61251933A (ja) | 乗算回路 | |
SU744591A1 (ru) | Устройство дл обработки сейсмических данных | |
SU1022156A2 (ru) | Устройство дл умножени | |
SU781813A1 (ru) | Устройство дл делени | |
JPH0365683B2 (ja) | ||
JPS6014374A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080608 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090608 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090608 Year of fee payment: 15 |