JP4037806B2 - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置 Download PDF

Info

Publication number
JP4037806B2
JP4037806B2 JP2003277854A JP2003277854A JP4037806B2 JP 4037806 B2 JP4037806 B2 JP 4037806B2 JP 2003277854 A JP2003277854 A JP 2003277854A JP 2003277854 A JP2003277854 A JP 2003277854A JP 4037806 B2 JP4037806 B2 JP 4037806B2
Authority
JP
Japan
Prior art keywords
cache memory
invalidation
memory device
cache
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003277854A
Other languages
English (en)
Other versions
JP2005044142A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003277854A priority Critical patent/JP4037806B2/ja
Publication of JP2005044142A publication Critical patent/JP2005044142A/ja
Application granted granted Critical
Publication of JP4037806B2 publication Critical patent/JP4037806B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、バリッドビットを有するキャッシュメモリ装置に関するものである。
キャッシュメモリはメインメモリへのアクセスを高速化するために使用される階層化メモリ技術である。キャッシュメモリにはメインメモリのコピーが置かれ、処理装置はメインメモリをアクセスする代わりに、このキャッシュメモリをアクセスすることによって高速化される。
さらに、通常キャッシュメモリは、バリッドビットを各ラインに有し、キャッシュのラインに有効なデータが入っているか否かを判別する。このようなキャッシュメモリをインバリデートする技術として、例えば、メインメモリの更新をキャッシュメモリに反映させる技術として、各ラインのタグメモリのアドレスを順次読み出して、インバリデートすべきアドレスの範囲に含まれているか否かを判断し、その結果によりインバリデートすべきと判断されたラインをインバリデートする(例えば、特許文献1参照。)。この従来技術では、キャッシュメモリの各ラインをインバリデートすべき範囲にあるかどうかを順次判断することによって、ラインの数に相応する時間でキャッシュメモリのインバリデートを行う。
この従来のインバリデート動作の例を示すタイミングチャートを図3に示す。図3において、200はインバリデート要求信号、201はキャッシュアクセス信号、102はインバリデート時のアドレスとなるカウンタである。イベントタイミング600でインバリデート要求信号200が発行されると、カウンタ102をクロックサイクル毎に順次カウントアップし、インバリデート時のキャッシュアクセスのアドレスとして順次バリッドビットをインバリデートしていく。イベントタイミング601でカウント値がインバリデートすべきラインの合計数(n個)に達するとインバリデートを完了とし、キャッシュアクセス信号201を見て、通常のキャッシュアクセスを開始する。
特開平8−335189号公報
しかしながら、上述のインバリデートの従来技術では、各ラインに対してキャッシュのインバリデートを順次行うため、後続のキャッシュアクセス要求は遅延され、最長でキャッシュメモリのライン数に相当する時間だけCPUをストールさせる必要があるという問題があった。
本発明の目的は、キャッシュメモリをインバリデートする場合に、インバリデート処理をしている間に後続のアクセスを受け付け、高性能化を図ったキャッシュメモリ装置を提供することにある。
上記課題を解決するために、本発明の請求項1に記載のキャッシュメモリ装置は、キャッシュメモリの各ラインの有効性を示すバリッドビットを有するキャッシュメモリ装置において、外部からのインバリデート要求信号に従って、該要求信号に対応する前記バリッドビットをインバリデートするインバリデート制御回路と、キャッシュミス時に外部バスアクセスを起動する外部バスアクセス制御回路と、を備え、前記インバリデート制御回路がインバリデート実行中である間に、前記外部バスアクセス制御回路は、任意の外部バスアクセスを起動し、前記外部バスアクセスにより読み出した外部からのデータをバッファに一時保存すると共に、インバリデート実行完了を待って前記バッファから前記キャッシュメモリに格納する、ことを特徴とするものである。
また、本発明の請求項2に記載のキャッシュメモリ装置は、請求項1に記載のキャッシュメモリ装置において、前記インバリデート制御回路がインバリデート実行中である間に、前記キャッシュメモリ装置がアクセス要求を受けたとき、前記外部バスアクセス制御回路は、該アクセス要求をキャッシュミスと判断し、対応する外部バスアクセスを起動することを特徴とするものである。
また、本発明の請求項3に記載のキャッシュメモリ装置は、請求項1に記載のキャッシュメモリ装置において、前記インバリデート制御回路がインバリデート実行中である間に、前記キャッシュメモリ装置がアクセス要求を受けたとき、該インバリデート制御回路は、キャッシュアクセスを不可能にするインバリデートイネーブル信号を出力することを特徴とするものである。
本発明の請求項1にかかるキャッシュメモリ装置によれば、キャッシュメモリの各ラインの有効性を示すバリッドビットを有するキャッシュメモリ装置において、外部からのインバリデート要求信号に従って、該要求信号に対応する前記バリッドビットをインバリデートするインバリデート制御回路と、キャッシュミス時に外部バスアクセスを起動する外部バスアクセス制御回路と、を備え、前記インバリデート制御回路がインバリデート実行中である間に、前記外部バスアクセス制御回路は、任意の外部バスアクセスを起動するようにしたので、インバリデート実行中に後続のキャッシュアクセス要求の外部バスアクセスを起動し、前記外部バスアクセスにより読み出した外部からのデータをバッファに一時保存すると共に、インバリデート実行完了を待って前記バッファから前記キャッシュメモリに格納することにより、インバリデート実行と並行して外部バスアクセスを行うことが可能となり、装置の高性能化を図ることができる。
また、本発明の請求項2にかかるキャッシュメモリ装置によれば、請求項1に記載のキャッシュメモリ装置において、前記インバリデート制御回路がインバリデート実行中である間に、前記キャッシュメモリ装置がアクセス要求を受けたとき、前記外部バスアクセス制御回路は、該アクセス要求をキャッシュミスと判断し、対応する外部バスアクセスを起動するようにしたので、キャッシュメモリ装置がアクセス要求を受けた際に、外部バスアクセス制御回路がインバリデート制御回路からインバリデート実行中である情報を受け取っている場合には、そのアクセス要求をキャッシュミスと判定して外部バスアクセスを起動し、メインメモリからデータを読み出し、それらをバッファに保持しておくことにより、インバリデート完了後、即座にキャッシュにそのデータを格納することが可能になり、インバリデートアクセスの直後のキャッシュアクセスの外部バスアクセスがインバリデート実行中に処理可能となるため、装置の高性能化を図ることができる。
また、本発明の請求項3にかかるキャッシュメモリ装置によれば、請求項1に記載のキャッシュメモリ装置において、前記インバリデート制御回路がインバリデート実行中である間に、前記キャッシュメモリ装置がアクセス要求を受けたとき、該インバリデート制御回路は、キャッシュアクセスを不可能にするインバリデートイネーブル信号を出力するようにしたので、インバリデート実行中はキャッシュアクセスをしないことを保証することにより、装置は、インバリデート未完了ときの不正なデータを読み出すこと、また、新たに格納した有効なデータを誤ってインバリデートしてしまうことなく、正しく動作することができる。
以下、本発明の各実施の形態について、図面を用いて説明する。
(実施の形態1)
まず、本発明の請求項1及び請求項2に記載された発明に対応するキャッシュメモリ装置を、実施の形態1として、図面を参照しながら説明する。
図1は、本発明の実施の形態1によるキャッシュメモリ装置の構成を示すブロック図である。図1において、1はキャッシュメモリであり、制御部100と、タグメモリ110と、データメモリ120と、バリッドビット130とによって構成される。制御部100は、インバリデート制御回路101と、外部バスアクセス制御回路103と、キャッシュメモリに与えるアドレスを選択するセレクタ105とをもつ。セレクタ105は、インバリデートイネーブル信号104により制御される。インバリデート制御回路101は、インバリデートの際にアドレスを与えるカウンタ102を含んでいる。200はインバリデート要求信号、201はキャッシュアクセス信号、202はアドレス信号である。4はメインメモリである。3は外部バスアクセスを起動してメインメモリ4から読み出したデータを保持するバッファである。
図2は、図1に示したキャッシュメモリ装置における、インバリデート動作時にキャッシュアクセス要求が発行された場合の動作を説明するためのタイムチャートである。図1と同一のものには同じ符号を示してある。203は外部バスアクセス信号、400は外部バスアクセスによりメインメモリ4から読み出し、バッファ3に保持されているデータ、204は外部バスアクセスによりメインメモリ4から読み出されたデータ400を、キャッシュメモリ1に格納する際のデータである。500〜505はイベントタイミングである。
次に、図1と図2に基づいて、上記のように構成されている本実施の形態1によるキャッシュメモリ装置の、インバリデート動作時にキャッシュアクセス要求が発行された場合の動作を説明する。
キャッシュアクセス信号201が発行される(イベントタイミング503)と、外部バスアクセス制御回路103は、インバリデートイネーブル信号104を確認する。インバリデートイネーブル信号104がアサートされている場合には、バリッドビット130をインバリデート実行中であると判断し、キャッシュアクセス201をキャッシュミスと判定して、入力アドレス202でメインメモリ4からアクセス対象のデータを読み出すために、外部バスアクセス203を起動する(イベントタイミング504)。メインメモリ4から読み出したデータ400は、バッファ3に保持される。外部バスアクセス制御回路103は、インバリデートイネーブル信号104がネゲートされる(イベントタイミング501)ことにより、インバリデート動作の完了を判断すると、バッファ3に保持しているデータ400をキャッシュ格納データ204としてキャッシュメモリ内にとりこみ(イベントタイミング505)、外部バスアクセス203を起動したアドレス202でタグメモリ110、データメモリ120、バリッドビット130を索引し、格納データ204をデータメモリに、アドレス202をタグメモリに格納し、バリットビットを有効にし、インバリデート実行中に要求されたキャッシュアクセス信号201のアクセスを完了とする。このようにして、インバリデート実行中に後続のキャッシュアクセス要求を受け付けることができる。
インバリデート終了後の動作は、一般のキャッシュメモリの動作と同様である。
このように、本実施の形態1によるキャッシュメモリ装置では、外部のインバリデート要求に応じて、キャッシュメモリのインバリデートを行うインバリデート制御回路101と、キャッシュミスのとき外部バスアクセスを起動する外部バスアクセス制御回路103と、通常キャッシュアクセスのときのアドレス、又はインバリデート制御回路101のカウンタ102により生成されたインバリデートの対象となるキャッシュメモリのアドレスを選択するセレクタ105とを備えるようにしたので、インバリデート実行中に後続のキャッシュアクセス要求を受け付けて該後続のキャッシュアクセス要求の外部バスアクセスを起動し、メインメモリからデータを読み出し、それらをバッファに保持しておくことにより、インバリデート完了後、即座にそのデータをキャッシュに格納することが可能となり、インバリデートアクセスの直後のキャッシュアクセスの外部バスアクセスがインバリデート実行中に処理することができるため、装置の高性能化を図ることができる。
なお、本発明は、バリッドビットを有する全てのキャッシュメモリ構成に対応可能である。
(実施の形態2)
次に、本発明の請求項3に記載された発明に対応するキャッシュメモリ装置を、実施の形態2として、図1、図2を参照しながら説明する。
本実施の形態2によるキャッシュメモリ装置の構成は、図1に示された前述の実施の形態1によるキャッシュメモリ装置の構成と同様なため、その説明を省略する。
以下、本実施の形態2によるキャッシュメモリ装置における、インバリデート動作について、図2を用いて説明する。
まず、ここでは、バリッドビット130の各ラインは1ビットであり、当該ラインが有効であれば「1」を、無効であれば「0」をそれぞれ保持しているとする。このバリッドビット130は、セレクタ105から与えられるアドレスにより索引される。
インバリデート要求信号200が発行される(イベントタイミング500)と、制御部100のインバリデート制御回路101は、カウンタ102をリセットし、クロックサイクル毎に順次カウントアップしていくことにより、インバリデートするラインのアドレスを生成していく。また、同時にインバリデート実行中であることを示すインバリデートイネーブル信号104をアサートする。カウンタ102は、カウント値がラインの合計数(n個)に達するまでカウントアップを続け、達したところでインバリデート動作を完了とする。その間、インバリデートイネーブル信号104はアサートされ続ける。セレクタ105は、インバリデートイネーブル信号104で制御され、通常の動作時はアドレス202を選択するが、インバリデートイネーブル信号がアサートされている間はカウンタ102の出力を選択し、そのアドレスでアクセスしたラインのバリッドビット130をインバリデートすることになる。
インバリデートイネーブル信号104が、インバリデートが完了するまで決してネゲートされないため、キャッシュアクセス要求は発行されたとしても、実行されないように制御される。
このように、本実施の形態2によるキャッシュメモリ装置では、インバリデート要求信号を受けて、インバリデート制御回路101はインバリデートの実行を開始させると同時に、インバリデートの実行中であることを示すインバリデートイネーブル信号104をアサートし出力し続けることとしたので、アサートされたインバリデートイネーブル信号104により制御されているセレクタ105が、インバリデートの実行中に、インバリデートの対象となるキャッシュメモリのラインのアドレスのみを選択することが保証され、装置はインバリデートの実行中にキャッシュアクセス要求を受けても、キャッシュアクセスを不可能に制御することができるため、インバリデート未完了ときの不正なデータを読み出すこと、また、新たに格納した有効なデータを誤ってインバリデートしてしまうことなく、正しく動作することができる。
本発明に係るキャッシュメモリ装置は、キャッシュメモリをインバリデートする場合に、インバリデート処理をしている間に後続のアクセスを受け付けることができるという効果を有し、バリッドビットを有するキャッシュメモリ装置の動作安定化、及び高性能化を図るのに適している。
本発明の実施の形態1及び実施の形態2によるキャッシュメモリ装置の構成を示すブロック図である。 本発明の実施の形態1及び実施の形態2によるキャッシュメモリ装置における、インバリデート動作時にキャッシュアクセス要求が発行された場合の動作を説明するためのタイムチャートである。 従来のキャッシュメモリ装置における、インバリデート動作時のタイムチャートである。
符号の説明
1 キャッシュメモリ装置
3 バッファ
4 メモリ
100 制御部
101 インバリデート制御回路
102 カウンタ
103 外部バスアクセス制御回路
104 インバリデートイネブール信号
105 セレクタ
110 タグメモリ
120 データメモリ
130 バリッドビット
200 インバリデート要求信号
201 キャッシュアクセス信号
202 アドレス信号
203 外部バスアクセス信号
500〜505、600、601 イベントタイミング

Claims (3)

  1. キャッシュメモリの各ラインの有効性を示すバリッドビットを有するキャッシュメモリ装置において、
    外部からのインバリデート要求信号に従って、該要求信号に対応する前記バリッドビットをインバリデートするインバリデート制御回路と、
    キャッシュミス時に外部バスアクセスを起動する外部バスアクセス制御回路と、を備え、
    前記インバリデート制御回路がインバリデート実行中である間に、前記外部バスアクセス制御回路は、任意の外部バスアクセスを起動し、
    前記外部バスアクセスにより読み出した外部からのデータをバッファに一時保存すると共に、インバリデート実行完了を待って前記バッファから前記キャッシュメモリに格納する、
    ことを特徴とするキャッシュメモリ装置。
  2. 請求項1に記載のキャッシュメモリ装置において、
    前記インバリデート制御回路がインバリデート実行中である間に、前記キャッシュメモリ装置がアクセス要求を受けたとき、前記外部バスアクセス制御回路は、該アクセス要求をキャッシュミスと判断し、対応する外部バスアクセスを起動する、
    ことを特徴とするキャッシュメモリ装置。
  3. 請求項1に記載のキャッシュメモリ装置において、
    前記インバリデート制御回路がインバリデート実行中である間に、前記キャッシュメモリ装置がアクセス要求を受けたとき、該インバリデート制御回路は、キャッシュアクセスを不可能にするインバリデートイネーブル信号を出力する、
    ことを特徴とするキャッシュメモリ装置。
