JPH0477932B2 - - Google Patents

Info

Publication number
JPH0477932B2
JPH0477932B2 JP60259448A JP25944885A JPH0477932B2 JP H0477932 B2 JPH0477932 B2 JP H0477932B2 JP 60259448 A JP60259448 A JP 60259448A JP 25944885 A JP25944885 A JP 25944885A JP H0477932 B2 JPH0477932 B2 JP H0477932B2
Authority
JP
Japan
Prior art keywords
processing section
vector
quotient
register
division
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 - Lifetime
Application number
JP60259448A
Other languages
English (en)
Other versions
JPS62118474A (ja
Inventor
Hiroshi Nakano
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60259448A priority Critical patent/JPS62118474A/ja
Priority to US06/929,913 priority patent/US4797849A/en
Publication of JPS62118474A publication Critical patent/JPS62118474A/ja
Publication of JPH0477932B2 publication Critical patent/JPH0477932B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は除算装置の制御方式に係り、特にベク
トルプロセツサにおけるベクトル除算装置の制御
方式に関する。
〔発明の背景〕
ベクトルプロセツサでは、演算パイプラインに
より処理の高速化を実現しているが、ベクトル除
算をパイプラインで処理するのは容易ではない。
従来、例えば特願昭56−55549号、特願昭58−
194249号に示されるように、物量を多くして必要
な数だけの乗算器、加算器を組合せることによ
り、ベクトル除算をパイプラインで処理する方式
が提案されている。この方式の場合、ベクトルプ
ロセツサにおけるベクトル除算の性能向上は確保
できるが、物量が膨大となり、ベクトルプロセツ
サのコスト高は免がれない。
〔発明の目的〕
本発明の目的は、乗算器を1個程度しか持たな
いベクトル除算装置において、ベクトル除算をパ
イプラインで処理することを可能にすることにあ
る。
〔発明の概要〕
一定の時間間隔毎に、一定の長さの部分商を算
出し、該部分商をマージすることにより所望の長
さの商を求めるベクトル除算装置において、同一
の回路を繰返し使用して部分商を算出する回路を
主要処理部と総称し、主要処理部の前段に位置す
る回路を前処理部、主要処理部の後段に位置する
回路を後処理部とそれぞれ総称することにする。
例えば前処理部がA1ないしA6の基本動作から
なり、主要処理部については、重複的に回路を使
用することを許容して、処理するデータが異なる
のに対応して記号を変えてB1ないしB6の基本動
作からなるとし、また後処理部はC1ないしC3
基本動作からなるとする。このとき特にベクトル
要素間でのパイプラインを意図せず、i番目の1
組のベクトル要素の除算が終了してから、i+1
番目の1組のベクトル要素の除算を開始する除算
装置では、処理の流れは第2図のようになる。こ
れに対して、制御回路を工夫することによつて、
i番目の1組のベクトル要素の除算が完全に終了
しないうちに、i+1番目の1組のベクトル要素
の除算を開始するベクトル除算装置の処理の流れ
を第3図に示す。第3図において、主要処理部の
動作は同一回路を重複して使用しているので、原
理的に重複して動作させることはできず、第3図
に示すように、主要処理部として動作に矛盾がな
く、動作に空きのないのはi番目の最終動作B6
とi+1番目の開始動作B1が隣り合う場合であ
る。
以上により、主要処理部の基本動作の数が除算
の起動ピツチを決定しており、これは商のマージ
回数に依存するので、制御回路を工夫することに
よつて、主要処理部の基本動作の数と同数のクロ
ツクピツチで除算を起動することにより、乗算器
を1個しか持たないベクトル除算装置において、
演算パイプラインを導入してベクトル除算を処理
することができる。
〔発明の実施例〕
第1図は本発明によるベクトル除算装置の一実
施例のブロツク図を示す。第1図に示すベクトル
除算装置は、除算装置自体を取り出せば特願昭58
−247646号に示された構成と大きく異なる部分は
ないが、制御回路1による制御が大きく異なつて
いる。
本発明を使用したときの第1図の動作のタイム
チヤートを第4図に、また、本発明を使用し、動
作一時停止が2クロツク発生したときの第1図の
動作タイムチヤートを第5図にそれぞれ示す。な
お、本実施例では、部分商は12ビツトずつ求め、
商は24ビツト求めるものとする。
第4図、第5図における記号の意味は次の通り
である。また、各記号の下にある丸印で囲んだ数
字は要素番号を表す。
N:被除数 D:除数 N0:正規化後の被除数 D0:正規化後の除数 M:D0の近似逆数 Qi:第i番目の部分商 Qi *:補正後の第i番目の部分商 Ri:第i番目の部分剰余、たゞしR0=N0とする。
Ni:Ri-1とMの積より、Qiを減じた数 A:Qi、Niより第i番目の部分剰余RiのM倍であ
るQi+1+Ni+1を求めるとき、Qiに掛けられる被
乗数 Q:最終商 商を求める手順は次の通りである。反復計算に
入る前に、(1)式、(2)式で示される計算を行う。
A=1−D0×M (1) Q1+N1=N0×M (2) 反復計算では(3)式に示すようにして部分商を求
めるとゝもに直前の部分商の補正を行う。
Qi+Ni=A×Qi-1+Ni-1(i2) (3) 部分商の補正は次のようにして行う。
Qi-1+Ni-10、Qi+Ni0のとき、 Qi-1 *=Qi-1 (4) Qi-1+Ni-10、Qi+Ni<0のとき、 Qi-1 *=Qi-1−1 (5) Qi-1+Ni-1<0、Qi+Ni0のとき、 Qi-1 *=Qi-1+1 (6) Qi-1+Ni-1<0、Qi+Ni<0のとき、 Qi-1 *=Qi-1 (7) たゞし、(5)式での−1、(6)式での+1は、各反
復計算におけるQi-1の最下位の桁と同じ位とす
る。
さて、第1図のような乗算器を1個しか持たな
いベクトル除算装置において、パイプラインを導
入して商を求める場合、要素間のデータの追突、
追越しに対して考慮を払う必要がある。この場合
の本発明による動作を第4図のタイムチヤートを
参照しながら説明する。
第1図において、ベクトル除算は以下の順序で
行われるが、その全体の制御を司どるのが制御回
路1である。制御回路1は除算器を制御するとゝ
もに、除算器がデータ待ちで遊びが生じないよう
に除算に先立つて記憶装置(図示せず)に対して
オペランドをオペランドバツフア2、オペランド
バツフア3に送ることを要求するとゝもに、送ら
れてきたオペランドをオペランドバツフア2,3
に格納後、除算の実行に先立ち、要素番号に対応
したオペランドをオペランドバツフア2、オペラ
ンドバツフア3にそれぞれ格納されたデータから
選択して被除数レジスタ4、除数レジスタ5に供
給する制御も行つている。さらに制御回路1は要
素毎に、除算の終了後、記憶装置に対して除算結
果を格納するよう要求する。
除数レジスタ5にセツトされた番目の除数D
を正規化回路6により正規化し、その除数の上位
ビツトにより、テーブル情報格納ユニツト9から
近似逆数と差分を読出すとゝもに、被乗数選択回
路およびレジスタ7に正規化された番目の除数
D0をセツトする。
内挿近似回路10により近似逆数の精度を向上
させた後、先ず−Mを出力し、乗数選択回路8に
より−Mを選択して、(1)式のD0×(−M)を乗算
器11にて行う。このとき、ハーフキヤリ、ハー
フサムが各レジスタ12,13にセツトされると
同時に、番目の要素が被除数レジスタ4、除数
レジスタ5にセツトされる。以下、特に言及しな
いが、番目に対する演算が番目に対する演算
の6クロツク後に実行される(第4図参照)。
D0×(−M)のハーフキヤリとハーフサムは、
加算器14により1つにまとめられ、積が乗算結
果レジスタ15にセツトされる。
次に、被除数レジスタ4にセツトされた番目
の被乗数Nを正規化回路6で正規化した後、該被
除数N0を被乗数選択回路およびレジスタ7にセ
ツトするとゝもに、内挿近似回路10からMを出
力して、乗数選択回路8によりMを選択し、(2)式
のN0×Mを実行する。番目のN0が被乗数レジ
スタ7にセツトされるのと、番目のNが被除数
レジスタ4にセツトされるのは同一時刻であり、
番目の被除数は要素間の追突、追越しによるデ
ータ破壊から免れている。N0×Mの積がハーフ
キヤリレジスタ12、ハーフサムレジスタ13に
セツトされた時、同時に乗算結果レジスタ15に
D0×(−M)をセツトした後、被乗数選択回路お
よびレジスタ7にセツトする。(1)式ではD0×(−
M)に1を加えることになつているが、1を加え
た後2-13以上の位は負の符号ビツトとなるので、
該除算装置としてはD0×(−M)の2-12以下をA
として被乗数とするのである。Aを被乗数レジス
タ7にセツトするとゝもに、N0×Mの積を乗算
結果レジスタ15にセツトする。
以下、(3)式で示す反復計算を2回行い、同時に
(4)式から(7)式の部分商の補正を部分商補正回路1
6で行い、補正された部分商は12ビツトずつ2回
に分けて部分商マージレジスタ17に含まれる部
分商マージレジスタ1、部分商マージレジスタ2
にそれぞれセツトされる。商が24ビツト揃つた
後、除算結果レジスタ18に最終商としてセツト
される。
以上の説明において、番目をi番目に、番
目をi+1番目に置き換え、i=1、2、3、…
…とすると、一般的なベクトル除算の動作を理解
することができる。
反復計算では乗算結果の上位の部分商Qi-1が乗
数選択回路8に選択されるとゝもに、乗算結果の
下位のNi-1が倍数の一種として乗算器11に入力
され、A×Qi-1に足し込まれる。反復計算以外の
(1)式、(2)式の計算では、Ni-1の乗算器11への入
力は制御回路1により抑止される。
第5図は時刻12,13で一時停止したときの
動作を示すタイムチヤートであり、各レジスタの
更新が2クロツク遅れた後、正常動作に復帰する
よう制御回路1により制御されている様子が示さ
れている。
第4図及び第5図に対し、パイプラインを意図
しない場合の動作を第6図に示す。第6図では、
番目の要素に対する商が求められて後、番目
の要素除算器の入力レジスタである被除数レジス
タ4、除数レジスタ5にセツトされており、特に
要素間でのデータの追突、追越しに対する考慮を
払う必要は全然ない。
第4図乃至第6図から明らかな如く、本発明を
実施しないときの除算の起動ピツチは15クロツク
であるの対して、本発明を実施したときの除算の
起動ピツチは6クロツクになり、2.5倍の性能の
向上がある。
なお、実施例では内挿近似を使用した除算装置
について取上げたが、本発明は一般的に、一定の
時間間隔毎に、一定の長さの部分商を算出し、部
分商をマージすることにより所望の長さの商を求
める除算装置に対して適用可能である。
〔発明の効果〕 本発明によれば、ベクトルプロセツサの乗算
器、加算器等の物量を増加させることなく、ベク
トル除算をパイプラインで処理することが可能に
なる。
【図面の簡単な説明】
第1図は本発明によるベクトル除算装置の一実
施例のブロツク図、第2図及び第3図は本発明の
原理を説明するためのタイミングチヤート、第4
図及び第5図は本発明による第1図の動作を説明
するためのタイミングチヤート、第6図は本発明
によらない場合のタイミングチヤートである。 1……制御回路、2,3……オペランドバツフ
ア、4……被除数レジスタ、5……除数レジス
タ、6……正規化回路、7……被乗数選択回路お
よびレジスタ、8……乗数選択回路、9……テー
ブル情報格納ユニツト、10……内挿近似回路、
11……乗算器、12……ハーフキヤリレジス
タ、13……ハーフサムレジスタ、14……加算
器、15……乗算結果レジスタ、16……部分商
補正回路、17……部分商マージレジスタ、18
……除算結果レジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 ベクトルの対応する要素を順次入力し、同一
    の回路を繰返し使用して、一定の時間間隔毎に、
    一定の長さの部分商を算出し、該算出した部分商
    とマージして所望の長さの商を、前記ベクトルの
    対応する要素について順次求めるベクトル除算装
    置において、 前記繰返し使用して部分商を算出する回路を主
    要処理部、該主要処理部の前段に位置する回路を
    前処理部及び後段に位置する回路を後処理部と
    し、 前記前処理部と前記後処理部を、前記主要処理
    部で所望の長さの商にマージするために必要とす
    る部分商を求める回数に依存する時間間隔毎に動
    作するように、前記主要処理部とオーバーラツプ
    させて動作せしめることを特徴とするベクトル除
    算装置の制御方式。
JP60259448A 1985-11-19 1985-11-19 ベクトル除算装置の制御方式 Granted JPS62118474A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60259448A JPS62118474A (ja) 1985-11-19 1985-11-19 ベクトル除算装置の制御方式
US06/929,913 US4797849A (en) 1985-11-19 1986-11-13 Pipelined vector divide apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60259448A JPS62118474A (ja) 1985-11-19 1985-11-19 ベクトル除算装置の制御方式

Publications (2)

Publication Number Publication Date
JPS62118474A JPS62118474A (ja) 1987-05-29
JPH0477932B2 true JPH0477932B2 (ja) 1992-12-09

Family

ID=17334216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60259448A Granted JPS62118474A (ja) 1985-11-19 1985-11-19 ベクトル除算装置の制御方式

Country Status (2)

Country Link
US (1) US4797849A (ja)
JP (1) JPS62118474A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157388A (en) * 1989-02-14 1992-10-20 Intel Corporation Method and apparatus for graphics data interpolation
SE464787B (sv) * 1989-10-04 1991-06-10 Ericsson Telefon Ab L M Foerfarande och anordning foer att utfoera en approximativ division
US5274580A (en) * 1990-03-21 1993-12-28 Bull, S.A. Method for calculating the inverse of a number, and computer for performing the method
JPH0731592B2 (ja) * 1990-11-29 1995-04-10 株式会社東芝 除算回路
US5140545A (en) * 1991-02-13 1992-08-18 International Business Machines Corporation High performance divider with a sequence of convergence factors
JPH0535773A (ja) * 1991-07-30 1993-02-12 Nec Corp ベクトル除算方式とその装置
US5828591A (en) * 1992-11-02 1998-10-27 Intel Corporation Method and apparatus for using a cache memory to store and retrieve intermediate and final results
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
US5862059A (en) * 1995-07-19 1999-01-19 National Semiconductor Corporation Table compression using bipartite tables
US6360241B1 (en) 1999-02-01 2002-03-19 Compaq Information Technologies Goup, L.P. Computer method and apparatus for division and square root operations using signed digit
US6732135B1 (en) * 1999-02-01 2004-05-04 Hewlett-Packard Development Company, L.P. Method and apparatus for accumulating partial quotients in a digital processor
US6971038B2 (en) * 2002-02-01 2005-11-29 Broadcom Corporation Clock gating of sub-circuits within a processor execution unit responsive to instruction latency counter within processor issue circuit
US8140608B1 (en) * 2007-05-31 2012-03-20 Nvidia Corporation Pipelined integer division using floating-point reciprocal
US7979677B2 (en) * 2007-08-03 2011-07-12 International Business Machines Corporation Adaptive allocation of reservation station entries to an instruction set with variable operands in a microprocessor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3508038A (en) * 1966-08-30 1970-04-21 Ibm Multiplying apparatus for performing division using successive approximate reciprocals of a divisor
US3900723A (en) * 1974-05-28 1975-08-19 Control Data Corp Apparatus for controlling computer pipelines for arithmetic operations on vectors
JPS57134774A (en) * 1981-02-13 1982-08-20 Hitachi Ltd Vector operating device
JPS57172444A (en) * 1981-04-15 1982-10-23 Hitachi Ltd Approximate quotient correcting circuit
JPS6086671A (ja) * 1983-10-19 1985-05-16 Hitachi Ltd 除算回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置

Also Published As

Publication number Publication date
US4797849A (en) 1989-01-10
JPS62118474A (ja) 1987-05-29

Similar Documents

Publication Publication Date Title
EP1293891B2 (en) Arithmetic processor accomodating different finite field size
JPH0477932B2 (ja)
US5426600A (en) Double precision division circuit and method for digital signal processor
JPH0863353A (ja) 掛け算累算命令を使用したデータ処理
US6009450A (en) Finite field inverse circuit
JPH0368416B2 (ja)
JPH0831025B2 (ja) 乗算回路
US6675286B1 (en) Multimedia instruction set for wide data paths
US5734599A (en) Performing a population count using multiplication
US5721697A (en) Performing tree additions via multiplication
US3290493A (en) Truncated parallel multiplication
JPH09212485A (ja) 2次元idct回路
JPH05197525A (ja) オペランドを否定するための否定方法及び否定回路
US5377134A (en) Leading constant eliminator for extended precision in pipelined division
JPS6259828B2 (ja)
JP2608090B2 (ja) 高基数非回復型除算装置
JP3691538B2 (ja) ベクトルデータ加算方法及びベクトルデータ乗算方法
SU711570A1 (ru) Арифметическое устройство
JP2812365B2 (ja) 乗算回路
JP3201097B2 (ja) 乗算器における乗算処方方法
JPH06301710A (ja) 倍精度積和演算方法および装置
SU661549A1 (ru) Арифметическое устройство
JPS60171535A (ja) 除算装置
JPS61177543A (ja) 乗算装置
JPH0317738A (ja) 演算処理装置