JPH0628178A - 算術演算を簡略にする最適化装置及び方法 - Google Patents
算術演算を簡略にする最適化装置及び方法Info
- Publication number
- JPH0628178A JPH0628178A JP5078650A JP7865093A JPH0628178A JP H0628178 A JPH0628178 A JP H0628178A JP 5078650 A JP5078650 A JP 5078650A JP 7865093 A JP7865093 A JP 7865093A JP H0628178 A JPH0628178 A JP H0628178A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic operation
- operands
- operand
- trivial
- result
- 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 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/50—Adding; Subtracting
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- 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/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 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/49926—Division by zero
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
Abstract
ついて複雑な算術演算を実行する必要をなくしている。 【構成】 算術演算を実行すべきときには、複雑な算術
演算を実行するための算術演算装置へオペランドへ送信
すると同時に、オペランドの一方又は双方が特定のトリ
ビアルオペランドの1例であるか否かを判定するオペラ
ンド検査メカニズムへオペランドを送信する。オペラン
ドの一方が特定のトリビアルオペランドの1例である場
合、複雑な算術演算を停止させ、検査メカニズムは検出
したトリビアルオペランドに従って算術演算の結果を迅
速に出力する。
Description
行される算術演算の分野に関する。さらに特定すれば、
本発明は、コンピュータで実行されるトリビアル算術計
算に関する。
算を実行する。実行される計算の多くは冗長性の高い単
純命令のシーケンスから構成されており、実行される。
それらの命令の多くはトリビアル演算である。とこと
が、算術演算を実行するための除算器、乗算器及び加算
器などの複雑算術演算装置は、算術演算装置が実行しう
る最も複雑な演算を処理するのに十分な複雑さをもつ論
理を含んでいなければならない。たとえば、除算器は3
57.998324/8553.6001のような複雑
な除算から2/1のような単純な分数までを計算するこ
とができなければならない。従来は、いくつかのクラス
のオペランドを最適化することが考えられていた。1例
を挙げると、12ビット整数を掛ける乗算は28ビット
整数を掛ける乗算より迅速に完了するであろう。しかし
ながら、特定のオペランドの例を最適化することはほと
んど考慮されていなかった。これは、特定のオペランド
の例について算術演算関数を最適化するのにコストがか
かりすぎるためである。さらに、そのような演算による
利益は、一般に、労力に値しないほど小さいと考えられ
ている。
は、いくつかのトリビアルオペランドについて算術演算
を実行するために要する時間の量を減少させる方法を提
供することである。
ビアルオペランドについて複雑な算術演算を実行する必
要をなくしている。算術演算を実行すべきときには、複
雑な算術演算を実行するための算術演算装置へオペラン
ドを送信すると同時に、オペランドの一方又は双方が特
定のトリビアルオペランドの1例であるか否かを判定す
るオペランド検査メカニズムへオペランドを送信する。
オペランドの一方が特定のトリビアルオペランドの1例
である場合、複雑な算術演算を停止させ、検査メカニズ
ムは検出したトリビアルオペランドに従って算術演算の
結果を迅速に出力する。本発明の目的、特徴及び利点は
本発明の以下の説明から当業者には明白になるであろ
う。
めに、説明の便宜上、特定のメモリ、編成、構成要素、
アーキテクチャなどを挙げる。しかしながら、特定の詳
細な事項がなくとも本発明を実施しうることは当業者に
は明白であろうし、また、場合によっては、本発明を無
名にわかりにくくしないために周知の回路をブロック線
図の形態で示すこともある。
アルオペランドの頻度についてさらに綿密に考察してみ
ると、発生の頻度は重大であることがわかる。たとえ
ば、数多くのアプリケーションで、トリビアルオペラン
ドを使用するような乗算演算の発生の頻度はきわめて重
要であることがわかっている。ある演算機能装置が、オ
ペランドの1つとして任意の数だけを処理するために最
適化されているならば、この装置の速度及び/又は複雑
性を減少するというように、この装置のためのトリビア
ルオペランドは任意の数である。例を挙げると、算術演
算が乗算である場合、一方のオペランドが0,−1及び
1であると、その乗算演算の結果は−1及び1について
は第2のオペランドの値(符号の変化を伴うこともあ
る)であり、オペランドの一方が0に等しければ、結果
は0の値になり、0,−1及び1はトリビアルオペラン
ドであると考える。同様に、算術演算が加算である場合
には、一方のオペランドが0であるとき、その算術演算
の結果は他方のオペランドの値となるので、0はトリビ
アルオペランドであると考える。算術演算が乗算又は除
算である場合には、一方のオペランドが2の二乗である
とき、他方のオペランドの2進値の左又は右へのビット
シフトによって結果を簡単に確定できるので、2の二乗
であるオペランドはトリビアルオペランドであると考え
られる。さらに、3.1416などの何らかの任意数が
十分に重要であると思われるならば、この定数を乗じる
乗算が一般的なケースより迅速に起こるように、専用の
論理を構成できるであろう。尚、除数としての0は別個
に何らかの方法で処理しなければならない特殊なケース
を表わすので、除数としての0は通常はトリビアルオペ
ランドではない。
いる。ただし、これは単なる例であり、ここで説明する
概念はトリビアルオペランドを含む他の算術演算にも容
易に拡張可能である。多くの場合、整数の乗算は下位レ
ベル演算の複数命令シーケンスとして実現される。浮動
小数点乗算も複数のサイクルを要する傾向にある。以下
の表は、様々な既存のデザインについて、いくつかの浮
動小数点乗算演算を実行するのに必要とされるサイクル
の数を示す。
ationの登録商標である。MotorolaはMo
torola Corporationの登録商標であ
る。DEC及びVXAはDigital Equipm
ent Curporationの登録商標である。ま
た、SPARCはSPARC Internation
alの登録商標であり、MIPSはMIPS Comp
uter Systemsの登録商標である。)
サイクルを要すると期待されるが、乗算は実現形態に従
ってより多くのサイクルを要することもある。0,1又
は−1の値を有する乗算オペランドの検出と、その後の
適切な結果の放出は、最も洗練されていない実現形態で
あっても2サイクルを要さない単純な動作である。
ータに通常使用されている1組の静的に大形で、動的に
も非常に大形である数値ベースプログラムから構成され
たパーフェクトクラブと呼ばれるベンチマークスーツに
おいてトリビアルであるとわかる整数乗算演算の割合
(百分率)を示す。その詳細については、Lyle K
ippの「Perfect Club Benchma
rk Suite IDocumentation」
(Center for Super−compute
r Research and Developmen
t,University of Illinois,
1989年7月刊)を参照。
トリビアルオペランドを含むとわかった浮動小数点乗算
演算の割合(百分率)を示す。トリビアルオペランドを
検出し、そのトリビアルオペランドを含む算術演算の結
果を迅速且つ単純に確定することにより、多数のサイク
ルを節約できることがわかる。
イザの流れ図を図3に示す。オペランドがトリビアルオ
ペランドであるか否かを確定するためにオペランドを試
験する。この図では、乗算は算術演算であり、−1,0
及び1はトリビアルオペランドと指定されている。いず
れか一方のオペランド、すなわち、x又はyが−1,0
又は1の値を有する場合、その結果zは複雑な算術計算
を実行する必要なく容易に確定される。しかしながら、
このシーケンスは、トリビアル度を求めて各オペランド
を順次検査するオーバヘッドが肯定的効果に対抗するか
又はサイクル時間の節約に反映される場合に限り有利で
ある。従って、図4を参照して説明すると、トリビアル
オペランドの有無の確定を複雑な算術演算の実行と並行
して実行することが好ましい。
ンドは直ちに算術演算装置に入力される。同時に、それ
らのオペランドは、特定のトリビアルオペランドの有無
を検出する比較器などの検出メカニズムに入力される。
トリビアルオペランドが確定されると、単純な論理はト
リビアルオペランドが存在することによってわかってい
る結果を出力し、複雑な算術演算を実行する装置へ停止
指令を発行する。いずれのオペランドもトリビアルオペ
ランドでなければ、停止命令は発行されず、複雑な算術
演算は完了するまで継続して、結果を生成する。
化を同様に示す図である。被除数が0に等しい場合、結
果は0である。同様に、除数が0,1又は−1の値を有
する場合には、値はそれぞれ実/整数ではない、被除数
の値になる、被除数の値の逆符号になると容易に確定さ
れるので、その演算はトリビアルである。
演算、特に乗算を実行する装置の1実施例を提示するブ
ロック線図である。オペランドx640とオペランドy
650は、オペランドx及びyの複雑な乗算を実行する
複雑算術演算装置、すなわち、乗算器500に同時に入
力されると共に、いずれか一方のオペランドがトリビア
ルオペランドであるか否かを判定するために、比較器5
10,520,530,540,550及び560にも
同時に入力される。この実施例の場合には、トリビアル
オペランドは0,1及び−1の値であると指定してい
る。レジスタ570,580,590,600,620
及び630はトリビアルオペランドの場合に同時に確定
される結果を記憶する。比較器が実行した試験のいずれ
かの結果がオペランドの一方はトリビアルオペランドで
あることを指示する肯定応答である場合、比較器により
乗算器500へ停止信号を発行すると共に、対応するレ
ジスタ570,580,590,600,620及び6
30へ出力信号を発行し、レジスタは直ちに結果を出力
する。従って、複雑な乗算演算を実行するために必要な
時間は、その乗算が非トリビアルオペランドを含むとき
に限って利用されるので、相当に時間を節約でき、ま
た、システムの計算速度は全体として増す結果になる。
たが、以上の説明に照らして数多くの代替構成、変形、
変更及び用途が当業者には明白になることは明らかであ
る。すなわち、図5に示すレジスタ及び比較器の代わり
に他の論理構成要素を使用しても良い。さらに、本発明
は除算のみならず、二乗根演算などの他の算術演算にも
拡張可能である。加えて、演算の結果が一方又は双方の
オペランドの単純関数になるため、非常に短い時間で実
行できるという理由によりトリビアルと考えられる他の
値をも含むように、トリビアルオペランドの範囲を拡張
することができる。詳細にいえば、2の二乗である値は
乗算演算及び除算演算を実行するときにはオペランドの
2進表示のビットシフトに変換されるので、トリビアル
オペランドをそのような値に拡張することができる。ま
た、先に述べた通り、オペランドなどの特定の定数の発
生に関わる性能を向上させるために、本発明を利用する
こともできる。
オペランドを含む整数乗算演算の割合(百分率)を示す
図。
算の割合(百分率)を示す図。
1.0に関する浮動小数点乗算演算の最適化を示す流れ
図。
演算の最適化の好ましい一実施例を示す流れ図。
演算を最適化の好ましい一実施例を示す流れ図。
演算を最適化する装置の別の実施例を示す図。
較器 570,580,590,600,620,630 レ
ジスタ 640 オペランドx 650 オペランドy
Claims (3)
- 【請求項1】 1つ又は複数のオペランドについて多く
の時間を要する算術演算を実行する複雑算術演算装置に
あって、その多くの時間を要する算術演算を簡略にする
最適化装置において、 実行すべき算術演算の1つ又は複数のオペランドを受信
するように結合し、トリビアルオペランドの有無を検出
し、トリビアルオペランドが存在する場合、算術演算の
結果を単純な論理構成要素を使用して容易且つ迅速に確
定する検出手段と;前記検出手段に結合し、オペランド
のうち少なくとも1つがトリビアルオペランドであると
き、算術演算の結果を生成し、その算術演算の結果を算
術演算装置より相当に短い時間のうちに生成するトリビ
アルオペランド結果手段と;検出手段と、算術演算装置
とに結合し、トリビアルオペランドが検出されたとき、
算術演算装置が算術演算を実行するのを停止するための
信号を発行する算術演算制御手段とを具備し、 それにより、オペランドのうち少なくとも1つがトリビ
アルオペランドである場合には、多くの時間を要する複
雑算術演算を実行する必要なく結果を生成する最適化装
置。 - 【請求項2】 1つ又は複数のオペランドについて多く
の時間を要する算術演算を実行する複雑算術演算装置に
あって、その多くの時間を要する算術演算を最適化する
方法において、 トリビアルオペランドが存在する場合には、算術演算の
結果を単純な論理構成要素を使用して容易且つ迅速に確
定するように、トリビアルオペランドの有無を検出する
過程と;オペランドのうち少なくとも1つがトリビアル
オペランドであるとき、算術演算の結果を算術演算装置
より相当に短い時間のうちに生成する過程と;トリビア
ルオペランドが検出されたとき、算術演算装置が算術演
算を実行するのを停止するための信号を発行する過程と
から成り、 それにより、オペランドのうち少なくとも1つがトリビ
アルオペランドである場合には、多くの時間を要する複
雑算術演算を実行する必要なく結果を生成する算術演算
を最適化する方法。 - 【請求項3】 1つ又は複数のオペランドについて多く
の時間を要する算術演算を実行する複雑算術演算装置に
あって、その多くの時間を要する算術演算を簡略にする
最適化装置において、 算術演算装置が算術演算を実行するためのオペランドを
受信するのと同時に、実行すべき算術演算の1つ又は複
数のオペランドを受信するように結合し、トリビアルオ
ペランドの有無を検出し、トリビアルオペランドが存在
する場合、算術演算の結果を単純な論理構成要素を使用
して容易且つ迅速に確定可能であるような検出手段と;
検出手段に結合し、オペランドのうち少なくとも1つが
トリビアルオペランドであるとき、算術演算の結果を生
成し、その算術演算の結果を算術演算装置より相当に短
い時間のうちに生成するトリビアルオペランド結果手段
と;検出手段と、算術演算装置とに結合し、トリビアル
オペランドが検出されたとき、算術演算装置が算術演算
を実行するのを停止するための信号を発行し、トリビア
ルオペランド結果手段から結果を出力させる算術演算制
御手段とを具備し、 それにより、オペランドのうち少なくとも1つがトリビ
アルオペランドである場合には、多くの時間を要する複
雑算術演算を実行する必要なく結果を生成する最適化装
置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US851,465 | 1992-03-13 | ||
| US07/851,465 US5262973A (en) | 1992-03-13 | 1992-03-13 | Method and apparatus for optimizing complex arithmetic units for trivial operands |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0628178A true JPH0628178A (ja) | 1994-02-04 |
| JP3503749B2 JP3503749B2 (ja) | 2004-03-08 |
Family
ID=25310826
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07865093A Expired - Lifetime JP3503749B2 (ja) | 1992-03-13 | 1993-03-15 | 算術演算を簡略にする最適化装置及び方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5262973A (ja) |
| JP (1) | JP3503749B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010521729A (ja) * | 2007-03-15 | 2010-06-24 | リニア アルジェブラ テクノロジーズ リミテッド | 自明な算術演算を利用するプロセッサ |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5469377A (en) * | 1992-08-18 | 1995-11-21 | Nec Corporation | Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1 |
| US5422805A (en) * | 1992-10-21 | 1995-06-06 | Motorola, Inc. | Method and apparatus for multiplying two numbers using signed arithmetic |
| JP3071607B2 (ja) * | 1993-06-01 | 2000-07-31 | 日本電気株式会社 | 乗算回路 |
| US5339266A (en) * | 1993-11-29 | 1994-08-16 | Motorola, Inc. | Parallel method and apparatus for detecting and completing floating point operations involving special operands |
| US5586069A (en) * | 1994-09-30 | 1996-12-17 | Vlsi Technology, Inc. | Arithmetic logic unit with zero sum prediction |
| GB2296350B (en) * | 1994-12-21 | 1999-10-06 | Advanced Risc Mach Ltd | Data processing divider |
| US5748516A (en) * | 1995-09-26 | 1998-05-05 | Advanced Micro Devices, Inc. | Floating point processing unit with forced arithmetic results |
| US5761105A (en) * | 1995-09-26 | 1998-06-02 | Advanced Micro Devices, Inc. | Reservation station including addressable constant store for a floating point processing unit |
| US5878266A (en) * | 1995-09-26 | 1999-03-02 | Advanced Micro Devices, Inc. | Reservation station for a floating point processing unit |
| DE19639935C1 (de) * | 1996-09-27 | 1998-04-23 | Siemens Ag | Schaltungsanordnung mit zwischen Registern angeordneten kombinatorischen Blöcken |
| JPH10333887A (ja) * | 1997-05-29 | 1998-12-18 | Sharp Corp | 積和演算回路 |
| US6065032A (en) * | 1998-02-19 | 2000-05-16 | Lucent Technologies Inc. | Low power multiplier for CPU and DSP |
| US6487575B1 (en) * | 1998-08-31 | 2002-11-26 | Advanced Micro Devices, Inc. | Early completion of iterative division |
| US6173303B1 (en) * | 1998-11-06 | 2001-01-09 | National Semiconductor Corp. | Multiply circuit and method that detects portions of operands whose partial products are superfluous and modifies partial product manipulation accordingly |
| US20030061252A1 (en) * | 2001-09-27 | 2003-03-27 | Murphy Charles D. | Non-constant reduced-complexity multiplication in signal processing transforms |
| US20030140079A1 (en) * | 2002-01-18 | 2003-07-24 | Murphy Charles Douglas | Multiple number representations for multiplication complexity reduction in signal processing transforms |
| US7945765B2 (en) * | 2008-01-31 | 2011-05-17 | International Business Machines Corporation | Method and structure for asynchronous skip-ahead in synchronous pipelines |
| US20120059866A1 (en) * | 2010-09-03 | 2012-03-08 | Advanced Micro Devices, Inc. | Method and apparatus for performing floating-point division |
| US8762444B2 (en) * | 2011-09-28 | 2014-06-24 | Nvidia Corporation | Fast condition code generation for arithmetic logic unit |
| US9911470B2 (en) | 2011-12-15 | 2018-03-06 | Nvidia Corporation | Fast-bypass memory circuit |
| WO2014098845A1 (en) * | 2012-12-19 | 2014-06-26 | Intel Corporation | Vector mask driven clock gating for power efficiency of a processor |
| GB2551291B (en) | 2013-05-23 | 2018-02-14 | Linear Algebra Tech Limited | Corner detection |
| US10141930B2 (en) | 2013-06-04 | 2018-11-27 | Nvidia Corporation | Three state latch |
| US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
| US9727113B2 (en) | 2013-08-08 | 2017-08-08 | Linear Algebra Technologies Limited | Low power computational imaging |
| US9910675B2 (en) | 2013-08-08 | 2018-03-06 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for low power computational imaging |
| US10001993B2 (en) | 2013-08-08 | 2018-06-19 | Linear Algebra Technologies Limited | Variable-length instruction buffer management |
| US9146747B2 (en) | 2013-08-08 | 2015-09-29 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for providing configurable computational imaging pipeline |
| US9196017B2 (en) | 2013-11-15 | 2015-11-24 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for removing noise from an image |
| US9270872B2 (en) | 2013-11-26 | 2016-02-23 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for removing shading effect from image |
| US9519459B2 (en) * | 2014-06-20 | 2016-12-13 | Wisconsin Alumni Research Foundation | High efficiency computer floating point multiplier unit |
| US20170046153A1 (en) * | 2015-08-14 | 2017-02-16 | Qualcomm Incorporated | Simd multiply and horizontal reduce operations |
| US10460704B2 (en) | 2016-04-01 | 2019-10-29 | Movidius Limited | Systems and methods for head-mounted display adapted to human visual mechanism |
| US11269643B2 (en) * | 2017-04-09 | 2022-03-08 | Intel Corporation | Data operations and finite state machine for machine learning via bypass of computational tasks based on frequently-used data values |
| US10346944B2 (en) | 2017-04-09 | 2019-07-09 | Intel Corporation | Machine learning sparse computation mechanism |
| US10372416B2 (en) * | 2017-04-28 | 2019-08-06 | Intel Corporation | Multiply-accumulate “0” data gating |
| US10949947B2 (en) | 2017-12-29 | 2021-03-16 | Intel Corporation | Foveated image rendering for head-mounted display devices |
| US11714652B2 (en) * | 2021-07-23 | 2023-08-01 | Advanced Micro Devices, Inc. | Zero operand instruction conversion for accelerating sparse computations in a central processing unit pipeline |
| CN113591031A (zh) * | 2021-09-30 | 2021-11-02 | 沐曦科技(北京)有限公司 | 低功耗矩阵运算方法及装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IN155448B (ja) * | 1980-03-19 | 1985-02-02 | Int Computers Ltd |
-
1992
- 1992-03-13 US US07/851,465 patent/US5262973A/en not_active Expired - Lifetime
-
1993
- 1993-03-15 JP JP07865093A patent/JP3503749B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010521729A (ja) * | 2007-03-15 | 2010-06-24 | リニア アルジェブラ テクノロジーズ リミテッド | 自明な算術演算を利用するプロセッサ |
Also Published As
| Publication number | Publication date |
|---|---|
| US5262973A (en) | 1993-11-16 |
| JP3503749B2 (ja) | 2004-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3503749B2 (ja) | 算術演算を簡略にする最適化装置及び方法 | |
| US4578750A (en) | Code determination using half-adder based operand comparator | |
| US5357237A (en) | In a data processor a method and apparatus for performing a floating-point comparison operation | |
| US6675292B2 (en) | Exception handling for SIMD floating point-instructions using a floating point status register to report exceptions | |
| US5339266A (en) | Parallel method and apparatus for detecting and completing floating point operations involving special operands | |
| US5212662A (en) | Floating point arithmetic two cycle data flow | |
| KR20190090817A (ko) | 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법 | |
| RU2142157C1 (ru) | Способ функционирования системы обработки | |
| US5341320A (en) | Method for rapidly processing floating-point operations which involve exceptions | |
| JPH11288411A (ja) | 基本関数の高精度推定 | |
| US7085917B2 (en) | Multi-pipe dispatch and execution of complex instructions in a superscalar processor | |
| US6209076B1 (en) | Method and apparatus for two-stage address generation | |
| US7143126B2 (en) | Method and apparatus for implementing power of two floating point estimation | |
| WO2006132782A2 (en) | Method and apparatus for formatting numbers in microprocessors | |
| TWI653577B (zh) | 整合算術及邏輯處理的裝置 | |
| US7299170B2 (en) | Method and apparatus for the emulation of high precision floating point instructions | |
| US20040230634A1 (en) | Method and system for determining quotient digits for decimal division in a superscaler processor | |
| GB2511314A (en) | Fast fused-multiply-add pipeline | |
| US7080112B2 (en) | Method and apparatus for computing an approximation to the reciprocal of a floating point number in IEEE format | |
| EP0809179A2 (en) | Digital microprocessor device having variable-delay division hardware | |
| US5117384A (en) | Method and apparatus for exponent adder | |
| US20040117423A1 (en) | Signed integer long division apparatus and methods for use with processors | |
| US5675528A (en) | Early detection of overflow and exceptional quotient/remainder pairs for nonrestoring twos complement division | |
| US4878193A (en) | Method and apparatus for accelerated addition of sliced addends | |
| JP3727039B2 (ja) | コンパイラにおける乗算実施方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031204 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071219 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081219 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101219 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101219 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 10 |