JP2011100213A - キャッシュ装置 - Google Patents

キャッシュ装置 Download PDF

Info

Publication number
JP2011100213A
JP2011100213A JP2009253289A JP2009253289A JP2011100213A JP 2011100213 A JP2011100213 A JP 2011100213A JP 2009253289 A JP2009253289 A JP 2009253289A JP 2009253289 A JP2009253289 A JP 2009253289A JP 2011100213 A JP2011100213 A JP 2011100213A
Authority
JP
Japan
Prior art keywords
tag
address
memory
data
way
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.)
Withdrawn
Application number
JP2009253289A
Other languages
English (en)
Inventor
Takeshi Tanaka
毅 田中
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009253289A priority Critical patent/JP2011100213A/ja
Priority to US12/917,926 priority patent/US20110107034A1/en
Publication of JP2011100213A publication Critical patent/JP2011100213A/ja
Withdrawn legal-status Critical Current

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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】セットアソシアティブ方式のキャッシュ装置において、タグメモリとデータメモリに対するアクセス回数を少なくする。
【解決手段】キャッシュ装置は、メインメモリのデータの一部を記憶する複数のウェイを含むデータメモリと、データメモリの各ウェイに記録されたデータのアドレスに含まれるタグをそれぞれ記憶する複数のウェイを含むタグメモリと、アクセス対象アドレスに含まれるタグとタグメモリに記録されたタグとが一致するか否かを判定する比較回路と、今回アクセスする第1のアドレスを参照して次回アクセスする第2のアドレスを計算する次回アドレス生成部と、第2のアドレスのインデックスに対応するタグをタグメモリから先読みするとともに第2のアドレスに含まれるタグと先読みしたタグとが一致した場合には、以降のタグをタグメモリから読み出さないようにするタグ読み出し制御回路とを有する。
【選択図】図1

Description

本発明は、キャッシュ装置に関し、特に、CPUに内蔵されるキャッシュ装置に関する。
CPUに内蔵されるキャッシュ装置は、アクセスを受けると、キャッシュ装置に搭載されたタグメモリとデータメモリに対するアクセスが行われる。一般に、キャッシュ装置のタグメモリ及びデータメモリの応答速度は処理性能に影響を及ぼすことから、これらのメモリとしてSRAMなどの高速メモリが使用される。
キャッシュ装置へのアクセス回数とビット数に比例して消費電力が大きくなることが知られている。また、キャッシュ装置のヒット率を向上させるために、ダイレクトマップ方式のキャッシュ装置に代わり、複数ウェイ構成のセットアソシアティブ方式のキャッシュ装置が主流となってきており、メモリの回路規模の増大により、キャッシュ装置における消費電力はさらに増大している。携帯電話、携帯情報端末、デジタルカメラのようなデジタルモバイル機器を連続して使用する時間を延ばすために、これらの機器に搭載されたキャッシュ装置の消費電力を抑える要求が高まっている。
図6は、特許文献1に記載されたキャッシュシステムの構成を示すブロック図である。図6を参照すると、キャッシュシステムは、メインメモリ(主記憶)10の一部のデータを保持するデータメモリ30と、データメモリ30に保持されるデータのアドレス情報(タグ)ADD−TAGとアドレス情報ADD−TAGが有効か否かを示す有効データビットVBとを保持するタグメモリ22と、アクセス対象アドレスとタグメモリ22から読み出したアドレス情報ADD−TAGを比較する比較回路24と、セレクタSEL及び論理積26から成るヒット判定部23と、キャッシュコントローラ20とを有する。タグメモリ22において、前記アドレス情報は連続するアドレスの複数データを共通に管理し、前記有効データビットは前記複数データに対応して複数ビット設けられている。
キャッシュコントローラ20は、アクセス対象アドレスが直前のアクセス対象アドレスと同一のタグメモリ内アドレス情報で管理されるデータに対応する第1の場合は、タグメモリ22への読み出しを禁止し、かつ、有効データビットVBに従ってキャッシュヒット判定し、前記アクセス対象アドレスが直前のアクセス対象アドレスと異なるタグメモリ内アドレス情報で管理されるデータに対応する第2の場合は、タグメモリ22への読み出しを許可してキャッシュヒット判定し、当該キャッシュヒット判定でキャッシュミスと判定したときに、メインメモリ10からアクセス対象の前記複数データの一部をデータメモリ30に転送し、対応する有効データビットVBを更新する。
CPUは、内部に演算回路などのインテジャーユニットIUと、キャッシュシステムと、バスインターフェースユニットBIUとを有する。インテジャーユニットIUは、内部アドレスバスIAにアドレス21を出力してメモリへのアクセスを要求する。バスインターフェースユニットBIUは、メインメモリ10にアクセスし、アクセス対象データを読み出し、キャッシュシステム内のデータメモリ30に書き込み、タグメモリ22のアドレス情報を更新する。タグメモリ22には、データメモリ30が保持するデータのアドレス情報ADD−TAGが記録され、タグメモリ22の1ラインのアドレス情報ADD−TAGが、4ワードデータ30A、30Bを共通に管理している。
したがって、4ワードデータ30A、30Bが順番にアクセスされる場合、タグメモリ22から読み出されるアドレス情報ADD−TAG(上位アドレスIA[31:10])は毎回同一となり、比較回路24の出力は毎回一致する。また、タグメモリ22のアドレス情報が管理する範囲(4ワードデータ)内のアクセスであれば、タグメモリ22から読み出されるアドレス情報は同一となり、比較回路24の出力も同一となる。
そこで、アクセス対象アドレスが直前のアクセス対象アドレスと同一のタグメモリ内アドレス情報で管理されるデータに対応する場合には、タグメモリ22への読み出しが禁止される。一方、アクセス対象アドレスが直前のアクセス対象アドレスと異なるタグメモリ内アドレス情報で管理されるデータに対応する場合には、タグメモリ22への読み出しが行われキャッシュヒット判定が行われる。
図7は、特許文献1に記載されたキャッシュシステムの動作を示すタイミングチャートである。図7のアドレスは、内部アドレスバスIAに出力されるアドレス21を示す。図7のタグは、タグメモリ22のアドレス情報ADD−TAGへのアクセスを示す。図7のデータは、データメモリ30の4ワードデータ30A、30Bへのアクセスを示す。アドレス0x0〜0xc、アドレス0x10〜0x1c、及び、アドレス0x20〜0x2cは、それぞれ1つのタグで管理されている。
アドレスが0x0のときには、アクセス対象アドレスは直前のアクセス対象アドレスと異なるタグで管理されているため、タグメモリ22へのアクセスが行われる。タグメモリ22へのアクセスで読み出されたアドレス情報ADD−TAGと、アドレス0x0の上位ビット(IA[31:10])との比較が行われる。比較結果が一致した場合にはヒットとなり、タグメモリ22へのアクセスと同時に行われたデータメモリ30へのアクセスにより、アドレス0x0のデータが出力される。
アドレスが0x4のときには、直前のアクセス対象アドレス0x0は同一タグで管理されているため、タグメモリ22へのアクセスは行われず、データメモリ30へのアクセスにより、アドレス0x4のデータが出力される。アドレス0x8及びアドレス0xcでは、同様にタグメモリ22へのアクセスは行われず、データメモリ30へのアクセスのみが行われる。
アドレスが0x10のときには、アクセス対象アドレスは直前のアクセス対象アドレスと異なるタグで管理されているため、タグメモリ22へのアクセスが行われる。タグメモリ22へのアクセスで読み出されたアドレス情報ADD−TAGと、アドレス0x10の上位ビット(IA[31:10])との比較が行われる。比較結果が一致した場合はヒットとなり、タグメモリ22へのアクセスと同時に行われたデータメモリ30へのアクセスにより、アドレス0x10のデータが出力される。
なお、特許文献2には、キャッシュメモリにおける消費電力を低減し、処理効率の向上を図るためのキャッシュメモリ制御装置が記載されている。
特開2002−063073号公報 特開2005−084999号公報
以下の分析は、本発明者によってなされたものである。特許文献1に記載されたキャッシュシステムによると、比較回路24は、メモリのアクセス要求ごとにアクセス対象アドレスに対しタグメモリ22を読み出し、アクセス対象アドレスと比較してヒット判定を行う。また、同時にデータメモリ30内のデータを読み出しておくことにより、ヒット判定においてアクセス対象アドレスと一致すると判断した時点で、必要なデータを直ちにCPUその他の外部装置に出力する。
特許文献1に記載されたダイレクトマップ方式のキャッシュ装置を、複数ウェイ構成のセットアソシアティブ方式のキャッシュ装置に適用した場合には、ヒット判定を行うタイミングで、すべてのウェイのデータメモリ30を読み出す必要がある。したがって、多くの電力が消費されるという問題がある。
そこで、セットアソシアティブ方式のキャッシュ装置において、タグメモリに対するアクセス回数(又はタグメモリとデータメモリに対するアクセス回数)を少なくすることが課題となる。本発明の目的は、かかる課題を解決するキャッシュ装置を提供することにある。
本発明の第1の視点に係るキャッシュ装置は、
メインメモリのデータの一部を記憶する複数のウェイを含むデータメモリと、
前記データメモリの各ウェイに記録されたデータのアドレスに含まれるタグをそれぞれ記憶する複数のウェイを含むタグメモリと、
アクセス対象アドレスに含まれるタグと前記タグメモリに記録されたタグとが一致するか否かを判定する比較回路と、
今回アクセスするアドレスである第1のアドレスを参照して次回アクセスするアドレスを第2のアドレスとして計算する次回アドレス生成部と、
前記第2のアドレスのインデックスに対応するタグを前記タグメモリから先読みするとともに、前記第2のアドレスに含まれるタグと先読みしたタグとが一致した場合には、以降のタグを前記タグメモリから読み出さないようにするタグ読み出し制御回路とを有する。
本発明に係るセットアソシアティブ方式のキャッシュ装置によると、タグメモリに対するアクセス回数を少なくすることができる。
本発明の第1の実施形態に係るキャッシュ装置の構成を示すブロック図である。 本発明の第1の実施形態に係るキャッシュ装置の動作を示すタイミングチャートである。 本発明の第1の実施形態に係るキャッシュ装置におけるタグ読み出し制御回路の構成を示すブロック図である。 本発明の第2の実施形態に係るキャッシュ装置の構成を示すブロック図である。 本発明の第2の実施形態に係るキャッシュ装置の動作を示すタイミングチャートである。 従来のキャッシュシステムの構成を示すブロック図である。 従来のキャッシュシステムの動作を示すタイミングチャートである。
第1の展開形態のキャッシュ装置は、上記第1の視点に係るキャッシュ装置であることが好ましい。
第2の展開形態のキャッシュ装置は、前記タグ読み出し制御回路が、同一のタグで管理されるワードにアクセスしている間に、前記第2のアドレスのインデックスに対応するタグを前記タグメモリから先読みすることが好ましい。
第3の展開形態のキャッシュ装置は、前記次回アドレス生成部が、前記第1のアドレスと1ラインに含まれるワード数とに基づいて、前記第2のアドレスを計算することが好ましい。
第4の展開形態のキャッシュ装置は、前記タグメモリに含まれる複数のウェイのうちの前記第2のアドレスに含まれるタグと一致するタグが記録されたウェイをウェイ情報として記憶するウェイ記憶回路をさらに有していてもよい。
第5の展開形態のキャッシュ装置は、
前記ウェイ記憶回路が、前記ウェイ情報を記憶する次回アドレスウェイ記憶回路と、
インデックスの値が変化した場合に、前記次回アドレスウェイ記憶回路に記録されたウェイ情報を記憶するようにし、該ウェイ情報を前記データメモリからデータを読み出す際の選択信号として出力する今回アドレスウェイ記憶回路とを有していてもよい。
第6の展開形態のキャッシュ装置は、前記今回アドレス記憶回路に記録されたウェイ情報を参照して、前記データメモリのうちの一部のウェイのみからデータを読み出すデータ読み出し制御回路をさらに有していることが好ましい。
第7の展開形態のキャッシュ装置は、前記タグメモリに含まれる複数のウェイが、それぞれ自身に記録されたタグが有効か否かを示す有効データビットを記憶することが好ましい。
第8の展開形態のキャッシュ装置は、前記第1のアドレスを記憶する今回アドレス部をさらに有していてもよい。
第9の展開形態のキャッシュ装置は、前記第2のアドレスを記憶する次回アドレス部をさらに有していてもよい。
上記キャッシュ装置によると、セットアソシアティブ方式のキャッシュ装置において、タグメモリに対するアクセス回数、又はタグメモリとデータメモリに対するアクセス回数を削減することができる。
(実施形態1)
本発明の第1の実施形態に係るキャッシュ装置について、図面を参照して説明する。図1は、本実施形態に係るキャッシュ装置の構成を示すブロック図である。本実施形態のキャッシュ装置は、1ラインが4ワードである4ウェイ・セットアソシアティブ方式のキャッシュ装置である。なお、1ライン(1ブロックともいう)当りのワード数及びウェイ数は、これらの値に限られない。
図1を参照すると、キャッシュ装置は、データメモリ60、タグメモリ52、比較回路24、次回アドレス生成回路41、次回アドレス部47、タグ読み出し制御回路42、ウェイ記憶回路43、データ読み出し制御回路46及びセレクタ25を有する。
データメモリ60は、メインメモリ(主記憶)10のデータの一部を保持する4つのウェイを含む。
タグメモリ52は、データメモリ60に保持されたデータのアドレス情報(タグ)ADD−TAGとアドレス情報ADD−TAGが有効か否かを示す有効データビットVBとを保持する4つのウェイを含む。
比較回路24は、アクセス対象アドレスに含まれるタグと、タグメモリ52から読み出したアドレス情報(タグ)とを比較する。
今回アドレス部40は、CPUのアドレスに基づいて、今回アクセスするアドレスを保持する。次回アドレス生成回路41は、今回アクセスするアドレスから次回アクセスするアドレスを計算する。次回アドレス部47は、次回アクセスするアドレスを保持する。
タグ読み出し制御回路42は、次回アクセスするアドレスに含まれるインデックスに対応するタグを先読みして、ヒットした(すなわち、次回アクセスするアドレスに含まれるタグと先読みしたタグとが一致した)場合には以降のタグをタグメモリ52から読み出さない。
ウェイ記憶回路43は、次にアクセスするインデックスでヒットしたウェイの情報を保持する次回アドレスウェイ記憶回路44と、今回のアクセスでヒットしたウェイの情報を保持する今回アドレスウェイ記憶回路45と有する。
データ読み出し制御回路46は、データメモリ60の複数のウェイのうちのヒットするウェイのみからデータを読み出す。
セレクタ25は、データメモリ60の複数のウェイのうちのいずれかのウェイから出力されたデータをCPUへのデータとして送出する。
図1において、データメモリ60内に格納されているウェイ情報の1ライン分(4ワードを1ラインとする)の情報を得るためには4回のデータの読み出しが発生する。
タグ読み出し制御回路42は、上記のデータ読み出しごとに、1ウェイずつタグメモリ52を読み出すことにより、データメモリ60の1ライン分の読み出し期間に(全ウェイである)4ウェイのタグメモリ52を読み出す。
タグ読み出し制御回路42は、1ウェイずつタグメモリ52の読み出しを行う。次回アドレスと比較して一致した場合には、比較回路24はヒット判定53をアクティブとし、タグ読出し制御回路42は以降のウェイに対するタグメモリ52の読み出しを行わない。ウェイ記憶回路43の次回アドレスウェイ記憶回路44は、ヒットしたウェイの情報を記憶する。そして、当該タグのアドレスへのアクセスが発生した場合には、次回アドレスウェイ記憶回路44に記憶しておいたウェイ情報を今回アドレスウェイ記憶回路45に移動する。
データ読み出し制御回路46は、今回アドレスウェイ記憶回路45のウェイ情報を参照して、ヒットするウェイのデータメモリ60のみを読み出す。
図2は、1ラインが4ワードである4ウェイ・セットアソシアティブ・キャッシュ方式の場合の動作例を示す。ここでは、アドレス0x0番地にアクセスするときにはウェイ0がヒットすることが、直前までのサイクルですでに分かっているものとする。
次にアクセスするタグは、4ワードのアクセス単位であるため、アドレス0x10番地となり、次回アドレス部47に設定されるアドレスはアドレス0x10番地となる。
アドレス0x0番地にアクセスする場合には、ウェイ0に格納されているデータのみを読み出す。データ読み出しと同時に、次回アドレス部47に格納されているアドレス0x10番地のウェイ0のタグを読み出し、ヒットしたか否かを判断する。ヒットしなかった場合には、次のアドレス読み出し時に次のウェイの比較を行う。
アドレス0x4番地にアクセスする場合には、ウェイ0に格納されているデータのみを読み出す。データ読み出しと同時に、次回アドレス部47に格納されているアドレス0x10番地のウェイ1のタグを読み出し、ヒットしたか否かを判断する。ヒットしなかった場合には、次のアドレス読み出し時に次のウェイの比較を行う。
アドレス0x8番地にアクセスする場合には、ウェイ0に格納されているデータのみを読み出す。データ読み出しと同時に、次回アドレス部47に格納されているアドレス0x10番地のウェイ2のタグを読み出し、ヒットしたか否かを判断する。ヒットした場合には、アドレス0x10番地はウェイ2がヒットしたと判断し、ウェイ記憶回路43の次回アドレスウェイ記憶回路44にウェイ2が記録される。
アドレス0xc番地にアクセスする場合には、ウェイ0に格納されているデータのみを読み出す。次回アドレス部47に格納されているアドレス0x10番地はウェイ2でヒットすることが判明しているため、タグの読み出しは行わない。
アドレス0x10番地にアクセスする場合には、すでにウェイ2がヒットすることが判明している。したがって、アドレス0x10番地、0x14番地、0x18番地、0x1c番地の読み出し時にウェイ2のデータのみを読み出す。
タグの読み出しの動作は、次の通りである。次回アドレス部47にアドレス0x20番地が設定されて、アドレス0x10番地の読み出し時には、次回アドレス部47に格納されているアドレス0x20番地のウェイ0のタグを読み出し、ヒットしたか否かを判断する。ヒットしなかった場合には、アドレス0x14番地の読み出し時に、次回アドレス部47に格納されているアドレス0x20番地のウェイ1のタグを読み出し、ヒットしたか否かを判断する。ヒットした場合には、ウェイ記憶回路43の次回アドレスウェイ記憶回路44にウェイ1が記録され、アドレス0x18番地、アドレス0x1c番地の読み出し時にはタグの読み出しは行わない。
同様に、アドレス0x20番地にアクセスする場合には、すでにウェイ1がヒットすることが判明している。したがって、アドレス0x20番地、0x24番地、0x28番地、0x2c番地の読み出し時にはウェイ1のデータのみを読み出す。
タグの読み出しの動作は、次の通りである。次回アドレス部47にアドレス0x30番地が設定されて、アドレス0x20番地の読み出し時には、次回アドレス部47に格納されているアドレス0x30番地のウェイ0のタグを読み出し、ヒットしたか否かを判断する。ヒットしなかった場合には、アドレス0x24番地の読み出し時には次回アドレス部47に格納されているアドレス0x30番地のウェイ1のタグを読み出し、ヒットしたか否かを判断する。ヒットしなかった場合には、アドレス0x28番地の読み出し時には次回アドレス部47に格納されているアドレス0x30番地のウェイ2のタグを読み出し、ヒットしたか否かを判断する。
アドレス0x0番地のアクセス時にはアドレス0x10番地のウェイ0、アドレス0x4番地のアクセス時にはアドレス0x10番地のウェイ1のように、1ウェイずつタグを読み出す。図1ではアドレス0x10番地のデータはタグメモリ52のウェイ2に格納されており、前記ウェイ2のタグ読み出しでヒットするため、タグメモリ52のウェイ3のタグは読み出さない。そして、アドレス0x10番地へのアクセスが発生した場合には、前記ウェイ2のデータを読み出すと同時に、その次にアクセスするアドレス0x20番地のウェイ0のタグを読み出す。このとき、データメモリ60のウェイ0、1及び3のデータを読み出す必要はない。
図3は、本実施形態に係るキャッシュ装置におけるタグ読み出し制御回路42の構成を示すブロック図である。タグ読み出し制御回路42は、今回アドレス部40と次回アドレス部47とヒット判定53とを入力とし、タグ読み出し制御信号48を出力する。図3を参照すると、タグ読み出し制御回路42は、全ウェイ同時読み出し制御回路50、1ウェイ読み出し制御回路49及び有効ウェイ選択回路51を有する。
初回のヒットするウェイが分かっていない場合には、今回アドレス部40からの信号により、全ウェイ同時読み出し制御回路50は、全ウェイのタグ読み出し制御信号48をアサートする。
データの読み出し動作を行っている場合には、1ウェイ読み出し制御回路49は、次回アドレス部47の一部のウェイのタグ読み出し制御信号48をアサートする。ヒットしなかった場合には、次のウェイのタグ読み出し制御信号48をアサートし、以降この処理を繰り返す。ヒットした場合には、ヒット判定53をアサートし、以降のウェイへのアクセスを禁止する。
なお、1ラインがmワードのnウェイ・セットアソシアティブ方式のキャッシュ装置では、タグ読み出し制御回路42は、データ読み出し毎に(n/m)個のウェイずつ、タグメモリ52を読み出すことで、本実施形態の4ワード・4ウェイ・セットアソシアティブ方式のキャッシュ装置と同様の動作を実現することができる。
特許文献1に記載されたキャッシュメモリによると、インデックスが変化したアドレスにアクセスする場合には、つねに全ウェイのデータを読み出す必要がある。
一方、本実施形態のキャッシュメモリによると、インデックスが変化したアドレスにアクセスする場合に、インデックスのタグを先読みし、既にヒット判定が終わっていることから、ヒットするウェイのデータのみを読み出すことによって、メモリアクセスに伴う消費電力を削減することができる。
本実施形態のキャッシュメモリによると、各メモリへのアクセス回数とビット数に比例して消費する電力を大幅に軽減することができる。その理由は、今回アクセスするアドレスから次回アクセスするアドレスを計算し、次にアクセスするインデックスのタグを先読みし、次回アドレスとタグメモリから先読みしたアドレス情報がヒットした場合は以降のタグは読み出さないようにし、次にアクセスするインデックスでヒットするウェイの情報と今回のアクセスでヒットしたウェイの情報を保持して、ヒットするウェイのデータメモリのみを読み出すからである。
表1は、本実施形態のキャッシュ装置と特許文献1に記載されたキャッシュ装置によるメモリアクセスを比較した結果を示す。ここでは、一例として、1ラインが4ワードである4ウェイ・セットアソシアティブ方式のキャッシュ装置において、キャッシュがヒットする場合の1ライン分のデータ読み出しに必要なメモリのアクセスビット数を求めた。なお、データは32ビットとし、タグは22ビットとした。
特許文献1のキャッシュ装置によると、アドレス0x10〜0x1c番地までのアクセスにおいて、タグ読出しとして4ウェイ分、データ読出しとして4ウェイのデータが4回分とヒットした4ワードのデータが3回分必要となり、合計312ビットの読み出しが必要となる。表1を参照すると、本実施形態のキャッシュ装置によると、メモリへのアクセスを減らすことにより、消費電力を削減することができる。
表1 メモリアクセス比較結果
Figure 2011100213
(実施形態2)
本発明の第2の実施形態に係るキャッシュ装置について、図面を参照して説明する。図4は、本実施形態に係るキャッシュ装置の構成を示すブロック図である。本実施形態のキャッシュ装置は、実施形態1のキャッシュ装置(図1)から、ウェイ記憶回路43(次回アドレスウェイ記憶回路44と今回アドレスウェイ記憶回路45を含む)及びデータ読み出し制御回路46を除いたものであり、1ライン(ブロック)が4ワードである4ウェイ・セットアソシアティブ方式のキャッシュ装置である。なお、1ライン当りのワード数及びウェイ数は、これらの値に限られない。
図4を参照すると、本実施形態のキャッシュ装置は、データメモリ60、タグメモリ52、比較回路24、次回アドレス生成回路41、次回アドレス部47及びタグ読み出し制御回路42を有する。
データメモリ60は、メインメモリ10のデータの一部を保持する4つのウェイを含む。
タグメモリ52は、データメモリ60に保持されるデータのアドレス情報(タグ)ADD−TAGとアドレス情報ADD−TAGが有効か否かを示す有効データビットVBとを保持する4つのウェイを含む。
比較回路24は、アクセス対象アドレスに含まれるタグと、タグメモリ52から読み出したアドレス情報(タグ)とを比較する。
次回アドレス生成回路41は、今回アクセスするアドレスを保持する今回アドレス部40を参照して、次回アクセスするアドレスを計算する。次回アドレス部47は、次回アドレスを保持する。
タグ読み出し制御回路42は、次回アクセスするアドレスに含まれるインデックスに対応するタグを先読みし、ヒットした(すなわち、次回アクセスするアドレスに含まれるタグと先読みしたタグとが一致した)場合には以降のタグを読み出さない。
図5は、本実施形態に係るキャッシュ装置の動作を示すタイミングチャートである。本実施形態のキャッシュ装置は、1ラインが4ワードである4ウェイ・セットアソシアティブ方式のキャッシュ装置である。
本実施形態のキャッシュ装置においては、タグを順番に読み出して比較する場合に、全ウェイと比較する前にヒットしたときには、ヒットした以降のウェイのタグの読み出しを禁止する。このとき、特許文献1に記載されたキャッシュシステムのように、無条件に全ウェイのタグを読み出す場合と比較して、メモリアクセスの回数を減らすことができる。
本実施形態のキャッシュ装置によると、データメモリ60の構成に制限を与えずに、実施形態1よりも小さい回路規模で、タグメモリ52の読み出し回数を減らすことができる。その理由は次の通りである。すなわち、メモリの回路上の特長により、複数のウェイのデータメモリを単一のメモリとして構成する場合がある。例えば、4ウェイ・セットアソシアティブ方式のキャッシュ装置において、データメモリ60を4個のメモリではなく、2個又は1個のメモリで構成する場合がある。これらの場合には、データメモリの読み出し回数を減らすことはできないものの、タグメモリ52の読み出し回数を減らすことができる。
本実施形態のキャッシュメモリによると、簡単な構成に基づいて、タグメモリ52へのアクセス回数を削減することができる。タグを順番に読み出して比較する際に、全ウェイと比較する前にヒットした場合には、ヒットした以降のウェイのタグの読み出しを禁止することができるからである。
以上の記載は実施形態に基づいて行ったが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更を加えることができる。
10 メインメモリ(主記憶)
20 キャッシュコントローラ
21 アドレス
22 タグメモリ
23 ヒット判定部
24 比較回路
25 セレクタ
26 論理積
30 データメモリ
30A、30B 4ワードデータ
40 今回アドレス部
41 次回アドレス生成回路
42 タグ読み出し制御回路
43 ウェイ記憶回路
44 次回アドレスウェイ記憶回路
45 今回アドレスウェイ記憶回路
46 データ読み出し制御回路
47 次回アドレス部
48 タグ読み出し制御信号
49 1ウェイ読み出し制御回路
50 全ウェイ同時読み出し制御回路
51 有効ウェイ選択回路
52 タグメモリ
53 ヒット判定
60 データメモリ
ADD−TAG アドレス情報(タグ)
IA 内部アドレスバス
SEL セレクタ
VB 有効データビット

Claims (9)

  1. メインメモリのデータの一部を記憶する複数のウェイを含むデータメモリと、
    前記データメモリの各ウェイに記録されたデータのアドレスに含まれるタグをそれぞれ記憶する複数のウェイを含むタグメモリと、
    アクセス対象アドレスに含まれるタグと前記タグメモリに記録されたタグとが一致するか否かを判定する比較回路と、
    今回アクセスするアドレスである第1のアドレスを参照して次回アクセスするアドレスを第2のアドレスとして計算する次回アドレス生成部と、
    前記第2のアドレスのインデックスに対応するタグを前記タグメモリから先読みするとともに、前記第2のアドレスに含まれるタグと先読みしたタグとが一致した場合には、以降のタグを前記タグメモリから読み出さないようにするタグ読み出し制御回路とを備えていることを特徴とするセットアソシアティブ方式のキャッシュ装置。
  2. 前記タグ読み出し制御回路は、同一のタグで管理されるワードにアクセスしている間に、前記第2のアドレスのインデックスに対応するタグを前記タグメモリから先読みすることを特徴とする、請求項1に記載のキャッシュ装置。
  3. 前記次回アドレス生成部は、前記第1のアドレスと1ラインに含まれるワード数とに基づいて、前記第2のアドレスを計算することを特徴とする、請求項1又は2に記載のキャッシュ装置。
  4. 前記タグメモリに含まれる複数のウェイのうちの前記第2のアドレスに含まれるタグと一致するタグが記録されたウェイをウェイ情報として記憶するウェイ記憶回路をさらに備えていることを特徴とする、請求項1乃至3のいずれか1項に記載のキャッシュ装置。
  5. 前記ウェイ記憶回路は、前記ウェイ情報を記憶する次回アドレスウェイ記憶回路と、
    インデックスの値が変化した場合に、前記次回アドレスウェイ記憶回路に記録されたウェイ情報を記憶するようにし、該ウェイ情報を前記データメモリからデータを読み出す際の選択信号として出力する今回アドレスウェイ記憶回路とを備えていることを特徴とする、請求項4に記載のキャッシュ装置。
  6. 前記今回アドレス記憶回路に記録されたウェイ情報を参照して、前記データメモリのうちの一部のウェイのみからデータを読み出すデータ読み出し制御回路をさらに備えていること特徴とする、請求項5に記載のキャッシュ装置。
  7. 前記タグメモリに含まれる複数のウェイは、それぞれ自身が記録するタグが有効か否かを示す有効データビットを記憶することを特徴とする、請求項1乃至6のいずれか1項に記載のキャッシュ装置。
  8. 前記第1のアドレスを記憶する今回アドレス部をさらに備えていることを特徴とする、請求項1乃至7のいずれか1項に記載のキャッシュ装置。
  9. 前記第2のアドレスを記憶する次回アドレス部をさらに備えていることを特徴とする、請求項1乃至8のいずれか1項に記載のキャッシュ装置。
JP2009253289A 2009-11-04 2009-11-04 キャッシュ装置 Withdrawn JP2011100213A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009253289A JP2011100213A (ja) 2009-11-04 2009-11-04 キャッシュ装置
US12/917,926 US20110107034A1 (en) 2009-11-04 2010-11-02 Cache device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009253289A JP2011100213A (ja) 2009-11-04 2009-11-04 キャッシュ装置

Publications (1)

Publication Number Publication Date
JP2011100213A true JP2011100213A (ja) 2011-05-19

Family

ID=43926607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009253289A Withdrawn JP2011100213A (ja) 2009-11-04 2009-11-04 キャッシュ装置

Country Status (2)

Country Link
US (1) US20110107034A1 (ja)
JP (1) JP2011100213A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106227A (ja) * 2016-12-22 2018-07-05 ルネサスエレクトロニクス株式会社 キャッシュメモリ装置及び半導体装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175535A (ja) * 1999-12-16 2001-06-29 Matsushita Electric Ind Co Ltd 半導体記憶装置およびそれを用いたキャッシュメモリシステム
JP4073157B2 (ja) * 2000-08-21 2008-04-09 富士通株式会社 タグメモリのアクセス回数を制限したキャッシュシステム
US6643739B2 (en) * 2001-03-13 2003-11-04 Koninklijke Philips Electronics N.V. Cache way prediction based on instruction base register
JP2002318723A (ja) * 2001-04-19 2002-10-31 Nec Microsystems Ltd キャッシュ制御装置
US7406569B2 (en) * 2002-08-12 2008-07-29 Nxp B.V. Instruction cache way prediction for jump targets
US7461211B2 (en) * 2004-08-17 2008-12-02 Nvidia Corporation System, apparatus and method for generating nonsequential predictions to access a memory
US7457917B2 (en) * 2004-12-29 2008-11-25 Intel Corporation Reducing power consumption in a sequential cache
US7761665B2 (en) * 2005-05-23 2010-07-20 Arm Limited Handling of cache accesses in a data processing apparatus
CN101194236A (zh) * 2005-06-09 2008-06-04 Nxp股份有限公司 多端口高速缓冲存储器结构
JP5142868B2 (ja) * 2008-07-17 2013-02-13 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
JP2011257800A (ja) * 2010-06-04 2011-12-22 Panasonic Corp キャッシュメモリ装置、プログラム変換装置、キャッシュメモリ制御方法及びプログラム変換方法

