(57)【要約】【課題】レジスタファイルの消費電力を低減し、メモリデータのロードと演算の高速化が容易なロード／ストア・アーキテクチャ型のプロセッサ及び演算制御方法を提供する。【解決手段】本発明のプロセッサは、ロード／ストア・アーキテクチャ型のプロセッサであって、ロードデータ、ストアデータ、演算対象データおよび演算結果データを保持するための第一の記憶手段と、ロードデータと演算対象とするデータを一時保持する第二の記憶手段と、前記第一の記憶手段の一部分の代わりに前記第二の記憶手段を使用するよう制御する制御手段とを備える。または、ロードと演算を同時実行するように制御すると共に専用レジスタを使用するように制御する。【選択図】  図１Ａ
2006338545.tif 000002
【特許請求の範囲】
【請求項１】
ロード／ストア・アーキテクチャ型のプロセッサであって、
ロードデータ、ストアデータ、演算対象データおよび演算結果データを保持するための第一の記憶手段と、
ロードデータと演算対象とするデータを一時保持する第二の記憶手段と、
前記第一の記憶手段の一部分の代わりに前記第二の記憶手段を使用するよう制御する制御手段と
を備えることを特徴とするプロセッサ。
【請求項２】
前記プロセッサは、演算とロードを並列実行する実行手段と備え、
前記制御手段は、演算とロードを同時実行するよう制御する
ことを特徴とする請求項１記載のプロセッサ。
【請求項３】
前記プロセッサは、ストアと演算とロードを同時実行可能な実行手段と備え、
前記制御手段は、ストアと演算とロードを同時実行するよう制御する
ことを特徴とする請求項１記載のプロセッサ。
【請求項４】
前記制御手段は、指定された演算と指定されたロードの実行時には第二の記憶手段を使用する
ことを特徴とする請求項１記載のプロセッサ。
【請求項５】
前記制御手段は、命令中に第二の記憶手段が指定されている場合には前記第二の記憶手段を使用するよう制御する
ことを特徴とする請求項２または３記載のプロセッサ。
【請求項６】
前記制御手段は、命令により設定可能な制御レジスタを有し、前記制御レジスタの設定に従って、前記第二の記憶手段を使用するよう制御する
ことを特徴とする請求項２または３記載のプロセッサ。
【請求項７】
前記第一の記憶手段は、Ｎ個以上のレジスタからなるレジスタファイルであり、
前記第二の記憶手段は、Ｎ個未満のレジスタからなる
ことを特徴とする請求項５または６記載のプロセッサ。
【請求項８】
前記第二の記憶手段は、
ロードするデータと演算対象のデータを一時保持する入力レジスタと、
ストアするデータと演算結果のデータを一時保持する出力レジスタとを有する
ことを特徴とする請求項５または６記載のプロセッサ。
【請求項９】
ロードデータ、ストアデータ、演算対象データおよび演算結果データを保持するための第一の記憶部と、ロードデータと演算対象とするデータを一時保持する第二の記憶部とを備えるロード／ストア・アーキテクチャ型のプロセッサの演算制御方法であって、
ロード、ストア、演算に関する条件を判別し、
判別結果に応じて、前記第一の記憶部の一部分の代わりに前記第二の記憶部を使用する
ことを特徴とする演算制御方法。
【請求項１０】
ロードデータ、ストアデータ、演算対象データおよび演算結果データを保持するための第一の記憶部と、ロードデータ、ストアデータ、演算対象データおよび演算結果データを一時保持する第二の記憶部とを備えるロード／ストア・アーキテクチャ型のプロセッサの演算制御方法であって、
ロード、ストア、演算に関する条件を判別し、
判別結果に応じて、前記第一の記憶部の一部分の代わりに前記第二の記憶部を使用する
ことを特徴とする演算制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、命令をパイプライン処理するロード／ストア・アーキテクチャ型プロセッサの演算制御方法に関する。
【背景技術】
【０００２】
プロセッサのアーキテクチャは、メモリアーキテクチャとロード／ストア・アーキテクチャの大きく二つに分類する事ができる。メモリアーキテクチャの大きな特徴は、メモリ上のデータを直接演算対象にできるため、メモリ上のデータを連続演算する場合に単命令の繰り返しで実現できることである。また、ロード／ストア・アーキテクチャの大きな特徴は、メモリアクセスを演算パイプラインと独立にするため、メモリアクセスのレイテンシを隠蔽でき、パイプライン段数の削減や動作周波数の向上を実現できることである（例えば、特許文献１参照。）。
【０００３】
例えば、ロード／ストア・アーキテクチャの基本的なパイプライン構成は、ＩＦ（命令フェッチ）、ＤＣ（デコード）、ＥＸ（演算／メモリアクセス）の３段パイプラインで構成される。これに対して、メモリアーキテクチャの基本的なパイプライン構成は、メモリのデータを演算対象とできるように、ＭＡ（メモリアクセス）ステージが追加され、ＩＦ（命令フェッチ）、ＤＣ（デコード）、ＭＡ（メモリアクセス）、ＥＸ（演算）の４段パイプラインで構成される。
【特許文献１】特開２０００−１０７８０号公報（第４−５頁）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のロード／ストア・アーキテクチャでは、上述のようにメモリアーキテクチャに比べメモリアクセスの影響を隠蔽できる利点がある一方、メモリ上のデータをレジスタファイル経由で参照するため、大きなサイズのレジスタファイルを必要とし、メモリ上のデータを演算する場合にレジスタファイル分の電力を余分に消費するという問題と、更に、メモリデータのロードと演算の２ステップが必要という問題を有していた。
【０００５】
本発明は、レジスタファイルの消費電力を低減し、メモリデータのロードと演算の高速化が容易なロード／ストア・アーキテクチャ型のプロセッサ及び演算制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記問題を解決するために本発明のプロセッサは、ロード／ストア・アーキテクチャ型のプロセッサであって、ロードデータ、ストアデータ、演算対象データおよび演算結果データを保持するための第一の記憶手段と、ロードデータと演算対象とするデータを一時保持する第二の記憶手段と、前記第一の記憶手段の一部分の代わりに前記第二の記憶手段を使用するよう制御する制御手段とを備える。
【０００７】
この構成によれば、演算とロード時の第一の記憶手段（レジスタファイル）へのアクセスを抑制できるので、消費電力を削減できる。
【０００８】
ここで、前記プロセッサは、演算とロードを並列実行する実行手段と備え、前記制御手段は、演算とロードを同時実行するよう制御するようにしてもよい。
【０００９】
この構成によれば、演算と同時に次回の演算のためのデータをロードすることで、ロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。
【００１０】
ここで、前記プロセッサは、ストアと演算とロードを同時実行可能な実行手段と備え、前記制御手段は、ストアと演算とロードを同時実行するよう制御するようにしてもよい。
【００１１】
この構成によれば、演算と同時に次回の演算のためのデータをロードし、更に前回の演算結果をストアすることで、ストアサイクルとロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。
【００１２】
ここで、前記制御手段は、指定された演算と指定されたロードの実行時には第二の記憶手段を使用するようにしてもよい。
【００１３】
この構成によれば、例えば、命令のオペコードにより指定の演算と、命令のオペコードにより指定のロードに対して第二の記憶手段を使用し、指定の演算と指定のロード以外の命令に対して第一の記憶手段を使用することができる。また、演算と同時に次回の演算のためのデータをロードすることで、ロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。これと同時に、演算とロード時の第一の記憶手段（レジスタファイル）へのアクセスを抑制できるので、消費電力を削減できる。
【００１４】
ここで、前記制御手段は、命令中に第二の記憶手段が指定されている場合には前記第二の記憶手段を使用するよう制御するようにしてもよい。
【００１５】
この構成によれば、第一の記憶手段と第二の記憶手段のアクセス制御をストア命令、演算命令、ロード命令等で指定することで、制御手段の負荷が大きくなる反面、命令個別に第二の記憶手段の使用を制御することができる。
【００１６】
ここで、前記制御手段は、命令により設定可能な制御レジスタを有し、前記制御レジスタの設定に従って、前記第二の記憶手段を使用するよう制御するようにしてもよい。
【００１７】
この構成によれば、第一の記憶手段と第二の記憶手段の制御を、制御レジスタにより指定するので、ストア命令、演算命令、ロード命令等へのオペランド追加（または新規命令追加）が不要であり、既存のプログラム資産の活用を容易にすることができる。
【００１８】
ここで、前記第一の記憶手段は、Ｎ個以上のレジスタからなるレジスタファイルであり、前記第二の記憶手段は、Ｎ個未満のレジスタからなるようにしてもよい。
【００１９】
ここで、前記第二の記憶手段は、ロードするデーアと演算対象のデータを一時保持する入力レジスタと、ストアするデータと演算結果のデータを一時保持する出力レジスタとを有するようにしてもよい。
【００２０】
また、本発明の演算制御方法は、上記と同様の手段を有するので説明を省略する。
【発明の効果】
【００２１】
本発明によれば、第一の記憶手段（レジスタファイル）へのアクセスを抑制できるので、消費電力を削減できる。
【００２２】
演算と同時に次回の演算のためのデータをロードすることで、ロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。
【００２３】
演算と同時に次回の演算のためのデータをロードし、更に前回の演算結果をストアすることで、ストアサイクルとロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。
【００２４】
第一の記憶手段と第二の記憶手段のアクセス制御をストア命令、演算命令、ロード命令等で指定することで、第一の条件と第二の条件を指定するための余分なサイクルが不要である。
【発明を実施するための最良の形態】
【００２５】
（第１の実施形態）
以下本発明の第１の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００２６】
図１Ａは本発明の第１の実施形態におけるプロセッサの構成を示すブロック図である。このプロセッサは、演算対象のデータおよび演算結果を格納するメモリ１と、命令を実行する実行部２と、第二の条件を指定する制御部３と、ロードデータ、ストアデータ、演算対象データおよび演算結果データを保持するための第一の記憶手段に相当するレジスタファイル４と、ロードデータと演算対象とするデータを一時保持する第二の記憶手段に相当する入力レジスタ５を備える。
【００２７】
制御部３は、第一の条件時には、レジスタファイル４を使用し、第二の条件時には、入力レジスタ５を使用するよう制御する。この第一の条件か第二の条件かは、命令のオペコードまたはオペランドによる。これにより、命令のオペコードまたはオペランドにより指定の演算と、命令のオペコードまたはオペランドにより指定のロードに対して入力レジスタ５を使用し、指定の演算と指定のロード以外の命令に対してレジスタファイル４を使用することになる。その結果、第二の条件時にはレジスタファイル４の一部分のレジスタの代わりに入力レジスタ５を使用するよう制御する。
【００２８】
図３Ａは本発明の第１の実施形態における演算制御の制御フローの一例を示す。同図は、たとえば、配列データに対してロード命令、演算命令、ストア命令を繰り返し実行する場合の制御フローである。以下にそのステップ毎の動作を説明する。
【００２９】
（１）ステップ２１では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５内のレジスタＶＸ、ＶＹにロードする。
（２）ステップ２２では、制御部３から制御信号群１１で第二の条件を指示する。入力レジスタ５をソースとして実行部２で演算を実行する。ここでは、レジスタＶＸとレジスタＶＹの２つのデータに対する演算結果をレジスタファイル４中のレジスタＲ２に格納するものとする。
（３）ステップ２３では、演算結果をレジスタファイル４中のレジスタＲ２からメモリ１にストアする。
（４）ステップ２４では、繰り返し回数Ｌに達していない連続演算時には、上記ステップ２１からステップ２３を繰り返す。Ｌは配列データの数である。
【００３０】
以上のように本実施形態によれば、第二の条件は、ステップ２１、ステップ２２で実行する命令で指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用するよう制御する。これにより、演算とロード時のレジスタファイル４へのアクセスを抑制できるので、消費電力を削減できる。
【００３１】
なお、図３Ａでは配列データに対する繰り返し演算の例を示したが、図３Ａにおいてステップ２３と２４を入れ替えればＭＡＣ（積和演算）の演算制御フローになる。
【００３２】
（第２の実施形態）
以下本発明の第２の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００３３】
図１Ｂは本発明の第２の実施形態における構成図である。第１の実施形態との違いは、制御部３が第二の条件を指定する条件記憶手段となる制御レジスタ３ａを備える点である。制御レジスタ３ａは、命令により設定可能であり、入力レジスタ５内のレジスタＶＸ、ＶＹ個別に対応する設定ビットを保持する。例えば、レジスタＶＸに対する設定ビットが１であれば、レジスタファイル４中のレジスタＲ０の代わりにレジスタＶＸを使用することを意味する。
【００３４】
図３Ｂは本発明の第２の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００３５】
（０）ステップ５１では、制御部３に制御レジスタ３ａに第二の条件（設定ビット）を設定する。制御部３から制御信号群１１で第二の条件を指示する。
（１）ステップ２１では、メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ２２では、入力レジスタ５をソースとして実行部２で演算を実行する。
演算結果をレジスタファイル４に格納する。
（３）ステップ２３では、  演算結果をレジスタファイル４からメモリ１にストアする。
（４）ステップ２４では、連続演算時には、上記ステップ２１からステップ２３を繰り返す。
【００３６】
以上のように本実施形態によれば、第二の条件は、ステップ５１で予め指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用するよう制御する。
【００３７】
（第３の実施形態）
以下本発明の第３の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００３８】
図１Ｃは本発明の第３の実施形態における構成図である。第１の実施形態との違いは、
実行部２が演算部とロードを同時実行可能なように演算部２ａとロードユニット（ＬＤ部）２ｂを備える点と、制御部３が制御信号群１１で演算とロードの同時実行を制御する点とである。実行部２は、例えば、複数命令からなる長語命令を実行し、長語命令に含まれる演算命令とロード命令とを同時に実行する。
【００３９】
図４Ａは本発明の第３の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００４０】
（１）ステップ３１では、制御部３から制御信号群１１で第二の条件を指示する。
メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ３２では、制御部３から制御信号群１１で第二の条件を指示する。入力レジスタ５をソースとして実行部２で演算を実行する。演算結果をレジスタファイル４に格納する。ステップ３３では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５にロードする。
（３）ステップ３４では、演算結果をレジスタファイル４からメモリ１にストアする。
（４）ステップ３５では、連続演算時には、上記ステップ３２からステップ３３を繰り返す。
【００４１】
以上のように本実施形態によれば、第二の条件は、ステップ３１、ステップ３２、ステップ３３で実行する命令で指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用するよう制御すると共に、上記ステップ３２からステップ３３で演算の実行とデータのロードを同時実行する。これにより、演算と同時に次回の演算のためのデータをロードすることで、ロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。
【００４２】
なお、実行部２は長語命令を実行する場合を説明したが、いわゆるスーパスカラー方式でもよい。
【００４３】
（第４の実施形態）
以下本発明の第４の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００４４】
図１Ｄは本発明の第４の実施形態における構成図である。第３の実施形態との違いは、制御部３が第二の条件を指定する条件記憶手段となる制御レジスタ３ａを備える点である。
【００４５】
図４Ｂは本発明の第４の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００４６】
（０）ステップ５１では、
制御部３に第二の条件を設定する。
制御部３から制御信号群１１で第二の条件を指示する。
（１）ステップ３１では、
メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ３２では、入力レジスタ５をソースとして実行部２で演算を実行する。演算結果をレジスタファイル４に格納する。ステップ３３では、メモリ１からデータを入力レジスタ５にロードする。
（３）ステップ３４では、演算結果をレジスタファイル４からメモリ１にストアする。
（４）ステップ３５では、連続演算時には、上記ステップ３２からステップ３４を繰り返す。
【００４７】
以上のように本実施形態によれば、第二の条件は、ステップ５１で予め指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用するよう制御すると共に、上記ステップ３２からステップ３３で演算の実行とデータのロードを同時実行する。
【００４８】
（第５の実施形態）
以下本発明の第５の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００４９】
図１Ｅは本発明の第５の実施形態における構成図である。第１の実施形態との違いは、制御部３が制御信号群１１でストアと演算とロードの同時実行を制御することである。そのため、制御部３は、演算部２ａとロードユニット（ＬＤ部）２ｂとストアユニット（ＳＴ部）２ｃを備える。
【００５０】
図５Ａは本発明の第５の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００５１】
（１）ステップ４１では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５ロードする。
（２）ステップ４２では、演算結果をレジスタファイル４からメモリ１にストアする。
ステップ４３では、制御部３から制御信号群１１で第二の条件を指示する。入力レジスタ５をソースとして実行部２で演算を実行する。演算結果をレジスタファイル４に格納する。
ステップ４４では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５にロードする。
（３）ステップ４５では、連続演算時には、上記ステップ４２からステップ４４を繰り返す。
（４）ステップ４６では、演算結果をレジスタファイル４からメモリ１にストアする。
【００５２】
以上のように本実施形態によれば、第二の条件は、ステップ４１、ステップ４３、ステップ４４で実行する命令で指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用するよう制御すると共に、ステップ４２からステップ４４で演算結果のストアと演算の実行とデータのロードを同時実行する。これによれば、演算と同時に次回の演算のためのデータをロードし、更に前回の演算結果をストアすることで、ストアサイクルとロードサイクルを隠蔽できるので、メモリーデータの演算実行時の実行サイクル数を削減できる。これと同時に、演算とロード時の第一の記憶手段（レジスタファイル）へのアクセスを抑制できるので、消費電力を削減できる。
【００５３】
なお、ＬＤ部２ｂとＳＴ２ｃの代わりに、ＬＤ／ＳＴユニットを２つ備えてもよい。
【００５４】
（第６の実施形態）
以下本発明の第６の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００５５】
図１Ｆは本発明の第６の実施形態における構成図である。第５の実施形態との違いは、制御部３が第二の条件を指定する条件記憶手段となる制御レジスタ３ａを備えることである。
【００５６】
図５Ｂは本発明の第６の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００５７】
（０）ステップ５１では、制御部３に第二の条件を設定する。
制御部３から制御信号群１１で第二の条件を指示する。
（１）ステップ４１では、メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ４２では、演算結果をレジスタファイル４からメモリ１にストアする。ステップ４３では、入力レジスタ５をソースとして実行部２で演算を実行する。演算結果をレジスタファイル４に格納する。ステップ４４では、メモリ１からデータを入力レジスタ５にロードする。
（３）ステップ４５では、連続演算時には、ステップ４２からステップ４４を繰り返す。
（４）ステップ４６では、演算結果をレジスタファイル４からメモリ１にストアする。
【００５８】
以上のように本実施形態によれば、第二の条件は、ステップ５１で予め指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用するよう制御すると共に、ステップ４２からステップ４４で演算結果のストアと演算の実行とデータのロードを同時実行する。
【００５９】
（第７の実施形態）
以下本発明の第７の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００６０】
図２Ａは本発明の第７の実施形態における構成図である。図２Ａにおいて、１は演算対象のデータおよび演算結果を格納するメモリである。２は演算を実行する実行部である。３は第二の条件を指定する制御部である。４は第一の記憶手段に相当するレジスタファイルである。５は第二の記憶手段に相当する入力レジスタである。６は第二の記憶手段に相当する出力レジスタである。
【００６１】
図６Ａは本発明の第７の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００６２】
（１）ステップ６１では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ６２では、制御部３から制御信号群１１で第二の条件を指示する。入力レジスタ５をソースとして実行部２で演算を実行する。演算結果を出力レジスタ６に格納する。
（３）ステップ６３では、制御部３から制御信号群１１で第二の条件を指示する。演算結果を出力レジスタ６からメモリ１にストアする。
（４）ステップ６４では、連続演算時には、上記ステップ６１からステップ６３を繰り返す。
【００６３】
以上のように本実施形態によれば、第二の条件は、ステップ６１、ステップ６２、ステップ６３で実行する命令で指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用し、メモリ１へのストアを、レジスタファイル４を使用せずに出力レジスタ６を使用するよう制御する。
【００６４】
（第８の実施形態）
以下本発明の第８の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００６５】
図２Ｂは本発明の第８の実施形態における構成図である。第７の実施形態との違いは、制御部３が第二の条件を指定する条件記憶手段となる制御部であることである。
【００６６】
図６Ｂは本発明の第８の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００６７】
（０）ステップ８１では、制御部３に第二の条件を設定する。制御部３から制御信号群１１で第二の条件を指示する。
（１）ステップ６１では、メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ６２では、力レジスタ５をソースとして実行部２で演算を実行する。演算結果を出力レジスタ６に格納する。
（３）ステップ６３では、演算結果を出力レジスタ６からメモリ１にストアする。
（４）ステップ６４では、連続演算時には、上記ステップ６１からステップ６３を繰り返す。
【００６８】
以上のように本実施形態によれば、第二の条件は、ステップ８１で予め指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用し、メモリ１へのストアを、レジスタファイル４を使用せずに出力レジスタ６を使用するよう制御する。
【００６９】
（第９の実施形態）
以下本発明の第９の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００７０】
図２Ｃは本発明の第９の実施形態における構成図である。第７の実施形態との違いは、制御部３が制御信号群１１でストアと演算とロードの同時実行を制御することである。
【００７１】
図７Ａは本発明の第９の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００７２】
（１）ステップ７１では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ７２では、制御部３から制御信号群１１で第二の条件を指示する。演算結果を出力レジスタ６からメモリ１にストアする。ステップ７３では、制御部３から制御信号群１１で第二の条件を指示する。入力レジスタ５をソースとして実行部２で演算を実行する。演算結果を出力レジスタ６に格納する。ステップ７４では、制御部３から制御信号群１１で第二の条件を指示する。メモリ１からデータを入力レジスタ５にロードする。
（３）ステップ７５では、連続演算時には、上記ステップ２を繰り返す。
（４）ステップ７６では、制御部３から制御信号群１１で第二の条件を指示する。演算結果を出力レジスタ６からメモリ１にストアする。
【００７３】
以上のように本実施形態によれば、第二の条件は、ステップ７１、ステップ７２から７４で実行する命令で指定し、メモリ１からのロードと演算のソースを、レジスタファイル４を使用せずに入力レジスタ５を使用し、メモリ１へのストアを、レジスタファイル４を使用せずに出力レジスタ６を使用するよう制御すると共に、ステップ７２から７４で演算結果のストアと演算の実行とデータのロードを同時実行する。
【００７４】
（第１０の実施形態）
以下本発明の第１０の実施形態のプロセッサの演算制御方法について、図面を参照しながら説明する。
【００７５】
図２Ｄは本発明の第１０の実施形態における構成図である。第９の実施形態との違いは、制御部３が第二の条件を指定する条件記憶手段となる制御部であることである。
【００７６】
図７Ｂは本発明の第１０の実施形態における演算制御の制御フローを示したもので、以下にそのステップ毎の動作を説明する。
【００７７】
（０）ステップ８１では、制御部３に第二の条件を設定する。制御部３から制御信号群１１で第二の条件を指示する。
（１）ステップ７１では、メモリ１からデータを入力レジスタ５にロードする。
（２）ステップ７２では、演算結果を出力レジスタ６からメモリ１にストアする。ステップ７３では、入力レジスタ５をソースとして実行部２で演算を実行する。演算結果を出力レジスタ６に格納する。ステップ７４では、メモリ１からデータを入力レジスタ５にロードする。
（３）ステップ７５では、連続演算時には、ステップ７２から７４を繰り返す。
（４）ステップ７６では、演算結果を出力レジスタ６からメモリ１にストアする。
【００７８】
以上のように本実施形態によれば、第二の条件は、ステップ８１で予め指定し、メモリ１からのロードと演算のソースをレジスタファイル４を使用せずに入力レジスタ５を使用し、メモリ１へのストアをレジスタファイル４を使用せずに出力レジスタ６を使用するよう制御すると共に、ステップ２で演算結果のストアと演算の実行とデータのロードを同時実行する。
【産業上の利用可能性】
【００７９】
本発明にかかるプロセッサの演算制御方法は、ロード／ストア・アーキテクチャの特徴であるメモリアクセスの影響を隠蔽でき周波数の向上が容易であるという利点を維持したまま、信号処理等で多用するメモリデータの演算時の消費電力と実行サイクル数を削減できるので、低消費電力と信号処理性能が要求されるプロセッサに有用である。
【図面の簡単な説明】
【００８０】
【図１Ａ】第１の実施形態におけるプロセッサの構成を示すブロック図である。
【図１Ｂ】第２の実施形態におけるプロセッサの構成を示すブロック図である。
【図１Ｃ】第３の実施形態におけるプロセッサの構成を示すブロック図である。
【図１Ｄ】第４の実施形態におけるプロセッサの構成を示すブロック図である。
【図１Ｅ】第５の実施形態におけるプロセッサの構成を示すブロック図である。
【図１Ｆ】第６の実施形態におけるプロセッサの構成を示すブロック図である。
【図２Ａ】第７の実施形態におけるプロセッサの構成を示すブロック図である。
【図２Ｂ】第８の実施形態におけるプロセッサの構成を示すブロック図である。
【図２Ｃ】第９の実施形態におけるプロセッサの構成を示すブロック図である。
【図２Ｄ】第１０の実施形態におけるプロセッサの構成を示すブロック図である。
【図３Ａ】第１の実施形態における演算制御の制御フロー図である。
【図３Ｂ】第２の実施形態における演算制御の制御フロー図である。
【図４Ａ】第３の実施形態における演算制御の制御フロー図である。
【図４Ｂ】第４の実施形態における演算制御の制御フロー図である。
【図５Ａ】第５の実施形態における演算制御の制御フロー図である。
【図５Ｂ】第６の実施形態における演算制御の制御フロー図である。
【図６Ａ】第７の実施形態における演算制御の制御フロー図である。
【図６Ｂ】第８の実施形態における演算制御の制御フロー図である。
【図７Ａ】第９の実施形態における演算制御の制御フロー図である。
【図７Ｂ】第１０の実施形態における演算制御の制御フロー図である。
【符号の説明】
【００８１】
１  メモリ
２  実行部
２ａ  演算部
２ｂ  ロードユニット
２ｃ  ストアユニット
３  制御部
３ａ  制御レジスタ
４  レジスタファイル
５  入力レジスタ
６  出力レジスタ
【図１Ａ】
2006338545.tif 000003
【図１Ｂ】
2006338545.tif 000004
【図１Ｃ】
2006338545.tif 000005
【図１Ｄ】
2006338545.tif 000006
【図１Ｅ】
2006338545.tif 000007
【図１Ｆ】
2006338545.tif 000008
【図２Ａ】
2006338545.tif 000009
【図２Ｂ】
2006338545.tif 000010
【図２Ｃ】
2006338545.tif 000011
【図２Ｄ】
2006338545.tif 000012
【図３Ａ】
2006338545.tif 000013
【図３Ｂ】
2006338545.tif 000014
【図４Ａ】
2006338545.tif 000015
【図４Ｂ】
2006338545.tif 000016
【図５Ａ】
2006338545.tif 000017
【図５Ｂ】
2006338545.tif 000018
【図６Ａ】
2006338545.tif 000019
【図６Ｂ】
2006338545.tif 000020
【図７Ａ】
2006338545.tif 000021
【図７Ｂ】
2006338545.tif 000022