JP2018097864A - リーディングゼロ予想 - Google Patents
リーディングゼロ予想 Download PDFInfo
- Publication number
- JP2018097864A JP2018097864A JP2017228193A JP2017228193A JP2018097864A JP 2018097864 A JP2018097864 A JP 2018097864A JP 2017228193 A JP2017228193 A JP 2017228193A JP 2017228193 A JP2017228193 A JP 2017228193A JP 2018097864 A JP2018097864 A JP 2018097864A
- Authority
- JP
- Japan
- Prior art keywords
- difference
- bits
- mask
- intermediate value
- floating 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.)
- Granted
Links
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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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
- G06F7/485—Adding; Subtracting
-
- 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
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
-
- 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/49905—Exception handling
- G06F7/4991—Overflow or underflow
-
- 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/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Nonlinear Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
Description
-1符号×(1.小数部)×2e
の値を表しており、
この場合、eは、バイアスされた指数部から算出された真の指数部である。項(1.小数部)は、仮数部と呼ばれ、1は、FP数の要素として格納されないが、代わりに指数部から推測される。ゼロと最大指数部以外の指数部は、形式(1.小数部)の仮数部を示す。指数部ゼロは、形式(0.小数部)の仮数部を示しており、真の指数部は、所与の形式で(1−バイアス)と等しいことを示している。そのような数字は、サブノーマル数と呼ばれる(歴史的にこのような数字は、デノーマルと呼ばれていたが、現在の慣習では用語サブノーマルの方が好まれる)。
+1=0001 -1=1001
として表す。
バイナリn+1-bit値2n+iの下位nビットによって表され、そうすると4ビットの2の補数の整数は、プラスとマイナスを
+1=0001 -1=1111
として表現する。
L−(最下位)打ち切り後の値の最下位ビット
G−(ガード)次の最上位ビット(すなわち打ち切りに含まれない最初のビット)
S−(スティッキー)打ち切りの部分ではない全ての残りのビットの論理OR
に基づいている。
sig1=1011(10進法の11)
sig2=0111(10進法の7)
を掛けると、
sig1×sig2=1001_101(10進法の77)となる。
Claims (20)
- 第1の浮動小数点数と、第2の浮動小数点数から中間値を生成するための中間値生成回路であって、前記中間値が、前記第1の浮動小数点数の絶対値と、前記第2の浮動小数点数の絶対値の差におけるリーディング0の数の予測を示すリーディング0の数を有し、前記予測が、前記第1の浮動小数点数の絶対値と、前記第2の浮動小数点数の絶対値の前記差における前記リーディング0の数と最大でも1つしか違わない中間値生成回路と、
前記中間値における前記リーディング0の数をカウントするカウント回路と、
前記中間値を利用して1つまたは複数のマスクを形成するマスク生成回路と、
を備えるデータ処理装置であって、
前記マスク生成回路が、前記中間値における前記リーディングゼロの数をカウントするのと同時にまたはそれより前に前記1つまたは複数のマスクを形成するように構成されるデータ処理装置。 - 前記第1の浮動小数点数と、前記第2の浮動小数点数の前記絶対値の差を求めるために差分回路を備える、請求項1に記載のデータ処理装置。
- 前記中間値が、いくつかのリーディングゼロを有し、その後に最上位の1が続き、その後にゼロまたは複数の0もしくは複数の1が続いており、
前記最上位の1の位置は、
前記第1の浮動小数点数の前記絶対値と、前記第2の浮動小数点数の前記絶対値の前記差における最上位の1の位置と同一である、または
前記第1の浮動小数点数の前記絶対値と、前記第2の浮動小数点数の前記絶対値の前記差における前記最上位の1の前記位置に隣接するかのいずれかである、請求項2に記載のデータ処理装置。 - 前記1つまたは複数のマスクが、前記中間値における前記最上位の1の前記位置を示すlマスクを備えており、
前記マスク生成回路が、前記中間値を取り込み、前記ゼロまたは複数の0と1を同数の0で置き換えることによって前記lマスクを形成する、請求項3に記載のデータ処理装置。 - 前記lマスクと、前記差に基づいて、前記差の仮数部がオーバーフローしたかどうかを検出するための仮数部オーバーフロー検出回路を備える、請求項4に記載のデータ処理装置。
- 前記仮数部オーバーフロー検出回路が、前記lマスクと、前記差の下位ビット以外のビットの間で論理AND演算を行うことによって、前記差の前記仮数部がオーバーフローしたかどうかを検出するように構成される、請求項5に記載のデータ処理装置。
- 前記仮数部オーバーフロー検出回路が、左に1回シフトされた前記lマスクと、前記差の下位ビット以外のビットの間で対での論理AND演算を行うことによって、前記差の前記仮数部がオーバーフローしたかどうかを検出するように構成されている、請求項5に記載のデータ処理装置。
- 前記仮数部オーバーフロー検出回路が前記差の前記仮数部がオーバーフローしたことを検出するのに応じて、前記差に対して1ビットの修正するための右シフトを行う、請求項5に記載のデータ処理装置。
- 前記lマスクに基づいて前記差の所与のビットの値を返すためのビット取得回路を備える、請求項4に記載のデータ処理装置。
- 前記所与のビットは、オーバーフロー最下位ビット、最下位ビット、オーバーフローガードビットおよびガードビットのうちの1つである、請求項9に記載のデータ処理装置。
- 前記ビット取得回路が、前記差のビットのサブセットと、前記lマスクのビットのサブセットに対して論理AND演算を行うことによって、前記差の前記所与のビットの前記値を返し、
前記差のビットの前記サブセットと、前記lマスクのビットの前記サブセットが、前記所与のビットに依存している、請求項9に記載のデータ処理装置。 - 前記ビット取得回路が、前記差と、右に何回かシフトされた前記lマスクに対して論理ANDを行うことによって前記差の前記所与のビットの前記値を返し、
前記回数は、前記所与のビットに依存している、請求項9に記載のデータ処理装置。 - 前記1つまたは複数のマスクは、前記差におけるリーディング0以外のビットの位置を示すsマスクを有し、
前記マスク生成回路が、前記中間値を取りこみ、前記ゼロまたは複数の0と1を同数の1で置き換えることによって前記sマスクを形成する、請求項3に記載のデータ処理装置。 - 前記sマスクに基づいて前記差のゼロまたは複数の後続ビットを返すためにビット取得回路を備える、請求項13に記載のデータ処理装置。
- 前記ビット取得回路が、前記差のビットのサブセットと、前記sマスクのビットのサブセットに対して論理AND演算を行うことによって、前記差の前記ゼロまたは複数の後続ビットを返す、請求項14に記載のデータ処理装置。
- 前記後続ビットが、オーバーフロースティッキービットを含んでおり、
前記差のビットの前記サブセットが、前記差の後続xビットであり、前記sマスクのビットの前記サブセットが、前記sマスクの後続xビットであり、
xは、前記差+1におけるスティッキービットの数に等しい、請求項15に記載のデータ処理装置。 - 前記後続ビットが、スティッキービットを含んでおり、
前記差のビットの前記サブセットが、前記差の後続yビットであり、
前記sマスクのビットの前記サブセットが、前記sマスクの後続yビットであり、
yは、前記差におけるスティッキービットの数に等しい、請求項15に記載のデータ処理装置。 - 前記第1の浮動小数点数と、前記第2の浮動小数点数が正規化される、請求項1に記載のデータ処理装置。
- 第1の浮動小数点数と、第2の浮動小数点数から中間値を生成するための中間値生成手段であって、前記中間値が、前記第1の浮動小数点数の絶対値と、前記第2の浮動小数点数の絶対値の差におけるリーディング0の数の予測を示すリーディング0の数を有し、前記予測が、前記第1の浮動小数点数の絶対値と、前記第2の浮動小数点数の絶対値の前記差における前記リーディング0の数と最大でも1つしか違わない中間値生成手段と、
前記中間値における前記リーディング0の数をカウントするためのカウント手段と、
前記中間値を利用して1つまたは複数のマスクを形成するためのマスク生成手段と、
を備えるデータ処理装置であって、
前記マスク生成手段が、前記カウント手段が前記中間値における前記リーディング0の数をカウントするのと同時にまたはそれより前に前記1つまたは複数のマスクを形成するデータ処理装置。 - 第1の浮動小数点数と、第2の浮動小数点数から中間値を生成するステップであって、前記中間値が、前記第1の浮動小数点数の絶対値と、前記第2の浮動小数点数の絶対値の差におけるリーディング0の数の予測を示すリーディング0の数を有し、前記予測が、前記第1の浮動小数点数の絶対値と、前記第2の浮動小数点数の絶対値の前記差における前記リーディング0の数と最大でも1つしか違わない中間値生成ステップと、
前記中間値における前記リーディング0の数をカウントするステップと、
前記中間値を利用して1つまたは複数のマスクを形成するステップと、
を含むデータ処理方法であって、
前記1つまたは複数のマスクを形成するステップが、前記カウントステップが前記中間値における前記リーディング0の数をカウントするのと同時にまたはそれより前に行われるデータ処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/370,212 | 2016-12-06 | ||
US15/370,212 US10606557B2 (en) | 2016-12-06 | 2016-12-06 | Leading zero anticipation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018097864A true JP2018097864A (ja) | 2018-06-21 |
JP7044528B2 JP7044528B2 (ja) | 2022-03-30 |
Family
ID=60950209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017228193A Active JP7044528B2 (ja) | 2016-12-06 | 2017-11-28 | リーディングゼロ予想 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10606557B2 (ja) |
JP (1) | JP7044528B2 (ja) |
KR (1) | KR102459011B1 (ja) |
CN (1) | CN108153513B (ja) |
GB (1) | GB2559039B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6773979B2 (ja) * | 2017-03-13 | 2020-10-21 | 富士通株式会社 | 処理回路及び処理回路の制御方法 |
CN109960486B (zh) * | 2019-02-14 | 2021-06-25 | 安谋科技(中国)有限公司 | 二进制数据处理方法及其装置、介质和*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
JPH05307463A (ja) * | 1992-04-13 | 1993-11-19 | Nec Corp | プライオリティエンコーダおよび浮動小数点加減算装置 |
JPH1063482A (ja) * | 1996-07-12 | 1998-03-06 | Internatl Business Mach Corp <Ibm> | 計算システム及び方法 |
US5841683A (en) * | 1996-09-20 | 1998-11-24 | International Business Machines Corporation | Least significant bit and guard bit extractor |
WO2008096446A1 (ja) * | 2007-02-09 | 2008-08-14 | Fujitsu Limited | 演算処理装置、情報処理装置、および演算方法 |
JP2015170359A (ja) * | 2014-03-07 | 2015-09-28 | エイアールエム リミテッド | 浮動小数点オペランドを乗算するためのデータ処理装置及び方法 |
US20150378679A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Underflow/overflow detection prior to normalization |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5392228A (en) * | 1993-12-06 | 1995-02-21 | Motorola, Inc. | Result normalizer and method of operation |
US7720900B2 (en) * | 2005-09-09 | 2010-05-18 | International Business Machines Corporation | Fused multiply add split for multiple precision arithmetic |
GB201111035D0 (en) * | 2011-06-29 | 2011-08-10 | Advanced Risc Mach Ltd | Floating point adder |
US9104479B2 (en) * | 2011-12-07 | 2015-08-11 | Arm Limited | Apparatus and method for rounding a floating-point value to an integral floating-point value |
-
2016
- 2016-12-06 US US15/370,212 patent/US10606557B2/en active Active
-
2017
- 2017-11-21 KR KR1020170155312A patent/KR102459011B1/ko active IP Right Grant
- 2017-11-24 CN CN201711193652.1A patent/CN108153513B/zh active Active
- 2017-11-28 JP JP2017228193A patent/JP7044528B2/ja active Active
- 2017-12-05 GB GB1720229.2A patent/GB2559039B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
JPH05307463A (ja) * | 1992-04-13 | 1993-11-19 | Nec Corp | プライオリティエンコーダおよび浮動小数点加減算装置 |
JPH1063482A (ja) * | 1996-07-12 | 1998-03-06 | Internatl Business Mach Corp <Ibm> | 計算システム及び方法 |
US5841683A (en) * | 1996-09-20 | 1998-11-24 | International Business Machines Corporation | Least significant bit and guard bit extractor |
WO2008096446A1 (ja) * | 2007-02-09 | 2008-08-14 | Fujitsu Limited | 演算処理装置、情報処理装置、および演算方法 |
JP2015170359A (ja) * | 2014-03-07 | 2015-09-28 | エイアールエム リミテッド | 浮動小数点オペランドを乗算するためのデータ処理装置及び方法 |
US20150378679A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Underflow/overflow detection prior to normalization |
Non-Patent Citations (1)
Title |
---|
ATKINS,MG AND HERRING,JR: "Floating Point Adder Leading Zero Anticipate", IP.COM, vol. 36, no. 10, JPN7021004664, 1 October 1993 (1993-10-01), pages 545 - 548, ISSN: 0004629406 * |
Also Published As
Publication number | Publication date |
---|---|
US20180157463A1 (en) | 2018-06-07 |
GB2559039B (en) | 2019-06-05 |
CN108153513A (zh) | 2018-06-12 |
US10606557B2 (en) | 2020-03-31 |
JP7044528B2 (ja) | 2022-03-30 |
KR102459011B1 (ko) | 2022-10-27 |
GB2559039A (en) | 2018-07-25 |
GB201720229D0 (en) | 2018-01-17 |
CN108153513B (zh) | 2023-05-23 |
KR20180064975A (ko) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468331B (zh) | 独立的浮点转换单元 | |
CN107769791B (zh) | 用于定点到浮点的转换的装置和方法及2的负幂检测器 | |
JP3541066B2 (ja) | コンピュータにおいて除算および平方根計算を実施するための方法および装置 | |
US9608662B2 (en) | Apparatus and method for converting floating-point operand into a value having a different format | |
JP6360450B2 (ja) | 浮動小数点オペランドを乗算するためのデータ処理装置及び方法 | |
US10338889B2 (en) | Apparatus and method for controlling rounding when performing a floating point operation | |
JPH02500551A (ja) | 浮動小数点正規化予測のための装置及び方法 | |
US7668892B2 (en) | Data processing apparatus and method for normalizing a data value | |
CN108694037B (zh) | 用于在执行浮点减法时估计移位量的装置和方法 | |
CN111936965A (zh) | 随机舍入逻辑 | |
US10061561B2 (en) | Floating point addition with early shifting | |
JP7044528B2 (ja) | リーディングゼロ予想 | |
CN102378960B (zh) | 半导体集成电路和指数计算方法 | |
JP2006172035A (ja) | 除算・開平演算器 | |
US10275218B1 (en) | Apparatus and method for subtracting significand values of floating-point operands | |
JPH09244874A (ja) | 最上位有効ビット位置予測方法 | |
US9658827B2 (en) | Apparatus and method for performing reciprocal estimation operation | |
KR20210124347A (ko) | 앵커 데이터 요소 변환 | |
CN110879696A (zh) | 平方根运算中的推测性计算 | |
US10331406B2 (en) | Handling floating-point operations | |
US10346130B2 (en) | Handling floating point operations | |
KR20230015844A (ko) | 극소 검출 | |
RU2614932C1 (ru) | Устройство для логарифмирования двоичных чисел | |
US20080307032A1 (en) | Divider Circuit | |
JP2005031847A (ja) | 整数演算の方法および整数演算プログラム、ならびに整数演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220202 |
|
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: 20220222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7044528 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |