(57)【要約】      （修正有）【課題】バスアクセス要求を選択的に除外するシステムおよび方法を提供する。【解決手段】方法はプロセッサ１０２の論理回路１０８でバスユニット・アクセス設定を判定することを含む。この方法はバスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外することをさらに含む。選択的に除外することが、バスユニット・アクセス設定に応答して、バスユニット・アクセス要求を遮断し、選択的に、バスユニット・アクセス要求を廃棄するか、または、バスユニット・アクセス要求をプロセッサのバスユニット１１０へ送信する、論理回路によって実行される。【選択図】図１
2014053016.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサの論理回路でバスユニット・アクセス設定を判定することと、
前記バスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外することと、
を具備する方法。
【請求項２】
前記選択的に除外することが、前記バスユニット・アクセス設定に応答して、前記バスユニット・アクセス要求を遮断し、選択的に、前記バスユニット・アクセス要求を廃棄するか、または、前記バスユニット・アクセス要求を前記プロセッサのバスユニットへ送信する、前記論理回路によって実行される、請求項１に記載の方法。
【請求項３】
前記プロセッサが複数のバスユニット・アクセス設定を含むマルチスレッド型プロセッサであり、
前記論理回路がスレッド単位で複数の命令スレッドからのバスユニット・アクセス要求を選択的に除外するよう動作可能であり、前記複数の命令スレッドの各命令スレッドが前記複数のバスユニット・アクセス設定のうちの対応するバスユニット・アクセス設定を有している、
請求項１に記載の方法。
【請求項４】
前記バスユニット・アクセス要求が、データまたは命令が前記プロセッサの実行ユニットによって必要とされる前に、メモリからデータまたは命令を取り出すことをキャッシュに要求するためのプリフェッチ命令を具備する、請求項１に記載の方法。
【請求項５】
前記バスユニット・アクセス要求を選択的に除外することがサービス品質パラメータに基づいてロード命令または記憶命令を除外することを具備する、請求項１に記載の方法。
【請求項６】
前記バスユニット・アクセス設定が、プリフェッチが無効にされた設定を具備する、請求項１に記載の方法。
【請求項７】
前記プロセッサの実行ユニットが、キャッシュされていないメモリアクセスに応答して、または、キャッシュミス・イベントに応答して、メモリからデータを取り出すためバスユニットを使用することを許可することをさらに具備する、請求項６に記載の方法。
【請求項８】
選択的に除外することが、キャッシュミスの有無にかかわらずメモリからデータを取り出すためにハードウェアプリフェッチ試行を除外することを含む、請求項１に記載の方法。
【請求項９】
前記バスユニット・アクセス設定が、保証サービス品質設定、ビットフラグ設定、バス・キュー閾値、有効もしくは無効設定、または、これらの任意の組み合わせのうちの１つを具備する、請求項１に記載の方法。
【請求項１０】
前記バスユニット・アクセス設定がスーパーバイザ状態レジスタのビットフラグを具備する、請求項１に記載の方法。
【請求項１１】
前記バスユニット・アクセス要求がハードウェアユニットまたはソフトウェアコマンドから受信される、請求項１に記載の方法。
【請求項１２】
前記バスユニット・アクセス要求がデータ・キャッシュ・プリフェッチ要求または命令キャッシュ・プリフェッチ要求を具備する、請求項１に記載の方法。
【請求項１３】
前記バスユニット・アクセス設定がバスユニット閾値を具備する、請求項１に記載の方法。
【請求項１４】
前記バスユニット閾値がデータキューの深さを具備する、請求項１３に記載の方法。
【請求項１５】
アプリケーションと関連付けられたサービス品質パラメータを受信することをさらに具備する、請求項２に記載の方法。
【請求項１６】
データを取り出すため命令を処理するように構成されている実行ユニットと、
メモリへのアクセスのための受信された要求を処理するように構成され、未処理の要求を記憶するバッファを有しているバスユニットと、
前記データが、前記命令と関連付けられた優先度設定に応答して、さらに前記バッファの状態に応答して、前記メモリから取り出されることを選択的に防止するように構成されている論理回路と、
を具備するプロセッサ。
【請求項１７】
前記バッファがキューを含み、
前記論理回路が、前記優先度設定と関連付けられている閾値を超える前記キューの深さに応答して、前記データが前記メモリから取り出されることを選択的に防止するように構成されている、
請求項２６に記載のプロセッサ。
【請求項１８】
前記命令が複数の処理スレッドのうちの特定の処理スレッドと関連付けられ、
前記複数の処理スレッドのうちの各処理スレッドが対応する優先度設定と関連付けられている、
請求項２７に記載のプロセッサ。
【請求項１９】
前記命令がロード命令であり、
前記論理回路が、キャッシュミスに応答して、前記データが前記メモリからアクセスされることを防止するように構成されている、
請求項２７に記載のプロセッサ。
【請求項２０】
前記命令がキャッシュに記憶されるべき前記データのためのプリフェッチ命令である、請求項２７に記載のプロセッサ。
【請求項２１】
前記論理回路が、前記命令と関連付けられたハードウェア生成プリフェッチ要求に応答して、前記メモリへのアクセスを選択的に無効にするようにさらに構成されている、請求項２０に記載のプロセッサ。
【請求項２２】
マルチスレッド型プロセッサで特定のスレッドと関連付けられた優先度設定を判定する手段と、
前記特定のスレッドに対応するデータまたは命令のための要求を生成する手段と、
システム容量を測定する手段と、
前記優先度設定に応答して、さらに前記システム容量に応答して、データまたは命令のための前記要求を選択的に除外するように構成されている論理回路と、
を具備するシステム。
【請求項２３】
前記優先度設定が、前記特定のスレッドに専用であるスーパーバイザ状態レジスタに記憶された少なくとも１つのビット値を含む、請求項２２に記載のシステム。
【請求項２４】
前記論理回路が、前記優先度設定が低優先度を示すとき、そして、前記システム容量が閾値より低いとき、ソフトウェア生成プリフェッチ要求を無効にするように構成されている、請求項２２に記載のシステム。
【請求項２５】
前記データ又は命令のための要求を生成する手段が、キャッシュミスに応答して、前記要求を生成するように構成されているキャッシュを含み、
前記論理回路が、前記要求がバスユニットで受信されることを防止するように構成されている、
請求項２４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、バスアクセス要求の処理に関する。
【背景技術】
【０００２】
技術の進歩はより小型かつより強力なパーソナルコンピューティング装置という結果をもたらした。たとえば、現在、小型、軽量、かつ、ユーザによって容易に携行される携帯型ワイヤレス電話機、パーソナル・デジタル・アシスタント（ＰＤＡ）、および、ページング装置のようなワイヤレスコンピューティング装置を含む多様な携帯型パーソナルコンピューティング装置が存在する。より詳細には、セルラー電話機およびＩＰ電話機のような携帯型ワイヤレス電話機は、ワイヤレスネットワークを越えて音声およびデータパケットを通信可能である。さらに、多数のこのようなワイヤレス電話機は、そのワイヤレス電話機の中に組み込まれた他のタイプの装置を含む。たとえば、ワイヤレス電話機は、デジタル・スチル・カメラ、デジタル・ビデオ・カメラ、デジタルレコーダ、および、オーディオ・ファイル・プレーヤをさらに含み得る。同様に、このようなワイヤレス電話機は、インターネットにアクセスするため使用され得るウェブ・ブラウザ・アプリケーションのようなソフトウェアアプリケーションを含む実行可能な命令を処理可能である。したがって、これらのワイヤレス電話機はかなりのコンピューティング能力を含むことが可能である。
【０００３】
電子装置の性能は、メモリアクセスによって引き起こされる遅延を短縮することによって改良されることがある。一般に、メモリはチップ外部に位置し、要求されたデータ又は命令がメモリから取り出される間にプロセッサのストールを引き起こすことがあるバスを介してプロセッサにアクセス可能である。このような遅延を短縮するため、電子装置は、多くの場合に、キャッシュに記憶されたデータまたは命令へのより高速なプロセッサアクセスを提供する１つ以上のキャッシュを有する。プロセッサは、メモリから取り出されたデータまたは命令の要求を見越して、メモリからデータまたは命令を取り出し、データまたは命令をキャッシュに記憶するため「プリフェッチ」(“prefetch”)要求を生成することがある。プリフェッチ要求はソフトウェアコマンドから生じることがあり、または、ハードウェアによって自動的に生成されることがある。
【０００４】
プリフェッチ要求はデータまたは命令が要求されたときにキャッシュされている可能性を増大することにより処理遅延を短縮することが可能であるが、各プリフェッチ要求およびメモリアクセスはシステム資源を消費する。特に、プリフェッチ要求をメモリへ送信し、要求されたデータまたは命令を返信するためにバス資源が消費される。複数のプロセスがバス資源を共用するとき、バスを経由するメモリへのアクセスは、他のプロセスによって生成されたプリフェッチ要求が原因で１つ以上のプロセスに対し低下させられることがある。
【発明の概要】
【０００５】
特定の実施形態では、プロセッサの論理回路でバスユニット・アクセス設定を判定することを含む方法が開示される。この方法は、バスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外(preclude)することをさらに含む。たとえば、バスアクセス要求は、遮断され(intercepted)て廃棄される(discarded)こと、ブロックされる(blocked)こと、拒絶される(denied)こと、または、さもなければ、要求に従って動作がなされないこと(not acted upon)によって除外されてもよい。
【０００６】
別の特定の実施形態では、プロセッサが開示される。プロセッサは、データを取り出すため命令を処理するように構成されている実行ユニットを含む。プロセッサは、メモリへのアクセスのための要求を処理するように構成されているバスユニットを含む。バスユニットは、未処理要求を記憶するバッファを含む。プロセッサは、命令と関連付けられた優先度設定に応答し、さらにバッファの状態に応答して、データがメモリから取り出されることを選択的に防止するように構成されている論理回路をさらに含む。
【０００７】
別の特定の実施形態では、システムが開示される。システムは、マルチスレッド型プロセッサで特定のスレッドと関連付けられた優先度設定を判定する手段を含む。システムは、特定のスレッドに対応するデータまたは命令の要求を生成する手段を含む。システムは、システム容量を測定する手段をさらに含む。システムは、優先度設定に応答し、さらにシステム容量に応答して、データまたは命令の要求を選択的に除外するように構成されている論理回路をさらに含む。
【０００８】
開示された実施形態によって提供される特定の利点は、利用可能なシステム資源に基づいてより低い優先度スレッドのためのバスアクセス要求がより高い優先度スレッドのためのアクセスを改善するため拒絶されてもよい改善された装置性能である。
【０００９】
本開示の他の態様、利点、および、特徴は、以下のセクション、すなわち、図面の簡単な説明、詳細な説明、および、特許請求の範囲を含む出願全体を検討した後に明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】システムの実施形態のブロック図である。
【図２】処理システムの実施形態のブロック図である。
【図３】システムの中で使用され得るメモリ資源の実施形態のブロック図である。
【図４】選択的除外の方法の実施形態のフローチャートである。
【図５】バスアクセス要求の処理方法の実施形態のフローチャートである。
【図６】バスアクセス要求を選択的に除外する論理を含む例示的な通信装置のブロック図である。
【詳細な説明】
【００１１】
図１を参照すると、システムが図示され、全体的に１００で指定される。システム１００は、バス１０３を介してプロセッサ１０２に結合されたメモリ１０１を含む。プロセッサ１０２は、命令キャッシュ１０４と、データ・キャッシュ１０６と、選択的要求除外を含むバスユニット・アクセス論理回路１０８とを含む。選択的要求除外を含むバスユニット・アクセス論理回路１０８は、命令キャッシュ１０４およびデータ・キャッシュ１０６を介してバスアクセス要求を受信し、バスアクセス要求をバスユニット１１０へ選択的に供給するため結合されている。選択的要求除外を含むバスユニット・アクセス論理回路１０８は、バスユニット・アクセス要求設定１１６を含む制御レジスタ１１２にさらに結合されている。
【００１２】
プロセッサ１０２は、フェッチ段１１８および実行段１２０を有するパイプラインを含む。フェッチ段１１８は、命令キャッシュ１０４からプログラム命令を受信し、命令を実行段１２０へ供給するため結合されている。実行段１２０は、命令ロード・コマンド１２２またはデータ・ロード・コマンド１２４のような、フェッチ段１１８から受信される命令を実行するように構成されている。特定の実施形態では、実行段１２０は、ソフトウェア・データ・プリフェッチ・コマンド１３４およびソフトウェア命令プリフェッチ・コマンド１３５のような命令を処理するように構成されている。
【００１３】
特定の実施形態では、プロセッサ１０２は、命令キャッシュ１０４、データ・キャッシュ１０６、および、バスユニット１１０のような共通資源を共用する多重同時プロセスをサポートする。例示的な実施形態では、プロセッサ１０２は、複数の処理スレッドを同時に処理する能力があるマルチスレッド型プロセッサである。別の例示的な実施形態では、プロセッサ１０２は複数の処理コアを含むことができる。
【００１４】
特定の実施形態では、命令キャッシュ１０４は、命令ロード要求１２２のようなプログラム命令を含むデータの要求を受信し、データが命令キャッシュ１０４に記憶されていると判定されたときに、要求されたデータを供給するように構成されている。命令キャッシュ１０４は、要求されたデータが命令キャッシュ１０４に記憶されていないときに命令キャッシュミス要求１３０を生成するようにさらに構成されている。命令キャッシュミス要求１３０は、要求されたデータをメモリ１０１から取り出すためメモリバス１０３にアクセスする要求を含む。特定の実施形態では、命令キャッシュ１０４は、命令キャッシュ・ハードウェア生成プリフェッチ要求１３１を自動的に作成するようにさらに構成されている。たとえば、命令キャッシュ１０４は、命令キャッシュ１０４のミスに応答して、命令要求アドレスのパターンの検出に応答してプリフェッチ・コマンドを生成するように構成されているか、または、命令の要求の受信に応答して、もしくは、これらの任意の組み合わせに応答して、１つ以上の次の順序(sequential)命令アドレスを自動的に要求することができる。
【００１５】
同様に、特定の実施形態では、データ・キャッシュ１０６は、実行段１２０からデータロード要求１２４のようなデータの要求を受信するように構成されている。データ・キャッシュ１０６は、要求されたデータがデータ・キャッシュ１０６に記憶されているかどうかを判定し、要求されたデータがデータ・キャッシュ１０６に記憶されていないときにデータ・キャッシュミス要求１３２を生成するように構成されている。データ・キャッシュミス要求１３２は、要求されたデータをメモリ１０１から取り出すためバス１０３にアクセスする要求を含む。その上、特定の実施形態では、データ・キャッシュ１０６は、データ・キャッシュ・ハードウェア生成プリフェッチ要求１３３を自動的に作成するようにさらに構成されることができる。特定の実施形態では、データ・キャッシュ１０６は、キャッシュミスに応答して、データ要求アドレスの検出されたパターンに応答して、データ・キャッシュ１０６で検出された他のイベントに応答して、または、これらの任意の組み合わせに応答してプリフェッチ・コマンドを自動的に生成するように構成されることができる。
【００１６】
特定の実施形態では、選択的要求除外を含むバスユニット・アクセス論理回路１０８は、命令キャッシュミス要求１３０と、命令キャッシュ・ハードウェア生成プリフェッチ要求１３１と、データ・キャッシュミス要求１３２と、データ・キャッシュ・ハードウェア生成プリフェッチ要求１３３と、ソフトウェア生成データプリフェッチ要求１３４と、ソフトウェア生成命令プリフェッチ要求１３５と、または、これらの任意の組み合わせとを含むバスユニット・アクセス要求を受信するように構成されている。選択的要求除外を含むバスユニット・アクセス論理回路１０８は、バスユニット・アクセス要求設定１１６の値に応答して要求１３０−１３５のうちのいずれかまたはすべてを除外するように構成されることができる。たとえば、要求１３０−１３５は、遮断されて廃棄されること、ブロックされること、拒絶されること、または、さもなければ、要求に従って動作がなされないことによって除外されることができる。選択的要求除外を含むバスユニット・アクセス論理回路１０８は、システム容量測定回路１１５によって判定されたとおりのバッファ１１４のようなシステム資源の容量をバスユニット１１０から受信するようにさらに構成されることができる。
【００１７】
例示的な実施形態では、バスユニット・アクセス要求設定１１６は、１つ以上のサービス品質（ＱｏＳ）パラメータを含むことができる。たとえば、バスユニット・アクセス要求設定１１６は、命令キャッシュ・ハードウェア生成プリフェッチ要求１３１、データ・キャッシュ・ハードウェア生成プリフェッチ要求１３３、または、これらの任意の組み合わせがシステム容量の閾値との比較に基づいて選択的に除外され得ることを示すＱｏＳパラメータを含むことができる。別の実施例として、バスユニット・アクセス要求設定１１６は、命令キャッシュミス要求１３０、データ・キャッシュミス要求１３２、または、これらの任意の組み合わせがシステム容量の閾値との比較に基づいて選択的に除外され得ることを示す１つ以上のＱｏＳパラメータを含むことができる。さらに、選択的要求除外を含むバスユニット・アクセス論理回路１０８は、バスユニット・アクセス要求設定１１６の１つ以上のＱｏＳパラメータに基づいて、ソフトウェア・データ・プリフェッチ要求１３４、ソフトウェア命令プリフェッチ要求１３５、または、これらの任意の組み合わせを選択的に除外するように構成されることができる。
【００１８】
特定の実施形態では、バスユニット１１０は、バス１０３を介したメモリ１０１へのアクセスの要求のようなバスアクセス要求を受信し処理するように構成されることができる。バスユニット１１０は、受信された要求が、要求がバス１０３を介して送信可能であるより高速にバスユニット１１０に到達するとき、未処理要求をキューのようなバッファ１１４に記憶するように構成されることができる。特定の実施形態では、システム容量測定回路１１５はバッファ１１４の深さを判定するように構成されることができる。たとえば、システム容量測定回路１１５は、バッファ１１４のペンディング中の要求の総数、ペンディング中の要求によって使用されるバッファ１１４の容量の割合、バッファ１１４の使用容量に基づいて要求を処理するために要する予測時間、バス１０３を介した送信および受信された要求に関連した他のシステム容量測定量、または、これらの任意の組み合わせを判定するように構成されることができる。
【００１９】
動作中に、特定の実施形態では、選択的要求除外を含むバスユニット・アクセス論理回路１０８は、１つ以上の要求１３０−１３５を遮断することにより要求を除外してもよく、そして、要求と関連付けられたバスユニット・アクセス要求セッティング１１６に基づいて、要求を廃棄するか、または、要求をバスユニット１１０へ送信するかを判定することができる。例示的な実施例として、第１の処理スレッドのためのバスユニット・アクセス制御セッティング１１６は、第１のスレッドが高優先度を有し、第１の処理スレッドと関連付けられたすべての要求１３０−１３５がバスユニット１１０へ送信され得ることを示すＱｏＳパラメータを含むことができる。しかし、第２の処理スレッドのためのバスユニット・アクセス要求設定１１６は、第２のスレッドが低優先度を有し、要求１３０−１３５の１つ以上のカテゴリがバッファ１１４のキューの深さ(queue depth)に基づいて選択的に拒絶され得ることを示すＱｏＳパラメータを含むことができる。
【００２０】
たとえば、ソフトウェア生成プリフェッチ要求１３４−１３５は、あらゆる処理サイクルと同じ頻度で生成され、かなりのバス資源を消費することがある。したがって、低優先度スレッドのためのＱｏＳパラメータは、バッファ１１４が４分の１より多くペンディング中の要求で満たされるとき、ソフトウェア生成プリフェッチ要求１３４−１３５の一方または両方が拒絶されるべきであると示すことができる。別の実施例として、ハードウェア生成プリフェッチ要求１３１および１３３は、処理スレッドが実行中である間に限り生成されることができ、データがメモリ１０１から取り出されている間のようなスレッドがストールしているときには生成されなくてもよい。したがって、ＱｏＳパラメータは、ハードウェア生成プリフェッチ要求１３１および１３３の一方または両方が、バッファが半分より多く満たされているときに拒絶されるべきことを示すことができる。別の実施例として、キャッシュミス要求１３０および１３２は、処理スレッドがメモリ１０１から取り出されるべき命令またはデータを要求するときに発生することができる。キャッシュミス要求１３０および１３２は、要求が満たされるまで処理スレッドがストールしていることを示す。したがって、低優先度スレッドに対し、ＱｏＳパラメータは、キャッシュミス要求１３０および１３２のうちの一方または両方が、バッファ１１４が４分の３より多く満たされているときに拒絶されるべきことを示すことができる。
【００２１】
他のＱｏＳパラメータ、システム容量閾値、および、要求のカテゴリがシステム要件および設計要件に基づいて提供されるか、または、使用されてもよいことが当業者によって理解されるべきである。バスアクセス要求および要求元の様々な構成が含まれ得ることも理解されるであろう。たとえば、例示的な実施形態では、ソフトウェア生成プリフェッチ要求は、キャッシュに記憶されないことがその後に判定されるデータのためのソフトウェア・プリフェッチ・コマンドをキャッシュが受信するとき、図１に図示されているように実行ユニットではなく、キャッシュで発生することができる。
【００２２】
図２を参照すると、処理システムの特定の例示的な実施形態が図示され、全体的に２００で指定されている。処理システム２００は、バスインタフェース２０８を介して命令キャッシュ２１０に結合されているメモリ２０２を含む。処理システム２００は、バスインタフェース２０８を介してメモリ２０２に結合されているデータ・キャッシュ２１２をさらに含む。命令キャッシュ２１０は、バス２１１を介してシーケンサ２１４に結合されている。特定の実施例では、シーケンサ２１４は、割り込みレジスタ（図示せず）から取り出されてもよい汎用割り込み２１６をさらに受信可能である。特定の実施形態では、命令キャッシュ２１０は、バス２１１に結合されていることがあり、処理システム２００の特定のスレッドと関連付けられてもよい複数の現在命令レジスタを介してシーケンサ２１４に結合されることができる。特定の実施形態では、処理システム２００は、６個のスレッドを含むインターリーブ(interleaved)・マルチスレッド型プロセッサである。
【００２３】
特定の実施形態では、バス２１１は６４ビットバスであり、シーケンサ２１４は、１つずつが３２ビットの長さを有する複数の命令を含む命令パケットを介してメモリ２０２から命令を取り出すように構成されている。バス２１１は、第１の命令実行ユニット２１８と、第２の命令実行ユニット２２０と、第３の命令実行ユニット２２２と、第４の命令実行ユニット２２４とに結合されている。各命令実行ユニット２１８、２２０、２２２、２２４は、第２のバス２２８を介して汎用レジスタファイル２２６に結合され得る。汎用レジスタファイル２２６は、第３のバス２３０を介してシーケンサ２１４およびデータ・キャッシュ２１２にも結合され得る。
【００２４】
処理システム２００は、バスアクセス要求をブロックするか、または、許可するかを判定する選択的要求除外を備えるバスアクセス制御論理回路２５０によってアクセスされてもよい１つ以上の優先度設定を記憶するためスーパーバイザ制御レジスタ２３２をさらに含むことができる。各処理スレッドは、特定のスレッドに専用であるスーパーバイザ状態レジスタに記憶された１つ以上のビット値のような１つ以上の関連付けられた優先度設定を有し得る。特定の実施形態では、バスアクセス要求は、命令キャッシュ２１０、データ・キャッシュ２１２、１つ以上の実行ユニット２１８、２２０、２２２、２２４、または、これらの任意の組み合わせで生成されることが可能であり、メモリ２０２に記憶されたデータの要求を含むことができる。
【００２５】
特定の実施形態では、命令キャッシュ２１０は、キャッシュミス要求、ハードウェア生成プリフェッチ要求、受信されたソフトウェア生成プリフェッチ・コマンドに応じたプリフェッチ要求、または、これらの任意の組み合わせのような、メモリ２０２にあるデータの要求を生成するための回路構成(circuitry)を含む。命令キャッシュ２１０は、選択的要求除外を備えるバスアクセス制御論理回路２５０にアクセス可能であり、かつ、選択的要求除外を備えるバスアクセス制御論理回路２５０によって修正され得る１つ以上の除外ビット２６２を記憶する制御レジスタ２５２を含む。命令キャッシュ２１０は、メモリ２０２に記憶されたデータの要求のいずれかまたはすべてをブロックし、除外ビット２６２に基づいてこのような要求がバスインタフェース２０８へ送信されることを選択的に防止するようにさらに構成されることができる。
【００２６】
同様に、特定の実施形態では、データ・キャッシュ２１２は、キャッシュミス要求、ハードウェア生成プリフェッチ要求、受信されたソフトウェア生成プリフェッチ・コマンドに応じたプリフェッチ要求、または、これらの任意の組み合わせのような、メモリ２０２に記憶されたデータの要求を生成するための回路構成を含む。データ・キャッシュ２１２は、選択的要求除外を備えるバスアクセス制御論理回路２５０にアクセス可能であり、かつ、選択的要求除外を備えるバスアクセス制御論理回路２５０によって修正され得る１つ以上の除外ビット２６４を記憶する制御レジスタ２５４を含む。データ・キャッシュ２１２は、メモリ２０２に記憶されたデータの要求のいずれかまたはすべてをブロックし、除外ビット２６４に基づいてこのような要求がバスインタフェース２０８へ送信されることを選択的に防止するようにさらに構成されることができる。
【００２７】
選択的要求除外部を備えるバスアクセス制御論理回路２５０は、スーパーバイザ制御レジスタ２３２に記憶されたスレッド優先度設定に基づいて、そして、さらに、キュー深さ測定回路２５８によって判定されるように、バスインタフェース２０８にあるキュー２５６の深さのようなバッファ容量に基づいて、除外ビット２６２および２６４をセットするように構成されている。除外ビット２６２および２６４をセットすることにより、命令キャッシュ２１０およびデータ・キャッシュ２１２は、バスインタフェース２０８を介したメモリ２０２へのアクセスの要求を選択的にブロックするように命令される。
【００２８】
動作中に、実行ユニット２１８−２２４で実行される１つ以上の命令は、バスアクセス要求を含む、メモリ２０２にあるデータの要求を結果として生じることができる。たとえば、メモリ２０２にあるデータの要求は、命令キャッシュ２１０でのキャッシュミス、命令キャッシュ２１０でハードウェアによって自動生成されたプリフェッチ要求、データ・キャッシュ２１２でのキャッシュミス、データ・キャッシュ２１２で自動生成されたプリフェッチ要求、または、命令キャッシュ２１０もしくはデータ・キャッシュ２１２で受信されるソフトウェア生成プリフェッチ要求に応答して生成されることができる。
【００２９】
選択的要求除外を備えるバスアクセス制御論理回路２５０は、結果的に要求を生じた実行された命令と関連付けられた優先度設定に応答して、そして、さらにキュー２５６の状態に応答して、データがメモリ２０２から取り出されることを選択的に防止するように構成されることができる。選択的要求除外を備えるバスアクセス制御論理２５０は、キュー深さが、低優先度スレッドによって行われたプリフェッチ要求のための容量閾値のような閾値を超えるかどうかを判定することができ、それに応じて除外ビット２６２−２６４のうちの１つ以上をセットすることができる。
【００３０】
図３を参照すると、システムが図示され、全体的に３００で指定されている。システム３００は、１組のスーパーバイザ状態レジスタ（ＳＳＲｓ）３０２を含む。ＳＳＲｓは、スレッド０からスレッド５まで列挙された６個の代表的な処理スレッドのそれぞれの状態レジスタを含む。スレッド０に対する代表的なレジスタ３０４のような各スレッドレジスタは、代表的なＱｏＳパラメータセクション３２０のようなそれぞれのサービス品質（ＱｏＳ）パラメータセクションを含む。ＱｏＳパラメータセクション３２０は、ハードウェア・データ・プリフェッチ優先度レベルフィールド３３０、ハードウェア命令プリフェッチ優先度レベルフィールド３３１、ソフトウェア・データ・プリフェッチ優先度レベルフィールド３３２、ソフトウェア命令プリフェッチ優先度レベルフィールド３３３、他のサービス品質パラメータ値フィールド（図示せず）、または、これらの任意の組み合わせのような１つ以上のサービス品質パラメータフィールドを含む。
【００３１】
特定の実施形態では、フィールド３３０−３３３はそれぞれが１つ以上のビットを含むことができる。たとえば、ハードウェア・データ・プリフェッチ優先度レベルフィールド３３０は、ビットの論理の高い値(logical high value)が高優先度スレッドを示し、ビットの論理の低い値(logical low value)が低優先度スレッドを示すような単一ビットを含むことができる。同様に、他のフィールド３３１−３３３のそれぞれがより多くの優先度レベル値のうちの１つを示す１つ以上のビットを含むことができる。特定の実施形態では、優先度レベルフィールドの中の論理の高い値は、関連付けられたバスアクセス要求が常に許可されていることを示すことができる。しかし、優先度レベルフィールドの低い値は、システム資源がある種の閾値を超えて使用されるとき、関連付けられたバスアクセス要求が許可されないことを示すことができる。たとえば、低優先度スレッドは、キュー２１４が特定のタイプのバスアクセス要求に対するスレッドの優先度レベルと関連付けられた閾値の量を超える使用状態であると判定されたとき、図２のバス２３０にアクセスすることを妨げられることができる。
【００３２】
代替的な実施形態では、１つ以上のフィールド３３０−３３３は、閾値の量を示す値を符号化(encode)することができる。たとえば、２ビットのフィールドは、全システム容量のうちの零、４分の１、２分の１、および、４分の３の閾値をそれぞれ示す値を記憶することができる。これらの閾値は、システム容量測定回路出力１１５またはキュー深さ測定回路２５８によってそれぞれ供給されるようなシステム容量との比較の際に、図１の選択的要求除外を含むバスユニット・アクセス論理回路１０８、または、図２の選択的要求除外を備えるバスアクセス制御論理回路２５０のようなバスユニット・アクセス論理回路によって使用されることができる。
【００３３】
図４を参照すると、選択的除外方法の特定の例示的な実施形態が図示され、全体的に４００で指定されている。例示的な実施形態では、方法４００は、図１の選択的要求除外を含むバスユニット・アクセス論理回路１０８、または、図２の選択的要求除外を備えるバスアクセス制御論理回路２５０のようなバスユニット・アクセス論理回路によって実行されることができる。
【００３４】
特定の実施形態では、方法４００は、４０２において、アプリケーションと関連付けられたサービス品質パラメータを受信することを含む。例示的な実施形態では、図３の代表的なＱｏＳパラメータ３２０のようなサービス品質パラメータは、レジスタに記憶される。サービス品質パラメータは、スレッド優先度、または、閾値レベルであってそれを超えるとバスアクセス要求が除外される閾値レベルを示す１つ以上の設定を含むことができる。バスアクセス要求は、遮断されて廃棄されること、ブロックされること、拒絶されること、または、さもなければ、要求に従って動作がなされないことによって除外されることができる。
【００３５】
引き続き４０４で、バスユニット・アクセス設定がプロセッサの論理回路で判定される。特定の実施形態では、プロセッサは複数のバスユニット・アクセス設定を含むマルチスレッド型プロセッサである。複数の命令スレッドのうちの各命令スレッドは対応するバスユニット・アクセス設定を有し得る。特定の実施形態では、バスユニット・アクセス設定は、対応するスレッドと関連付けられたサービス品質レベル、スレッドの絶対優先度レベル、他のスレッドと比べたスレッドの相対優先度レベル、または、スレッドと関連付けられたバスアクセスの特定のランクもしくはレベルを指定することができる。特定の実施形態では、バスユニット・アクセス設定は、他のスレッドが原因でバストラフィックが重い期間中に対応するスレッドのためのバス資源への最低保証アクセス(minimum guaranteed access)を示すことができる。特定の実施形態では、バスユニット・アクセス設定は、データキュー深さのようなバスユニット閾値を含むことができる。論理回路は、たとえば、システムレジスタからバスユニット・アクセス設定を読み出し、スレッドと関連付けられたバスユニット・アクセス設定と、スレッドによって受信されたアクセス要求のタイプと、１つ以上のバス条件との間で比較を実行することにより、スレッド単位で複数の命令スレッドからのバスユニット・アクセス要求を選択的に除外するよう動作することができる。
【００３６】
特定の実施形態では、バスユニット・アクセス設定は、スーパーバイザ状態レジスタのビットフラグを含むことができる。別の実施形態では、バスユニット・アクセス設定は、保証サービス品質、ビットフラグ設定、バス・キュー閾値、有効(enable)もしくは無効(disable)設定、または、これらの任意の組み合わせを含むことができる。例示的な実施例として、バスユニット・アクセス設定は、プリフェッチが無効にされた(prefetching disabled)設定を含むことができる。
【００３７】
４０６へ進むと、バスユニット・アクセス要求がバスユニット・アクセス設定に基づいて選択的に除外される。たとえば、バスユニット・アクセス要求は、データまたは命令がプロセッサの実行ユニットによって必要とされる前に、メモリからデータまたは命令を取り出すことをキャッシュに要求するプリフェッチ命令を含むことができる。バスユニット・アクセス要求は、ハードウェアユニットまたはソフトウェアコマンドから受信されることができる。バスユニット・アクセス要求は、データ・キャッシュ・プリフェッチ要求または命令キャッシュ・プリフェッチ要求を含むことができる。
【００３８】
特定の実施形態では、バスユニット・アクセス要求を選択的に除外することは、バスユニット・アクセス設定に応じて、バスユニット・アクセス要求を遮断し、選択的に、バスユニット・アクセス要求を廃棄するか、または、バスユニット・アクセス要求をプロセッサのバスユニットへ送信する、プロセッサの論理回路によって実行される。特定の実施形態では、選択的に除外することは、キャッシュミスの有無にかかわらずメモリからデータを取り出すためにハードウェアプリフェッチ試行を除外することを含む。たとえば、ハードウェアプリフェッチ要求は、キャッシュで生成され、要求がキャッシュミスまたはキャッシュヒットに応答して生成されたかどうかとは無関係に論理回路によって除外されることができる。別の特定の実施形態では、ロード命令または記憶命令がサービス品質パラメータに基づいて選択的に除外されることができる。
【００３９】
４０８へ進むと、特定の実施形態では、プロセッサの１つ以上の実行ユニットがキャッシュされていないメモリアクセスに応答して、または、キャッシュミス・イベントに応答して、メモリからデータを取り出すためにバスユニットを使用することを許可される。しかし、別の実施形態では、キャッシュされていないメモリアクセスまたはキャッシュミス・イベントは低優先度スレッドと関連付けられることができ、結果として生じるバスアクセス要求はサービス品質性能レベルを高優先度スレッドに供給するため除外されることができる。
【００４０】
図５を参照すると、バスアクセス要求を処理する方法の特定の例示的な実施形態が図示され、全体的に５００で指定されている。５０２で、スレッド切り替えがマルチスレッド型プロセッサで検出されることができる。例示的な実施形態では、マルチスレッド型プロセッサは、図１のシステム１００または図２のシステム２００を含むことができる。
【００４１】
５０４へ進むと、スーパーバイザ状態レジスタからの現在スレッドと関連付けられたサービス品質（ＱｏＳ）パラメータを含むバスユニット・アクセス設定が判定されることができる。例示的な実施形態では、ＱｏＳパラメータは、図３の代表的なＱｏＳパラメータ３２０のようなメモリ資源３００を含むことができる。
【００４２】
５０６へ進むと、バスユニット・アクセス要求が遮断されることができる。特定の実施形態では、バスユニット・アクセス要求は、図１の選択的要求除外を含むバスユニット・アクセス論理回路１０８のような制御論理回路で遮断されることができる。別の実施形態では、バスユニット・アクセス要求は、図２のそれぞれの除外ビット２６２−２６４に適合したデータ・キャッシュ２１２および命令キャッシュ２１０のようなデータ・キャッシュまたは命令キャッシュで遮断されることができる。
【００４３】
５０８へ進むと、遮断されたバスユニット・アクセス要求のタイプと関連付けられたＱｏＳパラメータの値が判定されることができる。例示的な実施形態では、バスユニット・アクセス要求のタイプは、図１の要求１３０−１３５のような命令キャッシュミス要求と、命令キャッシュ・ハードウェア生成プリフェッチ要求と、データ・キャッシュミス要求と、データ・キャッシュ・ハードウェア生成プリフェッチ要求と、ソフトウェア生成命令プリフェッチ要求と、ソフトウェア生成データプリフェッチ要求と、これらの任意の組み合わせとを含むことができる。
【００４４】
５１０へ進むと、ＱｏＳパラメータ値が高い値であるか、または、低い値であるかが判定されることができる。ＱｏＳパラメータが、モデムアプリケーションに対応する高優先度スレッドに関するもののように、高い値を有すると判定されたとき、処理は５１８に継続することができ、そこでは、バスユニット・アクセス要求がバスユニットへ送信されることができる。
【００４５】
代替的に、ＱｏＳパラメータが低い値を有すると５１０で判定されたとき、処理は５１２へ進み、システム容量パラメータが判定されることができる。例示的な実施形態では、システム容量パラメータは、バス要求記憶バッファ容量であることができ、または、図２のキュー２５６のようなバス・インタフェース・キューの深さであることができる。別の実施形態では、システム容量パラメータは、スレッド単位でＱｏＳパラメータと関連付けられ得るシステム容量の１つ以上の他の測定量を含むことができる。
【００４６】
引き続き５１４で、システム容量パラメータはＱｏＳ値と関連付けられた閾値と比較されることができる。システム容量が５１６において閾値を超えると判定されたとき、処理は５１８へ進み、バスユニット・アクセス要求がバスユニットへ送信される。代替的に、システム容量が５１６において閾値未満であると判定されたとき、処理は５２０へ進み、バスユニット・アクセス要求が廃棄される。
【００４７】
特定の実施形態では、処理は５１８および５２０のそれぞれから戻って５０６に続き、次のバスユニット・アクセス要求が遮断される。別の実施形態では、処理は、その代わりに、次の処理サイクルでのスレッド切り替えを検出するため５０２へ戻ることができる。
【００４８】
図６は、バスアクセス要求を選択的に除外するための論理を含む代表的な無線通信装置６００のブロック図である。無線通信装置６００は、図１ないし５に関して説明されているようなシステムおよび方法に従って動作するバスアクセス要求を選択的に除外するための制御論理回路６６４を含むデジタル・シグナル・プロセッサ（ＤＳＰ）６１０を含むことができる。ＤＳＰ  ６１０は、マルチスレッド型動作のため構成されることができ、各処理スレッドは、メモリ６３２にアクセスするバスのようなバスにアクセスするためのスレッドの優先度を示すために１つ以上のサービス品質（ＱｏＳ）パラメータが割り当てられることができる。
【００４９】
図６は、デジタル・シグナル・プロセッサ６１０およびディスプレイ６２８に結合されているディスプレイコントローラ６２６をさらに示す。さらに、入力装置６３０がデジタル・シグナル・プロセッサ６１０に結合されている。付加的に、メモリ６３２がデジタル・シグナル・プロセッサ６１０に結合されている。符号器／復号器（コーデック）６３４もまたデジタル・シグナル・プロセッサ６１０に結合されることができる。スピーカ６３６およびマイクロホン６３８はコーデック６３４に結合されることができる。
【００５０】
図６は、ワイヤレスコントローラ６４０がデジタル・シグナル・プロセッサ６１０および無線アンテナ６４２に結合され得ることをさらに示している。特定の実施形態では、電源６４４がオンチップシステム６２２に結合されている。さらに、特定の実施形態では、図６に示されているように、ディスプレイ６２８、入力装置６３０、スピーカ６３６、マイクロホン６３８、無線アンテナ６４２、および、電源６４４はオンチップシステム６２２の外部にある。しかし、それぞれがオンチップシステム６２２のコンポーネントに結合されている。
【００５１】
バスアクセス要求を選択的に除外するための制御論理回路６６４は、メモリ６３２にアクセスするための要求を制御することに限定される必要がないことが理解されるべきである。それどころか、バスアクセス要求を選択的に除外するための制御論理回路６６４は、ディスプレイコントローラ６２６、コーデック６３４、ワイヤレスコントローラ６４０、バスを経由してＤＳＰ  ６１０に結合されている他のコンポーネント、または、これらの任意の組み合わせへのアクセスのためスレッド単位でＱｏＳポリシーを実行するために動作可能であることができる。
【００５２】
当業者は、本書中に開示された実施形態と関連して説明された様々な例示的な論理ブロック、構成、モジュール、回路、および、アルゴリズムステップが電子的ハードウェア、コンピュータソフトウェア、または、両者の組み合わせとして実施されてもよいことをさらに認識するであろう。このハードウェアとソフトウェアの交換可能性を明確に説明するため、様々な例示的なコンポーネント、ブロック、構成、モジュール、回路、および、ステップが広くこれらの機能に関して上述されている。このような機能がハードウェアとして、または、ソフトウェアとして実施されるかは、特定のアプリケーションおよびシステム全体に課された設計上の制約に依存する。当業者は特定のアプリケーション毎に様々な方法で記載された機能を実施してもよいが、このような実施の決定は本開示の趣旨からの逸脱を引き起こすものとして解釈されるべきでない。
【００５３】
本書に開示された実施形態と関連して記載された方法またはアルゴリズムのステップは、ハードウェアで直接的に、プロセッサによって実行されるソフトウェアモジュールで、または、両者の組み合わせで具現化されることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＰＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、着脱式ディスク、ＣＤ−ＲＯＭ、または、技術的に知られている他の形式の記憶媒体の中に存在することができる。典型的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込み得るように、プロセッサに結合される。代替例では、記憶媒体はプロセッサに一体化されることができる。プロセッサおよび記憶媒体はＡＳＩＣの中に存在することができる。ＡＳＩＣはコンピューティング装置またはユーザ端末の中に存在することができる。代替例として、プロセッサおよび記憶媒体はディスクリートなコンポーネントとしてコンピューティング装置またはユーザ端末の中に存在することができる。
【００５４】
開示された実施形態についての以上の説明は、当業者が開示された実施形態を構成するか、または、使用することを可能にさせるため提供されている。これらの実施形態への様々な変更は当業者に直ちに明白であり、本書中に規定された一般的な原理は、開示の趣旨または範囲から逸脱することなく、他の実施形態にも適用されることができる。したがって、本開示は、本明細書中に示された実施形態に限定されることが意図されず、特許請求の範囲によって規定されているような原理および新規性のある特徴と整合したできる限り最も広い範囲であることが認められるべきである。
【図１】
2014053016.tif 000003
【図２】
2014053016.tif 000004
【図３】
2014053016.tif 000005
【図４】
2014053016.tif 000006
【図５】
2014053016.tif 000007
【図６】
2014053016.tif 000008
【手続補正書】
【提出日】平成25年10月18日(2013.10.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチスレッド型プロセッサの第１の命令スレッドのための第１のバスユニット・アクセス設定を判定することと、
前記マルチスレッド型プロセッサの第２の命令スレッドのための第２のバスユニット・アクセス設定を判定することと、ここにおいて、前記第２のバスユニット・アクセス設定は前記第１のバスユニット・アクセス設定とは異なる、
前記第１のバスユニット・アクセス設定および前記第２のバスユニット・アクセス設定のうちの１つに基づいてバスユニット・アクセス要求を廃棄することによって前記バスユニット・アクセス要求を選択的に除外することと、
を具備する方法。
【請求項２】
前記マルチスレッド型プロセッサの論理回路がスレッド単位で複数の命令スレッドからのバスユニット・アクセス要求を選択的に除外するよう動作可能であり、前記複数の命令スレッドの各命令スレッドが対応するバスユニット・アクセス設定を有している、請求項１に記載の方法。
【請求項３】
前記バスユニット・アクセス要求が、データまたは命令が前記プロセッサの実行ユニットによって必要とされる前に、メモリから前記データまたは命令を取り出すことをキャッシュに要求するためのプリフェッチ命令を具備する、請求項１に記載の方法。
【請求項４】
前記バスユニット・アクセス要求を選択的に除外することがサービス品質パラメータに基づいてロード命令または記憶命令を除外することを具備する、請求項１に記載の方法。
【請求項５】
前記第１のバスユニット・アクセス設定が、プリフェッチが無効にされた設定を具備するか、前記第１のバスユニット・アクセス設定が、保証サービス品質設定、ビットフラグ設定、バス・キュー閾値、有効もしくは無効設定、または、これらの任意の組み合わせのうちの１つを具備するか、あるいは前記第１のバスユニット・アクセス設定がスーパーバイザ状態レジスタのビットフラグを具備する、請求項１に記載の方法。
【請求項６】
前記マルチスレッド型プロセッサの実行ユニットが、キャッシュされていないメモリアクセスに応答して、または、キャッシュミス・イベントに応答して、メモリからデータを取り出すためバスユニットを使用することを許可することをさらに具備する、請求項１に記載の方法。
【請求項７】
選択的に除外することが、キャッシュミスの有無にかかわらずメモリからデータを取り出すためにハードウェアプリフェッチ試行を除外することを含む、請求項１に記載の方法。
【請求項８】
前記バスユニット・アクセス要求がハードウェアユニットまたはソフトウェアコマンドから受信される、請求項１に記載の方法。
【請求項９】
前記バスユニット・アクセス要求がデータ・キャッシュ・プリフェッチ要求または命令キャッシュ・プリフェッチ要求を具備する、請求項１に記載の方法。
【請求項１０】
前記第１のバスユニット・アクセス設定が第１のバスユニット閾値を具備し、前記第２のバスユニット・アクセス設定が第２のバスユニット閾値を具備する、ここにおいて、前記第１のバスユニット閾値がデータキューの深さを具備する、請求項１に記載の方法。
【請求項１１】
アプリケーションと関連付けられたサービス品質パラメータを受信することをさらに具備する、請求項１に記載の方法。
【請求項１２】
マルチスレッド型プロセッサであって、
第１のデータを取り出すため第１の命令を処理するように構成されている実行ユニットと、前記第１の命令は前記マルチスレッド型プロセッサの第１の命令スレッドに対応し、前記第１の命令スレッドは第１のバスユニット・アクセス設定を有し、前記実行ユニットは第２のデータを取り出すため第２の命令を処理するようにさらに構成され、前記第２の命令は前記マルチスレッド型プロセッサの第２の命令スレッドに対応し、前記第２の命令スレッドは第２のバスユニット・アクセス設定を有し、前記第２のバスユニット・アクセス設定は前記第１のバスユニット・アクセス設定とは異なる、
前記第１の命令スレッドに対応し、前記第２の命令スレッドに対応するメモリへのアクセスのための受信された要求を処理するように構成されるバスユニットと、前記バスは未処理の要求を記憶するバッファを有している、
前記第１のデータおよび前記第２のデータのうちの１つが、前記第１のバスユニット・アクセス設定および前記第２のバスユニット設定のうちの１つに応答して、さらに前記バッファの状態に応答して、前記メモリから取り出されることを選択的に防止するように構成されている論理回路と、
を具備するマルチスレッド型プロセッサ。
【請求項１３】
前記バッファがキューを含み、
前記論理回路が、前記第１のバスユニット・アクセス設定と関連付けられている第１の閾値および前記第２のバスユニット・アクセスと関連付けられている第２の閾値を超える前記キューの深さに応答して、前記第１のデータまたは前記第２のデータが前記メモリから取り出されることを選択的に防止するように構成されている、請求項１２に記載のマルチスレッド型プロセッサ。
【請求項１４】
前記第１の命令がロード命令であり、
前記論理回路が、キャッシュミスに応答して、前記第１のデータが前記メモリからアクセスされることを防止するように構成されているか、あるいは前記第１の命令がキャッシュに記憶されるべき前記第１のデータのためのプリフェッチ命令であり、前記論理回路が、前記第１の命令と関連付けられたハードウェア生成プリフェッチ要求に応答して、前記メモリへのアクセスを選択的に無効にするようにさらに構成されている、請求項１３に記載のマルチスレッド型プロセッサ。
【請求項１５】
マルチスレッド型プロセッサで第１のスレッドと関連付けられた第１のバスユニット・アクセス設定を判定する手段と、
前記マルチスレッド型プロセッサで第２のスレッドと関連付けられた第２のバスユニット・アクセス設定を判定する手段と、ここにおいて、前記第２のバスユニット・アクセス設定は前記第１のバスユニット・アクセス設定とは異なる、
前記第１のスレッドに対応するデータまたは命令のための第１の要求を生成する手段と、
前記第２のスレッドに対応するデータまたは命令のための第２の要求を生成する手段と、
システム容量を測定する手段と、
前記第１のバスユニット・アクセス設定および前記第２のバスユニット・アクセス設定のうちの１つに応答して、さらに前記システム容量に応答して、データまたは命令のための前記第１の要求およびデータまたは命令のための前記第２の要求のうちの１つを選択的に除外するように構成されている論理回路と、
を具備するシステム。
【請求項１６】
前記第１のバスユニット・アクセス設定が、前記第１のスレッドに専用であるスーパーバイザ状態レジスタに記憶された少なくとも１つのビット値を含む、請求項１５に記載のシステム。
【請求項１７】
前記論理回路が、前記第１のバスユニット・アクセス設定が低優先度を示すとき、そして、前記システム容量が閾値より低いとき、前記第１のスレッドでソフトウェア生成プリフェッチ要求を無効にするように構成されている、請求項１５に記載のシステム。
【請求項１８】
前記データ又は命令のための第１の要求を生成する手段が、キャッシュミスに応答して、前記第１の要求を生成するように構成されているキャッシュを含み、
前記論理回路が、前記要求がバスユニットで受信されることを防止するように構成されている、請求項１７に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
開示された実施形態についての以上の説明は、当業者が開示された実施形態を構成するか、または、使用することを可能にさせるため提供されている。これらの実施形態への様々な変更は当業者に直ちに明白であり、本書中に規定された一般的な原理は、開示の趣旨または範囲から逸脱することなく、他の実施形態にも適用されることができる。したがって、本開示は、本明細書中に示された実施形態に限定されることが意図されず、特許請求の範囲によって規定されているような原理および新規性のある特徴と整合したできる限り最も広い範囲であることが認められるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
プロセッサの論理回路でバスユニット・アクセス設定を判定することと、
前記バスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外することと、
を具備する方法。
［Ｃ２］
前記選択的に除外することが、前記バスユニット・アクセス設定に応答して、前記バスユニット・アクセス要求を遮断し、選択的に、前記バスユニット・アクセス要求を廃棄するか、または、前記バスユニット・アクセス要求を前記プロセッサのバスユニットへ送信する、前記論理回路によって実行される、［Ｃ１］に記載の方法。
［Ｃ３］
前記プロセッサが複数のバスユニット・アクセス設定を含むマルチスレッド型プロセッサであり、
前記論理回路がスレッド単位で複数の命令スレッドからのバスユニット・アクセス要求を選択的に除外するよう動作可能であり、前記複数の命令スレッドの各命令スレッドが前記複数のバスユニット・アクセス設定のうちの対応するバスユニット・アクセス設定を有している、
［Ｃ１］に記載の方法。
［Ｃ４］
前記バスユニット・アクセス要求が、データまたは命令が前記プロセッサの実行ユニットによって必要とされる前に、メモリからデータまたは命令を取り出すことをキャッシュに要求するためのプリフェッチ命令を具備する、［Ｃ１］に記載の方法。
［Ｃ５］
前記バスユニット・アクセス要求を選択的に除外することがサービス品質パラメータに基づいてロード命令または記憶命令を除外することを具備する、［Ｃ１］に記載の方法。
［Ｃ６］
前記バスユニット・アクセス設定が、プリフェッチが無効にされた設定を具備する、［Ｃ１］に記載の方法。
［Ｃ７］
前記プロセッサの実行ユニットが、キャッシュされていないメモリアクセスに応答して、または、キャッシュミス・イベントに応答して、メモリからデータを取り出すためバスユニットを使用することを許可することをさらに具備する、［Ｃ６］に記載の方法。
［Ｃ８］
選択的に除外することが、キャッシュミスの有無にかかわらずメモリからデータを取り出すためにハードウェアプリフェッチ試行を除外することを含む、［Ｃ１］に記載の方法。
［Ｃ９］
前記バスユニット・アクセス設定が、保証サービス品質設定、ビットフラグ設定、バス・キュー閾値、有効もしくは無効設定、または、これらの任意の組み合わせのうちの１つを具備する、［Ｃ１］に記載の方法。
［Ｃ１０］
前記バスユニット・アクセス設定がスーパーバイザ状態レジスタのビットフラグを具備する、［Ｃ１］に記載の方法。
［Ｃ１１］
前記バスユニット・アクセス要求がハードウェアユニットまたはソフトウェアコマンドから受信される、［Ｃ１］に記載の方法。
［Ｃ１２］
前記バスユニット・アクセス要求がデータ・キャッシュ・プリフェッチ要求または命令キャッシュ・プリフェッチ要求を具備する、［Ｃ１］に記載の方法。
［Ｃ１３］
前記バスユニット・アクセス設定がバスユニット閾値を具備する、［Ｃ１］に記載の方法。
［Ｃ１４］
前記バスユニット閾値がデータキューの深さを具備する、［Ｃ１３］に記載の方法。
［Ｃ１５］
アプリケーションと関連付けられたサービス品質パラメータを受信することをさらに具備する、［Ｃ２］に記載の方法。
［Ｃ１６］
データを取り出すため命令を処理するように構成されている実行ユニットと、
メモリへのアクセスのための受信された要求を処理するように構成され、未処理の要求を記憶するバッファを有しているバスユニットと、
前記データが、前記命令と関連付けられた優先度設定に応答して、さらに前記バッファの状態に応答して、前記メモリから取り出されることを選択的に防止するように構成されている論理回路と、
を具備するプロセッサ。
［Ｃ１７］
前記バッファがキューを含み、
前記論理回路が、前記優先度設定と関連付けられている閾値を超える前記キューの深さに応答して、前記データが前記メモリから取り出されることを選択的に防止するように構成されている、
［Ｃ２６］に記載のプロセッサ。
［Ｃ１８］
前記命令が複数の処理スレッドのうちの特定の処理スレッドと関連付けられ、
前記複数の処理スレッドのうちの各処理スレッドが対応する優先度設定と関連付けられている、
［Ｃ２７］に記載のプロセッサ。
［Ｃ１９］
前記命令がロード命令であり、
前記論理回路が、キャッシュミスに応答して、前記データが前記メモリからアクセスされることを防止するように構成されている、
［Ｃ２７］に記載のプロセッサ。
［Ｃ２０］
前記命令がキャッシュに記憶されるべき前記データのためのプリフェッチ命令である、［Ｃ２７］に記載のプロセッサ。
［Ｃ２１］
前記論理回路が、前記命令と関連付けられたハードウェア生成プリフェッチ要求に応答して、前記メモリへのアクセスを選択的に無効にするようにさらに構成されている、［Ｃ２０］に記載のプロセッサ。
［Ｃ２２］
マルチスレッド型プロセッサで特定のスレッドと関連付けられた優先度設定を判定する手段と、
前記特定のスレッドに対応するデータまたは命令のための要求を生成する手段と、
システム容量を測定する手段と、
前記優先度設定に応答して、さらに前記システム容量に応答して、データまたは命令のための前記要求を選択的に除外するように構成されている論理回路と、
を具備するシステム。
［Ｃ２３］
前記優先度設定が、前記特定のスレッドに専用であるスーパーバイザ状態レジスタに記憶された少なくとも１つのビット値を含む、［Ｃ２２］に記載のシステム。
［Ｃ２４］
前記論理回路が、前記優先度設定が低優先度を示すとき、そして、前記システム容量が閾値より低いとき、ソフトウェア生成プリフェッチ要求を無効にするように構成されている、［Ｃ２２］に記載のシステム。
［Ｃ２５］
前記データ又は命令のための要求を生成する手段が、キャッシュミスに応答して、前記要求を生成するように構成されているキャッシュを含み、
前記論理回路が、前記要求がバスユニットで受信されることを防止するように構成されている、
［Ｃ２４］に記載のシステム。