JP5635311B2 - リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル - Google Patents

リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル Download PDF

Info

Publication number
JP5635311B2
JP5635311B2 JP2010140714A JP2010140714A JP5635311B2 JP 5635311 B2 JP5635311 B2 JP 5635311B2 JP 2010140714 A JP2010140714 A JP 2010140714A JP 2010140714 A JP2010140714 A JP 2010140714A JP 5635311 B2 JP5635311 B2 JP 5635311B2
Authority
JP
Japan
Prior art keywords
store
item
data
miss
access
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
Application number
JP2010140714A
Other languages
English (en)
Other versions
JP2011008783A (ja
Inventor
ポール・ギルバート・メイヤー
デビッド・ジェームズ・ウィリアムソン
サイモン・ジョン・クラスク
Original Assignee
アーム・リミテッド
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 アーム・リミテッド filed Critical アーム・リミテッド
Publication of JP2011008783A publication Critical patent/JP2011008783A/ja
Application granted granted Critical
Publication of JP5635311B2 publication Critical patent/JP5635311B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency

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)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の分野は、データ記憶装置に関し、具体的にいえば、クロックサイクルごとに複数のアクセス要求を受信するデータ記憶装置に関する。
データプロセッサは、極めて大きな記録容量を必要とする、以前よりも大規模な量のデータを処理する。メモリのような大きなデータストアは、アクセスするのに時間がかかる。したがって、サブセット内にないデータが要求された場合に、ハイレベルのキャッシュまたはメモリのような1つまたは複数の大きなストアにアクセスすることによって、アクセスが容易であるローレベルのキャッシュのような小さいデータストアに、プロセッサが必要とし得るデータのサブセットを保存するための技術が発展してきている。
より小さいデータストアは、アクセスが容易であるために、プロセッサの速度を改善する一方で、電力および設置面積の点において実装するのにコストが高いため、プロセッサが必要とする可能性の高いアイテムを保存していることが重要となる。必要とされているデータを保存していない場合には、利益を付加することなく単に、設置面積を増大するとともに、電力を浪費する。実際に、これらのデータストアにおけるヒットレートは、プロセッサの電力消費およびパフォーマンスにとって、非常に重要である。
このようなデータストアにおける1つの例は、トランスレーション・ルックアサイド・バッファ、すなわちTLBである。仮想メモリを具備したほとんどの最新のマイクロプロセッサは、仮想的にアドレス指定されているとともに、物理的にマップされているデータキャッシュを有している。したがって、全てのメモリの読み出しおよび書き込みは、アドレス指定された記憶位置にアクセスすることが可能になる前に、それらの仮想アドレスを物理アドレスに変換する必要がある。この変換は、典型的には、TLBと呼ばれる小さな変換キャッシュによって実施される。TLBが、要求された変換を保持していない場合には、変換情報を、バッキングレベル2のTLBから、または、メモリ内のページテーブルにアクセスするメモリの管理ロジックから、読み出さなければならない。これらTLBのヒットレートは、プロセッサのパフォーマンスにとって非常に重要である。バッキングL2のTLBを用いる場合であっても、TLBのミスに関する不利益は、全体的なパフォーマンスに対して極めて大きな影響を及ぼす。
多くの現代的なマイクロプロセッサは、サイクルごとに、2つのメモリアクセス、すなわち、1つのロードと1つの保存とを発行することが可能であり、このため、これらは、変換を実施するための、2つのTLBまたはデュアルポートのTLBを必要とする。デュアルポートのTLBは、2つのTLBのソリューションとほぼ同じ設置面積を有しており、実質的に、2つのTLBと同様に実施され得る。このデュアルポートのTLBは、事実上、各エントリーが2回も保存される、という欠点を有している。異なるエントリーをそれぞれ保存することの可能な、2つの独立したTLBを使用することは、デュアルポートのTLBよりも多くのエントリーを保存することが可能であるという利点を有しており、このために、2つのTLBがメモリの異なる領域にアクセスしている状況においては、より高いパフォーマンスを提供することが可能である。
しかし、場合によっては、同一のデータアイテムに対してロードおよび保存を実行してしまうこともあり、また、これらのデータアイテムが最近アクセスされていない場合には、2つのTLBを実施する態様においては、TLBのロードおよびTLBの保存の両方において、ミスが生じる。したがって、これらのアクセスの両方に関する、時間的な不利益が生じる。デュアルポートのTLBを用いていれば、明らかに、TLBのロードは、TLBの保存に利用できるように、データを保存していたはずである。
このように、これら2つの実施態様の両方とも、欠点を有している。
デュアルポートの保存メカニズムおよび独立した保存メカニズムの両方の利点における少なくともいくつかを具備するシステムを提供することが可能であることが、望ましいと考えられる。
本発明における第1態様は、複数のアイテムを保存する記憶装置であって、前記記憶装置は、同一のクロックサイクルで、各アイテムにアクセスするための第1アクセス要求および第2アクセス要求を受信するように構成され、前記記憶装置は、前記複数のアイテムのサブセットをそれぞれ保存する2つのストアを具備し、前記第1アクセス要求は第1ストアに送信されるとともに、前記第2アクセス要求は第2ストアに送信され、前記記憶装置は、要求されたアイテムが前記アクセスされたストアに保存されていないというミスを検出するミス検出回路と、アクセスがミスを起こしたアイテムを別のストアから読み出すアイテム読み出し回路と、前記2つのストアの各々に上書きするアイテムを、前記各ストアのアクセス履歴に従って選択するアップデート回路とを具備し、前記アップデート回路は、前記ミス検出回路が前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートすることを特徴とする記憶装置を提供する。
本発明は、同一のクロックサイクルで、2つのアクセス要求が発生しているときには、これらは関連している可能性があり、そのため、これらがアクセスしている2つのデータストアの間に何らかのリンケージを設けることが、各データストアが同様に独立してデータを保存することが可能であるときには、有利である可能性がある、ということを認識している。したがって、本発明は、ミスおよび少なくとも1つの別の条件に応答して、読み出されたアイテムを用いて、選択されたアイテムを上書きすることによって、これら両方のストアをアップデートする、アップデート回路を提供している。これらのアイテムは、実際のデータストアのアクセス履歴に従って選択されるため、最近アクセスされていないアイテムを各ストアに独立して上書きすることが可能である。したがって、第1アクセス要求の1つが、第2アクセス要求には必要とされないアイテムにアクセスしている場合には、このアイテムは、第2データストアに保存されている一方で使用されておらず、そのため、アップデート回路は上書きするためすぐに選択する。しかし、2つのアクセス要求が共通のアイテムにアクセスしている場合には、第1アクセス要求によってアクセスされているアイテムは、少なくともいくつかの第2アクセス要求によっても必要とされており、第2データストアにそれらを保存することは、何らかの利益を提供する。
実施形態によっては、前記アップデート回路が、前記ミスを起こした前記アイテムが前記第2ストアに保存されているか否かを特定するように構成されているとともに、前記少なくとも1つの別の条件が、前記アイテムが前記第2ストアに保存されていないことの検出である。
このアップデート回路は、第1ストアにおいてミスを起こしたアイテムが第2ストアに保存されているか否かを特定してもよい。それが第2ストアに保存されていない場合には、このことは、上記した少なくとも1つの別の条件となり、アップデート回路が、読み出されたアイテムを用いて、それらのアクセス履歴に応じて選択されたアイテムを上書きすることによって、第1および第2ストアの両方をアップデートするはずである、ということを意味している。
他の実施形態では、前記アップデート回路は、前記ミスを起こした前記アイテムが前記第2ストアに存在していることの検出に応答して、前記第2ストアから前記アイテムを読み出すとともに、前記アップデート回路によって選択された前記アイテムを上書きすることによって、前記アイテムを、前記第1ストアにコピーするようになっている。
ミスを起こしたアイテムが第2ストアに存在している場合には、実施形態によっては、このアイテムが、第2ストアから読み出されるとともに、第1ストアにおけるアップデート回路によって選択された位置にコピーされる。このことは、別のストアからアイテムを取り出すことが多くのクロックサイクルを必要とするような場合に、有利になる可能性がある。これは、別のストアがオフ・チップ・メモリなどのアクセスすることが困難なストアである場合に、生じる可能性がある。
他の実施形態では、前記アップデート回路は、前記ミスを起こした前記アイテムが前記第2ストアに存在していることの検出に応答して、上書きする前記アイテムを選択するとともに、前記第1ストアに上書きするアイテムを、前記ストアのアイテムアクセスの履歴に従って選択し、前記アップデート回路は、前記別のストアから読み出された前記アイテムで前記選択されたアイテムを上書きするように構成されている。
別のストアが遠隔地にあるものではないとともに、アクセスすることが困難なものではない場合には、ただ単に、他の状況において実行されているように、別のストアからデータアイテムを取り出すこと、および、第2ストアにおいて取り出された値を用いて、このアイテムを上書きすること、および、アクセス履歴に従って、第1ストアにおけるアップデート回路によって選択された位置に、それを書き込むことの方が、より容易である可能性がある。取り出された値は、第2ストアに保存されているものと同一の値でなければならない一方で、この値を上書きすることは、そのことが、2つのデータストアは同一のアイテムに関して異なる変換または属性を決して保持していない、ということを保証するために、有利である可能性がある。ソフトウェアは、このことが絶対に起こらないようにすべきではある一方で、この場合には、エントリーを常に上書きすることによって、検証努力を減少することが可能となる。
他の実施形態では、このエントリーは、第2ストアにおいては上書きされず、それは単にそのまま放置され、第2ストアには何のアイテムも書き込まれず、読み出されたアイテムは、第1データストアにおける、アップデート回路によって選択された場所に書き込まれる。
実施形態によっては、前記別のストアから読み出された前記アイテムは、属性データを有しており、前記属性データは、関連するデータの属性を示しており、前記少なくとも1つの別の条件は、前記属性データを有し、前記アップデート回路は、所定の値を有していない前記属性データに応答して前記読み出されたアイテムで前記第2ストアおよび前記第1ストアをアップデートする一方で、前記所定の値を有している属性データに応答して、前記読み出されたアイテムで記第2ストアをアップデートせずに、前記読み出されたアイテムで前記第1ストアをアップデートする。
場合によっては、保存されているアイテムは、それらに関連する属性情報を有していてもよい。アイテムをアップデートするか否かを決定するときに、この情報を使用することが有利になる可能性がある。
例えば、前記第1アクセス要求がロード(メモリの読み出し)の要求であり、前記第2アクセス要求が保存(メモリへの書き込み)の要求であり、前記所定の値が、関連する前記データを示す値であり、前記値が読み出し専用のデータであるときには、この場合には、読み出されたアイテムが保存(メモリへの書き込み)用のパイプラインにおいては決して使用されないこと、および、このために、このパイプラインにある第2ストアにそれが書き込まれるべきではないこと、は明らかである。したがって、この別の情報を使用することは、第2ストアにおいて必要とされる可能性のあるアイテムを、決して必要とされることがないとわかっているアイテムを用いて上書きしないことによって、デバイスの効率を改善することが可能である。
実施形態によっては、前記2つのストアは、2つのレベル1のキャッシュを具備し、前記記憶装置は、前記別のストアをさらに具備し、前記別のストアは、レベル2のキャッシュを具備している。
本発明の実施形態は、アクセスすることが容易かつ安価なデータストアからなる、少量のデータだけを保存することの可能なキャッシュにとって、それらの設置面積および電力に関するコストのために、特に有用である。レベル1のキャッシュは、アクセスすることが最も容易かつ最も素早いものであり、また、レベル2のキャッシュは、一般的には、より大きく、アクセスするためにより多くの時間を消費するものである。したがって、データのサブセットを保存するためのレベル1のキャッシュとして、ストア1およびストア2を有するとともに、別のデータアイテムをレベル2すなわちL2のキャッシュに保存することが、有利である可能性がある。他の実施形態では、別のデータのためのL2のキャッシュを有することに代えて、別のデータをメモリに保存してもよく、この場合には、このデータにアクセスするために、メモリ管理ユニットが必要とされる。
実施形態によっては、前記アップデート回路は、前記2つのストアの各々に関するアクセス履歴を保存するバッファを具備するとともに、前記アップデート回路は、最近アクセスされていないアイテムを上書きすることを選択するように構成されている。
上書きすべきアイテムを選択するときには、アップデート回路は、そのストアに関するアクセス履歴に依存する。したがって、実施形態によっては、それは、2つのストアのそれぞれに関するアクセス履歴を保存するバッファを備えており、さらに、アップデート回路は、このデータを利用して、最近アクセスされていないアイテムを、上書きするために選択する。このようにして、しばらく使用されていないアイテムが上書きされる。したがって、ストアに、他のストアによっては必要とされている一方、このストアにおいては使用されないアイテムが書き込まれた場合には、これらは、これらがアクセスされていないことをそれらのアクセス履歴が示しているために、すぐに上書きされる。
実施形態によっては、前記アクセス要求は、仮想アドレスを使用して前記アイテムの記憶位置を識別するとともに、前記2つのストアは、仮想アドレスから物理アドレスへの複数の変換をそれぞれ保存する複数のトランスレーション・ルックアサイド・バッファを具備している。
本発明の実施形態は、トランスレーション・ルックアサイド・バッファとって、特に有用である。導入部分に記載したように、トランスレーション・ルックアサイド・バッファは、プロセッサによって出力された仮想アドレスを、キャッシュおよびメモリにおける記憶位置を特定する物理アドレスに変換するために使用される。これらのトランスレーション・ルックアサイド・バッファは、一般的にはキャッシュであり、変換情報のサブセットを保存している。これらは、処理時間において大きなコストを発生させるために、これらにおいては、できるだけミスが生じないことが重要である。本発明の実施形態は、2つのルックアサイド・バッファを設ける方法を提供しており、これらは、独立のアイテムを保存することが可能である一方で、これらの一方がアイテムを必要としている場合に、このアイテムが他方にも書き込まれるように、リンクされている。このことは、例えばプロセッサが、比較的に近い時間帯に、同一のページに対する読み出しおよび書き込みを実行している状況では、ページに対する第1ロードが、そのページに対する書き込みの準備が整っている書き込み経路上にあるデータストアにそれが保存されることを、確保する、ということを意味している。上書きされるために選択されているアイテムが、ストアごとに、それらのアクセス履歴に基づいて独立に選択されているために、データストアの1つに対して必要とされていないアイテムが書き込まれた場合には、それは、すぐに上書きされる。
保存されているアイテムは、ただ単に、仮想アドレスから物理アドレスへの変換であってもよいし、または、これらは、代替的に、その物理アドレスに保存されているアイテムの属性に関連する属性データなどの、追加の情報を含んでいてもよい、ということに注意すべきである。
実施形態によっては、前記記憶装置は、少なくとも1つの追加のストアを具備し、前記記憶装置は、同一のクロックサイクルで、少なくとも1つの追加のアクセス要求を前記第1および第2アクセス要求と同様に受信するように構成され、前記少なくとも1つの追加のアクセス要求は、前記少なくとも1つの追加のストアに送信され、前記アップデート回路は、前記少なくとも1つの追加のストアを上書きするアイテムを、前記少なくとも1つの追加のストアのアクセス履歴に従って選択するように構成され、前記アップデート回路は、前記ミス検出回路が前記第1ストアへのアクセスにおける前記ミスを検出したことと、前記少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで全ての前記ストアをアップデートするようになっている。
本発明の実施形態は、単一のサイクルおよび2つのデータストアにおける、2つのアクセス要求に関して議論されてきた一方で、当業者にとっては、それが、追加のデータストアの使用を伴う同一のサイクルにおける別のアクセス要求に関しても同様に良好に妥当することは、明らかであるはずである。このような状況では、上記した別の条件も満たされている場合には、いずれかのデータストアにおけるいずれかのミスによって、読み出されたデータが、それらの全てに保存される。
本発明における第2態様は、データを処理するプロセッサと、本発明における第1態様による記憶装置とを具備するデータ処理装置であって、前記プロセッサは、同一のクロックサイクルで、データのロード要求およびデータの保存要求を生成するように構成されるデータ処理装置を提供する。
2つのアクセス要求が、ロード要求および保存要求である場合には、比較的に近い時間帯に、プロセッサが同一のアイテムに対する読み出しおよび書き込みを実行する可能性が高いために、リンクされているストアを有することは、特に有利である。このような場合に、ストアがリンクされていないと、あるアイテムに対する第1ロードによって、プロセッサが、ミスが処理されている間にストールするとともに、そのすぐ後に、同一のアイテムに対する第1保存が生じたときに、プロセッサが、再びストールする。ロード中に回復されたデータを書き込み用のパイプラインのためのデータストアに保存することによって、第2ストールは回避される。
実施形態によっては、前記データ処理装置は、前記別のストアを具備し、前記別のストアは、各アイテムに関連する属性データを保存するように構成されている。
アイテムを、別のストアにおける物理アドレスによって特定される位置に保存してもよい。これらのアイテムは、例えば、プロセッサによって処理されるべきデータアイテムであってもよいし、または、プロセッサを制御するための命令であってもよい。これらの物理アドレスは、これらに関連する属性データを有していてもよく、この属性データは、そのアドレスに保存されているアイテムの属性の表示を提供する。これらの属性は、アイテムがキャッシュ可能であるか否かおよび/または、それが読み出し専用のアイテムであるのか、または書き込み専用のアイテムであるのか、などの事項を含んでいてもよい。
本発明における第3態様は、第1および第2ストアに保存されているアイテムをアップデートする方法であって、同一のクロックサイクルで、前記第1ストア内の第1アイテムにアクセスするための第1アクセス要求、および第2ストア内の第2アイテムにアクセスするための第2アクセス要求を受信するステップと、要求されたアイテムが前記アクセスされたストアに保存されていないというミスをいずれのアクセス要求が起こしたかを判定するステップと、アクセスがミスを起こしたアイテムを別のストアから読み出すステップと、前記各ストアのアクセス履歴に従って、前記2つのストアの各々において上書きするアイテムを選択するステップと、前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと具備することを特徴とする方法を提供する。
本発明における第4態様は、複数のアイテムを保存する記憶手段であって、記憶手段は、同一のクロックサイクルで、各アイテムにアクセスするための第1アクセス要求および第2アクセス要求を受信するように構成され、前記記憶手段は、前記複数のアイテムのサブセットをそれぞれ保存するための2つのストアを具備し、前記第1アクセス要求は第1ストアに送信されるとともに、前記第2アクセス要求は第2ストアに送信され、要求されているアイテムが前記アクセスされたストアに保存されていないというミスを検出するミス検出手段と、アクセスがミスを起こしたアイテムを別のストアから読み出すアイテム読み出し手段と、前記個々のストアにおけるアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するためのアップデート手段とを具備し、前記アップデート手段は、前記ミス検出手段が前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートすることを特徴とする記憶手段を提供する。
本発明における上述のおよび他の目的、特徴点および有利な点は、添付図面に関連して理解されることが予定されている、以下に示す例示的な実施形態の詳細な説明から、明らかになるはずである。
本発明の実施形態によるデータ記憶装置を示す図である。 本発明の実施形態によるTLBを用いてアクセスされるキャッシュを具備したデータ処理装置を示す図である。 単一のクロックサイクルで複数のアクセス要求を受信する記憶装置を示す図である。 本発明の実施形態による方法を例示するフローチャートである。
図1は、本発明の実施形態による記憶装置10を示している。前記記憶装置は、複数のデータアイテム15およびそれらの対応アドレス16を備えた、2つのデータストア12および14を備えている。これら2つのデータストアは、並列に配置されており、同一のクロックサイクルでアクセス要求をそれぞれ受信する。これらのアクセス要求は、データに関するアクセス要求であり、アドレスを用いることによって、このデータの記憶位置を指定する。したがって、指定されたアドレスはアドレス16と比較され、それが適合した場合には、データが出力される。
データの出力と同様に、この記憶位置へのアクセスが存在していることを示すヒットデータが、回路20に送信される。回路20は、各データストア12および14のための、2つのアクセス履歴バッファ22および24を備えている。これらは、データストア12および14のアクセス履歴を保存する。アクセス要求の1つまたは両方が、アクセスされたデータストア12・14内において、必要とされているデータを発見しなかった場合には、これは、ミス検出器30を用いることによって検出される。そして、ミス検出器30は、他のデータストア14・12において、ミスの生じたアイテムを探す。そして、ミス検出器30は、回路20内のアップデートロジックに対して、個々のデータストアにおいてミスがあったことを示す信号を送信するとともに、ミスの生じたアイテムが他のデータストア内にあったか否かおよび、それがその位置であったか否かを示す信号を送信する。
そして、アップデート回路は、ミスの生じたデータアイテムを取り出してくるように、フェッチ回路28に信号を送信し、さらに、フェッチ回路28は、遠隔地にある追加のデータストアに信号を送信し、必要とされているデータアイテムを読み出す。
この実施形態では、データアイテムは、この遠隔地のデータストアにおける、アドレスによって特定される位置に保存されている。この記憶位置は、それに関連する属性データを有しており、これにより、このアドレスに保存されているアイテムの属性を示している。データアイテムに関連している可能性のある属性の例は、読み出し、書き込み、またはアクセス不可能などの許可であり、これらの許可は、例えばデータアイテムにアクセスすることを許されている者の指定などの、別の制限を有している可能性があり、例えば、アクセスを特定のユーザーまたは管理者に制限するようにしてもよい。別の属性は、キャッシュ可能、実行不可などの事項、または、デバイスインジケータを含んでいてもよい。このように、これらの属性は、データアイテムについての別の情報を提供しており、また、これらの属性を、特定のデータストアにデータアイテムを保存することが適切であるか否かを判定するために、アップデートロジックによって使用するようにしてもよい。この属性データを、データストアにおいて、データアイテムとともに読み出したり保存したりするようにしてもよい。
したがって、アップデートロジック26は、最近アクセスされていない記憶位置を判定するために、そのデータストアのアクセス履歴を使用することによって、ミスが発生したデータストアにおける、このデータアイテムを保存すべき位置を選択する。そして、このアップデート回路26は、属性データを調査することによって、この属性データが、このデータアイテムを他のデータストアに保存することが有用そうであるか否かを示しているか否かを確かめる。例えば、データアイテムの属性が、データアイテムが読み出し専用のデータであることを示している場合であって、他のデータストアが、書き込み用の経路上にあるデータストアである場合には、このデータストアに保存されているアイテムを、この読み出し専用のデータアイテムによって上書きしないことが好ましい。属性データが、他のデータストアへのデータアイテムの書き込みを防止していない場合には、アップデート回路26は、このデータアイテムを書き込むための記憶位置を選択する。第1に、それは、ミス検出器が送信したデータを調査して、そのデータストアにデータアイテムが以前にも保存されていたか否かを確かめる。そして、保存されていた場合には、それは、データを書き込むための上記の位置を選択する。一方、保存されていなかった場合には、それは、アクセス履歴バッファに保存されているアクセス履歴から、記憶位置を選択する。この実施形態では、ミスされていたデータアイテムが他のデータストアにある場合には、それが上書きされるようになっている一方で、他の実施形態では、このデータは、そのデータストアにあるままに単に放置され、このデータアイテムは、そのデータストアに書き込まれない、という可能性もある、ということに注意すべきである。明らかに、データストアにそれを書き込まないことは、ある程度の電力節約という利点を有しており、一方、データストアにそれを書き込むことは、何らかの理由のもとに、何らかの方法によって、データアイテムのコピーが変更されている場合に、最も新しい値が書き込まれる、という利点を有する。
図2は、本発明の実施形態によるデータ処理装置100を示している。これは、プロセッサ110、および、物理的にアドレス指定されているキャッシュである、キャッシュ112および114を備えている。これらは、2つのキャッシュとして示されている一方で、実施形態によっては、これらは、1つの読み出しおよび書き込み用のポートを具備する単一のキャッシュであってもよいことに留意すべきである。このプロセッサは、並列に動作するロード用および保存用のパイプラインを有しており、このために、同一のクロックサイクルで送信されるロード要求および保存要求が存在する。これらの要求は、仮想アドレスを使用しており、このため、キャッシュからのデータアイテムにアクセスするためには、これらは、物理アドレスに変換される必要がある。これは、TLB122および124を用いることによって実行される。したがって、ロード要求および保存要求は、個々のTLBに対して同時に送信されるとともに、指定されているアドレスがその内部に保存されているか否かが判定される。保存されていない場合、これは、ミス検出器30を用いることによって検出され、このミス検出器30は、他のTLBを調査して、そこにアイテムが保存されているか否かを確かめる。しかし、指定されたアドレスが存在する場合には、このヒット情報が、回路20における各TLBに付随しているアクセス履歴バッファに送信される。同時に、仮想アドレスから見出された物理アドレスは、キャッシュに送信される。
TLBの1つまたは両方がミスを起こした場合には、アップデートロジック26は、ミス検出器から受信した情報から、必要とされているアイテムが他のTLBにあるか否かを判定する。このアイテムは、追加のアドレス変換情報を保存しているL2キャッシュ126から取り出される。これは、必要とされている情報を返送し、そして、アップデートロジック26は、ミス検出器30から、このアイテムが過去に他のTLBにあったか否かを判定する。それが他のTLBにあった場合、このTLBはアップデートされないとともに、ミスを起こしたTLBが、読み出されたアイテム、すなわち、上書きするためにアクセス履歴から選択されたアイテムによってアップデートされる。他のTLBになかった場合、アップデートロジックは、個々のアクセス履歴バッファから、TLB122および124における、このデータアイテムを保存すべき場所を判定する。それは、上書きするために、最後に使われてから最も長い時間の経過しているアイテムを選択する。このように、異なるデータアイテムが、それらのアクセス履歴に基づいて、上書きされるために選択され、これにより、TLBのそれぞれにデータアイテムが書き込まれる一方で、2つのTLBは、同時には、同一のデータアイテムを保持していない。しかし、一方のTLBにおけるミスが、他のTLBに保存されるためのアドレス変換を引き起こすために、プロセッサが、時折に生じる同一のページテーブルに対する読み出しおよび書き込みを実行している場合には、必要とされるページテーブルが保存用のパイプラインにおけるTLBに書き込まれるために、ミスに応じたロード用のパイプラインにおけるストールの後に、保存用のパイプラインにおけるストールが続くことはない。これらが異なるページテーブルにアクセスしている場合には、他のTLBにおけるミスに応じて、1つのTLBに保存されている情報は、使用されないとともに、上書きのアルゴリズムがアクセス履歴を使用することによって上書きすべきアイテムを選択しているために、すばやく上書きされる。
図3は、本発明の実施形態によるデータ記憶装置を示している。この装置には、3つの並列のデータストア222、224および226に対して並行に生じる、3つのデータアクセス要求が存在している。以前の回路と同様に、ミス検出器30は、いずれかのデータストアにおいてミスが存在しているか否かを検出するとともに、存在している場合には、他のいずれかのデータストアにそのアイテムが存在しているか否かを判定する。そして、それは、この情報をアップデートロジック26に送信する。ミスがない場合には、ヒットがあったという情報が回路20に送信され、ここでは、それが、個々のデータストアに関連する履歴バッファ22内に保存される。そして、アップデートロジック26が、ミス回路30からの情報から、必要とされているデータアイテムが他のいずれかのデータストアに存在していたか否かを判定する。存在していた場合、それは、そのデータストアから他のデータストアにそのデータをコピーするとともに、個々の履歴バッファ22内の情報から、データストアにおける上書きすべき位置を選択する。データアイテムが他のいずれかのデータストアに存在していなかった場合には、それは、この実施例においてはメモリ管理ユニット230から、そのデータを取り出す。この実施形態では、別のデータストアがレベル2のキャッシュではなく、メモリ管理ユニットによって実際にいくらか管理されているために、それは、データを読み出すために、非常に多くの余分な時間をかけている、ということに留意すべきである。したがって、データストアの1つに存在していないデータアイテムが、他のデータストアの1つに存在している場合には、このデータストアから他のデータストアにそれをコピーすることが有利である。データアイテムがいずれのデータストアにも存在していない場合には、それは、メモリ管理ユニット230を用いることによって取り出されるとともに、データストアのそれぞれに書き込まれ、データストアのそれぞれにおいて上書きされるべきアイテムは、個々の履歴バッファ22から判定されたアクセス履歴に基づいて、選択される。
図4は、本発明の実施形態による方法を例示するフローチャートである。最初に、複数のアクセス要求が受信され、要求されているアイテムが対応するデータストアに存在するか否かが判定される。存在する場合には、そのデータストアに関するアクセス履歴がアップデートされるとともに、要求されている全てのアクセスが実行されているか否かが判定される。
それが対応するデータストアにない場合には、要求されているアイテムが他のいずれかのデータストアにあるか否かが判定される。他のデータストアにある場合、このアイテムは、その特定のデータストアにおいて上書きされるべきアイテムとして、選択される。そして、このアイテムは、別のデータストアから読み出される。そして、各データストアにおいて上書きされるべきアイテムは、それが前のステップにおいてまだ選択されていない場合には、それらのアクセス履歴に基づいて選択される。そして、選択されたアイテムが上書きされるとともに、全てのデータストアがアップデートされているか否かが判定される。これらがアップデートされている場合には、全てのアクセス要求が実行されているか否かが判定される。実行されていない場合には、要求されているアイテムが対応するデータストアにあるか否かの判定に戻る。これらが全て実行されている場合には、アップデート回路に関する処理が終了する。
これは、データアクセスを実行する1つの方法に過ぎないのであって、以前に議論したように、要求されているアイテムが他のデータストアの1つにある場合には、上書きするためのアイテムとしてそれを選択することなく、それを単に放置することも可能であって、この場合には、そのデータストアにおいて上書きされるアイテムはなく、または代替的にそれを別のデータストアから読み出すことなく、そのデータストアから他のデータストアにコピーすることも可能であることを明確にしておかなければならない。
本発明の例示的な実施形態は、添付図面を参照することによって本明細書において詳細に説明された一方で、本発明は、これらの厳密な実施形態に限定されるわけではないことと、当業者であれば添付の特許請求の範囲によって定義される本発明の範囲および趣旨から逸脱することなく、様々な変形および修正を実現することが可能であることを理解すべきである。例えば、本発明の範囲から逸脱することなく、独立請求項の構成とともに従属請求項の構成における様々な組み合わせを実現することが可能である。

Claims (17)

  1. 複数のアイテムを保存する記憶装置であって、
    前記記憶装置は、同一のクロックサイクルで、各アイテムにアクセスするための第1アクセス要求および第2アクセス要求を受信するように構成され、
    前記記憶装置は、
    前記複数のアイテムのサブセットをそれぞれ保存する2つのストアを具備し、
    前記第1アクセス要求は第1ストアに送信されるとともに、前記第2アクセス要求は第2ストアに送信され、
    前記記憶装置は、
    要求されたアイテムが前記アクセスされたストアに保存されていないというミスを検出するミス検出回路と、
    アクセスがミスを起こしたアイテムを別のストアから読み出すアイテム読み出し回路と、
    前記各ストアのアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するアップデート回路と
    を具備し、
    前記アップデート回路は、前記ミス検出回路が前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするとともに、
    前記アップデート回路は、前記ミス検出回路が前記第2ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートし、
    前記アップデート回路は、前記ミスを起こした前記アクセスされたストアに対して他方の前記第1または第2ストアに前記ミスを起こした前記アイテムが保存されているか識別するように構成され、前記少なくとも1つの別の条件は、前記アイテムが前記他方の第1または第2ストアに保存されていないとの前記ミス検出回路による後続の検出であることを特徴とする記憶装置。
  2. 前記アップデート回路は、前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在していることの検出に応答して、前記他方の第1または第2ストアから前記アイテムを読み出すとともに、前記アップデート回路によって選択された前記アイテムを上書きすることによって、前記アイテムを前記ミスを起こした前記アクセスされたストアにコピーすることを特徴とする請求項に記載の記憶装置。
  3. 前記アップデート回路は、前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在していることの検出に応答して、上書きする前記アイテムを選択するとともに、前記ストアのアイテムアクセスの履歴に従って前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択し、
    前記アップデート回路は、前記別のストアから読み出された前記アイテムで前記選択されたアイテムを上書きするように構成されることを特徴とする請求項に記載の記憶装置。
  4. 前記アップデート回路は、前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在していることの検出に応答して、前記他方の第1または第2ストアのいずれのアイテムも上書きせず、前記ストアのアイテムアクセスの履歴に従って前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択するとともに、前記選択されたアイテムを上書きすることを特徴とする請求項に記載の記憶装置。
  5. 前記別のストアから読み出された前記アイテムは、関連するデータの属性を示す属性データを有し、
    前記少なくとも1つの別の条件は、所定の値を有していない前記属性データを有し、
    前記アップデート回路は、前記所定の値を有していない前記属性データに応答して、前記読み出されたアイテムで前記第2ストアおよび前記第1ストアをアップデートするとともに、前記所定の値を有している属性データに応答して、前記読み出されたアイテムで前記他方の第1または第2ストアをアップデートせずに、前記読み出されたアイテムで前記ミスを起こした前記アクセスされたストアをアップデートすることを特徴とする請求項1に記載の記憶装置。
  6. 前記第1アクセス要求は、保存要求であり、
    前記第2アクセス要求は、ロード要求であり、
    前記ミスを起こした前記アクセスされたストアは前記第1ストアを含むとともに、
    記所定の値は、前記値に関連する前記データが読み出し専用データであることを示す値であることを特徴とする請求項に記載の記憶装置。
  7. 前記2つのストアは、2つのレベル1のキャッシュを具備し、
    前記記憶装置は、前記別のストアをさらに具備するとともに、
    前記別のストアは、レベル2のキャッシュを具備することを特徴とする請求項1に記載の記憶装置。
  8. 前記アップデート回路は、前記2つのストアの各々へのアクセス履歴を保存するバッファを具備するとともに、
    前記アップデート回路は、最近アクセスされていない、上書きするアイテムを選択するように構成されることを特徴とする請求項1に記載の記憶装置。
  9. 前記アクセス要求は、仮想アドレスを使用して前記アイテムの記憶位置を識別するとともに、
    前記2つのストアは、仮想アドレスから物理アドレスへの複数の変換をそれぞれ保存する複数のトランスレーション・ルックアサイド・バッファを具備することを特徴とする請求項1に記載の記憶装置。
  10. 前記記憶装置が、少なくとも1つの追加のストアを具備し、
    前記記憶装置は、前記第1および第2アクセス要求と同様に、同一のクロックサイクルで少なくとも1つの追加のアクセス要求を受信するように構成されており、
    前記少なくとも1つの追加のアクセス要求が、前記少なくとも1つの追加のストアに送信され、
    前記アップデート回路は、前記少なくとも1つの追加のストアのアクセス履歴に従って、前記少なくとも1つの追加のストアを上書きするアイテムを選択するように構成され、
    前記アップデート回路は、前記ミス検出回路が前記第1ストアへのアクセスにおける前記ミスを検出したことと、前記少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで全ての前記ストアをアップデートすることを特徴とする請求項1に記載の記憶装置。
  11. データを処理するプロセッサと、請求項1に記載の記憶装置とを具備するデータ処理装置であって、
    前記プロセッサは、同一のクロックサイクル中にデータロード要求およびデータ保存要求を生成するように構成されることを特徴とするデータ処理装置。
  12. 前記データ処理装置は、前記別のストアを具備し
    前記別のストアは、各アイテムに関連する属性データを保存するように構成されることを特徴とする請求項11に記載のデータ処理装置。
  13. 第1および第2ストアに保存されたアイテムをアップデートする方法であって、
    同一のクロックサイクルで、前記第1ストア内の第1アイテムにアクセスするための第1アクセス要求と、第2ストア内の第2アイテムにアクセスするための第2アクセス要求とを受信するステップと、
    要求されたアイテムが前記アクセスされたストアに保存されていないというミスをいずれのアクセス要求が起こしたか判定するステップと、
    アクセスがミスを起こしたアイテムを別のストアから読み出すステップと、
    前記各ストアのアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するステップと、
    前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと
    前記第2ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと、
    前記ミスを検出した後に、前記ミスを起こした前記アイテムが他方の前記第1または第2ストアに保存されているかを識別するステップと
    を具備し、
    前記少なくとも1つの別の条件は、前記第1アイテムが前記他方の第1または第2ストアに保存されていないことの検出であることを特徴とする方法。
  14. 前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在することの検出に応答して、
    前記他方の第1または第2ストアから前記アイテムを読み出すステップと、
    アップデート回路によって選択された前記アイテムを上書きすることによって、前記アイテムを前記第1ストアにコピーするステップと
    を具備することを特徴とする請求項13に記載の方法。
  15. 前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在することの検出に応答して、
    上書きする前記アイテムを選択するステップと、
    前記ストアのアイテムアクセスの履歴に従って、前記前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択するステップと、
    前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと
    を具備することを特徴とする請求項13に記載の方法。
  16. 前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在することの検出に応答して、
    前記他方の第1または第2ストア内のいずれのアイテムも上書きしないステップと、
    前記ストアのアイテムアクセスの履歴に従って、前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択するとともに、前記選択されたアイテムを前記アクセスされたストアに上書きするステップと
    を具備することを特徴とする請求項13に記載の方法。
  17. 複数のアイテムを保存する記憶手段であって、
    前記記憶手段は、同一のクロックサイクルで、各アイテムにアクセスするための第1アクセス要求および第2アクセス要求を受信するように構成され、
    前記記憶手段は、
    前記複数のアイテムのサブセットをそれぞれ保存する2つのストアを具備し、
    前記第1アクセス要求は第1ストアに送信されるとともに、前記第2アクセス要求は第2ストアに送信され、
    前記記憶手段は、
    要求されたアイテムが前記アクセスされたストアに保存されていないというミスを検出するミス検出手段と、
    アクセスがミスを起こしたアイテムを別のストアから読み出すためのアイテム読み出し手段と、
    個々のストアのアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するアップデート手段と
    を具備し、
    前記アップデート手段は、前記ミス検出手段が前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするとともに、
    前記アップデート手段は、前記ミス検出手段が前記第2ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートし、
    前記アップデート手段は、前記ミスを起こした前記アクセスされたストアに対して他方の前記第1または第2ストアに前記ミスを起こした前記アイテムが保存されているか識別するように構成され、前記少なくとも1つの別の条件は、前記アイテムが前記他方の第1または第2ストアに保存されていないとの前記ミス検出手段による後続の検出であることを特徴とする記憶手段。
JP2010140714A 2009-06-22 2010-06-21 リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル Active JP5635311B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/457,812 2009-06-22
US12/457,812 US8255629B2 (en) 2009-06-22 2009-06-22 Method and apparatus with data storage protocols for maintaining consistencies in parallel translation lookaside buffers

Publications (2)

Publication Number Publication Date
JP2011008783A JP2011008783A (ja) 2011-01-13
JP5635311B2 true JP5635311B2 (ja) 2014-12-03

Family

ID=42471623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010140714A Active JP5635311B2 (ja) 2009-06-22 2010-06-21 リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル

Country Status (4)

Country Link
US (1) US8255629B2 (ja)
JP (1) JP5635311B2 (ja)
CN (1) CN101930344B (ja)
GB (1) GB2471372B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014140A2 (en) * 2010-07-27 2012-02-02 International Business Machines Corporation Logical to physical address mapping in storage systems comprising solid state memory devices
CN104331377B (zh) * 2014-11-12 2018-06-26 浪潮(北京)电子信息产业有限公司 一种多核处理器***的目录缓存管理方法
WO2016121026A1 (ja) * 2015-01-28 2016-08-04 株式会社日立製作所 ストレージ装置、計算機システム、及び、方法
US11580031B2 (en) * 2019-07-31 2023-02-14 Intel Corporation Hardware for split data translation lookaside buffers
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3015528B2 (ja) * 1991-08-20 2000-03-06 株式会社東芝 アドレス変換バッファ機構
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
JPH08137756A (ja) * 1994-11-07 1996-05-31 Fuji Xerox Co Ltd アドレス変換バッファ機構
US5737749A (en) 1996-05-20 1998-04-07 International Business Machines Corporation Method and system for dynamically sharing cache capacity in a microprocessor
KR100263910B1 (ko) 1998-06-16 2000-09-01 윤종용 실리콘을 함유하는 감광성 폴리머 및 이를 포함하는 레지스트조성물
KR100486240B1 (ko) * 1998-09-21 2005-06-08 삼성전자주식회사 분리된 캐쉬 메모리를 구비한 마이크로프로세서 및 메모리 액세스 방법
US6625714B1 (en) * 1999-12-17 2003-09-23 Hewlett-Packard Development Company, L.P. Parallel distributed function translation lookaside buffer
KR100486259B1 (ko) 2002-09-09 2005-05-03 삼성전자주식회사 컴퓨터 시스템의 동작 속도를 향상시키는 캐쉬 구조를 가지는 프로세서 및 캐쉬 관리 방법
US7117290B2 (en) * 2003-09-03 2006-10-03 Advanced Micro Devices, Inc. MicroTLB and micro tag for reducing power in a processor
GB2426082B (en) 2005-05-09 2007-08-15 Sony Comp Entertainment Europe Memory caching in data processing
US7552283B2 (en) 2006-01-20 2009-06-23 Qualcomm Incorporated Efficient memory hierarchy management

Also Published As

Publication number Publication date
CN101930344A (zh) 2010-12-29
GB2471372A (en) 2010-12-29
GB2471372B (en) 2014-07-23
JP2011008783A (ja) 2011-01-13
US8255629B2 (en) 2012-08-28
CN101930344B (zh) 2016-01-20
US20100325358A1 (en) 2010-12-23
GB201009937D0 (en) 2010-07-21

Similar Documents

Publication Publication Date Title
JP6696987B2 (ja) 仮想アドレスを使用してアクセスされるキャッシュ
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
US8195881B2 (en) System, method and processor for accessing data after a translation lookaside buffer miss
US7472253B1 (en) System and method for managing table lookaside buffer performance
CA2674868C (en) Method and apparatus for setting cache policies in a processor
TWI381275B (zh) 位址轉譯方法及裝置
JP2018504694A5 (ja)
US6711653B1 (en) Flexible mechanism for enforcing coherency among caching structures
EP2416251B1 (en) A method of managing computer memory, corresponding computer program product, and data storage device therefor
EP1622028B1 (en) Cache memory and method for controlling cache memory
EP3072052A1 (en) Memory unit and method
JP5635311B2 (ja) リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル
JP2021534496A (ja) 階層キャッシュシステムにおけるプリフェッチ管理
US7549035B1 (en) System and method for reference and modification tracking
US20140289469A1 (en) Processor and control method of processor
JP2023179708A (ja) 命令キャッシュにおけるプリフェッチの強制終了及び再開
US7577791B2 (en) Virtualized load buffers
US5926841A (en) Segment descriptor cache for a processor
WO1997034229A9 (en) Segment descriptor cache for a processor
US10268581B2 (en) Cache hierarchy management
US7546439B1 (en) System and method for managing copy-on-write faults and change-protection
CN111198827B (zh) 页表预取方法及装置
JPWO2013084315A1 (ja) 演算処理装置、及び、演算処理装置の制御方法
JPH0719229B2 (ja) 記憶キー制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140317

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140415

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: 20140916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141016

R150 Certificate of patent or registration of utility model

Ref document number: 5635311

Country of ref document: JP

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250