JP4806453B2 - 演算処理装置、情報処理装置、および演算方法 - Google Patents
演算処理装置、情報処理装置、および演算方法 Download PDFInfo
- Publication number
- JP4806453B2 JP4806453B2 JP2008556965A JP2008556965A JP4806453B2 JP 4806453 B2 JP4806453 B2 JP 4806453B2 JP 2008556965 A JP2008556965 A JP 2008556965A JP 2008556965 A JP2008556965 A JP 2008556965A JP 4806453 B2 JP4806453 B2 JP 4806453B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- rounding
- shift amount
- result
- normalization
- 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.)
- Expired - Fee Related
Links
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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49915—Mantissa overflow or underflow in handling floating-point numbers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
120 絶対値加算器
130 LZ予測器
140 左シフタ
141 第1左シフタ
142 第2左シフタ
143 第3左シフタ
150 丸め処理部
160 予測部
161、164 シフト量分類部
161a、161d ANDゲート
161b、161e バッファ
161c、161f ORゲート
162、165 マスク生成部
163、166 ブロック判定部
163a、163b NANDゲート
163c ANDゲート
167 ANDゲート
170 CO検出部
171 ANDゲート
図1は、本発明の実施の形態1に係る演算処理装置の要部構成を示すブロック図である。同図においては、浮動小数点数の仮数部に対する処理部を示している。図1に示す演算処理装置は、右シフタ110、絶対値加算器120、LZ(Leading Zero)予測器130、左シフタ140、丸め処理部150、予測部160、およびキャリーアウト検出部(以下「CO検出部」という)170を有している。
本発明の実施の形態2の特徴は、IEEE754における倍精度の浮動小数点数に対して本発明を適用する点である。
Claims (11)
- それぞれ複数のビットからなる複数の入力値に対して演算を行なう演算手段と、
前記演算手段による演算結果に対するシフト量を算出するシフト量算出手段と、
前記シフト量算出手段によって算出されたシフト量を用いて、前記演算結果に対する正規化処理を行なう正規化処理手段と、
前記正規化処理手段による正規化処理結果の丸め処理を行なう丸め処理手段と、
前記シフト量算出手段によって算出されたシフト量を用いて、前記演算結果のビットが前記正規化処理後に前記丸め処理の対象領域内に含まれるか否かを前記正規化処理と並行して予測し、前記丸め処理の対象領域内に含まれると予測されたビットが全て1であるか否かを判定する予測手段と、
前記正規化処理手段による正規化処理結果と、前記予測手段による判定結果とを入力し、前記丸め処理手段による丸め処理の際に前記正規化処理結果に対して1を増分することによりキャリーアウトが発生することについての検出を行なう検出手段と
を有することを特徴とする演算処理装置。 - 前記正規化処理手段は、それぞれ異なったシフト量範囲で前記演算結果をシフトする複数のシフト手段を備えることを特徴とする請求項1記載の演算処理装置。
- 前記複数のシフト手段はそれぞれ、前記シフト量のビット位置に対応して同一数値のn乗ビット(nは正の整数)単位でシフトを行なうシフト手段であることを特徴とする請求項2記載の演算処理装置。
- 前記予測手段は、前記演算結果の上位nビットから、最上位aビットを除いた第1の領域(n,aは正の整数)と、前記演算結果の下位mビットで、且つ前記丸め処理の対象領域内にシフトされる可能性がある第2の領域(mは正の整数)とのビットに対して、前記正規化処理後に前記丸め処理の対象領域内に含まれるか否かを予測することを特徴とする請求項1乃至3のいずれかに記載の演算処理装置。
- それぞれ複数のビットからなる複数の入力値に対して浮動小数点演算を行なう演算手段と、
前記演算手段による浮動小数点演算結果に対するシフト量を算出するシフト量算出手段と、
複数のシフト手段を有し、前記複数のシフト手段を用いて前記シフト量に応じた段階的なシフトを行なうことにより、前記浮動小数点演算結果に対する正規化処理を行なう正規化処理手段と、
前記正規化処理手段による正規化処理結果の丸め処理を行なう丸め処理手段と、
前記シフト量を用いて、前記浮動小数点演算結果のビットのうち、前記複数のシフト手段のいずれかのシフト手段に対応する単位シフト量以上のシフトによって前記丸め処理の対象領域内に留まらない可能性がある第1の領域と前記正規化処理におけるシフトによって前記丸め処理の対象領域内にシフトされる可能性がある第2の領域とに含まれるビットについて、前記正規化処理後に前記丸め処理の対象領域内に含まれるか否かを前記正規化処理と並行して予測し、前記丸め処理の対象領域内に含まれると予測されたビットが全て1であるか否かを判定する予測手段と、
前記正規化処理手段による前記正規化処理結果のビットのうち、上位から前記単位シフト量以下の範囲の第3の領域と前記丸め処理の対象領域内の下位から前記単位シフト量以下の範囲の第4の領域とのビットと、前記予測手段による判定結果とを入力し、丸め処理手段による丸め処理の際に前記正規化処理結果に対して1を増分することによりキャリーアウトが発生することについての検出を行なう検出手段と
を有することを特徴とする演算処理装置。 - 前記複数のシフト手段はそれぞれ、前記シフト量のビット位置に対応して同一数値のn乗ビット幅(nは正の整数)単位でシフトを行なうシフト手段であることを特徴とする請求項5記載の演算処理装置。
- 前記第1の領域は、前記浮動小数点演算結果の上位nビットから、最上位aビットを除いた領域であり、
前記第2の領域は、前記浮動小数点演算結果の下位mビットで、且つ前記丸め処理の対象領域内にシフトされる可能性がある領域であり、
前記第3の領域は、前記正規化処理結果の前記最上位aビットの領域であり、
前記第4の領域は、前記正規化処理結果の前記丸め処理の対象領域内における最下位bビットの領域(a,b,m,nはそれぞれ正の整数)であることを特徴とする請求項5又は6記載の演算処理装置。 - 前記予測手段は、
前記第1の領域又は前記第2の領域を前記単位シフト量のビットごとに分割したデータを入力するとともに、前記入力したデータが全て1であることについて検出を行なう複数の第1の論理積手段と、
前記複数の第1の論理積手段それぞれの出力について、前記分割されたデータのそれぞれに対応したシフト量を用いてマスクを行なう複数のマスク手段と、
前記複数のマスク手段の出力について、論理積演算を行なう第2の論理積手段とを有することを特徴とする請求項5乃至7のいずれかに記載の演算処理装置。 - それぞれ複数のビットからなる複数の入力値に対して演算を行なう演算手段と、
前記演算手段による演算結果に対するシフト量を算出するシフト量算出手段と、
前記シフト量算出手段によって算出されたシフト量を用いて、前記演算結果に対する正規化処理を行なう正規化処理手段と、
前記正規化処理手段による正規化処理結果の丸め処理を行なう丸め処理手段と、
前記シフト量算出手段によって算出されたシフト量を用いて、前記演算結果のビットが前記正規化処理後に前記丸め処理の対象領域内に含まれるか否かを前記正規化処理と並行して予測し、前記丸め処理の対象領域内に含まれると予測されたビットが全て1であるか否かを判定する予測手段と、
前記正規化処理手段による正規化処理結果と、前記予測手段による判定結果とを入力し、前記丸め処理手段による丸め処理の際に前記正規化処理結果に対して1を増分することによりキャリーアウトが発生することについての検出を行なう検出手段と、
前記丸め処理手段の出力を格納する記憶手段と
を備えたことを特徴とする情報処理装置。 - 演算処理装置が有する演算手段が、それぞれ複数のビットからなる複数の入力値に対して演算を行なうステップと、
演算処理装置が有するシフト量算出手段が、演算によって得られた演算結果に対するシフト量を算出するステップと、
演算処理装置が有する正規化処理手段が、算出されたシフト量を用いて、前記演算結果に対する正規化処理を行なうステップと、
演算処理装置が有する予測手段が、算出されたシフト量を用いて、前記演算結果のビットが前記正規化処理結果に対して実行される丸め処理の対象領域内に含まれるか否かを前記正規化処理と並行して予測し、前記丸め処理の対象領域内に含まれると予測されたビットが全て1であるか否かを判定するステップと、
演算処理装置が有する検出手段が、前記正規化処理結果と、判定によって得られた判定結果とを入力し、前記丸め処理の際に前記正規化処理結果に対して1を増分することによりキャリーアウトが発生することについての検出を行なうステップと
を有することを特徴とする演算方法。 - 演算処理装置が有する演算手段が、それぞれ複数のビットからなる複数の入力値に対して浮動小数点演算を行なうステップと、
演算処理装置が有するシフト量算出手段が、浮動小数点演算によって得られた浮動小数点演算結果に対するシフト量を算出するステップと、
演算処理装置が有する正規化処理手段が、算出されたシフト量に応じた段階的なシフトを行なうことにより、前記浮動小数点演算結果に対する正規化処理を行なうステップと、
演算処理装置が有する予測手段が、前記シフト量を用いて、前記浮動小数点演算結果のビットのうち、前記段階的なシフトのいずれかの段階のシフトに対応する単位シフト量以上のシフトによって前記正規化処理結果に対して実行される丸め処理の対象領域内に留まらない可能性がある第1の領域と前記正規化処理におけるシフトによって前記丸め処理の対象領域内にシフトされる可能性がある第2の領域とに含まれるビットについて、前記正規化処理後に前記丸め処理の対象領域内に含まれるか否かを前記正規化処理と並行して予測し、前記丸め処理の対象領域内に含まれると予測されたビットが全て1であるか否かを判定するステップと、
演算処理装置が有する検出手段が、前記正規化処理結果のビットのうち、上位から前記単位シフト量以下の範囲の第3の領域と前記丸め処理の対象領域内の下位から前記単位シフト量以下の範囲の第4の領域とのビットと、判定によって得られた判定結果とを入力し、前記丸め処理の際に前記正規化処理結果に対して1を増分することによりキャリーアウトが発生することについての検出を行なうステップと
を有することを特徴とする演算方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/052396 WO2008096446A1 (ja) | 2007-02-09 | 2007-02-09 | 演算処理装置、情報処理装置、および演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008096446A1 JPWO2008096446A1 (ja) | 2010-05-20 |
JP4806453B2 true JP4806453B2 (ja) | 2011-11-02 |
Family
ID=39681365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008556965A Expired - Fee Related JP4806453B2 (ja) | 2007-02-09 | 2007-02-09 | 演算処理装置、情報処理装置、および演算方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8554819B2 (ja) |
EP (1) | EP2110740B1 (ja) |
JP (1) | JP4806453B2 (ja) |
WO (1) | WO2008096446A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8914430B2 (en) | 2010-09-24 | 2014-12-16 | Intel Corporation | Multiply add functional unit capable of executing scale, round, GETEXP, round, GETMANT, reduce, range and class instructions |
US9900154B2 (en) | 2013-12-23 | 2018-02-20 | Nxp B.V. | Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves |
US9979543B2 (en) * | 2013-12-23 | 2018-05-22 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves |
US9929862B2 (en) | 2013-12-23 | 2018-03-27 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves |
US10489114B2 (en) | 2014-06-27 | 2019-11-26 | International Business Machines Corporation | Shift amount correction for multiply-add |
US10606557B2 (en) * | 2016-12-06 | 2020-03-31 | Arm Limited | Leading zero anticipation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695851A (ja) * | 1991-08-30 | 1994-04-08 | Weytec Corp | 浮動小数点加算器用の正確な先行ゼロ予測のための方法及び装置 |
JP2005134965A (ja) * | 2003-10-28 | 2005-05-26 | Renesas Technology Corp | 論理回路、および、それを使用した浮動小数点演算回路とマイクロプロセッサ |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
US5373461A (en) * | 1993-01-04 | 1994-12-13 | Motorola, Inc. | Data processor a method and apparatus for performing postnormalization in a floating-point execution unit |
JPH1040078A (ja) | 1996-07-24 | 1998-02-13 | Hitachi Ltd | 先行0、1数予測回路、浮動小数点演算装置、マイクロプロセッサおよび情報処理装置 |
US6085212A (en) * | 1997-10-23 | 2000-07-04 | Advanced Micro Devices, Inc. | Efficient method for performing close path subtraction in a floating point arithmetic unit |
US6275839B1 (en) * | 1998-09-22 | 2001-08-14 | International Business Machines Corporation | Method and system for immediate exponent normalization in a fast floating point adder |
US6557021B1 (en) * | 1999-11-04 | 2003-04-29 | Intrinsity, Inc. | Rounding anticipator for floating point operations |
US6963896B2 (en) * | 2001-07-31 | 2005-11-08 | Pasternak Solutions Llc | Method and system to implement an improved floating point adder with integrated adding and rounding |
US7720898B2 (en) * | 2003-06-11 | 2010-05-18 | Stmicroelectronics, Inc. | Apparatus and method for adjusting exponents of floating point numbers |
US8069200B2 (en) * | 2005-04-28 | 2011-11-29 | Qsigma, Inc. | Apparatus and method for implementing floating point additive and shift operations |
JP4571903B2 (ja) * | 2005-12-02 | 2010-10-27 | 富士通株式会社 | 演算処理装置,情報処理装置,及び演算処理方法 |
-
2007
- 2007-02-09 WO PCT/JP2007/052396 patent/WO2008096446A1/ja active Application Filing
- 2007-02-09 EP EP07714008.5A patent/EP2110740B1/en not_active Not-in-force
- 2007-02-09 JP JP2008556965A patent/JP4806453B2/ja not_active Expired - Fee Related
-
2009
- 2009-08-07 US US12/461,338 patent/US8554819B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695851A (ja) * | 1991-08-30 | 1994-04-08 | Weytec Corp | 浮動小数点加算器用の正確な先行ゼロ予測のための方法及び装置 |
JP2005134965A (ja) * | 2003-10-28 | 2005-05-26 | Renesas Technology Corp | 論理回路、および、それを使用した浮動小数点演算回路とマイクロプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
EP2110740A1 (en) | 2009-10-21 |
WO2008096446A1 (ja) | 2008-08-14 |
JPWO2008096446A1 (ja) | 2010-05-20 |
US8554819B2 (en) | 2013-10-08 |
EP2110740A4 (en) | 2011-07-27 |
EP2110740B1 (en) | 2013-05-29 |
US20090300087A1 (en) | 2009-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4571903B2 (ja) | 演算処理装置,情報処理装置,及び演算処理方法 | |
JP4806453B2 (ja) | 演算処理装置、情報処理装置、および演算方法 | |
KR20080055985A (ko) | 선택가능 준정밀도를 가진 부동―소수점 프로세서 | |
JP4388543B2 (ja) | 3項入力の浮動小数点加減算器 | |
US20080288571A1 (en) | Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor | |
JPWO2007096982A1 (ja) | 演算処理装置および演算処理方法 | |
CN108694037B (zh) | 用于在执行浮点减法时估计移位量的装置和方法 | |
WO2016119547A1 (en) | Method and apparatus for converting from integer to floating point representation | |
US5408426A (en) | Arithmetic unit capable of performing concurrent operations for high speed operation | |
JP4858794B2 (ja) | 浮動小数点除算器、及びそれを用いた情報処理装置 | |
JPH08212058A (ja) | 加算オーバフロ検出回路 | |
CN106528050B (zh) | 尾随或前导数字预测器 | |
KR20210147070A (ko) | 다중 입력 부동 소수점 가산기 | |
US10275218B1 (en) | Apparatus and method for subtracting significand values of floating-point operands | |
CN108153513B (zh) | 前导零预测 | |
CN112394904B (zh) | 一种浮点数据处理方法、运算器及电子设备 | |
JPH09244874A (ja) | 最上位有効ビット位置予測方法 | |
KR100331846B1 (ko) | 실수 연산기 | |
JP3257278B2 (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
JP2558799B2 (ja) | 浮動小数点正規化丸め装置 | |
JP5515601B2 (ja) | 浮動小数点加算器 | |
JP2006252287A (ja) | 演算方法、プログラムおよび演算装置 | |
CN114610268A (zh) | 一种高精度对数乘法器 | |
KR20010018956A (ko) | 부동소수점 병렬 반올림 방법 및 연산장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110225 |
|
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: 20110809 |
|
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: 20110812 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140819 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |