JP2902045B2 - 高速数値処理装置 - Google Patents

高速数値処理装置

Info

Publication number
JP2902045B2
JP2902045B2 JP2109937A JP10993790A JP2902045B2 JP 2902045 B2 JP2902045 B2 JP 2902045B2 JP 2109937 A JP2109937 A JP 2109937A JP 10993790 A JP10993790 A JP 10993790A JP 2902045 B2 JP2902045 B2 JP 2902045B2
Authority
JP
Japan
Prior art keywords
circuit
array
register
mode
port
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.)
Expired - Fee Related
Application number
JP2109937A
Other languages
English (en)
Other versions
JPH0368021A (ja
Inventor
イー スタイス ドナルド
ビー ヒポナ マリア
エム ダーリー ヘンリー
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH0368021A publication Critical patent/JPH0368021A/ja
Application granted granted Critical
Publication of JP2902045B2 publication Critical patent/JP2902045B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、情報処理装置に関し、特に、高速で除算及
び開平算を行う処理装置に関する。
(従来技術とその問題点) 高速算術計算は、コンピュータ、信号処理装置及びプ
ロセスコントローラ等の多くの情報処理装置の決定的な
設計要素である。これらのシステムは、高速で計算を行
う高度に並列的な設計を採用した大規模集積回路に依存
するところがますます大きくなってきている。並列技術
を使って乗算を行う装置はいろいろあるが、除算と開平
算を行う装置は一般に順次方式であり、従って低速で作
動する。
除算及び開平算は、加算、減算、又は乗算とは異なっ
て、反復プロセスである。除算又は開平算を行う装置又
は回路は、商又は根の値に達するのに多数のステップ又
はクロックサイクルを要する。情報処理装置の実行時間
と精度とは、除算と開平算とを行うのに使われる技術に
よって大いに影響を受ける。或る既知の技術は、収斂ア
ルゴリズムを使用する。
除算では、収斂アルゴリズムは、被除数と除数とを分
数として扱う。若し除数(即ち、分数の分母)に除数の
或る関数を繰り返し乗じた結果として極限において1に
なるのであれば、被除数に同じ関数を繰り返し乗じれ
ば、被除数は極限において商となる。開平算では、平方
根を求めようとしている数は分数として扱われ、その数
は分子についても分母についても同じである。その分数
にある関数を繰り返し乗ずると、極限において分母は1
となり、分子は平行根となる。
情報処理システムにおいては、高速掛算器を、収斂ア
ルゴリズムに従って作動する他の回路と関連させて使用
させて除算及び開平算を行うことが出来る。代表的収斂
アルゴリズムは、結果に到達するのに乗算を反復するス
テップを必要とする。その結果、従来技術の高速乗算器
は、収斂アルゴリズムの各持続時間について少なくとも
3クロックサイクルを必要とする。従って、除算及び開
平算は、他の計算に比べると相当の長さの時間を要す
る。
高速情報処理装置が求められているので、高速除算及
び開平算が可能なプロセッサを提供する必要が生じた。
(発明の概要) 本発明は、高速除算及び開平算の実行に関連する欠点
及び問題を実質的に解消ないしは防止する処理装置を提
供する。一実施例では、除算を4クロックサイクルで、
開平算を6クロックサイクルで実行する高速数値処理装
置を提供する。
本発明の処理装置は、2個の数の積を計算する乗算回
路を有する。該乗算回路を第1アレイと第2アレイとに
再構成する論理回路が設けられる。該乗算回路の第1及
び第2のアレイを積を計算する。一組のオペランドを該
第1アレイに向け、他のオペランドを該第2アレイに向
けるオペランド経路指定回路が設けられる。該積を、特
定の回数又は繰り返し数だけ該オペランド経路指定回路
に向けるレジスターが設けられる。最後に、その所定の
繰り返し回数が完了した後に、その積を結合させて最終
結果を作る加算回路が設けられる。
単一アレイ又は二重アレイのいずれにも構成すること
の出来る乗算回路を有する処理装置の技術上の利点は、
収束アルゴリズムを使って除算及び開平算を実行できる
点にある。乗算回路の2個のアレイは、除算または開平
算のいずれかを、少ないクロックサイクル数で、従っ
て、高速で、平行処理することを可能にするものであ
る。
第2実施例では、本発明の処理装置は、複数の算術機
能を行う。該処理装置は、複数の算術機能のうちのどれ
を実行するかを決定するデコーダを有する。該デコーダ
回路は、選択された算術機能に特有の制御信号を送る。
2個の数の積を計算する乗算回路が設けられる。該制御
信号に応答する論理回路は、乗算及び開平算を行うべき
場合には、該乗算回路を第1アレイ及び第2アレイに構
成する。該第1及び第2のアレイは、独立の積を計算す
る。オペランド経路指定回路もデコーダ回路の制御信号
に応答し、該制御信号に従って一組のオペランドを第1
アレイに向け、他のオペランドを第2アレイに向ける。
積を結合させて結果を生成する加算回路が設けられる。
該制御信号に応答して、該積を最終加算回路に向けるス
イッチング回路は、該制御信号に従って、入ってくる積
を調整しまたは零点規制をする。
単一アレイ又は二重アレイに構成することの出来る乗
算回路を有する処理装置の他の利点は、一つの乗算回路
を使って異なる計算を行うことが出来る点にある。伝統
的な乗算では、単一アレイモードで乗算回路を使用し、
除算又は開平算では該乗算回路は二重アレイモードに構
成される。この二つのモードの一方を選択するデコーダ
回路を設けることにより、単一の乗算回路を最も適切に
使用することが可能となる。
以下、添付図面を参照して本発明を詳しく説明する。
(実施例) 本発明の処理装置は、除算用のと開平算用のと、二つ
の収斂アルゴリズムを使用する。除算では、X÷Y=Q
において、Xは被除数、Yは除数、Qは商である。この
等式は、X/Y=Qとも書かれる。除算アルゴリズムの第
1ステップでは、Yを1にする種値SがX及びYの両方
に乗じられる。この第1ステップ後、X*S=Q、Y*
S=Gとなる。次のステップでは、Q及びGに関数Fを
乗じるが、ここでF=2−Gである。F*Qの結果は、
Qの古い値にとって代わり、F*Gの結果はGの古い値
にとって代わる。最後のステップは、F*Gが1に近づ
き、F*QがX/Yの商に近づくように、所定回数だけ反
復される。
平方根については、数Aの平方根Rは、R*R=Aと
なる数である。数Aの根値Rを計算する収斂アルゴリズ
ムでは、等式はA/Aの形に書かれる。収斂アルゴリズム
の第1ステップでは、分子の位置にあるAに種値Sが乗
じられ、分母の位置にあるAに同じ種値Sが2回乗じら
れるので、A*S=Qで、A*S*S=Gとなる。次の
ステップでは、Qに関数Fが乗じられるが、ここでF=
(3−G)/2であり、GにはF関数が2回乗じられる。
結果F*Qは古いQにとって代わり、結果F*F*Gは
古いGにとって代わる。最後のステップは、F*Qが根
値に近づき、F*F*Gが1に近づくように、所定回数
だけ反復される。
第1図を参照すると、デコーダ12は、処理装置により
実行されるべき乗算、除算又は開平算等の数値計算を決
定する論理回路(図示せず)からコマンドを受信する。
このコマンドに応じて、デコーダ12は制御信号CSを出力
14に送るが、実行される計算の種類の各々に対して異な
る制御信号がある。制御信号SCは、オペランド経路指定
回路16、論理回路18、スイッチング回路20及び種生成回
路28に送られる。該制御信号は、該回路に対して、乗
算、除算又は開平算等の特定の計算を行うように指令す
る。コマンドは、一般的には、当業者に周知されたコン
ピュータ等の装置に記憶されたプログラムにより生成さ
れる。
オペランド経路指定回路16は、入力ライン22及び24で
オペランドN及びDを受信し、入力ライン26で種生成回
路28から種値Sを受信し、これらを、乗算回路38に接続
された適当な出力ラインへ経路指定する。オペランド経
路指定回路16は、出力ライン30及び32でオペランドN及
び種値Sを送り、出力ライン34及び36でオペランドD及
び種値Sを送る。オペランドNは分数の分子を、オペラ
ンドDは分数の分母を表す。当業者に周知されているよ
うに、計算の対象となる数は正規化されてN/Dの形の分
数表記にされる。
乗算回路38の論理回路18は、デコーダ12から制御信号
CSを受信し、この信号が除算又は開平算を要求している
場合には乗算回路38を2個のアレイL及びRに再構成す
る。オペランド経路指定回路16は、オペランドN及び種
値SをLアレイに経路指定し、オペランドD及び種値を
Rアレイに経路指定する。アレイLの出力は、ライン40
に沿ってスイッチング回路20に送られ、乗算回路38のス
テージRの出力は、ライン42に沿ってスイッチング回路
20に送られる。
スイッチング回路20は、デコーダ12からの制御信号CS
に応答して、実行されるべき計算の種類に従って乗算回
路アレイL及びRの出力を所定の経路に沿って送る。ス
イッチング回路20は、乗算回路38を所定回数だけ通過さ
せたのち、乗算回路38のアレイL及びRの出力を加算回
路44に向ける。加算回路44の出力は、当業者に周知され
ているように丸め機能を実行する丸め回路46に送られ
る。
スイッチング回路20に、Qレジスター48及びGレジス
ター50が随伴している。このQレジスター及びGレジス
ターは、スイッチング回路20を通して乗算回路38から中
間結果を受信し、この中間結果をオペランド経路指定回
路16に送る。Qレジスター及びGレジスターの各々に随
伴する丸め回路が設けられ、結果の精度を高める。Q丸
め回路52は、Qレジスター48から出力を受信し、丸め機
能を実行し、その結果をライン54に沿ってオペランド経
路指定回路16に送る。G丸めレジスター56はGレジスタ
50から出力を受信し、丸め機能を実行し、出力をライン
58に沿ってオペランド経路指定回路16に送る。
Gレジスター50にはFレジスター60及びF生成回路62
も随伴している。これらのレジスターは、以下に詳述す
る開平算に伴う或るステップにおいて使用される。
第2図を参照して、本発明に使用される乗算回路を詳
しく説明する。除算は、当業者に周知されているよう
に、加算木を使って実行することが出来る。加算木の構
成は周知されている。その種の装置の一つが、この出願
の譲受人に所有されている同時係属出願第149,779号に
記載されている。この発明は、出願第149,779号に記載
されている乗算回路を修正して、その乗算回路を2個の
別々のアレイに再構成したものである。
オペランド経路指定回路100は、オペランドN(即
ち、被乗数)をバス102に向ける。オペランドD(即
ち、被乗数D)はバス104に向けられる。種値Sは、オ
ペランド経路指定回路100によりバス106に向けられる。
種値Sは、乗数Sと称する。バス102は、部分積生成回
路108A−Dの全精度ポートに接続され、バス104は、第
2の組の部分生成回路110A−Dの全精度ポートに接続さ
れている。
部分積生成回路108A及びBは第1レベル加算回路112A
に接続されている。部分積生成回路108C及びDは第1レ
ベル加算回路112Dに接続されている。部分積生成回路11
0A及びBは第1レベル加算回路114Aに接続され、部分積
生成回路110C及びDは第1レベル加算回路114Bに接続さ
れている。第1レベル加算回路の出力は対にされて第2
レベル加算回路116A及びBに接続されている。第1レベ
ル加算回路112A及びBの出力は第2レベル加算回路116A
の入力に接続され、第1レベル加算回路114A及びBの出
力は第2レベル加算回路116Bの入力に接続されている。
第2レベル加算回路116A及びBの出力は、スイッチング
回路118に向けられ、システムを通して経路指定され、
最後の加算回路120に向けられる。
前記した様な2アレイ型乗算回路は、1対の数又は2
対の数を掛け合わせる様に構成されることが出来る。一
つのモードでは、乗算回路38は単一アレイとして構成さ
れ、N値及びD値は等しくて、該乗算回路は、出願第14
9,779号に記載されているように動作する。第2のモー
ドでは、乗算回路38は1個のアレイに分割されて並列動
作する。
本発明に従って作られた装置の動作について以下に説
明をする。各動作について、実行されるべき計算の種類
を示す制御信号SCがデコーダ12により生成される。この
実施例では、乗算、除算及び開平算を示す3個の制御信
号がある。受信した制御信号に従って、オペランド経路
指定回路16、論理回路18及びスイッチング回路20は、デ
ータ経路と、乗算回路38を通す反復回路とを決定する。
乗 算 クロックサイクル0:オペランドN及びDは乗算回路38
に入る。オペランド経路指定回路16はライン30ないし36
を使って乗算オペランドを乗算回路38のLアレイ及びR
アレイの4個のポートに送る。オペランドNは乗算回路
38のLアレイの全精度ポートに経路指定され、オペラン
ドDは乗算回路38のRアレイの半精度ポートに経路指定
される。N及びDの積はスイッチング回路20を通して加
算回路44へ送られる。
クロックサイクル1:加算回路44の数は、丸め回路46に
送られて、当業者に周知されているように丸められる。
このクロックサイクルでは、オペランド経路指定回路16
及び乗算回路38は、他の動作を実行することが出来る。
除 算 クロックサイクル0:オペランドN及びDは、処理装置
のオペランド経路指定回路16に入る。種値Sは、インデ
ックスの様なDの部分を使って種値生成回路28(これは
参照テーブルであっても良い)から引き出される。デコ
ーダ12からの制御信号CSは、オペランド経路指定回路16
及び乗算回路38に指令して、N及びSの部分積とD及び
Sの部分積とを作らせる。乗算回路38は、L及びRアレ
イに再構成される。Nはバス102でアレイLの全精度ポ
ートに向けられ、Dはバス104でアレイRの全精度ポー
トに向けられる。S値は、バス106で乗算回路38の半精
度ポートに送られる。該クロックサイクルの終了時にN
及びSの積はQレジスター48に格納され、D及びSの積
はGレジスター50に格納される。
クロックサイクル1:Fは、クロックサイクル0の終了
時にGレジスター50に格納されている値から計算され
る。乗算回路38は2アレイモードに構成されたままであ
り、Q及びFの積とG及びFの積とを作るが、この両方
の乗算において、Fはバス106により半精度ポートに接
続される。G及びFの積はGレジスター50へ経路指定さ
れ、Q及びFの積はQレジスター48へ経路指定される。
クロックサイクル2:Fは、クロックサイクル1の終了
時にGレジスター50に格納されている値から計算され
る。乗算回路38は単一アレイモードで再構成されてQ及
びFの積を作る。F及びQの積は、スイッチング回路20
を通して加算回路44へ経路指定される。加算回路44の出
力は丸め回路46へ送られる。丸め回路46に格納されてい
る数は、次のクロックサイクルで丸められる商の見積も
りである。
クロックサイクル3:丸め回路46の数は、当業者に周知
されているように丸められる。このクロックサイクルに
おいて、オペランド経路指定回路16及び乗算回路38は、
他の動作を行うことが出来る。
開平算 クロックサイクル0:オペランドN及びDは処理装置の
オペランド経路指定回路16に入る。種値Sは、インデッ
クス等のDの一部を使って種生成回路28(これぱ参照テ
ーブルであっても良い)から引き出される。乗算回路38
は2アレイに再構成されてN及びSの部分積とD及びS
の部分積とを作る。Nは、バス102でアレイLの全精度
ポートに向けられ、Dはバス104でアレイRの半精度ポ
ートへ向けられる。S値はバス106の半精度ポートに送
られる。結果はスイッチング回路20を通して経路指定さ
れ、該クロックサイクルの終了時にN及びSの積はQレ
ジスター48に格納され、D及びSの積はGレジスタ50に
格納される。
クロックサイクル1:Qレジスター48の値は、このクロ
ックサイクル中は修正されない。乗算回路38は単一アレ
イとして再構成されて、Gレジスター50からのG値と種
値Sとに作用する。SとGとの積はGレジスター50に経
路指定される。
クロックサイクル2:Fは、クロックサイクル1の終了
時にGレジスター50に格納されている値から計算され
る。乗算回路38は2アレイとして再構成されて、Q及び
Fの部分積と、G及びFの部分積とを作る。F及びQの
積はGレジスター50へ経路指定される。クロックサイク
ル2の開始時に計算されたF値は、Fレジスター60に保
存される。
クロックサイクル3:Qレジスター48の値は、このクロ
ックサイクル中は修正されない。乗算回路38は単一アレ
イに再構成され、Gレジスター50からの値と、Fレジス
ター60に格納されているF値とに作用する。F及びGの
積は、Gレジスター50へ経路指定される。
クロックサイクル4:Fは、クロックサイクル1の終了
時にGレジスター50に格納されている値から計算され
る。乗算回路38は単一モードのままであり、Q及びFの
積を作る。F及びQの積は、スイッチング回路20を通し
て加算回路44へ経路指定される。加算回路44の出力は丸
め回路46へ送られる。
クロックサイクル5:丸め回路46の数は、当業者に周知
されているように丸められる。このクロックサイクルに
おいて、オペランド経路指定回路16及び乗算回路38は、
他の動作を行うことが出来る。
叙上から、単一ステージモード又は二重ステージモー
ドで動作するように構成することの出来る単一の乗算回
路を備えた数値処理装置が本発明により提供されたこと
を当業者は理解するであろう。2アレイ乗算回路を使用
した結果として、従来可能であったよりも高い平行度で
且つ速い速度で除算及び開平算を実行することが出来
る。好適な実施例に関して本発明を詳しく図示し説明し
たが、発明の範囲から逸脱することなく色々な変形等が
可能であることを当業者は理解するであろう。
【図面の簡単な説明】
第1図は、本発明の処理装置の構成を示す。 第2図は、本発明に使用する乗算回路の機能ブロック図
である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヘンリー エム ダーリー アメリカ合衆国 テキサス州 75074 プラノ ウッドラル 3713 (58)調査した分野(Int.Cl.6,DB名) G06F 7/552

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】第1のアレイ(L)と第2のアレイ(R)
    に分割される乗算回路(38)を有するデータ処理装置に
    おいて、前記第1のアレイ(L)は全精度入力ポート
    (30)と半精度入力ポート(32)を有し、前記第2のア
    レイ(R)は全精度入力ポート(34)と半精度入力ポー
    ト(36)を有し、乗算、割算或いは平方根を求める前記
    データ処理装置を構成するための再構成装置であって、 平方根の種値(S)を生成する種生成回路(28)と; データを受取り、蓄積するQレジスタ(48)と; データを受取り、蓄積するGレジスタ(50)と; Gが前記Gレジスタ(50)に蓄積された前記データの値
    である場合、前記Gレジスタ(50)に接続され、(2−
    G)の値か、(3G)/2の値の何れかの選択された一方を
    計算するためのF生成回路(62)と; 前記Gレジスタ(50)とF生成回路(62)に接続され、
    前記Gレジスタ(50)か前記F生成回路(62)の何れか
    選択された一方からデータを受取り、蓄積するためのF
    レジスタ(60)と; 第1と第2の入力、及び出力を有する加算回路(44)
    と; 前記乗算回路(38)、Qレジスタ(48)、Gレジスタ
    (50)、及び加算回路(44)に接続されたスイッチング
    回路(20)であって、前記スイッチング回路(20)は、
    前記第1のアレイ(L)の前記出力と前記第2のアレイ
    (R)の前記出力を受取り、且つ モードa)前記第1のアレイ(L)の前記出力を前記加
    算回路(44)の前記第1の入力へ径路指定し、且つ前記
    第2のアレイ(R)の前記出力を前記加算回路(44)の
    前記第2の入力へ径路指定するか、 モードb)前記第1のアレイ(L)の前記出力を前記Q
    レジスタ(48)へ径路指定し、且つ前記第2のアレイ
    (R)の前記出力を前記Gレジスタ(50)へ径路指定し
    するスイッチング回路と; 前記種生成回路(28)、Qレジスタ(48)、Gレジスタ
    (50)及びF発生回路(62)に接続され、第1の入力オ
    ペランド(N 22)と第2の入力オペランド(D 24)を受
    取るオペランド径路指定回路(16)であって、前記オペ
    ランド径路指定回路(16)は、下記の何れかのモードを
    選択して、 モードa)前記第1の入力オペランド(N 22)で受け取
    ったデータを前記第1のアレイ(L)の前記全精度ポー
    ト(30)と前記第2のアレイ(R)の全精度ポート(3
    0)へ径路指定し、前記第2の入力オペランド(D 24)
    で受信した最上位のデータを前記第1のアレイ(L)の
    前記半精度ポート(32)へ、また前記第2の入力オペラ
    ンド(D 24)で受信した最下位のデータを前記第2のア
    レイ(R)の前記半精度ポート(36)へ径路指定し、 モードb)前記第1の入力オペランド(N 22)で受け取
    ったデータを前記第1のアレイ(L)の全精度ポート
    (30)へ径路指定し、前記第2の入力オペランド(D 2
    4)で受け取ったデータを前記第2のアレイ(R)の全
    精度ポート(34)へ径路指定し、且つ前記種生成回路
    (28)からの前記種値(S)を前記第1のアレイ(L)
    の半精度ポート(32)と前記第2のアレイ(R)の半精
    度ポート(36)の双方へ径路指定し、 モードc)前記Qレジスタ(48)に蓄積されたデータを
    前記第1のアレイ(L)の全精度ポート(30)へ径路指
    定し、前記Gレジスタ(50)に蓄積したデータを前記第
    2のアレイ(R)の全精度ポート(34)へ径路指定し、
    且つ前記Fレジスタ(60)に蓄積したデータを前記第1
    のアレイ(L)の半精度ポート(32)と前記第2のアレ
    イ(R)の半精度ポート(36)の双方へ径路指定し、 モードd)前記Gレジスタ(50)に蓄積したデータを前
    記第1のアレイ(L)の全精度ポート(30)と前記第2
    のアレイ(R)の全精度ポート(34)へ径路指定し、且
    つ前記種生成回路(28)から前記種値(S)の最上位の
    データを前記第1のアレイ(L)の前記半精度ポート
    (32)へ、また前記種生成回路(28)から前記種値
    (S)の最下位のデータを前記第2のアレイ(R)の前
    記半精度ポート(36)へ径路指定し、 モードe)前記Qレジスタ(48)に蓄積したデータを前
    記第1のアレイ(L)の全精度ポート(30)へ径路指定
    し、前記Gレジスタ(50)に蓄積したデータを前記第2
    のアレイ(R)の全精度ポート(34)へ径路指定し、且
    つ前記F生成回路(62)によって生成されたデータを前
    記第1のアレイ(L)の半精度ポート(32)と前記第2
    のアレイ(R)の半精度ポート(36)の双方へ径路指定
    し、 モードf)前記Gレジスタ(50)に蓄積されたデータを
    前記第1のアレイ(L)の全精度ポート(30)と前記第
    2のアレイ(R)の前記全精度ポート(34)へ径路指定
    し、前記Fレジスタ(60)に蓄積されたデータの最上位
    ビットを前記第1のアレイ(L)の半精度ポート(32)
    へ、また前記Fレジスタ(60)に蓄積されたデータの最
    下位ビットを前記第2のアレイ(R)の半精度ポート
    (36)へ径路指定し、 モードg)前記Qレジスタ(48)に蓄積されたデータを
    前記第1のアレイ(L)の精度ポート(30)と前記第2
    のアレイ(R)の全精度ポート(34)へ径路指定し、前
    記Fレジスタ(60)に蓄積されたデータの最上位ビット
    を前記第1のアレイ(L)の半精度ポート(32)へ、ま
    た前記Fレジスタ(60)に蓄積されたデータの最下位ビ
    ットを前記第2のアレイ(R)の半精度ポート(36)へ
    径路指定する前記オペランドルーチン回路(16)と; 且つ 掛け算モードか、平方根モードの何れかにおいて動作す
    る前記オペランド径路指定回路(16)と前記スイッチン
    グ回路(20)に接続されたコマンドデコーダ(12)であ
    って、前記コマンドデコーダは、 前記乗算モードにおいて、 モードa)における前記スイッチング回路(20)とモー
    ドb)における前記オペランド径路指定回路(16)を制
    御するために動作し、 前記割算モードにおいて、 第1のサイクルにおいて、モードb)における前記スイ
    ッチング回路(20)とモードb)における前記オペラン
    ド径路指定回路(16)を制御するために、 第2のサイクルにおいて、モードa)における前記スイ
    ッチング回路(20)と、モードc)における前記オペラ
    ンド径路指定回路(16)を制御するために、且つ(2−
    G)を計算するためにF発生回路(62)を制御するため
    に動作し、 前記平方根モードにおいて、 第1のサイクルにおいて、モードb)における前記スイ
    ッチング回路(20)とモードb)における前記オペラン
    ド径路指定回路(16)を制御するために、 第2のサイクルにおいて、モードa)における前記スイ
    ッチング回路(20)とモードd)における前記オペラン
    ド径路指定回路(16)を制御するために、 第3のサイクルにおいて、モードb)における前記スイ
    ッチング回路(20)とモードe)における前記オペラン
    ド径路指定回路(16)を制御するために、(3−G)/2
    を計算し、前記F生成回路(62)の出力を前記Fレジス
    タ(60)に蓄積するように、前記F生成回路(62)を制
    御するために、 第4のサイクルにおいて、モードa)における前記スイ
    ッチング回路(20)とモードf)における前記オペラン
    ド径路指定回路(16)を制御するために、及び 第5のサイクルにおいて、モードa)における前記スイ
    ッチング回路(20)とモードg)における前記オペラン
    ド径路指定回路(16)を制御するために動作する 前記コマンドデコーダ(12)と、 を有することを特徴とするデータ処理装置。
  2. 【請求項2】更に、前記Qレジスタ(48)に接続され、
    前記オペランド径路指定回路(16)へ供給する前に前記
    Qレジスタ(48)に蓄積された前記データを丸めるQ丸
    め回路(52)と、 前記Gレジスタ(50)に接続され、前記オペランド径路
    指定回路(16)へ供給する前に前記Gレジスタ(50)に
    蓄積された前記データを丸めるQ丸め回路(56)、 を有することを特徴とする請求項1に記載の装置。
  3. 【請求項3】更に、前記加算回路(44)の出力に接続さ
    れ、前記加算回路(44)の出力を丸める丸め回路(4
    6)、 を有することを特徴とする請求項1に記載の装置。
  4. 【請求項4】更に、前記第2のオペランド入力(D 24)
    に接続されるならば、前記種生成回路(28)は、前記第
    2のオペランド入力回路(D 24)の一部によってインデ
    ックスされる、そこに蓄積された種値を有するルックア
    ップテーブルからなることを特徴とする請求項1に記載
    の装置。
JP2109937A 1989-04-26 1990-04-25 高速数値処理装置 Expired - Fee Related JP2902045B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/343,465 US5047973A (en) 1989-04-26 1989-04-26 High speed numerical processor for performing a plurality of numeric functions
US343465 1989-04-26

Publications (2)

Publication Number Publication Date
JPH0368021A JPH0368021A (ja) 1991-03-25
JP2902045B2 true JP2902045B2 (ja) 1999-06-07

Family

ID=23346232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2109937A Expired - Fee Related JP2902045B2 (ja) 1989-04-26 1990-04-25 高速数値処理装置

Country Status (6)

Country Link
US (1) US5047973A (ja)
EP (1) EP0395240B1 (ja)
JP (1) JP2902045B2 (ja)
KR (1) KR100236250B1 (ja)
CN (1) CN1020170C (ja)
DE (1) DE69030932T2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990005335A1 (en) * 1988-11-04 1990-05-17 Hitachi, Ltd. Apparatus for multiplication, division and extraction of square root
US5184318A (en) * 1989-09-05 1993-02-02 Cyrix Corporation Rectangular array signed digit multiplier
US5245564A (en) * 1991-05-10 1993-09-14 Weitek Corporation Apparatus for multiplying operands
EP0546977A3 (en) * 1991-12-13 1994-10-19 Ibm Method and apparatus for solving numerical problems that use a plurality of processing elements operating in parallel
US5341321A (en) * 1993-05-05 1994-08-23 Hewlett-Packard Company Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
JPH0721012A (ja) * 1993-07-02 1995-01-24 Fujitsu Ltd 割り算器
EP0847551B1 (en) * 1995-08-31 2012-12-05 Intel Corporation A set of instructions for operating on packed data
CN100465874C (zh) * 1995-08-31 2009-03-04 英特尔公司 根据指令对数据执行运算的方法、处理器和系统
FR2758195B1 (fr) * 1997-01-09 1999-02-26 Sgs Thomson Microelectronics Coprocesseur d'arithmetique modulaire comprenant deux circuits de multiplication operant en parallele
US7028068B1 (en) * 2003-02-04 2006-04-11 Advanced Micro Devices, Inc. Alternate phase dual compression-tree multiplier
CN106447036B (zh) * 2015-10-08 2019-03-15 上海兆芯集成电路有限公司 执行随机舍入的神经网络单元

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3535498A (en) * 1967-05-02 1970-10-20 Detrex Chem Ind Matrix of binary add-subtract arithmetic units with bypass control
US3828175A (en) * 1972-10-30 1974-08-06 Amdahl Corp Method and apparatus for division employing table-lookup and functional iteration
US4785393A (en) * 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
US4754421A (en) * 1985-09-06 1988-06-28 Texas Instruments Incorporated Multiple precision multiplication device
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器

Also Published As

Publication number Publication date
EP0395240B1 (en) 1997-06-18
JPH0368021A (ja) 1991-03-25
EP0395240A2 (en) 1990-10-31
CN1047152A (zh) 1990-11-21
DE69030932T2 (de) 1997-12-18
KR100236250B1 (ko) 1999-12-15
KR900016858A (ko) 1990-11-14
EP0395240A3 (en) 1992-08-12
US5047973A (en) 1991-09-10
DE69030932D1 (de) 1997-07-24
CN1020170C (zh) 1993-03-24

Similar Documents

Publication Publication Date Title
US9395952B2 (en) Product summation apparatus for a residue number arithmetic logic unit
JP5408913B2 (ja) 高速かつ効率的な行列乗算ハードウェアモジュール
Tenca et al. A variable long-precision arithmetic unit design for reconfigurable coprocessor architectures
US5974435A (en) Reconfigurable arithmetic datapath
Zhuo et al. Scalable and modular algorithms for floating-point matrix multiplication on reconfigurable computing systems
JP3244506B2 (ja) 小型乗算器
EP0326415A2 (en) Floating point/integer processor with divide and square root functions
JPH02196328A (ja) 浮動小数点演算装置
JP2902045B2 (ja) 高速数値処理装置
JPS6125188B2 (ja)
JPH0727457B2 (ja) 乗算器
US20140136588A1 (en) Method and apparatus for multiplying binary operands
EP3841461B1 (en) Digital circuit with compressed carry
JP3213628B2 (ja) Mを法として長い整数を乗算するための算術ユニット及びそのような乗算デバイスを具えるr.s.a.変換器
US4910700A (en) Bit-sliced digit-serial multiplier
Wei et al. A novel residue arithmetic hardware algorithm using a signed-digit number representation
Shi et al. Efficient FPGA implementation of digit parallel online arithmetic operators
JP3537378B2 (ja) 加算器および集積回路
KR100481586B1 (ko) 모듈러 곱셈 장치
US6182105B1 (en) Multiple-operand addition with intermediate saturation
Louie et al. A digit-recurrence square root implementation for field programmable gate arrays
Srinivas et al. High efficient accurate DL-PO logic multiplier design for low power applications
JPH05324694A (ja) 再構成可能並列プロセッサ
Chang et al. High-performance digit-serial complex multiplier
JP2605792B2 (ja) 演算処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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: 20080319

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees