JP6407001B2 - 浮動小数点数を整数に変換するための電子装置及びシステム及びその動作方法 - Google Patents
浮動小数点数を整数に変換するための電子装置及びシステム及びその動作方法 Download PDFInfo
- Publication number
- JP6407001B2 JP6407001B2 JP2014248684A JP2014248684A JP6407001B2 JP 6407001 B2 JP6407001 B2 JP 6407001B2 JP 2014248684 A JP2014248684 A JP 2014248684A JP 2014248684 A JP2014248684 A JP 2014248684A JP 6407001 B2 JP6407001 B2 JP 6407001B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- injection
- floating point
- integer
- rounding
- 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
- 238000000034 method Methods 0.000 title claims description 41
- 238000002347 injection Methods 0.000 claims description 136
- 239000007924 injection Substances 0.000 claims description 136
- 230000000295 complement effect Effects 0.000 claims description 27
- 238000010606 normalization Methods 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000010365 information processing Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100028951 Homo sapiens PDIA2 gene Proteins 0.000 description 1
- 102100036351 Protein disulfide-isomerase A2 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
本発明の実施形態において、インジェクション常数は、ラウンドインジェクションビット、スティッキーインジェクションビット、及びキャリーイン値を含むことができる。
本発明の実施形態による電子装置は、所定のインジェクション常数の集合に基づいて、整数結果の最下位ビットが修正されるか否かを判別するための最下位ビット修正回路をさらに含むことができる。
本発明の実施形態において、整数結果は、2の補数形式で構成された整数値を含むことができる。
本発明の実施形態において、整数結果は、符号を有しない形式の整数値を含むことができる。
本発明の実施形態において、少なくとも1つのラウンディング値は、ラウンドインジェクションビット、スティッキーインジェクションビット、及びキャリーイン値を含むことができる。
本発明の実施形態による動作方法は、所定のラウンディング値の集合に基づいて、整数結果の最下位ビットが修正されるか否かを判別する段階と、整数結果の最下位ビットが修正されるものであると判別された場合、整数結果の最下位ビットを修正する段階と、をさらに含むことができる。
本発明の実施形態において、整数結果は、2の補数形式で構成された整数値を含むことができる。
本発明の実施形態において、整数結果は、符号を有しない形式の整数値を含むことができる。
本発明の実施形態において、インジェクション常数は、浮動小数点数の符号ビットと同一のキャリーインビットを含むことができる。さらに、インジェクション常数は、ラウンドインジェクションビット及びスティッキーインジェクションビットをさらに含むことができる。この実施形態において、0に向かうラウンディングが遂行される場合、ラウンドインジェクションビット及びスティッキーインジェクションビットは、浮動小数点数の符号ビットと同一であり、負の無限大に向かうラウンディングが遂行される場合、ラウンドインジェクションビット及びスティッキーインジェクションビットは、0と同一であり、正の無限大に向かうラウンディングが遂行される場合、ラウンドインジェクションビット及びスティッキーインジェクションビットは、1と同一であり、最も近接した数へのラウンディングが遂行される場合、ラウンドインジェクションビットは、1と同一であり、かつスティッキーインジェクションビットは、0と同一であることができる。
本発明の実施形態において、整数結果は、2の補数形式で構成された整数値を含むことができる。
この実施形態において、電子システム100は、浮動小数点形式の数が提供されて格納するように構成されるレジスター又はメモリ102を含む。先に言及されたように、実施形態として、浮動小数点数は、符号ビット、指数部分、及び仮数(Mantissa)部分を含む。
102 メモリ
104 正規化エンジン
106 中間段階の正規化された数
108 正規化された数
110 加算器
112 インジェクション常数
114 キャリーイン値
116 正の整数
118 最下位ビット修正回路
120 整数結果
122 符号ビット
126 分数値
136 ラウンドビット
146 スティッキービット
400 最下位ビット修正回路
402 活性化回路
404 修正回路
600 情報処理システム
605 システムバス
610 ロジック又はプロセッサ
615 組合せ論理ブロック
620 揮発性メモリ
630 不揮発性メモリ
640 ネットワークインターフェイス
650 ユーザーインターフェイス
660 その他のハードウェア装置
670 ソフトウェア
Claims (18)
- 浮動小数点形式で構成された浮動小数点数を格納するように構成されるメモリと、
前記浮動小数点数の少なくとも一部分を正規化して正規化された数を生成するように構成される正規化エンジンと、
浮動小数点数を整数に変換するためのラウンディングモードに基づいてインジェクション常数を生成するように構成されるルックアップテーブルと、
前記正規化された数と前記インジェクション常数とを加算して整数結果を生成するように構成される加算器と、を含み、
前記インジェクション常数は、ラウンドインジェクションビット、スティッキーインジェクションビット、及びキャリーインビットを含む、電子装置。 - 前記加算器は、前記正規化された数と前記インジェクション常数とだけを加算するように構成される請求項1に記載の電子装置。
- 前記キャリーインビットは、前記浮動小数点数の符号ビットと同一であり、
0に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、前記浮動小数点数の前記符号ビットと同一であり、
負の無限大に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、0と同一であり、
正の無限大に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、1と同一であり、
最も近接した数へのラウンディングが遂行される場合、前記ラウンドインジェクションビットは、1と同一であり、かつ前記スティッキーインジェクションビットは、0と同一である請求項1に記載の電子装置。 - 前記浮動小数点数が負の数である場合、前記正規化エンジンは、1の補数演算を通じて前記浮動小数点数の正規化された形態を反転させるようにさらに構成される請求項1に記載の電子装置。
- 所定のインジェクション常数の集合に基づいて、前記整数結果の最下位ビットが修正されるか否かを判別するための最下位ビット修正回路をさらに含む請求項1に記載の電子装置。
- 前記整数結果は、2の補数形式で構成された整数値を含む請求項1に記載の電子装置。
- 前記整数結果は、符号を有しない形式の整数値を含む請求項1に記載の電子装置。
- 電子装置の動作方法において、
メモリにより、浮動小数点形式で構成された浮動小数点数が提供される段階と、
正規化エンジンにより、正規化された数を生成するために前記浮動小数点数の少なくとも一部分を正規化する段階と、
前記メモリに格納されたルックアップテーブルにより、浮動小数点数を整数に変換するためのラウンディングモードにしたがってインジェクション常数を算出する段階と、
加算器により、整数結果を生成するために前記正規化された数と前記算出されたインジェクション常数とを加算する段階と、を含み、
前記インジェクション常数は、ラウンドインジェクションビット、スティッキーインジェクションビット、及びキャリーインビットを含む、動作方法。 - 加算器により、前記正規化された数と前記算出されたインジェクション常数とを加算する段階は、前記加算器により、前記正規化された数と前記算出されたインジェクション常数とだけを加算する段階を含む請求項8に記載の動作方法。
- 前記キャリーインビットは、前記浮動小数点数の符号ビットと同一であり、
0に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、前記浮動小数点数の前記符号ビットと同一であり、
負の無限大に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、0と同一であり、
正の無限大に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、1と同一であり、
最も近接した数へのラウンディングが遂行される場合、前記ラウンドインジェクションビットは、1と同一であり、かつ前記スティッキーインジェクションビットは、0と同一である請求項8に記載の動作方法。 - 正規化エンジンにより、前記浮動小数点数の少なくとも一部分を正規化する段階は、前記浮動小数点数が負の数である場合、前記正規化エンジンにより、1の補数演算を通じて前記浮動小数点数の正規化された形態を反転させる段階を含む請求項8に記載の動作方法。
- 最下位ビット修正回路により、前記ラウンディングモードに基づいて、前記整数結果の最下位ビットが修正されるか否かを判別する段階と、
前記整数結果の前記最下位ビットが修正されるものであると判別された場合、前記最下位ビット修正回路により、前記整数結果の前記最下位ビットを修正する段階と、をさらに含む請求項8に記載の動作方法。 - 前記整数結果は、2の補数形式で構成された整数値を含む請求項8に記載の動作方法。
- 前記整数結果は、符号を有しない形式の整数値を含む請求項8に記載の動作方法。
- 浮動小数点形式で構成された浮動小数点数を格納するように構成されるメモリと、
前記浮動小数点数を整数に変換するように構成される浮動小数点変換ユニットと、を含み、
前記浮動小数点変換ユニットは、
前記浮動小数点数の少なくとも一部分を正規化して正規化された数を生成するように構成される正規化エンジンと、
浮動小数点数を整数に変換するためのラウンディングモードに基づいてインジェクション常数を生成するように構成されるルックアップテーブルと、
前記正規化された数と前記インジェクション常数とを加算して整数結果を生成するように構成される加算器と、を含み、
前記インジェクション常数は、ラウンドインジェクションビット、スティッキーインジェクションビット、及びキャリーインビットを含む、電子システム。 - 前記加算器は、前記正規化された数と前記インジェクション常数とだけを加算するように構成される請求項15に記載の電子システム。
- 前記キャリーインビットは、前記浮動小数点数の符号ビットと同一であり、
0に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、前記浮動小数点数の前記符号ビットと同一であり、
負の無限大に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、0と同一であり、
正の無限大に向かうラウンディングが遂行される場合、前記ラウンドインジェクションビット及び前記スティッキーインジェクションビットは、1と同一であり、
最も近接した数へのラウンディングが遂行される場合、前記ラウンドインジェクションビットは、1と同一であり、かつ前記スティッキーインジェクションビットは、0と同一である請求項15に記載の電子システム。 - 前記整数結果は、2の補数形式で構成された整数値を含む請求項15に記載の電子システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361922081P | 2013-12-30 | 2013-12-30 | |
US61/922,081 | 2013-12-30 | ||
US14/243,568 | 2014-04-02 | ||
US14/243,568 US9461667B2 (en) | 2013-12-30 | 2014-04-02 | Rounding injection scheme for floating-point to integer conversion |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015127954A JP2015127954A (ja) | 2015-07-09 |
JP6407001B2 true JP6407001B2 (ja) | 2018-10-17 |
Family
ID=53481830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014248684A Active JP6407001B2 (ja) | 2013-12-30 | 2014-12-09 | 浮動小数点数を整数に変換するための電子装置及びシステム及びその動作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9461667B2 (ja) |
JP (1) | JP6407001B2 (ja) |
KR (1) | KR102253096B1 (ja) |
CN (1) | CN104750456B (ja) |
TW (1) | TWI643124B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9461667B2 (en) * | 2013-12-30 | 2016-10-04 | Samsung Electronics Co., Ltd. | Rounding injection scheme for floating-point to integer conversion |
US10409614B2 (en) | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
EP3442124B1 (de) * | 2017-08-07 | 2020-02-05 | Siemens Aktiengesellschaft | Verfahren zum schützen der daten in einem datenspeicher vor einer unerkannten veränderung und datenverarbeitungsanlage |
US10908878B2 (en) * | 2018-11-26 | 2021-02-02 | Nvidia Corporation | Dynamic directional rounding |
CN112905240A (zh) | 2019-03-15 | 2021-06-04 | 英特尔公司 | 用于脉动阵列上的块稀疏操作的架构 |
US20220114108A1 (en) | 2019-03-15 | 2022-04-14 | Intel Corporation | Systems and methods for cache optimization |
US11934342B2 (en) | 2019-03-15 | 2024-03-19 | Intel Corporation | Assistance for hardware prefetch in cache access |
DE112020001258T5 (de) | 2019-03-15 | 2021-12-23 | Intel Corporation | Grafikprozessoren und Grafikverarbeitungseinheiten mit Skalarproduktakkumulationsanweisungen für ein Hybrid-Gleitkommaformat |
CN112711441A (zh) * | 2019-10-25 | 2021-04-27 | 安徽寒武纪信息科技有限公司 | 用于转换数据类型的转换器、芯片、电子设备及其方法 |
CN113239389B (zh) * | 2021-07-12 | 2021-09-17 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3253660B2 (ja) * | 1991-12-19 | 2002-02-04 | 松下電器産業株式会社 | 数値丸め装置および数値丸め方法 |
US5257215A (en) | 1992-03-31 | 1993-10-26 | Intel Corporation | Floating point and integer number conversions in a floating point adder |
US5892698A (en) | 1996-04-04 | 1999-04-06 | Hewlett-Packard Company | 2's complement floating-point multiply accumulate unit |
US6131104A (en) * | 1998-03-27 | 2000-10-10 | Advanced Micro Devices, Inc. | Floating point addition pipeline configured to perform floating point-to-integer and integer-to-floating point conversion operations |
US6148316A (en) * | 1998-05-05 | 2000-11-14 | Mentor Graphics Corporation | Floating point unit equipped also to perform integer addition as well as floating point to integer conversion |
US6205461B1 (en) | 1998-09-18 | 2001-03-20 | Ati International Srl | Floating point arithmetic logic unit leading zero count using fast approximate rounding |
US6366942B1 (en) | 1999-02-01 | 2002-04-02 | Compaq Information Technologies Group Lp | Method and apparatus for rounding floating point results in a digital processing system |
US7143126B2 (en) * | 2003-06-26 | 2006-11-28 | International Business Machines Corporation | Method and apparatus for implementing power of two floating point estimation |
US7236181B2 (en) * | 2003-08-03 | 2007-06-26 | Realtek Semiconductor Corp. | Apparatus for color conversion and method thereof |
US7433911B2 (en) | 2004-12-21 | 2008-10-07 | Arm Limited | Data processing apparatus and method for performing floating point addition |
US20070086524A1 (en) * | 2005-10-13 | 2007-04-19 | Chen Chen | Method for transform-domain rounding in a decoder and video decoder thereof |
US8595279B2 (en) * | 2006-02-27 | 2013-11-26 | Qualcomm Incorporated | Floating-point processor with reduced power requirements for selectable subprecision |
US8386755B2 (en) | 2009-07-28 | 2013-02-26 | Via Technologies, Inc. | Non-atomic scheduling of micro-operations to perform round instruction |
CN102339217B (zh) * | 2010-07-27 | 2014-09-10 | 中兴通讯股份有限公司 | 一种浮点数乘加器融合处理装置及方法 |
TW201205316A (en) * | 2010-07-28 | 2012-02-01 | Ind Tech Res Inst | Method for establishing multiple look-up tables and data acquisition method by using multiple look-up tables |
CN102004627B (zh) * | 2010-11-01 | 2012-11-21 | 深圳市海思半导体有限公司 | 乘法舍入实现方法和装置 |
US8745111B2 (en) * | 2010-11-16 | 2014-06-03 | Apple Inc. | Methods and apparatuses for converting floating point representations |
KR101718817B1 (ko) | 2010-11-17 | 2017-03-29 | 삼성전자주식회사 | 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법 |
US8965945B2 (en) | 2011-02-17 | 2015-02-24 | Arm Limited | Apparatus and method for performing floating point addition |
US9047118B2 (en) * | 2011-06-30 | 2015-06-02 | Altera Corporation | Computationally efficient compression of floating-point data |
WO2013095535A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Floating point rounding processors, methods, systems, and instructions |
US9264066B2 (en) * | 2013-07-30 | 2016-02-16 | Apple Inc. | Type conversion using floating-point unit |
US9461667B2 (en) * | 2013-12-30 | 2016-10-04 | Samsung Electronics Co., Ltd. | Rounding injection scheme for floating-point to integer conversion |
-
2014
- 2014-04-02 US US14/243,568 patent/US9461667B2/en active Active
- 2014-09-23 KR KR1020140126726A patent/KR102253096B1/ko active IP Right Grant
- 2014-12-09 JP JP2014248684A patent/JP6407001B2/ja active Active
- 2014-12-18 TW TW103144199A patent/TWI643124B/zh active
- 2014-12-22 CN CN201410805754.4A patent/CN104750456B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TW201528130A (zh) | 2015-07-16 |
CN104750456A (zh) | 2015-07-01 |
US9461667B2 (en) | 2016-10-04 |
TWI643124B (zh) | 2018-12-01 |
CN104750456B (zh) | 2018-06-19 |
KR102253096B1 (ko) | 2021-05-18 |
US20150186111A1 (en) | 2015-07-02 |
JP2015127954A (ja) | 2015-07-09 |
KR20150079389A (ko) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6407001B2 (ja) | 浮動小数点数を整数に変換するための電子装置及びシステム及びその動作方法 | |
US11256978B2 (en) | Hyperbolic functions for machine learning acceleration | |
KR102358013B1 (ko) | 3-경로 단일 곱셈-누산기 설계에서 고속 근경로 증분합 | |
US10886942B2 (en) | Floating point to fixed point conversion using exponent offset | |
US9722629B2 (en) | Method and apparatus for converting from floating point to integer representation | |
US10108398B2 (en) | High performance floating-point adder with full in-line denormal/subnormal support | |
CN106250098B (zh) | 用于在执行浮点运算时控制舍入的装置及方法 | |
Hormigo et al. | Measuring improvement when using HUB formats to implement floating-point systems under round-to-nearest | |
CN106126190B (zh) | 部分余数/除数表拆分实现 | |
TW200821916A (en) | Controlled-precision iterative arithmetic logic unit | |
WO2016119547A1 (en) | Method and apparatus for converting from integer to floating point representation | |
US20180129473A1 (en) | Fast sticky generation in a far path of a floating point adder | |
JP2018097864A (ja) | リーディングゼロ予想 | |
US10353671B2 (en) | Circuitry and method for performing division | |
JP2002175179A (ja) | 整数除算方法および整数除算装置 | |
GB2522948A (en) | Check Procedure For Floating Point Operations | |
TW202129487A (zh) | 資訊處理裝置、程式、記錄媒體及資訊處理方法 | |
JP2007257225A (ja) | 計算装置、および、計算方法 | |
JP2006243826A (ja) | 浮動小数点数値のm乗根を演算する浮動小数点演算装置及びコンピュータプログラム | |
JP2007257239A (ja) | 計算装置、および、計算方法 | |
KR20120090109A (ko) | 복수의 디지털 입력신호에서 최대값 또는 최소값을 획득하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171017 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180806 |
|
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: 20180820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6407001 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |