JPS6086671A - 除算回路 - Google Patents

除算回路

Info

Publication number
JPS6086671A
JPS6086671A JP58194249A JP19424983A JPS6086671A JP S6086671 A JPS6086671 A JP S6086671A JP 58194249 A JP58194249 A JP 58194249A JP 19424983 A JP19424983 A JP 19424983A JP S6086671 A JPS6086671 A JP S6086671A
Authority
JP
Japan
Prior art keywords
data
pipeline
division
multiplier
vector
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
JP58194249A
Other languages
English (en)
Other versions
JPH0445860B2 (ja
Inventor
Yasuhiro Inagami
稲上 泰弘
Koichiro Omoda
面田 耕一郎
Shigeo Nagashima
長島 重夫
Takayuki Nakagawa
貴之 中川
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 JP58194249A priority Critical patent/JPS6086671A/ja
Publication of JPS6086671A publication Critical patent/JPS6086671A/ja
Publication of JPH0445860B2 publication Critical patent/JPH0445860B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトル処理装置において、ベクトルデータ
の除算をパイプラインにて高速に処理する装置に関する
ものである。
〔発明の背景〕
演′x、数の集合に対し一連の演算を行うベクトルデー
タ処理装置においては、次々と供給されるベクトルデー
タをパイプラインで処理し、1マシンサイクルピツチで
次々と演算結果ffi!出するパイプライン演:jlL
器を有している場合が多い。加昇。
減算1乗算を行うパイプライン演算器については既に知
られ−Cいるが、除Xをパイプ2インで行っている例は
ない。このため、いくつかの四則演算の組合せで実行さ
れるプログラムを考えた場合、除算を含まない演算はパ
イプラインにて高速に処理されるが、除J!を含む演算
においては極端に性能が低下する場合があシ、除Xをパ
イプラインで高速に処理する必安がある。
除算を高速に処理する演算方式として、逆数近似方式が
広く用いられている。この方式は、被除数をN、除数を
91曲をQとしたとき、とおいて、DxRoxR1×・
・・・・・を1に近づけるような几o 、、R1、R2
・・・・・・をめることによシ、Q〜NXRIOXRI
 X・・・・・・をめるものである。
最初の几0は除数りよシ近似逆数表を引いてDの逆数を
近似的にめる。除数りの近似的な逆数である几◎の精度
は、近似逆数表の大きさに依存するが、今仮に次式で示
される精度でめったとする。
DXRo=1±ε 0くε< 1 (1)ことで、 R1=2 DXRo (2) とすると、 R1=2−(1±ε)=1+ε (3)と表わされ、 D X Ro X& = (1±ε)(1〒g)−1−
ε20くε”<1 (4) となる。次に 几2 =2 DXRo XRt (5)とすると Jヨし、=2−(1−ε2 ン = 1 + ε2 (
6)D X Ro X RI X R2= (1−ε2
)(1+62)=1−ε40くε’<1 +71 となる。同様の操作を繰シ返すことによυ、RoXRt
 x−・・−・xn、→1(8)とすることができる。
いま仮に64が対象とするベクトル処理装置のデータ表
現有効桁数以下の精度となれば、となって、 Q= N X Ro X Rt X R2uolを商と
することができる。
このように逆数近似方式による原典はデータ表現有効桁
数よシ梢度の悪い除数の近似的な逆数をあらかじめ用意
しておき、米菓処理を繰り返すことによシ逆数の精度を
上げて曲を得ようとするものである。
高速の乗算器をもつ処理装置においては、逆数近似方式
は除JJLを高速に処理する有効な’0Klt方式であ
るが、一方、パイプライン方式で除JI4.を行う場合
には、所望のFf!嵐を得るまでに必要な乗算の回数に
寺しい乗算器を直列、にM会する必要があシ、パイプラ
インで除x’を行うために必要な回路の規模饋が膨大な
ものとなる。
このため、従来のベクトル処理装置においては所望の1
腿を得るまでに必要な米真の回数に等しい数だけ、1個
のパイプライン末算器を繰シ返し用いることによシ除算
を実現している例がめった。
すなわち、仮除数N1除畝りとした場合、次の4ステツ
プで商Qを得る。
ステップ1:近似逆数の1丼 几0〜1/D μυ ステップ2:近似逆数の精度向上 Rt = (2DXRo ) u7) ステップ3:分子の近似 Ns =NXRo (13 ステップ4:閤の精度向上 Q==N+ XRx (141 第1図は、このときに用いる浮動小数点データ表現形式
を示したものである。
浮動小数点データは、符号の表現に1ビツト、指数の表
現に15ビツト、仮数の表現に48ビツト、曾計64ビ
ットを使用して衣男される。この従来技術では、逆数近
似方式による除鼻によって仮数部のデータ有効表現術i
48ビットの梢厩を確保すればよく、そのために上記ス
テップ1からステップ4の4段階の演算で除′J4.を
実現している。
ステップ1では除数りの近似逆数ROを精度30ビット
でめる。次にステップ2で精度を47ビツトまで向上さ
せてRs’にめ、ステップ3、ステップ4で、NXRO
XR,を1弄して藺Qを丼出している。謁2図は、この
除算処理における精度向上の様子を示したものである。
従来技術では上記4ステツプから成るベクトルデータの
除算処理を、次に示すような命令およびハードウェア構
成で実現している。
ステップ1の精度30ピットの近似逆畝几Oをめる処理
は、この処理のためだけに用意されたFloating
 point reciprocal al)l)ro
xim3ti□n命令で行われる。
ステップ2の処理は、この処理のためだけに用意された
l(、eciproc211terations 命令
で処理される。
ステップ3およびステップ4の処理は、通常の浮動/」
・数点ベクトル乗算命令を用いて処理される。
以上の処理のために従来では浮動小数点栄典ユニットお
よび浮動小数点逆数近似ユニットが用いられる浮動小数
点乗算ユニットは、迫′にのベクトル乗Jl命令の処理
に用いられる演算器で、1マシンサイクルピツチで次々
と送られてくるデータをパイプラインで処理し、1マシ
ンサイクルに1演#鮎釆の割合で乗算結果を出力するバ
イグライン構造の乗算器でおる。浮動小数点逆数近似ユ
ニットは、ploatjrlg pojnt l(、e
ciproc41AT;)proximB t i□n
命令を処理すルユニットテ、1マシンサイクルピツチで
久々と送られてくるデータの精度30ビツトの近似的な
逆数をパイプ2インで鼻出し、1マシンサイクルに1演
算結果の割合で近似逆数を出力するパイプライン構造の
演算器である。
上記のことかられかるように、従来ベクトルデータの除
算においては、浮動小数点逆数近似ユニットt1回、浮
動小数点栄舅ユニットを3回に用して、いずれもパイプ
ラインで処理されるplotting point B
eciprocal Approxjlnation命
令を1回、1(eciprocaI JteratlO
n8 命令を1回、浮動小数点乗算命令を2回、14命
令を実行してベクトルデータの除J!ヲパイプライン的
に処理する。このような処理方式では、ベクトルデータ
の成典処理に4命令の実行を必要とし処理時間がかかる
とともに、除算処理のために浮動小数点乗算ユニットが
使用されている間、通常の來昇処理が行えないといった
問題がある。また、間Qを得るまでに、ステップ2.ス
テップ3のつ団瀦果几1.N1を商Qを侍るまでの中間
結果として保持する必要があり、余分の1白、は鎖酸あ
るいはベクトルレジスタが必要であるといった問題があ
る。
〔発明の目的〕
本発明の目的は、乗算を繰υ返して藺をめる除算方式を
採用しているベクトル処理装置において、ベクトルデー
タの除算をパイプラインで高速に処理する回路を提供す
ることにある。
〔発明の概賛〕
本発明の符似とするところは、筒速性を21i$するた
めに候数個のパイプライン演算器を装備したベクトル処
理装置において、乗算処理を繰シ返して藺をめる除算方
式を採用してベクトルデータの除Jlを行うとき、曲を
めるまでに心安な乗算を専用に処理する乗算回路を用意
することはせず、ベクトルデータの乗J1行う命令の処
理に使用することを目的として設けられたパイプライン
乗算器2個をM慎重に結合し、かつ連動して動作させて
除算に必要な9.典処理を行い、除算をパイプラインに
て筒速に処理するところにある。すなわち、2個のパイ
プライン乗算器を組とし、一方の乗算器の出力結果を他
方の乗算器に込るデータバスを設けることによ92個の
パイプライン乗算器を頴合し、また後者のパイプライン
乗算器とデータの供給口を共用する除算専用のパイプラ
イン構造の付加回路を設け、これらを連動して動作させ
ることによシ、ベクトルデータの除算をパイプ2インで
処理する。パイプラインによる味昇は、入力オペランド
として除数を指足し、その近似的な逆数を出力オペラン
ドとする命令、お↓び入力オペランドとして被除数、除
数、除数の近似的な逆数を指定し、藺を出力オペランド
とする命令の付8r2命令を浬絖して実行することによ
シ行われる。
〔発明の実施例〕
以下、実施例を用いて本発明の詳細な説明する。
本発明における除算方式は、逆数近似方式を基本として
いる。本実施例においては、7A3図にボず浮動小数点
データ形式をもつベクトル処理装置を考える。ベクトル
処理装置のデータ派現形式がどのような形式であるかは
本発明の本質ではない。
本実施例で扱うデータ表現形式は、第3凶に示す如く、
符号部を1ビツト、指数部をeビット、仮数部をmビッ
トで表現している。また、仮数部の小数点は仮数部の先
頭に位置する。
逆数近似方式による除算で荷に関係あるのは、仮数部の
嵌現桁数であり、第3図のデータ衣現形式では、仮数部
の有効桁数はmビットであるので逆数近似方式による除
算において、乗算の繰シ返しによシ、精度mビット(精
度2−” )の藺をめればよい。
本実施例においては、近似逆数表に記憶させておく除数
の第一次近似逆数は梢Ktビットとし、かつ、第一次近
似逆数のn度と浮動小数点有効桁数との間には次の関係
がある。
6t≦m(7t μm 即ち、近似逆数表を引いて得られる除数の第一次近似逆
数に対し、浮動小数点有効桁数mビットを満たす藺を得
るには、逆数近似方式によシ乗算を繰り返すことによυ
、精度を6倍に上げる必要がある。第3図に、第一次近
似逆数の精度tと浮動小数点データ仮数部有効桁数mと
の関係を示す。
本実施例において、被除数をN1除e、をDとし、近似
逆数表を引いて除数りの第一次近似逆数であるrを得て
から、精度を6倍に上げて、商を得るまでの原理は次の
通pである。
藺Qを得るまでの処理は、次の6ステツプより成z0 ステップ1 : 除数りの仮数部上位tビラトラもとに、近似逆数衣を引
いて、除数りの第一次近似逆数rを得る。第一次近似逆
数rの精度は前述のようにtビットであるので、第一次
近似逆数rを得るのに必要な除数りのビット数は、仮数
部mビットのうちの上位tビットでよい。
ステップ2 : rt =1+(1−1)x r) +(1−DXr)2
μθ の岨其。
ステップ3 : 几0=rxrI H の計算。
ステップ4 : Rt = 2−D X Ro ul の計算。
ステップ5 : N 1 = N X fi、 O四 の計算。
ステップ6 : Q = N I X R1ンp の計算。
次に上記ステップ1からステップ6の処理で、精度mビ
ットの商Qが得られることを示す。
除数りと第一次近似逆数rを乗じると1に近い櫨となシ
、その誤差をε(0≦さく1)とすると次式がいえる。
DXr=1±ε @ 誤着εは第一次近似逆数rが浮動小数点仮数部有効桁数
mビットよシ小さいtビットの精度しが持たないことに
起因する。
式住η、(至)、四、(至)、ンυと弐四よ9次の一連
の式が導かれる。
−1−1)Xr=l−(1±6) =王ε ■ ・ (1−DX r )”−g ” @・ r1=1干
ε+ε2 (至) * DXR,=Dxrxrl =(1±ε)(1不ε+ε2) =1±63 (2) ・ 几l =2DXR◎ −2−(1±63 ) =1+ε3v0 − l) X ROX R1= (1±63 )(1+
g3 )=1−66 @ 式(至)よシ、Dx几oXRtを計算することによって
、除数りの逆数の積置が、第−次近似逆erのεからそ
の6倍のn度であるε6に上がシ、浮動小数点データ仮
数部有効表現桁数以下の精度となる。
従って、商Qを Q−N X Ro XR1@ とすれば、 〜NXROXF&1 < となって、浮動小数点データ仮数部有効桁数の精度を満
たす値となる。
上述のステップ5.ステップ6は式に)を計算するため
のものである。
本実施例においては、商を得るまでに必要な上述のステ
ップ1からステップ6までの処理を次のようにして実現
する。即ち、ステップ1がらステップ3までの処理’k
 ’V E R命令(vectorglementwi
se 1(eciprocBl命令)で行う、 VER
命令の出力結果は式恨樽で与えられる凡0であシ、RO
は式に)から、除数りの誤差ε3の近似的な逆数となっ
ている。従って、VER命令は、而Qを得る中間結果を
出力する命令であるとともに、近似逆数を算出する命令
ともなっている。ステップ4からステップ6の処理はV
BD命令(VectorElementwise Di
yjde命令〕で行う。
このように、前記のステップ1がらステップ6までの除
算の処理を、VER命令、VED命令の2個の命令を連
続して実行することにより行う。
VER命令およびVED命令の処理は、通常の乗算命令
−VEM命令(■ector glernentwi3
eMH1tiply命令)と呼ぶことにする−をパイプ
ラインで処理するパイプライン乗算器および除算処理の
ために設けたパイプライン構造の除算回路を連動させて
動作させることによシ、パイプラインで処理される。以
下、処理の内容を詳細に示す。
最初に、パイプライン乗算器の構造例を示す。
第4図はパイプライン乗算器の侮成を示したものである
。第4図の中で、1.21’t、それぞれ被乗数、乗数
が送られてくるデータバス、3は栄其紹果を出力するデ
ータバス、10〜17はデータレジスタ、20〜23は
倍数発生回路、30〜33はC8Aトリー(Carry
 5ave Adder) リー)、34はパラレルア
ダー、40は第1部分積のキャリー出力レジスタ、41
は第1部分積のサム出力レジスタ、以下42〜47は第
2部分積、第3部分積、第4部分積のキャリー出力レジ
スタおよびサム出力レジスタ、48は乗:Jl:I#i
果レジスタである。第4図に示すパイプライン乗算器の
乗算方式は既に公知の技術であって、乗数を2ビット単
位でデコードして被乗数の倍数を発生させ(*数の仮数
部は8g3図に示した如くmビットであるので、7個の
倍数が発生される)、これら倍数をCBrrySave
 Adderおよびパラレル・アダーで加算して米鼻結
果を得るものである。第4図の例では、mビットと、デ
ータレジスターoに保持される被乗数を倍数発生回路2
oに入力して倍数を発生させ、これらの倍数をC8A)
!J−30に入力して加算し、データレジスタ4oにキ
ャリー出力、データレジスタ41にサム出力を得る(第
1部分積の算出)。次に、乗数の第2下位−ビットと被
乗数を倍数発生回jil)21に入力して倍数を発生さ
せ、これらの倍数と第1部分積のキャリー出方、サム出
力とをC8A)り −31で加算して、第2部分積のキ
ャリー出力、サム出力をそれぞれデータレジスタ42.
43に得る。以下同様の処理をして一第4部分槓のキャ
リー出力をデータレジスタ46、サム出力をデータレジ
スタ47に得、これらをパラレルアダー34で加算して
、データレジスタ48に最終積を得る。
第4図に示した例では、上記に示した末其処理カハイフ
ラインで行える構造となっている。即チ、入力データで
ある被乗数および乗数がそれぞれデータバス1および2
から処理装置の基本処理単位時間である1マシンサイク
ルに1データの割付で次々と送られてくる。最初に送ら
れてきた被乗数および乗数がそれぞれデータレジスタ1
0.14にセットされると直ちに第1s分禎の計算にs
b、1マシンサイクル後にキャリー出力、サム出力がデ
ータレジスタ40.41にまる。これと同時に、最初に
送られてきた被乗数はデータレジスタ15にセットされ
、データレジスタ1oおよび14には第2膏目に送られ
てきた被乗数および乗数がセットされる。以下同様に、
最初に送られてきたデータの第2部分績がデータレジス
タ42゜43にまるとき、データレジスタ40.41に
は第2膏目に送られてきたデータの第1部分績が、また
データレジスタ10.14には第3番目に送られてきた
被乗数および乗数がそれぞれセットされる。そして、デ
ータレジスタ48に最初に送られてきたデータの最終積
がまるとき、第21F目に送られてきたデータの第4部
分積がデータレジスタ46.47に、第3査目に送られ
てきたデータの第3部分績がデータレジスタ44.45
に、第3着目に送られてきたデータの第2部分棟がデー
タレジスタの42.43に、第4査目に送られテキたデ
ータの第1部分績がデータレジスタ40゜41に、第5
査目に送られてきた被乗数および乗数がデータレジスタ
10.14にセットされている。
このようにして乗算がパイプラインで処理され、最初に
送られてきたデータの乗算結果がデータバス3を介して
送出されると、以後エマシンサイクルピッチで次々と乗
算結果が送出される。
次に、前記のステップ1からステップ6までの除算処理
を、第4図に示したパイプライン乗算器2個および除算
専用のパイプライン構造の付加回路を有機的に納会して
処理する実施例を第5図を用いて詳細に説明する。
第5図において、1および3はパイプライ/乗算器であ
って、構造は第4図に示したパイプライン乗算器と全く
同じである。パイプライ/乗算器1および3は独立に動
作することができ、ベクトルデータの乗算を行うVEM
命令をそれぞれ独立に処理できる。即ち、パイプライン
乗算器1でVEM命令を処理する場合は、データバス1
0゜11から被乗数データ、乗数データが次々と供給さ
れ、乗算結果がデータバス12かう次々と送出される。
またパイプライ/乗算器3でVEM命令を処理する場合
は、データバス13.14から被乗数データ、乗数デー
タが次々と供給され、乗算結果がデータバス15から次
々と送出される。パイプライン乗算器1と3で別のVE
M命令を同時に処理することが可能である。
次に、第5図に示した実施例における除算処理の動作を
説明する。第5図に示した実施例において除算処理を行
うとき、回路の構成上次の点が特徴的である。
(1) 第5図において、4はパイプライン除算付加回
路であシ、前記の除算処理ステップ1からステップ6の
うち、ステップ2とステップ5の処理を行うために特別
に設けられた回路であシ、パイプライン構造となってい
る。パイプライン除算付加回路の内部構成の詳細はの入
力データの供給口は、パイプライ/乗算器30入力デー
タの供給口と共通となっておシ、パイプライン除算付加
回路4にデータを供給するときは、パイプライン乗算器
3にデータを供給するデータバス13.14から、デー
タバス19.20ft介して行われる。
(3)第5図において、パイプライン除算付加回路4の
出力データはデータバス17.18′を介してパイプラ
イン乗算器3へ送られる。
(4) (2)、 (3)より、パイプライン除算付加
回路4は専用の入力データ供給口および出力データ送出
口を持たず、パイプライン乗算器3に併設された付加回
路の性格をもつ。便って、第5図において、第5図の回
路を含むベクトル処理装置からみたとき、パイプライン
除算付加回路4は1個の独立した演算器でなく、パイプ
ライン乗算器3と合わせた回路が1個の演算器として扱
われる。第5図において、パイプライ/乗算器とパイプ
ライン除算付加回路を会わせた回路2を、除算付加機構
付パイプライン乗算器と呼ぶ。即ち、本実施例における
除算処理専用に設けたパイプライン除算付加回路4は、
ベクトル処理装置全体から見た場合、大量のベクトルデ
ータのやシとシをするデータバスを新たに設ける必要が
ないという点で有利であり、本実施例の特徴の1つであ
る。
(5)第5図において、パイプライ/乗算器1の出力デ
ータを、パイプライン乗算器3に送るデータバス16が
ちシ、且つ、その間にビット反転回路21が入っている
(6)第5図において、30.31はデータバスセレク
ト回路であp1データバスセレクト回路30はパイプラ
イン乗算器3へ被乗数データを供給するパス13、パイ
プライン除算付加回路4の出力データを送るパス17、
パイプライン乗算器1の出力データをビット反転したデ
ータを送るパス16のいずれかを選択することができ、
またデータセレクト回路31は、パイプライン乗算器3
へ乗数データを供給するパス14、パイプライン除算付
加回路4の出力データを送るパス18のいずれかを選択
することができる。
次に、パイプライン除算付加回路4の内部構成を説明す
る。第5図において、40〜51および78.79はデ
ータレジスタ、60〜62は第4図で説明した+f!数
発生回路と同一の回路、63〜65は第4図で説明した
C8A)IJ−と同一の回路、66.67は第4図で説
明したパラレルアダーと同一の回路、70〜75はそれ
ぞれC8Aトリー63〜65のキャリー出力レジスタ、
サム出力レジスタ、76.77はそれぞれパラレルアダ
ー66.67の出力レジスタ、32.33はデータバス
セレクト回路である。また、第5図において80は記憶
回路でろって、近似逆数表の登録を目的とする。以上の
構成をもつパイプライン除算付加回路4は機能的には次
の3つのコンポーネントから構成されている。
(1) 乗数巾−ビットのパイプライン乗算器第5図の
データレジスタ40、倍数発生回路60、C8Aトリー
63、パラレルアダー66、データレジスタ70,71
゜76で構成される回路は、データレジスタ40に貯え
られているデータを被乗数、記憶回路80から読出した
データを乗数とするパイプライン乗算器となっている。
乗数のビット数は、倍数発生回路60、C8Aトリー6
3が第4図で説明したそれらと同一であるので一ビット
である。
(2) 乗i中−ビットのパイプライン*算器データレ
ジスタ48〜51、倍数発生回路61.62、C8A)
リー64.65、パラレルアダー67、データレジスタ
72〜75および77で構成される回路は、データレジ
スタ48に貯えられているデータを被乗数、データレジ
スタ49に貯わえられているデータを乗数とするパイプ
ライン乗算器となっている。乗数のビット数は、@4図
で説明したものと同じ倍数発生回路、ットである。
(3)近似逆数表 第5図の記憶回路80は、データレジスタ40に貯わ見
られているデータをアドレスとしてデータを読出すもの
で、除算処理における第一次近似逆数を保持する近似逆
数表として使われる。
このように、パイプライン除算付加回路は除算処理のた
めに特別に用意されてはいるが、回路構成は通常のパイ
プライン乗算器と類似したものとなっておシ、回路実現
上M利である。
以上のような特徴的7J:構成をもつ第5図の実施例に
おいて、前記のステップ1からステップ6の除算処理が
パイプラインで実行される様子を次に説明する。本笑施
例における除算処理は前述のように、VE几命令 VE
D命令のHt2個の命令で行われる。
(1)VER命令の処理 VER命令は除数りを入力データとし、前記のステップ
トステツプ3の処理を行って、弐賭で与えられる除数り
の近似的な逆数几0を出力データとして出力する。処理
は@5図の除算付加愼構付パイプライン乗典器2を用い
て行われる。以下各ステップ毎に処理の詳細を示す。
ステップ1: 入力データ除数りが、第5図のデータバス13および1
9を介して1マシンサイクルピツチで次々と供給され、
データレジスタ40にセットされる。データレジスタ4
0にセットされた除iDの仮数部mビットのうちの上位
tビットをアドレスとして記憶回路80に登録されてい
る近似逆数を引き、除数りの第一次近似逆数rを得る。
rのビット巾はtビットである。
ステップ2: 除数りおよび第一次近似逆数rよシ次式を計算する。
rt=1+(1−DXr)+(’1−Dxr)” (1
7)まず、 1−Dxr (31) の計算をバイグライン除算付加回路4の中の乗数巾−ピ
ットのパイプライン乗算器で行う。
第一次近似逆数rはtビット巾であり、またtと浮動小
数点仮数部ビット数mとの間には式(t!9に示す関係
がおシ、 が成立する。
従って、式(31ンの計算で、Dxrは、Dを被乗数、
rを乗数として乗数中−ビットの〕くイブライン乗算器
で計算できる。
実際には式(31) ’に変形して式(33)の形で計
算する。
1 +Dx (−r ) (33) 式(33)の計算において、 ・ 乗数をrから−rとする処理は第6図のビット反転
回路81で行われ1の補数化を行い処理する。
・ 値1の加算は、倍数発生回路75で発生された倍数
をC8Aトリー70で加算するときに、値1発生回路8
2の出力を合わせて加算することにより処理する。
以上の処理によシデータレジスタ44に式(33)の値
がまる。これらの処理はパイプラインで行われる。即ち
、データバス13゜19を介して除数りが1マシンサイ
クルピツチで次々と供給され、第−蕾目のデータの演算
結果がデータレジスタ76にセットされるとき、第24
i目のデータの部分積がデータレジスタ70.71に、
第3蕾目のデータがデータレジスタ40にセットされる
次に、式(33)の計算結果を用いて式αηを計算する
。式[7Jの計算はバイグライン除算付加回路4の中の
乗数巾−ビットのパイプライン乗X器を用いて行う。成
仏りの計算は、成仏ηを式(34)のように変形して何
う。
1+(1−DXr) ・(1+(1−])Xr))(3
4)即ち、データセレクト回路32.33をデータレジ
スタ76の値を選択するように制御し、データレジスタ
76に得られた(1−DXr)の1i[を乗数としてデ
ータレジスタ49にセツトシ、データレジスタ76にイ
尋られfc1直を十1回%83を通して得られる値(1
+(1−DXす)を被乗数としてデータレジスタ48に
セットする。
データレジスタ48.49に被乗数および乗数がセット
されると、倍数発生回路61゜62、C8A)リ−64
,65、パラレル・アダー67を用いてパイプラインで
乗算処理が開始される。
また式(34)における値1の加算は、式(33)の計
算において用いたのと同じ手法で、倍数発生回路61が
発生した倍数をC8Aト!J−64で加算するときに値
1発生回路84の出力を付わせて加算することによ多処
理する。
以上の処理によシ式αηの値r!がデータレジスタ79
にまる。
また記憶回路80から読み出された第一次近似逆数rは
、それと対応する弐αηをめるまでの乗算処理が進行す
るのと同期してデータレジスタ42〜47を進む。即ち
、第I前月(lは自然数)のデータに対応する式u′D
の演算結果r1(りがデータレジスタにセットされると
き、データレジスタ47には、第i希目のデータに対応
する第一次近似逆数r (i)がセットされる。
なお、式(34)の計算において、乗数1−DXrのl
J[は式Qで与えられ、tピットおれはよいので、式(
32)の関係よシ乗数巾−は充分で2 ある。
ステップ3: 式四の乗算処理はパイプライン乗算器3を用いて行われ
る。
即ち、データバスセレクト回路30をデータバス17を
選択するように制御し、またデータセレクト回路31を
データバス18を選択するように制御して、データレジ
スタ47に得られた値rおよびデータレジスタ77に得
られた値r1 をそれぞれデータレジスター00,10
1に取シ込む。データレジスター00,101にデータ
が取シ込まれると、パイプライン乗算器3が第4図の説
明で述べたように動作し、式Q8の乗算処理がパイプラ
インで処理され、演算結果Roがデータレジスター02
に得られ、データバス15を介して、VER命令の演算
結果として送出される。
以上示したVER命令の処理において、入力データであ
る除数りがデータレジスタ4oにセットされてから演K
M果R,がデータレジスタ102にまるまでの一連の処
理はパイプラインで行われ、データバス13.19を介
して1マシンサイクルピツチでベクトルデータを次々と
供給するとき、第1蕾目のデータの演KM来がデータバ
ス15を介して送出されると、以後17シンサイクルピ
ツチで次々と演算結果が送出される。
(2)VED命令の処理 VED命令は、被除数N1除数りおよびVEIL命令の
演算結果である几0を入力データとし、θσ記のステッ
プ4〜ステツプ6の処理を行って、商Qを出力データと
して出力する。処理は第5図のパイプライン乗算器1お
よび除算イづ加慎楕付パイプライン乗算器2を連動して
動作させることによp行う。以下各ステップ母の処理の
詳細を示す。
ステップ4: 弐μ鐘の演算はパイプライン乗算器1により行われる。
R1=2 DXRo ul 第6図において、データバス10を介して除数D1デー
タバス1lt−介して近似逆数几0が1マシンサイクル
ピツチで次々と供給される。除数りおよび近似逆数几0
がそれぞれデータレジスタ200.201にセットされ
ると、パイプライン乗算器1が第4図の説明で述べたよ
うに動作し、D X Roの乗算処理がパイプラインで
処理され、ff1J!結果がデータレジスタ202に得
られる。
DXRoO値を2から減じてR11をめる処理は、DX
Roの値の2の補数値を倚ることに相当し、これは、ビ
ット反転回路21゜+1回路22によシ実現される。
以上によシ得られた値R1はデータバス16を介して除
算付加機構付パイプライン乗算器2へ送られる。
ステップ5: 式(イ)の乗算処理はパイプライン除算付加回る。
N t = N X Ro し1 第5図において、データバス13および19を介して被
除数N1データバス14および20を介して近似逆数凡
0が1マシンサイクルピツチで次々と供給され、それぞ
れデータレジスタ40および41にセットされる。
本ステップの処理においてはデータバスセレクト回路3
2はデータレジスタ78を選択、データバスセレクト回
路33はデータレジスタ79の値を選択するよう制御さ
れる。データレジスタ40にセットされた被除数Nは、
データレジスタ78、データバスセレクト回路32を介
してデータレジスタ48にセットされる。同様に、デー
タレジスタ41にセットされた近似逆数几0はデータレ
ジスタ79およびデータバスセレクト回路33を介して
データレジスタ49にセットされる。
データレジスタ48にセットされたNf:被乗数、デー
タレジスタ49にセットされたReを乗数として、倍数
発生回路61,62、C8A)リー64.65、パラレ
ルアダー67t″用いて弐〇71の乗算処理がパイプラ
インで行われ、結果N1がデータレジスタ77に得られ
る。
式(至)の乗算処理において、乗数となる几◎は式に)
に示した精度をもつ。即ち、弗−次近似逆数rの楕匿の
3倍の精度をもつ。第一次近似逆数rがtビットで表現
されるから、几0は3Xtビツトで表現すれば精度的に
問題ない。tと浮動小数点仮数部有効桁数mとの間には
弐Uωの関係があるので、 て問題はない。
ここで、ステップ4およびステップ5の処理は同期して
行われる。即ち、1マシンサイクルピツチで次々と入力
データが供給されるとき、第i査目の除数D1第i番目
の被除数N、第i査目の近似逆数Roがデータレジスタ
200,100゜101および201にセットされるの
は同一時刻である。さらに、第1着目の除数D1近似逆
数1111oがそれぞれデータレジスタの200.20
1にセットされてから、ステップ4の演算においてD 
X B oO値がデータレジスタ202にセットされる
までの時間と、第1査目の被除数N、近似逆数Roがそ
れぞれデータレジスタ40.41にセットされてから、
ステップ5の演算結果Nlがデータレジスタ77にセッ
トされるまでの時間は共に5マシンサイクルとなるよう
、パイプライン乗膵器1およびパイプライン除丼付加回
路4はmt戊されている。従って、次に説明するステッ
プ6の処理において、第1査目のR1、第I針目のNl
がそれぞれデータレジスタioo、ioiにセットされ
るのは同一時刻である。
ステップ6: 式ンυの乗算処理がパイプライン乗算器3で処理される
。VED命令実行時、第6図のデータバスセレクト回路
30はデータバス16を選択、データバスセレクト回路
31はデータバス18を選択するよう1ttlJ御され
る。
パイプライン乗算器1でパイプラインで計算されたステ
ップ4の結果几1はデータバス16を介してlマシンサ
イクルピッチで次々と送られ、データレジスタ100に
セットされる。またパイプライン除算付加回路でパイプ
ラインで計算されたステップ5の結果N1kif−タバ
ス18を介してlマシンサイクルピッチで仄々と送られ
、データレジスタ101にセットされる。このとき、前
にも述べた通シ、第1着目のR1がデータレジスタio
o。
第i査目のN1がデータレジスタ101にセットされる
のは同一時刻である。
R,およびNlがそれぞれデータレジスタ100.10
1にセットされると、パイプライン乗算器3が第4図の
説明で述べたように動作し、式eυの乗算処理がパイプ
ラインで行われ、演$M来がデータレジスタ102に得
られる。データレジスタ102に得られたデータはVE
D命令の乗算結果、曲Qとして、データバス15を介し
て1マシンサイクルピツチで次々と送出される。
以上示したVED命令の処理において、入力データであ
る除IILD、被除数N1近似運数Roがそれぞれデー
タレジスタ200,100,201゜101にセットさ
れてから出力データでめる曲Qがデータレジスタ102
にまるまでの一連の処理はパイプラインで行われ、入力
データが17シンサイクルピツチで次々と供給されると
き、第1査目のデータの演算結果がデータバス15を介
して送出されると、以後1マシンサイクルピツチで次々
と演算結果が送出される。
以上第5図を用いて説明した本発明の実施例においては
、乗算を繰シ返して曲をめるfu、近似方式のベク)/
レデータの除算を、第5図に示した回路を用いて、VE
R命令、VEI)命令の2茄令を連続して実行すること
によシ行う。さらに、VER命令、VED茄令はいずれ
もパイプラインで処理され、それぞれ1マ7ンサイクル
に1演昇結果が得られる。従って、第5図の実施例では
而Qが等測的に2マシンサイクルに1演算結果の割付で
得られる。
第6図は、第5図に示したベクトル除算処理用の回路構
成を會むベクトル処理装置の一実施例を示したものでお
る。第6図において、パイプライン乗算器1、除算付加
機構付パイプライン乗算器2、データバス10〜16は
第5図のそれらと対応している。主記憶装置100はベ
クトルデータやベクトル命令列を保持する、2ooはベ
クトルレジスタ群でろって、主記憶装置とパイプライン
演算器との間に位置し、ベクトルデータを一時的に記憶
するためのものである。第6図の実施例ではベクトルレ
ジスタはN本あムそれぞれo、1゜2、・・・、N−1
と着力付けされている。また谷ベクトルレジスタは最大
り個の要素から成るベクトルデータを保持することがで
きるようになっている。データバス101〜105は主
記憶装置とベクトルレジスタとの間のデータ転送を行う
ものである。
206はベクトルレジスタ読出/誓込制御回路であって
、ベクトルレジスタとパイプライン演算器との間のデー
タバスの頴会関保ftft?lJ 呻するものである。
データバス201〜205はベクトルレジスタとベクト
ルレジスタ読出/誓込制御回路との間のデータバスであ
る。
300はベクトル命令レジスタ(VectorInst
ructjon Register、V I Rと略す
)でろって、データバス304を介し−C王記憶装置か
ら読出されたベクトル命令を一時的に保持するレジスタ
である。
301はベクトル命令レジスタ300に保持されている
ベクトル命令を解読する回路であって、信号線302は
ベクトル命令の解読結果をベクトルレジスタ続出/費込
制御回路へ通知するためのもの、また信号線303は、
第5図で示した除繕−付加愼構付パイブライン乗昇器2
内のデータセレクト回路30,31,32.33を制御
するためのものである。
なお、第6図の実施例においては、パイプライン演算器
として除算処理に関係のある2個のパイプライン演算器
のみを示したが、他にパイプライン演算器がβっても着
しつかえない。
第7図は、第6図に示したベクトル処理装置において除
算を実行するためのベクトル命令列の一例を示したもの
である。第7図において、命令■■は主記憶装置上にあ
るベクトルデータ被除数N。
除eiDをそれぞれベクトルレジスタのO蒼+を蕾にロ
ードするvector LoaD命令(略号Vl、D)
である。命令■は前記で示したV E R命令であって
、命令■によってベクトルレジスタの第1査にロードさ
れた除数りを読出して近似逆数Reを計算し結果をベク
トルレジスタの第2番に格納するものである。命令■は
前記で示したVED命令であって、命令■、■、■でそ
れぞれベクトルレジスタの第O査、第1査、第2査に格
納されている被除数N、除数り、近似逆数Roを読出し
て、閤Q′l1f−計算し結果をベクトルレジスタの第
3番に格納するものである。なお、命令■では、几◎が
格納されているベクトルレジスタ第2査の指定がないが
これは、■ED命令のオペランドの指定方式として、除
数りが格納されているベクトルレジスタの前号よシ1多
い前号のベクトルレジスタに除数りの近似逆数几0が格
納されていると仮尾して、オペランドの指定数を減らし
ていることによる。
次に、第7図に示したベクトル館令列が第6図に示した
ベクトル処理装置において来信される様子を説明する。
ここでm7図の命令■、■は本発明と特に関連をもたな
いので説明を省略する。
(i)vEg命令の処理 主記憶装置100よりデータバス304を介して第7図
の命令■、VE]R命令が読出されると、ベクトル命令
レジスタ300にセットされ直ちにベクトル命令解読回
路301に送られる。ベクトル館令解読回lN1301
において命令の内容が解読されると、信号線302を介
してベクトルレジスタ読出/−込制御回路に対し、デー
タバス202とデータバス13、データバス203とデ
ータバス15全結合し、ベクトルレジスタ第1着からの
データの読出し、およびベクトルレジスタ第24iへの
データの簀込みを指示する。また1i号巌303を介し
て、除算付加機構付パイプライン乗算器に対し、VER
命令の処理を指示する。しかる後、ベクトルレジスタの
第1査から除数りを次々と絖出し、データバス202及
び13を介して除算付加機構付パイプライン乗算器に供
胎し、パイプラインで几◎を計其シ、データバス15お
よび203を介してベクトルレジスタ第2蕾へ次々と書
き込まれる。
(2)VED命令の処理 前述のVER命令の場曾と全く同様に主記憶装置100
から胱出された第7図の命令■、VED命令はベクトル
命令解読回路301で解読される。ベクトル命令解読回
路301で命令の内容が解読されると、信号線302を
介してベクトルレジスタ読出/簀込制御回路に対し、デ
ータバス201とデータバス13、データバス202と
データバス10、データバス203とデータバス11お
よび14eそれぞれ粘会し、ベクトルレジスタの第0査
第11!、第2査の続出しおよび第31への簀込みを指
示する。また信号線303を介し、除算付加慎構付パイ
プライン乗昇器に対しVED命令の処理全指示する。し
かる俊、ベクトルレジスタの第0査、第1食、巣2査か
らそれぞれ板除数N、除数り、近似212!数R。
を次々と胱出し、それぞれデータバス201と13,2
02と10,203と11および14を介してパイプラ
イン乗算器1および除算付加機構付パイプライン乗算器
2へ供給し、商Qをパイプラインで計算し、データバス
15および204を介してベクトルレジスタ第3査に次
々と書込む。
以上のように、本実施例によれば、通常の乗算処理に用
いるパイプライン乗算器を流用して、VER命令および
VED命令の2命令を用いて、ベクトルデータの除′x
、をパイプラインで処理するとともに、商Qを得るまで
の途中経過としてReを保持するベクトルレジスタが1
本で隣むといった特徴がある。
〔発明の効果〕
以上述べたように、ベクトル処理装置において末:j!
を繰シ返して商をめる逆数近似方式によシベクトルデー
タの除算を行うとき、従来は通常の乗算器を用い商を得
るまでに必要なptAシ返しの乗算と通常の来14.命
令等を用いて行っていたのに対し、本発明では、通常の
パイプライン乗算処理に用いる211i1のパイプライ
ン乗算器に対し、一方の乗算器の出力結果を直接他方の
乗算器の入力データとするパスを設け、また通常のパイ
プライン乗算器と類似した構造をもつ除算処理専用のパ
イプライン構造の付加回路1個を人口データの供給口を
パイプライン乗算器と共用する形で併設し、ベクトル処
理装置内に除算処理専用の大規模な回路を設けることな
く、ベクトルデータの除J1.をパイプラインで高速に
処理することができる。
【図面の簡単な説明】
第1図は従来の浮動小数点数値データ表現形式を示す図
、第2図は従来の除算処理における積置向上の概念を示
す図、謁3図は本発明の一実施例で扱う浮動小数点デー
タ表現形式を示す図、第4図は本発明の一実施例で扱う
パイプライン乗算器のブロック図、第5図および第6図
は本発明の一実施例を示すブロック図、第7図は本発明
の一実施例テ扱うベクトル命令列を示す図である。 1・・・パイプライン乗算器、2・・・除典付加慎構旬
パイプライン乗算器、3・・・パイプライン乗算器、4
第 1 図 fJ2図 ■ 4 図

