(57)【要約】【課題】物理レジスタのリネーミングの際に発生する情報要素のコピー量を抑え得る演算装置等の提供。【解決手段】演算装置は、第一論理レジスタに格納される、論理レジスタに格納される情報要素からなる第一要素群、のうちの所定のベクトル長の部分と、第二論理レジスタに格納される前記情報要素からなる第二要素群のうちの前記ベクトル長の部分とのベクトル演算に係る演算結果を表す前記情報要素を含む第三要素群を第三論理レジスタに格納させ、前記第一要素群、前記第二要素群及び前記第三要素群を格納する物理レジスタの各々が備える、前記情報要素を同時に格納し得る領域の数が、二個以下である。【選択図】      図１１
2019220065.tif 000002
【特許請求の範囲】
【請求項１】
第一論理レジスタに格納される、論理レジスタに格納される情報要素からなる第一要素群、のうちの所定のベクトル長の前記情報要素と、第二論理レジスタに格納される前記情報要素からなる第二要素群のうちの前記ベクトル長の前記情報要素とのベクトル演算の演算結果である前記情報要素を含む第三要素群を第三論理レジスタに格納させる演算装置であって、
前記第一要素群のうちの前記ベクトル長の前記情報要素の各々と、前記第二要素群のうちの前記ベクトル長の前記情報要素の各々とを、物理レジスタ群に含まれる、第一の制御情報に基づいて選択した物理レジスタの各々に入力する第一選択部と、
前記第一選択部から入力された前記情報要素の各々を保持する前記物理レジスタを含む前記物理レジスタ群と、
前記第一選択部から入力された前記情報要素を保持した前記物理レジスタの各々から入力された前記情報要素の各々を演算器群に含まれる演算器の入力部の各々に入力する第二選択部と、
前記第二選択部から入力された前記情報要素に係る前記ベクトル演算により前記第三要素群を出力する前記演算器群と、
を備え、
前記第一の制御情報に基づいて選択された前記物理レジスタが、ベクトル演算前の当該ベクトル演算の対象の前記情報要素の各々を格納する前記物理レジスタと、当該情報要素に係る当該ベクトル演算の演算結果に係る前記情報要素を格納する前記物理レジスタとで異なる場合があり、
前記物理レジスタの各々が備える、前記情報要素を同時に格納し得る領域の数が、二個以下である、
演算装置。
【請求項２】
前記領域の数が一個である、請求項１に記載された演算装置。
【請求項３】
前記論理レジスタと、前記第二論理レジスタと、前記第三論理レジスタとの各々に格納され得る前記情報要素の数が、互いに等しい、請求項１又は請求項２に記載された演算装置。
【請求項４】
備える前記物理レジスタの数より多い数の前記情報要素の前記物理レジスタへの入力に係る入力ポートからなる入力ポート群と、前記入力ポート群の所定のポートを、所定の前記物理レジスタの入力端子に接続する、第一接続部をさらに備える、請求項１乃至請求項３のうちのいずれか一に記載された演算装置。
【請求項５】
前記物理レジスタからの出力を、前記演算器群の各演算器又はコピー用の配線の、入力用のポートに接続する、第二接続部をさらに備える、請求項１乃至請求項４のうちのいずれか一に記載された演算装置。
【請求項６】
前記論理レジスタの各々に格納される前記情報要素を格納する前記物理レジスタを表す情報である物理レジスタ管理情報を保持し、当該物理レジスタ管理情報により、前記情報要素の前記物理レジスタへの格納を行う、請求項１乃至請求項５のうちのいずれか一に記載された演算装置。
【請求項７】
請求項５に記載された演算装置と、前記各演算器及び前記配線からの出力を格納し得る記憶装置とを備える、演算装置。
【請求項８】
前記第一論理レジスタに格納される前記情報要素のうち前記ベクトル長の前記情報要素でない前記情報要素、及び、前記第二論理レジスタに格納される前記情報要素のうち前記ベクトル長の前記情報要素でない前記情報要素、のうちの少なくともいずれかが、前記第三論理レジスタに格納される、請求項１乃至請求項７のうちのいずれか一に記載された、演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル演算を行う装置に関する。
【背景技術】
【０００２】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のコアにおける処理の高速化を図るためには、命令発行レートを上げることが有効である。そして、命令発行レートを上げるための方法としてレジスタリネーミングが広く用いられている（特許文献２乃至４参照）。
【０００３】
レジスタリネーミングを行う場合、コアを動作させるプログラムにより前提とされている個数よりも多くの個数の物理レジスタをコアが備える（特許文献１参照）。そして、同一の物理レジスタに対する複数の命令がプログラムによりなされた場合に、コアは、それらの命令の実行時に、プログラムで規定されている物理レジスタだけでなく、それとは別の物理レジスタを、レジスタ名を書き換えることにより用いる。これにより、ＷＡＲ（Ｗｒｉｔｅ−Ａｆｔｅｒ−Ｒｅａｄ）依存関係や、ＷＡＷ（Ｗｒｉｔｅ−Ａｆｔｅｒ−Ｗｒｉｔｅ）依存関係を、解消又は緩和させることができる。ここで、ＷＡＲ依存関係は、先行命令に係るリードが完了するまで後続命令に係るライトを開始することができないことを表す。また、ＷＡＷ依存関係は、先行命令に係るライトが完了するまで後続命令に係るライトを開始することができないことを表す。
【０００４】
一般的に行われているレジスタリネーミングでは、演算装置は、ある演算結果を書き込む物理レジスタに別名を与える。例えば、命令Ａが論理リソースＸに対してデータを読み出している途中で、同一の論理リソースＸに対する書き込みを行う後続命令Ｂに関して、論理リソースＸに対して物理リソースＸ１、Ｘ２をそれぞれ命令Ａ、命令Ｂに割り当てたとする。その場合、命令Ａで書かれたデータが命令Ｂの実行により消されてしまうことを防ぐことが可能となる。これは命令Ｂの発行制限の緩和を意味する。そのため、上記場合は、命令発行レートの向上が見込める。
【０００５】
しかしながら、ベクトルプロセッサには、一般的に、要素ごとに計算の有無を切り替えるマスク機能が設けられている。そのため、レジスタリネーミングをベクトルプロセッサに適用しようとする場合には、単純にはレジスタリネーミングを実現できない、という課題がある。
【０００６】
この課題を解決し得る方法として、特許文献５は、マスク付き演算を考慮したベクトルレジスタのリネーミング方法を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６１−２４１８７０号公報
【特許文献２】特開２００７−３３４８１９号公報
【特許文献３】特開２００６−２６８１６８号公報
【特許文献４】特開２０１０−２０５０４９号公報
【特許文献５】特許第６０２０４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献５が開示する方法は、短ベクトル命令が多く処理されるプログラムによりコアが処理を実行する場合は、レジスタリネーミングの際に、ある物理レジスタから他の物理レジスタへの情報要素のコピーを多く必要とする。当該動作例については発明を実施するための形態の項において後述する。
【０００９】
コピーを行うためには、記憶装置等から情報要素を読み出す必要がある。そのため、コピーを行うためには、ベクトルレジスタの入力ポートが使用される。その間、演算器へのデータ供給のために、ベクトルレジスタの入力ポートを使用することができず、演算器へデータを供給することができない。その結果、演算器を有効に使うことができず、演算器の稼働率が低下するという問題が生じる。
【００１０】
本発明は、物理レジスタのリネーミングの際に発生する情報要素のコピー量を抑え得る演算装置等の提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明の演算装置は、第一論理レジスタに格納される、論理レジスタに格納される情報要素からなる第一要素群、のうちの所定のベクトル長の前記情報要素と、第二論理レジスタに格納される前記情報要素からなる第二要素群のうちの前記ベクトル長の前記情報要素とのベクトル演算の演算結果である前記情報要素を含む第三要素群を第三論理レジスタに格納させる演算装置であって、前記第一要素群のうちの前記ベクトル長の前記情報要素の各々と、前記第二要素群のうちの前記ベクトル長の前記情報要素の各々とを、物理レジスタ群に含まれる、第一の制御情報に基づいて選択した物理レジスタの各々に入力する第一選択部と、前記第一選択部から入力された前記情報要素の各々を保持する前記物理レジスタを含む前記物理レジスタ群と、前記第一選択部から入力された前記情報要素を保持した前記物理レジスタの各々から入力された前記情報要素の各々を演算器群に含まれる演算器の入力部の各々に入力する第二選択部と、前記第二選択部から入力された前記情報要素に係る前記ベクトル演算により前記第三要素群を出力する前記演算器群と、を備え、前記第一の制御情報に基づいて選択された前記物理レジスタが、ベクトル演算前の当該ベクトル演算の対象の前記情報要素の各々を格納する前記物理レジスタと、当該情報要素に係る当該ベクトル演算の演算結果に係る前記情報要素を格納する物理レジスタとで異なる場合があり、前記物理レジスタの各々が備える、前記情報要素を同時に格納し得る領域の数が、二個以下である。
【発明の効果】
【００１２】
本発明の演算装置等は、物理レジスタのリネーミングの際に発生する情報要素のコピー量を抑え得る。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のベクトル演算システムの構成例を表す概念図である。
【図２】演算部及び記憶装置の構成例を表す概念図である。
【図３】論理レジスタ管理情報の例を表す概念図である。
【図４】物理レジスタ管理情報の第一の例を表す概念図である。
【図５】物理レジスタ管理情報の第二の例を表す概念図である。
【図６】参照数情報の例を表す概念図である。
【図７】文献方法による第一の動作例の説明図である。
【図８】図７を参照して説明する動作に対応する物理レジスタ管理情報の関連部分を表す図である。
【図９】図７を参照して説明する動作に対応する本実施形態の動作例（その１）の説明図である。
【図１０】図９を参照して説明する動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図１１】図７を参照して説明する動作に対応する本実施形態の動作例（その２）の説明図である。
【図１２】図１１を参照して説明する動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図１３】文献方式による第二の動作例の説明図である。
【図１４】図１３を参照して説明する動作に対応する物理レジスタ管理情報の関連部分を表す図である。
【図１５】図１３を参照して説明する動作に相当する本実施形態の動作例（その１）の説明図である。
【図１６】図１５を参照して説明するす動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図１７】図１３を参照して説明する動作に相当する本実施形態の動作例（その２）の説明図である。
【図１８】図１７を参照して説明する動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図１９】本実施形態におけるベクトル長が６の演算に係る動作例（その１）の説明図である。
【図２０】図１９を参照して説明する動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図２１】本実施形態におけるベクトル長が６の演算に係る動作例（その２）の説明図である。
【図２２】図２１を参照して説明する動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図２３】文献方法における論理レジスタ管理情報の関連部分の例を表す図である。
【図２４】図２３に表す論理レジスタに係る、文献方法における物理レジスタ管理情報の関連部分の例を表す図である。
【図２５】図２３に表す論理レジスタ管理情報の部分に対応する、本実施形態の物理レジスタ管理情報の関連部分を表す図である。
【図２６】文献方法において、所定のベクトル命令において参照されていない物理レジスタに演算後の要素を格納する場合の動作例の説明図である。
【図２７】図２６を参照して説明する動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【図２８】実施形態の演算装置の最小限の構成を表すブロック図である。
【発明を実施するための形態】
【００１４】
本実施形態の演算装置は、各物理レジスタが、二つ以下の、情報要素を同時に格納するための領域を備える。
【００１５】
各物理レジスタが前記領域を二つ備える場合には、前記演算装置が情報要素の維持のためのコピーを実行するのは、後述のように、次の場合である。その場合は、すなわち、物理レジスタが備える二つの領域のうちの一方が演算関係する情報要素を格納し、他方が演算に関係しない要素を格納する場合である。そのため、一回の演算で情報要素の維持のために必要なコピーの数は、一回以下である。また、各物理レジスタが前記領域を一つのみ備える場合は情報要素維持のための、コピーを行う必要がない。
【００１６】
特許文献５に記載された方法では、後述のように、一回の演算で二回以上のコピーが行われ得る。
【００１７】
従い、本実施形態の演算装置は、特許文献５に開示された方法と比較して、一回の演算で情報要素の維持のために必要なコピーの回数を減らすことができる。
［構成と動作］
図１は、本実施形態のベクトル演算システムの例である演算システム５００の構成を表す概念図である。図１に実線で表す信号線は、データ信号に係る信号線である。また、図１に破線で表す信号線は、制御信号に係る信号線である。
【００１８】
図１に表す演算システム５００の構成の基本部分は、特許文献５に記載された構成と同じものである。従い、図１の説明においては概略部分のみを説明する。なお、図１に表す演算システム５００における特許文献５に記載された内容と異なる部分の説明は、図２以降の各図についての説明において行う。
【００１９】
演算システム５００は、演算装置３１０と記憶装置３２０とを備える。
【００２０】
記憶装置３２０は、例えば、演算システム５００のメインメモリである。記憶装置３２０は、演算装置３１０が行うベクトル演算の演算対象の情報要素等を保持する。ここで、情報要素は、論理レジスタに格納される、ベクトル長が１の情報をいうこととする。情報要素には、ベクトル演算に用いられる部分である演算部分と、ベクトル演算には用いられない非演算部分とがある。非演算部には、例えば、ある演算の前に実行された演算の演算結果に係る情報要素が格納される。
【００２１】
以下において、情報要素は、単に「要素」と記述されるものとする。記憶装置３２０は、また、演算装置３１０が行ったベクトル演算に係る演算結果に係る前記要素を格納する。
【００２２】
演算装置３１０は、ベクトルロード、ベクトルストア、ベクトル演算等のベクトル命令を処理するプロセッサ等の装置である。
【００２３】
演算装置３１０は、外部からのベクトルロード命令の送付を受け、前述の要素を、記憶装置３２０から読み出す。
【００２４】
そして、演算装置３１０は、外部からのベクトル演算命令の送付を受け、記憶装置３２０から読み込んだ各要素を用いてベクトル演算を行う。演算装置３１０は、また、外部からのベクトルストア命令の送付を受け、演算結果を表す前記要素を、記憶装置３２０に格納させる。
【００２５】
演算装置３１０は、制御部１００と、演算部２００とを備える。
【００２６】
制御部１００は、演算部２００及び記憶装置３２０に、ベクトル演算に必要な処理を実行させる。
【００２７】
制御部１００は、命令供給部１１０と、命令発行制御部１１１と、リネーミング制御部１１２と、実行制御部１１３と、記憶部１２１とを備える。
【００２８】
記憶部１２１は、図３を参照して後述する論理レジスタ管理情報４０１と、図４及び図５を参照して後述する物理レジスタ管理情報４００と、図６を参照して後述する参照数情報とを保持する。記憶部１２１は、その他、制御部１００の各構成が処理を行うのに必要な情報やプログラムを保持する。記憶部１２１は、また、制御部１００の各構成から指示された情報を格納する。記憶部１２１は、また、前記各構成から指示に従い、指示された格納情報を送付する。
【００２９】
命令供給部１１０は、外部からの入力情報を受け、前述のベクトル命令を生成する。命令供給部１１０は、生成したベクトル命令を命令発行制御部１１１へ送付する。
【００３０】
命令供給部１１０は、また、物理レジスタのリネーミングを指示するレジスタリネーミング命令を生成し、リネーミング制御部１１２へ送付する。
【００３１】
命令発行制御部１１１は、前述のベクトル命令が命令供給部１１０から送付されると、ベクトル命令ごとに割り当てられた各論理レジスタについて、それらの論理レジスタが割り当てられる物理レジスタを特定する。
【００３２】
命令発行制御部１１１は、当該特定をする際に、命令供給部１１０から送付された前記ベクトル命令に含まれる要素群から、当該要素群が割り当てられた論理レジスタ群を特定する。命令発行制御部１１１は、当該特定を、前記要素群と図３を参照して後述する論理レジスタ管理情報４０１とから行う。
【００３３】
命令発行制御部１１１は、次に、特定した論理レジスタ群に割り当てるべき物理レジスタ群を特定する。命令発行制御部１１１は、当該特定を、記憶部１２１が保持する、図４及び図５を参照して後述する物理レジスタ管理情報４００により行う。
【００３４】
そして、命令発行制御部１１１は、特定した各物理レジスタにおいて前記要素の格納準備が整ったかを判定する。命令発行制御部１１１は、当該判定を、例えば、物理レジスタ群２１０から送付される、前記要素の格納準備が整ったことを表す通知信号の送付の有無を確認することにより行う。そして、命令発行制御部１１１は、命令ごとに割り当てられた各物理レジスタにおける前記要素の格納準備が整った旨を判定すると、実行制御部１１３に通知情報を送付する。
【００３５】
実行制御部１１３は、命令発行制御部１１１から前記通知情報の送付を受けると、命令供給部１１０から送付されたベクトル命令に従い、制御信号を生成する。実行制御部１１３は、生成した制御信号を、演算部２００の各構成要素及び記憶装置３２０へ送付する。
【００３６】
実行制御部１１３が生成する前記制御信号には、ライト制御信号と、リード制御信号と、入力制御信号と、出力制御信号と、が含まれる。ライト信号は、ライト選択部２１３に送付される制御信号である。また、リード信号は、リード選択部２１１に送付される制御信号である。また、入力制御信号及び出力制御信号は、記憶装置３２０に送付される制御信号である。
【００３７】
リネーミング制御部１１２は、実行制御部１１３がライト選択部２１３へ送付するライト制御信号を生成する際に、当該ライト制御信号により指定される、ライト選択部２１３に入力される前記要素の送付先、を表す情報を、実行制御部１１３へ供給する。当該送付先は、物理レジスタ群２１０に含まれるいずれかの物理レジスタである。当該供給の際に、リネーミング制御部１１２は、記憶部１２１が保持する前述及び後述の、物理レジスタ管理情報を参照する。
【００３８】
一方、記憶装置３２０へ送付される前記出力制御信号には、記憶装置３２０に演算部２００へ送付させる前記要素を表す情報が含まれる。記憶装置３２０へ送付される当該出力制御信号には、また、記憶装置３２０に格納させる、演算部２００による演算結果に係る前記要素を表す情報が含まれる。
【００３９】
ライト選択部２１３へは、記憶装置３２０又は演算器群２１２から、演算部２００が行うベクトル演算に係る要素の各々が入力される。記憶装置３２０から入力される前記要素は、例えば、演算装置３１０による演算処理前のものである。演算器群２１２から入力される前記要素は、演算器群２１２に含まれるある演算器による演算結果に関するものである。
【００４０】
ライト選択部２１３へ送付される前記ライト制御信号は、入力された前記要素の各々の送付先を表すものである。当該送付先は、物理レジスタ群２１０の各物理レジスタである。ライト選択部２１３は、入力されたライト制御信号に従い、入力される各要素の送付先の物理レジスタを切り替える。これにより、ライト選択部２１３に入力された前記要素は、ライト選択部２１３が選択した送付先の物理レジスタに送付される。
【００４１】
物理レジスタ群２１０は、図示しない複数の物理レジスタを備える。各物理レジスタは、ライト選択部２１３から前記要素が送付されると、その要素を保持する。そして、各物理レジスタは、所定のタイミングで、保持している前記要素を、リード選択部２１１に送付する。
【００４２】
リード選択部２１１は、実行制御部１１３から送付されたリード制御信号に従い、各物理レジスタから送付された前記要素の送付先を選択する。当該送付先は、演算器群２１２が備える図示しない演算器の入力端子及びコピー用の入力端子である。これらの選択により、選択された物理レジスタが保持する各要素は、リード選択部２１１を介して、演算器群２１２に含まれる演算器又はコピー用の配線に入力される。
【００４３】
演算器群２１２の各演算器は、入力された前記要素の演算を行う。そして、各演算器は、演算結果を表す前記要素をライト選択部２１３及び記憶装置３２０へ出力する。
【００４４】
記憶装置３２０は、前記要素からなる要素群を保持する。記憶装置３２０は、また、前記出力命令により指定された前記要素を、ライト選択部２１３へ出力する。記憶装置３２０は、また、演算装置３１０から入力され、格納を指示された情報を、格納する。
【００４５】
以下の説明においては、特段の説明がない限り、説明の容易さを考慮して、論理レジスタのベクトル長が８の場合についての例を説明する。すなわち、一つの論理レジスタには、８個の前記要素が格納されるものとする。実際の装置においては、通常は、論理レジスタのベクトル長は８より大きな値である。
【００４６】
図２は、図１に表す演算部２００及び記憶装置３２０の構成例を表す概念図である。なお、図１に破線で表す制御信号に係る信号線は、図２では図示を省略する。
【００４７】
図２は、８個以下の要素に係るベクトル演算を実行し得る構成例を表す。すなわち、図２に表す構成例は、ベクトル長が８の論理レジスタのすべてが前述の演算部分であってもベクトル演算が可能であることを想定したものである。
【００４８】
演算部２００は、図１の説明において前述したようにライト選択部２１３と、物理レジスタ群２１０と、リード選択部２１１と、演算器群２１２とを備える。
【００４９】
ライト選択部２１３は、ポート群２９１とポート群２９２とを備える。
【００５０】
ポート群２９１に属する左から１乃至５番目の各ポートは、演算器群２１２に係るポート群２９５に属する各ポートの各々に接続されている。これにより、演算器群２１２に属する各演算器がポート群２９５に属するいずれかのポートに演算結果を表す要素を出力した場合は、当該要素は、ポート群２９１に属する対応するポートに入力される。
【００５１】
ポート群２９１に属する左から６乃至１３番目の各ポートは、記憶装置３２０のポート群２９６に属する各ポートに接続されている。これにより、記憶装置３２０が、前記出力制御信号により、ポート群２９１に属するいずれかのポートに前記要素を出力した場合には、当該要素は、ポート群２９１に属する対応するポートに入力される。
【００５２】
ライト選択部２１３は、図１に表す実行制御部１１３から送付される前記ライト制御信号に従い、指定されたタイミングに、ポート群２９１の各ポートから選択した所定のポートを、ポート群２９２から選択した所定のポートに接続する。ライト選択部２１３は、当該接続を、一つのタイミングで複数行い得る。
【００５３】
ポート群２９２の各ポートは、物理レジスタ群２１０に属する各物理レジスタに接続されている。図２の物理レジスタ群２１０を表す破線内の長方形の各々は物理レジスタを表す。ポート群２９２に属する各ポートから出力された要素は、物理レジスタ群２１０に属する各物理レジスタに格納される。
【００５４】
物理レジスタ群２１０の各物理レジスタは、同時に格納できる前記要素の数が２以下のものである。当該物理レジスタは、格納する要素が２の場合は物理ベクトルレジスタである。当該物理レジスタが格納する要素を２以下にすることの優位性については後述する。
【００５５】
各物理レジスタは、格納した要素を、図１に表す実行制御部１１３が指定するタイミングで、ポート群２９３に属する、対応するポートへ出力する。
【００５６】
リード選択部２１１は、実行制御部１１３から送付された前記リード制御信号に従い、ポート群２９３に属する所定のポートを、ポート群２９４に属する所定のポートに接続する。リード選択部２１１は、当該接続を、一つのタイミングに複数行い得る。
【００５７】
演算器群２１２に属する各演算器は、当該演算器に接続された、ポート群２９４に属する二つのポートから同じタイミングで入力された二つの前記要素を用いて所定の演算を行う。当該演算の種類は任意である。当該演算器は、当該演算に係る演算結果を表す前記要素を、ポート群２９５に属する、その演算器に接続されたポートに出力する。
【００５８】
なお、ポート群２９４に属する最も右側のポートは、ポート群２９５に属する最も右側のポートに、配線により接続されている。これにより、ポート群２９４に属する最も右側のポートに入力された要素は、ポート群２９５に属する最も右側のポートに出力される。前記配線は、ある物理レジスタから出力された要素をある物理レジスタにコピーするためのものである。
【００５９】
ポート群２９５に属する各ポートは、前述のように、ポート群２９１に属する左から１乃至５番目の各ポートに接続されている。ポート群２９５に属する各ポートは、また、記憶装置３２０のポート群２９７に属する各ポートに接続されている。
【００６０】
記憶装置３２０は、ポート群２９７に入力された要素のうち、実行制御部１１３が送付された前記入力信号により指定されたものを、格納する。記憶装置３２０は、ポート群２９７に入力された要素のうち、実行制御部１１３から送付された前記入力信号により指定されないものは格納しない。
【００６１】
図３は、前述の論理レジスタ管理情報の例である論理レジスタ管理情報４０１を表す概念図である。図３は、論理レジスタ管理情報４０１を表形式で表す。
【００６２】
図３に表す論理レジスタ管理情報は、特許文献５にも記述された、周知のものである。
【００６３】
図３に表す論理レジスタＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）は、論理レジスタを特定するための情報である。また、第一要素ＩＤ乃至第八要素ＩＤの各々は、論理レジスタの当該位置に格納された要素を特定するための情報である。
【００６４】
なお、論理レジスタは、仮想のもので実在しないので、前記要素は実際に格納されることはない。しかしながら、以下においては、記述の簡潔性を考慮し、論理レジスタにおいて要素が格納されることが想定されることを、要素が「格納される」と表記するものとする。なお、物理レジスタにおいては、前記要素は、実際に格納され得る。
【００６５】
論理レジスタ管理情報４０１においては、各論理レジスタについて、格納される前記要素が、対応付けられている。
【００６６】
図４は、前述の物理レジスタ管理情報の第一の例を表す概念図である。図４は、物理レジスタ管理情報を表形式で表す。
【００６７】
図４に表す物理レジスタ管理情報は本実施形態に固有のものである。ただし、物理レジスタ管理情報を保持して用いること自体は、特許文献５にも記載があり、周知である。
【００６８】
図４に表す第一物理レジスタＩＤ乃至第四物理レジスタＩＤの各々は、論理レジスタの当該位置に格納された要素が実際に格納される物理レジスタを特定するための情報である。
【００６９】
図４において一つの論理レジスタに四つの物理レジスタが対応付けられているのは、ここでは、一つの物理レジスタに、同時に、二つの要素が格納されることを前提としているためである。
【００７０】
物理レジスタ管理情報４００においては、各論理レジスタに格納された要素を格納する物理レジスタが特定されている。
【００７１】
図４には、論理レジスタＩＤに含まれる数字が増えるにつれ、物理レジスタＩＤに含まれる数字が単純に増加する例を表す。
【００７２】
なお、一つの物理レジスタに、同時に一つの前記要素が格納される場合は、後述のように、各論理レジスタは８個の物理レジスタに対応付けられる。
【００７３】
図５は、前述の物理レジスタ管理情報の第二の例を表す概念図である。
【００７４】
図５に表す物理レジスタ管理情報４００は、論理レジスタＩＤに対応する物理レジスタＩＤに含まれる数字が順不同になっている点が、図４に表す物理レジスタ管理情報４００と異なる。
【００７５】
図６は、前述の参照数情報の例である参照数情報４０２を表す概念図である。
【００７６】
図６に表す参照数情報は、例えば特許文献５にも記載のある、周知のものである。
【００７７】
図６に表す参照数は、演算される対象要素の物理レジスタへの格納に係るベクトル命令において、各物理レジスタＩＤが参照されている数である。
【００７８】
参照数がゼロであることは、一連の演算に、係る前記対象要素の格納のためにその物理レジスタが使われないことを表す。そのため、リネーミング制御部１１２は、論理レジスタＩＤに物理レジスタＩＤを割り当てる際に、参照数情報４０２における参照数がゼロの物理レジスタＩＤを割り当てることが可能である。
【００７９】
次に、図１に表すリネーミング制御部１１２が行う動作例を、リネーミング制御部１１２が特許文献５に記載された方法が行う場合の動作例と比較しつつ、説明する。なお、以下の説明においては、特許文献５に記載された方法は、「文献方法」と記述されることとする。
【００８０】
文献方法においては、一つの論理レジスタに格納された要素は、二個以下の物理レジスタに格納されるとされている。そして、各物理レジスタに格納される前記要素の数は、論理レジスタに格納された前記要素の数と同じである。ここでは、論理レジスタに格納される前記要素の数は、前述のように、８としている。従い、各物理レジスタに格納される前記要素の数は８である。
【００８１】
文献方法においては、また、図１の説明において述べた物理レジスタ管理情報には、各論理レジスタに格納された要素を格納する物理レジスタの物理レジスタＩＤが格納される。当該物理レジスタ管理情報には、また、一番目の物理レジスタＩＤの物理レジスタにおいて要素が格納されている数（ベクトル長）が格納される。
【００８２】
図７は、文献方法による第一の動作例を説明するための図である。
【００８３】
論理レジスタＬ１は、ベクトル演算を行う前の各要素が格納された論理レジスタであるとする。ここで、論理レジスタＬ１は、論理レジスタＩＤがＬ１の論理レジスタをいうこととする。同様にして、以下、論理レジスタの語に続く記号は、その論理レジスタの論理レジスタＩＤを表すものとする。
【００８４】
論理レジスタＬ１に格納された要素は、物理レジスタＰＡ１及びＰＡ２に分けて格納されている。ここで、物理レジスタＰＡ１及びＰＡ２は、物理レジスタＩＤがＰＡ１の物理レジスタ、及び、物理レジスタＩＤがＰＡ２の物理レジスタである。同様にして、以下、物理レジスタの語に続く記号は、その物理レジスタの物理レジスタＩＤを表すものとする。
【００８５】
図７における、領域ＰＡ１１乃至ＰＡ１８、ＰＡ２１乃至ＰＡ２８及びＰＡ３１乃至ＰＡ３８の各々は、要素の各々を格納し得る、物理レジスタにおける格納領域である。
【００８６】
物理レジスタＰＡ１においては、要素は、領域ＰＡ１１乃至ＰＡ１５に格納されている。そして、領域ＰＡ１６乃至ＰＡ１８は、要素の格納に使用されていない。
【００８７】
領域ＰＡ１１乃至ＰＡ１３には、要素のうち、ベクトル演算に使用される部分である、演算部分が格納されている。
【００８８】
領域ＰＡ１４及びＰＡ１５には、要素のうち、ベクトル演算に使用されない部分である、非演算部分が格納されている。領域ＰＡ１４及びＰＡ１５に格納された要素は、演算後にも維持されるべき要素であるとする。
【００８９】
物理レジスタＰＡ２においては、領域ＰＡ２１乃至ＰＡ２５は要素の格納に使用されていない。そして、領域ＰＡ２６乃至ＰＡ２８に、非演算部分が格納されている。領域ＰＡ２６乃至ＰＡ２８に格納された要素は、演算後にも維持されるべき要素であるとする。
【００９０】
ここで、図１に表す演算装置３１０は、論理レジスタＬ１に格納された各要素に対して、図示しない他の論理レジスタに格納された要素により、ベクトル長が３の演算を実行したとする。そして、演算装置３１０は、当該演算の結果を、論理レジスタＬ３に格納する処理を行ったとする。
【００９１】
その場合、演算装置３１０は、物理レジスタＰＡ１の領域ＰＡ１１乃至ＰＡ１３の各々に格納された要素は、前述の他の論理レジスタに格納された演算部分の三つの異なる要素の各々との間で所定の演算を行う。
【００９２】
そして、演算装置３１０は、当該演算に係る演算結果を、物理レジスタＰＡ３の領域ＰＡ３１乃至ＰＡ３３の各々に格納する。
【００９３】
そして、演算装置３１０は、物理レジスタＰＡ１の領域ＰＡ１４及びＰＡ１５に格納された要素を、物理レジスタＰＡ３の領域ＰＡ３４及びＰＡ３５にコピーする。演算装置３１０は、また、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納された要素を、物理レジスタＰＡ３の領域ＰＡ３６乃至ＰＡ３８にコピーする。
【００９４】
図７に表す動作においては、５つの異なる領域に格納された要素のコピーが行われる。
【００９５】
図８は、図７に表す動作に対応する前述の物理レジスタ管理情報の関連部分を表す図である。なお、図７の説明において述べた他の論理レジスタについては、図示を省略してある。
【００９６】
演算装置３１０は、演算前の要素が格納された論理レジスタに係る論理レジスタＬ１に、第一の物理レジスタとして物理レジスタＰＡ１が、第二の物理レジスタとして物理レジスタＰＡ２が、各々関連付けている。演算装置３１０は、論理レジスタＬ１に、さらに、ベクトル長として、第一の物理レジスタである物理レジスタＰＡ１において要素が格納されている領域の数の５（図７参照）を関連付けている。
【００９７】
また、図８においては、演算装置３１０は、演算後の要素が格納される論理レジスタＬ２に、第一の物理レジスタとして物理レジスタＰＡ３を対応付けている。演算装置３１０は、また、論理レジスタＬ２に、ベクトル長として、物理レジスタＰＡ３において要素が格納されている数の８（図７参照）を対応付けている。
【００９８】
図７に表す動作は、演算装置３１０のリネーミング制御部１１２、が図８に表す物理レジスタ管理情報に基づいて行うものである。
【００９９】
次に、図７に表す動作例の動作に対応する動作を本実施形態の演算装置３１０が行う場合について説明する。
【０１００】
図９は、図７に表す動作に対応する本実施形態の動作例（その１）を説明するための図である。図９は、一つの物理レジスタに、要素を格納するための前述の領域が二つ含まれる場合の動作例を表す。
【０１０１】
物理レジスタ群９０１は、論理レジスタＬ１に格納される各要素が格納される物理レジスタからなる。
【０１０２】
論理レジスタＬ１に対応する物理レジスタ群である物理レジスタ群９０１は、物理レジスタＰ１乃至Ｐ４からなる。各物理レジスタは、その物理レジスタに係る物理レジスタＩＤの次にａの記号を付与した領域と当該物理レジスタＩＤの次にｂの記号を付与した領域との、二つの領域を備える。それらの領域には、要素が一つずつ格納され得る。
【０１０３】
図７において、演算前の各要素が格納される物理レジスタＰＡ１の領域ＰＡ１１乃至ＰＡ１３に格納された要素に相当する演算部分の各要素は、図９に表す物理レジスタＰ１の各領域及び物理レジスタＰ２の領域Ｐ２ａに格納される。
【０１０４】
また、非演算部分の各要素は、図９に表す、物理レジスタＰ２の領域Ｐ２ｂ、物理レジスタＰ３の各領域、及び、物理レジスタＰ４の各領域に格納される。これらの非演算部分の要素は、演算後にも維持されるべき要素であるとする。当該非演算部分の各要素は、図７に表す物理レジスタＰＡ１の領域ＰＡ１４及びＰＡ１５、並びに、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納された要素に相当する要素である。
【０１０５】
図９に表す物理レジスタ群９０２は、演算後の各要素が格納される論理レジスタＬ４に対応する。
【０１０６】
物理レジスタ群９０２は、物理レジスタＰ１３、Ｐ１４、Ｐ３及びＰ４からなる。これらのうち、物理レジスタＰ３及びＰ４は演算前の各要素が格納される物理レジスタ群９０１に含まれる物理レジスタＰ３及びＰ４と同じものである。
【０１０７】
物理レジスタＰ１３の各領域及び物理レジスタＰ１４の領域Ｐ１４ａには、演算結果の各要素が格納される。当該各要素は、演算前の演算部分の各要素に、図７の説明で述べた他の論理レジスタに格納された演算部分の要素の各々を演算した演算結果を表す各要素である。前記演算前の演算部分の各要素は、物理レジスタ群９０１においては物理レジスタＰ１の各領域及び物理レジスタＰ２の領域Ｐ２ａの各々に格納されていたものである。
【０１０８】
物理レジスタ群９０２に属する物理レジスタＰ１４の領域Ｐ１４ｂ、物理レジスタＰ３の各領域及び物理レジスタＰ４の各領域には、非演算部分の各要素が格納される。
【０１０９】
演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタＰ２の領域Ｐ２ａに格納された要素は、物理レジスタＰ１４の領域Ｐ１４ｂにコピーされる。
【０１１０】
また、演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタＰ３の各領域及び物理レジスタＰ４の各領域に格納された各要素は、物理レジスタから出力されずに、そのまま維持される。
【０１１１】
上記動作においては、物理レジスタのある領域から他の物理レジスタの領域へのコピーが一回行われる。しかしながら、上記動作において要素の維持のために必要なコピー数の一回は、図７に表す動作において必要なコピー数の５回より顕著に少ない。
【０１１２】
図１０は、図９に表す動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【０１１３】
演算装置３１０は、演算前の要素が格納される論理レジスタＬ１に、物理レジスタＰ１乃至Ｐ４を対応付けている。
【０１１４】
演算装置３１０は、また、演算後の要素が格納される論理レジスタＬ４に、物理レジスタＰ１３及びＰ１４、並びに、物理レジスタＰ３及びＰ４を対応付けている。
【０１１５】
物理レジスタＰ１３及びＰ１４は、図９を参照して説明したように、演算結果に係る要素が格納されるものである。従い、演算前の要素が格納されていた物理レジスタＰ１及びＰ２とは異なる物理レジスタである物理レジスタＰ１３及びＰ１４が確保される。
【０１１６】
一方、物理レジスタＰ３及びＰ４は、演算前の非演算部分に係る要素が演算後にも格納されるものである。そのため、演算前に非演算部分が格納されていた物理レジスタＰ３及びＰ４が、格納する要素を変えないまま、演算前後で維持される。
【０１１７】
図１１は、図７に表す動作に対応する本実施形態の動作例（その２）を説明するための図である。図１１は、一つの物理レジスタに含まれる、要素を格納するための領域が一つの場合の動作例を表す。
【０１１８】
物理レジスタ群９０１は、演算前の各要素が格納される論理レジスタである論理レジスタＬ１に格納される各要素が格納される物理レジスタ群である。
【０１１９】
物理レジスタ群９０１は、物理レジスタＰＢ１乃至ＰＢ８からなる。各物理レジスタは、一つの要素を格納するための領域を一つ備える。
【０１２０】
図７において、演算前の各要素が格納される物理レジスタである物理レジスタＰＡ１の領域ＰＡ１１乃至ＰＡ１３に格納された各要素に相当する演算部分の各要素は、図１１に表す物理レジスタＰＢ１乃至ＰＢ３に格納される。
【０１２１】
また、非演算部分の各要素は、図１１に表す、物理レジスタＰＢ４乃至ＰＢ８に格納される。当該非演算部分の各要素は、図７に表す物理レジスタＰＡ１の領域ＰＡ１４及びＰＡ１５、並びに、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納されたものに相当するものである。
【０１２２】
図１１に表す物理レジスタ群９０２は、演算後の各要素が格納される論理レジスタＬ４に対応する物理レジスタ群である。
【０１２３】
物理レジスタ群９０２は、物理レジスタＰＢ１１乃至ＰＢ１３及びＰＢ４乃至ＰＢ８からなる。これらのうち、物理レジスタＰＢ４乃至ＰＢ８は演算前の各要素が格納される物理レジスタ群９０１に含まれる物理レジスタＰＢ４乃至ＰＢ８と同じものである。
【０１２４】
物理レジスタＰＢ１１乃至ＰＢ１３には、演算結果の各要素が格納される。当該各要素は、物理レジスタ群９０１においては物理レジスタＰＢ１乃至ＰＢ３の各々に格納されている、演算部分の各要素に、図７の説明で述べた他の論理レジスタに格納された演算部分の各要素を演算した演算結果を表す各要素である。
【０１２５】
物理レジスタ群９０２に属する物理レジスタＰＢ４乃至ＰＢ８には、非演算部分の各要素が格納される。
【０１２６】
演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタ群９０１において物理レジスタＰＢ４乃至ＰＢ８に格納された各要素は、各物理レジスタから出力されずにそのまま維持される。
【０１２７】
上記動作においては、物理レジスタのある領域から他の物理レジスタの領域への、要素の維持のためのコピーは行われない。
【０１２８】
図１２は、図１１に表す動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【０１２９】
演算装置３１０は、演算前の各要素が格納される論理レジスタＬ１に、物理レジスタＰＢ１乃至ＰＢ８を対応付けている。
【０１３０】
そして、演算装置３１０は、演算後の要素が格納される論理レジスタＬ４に、物理レジスタＰＢ１１乃至ＰＢ１３、及び、物理レジスタＰＢ４乃至ＰＢ８を対応付けている。
【０１３１】
物理レジスタＰＢ１１乃至ＰＢ１３は、図１１を参照して説明したように、演算結果に係る各要素が格納されるものである。従い、演算装置３１０は、演算前の要素が格納されていた物理レジスタＰＢ１乃至ＰＢ３とは異なる物理レジスタである物理レジスタＰＢ１１乃至ＰＢ１３を割り当てる。
【０１３２】
一方、物理レジスタＰＢ４乃至ＰＢ８は、非演算部分に係る要素を演算後にも格納するものである。そのため、演算装置３１０は、演算前に非演算部分が格納されていた物理レジスタＰＢ４乃至ＰＢ８が、格納する要素を変更せずに、演算前後で維持する。
【０１３３】
図１３は、文献方式による第二の動作例を説明するための図である。
【０１３４】
本例においては、演算前の要素が格納される論理レジスタＬ１の各要素は、物理レジスタＰＡ１とＰＡ２の各々に分けて格納されている。
【０１３５】
本例においては、物理レジスタＰＡ１の、領域ＰＡ１１乃至ＰＡ１３には、演算に使用される演算部分の要素が格納されている。物理レジスタＰＡ１の、領域ＰＡ１４乃至ＰＡ１８は、要素の格納には使用されない。
【０１３６】
本例においては、また、物理レジスタＰＡ２の、領域ＰＡ２１乃至ＰＡ２３は、要素の格納には使用されない。物理レジスタＰＡ２の、領域ＰＡ２４及びＰＡ２５には、演算部分の要素が格納されている。そして、物理レジスタＰＡ２の、領域ＰＡ２６乃至ＰＡ２８には、非演算部分の要素が格納されている。これらの非演算部分の要素は、演算後にも維持されるべき要素であるとする。
【０１３７】
ここで、本例において、論理レジスタＬ１と、他の論理レジスタとの間で、ベクトル長が５の演算が行われるとする。
【０１３８】
当該演算後の各要素は、論理レジスタＬ３に格納されるとする。そして、本例では、論理レジスタＬ３の各要素は、物理レジスタＰＡ３及びＰＡ２に格納されるとする。
【０１３９】
また、物理レジスタＰＡ３の領域ＰＡ３１乃至ＰＡ３５は、演算結果に係る各要素の格納に使用されるとする。そして、領域ＰＡ３６乃至ＰＡ３８は、要素の格納には使用されないとする。
【０１４０】
一方、物理レジスタＰＡ２が格納する非演算部分の各要素は、演算前後で維持されるとする。すなわち、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８には、演算前に格納されていた非演算部分の要素が演算後もそのまま維持されるとする。
【０１４１】
図１３に表す動作例においては、要素の維持のための要素のコピーは行われない。
【０１４２】
図１４は、図１３に表す動作に対応する物理レジスタ管理情報の関連部分を表す図である。
【０１４３】
図１４は、演算前の各要素が格納される論理レジスタである論理レジスタＬ１に格納される各要素は、物理レジスタＰＡ１とＰＡ２とに格納されることを表す。図１４は、また、物理レジスタＰＡ１において要素が格納されている領域の数を表すベクトル長は３であることを表す。
【０１４４】
図１４は、また、演算後の各要素が格納されている論理レジスタである論理レジスタＬ２に格納される各要素は、物理レジスタＰＡ３とＰＡ２とに格納されることを表す。図１４は、また、物理レジスタＰＡ３におけるベクトル長は５であることを表す。
【０１４５】
図１５は、図１３に表す動作に相当する本実施形態の演算装置３１０が行う動作に係る動作例（その１）を説明するための図である。図１５は、一つの物理レジスタが要素を格納するための前述の領域を二つ備える場合の動作例を表す。
【０１４６】
物理レジスタ群９０１は、論理レジスタＬ１に格納される各要素が格納される物理レジスタからなる物理レジスタ群である。
【０１４７】
物理レジスタ群９０１は、物理レジスタＰ１乃至Ｐ４からなる。各物理レジスタは、その物理レジスタに係る物理レジスタＩＤの次にａの記号を付与した領域と当該物理レジスタＩＤの次にｂの記号を付与した領域との、二つの領域を備える。それらの領域には、要素が一つずつ格納され得る。
【０１４８】
図１３において、演算前の演算部分の各要素は、図１５に表す物理レジスタＰ１の各領域、物理レジスタＰ２の各領域、及び、物理レジスタＰ３の領域Ｐ３ａに格納される。当該各要素は、演算前に、物理レジスタＰＡ１の領域ＰＡ１１乃至ＰＡ１３及び物理レジスタＰＡ２の領域ＰＡ２４及びＰＡ２５に格納されたものに相当する
また、非演算部分の各要素は、図１５に表す、物理レジスタＰ３の領域Ｐ３ｂ及び物理レジスタＰ４の各領域に格納される。当該非演算部分の各要素は、図１３に表す物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納されたものに相当する。
【０１４９】
図１３に表す物理レジスタ群９０２は、演算後の各要素が格納される論理レジスタＬ４に対応する。
【０１５０】
物理レジスタ群９０２は、物理レジスタＰ１３乃至Ｐ１５及びＰ４からなる。これらのうち、物理レジスタＰ４は演算前の各要素が格納される物理レジスタ群９０１に含まれる物理レジスタＰ４と同じものである。
【０１５１】
物理レジスタＰ１３の各領域、物理レジスタＰ１４の各領域、及び、物理レジスタＰ１５の領域Ｐ１５ａには、演算結果の各要素が格納される。当該各要素は、演算前の演算部分の各要素に、図１３の説明で述べた他の論理レジスタに格納された演算部分の各要素を演算した演算結果を表す各要素である。当該演算前の演算部分の各要素は、物理レジスタ群９０１において、物理レジスタＰ１の各領域、物理レジスタＰ２の各領域並びに物理レジスタＰ３の領域Ｐ３ａの各々に格納されていたものである。
【０１５２】
物理レジスタ群９０２に属する物理レジスタＰ１５の領域Ｐ１５ｂ及び物理レジスタＰ４の各領域には、非演算部分の各要素が格納される。
【０１５３】
演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタＰ３の領域Ｐ３ａに格納された要素は、物理レジスタＰ１５の領域Ｐ１５ｂにコピーされる。
【０１５４】
演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタＰ４の各領域に格納された各要素は、物理レジスタから出力されずにそのまま維持される。
【０１５５】
上記動作においては、物理レジスタのある領域から他の物理レジスタの領域へのコピーが一回行われる。従い、コピーの回数は、演算装置３１０が図１３に表す文献方法の動作を行う場合より一回多い。しかしながら、上記動作においては、コピーの回数は最小限の一回に抑えられている。
【０１５６】
図１６は、図１５に表す動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【０１５７】
演算装置３１０は、演算前の要素が格納される論理レジスタＬ１に、物理レジスタＰ１乃至Ｐ４を対応付けている。
【０１５８】
そして、演算装置３１０は、演算後の要素が格納される論理レジスタＬ４に、物理レジスタＰ１３乃至Ｐ１５、並びに、物理レジスタＰ４を対応付けている。
【０１５９】
物理レジスタＰ１３乃至Ｐ１５は、図１５を参照して説明したように、演算結果に係る要素が格納されるものである。従い、演算前の要素が格納されていた物理レジスタＰ１乃至Ｐ３とは異なる物理レジスタである物理レジスタＰ１３乃至Ｐ１５が確保されている。
【０１６０】
一方、物理レジスタＰ４は、非演算部分に係る要素が演算後にも格納されるものである。そのため、演算前に非演算部分が格納されていた物理レジスタＰ４が、保持する要素を変更せずに、演算前後で維持される。
【０１６１】
図１７は、図１３に表す動作に対応する本実施形態の動作例（その２）を説明するための図である。図１７は、一つの物理レジスタに含まれる、要素を格納するための前述の領域が一つの場合の動作例を表す。
【０１６２】
物理レジスタ群９０１は、論理レジスタＬ１に格納される各要素が格納される物理レジスタからなる物理レジスタ群である。
【０１６３】
物理レジスタ群９０１は、物理レジスタＰＢ１乃至ＰＢ８からなる。各物理レジスタは、要素を格納するための前記領域を一つ備える。
【０１６４】
図１３において、演算前の演算部分の各要素は、物理レジスタ群９０１の物理レジスタＰＢ１乃至ＰＢ５に格納される。前記演算前の演算部分の各要素は、物理レジスタＰＡ１の領域ＰＡ１１乃至ＰＡ１３及び物理レジスタＰＡ２の領域ＰＡ２４及びＰＡ２５に格納された各要素に相当するものである。
【０１６５】
また、非演算部分の各要素は、物理レジスタ群９０１の物理レジスタＰＢ６乃至ＰＢ８に格納される。当該非演算部分の各要素は、演算前に、図１３に表す物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納された要素に相当するものである。
【０１６６】
図１７に表す物理レジスタ群９０２は、演算後の各要素が格納される論理レジスタＬ４に対応する。
【０１６７】
物理レジスタ群９０２は、物理レジスタＰＢ１１乃至ＰＢ１５及びＰＢ６乃至ＰＢ８からなる。これらのうち、物理レジスタＰＢ６乃至ＰＢ８は演算前の各要素が格納される物理レジスタ群９０１に含まれる物理レジスタＰＢ６乃至ＰＢ８と同じものである。
【０１６８】
物理レジスタＰＢ１１乃至ＰＢ１５には、演算結果を表す各要素が格納される。当該各要素は、物理レジスタ群９０１の物理レジスタＰＢ１乃至ＰＢ５の各々に格納されていた、演算前の演算部分の各要素に、図１３の説明で述べた他の論理レジスタに格納された演算部分の各要素を演算した演算結果を表す各要素である。
【０１６９】
物理レジスタ群９０２に属する物理レジスタＰＢ６乃至ＰＢ８には、非演算部分の各要素が格納される。
【０１７０】
演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタ群９０１の物理レジスタＰＢ６乃至ＰＢ８に格納された各要素は、物理レジスタから出力されずに、演算後も、そのまま維持される。
【０１７１】
上記動作においては、物理レジスタのある領域から他の物理レジスタの領域への、要素の維持のためのコピーは行われない。
【０１７２】
図１８は、図１７に表す動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【０１７３】
演算装置３１０は、演算前の要素が格納される論理レジスタＬ１に、物理レジスタＰＢ１乃至ＰＢ８を対応付けている。
【０１７４】
そして、演算装置３１０は、演算後の要素が格納される論理レジスタＬ４に、物理レジスタＰＢ１１乃至ＰＢ１５、及び、物理レジスタＰＢ６乃至ＰＢ８を対応付けている。
【０１７５】
物理レジスタＰＢ１１乃至ＰＢ１５は、図１７を参照して説明したように、演算結果に係る要素が格納されるものである。従い、演算前の要素が格納されていた物理レジスタＰＢ１乃至ＰＢ５とは異なる物理レジスタである物理レジスタＰＢ１１乃至ＰＢ１５が確保される。
【０１７６】
一方、物理レジスタＰＢ６乃至ＰＢ８は、非演算部分に係る要素を演算後にも格納するものである。そのため、演算前に非演算部分が格納されていた物理レジスタＰＢ６乃至ＰＢ８が、格納する要素を変更しないまま、演算前後で維持される。
【０１７７】
図１９は、本実施形態の演算装置３１０が、ベクトル長が６の演算を行う場合の、動作例（その１）を説明するための図である。図１９は、一つの物理レジスタに含まれる領域が二つの場合の動作例を表す。
【０１７８】
物理レジスタ群９０１は、論理レジスタＬ１に格納される各要素が格納される物理レジスタからなる。
【０１７９】
物理レジスタ群９０１は、物理レジスタＰ１乃至Ｐ４からなる。各物理レジスタは、その物理レジスタに係る物理レジスタＩＤの次にａの記号を付与した領域と当該物理レジスタＩＤの次にｂの記号を付与した領域との、二つの領域を備える。それらの領域には、要素が一つずつ格納され得る。
【０１８０】
論理レジスタＬ１に格納される、演算前の演算部分の各要素は、物理レジスタ群９０１の物理レジスタＰ１、Ｐ２及びＰ３の各領域に格納される。
【０１８１】
また、論理レジスタＬ１に格納される、非演算部分の各要素は、物理レジスタ群９０１の物理レジスタＰ４の各領域に格納される。これらの非演算部分の要素は、演算後にも維持されるべき要素であるとする。
【０１８２】
図１９に表す物理レジスタ群９０２は、演算後の各要素が格納される論理レジスタである論理レジスタＬ４に対応する。
【０１８３】
物理レジスタ群９０２は、物理レジスタＰ１３、Ｐ１４、Ｐ１５及びＰ４からなる。これらのうち、物理レジスタＰ４は演算前の各要素が格納される物理レジスタ群９０１に含まれる物理レジスタＰ４と同じものである。
【０１８４】
物理レジスタＰ１３、Ｐ１４及びＰ１５の各領域には、演算結果である各要素が格納される。当該各要素は、物理レジスタ群９０１の物理レジスタＰ１、Ｐ２及びＰ３の各領域に格納されていた、演算部分の各要素にベクトル長が６の他の論理レジスタに格納された演算部分の各要素を演算した演算結果を表す。
【０１８５】
物理レジスタ群９０２に属する物理レジスタＰ４の各領域には、非演算部分の各要素が格納される。演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタＰ４の各領域に格納された各要素は、物理レジスタから出力されずにそのまま維持される。
【０１８６】
上記動作においては、物理レジスタのある領域から他の物理レジスタの領域への、要素の維持のためのコピーは行われない。
【０１８７】
図２０は、図１９に表す動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【０１８８】
演算装置３１０は、演算前の要素が格納される論理レジスタＬ１に、物理レジスタＰ１乃至Ｐ４を対応付けている。
【０１８９】
そして、演算装置３１０は、演算後の要素が格納される論理レジスタＬ４に、物理レジスタＰ１３乃至Ｐ１５、並びに、物理レジスタＰ４を対応付けている。
【０１９０】
物理レジスタＰ１３乃至Ｐ１５は、図１９を参照して説明したように、演算結果に係る要素が格納されるものである。従い、演算前の要素が格納されていた物理レジスタＰ１乃至Ｐ３とは異なる物理レジスタである物理レジスタＰ１３乃至Ｐ１５が確保される。
【０１９１】
一方、物理レジスタＰ４は、非演算部分に係る要素が演算後にも格納されるものである。そのため、演算前に非演算部分が格納されていた物理レジスタＰ４が、格納する要素を変更することなく、演算前後で維持される。
【０１９２】
図２１は、ベクトル長が６の演算を行う場合の本実施形態の動作例（その２）を説明するための図である。図２１は、一つの物理レジスタに含まれる、要素を格納するための領域が一つの場合の動作例を表す。
【０１９３】
物理レジスタ群９０１は、論理レジスタＬ１に格納される各要素が格納される物理レジスタからなる。
【０１９４】
物理レジスタ群９０１は、物理レジスタＰＢ１乃至ＰＢ８からなる。各物理レジスタは、要素を格納するための領域を一つ備える。
【０１９５】
論理レジスタＬ１に格納される演算部分の各要素は、物理レジスタ群９０１の物理レジスタＰＢ１乃至ＰＢ５に格納される。また、論理レジスタＬ１に格納される非演算部分の各要素は、物理レジスタ群９０１の物理レジスタＰＢ６乃至ＰＢ８に格納される。これらの非演算部分の要素は、演算後にも維持されるべき要素であるとする。
【０１９６】
物理レジスタ群９０２は、演算後の各要素が格納される論理レジスタＬ４に対応する。
【０１９７】
物理レジスタ群９０２は、物理レジスタＰＢ１１乃至ＰＢ１６、ＰＢ７及びＰＢ８からなる。これらのうち、物理レジスタＰＢ７及びＰＢ８は演算前の各要素が格納される物理レジスタ群９０１に含まれる物理レジスタＰＢ７及びＰＢ８と同じものである。
【０１９８】
物理レジスタＰＢ１１乃至ＰＢ１６には、演算結果の各要素が格納される。当該各要素は、物理レジスタ群９０１に含まれる物理レジスタＰＢ１乃至ＰＢ６の各々に格納されていた、演算前の演算部分の各要素に、他の論理レジスタに格納された演算前の演算部分の各要素を演算した演算結果を表す各要素である。
【０１９９】
物理レジスタ群９０２に属する物理レジスタＰＢ７及びＰＢ８には、非演算部分の各要素が格納される。
【０２００】
演算後の非演算部分の各要素を、演算前の非演算部分の各要素と同じにするため、物理レジスタ群の物理レジスタＰＢ７及びＰＢ８に格納された各要素は、物理レジスタから出力されずにそのまま維持される。
【０２０１】
上記動作においては、物理レジスタから他の物理レジスタへの、要素の維持のためのコピーは行われない。
【０２０２】
図２２は、図２１に表す動作に対応する前記物理レジスタ管理情報の関連部分を表す図である。
【０２０３】
演算装置３１０は、演算前の要素が格納される論理レジスタＬ１に、物理レジスタＰＢ１乃至ＰＢ８を対応付けている。
【０２０４】
演算装置３１０は、また、演算後の要素が格納される論理レジスタＬ４に、物理レジスタＰＢ１１乃至ＰＢ１６、ＰＢ７及びＰＢ８を対応付けている。
【０２０５】
物理レジスタＰＢ１１乃至ＰＢ１６は、図２１を参照して説明したように、演算結果に係る要素が格納されるものである。従い、演算前の要素が格納されていた物理レジスタＰＢ１乃至ＰＢ６とは異なる物理レジスタであるＰＢ１１乃至ＰＢ１６が確保されている。
【０２０６】
一方、物理レジスタＰＢ７及びＰＢ８は、非演算部分に係る要素を演算後にも格納するものである。そのため、演算前に非演算部分が格納されていた物理レジスタＰＢ７及びＰＢ８が、格納する要素を変更せずに、演算前後で維持される。
【０２０７】
次に、本実施形態の動作によると、文献方法の場合と比較して、物理レジスタに属する領域の有効活用が図られることを、図２３乃至図２５を参照して、説明する。
【０２０８】
図２３は、文献方法における前述の論理レジスタ管理情報の関連部分の例を表す図である。
【０２０９】
図２３に表す例では、論理レジスタＬ１は、格納される要素がｅ１乃至ｅ３の三個である。
【０２１０】
図２４は、図２３に表す論理レジスタＬ１についての、文献方法における、前述の物理レジスタ管理情報の関連部分の例を表す図である。
【０２１１】
演算装置３１０は、論理レジスタＬ１に物理レジスタＰＡ１を対応付けている。演算装置３１０は、また、物理レジスタＰＡ１において要素が格納されている領域の数であるベクトル長を３としている。
【０２１２】
前述のように文献方法においては、一つの物理レジスタの領域数は、論理レジスタに格納される要素数に等しい。そのため、この場合、一つの物理レジスタの領域数は８である。従い、物理レジスタＰＡ１の８つの領域のうち、５つは、要素が格納されない不使用の領域である。物理レジスタＰＡ１における、不使用のこれらの領域は、物理レジスタＰＡ１に含まれる形で論理レジスタＬ１に割り当てられているので、他の処理に流用することができない。そのため、これらの不使用の領域は、論理レジスタＬ１に格納された要素を格納するために無駄に確保された領域である。
【０２１３】
図２５は、図２３に表す論理レジスタ管理情報の部分に対応する、本実施形態の物理レジスタ管理情報の関連部分を表す図である。
【０２１４】
演算装置３１０は、論理レジスタＬ１に、物理レジスタＰ１及びＰ２を割り当てている。前述のように物理レジスタは、二つの領域を備える。従い、論理レジスタに割り当てられた物理レジスタの領域のうち、要素の格納に使用されないものは、存在したとしても一つのみである。
【０２１５】
従い、本実施形態は、文献方法と比較して、一つの論理レジスタに格納される要素数が少ない（ベクトル長が短い）場合は、文献方法と比較して、物理レジスタが備える領域の有効活用が可能である。
【０２１６】
本実施形態の演算装置は、上記のように、無駄に確保される領域の発生を抑え得る。本実施形態の演算装置は、一つの物理レジスタが備える領域の数が二個の場合は、無駄な領域の数は一個か０にすることができる。また、本実施形態の演算装置は、一つの物理レジスタが備える領域の数が一個の場合は、無駄な領域の数は０にすることができる。
【０２１７】
このように、本実施形態の演算装置は、要素の維持のためのコピー量を減らすことに加えて、物理レジスタに含まれる領域のより効率的な利用を可能にする。
【０２１８】
所定の物理レジスタが、演算の実行に係るベクトル命令において参照されていない場合は、その物理レジスタが演算前の情報が格納されていたものであっても、その演算に係る演算後の情報を格納することができる。そのような処理を行えば、演算前に格納されていた要素を維持することで、当該要素のコピーを行わないことができる。従い、上記処理は、コピーの回数を減らすために、一般に行われているものである。
【０２１９】
図２６は、文献方法において、演算装置３１０が演算前の要素の物理レジスタへの格納に係るベクトル命令において参照されていない物理レジスタに演算後の要素を格納する場合の動作例を表す図である。
【０２２０】
本例では、演算装置３１０は、演算前の要素が格納される論理レジスタＬ１に、物理レジスタＰＡ１及びＰＡ２が割り当てる。
【０２２１】
本例では、また、演算装置３１０は、物理レジスタＰＡ１の、領域ＰＡ１１乃至ＰＡ１３に、演算に用いられる演算部分の各要素を格納する。また、演算装置３１０は、物理レジスタＰＡ１の、領域ＰＡ１４及びＰＡ１５は、演算に用いられない非演算部分の各要素を格納する。これらの非演算部分の要素は、演算後にも維持されるべき要素であるとする。また、演算装置３１０は、物理レジスタＰＡ１の、領域ＰＡ１６乃至ＰＡ１８を、要素の格納に用いない。
【０２２２】
本例では、また、演算装置３１０は、物理レジスタＰＡ２の領域ＰＡ２１乃至ＰＡ２５を、要素の格納には用いない。そして演算装置３１０は、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８を、非演算部分の要素の格納に使用する。これらの非演算部分の要素は、演算後にも維持されるべき要素であるとする。
【０２２３】
本例では、演算装置３１０は、また、論理レジスタＬ１に格納された要素にベクトル長３の演算を行った後の各要素を論理レジスタＬ３に格納する。そして、演算装置３１０は、論理レジスタＬ３に、物理レジスタＰＡ２を対応付ける。演算装置３１０は、当該対応付けを、物理レジスタＰＡ２が、演算に係るベクトル命令において参照されないことが前述の参照数情報に表されているために行う。
【０２２４】
演算装置３１０は、演算後の各要素を物理レジスタＰＡ２の領域ＰＡ２１乃至ＰＡ２３に格納する。演算装置３１０は、また、物理レジスタＰＡ１の領域ＰＡ１４及びＰＡ１５に格納されている非演算部分の要素を、物理レジスタＰＡ２の領域ＰＡ２４及びＰＡ２５にコピーする。演算装置３１０は、また、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納された要素を維持する。
【０２２５】
上記の動作の場合、物理レジスタＰＡ２の領域ＰＡ２６乃至ＰＡ２８に格納された要素は、演算前後で維持されるので、要素の維持のためのこれらの要素のコピーは行われない。そのため、コピーの実行回数は二回に抑えられる。しかしながら、上記方法においても、要素の維持のためのコピーが二回ほど必要になる。
【０２２６】
図２７は、図２６に表す動作に対応する、物理レジスタ管理情報の関連部分を表す図である。
【０２２７】
図２７は、演算前の要素が格納される論理レジスタＬ１は、物理レジスタＰＡ１及びＰＡ２に対応付けられている。また、物理レジスタＰＡ１における要素格納に係るベクトル長は５である。
【０２２８】
演算後の要素が格納される論理レジスタＬ２には、物理レジスタＰＡ２が対応付けられている。演算後の物理レジスタＰＡ２における要素格納に係るベクトル長は、８である。
【０２２９】
図２６に表す動作に相当する動作を本実施形態の演算装置３１０が行った場合の動作例は、図９に表す前述のものになる。物理レジスタＰ１及びＰ２は、演算前の要素を保持しているため、前述の参照数情報において、演算前の要素を物理レジスタに格納するベクトル命令で参照されている。そのため、物理レジスタＰ１及びＰ２以外の物理レジスタである、例えば、物理レジスタＰ１３及びＰ１４を、演算後の要素を格納するために用いる必要があるためである。
【０２３０】
そして、演算装置３１０が、図９に表す場合の要素の維持のために必要なコピーの数は、前述のように一つであり、図２６に表す動作例の場合の二つよりも少ない。
［効果］
本実施形態の演算装置においては、各物理レジスタが、二つ以下の、情報要素を同時に格納するための領域を備える。
【０２３１】
各物理レジスタが前記領域を二つ備える場合には、前記演算装置が情報要素の維持のためのコピーを実行するのは、物理レジスタが備える二つの領域のうちの一方が演算に関係する要素を格納し、他方が演算に関係しない要素を格納する場合である。そのため、前記演算装置は、同場合に、一回の演算で行われる要素維持のためのコピーの数は、一回以内にすることが可能である。
【０２３２】
また、各物理レジスタが前記領域を一つのみ備える場合は、要素維持のためのコピーを行う必要がない。
【０２３３】
一方、特許文献５に記載された方法では、前述のように、一回の演算で二回以上の情報要素の維持のためのコピーが行われ得る。
【０２３４】
つまり、本実施形態の演算装置は、一回の演算で情報要素の維持のために必要なコピーの数を減らすことができる。
【０２３５】
ここで、一回の演算で行われ得るコピーの回数が多いと、演算装置において、演算を行うためのポートに加えて、一回の演算で行われ得るコピーの数だけコピーを実行するのためのポートを余分に設置する必要がある。本実施形態の演算装置は、一回の演算で必要な要素の維持のためのコピーの数を減らすことができるので、コピーのためのポート数を減らすことが可能である。
【０２３６】
なお、各物理レジスタが前記領域を二つ備える場合は、前記領域を一つ備える場合と比較して、一つの論理レジスタに対応させる物理レジスタの数が半分になる。そのため、上記場合は、物理レジスタ管理情報においても各論理レジスタＩＤに対応する物理レジスタＩＤの数が半分になる。従い、上記場合は、物理レジスタ管理情報の規模が小さくなり、リネーミング処理部による物理レジスタ管理情報の参照のための処理が少なくて済むという長所がある。
【０２３７】
図２８は、実施形態の演算装置の最小限の構成である演算装置３１０ｘの構成を表すブロック図である。
【０２３８】
演算装置３１０ｘは、第一選択部２１３ｘと、物理レジスタ群２１０ｘと、第二選択部２１１ｘと、演算器群２１２ｘとを備える。
【０２３９】
第一選択部２１３ｘは、前記第一要素群のうちの前記ベクトル長の前記情報要素の各々と、前記第二要素群のうちの前記ベクトル長の前記情報要素の各々とを、第一の制御情報に基づいて選択した物理レジスタの各々に入力する。当該物理レジスタは、物理レジスタ群２１０ｘに含まれるものである。
【０２４０】
物理レジスタ群２１０ｘは、第一選択部２１３ｘから入力された前記情報要素の各々を保持する前記物理レジスタを含む。
【０２４１】
第二選択部２１１ｘは、第一選択部２１３ｘから入力された前記情報要素を保持した前記物理レジスタの各々から入力された前記情報要素の各々を演算器群２１２ｘに含まれる所定の演算器の入力部の各々に入力する。
【０２４２】
演算器群２１２ｘは、第二選択部２１１ｘから入力された前記情報要素に係る前記ベクトル演算により前記第三要素群を出力する。
【０２４３】
前記第一の制御情報に基づいて選択された前記物理レジスタは、第一の物理レジスタと第二の物理レジスタとで異なる場合がある。ここで、前記第一の物理レジスタは、所定のベクトル演算前の当該ベクトル演算対象の前記情報要素の各々を格納するものである。また、第二の物理レジスタは、当該情報要素についての当該ベクトル演算の演算結果に係る前記情報要素を格納するものである。
【０２４４】
また、前記物理レジスタの各々が備える、前記情報要素を同時に格納し得る領域の数は、二個以下である。
【０２４５】
各物理レジスタが前記領域を二つ備える場合には、前記演算装置が情報要素の維持のために必要なコピーを実行するのは、次の場合である。その場合は、すなわち、物理レジスタが備える二つの領域のうちの一方が演算に関係する前記情報要素を格納し、他方が演算に関係しない前記情報要素を格納する場合である。そのため、一回の演算で必要とされる前記情報要素のコピー数は、一回以下である。
【０２４６】
また、各物理レジスタが前記領域を一つのみ備える場合は、前記情報要素の維持のためのコピーを行う必要がない。
【０２４７】
一方、特許文献５に記載された方法では、前述のように、一回の演算で二回以上のコピーが行われ得る。
【０２４８】
従い、演算装置３１０ｘは、一回の演算で行われ得る情報要素の維持のためのコピーの回数を減らすことができる。
【０２４９】
そのため、演算装置３１０ｘは、上記構成を備えることにより、発明の効果の項において説明した効果を奏する。
【０２５０】
なお、図２８に表す演算装置３１０ｘは、例えば、図１又は図２に表す演算装置３１０である。また、第一選択部２１３ｘは、例えば、図１又は図２に表すライト選択部２１３である。また、物理レジスタ群２１０ｘは、例えば、図１又は図２に表す物理レジスタ群２１０である。また、第二選択部２１１ｘは、例えば、図１又は図２に表すリード選択部２１１である。また、演算器群２１２ｘは、例えば、図１又は図２に表す演算器群２１２である。
【０２５１】
以上、本発明の各実施形態を説明したが、本発明は、前記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で更なる変形、置換、調整を加えることができる。例えば、各図面に示した要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【符号の説明】
【０２５２】
１００    制御部
１１０    命令供給部
１１１    命令発行制御部
１１２    リネーミング制御部
１１３    実行制御部
１２１    記憶部
２００    演算部
２１０、２１０ｘ    物理レジスタ群
２１１    リード選択部
２１１ｘ    第二選択部
２１２、２１２ｘ    演算器群
２１３    ライト選択部
２１３ｘ    第一選択部
２９１、２９２、２９３、２９４、２９５、２９６、２９７    ポート群
３１０、３１０ｘ    演算装置
３２０    記憶装置
４００    物理レジスタ管理情報
４０１    論理レジスタ管理情報
４０２    参照数情報
５００    演算システム
【図１】
2019220065.tif 000003
【図２】
2019220065.tif 000004
【図３】
2019220065.tif 000005
【図４】
2019220065.tif 000006
【図５】
2019220065.tif 000007
【図６】
2019220065.tif 000008
【図７】
2019220065.tif 000009
【図８】
2019220065.tif 000010
【図９】
2019220065.tif 000011
【図１０】
2019220065.tif 000012
【図１１】
2019220065.tif 000013
【図１２】
2019220065.tif 000014
【図１３】
2019220065.tif 000015
【図１４】
2019220065.tif 000016
【図１５】
2019220065.tif 000017
【図１６】
2019220065.tif 000018
【図１７】
2019220065.tif 000019
【図１８】
2019220065.tif 000020
【図１９】
2019220065.tif 000021
【図２０】
2019220065.tif 000022
【図２１】
2019220065.tif 000023
【図２２】
2019220065.tif 000024
【図２３】
2019220065.tif 000025
【図２４】
2019220065.tif 000026
【図２５】
2019220065.tif 000027
【図２６】
2019220065.tif 000028
【図２７】
2019220065.tif 000029
【図２８】
2019220065.tif 000030
【手続補正書】
【提出日】令和1年6月20日(2019.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第一論理レジスタに格納される、論理レジスタに格納される情報要素からなる第一要素群、のうちの所定のベクトル長の前記情報要素と、第二論理レジスタに格納される前記情報要素からなる第二要素群のうちの前記ベクトル長の前記情報要素とのベクトル演算の演算結果である前記情報要素を含む第三要素群を第三論理レジスタに格納させる演算装置であって、
前記第一要素群のうちの前記ベクトル長の前記情報要素の各々と、前記第二要素群のうちの前記ベクトル長の前記情報要素の各々とを、物理レジスタ群に含まれる、第一の制御情報に基づいて選択した物理レジスタの各々に入力する第一選択部と、
前記第一選択部から入力された前記情報要素の各々を保持する前記物理レジスタを含む前記物理レジスタ群と、
前記第一選択部から入力された前記情報要素を保持した前記物理レジスタの各々から入力された前記情報要素の各々を演算器群に含まれる演算器の入力部の各々に入力する第二選択部と、
前記第二選択部から入力された前記情報要素に係る前記ベクトル演算により前記第三要素群を出力する前記演算器群と、
を備え、
前記第一の制御情報に基づいて選択された前記物理レジスタが、ベクトル演算前の当該ベクトル演算の対象の前記情報要素の各々を格納する前記物理レジスタと、当該情報要素に係る当該ベクトル演算の演算結果に係る前記情報要素を格納する前記物理レジスタとで異なる場合があり、
前記物理レジスタの各々が備える、前記情報要素を同時に格納し得る領域の数が、二個以下である、
演算装置。
【請求項２】
前記領域の数が一個である、請求項１に記載された演算装置。
【請求項３】
前記第一論理レジスタと、前記第二論理レジスタと、前記第三論理レジスタとの各々に格納され得る前記情報要素の数が、互いに等しい、請求項１又は請求項２に記載された演算装置。
【請求項４】
備える前記物理レジスタの数より少ない数の前記情報要素の前記物理レジスタへの入力に係る入力ポートからなる入力ポート群と、前記入力ポート群の所定のポートを、所定の前記物理レジスタの入力端子に接続する、第一選択部をさらに備える、請求項１乃至請求項３のうちのいずれか一に記載された演算装置。
【請求項５】
前記物理レジスタからの出力を、前記演算器群の各演算器又はコピー用の配線の、入力用のポートに接続する、第二選択部をさらに備える、請求項１乃至請求項４のうちのいずれか一に記載された演算装置。
【請求項６】
前記論理レジスタの各々に格納される前記情報要素を格納する前記物理レジスタを表す情報である物理レジスタ管理情報を保持し、当該物理レジスタ管理情報により、前記情報要素の前記物理レジスタへの格納を行う、請求項１乃至請求項５のうちのいずれか一に記載された演算装置。
【請求項７】
請求項５に記載された演算装置と、前記各演算器及び前記配線からの出力を格納し得る記憶装置とを備える、演算システム。
【請求項８】
前記第一論理レジスタに格納される前記情報要素のうち前記ベクトル長の前記情報要素でない前記情報要素、及び、前記第二論理レジスタに格納される前記情報要素のうち前記ベクトル長の前記情報要素でない前記情報要素、のうちの少なくともいずれかが、前記第三論理レジスタに格納される、請求項１乃至請求項６のうちのいずれか一に記載された、
演算装置。
【手続補正書】
【提出日】令和1年11月8日(2019.11.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第一論理レジスタに格納される、論理レジスタに格納される情報要素からなる第一要素群、のうちの所定のベクトル長の前記情報要素と、第二論理レジスタに格納される前記情報要素からなる第二要素群のうちの前記ベクトル長の前記情報要素とのベクトル演算の演算結果である前記情報要素を含む第三要素群を第三論理レジスタに格納させる演算装置であって、
前記第一要素群のうちの前記ベクトル長の前記情報要素の各々と、前記第二要素群のうちの前記ベクトル長の前記情報要素の各々とを、物理レジスタ群に含まれる、第一の制御情報に基づいて選択した物理レジスタの各々に入力する第一選択部と、
前記第一選択部から入力された前記情報要素の各々を保持する前記物理レジスタを含む前記物理レジスタ群と、
前記第一選択部から入力された前記情報要素を保持した前記物理レジスタの各々から入力された前記情報要素の各々を演算器群に含まれる演算器の入力部の各々に入力する第二選択部と、
前記第二選択部から入力された前記情報要素に係る前記ベクトル演算により、前記第三要素群に含まれるベクトル演算の演算結果である情報要素を出力する前記演算器群と、
を備え、
前記第一の制御情報に基づいて選択された前記物理レジスタが、ベクトル演算前の当該ベクトル演算の対象の前記情報要素の各々を格納する前記物理レジスタと、当該情報要素に係る当該ベクトル演算の演算結果に係る前記情報要素を格納する前記物理レジスタとで異なる場合があり、
対象命令のベクトル長に依存して複数要素単位でリネーミングするしないを判断する、
演算装置。
【請求項２】
前記第一論理レジスタと、前記第二論理レジスタと、前記第三論理レジスタとの各々に格納され得る前記情報要素の数が、互いに等しい、請求項１に記載された演算装置。
【請求項３】
備える前記物理レジスタの数より少ない数の前記情報要素の前記物理レジスタへの入力に係る入力ポートからなる入力ポート群を備え、前記第一選択部は、前記入力ポート群の所定のポートを、所定の前記物理レジスタの入力端子に接続するものである、請求項１又は請求項２に記載された演算装置。
【請求項４】
前記第二選択部は、前記物理レジスタからの出力を、前記演算器群の各演算器又はコピー用の配線の、入力用のポートに接続するものである、請求項１乃至請求項３のうちのいずれか一に記載された演算装置。
【請求項５】
前記論理レジスタの各々に格納される前記情報要素を格納する前記物理レジスタを表す情報である物理レジスタ管理情報を保持し、当該物理レジスタ管理情報により、前記情報要素の前記物理レジスタへの格納を行う、請求項１乃至請求項４のうちのいずれか一に記載された演算装置。
【請求項６】
請求項４に記載された演算装置と、前記各演算器及び前記配線からの出力を格納し得る記憶装置とを備える、演算システム。
【請求項７】
前記第一論理レジスタに格納される前記情報要素のうち前記ベクトル長の前記情報要素でない前記情報要素、及び、前記第二論理レジスタに格納される前記情報要素のうち前記ベクトル長の前記情報要素でない前記情報要素、のうちの少なくともいずれかが、前記第三論理レジスタに格納される、請求項１乃至請求項５のうちのいずれか一に記載された、演算装置。