JP2011504274A - バスアクセス要求の選択的除外 - Google Patents

バスアクセス要求の選択的除外 Download PDF

Info

Publication number
JP2011504274A
JP2011504274A JP2010535044A JP2010535044A JP2011504274A JP 2011504274 A JP2011504274 A JP 2011504274A JP 2010535044 A JP2010535044 A JP 2010535044A JP 2010535044 A JP2010535044 A JP 2010535044A JP 2011504274 A JP2011504274 A JP 2011504274A
Authority
JP
Japan
Prior art keywords
bus unit
request
bus
data
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010535044A
Other languages
English (en)
Other versions
JP5372950B2 (ja
Inventor
コドレスキュ、ルシアン
イングル、アジャイ・エー.
クーブ、クリストファー・イー.
プロンケ、エリッチ・ジェー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011504274A publication Critical patent/JP2011504274A/ja
Application granted granted Critical
Publication of JP5372950B2 publication Critical patent/JP5372950B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

バスアクセス要求を選択的に除外するシステムおよび方法が開示される。実施形態では、方法はプロセッサの論理回路でバスユニット・アクセス設定を判定することを含む。この方法はバスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外することをさらに含む。

Description

本開示は、一般に、バスアクセス要求の処理に関する。
技術の進歩はより小型かつより強力なパーソナルコンピューティング装置という結果をもたらした。たとえば、現在、小型、軽量、かつ、ユーザによって容易に携行される携帯型ワイヤレス電話機、パーソナル・デジタル・アシスタント(PDA)、および、ページング装置のようなワイヤレスコンピューティング装置を含む多様な携帯型パーソナルコンピューティング装置が存在する。より詳細には、セルラー電話機およびIP電話機のような携帯型ワイヤレス電話機は、ワイヤレスネットワークを越えて音声およびデータパケットを通信可能である。さらに、多数のこのようなワイヤレス電話機は、そのワイヤレス電話機の中に組み込まれた他のタイプの装置を含む。たとえば、ワイヤレス電話機は、デジタル・スチル・カメラ、デジタル・ビデオ・カメラ、デジタルレコーダ、および、オーディオ・ファイル・プレーヤをさらに含み得る。同様に、このようなワイヤレス電話機は、インターネットにアクセスするため使用され得るウェブ・ブラウザ・アプリケーションのようなソフトウェアアプリケーションを含む実行可能な命令を処理可能である。したがって、これらのワイヤレス電話機はかなりのコンピューティング能力を含むことが可能である。
電子装置の性能は、メモリアクセスによって引き起こされる遅延を短縮することによって改良されることがある。一般に、メモリはチップ外部に位置し、要求されたデータ又は命令がメモリから取り出される間にプロセッサのストールを引き起こすことがあるバスを介してプロセッサにアクセス可能である。このような遅延を短縮するため、電子装置は、多くの場合に、キャッシュに記憶されたデータまたは命令へのより高速なプロセッサアクセスを提供する1つ以上のキャッシュを有する。プロセッサは、メモリから取り出されたデータまたは命令の要求を見越して、メモリからデータまたは命令を取り出し、データまたは命令をキャッシュに記憶するため「プリフェッチ」(“prefetch”)要求を生成することがある。プリフェッチ要求はソフトウェアコマンドから生じることがあり、または、ハードウェアによって自動的に生成されることがある。
プリフェッチ要求はデータまたは命令が要求されたときにキャッシュされている可能性を増大することにより処理遅延を短縮することが可能であるが、各プリフェッチ要求およびメモリアクセスはシステム資源を消費する。特に、プリフェッチ要求をメモリへ送信し、要求されたデータまたは命令を返信するためにバス資源が消費される。複数のプロセスがバス資源を共用するとき、バスを経由するメモリへのアクセスは、他のプロセスによって生成されたプリフェッチ要求が原因で1つ以上のプロセスに対し低下させられることがある。
特定の実施形態では、プロセッサの論理回路でバスユニット・アクセス設定を判定することを含む方法が開示される。この方法は、バスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外(preclude)することをさらに含む。たとえば、バスアクセス要求は、遮断され(intercepted)て廃棄される(discarded)こと、ブロックされる(blocked)こと、拒絶される(denied)こと、または、さもなければ、要求に従って動作がなされないこと(not acted upon)によって除外されてもよい。
別の特定の実施形態では、プロセッサが開示される。プロセッサは、データを取り出すため命令を処理するように構成されている実行ユニットを含む。プロセッサは、メモリへのアクセスのための要求を処理するように構成されているバスユニットを含む。バスユニットは、未処理要求を記憶するバッファを含む。プロセッサは、命令と関連付けられた優先度設定に応答し、さらにバッファの状態に応答して、データがメモリから取り出されることを選択的に防止するように構成されている論理回路をさらに含む。
別の特定の実施形態では、システムが開示される。システムは、マルチスレッド型プロセッサで特定のスレッドと関連付けられた優先度設定を判定する手段を含む。システムは、特定のスレッドに対応するデータまたは命令の要求を生成する手段を含む。システムは、システム容量を測定する手段をさらに含む。システムは、優先度設定に応答し、さらにシステム容量に応答して、データまたは命令の要求を選択的に除外するように構成されている論理回路をさらに含む。
開示された実施形態によって提供される特定の利点は、利用可能なシステム資源に基づいてより低い優先度スレッドのためのバスアクセス要求がより高い優先度スレッドのためのアクセスを改善するため拒絶されてもよい改善された装置性能である。
本開示の他の態様、利点、および、特徴は、以下のセクション、すなわち、図面の簡単な説明、詳細な説明、および、特許請求の範囲を含む出願全体を検討した後に明らかになるであろう。
システムの実施形態のブロック図である。 処理システムの実施形態のブロック図である。 システムの中で使用され得るメモリ資源の実施形態のブロック図である。 選択的除外の方法の実施形態のフローチャートである。 バスアクセス要求の処理方法の実施形態のフローチャートである。 バスアクセス要求を選択的に除外する論理を含む例示的な通信装置のブロック図である。
詳細な説明
図1を参照すると、システムが図示され、全体的に100で指定される。システム100は、バス103を介してプロセッサ102に結合されたメモリ101を含む。プロセッサ102は、命令キャッシュ104と、データ・キャッシュ106と、選択的要求除外を含むバスユニット・アクセス論理回路108とを含む。選択的要求除外を含むバスユニット・アクセス論理回路108は、命令キャッシュ104およびデータ・キャッシュ106を介してバスアクセス要求を受信し、バスアクセス要求をバスユニット110へ選択的に供給するため結合されている。選択的要求除外を含むバスユニット・アクセス論理回路108は、バスユニット・アクセス要求設定116を含む制御レジスタ112にさらに結合されている。
プロセッサ102は、フェッチ段118および実行段120を有するパイプラインを含む。フェッチ段118は、命令キャッシュ104からプログラム命令を受信し、命令を実行段120へ供給するため結合されている。実行段120は、命令ロード・コマンド122またはデータ・ロード・コマンド124のような、フェッチ段118から受信される命令を実行するように構成されている。特定の実施形態では、実行段120は、ソフトウェア・データ・プリフェッチ・コマンド134およびソフトウェア命令プリフェッチ・コマンド135のような命令を処理するように構成されている。
特定の実施形態では、プロセッサ102は、命令キャッシュ104、データ・キャッシュ106、および、バスユニット110のような共通資源を共用する多重同時プロセスをサポートする。例示的な実施形態では、プロセッサ102は、複数の処理スレッドを同時に処理する能力があるマルチスレッド型プロセッサである。別の例示的な実施形態では、プロセッサ102は複数の処理コアを含むことができる。
特定の実施形態では、命令キャッシュ104は、命令ロード要求122のようなプログラム命令を含むデータの要求を受信し、データが命令キャッシュ104に記憶されていると判定されたときに、要求されたデータを供給するように構成されている。命令キャッシュ104は、要求されたデータが命令キャッシュ104に記憶されていないときに命令キャッシュミス要求130を生成するようにさらに構成されている。命令キャッシュミス要求130は、要求されたデータをメモリ101から取り出すためメモリバス103にアクセスする要求を含む。特定の実施形態では、命令キャッシュ104は、命令キャッシュ・ハードウェア生成プリフェッチ要求131を自動的に作成するようにさらに構成されている。たとえば、命令キャッシュ104は、命令キャッシュ104のミスに応答して、命令要求アドレスのパターンの検出に応答してプリフェッチ・コマンドを生成するように構成されているか、または、命令の要求の受信に応答して、もしくは、これらの任意の組み合わせに応答して、1つ以上の次の順序(sequential)命令アドレスを自動的に要求することができる。
同様に、特定の実施形態では、データ・キャッシュ106は、実行段120からデータロード要求124のようなデータの要求を受信するように構成されている。データ・キャッシュ106は、要求されたデータがデータ・キャッシュ106に記憶されているかどうかを判定し、要求されたデータがデータ・キャッシュ106に記憶されていないときにデータ・キャッシュミス要求132を生成するように構成されている。データ・キャッシュミス要求132は、要求されたデータをメモリ101から取り出すためバス103にアクセスする要求を含む。その上、特定の実施形態では、データ・キャッシュ106は、データ・キャッシュ・ハードウェア生成プリフェッチ要求133を自動的に作成するようにさらに構成されることができる。特定の実施形態では、データ・キャッシュ106は、キャッシュミスに応答して、データ要求アドレスの検出されたパターンに応答して、データ・キャッシュ106で検出された他のイベントに応答して、または、これらの任意の組み合わせに応答してプリフェッチ・コマンドを自動的に生成するように構成されることができる。
特定の実施形態では、選択的要求除外を含むバスユニット・アクセス論理回路108は、命令キャッシュミス要求130と、命令キャッシュ・ハードウェア生成プリフェッチ要求131と、データ・キャッシュミス要求132と、データ・キャッシュ・ハードウェア生成プリフェッチ要求133と、ソフトウェア生成データプリフェッチ要求134と、ソフトウェア生成命令プリフェッチ要求135と、または、これらの任意の組み合わせとを含むバスユニット・アクセス要求を受信するように構成されている。選択的要求除外を含むバスユニット・アクセス論理回路108は、バスユニット・アクセス要求設定116の値に応答して要求130−135のうちのいずれかまたはすべてを除外するように構成されることができる。たとえば、要求130−135は、遮断されて廃棄されること、ブロックされること、拒絶されること、または、さもなければ、要求に従って動作がなされないことによって除外されることができる。選択的要求除外を含むバスユニット・アクセス論理回路108は、システム容量測定回路115によって判定されたとおりのバッファ114のようなシステム資源の容量をバスユニット110から受信するようにさらに構成されることができる。
例示的な実施形態では、バスユニット・アクセス要求設定116は、1つ以上のサービス品質(QoS)パラメータを含むことができる。たとえば、バスユニット・アクセス要求設定116は、命令キャッシュ・ハードウェア生成プリフェッチ要求131、データ・キャッシュ・ハードウェア生成プリフェッチ要求133、または、これらの任意の組み合わせがシステム容量の閾値との比較に基づいて選択的に除外され得ることを示すQoSパラメータを含むことができる。別の実施例として、バスユニット・アクセス要求設定116は、命令キャッシュミス要求130、データ・キャッシュミス要求132、または、これらの任意の組み合わせがシステム容量の閾値との比較に基づいて選択的に除外され得ることを示す1つ以上のQoSパラメータを含むことができる。さらに、選択的要求除外を含むバスユニット・アクセス論理回路108は、バスユニット・アクセス要求設定116の1つ以上のQoSパラメータに基づいて、ソフトウェア・データ・プリフェッチ要求134、ソフトウェア命令プリフェッチ要求135、または、これらの任意の組み合わせを選択的に除外するように構成されることができる。
特定の実施形態では、バスユニット110は、バス103を介したメモリ101へのアクセスの要求のようなバスアクセス要求を受信し処理するように構成されることができる。バスユニット110は、受信された要求が、要求がバス103を介して送信可能であるより高速にバスユニット110に到達するとき、未処理要求をキューのようなバッファ114に記憶するように構成されることができる。特定の実施形態では、システム容量測定回路115はバッファ114の深さを判定するように構成されることができる。たとえば、システム容量測定回路115は、バッファ114のペンディング中の要求の総数、ペンディング中の要求によって使用されるバッファ114の容量の割合、バッファ114の使用容量に基づいて要求を処理するために要する予測時間、バス103を介した送信および受信された要求に関連した他のシステム容量測定量、または、これらの任意の組み合わせを判定するように構成されることができる。
動作中に、特定の実施形態では、選択的要求除外を含むバスユニット・アクセス論理回路108は、1つ以上の要求130−135を遮断することにより要求を除外してもよく、そして、要求と関連付けられたバスユニット・アクセス要求セッティング116に基づいて、要求を廃棄するか、または、要求をバスユニット110へ送信するかを判定することができる。例示的な実施例として、第1の処理スレッドのためのバスユニット・アクセス制御セッティング116は、第1のスレッドが高優先度を有し、第1の処理スレッドと関連付けられたすべての要求130−135がバスユニット110へ送信され得ることを示すQoSパラメータを含むことができる。しかし、第2の処理スレッドのためのバスユニット・アクセス要求設定116は、第2のスレッドが低優先度を有し、要求130−135の1つ以上のカテゴリがバッファ114のキューの深さ(queue depth)に基づいて選択的に拒絶され得ることを示すQoSパラメータを含むことができる。
たとえば、ソフトウェア生成プリフェッチ要求134−135は、あらゆる処理サイクルと同じ頻度で生成され、かなりのバス資源を消費することがある。したがって、低優先度スレッドのためのQoSパラメータは、バッファ114が4分の1より多くペンディング中の要求で満たされるとき、ソフトウェア生成プリフェッチ要求134−135の一方または両方が拒絶されるべきであると示すことができる。別の実施例として、ハードウェア生成プリフェッチ要求131および133は、処理スレッドが実行中である間に限り生成されることができ、データがメモリ101から取り出されている間のようなスレッドがストールしているときには生成されなくてもよい。したがって、QoSパラメータは、ハードウェア生成プリフェッチ要求131および133の一方または両方が、バッファが半分より多く満たされているときに拒絶されるべきことを示すことができる。別の実施例として、キャッシュミス要求130および132は、処理スレッドがメモリ101から取り出されるべき命令またはデータを要求するときに発生することができる。キャッシュミス要求130および132は、要求が満たされるまで処理スレッドがストールしていることを示す。したがって、低優先度スレッドに対し、QoSパラメータは、キャッシュミス要求130および132のうちの一方または両方が、バッファ114が4分の3より多く満たされているときに拒絶されるべきことを示すことができる。
他のQoSパラメータ、システム容量閾値、および、要求のカテゴリがシステム要件および設計要件に基づいて提供されるか、または、使用されてもよいことが当業者によって理解されるべきである。バスアクセス要求および要求元の様々な構成が含まれ得ることも理解されるであろう。たとえば、例示的な実施形態では、ソフトウェア生成プリフェッチ要求は、キャッシュに記憶されないことがその後に判定されるデータのためのソフトウェア・プリフェッチ・コマンドをキャッシュが受信するとき、図1に図示されているように実行ユニットではなく、キャッシュで発生することができる。
図2を参照すると、処理システムの特定の例示的な実施形態が図示され、全体的に200で指定されている。処理システム200は、バスインタフェース208を介して命令キャッシュ210に結合されているメモリ202を含む。処理システム200は、バスインタフェース208を介してメモリ202に結合されているデータ・キャッシュ212をさらに含む。命令キャッシュ210は、バス211を介してシーケンサ214に結合されている。特定の実施例では、シーケンサ214は、割り込みレジスタ(図示せず)から取り出されてもよい汎用割り込み216をさらに受信可能である。特定の実施形態では、命令キャッシュ210は、バス211に結合されていることがあり、処理システム200の特定のスレッドと関連付けられてもよい複数の現在命令レジスタを介してシーケンサ214に結合されることができる。特定の実施形態では、処理システム200は、6個のスレッドを含むインターリーブ(interleaved)・マルチスレッド型プロセッサである。
特定の実施形態では、バス211は64ビットバスであり、シーケンサ214は、1つずつが32ビットの長さを有する複数の命令を含む命令パケットを介してメモリ202から命令を取り出すように構成されている。バス211は、第1の命令実行ユニット218と、第2の命令実行ユニット220と、第3の命令実行ユニット222と、第4の命令実行ユニット224とに結合されている。各命令実行ユニット218、220、222、224は、第2のバス228を介して汎用レジスタファイル226に結合され得る。汎用レジスタファイル226は、第3のバス230を介してシーケンサ214およびデータ・キャッシュ212にも結合され得る。
処理システム200は、バスアクセス要求をブロックするか、または、許可するかを判定する選択的要求除外を備えるバスアクセス制御論理回路250によってアクセスされてもよい1つ以上の優先度設定を記憶するためスーパーバイザ制御レジスタ232をさらに含むことができる。各処理スレッドは、特定のスレッドに専用であるスーパーバイザ状態レジスタに記憶された1つ以上のビット値のような1つ以上の関連付けられた優先度設定を有し得る。特定の実施形態では、バスアクセス要求は、命令キャッシュ210、データ・キャッシュ212、1つ以上の実行ユニット218、220、222、224、または、これらの任意の組み合わせで生成されることが可能であり、メモリ202に記憶されたデータの要求を含むことができる。
特定の実施形態では、命令キャッシュ210は、キャッシュミス要求、ハードウェア生成プリフェッチ要求、受信されたソフトウェア生成プリフェッチ・コマンドに応じたプリフェッチ要求、または、これらの任意の組み合わせのような、メモリ202にあるデータの要求を生成するための回路構成(circuitry)を含む。命令キャッシュ210は、選択的要求除外を備えるバスアクセス制御論理回路250にアクセス可能であり、かつ、選択的要求除外を備えるバスアクセス制御論理回路250によって修正され得る1つ以上の除外ビット262を記憶する制御レジスタ252を含む。命令キャッシュ210は、メモリ202に記憶されたデータの要求のいずれかまたはすべてをブロックし、除外ビット262に基づいてこのような要求がバスインタフェース208へ送信されることを選択的に防止するようにさらに構成されることができる。
同様に、特定の実施形態では、データ・キャッシュ212は、キャッシュミス要求、ハードウェア生成プリフェッチ要求、受信されたソフトウェア生成プリフェッチ・コマンドに応じたプリフェッチ要求、または、これらの任意の組み合わせのような、メモリ202に記憶されたデータの要求を生成するための回路構成を含む。データ・キャッシュ212は、選択的要求除外を備えるバスアクセス制御論理回路250にアクセス可能であり、かつ、選択的要求除外を備えるバスアクセス制御論理回路250によって修正され得る1つ以上の除外ビット264を記憶する制御レジスタ254を含む。データ・キャッシュ212は、メモリ202に記憶されたデータの要求のいずれかまたはすべてをブロックし、除外ビット264に基づいてこのような要求がバスインタフェース208へ送信されることを選択的に防止するようにさらに構成されることができる。
選択的要求除外部を備えるバスアクセス制御論理回路250は、スーパーバイザ制御レジスタ232に記憶されたスレッド優先度設定に基づいて、そして、さらに、キュー深さ測定回路258によって判定されるように、バスインタフェース208にあるキュー256の深さのようなバッファ容量に基づいて、除外ビット262および264をセットするように構成されている。除外ビット262および264をセットすることにより、命令キャッシュ210およびデータ・キャッシュ212は、バスインタフェース208を介したメモリ202へのアクセスの要求を選択的にブロックするように命令される。
動作中に、実行ユニット218−224で実行される1つ以上の命令は、バスアクセス要求を含む、メモリ202にあるデータの要求を結果として生じることができる。たとえば、メモリ202にあるデータの要求は、命令キャッシュ210でのキャッシュミス、命令キャッシュ210でハードウェアによって自動生成されたプリフェッチ要求、データ・キャッシュ212でのキャッシュミス、データ・キャッシュ212で自動生成されたプリフェッチ要求、または、命令キャッシュ210もしくはデータ・キャッシュ212で受信されるソフトウェア生成プリフェッチ要求に応答して生成されることができる。
選択的要求除外を備えるバスアクセス制御論理回路250は、結果的に要求を生じた実行された命令と関連付けられた優先度設定に応答して、そして、さらにキュー256の状態に応答して、データがメモリ202から取り出されることを選択的に防止するように構成されることができる。選択的要求除外を備えるバスアクセス制御論理250は、キュー深さが、低優先度スレッドによって行われたプリフェッチ要求のための容量閾値のような閾値を超えるかどうかを判定することができ、それに応じて除外ビット262−264のうちの1つ以上をセットすることができる。
図3を参照すると、システムが図示され、全体的に300で指定されている。システム300は、1組のスーパーバイザ状態レジスタ(SSRs)302を含む。SSRsは、スレッド0からスレッド5まで列挙された6個の代表的な処理スレッドのそれぞれの状態レジスタを含む。スレッド0に対する代表的なレジスタ304のような各スレッドレジスタは、代表的なQoSパラメータセクション320のようなそれぞれのサービス品質(QoS)パラメータセクションを含む。QoSパラメータセクション320は、ハードウェア・データ・プリフェッチ優先度レベルフィールド330、ハードウェア命令プリフェッチ優先度レベルフィールド331、ソフトウェア・データ・プリフェッチ優先度レベルフィールド332、ソフトウェア命令プリフェッチ優先度レベルフィールド333、他のサービス品質パラメータ値フィールド(図示せず)、または、これらの任意の組み合わせのような1つ以上のサービス品質パラメータフィールドを含む。
特定の実施形態では、フィールド330−333はそれぞれが1つ以上のビットを含むことができる。たとえば、ハードウェア・データ・プリフェッチ優先度レベルフィールド330は、ビットの論理の高い値(logical high value)が高優先度スレッドを示し、ビットの論理の低い値(logical low value)が低優先度スレッドを示すような単一ビットを含むことができる。同様に、他のフィールド331−333のそれぞれがより多くの優先度レベル値のうちの1つを示す1つ以上のビットを含むことができる。特定の実施形態では、優先度レベルフィールドの中の論理の高い値は、関連付けられたバスアクセス要求が常に許可されていることを示すことができる。しかし、優先度レベルフィールドの低い値は、システム資源がある種の閾値を超えて使用されるとき、関連付けられたバスアクセス要求が許可されないことを示すことができる。たとえば、低優先度スレッドは、キュー214が特定のタイプのバスアクセス要求に対するスレッドの優先度レベルと関連付けられた閾値の量を超える使用状態であると判定されたとき、図2のバス230にアクセスすることを妨げられることができる。
代替的な実施形態では、1つ以上のフィールド330−333は、閾値の量を示す値を符号化(encode)することができる。たとえば、2ビットのフィールドは、全システム容量のうちの零、4分の1、2分の1、および、4分の3の閾値をそれぞれ示す値を記憶することができる。これらの閾値は、システム容量測定回路出力115またはキュー深さ測定回路258によってそれぞれ供給されるようなシステム容量との比較の際に、図1の選択的要求除外を含むバスユニット・アクセス論理回路108、または、図2の選択的要求除外を備えるバスアクセス制御論理回路250のようなバスユニット・アクセス論理回路によって使用されることができる。
図4を参照すると、選択的除外方法の特定の例示的な実施形態が図示され、全体的に400で指定されている。例示的な実施形態では、方法400は、図1の選択的要求除外を含むバスユニット・アクセス論理回路108、または、図2の選択的要求除外を備えるバスアクセス制御論理回路250のようなバスユニット・アクセス論理回路によって実行されることができる。
特定の実施形態では、方法400は、402において、アプリケーションと関連付けられたサービス品質パラメータを受信することを含む。例示的な実施形態では、図3の代表的なQoSパラメータ320のようなサービス品質パラメータは、レジスタに記憶される。サービス品質パラメータは、スレッド優先度、または、閾値レベルであってそれを超えるとバスアクセス要求が除外される閾値レベルを示す1つ以上の設定を含むことができる。バスアクセス要求は、遮断されて廃棄されること、ブロックされること、拒絶されること、または、さもなければ、要求に従って動作がなされないことによって除外されることができる。
引き続き404で、バスユニット・アクセス設定がプロセッサの論理回路で判定される。特定の実施形態では、プロセッサは複数のバスユニット・アクセス設定を含むマルチスレッド型プロセッサである。複数の命令スレッドのうちの各命令スレッドは対応するバスユニット・アクセス設定を有し得る。特定の実施形態では、バスユニット・アクセス設定は、対応するスレッドと関連付けられたサービス品質レベル、スレッドの絶対優先度レベル、他のスレッドと比べたスレッドの相対優先度レベル、または、スレッドと関連付けられたバスアクセスの特定のランクもしくはレベルを指定することができる。特定の実施形態では、バスユニット・アクセス設定は、他のスレッドが原因でバストラフィックが重い期間中に対応するスレッドのためのバス資源への最低保証アクセス(minimum guaranteed access)を示すことができる。特定の実施形態では、バスユニット・アクセス設定は、データキュー深さのようなバスユニット閾値を含むことができる。論理回路は、たとえば、システムレジスタからバスユニット・アクセス設定を読み出し、スレッドと関連付けられたバスユニット・アクセス設定と、スレッドによって受信されたアクセス要求のタイプと、1つ以上のバス条件との間で比較を実行することにより、スレッド単位で複数の命令スレッドからのバスユニット・アクセス要求を選択的に除外するよう動作することができる。
特定の実施形態では、バスユニット・アクセス設定は、スーパーバイザ状態レジスタのビットフラグを含むことができる。別の実施形態では、バスユニット・アクセス設定は、保証サービス品質、ビットフラグ設定、バス・キュー閾値、有効(enable)もしくは無効(disable)設定、または、これらの任意の組み合わせを含むことができる。例示的な実施例として、バスユニット・アクセス設定は、プリフェッチが無効にされた(prefetching disabled)設定を含むことができる。
406へ進むと、バスユニット・アクセス要求がバスユニット・アクセス設定に基づいて選択的に除外される。たとえば、バスユニット・アクセス要求は、データまたは命令がプロセッサの実行ユニットによって必要とされる前に、メモリからデータまたは命令を取り出すことをキャッシュに要求するプリフェッチ命令を含むことができる。バスユニット・アクセス要求は、ハードウェアユニットまたはソフトウェアコマンドから受信されることができる。バスユニット・アクセス要求は、データ・キャッシュ・プリフェッチ要求または命令キャッシュ・プリフェッチ要求を含むことができる。
特定の実施形態では、バスユニット・アクセス要求を選択的に除外することは、バスユニット・アクセス設定に応じて、バスユニット・アクセス要求を遮断し、選択的に、バスユニット・アクセス要求を廃棄するか、または、バスユニット・アクセス要求をプロセッサのバスユニットへ送信する、プロセッサの論理回路によって実行される。特定の実施形態では、選択的に除外することは、キャッシュミスの有無にかかわらずメモリからデータを取り出すためにハードウェアプリフェッチ試行を除外することを含む。たとえば、ハードウェアプリフェッチ要求は、キャッシュで生成され、要求がキャッシュミスまたはキャッシュヒットに応答して生成されたかどうかとは無関係に論理回路によって除外されることができる。別の特定の実施形態では、ロード命令または記憶命令がサービス品質パラメータに基づいて選択的に除外されることができる。
408へ進むと、特定の実施形態では、プロセッサの1つ以上の実行ユニットがキャッシュされていないメモリアクセスに応答して、または、キャッシュミス・イベントに応答して、メモリからデータを取り出すためにバスユニットを使用することを許可される。しかし、別の実施形態では、キャッシュされていないメモリアクセスまたはキャッシュミス・イベントは低優先度スレッドと関連付けられることができ、結果として生じるバスアクセス要求はサービス品質性能レベルを高優先度スレッドに供給するため除外されることができる。
図5を参照すると、バスアクセス要求を処理する方法の特定の例示的な実施形態が図示され、全体的に500で指定されている。502で、スレッド切り替えがマルチスレッド型プロセッサで検出されることができる。例示的な実施形態では、マルチスレッド型プロセッサは、図1のシステム100または図2のシステム200を含むことができる。
504へ進むと、スーパーバイザ状態レジスタからの現在スレッドと関連付けられたサービス品質(QoS)パラメータを含むバスユニット・アクセス設定が判定されることができる。例示的な実施形態では、QoSパラメータは、図3の代表的なQoSパラメータ320のようなメモリ資源300を含むことができる。
506へ進むと、バスユニット・アクセス要求が遮断されることができる。特定の実施形態では、バスユニット・アクセス要求は、図1の選択的要求除外を含むバスユニット・アクセス論理回路108のような制御論理回路で遮断されることができる。別の実施形態では、バスユニット・アクセス要求は、図2のそれぞれの除外ビット262−264に適合したデータ・キャッシュ212および命令キャッシュ210のようなデータ・キャッシュまたは命令キャッシュで遮断されることができる。
508へ進むと、遮断されたバスユニット・アクセス要求のタイプと関連付けられたQoSパラメータの値が判定されることができる。例示的な実施形態では、バスユニット・アクセス要求のタイプは、図1の要求130−135のような命令キャッシュミス要求と、命令キャッシュ・ハードウェア生成プリフェッチ要求と、データ・キャッシュミス要求と、データ・キャッシュ・ハードウェア生成プリフェッチ要求と、ソフトウェア生成命令プリフェッチ要求と、ソフトウェア生成データプリフェッチ要求と、これらの任意の組み合わせとを含むことができる。
510へ進むと、QoSパラメータ値が高い値であるか、または、低い値であるかが判定されることができる。QoSパラメータが、モデムアプリケーションに対応する高優先度スレッドに関するもののように、高い値を有すると判定されたとき、処理は518に継続することができ、そこでは、バスユニット・アクセス要求がバスユニットへ送信されることができる。
代替的に、QoSパラメータが低い値を有すると510で判定されたとき、処理は512へ進み、システム容量パラメータが判定されることができる。例示的な実施形態では、システム容量パラメータは、バス要求記憶バッファ容量であることができ、または、図2のキュー256のようなバス・インタフェース・キューの深さであることができる。別の実施形態では、システム容量パラメータは、スレッド単位でQoSパラメータと関連付けられ得るシステム容量の1つ以上の他の測定量を含むことができる。
引き続き514で、システム容量パラメータはQoS値と関連付けられた閾値と比較されることができる。システム容量が516において閾値を超えると判定されたとき、処理は518へ進み、バスユニット・アクセス要求がバスユニットへ送信される。代替的に、システム容量が516において閾値未満であると判定されたとき、処理は520へ進み、バスユニット・アクセス要求が廃棄される。
特定の実施形態では、処理は518および520のそれぞれから戻って506に続き、次のバスユニット・アクセス要求が遮断される。別の実施形態では、処理は、その代わりに、次の処理サイクルでのスレッド切り替えを検出するため502へ戻ることができる。
図6は、バスアクセス要求を選択的に除外するための論理を含む代表的な無線通信装置600のブロック図である。無線通信装置600は、図1ないし5に関して説明されているようなシステムおよび方法に従って動作するバスアクセス要求を選択的に除外するための制御論理回路664を含むデジタル・シグナル・プロセッサ(DSP)610を含むことができる。DSP 610は、マルチスレッド型動作のため構成されることができ、各処理スレッドは、メモリ632にアクセスするバスのようなバスにアクセスするためのスレッドの優先度を示すために1つ以上のサービス品質(QoS)パラメータが割り当てられることができる。
図6は、デジタル・シグナル・プロセッサ610およびディスプレイ628に結合されているディスプレイコントローラ626をさらに示す。さらに、入力装置630がデジタル・シグナル・プロセッサ610に結合されている。付加的に、メモリ632がデジタル・シグナル・プロセッサ610に結合されている。符号器/復号器(コーデック)634もまたデジタル・シグナル・プロセッサ610に結合されることができる。スピーカ636およびマイクロホン638はコーデック634に結合されることができる。
図6は、ワイヤレスコントローラ640がデジタル・シグナル・プロセッサ610および無線アンテナ642に結合され得ることをさらに示している。特定の実施形態では、電源644がオンチップシステム622に結合されている。さらに、特定の実施形態では、図6に示されているように、ディスプレイ628、入力装置630、スピーカ636、マイクロホン638、無線アンテナ642、および、電源644はオンチップシステム622の外部にある。しかし、それぞれがオンチップシステム622のコンポーネントに結合されている。
バスアクセス要求を選択的に除外するための制御論理回路664は、メモリ632にアクセスするための要求を制御することに限定される必要がないことが理解されるべきである。それどころか、バスアクセス要求を選択的に除外するための制御論理回路664は、ディスプレイコントローラ626、コーデック634、ワイヤレスコントローラ640、バスを経由してDSP 610に結合されている他のコンポーネント、または、これらの任意の組み合わせへのアクセスのためスレッド単位でQoSポリシーを実行するために動作可能であることができる。
当業者は、本書中に開示された実施形態と関連して説明された様々な例示的な論理ブロック、構成、モジュール、回路、および、アルゴリズムステップが電子的ハードウェア、コンピュータソフトウェア、または、両者の組み合わせとして実施されてもよいことをさらに認識するであろう。このハードウェアとソフトウェアの交換可能性を明確に説明するため、様々な例示的なコンポーネント、ブロック、構成、モジュール、回路、および、ステップが広くこれらの機能に関して上述されている。このような機能がハードウェアとして、または、ソフトウェアとして実施されるかは、特定のアプリケーションおよびシステム全体に課された設計上の制約に依存する。当業者は特定のアプリケーション毎に様々な方法で記載された機能を実施してもよいが、このような実施の決定は本開示の趣旨からの逸脱を引き起こすものとして解釈されるべきでない。
本書に開示された実施形態と関連して記載された方法またはアルゴリズムのステップは、ハードウェアで直接的に、プロセッサによって実行されるソフトウェアモジュールで、または、両者の組み合わせで具現化されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、PROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱式ディスク、CD−ROM、または、技術的に知られている他の形式の記憶媒体の中に存在することができる。典型的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込み得るように、プロセッサに結合される。代替例では、記憶媒体はプロセッサに一体化されることができる。プロセッサおよび記憶媒体はASICの中に存在することができる。ASICはコンピューティング装置またはユーザ端末の中に存在することができる。代替例として、プロセッサおよび記憶媒体はディスクリートなコンポーネントとしてコンピューティング装置またはユーザ端末の中に存在することができる。
開示された実施形態についての以上の説明は、当業者が開示された実施形態を構成するか、または、使用することを可能にさせるため提供されている。これらの実施形態への様々な変更は当業者に直ちに明白であり、本書中に規定された一般的な原理は、開示の趣旨または範囲から逸脱することなく、他の実施形態にも適用されることができる。したがって、本開示は、本明細書中に示された実施形態に限定されることが意図されず、特許請求の範囲によって規定されているような原理および新規性のある特徴と整合したできる限り最も広い範囲であることが認められるべきである。

Claims (25)

  1. プロセッサの論理回路でバスユニット・アクセス設定を判定することと、
    前記バスユニット・アクセス設定に基づいてバスユニット・アクセス要求を選択的に除外することと、
    を具備する方法。
  2. 前記選択的に除外することが、前記バスユニット・アクセス設定に応答して、前記バスユニット・アクセス要求を遮断し、選択的に、前記バスユニット・アクセス要求を廃棄するか、または、前記バスユニット・アクセス要求を前記プロセッサのバスユニットへ送信する、前記論理回路によって実行される、請求項1に記載の方法。
  3. 前記プロセッサが複数のバスユニット・アクセス設定を含むマルチスレッド型プロセッサであり、
    前記論理回路がスレッド単位で複数の命令スレッドからのバスユニット・アクセス要求を選択的に除外するよう動作可能であり、前記複数の命令スレッドの各命令スレッドが前記複数のバスユニット・アクセス設定のうちの対応するバスユニット・アクセス設定を有している、
    請求項1に記載の方法。
  4. 前記バスユニット・アクセス要求が、データまたは命令が前記プロセッサの実行ユニットによって必要とされる前に、メモリからデータまたは命令を取り出すことをキャッシュに要求するためのプリフェッチ命令を具備する、請求項1に記載の方法。
  5. 前記バスユニット・アクセス要求を選択的に除外することがサービス品質パラメータに基づいてロード命令または記憶命令を除外することを具備する、請求項1に記載の方法。
  6. 前記バスユニット・アクセス設定が、プリフェッチが無効にされた設定を具備する、請求項1に記載の方法。
  7. 前記プロセッサの実行ユニットが、キャッシュされていないメモリアクセスに応答して、または、キャッシュミス・イベントに応答して、メモリからデータを取り出すためバスユニットを使用することを許可することをさらに具備する、請求項6に記載の方法。
  8. 選択的に除外することが、キャッシュミスの有無にかかわらずメモリからデータを取り出すためにハードウェアプリフェッチ試行を除外することを含む、請求項1に記載の方法。
  9. 前記バスユニット・アクセス設定が、保証サービス品質設定、ビットフラグ設定、バス・キュー閾値、有効もしくは無効設定、または、これらの任意の組み合わせのうちの1つを具備する、請求項1に記載の方法。
  10. 前記バスユニット・アクセス設定がスーパーバイザ状態レジスタのビットフラグを具備する、請求項1に記載の方法。
  11. 前記バスユニット・アクセス要求がハードウェアユニットまたはソフトウェアコマンドから受信される、請求項1に記載の方法。
  12. 前記バスユニット・アクセス要求がデータ・キャッシュ・プリフェッチ要求または命令キャッシュ・プリフェッチ要求を具備する、請求項1に記載の方法。
  13. 前記バスユニット・アクセス設定がバスユニット閾値を具備する、請求項1に記載の方法。
  14. 前記バスユニット閾値がデータキューの深さを具備する、請求項13に記載の方法。
  15. アプリケーションと関連付けられたサービス品質パラメータを受信することをさらに具備する、請求項2に記載の方法。
  16. データを取り出すため命令を処理するように構成されている実行ユニットと、
    メモリへのアクセスのための受信された要求を処理するように構成され、未処理の要求を記憶するバッファを有しているバスユニットと、
    前記データが、前記命令と関連付けられた優先度設定に応答して、さらに前記バッファの状態に応答して、前記メモリから取り出されることを選択的に防止するように構成されている論理回路と、
    を具備するプロセッサ。
  17. 前記バッファがキューを含み、
    前記論理回路が、前記優先度設定と関連付けられている閾値を超える前記キューの深さに応答して、前記データが前記メモリから取り出されることを選択的に防止するように構成されている、
    請求項26に記載のプロセッサ。
  18. 前記命令が複数の処理スレッドのうちの特定の処理スレッドと関連付けられ、
    前記複数の処理スレッドのうちの各処理スレッドが対応する優先度設定と関連付けられている、
    請求項27に記載のプロセッサ。
  19. 前記命令がロード命令であり、
    前記論理回路が、キャッシュミスに応答して、前記データが前記メモリからアクセスされることを防止するように構成されている、
    請求項27に記載のプロセッサ。
  20. 前記命令がキャッシュに記憶されるべき前記データのためのプリフェッチ命令である、請求項27に記載のプロセッサ。
  21. 前記論理回路が、前記命令と関連付けられたハードウェア生成プリフェッチ要求に応答して、前記メモリへのアクセスを選択的に無効にするようにさらに構成されている、請求項20に記載のプロセッサ。
  22. マルチスレッド型プロセッサで特定のスレッドと関連付けられた優先度設定を判定する手段と、
    前記特定のスレッドに対応するデータまたは命令のための要求を生成する手段と、
    システム容量を測定する手段と、
    前記優先度設定に応答して、さらに前記システム容量に応答して、データまたは命令のための前記要求を選択的に除外するように構成されている論理回路と、
    を具備するシステム。
  23. 前記優先度設定が、前記特定のスレッドに専用であるスーパーバイザ状態レジスタに記憶された少なくとも1つのビット値を含む、請求項22に記載のシステム。
  24. 前記論理回路が、前記優先度設定が低優先度を示すとき、そして、前記システム容量が閾値より低いとき、ソフトウェア生成プリフェッチ要求を無効にするように構成されている、請求項22に記載のシステム。
  25. 前記データ又は命令のための要求を生成する手段が、キャッシュミスに応答して、前記要求を生成するように構成されているキャッシュを含み、
    前記論理回路が、前記要求がバスユニットで受信されることを防止するように構成されている、
    請求項24に記載のシステム。
JP2010535044A 2007-11-19 2008-11-19 バスアクセス要求の選択的除外 Expired - Fee Related JP5372950B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/942,282 2007-11-19
US11/942,282 US8260990B2 (en) 2007-11-19 2007-11-19 Selective preclusion of a bus access request
PCT/US2008/084049 WO2009067525A1 (en) 2007-11-19 2008-11-19 Selective preclusion of a bus access request

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013193587A Division JP5730973B2 (ja) 2007-11-19 2013-09-18 バスアクセス要求の選択的除外

Publications (2)

Publication Number Publication Date
JP2011504274A true JP2011504274A (ja) 2011-02-03
JP5372950B2 JP5372950B2 (ja) 2013-12-18

Family

ID=40451291

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010535044A Expired - Fee Related JP5372950B2 (ja) 2007-11-19 2008-11-19 バスアクセス要求の選択的除外
JP2013193587A Expired - Fee Related JP5730973B2 (ja) 2007-11-19 2013-09-18 バスアクセス要求の選択的除外

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013193587A Expired - Fee Related JP5730973B2 (ja) 2007-11-19 2013-09-18 バスアクセス要求の選択的除外

Country Status (6)

Country Link
US (1) US8260990B2 (ja)
EP (1) EP2223225A1 (ja)
JP (2) JP5372950B2 (ja)
KR (1) KR101148340B1 (ja)
CN (1) CN101911032B (ja)
WO (1) WO2009067525A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483244B2 (en) 2014-05-15 2016-11-01 Fujitsu Limited Compiling method and compiling device
US9830268B2 (en) 2014-05-14 2017-11-28 Fujitsu Limited Arithmetic processing device for disabling an unnecessary prefetch command and control method of arithmetic processing device for disabling an unnecessary prefetch command
JP2020160564A (ja) * 2019-03-25 2020-10-01 株式会社エヌエスアイテクス ニューラルネットワークの演算装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531646B1 (en) 2009-12-07 2016-12-27 Altera Corporation Multi-protocol configurable transceiver including configurable deskew in an integrated circuit
US8627021B2 (en) 2011-08-31 2014-01-07 Qualcomm Incorporated Method and apparatus for load-based prefetch access
US8706936B2 (en) 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287828A (ja) * 1989-04-28 1990-11-27 Fujitsu Ltd プリフェッチ制御方式
US5636364A (en) * 1994-12-01 1997-06-03 International Business Machines Corporation Method for enabling concurrent misses in a cache memory
US6470427B1 (en) * 1999-11-09 2002-10-22 International Business Machines Corporation Programmable agent and method for managing prefetch queues
US20030033461A1 (en) * 2001-08-10 2003-02-13 Malik Afzal M. Data processing system having an adaptive priority controller
JP2003186669A (ja) * 2001-10-26 2003-07-04 Hewlett Packard Co <Hp> Cpuおよびチップセットによる任意読出しのサポートによるcpuおよびチップセットパフォーマンスの最適化方法
JP2004126694A (ja) * 2002-09-30 2004-04-22 Nec Corp メモリアクセス装置
US20040123043A1 (en) * 2002-12-19 2004-06-24 Intel Corporation High performance memory device-state aware chipset prefetcher
JP2005508550A (ja) * 2001-10-12 2005-03-31 ソニックス インコーポレイテッド ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置
US20050138627A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Context switch data prefetching in multithreaded computer
US20070055824A1 (en) * 2003-05-30 2007-03-08 Mips Technologies, Inc. Microprocessor with improved data stream prefetching

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
US6073159A (en) * 1996-12-31 2000-06-06 Compaq Computer Corporation Thread properties attribute vector based thread selection in multithreading processor
US6658447B2 (en) * 1997-07-08 2003-12-02 Intel Corporation Priority based simultaneous multi-threading
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US6233645B1 (en) * 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US7518993B1 (en) * 1999-11-19 2009-04-14 The United States Of America As Represented By The Secretary Of The Navy Prioritizing resource utilization in multi-thread computing system
US6982956B2 (en) * 2000-04-26 2006-01-03 International Business Machines Corporation System and method for controlling communications network traffic through phased discard strategy selection
US6651158B2 (en) * 2001-06-22 2003-11-18 Intel Corporation Determination of approaching instruction starvation of threads based on a plurality of conditions
US7360062B2 (en) * 2003-04-25 2008-04-15 International Business Machines Corporation Method and apparatus for selecting an instruction thread for processing in a multi-thread processor
US7177985B1 (en) * 2003-05-30 2007-02-13 Mips Technologies, Inc. Microprocessor with improved data stream prefetching
US7366877B2 (en) * 2003-09-17 2008-04-29 International Business Machines Corporation Speculative instruction issue in a simultaneously multithreaded processor
US8624906B2 (en) * 2004-09-29 2014-01-07 Nvidia Corporation Method and system for non stalling pipeline instruction fetching from memory
US7418576B1 (en) * 2004-11-17 2008-08-26 Nvidia Corporation Prioritized issuing of operation dedicated execution unit tagged instructions from multiple different type threads performing different set of operations
WO2006129767A1 (ja) * 2005-06-02 2006-12-07 Keio University マルチスレッド中央演算装置および同時マルチスレッディング制御方法
US7313673B2 (en) * 2005-06-16 2007-12-25 International Business Machines Corporation Fine grained multi-thread dispatch block mechanism
US7870372B2 (en) * 2006-08-14 2011-01-11 Marvell World Trade Ltd. Interrupt handling

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287828A (ja) * 1989-04-28 1990-11-27 Fujitsu Ltd プリフェッチ制御方式
US5636364A (en) * 1994-12-01 1997-06-03 International Business Machines Corporation Method for enabling concurrent misses in a cache memory
US6470427B1 (en) * 1999-11-09 2002-10-22 International Business Machines Corporation Programmable agent and method for managing prefetch queues
US20030033461A1 (en) * 2001-08-10 2003-02-13 Malik Afzal M. Data processing system having an adaptive priority controller
JP2005508550A (ja) * 2001-10-12 2005-03-31 ソニックス インコーポレイテッド ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置
JP2003186669A (ja) * 2001-10-26 2003-07-04 Hewlett Packard Co <Hp> Cpuおよびチップセットによる任意読出しのサポートによるcpuおよびチップセットパフォーマンスの最適化方法
JP2004126694A (ja) * 2002-09-30 2004-04-22 Nec Corp メモリアクセス装置
US20040123043A1 (en) * 2002-12-19 2004-06-24 Intel Corporation High performance memory device-state aware chipset prefetcher
US20070055824A1 (en) * 2003-05-30 2007-03-08 Mips Technologies, Inc. Microprocessor with improved data stream prefetching
US20050138627A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Context switch data prefetching in multithreaded computer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830268B2 (en) 2014-05-14 2017-11-28 Fujitsu Limited Arithmetic processing device for disabling an unnecessary prefetch command and control method of arithmetic processing device for disabling an unnecessary prefetch command
US9483244B2 (en) 2014-05-15 2016-11-01 Fujitsu Limited Compiling method and compiling device
JP2020160564A (ja) * 2019-03-25 2020-10-01 株式会社エヌエスアイテクス ニューラルネットワークの演算装置
WO2020196586A1 (ja) * 2019-03-25 2020-10-01 株式会社エヌエスアイテクス ニューラルネットワークの演算装置
JP7316073B2 (ja) 2019-03-25 2023-07-27 株式会社エヌエスアイテクス ニューラルネットワークの演算装置

Also Published As

Publication number Publication date
US8260990B2 (en) 2012-09-04
EP2223225A1 (en) 2010-09-01
JP2014053016A (ja) 2014-03-20
CN101911032B (zh) 2013-10-16
US20090132733A1 (en) 2009-05-21
JP5730973B2 (ja) 2015-06-10
KR101148340B1 (ko) 2012-05-25
WO2009067525A1 (en) 2009-05-28
KR20100087395A (ko) 2010-08-04
CN101911032A (zh) 2010-12-08
JP5372950B2 (ja) 2013-12-18

Similar Documents

Publication Publication Date Title
JP5730973B2 (ja) バスアクセス要求の選択的除外
US8140823B2 (en) Multithreaded processor with lock indicator
US8924651B2 (en) Prefetch optimization in shared resource multi-core systems
JP5329563B2 (ja) マルチスレッド・プロセッサのための共有割込みコントローラ
JP5279701B2 (ja) 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法
KR20100090703A (ko) 구성 가능한 전환 색인 버퍼
US10496550B2 (en) Multi-port shared cache apparatus
JPH11272552A (ja) ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
US11550723B2 (en) Method, apparatus, and system for memory bandwidth aware data prefetching
US11016899B2 (en) Selectively honoring speculative memory prefetch requests based on bandwidth state of a memory access path component(s) in a processor-based system
CN108885587B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
US20230418753A1 (en) Allocation control for cache
TWI317065B (en) Method of accessing cache memory for parallel processing processors
EP3332329B1 (en) Device and method for prefetching content to a cache memory
CA2832223C (en) Multi-port shared cache apparatus
US20240111425A1 (en) Tag and data configuration for fine-grained cache memory
Kim et al. New Two-Level L1 Data Cache Bypassing Technique for High Performance GPUs

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130918

R150 Certificate of patent or registration of utility model

Ref document number: 5372950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees