JP3930195B2 - データ処理システム - Google Patents
データ処理システム Download PDFInfo
- Publication number
- JP3930195B2 JP3930195B2 JP10211999A JP10211999A JP3930195B2 JP 3930195 B2 JP3930195 B2 JP 3930195B2 JP 10211999 A JP10211999 A JP 10211999A JP 10211999 A JP10211999 A JP 10211999A JP 3930195 B2 JP3930195 B2 JP 3930195B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- access
- processor
- address
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
- Memory System (AREA)
Description
【発明の属する技術分野】
本発明は、センスアンプキャッシュのようなデータ保持機構を有する主記憶のようなメモリに対する高速アクセスを可能にするデータ処理システムに関し、例えばPCボードなどのデータ処理システムに適用して有効な技術に関するものである。
【0002】
【従来の技術】
マルチメディア技術の進歩に伴い、計算機システムとしてのデータ処理システムに対して処理の高速化とメモリの大容量化を望む傾向が強くなっている。演算処理の高速化については、高性能なプロセッサの登場による大幅な性能向上が図られた。プロセッサの高性能化の技術潮流は低価格化と共にパーソナルコンピュータ(PC)へも急速に浸透し、ローエンドのPCにも高速なプロセッサが投入されるようになった。
【0003】
一方のメモリの大容量化については、主記憶装置としてコスト的に有利なダイナミック・ランダム・アクセス・メモリ(以下DRAMと称する)が広く用いられている。このDRAMは低速なため、PCではプロセッサのすぐ近くに高速のスタティック・ランダム・アクセス・メモリ(以下SRAMと称する)をキャッシュメモリとして設置して、メモリシステムの実効的な高速化を図っている。しかし、今後更にCPUの動作速度が向上すると、上位階層のキャッシュメモリを大量に実装する必要に迫られ、ビット単価が高いSRAMによるコスト高の問題を免れることができない。上記問題を解決するためには、DRAM自体の動作速度を高速化することが必須である。
【0004】
DRAMを高速化するための従来技術としては、DRAMチップ内部に高速メモリを内蔵してDRAM自体を階層化する例が知られている。この例としてキャッシュメモリ付きDRAMがあげられる。これはDRAM内部にキャッシュメモリを組み込んで、過去にアクセスされたデータをこのキャッシュメモリに保持する技術である。 この技術によりキャッシュメモリ内にあるデータに再度アクセスされた場合には、実効的にDRAMへのアクセス時間を短縮することが可能となる。DRAMチップ内にキャッシュメモリを搭載する例は次のような文献に掲載されている。1990 SYMPOSIUM ON VLSI CIRCUITS DIGEST OF THECHNICAL PAPERS(1990 シンポジウム オン ブイエルエスアイ サーキッツ ダイジェスト オブ テクニカル ペイパーズ)、[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。以後、この例をCDRAMと呼ぶ。
【0005】
また、 高速アクセス可能なメモリとして数個のバッファをDRAM内部に導入し、高速アクセスを可能とした従来例もあり、これは特開平8−129876号公報に開示されている。
【0006】
更に上記のような付加的なメモリを搭載しないで、DRAMの基本構成要素であるセンスアンプを用いて過去にアクセスされたデータをラッチし、次のアクセスに備える例もある。これはセンスアンプキャッシュと呼ばれることがある。この従来例としては、次のような文献を挙げることができる。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。
【0007】
このようにDRAMアクセスを高速に行うためにデータをオンチップの高速メモリに保持することを、以後、キャッシュ保持と呼ぶ。また、このキャッシュ保持を実現する機構を総称してキャッシュ保持機構と呼ぶことにする。
【0008】
【発明が解決しようとする課題】
本発明に先立って本発明者が検討したPCのシステムの構成を図13を参照しながら説明する。図13に示されるシステム構成は、CPUとキャッシュメモリを備えるプロセッサ50と、主記憶装置52と、主記憶制御装置としてのメモリコントローラ51で構成される。メモリコントローラ51は、制御部54と主記憶アクセスアドレス変換部53で構成される。プロセッサ50からのアクセスは、コマンドを信号線61Aで、アドレスを信号線60Aでメモリコントローラ51へ伝達することによって行われる。主記憶装置52から所望のデータを読み出し、またこの主記憶装置52へ所望のデータを書き込むためには信号線62を用いる。メモリコントローラ51は、プロセッサ50からアドレス信号線60Aにて伝達されたアドレスを、主記憶アクセスアドレス変換部53にて主記憶アクセスアドレスに変換し、信号線60Bにて主記憶装置52へと伝達する。メモリコントローラ51内の制御部54は、信号線61Aでプロセッサ50と通信すると共に、信号線61Bにて主記憶装置52の制御を行う。
【0009】
通常この主記憶装置52には、キャッシュ保持機構を持たない汎用DRAMが用いられているが、計算機システムの更なる高速化を目指すために、キャッシュ保持機構を持ったDRAMを用いる場合は、キャッシュ保持機構にデータがあるか否かの判定(TAG部でのヒット判定)が必要になる。前記TAG部に関しては、▲1▼TAG部をDRAM内部に設置する場合、▲2▼TAG部をメモリコントローラに設置する場合が考えられる。
【0010】
前記▲1▼の従来例として前記CDRAMを挙げられるが、これはCDRAMチップ内にこのTAG部を有し、判定結果を外部へ伝達する方式をとる。この方式では、メモリコントローラ51を通してプロセッサ50へ判定結果を伝達することになるが、これはヒット判定結果をプロセッサ50まで伝達する上で問題がある。それはCDRAMからのヒット判定信号線を付加しなくてはならないことである。まずCDRAMからのヒット判定信号を直接プロセッサ50へ伝達することが可能であれば、ヒット判定結果の伝達遅延の問題は生じないが、PC等では主記憶装置を複数設置して大容量化に対応するため、この信号線を複数付加することが必要となりコスト高に繋がる。また、CDRAMからの信号線をメモリコントローラ51へ伝達後、プロセッサ50へ伝達することも考えられるが、この場合、余分なチップを経由することによる遅延が発生し、プロセッサ50が次の処理を開始する時間が遅れる。
【0011】
また前記▲2▼の場合は、メモリコントローラ51内でヒット判定を行った後に主記憶装置52へアクセスを開始するため、主記憶装置52へのアクセスコマンドの伝達に遅延時間が発生する。これは以下の理由による。現在主流の同期型DRAMは、信号の授受をシステムクロックに同期して行うため、信号の受信間隔は十数ナノ秒から数十ナノ秒で離散化される。したがって、判定後、直にDRAMへのアクセスが始められれば問題ないが、クロックの取り込みに間に合わない場合は1クロックのペナルティが科せられることになる。TAG部でのヒット判定には高々数ナノ秒しかかからないことを考慮すると、これは大きなペナルティといえる。
【0012】
このように従来技術を単に組み合わせただけでは不必要な待ち時間が発生するため、高速アクセス可能なキャッシュ保持機構を有していても、その効果を最大限に活かすことは困難であった。
【0013】
本発明の目的はメモリアクセスの高速化が可能なデータ処理システムを提供することにある。
【0014】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0015】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0016】
すなわち、キャッシュ保持機構に要求されたデータが保持されているか否かを判定(ヒット判定)する手段(103,203)を、メモリコントローラ(113)とメモリ(200)の両者に組み込み、両者で同時にヒット判定を行う。メモリコントローラとキャッシュ保持機構を有するメモリのそれぞれに前記判定手段を持つことにより、メモリのキャッシュ保持機構にデータを有するか否かの判定をメモリコントローラとメモリのそれぞれで行うことが可能となり、ヒット判定を待つ遅延時間を削減することが可能となり、データ処理システムにおいてメモアクセスの高速化を実現できる。
【0017】
また、メモリのみに前記判定手段を持つ場合に問題となる事項であるヒット判定結果のプロセッサへの伝達については、メモリコントローラから直接プロセッサへ伝達できるため、その伝達を高速化でき、更に、複数のメモリとプロセッサを多数のヒット判定信号線で結線する必要もなく、データ処理システムの低コスト化に寄与できる。
【0018】
さらに、メモリ内部にシーケンサ(301)を設置することで、メモリへの制御信号が単純化でき、これにより、メモリコントローラのゲート規模を削減することが可能になる。
【0019】
本発明に係るデータ処理システムを更に詳述する。データ処理システムは、プロセッサ(100)と、前記プロセッサに接続されたメモリ(200)と、前記プロセッサ及びメモリに接続されたメモリコントローラ(113)とを有する。前記メモリは、メモリセルアレイ(20)と、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部(21)と、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第1の判定手段(203)とを有し、前記第1の判定手段による判定結果に応じたメモリ動作を行う。前記メモリコントローラは、前記プロセッサからのメモリアクセスの指示に従って、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第2の判定手段(103)を有し、前記第2の判定手段による判定結果に応ずる情報を前記プロセッサに与えると共に、前記メモリにアクセス制御情報を供給する。
【0020】
前記メモリは、前記第1の判定手段による判定結果に応じた動作を内部で制御するための第1のシーケンサを有することができる。このとき、前記メモリセルアレイはマトリクス配置されたダイナミック型メモリセルを記憶素子として有し、前記一時記憶部はメモリセルアレイのロウアドレスのデータをスタティックにラッチし、前記第1のシーケンサは、前記第1の判定手段による判定結果がヒットのときカラムアドレスによる動作を指示し、前記第1の判定手段による判定結果がミスのときロウアドレスによる動作の指示に続いてカラムアドレスによる動作を指示するように構成することができる。
【0021】
シーケンサはメモリではなくメモリコントローラが保有することも可能である。すなわち、前記コントローラに、前記第2の判定手段による判定結果に応じた動作を前記メモリに指示するための第2のシーケンサを制御部(114)内に設ける。
【0022】
【発明の実施の形態】
《データ処理システムの概要》
図1には本発明に係るデータ処理システムの一例が示される。同図に示されるデータ処理システムは、特に制限されないが、CPUを中心に構成されるプロセッサ100と、DRAM等によって構成される主記憶装置200と、前記主記憶装置200へのアクセスをコントロールするメモリコントローラ113とを含んでいる。図1において105、106A,107Aで示されるものは、特に制限されないが、夫々データバス、コントロールバス、アドレスバスであり、システムバスを構成している。図1では、システムバスにはプロセッサ100以外に、主記憶装置200及びメモリコントローラ113だけが接続されているように図示されているが、実際には、ディスク用インタフェース回路やその他のバスブリッジ回路等が接続されている。
【0023】
前記プロセッサ100は、特に制限されないが、CPU10にキャッシュメモリ(CACHE)・アドレス変換バッファ(TLB)11が接続され、キャッシュメモリ・アドレス変換バッファ11はバスステートコントローラ12を介してキャッシュミスやTLBミスに対するエントリの読み込みなどを主記憶装置200に対して行うようになっている。バスステートコントローラ12には、DMAC(ダイレクト・メモリ・アクセス・コントローラ)等の周辺回路が接続されていてもよい。前記CPU10は、フェッチした命令を解読して各種演算制御信号を生成する命令制御部と、前記演算制御信号によって動作が制御され演算器や汎用レジスタなどを有する演算部等を有する。CPU10は命令を前記キャッシュメモリからフェッチし、オペランドを前記キャッシュメモリからレジスタにロードし、演算結果をレジスタからメモリにストアする。命令アクセスやオペランドアクセスに際して、キャッシュヒットの間は、主記憶装置200のアクセスは行なわれない。キャッシュメモリ(CACHE)がキャッシュミスになると、CACHE・TLB11に含まれる制御回路はバスステートコントローラ12を介して主記憶装置200をアクセスする。
【0024】
前記主記憶装置200は、特に制限されないが、メモリ部201、制御部202、TAG部203及びアドレス抽出部204を有する。前記アドレス抽出部204はメモリコントローラ113からノン・マルチプレクス状態で供給されるアドレス信号から、バンク選択信号とみなされるバンクアドレス信号及びロウアドレス信号208とカラムアドレス信号209とを切り出してメモリ部201に供給する。ロウアドレス信号及びバンクアドレス信号208はTAG部203にも供給される。
【0025】
前記メモリ部201は、メモリセルアレイと、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部とを有する。例えば、メモリ部201がダイナミック型のメモリセルを有するメモリならば、図2に例示されるように、ダイナミック型メモリセルがマトリクス配置されたメモリセルアレイ(MCA)20に対して、センスアンプラッチ(SAA)21を一時記憶部として有する。メモリセルアレイ21はマトリクス配置された複数個のメモリセルMCを有する。メモリセルは、特に制限されないが、選択スイッチとストレージキャパシタを有する1トランジスタ型のダイナミック型メモリセルとされる。メモリセルの選択端子は対応する行のワード線WLに、メモリセルのデータ入出力端子は対応する列のビット線BLに接続される。
【0026】
前記ワード線WLはワードドライバ22によって選択レベルに駆動される。ロウデコーダ23はロウアドレス信号をデコードして、ワードドライバ22で駆動すべきワード線WLの選択信号を生成する。
【0027】
前記ビット線BLは、特に図示は省略するが、センスアンプを中心に、所謂折り返しビット線構造を成す。センスアンプは、メモリセルから一方のビット線に読み出された電荷信号と他方のビット線のプリチャージレベルとの電位差を増幅して、スタティックにラッチする。前記センスアンプラッチ21は、ワード線1本分のメモリセルのための前記センスアンプのアレイによって構成されている。
【0028】
前記センスアンプラッチ21を構成するセンスアンプの記憶ノードはカラムスイッチアレイ(CSA)24によって選択され、選択された記憶ノードが共通データ線CDを介して入出力回路(IO)25に接続される。カラムスイッチアレイ(CSA)24によるスイッチ動作は、カラムアドレス信号をデコードしてカラム選択信号を出力するカラムアドレスデコーダ(CADC)26が行う。
【0029】
前記メモリセルアレイ20、ワードドライバ22、ロウアドレスデコーダ23及びセンスアンプラッチ21はメモリバンク毎に設けられている。
【0030】
タイミング制御回路(TCNT)27は、ロウアドレスストローブ信号RAS、カラムアドレスストローブ信号CAS、ライトイネーブル信号WE及びバンク選択信号BSEL等の制御信号を入力し、それら信号のレベルの組み合わせ及び変化タイミングなどにしたがって内部制御信号を生成する。内部動作はクロック信号MCLKに同期される。前記メモリバンクはバンク選択信号BSELで選択されたバンクが動作可能にされる。アドレス信号の特定のビット(バンクアドレス信号)を前記バンク選択信号BSELとみなすことができる。
【0031】
ワード線選択動作及びセンスアンプラッチ21によるラッチ動作はロウアドレスストローブ信号RASに同期して行われる。センスアンプラッチ21はバンク選択信号BSELで選択されたバンクにおいて、ロウアドレスストローブ信号RASがイネーブルにされている限り、ラッチ動作を維持する。したがって、ワード線選択動作によってワード線1本分のメモリセルが選択されると、選択されたメモリセルの記憶情報がセンスアンプラッチ21にラッチされる。その後のメモリアクセスにおいて、ロウアドレスが同一であるならば、カラムアドレス信号を順次切換えてカラムアドレス系だけを動作させれば、ワード線選択動作を行わずにセンスアンプラッチ21から、順次必要なデータを入出力回路25から外部に読み出すことができる。書込み動作の場合には、入出力回路25から書き込みデータをセンスアンプラッチ21にラッチさせていく。センスアンプラッチ21にデータをラッチしたときのワード線と異なるワード線が次に選択されるときは、その前に、当該センスアンプラッチ21のラッチデータをメモリセルにライトバックさせる。この制御は、キャッシュメモリのダーティービットを参照したライトバック制御に類似の制御として位置付けることができる。
【0032】
以上より明らかなように、メモリ部201のセンスアンプラッチ21は所謂センスアンプキャッシュとして機能されるものである。以下、メモリ部201のセンスアンプラッチ21によって実現される構成を単にセンスアンプキャッシュとも称する。
【0033】
前記TAG部203は、前記一時記憶部としてのセンスアンプラッチ21に存在する情報のアドレスに前記プロセッサ100が要求するアクセスアドレスがヒットするか否かを判定する第1の判定手段を構成する。TAG部203は、例えば、キャッシュメモリのアドレスメモリ部に類似の構成を採用することができる。即ち、TAG部203は、センスアンプラッチ21が保持する情報のロウアドレス信号をタグアドレスとしてタグメモリに保有する。タグメモリはバンクアドレス信号(バンク選択信号)をインデックスアドレスとしてアクセスされる。タグアドレスの書込みは、ワード線選択動作毎に制御部202が行う。ロウアドレス信号はインデックスされたタグアドレスと比較され、比較結果が制御部202に与えられる。制御部202は、比較結果の一致/不一致に応じた動作をメモリ部201に指示するように、前記ストローブ信号RAS,CAS,WEなどのレベルや変化タイミングを制御する。例えば、メモリコントローラ113から信号線106Bを介してリード動作が指示されているとき、前記TAG部203での比較結果が一致のとき、制御部202は、カラム系を動作させてセンスアンプラッチ21にラッチされているデータの一部を出力させる。前記TAG部203での比較結果が不一致のときは、制御部202は、ロウ系の動作によってワード線選択動作をさせ、その後、カラム系を動作させてセンスアンプラッチ21を介してデータを出力させる。
【0034】
前記メモリコントローラ113は、制御部114、抽出部111、TAG部103、及びアクセスアドレス変換部115を有する。前記アクセスアドレス変換部115は、プロセッサ100からアドレスバス107Aを介して出力されるアドレス信号を主記憶装置200の物理的なアドレス信号に変換する。前記抽出部111は、アクセスアドレス変換部115が出力するアドレス信号から、主記憶装置200におけるバンクアドレス信号及びロウアドレス信号を抽出する。
【0035】
前記TAG部103は、前記TAG部203と同様の構成を有し、前記一時記憶部としてのセンスアンプラッチ21に存在する情報のアドレスに前記プロセッサ100が要求するアクセスアドレスがヒットするか否かを判定する第2の判定手段を構成する。このTAG部103も、キャッシュメモリのアドレスメモリ部に類似の構成を採用することができる。即ち、TAG部103は、センスアンプラッチ21が保持する情報のロウアドレス信号をタグアドレスとしてタグメモリに保有する。タグメモリは、抽出部111で抽出されたバンクアドレス信号(バンク選択信号)をインデックスとし、抽出部111で抽出されたロウアドレス信号を保持する機能を持つ。ロウアドレス信号はインデックスされたタグアドレスと比較され、比較結果が制御部114に与えられる。
【0036】
前記制御部114は、比較結果の一致/不一致の状態に応じて、データバス105上でリードデータが確定するタイミングを若しくはレイテンシをプロセッサ100に通知し、或いは書き込みデータをデータバス105上で確定させるべきタイミング若しくはレイテンシをプロセッサ100に通知する。プロセッサ100は、通知されたレイテンシなどに従って、リードデータをバス105から取り込み、或いは、バス105にライトデータを出力する。
【0037】
上述の説明から明らかなように、主記憶装置200とメモリコントローラ113の双方がTAG部203、103によってセンスアンプキャッシュのヒット/ミスを判定している。したがって、前記プロセッサ100からのメモリ・リードアクセスの指示に応答して、前記メモリコントローラ113及び主記憶装置200は夫々TAG部203,103による判定動作を行い、ヒットの判定結果に応答して主記憶装置200は前記センスアンプキャッシュからプロセッサ100にデータを出力し、且つ前記メモリコントローラ113は主記憶装置200からのデータ出力タイミングをプロセッサ100に通知する。ミスの判定結果に対しても、主記憶装置200は自らの判定結果に基づいて動作し、メモリコントローラ113も自らの判定結果に基づいてプロセッサ100への通知を行う。仮に、メモリコントローラ113だけがTAG部103を有する場合には、主記憶装置200はその判定結果を受けて動作を開始することになるから、メモリ動作の開始が遅れる。逆に、主記憶装置200だけがTAG部203を有する場合には、プロセッサ100への判定結果の通知が遅れ、プロセッサによるヒットデータの取り込みが遅れたり、逆に、ミス時にプロセッサ100が次のコマンドを発行するタイミングが遅れたりする虞がある。図1のシステムではそのような虞は未然に防止されている。
【0038】
図1のデータ処理システムにおける主記憶装置200のメモリアクセス動作について更に説明する。
【0039】
前記プロセッサ100からのアクセスアドレス信号はバス107Aにてメモリコントローラ113内のアクセスアドレス変換部115に伝達され、このアクセスアドレス変換部115で変換された主記憶アクセスアドレス信号は、信号線107B及び抽出部111を介してTAG部103に伝達され、また、信号線107Bを介して主記憶装置200へ伝達される。主記憶装置200への主記憶アクセスアドレス信号の伝達は、特に制限されないが、従来広く用いられていたロウアドレスとカラムアドレスを分離して時分割多重で送る方法(アドレスマルチプレス方式)は採らないで、主記憶アクセスアドレス信号として一括伝達する方法を採している。アドレス線107Bから供給されたアドレス信号は、前記アドレス抽出部204にて、ロウアドレス信号及びバンクアドレス信号208とカラムアドレス信号209に分離される。ロウアドレス信号及びバンクアドレス信号208はTAG部203へ伝達されると共に、メモリ部201へ伝達され、カラムアドレス信号209はメモリ部201へ伝達される。プロセッサ100と主記憶装置200との間のデータ入出力はバス105を介して行われる。
【0040】
プロセッサ100から主記憶装置200へのアクセス要求は、信号線106Aによってメモリコントローラ113へアクセスコマンドを投入することで行われる。メモリコントローラ113内の制御部114は信号線110によってTAG部103の制御を行うと共に、信号線106Bによって主記憶装置200への制御を行う。主記憶装置200が複数ある場合には、このメモリコントローラ113はプロセッサ100が発するアドレスからアクセスすべき主記憶装置を決定し、該当する主記憶装置へアクセスを開始する。例えば、図示は省略するが、アドレスバス107Aから伝達されるアドレス信号の一部を制御部114が入力し、これに基づいて主記憶装置のチップセレクト信号を生成することによって簡単に実現可能である。前記TAG部103にて行われるメモリコントローラ内のヒット判定は、この主記憶アクセスアドレスのうちのロウアドレス信号及びバンクアドレス信号に関して行い、このロウアドレス信号及びバンクアドレス信号の抽出は前記抽出部111にて行われる。抽出部111にて抽出されたロウアドレス信号及びバンクアドレス信号は、信号線112によりTAG部103に伝達される。TAG部103は、主記憶装置200内のセンスアンプキャッシュにエントリーされている情報のロウアドレスを保持し、この保持されているアドレス情報がアクセスアドレス情報中のロウアドレス信号112と比較される。この比較結果は信号線108にて制御部114へ伝達される。前記比較結果が不一致の場合には、主記憶装置200のアクセス動作はロウアクセスから必要となるので低速アクセス動作となっているが、比較結果が一致の場合には主記憶装置200はセンスアンプキャッシュの機能によりロウアクセスをスキップしてカラムアクセスを行えば良いので、高速アクセスが可能にされている。このようにキャッシュ保持機構としてのセンスアンプキャッシュに所望のデータがあるか否かで、読み出しにかかる待ち時間(読み出しレイテンシ)が変化するので、要求データがプロセッサ100側へ伝達可能となるまでのレイテンシをプロセッサ100へ伝達する必要が生じる。メモリコントローラ113は、そのレイテンシ情報を信号線106Aを用いてプロセッサ100へ伝達する。メモリコントローラ113は、例えば、TAG103でのヒット判定後、次のクロック信号(プロセッサ100、メモリコントローラ113及び主記憶装置200の同期クロック信号)のサイクルで直ちに前記レイテンシ情報を伝達するように、タイミング設計されている。なお、このヒット判定の結果、主記憶装置200内のキャッシュ保持機構(センスアンプキャッシュ)内にデータがない場合には、新しいアドレスが主記憶装置200内のキャッシュ保持機構にエントリーされるため、TAG部103の更新を行う。
【0041】
主記憶装置200は、信号線107Bからアドレス抽出部204が受け取った主記憶アクセスアドレス信号をロウアドレス信号及びバンクアドレス信号208とカラムアドレス信号209に分離する。前記TAG部203でのヒット判定の結果、キャッシュ保持機構に所望のアドレスのデータがある場合は、上記同様、主記憶装置200は、ロウアクセスは行わないでカラムアクセスを行い、キャッシュ保持機構のセンスラッチ21に保持されている所望のデータに対してアクセスする。これはTAG部203からのヒット判定信号を信号線205にて制御部202に伝達し、制御部202からの制御信号を信号線207にてメモリ部201へ伝達することによって行なわれる。また、所望のアドレスのデータがこのキャッシュ保持機構のセンスラッチ21にない場合には、ロウアクセスを行うと共に、新たに入力されたアドレスのデータを主記憶装置200内のキャッシュ保持機構にエントリーし、TAG部203の更新を行う。この更新は制御部202からの信号線206にて行われる。
【0042】
前述の如くメモリコントローラ113と主記憶装置200のそれぞれにTAG部103,203を設置している。これにより、ヒット判定待ちの余分なレイテンシが発生しないので、ヒット時に主記憶装置200へ高速にアクセスすることができる。
【0043】
この事情を図3のタイミングチャート参照しながら説明する。図3に示されるシステムクロックは図1のデータ処理システムの同期クロック信号である。図3の‘A’でまとめられているグループはメモリシステムへの要求を表現したもので、1001Aはアクセスコマンドを、1001Bはアドレスを示す。その次段の‘B’でまとめられるグループは、メモリコントローラ内のみにTAG部を持つ場合のキャッシュ保持機構ヒット時のアクセス状態を示し、1002Aは主記憶装置へのアクセスコマンドを、1002Bは主記憶アクセスアドレスを、1003は所望の読み出しデータを表わしている。さらに‘C’でまとめられるグループは、図1のようにメモリコントローラ113と主記憶装置200の両方にTAG部103,203を持つ場合のキャッシュ保持機構ヒット時のアクセス状態を示しており、1004Aは主記憶装置へのアクセスコマンドを、1004Bは主記憶アクセスアドレスを、1005は読み出しデータをあらわしている。図3の‘B’に比べ‘C’はデータ読み出しが1クロック高速化されている。主記憶装置20もTAG部を有しているからである。
【0044】
また、主記憶装置内のみにTAG部を持つ場合に問題となったヒット判定結果のプロセッサへの伝達は、メモリコントローラ113内にもTAG部を持つことによって、メモリコントローラ113からヒット判定結果を直にプロセッサ100へ伝達可能となる。これにより、プロセッサ100の処理を待たせる時間が最小限に抑えられ、複数の主記憶装置とプロセッサ100間のヒット判定結果を伝えるための多数の信号線を設けずに済み、データ処理システムの製作上、低コスト化を実現することができる。
【0045】
更に高速化するためには、TAG部203でのヒット判定と主記憶アクセスアドレスのデコードとを並列に開始し、ヒット判定結果によってワード線選択を行うかカラムスイッチ回路によるカラム選択(センスアンプラッチの出力ノード選択)かを選択すればよい。
【0046】
上記のように、メモリコントローラ113及び主記憶装置200の双方にTAG部などを付加する必要があるが、そのためのチップ面積の増大はごく僅かである。その理由は以下の通りである。例えば、DRAMは選択スイッチと電荷保持機構より構成されるメモリセルを多数有するメモリ部と、メモリセル内の微小電荷を増幅するセンスアンプとで構成されるバンクと呼ばれる独立に制御できる単位をいくつか集積して構成される。DRAMは限られた領域内に最大の容量を確保するためにセンスアンプ数を最小限に抑える必要があり、このバンクを少数に抑えて構成される。一部のキャッシュメモリ搭載DRAMを除いてDRAM内部にキャッシュ保持機構を搭載する場合には、特に制限されないが、このエントリー数は16程度で構成されることが多い。TAG部は基本的にDRAM内部のキャッシュ保持機構にエントリーされ得る各メモリバンク(バンク)のデータのロウアドレスをエントリーできるように構成すればよいので、主記憶装置200の内部に置くTAG部の構成規模は小さくて済み、面積増加は最小限に抑えられる。したがって、比較的小規模な回路を付加するだけでより高速アクセスが可能なデータ処理システムを実現できる。
【0047】
《TAG部》
図4には前記TAG部203の一例が示される。ここでは複数バンク構成でセンスアンプアレイ21をキャッシュ保持機構とした例について説明する。このTAG部203は、信号線208で入力されたロウアドレス信号及びバンクアドレス信号208からバンクアドレス信号を抽出する抽出部1201、キャッシュ保持機構に保持されているデータに対応するロウアドレスを複数保持するTAGアレー1203、前記抽出部1201で抽出されたバンクアドレス信号からTAGアレー内のエントリーをインデックスする選択回路1204、前記TAGアレー1203内にデータが保持されているか否かを示す有効フラグ1209、ロウアドレス信号をラッチするアドレスラッチ部1202、及び入力されたロウアドレス信号とTAGアレー1203内に保持されているロウアドレスとを比較する比較器1205により構成される。
【0048】
メモリコントローラ113から伝達されたロウアドレス信号及びバンクアドレス信号208は抽出部1201に入力された後、バンクアドレス信号が抽出される。ロウアドレス信号は信号線1206によってTAGアレー1203に伝達されると共に、ロウアドレスラッチ1202へ伝達される。更にロウアドレスラッチ1202に蓄えられた入力ロウアドレス信号は、信号線1210にて比較器1205に伝達される。バンクアドレス信号は信号線1207により選択回路1204に伝達され、この選択回路1204で選択されたTAGアレー選択情報は、信号線1208によってTAGアレー1203に伝達される。この信号線により選択されたTAGアレー1203内に保持されていたロウアドレスは、信号線1211によって比較器1205に伝達される。比較器1205は信号線1210により伝達される入力ロウアドレス信号と、 TAGアレー1203から選択されて信号線1211により伝達されるロウアドレス情報との一致判定を行う。一致判定の結果は制御部202に送られる。制御部202は比較結果が一致しなかった場合に、 該当するロウアドレスをTAGアレー1203に格納するための信号を発生すると同時に、該当バンクに対応するTAGアレー1203内の有効フラグ1209を下げ、ロウアクセスを行う信号を信号線207にて発生する。一致の場合にはカラムアクセスを行う信号を信号線207にて発生する。またメモリコントローラ113からプリチャージ命令を受けた場合には、TAGアレー1203の該当バンクの有効フラグを下げる。なお、メモリコントローラ113内に設置されるTAG部103もTAG部203同様に構成すればよい。
【0049】
このようにTAGアレー1203はキャッシュ保持機構のロウアドレスのみ保持できれば良いので、構成規模を小さく抑えられる。そのため面積的なペナルティを最小限に抑えて高速メモリを構成できる効果がある。
【0050】
図5はTAG部203の状態遷移の一実施例である。この図で記号“&”は論理積を示し、“|”は論理和を示す。また、破線矢印は、付随する信号によりクロックに非同期で遷移することを示す。まずREADコマンド及びWRITEコマンドが入力された場合、同時に入力されている主記憶アクセスアドレスからバンクアドレスとロウアドレスを抽出する。これは入力された主記憶アクセスアドレスのマスキングにより瞬時に行える。その後TAGアレー内の対応するバンクのロウアドレスと、入力されたロウアドレスを比較する。TAG部による比較の結果、入力されたロウアドレスが、TAGアレー内に保持されているロウアドレスと一致した場合((READ|WRITE)&Hit)には、対応するキャッシュ保持機構へカラムアクセスを開始する信号を発生し待機状態に戻る。一方で、一致しなかった場合((READ|WRITE)&Miss)は、このバンクへロウアクセスを開始させる信号を発生させるとともに、有効フラグを下げる。その後、このバンクに対応するロウアドレスをTAGアレーへ格納し有効フラグを立てて待機状態へと戻る。またプリチャージ要求を得た場合は、ロウアドレスからバンクアドレスを選別した後に、該当するバンクのTAGアレーの有効フラグ(バリッド フラグ)を下げたのち待機状態へ戻る。
【0051】
ここで、この比較は入力された主記憶アクセスアドレスが存在するバンクに対応するキャッシュ保持機構にデータがラッチされていると判定された場合のみ行う。この判定は、入力されたバンクアドレスによって選択されるTAGアレーに付随する有効フラグにより高速に決定できる。
【0052】
また、プリチャージ(PCH)コマンドを受けた場合は、バンクアドレスを抽出した後、対応するバンクの有効フラグを下げて待機状態に戻る。なおこの図には図示していないが、READ|WRITEコマンドと共にPCHコマンドが付加されている場合は、カラムアクセス終了信号を受けたのち、該当するバンクの有効フラグを下げればよい。
【0053】
このようにクロック非同期で高速処理が行えるため、ヒット判定の高速化に効果がある。
【0054】
これまでTAG部の構成および状態遷移図はメモリのバンクと対応している場合について述べた。しかし、本願はその場合に限って実施されるわけではない。例えば主記憶装置内のキャッシュ保持機構がメモリバンクとは無関係にデータをラッチできる構成の場合もあるが、この場合は、キャッシュメモリに用いられる連想メモリのように、エントリーされているデータのアドレスに関して、TAG部でヒット判定が行えるよう構成すればよい。
【0055】
《ミスヒット時のメモリコントローラによるメモリアクセス制御》
前記TAG部103,203における比較結果が不一致の場合に、メモリアクセスをメモリコントローラが制御する場合について詳細を説明する。
【0056】
図6にはメモリコントローラ113によるメモリ制御の内容が状態遷移図によって示される。メモリコントローラ13の制御部114は図6に示される状態遷移制御を行う制御論理を有している。図6において記号“&”は論理積をあらわす。図に示す細い矢印はその矢印に付随するコマンドに従い遷移することを意味し、太い矢印は処理終了後にクロック同期で状態間を自動的に遷移することを意味する。この表記は図4以外の状態遷移図にも適用している。
【0057】
プロセッサ100からのアクセス要求が、リード(READコマンド)あるいはライト(WRITEコマンド)の場合には、メモリコントローラ113は基本的に2回に分けて主記憶装置200へアクセスを行う。この2回のアクセスは、TAG部103によるヒット判定の結果により、1回目のアクセスのみで済む場合と、2回目のアクセスが必要となる場合に分けられる。1回目のリードアクセスは主記憶アクセスアドレス、及びリードコマンドを投入することで実現し、ライトアクセスは主記憶アクセスアドレス、及びライトコマンドを投入することで実現する。この1回目のアクセスを行うと同時にメモリコントローラ113は主記憶装置200とは独立にTAG部103にてヒット判定を行う。ヒットの場合は、主記憶装置200内部ではカラムアクセスが選択されるので、メモリコントローラ113側はマイクロプロセッサ100へレイテンシ情報を伝達した後、待機状態(IDLE)に戻り、2回目のアクセスは行わない。ミスの場合は、主記憶装置200ではロウアクセス処理が開始されているので、メモリコントローラ113はTAG部103の内容を更新しマイクロプロセッサ100へレイテンシ情報を伝達した後、待機状態に戻る。その後メモリコントローラは2回目の主記憶装置200へのアクセスを行い待機状態に戻る。これはカラムアクセス可能状態に行うことで実現する。この2回目のアクセスは、主記憶アクセスアドレス及びREADコマンドまたはWRITEコマンド、カラムアクセスコマンド(COL)で実現されるが、望ましくは、カラムアクセスコマンドのみで構成されることである。そのためには主記憶装置200内部に主記憶アクセスアドレス及びREADまたはWRITEコマンドをラッチする機構を設ければよい。
【0058】
プリチャージとリフレッシュに関しては、コマンドとアドレスを同時に送り待機状態へ戻る。
【0059】
このように主記憶装置200内のキャッシュ保持機構にプロセッサ100からの要求データがある場合には、ヒット判定を取り込むために生じる余分な遅延時間が削減できる効果があるため、高速アクセスの可能なデータ処理システムが実現される。また、メモリコントローラ113からプロセッサ100へ直にレイテンシ情報を伝達できるので、マイクロプロセッサ100の処理が遅れることを最小限に抑えられる効果がある。さらに、主記憶装置200内部に主記憶アクセスアドレス及びREADまたはWRITEコマンドをラッチする機構を設ける場合は、メモリコントローラ113の構成が単純化できるため設計コストを安くできる効果がある。
【0060】
図7は主記憶装置200の状態遷移を示す。ここでは、図1で説明した通り、センスアンプラッチ21をキャッシュ保持機構として用い、メモリ部201の構成バンクが複数ある場合を想定する。図7において記号“|”は論理和を示す。メモリコントローラ113側からリードまたはライト要求を受け取ると、主記憶装置200は、メモリコントローラ113とは独立にTAG部203によるヒット判定を行う。ヒット判定の結果、主記憶装置200内部のキャッシュ保持機構に所望のアドレスのデータが存在しない場合(ミス時)はロウアクセスを行い待機状態(IDLE)に戻る。また、所望のアドレスのデータが存在する場合(ヒット時)はカラムアクセスを開始する。このカラムアクセスを行った後に、自動的に待機状態に戻る場合とプリチャージを行ってから待機状態に戻る場合に設定可能である。前者はアクセスされたバンクをバンクアクティブのまま次のアクセスを待つモードに対応し、後者はバンククローズの状態で次のアクセスを待つモードに対応する。ここでバンクアクティブとは、指定したワード線を立ち上げて、このワード線によって指定されたメモリセル内のデータをセンスアンプにて増幅することを指す。またバンククローズ動作とは活性化しているワード線を非活性状態にすることであり、具体的には選択されているワード線によってセンスアンプにラッチされているデータをメモリセルに再書き込みし、データ線をプリチャージすることである。主記憶装置200においてバンクアクティブのまま次のアクセスを待つモードは、DRAMのセンスアンプをキャッシュ保持機構として用いることに相当する。これは主記憶装置へのアクセスが局所的である場合に有効である。また一方で、バンククローズの状態で次のアクセスを待つモードは、主に、▲1▼主記憶装置へのアクセスが極めてランダム性が高い場合、▲2▼アクセスは規則的ではあるが以前アクセスしていたロウアドレスには戻らない場合、▲3▼センスアンプ以外にキャッシュ保持機構を設ける場合、等に対して有効である。
【0061】
このようなモード変更は、メモリコントローラ113側でリアルタイムに変更することが可能である。例えばこのモードのどちらを選択するかは最初のリードまたはライトアクセスを行うときに、プリチャージコマンド(PCH)を付加するか否かで判断することができる。
【0062】
ところで、メモリコントローラ113からの一回目のアクセスでミスの場合は、2回目のアクセスであるカラムアクセス((READ|WIRTE)& カラムアクセスコマンドCOL)を受ける必要がある。このときは主記憶装置200内部にアドレスラッチ機構を有していれば、この2回目のリードまたはライトアクセスはカラムアクセスコマンドのみで十分である。このアクセスが終了した後に待機状態に戻る方法は、プリチャージしてから待機状態に戻る場合と直に待機状態に戻る場合に設定可能であるが、両者の特徴並びに処理法は上記図6の説明に準ずる。
【0063】
また、プリチャージ要求を得た場合は直にプリチャージを開始し待機状態へ戻り、リフレッシュ要求を得た場合は主記憶装置内のメモリセルをリフレッシュし待機状態に戻る。
【0064】
主記憶装置200への2種類のアクセス(ロウアクセス及びカラムアクセス)を、メモリコントローラ113内のTAG部103におけるヒット判定結果のみで決定する必要がないので、従来技術で問題とされた余分な遅延時間は発生しない。更に、TAG部203を主記憶装置200も有することによって、主記憶装置200の内部でヒット判定と並列してロウアドレス並びにカラムアドレスのデコードが行えるため、TAG部203と主記憶装置200が別チップ構成の場合よりも並列処理による高速化を期待できる。
【0065】
図6及び図7に示される状態遷移から理解されるように、前記TAG部103,203における比較結果が不一致(ミスヒット)である場合のメモリアクセスのシーケンス制御は、メモリコントローラ113の制御部114が行う。例えば、リードアクセスに際してメモリコントローラ113は、先ずリード(READ)コマンドを主記憶装置に発行する。このとき、メモリコントローラ113はTAG部103による比較結果が不一致であれば、次にリード・カラムアクセス(READ&COL)コマンドを発行し、一致であれば、リード・カラムアクセス(READ&COL)コマンドは発行しない。主記憶装置200は、リード(READ)コマンドを受け取ったとき、TAG部203による判定結果が一致であればカラムアクセス動作によってセンスアンプアレイ21からデータを外部に出力し、不一致であればロウアドレスによるワード線選択動作とセンスアンプラッチのラッチ動作を行う。主記憶装置200が第2コマンドであるリード・カラムアクセス(READ&COL)コマンドを受け取ったときはカラムアクセス動作によってセンスアンプアレイ21からデータを外部に出力する。このようにミスヒット時のシーケンス制御をメモリコントローラ113が行う場合には、ミスヒット時に第2コマンドまで発行しなければならないが、ヒット時は1回のコマンド発行で済むから、キャッシュ保持機構による高速アクセス利点は変わりない。
【0066】
《ミスヒット時の主記憶装置によるシーケンス制御》
次に、前記TAG部103,203における比較結果が不一致(ミスヒット)である場合のメモリアクセスのシーケンス制御を主記憶装置200が行う場合について説明する。
【0067】
図8は図1に示す主記憶装置200内部にDRAMの各バンクの状態遷移を制御するシーケンサを組み込んだ主記憶装置300の例を示す。
【0068】
主記憶装置300は、主記憶装置として用いられるDRAMの各バンクの状態遷移を制御するシーケンサ301と、シーケンサ301をも制御できるように拡張された制御部302と、シーケンサ301を制御するための制御信号線303と、シーケンサからの情報を制御部へ伝達するための信号線304によって構成される。
【0069】
図1の例では設けられていなかったシーケンサ301は、メモリコントローラ113からの制御信号を受けて状態遷移の制御を行う。ここで、このシーケンサに関係する説明を行う。TAG部203でのヒット判定の結果、ミスの場合は、制御部302は信号線207にてメモリ部201へロウアクセスを開始すると同時にシーケンサ301へ起動信号を信号線303にて伝達する。その後、シーケンサ301はカラムアクセス可能信号を信号線304にて制御部302へ伝達する。制御部302はこのカラムアクセス可能信号を受けて、メモリ部201へカラムアクセスを開始する。このように、メモリコントローラからの主記憶装置へのアクセスでミスの場合でも、主記憶装置はメモリコントローラとは独立してロウアクセス・カラムアクセスを行うことができるので、メモリコントローラの負担が軽減される効果がある。
【0070】
図9は図8のような主記憶装置内部にシーケンサを持つ主記憶装置300を制御するメモリコントローラの状態遷移図の一実施例である。この例では主記憶装置300の内部にシーケンサ301が存在するため、メモリコントローラはミス時に2回目のアクセスを指示する必要はない。メモリコントローラは主記憶装置300に対してリード/ライトの要求を一回発行し、その後メモリコントローラ113内のTAG部103によるヒット判定結果の後、必要なレイテンシ情報をプロセッサ100に伝達して待機状態に戻る。リフレッシュとプリチャージに関しては図6での説明に準ずる。このため高速化と同時にメモリコントローラの発行するコマンドが単純化できるので、メモリコントローラの製作コストを下げる効果がある。
【0071】
図10は図8に示されるような主記憶装置300内部にシーケンサ301を持つ主記憶装置の状態遷移図の一実施例である。メモリコントローラ113からリードまたはライト要求を受け取ると、TAG部203でヒット判定を行う。その結果ヒットであればカラムアクセスを開始し待機状態(IDLE)へと戻り、ミスであればロウアクセスを行った後、シーケンサからの制御を受けて、カラムアクセスが可能なタイミングにカラムアクセスを開始し待機状態へ戻る。メモリコントローラからのアクセスコマンドにプリチャージ(PCH)コマンドが付加されている場合は、カラムアクセス後にプリチャージを行い待機状態へ戻り、プリチャージコマンドが付加されていない場合は、カラムアクセス後に直に待機状態に戻る。このようにメモリコントローラからの制御が単純化できるのでメモリコントローラの負担が軽減できる。
【0072】
また、プリチャージ(PCH)要求を得た場合は直にプリチャージを開始し待機状態へ戻り、リフレッシュ(REF)要求を得た場合はリフレッシュを行ったのち待機状態へ戻る。これらの詳細は図7での説明に準ずる。
【0073】
このように主記憶装置300のようにシーケンサ301を組み込むことにより、主記憶装置内部で独自にリードまたはライトのタイミングをコントロールすることが可能となる。そのため、メモリコントローラからはリード・ライト・プリチャージ・リフレッシュ等の簡略化したコマンドのみ受け取ればよいので、上記、図1の実施例で説明した主記憶アクセスが高速化する効果と同時にメモリコントローラの設計が容易となる効果がある。また、ロウアドレスとカラムアドレスが同時にデコードされていることと、このデコードと並列にロウアクセス及びカラムアクセスの制御を主記憶装置内部で行えるので、シーケンサを持たない主記憶装置よりも高速にアクセスが可能となる効果がある。
【0074】
前記シーケンサの具体例を以下に説明する。シーケンサ301は、TAG部203による判定結果がヒットのときカラムアドレスによる動作を指示し、TAG部203による判定結果がミスのときロウアドレスによる動作の指示に続いてカラムアドレスによる動作を指示する。その論理を実現するために、シーケンサ301は、図11に例示されたカラムアクセス用シーケンサ部1300と、図12に例示されたロウアクセス用シーケンサ部1400とを有する。
【0075】
まず、図11を用いてカラムアクセス用シーケンサ1300の一例を示す。カラムアクセス用シーケンサ1300は、複数個のD型フリップフロップ(以下D−FFと略す)1301−i(i=1〜4)から構成されるカウンタ部と、スイッチ部1304とを有する。スイッチ部1304は、複数個の記憶素子1303A−i、1303B−iで構成される。1310はD−FFを駆動するクロック信号を示し、1311はD−FFをリセットするリセット信号を示す。図11ではD−FFは4個、記憶素子は8個設けられている。
【0076】
信号線1306によって入力されるロウアクセスコマンド(ROW)は、アンドゲート1305―1、1305―2に伝達される。TAG部203によるヒット判定の結果はヒット信号(H)が信号線1307Aにてアンドゲート1305―1に、ヒットの相補信号(/H)は信号線1307Bにてアンドゲート1305―2に伝達される。アンドゲート1305―1の出力は信号を線1308Aでオアゲート1309へ伝達され、アンドゲート1305―2の出力は信号線1308Bに供給され、カウンタを起動させる信号として利用される。 TAG部203でのヒット判定の結果、ヒットの場合は、直にカラムアクセスが可能となるので、ロウアクセスコマンド(ROW)は、カウンタをバイパスしてオアゲート1309へ伝達される。 一方、TAG部203の検索の結果がミスの場合は、メモリ部201に固有のレイテンシを満足させるため、カウンタを起動させる信号をD−FF1301−iのどれか一つに入力させる。D−FF1301−iの選択は、スイッチ部1304の記憶素子のプログラム状態によって決る。このD−FFで構成されるカウンタ部は入力された論理値“1”信号をクロックに同期してシフトさせる機能を持ち、オアゲート1302はスイッチ部1304にて選択された入力信号とD−FFからの出力信号との論理和をとり、その出力を次段のD−FFへ伝達する機能を持つ。このオアゲート1302により、選択的にどの段のD−FFへもスイッチ部にて選択された入力信号を入力させることが可能となる。最終段のD−FFからの論理値“1”出力はオアゲート1309へ伝達される。このオアゲート1309は信号線1308Aと信号線1312の論理和を採り、出力信号“1”をカラムアクセス信号(COL)とする。このようにメモリコントローラ113から主記憶装置200へのアクセス要求信号1306と、TAG部でのヒット判定結果のヒット信号1307A,1307Bを用いて、ヒット時とミス時の、カラムアクセスへのレイテンシを変更することが可能となる。D−FFのリセットはリセット信号(RST)1311により行う。
【0077】
図11のカラムアクセス信号(COL)は図8に示される信号304に含まれる。前記ロウアクセスコマンド(ROW)、ヒット信号1307A、1307B、リセット信号RST,クロック信号CLKは図8に示される信号303に含まれる信号である。
【0078】
前記選択スイッチ部1304の構成について述べる。ここでは、この選択スイッチ部1304がフューズによって構成される例を示している。このスイッチ部1304は、DRAMのレイテンシがシステムの動作周波数により異なった値に設定される問題を解決し、より汎用性の高い装置を作成する上で必要である。例えばミス時にレイテンシ4でアクセスしたい場合の選択スイッチの使用法について述べる。この場合D−FF1301−1への入力はフューズ1303A−1を残し、グランドに繋がる1303B−1を切断し、その他のD−FFへの入力は1303B−2、1303B−3、1303B−4を残し1303A−2、1303A−3、1303A−4を切断すればよい。このフューズの切断はメモリをデータ処理システムに組み込んで使用するとき最初に1度だけ必要な操作であり、電気的に行うことが望ましい。また、システムの動作周波数を可変にして用いる場合等には、レイテンシをただ一通りに固定するのではなくシステムの動作周波数に合わせて適宜変更できると都合よい。その場合は、このスイッチ部をCAM等で構成すればよい。
【0079】
以上述べたように、このカラムアクセス用シーケンサ部1300は汎用性が高いので、複数のシステムクロックに対応する製品を製作する上で、製作コストを削減することができる。
【0080】
次に、図12を用いてロウアクセス用のシーケンサ部1400について説明する。これはセンスアンプアレイ21をキャッシュ保持機構として利用する場合等に用いられる。DRAMはバンクアクティブ状態にあるバンクの異なるワード線をアクセスするためには、バンククローズ・バンクアクティブという一連の動作が必要になる。この一連のバンククローズ・バンクアクティブの動作は、所定のクロック数を必要とする。ここで述べるロウアクセスシーケンサは、アクセスされたアドレスがバンクアクティブ状態にあるバンクの違うロウアドレスにあたった場合に、つぎにロウアクセスが可能となるまでの時間を計測するものである。このシーケンサの基本構成は上記カラム用シーケンサと同様であるが、差異について以下で説明する。
【0081】
このロウアクセス用シーケンサは、D−FF1401−i等で構成される論理回路と記憶素子で構成されるスイッチ部1402により構成される。このスイッチ部は上記カラムアクセス用シーケンサ部1300のスイッチ部1304同様に構成され、また使用形態も上記カラムアクセス用シーケンサ部1300に述べた内容に準ずる。また、D−FFのリセットはリセット信号(RST)1410にて行われる。
【0082】
ロウアクセス信号(ROW)は信号線1405にて3入力アンドゲート1404―1、1404―2へ伝達される。このロウアクセス信号(ROW)は、ロウアクセスが要求されている場合に論理値“1”となり、要求されていない場合に論理値“0”とされる。またTAG部203によるヒット判定の結果のミス信号(/H)は、信号線1406Aにて前記アンドゲート1404―1、1404−2へ伝達される。また、要求されたバンクがプリチャージされたバンクであるか否かを示す信号(/VF)は、信号線1406Bにて前記アンドゲート1404―1、1404−2に伝達される。入力されたロウアドレスがバンクアクティブでないバンクに対応した場合には、アンドゲート1404―1から論理値“1”の信号が生成され、バンクアクティブ状態にあるバンクに対応した場合はアンドゲート1404―2から論理値“1”信号が生成される。このアンドゲート1404―1、1404−2からの論理値“1”の信号をロウアクセス可能信号とする。ロウアドレスがバンクアクティブではないバンクに対応する場合は、アンドゲート1404―1からの論理値“1”の信号が信号線1407Aにてオアゲート1408に伝達されるので、直にロウアクセスが可能となる。一方、バンクアクティブ状態にあるバンクの異なるロウアドレスである場合は、アンドゲート1404−2からの論理値“1”信号を信号線1407Bにてスイッチ回路1402へ伝達し、さらにこのスイッチ回路1402により予め決定されたD−FFに伝達する。この論理値“1”信号がD―FFに入力されると、信号線1409にて伝達されるクロックに同期して、この入力信号が次段のD−FFに伝達される。オアゲート1403はスイッチ部1402にて選択された入力信号とD−FFからの出力信号との論理和をとり、次段のD−FFへ伝達する機能を持つ。このオアゲート1403によりどの段のD−FFへもスイッチ部にて選択された入力信号の入力が可能となる。最終段のD−FFからの論理値“1”出力を信号線1411にてオアゲート1408へ伝達する。このオアゲート1408は信号線1407Aと信号線1411の論理和を採り、論理値“1”の出力信号をロウアクセス信号(ROW_E)とする。このようにメモリコントローラからDRAMへのアクセス要求信号1405と、TAG部でのヒット判定結果のヒット信号を用いて、ヒット時とミス時のレイテンシを変更することが可能となる。したがって、バンクアクティブ状態にあるバンクの異なるロウアドレスへのアクセスタイミングをDRAM内で計測することができる。
【0083】
このように、このロウアクセスシーケンサを有することで、バンクアクティブの状態にあるバンクの異なるワード線をアクセスする場合も、DRAM内部でバンククローズ・バンクアクティブの動作が行えるため、メモリコントローラの負担が軽減され、メモリコントローラの製作が低コストで行える効果がある。また、このロウアクセス用コントローラは汎用性が高く設計できるため低コストで製作することが可能である。
【0084】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0085】
例えば、メモリコントローラ113は単一の半導体装置に限定されるものではなく、メモリコントローラ113がプロセッサ100と同一チップに組み込まれていてもよい。また、主記憶装置200のメモリ部201はダイナミック型メモリセルに限定されず、スタティック型メモリセルを用いるものであってもよい。また、本発明はPCボード以外のデータ処理システムに広く適用できることは言うまでもない。
【0086】
本発明は、キャッシュ保持機構を有するメモリをプロセッサが用いる条件のデータ処理システムに広く適用することができる。
【0087】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0088】
すなわち、キャッシュ保持機構に要求されたデータが保持されているか否かを判定する手段を、メモリコントローラとメモリの両者に組み込み、両者で同時にヒット判定を行うから、ヒット判定を待つ遅延時間を削減することが可能となり、データ処理システムにおいてメモアクセスの高速化を実現することができる。
【0089】
また、メモリのみに前記判定手段を持つ場合に判定結果をプロセッサに伝達するのが遅れるという従来の技術に比べれば、本発明はメモリコントローラから直接プロセッサへ伝達できるので、その伝達を高速化でき、更に、複数のメモリとプロセッサを多数のヒット判定信号線で結線する必要もなく、データ処理システムの低コスト化にも寄与できる。
【0090】
さらに、メモリ内部にシーケンサを設置することにより、メモリへの制御信号が単純化でき、これにより、メモリコントローラのゲート規模を削減することができる。
【図面の簡単な説明】
【図1】本発明に係るデータ処理システムの一例を示すブロック図である。
【図2】メモリ部の一例を示すブロック図である。
【図3】メモリコントローラと主記憶装置のそれぞれにTAG部を設置した場合とそうでない場合との動作を比較説明のためのタイミングチャートである。
【図4】TAG部の一例を示すブロック図である。
【図5】TAG部の動作を示す状態遷移図である。
【図6】メモリコントローラによるメモリ制御の内容を示す状態遷移図である。
【図7】主記憶装置の動作を示す状態遷移図である。
【図8】シーケンサを備えた主記憶装置のブロック図である。
【図9】シーケンサを持つ主記憶装置を制御するメモリコントローラの動作を示す状態遷移図である。
【図10】シーケンサを持つ主記憶装置の動作を示す状態遷移図である。
【図11】図8のシーケンサに含まれるカラムアクセス用シーケンサのブロック図である。
【図12】図8のシーケンサに含まれるロウアクセス用シーケンサのブロック図である。
【図13】本発明に先立って本発明者が検討したPCのシステムの構成を示すブロック図である。
【符号の説明】
20 メモリセルアレイ
21 センスアンプラッチ
100 プロセッサ
103 TAG部
113 メモリコントローラ
114 制御部
200 主記憶装置
201 メモリ部
202 制御部
203 TAG部
301 シーケンサ
Claims (6)
- プロセッサと、前記プロセッサに接続されたメモリと、前記プロセッサ及びメモリに接続されたメモリコントローラとを有し、
前記メモリは、メモリセルアレイと、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部と、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第1の判定手段とを有し、前記第1の判定手段による判定結果に応じたメモリ動作を行い、
前記メモリコントローラは、前記プロセッサからのメモリアクセスの指示に従って、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第2の判定手段を有し、前記第2の判定手段による判定結果に応ずる情報を前記プロセッサに与えると共に、前記メモリにアクセス制御情報を供給するものである、ことを特徴とするデータ処理システム。 - 前記メモリは、前記第1の判定手段による判定結果に応じた動作を内部で制御するための第1のシーケンサを有して成るものであることを特徴とする請求項1記載のデータ処理システム。
- 前記メモリセルアレイはマトリクス配置されたダイナミック型メモリセルを記憶素子として有し、
前記一時記憶部はメモリセルアレイのロウアドレスのデータをスタティックにラッチし、
前記第1のシーケンサは、前記第1の判定手段による判定結果がヒットのときカラムアドレスによる動作を指示し、前記第1の判定手段による判定結果がミスのときロウアドレスによる動作の指示に続いてカラムアドレスによる動作を指示するものであることを特徴とする請求項2記載のデータ処理システム。 - 前記メモリコントローラは、前記第2の判定手段による判定結果に応じた動作を前記メモリに指示するための第2のシーケンサを有して成るものであることを特徴とする請求項1記載のデータ処理システム。
- プロセッサと、前記プロセッサに接続されたメモリと、前記プロセッサ及びメモリに接続されたメモリコントローラとを有し、
前記メモリは、メモリセルアレイと、前記メモリセルアレイの記憶情報の一部をサブセットとして保有可能な一時記憶部と、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第1の判定手段とを有し、
前記メモリコントローラは、前記プロセッサからのメモリアクセスの指示に従って、前記一時記憶部に存在する情報のアドレスに前記プロセッサが要求するアクセスアドレスがヒットするか否かを判定する第2の判定手段を有し、
前記プロセッサからのメモリ・リードアクセスの指示に応答して、前記メモリコントローラ及びメモリは夫々判定手段による判定動作を行い、ヒットの判定結果に応答してメモリは前記一時記憶部からプロセッサにデータを出力し、且つ前記メモリコントローラはメモリからのデータ出力タイミングをプロセッサに通知し、ミスの判定結果に応答してメモリはメモリセルアレイからプロセッサにデータを出力し、且つ前記メモリコントローラはメモリからのデータ出力タイミングをプロセッサに通知するものであることを特徴とするデータ処理システム。 - 前記メモリはクロック信号に同期動作されるランダム・アクセス・メモリであることを特徴とする請求項5記載のデータ処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10211999A JP3930195B2 (ja) | 1999-04-09 | 1999-04-09 | データ処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10211999A JP3930195B2 (ja) | 1999-04-09 | 1999-04-09 | データ処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000293983A JP2000293983A (ja) | 2000-10-20 |
JP3930195B2 true JP3930195B2 (ja) | 2007-06-13 |
Family
ID=14318921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10211999A Expired - Fee Related JP3930195B2 (ja) | 1999-04-09 | 1999-04-09 | データ処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3930195B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171678A (ja) * | 2002-11-20 | 2004-06-17 | Sony Corp | 情報記憶装置、情報記憶方法、及び情報記憶プログラム |
US9281036B2 (en) * | 2013-01-08 | 2016-03-08 | Qualcomm Incorporated | Memory device having an adaptable number of open rows |
-
1999
- 1999-04-09 JP JP10211999A patent/JP3930195B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000293983A (ja) | 2000-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5111386A (en) | Cache contained type semiconductor memory device and operating method therefor | |
US6389514B1 (en) | Method and computer system for speculatively closing pages in memory | |
US4685082A (en) | Simplified cache with automatic update | |
US5752260A (en) | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses | |
US7783827B2 (en) | Data processor having a memory controller with cache memory | |
US5953738A (en) | DRAM with integral SRAM and arithmetic-logic units | |
JP2837804B2 (ja) | 完全統合型キャッシュ・アーキテクチャ | |
US5179687A (en) | Semiconductor memory device containing a cache and an operation method thereof | |
US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
US8730759B2 (en) | Devices and system providing reduced quantity of interconnections | |
US5329629A (en) | Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access | |
US6219765B1 (en) | Memory paging control apparatus | |
JP2001516118A (ja) | 短待ち時間dramセルおよびその方法 | |
US5251310A (en) | Method and apparatus for exchanging blocks of information between a cache memory and a main memory | |
US6151664A (en) | Programmable SRAM and DRAM cache interface with preset access priorities | |
US7085912B2 (en) | Sequential nibble burst ordering for data | |
US6219764B1 (en) | Memory paging control method | |
US20040243768A1 (en) | Method and apparatus to improve multi-CPU system performance for accesses to memory | |
US5550995A (en) | Memory cache with automatic alliased entry invalidation and method of operation | |
US5553270A (en) | Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay | |
US6222786B1 (en) | Dynamic random access memory with write-without-restore and systems and methods using the same | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
JP3930195B2 (ja) | データ処理システム | |
KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
US6442645B1 (en) | Pre-decode conditional command generation for reduced SDRAM cycle latency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040329 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070308 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140316 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |