JP2020071642A - 演算処理装置及びその制御方法 - Google Patents
演算処理装置及びその制御方法 Download PDFInfo
- Publication number
- JP2020071642A JP2020071642A JP2018204893A JP2018204893A JP2020071642A JP 2020071642 A JP2020071642 A JP 2020071642A JP 2018204893 A JP2018204893 A JP 2018204893A JP 2018204893 A JP2018204893 A JP 2018204893A JP 2020071642 A JP2020071642 A JP 2020071642A
- Authority
- JP
- Japan
- Prior art keywords
- point
- floating
- exponent
- bit
- 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.)
- 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/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)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational 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)
Abstract
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 true JP2020071642A (ja) | 2020-05-07 |
JP7087918B2 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|---|---|---|---|
JPS6170635A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 丸め制御装置 |
JPH05173759A (ja) * | 1991-12-19 | 1993-07-13 | Matsushita Electric Ind Co Ltd | 数値丸め装置および数値丸め方法、並びに浮動小数点数−整数変換装置および浮動小数点数−整数変換方法 |
EP1061436A2 (en) * | 1997-10-23 | 2000-12-20 | Advanced Micro Devices, Inc. | Multifunction floating point addition/subtraction pipeline |
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 |
JP2523962B2 (ja) * | 1990-08-20 | 1996-08-14 | 松下電器産業株式会社 | 浮動小数点演算装置 |
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 |
JP5173759B2 (ja) | 2008-11-20 | 2013-04-03 | キヤノン株式会社 | 画像形成装置、その制御方法及び制御プログラム |
CN101692202B (zh) * | 2009-09-27 | 2011-12-28 | 龙芯中科技术有限公司 | 一种64比特浮点乘加器及其浮点运算流水节拍处理方法 |
US9995322B2 (en) | 2014-10-07 | 2018-06-12 | Fujikura Rubber Ltd. | Multistage piston actuator |
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 |
---|---|---|---|---|
JPS6170635A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 丸め制御装置 |
JPH05173759A (ja) * | 1991-12-19 | 1993-07-13 | Matsushita Electric Ind Co Ltd | 数値丸め装置および数値丸め方法、並びに浮動小数点数−整数変換装置および浮動小数点数−整数変換方法 |
EP1061436A2 (en) * | 1997-10-23 | 2000-12-20 | Advanced Micro Devices, Inc. | Multifunction floating point addition/subtraction pipeline |
Also Published As
Publication number | Publication date |
---|---|
JP7087918B2 (ja) | 2022-06-21 |
EP3647939A1 (en) | 2020-05-06 |
CN111124361A (zh) | 2020-05-08 |
US20200133633A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077416B (zh) | 用于以选择性舍入模式进行向量处理的装置和方法 | |
JP7115211B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US9146901B2 (en) | Vector floating point argument reduction | |
US7720900B2 (en) | Fused multiply add split for multiple precision arithmetic | |
JP7042276B2 (ja) | 3つの128ビット拡張オペランドに対して融合積和演算を実行するように構成される浮動小数点ユニット、その方法、プログラム、およびシステム | |
US20150347089A1 (en) | Microarchitecture for floating point fused multiply-add with exponent scaling | |
US10489153B2 (en) | Stochastic rounding floating-point add instruction using entropy from a register | |
JPH09269891A (ja) | 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置 | |
US8751555B2 (en) | Rounding unit for decimal floating-point division | |
WO2007096982A1 (ja) | 演算処理装置および演算処理方法 | |
US10416962B2 (en) | Decimal and binary floating point arithmetic calculations | |
JP3313560B2 (ja) | 浮動小数点演算処理装置 | |
JP2006154979A (ja) | 浮動小数点数演算回路 | |
CN109901813A (zh) | 一种浮点运算装置及方法 | |
JP2020071642A (ja) | 演算処理装置及びその制御方法 | |
US20170220343A1 (en) | Stochastic rounding floating-point multiply instruction using entropy from a register | |
US8041927B2 (en) | Processor apparatus and method of processing multiple data by single instructions | |
JP4613992B2 (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
JP4502040B2 (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
JP3495173B2 (ja) | 演算処理方法および演算処理装置 | |
JP2517064B2 (ja) | 非正規化数の処理方式 | |
JPS6149234A (ja) | 浮動小数点乗算回路 | |
JPH0498524A (ja) | 浮動小数点演算装置 | |
JPS62168228A (ja) | 浮動小数点積和演算器 | |
JP2003058362A (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 |