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
Application number
JP5078650A
Other languages
English (en)
Other versions
JP3503749B2 (ja
Inventor
Stephen Richardson
スティーブン・リチャードソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0628178A publication Critical patent/JPH0628178A/ja
Application granted granted Critical
Publication of JP3503749B2 publication Critical patent/JP3503749B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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

(57)【要約】 【目的】 本発明においては、トリビアルオペランドに
ついて複雑な算術演算を実行する必要をなくしている。 【構成】 算術演算を実行すべきときには、複雑な算術
演算を実行するための算術演算装置へオペランドへ送信
すると同時に、オペランドの一方又は双方が特定のトリ
ビアルオペランドの1例であるか否かを判定するオペラ
ンド検査メカニズムへオペランドを送信する。オペラン
ドの一方が特定のトリビアルオペランドの1例である場
合、複雑な算術演算を停止させ、検査メカニズムは検出
したトリビアルオペランドに従って算術演算の結果を迅
速に出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータにより実
行される算術演算の分野に関する。さらに特定すれば、
本発明は、コンピュータで実行されるトリビアル算術計
算に関する。
【0002】
【従来の技術】コンピュータは1秒間に何千万回もの演
算を実行する。実行される計算の多くは冗長性の高い単
純命令のシーケンスから構成されており、実行される。
それらの命令の多くはトリビアル演算である。とこと
が、算術演算を実行するための除算器、乗算器及び加算
器などの複雑算術演算装置は、算術演算装置が実行しう
る最も複雑な演算を処理するのに十分な複雑さをもつ論
理を含んでいなければならない。たとえば、除算器は3
57.998324/8553.6001のような複雑
な除算から2/1のような単純な分数までを計算するこ
とができなければならない。従来は、いくつかのクラス
のオペランドを最適化することが考えられていた。1例
を挙げると、12ビット整数を掛ける乗算は28ビット
整数を掛ける乗算より迅速に完了するであろう。しかし
ながら、特定のオペランドの例を最適化することはほと
んど考慮されていなかった。これは、特定のオペランド
の例について算術演算関数を最適化するのにコストがか
かりすぎるためである。さらに、そのような演算による
利益は、一般に、労力に値しないほど小さいと考えられ
ている。
【0003】
【発明が解決しようとする課題】従って、本発明の目的
は、いくつかのトリビアルオペランドについて算術演算
を実行するために要する時間の量を減少させる方法を提
供することである。
【0004】
【課題を解決するための手段】本発明においては、トリ
ビアルオペランドについて複雑な算術演算を実行する必
要をなくしている。算術演算を実行すべきときには、複
雑な算術演算を実行するための算術演算装置へオペラン
ドを送信すると同時に、オペランドの一方又は双方が特
定のトリビアルオペランドの1例であるか否かを判定す
るオペランド検査メカニズムへオペランドを送信する。
オペランドの一方が特定のトリビアルオペランドの1例
である場合、複雑な算術演算を停止させ、検査メカニズ
ムは検出したトリビアルオペランドに従って算術演算の
結果を迅速に出力する。本発明の目的、特徴及び利点は
本発明の以下の説明から当業者には明白になるであろ
う。
【0005】
【実施例】以下の説明中、本発明を完全に理解させるた
めに、説明の便宜上、特定のメモリ、編成、構成要素、
アーキテクチャなどを挙げる。しかしながら、特定の詳
細な事項がなくとも本発明を実施しうることは当業者に
は明白であろうし、また、場合によっては、本発明を無
名にわかりにくくしないために周知の回路をブロック線
図の形態で示すこともある。
【0006】アプリケーションにおいて発生するトリビ
アルオペランドの頻度についてさらに綿密に考察してみ
ると、発生の頻度は重大であることがわかる。たとえ
ば、数多くのアプリケーションで、トリビアルオペラン
ドを使用するような乗算演算の発生の頻度はきわめて重
要であることがわかっている。ある演算機能装置が、オ
ペランドの1つとして任意の数だけを処理するために最
適化されているならば、この装置の速度及び/又は複雑
性を減少するというように、この装置のためのトリビア
ルオペランドは任意の数である。例を挙げると、算術演
算が乗算である場合、一方のオペランドが0,−1及び
1であると、その乗算演算の結果は−1及び1について
は第2のオペランドの値(符号の変化を伴うこともあ
る)であり、オペランドの一方が0に等しければ、結果
は0の値になり、0,−1及び1はトリビアルオペラン
ドであると考える。同様に、算術演算が加算である場合
には、一方のオペランドが0であるとき、その算術演算
の結果は他方のオペランドの値となるので、0はトリビ
アルオペランドであると考える。算術演算が乗算又は除
算である場合には、一方のオペランドが2の二乗である
とき、他方のオペランドの2進値の左又は右へのビット
シフトによって結果を簡単に確定できるので、2の二乗
であるオペランドはトリビアルオペランドであると考え
られる。さらに、3.1416などの何らかの任意数が
十分に重要であると思われるならば、この定数を乗じる
乗算が一般的なケースより迅速に起こるように、専用の
論理を構成できるであろう。尚、除数としての0は別個
に何らかの方法で処理しなければならない特殊なケース
を表わすので、除数としての0は通常はトリビアルオペ
ランドではない。
【0007】以下の説明は算術演算の乗算を中心として
いる。ただし、これは単なる例であり、ここで説明する
概念はトリビアルオペランドを含む他の算術演算にも容
易に拡張可能である。多くの場合、整数の乗算は下位レ
ベル演算の複数命令シーケンスとして実現される。浮動
小数点乗算も複数のサイクルを要する傾向にある。以下
の表は、様々な既存のデザインについて、いくつかの浮
動小数点乗算演算を実行するのに必要とされるサイクル
の数を示す。
【0008】 システム 乗算時間 Motorola MC68881 71+ サイクル Intel 80960 12−36 サイクル DEC VAX4000/300 15 サイクル DEC VAX8700 15 サイクル Cypress CY7C602 5 サイクル 単精度 (SPARC) 7 サイクル 倍精度 MIPS R2010 4 サイクル 単精度 5 サイクル 単精度
【0009】(IntelはIntel Corpor
ationの登録商標である。MotorolaはMo
torola Corporationの登録商標であ
る。DEC及びVXAはDigital Equipm
ent Curporationの登録商標である。ま
た、SPARCはSPARC Internation
alの登録商標であり、MIPSはMIPS Comp
uter Systemsの登録商標である。)
【0010】多くの機械レベル命令は1サイクルから2
サイクルを要すると期待されるが、乗算は実現形態に従
ってより多くのサイクルを要することもある。0,1又
は−1の値を有する乗算オペランドの検出と、その後の
適切な結果の放出は、最も洗練されていない実現形態で
あっても2サイクルを要さない単純な動作である。
【0011】図1は、ベンチマーク科学計算用コンピュ
ータに通常使用されている1組の静的に大形で、動的に
も非常に大形である数値ベースプログラムから構成され
たパーフェクトクラブと呼ばれるベンチマークスーツに
おいてトリビアルであるとわかる整数乗算演算の割合
(百分率)を示す。その詳細については、Lyle K
ippの「Perfect Club Benchma
rk Suite IDocumentation」
(Center for Super−compute
r Research and Developmen
t,University of Illinois,
1989年7月刊)を参照。
【0012】図2は、同じベンチマークスーツにおいて
トリビアルオペランドを含むとわかった浮動小数点乗算
演算の割合(百分率)を示す。トリビアルオペランドを
検出し、そのトリビアルオペランドを含む算術演算の結
果を迅速且つ単純に確定することにより、多数のサイク
ルを節約できることがわかる。
【0013】本発明のトリビアルオペランドオプティマ
イザの流れ図を図3に示す。オペランドがトリビアルオ
ペランドであるか否かを確定するためにオペランドを試
験する。この図では、乗算は算術演算であり、−1,0
及び1はトリビアルオペランドと指定されている。いず
れか一方のオペランド、すなわち、x又はyが−1,0
又は1の値を有する場合、その結果zは複雑な算術計算
を実行する必要なく容易に確定される。しかしながら、
このシーケンスは、トリビアル度を求めて各オペランド
を順次検査するオーバヘッドが肯定的効果に対抗するか
又はサイクル時間の節約に反映される場合に限り有利で
ある。従って、図4を参照して説明すると、トリビアル
オペランドの有無の確定を複雑な算術演算の実行と並行
して実行することが好ましい。
【0014】複雑な算術演算を実行するために、オペラ
ンドは直ちに算術演算装置に入力される。同時に、それ
らのオペランドは、特定のトリビアルオペランドの有無
を検出する比較器などの検出メカニズムに入力される。
トリビアルオペランドが確定されると、単純な論理はト
リビアルオペランドが存在することによってわかってい
る結果を出力し、複雑な算術演算を実行する装置へ停止
指令を発行する。いずれのオペランドもトリビアルオペ
ランドでなければ、停止命令は発行されず、複雑な算術
演算は完了するまで継続して、結果を生成する。
【0015】図5は、除算の算術演算に関わるこの最適
化を同様に示す図である。被除数が0に等しい場合、結
果は0である。同様に、除数が0,1又は−1の値を有
する場合には、値はそれぞれ実/整数ではない、被除数
の値になる、被除数の値の逆符号になると容易に確定さ
れるので、その演算はトリビアルである。
【0016】図6は、本発明の最適化技法に従って算術
演算、特に乗算を実行する装置の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へ出力信号を発行し、レジスタは直ちに結果を出力
する。従って、複雑な乗算演算を実行するために必要な
時間は、その乗算が非トリビアルオペランドを含むとき
に限って利用されるので、相当に時間を節約でき、ま
た、システムの計算速度は全体として増す結果になる。
【0017】本発明を好ましい実施例に関連して説明し
たが、以上の説明に照らして数多くの代替構成、変形、
変更及び用途が当業者には明白になることは明らかであ
る。すなわち、図5に示すレジスタ及び比較器の代わり
に他の論理構成要素を使用しても良い。さらに、本発明
は除算のみならず、二乗根演算などの他の算術演算にも
拡張可能である。加えて、演算の結果が一方又は双方の
オペランドの単純関数になるため、非常に短い時間で実
行できるという理由によりトリビアルと考えられる他の
値をも含むように、トリビアルオペランドの範囲を拡張
することができる。詳細にいえば、2の二乗である値は
乗算演算及び除算演算を実行するときにはオペランドの
2進表示のビットシフトに変換されるので、トリビアル
オペランドをそのような値に拡張することができる。ま
た、先に述べた通り、オペランドなどの特定の定数の発
生に関わる性能を向上させるために、本発明を利用する
こともできる。
【図面の簡単な説明】
【図1】ベンチマークスーツの1例においてトリビアル
オペランドを含む整数乗算演算の割合(百分率)を示す
図。
【図2】トリビアルオペランドを含む浮動小数点乗算演
算の割合(百分率)を示す図。
【図3】トリビアルオペランド−1.0,0.0及び
1.0に関する浮動小数点乗算演算の最適化を示す流れ
図。
【図4】いくつかのトリビアルオペランドについて算術
演算の最適化の好ましい一実施例を示す流れ図。
【図5】いくつかのトリビアルオペランドについて算術
演算を最適化の好ましい一実施例を示す流れ図。
【図6】いくつかのトリビアルオペランドについて算術
演算を最適化する装置の別の実施例を示す図。
【符号の説明】
500 乗算器 510,520,530,540,550,560 比
較器 570,580,590,600,620,630 レ
ジスタ 640 オペランドx 650 オペランドy

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 1つ又は複数のオペランドについて多く
    の時間を要する算術演算を実行する複雑算術演算装置に
    あって、その多くの時間を要する算術演算を簡略にする
    最適化装置において、 実行すべき算術演算の1つ又は複数のオペランドを受信
    するように結合し、トリビアルオペランドの有無を検出
    し、トリビアルオペランドが存在する場合、算術演算の
    結果を単純な論理構成要素を使用して容易且つ迅速に確
    定する検出手段と;前記検出手段に結合し、オペランド
    のうち少なくとも1つがトリビアルオペランドであると
    き、算術演算の結果を生成し、その算術演算の結果を算
    術演算装置より相当に短い時間のうちに生成するトリビ
    アルオペランド結果手段と;検出手段と、算術演算装置
    とに結合し、トリビアルオペランドが検出されたとき、
    算術演算装置が算術演算を実行するのを停止するための
    信号を発行する算術演算制御手段とを具備し、 それにより、オペランドのうち少なくとも1つがトリビ
    アルオペランドである場合には、多くの時間を要する複
    雑算術演算を実行する必要なく結果を生成する最適化装
    置。
  2. 【請求項2】 1つ又は複数のオペランドについて多く
    の時間を要する算術演算を実行する複雑算術演算装置に
    あって、その多くの時間を要する算術演算を最適化する
    方法において、 トリビアルオペランドが存在する場合には、算術演算の
    結果を単純な論理構成要素を使用して容易且つ迅速に確
    定するように、トリビアルオペランドの有無を検出する
    過程と;オペランドのうち少なくとも1つがトリビアル
    オペランドであるとき、算術演算の結果を算術演算装置
    より相当に短い時間のうちに生成する過程と;トリビア
    ルオペランドが検出されたとき、算術演算装置が算術演
    算を実行するのを停止するための信号を発行する過程と
    から成り、 それにより、オペランドのうち少なくとも1つがトリビ
    アルオペランドである場合には、多くの時間を要する複
    雑算術演算を実行する必要なく結果を生成する算術演算
    を最適化する方法。
  3. 【請求項3】 1つ又は複数のオペランドについて多く
    の時間を要する算術演算を実行する複雑算術演算装置に
    あって、その多くの時間を要する算術演算を簡略にする
    最適化装置において、 算術演算装置が算術演算を実行するためのオペランドを
    受信するのと同時に、実行すべき算術演算の1つ又は複
    数のオペランドを受信するように結合し、トリビアルオ
    ペランドの有無を検出し、トリビアルオペランドが存在
    する場合、算術演算の結果を単純な論理構成要素を使用
    して容易且つ迅速に確定可能であるような検出手段と;
    検出手段に結合し、オペランドのうち少なくとも1つが
    トリビアルオペランドであるとき、算術演算の結果を生
    成し、その算術演算の結果を算術演算装置より相当に短
    い時間のうちに生成するトリビアルオペランド結果手段
    と;検出手段と、算術演算装置とに結合し、トリビアル
    オペランドが検出されたとき、算術演算装置が算術演算
    を実行するのを停止するための信号を発行し、トリビア
    ルオペランド結果手段から結果を出力させる算術演算制
    御手段とを具備し、 それにより、オペランドのうち少なくとも1つがトリビ
    アルオペランドである場合には、多くの時間を要する複
    雑算術演算を実行する必要なく結果を生成する最適化装
    置。
JP07865093A 1992-03-13 1993-03-15 算術演算を簡略にする最適化装置及び方法 Expired - Lifetime JP3503749B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521729A (ja) * 2007-03-15 2010-06-24 リニア アルジェブラ テクノロジーズ リミテッド 自明な算術演算を利用するプロセッサ

Families Citing this family (39)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN155448B (ja) * 1980-03-19 1985-02-02 Int Computers Ltd

Cited By (1)

* Cited by examiner, † Cited by third party
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