JP7087918B2 - 演算処理装置及びその制御方法 - Google Patents
演算処理装置及びその制御方法 Download PDFInfo
- Publication number
- JP7087918B2 JP7087918B2 JP2018204893A JP2018204893A JP7087918B2 JP 7087918 B2 JP7087918 B2 JP 7087918B2 JP 2018204893 A JP2018204893 A JP 2018204893A JP 2018204893 A JP2018204893 A JP 2018204893A JP 7087918 B2 JP7087918 B2 JP 7087918B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- floating
- bit
- rounding
- mantissa
- 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
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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- 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/544—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 for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- 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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3824—Accepting both fixed-point and floating-point numbers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
図1は、単精度浮動小数点数の形式を示す図である。
(-1)符号部×2指数部-127×(1+仮数部)
〔B-1〕システム構成例
図10は、実施例における演算処理システム1000のハードウェア構成例を示すブロック図である。
図10に示した浮動小数点積和演算器における浮動小数点の指数算出処理を、図14に示すフローチャート(ステップS21~S27)を用いて説明する。
上述した実施形態の一例における浮動小数点積和演算器11によれば、例えば、以下の作用効果を奏することができる。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
命令信号が入力された場合に固定小数点数の特定ビットを出力し、前記命令信号が入力されなかった場合に浮動小数点数の指数部を出力する選択回路と、
前記選択回路から出力された前記特定ビット又は前記指数部に対して所定の演算を実施する第1演算回路と、
を備える、演算処理装置。
前記固定小数点数における前記特定ビット以外のビット又は前記浮動小数点数の仮数部に対して所定の演算を実施すると共に、前記特定ビット以外のビット又は前記仮数部に含まれる丸め情報に基づいて前記特定ビット以外のビット又は前記仮数部に対する丸め処理を実行する第2演算回路
を更に備える、付記1に記載の演算処理装置。
前記第2演算回路は、前記特定ビット以外のビット又は前記仮数部に対する所定の演算によって、前記特定ビット以外のビット又は前記仮数部において桁上がりが発生した場合に、前記第1演算回路に対して桁上がり指示を発行し、
前記第1演算回路は、前記第2演算回路からの前記桁上がり指示の受信に応じて、前記特定ビット又は前記指数部に対して桁上がり処理を実施する、
付記2に記載の演算処理装置。
命令信号が入力された場合に固定小数点数の特定ビットを出力し、前記命令信号が入力されなかった場合に浮動小数点数の指数部を出力し、
出力された前記特定ビット又は前記指数部に対して所定の演算を実施する、
演算処理装置の制御方法。
前記固定小数点数における前記特定ビット以外のビット又は前記浮動小数点数の仮数部に対して所定の演算を実施すると共に、前記特定ビット以外のビット又は前記仮数部に含まれる丸め情報に基づいて前記特定ビット以外のビット又は前記仮数部に対する丸め処理を実行する、
付記4に記載の演算処理装置の制御方法。
前記特定ビット以外のビット又は前記仮数部に対する所定の演算によって、前記特定ビット以外のビット又は前記仮数部において桁上がりが発生した場合に、桁上がり指示を発行し、
前記桁上がり指示が発行された場合に、前記特定ビット又は前記指数部に対して桁上がり処理を実施する、
付記5に記載の演算処理装置の制御方法。
100 :PCIカード
1 :プロセッサ
10 :処理ユニット
11,600:浮動小数点積和演算器
12 :ベクタレジスタの一部
13,611:演算命令制御部
14 :演算命令バッファ
15 :全体命令制御部
16 :メモリコントローラ
17 :PCI制御部
2 :メモリ
3 :ホストプロセッサ
6,112:丸め回路
7,113:指数算出部
8,111:選択回路
21,612:符号処理部
211 :符号計算部
22,613:指数処理部
221 :桁合せシフト量算出部
23,614:仮数処理部
231 :桁合せシフタ
232 :補数処理部
233 :ブースエンコード部
234 :乗算ツリー
235 :桁上げ保存加算器
236 :桁上げ伝搬加算器
237 :正規化シフタ
61,64,71,1122,1131:加算器
62,1121:丸め判定
63,1123:論理積回路
101,701:丸め前仮数演算結果
102 :ビット「22~0」の部分
103 :上位ビット「30~23」の部分
104,603,703:演算結果
601 :仮数演算結果
602,702:丸め前指数演算結果
Claims (4)
- 命令信号が入力された場合に固定小数点数の特定ビットを出力し、前記命令信号が入力されなかった場合に浮動小数点数の指数部を出力する選択回路と、
前記選択回路から出力された前記特定ビット又は前記指数部に対して所定の演算を実施する第1演算回路と、
を備える、演算処理装置。 - 前記固定小数点数における前記特定ビット以外のビット又は前記浮動小数点数の仮数部に対して所定の演算を実施すると共に、前記特定ビット以外のビット又は前記仮数部に含まれる丸め情報に基づいて前記特定ビット以外のビット又は前記仮数部に対する丸め処理を実行する第2演算回路
を更に備える、請求項1に記載の演算処理装置。 - 前記第2演算回路は、前記特定ビット以外のビット又は前記仮数部に対する所定の演算によって、前記特定ビット以外のビット又は前記仮数部において桁上がりが発生した場合に、前記第1演算回路に対して桁上がり指示を発行し、
前記第1演算回路は、前記第2演算回路からの前記桁上がり指示の受信に応じて、前記特定ビット又は前記指数部に対して桁上がり処理を実施する、
請求項2に記載の演算処理装置。 - 命令信号が入力された場合に固定小数点数の特定ビットを出力し、前記命令信号が入力されなかった場合に浮動小数点数の指数部を出力し、
出力された前記特定ビット又は前記指数部に対して所定の演算を実施する、
演算処理装置の制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018204893A JP7087918B2 (ja) | 2018-10-31 | 2018-10-31 | 演算処理装置及びその制御方法 |
US16/578,449 US20200133633A1 (en) | 2018-10-31 | 2019-09-23 | Arithmetic processing apparatus and controlling method therefor |
EP19200007.3A EP3647939A1 (en) | 2018-10-31 | 2019-09-27 | Arithmetic processing apparatus and controlling method therefor |
CN201910983159.2A CN111124361A (zh) | 2018-10-31 | 2019-10-16 | 算术处理装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018204893A JP7087918B2 (ja) | 2018-10-31 | 2018-10-31 | 演算処理装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020071642A JP2020071642A (ja) | 2020-05-07 |
JP7087918B2 true JP7087918B2 (ja) | 2022-06-21 |
Family
ID=68072211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018204893A Active JP7087918B2 (ja) | 2018-10-31 | 2018-10-31 | 演算処理装置及びその制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200133633A1 (ja) |
EP (1) | EP3647939A1 (ja) |
JP (1) | JP7087918B2 (ja) |
CN (1) | CN111124361A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12106069B2 (en) | 2021-06-21 | 2024-10-01 | Ceremorphic, Inc. | Power saving floating point multiplier-accumulator with precision-aware accumulation |
US12079593B2 (en) | 2021-06-21 | 2024-09-03 | Ceremorphic, Inc. | Power saving floating point Multiplier-Accumulator with a high precision accumulation detection mode |
WO2022271608A1 (en) * | 2021-06-21 | 2022-12-29 | Ceremorphic, Inc | Power saving floating point multiplier-accumulator with precision-aware accumulation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1061436A2 (en) | 1997-10-23 | 2000-12-20 | Advanced Micro Devices, Inc. | Multifunction floating point addition/subtraction pipeline |
JP5173759B2 (ja) | 2008-11-20 | 2013-04-03 | キヤノン株式会社 | 画像形成装置、その制御方法及び制御プログラム |
JP6170635B2 (ja) | 2014-10-07 | 2017-08-02 | 藤倉ゴム工業株式会社 | 多段ピストンアクチュエータ |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4386399A (en) * | 1980-04-25 | 1983-05-31 | Data General Corporation | Data processing system |
JPS6170635A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 丸め制御装置 |
JP2523962B2 (ja) * | 1990-08-20 | 1996-08-14 | 松下電器産業株式会社 | 浮動小数点演算装置 |
JP3253660B2 (ja) * | 1991-12-19 | 2002-02-04 | 松下電器産業株式会社 | 数値丸め装置および数値丸め方法 |
US5917741A (en) * | 1996-08-29 | 1999-06-29 | Intel Corporation | Method and apparatus for performing floating-point rounding operations for multiple precisions using incrementers |
JPH10187416A (ja) * | 1996-12-20 | 1998-07-21 | Nec Corp | 浮動小数点演算装置 |
US6529928B1 (en) * | 1999-03-23 | 2003-03-04 | Silicon Graphics, Inc. | Floating-point adder performing floating-point and integer operations |
US7236995B2 (en) | 2002-12-27 | 2007-06-26 | Arm Limited | Data processing apparatus and method for converting a number between fixed-point and floating-point representations |
US7720900B2 (en) * | 2005-09-09 | 2010-05-18 | International Business Machines Corporation | Fused multiply add split for multiple precision arithmetic |
CN101692202B (zh) * | 2009-09-27 | 2011-12-28 | 龙芯中科技术有限公司 | 一种64比特浮点乘加器及其浮点运算流水节拍处理方法 |
US9817661B2 (en) * | 2015-10-07 | 2017-11-14 | Arm Limited | Floating point number rounding |
-
2018
- 2018-10-31 JP JP2018204893A patent/JP7087918B2/ja active Active
-
2019
- 2019-09-23 US US16/578,449 patent/US20200133633A1/en not_active Abandoned
- 2019-09-27 EP EP19200007.3A patent/EP3647939A1/en not_active Withdrawn
- 2019-10-16 CN CN201910983159.2A patent/CN111124361A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1061436A2 (en) | 1997-10-23 | 2000-12-20 | Advanced Micro Devices, Inc. | Multifunction floating point addition/subtraction pipeline |
JP5173759B2 (ja) | 2008-11-20 | 2013-04-03 | キヤノン株式会社 | 画像形成装置、その制御方法及び制御プログラム |
JP6170635B2 (ja) | 2014-10-07 | 2017-08-02 | 藤倉ゴム工業株式会社 | 多段ピストンアクチュエータ |
Also Published As
Publication number | Publication date |
---|---|
JP2020071642A (ja) | 2020-05-07 |
CN111124361A (zh) | 2020-05-08 |
EP3647939A1 (en) | 2020-05-06 |
US20200133633A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7115211B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US7720900B2 (en) | Fused multiply add split for multiple precision arithmetic | |
JP6694880B2 (ja) | 有効度整合 | |
US8626813B1 (en) | Dual-path fused floating-point two-term dot product unit | |
US10489153B2 (en) | Stochastic rounding floating-point add instruction using entropy from a register | |
JP4418578B2 (ja) | 第1、第2、第3オペランドに浮動小数点演算を適用するためのデータ処理装置および方法 | |
US20150347089A1 (en) | Microarchitecture for floating point fused multiply-add with exponent scaling | |
JP5684393B2 (ja) | Scale、round、getexp、round、getmant、reduce、range及びclass命令を実行できる乗加算機能ユニット | |
JP7087918B2 (ja) | 演算処理装置及びその制御方法 | |
TWI526928B (zh) | 向量浮點引數之減少 | |
KR101913094B1 (ko) | 부동 소수점 값을 정수의 부동 소수점 값으로 라운드하는 장치 및 방법 | |
JP4388980B2 (ja) | 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法 | |
US8239441B2 (en) | Leading zero estimation modification for unfused rounding catastrophic cancellation | |
JP6415236B2 (ja) | 浮動小数点加算ユニットを含む装置及びシステム、並びに浮動小数点加算方法 | |
US5548545A (en) | Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus | |
JP3313560B2 (ja) | 浮動小数点演算処理装置 | |
JP4476210B2 (ja) | 逆数演算の結果値の初期推定値を求めるデータ処理装置および方法 | |
JP2006228190A (ja) | 入力値に逆数演算を実施して結果値を作り出すデータ処理装置および方法 | |
US10445066B2 (en) | Stochastic rounding floating-point multiply instruction using entropy from a register | |
Tsen et al. | A combined decimal and binary floating-point multiplier | |
US10963245B2 (en) | Anchored data element conversion | |
JP4613992B2 (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
US11704092B2 (en) | High-precision anchored-implicit processing | |
Ziaullah et al. | Design and Implementation of Floating Point ALU with Parity Generator Using Verilog HDL | |
JPH0498524A (ja) | 浮動小数点演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210709 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7087918 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |