JPS62113236A - 平方根関数を求める回路 - Google Patents
平方根関数を求める回路Info
- Publication number
- JPS62113236A JPS62113236A JP61254855A JP25485586A JPS62113236A JP S62113236 A JPS62113236 A JP S62113236A JP 61254855 A JP61254855 A JP 61254855A JP 25485586 A JP25485586 A JP 25485586A JP S62113236 A JPS62113236 A JP S62113236A
- Authority
- JP
- Japan
- Prior art keywords
- data
- answer
- shift register
- input
- output
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
この発明は全般的に数学的な計算を行なう回路、更に具
体的に云えば平方根を求める動作を行なう回路に関する
。
体的に云えば平方根を求める動作を行なう回路に関する
。
集束された画素を得る為に、超音波位相調整アレー扇形
走査器で電気信号を処理する時、特定の焦点深度及びビ
ームの角度で反射された超音波を受信する変換器素子の
間の時間遅延の差を計算しなければならない。合計の時
間遅延を表わす一般式は、ビームの角度、焦点深度及び
アレー内の変換器素子の関数の平方根を求めることを必
要とする。
走査器で電気信号を処理する時、特定の焦点深度及びビ
ームの角度で反射された超音波を受信する変換器素子の
間の時間遅延の差を計算しなければならない。合計の時
間遅延を表わす一般式は、ビームの角度、焦点深度及び
アレー内の変換器素子の関数の平方根を求めることを必
要とする。
この様な用途では、:1゛算を実行するのに必要な時間
の為に、平方根関数を求める多数の公知の方法が使えな
い。例えば、多数の乗算及び加算工程を必要とするハイ
レベル言語の計算は遅すぎる。
の為に、平方根関数を求める多数の公知の方法が使えな
い。例えば、多数の乗算及び加算工程を必要とするハイ
レベル言語の計算は遅すぎる。
別の方法は、ソフトウェアのテーブルを使うことである
が、各々の周波数、深度及び変換器の形式が約56,0
00バイトを必要とする為に、こういうテーブルは非常
に多数のバイトを用い、必要とされる程は一般的でない
。この為、11個の深度及び3種類の周波数を19つ変
換器2個のアレーに対する計算でも、約3.7メガバイ
トを貯蔵することを必要とする。更に、ソフトウェアの
テーブルを使うと、距離ゲート式パルス・エコー・ドツ
プラーで希望される様な任意の焦点深度を容易に使うこ
とが出来ない。
が、各々の周波数、深度及び変換器の形式が約56,0
00バイトを必要とする為に、こういうテーブルは非常
に多数のバイトを用い、必要とされる程は一般的でない
。この為、11個の深度及び3種類の周波数を19つ変
換器2個のアレーに対する計算でも、約3.7メガバイ
トを貯蔵することを必要とする。更に、ソフトウェアの
テーブルを使うと、距離ゲート式パルス・エコー・ドツ
プラーで希望される様な任意の焦点深度を容易に使うこ
とが出来ない。
平方根を直接に求めるハードウェアの集積回路は非常に
制限があり、最も速い製品(インテル8087)は約3
6マイクロ秒を必要とし、浮動小数点を必要とする。更
に、浮動小数点の数を使う必要があることにより、この
他の必要な計算も更に遅くなる。
制限があり、最も速い製品(インテル8087)は約3
6マイクロ秒を必要とし、浮動小数点を必要とする。更
に、浮動小数点の数を使う必要があることにより、この
他の必要な計算も更に遅くなる。
この他の方法として、テーブル−ルックアップを使うこ
とにより、最初の推量をかなりよく行なう様なソフトウ
ェアのアルゴリズムを使うものがある。然し、この方法
は、平方根を計算する為に除算、加算及び乗算を必要と
し、その手順は希望するよりもずっと時間がかへる。こ
の代りに、テーラ級数展開に基づく普通の多項式を用い
て、平方根を近似することが出来る。近似の精度は、使
われる項の数に関係し、やはり扇形走査器の用途にとっ
ては希望するよりも時間がか\る。
とにより、最初の推量をかなりよく行なう様なソフトウ
ェアのアルゴリズムを使うものがある。然し、この方法
は、平方根を計算する為に除算、加算及び乗算を必要と
し、その手順は希望するよりもずっと時間がかへる。こ
の代りに、テーラ級数展開に基づく普通の多項式を用い
て、平方根を近似することが出来る。近似の精度は、使
われる項の数に関係し、やはり扇形走査器の用途にとっ
ては希望するよりも時間がか\る。
EDN19g4年8月23日号、第167頁乃至第17
4頁所載のヤンの論文「平方根チップ用のゲート・アレ
ーが軍用システムの要求を充たす」では、入力数を夫々
がその前の剰余に作用する一″連の部分的な剰余として
記述することにより、平方根を求める。ゲート・アレー
回路が計算を波及的に行なって最終結果を求める。この
回路は平方根関数を求める点で速いが、回路が複雑であ
って、かなりの電力を必要とする。
4頁所載のヤンの論文「平方根チップ用のゲート・アレ
ーが軍用システムの要求を充たす」では、入力数を夫々
がその前の剰余に作用する一″連の部分的な剰余として
記述することにより、平方根を求める。ゲート・アレー
回路が計算を波及的に行なって最終結果を求める。この
回路は平方根関数を求める点で速いが、回路が複雑であ
って、かなりの電力を必要とする。
この発明では、超音波扇形走査の用途と両立し得る様な
期間内に平方根関数を求め、且つ大皿の電力を必要とし
ない様な回路を提供する。例えば、7.5メガヘルツで
1/32波長の条件は、1/156ミリメードルの解像
度を意味する。これは、8ビット(1/256)の精度
を必要とする。1ミリメートル乃至250ミリメートル
未満の焦点深度に対しては、距離の整数部分はやはり8
ビット(1/256未満)で得られる。16ビットの精
度で平方根をみつける様に設計されたこの発明の回路は
、基数の点をビット8及び9の間におくと仮定すると、
入力数が32ビットの精度を持つことを意味する。
期間内に平方根関数を求め、且つ大皿の電力を必要とし
ない様な回路を提供する。例えば、7.5メガヘルツで
1/32波長の条件は、1/156ミリメードルの解像
度を意味する。これは、8ビット(1/256)の精度
を必要とする。1ミリメートル乃至250ミリメートル
未満の焦点深度に対しては、距離の整数部分はやはり8
ビット(1/256未満)で得られる。16ビットの精
度で平方根をみつける様に設計されたこの発明の回路は
、基数の点をビット8及び9の間におくと仮定すると、
入力数が32ビットの精度を持つことを意味する。
この発明の回路は、数の平方根を手書きで計算する簡単
なアルゴリズムに基づく。最初に、入力数を基数点の左
側及び右側のディジットの対に分ける。所望の精度の各
々のディジットに対し、基数点の後に対の0を追加する
。その後、最上位のゼロ・ディジットの対は、ゼロでな
い最初のディジットの対まで飛越す。従って、最初の答
ビットは1である。ディジットの対からこの1を減算し
、4を乗じ、次に最上位のディジットの対を加算するこ
とにより、剰余を形成する。この後のビットの対に対し
てこの手順を繰返し、試みの除数を限定し、剰余の値を
決定する。この回路によって実施するアルゴリズムは、
多くの動作をループに入れる様に+M成するのが有利で
ある。
なアルゴリズムに基づく。最初に、入力数を基数点の左
側及び右側のディジットの対に分ける。所望の精度の各
々のディジットに対し、基数点の後に対の0を追加する
。その後、最上位のゼロ・ディジットの対は、ゼロでな
い最初のディジットの対まで飛越す。従って、最初の答
ビットは1である。ディジットの対からこの1を減算し
、4を乗じ、次に最上位のディジットの対を加算するこ
とにより、剰余を形成する。この後のビットの対に対し
てこの手順を繰返し、試みの除数を限定し、剰余の値を
決定する。この回路によって実施するアルゴリズムは、
多くの動作をループに入れる様に+M成するのが有利で
ある。
この発明並びにその目的と特徴は、以下図面について詳
しく説明する所から、更によく理解されよう。
しく説明する所から、更によく理解されよう。
次に図面について説明する。第1図はこの発明の基本と
する簡単なアルゴリズムを用いて、128の様な数の1
0進法の平方根をみつける工程を示している。このアル
ゴリズムを実施する時の工程は次の様に説明することが
出来る。
する簡単なアルゴリズムを用いて、128の様な数の1
0進法の平方根をみつける工程を示している。このアル
ゴリズムを実施する時の工程は次の様に説明することが
出来る。
a0人入力数小数点の左側及び右側のディジットの対に
分ける。小数点の右側にあるディジットの対の総数が求
める精度に等しくなるまで、′分数に0を加える。
分ける。小数点の右側にあるディジットの対の総数が求
める精度に等しくなるまで、′分数に0を加える。
b、最上位のディジットの対の中の最大の平方根をみつ
ける。このディジットが答の第1の(最上位の)ディジ
ットになる。
ける。このディジットが答の第1の(最上位の)ディジ
ットになる。
C9このディジットの自乗をディジットの対から減算し
、その結果に100を乗じ、次に上位のディジットの対
を加えることにより、剰余を形成する(第3行)。
、その結果に100を乗じ、次に上位のディジットの対
を加えることにより、剰余を形成する(第3行)。
d、試行除数−(答×20)+ディジットを形成する。
こ−でディジットは、試行除数×ディジットが剰余より
小さいか又はそれに等しくなる様になっている(第3行
)。
小さいか又はそれに等しくなる様になっている(第3行
)。
e、試行除数×ディジットを剰余がら減算しく第4行)
、その結果に100を乗じと共に次のディジットの対を
加え(第5行)、新しい剰余を形成する。即ち、剰余−
(剰余−試行除数×ディジット)X100+デイジツト
の対。
、その結果に100を乗じと共に次のディジットの対を
加え(第5行)、新しい剰余を形成する。即ち、剰余−
(剰余−試行除数×ディジット)X100+デイジツト
の対。
f、答の次のディジットは工程dでみつけたディジット
である。即ち、答−(答えXl0)+ディジット。
である。即ち、答−(答えXl0)+ディジット。
g、十分なディジットがみつかるまで、工程d乃至工程
fを繰返す(第5行乃至第13行)。
fを繰返す(第5行乃至第13行)。
同じアルゴリズムを2進数に用いることが出来るが、そ
の工程は実施するのが幾分容易になる。
の工程は実施するのが幾分容易になる。
第2図について説明すると、整数の2進数の平方根は次
の様に説明することが出来る。
の様に説明することが出来る。
a、入力数を基数の点の左側及び右側のディジットの対
に分ける。所望の精度のディジット毎に、基数の点の後
にゼロの対を加える(第1行)。
に分ける。所望の精度のディジット毎に、基数の点の後
にゼロの対を加える(第1行)。
b、最初のディジットの対が0ではない(この場合、最
上位のゼロのディジットの対を飛越している)ので、答
の最明のビットは1である。(2進法のディジットの対
の最大の平方根は0又は1にしかなり得ない。) C,ディジットの対から1 (答)を減算し、4(10
0りを乗じ、次の最上位のディジットの対を加えること
により、剰余を形成する(第3行)d、答の4倍に1を
加えることにより、試行除数を形成する(第3行)。
上位のゼロのディジットの対を飛越している)ので、答
の最明のビットは1である。(2進法のディジットの対
の最大の平方根は0又は1にしかなり得ない。) C,ディジットの対から1 (答)を減算し、4(10
0りを乗じ、次の最上位のディジットの対を加えること
により、剰余を形成する(第3行)d、答の4倍に1を
加えることにより、試行除数を形成する(第3行)。
e、剰余が試行除数より小さい場合、答えの次のビット
はOであり、そうでなければ答のビットは1である。答
のビットがOであれば、新しい剰余−剰余×4+次のデ
ィジットの対をみつける。
はOであり、そうでなければ答のビットは1である。答
のビットがOであれば、新しい剰余−剰余×4+次のデ
ィジットの対をみつける。
そうでなければ、剰余−(剰余−試行除数)×4+次の
ディジットの対である。新しい答−答×2+答のビット
(第4行及び第6行)。
ディジットの対である。新しい答−答×2+答のビット
(第4行及び第6行)。
f、答の全ての所望のディジットがみつかるまで、工程
d及びeを繰返す(第6行乃至第14行)第2図につい
て述べたアルゴリズムは、大部分の動作をループに入れ
る様に、次の様に云い換えることか出来る。
d及びeを繰返す(第6行乃至第14行)第2図につい
て述べたアルゴリズムは、大部分の動作をループに入れ
る様に、次の様に云い換えることか出来る。
Rを剰余、Aを答の最上位ビット、AOを答えの最下位
ビット、Tを試行除数、RIを減算器に対する剰余入力
、Countをループ・カウント、Qを入力数とする。
ビット、Tを試行除数、RIを減算器に対する剰余入力
、Countをループ・カウント、Qを入力数とする。
A−0、R−Q及びCount −0とし、Qの最−上
位の2ビットを選択する。
位の2ビットを選択する。
ループ:RI冒RX4+Qの2ビット
T−Ax4+1
RIOTであれば、R−RI −T
O−1
そうでなければ R−RI
0−O
Count −15であれば停止する。
答−AX2+AQ
Count =Count + 1
Qの次に最上位の2ビットを選択する。
A−AX2+AO
ループに進む。全ての対に対して繰返
す。
上に説明したこの発明のアルゴリズムを実施する回路が
第3図に示されている。データが32ビット・データ・
レジスタ20に書込まれる。書込みの際、リセット回路
を破算して、平方根回路の各々の部分を初期設定する為
にリセットを発生する。4ビット状態計数器22をゼロ
に設定し、16ビットの答シフトレジスタ24を破算し
、18ビット減算器28の出力をゼロにして、剰余ラッ
チがこのゼロの値を入れることが出来る様にすることに
より、剰余ラッチ26を破算する。減算器を破算してい
る間、符号もゼロにし、剰余ラッチに対する減算器の入
力を選択する。
第3図に示されている。データが32ビット・データ・
レジスタ20に書込まれる。書込みの際、リセット回路
を破算して、平方根回路の各々の部分を初期設定する為
にリセットを発生する。4ビット状態計数器22をゼロ
に設定し、16ビットの答シフトレジスタ24を破算し
、18ビット減算器28の出力をゼロにして、剰余ラッ
チがこのゼロの値を入れることが出来る様にすることに
より、剰余ラッチ26を破算する。減算器を破算してい
る間、符号もゼロにし、剰余ラッチに対する減算器の入
力を選択する。
回路のデータ・レジスタ部分が入力データの2ビット(
前に述べたアルゴリズムのQ)を選択して、剰余に加算
する。状態計数器に基づいて、最上位のビットの対(ビ
ット32及び31)から開始して、16対のビットの内
の1対を選択する。
前に述べたアルゴリズムのQ)を選択して、剰余に加算
する。状態計数器に基づいて、最上位のビットの対(ビ
ット32及び31)から開始して、16対のビットの内
の1対を選択する。
状態計数器が、回路クロックをゲートするのに使われる
終りカウント出力をセットする。このゲート用クロック
GCLKが、最終的な状態に達するまで、答シフト・レ
ジスタ及び剰余ラッチのクロック動作をする。
終りカウント出力をセットする。このゲート用クロック
GCLKが、最終的な状態に達するまで、答シフト・レ
ジスタ及び剰余ラッチのクロック動作をする。
18ビット減算器に対するA入力がQからの2つのデー
タ・ビットと、剰余ラッチの出力である最後の剰余の1
6ビットで構成される。剰余の16ビットを18ビット
入力の高い方の16個として使うことは、実効的に剰余
の値に4を乗することでありて、Qの2ビットを加え、
この結果上に述べたアルゴリズムのR1の値になる。
タ・ビットと、剰余ラッチの出力である最後の剰余の1
6ビットで構成される。剰余の16ビットを18ビット
入力の高い方の16個として使うことは、実効的に剰余
の値に4を乗することでありて、Qの2ビットを加え、
この結果上に述べたアルゴリズムのR1の値になる。
減算器に対する8入力が、最後の答(答シフトレジスタ
にあり、事実上4を乗する為に、2ビットだけ高い方に
シフトシている)を1に等しい一定の下位の2ビットに
加えたもので構成される。
にあり、事実上4を乗する為に、2ビットだけ高い方に
シフトシている)を1に等しい一定の下位の2ビットに
加えたもので構成される。
この為、8入力は上に述べたアルゴリズムのTの値であ
る。
る。
減算結果、即ちR1−Tの値は、正又は負である。結果
が正であれば、(R1−T2Oであるから)判定R1≧
Tが真であり、符号ビットがOであり、減算器の出力を
剰余ラッチの入力として選択すると共に、AOビットを
1に等しいとおく。
が正であれば、(R1−T2Oであるから)判定R1≧
Tが真であり、符号ビットがOであり、減算器の出力を
剰余ラッチの入力として選択すると共に、AOビットを
1に等しいとおく。
結果が負であれば、符号が1であり、AOビットをOと
おく。剰余ラッチがR1の最下位の16ビットを入力と
して選択する。
おく。剰余ラッチがR1の最下位の16ビットを入力と
して選択する。
次のG CL Kで、剰余ラッチが新しい剰余に更新さ
れ、答シフトレジスタが前の答を1ビットだけ上向きに
シフトし、AOビットをシフトによって入れる。答シフ
トレジスタの出力が次の答の最上位ビットになり、この
時新しい答はAOに答シフトレジスタの2倍を加えたも
のに等しい。
れ、答シフトレジスタが前の答を1ビットだけ上向きに
シフトし、AOビットをシフトによって入れる。答シフ
トレジスタの出力が次の答の最上位ビットになり、この
時新しい答はAOに答シフトレジスタの2倍を加えたも
のに等しい。
状態計数器が終りカウントに達した時、30に示した出
力用意完了が1クロツク後に真になる。
力用意完了が1クロツク後に真になる。
この遅延により、回路は、出力バッファ32の読みが有
効な平方根を表わす前に、答の最終ビットを決定するこ
とが出来る。
効な平方根を表わす前に、答の最終ビットを決定するこ
とが出来る。
第4図は第3図の機能的なブロック図を構成する1つの
回路の回路図である。入力データ・レジスタがU165
にあり、これは多重化入力/多電化出力のカッド形8ビ
ット・レジスタである。2本の線が4つのレジスタの内
の1つを選択する。
回路の回路図である。入力データ・レジスタがU165
にあり、これは多重化入力/多電化出力のカッド形8ビ
ット・レジスタである。2本の線が4つのレジスタの内
の1つを選択する。
U166は別の2本の線を用いて、U165からの4つ
の偶数ビットの内の1つ及び4つの奇数ビットの内の1
つを選択し、前に述べたQの選ばれるビットの対を形成
する。計数器U167が状態計数器として作用し、0か
ら開始して、15のカウントで停止する。U138の1
つのゲートがクロック(CK)をゲートして、GCLK
(ゲート形CK)を形成し、これはU166の終りカ
ウントが低である時に作用し、終りカウントが高になる
時に強制的にオフになる。
の偶数ビットの内の1つ及び4つの奇数ビットの内の1
つを選択し、前に述べたQの選ばれるビットの対を形成
する。計数器U167が状態計数器として作用し、0か
ら開始して、15のカウントで停止する。U138の1
つのゲートがクロック(CK)をゲートして、GCLK
(ゲート形CK)を形成し、これはU166の終りカ
ウントが低である時に作用し、終りカウントが高になる
時に強制的にオフになる。
U142のフリップフロップがリセット制御装置を形成
する。U165に対する任意の書込みの間、これらのフ
リップフロップがクリアされ、リセット出力(SQRT
RST)を0にする。U165に対する4番目の書込み
の後、第2のクロック((、K)まで、リセットはOに
とVまる。これにより、リセット期間が少なくとも1対
クロック期間の長さになることが保証されると共に、第
2のクロックの時、剰余ラッチに対する入力が有効であ
る様にするのに十分な間、減算器をクリアすることが出
来る様に保証される。
する。U165に対する任意の書込みの間、これらのフ
リップフロップがクリアされ、リセット出力(SQRT
RST)を0にする。U165に対する4番目の書込み
の後、第2のクロック((、K)まで、リセットはOに
とVまる。これにより、リセット期間が少なくとも1対
クロック期間の長さになることが保証されると共に、第
2のクロックの時、剰余ラッチに対する入力が有効であ
る様にするのに十分な間、減算器をクリアすることが出
来る様に保証される。
計数器U46が、40Ml1工成る小さな整数で除すこ
とにより、クロック(CK)を発生する。公称除数は5
であり、125ナノ秒のクロック期間になる。計数器は
12のカウントにロードされ、13.14.15と増数
してから0になる。0のカウントにより、計数器が12
に再びロードされ、こうして5°つの状態が得られる。
とにより、クロック(CK)を発生する。公称除数は5
であり、125ナノ秒のクロック期間になる。計数器は
12のカウントにロードされ、13.14.15と増数
してから0になる。0のカウントにより、計数器が12
に再びロードされ、こうして5°つの状態が得られる。
Qb比出力使って、2つが高で、3つが低のクロック・
サイクルを作り、平方根回路内にある種々の部品の必要
を上潮る最低のクロック幅が確実に得られる様にする。
サイクルを作り、平方根回路内にある種々の部品の必要
を上潮る最低のクロック幅が確実に得られる様にする。
減算器は5つの装置U141.U168.U197、U
196及びU226で構成される。これらのALU (
演算論理装置)は波及形桁上げ/借りを用いて減算する
様に構成されている。この方法は、桁上げルックアヘッ
ドを使う場合よりも、幾分遅いが、1個乃至2個の余分
の集積回路が節約される。2個の74L31g2又は1
個の74L3882集積回路を使うことが出来る。こう
すれば、回路がIOMIIよ (100ナノ秒のサイク
ル周期)で動作することが出来る様にタイミングが短縮
されるが、こうした場合、この小さな節約が、余分の装
置を使う程のものとは思えない。ALUが16個の動作
モードを持ち、その内の2つを使う。1つのモードが、
出力を0にし、1つのモードが出力をA及びB入力の差
に設定する。U226は減算結果の符号だけを発生する
。
196及びU226で構成される。これらのALU (
演算論理装置)は波及形桁上げ/借りを用いて減算する
様に構成されている。この方法は、桁上げルックアヘッ
ドを使う場合よりも、幾分遅いが、1個乃至2個の余分
の集積回路が節約される。2個の74L31g2又は1
個の74L3882集積回路を使うことが出来る。こう
すれば、回路がIOMIIよ (100ナノ秒のサイク
ル周期)で動作することが出来る様にタイミングが短縮
されるが、こうした場合、この小さな節約が、余分の装
置を使う程のものとは思えない。ALUが16個の動作
モードを持ち、その内の2つを使う。1つのモードが、
出力を0にし、1つのモードが出力をA及びB入力の差
に設定する。U226は減算結果の符号だけを発生する
。
剰余ラッチはU170.U169.U199及びU2O
5で構成される。これらは4ビットの2対1多重化入力
ラッチである。選択入力が低であると、ALUの出力が
ラッチに送られる。
5で構成される。これらは4ビットの2対1多重化入力
ラッチである。選択入力が低であると、ALUの出力が
ラッチに送られる。
答シフトレジスタはU2O5及びU2O5である。符号
の反転が、U2O5に対する直列入力であり、8番目の
出力がU2O5に対する直列入力として作用する。これ
らの2つの装置を合せて、並列出力を持つ16ビット直
列シフトレジスタになる。
の反転が、U2O5に対する直列入力であり、8番目の
出力がU2O5に対する直列入力として作用する。これ
らの2つの装置を合せて、並列出力を持つ16ビット直
列シフトレジスタになる。
U193及びU192が答の出力バッファになる。これ
らはデータ読取の間に付能される。用意完了出力がU1
40から来る。このフリップフロップがU167の終り
カウントを1クロック期間だけ遅延させる。出力用意完
了せず(RDY” )を使って、平方根回路が実際に最
終的なビットの決定を完了するまで、データの読取の終
了を遅延させる。
らはデータ読取の間に付能される。用意完了出力がU1
40から来る。このフリップフロップがU167の終り
カウントを1クロック期間だけ遅延させる。出力用意完
了せず(RDY” )を使って、平方根回路が実際に最
終的なビットの決定を完了するまで、データの読取の終
了を遅延させる。
完全な平方根の決定には約18個のクロック・サイクル
を要する。1個乃至2個がリセットに使われ、16個が
答の各ビットの評価の為に使われる。8 Mllよでは
、1つの平方根に要する時間は、データの書込み及び読
取に要する時間を無視すると、約2.3マイクロ秒であ
る。1つの扇形走査器の用途では、書込み及び読取時間
は最低的4゜4マイクロ秒である。アルゴリズムの評価
は計算とおりまぜになる様に書込むことが出来、こうし
て平方根の評価に要する時間の間、プロセッサが前の計
算を完成するのに塞がっている様にすることが出来る。
を要する。1個乃至2個がリセットに使われ、16個が
答の各ビットの評価の為に使われる。8 Mllよでは
、1つの平方根に要する時間は、データの書込み及び読
取に要する時間を無視すると、約2.3マイクロ秒であ
る。1つの扇形走査器の用途では、書込み及び読取時間
は最低的4゜4マイクロ秒である。アルゴリズムの評価
は計算とおりまぜになる様に書込むことが出来、こうし
て平方根の評価に要する時間の間、プロセッサが前の計
算を完成するのに塞がっている様にすることが出来る。
この方式を使うと、その時間を占める様に十分に他の計
算を行なうことが出来るので、平方根に必要な遅延時間
は実際的に透明になる様にすることが出来る。この時、
前述の一般式の完全な評価に要する平均時間は、アッセ
ンブリ・コードで書かれたプログラムでは、1つの値あ
たり約26マイクロ秒である。
算を行なうことが出来るので、平方根に必要な遅延時間
は実際的に透明になる様にすることが出来る。この時、
前述の一般式の完全な評価に要する平均時間は、アッセ
ンブリ・コードで書かれたプログラムでは、1つの値あ
たり約26マイクロ秒である。
以上、位相調整アレー扇形走査器の用途に用いる数の平
方根を適時に計算する様な、離散的なディジタル部品に
基づく回路を説明した。この発明を特定の回路について
説明したが、以上の説明はこの発明を例示するものであ
って、この発明を制約するものと解してはならない。例
えば、R1及びTの差は、 R1−T曙RI+(T/+1) ここで(T/はTの1の補数)、 T−4xA+1、 従ってRI −T−RI −4xA −1−RI+ (
4XA)/+1−1 −RI+ (4XA)/ ここで((4XA)/は答の高い方のビットの1の補数
)であることを理解すれば、計算することが出来る。こ
の為、答シフトレジスタの出力を反転すれば、減算器の
代りに加算器を用いて、差を求めることが出来る。従っ
て、当業者には、特許請求の範囲によって定められたこ
の発明の範囲内で、種々の変更及び応用が考えられよう
。
方根を適時に計算する様な、離散的なディジタル部品に
基づく回路を説明した。この発明を特定の回路について
説明したが、以上の説明はこの発明を例示するものであ
って、この発明を制約するものと解してはならない。例
えば、R1及びTの差は、 R1−T曙RI+(T/+1) ここで(T/はTの1の補数)、 T−4xA+1、 従ってRI −T−RI −4xA −1−RI+ (
4XA)/+1−1 −RI+ (4XA)/ ここで((4XA)/は答の高い方のビットの1の補数
)であることを理解すれば、計算することが出来る。こ
の為、答シフトレジスタの出力を反転すれば、減算器の
代りに加算器を用いて、差を求めることが出来る。従っ
て、当業者には、特許請求の範囲によって定められたこ
の発明の範囲内で、種々の変更及び応用が考えられよう
。
第1図は平方根の手書きの10進法の計算を示す図、
第2図は平方根の手書きの2進法の計算を示す図、
第3図は平方根関数を求めるこの発明の回路の機能的な
ブロック図、 第4図は第4A図、第4B図、第4C図及び第4D図の
配置を示す図、 第4A図、第4B図、第4C図及び第4D図は、全体で
第3図の回路の1実施例の回路図である。 主な符号の説明 20:データ・レジスタ 22:状態計数器 24:答シフトレジスタ 26:剰余ラッチ 28二減算器 か’1− u2al寥I1.3137085σFIG、
−1 1011,01010000211Il、 3+251
()FIG、−2 傅ζ K
ペIG−4
ブロック図、 第4図は第4A図、第4B図、第4C図及び第4D図の
配置を示す図、 第4A図、第4B図、第4C図及び第4D図は、全体で
第3図の回路の1実施例の回路図である。 主な符号の説明 20:データ・レジスタ 22:状態計数器 24:答シフトレジスタ 26:剰余ラッチ 28二減算器 か’1− u2al寥I1.3137085σFIG、
−1 1011,01010000211Il、 3+251
()FIG、−2 傅ζ K
ペIG−4
Claims (1)
- 【特許請求の範囲】 入力数に対するデータ・レジスタと、 状態計数器と、 入力及び出力を持つ答シフトレジスタと、 2つの入力及び出力を持つ減算器、該減算器の出力及び
前記減算器の一方の入力に接続されたラッチ、前記減算
器の出力を前記答シフトレジスタの入力に接続する手段
、及び前記答シフトレジスタの出力を前記減算器の他方
の入力に接続する手段を含むループと、 前記データ・レジスタに貯蔵されているデータ・ビット
の対を前記減算器の前記一方の入力に接続する手段とを
有し、該データ・ビットの対は前記状態計数器に応答し
て選択されていて、それから前記答シフトレジスタから
のデータを減算する様な、前記減算器に対する一方の入
力として、前記ラッチからのデータと連結されており、
前記連結データが前記答シフトレジスタからのデータに
等しいか又はそれより大きい時、前記ラッチが前記減算
器の出力を受取り且つ答シフト・レジスタが“1”ビッ
トを受取り、前記連結データが前記答シフトレジスタか
らのデータより小さい時、前記ラッチが連結データを受
取り且つ前記答シフトレジスタが“0”を受取り、前記
状態計数器が終りカウントに達するまで、前記ループが
データに対して作用する回路。 2)特許請求の範囲1)に記載した回路に於て、前記答
シフトレジスタからのデータが、前記減算器に対する入
力として印加される前に、2ビットだけ上向きにシフト
させられる回路。 3)特許請求の範囲1)に記載した回路に於て、前記デ
ータ・レジスタからのデータの対が最下位ビットとして
連結される回路。 4)特許請求の範囲1)に記載した回路に於て、前記状
態計数器が終りカウントに達した時、前記答シフトレジ
スタからのデータを平方根として受取る様に接続された
出力バッファを持つ回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/794,094 US4734878A (en) | 1985-10-31 | 1985-10-31 | Circuit for performing square root functions |
US794094 | 1985-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62113236A true JPS62113236A (ja) | 1987-05-25 |
Family
ID=25161691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61254855A Pending JPS62113236A (ja) | 1985-10-31 | 1986-10-28 | 平方根関数を求める回路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4734878A (ja) |
EP (1) | EP0221425A3 (ja) |
JP (1) | JPS62113236A (ja) |
CN (1) | CN86107497A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949296A (en) * | 1988-05-18 | 1990-08-14 | Harris Corporation | Method and apparatus for computing square roots of binary numbers |
US5060182A (en) * | 1989-09-05 | 1991-10-22 | Cyrix Corporation | Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier |
US5159566A (en) * | 1989-09-05 | 1992-10-27 | Cyrix Corporation | Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5278782A (en) * | 1991-06-03 | 1994-01-11 | Matsushita Electric Industrial Co., Ltd. | Square root operation device |
JP2000260137A (ja) * | 1999-03-11 | 2000-09-22 | Fujitsu Ltd | 記憶装置 |
US6542963B2 (en) | 2001-01-10 | 2003-04-01 | Samsung Electronics Co., Ltd. | Partial match partial output cache for computer arithmetic operations |
US20070106719A1 (en) * | 2005-11-08 | 2007-05-10 | Lexmark International, Inc. | Integer square root algorithm for use in digital image processing |
CN108319447A (zh) * | 2018-01-22 | 2018-07-24 | 成都锐成芯微科技股份有限公司 | 便于硬件实现的开平方算法 |
CN111399803B (zh) * | 2019-01-03 | 2022-07-15 | 北京小米松果电子有限公司 | 除法运算方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52141146A (en) * | 1976-05-20 | 1977-11-25 | Toshiba Corp | Square root extraction arithmetic system |
JPS5321543A (en) * | 1976-08-12 | 1978-02-28 | Tokyo Electric Power Co Inc:The | Square root arithmetic circuit |
JPS5969841A (ja) * | 1982-10-15 | 1984-04-20 | Nec Corp | デ−タ処理装置 |
JPS59117638A (ja) * | 1982-12-24 | 1984-07-07 | Nec Corp | 演算装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3280314A (en) * | 1963-07-12 | 1966-10-18 | Sperry Rand Corp | Digital circuitry for determining a binary square root |
US3576983A (en) * | 1968-10-02 | 1971-05-04 | Hewlett Packard Co | Digital calculator system for computing square roots |
FR2232254A5 (ja) * | 1973-06-01 | 1974-12-27 | Radio Diffusion Tv Francaise | |
US3829672A (en) * | 1973-06-06 | 1974-08-13 | Collins Radio Co | Serial binary square root apparatus |
US4336599A (en) * | 1980-06-09 | 1982-06-22 | Sperry Corporation | Circuit for performing a square root calculation |
-
1985
- 1985-10-31 US US06/794,094 patent/US4734878A/en not_active Expired - Fee Related
-
1986
- 1986-10-17 EP EP86114437A patent/EP0221425A3/en not_active Withdrawn
- 1986-10-27 CN CN198686107497A patent/CN86107497A/zh active Pending
- 1986-10-28 JP JP61254855A patent/JPS62113236A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52141146A (en) * | 1976-05-20 | 1977-11-25 | Toshiba Corp | Square root extraction arithmetic system |
JPS5321543A (en) * | 1976-08-12 | 1978-02-28 | Tokyo Electric Power Co Inc:The | Square root arithmetic circuit |
JPS5969841A (ja) * | 1982-10-15 | 1984-04-20 | Nec Corp | デ−タ処理装置 |
JPS59117638A (ja) * | 1982-12-24 | 1984-07-07 | Nec Corp | 演算装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0221425A2 (en) | 1987-05-13 |
CN86107497A (zh) | 1987-05-27 |
US4734878A (en) | 1988-03-29 |
EP0221425A3 (en) | 1990-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0421092A2 (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
Waser | High-speed monolithic multipliers for real-time digital signal processing | |
JPH07182143A (ja) | コンピュータにおいて除算および平方根計算を実施するための方法および装置 | |
US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
US5023827A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
Sharma et al. | Design and FPGA implementation of optimized 32-bit Vedic multiplier and square architectures | |
JPS62113236A (ja) | 平方根関数を求める回路 | |
EP0416869B1 (en) | Digital adder/accumulator | |
Gadda et al. | 64-bit ALU design using vedic mathematics | |
GB2196453A (en) | Treatment of floating point numbers | |
US5268857A (en) | Device and method for approximating the square root of a number | |
US3761699A (en) | Multiplication by successive addition with two{40 s complement notation | |
US3290493A (en) | Truncated parallel multiplication | |
KR100308726B1 (ko) | 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법 | |
RU2696223C1 (ru) | Арифметико-логическое устройство для формирования остатка по произвольному модулю от числа | |
US20230086090A1 (en) | Methods and Apparatus for Quotient Digit Recoding in a High-Performance Arithmetic Unit | |
US3373269A (en) | Binary to decimal conversion method and apparatus | |
EP1504338B1 (en) | "emod" a fast modulus calculation for computer systems | |
RU2804380C1 (ru) | Конвейерный вычислитель | |
RU2797163C1 (ru) | Конвейерный вычислитель | |
US4414642A (en) | Apparatus for generating the inverse of binary numbers | |
JP3531402B2 (ja) | 2乗回路 | |
KR100202947B1 (ko) | 파이프라인 이진 곱셈기 | |
JPH05174050A (ja) | 級数演算装置 | |
SU1119006A1 (ru) | Устройство дл делени чисел |