(57)【要約】 【課題】  キャッシュメモリとして使われるＤＲＡＭへの１ラインデータの書き込み速度を向上する。【解決手段】  ＤＲＡＭマクロのセンスアンプキャッシュ機能を２次キャッシュメモリとして用いる場合、データの管理はワード線単位で行われるから、非破壊書き込みを行う必然性はない。そこで、書き込みに当たって、センスアンプによる読み出し動作を行わず、ワード線（ＷＬ）の立ち上げと同時(t0)に、書き込みアンプからビット線（ＢＬ／ＢＬＢ）に書き込みデータの転送（ＧＢＬｎ）を開始して１ワード線分のデータを高速に書き込む。【選択図】        図２０
2004296088.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを有するメモリセルアレイと、センスアンプとを有する半導体メモリであって、
前記メモリセルは、ワード線と、データを入出力するローカルビット線と、に接続されており、
前記センスアンプは、前記ローカルビット線に接続されており、前記ワード線が選択された後、前記センスアンプの起動を待つことなく、データの書き込みを行うことを特徴とする半導体メモリ。
【請求項２】
データの書き込みを前記ワード線選択動作と同時に行うことを特徴とする請求項１記載の半導体メモリ。
【請求項３】
前記メモリセルは、ダイナミック型メモリセルであることを特徴とする請求項１記載の半導体メモリ。
【請求項４】
複数のメモリセルを有するメモリセルアレイと、カラムスイッチと、センスアンプとを有する半導体メモリであって、
前記メモリセルは、ワード線とデータを入出力するローカルビット線とに接続されており、
前記ローカルビット線は、前記カラムスイッチを介してグローバルビット線に接続されており、
前記カラムスイッチは、複数の前記ローカルビット線から選択的に前記グローバルビット線へ接続するものであって、
前記センスアンプは、前記ローカルビット線に接続されており、前記ワード線が選択された後、前記センスアンプの起動を待つことなく、前記カラムスイッチの選択動作を行うことを特徴とする半導体メモリ。
【請求項５】
前記ワード線選択動作と前記カラムスイッチの選択動作を行うロー・カラムデコーダを、更に備えることを特徴とする請求項４記載の半導体メモリ。
【請求項６】
前記メモリセルは、ダイナミック型メモリセルであることを特徴とする請求項４記載の半導体メモリ。
【請求項７】
ＤＲＡＭマクロを有する半導体メモリであって、
前記ＤＲＡＭマクロは、それぞれ複数のメモリセルを有する複数のメモリバンクを備え、
前記メモリバンクは、ローアドレス信号に基づいて選択されるワード線と、カラムアドレス信号に基づいて選択されることによって前記ＤＲＡＭマクロのデータ線に接続されるビット線とを備え、
前記複数のメモリセルのそれぞれは、ワード線とデータを入出力するローカルビット線とに接続されており、
前記複数のメモリバンクのそれぞれは、前記ワード線を選択する第１のタイミングにおいて前記センスアンプを活性化する、第１の動作モードを有することを特徴とする半導体メモリ。
【請求項８】
前記メモリバンクは、それぞれ、前記ワード線を選択する前記第１のタイミングより後の第２のタイミングにおいて前記センスアンプを活性化する、第２の動作モードを有することを特徴とする請求項７記載の半導体メモリ。
【請求項９】
前記第１の動作モードは、データの書き込み動作であって、前記第２の動作モードは、リフレッシュ動作であることを特徴とする請求項８記載の半導体メモリ。
【請求項１０】
複数のメモリバンクへ効率よくアクセスできることを特徴とする半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを集積した半導体集積回路、更にはＣＰＵ（中央処理装置）のような論理回路と共に大容量メモリを1チップに集積した半導体集積回路に係り、例えば、ＣＰＵ及び1次キャッシュメモリと共に同一チップに搭載された混載ＤＲＡＭに適用して有効な技術に関する。
【背景技術】
【０００２】
今日、大容量メモリと大規模な論理回路とを1チップに集積化した半導体集積回路が提供されている。このような半導体集積回路では、メモリと論理回路との間のデータスループットを上げるために、メモリと論理回路とを接続するバスを１２８ビットのように増やすことが容易であり、チップ外部の入出力ピンをドライブする場合に比べてデータ入出力にかかる電力消費を抑えて高速にデータ転送が行えると言う利点が有る。
【０００３】
前記大容量メモリとしてマルチバンクＤＲＡＭ（Dynamic Random Access Memory）を用いることができる。マルチバンクＤＲＡＭでは、メモリバンク毎にセンスアンプが設けられ、ワード線選択動作で一旦センスアンプにラッチしたデータを、カラムスイッチの切り替えだけで順次高速に出力することができる。したがって、同一ページ（同一ワード線アドレス）内の連続アドレスのアクセスであれば比較的高速化することが可能である。しかしながら、異なるページがアクセスされる（ページミスが発生する）と、ビット線プリチャージ等によってアクセスが遅くなる。
【０００４】
前記マルチバンクＤＲＡＭは更に、一定条件下でページミスを隠すことも可能である。即ち、あるメモリバンクにリード又はライトコマンドを発行して動作させているとき、これとは異なる他のメモリバンクを次に利用するならば、当該他のメモリバンクに予め活性化コマンドを与えてワード線選択動作を先行させることができる。そうするためには、当然ＣＰＵがそのようなアドレス順でアクセスを行わなければならないが、これをＣＰＵの動作プログラム等で全て規定することは実質的に不可能である。
【０００５】
また、半導体集積回路の中には、前記大容量メモリとＣＰＵ等の大規模論理回路に加えてキャッシュメモリを混載したものがある。これは、大容量メモリとＣＰＵとの動作速度の違いをキャッシュメモリによって緩和することにより、ＣＰＵによる高速データ処理をねらったものである。即ち、大容量メモリが保有するデータの内、ＣＰＵが最近使った一部のデータ並びにその近傍のデータを高速なキャッシュメモリに保持させる。しかしながら、ＣＰＵによるメモリアクセスがキャッシュメモリにヒットしている間はよいが、一旦ミスが起きると、大容量メモリへのアクセスが行なわれるため、これによってＣＰＵのデータ処理速度が制限される。
【０００６】
尚、マルチバンクＤＲＡＭについて記載された文献の例として特開平１０−６５１２４号公報がある。
【０００７】
【特許文献１】特開平１０−６５１２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のように、マルチバンクＤＲＡＭであってもアクセスアドレスの順番によっては必ずページミスを隠せるとは限らず、マルチバンクＤＲＡＭに対してキャッシュメモリを設けてもキャッシュミスを生ずれば事情は全く同じである。そこで、マルチバンクを持つメモリのアクセス速度を更に改善する必要性が本発明者によって見出された。
【０００９】
本発明の第１の目的は、マルチバンクを持つメモリのファーストアクセス、即ち、その前のアクセスとワード線が相違されるリードアクセスを高速化することにある。
【００１０】
本発明の第２の目的は、マルチバンクを持つメモリに対してキャッシュメモリが設けられている場合に、当該キャッシュメモリのキャッシュミスに起因してキャッシュエントリのリプレースとライトバックとを行うとき、並列動作可能なマルチバンクを持つメモリの動作効率を低下させないようにすることである。すなわち、ライトバックすべきキャッシュラインのデータをマルチバンクを持つメモリに書込む動作と、前記と同一キャッシュラインに書き込むべき新たなキャッシュエントリデータを、マルチバンクを持つメモリから読み出す動作との間では、アドレス信号のうちインデックスアドレスに相当するアドレス情報が同一とされる。メモリバンク選択用アドレス情報にインデックスアドレスの情報がマッピングされていると、相互にインデックスアドレスが同一のアドレスに配置されているデータは同一メモリバンクに配置されることになるから、キャッシュラインをリプレースするためのリード動作とライトバックのためのライト動作を同一のメモリバンクに対して行わなければならず、異なるメモリバンクを用いて双方の動作を効率的に行うことはできない。
【００１１】
本発明の第3の目的は、マルチバンクを持つメモリマクロを複数個混載した半導体集積回路においてメモリマクロが競合しない複数のアクセス要求に対しては一方のアクセスが他方のアクセスをブロックしないようにしたノンブロッキングマルチアクセスを可能にすることである。
【００１２】
本発明の第4の目的は、キャッシュラインをワード線単位とするマルチバンクを持つＤＲＡＭに対するデータの書換えを効率化することにある。即ち、キャッシュラインが書換え単位であるとき、通常のＤＲＡＭと同様に、ワード線選択動作によってビット線に読み出された記憶情報がセンスアンプにラッチされるのを待って書き込みデータを印加する非破壊書込みを行う必然性のないことが本発明者によって見出された。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１５】
《１》次アドレス先行発行
マルチバンク構成のメモリマクロを用いて各メモリバンクのセンスアンプにデータを保持させ、アクセスがその保持データにヒットするときは当該センスアンプがラッチするデータを出力させることによってメモリマクロのファーストアクセスを高速化することができる。即ち、各メモリバンクをセンスアンプキャッシュとして機能させる。このようなセンスアンプキャッシュのヒット率（センスアンプのデータに対するヒット率）を更に向上させるために、メモリバンクをアクセスした後に、その次のアドレス（所定のオフセットを加算したアドレス）を先行発行して、当該先行発行アドレスのデータを別メモリバンクのセンスアンプに先読みさせる。先行発行の対象を次アドレスとするのは、ＣＰＵの動作プログラムや一群の処理データはリニアアドレスにマッピングされるのを基本とするという経験則に基づく。
【００１６】
上記次アドレス先行発行を実現する半導体集積回路は、メモリマクロ（５Ｍａ〜５Ｍｄ）とアクセス制御回路（４）を有する。前記メモリマクロは、バンクアドレスが夫々割当てられた複数個のメモリバンク（Ｂａｎｋ１〜Ｂａｎｋ４）を有し、各メモリバンクはロウアドレス信号（Ｒ−ＡＤＤ）によってワード線（ＷＬ）を選択し、選択されたワード線のメモリセルからビット線（ＢＬ）に読み出された記憶情報をラッチ可能なセンスアンプ（５３）を有し、カラムアドレス信号（Ｙｓ０〜Ｙｓ７）に従ってビット線を選択し、選択したビット線をメモリマクロのデータ線（ＧＢＬ）に導通させるものである。前記アクセス制御回路は、メモリバンク毎に動作させることができるコマンド及びアドレス信号の出力手段（４４）と、既に前記センスアンプにラッチされているデータを後のアクセス要求に応答して前記データ線に出力可能にするヒット判定手段（４３）と、外部からのアクセスアドレスに対するメモリマクロのアクセス制御の次に、当該外部からのアクセスアドレスに対して所定のオフセットを持つアクセスアドレスを先行発行して当該先行発行されたアドレスのデータをメモリマクロのメモリセルからセンスアンプに先読みさせるアドレス先行発行手段（４２）とを有する。
【００１７】
先行発行アドレスはその直前のアクセス対象とは異なるメモリバンクのアドレスでなければならない。同一メモリバンクであれば、先のアクセスに対してセンスアンプキャッシュの機能が利用できなくなる。そのためには、前記外部からのアクセスアドレスに対して前記所定のオフセットを持つアクセスアドレスは、前記外部からのアクセスアドレスが指定するメモリバンクとは異なるメモリバンクを指定するアドレスとされる。観点を変えれば、前記出力手段が出力するアドレス信号はカラムアドレス信号（Ｃ０〜Ｃ２）の上位側にバンクアドレス信号（Ｂ０〜Ｂ３）がマッピングされ、バンクアドレス信号の上位側にロウアドレス信号（Ｒ０〜Ｒ７）がマッピングされていて、前記所定のオフセットは、カラムアドレス信号のビット数をｉとするとき、カラムアドレス信号の最下位ビットから２ｉとされる。
【００１８】
ここで、前記センスアンプキャッシュ機能のためのヒット判定手段は、外部から供給されるアクセスアドレスと前記センスアンプが保有する記憶情報のアクセスアドレスとの一致、不一致を検出する比較手段（４３２Ａ，４３２Ｂ）を有するように構成することができる。前記コマンド及びアドレス信号の出力手段は、前記比較手段による不一致検出に応答して、外部からのアクセスアドレスで指定されるメモリマクロにメモリバンク、ワード線及びビット線の選択動作を指示し、前記比較手段による一致検出に応答して、外部からのアクセスアドレスで指定されるメモリマクロにワード線選択動作を抑止してメモリバンク及びビット線選択動作を指示するように構成することができる。
【００１９】
《２》２次キャッシュのアドレスアライメント調整
前記アクセス制御回路（４）にＣＰＵ（１）を接続し、前記ＣＰＵ及びアクセス制御回路にセットアソシアティブ形式の１次キャッシュメモリ（２）を接続するとき、前記アクセス制御回路及び前記メモリマクロを、そのセンスアンプキャッシュ機能による２次キャッシュメモリ（６）として位置付けることができる。それら全体はマルチチップのデータ処理システムとして構成してもよい。前記１次キャッシュメモリのキャッシュミスに起因してミスに係るキャッシュラインのリプレースと共に当該キャッシュラインのライトバックが必要なときがある。このとき、１次キャッシュメモリのキャッシュミスに係るキャッシュラインのデータを２次キャッシュメモリにライトバックする動作と、ミスに係るキャッシュラインとリプレースすべきキャッシュエントリデータを２次キャッシュメモリから読み出す動作との間では、１次キャッシュメモリに対するインデックスアドレスは同一とされる。２次キャッシュメモリのメモリバンクアドレス情報と１次キャッシュメモリのインデックスアドレス情報とが同じであれば、相互にインデックスアドレスが同一のアドレスのデータは２次キャッシュメモリでは同一メモリバンクに配置されることになるから、キャッシュラインをリプレースするためのリード動作とライトバックのためのライト動作を同一のメモリバンクに対して行わなければならず、異なるメモリバンクを用いて双方の動作を効率的に行うことはできない。
【００２０】
そこで、前記アクセス制御回路に、外部から供給されるアクセスアドレス信号のビット配列を変更してメモリマクロに出力するアドレスアライメント調整手段（４１）を設ける。例えばアドレスアライメント調整手段は、前記ＣＰＵから供給されるアドレス信号のうち１次キャッシュメモリのインデックスアドレスに割り付けられる複数アドレスビットの配列とは異なる配列を前記メモリバンクのバンクアドレスに割当てる。これにより、１次キャッシュメモリのキャッシュミスによりキャッシュエントリのリプレースを行うとき、マルチバンクを持つメモリの動作効率を低下させないようにすることができる。
【００２１】
観点を変えれば、前記アドレスアライメント調整手段は、前記ＣＰＵから供給されるアドレス信号のうち少なくとも前記１次キャッシュメモリのインデックスアドレスとして用いられるアドレス情報の全部又は一部の配列を変更して前記メモリバンクのバンクアドレスに割当てるものである。例えば、前記アドレスアライメント調整手段は、ＣＰＵから供給されるアドレス信号のうち前記１次キャッシュメモリのインデックスアドレスとして用いられるアドレス情報の一部とタグアドレスとして用いられるアドレス情報の一部とを入れ替えて前記メモリバンクのバンクアドレスに割当てる。
【００２２】
前記アドレスアライメント調整手段によるアドレスアライメントのその他の例として、ＣＰＵから供給されるアドレス信号のうち１次キャッシュメモリのタグアドレスの少なくとも下位２ビットを前記メモリバンクを指定するアドレスとメモリマクロを指定するアドレスに割当てるか或いはそのどちらか一方に割当てることができる。或いは、前記ＣＰＵから供給されるアドレス信号のうち１次キャッシュメモリのインデックスアドレスの少なくとも下位２ビットを前記メモリバンクを指定するアドレスとメモリマクロを指定するアドレスに割当てるか或いはそのどちらか一方に割当てることができる。更には、前記ＣＰＵから供給されるアドレス信号のうち１次キャッシュメモリのインデックスアドレスの少なくとも下位２ビットをカラムアドレス信号に割当てることも可能である。
【００２３】
前記アドレスアライメント調整手段として、アドレス情報の配列変更を可変とするスイッチ回路（４１１）と、前記スイッチ回路のスイッチ状態を決定するための制御情報をラッチ可能な制御レジスタ（４１０）とを含め、前記制御レジスタを前記ＣＰＵによってアクセス可能に構成することができる。前記アドレスアライメントの相違は、連続アドレスに対して同一メモリバンクが指定される頻度の相違として現れる。キャッシュラインのリプレースにおいて相互に接近しているインデックスアドレスで同一メモリバンクが選択される頻度が多ければ、センスアンプキャッシュ機能によるヒット率は相互に直近のアドレスでアクセスされた情報程低下し、逆に、キャッシュラインのリプレースにおいて相互に接近しているインデックスアドレスで異なるメモリバンクが選択される頻度が多ければ、センスアンプキャッシュ機能によるヒット率は相互に直近のアドレスでアクセスされた情報程高くされる。どちらを選択する方が有利かはデータや命令のアドレスマッピングに依存し、適用システムに応じて選択することが可能になる。
【００２４】
構成の簡素化を第１とするならば、前記アドレスアライメント調整手段として、メタルオプションによってアドレスアライメントを固定化した配線を採用することができる。
【００２５】
《３》ＤＲＡＭマクロから成る２次キャッシュメモリの破壊書込み
通常ＤＲＡＭではデータの書き込みを行う場合には一旦メモリセルからセンスアンプにデータを読み出してからその一部を書きかえる。即ち、非は破壊書き込みを行う。ＤＲＡＭマクロのセンスアンプキャッシュ機能を２次キャッシュメモリとして用いる場合、データの管理はワード線単位で行われるから、非破壊書き込みを行う必然性はない。そこで、書き込みに当たって、センスアンプによる読み出し動作を行わず、ワード線の立ち上げと同時、若しくはその直後に、書き込みアンプからビット線に書き込みデータの転送を開始して１ワード線分のデータを高速に書き込む。
【００２６】
上記破壊書き込みを実現するキャッシュメモリは、ＤＲＡＭマクロ（５Ｍａ〜５Ｍｄ）とアクセス制御回路（４）を有する。前記ＤＲＡＭマクロは、バンクアドレスが夫々割当てられた複数個のメモリバンク（Ｂａｎｋ１〜Ｂａｎｋ４）を有し、各メモリバンクはロウアドレス信号（Ｒ−ＡＤＤ）によってワード線（ＷＬ）を選択し、選択されたワード線のメモリセルからビット線に読み出された記憶情報をラッチ可能なセンスアンプ（５３）を有し、カラムアドレス信号（Ｃ−ＡＤＤ）に従ってビット線（ＢＬ）を選択し、選択したビット線をＤＲＡＭマクロのデータ線（ＧＢＬ）に導通させるものである。前記アクセス制御回路は、メモリバンク毎に動作させることができるコマンド及びアドレス信号の出力手段（４４）と、既に前記センスアンプにラッチされているデータを後のアクセス要求に応答して前記データ線に出力可能にするヒット判定手段（４３）を有する。前記メモリバンクは、ワード線選択から第１のタイミングでセンスアンプを活性化する第１動作モードと、ワード線選択から前記第1のタイミングよりも遅い第２タイミングでセンスアンプを活性化する第２動作モードとを有する。前記第１動作モードは破壊書込み、前記第２動作モードはリフレッシュモードである。前記キャッシュメモリを２次キャッシュメモリとし、それに対する１次キャッシュメモリとＣＰＵを用いてデータ処理システムを構成することができる。
【００２７】
《４》非競合メモリマクロの並列アクセス
マルチバンクを持つメモリマクロを複数個混載した半導体集積回路においてメモリマクロが競合しない複数のアクセス要求に対しては一方のアクセスが他方のアクセスをブロックしないようにしたノンブロッキングマルチアクセスを可能にする。これを実現するメモリ（６）は、第１アクセスポート（ＰＴ１）と第２アクセスポート（ＰＴ２）を持つアクセス制御回路（４）と、前記アクセス制御回路にデータ線（９ＤＢａ〜９ＤＢｄ）を介して夫々接続された複数個のメモリマクロ（５Ｍａ〜５Ｍｄ）とを有する。前記メモリマクロは、バンクアドレスが夫々割当てられた複数個のメモリバンク（Ｂａｎｋ１〜Ｂａｎｋ４）を有し、各メモリバンクはロウアドレス信号（Ｒ−ＡＤＤ）によってワード線（ＷＬ）を選択し、選択されたワード線のメモリセルからビット線（ＢＬ）に読み出された記憶情報をラッチ可能なセンスアンプ（５３）を有し、カラムアドレス信号（Ｃ−ＡＤＤ）に従ってビット線を選択し、選択したビット線をメモリマクロの前記データ線（ＧＢＬ）に導通させるものである。前記アクセス制御回路は、第1アクセスポートを介してアクセスするメモリマクロと第2アクセスポートを介してアクセスするメモリマクロを夫々選択可能なセレクタ（４５０Ｒ，４５１Ｒ，４５２Ｗ，４５３Ｗ）と、第１アクセスポートを介するアクセスと第２アクセスポートを介するアクセスが異なるメモリマクロを用いるアクセスであるとき双方のアクセスポートからの並列アクセスを許容する優先アクセス判定手段（４０）と、アクセスすべきメモリマクロに対してメモリバンク毎に動作させることができるコマンド及びアドレス信号の出力手段（４４）と、前記センスアンプにラッチされているデータを後のアクセス要求に応答してデータ線に出力可能にするヒット判定手段（４３）とを有する。
【００２８】
競合メモリマクロの優先制御のために、前記優先アクセス判定手段は、第１アクセスポートを介するアクセスと第２アクセスポートを介するアクセスとが同一のメモリマクロを用いるアクセスであるとき、予め決められた優先度の高い方のアクセスポートの動作を優先させるように構成することができる。
【００２９】
また、前記第１アクセスポート及び前記第２アクセスポートのどちらか一方又はその両方はＳＲＡＭインタフェース機能を有することができる。アドレス入力からデータ出力までのレイテンシはアクセスの状況に応じて変動する。これに対処するには、レイテンシを固定にしたインタフェースに比べ、アドレス入力からデータ出力までの間ウェイト信号などを出力することができるＳＲＡＭインタフェースを前記第１アクセスポート、第２アクセスポートに採用した方が簡単である。
【００３０】
前記メモリ（６）を用いたデータ処理システムは、当該メモリ（６）と、前記メモリの第１アクセスポートに接続された第１アドレスバス（６ＡＢ）及び第１データバス（１０ＤＢ）と、前記メモリの第２アクセスポートに接続された第２アドレスバス（１１ＡＢ）及び第２データバス（１１ＤＢ）と、前記第１アドレスバス及び第１データバスに接続されたＣＰＵ（１）と、前記第２アドレスバス及び第２データバスに接続されたバスインタフェース回路（３）とを有する。
【００３１】
また、前記メモリを用いたデータ処理システムは、前記メモリ（６）と、前記メモリの第１アクセスポートに接続された第１アドレスバス（６ＡＢ）及び第１データバス（１０Ｄ）と、前記メモリの第２アクセスポートに接続された第２アドレスバス（１１ＡＢ）及び第２データバス（１１ＤＢ）と、前記第１アドレスバス及び第１データバスに接続されたＣＰＵ（１）及び１次キャッシュメモリ（２）と、前記第２アドレスバス及び第２データバスに接続されたバスマスタ（７）とを有し、前記メモリは前記１次キャッシュメモリに対して２次キャッシュメモリとされる。
【発明の効果】
【００３２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３３】
すなわち、次アドレス先行発行によるセンスアンプキャッシュのヒット率を向上させることができる。
【００３４】
セットアソシアティブ形式の１次キャッシュメモリのキャッシュミスに起因してキャッシュエントリのリプレースを行うとき、マルチバンクＤＲＡＭの動作効率を低下させないようにすることができる。
【００３５】
マルチバンクを持つメモリのファーストアクセスを高速化することができる。
【００３６】
ＣＰＵと外部とからのメモリマクロに対するアクセス要求が競合しない複数のアクセス要求に対して一方のアクセスが他方のアクセスをブロックしないようにしたノンブロッキングマルチアクセスを可能にすることができる。
【００３７】
キャッシュラインをワード線単位とするマルチバンクを持つＤＲＡＭに対するデータの書換えを効率化することができる。
【発明を実施するための最良の形態】
【００３８】
《システムＬＳＩ》
図１には本発明を適用した半導体集積回路の一例であるＣＰＵ／ＤＲＡＭ混載ＬＳＩ（システムＬＳＩとも称する）が示される。同図に示されるシステムＬＳＩは、特に制限されないが、単結晶シリコンのような１チップに、大規模論理回路の一例であるＣＰＵ１、１次キャッシュメモリ２、外部バスインタフェース回路３、アクセスオプティマイザ４、及び大容量メモリの一例である複数個のＤＲＡＭマクロ（マルチバンクＤＲＡＭ）５Ｍａ〜５ＭｄがＣＭＯＳ（Complementary Metal Oxide Semiconductor）製造技術によって集積されている。前記ＤＲＡＭマクロ５Ｍａ〜５Ｍｄは、グローバルビット線を共有する複数個のＤＲＡＭバンク（メモリバンク）を夫々有するマルチバンクＤＲＡＭによって構成され、個々のＤＲＡＭバンクはセンスアンプをキャッシュとして用いるセンスアンプキャッシュ機能を有し、センスアンプのデータにヒットしたアクセスに対してはワード線選択動作を行うことなくデータを高速に出力することができる。センスアンプキャッシュのヒット判定及びＤＲＡＭマクロ５Ｍａ〜５Ｍｄの制御は前記アクセスオプティマイザ４が行う。
【００３９】
前記ＣＰＵ１は、特に制限されないが、所謂３２ビットＣＰＵとされ、データの演算処理単位を原則３２ビットとする。また、ＣＰＵ１は、特に制限されないが、３２ビットのアドレス信号によって４ギガバイトのアドレス空間を管理することができる。
【００４０】
前記ＣＰＵ１と１次キャッシュメモリ２はそれぞれ３２ビットの内部データバス６ＤＢと内部アドレスバス６ＡＢによって接続され、１次キャッシュメモリ２と外部バスインタフェース回路３とは夫々３２ビットの内部データバス７ＤＢ及び内部アドレスバス７ＡＢによって接続される。外部バスインタフェース回路３は夫々３２ビットの外部データバス８ＤＢ及び外部アドレスバス８ＡＢを介して外部とインタフェースされる。尚、夫々の制御信号バスは図示を省略してある。
【００４１】
前記ＤＲＡＭマクロ５Ｍａ〜５ＭｄはＣＰＵ１のアドレス空間にマッピングされているが、そのセンスアンプキャッシュ機能により、２次キャッシュメモリとして利用される。ＤＲＡＭマクロ５Ｍａ〜５Ｍｄは、夫々１２８ビットのメモリデータバス９ＤＢａ〜９ＤＢｄを介してアクセスオプティマイザ４とデータの入出力を行い、アクセスオプティマイザ４からバス９ＡＣＢを介してアドレス信号及びコマンド等が供給される。
【００４２】
前記アクセオプティマイザ４は第１アクセスポートＰＴ１を介してＣＰＵ１及び１次キャッシュメモリ２とインタフェースされる。更にアクセスオプティマイザ４は、外部バスインタフェース回路３を介してシステムＬＳＩの外部とインタフェースされる第２アクセスポートＰＴ２を有する。第１アクセスポートＰＴ１は前記アドレスバス６Ａを経由してＣＰＵ１からのアドレス信号を入力し、１次キャッシュメモリ２との間では１２８ビットのデータバス１０ＤＢを介してデータの入出力を行う。第２アクセスポートＰＴ２は３２ビットのアドレスバス１１ＡＢ及びデータバス１１ＤＢを介して前記外部バスインタフェース回路３に接続される。
【００４３】
システムＬＳＩにおいて、ＣＰＵ１がアドレスバス６ＡＢにアドレス信号を出力してリードアクセスを行うと、それに応答して１次キャッシュメモリ２がヒット判定などのキャッシュメモリ動作を開始する。これに並行してアクセスオプティマイザ４もセンスアンプキャッシュのヒット判定などを開始する。１次キャッシュメモリ２はＳＲＡＭ（Static Random Access Memory）から成る小容量高速メモリであり、ＤＲＡＭマクロ５Ｍａ〜５Ｍｄはそれに比べて大容量であってもアクセス速度の低速なメモリとされる。従って、キャッシュヒットの判定は常に１次キャッシュメモリ２が先行する。１次キャッシュメモリ２がキャッシュヒットであれば、アクセスオプティマイザ４によるＤＲＡＭマクロ５Ｍａ〜５Ｍｄからのリードデータの出力は抑止され、必要なデータは１次キャッシュメモリ２からデータバス６ＤＢを経由してＣＰＵ１に与えられる。１次キャッシュメモリ２がキャッシュミスのとき、必要なデータはＤＲＡＭマクロ５Ｍａ〜５Ｍｄからデータバス１０ＤＢ及び１次キャッシュメモリ２を経由してＣＰＵ１に与えられる。このとき、ＤＲＡＭマクロ５Ｍａ〜５Ｍｄから１次キャッシュメモリ２に与えられるデータは１２８ビットであり、１次キャッシュメモリ２はアドレス信号の下位側を用いて３２ビットを切り出し、これをＣＰＵ１に与える。１次キャッシュメモリ２はこれと共に、ミスにかかるキャッシュラインのフィルを行うために、当該キャッシュラインに前記１２８ビットのデータを書き込む。このとき、当該キャッシュラインがライトバックすべき有効なデータを保有しているときはキャッシュフィルに先立って、当該キャッシュラインのデータをＤＲＡＭマクロ５Ｍａ〜５Ｍｄの対応アドレスに書き戻す動作を行う。
【００４４】
ＣＰＵ１によるライトアクセスの場合はＤＲＡＭマクロ５Ｍａ〜５Ｍｄのセンスアンプキャッシュ機能は利用されない。１次キャッシュメモリ２がキャッシュヒットであれば当該キャッシュメモリ２に書き込みが行われ、キャッシュミスであればＤＲＡＭマクロ５Ｍａ〜５Ｍｄの対応アドレスに書き込みが行われる。ＤＲＡＭマクロ５Ｍａ〜５Ｍｄへの書き込みはバス１０ＤＢを介して１２８ビット単位で複数単位まとめて行われる。
【００４５】
システムＬＳＩに混載したＤＲＡＭマクロ５Ｍａ〜５ＭｄとＬＳＩ外部とのデータ転送は外部バスインタフェース回路３とバス１１ＤＢ，１１ＡＢを介して行われる。このときのアクセス制御はＬＳＩの外部に配置された図示を省略するＤＭＡＣ（Direct Memory Access Controller）などで行うことができる。
【００４６】
上記システムＬＳＩでは、大規模論理回路であるＣＰＵ１と大容量メモリであるＤＲＡＭマクロ５Ｍａ〜５Ｍｄとの間にキャッシュメモリ２を配置して大容量メモリ５Ｍａ〜５ＭｄとＣＰＵ１との動作速度の違いをキャッシュメモリ２によって緩和することにより、ＣＰＵ１による高速データ処理を実現している。更に、ＤＲＡＭマクロ５Ｍａ〜５Ｍｄと１次キャッシュメモリ２との間のデータスループットを上げるために、両者を接続するデータバス１０ＤＢを１２８ビットのように増やし、高速データ転送を実現している。
【００４７】
《ＤＲＡＭマクロ》
図２には前記ＤＲＡＭマクロ５Ｍａの一例が示される。図２において１個のＤＲＡＭマクロ５Ｍａは例えば４個のＤＲＡＭバンクＢａｎｋ１〜Ｂａｎｋ４を有する。個々のＤＲＡＭバンクＢａｎｋ１〜Ｂａｎｋ４は、メモリセルアレイ５０、ロウ・カラムデコーダ５１、カラム選択回路５２、センスアンプアレイ５３、及びタイミングジェネレータ５４を有する。メモリセルアレイ５０は、マトリクス配置された多数のダイナミック型メモリセルを有し、メモリセルの選択端子がワード線ＷＬに、メモリセルのデータ入出力端子がローカルビット線ＢＬに接続されている。各ローカルビット線ＢＬは全部で１０２４ビット分ある。ローカルビット線ＢＬの各ビットに対応してセンスアンプが設けられている。それらセンスアンプ全体をセンスアンプアレイ５３と総称する。カラムスイッチ回路５２は、１０２４ビットのローカルビット線ＢＬから１２８ビット分のローカルビット線ＢＬをカラムアドレス信号に従って選択する。カラムスイッチ回路５２で選択される１２８ビット分のローカルビット線は１２８ビット分のグローバルビット線ＧＢＬに導通される。ワード線選択信号とカラムスイッチ回路の選択信号は前記ロウ・カラムデコーダ５１で生成される。１２８ビット分のグローバルビット線ＧＢＬは各ビット毎に設けられたメインアンプを介して前記データバス９ＤＢａに接続する。それらメインアンプをメインアンプアレイ５５と総称する。
【００４８】
各ＤＲＡＭバンクＢａｎｋ１〜Ｂａｎｋ４には、アクセスオプティマイザ４からアドレス・コマンドバス９ＡＣＢを介して、バンク選択信号Ｂ−ＡＤＤ、ロウアドレス信号Ｒ−ＡＤＤ、カラムアドレス信号Ｃ−ＡＤＤ、カラムコマンドＣＣ、ロウコマンドＣＲ、及びライトイネーブル信号ＷＥ等が供給される。
【００４９】
特に制限されないが、前記バンク選択信号Ｂ−ＡＤＤ以外は各ＤＲＡＭバンクＢａｎｋ１〜Ｂａｎｋ４に共通の信号線を介して供給される。前記バンク選択信号Ｂ−ＡＤＤは、２ビットのバンクアドレス信号のデコード信号であり、各ＤＲＡＭバンクＢａｎｋ１２〜Ｂａｎｋ４に固有の選択信号である。従って、２ビットのバンクアドレス信号に対して１個のＤＲＡＭバンクが選択される。ＤＲＡＭバンクＢａｎｋ１２〜Ｂａｎｋ４は対応するバンク選択信号によって選択されることにより動作可能にされる。動作可能にされたＤＲＡＭバンクにおいては、その他の入力信号Ｒ−ＡＤＤ、Ｃ−ＡＤＤ、ＣＣ、ＲＣ、ＷＥ等が有意とされる。
【００５０】
タイミングジェネレータ５４は、バンク選択信号Ｂ−ＡＤＤによって選択されることにより、ロウコマンドＣＲやカラムコマンドＣＣを受付可能にされる。ロウコマンドＣＲは汎用ＤＲＡＭのＲＡＳ（ロウ・アドレス・ストローブ）信号と同様の機能を有し、それがイネーブルにされると、ロウアドレス信号Ｒ−ＡＤＤを取り込み、これをデコードしてワード線選択動作を行い、これによってビット線に読み出されたワード線１本分のメモリセルのデータをセンスアンプアレイ５３のセンスアンプにラッチさせる。前記カラムコマンドＣＣは汎用ＤＲＡＭのＣＡＳ（カラム・アドレス・ストローブ）信号と同様の機能を有し、それがイネーブルにされると、カラムアドレス信号Ｃ−ＡＤＤを取り込み、これをデコードしてカラムスイッチアレイ５２によるビット線選択動作を行い、これによって選択された１２８ビット分のローカルビット線ＢＬがグローバルビット線ＧＢＬに導通される。タイミングジェネレータ５４は、特に制限されないが、ロウコマンドＣＲによるロウアドレス信号の取り込みと一緒にライトイネーブル信号ＷＥを取り込み、それによってリード動作とライト動作の内部シーケンスを決定する。
【００５１】
ＤＲＡＭマクロ５Ｍａにおいて、あるＤＲＡＭバンクでカラムアクセス動作が行われているとき、別のＤＲＡＭバンクを選択してロウコマンドを発行してロウアクセス動作を並行させることができる。これにより、先のカラムアクセスが終了されると、これに並行してロウアクセスが行なわれているＤＲＡＭバンクで即座にカラムアクセスを行うことができ、見掛け上ページミスを隠すことができる。
【００５２】
その他のＤＲＡＭマクロ５Ｍｂ〜５Ｍｄも上記ＤＲＡＭマクロ５Ｍａと同様に構成されている。
【００５３】
図３にはＤＲＡＭバンクとグローバルビット線との接続構成例が示される。１対の相補ビット線ＢＬ<0,0>，ＢＬ<0,0>に関し夫々代表的に示されたＭ１，Ｍ２はカラムスイッチＭＯＳトランジスタ、Ｍ３，Ｍ４はプリチャージＭＯＳトランジスタ、Ｍ５はイコライズＭＯＳトランジスタである。ＭＯＳトランジスタＭ６〜Ｍ９で構成されたスタティックラッチ形態の回路はセンスアンプであり、ｐチャンネルＭＯＳトランジスタＭ７，Ｍ９のコモンソースには電源電圧のような高電位側動作電源φＰが供給され、ｎチャンネルＭＯＳトランジスタＭ６，Ｍ８のコモンソースには回路の接地電圧のような低電位側動作電源φＮが供給される。メモリセルはｎチャンネル選択ＭＯＳトランジスタＭ１０とキャパシタＣｓとの直列回路から構成された１トランジスタ形式である。選択ＭＯＳトランジスタＭ１０のゲートにはワード線ＷＬが接続されている。ＨＶＣはプリチャージ電位であり、例えば電源電圧と回路の接地電圧との中間の電圧とされる。φＰＣはプリチャージ信号であり、ハイレベルにされることにより、相補ビット線をイコライズすると共にプリチャージ電圧ＨＶＰを相補ビット線に供給する。
【００５４】
図示はしないが、他の相補ビット線の構成も、相補ビット線ＢＬ<0,0>，BLB<0,0>に関する上記構成と基本的に同じである。特に制限されないが、カラムアドレス信号は３ビットであり、そのデコード信号であるカラム選択信号はＹｓ０〜Ｙｓ７の８本である。１対のグローバルビット線ＧＬＢ０，ＧＢＬＢ０には、カラム選択信号Ｙｓ０〜Ｙｓ７によってスイッチ制御される８対のカラムスイッチＭＯＳトランジスタＭ１，Ｍ２を介して８対の相補ビット線ＢＬ<0,0>，ＢＬ<0,0>〜ＢＬ<0,7>，ＢＬ<0,7>が接続される。このようにして、合計１０２４（１２８×８）本の相補ビット線ＢＬ<0,0>，ＢＬ<0,0>〜ＢＬ<127,7>，ＢＬ<127,7>が8対単位で順次１２８対のグローバルビット線ＧＢＬ０，ＧＢＬＢ０〜ＧＢＬ１２７，ＧＢＬＢ１２７に接続されている。従って、カラムアドレス信号Ｃ−ＡＤＤのデコード結果にしたがって、カラム選択信号はＹｓ０〜Ｙｓ７の内の何れか１本の信号が選択レベルであるハイレベルにされ、これによって１２８対の相補ビット線が１２８対のグローバルビット線ＧＢＬ０，ＧＢＬＢ０〜ＧＢＬ１２７，ＧＢＬＢ１２７に導通される。
【００５５】
《アクセスオプティマイザ》
図４には前記アクセスオプティマイザの一例が示される。アクセスオプティマイザ４は、優先アクセス判定回路４０、アドレスアライメント調整回路４１、アドレス先行発行回路４２、ヒット判定回路４３、アドレス／コマンド発行回路４４、データバッファ４５、及び制御回路４６を有する。
【００５６】
前記データバッファ回路４５は、データバッファと共に、データバス１０ＤＢをデータバス９ＤＢａ〜９ＤＢｄの何れに接続するか、また、データバス１１ＤＢをデータバス９ＤＢａ〜９ＤＢｄの何れに接続するかを個別に選択可能なセレクタ等を有する。
【００５７】
前記優先アクセス判定回路４０は、第１アクセスポートＰＴ１を介するアクセスと第２アクセスポートＰＴ２を介するアクセスが異なるＤＲＡＭマクロを用いるアクセスであるとき双方のアクセスポートからの並列アクセスを許容し、また、第１アクセスポートＰＴ１を介するアクセスと第２アクセスポートＰＴ２を介するアクセスとが同一のＤＲＡＭマクロを用いるアクセスであるとき、予め決められた優先度の高い方のアクセスポートの動作を優先させる制御を行う。
【００５８】
アドレス／コマンド発行回路４４は、ＤＲＡＭバンク毎に動作させることができるコマンド及びアドレス信号をアドレスコマンドバス９ＡＣＢに出力する回路である。即ち、前記バンク選択信号Ｂ−ＡＤＤ、ロウアドレス信号Ｒ−ＡＤＤ、カラムアドレス信号Ｃ−ＡＤＤ、ロウコマンドＣＲ、カラムコマンドＣＣ、ライトイネーブル信号ＷＥなどを出力する。
【００５９】
前記アドレスアライメント調整回路４１は、アクセスオプティマイザ４の外部から供給されて優先アクセス判定を経たアクセスアドレス信号のビット配列を変更して、前記アドレス／コマンド発行回路４４を介してＤＲＡＭマクロ５Ｍａ〜５Ｍｄに供給可能にする回路である。
【００６０】
前記アドレス先行発行回路４２は、外部からのアクセスアドレスに対するＤＲＡＭマクロのアクセス制御の次に、当該外部からのアクセスアドレスに対して所定のオフセットを持つアクセスアドレスを先行発行し、前記アドレス／コマンド発行回路４４を介して当該先行発行されたアドレスのデータをＤＲＡＭマクロのメモリセルからセンスアンプに先読可能にする。
【００６１】
ヒット判定回路４３は既に前記センスアンプアレイ５３にラッチされているデータに後のアクセス要求がヒットしているか否かを判定する回路である。換言すれば、センスアンプキャッシュを実現するためのヒット判定手段であり、直前のアクセスアドレスを保持しており、これが今回のアクセスアドレスと同一ワード線に関するものか、或いは、先行発行されたアドレスが今回のアクセスアドレスと同一ワード線に関するものかを判定する。同一ワード線に関するものであるとの判定結果はセンスアンプキャッシュのヒット状態であり、その場合にはアドレス／コマンド発行回路４４にロウコマンドＣＲの発行を抑止させ、即座にカラムコマンドＣＣを発行させて、既にセンスアンプアレイにラッチされているデータを読み出し可能にする。前記制御回路４６はアクセスオプティマイザ４全体の制御を司る。
【００６２】
上記アクセスオプティマイザ４は、（１）次アドレス先行発行によるセンスアンプキャッシュのヒット率向上、（２）セットアソシアティブ形式の１次キャッシュメモリのキャッシュミスに起因してキャッシュエントリのリプレースを行うとき、マルチバンクＤＲＡＭの動作効率を低下させないこと、（３）ＣＰＵと外部とからのＤＲＡＭマクロに対するアクセス要求が競合しない複数のアクセス要求に対して一方のアクセスが他方のアクセスをブロックしないようにしたノンブロッキングマルチアクセスを可能にすることを実現する。更にＤＲＡＭバンクＢａｎｋ１〜Ｂａｎｋ４は、（４）ワード線毎のメモリセル群をキャッシュラインとしてセンスアンプキャッシュを利用するＤＲＡＭマクロに対するデータの書換えを効率化するために破壊書込みを行う。（１）〜（４）の内容について以下に詳述する。
【００６３】
《次アドレス先行発行によるセンスアンプキャッシュのヒット率向上》
図５には前記１次キャッシュメモリ２の基本的な構成の一例が示される。１次キャッシュメモリ２は  特に制限されないが、セットアソシアティブ形式とされ、４個のウェイＷＡＹ０〜ＷＡＹ３を有する。各ウェイＷＡＹ０〜ＷＡＹ３は、特に制限されないが、最大２５６個のキャッシュラインを構成するためのメモリセルアレイを有し、このメモリセルアレイはアドレスアレイ２０とデータアレイ２１から構成される。一つのキャッシュラインは、物理ページ番号等のアドレスタグＡＴＡＧを保有したキャッシュタグＣＴＡＧ、有効ビットＶ、図示を省略するダーティービット及びそれに対応される１６バイトのデータＬＷ０〜ＬＷ３を含む。キャッシュタグＣＴＡＧ、有効ビットＶ及びダーティービットはアドレスアレイ２０に、データＬＷ０〜ＬＷ３はデータアレイ２１に格納される。有効ビットＶはキャッシュラインに有効なデータが含まれているかを示し、論理値“１”で有効、論理値“０”で無効を意味する。ダーティービットはキャッシュメモリ２がライトバックモードで利用されるときに用いられ、ライトバックモードにおいて書込みが発生したとき、論理値“１”にされる。このダーティービットによって対応するエントリのデータと外部メモリ（５Ｍａ〜５Ｍｄ）のデータとの不一致を知ることができる。このダーティービットはパワーオンリセットで論理値“０”に初期化される。
【００６４】
前記ＣＰＵ１が出力するアドレス信号（ＣＰＵ１が仮想アドレスをサポートする場合にはアドレス信号は物理アドレス信号であり、そうでない場合には論理アドレス信号である）は、前述の通りＡ０〜Ａ３1の３２ビットであり、バイトアドレスとされる。特に制限されないが、Ａ２１〜Ａ３１はアドレスタグＡＴＡＧとみなされる。Ａ４〜Ａ１１までの８ビットは、各ウェイからキャッシュラインを選択するためのインデックスアドレスＩｎｄｅｘとみなされる。図５にはアドレスアレイ２０とデータアレイ２１のアドレスデコーダは図示を省略しているが、双方のアドレスデコーダにはインデックスアドレスＩｎｄｅｘが供給され、これに対応するキャッシュラインが選択される。
【００６５】
インデックスアドレスＩｎｄｅｘで選択された（インデックスされた）各ウェイＷＡＴ０〜ＷＡＹ３のキャッシュラインのキャッシュタグＣＴＡＧは、比較器（ＣＭＰ）２２〜２５によって、そのときのアクセスアドレスに含まれるアドレスタグＡＴＡＧと比較される。キャッシュタグＣＴＡＧと物理ページ番号のようなアドレスタグＡＴＡＧが一致し、有効ビットＶが論理値“１”のとき、対応する比較器２２〜２５から出力される信号が論理値“１”にされる。比較器２２〜２５から出力される信号は対応するデータアレイ２１に供給され、それが論理値“１”のときデータアレイ２１でインデックスされた３２バイトのキャッシュラインデータが選択される。選択されたキャッシュラインデータは、Ａ２，Ａ３の２ビットによりセレクタ２６で選択される。前記比較器２２〜２５から出力される信号の論理和信号がキャッシュメモリ２のヒット／ミス信号Ｈｉｔとされる。
【００６６】
図６には前記４個のＤＲＡＭマクロ５Ｍａ〜５Ｍｄのセンスアンプキャッシュ機能の論理的な構成を１次キャッシュメモリ２と対比可能に示してある。ＤＲＡＭマクロ５Ｍａ〜５Ｍｄに供給されるアドレス信号の最下位から４ビットは実質的な意味を持たない。カラム選択されるデータは１２８ビットであり、バイトアドレスで４ビット分のデータサイズだからである。Ｃ０〜Ｃ２の３ビットはカラム選択信号Ｃ−ＡＤＤとされる。その上位側の２ビットＭＳ０，ＭＳ１はＤＲＡＭマクロ５Ｍａ〜５Ｍｄを選択するためのマクロアドレス信号とされる。更に、その上位側４ビットはＤＲＡＭバンクを選択するためのバンクアドレス信号とされる。ここではＤＲＡＭバンクは１６個あるものと仮定している。更にその上位側８ビットＲ０〜Ｒ７はロウアドレス信号Ｒ−ＡＤＤとされる。センスアンプキャッシュのアドレス比較はセットアソシアティブキャッシュメモリと相違することは言うまでもなく、ＤＲＡＭバンク毎に直前のアクセスアドレスが前記ヒット判定回路４３に保持されている。図６にはそのように保持されている直前のアクセスアドレス中のロウアドレスをＳＡＴＡＧとして図示している。前記ヒット判定回路４３は、今回のアクセスアドレスのロウアドレス信号と直前のアクセスアドレス中のロウアドレスＳＡＴＡＧとを比較し、一致する場合にはヒット状態になり、アドレス／コマンド発行回路４４に、センスアンプに既にラッチされているデータをカラムアドレス信号で選択させる。
【００６７】
上記より明らかなように、マルチバンク構成のＤＲＡＭマクロ５Ｍａ〜５Ｍｄを用いて各ＤＲＡＭバンクのセンスアンプにデータを保持させ、アクセスがその保持データにヒットするときは当該センスアンプがラッチするデータを出力させることによって、ＤＲＡＭマクロのファーストアクセスを高速化することができる。即ち、各メモリバンクをセンスアンプキャッシュとして機能させることができる。
【００６８】
このようなセンスアンプキャッシュのヒット率（センスアンプのデータに対するヒット率）を更に向上させるために、前記アドレス先行発行回路４２に、外部アクセスの後、その次のアドレス（所定のオフセットを加算したアドレス）を先行発行して、当該先行発行アドレスのデータを別メモリバンクのセンスアンプに先読みさせる。先行発行の対象を次アドレスとするのは、ＣＰＵ１の動作プログラムや一群の処理データがリニアアドレスにマッピングされるのを基本とするという経験則に基づくものであり、そのようなアクセスに対してセンスアンプキャッシュがヒットし易いようにするためである。
【００６９】
先行発行アドレスはその直前のアクセス対象とは異なるメモリバンクのアドレスでなければならない。同一メモリバンクであれば、先のアクセスに対してセンスアンプキャッシュの機能が利用できなくなる。そのためには、前記外部からのアクセスアドレスに対して前記所定のオフセットを持つアクセスアドレスは、前記外部からのアクセスアドレスが指定するメモリバンクとは異なるメモリバンクを指定するアドレスとされる。
【００７０】
ここで、ＣＰＵ１が出力するアドレス信号に対して、ＤＲＡＭマクロ５Ｍａ〜５Ｍｄに供給される図６のアドレス信号のビット配列は、少なくとも、最下位からＭＳ１までは同一とされる。したがって、ＣＰＵ１が出力するアドレス信号が順次インクリメントされた場合、ワード線選択状態が切り替えられるとき必ずＤＲＡＭマクロが切り替えられることになる。これにより、アドレス先行発行回路４２による前記所定のオフセットは、カラムアドレス信号のビット数をｉ（＝３）とするとき、カラムアドレス信号の最下位ビットから２ｉ（＝８）とされる。
【００７１】
図７にはアドレス先行発行動作のタイミングチャートの一例が示される。ＣＰＵ１によるアクセスアドレスがＡＤＤ１であるとする。これに対して新たなワード線選択動作が行われるものとする。例えばその６サイクル後に、アクセスアドレスＡＤＤ１に対応するデータＤ１が読み出される。この間に、アドレス先行発行回路４２はアドレスＡＤＤ１に対して＋８したアドレスＡＤＤ２を内部で生成し、アドレス／コマンド発行回路４４にロウ系動作を指示させ、当該先行発行されたアドレス信号に対応されるＤＲＡＭマクロのＤＲＡＭバンクを指示してワード線選択動作を行い、選択されたワード線のデータをセンスアンプにラッチさせる。前述のように、アクセスアドレス信号を＋８すると、そのアクセスアドレスＡＤＤ２は必ず別のＤＲＡＭマクロに移るから、アクセスアドレスＡＤＤ１によって動作しているメモリバンクの動作が邪魔されることはない。したがって、ＣＰＵ１による次のアクセスアドレスがＡＤＤ２であれば、アドレス／コマンド発行回路４４はそのアドレスＡＤＤ２によるワード線選択動作を行わず、それに含まれるカラムアドレス信号によって、直接センスアンプのラッチ情報を選択させてデータＤ２を外部に出力させる。
【００７２】
図８には前記アドレス先行発行を考慮したときのヒット判定回路４３の一例が示される。ヒット判定回路４３は、アドレスデコーダ４３０、レジスタ回路４３１、及び比較回路４３２Ａ、４３２Ｂを有する。レジスタ回路４３１は、ＤＲＡＭマクロ５Ｍａｓ〜５Ｍｄの各ＤＲＡＭバンク毎に固有のアドレス格納領域を有する。このアドレス格納領域には、対応するメモリバンクにおける直前のアクセスアドレス信号が保持されている。前記アドレスデコーダ４３０は、アドレスアライメント調整回路４１から供給されるアドレス信号及びアドレス先行発行回路４２から供給されるアドレス信号を入力し、夫々の入力アドレス信号に含まれる２ビットのマクロアドレス信号及び４ビットのバンクアドレス信号をデコードする。そのデコード信号を用いて、アクセスされるＤＲＡＭマクロのＤＲＡＭバンクに対応されるアドレス記憶領域を選択する。選択されたアドレス記憶領域は、先ず最初に、既に保持しているアドレス情報を出力し、次に、既に保持しているアドレス情報を今回のアクセスアドレス情報に更新する。前記既に保持しているアドレス情報が出力されると、比較回路４３２Ａはレジスタ回路４３１から供給されるアドレス信号と前記アドレスアライメント調整回路４１から供給されるアドレス信号とを比較し、比較回路４３２Ｂはレジスタ回路４３１から供給されるアドレス信号と前記アドレス先行発行回路４２から供給されるアドレス信号とを比較する。比較の結果、カラムアドレス信号よりも上位のアドレス情報が一致していれば、センスアンプキャッシュヒット情報４３３Ａ，４３３Ｂをイネーブルにして前記アドレス／コマンド発行回路４４に与える。
【００７３】
前記アドレス／コマンド発行回路４４は、センスアンプキャッシュヒット情報４３３Ａ，４３３Ｂの状態に従って、その時のアクセスアドレスに対して、ロウコマンドＣＲを発行するか否かを決定する。即ち、前記アドレス／コマンド発行回路４４は、信号４３３Ａ，４３３Ｂによる不一致検出に応答して、アクセスアドレスで指定されるＤＲＡＭマクロにメモリバンク、ワード線及びビット線の選択動作を指示し、前記信号４３３Ａ，４３３Ｂによる一致検出に応答して、アクセスアドレスで指定されるＤＲＡＭマクロにワード線選択動作を抑止してメモリバンク及びビット線選択動作を指示する。
【００７４】
《２次キャッシュのアドレスアライメント調整》
図９にはアドレスアライメント調整回路４１でアドレスアライメントを行わない状態での前記１次キャッシュメモリ２に供給されるアドレス信号（ＣＰＵ１の出力アドレス信号）とＤＲＡＭマクロ５Ｍａ〜５Ｍｄに供給されるアドレス信号（アクセスオプティマイザの出力アドレス信号）との対応が示されている。
【００７５】
前記アクセスオプティマイザ４及び前記ＤＲＡＭマクロ５Ｍａ〜５Ｍｄは、そのセンスアンプキャッシュ機能により２次キャッシュメモリ６として位置付けることができる。
【００７６】
前記１次キャッシュメモリ２にキャッシュリードミスを生じたとき、キャッシュラインのリプレースと共に当該キャッシュラインのキャッシュデータをライトバックしなければならないことがある。この時の、ライトバック先アドレスと、リプレースすべきキャッシュデータのリードアドレスは、共にインデックスアドレス情報の部分が等しくされる。この事は、セットアソシアティブ形式のキャッシュメモリにおけるインデックス動作から明らかである。アドレスタグの部分は相違されることになる。
【００７７】
このとき、図９のアドレスアライメントから明らかなように、インデックスアドレスＩｎｄｅｘが同一とされるＣＰＵアドレスは、Ａ４〜Ａ１１が同一であり、そこには、バンクアドレス信号の最上位ビットＢ３を除いて、カラムアドレス信号Ｃ０〜Ｃ２、マクロアドレス信号ＭＳ０，ＭＳ１、バンク選択信号の一部Ｂ０〜Ｂ２が割当てられている。ライトバック先アドレスのアドレスタグ情報ＡＴＡＧの最上位Ａ１２と、リプレースすべきキャッシュデータのリードアドレスのアドレスタグ情報ＡＴＡＧの最上位Ａ１２とが相互に一致すれば、ライトバックのためのＤＲＡＭマクロに対するライトアクセスと、リプレースのためのＤＲＡＭマクロからのリードアクセスとは、同一ＤＲＡＭマクロの同一ＤＲＡＭバンクに対して行なわれる。Ａ１２の１ビットが相互に一致する確率は比較的高い。このような状態が起こると。ＤＲＡＭマクロにおいて異なるメモリバンクを用いて双方の動作を効率的に行うことはできない。一つのＤＲＡＭバンクにおいて一つのアクセス動作を終了しなければ他のアクセス動作を行うことはできない。動作させるべきＤＲＡＭバンクが異なれば、一つのＤＲＡＭバンクに対してリード動作を行っているとき、他方のＤＲＡＭバンクに対して、少なくともロウコマンドＣＲを供給して、ワード線選択動作を並行させることができる。
【００７８】
そこで、前記アドレスアライメント調整回路４１が設けられている。このアドレスアライメント調整回路４１は、外部から供給されるアクセスアドレス信号のビット配列を変更してＤＲＡＭマクロ５Ｍａ〜５Ｍｄに供給可能にする。
【００７９】
図１０にはアドレスアライメント調整回路４１によるアドレスアライメントによって得られるＣＰＵ１の出力アドレス信号に対するアクセスオプティマイザ４の出力アドレス信号の対応関係の第１の例が示されている。図１０の例は、Ａ１２〜Ａ１５をバンクアドレス信号Ｂ０〜Ｂ３に、Ａ９〜Ａ１１をロウアドレス信号の一部Ｒ０〜Ｒ２とする。その他の配列は図９と同一である。図１１にはアドレスアライメントの第２の例が示される。図１１の例は、Ａ１２〜Ａ１４をバンクアドレス信号の一部Ｂ１〜Ｂ３に、Ａ１０，Ａ１１をロウアドレス信号の一部Ｒ０，Ｒ１とする。その他の配列は図９と同一である。図１０及び図１１の何れの場合も、ＣＰＵ１から供給されるアドレス信号のうち前記１次キャッシュメモリ２のインデックスアドレスＩｎｄｅｘとして用いられるアドレス情報の一部とタグアドレスＡＴＡＧとして用いられるアドレス情報の一部とを入れ替えて前記メモリバンクのバンクアドレスに割当てる。
【００８０】
これにより、１次キャッシュメモリ２のキャッシュミスによりキャッシュエントリのリプレースとライトバックを行うとき、双方のメモリ動作を相互に異なるＤＲＡＭバンクで行うことができる。一つのＤＲＡＭマクロに含まれる異なるＤＲＡＭバンクに対しては、一つのＤＲＡＭバンクに対してカラム系動作を行っているとき、これに並行して別のＤＲＡＭバンクにロウコマンドＣＲを供給してワード線選択並びにセンスアンプラッチ動作を先行させることができる。従って、一つのＤＲＡＭバンクでカラムアクセス動作を行ってライトバックのための書込み動作を行っているとき、別のＤＲＡＭバンクにロウコマンドＣＲを供給してリプレースのためのリード動作におけるワード線選択並びにセンスアンプラッチ動作を先行させることはできる。したがって、ライトバックのためのライト動作に続けて、リプレースのためのリード動作のカラム選択及び出力動作を即座に行うことができる。これにより、１次キャッシュメモリ２のキャッシュミスによるペナルティー動作を高速化することができる。
【００８１】
図１２には前記アドレスアライメント調整回路４１の一例が示される。アドレスアライメント調整回路４１は、入力アドレス信号の配列を変更して出力可能なスイッチ回路４１１と、前記スイッチ回路４１１のスイッチ状態を決定するための制御情報をラッチ可能な制御レジスタ４１０とを有し、前記制御レジスタ４１０は前記ＣＰＵ１によってアクセス可能に構成される。これにより図１０及び図１１に例示されたアドレスアライメントを任意に選択することができる。
【００８２】
前記アドレスアライメントの相違は、連続アドレスに対して同一メモリバンクが指定される頻度の相違として現れる。図１３乃至図１５にはＣＰＵ１のアドレス空間を順番にアクセスした場合にワード線選択動作が行われるＤＲＡＭバンクの順番を示している。４個のＤＲＡＭマクロ５Ｍａ〜５Ｍｄは１６個のＤＲＡＭバンクを夫々有している。アドレスアライメント調整を行わない図９に対応される図１３の場合には、６４個全部のＤＲＡＭバンクが順番に切り替えられてワード線の選択が順次切り替えられる。調整例１のアドレスアライメントを行う図１０に対応される図１４の場合には、４個のＤＲＡＭバンクがサイクリックに切り替えられながらワード線の選択が切り替えられる。調整例２のアドレスアライメントを行う図１１に対応される図１５の場合には、８個のＤＲＡＭバンクがサイクリックに切り替えられながらワード線の選択が切り替えられる。
【００８３】
キャッシュラインのリプレースにおいて相互に接近しているインデックスアドレスで同一メモリバンクが選択される頻度が多ければ、センスアンプキャッシュ機能によるヒット率は相互に直近のアドレスでアクセスされた情報程低下し、逆に、キャッシュラインのリプレースにおいて相互に接近しているインデックスアドレスで異なるメモリバンクが選択される頻度が多ければ、センスアンプキャッシュ機能によるヒット率は相互に直近のアドレスでアクセスされた情報程高くされる。どちらを選択する方が有利かはデータや命令のアドレスマッピングに依存し、適用システムに応じて選択することが可能になる。
【００８４】
前記アドレスアライメント調整回路４１として、メタルオプションによってアドレスアライメントを固定化した配線を採用することができる。製造プロセス段階若しくは設計段階でしかアドレスアライメントを選択することはできないが、アドレスアライメント調整のための回路構成を簡素化することができる。
【００８５】
《非競合ＤＲＡＭマクロの並列アクセス》
図１６には前記データバッファ回路４５の一例が示される。データバッファ回路４５は、第１ポートＰＴ１のデータバス１０ＤＢに接続されるリードデータバッファ４５４Ｒ及びライトデータバッファ４５４Ｗと、第２ポートＰＴ２のデータバス１１ＤＢに接続されるリードデータバッファ４５５Ｒ及びライトデータバッファ４５５Ｗと、セレクタ４５０Ｒ、４５１Ｒ，４５２Ｗ，４５３Ｗとを有する。セレクタ４５０ＲはＤＲＡＭマクロ５Ｍａ〜５Ｍｄの一つを選択してリードデータバッファ４５４Ｒに接続する。セレクタ４５１ＲはＤＲＡＭマクロ５Ｍａ〜５Ｍｄの一つを選択してリードデータバッファ４５５Ｒに接続する。セレクタ４５２ＷはＤＲＡＭマクロ５Ｍａ〜５Ｍｄの一つを選択してライトデータバッファ４５４Ｗに接続する。セレクタ４５３ＷはＤＲＡＭマクロ５Ｍａ〜５Ｍｄの一つを選択してライトデータバッファ４５５Ｗに接続する。セレクタ４５０Ｒ、４５１Ｒ，４５２Ｗ，４５３Ｗの選択信号は制御回路４６が出力する。
【００８６】
リードデータバッファ４５４Ｒとライトデータバッファ４５４Ｗは入力及び出力が共に１２８ビットとされる。一方、リードデータバッファ４５５Ｒとライトデータバッファ４５５Ｗはデータアライナを内蔵し、バス１１ＤＢ側のインタフェースが３２ビット、セレクタ４５１Ｒ，４５３Ｗ側のインタフェースが１２８ビットとされる。
【００８７】
前記優先アクセス判定回路４０、前記第１アクセスポートＰＴ１を介するアクセスと第２アクセスポートＰＴ２を介するアクセスが異なるＤＲＡＭマクロを用いるアクセスであるとき、双方のアクセスポートからの並列アクセスを許容する。
そのようなＤＲＡＭマクロの非競合アクセスは、バス６ＡＢから供給されるアドレス信号に含まれるマクロアドレス信号と、バス１１ＡＢから供給されるアドレス信号に含まれるマクロアドレス信号とを比較して判定する。その判定結果は制御回路４６に与えられ、制御回路４６は、双方からのマクロアドレス信号に従ってセレクタ４５０Ｒ，４５１Ｒ，４５２Ｗ，４５３Ｗの選択制御を行う。
【００８８】
また、前記優先アクセス判定回路４０は、第１アクセスポートＰＴ１を介するアクセスと第２アクセスポートＰＴ２を介するアクセスとが同一のＤＲＡＭマクロを用いるアクセスであるときは、予め決められた優先度の高い方のアクセスポートの動作を優先させる。
【００８９】
図１７には同一ＤＲＡＭマクロを用いるアクセス競合を生ずる場合の優先アクセス判定並びにそれによるアクセス制御手順の一例が示されている。
【００９０】
優先アクセス設定レジスタにアクセス優先されるポートが指定される。アドレス入力に対してその入力元が優先ポートか否かが判定され（Ｓ１）、優先ポートからのアクセスであれば、ウェイト中の優先アクセスが存在しているかをチェックし（Ｓ２）、優先アクセスが先に終わるまで待つ（Ｓ３）。その後、ヒット判定回路４３でセンスアンプキャッシュのヒット判定が行われ（Ｓ４）、キャッシュミスであれば、ロウアドレス系動作であるワード線選択及びセンスアンプラッチのロウアクセスが行なわれ（Ｓ５）、その後、カラム選択動作等のカラムアクセスが行なわれて（Ｓ６）、データが出力される（Ｓ７）。前記ステップＳ４においてキャッシュミスであれば、ロウアクセス（Ｓ５）をスキップしてカラムアクセス（Ｓ６）及びデータ出力動作（Ｓ７）に進む。前記ステップＳ１において優先アクセスでなければ、優先アクセスとの競合が有るかの判定が行われ（Ｓ８）、競合していれば、当該競合に係る優先アクセスが終わるのを待ち（Ｓ９）、それから前記ステップＳ４に進む。
【００９１】
図１８には前記優先アクセス判定結果に従ったＤＲＡＭマクロの動作タイミングの幾つかが例示される。例えば〔Ａ〕に示されるようにＣＰＵ１からバス６ＡＢを介してアドレス信号ａＡ０，ａＡ１が供給され、外部からバス１１ＡＢを介してアドレス信号ａＢ０〜ａＢ３が供給さる状態を考える。
【００９２】
〔Ｂ〕はアクセス対象ＤＲＡＭマクロが競合しない場合である。この場合には双方のアクセス対象ＤＲＡＭマクロは並列に独立動作される。〔Ｃ〕はアクセス対象ＤＲＡＭマクロが競合する場合であり、アドレス入力ａＢを優先アクセスとする場合である。最先のアクセス要求に関してはアドレスａＡ０とａＢ０とで競合し、アドレスａＡのアクセスは最初から他の優先アクセスに競合するから、アドレスａＢに対する動作が全て終了されるまでアドレスａＡに関するアクセスはウェイト状態にされる。〔Ｄ〕はアクセス対象ＤＲＡＭマクロが競合する場合であり、アドレス入力ａＡを優先アクセスとする場合である。この時、最初のアクセスａＡ０がキャッシュミスであり、キャッシュミスに対するキャッシュエントリのリプレース若しくはキャッシュフィルの期間、アドレスａＢ０，ａＢ１のアクセスがアドレスａＡのアクセスと競合せず、先のデータｄＢ０，ｄＢ１が読み出される。データｄＡ０のアクセス、これに続くキャッシュヒットに係るデータｄＡ１のアクセスは、アドレスａＢ２，ａＢ３に関するアクセスよりも優先され、これが終了するまでデータｄＢ２，ｄＢ３アクセスはウェイトされる。
【００９３】
上記により、ＤＲＡＭマクロを複数個混載したシステムＬＳＩにおいてＤＲＡＭマクロが競合しない複数のアクセス要求に対しては一方のアクセスが他方のアクセスをブロックしないようにしたノンブロッキングマルチアクセスを可能にできる。例えば、図示を省略するＤＭＡＣの制御によって外部からのアクセスが行なわれるとき、ＣＰＵ１の動作を停止させることなく、外部からのアクセスに支障のない範囲でＣＰＵ１によるＤＲＡＭマクロのアクセスが許容され、データ処理効率の向上に寄与することができる。
【００９４】
前記非競合ＤＲＡＭマクロのノンブロッキングマルチアクセスという観点に立つと、システムＬＳＩを図１９のように構成することも可能である。第２のポートＰＴ２にはＤＭＡＣ７を接続する。第１ポートＰＴ１のデータ入出力は３２ビットにされている。１次キャッシュメモリ２は、ユニファイドキャッシュメモリではなく、命令キャッシュメモリ２Ｉとデータキャッシュメモリ２Ｄに分けられている。図１９は専らデータパスのみを示してあるが、アドレスパスについては図１より容易に類推可能であろう。
【００９５】
尚、図１９の構成を各機能ブロック毎にＬＳＩ化してマルチチップでデータ処理システムとして構成することも可能である。また、そのようなアクセス方法では夫々のアクセスの状況に応じてアクセスオプティマイザのアドレス入力からデータ出力までのレイテンシが一定にならない場合がある。そのような場合には、アクセスポートＰＴ１及びＰＴ２のインタフェースとしてＳＲＡＭインタフェースを採用すれば、既存のシステムと組合わせて用いる場合にも簡単に接続が可能である。この目的のためにはアクセスオプティマイザ４がアドレス入力からデータ出力までの期間、ＷＡＩＴ（ウェイト）信号を出力すればよい。
【００９６】
《ＤＲＡＭマクロから成る２次キャッシュメモリの破壊書込み》
次に、システムＬＳＩにおいて２次キャッシュメモリとして特化されたＤＲＡＭマクロにけるＤＲＡＭバンクの破壊書込みについて説明する。通常ＤＲＡＭではデータの書き込みを行う場合には一旦メモリセルからセンスアンプにデータを読み出してからその一部を書きかえる。即ち、非破壊書き込みを行う。ＤＲＡＭマクロのセンスアンプキャッシュ機能を２次キャッシュメモリとして用いる場合、データの管理はワード線単位で行われるから、非破壊書き込みを行う必然性はない。そこで、書き込みに当たって、センスアンプへのデータ読み出し動作を行わず、ワード線の立ち上げと同時、若しくはその直後に、メインアンプからビット線に書き込みデータを転送して１ワード線分のデータを高速に書き込む。
【００９７】
上記破壊書き込みを実現するＤＲＡＭバンクのタイミングジェネレータ５４は、データ書込み動作モードに関し、ワード線選択から第1のタイミングでセンスアンプを活性化する第1動作モード（破壊書込みモード）と、ワード線選択から前記第1のタイミングよりも遅い第2タイミングでセンスアンプを活性化する第２動作モード（リフレッシュモード）を有する。前記第1動作モードは、特に制限されないが、ライトイネーブル信号ＷＥ及びロウコマンドＣＲをアサートし、その直後にカラムコマンドＣＣをアサートすることによって設定され、カラムコマンドＣＣと共にカラムアドレス信号が供給されることになる。前記第２コマンドは、特に制限されないが、ライトイネーブル信号ＷＥをネゲートしロウコマンドＣＲをアサートすることによって設定され、ロウコマンドＣＲと共にリフレッシュアドレス（ロウアドレス）が供給されることになる。リフレッシュ動作ではカラムアクセスは不要である。
【００９８】
図２０には破壊書込みモードの一例であるダイレクト・バースト・ライトモードの動作タイミングチャートの一例が示される。時刻ｔ０にワード線ＷＬが選択されると、その直後に、センスアンプの電源φＮ、φＰが投入され、センスアンプが活性化される。更に、カラム選択信号Ｙｓ０によって最初の１２８ビットの書込みデータＤ０がグローバルビット線ＧＢＬからカラムスイッチ回路５２を介して１２８ビット分のローカルビット線ＢＬに入力される。入力された１２８ビットの書込みデータＤ０は１２８個の対応するセンスアンプにラッチされ、ラッチされたデータに従って対応するローカルビット線ＢＬの電位状態が決定される。以下、時刻ｔ１から時刻ｔ１２７まで同様の書込み動作が連続され、最終的に、１本のワード線に関し、１０２４ビットのメモリセルにデータが書き込まれる。
【００９９】
図２１にはリフレッシュモードの動作タイミングチャートの一例が示される。リフレッシュ動作では、記憶情報のリフレッシュを行う動作の性質上、非破壊書き込みを行わなければならないから、時刻ｔ00でプリチャージ動作を終了し、時刻ｔ01でワード線選択動作を行い、これによってメモリセルからローカルビット線ＢＬに供給された電荷情報による差電圧がある程度大きくなるのを待って、時刻ｔ02にセンスアンプを活性化する。センスアンプには、時刻ｔ１にメモリセルの記憶情報がラッチされる。それによってローカルビット線ＢＬがドライブされ、その電荷情報によってメモリセルの記憶情報がリフレッシュされる。この動作では、時刻ｔ00〜ｔ１の期間でタイミングマージンが採られている。
【０１００】
ワード線1本単位でのデータ書き込みの他に、ワード線1本分のメモリセルの一部に対する書き込み動作をサポートするならば、リフレッシュ動作と同様に非破壊書き込みが必要になる。ワード線が選択されても書き込み対象とされないメモリセルのデータは破壊されてはならないからである。ワード線1本分の書き込みに対しても非破壊書き込みを行うならば、図２２に例示されるようにアクセス時間にリフレッシュ動作同様のタイミングマージンが加算され、図２０に比べて書き込み時間が長くされる。
【０１０１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０２】
例えば、ＤＲＡＭマクロの数、各ＤＲＡＭマクロが保有するＤＲＡＭバンクの数は上記の例に限定されず、適宜変更可能である。また、システムＬＳＩに代表される半導体集積回路に内蔵する回路モジュール若しくは機能モジュールの種類や数は上記の例に限定されない。アドレス変換バッファを含んだり、ＤＳＰを搭載したりすることも可能である。また、以上の説明では大容量メモリとしてＤＲＡＭマクロ及びＤＲＡＭバンクを一例としたが、破壊書き込みに関する発明以外ではメモリマクロやメモリバンクはＤＲＡＭ形式に限定されず、例えばＳＲＡＭ（Static Random Access Memory）等であってもよい。また、アドレス先行発行やノンブロッキングマルチアクセスに関する発明は、メモリマクロをワード線単位でデータ管理される２次キャッシュとして特化させた利用形態に限定されず、メモリマクロを単にメインメモリとして用いる場合にも適用可能であることは言うまでもない。
【図面の簡単な説明】
【０１０３】
【図１】本発明を適用した半導体集積回路の一例であるＣＰＵ／ＤＲＡＭ混載ＬＳＩ（システムＬＳＩ）のブロック図である。
【図２】図1のＤＲＡＭマクロの一例を示すブロック図である。
【図３】ＤＲＡＭバンクとグローバルビット線との接続構成の一例を示す回路図である。
【図４】アクセスオプティマイザの一例を示すブロック図である。
【図５】１次キャッシュメモリの基本構成の一例を示すブロック図である。
【図６】複数個のＤＲＡＭマクロを用いたセンスアンプキャッシュ機能の論理的な構成を１次キャッシュメモリと対比可能に示したブロック図である。
【図７】アドレス先行発行動作の一例を示すタイミングチャートである。
【図８】アドレス先行発行を考慮したときのヒット判定回路の一例を示すブロック図である。
【図９】アドレスアライメント調整回路でアドレスアライメントを行わない状態で１次キャッシュメモリに供給されるＣＰＵの出力アドレス信号とＤＲＡＭマクロに供給されるアクセスオプティマイザの出力アドレス信号との対応関係の一例を示す説明図である。
【図１０】アドレスアライメント調整回路によるアドレスアライメントによって得られるＣＰＵの出力アドレス信号とアクセスオプティマイザの出力アドレス信号との対応の第１の例を示す説明図である。
【図１１】アドレスアライメント調整回路によるアドレスアライメントによって得られるＣＰＵの出力アドレス信号とアクセスオプティマイザの出力アドレス信号との対応の第２の例を示す説明図である。
【図１２】アドレスアライメント調整回路の一例を示すブロック図である。
【図１３】図9のようにアドレスアライメントの調整を行わないときＣＰＵのアドレス空間を順番にアクセスした場合にワード線選択動作が行われるＤＲＡＭバンクの順番を示した説明図である。
【図１４】図１０のようにアドレスアライメントの調整を行ったときＣＰＵのアドレス空間を順番にアクセスした場合にワード線選択動作が行われるＤＲＡＭバンクの順番を示した説明図である。
【図１５】図１１のようにアドレスアライメントの調整を行ったときＣＰＵのアドレス空間を順番にアクセスした場合にワード線選択動作が行われるＤＲＡＭバンクの順番を示した説明図である。
【図１６】データバッファ回路の一例を示すブロック図である。
【図１７】同一ＤＲＡＭマクロを用いるアクセス競合を生ずる場合の優先アクセス判定並びにそれによるアクセス動作の制御手順の一例を示すフローチャートである。
【図１８】優先アクセス判定結果に従ったＤＲＡＭマクロの動作タイミングの幾つかを例示したタイミングチャートである。
【図１９】非競合ＤＲＡＭマクロのノンブロッキングマルチアクセスという観点に立ったシステムＬＳＩの別の例を概略的に示すブロック図である。
【図２０】破壊書込みモードの一例であるダイレクト・バースト・ライトモードの動作例を示すタイミングチャートである。
【図２１】リフレッシュモードの動作例を示すタイミングチャートである。
【図２２】ワード線1本分の書き込みに対しても非破壊書き込みを行うと仮定したときの動作タイミングの比較例を示すタイミングチャートである。
【符号の説明】
【０１０４】
１  ＣＰＵ
２  1次キャッシュメモリ
ＡＴＡＧ  アドレスタグ
Ｉｎｄｅｘ  インデックスアドレス
ＣＴＡＧ  キャッシュタグ
ＷＡＹ０〜ＷＡＹ３  ウェイ
３  外部バスインタフェース回路
４  アクセスオプティマイザ
ＰＴ１  第1アクセスポート
ＰＴ２  第2アクセスポート
４０  優先アクセス判定回路
４１  アドレスアライメント調整回路
４１０  制御レジスタ
４１１  スイッチ回路
４２  アドレス先行発行回路
４３  ヒット判定回路
４３０  アドレスデコーダ
４３１  レジスタ回路
４３２Ａ，４３２Ｂ  比較回路
４４  アドレス／コマンド発行回路
４５  データバッファ回路
５Ｍａ〜５Ｍｄ  ＤＲＡＭマクロ
５３  センスアンプアレイ
Ｂ−ＡＤＤ  バンク選択信号
Ｒ−ＡＤＤ  ロウアドレス信号
Ｃ−ＡＤＤ  カラムアドレス信号
ＣＲ  ロウコマンド
ＣＣ  カラムコマンド
ＷＥ  ライトイネーブル信号
ＧＢＬ  グローバルビット線
ＢＬ  ローカルビット線
ＷＬ  ワード線
６  2次キャッシュメモリ
【図１】
2004296088.tif 000003
【図２】
2004296088.tif 000004
【図３】
2004296088.tif 000005
【図４】
2004296088.tif 000006
【図５】
2004296088.tif 000007
【図６】
2004296088.tif 000008
【図７】
2004296088.tif 000009
【図８】
2004296088.tif 000010
【図９】
2004296088.tif 000011
【図１０】
2004296088.tif 000012
【図１１】
2004296088.tif 000013
【図１２】
2004296088.tif 000014
【図１３】
2004296088.tif 000015
【図１４】
2004296088.tif 000016
【図１５】
2004296088.tif 000017
【図１６】
2004296088.tif 000018
【図１７】
2004296088.tif 000019
【図１８】
2004296088.tif 000020
【図１９】
2004296088.tif 000021
【図２０】
2004296088.tif 000022
【図２１】
2004296088.tif 000023
【図２２】
2004296088.tif 000024