JP4160589B2 - 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 - Google Patents
演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 Download PDFInfo
- Publication number
- JP4160589B2 JP4160589B2 JP2005317723A JP2005317723A JP4160589B2 JP 4160589 B2 JP4160589 B2 JP 4160589B2 JP 2005317723 A JP2005317723 A JP 2005317723A JP 2005317723 A JP2005317723 A JP 2005317723A JP 4160589 B2 JP4160589 B2 JP 4160589B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- search
- address translation
- unit
- pair
- 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.)
- Expired - Fee Related
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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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
-
- 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/654—Look-ahead translation
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/684—TLB miss handling
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
そのため、CPU内部において命令制御及び演算制御を実行処理する命令演算部と主記憶部との間にキャッシュメモリを装備するシステムが現在主流になっている。
次に、MMU(Memory Management Unit)について述べると、例えば、SPARC(登録商標)アーキテクチャにおいて、OS(Operating System)は仮想アドレスから物理アドレスへの変換テーブルを管理していて、その一部のエントリを主記憶部上のTSB(Translation Storage Buffer;アドレス変換用テーブル)に、TTE(Translation Table Entry)と呼ばれる仮想アドレス(TTE−Tag)と物理アドレス(TTE−Data)との対から構成されるエントリを格納している。
ここで、TSBは容量が多いが命令演算部からのアクセスに時間がかかり、TLBは容量が少ないが命令演算部から高速なアクセスが可能である。
このようなTSBとTLBとをそなえたシステムでは、指定した仮想アドレスがMMU内にあるTLBに登録されていない場合、MMU−MISS−TRAP(MMUミス;TLBミス)が発生する。
ここで、当該仮想アドレスを含むエントリがTLBに登録されていれば(つまり、MMU−MISS−TRAPが発生しない場合;図9のステップS102のNoルート)、命令演算部は、検索された当該仮想アドレスに対応する物理アドレスが示すデータを取得すべく、当該物理アドレスを用いてキャッシュメモリを検索する(図9のステップS103)。
なお、キャッシュメモリに当該物理アドレスとデータとの対によるキャッシュエントリが登録されていない場合(図9のステップS104のNoルート)、命令演算部は当該物理アドレスを用いて主記憶アクセスを行い、当該物理アドレスのデータをキャッシュメモリに登録し(図9のステップS106)、再度当該仮想アドレスによる処理を開始する(図9のステップS107;つまり、上記ステップS100へリターンする)。
次に、仮想アドレスとTSB仮想アドレスとの関係について説明する。上述したように、仮想アドレスと物理アドレスとの対によるエントリは主記憶上のTSBに保持されており、この仮想アドレスと物理アドレスとの対によるエントリが保持されているTSB上のアドレスがTSB物理アドレスであり、このTSB物理アドレスに対応する仮想アドレスがTSB仮想アドレスである。さらに、このMMUでは、TSB仮想アドレスとTSB物理アドレスとの対によるエントリは、TLBに登録保持されている。
さらに、従来から、TLBで変換ミス(TLBミス)が発生した場合の処理技術は種々提案されている(例えば、下記特許文献1〜3参照)。
(1)MMU−MISS−TRAPをOSに報告。
(2)指定した仮想アドレスをレジスタから読み出す。
(4)TSB仮想アドレスを用いてメモリアクセスを行なう。
(5)TSB仮想アドレスに対するデータがキャッシュメモリまたは主記憶にあれば、TTE−TAG/Data(仮想アドレスと物理アドレスとの対)をTLBに登録する。
ここで、上記(5)の処理において、キャッシュメモリに当該データが無かった場合、主記憶部へのメモリアクセスが発生するので、処理に時間がかかってしまい、上記(1)〜(6)の全体の処理を完了するのに多くの時間を要する。
また、図10に示したように、従来の技術では、OSがTSB仮想アドレスを生成した後に当該仮想アドレスをレジスタにセットし、このセットしたTSB仮想アドレスをレジスタから読み出し(T6〜T8参照)、このTSB仮想アドレスに基づいて得られたTSB物理アドレスを用いてキャッシュメモリを検索し(T11参照)、ここでキャッシュメモリにデータが存在しない場合には(T12参照)、主記憶アクセスを開始する(T13参照)。このように、従来の技術では、TSB仮想アドレスの生成後、主記憶アクセスを開始するまでに時間が長いという問題があった。
さらに、図10に示したように、従来の技術では、TSB物理アドレスに対応するTTEがT14のタイミングで到着するのにも係わらず、このTTEの物理アドレス(TTE−Data)についてのデータのキャッシュメモリに対するフェッチは、キャッシュミスが結果的に判明した後におけるT27のタイミングまで実行されず、データがキャッシュメモリに到着するまでに多くの時間を要するという問題があった。
つまり、図11のタイムチャート(T1〜T56)に示すごとく、連続するメモリアクセスにおいて連続してTLBミスが発生する場合、先行するメモリアクセスにおいてTLBミスを発生した仮想アドレスをTLBに登録する処理(T1〜T22参照)が完了するまで、後続のメモリアクセスは開始されないため(T24参照)、この後続のメモリアクセスにおいてもTLBミスが発生すると、後続のメモリアクセスが完了するためには非常に時間がかかってしまうことになる(T56参照)。なお、図11における、先行するメモリアクセスの処理内容(T1〜T33)は、図10に示すメモリアクセスの処理内容(T1〜T33)と同様であり、さらに、図11における、後続のメモリアクセスの処理(T24〜T56)は、処理対象のアドレスが異なるだけであり、その処理内容は先行するメモリアクセスの処理(T1〜T33)と同様である。
さらに本発明の演算処理装置は、さらに仮想アドレス生成部を有し、前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする。(請求項2)
さらに本発明の演算処理装置は、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする。(請求項3)
さらに本発明の演算処理装置は、前記プリフェッチ制御部は、前記第2物理アドレスを用いて、前記アドレス変換テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前記キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行う第2プリフェッチ制御部とを有することを特徴とする。(請求項4)
さらに本発明の情報処理装置は、データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして保持する記憶手段と、キャッシュメモリ手段と、前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段と、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索部と、前記第1検索部による検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファ手段に保持されていない場合に、OSからの要求に基づいて、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索部と、前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部とを備え、前記第2検索部は、前記第1検索部による検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファに保持されていない場合に、前記OSからの要求に基づく前記検索が実行される前に、前記第2仮想アドレスを用いて前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行うように構成されていることを特徴とする。(請求項5)
さらに本発明の情報処理装置は、前記情報処理装置は、さらに仮想アドレス生成部を有し、前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする。(請求項6)
さらに本発明の情報処理装置は、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする。(請求項7)
さらに本発明の情報処理装置は、前記プリフェッチ制御部は、前記第2物理アドレスを用いて、前記アドレス変換テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前記キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行う第2プリフェッチ制御部とを有することを特徴とする。(請求項8)
さらに本発明のメモリアクセス方法は、データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして保持する記憶手段に接続され、キャッシュメモリ手段と、前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段とを有する演算処理装置におけるメモリアクセス方法であって、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索ステップと、前記第1検索ステップにおける検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファ手段に保持されていない場合に、OSからの要求に基づいて、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索ステップと、前記第1検索ステップにおける検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファに保持されていない場合に、前記OSからの要求に基づく前記検索が実行される前に、前記第2仮想アドレスを用いて前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第3検索ステップと、前記第3検索ステップにおける前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルからキャッシュメモリ手段に対して登録を行うプリフェッチステップとを有することを特徴とする。(請求項9)
さらに本発明のメモリアクセス方法は、前記第1検索ステップ、前記第2検索ステップ、前記第3検索ステップ及び前記プリフェッチステップがパイプライン制御され、前記第1検索ステップ、前記第2検索ステップ、前記第3検索ステップ及び前記プリフェッチステップが連続する命令に対する処理を逐次的に実行することを特徴とする。(請求項10)
〔1〕本発明の第1実施形態について
まず、図1に示すブロック図を参照しつつ、本発明の第1実施形態としての情報処理装置の構成について説明する。図1に示すように、本情報処理装置1は、主記憶部10と、例えば、命令演算部3,キャッシュメモリ12,TLB13,VA(Virtual Address;仮想アドレス)比較器(第1検索部;第2検索部;検索部)14,TSB−VA生成論理(第1生成部)15,レジスタ16,PA(Physical Address;物理アドレス)生成論理(生成部;第2生成部)17,PA比較器(キャッシュメモリ検索部)18,キャッシュメモリ制御部19,登録部20,及びプリフェッチ制御部21とを含む演算処理装置2をそなえて構成されている。
TLB13は、TSB領域11においてアドレス変換対であるエントリが保持されているアドレスを示す物理アドレス(第2物理アドレス;以下、TSB物理アドレスという)と、当該TSB物理アドレスに対応する仮想アドレス(第2仮想アドレス;以下、TSB仮想アドレスという)とのアドレス変換対であるエントリ(第2アドレスエントリ;以下、TSBアドレスエントリという)を保持するとともに、アドレス変換対(第1アドレスエントリ)を保持しうるように構成されている。
キャッシュメモリ12は、物理アドレスと当該物理アドレスが示す主記憶部10のアドレスに保持されたデータとの対であるキャッシュエントリを保持する際には、物理アドレスを検索タグである“Cache−Tag”として保持するとともに、かかるデータを検索対象のデータとして“Cache−data”として保持する。
TLB13は、仮想アドレスと物理アドレスとのアドレス変換対を保持する際には、仮想アドレスを検索タグとしての“Tag”として保持するとともに、物理アドレスを検索対象のデータとしての“Data”として保持する。
また、図1に示すように、VA比較器14は、命令演算部3の処理対象の仮想アドレス(図中“アクセスアドレス”と表記)についてのアドレス変換対であるTSBアドレスエントリを、当該仮想アドレスに基づいてTLB13から検索するものである。
TSB−VA生成論理(以下、TSB−VA生成部という)15は、VA比較器14による検索の結果、処理対象の仮想アドレスについてのアドレス変換対がTLB13に保持されていない(つまり、TLBミスが発生した)場合に、当該仮想アドレスに一対一に対応するTSB仮想アドレスを生成するものである。
PA生成論理(以下、PA生成部という)17は、VA比較器14がTLB13を検索した結果得られた、TLBミスが発生したTSB仮想アドレスに対応するTSB物理アドレスに基づいて、TSB領域11の実際のアドレスを示す最終的なTSB物理アドレスを生成するものであり、VA比較器14の検索終了と同時に最終的なTSB物理アドレスを生成する。
さらに、PA生成部17は、TLBミスが発生した後にTSB領域11から読み出された物理アドレスと、当該物理アドレスに対応する仮想アドレスとに基づいて、当該仮想アドレスに対応する、主記憶部10の実際のアドレスを示す最終的な物理アドレスを生成する。
PA比較器18は、キャッシュメモリ12に保持されたデータを検索するものであり、物理アドレスに基づいて、当該物理アドレスが示す主記憶部10のアドレスに保持されたデータを検索する。
キャッシュメモリ制御部19は、キャッシュメモリ12を制御するものであり、PA比較器18による検索の結果、検索対象のキャッシュエントリキャッシュメモリ12に保持されていない場合、主記憶部10から検索対象であるデータを読み出してキャッシュメモリ12にキャッシュエントリとして保持させる。
プリフェッチ制御部21は、第1プリフェッチ制御部22と、第2プリフェッチ制御部(データプリフェッチ制御部)23とをそなえて構成されている。
そして、PA比較器18による検索の結果、TSB物理アドレスとアドレス変換対との対であるキャッシュエントリがキャッシュメモリ12から検索されなかった(つまり、キャッシュメモリ12にかかるキャッシュエントリが保持されていない)場合に、第1プリフェッチ制御部22は、キャッシュメモリ制御部19にTSB物理アドレスとアドレス変換対との対をキャッシュエントリとしてキャッシュメモリ12に登録させる。
第2プリフェッチ制御部23は、キャッシュメモリ12に保持されたキャッシュエントリを、TLBミスが発生した仮想アドレスのアドレス変換対のTLB13への登録を登録部20が開始すると同時に、当該アドレス変換対の物理アドレスに基づいて、この物理アドレスに保持されたデータを、主記憶部10からキャッシュメモリ12に対してキャッシュミスが発生した場合にのみプリフェッチを行うものである。
まず、命令演算部3が、仮想アドレスに基づくメモリアクセスを開始し(図4のステップS10)、VA比較器14が、当該仮想アドレスと当該仮想アドレスに対応する物理アドレスとのアドレス変換対を、TLB13からの検索を行う(図4のステップS11,図5のt1参照;第1検索ステップ)。
そして、TSB−VA生成部15によってTSB仮想アドレスが生成されると同時に(つまり、TSB仮想アドレスが生成されると直ちに)、VA比較器14が、生成されたTSB仮想アドレスについてのTSBアドレスエントリを、TLB13から検索する(図4のステップS13,図5のt4参照;第2検索ステップ)。
つまり、OSからの要求に基づいて、命令演算部3が、TLBミスが発生した仮想アドレスをレジスタ16から読み出し(図4のステップS16、図5のt6〜t8参照)、さらに、TSB−VA生成部15によって生成されたTSB仮想アドレスをレジスタ16から読み出す(図4のステップS17、図5のt9〜t11参照)。
次に、TSB物理アドレスが検索されると(TLBヒットした場合;図4のステップS20、図5のt13参照)、PA比較器18が、検索されたTSB物理アドレスに基づいて、当該TSB物理アドレスと当該TSB物理アドレスに対応するアドレス変換対(TTE−Data)をキャッシュメモリ12から検索を行う(図4のステップS21、図5のt14参照)。
そして、OSの要求に基づく主記憶アクセス(図4のステップS23、図5のt16参照)後、アドレス変換対がキャッシュメモリ12に到着した場合、このアドレス変換対とこのアドレス変換対に対応するTSB物理アドレスとの対がキャッシュエントリとしてキャッシュメモリ12に登録され(図5のt19参照;保持ステップ)、再度、TSB−VA生成部15によって生成されたTSB仮想アドレスによるメモリアクセスが開始される(図4のステップS24参照)。つまり、図4のステップS18にリターンすることになる。
このとき、本情報処理装置1では、登録部20がアドレス変換対のTLB13への登録を開始すると同時に、第2プリフェッチ制御部23が、当該アドレス変換対の物理アドレスに基づいて、当該物理アドレスが示す主記憶部10のアドレスに保持されたデータを、主記憶部10からキャッシュメモリ12にプリフェッチを行う(図4のステップS26、図5のt25〜t28参照;第2プリフェッチ制御ステップ,プリフェッチ制御ステップ)。
具体的には、第2プリフェッチ制御部23は、まず、かかるアドレス変換対の仮想アドレスと物理アドレスとに基づいて、PA生成部17に最終的な物理アドレスを生成させる(図5のt25参照;第2生成ステップ,生成ステップ)。
ここで、キャッシュミスが発生した場合(図5のt27参照)、第2プリフェッチ制御部23は、キャッシュメモリ制御部19に、キャッシュミスが発生した物理アドレスを用いた当該物理アドレスが示す主記憶部10のアドレスに保持されたデータに対するプリフェッチを実行させる(つまり、主記憶アクセスを実行させる;図5のt28参照)。
そして、VA比較器14は、TLBミスが発生した仮想アドレスを用いて再度TLB13の検索を行う(図4のステップS11、図5のt28参照)。
次に、PA比較器18が、TLBヒットが発生した当該仮想アドレスに対応する物理アドレスを用いて、当該物理アドレスが示す主記憶部10のアドレスに保持されたデータをキャッシュメモリ12から検索する(図4のステップS28、図5のt30参照)。
そのため、キャッシュメモリ12が当該データを受信し、当該データがキャッシュメモリ12に登録されるタイミングを、かかる通常の処理のみを実行した場合よりも前倒しすることができ、TLBミスが発生した場合の処理時間を短縮することができる。
次に、TLBヒット(図4のステップS12のNoルート、図5のt37参照)した結果得られた、当該仮想アドレスに対応する物理アドレスを用いて、PA比較器18が、当該物理アドレスが示すデータを、キャッシュメモリ12から再度検索を行う(図4のステップS28、図5のt38参照)。
このように、本発明の第1実施形態としての情報処理装置1及びプリフェッチ制御方法によれば、VA比較器14が、TSB−VA生成部15によってTSB仮想アドレスが生成されると同時に当該TSB仮想アドレスを用いてTSBアドレスエントリをTLB13から検索し(第2検索ステップ)、このVA比較器14によって当該TSB仮想アドレスに対応するTSB物理アドレスが検索されると同時に、第1プリフェッチ制御部が、検索された当該TSB物理アドレスを用いて、TLBミスが発生した仮想アドレスのアドレス変換対を主記憶部10のTSB領域11からキャッシュメモリ12に対してプリフェッチを行う(第1プリフェッチ制御ステップ)ので、本情報処理装置1における、OSからの要求に基づくTLBミスに対する通常の処理において、当該アドレス変換対を取得すべく主記憶アクセスを実行するよりも前に、第1プリフェッチ制御部22が主記憶アクセスを前倒しで実行することになり、当該アドレス変換対をキャッシュメモリ12が受信するタイミングが早くなり、その結果、TLBミスが発生したメモリアクセスの処理時間を大幅に短縮することが可能となる。
次に、本発明の第2実施形態としての情報処理装置について説明する。図1に示すように、本発明の第2実施形態としての情報処理装置1´は、上述した図1に示す第1実施形態の情報処理装置1と同一の構成をそなえており、第1実施形態の情報処理装置1に対して、VA比較器14,TSB−VA生成部15,PA生成部17,PA比較器18,キャッシュメモリ制御部19,登録部20,及びプリフェッチ制御部21が、TLBミスが発生した場合に、OSへMMU−MISS−TRAPを報告する前に生成されるTLBミスが発生したことを示す信号(以下、TLBミス信号という)に基づいて当該MMU−MISS−TRAP処理を実行するように構成されているとともに、連続する命令に対する処理(メモリアクセス処理)をパイプライン制御により逐次的に実行するように構成されている。
この図7に示すごとく、本プリフェッチ制御方法は、上述した図4に示す第1実施形態のプリフェッチ制御方法に対して、第1実施形態のプリフェッチ制御方法におけるMMU−MISS−TRAPをOSに報告するステップ(ステップS12)が、TLBミス信号を発信するステップ(ステップS12´)になる点を除いては同様である。
したがって、本情報処理装置1´及び本プリフェッチ制御方法によれば、上述した第1実施形態と同様の作用効果を得ることができる。
そして、後続の仮想アドレスについてもTLBミスが発生した場合、TSB−VA生成部15,VA比較器14,及び第1プリフェッチ制御部22が、先行する仮想アドレスに対する処理が終了すると同時に(つまり、次の処理単位時間において)、後続の仮想アドレスに対する処理を実行する(t4〜t9参照)。
なお、図8において、先行する仮想アドレスに対するt1〜t40における処理(図中の“先行するVAアクセス”及び“先行するTSB−VAアクセス”)は、上述した図4のt1〜t40における処理と同様である。さらに、後続の仮想アドレスに対するt29〜t71における処理(図中の“後続のVAアクセス”及び“後続のTSB−VAアクセス”)は、処理対象の仮想アドレスが異なるだけで、その処理内容は先行する仮想アドレスに対するt1〜t40に対する処理と同様である。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形、組み合わせて実施することができる。
なお、本発明において、上述した図5,図8のタイムチャートにおける処理単位時間は限定されるものではない。つまり、図5,図8のタイムチャートに示す各処理が実行される処理時間(各処理の処理時間の長さ)は本発明において限定されるものではない。
さらに、前記第2物理アドレスと前記第1アドレス変換対との対を、前記キャッシュメモリから検索するキャッシュメモリ検索部をそなえ、前記第1プリフェッチ制御部が、前記キャッシュメモリ検索部に、前記第2物理アドレスに基づいて、当該第2物理アドレスと当該第2物理アドレスが示すアドレスに保持された第1アドレス変換対との対を、前記キャッシュメモリから検索させ、前記キャッシュメモリ検索部による検索の結果、当該第2物理アドレスと当該第1アドレス変換対との対が前記キャッシュメモリに保持されていない場合に、前記アドレス変換用テーブルから当該第1アドレス変換対を読み出して、当該第2物理アドレスと当該第1アドレス変換対との対を、前記キャッシュメモリに保持させることが好ましい。
また、本発明の情報処理装置は、命令を実行する命令演算部と、該命令演算部によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す第1物理アドレスと当該第1物理アドレスに対応する第1仮想アドレスとの第1アドレス変換対を保持するアドレス変換用テーブルをそなえた主記憶部と、前記命令演算部と前記主記憶部との間に介装され、一時的にデータを保持するキャッシュメモリと、前記アドレス変換用テーブルにおいて第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの第2アドレス変換対を保持するとともに、第1アドレス変換対を保持しうるアドレス変換用バッファと、処理対象の第1仮想アドレスについての第1アドレス変換対を前記アドレス変換用バッファから検索する検索部と、該検索部による検索の結果、前記の処理対象の第1仮想アドレスについての第1アドレス変換対が、前記アドレス変換用バッファに保持されていない場合に、当該第1仮想アドレスに対応する第2アドレス変換対に基づいて、当該第1仮想アドレスについての第1アドレス変換対を、前記アドレス変換用バッファに登録する第1アドレス変換対登録部と、該第1アドレス変換対登録部が前記第1アドレス変換対の前記アドレス変換用バッファへの登録を開始すると同時に、当該第1アドレス変換対の第1物理アドレスに基づいて、当該第1物理アドレスが示すアドレスに保持されたデータを、前記主記憶部から前記キャッシュメモリにプリフェッチするデータプリフェッチ制御部とをそなえて構成されていることを特徴としている。
また、本発明のプリフェッチ制御方法は、命令を実行する命令演算部と、該命令演算部によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す第1物理アドレスと当該第1物理アドレスに対応する第1仮想アドレスとの第1アドレス変換対を保持するアドレス変換用テーブルをそなえた主記憶部と、前記命令演算部と前記主記憶部との間に介装され、一時的にデータを保持するキャッシュメモリと、前記アドレス変換用テーブルにおいて第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの第2アドレス変換対を保持するとともに、第1アドレス変換対を保持しうるアドレス変換用バッファとをそなえた情報処理装置において、前記アドレス変換用バッファに第1アドレス変換対をプリフェッチする方法であって、処理対象の第1仮想アドレスについての第1アドレス変換対を前記アドレス変換用バッファから検索する第1検索ステップと、該第1検索ステップにおける検索の結果、前記の処理対象の第1仮想アドレスについての第1アドレス変換対が、前記アドレス変換用バッファに保持されていない場合に、当該第1仮想アドレスに基づいて当該第1仮想アドレスに対応する第2仮想アドレスを生成する第1生成ステップと、該第1生成ステップにおいて前記第2仮想アドレスが生成されると同時に、生成された前記第2仮想アドレスについての第2アドレス変換対を、前記アドレス変換用バッファから検索する第2検索ステップと、該第2検索ステップにおいて前記第2仮想アドレスに対応する第2物理アドレスが検索されると同時に、検索された当該第2物理アドレスを用いて、前記の処理対象の第1仮想アドレスについての第1アドレス変換対を、前記主記憶部の前記アドレス変換用テーブルから前記キャッシュメモリにプリフェッチする第1プリフェッチ制御ステップとを含んでいることを特徴としている。
さらに、前記第1プリフェッチ制御ステップが、前記第2物理アドレスに基づいて、当該第2物理アドレスと当該第2物理アドレスが示すアドレスに保持された第1アドレス変換対との対を、前記キャッシュメモリから検索するキャッシュメモリ検索ステップと、前記キャッシュメモリ検索ステップにおける検索の結果、当該第2物理アドレスと当該第1アドレス変換対との対が前記キャッシュメモリに保持されていない場合に、前記アドレス変換用テーブルから当該第1アドレス変換対を読み出して、当該第2物理アドレスと当該第1アドレス変換対との対を、前記キャッシュメモリに保持させる保持ステップとを含んでいることが好ましい。
また、本発明のプリフェッチ制御方法は、命令を実行する命令演算部と、該命令演算部によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す第1物理アドレスと当該第1物理アドレスに対応する第1仮想アドレスとの第1アドレス変換対を保持するアドレス変換用テーブルをそなえた主記憶部と、前記命令演算部と前記主記憶部との間に介装され、一時的にデータを保持するキャッシュメモリと、前記アドレス変換用テーブルにおいて第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの第2アドレス変換対を保持するとともに、第1アドレス変換対を保持しうるアドレス変換用バッファとをそなえた情報処理装置において、前記キャッシュメモリに前記命令にかかるデータをプリフェッチする方法であって、処理対象の第1仮想アドレスについての第1アドレス変換対を前記アドレス変換用バッファから検索する検索ステップと、該検索ステップにおける検索の結果、前記の処理対象の第1仮想アドレスについての第1アドレス変換対が、前記アドレス変換用バッファに保持されていない場合に、当該第1仮想アドレスに対応する第2アドレス変換対に基づいて、当該第1仮想アドレスについての第1アドレス変換対を、前記アドレス変換用バッファに登録する第1アドレス変換対登録ステップと、該第1アドレス変換対登録ステップにおいて前記第1アドレス変換対の前記アドレス変換用バッファへの登録が開始されると同時に、当該第1アドレス変換対の第1物理アドレスに基づいて、当該第1物理アドレスが示すアドレスに保持されたデータを、前記主記憶部から前記キャッシュメモリにプリフェッチするデータプリフェッチ制御ステップとを含んでいることを特徴としている。
〔4〕付記
(付記1)
データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして保持する記憶手段に接続され、キャッシュメモリ手段と、前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段と、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索部と、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索部と、前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部と、を有することを特徴とする演算処理装置。
前記演算処理装置は、さらに仮想アドレス生成部を有し、前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする付記1記載の演算処理装置。
前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする付記2記載の演算処理装置。
前記プリフェッチ制御部は、前記第2物理アドレスを用いて、前記アドレス変換テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前期キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリに対して登録を行う第2プリフェッチ制御部とを有することを特徴とする付記1記載の演算処理装置。
データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして保持する記憶手段と、キャッシュメモリ手段と、前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段と、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索部と、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索部と、前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部と、を有することを特徴とする情報処理装置。
前記情報処理装置は、さらに仮想アドレス生成部を有し、前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする付記5記載の情報処理装置。
(付記8)
前記プリフェッチ制御部は、前記第2物理アドレスを用いて、前記アドレス変換テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前期キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリに対して登録を行う第2プリフェッチ制御部とを有することを特徴とする付記5記載の演算処理装置。
データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして記憶手段に保持するステップと、前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持するステップと、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行うステップと、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行うステップと、前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルからキャッシュメモリ手段に対して登録を行うステップと、を有することを特徴とする演算処理装置のメモリアクセス方法。
前記演算処理装置のメモリアクセス方法は、前記第1アドレス変換対を保持するステップにおいて、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行うステップをさらに有することを特徴とする付記9記載の演算処理装置のメモリアクセス方法。
10 主記憶部
11 TSB(Translation Storage Buffer;TSB領域;アドレス変換用テーブル)
12 キャッシュメモリ
13 TLB(Translation Lookaside Buffer;アドレス変換用バッファ)
14 VA(Virtual Address)比較器(第1検索部;第2検索部;検索部)
15 TSB−VA生成論理(第1生成部)
16 レジスタ
17 PA(Physical Address)生成論理(生成部;第2生成部)
18 PA比較器(キャッシュメモリ検索部)
19 キャッシュメモリ制御部
20 登録部
21 プリフェッチ制御部
22 第1プリフェッチ制御部
23 第2プリフェッチ制御部(データプリフェッチ制御部)
Claims (10)
- データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換用テーブルとして保持する記憶手段に接続され、
キャッシュメモリ手段と、
前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段と、
前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索部と、
前記第1検索部による検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファ手段に保持されていない場合に、OSからの要求に基づいて、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索部と、
前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部とを備え、
前記第2検索部は、前記第1検索部による検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファに保持されていない場合に、前記OSからの要求に基づく前記検索が実行される前に、前記第2仮想アドレスを用いて前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行うように構成されていることを特徴とする演算処理装置。 - 前記演算処理装置は、さらに仮想アドレス生成部を有し、
前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする請求項1記載の演算処理装置。 - 前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、
前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする請求項2記載の演算処理装置。 - 前記プリフェッチ制御部は、
前記第2物理アドレスを用いて、前記アドレス変換用テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前記キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、
前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行う第2プリフェッチ制御部とを有することを特徴とする請求項1記載の演算処理装置。 - データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換用テーブルとして保持する記憶手段と、
キャッシュメモリ手段と、
前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段と、
前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索部と、
前記第1検索部による検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファ手段に保持されていない場合に、OSからの要求に基づいて、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索部と、
前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部とを備え、
前記第2検索部は、前記第1検索部による検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファに保持されていない場合に、前記OSからの要求に基づく前記検索が実行される前に、前記第2仮想アドレスを用いて前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行うように構成されている ことを特徴とする情報処理装置。 - 前記情報処理装置は、さらに仮想アドレス生成部を有し、
前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする請求項5記載の情報処理装置。 - 前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、
前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする請求項6記載の情報処理装置。 - 前記プリフェッチ制御部は、
前記第2物理アドレスを用いて、前記アドレス変換用テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前記キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、
前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行う第2プリフェッチ制御部とを有することを特徴とする請求項5記載の情報処理装置。 - データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換用テーブルとして保持する記憶手段に接続され、キャッシュメモリ手段と、前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段とを有する演算処理装置におけるメモリアクセス方法であって、
前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索ステップと、
前記第1検索ステップにおける検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファ手段に保持されていない場合に、OSからの要求に基づいて、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索ステップと、
前記第1検索ステップにおける検索の結果、前記第1仮想アドレスについての第1アドレス変換対が前記アドレス変換用バッファに保持されていない場合に、前記OSからの要求に基づく前記検索が実行される前に、前記第2仮想アドレスを用いて前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第3検索ステップと、
前記第3検索ステップにおける検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチステップとを有することを特徴とする演算処理装置のメモリアクセス方法。 - 前記第1検索ステップ、前記第2検索ステップ、前記第3検索ステップ及び前記プリフェッチステップがパイプライン制御され、
前記第1検索ステップ、前記第2検索ステップ、前記第3検索ステップ及び前記プリフェッチステップが連続する命令に対する処理を逐次的に実行することを特徴とする請求項9記載の演算処理装置のメモリアクセス方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317723A JP4160589B2 (ja) | 2005-10-31 | 2005-10-31 | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
CN2006800409411A CN101300555B (zh) | 2005-10-31 | 2006-01-20 | 运算处理装置、信息处理装置、以及运算处理装置的存储器访问方法 |
PCT/JP2006/300797 WO2007052369A1 (ja) | 2005-10-31 | 2006-01-20 | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
KR1020087010266A KR101006093B1 (ko) | 2005-10-31 | 2006-01-20 | 연산 처리 장치, 정보 처리 장치, 및 연산 처리 장치의메모리 액세스 방법 |
EP06712022.0A EP1944696B1 (en) | 2005-10-31 | 2006-01-20 | Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus |
US12/061,875 US7797494B2 (en) | 2005-10-31 | 2008-04-03 | Arithmetic processor, information processing apparatus and memory access method in arithmetic processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317723A JP4160589B2 (ja) | 2005-10-31 | 2005-10-31 | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007122667A JP2007122667A (ja) | 2007-05-17 |
JP4160589B2 true JP4160589B2 (ja) | 2008-10-01 |
Family
ID=38005532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005317723A Expired - Fee Related JP4160589B2 (ja) | 2005-10-31 | 2005-10-31 | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7797494B2 (ja) |
EP (1) | EP1944696B1 (ja) |
JP (1) | JP4160589B2 (ja) |
KR (1) | KR101006093B1 (ja) |
CN (1) | CN101300555B (ja) |
WO (1) | WO2007052369A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011077549A1 (ja) * | 2009-12-25 | 2011-06-30 | 富士通株式会社 | 演算処理装置 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2159706B1 (en) | 2007-06-19 | 2014-09-10 | Fujitsu Limited | Operation processing apparatus and operation processing method |
US8195881B2 (en) * | 2008-02-26 | 2012-06-05 | International Business Machines Corporation | System, method and processor for accessing data after a translation lookaside buffer miss |
KR101537614B1 (ko) | 2008-08-11 | 2015-07-22 | 엘지전자 주식회사 | 복수의 주파수 블록을 사용하는 무선 통신 시스템에서 제어 정보를 시그널링하는 방법 |
JP2010170266A (ja) * | 2009-01-21 | 2010-08-05 | Toshiba Corp | 半導体集積回路及びアドレス変換方法 |
US9418011B2 (en) | 2010-06-23 | 2016-08-16 | Intel Corporation | Region based technique for accurately predicting memory accesses |
US9152566B2 (en) * | 2012-06-15 | 2015-10-06 | International Business Machines Corporation | Prefetch address translation using prefetch buffer based on availability of address translation logic |
CN102722451B (zh) * | 2012-06-25 | 2015-04-15 | 杭州中天微系统有限公司 | 采用物理地址预测访问高速缓存的装置 |
KR101667772B1 (ko) | 2012-08-18 | 2016-10-19 | 퀄컴 테크놀로지스, 인크. | 프리페칭을 갖는 변환 색인 버퍼 |
CN104133780B (zh) * | 2013-05-02 | 2017-04-05 | 华为技术有限公司 | 一种跨页预取方法、装置及系统 |
US9645934B2 (en) | 2013-09-13 | 2017-05-09 | Samsung Electronics Co., Ltd. | System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer |
US9559722B1 (en) | 2013-10-21 | 2017-01-31 | Marvell International Ltd. | Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data |
US9454991B2 (en) | 2013-10-21 | 2016-09-27 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
KR102614631B1 (ko) | 2013-10-21 | 2023-12-19 | 에프엘씨 글로벌 리미티드 | 최종 레벨 캐시 시스템 및 이에 대응하는 방법 |
US11822474B2 (en) | 2013-10-21 | 2023-11-21 | Flc Global, Ltd | Storage system and method for accessing same |
US10097204B1 (en) | 2014-04-21 | 2018-10-09 | Marvell International Ltd. | Low-density parity-check codes for WiFi networks |
WO2015168609A1 (en) | 2014-05-02 | 2015-11-05 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
US9495302B2 (en) * | 2014-08-18 | 2016-11-15 | Xilinx, Inc. | Virtualization of memory for programmable logic |
US20170161194A1 (en) * | 2015-12-02 | 2017-06-08 | Advanced Micro Devices, Inc. | Page-based prefetching triggered by tlb activity |
EP3807773B1 (en) | 2018-06-18 | 2024-03-13 | FLC Technology Group Inc. | Method and apparatus for using a storage system as main memory |
CN110851073B (zh) | 2018-08-20 | 2023-06-02 | 慧荣科技股份有限公司 | 储存装置及巨集指令的执行方法 |
CN110851372B (zh) * | 2018-08-20 | 2023-10-31 | 慧荣科技股份有限公司 | 储存装置及快取区定址方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62148216A (ja) | 1985-12-23 | 1987-07-02 | Utsumi Koki Kk | 注型装置 |
JPS62151958A (ja) | 1985-12-25 | 1987-07-06 | Matsushita Electric Ind Co Ltd | 仮想アドレス変換装置 |
JPH02178750A (ja) | 1988-12-28 | 1990-07-11 | Koufu Nippon Denki Kk | アドレス変換処理方式 |
US5222223A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Method and apparatus for ordering and queueing multiple memory requests |
JP2501353B2 (ja) | 1989-04-27 | 1996-05-29 | 富士通株式会社 | プリフェッチ制御方式 |
JPH0336647A (ja) * | 1989-07-03 | 1991-02-18 | Fujitsu Ltd | キャッシュ・バッファリング制御方式 |
JPH04190440A (ja) * | 1990-11-26 | 1992-07-08 | Hitachi Ltd | アドレス変換制御方法 |
US5603008A (en) | 1992-09-30 | 1997-02-11 | Amdahl Corporation | Computer system having cache memories with independently validated keys in the TLB |
US5479627A (en) * | 1993-09-08 | 1995-12-26 | Sun Microsystems, Inc. | Virtual address to physical address translation cache that supports multiple page sizes |
US6490658B1 (en) * | 1997-06-23 | 2002-12-03 | Sun Microsystems, Inc. | Data prefetch technique using prefetch cache, micro-TLB, and history file |
US6317810B1 (en) * | 1997-06-25 | 2001-11-13 | Sun Microsystems, Inc. | Microprocessor having a prefetch cache |
US6098154A (en) * | 1997-06-25 | 2000-08-01 | Sun Microsystems, Inc. | Apparatus and method for generating a stride used to derive a prefetch address |
US6138212A (en) * | 1997-06-25 | 2000-10-24 | Sun Microsystems, Inc. | Apparatus and method for generating a stride used to derive a prefetch address |
US5948095A (en) * | 1997-12-31 | 1999-09-07 | Intel Corporation | Method and apparatus for prefetching data in a computer system |
JP2000112821A (ja) | 1998-10-07 | 2000-04-21 | Hitachi Ltd | 多重なアドレス変換機構を有する情報処理装置 |
US6628294B1 (en) | 1999-12-31 | 2003-09-30 | Intel Corporation | Prefetching of virtual-to-physical address translation for display data |
EP1139222A1 (en) * | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
JP4190439B2 (ja) | 2004-02-17 | 2008-12-03 | 本田技研工業株式会社 | 内燃機関の動弁装置 |
US7305526B2 (en) * | 2004-11-05 | 2007-12-04 | International Business Machines Corporation | Method, system, and program for transferring data directed to virtual memory addresses to a device memory |
-
2005
- 2005-10-31 JP JP2005317723A patent/JP4160589B2/ja not_active Expired - Fee Related
-
2006
- 2006-01-20 WO PCT/JP2006/300797 patent/WO2007052369A1/ja active Application Filing
- 2006-01-20 KR KR1020087010266A patent/KR101006093B1/ko not_active IP Right Cessation
- 2006-01-20 EP EP06712022.0A patent/EP1944696B1/en not_active Not-in-force
- 2006-01-20 CN CN2006800409411A patent/CN101300555B/zh not_active Expired - Fee Related
-
2008
- 2008-04-03 US US12/061,875 patent/US7797494B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011077549A1 (ja) * | 2009-12-25 | 2011-06-30 | 富士通株式会社 | 演算処理装置 |
KR101402560B1 (ko) | 2009-12-25 | 2014-05-30 | 후지쯔 가부시끼가이샤 | 연산 처리 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP1944696A1 (en) | 2008-07-16 |
CN101300555B (zh) | 2010-12-29 |
US20080294867A1 (en) | 2008-11-27 |
KR101006093B1 (ko) | 2011-01-07 |
EP1944696A4 (en) | 2009-06-03 |
US7797494B2 (en) | 2010-09-14 |
CN101300555A (zh) | 2008-11-05 |
WO2007052369A1 (ja) | 2007-05-10 |
EP1944696B1 (en) | 2014-03-05 |
KR20080063484A (ko) | 2008-07-04 |
JP2007122667A (ja) | 2007-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4160589B2 (ja) | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 | |
TWI451334B (zh) | 微處理器及縮短尋訪時間之方法 | |
US7373478B2 (en) | Information processing apparatus and software pre-fetch control method | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
KR100974775B1 (ko) | 변환 색인 버퍼 조작 | |
US9898418B2 (en) | Processor including single invalidate page instruction | |
JP2024045385A (ja) | ストリーミングトランスレーションルックアサイドバッファ | |
WO2006065416A2 (en) | Method and apparatus for address translation | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
JP2016505972A (ja) | 仮想アドレス−物理アドレスページクロスバッファを用いた推測的なアドレッシング | |
CN112416817A (zh) | 预取方法、信息处理装置、设备以及存储介质 | |
JP2013097671A (ja) | アドレス変換装置、アドレス変換装置の制御方法及び演算処理装置 | |
TWI469044B (zh) | 於指令存取前藉由運行標籤查找之隱藏指令快取未命中潛時的技術 | |
CN110941565B (zh) | 用于芯片存储访问的内存管理方法和装置 | |
JP2021527887A (ja) | 命令をフェッチ及び復号するオペレーションキャッシュ及び命令キャッシュに対する低レイテンシ同期 | |
US10380034B2 (en) | Cache return order optimization | |
CN115309453A (zh) | 一种支持乱序处理器数据预取的缓存访问系统 | |
CN109308270B (zh) | 一种加速虚实地址转换的方法及装置 | |
JP5500274B1 (ja) | キャッシュメモリ、キャッシュメモリの検索方法、情報処理装置、およびプログラム | |
JP4037806B2 (ja) | キャッシュメモリ装置 | |
US11151054B2 (en) | Speculative address translation requests pertaining to instruction cache misses | |
CN117891513A (zh) | 基于微指令高速缓存的分支指令的执行方法和装置 | |
JPH08137756A (ja) | アドレス変換バッファ機構 | |
JP2000029693A (ja) | 命令キャッシュ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080613 |
|
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: 20080624 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080717 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |