JP2010067251A - 許容誤差内の整数除算回路 - Google Patents

許容誤差内の整数除算回路 Download PDF

Info

Publication number
JP2010067251A
JP2010067251A JP2008314232A JP2008314232A JP2010067251A JP 2010067251 A JP2010067251 A JP 2010067251A JP 2008314232 A JP2008314232 A JP 2008314232A JP 2008314232 A JP2008314232 A JP 2008314232A JP 2010067251 A JP2010067251 A JP 2010067251A
Authority
JP
Japan
Prior art keywords
subtractor
multiplier
shifter
outputs
value
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
Application number
JP2008314232A
Other languages
English (en)
Inventor
▲せん▼振宏
Chen-Hung Chan
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.)
Altek Corp
Original Assignee
Altek Corp
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 Altek Corp filed Critical Altek Corp
Publication of JP2010067251A publication Critical patent/JP2010067251A/ja
Pending legal-status Critical Current

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
    • 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/5356Via reciprocal, i.e. calculate reciprocal only, or calculate reciprocal first and then the quotient from the reciprocal and the numerator

Abstract

【課題】ハードウェア経費を削減することができる除算回路の提供。
【解決手段】許容誤差内の整数除算回路である信号処理装置はポインタ、第一の左シフタ、第二の左シフタ、減数器、乗数器、及び右シフタが含まれる。ポインタは除数の最上位ノンゼロビットを求めて、最上位バイト値を出力する。第一の左シフタは、第一の指数計数を生ずる為に最上位バイト値に従ってシフト操作を行う。第二の左シフタは、第二の指数係数を生ずる為に最上位バイト値に従ってシフト操作を行う。減数器は除数、第一の指数係数、第二の指数係数に従って乗数を計算し、乗数を乗数器に出力する。乗数器は入力値を乗数と掛け合わせその結果を右シフタに出力する。右シフタは計算結果を出力する。
【選択図】図1

Description

本発明は演算回路に関するものであり、特にデジタル画像信号についてビット演算器を用いて整数除算を行う演算回路に関するものである。
従来の信号処理における整数除算に関しては、乗数器は主に概数値を採用して来た。
Figure 2010067251
この場合、方程式1(数1)における「14」は2のべき乗に変換され(例えば、「1024」)、方程式1(数1)は方程式2(数2)に修正される。
Figure 2010067251
方程式2(数2)より一般方程式3(数3)が得られる。
Figure 2010067251
C=S/D、Sは2のべき乗である。
従来の技術では、分母が2のべき乗の場合、右シフト操作を用いて除数演数を置き換えた。故に、単に一つの乗数器と一回のビット演算により除算器が得られる。これは除数Dが固定値であり回路の設計に先立って簡略される必要があるという前提によるものである。
しかしながら実際には信号処理が進むにつれて除数Dは変化する。そこで、もし本発明が上記の様に除算器に取って替わる事を意図するならば、乗数Cをコンピュータ機器のメモリにあらかじめ記憶させておく必要がある。除数Dの変動範囲が広いほどより多くの変数Cを記憶する必要があり、それによりメモリの容量も拡大しなければならない。
従って、本発明は除数(D)に従って乗数(C)及びシフト数(S)を同時に生じさせる事に適した信号処理装置を対象とする。
上記の目的を達成する為に、本発明はポインタ、第一左シフタ、第二左シフタ、減算器及び右シフタを備える信号処理装置を提供する。
ポインタは、除数の最上位ノンゼロビットを求め、最上位ビットの位置を出力する。ポインタは第一の左シフタと第二の左シフタのそれぞれに電気的に接続している。
第一の左シフタは、第一指数係数を生成する為に最上位バイト値に従ってシフト操作を行う。第二の左シフタは第二の指数係数を生成する為に最上位バイト値に従ってシフト操作を行う。
減算器は第一左シフタ及び第二左シフタに電気的に接続されている。減算器は乗数、第一の指数係数、第二の指数係数に従って適当な乗数を計算し、乗数器に乗数を出力する。
乗数器は入力された値Nと乗数を掛け合わせて乗数演算の結果を右シフタに出力する。右シフタは乗数演算の結果に従って指数の右シフト操作を行い、計算の結果を出力する。
本発明の提供する許容誤差内の整数除算回路は、指数係数を用いて線形補間計算を行い、整数除算回路がビット操作と乗数による除算演算に取ってかわり、これにより除算回路のハードウェア経費を削減することができる。
本発明は、下記の説明の目的でのみ提供され本発明を制限するものでは無く、詳細な説明によってより完全に理解することができる。
図1は本発明のシステムのアーキテクチャーの略図である。
図1に参照される許容誤差内の整数除算回路300はポインタ310、第一左シフタ320、第二左シフタ330、減算器340、乗算器350、右シフタ360を含む。
除数の入力後、ポインタ310は除数の最上位ノンゼロビットを求め、最上位ノンゼロビットの位置を出力する。
最上位ノンゼロバイトを求める段階は次の通りである。ポインタ310は第一のノンゼロビットを最上位バイトから最下位バイトまで順次求め、このビットのバイト位置値を記録し、最上位バイト値を出力する。
ポインタ310は第一の左シフタ320と第二の左シフタ330のそれぞれに電気的に接続している。
第一の左シフタ320は最上位バイト値に従って左シフト操作を行い、第一の指数係数を生成する。第二の左シフタ330は最上位バイト値に従って左シフト操作を行い、第二の指数係数を生成する。
減数器340は第一の左シフタ320と第二の左シフタ330に電気的に接続している。
減数器340は除数、第一の指数係数、第二の指数係数に従った乗数を出力する。減数器340は更に第一の減数器341及び第二の減数器342を含む。
第一の減数器341は第一の左シフタ320と電気的に接続しており、第二の減数器342は第一の左シフタ341と第二の左シフタ330と電気的に接続している。
乗数器350は減数器340に電気的に接続され、乗数と入力値をそれぞれ受信する。
乗数器350は乗数と入力値を掛け合わせて乗数計算の結果を右シフタ360に出力する。右シフタ360は乗数計算の結果に指数の右シフト操作を行う事により計算結果を出力する。
本発明の操作の流れより手軽に説明する為に下記の例が挙げられるが、本発明はこの応用に限るものでは無い。入力除数を「14(1110b)」とし、被除数を「100(1100100b)」とし、「100/14」の値の計算が必要であるとする。「1110b」の左の最上位バイトから、右の最下位バイトまでの間で第一のノンゼロ位置値を求める。「1110b」の第一のノンゼロ位置値が「4」なので、最上位バイト値は「4」である。
この実施例では、第一の左シフタは、最上位バイト値「4」に従って指数の左シフト操作を行い最上位バイト値から1を減ずることにより、第一の指数係数「24-1」を生ずる。第二の左シフタは最上位バイト値「4」に従って指数の左シフト操作を行い、第二の指数係数「24」を生ずる。
第一の減数器341は除数から第一の指数係数を減じ、第一の仮補間値「14−23」を出力する。第二の減数器342は第二の指数係数から第一の仮補間値「14−23」を減じ、乗数「24−(14−23)」=「10」を生ずる。
そして次の数式に表わされる様に、右シフタ360は被除数「100」及び乗数をそれぞれ受け入れ、次に乗数に従って入力値の指数右シフト操作を行い、計算結果を出力する。
Figure 2010067251
最終的に得られた計算結果は「10*100/27=7.8125」である。
図2は本発明と浮動小数点除算器のエラー値を表す。図2に関しては、実線が浮動小数点除算器の計算結果を表し、点線が本発明の計算結果を表す。上記の例によると、除数が16より小さい場合に激しいエラーが生じ、そこでも除数が3の時のエラーが最も激しく、4.16%である。
故に、より高度な正確性を要する一部のアプリケーションへの応用については、本発明は16より小さい乗数を記録し、16より大きい値に関してのみ同時に乗数とシフト数を生ずる事が出来る。この方法では、本発明の最大誤差は僅か0.005350(0.535%)であり、これは一部のアプリケーションについては許容範囲である。
更に、携帯用コンピュータ装置についてはハードウェア構成コストが減少出来る。これは、ほとんど同様の演算結果が既存のハードウェアのアーキテクチャーを用いるのみで行えるからである。
本発明の提供する許容誤差内の整数除算回路300は、直線補間計算を行う為に指数係数を利用し、許容誤差内の整数除算回路300はビット操作による除数操作による除数演算にとって代わるものであり、これにより許容誤差内の整数除算回路300に関するハードウェアのコストも減少される。
本発明のシステムのアーキテクチャーの概略図。 本発明と従来の技術の誤差値を表す図。

Claims (3)

  1. 除数の最上位ノンゼロビットを求めて最上位バイト値を出力する、ポインタと、
    ポインタに電気的に接続され、最上位バイト値に従ってシフト操作を行い、第一の指数係数を生成する、第一の左シフタと、
    ポインタに電気的に接続され、最上位バイト値に従ってシフト操作を行い、第二の指数係数を生成する、第二の左シフタと、
    第一の左シフタ及び第二の左シフタに電気的に接続され、除数、第一の指数係数、及び第二の指数係数に従って荷重調整処理を行い、乗数を出力する、減算器と、
    減算器と右シフタとの間に接続され、乗数と入力値を掛け合わせた乗算結果を指数右シフト操作の為に右シフタに出力する、乗算器、及び
    乗数を用いて乗算器の出力結果に指数右シフト操作を行い計算結果を出力する、右シフタ、を具備してなる、
    許容誤差内の整数除算回路。
  2. 前記ポインタは、第一のノンゼロビットを除数の最上位バイトから最下位バイトまで順次求め、そのノンゼロビットのバイト位置値を記録し、最上位バイト値を出力する、請求項1に記載の許容誤差内の整数除算回路。
  3. 前記減算器は、第一の減算器と第二の減算器からなり、第一の減算器が第一の左シフタに接続し、第二の減算器が第一の減算器と第二の左シフタに接続しており、第一の減算器が第一の仮補間値を出力する為に、除数と第一の指数係数の補間計算を行い、乗数を出力する為に第二の減算器が第一の仮補間値と第二の指数係数の補間計算を行う、請求項1に記載の許容誤差内の整数除算回路。
JP2008314232A 2008-09-12 2008-12-10 許容誤差内の整数除算回路 Pending JP2010067251A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097135190A TWI386845B (zh) 2008-09-12 2008-09-12 Error calculation of the integer division operation circuit

Publications (1)

Publication Number Publication Date
JP2010067251A true JP2010067251A (ja) 2010-03-25

Family

ID=42008155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008314232A Pending JP2010067251A (ja) 2008-09-12 2008-12-10 許容誤差内の整数除算回路

Country Status (3)

Country Link
US (1) US8352534B2 (ja)
JP (1) JP2010067251A (ja)
TW (1) TWI386845B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458679B (zh) * 2007-12-10 2012-01-25 辉达公司 统一反向离散余弦变换(idct)微码处理器引擎
TWI444889B (zh) * 2011-03-31 2014-07-11 Realtek Semiconductor Corp 複數除法器及其相關方法
US10108396B2 (en) * 2013-06-25 2018-10-23 Stmicroelectronics S.R.L. Method and system for performing division/multiplication operations in digital processors, corresponding device and computer program product
TWI557641B (zh) * 2015-12-29 2016-11-11 瑞昱半導體股份有限公司 除法運算裝置及其運算方法
CN108459839A (zh) * 2018-02-06 2018-08-28 芯颖科技有限公司 一种除法运算方法及除法器电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172475A (ja) * 2004-12-14 2006-06-29 Infineon Technologies Ag 電子回路中で乗算演算または除算演算を行う方法およびその装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317755A (en) * 1991-04-10 1994-05-31 General Electric Company Systolic array processors for reducing under-utilization of original design parallel-bit processors with digit-serial processors by using maximum common divisor of latency around the loop connection
US6321245B1 (en) * 1997-04-02 2001-11-20 International Business Machines Corporation Method and system for performing fast division using non linear interpolation
EP0974913B1 (en) * 1997-12-10 2009-11-25 Seiko Epson Corporation Encryption/Decryption system
JP2002333975A (ja) * 2001-05-09 2002-11-22 Fuji Photo Film Co Ltd 演算方法および装置並びにプログラム
JP4712247B2 (ja) * 2001-08-31 2011-06-29 富士通セミコンダクター株式会社 整数除算または整数剰余算を含むアプリケーションプログラム向けのマイクロプロセッサの開発システム
US6691144B2 (en) * 2002-05-28 2004-02-10 Interdigital Technology Corporation Dual use dual complex multiplier and complex divider
TW200540698A (en) * 2004-06-15 2005-12-16 Tatung Co Ltd Addressing type asynchronous divider
US20050289209A1 (en) * 2004-06-29 2005-12-29 Intel Corporation Method and system of achieving integer division by invariant divisor using N-bit multiply-add operation
US20060129624A1 (en) * 2004-12-09 2006-06-15 Abdallah Mohammad A Method and apparatus for performing a divide instruction
US7539720B2 (en) * 2004-12-15 2009-05-26 Sun Microsystems, Inc. Low latency integer divider and integration with floating point divider and method
US8060551B2 (en) * 2007-12-30 2011-11-15 Agere Systems Inc. Method and apparatus for integer division

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172475A (ja) * 2004-12-14 2006-06-29 Infineon Technologies Ag 電子回路中で乗算演算または除算演算を行う方法およびその装置

Also Published As

Publication number Publication date
US8352534B2 (en) 2013-01-08
TW201011637A (en) 2010-03-16
TWI386845B (zh) 2013-02-21
US20100070547A1 (en) 2010-03-18

Similar Documents

Publication Publication Date Title
US11249721B2 (en) Multiplication circuit, system on chip, and electronic device
JP2010067251A (ja) 許容誤差内の整数除算回路
US20120124116A1 (en) Apparatus and method for converting data between a floating-point number and an integer
JP5229314B2 (ja) Cordic演算回路及び方法
EP3748857A1 (en) Compressor circuit, wallace tree circuit, multiplier circuit, chip and device
JP2001005643A (ja) 累乗演算装置
CN116594589B (zh) 浮点数乘法计算的方法、装置和算术逻辑单元
KR102503498B1 (ko) 수학적 함수를 연산하는 시스템 및 방법
JP5733379B2 (ja) プロセッサおよび演算方法
JP5573901B2 (ja) 標本化レート変換装置
CN103164185A (zh) 用纯组合电路实现除法计算的电路
CN102566965A (zh) 一种误差平坦的浮点数对数运算装置
JP4696920B2 (ja) Dds信号発生装置
JP5883705B2 (ja) 信号生成器
JP2010033406A (ja) 画像処理装置、画像機器、画像処理方法
JP4760737B2 (ja) アナログ除算方法及びアナログ除算装置
CN114840175B (zh) 一种实现取余运算的装置、方法及运算芯片
JP2009089343A (ja) 角度計算方法及び関連回路
JP2001128061A (ja) 映像サイズ変換処理方法および映像サイズ変換処理装置
Pitchika et al. Fast Base Extension using Single Redundant Modulus in a Residue Number System
KR100501739B1 (ko) 효율적인 모듈러 가산기 및 그 연산 방법
CN101685384A (zh) 容许误差的整数除法运算电路
JP2019175225A (ja) 出力値生成回路、プロセッサ、出力値生成方法、及びプログラム
Garg et al. Reducing power dissipation in FIR filter: An analysis
CN117032627A (zh) 一种除法器及数据处理方法、系统、设备、计算机介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026