Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3333779B2 - 行列演算装置 - Google Patents
[go: Go Back, main page]

JP3333779B2 - 行列演算装置 - Google Patents

行列演算装置

Info

Publication number
JP3333779B2
JP3333779B2 JP2001393487A JP2001393487A JP3333779B2 JP 3333779 B2 JP3333779 B2 JP 3333779B2 JP 2001393487 A JP2001393487 A JP 2001393487A JP 2001393487 A JP2001393487 A JP 2001393487A JP 3333779 B2 JP3333779 B2 JP 3333779B2
Authority
JP
Japan
Prior art keywords
rows
columns
matrix
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.)
Expired - Fee Related
Application number
JP2001393487A
Other languages
English (en)
Other versions
JP2002269067A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001393487A priority Critical patent/JP3333779B2/ja
Publication of JP2002269067A publication Critical patent/JP2002269067A/ja
Application granted granted Critical
Publication of JP3333779B2 publication Critical patent/JP3333779B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば行列同士の
かけ算等を行う行列演算装置に関するものである。行列
のかけ算をする際に用いる行列演算装置において、演算
器として1個の積和演算器をもつか、あるいは同時並列
動作する複数個の積和演算器をもち、1個または複数個
の積和演算器に対して効率的に必要な行列演算のための
データを入力できるようなレジスタ、またはメモリをも
つ行列演算装置に関するものである。
【0002】
【従来の技術】行列のかけ算の場合、行列の項どうしの
乗算、加算が行列の項の総数に比べて多く行われる。こ
れは、かける際に左側にある行列の1行に入っている項
の数と、求める項の数とをかけた分だけ乗算の回数が多
くなり、かける際に左側にある行列の1行に入っている
項の数から1引いた項の数と、求める項の数とをかけた
分だけ加算の回数が多くなるためである。したがって、
従来このような行列のかけ算を高速に行う方法として、
乗算と加算の演算器を複数個持ち、複数の演算を同時に
行う並列演算の方法を用いて高速に処理させる、例え
ば、特開昭63−86079号公報のような方法があっ
た。
【0003】また、行列のかけ算では、かける際に左側
にある行列の行の項に対して右側にある行列の列の項が
必要になり、行列の演算を進めていく際に行列の項を連
続して引き出して演算する場合には、データを並べ換え
ることが必要であったが、データを並べ換える操作を、
行および列変換用のメモリなどを用いて不要とする技術
はあった。例えば、特開平1−82175号公報参照。
【0004】
【発明が解決しようとする課題】しかしながら、演算器
で行列のかけ算を行う場合、乗算、加算を行う演算器に
対して行列の項を次々に与える必要があり、行列の項の
一部である行や列に対してデータを次々に与えることは
できたが、行列全体のデータを内部に持ち、次々に与え
るといった方法はとられていなかった。
【0005】また、行や列に比べて大きな行列全体の項
のデータ量を取り込むためには、フリップフロップ等論
理回路を用いた記憶装置に比べて、メモリ等記憶の専用
回路を用いた記憶装置を用いる方が回路規模が少なくて
済み、効率が良いのであるが、従来では、FIFOのよ
うにデータを入れた順番に使用するなど、パイプライン
のバッファ程度にしか利用されていなかった。
【0006】したがって、本発明では、一つの演算器あ
るいは並列に動作させる複数の演算器に対して、行列演
算における必要なデータを全て同時に演算器に与えるよ
うにして演算処理を高速に行い、かつ行列全体の項のデ
ータを予め記憶手段に取り込むことにより、行列のデー
タを外部記憶装置から追加読み出しすることなしに行列
全体の演算を連続的に行うことを目的とする。
【0007】
【課題を解決するための手段】請求項1記載の行列演算
装置は、入力される行列演算命令を解読して書き込み制
御信号,読み出し制御信号,選択制御信号および演算制
御信号を出力するデコーダと、外部記憶装置から読み出
される行列の項のデータをそれぞれ複数個ずつ記憶する
複数個の記憶手段と、書き込み制御信号を入力として書
き込み信号を複数個の記憶手段に与えることにより行列
の項のデータを複数個の記憶手段に書き込ませる書き込
み部と、読み出し制御信号を入力として読み出し信号を
複数個の記憶手段に与えることにより複数個の記憶手段
にそれぞれ記憶した行列の項のデータの中から複数個の
データを同時に読み出させる読み出し部と、演算制御信
号と複数個の演算用データを入力として行列演算を行い
演算結果を出力する演算器と、複数の記憶手段と演算器
の間に設けられて複数個のデータと選択制御信号を入力
として複数個の演算用データを演算器の複数の入力端に
選択的に与えるセレクタ部とを備えている。そして、複
数個の記憶手段に対して行列の項のデータを記憶してお
く際に、演算器での演算に必要な項のデータを同時に出
力できる個数に分割して記憶し、複数個の記憶手段から
演算器に対して、演算に必要な項のデータ全てを読み出
し制御信号に従って同時に出力するようにしている。
【0008】ここで、行列を4行4列とし、記憶手段を
4個とし、行列演算に必要な行列の項のデータを4個に
分割して記憶手段に格納している。
【0009】そして、第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の記憶手段に格納して
いる。
【0010】この構成によると、書き込み部は複数個の
記憶手段に行列のすべての項のデータを書き込み制御信
号に従って書き込み、読み出し部は、読み出し制御信号
に従って複数個の記憶手段から行列演算に必要な複数個
のデータを同時に読み出し、セレクタ部は、選択制御信
号に従って複数個のデータを選択して演算器に複数個の
演算用データを与える。また、記憶手段に対して行列の
項のデータを記憶させておく際に、演算器での演算に必
要な複数の項のデータを同時に出力できる個数に分割し
て記憶しているので、記憶手段から演算器に対して、演
算に必要な項のデータの全てを読み出し制御信号に従っ
て同時に出力することができ、また行列のかけ算を行う
内部の演算を連続して行う場合にも、行列の項のデータ
を演算器に対して連続して与え続けることができる。
【0011】また、4行4列の行列同士のかけ算を行う
際に、行列の項のデータを適切に分配して記憶手段に格
納することにより、必要なデータを連続して同時に引き
出せる。
【0012】請求項2記載の行列演算装置は、請求項1
記載の行列演算装置において、演算器を複数個設け、複
数個の演算器を並列動作可能としている。
【0013】この構成によると、複数の演算器が並列に
動作するので、複数の演算を同時に行うことができ、行
列演算を高速に行うことができる。
【0014】請求項3記載の行列演算装置は、入力され
る行列演算命令を解読して書き込み制御信号,読み出し
制御信号,選択制御信号および演算制御信号を出力する
デコーダと、外部記憶装置から読み出される行列の項の
データをそれぞれ複数個ずつ記憶する複数個の記憶手段
と、書き込み制御信号を入力として書き込み信号を複数
個の記憶手段に与えることにより行列の項のデータを複
数個の記憶手段に書き込ませる書き込み部と、読み出し
制御信号を入力として読み出し信号を複数個の記憶手段
に与えることにより複数個の記憶手段にそれぞれ記憶し
た行列の項のデータの中から複数個のデータを同時に読
み出させる読み出し部と、演算制御信号と複数個の演算
用データを入力として行列演算を行い演算結果を出力す
る演算器と、複数の記憶手段と演算器の間に設けられて
複数個のデータと選択制御信号を入力として複数個の演
算用データを演算器の複数の入力端に選択的に与えるセ
レクタ部とを備えている。そして、複数個の記憶手段に
対して行列の項のデータを記憶しておく際に、演算器で
の演算に必要な項のデータを同時に出力できる個数に分
割して記憶し、複数個の記憶手段から演算器に対して、
演算に必要な項のデータ全てを読み出し制御信号に従っ
て同時に出力するようにしている。
【0015】ここで、行列を4行4列とし、記憶手段を
8個とし、行列演算に必要な行列の項のデータを8個に
分割して記憶手段に格納している。
【0016】そして、第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の記憶手段に格納している。
【0017】この構成によると、書き込み部は複数個の
記憶手段に行列のすべての項のデータを書き込み制御信
号に従って書き込み、読み出し部は、読み出し制御信号
に従って複数個の記憶手段から行列演算に必要な複数個
のデータを同時に読み出し、セレクタ部は、選択制御信
号に従って複数個のデータを選択して演算器に複数個の
演算用データを与える。また、記憶手段に対して行列の
項のデータを記憶させておく際に、演算器での演算に必
要な複数の項のデータを同時に出力できる個数に分割し
て記憶しているので、記憶手段から演算器に対して、演
算に必要な項のデータの全てを読み出し制御信号に従っ
て同時に出力することができ、また行列のかけ算を行う
内部の演算を連続して行う場合にも、行列の項のデータ
を演算器に対して連続して与え続けることができる。
【0018】また、4行4列の行列同士のかけ算を行う
際に、行列の項のデータを適切に分配して記憶手段に格
納することにより、必要なデータを連続して同時に引き
出せる。
【0019】請求項4記載の行列演算装置は、請求項3
記載の行列演算装置において、演算器を複数個設け、複
数個の演算器を並列動作可能としている。
【0020】この構成によると、複数の演算器が並列に
動作するので、複数の演算を同時に行うことができ、行
列演算を高速に行うことができる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1を用いて説明する。以下の説明では、演算器と
して、2個の乗算器と2つの乗算結果を加算する加算器
とからなる積和演算器を利用する場合の構成例について
説明している。
【0022】図1において、1は命令である。2は入力
される命令1を解読して制御信号4を出力するデコーダ
である。この場合、制御信号4は、書き込み制御信号と
読み出し制御信号と選択制御信号と演算制御信号とに分
けられる。
【0023】19は積和演算器としての機能を有する演
算器である。21は制御信号4(書き込み制御信号)を
入力として書き込み信号22を出力する書き込み部、2
3は制御信号4(読み出し制御信号)を入力として読み
出し信号24を出力する読み出し部である。
【0024】3は演算に利用される行列の項のデータの
全てを記憶してある主記憶などの外部記憶装置である。
この外部記憶装置3のデータのバス幅は1項分である。
【0025】6,7,8,9は外部記憶装置3からの1
項分ずつ出力されるデータ5を入力して、書き込み信号
22に従ってデータを記憶する記憶手段となるマトリク
スデータ分割格納メモリである。このマトリクスデータ
分割格納メモリ6〜9は、読み出し部23から与えられ
る、読み出し信号24に従って、出力データ10〜13
をそれぞれ出力する。
【0026】14はマトリクスデータ分割格納メモリ6
〜9からの出力データ10〜13を入力とするセレクタ
部であり、このセレクタ部14からは、演算器19に必
要なデータとして、演算用データ15,16,17,1
8を出力し、演算器19へ与える。演算器19は、それ
らのデータ15〜18を用いて制御信号4(演算制御信
号)に従って演算(積和演算)し、演算結果20を出力
する。演算結果は書き込部21にも入力され、制御信号
4(書き込み制御信号)に従ってマトリクスデータ分割
格納メモリ6,7,8,9のいずれかに格納される。
【0027】ここで、具体的な行列演算の例として、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へ与える。
【0028】上記の行列演算装置を利用した演算の例と
して、行列αを行列βに左からかける場合を考える。行
列α内のデータは、(数1)で、行列β内のデータは、
(数2)からなるとする。
【0029】
【数1】
【0030】
【数2】
【0031】まず、1行1列の項を求めるためには、a
×A、b×E、c×I、d×Mと、それらの加算が必要
となる。上述の演算器(積和演算器)19では、2つの
乗算と乗算結果を加算することが同時に可能であるの
で、a×A、b×Eと、これらの結果を加算することが
1度でできる。次のサイクルでは、c×I、d×Mと、
これらの結果を加算し、最後のサイクルで全体を加算し
て1行1列の項の結果を求めることができる。
【0032】その際、最初にa,A,b,Eの4項が同
時に必要で、次にc,I,d,Mの4項が同時に必要と
なる。最後のサイクルでは先に演算した結果の2項が同
時にあれば良い。以下、同様にして残りの行列演算を行
うことができる。
【0033】上記のような行列の各項毎の演算を連続的
に行っていくためには、1サイクルあたり平均10/3
(≒3.3)項が同時に必要となる。しかしながら、主
記憶などの外部記憶装置3からのデータは、1項分のバ
ス幅しかなく、同時に4項分のデータを入力することが
できない。したがって、予めマトリクスデータ分割格納
メモリ10,11,12,13に行列α,βの全ての項
のデータを演算に必要な項を同時に出力できるように分
配して格納しておく。
【0034】上記の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に格納する。
【0035】上記のように、行列α,βの全ての項をマ
トリクスデータ分割格納メモリ10〜13に格納してお
くのは、1行2列、1行3列、…といった項を求める際
に、同じ項が必要になることが何度かあるため、前に利
用した項を再び利用したい場合に、外部記憶装置3から
再度読み出しをするのは、非効率であるからである。ま
た、行列α,βの全ての項を格納しておくことにより、
行列の右から掛けることや、左から掛けるといった場合
にも、いちいち内部に入った項の順番を入れ換えること
なしに、命令を変えるだけで対応可能である。
【0036】この実施の形態の行列演算装置によると、
書き込み部21は複数個のマトリクスデータ分割格納メ
モリ10〜13に行列の項のデータを制御信号4に従っ
て書き込み、読み出し部23は、制御信号4に従って複
数個のマトリクスデータ分割格納メモリ10〜13から
行列演算に必要な複数個のデータを同時に読み出し、セ
レクタ部14は、制御信号4に従って複数個のデータを
選択して演算器19に複数個の演算用データ15〜18
を与え、マトリクスデータ分割格納メモリ10〜13に
対して行列の項のデータを記憶させておく際に、演算器
19での演算に必要な複数の項のデータ10〜13を同
時に出力できる個数に分割して記憶しているので、マト
リクスデータ分割格納メモリ10〜13から演算器19
に対して、演算に必要な項のデータの全てを制御信号4
に従って同時に出力することができ、また行列のかけ算
を行う内部の演算を連続して行っても、行列の項のデー
タを演算器に対して連続して与え続けることができる。
したがって、行列演算を高速に行うことができる。
【0037】なお、上記の実施の形態では、積和演算を
行う演算器は1個設けているだけであったが、並列動作
する2個または4個の積和演算器を設けてもよく、演算
器の個数はそれらの個数に限定されることはなく、何個
でもよい。このように、演算器を多数並列的に設ける
と、複数の演算を同時に行うことができ、少ない演算サ
イクルで多くの演算を行うことができ、行列演算の高速
化を図ることができる。なお、その際に、演算器の個数
が増加すると、同時に出力すべきデータの個数が増える
ため、マトリクスデータ分割格納メモリの個数もそれに
合わせて増加させることが必要であり、マトリクスデー
タ分割格納メモリを8個にすることも可能であり、それ
以上に増加させることも可能である。
【0038】ここで、マトリクスデータ分割格納メモリ
を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
のマトリクスデータ分割格納メモリに格納する。
【0039】そして、この8個のマトリクスデータ分割
格納メモリから読み出されるデータをもとに2個または
4個の演算器を用いて積和演算を行って、行列のかけ算
を行う。
【0040】
【発明の効果】この発明の行列演算装置によると、行列
全体のデータを格納する記憶手段を有し、演算器の演算
に同時に必要なデータを同時に演算器に与えることがで
きるように、記憶手段を複数に分割して、さらに行列の
演算に同時に必要になるデータを別々の記憶手段に格納
しておくことにより、行列演算全体が終了するまで演算
器に連続して必要なデータを与えることが可能になり、
行列演算を高速に行うことができるという効果を奏す
る。
【0041】また、演算器を複数個設けることにより、
複数の演算を同時に行うことが可能になり、演算の回数
を減少させることができ、演算をいっそう高速に行うこ
とができるという効果を奏する。
【0042】また、特定の記憶手段に特定の行列の項を
格納しておくことにより、行列演算をする際に必要なデ
ータを連続して同時に引き出せ、また特定の記憶手段に
格納してあるので、同じ行列を利用して複数の演算をさ
せることができるという効果を奏する。
【図面の簡単な説明】
【図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 読み出し信号
フロントページの続き (56)参考文献 特開 昭54−120546(JP,A) 特開 昭62−97060(JP,A) 特開 平8−255151(JP,A) 特開 平5−346935(JP,A) 特開 平5−324700(JP,A) 特開 平4−43461(JP,A) 特開 平2−77967(JP,A) 特開 昭60−101671(JP,A) 特開 昭55−49763(JP,A) 清木 泰,A Special−Pu rpose Computer for Solving Dense Mat rix Based on Gauss ian Elimination Al gorithm: GENERAL,修 士学位論文、日本,東京大学大学院総合 文化研究科,1996年 3月 清木 泰,他5名,密行列専用計算機 GENERAL−1の開発,情報処理学 会研究報告,日本,社団法人情報処理学 会,1995年 3月10日,第95巻,第29 号,(95−ARC−111),p.65−72 中西恒夫,他3名,DPG:データ分 割グラフ,情報処理学会研究報告,日 本,社団法人情報処理学会,1994年 1 月28日,第94巻,第13号,(94−ARC −104,94−OS−62),p.121−128 尾林善正,他4名,物理PEのデータ 構造を併用した並列記述言語ADETR ANのプログラミングとその実効性能, 情報処理学会研究報告,日本,社団法人 情報処理学会,1993年 8月19日,第93 巻,第72号,(93−HPC−48),p. 1−7 (58)調査した分野(Int.Cl.7,DB名) G06F 17/10 - 17/18

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力される行列演算命令を解読して書き
    込み制御信号,読み出し制御信号,選択制御信号および
    演算制御信号を出力するデコーダと、外部記憶装置から
    読み出される行列の項のデータをそれぞれ複数個ずつ記
    憶する複数個の記憶手段と、前記書き込み制御信号を入
    力として書き込み信号を前記複数個の記憶手段に与える
    ことにより前記行列の項のデータを前記複数個の記憶手
    段に書き込ませる書き込み部と、前記読み出し制御信号
    を入力として読み出し信号を前記複数個の記憶手段に与
    えることにより前記複数個の記憶手段にそれぞれ記憶し
    た前記行列の項のデータの中から複数個のデータを同時
    に読み出させる読み出し部と、前記演算制御信号と複数
    個の演算用データを入力として行列演算を行い演算結果
    を出力する演算器と、前記複数の記憶手段と前記演算器
    の間に設けられて前記複数個のデータと前記選択制御信
    号を入力として前記複数個の演算用データを前記演算器
    の複数の入力端に選択的に与えるセレクタ部とを備え、 前記複数個の記憶手段に対して前記行列の項のデータを
    記憶しておく際に、前記演算器での演算に必要な項のデ
    ータを同時に出力できる個数に分割して記憶し、前記複
    数個の記憶手段から前記演算器に対して、演算に必要な
    項のデータ全てを前記読み出し制御信号に従って同時に
    出力するようにし、 前記行列を4行4列とし、前記記憶手段を4個とし、行
    列演算に必要な前記行列の項のデータを4個に分割して
    前記記憶手段に格納し、 第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の記憶手段に
    格納したこと特徴とする行列演算装置。
  2. 【請求項2】 演算器を複数個設け、複数個の演算器を
    並列動作可能とした請求項1記載の行列演算装置。
  3. 【請求項3】 入力される行列演算命令を解読して書き
    込み制御信号,読み出し制御信号,選択制御信号および
    演算制御信号を出力するデコーダと、外部記憶装置から
    読み出される行列の項のデータをそれぞれ複数個ずつ記
    憶する複数個の記憶手段と、前記書き込み制御信号を入
    力として書き込み信号を前記複数個の記憶手段に与える
    ことにより前記行列の項のデータを前記複数個の記憶手
    段に書き込ませる書き込み部と、前記読み出し制御信号
    を入力として読み出し信号を前記複数個の記憶手段に与
    えることにより前記複数個の記憶手段にそれぞれ記憶し
    た前記行列の項のデータの中から複数個のデータを同時
    に読み出させる読み出し部と、前記演算制御信号と複数
    個の演算用データを入力として行列演算を行い演算結果
    を出力する演算器と、前記複数の記憶手段と前記演算器
    の間に設けられて前記複数個のデータと前記選択制御信
    号を入力として前記複数個の演算用データを前記演算器
    の複数の入力端に選択的に与えるセレクタ部とを備え、 前記複数個の記憶手段に対して前記行列の項のデータを
    記憶しておく際に、前記演算器での演算に必要な項のデ
    ータを同時に出力できる個数に分割して記憶し、前記複
    数個の記憶手段から前記演算器に対して、演算に必要な
    項のデータ全てを前記読み出し制御信号に従って同時に
    出力するようにし、 前記行列を4行4列とし、前記記憶手段を8個とし、行
    列演算に必要な前記行列の項のデータを8個に分割して
    前記記憶手段に格納し、 第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の記憶手段に格納したことを特徴とする行列演算装
    置。
  4. 【請求項4】 演算器を複数個設け、複数個の演算器を
    並列動作可能とした請求項3記載の行列演算装置。
JP2001393487A 2001-12-26 2001-12-26 行列演算装置 Expired - Fee Related JP3333779B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2002269067A JP2002269067A (ja) 2002-09-20
JP3333779B2 true JP3333779B2 (ja) 2002-10-15

Family

ID=19188777

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3333779B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100628316B1 (ko) 2005-07-18 2006-09-27 엠텍비젼 주식회사 변환 행렬 연산 장치
US8250337B2 (en) * 2006-04-28 2012-08-21 Qualcomm Incorporated Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output
JP6102645B2 (ja) * 2013-09-11 2017-03-29 富士通株式会社 積和演算回路及び積和演算システム
WO2019234794A1 (ja) * 2018-06-04 2019-12-12 株式会社ソシオネクスト 演算方法
US11474785B2 (en) 2019-02-08 2022-10-18 Samsung Electronics Co., Ltd. Memory device and computing device using the same
KR102771073B1 (ko) 2019-02-08 2025-02-19 삼성전자주식회사 메모리 장치 및 이를 이용한 컴퓨팅 장치
TWI788128B (zh) * 2021-04-16 2022-12-21 旺宏電子股份有限公司 記憶體裝置及其操作方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
中西恒夫,他3名,DPG:データ分割グラフ,情報処理学会研究報告,日本,社団法人情報処理学会,1994年 1月28日,第94巻,第13号,(94−ARC−104,94−OS−62),p.121−128
尾林善正,他4名,物理PEのデータ構造を併用した並列記述言語ADETRANのプログラミングとその実効性能,情報処理学会研究報告,日本,社団法人情報処理学会,1993年 8月19日,第93巻,第72号,(93−HPC−48),p.1−7
清木 泰,A Special−Purpose Computer for Solving Dense Matrix Based on Gaussian Elimination Algorithm: GENERAL,修士学位論文、日本,東京大学大学院総合文化研究科,1996年 3月
清木 泰,他5名,密行列専用計算機GENERAL−1の開発,情報処理学会研究報告,日本,社団法人情報処理学会,1995年 3月10日,第95巻,第29号,(95−ARC−111),p.65−72

Also Published As

Publication number Publication date
JP2002269067A (ja) 2002-09-20

Similar Documents

Publication Publication Date Title
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
EP2017743A2 (en) High speed and efficient matrix multiplication hardware module
US4075704A (en) Floating point data processor for high speech operation
US5081573A (en) Parallel processing system
US5500828A (en) Apparatus, system and methods for distributed signal processing
JP2671120B2 (ja) データ処理セルおよびデータプロセッサ
EP0314809B1 (en) Vector processor for processing recurrent equations at a high speed
JPH0731669B2 (ja) ベクトル・プロセツサ
KR101202445B1 (ko) 프로세서
US6446193B1 (en) Method and apparatus for single cycle processing of data associated with separate accumulators in a dual multiply-accumulate architecture
CN113490914B (zh) 数据处理
JP3955741B2 (ja) ソート機能を有するsimd型マイクロプロセッサ
JP3333779B2 (ja) 行列演算装置
US5422836A (en) Circuit arrangement for calculating matrix operations in signal processing
JPH06162227A (ja) ベクトル並列計算機
JP2001067206A (ja) モジュラー乗算を実行するためのシステム並びに方法
JPH06274528A (ja) ベクトル演算処理装置
US12293162B2 (en) Semiconductor device, data generation methods used for the same, and method of controlling the same
JPH1063647A (ja) 行列演算装置
JPH07152730A (ja) 離散コサイン変換装置
CN116149602A (zh) 数据处理方法、装置、电子设备和存储介质
JP3088956B2 (ja) 演算装置
SU720510A1 (ru) Ассоциативное запоминающее устройство
WO2024195694A1 (ja) プロセッサ装置および演算方法
JP2515724B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees