JPWO2003042837A1 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JPWO2003042837A1
JPWO2003042837A1 JP2003544603A JP2003544603A JPWO2003042837A1 JP WO2003042837 A1 JPWO2003042837 A1 JP WO2003042837A1 JP 2003544603 A JP2003544603 A JP 2003544603A JP 2003544603 A JP2003544603 A JP 2003544603A JP WO2003042837 A1 JPWO2003042837 A1 JP WO2003042837A1
Authority
JP
Japan
Prior art keywords
memory
data
integrated circuit
cache memory
semiconductor integrated
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
JP2003544603A
Other languages
English (en)
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Publication of JPWO2003042837A1 publication Critical patent/JPWO2003042837A1/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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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

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)
  • Power Sources (AREA)

Abstract

通常のキャッシュメモリにおいて、LRU等の論理アルゴリズムによって、キャッシュメモリ内から排出されてしまうデータのうち、特に頻繁にアクセスされるデータや、電源投入時に初めにアクセスされるデータなど、データの更新が起こらないデータについて、電源供給が一旦停止した後に電源を投入しても、以前に格納していたデータを保持しつづけることが可能な不揮発性メモリ(NVM)を揮発性メモリ(VM)と共にキャッシュメモリ(3)として利用する。このようにして、不揮発性メモリと揮発性メモリを相互に利用することで、データ利用効率の良いキャッシュメモリを提供することが可能になる。

Description

技術分野
本発明は、中央処理装置とキャッシュメモリとを含む半導体集積回路、特に、不揮発性メモリと揮発性メモリとにより構成されるキャッシュメモリを有するデータ処理装置、マイクロコンピュータ又はマイクロプロセッサとしての半導体集積回路に関する。
背景技術
現在用いられているコンピュータシステムなどのデータ処理システムは、キャッシュメモリを用いてそのデータ処理速度の向上を行っている。上記コンピュータシステムは、中央処理装置(CPU)とキャッシュメモリ及び各種周辺装置を含んだマイクロプロセッサと上記マイクロプロセッサの外部に接続された、外部記憶装置としての半導体メモリ(ダイナミックランダムアクセスメモリ(DRAM)等)や各種外部周辺装置を含む。
上記中央処理装置は、命令実行を行う際、その実行すべき命令又は利用されるべきデータが上記キャッシュメモリ内に格納されているかを確認するため、まず、上記キャッシュメモリにアクセスする。上記実行すべき命令又は利用されるべきデータがキャッシュメモリ内に格納されている事が確認された場合、上記中央処理装置は上記キャッシュメモリから直接命令又はデータを読み込む。逆に、上記実行すべき命令又は利用されるべきデータがキャッシュメモリ内に格納されていないことが確認された場合、上記中央処理装置は上記外部メモリから実行すべき命令又は利用されるべきデータを受取る。
一般的に、キャッシュメモリ内に格納されている命令又はデータは、LRU(Least Recently Used)等の論理アルゴリズムに基づいた、キャッシュ内の命令又はデータの再書き込み若しくは置換(リプレース)等により、使用頻度の低い命令又はデータは上記キャッシュメモリ内から排出される。上記中央処理装置が実行すべき命令又は利用すべきデータがLRU等の論理アルゴリズムによりキャッシュメモリから排出されてしまった場合、或いは、元からキャッシュメモリに格納されていなかった場合、上記中央処理装置は上記外部メモリにアクセスし必要な命令又はデータを上記キャッシュメモリに格納する必要がある。したがって、何度も利用されると分かっている命令又はデータ或いはプログラムのラン・タイム・ルーチンなどもキャッシュメモリから排出される場合があり、マイクロプロセッサ又はそれを利用したデータ処理システムの処理速度の高速化を妨げている。
データ処理の高速化のため、上記キャッシュメモリに使用される半導体記憶装置は、アクセス時間の速いスタティック・ランダム・アクセス・メモリ(SRAM)のような揮発性半導体メモリ回路が一般的に利用される傾向にある。すなわち、キャッシュメモリは命令又はデータなどの情報を記憶するため電源電位の供給が常時必要なSRAMなどの揮発性メモリで構成されているため、一旦、上記マイクロプロセッサに対する電源電位の供給が断たれてしまうと、上記キャッシュメモリに格納されていた情報は全て消去されてしまう。したがって、上記マイクロプロセッサに対する電源電位の投入時に必ず実行されるべきシステム初期化プログラムのようなブートプログラムについては、電源投入時に前記揮発性メモリであるSRAMからなるキャッシュメモリに格納しておくことが出来ない。このため、例えば、マイクロプロセッサの電源投入時におけるデータ処理速度、或いは、上記マイクロプロセッサを含むデータ処理システムの電源投入時におけるデータ処理速度の高速化が妨げられている。
本発明を完成した後に行われた公知例調査では、以下の文献が発明者へ報告された。
1)特開平7−134701号(USPNo.5,930,523)
上記の文献はダイナミック型RAM(DRAM)、シンクロナスダイナミック型RAM(SDRAM)、擬似スタティック型RAM等により構成された4ウェイセットアソシアティブ方式のキャッシュメモリが開示されている。
本発明の目的は、動作電源電位の投入直後若しくはリセット動作解除の直後における中央処理装置によるプログラムの実行を高速化可能な半導体集積回路を提供することにある。
本発明の他の目的は、電源電位の投入直後若しくはリセット動作解除の直後、キャッシュメモリから命令フェッチ可能な半導体集積回路を提供することにある。
本発明のさらに他の目的は、使用頻度の高い命令又はデータを利用するデータ処理速度が向上された、キャッシュメモリを有する半導体集積回路を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
発明の開示
本明細書において開示される発明の代表的なものの概要を説明すれば、以下の通りである。
本発明に従う半導体集積回路としてのマイクロプロセッサ又はマイクロコンピュータは、命令処理を行う中央処理装置と、前記中央処理装置へ供給される命令及びデータ等を格納することが可能なキャッシュメモリを有する。前記キャッシュメモリは、前記中央処理装置から出力されたアドレスに基づいて前記キャッシュメモリからデータを読み出す制御を行うキャッシュ制御回路と、上記半導体集積回路への電源電位の供給が停止された後再度電源電位が投入された場合にも、その内部に格納されたデータを保持していることが可能な不揮発性メモリと、電源電位の供給停止により保持していたデータが消去されてしまうスタティック・ランダムアクセスメモリ(SRAM)のような揮発性メモリとによって構成される。
前記不揮発性メモリに格納されるデータは、演算処理中にデータの更新が起こらないものであり、例えば、プログラムのラン・タイム・ルーチンや積和演算定数等とされる。前記不揮発性メモリは演算実行中に頻繁にアクセスされるデータ等を固定的に格納することによって、キャッシュメモリから不必要に排出されてしまうことが抑制される。そのため、上記プログラムのラン・タイム・ルーチンや積和演算定数のアクセスの際、一定のアクセススピードを得る事が出来るため、上記マイクロプロセッサ又はマイクロコンピュータのデータ処理速度の向上が図られる。さらに、電源投入時に実行されるブートプログラムを不揮発性メモリに格納することで、投入時の上記マイクロプロセッサ又はマイクロコンピュータのブートプログラムの実行を一定スピードで高速に行うことが可能になる。これらにより、上記マイクロプロセッサ又はマイクロコンピュータを利用したデータ処理システムのデータ処理速度も向上される。
発明を実施するための最良の形態
第1図は、本発明に係るデータ処理装置の一実施例であるマイクロコンピュータ(マイクロプロセッサ)1を示している。本実施例のマイクロコンピュータ1は、特に制限されないが、公知の半導体集積回路製造技術によって単結晶シリコンのような1個の半導体基板に半導体集積回路として形成される。
マイクロコンピュータ1は、中央処理装置2、キャッシュメモリ3、データバス・アドレスバス等の制御を行うバス・ステート・コントローラ(BSC)7、データ転送処理を行うダイレクト・メモリ・アクセス・コントローラ(DMAC)8、及び内部回路と外部回路の転送制御を行う外部バスインターフェース回路9を有する。、中央処理装置2とキャッシュメモリ3とは、アドレスバス及びデータバス等を含む第1内部バス16によって接続される。前記バス・ステート・コントローラ7は、アドレスバスとデータバス等を含む第2内部バス17を介して、キャッシュメモリ3、ダイレクト・メモリ・アクセス・コントローラ(DMAC)8、及び外部バスインターフェース9に接続される。更に、バス・ステート・コントローラ7は、アドレスバス及びデータバスなどを含む周辺バス18を介して各種周辺回路に結合される。外部バスインタフェース9にはマイクロコンピュータ1の外部と内部とに接続された外部バス19を有する。
更に、マイクロコンピュータ1は、電源端子Vcc及びグランド端子(回路の接地電位端子)GNDを有し、電源端子Vccはマイクロコンピュータ1内の各回路モジュールに対して動作電源を供給する。電源端子Vccから動作電源の供給が停止されると、中央処理装置2、キャッシュメモリ3等のマイクロコンピュータ1内の各回路モジュールへの動作電源の電源供給が断たれる。
キャッシュメモリ3は、中央処理装置2で処理される命令を格納するための命令キャッシュ5、演算対象となるデータを格納するデータキャッシュ6、及びキャッシュメモリの制御を行うキャッシュコントローラ4を含む。
マイクロコンピュータ1に含まれる周辺回路は、例えば、クロック・パルス・ジェネレータ(CPG)11、割り込みコントローラ(INTC)12、シリアル通信インタフェース(SCI)13、リアル・タイム・クロック(RTC)14、タイマ・ユニット(TMU)15等とされる。
外部バス19には、ランダム・アクセス・メモリ(RAM)や、リード・オンリー・メモリ(ROM)などのメモリ10、更に、特に図示はしないが、データの入出力装置、ディスプレイ装置等の周辺回路が接続される。
中央処理装置2で実行される命令のアドレスは内部バス16を介してキャッシュメモリ3内の命令キャッシュ5に取り込まれる。命令キャッシュ5において当該アドレスに対応した命令が格納されている時は当該アドレスに対応した命令が中央処理装置2に転送され、転送された命令は中央処理装置2にフェッチされる。中央処理装置2内では、フェッチした命令を解読し、命令に応じてデータ演算処理等を行う。また、中央処理装置2でのデータ演算処理等に使用されるデータ用のアドレスは内部バス16を介してキャッシュメモリ3内のデータキャッシュ6に取り込まれる。データキャッシュ6において当該アドレスに対応したデータが格納されている時は当該アドレスに対応したデータが中央処理装置2に転送され、転送されたデータが中央処理装置2にフェッチされる。中央処理装置2は、フェッチしたデータをデータ演算処理等に用いる。中央処理装置2から供給されたアドレスに対応する命令またはデータがキャッシュメモリ3内に格納されていない場合、キャッシュコントローラ4の指示に従ってバス・ステート・コントローラ7がメモリ10をアクセスし、それによって得られた命令やデータが、キャッシュメモリ3に格納されると共に中央処理装置2にフェッチされる。
第2図は、不揮発性メモリを含む4ウェイ・セットアソシエイティブ方式キャッシュメモリ301の構成の一例を示す。同図に示されるキャッシュメモリは、特に制限されないが、前記キャッシュメモリ3における命令キャッシュ5又はデータキャッシュの一例を構成する。
第2図において、4ウェイのうち1つのウェイ(Way3)全てが前記に記したような電源端子Vccからの電源停止後であってもデータを保持しつづけることの可能な、例えば、フラッシュメモリのような電気的に消去及び書き込み可能な不揮発性メモリNVMによって構成される。その他のウェイ(Way0〜Way2)は、スタティック・ランダム・アクセス・メモリ(SRAM)などの揮発性メモリVMから構成される。
キャッシュメモリ301内の各ウェイ(Way0〜Way3)は、制御ビット群30、34、38、42と、メモリに対応したタグ(tag)情報の格納されているタグ(tag)部31、35、39、43と、更に、データを格納するためのデータアレイ32、36、40、44と、ウェイの制御を行うウェイ制御回路33、37、41、45とを有している。前記制御ビット群30、34、38、42及びタグ(tag)部31、35、39、43はアドレスアレイに含まれる。更に、制御ビット群にはバリッド(Valid)ビットが含まれる。
ここで、中央処理装置2から発行されるアドレスは例えば32ビットとして例示される。32ビットのうち上位20ビットをタグ部(tag)20、下位4ビットをオフセット部(offset)22とする。また更に8ビットのインデックス部(Index)21を有する。8ビットのインデックス部21では、各ウェイ内のエントリアドレスを示すことが出来る。更にこれはインデックスデコーダ23によってデコードされ、その結果に応じてウェイ毎のエントリラインが選択される。上記のようにインデックス部21が8ビットであるのならば、0〜255までの256列のエントリアドレスを示すことが可能である。
キャッシュメモリ301に含まれるLRU(Least−Recently−Used)制御回路28では、LRUエントリを示すために各エントリアドレスと各ウェイの中でのデータの新旧比較を行うことが可能なLRUフィールド29を有する回路構成になっている。LRUアルゴリズムとは、各ウェイの同一のエントリ番号を有するエントリ間で、一番古くアクセスされたエントリを書き換えの対象とし、アクセスされた順序を保持するLRUフィールド29によって表現される。ここでは例として4−ウェイのキャッシュメモリ301内での新旧比較を表現することが出来るよう各エントリ毎に6ビットのフィールド29を有している。6ビットのLRUフィールド29は以下のような関係を示す。ここで示されるウェイは、Way0〜Way3の4−ウェイで構成されている。ウェイWay0〜Way2は、前述しているように、揮発性メモリVMで構成され、ウェイWay3は不揮発性メモリNVMによって構成されている。
前記LRUビット0〜5は以下のような意味を持つ。
(1)LRUビット0
0;Way1がWay0より最近アクセスされた。
1;Way0がWay1より最近アクセスされた。
(2)LRUビット1
0;Way2がWay0より最近アクセスされた。
1;Way0がWay2より最近アクセスされた。
(3)LRUビット2
0;Way3がWay0より最近アクセスされた。
1;Way0がWay3より最近アクセスされた。
(4)LRUビット3
0;Way2がWay1より最近アクセスされた。
1;Way1がWay2より最近アクセスされた。
(5)LRUビット4
0;Way3がWay1より最近アクセスされた。
1;Way1がWay3より最近アクセスされた。
(6)LRUビット5
0;Way3がWay2より最近アクセスされた。
1;Way2がWay3より最近アクセスされた。
前記LRU制御部28内には、このLRUビット0〜5を用いて常に不揮発性メモリNVMにより構成されたウェイを最新である状態に設定することが可能な制御論理が含まれる。つまり、ウェイWay3を上記不揮発性メモリNVMと仮定すると、LRUビット2、4、5を”0”と設定することで、ウェイWay3が有する全てのエントリについては常に他のウェイ(Way0〜Way2)のエントリよりも最新であるということを設定することが可能になる。また、中央処理装置2が実行するソフトウエアの論理アルゴリズムについて、前述している(a)最も最後に参照されたものからリプレースするLRUのほかには、(b)候補の中からランダムに対象を選択するランダム(random)、(c)最初にロードされたものからリプレース(書き換え)するFIFO、等があり夫々の論理アルゴリズムの機構に従いリプレースを行えるという自由度も保証できる。
また、前記LRU制御部28には更に、各ウェイ毎に設定可能なディスエーブル(Disable)ビット47が接続されている。ディスエーブルビット47が論理値“1”の場合ウェイ自身が無効であり、論理値“0”の時にはウェイ自身が有効であるということを前提としている。また、ディスエーブルビット47が論理値“1”であるウェイについてはロックビットが論理値“1”に設定され、下記に示す全バリッドビット30、34、38、42の値が強制的に論理値“0”として扱われることで、無効ウェイが使用されてしまわないようにしている。
各ウェイ(Way0〜Way3)には制御ビット列としてインデックス毎に(換言すればインデックスアドレス毎に)バリッドビット30、34、38、42を有している。インデックス部21で示される、あるエントリのバリッドビット30、34、38、42が論理値“0”の時、インデックス部21で選択されたあるエントリのタグ部20とデータアレイ32、36、40、44のデータが有効ではないことを示し、バリッドビット30、34、38、42が論理値“1”の時、タグ部20及びデータアレイ32、36、40、44に格納されているデータが有効なデータであることを示す。また、前述した不揮発性メモリNVM及び揮発性メモリVMで構成された本願構成であるキャッシュメモリ301が行うキャッシュ動作時においては、ウェイWay3内に含まれる各エントリのバリッドビット30、34、38、42は常に論理値“1”で固定されており、常にアクセスが可能となっている。
この不揮発性メモリNVMへは、図示はしないがマイクロコンピュータ1、若しくは、マイクロコンピュータ1の外部に含まれる制御部によって、通常のSRAM等で構成されたキャッシュメモリ301へのデータライト動作・データリード動作とは別の制御動作として、不揮発性メモリNVMで構成されたキャッシュメモリのエントリに対してデータの書き込み及び書き換えが行われる。
更に、各ウェイ毎にLRU制御回路28に接続されたロックビット列46を有し、ロックビット46によってその対象となるウェイがロックされているかを示すことが可能である。つまり、ロックすることでウェイ内のタグ情報やデータをキャッシュメモリ301内に保持するように格納することが可能になる。よって、不揮発性メモリNVMで構成されたウェイWay3全体をロックすることで、このウェイWay3に対しての不必要なデータ更新動作を行うことを抑制することが可能になる。不揮発性メモリNVMで構成されたキャッシュメモリ301内のウェイWay3へのデータ書き込み動作はキャッシュコントローラ4以外の回路、つまり前述した制御部によってキャッシュ動作におけるデータライト動作とは別の動作として、データの書き込み及び書き換え制御が行われる。ここで述べられているキャッシュ動作におけるデータ書き換え動作は、キャッシュメモリとして一般的に用いられているSRAMのような揮発性メモリVMに対してのものとする。また、前述のように各ウェイ全体をロックするためのウェイと同数のロックビット46を有するだけでなく、あるエントリ毎にロックすることのできるエントリ数と同数のロックビット46を有することも可能である。
尚、第2図にはキャッシュヒット、キャッシュミスに対するウェイのデータ選択などに関する構成は図示を省略してある。
第3図は、第2図に示す不揮発性メモリNVMによって構成されたウェイ(Way3)を例として、アドレスアレイに含まれるバリッドビット42とタグ部43、及び、データアレイ44と、それに対応したメモリ10との関係を示す。アドレスアレイにはタグ部43に格納されているアドレス情報が、また、データアレイ部にはそのタグ部43のアドレス情報に対応したメモリ10のデータが格納されている。そのため、キャッシュメモリ301内に必要なデータが格納されていることを確認することができれば、中央処理装置2はメモリ10に対してのアクセスを行うことなくキャッシュメモリ301に対してのみアクセスを行えばよい。そのため、アクセススピードが速くなる。
第4図は、第2図を例としてキャッシュメモリ3に対するデータリード動作における制御フローを示す。まず、中央処理装置2からのリード命令を受け、インデックス部21の情報に従いキャッシュメモリ3のエントリを選択する(S1)。次に、バリッドビット部30、34、38、42の値を調べ、その選択されたエントリが有効であるかを確認する(S2)。更に、タグ部20とタグ部31、35、39、43を比較しその選択されたエントリのタグ部31、35、39、43の何れかと一致しているかを確認する(S2)。そこで、選択されたエントリがバリッドビット部30、34、38、42によって有効でないことが示されていた時、または、選択されたエントリのタグ部31、35、39、43の何れとも一致していない時、ミスヒット(キャッシュミスヒット)となる(S4)。逆に、選択されたエントリが有効であり、タグ部31、35、39、43の何れかと一致していると示された時、キャッシュヒットであり、その選択されたエントリから必要なデータが読み出される(S3)。エントリが有効でない、若しくは選択されたエントリのタグ部31、35、39、43の何れとも不一致のためミスヒットとなった場合は、外部に接続されたメモリ10から必要なデータを取り込み、その際にLRU論理アルゴリズムによって選択されたウェイのキャッシュメモリのエントリに対して、データの書き換え動作を行う。特に、不揮発性メモリNVMによって構成されたキャッシュエントリに対しては、一般的なキャッシュメモリにおけるデータライト動作のような書き込み動作は制限されているためデータの更新動作は行われない。
第5図は、第2図を例としてキャッシュメモリ3に対するデータライト動作における制御フローを示す。データリード動作と同様に中央処理装置2からのライト命令を受け、インデックス部21の情報に従いキャッシュメモリ3のエントリを選択する(S11)。次に、バリッドビット部30、34、38、42が無効と示されている時、またはバリッドビット部30、34、38、42は有効であるがタグ部20とタグ部31、35、39、43との比較を行い(S12)、比較結果が、何れとも一致していなかった時、ライト動作はミスヒットとされる(S15)。また、タグ部31、35、39、43の何れかと一致している場合はその選択されたエントリが不揮発性メモリNVMによって構成されているウェイWay3であるかを確認する(S13)。要するにキャッシュメモリの制御部はキャッシュメモリ内に格納しているタグ情報と前記CPUから出力されるアドレス情報に含まれるタグ情報とを比較する時に、前記ウェイWay3が不揮発性メモリによって構成されているかについても併せて判別する。もしエントリのタグ部31、35、39、43の何れかと一致しているが、そのキャッシュメモリ3のエントリが不揮発性メモリNVMによって構成されているウェイWay3であるならば、本願においては不揮発性メモリNVMにより構成されたウェイWay3に対しては一般的なキャッシュメモリ3におけるデータライト動作において書き込みを行わないことを前提としているため、不揮発性メモリNVMで構成されたウェイWay3に対しての書き込みは認められない。例えば、前記ステップS13におけるの判別結果“Yes”は一つの例外処理要因とされ、キャッシュメモリから割込みコントローラ12に例外処理要求信号(図示せず)が伝達される。これにより、その例外処理要因に応じた例外処理が実行されることになる。尚、例外処理は優先度の比較的低い所謂割込み処理であってもよい。
前記バリッドビット部30、34、38、42が有効であり、タグ部31、35、39、43の何れかと一致しており、更に選択されたエントリが不揮発性メモリNVMによって構成されていない場合は、データライト動作が行われる(S14)。また、バリッドビット部30、34、38、42が無効若しくはタグ部30、34、38、42の何れとも不一致のためデータライト動作が前述のミスヒットである場合(S15)は、外部メモリ10へアクセスを行い、更にLRU論理アルゴリズムにより選択されたキャッシュメモリ3のエントリに対してデータの更新動作を行う。またこの時、不揮発性メモリNVMによって構成されたウェイWay3のエントリについてはLRU論理アルゴリズムを前述したように、常に最新の情報であることを示す状態に設定している。そのため、このキャッシュメモリ3におけるデータライト動作において、Way3はリプレースの対象とならないため、エントリ内のデータが他のデータへ置き換えられることはない。
第6図は、揮発性メモリVMによって構成されるウェイWay0〜Way2のデータアレイ32、36、40を、スタティック・ランダム・アクセス・メモリ(SRAM)によって構成した場合の一例を示している。各データアレイ32、36、40は、複数の相補ビット線対と、複数のワード線と、上記複数の相補ビット線対と上記複数のワード線に結合される複数のスタテック型メモリセルMCとを含む。第6図は、複雑さをさけるため、1つのスタテック型メモリセルMCと、非反転ビット線BLと反転ビット線/BLを含む相補ビット線対と、1つのワード線WLの結合を示している。メモリセルMCは、ワード線WLにそのゲート電極が結合され、そのソース・ドレイン経路の一端が相補ビット線BL,/BLとに結合された選択MOSFETQ1およびQ2と、一対のCMOSインバータの入力と出力とが交差結合されたフィリップ・フロップ回路の様なデータ記憶部とを有する。上記一対のCMOOSインバータの各々は、そのソース・ドレイン経路の一端が電源電位Vddに結合されたところの負荷を構成する負荷MOSFETQ3又はQ4、及び、上記負荷MOSFETQ3又はQ4のソース・ドレイン経路の他端と接地電位Vssとの間にそのソース・ドレイン経路が結合されたところの駆動MOSFETQ5又はQ6とを有し、負荷MOSFETQ3又はQ4と駆動MOSFETQ5又はQ6との結合部は上記選択MOSFETQ1又はQ2のソース・ドレイン経路の他端に結合される。上記メモリセルMCに対しローレベル”0”の情報を書き込む場合、特に制限されないが、ワード線WLをハイレベルの選択状態とすることにより選択MOSFETQ1およびQ2を導通状態とすると共に、相補ビット線BL,/BLをローレベル“0”,ハイレベル“1”とする。それにより、駆動MOSFETQ5が導通状態とされ、駆動MOSFETQ6が非導通状態とされることにより、メモリセルMCに情報”0”が書き込まれる。一方、上記メモリセルMCに対しハイレベル”1”の情報を書き込む場合、特に制限されないが、ワード線WLをハイレベルの選択状態とすることにより選択MOSFETQ1およびQ2を導通状態とすると共に、相補ビット線BL,/BLをハイレベル“1”,ローレベル“0”とする。それにより、駆動MOSFETQ6が導通状態とされ、駆動MOSFETQ5が非導通状態とされることにより、メモリセルMCに情報”1”が書き込まれる。メモリセルMCに格納された情報を読み出す場合、ワード線WLを選択状態として、上記選択MOSFETQ1及びQ2を導通状態としてメモリセルMCの状態を相補ビット線BL,/BLに読み出し、それを図示されないセンスアンプによって増幅する事によってメモリセルMCに格納された情報が読み出される。
第7図は、不揮発性メモリNVMによって構成されるウェイWay3のデータアレイ44を、マスクROM(リード・オンリー・メモリ)によって構成した場合の情報“1”および“0”の状態を示す回路図を示す。データ線DL1とワード線WLとの交差位置にはメモリセルが配置され、データ線DL2とワード線WLとの交差位置にはメモリセルが配置されていない。即ち、記憶情報“1”は、特に制限されないが、ワード線WLに結合されたゲートと、データ線1DL1と接地電位Vssとの間に結合されたソース・ドレイン経路とを有するメモリセルMCを構成するMOSFETによって表される。特に制限されないが、上記ワード線WLをハイレベル“1”の選択状態とすると、上記メモリセルMCを構成するMOSFETが導通状態となり、所定の電圧値にプリチャージされたデータ線の電位レベルがハイレベル“1”からローレベル“0”へ変更される。この状態が、情報“1”とされる。一方、データ線DL2とワード線WLとの交差位置で代表されるの如く、記憶情報の“0”は、上記メモリセルMCが設けられていないことによって表現される。特に制限されないが、上記ワード線WLをハイレベル“1”の選択状態しても、所定の電圧値にプリチャージされたデータ線DL2の電位レベルが変更されない。この状態が、記憶情報“0”とされる。
マスクROMは、マイクロコンピュータなどを製品として出荷する前の製造段階でデータの書き込み設定が行われる。また、1度マスクROMに対して書き込んだデータについては再度書き換えることが不可能であることから、書き込まれるデータとしては、頻繁に利用されているプログラムのラン・タイム・ルーチンなどバグ発生の可能性の少ないものをデータとしてマスクROMに対して焼き付けるとよい。
第8図は、不揮発性メモリNVMによって構成されるWay3のデータアレイ44を電気的に消去及び書き込み可能な不揮発性メモリセルMCを有するフラッシュメモリで構成した場合のメモリセルMCを示す回路図を示す。メモリセルMCは、コントロールゲートCG、フローティングゲートFG、データ線DL、ワード線WL、及びソース線SLにより構成される。フローティングゲートFGに電荷を蓄積し、閾値電圧を変化させる。読み出しの際にコントロールゲートCGにゲート電圧をかけ、ソース・ドレイン間の電流量によって記憶情報“0”、“1”の判定が可能になる。また、図示はしないが、フラッシュメモリ以外で電源供給停止後に再度電源投入した際にデータを保持している不揮発性メモリNVMとしては、EPROM、EEPROM、MRAM、強誘電体メモリ(FRAM)等があり、これらの不揮発性メモリNVMの何れかによって若しくはいくつかの組み合わせによってキャッシュメモリに利用可能な不揮発性メモリNVMとして構成することが可能である。また、これら不揮発性メモリNVMを使用するときには、これらの不揮発性メモリNVMに対応した制御部を半導体集積回路の内部若しくは別に有する必要があり、電気的に内部データの書き換えを行う。
第9図及び第10図は、揮発性メモリVMによって構成されるウェイWay3のデータアレイ44を、強誘電体メモリ(FRAM)で構成した場合のメモリセルMCの回路図を示す。
第9図に示されるメモリセルMCは、ワード線WLに結合されたゲート及びビット線BLと強誘電体容量FCの一端との間に結合されたソース・ドレイン経路を有する選択MOSFETQ10とから構成され、強誘電体容量FCの他端はプレート線PLに結合される。
第10図に示されるメモリセルMCは、上記第9図に示されるメモリセルMCを2つ用いて1つのメモリセルMCを構成した場合の回路例を示している。すなわち、メモリセルMCは、ワード線WLに結合されたゲート及び非反転ビット線BLと強誘電体容量FC1の一端との間に結合されたソース・ドレイン経路を有する選択MOSFETQ11とから構成される第1記憶部と、ワード線WLに結合されたゲート及び反転ビット線/BLと強誘電体容量FC2の一端との間に結合されたソース・ドレイン経路を有する選択MOSFETQ12とから構成される第2記憶部とから構成され、強誘電体容量FC1及びFC2のそれぞれの他端はプレート線PLに結合される。上記第1記憶部と上記第2記憶部には、相補的なデータ、すなわち、ハイレベル“1”及びローレベル“0”、または、ローレベル“0”及びハイレベル“1”の様なデータが記憶される。このメモリセルMCからのデータ読み出しは、ワード線WLをハイレベルのような選択電位として、選択MOSFETQ11及びQ12を導通状態として、相補ビット線対BL,/BLに現れた電位を差動アンプからなるセンスアンプによって増幅する事によって行われる。一方、メモリセルMCへのデータの書き込みは、ワード線WLをハイレベルのような選択電位として、選択MOSFETQ11及びQ12を導通状態として、相補ビット線対BL,/BLに、ハイレベル“1”及びローレベル“0”、または、ローレベル“0”及びハイレベル“1”を供給することによって強誘電体容量FC1及びFC2に異なる分極を生じさせることによって行われる。また、ダイレクト・ランダム・アクセス・メモリ(DRAM)と異なりキャパシタの一端がプレート線PLに接続されていることにより行単位で電位を変化させてデータの読み出し、及び正・負両方の分極を起こすようにしている。メモリセルMCに対してのデータの書き込みは、ビット線Bとプレート線PLの電位を“H”または“L”とする事で強誘電体キャパシタに正または負の電圧を加えることによって実現される。
第11図は、本発明のキャッシュメモリ3を有するマイクロコンピュータ1を搭載したプロセッサを組み込んだ代表的な応用製品例として、移動携帯通信機器を示す。
ベースバンド回路部に接続したプロセッサはROM、RAMまたはEEPROM等のメモリ部と接続し、必要データを保持し効果的に他の回路モジュールとのアクセスを行う。移動携帯通信機器は、更に、電源スウィッチを有し、このスウィッチを入れることで図示しないバッテリーから電源(Vcc)が各回路モジュールに対して供給される。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しないは範囲において種々変更可能であることは言うまでもない。
例えば、上記実施例では、複数ウェイによって構成されたセットアソシアティブ形式のキャッシュメモリの場合について説明したが、ダイレクトマップ形式のものを用いることも可能である。ダイレクトマップ形式とする場合には、ウェイ全体を不揮発性メモリNVM若しくはウェイ全体を揮発性メモリVMによって構成するのではなく、ウェイの一部のエントリについて不揮発性メモリNVMによって構成し、残りの部分については揮発性メモリVMによって構成する。
また別のものとしては、上記実施例では1ウェイ全体が不揮発性メモリNVMによって構成されている場合について説明したが、複数ウェイを有するキャッシュメモリで一つ以上のウェイが不揮発性メモリNVMで構成されているもの、1つのウェイのうちある一部分のみ、例えばタグ部のみが不揮発性メモリNVMにより構成されているもの、又は、複数のエントリラインが不揮発性メモリNVMによって構成されているものを用いることも可能である。キャッシュメモリの一部分を不揮発性メモリNVMによって構成することで、任意のデータ量を格納し続けることが可能になる。また、保持しつづけたいデータが多量でない場合にもそのデータ量に対応した必要な量のキャッシュエントリを不揮発性メモリNVMによって構成することできる。
CPUによるアクセス動作において不揮発性メモリで構成されるウェイについてはデータの読み出しを行い、前記揮発性メモリで構成されるウェイに対してはデータの格納及び読み出しを行うように、予めフラッシュッメモリの動作を規定してよい。
キャッシュメモリのキャッシュ対象とされるプログラムは、望ましくは少なくとも2回以上読み出されるプログラムであるとよい。
更には、上記実施例では、最も最後に参照されたものからリプレースするLRU論理アルゴリズムによるデータ更新を行う場合について説明したが、そのほかには、ランダム、FIFO、等の論理アルゴリズムを用いることも可能である。これらの論理アルゴリズムから任意の論理アルゴリズムを選択することにより、キャッシュメモリの動作において最適な動作設定を行うことができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
本願に示すキャッシュメモリを有した半導体処理装置において、不揮発性メモリNVMと揮発性メモリVMによって構成されたウェイを有し、更には、不揮発性メモリNVMで構成された箇所に対しては内部に中央処理装置等でのデータ処理中に書き換えの起こらないデータを保持させ、LRU等の論理アルゴリズムによって必要なデータの喪失を避けることが可能になる。また、データ処理中に1度以上アクセスされ、また、その演算自体にはデータの更新が起こらないものについて不揮発性メモリNVMによって構成された部分に保持しておくことで、キャッシュアクセススピードの高速化を図ることが可能になる。
産業上の利用可能性
中央処理装置とキャッシュメモリとを含む半導体集積回路、特に、不揮発性メモリと揮発性メモリとにより構成されるキャッシュメモリを有するデータ処理装置、マイクロコンピュータ又はマイクロプロセッサとしての半導体集積回路に利用することができる。
【図面の簡単な説明】
第1図は本発明に係るマイクロコンピュータの一実施例のブロック図である。
第2図は不揮発性メモリで構成されたウェイを有する4ウェイ構成のセットアソシアティブ・キャッシュメモリの一実施例のブロック図である。
第3図は不揮発性メモリにより構成されるキャッシュメモリのウェイとメモリマップとの関係を示す説明図ある。
第4図はキャッシュメモリにおけるデータリード動作の制御フローチャートの説明図である。
第5図はキャッシュメモリにおけるデータライト動作の制御フローチャートの説明図である。
第6図はキャッシュメモリに用いられる揮発性メモリのメモリセルを示す回路図である。
第7図はキャッシュメモリに用いられる不揮発性メモリの一例としてマスクROMのメモリセルを示す回路図である。
第8図はキャッシュメモリに用いられる不揮発性メモリの別の一例としてフラッシュメモリのメモリセルを示す回路図である。
第9図はキャッシュメモリに用いられる不揮発性メモリの更に別の一例として強誘電体メモリ(FRAM)のメモリセルを示す回路図である。
第10図は強誘電体メモリ(FRAM)のメモリセルの更に別の一例を示す回路図である。
第11図は本発明のキャッシュメモリを有するマイクロコンピュータを含むデータ処理装置の一実施例のシステム図である。

Claims (10)

  1. 複数のウェイを有するキャッシュメモリと、
    上記キャッシュメモリに対し信号を出力することが可能な中央処理装置とを有し、
    前記キャッシュメモリは、前記半導体集積回路への電源電位の供給が停止された後、次の前記半導体集積回路への電源電位の供給の時に元のデータの保持が可能な不揮発性メモリと、上記半導体集積回路への電源電位の供給の停止によってデータの保持が不可能な揮発性メモリとを含み、
    前記複数のウェイにおける一部のウェイが、前記不揮発性メモリによって構成される半導体集積回路。
  2. 前記半導体集積回路は、更に、上記前記中央処理装置と前記キャッシュメモリとに結合された内部バスと、前記内部バスに結合されたバスコントローラと、前記バスコントローラに結合され、かつ、上記半導体集積回路に結合されるべき外部バスと結合されるべきバスインタフェース回路と、を有する半導体集積回路であって、
    前記不揮発性メモリは、前記半導体集積回路への電源電位の供給が停止された後、前記半導体集積回路への電源電位の供給が開始されて前記記半導体集積回路が起動された際に前記中央処理装置によって実行されるべき命令と、マイクロプロセッサ制御用言語によって記載されたプログラムのうち複数回読み出されるプログラムと、プログラムのラン・タイム・ルーチンのうちの一つ又は複数を記憶する請求の範囲第1項記載の半導体集積回路。
  3. 前記不揮発性メモリは、マスクROM(リード・オンリー・メモリ)、強誘電体メモリ、電気的に消去及び書き込み可能な不揮発性メモリの何れか一つにより構成される請求の範囲第1項記載の半導体集積回路。
  4. 前記キャッシュメモリは、前記中央処理装置のデータリード動作のとき、前記中央処理装置から出力されたエントリ情報と各ウェイに格納されている情報とを比較し、その情報が一致している場合はその一致しているエントリ情報を有したエントリに格納されているデータを前記中央処理装置へ転送し、
    前記中央処理装置のデータライト動作のとき、前記中央処理装置から出力されたエントリ情報と前記揮発性メモリで構成されたキャッシュメモリのウェイに格納されているエントリ情報とを比較し、その情報が一致している場合はその一致しているエントリ情報を有したエントリに対してデータの書き込みを行う請求の範囲第3項記載の半導体集積回路。
  5. 中央処理装置と、
    複数のウェイを有するキャッシュメモリと、
    内部バスと、
    複数のメモリとを有する半導体集積回路であって、
    前記キャッシュメモリは、前記半導体集積回路への電源の供給中断後もデータの保持が可能な不揮発性メモリと、前記半導体集積回路への電源の供給中断後データが保持されない揮発性メモリとを含み、
    前記キャッシュメモリの少なくとも1つのウェイは、前記不揮発性メモリによって構成され、
    前記不揮発性メモリは、前記中央処理装置の命令実行中に、上記中央処理装置から複数回アクセスされるプログラム又はデータをあらかじめ格納する半導体集積回路。
  6. 前記不揮発性メモリは、マスクROM(リード・オンリー・メモリ)、強誘電体メモリ、電気的に消去及び書き込み可能な不揮発性メモリのうちの何れか一つにより構成される請求の範囲第5項記載の半導体集積回路。
  7. 前記半導体集積回路は、更に、キャッシュメモリ制御部を有し、
    前記キャッシュメモリ制御部は、前記キャッシュメモリ内に格納している情報と前記中央処理装置から与えられるアドレス情報とを比較する時に、前記キャッシュメモリが前記不揮発性メモリによって構成されているかについても併せて判別し、
    前記不揮発性メモリは、更に、電源供給が停止された後、起動された際に実行されるべき命令と、マイクロプロセッサ制御用言語によって記載されたプログラムのうち少なくとも2回以上は読み出されるプログラムと、プログラムのラン・タイム・ルーチンとのうちの何れか一つ以上を記憶する請求の範囲第6項記載の半導体集積回路。
  8. 中央処理装置と、
    キャッシュメモリと、
    内部バスとを有し、
    前記中央処理装置は、前記内部バスを介して前記キャッシュメモリに接続され、
    前記キャッシュメモリは、電源供給停止後に再び電源を投入しても以前に書き込まれたデータを保持し続けることが可能な不揮発性メモリと、電源供給停止した時に保持していたデータが消去されてしまう揮発性メモリとで構成され、
    前記キャッシュメモリは、少なくとも一つ以上の前記不揮発性メモリで構成されたウェイと、少なくとも一つ以上の前記揮発性メモリで構成されたウェイとを有し、
    前記キャッシュメモリは、前記不揮発性メモリで構成されるウェイではデータの読み出しを行い、前記揮発性メモリで構成されるウェイではデータの格納及び読み出しを行う半導体集積回路。
  9. 前記不揮発性メモリは、マスクROM(リード・オンリー・メモリ)、強誘電体メモリ、電気的に消去及び書き込み可能な不揮発性メモリのうちの何れか一つにより構成される請求の範囲第8項記載の半導体集積回路。
  10. 中央処理装置と、
    キャッシュメモリと、
    内部バスと、
    複数のメモリとを有し、
    前記キャッシュメモリは電源供給中断後においてデータの保持が可能な不揮発性メモリと、データが保持されない揮発性メモリとで構成され、
    前記不揮発性メモリには、前記中央処理装置からの命令実行中に少なくとも2回以上はアクセスされるプログラム又はデータをあらかじめ格納しており、
    前記キャッシュメモリは、複数のエントリを有し、
    前記エントリのうち少なくとも一つ以上のエントリは、前記不揮発性メモリに格納される半導体集積回路。
