(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに接続されたメモリと、前記プロセッサ及びメモリに接続されたメモリコントローラとを有し、
前記メモリは、メモリセルアレイと、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部と、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第１の判定手段とを有し、前記第１の判定手段による判定結果に応じたメモリ動作を行い、
前記メモリコントローラは、前記プロセッサからのメモリアクセスの指示に従って、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第２の判定手段を有し、前記第２の判定手段による判定結果に応ずる情報を前記プロセッサに与えると共に、前記メモリにアクセス制御情報を供給するものである、ことを特徴とするデータ処理システム。
【請求項２】
前記メモリは、前記第１の判定手段による判定結果に応じた動作を内部で制御するための第１のシーケンサを有して成るものであることを特徴とする請求項１記載のデータ処理システム。
【請求項３】
前記メモリセルアレイはマトリクス配置されたダイナミック型メモリセルを記憶素子として有し、
前記一時記憶部はメモリセルアレイのロウアドレスのデータをスタティックにラッチし、
前記第１のシーケンサは、前記第１の判定手段による判定結果がヒットのときカラムアドレスによる動作を指示し、前記第１の判定手段による判定結果がミスのときロウアドレスによる動作の指示に続いてカラムアドレスによる動作を指示するものであることを特徴とする請求項２記載のデータ処理システム。
【請求項４】
前記メモリコントローラは、前記第２の判定手段による判定結果に応じた動作を前記メモリに指示するための第２のシーケンサを有して成るものであることを特徴とする請求項１記載のデータ処理システム。
【請求項５】
プロセッサと、前記プロセッサに接続されたメモリと、前記プロセッサ及びメモリに接続されたメモリコントローラとを有し、
前記メモリは、メモリセルアレイと、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部と、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第１の判定手段とを有し、
前記メモリコントローラは、前記プロセッサからのメモリアクセスの指示に従って、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第２の判定手段を有し、
前記プロセッサからのメモリ・リードアクセスの指示に応答して、前記メモリコントローラ及びメモリは夫々判定手段による判定動作を行い、ヒットの判定結果に応答してメモリは前記一時記憶部からプロセッサにデータを出力し、且つ前記メモリコントローラはメモリからのデータ出力タイミングをプロセッサに通知し、ミスの判定結果に応答してメモリはメモリセルアレイからプロセッサにデータを出力し、且つ前記メモリコントローラはメモリからのデータ出力タイミングをプロセッサに通知するものであることを特徴とするデータ処理システム。
【請求項６】
前記メモリはクロック信号に同期動作されるランダム・アクセス・メモリであることを特徴とする請求項５記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、センスアンプキャッシュのようなデータ保持機構を有する主記憶のようなメモリに対する高速アクセスを可能にするデータ処理システムに関し、例えばＰＣボードなどのデータ処理システムに適用して有効な技術に関するものである。
【０００２】
【従来の技術】
マルチメディア技術の進歩に伴い、計算機システムとしてのデータ処理システムに対して処理の高速化とメモリの大容量化を望む傾向が強くなっている。演算処理の高速化については、高性能なプロセッサの登場による大幅な性能向上が図られた。プロセッサの高性能化の技術潮流は低価格化と共にパーソナルコンピュータ（ＰＣ）へも急速に浸透し、ローエンドのＰＣにも高速なプロセッサが投入されるようになった。
【０００３】
一方のメモリの大容量化については、主記憶装置としてコスト的に有利なダイナミック・ランダム・アクセス・メモリ（以下ＤＲＡＭと称する）が広く用いられている。このＤＲＡＭは低速なため、ＰＣではプロセッサのすぐ近くに高速のスタティック・ランダム・アクセス・メモリ（以下ＳＲＡＭと称する）をキャッシュメモリとして設置して、メモリシステムの実効的な高速化を図っている。しかし、今後更にＣＰＵの動作速度が向上すると、上位階層のキャッシュメモリを大量に実装する必要に迫られ、ビット単価が高いＳＲＡＭによるコスト高の問題を免れることができない。上記問題を解決するためには、ＤＲＡＭ自体の動作速度を高速化することが必須である。
【０００４】
ＤＲＡＭを高速化するための従来技術としては、ＤＲＡＭチップ内部に高速メモリを内蔵してＤＲＡＭ自体を階層化する例が知られている。この例としてキャッシュメモリ付きＤＲＡＭがあげられる。これはＤＲＡＭ内部にキャッシュメモリを組み込んで、過去にアクセスされたデータをこのキャッシュメモリに保持する技術である。 この技術によりキャッシュメモリ内にあるデータに再度アクセスされた場合には、実効的にＤＲＡＭへのアクセス時間を短縮することが可能となる。ＤＲＡＭチップ内にキャッシュメモリを搭載する例は次のような文献に掲載されている。１９９０  SYMPOSIUM  ON  VLSI  CIRCUITS  DIGEST  OF  THECHNICAL  PAPERS（１９９０  シンポジウム  オン  ブイエルエスアイ  サーキッツ  ダイジェスト  オブ  テクニカル  ペイパーズ）、[JUNE 7-9] (1990) The IEEE Solid State-Circuits Council and The Japan Society of Applied Physics、(米)、K.Arimoto et al. "A CIRCUIT DESIGN OF INTELLIGENT CDRAM WITH AUTOMATIC WRITE BACK CAPABILITY" p.79−80。以後、この例をＣＤＲＡＭと呼ぶ。
【０００５】
また、 高速アクセス可能なメモリとして数個のバッファをＤＲＡＭ内部に導入し、高速アクセスを可能とした従来例もあり、これは特開平８−１２９８７６号公報に開示されている。
【０００６】
更に上記のような付加的なメモリを搭載しないで、ＤＲＡＭの基本構成要素であるセンスアンプを用いて過去にアクセスされたデータをラッチし、次のアクセスに備える例もある。これはセンスアンプキャッシュと呼ばれることがある。この従来例としては、次のような文献を挙げることができる。IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL 28, NO. 4, APRIL 1993（アイトリプルイー・ジャーナル・オブ・ソリッド−ステート・サーキッツ）,（米）、Natsuki Kushiyama et al. "A 500-Megabyte/s Data-Rate 4.5M DRAM " p.490−498。
【０００７】
このようにＤＲＡＭアクセスを高速に行うためにデータをオンチップの高速メモリに保持することを、以後、キャッシュ保持と呼ぶ。また、このキャッシュ保持を実現する機構を総称してキャッシュ保持機構と呼ぶことにする。
【０００８】
【発明が解決しようとする課題】
本発明に先立って本発明者が検討したＰＣのシステムの構成を図１３を参照しながら説明する。図１３に示されるシステム構成は、ＣＰＵとキャッシュメモリを備えるプロセッサ５０と、主記憶装置５２と、主記憶制御装置としてのメモリコントローラ５１で構成される。メモリコントローラ５１は、制御部５４と主記憶アクセスアドレス変換部５３で構成される。プロセッサ５０からのアクセスは、コマンドを信号線６１Ａで、アドレスを信号線６０Ａでメモリコントローラ５１へ伝達することによって行われる。主記憶装置５２から所望のデータを読み出し、またこの主記憶装置５２へ所望のデータを書き込むためには信号線６２を用いる。メモリコントローラ５１は、プロセッサ５０からアドレス信号線６０Ａにて伝達されたアドレスを、主記憶アクセスアドレス変換部５３にて主記憶アクセスアドレスに変換し、信号線６０Ｂにて主記憶装置５２へと伝達する。メモリコントローラ５１内の制御部５４は、信号線６１Ａでプロセッサ５０と通信すると共に、信号線６１Ｂにて主記憶装置５２の制御を行う。
【０００９】
通常この主記憶装置５２には、キャッシュ保持機構を持たない汎用ＤＲＡＭが用いられているが、計算機システムの更なる高速化を目指すために、キャッシュ保持機構を持ったＤＲＡＭを用いる場合は、キャッシュ保持機構にデータがあるか否かの判定（ＴＡＧ部でのヒット判定）が必要になる。前記ＴＡＧ部に関しては、▲１▼ＴＡＧ部をＤＲＡＭ内部に設置する場合、▲２▼ＴＡＧ部をメモリコントローラに設置する場合が考えられる。
【００１０】
前記▲１▼の従来例として前記ＣＤＲＡＭを挙げられるが、これはＣＤＲＡＭチップ内にこのＴＡＧ部を有し、判定結果を外部へ伝達する方式をとる。この方式では、メモリコントローラ５１を通してプロセッサ５０へ判定結果を伝達することになるが、これはヒット判定結果をプロセッサ５０まで伝達する上で問題がある。それはＣＤＲＡＭからのヒット判定信号線を付加しなくてはならないことである。まずＣＤＲＡＭからのヒット判定信号を直接プロセッサ５０へ伝達することが可能であれば、ヒット判定結果の伝達遅延の問題は生じないが、ＰＣ等では主記憶装置を複数設置して大容量化に対応するため、この信号線を複数付加することが必要となりコスト高に繋がる。また、ＣＤＲＡＭからの信号線をメモリコントローラ５１へ伝達後、プロセッサ５０へ伝達することも考えられるが、この場合、余分なチップを経由することによる遅延が発生し、プロセッサ５０が次の処理を開始する時間が遅れる。
【００１１】
また前記▲２▼の場合は、メモリコントローラ５１内でヒット判定を行った後に主記憶装置５２へアクセスを開始するため、主記憶装置５２へのアクセスコマンドの伝達に遅延時間が発生する。これは以下の理由による。現在主流の同期型ＤＲＡＭは、信号の授受をシステムクロックに同期して行うため、信号の受信間隔は十数ナノ秒から数十ナノ秒で離散化される。したがって、判定後、直にＤＲＡＭへのアクセスが始められれば問題ないが、クロックの取り込みに間に合わない場合は１クロックのペナルティが科せられることになる。ＴＡＧ部でのヒット判定には高々数ナノ秒しかかからないことを考慮すると、これは大きなペナルティといえる。
【００１２】
このように従来技術を単に組み合わせただけでは不必要な待ち時間が発生するため、高速アクセス可能なキャッシュ保持機構を有していても、その効果を最大限に活かすことは困難であった。
【００１３】
本発明の目的はメモリアクセスの高速化が可能なデータ処理システムを提供することにある。
【００１４】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【００１５】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１６】
すなわち、キャッシュ保持機構に要求されたデータが保持されているか否かを判定（ヒット判定）する手段（１０３，２０３）を、メモリコントローラ（１１３）とメモリ（２００）の両者に組み込み、両者で同時にヒット判定を行う。メモリコントローラとキャッシュ保持機構を有するメモリのそれぞれに前記判定手段を持つことにより、メモリのキャッシュ保持機構にデータを有するか否かの判定をメモリコントローラとメモリのそれぞれで行うことが可能となり、ヒット判定を待つ遅延時間を削減することが可能となり、データ処理システムにおいてメモアクセスの高速化を実現できる。
【００１７】
また、メモリのみに前記判定手段を持つ場合に問題となる事項であるヒット判定結果のプロセッサへの伝達については、メモリコントローラから直接プロセッサへ伝達できるため、その伝達を高速化でき、更に、複数のメモリとプロセッサを多数のヒット判定信号線で結線する必要もなく、データ処理システムの低コスト化に寄与できる。
【００１８】
さらに、メモリ内部にシーケンサ（３０１）を設置することで、メモリへの制御信号が単純化でき、これにより、メモリコントローラのゲート規模を削減することが可能になる。
【００１９】
本発明に係るデータ処理システムを更に詳述する。データ処理システムは、プロセッサ（１００）と、前記プロセッサに接続されたメモリ（２００）と、前記プロセッサ及びメモリに接続されたメモリコントローラ（１１３）とを有する。前記メモリは、メモリセルアレイ（２０）と、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部（２１）と、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第１の判定手段（２０３）とを有し、前記第１の判定手段による判定結果に応じたメモリ動作を行う。前記メモリコントローラは、前記プロセッサからのメモリアクセスの指示に従って、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第２の判定手段（１０３）を有し、前記第２の判定手段による判定結果に応ずる情報を前記プロセッサに与えると共に、前記メモリにアクセス制御情報を供給する。
【００２０】
前記メモリは、前記第１の判定手段による判定結果に応じた動作を内部で制御するための第１のシーケンサを有することができる。このとき、前記メモリセルアレイはマトリクス配置されたダイナミック型メモリセルを記憶素子として有し、前記一時記憶部はメモリセルアレイのロウアドレスのデータをスタティックにラッチし、前記第１のシーケンサは、前記第１の判定手段による判定結果がヒットのときカラムアドレスによる動作を指示し、前記第１の判定手段による判定結果がミスのときロウアドレスによる動作の指示に続いてカラムアドレスによる動作を指示するように構成することができる。
【００２１】
シーケンサはメモリではなくメモリコントローラが保有することも可能である。すなわち、前記コントローラに、前記第２の判定手段による判定結果に応じた動作を前記メモリに指示するための第２のシーケンサを制御部（１１４）内に設ける。
【００２２】
【発明の実施の形態】
《データ処理システムの概要》
図１には本発明に係るデータ処理システムの一例が示される。同図に示されるデータ処理システムは、特に制限されないが、ＣＰＵを中心に構成されるプロセッサ１００と、ＤＲＡＭ等によって構成される主記憶装置２００と、前記主記憶装置２００へのアクセスをコントロールするメモリコントローラ１１３とを含んでいる。図１において１０５、１０６Ａ，１０７Ａで示されるものは、特に制限されないが、夫々データバス、コントロールバス、アドレスバスであり、システムバスを構成している。図１では、システムバスにはプロセッサ１００以外に、主記憶装置２００及びメモリコントローラ１１３だけが接続されているように図示されているが、実際には、ディスク用インタフェース回路やその他のバスブリッジ回路等が接続されている。
【００２３】
前記プロセッサ１００は、特に制限されないが、ＣＰＵ１０にキャッシュメモリ（ＣＡＣＨＥ）・アドレス変換バッファ（ＴＬＢ）１１が接続され、キャッシュメモリ・アドレス変換バッファ１１はバスステートコントローラ１２を介してキャッシュミスやＴＬＢミスに対するエントリの読み込みなどを主記憶装置２００に対して行うようになっている。バスステートコントローラ１２には、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）等の周辺回路が接続されていてもよい。前記ＣＰＵ１０は、フェッチした命令を解読して各種演算制御信号を生成する命令制御部と、前記演算制御信号によって動作が制御され演算器や汎用レジスタなどを有する演算部等を有する。ＣＰＵ１０は命令を前記キャッシュメモリからフェッチし、オペランドを前記キャッシュメモリからレジスタにロードし、演算結果をレジスタからメモリにストアする。命令アクセスやオペランドアクセスに際して、キャッシュヒットの間は、主記憶装置２００のアクセスは行なわれない。キャッシュメモリ（ＣＡＣＨＥ）がキャッシュミスになると、ＣＡＣＨＥ・ＴＬＢ１１に含まれる制御回路はバスステートコントローラ１２を介して主記憶装置２００をアクセスする。
【００２４】
前記主記憶装置２００は、特に制限されないが、メモリ部２０１、制御部２０２、ＴＡＧ部２０３及びアドレス抽出部２０４を有する。前記アドレス抽出部２０４はメモリコントローラ１１３からノン・マルチプレクス状態で供給されるアドレス信号から、バンク選択信号とみなされるバンクアドレス信号及びロウアドレス信号２０８とカラムアドレス信号２０９とを切り出してメモリ部２０１に供給する。ロウアドレス信号及びバンクアドレス信号２０８はＴＡＧ部２０３にも供給される。
【００２５】
前記メモリ部２０１は、メモリセルアレイと、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部とを有する。例えば、メモリ部２０１がダイナミック型のメモリセルを有するメモリならば、図２に例示されるように、ダイナミック型メモリセルがマトリクス配置されたメモリセルアレイ（ＭＣＡ）２０に対して、センスアンプラッチ（ＳＡＡ）２１を一時記憶部として有する。メモリセルアレイ２１はマトリクス配置された複数個のメモリセルＭＣを有する。メモリセルは、特に制限されないが、選択スイッチとストレージキャパシタを有する１トランジスタ型のダイナミック型メモリセルとされる。メモリセルの選択端子は対応する行のワード線ＷＬに、メモリセルのデータ入出力端子は対応する列のビット線ＢＬに接続される。
【００２６】
前記ワード線ＷＬはワードドライバ２２によって選択レベルに駆動される。ロウデコーダ２３はロウアドレス信号をデコードして、ワードドライバ２２で駆動すべきワード線ＷＬの選択信号を生成する。
【００２７】
前記ビット線ＢＬは、特に図示は省略するが、センスアンプを中心に、所謂折り返しビット線構造を成す。センスアンプは、メモリセルから一方のビット線に読み出された電荷信号と他方のビット線のプリチャージレベルとの電位差を増幅して、スタティックにラッチする。前記センスアンプラッチ２１は、ワード線１本分のメモリセルのための前記センスアンプのアレイによって構成されている。
【００２８】
前記センスアンプラッチ２１を構成するセンスアンプの記憶ノードはカラムスイッチアレイ（ＣＳＡ）２４によって選択され、選択された記憶ノードが共通データ線ＣＤを介して入出力回路（ＩＯ）２５に接続される。カラムスイッチアレイ（ＣＳＡ）２４によるスイッチ動作は、カラムアドレス信号をデコードしてカラム選択信号を出力するカラムアドレスデコーダ（ＣＡＤＣ）２６が行う。
【００２９】
前記メモリセルアレイ２０、ワードドライバ２２、ロウアドレスデコーダ２３及びセンスアンプラッチ２１はメモリバンク毎に設けられている。
【００３０】
タイミング制御回路（ＴＣＮＴ）２７は、ロウアドレスストローブ信号ＲＡＳ、カラムアドレスストローブ信号ＣＡＳ、ライトイネーブル信号ＷＥ及びバンク選択信号ＢＳＥＬ等の制御信号を入力し、それら信号のレベルの組み合わせ及び変化タイミングなどにしたがって内部制御信号を生成する。内部動作はクロック信号ＭＣＬＫに同期される。前記メモリバンクはバンク選択信号ＢＳＥＬで選択されたバンクが動作可能にされる。アドレス信号の特定のビット（バンクアドレス信号）を前記バンク選択信号ＢＳＥＬとみなすことができる。
【００３１】
ワード線選択動作及びセンスアンプラッチ２１によるラッチ動作はロウアドレスストローブ信号ＲＡＳに同期して行われる。センスアンプラッチ２１はバンク選択信号ＢＳＥＬで選択されたバンクにおいて、ロウアドレスストローブ信号ＲＡＳがイネーブルにされている限り、ラッチ動作を維持する。したがって、ワード線選択動作によってワード線１本分のメモリセルが選択されると、選択されたメモリセルの記憶情報がセンスアンプラッチ２１にラッチされる。その後のメモリアクセスにおいて、ロウアドレスが同一であるならば、カラムアドレス信号を順次切換えてカラムアドレス系だけを動作させれば、ワード線選択動作を行わずにセンスアンプラッチ２１から、順次必要なデータを入出力回路２５から外部に読み出すことができる。書込み動作の場合には、入出力回路２５から書き込みデータをセンスアンプラッチ２１にラッチさせていく。センスアンプラッチ２１にデータをラッチしたときのワード線と異なるワード線が次に選択されるときは、その前に、当該センスアンプラッチ２１のラッチデータをメモリセルにライトバックさせる。この制御は、キャッシュメモリのダーティービットを参照したライトバック制御に類似の制御として位置付けることができる。
【００３２】
以上より明らかなように、メモリ部２０１のセンスアンプラッチ２１は所謂センスアンプキャッシュとして機能されるものである。以下、メモリ部２０１のセンスアンプラッチ２１によって実現される構成を単にセンスアンプキャッシュとも称する。
【００３３】
前記ＴＡＧ部２０３は、前記一時記憶部としてのセンスアンプラッチ２１に存在する情報のアドレスに前記プロセッサ１００が要求するアクセスアドレスがヒットするか否かを判定する第１の判定手段を構成する。ＴＡＧ部２０３は、例えば、キャッシュメモリのアドレスメモリ部に類似の構成を採用することができる。即ち、ＴＡＧ部２０３は、センスアンプラッチ２１が保持する情報のロウアドレス信号をタグアドレスとしてタグメモリに保有する。タグメモリはバンクアドレス信号（バンク選択信号）をインデックスアドレスとしてアクセスされる。タグアドレスの書込みは、ワード線選択動作毎に制御部２０２が行う。ロウアドレス信号はインデックスされたタグアドレスと比較され、比較結果が制御部２０２に与えられる。制御部２０２は、比較結果の一致／不一致に応じた動作をメモリ部２０１に指示するように、前記ストローブ信号ＲＡＳ，ＣＡＳ，ＷＥなどのレベルや変化タイミングを制御する。例えば、メモリコントローラ１１３から信号線１０６Ｂを介してリード動作が指示されているとき、前記ＴＡＧ部２０３での比較結果が一致のとき、制御部２０２は、カラム系を動作させてセンスアンプラッチ２１にラッチされているデータの一部を出力させる。前記ＴＡＧ部２０３での比較結果が不一致のときは、制御部２０２は、ロウ系の動作によってワード線選択動作をさせ、その後、カラム系を動作させてセンスアンプラッチ２１を介してデータを出力させる。
【００３４】
前記メモリコントローラ１１３は、制御部１１４、抽出部１１１、ＴＡＧ部１０３、及びアクセスアドレス変換部１１５を有する。前記アクセスアドレス変換部１１５は、プロセッサ１００からアドレスバス１０７Ａを介して出力されるアドレス信号を主記憶装置２００の物理的なアドレス信号に変換する。前記抽出部１１１は、アクセスアドレス変換部１１５が出力するアドレス信号から、主記憶装置２００におけるバンクアドレス信号及びロウアドレス信号を抽出する。
【００３５】
前記ＴＡＧ部１０３は、前記ＴＡＧ部２０３と同様の構成を有し、前記一時記憶部としてのセンスアンプラッチ２１に存在する情報のアドレスに前記プロセッサ１００が要求するアクセスアドレスがヒットするか否かを判定する第２の判定手段を構成する。このＴＡＧ部１０３も、キャッシュメモリのアドレスメモリ部に類似の構成を採用することができる。即ち、ＴＡＧ部１０３は、センスアンプラッチ２１が保持する情報のロウアドレス信号をタグアドレスとしてタグメモリに保有する。タグメモリは、抽出部１１１で抽出されたバンクアドレス信号（バンク選択信号）をインデックスとし、抽出部１１１で抽出されたロウアドレス信号を保持する機能を持つ。ロウアドレス信号はインデックスされたタグアドレスと比較され、比較結果が制御部１１４に与えられる。
【００３６】
前記制御部１１４は、比較結果の一致／不一致の状態に応じて、データバス１０５上でリードデータが確定するタイミングを若しくはレイテンシをプロセッサ１００に通知し、或いは書き込みデータをデータバス１０５上で確定させるべきタイミング若しくはレイテンシをプロセッサ１００に通知する。プロセッサ１００は、通知されたレイテンシなどに従って、リードデータをバス１０５から取り込み、或いは、バス１０５にライトデータを出力する。
【００３７】
上述の説明から明らかなように、主記憶装置２００とメモリコントローラ１１３の双方がＴＡＧ部２０３、１０３によってセンスアンプキャッシュのヒット／ミスを判定している。したがって、前記プロセッサ１００からのメモリ・リードアクセスの指示に応答して、前記メモリコントローラ１１３及び主記憶装置２００は夫々ＴＡＧ部２０３，１０３による判定動作を行い、ヒットの判定結果に応答して主記憶装置２００は前記センスアンプキャッシュからプロセッサ１００にデータを出力し、且つ前記メモリコントローラ１１３は主記憶装置２００からのデータ出力タイミングをプロセッサ１００に通知する。ミスの判定結果に対しても、主記憶装置２００は自らの判定結果に基づいて動作し、メモリコントローラ１１３も自らの判定結果に基づいてプロセッサ１００への通知を行う。仮に、メモリコントローラ１１３だけがＴＡＧ部１０３を有する場合には、主記憶装置２００はその判定結果を受けて動作を開始することになるから、メモリ動作の開始が遅れる。逆に、主記憶装置２００だけがＴＡＧ部２０３を有する場合には、プロセッサ１００への判定結果の通知が遅れ、プロセッサによるヒットデータの取り込みが遅れたり、逆に、ミス時にプロセッサ１００が次のコマンドを発行するタイミングが遅れたりする虞がある。図１のシステムではそのような虞は未然に防止されている。
【００３８】
図１のデータ処理システムにおける主記憶装置２００のメモリアクセス動作について更に説明する。
【００３９】
前記プロセッサ１００からのアクセスアドレス信号はバス１０７Ａにてメモリコントローラ１１３内のアクセスアドレス変換部１１５に伝達され、このアクセスアドレス変換部１１５で変換された主記憶アクセスアドレス信号は、信号線１０７Ｂ及び抽出部１１１を介してＴＡＧ部１０３に伝達され、また、信号線１０７Ｂを介して主記憶装置２００へ伝達される。主記憶装置２００への主記憶アクセスアドレス信号の伝達は、特に制限されないが、従来広く用いられていたロウアドレスとカラムアドレスを分離して時分割多重で送る方法（アドレスマルチプレス方式）は採らないで、主記憶アクセスアドレス信号として一括伝達する方法を採している。アドレス線１０７Ｂから供給されたアドレス信号は、前記アドレス抽出部２０４にて、ロウアドレス信号及びバンクアドレス信号２０８とカラムアドレス信号２０９に分離される。ロウアドレス信号及びバンクアドレス信号２０８はＴＡＧ部２０３へ伝達されると共に、メモリ部２０１へ伝達され、カラムアドレス信号２０９はメモリ部２０１へ伝達される。プロセッサ１００と主記憶装置２００との間のデータ入出力はバス１０５を介して行われる。
【００４０】
プロセッサ１００から主記憶装置２００へのアクセス要求は、信号線１０６Ａによってメモリコントローラ１１３へアクセスコマンドを投入することで行われる。メモリコントローラ１１３内の制御部１１４は信号線１１０によってＴＡＧ部１０３の制御を行うと共に、信号線１０６Ｂによって主記憶装置２００への制御を行う。主記憶装置２００が複数ある場合には、このメモリコントローラ１１３はプロセッサ１００が発するアドレスからアクセスすべき主記憶装置を決定し、該当する主記憶装置へアクセスを開始する。例えば、図示は省略するが、アドレスバス１０７Ａから伝達されるアドレス信号の一部を制御部１１４が入力し、これに基づいて主記憶装置のチップセレクト信号を生成することによって簡単に実現可能である。前記ＴＡＧ部１０３にて行われるメモリコントローラ内のヒット判定は、この主記憶アクセスアドレスのうちのロウアドレス信号及びバンクアドレス信号に関して行い、このロウアドレス信号及びバンクアドレス信号の抽出は前記抽出部１１１にて行われる。抽出部１１１にて抽出されたロウアドレス信号及びバンクアドレス信号は、信号線１１２によりＴＡＧ部１０３に伝達される。ＴＡＧ部１０３は、主記憶装置２００内のセンスアンプキャッシュにエントリーされている情報のロウアドレスを保持し、この保持されているアドレス情報がアクセスアドレス情報中のロウアドレス信号１１２と比較される。この比較結果は信号線１０８にて制御部１１４へ伝達される。前記比較結果が不一致の場合には、主記憶装置２００のアクセス動作はロウアクセスから必要となるので低速アクセス動作となっているが、比較結果が一致の場合には主記憶装置２００はセンスアンプキャッシュの機能によりロウアクセスをスキップしてカラムアクセスを行えば良いので、高速アクセスが可能にされている。このようにキャッシュ保持機構としてのセンスアンプキャッシュに所望のデータがあるか否かで、読み出しにかかる待ち時間(読み出しレイテンシ)が変化するので、要求データがプロセッサ１００側へ伝達可能となるまでのレイテンシをプロセッサ１００へ伝達する必要が生じる。メモリコントローラ１１３は、そのレイテンシ情報を信号線１０６Ａを用いてプロセッサ１００へ伝達する。メモリコントローラ１１３は、例えば、ＴＡＧ１０３でのヒット判定後、次のクロック信号（プロセッサ１００、メモリコントローラ１１３及び主記憶装置２００の同期クロック信号）のサイクルで直ちに前記レイテンシ情報を伝達するように、タイミング設計されている。なお、このヒット判定の結果、主記憶装置２００内のキャッシュ保持機構（センスアンプキャッシュ）内にデータがない場合には、新しいアドレスが主記憶装置２００内のキャッシュ保持機構にエントリーされるため、ＴＡＧ部１０３の更新を行う。
【００４１】
主記憶装置２００は、信号線１０７Ｂからアドレス抽出部２０４が受け取った主記憶アクセスアドレス信号をロウアドレス信号及びバンクアドレス信号２０８とカラムアドレス信号２０９に分離する。前記ＴＡＧ部２０３でのヒット判定の結果、キャッシュ保持機構に所望のアドレスのデータがある場合は、上記同様、主記憶装置２００は、ロウアクセスは行わないでカラムアクセスを行い、キャッシュ保持機構のセンスラッチ２１に保持されている所望のデータに対してアクセスする。これはＴＡＧ部２０３からのヒット判定信号を信号線２０５にて制御部２０２に伝達し、制御部２０２からの制御信号を信号線２０７にてメモリ部２０１へ伝達することによって行なわれる。また、所望のアドレスのデータがこのキャッシュ保持機構のセンスラッチ２１にない場合には、ロウアクセスを行うと共に、新たに入力されたアドレスのデータを主記憶装置２００内のキャッシュ保持機構にエントリーし、ＴＡＧ部２０３の更新を行う。この更新は制御部２０２からの信号線２０６にて行われる。
【００４２】
前述の如くメモリコントローラ１１３と主記憶装置２００のそれぞれにＴＡＧ部１０３，２０３を設置している。これにより、ヒット判定待ちの余分なレイテンシが発生しないので、ヒット時に主記憶装置２００へ高速にアクセスすることができる。
【００４３】
この事情を図３のタイミングチャート参照しながら説明する。図３に示されるシステムクロックは図1のデータ処理システムの同期クロック信号である。図３の‘Ａ’でまとめられているグループはメモリシステムへの要求を表現したもので、１００１Ａはアクセスコマンドを、１００１Ｂはアドレスを示す。その次段の‘Ｂ’でまとめられるグループは、メモリコントローラ内のみにＴＡＧ部を持つ場合のキャッシュ保持機構ヒット時のアクセス状態を示し、１００２Ａは主記憶装置へのアクセスコマンドを、１００２Ｂは主記憶アクセスアドレスを、１００３は所望の読み出しデータを表わしている。さらに‘Ｃ’でまとめられるグループは、図１のようにメモリコントローラ１１３と主記憶装置２００の両方にＴＡＧ部１０３，２０３を持つ場合のキャッシュ保持機構ヒット時のアクセス状態を示しており、１００４Ａは主記憶装置へのアクセスコマンドを、１００４Ｂは主記憶アクセスアドレスを、１００５は読み出しデータをあらわしている。図３の‘Ｂ’に比べ‘Ｃ’はデータ読み出しが1クロック高速化されている。主記憶装置２０もＴＡＧ部を有しているからである。
【００４４】
また、主記憶装置内のみにＴＡＧ部を持つ場合に問題となったヒット判定結果のプロセッサへの伝達は、メモリコントローラ１１３内にもＴＡＧ部を持つことによって、メモリコントローラ１１３からヒット判定結果を直にプロセッサ１００へ伝達可能となる。これにより、プロセッサ１００の処理を待たせる時間が最小限に抑えられ、複数の主記憶装置とプロセッサ１００間のヒット判定結果を伝えるための多数の信号線を設けずに済み、データ処理システムの製作上、低コスト化を実現することができる。
【００４５】
更に高速化するためには、ＴＡＧ部２０３でのヒット判定と主記憶アクセスアドレスのデコードとを並列に開始し、ヒット判定結果によってワード線選択を行うかカラムスイッチ回路によるカラム選択（センスアンプラッチの出力ノード選択）かを選択すればよい。
【００４６】
上記のように、メモリコントローラ１１３及び主記憶装置２００の双方にＴＡＧ部などを付加する必要があるが、そのためのチップ面積の増大はごく僅かである。その理由は以下の通りである。例えば、ＤＲＡＭは選択スイッチと電荷保持機構より構成されるメモリセルを多数有するメモリ部と、メモリセル内の微小電荷を増幅するセンスアンプとで構成されるバンクと呼ばれる独立に制御できる単位をいくつか集積して構成される。ＤＲＡＭは限られた領域内に最大の容量を確保するためにセンスアンプ数を最小限に抑える必要があり、このバンクを少数に抑えて構成される。一部のキャッシュメモリ搭載ＤＲＡＭを除いてＤＲＡＭ内部にキャッシュ保持機構を搭載する場合には、特に制限されないが、このエントリー数は１６程度で構成されることが多い。ＴＡＧ部は基本的にＤＲＡＭ内部のキャッシュ保持機構にエントリーされ得る各メモリバンク（バンク）のデータのロウアドレスをエントリーできるように構成すればよいので、主記憶装置２００の内部に置くＴＡＧ部の構成規模は小さくて済み、面積増加は最小限に抑えられる。したがって、比較的小規模な回路を付加するだけでより高速アクセスが可能なデータ処理システムを実現できる。
【００４７】
《ＴＡＧ部》
図４には前記ＴＡＧ部２０３の一例が示される。ここでは複数バンク構成でセンスアンプアレイ２１をキャッシュ保持機構とした例について説明する。このＴＡＧ部２０３は、信号線２０８で入力されたロウアドレス信号及びバンクアドレス信号２０８からバンクアドレス信号を抽出する抽出部１２０１、キャッシュ保持機構に保持されているデータに対応するロウアドレスを複数保持するＴＡＧアレー１２０３、前記抽出部１２０１で抽出されたバンクアドレス信号からＴＡＧアレー内のエントリーをインデックスする選択回路１２０４、前記ＴＡＧアレー１２０３内にデータが保持されているか否かを示す有効フラグ１２０９、ロウアドレス信号をラッチするアドレスラッチ部１２０２、及び入力されたロウアドレス信号とＴＡＧアレー１２０３内に保持されているロウアドレスとを比較する比較器１２０５により構成される。
【００４８】
メモリコントローラ１１３から伝達されたロウアドレス信号及びバンクアドレス信号２０８は抽出部１２０１に入力された後、バンクアドレス信号が抽出される。ロウアドレス信号は信号線１２０６によってＴＡＧアレー１２０３に伝達されると共に、ロウアドレスラッチ１２０２へ伝達される。更にロウアドレスラッチ１２０２に蓄えられた入力ロウアドレス信号は、信号線１２１０にて比較器１２０５に伝達される。バンクアドレス信号は信号線１２０７により選択回路１２０４に伝達され、この選択回路１２０４で選択されたＴＡＧアレー選択情報は、信号線１２０８によってＴＡＧアレー１２０３に伝達される。この信号線により選択されたＴＡＧアレー１２０３内に保持されていたロウアドレスは、信号線１２１１によって比較器１２０５に伝達される。比較器１２０５は信号線１２１０により伝達される入力ロウアドレス信号と、 ＴＡＧアレー１２０３から選択されて信号線１２１１により伝達されるロウアドレス情報との一致判定を行う。一致判定の結果は制御部２０２に送られる。制御部２０２は比較結果が一致しなかった場合に、 該当するロウアドレスをＴＡＧアレー１２０３に格納するための信号を発生すると同時に、該当バンクに対応するＴＡＧアレー１２０３内の有効フラグ１２０９を下げ、ロウアクセスを行う信号を信号線２０７にて発生する。一致の場合にはカラムアクセスを行う信号を信号線２０７にて発生する。またメモリコントローラ１１３からプリチャージ命令を受けた場合には、ＴＡＧアレー１２０３の該当バンクの有効フラグを下げる。なお、メモリコントローラ１１３内に設置されるTＡＧ部１０３もＴＡＧ部２０３同様に構成すればよい。
【００４９】
このようにＴＡＧアレー１２０３はキャッシュ保持機構のロウアドレスのみ保持できれば良いので、構成規模を小さく抑えられる。そのため面積的なペナルティを最小限に抑えて高速メモリを構成できる効果がある。
【００５０】
図５はＴＡＧ部２０３の状態遷移の一実施例である。この図で記号“＆”は論理積を示し、“|”は論理和を示す。また、破線矢印は、付随する信号によりクロックに非同期で遷移することを示す。まずＲＥＡＤコマンド及びＷＲＩＴＥコマンドが入力された場合、同時に入力されている主記憶アクセスアドレスからバンクアドレスとロウアドレスを抽出する。これは入力された主記憶アクセスアドレスのマスキングにより瞬時に行える。その後ＴＡＧアレー内の対応するバンクのロウアドレスと、入力されたロウアドレスを比較する。ＴＡＧ部による比較の結果、入力されたロウアドレスが、ＴＡＧアレー内に保持されているロウアドレスと一致した場合（（ＲＥＡＤ｜ＷＲＩＴＥ）＆Ｈｉｔ）には、対応するキャッシュ保持機構へカラムアクセスを開始する信号を発生し待機状態に戻る。一方で、一致しなかった場合（（ＲＥＡＤ｜ＷＲＩＴＥ）＆Ｍｉｓｓ）は、このバンクへロウアクセスを開始させる信号を発生させるとともに、有効フラグを下げる。その後、このバンクに対応するロウアドレスをＴＡＧアレーへ格納し有効フラグを立てて待機状態へと戻る。またプリチャージ要求を得た場合は、ロウアドレスからバンクアドレスを選別した後に、該当するバンクのＴＡＧアレーの有効フラグ（バリッド  フラグ）を下げたのち待機状態へ戻る。
【００５１】
ここで、この比較は入力された主記憶アクセスアドレスが存在するバンクに対応するキャッシュ保持機構にデータがラッチされていると判定された場合のみ行う。この判定は、入力されたバンクアドレスによって選択されるＴＡＧアレーに付随する有効フラグにより高速に決定できる。
【００５２】
また、プリチャージ（ＰＣＨ）コマンドを受けた場合は、バンクアドレスを抽出した後、対応するバンクの有効フラグを下げて待機状態に戻る。なおこの図には図示していないが、ＲＥＡＤ｜ＷＲＩＴＥコマンドと共にＰＣＨコマンドが付加されている場合は、カラムアクセス終了信号を受けたのち、該当するバンクの有効フラグを下げればよい。
【００５３】
このようにクロック非同期で高速処理が行えるため、ヒット判定の高速化に効果がある。
【００５４】
これまでＴＡＧ部の構成および状態遷移図はメモリのバンクと対応している場合について述べた。しかし、本願はその場合に限って実施されるわけではない。例えば主記憶装置内のキャッシュ保持機構がメモリバンクとは無関係にデータをラッチできる構成の場合もあるが、この場合は、キャッシュメモリに用いられる連想メモリのように、エントリーされているデータのアドレスに関して、ＴＡＧ部でヒット判定が行えるよう構成すればよい。
【００５５】
《ミスヒット時のメモリコントローラによるメモリアクセス制御》
前記ＴＡＧ部１０３，２０３における比較結果が不一致の場合に、メモリアクセスをメモリコントローラが制御する場合について詳細を説明する。
【００５６】
図６にはメモリコントローラ１１３によるメモリ制御の内容が状態遷移図によって示される。メモリコントローラ１３の制御部１１４は図６に示される状態遷移制御を行う制御論理を有している。図６において記号“＆”は論理積をあらわす。図に示す細い矢印はその矢印に付随するコマンドに従い遷移することを意味し、太い矢印は処理終了後にクロック同期で状態間を自動的に遷移することを意味する。この表記は図４以外の状態遷移図にも適用している。
【００５７】
プロセッサ１００からのアクセス要求が、リード（ＲＥＡＤコマンド）あるいはライト（ＷＲＩＴＥコマンド）の場合には、メモリコントローラ１１３は基本的に２回に分けて主記憶装置２００へアクセスを行う。この２回のアクセスは、ＴＡＧ部１０３によるヒット判定の結果により、１回目のアクセスのみで済む場合と、２回目のアクセスが必要となる場合に分けられる。１回目のリードアクセスは主記憶アクセスアドレス、及びリードコマンドを投入することで実現し、ライトアクセスは主記憶アクセスアドレス、及びライトコマンドを投入することで実現する。この１回目のアクセスを行うと同時にメモリコントローラ１１３は主記憶装置２００とは独立にＴＡＧ部１０３にてヒット判定を行う。ヒットの場合は、主記憶装置２００内部ではカラムアクセスが選択されるので、メモリコントローラ１１３側はマイクロプロセッサ１００へレイテンシ情報を伝達した後、待機状態（ＩＤＬＥ）に戻り、２回目のアクセスは行わない。ミスの場合は、主記憶装置２００ではロウアクセス処理が開始されているので、メモリコントローラ１１３はＴＡＧ部１０３の内容を更新しマイクロプロセッサ１００へレイテンシ情報を伝達した後、待機状態に戻る。その後メモリコントローラは２回目の主記憶装置２００へのアクセスを行い待機状態に戻る。これはカラムアクセス可能状態に行うことで実現する。この２回目のアクセスは、主記憶アクセスアドレス及びＲＥＡＤコマンドまたはＷＲＩＴＥコマンド、カラムアクセスコマンド（ＣＯＬ）で実現されるが、望ましくは、カラムアクセスコマンドのみで構成されることである。そのためには主記憶装置２００内部に主記憶アクセスアドレス及びＲＥＡＤまたはＷＲＩＴＥコマンドをラッチする機構を設ければよい。
【００５８】
プリチャージとリフレッシュに関しては、コマンドとアドレスを同時に送り待機状態へ戻る。
【００５９】
このように主記憶装置２００内のキャッシュ保持機構にプロセッサ１００からの要求データがある場合には、ヒット判定を取り込むために生じる余分な遅延時間が削減できる効果があるため、高速アクセスの可能なデータ処理システムが実現される。また、メモリコントローラ１１３からプロセッサ１００へ直にレイテンシ情報を伝達できるので、マイクロプロセッサ１００の処理が遅れることを最小限に抑えられる効果がある。さらに、主記憶装置２００内部に主記憶アクセスアドレス及びＲＥＡＤまたはＷＲＩＴＥコマンドをラッチする機構を設ける場合は、メモリコントローラ１１３の構成が単純化できるため設計コストを安くできる効果がある。
【００６０】
図７は主記憶装置２００の状態遷移を示す。ここでは、図１で説明した通り、センスアンプラッチ２１をキャッシュ保持機構として用い、メモリ部２０１の構成バンクが複数ある場合を想定する。図７において記号“｜”は論理和を示す。メモリコントローラ１１３側からリードまたはライト要求を受け取ると、主記憶装置２００は、メモリコントローラ１１３とは独立にＴＡＧ部２０３によるヒット判定を行う。ヒット判定の結果、主記憶装置２００内部のキャッシュ保持機構に所望のアドレスのデータが存在しない場合（ミス時）はロウアクセスを行い待機状態（ＩＤＬＥ）に戻る。また、所望のアドレスのデータが存在する場合（ヒット時）はカラムアクセスを開始する。このカラムアクセスを行った後に、自動的に待機状態に戻る場合とプリチャージを行ってから待機状態に戻る場合に設定可能である。前者はアクセスされたバンクをバンクアクティブのまま次のアクセスを待つモードに対応し、後者はバンククローズの状態で次のアクセスを待つモードに対応する。ここでバンクアクティブとは、指定したワード線を立ち上げて、このワード線によって指定されたメモリセル内のデータをセンスアンプにて増幅することを指す。またバンククローズ動作とは活性化しているワード線を非活性状態にすることであり、具体的には選択されているワード線によってセンスアンプにラッチされているデータをメモリセルに再書き込みし、データ線をプリチャージすることである。主記憶装置２００においてバンクアクティブのまま次のアクセスを待つモードは、ＤＲＡＭのセンスアンプをキャッシュ保持機構として用いることに相当する。これは主記憶装置へのアクセスが局所的である場合に有効である。また一方で、バンククローズの状態で次のアクセスを待つモードは、主に、▲１▼主記憶装置へのアクセスが極めてランダム性が高い場合、▲２▼アクセスは規則的ではあるが以前アクセスしていたロウアドレスには戻らない場合、▲３▼センスアンプ以外にキャッシュ保持機構を設ける場合、等に対して有効である。
【００６１】
このようなモード変更は、メモリコントローラ１１３側でリアルタイムに変更することが可能である。例えばこのモードのどちらを選択するかは最初のリードまたはライトアクセスを行うときに、プリチャージコマンド（ＰＣＨ）を付加するか否かで判断することができる。
【００６２】
ところで、メモリコントローラ１１３からの一回目のアクセスでミスの場合は、２回目のアクセスであるカラムアクセス（（ＲＥＡＤ｜ＷＩＲＴＥ）＆  カラムアクセスコマンドＣＯＬ）を受ける必要がある。このときは主記憶装置２００内部にアドレスラッチ機構を有していれば、この２回目のリードまたはライトアクセスはカラムアクセスコマンドのみで十分である。このアクセスが終了した後に待機状態に戻る方法は、プリチャージしてから待機状態に戻る場合と直に待機状態に戻る場合に設定可能であるが、両者の特徴並びに処理法は上記図６の説明に準ずる。
【００６３】
また、プリチャージ要求を得た場合は直にプリチャージを開始し待機状態へ戻り、リフレッシュ要求を得た場合は主記憶装置内のメモリセルをリフレッシュし待機状態に戻る。
【００６４】
主記憶装置２００への2種類のアクセス（ロウアクセス及びカラムアクセス）を、メモリコントローラ１１３内のＴＡＧ部１０３におけるヒット判定結果のみで決定する必要がないので、従来技術で問題とされた余分な遅延時間は発生しない。更に、ＴＡＧ部２０３を主記憶装置２００も有することによって、主記憶装置２００の内部でヒット判定と並列してロウアドレス並びにカラムアドレスのデコードが行えるため、ＴＡＧ部２０３と主記憶装置２００が別チップ構成の場合よりも並列処理による高速化を期待できる。
【００６５】
図６及び図７に示される状態遷移から理解されるように、前記ＴＡＧ部１０３，２０３における比較結果が不一致（ミスヒット）である場合のメモリアクセスのシーケンス制御は、メモリコントローラ１１３の制御部１１４が行う。例えば、リードアクセスに際してメモリコントローラ１１３は、先ずリード（ＲＥＡＤ）コマンドを主記憶装置に発行する。このとき、メモリコントローラ１１３はＴＡＧ部１０３による比較結果が不一致であれば、次にリード・カラムアクセス（ＲＥＡＤ＆ＣＯＬ）コマンドを発行し、一致であれば、リード・カラムアクセス（ＲＥＡＤ＆ＣＯＬ）コマンドは発行しない。主記憶装置２００は、リード（ＲＥＡＤ）コマンドを受け取ったとき、ＴＡＧ部２０３による判定結果が一致であればカラムアクセス動作によってセンスアンプアレイ２１からデータを外部に出力し、不一致であればロウアドレスによるワード線選択動作とセンスアンプラッチのラッチ動作を行う。主記憶装置２００が第２コマンドであるリード・カラムアクセス（ＲＥＡＤ＆ＣＯＬ）コマンドを受け取ったときはカラムアクセス動作によってセンスアンプアレイ２１からデータを外部に出力する。このようにミスヒット時のシーケンス制御をメモリコントローラ１１３が行う場合には、ミスヒット時に第２コマンドまで発行しなければならないが、ヒット時は１回のコマンド発行で済むから、キャッシュ保持機構による高速アクセス利点は変わりない。
【００６６】
《ミスヒット時の主記憶装置によるシーケンス制御》
次に、前記ＴＡＧ部１０３，２０３における比較結果が不一致（ミスヒット）である場合のメモリアクセスのシーケンス制御を主記憶装置２００が行う場合について説明する。
【００６７】
図８は図１に示す主記憶装置２００内部にＤＲＡＭの各バンクの状態遷移を制御するシーケンサを組み込んだ主記憶装置３００の例を示す。
【００６８】
主記憶装置３００は、主記憶装置として用いられるＤＲＡＭの各バンクの状態遷移を制御するシーケンサ３０１と、シーケンサ３０１をも制御できるように拡張された制御部３０２と、シーケンサ３０１を制御するための制御信号線３０３と、シーケンサからの情報を制御部へ伝達するための信号線３０４によって構成される。
【００６９】
図１の例では設けられていなかったシーケンサ３０１は、メモリコントローラ１１３からの制御信号を受けて状態遷移の制御を行う。ここで、このシーケンサに関係する説明を行う。ＴＡＧ部２０３でのヒット判定の結果、ミスの場合は、制御部３０２は信号線２０７にてメモリ部２０１へロウアクセスを開始すると同時にシーケンサ３０１へ起動信号を信号線３０３にて伝達する。その後、シーケンサ３０１はカラムアクセス可能信号を信号線３０４にて制御部３０２へ伝達する。制御部３０２はこのカラムアクセス可能信号を受けて、メモリ部２０１へカラムアクセスを開始する。このように、メモリコントローラからの主記憶装置へのアクセスでミスの場合でも、主記憶装置はメモリコントローラとは独立してロウアクセス・カラムアクセスを行うことができるので、メモリコントローラの負担が軽減される効果がある。
【００７０】
図９は図８のような主記憶装置内部にシーケンサを持つ主記憶装置３００を制御するメモリコントローラの状態遷移図の一実施例である。この例では主記憶装置３００の内部にシーケンサ３０１が存在するため、メモリコントローラはミス時に２回目のアクセスを指示する必要はない。メモリコントローラは主記憶装置３００に対してリード／ライトの要求を一回発行し、その後メモリコントローラ１１３内のＴＡＧ部１０３によるヒット判定結果の後、必要なレイテンシ情報をプロセッサ１００に伝達して待機状態に戻る。リフレッシュとプリチャージに関しては図６での説明に準ずる。このため高速化と同時にメモリコントローラの発行するコマンドが単純化できるので、メモリコントローラの製作コストを下げる効果がある。
【００７１】
図１０は図８に示されるような主記憶装置３００内部にシーケンサ３０１を持つ主記憶装置の状態遷移図の一実施例である。メモリコントローラ１１３からリードまたはライト要求を受け取ると、ＴＡＧ部２０３でヒット判定を行う。その結果ヒットであればカラムアクセスを開始し待機状態（ＩＤＬＥ）へと戻り、ミスであればロウアクセスを行った後、シーケンサからの制御を受けて、カラムアクセスが可能なタイミングにカラムアクセスを開始し待機状態へ戻る。メモリコントローラからのアクセスコマンドにプリチャージ（ＰＣＨ）コマンドが付加されている場合は、カラムアクセス後にプリチャージを行い待機状態へ戻り、プリチャージコマンドが付加されていない場合は、カラムアクセス後に直に待機状態に戻る。このようにメモリコントローラからの制御が単純化できるのでメモリコントローラの負担が軽減できる。
【００７２】
また、プリチャージ（ＰＣＨ）要求を得た場合は直にプリチャージを開始し待機状態へ戻り、リフレッシュ（ＲＥＦ）要求を得た場合はリフレッシュを行ったのち待機状態へ戻る。これらの詳細は図７での説明に準ずる。
【００７３】
このように主記憶装置３００のようにシーケンサ３０１を組み込むことにより、主記憶装置内部で独自にリードまたはライトのタイミングをコントロールすることが可能となる。そのため、メモリコントローラからはリード・ライト・プリチャージ・リフレッシュ等の簡略化したコマンドのみ受け取ればよいので、上記、図１の実施例で説明した主記憶アクセスが高速化する効果と同時にメモリコントローラの設計が容易となる効果がある。また、ロウアドレスとカラムアドレスが同時にデコードされていることと、このデコードと並列にロウアクセス及びカラムアクセスの制御を主記憶装置内部で行えるので、シーケンサを持たない主記憶装置よりも高速にアクセスが可能となる効果がある。
【００７４】
前記シーケンサの具体例を以下に説明する。シーケンサ３０１は、ＴＡＧ部２０３による判定結果がヒットのときカラムアドレスによる動作を指示し、ＴＡＧ部２０３による判定結果がミスのときロウアドレスによる動作の指示に続いてカラムアドレスによる動作を指示する。その論理を実現するために、シーケンサ３０１は、図１１に例示されたカラムアクセス用シーケンサ部１３００と、図１２に例示されたロウアクセス用シーケンサ部１４００とを有する。
【００７５】
まず、図１１を用いてカラムアクセス用シーケンサ１３００の一例を示す。カラムアクセス用シーケンサ１３００は、複数個のＤ型フリップフロップ（以下Ｄ−ＦＦと略す）１３０１−ｉ（ｉ＝１〜４）から構成されるカウンタ部と、スイッチ部１３０４とを有する。スイッチ部１３０４は、複数個の記憶素子１３０３Ａ−ｉ、１３０３Ｂ−ｉで構成される。１３１０はＤ−ＦＦを駆動するクロック信号を示し、１３１１はＤ−ＦＦをリセットするリセット信号を示す。図１１ではＤ−ＦＦは４個、記憶素子は8個設けられている。
【００７６】
信号線１３０６によって入力されるロウアクセスコマンド（ＲＯＷ）は、アンドゲート１３０５―１、１３０５―２に伝達される。ＴＡＧ部２０３によるヒット判定の結果はヒット信号（Ｈ）が信号線１３０７Ａにてアンドゲート１３０５―１に、ヒットの相補信号（／Ｈ）は信号線１３０７Ｂにてアンドゲート１３０５―２に伝達される。アンドゲート１３０５―１の出力は信号を線１３０８Ａでオアゲート１３０９へ伝達され、アンドゲート１３０５―２の出力は信号線１３０８Ｂに供給され、カウンタを起動させる信号として利用される。 ＴＡＧ部２０３でのヒット判定の結果、ヒットの場合は、直にカラムアクセスが可能となるので、ロウアクセスコマンド（ＲＯＷ）は、カウンタをバイパスしてオアゲート１３０９へ伝達される。 一方、ＴＡＧ部２０３の検索の結果がミスの場合は、メモリ部２０１に固有のレイテンシを満足させるため、カウンタを起動させる信号をＤ−ＦＦ１３０１−ｉのどれか一つに入力させる。Ｄ−ＦＦ１３０１−ｉの選択は、スイッチ部１３０４の記憶素子のプログラム状態によって決る。このＤ−ＦＦで構成されるカウンタ部は入力された論理値“１”信号をクロックに同期してシフトさせる機能を持ち、オアゲート１３０２はスイッチ部１３０４にて選択された入力信号とＤ−ＦＦからの出力信号との論理和をとり、その出力を次段のＤ−ＦＦへ伝達する機能を持つ。このオアゲート１３０２により、選択的にどの段のＤ−ＦＦへもスイッチ部にて選択された入力信号を入力させることが可能となる。最終段のＤ−ＦＦからの論理値“１”出力はオアゲート１３０９へ伝達される。このオアゲート１３０９は信号線１３０８Ａと信号線１３１２の論理和を採り、出力信号“1”をカラムアクセス信号（ＣＯＬ）とする。このようにメモリコントローラ１１３から主記憶装置２００へのアクセス要求信号１３０６と、ＴＡＧ部でのヒット判定結果のヒット信号１３０７Ａ，１３０７Ｂを用いて、ヒット時とミス時の、カラムアクセスへのレイテンシを変更することが可能となる。Ｄ−ＦＦのリセットはリセット信号（ＲＳＴ）１３１１により行う。
【００７７】
図１１のカラムアクセス信号（ＣＯＬ）は図８に示される信号３０４に含まれる。前記ロウアクセスコマンド（ＲＯＷ）、ヒット信号１３０７Ａ、１３０７Ｂ、リセット信号ＲＳＴ，クロック信号ＣＬＫは図８に示される信号３０３に含まれる信号である。
【００７８】
前記選択スイッチ部１３０４の構成について述べる。ここでは、この選択スイッチ部１３０４がフューズによって構成される例を示している。このスイッチ部１３０４は、ＤＲＡＭのレイテンシがシステムの動作周波数により異なった値に設定される問題を解決し、より汎用性の高い装置を作成する上で必要である。例えばミス時にレイテンシ４でアクセスしたい場合の選択スイッチの使用法について述べる。この場合Ｄ−ＦＦ１３０１−１への入力はフューズ１３０３Ａ−１を残し、グランドに繋がる１３０３Ｂ−１を切断し、その他のＤ−ＦＦへの入力は１３０３Ｂ−２、１３０３Ｂ−３、１３０３Ｂ−４を残し１３０３Ａ−２、１３０３Ａ−３、１３０３Ａ−４を切断すればよい。このフューズの切断はメモリをデータ処理システムに組み込んで使用するとき最初に1度だけ必要な操作であり、電気的に行うことが望ましい。また、システムの動作周波数を可変にして用いる場合等には、レイテンシをただ一通りに固定するのではなくシステムの動作周波数に合わせて適宜変更できると都合よい。その場合は、このスイッチ部をＣＡＭ等で構成すればよい。
【００７９】
以上述べたように、このカラムアクセス用シーケンサ部１３００は汎用性が高いので、複数のシステムクロックに対応する製品を製作する上で、製作コストを削減することができる。
【００８０】
次に、図１２を用いてロウアクセス用のシーケンサ部１４００について説明する。これはセンスアンプアレイ２１をキャッシュ保持機構として利用する場合等に用いられる。ＤＲＡＭはバンクアクティブ状態にあるバンクの異なるワード線をアクセスするためには、バンククローズ・バンクアクティブという一連の動作が必要になる。この一連のバンククローズ・バンクアクティブの動作は、所定のクロック数を必要とする。ここで述べるロウアクセスシーケンサは、アクセスされたアドレスがバンクアクティブ状態にあるバンクの違うロウアドレスにあたった場合に、つぎにロウアクセスが可能となるまでの時間を計測するものである。このシーケンサの基本構成は上記カラム用シーケンサと同様であるが、差異について以下で説明する。
【００８１】
このロウアクセス用シーケンサは、Ｄ−ＦＦ１４０１−ｉ等で構成される論理回路と記憶素子で構成されるスイッチ部１４０２により構成される。このスイッチ部は上記カラムアクセス用シーケンサ部１３００のスイッチ部１３０４同様に構成され、また使用形態も上記カラムアクセス用シーケンサ部１３００に述べた内容に準ずる。また、Ｄ−ＦＦのリセットはリセット信号（ＲＳＴ）１４１０にて行われる。
【００８２】
ロウアクセス信号（ＲＯＷ）は信号線１４０５にて３入力アンドゲート１４０４―１、１４０４―２へ伝達される。このロウアクセス信号（ＲＯＷ）は、ロウアクセスが要求されている場合に論理値“1”となり、要求されていない場合に論理値“0”とされる。またＴＡＧ部２０３によるヒット判定の結果のミス信号（／Ｈ）は、信号線１４０６Ａにて前記アンドゲート１４０４―１、１４０４−２へ伝達される。また、要求されたバンクがプリチャージされたバンクであるか否かを示す信号（／ＶＦ）は、信号線１４０６Ｂにて前記アンドゲート１４０４―１、１４０４−２に伝達される。入力されたロウアドレスがバンクアクティブでないバンクに対応した場合には、アンドゲート１４０４―１から論理値“１”の信号が生成され、バンクアクティブ状態にあるバンクに対応した場合はアンドゲート１４０４―２から論理値“１”信号が生成される。このアンドゲート１４０４―１、１４０４−２からの論理値“1”の信号をロウアクセス可能信号とする。ロウアドレスがバンクアクティブではないバンクに対応する場合は、アンドゲート１４０４―１からの論理値“1”の信号が信号線１４０７Ａにてオアゲート１４０８に伝達されるので、直にロウアクセスが可能となる。一方、バンクアクティブ状態にあるバンクの異なるロウアドレスである場合は、アンドゲート１４０４−２からの論理値“１”信号を信号線１４０７Ｂにてスイッチ回路１４０２へ伝達し、さらにこのスイッチ回路１４０２により予め決定されたＤ−ＦＦに伝達する。この論理値“１”信号がＤ―ＦＦに入力されると、信号線１４０９にて伝達されるクロックに同期して、この入力信号が次段のＤ−ＦＦに伝達される。オアゲート１４０３はスイッチ部１４０２にて選択された入力信号とＤ−ＦＦからの出力信号との論理和をとり、次段のＤ−ＦＦへ伝達する機能を持つ。このオアゲート１４０３によりどの段のＤ−ＦＦへもスイッチ部にて選択された入力信号の入力が可能となる。最終段のＤ−ＦＦからの論理値“１”出力を信号線１４１１にてオアゲート１４０８へ伝達する。このオアゲート１４０８は信号線１４０７Ａと信号線１４１１の論理和を採り、論理値“1”の出力信号をロウアクセス信号（ＲＯＷ＿Ｅ）とする。このようにメモリコントローラからＤＲＡＭへのアクセス要求信号１４０５と、ＴＡＧ部でのヒット判定結果のヒット信号を用いて、ヒット時とミス時のレイテンシを変更することが可能となる。したがって、バンクアクティブ状態にあるバンクの異なるロウアドレスへのアクセスタイミングをＤＲＡＭ内で計測することができる。
【００８３】
このように、このロウアクセスシーケンサを有することで、バンクアクティブの状態にあるバンクの異なるワード線をアクセスする場合も、ＤＲＡＭ内部でバンククローズ・バンクアクティブの動作が行えるため、メモリコントローラの負担が軽減され、メモリコントローラの製作が低コストで行える効果がある。また、このロウアクセス用コントローラは汎用性が高く設計できるため低コストで製作することが可能である。
【００８４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８５】
例えば、メモリコントローラ１１３は単一の半導体装置に限定されるものではなく、メモリコントローラ１１３がプロセッサ１００と同一チップに組み込まれていてもよい。また、主記憶装置２００のメモリ部２０１はダイナミック型メモリセルに限定されず、スタティック型メモリセルを用いるものであってもよい。また、本発明はＰＣボード以外のデータ処理システムに広く適用できることは言うまでもない。
【００８６】
本発明は、キャッシュ保持機構を有するメモリをプロセッサが用いる条件のデータ処理システムに広く適用することができる。
【００８７】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００８８】
すなわち、キャッシュ保持機構に要求されたデータが保持されているか否かを判定する手段を、メモリコントローラとメモリの両者に組み込み、両者で同時にヒット判定を行うから、ヒット判定を待つ遅延時間を削減することが可能となり、データ処理システムにおいてメモアクセスの高速化を実現することができる。
【００８９】
また、メモリのみに前記判定手段を持つ場合に判定結果をプロセッサに伝達するのが遅れるという従来の技術に比べれば、本発明はメモリコントローラから直接プロセッサへ伝達できるので、その伝達を高速化でき、更に、複数のメモリとプロセッサを多数のヒット判定信号線で結線する必要もなく、データ処理システムの低コスト化にも寄与できる。
【００９０】
さらに、メモリ内部にシーケンサを設置することにより、メモリへの制御信号が単純化でき、これにより、メモリコントローラのゲート規模を削減することができる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理システムの一例を示すブロック図である。
【図２】メモリ部の一例を示すブロック図である。
【図３】メモリコントローラと主記憶装置のそれぞれにＴＡＧ部を設置した場合とそうでない場合との動作を比較説明のためのタイミングチャートである。
【図４】ＴＡＧ部の一例を示すブロック図である。
【図５】ＴＡＧ部の動作を示す状態遷移図である。
【図６】メモリコントローラによるメモリ制御の内容を示す状態遷移図である。
【図７】主記憶装置の動作を示す状態遷移図である。
【図８】シーケンサを備えた主記憶装置のブロック図である。
【図９】シーケンサを持つ主記憶装置を制御するメモリコントローラの動作を示す状態遷移図である。
【図１０】シーケンサを持つ主記憶装置の動作を示す状態遷移図である。
【図１１】図８のシーケンサに含まれるカラムアクセス用シーケンサのブロック図である。
【図１２】図８のシーケンサに含まれるロウアクセス用シーケンサのブロック図である。
【図１３】本発明に先立って本発明者が検討したＰＣのシステムの構成を示すブロック図である。
【符号の説明】
２０  メモリセルアレイ
２１  センスアンプラッチ
１００  プロセッサ
１０３  ＴＡＧ部
１１３  メモリコントローラ
１１４  制御部
２００  主記憶装置
２０１  メモリ部
２０２  制御部
２０３  ＴＡＧ部
３０１  シーケンサ
【図１】
0003930195.tif 000002
【図２】
0003930195.tif 000003
【図３】
0003930195.tif 000004
【図４】
0003930195.tif 000005
【図５】
0003930195.tif 000006
【図６】
0003930195.tif 000007
【図７】
0003930195.tif 000008
【図８】
0003930195.tif 000009
【図９】
0003930195.tif 000010
【図１０】
0003930195.tif 000011
【図１１】
0003930195.tif 000012
【図１２】
0003930195.tif 000013
【図１３】
0003930195.tif 000014