JP2003277854A 2003-07-22 2003-07-22 キャッシュメモリ装置 Expired - Fee Related JP4037806B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003277854A JP4037806B2 (ja) 2003-07-22 2003-07-22 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003277854A JP4037806B2 (ja) 2003-07-22 2003-07-22 キャッシュメモリ装置

Publications (2)

Publication Number Publication Date
JP2005044142A JP2005044142A (ja) 2005-02-17
JP4037806B2 true JP4037806B2 (ja) 2008-01-23

Family

ID=34264451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003277854A Expired - Fee Related JP4037806B2 (ja) 2003-07-22 2003-07-22 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JP4037806B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1750276B1 (en) 2005-07-29 2017-03-08 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
EP1750272B1 (en) 2005-07-29 2010-10-27 Semiconductor Energy Laboratory Co., Ltd. Semiconductor memory device and method for driving the same
US7929332B2 (en) 2007-06-29 2011-04-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor memory device and semiconductor device

Also Published As

Publication number Publication date
JP2005044142A (ja) 2005-02-17

Similar Documents

Publication Publication Date Title
EP3674877B1 (en) Method for accessing extended memory, device, and system
US6978350B2 (en) Methods and apparatus for improving throughput of cache-based embedded processors
JP3577331B2 (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
US9286221B1 (en) Heterogeneous memory system
JP5526626B2 (ja) 演算処理装置およびアドレス変換方法
CN106897230B (zh) 用于处理原子更新操作的装置和方法
US7472227B2 (en) Invalidating multiple address cache entries
US8352646B2 (en) Direct access to cache memory
US9262325B1 (en) Heterogeneous memory system
US20150356015A1 (en) Processor performance by dynamically re-adjusting the hardware stream prefetcher stride
US7577791B2 (en) Virtualized load buffers
JP5129023B2 (ja) キャッシュメモリ装置
US6976130B2 (en) Cache controller unit architecture and applied method
JP4037806B2 (ja) キャッシュメモリ装置
JP4327237B2 (ja) プリフェッチ制御装置
US9158697B2 (en) Method for cleaning cache of processor and associated processor
JP3733604B2 (ja) キャッシュメモリ
US9043557B1 (en) Heterogeneous memory system
EP3332329B1 (en) Device and method for prefetching content to a cache memory
JP2019533239A (ja) アトミックセットのデータアクセスを提供するための装置および方法
CN111198827B (zh) 页表预取方法及装置
JP3729832B2 (ja) キャッシュメモリ装置
US20060129762A1 (en) Accessible buffer for use in parallel with a filling cacheline
JP2851777B2 (ja) バス制御方法及び情報処理装置
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071101

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees