(57)【特許請求の範囲】
【請求項１】
中央演算処理装置からの命令を受け、メモリを制御するメモリ制御装置と、
前記メモリ制御装置により制御され、メモリバンクと複数のキャッシュメモリとを備えるメモリと、を有し、
前記複数のキャッシュメモリが前記メモリバンクに対して割り当てられ、
前記複数のキャッシュメモリの一つは、前記メモリ制御装置からのヒット判定対象とされず、
前記メモリ制御装置からのヒット判定がミスであって前記複数のキャッシュメモリのうちヒット判定対象とされるキャッシュメモリの一つに格納されているデータが前記メモリバンクに書き戻される場合、
データが前記メモリバンクから、前記ヒット判定対象とされない前記複数のキャッシュメモリの一つに読み出され、
前記ヒット判定対象とされる前記複数のキャッシュメモリの前記一つに格納されているデータは前記メモリバンクに書き戻される半導体装置。
【請求項２】
前記メモリ制御装置からの前記ヒット判定がダーティミスの場合、
前記ヒット判定対象とされない前記複数のキャッシュメモリの前記一つが次のヒット判定対象とされ、
前記複数のキャッシュメモリの他の一つが次のヒット判定対象とされない請求項１記載の半導体装置。
【請求項３】
前記メモリ制御装置からのヒット判定がヒットの場合、
該ヒット判定対象とされない前記複数のキャッシュメモリの前記一つがさらに、次のヒット判定対象とされない請求項２記載の半導体装置。
【請求項４】
前記メモリ制御装置と同一の第１チップ上に形成された中央演算処理装置と、
前記メモリ制御装置によって制御されるＤＲＡＭメモリチップと、を有し、
前記第１チップおよび前記ＤＲＡＭメモリチップが１つの同一パッケージ内にモールドされている請求項２記載の半導体装置。
【請求項５】
前記メモリ制御装置からのヒット判定がクリーンミスの場合、ヒット判定対象とされない前記複数のキャッシュメモリの前記一つがさらに、次のヒット判定対象とされない請求項２記載の半導体装置。
【請求項６】
前記ヒット判定対象とされる前記キャッシュメモリのデータが前記メモリバンクに書き戻される必要がない場合、
前記ヒット判定対象とされない前記複数のキャッシュメモリの前記一つがさらに、次のヒット判定対象とされない請求項２記載の半導体装置。
【請求項７】
前記メモリ制御装置は、前記メモリ制御装置への入力信号が命令信号か、あるいはデータ信号かを判定する請求項１記載の半導体装置。
【請求項８】
中央演算処理装置からの命令を受け、メモリを制御するメモリ制御装置と、
前記メモリ制御装置により制御され、メモリバンクと複数のキャッシュメモリとを備えるメモリと、を有し、
前記キャッシュメモリの記憶領域の一部は、前記メモリ制御装置からのヒット判定対象とされず、
前記メモリ制御装置からのヒット判定がミスであってヒット判定対象とされる前記キャッシュメモリの記憶領域の一部に格納されたデータが前記メモリバンクへ書き戻される場合、データは、前記メモリバンクからヒット判定対象とされない前記キャッシュメモリの記憶領域の一部に読み出され、ヒット判定対象とされる前記キャッシュメモリの記憶領域の他の一部に格納されたデータは、前記メモリバンクに書き戻される半導体装置。
【請求項９】
前記キャッシュメモリの記憶領域は、前記メモリバンクに対して重複したアドレスを持たない請求項８記載の半導体装置。
【請求項１０】
前記メモリ制御装置と同一の第１チップ上に形成された中央演算処理装置と、
前記メモリ制御装置によって制御されるＤＲＡＭメモリチップと、を有し、
前記第１チップおよび前記ＤＲＡＭメモリチップが一つの同一パッケージにモールドされている請求項８記載の半導体装置。
【請求項１１】
前記ヒット判定がダーティミスならば、前記記憶領域の一部と異なる記憶領域は、次のヒット判定対象とされず、前記記憶領域の一部が前記次のヒット判定対象とされる請求項１０記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ制御方法に関し、特にCPU等のメモリ(DRAM等)をアクセスする装置と、これらの装置からのアクセスを受けメモリ(DRAM等)を制御するメモリ制御回路と、メモリ(DRAM等)とから構成される情報処理装置に関する。
【０００２】
【従来の技術】
従来のDRAMには、複数のDRAMメモリバンクとキャッシュメモリSRAMから構成されるDRAM、つまりキャッシュメモリ内蔵DRAMがあり、[文献1]特開平11-86532で開示されている。
また、従来のDRAMの制御方法には、DRAMのセンスアンプをキャッシュメモリとして機能させる方法が[文献２]特開平2000-21160で開示されている。
【０００３】
【発明が解決しようとする課題】
本願発明者は、本願に先だって、キャッシュメモリを内蔵するDRAM及びその制御方法について検討を行った。
情報処理装置はCPUなどのDRAMをアクセスする装置と、DRAMを制御する制御装置とDRAMから構成されている。
DRAMには、CPUで実行されるプログラム、CPUで処理されるデータ、などを格納する。
【０００４】
図２にメモリ容量が128Mbit、I/O幅が8bitのSDRAMを８個用いたメモリモジュールMEMを示す。
SDRAMは２つのメモリバンクB0およびB1とキャッシュメモリ部CACHEから構成される。各メモリバンクは、ロウデコーダX-DEC、セグメントデコーダーSG-DEC、メモリセルアレイARYとセンスアンプSAから構成される。センスアンプSAは8192bitの１ページ分のデータを保持することが出来る。
キャッシュメモリ部CACHEはキャッシュデコーダーCH-DEC、カラムデコーダーY-DEC、CH15からCH0の１６個のキャッシュメモリから構成される。1つのキャッシュメモリは2048bitのデータを保持できる。
【０００５】
図３を用いてSDRAMからデータを読み出し方法について説明をする。
バンクアクティブ命令ACとバンクアドレスBK0、ロウアドレスR0によって、メモリバンクとメモリバンク内のワード線が選択され、メモリセルアレイARYの１ページ分の8192bitのデータがセンスアンプSAへ転送、保持される。
【０００６】
次に、プリフェッチ命令PFとバンクアドレスBK0、セグメントアドレスSG0、キャッシュアドレスCH0によって、選択されたバンクのセンスアンプSAに保持されたデータのうち、セグメントアドレスSG0で指定された、2048ビットのデータが、キャッシュアドレスCH0で指定されたキャッシュへ転送、保持される。
【０００７】
次に、リード命令RDとキャッシュアドレスCH0、カラムアドレスC0で指定されたキャッシュに保持されデータが８bitずつ読み出される。この時の、クロック周期をTとすると、読出しレイテンシは6Tとなる。
最後にプリチャージ命令PREおよびバンクアドレスBK0によって指定されたメモリバンク内のワード線を非選択にし、センスアンプSAを非活性にする。
【０００８】
プリチャージ命令PREによって、センスアンプSAに保持されたデータをは消えてしまうが、キャッシュ内のデータは保持されたままとなる。
キャッシュメモリ内にデータが保持された状態で、CPUがSDRAMへアクセスを行い、そのアクセスにおける、バンクアドレス、ロウアドレス、セグメントアドレスが、キャッシュ内に保持されたデータの、それぞれのアドレスと等しい場合、キャッシュから直接データを短時間で読み出すことが出来る。
【０００９】
図４にSDRAMのキャッシュメモリCH0への４バーストのデータの書き込み方法を示す。
ライト命令WTとキャッシュアドレスCH0、カラムアドレスC0によって指定されたキャッシュメモリCH0内のアドレスC0、C0+1、C0+2、C0+3へ順に８bitずつデータが書きこまれる。この時の、書き込みレイテンシは０Tとなる。
一度、キャッシュCH0にデータ書きこまれると、メモリセルアレイARYとキャッシュメモリCH0とのデータの同一性は保たれなくなる。同一性を保つためには、キャッシュメモリCH0のデータをメモリセルアレイARYへ書き戻す必要がある。
【００１０】
図５にSDRAMのキャッシュメモリからメモリセルアレイへのデータの書き戻し方法を示す。
リストア命令RST、バンクアドレスBK0、キャッシュアドレスCH0、セグメントアドレスSG0によって、メモリセルアレイARYへ書き込むデータが準備される。次の、バンクアクティブ命令ACとバンクアドレスBK0、ロウアドレスR0によって、指定されたメモリバンク内のワード線が選択され、センスアンプSAが活性化され、データがセンスアンプSAを通じてメモリセルアレイへ書きこまれる。
最後にプリチャージ命令PREおよびバンクアドレスBK0によって指定されたメモリバンク内のワード線を非選択にし、センスアンプSAを非活性にする。
【００１１】
図６に、一度、新しいデータが書きこまれたキャッシュメモリCH0に対して読出しを行った際、CH0に読み出すべきデータが存在しない場合の読出し動作について示す。キャッシュメモリCH0だけに新しいデータが書き込まれると、キャッシュメモリCH0とメモリセルアレイARYとの間にはデータの同一性が失われる。そこで先ず、キャッシュメモリCH0とメモリセルアレイのデータの同一性を保つために、キャッシュメモリCH0からメモリセルアレイへデータを書き戻す。
【００１２】
キャッシュメモリCH0からメモリセルアレイへデータを書き戻すために、リストア命令RST、バンクアドレスBK0、キャッシュアドレスCH0、セグメントアドレスSG0によって、メモリセルアレイARYへ書き込むデータが準備される。次の、バンクアクティブ命令ACとバンクアドレスBK0、ロウアドレスR0によって、指定されたメモリバンク内のワード線が選択され、センスアンプSAが活性化され、データがセンスアンプSAを通じてメモリセルアレイへ書きこまれる。
最後にプリチャージ命令PREおよびバンクアドレスBK0によって指定されたメモリバンク内のワード線を非選択にし、センスアンプSAを非活性にする。
【００１３】
次に、読み出すべきデータの読出しを行う。
データを読み出すために、バンクアクティブ命令ACとバンクアドレスBK0、ロウアドレスR1によって、メモリバンクと、メモリバンク内のワード線が選択され、メモリセルアレイ１ページ分の8192bitのデータがセンスアンプへ転送、保持される。
次に、プリフェッチ命令PFとバンクアドレスBK0、セグメントアドレスSG0、キャッシュアドレスCH0によって、選択されたバンクのセンスアンプに保持されたデータのうち、セグメントアドレスで指定された、2048ビットのデータが、キャッシュアドレスで指定されたキャッシュメモリCH0へ転送、保持される。
次に、リード命令RD、キャッシュアドレスCH0及びカラムアドレスC0によって、指定されたキャッシュメモリCH0に保持されデータが読み出される。
【００１４】
最後にプリチャージ命令PREおよびバンクアドレスBK0によってメモリバンク内のワード線を非選択にし、センスアンプを非活性にする。
このように、キャッシュメモリCH0に所望のデータが存在せず、書き戻しを必要とする場合、データの読出しに14サイクルの時間がかかるため、読出し速度が遅くなってしまい、さらに消費電力も大きくなってしまうという問題がある。
そこで、本発明の目的の１つは、DRAMの読み出し及び書込みを高速化および低電力化することである。
【００１５】
【課題を解決するための手段】
本願発明の代表的な手段を示せば、以下の通りである。
＜キャッシュメモリ切り替え制御＞
キャッシュメモリに対してヒット判定対象とするキャッシュメモリとヒット判定対象としない予備のキャッシュメモリに区別するか、あるいは、キャッシュメモリを内蔵したDRAMへさらに、ヒット判定対象としない予備のキャッシュメモリを追加し、外部から読み出し要求がDRAMへ生じ、キャッシュメモリに対してミスが生じなおかつ、書き戻しが必要な場合、最初に、予備メモリにデータを転送し、読み出す。その後、ミスしたキャッシュメモリのデータをDRAMアレイに書き戻す。さらに、データ転送された予備メモリをヒット判定対象のキャッシュメモリへ、ミス生じたキャッシュメモリを予備メモリに切り替える。
＜キャッシュメモリとセンスアンプキャッシュ同時利用＞
DRAMに内蔵されたキャッシュメモリと各バンクに設けられたセンスアンプの双方をキャッシュメモリとして利用することである。
センスアンプをキャッシュメモリとして利用するには、センスアンプを活性化させたままにしデータを保持させておけば良い。
【００１６】
【発明の実施の形態】
＜実施例１＞
図１は本願を適用した情報処理装置の基本構成図である。
これは、中央演算装置CPUと１次キャッシュメモリL1Cによって構成される情報処理装置MSOと、複数のキャッシュ内蔵DRAMから構成されるDRAMモジュールMEMと、DRAMモジュールＭＥＭを制御するメモリ制御ユニットMCUと、デジタルシグナルプロセッサDSP、ＰＣＩブリッジ回路BRGで構成される。そして、この情報処理装置はクロックCLKに同期して動作する。特に限定はしないが、情報処理装置MSOとメモリ制御ユニットＭＣＵは同一基板上に形成され、情報処理装置SMS0を形作ることも可能である。
【００１７】
PCＩブリッジ回路BRGはＰＣＩインターフェースを備えており、メモリ制御ユニットMCUは、情報処理装置ＭＳ０、デジタルシグナルプロセッサDSP、PCＩブリッジ回路BRGからのアクセス要求をうけて、DRAMモジュールMEMを制御する。
DRAMモジュールMEMは第０メモリＭ０、第１メモリＭ１、第２メモリＭ２、第３メモリＭ３、第４メモリＭ４、第５メモリＭ５、第６メモリＭ６、第７メモリＭ７の８つのメモリで構成されている。前記メモリは、特に制限はないが、１６個のキャッシュメモリおよび２つのメモリバンクから構成され、各メモリバンクにはセンスアンプが設けられているSDRAMである。
前記情報処理装置MSOは、特に制限はないが、３２ビットのアドレス信号によりアドレス空間を管理することができ、前記DRAMモジュールMEMは、前記情報処理装置MSOに管理されている。
【００１８】
前記情報処理装置の動作を説明する。
MS0、DSP、BRGからの読み出し要求がRQ0、RQ1、RQ2を通じてメモリ制御ユニットMCUに入力する。メモリ制御ユニットMCUは３つの読み出し要求のうちCPUからの要求を許可すると、CPUは命令信号ICOより読み出し命令とアドレス信号IADよりアドレスをメモリ制御ユニットMCUへ出力する。メモリ制御ユニットMCUは、情報処理装置MSOからの読出し命令およびアドレスを受け取った後、メモリ命令信号MC0から読み出し命令を、メモリアドレス信号MA0からアドレスをDRAMモジュール（MEM）へ出力すると、DRAMモジュール（MEM）のMDQからデータが出力されDQを通じてMSOへ転送される。
【００１９】
図７は本発明のメモリ制御回路（MCU）の構成例である。
この回路は、DRAMへのアクセス要求を調停するアクセス調停回路ARBとメモリ制御回路CNTから構成される。
前記アクセス調停回路（ARB）はMSO、DSP、BRGからのアクセス要求RQ0、RQ1、RQ2を受け付け、アクセス調停回路（ARB）で設定した優先順位に従ってそれぞれのアクセスを許可する。
メモリ制御回路CNTは、アドレス変換回路AT、ヒット判定回路HJおよびアドレス・コマンド発生回路ACGから構成される。
【００２０】
アドレス変換回路ATは、許可されたアクセスのアドレスをDRAMのバンク、ロウ、セグメント、カラム、キャッシュアドレスへ変換する。
ヒット判定回路HJは、アドレス変換回路ATで変換されたアドレスがDRAM内部のキャッシュメモリへヒットしたかどうかのヒット/ミス判定と、ヒット判定を行ったDRAM内部キャッシュメモリ（CH0からCH15）とDRAMのメモリセルアレイ（ARY）との間にデータの同一性があるかのクリーン/ダーティ判定を行う。クリーンの場合、同一性があり、ダーティの場合は同一性が無いことを意味する。
アドレス・コマンド発生回路ACGはヒット判定回路HJの判定結果によってDRAMモジュールＭＥＭを制御するメモリコマンドMC0から、メモリアドレスMAD0を出力し、入出力信号MDQを通じてデータ転送を行う。
【００２１】
図８は前記アドレス変換回路ATでのアドレス変換の一例である。
IAD[31:0]はメモリ制御回路CNTに入力するアドレスである。
LIN0からLIN4はL1キャッシュL1Cのラインサイズ、IND0からIND7はL1キャッシュL1Cのインデックスアドレス、TAG0からTAG１５はL1キャッシュL1Cのタグアドレスである。
IAD[4:0]はLIN0からLIN4に対応し、IAD[12:5]はIND０からIND7は、に対応し、IAD[31:13]はTAG18からTAG0に対応しており、メモリ制御回路CNTに入力される。
アドレス変換回路ATによって、IAD[31:0]は、DRAMモジュール（MEM）のカラムアドレス（TCOL[0]〜TCOL[7]）、セグメントアドレス（SGAD[0]〜SGAD[1]）、バンクアドレス（BANK）、ロウアドレス（TRAD[0]〜TRAD[12]）へ変換される。
IAD[5:12]はカラムアドレスTCOL[0]からTCOL[7]へIAD[13]はバンクアドレスBANK、IAD[14:15]はセグメントアドレスSGAD[0]からSGAD[1]へ、IAD[16:31]はロウアドレスTRAD[0]からTRAD[12]へ変換される。
【００２２】
図９はメモリ制御回路CNTによる、DRAMに内蔵されているキャッシュメモリの割り当て方法の一例を示す。
キャッシュメモリ内蔵DRAMのバンク0（B0）内のロウアドレスTRAD[12]がLowの領域にCH0、CH1、CH2、CH3の4つのキャッシュメモリが割り当てられており、
バンク0（B0）内のロウアドレスTRAD[12]がHighの領域にCH4、CH5、CH6、CH7の4つのキャッシュメモリが割り当てられており、
バンク1（B1）内のロウアドレスTRAD[12]がLowの領域にCH8、CH9、CH10、CH11の4つのキャッシュメモリが割り当てられており、
バンク1（B1）内のロウアドレスTRAD[12]がHighの領域、CH12、CH13、CH14、CH15の4つのキャッシュメモリが割り当てられている。
このような、キャッシュメモリの割り当てにより、バンク０内のデータの一部はキャッシュメモリCH0からCH7に保持することができ、バンク１（B1）内のデータの一部はキャッシュメモリCH8からCH15に保持することができる。
尚、CH0、CH1、CH2、CH3は同じ階層のキャッシュメモリであり、メモリバンクに対して重複したアドレスが割り当てられていない。CH4乃至CH7、CH8乃至CH11、CH12乃至CH15もそれぞれ同様である。
【００２３】
図１０は前記ヒット判定回路回路HJがヒット判定をおこなうために保持しているDRAMアドレス比較情報の一例を示している。
BANKはバンクアドレス、TRAD[12:0]はロウアドレス、SGADはセグメントアドレス、CHADはキャッシュメモリアドレス、DTはダーティビット、VLはバリッドビットを示す。
【００２４】
キャッシュメモリアドレスCHADの値で、０はキャッシュメモリCH0に対応しているため、キャッシュメモリCH0には、バンクアドレスが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が１で、セグメントアドレスが１のデータが保持されていることを示す。
【００２５】
キャッシュメモリアドレスCHADの値で、１はキャッシュメモリCH1に対応しているため、キャッシュメモリCH１には、バンクアドレスが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が１0で、セグメントアドレスが2のデータが保持されていることを示す。
【００２６】
キャッシュメモリアドレスCHADの値で、２はキャッシュメモリCH2に対応しているため、キャッシュメモリCH2には、バンクアドレスが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が１1で、セグメントアドレスが3のデータが保持されていることを示す。
【００２７】
キャッシュメモリアドレスCHADの値で、３はキャッシュメモリCH3に対応しているため、キャッシュメモリCH3には、バンクアドレスが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が20で、セグメントアドレスが０のデータが保持されていることを示す。
【００２８】
キャッシュメモリアドレスCHADの値で、4はキャッシュメモリCH4に対応しているため、キャッシュメモリCH4には、バンクアドレスが０で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が33で、セグメントアドレスが2のデータが保持されていることを示す。
【００２９】
キャッシュメモリアドレスCHADの値で、5はキャッシュメモリCH5に対応しているため、キャッシュメモリCH5には、バンクアドレスが０で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が45で、セグメントアドレスが3のデータが保持されていることを示す。
【００３０】
キャッシュメモリアドレスCHADの値で、6はキャッシュメモリCH6に対応しているため、キャッシュメモリCH6には、バンクアドレスが０で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が32で、セグメントアドレスが0のデータが保持されていることを示す。
【００３１】
キャッシュメモリアドレスCHADの値で、７はキャッシュメモリCH6に対応しているため、キャッシュメモリCH7には、バンクアドレスが０で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が27で、セグメントアドレスが1のデータが保持されていることを示す。
【００３２】
キャッシュメモリアドレスCHADの値で、8はキャッシュメモリCH8に対応しているため、キャッシュメモリCH8には、バンクアドレスが１で、ロウアドレスTRAD[12]が0で、ロウアドレスTRAD[11：0]が16で、セグメントアドレスが3のデータが保持されていることを示す。
【００３３】
キャッシュメモリアドレスCHADの値で、9はキャッシュメモリCH9に対応しているため、キャッシュメモリCH9には、バンクアドレスが１で、ロウアドレスTRAD[12]が0で、ロウアドレスTRAD[11：0]が3で、セグメントアドレスが2のデータが保持されていることを示す。
【００３４】
キャッシュメモリアドレスCHADの値で、10はキャッシュメモリCH10に対応しているため、キャッシュメモリCH10には、バンクアドレスが１で、ロウアドレスTRAD[12]が0で、ロウアドレスTRAD[11：0]が47で、セグメントアドレスが1のデータが保持されていることを示す。
【００３５】
キャッシュメモリアドレスCHADの値で、11はキャッシュメモリCH11に対応しているため、キャッシュメモリCH11には、バンクアドレスが１で、ロウアドレスTRAD[12]が0で、ロウアドレスTRAD[11：0]が55で、セグメントアドレスが0のデータが保持されていることを示す。
【００３６】
キャッシュメモリアドレスCHADの値で、12はキャッシュメモリCH12に対応しているため、キャッシュメモリCH12には、バンクアドレスが１で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が100で、セグメントアドレスが3のデータが保持されていることを示す。
【００３７】
キャッシュメモリアドレスCHADの値で、13はキャッシュメモリCH13に対応しているため、キャッシュメモリCH13には、バンクアドレスが１で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が111で、セグメントアドレスが2のデータが保持されていることを示す。
【００３８】
キャッシュメモリアドレスCHADの値で、14はキャッシュメモリCH14に対応しているため、キャッシュメモリCH14には、バンクアドレスが１で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が123で、セグメントアドレスが2のデータが保持されていることを示す。
【００３９】
キャッシュメモリアドレスCHADの値で、15はキャッシュメモリCH15に対応しているため、キャッシュメモリCH15には、バンクアドレスが１で、ロウアドレスTRAD[12]が1で、ロウアドレスTRAD[11：0]が255で、セグメントアドレスが0のデータが保持されていることを示す。
【００４０】
ダーティビットDTがLowの時は、キャッシュメモリとDRAMアレイとのデータの同一性が保たれていることを示し、Highの時は、保たれていないことを示す。キャッシュメモリアドレスCHADで、０、１、２、４、５、６、８、９、１０、１２、１３、１４のダーティビットDTがHighのため、キャッシュメモリCH0、CH1、CH2、CH4、CH5、CH6、CH8、CH9、CH10、CH12、CH13、CH14とDRAMアレイとのデータには同一性が保たれていないことを示す。
【００４１】
キャッシュメモリアドレスCHADで、３、８、１１、１５のダーティビットDTがLowのため、キャッシュメモリCH3、CH8、CH11、CH15とDRAMアレイとのデータには同一性が保たれていることを示す。
バリッドビットVLがHighの時は、そのキャッシュメモリはヒット判定を行うキャッシュメモリであることを、Low場合は、そのキャッシュメモリはヒット判定を行わない予備キャッシュメモリであることを示す。キャッシュアドレスCHADで、３、８、１１、１５のバリッドビットVLがLowのため、キャッシュメモリCH3、CH8、CH11、CH15は予備キャッシュメモリであることを示す。
【００４２】
図１１はメモリ制御回路CNTのデータ読出し動作の一例を示している。
図１２‐(ａ)は、キャッシュCH0にヒットした場合の、メモリ制御回路CNTがDRAMモジュール（MEM）へ出力する動作波形の一例を示している。
図１２‐(ｂ)は、キャッシュCH0にキャッシュメモリCH0にミスが生じ、キャッシュメモリCH0がクリーンの場合、つまりキャッシュメモリとDRAMバンク内のデータが同一性を保っている時の、メモリ制御回路CNTがDRAMモジュール（MEM）へ出力する動作波形の一例を示している。
図１２‐(ｃ)は、キャッシュCH0にキャッシュメモリCH0にミスが生じ、キャッシュメモリCH0がダーティの場合、つまりキャッシュメモリとDRAMバンク内のデータが同一性を保っていない時の、メモリ制御回路CNTがDRAMモジュール（MEM）へ出力する動作波形の一例を示している。
【００４３】
命令およびアドレスが入力すると、キャッシュメモリに対するヒット判定を行う。キャッシュメモリCH0にヒットした場合は、キャッシュメモリCH0から直接データを読み出すため、読み出し命令RDとキャッシュメモリアドレスCH0、カラムアドレスＣ０を出力し、その後プリチャージ命令PREを出力する。この時の読出しレイテンシは、クロック周期をTとすると、２Ｔとなる。
【００４４】
キャッシュメモリCH0にミスが生じ、キャッシュメモリがクリーンの場合、つまりキャッシュメモリとDRAMバンク内のデータが同一性を保っている時は、メモリセルアレイからキャッシュメモリCH0にデータを転送してから読み出す。
【００４５】
キャッシュメモリCH0へのデータ転送のために、先ず、バンクアクテイブ命令AC、バンクアドレスBK0、ロウアドレスR0、次にプリフェッチ命令PF、バンクアドレスBK0、キャッシュアドレスCH0、セグメントアドレスSG0を出力する。次に、キャッシュメモリCH0からデータを読み出すため、読み出し命令RDとキャッシュメモリアドレスCH0、カラムアドレスＣ０を出力する。最後にプリチャージ命令PREとバンクアドレスBK0を出力する。この時の読出しレイテンシは６Tとなる。
【００４６】
キャッシュメモリに対してミスが生じ、キャッシュメモリがダーティの場合、つまりキャッシュメモリとDRAMバンク内のデータの同一性が保たれていない時は、予備メモリである他のキャッシュメモリにデータを転送してから読み出す。その後、ミスの生じたキャッシュメモリのデータをDRAMバンクへ書き戻す。最後に、キャッシュ切り替え動作CHANGEで現在、予備メモリであるキャッシュメモリのバリッド信号VLをHighにし、ヒット判定対象のキャッシュメモリに切り替える。そして、ミスの生じたキャッシュメモリのバリッド信号VLをLowにし、予備メモリに切り替える。
【００４７】
予備メモリであるキャッシュメモリCH1へのデータ転送のために、バンクアクテイブ命令AC、バンクアドレスBK0、ロウアドレスR1、次にプリフェッチ命令PF、バンクアドレスBK0、キャッシュアドスCH1、セグメントアドレスSG1を出力する。次に、予備メモリであるキャッシュメモリCH1からデータを読み出すため、読み出し命令RDとキャッシュメモリアドレスCH1、カラムアドレスＣ０を出力する。最後にプリチャージ命令PREとバンクアドレスBK0を出力する。
【００４８】
次に、ミスの生じたキャッシュメモリCH0のデータをDRAMバンクへ書き戻すために、先ず、リストア命令RT、バンクアドレスBK0、キャッシュアドレスCH0、セグメントアドレスSG0を出力する。次にバンクアクティブ命令AC、バンクアドレスBK0、ロウアドレスR0を出力する。次にプリチャージ命令PFE、バンクアドレスBK0を出力する。
【００４９】
最後に、キャッシュ切り替え動作CHANGEで、現在、予備メモリであるキャッシュメモリCH1のバリッド信号VLをHighにし、ヒット判定対象のキャッシュメモリに切り替える。そして、ミスの生じたキャッシュメモリCH0のバリッド信号VLをLowにし、予備メモリに切り替える。このように、予備キャシュメモリを設け、最初に予備キャッシュメモリへデータを転送することで、読出しレイテンシを６Tに抑えることが出来る。
【００５０】
図１０では、すでにDRAMへ内蔵されているキャシュメモリに対して予備メモリを４つ設けたが、予備キャッシュメモリが1つの場合でも等しい効果が得られることはいうまでもない。また、既存のキャッシュメモリ内蔵DRAMへさらに、予備キャッシュメモリを追加したDRAMについても、等しい効果が得られることはいうまでもない。
【００５１】
図１３はメモリ制御回路MCUが行うDRAMモジュール（MEM）への読み出しおよび書き込み時のコマンド発行手順および、その際のDRAMモジュールのレイテンシと電力を示す。
図１３‐(ａ) DRAMモジュール（MEM）への読み出し時のDRAMモジュールのレイテンシと電力を示す。
【００５２】
キャッシュメモリにヒットした場合は、メモリ制御回路MCUはリード命令RDをDRAMモジュールに出力し、DRAMモジュールの読み出しレイテンシRLATは２サイクル、電力RPWは、0.25となる。
キャッシュメモリへのヒット判定がミスでクリーンの場合は、メモリ制御回路MCUはバンクアクティブ命令AC、プリフェッチ命令PF、リード命令RD、プリチャージ命令PREをDRAMモジュールに出力し、DRAMモジュールの読み出しレイテンシRLATは6サイクル、電力RPWは、1.0となる。
【００５３】
キャッシュメモリへのヒット判定がミスでダーティの場合は、メモリ制御回路MCUはバンクアクティブ命令AC、プリフェッチ命令PF、リード命令RD、プリチャージ命令PREをDRAMモジュールに出力し、DRAMモジュールの読み出しレイテンシは6サイクルとなる。その後、DRAMモジュールにために、リストア命令RT、バンクアクティブ命令AC、プリチャージ命令PREを出力し、書き戻しを行う。結果、DRAMモジュールの読み出しレイテンシRLATは6サイクル、電力RPWは1.8となる。
図１３‐(ｂ) DRAMモジュール（MEM）への書き込み時のDRAMモジュールのレイテンシと電力を示す。
キャッシュメモリへのヒット判定がヒットの場合は、メモリ制御回路MCUは書き込み命令WTをDRAMモジュールに出力し、DRAMモジュールの書き込みレイテンシWLATは０サイクル、電力WPWは、0.25となる。
【００５４】
キャッシュメモリへのヒット判定がミスでクリーンの場合は、メモリ制御回路MCUはバンクアクティブ命令AC、プリフェッチ命令PF、書き込み命令WT、プリチャージ命令PREをDRAMモジュールに出力し、DRAMモジュールの書き込みレイテンシWLATは4サイクル、電力WPWは、1.0となる。
【００５５】
キャッシュメモリへのヒット判定がミスでダーティの場合は、メモリ制御回路MCUはバンクアクティブ命令AC、プリフェッチ命令PF、ライト命令WT、プリチャージ命令PREをDRAMモジュールに出力し、DRAMモジュールの読み出しレイテンシは４サイクルとなる。その後、DRAMモジュールにために、リストア命令RT、バンクアクティブ命令AC、プリチャージ命令PREを出力し、書き戻しを行う。結果、DRAMモジュールの書き込みレイテンシWLATは4サイクル、電力WPWは1.8となる。
【００５６】
図１４は、図１０で示したメモリ制御回路MCUが、ヒット判定を行うために保持しているDRAMアドレスの内、キャッシュメモリCH0からCH3が保持しているデータに対応するDRAMアドレスについての変遷の一例を示している。
他のキャッシュメモリが保持しているアドレスも同様の変遷を行うため、キャッシュメモリCH0からCH3が保持しているデータに対応するDRAMアドレスについて代表として説明する。
【００５７】
BANKはバンクアドレス、TRADはロウアドレス、SGADはセグメントアドレス、CHADはキャッシュアドレス、DTはダーティビット、VLはバリッドビットを示す。ダーティビットDTがLowの時は、キャッシュメモリとDRAMバンクとのデータの同一性が保たれていることを示し、Highの時は、保たれていないことを示す。バリッドビットVLがHighの時は、そのキャッシュメモリに対してヒット判定を行い、Low場合は、そのキャッシュメモリのヒット判定を行わないことを示す。
ステップ１では、バンク０のロウアドレスTRAD０には４つのキャッシュメモリCH0、CH1、CH2、CH3が割り当てられており、キャッシュメモリCH0には、バンクアドレスBKが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が１で、セグメントアドレスSGAD が１のデータが保持されており、キャッシュメモリCH１には、バンクアドレスBKが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が10で、グメントアドレスSGADが2のデータが保持されていることを示す。
【００５８】
キャッシュメモリCH2には、バンクアドレスBKが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が１1で、セグメントアドレスSGAD が3のデータが保持されており、キャッシュメモリCH3 には、バンクアドレスBKが０で、ロウアドレスTRAD[12]が０で、ロウアドレスTRAD[11：0]が20で、セグメントアドレスSGADが3のデータが保持されていることを示す。
キャッシュメモリCH0、CH1、CH2のダーティビットDTがHighで、バリッドビットVLがHighであることから、バンクアドレスBANKが０、ロウアドレスTRAD[12]が１のメモリアレイ領域のデータとキャッシュメモリCH0、CH1、CH2に保持されているデータに同一性が保たれていないことを、またキャッシュメモリCH0、CH1、CH2はヒット判定の対象となるキャッシュメモリであることを示す。
【００５９】
図１４  STEP2は、STEP１の状態から、読み出し要求があり、キャッシュメモリCH0、CH1、CH2に対するヒット判定を行った結果、ミスでダーティが生じた場合の、アドレス情報を示す。
外部からのアドレスはアドレス変換回路ATによってバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が35、セグメントアドレスSGADが１に変換される。変換されたアドレスはアドレス比較表のバリッドビットVLがHighのアドレスに対して比較を行う。結果は、アドレスが一致せず、CH0、CH1、CH2のダーティビットDTがHighのため、ミスでダーティとなる。
【００６０】
したがって、要求されたバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が35、セグメントアドレスSGADが１のデータは、アドレス・コマンド発生回路ACG によりバリッドビットVLがLowであるキャッシュメモリCH3へ転送され、読み出される。その後、キャッシュメモリCH0のデータをバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が１、セグメントアドレスSGADが１のメモリアレイへ書き戻す。
その際、アドレス比較情報にはキャッシュメモリCH3のロウアドレスTRAD[11:0]には35、セグメントアドレスSGADには１の値が保持され、バリッドビットVLはHighなり、キャッシュメモリCH3はヒット判定対象のキャッシュメモリに切り替わる。
また、キャッシュメモリCH0のバリッドビットVLはLowとなり、キャッシュメモリCH0は予備メモリへ切り替わる。
【００６１】
図１４のSTEP３は、図１４のSTEP2の状態から、書き込み要求があり、キャッシュメモリCH3に対してヒットした場合の、アドレス比較情報を示す。
外部からのアドレスはアドレス変換回路ATによってバンクアドレスBKが0、ロウアドレスTRAD[12]が0、TRAD[11:0]が35、セグメントアドレスSGADが１に変換される。
【００６２】
変換されたアドレスはアドレス比較表のバリッドビットVLがHighのキャッシュメモリCH1、CH2、CH3のアドレスに対して比較を行う。結果は、キャッシュメモリCH3のアドレスと一致し、ヒットとなり、データはキャッシュメモリCH3に書き込まれる。その際、アドレス比較情報のダーティビットDTがLowからHighになり、ダーティになったことを示す。
【００６３】
図１４のSTEP4は、図１４のSTEP13の状態から、読み出し要求があり、キャッシュメモリに対するヒット判定を行った結果、ミスが生じた場合の、アドレス比較情報を示す。
外部からのアドレスはアドレス変換回路ATによってバンクアドレスBKが0、ロウアドレスTRAD[12]が0、TRAD[11:0]が55、セグメントアドレスSGADが0に変換される。
【００６４】
変換されたアドレスはアドレス比較表のバリッドビットVLがHighのアドレスに対して比較を行う。結果は、アドレスが一致せず、CH１、CH２、CH３のダーティビットDTがHighのため、ミスでダーティとなる。
したがって、要求されたバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が55、セグメントアドレスSGADが0のデータは、アドレス・コマンド発生回路ACG によりバリッドビットVLがLowであるキャッシュメモリCH1へ転送され、読み出される。その後、キャッシュメモリCH1のデータをバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が10、セグメントアドレスSGADが2のメモリアレイへ書き戻す。
その際、アドレス比較情報には、キャッシュメモリCH0のロウアドレスTRAD[11:0]には55、セグメントアドレスSGADには0の値が保持され、バリッドビットVLはHighなり、キャッシュメモリCH3はヒット判定対象のキャッシュメモリに切り替わる。
また、キャッシュメモリCH1のバリッドビットVLはLowとなり、キャッシュメモリCH1は予備キャッシュメモリへ切り替わる。
このように、ヒット判定結果に応じて、STEP1からSTEP4を繰り返しながら、予備キャッシュメモリとなるキャッシュメモリは入れ替わっていく。
【００６５】
＜実施例２＞
図１５は、本願を適用した別の情報処理装置の構成図を示している。
これは、CPUと１次キャッシュメモリ（L1C）によって構成される情報処理装置（MS0、MS1、MS2）と、複数のキャッシュメモリを内蔵したDRAMから構成されるDRAMモジュール（MEM）と、DRAMモジュール（MEM）を制御するメモリ制御ユニット(MCU)と、PCIブリッジ回路(BRG)で構成される。そして、この情報処理装置はクロックCLKに同期して動作する。
PCＩブリッジ回路(BRG)はPCIインターフェースを備えており、メモリ制御ユニット(MCU)は、情報処理装置MS0、MS1、MS2とPCＩブリッジ回路(BRG)からのアクセス要求をうけて、DRAMモジュール（MEM）を制御する。
【００６６】
DRAMモジュール（MEM）は、図１で示したDRAMモジュールと同じモジュールである。
前記CPUは、特に制限はないが、３２ビットのアドレス信号によりアドレス空間を管理することができ、前記DRAMモジュール（MEM）は、前記CPUに管理されている。
【００６７】
前記情報処理装置の動作を説明する。
情報処理装置MS0、MS1、MS2、PCＩブリッジ回路BRGからの読み出し要求がRQ0、RQ1、RQ2、RQ3を通じてメモリ制御ユニット(MCU1)に入力する。メモリ制御ユニット(MCU1)は３つの読み出し要求のうちMS0からの要求を許可すると、MS0は命令信号ICOより読み出し命令とアドレス信号IADよりアドレスをメモリ制御ユニット(MCU)へ出力する。メモリ制御ユニット(MCU)は、MS0からの読出し命令およびアドレスを受け取った後、メモリ命令信号MC0から読み出し命令を、メモリアドレスMA0からアドレスをDRAMモジュール（MEM）へ出力すると、DRAMモジュール（MEM）のMD０から要求されたデータが出力されDQを通じてMS0へ転送される。
【００６８】
図１６は、図１５で示したメモリ制御ユニットMCU1の回路構成を示す。
メモリ制御ユニットMCU1回路は、DRAMへのアクセス要求を調停するアクセス調停回路（ARB１）とメモリ制御回路（CNT１）から構成される。
前記アクセス調停回路（ARB１）はMS0、MS1、MS2、PCIブリッジ回路BRGの各マスターからのアクセス要求RQ0、RQ1、RQ2、RQ3を受け付け、アクセス調停回路（ARB１）で設定した優先順位に従って、メモリ制御回路CNT1へアクセス許可信号GT0、GT1、GT2、GT3のうち1つの信号をイネーブルにし、アクセスを許可する。
メモリ制御回路CNT１は、アドレス変換回路AT、ヒット判定回路HJ１およびアドレス・コマンド発生回路ACGから構成される。
【００６９】
アドレス変換回路ATは、許可されたアクセスのアドレスをDRAMのバンク、ロウ、セグメント、カラム、キャッシュアドレスADへ変換する。
ヒット判定回路HJ１は、アドレス変換回路ATで変換されたアドレスがDRAM内部のキャッシュメモリへヒットしたかどうかのヒット/ミス判定と、ヒット判定を行ったDRAM内部キャッシュメモリ（CH0からCH15）とDRAMのメモリセルアレイ（ARY）との間にデータの同一性があるかのクリーン/ダーティ判定を行う。
アドレス・コマンド発生回路ACGはヒット判定回路HJの判定結果によってDRAMモジュールを制御するメモリコマンド信号をMC0から、メモリアドレス信号をMAD0から出力し、入出力信号MDQを通じてデータ転送を行う。
【００７０】
図１７はメモリ制御回路CNT１によって、キャッシュメモリ内蔵DRAMへアクセスする各々のマスターに割り当てられているキャッシュメモリの一例を示している。
情報処理装置MS0には、CH0、CH1、CH2、CH3の4つのキャッシュメモリが割り当てられており、情報処理装置MS0からのアクセス要求に対するデータが保持される。
情報処理装置MS1にはCH4、CH5、CH6、CH7の4つのキャッシュメモリが割り当てられており、情報処理装置MS1からのアクセス要求に対するデータが保持される。
情報処理装置MS２にはCH8、CH9、CH10、CH11の4つのキャッシュメモリが割り当てられており、情報処理装置MS2 からのアクセス要求に対するデータが保持される。
PCIブリッジ回路BRGにはCH12、CH13、CH14、CH15の4つのキャッシュメモリが割り当てられており、PCIブリッジ回路からのアクセス要求に対するデータが保持される。
尚、CH0、CH1、CH2、CH3は同じ階層のキャッシュメモリであり、メモリバンクに対して重複したアドレスが割り当てられていない。CH4乃至CH7、CH8乃至CH11、CH12乃至CH15もそれぞれ同様である。
【００７１】
図１８は前記ヒット判定回路HJ１がヒット判定をおこなうために保持している、マスター毎の、キャッシュメモリが保持しているデータのDRAMアドレス情報の一例を示している。
BANKはバンクアドレス、TRADはロウアドレス、SGADはセグメントアドレス、CHADはキャッシュアドレス、DTはダーティビット、VLはバリッドビットを示す。
ダーティビットDTがLowの時は、キャッシュメモリとDRAMのメモリアレイとのデータの同一性が保たれていることを示し、Highの時は、保たれていないことを示す。
バリッドビットVLがHighの時は、そのキャッシュメモリに対して、ヒット判定を行い、Low場合は、そのキャッシュメモリのヒット判定を行わない予備メモリであることを示す。
【００７２】
マスターMS0には、４つのキャッシュメモリCH0、CH1、CH2、CH3が割り当てられている。
キャッシュメモリCH0には、バンクアドレスBANKが０で、ロウアドレスTRAD[12:0]が１で、セグメントアドレスSGADが１のデータが保持されている。
キャッシュメモリCH1には、バンクアドレスBANKが１で、ロウアドレスTRAD[12:0]が１０で、セグメントアドレスSGADが２のデータが保持されている。
キャッシュメモリCH２には、バンクアドレスBANKが０で、ロウアドレスTRAD[12:0]が１１で、セグメントアドレスSGADが３のデータが保持されている。
キャッシュメモリCH３には、バンクアドレスBANKが１で、ロウアドレスTRAD[12:0]が２０で、セグメントアドレスSGADが０のデータが保持されている。
【００７３】
キャッシュメモリCH０、CH1、CH2のバリッドビットVLはHighのため、キャッシュメモリCH０、CH1、CH2はヒット判定対象となり、キャッシュメモリCH３のバリッドビットVLはLowのため、キャッシュメモリCH３はヒット判定対象にはならない。
【００７４】
また、キャッシュメモリCH０、CH1、CH2のダーティビットDTはHighのため、キャッシュメモリCH０、CH1、CH2はDRAMのメモリアレイとのデータの同一性が保たれておらず、キャッシュメモリCH３のダーティビットDTはLowのため、キャッシュメモリCH３はメモリアレイとのデータの同一性が保たれていることを示す。
【００７５】
マスターMS１には、４つのキャッシュメモリCH4、CH5、CH6、CH7が割り当てられている。
キャッシュメモリCH4には、バンクアドレスBANKが1で、ロウアドレスTRAD[12:0]が33で、セグメントアドレスSGADが2のデータが保持されている。
キャッシュメモリCH5には、バンクアドレスBANKが0で、ロウアドレスTRAD[12:0]が45で、セグメントアドレスSGADが3のデータが保持されている。
キャッシュメモリCH6は、バンクアドレスBANKが０で、ロウアドレスTRAD[12:0]が32で、セグメントアドレスSGADが0のデータが保持されている。
キャッシュメモリCH7には、バンクアドレスBANKが１で、ロウアドレスTRAD[12:0]が27で、セグメントアドレスSGADが1のデータが保持されている。
【００７６】
キャッシュメモリCH4、CH５、CH６のバリッドビットVLはHighのため、キャッシュメモリCH4、CH5、CH6はヒット判定対象となり、キャッシュメモリCH７のバリッドビットVLはLowのため、キャッシュメモリCH７はヒット判定対象にはならない。
【００７７】
また、キャッシュメモリCH4、CH５、CH６のダーティビットDTはHighのため、キャッシュメモリCH４、CH５、CH６はDRAMのメモリアレイとのデータの同一性が保たれておらず、キャッシュメモリCH７のダーティビットDTはLowのため、キャッシュメモリCH7はメモリアレイとのデータの同一性が保たれていることを示す。
【００７８】
マスターMS２には、４つのキャッシュメモリCH8、CH9、CH10、CH11が割り当てられている。
キャッシュメモリCH8には、バンクアドレスBANKが０で、ロウアドレスTRAD[12:0]が16で、セグメントアドレスSGADが3のデータが保持されている。
キャッシュメモリCH9には、バンクアドレスBANKが0で、ロウアドレスTRAD[12:0]が3で、セグメントアドレスSGADが２のデータが保持されている。
キャッシュメモリCH10には、バンクアドレスBANKが1で、ロウアドレスTRAD[12:0]が47で、セグメントアドレスSGADが1のデータが保持されている。
キャッシュメモリCH11には、バンクアドレスBANKが１で、ロウアドレスTRAD[12:0]が55で、セグメントアドレスSGADが０のデータが保持されている。
【００７９】
キャッシュメモリCH８、CH９、CH10のバリッドビットVLはHighのため、キャッシュメモリCH8、CH９、CH10はヒット判定対象となり、キャッシュメモリCH11のバリッドビットVLはLowのため、キャッシュメモリCH11はヒット判定対象にはならない。
【００８０】
また、キャッシュメモリCH8、CH９、CH10のダーティビットDTはHighのため、キャッシュメモリCH8、CH9、CH10はDRAMのメモリアレイとのデータの同一性が保たれておらず、キャッシュメモリCH11のダーティビットDTはLowのため、キャッシュメモリCH11はメモリアレイとのデータの同一性が保たれていることを示す。マスターPCIブリッジ回路BRGには、４つのキャッシュメモリCH12、CH13、CH14、CH15が割り当てられている。
キャッシュメモリCH12には、バンクアドレスBANKが1で、ロウアドレスTRAD[12:0]が100で、セグメントアドレスSGADが3のデータが保持されている。
キャッシュメモリCH13には、バンクアドレスBANKが0で、ロウアドレスTRAD[12:0]が111で、セグメントアドレスSGADが２のデータが保持されている。
キャッシュメモリCH14には、バンクアドレスBANKが1で、ロウアドレスTRAD[12:0]が123で、セグメントアドレスSGADが2のデータが保持されている。
キャッシュメモリCH15には、バンクアドレスBANKが0で、ロウアドレスTRAD[12:0]が255で、セグメントアドレスSGADが０のデータが保持されている。
キャッシュメモリCH12、CH13、CH14のバリッドビットVLはHighのため、キャッシュメモリCH12、CH13、CH14はヒット判定対象となり、キャッシュメモリCH15のバリッドビットVLはLowのため、キャッシュメモリCH15はヒット判定対象にはならない。
【００８１】
また、キャッシュメモリCH12、CH13、CH14のダーティビットDTはHighのため、キャッシュメモリCH12、CH13、CH14はDRAMのメモリアレイとのデータの同一性が保たれておらず、キャッシュメモリCH15のダーティビットDTはLowのため、キャッシュメモリCH15はメモリアレイとのデータの同一性が保たれていることを示す。
このように、マスターによって、キャッシュメモリと予備メモリを割り当てることによって、他のマスターによるキャッシュメモリ内のデータの入れ替えが起こらず、マスター毎に最適に、キャッシュを制御することができる。
【００８２】
図１９はメモリ制御回路MCU１が、情報処理装置MS0からのアクセスに対して、ヒット判定を行うために保持しているDRAMのアドレス情報の変遷の一例を示している。
情報処理装置MS1、MS2、PCIブリッジ回路BRGに関しても同様の動作となるので情報処理装置MS0を代表して説明する。BANKはバンクアドレス、TRADはロウアドレス、SGADはセグメントアドレス、CHADはキャッシュアドレス、DTはダーティビット、VLはバリッドビットを示す。ダーティビットDTがLowの時は、キャッシュメモリとDRAMバンクとのデータの同一性が保たれていることを示し、Highの時は、保たれていないことを示す。バリッドビットVLがHighの時は、そのキャッシュメモリに対してヒット判定を行い、Low場合は、そのキャッシュメモリのヒット判定を行わないことを示す。
【００８３】
STEP１では、情報処理装置MS0には４つのキャッシュメモリCH0、CH1、CH2、CH3が割り当てられており、キャッシュメモリCH0には、バンクアドレスBKが0で、ロウアドレスTRAD[12：0]が1で、セグメントアドレスSGAD が１のデータが保持されており、キャッシュメモリCH1には、バンクアドレスBKが1で、ロウアドレスTRAD[12:0]が10で、セグメントアドレスSGADが2のデータが保持されており、キャッシュメモリCH2には、バンクアドレスBKが0で、ロウアドレスTRAD[12：0]が11で、セグメントアドレスSGADが3のデータが保持されており、キャッシュメモリCH3には、バンクアドレスBKが０で、ロウアドレスTRAD[12：0]が20で、セグメントアドレスSGADが3のデータが保持されていることを示す。
【００８４】
キャッシュメモリCH0、CH1、CH2のダーティビットDTがHighで、バリッドビットVLがHighであることから、メモリアレイ領域のデータとキャッシュメモリCH0、CH1、CH2に保持されているデータに同一性が保たれていないことを、またキャッシュメモリCH0、CH1、CH2はヒット判定の対象となるキャッシュメモリであることを示す。
【００８５】
STEP2は、STEP１の状態から、情報処理装置MS0より読み出し要求があり、キャッシュメモリCH0、CH1、CH2に対するヒット判定を行った結果、ミスでダーティが生じた場合の、アドレス情報を示す。
外部からのアドレスはアドレス変換回路ATによってバンクアドレスBKが０、ロウアドレスTRAD[12:0]が35、セグメントアドレスSGADが１に変換される。変換されたアドレスはアドレス比較表のバリッドビットVLがHighのアドレスに対して比較を行う。結果は、アドレスが一致せず、CH0、CH1、CH2のダーティビットDTがHighのため、ミスでダーティとなる。
【００８６】
したがって、要求されたバンクアドレスBKが０、ロウアドレスTRAD[12:0]が35、セグメントアドレスSGADが１のデータは、アドレス・コマンド発生回路ACG によりバリッドビットVLがLowであるキャッシュメモリCH3へ転送され、読み出される。その後、キャッシュメモリCH0のデータをバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が１、セグメントアドレスSGADが１のメモリアレイへ書き戻す。
その際、アドレス比較情報にはキャッシュメモリCH3のロウアドレスTRAD[12:0]には３５、セグメントアドレスSGADには１の値が保持され、バリッドビットVLはHighなり、キャッシュメモリCH3はヒット判定対象のキャッシュメモリに切り替わる。
また、キャッシュメモリCH０のバリッドビットVLはLowとなり、キャッシュメモリCH0は予備メモリへ切り替わる。
【００８７】
STEP３は、STEP2の状態から、情報処理装置MS0からの書き込み要求があり、キャッシュメモリCH3に対してヒットした場合の、アドレス比較情報を示す。
外部からのアドレスはアドレス変換回路ATによってバンクアドレスBKが０、ロウアドレスTRAD[12:0]が35、セグメントアドレスSGADが１に変換される。
変換されたアドレスはアドレス比較表のバリッドビットVLがHighのキャッシュメモリCH1、CH2.CH3のアドレスに対して比較を行う。結果は、キャッシュメモリCH3のアドレスと一致し、ヒットとなり、データはキャッシュメモリCH3に書き込まれる。その際、アドレス比較情報のダーティビットDTがLowからHighになり、ダーティになったことを示す。
【００８８】
STEP4は、STEP3の状態から、情報処理装置MS0からの読み出し要求があり、キャッシュメモリに対するヒット判定を行った結果、ミスが生じた場合の、アドレス比較情報を示す。
外部からのアドレスはアドレス変換回路ATによってバンクアドレスBKが０、ロウアドレスTRAD[12:0]が55、セグメントアドレスSGADが0に変換される。
変換されたアドレスはアドレス比較表のバリッドビットVLがHighのアドレスに対して比較を行う。結果は、アドレスが一致せず、CH１、CH２、CH３のダーティビットDTがHighのため、ミスでダーティとなる。
【００８９】
したがって、要求されたバンクアドレスBKが０、ロウアドレスTRAD[12]が０、TRAD[11:0]が55、セグメントアドレスSGADが0のデータは、アドレス・コマンド発生回路ACG によりバリッドビットVLがLowであるキャッシュメモリCH1へ転送され、読み出される。その後、キャッシュメモリCH1のデータをバンクアドレスBKが０、ロウアドレスTRAD[12:0]が10、セグメントアドレスSGADが2のメモリアレイへ書き戻す。
その際、アドレス比較情報にはキャッシュメモリCH0のロウアドレスTRAD[12:0]には55、セグメントアドレスSGADには0の値が保持され、バリッドビットVLはHighなり、キャッシュメモリCH3はヒット判定対象のキャッシュメモリに切り替わる。
また、キャッシュメモリCH1のバリッドビットVLはLowとなり、キャッシュメモリCH1は予備メモリへ切り替わる。
【００９０】
このように、メモリ制御回路ＣＮＴ１により、ヒット判定結果に応じて、STEP1からSTEP4を繰り返しながら、予備キャッシュメモリとなるキャッシュメモリは入れ替わっていき、予備キャッシュメモリを利用したＤＲＡＭモジュールに対する制御動作は、図１１、図１２、図１３に示す動作と等しく、高速にＤＲＡＭモジュールを制御できる。
また、マスターによって、キャッシュメモリと予備メモリを割り当てることによって、他のマスターによるキャッシュメモリ内のデータの入れ替えが起こらず、マスター毎に最適に、キャッシュを制御することができる。
【００９１】
＜実施例３＞
図２０は本発明のメモリ制御回路（MCU２）の１構成例である。
この回路は、DRAMへのアクセス要求を調停するアクセス調停回路（ARB２）とメモリ制御回路（CNT２）から構成される。
前記アクセス調停回路（ARB３）はアクセス要求RQ0、RQ1、RQ2を受け付け、アクセス調停回路（ARB３）で設定した優先順位に従ってそれぞれのアクセスを許可する。
【００９２】
メモリ制御回路CNT2は、アドレス変換回路AT2、ヒット判定回路HJ２およびアドレス・コマンド発生回路ACG2から構成される。
アドレス変換回路AT2は、許可されたアクセスのアドレスをDRAMのバンク、ロウ、セグメント、カラム、キャッシュアドレスADへ変換する。
ヒット判定回路HJ2は、アドレス変換回路AT2で変換されたアドレスがDRAM内部のキャッシュメモリおよびセンスアンプへのヒット/ミス判定と、ヒット判定を行ったDRAM内部キャッシュメモリ（CH0からCH15）とDRAMのメモリセルアレイ（ARY）との間にデータの同一性があるかのクリーン/ダーティ判定を行う。
アドレス・コマンド発生回路ACG2はヒット判定回路HJ2の判定結果によってDRAMモジュールを制御するメモリコマンド信号をMC0から、メモリアドレス信号をMAD0から出力し、入出力信号MDQを通じてデータ転送を行う。
このように、内蔵しているキャッシュメモリのみならず、さらにセンスアンプをキャッシュメモリとして利用することにより、センスアンプで保持できるデータ分のキャッシュメモリサイズが増えることになり、キャッシュメモリのヒット率を上げることができ、高速かつ低電力でDRAMを動作させることが出来る。
【００９３】
図２１メモリ制御回路CNT２によってキャッシュメモリ内蔵DRAMのバンク０(B0)とバンク１(B1)に割り当てられているキャッシュメモリの一例を示している。キャッシュメモリ内蔵DRAMのバンク0（B0）にはキャッシュメモリCH0、CH1、CH2、CH3、CH4、CH5、CH6、CH7の８つのキャッシュメモリが割り当てられている。キャッシュメモリCH0からCH6までのキャッシュメモリ群WBCH0はメモリセルアレイARYとのデータ同一性が保たれないダーティの場合が生じる。
またキャッシュメモリCH7は常にメモリセルアレイARYと常に、データの同一性を保つキャッシュメモリWTCH0である。つまりキャッシュメモリCH7に書き込みが発生したら、常にメモリセルアレイへの書き込みを行う。
【００９４】
キャッシュメモリ内蔵DRAMのバンク１（B１）にはキャッシュメモリCH8、CH9、CH10、CH11、CH12、CH13、CH14、CH15の８つのキャッシュメモリが割り当てられている。
キャッシュメモリCH8からCH14までのキャッシュメモリ群WBCH1はメモリセルアレイARYとのデータの同一性が保たれないダーティの場合が生じる。
またキャッシュメモリCH15は常にメモリセルアレイARYと常に、データの同一性を保つキャッシュメモリWTCH1である。つまりキャッシュメモリCH15に書き込みが発生したら、常にメモリセルアレイへの書き込みを行う。
このような、キャッシュメモリの割り当てにより、バンク０内のデータの一部はキャッシュメモリCH0からCH7に保持することができ、バンク１（B1）内のデータの一部はキャッシュメモリCH8からCH15に保持することができる。
【００９５】
図２２‐(ａ)はヒット判定回路HJ２がキャッシュメモリCH0からCH15に対するヒット判定をおこなうために保持しているタグアドレスの一例を示している。
BANKはバンクアドレス、TRAD[12:0]はロウアドレス、SGADはセグメントアドレス、CHADはキャッシュメモリアドレス、DTはダーティビット、VLはバリッドビット、WTHはライトスルービットを示す。
ダーティビットDTがLowの時は、キャッシュメモリとDRAMアレイとのデータの同一性が保たれていることを示し、Highの時は、保たれていないことを示す。
キャッシュメモリアドレスCHADで、０、１、２、３、４、５、６、８、９、１０、１１、１２、１３、１４のダーティビットDTがHighのため、キャッシュメモリCH0、CH1、CH2、CH4、CH5、CH6、CH8、CH9、CH10、CH12、CH13、CH14とDRAMアレイとのデータには同一性が保たれていないことを示す。
【００９６】
キャッシュメモリアドレスCHADで、７、１５のダーティビットDTがLowのため、キャッシュメモリCH7、CH15とDRAMアレイとのデータには同一性が保たれていることを示す。
バリッドビットVLがHighの時は、そのキャッシュメモリに対してヒット判定を行い、Low場合は、そのキャッシュメモリのヒット判定を行わないことを示す。全キャッシュメモリはヒット判定の対象である。
WTHはライトスルービットWTHがHighの時は、対象となるキャッシュメモリへの書き込みが発生した際は、常にメモリアレイARYへも同一データを書き込み（ライトスルー）、Lowの時は、対象となるキャッシュメモリのデータは、必要な時にメモリアレイARYへ書き戻される（ライトハバック）。
【００９７】
キャッシュメモリアドレスCHADで、7、15のライトスルービットWTHがHighのため、キャッシュメモリCH7、CH15は、ライトスルー動作対象のキャッシュメモリである。
キャッシュメモリアドレスCHADで、０から６、８から14のライトスルービットWTHがLowのため、キャッシュメモリCH０からCH6、CH８からCH14は、ライトバック動作対象のキャッシュメモリである。
【００９８】
キャッシュメモリアドレスCHADの値で、０はキャッシュメモリCH0に対応しているため、キャッシュメモリCH0には、バンクアドレスが０で、ロウアドレスTRAD[12:0]が０で、セグメントアドレスが２のデータが保持されていることを示す。
【００９９】
キャッシュメモリアドレスCHADの値で、１はキャッシュメモリCH1に対応しているため、キャッシュメモリCH１には、バンクアドレスが０でロウアドレスTRAD[12：0]が3で、セグメントアドレスが3のデータが保持されていることを示す。
【０１００】
キャッシュメモリアドレスCHADの値で、２はキャッシュメモリCH2に対応しているため、キャッシュメモリCH2には、バンクアドレスが０で、ロウアドレスTRAD[12：0]が１1で、セグメントアドレスが3のデータが保持されていることを示す。
【０１０１】
キャッシュメモリアドレスCHADの値で、３はキャッシュメモリCH3に対応しているため、キャッシュメモリCH3には、バンクアドレスBANKが０で、ロウアドレスTRAD[12：0]が20で、セグメントアドレスが０のデータが保持されていることを示す。
【０１０２】
キャッシュメモリアドレスCHADの値で、4はキャッシュメモリCH4に対応しているため、キャッシュメモリCH4には、バンクアドレスBANKが0で、ロウアドレスTRAD[12：0]が33で、セグメントアドレスが2のデータが保持されていることを示す。
【０１０３】
キャッシュメモリアドレスCHADの値で、5はキャッシュメモリCH5に対応しているため、キャッシュメモリCH5には、バンクアドレスBKが０、ロウアドレスTRAD[12：0]が45で、セグメントアドレスが3のデータが保持されていることを示す。
【０１０４】
キャッシュメモリアドレスCHADの値で、6はキャッシュメモリCH6に対応しているため、キャッシュメモリCH6には、バンクアドレスBANKが0で、ロウアドレスTRAD[12：0]が32で、セグメントアドレスが0のデータが保持されていることを示す。
【０１０５】
キャッシュメモリアドレスCHADの値で、７はキャッシュメモリCH6に対応しているため、キャッシュメモリCH7には、バンクアドレスBANKが0で、ロウアドレスTRAD[12：0]が27で、セグメントアドレスが1のデータが保持されていることを示す。
【０１０６】
キャッシュメモリアドレスCHADの値で、8はキャッシュメモリCH8に対応しているため、キャッシュメモリCH8には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が16で、セグメントアドレスが3のデータが保持されていることを示す。
【０１０７】
キャッシュメモリアドレスCHADの値で、9はキャッシュメモリCH9に対応しているため、キャッシュメモリCH9には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が3で、セグメントアドレスが2のデータが保持されていることを示す。
【０１０８】
キャッシュメモリアドレスCHADの値で、10はキャッシュメモリCH10に対応しているため、キャッシュメモリCH10には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が47で、セグメントアドレスが1のデータが保持されていることを示す。
【０１０９】
キャッシュメモリアドレスCHADの値で、11はキャッシュメモリCH11に対応しているため、キャッシュメモリCH11には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が55で、セグメントアドレスが0のデータが保持されていることを示す。
【０１１０】
キャッシュメモリアドレスCHADの値で、12はキャッシュメモリCH12に対応しているため、キャッシュメモリCH12には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が100で、セグメントアドレスが3のデータが保持されていることを示す。
【０１１１】
キャッシュメモリアドレスCHADの値で、13はキャッシュメモリCH13に対応しているため、キャッシュメモリCH13には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が111で、セグメントアドレスが2のデータが保持されていることを示す。
【０１１２】
キャッシュメモリアドレスCHADの値で、14はキャッシュメモリCH14に対応しているため、キャッシュメモリCH14には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が123で、セグメントアドレスが2のデータが保持されていることを示す。
【０１１３】
キャッシュメモリアドレスCHADの値で、15はキャッシュメモリCH15に対応しているため、キャッシュメモリCH15には、バンクアドレスBANKが１で、ロウアドレスTRAD[12：0]が255で、セグメントアドレスが0のデータが保持されていることを示す。
【０１１４】
図２２‐(ｂ)はヒット判定回路HJ２がセンスアンプに対するヒット判定をおこなうために保持しているDRAMアドレスの一例を示している。
BANKはバンクアドレス、TRAD[12:0]はロウアドレス、SVLはセンスアンプバリッドビットを示す。センスアンプバリッドビットSVLがHighの時は、センスアンプが活性化しており、Lowのときは非活性であることを示す。
バンク0のセンスアンプは活性化しておりロウアドレスTRAD[12:0]が27のデータがセンスアンプに保持され、バンク１のセンスアンプは活性化しておりロウアドレスTRAD[12:0]が255のデータがセンスアンプに保持されていることを示す。
【０１１５】
このように、内蔵キャッシュメモリのみならず、さらにセンスアンプをキャッシュメモリとして利用することにより、16ｋビット分（8kビット×２バンク）のキャッシュメモリサイズが増え、キャッシュメモリのヒット率を上げることができ、高速かつ低電力でDRAMを動作させることが出来る。
【０１１６】
図２３はメモリ制御回路MCU２で行う、内蔵キャッシュとセンスアンプに対するヒット判定の一例を示す。
図２３−(ａ)は、図２２−(ａ)で示すライトスルービットWTHがLowであるキャッシュメモリに対するヒット判定動作を示す。
命令ICOM及びアドレスIADがメモリ制御回路にMCU2に入力すると、メモリ制御回路MCU2内のヒット判定回路HJ2は、ライトスルービットWTHがLowであるキャッシュメモリに対してヒット判定を同時に行う。
入力したアドレスIADとヒット判定回路HJ2が保持しているタグアドレス内のライトスルービットWTHがLowのアドレスと一致した場合は、ヒットHIT1となる。
アドレスが一致せず、比較したキャッシュメモリのアドレス比較テーブル内のダーティビットがHighの場合は、ミスかつダーティMISS1(Dirty)となる。また、アドレスが一致せず、比較したキャッシュメモリのタグアドレス内のダーティビットがLowの場合は、ミスかつクリーンMISS1(Clean)となる。
【０１１７】
図２３−(ｂ)は、図２３−(ａ)で示すライトスルービットWTHがHighであるキャッシュメモリおよび、図２２−(ｂ)示すセンスアンプに対するヒット判定動作を示す。
命令ICOM及びアドレスIADがメモリ制御回路にMCU2に入力すると、メモリ制御回路MCU2内のヒット判定回路HJ2は、ライトスルービットWTHがHighであるキャッシュメモリとセンスアンプに対してヒット判定を同時に行う。
【０１１８】
入力したアドレスIADとヒット判定回路HJ2が保持している図２２−(ａ)で示すタグアドレス内のライトスルービットWTHがHighのアドレスと一致した場合は、ヒットHIT2となる。アドレスが一致しなかった場合、ミスMISS2となる。
また、入力したアドレスIADとヒット判定回路HJ2が保持している図２３−(ｂ)で示すタグアドレス内のアドレスと一致し、センスアンプバリッドビットSVLがHighの場合は、ヒットHIT3 となる。アドレスが一致せず、比較したセンスアンプのタグアドレスのセンスアンプバリッドビットSVLがHighの場合は、MISS3（ACT）となる。センスアンプバリッドビットSVLがLowの場合は、ミスかつ非活性MISS3(INACT)となる。
【０１１９】
図２３−(ｃ)は、図２２−(ａ)で示すライトスルービットWTHがHighであるキャッシュメモリへのヒット判定結果が、ミスかつダーティMISS1(Dirty)の場合に、そのMISS1（Dirty）となったキャッシュメモリのタグアドレスのバンクアドレスBANKおよびロウアドレスTRAD[12:0]と、図２２−(ｂ)で示すセンアンプのタグアドレスとのヒット判定動作を示す。
MISS1（Dirty）となったキャッシュメモリのタグアドレス内のバンクアドレスBANKおよびロウアドレスTRAD[12:0]とが、図２２−(ｂ)で示すセンアンプのタグアドレス内のバンクアドレスBANK1とロウアドレスTRAD[12:0]とに一致すればヒットHIT4となる。一致しなければMISS4となる。
【０１２０】
図２４は図２３で説明したヒット判定結果に基づいて、アドレス・コマンド発生回路ACGがメモリモジュールMEM0に対して出力する、データ書き込みのためのコマンドの一例である。
【０１２１】
判定結果がHIT1の時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトコマンドWTを出力する。その際、書き込み先DESTは、ヒットしたライトバック・キャッシュメモリWBCHとなり、DRAMの書き込みレイテンシWLATは0、書き込み電力WPWは、0.25となる。
【０１２２】
判定結果がMISS1かつHIT2かつACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトスルー・キャッシュメモリとメモリセルアレイARYへの書き込みを行うため、ライトコマンドWTとリストアコマンドRTを出力する。その際、書き込み先DESTは、ヒットしたライトスルー・キャッシュメモリWTCHおよびメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは0、書き込み電力WPWは、0.35となる。
【０１２３】
判定結果がMISS1かつMISS2かつHIT3かつACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトスルー・キャッシュメモリとメモリセルアレイARYへの書き込みを行うため、プリフェッチコマンドPFとライトコマンドWTとリストアコマンドRTを出力する。その際、書き込み先DESTは、ヒットしたライトスルー・キャッシュメモリWTCHおよびメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは2、書き込み電力WPWは、0.5となる。
【０１２４】
判定結果がMISS1（Clean）かつMISS2かつMISS3かつACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトバック・キャッシュメモリへの書き込みを行うため、プリチャージコマンドPREとバンクアクティブコマンドACとプリフェッチコマンドPFとライトコマンドWTを出力する。その際、書き込み先DESTは、ライトバック・キャッシュメモリWBCHとなり、DRAMの書き込みレイテンシWLATは6、書き込み電力WPWは、1.0となる。
【０１２５】
判定結果がMISS1（Clean）かつMISS2かつMISS3かつINACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトバック・キャッシュメモリへの書き込みを行うため、バンクアクティブコマンドACとプリフェッチコマンドPFとライトコマンドWTを出力する。その際、書き込み先DESTは、ライトバック・キャッシュメモリWBCHとなり、DRAMの書き込みレイテンシWLATは4、書き込み電力WPWは、0.9となる。
【０１２６】
判定結果がMISS1（Dirty）かつMISS2かつMISS3かつACTかつHIT4の時、アドレス・コマンド発生回路ACG２は、メモリセルアレイARYへの書き戻しと、ライトバック・キャッシュメモリへの書き込みを行うため、リストアコマンドRT、プリチャージコマンドPRE、バンクアクティブコマンドACとプリフェッチコマンドPFとライトコマンドWTを出力する。その際、書き込み先DESTは、ライトバック・キャッシュメモリWBCHおよびメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは8、書き込み電力WPWは、1.2となる。
【０１２７】
判定結果がMISS1（Dirty）かつMISS2かつMISS3かつACTかつMISS4の時、アドレス・コマンド発生回路ACG２は、メモリセルアレイARYへの書き戻しと、ライトバック・キャッシュメモリへの書き込みを行うため、プリチャージコマンドPRE、リストアコマンドRT、バンクアクティブコマンドAC、プリチャージコマンドPRE、バンクアクティブコマンドACとプリフェッチコマンドPFとライトコマンドWTを出力する。その際、書き込み先DESTは、ライトバック・キャッシュメモリWBCHおよびメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは12、書き込み電力WPWは、1.8となる。
【０１２８】
判定結果がMISS1（Dirty）かつMISS2かつMISS3かつINACTかつMISS4の時、アドレス・コマンド発生回路ACG２は、メモリセルアレイARYへの書き戻しと、ライトバック・キャッシュメモリへの書き込みを行うため、リストアコマンドRT、バンクアクティブコマンドAC、プリチャージコマンドPRE、バンクアクティブコマンドACとプリフェッチコマンドPFとライトコマンドWTを出力する。その際、書き込み先DESTは、ライトバック・キャッシュメモリWBCHおよびメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは10、書き込み電力WPWは、1.7となる。
【０１２９】
図２５は図２３で説明したヒット判定結果に基づいて、アドレス・コマンド発生回路ACGがメモリモジュールMEM0に対して出力する、データ書き込みのためのコマンドの一例である。
【０１３０】
判定結果がHIT1の時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトバックキャッシュメモリWBCHからデータを読み出すためリードコマンドRDを出力する。その際、読み出し元SORSは、ヒットしたライトバック・キャッシュメモリWBCHとなり、DRAMの読み出しレイテンシRLATは2、書き込み電力RPWは、0.25となる。
【０１３１】
判定結果がMISS1かつHIT2かつACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトスルー・キャッシュメモリからデータを読み出しを行うため、リードコマンドRDを出力する。その際、読み出し元SORSは、ヒットしたライトスルー・キャッシュメモリWTCHとなり、DRAMの読み出しレイテンシRLATは２、読み出し電力RPWは、0.25となる。
【０１３２】
判定結果がMISS1かつMISS2かつHIT3かつACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトスルー・キャッシュメモリから読み出しを行うため、プリフェッチコマンドPFとリードコマンドRDを出力する。その際、読み出し元SORSはヒットしたライトスルー・キャッシュメモリWTCHとなり、DRAMの読み出しレイテンシRLATは2、読み出し電力RPWは、0.5となる。
【０１３３】
判定結果がMISS1（Clean）かつMISS2かつMISS3かつACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトバック・キャッシュメモリから読み出しを行うため、プリチャージコマンドPREとバンクアクティブコマンドACとプリフェッチコマンドPFとリードコマンドRDを出力する。その際、読み出し元SORSは、ライトバック・キャッシュメモリWBCHとなり、DRAMの読み出しレイテンシRLATは８、読み出し電力RPWは、1.0となる。
【０１３４】
判定結果がMISS1（Clean）かつMISS2かつMISS3かつINACTの時、他の判定結果によらず、アドレス・コマンド発生回路ACG２はライトバック・キャッシュメモリへから読み出しを行うため、バンクアクティブコマンドACとプリフェッチコマンドPFとリードコマンドRDを出力する。その際、読み出し元SORSは、ライトバック・キャッシュメモリWBCHとなり、DRAMの読み出しレイテンシRLATは６、読み出し電力RPWは、0.9となる。
【０１３５】
判定結果がMISS1（Dirty）かつMISS2かつMISS3かつACTかつHIT4の時、アドレス・コマンド発生回路ACG２は、メモリセルアレイARYへの書き戻しと、ライトバック・キャッシュメモリからの読み出しを行うため、リストアコマンドRT、プリチャージコマンドPRE、バンクアクティブコマンドACとプリフェッチコマンドPFとリードコマンドRDを出力する。その際、読み出し元は、ライトバック・キャッシュメモリWBCHとなり、DRAMの読み出しレイテンシRLATは10、読み出し電力RPWは、1.2となる。
【０１３６】
判定結果がMISS1（Dirty）かつMISS2かつMISS3かつACTかつMISS4の時、アドレス・コマンド発生回路ACG２は、メモリセルアレイARYへの書き戻しと、ライトバック・キャッシュメモリからの読出しを行うため、プリチャージコマンドPRE、リストアコマンドRT、バンクアクティブコマンドAC、プリチャージコマンドPRE、バンクアクティブコマンドACとプリフェッチコマンドPFとリードコマンドRDを出力する。その際、読出し元SORSは、ライトバック・キャッシュメモリWBCHとなり、DRAMの読出しレイテンシRLATは14、読出し電力RPWは、1.8となる。
【０１３７】
判定結果がMISS1（Dirty）かつMISS2かつMISS3かつINACTかつMISS4の時、アドレス・コマンド発生回路ACG２は、メモリセルアレイARYへの書き戻しと、ライトバック・キャッシュメモリからの読出しを行うため、リストアコマンドRT、バンクアクティブコマンドAC、プリチャージコマンドPRE、バンクアクティブコマンドACとプリフェッチコマンドPFとリードコマンドRDを出力する。その際、読出し元SORSは、ライトバック・キャッシュメモリWBCHとなり、DRAMの読出しレイテンシRLATは12、読出し電力RPWは、1.7となる。
【０１３８】
このように、内蔵キャッシュメモリのみならず、さらにセンスアンプをキャッシュメモリとして利用することにより、16ｋビット分（8kビット×２バンク）のキャッシュメモリサイズを増やし、キャッシュメモリのヒット率を上げることができ、高速かつ低電力でDRAMを動作させることが出来る。
【０１３９】
＜実施例４＞
図２６は本願を適用した情報処理装置の一実施例である。
これは、中央演算装置CPU3と１次キャッシュメモリL1C3によって構成される情報処理装置MS3と、複数のキャッシュ内蔵DRAMから構成されるDRAMモジュールＭＥＭと、DRAMモジュールＭＥＭを制御するメモリ制御ユニットMCU3と、デジタルシグナルプロセッサDSP３、PCIブリッジ回路BRG3で構成される。そして、この情報処理装置はクロックCLKに同期して動作する。特に限定はしないが、情報処理装置MS3とメモリ制御ユニットMCU3は同一基板上に形成され、情報処理装置SMS3を形作ることも可能である。
PCＩブリッジ回路BRG3はPCIインターフェースを備えており、メモリ制御ユニットMCU3は、情報処理装置MS3、デジタルシグナルプロセッサDSP3、PCIブリッジ回路BRG3からのアクセス要求をうけて、DRAMモジュールMEMを制御する。
【０１４０】
DRAMモジュールMEMは第０メモリM0、第１メモリM1、第２メモリM2、第３メモリM3、第４メモリM4、第５メモリM5、第６メモリM6、第７メモリM7の８つのメモリで構成されている。前記メモリは、特に制限はないが、１６個のキャッシュメモリおよび２つのメモリバンクから構成され、各メモリバンクにはセンスアンプが設けられているSDRAMである。
前記情報処理装置MS3は、特に制限はないが、３２ビットのアドレス信号によりアドレス空間を管理することができ、前記DRAMモジュールMEMは、前記情報処理装置MS3に管理されている。
【０１４１】
前記情報処理装置の動作を説明する。
MS3、DSP3、BR3Gからの読み出し要求がRQ0、RQ1、RQ2を通じてメモリ制御ユニットＭＣＵに入力する。メモリ制御ユニットMCU3は３つの読み出３し要求のうちMS3からの要求を許可すると、MS3は命令信号ICOより読み出し命令とアドレス信号IADよりアドレス、データ属性信号ICDから要求しているデータの属性をメモリ制御ユニットMCU3へ出力する。メモリ制御ユニットMCU3は、情報処理装置MS3からの読出し命令およびアドレスを受け取った後、メモリ命令信号MCOから読み出し命令を、メモリアドレス信号MA0からアドレスをDRAMモジュール（MEM）へ出力すると、DRAMモジュール（MEM）のMDQからデータが出力されDQを通じてMS3へ転送される。
【０１４２】
図２７は本発明のメモリ制御回路（MCU３）の１構成例である。
この回路は、DRAMへのアクセス要求を調停するアクセス調停回路（ARB３）とメモリ制御回路（CNT３）ら構成される。
前記アクセス調停回路（ARB３）はアクセス要求RQ0、RQ1、RQ2を受け付け、アクセス調停回路（ARB３）で設定した優先順位に従ってそれぞれのアクセスを許可する。
【０１４３】
メモリ制御回路CNT３は、アドレス変換回路AT３、ヒット判定回路HJ３およびアドレス・コマンド発生回路ACG３から構成される。
アドレス変換回路AT３は、許可されたアクセスのアドレスIADをDRAMのバンク、ロウ、セグメント、カラム、キャッシュアドレスADへ変換する。
ICDからは、要求しているデータの種類が命令あるいは処理データであるかの情報が入力する。
ヒット判定回路HJ３は、ICDからの情報とアドレス変換回路AT３で変換されたアドレスを受け取り、DRAM内部のキャッシュメモリおよびセンスアンプへのヒット/ミス判定と、ヒット判定を行ったDRAM内部キャッシュメモリ（CH0からCH15）とDRAMのメモリセルアレイ（ARY）との間にデータの同一性があるかのクリーン/ダーティ判定を行う。
アドレス・コマンド発生回路ACG3はヒット判定回路HJ３の判定結果によってDRAMモジュールを制御するメモリコマンド信号をMC0から、メモリアドレス信号をMAD0から出力し、入出力信号MDQを通じてデータ転送を行う。
【０１４４】
図２８メモリ制御回路CNT３によって割り当てられるDRAMに内蔵しているキャッシュメモリの一例を示している。特に限定はしないが、キャッシュメモリCH8からCH15までのキャッシュメモリ群ICHは、データの属性が命令に対して割り当てられており、キャッシュメモリCH0からCH7までのキャッシュメモリ群DCHは、データの属性が処理データに対して割り当てられている。さらに、キャッシュメモリ群DCHのうち１つは、図１４で示す予備キャッシュメモリの役割をする。
【０１４５】
データの属性が命令の場合は、DRAMに対して読出し要求のみが発生するので、データの属性が命令に対して割り当てられたキャッシュメモリはDRAMアレイへの書き戻しを行う必要がないため、高速にアクセスすることが出来る。
データの属性が処理データの場合は、DRAMに対して読出しおよび書き込み要求が発生するので、データの属性が処理データに対して割り当てられたキャッシュメモリDCHはDRAMアレイへの書き戻しを行う必要がある。そこで、キャッシュメモリDCHには、予備キャッシュメモリを設けることにより、図１１、図１２で示した動作により、DRAMモジュールのミス時のレイテンシーを６Ｔに抑え高速にアクセスすることが出来る。
データの属性（命令、データ）に対し、それぞれに、DRAMに内蔵したキャッシュメモリを割り当てることで、データの属性の違いによるキャッシュメモリ内のデータの入れ替えが起こらず、データの属性毎に最適に、キャッシュを制御することができる。
【０１４６】
図２９はメモリ制御回路MCU３で行う、内蔵キャッシュに対するヒット判定の一例を示す。
命令ICOM、アドレスIADおよびデータの属性ICDがメモリ制御回路にMCU3に入力すると、メモリ制御回路MCU3内のヒット判定回路HJ3は、データ属性が命令の場合は、キャッシュメモリCH8からCH15までのキャッシュメモリ群ICHに対してヒット判定を行い、データ属性が処理データの場合は、キャッシュメモリCH0からCH7までのキャッシュメモリ群DCHに対してヒット判定を行う。キャッシュメモリ群ICHに対してヒットした場合IHITを、ミスが生じた場合IMISSを、キャッシュメモリ群DCHに対してヒットした場合DHITを、ミスが生じ、クリーンの場合DMISS(Clean)を、ミスが生じ、ダーティの場合DMISS(Dirty)をアドレス・コマンド発生回路ACGへ出力する。
【０１４７】
図３０-(a)は図２９で説明したヒット判定結果に基づいて、アドレス・コマンド発生回路ACGがメモリモジュールMEM0に対して出力する、データ読出しのためのコマンドの一例である。
【０１４８】
判定結果がIHITの時、アドレス・コマンド発生回路ACG３はリードコマンドRDを出力する。その際、読出し元はヒットした命令用キャッシュメモリICHで、DRAMの読出しレイテンシRLATは2、読出し電力RPWは、0.25となる。
【０１４９】
判定結果がIMISSの時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、リードコマンドRD、プリチャージコマンドPREを出力する。その際、読出し元SORSは、命令用キャッシュメモリICHで、DRAMの読出しレイテンシRLATは６、読出し電力RPWは、1.0となる。
【０１５０】
判定結果がDHITの時、アドレス・コマンド発生回路ACG３はリードコマンドRDを出力する。その際、読出し元SORSは、ヒットしたデータ用キャッシュメモリDCHとなり、DRAMの読出しレイテンシRLATは2、読出し電力RPWは、0.25となる。
【０１５１】
判定結果がDMISS（Clean）の時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、リードコマンドRD、プリチャージコマンドPREを出力する。その際、読出し元SORSは、処理データ用キャッシュメモリDCHで、DRAMの読出しレイテンシRLATは６、読出し電力RPWは、1.0となる。
【０１５２】
判定結果がDMISS（Dirty）の時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、リードコマンドRD、プリチャージコマンドPRE、リストアコマンドRT、バンクアクティブコマンドAC、プリチャージコマンドPREを出力する。その際、読出し元SORSは、データ用キャッシュメモリDCHとなり、DRAMの読出しレイテンシRLATは６、読出し電力RPWは、1.8となる。
【０１５３】
図３０-(b)は図２９で説明したヒット判定結果に基づいて、アドレス・コマンド発生回路ACGがメモリモジュールMEM0に対して出力する、データ書き込みのためのコマンドの一例である。
【０１５４】
判定結果がDHITの時、アドレス・コマンド発生回路ACG３はライトコマンドWTを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリDCHでDRAMの書き込みレイテンシWLATは0、書き込み電力WPWは0.25となる。
【０１５５】
判定結果がDMISS（Clean）の時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、ライトコマンドWT、プリチャージコマンドPREを出力する。その際、書き込み先DESTは、ミスが生じた処理データ用キャッシュメモリDCHとなり、DRAMの書き込みレイテンシWLATは4、書き込み電力WPWは、1.0となる。
【０１５６】
判定結果がDMISS（Dirty）の時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、ライトコマンドWT、プリチャージコマンドPRE、リストアコマンドRT、バンクアクティブコマンドAC、プリチャージコマンドPREを出力する。その際、書き込み先DESTは、予備キャッシュメモリとなり、書き込みレイテンシWLATは4、書き込み電力WPWは、1.8となる。
【０１５７】
このように、データの属性（命令、データ）に対し、それぞれに、ＤＲＡＭに内蔵したキャッシュメモリを割り当てることで、データの属性の違いによるキャッシュメモリ内のデータの入れ替えが起こらず、データの属性毎に最適に、キャッシュを制御することができる。さらに、キャッシュメモリDCHには、予備キャッシュメモリを設け、図１１、図１２で示した制御と同様の制御を行うことで、ＤＲＡＭモジュールへ高速にアクセスすることが出来る。
【０１５８】
＜実施例５＞
図３１はメモリ制御回路MCU３で行う、内蔵キャッシュおよびセンスアンプキャッシュに対するヒット判定の一例を示す。
命令ICOM、アドレスIADおよびデータの属性ICDがメモリ制御回路にMCU3に入力すると、メモリ制御回路MCU3内のヒット判定回路HJ3は、キャッシュメモリおよび、センスアンプへのヒット判定を行う。
【０１５９】
キャッシュメモリへのヒット判定は、データ属性が命令の場合は、キャッシュメモリCH8からCH15までのキャッシュメモリ群ICHに対してヒット判定を行い、データ属性が処理データの場合は、キャッシュメモリCH0からCH7までのキャッシュメモリ群DCHに対してヒット判定を行う。キャッシュメモリ群ICHに対してヒットした場合IHITを、ミスが生じた場合IMISSを、キャッシュメモリ群DCHに対してヒットした場合DHITを、ミスが生じた場合DMISSを、アドレス・コマンド発生回路ACGへ出力する。
また、メモリ制御回路MCU3内のヒット判定回路HJ3は、同時に、センスアンプへのヒット判定を行う。センアンプへヒットした場合は、SAHITを、ミスが生じ、センスアンプが活性化している場合は、SAMISS（ACT）を、ミスが生じセンスアンプが非活性の場合は、SAMISS（INACT）をアドレス・コマンド発生回路ACGへ出力する。
図３２-(a)は図３１で説明したヒット判定結果に基づいて、アドレス・コマンド発生回路ACGがメモリモジュールMEM0に対して出力する、データ書き込みのためのコマンドの一例である。
判定結果がDHITかつSAHIT（ACT）の時、アドレス・コマンド発生回路ACG３はライトコマンドWT、リストアコマンドRTを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリWCHとメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは0、書き込み電力WPWは0.35となる。
【０１６０】
判定結果がDHITかつSAMISS（ACT）の時、アドレス・コマンド発生回路ACG３はライトコマンドWT、プリチャージコマンドPRE、リストアコマンドRT、バンクアクティブコマンドACを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリDCHとメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは0、書き込み電力WPWは0.９となる。
【０１６１】
判定結果がDHITかつSAMISS（INACT）の時、アドレス・コマンド発生回路ACG３はライトコマンドWT、リストアコマンドRT、バンクアクティブコマンドACを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリDCHとメモリセルアレイARYとなり、DRAMの書き込みレイテンシWLATは0、書き込み電力WPWは0.8となる。
【０１６２】
判定結果がDMISS かつSAHIT（ACT）の時、アドレス・コマンド発生回路ACG３はプリフェッチコマンドPF、ライトコマンドWT、リストアコマンドRTを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリDCHとなり、DRAMの書き込みレイテンシWLATは２、書き込み電力WPWは、0.5となる。
【０１６３】
判定結果がDMISS かつSAMISS（ACT）の時、アドレス・コマンド発生回路ACG３はプリチャージコマンドPRE、バンクアクティブコマンドAC、プリフェッチコマンドPF、ライトコマンドWT、リストアコマンドRTを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリDCHとなり、DRAMの書き込みレイテンシWLATは６、書き込み電力WPWは、1.0となる。
【０１６４】
判定結果がDMISS かつSAMISS（INACT）の時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、ライトコマンドWT、リストアコマンドRTを出力する。その際、書き込み先DESTは、ヒットした処理データ用キャッシュメモリDCHとなり、DRAMの書き込みレイテンシWLATは６、書き込み電力WPWは、0.9となる。
【０１６５】
図３２-(b)は図３１で説明したヒット判定結果に基づいて、アドレス・コマンド発生回路ACGがメモリモジュールMEM0に対して出力する、データ読出しのためのコマンドの一例である。
【０１６６】
判定結果がIHITの時、アドレス・コマンド発生回路ACG３はリードコマンドRDを出力する。その際、読出し元SORSは、ヒットした命令用キャッシュメモリICHとなり、DRAMの読出しレイテンシRLATは2、読出し電力RPWは、0.25となる。
【０１６７】
判定結果がDHITの時、アドレス・コマンド発生回路ACG３はリードコマンドRDを出力する。その際、読出し元SORSは、ヒットしたデータ用キャッシュメモリDCHとなり、DRAMの読出しレイテンシRLATは2、読出し電力RPWは、0.25となる。
【０１６８】
判定結果がIMISSかつDMISSで、SAHIT(ACT)の時、アドレス・コマンド発生回路ACG３はプリフェッチコマンドPF、リードコマンドRDを出力する。その際、読出し元SORSは、命令用キャッシュメモリICHおよびDCHとなり、DRAMの読出しレイテンシRLATは4、読出し電力RPWは、0.5となる。
【０１６９】
判定結果がIMISSかつDMISSで、SAMISS（ACT）の時、アドレス・コマンド発生回路ACG３はプリチャージコマンドPRE、バンクアクティブコマンドAC、プリフェッチコマンドPF、リードコマンドRDを出力する。その際、読出し元SORSは、データ用キャッシュメモリDCHとなり、DRAMの読出しレイテンシRLATは8、読出し電力RPWは、1.0となる。
【０１７０】
判定結果がIMISSかつDMISSで、SAMISS（INACT）の時、アドレス・コマンド発生回路ACG３はバンクアクティブコマンドAC、プリフェッチコマンドPF、リードコマンドRDを出力する。その際、読出し元SORSは、データ用キャッシュメモリDCHとなり、DRAMの読出しレイテンシRLATは6、読出し電力RPWは、0.9となる。
【０１７１】
このように、データの属性（命令、データ）に対し、それぞれに、DRAMに内蔵したキャッシュメモリを割り当てることで、データの属性の違いによるキャッシュメモリ内のデータの入れ替えが起こらず、データの属性毎に最適に、キャッシュを制御することができる。さらに、キャッシュメモリDCHへの書き込み時は、センスアンプを活性化させ、常にメモリセルアレイARYへ書き戻すことで、高速かつ低電力でキャッシュメモリDCHとメモリセルアレイとのデータの同一性を取ることが出来る。
キャッシュメモリからのデータの読出し時は、センスアンプを活性化させることでより低電力で高速にデータを読み出すことが出来る。
【０１７２】
CPUと１次キャッシュメモリからなる情報処理部とメモリ制御ユニットつまりメモリ制御装置とを別の半導体チップ上に形成してもよいが、両者を単一の半導体チップ上に形成してもよい。その場合、単一の半導体チップ上に形成された情報処理装置は、データバスDQを別々の半導体チップで形成するよりも幅の広いバスとすることが可能となる上に、両者の距離が短縮されるために、両者間での高速データ転送が可能となる。
【０１７３】
更に、メモリ制御装置のみを他者に設計させ、或いは既に設計されている設計資産として情報処理部と同一の半導体チップ上に形成してワンチップの情報処理装置とすることも可能である。
この場合、メモリ制御装置の回路等の構成を記録媒体に記録し、情報処理部の設計者或いは情報処理装置の設計者に提供することの可能である。
【０１７４】
また、自らが半導体装置の製造を行う場合、他者が提供する情報処理部に、本発明のメモリ制御装置或いはメモリ制御装置とメモリ装置とを組み合わせ、半導体装置を提供して他者に供給することも可能である。
【０１７５】
他方、メモリ制御ユニットをメモリモジュール内に設けることも可能である。メモリ制御装置を情報処理装置或いはメモリモジュール内に形成することで、情報処理システムの製造者の負荷を低減するとが可能となり、情報処理システムの小型化も可能となる。
また、半導体装置の製造プロセスの進歩にあわせ、メモリモジュールの一部或いは全部を情報処理装置と同一の半導体チップ上に形成することも可能である。つまりワンチップの情報処理システムの実現であり、システムの一層の小型化が可能となる。
また、中央演算処理装置にメモリ制御回路の動作をソフト的に実行させることも可能である。勿論、メモリモジュールと情報処理部とを同一の半導体チップ上に形成しない場合であっても、中央処理装置にメモリ制御装置の動作をソフト的に実行させることも可能である。
【０１７６】
但し、ソフト的に実施する場合、余分な構成の付加は不要であるが、中央処理装置にアドレス比較等を行わせるための負荷が大きくなり、中央処理装置が行う他の処理が低速となってしまう可能性は残る。
本発明を別構成とすることで、中央処理装置に対して余計な付加を与えずに本発明の効果を得ることが可能となる。
【０１７７】
また、図３３に示すように、単一チップの情報処理装置S-MSとそれぞれが単一チップのメモリ装置（S-ME1〜S-ME2）とで形成されたモジュールとを１つのパッケージで封止した半導体装置であってもよい。この構成は、マルチチップモジュール或いはマルチチップパッケージなどとして知られている。
【０１７８】
以上、高速動作可能な情報処理システムの実施形態を説明してきたが、本発明は上記実施形態に限定されるわけでは無く、本願発明の思想を逸脱しない範囲で、他にも様々な実施形態を採用することが可能である。
【０１７９】
また、第１、第３、第４、及び、第５の実施形態ではメモリモジュールは複数のバンクを有する構成としたが、メモリバンクを有さないメモリモジュールにより構成される情報処理システムに適用することも可能である。メモリバンクを有さないメモリモジュールにより構成される情報処理システムのメモリ装置へのアクセスの高速化を実現することも可能である。
【０１８０】
【発明の効果】
本発明によって、キャッシュメモリを内蔵したDRAMのキャッシュメモリをキャッシュメモリに対してヒット判定対象とするキャッシュメモリとヒット判定対象としない予備キャッシュメモリに区別し、キャッシュメモリへのヒット/ミス判定結果により、最初に、予備キャッシュメモリへのデータ転送を行い、その後、メモリセルアレイへのデータ転送を行うことで、キャッシュメモリ内蔵DRAMを高速、かつ低電力に動作させることができる。
またキャッシュメモリとセンスアンプをキャッシュメモリとして利用することによりにキャッシュ内蔵DRAMを高速かつ低電力で動作させることができる。
【図面の簡単な説明】
【図１】本発明を適用した情報処理装置の一実施例である。
【図２】キャッシュメモリを内蔵したDRAMを用いたメモリモジュールの一実施例である。
【図３】キャッシュメモリを内蔵したDRAMを用いたメモリモジュールの読出し動作の一例である。
【図４】キャッシュメモリを内蔵したDRAMを用いたメモリモジュールの書き込み動作の一例である。
【図５】キャッシュメモリを内蔵したDRAMを用いたメモリモジュールの書き戻し動作の一例である。
【図６】キャッシュメモリを内蔵したDRAMを用いたメモリモジュールの読出し動作の一例である。
【図７】本発明の一実施例である。
【図８】アドレス変換回路が行うアドレス変換の一例である。
【図９】メモリ制御ユニットMCUが行う、内蔵キャッシュメモリの割り当て方法の一例である。
【図１０】ヒット判定回路HJがヒット判定をおこなうために保持しているDRAMアドレス比較情報の一例である。
【図１１】メモリ制御回路CNTのデータ読出し動作の一例である。
【図１２】メモリ制御回路MCUがDRAMモジュール（MEM）へ出力する動作波形の一例である。
【図１３】メモリ制御回路MCUが行うDRAMモジュール（MEM）への読み出しおよび書き込み時のコマンド発行手順の一例である。
【図１４】ヒット判定回路HJが、ヒット判定を行うために保持しているDRAMアドレス比較情報の変化の様子を示す図である。
【図１５】本発明を適用した情報処理装置の一実施例である。
【図１６】本発明の一実施例である。
【図１７】メモリ制御ユニットMCU１が行う、内蔵キャッシュメモリの割り当て方法の一例である。
【図１８】ヒット判定回路HJ１がヒット判定をおこなうために保持しているDRAMアドレス比較情報の一例である。
【図１９】ヒット判定回路HJ１が、ヒット判定を行うために保持しているDRAMアドレス比較情報の変化の様子を示す図である。
【図２０】本発明の一実施例である。
【図２１】メモリ制御ユニットMCU２が行う、内蔵キャッシュメモリの割り当て方法の一例である。
【図２２】ヒット判定回路HJ２がヒット判定をおこなうために保持しているDRAMアドレス比較情報の一例である。
【図２３】ヒット判定回路HJ2のヒット判定動作の一例である。
【図２４】メモリ制御回路MCU２が行うDRAMモジュール（MEM）への書き込み時のコマンド発行手順の一例である。
【図２５】メモリ制御回路MCU２が行うDRAMモジュール（MEM）への読み出し時のコマンド発行手順の一例である。
【図２６】本発明を適用した情報処理装置の一実施例である。
【図２７】本発明の一実施例である。
【図２８】メモリ制御ユニットMCU３が行う、内蔵キャッシュメモリの割り当て方法の一例である。
【図２９】ヒット判定回路HJ3のヒット判定動作の一例である。
【図３０】メモリ制御回路MCU３が行うDRAMモジュール（MEM）への読出しおよび書き込み時のコマンド発行手順の一例である。
【図３１】ヒット判定回路HJ3のヒット判定動作の一例である。
【図３２】メモリ制御回路MCU３が行うDRAMモジュール（MEM）への読出しおよび書き込み時のコマンド発行手順の一例である。
【図３３】本発明を適用したマルチチップモジュールである。
【符号の説明】
MS0、MS1、MS2：情報処理装置、
CPU、CPU0、CPU1、CPU2：中央演算処理装置、
L1C：１次キャッシュメモリ、
DSP：デジタルシグナルプロセッサ、
BRG：ＰＣＩブリッジ回路、
MCU：メモリ制御ユニット、
MEM：DRAMモジュール、
ME0、ME1、ME2、ME3、ME4、ME5、ME6、ME7：DRAM、
RQ0、RQ1、RQ2 ：アクセス要求信号、
ICO、MCO：命令信号、
IAD、MAD：アドレス信号、
DQ、MDQ：データ信号、
CBE：アクセス要求信号、
ADQ：アドレス/データ信号、
B0、B1：メモリバンク、
CACHE：キャッシュメモリ部、
CH-DEC：キャッシュデコーダー、
X-DEC：ロウデコーダ、
SG-DEC：セグメントデコーダー、
ARY：メモリセルアレイ、
SA：センスアンプ、
Y-DEC：カラムデコーダー、
CH15、CH14、CH13、CH12、CH11、CH10、CH9、CH8：キャッシュメモリ、
CH7、CH6、CH5、CH4、CH3、CH2、CH1、CH0：キャッシュメモリ、
IOBUF：IOバッファ、
WL：ワード線、BL：ビット線、
CLK：クロック信号、              T：クロック周期
AC:バンクアクティブコマンド、    BK：バンクアドレス
R0、R1：ロウアドレス、           PF:プリフェッチコマンド
CH0：キャッシュアドレス、        SG0：セグメントアドレス
RD:リードコマンド、              C0：カラムアドレス
PRE：プリフェッチコマンド、
D0、D1、D2、D3：データ信号、
WT：ライトコマンド、            RST:リストアコマンド、
CNT、CNT1、CNT2、CNT3:メモリ制御回路、
AT、AT1、AT2、AT3：アドレス変換回路、
HJ、HJ1、HJ2、HJ3:ヒット判定回路、
ACG、ACG1、ACG2、ACG3:アドレス・コマンド発生回路、
ARB、ARB1、ARB2、ARB3：アクセス調停回路、
GT0、GT1、GT2：アクセス許可信号、
TAG０〜TAG15：タグアドレス、
IND0〜IND7：インデックスアドレス、
LIN0〜LIN4：ラインサイズ、        R12〜R0：ロウアドレス、
BA：バンクアドレス、              S0、S1:セグメントアドレス、
C0〜C7：カラムアドレス、
BANK：バンクアドレス、            TRAD[12:0]：ロウアドレス、
SGAD：セグメントアドレス、        CHAD：はキャッシュアドレス、
DT：ダーティビット、              VL：バリッドビット、
CHANGE:  キャッシュメモリ切り替え動作、
CMDFLOW:コマンド実行手順、
WBCH0、WBCH1：キャッシュメモリ群、
WTCH0、WTCH1：キャッシュメモリ群、
WTH：ライトスルービット、
SVL：センスアンプバリッドビット、
HIT1、HIT2、HIT3、HIT4:キャッシュメモリに対するヒット、
MISS1(Dirty):キャッシュメモリに対するミスかつダーティ、
MISS1(Clean):キャッシュメモリに対するミスかつクリーン、
MISS2：キャッシュメモリに対するミス、
HIT3:センスアンプに対するヒット、
MISS3(ACT)：センスアンプに対するミスかつセンスアンプが活性、
MISS3(INACT)：センスアンプに対するミスかつセンスアンプが非活性、
HIT4:キャッシュメモリのセンスアンプへのヒット、
MISS4:キャッシュメモリのセンスアンプへのミス、
ICH：命令用キャッシュメモリ群、
DCH:処理データ用キャッシュメモリ群、
HITC：ヒット判定、
IHIT:命令用キャッシュメモリに対するヒット、
IMISS：命令用キャッシュメモリに対するミス、
DHIT：処理データ用キャッシュメモリに対するヒット、
DMISS(Dirty):処理データ用キャシュメモリに対するミスかつダーティ、
DMISS(Clean):処理データ用キャシュメモリに対するミスかつクリーン、
HITSA:センスアンプにたいするヒット判定、
SAHIT：センスアンプに対するヒット、
SAMISS（ACT）：センスアンプに対するミスかつセンスアンプが活性、
SAMISS（INACT）：センスアンプに対するミスかつセンスアンプが非活性、
RLAT:リードレイテンシ、
WLAT：ライトレイテンシ、
RPW：リード時のDRAMモジュールの電力、
WPW:ライト時のDRAMモジュールの電力、
DEST：書き込み先、
SORS:読出し元、
PCB:プリント基盤、
COVER:モジュールの封止カバー、
S-ME１、S-ME2：半導体メモリ、
S-MS:半導体情報処理装置、
PATH1：S-MSとS-ME1を接続するボンデイング配線、
PATH2：S-MSとS-ME2を接続するボンデイング配線、
PATH3：S-MSとPCBを接続するボンデイング配線、
PATH4：S-ME1とPCBを接続するボンデイング配線、
PATH5：S-ME2とPCBを接続するボンデイング配線。
【図１】
0004160790.tif 000002
【図２】
0004160790.tif 000003
【図３】
0004160790.tif 000004
【図４】
0004160790.tif 000005
【図５】
0004160790.tif 000006
【図６】
0004160790.tif 000007
【図７】
0004160790.tif 000008
【図８】
0004160790.tif 000009
【図９】
0004160790.tif 000010
【図１０】
0004160790.tif 000011
【図１１】
0004160790.tif 000012
【図１２】
0004160790.tif 000013
【図１３】
0004160790.tif 000014
【図１４】
0004160790.tif 000015
【図１５】
0004160790.tif 000016
【図１６】
0004160790.tif 000017
【図１７】
0004160790.tif 000018
【図１８】
0004160790.tif 000019
【図１９】
0004160790.tif 000020
【図２０】
0004160790.tif 000021
【図２１】
0004160790.tif 000022
【図２２】
0004160790.tif 000023
【図２３】
0004160790.tif 000024
【図２４】
0004160790.tif 000025
【図２５】
0004160790.tif 000026
【図２６】
0004160790.tif 000027
【図２７】
0004160790.tif 000028
【図２８】
0004160790.tif 000029
【図２９】
0004160790.tif 000030
【図３０】
0004160790.tif 000031
【図３１】
0004160790.tif 000032
【図３２】
0004160790.tif 000033
【図３３】
0004160790.tif 000034