(57)【特許請求の範囲】
【請求項１】
マイクロプロセッサと、前記マイクロプロセッサにバスを介して接続されｍ個のウェイを有するセット・アソシアティブ形式のキャッシュメモリとを含み、前記キャッシュメモリは、アドレスメモリ部とデータメモリ部を有するデータ処理システムであって、
前記マイクロプロセッサのアクセスアドレスの一部がインデックスアドレスとして前記アドレスメモリ部と前記データメモリ部に共通に供給され、前記アドレスメモリ部はインデックスアドレスを用いて連想検索を行い、検索ヒットに係るウェイ選択信号を前記データメモリ部に与え、
前記データメモリ部は、データ読み出し動作においてメモリアレイからｍ×ｎビットのメモリセルを選択するための第１のアドレスデコーダへのアドレス信号伝達経路に、外部クロック信号に同期動作されるパイプラインラッチ手段が配置され、メモリアレイで選択されるｍ×ｎビットのメモリセルの中からｎビットのメモリセルを更に選択するセレクタを設け、セレクタの選択動作を制御する第２のアドレスデコーダへアドレス信号を供給する経路には、バイパス機能付きのパイプラインラッチ手段を配置し、当該バイパス機能付きのパイプラインラッチ手段に対してラッチ動作させるか信号スルー動作をさせるかを指示する制御端子を設けて成り、
前記データメモリ部に供給される前記外部クロック信号は前記マイクロプロセッサの動作基準クロック信号に同期するクロック信号とされ、前記インデックスアドレスは前記第１のアドレスデコーダに与えられ、前記ウェイ選択信号は前記第２のアドレスデコーダに与えられ、前記制御端子は前記バイパス機能付きのパイプラインラッチ手段に信号スルー動作を選択させるレベルに固定されるものであることを特徴とするデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック同期型の半導体記憶装置、さらにはそれにおける機能拡張に係り、セット・アソシアティブ形式のキャッシュメモリのデータメモリ部と通常のランダムアクセスの双方に対応できる半導体記憶装置に関するものである。
【０００２】
【従来の技術】
セット・アソシアティブ形式のキャッシュメモリは、ダイレクトマップに対して複数個のウェイを有する。したがって、データメモリ部はヒットに係るウェイの選択信号をキャッシュメモリ部から受け取って、ヒットに係るウェイのキャッシュエントリからデータを選択しなければならない。そのような選択機能は、汎用の単体メモリでは考慮されていない。マイクロプロセッサの外部に配置される２次キャッシュメモリのデータメモリ部を汎用のＳＲＡＭチップを用いて構成する場合には、データメモリ部をウェイ毎に別々のＳＲＡＭチップを割り当ててデータメモリ部を構成し、それらＳＲＡＭチップのデータ入出力端子をワイヤード・オア接続し、アドレスメモリ部からのウェイ選択信号をＳＲＡＭチップの出力イネーブル信号に対応させて、ウェイの選択を行うことができる。しかしながら、ＳＲＡＭチップを複数個用いる構成では、キャッシュメモリに必要な記憶容量との関係で各ウェイに最適な記憶容量のＳＡＭチップがない場合には、複数個のＳＲＡＭチップの一部の記憶領域が全く利用されず、実装面積を費やし、また、コストが上昇するという問題がある。
【０００３】
【発明が解決しようとする課題】
そこで本発明者は、ウェイ選択にも適用可能なセレクタをＳＲＡＭチップに内蔵させることを検討した。しかしながら、ウェイ選択信号は、キャッシュメモリのアドレスメモリ部における連想検索の結果得られる信号であり、アドレスメモリ部やデータメモリ部へのインデックスアドレス信号の供給タイミングに比べて遅延される。したがって、単にセレクタを既存のＳＲＡＭチップに内蔵させるだけでは済まない。
【０００４】
ここで、２次キャッシュメモリは１次キャッシュメモリに比べて記憶容量を大きくしなければならないという要求から、回路動作の高速性はある程度犠牲にならざるを得ない。それに加えて、１次キャッシュメモリは通常ＣＰＵ（セントラル・プロセッシング・ユニット）と同一の半導体チップに形成されるのに対し、２次キャッシュメモリはＣＰＵとは別チップに形成されることが多く、この点でも、２次キャッシュメモリはその高速動作の点で１次キャッシュメモリに比べて不利である。このため、２次キャッシュメモリにはＣＰＵとのデータ転送レートを向上させるために様々な技術的工夫がされている。例えば、ＲＩＳＣアーキテクチャーのマイクロプロセッサ等で用いられている公知のパイプライン処理をＳＲＡＭに適用した、シンクロナスＳＲＡＭ若しくはパイプラインバーストＳＲＡＭは、パイプラインを刻む複数のパイプラインラッチ回路をメモリチップ内部に有し、ＣＰＵとのデータ転送のスループットを向上させている。例えばアドレスバッファへのアドレス入力ラッチ、アドレスデコーダへのアドレス入力ラッチ、データ出力バッファへのデータ出力ラッチを想定したとき、各パイプラインラッチ回路がクロック信号サイクル毎にラッチ動作を行い、これに同期してリード動作が行われる場合、メモリにアドレスを与えてからそのアドレスのデータが出力されるまでにはクロック信号の２サイクルの期間を待たなければならないが、アクセスが連続される場合には、見掛け上、クロックサイクル毎にリードデータを得ることができる。
【０００５】
２次キャッシュメモリには通常そのようなクロック同期型のＳＲＡＭが用いられ、マイクロプロセッサの動作基準クロック信号に同期動作される。このような事情の下で、前述のように２次キャッシュメモリのデータメモリ部に供給されるインデックスアドレス信号とウェイ選択信号という２種類のアドレス信号の供給タイミングが相違される場合、単にウェイ選択用のセレクタを汎用ＳＲＡＭチップに搭載すれば済むものではないことが明らかにされた。そのようなアドレス供給タイミングの相違をはじめから考慮したキャッシュデータメモリ部専用のＳＲＡＭを新たに設計するとなれば、新たな開発のための工数、人員及びコストが強いられ、ＳＲＡＭの品種も増え、在庫管理上も望ましくない。
【０００６】
本発明の目的は、汎用のランダムアクセスとキャッシュデータメモリ部の双方の用途に対応できるクロック同期型の半導体記憶装置を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００８】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、メモリアレイからメモリセルを選択するための第１のアドレスデコーダへのアドレス信号伝達経路に、クロック信号に同期動作されるパイプラインラッチ手段が配置されて成るクロック同期型の半導体記憶装置に、メモリアレイで選択されるメモリセルを更に選択するセレクタを設け、セレクタの選択動作を制御する第２のアドレスデコーダにアドレス信号を供給する経路には、バイパス機能付きのパイプラインラッチ手段を配置し、当該バイパス機能付きのパイプラインラッチ手段に対してラッチ動作させるか信号スルー動作をさせるかを指示する制御端子を設けるものである。
【００１０】
この半導体記憶装置が通常のランダムアクセスメモリとして利用される場合、第１及び第２のアドレスデコーダには同期クロック信号に同期して並列的にアドレス信号が供給される。第２のアドレスデコーダによるセレクタの選択動作は、第１のアドレスデコーダによるメモリアレイからのメモリセル選択動作に同期して行われる。前記双方のパイプラインラッチ手段はそのようなタイミング的な同期を実現するために必要な直列ラッチ段数を有する。
【００１１】
この半導体記憶装置がセット・アソシアティブ・キャッシュメモリのデータメモリ部に適用される場合、第１のアドレスデコーダにはインデックスアドレスが供給され、第２のアドレスデコーダにはキャッシュアドレスメモリ部からウェイ選択信号が供給される。ウェイ選択信号は、キャッシュアドレスメモリ部における連想検索の結果得られる信号であるから、インデックスアドレス信号の供給タイミングに対して同期クロック信号の単数若しくは複数サイクル分遅延される。前記バイパス機能付きパイプラインラッチ手段には、その遅延を取り戻すのに必要な期間だけ、ラッチ動作に代えて信号スルー動作を選択させる。その選択は、前記制御端子の状態によって指示される。その結果、ウェイ選択信号がインデックスアドレス信号より遅れて供給されても、その遅れを取り戻した所要のタイミングでデータを外部に出力することができる。
【００１２】
これにより、汎用のランダムアクセスメモリとキャッシュデータメモリ部の双方の用途に対応できる。
【００１３】
【発明の実施の形態】
図１には本発明に係る半導体集積回路の一例であるＳＲＡＭ１のブロック図が示される。同図において２で示されるものはメモリアレイである。特にその詳細は図示を省略するが、メモリアレイ２は公知のスタティック型メモリセルがマトリクス配置され、メモリセルの選択端子は行毎に対応するワード線に接続され、メモリセルのデータ入出力端子は列毎に対応されるビット線に結合され、ビット線はカラムスイッチ回路を介してコモンデータ線に接続される。前記メモリセルからコモンデータ線に読出されたデータはセンスアンプで増幅され、セレクタ３に供給される。セレクタ３で選択されたデータはラッチ回路４にラッチされる。ラッチされたデータは図示を省略するデータ出力バッファを介してデータ入出力端子５から外部に出力される。外部からデータ入出力端子５に与えられた書き込みデータは、図示を省略するデータ入力バッファ及びラッチ回路７，８に取り込まれ、前記メモリアレイ２の図示を省略するカラムスイッチ回路を介して前記メモリアレイ２のコモンデータ線に与えられる。
【００１４】
前記メモリアレイ２は、特に制限されないが、２５６Ｋ×１８ビットの記憶容量を有する。メモリアレイ２はビット０〜ビット１７の夫々に対応される１８個のメモリマットＭＡＴ０〜ＭＡＴ１７に分けられ、各マットＭＡＴ０〜ＭＡＴ１７の記憶領域は夫々４個のユニットＵＮＴ０〜ＵＮＴ３に分けられている。各メモリマットＭＡＴ０〜ＭＡＴ１７において、リード動作は４ビット単位で行われ、ライト動作は１ビット単位で行われる。即ち、読出し動作えは、各メモリマットＭＡＴ０〜ＭＡＴ１７の各ユニットＵＮＴ０〜ＵＮＴ３から１ビットが選択される。前記図示を省略するカラムスイッチ回路によるビット線及びワード線の選択は、アドレスデコーダ８が行う。この例に従えば、アドレスデコーダ８は１８ビットのアドレス信号が供給され、リード動作では、夫々のメモリマットＭＡＴ０〜ＭＡＴ１７の各ユニットＵＮＴ０〜ＵＮＴ３から１ビットのメモリセルを選択する。セレクタ３は、各メモリマットＭＡＴ０〜ＭＡＴ１７に対し４ビットの中から一つのユニットの１ビットのメモリセルを選択する。その選択動作は２ビットのアドレス信号をデコードするアドレスデコーダ１１によって行われる。ライト動作においてアドレスデコーダ８は、夫々のメモリマットＭＡＴ０〜ＭＡＴ１７から１ビットのメモリセルを選択する。アドレスデコーダ８によるそのような選択動作の切換えは、制御信号１６によって指示される。
【００１５】
図２には上記アドレスデコーダ８の選択動作の切換えのための論理構成の一例として、一つのメモリマットのメモリユニットＵＮＴ０〜ＵＮＴ３に関する選択論理が概略的に示されている。図２において２３Ａ〜２３Ｄは各メモリユニットＵＮＴ０〜ＵＮＴ３における代表的に示された１本ビット線であり、各ビット線は読み出しカラムスイッチ２１Ａ〜２１Ｄを介して読み出しコモンデータ線２２Ａ〜２２Ｄに接続される。読み出しコモンデータ線２２Ａ〜２２Ｄの一端は前記セレクタ３に至る。また各ビット線２３Ａ〜２３Ｄは書き込みカラムスイッチ２４Ａ〜２４Ｄを介して書き込みコモンデータ線２５に接続される。書き込みコモンデータ線２５は前記ラッチ回路８に至る。
【００１６】
アンドゲート２７Ａ〜２７Ｄは前記読み出しカラムスイッチ２１Ａ〜２１Ｄの他端に接続された読出ドライバを構成し、信号１６がハイレベルにされることを条件に読み出しコモンデータ線２２Ａ〜２２Ｄを駆動可能にされる。アンドゲート２６Ａ〜２６Ｄは前記書き込みカラムスイッチ２４Ａ〜２４Ｄの選択端子に接続され、信号１６がローレベルにされることを条件にビット線２３Ａ〜２３Ｄの何れかを書き込みコモンデータ線２５に接続可能にされる。
【００１７】
アンドゲート２０Ａ〜２０Ｄは、前記アンドゲート２６Ａ〜２６Ｄと２７Ａ〜２７Ｄの選択信号を出力する。それらアンドゲート２０Ａ〜２０Ｄの一方の入力にはアドレス信号ａ０〜ａ１５のデコード結果信号の内の１本の信号１８が供給されている。この説明から明らかなようにビット線２３Ａ〜２３Ｄは１６ビットのアドレス信号ａ０〜ａ１５の１本のデコード信号１８によって選択されるビット線とされる。アンドゲート２０Ａ〜２０Ｄの他方の入力にはオアゲート１９Ａ〜１９Ｄの出力が与えられる。オアゲート１９Ａ〜１９Ｄの一方の入力には２ビットのアドレス信号ａ１６，ａ１７のデコード結果信号１７Ａ〜１７Ｄが供給される。デコード結果信号１７Ａ〜１７Ｄはデコード結果信号１８で選択される４本のビット線２３Ａ〜２３Ｄから１本を選択する信号とみなされる。したがって、特に図示はしないが、アドレス信号ａ０〜ａ１５の全てのデコード結果信号に対してデコード結果信号１７Ａ〜１７Ｄは共通に利用される。オアゲート１９Ａ〜１９Ｄの他方の入力には前記信号１６が与えられる。信号１６がハイレベルのとき（読み出し動作）は２ビットのアドレス信号ａ１６，ａ１７のデコード結果信号は実質的に無視され、各メモリユニットＵＮＴ０〜ＵＮＴ３から１ビットのメモリセルが選択されてコモンデータ線２２Ａ〜２２Ｄに接続される。前記信号１６はリード動作に呼応してハイレベルにされる。２ビットのアドレス信号ａ１６，ａ１７のデコード結果信号１７Ａ〜１７Ｄは信号１６がローレベルのとき実質的な意味を持ち、それによって各メモリマットにおいてメモリユニットＵＮＴ０〜ＵＮＴ３の中に１個のメモリユニットの１ビットのメモリセルが選択されてコモンデータ線２５に接続される。前記信号１６はライト動作に呼応してローレベルにされる。
【００１８】
図１において、前記アドレスデコーダ８の前段には１８ビットのラッチ回路９，１０が直列配置され、前記アドレスデコーダ１１の前段には２ビットのバイパス機能付きラッチ回路１２が配置される。前記ラッチ回路１２の入力は、ラッチ回路１０の上位２ビットに接続される。ラッチ回路１０にはアドレス入力端子１３から図示を省略するアドレスバッファを通して１８ビットのアドレス信号ａ０〜ａ１７が供給される。
【００１９】
前記ラッチ回路４，７，８，９，１０，１２はパイプラインラッチ回路として機能され、クロック信号ｃｋｗ，ｃｋに同期してラッチ動作を行う。それらラッチ回路は特に制限されないが、マスタ・スレーブのラッチ段を備えて構成される。
【００２０】
図１において１５で示されるものはタイミングタイミングコントローラであり、チップ選択信号ＣＳ、ライトイネーブル信号ＷＥ、アウトプットイネーブル信号ＯＥ等の外部制御信号、及び外部クロック信号ＣＬＫを受け、それによってＳＲＡＭ内部の動作モード及び動作タイミングを制御する。
【００２１】
チップ選択信号ＣＳによってＳＲＡＭがチップ選択状態にされると、アドレス入力端子１３からメモリアレイ２に至るまでのメモリセル選択系と、アドレスデコーダ１１に至るまでのセレクタ選択系が活性化される。このときのラッチ回路９，１０，１２のラッチタイミングは外部クロック信号ＣＬＫに同期する内部クロック信号ｃｋによって制御される。チップ選択状態においてアウトプットイネーブル信号によって読み出し動作が指示されると、ラッチ回路４の動作が選択される。ラッチ回路４のラッチ動作は内部クロック信号ｃｋｒによって制御され、このクロック信号ｃｋｒのクロックサイクルは前記内部クロック信号ｃｋと同じである。リード動作において前記信号１６はハイレベルにされる。一方、ＳＲＡＭのチップ選択状態においてライトイネーブル信号ＷＥによって書き込み動作が指示されるとラッチ回路７，８の動作が選択される。このラッチ回路７，８のラッチ動作は内部クロック信号ｃｋｗによって制御され、この内部クロック信号ｃｋｗはライトイネーブル信号ＷＥが活性化されているとき前記内部クロック信号ｃｋに同期して変化される。ライト動作において前記信号１６はローレベルにされる。
【００２２】
前記バイパス機能付きラッチ回路１２は、信号ラッチ動作と信号スルー動作を選択できるようにされ、その選択は外部端子１４に与えられるウェイモード信号ＷＭＤによって制御される。バイパス機能付きラッチ回路１２は、ウェイモード信号ＷＭＤのハイレベルによって信号スルー動作を行い、ウェイモード信号ＷＭＤのロウレベルではクロック信号ｃｋに同期したラッチ動作を行う。
【００２３】
前記バイパス機能付きラッチ回路１２の一例は図３に示される。バイパス機能付きラッチ回路１２のマスタ段はクロックドインバータ１２０Ｍ，１２１Ｍ、インバータ１２２Ｍ，１２３Ｍ及びノアゲート１２４Ｍによって構成され、同様にスレーブ段はクロックドインバータ１２０Ｓ，１２１Ｓ、インバータ１２２Ｓ，１２３Ｓ及びノアゲート１２４Ｓによって構成される。クロックドインバータ１２０Ｍ，１２０Ｓは制御端子がローレベル（論理値“０”）にされることによって反転出力動作を行い、制御端子がハイレベル（論理値“１”）にされることによって高出力インピーダンス状態にされる。クロックドインバータ１２１Ｍ，１２１Ｓは上記とは逆に、制御端子がハイレベルにされることによって反転出力動作を行い、制御端子がローレベルにされることによって高出力インピーダンス状態にされる。前記ノアゲート１２４Ｍ，１２４Ｓの一方の入力端子にはウェイモード信号ＷＭＤは供給される。また、マスタ段に含まれるノアゲート１２４Ｍの他方の入力端子にはクロック信号ｃｋの反転信号が、スレーブ段に含まれるノアゲート１２４Ｓの他方の入力端子にはクロック信号ｃｋが供給される。
【００２４】
図３に示されるバイパスラッチ回路１２において、ウェイモード信号ＷＤＭがハイレベルのとき、双方のナンドゲート１２４Ｍ，１２４Ｓの出力はローレベルに固定される。その結果、クロックドインバータ１２０Ｍ，１２０Ｓは反転出力動作を行い、クロックドインバータ１２１Ｍ，１２１Ｓは高出力インピーダンス状態にされる結果、バイパス機能付きラッチ回路１２は、クロック信号ｃｋとは無関係に入力を出力にスルーで伝達する、スルー動作を行う。
【００２５】
一方、図３に示されるバイパスラッチ回路１２において、ウェイモード信号ＷＤＭがローレベルのとき、クロックドインバータ１２０Ｍ，１２１Ｍはその制御端子にクロック信号ｃｋの反転信号が与えられて制御され、クロックドインバータ１２０Ｓ，１２１Ｓはその制御端子にクロック信号ｃｋが与えられて制御され、その結果、クロック信号ｃｋのハイレベルに同期してマスタ段はラッチ動作を行いスレーブ段はスルー動作を行い、また、クロック信号ｃｋのローレベルに同期してマスタ段はラッチ動作を行いスレーブ段はスルー動作を行い、全体としてバイパス機能付きラッチ回路１２はクロック信号ｃｋに同期したラッチ動作を行う。
【００２６】
このＳＲＡＭ１が通常のランダムアクセスメモリとして利用される場合、ウェイモード信号ＷＭＤはローレベルに設定され、これによってラッチ回路１２はクロック信号ｃｋに同期してラッチ動作を行う。図４にはＳＲＡＭ１が通常のランダムアクセスメモリとして利用される場合における読み出し動作タイミングの一例が示される。通常のランダムアクセスにおいて、前記アドレスデコーダ８，１１に供給されるべきアドレス信号ａ０〜ａ１７は並列的にアドレス入力端子１３に供給される。アドレス入力端子１３に供給されたアドレス信号ａ０〜ａ１５がラッチ回路９のスレーブ段から出力されるタイミングと、アドレス入力端子１３に供給されたアドレス信号ａ１６，ａ１７がラッチ回路１２のスレーブ段から出力されるタイミングは一致され、メモリアレイ２におけるメモリセルの選択と、選択されたメモリセルに対するセレクタ３による選択は、同期的に行われ、セレクタ３で選択された１８ビットがラッチ回路４にラッチされる。リード動作が連続されれば、Ｄ０，Ｄ１で例示されるように、読み出しデータはクロック信号ｃｋの１サイクル毎に得られる。このランダムアクセス動作においてラッチ４，９，１０，１２の全てがパイプラインラッチとして機能される。
【００２７】
ＳＲＡＭがセット・アソシアティブ・キャッシュメモリのデータメモリ部に適用される場合、アドレス信号ａ０〜ａ１５はキャッシュメモリにとってのインデックスアクセスとされ、アドレスデコーダ８に供給されることになる。このとき、アドレス信号ａ１６〜ａ１７は、キャッシュアドレスメモリ部からのウェイ選択信号とされ、アドレスデコーダ１１に供給されることになる。図５にはＳＲＡＭ１がセット・アソシアティブ・キャッシュメモリのデータメモリ部に適用される場合における読み出し動作タイミングの一例が示される。ウェイ選択信号は、キャッシュアドレスメモリ部における連想検索の結果得られる信号であり、インデックスアドレス信号の供給タイミングに対して例えばクロック信号ＣＬＫの１サイクル分遅延される。このとき、その遅れを取り戻すために、前記バイパス機能付きラッチ回路１２は、スルー動作されればよい。このように、ＳＲＡＭがセット・アソシアティブ・キャッシュメモリのデータメモリ部に適用される場合、ウェイモード信号ＷＭＤはハイレベルに設定され、これによってラッチ回路１２はクロック信号ｃｋに状態とは無関係に信号スルー動作を行う。この結果、アドレス入力端子１３に供給されたアドレス信号ａ０〜ａ１５（インデックスアドレス）がラッチ回路９のスレーブ段から出力されるタイミングと、アドレス入力端子１３に供給されたアドレス信号ａ１６，ａ１７（ウェイ選択信号）がラッチ回路１２のスレーブ段から出力されるタイミングは一致され、メモリアレイ２におけるメモリセルの選択と、選択されたメモリセルに対するセレクタ３による選択は、同期的に行われ、セレクタ３で選択された１８ビットが、キャッシュヒットに係るウェイのデータとして外部に読出される。
【００２８】
図６にはＳＲＡＭ１の書き込み動作の一例タイミングチャートが示される。同図から明らかなように書き込み動作ではセレクタ３は利用されない。また、書き込み動作はクロック信号の２サイクル目で完了される。リード動作よりも１サイクル早いタイミングで書き込みが行われる。したがって、このＳＲＡＭ１がキャッシュメモリとして利用される場合に、ライトアクセスにおけるキャッシュヒットしたときは、データメモリ部としてのＳＲＡＭ１へのインデックスアドレス信号のの供給タイミングを適宜の外部回路を用いて１クロック遅らせるものと理解されたい。
【００２９】
図７には上記ＳＲＡＭを適用したデータ処理システムが示される。１００で示されるものはマイクロプロセッサであり、このマイクロプロセッサ１００に外部バス１０１を介して２次キャッシュメモリ１０２が接続されている。
【００３０】
マイクロプロセッサ１００は、特に制限されないが、３２ビットＲＩＳＣ(Reduced Instruction Set Computer)アーキテクチャを有する。マイクロプロセッサ１００は、浮動小数点ユニット１０３を有する。さらに、マイクロプロセッサ１００は中央処理装置（ＣＰＵ）１０４を有し、このＣＰＵ１０４は整数を処理する能力を持つ整数ユニットとされる。前記ＣＰＵ１０４は内部バス１０５を介して前記浮動小数点ユニット１０３に結合されている。ＣＰＵ１０４及び浮動小数点ユニット１０３は１次キャッシュメモリ１０６から命令及びデータをフェッチする。１次キャッシュメモリ１０６はキャッシュバス１０７を介してバスコントローラ１０８に接続される。１次キャッシュメモリ１０６におけるキャッシュミス等に起因する外部アクセスのための命令アドレスやデータアドレスは前記バスコントローラ１０８に与えられる。バスコントローラ１０８はそれら命令アドレス又はデータアドレスに従って、外部メモリなどをアクセスするために外部バスサイクルを起動する。
【００３１】
外部バスサイクルが起動されると、２次キャッシュメモリ１０２が検索され、ヒットの場合には、２次キャッシュメモリ１０２からデータが読出され、或いは２次キャッシュメモリ１０２にデータが書込まれる。キャッシュミスの場合には、特に制限されないが、メインメモリなどから２次キャッシュメモリにキャッシュフィルが行われ、必要なデータがデータプロセッサに与えられ、或いはキャッシュフィルされたキャッシュエントリに書き込みデータがストアされる。
【００３２】
特に制限されないが、図７において１０９で示されるものは、メインメモリであり、２次キャッシュメモリ１０２の後段で外部バス１０１に接続されている。このメインメモリ１０９として、例えば前記ＳＲＡＭ１を用いることができる。その場合、メインメモリ１０９は通常のランダムアクセスメモリとして利用されるから、ウェイモード信号ＷＤＭは、実装回路基板上でプルダウンなどの処理にてローレベルに固定される。
【００３３】
図８には２次キャッシュメモリ１０２のデータメモリ部１１０とアドレスメモリ部１１１が示されている。２次キャッシュメモリ１０２は、特に制限されないが、複数個のウェイを有する公知のセットアソシアティブキャッシュメモリとしての構成を有する。図１で説明したＳＲＡＭ１は２次キャッシュメモリ１０２のデータメモリ部１１０を構成するのに利用される。アドレスメモリ部１１１はキャッシュタグや有効ビット等を格納するフィールドを有し、データメモリ部１１０はそれに対応してキャッシュエントリを保有するフィールドを有する。バスコントローラ１０８による外部バスアクセスのためのアドレス信号は、タグアドレス１１２、インデックスアドレス１１３及びオフセット１１４から成る。アドレスメモリ部１１１とデータメモリ部１１０に対するインデックスはインデックスアドレス１１３で行われる。アドレスメモリ部１１１では、インデックスされたキャッシュタグとアドレスタグ１１２が比較される。比較動作はウェイ毎に行われる。データメモリ部１１０は、キャッシュヒットの場合におけるウェイ選択信号１１５、インデックスアドレス１１３、及びオフセット１１４によってアクセスされる。ウェイ選択信号１１５、インデックスアドレス１１３、及びオフセット１１４が図１のアドレス信号ａ０〜ａ１７に対応される。データメモリ部１１０はそのアドレス信号によってアクセスされる。前記ウェイモード信号ＷＭＤは、特に制限されないが、実装回路基板上でプルアップ処理にてハイレベルに固定される。尚、図８においては、キャッシュフィル動作やタグアドレスの書き込みのためのアクセス経路は図示を省略してある。
【００３４】
以上説明したＳＲＡＭ１によれば、汎用のランダムアクセスとキャッシュデータメモリ部の双方の用途に対応できる。即ち、キャッシュデータメモリ部専用のＳＲＡＭを新たに開発することを要しない。
【００３５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、バイパス機能付きのパイプラインラッチ手段は１段のバイパスラッチ回路に限定されない。ウェー選択信号の供給タイミングが２クロックサイクル以上遅れる場合も予想されるときは、バイパスラッチ回路を２段以上設け、各段毎に、ラッチ動作と信号スルー動作を選する制御端子を設ければよい。また、メモリアレイやアドレスデコーダの構成は上記の例以外に種々変更することができる。
【００３６】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３７】
すなわち、メモリアレイで選択されるメモリセルを更に選択するセレクタを設け、セレクタの選択動作を制御するアドレスデコーダへのアドレス信号供給経路には、バイパス機能付きのパイプラインラッチ手段を配置し、当該バイパス機能付きのパイプラインラッチ手段に対してラッチ動作させるか信号スルー動作をさせるかを指示する制御端子を設けるから、この半導体記憶装置がセット・アソシアティブ・キャッシュメモリのデータメモリ部に適用される場合、ウェイ選択信号がインデックスアドレス信号の供給タイミングに対して遅延されても、その遅延を取り戻すのに必要な期間だけ、前記バイパス機能付きパイプラインラッチ手段をラッチ動作に代えて信号スルー動作させることにより、その遅れを取り戻した所要のタイミングでデータを外部に出力することができる。これにより、汎用のランダムアクセスメモリとキャッシュデータメモリ部の双方の用途に対応できる。
【図面の簡単な説明】
【図１】本発明に係る半導体集積回路の一例であるＳＲＡＭのブロック図である。
【図２】アドレスデコーダによるカラム選択のための論理構成の一例を示す論理回路図である。
【図３】バイパス機能付きラッチ回路の一例論理回路図である。
【図４】図１のＳＲＡＭが通常のランダムアクセスメモリとして利用される場合における読み出し動作タイミングの一例を示すタイミングチャートである。
【図５】図１のＳＲＡＭがセット・アソシアティブ・キャッシュメモリのデータメモリ部に適用される場合における読み出し動作タイミングの一例を示すタイミングチャートである。
【図６】図１のＳＲＡＭの書き込み動作の一例タイミングチャートである。
【図７】図１のＳＲＡＭを適用したデータ処理システムの一例ブロック図である。
【図８】図７の２次キャッシュメモリのデータメモリ部とアドレスメモリ部の構成を概略的に示すブロック図である。
【符号の説明】
１  ＳＲＡＭ
２  メモリアレイ
３  セレクタ
８，１１  アドレスデコーダ
１２  バイパス機能付きラッチ回路
４，９，１０  ラッチ回路
ＷＭＤ  ウェイモード信号
１４  ウェイモード信号の入力端子
【図１】
0003822687.tif 000002
【図２】
0003822687.tif 000003
【図３】
0003822687.tif 000004
【図４】
0003822687.tif 000005
【図５】
0003822687.tif 000006
【図６】
0003822687.tif 000007
【図７】
0003822687.tif 000008
【図８】
0003822687.tif 000009