JP4915454B2 - 演算回路及び方法 - Google Patents

演算回路及び方法 Download PDF

Info

Publication number
JP4915454B2
JP4915454B2 JP2010038703A JP2010038703A JP4915454B2 JP 4915454 B2 JP4915454 B2 JP 4915454B2 JP 2010038703 A JP2010038703 A JP 2010038703A JP 2010038703 A JP2010038703 A JP 2010038703A JP 4915454 B2 JP4915454 B2 JP 4915454B2
Authority
JP
Japan
Prior art keywords
value
function
circuit
expression
calculating
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.)
Active
Application number
JP2010038703A
Other languages
English (en)
Other versions
JP2011175433A (ja
Inventor
靖行 遠藤
常夫 松村
伸幸 田中
順一 加藤
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.)
NTT Electronics Corp
Nippon Telegraph and Telephone Corp
Original Assignee
NTT Electronics Corp
Nippon Telegraph and Telephone 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 NTT Electronics Corp, Nippon Telegraph and Telephone Corp filed Critical NTT Electronics Corp
Priority to JP2010038703A priority Critical patent/JP4915454B2/ja
Publication of JP2011175433A publication Critical patent/JP2011175433A/ja
Application granted granted Critical
Publication of JP4915454B2 publication Critical patent/JP4915454B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、資源の配分量を算出する演算回路及び方法に関し、特に切り上げ演算を含む数式の近似計算を高速に行うことができる演算回路及び方法に関する。
通信システムでは取り扱うデータ量が急激に増えており、データ伝送速度の更なる高速化が要求されている。これに対して、アルゴリズムを高速に演算する処理回路として様々なものが提案されている(例えば、特許文献1参照)。
また、例えばルータの行うパケット毎の優先制御などにおいて、複数のシステムに資源を効率的に配分することが要求されている。システムが必要とする資源の配分要求量xに対して配分すべき配分量yを算出する演算の一例を以下に示す。
y=ROUNDUP[ROUNDUP(x×5/54,0)×62/5,0] (数式1)
ここで、ROUNDUP(A,K)は数値Aを指定した桁数Kで切り上げる演算関数である。
図3は、従来の演算回路を示すブロック図である。演算回路20,22は数式1の乗除算を行い、ROUNDUP回路21,23は数式1の切り上げ演算を行う。
特開2009−9463号公報
切り上げ演算には時間がかかるため、従来の演算回路及び方法は切り上げ演算を含む数式1の計算を高速に行うことができなかった。
本発明は、上述のような課題を解決するためになされたもので、その目的は切り上げ演算を含む数式の近似計算を高速に行うことができる演算回路及び方法を得るものである。
本発明に係る演算回路は、切り上げ演算を含むxの関数である数式の近似計算を行う演算回路であって、所定のxの関数を所定値で除算した余りをrとし、前記数式のxを前記rの関数で置き換えかつ前記切り上げ演算の代わりに1に近い1未満の値を加算してから小数点以下を切り捨てる演算を行う第1の式から、前記数式のxを前記rの関数で置き換えかつ前記切り上げ演算を行わない第2の式を引いた関数をf(r)とし、rに対するf(r)の計算結果を予めまとめたテーブルと、与えられたxの値に対して前記切り上げ演算を行わないで前記数式を計算して近似値qを計算する回路と、与えられたxの値に対してrを計算する回路と、計算したrの値に対するf(r)の値を前記テーブルから取り出し、このf(r)の値と前記近似値qを足し合わせる回路とを備える。
所定のxの関数を所定値で除算した余りをrとし、前記数式のxを前記rの関数で置き換えかつ前記切り上げ演算の代わりに1に近い1未満の値を加算してから小数点以下を切り捨てる演算を行う第1の式から、前記数式のxを前記rの関数で置き換えかつ前記切り上げ演算を行わない第2の式を引いた関数をf(r)とし、rに対するf(r)の計算結果をまとめたテーブルを用いて、本発明に係る演算方法は、切り上げ演算を含むxの関数である数式の近似計算を行う演算方法であって、第1の計算回路が、与えられたxの値に対して前記切り上げ演算を行わないで前記数式を計算して近似値qを計算する工程と、第2の計算回路が、与えられたxの値に対してrを計算する工程と、加算回路が、計算したrの値に対するf(r)の値を前記テーブルから取り出し、このf(r)の値と前記近似値qを足し合わせる工程とを備える。
本発明により、切り上げ演算を含む数式の近似計算を高速に行うことができる。
本発明の実施の形態に係る演算回路を示すブロック図である。 各パラーメータについて計算した結果を示す図である。 従来の演算回路を示すブロック図である。
本発明の実施の形態に係る演算回路及び方法について説明する。この演算回路及び方法は、切り上げ演算を含むxの関数である数式1の近似計算を行うことで、システムが必要とする資源の配分要求量xに対して配分すべき配分量yを算出するものである。
まず、以下の数式2を定義する。
q=INT[(x×75245+2304)÷216] (数式2)
ここで、qは正整数を表す。INT(B)は数値Bを超えない最大の整数であり、小数点以下を切り捨てるINT演算を行う演算関数である。
qは、数式1を切り上げ演算なしで近似した(x×5/54×62/5)を1次関数で線形近似したものである。2のn乗(この場合n=16)の除算で近似しており、nが大きい値ほど近似精度がよくなる。この除算は除数が2のn乗であるためビットシフトで実現することができる。また、2304の数値によりゼロ点をずらすことにより、より近い近似が得られる。
数式2に含まれる数値について説明する。数式1の右辺を切り上げ演算なしで近似した(x×5/54×62/5)の1次関数の傾き62/54に216を乗算すると近似的に75245が算出される。この傾きを近似した値と正確な値の差は、(216×62/54−75245)×216=2427.256…である。演算のビット数を抑えるために2のn乗で割れる数にすると9×2=2304が得られる。
また、以下の数式3を定義する。
r=MOD[INT[(x×9709+2560)÷212],2] (数式3)
ここで、rは正整数を表す。MOD(C,D)は数値Cを数値Dで割った場合の余りを求める演算関数である。即ち、rは、所定のxの関数[INT[(x×9709+2560)÷212]を所定値2で除算した余りである。2のn乗(この場合n=12)の除算で近似しており、nが大きい値ほど近似精度がよくなる。この除算は除数が2のn乗であるためビットシフトで実現することができる。
数式3に含まれる数値について説明する。数式1のROUNDUP(x×5/54,0)は、xが54増えるごとに切り上げた数値が増える。そこで、xが54増えるごとに数値が増えるように、線形近似した1次関数のxの係数mを求める。即ち、m=(212×2)÷54=9709.037…である。この傾きを近似した値と正確な値の差は、(4096×2/54−9709)×65536=2427.258…である。演算のビット数を抑えるために2のn乗で割れる数にすると5×2=2560が得られる。
rは0〜127の整数値となる。そこで、0〜53の整数値をとるように以下のrの関数を定義する。
INT(r×54/2+1/2) (数式4)
また、以下の数式5を定義する。
f(r)=INT{INT[INT(r×54/2+1/2)×5/54+63/64]×62/5+7/8}−INT[INT(r×54/2+1/2)×62/54] (数式5)
ここで、f(r)は正整数となる。
数式5の63/64、7/8は数式1の切り上げ演算をINT演算に変換した場合の切り上げの加算値である。従って、数式5の右辺の第1の式は、数式1のxを数式4で置き換え、かつ切り上げ演算の代わりに1に近い1未満の値を加算してからINT演算を行うものである。一方、数式5の右辺の第2の式は、数式1のxを数式4で置き換え、かつ切り上げ演算を行わないものである。
以下の数式6により数式1の近似計算を行うことができる。
y=q+f(r) (数式6)
ここで、0≦x≦(216−1)であれば誤差は生じない。
図1は、本発明の実施の形態に係る演算回路を示すブロック図である。演算回路10は数式2の乗算、加算、及び除算を行う。INT回路11は数式2のINT演算を行う。演算回路12は、数式3の乗算、加算、及び除算を行う。INT回路13は数式3のINT演算を行う。MOD回路14は数式3のMOD演算を行う。テーブル15には、rに対するf(r)の計算結果が予めまとめられている。加算回路16は数式6の加算を行う。
図2は、各パラーメータについて計算した結果を示す図である。rはxが54増えるごとに周期的に同じ値となる。従って、xの数値範囲に関わらず、rとf(r)の相関関係がまとめられたテーブル15の内容量は限られる。
xの値が与えられると、演算回路10及びINT回路11は、数式2に従ってxの値に対して数式2を計算して近似値qを計算する。また、演算回路12、INT回路13及びMOD回路14は、数式3に従ってxの値に対してrを計算する。次に、加算回路16は、計算したrの値に対するf(r)の値をテーブル15から取り出し、このf(r)の値と近似値qを足し合わせる。これによりyの値が求まる。
以上説明したように、本実施の形態は、切り上げ演算を行うことなく、数式1の近似計算を行うことができる。従って、切り上げ演算を含む数式1の近似計算を高速に行うことができる。
また、2つの乗算は並列動作が可能なため、乗算1段分の速度での高速パイプライン処理も可能となる。そして、乗算回路をハードマクロとして内蔵したFPGA(Field Programmable Gate Array)を使用することで更なる高速処理が可能である。
10,12 演算回路
11,13 INT回路
14 MOD回路
15 テーブル
16 加算回路

Claims (2)

  1. 切り上げ演算を含むxの関数である数式の近似計算を行う演算回路であって、
    所定のxの関数を所定値で除算した余りをrとし、前記数式のxをrの関数で置き換えかつ前記切り上げ演算の代わりに1に近い1未満の値を加算してから小数点以下を切り捨てる演算を行う第1の式から、前記数式のxを前記rの関数で置き換えかつ前記切り上げ演算を行わない第2の式を引いた関数をf(r)とし、rに対するf(r)の計算結果を予めまとめたテーブルと、
    与えられたxの値に対して前記切り上げ演算を行わないで前記数式を計算して近似値qを計算する回路と、
    与えられたxの値に対してrを計算する回路と、
    計算したrの値に対するf(r)の値を前記テーブルから取り出し、このf(r)の値と前記近似値qを足し合わせる回路とを備えることを特徴とする演算回路。
  2. 所定のxの関数を所定値で除算した余りをrとし、前記数式のxをrの関数で置き換えかつ前記切り上げ演算の代わりに1に近い1未満の値を加算してから小数点以下を切り捨てる演算を行う第1の式から、前記数式のxを前記rの関数で置き換えかつ前記切り上げ演算を行わない第2の式を引いた関数をf(r)とし、rに対するf(r)の計算結果を予めまとめたテーブルを用いて、切り上げ演算を含むxの関数である数式の近似計算を行う演算方法であって
    第1の計算回路が、与えられたxの値に対して前記切り上げ演算を行わないで前記数式を計算して近似値qを計算する工程と、
    第2の計算回路が、与えられたxの値に対してrを計算する工程と、
    加算回路が、計算したrの値に対するf(r)の値を前記テーブルから取り出し、このf(r)の値と前記近似値qを足し合わせる工程とを備えることを特徴とする演算方法。
JP2010038703A 2010-02-24 2010-02-24 演算回路及び方法 Active JP4915454B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010038703A JP4915454B2 (ja) 2010-02-24 2010-02-24 演算回路及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010038703A JP4915454B2 (ja) 2010-02-24 2010-02-24 演算回路及び方法

Publications (2)

Publication Number Publication Date
JP2011175433A JP2011175433A (ja) 2011-09-08
JP4915454B2 true JP4915454B2 (ja) 2012-04-11

Family

ID=44688239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010038703A Active JP4915454B2 (ja) 2010-02-24 2010-02-24 演算回路及び方法

Country Status (1)

Country Link
JP (1) JP4915454B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212661A (en) * 1989-10-16 1993-05-18 Matsushita Electric Industrial Co., Ltd. Apparatus for performing floating point arithmetic operation and rounding the result thereof
JP2000081968A (ja) * 1998-09-04 2000-03-21 Sharp Corp 逆数演算装置
JP3845636B2 (ja) * 2004-01-21 2006-11-15 株式会社東芝 関数近似値の演算器

Also Published As

Publication number Publication date
JP2011175433A (ja) 2011-09-08

Similar Documents

Publication Publication Date Title
Güneysu et al. Ultra high performance ECC over NIST primes on commercial FPGAs
Bernstein et al. On the correct use of the negation map in the Pollard rho method
KR101326078B1 (ko) 모듈러 곱셈 방법, 모듈러 곱셈기 및 모듈러 곱셈기를구비하는 암호 연산 시스템
Kudithi An efficient hardware implementation of the elliptic curve cryptographic processor over prime field
CN112434801B (zh) 一种按照比特精度进行权重拆分的卷积运算加速方法
Ding et al. Broken-Karatsuba multiplication and its application to Montgomery modular multiplication
CN110515584A (zh) 浮点计算方法及系统
Hossain et al. Efficient fpga implementation of modular arithmetic for elliptic curve cryptography
US6321245B1 (en) Method and system for performing fast division using non linear interpolation
JP4915454B2 (ja) 演算回路及び方法
Basu A new parallel window-based implementation of the elliptic curve point multiplication in multi-core architectures
Rashidi Efficient hardware implementations of point multiplication for binary Edwards curves
RU2666303C1 (ru) Способ и устройство для вычисления хэш-функции
Panjwani Scalable and parameterized hardware implementation of elliptic curve digital signature algorithm over prime fields
JP5175983B2 (ja) 演算装置
US11368303B2 (en) System and method for calculating faster ECC scalar multiplication on FPGA
EP3107215B1 (en) Reed-solomon or bch decoding configurable for high rate decoding or multi-output low rate decoding.
US9344118B2 (en) Apparatus and method for generating interleaver index
Booker et al. Square-free values of reducible polynomials
US11494165B2 (en) Arithmetic circuit for performing product-sum arithmetic
Namin et al. A High-Speed Word Level Finite Field Multiplier in ${\BBF} _ {2^ m} $ Using Redundant Representation
Rezai et al. Algorithm design and theoretical analysis of a novel CMM modular exponentiation algorithm for large integers
CN111142840A (zh) 基于fpga的数据计算方法和装置
US20090144353A1 (en) Method and apparatus for efficient modulo multiplication
Langhammer et al. Low-Latency Modular Exponentiation for FPGAs

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111207

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: 20111227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4915454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250