JP2010027049A - 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) - Google Patents
浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) Download PDFInfo
- Publication number
- JP2010027049A JP2010027049A JP2009161036A JP2009161036A JP2010027049A JP 2010027049 A JP2010027049 A JP 2010027049A JP 2009161036 A JP2009161036 A JP 2009161036A JP 2009161036 A JP2009161036 A JP 2009161036A JP 2010027049 A JP2010027049 A JP 2010027049A
- Authority
- JP
- Japan
- Prior art keywords
- floating point
- instruction
- mantissa
- execution unit
- operand
- 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
- 238000000034 method Methods 0.000 title claims description 29
- 238000012545 processing Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000004148 unit process Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 7
- 230000015654 memory Effects 0.000 description 134
- 238000004891 communication Methods 0.000 description 130
- 239000013598 vector Substances 0.000 description 40
- 239000000872 buffer Substances 0.000 description 15
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241000894006 Bacteria Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- 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/5443—Sum of products
-
- 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
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/382—Reconfigurable for different fixed word lengths
-
- 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/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Nonlinear Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Advance Control (AREA)
Abstract
【解決手段】浮動小数点実行ユニットは、浮動小数点計算のために拡張された値域を動的に提供するために浮動小数点値の仮数ビットの部分集合を付加的な指数ビットして選択的に再利用することができる。浮動小数点オペランドの仮数フィールドは第1および第2部分を含むと考えられることができ、その第1部分は、浮動小数点値の仮数を表すように第2部分と連結されることができ、あるいは、拡張された値域を提供するために、浮動小数点値の指数を表すように浮動小数点オペランドの指数フィールドと連結されることができる。
【選択図】図6
Description
次に図面に目を向けると、同様の数は数個の図の全体にわたって同様の部分を示し、図1は、本発明の実施態様に従うデータ処理に役立つ代表的コンピュータ10を含む代表的自動計算機を示す。図1のコンピュータ10は少なくとも1つのコンピュータ・プロセッサ12または‘CPU'とランダム・アクセス・メモリ14(‘RAM')とを含み、これは高速メモリ・バス16およびバス・アダプタ18を通してプロセッサ12とコンピュータ10の他のコンポーネントとに接続されている。
次に図5に目を向けると、この図は、本発明に従う動的値域調整浮動小数点実行ユニット202を組み込んだ代表的な処理ユニット200を示す。処理ユニット200は、例えば、図1−4のIPブロック104のようなIPブロックにおいてプロセッサ・コアとして実現され得る。あるいは、処理ユニット200は、シングル・コアまたはマルチ・コアのマイクロプロセッサまたはマイクロコントローラを含む、命令を発し実行する他のプロセッサ・アーキテクチャにおいて実現され得る。
242 第1部分
244 第2部分
Claims (23)
- 回路装置であって、
前記回路装置は32ビット浮動小数点値を記憶するように構成された複数のレジスタを含むレジスタ・ファイルを含み、各浮動小数点値は1ビットの符号フィールドと、8ビットの指数フィールドと23ビットの仮数フィールドとで構成され、前記仮数フィールドは3ビットの第1部分と20ビットの第2部分とを含み、
前記回路装置は単精度浮動小数点実行ユニットを含み、前記浮動小数点実行ユニットは、前記レジスタ・ファイルに結合されて、前記浮動小数点実行ユニットにより実行される第1浮動小数点命令により特定される前記レジスタ・ファイルからの第1ソース・レジスタに格納された第1入力浮動小数点値を処理して第1出力浮動小数点値を前記レジスタ・ファイルからの第1宛先レジスタに格納するとともに、前記浮動小数点実行ユニットにより実行される第2浮動小数点命令により特定される前記レジスタ・ファイルからの第2ソース・レジスタに格納された第2入力浮動小数点値を処理して第2出力浮動小数点値を前記レジスタ・ファイルからの第2宛先レジスタに格納するように構成されており、前記浮動小数点実行ユニットは指数経路と仮数経路とを含み、前記第1浮動小数点命令は非拡張値域浮動小数点命令であり、前記第2浮動小数点命令は拡張値域浮動小数点命令であり、前記浮動小数点実行ユニットは、前記第1入力浮動小数点値の前記指数フィールドに格納されているデータを指数として使用しかつ前記第1入力浮動小数点値の前記仮数フィールドの前記第1部分および第2部分に格納されているデータを仮数として使用するべく連結することによって前記第1浮動小数点命令を実行するように構成されており、前記浮動小数点実行ユニットは、前記第2入力浮動小数点値の前記指数フィールドと前記仮数フィールドの前記第1部分とに格納されているデータを指数として使用するべく連結しかつ前記第2入力浮動小数点値の前記仮数フィールドの前記第2部分に格納されているデータを仮数として使用することによって前記第2浮動小数点命令を実行するように構成されており、
前記回路装置は前記浮動小数点実行ユニットの前記仮数経路に結合されて前記レジスタ・ファイルから浮動小数点値を受け取るように構成された第1シフト・ロジックを含み、前記第1シフト・ロジックは、前記第2浮動小数点命令が拡張値域浮動小数点命令であることに基づいて前記第2浮動小数点命令の実行中に前記第2入力浮動小数点値の前記仮数フィールドの前記第2部分のデータを選択的に左へ3ビットだけシフトさせるように構成され、前記第1シフト・ロジックは、さらに、前記第1浮動小数点命令が非拡張値域浮動小数点命令であることに基づいて前記第1入力浮動小数点値の前記仮数フィールドを改変せずに通過させるように構成されており、
前記回路装置は前記浮動小数点実行ユニットの前記仮数経路に結合されて前記浮動小数点実行ユニットからの出力浮動小数点値を受け取るように構成された第2シフト・ロジックを含み、前記第2シフト・ロジックは、前記第2浮動小数点命令が拡張値域浮動小数点命令であることに基づいて前記第2浮動小数点命令の実行中に前記第2出力浮動小数点値の前記仮数フィールドの前記第2部分のデータを選択的に右へ3ビットだけシフトさせるように構成されており、前記第2シフト・ロジックは、さらに、前記第1浮動小数点命令が非拡張値域浮動小数点命令であることに基づいて前記第1出力浮動小数点値の前記仮数フィールドを改変せずに通過させるように構成されており、
前記回路装置は連結ロジックを含み、前記連結ロジックは、前記浮動小数点実行ユニットの前記指数経路に結合されて、前記第2浮動小数点命令が拡張値域浮動小数点命令であることに基づいて前記第2浮動小数点命令の実行中に前記第2入力浮動小数点値の前記指数フィールドと前記仮数フィールドの前記第1部分とからのデータを連結するように構成されている、前記回路装置。 - 回路装置であって、
前記回路装置は浮動小数点オペランドを受け取るように構成されたオペランド入力を含み、前記オペランド入力により受け取られる各浮動小数点オペランドは指数フィールドおよび仮数フィールドで構成され、前記仮数フィールドは第1部分および第2部分を含み、
前記回路装置は、前記オペランド入力に結合されて浮動小数点命令の実行中に前記オペランド入力により受け取られた浮動小数点オペランドを処理するように構成された浮動小数点実行ユニットを含み、前記浮動小数点実行ユニットは、そのための第1浮動小数点オペランドが前記オペランド入力により受け取られているところの第1浮動小数点命令を、前記第1浮動小数点オペランドの前記指数フィールドに格納されているデータを指数として使用しかつ前記第1浮動小数点オペランドの前記仮数フィールドの前記第1部分および第2部分に格納されているデータを仮数として使用するべく連結することによって、実行するように構成されており、前記浮動小数点実行ユニットは、そのための第2浮動小数点オペランドが前記オペランド入力により受け取られているところの第2浮動小数点命令を、前記第2浮動小数点オペランドの前記指数フィールドと前記仮数フィールドの前記第1部分とに格納されているデータを指数として使用するべく連結しかつ前記第2浮動小数点オペランドの前記仮数フィールドの前記第2部分に格納されているデータを仮数として使用することによって、実行するように構成されている、前記回路装置。 - 前記オペランド入力により受け取られる各浮動小数点オペランドは32ビットを含んでいて単精度浮動小数点値を格納するように構成されており、各浮動小数点オペランドは1ビットを有する符号フィールドを含み、各浮動小数点オペランドの前記指数フィールドは8ビットを有し、各浮動小数点オペランドの前記仮数フィールドの前記第1部分は3ビットを有し、各浮動小数点オペランドの前記仮数フィールドの前記第2部分は20ビットを有する、請求項2に記載の回路装置。
- 複数の浮動小数点レジスタを含むレジスタ・ファイルをさらに含んでおり、前記レジスタ・ファイルは、前記浮動小数点実行ユニットの前記オペランド入力に結合された出力と、前記浮動小数点実行ユニットの結果出力を受け取るように結合された入力とを含む、請求項2に記載の回路装置。
- 前記浮動小数点実行ユニットは指数経路および仮数経路を含み、前記浮動小数点実行ユニットは前記結果出力において結果浮動小数点値を出力するように構成され、前記結果浮動小数点値は、前記結果浮動小数点値が指数フィールドと、第1部分および第2部分を含む仮数フィールドとを含むように各浮動小数点オペランドと同様にフォーマットされ、
前記回路装置は前記浮動小数点実行ユニットの前記仮数経路の開始部に近接して配置されて前記オペランド入力に結合された第1シフト・ロジックをさらに含み、前記第1シフト・ロジックは、前記第2浮動小数点命令の実行中に前記第2浮動小数点オペランドの前記仮数フィールドの前記第2部分に格納されているデータを選択的にシフトさせるように構成され、
前記回路装置は第2シフト・ロジックをさらに含み、前記第2シフト・ロジックは、前記浮動小数点実行ユニットの前記仮数経路の末端部に近接して配置されて、前記第2浮動小数点命令の実行中に前記結果浮動小数点値の前記仮数フィールドの前記第2部分に格納されているデータを選択的にシフトさせるように構成されており、前記第1および第2のシフト・ロジックは同数のビットを反対方向にシフトさせる、請求項4に記載の回路装置。 - 前記浮動小数点実行ユニットは、前記指数経路に結合されて前記第2浮動小数点命令の実行中に前記第2浮動小数点オペランドの前記指数フィールドと前記仮数フィールドの前記第1部分とのデータを連結するように構成されたロジックを含む、請求項5に記載の回路装置。
- 前記第1浮動小数点命令は非値域拡張フォーマットの命令であり、前記第2浮動小数点命令は値域拡張フォーマットの命令である、請求項2に記載の回路装置。
- 前記第2浮動小数点命令は、前記第2浮動小数点命令を値域拡張浮動小数点命令として特定するためにセットされるモード・ビットを含む、請求項7に記載の回路装置。
- 前記浮動小数点実行ユニットは、第1モード時には前記第1浮動小数点命令を実行し第2モード時には前記第2浮動小数点命令を実行するように構成されている、請求項2に記載の回路装置。
- 前記浮動小数点実行ユニットは、オーバーフロー状態の数が閾値を満たした時に自動的に前記第1モードから前記第2モードに切り替わるように構成されている、請求項9に記載の回路装置。
- 前記浮動小数点実行ユニットは、特殊目的レジスタに格納されているデータに基づいて前記第1モードと前記第2モードとの間で切り替わるように構成されている、請求項9に記載の回路装置。
- 請求項2の回路装置を含む集積回路装置。
- コンピュータ可読媒体と、前記コンピュータ可読媒体に存在して請求項2の回路装置を定義するロジック定義プログラム・コードとを含むプログラム製品。
- 浮動小数点実行ユニットにおいて浮動小数点命令を実行する方法であって、
第1および第2浮動小数点命令を受け取ることであって、前記第1浮動小数点命令が第1浮動小数点オペランドを特定し、前記第2浮動小数点命令が第2浮動小数点オペランドを特定し、前記第1および第2浮動小数点オペランドが指数フィールドおよび仮数フィールドで構成され、前記仮数フィールドが第1部分および第2部分を含み、前記第1浮動小数点オペランドの前記指数フィールド、前記仮数フィールドの第1部分および前記仮数フィールドの第2部分がそれぞれ前記第2浮動小数点オペランドの前記指数フィールド、前記仮数フィールドの第1部分および前記仮数フィールドの第2部分と同じビットにマッピングされる、前記第1および第2浮動小数点命令を受け取ることと、
前記第1浮動小数点オペランドの前記指数フィールドに格納されているデータを指数として使用しかつ前記第1浮動小数点オペランドの前記仮数フィールドの前記第1および第2部分に格納されているデータを仮数として使用するべく連結することによって前記第1浮動小数点命令を前記浮動小数点実行ユニットにおいて実行することと、
前記第2浮動小数点オペランドの前記指数フィールドと前記仮数フィールドの前記第1部分とに格納されているデータを指数として使用するべく連結しかつ前記第2浮動小数点オペランドの前記仮数フィールドの前記第2部分に格納されているデータを仮数として使用することにより前記第2浮動小数点命令を前記浮動小数点実行ユニットにおいて実行することと、
を含む方法。 - 前記第1および第2浮動小数点オペランドの各々は32ビットを含んでいて単精度浮動小数点値を格納するように構成されており、前記第1および第2浮動小数点オペランドの各々は1ビットを有する符号フィールドを含み、前記第1および第2浮動小数点オペランドの各々の前記指数フィールドは8ビットを有し、前記第1および第2浮動小数点オペランドの各々の前記仮数フィールドの前記第1部分は3ビットを有し、前記第1および第2浮動小数点オペランドの各々の前記仮数フィールドの前記第2部分は20ビットを有する、請求項14に記載の方法。
- 前記第1および第2浮動小数点値はそれぞれレジスタ・ファイル内の第1および第2ソース浮動小数点レジスタに格納され、前記方法は、それぞれ前記第1および第2浮動小数点命令の実行中に前記浮動小数点実行ユニットにより生成された第1および第2結果浮動小数点値を前記レジスタ・ファイル内の第1および第2宛先浮動小数点レジスタに格納することをさらに含む、請求項14に記載の方法。
- 前記浮動小数点実行ユニットは指数経路および仮数経路を含み、前記方法はさらに、
前記第2浮動小数点オペランドの前記仮数フィールドの前記第2部分に格納されているデータを前記第2浮動小数点命令の実行中に前記仮数経路の中で第1方向にシフトさせることと、
前記第2結果浮動小数点値の前記仮数フィールドの前記第2部分に格納されているデータを前記第2浮動小数点命令の実行中に前記仮数経路の中で前記第1方向とは反対の第2方向にシフトさせることと、
を含む、請求項16に記載の方法。 - 前記第2浮動小数点オペランドの前記指数フィールドと前記仮数フィールドの前記第1部分とからのデータを前記第2浮動小数点命令の実行中に前記指数経路において連結することをさらに含む、請求項17に記載の方法。
- 前記第1浮動小数点命令は非値域拡張フォーマットの命令であり、前記第2浮動小数点命令は値域拡張フォーマットの命令である、請求項14に記載の方法。
- 前記第2浮動小数点命令は、前記第2浮動小数点命令を値域拡張浮動小数点命令として特定するためにセットされるモード・ビットを含む、請求項19に記載の方法。
- 前記浮動小数点実行ユニットは、第1モード時には前記第1浮動小数点命令を実行し第2モード時には前記第2浮動小数点命令を実行するように構成されている、請求項12に記載の方法。
- オーバーフロー状態の数が閾値を満たしたことに応答して自動的に前記浮動小数点実行ユニットを前記第1モードから前記第2モードに切り替えることをさらに含む、請求項21に記載の方法。
- 特殊目的レジスタに格納されているデータに基づいて前記浮動小数点実行ユニットを前記第1モードと前記第2モードとの間で切り替えることをさらに含む、請求項21に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/177,444 US8412760B2 (en) | 2008-07-22 | 2008-07-22 | Dynamic range adjusting floating point execution unit |
US12/177444 | 2008-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010027049A true JP2010027049A (ja) | 2010-02-04 |
JP5431044B2 JP5431044B2 (ja) | 2014-03-05 |
Family
ID=41569582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009161036A Expired - Fee Related JP5431044B2 (ja) | 2008-07-22 | 2009-07-07 | 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) |
Country Status (3)
Country | Link |
---|---|
US (2) | US8412760B2 (ja) |
JP (1) | JP5431044B2 (ja) |
KR (1) | KR101020430B1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108139885A (zh) * | 2015-10-07 | 2018-06-08 | Arm有限公司 | 浮点数舍入 |
WO2020059074A1 (ja) * | 2018-09-20 | 2020-03-26 | 株式会社Pfu | データ構造、情報処理装置、方法及びプログラム |
JP2023509121A (ja) * | 2019-12-31 | 2023-03-07 | 華為技術有限公司 | 浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013095638A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Apparatus and method for an instruction that determines whether a value is within a range |
US10289412B2 (en) | 2012-02-09 | 2019-05-14 | Qualcomm Incorporated | Floating point constant generation instruction |
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
KR102165268B1 (ko) * | 2014-09-18 | 2020-10-13 | 삼성전자 주식회사 | 표현 가능한 수의 범위를 조절하는 방법 및 장치 |
US9742630B2 (en) * | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US10019227B2 (en) | 2014-11-19 | 2018-07-10 | International Business Machines Corporation | Accuracy-conserving floating-point value aggregation |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
US10218580B2 (en) | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
US10042607B2 (en) | 2016-08-22 | 2018-08-07 | Altera Corporation | Variable precision floating-point multiplier |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
US10055195B2 (en) * | 2016-09-20 | 2018-08-21 | Altera Corporation | Variable precision floating-point adder and subtractor |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10063496B2 (en) | 2017-01-10 | 2018-08-28 | Netspeed Systems Inc. | Buffer sizing of a NoC through machine learning |
US10469337B2 (en) | 2017-02-01 | 2019-11-05 | Netspeed Systems, Inc. | Cost management against requirements for the generation of a NoC |
US10970042B2 (en) | 2017-11-20 | 2021-04-06 | Intel Corporation | Integrated circuits with machine learning extensions |
US11175892B2 (en) | 2017-11-20 | 2021-11-16 | Intel Corporation | Integrated circuits with machine learning extensions |
US11144457B2 (en) | 2018-02-22 | 2021-10-12 | Netspeed Systems, Inc. | Enhanced page locality in network-on-chip (NoC) architectures |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
US10983910B2 (en) | 2018-02-22 | 2021-04-20 | Netspeed Systems, Inc. | Bandwidth weighting mechanism based network-on-chip (NoC) configuration |
US11023377B2 (en) | 2018-02-23 | 2021-06-01 | Netspeed Systems, Inc. | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) |
US11176302B2 (en) | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
US10871946B2 (en) | 2018-09-27 | 2020-12-22 | Intel Corporation | Methods for using a multiplier to support multiple sub-multiplication operations |
US10642614B2 (en) * | 2018-09-29 | 2020-05-05 | Intel Corporation | Reconfigurable multi-precision integer dot-product hardware accelerator for machine-learning applications |
US10732932B2 (en) | 2018-12-21 | 2020-08-04 | Intel Corporation | Methods for using a multiplier circuit to support multiple sub-multiplications using bit correction and extension |
FR3093571B1 (fr) * | 2019-03-08 | 2021-03-19 | Commissariat Energie Atomique | Procédé et dispositif de représentation en virgule flottante avec précision variable |
US11693626B2 (en) * | 2019-06-18 | 2023-07-04 | Cirrus Logic, Inc. | Variable accuracy computing system |
KR20210085461A (ko) | 2019-12-30 | 2021-07-08 | 삼성전자주식회사 | 프로세싱 장치 및 프로세싱 장치에서 부동 소수점 연산을 처리하는 방법 |
GB2600915B (en) * | 2020-10-07 | 2023-02-15 | Graphcore Ltd | Floating point number format |
CN112905125B (zh) * | 2021-03-04 | 2023-02-07 | 中电普信(北京)科技发展有限公司 | 一种基于计算机高精度计算的数据存储及读取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03263219A (ja) * | 1990-03-14 | 1991-11-22 | Nec Corp | 浮動小数点乗算器 |
JPH0484219A (ja) * | 1990-07-26 | 1992-03-17 | Fujitsu Ltd | 演算処理装置及び演算処理方法 |
JPH04107730A (ja) * | 1990-08-29 | 1992-04-09 | Nec Corp | 浮動小数点加算器 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3742198A (en) * | 1971-03-19 | 1973-06-26 | Bell Telephone Labor Inc | Apparatus for utilizing a three-field word to represent a floating point number |
JPS6097435A (ja) * | 1983-11-02 | 1985-05-31 | Hitachi Ltd | 演算処理装置 |
US4603323A (en) * | 1984-05-25 | 1986-07-29 | International Business Machines Corporation | Method for extending the exponent range of an IBM 370-type floating point processor |
JPS61141033A (ja) * | 1984-12-14 | 1986-06-28 | Hitachi Ltd | 演算処理装置 |
JPH05216620A (ja) * | 1991-10-31 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | 浮動小数点を正規化する方法及び回路 |
US5268855A (en) * | 1992-09-14 | 1993-12-07 | Hewlett-Packard Company | Common format for encoding both single and double precision floating point numbers |
JP3293768B2 (ja) | 1997-11-25 | 2002-06-17 | エヌイーシーフィールディング株式会社 | 浮動小数点演算回路およびこの浮動小数点演算回路を備えたコンピュータ |
US6253299B1 (en) * | 1999-01-04 | 2001-06-26 | International Business Machines Corporation | Virtual cache registers with selectable width for accommodating different precision data formats |
US6405305B1 (en) * | 1999-09-10 | 2002-06-11 | Advanced Micro Devices, Inc. | Rapid execution of floating point load control word instructions |
US7529912B2 (en) * | 2002-02-12 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for instruction-level specification of floating point format |
US7720898B2 (en) * | 2003-06-11 | 2010-05-18 | Stmicroelectronics, Inc. | Apparatus and method for adjusting exponents of floating point numbers |
US7428566B2 (en) * | 2004-11-10 | 2008-09-23 | Nvidia Corporation | Multipurpose functional unit with multiply-add and format conversion pipeline |
US8595279B2 (en) * | 2006-02-27 | 2013-11-26 | Qualcomm Incorporated | Floating-point processor with reduced power requirements for selectable subprecision |
US7885992B2 (en) * | 2006-06-22 | 2011-02-08 | Honeywell International Inc. | System and method for implementing irregular data formats |
US20110004644A1 (en) * | 2009-07-03 | 2011-01-06 | Via Technologies, Inc. | Dynamic floating point register precision control |
-
2008
- 2008-07-22 US US12/177,444 patent/US8412760B2/en not_active Expired - Fee Related
-
2009
- 2009-06-25 KR KR1020090057261A patent/KR101020430B1/ko not_active IP Right Cessation
- 2009-07-07 JP JP2009161036A patent/JP5431044B2/ja not_active Expired - Fee Related
-
2013
- 2013-03-11 US US13/793,240 patent/US9223753B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03263219A (ja) * | 1990-03-14 | 1991-11-22 | Nec Corp | 浮動小数点乗算器 |
JPH0484219A (ja) * | 1990-07-26 | 1992-03-17 | Fujitsu Ltd | 演算処理装置及び演算処理方法 |
JPH04107730A (ja) * | 1990-08-29 | 1992-04-09 | Nec Corp | 浮動小数点加算器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108139885A (zh) * | 2015-10-07 | 2018-06-08 | Arm有限公司 | 浮点数舍入 |
JP2018535476A (ja) * | 2015-10-07 | 2018-11-29 | エイアールエム リミテッド | 浮動小数点数の丸め処理 |
WO2020059074A1 (ja) * | 2018-09-20 | 2020-03-26 | 株式会社Pfu | データ構造、情報処理装置、方法及びプログラム |
JP2023509121A (ja) * | 2019-12-31 | 2023-03-07 | 華為技術有限公司 | 浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 |
JP7407291B2 (ja) | 2019-12-31 | 2023-12-28 | 華為技術有限公司 | 浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20100010473A (ko) | 2010-02-01 |
US20130191432A1 (en) | 2013-07-25 |
JP5431044B2 (ja) | 2014-03-05 |
US9223753B2 (en) | 2015-12-29 |
US8412760B2 (en) | 2013-04-02 |
US20100023568A1 (en) | 2010-01-28 |
KR101020430B1 (ko) | 2011-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5431044B2 (ja) | 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) | |
US8930432B2 (en) | Floating point execution unit with fixed point functionality | |
US8028153B2 (en) | Data dependent instruction decode | |
US7945764B2 (en) | Processing unit incorporating multirate execution unit | |
US9594557B2 (en) | Floating point execution unit for calculating packed sum of absolute differences | |
US9710274B2 (en) | Extensible execution unit interface architecture with multiple decode logic and multiple execution units | |
US9507599B2 (en) | Instruction set architecture with extensible register addressing | |
US7809925B2 (en) | Processing unit incorporating vectorizable execution unit | |
US8139061B2 (en) | Floating point execution unit for calculating a one minus dot product value in a single pass | |
US8356162B2 (en) | Execution unit with data dependent conditional write instructions | |
US8140830B2 (en) | Structural power reduction in multithreaded processor | |
US7904700B2 (en) | Processing unit incorporating special purpose register for use with instruction-based persistent vector multiplexer control | |
US9632786B2 (en) | Instruction set architecture with extended register addressing using one or more primary opcode bits | |
US8892851B2 (en) | Changing opcode of subsequent instruction when same destination address is not used as source address by intervening instructions | |
US9092256B2 (en) | Vector execution unit with prenormalization of denormal values | |
US20160210148A1 (en) | Local instruction loop buffer utilizing execution unit register file | |
US20090228681A1 (en) | Processing Unit Incorporating Instruction-Based Persistent Vector Multiplexer Control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130806 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130927 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130927 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20130927 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20131001 |
|
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: 20131112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20131112 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20131112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131204 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |