JP2008003893A - 整数型除算器 - Google Patents
整数型除算器 Download PDFInfo
- Publication number
- JP2008003893A JP2008003893A JP2006173577A JP2006173577A JP2008003893A JP 2008003893 A JP2008003893 A JP 2008003893A JP 2006173577 A JP2006173577 A JP 2006173577A JP 2006173577 A JP2006173577 A JP 2006173577A JP 2008003893 A JP2008003893 A JP 2008003893A
- Authority
- JP
- Japan
- Prior art keywords
- output
- remainder
- signal line
- selector
- dividend
- 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セレクタと、前段のセレクタの出力から除数の減算を行い、減算結果とキャリーを得る第1、第2減算器と、キャリーに応じて減算結果かセレクタの出力を選択し、下位ビットに被除数の所定のビットを挿入する第2、第3セレクタと、制御信号に応じて第3セレクタの出力を所定の期間ラッチし中間剰余として第1セレクタに供給するラッチ回路と、第2セレクタの出力を所定の期間ラッチし剰余として出力する剰余出力回路と、第1、第2減算器のキャリーから商を生成し出力する商生成回路とを具備した整数型除算器とする。
【選択図】図1
【解決手段】前の演算結果の剰余か被除数を選択する第1セレクタと、前段のセレクタの出力から除数の減算を行い、減算結果とキャリーを得る第1、第2減算器と、キャリーに応じて減算結果かセレクタの出力を選択し、下位ビットに被除数の所定のビットを挿入する第2、第3セレクタと、制御信号に応じて第3セレクタの出力を所定の期間ラッチし中間剰余として第1セレクタに供給するラッチ回路と、第2セレクタの出力を所定の期間ラッチし剰余として出力する剰余出力回路と、第1、第2減算器のキャリーから商を生成し出力する商生成回路とを具備した整数型除算器とする。
【選択図】図1
Description
本発明は、整数型除算器に係り、特に演算回路における消費電力の集中を避ける繰り返し型整数型除算器に関する。
近年、ビデオカメラで撮影して得た動画の映像信号をビデオテープや光ディスク、ハードディスク、あるいは半導体メモリ等の記録媒体にデジタル記録する可搬性を持ったビデオ撮像装置が広く普及している。
通常、このようなビデオ撮像装置では、記録時間を延ばす目的から映像信号に含まれる冗長性を減らすような圧縮加工を行ない、記録する信号のデータ量を少なくしている。このとき用いる圧縮加工の技術としてはMPEGやJPEGと呼ばれる圧縮方式が良く知られており、こうした圧縮方式には、映像信号をデジタル画像データにした後に離散コサイン変換などで周波数成分の情報信号に変換する直交変換を行う信号処理が含まれ、この処理過程には除算を含む演算回路が必要となる。他にも画像の動きベクトルの算出等に除算の演算回路が必要になるなど、ビデオ撮像装置に用いる画像処理回路には除算器が不可欠である。
通常、このようなビデオ撮像装置では、記録時間を延ばす目的から映像信号に含まれる冗長性を減らすような圧縮加工を行ない、記録する信号のデータ量を少なくしている。このとき用いる圧縮加工の技術としてはMPEGやJPEGと呼ばれる圧縮方式が良く知られており、こうした圧縮方式には、映像信号をデジタル画像データにした後に離散コサイン変換などで周波数成分の情報信号に変換する直交変換を行う信号処理が含まれ、この処理過程には除算を含む演算回路が必要となる。他にも画像の動きベクトルの算出等に除算の演算回路が必要になるなど、ビデオ撮像装置に用いる画像処理回路には除算器が不可欠である。
画像処理回路は映像信号をリアルタイムで圧縮信号に変換しなくてはならないので高速性が要求される。そのため、従来から画像処理回路に使用される除算器は高速化を図るための改良技術が数多く提案されている(例えば、下記特許文献1参照)。
従来、除算器等の演算回路は高速であればある程画像処理能力が高まるので良しとしているが、一方、高速化されると演算時に消費電力が集中する問題が発生する。殊に可搬性を持ったビデオ撮像装置の駆動電源にはバッテリーが使用されるので、消費電力にピークがあるとそれに合わせてバッテリー容量を勘案しなければならなくなる。そのため、このような装置の消費電力はピークが出ないように平均化されることが望ましい。
従来、除算器等の演算回路は高速であればある程画像処理能力が高まるので良しとしているが、一方、高速化されると演算時に消費電力が集中する問題が発生する。殊に可搬性を持ったビデオ撮像装置の駆動電源にはバッテリーが使用されるので、消費電力にピークがあるとそれに合わせてバッテリー容量を勘案しなければならなくなる。そのため、このような装置の消費電力はピークが出ないように平均化されることが望ましい。
ここで従来の整数型除算器の基本構成と動作を簡単に説明する。図2は従来の整数型除算器の基本構成を示すブロック図である。なお、図2では5ビット整数を任意の整数で除算する例を示している。
同図において、被除数Rjが信号線210を介して第1の加算器240の一方の入力端と第1のセレクタ260の一方の入力端とに供給されている。除数Dの2の補数が信号線220を介して第1の加算器240と第2の加算器241、第3の加算器242、第4の243、第5の加算器244の他方の入力端に夫々接続されている。
第1の加算器240の加算出力は信号線250を介して第1のセレクタ260の他方の入力端に接続され、またキャリー出力は信号線230を介して第1のセレクタ260の制御入力端に接続されている。
同図において、被除数Rjが信号線210を介して第1の加算器240の一方の入力端と第1のセレクタ260の一方の入力端とに供給されている。除数Dの2の補数が信号線220を介して第1の加算器240と第2の加算器241、第3の加算器242、第4の243、第5の加算器244の他方の入力端に夫々接続されている。
第1の加算器240の加算出力は信号線250を介して第1のセレクタ260の他方の入力端に接続され、またキャリー出力は信号線230を介して第1のセレクタ260の制御入力端に接続されている。
第1のセレクタ260の出力端は信号線211を介して第2の加算器241の一方の入力端に接続されており、第2の加算器241の加算出力は信号線251を介して第2のセレクタ261の他方の入力端に接続され、またキャリー出力は信号線231を介して第2のセレクタ261の制御入力端に接続されている。
以下同様な従属接続により、第5のセレクタ264の出力端に接続されている信号線215には除算の「剰余」が出力される。又、第1の加算器240のキャリー出力は信号線230を、第2の加算器241のキャリー出力は信号線231を、第3の加算器242のキャリー出力は信号線232を、第4の加算器243のキャリー出力は信号線233を、第5の加算器244のキャリー出力は信号線234を介して夫々信号線235に接続され、これらのキャリー出力は連結が行われ除算の「商」として出力される。
以下同様な従属接続により、第5のセレクタ264の出力端に接続されている信号線215には除算の「剰余」が出力される。又、第1の加算器240のキャリー出力は信号線230を、第2の加算器241のキャリー出力は信号線231を、第3の加算器242のキャリー出力は信号線232を、第4の加算器243のキャリー出力は信号線233を、第5の加算器244のキャリー出力は信号線234を介して夫々信号線235に接続され、これらのキャリー出力は連結が行われ除算の「商」として出力される。
次に、図2に示す従来の整数型除算器の動作について説明する。まず被除数Rjの最上位ビットが信号線210に供給される。一方、信号線220には除数の2の補数が供給され、第1の加算器240は信号線210の被除数Rjの最上位の1ビットと信号線220の除数の2の補数とを加算する。第1の加算器240において被除数から除数が引けない時にはキャリー出力が信号線230に出力されない。この場合、第1のセレクタ260は信号線210から供給される被除数Rjの上位2ビットを信号線211を介して第2の加算器241の一方の入力端に出力する。
一方、第1の加算器240において被除数から除数が引け、キャリー出力が信号線230に出力されると信号線250に加算結果が出力される。この場合には、第1のセレクタ260はこの加算結果を1ビットシフトし、この加算結果の最下位ビットに信号線210の被除数Rjの次の上位の1ビットを挿入し、信号線211を介して第2の加算器241の一方の入力端に出力する。
この後、第1のセレクタ260からの信号線211の出力と信号線220からの除数の2の補数とが第2の加算器241で加算される。第2の加算器241において、被除数から除数が引けずキャリー出力が信号線231に出力されない場合には、信号線211の出力が第2のセレクタ261で選択され、又、被除数から除数が引けキャリー出力が信号線231に出力された場合には加算結果が選択され、1ビットシフトして最下位ビットに信号線211の被除数Rjの更に次の上位の1ビットを挿入して信号線212に出力する。
以下同様に、第3の加算器242、第4の加算器243、第5の加算器244と演算が実行され、この結果、信号線235に出力される「商」と信号線215に出力される「剰余」が得られ除算を完了する。
特開平6−259231号公報
この後、第1のセレクタ260からの信号線211の出力と信号線220からの除数の2の補数とが第2の加算器241で加算される。第2の加算器241において、被除数から除数が引けずキャリー出力が信号線231に出力されない場合には、信号線211の出力が第2のセレクタ261で選択され、又、被除数から除数が引けキャリー出力が信号線231に出力された場合には加算結果が選択され、1ビットシフトして最下位ビットに信号線211の被除数Rjの更に次の上位の1ビットを挿入して信号線212に出力する。
以下同様に、第3の加算器242、第4の加算器243、第5の加算器244と演算が実行され、この結果、信号線235に出力される「商」と信号線215に出力される「剰余」が得られ除算を完了する。
図2に示す従来の整数型除算器の場合、被除数Rjと除数Dの2の補数とが印加されると加算器ADD0からADD4までの全加算器が一斉に動作を始める。このために各加算器が消費する電力が集中し、消費電力がピークを示すという問題を有している。
又、特許文献1に記載の除算器は、独自の回路構成と動作制御によって、これまでより高速に除算が行われるように工夫がなされているものであるが、高速処理であるためにマクロ的には内部の演算回路がすべて同時に演算処理を行っている状態になるものであり、このため演算時には顕著に消費電力の集中が起きる問題を有している。
こうしたことから、電源に瞬間的に大きな負担がかかるので、バッテリー駆動のビデオ撮像装置で使用する画像処理回路に従来の除算器を用いることは望ましくない。
又、特許文献1に記載の除算器は、独自の回路構成と動作制御によって、これまでより高速に除算が行われるように工夫がなされているものであるが、高速処理であるためにマクロ的には内部の演算回路がすべて同時に演算処理を行っている状態になるものであり、このため演算時には顕著に消費電力の集中が起きる問題を有している。
こうしたことから、電源に瞬間的に大きな負担がかかるので、バッテリー駆動のビデオ撮像装置で使用する画像処理回路に従来の除算器を用いることは望ましくない。
画像処理回路に用いる除算器は使用目的により特に高速性は必要ではなく、むしろ消費電力が平均化されることが重要になる場合がある。この場合、所定のクロックサイクル数で演算が終了すれば良いのであるが、従来の除算器の場合には演算速度を任意に制御することができない問題を有している。
本発明は、このような従来の問題点に鑑みなされたものであり、整数型除算器に使用する加算器の数を減らして省電力化を図ると共に、不必要な高速化を避け、各加算器の演算が集中しないよう任意のサイクル期間を使って順次演算するように制御することで電力消費の平均化ができ、使用する装置のバッテリー負担が軽減できる整数型除算器を提供することを目的とする。
本発明は、このような従来の問題点に鑑みなされたものであり、整数型除算器に使用する加算器の数を減らして省電力化を図ると共に、不必要な高速化を避け、各加算器の演算が集中しないよう任意のサイクル期間を使って順次演算するように制御することで電力消費の平均化ができ、使用する装置のバッテリー負担が軽減できる整数型除算器を提供することを目的とする。
本発明は、上記課題を解決する手段として以下に記載の構成からなる。すなわち、
入力データに基づいた被除数と除数で除算を行って商と剰余を算出し、算出された剰余を再び被除数として入力し前記除数で除算することを繰り返す整数型除算器において、装置内の動作を制御する制御信号を出力する制御手段と、前記制御信号に応じて前の演算で得られた剰余か若しくは前記入力された被除数の所定ビットのいずれかを選択してデータを出力する第1のセレクト手段と、前記第1のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余と減算できたことを示すキャリーデータを出力する第1の減算手段と、前記第1の減算手段から出力されたキャリーデータに応じて前記第1の減算手段からの剰余か若しくは前記第1のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第2のセレクト手段と、前記第2のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余とキャリーデータを出力する第2の減算手段と、前記第2の減算手段から出力されたキャリーデータに応じて前記第2の減算手段からの剰余か若しくは前記第2のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第3のセレクト手段と、前記制御信号に応じて前記第3のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を中間剰余として前記第1のセレクト手段に供給する中間剰余ラッチ手段と、前記制御信号に応じて前記第2若しくは第3のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を除算の最終剰余として出力する剰余出力手段と、前記制御信号に応じて前記第1及び第2減算手段から出力されるキャリーデータを合成し除算の商を生成して出力する商生成手段とを具備したことを特徴とする整数型除算器を提供する。
入力データに基づいた被除数と除数で除算を行って商と剰余を算出し、算出された剰余を再び被除数として入力し前記除数で除算することを繰り返す整数型除算器において、装置内の動作を制御する制御信号を出力する制御手段と、前記制御信号に応じて前の演算で得られた剰余か若しくは前記入力された被除数の所定ビットのいずれかを選択してデータを出力する第1のセレクト手段と、前記第1のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余と減算できたことを示すキャリーデータを出力する第1の減算手段と、前記第1の減算手段から出力されたキャリーデータに応じて前記第1の減算手段からの剰余か若しくは前記第1のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第2のセレクト手段と、前記第2のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余とキャリーデータを出力する第2の減算手段と、前記第2の減算手段から出力されたキャリーデータに応じて前記第2の減算手段からの剰余か若しくは前記第2のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第3のセレクト手段と、前記制御信号に応じて前記第3のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を中間剰余として前記第1のセレクト手段に供給する中間剰余ラッチ手段と、前記制御信号に応じて前記第2若しくは第3のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を除算の最終剰余として出力する剰余出力手段と、前記制御信号に応じて前記第1及び第2減算手段から出力されるキャリーデータを合成し除算の商を生成して出力する商生成手段とを具備したことを特徴とする整数型除算器を提供する。
本発明に係る請求項1によれば、加算器の数を減らして省電力化が図れると共に、従来の除算器が演算の高速化のためにマクロ的に見ると瞬時に演算が完了し、この間に電力消費が集中しているのに対して、本発明では、不必要な高速化を避け、加算器の演算が集中しないよう時間をかけて所定のサイクル数で演算が完了するように制御をすることが可能であるので、電力消費にピークが発生せず平均化される特徴がある。これにより、本発明をバッテリ駆動の携帯型機器に適用すれば、瞬間的な電力消費が集中しなくなるのでバッテリーの電流負担を軽減することが可能となる。
以下、本発明の実施形態に係る整数型除算器について、図面を参照して説明する。
図1は本発明に係る整数型除算器の基本構成を示すブロック図である。なお、図1の構成は5ビットの被除数を任意のビット数で除算し、且つ3サイクル期間で除算を完了する例を示している。
図1は本発明に係る整数型除算器の基本構成を示すブロック図である。なお、図1の構成は5ビットの被除数を任意のビット数で除算し、且つ3サイクル期間で除算を完了する例を示している。
まず本発明に係る整数型除算器の構成を説明する。同図において、被除数Rjは信号線101を介して第1のセレクタ159の一方の入力端に供給されている。第1のセレクタ159の他方の入力端には信号線191を介して後述のラッチ回路170からの「中間剰余」が入力される。又、セレクタ159の制御端には制御信号線182を介してクロックサイクル毎の動作を制御する有限状態マシン回路180からの制御信号が入力されている。セレクタ159の出力端は信号線110を介して第1の加算器140と第2のセレクタ160の夫々の一方の入力端に接続されている。なお、上記有限状態マシン回路180はマイクロシーケンサに置き換えることも可能である。
除数Dの2の補数は信号線120を介して第1の加算器140と第2の加算器141の夫々の他方の入力端に接続されている。
第1の加算器140の加算出力は信号線150を介して第2のセレクタ160の他方の入力端に接続され、またキャリー出力は信号線130を介して第2のセレクタ160の制御入力端と後述の商生成回路172の入力端に接続されている。
第2のセレクタ160の出力端は信号線111を介して第2の加算器141と第3のセレクタ161の夫々の一方の入力端、及び後述の剰余出力回路173に供給されている。第2の加算器141の加算出力は信号線151を介して第3のセレクタ161の他方の入力端に接続され、またキャリー出力は信号線131を介して第3のセレクタ161の制御入力端に供給されている。
第1の加算器140の加算出力は信号線150を介して第2のセレクタ160の他方の入力端に接続され、またキャリー出力は信号線130を介して第2のセレクタ160の制御入力端と後述の商生成回路172の入力端に接続されている。
第2のセレクタ160の出力端は信号線111を介して第2の加算器141と第3のセレクタ161の夫々の一方の入力端、及び後述の剰余出力回路173に供給されている。第2の加算器141の加算出力は信号線151を介して第3のセレクタ161の他方の入力端に接続され、またキャリー出力は信号線131を介して第3のセレクタ161の制御入力端に供給されている。
第3のセレクタ161の出力は「中間剰余」として信号線112を介してラッチ回路170に接続されており、ラッチ回路170の出力は信号線191を介して前述の第1のセレクタ159の一方の入力端に供給される。
又、第1の加算器140のキャリー出力は信号線130を介し、第2の加算器141のキャリー出力は信号線131を介して夫々信号線132に接続され、これらのキャリー出力は連結して除算の「中間商」としてラッチ回路171に入力されている。ラッチ回路171の出力は信号線192を介して除算の商を生成する商生成回路172の一方の入力端に接続されている。このラッチ回路170とラッチ回路171のラッチのタイミングと期間は夫々制御信号線183と184を介して供給される有限状態マシン回路180からの制御信号で制御される。
又、第1の加算器140のキャリー出力は信号線130を介し、第2の加算器141のキャリー出力は信号線131を介して夫々信号線132に接続され、これらのキャリー出力は連結して除算の「中間商」としてラッチ回路171に入力されている。ラッチ回路171の出力は信号線192を介して除算の商を生成する商生成回路172の一方の入力端に接続されている。このラッチ回路170とラッチ回路171のラッチのタイミングと期間は夫々制御信号線183と184を介して供給される有限状態マシン回路180からの制御信号で制御される。
前述したように商生成回路172の他方の入力端には信号線130を介して第1の加算器140のキャリー出力が入力されており、このラッチ回路171から入力された「中間商」との両入力から商生成回路172の出力端の信号線193には除算の「商」が得られる。なお、商生成回路172の制御端には信号線185を介して有限状態マシン回路180からの制御信号が供給されている。
一方、第2のセレクタ160の出力が信号線111を介して供給される剰余出力回路173は制御信号線186を介して供給される有限状態マシン回路180からの制御信号で所定の期間ラッチされて信号線194に除算の「剰余」が得られる。
一方、第2のセレクタ160の出力が信号線111を介して供給される剰余出力回路173は制御信号線186を介して供給される有限状態マシン回路180からの制御信号で所定の期間ラッチされて信号線194に除算の「剰余」が得られる。
次に、本発明に係る整数型除算器の動作について説明する。
被除数Rjが信号線101に接続され第1のセレクタ159の一方の入力端に供給されており、除数Dの2の補数が信号線120に接続され第1の加算器140と第2の加算器141の夫々の入力端に供給されている。
第1のサイクルでは、第1のセレクタ159は制御信号線182を介して有限状態マシン回路180から供給された制御信号に応じて被除数Rjの最上位ビットが選択されて信号線110に出力される。第1の加算器140はこの信号線110から入力された被除数Rjの最上位の1ビットと信号線120の除数Dの2の補数とを加算する。第1の加算器140において被除数から除数が引けない時にはキャリー出力が信号線130に出力されない。この場合、第2のセレクタ160は信号線110から供給される被除数を1ビットシフトし、最下位ビットに信号線101の被除数Rjの次の上位の1ビットを挿入し、信号線111を介して第2の加算器141の一方の入力端に出力する。
被除数Rjが信号線101に接続され第1のセレクタ159の一方の入力端に供給されており、除数Dの2の補数が信号線120に接続され第1の加算器140と第2の加算器141の夫々の入力端に供給されている。
第1のサイクルでは、第1のセレクタ159は制御信号線182を介して有限状態マシン回路180から供給された制御信号に応じて被除数Rjの最上位ビットが選択されて信号線110に出力される。第1の加算器140はこの信号線110から入力された被除数Rjの最上位の1ビットと信号線120の除数Dの2の補数とを加算する。第1の加算器140において被除数から除数が引けない時にはキャリー出力が信号線130に出力されない。この場合、第2のセレクタ160は信号線110から供給される被除数を1ビットシフトし、最下位ビットに信号線101の被除数Rjの次の上位の1ビットを挿入し、信号線111を介して第2の加算器141の一方の入力端に出力する。
一方、第1の加算器140において被除数から除数が引け、キャリー出力が信号線130に出力されると信号線150に加算結果が出力される。この場合には第2のセレクタ160はこの加算結果を1ビットシフトし、この加算結果の最下位ビットに信号線101の被除数Rjの次の上位の1ビットを挿入し、信号線111を介して第2の加算器141の一方の入力端に出力する。
次いで、信号線111を介して入力された第2のセレクタ160からの出力と信号線120からの除数Dの2の補数とが第2の加算器141で加算される。第2の加算器141において、被除数から除数が引けずにキャリー出力が信号線131に出力されない場合には信号線111の出力が第3のセレクタ161で選択され、又、被除数から除数が引けキャリー出力が信号線131に出力された場合には、信号線151に加算結果が出力されるので、第3のセレクタ161はこの加算結果を選択する。次いで1ビットシフトして最下位ビットに信号線111の被除数Rjの更に次の上位1ビットを挿入して信号線112を介して出力する。
これらの動作により被除数Rjの上位2ビットに関する除算が終了し、信号線112には除算の「中間剰余」が出力されてラッチ170に格納される。
又、第1の加算器140と第2の加算器141のキャリー出力が接続されている信号線132には、キャリーの発生があったか否かで判別される「中間商」が得られてラッチ171に格納される。
又、第1の加算器140と第2の加算器141のキャリー出力が接続されている信号線132には、キャリーの発生があったか否かで判別される「中間商」が得られてラッチ171に格納される。
次に、第2のサイクルでは、制御信号線182を介して有限状態マシン回路180から供給された制御信号により、第1のセレクタ159では信号線191を介して供給された「中間剰余」が選択される。その後は前記過程と同様に第1の加算器140と第2の加算器141により被除数Rjの3ビット目と4ビット目の演算が実行され、その結果である「中間商」と「中間剰余」はラッチ回路171と同170に夫々格納される。
次いで、第3のサイクルでは、制御信号線182を介して有限状態マシン回路180から供給された制御信号により、第1のセレクタ159では信号線191を介して供給されたすでに完了した上位4ビットの「中間剰余」が選択され、被除数Rjの最下位ビット(5ビット目)を付加したデータが被除数として信号線110に供給される。
信号線120には、除数Dの2の補数が供給されているので、第1の加算器140はこの信号線110の上記の中間剰余と被除数Rjの最下位ビットを付加したデータと信号線120の除数Dの2の補数とを加算する。
信号線120には、除数Dの2の補数が供給されているので、第1の加算器140はこの信号線110の上記の中間剰余と被除数Rjの最下位ビットを付加したデータと信号線120の除数Dの2の補数とを加算する。
第1の加算器140において被除数から除数が引けない時には、キャリー出力が信号線130に出力されない。この場合、第2のセレクタ160は信号線110から供給される被除数を出力信号線111に出力する。
一方、キャリー出力が信号線130に出力されると、出力信号線150に加算結果が出力されるので、この場合には、第2のセレクタ160はこの加算結果を信号線111に出力する。また、信号線130に出力された第1の加算器140のキャリー信号は、信号線192のこれまでの「中間商」を1ビットシフトした値と最終の商を生成する商生成回路172でビットの連結が行われ除算の最終の「商」として信号線193に出力される。
一方、キャリー出力が信号線130に出力されると、出力信号線150に加算結果が出力されるので、この場合には、第2のセレクタ160はこの加算結果を信号線111に出力する。また、信号線130に出力された第1の加算器140のキャリー信号は、信号線192のこれまでの「中間商」を1ビットシフトした値と最終の商を生成する商生成回路172でビットの連結が行われ除算の最終の「商」として信号線193に出力される。
一方、第2のセレクタ160の出力は除算の最終の「剰余」として、信号線111を介して剰余出力回路173に供給され、ここで制御信号線186を介して供給される有限状態マシン回路180からの制御信号で所定の期間ラッチ制御されて信号線194に「剰余」が出力される。
以上により5ビットの被除数を任意のビット数で割り商と剰余を算出する除算が完了する。なお、被除数が5ビット以上の奇数ビットの場合には繰り返し数を増すことで同様の動作が適用可能である。又、被除数が偶数ビットの場合には、除算の最終の「剰余」として信号線112に出力される「剰余」を剰余出力回路173に供給するように構成を変えるとよい。
以上により5ビットの被除数を任意のビット数で割り商と剰余を算出する除算が完了する。なお、被除数が5ビット以上の奇数ビットの場合には繰り返し数を増すことで同様の動作が適用可能である。又、被除数が偶数ビットの場合には、除算の最終の「剰余」として信号線112に出力される「剰余」を剰余出力回路173に供給するように構成を変えるとよい。
有限状態マシン回路180は要求仕様に応じたサイクル数にて演算を実行させるために、信号線181に供給された演算開始信号によって動作を開始し、所定のタイミングで各制御信号182、183、184、185、186を発生せしめて除算の「商」と「剰余」を算出させ、信号線187に演算終了信号を出力して後段に最終商と最終剰余が出力されていることを知らせる。
以上詳述したように、本発明の整数型除算器によれば、5ビットの被除数の除算に対して2つの加算器を用い、所定のタイミングで順次上位ビットから2ビットずつ除算を繰り返し行い、3回目の繰り返しで、第1の加算器140の演算結果からの「剰余」と商生成回路172からの最終の「商」とを得て除算を完了している。これにより従来のように5つの加算器を使用することなく、又、有限状態マシン回路180の制御により演算のタイミングが決められるので各加算器が同時に演算を行う状態を避けることができる。
101,110,111,112,120,130,131,132,150,151,181,187,191,192,193,194・・・信号線
140・・・第1の加算器(第1の減算手段)
141・・・第2の加算器(第2の減算手段)
159・・・第1のセレクタ(第1のセレクト手段)
160・・・第2のセレクタ(第2のセレクト手段)
161・・・第3のセレクタ(第3のセレクト手段)
170・・・ラッチ回路(中間剰余ラッチ手段)
171・・・ラッチ回路
172・・・商生成回路(商生成手段)
173・・・剰余出力回路(剰余出力手段)
180・・・有限状態マシン回路(制御手段)
182,183,184,185,186・・・制御信号線
140・・・第1の加算器(第1の減算手段)
141・・・第2の加算器(第2の減算手段)
159・・・第1のセレクタ(第1のセレクト手段)
160・・・第2のセレクタ(第2のセレクト手段)
161・・・第3のセレクタ(第3のセレクト手段)
170・・・ラッチ回路(中間剰余ラッチ手段)
171・・・ラッチ回路
172・・・商生成回路(商生成手段)
173・・・剰余出力回路(剰余出力手段)
180・・・有限状態マシン回路(制御手段)
182,183,184,185,186・・・制御信号線
Claims (1)
- 入力データに基づいた被除数と除数で除算を行って商と剰余を算出し、算出された剰余を再び被除数として入力し前記除数で除算することを繰り返す整数型除算器において、
装置内の動作を制御する制御信号を出力する制御手段と、
前記制御信号に応じて前の演算で得られた剰余か若しくは前記入力された被除数の所定ビットのいずれかを選択してデータを出力する第1のセレクト手段と、
前記第1のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余と減算できたことを示すキャリーデータを出力する第1の減算手段と、
前記第1の減算手段から出力されたキャリーデータに応じて前記第1の減算手段からの剰余か若しくは前記第1のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第2のセレクト手段と、
前記第2のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余とキャリーデータを出力する第2の減算手段と、
前記第2の減算手段から出力されたキャリーデータに応じて前記第2の減算手段からの剰余か若しくは前記第2のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第3のセレクト手段と、
前記制御信号に応じて前記第3のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を中間剰余として前記第1のセレクト手段に供給する中間剰余ラッチ手段と、
前記制御信号に応じて前記第2若しくは第3のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を除算の最終剰余として出力する剰余出力手段と、
前記制御信号に応じて前記第1及び第2減算手段から出力されるキャリーデータを合成し除算の商を生成して出力する商生成手段と、
を具備したことを特徴とする整数型除算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006173577A JP2008003893A (ja) | 2006-06-23 | 2006-06-23 | 整数型除算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006173577A JP2008003893A (ja) | 2006-06-23 | 2006-06-23 | 整数型除算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008003893A true JP2008003893A (ja) | 2008-01-10 |
Family
ID=39008216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006173577A Pending JP2008003893A (ja) | 2006-06-23 | 2006-06-23 | 整数型除算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008003893A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014065234A1 (ja) | 2012-10-24 | 2014-05-01 | Ntn株式会社 | 円筒ころ軸受 |
-
2006
- 2006-06-23 JP JP2006173577A patent/JP2008003893A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014065234A1 (ja) | 2012-10-24 | 2014-05-01 | Ntn株式会社 | 円筒ころ軸受 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004326112A (ja) | マルチプルモジュラス選択器、累算器、モンゴメリー掛け算器、マルチプルモジュラス発生方法、部分掛け発生方法、累算方法、掛け算方法、モジュラス選択器、およびブースレコーダ | |
TW201034439A (en) | Image processing device and its method | |
JPH118567A (ja) | マッチドフィルタおよび同期方法 | |
CN115756391A (zh) | 用于实现非对称算法rsa模幂计算的硬件电路及方法 | |
CN114063973B (zh) | 伽罗华域乘法器及纠删编解码系统 | |
JP2009042815A (ja) | 半導体集積回路及びデバッグシステム | |
US9009209B2 (en) | Processor, control method of processor, and computer readable storage medium storing processing program for division operation | |
US5751620A (en) | Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method | |
JP2008003893A (ja) | 整数型除算器 | |
JP2005352904A (ja) | 乱数発生方法及び乱数発生装置 | |
JP2010067251A (ja) | 許容誤差内の整数除算回路 | |
KR20050065976A (ko) | Sha-1 해쉬값 연산 장치 및 방법 | |
JP2008113375A (ja) | 正規化処理装置 | |
JP2005025752A (ja) | ディジタル画像データを処理するための装置及び方法 | |
JPH1125071A (ja) | 複素数乗算器 | |
JP2000252862A (ja) | 拡散符号発生回路および拡散符号発生方法 | |
JP3052516B2 (ja) | 符号化データ処理装置 | |
JP2007124191A (ja) | 周波数信号変換回路及び周波数信号変換方法 | |
US7472154B2 (en) | Multiplication remainder calculator | |
JP2010160248A (ja) | Gold系列擬似乱数生成回路 | |
JP5127241B2 (ja) | 剰余演算装置及び剰余演算方法 | |
JP2009301265A (ja) | 倍数判定方法、倍数判定装置および倍数判定プログラム | |
JP2864598B2 (ja) | ディジタル演算回路 | |
JP2004126714A (ja) | 情報処理装置および方法、並びにプログラム | |
JP2006203438A (ja) | カメラ装置、カメラ装置の画像処理方法 |