Also Published As

Publication number Publication date
US20110107034A1 (en) 2011-05-05

Similar Documents

Publication Publication Date Title
TWI545435B (zh) 於階層式快取處理器中之協調預取
US7461208B1 (en) Circuitry and method for accessing an associative cache with parallel determination of data and data availability
TW561338B (en) Fast and accurate cache way selection
US9396117B2 (en) Instruction cache power reduction
US7680985B2 (en) Method and apparatus for accessing a split cache directory
TWI382426B (zh) 預測快取記憶體之存取位置的方法及系統
WO2007068122A1 (en) System and method for cache management
JP2010191638A (ja) キャッシュ装置
US11301250B2 (en) Data prefetching auxiliary circuit, data prefetching method, and microprocessor
WO2010004497A1 (en) Cache management systems and methods
US20090006812A1 (en) Method and Apparatus for Accessing a Cache With an Effective Address
US20080140934A1 (en) Store-Through L2 Cache Mode
US8977821B2 (en) Parallel processing of multiple block coherence operations
JP2017021399A (ja) 半導体装置及びキャッシュメモリ制御方法
US20110099336A1 (en) Cache memory control circuit and cache memory control method
JP2008529181A5 (ja)
JP2016042370A (ja) レベル2メモリの一部分とレベル1メモリとにアクセスするシステムおよび方法
US20160217079A1 (en) High-Performance Instruction Cache System and Method
US7461211B2 (en) System, apparatus and method for generating nonsequential predictions to access a memory
US8019968B2 (en) 3-dimensional L2/L3 cache array to hide translation (TLB) delays
CN109669881B (zh) 一种基于Cache空间预约算法的计算方法
US8332568B2 (en) Memory access determination circuit, memory access determination method and electronic device
JP2011100213A (ja) キャッシュ装置
US20100011170A1 (en) Cache memory device
JP2013041414A (ja) 記憶制御システムおよび方法、置換方式および方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130108