JP2008021189A - 除算装置および除算方法 - Google Patents
除算装置および除算方法 Download PDFInfo
- Publication number
- JP2008021189A JP2008021189A JP2006193325A JP2006193325A JP2008021189A JP 2008021189 A JP2008021189 A JP 2008021189A JP 2006193325 A JP2006193325 A JP 2006193325A JP 2006193325 A JP2006193325 A JP 2006193325A JP 2008021189 A JP2008021189 A JP 2008021189A
- Authority
- JP
- Japan
- Prior art keywords
- divisor
- conversion
- quotient
- bit number
- unit
- 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
Abstract
【課題】少ないハードウェア規模で高速で除算処理を行うこと。
【解決手段】入力制御部1は、除数の正負判定結果を出力制御部5へ出力する一方、除数をSB化して出力する。有効ビット数判定部2は、SB化除数を入力して、そのビット数を判定して、演算テーブル部3および演算処理部4へ出力する。演算テーブル部3は、SB化除数と有効ビット数とを入力し、有効ビット数が有効ビット内である場合、その演算テーブルを参照して、SB化除数の値に対応した商とテーブル使用フラグとを出力する。一方、演算処理部4は、SB化除数と有効ビット数とを入力して、有効ビット数が有効ビット数にないと判定した場合、除算処理を行う。出力制御部5は、演算テーブル部3からのテーブル使用フラグに基づき、演算テーブル部3からのテーブル読出し結果あるいは演算処理部4からの演算処理結果を商として出力する。
【選択図】図1
【解決手段】入力制御部1は、除数の正負判定結果を出力制御部5へ出力する一方、除数をSB化して出力する。有効ビット数判定部2は、SB化除数を入力して、そのビット数を判定して、演算テーブル部3および演算処理部4へ出力する。演算テーブル部3は、SB化除数と有効ビット数とを入力し、有効ビット数が有効ビット内である場合、その演算テーブルを参照して、SB化除数の値に対応した商とテーブル使用フラグとを出力する。一方、演算処理部4は、SB化除数と有効ビット数とを入力して、有効ビット数が有効ビット数にないと判定した場合、除算処理を行う。出力制御部5は、演算テーブル部3からのテーブル使用フラグに基づき、演算テーブル部3からのテーブル読出し結果あるいは演算処理部4からの演算処理結果を商として出力する。
【選択図】図1
Description
本発明は、予め固定された自然数を被除数として、除算演算を行う除算装置および除算方法に関するものである。
近年、画像処理等の演算に用いられる除算は、演算の中でも特に処理が重いため、高速処理を実現するためにCPUのコプロセッサとして搭載されているのが主流である。例えば、被除算および除算係数の組み合わせをROM化することで高速化を実現する除算装置および除算方法がある(例えば、特許文献1参照。)。
特許第2554811号公報
しかし、上述の従来の減算装置では、被除算および除算係数の組み合わせ全ての要素を予めROM化するために、膨大なハードウエアが必要となる、という問題がある。
そこで、本発明は、少ないハードウェア規模でも高速で除算処理を実行することができる除算装置および除算方法を提供することを目的とする。
上記目的を達成するため、本発明の除算装置は、予め固定された自然数を被除数として除数に対し除算演算を行う除算装置であって、前記除数が正か負かを判定すると共に、前記判定結果に従って前記除数をストレートバイナリ化し、ストレートバイナリ化した前記SB化除数と、前記正負判定結果を出力する入力制御部と、前記SB化除数の有効ビット数を判定する有効ビット数判定部と、所定ビット数までのSB化除数と、所定ビット数までのSB化除数により前記被除数を除算した結果である商とを予め対応させて記憶した演算テーブルを備え、前記入力制御部からの前記SB化除数と、前記有効ビット数判定部によって判定された前記SB化除数の有効ビット数とを入力し、前記SB化除数の有効ビット数が前記所定ビット数までである場合、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力する演算テーブル部と、前記入力制御部からの前記SB化除数と、前記有効ビット数判定部によって判定された前記SB化除数の有効ビット数とを入力し、前記SB化除数の有効ビット数が前記所定のビット数より大きい場合、前記入力したSB化除数により前記被除数を除算して商を出力する演算処理部と、前記演算テーブル部からの前記商、または前記演算処理部からの前記商を入力して、前記入力制御部からの前記正負判定結果が負を示している場合、前記商を反転処理して出力する出力制御部と、を有する。
なお、上記発明において、前記演算テーブル部は、前記SB化除数の有効ビット数が前記所定ビット数までである場合、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力すると共に、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力したことを示すテーブル使用情報を出力し、前記出力制御部は、前記演算テーブル部からの前記テーブル使用情報と、前記演算テーブル部からの前記商あるいは前記演算処理部からの前記商とを入力して、前記テーブル使用情報が前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力したことを示している場合には、記演算テーブル部からの前記商を選択する一方、前記テーブル使用情報が前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力したことを示していない場合には、前記演算処理部からの前記商を選択し、前記入力制御部からの前記正負判定結果が負を示している場合、前記商を反転処理して出力する、ようにしても勿論よい。
本発明によれば、所定ビット数までのSB化除数と所定ビット数までのSB化除数により固定の被除数を除算したことを示す商とを予め対応させた演算テーブルを備え、SB化除数の有効ビット数が所定ビット数までである場合、演算テーブルを使用して商を出力する一方、SB化除数の有効ビット数が所定のビット数より大きい場合、SB化除数により被除数を除算して商を出力するようにしたので、除数の有効ビット数が所定の有効ビット範囲であれば、テーブルからの読み出しにより除算演算を行うことなく商を簡単に求めることが可能となり、小規模ハードウェアで高速除算することができる。
以下、添付図面を参照して、この発明を用いた除算装置における最良の実施の形態を詳細に説明する。
図1は、本発明に係る除算装置の実施の形態の構成例を示すブロック図である。
図1において、この除算装置は、入力制御部1と、有効ビット数判定部2と、演算テーブル部3と、演算処理部4と、出力制御部5とを有している。
図2は、図1に示す入力制御部1の構成例を示すブロック図である。
図において、入力制御部1は、正負判定部11と、SB化部12とを有している。
図において、入力制御部1は、正負判定部11と、SB化部12とを有している。
図3は、図1に示す演算処理部4の構成例を示すブロック図である。
図において、演算処理部4は、初期残データ算出部41と、減算部42と、次被除数生成部43と、結果判定部44とを有している。
図5は、図1に示す出力制御部5の構成例を示すブロック図である。
図において、出力制御部5は、SB商判定部51と、2の補数化部52とを有している。
次に動作を説明する。
まず、入力制御部1へ除数が入力されると、図2に示すように、正負判定部11が除数の正負判定を行って、その結果を出力制御部5およびSB化部12へ出力する一方、SB化部12が入力された除数を、その正負判定結果を参照してストレートバイナリ(SB)化して有効ビット数判定部2および演算テーブル部3へ出力する。
図5は、入力制御部1の処理手順の一例を示すフローチャートである。
まず、入力制御部1へ除数が入力されると、入力制御部1の正負判定部11は除数の正負判定を行う(S510)。その結果、正と判断した場合、SB化部12はSB化除数として入力された除数を出力する一方、正負判定部11は除数正負判定として正として出力する(S520)。一方、入力された除数を負と判断した場合、SB化部12は、除数のSB化を行うため除数のビット反転に1を足したものを出力する一方、入力制御部1は除数正負判定として負を出力する(S530)。なお、この除数正負判定が負であれば、最終出力の際に、ビット反転したSB化除数を負の除数に戻すことができる。
次に、有効ビット数判定部2では、入力制御部1から出力されたSB化除数を入力して、その有効ビット数を判定して、演算テーブル部3および演算処理部4へ出力する。具体的には、入力制御部1から出力されたSB化除数を入力とし、SB化除数のMSBから0の値が1に変化するbit数を検出し、それ以降のビット数を有効ビット数として出力する。
一方、演算テーブル部3は、1ビットから所定ビット数までのSB化除数の値と、固定値の自然数である被除数を予めそのSB化除数により除算しておいた商とを対応させた演算テーブル31を予めROMやRAM等のメモリに記憶しており、入力制御部1からのSB化除数と、有効ビット数判定部2からの有効ビット数とを入力して、有効ビット数が所定ビット数内であると判定した場合、その演算テーブル31を参照して、SB化除数の値より商であるテーブル値と、その演算テーブル31を使用して商を求めたか否かを示すテーブル使用情報とを出力する。なお、有効ビット数が所定ビット数内である場合、算処理部4はSB化除数により被除数を除算処理せず、演算テーブル部3が演算テーブル31を参照してテーブル値を商として出力する一方、有効ビット数が所定ビット数より大きい場合、演算テーブル部3はテーブル値を出力せず、演算処理部4がSB化除数により被除数を除算処理して演算処理結果を商として出力する場合には、有効ビット数が所定ビット数内であるか否かにより、演算テーブル部3か演算処理部4のいずれか一方のみからテーブル値または演算処理結果が出力制御部5へ入力しないので、この場合には、テーブル使用情報は省略しても良い。
図6は、演算テーブル部3に格納される演算テーブル31の具体的を示す図である。
図6に示す演算テーブル31は、
(1)除数が8ビット、
(2)被除数が10進法で16384(dec)の15ビット、
(3)SB化除数の有効ビット数を4ビット、
とした場合の演算テーブル31の一例を示している。
(1)除数が8ビット、
(2)被除数が10進法で16384(dec)の15ビット、
(3)SB化除数の有効ビット数を4ビット、
とした場合の演算テーブル31の一例を示している。
この場合、演算テーブル31は、ビット数が1ビットから少なくとも所定のビット数である4ビットまでの各SB化除数の値(図6中、“indt”)と、その所定ビット数までのSB化除数により、SB化した被除数(図6中、“divdt”)である16384(dec)を除算したことを示す商と、この演算テーブル31を使用して商を出力したことを示すテーブル使用情報とを予め対応させて記憶している。
具体的には、SB化除数の値(図6中、“indt”)が0の場合、商は0、SB化除数の値(図6中、“indt”)が1の場合、商はSB化被除数(図6中、“divdt")である16384(dec)、SB化除数の値(図6中、“indt”)が2の場合、商はSB化被除数(図6中、“divdt")である16384(dec)を16進表記で1ビット右にシフト(図6中、“>>")した値、SB化除数の値(図6中、“indt”)が3の場合、商は16進表記で1555(hex)、SB化除数の値(図6中、“indt”)が4の場合、商はSB化被除数(図6中、“divdt")である16384(dec)を16進表記で2ビット右にシフトした値、…ということを示している。
このようにSB化除数によりSB化被除数(図6中、“divdt")である16384(dec)を除算した値である商が、SB化被除数(図6中、“divdt")の所定のビット数である4ビット、すなわちSB化除数(図6中、“indt")が0〜15まで記憶されている。
このように、演算テーブル31にSB化除数の所定ビット数の範囲に対応した商を予め記憶しておき、SB化除数の有効ビット数が所定ビット数の範囲にある場合、除算演算を行うのではなく、SB化除数に対応した商を読み出すことにより、小規模ハードウェアで高速除算に対応した除算を実現することができると共に、SB化除数の有効ビット数としてSB化除数の値が1に変化するbit数を判定し、シフト型除算にて行われる繰り返し減算とビットシフトの回数を減らすようにしたので、除算の高速化が可能となる。
なお、本実施の形態1では、演算テーブル31に必ず記憶する値(本発明にとり必須はないという意味である。)ではないが、SB化除数の有効ビット数が所定ビット数の範囲にある場合だけでなく、さらに、シフトレジスタの右シフトによって簡単に商が求められるSB化除数が16、32、64、128、…等の2の乗数の場合にも、それぞれ、被除数(図6中、“divdt")である16384(dec)を16進表記で4,5,6,7ビット右にシフトした値を記憶するようにしている。これにより、SB化除数の有効ビット数が所定ビット数の範囲にある場合でなくても、SB化除数が16、32、64、128、…等の2の乗数の場合には、演算処理部4による除算演算を経ることなく、簡単に商を求めることができる。
一方、演算処理部4は、入力制御部1からのSB化除数と、有効ビット数判定部2からの有効ビット数とを入力して、SB化除数の有効ビット数が所定ビット数にないと判定した場合、すなわち演算テーブル部3が演算テーブル31を参照して出力しない場合、除算処理を行う。なお、この除算処理は、汎用的なものであるが、以下、その一例を説明しておく。
図7は、演算処理部4における除算処理の一例を示すフローチャートである。
演算処理部4では、まず、初期残データ算出部41が、入力制御部1からのSB化除数と、有効ビット数判定部2からのSB化除数の有効ビット数とを入力して、演算開始時の初期残データを算出して、次被除数生成部43へ出力する。ここで、初期残データとは、演算開始時の被除数データから、減算部42で用いる次被除数を除いた被除数データのことをいう。つまり、SB化除数の有効ビット数をpビット、固定値である被除数のビット数qビットとすると、初期残データ算出部41は、最終的な演算結果の商であるresult[m:0]と、残データremain[m−1:0]へ代入する演算開始時の初期残データのビット列mを、以下の式(1)により算出して、次被除数生成部43へ出力する(S710)。
m=q−p…式(1)
次に、次被除数生成部43は、後述するように、初期残データ算出部41からの初期残データと、減算部42の出力結果であるsubtract、結果判定部44からのsubtract正負判定とから次被除数を生成し、減算部42へ出力する。つまり、次被除数生成部43は、被除数のMSBから上位pビット分のデータを代入した被除数[q−1:m]を、次被除数とし、減算部42へ出力する(S720)。
減算部42では、次被除数を現被除数とし、現被除数からSB化除数(indt)を減算した値をsubtractとし、そのsubtractを結果判定部44へ出力する(S730)。
結果判定部44では、減算部42からのsubtractが0より小さいか否かを判断し(S740)、subtractの正負判定結果として次被除数生成部43へ出力する。
次被除数生成部43は、結果判定部44からのsubtract正負判定結果に基づき、subtractが0より大きい場合(S740“no”)、すなわちsubtractが正の場合、演算結果であるresult[m]の値を1とすると共に(S750)、次の被除数である次被除数決定のための準備データpre_data = subtractとする(S755)。
その一方、次被除数生成部43は、subtractが0より小さい場合、すなわちsubtractの正負判定結果が負の場合は(S740“YES”)、演算結果であるresult[m]の値を0とし(S765)、次の被除数である次被除数決定のための準備データpre_data = 現被除数とする(S765)。
次に、次被除数生成部43は、初期残データのビット列mが 0であるか否かの判定を行い(S770)、m=0でない場合(S770“no”)、初期残データのビット列mを次にシフトとした後(S780)、次被除数を以下の式(2)により求め(S790)、S730へ戻る。
次被除数 = [ pre_data, remain[m] ]…式(2)
なお、上記式(2)式の[,]は、ビットの連結を意味している。すなわち、[a,b]は、aの値をMSB側へ、bの値をLSB側へそれぞれ連結することを意味する。
以上のようなステップ730〜790までの処理を、残データのビット列mが0になるまで繰り返し行う。
そして、残データのビット列mが0になった場合(S770“YES”)、次被除数生成部43は、演算結果であるresult[m:0]を、演算処理結果として出力制御部5へ出力する(S795)。
出力制御部5では、入力制御部1からの除数正負判定結果と、演算テーブル部3からのテーブル使用情報と、演算テーブル部3からのテーブル読出し結果あるいは演算処理部4からの演算処理結果とを入力して、商を出力する。
図8は、出力制御部5の処理手順の一例を示すフローチャートである。
出力制御部5では、まず、図4に示すように、SB商選択部51が演算テーブル部3からのテーブル使用情報が1(演算テーブル31使用)か0(演算テーブル31不使用)かを判断する(S810)。そして、テーブル使用情報が1(演算テーブル使用)の場合(S810“YES”)、SB商選択部51は、演算結果として演算テーブル部3からのテーブル読出し結果を選択する一方(S820)、テーブル判定が0(演算テーブル不使用)の場合は、演算結果として演算処理部4からの演算処理結果を選択する(S830)。
次に、出力制御部5の2の補数化部52は、入力制御部1からの除数正負判定結果に基づいて除数正負判定が負か否かを判断し(S840)、除数正負判定が負の場合(S840“YES”)、演算結果を負に戻す処理を行うため、2の補数処理、すなわち演算結果のビット反転に1を足して商とする(S850)。その一方、除数正負判定が正の場合(S840“no”)、出力制御部5は、演算結果をそのまま商として出力する(S860)。
図9は、図6に示す演算テーブル31をテーブル算出に用いた場合における本実施の形態の除算装置の動作やデータのタイミング等を示すタイミングチャートである。
図9において、横方向は、時間であり、1サイクル目(1サイクル時間はTである。)、2サイクル目、3サイクル目、…、Xサイクル目、X+1サイクル目、…、X+10サイクル目、X+11サイクル目までを示している。
また、図9において、縦方向は、本実施の形態の除算装置における動作やデータを、上から処理の順番に示しており、まず、本装置に入力する除数が、SB化除数となり、除数正負判定、除数ビット幅、演算テーブル出力、テーブル使用判定、初期残データのビット列m、remain[9:0]、被除数[5:0]、subtract[15:0]、pre_data、result[10:0]、商[15:0]を示す。
ここで、1サイクル目〜3サイクル目までと、X+11サイクル目は、テーブル判定情報の1(演算テーブル使用)に示すように、演算テーブル部3により演算テーブル31を用いたテーブル読出し結果が演算結果として用いられている。これに対し、Xサイクル目からX+9サイクル目は、テーブル判定情報の0(演算テーブル不使用)に示すように、演算処理部4の演算結果を用いる。
なお、ここでは、SB化除数の有効ビット数pは5ビットで、演算テーブル31は5ビットまでのSB化除数に対応する商を記憶し、原則として、5ビットの有効ビット数によりテーブル使用・不使用を判断するようにしている。また、被除数が10進法の16384(dec)で、そのビット数qは15ビットとして説明する。
さて、1サイクル目、2サイクル目、3サイクル目、…には、それぞれ、SB化除数として、0x0、0x1、0x2が入力するが(16進数表記)、Xサイクル目では、SB化除数に0x14が入力され、X+10サイクル目まで除数に0x14が入力される。
除数の0x14は、有効ビット数の4ビットに当てはまらないため、この例では、演算処理部4が演算処理を行った結果が商として用いられることになる。
つまり、まず、Xサイクル目において、SB化除数が0x14で、その有効ビット数が5bitであり、被除数のビット数が15ビットであるので、上記式(1)式を用いて、m=q−p、すなわち、m=10となる。
被除数の16384(dec)は、0x4000であることから、remain[9:0]=0x0である。現被除数は、SB化除数が5bitなので0x10、現被除数からSB化除数を引いた値subtractは、0xfffcとなり、負の値をとる。そのため、次被除数を決定するための準備データpre_dataは現被除数をそのまま用いる。その結果、result[10]=0となる。
次に、x+1サイクル目において、m=9になり、次被除数は上記式(2)より、0x20、現被除数からSB化除数を引いた値subtractは、0xcとなり、正の値をとるので、subtract正負判定は正となる。したがって、result[9]=1となる。
また、次被除数を決定するための準備データpre_dataは、subtractの値がそのまま利用されるため、0xcを用いる。
次に、x+2サイクル目において、m=8になり、次被除数は、上記式(3)を用いて、0x18と算出できる。
その後は、m=0になるまで同一の計算を行い、m=0の時のresultの値を2の補数化することで、商が得られる。なお、この場合、除数が正なのでresultの値がそのまま商となる。
従って、本実施の形態の除算装置によれば、所定ビット数までのSB化除数と所定ビット数までのSB化除数により固定の被除数を除算した結果である商とを予め対応させて記憶した演算テーブル31を備え、SB化除数の有効ビット数が所定ビット数までである場合、演算テーブル31を使用して商を出力する一方、SB化除数の有効ビット数が所定のビット数より大きい場合、SB化除数により被除数を除算して商を出力するようにしたので、SB化除数の有効ビット数が所定の有効ビット範囲であれば、演算テーブル31からの読み出しにより除算演算を行うことなく商を簡単に求めることが可能となり、小規模ハードウェアで高速除算することができる。
また、本実施の形態1では、演算テーブル31には、1ビットから所定ビット数までのSB化除数と、所定ビット数までのSB化除数により固定の被除数を除算したことを示す商とを対応させて記憶するようにしたので、演算テーブル31には、いわゆるシフト型除算にて繰り返し行われる除数全ビットの減算回数が多いビット数の短い除数のものを予め記憶するようにしたので、この点でも、シフト型除算にて除数全ビットで行われる繰り返し減算の回数を減らすことが可能となり、除算の高速化が可能となる。
特に、本実施の形態1では、図6に示すように、演算テーブル31には、所定ビット数までのSB化除数と所定ビット数までのSB化除数により固定の被除数を除算したことを示す商だけでなく、SB化除数が8や、16、32、64、128、…、等の2の乗数である場合にも、被除数を1ビットづつずらした値を予め記憶するようにしたので、SB化除数が2の乗数である場合も、演算テーブル31からの読み出しにより除算演算を行うことなく商を簡単に求めることが可能となり、この点でも、小規模ハードウェアで高速除算することができる。
また、上記実施の形態1の説明では、演算テーブル部3が演算テーブル31を使用してSB化除数に対応した商のテーブル値を読み出した場合、テーブル使用情報を出力制御部5へ出力して、出力制御部5に演算テーブル31の使用の有無を知らせるように説明したので、演算処理部3は、常にSB化除数により被除数を除算してその結果を出力制御部5へ出力するようにしても勿論よい。この場合、出力制御部5は、演算テーブル部3よりテーブル使用情報として1(テーブル使用)が入力した場合には、演算処理部3からの演算処理結果が入力しても無視して演算テーブル部3からのテーブル値を選択するようにすれば良い。
なお、上述したように、有効ビット数が所定ビット数内である場合、演算処理部4はSB化除数により被除数を除算処理せず、演算テーブル部3が演算テーブル31を参照してテーブル値を商として出力する一方、有効ビット数が所定ビット数より大きい場合、演算テーブル部3はテーブル値を出力せず、演算処理部4がSB化除数により被除数を除算処理して演算処理結果を商として出力する場合には、有効ビット数が所定ビット数内であるか否かにより、演算テーブル部3か演算処理部4のいずれか一方のみからテーブル値または演算処理結果が出力制御部5へ入力しないので、この場合には、テーブル使用情報を省略するようにしても良い。
1 入力制御部
2 有効ビット数判定部
3 演算テーブル部
4 演算処理部
5 出力制御部
2 有効ビット数判定部
3 演算テーブル部
4 演算処理部
5 出力制御部
Claims (3)
- 予め固定された自然数の被除数を除数により除算する除算装置であって、
前記除数が正か負かを判定すると共に、前記判定結果に従って前記除数をストレートバイナリ化し、ストレートバイナリ化した前記SB化除数と、前記正負判定結果を出力する入力制御部と、
前記SB化除数の有効ビット数を判定する有効ビット数判定部と、
所定ビット数までのSB化除数と、所定ビット数までのSB化除数により前記被除数を除算した結果である商とを予め対応させて記憶した演算テーブルを備え、前記入力制御部からの前記SB化除数と、前記有効ビット数判定部によって判定された前記SB化除数の有効ビット数とを入力し、前記SB化除数の有効ビット数が前記所定ビット数までである場合、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力する演算テーブル部と、
前記入力制御部からの前記SB化除数と、前記有効ビット数判定部によって判定された前記SB化除数の有効ビット数とを入力し、前記SB化除数の有効ビット数が前記所定のビット数より大きい場合、前記入力したSB化除数により前記被除数を除算して商を出力する演算処理部と、
前記演算テーブル部からの前記商、または前記演算処理部からの前記商を入力して、前記入力制御部からの前記正負判定結果が負を示している場合、前記商を反転処理して出力する出力制御部と、
を有する除算装置。 - 請求項1記載の除算装置において、
前記演算テーブル部は、前記SB化除数の有効ビット数が前記所定ビット数までである場合、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力すると共に、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力したことを示すテーブル使用情報を出力し、
前記出力制御部は、前記演算テーブル部からの前記テーブル使用情報と、前記演算テーブル部からの前記商あるいは前記演算処理部からの前記商とを入力して、前記テーブル使用情報が前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力したことを示している場合には、前記演算テーブル部からの前記商を選択する一方、前記テーブル使用情報が前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力したことを示していない場合には、前記演算処理部からの前記商を選択し、前記入力制御部からの前記正負判定結果が負を示している場合、前記商を反転処理して出力する、除算装置。 - 予め固定された自然数の被除数を除数により除算する除算方法であって、
前記除数が正か負かを判定すると共に、前記判定結果に従って前記除数をストレートバイナリ化し、ストレートバイナリ化した前記SB化除数と、前記正負判定結果を出力するステップ、
前記SB化除数の有効ビット数を判定するステップと、
所定ビット数までのSB化除数と、所定ビット数までのSB化除数により前記被除数を除算した結果である商とを予め対応させて記憶した演算テーブルを備え、前記入力制御部からの前記SB化除数と、前記有効ビット数判定部によって判定された前記SB化除数の有効ビット数とを入力し、前記SB化除数の有効ビット数が前記所定ビット数までである場合、前記演算テーブルを参照して前記入力したSB化除数に対応する商を出力するステップと、
前記入力制御部からの前記SB化除数と、前記有効ビット数判定部によって判定された前記SB化除数の有効ビット数とを入力し、前記SB化除数の有効ビット数が前記所定のビット数より大きい場合、前記入力したSB化除数により前記被除数を除算して商を出力するステップと、
前記演算テーブル部からの前記商、または前記演算処理部からの前記商を入力して、前記入力制御部からの前記正負判定結果が負を示している場合、前記商を反転処理して出力するステップと、
を有する除算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006193325A JP2008021189A (ja) | 2006-07-13 | 2006-07-13 | 除算装置および除算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006193325A JP2008021189A (ja) | 2006-07-13 | 2006-07-13 | 除算装置および除算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008021189A true JP2008021189A (ja) | 2008-01-31 |
Family
ID=39077062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006193325A Pending JP2008021189A (ja) | 2006-07-13 | 2006-07-13 | 除算装置および除算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008021189A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399725A (zh) * | 2013-08-08 | 2013-11-20 | 中国科学院自动化研究所 | 一种不恢复余数的除法器 |
-
2006
- 2006-07-13 JP JP2006193325A patent/JP2008021189A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399725A (zh) * | 2013-08-08 | 2013-11-20 | 中国科学院自动化研究所 | 一种不恢复余数的除法器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Takagi | Powering by a table look-up and a multiplication with operand modification | |
JP2006227939A (ja) | 演算装置 | |
KR20120053344A (ko) | 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법 | |
JP2001222410A (ja) | 除算器 | |
US6898615B2 (en) | Signal processing unit and signal processing method including using an exponent part and a mantissa part for power generation | |
JP2007163318A (ja) | レーダ信号処理装置とその一定誤警報確率検出方法 | |
JP2008021189A (ja) | 除算装置および除算方法 | |
KR20050065976A (ko) | Sha-1 해쉬값 연산 장치 및 방법 | |
JP2008257407A (ja) | 対数演算器及び対数演算方法 | |
JP4696920B2 (ja) | Dds信号発生装置 | |
JP3941868B2 (ja) | 計算装置及び計算方法 | |
JP2010102431A (ja) | 浮動小数点数演算回路と浮動小数点演算方法及びサーボ制御装置 | |
JP2005228169A (ja) | 乱数生成装置 | |
JP4163967B2 (ja) | 浮動小数点演算装置 | |
JP3286990B2 (ja) | ディジタルシグナルプロセッサ | |
CN113391787B (zh) | 一种除法器及除法处理方法 | |
JP2000081968A (ja) | 逆数演算装置 | |
JP2009089343A (ja) | 角度計算方法及び関連回路 | |
JP3722821B2 (ja) | 演算方法 | |
JP2004178188A (ja) | 演算方法、平方根演算方法、累乗根演算方法、累乗演算方法及びg/h乗演算方法 | |
JP2607759B2 (ja) | 除算器 | |
JP2000010763A (ja) | 除算回路 | |
JP2009282684A (ja) | 浮動小数演算器及びdda演算処理方法 | |
JP2008097194A (ja) | 逆数算出装置、逆数算出方法、及び逆数算出プログラム | |
JP2019175225A (ja) | 出力値生成回路、プロセッサ、出力値生成方法、及びプログラム |