(57)【要約】【課題】高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施する方法および装置を提供すること。【解決手段】第１の層のスレッド状態ストレージは、限定された数の実行可能なスレッド・レジスタ状態を格納する。この限定された数は閾値よりも小さい。第１の層のスレッド状態ストレージと現在実行中のプロセッサの状態の間に結合された次スレッド選択論理は、限定された数の実行可能なスレッド・レジスタ状態からプロセッサで実行するために次のスレッドを選別する。第２の層のスレッド・ストレージ機能は、限定された数の実行可能なスレッド・レジスタ状態よりも大きな第２の数のスレッド状態を格納する。第１の層のスレッド状態ストレージと第２の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理は、第１の層の限定された数の実行可能なスレッド・レジスタ状態と第２の層のスレッド・ストレージ機能の間でスレッド状態を選択的に交換する。【選択図】図２
2004110796.tif 000002
【特許請求の範囲】
【請求項１】
　高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置において、
　閾値よりも小さい限定された数の実行可能なスレッド・レジスタ状態を格納するための第１の層のスレッド状態ストレージと、
　前記限定された数の実行可能なスレッド・レジスタ状態からプロセッサで実行するべき次のスレッドを選別する、前記第１の層のスレッド状態ストレージと現在実行中のプロセッサの状態の間に結合された次スレッド選択論理と、
　実行可能なスレッド・レジスタ状態の前記限定された数よりも大きな第２の数のスレッド状態を格納するための第２の層のスレッド・ストレージ機能と、
　前記第１の層の限定された数の実行可能なスレッド・レジスタ状態と前記第２の層のスレッド・ストレージ機能の間でスレッド状態を交換するための、前記第１の層のスレッド状態ストレージと前記第２の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理と
　を含む装置。
【請求項２】
　限定された数の実行可能なスレッド・レジスタ状態の前記第１の層が高クロック・レートに対して最適化された高速論理である請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項３】
　プロセッサで実行されるスレッドが、限定された数の実行可能なスレッド・レジスタ状態の前記第１の層からだけである請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項４】
　前記第２の数のスレッド状態のための前記第２の層のスレッド・ストレージ機能が、高速クロック・レートよりも速度の低い中速論理である請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項５】
　スレッド状態の前記第２の数がピーク・プロセッサ・パフォーマンスをサポートするためのスレッド設定数に等しい請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項６】
　前記次スレッド選択論理がプロセッサ停止状態を識別し、現在停止しているスレッドの状態を前記実行可能なスレッド・レジスタ状態の待機域に移動し、前記実行可能なスレッド・レジスタ状態から次のスレッドを選別し、前記プロセッサで前記次のスレッドを起動する請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項７】
　前記実行可能スレッド選択論理が前記プロセッサで実行することができるスレッドのフル・セットを設定し、前記第２の層のスレッド・ストレージ機能に状態記述を転送する請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項８】
　前記実行可能スレッド選択論理が前記実行可能なスレッド・レジスタ状態の前記限定された数を満たすためにスレッドのセットを選別する請求項７に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項９】
　前記実行可能スレッド選択論理がプロセッサ停止状態を識別し、すべてのスレッドの状態を評価し、スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有しているかをチェックする請求項１に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項１０】
　スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有していないことに応答して前記実行可能スレッド選択論理が、前記第１の層の最も適していないスレッドを前記第２の層のスレッドに置き換える請求項９に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
【請求項１１】
　高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施する方法において、
　限定された数の実行可能なスレッド・レジスタ状態を格納している、高クロック・レートに対して最適化された第１の層の状態ストレージ論理を使用するステップと、
　実行可能なスレッド・レジスタ状態の前記限定された数よりも大きく、プロセッサで実行するためのスレッド設定数に等しい第２の数のスレッド状態に関する状態記述を格納している第２の層のストレージ機能を使用するステップと、
　前記限定された数の実行可能なスレッド・レジスタ状態だけから前記プロセッサで実行するべき次のスレッドを選択する、次スレッド選択論理を使用するステップと、
　前記第１の層の状態ストレージ論理と前記第２の層のストレージ機能の間でスレッド状態を選択的に交換する実行可能スレッド選択論理を使用するステップと
　を含む方法。
【請求項１２】
　前記プロセッサで実行するために次のスレッドを選択するステップが、プロセッサ停止状態を識別し、現在停止しているスレッドの状態を前記第１の層の状態ストレージ論理の待機域に移動し、前記限定された数の実行可能なスレッド・レジスタ状態から次のスレッドを選別し、前記プロセッサで前記次のスレッドを起動するステップを含む請求項１１に記載の二層マルチスレッド化サポートを実施する方法。
【請求項１３】
　前記第１の層の状態ストレージ論理と前記第２の層のストレージ機能の間でスレッド状態を選択的に交換するステップが、プロセッサ停止状態を識別し、前記プロセッサで実行するためにすべてのスレッドの状態を評価し、スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有しているかをチェックするステップを含む請求項１１に記載の二層スレッド状態マルチスレッド化サポートを実施する方法。
【請求項１４】
　スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有していないことに応答して、前記第１の層の実行可能なスレッド・レジスタ状態の最も適していないスレッドを前記第２の層のストレージ機能の１つのスレッドに置き換えるステップをさらに含む請求項１３に記載の二層スレッド状態マルチスレッド化サポートを実施する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、一般に、データ処理分野に関し、より詳細には、高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施する方法および装置に関する。
【背景技術】
【０００２】
　関連する米国特許出願番号10/246,912、Jeffrey DouglasBrown、Harold F. Kossman、およびTimothy John Mullinsによる「METHOD AND APPARATUS FORIMPLEMENTING THREAD REPLACEMNET FOR OPTIMAL PERFORMANCE IN A TWO-TIEREDMULTITHREADING STRUCTURE」は、本発明の譲渡人に譲渡され、本発明の出願と同日に出願された。
【０００３】
　ＣＰＵ内のハードウェアの効率は、処理タスクをスレッドと呼ばれる単独で実行可能な命令シーケンスに分割することによって向上する。何らかの理由でＣＰＵがこれらのスレッドの１つの処理または実行を継続できない場合、ＣＰＵは迅速に別のスレッドに切り替えて実行する。マルチスレッド化は、コンピュータ・システムの全体的な速度すなわちシステム・スループットを向上させるために有効な方法である。
【０００４】
　マルチスレッド化の設計技術は、プロセッサのパフォーマンスがクロック周波数を増やすことを可能にする重要な手段となっている。過去のプロセッサ設計でパフォーマンスを低下させる停止状態が発生した場合、マルチスレッド化によってアクティビティの別個の並列スレッドによる命令の継続的な実行が可能になる。しかしクロック周波数が増えつづける場合、プロセッサが実行するための継続的に使用可能なオプションを提供するために、ハードウェアではより多くのスレッドをサポートすることが必要となる。
【０００５】
　図１を参照すると、１００でその全体を示した従来技術のマルチスレッド化選択構造が示されている。従来技術のマルチスレッド化選択構造１００は、複数のスレッド０−Ｎレジスタ状態１０２で示すように、レジスタと他の状態記述ハードウェアの完全な補完物（これは各実行スレッドを該ハードウェアでサポートするためのものである）を含む一層設計である。スレッド０−Ｎレジスタ状態１０２は、実行可能なスレッド０−Ｎのそれぞれに対して別個の状態のコピーを提供する。従来技術のマルチスレッド化選択構造１００は、アイドル・イベントで変更されたプロセッサで実行するために特定のスレッドを設定した場合に次のスレッド状態１０２を選択するために、複数のスレッド０−Ｎレジスタ状態１０２と現在実行中のプロセッサの状態１０６の間に結合された次スレッド選択論理１０４を含む。
【特許文献１】米国特許出願番号10/246,912
【発明の開示】
【発明が解決しようとする課題】
【０００６】
　クロック周波数が増えると、マシンではより多くのスレッドをサポートする必要があり、その結果、実行可能なスレッド０−Ｎのそれぞれに対して状態の別個のコピーが必要となる。クロック周波数が増え、スレッド数が増えると、マルチスレッド化選択構造１００と選択論理１０４は、サポートされるスレッド数がある閾値の限界を超えて増えるので複雑化する。ハードウェアがサポートしている多くのスレッド状態から次に所望のスレッド状態１０２の実行を可能にするための選択論理１０４は複雑化し、この設計のピーク・クロック・レートに影響を与える。
【０００７】
　現在、設計者は、次の２つの低下のうちで深刻でない方を選択せざるを得ない。すなわち、１）多数の実行スレッドを有するのに必要な論理を収容するためにクロック速度が低下すること、または、２）高クロック・レートでの停止状態中に命令の実行をサポートするべきスレッド状態が制限されて不十分となること。
【０００８】
　クロック・レートに影響を与えずにハードウェアで多数のスレッドをサポートするための最適な状態を可能にする機構が求められている。
【課題を解決するための手段】
【０００９】
　本発明の主な目的は、二層スレッド状態のマルチスレッド化サポートを高クロック・レートで実施するための方法および装置を提供することである。本発明の他の重要な目的は、事実上悪影響なしに高クロック・レートで二層スレッド状態のマルチスレッド化サポートを実施するための、従来技術の構成の不利な点の多くを克服する方法および装置を提供することである。
【００１０】
　端的に言えば、高クロック・レートによって二層スレッド状態マルチスレッド化サポートを実施するための方法および装置が提供される。第１の層のスレッド状態ストレージは、限定された数の実行可能なスレッド・レジスタ状態を格納する。この限定された数は閾値よりも小さい。第１の層のスレッド状態ストレージと現在実行中のプロセッサの状態の間に結合された次スレッド選択論理は、限定された数の実行可能なスレッド・レジスタ状態からプロセッサで実行するために次のスレッドを選別する。第２の層のスレッド・ストレージ機能は、実行可能なスレッド・レジスタ状態の限定された数よりも大きな第２の数のスレッド状態を格納する。第１の層のスレッド状態ストレージと第２の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理は、第１の層の限定された数の実行可能なスレッド・レジスタ状態と第２の層のスレッド・ストレージ機能の間でスレッド状態を選択的に交換する。
【００１１】
　本発明の特徴によれば、第１の層のスレッド状態ストレージは、高クロック・レートに対して最適化された高速論理である。第２の層のスレッド・ストレージ機能は、任意選択で高速クロック・レートよりも速度の低い中速論理である。第２の層のスレッド・ストレージ機能は、ピーク・プロセッサ・パフォーマンスに要求されるスレッドの設定数に等しい複数のスレッド状態を格納する。第２の層のスレッド・ストレージ機能にだけ存在する状態を有するスレッドは、プロセッサを使用することはできないが、第１の層のスレッド状態ストレージと第２の層のスレッド・ストレージ機能の間でスレッド状態を交換するために実行可能スレッド選択論理による高速選択には使用可能である。
【発明を実施するための最良の形態】
【００１２】
　本発明は、上記および他の目的および利点と共に、図面に示す本発明の好ましい実施形態の以下の詳細な説明から最もよく理解することができよう。
【００１３】
　次に図面を参照すると、図２には好ましい実施形態の、参照文字２００で全体を示したマルチスレッド化選択構造が示されている。マルチスレッド化選択構造２００は、２０２および２０４で全体を示した二層のスレッド状態ストレージを含む。第１の層のスレッド状態ストレージ２０２は、高速クロック・レートに対して最適化された高速論理である。第２の層のスレッド状態ストレージ２０４は、任意選択で第１の層の状態ストレージ２０２の高速論理よりも低速で動作する中速論理である。
【００１４】
　好ましい実施形態の特徴によれば、マルチスレッド化選択構造２００は、クロック・レートに影響を与えずにハードウェアの多数のスレッドに対するサポートを提供する。マルチスレッド化選択構造２００は、いくつかのレジスタ論理の複製を特定の閾値よりも多く増やす必要がある場合に起こりうるクロック・レートに対する不利益を回避する。従来、実行のすべてのスレッドは、同じ編成および速度の論理回路によってハードウェアでサポートされる。本発明の第１の態様は、そうではなく第１の層２０２でのそのレジスタ論理の複製の数Ｌを特定の閾値の数よりも少ない数に制限することを要求する。これによって、影響を与えずにクロック・レートを増やすことが可能になる。しかし、プロセッサに対するスレッド・レジスタ状態のセットを高クロック・レートに制限するだけで、パフォーマンスはアンバランスになる。不要な停止状態が生じるが、これは実行するために使用可能なスレッドが欠如していることによってこの状態が生じる際には克服することができない。
【００１５】
　このアンバランスを克服するには、本発明の第２の態様、すなわちプロセッサの状態ストレージの第２の層２０４の追加のスレッドをサポートすることが必要となる。この第２の層２０４は、ピーク・パフォーマンスを達成するために、ハードウェアのサポートを必要とするスレッドの完全な合計数に対する状態情報を保存するための容量を提供する。第２の層２０４にだけ存在する状態を有するスレッドは、プロセッサを使用することはできないが、制御論理による高速選択には使用可能である。この選択は、状態ストレージの第１の層２０２からスレッドを選択する際ほど高速でない場合があるが、増加する状態の容量に対する従来の対処法であるプロセッサのメイン・メモリに対して保存／復元シナリオを実行する方法よりはかなり高速である。第２の層に保存されている特定のスレッド状態に関する情報は、必要に応じて第１の層２０２に格納されている特定のスレッド状態０−Ｌに関する情報と交換することができる。通常、これは、第１の層のスレッド状態ストレージ２０２から出されて実行中のスレッドがプロセッサの停止状態に遭遇した場合に行われる。
【００１６】
　図２に示すように、二層マルチスレッド化選択構造２００は、第１の層２０２でプロセッサの実行の複数のスレッドのために、複数の実行可能なスレッド０−Ｌレジスタ状態２０６の数を制限する。アイドル・イベントで変更されたプロセッサで実行するべき特定のスレッドを設定する場合に次のスレッド状態２０６を高速に選択するために、マルチスレッド化選択構造２００は、第１の層の実行可能なスレッド０−Ｌレジスタ状態２０６と現在実行中のプロセッサの状態２１０の間に結合された次スレッド選択論理２０８を含む。状態ストレージの第１の層２０２のこのような実施態様は高クロック・レートを可能にするが、本発明のこの他の態様なしにこれだけでは設計のピーク・パフォーマンスは制限される。
【００１７】
　第２の層のスレッド状態ストレージ２０４の二次スレッド・ストレージ機能２１２において、高クロック・レートでピーク・パフォーマンスをサポートするために必要となるスレッドの合計数に対して追加の容量が提供される。これによって、通常ならば発生するピーク・パフォーマンスの制限が克服される。各スレッドの状態に加え、実行可能スレッド選択論理２１４が第１の層のレジスタ状態ストレージとの交換を必要するか否かを判定する場合に第２の層の状態ストレージ２０４から選択されるべき次のスレッドを決定する際に有用な情報を含めるようストレージ域が与えられる。現在の最先端技術では既に実現しているように、第１の層のレジスタ状態ストレージ２０６からのスレッドのみがプロセッサで実行される。プロセッサ制御論理によって決定された適切な時点で、実行可能なスレッド選択論理２１４は、スレッド状態をスレッド状態ストレージの第１の層２０２と第２の層２０４の間で交換することを必要とする。通常、これによって、第２の層のストレージ２１２からの特定の実行可能なスレッドが、第１の層の資源２０６を使用している停止したスレッドをいつでも再呼び出しできる状態を維持しながら、第１の層のレジスタ空間のプロセッサ機能にアクセスすることを可能にする。
【００１８】
　図３を参照すると、好ましい実施形態によってマルチスレッド化選択構造２００での次スレッド選択論理２０８の動作例が示されている。ブロック３００に示すように、次スレッド選択論理２０８はプロセッサで次に実行するのに最適なスレッドを選別する。決定ブロック３０２に示すように、発生中のプロセッサの停止状態に関するチェックが実行される。プロセッサの停止状態が発生している場合、次スレッド選択論理２０８は停止したスレッド状態を実行可能なスレッド状態レジスタ２０６の待機域に移動し、実行可能なスレッド状態レジスタ２０６から新しいスレッドを選別し、プロセッサで起動する。次いで動作は、決定ブロック３０２での発生中のプロセッサの停止状態に関するチェックに戻る。
【００１９】
　図４を参照すると、好ましい実施形態による実行可能スレッド選択論理２１４の動作例が示されている。第１の実行可能スレッド選択論理２１４は、ブロック４００に示すように、プロセッサで実行することができるスレッドのフル・セットを設定し、二次スレッド・ストレージ機能２１２に状態記述を転送する。次の実行可能スレッド選択論理２１４は、実行可能なスレッド・レジスタ状態２０６を満たすために限定された数のＬスレッドを選別する。決定ブロック４０６に示すように、発生中のプロセッサの停止状態に対してチェックが実行される。プロセッサの停止状態が発生すると、実行可能スレッド選択論理２１４は、ブロック４０８に示すように、すべてのスレッドの状態を評価する。次の実行可能スレッド選択論理２１４は、決定ブロック４１０に示すように、実行可能なスレッド・レジスタ状態２０６をスレッドの最適なセットが占有しているか否かを判定する。スレッドの最適なセットが実行可能なスレッド・レジスタ状態２０６を占有している場合、動作は、決定ブロック４０６での発生中のプロセッサの停止状態に関するチェックに戻る。そうではなくスレッドの最適なセットが実行可能なスレッド・レジスタ状態２０６を占有していない場合、ブロック４１２に示すように、高速の第１の層２０２の最も適していないスレッドは、第２の層２０４からの実行可能なスレッドに置き換えられる。次いで動作は、決定ブロック４０６での発生中のプロセッサの停止状態に関するチェックに戻る。
【００２０】
　本発明は、図面に示した本発明の実施形態の詳細を参照して説明したが、これらの詳細は首記の特許請求の範囲で請求するように本発明の範囲を限定することを目的とするものではない。
【００２１】
　まとめとして、本発明の構成に関して以下の事項を開示する。
【００２２】
（１）高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置において、
　閾値よりも小さい限定された数の実行可能なスレッド・レジスタ状態を格納するための第１の層のスレッド状態ストレージと、
　前記限定された数の実行可能なスレッド・レジスタ状態からプロセッサで実行するべき次のスレッドを選別する、前記第１の層のスレッド状態ストレージと現在実行中のプロセッサの状態の間に結合された次スレッド選択論理と、
　実行可能なスレッド・レジスタ状態の前記限定された数よりも大きな第２の数のスレッド状態を格納するための第２の層のスレッド・ストレージ機能と、
　前記第１の層の限定された数の実行可能なスレッド・レジスタ状態と前記第２の層のスレッド・ストレージ機能の間でスレッド状態を交換するための、前記第１の層のスレッド状態ストレージと前記第２の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理と
　を含む装置。
（２）限定された数の実行可能なスレッド・レジスタ状態の前記第１の層が高クロック・レートに対して最適化された高速論理である上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（３）プロセッサで実行されるスレッドが、限定された数の実行可能なスレッド・レジスタ状態の前記第１の層からだけである上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（４）前記第２の数のスレッド状態のための前記第２の層のスレッド・ストレージ機能が、高速クロック・レートよりも速度の低い中速論理である上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（５）スレッド状態の前記第２の数がピーク・プロセッサ・パフォーマンスをサポートするためのスレッド設定数に等しい上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（６）前記次スレッド選択論理がプロセッサ停止状態を識別し、現在停止しているスレッドの状態を前記実行可能なスレッド・レジスタ状態の待機域に移動し、前記実行可能なスレッド・レジスタ状態から次のスレッドを選別し、前記プロセッサで前記次のスレッドを起動する上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（７）前記実行可能スレッド選択論理が前記プロセッサで実行することができるスレッドのフル・セットを設定し、前記第２の層のスレッド・ストレージ機能に状態記述を転送する上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（８）前記実行可能スレッド選択論理が前記実行可能なスレッド・レジスタ状態の前記限定された数を満たすためにスレッドのセットを選別する上記（７）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（９）前記実行可能スレッド選択論理がプロセッサ停止状態を識別し、すべてのスレッドの状態を評価し、スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有しているかをチェックする上記（１）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（１０）スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有していないことに応答して前記実行可能スレッド選択論理が、前記第１の層の最も適していないスレッドを前記第２の層のスレッドに置き換える上記（９）に記載の高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施するための装置。
（１１）高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施する方法において、
　限定された数の実行可能なスレッド・レジスタ状態を格納している、高クロック・レートに対して最適化された第１の層の状態ストレージ論理を使用するステップと、
　実行可能なスレッド・レジスタ状態の前記限定された数よりも大きく、プロセッサで実行するためのスレッド設定数に等しい第２の数のスレッド状態に関する状態記述を格納している第２の層のストレージ機能を使用するステップと、
　前記限定された数の実行可能なスレッド・レジスタ状態だけから前記プロセッサで実行するべき次のスレッドを選択する、次スレッド選択論理を使用するステップと、
　前記第１の層の状態ストレージ論理と前記第２の層のストレージ機能の間でスレッド状態を選択的に交換する実行可能スレッド選択論理を使用するステップと
　を含む方法。
（１２）前記プロセッサで実行するために次のスレッドを選択するステップが、プロセッサ停止状態を識別し、現在停止しているスレッドの状態を前記第１の層の状態ストレージ論理の待機域に移動し、前記限定された数の実行可能なスレッド・レジスタ状態から次のスレッドを選別し、前記プロセッサで前記次のスレッドを起動するステップを含む上記（１１）に記載の二層マルチスレッド化サポートを実施する方法。
（１３）前記第１の層の状態ストレージ論理と前記第２の層のストレージ機能の間でスレッド状態を選択的に交換するステップが、プロセッサ停止状態を識別し、前記プロセッサで実行するためにすべてのスレッドの状態を評価し、スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有しているかをチェックするステップを含む上記（１１）に記載の二層スレッド状態マルチスレッド化サポートを実施する方法。
（１４）スレッドの最適なセットが前記実行可能なスレッド・レジスタ状態を占有していないことに応答して、前記第１の層の実行可能なスレッド・レジスタ状態の最も適していないスレッドを前記第２の層のストレージ機能の１つのスレッドに置き換えるステップをさらに含む上記（１３）に記載の二層スレッド状態マルチスレッド化サポートを実施する方法。
【図面の簡単な説明】
【００２３】
【図１】従来技術のマルチスレッド化選択構造を示すブロック図である。
【図２】好ましい実施形態による二層マルチスレッド化選択構造を示すブロック図である。
【図３】好ましい実施形態による次のスレッド選択の動作例を示す流れ図である。
【図４】好ましい実施形態による実行可能スレッド選択論理の動作例を示す流れ図である。
【符号の説明】
【００２４】
　２０６　実行可能なスレッド０−Ｎレジスタ状態
　２０８　次スレッド選択論理
　２１０　現在実行中のプロセッサの状態
　２１２　二次スレッド・ストレージ機能
　２１４　実行可能スレッド選択論理
【図１】
2004110796.tif 000003
【図２】
2004110796.tif 000004
【図３】
2004110796.tif 000005
【図４】
2004110796.tif 000006