JP2003544603A 2001-11-16 2001-11-16 半導体集積回路 Withdrawn JPWO2003042837A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2001/010006 WO2003042837A1 (fr) 2001-11-16 2001-11-16 Circuit integre semi-conducteur

Publications (1)

Publication Number Publication Date
JPWO2003042837A1 true JPWO2003042837A1 (ja) 2005-03-10

Family

ID=11737942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003544603A Withdrawn JPWO2003042837A1 (ja) 2001-11-16 2001-11-16 半導体集積回路

Country Status (2)

Country Link
JP (1) JPWO2003042837A1 (ja)
WO (1) WO2003042837A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4956922B2 (ja) 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
JP5477384B2 (ja) * 2009-09-02 2014-04-23 日本電気株式会社 半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置
US20140095778A1 (en) * 2012-09-28 2014-04-03 Jaewoong Chung Methods, systems and apparatus to cache code in non-volatile memory
JP6092019B2 (ja) 2013-06-25 2017-03-08 株式会社東芝 プロセッサ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS628243A (ja) * 1985-07-04 1987-01-16 Matsushita Electric Ind Co Ltd キヤツシユ・メモリ
JPS62269247A (ja) * 1986-05-16 1987-11-21 Matsushita Electric Ind Co Ltd キヤツシユメモリ装置
JPH01234951A (ja) * 1988-03-15 1989-09-20 Hitachi Ltd バッファ記憶方式およびバッファ記憶制御装置
GB9118312D0 (en) * 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
WO1994012929A1 (en) * 1992-11-23 1994-06-09 Seiko Epson Corporation A microcode cache system and method
JP2001117819A (ja) * 1999-10-18 2001-04-27 Toshiba Corp 命令メモリ回路及び情報処理システム
JP2001256107A (ja) * 2000-03-10 2001-09-21 Matsushita Electric Ind Co Ltd データ処理装置

