JP4160589B2 - 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 - Google Patents

演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 Download PDF

Info

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
Application number
JP2005317723A
Other languages
English (en)
Other versions
JP2007122667A (ja
Inventor
啓昭 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005317723A priority Critical patent/JP4160589B2/ja
Priority to CN2006800409411A priority patent/CN101300555B/zh
Priority to PCT/JP2006/300797 priority patent/WO2007052369A1/ja
Priority to KR1020087010266A priority patent/KR101006093B1/ko
Priority to EP06712022.0A priority patent/EP1944696B1/en
Publication of JP2007122667A publication Critical patent/JP2007122667A/ja
Priority to US12/061,875 priority patent/US7797494B2/en
Application granted granted Critical
Publication of JP4160589B2 publication Critical patent/JP4160589B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/10Address translation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation
    • 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/684TLB 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

本発明は、MMU(Memory Management Unit)等のキャッシュメモリ及びTLB(Translation Lookaside Buffer)をそなえた情報処理装置に関し、MMU−MISS−TRAP(TLBミス)が発生した際にキャッシュメモリへデータのプリフェッチを行う技術に関する。
一般に、CPU(Central Processing Unit)の動作速度に比べて主記憶部の動作速度が遅く、また、CPUと主記憶部との距離も遠いため、CPUが主記憶部からデータを取得するために、主記憶アクセスが発生すると処理時間がかかる。
そのため、CPU内部において命令制御及び演算制御を実行処理する命令演算部と主記憶部との間にキャッシュメモリを装備するシステムが現在主流になっている。
キャッシュメモリは、主記憶部と比べると記憶できる容量は小さいが高速で動作し、また、命令演算部との距離も主記憶部よりも近いため、命令演算部は主記憶部にアクセスするよりも遥かに短時間でデータを取り出すことができる。
次に、MMU(Memory Management Unit)について述べると、例えば、SPARC(登録商標)アーキテクチャにおいて、OS(Operating System)は仮想アドレスから物理アドレスへの変換テーブルを管理していて、その一部のエントリを主記憶部上のTSB(Translation Storage Buffer;アドレス変換用テーブル)に、TTE(Translation Table Entry)と呼ばれる仮想アドレス(TTE−Tag)と物理アドレス(TTE−Data)との対から構成されるエントリを格納している。
さらに、その一部のエントリをMMU内のTLB(Translation Lookaside Buffer)に格納している。
ここで、TSBは容量が多いが命令演算部からのアクセスに時間がかかり、TLBは容量が少ないが命令演算部から高速なアクセスが可能である。
このようなTSBとTLBとをそなえたシステムでは、指定した仮想アドレスがMMU内にあるTLBに登録されていない場合、MMU−MISS−TRAP(MMUミス;TLBミス)が発生する。
このとき、命令演算部はこのMMU−MISS−TRAPをOSに報告し、報告を受けたOSがCPU内部の命令演算部に対してメモリアクセス処理を要求することにより、CPU内部の命令演算部が、図9のフローチャート(ステップS100〜S118)及び図10のタイムチャート(T1〜T33)に示すごとく当該メモリアクセス処理を実行する。なお、図10に示すT1〜T37はCPU内部の命令演算部の処理単位時間を示している。
つまり、命令演算部が仮想アドレスに基づくメモリアクセスを開始し(図9のステップS100)、当該仮想アドレスと当該仮想アドレスに対応する物理アドレスとの対によるエントリを、TLBから検索する(図9のステップS101,図10のT1参照)。
ここで、当該仮想アドレスを含むエントリがTLBに登録されていれば(つまり、MMU−MISS−TRAPが発生しない場合;図9のステップS102のNoルート)、命令演算部は、検索された当該仮想アドレスに対応する物理アドレスが示すデータを取得すべく、当該物理アドレスを用いてキャッシュメモリを検索する(図9のステップS103)。
そして、キャッシュメモリに当該データが含まれるキャッシュエントリが登録されていれば(図9のステップS104のYesルート)、命令演算部は当該データを読み出すことによりメモリアクセスを完了して(ステップS105)、処理を終了する。
なお、キャッシュメモリに当該物理アドレスとデータとの対によるキャッシュエントリが登録されていない場合(図9のステップS104のNoルート)、命令演算部は当該物理アドレスを用いて主記憶アクセスを行い、当該物理アドレスのデータをキャッシュメモリに登録し(図9のステップS106)、再度当該仮想アドレスによる処理を開始する(図9のステップS107;つまり、上記ステップS100へリターンする)。
一方、検索を行なった当該仮想アドレスの対によるエントリがTLBに登録されていない場合(つまり、MMU−MISS−TRAPが発生した場合;図9のステップS102のYesルート,図10のT2参照)、MMU−MISS−TRAPの報告を受けたOSは、命令演算部に対して後述する図9のステップS108〜S118までの処理を要求する。
つまり、命令演算部はMMUミスが発生した当該仮想アドレスをレジスタにセットするとともに、当該仮想アドレスに基づいて、当該仮想アドレスに対応するTSB上の仮想アドレス(以下、TSB仮想アドレスという)を生成しレジスタにセットした後、これら仮想アドレス及びTSB仮想アドレスをレジスタから読み出す(図9のステップS108,S109及び図10のT3〜T8参照)。
なお、当該仮想アドレスをレジスタにセットする処理及びTSB仮想アドレスを生成してレジスタにセットする処理は、図10のT2からT3の間に実行される。
次に、仮想アドレスとTSB仮想アドレスとの関係について説明する。上述したように、仮想アドレスと物理アドレスとの対によるエントリは主記憶上のTSBに保持されており、この仮想アドレスと物理アドレスとの対によるエントリが保持されているTSB上のアドレスがTSB物理アドレスであり、このTSB物理アドレスに対応する仮想アドレスがTSB仮想アドレスである。さらに、このMMUでは、TSB仮想アドレスとTSB物理アドレスとの対によるエントリは、TLBに登録保持されている。
次に、命令演算部は、読み出したTSB仮想アドレスを用いたメモリアクセスを開始し(図9のステップS110)、当該TSB仮想アドレスと、当該TSB仮想アドレスに対応するTSB物理アドレスとの対によるエントリを、TLBから検索する(図9のステップS111,図10のT9参照)。そして、かかるエントリがTLBから検索される(ヒットする)と(図9のステップS112,図10のT10参照)、命令演算部は当該TSB物理アドレスを用いてキャッシュメモリを検索する(図9のステップS113,図10のT11参照)。
ここで、キャッシュメモリに当該TSB物理アドレスと、当該TSB物理アドレスが示す主記憶上に保持されたデータ(TTE−TAG/Data;仮想アドレスと物理アドレスとの対)との対によるエントリが検索される(ヒットする)と(図9のステップS114のYesルート)、検索された当該エントリをTLBに登録する(図9のステップS115)ことによって、上記ステップS101で検索し上記ステップS102においてMMUミスが発生した仮想アドレスと、当該仮想アドレスに対応する物理アドレスとの対によるエントリがTLBに登録される。そして、命令演算部は当該仮想アドレスを用いたメモリアクセスを再度開始する(図9のステップS116;つまり、上記ステップS100へリターンする)。
一方、キャッシュメモリに当該TSB物理アドレスとデータとの対によるキャッシュエントリが登録されていない場合(つまり、キャッシュメモリミスが発生した場合;図9のステップS114のNoルート、図10のT12参照)、当該TSB物理アドレスを用いて主記憶に対するアクセスを行ない(図9のステップS117,図10のT13参照)、主記憶部から当該TSB物理アドレスとデータとの対を読み出してキャッシュメモリに登録し(図10のT14参照)、再度、当該TSB物理アドレスを用いたメモリアクセスを開始する(図9のステップS118,図10のT15以降参照;つまり、上記ステップS110へリターンする)。
なお、図10のT15〜T22の処理は、上述した図9のステップS110〜S116に該当し、図10のT23〜T28の処理は、上述した図9のステップS100〜S104,S106,S107に該当し、図10のT29〜T33の処理は、上述した図9のステップS100〜S105までの処理に該当する。
さらに、従来から、TLBで変換ミス(TLBミス)が発生した場合の処理技術は種々提案されている(例えば、下記特許文献1〜3参照)。
特開2000−112821号公報 特開平02−285440号公報 特開平02−178750号公報
上述したように、従来のMMUでは、検索を行なった当該仮想アドレスの対によるエントリがTLBに登録されていないために、MMU−MISS−TRAPが発生した場合には、命令演算部はOS主導のもと、下記(1)〜(6)の処理を行なっている。
(1)MMU−MISS−TRAPをOSに報告。
(2)指定した仮想アドレスをレジスタから読み出す。
(3)当該仮想アドレスに基づいて生成されるTSB仮想アドレスをレジスタから読み出す。
(4)TSB仮想アドレスを用いてメモリアクセスを行なう。
(5)TSB仮想アドレスに対するデータがキャッシュメモリまたは主記憶にあれば、TTE−TAG/Data(仮想アドレスと物理アドレスとの対)をTLBに登録する。
(6)再度、指定した仮想アドレスのメモリアクセスを行なう。
ここで、上記(5)の処理において、キャッシュメモリに当該データが無かった場合、主記憶部へのメモリアクセスが発生するので、処理に時間がかかってしまい、上記(1)〜(6)の全体の処理を完了するのに多くの時間を要する。
また、図10に示したように、従来の技術では、OSがTSB仮想アドレスを生成した後に当該仮想アドレスをレジスタにセットし、このセットしたTSB仮想アドレスをレジスタから読み出し(T6〜T8参照)、このTSB仮想アドレスに基づいて得られたTSB物理アドレスを用いてキャッシュメモリを検索し(T11参照)、ここでキャッシュメモリにデータが存在しない場合には(T12参照)、主記憶アクセスを開始する(T13参照)。このように、従来の技術では、TSB仮想アドレスの生成後、主記憶アクセスを開始するまでに時間が長いという問題があった。
つまり、従来の技術では、T2〜T3の間にTSB仮想アドレスを生成しているにも係わらず、キャッシュミスが結果的に判明した後におけるT13のタイミングまで主記憶アクセスが開始されず、データ(ここではTSB物理アドレスに対応するTTE)がキャッシュメモリに到着するまでに多くの時間を要するという問題があった。
さらに、図10に示したように、従来の技術では、TSB物理アドレスに対応するTTEがT14のタイミングで到着するのにも係わらず、このTTEの物理アドレス(TTE−Data)についてのデータのキャッシュメモリに対するフェッチは、キャッシュミスが結果的に判明した後におけるT27のタイミングまで実行されず、データがキャッシュメモリに到着するまでに多くの時間を要するという問題があった。
また、連続するメモリアクセスにおいて、先行するメモリアクセス及び後続のメモリアクセスの双方においてTLBミスが発生した場合、先行するメモリアクセスに対する上記(1)〜(6)の処理が完了しなければ、後続のメモリアクセスに対して上記(1)〜(6)の処理を実行することができないという問題があった。
つまり、図11のタイムチャート(T1〜T56)に示すごとく、連続するメモリアクセスにおいて連続してTLBミスが発生する場合、先行するメモリアクセスにおいてTLBミスを発生した仮想アドレスをTLBに登録する処理(T1〜T22参照)が完了するまで、後続のメモリアクセスは開始されないため(T24参照)、この後続のメモリアクセスにおいてもTLBミスが発生すると、後続のメモリアクセスが完了するためには非常に時間がかかってしまうことになる(T56参照)。なお、図11における、先行するメモリアクセスの処理内容(T1〜T33)は、図10に示すメモリアクセスの処理内容(T1〜T33)と同様であり、さらに、図11における、後続のメモリアクセスの処理(T24〜T56)は、処理対象のアドレスが異なるだけであり、その処理内容は先行するメモリアクセスの処理(T1〜T33)と同様である。
本発明は、このような課題に鑑み創案されたもので、キャッシュメモリ,TLB,及びTSBをそなえた情報処理装置において、メモリアクセスの際にTLBミスが発生した場合における当該メモリアクセスの処理時間を大幅に短縮するとともに、互いに連続するメモリアクセスがともにTLBミスを発生した場合であっても、これら連続するメモリアクセスに対する処理時間を大幅に短縮することを目的とする。
上記目的を達成するために、本発明の演算処理装置は、データが保持されている第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アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第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)
このように、本発明によれば、OSからの要求に基づくTLBミスに対する通常の処理において、仮想アドレス(TTE−Tag)と物理アドレス(TTE−Data)との対によるエントリであるTTEを取得すべく主記憶アクセスを実行するよりも前に、プリフェッチ制御部が主記憶アクセスを前倒しで実行することになり、これにより、当該第1アドレス変換対がキャッシュメモリに到着するタイミングが早くなり、TLBミスが発生したメモリアクセスの処理時間を大幅に短縮することができるという効果を有する。
また、パイプライン処理により、OSからの要求による処理が実行される前に当該処理を実行することにより、互いに連続する命令がともにTLBミスを発生した場合であっても、先行する命令に対するメモリアクセス処理が終了するのを待つことなく、当該メモリアクセス処理と逐次的して後続の命令に対するメモリアクセス処理を実行することができ、後続の命令に対するプリフェッチ制御部によるプリフェッチ処理を前倒しして実行することができるようになる。この結果、早い段階でキャッシュメモリにデータ(前述のTTE又は第1物理アドレスに対応するデータ)を保持することができ、連続するメモリアクセスにおいてTLBミスが発生した場合においても、かかる連続するメモリアクセスの処理時間を大幅に短縮することができるという効果を有する。
さらに、TLBに対して前述のTTEの登録を行う登録部が当該TTEの登録を開始するのと同時に、当該TTEに含まれる第1物理アドレスに基づいて、当該第1物理アドレスが示すアドレスに保持されたデータを、主記憶部から前記キャッシュメモリにプリフェッチを行うプリフェッチ制御部(データプリフェッチ制御部)が、当該TTEに含まれる第1物理アドレスに保持されたデータを、当該第1物理アドレスに基づいて主記憶部からキャッシュメモリに対してプリフェッチを行うため、OSからの要求による主記憶アクセスを実行する前に、当該プリフェッチ制御部が主記憶アクセスを前倒しで実行することにより、かかるメモリアクセスの処理時間を大幅に短縮することができるという効果を有する。
以下、図面を参照しながら本発明の実施の形態について説明する。
〔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をそなえて構成されている。
主記憶部10は、命令を実行する命令演算部3によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す物理アドレス(第1物理アドレス;TTE(Translation Table Entry)−Data)と当該物理アドレスに対応する仮想アドレス(第1仮想アドレス;TTE−Tag)とのアドレス変換対(第1アドレスエントリ;TTE)によるエントリを保持するTSB(Translation Storage Buffer;アドレス変換用テーブル,以下、TSB領域という)11をそなえている。
キャッシュメモリ12は、命令演算部3と主記憶部10との間に実装され、一時的にデータを保持するものである。
TLB13は、TSB領域11においてアドレス変換対であるエントリが保持されているアドレスを示す物理アドレス(第2物理アドレス;以下、TSB物理アドレスという)と、当該TSB物理アドレスに対応する仮想アドレス(第2仮想アドレス;以下、TSB仮想アドレスという)とのアドレス変換対であるエントリ(第2アドレスエントリ;以下、TSBアドレスエントリという)を保持するとともに、アドレス変換対(第1アドレスエントリ)を保持しうるように構成されている。
なお、上述したように、以下の説明において、単に“仮想アドレス”という場合は第1仮想アドレスを示し、単に“物理アドレス”という場合は第1物理アドレスを示し、単に“アドレス変換対”という場合は第1アドレスエントリを示す。これに対して、以下の説明において、第2物理アドレスを“TSB物理アドレス”といい、第2仮想アドレスを“TSB仮想アドレス”といい、第2アドレスエントリを“TSBアドレスエントリ”という。
ここで、キャッシュメモリ12及びTLB13のデータの保持方法について説明する。
キャッシュメモリ12は、物理アドレスと当該物理アドレスが示す主記憶部10のアドレスに保持されたデータとの対であるキャッシュエントリを保持する際には、物理アドレスを検索タグである“Cache−Tag”として保持するとともに、かかるデータを検索対象のデータとして“Cache−data”として保持する。
また、キャッシュメモリ12は、TSB物理アドレスと当該TSB物理アドレスが示すTSB領域11のアドレスに保持されたデータとしてのアドレス変換対(TTE)とを保持する際には、TSB物理アドレスを“Cache−Tag”として保持するとともに、アドレス変換対を“Cache−data”として保持する。
TLB13は、仮想アドレスと物理アドレスとのアドレス変換対を保持する際には、仮想アドレスを検索タグとしての“Tag”として保持するとともに、物理アドレスを検索対象のデータとしての“Data”として保持する。
さらに、TLB13は、TSB仮想アドレスとTSB物理アドレスとのTSBアドレスエントリを保持する際には、TSB仮想アドレスを検索の索引として用いる“Tag”として保持するとともに、TSB物理アドレスを検索の対象である“Data”として保持する。
また、図1に示すように、VA比較器14は、命令演算部3の処理対象の仮想アドレス(図中“アクセスアドレス”と表記)についてのアドレス変換対であるTSBアドレスエントリを、当該仮想アドレスに基づいてTLB13から検索するものである。
さらに、VA比較器14は、TSB−VA生成部15によって当該アクセスアドレスから一対一に対応するTSB仮想アドレスが生成されると同時に、生成された当該TSB仮想アドレスについてのTSBアドレスエントリを、当該TSB仮想アドレスに基づいてTLB13から検索を行う。
TSB−VA生成論理(以下、TSB−VA生成部という)15は、VA比較器14による検索の結果、処理対象の仮想アドレスについてのアドレス変換対がTLB13に保持されていない(つまり、TLBミスが発生した)場合に、当該仮想アドレスに一対一に対応するTSB仮想アドレスを生成するものである。
レジスタ16は、TLBミスが発生した仮想アドレス又はTSB−VA生成部15によって生成されたTSB仮想アドレスを一時的に保持するものである。
PA生成論理(以下、PA生成部という)17は、VA比較器14がTLB13を検索した結果得られた、TLBミスが発生したTSB仮想アドレスに対応するTSB物理アドレスに基づいて、TSB領域11の実際のアドレスを示す最終的なTSB物理アドレスを生成するものであり、VA比較器14の検索終了と同時に最終的なTSB物理アドレスを生成する。
例えば、PA生成部17は、前述したTLBミスが発生したTSB仮想アドレスにTSB物理アドレスに当該TSB仮想アドレスの一部を加えることによって最終的なTSB物理アドレスを生成する。
さらに、PA生成部17は、TLBミスが発生した後にTSB領域11から読み出された物理アドレスと、当該物理アドレスに対応する仮想アドレスとに基づいて、当該仮想アドレスに対応する、主記憶部10の実際のアドレスを示す最終的な物理アドレスを生成する。
例えば、PA生成部17は、物理アドレスに仮想アドレスの一部を加えることによって当該最終的な物理アドレスを生成する。
PA比較器18は、キャッシュメモリ12に保持されたデータを検索するものであり、物理アドレスに基づいて、当該物理アドレスが示す主記憶部10のアドレスに保持されたデータを検索する。
さらに、PA比較器18は、TSB物理アドレスに基づいて、当該TSB物理アドレスが示すTSB領域11のアドレスに保持されたエントリであるアドレス変換対を検索する。
キャッシュメモリ制御部19は、キャッシュメモリ12を制御するものであり、PA比較器18による検索の結果、検索対象のキャッシュエントリキャッシュメモリ12に保持されていない場合、主記憶部10から検索対象であるデータを読み出してキャッシュメモリ12にキャッシュエントリとして保持させる。
登録部20は、キャッシュメモリ12に保持されたキャッシュエントリのうち、アドレス変換対をTLB13に登録するものである。なお、本情報処理装置1では、TSBアドレスエントリは、OS(Operating System)によって管理されており、TLB13に予め登録保持されている。
プリフェッチ制御部21は、第1プリフェッチ制御部22と、第2プリフェッチ制御部(データプリフェッチ制御部)23とをそなえて構成されている。
第1プリフェッチ制御部22は、VA比較器14によってTSB仮想アドレスに対応するTSB物理アドレスが検索されると同時にPA生成部17によって生成された最終的なTSB物理アドレスを用いて、TLBミスが発生した処理対象の仮想アドレスについてのアドレス変換対を、主記憶部10のTSB領域11からキャッシュメモリ12にプリフェッチを行うものである。
ここで、図1及び図2を参照しながら、第1プリフェッチ制御部22についてより詳細に説明すると、第1プリフェッチ制御部22は、VA比較器14によって、レジスタ16にセットされたTSB仮想アドレスに対応するTSB物理アドレスがTLB13から検索されると同時に、PA比較器18に、当該検索されたTSB物理アドレスに基づいて、このTSB物理アドレスと、このTSB物理アドレスが示すTSB領域11のアドレスに保持されたアドレス変換対との対であるキャッシュエントリを、キャッシュメモリ12から検索させる。
つまり、第1プリフェッチ制御部22は、PA生成部17によって最終的なTSB物理アドレスが生成された場合、PA比較器18に、この最終的なTSB物理アドレスを用いたキャッシュメモリの検索を実行させる。
そして、PA比較器18による検索の結果、TSB物理アドレスとアドレス変換対との対であるキャッシュエントリがキャッシュメモリ12から検索されなかった(つまり、キャッシュメモリ12にかかるキャッシュエントリが保持されていない)場合に、第1プリフェッチ制御部22は、キャッシュメモリ制御部19にTSB物理アドレスとアドレス変換対との対をキャッシュエントリとしてキャッシュメモリ12に登録させる。
つまり、第1プリフェッチ制御部22は、キャッシュメモリ制御部19を制御することによって、かかる最終的なTSB物理アドレスに基づいて主記憶部10のTSB領域11からアドレス変換対を読み出して、TSB物理アドレスと当該読み出したアドレス変換対との対をキャッシュメモリ12にキャッシュエントリとして保持させる。
第2プリフェッチ制御部23は、キャッシュメモリ12に保持されたキャッシュエントリを、TLBミスが発生した仮想アドレスのアドレス変換対のTLB13への登録を登録部20が開始すると同時に、当該アドレス変換対の物理アドレスに基づいて、この物理アドレスに保持されたデータを、主記憶部10からキャッシュメモリ12に対してキャッシュミスが発生した場合にのみプリフェッチを行うものである。
なお、本情報処理装置1において、少なくともTSB−VA生成論部15,レジスタ16,PA生成論部17,PA比較器18,キャッシュメモリ制御部19,及び登録部20が、検索部14による検索の結果、TLBミスが発生した仮想アドレスについてのアドレス変換対が、TLB13に保持されていない場合には、当該仮想アドレスに一対一に対応するTSB仮想アドレスのTSBアドレスエントリに基づいて、当該仮想アドレスに対応するアドレス変換対を、TLB13に登録を行う第1アドレスエントリ登録部として機能する。また、プリフェッチ制御部21の第1プリフェッチ制御部22も第1アドレスエントリ登録部として機能してもよい。
ここで、図1及び図3を参照しながら、第2プリフェッチ制御部23についてより詳細に説明すると、第2プリフェッチ制御部23は、VA比較器14による検索の結果、処理対象の仮想アドレスについてのアドレス変換対がTLB13に保持されていない場合には、第1アドレスエントリ登録部として機能するTSB−VA生成部15,レジスタ16,PA生成部17,PA比較器18,キャッシュメモリ制御部19,登録部20,及び第1プリフェッチ制御部22が、かかる仮想アドレスについてのアドレス変換対をTLB13に登録を開始するのと同時に、かかるアドレス変換対の物理アドレスが示すアドレス上のデータをキャッシュメモリ12に対してキャッシュミスが発生した場合にのみプリフェッチを行う。
つまり、第2プリフェッチ制御部23は、登録部20がアドレス変換対をTLB13への登録開始をトリガとして、キャッシュメモリ制御部19を制御し、キャッシュメモリ制御部19に、かかるアドレス変換対の物理アドレスに基づいて、当該物理アドレスが示す主記憶部10上のアドレスに保持されたデータを主記憶部10から読み出してキャッシュメモリ12に登録を行う。
次に、図4に示すフローチャート(ステップS10〜S32)及び図5に示すタイムチャート(t1〜t40)を参照しながら、本情報処理装置1の動作(プリフェッチ制御方法)について説明する。なお、図5におけるt1〜t40のそれぞれは、本情報処理装置1の処理単位時間を示す。
まず、命令演算部3が、仮想アドレスに基づくメモリアクセスを開始し(図4のステップS10)、VA比較器14が、当該仮想アドレスと当該仮想アドレスに対応する物理アドレスとのアドレス変換対を、TLB13からの検索を行う(図4のステップS11,図5のt1参照;第1検索ステップ)。
ここで、かかるアドレス変換対がTSB13に登録されていない場合(つまり、MMU−MISS−TRAPが発生した場合;図4のステップS12のYesルート,図5のt2参照)、命令演算部3は、MMU−MISS−TRAPをOSに報告するとともに、TSB−VA生成部15が、TLBミスが発生した仮想アドレスに基づいて、当該仮想アドレスに一対一に対応するTSB仮想アドレス(TSB−VA)を生成する(図5のt3参照;第1生成ステップ)。
このとき、図5のt3〜t5に示す間に、OSによって、かかる仮想アドレスと当該生成されたTSB仮想アドレスとがレジスタ16に一旦セットされる。
そして、TSB−VA生成部15によってTSB仮想アドレスが生成されると同時に(つまり、TSB仮想アドレスが生成されると直ちに)、VA比較器14が、生成されたTSB仮想アドレスについてのTSBアドレスエントリを、TLB13から検索する(図4のステップS13,図5のt4参照;第2検索ステップ)。
次いで、VA比較器14によってTSBアドレスエントリがTLB13から検索される(つまり、TLB−HITが発生した場合;図4のステップS14、図5のt5参照)と同時(つまり、VA比較器14によってTSBアドレスエントリが検索されると直ちに)、第1プリフェッチ制御部22が、検索されたTSB物理アドレスを用いて、TLBミスが発生した仮想アドレスのアドレス変換対(TTE−Data)を、主記憶部10のTSB領域11からキャッシュメモリ12にプリフェッチを行う(図4のステップS15、図5のt6〜t8参照;第1プリフェッチ制御ステップ)。
なお、第1プリフェッチ制御ステップでは、第1プリフェッチ制御部22からの信号に基づいてPA比較器18がかかるアドレス変換対をキャッシュメモリ12から検索し(キャッシュメモリ検索ステップ)、その検索の結果かかるアドレス変換対がキャッシュメモリ12に保持されていない(キャッシュミスが発生した)場合(図5のt7参照)、キャッシュメモリ制御部19が第1プリフェッチ制御部22からの信号に基づいて、TSB物理アドレスとアドレス変換対との対をキャッシュメモリ12にプリフェッチすべく、主記憶部10のTSB領域11にアクセスを開始する(図5のt8参照)。なお、当該アドレス変換対を受信すると、キャッシュメモリ制御部19は、当該アドレス変換対と当該TSB物理アドレスとをキャッシュメモリ12にキャッシュエントリとして保持させる(保持ステップ)。ただし、図5に示す例では、当該アドレス変換対を、後述するOSからの要求に基づく通常の処理(図5のt12〜t16)後に受信するので、図5に示す例では、保持ステップはt19のタイミングで実行される。
ここで、本情報処理装置1では、第1プリフェッチ制御部22がプリフェッチを開始するのと同時に、OSからの要求に基づくTLBミスに対する通常の処理が開始される(図5のt6参照)。
つまり、OSからの要求に基づいて、命令演算部3が、TLBミスが発生した仮想アドレスをレジスタ16から読み出し(図4のステップS16、図5のt6〜t8参照)、さらに、TSB−VA生成部15によって生成されたTSB仮想アドレスをレジスタ16から読み出す(図4のステップS17、図5のt9〜t11参照)。
そして、読み出されたTSB仮想アドレスによるメモリアクセスが開始され(図4のステップS18)、まず、VA比較器14が、TSB仮想アドレスに基づいて当該TSB仮想アドレスに対応するTSB物理アドレスをTLB13から検索する(図4のステップS19、図5のt12参照)。
次に、TSB物理アドレスが検索されると(TLBヒットした場合;図4のステップS20、図5のt13参照)、PA比較器18が、検索されたTSB物理アドレスに基づいて、当該TSB物理アドレスと当該TSB物理アドレスに対応するアドレス変換対(TTE−Data)をキャッシュメモリ12から検索を行う(図4のステップS21、図5のt14参照)。
ここで、PA比較器18による検索の結果、キャッシュメモリ12に当該TSB物理アドレスと当該アドレス変換対との対がキャッシュエントリとして保持されていない場合(つまり、キャッシュミスが発生した場合;図4のステップS22のNoルート、図5のt15参照)、キャッシュメモリ制御部19が、当該TSB物理アドレスと当該アドレス変換対との対をキャッシュメモリ12にフェッチすべく、主記憶部10のTSB領域11にアクセスを行なう(図4のステップS23、図5のt16参照)。
このように、本情報処理装置1では、MMU−MISS−TRAPをOSに報告した後のOSからの要求に基づくTLBミスに対する処理(図4のステップS16〜S23、図5のt12〜t16参照)が実行される前に、TSB−VA生成部15によってTSB仮想アドレスが生成されると直ちに、VA比較器14と第1プリフェッチ制御部22とがTLBミスが発生した仮想アドレスについてのアドレス変換対をキャッシュメモリ12に保持させるべくプリフェッチ処理(図4のステップS13〜S15、図5のt4〜t7参照)を実行するので、OSから要求に基づく通常の処理に対して本例においては8t分(8処理単位時間)も早く主記憶部10へのアクセスを実行することができる(図5のt8参照)。
したがって、キャッシュメモリ12に当該アドレス変換対が到着して、当該アドレス変換対がキャッシュメモリ12に登録されるタイミングを、かかる通常の処理のみを実行した場合よりも前倒しして早くすることができ、TLBミスが発生した場合の処理時間を短縮することができる。
そして、OSの要求に基づく主記憶アクセス(図4のステップS23、図5のt16参照)後、アドレス変換対がキャッシュメモリ12に到着した場合、このアドレス変換対とこのアドレス変換対に対応するTSB物理アドレスとの対がキャッシュエントリとしてキャッシュメモリ12に登録され(図5のt19参照;保持ステップ)、再度、TSB−VA生成部15によって生成されたTSB仮想アドレスによるメモリアクセスが開始される(図4のステップS24参照)。つまり、図4のステップS18にリターンすることになる。
ここで、VA比較器14が、TSB−VA生成部15によって生成されたTLBミスが発生した仮想アドレスに一対一に対応するTSB仮想アドレスに基づいて、再度TLB13を検索し(図4のステップS19,S20、図5のt20、t21参照)、PA比較器18が、ヒットしたTSB物理アドレスを用いて、TLBミスが発生した仮想アドレスのアドレス変換対(TTE−Data)をキャッシュメモリ12から検索する(図4のステップS21、図5のt22参照)。
このTSB物理アドレスとアドレス変換対との対は、上記ステップS23(つまり、図5のt19参照;保持ステップ)においてキャッシュメモリ12にキャッシュエントリとして既に登録されているので、今回のPA比較器18による検索では、このTSB物理アドレスとアドレス変換対との対であるキャッシュエントリがヒットし(図4のステップS22のYesルート、図5のt23参照)、TSB−VA生成部15によって生成されたTSB仮想アドレスのメモリアクセス(TSB−VAアクセス)が完了する(図5のt24参照)。
次に、登録部20が、キャッシュヒットしたアドレス変換対をTLB13に登録する(図4のステップS25、図5のt25,t26,t27参照;第1アドレスエントリ登録ステップ)。
このとき、本情報処理装置1では、登録部20がアドレス変換対のTLB13への登録を開始すると同時に、第2プリフェッチ制御部23が、当該アドレス変換対の物理アドレスに基づいて、当該物理アドレスが示す主記憶部10のアドレスに保持されたデータを、主記憶部10からキャッシュメモリ12にプリフェッチを行う(図4のステップS26、図5のt25〜t28参照;第2プリフェッチ制御ステップ,プリフェッチ制御ステップ)。
つまり、第2プリフェッチ制御部23は、登録部20によるアドレス変換対のTLB13への登録開始をトリガとして、もしくは、登録部20に入力されるTLB登録要求信号をトリガとして、プリフェッチを開始する。
具体的には、第2プリフェッチ制御部23は、まず、かかるアドレス変換対の仮想アドレスと物理アドレスとに基づいて、PA生成部17に最終的な物理アドレスを生成させる(図5のt25参照;第2生成ステップ,生成ステップ)。
次に、第2プリフェッチ制御部23は、PA比較器18に、PA生成部17によって生成された最終的な物理アドレスを用いたキャッシュメモリ12の検索を実行させる(図5のt26参照;キャッシュメモリ検索ステップ)。
ここで、キャッシュミスが発生した場合(図5のt27参照)、第2プリフェッチ制御部23は、キャッシュメモリ制御部19に、キャッシュミスが発生した物理アドレスを用いた当該物理アドレスが示す主記憶部10のアドレスに保持されたデータに対するプリフェッチを実行させる(つまり、主記憶アクセスを実行させる;図5のt28参照)。
なお、当該データを受信した場合、キャッシュメモリ制御部19は、当該データと当該物理アドレスとの対をキャッシュエントリとしてキャッシュメモリ12に保持させる(保持ステップ)。ただし、図5に示す例では、当該データが、後述するOSからの要求に基づく通常の処理(図5のt28〜t32)後に到着するので、図5に示す例では、保持ステップはt35のタイミングで実行される。
一方、図4のステップS25及び図5のt25〜t28に示すTTE−Dataの登録処理が完了すると、命令演算部3は、再度TLBミスが発生した仮想アドレスのメモリアクセス処理を開始する(図4のステップS27)。つまり、上記ステップS10にリターンすることになる。
そして、VA比較器14は、TLBミスが発生した仮想アドレスを用いて再度TLB13の検索を行う(図4のステップS11、図5のt28参照)。
ここでは、上記図4のステップS25及び図5のt25〜25における登録処理によって、当該仮想アドレスのアドレス変換対がエントリとしてTLB13に登録されているので、MMU−MISS−TRAP(TLBミス)は発生せずにTLBヒットになる(図4のステップS12のNoルート、図5のt29参照)。
次に、PA比較器18が、TLBヒットが発生した当該仮想アドレスに対応する物理アドレスを用いて、当該物理アドレスが示す主記憶部10のアドレスに保持されたデータをキャッシュメモリ12から検索する(図4のステップS28、図5のt30参照)。
ここで、PA比較器18による検索の結果、キャッシュメモリ12に当該物理アドレスと当該データとの対であるキャッシュエントリが保持されていない場合(つまり、キャッシュミスが発生した場合;図4のステップS29のNoルート、図5のt31参照)、キャッシュメモリ制御部19が、当該物理アドレスと当該データとの対をキャッシュメモリ12にフェッチすべく、主記憶部10にアクセスを行なう(図4のステップS30、図5のt32参照)。
このように、本情報処理装置1において、TLBミスが発生した仮想アドレスと物理アドレスとのアドレス変換対のTLB13への登録処理(図4のステップS25、図5のt25〜t28参照)後に実行される、OSからの要求に基づく当該仮想アドレスを用いた処理(VAアクセス;図5のt28〜t32)が開始される前に、かかる登録処理が開始されるのと同時に、第2プリフェッチ制御部23がキャッシュメモリ12に当該仮想アドレスに対応する物理アドレスと、この物理アドレスが示すアドレス上のデータとをキャッシュエントリとして保持させるべく、プリフェッチ処理(図4のステップS26、図5のt25〜t28参照)を実行する。
したがって、OSからの要求に基づく処理に対して、例えば本例においては4t分(4処理単位時間)早く主記憶部10へのアクセスを実行することができることとなる(図5のt28参照)。
そのため、キャッシュメモリ12が当該データを受信し、当該データがキャッシュメモリ12に登録されるタイミングを、かかる通常の処理のみを実行した場合よりも前倒しすることができ、TLBミスが発生した場合の処理時間を短縮することができる。
そして、OSの要求に基づく主記憶アクセス(図4のステップS30、図5のt32参照)後、物理アドレスが示すアドレス上のデータをキャッシュメモリ12が受信すると、この物理アドレスとこのデータとの対がキャッシュエントリとしてキャッシュメモリ12に登録され(図5のt35参照;保持ステップ)、再度、TLBミスが発生した仮想アドレスによるメモリアクセスが開始される(図4のステップS31参照)。つまり、図4のステップS10にリターンする。
ここで、VA比較器14が、TLBミスが発生した仮想アドレス用いて、3度目のTLB13への検索を実行する(図4のステップS11、図5のt36参照)。
次に、TLBヒット(図4のステップS12のNoルート、図5のt37参照)した結果得られた、当該仮想アドレスに対応する物理アドレスを用いて、PA比較器18が、当該物理アドレスが示すデータを、キャッシュメモリ12から再度検索を行う(図4のステップS28、図5のt38参照)。
当該物理アドレスと当該データとの対は、上記ステップS30(つまり、図5のt35参照)においてキャッシュメモリ12にキャッシュエントリとして既に登録されているので、今回のPA比較器18による検索では、この物理アドレスとデータとの対がキャッシュエントリとしてヒットすることになる(図4のステップS29のYesルート、図5のt39参照)。
そして、検索された当該データが命令演算部3へ送られることにより、このメモリアクセス処理は完了する(図4のステップS32、図5のt40参照)。
このように、本発明の第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ミスが発生したメモリアクセスの処理時間を大幅に短縮することが可能となる。
さらに、登録部20が当該アドレス変換対のTLB13への登録(登録ステップ;第1アドレスエントリ登録ステップ)を開始するのと同時に、第2プリフェッチ制御部23が、当該アドレス変換対の物理アドレスが示すアドレスに保持されたデータを、当該物理アドレスに基づいて主記憶部10からキャッシュメモリ12にプリフェッチを行うため(第2プリフェッチ制御ステップ)、本情報処理装置1における、OSからの要求に基づくTLBミスに対する通常の処理において、当該データを取得すべく主記憶アクセスを実行する以前、第2プリフェッチ制御部23が主記憶アクセスを前倒しで実行することになり、当該データがキャッシュメモリ12に到着するタイミングが早くなり、その結果、TLBミスが発生したメモリアクセスの処理時間を短縮することができる。
〔2〕本発明の第2実施形態について
次に、本発明の第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処理を実行するように構成されているとともに、連続する命令に対する処理(メモリアクセス処理)をパイプライン制御により逐次的に実行するように構成されている。
したがって、図6に示すごとく、本情報処理装置1´では、VA比較器14がTLBミス発生したときに生成されたTSBミス信号に基づいて検索を行ない、第1プリフェッチ制御部22は、VA比較器14によって、レジスタ16にセットされたTSB仮想アドレスに対応するTSB物理アドレスがTLB13から検索されると同時に、かかるTLBミス信号に基づいてプリフェッチ処理を実行する。
ここで、本発明の第2実施形態としてのプリフェッチ制御方法について、図7に示すフローチャート(ステップS10,S11,S12´,S13〜S32)を参照しながら説明する。なお、図7において既述の符号と同一の符号は同一のステップもしくは略同一のステップを示している。
この図7に示すごとく、本プリフェッチ制御方法は、上述した図4に示す第1実施形態のプリフェッチ制御方法に対して、第1実施形態のプリフェッチ制御方法におけるMMU−MISS−TRAPをOSに報告するステップ(ステップS12)が、TLBミス信号を発信するステップ(ステップS12´)になる点を除いては同様である。
つまり、初めにTLBミスが発生が発生した場合(ステップS12´のYesルート)、TSB−VA生成部15によってTLBミスが発生した仮想アドレスに一対一に対応するTSB仮想アドレスが生成されると、VA比較器14が当該TSB仮想アドレスを用いてTLB13を検索し(ステップS13)、ヒットした(ステップS14)TSB物理アドレスを用いて、第1プリフェッチ制御部22がかかる仮想アドレスのアドレス変換対をキャッシュメモリ12に対してプリフェッチを行う。
一方、かかるTLBミスの発生(ステップS12´のYesルート)後、命令演算部3がOSに対してMMU−MISS−TRAPを報告した後は、上述した第1実施形態のプリフェッチ制御方法と同様に、ステップS16〜S27の処理が実行される。
したがって、本情報処理装置1´及び本プリフェッチ制御方法によれば、上述した第1実施形態と同様の作用効果を得ることができる。
さらに、本情報処理装置1´は、上述のごとく、VA比較器14,TSB−VA生成部15,PA生成部17,PA比較器18,キャッシュメモリ制御部19,登録部20,及びプリフェッチ制御部21がパイプライン制御されており、本情報処理装置1´のパイプライン動作(つまり、本情報処理装置1´による、連続する2つの命令に対するメモリアクセス処理)について、図8に示すタイムチャート(t1〜t71)を参照しながら説明する。なお、図8において既述の処理内容と同様の処理内容は、ここではその詳細な説明は省略する。また、図8におけるt1〜t71のそれぞれは、本情報処理装置1´の処理単位時間を示している。
図8に示すように、本情報処理装置1´は、命令演算部3に連続して2つの命令が入力されると、まず、VA比較器14が、先行する処理対象の仮想アドレスを用いてTLB13を検索する(t1参照)。ここでTLBミスが発生した場合(t2参照)、TSB−VA生成部15,VA比較器14,及び第1プリフェッチ制御部22(PA比較器18及びキャッシュメモリ制御部19)による処理が順次実行される(t3〜t8参照)。なお、このt3〜t8のそれぞれの処理は、図4に示すt3〜t8のそれぞれの処理と同様である。
このとき、本情報処理装置1´では、VA比較器14は、先行する仮想アドレスを用いた検索(t1参照)を完了すると同時に、後続の仮想アドレスを用いたTLB13の検索を実行する(t2参照)。
そして、後続の仮想アドレスについてもTLBミスが発生した場合、TSB−VA生成部15,VA比較器14,及び第1プリフェッチ制御部22が、先行する仮想アドレスに対する処理が終了すると同時に(つまり、次の処理単位時間において)、後続の仮想アドレスに対する処理を実行する(t4〜t9参照)。
したがって、図8に示す例では、TSB−VA生成部15,VA比較器14,及び第1プリフェッチ制御部22のそれぞれによる後続の仮想アドレスに対する処理が、先行する仮想アドレスに対する処理に対して、1t分(1処理単位時間)ずれて実行され、先行する仮想アドレスに対する処理と、後続の仮想アドレスに対する処理とが逐次的に実行される。
後続の仮想アドレスに対しては、通常では、t29のタイミングにおいて処理が実行され、OSからの要求に基づいて行われる、TSB物理アドレスに対応するTLBミスが発生した仮想アドレスのアドレス変換対のTSB領域11からのフェッチ(主記憶アクセス)は、t44のタイミングで実行されるが、本情報処理装置1´では、上述のようにt9のタイミングで前倒しして主記憶アクセスを実行することが可能となるため、キャッシュメモリ12にデータが登録されるタイミングを通常の処理のみを実行した場合よりも早くすることができ、その結果、連続するメモリアクセスがともにTLBミスが発生した場合の処理時間を短縮することが可能となる。
なお、図8では、後続の仮想アドレスに対する通常の処理(t29〜t71参照)において、PA比較器18によるTSB物理アドレスを用いた検索結果(t42参照)がキャッシュミスされる(t43参照)場合を例に挙げて説明したが、上述のようにt9のタイミングで既に主記憶アクセスを実行しているので、ここでキャッシュヒットする場合もある。この場合には、メモリアクセス処理の処理時間をさらに短縮することが可能となる。
また、ここでは2つの命令が連続する場合を例に挙げて説明したが、3以上の命令が連続する場合においては、当該命令の処理におけるプリフェッチ制御部21によるプリフェッチ処理が通常の処理よりも早い段階で実行されることになり、後続の命令ほどプリフェッチ処理による処理時間短縮の効果が高まる。
なお、図8において、先行する仮想アドレスに対するt1〜t40における処理(図中の“先行するVAアクセス”及び“先行するTSB−VAアクセス”)は、上述した図4のt1〜t40における処理と同様である。さらに、後続の仮想アドレスに対するt29〜t71における処理(図中の“後続のVAアクセス”及び“後続のTSB−VAアクセス”)は、処理対象の仮想アドレスが異なるだけで、その処理内容は先行する仮想アドレスに対するt1〜t40に対する処理と同様である。
このように、本発明の第2実施形態としての情報処理装置1´によれば、VA比較器14,TSB−VA生成部15,PA生成部17,PA比較器18,キャッシュメモリ制御部19,登録部20,及びプリフェッチ制御部21が、OSにMMU−MISS−TRAPを報告する前に生成されるTLBミス信号に基づいて動作を行うとともに、パイプライン制御されているため、連続する命令においてともにTLBミスが発生した場合であっても、先行する命令に対するメモリアクセス処理が終了するのを待つことなく、当該メモリアクセス処理と逐次的に後続の命令に対するメモリアクセス処理を実行することができ、後続の命令に対するプリフェッチ制御部21によるプリフェッチ処理を、大幅に前倒しして実行することができるようになり、非常に早い段階でキャッシュメモリ12にデータ(アドレス変換対もしくは物理アドレスに対応するデータ)を保持することができる。これにより、連続するメモリアクセスにおいてTLBミスが発生した場合であっても、かかる処理時間を短縮することができる。
〔3〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形、組み合わせて実施することができる。
なお、本発明において、上述した図5,図8のタイムチャートにおける処理単位時間は限定されるものではない。つまり、図5,図8のタイムチャートに示す各処理が実行される処理時間(各処理の処理時間の長さ)は本発明において限定されるものではない。
以上、詳述したように、本発明の情報処理装置は、命令を実行する命令演算部と、該命令演算部によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す第1物理アドレスと当該第1物理アドレスに対応する第1仮想アドレスとの第1アドレス変換対を保持するアドレス変換用テーブルをそなえた主記憶部と、前記命令演算部と前記主記憶部との間に介装され、一時的にデータを保持するキャッシュメモリと、前記アドレス変換用テーブルにおいて第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの第2アドレス変換対を保持するとともに、第1アドレス変換対を保持しうるアドレス変換用バッファと、処理対象の第1仮想アドレスについての第1アドレス変換対を前記アドレス変換用バッファから検索する第1検索部と、該第1検索部による検索の結果、前記の処理対象の第1仮想アドレスについての第1アドレス変換対が、前記アドレス変換用バッファに保持されていない場合に、当該第1仮想アドレスに基づいて当該第1仮想アドレスに対応する第2仮想アドレスを生成する第1生成部と、該第1生成部によって前記第2仮想アドレスが生成されると同時に、生成された前記第2仮想アドレスについての第2アドレス変換対を、前記アドレス変換用バッファから検索する第2検索部と、該第2検索部によって前記第2仮想アドレスに対応する第2物理アドレスが検索されると同時に、検索された当該第2物理アドレスを用いて、前記の処理対象の第1仮想アドレスについての第1アドレス変換対を、前記主記憶部の前記アドレス変換用テーブルから前記キャッシュメモリにプリフェッチする第1プリフェッチ制御部とをそなえて構成されていることを特徴としている。
なお、前記第1検索部,前記第1生成部,前記第2検索部,及び前記第1プリフェッチ制御部がパイプライン制御され、前記第1検索部,前記第1生成部,前記第2検索部,及び前記第1プリフェッチ制御部が、連続する命令に対する処理を並列的に実行することが好ましい。
さらに、前記第2物理アドレスと前記第1アドレス変換対との対を、前記キャッシュメモリから検索するキャッシュメモリ検索部をそなえ、前記第1プリフェッチ制御部が、前記キャッシュメモリ検索部に、前記第2物理アドレスに基づいて、当該第2物理アドレスと当該第2物理アドレスが示すアドレスに保持された第1アドレス変換対との対を、前記キャッシュメモリから検索させ、前記キャッシュメモリ検索部による検索の結果、当該第2物理アドレスと当該第1アドレス変換対との対が前記キャッシュメモリに保持されていない場合に、前記アドレス変換用テーブルから当該第1アドレス変換対を読み出して、当該第2物理アドレスと当該第1アドレス変換対との対を、前記キャッシュメモリに保持させることが好ましい。
また、前記キャッシュメモリに保持された、前記の処理対象の第1仮想アドレスについての第1アドレス変換対を、前記アドレス変換用バッファに登録する登録部と、該登録部が前記第1アドレス変換対の前記アドレス変換用バッファへの登録を開始すると同時に、当該第1アドレス変換対の第1物理アドレスに基づいて、当該第1物理アドレスが示すアドレスに保持されたデータを、前記主記憶部から前記キャッシュメモリにプリフェッチする第2プリフェッチ制御部とをそなえて構成されていることが好ましい。
なお、第2仮想アドレスと第2物理アドレスとに基づいて、当該第2仮想アドレスに対する最終的な物理アドレスを生成する第2生成部をそなえ、前記第1プリフェッチ制御部が、前記第2生成部によって生成された最終的な物理アドレスを用いて前記プリフェッチを実行することが好ましい。
また、本発明の情報処理装置は、命令を実行する命令演算部と、該命令演算部によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す第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物理アドレスと当該データとの対が前記キャッシュメモリに保持されていない場合に、当該データを読み出して、当該第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検索ステップ,前記第1生成ステップ,前記第2検索ステップ,及び前記第1プリフェッチ制御ステップが、パイプライン制御によって連続する命令に対して並列的に実行されることが好ましい。
さらに、前記第1プリフェッチ制御ステップが、前記第2物理アドレスに基づいて、当該第2物理アドレスと当該第2物理アドレスが示すアドレスに保持された第1アドレス変換対との対を、前記キャッシュメモリから検索するキャッシュメモリ検索ステップと、前記キャッシュメモリ検索ステップにおける検索の結果、当該第2物理アドレスと当該第1アドレス変換対との対が前記キャッシュメモリに保持されていない場合に、前記アドレス変換用テーブルから当該第1アドレス変換対を読み出して、当該第2物理アドレスと当該第1アドレス変換対との対を、前記キャッシュメモリに保持させる保持ステップとを含んでいることが好ましい。
また、前記キャッシュメモリに保持された、前記の処理対象の第1仮想アドレスについての第1アドレス変換対を、前記アドレス変換用バッファに登録する登録ステップと、該登録ステップにおいて前記第1アドレス変換対の前記アドレス変換用バッファへの登録が開始されると同時に、当該第1アドレス変換対の第1物理アドレスに基づいて、当該第1物理アドレスが示すアドレスに保持されたデータを、前記主記憶部から前記キャッシュメモリにプリフェッチする第2プリフェッチ制御ステップとを含んでいることが好ましい。
なお、第2仮想アドレスと第2物理アドレスとに基づいて、当該第2仮想アドレスに対する最終的な物理アドレスを生成する第2生成ステップを含み、前記第1プリフェッチ制御ステップが、前記第2生成ステップにおいて生成された最終的な物理アドレスを用いて前記プリフェッチを実行することが好ましい。
また、本発明のプリフェッチ制御方法は、命令を実行する命令演算部と、該命令演算部によって実行される命令にかかるデータを保持するとともに、当該データが保持されているアドレスを示す第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物理アドレスと当該データとの対を、前記キャッシュメモリに保持させる保持ステップとを含んでいることが好ましい。
さらに、第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アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部と、を有することを特徴とする演算処理装置。
(付記2)
前記演算処理装置は、さらに仮想アドレス生成部を有し、前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする付記1記載の演算処理装置。
(付記3)
前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする付記2記載の演算処理装置。
(付記4)
前記プリフェッチ制御部は、前記第2物理アドレスを用いて、前記アドレス変換テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前期キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリに対して登録を行う第2プリフェッチ制御部とを有することを特徴とする付記1記載の演算処理装置。
(付記5)
データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして保持する記憶手段と、キャッシュメモリ手段と、前記記憶手段において前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持しうるアドレス変換バッファ手段と、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行う第1検索部と、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行う第2検索部と、前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチ制御部と、を有することを特徴とする情報処理装置。
(付記6)
前記情報処理装置は、さらに仮想アドレス生成部を有し、前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする付記5記載の情報処理装置。
(付記7)前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする付記6記載の演算処理装置。
(付記8)
前記プリフェッチ制御部は、前記第2物理アドレスを用いて、前記アドレス変換テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前期キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリに対して登録を行う第2プリフェッチ制御部とを有することを特徴とする付記5記載の演算処理装置。
(付記9)
データが保持されている第1物理アドレスと前記第1物理アドレスに対応する第1仮想アドレスとの対である第1アドレス変換対をアドレス変換テーブルとして記憶手段に保持するステップと、前記第1アドレス変換対が保持されているアドレスを示す第2物理アドレスと当該第2物理アドレスに対応する第2仮想アドレスとの対である第2アドレス変換対を保持するとともに、前記第1アドレス変換対を保持するステップと、前記第1仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第1物理アドレスの検索を行うステップと、前記第1仮想アドレスに一対一に対応する第2仮想アドレスを用いて、前記アドレス変換バッファ手段から前記第2物理アドレスの検索を行うステップと、前記検索結果である第2物理アドレスを用いて、前記第1仮想アドレスについての前記第1アドレス変換対を、前記アドレス変換用テーブルからキャッシュメモリ手段に対して登録を行うステップと、を有することを特徴とする演算処理装置のメモリアクセス方法。
(付記10)
前記演算処理装置のメモリアクセス方法は、前記第1アドレス変換対を保持するステップにおいて、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行うステップをさらに有することを特徴とする付記9記載の演算処理装置のメモリアクセス方法。
本発明の第1実施形態及び第2実施形態としての情報処理装置の構成を示すブロック図である。 本発明の第1実施形態としての情報処理装置の要部構成を示すブロック図である。 本発明の第1実施形態としての情報処理装置の要部構成を示すブロック図である。 本発明の第1実施形態としてのプリフェッチ制御方法の手順を説明するためのフローチャートである。 本発明の第1実施形態としてのプリフェッチ制御方法の手順の一例を示すタイムチャートである。 本発明の第2実施形態としての情報処理装置の要部構成を示すブロック図である。 本発明の第2実施形態としてのプリフェッチ制御方法の手順を説明するためのフローチャートである。 本発明の第2実施形態としてのプリフェッチ制御方法の手順の一例を示すタイムチャートである。 従来のMMU(Memory Management Unit)をそなえた情報処理装置の動作の手順を説明するためのフローチャートである。 従来のMMUをそなえた情報処理装置の動作の手順の一例を示すタイムチャートである。 従来のMMUをそなえた情報処理装置の動作の手順の一例を示すタイムチャートである。
符号の説明
1,1´ 情報処理装置
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アドレス変換対をアドレス変換用テーブルとして保持する記憶手段に接続され、
    キャッシュメモリ手段と、
    前記記憶手段において前記第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物理アドレスの検索を行うように構成されていることを特徴とする演算処理装置。
  2. 前記演算処理装置は、さらに仮想アドレス生成部を有し、
    前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする請求項1記載の演算処理装置。
  3. 前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、
    前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする請求項2記載の演算処理装置。
  4. 前記プリフェッチ制御部は、
    前記第2物理アドレスを用いて、前記アドレス変換用テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、
    前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行う第2プリフェッチ制御部とを有することを特徴とする請求項1記載の演算処理装置。
  5. データが保持されている第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物理アドレスの検索を行うように構成されている ことを特徴とする情報処理装置。
  6. 前記情報処理装置は、さらに仮想アドレス生成部を有し、
    前記第1仮想アドレスに対応する第1アドレス変換対が前記アドレス変換バッファ手段に保持されていない場合に、前記第1仮想アドレスに一対一に対応する前記第2仮想アドレスの生成を、前記仮想アドレス生成部により行うことを特徴とする請求項5記載の情報処理装置。
  7. 前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部がパイプライン制御され、
    前記第1検索部、前記仮想アドレス生成部、前記第2検索部及び前記プリフェッチ制御部が連続する命令に対する処理を逐次的に実行することを特徴とする請求項6記載の情報処理装置。
  8. 前記プリフェッチ制御部は、
    前記第2物理アドレスを用いて、前記アドレス変換用テーブルから前記第1アドレス変換対を検索し、前記第2物理アドレス及び検索した前記第1アドレス変換対との組を前キャッシュメモリ手段に登録を行う第1プリフェッチ制御部と、
    前記アドレス変換バッファ手段が前記第1アドレス変換対の登録を開始する場合に、前記第1アドレス変換対に含まれる第1物理アドレスに基づいて、前記第1物理アドレスに保持されたデータを、前記記憶手段から前記キャッシュメモリ手段に対して登録を行う第2プリフェッチ制御部とを有することを特徴とする請求項5記載の情報処理装置。
  9. データが保持されている第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アドレス変換対を、前記アドレス変換用テーブルから前記キャッシュメモリ手段に対して登録を行うプリフェッチステップとを有することを特徴とする演算処理装置のメモリアクセス方法。
  10. 前記第1検索ステップ、前記第2検索ステップ、前記第3検索ステップ及び前記プリフェッチステップがパイプライン制御され、
    前記第1検索ステップ、前記第2検索ステップ、前記第3検索ステップ及び前記プリフェッチステップが連続する命令に対する処理を逐次的に実行することを特徴とする請求項9記載の演算処理装置のメモリアクセス方法。
JP2005317723A 2005-10-31 2005-10-31 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 Expired - Fee Related JP4160589B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077549A1 (ja) * 2009-12-25 2011-06-30 富士通株式会社 演算処理装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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