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

演算回路及び方法 Download PDF

Info

Publication number
JP2011175433A
JP2011175433A JP2010038703A JP2010038703A JP2011175433A JP 2011175433 A JP2011175433 A JP 2011175433A JP 2010038703 A JP2010038703 A JP 2010038703A JP 2010038703 A JP2010038703 A JP 2010038703A JP 2011175433 A JP2011175433 A JP 2011175433A
Authority
JP
Japan
Prior art keywords
value
function
formula
round
expression
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
JP2010038703A
Other languages
English (en)
Other versions
JP4915454B2 (ja
Inventor
Yasuyuki Endo
靖行 遠藤
Tsuneo Matsumura
常夫 松村
Nobuyuki Tanaka
伸幸 田中
Junichi Kato
順一 加藤
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

Abstract

【課題】切り上げ演算を含む数式の近似計算を高速に行うことができる演算回路及び方法を提供する。
【解決手段】所定の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を足し合わせる。
【選択図】図1

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の関数である数式の近似計算を行う演算方法であって、所定の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の関数である数式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の関数である数式の近似計算を行う演算方法であって、
    所定の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を足し合わせる工程とを備えることを特徴とする演算方法。
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 true JP2011175433A (ja) 2011-09-08
JP4915454B2 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)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206557A (ja) * 1989-10-16 1991-09-09 Matsushita Electric Ind Co Ltd 演算処理方法と演算処理装置
JP2000081968A (ja) * 1998-09-04 2000-03-21 Sharp Corp 逆数演算装置
JP2005208845A (ja) * 2004-01-21 2005-08-04 Toshiba Corp 関数近似値の演算器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206557A (ja) * 1989-10-16 1991-09-09 Matsushita Electric Ind Co Ltd 演算処理方法と演算処理装置
JP2000081968A (ja) * 1998-09-04 2000-03-21 Sharp Corp 逆数演算装置
JP2005208845A (ja) * 2004-01-21 2005-08-04 Toshiba Corp 関数近似値の演算器

Also Published As

Publication number Publication date
JP4915454B2 (ja) 2012-04-11

Similar Documents

Publication Publication Date Title
Bernstein et al. On the correct use of the negation map in the Pollard rho method
Choi et al. Low-complexity elliptic curve cryptography processor based on configurable partial modular reduction over NIST prime fields
CN112434801B (zh) 一种按照比特精度进行权重拆分的卷积运算加速方法
Kudithi An efficient hardware implementation of the elliptic curve cryptographic processor over prime field
Ding et al. A low-latency and low-cost Montgomery modular multiplier based on NLP multiplication
KR20070096740A (ko) 부동 소수점 데이터의 총합 연산 처리 방법 및 컴퓨터시스템
Ding et al. Broken-Karatsuba multiplication and its application to Montgomery modular multiplication
CN110515584A (zh) 浮点计算方法及系统
CN104580017B (zh) 基于rss的网络会话分发方法及系统
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
Rashidi Efficient hardware implementations of point multiplication for binary Edwards curves
JP4915454B2 (ja) 演算回路及び方法
RU2666303C1 (ru) Способ и устройство для вычисления хэш-функции
CN103763064A (zh) 适用于超高速通讯系统的循环冗余校验码生成方法与电路
CN102999311A (zh) 基于Booth算法的48x30位乘法器
CN207115387U (zh) Xiu‑累加寄存器、xiu‑累加寄存器电路、以及电子设备
US11368303B2 (en) System and method for calculating faster ECC scalar multiplication on FPGA
US11494165B2 (en) Arithmetic circuit for performing product-sum arithmetic
US9344118B2 (en) Apparatus and method for generating interleaver index
Booker et al. Square-free values of reducible polynomials
JP2019149043A (ja) 見積り装置および見積り方法
CN111142840A (zh) 基于fpga的数据计算方法和装置
CN108268243B (zh) 一种基于查找的复合域乘法装置
JP2017097795A (ja) 演算装置、プログラム、情報処理方法

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