Also Published As

Publication number Publication date
WO2003042837A1 (fr) 2003-05-22

Similar Documents

Publication Publication Date Title
JP3955932B2 (ja) 半導体記憶装置
JP4989872B2 (ja) 半導体記憶装置および演算処理装置
US5696929A (en) Flash EEPROM main memory in a computer system
US7330995B2 (en) Nonvolatile memory apparatus which prevents destruction of write data caused by power shutdown during a writing process
US6522581B2 (en) Semiconductor storage device
US7193923B2 (en) Semiconductor memory device and access method and memory control system for same
US5513136A (en) Nonvolatile memory with blocks and circuitry for selectively protecting the blocks for memory operations
KR100373849B1 (ko) 어소시어티브 캐시 메모리
JPH07334999A (ja) 不揮発性半導体記憶装置及びデータプロセッサ
JP2008047238A (ja) 不揮発性半導体メモリ
JP4445081B2 (ja) キャッシュ・メモリ
US10303386B2 (en) Data processing device and method for saving power in a data processing device
KR100869041B1 (ko) 비휘발성 자기 캐시 메모리
KR20080099692A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
JP5199090B2 (ja) エネルギーの効率的なレジスターファイルを提供する方法及びシステム
EP1345234A1 (en) Semiconductor memory with self-refresh capability
JPWO2003042837A1 (ja) 半導体集積回路
JP3140695B2 (ja) 連想メモリ装置
US6400599B1 (en) Cache memory cell with a pre-programmed state
JP2005316793A (ja) フラッシュメモリシステム及びフラッシュメモリの制御方法
JPH07122076A (ja) キャッシュメモリ
JP2000276349A (ja) 半導体記憶装置
JP2007220168A (ja) 半導体記憶装置
KR100353346B1 (ko) 불휘발성반도체기억장치및데이타프로세서
JP2001331371A (ja) 強誘電体メモリを備えた半導体集積回路装置及びその強誘電体メモリの書き換え制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050201