(57)【特許請求の範囲】
【請求項１】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備え、
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、前記物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域をそれぞれ有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号と前記データレジスタの最大数とベクトル長との積を加えた値により指定されること
を特徴とするベクトル処理装置。
【請求項２】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備え、
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各データレジスタは、ベクトル長の最大値と同じ数を有し、前記物理レジスタ番号が連続する前記データ格納領域を含み、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記各レジスタセットは、前記データレジスタのそれぞれの一部を含む集合により形成され、前記物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、
前記各データレジスタにおける前記集合に含まれる前記一部は、相対的に同じ位置にあり、ベクトル長と同じ数を有し物理レジスタ番号が連続する前記データ格納領域を有し、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタにおいて、ベクトル演算を実行するベクトルデータが格納されている先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長の最大値との積に、前記レジスタセット番号とベクトル長との積を加えた値により指定されること
を特徴とするベクトル処理装置。
【請求項３】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備え、
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域を有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号を加えた値により指定されること
を特徴とするベクトル処理装置。
【請求項４】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備え、
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域を有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号とベクトル長との積を加えた値により指定されること
を特徴とするベクトル処理装置。
【請求項５】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備え、
命令セットに、前記各レジスタセット内での前記データレジスタの位置を示す第１オペランドと、転送元の前記レジスタセットを指定する第２オペランドと、転送先の前記レジスタセットを指定する第３オペランドとを有するレジスタ転送命令を含み、
前記実行部は、前記レジスタ転送命令に応答して、前記第２オペランドにより指定される前記レジスタセットにおける前記第１オペランドにより指定される前記データレジスタに格納されているベクトルデータを、前記第３オペランドにより指定される前記レジスタセットにおける前記第１オペランドにより指定される前記データレジスタに転送すること
を特徴とするベクトル処理装置。
【請求項６】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備え、
命令セットに、転送元の前記レジスタセット内での前記データレジスタの位置を示す第１オペランドと、転送先の前記レジスタセット内での前記データレジスタの位置を示す第２オペランドと、転送元の前記レジスタセットを指定する第３オペランドと、転送先の前記レジスタセットを指定する第４オペランドとを有するレジスタ転送命令を含み、
前記実行部は、前記レジスタ転送命令に応答して、前記第３オペランドにより指定される前記レジスタセットにおける前記第１オペランドにより指定される前記データレジスタに格納されているベクトルデータを、前記第４オペランドにより指定される前記レジスタセットにおける前記第２オペランドにより指定される前記データレジスタに転送すること
を特徴とするベクトル処理装置。
【請求項７】
請求項１ないし請求項６のいずれか１項に記載のベクトル処理装置と、
前記ベクトル処理装置のベクトル演算に使用されるベクトルデータを生成するデータ生成部と、
前記ベクトル処理装置により演算されたデータを用いてデータ処理を実行するデータ処理部と
を備えていることを特徴とするシステム。
【請求項８】
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルを有するベクトル処理装置の動作方法であって、
命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットを、前記ベクトルレジスタファイル内に割り当て、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報を制御レジスタに格納し、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスし、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行し、
命令セットに、前記各レジスタセット内での前記データレジスタの位置を示す第１オペランドと、転送元の前記レジスタセットを指定する第２オペランドと、転送先の前記レジスタセットを指定する第３オペランドとを有するレジスタ転送命令を含み、
前記レジスタ転送命令に応答して、前記第２オペランドにより指定される前記レジスタセットにおける前記第１オペランドにより指定される前記データレジスタに格納されているベクトルデータを、前記第３オペランドにより指定される前記レジスタセットにおける前記第１オペランドにより指定される前記データレジスタに転送すること
を特徴とするベクトル処理装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル処理装置およびベクトル処理装置を有するシステムに関する。
【背景技術】
【０００２】
ベクトル処理装置は、少ない命令で多くのデータの演算を実行するために、配列型のデータであるベクトルデータを格納するベクトルレジスタファイルを有している。ベクトルレジスタファイルは、ベクトルデータがそれぞれ格納される複数のデータレジスタに区画される。データレジスタは、データ配列の大きさを示すベクトル長に応じたサイズを有しており、ベクトル処理装置が実行する命令に含まれるオペランドによって指定される。例えば、ベクトル処理装置は、加算命令を実行するとき、２つのオペランドが示す２つのデータレジスタに格納されている複数組のデータを加算する。ベクトル長が可変のベクトル処理装置では、データレジスタの数およびデータレジスタの相対位置は、ベクトル長に応じて設定される（例えば、特許文献１、２参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭５４−９３３４２号公報
【特許文献２】特開昭５９−６５３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、割り当て可能なデータレジスタの数は、オペランドのビット数に依存し、例えば、オペランドが５ビットのとき３２個である。このため、ベクトル長が小さいとき、ベクトルレジスタファイル内にデータレジスタとして割り当てられない領域が発生してしまう。換言すれば、ベクトルレジスタファイルの容量が、オペランドにより指定可能なデータレジスタの最大数とベクトル長との積より大きいとき、演算に使用できない領域がベクトルレジスタファイル内に発生してしまう。
【０００５】
本発明の目的は、ベクトル長が小さい場合にも、ベクトルレジスタファイルを効率よく使用し、ベクトル処理装置の性能を向上することである。
【課題を解決するための手段】
【０００６】
本発明の一形態では、ベクトル処理装置は、ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数のデータレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、ベクトル長に応じて変化する有効レジスタセットの開始位置を基準にして、オペランドにより指定されるデータレジスタにアクセスするデコーダと、アクセスされるデータレジスタからのベクトルデータを用いてベクトル演算を実行する実行部とを備えている。ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、各レジスタセットは、ベクトル長とデータレジスタの最大数との積と同じ数を有し物理レジスタ番号が連続するデータ格納領域を含み、物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、各レジスタセット内のデータレジスタは、ベクトル長と同じ数のデータ格納領域をそれぞれ有し、物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、制御レジスタは、レジスタセット番号が情報として格納され、オペランドは、論理レジスタ番号を示し、オペランドにより指定されるデータレジスタの先頭のデータ格納領域の物理レジスタ番号は、論理レジスタ番号とベクトル長との積に、レジスタセット番号とデータレジスタの最大数とベクトル長との積を加えた値により指定される。
【発明の効果】
【０００７】
ベクトル長が小さい場合にも、レジスタセットを切り換えることでベクトルレジスタファイルを効率よく使用でき、ベクトル処理装置の性能を向上できる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態におけるベクトル処理装置の例を示している。
【図２】図１に示した制御レジスタファイルの仕様およびベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図３】図１に示したベクトル処理装置において、ベクトル長が”８”に設定されるときのベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図４】図１に示したベクトル処理装置において、ベクトル長が”１６”に設定されるときのベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図５】図１に示したベクトル処理装置において、ベクトル長が”３２”に設定されるときのベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図６】図１に示したベクトル処理装置において、ベクトル長が”６４”に設定されるときのベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図７】図１に示したベクトル処理装置において、レジスタセット間でデータを転送するためのレジスタ転送命令の動作の例を示している。
【図８】図１に示したベクトル処理装置において、レジスタセット間でデータを転送するためのレジスタ転送命令の動作の別の例を示している。
【図９】別の実施形態のベクトル処理装置におけるベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図１０】図９に示したベクトルレジスタファイルをマトリックス状に表した例を示している。
【図１１】ベクトル長が”１６”のときに、図９に示したベクトルレジスタファイルＶＲをマトリックス状に表した例を示している。
【図１２】ベクトル長が”３２”のときに、図９に示したベクトルレジスタファイルＶＲをマトリックス状に表した例を示している。
【図１３】図９に示したベクトルレジスタファイルを有するベクトル処理装置において、レジスタセット間でデータを転送するためのレジスタ転送命令の動作の例を示している。
【図１４】別の実施形態のベクトル処理装置におけるベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図１５】別の実施形態のベクトル処理装置におけるベクトルレジスタファイルのデータ格納領域の割り当ての例を示している。
【図１６】上述したベクトル処理装置が搭載されるシステムの例を示している。
【発明を実施するための形態】
【０００９】
以下、図面を用いて実施形態を説明する。
【００１０】
図１は、一実施形態におけるベクトル処理装置の例を示している。ベクトル処理装置は、命令メモリ１０、命令バッファ１２、デコーダ１４、レジスタファイル群１６、実行パイプライン１８およびデータメモリ２０を有している。なお、命令メモリ１０、命令バッファ１２およびデータメモリ２０は、ベクトル処理装置の外部に配置されてもよい。
【００１１】
命令メモリ１０は、ベクトル処理装置により実行される命令が記述されたプログラムを格納している。命令バッファ１２は、命令メモリ１０からプリフェッチされる命令を一時的に格納する。
【００１２】
デコーダ１４は、命令バッファ１２に格納されている命令を順に解読し、解読した命令コードを実行パイプライン１８に出力する。また、デコーダ１４は、解読したオペランドと、制御レジスタファイルＶＣＲの制御レジスタに格納されているベクトル長ＶＬおよびレジスタセット番号ＲＥＧＳＥＴとに基づいてアクセスするレジスタを認識し、認識したレジスタにアクセスするためのアクセス要求をレジスタファイル群１６に出力する。ベクトル長ＶＬおよびレジスタセット番号ＲＥＧＳＥＴは、図２で説明する。
【００１３】
レジスタファイル群１６は、ベクトルレジスタファイルＶＲおよび制御レジスタファイルＶＣＲ等を有している。ベクトルレジスタファイルＶＲは、ベクトル演算に用いるベクトルデータ（以下、単にデータとも称する）を記憶する。制御レジスタファイルＶＣＲは、ベクトルレジスタファイルＶＲに記憶されるデータの領域の割り当てに必要な制御情報等を記憶する。
【００１４】
ベクトルレジスタファイルＶＲおよび制御レジスタファイルＶＣＲは、デコーダ１４からのアクセス要求により指定されるレジスタに格納されているデータを実行パイプライン１８に出力する。また、ベクトルレジスタファイルＶＲおよび制御レジスタファイルＶＣＲは、実行パイプライン１８からのデータを、デコーダ１４からのアクセス要求により指定されるレジスタに格納する。ベクトルレジスタファイルＶＲおよび制御レジスタファイルＶＣＲの例は、図２に示す。
【００１５】
実行パイプライン１８は、並列に動作可能な複数の演算器を有している。実行パイプライン１８は、デコーダ１４によりアクセスされるベクトルレジスタファイルＶＲ内の論理レジスタＲＥＧＬ(図２）からのベクトルデータを用いてベクトル演算を実行する実行部の一例である。例えば、実行パイプライン１８は、デコーダ１４により解読された命令が加算命令等の演算命令のとき、ベクトルレジスタファイルＶＲから出力されるベクトルデータを演算し、演算結果をベクトルレジスタファイルＶＲに書き込む。また、実行パイプライン１８は、デコーダ１４により解読された命令がロード命令またはストア命令等の転送命令のとき、レジスタファイル群１６とデータメモリ２０間でデータを転送する。例えば、ロード命令では、データメモリ２０に記憶されている演算に用いるベクトルデータがベクトルレジスタファイルＶＲに書き込まれる。例えば、ストア命令では、演算により得られ、ベクトルレジスタファイルＶＲに格納されているベクトルデータがデータメモリ２０に書き込まれる。
【００１６】
図２は、図１に示した制御レジスタファイルＶＣＲの仕様およびベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。制御レジスタファイルＶＣＲは、ベクトル長ＶＬおよびレジスタセット番号ＲＥＧＳＥＴを示す情報をそれぞれ格納する制御レジスタを有している。ベクトル長ＶＬは、１つの命令に応答して演算が実行されるデータの数（演算回数）を示す。この例では、ベクトル長ＶＬは、”８”、”１６”、”３２”、”６４”のいずれかに設定される。ベクトル長ＶＬを可変にすることで、データ配列の大きさに応じてベクトルレジスタファイルＶＲを効率的に使用して、ベクトル演算を実行できる。
【００１７】
レジスタセット番号ＲＥＧＳＥＴは、ベクトルレジスタファイルＶＲ内に割り当てられるレジスタセットＲＥＧＳのうち、演算で使用するレジスタセットＲＥＧＳの位置を示す。図２では、レジスタセット番号ＲＥＧＳＥＴにより指定されるレジスタセットＲＥＧＳを”＜数値＞”で示している。例えば、レジスタセット番号ＲＥＧＳＥＴが”２”のとき、図２に太枠で示した”＜２＞”のレジスタセットＲＥＧＳが選択され、アクセス可能になる。太枠で示したアクセス可能なレジスタセットＲＥＧＳは、ベクトル演算に使用するベクトルデータを保持する有効レジスタセットである。有効レジスタセットは、制御レジスタファイルＶＣＲに設定されるレジスタセット番号ＲＥＧＳＥＴにより指定される。
【００１８】
例えば、制御レジスタファイルＶＣＲへのベクトル長ＶＬおよびレジスタセット番号ＲＥＧＳＥＴの設定は、実行パイプライン１８が式（１）に示すロードイミディエイトコントロール命令を実行することにより行われる。式（１）中のオペランドｖｃｒは、制御レジスタファイルＶＣＲの各制御レジスタの位置（論理番号）を示す。例えば、オペランドｖｃｒの”２”は、ベクトル長ＶＬ用のレジスタを示し、オペランドｖｃｒの”６”は、レジスタセット番号ＲＥＧＳＥＴ用のレジスタを示す。オペランド＃ｉは、即値を示す。例えば、”ｉ”が”１６”のとき、オペランドｖｃｒで指定される制御レジスタに”１６”が設定され、”ｉ”が”１”のとき、オペランドｖｃｒで指定される制御レジスタに”１”が設定される。
ｌｉｃ  ｖｃｒ，＃ｉ‥‥（１）
ベクトルレジスタファイルＶＲは、例えば、ベクトルデータの各データを格納可能な２０４８個（２０４８ワード）のデータ格納領域を有している。各データ格納領域は、物理レジスタ番号（０から２０４７）が順に割り当てられている。ベクトルレジスタファイルＶＲは、ベクトル長ＶＬに応じて、同じ記憶容量を有する複数のレジスタセットＲＥＧＳに区画される。図２に示した先頭物理レジスタセット番号は、レジスタセット番号ＲＥＧＳＥＴにより指定されるレジスタセットＲＥＧＳにおける先頭のデータ格納領域の物理レジスタ番号である。各レジスタセットＲＥＧＳは、物理レジスタ番号の大きさの順にレジスタセット番号ＲＥＧＳＥＴ（＜０＞−＜ｎ＞）が付けられる。
【００１９】
１つのレジスタセットＲＥＧＳは、３２個の論理レジスタＲＥＧＬに区画される。論理レジスタＲＥＧＬは、命令に含まれるオペランドにより指定されるデータレジスタの一例である。各論理レジスタＲＥＧＬは、ベクトル長ＶＬと同じ数のデータ格納領域を有し、１つのベクトルデータを格納する。このため、各レジスタセットＲＥＧＳに割り当てられるデータ格納領域の数は、”ＶＬ×３２”である。図２に示した先頭物理レジスタ番号は、命令においてデータ配列を指定するためのオペランド（ｖｒ０、ｖｒ１、ｖｒ２等）により指定される論理レジスタＲＥＧＬの先頭の物理レジスタ番号である。図２では、オペランドにより指定される論理レジスタＲＥＧＬの位置を”（数値）”で示している。例えば、オペランドｖｒ０が”２”のとき、図２に示した有効レジスタセットＲＥＧＳ＜２＞内の論理レジスタＲＥＧＬ（２）がデコーダ１４によりアクセスされる。
【００２０】
論理レジスタＲＥＧＬは、物理レジスタ番号の大きさの順に論理レジスタ番号（０から３１）が付けられている。各レジスタセットＲＥＧＳ内の論理レジスタＲＥＧＬの数（この例では、３２個）は、デコーダ１４がデコードする命令に含まれるデータ配列を指定するためのオペランドのビット数に依存して決まる。この例では、オペランドは５ビットであり、オペランドにより指定可能な論理レジスタＲＥＧＬの最大数は３２個である。各レジスタセットＲＥＧＳに割り当てられる論理レジスタＲＥＧＬの数は、オペランドが４ビットのとき１６個になり、オペランドが６ビットのとき６４個になる。
【００２１】
ベクトルレジスタファイルＶＲに割り当てられるレジスタセットＲＥＧＳの数（ｎ＋１）は、式（２）により求められる。ここで、総物理レジスタ数は、ベクトルレジスタファイルＶＲに割り当てられるデータ格納領域の数（この例では、２０４８）を示す。総論理レジスタ数は、オペランドにより指定可能な論理レジスタＲＥＧＬの最大数であり、この例では、”３２”である。
(レジスタセットＲＥＧＳの数)＝(総物理レジスタ数)／((総論理レジスタ数)×VL)‥‥（２）
図１に示したデコーダ１４は、式（３）より先頭物理レジスタセット番号を求め、式（４）より先頭物理レジスタ番号を求める。先頭物理レジスタセット番号は、制御レジスタに格納されたベクトル長ＶＬおよびレジスタセット番号ＲＥＧＳＥＴに基づいて予め求められる有効レジスタセットの開始位置を示す物理レジスタ番号である。総論理レジスタ数は、ベクトル処理装置の命令セット（オペランドのビット数）に依存しており、ベクトル処理装置の設計時に決まる値である。総論理レジスタ数は、デコーダ１４に予め保持されている。デコーダ１４は、命令に含まれるオペランド（論理レジスタ番号）を用いて、式（４）に基づいて先頭物理レジスタ番号を求め、レジスタファイル群１６にアクセス要求として出力する。
(先頭物理レジスタセット番号)＝REGSET×(総論理レジスタ数)×VL‥‥（３）
(先頭物理レジスタ番号)＝(論理レジスタ番号)×VL＋(先頭物理レジスタセット番号)‥‥（４）
例えば、実行パイプライン１８が式（５）に示す加算命令（ベクトル演算の一例）を実行するとき、デコーダ１４は、各オペランドｖｒ０、ｖｒ１、ｖｒ２に設定されている論理レジスタ番号に基づいて、式（４）から先頭物理レジスタ番号を求め、ベクトルレジスタファイルＶＲに出力する。ベクトルレジスタファイルＶＲは、デコーダ１４から指示される先頭物理レジスタ番号が示す論理レジスタＲＥＧＬに格納されているベクトルデータを出力し、または先頭物理レジスタ番号が示す論理レジスタＲＥＧＬにベクトルデータを格納する。実行パイプライン１８は、ベクトルレジスタファイルＶＲから出力されるベクトルデータを用いて、ベクトル長ＶＬが示す回数の加算演算を実行する。加算命令では、オペランドｖｒ０、ｖｒ１が示す論理レジスタＲＥＧＬにそれぞれ格納されているデータの加算と、オペランドｖｒ２が示す論理レジスタＲＥＧＬへの加算結果の格納とが、ベクトル長ＶＬに対応する回数実行される。
ｖａｄｄ  ｖｒ０，ｖｒ１，ｖｒ２‥‥（５）
図３は、図１に示したベクトル処理装置において、ベクトル長ＶＬが”８”に設定されるときのベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。図３に示す割り当ては、ベクトル処理装置で扱うデータ配列のベクトル長ＶＬが”８”より小さいときに使用される。ベクトル長ＶＬが”８”のとき、各レジスタセットＲＥＧＳは、２５６個（８×３２）のデータ格納領域を有する。このため、２０４８個のデータ格納領域を有するベクトルレジスタファイルＶＲは、３２個の論理レジスタＲＥＧＬを各々有する８個のレジスタセットＲＥＧＳ＜０＞−＜７＞に区画される。各論理レジスタＲＥＧＬは、８個のデータ格納領域を有する。
【００２２】
例えば、レジスタセット番号ＲＥＧＳＥＴが”３”に設定されているとき、有効レジスタセットＲＥＧＳ＜３＞に含まれる３２個の論理レジスタＲＥＧＬ（０）−（３１）が、プログラムにより指定可能である。式（５）に示したオペランドｖｒ０、ｖｒ１、ｖｒ２の値が、”２”、”６”、”８”のとき、論理レジスタＲＥＧＬ（２）、（６）の内容の加算と、加算結果の論理レジスタＲＥＧＬ（８）への格納が、ベクトル長ＶＬに対応する回数実行される。レジスタセット番号ＲＥＧＳＥＴの値を”０”から”７”のいずれかに設定することで、ベクトルレジスタファイルＶＲ内の全てのデータ格納領域がアクセス可能になる。
【００２３】
図４は、図１に示したベクトル処理装置において、ベクトル長ＶＬが”１６”に設定されるときのベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。図４に示した割り当ては、ベクトル処理装置で扱うデータ配列のベクトル長ＶＬが”９”から”１６”のときに使用される。ベクトル長ＶＬが”１６”のとき、各レジスタセットＲＥＧＳは、５１２個（１６×３２）のデータ格納領域を有する。このため、２０４８個のデータ格納領域を有するベクトルレジスタファイルＶＲは、３２個の論理レジスタＲＥＧＬを各々有する４個のレジスタセットＲＥＧＳ＜０＞−＜３＞に区画される。各論理レジスタＲＥＧＬは、１６個のデータ格納領域を有する。
【００２４】
例えば、レジスタセット番号ＲＥＧＳＥＴが”１”に設定されているとき、有効レジスタセットＲＥＧＳ＜１＞に含まれる３２個の論理レジスタＲＥＧＬ（０）−（３１）が、プログラムにより指定可能である。式（５）に示したオペランドｖｒ０、ｖｒ１、ｖｒ２の値が、”２”、”６”、”８”のときの動作は、先頭物理レジスタ番号およびベクトル長ＶＬに対応する加算回数が異なることを除き、図３と同様である。図４においても、レジスタセット番号ＲＥＧＳＥＴの値を”０”から”３”のいずれかに設定することで、ベクトルレジスタファイルＶＲ内の全てのデータ格納領域がアクセス可能になる。
【００２５】
図５は、図１に示したベクトル処理装置において、ベクトル長ＶＬが”３２”に設定されるときのベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。図５に示した割り当ては、ベクトル処理装置で扱うデータ配列のベクトル長ＶＬが”１７”から”３２”のときに使用される。ベクトル長ＶＬが”３２”のとき、各レジスタセットＲＥＧＳは、１０２４個（３２×３２）のデータ格納領域を有する。このため、２０４８個のデータ格納領域を有するベクトルレジスタファイルＶＲは、３２個の論理レジスタＲＥＧＬを各々有する２個のレジスタセットＲＥＧＳ＜０＞−＜１＞に区画される。各論理レジスタＲＥＧＬは、３２個のデータ格納領域を有する。
【００２６】
例えば、レジスタセット番号ＲＥＧＳＥＴが”１”に設定されているとき、有効レジスタセットＲＥＧＳ＜１＞に含まれる３２個の論理レジスタＲＥＧＬ（０）−（３１）が、プログラムにより指定可能である。式（５）に示したオペランドｖｒ０、ｖｒ１、ｖｒ２の値が、”２”、”６”、”８”のときの動作は、先頭物理レジスタ番号およびベクトル長ＶＬに対応する加算回数が異なることを除き、図３と同様である。図５においても、レジスタセット番号ＲＥＧＳＥＴの値を”０”、”１”のいずれかに設定することで、ベクトルレジスタファイルＶＲ内の全てのデータ格納領域がアクセス可能になる。
【００２７】
図６は、図１に示したベクトル処理装置において、ベクトル長ＶＬが”６４”に設定されるときのベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。図６に示した割り当ては、ベクトル処理装置で扱うデータ配列のベクトル長ＶＬが”３３”から”６４”のときに使用される。ベクトル長ＶＬが”６４”のとき、２０４８個（６４×３２）のデータ格納領域を有し、３２個の論理レジスタＲＥＧＬを有する１つのレジスタセットＲＥＧＳ＜０＞が割り当てられる。各論理レジスタＲＥＧＬは、６４個のデータ格納領域を有する。
【００２８】
式（５）に示したオペランドｖｒ０、ｖｒ１、ｖｒ２の値が、”２”、”６”、”８”のときの動作は、先頭物理レジスタ番号およびベクトル長ＶＬに対応する加算回数が異なることを除き、図３と同様である。図６では、レジスタセット番号ＲＥＧＳＥＴの値は常に”０”に設定される。このとき、ベクトルレジスタファイルＶＲ内の全てのデータ格納領域がアクセス可能になる。
【００２９】
図７は、図１に示したベクトル処理装置において、レジスタセットＲＥＧＳ間でデータを転送するためのレジスタ転送命令の動作の例を示している。例えば、ベクトル長ＶＬは”１６”に設定されている。
【００３０】
制御レジスタファイルＶＣＲに設定されるレジスタセット番号ＲＥＧＳＥＴにより、レジスタセットＲＥＧＳの１つを指定する場合、図１に示したデコーダ１４は、指定されたレジスタセットＲＥＧＳ以外のデータ格納領域にアクセスできない。このため、レジスタセットＲＥＧＳ間のデータ転送は、データを図１に示したデータメモリ２０に一時的に保持して、レジスタセット番号ＲＥＧＳＥＴを切り換えながら実施する必要がある。換言すれば、２回のデータ転送命令と、少なくとも１回のロードイミディエイトコントロール命令（式（１））を実行しなくてはならず効率が悪い。
【００３１】
これに対して、この実施形態のベクトル処理装置は、式（６）に示すレジスタ転送命令ｍｏｖｓｅｔ１を有しているため、レジスタセット番号ＲＥＧＳＥＴを切り換えることなく、最小限の命令により、指定されたレジスタセットＲＥＧＳ以外のレジスタセットＲＥＧＳに対してデータを転送できる。
ｍｏｖｓｅｔ１  ｖｒ０，ｒｅｇｓｅｔ１，ｒｅｇｓｅｔ２‥‥（６）
式（６）において、オペランドｒｅｇｓｅｔ１は、転送元のレジスタセットＲＥＧＳの番号（位置）を示し、オペランドｒｅｇｓｅｔ２は、転送先のレジスタセットＲＥＧＳの番号（位置）を示す。オペランドｖｒ０は、転送元および転送先のレジスタセットＲＥＧＳに共通の論理レジスタ番号を示す。式（６）に示すレジスタ転送命令ｍｏｖｓｅｔ１では、異なるレジスタファイルセット間で同じ番号の論理レジスタＲＥＧＬにデータの転送が可能である。
【００３２】
例えば、式（６）に示したオペランドｖｒ０、ｒｅｇｓｅｔ１、ｒｅｇｓｅｔ２の値が”６”、”１”、”０”のとき、レジスタセットＲＥＧＳ＜１＞の論理レジスタＲＥＧＬ（６）に格納されているデータが、レジスタセットＲＥＧＳ＜０＞の論理レジスタＲＥＧＬ（６）に転送される。なお、転送元のデータは、消去されてもよく（データの移動）、残されてもよい（データのコピー）。
【００３３】
デコーダ１４は、レジスタ転送命令ｍｏｖｓｅｔ１に応答して、式（７）により転送元の論理レジスタＲＥＧＬの先頭物理レジスタ番号を求め、式（８）により転送元の論理レジスタＲＥＧＬの先頭物理レジスタ番号を求め、求めた先頭物理レジスタ番号をアクセス要求としてベクトルレジスタファイルＶＲに出力する。実行パイプライン１８は、レジスタ転送命令ｍｏｖｓｅｔ１に応答して、オペランドｒｅｇｓｅｔ１により指定されるレジスタセットＲＥＧＳにおけるオペランドｖｒ０により指定される論理レジスタＲＥＧＬに格納されているベクトルデータを読み出し、オペランドｒｅｇｓｅｔ２により指定されるレジスタセットＲＥＧＳにおけるオペランドｖｒ０により指定される論理レジスタＲＥＧＬに転送する。
(転送元の論理レジスタＲＥＧＬの先頭物理レジスタ番号)＝vr0×VL＋regset1×(総論理レジスタ数)×VL‥‥（７）
(転送先の論理レジスタＲＥＧＬの先頭物理レジスタ番号)＝vr0×VL＋regset2×(総論理レジスタ数)×VL‥‥（８）
図８は、図１に示したベクトル処理装置において、レジスタセットＲＥＧＳ間でデータを転送するためのレジスタ転送命令の動作の別の例を示している。例えば、ベクトル長ＶＬは”１６”に設定されている。
【００３４】
図８では、転送元のレジスタセットＲＥＧＳの任意の論理レジスタＲＥＧＬから転送先のレジスタセットＲＥＧＳの任意の論理レジスタＲＥＧＬにデータが転送される。このために、式（９）に示すレジスタ転送命令ｍｏｖｓｅｔ２では、転送元の論理レジスタ番号を指定するオペランドｖｒ１と転送先の論理レジスタ番号を指定するオペランドｖｒ２とが必要になる。オペランドｒｅｇｓｅｔ１、ｒｅｇｓｅｔ２の意味は、式（６）と同じである。
ｍｏｖｓｅｔ２  ｖｒ１，ｖｒ２，ｒｅｇｓｅｔ１，ｒｅｇｓｅｔ２‥‥（９）
例えば、図８において、式（９）に示したオペランドｖｒ１、ｖｒ２、ｒｅｇｓｅｔ１、ｒｅｇｓｅｔ２の値が”５”、”８”、”１”、”２”のとき、レジスタセットＲＥＧＳ＜１＞の論理レジスタＲＥＧＬ（５）に格納されているデータが、レジスタセットＲＥＧＳ＜２＞の論理レジスタＲＥＧＬ（８）に転送される。なお、転送元のデータは、消去されてもよく（データの移動）、残されてもよい（データのコピー）。
【００３５】
デコーダ１４は、レジスタ転送命令ｍｏｖｓｅｔ２に応答して、式（１０）により転送元の論理レジスタＲＥＧＬの先頭物理レジスタ番号を求め、式（１１）により転送元の論理レジスタＲＥＧＬの先頭物理レジスタ番号を求める。実行パイプライン１８は、レジスタ転送命令ｍｏｖｓｅｔ２に応答して、オペランドｒｅｇｓｅｔ１により指定されるレジスタセットＲＥＧＳにおけるオペランドｖｒ１により指定される論理レジスタＲＥＧＬに格納されているベクトルデータを読み出し、オペランドｒｅｇｓｅｔ２により指定されるレジスタセットＲＥＧＳにおけるオペランドｖｒ２により指定される論理レジスタＲＥＧＬに転送する。
【００３６】
(転送元の論理レジスタＲＥＧＬの先頭物理レジスタ番号)＝vr1×VL＋regset1×(総論理レジスタ数)×VL‥‥（１０）
(転送先の論理レジスタＲＥＧＬの先頭物理レジスタ番号)＝vr2×VL＋regset2×(総論理レジスタ数)×VL‥‥（１１）
なお、ベクトル処理装置は、式（６）に示したレジスタ転送命令ｍｏｖｓｅｔ１を命令セットに含んでもよく、式（９）に示したレジスタ転送命令ｍｏｖｓｅｔ２を命令セットに含んでもよく、式（６）、（９）に示した両方のレジスタ転送命令ｍｏｖｓｅｔ１、ｍｏｖｓｅｔ２を命令セットに含んでもよい。
【００３７】
以上、この実施形態では、制御レジスタによりレジスタセット番号ＲＥＧＳＥＴを切り換え可能にすることで、ベクトル長ＶＬに依存することなく、ベクトルレジスタファイルＶＲの全てのデータ格納領域をアクセスできる。また、論理レジスタＲＥＧＬを指定するオペランドのビット数に依存することなく、ベクトルレジスタファイルＶＲの全てのデータ格納領域をアクセスできる。特に、ベクトル長ＶＬに応じて、レジスタセットＲＥＧＳのサイズと開始位置が変化するベクトル処理装置において、ベクトルレジスタファイルＶＲの全てのデータ格納領域をアクセスできる。この結果、ベクトルレジスタファイルＶＲを効率よく使用でき、ベクトル処理装置の性能を向上できる。
【００３８】
同じ記憶容量を有する複数のレジスタセットＲＥＧＳに対して、物理レジスタ番号の大きさの順にレジスタセット番号を割り当てることで、有効レジスタセット内のアクセスする論理レジスタＲＥＧＬの位置（物理レジスタ番号）を簡易な式を用いて求められる。この結果、物理レジスタ番号を求めるデコーダ１４の論理を簡易にできる。
【００３９】
レジスタ転送命令を命令セットに加えることで、レジスタセットＲＥＧＳ間のデータ転送を少ない命令数で実行でき、ベクトル処理装置の性能を向上できる。
【００４０】
図９は、別の実施形態のベクトル処理装置におけるベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。ベクトル処理装置の構成は、デコーダ１４および実行パイプライン１８の動作が異なることを除き、図１と同じである。制御レジスタファイルＶＣＲの仕様は、図２と同じである。
【００４１】
この実施形態では、ベクトルレジスタファイルＶＲのデータ格納領域の割り当て仕様が図２と異なる。ベクトルレジスタファイルＶＲは、図２と同様に、例えば、２０４８個（２０４８ワード）のデータ格納領域を有している。但し、ベクトルレジスタファイルＶＲは、同じ数のデータ格納領域を有する３２個の論理レジスタＲＥＧＬに区画されている。すなわち、ベクトルレジスタファイルＶＲは、ベクトル長ＶＬに拘わらず、サイズおよび物理レジスタ番号の割り当てが固定の論理レジスタＲＥＧＬに区画されている。論理レジスタＲＥＧＬは、命令に含まれるオペランドにより指定されるデータレジスタの一例である。
【００４２】
論理レジスタＲＥＧＬの最大数は、命令に含まれるデータ配列を指定するためのオペランドのビット数に依存して決まる。すなわち、この例においても、データ配列を指定するためのオペランドのビット数は”５”である。各論理レジスタＲＥＧＬは、ベクトル長ＶＬの最大値ＶＬｍａｘ（例えば、６４個）と同じ数の物理レジスタ番号が連続するデータ格納領域を有している。各論理レジスタＲＥＧＬに割り当てられるデータ格納領域の数は、ベクトル長ＶＬに依存せずに固定である。論理レジスタＲＥＧＬは、物理レジスタ番号の大きさの順に論理レジスタ番号（０）−（３１）が付けられている。
【００４３】
図９の網掛け部分は、ベクトル長ＶＬが”８”、レジスタセット番号ＲＥＧＳＥＴが”２”に設定されているときにアクセス可能なデータ格納領域を示している。各網掛け部分は、ベクトル長ＶＬと同じ数（８個）のデータ格納領域を有している。網掛け部分の集合は、図２に太枠で示したレジスタセットＲＥＧＳ＜１＞に対応する。レジスタセットＲＥＧＳ＜１＞は、ベクトル演算に使用するベクトルデータを保持する有効レジスタセットである。この実施形態では、各レジスタセットＲＥＧＳは、論理レジスタＲＥＧＬのそれぞれの一部を含む集合により形成されており、物理レジスタ番号の大きさの順にレジスタセット番号が付けられている。換言すれば、各論理レジスタＲＥＧＬは、全てのレジスタセットＲＥＧＳに均等に割り当てられている。
【００４４】
図９に示した先頭物理レジスタ番号は、命令に含まれるオペランド（ｖｒ０、ｖｒ１、ｖｒ２等）により指定される論理レジスタＲＥＧＬにおいて、演算対象のデータ配列が格納されている先頭のデータ格納領域の物理レジスタ番号である。デコーダ１４は、式（１２）より先頭物理レジスタ番号を求める。なお、ベクトル長ＶＬの最大値ＶＬｍａｘは、ベクトル処理装置の設計時に決まる値であり、デコーダ１４に予め保持されている。
(先頭物理レジスタ番号)＝(論理レジスタ番号)×VLmax＋REGSET×VL‥‥（１２）
例えば、デコーダ１４は、式（５）に示した加算命令に含まれる各オペランドｖｒ０、ｖｒ１、ｖｒ２に設定されている論理レジスタ番号に基づいて、式（１２）から先頭物理レジスタ番号を求め、ベクトルレジスタファイルＶＲに出力する。ベクトルレジスタファイルＶＲは、デコーダ１４から指示される先頭物理レジスタ番号が示す論理レジスタＲＥＧＬに格納されているベクトルデータを出力し、または先頭物理レジスタ番号が示す論理レジスタＲＥＧＬにベクトルデータを格納する。実行パイプライン１８は、ベクトルレジスタファイルＶＲから出力されるベクトルデータを用いて、ベクトル長ＶＬが示す回数の加算演算を実行する。
【００４５】
図１０は、図９に示したベクトルレジスタファイルＶＲをマトリックス状に表した例を示している。図９と同様に、ベクトル長ＶＬは”８”に設定され、レジスタセット番号ＲＥＧＳＥＴは”２”に設定されている。網掛け部分は、図９の網掛け部分に対応する。図１０に示した縦長の太枠は、レジスタセット番号ＲＥＧＳＥＴにより指定されるレジスタセットＲＥＧＳを示している。図１０では、レジスタセット番号ＲＥＧＳＥＴにより指定されるレジスタセットＲＥＧＳを”＜数値＞”で示している。
【００４６】
ベクトルレジスタファイルＶＲに割り当てられるレジスタセットＲＥＧＳの数は、上述した式（２）により求められる。すなわち、ベクトル長ＶＬが”８”のとき、ベクトルレジスタファイルＶＲは、８個のレジスタセットＲＥＧＳ＜０＞−＜７＞に区画される。論理レジスタＲＥＧＬ（０）−（３１）において、各レジスタセットＲＥＧＳに含まれる部分は、論理レジスタＲＥＧＬの先頭から相対的に同じ位置にあり、ベクトル長ＶＬと同じ数を有し物理レジスタ番号が連続するデータ格納領域を有している。
【００４７】
例えば、加算命令において、式（５）に示したオペランドｖｒ０、ｖｒ１、ｖｒ２の値が、”２”、”６”、”８”とする。このとき、論理レジスタＲＥＧＬ（２）、（６）のレジスタセットＲＥＧＳ＜１＞に対応するデータ格納領域の内容の加算と、加算結果の論理レジスタＲＥＧＬ（８）のレジスタセットＲＥＧＳ＜１＞に対応するデータ格納領域への格納とが、ベクトル長ＶＬに対応する回数実行される。換言すれば、オペランドｖｒ０、ｖｒ１、ｖｒ２により指定される網掛けの領域は、部分的な論理レジスタＲＥＧＬとしてアクセスされる。
【００４８】
この実施形態においても、レジスタセット番号ＲＥＧＳＥＴの値を”０”から”７”のいずれかに設定することで、ベクトルレジスタファイルＶＲ内の全てのデータ格納領域がアクセス可能になる。
【００４９】
図１１は、ベクトル長ＶＬが”１６”のときに、図９に示したベクトルレジスタファイルＶＲをマトリックス状に表した例を示している。図１０と同じ要素については、詳細な説明は省略する。ベクトル長ＶＬが”１６”のとき、式（２）より、ベクトルレジスタファイルＶＲは、４個のレジスタセットＲＥＧＳ＜０＞−＜３＞に区画される。加算命令に応答して実行される加算演算は、加算されるデータの数（加算回数）が異なることを除き、図１０と同じである。
【００５０】
図１２は、ベクトル長ＶＬが”３２”のときに、図９に示したベクトルレジスタファイルＶＲをマトリックス状に表した例を示している。図１０と同じ要素については、詳細な説明は省略する。ベクトル長ＶＬが”３２”のとき、式（２）より、ベクトルレジスタファイルＶＲは、２個のレジスタセットＲＥＧＳ＜０＞−＜１＞に区画される。加算命令に応答して実行される加算演算は、加算されるデータの数（加算回数）が異なることを除き、図１０と同じである。なお、ベクトル長ＶＬが”６４”のときのベクトルレジスタファイルＶＲのデータ格納領域の割り当ては、図６と同じである。
【００５１】
図１３は、図９に示したベクトルレジスタファイルＶＲを有するベクトル処理装置において、レジスタセットＲＥＧＳ間でデータを転送するためのレジスタ転送命令の動作の例を示している。
【００５２】
上述した式（６）に示したオペランドｖｒ０、ｒｅｇｓｅｔ１、ｒｅｇｓｅｔ２の値が”６”、”１”、”０”のとき、論理レジスタＲＥＧＬ（６）のレジスタセットＲＥＧＳ＜１＞に対応するデータ格納領域に格納されているデータが、論理レジスタＲＥＧＬ（６）のレジスタセットＲＥＧＳ＜０＞に対応するデータ格納領域に転送される。一方、上述した式（９）に示したオペランドｖｒ１、ｖｒ２、ｒｅｇｓｅｔ１、ｒｅｇｓｅｔ２の値が”３”、”１０”、”１”、”２”のとき、論理レジスタＲＥＧＬ（３）のレジスタセットＲＥＧＳ＜１＞に対応するデータ格納領域に格納されているデータが、論理レジスタＲＥＧＬ（１０）のレジスタセットＲＥＧＳ＜２＞に対応するデータ格納領域に転送される。
【００５３】
図１に示したデコーダ１４は、レジスタ転送命令ｍｏｖｓｅｔ１またはｍｏｖｓｅｔ２の実行時に、式（１２）を用いて、転送元のデータ格納領域の先頭物理レジスタ番号および転送先のデータ格納領域の先頭物理レジスタ番号を求め、ベクトルレジスタファイルＶＲに出力する。ベクトルレジスタファイルＶＲは、デコーダ１４から指示される先頭物理レジスタ番号が示す論理レジスタＲＥＧＬに格納されているベクトルデータを出力し、または先頭物理レジスタ番号が示す論理レジスタＲＥＧＬにベクトルデータを格納する。実行パイプライン１８は、ベクトルレジスタファイルＶＲから出力されるベクトルデータを用いて、ベクトル長ＶＬが示す回数の加算演算を実行する。
【００５４】
なお、ベクトル処理装置は、式（６）に示したレジスタ転送命令ｍｏｖｓｅｔ１を命令セットに含んでもよく、式（９）に示したレジスタ転送命令ｍｏｖｓｅｔ２を命令セットに含んでもよく、式（６）、（９）に示した両方のレジスタ転送命令ｍｏｖｓｅｔ１、ｍｏｖｓｅｔ２を命令セットに含んでもよい。
【００５５】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。すなわち、サイズおよび物理レジスタ番号の割り当てがベクトル長ＶＬに拘わらず固定の論理レジスタＲＥＧＬに区画されるベクトルレジスタファイルＶＲを有するベクトル処理装置においても、ベクトルレジスタファイルＶＲを効率よく使用でき、ベクトル処理装置の性能を向上できる。
【００５６】
図１４は、別の実施形態のベクトル処理装置におけるベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。ベクトル処理装置の構成は、デコーダ１４および実行パイプライン１８の動作が異なることを除き、図１と同じである。
【００５７】
この実施形態では、ベクトルレジスタファイルＶＲのデータ格納領域の割り当て仕様が、図２と異なる。制御レジスタファイルＶＣＲの仕様は、レジスタセット番号ＲＥＧＳＥＴの設定値が異なることを除き、図２と同じである。ベクトルレジスタファイルＶＲは、図２と同様に、例えば、２０４８個（２０４８ワード）のデータ格納領域を有している。レジスタセット番号ＲＥＧＳＥＴは、レジスタセットＲＥＧＳの開始位置を示す。
【００５８】
レジスタセット番号ＲＥＧＳＥＴにより指定される各レジスタセットＲＥＧＳは、図２と同様に、３２個の論理レジスタＲＥＧＬに区画される。各論理レジスタＲＥＧＬは、ベクトル長ＶＬに対応する数のデータ格納領域を有する。このため、レジスタセットＲＥＧＳに割り当てられるデータ格納領域の数は、”ＶＬ×３２”である。すなわち、レジスタセットＲＥＧＳのサイズは、ベクトル長ＶＬに依存して変化する。
【００５９】
例えば、ベクトル長ＶＬが”８”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”から”１７９２”のいずれかに設定される。ベクトル長ＶＬが”１６”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”から”１５３６”のいずれかに設定される。ベクトル長ＶＬが”３２”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”から”１０２４”のいずれかに設定される。ベクトル長ＶＬが”６４”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”に設定される。なお、レジスタセット番号ＲＥＧＳＥＴは、”０”から”２０４７”の任意の開始位置に設定されてもよい。この場合、例えば、ベクトルレジスタファイルＶＲの最終のデータ格納領域と最初のデータ格納領域とを巡回的に接続することで、最終のデータ格納領域がレジスタセットＲＥＧＳの途中になるときにも、ベクトルデータを確実に保持できる。
【００６０】
先頭物理レジスタ番号は、図２と同様に、演算対象のデータ配列が格納されている先頭のデータ格納領域の物理レジスタ番号である。例えば、デコーダ１４は、式（５）に示した加算命令に含まれる各オペランドｖｒ０、ｖｒ１、ｖｒ２に設定されている論理レジスタ番号に基づいて、式（１３）から先頭物理レジスタ番号を求め、ベクトルレジスタファイルＶＲに出力する。ベクトルレジスタファイルＶＲは、デコーダ１４から指示される先頭物理レジスタ番号が示す論理レジスタＲＥＧＬに格納されているベクトルデータを出力し、または先頭物理レジスタ番号が示す論理レジスタＲＥＧＬにベクトルデータを格納する。実行パイプライン１８は、ベクトルレジスタファイルＶＲから出力されるベクトルデータを用いて、ベクトル長ＶＬが示す回数の加算演算を実行する。
(先頭物理レジスタ番号)＝(論理レジスタ番号)×VL＋REGSET‥‥（１３）
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
【００６１】
図１５は、別の実施形態のベクトル処理装置におけるベクトルレジスタファイルＶＲのデータ格納領域の割り当ての例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。ベクトル処理装置の構成は、デコーダ１４および実行パイプライン１８の動作が異なることを除き、図１と同じである。
【００６２】
この実施形態では、レジスタセットＲＥＧＳの開始位置は、レジスタセット番号ＲＥＧＳＥＴとベクトル長ＶＬの積により指定される。換言すれば、レジスタセットＲＥＧＳの開始位置は、ベクトル長ＶＬ単位で指定可能である。ベクトル長ＶＬが”８”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”から”２２４”のいずれかに設定される。ベクトル長ＶＬが”１６”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”から”９６”のいずれかに設定される。ベクトル長ＶＬが”３２”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”から”３２”のいずれかに設定される。ベクトル長ＶＬが”６４”のとき、レジスタセット番号ＲＥＧＳＥＴは”０”に設定される。
【００６３】
なお、レジスタセット番号ＲＥＧＳＥＴは、”０”から”２０４７”の任意の開始位置に設定されてもよい。この場合、例えば、ベクトルレジスタファイルＶＲの最終のデータ格納領域と最初のデータ格納領域とを巡回的に接続することで、最終のデータ格納領域がレジスタセットＲＥＧＳの途中になるときにも、ベクトルデータを確実に保持できる。
【００６４】
先頭物理レジスタ番号は、図２と同様に、演算対象のデータ配列の先頭の物理レジスタ番号である。例えば、デコーダ１４は、式（５）に示した加算命令に含まれる各オペランドｖｒ０、ｖｒ１、ｖｒ２に設定されている論理レジスタ番号に基づいて、式（１４）から先頭物理レジスタ番号を求め、ベクトルレジスタファイルＶＲに出力する。ベクトルレジスタファイルＶＲおよび実行パイプライン１８の動作は、図１４と同じである。
【００６５】
(先頭物理レジスタ番号)＝(論理レジスタ番号)×VL＋REGSET×VL‥‥（１４）
ベクトルレジスタファイルＶＲの割り当て仕様は、レジスタセット番号ＲＥＧＳＥＴとベクトル長ＶＬの積により指定されること、先頭物理レジスタ番号の求め方が異なることを除き、図１４と同様である。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
【００６６】
図１６は、上述したベクトル処理装置が搭載されるシステムの例を示している。例えば、システムＳＹＳは、携帯電話等の組み込み型の通信機器であり、アンテナＡＮＴ、高周波回路ＲＦ、アナログデジタル変換器Ａ／Ｄ、ベクトル処理装置ＶＰ、プロセッサＰＲＯＣおよび入出力部Ｉ／Ｏを有している。なお、図１６は、アンテナＡＮＴを介してデータを受信するために必要な機能ブロックを示している。高周波回路ＲＦおよびアナログデジタル変換器Ａ／Ｄは、ベクトル処理装置のベクトル演算に使用されるベクトルデータを生成するデータ生成部の一例である。プロセッサＰＲＯＣは、ベクトル処理装置により演算されたデータを用いてデータ処理を実行するデータ処理部の一例である。
【００６７】
高周波回路ＲＦは、アンテナＡＮＴを介して受信する高周波信号から必要な周波数成分を取り出し、ベースバンド信号としてアナログデジタル変換器Ａ／Ｄに出力する。アナログデジタル変換器Ａ／Ｄは、アナログのベースバンド信号をデジタル信号に変換し、ベクトル処理装置ＶＰに出力する。例えば、デジタル信号は、図１に示したデータメモリ２０に書き込まれる。
【００６８】
ベクトル処理装置ＶＰは、上述したベクトル処理装置のいずれかである。ベクトル処理装置ＶＰは、例えば、ベースバンド信号の処理装置として動作し、上述したベクトル演算を実行する。そして、ベクトル処理装置ＶＰは、アナログデジタル変換器Ａ／Ｄから供給されるデジタル信号を復調し、アンテナＡＮＴで受けた信号に含まれているデータを取得する。例えば、ベクトル処理装置ＶＰは、取得したデータをデータメモリ２０に書き込む。なお、ベクトル処理装置ＶＰは、ベースバンド信号を処理するために動作するＣＰＵのコプロセッサとして動作してもよい。この場合には、システムＳＹＳは、コプロセッサとして動作するベクトル処理装置ＶＰを制御するＣＰＵを含む。
【００６９】
プロセッサＰＲＯＣは、ベクトル処理装置ＶＰにより取得されたデータの種類に応じた処理を実行するアプリケーション用のプロセッサであり、データメモリ２０に保持されているベクトル処理装置ＶＰにより演算されたデータを処理する。例えば、プロセッサＰＲＯＣは、音声データを再生するためのデコード処理や、画像データを再生するためのデコード処理を実行する。なお、音声データのデコード処理と、画像データのデコード処理とをそれぞれ実行する複数のプロセッサＰＲＯＧが形成されてもよい。
【００７０】
入出力部Ｉ／Ｏは、プロセッサＰＲＯＣによりデコードされる画像データを表示するディスプレイ、プロセッサＰＲＯＧによりデコードされる音声データを出力するスピーカー、入力キー、あるいはカメラ等のユーザインタフェース部である。なお、ベクトル処理装置ＶＰは、システムＳＹＳにおいて、アンテナＡＮＴを介してデータを送信するための機能ブロックに搭載されてもよい。このとき、入出力部Ｉ／Ｏ等から供給されるデータを用いて送信データを生成するプロセッサは、ベクトル処理装置のベクトル演算に使用されるベクトルデータを生成するデータ生成部として動作する。ベクトル処理装置により演算されたデジタルの送信データをアナログ信号に変換するデジタルアナログ変換器は、ベクトル処理装置により演算されたデータを用いてデータ処理を実行するデータ処理部として動作する。
【００７１】
上述した実施形態のベクトル処理装置ＶＰをシステムＳＹＳに搭載することで、ベクトルレジスタファイルＶＲの全ての領域を効率的に使用しながら、ベースバンド信号の処理を実行できる。この結果、ベースバンド信号の処理効率を向上でき、システムＳＹＳの性能を向上できる。
【００７２】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルと、
前記ベクトルレジスタファイル内に割り当てられ、命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットと、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報が格納される制御レジスタと、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスするデコーダと、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行する実行部と
を備えていることを特徴とするベクトル処理装置。
（付記２）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、前記物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域をそれぞれ有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号と前記の最大数とベクトル長との積を加えた値により指定されること
を特徴とする付記１記載のベクトル処理装置。
（付記３）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各データレジスタは、ベクトル長の最大値と同じ数を有し、前記物理レジスタ番号が連続する前記データ格納領域を含み、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記各レジスタセットは、前記データレジスタのそれぞれの一部を含む集合により形成され、前記物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、
前記各データレジスタにおける前記集合に含まれる前記一部は、相対的に同じ位置にあり、ベクトル長と同じ数を有し物理レジスタ番号が連続する前記データ格納領域を有し、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタにおいて、ベクトル演算を実行するベクトルデータが格納されている先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長の最大値との積に、前記レジスタセット番号とベクトル長との積を加えた値により指定されること
を特徴とする付記１記載のベクトル処理装置。
（付記４）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域を有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号を加えた値により指定されること
を特徴とする付記１記載のベクトル処理装置。
（付記５）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域を有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号とベクトル長との積を加えた値により指定されること
を特徴とする付記１記載のベクトル処理装置。
（付記６）
命令セットに、前記各レジスタセット内での前記データレジスタの位置を示す第１オペランドと、転送元の前記レジスタセットを指定する第２オペランドと、転送先の前記レジスタセットを指定する第３オペランドとを有するレジスタ転送命令を含み、
前記演算部は、前記レジスタ転送命令に応答して、前記第２オペランドにより指定されるレジスタセットにおける前記第１オペランドにより指定される前記データレジスタに格納されているベクトルデータを、前記第３オペランドにより指定されるレジスタセットにおける前記第１オペランドにより指定される前記データレジスタに転送すること
を特徴とする付記１ないし付記５のいずれか１項に記載のベクトル処理装置。
（付記７）
命令セットに、転送元の前記レジスタセット内での前記データレジスタの位置を示す第１オペランドと、転送先の前記レジスタセット内での前記データレジスタの位置を示す第２オペランドと、転送元の前記レジスタセットを指定する第３オペランドと、転送先の前記レジスタセットを指定する第４オペランドとを有するレジスタ転送命令を含み、
前記演算部は、前記レジスタ転送命令に応答して、前記第３オペランドにより指定されるレジスタセットにおける前記第１オペランドにより指定される前記に格納されているベクトルデータを、前記第４オペランドにより指定される前記レジスタセットにおける前記第２オペランドにより指定される前記データレジスタに転送すること
を特徴とする付記１ないし付記５のいずれか１項に記載のベクトル処理装置。
（付記８）
付記１ないし付記７のいずれか１項に記載のベクトル処理装置と、
前記ベクトル処理装置のベクトル演算に使用されるベクトルデータを生成するデータ生成部と、
前記ベクトル処理装置により演算されたデータを用いてデータ処理を実行するデータ処理部と
を備えていることを特徴とするシステム。
（付記９）
ベクトルデータを各々格納するための複数のデータレジスタが割り当てられるベクトルレジスタファイルを有するベクトル処理装置の動作方法であって、
命令に含まれるオペランドにより指定可能な最大数の前記データレジスタを各々有し、ベクトル長に応じてサイズが変化する複数のレジスタセットを、前記ベクトルレジスタファイル内に割り当て、
前記レジスタセットのうち、ベクトル演算に使用するベクトルデータを保持するレジスタセットである有効レジスタセットを示す情報を制御レジスタに格納し、
ベクトル長に応じて変化する前記有効レジスタセットの開始位置を基準にして、前記オペランドにより指定される前記データレジスタにアクセスし、
アクセスされる前記データレジスタからのベクトルデータを用いてベクトル演算を実行すること
を特徴とするベクトル処理装置の動作方法。
（付記１０）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、前記物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域をそれぞれ有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号と前記データレジスタの最大数とベクトル長との積を加えた値により指定されること
を特徴とする付記９記載のベクトル処理装置の動作方法。
（付記１１）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各データレジスタは、ベクトル長の最大値と同じ数を有し、前記物理レジスタ番号が連続する前記データ格納領域を含み、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記各レジスタセットは、前記データレジスタのそれぞれの一部を含む集合により形成され、前記物理レジスタ番号の大きさの順にレジスタセット番号が付けられ、
前記各データレジスタにおける前記集合に含まれる前記一部は、相対的に同じ位置にあり、ベクトル長と同じ数を有し物理レジスタ番号が連続する前記データ格納領域を有し、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタにおいて、ベクトル演算を実行するベクトルデータが格納されている先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長の最大値との積に、前記レジスタセット番号とベクトル長との積を加えた値により指定されること
を特徴とする付記９記載のベクトル処理装置の動作方法。
（付記１２）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域を有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号を加えた値により指定されること
を特徴とする付記９記載のベクトル処理装置の動作方法。
（付記１３）
前記ベクトルレジスタファイルにおいて、ベクトルデータの各々が格納されるデータ格納領域は、物理レジスタ番号が順に割り当てられ、
前記各レジスタセットは、ベクトル長と前記データレジスタの最大数との積と同じ数を有し前記物理レジスタ番号が連続する前記データ格納領域を含み、
前記各レジスタセット内の前記データレジスタは、ベクトル長と同じ数の前記データ格納領域を有し、前記物理レジスタ番号の大きさの順に論理レジスタ番号が付けられ、
前記制御レジスタは、前記レジスタセット番号が前記情報として格納され、
前記オペランドは、前記論理レジスタ番号を示し、
前記オペランドにより指定される前記データレジスタの先頭のデータ格納領域の物理レジスタ番号は、前記論理レジスタ番号とベクトル長との積に、前記レジスタセット番号とベクトル長との積を加えた値により指定されること
を特徴とする付記９記載のベクトル処理装置の動作方法。
【００７３】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【００７４】
１０‥命令メモリ；１２‥命令バッファ；１４‥デコーダ；１６‥レジスタファイル群；１８‥実行パイプライン；２０‥データメモリ；Ａ／Ｄ‥アナログデジタル変換器；ＡＮＴ‥アンテナ；Ｉ／Ｏ‥入出力部；ＰＲＯＣ‥プロセッサ；ＲＥＧＬ‥論理レジスタ；ＲＥＧＳ‥レジスタセットＲＥＧＳＥＴ‥レジスタセット番号；ＲＦ‥高周波回路；ＳＹＳ‥システム；ＶＣＲ‥制御レジスタファイル；ＶＬ‥ベクトル長；ＶＰ‥ベクトル処理装置；ＶＲ‥ベクトルレジスタファイル
【図１】
0005673322.tif 000002
【図２】
0005673322.tif 000003
【図３】
0005673322.tif 000004
【図４】
0005673322.tif 000005
【図５】
0005673322.tif 000006
【図６】
0005673322.tif 000007
【図７】
0005673322.tif 000008
【図８】
0005673322.tif 000009
【図９】
0005673322.tif 000010
【図１０】
0005673322.tif 000011
【図１１】
0005673322.tif 000012
【図１２】
0005673322.tif 000013
【図１３】
0005673322.tif 000014
【図１４】
0005673322.tif 000015
【図１５】
0005673322.tif 000016
【図１６】
0005673322.tif 000017