JPH011060A - ベクトル演算装置 - Google Patents
ベクトル演算装置Info
- Publication number
- JPH011060A JPH011060A JP63-49879A JP4987988A JPH011060A JP H011060 A JPH011060 A JP H011060A JP 4987988 A JP4987988 A JP 4987988A JP H011060 A JPH011060 A JP H011060A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- elements
- vector data
- output
- 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
- 239000013598 vector Substances 0.000 title claims description 446
- 238000004364 calculation method Methods 0.000 claims description 45
- 238000007792 addition Methods 0.000 description 51
- 238000010586 diagram Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はベクトル演算装置に関し、特にベクトルデータ
の加算を行なうベクトル加算装置に関する。
の加算を行なうベクトル加算装置に関する。
ここで、まず、第10図を参照して、従来のベクトル演
算装置について説明する。
算装置について説明する。
図示のベクトル演算装置は第1及び第2の入力線16.
17に接続されたベクトル加算器15を備えている。2
2のベクトルデータA及びBがそれぞれ第1及び第2の
入力線16.17を介してベクトル加算器15に与えら
れる。ベクトルデータAは複数のベクトル要素(aj
l 821・・・、an)で構成され、同様にベクトル
データBは複数のベクトル要素(bl、 b2.・・・
、bn) で構成されている。
17に接続されたベクトル加算器15を備えている。2
2のベクトルデータA及びBがそれぞれ第1及び第2の
入力線16.17を介してベクトル加算器15に与えら
れる。ベクトルデータAは複数のベクトル要素(aj
l 821・・・、an)で構成され、同様にベクトル
データBは複数のベクトル要素(bl、 b2.・・・
、bn) で構成されている。
ベクトルデータA(!:Bとの加算によりベクトル要素
(olr 02 +・・・、on)からなるベクトルデ
ータOが出力される。即ち、ベクトル加算器15はベク
トル要素(al 1 a21 ”’ j an )と(
bl、b2゜・・・、bn)を連続的に合計して、ベク
トル要素(013021・・・r On ) を出力
線18に出力する。
(olr 02 +・・・、on)からなるベクトルデ
ータOが出力される。即ち、ベクトル加算器15はベク
トル要素(al 1 a21 ”’ j an )と(
bl、b2゜・・・、bn)を連続的に合計して、ベク
トル要素(013021・・・r On ) を出力
線18に出力する。
従って、出力ベクトル要素は、 o−=a、+b、と表
わせる。(ただし i=1.・・・、n)ここで3つの
ベクトルデータA、B、Cを加算する場合には(ベクト
ルデータCのベクトル要素を(cl、c2.・・・、c
n)とする。)、まず、ベクトル加算器15で連続して
ベクトル要素a、とす、とを加算して、中間ベクトルデ
ータDを出力する( D= (dl p d2 e・・
・* dn) ) o即ち、 di=a、−1−b、を
出力する。
わせる。(ただし i=1.・・・、n)ここで3つの
ベクトルデータA、B、Cを加算する場合には(ベクト
ルデータCのベクトル要素を(cl、c2.・・・、c
n)とする。)、まず、ベクトル加算器15で連続して
ベクトル要素a、とす、とを加算して、中間ベクトルデ
ータDを出力する( D= (dl p d2 e・・
・* dn) ) o即ち、 di=a、−1−b、を
出力する。
その後、ベクトル加算器15で中間ベクトル要素d1と
ベクトル要素Ctとを加算して。
ベクトル要素Ctとを加算して。
oj =ai +bi ” cs となる出力ベクト
ルデータOを求める。
ルデータOを求める。
このことから明らかなように、従来のベクトル演算装置
では、中間ベクトルデータDをレジスター等に保持して
おく必要がある。実際には、ベクトル加算器15はパイ
プライン処理でベクトル演算ができるように複数のフリ
ップフロップを備えておシ、各ベクトル要素は、クロッ
クパルスによってフリップフロップで順次遅延される。
では、中間ベクトルデータDをレジスター等に保持して
おく必要がある。実際には、ベクトル加算器15はパイ
プライン処理でベクトル演算ができるように複数のフリ
ップフロップを備えておシ、各ベクトル要素は、クロッ
クパルスによってフリップフロップで順次遅延される。
そして。
所定の時間の後出力ベクトル要素の一つが出力される。
即ち、ベクトル要素の一つ(ベクトル要素ごと)の演算
が上記の所定時間必要となる。
が上記の所定時間必要となる。
ここで、第11図も参照して、一つのベクトル要素の加
算を行うのにmTかかるものとしくmは正整数、Tはク
ロックサイクルを示す)、ベクトル要素a1とblがク
ロック・ンルスの0番目に同期して第1及び第2の入力
線16.17を介してベクトル加算器15に与えられる
。その後、ベクトル要素32〜&nとb1〜bnがクロ
ックパルスの1番目から(n−1)番目に同期して入力
される。その結果、ベクトル要素a、〜輻とす、〜bn
は1番目からn番目までのクロックサイクルで配列され
る。
算を行うのにmTかかるものとしくmは正整数、Tはク
ロックサイクルを示す)、ベクトル要素a1とblがク
ロック・ンルスの0番目に同期して第1及び第2の入力
線16.17を介してベクトル加算器15に与えられる
。その後、ベクトル要素32〜&nとb1〜bnがクロ
ックパルスの1番目から(n−1)番目に同期して入力
される。その結果、ベクトル要素a、〜輻とす、〜bn
は1番目からn番目までのクロックサイクルで配列され
る。
従って、第11図に示すように、ベクトル加算器15は
、ベクトル要素a、とす、に応答してm番目のクロック
ツJ?ルスの時間で中間ベクトル要素41次を出力する
。即ち、第1の中間ベクトル要素d1はm番目のクロッ
クパルスに同期して出力される。同様にして、2番目か
らn番目の中間ベクトル要素d2〜dnは(m+1)番
目から(n+m−1)番目のノPルスに同期して出力さ
れる。この中間ベクトル要素d1〜dnはレジスタ(図
示せず)に格納される。
、ベクトル要素a、とす、に応答してm番目のクロック
ツJ?ルスの時間で中間ベクトル要素41次を出力する
。即ち、第1の中間ベクトル要素d1はm番目のクロッ
クパルスに同期して出力される。同様にして、2番目か
らn番目の中間ベクトル要素d2〜dnは(m+1)番
目から(n+m−1)番目のノPルスに同期して出力さ
れる。この中間ベクトル要素d1〜dnはレジスタ(図
示せず)に格納される。
次に、ベクトルデータCと中間ベクトルデータDとが、
第1及び第2の入力線によってベクトル加算器15に与
えられる。即ち、まず、第1のベクトル要素c1と第1
の中間ベクトル要素d、とが(n+m−1)番目のクロ
ックパルスに同期して。
第1及び第2の入力線によってベクトル加算器15に与
えられる。即ち、まず、第1のベクトル要素c1と第1
の中間ベクトル要素d、とが(n+m−1)番目のクロ
ックパルスに同期して。
同時にベクトル加算器15に与えられる。同様にして、
第2から第nのベクトル要素c2〜enと第2から第n
の中間ベクトル要素d2〜dnが対で。
第2から第nのベクトル要素c2〜enと第2から第n
の中間ベクトル要素d2〜dnが対で。
(n十m)番目から(2n 十m −1)番目までのク
ロックパルスに同時してベクトル加算器15に入力され
、 (n+2m−1)番目のクロック・ぐルスに同期し
て、第1の出力ベクトル要素01が出力される。
ロックパルスに同時してベクトル加算器15に入力され
、 (n+2m−1)番目のクロック・ぐルスに同期し
て、第1の出力ベクトル要素01が出力される。
同様にして、第2から第nの出力ベクトル要素02〜o
nが(n+2m)番目から2(n十m−1)番目の時間
関係で出力される。従って、3つのベクトルデータのベ
クトル加算を行うには2(n+m−1)Tの時間間隔が
必要となる。
nが(n+2m)番目から2(n十m−1)番目の時間
関係で出力される。従って、3つのベクトルデータのベ
クトル加算を行うには2(n+m−1)Tの時間間隔が
必要となる。
ここで、ベクトル要素のすべての和を求める場合につい
て説明する。なお、ベクトル要素は2n個あるものとす
る。
て説明する。なお、ベクトル要素は2n個あるものとす
る。
まず 21個のベクトル要素を2n−1個のベクトル要
素を含むベクトルデータAと2 個のベクトル要素を
含むベクトルデータBとに分け、上述したベクトル加算
により 2n−1個のベクトル要素を含む中間ベクトル
データCを求める。同様にして。
素を含むベクトルデータAと2 個のベクトル要素を
含むベクトルデータBとに分け、上述したベクトル加算
により 2n−1個のベクトル要素を含む中間ベクトル
データCを求める。同様にして。
2n−1個のベクトル要素を含む中間ベクトルデータC
を2n−2個のベクトル要素を含むベクトルデータA′
と2n−2個のベクトル要素を含むベクトルデータB′
とに分け 2n−2個のベクトル要素を含む中間ベクト
ルデータC′を求める。以下同様にして、加算結果を半
分にしてベクトル加算をくり返すことによって 2n個
のベクトル要素の加算を求める。
を2n−2個のベクトル要素を含むベクトルデータA′
と2n−2個のベクトル要素を含むベクトルデータB′
とに分け 2n−2個のベクトル要素を含む中間ベクト
ルデータC′を求める。以下同様にして、加算結果を半
分にしてベクトル加算をくり返すことによって 2n個
のベクトル要素の加算を求める。
第10図及び第12図を参照して、さらに詳しく説明す
ると、ベクトルデータAの第1のベクトル要素a1とベ
クトルデータBの第1のベクトル要素とがそれぞれ第1
及び第2の入力線16.17からベクトル加算器15に
0番目のクロック・ぐルスの時間で加えられる。同様に
、ベクトルデータA及びBの第2から第2n−1のベク
トル要素が1番目から(2−1)番目のクロック・ぐル
スに同期してベクトル加算器15に加えられる。なお、
第12図において、簡単のため2 をrでも表わす。
ると、ベクトルデータAの第1のベクトル要素a1とベ
クトルデータBの第1のベクトル要素とがそれぞれ第1
及び第2の入力線16.17からベクトル加算器15に
0番目のクロック・ぐルスの時間で加えられる。同様に
、ベクトルデータA及びBの第2から第2n−1のベク
トル要素が1番目から(2−1)番目のクロック・ぐル
スに同期してベクトル加算器15に加えられる。なお、
第12図において、簡単のため2 をrでも表わす。
第1から第rのベクトル要素C4〜crがそれぞれm番
目から(r+ynl)番目のクロックパルスに同期して
出力される。従って 2 n−1個の中間ベクトル要素
を得るためには、(2+m−1)Tの演算時間が必要と
なる。即ち 211−1個の中間ベクトル黴素を得るた
めには、(r+m−1)Tの演算時間が必要となる。
目から(r+ynl)番目のクロックパルスに同期して
出力される。従って 2 n−1個の中間ベクトル要素
を得るためには、(2+m−1)Tの演算時間が必要と
なる。即ち 211−1個の中間ベクトル黴素を得るた
めには、(r+m−1)Tの演算時間が必要となる。
その後、中間ベクトル要素c1〜C4がそれぞれ2n−
1個のベクトル要素を含むベクトルデータ八′とB′と
に分けられる。そしてベクトル要素a1′とす、/とが
(r+m−1)番目のクロックパルスに同期シテベクト
ル加算器15に与えられる。同様に、第2から第8のベ
クトル要素a2′〜as′及びb2′〜b、′はそれぞ
れ(r+m十s 2)番目のクロック・ぐルスにより
連続してベクトル加算器15に加えられる(なお8は2
を示す)。そして2合計ベクトル要素01′が(r
+2m l)番目から(r+s+2m−2)番目のク
ロックパルスで出力される(なお、ここではiは1から
Sである)。従って、2 個のベクトル要素の演算時は
(2”+(m−1) )Tとなる。
1個のベクトル要素を含むベクトルデータ八′とB′と
に分けられる。そしてベクトル要素a1′とす、/とが
(r+m−1)番目のクロックパルスに同期シテベクト
ル加算器15に与えられる。同様に、第2から第8のベ
クトル要素a2′〜as′及びb2′〜b、′はそれぞ
れ(r+m十s 2)番目のクロック・ぐルスにより
連続してベクトル加算器15に加えられる(なお8は2
を示す)。そして2合計ベクトル要素01′が(r
+2m l)番目から(r+s+2m−2)番目のク
ロックパルスで出力される(なお、ここではiは1から
Sである)。従って、2 個のベクトル要素の演算時は
(2”+(m−1) )Tとなる。
このようにして 2n個のベクトル要素の合計を演算を
計算すると9合計時間は = (2n−1+n (m−1) )Tとなる。
計算すると9合計時間は = (2n−1+n (m−1) )Tとなる。
また 2n個のベクトル要素を加算して、2′個のベク
トル要素とするまでには(2L<2” ) 、 前述と
同様にして。
トル要素とするまでには(2L<2” ) 、 前述と
同様にして。
となる。
上述のように、ベクトル演算装置では、極めて多くベク
トル要素を含むベクトルデータ同士の演算が行われ、し
かも、3つのベクトルデータを加算を行う場合には、前
述のように、出力ベクトルデータの一つのベクトル要素
を求めるのに2回の演算を行わなければならない。
トル要素を含むベクトルデータ同士の演算が行われ、し
かも、3つのベクトルデータを加算を行う場合には、前
述のように、出力ベクトルデータの一つのベクトル要素
を求めるのに2回の演算を行わなければならない。
さらに、一つのベクトルデータのベクトル要素の合計を
求めようとする場合、まず2つのベクトル要素を加算し
て第1の中間結果全得この中間結果に他のベクトル要素
を加算して第2の中間結果を求め、以下順次同様に加算
をして1合計を求めているから、極めて多くの演算を行
わなければならない。
求めようとする場合、まず2つのベクトル要素を加算し
て第1の中間結果全得この中間結果に他のベクトル要素
を加算して第2の中間結果を求め、以下順次同様に加算
をして1合計を求めているから、極めて多くの演算を行
わなければならない。
いずれjにしても、ベクトル演算を行うのに極めて長い
時間を必要とするという問題点かある。
時間を必要とするという問題点かある。
本発明の目的は、高速でベクトル演算を行うことのベク
トル演算装置を提供することにある。
トル演算装置を提供することにある。
本発明によれば、複数のベクトル要素からなる第1及び
第2のベクトルデータと選択的に第3のベクトルデータ
とが入力され、ベクトル演算を行なうベクトル演算装置
であって、前記第3のベクトルデータ及び固定値ゼロが
入力され、該第3のベクトルデータのベクトル要素及び
前記固定値のいずれか一方を出力する選択手段と、前記
第1及び第2のベクトルデータと前記選択手段からの出
力ベクトルデータとが入力され、キャリーセーブ加算を
行い、中間演算結果とキャリーとを出力する第1の加算
手段と、該中間演算結果とキャリーとが入力され、該中
間演算結果とキャリーとを加算して、最終演算結果を出
力する第2の加算手段とを有することを特徴とするベク
トル演算装置が得られる。
第2のベクトルデータと選択的に第3のベクトルデータ
とが入力され、ベクトル演算を行なうベクトル演算装置
であって、前記第3のベクトルデータ及び固定値ゼロが
入力され、該第3のベクトルデータのベクトル要素及び
前記固定値のいずれか一方を出力する選択手段と、前記
第1及び第2のベクトルデータと前記選択手段からの出
力ベクトルデータとが入力され、キャリーセーブ加算を
行い、中間演算結果とキャリーとを出力する第1の加算
手段と、該中間演算結果とキャリーとが入力され、該中
間演算結果とキャリーとを加算して、最終演算結果を出
力する第2の加算手段とを有することを特徴とするベク
トル演算装置が得られる。
さらに2本発明によれば複数のベクトル要素からなる第
1及び第2のベクトルデータと選択的に第3のベクトル
データが入力され、ベクトル演算を行なうベクトル演算
装置であって、該第1.第2及び第3のベクトルデータ
が入力され、キャリーセーブ加算を行い、中間演算結果
とキャリーとを出力する第1の加算手段と、該中間演算
結果と前記第1のベクトルデータとが入力され、ベクト
ル要素ごとに、前記中間演算結果及び第1のベクトルデ
ータのいずれか一方を選択する第1の選択手段と、前記
キャリーと前記第2のベクトルデータとが入力され、ベ
クトル要素ごとに、前記キャリー及び第2のベクトルデ
ータのいずれか一方を選択する第2の選択手段と、前記
第1及び第2の選択手段の出力を受け、加算して、最終
演算結果を出力する第2の加算手段とを有すること全特
徴とするベクトル演算装置が得られる。
1及び第2のベクトルデータと選択的に第3のベクトル
データが入力され、ベクトル演算を行なうベクトル演算
装置であって、該第1.第2及び第3のベクトルデータ
が入力され、キャリーセーブ加算を行い、中間演算結果
とキャリーとを出力する第1の加算手段と、該中間演算
結果と前記第1のベクトルデータとが入力され、ベクト
ル要素ごとに、前記中間演算結果及び第1のベクトルデ
ータのいずれか一方を選択する第1の選択手段と、前記
キャリーと前記第2のベクトルデータとが入力され、ベ
クトル要素ごとに、前記キャリー及び第2のベクトルデ
ータのいずれか一方を選択する第2の選択手段と、前記
第1及び第2の選択手段の出力を受け、加算して、最終
演算結果を出力する第2の加算手段とを有すること全特
徴とするベクトル演算装置が得られる。
以下本発明について実施例によって説明する。
まず、第1図を参照して、ベクトル演算装置21は選択
回路25.第1の加算回路26.及び第2の加算回路を
備えており、ベクトルデータ生成回路22と演算制御回
路23とともに用いられる。
回路25.第1の加算回路26.及び第2の加算回路を
備えており、ベクトルデータ生成回路22と演算制御回
路23とともに用いられる。
ベクトル演算装置21にはベクトルデータ生成回路22
から第1及び第2のベクトルデータA。
から第1及び第2のベクトルデータA。
Bと第1〜第りの付加ベクトルデータC7〜CL(Lは
正整数)が加えられる。さらに、固定値″0”(ゼロ)
がベクトルデータ生成回路22から加えられる。ここで
、第1及び第2のベクトルデータA、Bと第1〜第りの
付加ベクトルデータはn個のベクトル要素を備えている
。第1及び第2のベクトルデータA、Bのn個のベクト
ル要素をそれぞれ(” 1 a a2p ”・* an
)及び(bl 、 b2゜・・・、b )で表わし
、第1〜第りの付加ベクトルデ−タのn個のベクトル要
素を(ejI HC10、・・・。
正整数)が加えられる。さらに、固定値″0”(ゼロ)
がベクトルデータ生成回路22から加えられる。ここで
、第1及び第2のベクトルデータA、Bと第1〜第りの
付加ベクトルデータはn個のベクトル要素を備えている
。第1及び第2のベクトルデータA、Bのn個のベクト
ル要素をそれぞれ(” 1 a a2p ”・* an
)及び(bl 、 b2゜・・・、b )で表わし
、第1〜第りの付加ベクトルデ−タのn個のベクトル要
素を(ejI HC10、・・・。
(!jn)で表わす。なに+ jは1〜Lを示す。
される選択回路25に加えられる。選択回路25には、
後述する内部ベクトルデータv−(vl。
後述する内部ベクトルデータv−(vl。
υ2.・・・、 vn)が加えられる。付加ベクトルデ
ータC1〜CLと内部ベクトルデータVの第1のベクト
ル要素は固定値ゼロとともに第1の時間で選択回路25
に加えられ、同様にベクトルデータC1〜CLと内部ベ
クトルデータ■の第2〜第nのベクトル要素が第2〜第
nの時間間隔で生成される。
ータC1〜CLと内部ベクトルデータVの第1のベクト
ル要素は固定値ゼロとともに第1の時間で選択回路25
に加えられ、同様にベクトルデータC1〜CLと内部ベ
クトルデータ■の第2〜第nのベクトル要素が第2〜第
nの時間間隔で生成される。
従って、第iの時間間隔で生成される第りのベクトル要
素はe J t r M t p及びゼロである。
素はe J t r M t p及びゼロである。
コントロール信号CTに応答して1選択回路25は第i
の時間間隔で選択ベクトル要素d、とじてベクトル要素
Ci 1g vt Hゼロのうち1つを選ぶ。この選択
は第1〜第nの時間間隔で連続して行われるから9選択
回路25は第1〜第nのベクトル要素d1〜dnを含む
第3のベクトルデータDを生成する。いずれにしても、
ベクトル要素d1〜dnは選択回路25から選択ベクト
ル要素として生成される。
の時間間隔で選択ベクトル要素d、とじてベクトル要素
Ci 1g vt Hゼロのうち1つを選ぶ。この選択
は第1〜第nの時間間隔で連続して行われるから9選択
回路25は第1〜第nのベクトル要素d1〜dnを含む
第3のベクトルデータDを生成する。いずれにしても、
ベクトル要素d1〜dnは選択回路25から選択ベクト
ル要素として生成される。
第1の加算回路26は第1.第2.及び第3のベクトル
データA、B、Dに応答して動作し、第1〜第3のベク
トルデータA、B、Dのキャリーセーブ加算を行うキャ
リーセーブ加算器を備えている。加えて、第1の加算回
路26は、・母イブライン処理で第1〜第3のベクトル
データA、B。
データA、B、Dに応答して動作し、第1〜第3のベク
トルデータA、B、Dのキャリーセーブ加算を行うキャ
リーセーブ加算器を備えている。加えて、第1の加算回
路26は、・母イブライン処理で第1〜第3のベクトル
データA、B。
Dを処理するため、第10図に示すベクトル加算器15
のような複数のフリノブフロツノ等を備えている。
のような複数のフリノブフロツノ等を備えている。
第1の加算回路26には第1のベクトル要素a4 、
bl 、及びdlが並列に第1の時間間隔で与えうn
、 ! 2〜第nのベクトル要素a2〜anr b2〜
bn、及びd2〜dnが第2〜第nの時間間隔で第1の
加算回路に加えられる。この場合、第3のベクトルデー
タDの第iのベクトル要素diは選択ベクトル要素とし
て選択回路25から与えられ、−方、第1及び第2のベ
クトルデータA及びBの第iのベクトル要素ai及びb
iはベクトルデータ化生回路22から与えられる。
bl 、及びdlが並列に第1の時間間隔で与えうn
、 ! 2〜第nのベクトル要素a2〜anr b2〜
bn、及びd2〜dnが第2〜第nの時間間隔で第1の
加算回路に加えられる。この場合、第3のベクトルデー
タDの第iのベクトル要素diは選択ベクトル要素とし
て選択回路25から与えられ、−方、第1及び第2のベ
クトルデータA及びBの第iのベクトル要素ai及びb
iはベクトルデータ化生回路22から与えられる。
第1の加算回路26は、3つのベクトル要素の受信後、
所定の演算時間(mT )が経過すると、3つのベクト
ル要素のキャリーセーブ加算の結果を生成する(ここで
、Tはクロック・ぐルスのクロックサイクルを示す)。
所定の演算時間(mT )が経過すると、3つのベクト
ル要素のキャリーセーブ加算の結果を生成する(ここで
、Tはクロック・ぐルスのクロックサイクルを示す)。
なお、第11図及び第12図に示すように、第1から第
1の時間間隔は第0番目から第(i−1)番目のクロッ
クパルスによって限定される。第iの時間におけるキャ
リーセーブ加算の結果は、中間結果eiとキャリー(桁
上げ)flとに分けられる。
1の時間間隔は第0番目から第(i−1)番目のクロッ
クパルスによって限定される。第iの時間におけるキャ
リーセーブ加算の結果は、中間結果eiとキャリー(桁
上げ)flとに分けられる。
ここで、中間結果φeiとキヤIJ−fiの合計とは3
つのベクトル要素a、 、 b、 、及びd、の合計に
等しく、第(1)式で示される。
つのベクトル要素a、 、 b、 、及びd、の合計に
等しく、第(1)式で示される。
ノ区、 +f−=a 、 +b−+d 、
川 (lンさらに、中間結果eiとキヤI
J (iとは第(2)に示される。
川 (lンさらに、中間結果eiとキヤI
J (iとは第(2)に示される。
なお、■はモノ−口2の加算を示す。
この結果、中間結果及びキャリーが第1〜第nの時間間
隔で連続して生成され、中間績4続及びキャリーの連続
が第1及び第2の結果ベクトルデータE及びFとなる。
隔で連続して生成され、中間績4続及びキャリーの連続
が第1及び第2の結果ベクトルデータE及びFとなる。
そして、第1及び第2の結果ベクトルデータE及びFは
E=(el + C2)・”+ en)IF=(f4.
f2.・・・、fn)と表わせる。
E=(el + C2)・”+ en)IF=(f4.
f2.・・・、fn)と表わせる。
第2の加算回路27は第1の加算回路26に縦列に接続
され、第1の結果ベクトルデータEと第2の結果ベクト
ルデータFとを加算して、第1〜第nのベクトル要素g
、〜gnを有する出力ベクトルデータGを生成する。即
ち、第iの出力ベクトル要素g、はg、=e、−Miと
表わされる。この出力ベクトル要素g、はベクトル演算
の最終結果として出力される一方、内部ベクトルデータ
のベクトル要素V、として選択回路25にフィードバッ
クされる。
され、第1の結果ベクトルデータEと第2の結果ベクト
ルデータFとを加算して、第1〜第nのベクトル要素g
、〜gnを有する出力ベクトルデータGを生成する。即
ち、第iの出力ベクトル要素g、はg、=e、−Miと
表わされる。この出力ベクトル要素g、はベクトル演算
の最終結果として出力される一方、内部ベクトルデータ
のベクトル要素V、として選択回路25にフィードバッ
クされる。
第1及び第2の加算回路26.27の縦列接続により、
特別のクロックパルスが要求されることはないし、演算
時間が長くなることはない。
特別のクロックパルスが要求されることはないし、演算
時間が長くなることはない。
ここで、第1図及び第2図を参照して、第1及び第2の
ベクトルデータA、Bと付加ベクトルデー タC2との
ベクトル加算についで説明する。ここでは、ベクトルデ
ータA 、 B 、 C2はn個のベクトル要素からな
シ、3つのベクトル要素のおのおのの演算時間はmTと
する。即ち、ベクトルデータA=Ca p C2m
”’ + an) +ベクトルデータB==(bl。
ベクトルデータA、Bと付加ベクトルデー タC2との
ベクトル加算についで説明する。ここでは、ベクトルデ
ータA 、 B 、 C2はn個のベクトル要素からな
シ、3つのベクトル要素のおのおのの演算時間はmTと
する。即ち、ベクトルデータA=Ca p C2m
”’ + an) +ベクトルデータB==(bl。
b2. ・ 、bρ、ベクトルデータC2”(C21r
C22゜・・・’ C2n )である。
C22゜・・・’ C2n )である。
まず1選択回路25はコントロール信号CTにより連続
してベクトルデータC2の第1− 第n ノベクトル要
素(C21j C221・・・r C2n)を選択する
。
してベクトルデータC2の第1− 第n ノベクトル要
素(C21j C221・・・r C2n)を選択する
。
このベクトルデータC2(C211C221”・l C
2n)は第3のベクトルデータD(dl、d2+”’+
dn)として選択回路25から第1の加算回路26に伝
達される。一方、第1の加算回路26には第1及び第2
のベクトルデータA、Hのベクトル要素a1〜an及び
b1〜bnが与えられている。
2n)は第3のベクトルデータD(dl、d2+”’+
dn)として選択回路25から第1の加算回路26に伝
達される。一方、第1の加算回路26には第1及び第2
のベクトルデータA、Hのベクトル要素a1〜an及び
b1〜bnが与えられている。
以下ゑに日
第2図において、第1のベクトル要素i11+ bl。
及びCHが0番目のクロックパルスで同期され。
また第2のベクトル要素a2.b2.及びC22が1番
目のクロック・ぐルスで同期されている。第1のベクト
ル要素a1.b1及びC21が第1及び第2のクパルス
に同期して生成される。同様に、第2のベクトル要素a
2 、 b2 p及びC22から第nのベクトル要素a
n + b n T及びC2nが連続して互いに加算
され、(m+1)番目から(n+ml)番目のクロック
パルスに同期して、第2から第nの出力ベクトル要素g
2〜gnk出力する。
目のクロック・ぐルスで同期されている。第1のベクト
ル要素a1.b1及びC21が第1及び第2のクパルス
に同期して生成される。同様に、第2のベクトル要素a
2 、 b2 p及びC22から第nのベクトル要素a
n + b n T及びC2nが連続して互いに加算
され、(m+1)番目から(n+ml)番目のクロック
パルスに同期して、第2から第nの出力ベクトル要素g
2〜gnk出力する。
上述のように、この実施例では、それぞれがn個のベク
トル要素を有する3つのベクトルデータのベクトル演算
を実行する際に、全演算時間が(n+m−1)Tとなる
。次に、第1図及び第3図を参照して 2n個のベクト
ル要素の加算について説明する。
トル要素を有する3つのベクトルデータのベクトル演算
を実行する際に、全演算時間が(n+m−1)Tとなる
。次に、第1図及び第3図を参照して 2n個のベクト
ル要素の加算について説明する。
これらベクトル要素は第1のベクトルデータA。
第2のベクトルデータBで示される第1のグループ、及
び第2のグループに分割される。第1及び第2のベクト
ルデータA、Bはそれぞれ2n−1個のベクトル要素(
alt C2p ”’ F ay) + (b1+b2
.・・・、 br)を備えている。ここでrは2n−1
を示す。また、3つのベクトルデータの各ベクトル要素
のベクトル演算の実行にmTの演算時間を必要とする。
び第2のグループに分割される。第1及び第2のベクト
ルデータA、Bはそれぞれ2n−1個のベクトル要素(
alt C2p ”’ F ay) + (b1+b2
.・・・、 br)を備えている。ここでrは2n−1
を示す。また、3つのベクトルデータの各ベクトル要素
のベクトル演算の実行にmTの演算時間を必要とする。
m番目のクロック・マルスの生成前には第2の加算回路
27からは出力ベクトル要素は出力されない。従って、
第1及び第2のベクトルデータA。
27からは出力ベクトル要素は出力されない。従って、
第1及び第2のベクトルデータA。
Bの第1〜第mのベクトル要素の各ペアは、0番目から
(m−1)番目のクロックツぐルスに同期して第1及び
第2の加算回路26.27で連続して加算される。選択
回路26は1m番目のクロックパルスの生成前には、第
3のベクトルデータDのベクトル要素として固定値O(
ゼロ)を選択する。
(m−1)番目のクロックツぐルスに同期して第1及び
第2の加算回路26.27で連続して加算される。選択
回路26は1m番目のクロックパルスの生成前には、第
3のベクトルデータDのベクトル要素として固定値O(
ゼロ)を選択する。
この結果、第1の加算回路26は連続してベクトル要素
aiとbi及び加”に保持されたベクトル要素diのベ
クトル加算を実行し、第(1)式で示される中間結果e
iとキヤ’J’t’を生成する。この中間結果eiとキ
ヤIJ−f、とは第2の加算回路26で合計され、ベク
トル要素ai、J及びOのベクトル加算の結果を表わす
出力ベクトル要素giを生成する。
aiとbi及び加”に保持されたベクトル要素diのベ
クトル加算を実行し、第(1)式で示される中間結果e
iとキヤ’J’t’を生成する。この中間結果eiとキ
ヤIJ−f、とは第2の加算回路26で合計され、ベク
トル要素ai、J及びOのベクトル加算の結果を表わす
出力ベクトル要素giを生成する。
演算時間mTの経過の後、出力ベクトル要素gapg2
.・・・ハ内部ベクトルデータVのベクトル要素として
選択回路25に加えられる。その結果、第1の出力ベク
トル要素g1が、第3図に示すように。
.・・・ハ内部ベクトルデータVのベクトル要素として
選択回路25に加えられる。その結果、第1の出力ベク
トル要素g1が、第3図に示すように。
m番目のクロックパルスに同期して出力される。
いずれにしてもm番目のクロックノヤルス生成後。
出力ベクトル要素g1m C2・・・は2選択回路25
によって第3のベクトルデータDの第(m+1)、第(
m+2)、・・・のベクトル要素として連続して選択さ
れる。従って2m番目のクロックパルスが生成された後
、ベクトル演算装置21は3つのベクトルデータA、B
、Dのベクトル演算を行うことがテキる。即ち2m番目
のクロックパルス受信の後。
によって第3のベクトルデータDの第(m+1)、第(
m+2)、・・・のベクトル要素として連続して選択さ
れる。従って2m番目のクロックパルスが生成された後
、ベクトル演算装置21は3つのベクトルデータA、B
、Dのベクトル演算を行うことがテキる。即ち2m番目
のクロックパルス受信の後。
第1及び第2のベクトルデータA及びBの(m+ 1)
番目から2n−1番目のベクトル要素対がベクトルデー
タDの第(m+1)〜第りn−1のベクトル要素帖+1
〜drに加算される。第(m+1)から第2n−1のベ
クトル要素が第nのベクトル要素であるとき。
番目から2n−1番目のベクトル要素対がベクトルデー
タDの第(m+1)〜第りn−1のベクトル要素帖+1
〜drに加算される。第(m+1)から第2n−1のベ
クトル要素が第nのベクトル要素であるとき。
出力ベクトル要素はgi−□となる。
このように、第1の加算回路26は+ aiHJ。
及びdiのキャリーセーブ加算を行い、第1及び第2の
ベクトルデータA及びBの第(m+1)から第2n−1
のベクトル要素に関して、連続して中間結果ei及びキ
ヤIJ−fi’に生成する。
ベクトルデータA及びBの第(m+1)から第2n−1
のベクトル要素に関して、連続して中間結果ei及びキ
ヤIJ−fi’に生成する。
第2の加算回路27は連続して中間結果eiとキャリー
fiとを加算して、出力ベクトル要素gi’r生成する
。そして、この出力ベクトル要素g1は内部ベクトルデ
ータVのベクトル要素Vi−□として選択回路25へ送
られる。
fiとを加算して、出力ベクトル要素gi’r生成する
。そして、この出力ベクトル要素g1は内部ベクトルデ
ータVのベクトル要素Vi−□として選択回路25へ送
られる。
ここで、出力ベクトル要素がm番目のクロックパルスか
らカウントされ+giによって表わされるとすると、出
力ベクトル要素gi間において、複数の出力ベクトル要
素の一部分、即ちe g、p C2+・・・。
らカウントされ+giによって表わされるとすると、出
力ベクトル要素gi間において、複数の出力ベクトル要
素の一部分、即ちe g、p C2+・・・。
g、−□が選択回路25に送られ、一方、残りの出力ベ
クトル機素g、−□十1〜grがベクトル演算の結果と
して出力される。
クトル機素g、−□十1〜grがベクトル演算の結果と
して出力される。
第3図に示すように、残りの出力ベクトル要素の和(m
個)を得るためには(2””+m+1) Tの第1の演
算時間が必要である。残りの出力1ベクトル要素g j
−m+ 1からg、は数がmであり2次の式で与えら
れる。
個)を得るためには(2””+m+1) Tの第1の演
算時間が必要である。残りの出力1ベクトル要素g j
−m+ 1からg、は数がmであり2次の式で与えら
れる。
gr−m+1 :ar−m+1 r−2m+1 r
−5m+1+”’+br−m+1+br−2m+1+b
r−5m−1−1”’g r−m+2°ar−m+2+
ar−2m+2+ar−3m+2+”’+br−m+2
+br−2m+2+br−3m+2+”’gr r
r−m r−2m+・・・+br+br−m+b
r−2m+ ・・・従って、数がmに等しい上述の出力
ベクトル要素を合計することにより 2n個のベクトル
要素の合計を算出することができる。
−5m+1+”’+br−m+1+br−2m+1+b
r−5m−1−1”’g r−m+2°ar−m+2+
ar−2m+2+ar−3m+2+”’+br−m+2
+br−2m+2+br−3m+2+”’gr r
r−m r−2m+・・・+br+br−m+b
r−2m+ ・・・従って、数がmに等しい上述の出力
ベクトル要素を合計することにより 2n個のベクトル
要素の合計を算出することができる。
ここで、数がmの出力ベクトル要素を合計するための第
2の演算時間を考えると、まずmが2により小さく l
2に一’より太きいようなkを選択する。
2の演算時間を考えると、まずmが2により小さく l
2に一’より太きいようなkを選択する。
即ち 2 k ) m > 2 k−1とする。この場
合、第2の演算時間は(2kl+k(m−、))Tで表
わせる。
合、第2の演算時間は(2kl+k(m−、))Tで表
わせる。
全出力ベクトル要素の全演算時間は第1の演算時間と第
2の演算時間の合計に等しく2次の式で与えられる。
2の演算時間の合計に等しく2次の式で与えられる。
(2n−’+m−1)T+(2に一1+k(m−4)T
)=(2n−1+2k −1+(k+1)(m−1)
)T臥1頭日 次に第4図を参照して、それぞれ数が2n−1のベクト
ル要素からなる第1及び第2のベクトルデータA、Bの
合計を演算するための他の演算法を第1図に示すベクト
ル演算装置21を用いて説明する。
)=(2n−1+2k −1+(k+1)(m−1)
)T臥1頭日 次に第4図を参照して、それぞれ数が2n−1のベクト
ル要素からなる第1及び第2のベクトルデータA、Bの
合計を演算するための他の演算法を第1図に示すベクト
ル演算装置21を用いて説明する。
第4図において、第1から第mの出力ベクトル要素が第
1から第pのベクトル要素に関して、上述と同様の方法
で演算される。なお、ここで。
1から第pのベクトル要素に関して、上述と同様の方法
で演算される。なお、ここで。
p=2n−1−tであり、またtは正整数である。数が
tの残りの出力ベクトル要素に関して、p番目のクロッ
クノクルス生成の後、2つのベクトルデータのベクトル
演算が第4図に示すように実行される。この結果、数が
(m+r)のベクトル要素が直ちに演算され・gp−m
+11 gp−m+2 t ”’ + gp + ”’
+grとして表わされる。従って1m以上の所定の数で
。
tの残りの出力ベクトル要素に関して、p番目のクロッ
クノクルス生成の後、2つのベクトルデータのベクトル
演算が第4図に示すように実行される。この結果、数が
(m+r)のベクトル要素が直ちに演算され・gp−m
+11 gp−m+2 t ”’ + gp + ”’
+grとして表わされる。従って1m以上の所定の数で
。
出力ベクトル要素の数を選ぶことができる。
第5図を参照して、第2の実施例について説明する。
ベクトル演算装置2rにはベクトルデータ生成回路(第
5図には示さず)から第1.第2.及び第3のベクトル
データA、B、及びCが供給さする。なおこの第1.第
2.及び第3のベクトルデー)A、B、及びCはそれぞ
れ第1〜第nのベクトル要素、即ち(al、a2.・・
・+ 1LnL(t)1+b2.・・・、bn)。
5図には示さず)から第1.第2.及び第3のベクトル
データA、B、及びCが供給さする。なおこの第1.第
2.及び第3のベクトルデー)A、B、及びCはそれぞ
れ第1〜第nのベクトル要素、即ち(al、a2.・・
・+ 1LnL(t)1+b2.・・・、bn)。
及び(CI+C2+・・・+cn)で構成される。第1
の加算回路26には、第1図と同様の構成及び動作で第
1〜第3のベクトルデータA−Cが与えられる。
の加算回路26には、第1図と同様の構成及び動作で第
1〜第3のベクトルデータA−Cが与えられる。
さらに、第1及び第2のベクトルデータA及びBは第1
及び第2の選択回路31及び32に与えられる。
及び第2の選択回路31及び32に与えられる。
第1の加算回路26は、第1図と同様の方法で。
第1から第3のベクトルデータAからCのベクトル演算
を行い、キャリーセーブ加算の結果を生成して、第1及
び第2の中間ベクトルデータD及びEとして出力する。
を行い、キャリーセーブ加算の結果を生成して、第1及
び第2の中間ベクトルデータD及びEとして出力する。
第1及び第2の中間ベクトルデータD及びEはそれぞれ
第1〜第nの中間ベクトル要素(d1+d2. ”’
r dn)及び(e4.e2. ”・+ en)からな
り、キャリーセーブ加算における中間結果合計とキャリ
ーを表わす。この中間結果及びキャリーは、第(1)式
及び第(2)式と同様に第(3)式で表わせる。
第1〜第nの中間ベクトル要素(d1+d2. ”’
r dn)及び(e4.e2. ”・+ en)からな
り、キャリーセーブ加算における中間結果合計とキャリ
ーを表わす。この中間結果及びキャリーは、第(1)式
及び第(2)式と同様に第(3)式で表わせる。
第1及び第2の中間ベクトルデータD及びEは。
それぞれ第1及び第2のベクトルデータA及びBが与え
られる第1及び第2の選択回路31及び32に伝達され
る。第1及び第2の選択回路31及び32は演算制御回
路(第5図には示さず)からのコントロール信号(図示
せず)に応答して動作する。
られる第1及び第2の選択回路31及び32に伝達され
る。第1及び第2の選択回路31及び32は演算制御回
路(第5図には示さず)からのコントロール信号(図示
せず)に応答して動作する。
従って、第1の選択回路31は第1のベクトルデータA
のベクトル要素ai及び第1の中間ベクトルデータDの
ベクトル要素d1のどちらか一方を選択し、第1の選択
ベクトルデータFを構成する第1の選択ベクトル要素f
・iを出力する。ここで、第1の選択ベクトルデータF
は(fl、f2.・・・r fn)からなる同様に、第
2の選択回路32は第2のベクトルデータBのベクトル
要素bi及び第2の中間ベクトルデータEのベクトル要
素eiのどちらか一方を選択し、第2の選択ベクトルG
=(g 1 s g2 +・・・egn)を構成する第
1の選択ベクトルgiを出力する。
のベクトル要素ai及び第1の中間ベクトルデータDの
ベクトル要素d1のどちらか一方を選択し、第1の選択
ベクトルデータFを構成する第1の選択ベクトル要素f
・iを出力する。ここで、第1の選択ベクトルデータF
は(fl、f2.・・・r fn)からなる同様に、第
2の選択回路32は第2のベクトルデータBのベクトル
要素bi及び第2の中間ベクトルデータEのベクトル要
素eiのどちらか一方を選択し、第2の選択ベクトルG
=(g 1 s g2 +・・・egn)を構成する第
1の選択ベクトルgiを出力する。
第1及び第2の選択ベクトルデータF及びGは。
第1図と同様の構成及び動作を行う第2の加算回路27
に送られる。第2の加算回路27は第1の選択ベクトル
要素fiと第2の選択ベクトル要素giとを加算して、
第1から第nの出力ベクトル要素(hl、 h2.・・
・、 ’hn)からなる出方ベクトルデータHを生成す
る。この場合、第nの出力ベクトル要素h1ば、 h、
=f1+g、で与えられる。
に送られる。第2の加算回路27は第1の選択ベクトル
要素fiと第2の選択ベクトル要素giとを加算して、
第1から第nの出力ベクトル要素(hl、 h2.・・
・、 ’hn)からなる出方ベクトルデータHを生成す
る。この場合、第nの出力ベクトル要素h1ば、 h、
=f1+g、で与えられる。
第5図及び第6図を参照して、第1から第3のベクトル
データがそれぞれ第1からinのベクトルデータ要素(
a 1* a 21 ”・l a n ) # (b
j r b 2+ ”’ # bn) ’及び(el、
02.・・・+ e n )を有し、第5図に示すベク
トル演算装置21′で互いに加算されるとし、また。
データがそれぞれ第1からinのベクトルデータ要素(
a 1* a 21 ”・l a n ) # (b
j r b 2+ ”’ # bn) ’及び(el、
02.・・・+ e n )を有し、第5図に示すベク
トル演算装置21′で互いに加算されるとし、また。
第1から第nのベクトル要素セット(al + bl
、 01 )(a2.b2.c2)、・・・(an、b
n、cn)カヘクトル演算装置2rに連続して与えられ
、各ベクトル要素セットの演算時間がmTであるとする
ノ(ここでmは正、ン整数、Tはクロックサイクルであ
る)。各ベクトル要素セントはaH,b、及びciで表
わされ、第1の加算回路26で第1及び第2の中間ベク
トル要素d1及びeiに加算される。3つのベクトルデ
ータのベクトル加算において、第1及び第2の選択回路
31及び32は、コントロール信号に応答して、それぞ
れ第1及び第2の中間ベクトルデータD及びEを選択す
る。従って、第1及び第2の中間ベクトル要素di及び
eiはそれぞれ第1及び第2の選択回路31及び32に
よって選択され、第1及び第2の選択ベクトル要素fi
及びgiとして生成される。その後、第2の加算回路2
7によって第1及び第2の選択ベクトル要素fi及びg
iが加算され、出力ベクトル要素り、が生成される。
、 01 )(a2.b2.c2)、・・・(an、b
n、cn)カヘクトル演算装置2rに連続して与えられ
、各ベクトル要素セットの演算時間がmTであるとする
ノ(ここでmは正、ン整数、Tはクロックサイクルであ
る)。各ベクトル要素セントはaH,b、及びciで表
わされ、第1の加算回路26で第1及び第2の中間ベク
トル要素d1及びeiに加算される。3つのベクトルデ
ータのベクトル加算において、第1及び第2の選択回路
31及び32は、コントロール信号に応答して、それぞ
れ第1及び第2の中間ベクトルデータD及びEを選択す
る。従って、第1及び第2の中間ベクトル要素di及び
eiはそれぞれ第1及び第2の選択回路31及び32に
よって選択され、第1及び第2の選択ベクトル要素fi
及びgiとして生成される。その後、第2の加算回路2
7によって第1及び第2の選択ベクトル要素fi及びg
iが加算され、出力ベクトル要素り、が生成される。
−−−−一 第6図に示すように、ベクトル要素セラI
’a1+b1.及びclは、0番目のクロックパルスに
同期してベクトル演算装置2rに与えられ、一方、出力
ベクトル要素h1はm番目のクロック・ぞルスに同期し
て生成される。ベクトル要素セットan、 bn。
’a1+b1.及びclは、0番目のクロックパルスに
同期してベクトル演算装置2rに与えられ、一方、出力
ベクトル要素h1はm番目のクロック・ぞルスに同期し
て生成される。ベクトル要素セットan、 bn。
及びcnの演算結果である出力ベクトル要素h は(n
十m−1)番目のクロックパルスに同期して生成される
。従って、3つのベクトルデ=りのベクトル加算は(n
+m 1)Tの演算時間で終了する。
十m−1)番目のクロックパルスに同期して生成される
。従って、3つのベクトルデ=りのベクトル加算は(n
+m 1)Tの演算時間で終了する。
第7図及び第8図を参照して1本発明の第3の実施例に
ついて説明する。なお、第7図に示すベクトル演算装置
21’は、出力ベクトルデータHが第3のベクトルデー
タとして第1の加算回路26に与えられる点を除いて、
第5図に示すベクトル演算装置と同様である。
ついて説明する。なお、第7図に示すベクトル演算装置
21’は、出力ベクトルデータHが第3のベクトルデー
タとして第1の加算回路26に与えられる点を除いて、
第5図に示すベクトル演算装置と同様である。
2n個のベクトル要素の合計を求める場合、2n個のベ
クトル要素はそれぞれ第1〜第2n−1のベクトル要素
(11p a2+ ”’ r ’r)及び(b 1 #
b 2 * ・・’ h br)からなる第1及び第
2のベクトルデータA及びBに分割される(ここで y
=2n−1である)。第8図に示すように、第1から第
rのベクトル要素は。
クトル要素はそれぞれ第1〜第2n−1のベクトル要素
(11p a2+ ”’ r ’r)及び(b 1 #
b 2 * ・・’ h br)からなる第1及び第
2のベクトルデータA及びBに分割される(ここで y
=2n−1である)。第8図に示すように、第1から第
rのベクトル要素は。
それぞれ対で連続して第O〜第(r−1)のクロックパ
ルスの時間関係でベクトル演算装置211に与えられる
。
ルスの時間関係でベクトル演算装置211に与えられる
。
第iのベクトル要素ai及びbiがベクトル演算装置2
′で互いに加算され、第1図及び第5図のようにmTの
演算時間で演算が行われるとすると(i=1.・・・r
2n−’ ) r出力ベクトル要素はm番目のクロッ
クパルス受信後、第3のベクトルデータCのベクトル要
素として使用可能となる。第1から第mのベクトル要素
がベクトル演算装置21′に与えられると、ベクトル演
算装置21’は第1及び第2のベクトルデータA及びB
のベクトル加算を行う。m番目のクロックパルスが生成
されると、ベクトル演算装置21’で第1から第3のベ
クトルデータA、B、及びCのベクトル加算が行われる
。
′で互いに加算され、第1図及び第5図のようにmTの
演算時間で演算が行われるとすると(i=1.・・・r
2n−’ ) r出力ベクトル要素はm番目のクロッ
クパルス受信後、第3のベクトルデータCのベクトル要
素として使用可能となる。第1から第mのベクトル要素
がベクトル演算装置21′に与えられると、ベクトル演
算装置21’は第1及び第2のベクトルデータA及びB
のベクトル加算を行う。m番目のクロックパルスが生成
されると、ベクトル演算装置21’で第1から第3のベ
クトルデータA、B、及びCのベクトル加算が行われる
。
ここで、出力ベクトル要素h1からり、はそれぞれ第(
m+1 )から第(m十r)のベクトル要素Cm+1か
らCm+rとして与えられるものとする。
m+1 )から第(m十r)のベクトル要素Cm+1か
らCm+rとして与えられるものとする。
さらに、iが(m+l)以下の時、第1及び第2の選択
回路31及び32はそれぞれ第1及び第2のベクトルデ
ータA及びBのベクトル要素ILi及びbiを選択する
。従って、第1のベクトルデータAのベクトル要素ai
は連続して第1の選択ベクトル要素f1として第1の選
択回路31から送出され、また、第2のベクトルデータ
Bのベクトル要素b1は第2の選択ベクトル要素g1と
して第2の選択回路32から送出される(i=1.2.
・・・2m、)。
回路31及び32はそれぞれ第1及び第2のベクトルデ
ータA及びBのベクトル要素ILi及びbiを選択する
。従って、第1のベクトルデータAのベクトル要素ai
は連続して第1の選択ベクトル要素f1として第1の選
択回路31から送出され、また、第2のベクトルデータ
Bのベクトル要素b1は第2の選択ベクトル要素g1と
して第2の選択回路32から送出される(i=1.2.
・・・2m、)。
第1及び第2の選択ベクトル要素f1及びgiは第2の
加算回路27で互いに加算され、出力ベクトル要素hi
として出力される。この出力ベクトル要素hiは、第8
図に示すように演算時間mT経過の後、連続して出力さ
れる。よって、第2の加算回路27は加算器に付加され
て2mの数のフリップフロップ段を備えていることにな
る。
加算回路27で互いに加算され、出力ベクトル要素hi
として出力される。この出力ベクトル要素hiは、第8
図に示すように演算時間mT経過の後、連続して出力さ
れる。よって、第2の加算回路27は加算器に付加され
て2mの数のフリップフロップ段を備えていることにな
る。
lがmより大きい場合、即ち、 i=m+1 、m+2
+・・・2 n −1の時、出力ベクトル要素hi−m
は第3のベクトルデータCの第iのベクトル要素として
第1の加算回路26に連続して送られる。第1の加算回
路26はm番目から(r−1)番目のクロックパルスに
応答して3つのベクトル要素、即ち、ai、bi。
+・・・2 n −1の時、出力ベクトル要素hi−m
は第3のベクトルデータCの第iのベクトル要素として
第1の加算回路26に連続して送られる。第1の加算回
路26はm番目から(r−1)番目のクロックパルスに
応答して3つのベクトル要素、即ち、ai、bi。
及びCのキャリーセーブ加算を行い、第1及び第2の中
間ベクトル要素d、及びeiを生成する。ここでl d
i及びeiは第(3)式で与えられ、そしてそれぞれ第
1及び第2の選択回路31及び32に送られる。
間ベクトル要素d、及びeiを生成する。ここでl d
i及びeiは第(3)式で与えられ、そしてそれぞれ第
1及び第2の選択回路31及び32に送られる。
演算時間mT経過の後、第1及び第2の選択回路31及
び32はそれぞれ第1及び第2の選択ベクトル要素fi
及びgiとして第1及び第2の中間ベクトル要素di及
びeiを選択する。この第1及び第2の選択ベクトル要
素fi及びglは連続して。
び32はそれぞれ第1及び第2の選択ベクトル要素fi
及びgiとして第1及び第2の中間ベクトル要素di及
びeiを選択する。この第1及び第2の選択ベクトル要
素fi及びglは連続して。
上述のように第2の加算回路27で互いに加算され、第
2の加算回路27は出力ベクトル要素hi−□を出力す
る。
2の加算回路27は出力ベクトル要素hi−□を出力す
る。
出力ベクトル要素り、−□は1m番目から2n−1番目
(r番目)のクロック・ぐルスの間の期間、第3のベク
トルデータCのベクトル要素c1として第1のベクトル
加算器26に送られる。m番目のクロックパルスからカ
ウントして、出力ベクトル要素hiが第3のベクトルC
のベクトル要素c1+。とじて与えられる。出力ベクト
ル要素h□のうちの一部分、即ちhl + h2 +
”’ + hr、−mが第1の加算回路26に送られ、
一方、残りの出力ベクトル要素hr−m+ 1からhr
がベクトル演算の結果として出力される。
(r番目)のクロック・ぐルスの間の期間、第3のベク
トルデータCのベクトル要素c1として第1のベクトル
加算器26に送られる。m番目のクロックパルスからカ
ウントして、出力ベクトル要素hiが第3のベクトルC
のベクトル要素c1+。とじて与えられる。出力ベクト
ル要素h□のうちの一部分、即ちhl + h2 +
”’ + hr、−mが第1の加算回路26に送られ、
一方、残りの出力ベクトル要素hr−m+ 1からhr
がベクトル演算の結果として出力される。
この残9の出力ベクトル要素hr−□+1からり、は次
の式で与えられる。
の式で与えられる。
hr−m+1 = ar−m+1 +ar−2m+i
+ar−5m+1 ” ”’+br−m++ +br−
2m+l +br−3m+1””hr−m+2 = a
r−m+2 ”r−2m+2+ar−3m+2 ” ”
’” br−m+2+br−2m+2+br−5m+2
+”’hr ” ar +ar −m ” ar−2m
+・・”・・”・+br+br−0+br−2m+・
・・・・・・・・社下弦日 このように、ベクトル演算の結果は、数がmに等しく、
さらに、2個のベクトル要素の合計を演算するべく2合
計されねばならない。数がmの結果を求めるため、2
)m)2”の条件のjを選ぶと、数mの結果の加算だ要
する時間は(2’−1十j(m−1))Tとなる。従っ
て、全演算時間は、第1の加算時間と第2の加算時間と
を合計することによって9次のように求められる。
+ar−5m+1 ” ”’+br−m++ +br−
2m+l +br−3m+1””hr−m+2 = a
r−m+2 ”r−2m+2+ar−3m+2 ” ”
’” br−m+2+br−2m+2+br−5m+2
+”’hr ” ar +ar −m ” ar−2m
+・・”・・”・+br+br−0+br−2m+・
・・・・・・・・社下弦日 このように、ベクトル演算の結果は、数がmに等しく、
さらに、2個のベクトル要素の合計を演算するべく2合
計されねばならない。数がmの結果を求めるため、2
)m)2”の条件のjを選ぶと、数mの結果の加算だ要
する時間は(2’−1十j(m−1))Tとなる。従っ
て、全演算時間は、第1の加算時間と第2の加算時間と
を合計することによって9次のように求められる。
(2”1+m l )T+(2j−1+j (m−1
) ) T= (2n−1+2’−1+(j+1 )(
m−1) )T第9図を参照して、ベクトル演算装置2
1”による他の演算について説明する。
) ) T= (2n−1+2’−1+(j+1 )(
m−1) )T第9図を参照して、ベクトル演算装置2
1”による他の演算について説明する。
それぞれ2 個のベクトル要素を有するベクトルデータ
A及びBがそれぞれp個及びt個のベクトル要素からな
る第1及び第2の部分に分けられる(ここでp=(2−
t)である)。
A及びBがそれぞれp個及びt個のベクトル要素からな
る第1及び第2の部分に分けられる(ここでp=(2−
t)である)。
p個のベクトル要素からなる第1の部分に関して、上述
の出力ベクトルデータHを考慮して、ベクトル加算が行
われる。その結果、p番目のクロックパルスの後m個の
演算結果が算出され。
の出力ベクトルデータHを考慮して、ベクトル加算が行
われる。その結果、p番目のクロックパルスの後m個の
演算結果が算出され。
h、−□、、 、 h、−□十2.・・・、h、として
出力される。
出力される。
一方、第1及び第2のベクトルデータA及びBが、第1
及び第2のベクトルデータA及びBのt個のベクトル要
素に関して、第3のベクトルデータCなしで加算され、
を個の演算結果を生成し。
及び第2のベクトルデータA及びBのt個のベクトル要
素に関して、第3のベクトルデータCなしで加算され、
を個の演算結果を生成し。
hP+1” p+2 、”’ p hrとして出力する
( r=2 n−1) 。
( r=2 n−1) 。
(m+t)個の演算結果は、第8図と同様の方法で互い
に加算され+2”個のベクトル要素の合計を求める。
に加算され+2”個のベクトル要素の合計を求める。
なお、第1の加算回路26は、複数のベクトルデータの
1つベクトルデータを選択するように選択回路25に接
続してもよい。
1つベクトルデータを選択するように選択回路25に接
続してもよい。
上述の実施例では、3つのベクトルデータの加算につい
て説明したが3つ以上の複数のベクトルデータの加算に
ついて同様に適用できる。
て説明したが3つ以上の複数のベクトルデータの加算に
ついて同様に適用できる。
なお、上述の実施例において、各ベクトル要素のベクト
ル加算は、ベクトル要素の1ビツト毎に行われる。
ル加算は、ベクトル要素の1ビツト毎に行われる。
(発明の効果)
以上説明したように2本発明によれば、複数のベクトル
データを演算する際の演算時間を大幅に短縮することが
できる。即ち、従来に比べて約半分の時間でベクトル演
算を行うことができ、ベクトルデータベクトル要素の数
が多いほど有効である。
データを演算する際の演算時間を大幅に短縮することが
できる。即ち、従来に比べて約半分の時間でベクトル演
算を行うことができ、ベクトルデータベクトル要素の数
が多いほど有効である。
第1図は本発明によるベクトル演算装置の第1の実施例
を示すブロック図、第2図は第1図に示すベクトル演算
装置の動作を説明するための図。 第3図は第1図に示すベクトル演算装置の他の動作を説
明するための図、第4図は第1図に示すベクトル演算装
置のように他の動作を説明するための図、第5図は本発
明によるベクトル演算装置の第2の実施例を示すブロッ
ク図、第6図は第5図に示すベクトル演算装置の動作を
説明するための図、第7図は本発明によるベクトル演算
装置の第3の実施例を示すブロック図、第8図は第7図
に示すベクトル演算装置の動作を説明するだめの図。 第9図は第7図に示すベクトル演算装置の他の動作を説
明するための図、第10図はベクトル加算を行うため、
従来用いられているベクトル演算回路を示すブロック図
、第11図は第10図に示すベクトル演算回路の動作を
説明するための図、第12図は第10図に示すベクトル
演算回路の他の動作を説明するための図である。 21・・・ベクトル演算装置、22・・・ベクトルデー
タ生成回路、23・・・演算制御回路、25・・・選択
回路、26・・・第1の加算回路、27・・・第2の加
算回路、31・・・第1の選択回路、32・・・第2の
選択回路0 嘉1図 番 第2図 菓ろ図 白 第6図 第・ 図 4図 第7区 ↓ 第8図 FFF、 <CD (J工 \−
を示すブロック図、第2図は第1図に示すベクトル演算
装置の動作を説明するための図。 第3図は第1図に示すベクトル演算装置の他の動作を説
明するための図、第4図は第1図に示すベクトル演算装
置のように他の動作を説明するための図、第5図は本発
明によるベクトル演算装置の第2の実施例を示すブロッ
ク図、第6図は第5図に示すベクトル演算装置の動作を
説明するための図、第7図は本発明によるベクトル演算
装置の第3の実施例を示すブロック図、第8図は第7図
に示すベクトル演算装置の動作を説明するだめの図。 第9図は第7図に示すベクトル演算装置の他の動作を説
明するための図、第10図はベクトル加算を行うため、
従来用いられているベクトル演算回路を示すブロック図
、第11図は第10図に示すベクトル演算回路の動作を
説明するための図、第12図は第10図に示すベクトル
演算回路の他の動作を説明するための図である。 21・・・ベクトル演算装置、22・・・ベクトルデー
タ生成回路、23・・・演算制御回路、25・・・選択
回路、26・・・第1の加算回路、27・・・第2の加
算回路、31・・・第1の選択回路、32・・・第2の
選択回路0 嘉1図 番 第2図 菓ろ図 白 第6図 第・ 図 4図 第7区 ↓ 第8図 FFF、 <CD (J工 \−
Claims (4)
- (1)複数のベクトル要素からなる第1及び第2のベク
トルデータと選択的に第3のベクトルデータとが入力さ
れ、ベクトル演算を行なうベクトル演算装置であって、
前記第3のベクトルデータ及び固定値ゼロが入力され、
該第3のベクトルデータのベクトル要素及び前記固定値
のいずれか一方を出力する選択手段と、前記第1及び第
2のベクトルデータと前記選択手段からの出力ベクトル
データとが入力され、キャリーセーブ加算を行い、中間
演算結果とキャリーとを出力する第1の加算手段と、該
中間演算結果とキャリーとが入力され、該中間演算結果
とキャリーとを加算して、最終演算結果を出力する第2
の加算手段とを有することを特徴とするベクトル演算装
置。 - (2)特許請求の範囲第1項の記載において、前記第2
の加算手段からの最終演算結果が前記第3のベクトルデ
ータとして前記選択手段に入力されることを特徴とする
ベクトル演算装置。 - (3)複数のベクトル要素からなる第1及び第2のベク
トルデータと選択的に第3のベクトルデータが入力され
、ベクトル演算を行なうベクトル演算装置であって、該
第1、第2、及び第3のベクトルデータが入力され、キ
ャリーセーブ加算を行い、中間演算結果とキャリーとを
出力する第1の加算手段と、該中間演算結果と前記第1
のベクトルデータとが入力され、ベクトル要素ごとに、
前記中間演算結果及び第1のベクトルデータのいずれか
一方を選択する第1の選択手段と、前記キャリーと前記
第2のベクトルデータとが入力され、ベクトル要素ごと
に、前記キャリー及び第2のベクトルデータのいずれか
一方を選択する第2の選択手段と、前記第1及び第2の
選択手段の出力を受け、加算して、最終演算結果を出力
する第2の加算手段とを有することを特徴とするベクト
ル演算装置。 - (4)特許請求の範囲第3項の記載において、前記第2
の加算手段からの最終演算結果が前記第3のベクトルデ
ータとして前記第1の加算手段に入力されることを特徴
とするベクトル演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63049879A JPH0746351B2 (ja) | 1987-03-04 | 1988-03-04 | ベクトル演算装置 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4771487 | 1987-03-04 | ||
JP4771187 | 1987-03-04 | ||
JP62-47711 | 1987-03-04 | ||
JP62-47714 | 1987-03-04 | ||
JP63049879A JPH0746351B2 (ja) | 1987-03-04 | 1988-03-04 | ベクトル演算装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JPS641060A JPS641060A (en) | 1989-01-05 |
JPH011060A true JPH011060A (ja) | 1989-01-05 |
JPH0746351B2 JPH0746351B2 (ja) | 1995-05-17 |
Family
ID=27293056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63049879A Expired - Lifetime JPH0746351B2 (ja) | 1987-03-04 | 1988-03-04 | ベクトル演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0746351B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04177462A (ja) * | 1990-11-08 | 1992-06-24 | Koufu Nippon Denki Kk | ベクトル総和演算装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56168276A (en) * | 1980-05-30 | 1981-12-24 | Hitachi Ltd | Arithmetic processing unit |
JPS5727360A (en) * | 1980-07-25 | 1982-02-13 | Fujitsu Ltd | Accumulation instruction processing system |
-
1988
- 1988-03-04 JP JP63049879A patent/JPH0746351B2/ja not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4980834B2 (ja) | 算術プロセッサ | |
US4754421A (en) | Multiple precision multiplication device | |
EP0576262B1 (en) | Apparatus for multiplying integers of many figures | |
US4528639A (en) | Method of and apparatus for generating an inerstitial point in a data stream having an even number of data points | |
US4852040A (en) | Vector calculation circuit capable of rapidly carrying out vector calculation of three input vectors | |
JPH011060A (ja) | ベクトル演算装置 | |
US4020334A (en) | Integrated arithmetic unit for computing summed indexed products | |
US3229080A (en) | Digital computing systems | |
JPH0746351B2 (ja) | ベクトル演算装置 | |
US3305842A (en) | Time-division multiplex digital computer | |
SU1667059A2 (ru) | Устройство дл умножени двух чисел | |
JPS6285383A (ja) | ベクトルプロセツサ | |
RU2006929C1 (ru) | Вычислительная система для интервальных вычислений | |
SU1277095A1 (ru) | Устройство дл суммировани @ @ -разр дных двоичных чисел | |
SU960807A2 (ru) | Функциональный преобразователь | |
SU1626252A1 (ru) | Множительное устройство | |
SU1003080A1 (ru) | Конвейерное устройство дл вычислени функций синуса и косинуса | |
RU1839262C (ru) | Устройство дл перемножени матриц | |
SU970358A1 (ru) | Устройство дл возведени в квадрат | |
SU883898A1 (ru) | Устройство дл извлечени корн п-й степени | |
SU1262482A1 (ru) | Последовательное устройство дл умножени | |
SU723570A1 (ru) | Устройство дл сдвига | |
JP2541697B2 (ja) | パイプライン演算装置 | |
SU691848A1 (ru) | Устройство дл вычислени корн п той степени | |
SU926650A1 (ru) | Устройство дл одновременного вычислени двух многочленов |