JP7038656B2 - キャッシュへのアクセス - Google Patents
キャッシュへのアクセス Download PDFInfo
- Publication number
- JP7038656B2 JP7038656B2 JP2018522055A JP2018522055A JP7038656B2 JP 7038656 B2 JP7038656 B2 JP 7038656B2 JP 2018522055 A JP2018522055 A JP 2018522055A JP 2018522055 A JP2018522055 A JP 2018522055A JP 7038656 B2 JP7038656 B2 JP 7038656B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- access
- level
- delay
- identifier
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Description
本開示は、参照によりその全体が本明細書に組み込まれる、2015年10月29日に出願された「Method, Device, and Electronic Apparatus for Accessing Cache」と題される中国特許出願第201510717175.9号の利益を主張する。
データを取得するためのアクセス命令を読み取ることと、
アクセス命令によって搬送される遅延識別子に従って、アクセス命令が遅延を発生させるかどうかを判定することと、
遅延が発生する場合、キャッシュにアクセスして、アクセス命令によって搬送される位置識別子に従って、プリフェッチ操作を実行することと、
アクセス命令によって取得されたデータの位置に従って、アクセス命令によって搬送される遅延識別子及び位置識別子を修正することと
を含む。
データミスの場合のレベル毎キャッシュアクセス時に発生する遅延、または、アクセス命令が演算を行うときに発生する遅延
を含む。
アクセス命令が遅延を発生させるかどうかを判定するために、アクセス命令によって搬送され、ビットでマーク付けされる遅延識別子の数値を読み取ること
を含む。
アクセス命令によって搬送され、バイナリビットでマーク付けされる遅延識別子の数値を読み取ること、及び、アクセス命令によって搬送され、バイナリビットでマーク付けされる遅延識別子の数値が1より大きいかどうかを判定することと、
数値が1より大きい場合、アクセス命令が遅延を発生させることを示すこと、及び、キャッシュにアクセスするステップを実行し、アクセス命令によって搬送される位置識別子に従って、プリフェッチ操作を実行することと
を含む。
アクセス命令によって搬送され、ビットでマーク付けされる位置識別子の数値を読み取ることと、
レベル1キャッシュへのアクセス時、アクセス命令によって搬送され、ビットでマーク付けされる位置識別子の数値に従って、位置識別子の数値に対応するキャッシュレベルまたはメモリにアクセスすることと
を含む。
アクセス命令によって必要とされるデータが、レベル1キャッシュ、及び位置識別子の数値に対応するキャッシュレベルまたはメモリで取得されるかどうかを判定することと、
取得されない場合、アクセス命令によって必要とされるデータが取得されるまで、複数のレベルのキャッシュ及びメモリの階層順に従って各レベルのキャッシュに順次アクセスすることと
を含む。
アクセス命令によって取得されたデータの位置を記録すること。
をさらに含む。
アクセス命令によって取得されたデータの記録された位置がレベル1キャッシュであるかどうかを判定すること、
レベル1キャッシュである場合、アクセス命令によって搬送され、ビットでマーク付けされる遅延識別子をデクリメントすること、
または、
レベル1キャッシュではない場合、アクセス命令によって搬送され、ビットでマーク付けされる遅延識別子をインクリメントすること、及び、アクセス命令によって取得されたデータの記録された位置が、位置識別子の数値に対応するキャッシュレベルまたはメモリであるかどうかを判定すること、ならびに、アクセス命令によって取得されたデータの記録された位置が、位置識別子の数値に対応するキャッシュレベルまたはメモリではないことが判定された場合、アクセス命令によって取得されたデータの記録された位置に従って、アクセス命令によって搬送される位置識別子がキャッシュレベルまたはメモリを表し、そこからアクセス命令によって必要とされるデータが取得されるように、アクセス命令によって搬送される位置識別子を設定すること
を含む。
アクセス命令によって取得されたデータの記録された位置が、位置識別子の数値に対応するキャッシュレベルまたはメモリを含むかどうかを判定すること、
及び、
含む場合、位置識別子の数値に対応するキャッシュレベルまたはメモリで取得される、アクセス命令によって必要とされるデータを廃棄すること
を含む。
データを取得するためのアクセス命令を読み取るアクセス命令読取りユニットと、
アクセス命令によって搬送される遅延識別子に従って、アクセス命令が遅延を発生させるかどうかを判定する遅延識別子判定ユニットと、
遅延識別子判定ユニットから判定結果を受信し、遅延が発生する場合、キャッシュにアクセスして、アクセス命令によって搬送される位置識別子に従って、プリフェッチ操作を実行する、キャッシュアクセスプリフェッチユニットと、
アクセス命令によって取得されたデータの位置に従って、アクセス命令によって搬送される遅延識別子及び位置識別子を修正する識別子修正ユニットと
を含む。
アクセス命令によって搬送され、バイナリビットでマーク付けされる遅延識別子の数値を読み取り、アクセス命令によって搬送され、バイナリビットでマーク付けされる遅延識別子の数値が1より大きいかどうかを判定する数値読取りサブユニットと、
数値読取りサブユニットから判定結果を受信し、数値が1より大きい場合、キャッシュアクセスプリフェッチユニットを起動するキャッシュアクセスプリフェッチトリガサブユニットと
を含む。
アクセス命令によって搬送され、ビットでマーク付けされる位置識別子の数値を読み取るビット数値読取りサブユニットと、
レベル1キャッシュへのアクセス時、アクセス命令によって搬送され、ビットでマーク付けされる位置識別子の数値に従って、位置識別子の数値に対応するキャッシュレベルまたはメモリにアクセスするキャッシュアクセスプリフェッチサブユニットと
を含む。
レベル1キャッシュへのアクセス時、アクセス命令によって搬送され、ビットでマーク付けされる位置識別子の数値に従って、位置識別子の数値に対応するキャッシュレベルまたはメモリにアクセスした後、アクセス命令によって必要とされるデータが、レベル1キャッシュ、及び位置識別子の数値に対応するキャッシュレベルまたはメモリで取得されるかどうかを判定するデータ取得判定サブユニットと、
データ取得判定サブユニットから判定結果を受信し、取得されない場合、アクセス命令によって必要とされるデータが取得されるまで、複数のレベルのキャッシュ及びメモリの階層順に従って各レベルのキャッシュに順次アクセスするレベル毎アクセスサブユニットと
をさらに含む。
アクセス命令によって取得されたデータの位置を記録する位置記録ユニット
をさらに含む。
アクセス命令によって取得されたデータの記録された位置がレベル1キャッシュであるかどうかを判定する位置判定サブユニットと、
位置判定サブユニットから判定結果を受信し、判定結果が「はい」である場合、アクセス命令によって搬送され、ビットでマーク付けされる遅延識別子をデクリメントするデクリメントサブユニットと、
位置判定サブユニットから判定結果を受信し、判定結果が「はい」でない場合、アクセス命令によって搬送され、ビットでマーク付けされる遅延識別子をインクリメントし、アクセス命令によって取得されたデータの記録された位置が位置識別子の数値に対応するキャッシュレベルまたはメモリであるかどうかを判定するインクリメントサブユニットと、
インクリメントサブユニットから判定結果を受信し、判定結果が「はい」でない場合、アクセス命令によって取得されたデータの記録された位置に従って、アクセス命令によって搬送される位置識別子がキャッシュレベルまたはメモリを表し、そこからアクセス命令によって必要とされるデータが取得されるように、アクセス命令によって搬送される位置識別子を設定する位置識別子設定サブユニットと
を含む。
アクセス命令によって搬送され、ビットでマーク付けされる遅延識別子がデクリメントされた後、アクセス命令によって取得されたデータの記録された位置が位置識別子の数値に対応するキャッシュレベルまたはメモリを含むかどうかを判定する繰り返し位置判定サブユニットと、
繰り返し位置判定サブユニットから判定結果を受信し、判定結果が「はい」である場合、位置識別子の数値に対応するキャッシュレベルまたはメモリで取得される、アクセス命令によって必要とされるデータを廃棄するデータ破棄サブユニットと
を含む。
ディスプレイと、
1つまたは複数のプロセッサと、
プロセッサによって読み取られて、実行されるとき、データを取得するためのアクセス命令を読み取ることと、アクセス命令によって搬送される遅延識別子に従って、アクセス命令が遅延を発生させるかどうかを判定することと、遅延が発生する場合、キャッシュにアクセスして、アクセス命令によって搬送される位置識別子に従って、プリフェッチ操作を実行することと、アクセス命令によって取得されたデータの位置に従って、アクセス命令によって搬送される遅延識別子及び位置識別子を修正することとを実行する、キャッシュ並列アクセスプログラムまたはコンピュータ実行可能命令を格納する1つまたは複数のコンピュータ記憶装置と
を含む電子機器をさらに提供する。
ビット1 ビット0
0 0
0 1
1 0
1 1
ここで、ビット1及びビット0は、アクセス命令のキャッシュラインに設定される2つのバイナリビットである。ビット1及びビット0の下のバイナリ数値の4つのグループは、ビット1及びビット0に対応する特定値である。
ビット3 ビット2
0 0
0 1
1 0
1 1
ここで、ビット3及びビット2は、アクセス命令のキャッシュラインに設定される2つのバイナリビットであり、ビット3及びビット2の下のバイナリ数値の4つのグループは、ビット3及びビット2に対応する特定値である。
アクセス命令によって必要とされるデータがメモリで取得されることを示す。
位置識別子の数値に対応するキャッシュレベルまたはメモリで取得される、アクセス命令によって必要とされるデータは、廃棄される。
で実装されてもよい。
判定結果が「いいえ」である場合、アクセス命令によって取得されたデータの記録された位置に従って、アクセス命令によって搬送される位置識別子を、アクセス命令によって搬送される位置識別子がキャッシュレベルまたはメモリを表し、そこからアクセス命令によって必要とされるデータが取得されるように設定する。
Claims (20)
- データを取得するためのアクセス命令を読み取ることと、
前記アクセス命令によって搬送される遅延識別子に従って、前記アクセス命令が遅延を発生させるかどうかを判定することと、
前記アクセス命令が前記遅延を発生させることの判定に応じて、前記アクセス命令によって搬送される位置識別子に従って、キャッシュにアクセスし、プリフェッチ操作を実行することであって、前記位置識別子は、前記アクセス命令によって必要とされる前記データがそこから取得されることになるキャッシュレベルまたはメモリを表す、実行することと、
前記アクセス命令によって取得されたデータの位置に従って、前記アクセス命令によって搬送される前記遅延識別子及び前記位置識別子を修正することであって、前記アクセス命令によって取得された前記データの前記位置は、前記アクセス命令によって必要とされる前記データがそこから取得されたキャッシュレベルまたはメモリを表す、修正することと
を含む、
コンピュータによって実行される、キャッシュにアクセスするための方法。 - 前記遅延が、キャッシュミスの場合のレベル毎キャッシュアクセス時に発生する遅延を含む、
請求項1に記載のキャッシュにアクセスするための方法。 - 前記遅延が、前記アクセス命令が演算を行うときに発生する遅延を含む、
請求項1に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令によって搬送される前記遅延識別子及び前記位置識別子が、前記アクセス命令を格納する命令キャッシュのキャッシュラインに設定されるビットでマーク付けされる識別子である、
請求項1に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令によって搬送される前記遅延識別子に従って、前記アクセス命令が遅延を発生させるかどうかを判定することが、
前記アクセス命令が遅延を発生させるかどうかを判定するために、ビットでマーク付けされる前記遅延識別子の数値を読み取ること
を含む、
請求項1に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令が前記遅延を発生させるかどうかを判定するために、ビットでマーク付けされる前記遅延識別子の前記数値を読み取ることが、
前記遅延識別子の前記数値を読み取ることと、
前記遅延識別子の前記数値が1より大きいかどうかを判定することと、
前記数値が1より大きいことの判定に応じて、前記アクセス命令が前記遅延を発生させることを示し、前記位置識別子に従って、前記キャッシュにアクセスし、前記プリフェッチ操作を実行することと
を含む、
請求項5に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令が前記遅延を発生させることの判定に応じて、前記アクセス命令によって搬送される前記位置識別子に従って、前記キャッシュにアクセスし、前記プリフェッチ操作を実行することが、
ビットでマークを付けられる前記位置識別子の数値を読み取ることと、
前記位置識別子の前記数値に従って、前記位置識別子の前記数値に対応するキャッシュレベルまたはメモリにアクセスすることと
を含む、
請求項1に記載のキャッシュにアクセスするための方法。 - 前記位置識別子の前記数値に従って、前記位置識別子の前記数値に対応する前記キャッシュレベルまたはメモリにアクセスした後、
前記アクセス命令によって必要とされる前記データが、前記位置識別子の前記数値に対応する前記キャッシュレベルまたはメモリで取得されるかどうかを判定することと、
前記データが取得されないことの判定に応じて、前記アクセス命令によって必要とされる前記データが取得されるまで、複数のレベルのキャッシュ及びメモリの階層順に従って各レベルのキャッシュに順次アクセスすることと
をさらに含む、
請求項7に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令によって必要とされる前記データが取得された後、前記アクセス命令によって取得された前記データの前記位置を記録すること
をさらに含む、
請求項8に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令によって取得された前記データの前記位置に従って、前記アクセス命令によって搬送される前記遅延識別子及び前記位置識別子を修正することが、
前記アクセス命令によって必要とされる前記データが取得された後、前記アクセス命令によって取得された前記データの前記位置を記録することと、
前記アクセス命令によって取得された前記データの前記記録された位置がレベル1キャッシュであるかどうかを判定することと、
前記アクセス命令によって取得された前記データの前記記録された位置が前記レベル1キャッシュであることの判定に応じて、前記遅延識別子をデクリメントすることと
を含む、
請求項1に記載のキャッシュにアクセスするための方法。 - 前記遅延識別子をデクリメントした後、
前記アクセス命令によって取得された前記データの前記記録された位置が、前記位置識別子の数値に対応するキャッシュレベルまたはメモリを含むかどうかを判定することと、
前記アクセス命令によって取得された前記データの前記記録された位置が前記位置識別子の前記数値に対応する前記キャッシュレベルまたはメモリを含むことの判定に応じて、前記位置識別子の前記数値に対応する前記キャッシュレベルまたはメモリから取得される、前記アクセス命令によって必要とされる前記データを廃棄することと
をさらに含む、
請求項10に記載のキャッシュにアクセスするための方法。 - 前記アクセス命令によって取得された前記データの前記位置に従って、前記アクセス命令によって搬送される前記遅延識別子及び前記位置識別子を修正することが、
前記アクセス命令によって必要とされる前記データが取得された後、前記アクセス命令によって取得された前記データの前記位置を記録することと、
前記アクセス命令によって取得された前記データの前記記録された位置がレベル1キャッシュであるかどうかを判定することと、
前記アクセス命令によって取得された前記データの前記記録された位置が前記レベル1キャッシュではないことの判定に応じて、
前記遅延識別子をインクリメントすることと、
前記アクセス命令によって取得された前記データの前記記録された位置が、前記位置識別子の数値に対応するキャッシュレベルまたはメモリであるかどうかを判定することと、
前記アクセス命令によって取得された前記データの前記記録された位置が前記位置識別子の前記数値に対応する前記キャッシュレベルまたはメモリではないことの判定に応じて、前記アクセス命令によって取得された前記データの前記記録された位置に従って、前記位置識別子がキャッシュレベルまたはメモリを表すように、前記位置識別子を設定することであって、前記位置識別子から、前記アクセス命令によって必要とされる前記データが取得される、前記設定することと
を含む、
請求項1に記載のキャッシュにアクセスするための方法。 - キャッシュにアクセスするための装置であって、
データを取得するためのアクセス命令を読み取るアクセス命令読取りユニットと、
前記アクセス命令によって搬送される遅延識別子に従って、前記アクセス命令が遅延を発生させるかどうかを判定する遅延識別子判定ユニットと、
前記アクセス命令が前記遅延を発生させることの判定に応じて、前記アクセス命令によって搬送される位置識別子に従って、前記キャッシュにアクセスし、プリフェッチ操作を実行するキャッシュアクセスプリフェッチユニットであって、前記位置識別子は、前記アクセス命令によって必要とされる前記データがそこから取得されることになるキャッシュレベルまたはメモリを表す、前記キャッシュアクセスプリフェッチユニットと、
前記アクセス命令によって取得される前記データの位置に従って、前記アクセス命令によって搬送される前記遅延識別子及び前記位置識別子を修正する識別子修正ユニットであって、前記アクセス命令によって取得された前記データの前記位置は、前記アクセス命令によって必要とされる前記データがそこから取得されたキャッシュレベルまたはメモリを表す、前記識別子修正ユニットと
を備える、
前記キャッシュにアクセスするための装置。 - 前記遅延識別子判定ユニットが、アクセス命令を格納する命令キャッシュのキャッシュラインに設定されるビットでマーク付けされる遅延識別子に従って、前記アクセス命令が遅延を発生させるかどうかをさらに判定する、
請求項13に記載のキャッシュにアクセスするための装置。 - 前記遅延識別子判定ユニットが、前記遅延識別子に従って、前記アクセス命令が、キャッシュミスの場合のレベル毎キャッシュアクセス時、または、前記アクセス命令が演算を行うときに発生する前記遅延を発生させるかどうかをさらに判定する、
請求項13に記載のキャッシュにアクセスするための装置。 - 前記遅延識別子判定ユニットが、前記アクセス命令が前記遅延を発生させるかどうかを判定するために、ビットでマーク付けされる前記遅延識別子の数値をさらに読み取る、
請求項13に記載のキャッシュにアクセスするための装置。 - 前記遅延識別子判定ユニットが、
バイナリビットでマーク付けされる前記遅延識別子の前記数値を読み取り、前記遅延識別子の前記数値が1より大きいかどうかを判定する数値読取りサブユニットと、
前記数値読取りサブユニットから判定結果を受信し、前記数値が1より大きいことの判定結果における結果の判定に応じて、キャッシュアクセスプリフェッチユニットを起動するキャッシュアクセスプリフェッチトリガサブユニットと
を含む、
請求項16に記載のキャッシュにアクセスするための装置。 - 前記キャッシュアクセスプリフェッチユニットが、
ビットでマーク付けされる前記位置識別子の数値を読み取るビット数値読取りサブユニットと、
前記位置識別子の前記数値に従って、前記位置識別子の前記数値に対応するキャッシュレベルまたはメモリにアクセスするキャッシュアクセスプリフェッチサブユニットと
を含む、
請求項13に記載のキャッシュにアクセスするための装置。 - 前記キャッシュアクセスプリフェッチユニットが、
ビットでマーク付けされる前記位置識別子の数値に従って、前記位置識別子の前記数値に対応するキャッシュレベルまたはメモリにアクセスした後、前記アクセス命令によって必要とされる前記データが、前記位置識別子の前記数値に対応する前記キャッシュレベルまたはメモリで取得されるかどうかを判定するデータ取得判定サブユニットと、
前記データ取得判定サブユニットから結果を受信し、前記結果は前記データが取得されないことであるとの判定に応じて、前記アクセス命令によって必要とされる前記データが取得されるまで、複数のレベルのキャッシュ及びメモリの階層順に従って各レベルのキャッシュに順次アクセスするレベル毎アクセスサブユニットと
を含む、
請求項13に記載のキャッシュにアクセスするための装置。 - 電子機器であって、
キャッシュおよびメモリと、
1つまたは複数のプロセッサと、
コンピュータ実行可能命令を含むコンピュータ実行可能プログラムを格納する1つまたは複数のコンピュータ記憶装置と、を備え、前記コンピュータ実行可能命令は、前記1つまたは複数のプロセッサによって実行されるとき、
データを取得するためのアクセス命令を読み取ることと、
前記アクセス命令によって搬送される遅延識別子に従って、前記アクセス命令が遅延を発生させるかどうかを判定することと、
前記アクセス命令が前記遅延を発生させることの判定に応じて、前記アクセス命令によって搬送される位置識別子に従って、前記キャッシュにアクセスし、プリフェッチ操作を実行することであって、前記位置識別子は、前記アクセス命令によって必要とされる前記データがそこから取得されることになるキャッシュのキャッシュレベルまたはメモリを表す、実行することと、
前記アクセス命令によって取得された前記データの位置に従って、前記アクセス命令によって搬送される前記遅延識別子及び前記位置識別子を修正することであって、前記アクセス命令によって取得された前記データの前記位置は、前記アクセス命令によって必要とされる前記データがそこから取得されたキャッシュのキャッシュレベルまたはメモリを表す、修正することと
を含む行為を前記1つまたは複数のプロセッサに実行させる、
前記電子機器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510717175.9A CN106649143B (zh) | 2015-10-29 | 2015-10-29 | 一种访问缓存的方法、装置及电子设备 |
CN201510717175.9 | 2015-10-29 | ||
PCT/US2016/059352 WO2017075372A1 (en) | 2015-10-29 | 2016-10-28 | Accessing cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018536230A JP2018536230A (ja) | 2018-12-06 |
JP7038656B2 true JP7038656B2 (ja) | 2022-03-18 |
Family
ID=58631157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018522055A Active JP7038656B2 (ja) | 2015-10-29 | 2016-10-28 | キャッシュへのアクセス |
Country Status (5)
Country | Link |
---|---|
US (1) | US10261905B2 (ja) |
EP (1) | EP3368987A4 (ja) |
JP (1) | JP7038656B2 (ja) |
CN (1) | CN106649143B (ja) |
WO (1) | WO2017075372A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321997B (zh) * | 2018-03-31 | 2021-10-19 | 赛灵思公司 | 高并行度计算平台、系统及计算实现方法 |
CN111290755B (zh) * | 2020-02-04 | 2023-07-07 | 北京字节跳动网络技术有限公司 | 呈现数据的方法、装置、电子设备及存储介质 |
CN111338986B (zh) * | 2020-03-13 | 2023-08-04 | 北京艾克斯特科技有限公司 | 一种获取三维模型数据结构中数据的方法 |
CN113010455B (zh) * | 2021-03-18 | 2024-09-03 | 北京金山云网络技术有限公司 | 数据处理方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070186073A1 (en) | 2006-02-09 | 2007-08-09 | International Business Machines Corporation | D-cache miss prediction and scheduling |
US20080229072A1 (en) | 2007-03-14 | 2008-09-18 | Fujitsu Limited | Prefetch processing apparatus, prefetch processing method, storage medium storing prefetch processing program |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138213A (en) * | 1997-06-27 | 2000-10-24 | Advanced Micro Devices, Inc. | Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line |
US6535958B1 (en) | 1999-07-15 | 2003-03-18 | Texas Instruments Incorporated | Multilevel cache system coherence with memory selectively configured as cache or direct access memory and direct memory access |
US6578130B2 (en) * | 2001-10-18 | 2003-06-10 | International Business Machines Corporation | Programmable data prefetch pacing |
JP3683248B2 (ja) * | 2002-10-22 | 2005-08-17 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
US7177985B1 (en) * | 2003-05-30 | 2007-02-13 | Mips Technologies, Inc. | Microprocessor with improved data stream prefetching |
US20060168401A1 (en) * | 2005-01-26 | 2006-07-27 | International Business Machines Corporation | Method and structure for high-performance linear algebra in the presence of limited outstanding miss slots |
US20090006803A1 (en) * | 2007-06-28 | 2009-01-01 | David Arnold Luick | L2 Cache/Nest Address Translation |
US9405548B2 (en) * | 2011-12-07 | 2016-08-02 | International Business Machines Corporation | Prioritizing instructions based on the number of delay cycles |
US9772854B2 (en) * | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
CN102999443B (zh) * | 2012-11-16 | 2015-09-09 | 广州优倍达信息科技有限公司 | 一种计算机缓存系统的管理方法 |
US9552298B2 (en) * | 2013-12-27 | 2017-01-24 | Sybase, Inc. | Smart pre-fetch for sequential access on BTree |
-
2015
- 2015-10-29 CN CN201510717175.9A patent/CN106649143B/zh active Active
-
2016
- 2016-10-28 EP EP16860891.7A patent/EP3368987A4/en not_active Withdrawn
- 2016-10-28 JP JP2018522055A patent/JP7038656B2/ja active Active
- 2016-10-28 WO PCT/US2016/059352 patent/WO2017075372A1/en active Application Filing
- 2016-10-28 US US15/337,287 patent/US10261905B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070186073A1 (en) | 2006-02-09 | 2007-08-09 | International Business Machines Corporation | D-cache miss prediction and scheduling |
CN101017430A (zh) | 2006-02-09 | 2007-08-15 | 国际商业机器公司 | D缓存缺失预测和调度的方法和装置 |
JP2007213578A (ja) | 2006-02-09 | 2007-08-23 | Internatl Business Mach Corp <Ibm> | データ・キャッシュ・ミス予測およびスケジューリング |
US20080229072A1 (en) | 2007-03-14 | 2008-09-18 | Fujitsu Limited | Prefetch processing apparatus, prefetch processing method, storage medium storing prefetch processing program |
JP2008226025A (ja) | 2007-03-14 | 2008-09-25 | Fujitsu Ltd | プリフェッチ処理装置、プリフェッチ処理プログラムおよびプリフェッチ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US10261905B2 (en) | 2019-04-16 |
EP3368987A4 (en) | 2019-05-15 |
CN106649143A (zh) | 2017-05-10 |
CN106649143B (zh) | 2020-06-26 |
JP2018536230A (ja) | 2018-12-06 |
EP3368987A1 (en) | 2018-09-05 |
US20170123989A1 (en) | 2017-05-04 |
WO2017075372A1 (en) | 2017-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8683129B2 (en) | Using speculative cache requests to reduce cache miss delays | |
US9274959B2 (en) | Handling virtual memory address synonyms in a multi-level cache hierarchy structure | |
US10558569B2 (en) | Cache controller for non-volatile memory | |
JP7038656B2 (ja) | キャッシュへのアクセス | |
WO2017211240A1 (zh) | 一种处理器芯片以及指令缓存的预取方法 | |
US11016695B2 (en) | Methods and apparatus to perform memory copy operations | |
US20130138867A1 (en) | Storing Multi-Stream Non-Linear Access Patterns in a Flash Based File-System | |
US10732979B2 (en) | Selectively performing ahead branch prediction based on types of branch instructions | |
US8954681B1 (en) | Multi-stage command processing pipeline and method for shared cache access | |
WO2016141735A1 (zh) | 缓存数据的确定方法及装置 | |
TWI774703B (zh) | 偵測與處理儲存串流的系統與方法 | |
WO2022237585A1 (zh) | 处理方法及装置、处理器、电子设备及存储介质 | |
US20130339612A1 (en) | Apparatus and method for testing a cache memory | |
US9626296B2 (en) | Prefetch list management in a computer system | |
CN115269454A (zh) | 数据访问方法、电子设备和存储介质 | |
CN116795736A (zh) | 数据预读取方法、装置、电子设备和存储介质 | |
US8661169B2 (en) | Copying data to a cache using direct memory access | |
CN108052296B (zh) | 一种数据读取方法、设备及计算机存储介质 | |
KR102692838B1 (ko) | 저장 디바이스들에 대한 강화된 선판독 능력 | |
JP6005637B2 (ja) | メモリへの読取り又は書込み | |
US11449428B2 (en) | Enhanced read-ahead capability for storage devices | |
TWI579695B (zh) | 對處理器的快取進行清除的方法以及該處理器 | |
TWI779338B (zh) | 用於記憶體管理機會與記憶體交換任務之運算系統及管理其之方法 | |
US9542318B2 (en) | Temporary cache memory eviction | |
WO2023246625A1 (zh) | 一种运行程序的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191010 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211026 |
|
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: 20220208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220308 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7038656 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |