JPWO2008096446A1 - 演算処理装置、情報処理装置、および演算方法 - Google Patents
演算処理装置、情報処理装置、および演算方法 Download PDFInfo
- Publication number
- JPWO2008096446A1 JPWO2008096446A1 JP2008556965A JP2008556965A JPWO2008096446A1 JP WO2008096446 A1 JPWO2008096446 A1 JP WO2008096446A1 JP 2008556965 A JP2008556965 A JP 2008556965A JP 2008556965 A JP2008556965 A JP 2008556965A JP WO2008096446 A1 JPWO2008096446 A1 JP WO2008096446A1
- Authority
- JP
- Japan
- Prior art keywords
- result
- shift amount
- shift
- floating
- 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.)
- Granted
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)
Abstract
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 (15)
- 演算結果の丸め処理の際に、前記演算結果に対して1を増分することにより、キャリーアウトが発生するか否かを出力する演算処理装置において、
前記演算を行なう演算手段と、
前記演算結果に対するシフト量を算出するシフト量算出手段と、
前記シフト量を用いて、前記演算結果に対する正規化処理を行なう正規化処理手段と、
前記シフト量を用いて、前記演算結果を所定のシフト量以上シフトした場合に、シフト結果の所定の領域が全て1であることについて、前記正規化処理と並行して予測を行なう予測手段と、
前記正規化処理手段による正規化処理結果と、前記予測手段による予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なう検出手段とを有することを特徴とする演算処理装置。 - 前記検出手段は、前記シフト量に応じて、前記正規化処理結果又は前記予測結果の何れか一方若しくは両方を用いて前記検出を行なうことを特徴とする請求項1記載の演算処理装置。
- 浮動小数点演算結果の丸め処理の際に、前記浮動小数点演算結果に対して1を増分することにより、キャリーアウトが発生するか否かを出力する演算処理装置において、
前記演算を行なう演算手段と、
前記演算手段による浮動小数点演算結果に対するシフト量を算出するシフト量算出手段と、
演算結果を所定のシフト量の範囲でシフトして、演算結果を正規化する正規化手段と、
前記シフト量を用いて、所定シフト量以上のシフトが行なわれた浮動小数点演算結果の所定の領域が全て1であることについて、前記正規化処理と並行して予測を行なう予測手段と、
前記正規化処理手段による正規化処理結果と、前記予測手段による予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なう検出手段とを有することを特徴とする演算処理装置。 - 前記正規化処理手段は、それぞれ異なったシフト量範囲で前記演算結果をシフトする複数のシフト手段を備えることを特徴とする請求項3記載の演算処理装置。
- 前記複数のシフト手段はそれぞれ、前記シフト量のビット位置に対応してnの階乗ビット幅分(nは正の整数)のシフトを行なうシフト手段であることを特徴とする請求項4記載の演算処理装置。
- 前記浮動小数点演算結果の所定の領域は、前記浮動小数点演算結果の上位nビットから、最上位aビットを除いた第1の領域(n,aは正の整数)と、前記浮動小数点演算結果の下位mビットで、且つ前記所定のシフト量範囲のシフト処理により前記第1の領域にシフトされる可能性がある第2の領域(mは正の整数)とであることを特徴とする請求項3乃至5のいずれかに記載の演算処理装置。
- 浮動小数点演算結果の丸め処理の際に、前記浮動小数点演算結果の仮数部に対して1を増分することにより、キャリーアウトが発生するか否かを出力する演算処理装置において、
前記浮動小数点演算を行なう演算手段と、
前記演算手段による浮動小数点演算結果に対するシフト量を算出するシフト量算出手段と、
複数のシフト手段を有し、前記シフト量を用いて、前記複数のシフト手段を用いて段階的にシフトを行なうことにより、前記浮動小数点演算結果に対する正規化処理を行なう正規化処理手段と、
前記シフト量を用いて、前記正規化処理のうち、所定シフト量以上のシフトによって前記仮数部に留まる第1の領域と前記所定シフト量以上のシフトによって前記仮数部にシフトされる第2の領域それぞれについて、前記シフト後の結果が全て1であることについて予測を行なう予測手段と、
前記正規化処理手段による前記正規化処理結果のうち前記所定シフト量未満のシフトによって前記仮数部に留まる第3の領域と、前記正規化処理手段による前記正規化処理結果のうち前記所定シフト量未満のシフトによって前記仮数部にシフトされる第4の領域と、前記予測手段による予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なう検出手段とを有することを特徴とする演算処理装置。 - 前記複数のシフト手段はそれぞれ、前記シフト量のビット位置に対応してnの階乗ビット幅(nは正の整数)のシフトを行なうシフト手段であることを特徴とする請求項7記載の演算処理装置。
- 前記第1の領域は、前記浮動小数点演算結果の上位nビットから、最上位aビットを除いた領域であり、
前記第2の領域は、前記浮動小数点演算結果の下位mビットで、且つ前記所定のシフト量範囲のシフト処理により前記第1の領域にシフトされる可能性がある領域であり、
前記第3の領域は前記浮動小数点演算結果の前記最上位aビットの領域であり、
前記第4の領域は前記第1の領域における最下位bビットの領域(a,b,m,nはそれぞれ正の整数)であることを特徴とする請求項7又は8記載の演算処理装置。 - 前記予測手段は、
前記第1の領域又は前記第2の領域を前記所定シフト量により分割したデータを入力するとともに、前記入力したデータが全て1であることについて検出を行なう複数の第1の論理積手段と、
前記複数の第1の論理積手段それぞれの出力について、前記分割されたデータのそれぞれに対応したシフト量を用いてマスクを行なう複数のマスク手段と、
前記複数のマスク手段の出力について、論理積演算を行なう第2の論理積手段とを有することを特徴とする請求項6乃至9のいずれかに記載の演算処理装置。 - 前記演算処理装置はさらに、
前記浮動小数点演算結果の指数部について増分を行なう増分手段を有し、
前記検出手段が前記第1乃至第4の領域が全て1であることについて検出した場合には、前記増分手段により前記演算結果の指数部に1を増分した結果を、前記丸め処理後の前記浮動小数点演算結果の指数部として出力することを特徴とする請求項7乃至9のいずれかに記載の演算処理装置。 - 演算を行なう演算手段と、
前記演算結果に対するシフト量を算出するシフト量算出手段と、
前記シフト量を用いて、前記演算結果に対する正規化処理を行なう正規化処理手段と、
前記シフト量を用いて、前記正規化処理手段による正規化処理後の演算結果における所定の領域が全て1であることについて、前記正規化処理と並行して予測を行なう予測手段と、
前記正規化処理手段による正規化処理結果と、前記予測手段による予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なう検出手段と、
前記演算結果の丸めを行なう丸め手段とを有する演算処理手段と、
前記丸め手段の出力を格納する記憶手段とを備えたことを特徴とする情報処理装置。 - 演算結果の丸め処理の際に、前記演算結果に対して1を増分することにより、キャリーアウトが発生するか否かを出力する演算方法において、
前記演算を行なうステップと、
前記演算結果に対するシフト量を算出するステップと、
前記シフト量を用いて、前記演算結果に対する正規化処理を行なうステップと、
前記シフト量を用いて、前記正規化処理を行なうステップによる正規化処理後の演算結果における所定の領域が全て1であることについて、前記正規化処理と並行して予測を行なうステップと、
前記正規化処理結果と、前記予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なうステップとを有することを特徴とする演算方法。 - 浮動小数点演算結果の丸め処理の際に、前記浮動小数点演算結果に対して1を増分することにより、キャリーアウトが発生するか否かを出力する演算方法において、
前記演算を行なうステップと、
前記浮動小数点演算結果に対するシフト量を算出するステップと、
前記シフト量を用いて、段階的にシフトを行なうことにより、前記演算結果に対する正規化処理を行なうステップと、
前記シフト量を用いて、前記正規化処理を行なうステップのうち、所定シフト量以上のシフトを行なうシフトの結果、浮動小数点演算結果の所定の領域が全て1であることについて、前記正規化処理と並行して予測を行なうステップと、
前記正規化処理結果と、前記予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なうステップとを有することを特徴とする演算方法。 - 浮動小数点演算結果の丸め処理の際に、前記浮動小数点演算結果の仮数部に対して1を増分することにより、キャリーアウトが発生するか否かを出力する演算方法において、
前記浮動小数点演算を行なうステップと、
前記演算手段による浮動小数点演算結果に対するシフト量を算出するステップと、
前記シフト量を用いて、段階的にシフトを行なうことにより、前記浮動小数点演算結果に対する正規化処理を行なうステップと、
前記シフト量を用いて、前記正規化処理のうち、所定シフト量以上のシフトによって前記仮数部に留まる第1の領域と前記所定シフト量以上のシフトによって前記仮数部にシフトされる第2の領域それぞれについて、前記シフト後の結果が全て1であることについて予測を行なうステップと、
前記正規化処理結果のうち前記所定シフト量未満のシフトによって前記仮数部に留まる第3の領域と、前記正規化処理結果のうち前記所定シフト量未満のシフトによって前記仮数部にシフトされる第4の領域と、前記予測結果とを入力し、前記キャリーアウトが発生することについての検出を行なう検出手段とを有することを特徴とする演算方法。
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 true JPWO2008096446A1 (ja) | 2010-05-20 |
JP4806453B2 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 |
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 |
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 |
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 |
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 JP JP2008556965A patent/JP4806453B2/ja not_active Expired - Fee Related
- 2007-02-09 EP EP07714008.5A patent/EP2110740B1/en not_active Not-in-force
- 2007-02-09 WO PCT/JP2007/052396 patent/WO2008096446A1/ja active Application Filing
-
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 |
---|---|
WO2008096446A1 (ja) | 2008-08-14 |
JP4806453B2 (ja) | 2011-11-02 |
US8554819B2 (en) | 2013-10-08 |
EP2110740A4 (en) | 2011-07-27 |
US20090300087A1 (en) | 2009-12-03 |
EP2110740B1 (en) | 2013-05-29 |
EP2110740A1 (en) | 2009-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720899B2 (en) | Arithmetic operation unit, information processing apparatus and arithmetic operation method | |
JP4388543B2 (ja) | 3項入力の浮動小数点加減算器 | |
KR20080055985A (ko) | 선택가능 준정밀도를 가진 부동―소수점 프로세서 | |
JP4806453B2 (ja) | 演算処理装置、情報処理装置、および演算方法 | |
US20080288571A1 (en) | Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor | |
CN108694037B (zh) | 用于在执行浮点减法时估计移位量的装置和方法 | |
US7725522B2 (en) | High-speed integer multiplier unit handling signed and unsigned operands and occupying a small area | |
US10089073B2 (en) | Method and apparatus for converting from integer to floating point representation | |
US20070156803A1 (en) | Overflow detection and clamping with parallel operand processing for fixed-point multipliers | |
US5408426A (en) | Arithmetic unit capable of performing concurrent operations for high speed operation | |
JPH08212058A (ja) | 加算オーバフロ検出回路 | |
KR20210147070A (ko) | 다중 입력 부동 소수점 가산기 | |
CN108153513B (zh) | 前导零预测 | |
CN106528050B (zh) | 尾随或前导数字预测器 | |
CN112394904B (zh) | 一种浮点数据处理方法、运算器及电子设备 | |
JPH09244874A (ja) | 最上位有効ビット位置予測方法 | |
KR100331846B1 (ko) | 실수 연산기 | |
KR101922462B1 (ko) | 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법 | |
US10275218B1 (en) | Apparatus and method for subtracting significand values of floating-point operands | |
JP3675111B2 (ja) | 3入力比較器 | |
US20040049528A1 (en) | Apparatus and method for adding multiple-bit binary-strings | |
JP3257278B2 (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
JP5515601B2 (ja) | 浮動小数点加算器 | |
US20190155573A1 (en) | Handling floating-point operations |
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 |