JP2010238011A - ベクトル乗算処理装置および方法ならびにプログラム - Google Patents
ベクトル乗算処理装置および方法ならびにプログラム Download PDFInfo
- Publication number
- JP2010238011A JP2010238011A JP2009086006A JP2009086006A JP2010238011A JP 2010238011 A JP2010238011 A JP 2010238011A JP 2009086006 A JP2009086006 A JP 2009086006A JP 2009086006 A JP2009086006 A JP 2009086006A JP 2010238011 A JP2010238011 A JP 2010238011A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- multiplication
- operand
- partial product
- point
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】高速化回路(固定小数点オーバーフロー先見回路5、スティッキービット先見回路6)を備え、乗算命令に基づき入力される第1オペランドと第2オペランドの積を算出するベクトル乗算処理装置であって、高速化回路を使用し、入力される第1オペランドと第2オペランドとの部分積を生成し、乗算命令とデータ形式とに応じて、部分積の生成に関し、結果的に参照されない特定範囲の回路動作を抑止する乗算回路4(部分積生成回路41、部分積制御回路42)、を備える。
【選択図】図1
Description
本発明の目的は、高速化回路を実装している場合に、乗算回路中の部分積生成回路にて演算動作を行っても結果として参照されない領域を部分積生成回路で直接抑止することで、オペランドのシフトを要することなく消費電力の削減をはかる、ベクトル乗算処理装置および方法ならびにプログラムを提供することにある。
図1は、本発明の第1の実施の形態によるベクトル乗算処理装置の構成を示すブロック図である。
次に、本実施の形態によるベクトル演算処理装置20の動作について、図3〜図8、ならびに図10(a)を参照して詳細に説明する。
本発明の第1の効果は、複数のデータ形式を1個の乗算回路でサポートするベクトル乗算処理装置の消費電力を低減できる、ということである。
次に、本発明の第2の実施の形態によるベクトル乗算処理装置20について、図9に示すベクトル演算処理装置20の構成図を用いて説明する。
IEEE浮動小数点演算では、浮動小数点の演算の結果として、不正なオペランドが与えられたために生じた結果を非数NaNとして出力するため、乗算回路4の結果は参照されない。したがって、浮動小数点乗算命令時に非数検出回路14の出力が非数である場合、部分積制御回路42より部分積生成回路41の全ての領域にoff信号を供給すれば、部分積生成回路41以降の回路全体の動作を停止させることが出来、このことにより、一層の消費電力を低減できる。
本実施の形態によるベクトル乗算処理装置20によれれば、IEEE浮動小数点データ形式の非数を検出し、非数が検出された場合、部分積制御回路42より部分積生成回路41の全ての領域にoff信号を供給することで部分積生成回路41以降の回路全体の動作を停止させることができ、この場合、一層の消費電力の削減が可能になる。
3:前処理回路
4:乗算回路
5:固定小数点オーバーフロー先見回路
6:スティッキービット先見回路
7:浮動小数点加算器
8:固定小数点加算器
9:指数部加算器
10:0カウンタ
11:正規化丸め回路
12:指数部補正回路
13:選択回路
14:非数検出回路
20:ベクトル乗算処理装置
41:部分積生成回路
42:部分積制御回路
43:デコーダ
44:部分積加算器
Claims (7)
- 固定小数点データ形式のオーバーフロー先見回路と、浮動小数点データ形式のスティッキービット先見回路と、を少なくとも備え、乗算命令に基づき入力される第1オペランドと第2オペランドの積を算出するベクトル乗算処理装置であって、
前記オーバーフロー先見回路と前記スティッキービット先見回路とを使用し、入力される第1オペランドと第2オペランドとの部分積を生成し、前記乗算命令とデータ形式とに応じて、前記部分積の生成に関し、結果的に参照されない特定範囲の回路動作を抑止する乗算回路、
を備えたことを特徴とするベクトル乗算処理装置。 - 前記乗算回路は、
前記乗算命令が固定小数点演算命令か浮動小数点乗算命令かを示す命令種別と、前記入力される第1、第2オペラントが有するデータ長とに応じて、前記部分積生成に関して結果として参照されない領域の動作を抑止することを特徴とする請求項1に記載のベクトル乗算処理装置。 - 前記乗算回路は、
前記乗算命令とデータ形式にしたがい、前記部分積生成に関して結果として参照されない領域の動作を抑止する制御信号を生成する部分積制御回路と、
前記部分積制御回路により出力される制御信号にしたがい前記第2のオペランドの仮数部から部分積を生成する部分積生成回路と、
を備えたことを特徴とする請求項1または請求項2に記載のベクトル乗算処理装置。 - 入力される第1のオペランドと前記第2のオペランドを乗算命令とデータ形式にしたがって指数部と仮数部とに分割する前処理回路と、
前記部分積制御回路と部分積演算回路とを含み、前記第1のオペランドと前記第2のオペランドにそれぞれ接続される前記前処理回路の出力である仮数部の乗算を行う乗算回路と、
前記第1のオペランドと前記第2のオペランドを入力として固定小数点乗算結果がオーバーフローするか否かの先見を行う前記オーバーフロー先見回路と、
前記第1のオペランド仮数部及び第2のオペランド仮数部を入力としてスティッキービットを生成する前記スティッキービット先見回路と、
前記第1のオペランドと前記第2のオペランドにそれぞれ接続される前記前処理回路の出力である符号の判定及び指数部の加算を行う指数部加算器と、
前記乗算回路の出力の加算を行う浮動小数点加算器と、
前記乗算回路の出力の加算を行う固定小数点加算器と、
前記浮動小数点加算器の出力を入力として最上位ビット部位からのビット0の数をカウントする0カウンタと、
前記0カウンタの出力に従い前記浮動小数点加算器の出力をシフトして正規化及び丸めを行う正規化丸め回路と、
前記0カウンタの出力に従い前記指数部加算器の出力を補正する指数部補正回路と、
前記乗算命令が浮動小数点乗算を示す場合は、前記指数部補正回路の符号及び指数部出力と、前記正規化丸め回路の仮数部出力とを連結して浮動小数点乗算結果として出力し、前記乗算命令が固定小数点乗算を示す場合は、前記固定小数点加算器の出力を固定小数点の演算結果として出力する選択回路と、
を備えたことを特徴とする請求項1から請求項3のいずれか1項に記載のベクトル乗算処理装置。 - 前記第1のオペランドが格納される第1のベクトルレジスタと、
前記第2のオペランドが格納される第2のベクトルレジスタ2と、
前記第1と第2のベクトルレジスタと、前記乗算回路との間に、不正なオペランドが入力されたために生じる結果を示す非数を検出して前記部分積検出回路を制御する非数検出回路を備え、
前記部分積制御回路は、
前記非数検出回路で非数が検出された場合、前記部分積生成回路の全ての範囲の回路動作を抑止することを特徴とする請求項1から請求項4のいずれか1項に記載のベクトル乗算処理装置。 - 固定小数点データ形式のオーバーフロー先見回路と、浮動小数点データ形式のスティッキービット先見回路と、を少なくとも備え、乗算命令に基づき入力される第1オペランドと第2オペランドの積を算出するベクトル乗算処理装置に用いられるベクトル乗算処理方法であって、
前記オーバーフロー先見回路と前記スティッキービット先見回路とを使用し、入力される第1オペランドと第2オペランドとの部分積を生成するステップと、
前記乗算命令とデータ形式とに応じて、前記部分積の生成に関し、結果的に参照されない特定範囲の回路動作を抑止するステップと、
を有することを特徴とするベクトル乗算処理方法。 - コンピュータ上で実行され、固定小数点データ形式のオーバーフロー先見回路と、浮動小数点データ形式のスティッキービット先見回路と、を少なくとも備え、乗算命令に基づき入力される第1オペランドと第2オペランドの積を算出するベクトル乗算処理装置のベクトル乗算処理プログラムであって、
前記コンピュータに、
前記オーバーフロー先見回路とスティッキービット先見回路とを使用し、入力される第1オペランドと第2オペランドとの部分積を生成する部分積生成処理と、
前記乗算命令とデータ形式とに応じて、前記部分積の生成に関し、結果的に参照されない特定範囲の回路動作を抑止する回路動作抑止処理と、
を実行させることを特徴とするベクトル乗算処理プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009086006A JP2010238011A (ja) | 2009-03-31 | 2009-03-31 | ベクトル乗算処理装置および方法ならびにプログラム |
| US12/730,995 US20100250635A1 (en) | 2009-03-31 | 2010-03-24 | Vector multiplication processing device, and method and program thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009086006A JP2010238011A (ja) | 2009-03-31 | 2009-03-31 | ベクトル乗算処理装置および方法ならびにプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010238011A true JP2010238011A (ja) | 2010-10-21 |
Family
ID=42785567
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009086006A Pending JP2010238011A (ja) | 2009-03-31 | 2009-03-31 | ベクトル乗算処理装置および方法ならびにプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20100250635A1 (ja) |
| JP (1) | JP2010238011A (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8463838B1 (en) * | 2009-10-28 | 2013-06-11 | Lockheed Martin Corporation | Optical processor including windowed optical calculations architecture |
| US9355068B2 (en) | 2012-06-29 | 2016-05-31 | Intel Corporation | Vector multiplication with operand base system conversion and re-conversion |
| US10095516B2 (en) * | 2012-06-29 | 2018-10-09 | Intel Corporation | Vector multiplication with accumulation in large register space |
| US10210919B2 (en) * | 2015-06-03 | 2019-02-19 | Altera Corporation | Integrated circuits with embedded double-clocked components |
| US10042606B2 (en) * | 2016-05-03 | 2018-08-07 | Altera Corporation | Fixed-point and floating-point arithmetic operator circuits in specialized processing blocks |
| US10908878B2 (en) | 2018-11-26 | 2021-02-02 | Nvidia Corporation | Dynamic directional rounding |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0997166A (ja) * | 1995-09-29 | 1997-04-08 | Hitachi Ltd | ディジタル乗算器、ディジタルトランスバーサル型等化器及びディジタル積和演算回路 |
| JP2000259394A (ja) * | 1999-03-09 | 2000-09-22 | Nec Kofu Ltd | 浮動小数点乗算器 |
| JP2006227939A (ja) * | 2005-02-17 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 演算装置 |
| JP2007226489A (ja) * | 2006-02-23 | 2007-09-06 | Nec Computertechno Ltd | 乗算装置、及び演算装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5260889A (en) * | 1992-03-31 | 1993-11-09 | Intel Corporation | Computation of sticky-bit in parallel with partial products in a floating point multiplier unit |
| US7206800B1 (en) * | 2000-08-30 | 2007-04-17 | Micron Technology, Inc. | Overflow detection and clamping with parallel operand processing for fixed-point multipliers |
| US8301681B1 (en) * | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
-
2009
- 2009-03-31 JP JP2009086006A patent/JP2010238011A/ja active Pending
-
2010
- 2010-03-24 US US12/730,995 patent/US20100250635A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0997166A (ja) * | 1995-09-29 | 1997-04-08 | Hitachi Ltd | ディジタル乗算器、ディジタルトランスバーサル型等化器及びディジタル積和演算回路 |
| JP2000259394A (ja) * | 1999-03-09 | 2000-09-22 | Nec Kofu Ltd | 浮動小数点乗算器 |
| JP2006227939A (ja) * | 2005-02-17 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 演算装置 |
| JP2007226489A (ja) * | 2006-02-23 | 2007-09-06 | Nec Computertechno Ltd | 乗算装置、及び演算装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100250635A1 (en) | 2010-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8606840B2 (en) | Apparatus and method for floating-point fused multiply add | |
| US8965945B2 (en) | Apparatus and method for performing floating point addition | |
| US8990282B2 (en) | Apparatus and method for performing fused multiply add floating point operation | |
| US9696964B2 (en) | Multiply adder | |
| JP6415236B2 (ja) | 浮動小数点加算ユニットを含む装置及びシステム、並びに浮動小数点加算方法 | |
| US7949696B2 (en) | Floating-point number arithmetic circuit for handling immediate values | |
| JP5640081B2 (ja) | 飽和を伴う整数乗算および乗算加算演算 | |
| US7720900B2 (en) | Fused multiply add split for multiple precision arithmetic | |
| JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
| JP2010238011A (ja) | ベクトル乗算処理装置および方法ならびにプログラム | |
| US20100125621A1 (en) | Arithmetic processing device and methods thereof | |
| US20200133633A1 (en) | Arithmetic processing apparatus and controlling method therefor | |
| JP4858794B2 (ja) | 浮動小数点除算器、及びそれを用いた情報処理装置 | |
| US7401107B2 (en) | Data processing apparatus and method for converting a fixed point number to a floating point number | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| Tsen et al. | A combined decimal and binary floating-point multiplier | |
| US8244783B2 (en) | Normalizer shift prediction for log estimate instructions | |
| US9280316B2 (en) | Fast normalization in a mixed precision floating-point unit | |
| US7437400B2 (en) | Data processing apparatus and method for performing floating point addition | |
| JP2010218197A (ja) | 浮動小数点積和演算装置、浮動小数点積和演算方法、及び浮動小数点積和演算用プログラム | |
| JP2517064B2 (ja) | 非正規化数の処理方式 | |
| US8612500B2 (en) | Method and decimal arithmetic logic unit structure to generate a magnitude result of a mathematic | |
| KR100385233B1 (ko) | 데이터 프로세싱 시스템의 익스포넌트 유닛 | |
| JP2007226489A (ja) | 乗算装置、及び演算装置 | |
| JP2010049611A (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120209 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130927 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20131009 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20131010 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131115 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131224 |