JP5010648B2 - 演算装置及び演算方法 - Google Patents
演算装置及び演算方法 Download PDFInfo
- Publication number
- JP5010648B2 JP5010648B2 JP2009180447A JP2009180447A JP5010648B2 JP 5010648 B2 JP5010648 B2 JP 5010648B2 JP 2009180447 A JP2009180447 A JP 2009180447A JP 2009180447 A JP2009180447 A JP 2009180447A JP 5010648 B2 JP5010648 B2 JP 5010648B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- arithmetic
- operand
- result
- exponent
- 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
- 238000000034 method Methods 0.000 title claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 64
- 238000004364 calculation method Methods 0.000 claims description 39
- 238000010606 normalization Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
Description
第1のカウンタ601は、セレクタ100が選択した入力データを複数の部分データに分割してそれぞれ入力し、この入力した部分データ毎にMSBから連続している0の数を計数して第1のリーディングゼロカウントとしてそれぞれ出力する。
11 前処理回路
12 前処理回路
13 前処理回路
14 乗算回路
15 加算器
16 指数部加算器
17 指数部減算器
18 シフト回路
19 正規化丸め回路
20 指数部補正回路
22 固定小数点オーバーフロー判定回路
23 選択回路
41 リーディングゼロ回路
51 リーディングゼロ回路
100 セレクタ
101 カウンタ
102 カウンタ
103 カウンタ
104 カウンタ
105 比較回路
Claims (7)
- 通知された演算命令に基づいて、該演算命令に対応する予め定められたサイズの入力データを選択するセレクタと、
それぞれが、前記選択した入力データを構成する複数の部分データのうちの対応する一つを入力し、該入力した部分データの最上位ビットから連続している0の数を計数して第1のリーディングゼロカウントとして出力する複数の第1のカウンタと、
前記複数の第1のカウンタのそれぞれが出力した第1のリーディングゼロカウントに基づいて、前記入力データついて最上位ビットから連続している0の数を計数してこの計数した0の数を第2のリーディングゼロカウントとして出力する第2のカウンタと、
を含むリーディングゼロ回路と、
前記第1のリーディングゼロカウントを入力して前記演算命令に基づいた演算を行う第1の演算回路と、
前記第2のリーディングゼロカウントを入力して前記演算命令に基づいた演算を行う第2の演算回路と、
前記演算命令を受け、前記演算命令の第1オペランド及び第2オペランドそれぞれの符号及び指数部と、前記演算命令の第1オペランド及び第2オペランドの仮数部に基づいて算出した乗算結果を前記第1の演算回路と前記第2の演算回路とに出力し、前記演算命令の第3オペランドの符号及び指数部と仮数部とを前記第2の演算回路に出力し、前記リーディングゼロ回路の前記第1のリーディングゼロカウントを入力して演算を行った第1の演算回路の出力及び前記演算命令に基づいて、前記第2のリーディングゼロカウントを入力して演算を行った第2の演算回路の出力及び前記乗算結果を出力する第3の演算回路と、
を有することを特徴とする演算装置。 - 前記第2の演算回路は、浮動小数点倍精度データ形式の積和演算回路を構成する演算回路であって、前記第2のリーディングゼロカウントに基づいて積和演算出力を正規化する正規化丸め回路を含むことを特徴とする請求項1記載の演算装置。
- 前記第1の演算回路は、固定小数点乗算回路を構成する演算回路であって、前記第1のリーディングゼロカウントに基づいて固定小数点のオーバーフローを予測する固定小数点オーバーフロー判定回路を含むことを特徴とする請求項2記載の演算装置。
- 前記第1の演算回路は、浮動小数点単精度データ形式の積和演算回路を構成する演算回路であって、前記第1のリーディングゼロカウントに基づいて積和演算出力を正規化する正規化丸め回路を含み、
前記リーディングゼロ回路は、複数の前記第1のリーディングゼロカウントを比較して該複数の第1のリーディングゼロカウントの間で不一致を検出した場合にエラーを出力する比較回路を含む、
ことを特徴とする請求項2記載の演算装置。 - 前記第1の演算回路は、固定小数点オーバーフロー判定回路を含み、
前記第2の演算回路は、指数部加算器と指数部減算器とシフト回路と正規化丸め回路と指数部補正回路とを含み、
前記第3の演算回路は、前処理回路と、乗算回路と選択回路とを含み、
前記前処理回路は、演算命令に含まれる第1のオペランド、第2のオペランド及び第3のオペランドを入力し、該演算命令に基づいてそれらのオペランドのそれぞれを符号と指数部と仮数部とに分割し、
前記乗算回路は、前記第1のオペランド及び前記第2のオペランドについて前記前処理回路が分割したそれらオペランドの仮数部同士の乗算を行い、
前記指数部加算器は、前記第1のオペランド及び前記第2のオペランドについて前記前処理回路が分割したそれらオペランドの符号に基づいて前記乗算回路での演算結果の符合の判定を行い、前記第1のオペランド及び前記第2のオペランドについて前記前処理回路が分割したそれらオペランドの指数部同士の加算を行い、
前記指数部減算器は、前記第3のオペランドについて前記前処理回路が分割した該オペランドの指数部と前記指数部加算器での加算結果との減算演算を行い、
前記シフト回路は、前記指数部減算器での減算結果に基づいて、前記第3のオペランドについて前記前処理回路が分割した該オペランドの仮数部のシフト処理を行い、
前記加算器は、前記乗算回路での乗算結果と前記シフト回路でのシフト処理結果との加算を行い、
前記リーディングゼロ回路の前記セレクタは、前記第1のオペランドと前記第2のオペランドと前記加算器での加算結果とを入力し、前記演算命令に基づいて前記第1のオペランド及び前記第2のオペランドと、前記加算器での加算結果とのいずれかを選択し、前記リーディングゼロ回路の前記第1のカウンタ及び前記第2のカウンタは、前記選択した前記第1のオペランド及び前記第2のオペランドと、前記加算器での加算結果とのいずれかについてそれぞれの先頭からの”0”の数を計数し、
前記正規化丸め回路は、前記リーディングゼロ回路が計数した先頭からの”0”の数に基づいて、前記加算器の出力の正規化処理と丸め処理を行い、
前記指数部補正回路は、前記リーディングゼロ回路が計数した先頭からの”0”の数に基づいて、前記指数部加算器の出力である指数部の補正を行い、
前記固定小数点オーバーフロー判定回路は、前記乗算回路での乗算結果と前記リーディングゼロ回路が計数した先頭からの”0”の数とに基づいて、オーバーフロー判定を行い、
前記選択回路は、前記演算命令及び固定小数点オーバーフロー判定回路のオーバーフロー判定の結果に基づいて、前記指数部補正回路での補正結果である符号及び指数部と前記正規化丸め回路の正規化処理と丸め処理の結果である仮数部とを連結した結果、または、前記乗算回路での乗算結果のいずれかを出力する、
ことを特徴とする請求項1乃至4のいずれか1項に記載の積和演算処理装置。 - 演算装置が、
通知された演算命令に基づいて、該演算命令に対応する予め定められたサイズの入力データを選択する選択ステップと、
前記選択した入力データを複数の部分データに分割し、該複数の部分データのそれぞれについて、その最上位ビットから連続している0の数を計数する第1のカウントステップと、
前記第1のカウントステップにおいて得られた全ての計数結果に基づいて、前記入力データについて最上位ビットから連続している0の数を計数する第2のカウントステップと、前記第1のカウントステップでの計数結果に対して前記演算命令に基づいた演算を行う第1の演算ステップと、
前記第2のカウントステップでの計数結果に対して前記演算命令に基づいた演算を行う第2の演算ステップと、
前記演算命令を受け、前記演算命令の第1オペランド及び第2オペランドそれぞれの符号及び指数部と、前記演算命令の第1オペランド及び第2オペランドの仮数部に基づいて算出した乗算結果を前記第1及び2の演算ステップに渡し、前記演算命令の第3オペランドの符号及び指数部と仮数部とを前記第2の演算ステップに渡し、前記第2の演算ステップでの演算結果及び前記乗算結果を前記演算命令及び前記第1演算ステップの演算結果に基づいて出力する第3の演算ステップと、
を有することを特徴とする演算方法。 - 前記第1の演算ステップは、浮動小数点単精度データ形式の積和演算を実行する演算ステップであって、
前記第1のカウントステップにおいて得られた計数結果に基づいて積和演算出力を正規化する正規化丸めステップと、
複数の前記第1のカウントステップにおいて得られた計数結果を比較して該計数結果の間で不一致を検出した場合にエラーを出力するステップと、を更に含む
ことを特徴とする請求項6記載の演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009180447A JP5010648B2 (ja) | 2009-08-03 | 2009-08-03 | 演算装置及び演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009180447A JP5010648B2 (ja) | 2009-08-03 | 2009-08-03 | 演算装置及び演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011034383A JP2011034383A (ja) | 2011-02-17 |
JP5010648B2 true JP5010648B2 (ja) | 2012-08-29 |
Family
ID=43763384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009180447A Expired - Fee Related JP5010648B2 (ja) | 2009-08-03 | 2009-08-03 | 演算装置及び演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5010648B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0527946A (ja) * | 1991-07-22 | 1993-02-05 | Nec Corp | プライオリテイエンコード回路 |
JPH05241783A (ja) * | 1992-02-25 | 1993-09-21 | Nec Corp | シフト量検出回路 |
JPH05313857A (ja) * | 1992-05-08 | 1993-11-26 | Nec Corp | 浮動小数点加減算装置とその制御方式 |
JP4355705B2 (ja) * | 2006-02-23 | 2009-11-04 | エヌイーシーコンピュータテクノ株式会社 | 乗算装置、及び演算装置 |
-
2009
- 2009-08-03 JP JP2009180447A patent/JP5010648B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011034383A (ja) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7730117B2 (en) | System and method for a floating point unit with feedback prior to normalization and rounding | |
US8965945B2 (en) | Apparatus and method for performing floating point addition | |
US6751644B1 (en) | Method and apparatus for elimination of inherent carries | |
US8990282B2 (en) | Apparatus and method for performing fused multiply add floating point operation | |
US8499017B2 (en) | Apparatus and method for performing fused multiply add floating point operation | |
JP7115211B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JPH09269891A (ja) | 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置 | |
EP2435904B1 (en) | Integer multiply and multiply-add operations with saturation | |
US20100125621A1 (en) | Arithmetic processing device and methods thereof | |
JP4858794B2 (ja) | 浮動小数点除算器、及びそれを用いた情報処理装置 | |
US20100250635A1 (en) | Vector multiplication processing device, and method and program thereof | |
US9519459B2 (en) | High efficiency computer floating point multiplier unit | |
JP5010648B2 (ja) | 演算装置及び演算方法 | |
US20200133633A1 (en) | Arithmetic processing apparatus and controlling method therefor | |
US9280316B2 (en) | Fast normalization in a mixed precision floating-point unit | |
JP4613992B2 (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
US9753690B2 (en) | Splitable and scalable normalizer for vector data | |
US7599974B2 (en) | Data processing apparatus and method for comparing floating point operands | |
US10824692B2 (en) | Low-power adder circuit | |
JP5376659B2 (ja) | 積和演算装置及び積和演算装置の制御方法 | |
KR20240029249A (ko) | 연산 에러를 정정할 수 있는 곱셈 및 누산 연산기 | |
JP3659408B2 (ja) | データ演算処理装置及びデータ演算処理プログラム | |
JP2011165060A (ja) | 定数乗算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120418 |
|
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: 20120515 |
|
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: 20120601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5010648 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150608 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |