JP2803442B2 - 開平装置 - Google Patents

開平装置

Info

Publication number
JP2803442B2
JP2803442B2 JP5769492A JP5769492A JP2803442B2 JP 2803442 B2 JP2803442 B2 JP 2803442B2 JP 5769492 A JP5769492 A JP 5769492A JP 5769492 A JP5769492 A JP 5769492A JP 2803442 B2 JP2803442 B2 JP 2803442B2
Authority
JP
Japan
Prior art keywords
square root
division
remainder
divisor
square
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
JP5769492A
Other languages
English (en)
Other versions
JPH05257651A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP5769492A priority Critical patent/JP2803442B2/ja
Publication of JPH05257651A publication Critical patent/JPH05257651A/ja
Application granted granted Critical
Publication of JP2803442B2 publication Critical patent/JP2803442B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は2進数の開平演算を実行
する開平装置に関するものである。
【0002】
【従来の技術】従来の開平装置としては、例えば”イン
ターフェース Dec.1990 CQ出版社,p226-p228<例題6
-4>”に掲載されているものがある。図5はこの中で引
用されている従来の開平装置のアルゴリズムを具体的な
数値を用いて説明したものであり、被開平数'101011111
001'から平方根'110101'を算出したものである。予め定
められた定数(開平定数)'01'を用いて被開平数の上位
側から2ビットづつ除算して平方根Z5Z4Z3Z2Z1Z0を得る
ものであるが、以下に処理順序に従ってその動作を説明
する。 (1) (被開平数の上位2ビット'10')−(開平定数'0
1')='1'(剰余R0) (2) (1)の演算が成り立ったので、根Z5に1をたてる (3) (剰余R0と被開平数の次の2ビット'110')−(根Z
5と開平定数'101')='1'(剰余R1) (4) (3)の演算が成り立ったので、根Z4に1をたてる (5) (剰余R1と被開平数の次の2ビット'111')−(根Z
5Z4と開平定数'1101') (6) (5)が成り立たないので、根Z3を0とし、剰余R2
(5)の被除数'111'とする (7) (R2と被開平数の次の2ビット'11111')−(根Z5Z
4Z3と開平定数'11001')='110'(剰余R3) (8) (7)が成り立ったので、根Z2に1をたてる (9) (剰余R3と次の2ビット'11010')−(根Z5Z4Z3Z2
と開平定数'110101') (10) (9)が成り立たないので根Z1を0とし、剰余R4を(9)
の被除数'11010'とする (11)(剰余R4と次の2ビット'1101001')−(根Z5Z4Z3Z
2Z1と開平定数'1101001')='0'(剰余R5) (12) (11)が成り立ったのでZ0に1を立て、端数R5は'0'
となり開平終了 以上のように本アルゴリズムによれば、2n桁のデータ
の開平処理にn回の減算処理が必要であり、図6はこの
アルゴリズムに基づく従来の開平装置の構成図を示すも
のである。図において、7は開平すべきデータ(被開平
数A2n-1A2n-2…A1A0)を保持する被開平数レジスタであ
る。8は被開平数レジスタ7から2ビットづつ出力され
るデータを用い平方根を算出する平方根生成装置であ
り、それぞれ減算を実行しZn-1Zn-2…Z1Z0及び剰余R0
Rn-1を算出するn個の減算装置を備えている。2は前記
平方根生成装置8から得られた平方根を保持する商レジ
スタであり、開平途中には平方根生成装置8に既に算出
されている根を出力する。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
開平装置で2n桁のデータを開平する場合は、n段の減
算装置が必要となり、そのハードウェア規模は大きくな
ってしまう。また1回の減算処理を1クロックで実行す
るハードウェアを実装した場合には、n回の繰り返し演
算(nクロック)が必要となり、演算実行時間も長くな
るという問題点があった。
【0004】
【課題を解決するための手段】上記課題を解決するため
に本発明の開平装置は、被開平数を上位側から所定の桁
数ごとに区切り、各区切りごとに、被除数を作成すると
ともに予め定められた複数個の開平定数を用いて除数を
作成して除算を行い、それらの結果に基づき下位側に向
かって各区切りごとに順次平方根を求める開平装置であ
って、最上位の区切りの除算を行うときには対応する被
開平数の値を保持し、それより下位の区切りの除算を行
うときには、直前の上位の区切りにおいて算出されてい
る剰余を保持する剰余レジスタと、除数を作成するため
に複数の異なる開平定数を発生させる開平定数発生手段
と、前記剰余レジスタから入力をうけ、最上位の区切り
の除算を行うときには剰余レジスタの値を被除数とし、
かつそれより下位の区切りの除算を行うときには剰余レ
ジスタの値と該当する区切りの被開平数の値とから被除
数を生成する剰余シフタと、最上位の区切りの除算を行
うときには前記開平定数発生装置からの開平定数の値を
除数とし、かつそれより下位の区切りの除算を行うとき
には既に部分的に算出されている平方根と開平定数発生
装置から発生される複数の定数とから除数を生成する複
数の除数シフタと、複数の除数ごとに別個に割り当てら
れ、剰余シフタと除数シフタの出力とから除算を行う複
数の除算装置と、各除算装置における除算の成立状況か
ら、予め定められた複数個の部分的な平方根のうちの一
つを選択して出力する商決定装置と、前記剰余レジスタ
に除算の成立した除算装置の剰余を剰余レジスタに出力
するための剰余セレクタとを有する部分商生成装置と、
前記商決定装置からの出力を保持し、除数シフタへ出力
を行う商レジスタとを有するものである。
【0005】
【作用】本発明の開平装置のアルゴリズムは従来のもの
と基本的に同じであるが、特に被開平数の上位側から4
ビットずつに区切って被除数を作成したときには、1回
の演算処理で2ビットの平方根を得られるということに
特徴がある。ここで、2n桁の被開平数D2n-1D2n-2…D2kD
2k-1…D1D0の平方根Zn-1Zn-2…ZkZk-1…Z1Z0を算出する
場合について説明する。なお処理中の区切りの上位の桁
を2k桁、既に算出されている平方根をZn-1…Zk、直前の
演算で算出された剰余をRm+1、求める平方根をZ
k-1Zk-2、現在の演算で算出される剰余をRmとする。
【0006】まず直前に算出された剰余Rkと被開平数の
2k桁以下4ビットのD2kD2k-1D2k-2D 2k-3のデータとで被
除数を作成する。既に算出されている平方根Zn-1…Z
kと、互いに異なる開平定数('001','0100','101')
とを用いて複数個の除数を作成し、以下に示す(数
1),(数2),(数3)の演算を実行する。
【0007】 Rem0=(Rm+1<<4,D2kD2k-1D2k-2D2k-3)−(Zn-1…Zk,001) (数
1) Rem1=(Rm+1<<4,D2kD2k-1D2k-2D2k-3)−(Zn-1…Zk,0100) (数
2) Rem2=(Rm+1<<4,D2kD2k-1D2k-2D2k-3)−(Zn-1…Zk,0100)
−(Zn-1…Zk,101) (数3 ) なお上記数式中のRm+1<<4,D2kD2k-1D2k-2D
2k-3は、Rm+1を左に4ビットシフトさせて、D2kD2k-1D
2k-2D2k-3を挿入する操作を行なうということである。
上記の3つの演算処理の結果は次の(a)(b)(c)
(d)のいずれかに分けられるので、演算結果に応じ
て、2ビットの平方根('00','01','10','11')から一
つを選択してZk-1Zk-2を得るともに、剰余Rmを求める。 (a)Rem0<0 のとき ・平方根 Zk-1Zk-2='00' ・剰余 Rm=(Rm+1<<4,D2kD2k-1D2k-2D2k-3) (b)Rem0≧0,Rem2<Rem1<0 のとき ・平方根 Zk-1Zk-2='01' ・剰余 Rk-2=Rem0 (c)Rem0>Rem1≧0,Rem2<0 のとき ・平方根 Zk-1Zk-2='10' ・剰余 Rm=Rem1 (d)Rem0>Rem1>Rem2≧0 のとき ・平方根 Zk-1Zk-2='11' ・剰余 Rm=Rem2 以上のようにして2ビットの平方根Zk-1Zk-2及び剰余Rm
が算出される。これをn/2回繰り返すことによりnビ
ットの平方根を求めることができる。なお被開平数の最
上位の区切りを演算するときには、既に求められている
平方根や剰余は存在しないので、上記式においてその部
分を無視して考える。
【0008】図4は具体的な数値例をあげて上記アルゴ
リズムを説明するものであり、従来例で説明した数値例
で開平演算を実行している。以下に図4について説明す
る。図中の(1)の演算は、上記(数1)(数2)(数
3)を実行すると(d)が成り立つことを示しており、平
方根Z5Z4に'11'を、剰余に'1010 - 101 - 0100'の結果
として'1'を算出している。(2)は、先に算出した剰余'
1'と次の句切りの4ビットの数値とで生成した被除数'1
1111'から、既に求めている平方根'11'と開平定数'001'
とで生成した除数'11001'で演算を行なったものであ
り、(b)が成り立つことを示している。(3)の演算も同様
に(b)が成り立つことを示しており、平方根Z1Z0に'01'
を得て開平を終了している。
【0009】
【実施例】以下、本発明の実施例について、被開平数を
上位側から4ビットずつ区切って除算を行い、各区切り
ごとに2ビットずつ平方根を算出する開平装置を説明す
る。図1は本発明の一実施例における開平装置の構成図
を示すものである。図1において、3は開平演算開始時
には開平すべきデータ(被開平数)を格納し、演算実行
中は前記データと除算による剰余とを格納する剰余レジ
スタであり、剰余と4ビットずつのデータを出力する。
2は平方根Zn-1…Zkを格納する商レジスタであり、4は
3ビットまたは4ビットの開平定数('0100','101','00
1')を発生する開平定数発生装置である。6は剰余レジ
スタ3の内容と商レジスタ2の出力及び開平定数発生装
置4の出力から2ビット平方根を算出して得られた2ビ
ットデータを商レジスタ2に格納し、剰余を剰余レジス
タ3に格納する部分商生成装置である。
【0010】図2は図1における部分商生成装置6の内
部構成を示したものである。図2において、60は剰余
レジスタ3から出力された剰余Rmを左4ビットシフトさ
せて被除数(Rm+1<<4,D2kD2k-1D2k-2D2k-3)を生成す
る剰余シフタ、61aは商レジスタ2の出力データを左
3ビットシフトさせて(Zn-1…Zk,000)を生成する除数
シフタa、61bは商レジスタ2の出力データを左4ビッ
トシフトさせて(Zn-1…Zk,0000)を生成する除数シフ
タbである。
【0011】62はA側に剰余シフタ60の出力データ
が入力され、B側に入力された除数シフタb61bのデー
タ下位4ビットに開平定数発生装置4の出力'0100'を挿
入して、A-B(数2)を実行する減算装置であり、A-B≧
0のとき、剰余R0とキャリ出力C0とを出力する。63は
A側に剰余シフタ60の出力データが入力され、B側に入
力された除数シフタa61aのデータ下位3ビットに開平
定数発生装置4の出力'001'を挿入して、A-B(数1)を
実行する2倍値減算装置であり、A-B≧0のとき、剰余R
1とキャリ出力C1とを出力する。64はA側に剰余シフタ
60の出力データが入力され、B側に入力された除数シ
フタa61aのデータ下位3ビットに開平定数発生装置4
の出力'001'を挿入し、C側に入力された除数シフタb6
1bのデータ下位4ビットに開平定数発生装置4の出力'
0100'を挿入して、A-B-C(数3)を実行する3倍値減算
装置であり、A-B-C≧0のとき、剰余R2とキャリ出力C2
とを出力する。
【0012】66は上記3つの減算装置により算出され
た剰余R0,R1,R2と剰余シフタ60のデータR3のう
ちから一つを選択して出力する剰余セレクタ、65は減
算装置62のキャリ出力C0,2倍値減算装置63のキャ
リ出力C1,3倍値減算装置64のキャリ出力C2を入力
し、(表1)の論理に従って2ビットの商(平方根)Q
を算出するとともに、剰余セレクタ66が選択する剰余
を制御する商決定装置である。
【0013】
【表1】
【0014】以上のように構成した開平装置について、
以下その動作を説明する。 (1) 初期設定 ・商レジスタ2をゼロクリア。
【0015】・剰余レジスタ3の下位側に被開平数を設
定。 (2) 減算処理 ・剰余レジスタ3に格納された被開平数のうち上位側か
ら区切った4ビットのデータと、剰余Rm+1を剰余シフタ
60に入力。
【0016】・剰余シフタ60は剰余Rm+1を左4ビット
シフトし、4ビットの開平定数とで被除数を生成して、
各減算装置62,63,64のA側に入力。
【0017】・除数シフタa61aは商レジスタ2からの
データを左3ビットシフト。 ・除数シフタb61bは商レジスタ2からのデータを左4
ビットシフト。
【0018】・3つの減算装置62,63,64は、除数
シフタa61a,除数シフタb61bからB側またはC側に入
力されたデータの下位側に開平定数を入力して除数を生
成。
【0019】・各減算装置62,63,64でA-BまたはA
-B-Cの減算を実行。 (3) 平方根、剰余決定 ・商決定装置65において、3つの減算装置62,63,
64のキャリ出力C0,C1,C2から(表1)に従って、商2
ビットを決定するとともに、剰余セレクタ66の出力を
決定し、それぞれ商レジスタ2,剰余レジスタ3にラッ
チ。
【0020】・商レジスタ2は平方根Q2ビットをキャ
リ入力して左2ビットシフト。 (2),(3)動作を1回の開平演算ステップとして、これを
n/2回繰り返すことによりnビットの平方根が得られ
る。従って本実施例の開平装置においては、1回の開平
演算ステップで被開平数を4ビットずつシフトして2ビ
ットの平方根を生成するので、全体で2n桁の被開平数
の開平がn/2クロックで高速に実現できる。
【0021】ところで本実施例の開平装置は、従来公知
である2ビット処理型の除算装置に、わずかなハードウ
ェアを追加するだけで実現することができる。すなわち
図3に示すように、本開平装置が上記の開平演算を行な
うために必要とする新たな構成は、除数セレクタ5と開
平定数発生装置4の追加、除数シフタa61a,除数シフ
タb61b,剰余シフタ60のシフト機能の追加だけであ
り、以下図面を参照しながら2nビットの被除数の除算
について説明する。
【0022】図3において、1は除数を格納する除数レ
ジスタであり、5は部分商生成装置6に入力するデータ
を除数レジスタ1か商レジスタ2かに切り換える除数セ
レクタであり、除算実行時には除数レジスタ1を選択す
る。 (1) 初期設定 ・剰余レジスタ3に2n桁の被除数を右2ビットシフト
した状態で設定。
【0023】・除数セレクタ5は除数レジスタ1を選
択。 (2) 減算処理 ・剰余シフタ60は入力された被除数データを左2ビッ
トシフト。
【0024】・除数シフタa61aは除数データを左1ビ
ットシフト(2倍)。 ・除数シフタb61bは除数データを通過。
【0025】・3つの減算装置62,63,64におい
て、A-BまたはA-B-Cの減算を実行。 (3) 商、剰余決定 ・商決定装置65において、3つの減算装置62,63,
64のキャリ出力C0,C1,C2から(表1)に従って、商2
ビットを決定するとともに剰余セレクタ66の出力を決
定し、それぞれ商レジスタ2,剰余レジスタ3にラッ
チ。 (2),(3)動作をn回繰り返して2nビットの商及び剰余
を算出する。
【0026】以上の様に本実施例の開平装置は、2ビッ
ト処理型除算装置にわずかなハードウェアを追加しただ
けで、通常の除算処理と同様にして2ビットずつ平方根
が算出でき、ハードウェア資源を有効に利用できる。
【0027】
【発明の効果】以上説明したように本発明によれば、数
値演算で多用されかつ性能に大きな影響を与える開平演
算を小規模な装置構成でかつ高速に実行でき、その実用
的効果は極めて大きい。
【図面の簡単な説明】
【図1】本発明の一実施例における開平装置の構成図
【図2】同開平装置の詳細な構成図
【図3】本発明の他の実施例における開平装置の構成図
【図4】本発明の開平装置のアルゴリズムの説明図
【図5】従来の開平装置のアルゴリズムの説明図
【図6】従来の開平装置の構成図
【符号の説明】
1 除数レジスタ 2 商レジスタ 3 剰余レジスタ 4 開平定数発生装置 5 除数セレクタ 6 部分商生成装置 60 剰余シフタ 61a 除数シフタa 61b 除数シフタb 62 減算装置 63 2倍値減算装置 64 3倍値減算装置 65 商決定装置 66 剰余セレクタ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 被開平数を上位側から所定の桁数ごとに
    区切り、各区切りごとに、被除数を作成するとともに予
    め定められた複数個の開平定数を用いて除数を作成して
    除算を行い、それらの結果に基づき下位側に向かって各
    区切りごとに順次平方根を求める開平装置であって、 最上位の区切りの除算を行うときには対応する被開平数
    の値を保持し、それより下位の区切りの除算を行うとき
    には、直前の上位の区切りにおいて算出されている剰余
    を保持する剰余レジスタと、 除数を作成するために複数の異なる開平定数を発生させ
    る開平定数発生手段と、 前記剰余レジスタから入力をうけ、最上位の区切りの除
    算を行うときには剰余レジスタの値を被除数とし、かつ
    それより下位の区切りの除算を行うときには剰余レジス
    タの値と該当する区切りの被開平数の値とから被除数を
    生成する剰余シフタと、最上位の区切りの除算を行うと
    きには前記開平定数発生装置からの開平定数の値を除数
    とし、かつそれより下位の区切りの除算を行うときには
    既に部分的に算出されている平方根と開平定数発生装置
    から発生される複数の定数とから除数を生成する複数の
    除数シフタと、複数の除数ごとに別個に割り当てられ、
    剰余シフタと除数シフタの出力とから除算を行う複数の
    除算装置と、各除算装置における除算の成立状況から、
    予め定められた複数個の部分的な平方根のうちの一つを
    選択して出力する商決定装置と、前記剰余レジスタに除
    算の成立した除算装置の剰余を剰余レジスタに出力する
    ための剰余セレクタとを有する部分商生成装置と、 前記商決定装置からの出力を保持し、除数シフタへ出力
    を行う商レジスタとを有する開平装置。
JP5769492A 1992-03-16 1992-03-16 開平装置 Expired - Fee Related JP2803442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5769492A JP2803442B2 (ja) 1992-03-16 1992-03-16 開平装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5769492A JP2803442B2 (ja) 1992-03-16 1992-03-16 開平装置

Publications (2)

Publication Number Publication Date
JPH05257651A JPH05257651A (ja) 1993-10-08
JP2803442B2 true JP2803442B2 (ja) 1998-09-24

Family

ID=13063055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5769492A Expired - Fee Related JP2803442B2 (ja) 1992-03-16 1992-03-16 開平装置

Country Status (1)

Country Link
JP (1) JP2803442B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820107B1 (en) 1997-05-08 2004-11-16 Renesas Technology Corporation Square root extraction circuit and floating-point square root extraction device

Also Published As

Publication number Publication date
JPH05257651A (ja) 1993-10-08

Similar Documents

Publication Publication Date Title
KR100756137B1 (ko) 제산 및 제곱근 연산 유닛
JP2835153B2 (ja) 高基数除算器
JP2585649B2 (ja) 除算回路
US6847986B2 (en) Divider
JP3660075B2 (ja) 除算装置
JP2803442B2 (ja) 開平装置
JPH0234054B2 (ja)
JPH05158659A (ja) 乗算器
JP2000503146A (ja) 整数除算回路を有するモジュラ算術演算コプロセッサ
JP5225115B2 (ja) Naf変換装置
KR100506470B1 (ko) 평방근의 역수 계산 방법, 계산 회로, 및 기록매체
CN111615700A (zh) 运算电路
JPS6155691B2 (ja)
JP2777265B2 (ja) 高基数開平演算装置
JPH1049347A (ja) 乗算器
JP2004226516A (ja) べき乗剰余演算方法及びそのプログラム
JP5606516B2 (ja) Naf変換装置
KR0161485B1 (ko) 산술 연산 장치를 이용한 부스 알고리즘 곱셈 연산 장치
JP4293665B2 (ja) 剰余乗算装置
JPH08202533A (ja) 除算処理装置
JPH05324274A (ja) 2進10進変換装置
JP3477866B2 (ja) 除算器の除算方法
JP3695561B2 (ja) 積和器
JPH0368415B2 (ja)
JP2568608B2 (ja) 乗算回路

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: 19980616

LAPS Cancellation because of no payment of annual fees