JPH1063647A - 行列演算装置 - Google Patents

行列演算装置

Info

Publication number
JPH1063647A
JPH1063647A JP22215896A JP22215896A JPH1063647A JP H1063647 A JPH1063647 A JP H1063647A JP 22215896 A JP22215896 A JP 22215896A JP 22215896 A JP22215896 A JP 22215896A JP H1063647 A JPH1063647 A JP H1063647A
Authority
JP
Japan
Prior art keywords
matrix
columns
rows
data
storage means
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.)
Pending
Application number
JP22215896A
Other languages
English (en)
Inventor
Satoshi Takahashi
学志 高橋
Takanori Furuzono
貴則 古園
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP22215896A priority Critical patent/JPH1063647A/ja
Publication of JPH1063647A publication Critical patent/JPH1063647A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 行列演算における必要なデータを全て同時に
演算器に与えるようにして演算処理を高速に行い、かつ
行列全体の項のデータを予め記憶手段に取り込むことに
より、行列のデータを外部記憶装置から追加読み出しす
ることなしに行列全体の演算を連続的に行うことを目的
とする。 【解決手段】 演算を行うべき行列の全ての項のデータ
を複数のマトリクスデータ分割格納メモリ10〜13に
分割して格納し、デコーダ2の解読結果に従い、複数の
マトリクスデータ分割格納メモリ10〜13から読み出
し部23により必要なデータを同時に出力し、セレクタ
部14を介して積和演算器19へ送り、積和演算を行
い、演算結果20を出力するとともに書き込み部21を
介してマトリクスデータ分割格納メモリ10〜13に書
き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば行列同士の
かけ算等を行う行列演算装置に関するものである。行列
のかけ算をする際に用いる行列演算装置において、演算
器として1個の積和演算器をもつか、あるいは同時並列
動作する複数個の積和演算器をもち、1個または複数個
の積和演算器に対して効率的に必要な行列演算のための
データを入力できるようなレジスタ、またはメモリをも
つ行列演算装置に関するものである。
【0002】
【従来の技術】行列のかけ算の場合、行列の項どうしの
乗算、加算が行列の項の総数に比べて多く行われる。こ
れは、かける際に左側にある行列の1行に入っている項
の数と、求める項の数とをかけた分だけ乗算の回数が多
くなり、かける際に左側にある行列の1行に入っている
項の数から1引いた項の数と、求める項の数とをかけた
分だけ加算の回数が多くなるためである。したがって、
従来このような行列のかけ算を高速に行う方法として、
乗算と加算の演算器を複数個持ち、複数の演算を同時に
行う並列演算の方法を用いて高速に処理させる、例え
ば、特開昭63−86079号公報のような方法があっ
た。
【0003】また、行列のかけ算では、かける際に左側
にある行列の行の項に対して右側にある行列の列の項が
必要になり、行列の演算を進めていく際に行列の項を連
続して引き出して演算する場合には、データを並べ換え
ることが必要であったが、データを並べ換える操作を、
行および列変換用のメモリなどを用いて不要とする技術
はあった。例えば、特開平1−82175号公報参照。
【0004】
【発明が解決しようとする課題】しかしながら、演算器
で行列のかけ算を行う場合、乗算、加算を行う演算器に
対して行列の項を次々に与える必要があり、行列の項の
一部である行や列に対してデータを次々に与えることは
できたが、行列全体のデータを内部に持ち、次々に与え
るといった方法はとられていなかった。
【0005】また、行や列に比べて大きな行列全体の項
のデータ量を取り込むためには、フリップフロップ等論
理回路を用いた記憶装置に比べて、メモリ等記憶の専用
回路を用いた記憶装置を用いる方が回路規模が少なくて
済み、効率が良いのであるが、従来では、FIFOのよ
うにデータを入れた順番に使用するなど、パイプライン
のバッファ程度にしか利用されていなかった。
【0006】したがって、本発明では、一つの演算器あ
るいは並列に動作させる複数の演算器に対して、行列演
算における必要なデータを全て同時に演算器に与えるよ
うにして演算処理を高速に行い、かつ行列全体の項のデ
ータを予め記憶手段に取り込むことにより、行列のデー
タを外部記憶装置から追加読み出しすることなしに行列
全体の演算を連続的に行うことを目的とする。
【0007】
【課題を解決するための手段】請求項1記載の行列演算
装置は、入力される行列演算命令を解読して書き込み制
御信号,読み出し制御信号,選択制御信号および演算制
御信号を出力するデコーダと、外部記憶装置から読み出
される行列の項のデータをそれぞれ複数個ずつ記憶する
複数個の記憶手段と、書き込み制御信号を入力として書
き込み信号を複数個の記憶手段に与えることにより行列
の項のデータを複数個の記憶手段に書き込ませる書き込
み部と、読み出し制御信号を入力として読み出し信号を
複数個の記憶手段に与えることにより複数個の記憶手段
にそれぞれ記憶した行列の項のデータの中から複数個の
データを同時に読み出させる読み出し部と、演算制御信
号と複数個の演算用データを入力として行列演算を行い
演算結果を出力する演算器と、複数の記憶手段と演算器
の間に設けられて複数個のデータと選択制御信号を入力
として複数個の演算用データを演算器の複数の入力端に
選択的に与えるセレクタ部とを備えている。そして、複
数個の記憶手段に対して行列の項のデータを記憶してお
く際に、演算器での演算に必要な項のデータを同時に出
力できる個数に分割して記憶し、複数個の記憶手段から
演算器に対して、演算に必要な項のデータ全てを読み出
し制御信号に従って同時に出力するようにしている。
【0008】この構成によると、書き込み部は複数個の
記憶手段に行列のすべての項のデータを書き込み制御信
号に従って書き込み、読み出し部は、読み出し制御信号
に従って複数個の記憶手段から行列演算に必要な必要な
複数個のデータを同時に読み出し、セレクタ部は、選択
制御信号に従って複数個のデータを選択して演算器に複
数個の演算用データを与える。また、記憶手段に対して
行列の項のデータを記憶させておく際に、演算器での演
算に必要な複数の項のデータを同時に出力できる個数に
分割して記憶しているので、記憶手段から演算器に対し
て、演算に必要な項のデータの全てを読み出し制御信号
に従って同時に出力することができ、また行列のかけ算
を行う内部の演算を連続して行う場合にも、行列の項の
データを演算器に対して連続して与え続けることができ
る。
【0009】請求項2記載の行列演算装置は、請求項1
記載の行列演算装置において、演算器を複数個設け、複
数個の演算器を並列動作可能としている。この構成によ
ると、複数の演算器が並列に動作するので、複数の演算
を同時に行うことができ、行列演算を高速に行うことが
できる。請求項3記載の行列演算装置は、請求項1また
は2記載の行列演算装置において、記憶手段を4個と
し、行列演算に必要な行列の項のデータを4個に分割し
て記憶手段に格納している。
【0010】この構成によると、最大4個のデータを同
時に演算器へ与えることができ、演算器により最大4個
のデータの演算を行うことが可能で、行列演算を行う際
の演算サイクル数を少なくでき、演算結果を速く得るこ
とができる。請求項4記載の行列演算装置は、請求項1
または2記載の行列演算装置において、記憶手段を8個
とし、行列演算に必要な行列の項のデータを8個に分割
して記憶手段に格納している。
【0011】この構成によると、最大8個のデータを同
時に演算器へ与えることができ、演算器により最大8個
のデータの演算を行うことが可能で、行列演算を行う際
の演算サイクル数を少なくでき、演算結果を速く得るこ
とができる。請求項5記載の行列演算装置は、請求項1
記載の行列演算装置において、演算器が複数個の乗算器
と複数個の乗算器の出力を加算する加算器とからなる積
和演算器である。
【0012】この構成によると、演算器により積和演算
を1つの演算サイクルで行うことができる。請求項6記
載の行列演算装置は、請求項2記載の行列演算装置にお
いて、演算器が複数個の乗算器と複数個の乗算器の出力
を加算する加算器とからなる積和演算器である。
【0013】この構成によると、演算器により積和演算
を1つの演算サイクルで行うことができる。請求項7記
載の行列演算装置は、請求項5記載の行列演算装置にお
いて、積和演算器を1個とし、記憶手段を4個とし、演
算に必要な行列の項を4個に分割して記憶手段に格納し
ている。
【0014】この構成によると、一つの演算サイクルで
2つの積和演算を同時に行うことができる。請求項8記
載の行列演算装置、請求項6記載の行列演算装置におい
て、積和演算器を2個とし、記憶手段を8個とし、演算
に必要な行列の項を8個に分割して記憶手段に格納して
いる。
【0015】この構成によると、一つの演算サイクルで
4つの積和演算を同時に行うことができる。請求項9記
載の行列演算装置は、請求項1または2記載の行列演算
装置において、行列を4行4列としている。この構成に
よると、4行4列の行列の演算を行うことができる。
【0016】請求項10記載の行列演算装置は、請求項
1または2記載の行列演算装置において、行列を4行4
列とし、記憶手段を4個とし、行列演算に必要な行列の
項のデータを4個に分割して記憶手段に格納している。
この構成によると、4行4列の行列同士のかけ算を行う
際に、行列の項のデータを適切に分配して記憶手段に格
納することにより、必要なデータを連続して同時に引き
出せる。
【0017】請求項11記載の行列演算装置は、請求項
1または2記載の行列演算装置において、複数個の記憶
手段における特定の記憶手段に対して特定の行列の項の
データを記憶させている。この構成によると、行列演算
をする際に必要なデータを連続して同時に引き出せる。
【0018】請求項12記載の行列演算装置は、請求項
10記載の行列演算装置において、第1から第4までの
4個の記憶手段に2つの行列の項のデータを格納すると
きに、1つ目の行列の1行1列、1行3列、2行2列、
2行4列、3行1列、3行3列、4行2列、4行4列を
第1の記憶手段に、1つ目の行列の1行2列、1行4
列、2行1列、2行3列、3行2列、3行4列、4行1
列、4行3列を第2の記憶手段に、2つ目の行列の1行
1列、1行3列、2行2列、2行4列、3行1列、3行
3列、4行2列、4行4列を第3の記憶手段に、2つ目
の行列の1行2列、1行4列、2行1列、2行3列、3
行2列、3行4列、4行1列、4行3列を第4の記憶手
段に格納している。
【0019】この構成によると、4行4列の行列同士の
かけ算を行う際に必要なデータを連続して同時に引き出
せる。請求項13記載の行列演算装置は請求項1または
2記載の行列演算装置において、行列を4行4列とし、
記憶手段を8個とし、行列演算に必要な行列の項のデー
タを8個に分割して記憶手段に格納している。
【0020】この構成によると、4行4列の行列同士の
かけ算を行う際に、行列の項のデータを適切に分配して
記憶手段に格納することにより、必要なデータを連続し
て同時に引き出せる。請求項14記載の行列演算装置
は、請求項13記載の行列演算装置において、第1から
第8までの8個の記憶手段に2つの行列の項のデータを
格納するときに、1つ目の行列の1行1列、2行4列、
3行3列、4行2列を第1の記憶手段に、1つ目の行列
の1行2列、2行1列、3行4列、4行3列を第2の記
憶手段に、1つ目の行列の1行3列、2行2列、3行1
列、4行4列を第3の記憶手段に、1つ目の行列の1行
4列、2行3列、3行2列、4行1列を第4の記憶手段
に、2つ目の行列の1行1列、2行4列、3行3列、4
行2列を第5の記憶手段に、2つ目の行列の1行2列、
2行1列、3行4列、4行3列を第6の記憶手段に、2
つ目の行列の1行3列、2行2列、3行1列、4行4列
を第7の記憶手段に、2つ目の行列の1行4列、2行3
列、3行2列、4行1列を第8の記憶手段に格納してい
る。
【0021】この構成によると、4行4列の行列同士の
かけ算を行う際に必要なデータを連続して同時に引き出
せる。
【0022】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1を用いて説明する。以下の説明では、演算器と
して、2個の乗算器と2つの乗算結果を加算する加算器
とからなる積和演算器を利用する場合の構成例について
説明している。図1において、1は命令である。2は入
力される命令1を解読して制御信号4を出力するデコー
ダである。この場合、制御信号4は、書き込み制御信号
と読み出し制御信号と選択制御信号と演算制御信号とに
分けられる。
【0023】19は積和演算器としての機能を有する演
算器である。21は制御信号4(書き込み制御信号)を
入力として書き込み信号22を出力する書き込み部、2
3は制御信号4(読み出し制御信号)を入力として読み
出し信号24を出力する読み出し部である。3は演算に
利用される行列の項のデータの全てを記憶してある主記
憶などの外部記憶装置である。この外部記憶装置3のデ
ータのバス幅は1項分である。
【0024】6,7,8,9は外部記憶装置3からの1
項分ずつ出力されるデータ5を入力して、書き込み信号
22に従ってデータを記憶する記憶手段となるマトリク
スデータ分割格納メモリである。このマトリクスデータ
分割格納メモリ6〜9は、読み出し部23から与えられ
る、読み出し信号24に従って、出力データ10〜13
をそれぞれ出力する。
【0025】14はマトリクスデータ分割格納メモリ6
〜9からの出力データ10〜13を入力とするセレクタ
部であり、このセレクタ部14からは、演算器19に必
要なデータとして、演算用データ15,16,17,1
8を出力し、演算器19へ与える。演算器19は、それ
らのデータ15〜18を用いて制御信号4(演算制御信
号)に従って演算(積和演算)し、演算結果20を出力
する。演算結果は書き込部21にも入力され、制御信号
4(書き込み制御信号)に従ってマトリクスデータ分割
格納メモリ6,7,8,9のいずれかに格納される。
【0026】ここで、具体的な行列演算の例として、2
個の行列α,βのかけ算を行う場合について説明する。
マトリクスデータ分割格納メモリ6,7,8,9には2
つの行列αおよび行列βのかけ算を行う際に用いる行列
α,βの項のデータを複数個ずつ格納する。そして、読
み出し部23は、制御信号4(読み出し制御信号)を入
力してマトリクスデータ分割格納メモリ6,7,8,9
に格納された行列の項データから1回の積和演算に必要
な複数個のデータ10,11,12,13を同時に読み
出す。セレクタ部14は、複数個のデータ10,11,
12,13と制御信号4(選択制御信号)を入力として
複数個の演算用データ15,16,17,18を演算器
19に与える。そして、演算器19は、複数個の演算用
データ15,16,17,18を入力し、演算結果20
を出力し、また書き込み部21へ与える。
【0027】上記の行列演算装置を利用した演算の例と
して、行列αを行列βに左からかける場合を考える。行
列α内のデータは、(数1)で、行列β内のデータは、
(数2)からなるとする。
【0028】
【数1】
【0029】
【数2】
【0030】まず、1行1列の項を求めるためには、a
×A、b×E、c×I、d×Mと、それらの加算が必要
となる。上述の演算器(積和演算器)19では、2つの
乗算と乗算結果を加算することが同時に可能であるの
で、a×A、b×Eと、これらの結果を加算することが
1度でできる。次のサイクルでは、c×I、d×Mと、
これらの結果を加算し、最後のサイクルで全体を加算し
て1行1列の項の結果を求めることができる。
【0031】その際、最初にa,A,b,Eの4項が同
時に必要で、次にc,I,d,Mの4項が同時に必要と
なる。最後のサイクルでは先に演算した結果の2項が同
時にあれば良い。以下、同様にして残りの行列演算を行
うことができる。上記のような行列の各項毎の演算を連
続的に行っていくためには、1サイクルあたり平均10
/3(≒3.3)項が同時に必要となる。しかしなが
ら、主記憶などの外部記憶装置3からのデータは、1項
分のバス幅しかなく、同時に4項分のデータを入力する
ことができない。したがって、予めマトリクスデータ分
割格納メモリ10,11,12,13に行列α,βの全
ての項のデータを演算に必要な項を同時に出力できるよ
うに分配して格納しておく。
【0032】上記の4行4列の行列α,βのかけ算を行
う場合において、4個のマトリクスデータ分割格納メモ
リ10,11,12,13には、例えば以下のように、
データを分配する。すなわち、1つ目の行列αの1行1
列、1行3列、2行2列、2行4列、3行1列、3行3
列、4行2列、4行4列の項のデータa,c,f,h,
i,k,n,pをマトリクスデータ分割格納メモリ10
に、1つ目の行列αの1行2列、1行4列、2行1列、
2行3列、3行2列、3行4列、4行1列、4行3列の
項のデータb,d,e,g,j,l,m,oをマトリク
スデータ分割格納メモリ11に、2つ目の行列βの1行
1列、1行3列、2行2列、2行4列、3行1列、3行
3列、4行2列、4行4列の項のデータA,C,F,
H,I,K,N,Pをマトリクスデータ分割格納メモリ
12に、2つ目の行列βの1行2列、1行4列、2行1
列、2行3列、3行2列、3行4列、4行1列、4行3
列の項のデータB,D,E,G,J,L,M,Oをマト
リクスデータ分割格納メモリ13に格納する。
【0033】上記のように、行列α,βの全ての項をマ
トリクスデータ分割格納メモリ10〜13に格納してお
くのは、1行2列、1行3列、…といった項を求める際
に、同じ項が必要になることが何度かあるため、前に利
用した項を再び利用したい場合に、外部記憶装置3から
再度読み出しをするのは、非効率であるからである。ま
た、行列α,βの全ての項を格納しておくことにより、
行列の右から掛けることや、左から掛けるといった場合
にも、いちいち内部に入った項の順番を入れ換えること
なしに、命令を変えるだけで対応可能である。
【0034】この実施の形態の行列演算装置によると、
書き込み部21は複数個のマトリクスデータ分割格納メ
モリ10〜13に行列の項のデータを制御信号4に従っ
て書き込み、読み出し部23は、制御信号4に従って複
数個のマトリクスデータ分割格納メモリ10〜13から
行列演算に必要な必要な複数個のデータを同時に読み出
し、セレクタ部14は、制御信号4に従って複数個のデ
ータを選択して演算器19に複数個の演算用データ15
〜18を与え、マトリクスデータ分割格納メモリ10〜
13に対して行列の項のデータを記憶させておく際に、
演算器19での演算に必要な複数の項のデータ10〜1
3を同時に出力できる個数に分割して記憶しているの
で、マトリクスデータ分割格納メモリ10〜13から演
算器19に対して、演算に必要な項のデータの全てを制
御信号4に従って同時に出力することができ、また行列
のかけ算を行う内部の演算を連続して行っても、行列の
項のデータを演算器に対して連続して与え続けることが
できる。したがって、行列演算を高速に行うことができ
る。
【0035】なお、上記の実施の形態では、積和演算を
行う演算器は1個設けているだけであったが、並列動作
する2個または4個の積和演算器を設けてもよく、演算
器の個数はそれらの個数に限定されることはなく、何個
でもよい。このように、演算器を多数並列的に設ける
と、複数の演算を同時に行うことができ、少ない演算サ
イクルで多くの演算を行うことができ、行列演算の高速
化を図ることができる。なお、その際に、演算器の個数
が増加すると、同時に出力すべきデータの個数が増える
ため、マトリクスデータ分割格納メモリの個数もそれに
合わせて増加させることが必要であり、マトリクスデー
タ分割格納メモリを8個にすることも可能であり、それ
以上に増加させることも可能である。
【0036】ここで、マトリクスデータ分割格納メモリ
を8個にした場合において4行4列の行列α,βのかけ
算を行う場合を例にとると、8個のマトリクスデータ分
割格納メモリには、例えば以下のように、データを分配
する。すなわち、第1から第8までの8個のマトリクス
データ分割格納メモリに2つの行列の項のデータを格納
するときに、1つ目の行列αの1行1列、2行4列、3
行3列、4行2列の項のデータa,h,k,nを第1の
マトリクスデータ分割格納メモリに、1つ目の行列αの
1行2列、2行1列、3行4列、4行3列の項のデータ
b,e,l,oを第2のマトリクスデータ分割格納メモ
リに、1つ目の行列αの1行3列、2行2列、3行1
列、4行4列の項のデータc,f,i,pを第3のマト
リクスデータ分割格納メモリに、1つ目の行列αの1行
4列、2行3列、3行2列、4行1列の項のデータd,
g,j,mを第4のマトリクスデータ分割格納メモリ
に、2つ目の行列βの1行1列、2行4列、3行3列、
4行2列の項のデータA,H,K,Nを第5のマトリク
スデータ分割格納メモリに、2つ目の行列βの1行2
列、2行1列、3行4列、4行3列の項のデータB,
E,L,Oを第6のマトリクスデータ分割格納メモリ
に、2つ目の行列βの1行3列、2行2列、3行1列、
4行4列の項のデータC,F,I,Pを第7のマトリク
スデータ分割格納メモリに、2つ目の行列βの1行4
列、2行3列、3行2列のデータD,G,J,Mを第8
のマトリクスデータ分割格納メモリに格納する。
【0037】そして、この8個のマトリクスデータ分割
格納メモリから読み出されるデータをもとに2個または
4個の演算器を用いて積和演算を行って、行列のかけ算
を行う。
【0038】
【発明の効果】この発明の行列演算装置によると、行列
全体のデータを格納する記憶手段を有し、演算器の演算
に同時に必要なデータを同時に演算器に与えることがで
きるように、記憶手段を複数に分割して、さらに行列の
演算に同時に必要になるデータを別々の記憶手段に格納
しておくことにより、行列演算全体が終了するまで演算
器に連続して必要なデータを与えることが可能になり、
行列演算を高速に行うことができるという効果を奏す
る。
【0039】また、演算器を複数個設けることにより、
複数の演算を同時に行うことが可能になり、演算の回数
を減少させることができ、演算をいっそう高速に行うこ
とができるという効果を奏する。また、特定の記憶手段
に特定の行列の項を格納しておくことにより、行列演算
をする際に必要なデータを連続して同時に引き出せ、ま
た特定の記憶手段に格納してあるので、同じ行列を利用
して複数の演算をさせることができるという効果を奏す
る。
【図面の簡単な説明】
【図1】本発明の実施の形態における行列演算装置の構
成を示すブロック図である。
【符号の説明】
1 命令 2 デコーダ 3 外部記憶装置 4 制御信号 5 データ 6 マトリクスデータ分割格納メモリ 7 マトリクスデータ分割格納メモリ 8 マトリクスデータ分割格納メモリ 9 マトリクスデータ分割格納メモリ 10 マトリクスデータ分割格納メモリ6の出力データ 11 マトリクスデータ分割格納メモリ7の出力データ 12 マトリクスデータ分割格納メモリ8の出力データ 13 マトリクスデータ分割格納メモリ9の出力データ 14 セレクタ部 15 演算用データ 16 演算用データ 17 演算用データ 18 演算用データ 19 演算器 20 演算結果 21 書き込み部 22 書き込み信号 23 読み出し部 24 読み出し信号

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 入力される行列演算命令を解読して書き
    込み制御信号,読み出し制御信号,選択制御信号および
    演算制御信号を出力するデコーダと、外部記憶装置から
    読み出される行列の項のデータをそれぞれ複数個ずつ記
    憶する複数個の記憶手段と、前記書き込み制御信号を入
    力として書き込み信号を前記複数個の記憶手段に与える
    ことにより前記行列の項のデータを前記複数個の記憶手
    段に書き込ませる書き込み部と、前記読み出し制御信号
    を入力として読み出し信号を前記複数個の記憶手段に与
    えることにより前記複数個の記憶手段にそれぞれ記憶し
    た前記行列の項のデータの中から複数個のデータを同時
    に読み出させる読み出し部と、前記演算制御信号と複数
    個の演算用データを入力として行列演算を行い演算結果
    を出力する演算器と、前記複数の記憶手段と前記演算器
    の間に設けられて前記複数個のデータと前記選択制御信
    号を入力として前記複数個の演算用データを前記演算器
    の複数の入力端に選択的に与えるセレクタ部とを備え、 前記複数個の記憶手段に対して前記行列の項のデータを
    記憶しておく際に、前記演算器での演算に必要な項のデ
    ータを同時に出力できる個数に分割して記憶し、前記複
    数個の記憶手段から前記演算器に対して、演算に必要な
    項のデータ全てを前記読み出し制御信号に従って同時に
    出力するようにしたことを特徴とする行列演算装置。
  2. 【請求項2】 演算器を複数個設け、複数個の演算器を
    並列動作可能とした請求項1記載の行列演算装置。
  3. 【請求項3】 記憶手段を4個とし、行列演算に必要な
    行列の項のデータを4個に分割して前記記憶手段に格納
    している請求項1または2記載の行列演算装置。
  4. 【請求項4】 記憶手段を8個とし、行列演算に必要な
    行列の項のデータを8個に分割して前記記憶手段に格納
    している請求項1または2記載の行列演算装置。
  5. 【請求項5】 演算器が複数個の乗算器と前記複数個の
    乗算器の出力を加算する加算器とからなる積和演算器で
    ある請求項1記載の行列演算装置。
  6. 【請求項6】 演算器が複数個の乗算器と前記複数個の
    乗算器の出力を加算する加算器とからなる積和演算器で
    ある請求項2記載の行列演算装置。
  7. 【請求項7】 積和演算器を1個とし、記憶手段を4個
    とし、演算に必要な行列の項を4個に分割して前記記憶
    手段に格納している請求項5記載の行列演算装置。
  8. 【請求項8】 積和演算器を2個とし、記憶手段を8個
    とし、演算に必要な行列の項を8個に分割して前記記憶
    手段に格納している請求項6記載の行列演算装置。
  9. 【請求項9】 行列を4行4列とした請求項1または2
    記載の行列演算装置。
  10. 【請求項10】 行列を4行4列とし、記憶手段を4個
    とし、行列演算に必要な行列の項のデータを4個に分割
    して前記記憶手段に格納している請求項1または2記載
    の行列演算装置。
  11. 【請求項11】 複数個の記憶手段における特定の記憶
    手段に対して特定の行列の項のデータを記憶させた請求
    項1または2記載の行列演算装置。
  12. 【請求項12】 第1から第4までの4個の記憶手段に
    2つの行列の項のデータを格納するときに、1つ目の行
    列の1行1列、1行3列、2行2列、2行4列、3行1
    列、3行3列、4行2列、4行4列を前記第1の記憶手
    段に、前記1つ目の行列の1行2列、1行4列、2行1
    列、2行3列、3行2列、3行4列、4行1列、4行3
    列を前記第2の記憶手段に、2つ目の行列の1行1列、
    1行3列、2行2列、2行4列、3行1列、3行3列、
    4行2列、4行4列を前記第3の記憶手段に、前記2つ
    目の行列の1行2列、1行4列、2行1列、2行3列、
    3行2列、3行4列、4行1列、4行3列を前記第4の
    記憶手段に格納したこと特徴とする請求項10記載の行
    列演算装置。
  13. 【請求項13】 行列を4行4列とし、記憶手段を8個
    とし、行列演算に必要な行列の項のデータを8個に分割
    して前記記憶手段に格納している請求項1または2記載
    の行列演算装置。
  14. 【請求項14】 第1から第8までの8個の記憶手段に
    2つの行列の項のデータを格納するときに、1つ目の行
    列の1行1列、2行4列、3行3列、4行2列を前記第
    1の記憶手段に、前記1つ目の行列の1行2列、2行1
    列、3行4列、4行3列を前記第2の記憶手段に、前記
    1つ目の行列の1行3列、2行2列、3行1列、4行4
    列を前記第3の記憶手段に、前記1つ目の行列の1行4
    列、2行3列、3行2列、4行1列を前記第4の記憶手
    段に、2つ目の行列の1行1列、2行4列、3行3列、
    4行2列を前記第5の記憶手段に、前記2つ目の行列の
    1行2列、2行1列、3行4列、4行3列を前記第6の
    記憶手段に、前記2つ目の行列の1行3列、2行2列、
    3行1列、4行4列を前記第7の記憶手段に、前記2つ
    目の行列の1行4列、2行3列、3行2列、4行1列を
    前記第8の記憶手段に格納したことを特徴とする請求項
    13記載の行列演算装置。
JP22215896A 1996-08-23 1996-08-23 行列演算装置 Pending JPH1063647A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22215896A JPH1063647A (ja) 1996-08-23 1996-08-23 行列演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22215896A JPH1063647A (ja) 1996-08-23 1996-08-23 行列演算装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001393487A Division JP3333779B2 (ja) 2001-12-26 2001-12-26 行列演算装置

Publications (1)

Publication Number Publication Date
JPH1063647A true JPH1063647A (ja) 1998-03-06

Family

ID=16778094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22215896A Pending JPH1063647A (ja) 1996-08-23 1996-08-23 行列演算装置

Country Status (1)

Country Link
JP (1) JPH1063647A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026308A (ja) * 2007-07-19 2009-02-05 Itt Manufacturing Enterprises Inc 高速かつ効率的な行列乗算ハードウェアモジュール
JP2013141229A (ja) * 2011-12-31 2013-07-18 Fujitsu Ltd 有効チャネルおよびフィードバック情報を決定する装置および方法
JP2014186461A (ja) * 2013-03-22 2014-10-02 Fujitsu Ltd 演算処理装置及び演算処理方法
US9442893B2 (en) 2013-09-11 2016-09-13 Fujitsu Limited Product-sum operation circuit and product-sum operation system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026308A (ja) * 2007-07-19 2009-02-05 Itt Manufacturing Enterprises Inc 高速かつ効率的な行列乗算ハードウェアモジュール
JP2013141229A (ja) * 2011-12-31 2013-07-18 Fujitsu Ltd 有効チャネルおよびフィードバック情報を決定する装置および方法
JP2014186461A (ja) * 2013-03-22 2014-10-02 Fujitsu Ltd 演算処理装置及び演算処理方法
US9442893B2 (en) 2013-09-11 2016-09-13 Fujitsu Limited Product-sum operation circuit and product-sum operation system

Similar Documents

Publication Publication Date Title
KR101202445B1 (ko) 프로세서
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) Parallel processing system
EP2017743A2 (en) High speed and efficient matrix multiplication hardware module
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
JPS6044696B2 (ja) 浮動小数点デ−タ処理装置
CN111353126A (zh) 分块矩阵乘法运算***
US20030061601A1 (en) Data processing apparatus and method, computer program, information storage medium, parallel operation apparatus, and data processing system
JPH05508499A (ja) 特殊目的ブール演算装置のための方法およびその装置
JPH07141175A (ja) アクティブメモリおよび処理方式
JP7506086B2 (ja) データ処理
JP3170599B2 (ja) プログラマブルlsiおよびその演算方法
JP3955741B2 (ja) ソート機能を有するsimd型マイクロプロセッサ
JP3333779B2 (ja) 行列演算装置
JP2001067206A (ja) モジュラー乗算を実行するためのシステム並びに方法
JPH1063647A (ja) 行列演算装置
CN116050492A (zh) 一种扩展单元
JPH0345420B2 (ja)
CN111522776B (zh) 一种计算架构
JPH1074141A (ja) 信号処理装置
EP1936492A1 (en) SIMD processor with reduction unit
JP3305406B2 (ja) プログラム制御のプロセッサ
JPH07210545A (ja) 並列処理プロセッサ
JP3088956B2 (ja) 演算装置
JP2855899B2 (ja) 機能メモリ