JP2018511120A - キャッシュ保守命令 - Google Patents
キャッシュ保守命令 Download PDFInfo
- Publication number
- JP2018511120A JP2018511120A JP2017545291A JP2017545291A JP2018511120A JP 2018511120 A JP2018511120 A JP 2018511120A JP 2017545291 A JP2017545291 A JP 2017545291A JP 2017545291 A JP2017545291 A JP 2017545291A JP 2018511120 A JP2018511120 A JP 2018511120A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- address
- virtual page
- cache maintenance
- page
- 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
Links
- 238000012423 maintenance Methods 0.000 title claims abstract description 197
- 238000012545 processing Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 42
- 238000013519 translation Methods 0.000 claims description 20
- 238000004140 cleaning Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 19
- 230000014616 translation Effects 0.000 description 19
- 230000001427 coherent effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000004744 fabric Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 101000864780 Homo sapiens Pulmonary surfactant-associated protein A1 Proteins 0.000 description 1
- 101000651017 Homo sapiens Pulmonary surfactant-associated protein A2 Proteins 0.000 description 1
- 102100027773 Pulmonary surfactant-associated protein A2 Human genes 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- 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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/10—Address translation
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/655—Same page detection
-
- 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)
Abstract
Description
命令に応答してデータ処理を実行する処理回路を備え、
処理回路が、仮想アドレス空間の仮想ページを特定する仮想ページアドレスを指定するキャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、仮想ページアドレスによって特定された仮想ページに対応する物理ページ内に、キャッシュラインに記憶されたデータの物理アドレスが存在する1つ以上のキャッシュラインに対して、キャッシュ保守操作を実行し、
キャッシュ保守命令が複数の仮想ページサイズの1つを指定し、処理回路が、キャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、キャッシュ保守命令によって指定された仮想ページサイズを有する仮想ページを用いてキャッシュ保守操作を実行する装置を提供する。
命令に応答してデータ処理を実行する処理手段を備え、
処理手段が、仮想アドレス空間の仮想ページを特定する仮想ページアドレスを指定するキャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、仮想ページアドレスによって特定された仮想ページに対応する物理ページ内に、キャッシュラインに記憶されたデータの物理アドレスが存在する1つ以上のキャッシュラインに対して、キャッシュ保守操作を実行し、
キャッシュ保守命令が複数の仮想ページサイズの1つを指定し、処理手段が、キャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、キャッシュ保守命令によって指定された仮想ページサイズを有する仮想ページを用いてキャッシュ保守操作を実行する装置を提供する。
仮想アドレス空間の仮想ページを特定する仮想ページアドレスを指定するキャッシュ保守命令を受信することと、
キャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、仮想ページアドレスによって特定された仮想ページに対応する物理ページ内に、キャッシュラインに記憶されたデータの物理アドレスが存在する1つ以上のキャッシュライン対して、キャッシュ保守操作を実行することとを含み、
キャッシュ保守命令が複数の仮想ページサイズの1つを指定し、キャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させることで、キャッシュ保守命令によって指定された仮想ページサイズを有する仮想ページを用いてキャッシュ保守操作を実行するデータ処理方法を提供する。
・少なくとも1つの更なるデータストア(キャッシュ階層又はメモリの他のレベルにおけるキャッシュであってもよい)にダーティ(dirty)データを書き込むクリーニング操作。ダーティデータは、他のロケーションにある対応するコピーデータを更新することなく修正されたデータであってもよい。クリーニング操作中にダーティデータが書き込まれる1つ又は複数の更なるデータストアを、予め定めるか又はハードコード化してもよいし、若しくは、可変として、例えば制御レジスタ内の制御パラメータを用いて定義してもよい。
・指定されたアドレスからデータを無効化する無効化操作(例えば、データを無効化し、及び/又はキャッシュからデータを削除する)。無効化操作は、ダーティデータが更なるデータストアにライトバックされていない場合にダーティデータが失われる可能性がある。
・クリーニング操作に続いて無効化操作を実行することに相当するクリーニング・無効化操作。これにより、過去に修正された任意のダーティデータをメモリ又は他のデータストアに最初に書き込むことで、このダーティデータを保持したままキャッシュ内のデータを無効化できる。
・要求されたアドレスにおけるデータを所定の値(例えば0等)に設定する設定操作。
1種類のキャッシュ保守操作を実施するシステムもあれば、数種類のキャッシュ保守操作を実施するシステムもある。例えば、各種のキャッシュ保守操作に対して、幾つかの異なるバージョンのキャッシュ保守命令を設け、各バージョンは仮想ページアドレスを使用してキャッシュ保守が実行されるアドレスを特定してもよい。実行される特定のキャッシュ保守操作は命令オペコード又は命令符号化におけるフィールドによって特定されてもよい。
キャッシュ保守操作が特定のキャッシュ内の全てのロケーションに対して行われる。これは、命令キャッシュデータは読み出し専用であることが多く安全且つ小さな単位で消去できるため、典型的には命令キャッシュのみに対して行われてもよい。
キャッシュ保守操作が、キャッシュ保守命令によって指定された1つのキャッシュラインに対して行われる。キャッシュラインによる操作は、マルチプロセッサコヒーレントメモリシステムがMESI等のコヒーレンシプロトコル内に直接組み込まれていることから、マルチプロセッサコヒーレントメモリシステムにおいて好ましい場合が多い。キャッシュラインによる操作では、キャッシュラインを特定するのに幾つかの手段がある。
セット/ウェイ(Set/Way)‐キャッシュ構造内の物理ラインに対する操作。
セット‐ウェイ操作は典型的には、キャッシュ全体に対する操作を繰り返すためにソフトウェアによって使用される。マルチプロセッサコヒーレントシステムでは、この処理の間にキャッシュラインが自動的に変更されないことを確実なものとするために、コヒーレンシレジームからキャッシュを除去する必要がある場合がある。これらのキャッシュクリーニング操作はCPU初期化及びシャットダウン(電力管理)コードパス中に優先的に用いられるが他の目的に用いられてもよい。
VA(仮想アドレス)‐単一の仮想アドレスを指定する命令に応答して、仮想アドレスを物理アドレスに変換することで判定された、物理的にアドレス指定された単一のキャッシュラインに対する操作。VA操作は、コヒーレント共有仮想メモリのコンテキスト内で用いられ、コヒーレンシシステムの全てのエージェントがメモリに対する全ての変化を正しく確実に観測できるようにする。
DMA操作の前後には、メモリバッファ及びキャッシュに一貫性が必要とされることがある。このため、キャッシュを、DMAの前にクリーニングし、DMAが完了した後に無効化しなければならないことがある。現在の現実世界での例としては、OpenCL画像処理用GPUとの間で、各画像フレームのサイズが8メガバイト以内の1080pのHD画像を転送することが挙げられるだろう。全キャッシュよりもバッファの方が数倍大きいため、最悪の場合、いずれのキャッシュにも存在する画像がほとんど無いということがあり得る。単一の仮想アドレスを指定するキャッシュ保守命令では、128K×64バイトのキャッシュライン操作が行われることになる。ページに基づいた操作によって、CPUの作業を桁違いに軽減することができ、キャッシュ及びメモリシステム内のキャッシュ保守が最適化される。使用するページのサイズに応じて、2048×4Kキャッシュページ操作、512×16Kキャッシュページ操作又は128×64Kキャッシュページ操作によって8メガバイトのバッファを処理することができる。
セキュリティ上の理由から、多くのオペレーティングシステム及びハイパーバイザが、メモリページをクライアントにマッピングする前にそれらをゼロ充填する。ページに基づきメモリをゼロにする操作は、最終的に、ブロードキャストページの無効化に伴ってメモリ装置内に直接発生し得る。
コードがRAMへとロードされる際、命令キャッシュをデータキャッシュ及びメモリと同期しなければならないことがある。VAライン操作によって僅かな更新はできるが、大きな変化によって命令キャッシュ全体が無効化される結果となる。ページ毎に無効化すると、個別に実行するコードからの全体的な命令キャッシュ無効化の影響が取り除かれる。
・上位システムソフトウェアの意図がSoCファブリック及び要素に示され、最適な実装が可能となる。
・構築された命令が未来のOSのカーネルコードによって使用され得る。
・指定されたページが必要とするMMU変換及び許可確認が1つのみである。
・細かな(atomic)ページ操作に対してロックや状態追跡の必要がない(メモリの順序付け及びバリアに関して、操作を時間内に完了させなければならないことがある)。
・キャッシュ操作中のオペレーティングシステムのプリエンプション(先取り)が透過的に行われる。
・非同期エラーが無い。
・マルチプロセッサ及びコヒーレントメモリシステム用に設計されている。
・ハードウェア又はファブリックが、キャッシュを一度掃くことにより複数の無効化を完了させて解決することができる(以下の図9参照)。
Claims (16)
- 命令に応答してデータ処理を実行する処理回路を備え、
前記処理回路が、仮想アドレス空間の仮想ページを特定する仮想ページアドレスを指定するキャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、前記仮想ページアドレスによって特定された前記仮想ページに対応する物理ページ内に、キャッシュラインに記憶されたデータの物理アドレスが存在する1つ以上のキャッシュラインに対し、キャッシュ保守操作を実行し、
前記キャッシュ保守命令が複数の仮想ページサイズの1つを指定し、前記処理回路が、前記キャッシュ保守命令に応答して、前記少なくとも1つのキャッシュを作動させて、前記キャッシュ保守命令によって指定された前記仮想ページサイズを有する前記仮想ページに対して前記キャッシュ保守操作を実行する
装置。 - 前記キャッシュ保守操作が、
前記1つ以上のキャッシュラインに格納されているダーティデータを少なくとも1つの更なるデータストアに書き込むクリーニング操作、
前記1つ以上のキャッシュラインに格納されている前記データを無効化する無効化操作、
前記1つ以上のキャッシュラインに格納されているダーティデータを少なくとも1つの更なるデータストアに書き込み、前記1つ以上のキャッシュラインに格納されている前記データを無効化するクリーニング・無効化操作、及び
前記1つ以上のキャッシュラインに格納されている前記データを所定値に設定する設定操作
の1つを備える、請求項1に記載の装置。 - 前記仮想ページアドレスを前記物理ページの物理ページアドレスへと変換する変換回路を備える、請求項1又は2に記載の装置。
- 前記変換回路が複数の変換エントリを備え、
各変換エントリが仮想ページアドレスに対応し、その仮想ページアドレスに対応する物理ページアドレスを特定する、請求項3に記載の装置。 - 前記少なくとも1つのキャッシュを備える、請求項1〜4のいずれか一項に記載の装置。
- 前記処理回路が、前記キャッシュ保守命令に応答して、前記少なくとも1つのキャッシュに対する複数のキャッシュ保守コマンドの発行を開始するように構成され、
各キャッシュ保守コマンドが、前記仮想ページアドレスによって特定された前記仮想ページに対応する前記物理ページ内の物理アドレスを指定し、
各キャッシュ保守コマンドが、前記指定された物理アドレスを有するデータを格納しているキャッシュラインに対して前記キャッシュ保守操作を実行するように前記少なくとも1つのキャッシュを制御するためのものである、請求項1〜5のいずれか一項に記載の装置。 - 前記処理回路が、前記キャッシュ保守命令に応答して、前記少なくとも1つのキャッシュに対する少なくとも1つのキャッシュ保守コマンドの発行を開始するように構成され、
各キャッシュ保守コマンドが、前記仮想ページアドレスによって特定された前記仮想ページに対応する前記物理ページ内の物理アドレスブロックを指定する、請求項1〜5のいずれか一項に記載の装置。 - 前記処理回路が、少なくとも幾つかのキャッシュ保守命令について、前記仮想ページアドレスによって特定された前記仮想ページに対応する前記物理ページ内の異なる物理アドレスブロックにそれぞれが対応する複数の前記キャッシュ保守コマンドの発行を開始するように構成される、請求項7に記載の装置。
- 前記少なくとも1つのキャッシュが、前記キャッシュ保守コマンドに応答して、前記キャッシュ保守コマンドによって指定された前記ブロック内の物理アドレス用のデータをどのキャッシュラインが格納しているかを特定し、その特定されたキャッシュラインに対して前記キャッシュ保守操作を実行する、請求項5に従属する場合の請求項7又は8に記載の装置。
- 前記少なくとも1つのキャッシュが、複数のキャッシュラインのそれぞれについて、前記キャッシュ保守コマンドによって指定された前記ブロック内の物理アドレス用のデータを前記キャッシュラインが格納しているかどうかを確認するように構成された、請求項9に記載の装置。
- 前記少なくとも1つのキャッシュが、複数の前記キャッシュ保守コマンドに応答して、複数のキャッシュラインのそれぞれについて、前記複数のキャッシュ保守コマンドによって指定された前記物理アドレスブロックのいずれかに存在する物理アドレス用のデータを前記キャッシュラインが格納しているかどうかを確認するように構成された、請求項9又は10に記載の装置。
- 複数のキャッシュを備え、
前記処理回路が、前記キャッシュ保守命令に応答して、前記複数のキャッシュの少なくとも幾つかを作動させ、前記キャッシュ保守操作を実行する、請求項1〜11のいずれか一項に記載の装置。 - 対応する物理アドレス用のデータをどのキャッシュが格納しているかを特定するデータを格納するスヌープフィルタであって、前記キャッシュ保守命令に応答して、前記キャッシュ保守命令によって指定された前記仮想ページアドレスによって特定された前記仮想ページに対応する前記物理ページ内の物理アドレス用のデータを格納している1つ以上のキャッシュを特定するスヌープフィルタと、
前記スヌープフィルタによって特定された前記1つ以上のキャッシュ以外のキャッシュに対してキャッシュ保守コマンドが送信されるのを防止するように構成された制御回路とを備える、請求項12に記載の装置。 - 前記処理回路が、少なくとも幾つかのキャッシュ保守命令に応答して、少なくとも1つのメモリを制御するメモリ制御部に対してコマンドを送信し、
前記メモリ制御部が、前記コマンドに応答して、前記少なくとも1つのキャッシュによる前記キャッシュ保守操作の実行を制御する、請求項1〜13のいずれか一項に記載の装置。 - 命令に応答してデータ処理を実行する処理手段を備え、
前記処理手段が、仮想アドレス空間の仮想ページを特定する仮想ページアドレスを指定するキャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、前記仮想ページアドレスによって特定された前記仮想ページに対応する物理ページ内に、キャッシュラインに記憶されたデータの物理アドレスが存在する1つ以上のキャッシュラインに対して、キャッシュ保守操作を実行し、
前記キャッシュ保守命令が複数の仮想ページサイズの1つを指定し、前記処理手段が、前記キャッシュ保守命令に応答して、前記少なくとも1つのキャッシュを作動させて、前記キャッシュ保守命令によって指定された前記仮想ページサイズを有する前記仮想ページを用いて前記キャッシュ保守操作を実行する
装置。 - 仮想アドレス空間の仮想ページを特定する仮想ページアドレスを指定するキャッシュ保守命令を受信することと、
前記キャッシュ保守命令に応答して、少なくとも1つのキャッシュを作動させて、前記仮想ページアドレスによって特定された前記仮想ページに対応する物理ページ内に、キャッシュラインに記憶されたデータの物理アドレスが存在する1つ以上のキャッシュラインに対して、キャッシュ保守操作を実行することとを含み、
前記キャッシュ保守命令が複数の仮想ページサイズの1つを指定し、前記キャッシュ保守命令に応答して、前記少なくとも1つのキャッシュを作動させることで、前記キャッシュ保守命令によって指定された前記仮想ページサイズを有する前記仮想ページを用いて前記キャッシュ保守操作を実行する
データ処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1503580.1 | 2015-03-03 | ||
GB1503580.1A GB2536205A (en) | 2015-03-03 | 2015-03-03 | Cache maintenance instruction |
PCT/GB2016/050064 WO2016139444A1 (en) | 2015-03-03 | 2016-01-12 | Cache maintenance instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018511120A true JP2018511120A (ja) | 2018-04-19 |
JP6831788B2 JP6831788B2 (ja) | 2021-02-17 |
Family
ID=52876431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017545291A Active JP6831788B2 (ja) | 2015-03-03 | 2016-01-12 | キャッシュ保守命令 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11144458B2 (ja) |
EP (1) | EP3265917B1 (ja) |
JP (1) | JP6831788B2 (ja) |
KR (1) | KR102531261B1 (ja) |
CN (1) | CN107278298B (ja) |
GB (1) | GB2536205A (ja) |
WO (1) | WO2016139444A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942683B2 (en) | 2015-10-28 | 2021-03-09 | International Business Machines Corporation | Reducing page invalidation broadcasts |
US9898226B2 (en) | 2015-10-28 | 2018-02-20 | International Business Machines Corporation | Reducing page invalidation broadcasts in virtual storage management |
US10255181B2 (en) * | 2016-09-19 | 2019-04-09 | Qualcomm Incorporated | Dynamic input/output coherency |
US11687460B2 (en) * | 2017-04-26 | 2023-06-27 | Advanced Micro Devices, Inc. | Network cache injection for coherent GPUs |
US10831673B2 (en) * | 2017-11-22 | 2020-11-10 | Arm Limited | Memory address translation |
GB2571539B (en) * | 2018-02-28 | 2020-08-19 | Imagination Tech Ltd | Memory interface |
CN109308270B (zh) * | 2018-09-04 | 2021-07-23 | 飞腾技术(长沙)有限公司 | 一种加速虚实地址转换的方法及装置 |
US10656881B1 (en) * | 2018-11-21 | 2020-05-19 | Kyocera Document Solutions Inc. | System for printing a document using a PDF converter based on page size value |
CN109684238A (zh) * | 2018-12-19 | 2019-04-26 | 湖南国科微电子股份有限公司 | 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘 |
US11055250B2 (en) * | 2019-10-04 | 2021-07-06 | Arm Limited | Non-forwardable transfers |
CN112764668B (zh) * | 2019-11-01 | 2024-07-05 | 伊姆西Ip控股有限责任公司 | 扩展gpu存储器的方法、电子设备和计算机程序产品 |
US11681624B2 (en) * | 2020-07-17 | 2023-06-20 | Qualcomm Incorporated | Space and time cache coherency |
US11972145B2 (en) * | 2021-01-21 | 2024-04-30 | Micron Technology, Inc. | Opportunistic data movement |
US11960403B2 (en) * | 2022-08-30 | 2024-04-16 | Micron Technology, Inc. | Variable execution time atomic operations |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03231345A (ja) * | 1990-02-06 | 1991-10-15 | Fujitsu Ltd | キャッシュ装置 |
JP2001134490A (ja) * | 1999-11-01 | 2001-05-18 | Fujitsu Ltd | キャッシュメモリの制御方法及びその方法を実現する計算機 |
JP2009140376A (ja) * | 2007-12-10 | 2009-06-25 | Hitachi Ltd | 特定アドレス範囲に分割されたスヌープフィルタを持つマルチプロセッサコンピュータシステム |
JP2012530979A (ja) * | 2009-12-22 | 2012-12-06 | インテル・コーポレーション | 所与の範囲のページのキャッシュフラッシュおよび所与の範囲のエントリのtlb無効化を行なうシステム、方法、および装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978357B1 (en) * | 1998-07-24 | 2005-12-20 | Intel Corporation | Method and apparatus for performing cache segment flush and cache segment invalidation operations |
EP1182566B1 (en) * | 2000-08-21 | 2013-05-15 | Texas Instruments France | Cache operation based on range of addresses |
US6757784B2 (en) * | 2001-09-28 | 2004-06-29 | Intel Corporation | Hiding refresh of memory and refresh-hidden memory |
US7000081B2 (en) * | 2002-02-12 | 2006-02-14 | Ip-First, Llc | Write back and invalidate mechanism for multiple cache lines |
US20070005932A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Memory management in a multiprocessor system |
US7802055B2 (en) * | 2006-04-19 | 2010-09-21 | Qualcomm Incorporated | Virtually-tagged instruction cache with physically-tagged behavior |
US20090019232A1 (en) * | 2007-07-11 | 2009-01-15 | Freescale Semiconductor, Inc. | Specification of coherence domain during address translation |
US20090083496A1 (en) * | 2007-09-26 | 2009-03-26 | Stevens Jr David L | Method for Improved Performance With New Buffers on NUMA Systems |
US8392663B2 (en) * | 2007-12-12 | 2013-03-05 | Mips Technologies, Inc. | Coherent instruction cache utilizing cache-op execution resources |
CN101615133A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 用于细粒度延迟写拷贝的装置和方法 |
US9672019B2 (en) * | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
CN101944068A (zh) * | 2010-08-23 | 2011-01-12 | 中国科学技术大学苏州研究院 | 一种共享高速缓存的性能优化方法 |
US9684601B2 (en) * | 2012-05-10 | 2017-06-20 | Arm Limited | Data processing apparatus having cache and translation lookaside buffer |
US9069684B2 (en) * | 2012-07-16 | 2015-06-30 | Nvidia Corporation | System, method, and computer program product for invalidatng cache lines |
US9208102B2 (en) * | 2013-01-15 | 2015-12-08 | Qualcomm Incorporated | Overlap checking for a translation lookaside buffer (TLB) |
GB2516477A (en) * | 2013-07-24 | 2015-01-28 | Ibm | Method and system for handling virtual memory address synonyms in a multi-level cache hierarchy structure |
CN104346295B (zh) * | 2013-08-09 | 2017-08-11 | 华为技术有限公司 | 一种缓存刷新方法和装置 |
CN103455443B (zh) * | 2013-09-04 | 2017-01-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
US20170192886A1 (en) * | 2014-07-31 | 2017-07-06 | Hewlett Packard Enterprise Development Lp | Cache management for nonvolatile main memory |
-
2015
- 2015-03-03 GB GB1503580.1A patent/GB2536205A/en not_active Withdrawn
-
2016
- 2016-01-12 US US15/549,284 patent/US11144458B2/en active Active
- 2016-01-12 JP JP2017545291A patent/JP6831788B2/ja active Active
- 2016-01-12 EP EP16701195.6A patent/EP3265917B1/en active Active
- 2016-01-12 KR KR1020177026340A patent/KR102531261B1/ko active IP Right Grant
- 2016-01-12 WO PCT/GB2016/050064 patent/WO2016139444A1/en active Application Filing
- 2016-01-12 CN CN201680012407.3A patent/CN107278298B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03231345A (ja) * | 1990-02-06 | 1991-10-15 | Fujitsu Ltd | キャッシュ装置 |
JP2001134490A (ja) * | 1999-11-01 | 2001-05-18 | Fujitsu Ltd | キャッシュメモリの制御方法及びその方法を実現する計算機 |
JP2009140376A (ja) * | 2007-12-10 | 2009-06-25 | Hitachi Ltd | 特定アドレス範囲に分割されたスヌープフィルタを持つマルチプロセッサコンピュータシステム |
JP2012530979A (ja) * | 2009-12-22 | 2012-12-06 | インテル・コーポレーション | 所与の範囲のページのキャッシュフラッシュおよび所与の範囲のエントリのtlb無効化を行なうシステム、方法、および装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107278298B (zh) | 2021-10-22 |
EP3265917B1 (en) | 2021-05-19 |
KR102531261B1 (ko) | 2023-05-11 |
WO2016139444A1 (en) | 2016-09-09 |
CN107278298A (zh) | 2017-10-20 |
GB2536205A (en) | 2016-09-14 |
EP3265917A1 (en) | 2018-01-10 |
GB201503580D0 (en) | 2015-04-15 |
US20180032435A1 (en) | 2018-02-01 |
KR20170120635A (ko) | 2017-10-31 |
JP6831788B2 (ja) | 2021-02-17 |
US11144458B2 (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6831788B2 (ja) | キャッシュ保守命令 | |
US8949572B2 (en) | Effective address cache memory, processor and effective address caching method | |
US9081711B2 (en) | Virtual address cache memory, processor and multiprocessor | |
US9645941B2 (en) | Collapsed address translation with multiple page sizes | |
US20040117587A1 (en) | Hardware managed virtual-to-physical address translation mechanism | |
JP7443344B2 (ja) | 外部メモリベースのトランスレーションルックアサイドバッファ | |
US20040117588A1 (en) | Access request for a data processing system having no system memory | |
EP4058894B1 (en) | Process dedicated in-memory translation lookaside buffers (tlbs) (mtlbs) for augmenting memory management unit (mmu) tlb for translating virtual addresses (vas) to physical addresses (pas) in a processor-based system | |
TW201617886A (zh) | 指令快取記憶體轉譯管理 | |
GB2557588A (en) | Memory management | |
TW201617854A (zh) | 用於進行中操作的指令排序 | |
US7017024B2 (en) | Data processing system having no system memory | |
US20040117590A1 (en) | Aliasing support for a data processing system having no system memory | |
JP5587539B2 (ja) | ローカルメモリデータのコヒーレントなキャッシュ処理 | |
US20040117583A1 (en) | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme | |
US20040117589A1 (en) | Interrupt mechanism for a data processing system having hardware managed paging of disk data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191029 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200129 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201215 |
|
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: 20210106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6831788 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |