JP3607548B2 - ベクトル演算装置 - Google Patents
ベクトル演算装置 Download PDFInfo
- Publication number
- JP3607548B2 JP3607548B2 JP36877099A JP36877099A JP3607548B2 JP 3607548 B2 JP3607548 B2 JP 3607548B2 JP 36877099 A JP36877099 A JP 36877099A JP 36877099 A JP36877099 A JP 36877099A JP 3607548 B2 JP3607548 B2 JP 3607548B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- register
- instruction
- scalar
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ベクトル演算装置に関し、特にスカラデータとベクトルデータとの演算を高速に行うベクトル演算装置に関する。
【0002】
【従来の技術】
図5は、従来例にかかるベクトル演算装置の構成を示すブロック図である。このベクトル演算装置101でスカラデータとベクトルデータとのベクトル演算を行う場合、まず、ベクトル命令発行部107は、ベクトルレジスタ112または113、122または123からスカラデータを読み出し、スカラレジスタ108に格納する命令を、ベクトルプロセッサ104、105に発行する。
【0003】
ベクトルプロセッサ104、105では、ベクトル制御部109、119がそれぞれ自らのベクトルレジスタ112または113、122または123に目的とするスカラデータが格納されているかどうか判断する。目的とするスカラデータが格納されていれば、アドレス制御部110、120、データ制御部111、121にデータの読み出しの指示を送り、ベクトルレジスタ112または113、122または123からスカラデータを読み出す。
【0004】
読み出したスカラデータは、命令制御部106からの制御信号140に従って、読み出しを行ったのがベクトルレジスタ112、113、122、123のいずれであるかに応じてそれぞれパス130、131、132、133を経由して、スカラレジスタ108に格納される。
【0005】
次に、ベクトル命令発行部107は、スカラレジスタ108に格納したスカラデータとベクトルデータとの演算を行う命令を、ベクトルプロセッサ104、105に発行する。ベクトルプロセッサ104、105では、ベクトル制御部109、119がベクトルデータを読み出す指示をアドレス制御部110、120、データ制御部111、121にそれぞれ送る。
【0006】
ベクトルレジスタ112、113、122または123からベクトルデータが読み出されるのと同時に、命令制御部106は、スカラレジスタ108に格納されているスカラデータを読み出すための制御信号140を、スカラレジスタ108に対して送出する。スカラレジスタ108は、制御信号140に応答してスカラデータを読み出し、パス129を経由してベクトルプロセッサ104、105に分配する。かくしてベクトル演算器114、124にスカラデータとベクトルデータとが供給され、目的とするベクトル演算が実行される。
【0007】
【発明が解決しようとする課題】
しかしながら、上記のベクトル演算装置101では、スカラデータとベクトルデータとのベクトル演算を実行するためには、2つの命令を発行しなければならない。このため、上記のベクトル演算装置101では、プログラムの実行時間が長くなってしまうという問題があった。
【0008】
これに対して、近年、他の情報処理関連の分野でもプログラムの実行時間が高速化されているのと同様に、ベクトル演算装置によるプログラムの実行時間も高速化されることが要請されている。
【0009】
このような高速化の要請に応えるために、従来より様々な手法が提案されている。例えば、特開昭63−10263号公報では、演算を行った後の結果を保持しておくための結果保持用スカラデータバッファを設けたベクトル演算装置が提案されている。また、特開平9−274612号公報では、スカラレジスタへのスカラレジスタの書き込みを、直接ベクトル命令で行い得るベクトル演算装置が提案されている。また、特開平10−254853号公報では、ベクトル演算に必要なスカラデータを予め保持しておくためのスカラデータバッファをベクトルプロセッサ内に設けたベクトル演算装置が提案されている。
【0010】
しかしながら、これらの公報に記載されたベクトル演算装置ではいずれも、任意のベクトルレジスタ内のスカラデータとベクトルデータとのベクトル演算を行う場合には、当該スカラデータを一旦スカラレジスタバッファに保持し、スカラレジスタバッファから読み出してから、各ベクトルプロセッサに分配しなければならない。つまり、スカラレジスタへのスカラデータの書き込み、スカラレジスタからのスカラデータの読み出しのための時間が必要となり、その分だけ演算の実行時間が長くなってしまうという問題があった。
【0011】
本発明は、上記従来技術の問題点を解消すべくなされたものであり、スカラデータとベクトルデータとのベクトル演算を高速に実行することができるベクトル演算装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明のベクトル演算装置は、
ベクトルデータおよび/またはスカラデータを格納するベクトルレジスタと、スカラデータとベクトルデータとのベクトル演算を行うベクトル演算器とを有する複数のベクトルプロセッサと、
ベクトルデータとスカラデータとのベクトル演算をするための命令を前記複数のベクトルプロセッサに対して発行するベクトル命令発行手段と、
各ベクトルプロセッサが有するベクトルレジスタから読み出されたスカラデータを、他のベクトルプロセッサに分配するパスとを備え、
前記複数のベクトルプロセッサは、
前記ベクトル命令発行手段が発行したベクトル演算命令をデコードするデコード手段と、
前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にある場合、該ベクトルレジスタからスカラデータを読み出し、前記パスを介して他のベクトルプロセッサに分配する第1の読み出し手段と、
自己のベクトルレジスタから読み出されたスカラデータと他のベクトルプロセッサから前記パスを介して分配されてきたスカラデータとのいずれかを選択して、前記ベクトル演算器に供給する選択手段とを備える
ことを特徴とする。
【0013】
ここで、前記選択手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にある場合、該ベクトルレジスタからのスカラデータを選択して前記ベクトル演算器に供給し、発行された命令で対象とするスカラデータが他のベクトルプロセッサが有するベクトルレジスタ内にある場合、前記パスを介して供給されたスカラデータを選択して前記ベクトル演算器に供給するものとすることができる。
【0014】
上記のベクトル演算装置では、1つの命令を発行するだけで、該命令で対象とするスカラデータとベクトルデータとをベクトル演算器に供給することができ、ベクトル演算を実行することができる。このため、命令の発行、デコードに要する時間を短くすることができ、スカラデータとベクトルデータとのベクトル演算を高速に実行することができる。
【0015】
また、各ベクトルプロセッサは、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にない場合、他のベクトルプロセッサのベクトルレジスタから読み出されたスカラデータを、パスを介して直接受け取ることができる。このため、スカラデータを各ベクトルプロセッサに分配するために要する時間を短くすることができ、スカラデータとベクトルデータとのベクトル演算を高速に実行することができる。
【0016】
上記のベクトル演算装置において、各ベクトルプロセッサが有するベクトルレジスタは、いずれも発行された命令で対象とするベクトルデータを格納するものとしてもよい。この場合、
前記複数のベクトルプロセッサはそれぞれ、前記デコード手段によるデコードの結果に従って、自己のベクトルレジスタに格納されているベクトルデータを順次読み出し、前記ベクトル演算器に供給する第2の読み出し手段を備えるものとすることができる。
【0017】
上記のベクトル演算装置において、前記複数のベクトルプロセッサはそれぞれ、複数のベクトルレジスタを備えるものであってもよい。そして、
発行された命令で対象とするベクトルデータは、前記複数のベクトルプロセッサのすべてにおいて、いずれかのベクトルレジスタに格納され、
発行された命令で対象とするスカラデータは、同じく発行された命令で対象とするベクトルデータが格納されていない、前記複数のベクトルプロセッサのうちのいずれかのベクトルレジスタに格納されていてもよい。この場合、
前記第1の読み出し手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のいずれかのベクトルレジスタ内にある場合、該ベクトルレジスタからスカラデータを読み出すものとすることができ、
前記選択手段は、前記第1の読み出し手段によって自己のいずれかのベクトルレジスタから読み出されたスカラデータを選択して前記ベクトル演算器に供給するものとすることができ、
前記第2の読み出し手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のいずれかのベクトルレジスタ内にある場合、自己のベクトルレジスタのうちでベクトルデータを格納するものからベクトルデータを順次読み出して前記ベクトル演算器に供給するものとすることができる。
【0018】
この場合において、前記複数のベクトルプロセッサが備える複数のベクトルレジスタには、ベクトルプロセッサ内で異なり、かつベクトルプロセッサ同士で同一の識別情報を付してもよい。そして、
発行された命令で対象とするベクトルデータは、各ベクトルプロセッサにおいて同一の識別情報が付されたベクトルレジスタに格納されていてもよく、
前記命令発行手段が発行する命令は、対象とするベクトルデータを格納するベクトルレジスタの識別情報を含むものとすることができる。
【0019】
さらに、前記命令発行手段が発行する命令は、対象とするスカラデータを格納するベクトルレジスタの識別情報と、ベクトルレジスタ内でのアドレスとを含むものとすることができる。
【0020】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0021】
図1は、この実施の形態において、ベクトル演算装置の構成を示すブロック図である。図示するように、このベクトル演算装置1は、主記憶装置2と、スカラプロセッサ3と、n個のベクトルプロセッサ4(1番目)〜5(n番目)とを備える。スカラプロセッサ3は、主記憶装置2に接続されている。ベクトルプロセッサ4〜5は、それぞれ主記憶装置2とスカラプロセッサ3とに接続されている。
【0022】
スカラプロセッサ3は、命令制御部6と、ベクトル命令発行部7と、スカラレジスタ8とを有する。命令制御部6は、主記憶装置2に対してデータの要求を発行し、ベクトル命令の抽出処理を行う。ベクトル命令発行部7は、ベクトルプロセッサ4〜5のそれぞれに対してベクトル命令を発行すると共に、主記憶装置2に対してベクトルロード命令等のベクトルメモリアクセス命令を発行する。スカラレジスタ8は、主記憶装置2からのオペランドデータ、スカラ演算結果或いはベクトル演算結果を保持する。
【0023】
ベクトルプロセッサ4は、ベクトル制御部9と、アドレス制御部10と、データ制御部11と、ベクトルレジスタ12、13と、ベクトル演算器14と、セレクタ15〜18とを有する。
【0024】
ベクトル制御部9は、ベクトル命令発行部7から発行された命令を受け取り、受け取った命令をデコードする。アドレス制御部10は、ベクトル制御部9からのデコード情報に基づき、ベクトルレジスタ12、13のライトアドレスまたはリードアドレスを制御する。データ制御部11は、ベクトルレジスタ12、13へのデータのライト、またはベクトルレジスタ12、13からのデータのリードを制御する。
【0025】
ベクトルレジスタ12、13は、スカラデータおよび/またはベクトルデータを格納する。ベクトル演算器14は、スカラデータとベクトルデータとのベクトル演算を行う。セレクタ15、16は、それぞれベクトルレジスタ12、13へライトするデータを選択する。セレクタ17、18は、それぞれベクトル演算器14に供給するデータを選択する。
【0026】
ベクトルプロセッサ5は、ベクトル制御部19、アドレス制御部20、データ制御部21、ベクトルレジスタ22、23、ベクトル演算器24及びセレクタ25〜28を有し、それぞれベクトルプロセッサ4の対応するものと同様に構成されている。また、図示しない2番目からn−1番目のベクトルプロセッサも、ベクトルプロセッサ4と同様の構成を有する。
【0027】
ベクトルプロセッサ4とベクトルプロセッサ5とにおいて、ベクトルレジスタ12と22とは、同一のベクトルレジスタ番号を有し、それぞれベクトルプロセッサ毎にn(ベクトルプロセッサの数と同一)分割されたうちの1つである。ベクトルレジスタ13と23とに関しても同様である。
【0028】
また、このベクトル演算装置1には、ベクトルレジスタ12、13、22、23から読み出したデータを、スカラプロセッサ3のスカラレジスタ8に転送すると同時に、他のベクトルプロセッサ4〜5に分配するためのパス30〜33が設けられている。
【0029】
次に、ベクトル命令発行部7が発行する命令について説明する。図2は、ベクトル命令発行部7がベクトルレジスタ12、13、22、23内の1要素(単に要素という場合はアドレス毎のデータを意味するが、ここでの各要素はスカラデータのことである)とベクトルデータとの演算を行わせるために発行する命令を示す図である。図示するように、この命令は、オペレーションコード201と、ベクトルレジスタ内のスカラデータを指定するアドレス202と、ベクトルレジスタ番号203と、スカラデータとの演算を行うベクトルデータを指定するためのベクトルレジスタ番号204と、演算結果を格納するベクトルレジスタ番号205とからなる。
【0030】
以下、この実施の形態にかかるベクトル演算装置の動作について説明する。以下の説明において、ベクトルレジスタ12、13、22、23内の各要素に対するアドレスを、ベクトルプロセッサ4〜5まで、順に1からn、n+1から2n、2n+1から3nというように割り振る。また、ベクトルレジスタ12と22のベクトルレジスタ番号を1、ベクトルレジスタ13と23のベクトルレジスタ番号を2、スカラデータとベクトルデータとの演算を行う際のスカラデータがベクトルレジスタ12のアドレス1に格納されているものとする。
【0031】
より分かり易くするため、具体例で説明すると、ベクトルプロセッサが、図3に示すように、4つだとする(n=4)。各ベクトルプロセッサ内の1つのベクトルレジスタに注目し、(仮にベクトルレジスタ番号1のベクトルレジスタ12,22として)、12〜22の各要素に対して与えるアドレスを図3のように割り振る。この場合、スカラデータとするアドレス1に格納されているデータをスカラデータとすると、その場合のベクトルレジスタはベクトルレジスタ12ということとなる。
【0032】
まず、ベクトル命令発行部7は、ベクトルプロセッサ4〜5に対して、ベクトルレジスタのアドレスが1を示すベクトルレジスタ番号とベクトルレジスタ番号が2のベクトルデータとの演算を行う命令34を発行する。このときにベクトル命令発行部7が発行する命令は、図4に示すように、オペレーションコード201がOP(仮に設定する)、スカラデータを指定するアドレス202が“1”、ベクトルレジスタ番号203が“1”、ベクトルデータを指定するベクトルレジスタ番号204が“2”、演算結果を格納するベクトルレジスタ番号205が“1”となる。この命令がn個のベクトルプロセッサ4〜5に通知されると、それぞれのベクトル制御部が命令をデコードする。
【0033】
ベクトルプロセッサ4(1番目)では、ベクトル制御部9が、オペレーションコード201とスカラデータを指定するアドレス202とから、対象となるスカラデータが自らのベクトルプロセッサ4内のベクトルレジスタ12に格納されていることを認識する。
【0034】
ベクトル制御部9は、ベクトルレジスタ12、13に読み出しと書き込みの制御を行うため、アドレス制御部10に対して制御情報41を通知する。制御情報41は、上記した命令のうちのスカラデータを指定するアドレス202、ベクトルレジスタ番号203、ベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0035】
ベクトル制御部9は、また、ベクトル演算器14に供給するデータの選択や、ベクトルレジスタ12、13に書き込むデータの選択を行うため、データ制御部11に対して制御情報42を通知する。制御情報42は、上記した命令のうちのベクトルレジスタ番号203、ベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0036】
アドレス制御部10は、通知されたアドレス202とベクトルレジスタ番号203に基づき、制御信号43によりベクトルレジスタ12に対してリードアドレスを“1”に設定する。これにより、目的とするスカラデータが、ベクトルレジスタ12から読み出され、パス30を通じてスカラレジスタ8に転送されると共に、他のベクトルプロセッサ5等に分配される。アドレス制御部10は、また、通知されたベクトルレジスタ番号204に基づき、制御信号44によりベクトルレジスタ13に対してリードアドレスを“1”に設定してから順次インクリメントし、ベクトル長分のデータを読み出す。
【0037】
データ制御部11は、通知されたベクトルレジスタ番号203に基づき、ベクトルレジスタ12から読み出したスカラデータをベクトル演算器14に供給するため、パス30を選択する制御信号46をセレクタ17に供給する。データ制御部11は、また、通知されたベクトルレジスタ番号204に基づき、ベクトルレジスタ13から読み出したベクトルデータをベクトル演算器14に供給するため、パス31を選択する制御信号47をセレクタ18に供給する。
【0038】
ベクトル演算器14は、こうして供給されたスカラデータとベクトルデータとのベクトル演算を行う。そして、アドレス制御部10は、ベクトルレジスタ番号205に基づき、制御信号43によりベクトルレジスタ12に対してライトアドレスを“1”に設定してから順次インクリメントする。データ制御部11は、ベクトルレジスタ番号205に基づき、ベクトル演算器14の結果データ49をベクトルレジスタ12に格納するため、結果データ49を選択する制御信号45をセレクタ15に供給する。ライトアドレスがインクリメントされることにより、ベクトル演算後の結果データ49が、順次ベクトルレジスタ12に格納される。
【0039】
一方、ベクトルプロセッサ4以外のベクトルプロセッサ(2〜n番目:以下では、n番目のベクトルプロセッサ5を例とする)では、ベクトル制御部19が、対象となるスカラデータが自らのベクトルプロセッサ5内のベクトルレジスタ22、23に格納されていないことを認識する。ベクトル制御部19は、アドレス制御部20及びデータ制御部21に対してスカラデータを読み出すための制御情報を通知しない。
【0040】
ベクトル制御部19は、ベクトルデータの読み出しと演算後のベクトルデータの書き込みとを行うため、アドレス制御部20に対して制御情報50を通知する。制御情報50は、上記した命令のうちのベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0041】
ベクトル制御部19は、また、ベクトル演算器24に供給するデータの選択や、ベクトルレジスタ22、23に書き込むデータの選択を行うため、データ制御部21に対して制御情報51を通知する。制御情報51は、上記した命令のうちのベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0042】
アドレス制御部20は、通知されたベクトルレジスタ番号204に基づき、制御信号53によりベクトルレジスタ23に対してリードアドレスを“1”に設定してから順次インクリメントし、ベクトル長分のデータを読み出す。が、スカラデータを読み出すための指示が通知されておらず、ベクトルレジスタ22に対する読み出し動作は行わない。
【0043】
データ制御部21は、通知されたベクトルレジスタ番号204に基づき、ベクトルレジスタ23から読み出したベクトルデータをベクトル演算器24に供給するため、パス21を選択する制御信号56をセレクタ28に供給する。一方、スカラデータを読み出すための指示が通知されておらず、他のベクトルプロセッサからのスカラデータ、ここではベクトルプロセッサ4からのスカラデータをベクトル演算器24に供給するため、パス30を選択する制御信号55をセレクタ27に供給する。
【0044】
ベクトル演算器24は、こうして供給されたスカラデータとベクトルデータとのベクトル演算を行う。そして、アドレス制御部20は、ベクトルレジスタ番号205に基づき、制御信号52によりベクトルレジスタ22に対してライトアドレスを“1”に設定してから順次インクリメントする。データ制御部21は、ベクトルレジスタ番号205に基づき、ベクトル演算器24の結果データ58をベクトルレジスタ22に格納するため、結果データ58を選択する制御信号54をセレクタ25に供給する。ライトアドレスがインクリメントされることにより、ベクトル演算後の結果データ58が、順次ベクトルレジスタ22に格納される。
【0045】
以上がこの実施の形態にかかるベクトル演算装置1が、スカラデータとベクトルデータとのベクトル演算を行う際の動作である。もっとも、そのためにはスカラデータが予めベクトルレジスタ12、13、22、23に格納されていなければならない。そのためには、公知の方法を適用することができる。例えば、ベクトル命令発行部7からベクトルロード命令36を発行することにより、主記憶装置2上のデータをパス35を経由してベクトルレジスタ12、13、22、23へ格納する方法がある。また、ベクトル総和演算命令等によりベクトル演算器14、24の演算結果49、58として得られるスカラデータをベクトルレジスタ12、13、22、23に格納する方法がある。
【0046】
以上説明したように、この実施の形態にかかるベクトル演算装置1では、スカラデータとベクトルデータとのベクトル演算を行う場合に、ベクトル命令発行部107は、1つのベクトル演算命令のみを発行すればよい。このため、このようなベクトル演算を終了するまでの間で命令の発行及びデコードに要する時間を短くすることができ、結果としてベクトル演算を高速に行えるようになる。
【0047】
また、この実施の形態にかかるベクトル演算装置1では、スカラデータとベクトルデータとのベクトル演算を行う場合に、ベクトルレジスタ12、13、22または23から読み出したスカラデータを、直接他のベクトルプロセッサ4〜5に分配することができる。このため、スカラレジスタ8へのスカラデータの書き込み及びスカラレジスタ8からのスカラデータの読み出しを待つことなく、スカラデータを分配してベクトル演算を行うことができ、結果としてベクトル演算を高速に行えるようになる。
【0048】
なお、上記の実施の形態では、1つのベクトルプロセッサ4、5内には、2個のベクトルレジスタ12及び13、22及び23と、1個のベクトル演算器14、24が設けられていた。しかしながら、本発明において、1つのベクトルプロセッサ内に設けるベクトルレジスタ及びベクトル演算器の数は、任意のものとすることができる。
【0049】
【発明の効果】
以上説明したように、本発明のベクトル演算装置によれば、スカラデータとベクトルデータとのベクトル演算を高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるベクトル演算装置の構成を示すブロック図である。
【図2】図1のベクトル命令発行部が発行する命令を示す図である。
【図3】ベクトルレジスタに割り振られたアドレスを説明する図である。
【図4】図2の命令の具体例を示す図である。
【図5】従来例にかかるベクトル演算装置の構成を示すブロック図である。
【符号の説明】
1 ベクトル演算装置
2 主記憶装置
3 スカラプロセッサ
4、5 ベクトルプロセッサ
6 命令制御部
7 ベクトル命令発行部
8 スカラレジスタ
9、19 ベクトル制御部
10、20 アドレス制御部
11、21 データ制御部
12、13、22、23 ベクトルレジスタ
14、24 ベクトル演算器
15〜18、25〜28 セレクタ
30〜33 パス
【発明の属する技術分野】
本発明は、ベクトル演算装置に関し、特にスカラデータとベクトルデータとの演算を高速に行うベクトル演算装置に関する。
【0002】
【従来の技術】
図5は、従来例にかかるベクトル演算装置の構成を示すブロック図である。このベクトル演算装置101でスカラデータとベクトルデータとのベクトル演算を行う場合、まず、ベクトル命令発行部107は、ベクトルレジスタ112または113、122または123からスカラデータを読み出し、スカラレジスタ108に格納する命令を、ベクトルプロセッサ104、105に発行する。
【0003】
ベクトルプロセッサ104、105では、ベクトル制御部109、119がそれぞれ自らのベクトルレジスタ112または113、122または123に目的とするスカラデータが格納されているかどうか判断する。目的とするスカラデータが格納されていれば、アドレス制御部110、120、データ制御部111、121にデータの読み出しの指示を送り、ベクトルレジスタ112または113、122または123からスカラデータを読み出す。
【0004】
読み出したスカラデータは、命令制御部106からの制御信号140に従って、読み出しを行ったのがベクトルレジスタ112、113、122、123のいずれであるかに応じてそれぞれパス130、131、132、133を経由して、スカラレジスタ108に格納される。
【0005】
次に、ベクトル命令発行部107は、スカラレジスタ108に格納したスカラデータとベクトルデータとの演算を行う命令を、ベクトルプロセッサ104、105に発行する。ベクトルプロセッサ104、105では、ベクトル制御部109、119がベクトルデータを読み出す指示をアドレス制御部110、120、データ制御部111、121にそれぞれ送る。
【0006】
ベクトルレジスタ112、113、122または123からベクトルデータが読み出されるのと同時に、命令制御部106は、スカラレジスタ108に格納されているスカラデータを読み出すための制御信号140を、スカラレジスタ108に対して送出する。スカラレジスタ108は、制御信号140に応答してスカラデータを読み出し、パス129を経由してベクトルプロセッサ104、105に分配する。かくしてベクトル演算器114、124にスカラデータとベクトルデータとが供給され、目的とするベクトル演算が実行される。
【0007】
【発明が解決しようとする課題】
しかしながら、上記のベクトル演算装置101では、スカラデータとベクトルデータとのベクトル演算を実行するためには、2つの命令を発行しなければならない。このため、上記のベクトル演算装置101では、プログラムの実行時間が長くなってしまうという問題があった。
【0008】
これに対して、近年、他の情報処理関連の分野でもプログラムの実行時間が高速化されているのと同様に、ベクトル演算装置によるプログラムの実行時間も高速化されることが要請されている。
【0009】
このような高速化の要請に応えるために、従来より様々な手法が提案されている。例えば、特開昭63−10263号公報では、演算を行った後の結果を保持しておくための結果保持用スカラデータバッファを設けたベクトル演算装置が提案されている。また、特開平9−274612号公報では、スカラレジスタへのスカラレジスタの書き込みを、直接ベクトル命令で行い得るベクトル演算装置が提案されている。また、特開平10−254853号公報では、ベクトル演算に必要なスカラデータを予め保持しておくためのスカラデータバッファをベクトルプロセッサ内に設けたベクトル演算装置が提案されている。
【0010】
しかしながら、これらの公報に記載されたベクトル演算装置ではいずれも、任意のベクトルレジスタ内のスカラデータとベクトルデータとのベクトル演算を行う場合には、当該スカラデータを一旦スカラレジスタバッファに保持し、スカラレジスタバッファから読み出してから、各ベクトルプロセッサに分配しなければならない。つまり、スカラレジスタへのスカラデータの書き込み、スカラレジスタからのスカラデータの読み出しのための時間が必要となり、その分だけ演算の実行時間が長くなってしまうという問題があった。
【0011】
本発明は、上記従来技術の問題点を解消すべくなされたものであり、スカラデータとベクトルデータとのベクトル演算を高速に実行することができるベクトル演算装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明のベクトル演算装置は、
ベクトルデータおよび/またはスカラデータを格納するベクトルレジスタと、スカラデータとベクトルデータとのベクトル演算を行うベクトル演算器とを有する複数のベクトルプロセッサと、
ベクトルデータとスカラデータとのベクトル演算をするための命令を前記複数のベクトルプロセッサに対して発行するベクトル命令発行手段と、
各ベクトルプロセッサが有するベクトルレジスタから読み出されたスカラデータを、他のベクトルプロセッサに分配するパスとを備え、
前記複数のベクトルプロセッサは、
前記ベクトル命令発行手段が発行したベクトル演算命令をデコードするデコード手段と、
前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にある場合、該ベクトルレジスタからスカラデータを読み出し、前記パスを介して他のベクトルプロセッサに分配する第1の読み出し手段と、
自己のベクトルレジスタから読み出されたスカラデータと他のベクトルプロセッサから前記パスを介して分配されてきたスカラデータとのいずれかを選択して、前記ベクトル演算器に供給する選択手段とを備える
ことを特徴とする。
【0013】
ここで、前記選択手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にある場合、該ベクトルレジスタからのスカラデータを選択して前記ベクトル演算器に供給し、発行された命令で対象とするスカラデータが他のベクトルプロセッサが有するベクトルレジスタ内にある場合、前記パスを介して供給されたスカラデータを選択して前記ベクトル演算器に供給するものとすることができる。
【0014】
上記のベクトル演算装置では、1つの命令を発行するだけで、該命令で対象とするスカラデータとベクトルデータとをベクトル演算器に供給することができ、ベクトル演算を実行することができる。このため、命令の発行、デコードに要する時間を短くすることができ、スカラデータとベクトルデータとのベクトル演算を高速に実行することができる。
【0015】
また、各ベクトルプロセッサは、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にない場合、他のベクトルプロセッサのベクトルレジスタから読み出されたスカラデータを、パスを介して直接受け取ることができる。このため、スカラデータを各ベクトルプロセッサに分配するために要する時間を短くすることができ、スカラデータとベクトルデータとのベクトル演算を高速に実行することができる。
【0016】
上記のベクトル演算装置において、各ベクトルプロセッサが有するベクトルレジスタは、いずれも発行された命令で対象とするベクトルデータを格納するものとしてもよい。この場合、
前記複数のベクトルプロセッサはそれぞれ、前記デコード手段によるデコードの結果に従って、自己のベクトルレジスタに格納されているベクトルデータを順次読み出し、前記ベクトル演算器に供給する第2の読み出し手段を備えるものとすることができる。
【0017】
上記のベクトル演算装置において、前記複数のベクトルプロセッサはそれぞれ、複数のベクトルレジスタを備えるものであってもよい。そして、
発行された命令で対象とするベクトルデータは、前記複数のベクトルプロセッサのすべてにおいて、いずれかのベクトルレジスタに格納され、
発行された命令で対象とするスカラデータは、同じく発行された命令で対象とするベクトルデータが格納されていない、前記複数のベクトルプロセッサのうちのいずれかのベクトルレジスタに格納されていてもよい。この場合、
前記第1の読み出し手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のいずれかのベクトルレジスタ内にある場合、該ベクトルレジスタからスカラデータを読み出すものとすることができ、
前記選択手段は、前記第1の読み出し手段によって自己のいずれかのベクトルレジスタから読み出されたスカラデータを選択して前記ベクトル演算器に供給するものとすることができ、
前記第2の読み出し手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のいずれかのベクトルレジスタ内にある場合、自己のベクトルレジスタのうちでベクトルデータを格納するものからベクトルデータを順次読み出して前記ベクトル演算器に供給するものとすることができる。
【0018】
この場合において、前記複数のベクトルプロセッサが備える複数のベクトルレジスタには、ベクトルプロセッサ内で異なり、かつベクトルプロセッサ同士で同一の識別情報を付してもよい。そして、
発行された命令で対象とするベクトルデータは、各ベクトルプロセッサにおいて同一の識別情報が付されたベクトルレジスタに格納されていてもよく、
前記命令発行手段が発行する命令は、対象とするベクトルデータを格納するベクトルレジスタの識別情報を含むものとすることができる。
【0019】
さらに、前記命令発行手段が発行する命令は、対象とするスカラデータを格納するベクトルレジスタの識別情報と、ベクトルレジスタ内でのアドレスとを含むものとすることができる。
【0020】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0021】
図1は、この実施の形態において、ベクトル演算装置の構成を示すブロック図である。図示するように、このベクトル演算装置1は、主記憶装置2と、スカラプロセッサ3と、n個のベクトルプロセッサ4(1番目)〜5(n番目)とを備える。スカラプロセッサ3は、主記憶装置2に接続されている。ベクトルプロセッサ4〜5は、それぞれ主記憶装置2とスカラプロセッサ3とに接続されている。
【0022】
スカラプロセッサ3は、命令制御部6と、ベクトル命令発行部7と、スカラレジスタ8とを有する。命令制御部6は、主記憶装置2に対してデータの要求を発行し、ベクトル命令の抽出処理を行う。ベクトル命令発行部7は、ベクトルプロセッサ4〜5のそれぞれに対してベクトル命令を発行すると共に、主記憶装置2に対してベクトルロード命令等のベクトルメモリアクセス命令を発行する。スカラレジスタ8は、主記憶装置2からのオペランドデータ、スカラ演算結果或いはベクトル演算結果を保持する。
【0023】
ベクトルプロセッサ4は、ベクトル制御部9と、アドレス制御部10と、データ制御部11と、ベクトルレジスタ12、13と、ベクトル演算器14と、セレクタ15〜18とを有する。
【0024】
ベクトル制御部9は、ベクトル命令発行部7から発行された命令を受け取り、受け取った命令をデコードする。アドレス制御部10は、ベクトル制御部9からのデコード情報に基づき、ベクトルレジスタ12、13のライトアドレスまたはリードアドレスを制御する。データ制御部11は、ベクトルレジスタ12、13へのデータのライト、またはベクトルレジスタ12、13からのデータのリードを制御する。
【0025】
ベクトルレジスタ12、13は、スカラデータおよび/またはベクトルデータを格納する。ベクトル演算器14は、スカラデータとベクトルデータとのベクトル演算を行う。セレクタ15、16は、それぞれベクトルレジスタ12、13へライトするデータを選択する。セレクタ17、18は、それぞれベクトル演算器14に供給するデータを選択する。
【0026】
ベクトルプロセッサ5は、ベクトル制御部19、アドレス制御部20、データ制御部21、ベクトルレジスタ22、23、ベクトル演算器24及びセレクタ25〜28を有し、それぞれベクトルプロセッサ4の対応するものと同様に構成されている。また、図示しない2番目からn−1番目のベクトルプロセッサも、ベクトルプロセッサ4と同様の構成を有する。
【0027】
ベクトルプロセッサ4とベクトルプロセッサ5とにおいて、ベクトルレジスタ12と22とは、同一のベクトルレジスタ番号を有し、それぞれベクトルプロセッサ毎にn(ベクトルプロセッサの数と同一)分割されたうちの1つである。ベクトルレジスタ13と23とに関しても同様である。
【0028】
また、このベクトル演算装置1には、ベクトルレジスタ12、13、22、23から読み出したデータを、スカラプロセッサ3のスカラレジスタ8に転送すると同時に、他のベクトルプロセッサ4〜5に分配するためのパス30〜33が設けられている。
【0029】
次に、ベクトル命令発行部7が発行する命令について説明する。図2は、ベクトル命令発行部7がベクトルレジスタ12、13、22、23内の1要素(単に要素という場合はアドレス毎のデータを意味するが、ここでの各要素はスカラデータのことである)とベクトルデータとの演算を行わせるために発行する命令を示す図である。図示するように、この命令は、オペレーションコード201と、ベクトルレジスタ内のスカラデータを指定するアドレス202と、ベクトルレジスタ番号203と、スカラデータとの演算を行うベクトルデータを指定するためのベクトルレジスタ番号204と、演算結果を格納するベクトルレジスタ番号205とからなる。
【0030】
以下、この実施の形態にかかるベクトル演算装置の動作について説明する。以下の説明において、ベクトルレジスタ12、13、22、23内の各要素に対するアドレスを、ベクトルプロセッサ4〜5まで、順に1からn、n+1から2n、2n+1から3nというように割り振る。また、ベクトルレジスタ12と22のベクトルレジスタ番号を1、ベクトルレジスタ13と23のベクトルレジスタ番号を2、スカラデータとベクトルデータとの演算を行う際のスカラデータがベクトルレジスタ12のアドレス1に格納されているものとする。
【0031】
より分かり易くするため、具体例で説明すると、ベクトルプロセッサが、図3に示すように、4つだとする(n=4)。各ベクトルプロセッサ内の1つのベクトルレジスタに注目し、(仮にベクトルレジスタ番号1のベクトルレジスタ12,22として)、12〜22の各要素に対して与えるアドレスを図3のように割り振る。この場合、スカラデータとするアドレス1に格納されているデータをスカラデータとすると、その場合のベクトルレジスタはベクトルレジスタ12ということとなる。
【0032】
まず、ベクトル命令発行部7は、ベクトルプロセッサ4〜5に対して、ベクトルレジスタのアドレスが1を示すベクトルレジスタ番号とベクトルレジスタ番号が2のベクトルデータとの演算を行う命令34を発行する。このときにベクトル命令発行部7が発行する命令は、図4に示すように、オペレーションコード201がOP(仮に設定する)、スカラデータを指定するアドレス202が“1”、ベクトルレジスタ番号203が“1”、ベクトルデータを指定するベクトルレジスタ番号204が“2”、演算結果を格納するベクトルレジスタ番号205が“1”となる。この命令がn個のベクトルプロセッサ4〜5に通知されると、それぞれのベクトル制御部が命令をデコードする。
【0033】
ベクトルプロセッサ4(1番目)では、ベクトル制御部9が、オペレーションコード201とスカラデータを指定するアドレス202とから、対象となるスカラデータが自らのベクトルプロセッサ4内のベクトルレジスタ12に格納されていることを認識する。
【0034】
ベクトル制御部9は、ベクトルレジスタ12、13に読み出しと書き込みの制御を行うため、アドレス制御部10に対して制御情報41を通知する。制御情報41は、上記した命令のうちのスカラデータを指定するアドレス202、ベクトルレジスタ番号203、ベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0035】
ベクトル制御部9は、また、ベクトル演算器14に供給するデータの選択や、ベクトルレジスタ12、13に書き込むデータの選択を行うため、データ制御部11に対して制御情報42を通知する。制御情報42は、上記した命令のうちのベクトルレジスタ番号203、ベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0036】
アドレス制御部10は、通知されたアドレス202とベクトルレジスタ番号203に基づき、制御信号43によりベクトルレジスタ12に対してリードアドレスを“1”に設定する。これにより、目的とするスカラデータが、ベクトルレジスタ12から読み出され、パス30を通じてスカラレジスタ8に転送されると共に、他のベクトルプロセッサ5等に分配される。アドレス制御部10は、また、通知されたベクトルレジスタ番号204に基づき、制御信号44によりベクトルレジスタ13に対してリードアドレスを“1”に設定してから順次インクリメントし、ベクトル長分のデータを読み出す。
【0037】
データ制御部11は、通知されたベクトルレジスタ番号203に基づき、ベクトルレジスタ12から読み出したスカラデータをベクトル演算器14に供給するため、パス30を選択する制御信号46をセレクタ17に供給する。データ制御部11は、また、通知されたベクトルレジスタ番号204に基づき、ベクトルレジスタ13から読み出したベクトルデータをベクトル演算器14に供給するため、パス31を選択する制御信号47をセレクタ18に供給する。
【0038】
ベクトル演算器14は、こうして供給されたスカラデータとベクトルデータとのベクトル演算を行う。そして、アドレス制御部10は、ベクトルレジスタ番号205に基づき、制御信号43によりベクトルレジスタ12に対してライトアドレスを“1”に設定してから順次インクリメントする。データ制御部11は、ベクトルレジスタ番号205に基づき、ベクトル演算器14の結果データ49をベクトルレジスタ12に格納するため、結果データ49を選択する制御信号45をセレクタ15に供給する。ライトアドレスがインクリメントされることにより、ベクトル演算後の結果データ49が、順次ベクトルレジスタ12に格納される。
【0039】
一方、ベクトルプロセッサ4以外のベクトルプロセッサ(2〜n番目:以下では、n番目のベクトルプロセッサ5を例とする)では、ベクトル制御部19が、対象となるスカラデータが自らのベクトルプロセッサ5内のベクトルレジスタ22、23に格納されていないことを認識する。ベクトル制御部19は、アドレス制御部20及びデータ制御部21に対してスカラデータを読み出すための制御情報を通知しない。
【0040】
ベクトル制御部19は、ベクトルデータの読み出しと演算後のベクトルデータの書き込みとを行うため、アドレス制御部20に対して制御情報50を通知する。制御情報50は、上記した命令のうちのベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0041】
ベクトル制御部19は、また、ベクトル演算器24に供給するデータの選択や、ベクトルレジスタ22、23に書き込むデータの選択を行うため、データ制御部21に対して制御情報51を通知する。制御情報51は、上記した命令のうちのベクトルデータを指定するベクトルレジスタ番号204、及び演算結果を格納するベクトルレジスタ番号205からなる。
【0042】
アドレス制御部20は、通知されたベクトルレジスタ番号204に基づき、制御信号53によりベクトルレジスタ23に対してリードアドレスを“1”に設定してから順次インクリメントし、ベクトル長分のデータを読み出す。が、スカラデータを読み出すための指示が通知されておらず、ベクトルレジスタ22に対する読み出し動作は行わない。
【0043】
データ制御部21は、通知されたベクトルレジスタ番号204に基づき、ベクトルレジスタ23から読み出したベクトルデータをベクトル演算器24に供給するため、パス21を選択する制御信号56をセレクタ28に供給する。一方、スカラデータを読み出すための指示が通知されておらず、他のベクトルプロセッサからのスカラデータ、ここではベクトルプロセッサ4からのスカラデータをベクトル演算器24に供給するため、パス30を選択する制御信号55をセレクタ27に供給する。
【0044】
ベクトル演算器24は、こうして供給されたスカラデータとベクトルデータとのベクトル演算を行う。そして、アドレス制御部20は、ベクトルレジスタ番号205に基づき、制御信号52によりベクトルレジスタ22に対してライトアドレスを“1”に設定してから順次インクリメントする。データ制御部21は、ベクトルレジスタ番号205に基づき、ベクトル演算器24の結果データ58をベクトルレジスタ22に格納するため、結果データ58を選択する制御信号54をセレクタ25に供給する。ライトアドレスがインクリメントされることにより、ベクトル演算後の結果データ58が、順次ベクトルレジスタ22に格納される。
【0045】
以上がこの実施の形態にかかるベクトル演算装置1が、スカラデータとベクトルデータとのベクトル演算を行う際の動作である。もっとも、そのためにはスカラデータが予めベクトルレジスタ12、13、22、23に格納されていなければならない。そのためには、公知の方法を適用することができる。例えば、ベクトル命令発行部7からベクトルロード命令36を発行することにより、主記憶装置2上のデータをパス35を経由してベクトルレジスタ12、13、22、23へ格納する方法がある。また、ベクトル総和演算命令等によりベクトル演算器14、24の演算結果49、58として得られるスカラデータをベクトルレジスタ12、13、22、23に格納する方法がある。
【0046】
以上説明したように、この実施の形態にかかるベクトル演算装置1では、スカラデータとベクトルデータとのベクトル演算を行う場合に、ベクトル命令発行部107は、1つのベクトル演算命令のみを発行すればよい。このため、このようなベクトル演算を終了するまでの間で命令の発行及びデコードに要する時間を短くすることができ、結果としてベクトル演算を高速に行えるようになる。
【0047】
また、この実施の形態にかかるベクトル演算装置1では、スカラデータとベクトルデータとのベクトル演算を行う場合に、ベクトルレジスタ12、13、22または23から読み出したスカラデータを、直接他のベクトルプロセッサ4〜5に分配することができる。このため、スカラレジスタ8へのスカラデータの書き込み及びスカラレジスタ8からのスカラデータの読み出しを待つことなく、スカラデータを分配してベクトル演算を行うことができ、結果としてベクトル演算を高速に行えるようになる。
【0048】
なお、上記の実施の形態では、1つのベクトルプロセッサ4、5内には、2個のベクトルレジスタ12及び13、22及び23と、1個のベクトル演算器14、24が設けられていた。しかしながら、本発明において、1つのベクトルプロセッサ内に設けるベクトルレジスタ及びベクトル演算器の数は、任意のものとすることができる。
【0049】
【発明の効果】
以上説明したように、本発明のベクトル演算装置によれば、スカラデータとベクトルデータとのベクトル演算を高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるベクトル演算装置の構成を示すブロック図である。
【図2】図1のベクトル命令発行部が発行する命令を示す図である。
【図3】ベクトルレジスタに割り振られたアドレスを説明する図である。
【図4】図2の命令の具体例を示す図である。
【図5】従来例にかかるベクトル演算装置の構成を示すブロック図である。
【符号の説明】
1 ベクトル演算装置
2 主記憶装置
3 スカラプロセッサ
4、5 ベクトルプロセッサ
6 命令制御部
7 ベクトル命令発行部
8 スカラレジスタ
9、19 ベクトル制御部
10、20 アドレス制御部
11、21 データ制御部
12、13、22、23 ベクトルレジスタ
14、24 ベクトル演算器
15〜18、25〜28 セレクタ
30〜33 パス
Claims (6)
- ベクトルデータおよび/またはスカラデータを格納するベクトルレジスタと、スカラデータとベクトルデータとのベクトル演算を行うベクトル演算器とを有する複数のベクトルプロセッサと、
ベクトルデータとスカラデータとのベクトル演算をするための命令を前記複数のベクトルプロセッサに対して発行するベクトル命令発行手段と、
各ベクトルプロセッサが有するベクトルレジスタから読み出されたスカラデータを、他のベクトルプロセッサに分配するパスとを備え、
前記複数のベクトルプロセッサはそれぞれ、
前記ベクトル命令発行手段が発行したベクトル演算命令をデコードするデコード手段と、
前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にある場合、該ベクトルレジスタからスカラデータを読み出し、前記パスを介して他のベクトルプロセッサに分配する第1の読み出し手段と、
自己のベクトルレジスタから読み出されたスカラデータと他のベクトルプロセッサから前記パスを介して分配されてきたスカラデータとのいずれかを選択して、前記ベクトル演算器に供給する選択手段とを備える
ことを特徴とするベクトル演算装置。 - 前記選択手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のベクトルレジスタ内にある場合、該ベクトルレジスタからのスカラデータを選択して前記ベクトル演算器に供給し、発行された命令で対象とするスカラデータが他のベクトルプロセッサが有するベクトルレジスタ内にある場合、前記パスを介して供給されたスカラデータを選択して前記ベクトル演算器に供給する
ことを特徴とする請求項1に記載のベクトル演算装置。 - 各ベクトルプロセッサが有するベクトルレジスタは、いずれも発行された命令で対象とするベクトルデータを格納しており、
前記複数のベクトルプロセッサはそれぞれ、前記デコード手段によるデコードの結果に従って、自己のベクトルレジスタに格納されているベクトルデータを順次読み出し、前記ベクトル演算器に供給する第2の読み出し手段を備える
ことを特徴とする請求項1または2に記載のベクトル演算装置。 - 前記複数のベクトルプロセッサはそれぞれ、複数のベクトルレジスタを備え、発行された命令で対象とするベクトルデータは、前記複数のベクトルプロセッサのすべてにおいて、いずれかのベクトルレジスタに格納されており、
発行された命令で対象とするスカラデータは、同じく発行された命令で対象とするベクトルデータが格納されていない、前記複数のベクトルプロセッサのうちのいずれかのベクトルレジスタに格納されており、
前記第1の読み出し手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のいずれかのベクトルレジスタ内にある場合、該ベクトルレジスタからスカラデータを読み出し、
前記選択手段は、前記第1の読み出し手段によって自己のいずれかのベクトルレジスタから読み出されたスカラデータを選択して前記ベクトル演算器に供給し、
前記第2の読み出し手段は、前記デコード手段によるデコードの結果、発行された命令で対象とするスカラデータが自己のいずれかのベクトルレジスタ内にある場合、自己のベクトルレジスタのうちでベクトルデータを格納するものからベクトルデータを順次読み出して前記ベクトル演算器に供給する
ことを特徴とする請求項3に記載のベクトル演算装置。 - 前記複数のベクトルプロセッサが備える複数のベクトルレジスタには、ベクトルプロセッサ内で異なり、かつベクトルプロセッサ同士で同一の識別情報が付されており、
発行された命令で対象とするベクトルデータは、各ベクトルプロセッサにおいて同一の識別情報が付されたベクトルレジスタに格納されており、
前記命令発行手段が発行する命令は、対象とするベクトルデータを格納するベクトルレジスタの識別情報を含む
ことを特徴とする請求項4に記載のベクトル演算装置。 - 前記命令発行手段が発行する命令は、対象とするスカラデータを格納するベクトルレジスタの識別情報と、ベクトルレジスタ内でのアドレスとを含む
ことを特徴とする請求項5に記載のベクトル演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36877099A JP3607548B2 (ja) | 1999-12-27 | 1999-12-27 | ベクトル演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36877099A JP3607548B2 (ja) | 1999-12-27 | 1999-12-27 | ベクトル演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001184339A JP2001184339A (ja) | 2001-07-06 |
JP3607548B2 true JP3607548B2 (ja) | 2005-01-05 |
Family
ID=18492710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36877099A Expired - Fee Related JP3607548B2 (ja) | 1999-12-27 | 1999-12-27 | ベクトル演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3607548B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003228069A1 (en) | 2002-05-24 | 2003-12-12 | Koninklijke Philips Electronics N.V. | A scalar/vector processor |
-
1999
- 1999-12-27 JP JP36877099A patent/JP3607548B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001184339A (ja) | 2001-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5604912A (en) | System and method for assigning tags to instructions to control instruction execution | |
JPS6313215B2 (ja) | ||
KR940015852A (ko) | 긴 명령 워드를 갖는 처리기 | |
US20040208066A1 (en) | Register file apparatus and method for computing flush masks in a multi-threaded processing system | |
GB2540940A (en) | An apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank | |
US5930520A (en) | Pipelining device in a parallel processing apparatus and an instruction supplying method therefor | |
JPH0743648B2 (ja) | 情報処理装置 | |
JPH0282330A (ja) | ムーブアウト・システム | |
JP3607548B2 (ja) | ベクトル演算装置 | |
EP0496407A2 (en) | Parallel pipelined instruction processing system for very long instruction word | |
JP4868255B2 (ja) | プロセッサ、プロセッサの制御方法及び情報処理装置 | |
JPH0345420B2 (ja) | ||
US20040128475A1 (en) | Widely accessible processor register file and method for use | |
JPS6058487B2 (ja) | デ−タ処理装置 | |
JP2861560B2 (ja) | データ処理装置 | |
CN117971349B (zh) | 计算设备、为计算设备配置虚拟寄存器的方法、控制设备、计算机可读存储介质和计算机程序产品 | |
US11720498B2 (en) | Arithmetic processing device and arithmetic processing method | |
US20230153114A1 (en) | Data processing system having distrubuted registers | |
JPH08263289A (ja) | 複数命令流パイプライン計算機 | |
JPH06332700A (ja) | 情報処理装置 | |
JP4151497B2 (ja) | パイプライン処理装置 | |
JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
JPH01243123A (ja) | 情報処理装置 | |
JPH06162068A (ja) | ベクトル処理装置 | |
JP2020144449A (ja) | ベクトル処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041007 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091015 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |