(57)【要約】【課題】  性能が向上した同時多重スレッド（ＳＭＴ）プロセッサ及びその方法を提供する。【解決手段】  プロセッシングパイプラインの少なくとも１つの他のステージから情報を受信し、受信された情報を用いてスレッド別に処理時間を決定するプロセッサである。前記スレッド別処理時間を用いて、フェッチ部は前記プロセッシングパイプラインで処理するスレッドを決定して該当命令語をフェッチする。【選択図】      図１
2004227587.tif 000002
【特許請求の範囲】
【請求項１】
多数のパイプラインステージを含み、該ステージの各々は多数のスレッド各々に属する命令語のうち少なくとも１つを処理するプロセッシングパイプラインと、
前記パイプラインステージのうち何れか１つのステージであり、前記プロセッシングパイプラインの少なくとも１つの他のステージから情報を受信し、受信された情報を用いてスレッド別に処理時間を決定し、そのスレッド別処理時間を用いて前記プロセッシングパイプラインで処理するスレッドを決定し、該当命令語をフェッチするフェッチ部と、を備えることを特徴とする同時多重スレッドプロセッサ。
【請求項２】
前記フェッチ部は、
前記スレッド別処理時間のうち最短の処理時間を有するスレッドを決定して該当命令語をフェッチすることを特徴とする請求項１に記載の同時多重スレッドプロセッサ。
【請求項３】
前記受信された情報は、
前記プロセッシングパイプラインで処理される命令語の演算種類を含むことを特徴とする請求項１に記載の同時多重スレッドプロセッサ。
【請求項４】
前記受信された情報は、
前記プロセッシングパイプラインで処理を終了する命令語の演算種類をさらに含むことを特徴とする請求項３に記載の同時多重スレッドプロセッサ。
【請求項５】
前記フェッチ部は、
スレッド別にカウントを行うカウンタを備え、そのスレッド別カウンタの各々は、前記プロセッシングパイプラインで処理される命令語の処理時間に対応してカウント値を高め、前記プロセッシングパイプラインで処理を終了する命令語の処理時間に対応してカウント値を下げることを特徴とする請求項４に記載の同時多重スレッドプロセッサ。
【請求項６】
前記フェッチ部は、
前記カウント値が最も小さなカウンタに対応するスレッドを決定して該当命令語をフェッチすることを特徴とする請求項５に記載の同時多重スレッドプロセッサ。
【請求項７】
前記フェッチ部は、
前記プロセッシングパイプラインで処理されるスレッドに対する命令語の数にその命令語それぞれのサイクルカウント数を加重値として用いて、前記スレッド別処理時間として加重値が与えられた命令語数をカウントすることを特徴とする請求項１に記載の同時多重スレッドプロセッサ。
【請求項８】
前記フェッチ部は、
スレッド別にカウントを行うカウンタを備え、そのスレッド別カウンタの各々は、前記プロセッシングパイプラインで処理される命令語のサイクルカウント数に対応してカウント値を高め、前記プロセッシングパイプラインで処理を終了する命令語のサイクルカウント数に対応してカウント値を下げることを特徴とする請求項７に記載の同時多重スレッドプロセッサ。
【請求項９】
前記フェッチ部は、
前記カウント値が最も小さなカウンタに対応するスレッドを決定して該当命令語をフェッチすることを特徴とする請求項８に記載の同時多重スレッドプロセッサ。
【請求項１０】
前記プロセッシングパイプラインは、
前記フェッチされた命令語をデコーディングして前記命令語の演算種類をデコーダ情報として生成する命令語デコーダと、
前記デコーディングされた命令語に対する実行指示を行う命令語指示部と、をさらに備えることを特徴とする請求項１に記載の同時多重スレッドプロセッサ。
【請求項１１】
前記受信された情報は、
前記デコーダ情報及び前記実行指示された命令語情報であることを特徴とする請求項１に記載の同時多重スレッドプロセッサ。
【請求項１２】
前記プロセッシングパイプラインは、
命令語を貯蔵し、前記フェッチされた命令語を前記命令語デコーダに出力する命令語キャッシュ部と、
前記命令語デコーダで生成されたアドレスを実行部の実際レジスタアドレスと再命名するレジスタ再命名部と、をさらに備えることを特徴とする請求項１０に記載の同時多重スレッドプロセッサ。
【請求項１３】
プロセッシングパイプラインのフェッチ部で、前記プロセッシングパイプラインの少なくとも１つの他のステージから情報を受信する段階と、
前記受信された情報を用いてスレッド別に処理時間を決定する第１決定段階と、
前記スレッド別処理時間を用いて前記プロセッシングパイプラインで処理される該当命令語をフェッチするスレッドを決定する第２決定段階と、を備え、
前記プロセッシングパイプラインは多数のパイプラインステージを含み、該ステージの各々は多数のスレッド各々に属する命令語のうち少なくとも１つを処理することを特徴とする同時多重スレッドプロセス方法。
【請求項１４】
前記第２決定段階は、
該当命令語をフェッチするスレッドとして前記スレッド別処理時間のうち最短の処理時間を有するスレッドを決定することを特徴とする請求項１３に記載の同時多重スレッドプロセス方法。
【請求項１５】
前記受信された情報は、
前記プロセッシングパイプラインで処理される命令語の演算種類を含むことを特徴とする請求項１３に記載の同時多重スレッドプロセス方法。
【請求項１６】
前記受信された情報は、
前記プロセッシングパイプラインで処理を終了する命令語の演算種類をさらに含むことを特徴とする請求項１５に記載の同時多重スレッドプロセス方法。
【請求項１７】
前記第１決定段階は、
スレッド別にカウントを行うカウンタの各々が、前記プロセッシングパイプラインで処理される命令語の処理時間に対応してカウント値を高める段階と、
前記カウンタの各々が、前記プロセッシングパイプラインで処理を終了する命令語の処理時間に対応してカウント値を下げる段階と、を備えることを特徴とする請求項１６に記載の同時多重スレッドプロセス方法。
【請求項１８】
前記第２決定段階は、
該当命令語をフェッチするスレッドとして前記カウント値が最も小さなカウンタに対応するスレッドを決定することを特徴とする請求項１７に記載の同時多重スレッドプロセス方法。
【請求項１９】
前記第１決定段階は、
前記プロセッシングパイプラインで処理されるスレッドに対する命令語の数にその命令語それぞれのサイクルカウント数を加重値として用いて、前記スレッド別処理時間として加重値が与えられた命令語数をカウントすることを特徴とする請求項１３に記載の同時多重スレッドプロセス方法。
【請求項２０】
前記第１決定段階は、
スレッド別にカウントを行うカウンタの各々が、前記プロセッシングパイプラインで処理される命令語のサイクルカウント数に対応してカウント値を高める段階と、
前記カウンタの各々が、前記プロセッシングパイプラインで処理を終了する命令語のサイクルカウント数に対応してカウント値を下げる段階と、を備えることを特徴とする請求項１９に記載の同時多重スレッドプロセス方法。
【請求項２１】
前記第２決定段階は、
該当命令語をフェッチするスレッドとして前記カウント値が最も小さなカウンタに対応するスレッドを決定することを特徴とする請求項２０に記載の同時多重スレッドプロセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムのＣＰＵ（中央演算処理装置）に係り、特にコンピュータシステムの同時多重スレッド（Ｓｉｍｕｌｔａｎｅｏｕｓ Ｍｕｌｔｉ Tｈｒｅａｄｉｎｇ；以下“ＳＭＴ”と略称する）プロセッサに関する。
【背景技術】
【０００２】
ＣＰＵ（中央演算処理装置）等でのスーパスカラ（Ｓｕｐｅｒｓｃａｌａｒ）パイプライン構造は、１クロックサイクルの間に同時に複数の命令語を実行することによってＣＰＵの性能を高める方法である。しかし、スーパスカラパイプライン構造では１クロックサイクルの間に同時に複数の命令語が実行できるにも拘らず、データディペンデンシなどの問題によって時間上命令語の実行が不可能な区間、すなわち、ウェイストが発生する。
【０００３】
一方、ＳＭＴ方法は１クロックサイクルの間に複数のスレッドを同時に存在させ、スレッド各々に存在する命令語を同時に実行させ、特に前記のようなウェイスト区間でも実行されるようにし、ウェイスト区間を最小化することによってＣＰＵの性能を向上させる方法である。スレッドは、１プロセス内の複数の相異なるコントロールポイントや相異なる実行経路と定義されるか、または相異なるプログラムと定義されうる。したがって、ＳＭＴは複数のスレッドそれぞれの命令語を同時に実行させて命令語実行のスループットを高める方法である。
【０００４】
Ｄｅａｎ Ｍ．Ｔｕｌｌｓｅｎ等はＳＭＴ構造で複数のスレッドのうち、１つのスレッドを選択してその命令語をフェッチするいくつかのアルゴリズムを紹介した。このようにスレッドを選択し、該当命令語をフェッチする従来のＳＭＴプロセッサについては特許文献１によく開示されている。
【０００５】
すなわち、従来のＳＭＴプロセッサでは、新しいスレッドの命令語フェッチ時に、待ち時間の長い命令語を行うスレッド選択を避けるために、“ＩＣＣＯＵＮＴ”、“ＢＲＣＯＵＮＴ”、“ＭＩＳＳＣＯＵＮＴ”、または“ＩＱＰＯＳＮ”のような方法を使用する。特に、上記のような方法のうち“ＩＣＣＯＵＮＴ”は効果的な方法として従来のＳＭＴプロセッサに多く採用されている。“ＩＣＣＯＵＮＴ”方法は命令語デコーディング、命令語再命名、命令語指示のようなパイプラインステージで、最少数の命令語を有するスレッドを選択し、そのスレッドの命令語をフェッチする方法である。命令語数が少ないほど該当スレッドの待ち時間が短くなるために、このような方法は効率的な方法であると言える。それ以外にも、パイプラインステージを実行ステージまで拡張した“ＥＣＯＵＮＴ”という方法もある。
【０００６】
このように、“ＩＣＣＯＵＮＴ”方法などを使用する従来のＳＭＴプロセッサでは、単にスレッドが有する命令語数だけを計算してスレッドを選択し、命令語をフェッチする。しかし、実際待ち時間に影響を及ぼす命令語の実行周期回数が考慮されず、単純に命令語数の少ないスレッドに優先順位を与えることはＣＰＵなどのプロセッサ性能を低下させる問題点がある。例えば、スレッドＡは実行周期回数が３である乗算命令語を２つ有し、スレッドＢは実行周期回数が１である加算命令語４つを有する場合、スレッドＡの実行がスレッドＢの実行より長くなる。すなわち、むしろ少ない命令語数を有するスレッドＡがスレッドＢより命令語指示をさらに長く待つので、キュークロッグ（ｑｕｅｕｅ ｃｌｏｇ）を起こす問題点がある。
【特許文献１】米国特許ＵＳ６４７０４４３Ｂ１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、本発明が解決しようとする技術的課題は、命令語数に各命令語の実行周期回数を加重値として用いてＳＭＴの性能をさらに向上させたＳＭＴプロセッサを提供することにある。
【０００８】
本発明が解決しようとする他の技術的課題は、命令語数に各命令語の実行周期回数を加重値として用いてＳＭＴの性能をさらに向上させたＳＭＴプロセッサのＳＭＴ方法を提供することにある。
【課題を解決するための手段】
【０００９】
前記技術的課題を達成するための本発明に係るＳＭＴプロセッサは、多数のパイプラインステージを含むプロセッシングパイプラインを備え、フェッチ部は前記パイプラインステージのうち何れか１つのステージに該当する。
【００１０】
前記プロセッシングパイプラインで前記パイプラインステージの各々は多数のスレッド各々に属する命令語のうち少なくとも１つを処理する。前記フェッチ部は前記プロセッシングパイプラインの少なくとも１つの他のステージから情報を受信し、受信された情報を用いてスレッド別に処理時間を決定し、そのスレッド別処理時間を用いて前記プロセッシングパイプラインで処理するスレッドを決定して該当命令語をフェッチする。
【００１１】
前記フェッチ部は、前記スレッド別処理時間のうち最短の処理時間を有するスレッドを決定して該当命令語をフェッチすることを特徴とする。前記受信された情報は、前記プロセッシングパイプラインで処理される命令語の演算種類を含むことを特徴とする。前記受信された情報は、前記プロセッシングパイプラインで処理を終了する命令語の演算種類をさらに含むことを特徴とする。
【００１２】
前記フェッチ部はスレッド別にカウントを行うカウンタを備え、そのスレッド別カウンタの各々は、前記プロセッシングパイプラインで処理される命令語の処理時間に対応してカウント値を高め、前記プロセッシングパイプラインで処理を終了する命令語の処理時間に対応してカウント値を下げることを特徴とする。前記フェッチ部は前記カウント値が最も小さなカウンタに対応するスレッドを決定して該当命令語をフェッチすることを特徴とする。 
【００１３】
前記フェッチ部は前記プロセッシングパイプラインで処理されるスレッドに対する命令語の数にその命令語それぞれのサイクルカウント数を加重値として用いて、前記スレッド別処理時間として加重値が与えられた命令語数をカウントすることを特徴とする。
【００１４】
前記他の技術的課題を達成するための本発明に係るＳＭＴプロセス方法は、プロセッシングパイプラインのフェッチ部で、前記プロセッシングパイプラインの少なくとも１つの他のステージから情報を受信する段階と、前記受信された情報を用いてスレッド別に処理時間を決定する第１決定段階と、前記スレッド別処理時間を用いて前記プロセッシングパイプラインで処理される該当命令語をフェッチするスレッドを決定する第２決定段階と、を備え、前記プロセッシングパイプラインは多数のパイプラインステージを含み、該ステージの各々は多数のスレッド各々に属する命令語のうち少なくとも１つを処理することを特徴とする。
【発明の効果】
【００１５】
本発明に係るＳＭＴプロセッサは、前記フェッチ部が前記ＳＭＴプロセッサのプロセッシングパイプライン上で処理されるスレッドに対する命令語の数にその命令語それぞれのサイクルカウント数を加重値として用いて、前記スレッド別処理時間として加重値が与えられた命令語数をカウントし、プロセッシングパイプライン上で処理される時間を示す前記加重値が与えられた命令語数が最も小さなスレッドを選択して該当命令語をフェッチする。したがって、ＳＭＴプロセッサの性能がさらに向上し、結局ＣＰＵ（ｃｏｎｔｒｏｌ ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔ）のようなシステム性能をさらに向上させうる。
【発明を実施するための最良の形態】
【００１６】
以下、添付した図面を参照して本発明の望ましい実施形態を詳細に説明する。各図に提示された同じ参照符号は同一部分を示す。
【００１７】
図１は、本発明の一実施形態に係るＳＭＴプロセッサのブロック図である。図１を参照すれば、本発明の一実施形態に係るＳＭＴプロセッサは、多数のパイプラインステージを含むプロセッシングパイプライン構造を有し、前記ステージの各々は多数のスレッド各々に属する命令語のうち少なくとも１つを処理する。このような前記ＳＭＴプロセッサは、フェッチ部１１０、命令語キャッシュ部１２０、命令語デコーダ１３０、レジスタ再命名部１４０、命令語指示部１５０、実行部１６０を備える。前記実行部１６０は、データキャッシュ１６１、レジスタ１６３、及び機能ユニット１６５を備える。
【００１８】
前記フェッチ部１１０は多数のプログラムカウンタ（図示せず）の各々から出力されるアドレスＰＣ０ないしＰＣＮ−１を受信する。プログラムカウンタはスレッド別に１つずつ割当てられ、プログラムカウンタで生成されたカウント値はフェッチする次の命令語のアドレスを提供する。前記命令語デコーダ１３０及び前記命令語指示部１５０からフィードバックされた情報を用いて、前記フェッチ部１１０はフェッチアドレスとしてプログラムカウンタのアドレスのうち何れか１つを選択する。フェッチアドレスは該フェッチアドレスに基づいたスレッドを行う命令語または命令語の集合を示す。以下、本発明の構造及び動作は一つの命令語をフェッチすることについて記述される。しかし、１つ以上の命令語を同時にフェッチでき、これは当業者によく知られている。前記フェッチ部１１０の構造及び動作は図２の説明でさらに詳細に記述される。
【００１９】
前記命令語キャッシュ部１２０はプログラムカウンタそれぞれのアドレスに対応する命令語を貯蔵し、前記フェッチされたアドレスに対応する前記フェッチされた命令語を前記命令語デコーダ１３０に出力する。
【００２０】
前記命令語デコーダ１３０は前記フェッチされた命令語を解釈して演算種類を決定し、オペランドで使われる論理的アドレスまたはレジスタのアドレスを抽出する。このようなデコーダ情報は前記フェッチ部１１０にフィードバックされる。
【００２１】
前記レジスタ再命名部１４０はデータディペンデンシを避けるために、命令語デコーダ１３０でデコーディングされた命令語に対応して生成されたアドレスをレジスタ１６３のうち実際レジスタのアドレスと再命名する。このように、オペランドとして使われるレジスタに対してその代用の実際レジスタと再命名することは、アーキテクチャ上定義されたレジスタより多量のレジスタを内部的に提供することによってデータディペンデンシを解決するためである。
【００２２】
前記命令語指示部１５０は前記再命名されたアドレスに応答して前記フェッチされた命令語に対する実行指示を行う。前記実行部１６０は前記実行指示に応答して前記フェッチされた命令語を実行する。この際、実行は、以前演算の終了によって前記実行指示された命令語実行に使われるオペランドが生成されれば、所定の機能ユニット１６５が、所定のデータキャッシュ１６１及びレジスタ１６３を用いて前記実行指示された命令語の演算（例えば、加算、乗算、シフト、累算など）を行う。フェッチされた命令語に対して前記実行部１６０で実行指示されれば、このような命令語実行指示情報は前記フェッチ部１１０にフィードバックされる。
【００２３】
前記レジスタ１６３は前記再命名されたアドレス（ＲＡＤ）に対応する多数のレジスタ１６３を備える。このレジスタ１６３は前記フェッチされた命令語実行でオペランドとして使われるレジスタだけでなく、演算中に使われる臨時貯蔵レジスタまたは演算結果を貯蔵するデスティネーションレジスタなど演算に必要なあらゆるレジスタ１６３を含む。
【００２４】
前記データキャッシュ１６１は前記演算に使われるデータを貯蔵する。ここに貯蔵されるデータは、演算に使われる色々な必要なソースデータまたは臨時データとして、動作スピードの向上のために内部キャッシュメモリに貯蔵されるデータである。
【００２５】
前記機能ユニット１６５は以前演算の終了によって前記実行指示された命令語実行に使われるオペランドが生成されれば、前記実行指示に応答して前記フェッチされた命令語を実行する。この機能ユニット１６５は加算器、乗算器、シフタまたは蓄積器など基本演算を行うブロックである。
【００２６】
図２は、図１のフェッチ部１１０の具体的なブロック図である。
図２を参照すれば、図１のフェッチ部１１０は、デマルチプレックス制御器１１１、サイクルカウンタ１１３、スレッド選択器１１５、及びマルチプレクサ１１７を備える。
【００２７】
前記デマルチプレックス制御器１１１はデコーディングされた命令語に対する前記デコーダ情報を受信する。前記デマルチプレックス制御器１１１は前記デコーダ情報を用いてデコーディングされた命令語が属するスレッドを判別する（例えば、演算種類または命令語認識器から）。前記デマルチプレックス制御器１１１は各スレッドに対して前記サイクルカウンタ１１３のうち何れか１つを割り当てる。この際、最初に割当てられる時、前記サイクルカウンタ１１３はリセットされるか、“０”にクリアされる。前記デコーダ情報が受信されれば、前記デマルチプレックス制御器１１１は前記デコーディングされた命令語の処理に必要なサイクルカウント数に対応する量だけ、該当スレッドに割当てられたサイクルカウンタ１１３のカウント値を増加させる。前記サイクルカウント数は、前記命令語デコーダ１３０、前記レジスタ再命名部１４０、及び前記命令語指示部１５０のうち何れか１つ以上で所要されるシステムクロックのサイクルカウント値である。前述したように、サイクルカウント数は演算種類によって異なる。例えば、乗算演算は加算演算よりさらに多くのサイクルカウント数が必要である。したがって、前記デマルチプレックス制御器１１１はデコーディングされた命令語の演算種類によってサイクルカウンタ１１３のカウント値を高める量を決定する。具体的に、前記デマルチプレックス制御器１１１は前記ＳＭＴプロセッサのプロセッシングパイプライン上で処理されるスレッドに対する命令語の数にその命令語それぞれのサイクルカウント数を加重値として用いて、前記スレッド別処理時間として加重値が与えられた命令語数をカウントする。
【００２８】
また、前記デマルチプレックス制御器１１１は実行指示された命令語情報を受信する。前記デマルチプレックス制御器１１１は前記実行指示された命令語情報を用いてデコーディングされた命令語が属するスレッドを判別する（例えば、演算種類または命令語認識器から）。前記実行指示された命令語情報が受信されれば、前記デマルチプレックス制御器１１１は前記デコーディングされた命令語の処理に所要されたサイクルカウント数に対応する量だけ、該当スレッドに割当てられたサイクルカウンタ１１３のカウント値を下げる。実行指示された命令語は前記ＳＭＴプロセッサのプロセッシングパイプライン上で実行が完了して該当処理が終わる。すなわち、前記デマルチプレックス制御器１１１は前記プロセッシングパイプラインで処理を終了する命令語のサイクルカウント数に対応してカウント値を減少させる。このように、前記プロセッシングパイプラインで処理を終了する命令語に対する情報が前記デマルチプレックス制御器１１１で前記実行指示された命令語情報と共に利用されるか、前記実行指示された命令語情報の代りに利用される。
【００２９】
このように、サイクルカウンタ１１３の各々は前記ＳＭＴプロセッサのプロセッシングパイプライン上で現在処理される各スレッドの処理時間を示すカウント値を生成する。
【００３０】
前記スレッド選択器１１５は前記サイクルカウンタ１１３が示す最少サイクルカウンタを判別し、それに対応するスレッド選択情報（ＴＳＩ）を出力する。すなわち、前記スレッド選択器１１５は前記ＳＭＴプロセッサのプロセッシングパイプライン上で何れのスレッドが最短の処理時間を有するかを決定する。
【００３１】
前記マルチプレクサ１１７はプログラムカウンタの各々から出力されるプログラムカウント値ＰＣ０ないしＰＣＮ−１を受信し、前記スレッド選択情報（ＴＳＩ）が指示するスレッドのプログラムカウント値をフェッチされたアドレスとして出力する。
【００３２】
前述したような本発明の一実施形態に係る図１のＳＭＴプロセッサの動作をさらに詳細に説明する。
【００３３】
図３は、図１のＳＭＴプロセッサの動作説明のためのフローチャートである。図３を参照すれば、まず、フェッチ部１１０は、図２の説明と同様に、命令語デコーダ１３０及び命令語指示部１５０からフィードバックされたデコーダ情報及び実行指示された命令語情報を用いて加重値が与えられた命令語数を生成する（Ｓ３１０）。これにより、前記フェッチ部１１０は前記加重値が与えられた命令語数が最も小さなスレッドを選択し、選択されたスレッドに対応するプログラムカウンタのうち１つからアドレスをフェッチする。次いで、命令語キャッシュ部１２０は前記フェッチされたアドレスに対応するフェッチされた命令語を命令語デコーダ１３０に出力し、命令語デコーダ１３０はその命令語をデコーディングする（Ｓ３２０）。この際、生成されるデコーダ情報は前記フェッチ部１１０にフィードバックされる（Ｓ３７０）。レジスタ再命名部１４０は命令語デコーダ１３０でデコーディングされた命令語に対応して生成されたアドレスをレジスタ１６３のうちの実際レジスタのアドレスと再命名する（Ｓ３３０）。
【００３４】
次いで、前記デコーディングされた命令語は命令語指示部１５０に貯蔵され、前記再命名されたアドレスに応答して実行部１６０に前記フェッチされた命令語に対する実行指示を行う（Ｓ３４０）。この際、実行指示された命令語情報が前記フェッチ部１１０にフィードバックされる（Ｓ３８０）。前記実行部１６０は前記実行指示に応答して前記実行指示された命令語を実行し、このような命令語実行によって演算された結果がデスティネーションレジスタに貯蔵される（Ｓ３５０〜Ｓ３６０）。
【００３５】
以上により最適な実施形態が開示された。ここで特定の用語が使われたが、これは単に本発明を説明するための目的で使われたのであり、意味限定や特許請求の範囲上に記載された本発明の範囲を制限するために使われたのではない。したがって、当業者ならばこれから多様な変形及び均等な他の実施形態が可能であるという点を理解できる。したがって、本発明の真の技術的保護範囲は特許請求の範囲上の技術的思想により決まるべきである。
【産業上の利用可能性】
【００３６】
本発明に係るＳＭＴプロセッサは、コンピュータシステムのＣＰＵ（ｃｏｎｔｒｏｌ ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔ）に利用されうる。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態に係るＳＭＴプロセッサのブロック図である。
【図２】図１のフェッチ部１１０の具体的なブロック図である。
【図３】図１のＳＭＴプロセッサの動作説明のためのフローチャートである。
【符号の説明】
【００３８】
１１０    フェッチ部
１２０    命令語キャッシュ部
１３０    命令語デコーダ
１４０    レジスタ再命名部
１５０    命令語指示部
１６０    実行部
１６１    データキャッシュ
１６３    レジスタ
１６５    機能ユニット
【図１】
2004227587.tif 000003
【図２】
2004227587.tif 000004
【図３】
2004227587.tif 000005