JP6309196B2 - 多項式演算のための部分積発生装置及び方法 - Google Patents
多項式演算のための部分積発生装置及び方法 Download PDFInfo
- Publication number
- JP6309196B2 JP6309196B2 JP2013039962A JP2013039962A JP6309196B2 JP 6309196 B2 JP6309196 B2 JP 6309196B2 JP 2013039962 A JP2013039962 A JP 2013039962A JP 2013039962 A JP2013039962 A JP 2013039962A JP 6309196 B2 JP6309196 B2 JP 6309196B2
- Authority
- JP
- Japan
- Prior art keywords
- encoder
- output
- value
- carry
- bit
- 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
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000004590 computer program Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 101100026203 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) neg-1 gene Proteins 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
(数式1)
Pn=An XOR Bn
Gn=An AND Bn
Tn=〜(An OR Bn)
Pn、Gn、Tnは、それぞれPGT値のそれぞれのビット値を表わす。
* Zero:エンコーディング候補値0に対応し、0を出力する
* Negation:エンコーディング候補値−1、−2に対応し、入力値(例えば、被乗数Y)に対する補数値を得る
この3種の命令と条件(例えば、エンコーディング候補値の発生条件)とを簡略に表わせば、次の表3のようである。
(数2)
Shiftno−carry=Pn XOR Tn−1
Shiftcarry=Pn XOR Gn−1
Zerono−carry=〜Pn+1 XOR Tn
Zerocarry=〜Pn+1 XOR Gn
Negationno−carry=Pn+1 XOR(Gn OR(Pn AND 〜Tn−1))
Negationcarry=Pn+1 XOR(Gn OR(Pn AND 〜Tn−1))
数式2及び表2ないし表6のように動作する第2エンコーダ102は、多様な方式を通じて実施可能である。第2エンコーダ102は、XOR、AND、NOR論理ゲートなどに基づいて、2つの部分積候補値PP0、PP1を生成させる部分401とキャリー予測値enを生成させる部分402とを含みうる。たとえ図4の実施形態で、第2エンコーダ102が、XOR、AND、及びOR論理ゲートを含むが、これは、例示に過ぎず、NOR論理ゲート、NAND論理ゲート、及び当業者に知られたそれ以外の論理ゲートが使われることもある。
101 第1エンコーダ
102 第2エンコーダ
103 マルチプレクサ
301 エンコーディング候補値生成部
302 キャリー予測値生成部
303 部分積候補値生成部
401 部分積候補値を生成させる部分
402 キャリー予測値を生成させる部分
Claims (14)
- 多項式演算のための部分積発生装置であって、
和が乗数(multiplier)となる2つの入力に基づいて、キャリーの発生に関する相互排他的な値のうち何れか1つをそれぞれ出力する複数の第1エンコーダと、
前記複数の第1エンコーダのうち、前記入力の基準ビットの位置に設けられた第1の第1エンコーダの出力と、前記入力の基準ビットに隣接する上位ビットの位置に設けられた第2の第1エンコーダの出力と、前記入力の基準ビットに隣接する下位ビットの位置に設けられた第3の第1エンコーダの出力と、被乗数(multiplicand)とに基づいて、2つの部分積(partial product)候補値を生成及び出力する第2エンコーダと、
前記入力の基準ビットに隣接する下位ビットにおける前記キャリーの発生に基づいて、前記第2エンコーダから出力された前記部分積候補値のうち1つを選択するマルチプレクサと、
を含み、
前記相互排他的な値は、P(Propagation)値、G(Generation)値、及びT(Termination)値を含み、
前記P値は前記下位ビットでキャリーが発生すれば前記基準ビットでもキャリーが発生する状態を表わし、前記G値は前記基準ビットでキャリーが発生した状態を表わし、前記T値は前記下位ビットでキャリーが発生しても前記基準ビットでキャリーが発生しない状態を表わす、
装置。 - 前記第2エンコーダは、前記第1の第1エンコーダの出力と前記第2の第1エンコーダの出力と前記第3の第1エンコーダの出力とに基づいて、キャリー予測値を生成及び出力する機能をさらに含む、請求項1に記載の装置。
- 前記複数の第1エンコーダのうち、前記入力の他の基準ビット位置に設けられた第4の第1エンコーダの出力と、前記入力の他の基準ビットに隣接する上位ビット位置に設けられた第5の第1エンコーダの出力と、前記入力の他の基準ビットに隣接する下位ビットの位置に設けられた第6の第1エンコーダの出力と、前記被乗数とに基づいて、さらに他の2つの部分積候補値を生成及び出力し、
前記第4の第1エンコーダの出力と前記第5の第1エンコーダの出力と前記第6の第1エンコーダの出力に基づいて、キャリー予測値を生成及び出力するさらに他の第2エンコーダと、
前記入力の他の基準ビットに隣接する下位ビットにおける前記キャリーの発生に基づいて、前記さらに他の第2エンコーダから出力された前記さらに他の2つの部分積候補値のうち1つを選択するさらに他のマルチプレクサと、
を含む請求項2に記載の装置。 - 前記部分積候補値は、前記キャリーが前記下位ビットで発生したときの第1部分積候補値、及び前記キャリーが前記下位ビットで発生しないときの第2部分積候補値を含む、請求項3に記載の装置。
- 前記さらに他の二番目の第1エンコーダは、Radix−4 Boothエンコーディングアルゴリズムに基づいて、前記部分積候補値及び前記さらに他のキャリー予測値をさらに生成させる、請求項3に記載の装置。
- 前記第2の第1エンコーダ及び前記第4の第1エンコーダのそれぞれは、前記入力の偶数ビット位置に設けられる、請求項3に記載の装置。
- 前記入力は、一連の乗算過程で生成される先行部分積(precedence partial product)のビット値を受信する、請求項1乃至6いずれか一項に記載の装置。
- 前記第1エンコーダのそれぞれは前記入力のビット位置に形成される、請求項1乃至7いずれか一項に記載の装置。
- 多項式演算のための部分積発生方法であって、
複数の第1エンコーダが、和が乗数(multiplier)となる2つの入力に基づいて、キャリーの発生に関する相互排他的な値のうち何れか1つをそれぞれ出力することと、
第2エンコーダが、前記複数の第1エンコーダのうち、前記入力の基準ビットの位置に設けられた第1の第1エンコーダの出力と、前記入力の基準ビットに隣接する上位ビットの位置に設けられた第2の第1エンコーダの出力と、前記入力の基準ビットに隣接する下位ビットの位置に設けられた第3の第1エンコーダの出力と、被乗数(multiplicand)とに基づいて、2つの部分積(partial product)候補値を生成及び出力することと、
マルチプレクサが、前記入力の基準ビットに隣接する下位ビットにおける前記キャリーの発生に基づいて、前記第2エンコーダから出力された前記部分積候補値のうち1つを選択することと、
を含み、
前記相互排他的な値は、P(Propagation)値、G(Generation)値、及びT(Termination)値を含み、
前記P値は前記下位ビットでキャリーが発生すれば前記基準ビットでもキャリーが発生する状態を表わし、前記G値は前記基準ビットでキャリーが発生した状態を表わし、前記T値は前記下位ビットでキャリーが発生しても前記基準ビットでキャリーが発生しない状態を表わす、
方法。 - 前記第2エンコーダが、前記第1の第1エンコーダの出力と前記第2の第1エンコーダの出力と前記第3の第1エンコーダの出力とに基づいて、キャリー予測値を生成及び出力することをさらに含む、請求項9に記載の方法。
- さらに他の第2エンコーダが、
前記複数の第1エンコーダのうち、前記入力の他の基準ビット位置に設けられた第4の第1エンコーダの出力と、前記入力の他の基準ビットに隣接する上位ビット位置に設けられた第5の第1エンコーダの出力と、前記入力の他の基準ビットに隣接する下位ビットの位置に設けられた第6の第1エンコーダの出力と、前記被乗数とに基づいて、さらに他の2つの部分積候補値を生成及び出力し、
前記第4の第1エンコーダの出力と前記第5の第1エンコーダの出力と前記第6の第1エンコーダの出力に基づいて、キャリー予測値を生成及び出力することと、
さらに他のマルチプレクサが、前記入力の他の基準ビットに隣接する下位ビットにおける前記キャリーの発生に基づいて、前記さらに他の第2エンコーダから出力された前記さらに他の2つの部分積候補値のうち1つを選択することと、
を含む請求項9に記載の方法。 - 前記部分積候補値は、前記キャリーが前記下位ビットで発生したときの第1部分積候補値、及び前記キャリーが前記下位ビットで発生しないときの第2部分積候補値を含む、請求項9に記載の方法。
- 前記入力は、一連の乗算過程で生成される先行部分積のビット値を含む、請求項9乃至12いずれか一項に記載の方法。
- コンピュータにより実行されたとき、前記コンピュータに請求項9乃至13いずれか一項に記載の方法を実行させるコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120021304A KR101861550B1 (ko) | 2012-02-29 | 2012-02-29 | 다항식 연산을 위한 부분적 발생 장치 및 방법 |
KR10-2012-0021304 | 2012-02-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013182619A JP2013182619A (ja) | 2013-09-12 |
JP6309196B2 true JP6309196B2 (ja) | 2018-04-11 |
Family
ID=47757428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013039962A Active JP6309196B2 (ja) | 2012-02-29 | 2013-02-28 | 多項式演算のための部分積発生装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9354843B2 (ja) |
EP (1) | EP2634689B1 (ja) |
JP (1) | JP6309196B2 (ja) |
KR (1) | KR101861550B1 (ja) |
CN (1) | CN103294445B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160079051A (ko) * | 2013-12-27 | 2016-07-05 | 인텔 코포레이션 | 이중 전압 비대칭 메모리 셀 |
KR102594656B1 (ko) * | 2016-11-25 | 2023-10-26 | 삼성전자주식회사 | 보안 프로세서, 이를 포함하는 어플리케이션 프로세서 및 보안 프로세서의 동작 방법 |
US11159153B2 (en) | 2018-03-29 | 2021-10-26 | Nvidia Corp. | Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O |
US10599606B2 (en) | 2018-03-29 | 2020-03-24 | Nvidia Corp. | 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses |
US11966348B2 (en) | 2019-01-28 | 2024-04-23 | Nvidia Corp. | Reducing coupling and power noise on PAM-4 I/O interface |
US10657094B2 (en) | 2018-03-29 | 2020-05-19 | Nvidia Corp. | Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses |
US10466968B1 (en) * | 2018-07-12 | 2019-11-05 | Nvidia Corp. | Radix-4 multiplier partial product generation with improved area and power |
US10623200B2 (en) | 2018-07-20 | 2020-04-14 | Nvidia Corp. | Bus-invert coding with restricted hamming distance for multi-byte interfaces |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150322A (en) * | 1990-06-05 | 1992-09-22 | Vlsi Technology, Inc. | Mixed-radix serial/parallel multipliers |
US5245564A (en) | 1991-05-10 | 1993-09-14 | Weitek Corporation | Apparatus for multiplying operands |
US5446651A (en) * | 1993-11-30 | 1995-08-29 | Texas Instruments Incorporated | Split multiply operation |
US5944776A (en) | 1996-09-27 | 1999-08-31 | Sun Microsystems, Inc. | Fast carry-sum form booth encoder |
KR100290906B1 (ko) * | 1998-03-10 | 2001-07-12 | 김영환 | 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법 |
US6421699B1 (en) * | 1999-03-19 | 2002-07-16 | International Business Machines Corporation | Method and system for a speedup of a bit multiplier |
US6285300B1 (en) | 2000-02-09 | 2001-09-04 | Hewlett Packard Company | Apparatus and method for reducing power and noise through reduced switching recording in logic devices |
JP2002108606A (ja) * | 2000-09-26 | 2002-04-12 | Toshiba Corp | スティッキービット生成回路及び乗算器 |
US6978426B2 (en) * | 2002-04-10 | 2005-12-20 | Broadcom Corporation | Low-error fixed-width modified booth multiplier |
US7069290B2 (en) | 2002-05-06 | 2006-06-27 | Lucent Technologies Inc. | Power efficient booth recoded multiplier and method of multiplication |
KR20050081407A (ko) * | 2004-02-13 | 2005-08-19 | 삼성전자주식회사 | 부스 알고리즘을 이용한 곱셈기의 인코더 |
US20090030963A1 (en) * | 2006-02-15 | 2009-01-29 | Kouichi Nagano | Multiplication circuit, digital filter, signal processing device, synthesis device, synthesis program, and synthesis program recording medium |
US7840629B2 (en) | 2006-02-28 | 2010-11-23 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a booth multiplier |
JP4519807B2 (ja) * | 2006-06-05 | 2010-08-04 | ルネサスエレクトロニクス株式会社 | 乗算器及びフィルタ処理装置 |
US7797365B2 (en) | 2006-06-27 | 2010-09-14 | International Business Machines Corporation | Design structure for a booth decoder |
US8078662B2 (en) | 2006-09-29 | 2011-12-13 | Intel Corporation | Multiplier product generation based on encoded data from addressable location |
KR100935858B1 (ko) * | 2007-12-05 | 2010-01-07 | 한국전자통신연구원 | 재구성 가능한 산술연산기 및 이를 구비한 고효율 프로세서 |
KR100953342B1 (ko) | 2007-12-27 | 2010-04-20 | 주식회사 동부하이텍 | 곱셈기의 인코더 |
-
2012
- 2012-02-29 KR KR1020120021304A patent/KR101861550B1/ko active IP Right Grant
- 2012-08-17 US US13/588,250 patent/US9354843B2/en active Active
-
2013
- 2013-02-26 EP EP13156769.5A patent/EP2634689B1/en active Active
- 2013-02-28 CN CN201310063219.1A patent/CN103294445B/zh active Active
- 2013-02-28 JP JP2013039962A patent/JP6309196B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN103294445A (zh) | 2013-09-11 |
KR101861550B1 (ko) | 2018-05-29 |
CN103294445B (zh) | 2018-01-30 |
JP2013182619A (ja) | 2013-09-12 |
EP2634689A1 (en) | 2013-09-04 |
KR20130099640A (ko) | 2013-09-06 |
EP2634689B1 (en) | 2015-04-08 |
US9354843B2 (en) | 2016-05-31 |
US20130226982A1 (en) | 2013-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6309196B2 (ja) | 多項式演算のための部分積発生装置及び方法 | |
US8965945B2 (en) | Apparatus and method for performing floating point addition | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
JP5086466B2 (ja) | 予め飽和させる固定小数点乗算器 | |
JP2007156748A (ja) | 演算処理装置,情報処理装置,及び演算処理方法 | |
US20140358979A1 (en) | GENERATING A FAST 3x MULTIPLAND TERM FOR RADIX-8 BOOTH MULTIPLICATION | |
CN111936965A (zh) | 随机舍入逻辑 | |
US10140090B2 (en) | Computing and summing up multiple products in a single multiplier | |
Takagi et al. | A hardware algorithm for integer division | |
JP4273071B2 (ja) | 除算・開平演算器 | |
JP2010079840A (ja) | デジタル演算回路 | |
Efstathiou et al. | Handling zero in diminished-one modulo 2 n+ 1 adders | |
US9933999B2 (en) | Apparatus, method and program for calculating the result of a repeating iterative sum | |
Araujo et al. | A new floating-point adder FPGA-based implementation using RN-coding of numbers | |
Tenca et al. | Carry-save representation is shift-unsafe: The problem and its solution | |
JPH0553765A (ja) | 先行1検出回路および浮動小数点加減算装置 | |
JP6302682B2 (ja) | 複数データ形式を支援する加算器、及びその加算器を利用した複数データ形式の加減演算支援方法 | |
US11922130B2 (en) | Optimization of arithmetic expressions | |
Abraham et al. | An ASIC design of an optimized multiplication using twin precision | |
Yeung et al. | A monte-carlo floating-point unit for self-validating arithmetic | |
JP7183079B2 (ja) | 半導体装置 | |
Hiasat | An arithmetic scaler circuit design for the expanded four-moduli set {2k− 1, 2k+ 1, 22k+ 1, 22k} | |
Dormiani et al. | A design of online scheme for evaluation of multinomials | |
KR950015180B1 (ko) | 고속연산형 가산기 | |
Mohan et al. | Modulo Addition and Subtraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180131 |
|
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: 20180213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180314 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6309196 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |