JP2006318471A - データ処理におけるメモリキャッシング - Google Patents

データ処理におけるメモリキャッシング Download PDF

Info

Publication number
JP2006318471A
JP2006318471A JP2006130828A JP2006130828A JP2006318471A JP 2006318471 A JP2006318471 A JP 2006318471A JP 2006130828 A JP2006130828 A JP 2006130828A JP 2006130828 A JP2006130828 A JP 2006130828A JP 2006318471 A JP2006318471 A JP 2006318471A
Authority
JP
Japan
Prior art keywords
cache
data
instruction
data processor
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006130828A
Other languages
English (en)
Other versions
JP4666511B2 (ja
Inventor
Rabin Ezra
エズラ ラビン
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.)
Sony Interactive Entertainment Europe Ltd
Original Assignee
Sony Computer Entertainment Europe 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 Sony Computer Entertainment Europe Ltd filed Critical Sony Computer Entertainment Europe Ltd
Publication of JP2006318471A publication Critical patent/JP2006318471A/ja
Application granted granted Critical
Publication of JP4666511B2 publication Critical patent/JP4666511B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

【課題】データ処理におけるメモリキャッシングを効率的に行うこと。
【解決手段】 データプロセッサは、主メモリと、命令キャッシュおよびデータキャッシュと、を備え、必要とされる命令を前記命令キャッシュから検索し、前記必要とされる命令が前記命令キャッシュに存在しない場合、前記データキャッシュから検索し、前記必要とされる命令がデータキャッシュに存在しない場合、前記必要とされる命令を前記主メモリから前記命令キャッシュにフェッチするように機能する命令フェッチロジックと、データ値を前記データキャッシュのデータアドレスの位置に書き込み、そして前記命令キャッシュにおいても前記アドレスが記述されている場合、そのデータ値を前記命令キャッシュに書き込むように機能するデータライトロジックと、前記データキャッシュから前記主メモリにデータを転送するように機能するキャッシュ制御ロジックと、を実行する。
【選択図】図2

Description

本発明はデータ処理におけるメモリキャッシングに関する。
ここでは、特定のマイクロプロセッサのエミュレーションに関して例示的な問題を説明するが、本発明はより広範に適用することができる。
マイクロプロセッサコアは、テレビセットトップボックスやソニー(登録商標)のプレイステーション2(PS2)(商標)ファミリーコンピュータエンターテインメントシステム等の様々な適用分野で用いられている。PS2の入出力プロセッサ(IOP)の場合、コアには2メガバイトの主メモリと非常に小さなキャッシュが設けられている。そこでは、いわゆる「ライトスルー」方式のキャッシュが採用されており、プロセッサによりキャッシュされたメモリ位置に書き戻された情報は、元の主メモリにも書き込まれる。これは、新しい情報は、すぐにまた読み出す必要がある場合にはキャッシュに書き込まれるが、主メモリへのアクセスがその都度必要であるため、書き込みオペレーションそのものはキャッシュされないことを意味している。この構成の1つの利点は、自己書き換えプログラムコードをより容易に実行できることである。
IOPメモリとして2MBを使用するには小さい内部メモリを有するエミュレーションプロセッサによってIOPをエミュレートすることが提案されてきた。外部メモリにアクセスすることは可能ではあるが、それはDMAコントローラを介してのみ行なわれる。従って、DMAコントローラを用いるエミュレーションシステムの場合、外部メモリへのアクセスが遅いため、エミュレーションを実用的な速度で行わせるためには、キャッシング方法を考える必要がある。必要とされる外部メモリへのアクセスの数を削減するには、キャッシング方法はデータの読み込みだけではなくデータの書き込みのキャッシングも含まなければならない。しかし、これは自己書き換えコードを容易にエミュレートすることができないことを意味する。
そこで、本発明は、データプロセッサであって、
主メモリ、
命令キャッシュ、および、
データキャッシュ、を有し、
必要とされる命令を前記命令キャッシュから検索し、前記必要とされる命令が前記命令キャッシュに存在しない場合、前記必要とされる命令を前記データキャッシュから検索し、前記必要とされる命令が前記データキャッシュに存在しない場合、前記必要とされる命令を前記主メモリから前記命令キャッシュにフェッチするように機能する命令フェッチロジックと、
データ値を前記データキャッシュのデータアドレスの箇所に書き込み、そして前記命令キャッシュにおいても前記アドレスが記述されている場合、そのデータ値を前記命令キャッシュに書き込むように機能するデータライトロジックと、
前記データキャッシュから前記主メモリにデータを転送するように機能するキャッシュ制御ロジックと、
を実行するデータプロセッサを提供する。
本発明は、主メモリへアクセスする必要性を減少しつつ、データおよび命令にアクセスする効率的な方法を提供する。
二番目の側面から見た場合、本発明は、主メモリ、命令キャッシュ、および、データキャッシュ、を有するシステムにおけるデータ処理方法であって、
必要とされる命令を前記命令キャッシュから検索するステップと、
前記必要とされる命令が前記命令キャッシュに存在しない場合に、前記必要とされる命令を前記データキャッシュから検索するステップと、
前記必要とされる命令が前記データキャッシュにも存在しない場合に、前記必要とされる命令を前記主メモリから前記命令キャッシュにフェッチするステップと、
データ値を書き込むべき場合、そのデータ値を前記データキャッシュのデータアドレスの箇所に書き込み、そのアドレスが前記命令キャッシュにおいても記述されている場合、前記データ値を前記命令キャッシュにも書き込むステップと、
前記データキャッシュから前記主メモリへデータを転送するステップと、
を有するデータ処理方法を提供する。
本発明の更に別の特徴としては、上記方法を実行するプログラムコードを含むコンピュータソフトウェアと、そのようなプログラムコードを提供する媒体(例えば、伝送媒体あるいは記憶媒体)が含まれる。
以下、添付図面を参照して本発明の実施形態を説明するが、これらの実施形態は一例にすぎない。
図1は、エミュレートされるデータ処理システムの概略図である。本システムは、主メモリ20からデータおよび命令を読み出し、主メモリ20にデータおよび修正された命令を書き込むプロセッサ10を有する。
以下の説明は、エミュレートされるシステムにおける主メモリ20に記憶されるイメージを保持するには小さすぎるローカルメモリを備えるプロセッサを用いて、図1のシステムで行うオペレーションをエミュレートする技術に関するものである。このような制約があるため、キャッシュを用いた解決策を採用する必要がある。
図2は、エミュレーションのための構成を概略的に示したものである。エミュレーション技術は一般的によく知られており、説明を明瞭にするために、本実施形態に直接関係のない特徴については省略する。エミュレーションは、エミュレーションプロセッサが、そのエミュレーションプロセッサ用の言語で記述されたエミュレーションソフトウェアを実行することにより行われ、従って、エミュレートされるシステムにおける命令の処理をエミュレートするために、そのようなエミュレーションプロセッサ用の言語で記述された命令の一群が実行される。以下の説明において、「命令」という語は、エミュレートされるシステムにおける命令を指しており、エミュレーションソフトウェアにおいてエミュレーションプロセッサ用の言語で記述された命令を指しているものではない。
図2に示されているように、エミュレーションソフトウェア120を実行するプロセッサ110が、命令キャッシュ(I)140およびデータキャッシュ(D)150を介して主メモリ130にアクセスする。IキャッシュおよびDキャッシュを用いる理由は、プロセッサ110のローカルメモリが小さすぎてエミュレートされるシステムにおける主メモリ20のイメージを保持できないからであり、また、プロセッサ110が対応する主メモリ130にアクセスするには費用のかかる(すなわち、時間のかかる)DMAアクセスによる必要があるからである。
Iキャッシュ140は、アクセス速度を考慮して直接マッピング方式であり、各々が4キロバイトのメモリページを8ページ保有している(即ち、各ページが複数のキャッシュラインを有している)。本実施形態では少数の大きなメモリページを使用しているが、それはキャッシュヒットのチェックをより効率的にするためである。ページサイズが大きいことにより、メモリに対するアクセスの遅さを埋め合わせることができる。メモリページが主メモリ130からIキャッシュ140に読み込まれることで、プロセッサはIキャッシュ140から命令を読み出すことができる。しかし、Iキャッシュ140に格納された値が主メモリ130に書き戻されることは決してない。
キャッシュへの転送およびキャッシュからの転送は、ページ単位で行なわれる。同様に、必要なデータ項目が保持されているかどうかを検出するためのキャッシュの検索は、その項目を含むページがそのキャッシュに保持されているかどうかを検出することによって行なわれる。
Dキャッシュ150は、いわゆる「スラッシング」(即ち、キャッシュされたページのめまぐるしく変更すること)を減らすために完全に連想型であり、やはり各ページ4キロバイトのページを8ページ保有している。主メモリ130から新たなページをDキャッシュに読み込む場合、Dキャッシュに格納されているページの中でアクセス頻度が最も低いページ(そのページが主メモリから読み出されて以来変更されている場合)が、主メモリに書き戻される。従って、プロセッサがDキャッシュのいずれかの格納データを修正した場合、そのページが主メモリ130に書き戻されるまで、その修正はDキャッシュ150に保持されている。
以下、図3ないし図5に示されたフローチャートを参照しながら、DキャッシュとIキャッシュの相互関係について説明する。
図3は、命令を読み取る処理に関する概略的なフローチャートである。
ステップ200において、プロセッサ110は必要とされる命令へのアクセスをIキャッシュ140において試みる。必要とされる命令がIキャッシュ140に存在する場合、ステップ210の制御に進み、その命令がIキャッシュ140から読み取られ、通常の方法で処理するためにプロセッサ110へ引き渡される。そしてプロセスは終了する。
しかし、必要とする命令がIキャッシュ140に存在しない場合、必要とされる命令がDキャッシュ150に格納された情報に含まれているかどうかが調べられる。このテストがステップ220として示されている。必要とされる命令が確かにDキャッシュに存在する場合、ステップ230において、そのページ全体がDキャッシュからIキャッシュにコピーされる。これはIキャッシュにおける1ページの上書きで済む。なぜなら、Iキャッシュからのデータは主メモリ130に書き戻されることはないからである。ステップ230から再びステップ210の制御へと進み、必要とされる命令がIキャッシュから読み取られ、プロセスは終了する。
しかし、必要とする命令がIキャッシュ(ステップ200)にもDキャッシュ(ステップ220)にも存在しない場合、ステップ240において、必要とされる命令を含むページが主メモリからIキャッシュ140に読み込まれ、Iキャッシュの1ページを上書きする。再びステップ210の制御に進み、プロセスは終了する。
図4は、データ値の書き込み処理に関する概略的なフローチャートである。
ステップ310において、プロセッサ110はデータ値をDキャッシュ150に書き込む。上述したように、これは最終的には主メモリ130を更新することになるが、Dキャッシュにおいてそのページが上書きされるまでは、主メモリ130の更新は行われない。
ステップ320において、新たに書き込まれたデータ値を有するページがIキャッシュにも保持されているかどうかが検査される。その場合、ステップ330において、その新しい値はIキャッシュの適切な位置にも書き込まれ、プロセスは終了する。しかし、問題のページがIキャッシュに保持されていない場合、プロセスは単にそこで終了する。
図5は、データ値の読み取り処理に関する概略的なフローチャートである。ステップ400で、プロセッサ110はDキャッシュ150においてデータ値へのアクセスを試みる。必要なアドレスがDキャッシュにキャッシュされている場合、ステップ410でその必要な値をDキャッシュから読み出し、プロセスは終了する。しかし、必要なページがDキャッシュに無い場合、ステップ420において使用頻度が最も低いページを(必要であれば、すなわち修正されていれば)Dキャッシュから主メモリ130に書き戻し、次いでステップ430において、必要なメモリアドレスを含むページを主メモリ130からDキャッシュへと読み込む。そして、再びステップ410の制御へと進み、プロセスを終了する。
上に記載した方法を用いることにより、Iキャッシュ140に格納されている情報が主メモリ130に直接書き戻されることは決してなく、また、本実施形態においては、Iキャッシュの無効命令あるいは機能が提供されることもない。もし、プロセッサ110がいわゆる自己書き換えコードを実行することにより主メモリ130に格納されている命令が、その命令を実行する手段そのものにより生成された命令により上書きされたとしても、実行すべきコードに矛盾が生じる可能性は全くない。命令が上書きされるべき場合、新しい値がDキャッシュに書き込まれ、そのページがIキャッシュにも格納されているなら、それはIキャッシュに書き込まれる。従って、いかなる変更に対してもIキャッシュは最新の状態に保たれる。命令にアクセスする際に、その命令がIキャッシュに無い場合、主メモリの前にDキャッシュが検索される。従って、主メモリ130に書き戻されていない変更はDキャッシュにまだ存在しており、修正された命令はDキャッシュからIキャッシュに転送される。
データ処理システムの概略図である。 データキャッシュおよび命令キャッシュを用いるデータ処理システムの概略図である。 命令の読み取りオペレーションに関する概略的なフローチャートである。 データ値の書き込みオペレーションに関する概略的なフローチャートである。 データ値の読み取りオペレーションに関する概略的なフローチャートである。
符号の説明
10:プロセッサ、20:主メモリ、110:プロセッサ、120:エミュレーション用ソフトウェア、130:主メモリ、150:Dキャッシュ、140:Iキャッシュ

Claims (16)

  1. データプロセッサであって、
    主メモリ、命令キャッシュ、および、データキャッシュ、を有し、
    必要とされる命令を前記命令キャッシュにおいて検索し、前記必要とされる命令が前記命令キャッシュに存在しない場合、前記データキャッシュにおいて検索し、前記必要とされる命令が前記データキャッシュに存在しない場合、前記必要とされる命令を前記主メモリから前記命令キャッシュにフェッチするように機能する命令フェッチロジックと、
    データ値を前記データキャッシュのデータアドレスの位置に書き込み、そして前記命令キャッシュにおいても前記アドレスが記述されている場合、そのデータ値を前記命令キャッシュに書き込むように機能するデータライトロジックと、
    前記データキャッシュから前記主メモリにデータを転送するように機能するキャッシュ制御ロジックと、
    を実行するデータプロセッサ。
  2. 請求項1記載のデータプロセッサであって、
    前記命令キャッシュは直接マッピング方式であり、前記データキャッシュが連想型であること、
    を特徴とするデータプロセッサ。
  3. 請求項1又は2記載のデータプロセッサであって、
    前記命令キャッシュおよび前記データキャッシュが複数キャッシュページを記憶するように構成されていること、
    を特徴とするデータプロセッサ。
  4. 請求項3記載のデータプロセッサであって、
    前記命令キャッシュ又は前記データキャッシュへの転送、あるいは、前記命令キャッシュ又は前記データキャッシュからの転送がページ単位で実行されること、
    を特徴とするデータプロセッサ。
  5. 請求項3又は4記載のデータプロセッサであって、
    前記命令フェッチロジックは、必要なページが前記命令キャッシュ又は前記データキャッシュに保持されているか否かを調べることにより前記命令キャッシュおよび前記データキャッシュを検索するように機能すること、
    を特徴とするデータプロセッサ。
  6. 請求項3乃至5のいずれか1項に記載のデータプロセッサであって、
    前記キャッシュ制御ロジックは、新たに必要とされるページを前記データキャッシュに書き込む際に、アクセス頻度が最も低いデータページが修正されたデータを含んでいる場合には、前記アクセス頻度が最も低いページを前記データキャッシュから前記主メモリに転送すること、
    を特徴とするデータプロセッサ。
  7. 請求項3乃至6のいずれか1項に記載のデータプロセッサであって、
    前記命令フェッチロジックは、必要とされる命令が前記命令キャッシュあるいは前記データキャッシュに存在しない場合、前記必要とされる命令を前記主メモリから前記命令キャッシュにフェッチするように機能すること、
    を特徴とするデータプロセッサ。
  8. 請求項3乃至7のいずれか1項に記載のデータプロセッサであって、
    前記命令キャッシュ及び前記データキャッシュのそれぞれが、各ページ4キロバイトの8ページに構成された32キロバイトを保有すること、
    を特徴とするデータプロセッサ。
  9. 請求項1乃至8のいずれか1項に記載のデータプロセッサであって、
    命令を実行するための命令実行ロジックを有すること、
    を特徴とするデータプロセッサ。
  10. 請求項9記載のデータプロセッサであって、
    前記命令実行ロジックは、命令の実行をエミュレートするソフトウェアを実行するデータ処理構成を有すること、
    を特徴とするデータプロセッサ。
  11. 請求項1乃至10のいずれか1項に記載のデータプロセッサであって、
    該データプロセッサは、前記命令キャッシュにおける項目を無効にする機能を提供しないこと、
    を特徴とするデータプロセッサ。
  12. 主メモリ、命令キャッシュ、および、データキャッシュ、を有するシステムにおけるデータ処理方法であって、
    必要とされる命令を前記命令キャッシュにおいて検索するステップと、
    前記必要とされる命令が前記命令キャッシュに存在しない場合に前記データキャッシュを検索するステップと、
    前記必要とされる命令が前記データキャッシュにも存在しない場合、前記必要とされる命令を前記主メモリから前記命令キャッシュにフェッチするステップと、
    データ値を書き込むべき場合、そのデータ値を前記データキャッシュのデータアドレスの位置に書き込み、そのアドレスが前記命令キャッシュにおいても記述されている場合、前記データ値を前記命令キャッシュにも書き込むステップと、
    前記データキャッシュから前記主メモリへデータを転送するステップと、
    を有するデータ処理方法。
  13. 請求項12記載の方法を実行するためのプログラムコードを有するコンピュータソフトウェア。
  14. 請求項13記載のプログラムコードを提供する媒体。
  15. 請求項14記載の媒体であって、伝送媒体であることを特徴とする媒体。
  16. 請求項14記載の媒体であって、記憶媒体であることを特徴とする媒体。
JP2006130828A 2005-05-09 2006-05-09 データ処理におけるメモリキャッシング Active JP4666511B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0509420A GB2426082B (en) 2005-05-09 2005-05-09 Memory caching in data processing

Publications (2)

Publication Number Publication Date
JP2006318471A true JP2006318471A (ja) 2006-11-24
JP4666511B2 JP4666511B2 (ja) 2011-04-06

Family

ID=34685298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006130828A Active JP4666511B2 (ja) 2005-05-09 2006-05-09 データ処理におけるメモリキャッシング

Country Status (8)

Country Link
US (1) US20070073971A1 (ja)
EP (1) EP1880276B1 (ja)
JP (1) JP4666511B2 (ja)
AU (1) AU2006245560A1 (ja)
DE (1) DE602006017355D1 (ja)
ES (1) ES2357308T3 (ja)
GB (1) GB2426082B (ja)
WO (1) WO2006120408A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008783A (ja) * 2009-06-22 2011-01-13 Arm Ltd リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル
JP2012155439A (ja) * 2011-01-25 2012-08-16 Nec Corp プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552283B2 (en) * 2006-01-20 2009-06-23 Qualcomm Incorporated Efficient memory hierarchy management
US8943273B1 (en) * 2008-08-14 2015-01-27 Marvell International Ltd. Method and apparatus for improving cache efficiency
US10073656B2 (en) * 2012-01-27 2018-09-11 Sandisk Technologies Llc Systems and methods for storage virtualization
US10346095B2 (en) * 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744279A (en) * 1980-08-28 1982-03-12 Nec Corp Cash memory controller
JPS5829187A (ja) * 1981-08-14 1983-02-21 Nec Corp キヤツシユメモリ制御装置
JPS60123936A (ja) * 1983-12-07 1985-07-02 Fujitsu Ltd バッフア記憶制御方式
JPS60225262A (ja) * 1984-03-30 1985-11-09 フオーフエイス・システムズ・インコーポレーテツド 2重キヤツシユメモリを有するパイプラインプロセツサ
JPS63177238A (ja) * 1986-10-17 1988-07-21 アムダール コーポレーション データ処理装置
JPS63240650A (ja) * 1987-03-28 1988-10-06 Toshiba Corp キヤツシユメモリ装置
JPH02109150A (ja) * 1988-10-18 1990-04-20 Mitsubishi Electric Corp 命令キャッシュメモリ制御装置
JPH0423148A (ja) * 1990-05-18 1992-01-27 Fujitsu Ltd キャッシュ制御装置
JPH05324469A (ja) * 1992-04-02 1993-12-07 Nec Corp キャッシュ・メモリを内蔵したマイクロプロセッサ
JPH0816390A (ja) * 1994-07-01 1996-01-19 Hitachi Ltd マイクロプロセッサ
JP2000029787A (ja) * 1998-07-15 2000-01-28 Hitachi Ltd 命令キャッシュへの書き込み機構を備えたプロセッサ
JP2002007212A (ja) * 2000-06-19 2002-01-11 Sony Corp キャッシュ・メモリ・システム及びキャッシュ・メモリ制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4701844A (en) * 1984-03-30 1987-10-20 Motorola Computer Systems, Inc. Dual cache for independent prefetch and execution units
US5214770A (en) * 1988-04-01 1993-05-25 Digital Equipment Corporation System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command
US7360028B1 (en) * 2000-05-05 2008-04-15 Sun Microsystems, Inc. Explicit store-to-instruction-space instruction for self-modifying code and ensuring memory coherence between instruction cache and shared memory using a no-snoop protocol

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744279A (en) * 1980-08-28 1982-03-12 Nec Corp Cash memory controller
JPS5829187A (ja) * 1981-08-14 1983-02-21 Nec Corp キヤツシユメモリ制御装置
JPS60123936A (ja) * 1983-12-07 1985-07-02 Fujitsu Ltd バッフア記憶制御方式
JPS60225262A (ja) * 1984-03-30 1985-11-09 フオーフエイス・システムズ・インコーポレーテツド 2重キヤツシユメモリを有するパイプラインプロセツサ
JPS63177238A (ja) * 1986-10-17 1988-07-21 アムダール コーポレーション データ処理装置
JPS63240650A (ja) * 1987-03-28 1988-10-06 Toshiba Corp キヤツシユメモリ装置
JPH02109150A (ja) * 1988-10-18 1990-04-20 Mitsubishi Electric Corp 命令キャッシュメモリ制御装置
JPH0423148A (ja) * 1990-05-18 1992-01-27 Fujitsu Ltd キャッシュ制御装置
JPH05324469A (ja) * 1992-04-02 1993-12-07 Nec Corp キャッシュ・メモリを内蔵したマイクロプロセッサ
JPH0816390A (ja) * 1994-07-01 1996-01-19 Hitachi Ltd マイクロプロセッサ
JP2000029787A (ja) * 1998-07-15 2000-01-28 Hitachi Ltd 命令キャッシュへの書き込み機構を備えたプロセッサ
JP2002007212A (ja) * 2000-06-19 2002-01-11 Sony Corp キャッシュ・メモリ・システム及びキャッシュ・メモリ制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008783A (ja) * 2009-06-22 2011-01-13 Arm Ltd リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル
JP2012155439A (ja) * 2011-01-25 2012-08-16 Nec Corp プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム

Also Published As

Publication number Publication date
EP1880276A2 (en) 2008-01-23
AU2006245560A1 (en) 2006-11-16
ES2357308T3 (es) 2011-04-25
US20070073971A1 (en) 2007-03-29
GB0509420D0 (en) 2005-06-15
JP4666511B2 (ja) 2011-04-06
GB2426082A (en) 2006-11-15
DE602006017355D1 (de) 2010-11-18
GB2426082B (en) 2007-08-15
WO2006120408A3 (en) 2007-05-31
WO2006120408A2 (en) 2006-11-16
EP1880276B1 (en) 2010-10-06

Similar Documents

Publication Publication Date Title
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
US20080235477A1 (en) Coherent data mover
US7493452B2 (en) Method to efficiently prefetch and batch compiler-assisted software cache accesses
RU2427892C2 (ru) Способ и устройство для установки политики кэширования в процессоре
US8924648B1 (en) Method and system for caching attribute data for matching attributes with physical addresses
EP1869557B1 (en) Global modified indicator to reduce power consumption on cache miss
JPH0711793B2 (ja) マイクロプロセッサ
JPH09120372A (ja) プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
CN111201518B (zh) 用于管理能力元数据的设备和方法
JP4666511B2 (ja) データ処理におけるメモリキャッシング
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
US20140289469A1 (en) Processor and control method of processor
US5926841A (en) Segment descriptor cache for a processor
JP3973129B2 (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
WO1997034229A9 (en) Segment descriptor cache for a processor
US6766427B1 (en) Method and apparatus for loading data from memory to a cache
JP3260566B2 (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
CN115098409A (zh) 进行阶层式高速缓存***回存且无效的处理器以及方法
JP5644539B2 (ja) プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム
JP2011192012A (ja) データ処理システム及びアクセス制御方法
JP2001505327A (ja) 1クロックサイクル内でデータをストアするよう構成されたデータメモリユニット、およびその動作方法
JPWO2013084315A1 (ja) 演算処理装置、及び、演算処理装置の制御方法
JPH04348441A (ja) キャッシュメモリ制御方式
JPH0342744A (ja) キャッシュ・メモリを有する計算システムおよびキャッシュ・メモリ管理方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070123

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071018

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090410

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20090428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100406

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4666511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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