JP2014041415A - 演算回路、演算処理装置、及び除算方法 - Google Patents

演算回路、演算処理装置、及び除算方法 Download PDF

Info

Publication number
JP2014041415A
JP2014041415A JP2012182344A JP2012182344A JP2014041415A JP 2014041415 A JP2014041415 A JP 2014041415A JP 2012182344 A JP2012182344 A JP 2012182344A JP 2012182344 A JP2012182344 A JP 2012182344A JP 2014041415 A JP2014041415 A JP 2014041415A
Authority
JP
Japan
Prior art keywords
circuit
quotient
divisor
prediction
intermediate remainder
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
Application number
JP2012182344A
Other languages
English (en)
Other versions
JP6064435B2 (ja
Inventor
Kensuke Shinomiya
研介 篠宮
Kenichi Kitamura
健一 北村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012182344A priority Critical patent/JP6064435B2/ja
Priority to US13/935,175 priority patent/US20140059106A1/en
Publication of JP2014041415A publication Critical patent/JP2014041415A/ja
Application granted granted Critical
Publication of JP6064435B2 publication Critical patent/JP6064435B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】効率的な回路構成により引き戻し法による減算ループ回数を削減することが可能な演算回路を提供する。
【解決手段】引き戻し法による除算を行う演算回路は、中間剰余を格納する中間剰余レジスタと、中間剰余の上位2桁と除数の上位1桁との情報に基づいて、情報から予測可能な精度よりも低い精度での商予測を行うことにより、予測結果を生成する商予測回路と、商予測回路により生成された予測結果に応じて選択されたN倍(Nは自然数)の除数を出力する定数倍回路と、定数倍回路が出力するN倍の除数を中間剰余から減算する減算器と、減算器による減算のキャリーアウトに応じて部分商を求める部分商計算回路とを含むことを特徴とする。
【選択図】図4

Description

本願開示は、演算回路、演算処理装置、及び除算方法に関する。
2進化10進数(BCD:Binary Coded Decimal)の四則演算において、除算は他の演算と比較して演算サイクル数を必要とする低速な演算である。一般に精度の高い除算は引き戻し法によって部分商と中間剰余とを求めており、その中間剰余の生成がクリティルな要因となる。基本的な引き戻し法では、中間剰余から除数を減算する処理を繰り返す。減算結果が負になった時点で、減算しすぎであると判断し、そのサイクルの減算前の結果を部分商として用いる。
以下に、引き戻し法の手順を説明する。なお以降の説明において、断りの無い限り被除数と中間剰余とを区別せず、中間剰余と表記する。まず中間剰余レジスタ、除数レジスタ、及び部分商レジスタから、中間剰余、除数、及び部分商が提供される。減算ループの初回において、部分商は0である。初回又はその後の減算ループにおいて、以下の処理が実行される。まず部分商をカウントアップする。次に減算回路により中間剰余から除数を減算し、減算の結果とキャリーアウトとを生成する。キャリーアウトが1であるならば(即ち結果が正の数)、減算結果を中間剰余レジスタに格納し、現在の減算ループの最初にカウントアップされた部分商を部分商レジスタに格納し、次の減算ループに移行する。キャリーアウトが0であるならば(即ち結果が負の数)、中間剰余レジスタの値(現在の減算ループの減算前の値)を中間剰余レジスタに格納し、部分商レジスタの値(現在の減算ループのカウントアップ前の値)を部分商レジスタに格納し、処理を止める。この時の中間剰余レジスタと部分商レジスタとの値が、最終的な中間剰余と部分商との結果となる。
このように引き戻し法は、部分商と中間剰余の生成の為に、中間剰余が負になるまで中間剰余から除数を減算する処理を繰り返す必要がある。10進数の場合、1桁の商は0〜9の範囲を取りえる為、減算処理を最大で10回繰り返す必要がある。これを全桁の商が導出されるまで繰り返す必要があるため、除算を実現する演算器のレイテンシは非常に低くなってしまう。
基本的な引き戻し法の問題は、部分商と中間剰余とを生成する減算ループの繰り返し回数が多いことである。この問題を解決する為に、除数のN倍数(Nは自然数)をいくつか予め計算しておき、中間剰余からそれぞれのN倍された除数を減算して場合分けするという手法が一般にとられる。
例えば除数の1,2,5倍数を予め計算しておく手法がある(例えば特許文献1)。一回目の減算で中間剰余から5倍の除数を減算し、結果が負の数である時、除数の5倍は減算しすぎであるとわかる。その為、1桁の商は0〜4の範囲であることが判明する。それ以外の時は1桁の商が5〜9の範囲であることが判明する。このようにN倍の除数を用意して粗く引き戻し法を行うことにより次のサイクルでの商の取りえる範囲を減らし、部分商と中間剰余の生成ループ回数を減らすことが可能である。特許文献1では、このアルゴリズムによって最大4回のループ回数で結果を得られるとしている。
また特許文献1では1個の減算器を利用しているが、複数個の減算器を用意して同時に複数個の除数のN倍数を減算した結果を用意すれば、さらなる高速化が可能となることは既知である。極端な例を挙げれば、1〜9倍の除数を予め用意しておき、9個の減算器を使用すれば、1回のループで結果を得ることができる。また例えば1,2,3,6倍の除数を予め用意しておき、更に2つの減算器を用いて結果を得る回路が考えられる(例えば特許文献2)。
先のN倍除数の減算による高速化と合わせて、被除数と除数の状態から部分商と中間剰余を予測するという手法も存在する。例えば2回目の減算をする際に中間剰余と3倍除数の上位桁の状態を見ることにより、2回目の減算に使うN倍除数を選択する回路等が考えられる(例えば特許文献2)。また中間剰余と除数の状態から誤差が1以下の精度で部分商を予測できる商予測回路と、その誤差の補正回路を追加して高速化を図ること等が考えられる(例えば特許文献3)。
複数個のN倍除数を用意することによる高速化においては、回路規模の増大とループ回数の低減とがトレードオフの関係にある。従ってハードウェアの制約により少ない減算器を使っての除算が必要である場合、結果を得るために必要なサイクル数は多くならざるを得ない。また、商予測による高速化においては追加回路の増大がボトルネックとなる。部分商及び部分剰余生成のループ内に制御回路を組み込むとなると、ループ数低減によるレイテンシの向上が果たせたとしても、ループ内の論理段数が重くなり、高い動作周波数での実装が困難となる。
また商予測及び商補正が高速であっても、剰余の種類が多かったり、3Nの固定数を乗算する演算回路を用いたりする場合には問題がある(例えば特許文献2及び3)。10進演算器において、3Nの固定数を乗算する演算回路は加算器を使わなければ実現できない。これを実現するには以下の3つの方法が考えられる。
(1)加算器の直前に加算器を追加する。
(2)減算器と共有する。
(3)6倍除数をループ前に生成し、レジスタで保持し続ける。
このうち(1)の手段をとる場合、論理段数が加算器分増える為、ディレイに悪影響を与える。(2)の手段をとる場合、部分商及び部分剰余の生成の為に1サイクル増やす必要があり、さらには制御が煩雑になる。(3)の手段をとる場合、除数の幅を有するレジスタが追加されるため、面積的に問題となる。
また商予測の為に重い論理が必要となる為、高い動作周波数の場合には1サイクル内で商予測と減算とを同時に行うことが困難になる。その場合、処理サイクルを分けなければならなくなり、レイテンシの悪化する虞れがある。
また特許文献2の場合、商予測の手段として中間剰余と3倍除数の上位2桁を比較している。比較回路は、一般には加算器で実現するので、2桁の加算器がさらに必要となってしまう。また高動作周波数の場合には、レイテンシの悪化する虞がある。
特開昭57−125442号公報 特開平07−239774号公報 特開平07−160480号公報
以上を鑑みると、引き戻し法における減算ループ回数を、効率的な回路構成により削減することが可能な演算回路が望まれる。
引き戻し法による除算を行う演算回路は、中間剰余を格納する中間剰余レジスタと、前記中間剰余の上位2桁と除数の上位1桁との情報に基づいて、前記情報から予測可能な精度よりも低い精度での商予測を行うことにより、予測結果を生成する商予測回路と、前記商予測回路により生成された前記予測結果に応じて選択されたN倍(Nは自然数)の除数を出力する定数倍回路と、前記定数倍回路が出力する前記N倍の除数を前記中間剰余から減算する減算器と、前記減算器による減算のキャリーアウトに応じて部分商を求める部分商計算回路とを含むことを特徴とする。
少なくとも1つの実施例によれば、引き戻し法における減算ループ回数を、効率的な回路構成により削減することが可能な演算回路が提供される。
加算器の数と減算時に商が取りえる数との組み合わせに対し、それぞれ残りの減算回数を示した表である。 中間剰余の上位2桁と除数の上位1桁との組み合わせテーブルを示す図である。 2個の加算器により2回のループで結果を算出可能な演算器において、1回目及び2回目の減算の結果の組み合わせに対して結果として得られる部分商の値の一例を示した表である。 図3に示したアルゴリズムの処理の流れを示すフローチャートである。 コンピュータシステムの構成の一例を示す図である。 演算回路の構成の一例を示す図である。 2倍回路における各桁の入出力値を示す真理値表である。 5倍回路における各桁の入出力値を示す真理値表である。 商予測回路の構成の一例を示す図である。 定数倍回路の構成の一例を示す図である。 倍数選択回路の構成の一例を示す図である。 倍数選択回路及び定数倍回路の入出力の関係を示す表である。 中間剰余選択回路の構成の一例を示す図である。 中間剰余選択回路の入出力の関係を示す表である。 制御回路の構成の一例を示す図である。 部分商計算回路の構成の一例を示す図である。 部分商計算回路の入出力の関係を示す表である。 定数テーブルの入出力の関係を示す表である。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
N倍除数を使って除算を行う際、加算器の数によって必要な減算ループ回数は変動する。最適なN倍除数を用いるとすると、必要な減算回数は以下の式で求められる。
loga+1A=B (但しBの小数点以下は切り上げ)
ここで、aは加算器の数、Aは部分商の取りえる範囲、Bは部分商が得られるまでに必要な最大の減算の回数である。
図1は、加算器の数と減算時に商が取りえる数との組み合わせに対し、それぞれ残りの減算回数を示した表である。例えば、10進除算の場合、商が0〜9の範囲の値を取り得る、即ち商が10通りの値をとりえる為、減算時に商が取りえる数は10となる。図1において、「減算時に商が取りえる数」が10である列を見ると、例えば「減算器の数」が1であれば、残りの減算回数が4であることが分かる。即ち、最適なN倍除数を用いるとすると(例えば最初に5倍の除数を用いるとすると)、残りの減算回数が4であるから、最大4回のループ回数で結果を得ることができる。また「減算時に商が取りえる数」が10でる場合において、例えば「減算器の数」が2であれば、残りの減算回数即ちループ回数が3であることが分かる。
例えば加算器が1つであることを前提とすると、商予測等の何らかの前処理により初期状態での商候補の数を8個に減らすことができれば、商候補の数が10個である場合のループ回数4から、ループ回数を3に減らすことができる。また例えば加算器が2つであることを前提とすると、図1の表から分かるように、商予測等の何らかの前処理により初期状態での商候補の数を9個に減らすことができれば、商候補の数が10個である場合のループ回数3から、ループ回数を2に減らすことができる。
商の取り得る数を10個からm個(mは10より小さい自然数)に減らすためには、例えば10個の商候補を、各々がm個以下の商を含む複数のグループに分け、商予測により1つのグループを特定すればよい。ここで各グループは、商が取り得る全ての値(10個の値)を含む集合の部分集合であるグループである。例えば商の取り得る数を10個から9個に減らすためには、10個の商候補を、各々が9個以下の商を含む2つのグループに分け、商予測により1つのグループを特定すればよい。この時、2つのグループは互いに重複してよい。即ち、2つのグループには、同一の商が含まれてよい。
これはすなわち、特許文献3のように精度の高い商予測を行わずとも、粗い商予測をすることで処理の高速化が充分に見込めることを表している。粗い商予測として、中間剰余の上位2桁と除数の上位1桁との情報に基づいて商予測をすることを考える。
図2は、中間剰余の上位2桁と除数の上位1桁との組み合わせテーブルを示す図である。最も左側の列は被除数(中間剰余)の上位2桁を示し、最も上側の行は除数の上位1桁を示し、行と列とが交差する各欄には、当該被除数と除数との組み合わせに対して部分商が取りうる範囲を示している。この例において、被除数と除数とは、共に10進数である。例えば被除数が08.xx(xxは任意の数)であり、除数が01.xxである時、部分商の取りうる範囲は、図2の表において4〜8(4,5,6,7,8)となっている。このことは、「8.00≦被除数<9.00」と「1.00≦除数<2.00」の時、「4≦部分商≦8」であることを示している。
図2の表において、網掛けの部分は、引き戻し法のアルゴリズム上、ありえない組み合わせである。この表は100行×9列という膨大なデータ量を含んでいるが、この表に含まれる全てのデータを商予測に組み込む必要はない。例えば、被除数が08.xxであり、除数が01.xxであることが情報として分かっているとき、この情報から予測可能な精度で予測できる部分商の取りうる範囲は4〜8である。このとき、この範囲に含まれる商の数は5個である。しかしながら前述のように、例えば加算器が1つであることを前提とすると、商予測等の何らかの前処理により初期状態での商候補の数を8個に減らすことができれば、商候補の数が10個である場合のループ回数4から、ループ回数を3に減らすことができる。また例えば加算器が2つであることを前提とすると、図1の表から分かるように、商予測等の何らかの前処理により初期状態での商候補の数を9個に減らすことができれば、商候補の数が10個である場合のループ回数3から、ループ回数を2に減らすことができる。
例えば加算器が2つの場合を考えると、商予測によって商の取りえる数を9個以下にすればよいので、図2の表の全てのデータを商予測に用いる必要はない。各グループに含まれる商の数が9個以下となればよいので、上述の被除数が08.xxであり除数が01.xxであるという情報から得られる5個の商からなるグループまで特定する必要はない。即ち、被除数(中間剰余)の上位2桁と除数の上位1桁との情報に基づいて、当該情報から予測可能な精度(例えば4〜8を特定できる精度)よりも低い精度での商予測を行うことにより、商の取りえる数を9個以下にすれば十分である。
低い精度での商予測即ち粗い商予測を行うためには、使用する加算器の数及び所望の減算ループの回数に応じて、都合の良い箇所で図2の表を区切ればよい。例えば、2個の加算器が設けられ2回のループで結果を算出可能な演算器を設計するためには、図2の表を区切り線10で示したように区切り、商の取りえる範囲を商が0〜7であるグループと商が4〜9であるグループとに分ければよい。これら2つのグループの各々は、部分商の取り得る全ての値(0〜9)を含む集合の部分集合であるグループである。またこれら2つのグループは、互いに重複するグループであり、同一の要素4,5,6,7を共有する。
このように各グループに含まれる商の数が9個以下である2つのグループに分け、後述する商予測により、これら複数のグループのうちの何れか1つのグループを特定することができれば、初期状態での商候補の数を9個に減らすことができる。これにより、加算器が2つである場合、図1の表から分かるように、商候補の数が10個である場合のループ回数3から、ループ回数を2に減らすことができる。
なお図2の表において、区切り線10で示されるような2つのグループに区切った理由は、商予測を単純な論理で実現できることが挙げられる。例えば除数が01.xxの列に着目した時、中間剰余が8(1000)以上とそれ未満(0111以下)とで分けると、商が0〜7のグループと商が4〜9のグループとに分けることができ、中間剰余のMSBをチェックするだけで商予測をすることができる。即ち、中間剰余のMSBをチェックするだけで、取り得る商が属するグループとして、2つのグループのうちの何れか1つのグループを特定することができる。例えば仮に商が0〜8のグループと商が4〜9のグループとに分けるとすると、中間剰余が9(1001)以上及びそれ未満となるように区切る必要があり、中間剰余の4ビット全てをチェックする必要がある。区切り線10は、中間剰余の全ビットをチェックせずに、成る可く少ない数の一部のビットをチェックするだけでグループ分けできるような分割を実現している。
なお上記の区切り線10によるグループ分けの例では、各グループの要素の数(各グループに含まれる商の数)が8個以下となっている。従って、このグループ分けにより、加算器が1つである場合も、図1の表から分かるように、商候補の数が10個である場合のループ回数4から、ループ回数を3に減らすことができる。同様に、図1の表において例えば減算ループ回数を2から1に減らすように、例えば加算器が3個である場合であれば、各グループに含まれる要素の数が4以下となるように、図2の表において3分割するグループ分けを行ってもよい。
本願開示の粗い商予測は、被除数(中間剰余)の上位2桁と除数の上位1桁との情報に基づいて、当該情報から予測可能な精度よりも低い精度での商予測を行うものであり、特定の加算器の数やループ回数に限定されるものではない。この粗い商予測においては、例えば図2の表において、被除数の上位2桁と除数の上位1桁とを特定することにより特定される1つの行と列との交差部分に記載された商の範囲を特定するのではなく、行と列との交差部分を複数個纏めたグループを特定している。またこの粗い商予測においては、例えば被除数(中間剰余)の上位2桁と除数の上位1桁との全てのビットのうち、一部のビットのみを用いて商予測を行ってよい。
図3は、2個の加算器により2回のループで結果を算出可能な演算器において、1回目及び2回目の減算の結果の組み合わせに対して結果として得られる部分商の値の一例を示した表である。この例では、上述のように、商の取りえる範囲を商が0〜7であるグループと商が4〜9であるグループとに分けるように商予測を行うことを前提としている。この表に示す内容は、一例として想定したアルゴリズムの動作に基づくものであり、何れのN倍除数を用いるのか、どのように部分商や中間剰余を求めるのか等について限定を意図するものではない。
図3においては、中間剰余をR、除数をDIVs、部分商をQとしている。また第1及び第2の加算器(減算器)が求めた減算結果(中間剰余)をそれぞれR1及びR2、第1及び第2の加算器(減算器)による減算処理のキャリーアウトをそれぞれCO1及びCO2としている。図3に示されるように、商の取り得る範囲が例えば4〜9であると予測された場合、1回目の減算ループにおいて、2つの減算器による2つの減算として、「R−5DIVs」(中間剰余−5倍除数)及び「R−8DIVs」(中間剰余−8倍除数)を実行する。その結果得られるキャリーアウトがそれぞれ例えば「正」及び「負」である場合、取り得る商の範囲は5〜7であることが分かり、部分商Qとして取り敢えず5を設定し、中間剰余Rとして第1の減算器の減算結果R1を設定する。更に2回目の減算ループにおいて、2つの減算器による2つの減算として、「R−1DIVs」(中間剰余−1倍除数)及び「R−2DIVs」(中間剰余−2倍除数)を実行する。その結果得られるキャリーアウトがそれぞれ例えば「正」及び「正」である場合、取り得る商は7であることが分かるので、部分商Qを+2して7(=5+2)に設定し、中間剰余Rとして第2の減算器の減算結果R2を設定する。なお図3において「−」や「*」は想定したアルゴリズムでは起こり得ない組み合わせであることを示している。
図4は、図3に示したアルゴリズムの処理の流れを示すフローチャートである。以下に、このアルゴリズムの処理について説明する。
ステップS1で、中間剰余Rと除数DIVsとが入力される。ステップS2で商予測を行う。この商予測は、被除数(中間剰余)の上位2桁と除数の上位1桁との情報に基づいて、図2の表で区切り線10の上側のグループ(商が0〜7)と区切り線10の下側のグループ(商が4〜9)の何れか1つのグループを特定することにより行われる。
ステップS3で、取りうる部分商の範囲が4〜9であればステップS4の処理を、取りうる部分商の範囲が0〜7であればステップS9の処理を行うようにセレクト信号を生成する。
ステップS4で、第1及び第2の減算器に中間剰余と除数が入力される。第1の減算器により、中間剰余Rから5倍の除数が減算され、中間剰余R1とキャリーアウトCO1とが出力される。また第2の減算器により、中間剰余Rから8倍の除数が減算され、中間剰余R2とキャリーアウトCO2とが出力される。
ステップS5で、第1及び第2の減算器のキャリーアウトCO1及びCO2の組み合わせから、中間剰余Rと部分商Qとに入力する値を選択する。CO1及びCO2が0及び0であるならば、ステップS6で、中間剰余Rの値をそのままとし、部分商Qを4とする。CO1及びCO2が1及び0であるならば、ステップS7で、中間剰余R1を中間剰余Rとし、部分商Qを5とする。CO1及びCO2が1及び1であるならば、ステップS8で、中間剰余R2を中間剰余Rとし、部分商Qを8とする。
ステップS9で、第1の減算器と第2の減算器に中間剰余と除数が入力される。第1の減算器により、中間剰余Rから2倍の除数が減算され、中間剰余R1とキャリーアウトCO1とが出力される。また第2の減算器により、中間剰余Rから5倍の除数が減算され、中間剰余R2とキャリーアウトCO2とが出力される。
ステップS10で、第1及び第2の減算器のキャリーアウトCO1及びCO2の組み合わせから、中間剰余Rと部分商Qとに入力する値を選択する。CO1及びCO2が0及び0であるならば、ステップS11で、中間剰余Rの値をそのままとし、部分商Qを0とする。CO1及びCO2が1及び0であるならば、ステップS12で、中間剰余R1を中間剰余Rとし、部分商Qを2とする。CO1及びCO2が1及び1であるならば、ステップS13で、中間剰余R2を中間剰余Rとし、部分商Qを5とする。
以上が1回目の減算ループであり、その後、以下に説明する2回目の減算ループが実行される。
商予測が4〜9の範囲であり且つ1回目の減算ループにおけるCO1及びCO2が0及び0であったならば、ステップS14で、中間剰余Rから4倍の除数が減算され、減算結果が中間剰余Rとなる。
商予測が4〜9の範囲であり且つ1回目の減算ループにおけるCO1及びCO2が0及び0であったという条件以外の場合には、ステップS15で、第1の減算器と第2の減算器に中間剰余と除数が入力される。第1の減算器により、中間剰余Rから除数が減算され、中間剰余R1とキャリーアウトCO1とが出力される。また第2の減算器により、中間剰余から2倍の除数が減算され、中間剰余R2とキャリーアウトR2とが出力される。
ステップS16で、第1及び第2の減算器のキャリーアウトCO1及びCO2の組み合わせから、中間剰余Rと部分商Qとに入力する値を選択する。CO1及びCO2が0及び0であるならば、ステップS17で、中間剰余Rの値をそのままとし、部分商Qもそのままとする。CO1及びCO2が1及び0であるならば、ステップS18で、中間剰余R1を中間剰余Rとし、部分商Qに1を加算する。CO1及びCO2が1及び1であるならば、ステップS19で、中間剰余R2を中間剰余Rとし、部分商Qに2を加算する。
最後にステップS20で、中間剰余Rと部分商Qとを出力する。以上の処理により、2回の減算ループで中間剰余Rと部分商Qとを求めることができる。
図5は、コンピュータシステムの構成の一例を示す図である。図5に示すコンピュータシステムは、プロセッサ110及びメモリ111を含む。演算処理装置としてのプロセッサ110は、2次キャッシュ部112、1次キャッシュ部113、制御部114、及び演算部115を含む。1次キャッシュ部113は、命令キャッシュ113A及びデータキャッシュ113Bを含む。演算部115は、レジスタ116、演算制御部117、及び演算器118を含む。演算器118には除算器119が含まれる。除算器119には、部分剰余及び部分商を求める演算回路119Aが含まれる。なお図5及び以降の同様の図において、各ボックスで示される各機能ブロックと他の機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各機能ブロックは、他のブロックと物理的にある程度分離された1つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の1つの機能を示したものであってもよい。各機能ブロックは、他のブロックと論理的にある程度分離された1つのモジュールであってもよいし、或いは他のブロックと論理的に一体となったモジュール中の1つの機能を示したものであってもよい。
上記コンピュータシステムはCPU(Central Processing Unit)を用いた情報処理装置を模式化したものであり、このコンピュータシステムによりOracle−number等を演算するハードウェアを実現する。プロセッサ110では、1次キャッシュ部113及び2次キャッシュ部112を設けることにより、キャッシュメモリを多階層化した構成となっている。具体的には、1次キャッシュ部113と主記憶(メモリ111)との間に、主記憶よりも高速にアクセスできる2次キャッシュ部112を設けている。これにより、1次キャッシュ部113においてキャッシュミスが発生した場合に、主記憶にアクセスが必要になる頻度を低くして、キャッシュミス・ペナルティーを軽減することができる。
制御部(命令制御部)114は、命令フェッチアドレスと命令フェッチリクエストとを1次命令キャッシュ113Aに発行し、この命令フェッチアドレスから命令をフェッチする。制御部114は、フェッチした命令(例えば除算命令)をデコードした結果に従い演算部115を制御して、フェッチされた命令を実行する。演算制御部117は、制御部114の制御下で動作し、演算対象のレジスタ116からのデータを演算器118に供給したり、演算結果のデータを指定されたレジスタ116に格納したりする。また演算制御部117は、演算器118が実行する演算のタイプを指定する。更に演算制御部117は、アクセス先のアドレスを指定し、1次キャッシュ部113の当該アドレスに対してロード命令やストア命令を実行する。ロード命令により、指定アドレスから読み出されたデータは、指定されたレジスタ116に格納される。またストア命令により、指定されたレジスタ116のデータが、指定されたアドレスに書き込まれる。演算器118に含まれる除算器119の演算回路119Aが、部分商及び中間剰余を計算する回路であり、例えば前述の粗い商予測に基づいて2個の加算器により2回のループで結果を算出可能な演算回路であってよい。また以下の説明において、
図6は、演算回路119Aの構成の一例を示す図である。図6に示す演算回路119Aは、中間剰余レジスタ121、除数レジスタ122、サイクルレジスタ123、4倍選択レジスタ124、商予測回路125、倍数選択回路126、定数倍回路127、減算器128、減算器129、及び制御回路130を含む。演算回路119Aは更に、部分商計算回路131、中間剰余選択回路132、部分商レジスタ133、及びセレクタ134を含む。
定数倍回路127は、2倍の除数、4倍の除数、5倍の除数、及び8倍の除数を生成する。例えば2進化10進数の定数倍を生成するうち、これら4つのN倍除数(N=2,4,5,8)は、それ以外の倍数よりも単純な論理で実現することが可能である。
2倍回路においては、各桁を2倍すると、キャリー伝搬を除いた各桁が必ず偶数になるので、下位からのキャリー伝搬がそのまま各桁のLSB(最下位ビット)に収まる。従ってキャリーが伝搬していく状況を考える必要がなく、1つの着目桁の値を計算する際には、当該桁の値とその1つ下の桁の値だけを用いればよい。そのようにして2倍値を計算する回路は、入力値と出力値とを示す真理値表に基づいて、組み合わせ論理回路として実現することができる。そのようにして実現した回路は、加算器を用いて2倍値を計算するよりも高速に2倍値を求めることができる。
図7は、2倍回路における各桁の入出力値を示す真理値表である。A[3:0]はn桁目の入力である4ビットの値である。S及びSn+1はAを2倍して得られる値を表わし、S[3:1]はn桁目の4ビットのうちの上位3ビットであり、Sn+1[0]はn+1桁目の4ビットの最下位ビットである。例えばA[3:0]が1000(10進で8)の場合、その2倍の値(10進で16)は、n+1桁が0001、n桁が0110となる。従って、図7に示されるように、Sn+1[0]=1、S[3:1]=011となる。この入力値と出力値とを示す真理値表を実現する組み合わせ論理回路を設計することで、2倍回路を実現することができる。
4倍回路及び8倍回路の場合は、キャリーが2ビット分発生することがある為、上記のように1桁の真理値表に基づいて回路を設計することはできない。しかしながら、2倍回路が単純な組み合わせ論理回路で実現できるので、その2倍回路を直列に2個繋げることにより4倍回路を実現し、また、2倍回路を直列に3個繋げることにより8倍回路を実現すればよい。
5倍回路の場合は、入力数を10倍して得られた結果を2で割る処理を行えばよい。その処理は以下のようにして実現できる。まず入力数を10倍処理に相当する4ビット左シフトする。得られた入力数10倍の値を、1/2倍処理に相当する1ビット右シフトする。但し、この1ビット右シフト処理において、同一桁内で値が1のビットが移動する場合には正しい結果(1/2倍の結果)が得られるが、n+1桁からn桁に値1のビットが移動した場合、n+1桁からn桁に落ちてきた値は8(1000)となってしまう。本来はn+1桁の1の1/2の値はn桁の5に等しいので、n+1桁からn桁に落ちてきた値8を5に変換する必要がある。そこで、各桁においてMSBが1であった場合、MSBを0にして、更にその桁に5を加算する。なお1/2倍処理に相当する1ビット右シフトをした時点で、各桁の下位3ビットの値は0〜4の値しか取り得ないので、上記のようにして5を加算してもキャリーアウトは発生しない。そのようにして5倍値を計算する回路は、入力値と出力値とを示す真理値表に基づいて、組み合わせ論理回路として実現することができる。そのようにして実現した回路は、加算器を用いて5倍値を計算するよりも高速に5倍値を求めることができる。
図8は、5倍回路における各桁の入出力値を示す真理値表である。A[0]はn桁目の入力4ビットの最下位ビットであり、An−1[3:1]はn−1桁目の入力4ビットの上位3ビットである。この入力を3ビット左シフト(=4ビット左シフト+1ビット右シフト)し、MSBが1であった場合、MSBを0にして更に5を加算して得られるn桁の出力4ビットがS[3:0]である。この入力値と出力値とを示す真理値表を実現する組み合わせ論理回路を設計することで、5倍回路を実現することができる。
図6に戻り、上述のようにして実現された2倍回路及び5倍回路が、定数倍回路127に内蔵されている。これにより、定数倍回路127での定数倍処理を高速に実現することができる。またこのような定数倍処理の工夫だけでなく、図6の構成では、各減算器に対するN倍除数の割り当てについても工夫がされている。引き戻し法では各減算器のキャリーアウトによってN倍除数の選択を制御するので、各々の減算器に同時に入力するN倍除数の大小関係を常に同じにすることで、N倍除数の選択制御が簡易になる。前述したアルゴリズムの例でもそうして説明している。しかし図6の演算回路では、その関係を崩し、1回目の減算時には常に第1の減算器128へ5倍除数を入力するようにしている。これは5倍除数を使う時には常に第1の減算器128を用いることで、必要なセレクタの段数を減らすことができるためである。
以下に、図6に示す演算回路の動作について説明する。なお以下の説明並びに図6及び以降の図において、中間剰余R、除数DIVs、N倍除数NDIVs、部分商Q[3:0]、減算回数判定信号cycle、商予測信号preQ、第1及び第2の減算器に出力するN倍除数xNadd1及びxNadd2と表記する。また更に、4倍除数選択信号selx4、5倍除数選択信号selx5、8倍除数選択信号selx8、キャリーアウトCO1及びCO2、部分商Q1及びQ2、そして中間剰余の上位2桁R[7:0]、除数の上位1桁S[3:0]と表記する。減算回数判定信号cycleは、1回目の減算ループにおいて0であり、2回目の減算ループにおいて1となる。
図6において、まず中間剰余レジスタ121と除数レジスタ122とに中間剰余Rと除数DIVsとが入力され、サイクルレジスタ123と4倍選択レジスタ124とに減算回数判定信号cycleと4倍除数選択信号selx4とが入力される。中間剰余レジスタ121と除数レジスタ122とから、商予測回路125に、中間剰余Rと除数DIVsとが入力される。
図9は、商予測回路125の構成の一例を示す図である。図9に示す商予測回路125は、AND回路141乃至151及びOR回路152乃至155を含む。AND回路141乃至144については、入力の一部が負論理となっている。この商予測回路125が、中間剰余の上位2桁R[7:0]と除数の上位1桁S[3:0]との情報に基づいて、この情報から予測可能な精度よりも低い精度での商予測を行う。即ち、商予測回路125が、この情報に基づいて商予測を行い、図2の表で区切り線10の上側のグループ(商が0〜7)と区切り線10の下側のグループ(商が4〜9)との何れか一方のグループを特定する。なお図9において、中間剰余の上位2桁R[7:0]の全ビットが使用されているのではない(例えばR[0]は使用されていない)。即ち、中間剰余の上位2桁R[7:0]と除数の上位1桁S[3:0]との全ビットではない一部のビットを用いて商予測を行っている。商予測回路125は、商の取りえる範囲が4〜9であるならば1、0〜7であるならば0となるようなセレクト信号を生成する。商予測回路125は、生成したセレクト信号を、倍数選択回路126、制御回路130、及び部分商計算回路131に供給する。
図10は、定数倍回路127の構成の一例を示す図である。図10に示す定数倍回路127は、5倍回路161、2倍回路162乃至164、及びセレクタ165乃至167を含む。セレクタ166が選択して出力するN倍除数xNadd1が減算器128に供給される。セレクタ167が選択して出力するN倍除数xNadd2が減算器129に供給される。4倍除数選択信号selx4、5倍除数選択信号selx5、及び8倍除数選択信号selx8は倍数選択回路126から供給される。
定数倍回路127は、5倍除数選択信号selx5が1であるならば5倍の除数を減算器128に供給し、5倍除数選択信号selx5が0であるならばそのままの除数(1倍の除数)を減算器128に供給する。定数倍回路127は、4倍除数選択信号selx4及び8倍除数選択信号selx8がそれぞれ0及び0であるならば、2倍の除数を減算器129に供給する。定数倍回路127は、4倍除数選択信号selx4及び8倍除数選択信号selx8がそれぞれ1及び0であるならば、4倍の除数を減算器129に供給する。定数倍回路127は、8倍除数選択信号selx8が1であるならば、8倍の除数を減算器129に供給する。
図11は、倍数選択回路126の構成の一例を示す図である。倍数選択回路126は、インバータ171及びAND回路172を含む。AND回路172の一方の入力は負論理となっている。倍数選択回路126は、サイクルレジスタ123からの減算回数判定信号cycle、4倍選択レジスタ124からの4倍除数選択信号selx4、及び商予測回路125からの商予測信号preQを、入力として受け取る。倍数選択回路126は、これらの入力に応じて、4倍除数選択信号selx4、5倍除数選択信号selx5、8倍除数選択信号selx8の値を0又は1に設定する。
倍数選択回路126は、減算回数判定信号cycleが0であるならば5倍除数選択信号selx5を1とする。倍数選択回路126は、4倍除数選択信号selx4については、受け取った信号をそのまま出力する。倍数選択回路126は、減算回数判定信号cycleが0であり且つ商予測信号preQが1であるならば、8倍除数選択信号selx8を1とする。
図12は、倍数選択回路126及び定数倍回路127の入出力の関係を示す表である。図10に示す定数倍回路127及び図11の倍数選択回路126は、図12に示す表に示されるように動作する。例えば、減算回数判定信号cycle、4倍除数選択信号selx4、及び商予測信号preQが、それぞれ0,0,0である場合、5倍除数選択信号selx5、4倍除数選択信号selx4、及び8倍除数選択信号selx8は、それぞれ1,0,0となる。またこの時、第1の減算器128(SUB1)に供給されるN倍除数は5倍除数であり、第2の減算器129(SUB2)に供給されるN倍除数は2倍除数である。
図6に戻り、減算器128は、供給された中間剰余RからN倍除数を減算し、減算結果である中間剰余R1と、減算のキャリーアウトCO1とを出力する。また減算器129は、供給された中間剰余RからN倍除数を減算し、減算結果である中間剰余R2と、減算のキャリーアウトCO2とを出力する。部分商計算回路131に、キャリーアウトCO1が供給される。部分商計算回路131に、キャリーアウトCO1及びCO2が供給される。また中間剰余選択回路132にも、キャリーアウトCO1及びCO2が供給される。
図13は、中間剰余選択回路132の構成の一例を示す図である。図13に示す中間剰余選択回路132は、一部の入力が負論理のAND回路181乃至184、セレクタ185及び186、及びOR回路187を含む。中間剰余選択回路132は、減算回数判定信号cycle、4倍除数選択信号selx4、商予測信号preQ、並びにキャリーアウトCO1及びCO2を入力として受け取る。
図14は、中間剰余選択回路132の入出力の関係を示す表である。中間剰余選択回路132は、入力が与えられたときに、図14の表に示されるようなセレクト信号selR[1]及びselR[0]を出力する。セレクト信号selR[1]及びselR[0]は、図6に示されるように、セレクタ134に供給される。
図6においてセレクタ134は、セレクト信号selR[1]及びselR[0]に応じて、中間剰余レジスタ121の中間剰余R、減算器128の減算結果である中間剰余R1、又は減算器129の減算結果である中間剰余R2を選択する。選択された中間剰余は、中間剰余レジスタ121に供給され格納される。具体的には、セレクト信号selR[1]及びselR[0]がそれぞれ0及び0の場合、中間剰余Rが選択される。selR[1]及びselR[0]がそれぞれ0及び1の場合、中間剰余R1が選択される。またselR[1]及びselR[0]がそれぞれ1及び0の場合、中間剰余R2が選択される。
図15は、制御回路130の構成の一例を示す図である。図15に示す制御回路130は、インバータ191と、入力の一部が負論理であるAND回路192とを含む。制御回路130は、減算回数判定信号cycle、商予測信号preQ、及びキャリーアウトCO1を入力として受け取る。制御回路130は、減算回数判定信号cycleを反転する。反転された減算回数判定信号cycleは、サイクルレジスタ123に供給され格納される。また、減算回数判定信号cycleが0、商予測preQが1、且つキャリーアウトCO1が0である場合に限り、制御回路130は、4倍除数選択信号selx4を1に設定する。1に設定された4倍除数選択信号selx4は、4倍選択レジスタ124に供給され格納される。
図16は、部分商計算回路131の構成の一例を示す図である。図16に示す部分商計算回路131は、加算器201、定数テーブル202、AND回路203乃至205、及びOR回路206を含む。AND回路204及び205の一方の入力は負論理となっている。部分商計算回路131は、減算回数判定信号cycle、4倍除数選択信号selx4、商予測信号preQ、キャリーアウトCO1及びCO2、及び部分商レジスタ133からの部分商Qを入力として受け取る。
図17は、部分商計算回路131の入出力の関係を示す表である。部分商計算回路131は、入力が与えられたときに、図17の表に示されるような部分商を出力する。なお図17において、「行う処理」のQとして、4や5等の数値が示されているときは、部分商Qとして当該数値を出力することを示す。また「行う処理」のQとして、+1や+2等の演算が示されているときは、現在の部分商Qに対して当該演算を行うことを示す。
図18は、図16の定数テーブル202の入出力の関係を示す表である。商予測信号preQ、キャリーアウトCO1、及びキャリーアウトCO2により、定数テーブル202中に格納される複数の定数のうちの1つが選択され、選択された定数が出力される。例えば、商予測信号preQ、キャリーアウトCO1、及びキャリーアウトCO2がそれぞれ1,1,0の場合、部分商Qとして0101が出力される。以下において、定数テーブル202の出力を第1の部分商と呼ぶ。
図16を再び参照し、部分商レジスタ133からの部分商QとキャリーアウトCO1とが加算器201に入力され、キャリーアウトCO2が入力キャリーとして加算器201に入力される。この加算器201の加算結果を、以下において、第2の部分商と呼ぶ。
4倍除数選択信号selx4が1である時、部分商Qが、OR回路206を介して部分商計算回路131から出力される。出力された部分商Qが、部分商レジスタ133に供給され格納される。減算回数判定信号cycleが0である時、前述の第1の部分商が、OR回路206を介して部分商計算回路131から出力される。出力された部分商Qが、部分商レジスタ133に供給され格納される。また4倍除数選択信号selx4が0であり且つ減算回数判定信号cycleが1である時、前述の第2の部分商が、OR回路206を介して部分商計算回路131から出力される。出力された部分商Qが、部分商レジスタ133に供給され格納される。
以上のようにして、図6に示す演算回路119Aが動作することにより、図4に示すアルゴリズムが実行され、中間剰余と部分商とを2回の演算ループにて求めることができる。図6に示す演算回路119Aでは、単純な構成を有する商予測回路125により粗い商予測を行い、演算ループ回数を少なくする(図6の例では2回にする)ことができる。また減算ループ内における処理を単純な回路で実現することにより、高い動作周波数での実装が可能となり、小さな回路規模で高速に動作する演算回路を実現することができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
110 プロセッサ
111 メモリ
112 2次キャッシュ部
113 1次キャッシュ部
113A 命令キャッシュ
113B データキャッシュ
114 制御部
115 演算部
116 レジスタ
117 演算制御部
118 演算器
119 除算器
119A 演算回路

Claims (7)

  1. 引き戻し法による除算を行う演算回路であって、
    中間剰余を格納する中間剰余レジスタと、
    前記中間剰余の上位2桁と除数の上位1桁との情報に基づいて、前記情報から予測可能な精度よりも低い精度での商予測を行うことにより、予測結果を生成する商予測回路と、
    前記商予測回路により生成された前記予測結果に応じて選択されたN倍(Nは自然数)の除数を出力する定数倍回路と、
    前記定数倍回路が出力する前記N倍の除数を前記中間剰余から減算する減算器と、
    前記減算器による減算のキャリーアウトに応じて部分商を求める部分商計算回路と
    を含むことを特徴とする演算回路。
  2. 前記商予測回路が前記情報に基づいて生成する前記予測結果は、前記部分商の取り得る全ての値を含む集合の部分集合であるグループを示す信号であり、互いに重複する複数のグループのうちの何れか1つのグループを特定する信号であることを特徴とする請求項1記載の演算回路。
  3. 前記互いに重複する複数のグループの数は、2つのグループであることを特徴とする請求項1又は2記載の演算回路。
  4. 前記商予測回路は、組み合わせ論理回路であることを特徴とする請求項1乃至3何れか一項記載の演算回路。
  5. 前記定数倍回路は前記予測結果に応じて選択された複数のN倍の除数を出力し、前記減算器は前記複数のN倍の除数をそれぞれ入力とする複数の減算器を含むことを特徴とする請求項1乃至4何れか一項記載の演算回路。
  6. 引き戻し法による除算を行う演算回路と、前記除算の命令をデコードする命令制御部とを有する演算処理装置において、
    前記演算回路は、
    中間剰余を格納する中間剰余レジスタと、
    前記中間剰余の上位2桁と除数の上位1桁との情報に基づいて、前記情報から予測可能な精度よりも低い精度での商予測を行うことにより、予測結果を生成する商予測回路と、
    前記商予測回路により生成された前記予測結果に応じて選択されたN倍(Nは自然数)の除数を出力する定数倍回路と、
    前記定数倍回路が出力する前記N倍の除数を前記中間剰余から減算する減算器と、
    前記減算器による減算のキャリーアウトに応じて部分商を求める部分商計算回路と
    を含むことを特徴とする演算処理装置。
  7. 引き戻し法による除算を行う演算回路において、
    前記中間剰余の上位2桁と除数の上位1桁との情報に基づいて、前記情報から予測可能な精度よりも低い精度での商予測を行うことにより、予測結果を生成し、
    前記予測結果に応じて選択されたN倍(Nは自然数)の除数を前記中間剰余から減算し、
    前記減算のキャリーアウトに応じて部分商を求める
    各段階を含むことを特徴とする除算方法。
JP2012182344A 2012-08-21 2012-08-21 演算回路、演算処理装置、及び除算方法 Active JP6064435B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012182344A JP6064435B2 (ja) 2012-08-21 2012-08-21 演算回路、演算処理装置、及び除算方法
US13/935,175 US20140059106A1 (en) 2012-08-21 2013-07-03 Arithmetic circuit for performing division based on restoring division

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012182344A JP6064435B2 (ja) 2012-08-21 2012-08-21 演算回路、演算処理装置、及び除算方法

Publications (2)

Publication Number Publication Date
JP2014041415A true JP2014041415A (ja) 2014-03-06
JP6064435B2 JP6064435B2 (ja) 2017-01-25

Family

ID=50148989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012182344A Active JP6064435B2 (ja) 2012-08-21 2012-08-21 演算回路、演算処理装置、及び除算方法

Country Status (2)

Country Link
US (1) US20140059106A1 (ja)
JP (1) JP6064435B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275391B2 (en) * 2017-01-23 2019-04-30 International Business Machines Corporation Combining of several execution units to compute a single wide scalar result
US10997336B1 (en) * 2018-11-06 2021-05-04 Cadence Design Systems, Inc. Systems and methods for synthesizing a circuit architecture for division by constants
CN110134441B (zh) * 2019-05-23 2020-11-10 苏州浪潮智能科技有限公司 Risc-v分支预测方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58114133A (ja) * 1981-12-26 1983-07-07 Toshiba Corp 10進除算装置
JPH07160480A (ja) * 1993-12-10 1995-06-23 Fujitsu Ltd 10進除算器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5987543A (ja) * 1982-11-09 1984-05-21 Hitachi Ltd 2進化10進数除算方式
US5258945A (en) * 1991-12-23 1993-11-02 Amdahl Corporation Method and apparatus for generating multiples of BCD number
US5301139A (en) * 1992-08-31 1994-04-05 Intel Corporation Shifter circuit for multiple precision division
US5386376A (en) * 1992-08-31 1995-01-31 Intel Corporation Method and apparatus for overriding quotient prediction in floating point divider information processing systems
KR100853787B1 (ko) * 2004-12-31 2008-08-25 동부일렉트로닉스 주식회사 가변 진법 나눗셈 연산기

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58114133A (ja) * 1981-12-26 1983-07-07 Toshiba Corp 10進除算装置
JPH07160480A (ja) * 1993-12-10 1995-06-23 Fujitsu Ltd 10進除算器

Also Published As

Publication number Publication date
JP6064435B2 (ja) 2017-01-25
US20140059106A1 (en) 2014-02-27

Similar Documents

Publication Publication Date Title
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
CN114402289A (zh) 多模式运算电路
JPH04227535A (ja) 除算を行なう装置
KR20030045021A (ko) 승산을 수행하기 위한 병렬 카운터 및 로직 회로
JPH0934691A (ja) 正確な浮動小数点除算/平方根演算を実現する正確、かつ効果的なスティッキー・ビット計算
US10579338B2 (en) Apparatus and method for processing input operand values
JP3418460B2 (ja) 倍精度除算回路および方法
JPH0991270A (ja) 演算器
TWI715589B (zh) 用於在執行浮點運算時控制捨入的裝置及方法
JP6064435B2 (ja) 演算回路、演算処理装置、及び除算方法
CN110858137A (zh) 除以整数常数的浮点除法
JP4273071B2 (ja) 除算・開平演算器
GB2525648A (en) Approximating functions
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
WO2020161458A1 (en) Encoding special value in anchored-data element
KR101007259B1 (ko) 패리티 생성 회로, 계수 회로 및 계수 방법
EP0452099A2 (en) Divider unit
WO2020161470A1 (en) Anchored data element conversion
JP3736745B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JP3793505B2 (ja) 演算器及びそれを用いた電子回路装置
CN110851110B (zh) 无除法器的除三电路
WO2023100372A1 (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
JP2013210837A (ja) 演算回路及び演算方法
JP2508286B2 (ja) 平方根演算装置
JP3233432B2 (ja) 乗算器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161205

R150 Certificate of patent or registration of utility model

Ref document number: 6064435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150