Claims (1)

    【特許請求の範囲】
  1. ベクトルデータの乗算命令を処理する目的で用意された
    パイプライン構造の乗算器が処理の高速化等を目的とし
    て少なくとも2個装備され、かつ乗算の繰シ返しによシ
    除算を行う方式を採用したベクトル処理装置において、
    前記乗算器2個を単位にして組とし、一方の乗算器の出
    力結果を他方の重鼻器に直接入力するデータバスと、後
    者の乗算器とデータの入力口を共用する除算処理専用の
    付加回路とを設け、該乗算器2個および該除算専用の付
    加回路を連動して動作させることによシ、ベクトルデー
    タの除算をパイプラインで処理することを%徴とするベ
    クトル処理装置。
JP58194249A 1983-10-19 1983-10-19 除算回路 Granted JPS6086671A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58194249A JPS6086671A (ja) 1983-10-19 1983-10-19 除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58194249A JPS6086671A (ja) 1983-10-19 1983-10-19 除算回路

Publications (2)

Publication Number Publication Date
JPS6086671A true JPS6086671A (ja) 1985-05-16
JPH0445860B2 JPH0445860B2 (ja) 1992-07-28

Family

ID=16321463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58194249A Granted JPS6086671A (ja) 1983-10-19 1983-10-19 除算回路

Country Status (1)

Country Link
JP (1) JPS6086671A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797849A (en) * 1985-11-19 1989-01-10 Hitachi, Ltd. Pipelined vector divide apparatus
JPH0535773A (ja) * 1991-07-30 1993-02-12 Nec Corp ベクトル除算方式とその装置
KR100434391B1 (ko) * 2001-07-20 2004-06-04 학교법인대우학원 디에스피 프로세서 및 마이크로프로세서의 실시간영상데이터 처리를 위한 연산회로 및 그 연산방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797849A (en) * 1985-11-19 1989-01-10 Hitachi, Ltd. Pipelined vector divide apparatus
JPH0535773A (ja) * 1991-07-30 1993-02-12 Nec Corp ベクトル除算方式とその装置
US5309385A (en) * 1991-07-30 1994-05-03 Nec Corporation Vector division processing method and system
KR100434391B1 (ko) * 2001-07-20 2004-06-04 학교법인대우학원 디에스피 프로세서 및 마이크로프로세서의 실시간영상데이터 처리를 위한 연산회로 및 그 연산방법

Also Published As

Publication number Publication date
JPH0445860B2 (ja) 1992-07-28

Similar Documents

Publication Publication Date Title
US4525796A (en) Pipelined operation unit for vector data
JPS6347874A (ja) 算術演算装置
JPS6044696B2 (ja) 浮動小数点デ−タ処理装置
JPH07506444A (ja) 小型乗算器
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US4130879A (en) Apparatus for performing floating point arithmetic operations using submultiple storage
US5164724A (en) Data format converters for use with digit-serial signals
JPS6086671A (ja) 除算回路
US3937941A (en) Method and apparatus for packed BCD sign arithmetic employing a two's complement binary adder
JP2972326B2 (ja) 平方根計算装置
JP2734438B2 (ja) 乗算装置
JP3096574B2 (ja) 倍精度乗算を実行する方法及び演算装置
US4563749A (en) Floating point digital differential analyzer
JPH0833815B2 (ja) 高桁乗算装置
JPS61220028A (ja) 乗算装置
JP2508286B2 (ja) 平方根演算装置
JPH01233520A (ja) 高基数非回復型除算装置
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
JP2777265B2 (ja) 高基数開平演算装置
JP2818512B2 (ja) 乗算装置
JPS63254525A (ja) 除算装置
JPH04314126A (ja) 逆数発生装置
Ehrman “Logical” arithmetic on computers with two's complement binary arithmetic
JPS6285333A (ja) 浮動小数点乗算器丸め処理方式
JPH01300338A (ja) 浮動小数点乗算器