JP4635063B2 - キャッシュメモリ制御回路及びプロセッサ - Google Patents

キャッシュメモリ制御回路及びプロセッサ Download PDF

Info

Publication number
JP4635063B2
JP4635063B2 JP2008061487A JP2008061487A JP4635063B2 JP 4635063 B2 JP4635063 B2 JP 4635063B2 JP 2008061487 A JP2008061487 A JP 2008061487A JP 2008061487 A JP2008061487 A JP 2008061487A JP 4635063 B2 JP4635063 B2 JP 4635063B2
Authority
JP
Japan
Prior art keywords
cache memory
cpu
way
ways
cache
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
JP2008061487A
Other languages
English (en)
Other versions
JP2009217616A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008061487A priority Critical patent/JP4635063B2/ja
Priority to US12/400,308 priority patent/US8065486B2/en
Publication of JP2009217616A publication Critical patent/JP2009217616A/ja
Application granted granted Critical
Publication of JP4635063B2 publication Critical patent/JP4635063B2/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • 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

Description

本発明は、キャッシュメモリ制御回路及びプロセッサに関し、特に、複数のウェイを有するキャッシュメモリのキャッシュメモリ制御回路及びプロセッサに関する。
従来より、プロセッサにおいて、主メモリからのデータの高速読み出しのために、キャッシュメモリが広く用いられている。キャッシュメモリは、中央処理装置(以下、CPUという)と主メモリの間に設けられる。
キャッシュメモリには、同じエントリアドレスを有する複数のウェイを有するものがある。そのようなキャッシュメモリでは、CPUからのアドレスデータ中のエントリアドレスに基づいて、アドレスデコーダが、全てのウェイについて、フレームアドレス比較すなわちタグ比較を同時に行い、キャッシュメモリから読み出されたデータのうち、ワードアドレスで示されるワードをCPUへ出力する。
近年、プロセッサの省電力化のために、2つのアクセスモードを持つキャッシュメモリが提案されている(例えば、特許文献1参照)。その提案によれば、通常アクセスモードでは、全てのウェイに対してタグ比較を行い、唯一アクセスモードでは、選択されたウェイに対してのみ、タグ比較を行う。その結果、唯一アクセスモードでは、必要最小限のメモリ領域だけが動作することになるので、結果的に消費電力が削減される。
ところが、上記提案における唯一アクセスモードでは、使用されるキャッシュメモリ領域が限定されるため、同じソフトウェアを動作させても、通常アクセスモードに比べてキャッシュミスの頻度が上がる場合がある。そのような場合は、キャッシュリフィル動作が多く発生してしまうため、低消費電力化が十分に行われないことになる。
特開2002-236616号公報
そこで、本発明は、上述した問題に鑑み成されたものであり、通常アクセスモードと同等のキャッシュヒット性能を持ちつつ、可能な限りの低消費電力で動作するアクセスモードでキャッシュメモリを動作させることができるキャッシュメモリ制御回路及びプロセッサを提供することを目的とする。
本発明の一態様によれば、複数のウェイを有するキャッシュメモリの各ウェイをあるいは所定の2以上のウェイを、所定の順番で選択し、かつ前記キャッシュメモリに接続されたCPUの動作周波数に応じて設定された分割数で、1CPUサイクルを分割して、その分割された各期間内において、前記各ウェイあるいは前記所定の2以上のウェイの選択を行う選択部と、前記選択部により選択されたウェイにおけるキャッシュヒットを検出するキャッシュヒット検出部と、前記キャッシュヒット検出部が前記キャッシュヒットを検出すると、前記選択部における前記各ウェイあるいは前記所定の2以上のウェイの選択を停止させる制御部と、を有するキャッシュメモリ制御回路を提供することができる。
本発明によれば、通常アクセスモードと同等のキャッシュヒット性能を持ちつつ、可能な限りの低消費電力で動作するアクセスモードでキャッシュメモリを動作させることができるキャッシュメモリ制御回路及びプロセッサを実現することができる。
以下、図面を参照して本発明の実施の形態を説明する。
(第1の実施の形態)
(構成)
まず図1に基づき、本実施の形態に係わるキャッシュメモリを含むプロセッサの構成を説明する。図1は、本実施の形態に係わるプロセッサの構成を示す構成図である。
図1において、プロセッサ1は、CPU11と、主メモリ12と、システムバス13とを含んで構成されている。CPU11は、CPUコア15と、キャッシュメモリ16と、周波数設定レジスタ17を含む。
CPU11は、主メモリ12に記憶された命令あるいはデータを、キャッシュメモリ制御回路を含むキャッシュメモリ16と、システムバス13を介して読み出して実行する。CPUコア15は、プログラムの実行に必要な命令あるいはデータ(以下、単にデータともいう)を、キャッシュメモリ16から読み出してそのプログラムを実行する。CPUコア15は、主メモリ12の実アドレスデータRAを、キャッシュメモリ16に出力し、キャッシュメモリ16は、キャッシュメモリ16中に入力された実アドレスデータRAのデータが存在すれば、そのデータDをCPUコア15へ出力する。キャッシュメモリ16中にストアされたデータが無ければ、リフィル処理により主メモリ12からそのデータを読み出してキャッシュメモリ16に書き込み、CPUコア15に出力する。
なお、ここでは、説明を簡単にするためにメモリ管理ユニット(MMU)を有しない例を用いて説明するが、メモリ管理ユニット(MMU)を有する場合は、CPUコア15は、実アドレスではなく、仮想アドレスを出力する。
また、CPUコア15は、キャッシュメモリ16に対して、キャッシュメモリ16を動作させるための信号として、チップイネーブル信号CEをキャッシュメモリ16に対して出力する。従って、CPUコア15は、キャッシュメモリ16を使用する時に、チップイネーブル信号CEを出力する。
さらに、動作周波数設定部としての周波数設定レジスタ17には、CPU11の動作周波数の値が設定される。CPU11の動作周波数の設定は、例えば、ユーザにより外部から与えられることにより行われる。周波数設定レジスタ17に設定された動作周波数データFは、CPUコア15に入力され、CPUコア15は、その動作周波数データFをキャッシュメモリ16に出力する。本実施の形態では、CPUコア15は、100MHZ、200MHz、400MHzのいずれかが設定可能に構成されている。
また、キャッシュメモリ16の動作周波数は、CPUコア15の動作周波数F以上の動作周波数で動作する。ここでは、キャッシュメモリ16の動作周波数は、400MHzであるとする。
CPUコア15は、例えば、32ビット幅の実アドレスデータRAをキャッシュメモリ16に出力し、キャッシュメモリ16は、32ビットのワードデータDをCPUコア15に出力する。
また、キャッシュメモリ16は、データを格納する小容量メモリ(図示せず)に加えて、制御回路としてのキャッシュアクセスコントローラ16aを含む。キャッシュアクセスコントローラ16aの構成については後述する。
図2は、CPUコア15から出力される実アドレスデータの構成例を示す図である。ここでは、実アドレスデータRAは、32ビットであり、上位ビット側の20ビットのフレームアドレスFAと、8ビットのエントリアドレスEAと、下位ビット側の4ビットのワードアドレスWAからなる。
図3は、キャッシュメモリ16の構成例を説明するための図である。
キャッシュメモリ16は、データを記憶する小容量記憶部31を有する。さらに、キャッシュメモリ16は、アドレスデコーダ32と、比較部33と、ワードセレクタ部34と、ウェイセレクタ部35と、キャッシュアクセスコントローラ16aとを含むキャッシュメモリ制御回路を有している。キャッシュアクセスコントローラ16aは、制御部41と、選択部42と、分割数指定部43とを含む。小容量記憶部31は、N個(Nは2以上の整数)のウェイ、ここでは4つのウェイ、からなるメモリであり、キャッシュメモリ16は、4ウェイセットアソシアティブ方式のキャッシュメモリである。比較部33とワードセレクタ部34は、それぞれ、各ウェイにおいて選択されたラインLs(ここでは4つのライン)に対応して、複数の比較器(ここでは4つの比較器)と複数のワードセレクタ(ここでは4つのワードセレクタ)を有している。
ここでは、各ウェイが256ブロック、すなわち256ラインを有し、各ラインは、8ビットのエントリアドレスEAによって指定される。
各ラインは、16個のワードデータを含むデータ部と、フレームアドレスデータを含むタグ部を有する。16個のワードデータのうちどのワードデータを読み出すかは、入力された実アドレスRA中の、4ビットのワードアドレスWAによって指定される。
キャッシュメモリ16には、実アドレスデータRA、チップイネーブル信号CE、動作周波数データFが入力され、キャッシュメモリ16は、データDをCPUコア15に出力する。
キャッシュアクセスコントローラ16aの制御部41は、後述する比較部33からの比較結果信号である一致信号c0からc3が入力される回路である。一致信号c0からc3は、キャッシュヒットを示す信号である。選択部42は、制御部41から制御信号CSと、チップイネーブル信号CEとが入力される回路である。選択部42は、各ウェイに対するウェイイネーブル信号WEを出力する。選択部42は、後述するように、4つのウェイ全てを同時に有効にする、あるいは各ウェイを所定の順番で時間的に重ならないように有効にする、さらにあるいは複数の(ここでは2つの)ウェイを所定の順番で時間的に重ならないように有効にするように、各ウェイを選択する。各ウェイに対するウェイイネーブル信号WEは、各ウェイを有効にする、すなわち動作させるための信号である。
分割数指定部43は、動作周波数データFが入力される回路である。分割数指定部43は、入力された動作周波数データFに対応する分割数データを、選択部42に出力する。
CPUコア15の動作周波数Fは可変であり、上述したように、400MHz、200MHzあるいは100MHzのいずれかで動作可能である。その動作周波数Fは、上述したようにユーザにより設定可能である。その指定された動作周波数のデータが分割数指定部43に入力される。
キャッシュメモリ16に入力された実アドレスデータRAのエントリアドレスEAは、アドレスデコーダ32に供給される。アドレスデコーダ32は、エントリアドレスEAに対応するラインを、小容量記憶部31の4つのウェイ#0から#3のそれぞれから選択する。エントリアドレスEAは8ビットであるので、各ウェイにおいて必ず1つのラインが選択される。
また、実アドレスデータRAのワードアドレスWAは、ワードセレクタ部34に供給される。ワードセレクタ部34の4つのワードセレクタは、それぞれ、ワードアドレスWAに対応するワードデータを、小容量記憶部31の選択された4つのラインLsのそれぞれから選択する。ワードアドレスWAは、4ビットであるので、各ラインLsにおいて必ず1つのワードデータが選択される。各ワードセレクタで選択されたワードデータは、ウェイセレクタ部35に出力される。
さらに、実アドレスデータRAのフレームアドレスFAは、比較部33の4つの比較器のそれぞれの一方の入力に供給される。比較部33の4つの比較器には、それぞれ、選択された4つのラインLsの4つのタグ部の4つのフレームアドレスデータが入力される。比較部33の4つの比較器は、それぞれ、入力されたフレームアドレスFAと入力されたタグ部のフレームアドレスデータとを比較し、比較結果信号Cを出力する。比較部33は、入力されたフレームアドレスFAと一致したタグ部のフレームアドレスデータがある場合は、キャッシュヒットを検出したことを示す一致信号c0からc3のいずれかを出力する。比較部33は、各ウェイにおけるキャッシュヒットを検出するキャッシュヒット検出部を構成する。
キャッシュヒットの検出を示す一致信号c0からc3は、それぞれ4つのウェイ#0から#3に対応し、フレームアドレスFAとタグ部のフレームアドレスデータとが一致したことを示す信号である。
従って、入力されたフレームアドレスFAと入力されたタグ部のフレームアドレスデータとが一致しなければ、一致信号c0からc3のいずれも出力されない。入力されたフレームアドレスFAと入力されたタグ部のフレームアドレスデータとが一致したものがあれば、フレームアドレスFAとタグ部のフレームアドレスデータが一致した1つのウェイに対応する1つの一致信号が出力される。
一致信号c0からc3は、ウェイセレクタ部35に入力される。ウェイセレクタ部35は、ワードセレクタ部34から入力されたワードデータのうち、一致信号に対応するウェイのラインのワードデータ(D)を出力する回路である。
また、選択部42は、チップイネーブル信号CEが入力されると所定の順番で、ウェイを1つずつあるいは2つずつ選択して有効にするウェイイネーブル信号WEを出力する。なお、選択部42は、チップイネーブル信号CEが入力されると、全てのウェイを同時に選択して有効にするウェイイネーブル信号WEを出力する場合もある。
制御部41は、一致信号が入力されると、選択部42に制御信号CSを出力し、ウェイイネーブル信号WEの出力を停止させる。従って、制御信号CSは、キャッシュヒットを検出すると、選択部42によるウェイの選択を途中で停止させる停止指示信号である。
分割数指定部43は、図4に示すような分割数テーブルDTを含み、分割数テーブルDTを参照して、入力された動作周波数データFに対応する分割数データを出力する。
図4は、分割数テーブルDTの例を示す図である。図4に示すように、分割数テーブルDTは、各動作周波数、ここでは400MHz、200MHz及び100MHzのそれぞれについて、1以上の分割数が設定され記憶されたテーブルである。さらに、分割数テーブルDTにおいて、分割数データは、動作周波数毎に優先度データと共に、設定されている。
図4に示すように、CPUコア15の動作周波数Fが100MHzの場合、3つの優先度1,2,3に対応して、3つの分割数4,2,1が設定され、CPUコア15の動作周波数Fが200MHzの場合、2つの優先度1,2に対応して、2つの分割数2,1が設定され、CPUコア15の動作周波数Fが400MHzの場合、1つの優先度1に対応して、1つの分割数1が設定されている。
本実施の形態では、CPUコア15の動作周波数Fが指定されると、分割数指定部43は、通常は、最高優先度、ここでは1,に対応する分割数のデータを選択して、選択部42に出力する。例えば、CPUコア15の動作周波数Fが100MHzの場合、分割数指定部43は、最高優先度1に対応する分割数4を示す分割数データを選択部42に出力する。
なお、分割数は、ユーザが選択できるようにしてもよい。すなわち、CPUコア15の動作周波数Fに対して、ユーザが、最高優先度以外の優先度に対応する分割数を指定して選択するようにしてもよい。例えば、CPUコア15の動作周波数Fが100MHzの場合、分割数指定部43に対して優先度2に対応する分割数2を示す分割数データを選択部42に出力するように、ユーザは、分割数指定部43に設定するようにしてもよい。
以上のように、分割指定部43は、設定されたCPUコア15の動作周波数Fに対応した分割数を指定するデータを選択部42に出力する。
そして、選択部42は、指定された分割数で、1CPUサイクルを分割して、分割された各期間内において、各ウェイあるいは複数のウェイを選択するウェイイネーブル信号WEを各ウェイに出力する。
(動作)
次に、上述したプロセッサ1のキャッシュメモリ16の動作を説明する。
図5は、プロセッサ1の動作を説明するためのタイミングチャートである。キャッシュメモリ16は、上述したように400MHzで動作する。以下、CPUコア15の動作周波数Fが、100MHzで設定された場合で説明する。
ユーザがCPUコア15の動作周波数Fを100MHzに設定すると、その設定された動作周波数データFは、周波数設定レジスタ17にストアされ、CPUコア15を介して分割数指定部43に出力される。分割数指定部43は、分割テーブルDTを参照して、最高優先度に対応する分割数データを選択部42に出力する。選択部42は、入力された分割数で1CPUサイクルを分割するように、各ウェイに対して、ウェイイネーブル信号WEを出力する。
従って、CPUコア15の動作周波数Fが100MHzに設定されると、最高優先度1に対応する4分割で、各ウェイが選択される。
また、CPUコア15の動作周波数Fが200MHzに設定されると、最高優先度1に対応する2分割で、各ウェイが選択される。さらに、CPUコア15の動作周波数Fが400MHzに設定されると、最高優先度1に対応する1分割(すなわち分割せず)で、各ウェイが選択、すなわち全ウェイが同時に選択される。
このように、キャッシュメモリ16に接続されたCPUコア15の動作周波数に応じて、1CPUサイクルが分割されるので、選択部42により1回の選択で選択されるウェイの数が変更される。
図5を用いて具体的に説明すれば、CPUコア15の動作周波数Fが100MHzに設定されると、プロセッサ1のシステムクロックCLKが400MHzであり、CPUコア15が、100MHzで動作する。キャッシュメモリ16は、400MHzで動作しているので、CPUコア15とキャッシュメモリ16との周波数比は、1:4である。
分割数指定部43には、100MHzの動作周波数データFが入力されるので、分割テーブルDTを参照して、最高優先度1に対応する分割数4の分割数データを選択部42に出力する。
その結果、選択部42は、チップイネーブル信号CEを受信すると、ウェイイネーブル信号WE[0],WE[1],WE[2],WE[3]を一つずつ順番に出力するように動作を開始する。すなわち、キャッシュメモリ16は、1CPUサイクルの間に、入力された実アドレスデータRAのフレームアドレスFAと各ウェイのタグ部のフレームアドレスとの比較を順番に実行しようとする。ここでは、ウェイ#0から#3の順でその比較が行われる。
まず、ウェイ#0に対応するウェイイネーブル信号WE[0]をHIGHにし、ウェイ#0から読み出されたタグ部のフレームアドレスが、入力されたフレームアドレスFAと一致しているかを比較する。一致していれば、比較結果信号Cにおいて、一致信号c0がHIGHとなり、キャッシュヒットとなる。
図5では、ウェイ#0から#3に対するウェイイネーブル信号WEとして、「0001」を示す「1」が出力されている。そして、4つの一致信号c0からc3の比較結果信号Cとして、「0001」を示す「1」が出力されている。比較結果信号Cの「0001」において、キャッシュヒット[0]信号が「1」で示されている。
図5の例では、ウェイ#0に格納されていたタグ部のフレームアドレスと、入力されたフレームアドレスFAとを比較したときに、一致、すなわちヒットしたので、その一致後は、CPUコア15へのデータは、有効(Valid)となる。そのため、CPUコア15は、次のCPUサイクルの立ち上がりのタイミングで、ウェイセレクタ35の出力を取り込むことにより、ウェイ#0にキャッシュされていたデータを得る。
また、比較結果信号Cは、制御部41に入力されているので、制御部41は、キャッシュヒットを検出することができる。制御部41は、キャッシュヒットを検出すると、選択部42に対して、ウェイイネーブル信号WEの出力を停止させるための制御信号CSを出力する。選択部42は、その制御信号CSを受信すると、それ以降、ウェイイネーブル信号WEの出力を停止する。よって、選択部42は、その制御信号CSを受信すると、それ以降のウェイイネーブル信号WEの出力を停止するので、無駄なタグデータ読み出しが抑制される。
すなわち、ウェイイネーブル信号WE[0]がHIGHとなることにより、ウェイ#0は動作したが、その後は、ウェイイネーブル信号WE[1]からWE[3]がHIGHとならず、ウェイ#1から#3は動作しない。よって、キャッシュアクセスに関わる消費電力が抑えられる。
なお、キャッシュメモリ16は、ウェイ#0から読み出されたタグ部のフレームアドレスが、入力されたフレームアドレスFAと一致していなければ、ミスアクセスとなり、次にウェイ#1に対応するウェイイネーブル信号WE[1]をHIGHにし、ウェイ#1から読み出されたタグ部のフレームアドレスが、入力されたフレームアドレスFAと一致しているかを比較する。
一致していれば、比較結果信号Cにおいて、一致信号c1がHIGHとなり、キャッシュヒットとなる。一致していなければ、ミスアクセスとなり、次にウェイ#2に対応するウェイイネーブル信号WE[1]をHIGHにし、ウェイ#2から読み出されたタグ部のフレームアドレスが、入力されたフレームアドレスFAと一致しているかを比較する。以下、同様に、ウェイ#3までキャッシュヒットしているかがチェックされる。
図6は、ウェイ#3でキャッシュヒットした場合のタイミングチャートである。選択部42は、ウェイイネーブル信号WE[0]から[3]を順番に出力することによって、ウェイ#0から#3を順番に各分割期間において選択して、ウェイ#3で初めてキャッシュヒットしている。図6では、ウェイイネーブル信号WEとして、「0001」、「0010」、「0100」及び「1000」をそれぞれ示す「1」、「2」、「4」及び「8」が、順番に出力されている。
そして、比較結果信号Cにおいて、一致信号c3がHIGHとなり、キャッシュヒットとなる。図6では、キャッシュヒット[3]信号として、「1000」を示す「8」が、1CPUサイクルの最後の分割期間において出力されている。
従って、キャッシュヒットがウェイイネーブル信号WE[1]又はWE[2]のタイミングで発生すれば、キャッシュヒット以降は、選択部42は、ウェイイネーブル信号WEを出力せず、その後は、ウェイイネーブル信号WEがHIGHとならず、キャッシュアクセスに関わる消費電力が抑えられる。
以上のように、キャッシュメモリ16は、1CPUサイクル中に、4つのウェイに対するタグ比較を4回所定の順番で、ここでは、ウェイ#0から#3の順に、実行しようとする。しかし、4回のうち、途中でキャッシュヒットすると、それ以降のウェイイネーブル信号WEは出力されない。よって、それ以降のウェイ動作に関わる消費電力が抑えられる。
また、以上の例は、CPUコア15の動作周波数Fが100MHzで、優先度1の分割数4が設定され、キャッシュメモリ16は、各ウェイを順番に有効にする順次アクセスモードで動作する場合である。
しかし、CPUコア15の動作周波数Fが400MHzに設定された場合、1CPUサイクルを分割できず、キャッシュメモリ16は、1CPUサイクル中に、4つのウェイに対してウェイイネーブル信号WE[0]から[3]を同時に出力し、4つのウェイを同時に有効にする通常アクセスモードで動作する。
また、キャッシュメモリ16は、順次アクセスモードと通常アクセスモードとは、異なる中間モードで、動作可能である。
具体的には、図4の場合、CPUコア15の動作周波数Fが100MHzで、優先度2に対応する分割数2をユーザが指定した場合、あるいは、CPUコア15の動作周波数Fを200MHzに設定し、優先度1の分割数2が指定された場合、キャッシュメモリ16は、中間モードで動作する。
このような場合は、選択部42は、1CPUサイクルの前半にウェイイネーブル信号WE[0]と[1]を同時に出力し、1CPUサイクルの後半にウェイイネーブル信号WE[2]と[3]を同時に出力する。
図7は、通常アクセスモード、順次アクセスモード及び中間モードの3つのアクセスモードにおける消費電力の状態を概念的に説明するための図である。
通常アクセスモードNMでは、図7に示すように、4つのウェイが同時に有効にされるので、従来に比べて消費電力の低減はない。
通常アクセスモードNMは、分割テーブルDTにおいて、分割数が1の場合である。上述した例であれば、CPUコア15が100MHzで動作し、優先度3に対応する分割数1が指定されている場合と、CPUコア15が200MHzで動作し、優先度2に対応する分割数1が指定されている場合と、CPUコア15が400MHzで動作し、優先度1に対応する分割数1が指定されている場合である。
順次アクセスモードSMでは、図7に示すように、一つずつウェイが所定の順番で有効にされるので、消費電力は、通常アクセスモードよりも低減可能である。
本実施の形態では、ウェイは4つあるので、順次アクセスモードSMは、分割テーブルDTにおいて、分割数が4の場合である。上述した例であれば、CPUコア15が100MHzで動作し、優先度1に対応する分割数4が指定されている場合である。
順次アクセスモードSMでは、上述したように、順番に各ウェイを有効にしていくため、途中でキャッシュヒットする場合もあるので、消費電力は通常アクセスモードより低減可能である。上述した図5の場合が消費電力の低減効果が大きいベストの場合であり、その場合タグ比較は1回しか行われず、消費電力は、通常アクセスモードよりも4分の1に低減している。
上述した図6の場合は消費電力の低減効果が大きくないワーストの場合であり、その場合、タグ比較は4回実行されているが、1CPUサイクル中に4回の比較が実行されるので、100MHZで動作するCPUコア15から見たときの、アクセスレイテンシは増加していない。
また、図7において中間モードIMでは、図7に示すように、2分割の前半でキャッシュヒットすれば、消費電力は、通常アクセスモードよりも2分の1に低減可能である。
本実施の形態では、ウェイは4つあるので、中間モードIMは、分割テーブルDTにおいて、分割数が2の場合である。上述した例であれば、CPUコア15が100MHzで動作し、優先度2に対応する分割数2が指定されている場合と、CPUコア15が200MHzで動作し、優先度1に対応する分割数2が指定されている場合である。
中間モードIMの場合、順番に2つずつウェイを有効にしていくため、途中でキャッシュヒットする場合もあるので、消費電力は、通常アクセスモードNMより低減可能である。さらに、中間モードIMの場合、タグ比較は2回実行されるが、1CPUサイクル中に2回の比較が実行されるので、CPUコア15から見たときの、アクセスレイテンシは増加していない。
以上のように、上述した実施の形態に係るキャッシュメモリでは、選択部42は、複数のウェイに対する複数のウェイイネーブル信号WEを、1つずつあるいは複数ずつ、所定の順番で、1CPUサイクル中に出力する。そして、途中でキャッシュヒットした場合、ウェイイネーブル信号WEの出力が停止される。その結果、アクセスレイテンシを増加させることなく、キャッシュメモリは、可能な限り低消費電力で動作する。
以上のように、本実施の形態のキャッシュメモリ装置は、通常アクセスモードと同等のキャッシュヒット性能を持ちつつ、可能な限りの低消費電力で動作することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態を説明する。
(構成)
第1の実施の形態では、キャッシュメモリ16は、設定あるいは指定された分割数で、1CPUサイクルを分割して、その分割された期間内で一つあるいは複数のタグ比較を行っていた。しかし、指定された分割数で分割してタグ比較を行った場合に、キャッシュメモリの方が高い周波数で動作するため、キャッシュメモリにおいてタイミング違反が発生する虞がある。
そこで、第2の実施の形態では、実際にタイミング違反が発生する前に、タイミング違反の発生しそうな状態を検出し、タイミング違反が発生しそうな場合には、分割数を変更するようにした。
図8は、本実施の形態に係わるプロセッサ1Aの構成の例を示す構成図である。図1と同じ構成要素については、同じ符号を付し、説明は省略する。プロセッサ1Aはタイミング違反検出部51を有する点が、図1のプロセッサ1と異なる。タイミング違反検出部51の構成については後述する。
図9は、第2の実施の形態に係る、キャッシュメモリ16Aの構成例を説明するための図である。図9において、図3と同じ構成要素については、同じ符号を付し、説明は省略する。
図9に示すように、タイミング検出部51は、2つのタイミング違反検出回路51A,51Bを有する。タイミング違反検出回路51A、51Bのそれぞれの出力信号VOA、VOBは、選択部42に入力されている。タイミング違反検出回路51A、51Bは、それぞれ400MHz用と200MHz用のタイミング違反検出用の回路である。より正確には、タイミング違反検出回路51A、51Bは、それぞれ400MHz用と200MHz用のタイミング違反が発生しそうな状態を検出するための回路である。タイミング違反検出回路51A、51Bは、それぞれ、キャッシュメモリ16Aのクリティカルパスにおいて、動作条件が厳しくない場合、論理値「0」(LOW)を出力し、動作条件が厳しい状態、すなわちタイミング違反が発生しそうな状態になると、論理値「1」(HIGH)を出力する回路である。クリティカルパスは、CPU11のチップ内で最も動作が遅い論理パスである。
図10は、タイミング違反検出回路51Aの構成の例を示すブロック図である。なお、タイミング違反検出回路51Aと51Bの構成は同じなので、タイミング違反検出回路51Aについて図10を用いて説明する。
図10に示すように、タイミング違反検出回路51Aは、3個のフリップフロップ(以下、FFと略す)61a,61b及び61cと、複数のインバータ回路62aと、複数のインバータ回路62bと、1つのインバータ回路62cと、排他的論理和(以下、EXORと略す)回路63とを有して構成されている。この複数のインバータ回路62aにより第1の遅延部が構成され、複数のインバータ回路62bにより第2の遅延部が構成される。
FF61aの出力は、直列に接続された複数のインバータ回路62aに入力される。複数のインバータ回路62aの出力は、直列に接続された複数のインバータ回路62bに入力される。また、FF61aとFF61cとの間に含まれる複数のインバータ回路は、偶数個のインバータ回路により構成する。
タイミング違反検出回路51Aには、キャッシュメモリ16Aにおけるクリティカルパスの400MHzのクロック信号CLKが供給される。各FF61a〜61cは、クロック信号CLKの立ち上がりエッジにおいて動作する。なお、各FF61a〜61cは、各クロック信号CLKの立ち下がりエッジにおいて動作するようにしてもよい。
さらになお、タイミング違反検出回路51Bには、キャッシュメモリ16Aにおけるクリティカルパスに関わるタイミングの200MHzのクロック信号CLKが供給される。
クリティカルパスは、例えば、データの読み出しのパスであり、具体的には、アドレスデコーダ32においてエントリアドレスEAをデコードしてからフレームアドレスを比較するウェイセレクタ部35の選択までのパスである。第1の遅延部である複数のインバータ回路62aは、入力された信号をそのパスの遅延量T1だけ遅延させる。また、第2の遅延部である複数のインバータ回路62bは、さらに、所定の付加的な遅延量αだけ、入力された信号を遅延させる。
FF61aは、クロック信号CLKの立ち上がりエッジのタイミングにおいて、複数のインバータ回路62aの内、初段のインバータ回路62aの出力を取り込み、初段のインバータ回路62a及びEXOR回路63に出力信号を供給する。初段のインバータ回路62aは、FF61aからの出力を反転し、FF61a及び次段のインバータ回路62aに出力する。即ち、FF61aでは、クロック信号CLKの立ち上がりエッジのタイミングにおいて、初段のインバータ回路62aにより反転された信号が取り込まれる。
初段のインバータ回路62aに供給された信号は、インバータチェーンである複数のインバータ回路62a及び62bを伝播し、FF61bに供給される。即ち、FF61aの出力は、FF61aとFF61bとの間に含まれるインバータ回路の段数分だけ遅延されFF61bに供給される。このインバータ回路62aと62bの数は、第1と第2の遅延部の遅延量に相当する所定の遅延量(T1+α)が得られるように設定されている。温度条件などが変わり、クリティカルパスの遅延量が変化すると、複数のインバータ回路62a、62bによる遅延量も同様に変化する。
FF61bは、クロック信号CLKの立ち上がりエッジにおいて、最終段のインバータ回路62bの出力を取り込み、EXOR回路63に出力する。
EXOR回路63は、FF61aとFF61bから入力された値の排他的論理和演算を施し、その演算結果をFF61cに出力する。
FF61cは、クロック信号CLKの立ち上がりエッジにおいて、入力された排他的論理和演算結果を取り込み、インバータ回路62cに出力する。
インバータ回路62cは、FF61cからの入力を反転し、出力信号VOAとして、選択部42Aに出力する。
クリティカルパスにおいて、入力された信号が、クロック信号CLKの1サイクル(すなわち1クロック分の時間)以上遅延すると、タイミング違反が発生してしまうので、タイミング違反が発生する前に、タイミング違反検出回路51は、タイミング違反の発生しそうな状態を検出するように構成されている。
FF61a、61bの2つの出力は、EXOR回路63に入力される。図10に示すタイミング違反検出回路51では、EXOR回路63の出力は、2つの入力(すなわちFF61aと61bの2つの出力)が、1サイクル以内の時間差を有しているうちは、HIGHであるが、1サイクル以上の時間差があると、LOWとなる。
クリティカルパスの回路に相当する第1の遅延部における遅延量が温度変化等の原因で増加し、その遅延量がクロック信号CLKの1サイクル以上になる前の状態、すなわちタイミング違反が発生しそうな状態に、出力信号VOAは、HIGHとなる。これは、クリティカルパスの遅延量T1に所定の遅延量αを予め付加しておき、その遅延量(T1+α)が温度変化等によってクロック信号CLKの1サイクル分以上になるのを、EXOR回路63の出力が変化することにより検知しているからである。
なお、タイミング違反は、CPU11の電源電圧の低下によって発生する場合がある。例えば、CPU11の省電力制御によって、大きな計算能力が不要なときに消費電力を抑えるために、CPU11の動作周波数を下げることに加えて、電源電圧を通常時の電圧よりも下げるような制御が行われたときに、タイミング違反が発生する場合がある。
以上のような構成と同様のタイミング違反検出回路51Bが、キャッシュメモリ16Aの動作周波数が200MHzの場合に対応するタイミング違反検出回路として2つ設けられている。
2つのタイミング違反検出回路51A,51Bは、CPU11のチップ上で常に動作している。
また、選択部42Aは、チップイネーブル信号CEと分割数データに基づいて4つのウェイを所定の順番で有効にすると共に、タイミング違反検出回路51A、51Bがタイミング違反の発生しそうな状態を検出すると、1CPUサイクルの分割数を、動作中の現在の分割数よりも少ない分割数に変更するように、4つのウェイへのウェイイネーブル信号WEの出力を変更する。
(動作)
次に、上述した構成に係るキャッシュメモリの動作について説明する。第1の実施の形態と同じ動作をする同じ構成要素については、説明は省略し、第1の実施の形態と異なる動作について説明する。
2つのタイミング違反検出回路51A,51Bは、タイミング違反が発生しそうな状態を検出すると、それぞれ、その状態を示す出力信号VOA,VOBをキャッシュメモリ16Aのキャッシュアクセスコントローラ16aに出力する。キャッシュアクセスコントローラ16aは、2つのタイミング違反検出回路51A、51Bの出力信号VOA,VOBを受けて、上述したモードを変化させる。
例えば、CPUコア15が100MHzで、キャッシュメモリ16Aが400MHzで動作しており、最高優先度1の分割数4で、キャッシュメモリ16Aが、図7に示す順次アクセスモードSMで動作しているとする。その時の動作は、図5及び図6のような動作である。そして、このような順次アクセスモードSMで動作中に、図示しない省電力制御により、CPU11の電源電圧が下がり、400MHz用のタイミング違反検出回路51Aでタイミング違反が発生しそうな状態が検出されたとする。そのとき、タイミング違反検出回路51Aの出力信号VOAがHIGH、すなわち「1」となる。
選択部42Aは、タイミング違反検出回路51Aからの出力信号VOAが「1」になると、分割数の優先度を下げる。具体的には、図4において点線の矢印A1で示すように、分割テーブルDT中に設定された複数の分割数の中から、優先度を1から2に下げて、分割数を現在の分割数4よりも少ない分割数2に変更する。
分割数が2になると、キャッシュメモリ16Aは、図7の中間モードIMで動作、すなわち200MHzでタグ比較を行うことになる。その時の動作は、図11のような動作である。
図11は、分割数が2の場合のプロセッサ1Aの動作を説明するためのタイミングチャートである。タイミング違反検出回路51Aが、タイミング違反が発生しそうな状態を検出して、出力信号VOAを出力すると、選択部42Aは、キャッシュメモリ16Aを200MHzで、タグ比較を行うようにウェイイネーブル信号WEを出力する。
図11に示すように、選択部42Aは、ウェイイネーブル信号WEとして、1CPUサイクルの前半で、「3」を出力する、すなわち、各ウェイ#0から#3に対して「0011」を出力する。図11の場合、その前半ではキャッシュヒットしなかったので、選択部42Aは、1CPUサイクルの後半では、「C」を出力する、すなわち、各ウェイ#0から#3に対して「1100」を出力する。図11の場合、後半でウェイ#2がヒットしたので、キャッシュヒットを示す比較結果信号Cとして、「4」すなわち「0100」が出力されている。
その結果、タイミング違反が発生しそうな状態はなくなる。
しかし、さらに、その後、CPU11の電源電圧の低下、あるいは温度変化等により、200MHz用のタイミング違反検出回路51Bでタイミング違反が発生しそうな状態が検出されたとする。そのとき、タイミング違反検出回路51Bの出力信号VOBがHIGH、すなわち「1」となる。
選択部42Aは、タイミング違反検出回路51Bからの出力信号VOBも「1」になったので、分割数の優先度をさらに下げる。具体的には、図4において点線の矢印A2で示すように、分割テーブルDT中に設定された複数の分割数の中から、優先度を2から3に下げて、分割数を現在の分割数2よりも少ない分割数1に変更する。分割数が1になると、キャッシュメモリ16Aは、図7の通常アクセスモードNMで動作、すなわち100MHzでタグ比較を行うことになる。
その結果、タグ比較は、タイミング違反が発生しそうな状態はなくなる。
上述したタイミング違反検出回路51Aは、CPUコア15の動作周波数が100MHzの場合に、1CPUサイクルを4分割したときの、すなわち分割数4に対応するタイミング違反検出回路である。そして、タイミング違反検出回路51Bは、CPUコア15の動作周波数が100MHzの場合に、1CPUサイクルを2分割したときの、すなわち分割数2に対応するタイミング違反検出回路である。よって、タイミング違反検出部51は、分割数に応じた複数のタイミング違反検出回路を有しているということができる。
以上の例は、CPU11が100MHzで動作している場合であるが、CPU11が200MHzで動作している場合は、200MHz用のタイミング違反検出回路51Bが、タイミング違反が発生しそうな状態を検出すると、選択部42Aは、優先度を下げる。具体的には、図4において点線の矢印A3で示すように、優先度を1から2に変更して、分割数を1に変更する。分割数が1になると、キャッシュメモリ16Aは、図7の中間モードIMで動作していたのを、図7の通常アクセスモードNMで動作、すなわち100MHzでタグ比較を行うことになる。
その結果、タグ比較は、タイミング違反が発生しそうな状態はなくなる。
なお、その後、タイミング違反検出回路51Bが、200MHzのタイミング違反が発生しそうな状態に無くなると、出力信号VOBは「0」になるので、選択部42Aは、優先度を上げる。さらに、その後、タイミング違反検出回路51Aが、400MHzのタイミング違反が発生しそうな状態に無くなると、出力信号VOAは「0」になるので、選択部42Aは、優先度を下げる。
以上のように、本実施の形態のキャッシュメモリ16Aによれば、通常アクセスモードと同等のキャッシュヒット性能を持ちつつ、可能な限りの低消費電力で動作することができる。さらに、キャッシュメモリ16Aによれば、CPU11の省電力制御によって電源電圧の低下等があった場合であっても、タイミング違反が発生しそうな状態になると、タイミング違反が発生する前に、キャッシュメモリ16Aにおける動作モードを変更する。その結果、タイミング違反の発生を未然に防ぐことができ、さらに、CPU11の省電力制御による電源電圧を下げる余地を与えることができる。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
本発明の第1の実施の形態に係わるプロセッサの構成を示す構成図である。 本発明の第1の実施の形態に係わる実アドレスデータの構成例を示す図である。 本発明の第1の実施の形態に係わるキャッシュメモリの構成例を説明するための図である。 本発明の第1の実施の形態に係わる分割数テーブルの例を示す図である。 本発明の第1の実施の形態に係わるプロセッサの動作を説明するためのタイミングチャートである。 本発明の第1の実施の形態に係わる、ウェイ#3でキャッシュヒットした場合のタイミングチャートである。 本発明の第1の実施の形態に係わる、通常アクセスモード、順次アクセスモード及び中間モードの3つのアクセスモードにおける消費電力の状態を概念的に説明するための図である。 本発明の第2の実施の形態に係わるプロセッサの構成の例を示す構成図である。 本発明の第2の実施の形態に係るキャッシュメモリの構成例を説明するための図である。 本発明の第2の実施の形態に係るタイミング違反検出回路の構成の例を示すブロック図である。 本発明の第2の実施の形態に係わる、分割数が2の場合のプロセッサの動作を説明するためのタイミングチャートである。
符号の説明
1、1A プロセッサ、11 CPU、12 主メモリ、13 バス、15 CPUコア、16、16A キャッシュメモリ、16a キャッシュアクセスコントローラ、17 周波数設定レジスタ、31 小容量記憶部、33 比較部、34 ワードセレクタ、35 ウェイセレクラ、51 タイミング違反検出回路、61a、61b、61c FF、62a、62b インバータ回路、63 EXOR回路

Claims (4)

  1. 複数のウェイを有するキャッシュメモリの各ウェイをあるいは所定の2以上のウェイを、所定の順番で選択し、かつ前記キャッシュメモリに接続されたCPUの動作周波数に応じて設定された分割数で、1CPUサイクルを分割して、その分割された各期間内において、前記各ウェイあるいは前記所定の2以上のウェイの選択を行う選択部と、
    前記選択部により選択されたウェイにおけるキャッシュヒットを検出するキャッシュヒット検出部と、
    前記キャッシュヒット検出部が前記キャッシュヒットを検出すると、前記選択部における前記各ウェイあるいは前記所定の2以上のウェイの選択を停止させる制御部と、
    を有することを特徴とするキャッシュメモリ制御回路。
  2. 前記CPUの動作周波数について複数の分割数が設定された分割テーブルを有し、
    前記選択部は、前記分割テーブルに設定された前記分割数で、前記1CPUサイクルを分割することを特徴とする請求項1に記載のキャッシュメモリ制御回路。
  3. 前記キャッシュメモリ制御回路におけるクリティカルパスに関わるクロック信号が入力され、前記クリティカルパスの遅延量だけ遅延させる遅延回路と、
    前記遅延量に所定の遅延量だけ付加して、前記遅延量と前記所定の遅延量を合わせた遅延量が、前記クロック信号の1サイクル分以上になるのを検知する検知回路と、
    を有し、
    前記選択部は、前記検知回路が前記合わせた遅延量が前記クロック信号の1サイクル分以上になるのを検知すると、前記分割テーブルに設定された前記複数の分割数の中から選択した、現在の分割数よりも少ない分割数で、前記1CPUサイクルを分割することを特徴とする請求項に記載のキャッシュメモリ制御回路。
  4. 複数のウェイを有するキャッシュメモリの各ウェイをあるいは所定の2以上のウェイを、所定の順番で選択し、前記キャッシュメモリに接続されたCPUの動作周波数に応じて設定された分割数で、1CPUサイクルを分割して、その分割された各期間内において、前記各ウェイあるいは前記所定の2以上のウェイの選択を行う選択部と、
    前記選択部により選択されたウェイにおけるキャッシュヒットを検出するキャッシュヒット検出部と、
    前記キャッシュヒット検出部が前記キャッシュヒットを検出すると、前記選択部における前記各ウェイあるいは前記所定の2以上のウェイの選択を停止させる制御部と、
    を有するキャッシュメモリ制御回路と、
    前記キャッシュメモリに接続されたCPUと、
    前記CPUの動作周波数を設定する動作周波数設定部と
    を有することを特徴とするプロセッサ。
JP2008061487A 2008-03-11 2008-03-11 キャッシュメモリ制御回路及びプロセッサ Expired - Fee Related JP4635063B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008061487A JP4635063B2 (ja) 2008-03-11 2008-03-11 キャッシュメモリ制御回路及びプロセッサ
US12/400,308 US8065486B2 (en) 2008-03-11 2009-03-09 Cache memory control circuit and processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008061487A JP4635063B2 (ja) 2008-03-11 2008-03-11 キャッシュメモリ制御回路及びプロセッサ

Publications (2)

Publication Number Publication Date
JP2009217616A JP2009217616A (ja) 2009-09-24
JP4635063B2 true JP4635063B2 (ja) 2011-02-16

Family

ID=41064276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008061487A Expired - Fee Related JP4635063B2 (ja) 2008-03-11 2008-03-11 キャッシュメモリ制御回路及びプロセッサ

Country Status (2)

Country Link
US (1) US8065486B2 (ja)
JP (1) JP4635063B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5142868B2 (ja) * 2008-07-17 2013-02-13 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
JP6012263B2 (ja) * 2011-06-09 2016-10-25 株式会社半導体エネルギー研究所 半導体記憶装置
US9058070B2 (en) * 2012-05-30 2015-06-16 Utah State University Predicting timing violations
US10089238B2 (en) * 2014-07-17 2018-10-02 Qualcomm Incorporated Method and apparatus for a shared cache with dynamic partitioning
US10657057B2 (en) 2018-04-04 2020-05-19 Nxp B.V. Secure speculative instruction execution in a data processing system
US11269076B2 (en) * 2019-07-11 2022-03-08 Mtd Products Inc Solid state LIDAR machine vision for power equipment device
IT202000016441A1 (it) * 2020-07-07 2022-01-07 Sk Hynix Inc Comparatore di risorse di ridondanza per una architettura di bus, architettura di bus per un dispositivo di memoria che implementa un metodo migliorato di confronto e corrispondente metodo di confronto

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148589A (ja) * 1998-11-12 2000-05-30 Nec Corp メモリ管理装置、方法及びプログラムを記憶した記憶媒体
JP2006323841A (ja) * 2005-05-18 2006-11-30 Samsung Electronics Co Ltd テクスチャキャッシュメモリ装置及びこれを利用した3次元グラフィック加速器および方法
JP2007299423A (ja) * 2003-11-12 2007-11-15 Matsushita Electric Ind Co Ltd キャッシュメモリおよびその制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07117919B2 (ja) * 1989-05-02 1995-12-18 日本電気株式会社 キャッシュメモリ装置
JPH04328656A (ja) * 1991-04-30 1992-11-17 Toshiba Corp キャッシュメモリ
JPH08263370A (ja) * 1995-03-27 1996-10-11 Toshiba Microelectron Corp キャッシュメモリシステム
JPH0950403A (ja) * 1995-06-01 1997-02-18 Hitachi Ltd キャッシュメモリおよびそれを用いたマイクロプロセッサ
US5802594A (en) * 1995-09-06 1998-09-01 Intel Corporation Single phase pseudo-static instruction translation look-aside buffer
JPH09223068A (ja) * 1996-02-15 1997-08-26 Toshiba Microelectron Corp キャッシュメモリ
US6185657B1 (en) * 1998-04-20 2001-02-06 Motorola Inc. Multi-way cache apparatus and method
JP2002236616A (ja) 2001-02-13 2002-08-23 Fujitsu Ltd キャッシュメモリシステム
US20060090034A1 (en) * 2004-10-22 2006-04-27 Fujitsu Limited System and method for providing a way memoization in a processing environment
WO2006101113A1 (ja) * 2005-03-22 2006-09-28 Matsushita Electric Industrial Co., Ltd. キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148589A (ja) * 1998-11-12 2000-05-30 Nec Corp メモリ管理装置、方法及びプログラムを記憶した記憶媒体
JP2007299423A (ja) * 2003-11-12 2007-11-15 Matsushita Electric Ind Co Ltd キャッシュメモリおよびその制御方法
JP2006323841A (ja) * 2005-05-18 2006-11-30 Samsung Electronics Co Ltd テクスチャキャッシュメモリ装置及びこれを利用した3次元グラフィック加速器および方法

Also Published As

Publication number Publication date
US8065486B2 (en) 2011-11-22
JP2009217616A (ja) 2009-09-24
US20090235057A1 (en) 2009-09-17

Similar Documents

Publication Publication Date Title
JP5142868B2 (ja) キャッシュメモリ制御回路及びプロセッサ
JP4635063B2 (ja) キャッシュメモリ制御回路及びプロセッサ
JP4980751B2 (ja) データ処理装置、およびメモリのリードアクティブ制御方法。
US9063907B2 (en) Comparison for redundant threads
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
US20110099336A1 (en) Cache memory control circuit and cache memory control method
US6898671B2 (en) Data processor for reducing set-associative cache energy via selective way prediction
US20110072215A1 (en) Cache system and control method of way prediction for cache memory
US20100106910A1 (en) Cache memory and method of controlling the same
US7702860B2 (en) Memory access apparatus
JP5902208B2 (ja) データ処理装置
US20100217914A1 (en) Memory access determination circuit, memory access determination method and electronic device
KR101076815B1 (ko) 분기 타겟 어드레스 캐쉬를 포함하는 캐쉬 시스템
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
JP5949327B2 (ja) 演算処理装置および演算処理装置の制御方法
JP5565864B2 (ja) キャッシュメモリ制御装置と方法
JP3614946B2 (ja) メモリバッファ装置
JP6569347B2 (ja) 演算処理装置及び演算処理装置の制御方法
US10303483B2 (en) Arithmetic processing unit and control method for arithmetic processing unit
JP4498705B2 (ja) キャッシュシステム
JP2013097637A (ja) キャッシュ装置、メモリシステム及びデータ転送方法
US7409479B2 (en) Semiconductor integrated circuit
JP2005228142A (ja) メモリ制御回路
JPH08320825A (ja) データ処理装置
JP2001318830A (ja) インターリーブ制御マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101007

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

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

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees