JP2016062404A - 演算処理方法及び演算処理装置 - Google Patents
演算処理方法及び演算処理装置 Download PDFInfo
- Publication number
- JP2016062404A JP2016062404A JP2014191010A JP2014191010A JP2016062404A JP 2016062404 A JP2016062404 A JP 2016062404A JP 2014191010 A JP2014191010 A JP 2014191010A JP 2014191010 A JP2014191010 A JP 2014191010A JP 2016062404 A JP2016062404 A JP 2016062404A
- Authority
- JP
- Japan
- Prior art keywords
- divisor
- bits
- specific
- approximation
- shifted
- 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
Images
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/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5355—Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5356—Via reciprocal, i.e. calculate reciprocal only, or calculate reciprocal first and then the quotient from the reciprocal and the numerator
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】演算処理装置1は、2進数の固定小数点数を乗算式除算する除算装置である。近似前シフト部10は、除数の絶対値が特定範囲内の場合は除数Dを特定ビット数mだけ右シフトし、特定範囲内でない場合は除数Dを右シフトせずに保持する。初期値取得部20は、近似前シフト部10により右シフトされた又は右シフトされずに保持された除数Dに対する近似計算の初期値X0を取得する。漸近近似部30は、初期値取得部20により取得された初期値X0を複数回、漸近近似して、除数の逆数Xnを算出する。乗算シフト部40は、漸近近似部30により算出された逆数Xnと被除数Yとの積を算出し、除数Dがシフトされた場合は算出された積を特定ビット数mだけ右シフトする。
【選択図】図1
Description
いずれの手法も、少ない回数で近似を収束させるために、除数の逆数の粗い近似値(初期値)をルックアップテーブル(Lookup table、以下「LUT」という。)等の手段を用いて取得する。その初期値について、漸近近似による近似計算を繰り返し行うことで、望む精度の逆数を得ることができる。
このような従来のニュートン・ラプソン法を、浮動小数点演算について使用する技術の例が、特許文献1に記載されている。
このため、2進数の固定小数点数の乗算式除算法でも、精度が高く計算可能な演算処理方法が求められていた。
本発明の演算処理方法は、前記除数の有効ビット数を確認し、前記除数の有効ビット数に対応する前記除数の逆数の有効ビット数が得られるよう、前記特定値と前記特定ビット数とを算出することを特徴とする。
本発明の演算処理方法は、ニュートン・ラプソン法により、前記漸近近似を実行することを特徴とする。
本発明の演算処理装置は、2進数の固定小数点数を乗算式除算する演算処理装置であって、前記除数の絶対値が特定範囲内の場合は前記除数を特定ビット数だけシフトし、前記特定範囲内でない場合は前記除数をシフトせずに保持する近似前シフト手段と、該近似前シフト手段によりシフトされた又はシフトされずに保持された前記除数に対する近似計算の初期値を取得する初期値取得手段と、該初期値取得手段により取得された前記初期値を複数回、漸近近似して、前記除数の逆数を算出する漸近近似手段と、該漸近近似手段により算出された前記逆数と前記被除数との積を算出し、前記除数がシフトされた場合は算出された積を前記特定ビット数だけシフトする乗算シフト手段とを備えることを特徴とする。
〔演算処理装置1の構成〕
図1を参照し、本発明の実施の形態に係る演算処理装置1の構成について説明する。
本発明の実施形態に係る演算処理装置1は、2進数の固定小数点数を乗算式除算する除算回路を含む装置である。演算処理装置1は、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等に使用される除算装置であり、SOC(System-on-a-chip)の一部であってもよい。
演算処理装置1は、図1のように、2進数の固定小数点数について、商U=被除数Y(分子)/除数D(分母)を算出する。この際、漸近近似の近似計算で除数Dの逆数の近似値Xnを算出し、これと被除数Yとの積を計算することで、商Uを算出する。つまり、演算処理装置1は、商U=被除数Y×Xnの高速な乗算式除算の計算を実行する。
また、演算処理装置1は、上述の計算を行う際、下記で説明するように、除数D、Xn等について適切なシフト(bit shift)を実行する。これにより、精度を確保した2進数の固定小数点数の乗算式除算を実行することが可能となる。
また、近似前シフト部10は、除数Dの有効ビット数を確認し、この有効ビット数に対応した除数Dの逆数Xnの有効ビット数が得られる値となるように、特定範囲と特定ビット数とを算出する。つまり、近似前シフト部10は、シフトによる除数Dの情報喪失がもたらす精度劣化を特定の誤差以下に抑え、除数の逆数の近似値の精度が確保されるように、特定範囲と特定ビット数のペアを算出する。この精度劣化に関する特定の誤差は、例えば、乗算器(Binary Multiplier、以下「MUL」という。)の桁数と、入力された被除数Y又は除数Dのビット数とから、演算処理装置1の使用目的に対応して演算の精度が適切になるようにする。このため、特定範囲及び特定ビット数の複数のペアを用意することが好適である。
このように、除数Dの大きさに応じたシフトを行うことで、除数Dの逆数の精度が悪化する領域を回避して除算することが可能になる。
また、乗算シフト部40は、除数Dが特定範囲内になく、シフトが行われなかった場合は、被除数Y×Xnの演算結果をそのまま商Uとして除算を終了する。
演算処理装置1は、主に、入力データ格納レジスター100、特定値特定ビット数算出回路110、シフター120、シフト後除数保持レジスター130、逆数近似値生成LUT140、漸近近似結果格納レジスター150、MUL160、ALU170(Arithmetic Logic Unit)、及びACC180(Accumulator)を含んで構成される。
また、特定値特定ビット数算出回路110は、漸化式の定数を左シフトした値を、ALU170に出力する。この左シフトするビット数は、後述する漸近近似のステップ中の乗算において、MUL160で計算した積で増えた小数部分のビット数である。本実施形態の例では、後述するように、小数部分が増加したビット数は15ビットとなる。よって、本実施形態において、特定値特定ビット数算出回路110は、定数「2」を15ビット左シフトした値(16進表記で「0x10000」)を、ALU170に出力する。なお、この漸化式の定数を左シフトした値についても、特定値特定ビット数算出回路110のROM等に、予め保持されていてもよい。つまり、漸化式の定数を左シフトした値も、ROM等に保持された固定値であってもよい。
次に、図3〜図7を参照して、本実施形態の演算処理装置1による除算の演算処理方法に係る除算処理の各処理について説明する。
本実施形態の除算処理では、除算方式としてニュートン・ラプソン法を使用し、上位ビットから下位ビットについて符号1ビット+15ビット(16ビット)のフォーマットの固定小数点数の被除数Y及び除数Dを入力に用いて、出力32ビットの符号付き除算を実行する例について説明する。
本実施形態の除算処理では、除数の絶対値が大きい場合には、逆数の計算に入る前に除数に対し右シフトを行い、逆数の精度劣化を回避する。このため、漸近近似前に、特定値及び特定ビット数を算出し、この特定ビット数だけ除数Dを右シフトする(ステップS101)。次に、右シフト後の除数Dの逆数の漸近近似のための初期値Xnを取得する(ステップS102)。次に、漸近近似式、Xn=Xn-1(2−DXn-1)により、Xnを収束させて近似させる(ステップS103〜S104)。最後に、除数Dの逆数の近似結果X3と被除数Yとを乗算する(ステップS105)。この際、特定ビット数mだけ右シフトした除数Dから算出された値は求める値の2n倍となるので、この値に対して再度、特定ビット数m分の右シフトを行うことで、商Uが得られる。
なお、固定小数点の演算の場合、加減算では小数部分のビット数は変わらず、乗除算では掛けた数の小数点の位置だけずれる。このため、以下の説明では、各値の固定小数点の小数部分のビット数を「Q()」のように、Q表記(Qフォーマット)で表す。ここで、本実施形態では、除数Dの小数点部分のビット数はdであり、Q表記はQ(d)と表す。また、被除数Yの小数点部分のビット数はyであり、Q表記はQ(y)と表す。また、下記では、各ビットの左側を上位ビット、右側を下位ビットとして説明する。
以下で、図3のフローチャートにより、本実施形態の除算処理の詳細をステップ毎に説明する。
まず、入力データ格納レジスター100、特定値特定ビット数算出回路110、及びシフター120で構成される近似前シフト部10が、近似前右シフト処理を行う。
図4により具体的に説明すると、特定値特定ビット数算出回路110は、入力データ格納レジスター100から除数Dを受け取る。そして、特定値特定ビット数算出回路110は、除数Dのビット数に対応する特定値を算出する。また、特定値特定ビット数算出回路110は、除数Dの有効ビット数を算出する。この際、特定値特定ビット数算出回路110は、除数Dの絶対値の最大ビットを有効ビットとして算出する。特定値特定ビット数算出回路110は、この有効ビットにより除数Dの絶対値が、算出された特定値の間の範囲(特定範囲)内にある場合、特定ビット数として算出する。本実施形態では、特定ビット数は、除数Dの絶対値が大きい場合に行う右シフトのシフト数となる。
具体例で説明すると、特定値特定ビット数算出回路110は、除数Dのビット数が16ビットに対して、有効ビット数11ビットに対応する特定値t1=1024と、有効ビット数14ビットに対応する特定値t2=8192とを算出する。この上で、特定値特定ビット数算出回路110は、除数Dの有効ビット数を算出して、特定値t1、t2により特定される特定範囲と比較する。この例の場合、特定値特定ビット数算出回路110は、特定範囲(a)8192≦|除数D|を満たす場合、除数Dに対して6ビット右シフトするよう、特定ビット数mを「6」と算出する。また、特定値特定ビット数算出回路110は、特定範囲(b)1024≦|除数D|<8192を満たす場合、除数Dに対して5ビット右シフトするよう、特定ビット数mを「5」と算出する。また、特定値特定ビット数算出回路110は、1024>|除数D|である場合、特定範囲内でないとして、除数Dに対してシフトをしないで保持する。この場合、特定値特定ビット数算出回路110は、特定ビット数mを「0」と算出してもよい。特定値特定ビット数算出回路110は、特定ビット数に対応してシフト数を指定する信号をシフター120に出力する。
また、並行して、シフター120は、入力データ格納レジスター100から除数Dを受け取り、まず20ビット分の符号拡張を施す。つまり、シフター120に入力された除数Dは、合計36ビットとなる。この上で、シフター120は、シフト数を指定する信号により、除数Dを特定ビット数だけ右シフトする、又は除数Dをシフトせずに保持する。シフター120は、右シフトされた又は保持された除数D(以下、「除数D’」と記載する。)のうち、下位ビットから16ビット分を、逆数近似値生成LUT140とシフト後除数保持レジスター130とへ出力する。
次に、シフト後除数保持レジスター130、逆数近似値生成LUT140、及び漸近近似結果格納レジスター150で構成される初期値取得部20が、LUT初期近似値取得処理を行う。
図5により具体的に説明すると、逆数近似値生成LUT140は、除数D’をシフター120から取得して、この値に対応する除数Dの逆数の近似計算の初期値であるX0を取得し、漸近近似結果格納レジスター150へ出力する。本実施形態では、この漸近近似結果格納レジスター150のビット数は16ビットとなる。また、X0のQ表記は、X0(Q(15−d+m))となる。
また、シフト後除数保持レジスター130は、除数D’を取得して格納する。上述したように、本実施形態では、シフト後除数保持レジスター130は、除数Dのビット数に符号1ビット分を加えて保持するため、本実施形態では、この格納された除数D’のビット数は、(符号1ビット+16ビット)であり、17ビットとなる。また、除数D’のQ表記は、D’(Q(d−m))となる。
次に、シフター120、シフト後除数保持レジスター130、漸近近似結果格納レジスター150、MUL160、ALU170、及びACC180で構成される漸近近似部30が、漸近近似式計算処理を行う。
図6により具体的に説明すると、漸近近似部30は、ニュートン・ラプソン法による除数の逆数の近似式Xn=Xn-1(2−D’Xn-1)を計算する。
この式の計算には乗算が2回必要なため、2サイクルを要する。
まず、図6(a)によると、漸近近似部30は、1サイクル目で、積和演算により2−D’Xn-1を計算し、結果をACC180に格納する。具体的に、MUL160は、シフト後除数保持レジスター130に格納された除数D’の値と、漸近近似結果格納レジスター150に格納されたXn-1(初期値は、X0)の値とを取得して、乗算する。本実施形態において、MUL160が17ビット×16ビットの36ビットの乗算を実行する場合、この乗算の結果のQ表記では、Q((15−d+m)+(d−m))となるため、D’Xn-1(Q15)となる。つまり、この1サイクル目でMUL160による乗算の積で増えた小数部分のビット数は15ビットとなる。このため、ALU170は、2を15ビット左シフトした値から、乗算の積を減算し、ACC180に格納する。ACC180に格納された値のQ表記は、2−D’Xn-1(Q(15))となる。
図6(b)によると、2サイクル目は、まず1サイクル目の演算結果である2−DXn-1とXn-1の積を計算し、その積を右シフトして、漸近近似結果格納レジスター150に格納する。具体的には、MUL160は、ACC180に保存された2−DXn-1の値と、漸近近似結果格納レジスター150に格納されたXn-1の値とを取得して乗算する。上述のようにMUL160が17ビット×16ビットの乗算をする場合、この積のQ表記は、Xn-1(2−DXn-1)(Q(30−d+m)となる。シフター120は、この積の値を、15ビット分、右シフトする。シフター120は、この右シフトした積をXnとして、漸近近似結果格納レジスター150に格納する。格納されたXnのQ表記はQ(15−d+m)となる。
次に、漸近近似部30が、近似計算によりXnが収束したか否かを判定する。
上述したように、本実施形態の例では、近似計算を3回実行することで収束したものと判断する。よって、漸近近似部30は、X3まで漸近近似式の計算が終了した場合は、Yesと判定し、得られたX3を漸近近似の結果として扱う。逆に、漸近近似部30は、まだX3まで算出していない場合は、Noと判定する。
Yesの場合、漸近近似部30は、処理をステップS105に進める。
NOの場合、漸近近似部30は、処理をステップS103に戻して近似計算を続ける。これにより、ステップS103〜S104が3回実行されることになる。
X3まで算出された場合、入力データ格納レジスター100、シフター120、シフト後除数保持レジスター130、MUL160、及びACC180で構成される乗算シフト部40が、乗算及び右シフト処理を行う。
乗算シフト部40は、除数Dの逆数の近似結果と被除数Yとの乗算を行い、この積を右シフトして最終的な商Uを算出する。
図7により具体的に説明すると、MUL160は、上述の処理で得られた漸近近似の結果であるX3を漸近近似結果格納レジスター150から取得し、被除数Yを入力データ格納レジスター100から取得して、乗算する。本実施形態では、この際、MUL160は、被除数Yについて1ビット分、符号を付加して17ビットとし、16ビットのX3と乗算する。このため、被除数YのQ表記をY(Q(y))とすると、乗算結果である積のQ表記は、X3Y(Q(15+y−d+m))となる。
シフター120は、この積を入力として、特定ビット数算出回路から特定ビット数mに対応する信号を取得して右シフトする。つまり、シフター120は、ステップS101で被除数Yに対して実行したのと同じビット数だけ、右シフトを実行する。シフター120は、シフト後の結果を、除算命令の結果である商UとしてACC180に格納する。この商UのQ表記はQ(15+y−d)となる。
本実施形態では、これらの処理により、誤差±2%程度の除算の実行が可能となる。また、本実施形態の例では、漸近近似を3回実行するため、ステップS101〜S102を1クロック、ステップS103〜S104を2クロック、ステップS105を1クロック要すると計算すると、8クロックで除算命令を完了できる。
以上により、本発明の実施の形態に係る除算処理を終了する。
従来、2進数の固定小数点の乗算式除算装置では、回路規模の小さな(桁数の少ない)乗算器を使うと、出力結果の精度が低くなっていた。これは、除数の絶対値が大きい場合、その逆数の絶対値が小さくなり、必然的に逆数の有効桁数も減少するためであった。
これに対して、本発明の実施の形態に係る演算処理装置1は、2進数の固定小数点数である被除数Yを除数Dで乗算式除算する除算装置であり、除数Dの絶対値が特定範囲内の場合は除数Dを特定ビット数だけシフトし、特定範囲内でない場合は除数Dをシフトせずに保持する近似前シフト部10と、近似前シフト部10によりシフトされた又はシフトされずに保持された除数に対する近似計算の初期値を取得する初期値取得部20と、初期値取得部20により取得された初期値を複数回、漸近近似して、除数の逆数を算出する漸近近似部30と、漸近近似部30により算出された逆数と被除数との積を算出し、除数がシフトされた場合は算出された積を特定ビット数だけシフトする乗算シフト部40とを備えることを特徴とする。
このように構成することで、除数Dの大きな領域での漸近近似を回避して、MUL160の桁数を増やさずに精度の劣化を抑える除算が可能となる。
つまり、除数Dとその逆数の関係は非線形であることに着目すれば、特に除数Dが大きい領域では、下位側のビットをある程度無視しても逆数Xの値にはあまり影響を及ぼさない。この除数Dの大きさに応じたシフトを行えば、除数の逆数の精度が悪化する領域を回避して除算を行うことができ、除算結果の誤差を少なくし精度を高めることができる。
しかしながら、乗算器は論理規模の大きい回路であり、その素子数は入力ビット数の2乗に比例する。入力21ビットの桁数の乗算器は、入力16ビットの桁数の乗算器に比べると、最小でも1.7倍程度の大きさとなり、コストが上昇していた。
これに対して、本実施形態の演算処理方法では、通常の17ビット×16ビットのMUL160を使用しても、±2%の誤差で除算を行うことができる。このため、桁数の大きな乗算器を使う必要がなくなり、回路面積を締小してコストを削減することができる。
このように構成することで、除数Dの有効ビット数をチェックするだけで、算出される商Uの精度が最適となるようなシフトの特定ビット数が容易に得られる。また、算出のための計算が容易であるので、回路規模を抑えつつ、例えば、1クロック内に特定ビットを算出することができる。
このように構成することで、高速に、精度が確保された2進数の固定小数点数の乗算式除算を行うことが可能となる。また、精度が確保された状態で、除数Dの逆数を確実に収束させることが可能である。
また、本発明の実施の形態においては、逆数Dの絶対値の有効ビット数に対応する特定値の特定範囲と比較したものの、逆数Dの有効ビット数に依存しない特定範囲を設定してもよい。たとえば、逆数Dの絶対値の上位ビットと特定ビット数に対応したテーブルを、特定値特定ビット数算出回路110に保持して、特定ビットを算出してもよい。また、逆数近似値生成LUT140について、算出される特定ビット数により別々のLUTを使用するような構成であってもよい。
10 近似前シフト部
20 初期値取得部
30 漸近近似部
40 乗算シフト部
100 入力データ格納レジスター
110 特定値特定ビット数算出回路
120 シフター
130 シフト後除数保持レジスター
140 逆数近似値生成LUT
150 漸近近似結果格納レジスター
160 MUL
170 ALU
180 ACC
Claims (4)
- 2進数の固定小数点数の演算処理回路により、被除数を除数で乗算式除算する演算を実行させる演算処理方法であって、
前記除数の絶対値が特定範囲内の場合は前記除数を特定ビット数だけシフトし、前記特定範囲内でない場合は前記除数をシフトせずに保持し、
シフトされた又はシフトされずに保持された前記除数に対する近似計算の初期値を取得し、
取得された前記初期値を複数回、漸近近似して、前記除数の逆数を算出し、
算出された前記逆数と前記被除数との積を算出し、前記除数がシフトされた場合は算出された積を前記特定ビット数だけシフトする
ことを特徴とする演算処理方法。 - 前記除数の有効ビット数を確認し、前記除数の有効ビット数に対応する前記除数の逆数の有効ビット数が得られるよう、前記特定範囲と前記特定ビット数とを算出する
ことを特徴とする請求項1に記載の演算処理方法。 - ニュートン・ラプソン法により、前記漸近近似を実行する
ことを特徴とする請求項1又は2に記載の演算処理方法。 - 2進数の固定小数点数を乗算式除算する演算処理装置であって、
前記除数の絶対値が特定範囲内の場合は前記除数を特定ビット数だけシフトし、前記特定範囲内でない場合は前記除数をシフトせずに保持する近似前シフト手段と、
該近似前シフト手段によりシフトされた又はシフトされずに保持された前記除数に対する近似計算の初期値を取得する初期値取得手段と、
該初期値取得手段により取得された前記初期値を複数回、漸近近似して、前記除数の逆数を算出する漸近近似手段と、
該漸近近似手段により算出された前記逆数と前記被除数との積を算出し、前記除数がシフトされた場合は算出された積を前記特定ビット数だけシフトする乗算シフト手段とを備える
ことを特徴とする演算処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014191010A JP2016062404A (ja) | 2014-09-19 | 2014-09-19 | 演算処理方法及び演算処理装置 |
US14/746,929 US9851947B2 (en) | 2014-09-19 | 2015-06-23 | Arithmetic processing method and arithmetic processor having improved fixed-point error |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014191010A JP2016062404A (ja) | 2014-09-19 | 2014-09-19 | 演算処理方法及び演算処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016062404A true JP2016062404A (ja) | 2016-04-25 |
Family
ID=55525789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014191010A Pending JP2016062404A (ja) | 2014-09-19 | 2014-09-19 | 演算処理方法及び演算処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9851947B2 (ja) |
JP (1) | JP2016062404A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018139266A1 (ja) * | 2017-01-30 | 2018-08-02 | 富士通株式会社 | 演算処理装置、情報処理装置、方法、およびプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346351B2 (en) * | 2015-10-08 | 2019-07-09 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with output buffer feedback and masking capability with processing unit groups that operate as recurrent neural network LSTM cells |
US10776690B2 (en) * | 2015-10-08 | 2020-09-15 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with plurality of selectable output functions |
US10146504B2 (en) * | 2017-02-24 | 2018-12-04 | Advanced Micro Devices, Inc. | Division using the Newton-Raphson method |
US11531729B2 (en) | 2019-10-04 | 2022-12-20 | Stmicroelectronics S.R.L. | Bitwise digital circuit and method for performing approximate operations |
US20230214307A1 (en) * | 2022-01-06 | 2023-07-06 | Next Silicon Ltd | Automatic generation of computation kernels for approximating elementary functions |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103032A (ja) * | 1992-09-22 | 1994-04-15 | Matsushita Electric Ind Co Ltd | 除算装置 |
JPH1083279A (ja) * | 1996-09-09 | 1998-03-31 | Toshiba Corp | クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法 |
US20060184594A1 (en) * | 2005-02-16 | 2006-08-17 | Arm Limited | Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2578482B2 (ja) | 1988-08-15 | 1997-02-05 | 富士通株式会社 | 浮動小数点演算器 |
US7007058B1 (en) * | 2001-07-06 | 2006-02-28 | Mercury Computer Systems, Inc. | Methods and apparatus for binary division using look-up table |
FI20011610A0 (fi) * | 2001-08-07 | 2001-08-07 | Nokia Corp | Menetelmä ja laite jakolaskun suorittamiseksi |
US20060179092A1 (en) * | 2005-02-10 | 2006-08-10 | Schmookler Martin S | System and method for executing fixed point divide operations using a floating point multiply-add pipeline |
JP2008097194A (ja) * | 2006-10-10 | 2008-04-24 | Olympus Corp | 逆数算出装置、逆数算出方法、及び逆数算出プログラム |
US8725786B2 (en) * | 2009-04-29 | 2014-05-13 | University Of Massachusetts | Approximate SRT division method |
US20140195581A1 (en) * | 2013-01-08 | 2014-07-10 | Analog Devices, Inc. | Fixed point division circuit utilizing floating point architecture |
-
2014
- 2014-09-19 JP JP2014191010A patent/JP2016062404A/ja active Pending
-
2015
- 2015-06-23 US US14/746,929 patent/US9851947B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103032A (ja) * | 1992-09-22 | 1994-04-15 | Matsushita Electric Ind Co Ltd | 除算装置 |
JPH1083279A (ja) * | 1996-09-09 | 1998-03-31 | Toshiba Corp | クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法 |
US5928318A (en) * | 1996-09-09 | 1999-07-27 | Kabushiki Kaisha Toshiba | Clamping divider, processor having clamping divider, and method for clamping in division |
US20060184594A1 (en) * | 2005-02-16 | 2006-08-17 | Arm Limited | Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation |
JP2006228191A (ja) * | 2005-02-16 | 2006-08-31 | Arm Ltd | 逆数演算の結果値の初期推定値を求めるデータ処理装置および方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018139266A1 (ja) * | 2017-01-30 | 2018-08-02 | 富士通株式会社 | 演算処理装置、情報処理装置、方法、およびプログラム |
US11137981B2 (en) | 2017-01-30 | 2021-10-05 | Fujitsu Limited | Operation processing device, information processing device, and information processing method |
Also Published As
Publication number | Publication date |
---|---|
US20160085511A1 (en) | 2016-03-24 |
US9851947B2 (en) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016062404A (ja) | 演算処理方法及び演算処理装置 | |
Bogaert | Iteration-free computation of Gauss--Legendre quadrature nodes and weights | |
JPH0612229A (ja) | 乗累算回路 | |
US8990278B1 (en) | Circuitry for computing mathematical functions | |
KR102449169B1 (ko) | 나눗셈 연산을 수행하는 장치, 그것을 포함하는 시스템 온 칩 및 그것의 방법 | |
JP4199100B2 (ja) | 関数演算方法及び関数演算回路 | |
CN111813371A (zh) | 数字信号处理的浮点除法运算方法、系统及可读介质 | |
US8868633B2 (en) | Method and circuitry for square root determination | |
Jain et al. | Binary division algorithm and high speed deconvolution algorithm (Based on Ancient Indian Vedic Mathematics) | |
CN106371803B (zh) | 用于蒙哥马利域的计算方法和计算装置 | |
JP2006172035A (ja) | 除算・開平演算器 | |
Aslan et al. | Realization of area efficient QR factorization using unified division, square root, and inverse square root hardware | |
JP3660075B2 (ja) | 除算装置 | |
Wang et al. | A radix-16 combined complex division/square root unit with operand prescaling | |
CN114385112A (zh) | 处理模数乘法的装置及方法 | |
US10353671B2 (en) | Circuitry and method for performing division | |
CN101324836B (zh) | 除法电路 | |
Bello et al. | A MRC Based RNS to binary converter using the moduli set {22n+ 1-1, 2n-1, 22n-1} | |
Chang et al. | Fixed-point computing element design for transcendental functions and primary operations in speech processing | |
CN214409954U (zh) | 一种ssd主控芯片中乘法运算电路 | |
KR101063814B1 (ko) | 디지털 회로 구현을 위한 효율적인 제곱근과 역제곱근 연산기 구조 및 방법 | |
JPH10283165A (ja) | 演算装置及び演算方法 | |
RU2652450C1 (ru) | Устройство вычисления модулярного произведения Монтгомери | |
JP6308845B2 (ja) | 演算装置、演算方法、及びプログラム | |
JP5849823B2 (ja) | Av信号処理低減装置、av信号処理低減方法、およびav信号処理低減プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170711 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181218 |