JPH03135642A - コンピュータメモリシステム - Google Patents

コンピュータメモリシステム

Info

Publication number
JPH03135642A
JPH03135642A JP2176093A JP17609390A JPH03135642A JP H03135642 A JPH03135642 A JP H03135642A JP 2176093 A JP2176093 A JP 2176093A JP 17609390 A JP17609390 A JP 17609390A JP H03135642 A JPH03135642 A JP H03135642A
Authority
JP
Japan
Prior art keywords
address
memory
row
bits
virtual
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.)
Granted
Application number
JP2176093A
Other languages
English (en)
Other versions
JPH087718B2 (ja
Inventor
W Horst Robert
ロバート ダブリュー ホースト
Kei Shaa Aajiei
アージェイ ケイ シャー
I Ko Yamamoto
アイ コー ヤマモト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH03135642A publication Critical patent/JPH03135642A/ja
Publication of JPH087718B2 publication Critical patent/JPH087718B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータメモリ、殊に同メモリの内容を
読取り、書込み、リフレッシュするための方法に関する
。殊に、本発明は高速のダイナミックランダムページア
クセスメモリ (FPDRAM)の仮想アドレッシング
法に関する。
〔従来の技術〕 従来より、−時期、コンピュータのメモリ容量を大きく
する傾向が見られた。メモリ容量が大きいと周知の一連
の利点を提供することができるが、それと同時に大型メ
モリ方式の場合には、幾つかの困難にも遭遇することに
なる。−船釣について、メモリの大きさが大きくなるに
つれて、その他の要素は同一のま−であるのにそれと同
時にメモリにアクセスするために必要な時間が大きくな
る。
今日の多くのコンピュータシステムでは、メモリは階層
的な構造で提供されている。かかる構造では、大型メモ
リの小集合を含む小型で高速のメモリと組になって大型
の比較的な低速のダイナミックランダムアクセスメモリ
 (DRAH)を含む主メモリは、しばしば「キャシュ
」と称されるより小型のスタティックランダムアクセス
メモリ(SRAM)と組になって使用される。その他の
階層は、比較的高速のDRAM主メモリと組になって使
用される比較的低速のディスクメモリの形をした大型メ
モリを提供することを伴う。一つのメモリ階層は、長期
ディスクメモリ、主DRAMメモリ、およびSRAMキ
ャシュメモリの3つのレベルを全て含むことができよう
多くのメモリシステムでは、仮想アドレッシング法が使
用されている。仮想アドレスは、ユーザがアクセス可能
なメモリロケーションの各々につき一義的な識別がてき
るようにするために十分なビットを含むアドレスである
。物理メモリは仮想アドレス空間間でアンピングされる
物理アドレスを介してアクセスされる。
その仮想アドレスによって識別されるメモリの内容に対
するリクエストが行われると、その仮想アドレスが物理
メモリ内に現在常駐するメモリロケーションに対応する
ものであるかどうかが判断される必要がある。1アドレ
スはそれぞれが同一のメモリロケーションに対応するも
のであれば、もう一つのアドレスに「対応する」。
普通の場合、1つもしくはそれ以上のテーブルを設けて
仮想アドレスを(対応関係が存在する場合)対応する物
理アドレスに変換するようになっている。かかるテーブ
ルに対するルックアッププロシージャは比較的低速であ
ることが多い。上記テーブルは普通の場合、しばしば「
ページ」と称されるメモリブロック群の翻訳のみしか含
んでいない。幸いなことに、ページテーブルに対する参
照は、局部性を帯びている。即ち、ページテーブル中で
提案しなければならないあらゆる可能な仮想ページのう
ち、何れの短時間中にもこれらページ群のうちの少数の
ものが繰返して参照される傾向が存在することが判って
いる。この局部性のために「ページテーブルキャシュJ
  (PTC)(あるいは「変換ルックアサイドバッフ
ァ」と称されることがある)を称される第2の小型で高
速のテーブルを提供することによって一定温度時間を節
約することができる。上記テーブルは大きなページテー
ブルから最近アクセスされたエントリーを格納するため
に使用される。かくしてPTCは続いてリクエストされ
るエントリ群を含みそうなページテーブルの小集合体を
含んでいる。PTCは2つのアレイを含んでいる。一つ
はPTCエントリ又はデータアレイであって、仮想アド
レス対・物理アドレスのマツプである。他はPTCタグ
であって、PTCエントリ内のデータが妥当であるかど
うかを判断するために使用される。
ページテーブルの呈する局部性の他に、メモリ自体の呈
する一定の局部性も存在する。この局部現象によれば、
−メモリロケーションに対する一定の参照後に、比較的
短期間中に付近のメモリロケーションに対するリクエス
トが行われがち(即ち、無作為であることから期待され
るよりも大きな確率を以て)である。上記の「付近」と
「比較的短期間」という意味を定義する確率分布は、所
与のメモリシステムと計算タスクについて経験的に判断
することができる。この局部性は従事より平均メモリア
クセスタイムを小さくするために幾ツカノ方法で活用さ
れている。この活用法の一つは、高速のグイナミソクラ
ンダムベージアクセスメモリ (FPDRAM)を設け
ることである。
FPDRAMは、それを普通のメモリアクセスと対照さ
せることによって最も良く理解することができよう、典
型的なりRAMでは、メモリロケーションは行と列によ
たアドレス指定され、その際、各行はアドレスが連続す
るエレメントを備えている。通常のアクセスでは1個の
行アドレスが提案され、行アドレスストローブ(RAS
)によりラッチ内ヘストロープされる。後者は普通アサ
ートされる。その後、列アドレスストローブ(CAS)
が提供されDRAMの読取り又は占込みを実行するよう
に求められる。それぞれの新たなアクセスはサイクル全
体を通過しなければならない。この理由から、それぞれ
のアクセスは、行アドレスを提示してストローブした後
、列アドレスをストローブしなければならない。2個の
アドレスは共に比較的近接していても、どんなメモリ内
のアクセスについても順次ストローブする必要があり、
この種のアクセスはメモリの局部性を十分に活用するも
のとはいえない。
それと対照的に、FPDRAMは、メモリの局部性、即
ち、特定の行中の1メモリロケーシヨンに対するアクセ
スの後に短時間に同行内の1メモリロケーシヨンに対す
るリクエストが行われる可能性が比較的高いような状況
を活用している。この場合、比較的長期間RASをアサ
ート状態にしたまま、その間に選択された行(1つの行
アドレスラッチの内容によって決定される)に対する多
重アクセスを実行することができる。多重アクセスは一
つの行アドレスが連続的にアサートされる間に別のアド
レスを順次提示することによって行われる。先にアクセ
スされた一行(即ち、行アドレスラッチの一つの内容に
よってアドレス指定される行)内でメモリアクセスする
毎に、CASを1回アサーションすることしか必要でな
い。即ち、アクセス毎にRASを順次アサートし、その
後CASをアサートする必要はない。かくして同一行内
の10ケーシヨンに対してその後メモリリクエストが行
われる場合、新たな列アドレスを提供し列アドレススト
ローブ(CAS)をアサートする手順が比較的高速であ
るために、この後行アドレスを利用して読取り又は書込
みを行うことができる。別の列内のメモリロケーション
に対するリクエストが行われる場合(このリクエストに
対して他に使用できるFPDRAM行アドレスラッチが
存在しないと仮定する。)、その後正規のアクセス手続
が行われる。即ち、行アドレスの後に列アドレスを順次
ロードしストローブすることが行われる。かくして、続
いて行われるメモリアクセスが同一メモリ行内のロケー
ションに対するものである限りで、低速の正規メモリア
クセスよりも比較的高速のFPDRAMメモリアクセス
が使用される。
FPDRAMのスピードを活用するためには、そのリク
エストが行アドレスラッチの一つ内の行アドレスに対応
する行の一つに位置するメモリ素子に対してのものであ
るかどうかを何れのメモリリクエストについても判断す
る必要がある。出願人にとって周知の従来システムでは
、最近アクセスされた行に対する物理的アドレスの表示
がストアされている。物理アドレスリクエストが行われ
た場合、リクエストされたアドレスが最近アドレッシン
グされた、即ち、それに対してRASが依然アサートさ
れている行中にあるかどうかを判断するための比較が行
われていた。仮想アドレスリクエストが行われた場合、
その仮想アドレスは、まづ物理アドレスに変換された後
、ストアされた物理アドレスとの比較が行われている。
FPDRAMにより提供される比較的高速のアクセスの
場合でさえ、メモリアクセスは、多くのシステムでは、
殊に大型メモリを有するシステムでは依然利的要因とな
っている。かかる大型メモリシステムは普通、キャシュ
充填処理速度と書込み帯域幅によって制約されている。
本発明は、従来システム、殊に128メガバイトの如き
非常に大きなメモリ、或いはそれ以上のメモリを有する
構成と比較して高速のメモリアクセスを可能にするコン
ピュータメモリ、ならびにメモリアクセス方法を包含す
るものである。本発明はRAM素子の外集合体に対する
アクセスタイムが他の素子に対するものよりも高速であ
るような任意のタイプのランダムアクセスメモリ (R
AM)に関連して使用することができる。FPDRAM
はこのタイプのメモリの一例である。何故ならば、現在
選択されている行中における素子に対するアクセスは他
の素子に対するアクセスよりも高速であるからである。
本発明の一例では、一つもしくはそれ以上のFPDRA
Mが主メモリを構成し、そこからリクエストされたペー
ジがキャシュ内ヘロードされる。
以下により詳細に説明するように、ページはPTCによ
りマツピングされたアドレスがリクエストされたメモリ
ロケーションであることが判断された後になって初めて
PTCタグ内のアドレスを参照することによって特定の
FPDRAMからリクエストされる。
FPDRAMO行アドレスラッチは、それぞれ2個のレ
ジスタと関連する、一つの1指示”レジスタ(CAMP
hyAdr ”と称する)は物理行アドレス(およびパ
リティビットのような追加ビット)を含む。他の“仮想
/物理”レジスタ(“CAMTagと称する)は、何れ
のタイプのアドレスが最初にリクエストされるかに応じ
て物理行アドレス又は仮想アドレスの何れか一方を含む
。かくして、つの仮想アドレスが(PTCタグアレイ内
におけるその存在の確認後と)リクエストされた時、そ
れは仮想/物理(CAMTag)レジスタと比較するこ
とができ、まづ物理アドレスを得るために変換する必要
はない。かくして上記システムは、アドレスリクエスト
の最も一般的な方式である仮想アドレスリクエストの場
合に高速のメモリアクセスを可能にするものである。同
システムはまた、仮想アドレスリクエストの場合と同一
の方法を使用してメモリアクセスを物理アドレスリクエ
ストによって行うことができる。
上記方法は特に大部分の状況におけるメモリリクエスト
が仮想/物理的“局部性”を呈する・即ち、同一行から
の繰返しリクエストが仮想的であれ物理的であれ同一の
タイプのものとなる傾向があることが判っているために
特に十分な機能性を備えている。仮想/物理間を変換し
て各場合において選択中のアドレスが行アドレスラッチ
の内容によりアドレス指定される行中にあるかどうかを
判断する必要が回避できることは重要を時間の節約を表
わすものである。各メモリアクセスにつき仮想/物理間
の変換が必要でないために、かかる変換は低速のより安
価な部品、例えば低速のページテーブル化キャシュによ
って行うと共に依然として高速のメモリ読取りと書込み
を行うことが可能になる。
リクエストされた行に匹敵するものが何ら見出せない場
合にはより低速の正規アクセスモードで必要な行がアク
セスされる。新たな行中におけるメモリ素子がアクセス
される場合には、そのメモリリクエストが仮想アドレス
であったのかそれとも物理アドレスであったのかを判断
する必要がある。この理由から、そのアドレスが仮想ア
ドレスであるか物理アドレスであるかを示す1ビットが
仮想もしくは物理アドレスと共にCAMTag レジス
タ内にストアされる。
本発明のもう一つの面は1アドレスの幅を収納する方法
に関する。メモリブロック内で一意的にエレメントをア
ドレス指定するために必要な幅はブロックの大きさに依
存する。本発明では使用されるDRAMは別のアドレス
10ビット、行アドレス10ビットを要することが望ま
しい。本システムの仮想アドレスはページアドレスビッ
トとワードアドレスビットを含む。ワードアドレスビッ
トは仮想アドレスと物理アドレスをも同一であるため、
ワードアドレスビットは変換されない。1つの仮想アド
レスにおけるワードアドレスビットの数は1ページ内の
ワード数によって決定される。
ページの大きさは2にベイトもしくはlK16ビットワ
ードであることが望ましい。この大きさのページは10
ビットを用いてアドレッシングできるため、仮想アドレ
スは10ワードアドレスビットを含む。このことは仮想
アドレス内の10ビットは物理アドレスの対応するビッ
ト数を同一であることを意味する。
メモリを構成するDRAMは4ウ工イインターリーブ方
式で編成される。即ち、メモリ内の4つの隣接するワー
ドが同−DRAM内の4個のセルでなくて4つの異なる
DRAMから到来する。このスキームでは、リード操作
中に、10ビットワードアドレスの最下位2ビットが4
つのインターリーブワード間で選択するために使用され
る。かくして、ワードアドレスの最下位2ビットはリー
ド操作では使用されず、(DRAMアドレッシングのた
めに)廃棄される。かくして、8個のワードアドレスビ
ット(何ら変換を要しない)は列アドレスビットとして
使用される。DRAMは列アドレス10ビットを要する
ために、列アドレス2ビットが変換を要する物理アドレ
ス部分から来なければならない。然しなから、IKワー
ドの同一ページに繰返しアクセスする毎に変換する必要
をなくすることが望ましい。このことは必要とされる列
アドレスの余分の2ビットを行アドレスの10ビットと
共にCAMPhyAdrレジスタ内にストアしく又、パ
リティビット又はその他のエラー検出ビット、バンクセ
レクトビット、および/又はボードセレクトビットを含
めて)実行される。ワードアドレスの8ビットのみが1
0ビットの列アドレスに寄与するから、アドレス二座間
の2個の列アドレスビットはミスどうしの間で変化しな
い。
2個の列アドレスビットをストアさせる方法もまたライ
ト操作でDRAMにアドレッシングするために使用され
る。然しなから、単一のライト操作では1つもしくは2
つのワードのみが書込まれるようにすることが望ましい
。アドレッシングされないワードのオーバライドを防止
するために、1回のリード処理で廃棄されるような2ビ
・ノドを使用して4個の潜在的にアドレッシング可能な
ワードのうち何れの1もしくは2個のワードがアサート
される列アドレスを有することになるかを選択してその
ロケーションにおける書込みを実行する。
CAMヒツトアクセス中に使用される列アドレスビット
をストアする方法は異なるタイプのメモリと共に使用す
る際に一般化できる方法である。
例えば、指示(CAMPhyAdr)レジスタ内に3つ
もしくはそれ以上のビットをストアすることによって全
部で11又はそれ以上の列アドレスビットを捉供するこ
とができる。11個の列および行ビットを4メガビット
DRAと関連して(1メモリ素子にアクセスするために
普通11個の列アドレスビットを11個の行アドレスビ
ットを要する)設けることが有益であろう。例えば8ウ
エイインターリーブの場合、インターリーブされたDR
AM間で選択するために余分の最下位ビットを設けるた
めには2個以上の列アドレスビットをストアすることも
有益である。
本発明は本発明を使用しない従来のシステムに比較して
キャシュフィルタイムの減少と有効書込み帯域幅の拡大
とを実現するものである。
本発明は関連するCAMTag レジスタの内容とCA
MPhyAdrレジスタの内容とが保存されるために効
率的なりRAMのリフレッシュサイクルを備える。RA
SはDRAMリフレッシュの間にアサーション解除(d
casserted)される。リフレッシュに続いて、
RASは再びCAMミス(即ちCAMTagの内容とそ
れに対応するリクエストされたアドレスの部分の内容が
一致しない)に続< RASアサーションに類似する形
でアサーションされる。このようにして、リフレッシュ
サイクルに続くメモリ構成はリフレッシュサイクル以前
のそれと同一である。かくして、続くメモリアクセスは
リフレッシュサイクル前に実行された行アドレスに基づ
いてメモリの局部性を活用して実行することができる。
〔実施例〕
以下、本発明の実施例を特定のコンピュータシステムの
脈絡において解説する。但し、当業者には自明であろう
が、本発明は多くのタイプのコンピュータシステムに使
用することができる。
解説するコンピュータシステムは、それぞれがそれと関
連するメモリシステムを備える16個までのプロセッサ
を含むマルチプロセッサシステムである。各プロセッサ
と関連するメモリシステムは2つの機能単位93a(第
2図)を備えることが望ましい。殊に、各機能単位はメ
モリ制御装置と共にそれぞれが32、殊に64メガバイ
トのメモリを備える一つもしくは2つの回路板上に形成
さることが望ましい。本発明はかかるプロセッサの一つ
と関連するメモリ単位に関する。コンピュータシステム
内のメモリ単位はそれぞれ実質上同一の形で動作する。
第10A図は0−14ビットのセグメントアドレス2と
、15−20ビットのページアドレス4と、21−30
ビットのワードアドレス5を含む仮想アドレスの構成を
示す。第10B図は、020ビットの物理ページアドレ
ス6が含まれ、21−30ビットのワードアドレス5が
含まれる物理アドレスの構成を示す。
さて第10C図について述べると、DRAMをアクセス
するために使用されるアドレスが30ビット幅のものと
して描かれている。アドレスは10ビットの列アドレス
と、10ビットの行アドレスを含む。列アドレスは17
と18(16)ビットと21−28 (20)ビットの
ものが設けられる。1−5ビット(22)は何れのメモ
リボードがアドレッシングされるかを示す。ビット6(
24)はどのメモリセクション(X”又は“Y”)がア
ドレッシングされるかを示す。ビット19と20(26
)はバンクセレクトビットである。ビット29と30(
28)は類似インターリーブスキーム内で使用される。
本発明の実施例の動作を詳説する前に、本発明の主なコ
ンセプトを第1A−IE図に関して単純化された例によ
って説明する。第1A−IE図に示す単純化したメモリ
単位は8個の行1a−1hと8個の列2a−2hを備え
る64エレメントのメモリを備える。メモリはファスト
ページタイプで行セレクタ3は列セレクタ5による一連
の継起する列アドレス中に行アドレスラッチ4内のアド
レスに従って所与の行を選択するに任せることができる
ようになっている。メモリ10には2個のレジスタが関
連している。即ち、物理アドレスを保持するCAMPh
yAdrレジスタ6と、物理アドレス又は仮想アドレス
の何れかである1アドレスを保持するCAMTag 7
である。説明を簡単にするために、アドレスリクエスト
8が丁度到着したものと仮定する。アドレスリクエスト
8はメモリから読取ったり書込んだりするために使用さ
れるアドレスとすることができる。典型的な筋書きでは
、かかるアドレスリクエストは必要なアドレスがキャシ
ュ内に存在しなかったために失敗したキャシュ間の読取
り書込みの試みをプロセッサが行なった後に到着する。
かかる「キャシュミス」の場合、メモリは主メモリ10
から読出されることによってキャシュに転送されなけれ
ばならない。
本例では先のメモリに対するアクセスはメモリを第1A
図に示す構成に、即ち、8番目の行、行111を選択し
た形に残すものと想定する。従って、行アドレスラッチ
4は行アドレスビット111を含み、CAMPhyAd
r 6は同じ行アドレス(111)を含む。更に、先の
アドレスリクエストは仮想アドレスに対するものであっ
たと想定する。従って、第1A図に示すようなCAMT
ag 7は先のアドレスリクエストから持ち来たされた
行アドレスを含み、従って物理アドレス111に対応す
る仮想アドレスとなる。ページテーブル9から判るよう
に、物理アドレス111に対応する仮想アドレスは10
1である。
第1A図から判るように、新たなアドレスリクエストは
001110の形をとっている。新たなリクエストを処
理するために、まづアドレスリクエスト8内の行ビット
とCAMTag 7の内容との間の比較が行われる。こ
の場合、アドレスリクエスト8内の行ビットは001で
、他方、CAMTag 7の内容は101である。(先
のメモリリクエストから繰返される)従って、コンパレ
ータ11はCAMミスが存在することを示す。このこと
は新たに到着したアドレスリクエスト8が現在アサート
されている行とは異なる(即ち行111とは異なる)行
に対するものであることを意味する。
コンパレータ11がミスを表示すると、レジスタロ、7
は第1B図に示すように更新される。
CAMTag 7はアドレスリクエストからの行アドレ
ス(即ち、001)をロードされる。新たなアドレスリ
クエストが物理アドレスである場合には、物理アドレス
の行ビットは直接CAMPhyAdr 6に伝送できる
。かかる場合には、CAMTagとCAMPhyAdr
はリクエストされた行と同一の表示を含むことになろう
。本文中に使用するビットストリングは、少なくとも一
部がメモリロケーションに対応するアドレスを含むか同
アドレスに変換できる場合のアドレス又はメモリロケー
ションを「指示する」。
本例では、然しなから、アドレスリクエスト8は仮想ア
ドレスであって変換を要するものと想定する。ページテ
ーブル9は何れの物理アドレスが001の仮想アドレス
に1旦当するかを判断するために使用される。ページテ
ーブル9は対応する物理アドレスが010であることを
示す。第1B図に示すように、この新たな物理アドレス
はCAMPhyAdr 6内にロードされる。第1B図
から判る通り、CAMTag 7は今や新たなリクエス
トに対する仮想行アドレスを含み、一方、CAMPhy
Adr 6は対応する物理行アドレスを含む。CAMP
hyAdr 6からの物理行アドレスは行アドレスラッ
チ4へ送られ、行セレクタに物理行アドレスによりアド
レス指定される行、即ち行010を選択させる。
第1C図に示すように、アドレスリクエスト8がCAM
Tag 7とCAMPhyAdr 6の新しい内容を用
いて今や再び試みられる。この時、アドレスリクエスト
8の行ビットがCAMTag 7の内容と比較されると
、コンパレータ11はビットを示す。列セレクタ5はア
ドレスリクエスト8からの列ビットに従って1列を選択
する。
第1D図は次に続くアドレスリクエストを示す。
この例では、001000である。アドレスリクエスト
8からの行ビットはCAMTag 7の内容とマツチす
る。従って、新たなリクエスト8の仮想行アドレスは第
1C図に示す先のリクエストからの仮想行アドレスと同
一である。その結果、行セレクタ3は依然第3行、01
0を選択する構成を有する。コンパレータ11により指
示されるビットが存在が存在するために、アドレスリク
エスト8からの列ビット(即ち、000)が列000を
選択するために列セレクタ5によって使用される。
第1E−IC図は、全てのビットが列セレクタ5を制御
するために直接使用できるとは限らない場合に使用でき
る本発明の実施例の簡単なバージョンを示す。第1E−
IC図に示す実施例では、第3の列ビットが物理行ビッ
トと共にCAMPhyAdr内にストアされると同時に
仮想又は物理行ビットと共にCAMTag T内にスト
アされる。かくして第1 E−I 0図に示す実施例で
は第3の列ビットはあたかも追加的な行ビットであるか
の如く多くの点で処理されることが判る。それは物理行
ビットと共にCAMPhyAdr内にストアされ、先に
ストアされた第3の列ビット(先にメモリアクセスから
持越された)は進入するアドレスリクエスト8内の新た
な第3の列のビットと比較される。第3列ビットをスト
アしそれをアドレスリクエスト8からの第1の2列ビッ
トと組合せることによって、以下の如く、アドレスリク
エスト8内の第3の列ビットが、以下に述べるインター
リーブ制御の如きその他の目的に解放される。更に、ア
ドレスリクエストの列部からの第1の2ビットだけが列
セレクタ5を選択する上で直接使用されるから、描かれ
たスキームは、アドレスリクエストが25または32の
アドレッシング可能なメモリ素子のページサイズと相俟
って、直接使用可能なアドレス情報の5ビットのみを(
即ち行ビット1−3と列ピッ)1−2)を含む場合に使
用することができる。
第1E図は第1D図に示したものと同一のアドレスリク
エストと処理を示す。しかしその場合、第3の列ビット
が列ビットと同様に処理される実施例を使用している。
第1E図に示すように、CAMTag 7は先のアドレ
スリクエスト(即ち、第1C図に示すアドレスリクエス
ト)から持越した仮想又は物理列ビットを含むと共に、
先のアドレスリクエスト(第1C図に示す)から持越さ
れた第3の列ビット(0)を含む。CAMTag T内
にストアされたビットはアドレスリクエスト8内の行ビ
ットと第3の列ビットと比較される。この場合、進入す
るアドレス8の行ビットと第3の列ビットは共に先のリ
クエストから持越された行ビットと第3の列ビットとマ
ツチするからコンパレータ11はヒツトを指示する。ヒ
ツトが存在したから、列セレクタ5がアドレスリクエス
ト8からの最初の2列ビットとCAMPhyAdr 6
内にストアされた第3の列ビットの組合せにより指示さ
れる列を選択するために使用されるコンパレータ11が
ヒントを示したという事実によってCAMPhyAdr
 6内にストアされた第3列ビット(先のアドレスリク
エストから持越された)が進入するアドレスリクエスト
8内の第3列ビットと同一であることが保証される。
第1F図は次の継起リクエストを示す。本例では001
001である。この場合、アドレスリクエスト8からの
列ビットはCAMTag 7内の行ビットの内容とマツ
チする。然しなから、アドレスリクエスト8 (即ち、
1)内の第3列ビットはCAMTag 7内の第3列ビ
ットエントリーとは異なる。
従って、コンパレータ11はミスを記録する。ミスのた
めにCAMPhyAdr 6とCAMTag 7のレジ
スタは第1F図に示すように更新される。第1G図は、
進入するアドレスリクエストからの第3列ビットがCA
MTag 7とCAMPhyAdr 6の双方にストア
される点を除いては第1B図に示す更新と同一である。
更新後、第1H図に示すようにアドレスリクエストが再
び試みられる。この場合、CAMTagが更新されてい
るため、CAMTagの内容は行ビットと新たなアドレ
スリクエスト8からの第3の列ビットとマツチする。従
って、コンパレータ11はヒツトを記録する。コンパレ
ータ11がヒツトを記録するため、列セレクタ5は、C
AMPhyAdr 6内にストアされた第3の列アドレ
スビットと相俟って、進入するアドレスリクエスト8か
らの最初の2列ビットに対応する列を選択する。
その後、次のメモリに対するアクセスが上記と同一の方
法を用いて行われることになろう。新たなアドレスリク
エストが同一行内の1アドレスに対して行われ、第1E
図と第1H図に示すように先のアドレスリクエストのそ
れと同一の第3列ビットを有する場合、コンパレータ1
1はヒツトを表示し、列セレクタ5のみを用いて必要と
されるメモリ素子にアクセスしなければならない。第1
A図に示すようにアクセスリクエストが先にアドレスさ
れた列と異なる列間のアドレスに対するものであるか、
第1F図に示すように先にアクセスされた列と異なる第
3の列ビットを有する列に対するものである場合、CA
MTag 7とCAMPhyAdr 6のレジスタは第
1G図に示すように更新された後、アクセスが再試され
る。
メモリアクセスに伴う種類又はレベルの“ミス”が少な
くとも2つある。上記した如く、プロセッサがキャシュ
内のメモリにアクセスしようとして失敗すると、“キャ
シュミス”が生じ、主メモリ10からのメモリブロック
 (普通は数ワード)の換案が必要になる。このように
主メモリ10を読取ったり書込んだりする間にも“CA
Mミス”即ち、(第1A図に示すように)先にアク−セ
スされたものと異なる列又は、先にアクセスされた列(
第1F図に示す)と異なる第3の列ビットを有する列に
対するリクエストが生じ得る。
以上の簡単な説明を背景として、特に第2図について実
施例を解説する。第2図に示すように、メモリ機能単位
の一つのメモリ30は、東芝により提供されるTC51
1000型の如き高速ページダイナミックランダムアク
セスメモリである。
メモリ30はA、B、C,Dのバンクで表わされる4個
のバンク32.34.36.38に編成される。各バン
グ32.34.36.38は、0.1、奇数、および偶
数のブロックに分割され擬似4ウエイインターリーブを
行うようになっている。
擬似4ウエイインターリーブによれば、奇数と偶数のブ
ロックは隣接ワード、殊にそのアドレスの最下位アドレ
スビットが異なるワードを含んでいる。0と1のブロッ
クはアドレスの半量下位ビットが異なるワードを含んで
いる。従って、何れの1ブロツクにおいても、例えば、
32では、4個の隣接するワードがそれぞれ、AOEV
、A ood、A I EV、 A Iod内にストア
される。次の(第5番目の)隣接ワードは、AOEV、
等にストアされることになろう。各バンクはXXYと命
名した2個の等寸法のメモリセクションより構成される
かくして、1バンク中の特定のワードは22アドレスビ
ットを一義的に識別できることを必要とする。これらは
10行アドレスビット、10列アドレスビット、および
2擬似インターリーブビットとして編成される。各列ア
ドレスラッチ42.44.46.48は工0アドレスビ
ットを保持することが望ましい。明確にするために第2
図には行アドレスラッチ42.44.46.48はメモ
1J30の外部にあるものとして描かれているが、事実
上は、これらはメモリ30の一体部分をして構成するの
が普通である。
書込みデータの4個の22ビットワードをストアするた
めに−m52の書込みデータレジスタ52a、52b、
52C152dが設けられている。2個のアドレスレジ
スタ53a、53bはそれぞれ2つの列7行マルチプレ
クサ54.56からアドレスビットを受取る。メモリ3
2.34.36.38の各バンクはそれと関連して追加
的な列7行マルチプレクサ58.60.62.64を有
している。これらマルチプレクサ58.60.62.6
4は下記の如き方法で2個のアドレスビットを提供する
が、それらはアドレスラッチ53a、53bにより提供
される8個のアドレスビットと相俟って、コラムアドレ
ッシングに必要される10個のアドレスビットを構成す
る。
書込みデータレジスタ52用の書込みデータは、エラー
補正コードジェネレータ70.72を経て処理された後
、2個のデータレジスタ66.68から提供される。エ
ラー補正コードジェネレータ70.72は、以下に示す
如く、4つのCAMPhyAdrレジスタ74.76.
78.80の一つと連絡する。データレジスタ66.6
8内の書込みデータはデータバス84a、84b、84
c、84d、および関連するマルチプレクサ86a、8
6bを経て提供される。
第1の2個の列7行マルチプレクサ52.54の動入力
に提供されたアドレスビットはメモリリクエストアドレ
スレジスタ(MenRqAdr) 90から列アドレス
を受取るインクリメンタ88a、88bから到着する。
MenRqAdrレジスタ90は、マルチプレクサ91
と関連する論理93から入力を受取る。マルチプレクサ
91は一つもしくはそれ以上のアドレスバス305.3
07.309に接続される。進入するアドレスが仮想ア
ドレスであるか物理アドレスであるかは、メモリ仕様コ
ードと相俟ってどのバスからアドレスが到着するかによ
って決定される。メモリ仕様コードはどのメモリ処理が
、例えば、リード、ライト、診断その他の処理の何れが
実行されるかを規定するコートである。この判断は論理
93によって行われる。アドレスが仮想アドレスである
か物理アドレスであるかを示すビットはMenRqAd
rレジスタ90に送られる。
同様に、各メモリ32.34.36.38のバンクと関
連するのは2個のアドレスレジスタ、即ち、CAMPh
yAdr レジスタ74.76.78.80とCAMT
agレジスタ94.96.98.100である。第11
B図にはCAMPhyAdr レジスタ74.76.7
8.80の各々に適用可能なビットマツプを示す。CA
MPhyAdr 74はX/Yセレクトビット901、
ボードセレクトビット912.6パリテイビット914
、列アドレス916の2ビット、および物理列アドレス
918を含む。物理列アドレス918は以下により十分
に説明するように、2つの源のうちの1つから得られる
。アドレスリクエストが物理アドレスを表わすとき、物
理行アドレスは直接CAMPhyAdr 74.76.
78.80内にストアすることができる。リクエストさ
れたアドレスが仮想アドレスを表わす場合、仮想行アド
レスはまづPTCエントリ92を用いて変換される。
ページテーブルキャシュ(PTC)はハツシュロジック
95を用いアクセスすることが望ましい。
上記した如く、PCTはエントリ一部分92とタグ部分
95.97 (第12図)を含む。2つの別々のPTC
タグアレイが存在することが望ましい。
データキャシュ95に対しては1つのタグアレイを用い
、命令キャシュ97に対して他のタグアレイを使用する
。同時に第12図に示すように、PCTはメモリ機能単
位93a、93b、93b、93nのそれぞれにつき一
つのPCTエントリアレイ92が存在する一方、PCT
タグ95.97はメモリボード又は機能単位93a、9
3b、93n上に配置される意味で分布させることが望
ましい。このことによってそれぞれの機能単位上にPC
Tタグ95.97を備える必要は回避される。PCTエ
ントリとタグに対しては少なくとも3つの可能な構成が
ある。エントリとタグの双方ともメモリに位置決めする
ことができよう。然しなから、かかる構成は通常の(C
AMヒント)場合アクセスは低速になろう。第2に、エ
ントリとタグは共にリクエスト源に位置決めすることが
できよう。然しなから、かかる構成反応他のオプシヲン
よりも多くのメモリを要し、それぞれの主メモリアクセ
スにおいて変換が必要になろう。OCTクグ95.97
はリクエスト源にあり、それぞれのメモリ機能単位につ
いては一つのPTCエントリアレイ92が存在すること
が望ましい。(第12図)この構成は通常の場合(CA
Mヒント)高速のアクセスに対するものでメモリの効率
的な使用を考慮し、各メモリアクセス毎に変換すること
を回避するためである。
同様に、それぞれのメモリバンク32.34.36.3
8とはCAMTagレジスタ94.96.98.100
が関連する。第11A図に示す如< 、CAMTagレ
ジスタ94は一つの仮想/物理ビット919.2個のパ
リティビット920、および仮想又は物理ビット919
.2個のパリティビット920、および仮想的又は物理
的アドレスビットl−20(922)を含む。それぞれ
のCAMTagレジスタ94.96.98.100とは
コンパレータ102.104.106.108がそれぞ
れ関連している。
メモリ単位の動作を制御する論理が受信状態マシーン1
12、MEMOP状態マシーン114、およびリフレッ
シュ状態マシーン115内に設けである。受信状態マシ
ーン112はデータのリクエストの逆分布を制御する。
リフレッシュ状態マシーン115はメモリリフレッシュ
を共に列アドレスストローブ(CAS)と行アドレスス
トローブ(RAS)を制御する。MemOP状態マシー
ン114は、調停し、メモリサイクルを開始し、以下に
詳説するようにリフレッシュとメモリアクセスに対する
リフレッシュ状態マシーンを共働する。
メモリ単位の出力部分は出力レジスタ、エラー補正素子
、およびバスゲートを含む。出力レジスタ116は擬似
4ウェイインターリーブ読出しの2サイクルに対応する
8個のメモリワードを維持する。読取られたメモリデー
タはマルチプレクサ118a、118bを介してエラー
補正回路120a、120bに送られた後出力レジスタ
122a、122bへ送られる。出力レジスタ122a
122bは制御ゲー)126a、126bを介してデー
タバスへ接続される。
本発明の作用の解説は4つのメモリシステム処理に関す
る説明を含む。即ち、CAMヒツトが存在する場合の読
取り処理と、CAMヒントが存在する場合の書込み処理
と、CAMミスが存在する場合の読取り又は書込み処理
、およびリフレッシュ処理である。
アドレスリクエストがメモリ機能単位により処理される
前に、まづアドレスが、メモリ機能単位から提案される
アドレスが灰量のアドレスであるという意味が妥当であ
るということが判断される。
妥当性の検証はPCTタグ内の存在の検証を伴う。
リクエストされたばかりのページがPTC内に存在する
かどうかを判断するためにPTCタグ95.97(第1
2図)が打診される。もしページがPTC内に存在しな
ければ、” PTCミス”と称されてオペレーティング
システムマイクロコードがページテーブルキャシュ92
.95.97のリマフピングを行い、アドレスアクセス
が再スタートされる。PTCミスの場合、大きなページ
テーブル(図示せず)からPTCタグ95.97とPT
Cエントリ92を更新する必要がある。
PTCタグ95.97は直接ページテーブルから更新さ
れる。PTCエントリ92を更新するために物理アドレ
スはデータバス84を経て到着し、仮想アドレスはMe
nAdrバス305.307、309(第2図)の一つ
を経て到着する。物理アドレスはRqDataハス82
を介してゲート162を経てPhyAdバス142へ伝
送され、その後、PTCエントリテーブル92へ伝送さ
れる。仮想アドレスはアドレスバス130へ伝送され、
ゲート144を経てPhyAdバス142へ、その後P
TCエントリテーブル92へ伝送される。新たなエント
リは2回書込まれる。−度目は下半分92aで、−度目
はPTCエントリテーブルの上半分92bで、次に、全
てCAMTag94.96.98.100は無効化され
、PTC更新を惹起したメモリリクエストが再試される
上記の如く、FPDRAMでは、もしく先のリクエスト
がその行中のエレメントに向けられた結果として)RA
Sが既にアサート状態に保持されている行内にリクエス
トされたメモリエレメントが存在するならば、メモリア
クセスは比較的高速である。4個のラッチ42.44.
46.48の何れか一つがリクエストされたメモリエレ
メントを含む行に対する行アクセスを含んでいる場合、
CAMビットが存在するように4個の行アドレスラッチ
42.44.46.48が存在することが望ましい。4
個の行ラッチ42.44.46.48の何れもがリクエ
ストされたメモリエレメントの行アドレスを含んでいな
いならば、CAMう7チミスが存在し、行アドレスラッ
チ42.44.46.48の一つは以下に詳しく述べる
ように新たな行アドレスをロードされなければならない
リクエストされたデータエレメントについてCAMビッ
トが存在するメモリ処理は正規の処理状態にある、即ち
4個の行アドレスラッチ42.44.46.48の各々
がかかる行の1エレメントに対する先のリクエストの結
果として行アドレスを含む程十分に長く動作している装
置について説明しよう。新たに開始もしくはパワーアッ
プしたメモリボードがこの状態に達する方法は以下に詳
説するCAMミスによる読取り又は書込みを終了した後
、当業者に容易に理解されよう。
さて第2図と第3図に入れ述べると、第2図に示すメモ
リシステムが上記の正規動作状態にある場合、メモリ読
取り処理は、アドレスバス305.307.309のう
ちの一つに到着する(310)メモリリードリクエスト
によって開始される。一つ以上のメモリリクエストが存
在する場合、受信状態マシーン112の調停論理はこれ
らリクエスト312を調停して、所定の優先順位システ
ムに従って(またメモリシステムが次のメモリリクエス
トを受信することのできる状態にある後に)マルチプレ
クサ91をセットしてリクエストされたメモリアドレス
の−をMemRqAdrレジスタ90ヘセットする。同
様に、この時間中、データバス84A、84B、84C
184D上にあるデータはマルチプレクサ86a、86
bを経てデータレジスタMea+RqDataOd  
68とMemRqDataEV  66へ送られる。現
在考察中のリクエストはリード要求であるため、これら
のデータバス上のデータは擬偵的なものである。即ち、
それはその時にデータバス上に存在するデータは何であ
れ表示する。かくして、このデータはリードリクエスト
に無関係で、使用されないであろう。同様にこの時間中
、論理回路93を使用してマルチプレクサ91内を通さ
れたメモリリクエストが物理アドレスであるか仮想アド
レスであるかが判断される。この判断は何れのアドレス
バスからアドレスリクエストが発生したか、またある場
合にはそのメモリリクエストと関連するメモリ仕様コー
ド部分に基づいて行うことができる。論理93は、アド
レスが仮想アドレスであるか物理アドレスであるたを計
算した後、1ビットをMemRqAdrレジスタ90内
にセットしてアドレスが仮想アドレス又は物理アドレス
314であるかどうかが示される。
次段階の処理では、5つの手続がほぼ同時に開始される
。即ち、列アドレス315のロードと、比較316、ビ
ット317の維持、変換318とボードとxYセレクト
320の開始である。
10個の列アドレスのうちの8つを構成するMemRq
Adrレジスタ90からのビットはビット位置21−2
8内に常駐する。列アドレス315のロード中、これら
のビットはアドレスバス130を経てインクリメンタバ
ス132へ送られ、インクリメンタ88aと88bに到
達する。
3つの最下位ワードアドレスビット(キャシュフィルの
場合)は常にゼロであろう。これはキャシュラインが8
ワード(28)で同ライン内の最初のワードが最後の3
ビットが000であるようなアドレスを有しているため
である。読取り処理の最初の半分では、インクリメンタ
88aを経て到達するアドレスは増分されず(即ちゼロ
だけ増分される)ビット21−28 (20、第10C
図)は列7行マルチプレクサ54を通過する。同マルチ
プレクサ54は、現在の状態では“列”についてセット
されており、アドレスラッチ53aを経てアドレス・レ
ジスタバス134aに至ったところである。第2のイン
クリメンタ88bを通過する列アドレスは1だけ増分さ
れ、ビット2l−28(20、第10C図)は、同様に
“列”にセットされた第2の列7行マルチプレクサ56
を経て、アドレスラッチ53bを通り、第2のアドレス
レジスタバス134bへ至る。アドレスラッチ53a、
53bを経て到達するアドレスはかくして列アドレスビ
ットの若干のみを、即ちビット21−28のみを含む。
更に、アドレスラッチ53a、53bは各メモリアクセ
スリクエストに対する内容を変化させることを注意する
ことが重要である。
列アドレス全体に必要とされる10個の列アドレスビッ
トを完成するために“列”にセットされた列7行マルチ
プレクサ58.60.62.64、を経てメモリバス3
2.34.36.38の各々に対して2個の余分の列ア
ドレスビットが供給される。然しなから、アドレスレジ
スタ53a、53bを通過する列アドレスと異なって、
物理アドレスのビット17と18に対応するこれら2個
の列アドレスビットはMemRqAdrレジスタからは
直接供給されない。むんろ、これらのビットは4個の物
理アドレスレジスタ、即ちCAMPhyAdr A、 
B、C1およびD、74.76.78.80から供給さ
れる。これら2個の列アドレスビットはCAMミス表示
が存在しない限り不変又は一定であるからこれらのレジ
スタからそれらを供給することができる。以下に詳説す
るように、これら2個の列ビットはCAMミスが存在す
る場合にのみ変化する。かくしてCAMPhyAdrレ
ジスタ74.76.78.80により供給される2個の
列アドレスビット17と18とは行アドレ人ビットと同
様の方法で行動する。従って、第3図に示すプロセスは
、CAMPhyAdrレジスタから各々の対応する行/
列のマルチプレクサ58.60.62.64に対してこ
れら2個のビット317を維持することを含む。
4個の行/列マルチプレクサ58.60.62.64の
各々は(8個のビットの合計について)2個のビットを
提供するけれども、これらマルチプレクサのうちの一つ
だけ(即ち2ビットのみ)が何れの1メモリアクセス中
にも使用されることになろう。これに、メモリの4バン
ク32.34.36.38のただ一つについて列アドレ
スストローブがアサートされるためである。
同時期に、4個の比較316が行われる。行なわれる比
較は、MEMRqAdrレジスタ90からのビットとC
AMTagレジスタ94.96.98.100の各々の
内容の間の比較である。CAMTagレジスタと比較さ
れるべきビットは行アドレス、ボードセレクトビット、
XYセレクトビット、バンクセレクトビットと共に仮想
/物理論理93によりセットされた仮想/物理ビットを
含む。CAMTagレジスタ94.96.98.100
の各々に存在する20ビットは、同時に、仮想又は物理
行アドレスビット(先のメモリアクセスによる)、ボー
ドセレクトビット、バンクセレクトビット、X/Yセレ
クトビット、および仮想/物理ビットを含む。比較はC
AMTagレジスタ94.96.98.100を仮想/
物理バス136から入力を受取る4個のコンパレータ1
02.104.106.108により行われる。仮想/
物理バス136は、アドレスバス130と連絡する。
各コンパレータ102.104.106.108は、そ
の2つの入力が同一であり、ヒント信号を発生し、この
ヒツト信号をMEOP状態マシーンl14へ転送する。
CAMTagレジスタ94.96.98.100と4個
のメモリバンク32.34、36.38間には直接のマ
ツピングが存在することが望ましい。かかる直接的マ・
7ビングの下では、CAMTag八94は第へのバンク
32内のメモリアドレスに対応するアドレスのみを含み
、CAMTagB 96は第2のバンク34のメモリ内
容に対応するアドレスのみを含むという具合になろう。
直接的マツピングの面のために、正規処理では、せいぜ
い4個のコンパレータ102.104.106.108
のうちの一つがヒントを表示することになろう。
この点でMEMOPマシーン114はヒツトが存在した
かどうか、また4個のバンクA、B、C1D(32,3
4,36,38)のうち何れがそのヒントを含んでいる
かについての表示を含んでいる。メモリ320のX又は
Y部分の選択はビット6により制御される。同ビット6
はCAMphyAdr レジスタ74.76.78.8
0により出力され、列アドレスストローブロジック15
2.154.156.158へ出力される。
同様にしてこの時、仮想−物理間の変換が開始される。
(318)上記の如< 、MemRqAdrレジスタ9
0内にあるアドレスは物理的又は仮想的アドレスの何れ
かとすることができる。仮想−物理間の変換の結果は、
(1)MemRqAdr 90の内容が仮想アドレスで
あり、(2)4個のCAMTagレジスタ94.96.
98.100の何れにもヒツトがなかった場合にのみ使
用されよう。然しなから、仮想−物理間の変換には一連
のマシーンサイクルが要求するため、  変換が(第5
図に示すように)必要であることが判った場合、その結
果が必要であると判断される前に変換プロセスが開始さ
れているように変換はこの時に開始される。変換が不要
であるような場合には、変換の結果は無視されることに
なろう。
続く処理部分はCAMヒツト322が存在したかどうか
による。その判断は、上記の如く、この時点でMEMO
P状態マシーン114により行われた判断である。第3
図に示す筋書きでは、CAMTag94.96.98.
100の一つはMemRqAdr 90からのビット1
−20に対するヒントを示す。以下の議論を容易にする
ために、上記ヒントは第2のコンパレータ104により
表示されるものと想定する。当業者には明らかであるよ
うに、以下の所論は他の位置のコンパレータ102・ 
106・108によるヒツト表示にも適用されよう。
第2のコンパレータ104にヒツトが存在したために、
第2の行アドレスラッチ44はリクエストされるメモリ
エレメントを含む行を含んでいる。
この事実が表示されるのは、対応する(第2の)CAM
Tag96が第2の行アドレスラッチ44内にストアさ
れた行に対する行アドレスを含んでいるためである。第
2のCAMTag 96内の行アドレスは物理行アドレ
ス又は仮想行アドレスの何れかとすることができる。然
しなから、第2のCAMTag96内の行アドレスが仮
想アドレスであるか物理アドレスであるかに関わりなく
 、CAMTag 96とMemRqAdrのピッ)1
−20間に同一性が保存する場合、リクエスト中のアド
レスは対応する行アドレスラッチ44の内容によってア
ドレス指示される行内に存在しなければならない。か(
して、仮想−物理間の変換を待たずにCAMビットを得
ることができる。このスキームの有効値は「仮想性」の
上記した局部性、即ち、いったん仮想又は物理アドレス
リクエストが行われると同一の行中のメモリエレメント
に対する後のリクエストは同一タイプのもの(即ち、仮
想的及び物理的のもの)となる可能性が大きいという事
実によって促進される。
上記の如く、1列アドレスの部分は最初の2つの列7行
マルチプレクサ54.56を通過し、その他の部分は残
る列7行マルチプレクサ58.60.62.64を通過
する。これらのアドレスが確定した後、第2の行アドレ
スラッチ44によりアドレスラッチ指定される行からリ
クエストされた列を選択するために、列アドレスストロ
ーブが第2のメモリバンクにアサートされなければなら
ない。
上記の如く、MEOP状態マシーン114は第2のバン
チB、34がヒツト表示に対応するメモリエレメントを
含むという表示を含んでいる。それ故、MEMOP状態
マシーンは列アドレスストローブ(CAS)324を第
2のメモリバンク34にアサートする。
第2図に示す実施例では、リード中のリードデータの転
送は2段階で行われる。即ち、リクエストされたデータ
の半分は出力レジスタ116へ転送される。アドレスは
適当に増分され、第2の半分は転送される。再び第3図
について述べると、列アドレスストローブ24のアサー
ション後、データの半分はMemRd レジスタ116
へ転送される(326)。次にMEMOP状態マシーン
114は同時に列アドレスストローブのアサーションを
解除して、インクリメンタ88A、88Bと係合する。
 (330)第1のインクリメンタ88Aに係合すると
そのインクリメンタはそれを通過するアドレスを4だけ
増分する。この増分はアドレスの1ビットを0から1ヘ
セツトすることに等しい。
同様にして、第2のインクリメンタ88Bもまた、その
インクリメンタを通過するアドレスを4だけ増分する。
増分されたアドレスへ列/行マルチプレクサ54.56
 (両方とも“列”にセットされる)を経てアドレスラ
ッチ53a、53bへ通される。
この時点で、同時に、MEOP状態マシン114はエラ
ー補正ロジック120A、120Bを始動してリードデ
ータ334の最初の半分のエラーを補正し、CAS 3
22を再びアサートする。CAS322が再びアサート
されるため、増分330(とデータレジスタ116内の
適当なランチのイソ−プル化後)後に、リードデータ3
36の第2の半分のMemRdレジスタ116に対する
転送が実行される。次に、同時に、CASのアサーショ
ンが解除され(340)、リードデータの第2の半分の
エラー補正が開始される。(342)最後に、エラー補
正回路からのり−ドデータがデータレジスタ122A、
122Bへ搬送され(344)、その後、ボード出力イ
ネーブルロジック150により制御されるゲート126
A、126Bを経てデータ出力バス124A、124B
へ送られる。
さて第4図について述べると、CAMヒツトが存在する
場合のメモリ書込みを含む第2の処理が描かれている。
この処理の初期段階はリード処理に関して上記したもの
と類似している。1つもしくはそれ以上のメモリリクエ
ストが到着しく410)、リクエストが調停される。(
412) リクエストされたアドレスはMemRqAd
rに送られ、ライトデータがデータバス上に到着し、M
emRqData レジスタ66.68へ送られる。こ
の場合、ライトデータは(リードリクエストの疑似デー
タとは反対に)素データである。同様にしてこの時、ア
ドレスが仮想データであるか物理データであるか、また
は仮想/物理ビットがMemRqAdr内にセットされ
ているかどうかが判断される。次に、同時に、列アドレ
スビットがロードされ(415)、維持され(417)
 、CAMTag416について比較が行われ、仮想−
物理間の変換が開始される。(418)これらのステッ
プと同時に、ライトデータはデータレジスタ 66.6
8からエラー補正コートチエツクビットジェネレータ7
0.72に送られた後、ライトデータレジスタ52内の
ラッチに送られる。
第4図に示すプロセスでは、MEOP状態マシーン11
4がCAMセット422が存在することを判断し、従っ
て4個のメモリバンク32.34.36.38の何れに
おいてCASをライトイネーブルをアサートすべきかを
判断する。(424)ライトイネーブルがまづアサート
され、■サイクル遅れた後に、列アドレスストローブが
アサートされる。列アドレスストローブとライトイネ−
フルのアサーションによってライトデータ446はライ
トデータレジスタ52からメモリバンク32.34.3
6.38の一つに転送される。転送に続いて、列アドレ
スストローブのアサーションが解除される。 (448
) 第3図と第4図に示す処理に関して、データの読取りと
書込みは列アドレスストローブのアサーションとアサー
ションの解除によって実行されることが判るであろう。
これらの処理の両方の間に、行アドレスストローブが連
続的にアサートされる。
第3図と第4図に示す処理は列アドレスストローブだけ
をアサートしアサート解除するから、比較的高速である
。本発明によれば、この比較的に高速の処理が十分活用
される。何故ならば、アドレスの仮想−物理間の変換を
行う必要なしに周処理を実行できるからである。かかる
変換は全ての場合に開始されるが、ひとたびCAMヒン
トが存在し、従って変換が必要でないと判断されると、
処理はかかる変換の完了を待たずに進行する。この比較
的高速のデータ転送により比較的に高速のキャシュフィ
ルと高い書込み帯域幅が可能になる。
さて第5図について述べると、リード処理又はライト処
理の何れでもよいが、4個のCAMTag 94.96
.98.100の全てに関してCAMミスが存在するプ
ロセスが描かれている。
上記処理の最初の部分は第3図と第4図の処理の最初の
部分と類似している。一つもしくはそれ以上のメモリリ
クエストが到着しく510)、アドレス力’MemRq
Adrに送られ、データバスからのデータがMemRq
Data 66.68に送られる形で調停される。(5
12)アドレスが仮想データであるかそれとも物理デー
タであるか、又、その仮想/物理ビットがMemRqA
dr514内にセットされているかどうかが判断される
。同時に、列アドレスビットがロードされ(515) 
、維持される。(517)それぞれのCAMTagにつ
いて比較が行われ、仮想−物理間の変換が開始される。
(518)この場合、MEOP状態マシーン114はC
AMミスを構成するCAMTag 94.96.98.
100の何れについてもヒツトが存在しなかったことを
判断する。
その後のプロセスはMemRqAdr 90内に存在す
るアドレスが仮想アドレスであるか物理アドレスである
かによる。この判断は仮想/物理ロジック93により計
算された仮想/物理ビットを使用してMEMOP状態マ
シーンにより行われる。(550)もし、MemRqA
dr 90内のアドレスが物理アドレスであると判断さ
れれば、行アドレスビット (ビット7−16)は、X
/Yセレクトビットであるビット6と共にゲート144
を経て直接PhyAdバス142へ送られる。
もしMemRqAdr内のアドレスが仮想アドレスであ
ると判断されれば、仮想/物理間のアドレス変換を使用
する必要がある。上記の如く、仮想−物理間のアドレス
変換は先に開始された。(518)この変換は当業者に
は周知の方法でハツシュロジック95を用いるハツシュ
スキームによって行われる。ハツシュアドレスはPTC
エントリテーブル92の下半分92a内の提案索引とし
て使用される。エントリテーブルの下半分92aと上半
分92bは互いのコピーである。通常は、下半分92a
が使用される。然しなから、もしページテーブルキャシ
ュ92の下半分にアクセスしようとする時にエラーが発
見されると(553)、スペアセレクトスイッチ160
が駆動して上半分又は“スペア″PTCエントリーテー
ブル92bがアクセスされる。
変換が実行された後、変換の結果はPbyAdバス14
2へ送られる。(560)いったんMemRqAdrレ
ジスタ90から直接にか、それとも変換(560)の結
果としてか行アクセスがphytaバス上に得られると
(142) 、プロセスは′m続可能となる。
本例では、たといMemRqAdrアドレスが物理的な
もであっても、一つの仮想アドレスの変換が行われた場
合に必要な時間を占めるために遅れ562が開始される
次にphyAdバス142上のビット19と20はME
MOP状態マシーン114により観察され、バンク32
.34.36.38の何れが更新されなければならない
かが判断される。(564)本例において、4個のバン
クが存在するためにバンクを指定するには2ビットが必
要であることに注意されたい。他の実施例では、それ以
上又はそれ以下の数のバンク判断ビットに関連してより
多くの又はより少数のバンクを使用することができよう
。以下の所論を容易にするために、メモリリクエストは
第2のメモリバンク34内に存在するlメモリエレメン
トに対して行われるものと仮定する。当業者には明らか
な如く、以下の所論は他の任意のバンク32.36.3
8内に存在するエレメントについてのメモリリクエスト
に適用することができよう。
次の段階では、3つの処理が同時に行われる。
即ち、RASのアサーションの解除566と、CAMT
agのロード568と、CAMPhyAdrのロード5
70である。行アドレスストローブは、先に述べたよう
に(564)更新を必要とするバンク34に対応する第
2の行アドレスラッチ44に対してのみアサートを解除
する。(566)更新中の第2バンク34に相当する第
2 CAMTag 96はMemRqAdrレジスタ9
0から直接ビット1−20をロードされる。 (568
)それは仮想アドレス又は物理アドレスの何れであって
もよい。仮想アドレス又は物理アドレスを何れか第2の
CAMTag96ヘロードすることによって、そのアド
レスが第2の行アドレスラッチ44内にロードされてい
る行内のメモリエレメントに対して行われる同じタイプ
(即ち、仮想又は物理)の後続リクエストが第2のCA
MTag 96に対してヒントを発生することになろう
同時に、(ボードセレクトビット、バンクセレクトヒ゛
ソト、パリティビットの如きCAMPhyAdr  レ
ジスタ内はストアされる他のビットと共に’j phy
Adバス142上に位置する物理アドレスがPhyAd
ハス142上で第2のCAMPhyAdrレジスタ76
内ヘロードされる。上記レジスタ76は第2のバンク3
4に対応する。かくの如くして、第2のCAMPhyA
drレジスタ76と第2のCAMTag 96とは共に
更新されて第2の行アドレスラッチ44内にロードされ
ている行のそれぞれ物理行アドレスと仮想又は物理行ア
ドレスを反映するようになっている。
行/列マルチプレクサ54.56.58.60.62.
64は全て“行″572にスイッチされる。
ビット7−14を構成する行アドレスは第1の行アドレ
スバス166上を第2のCAMPhyAdr レジスタ
76から第1の2つの列7行マルチプレクサ54.56
を経てライトデータレジスタ52のアドレスラッチへ送
られる。同時に、行アドレスのビット15と16は行ア
ドレスバス166上を第2のCAMPhyAdr レジ
スタ76から対応する(第2a)列7行マルチプレクサ
60へ送られる。(576)この時点で、行アドレスス
トローブが再度アサートされる。(578)列7行マル
チプレクサ54.56.58.60.62.64は“列
”580ヘスイソチされ、CAMミスを惹起したメモリ
アクセスはリトライされる。 (582) 上記の如く、コンピュータ環境は第2図に示すような複
数の機能単位又はメモリ単位93a (それぞれ1つ又
は2つのボード上に位置するのが普通である)を含んで
いる。従って、リクエストされたメモリが特定のメモリ
単位93a上に位置するかどうかを判断し所与のメモリ
単位93a上にないメモリがそのメモリ単位93a間で
読み取ったり書込まれたりしないようにするためのシス
テムが提供される。この目標を達成するために、それぞ
れのCAMPhyAdr 74.76.78.80はボ
ードセレクトビットを備える。各ボードセレクトビット
912の値は各CAMミスに続く手続中に計算される。
各メモリ単位は、“ボードベース”の表示と特定メモリ
単位の大きさ(例えば、32又は64メカハイド)の表
示をストアする素子138を格納する。ボートベースと
サイズはパワーアップ時に各メモリ単位93a内にロー
ドされる。ボートベースはメモリ単位のスタートアドレ
スを表示する。メモリ単位のスタートアドレスとサイズ
からそのメモリ単位上に位置するアドレスの範囲が判断
できる。CAMミスに続き手続中にリクエストされたア
ドレスがコンパレータ146を用いてメモリ単位上のア
ドレスレンジと比較され、リクエストされたアドレスが
そのメモリ単位上にあるかどうかを示すボードセレクト
インデイケータ148がつくりだされる。ボードセレク
トインデイケータ148は対応するCAMPhyAdr
 74.76.78.80内にボードセレクトビット9
12としてストアされる。ライト処理中、もしヒントが
存在したCAMPhyAdr 74.76.78.80
に対するボードセレクトビット912がそのメモリ単位
上にアドレスが存在しないことを表示するならば、列ア
ドレスストローブはアサートされず、かくしてそのメモ
リ単位に対する書込みは防止される。リード処理中、も
しヒントが存在したCAMPhyAdr 74.76.
78.80内のボードセレクトビット912がそのメモ
リ単位上にリクエストされたメモリが存在しないことを
示せば、MBMOP状態マシーン114は、ボード出力
イネーブルロジック150を用いて、データがメモリ単
位出力バス124を経て伝送されることを防止とする。
さて、第6図について述べると、第2図に示すようなダ
イナミックメモリのリフレッシュ中に使用される手続が
示されている。リフレッシュは「バースト」方式で行わ
れる。本スキームでは、所与のりフレッシュサイクル中
に1つのメモリブロックがリフレッシュされる。リフレ
ッシュされるブロックの大きさとリフレッシュサイクル
間の遅れが、個々のメモリエレメントにつき平均して必
要とされるリフレッシュ頻度を提供するために選択され
る。リフレッシュはRASアサーションタイム仕様(即
ち、FPDRAMメーカがRASが安全に連絡してアサ
ート可能な最大時間として指定する時間)と調和するよ
うにタイミングをとることが望ましい。リフレッシュサ
イクル又はバーストは、可能な場合には、RASアサー
ションに対するメモリメーカにより指定された最大時間
がほぼ経過するまで遅らせることが望ましい。このよう
にして、メモリリフレッシュはダイナミックメモリリフ
レッシュの所要頻度と合致するだけでなく、最大RAS
アサーション仕様とも一致するように使用することがで
きる。
リフレッシュメモリ全体について行われる。メモリリフ
レッシュの後には以下に説明するようにバンク毎に行わ
れるRAS復帰が行われる。次に、RAS復帰の順序が
バンクA1バンクB、バンクDおよびバンクC(即ち、
グレイコードによる)ような望ましいスキームのリフレ
ッシュを説明する。他のりフレッシュ順序も当業者に明
らかな如く可能である。
第6図について述べると、初期のリフレッシュ処理中、
CAS、RASの信号は全てアサーションを解除される
。次に、4行のDRAM30が全てリフレッシュされる
。例えば4又は8という具合に幾つかのりフレッシュサ
イクルを使用することが望ましい。
リフレッシュ処理の最終部分では、RAS復帰がバンク
毎に行われる。RASのアサーション解除についてはメ
モリバンクAが選択され(610)、同時に行/列マル
チプレクサ54.56.58.60.62.64が「行
」にスイッチされる。
(612)第1のCAMPhyAdrレジスタ74内に
存在する行アドレスはCAMミス574.576に関し
て上記したものと類似の方法で行アドレスバス166上
を発送される。次に、RASは第1のメモリバンク32
に再びアサートされ(618)、CAMミス578に関
連して上記したように、第1のアドレスラッチ42内に
以前存在したものと同一の行アドレスを行アドレスラッ
チ618内へ逆ロードさせる。
カくシて、第1のメモリバンク32のリフレッシュに続
いて行アドレスラッチ42はリフレッシュ前と同一の構
成になり、従ってその第1 CAMPhyAdrレジス
タ74と第1のCAMTagレジスタ94に対する対応
関係を維持することになることが判る。
RASのアサーションに続いて、バンク選択はバンクB
に増分され(620)、このバンクに対してRAS復帰
が完了する。(622)バンクB、D、Cに対するリフ
レッシュは、また行アドレスラッチ44.48.46 
、CAMPhyAdrレジスタ76.80.78および
CAMTagレジスタ96.100.98をリフレッシ
ュ以前とほぼ同一の状態に残すことになろう。かくして
、リフレッシュサイルの完了後にメモリのアクセスは、
リフレッシュサイクル前に構築されていたCAMPhy
Adrレジスタ74.76.78.80 、CAMTa
gレジスタ94.96.98.100と行アドレスラッ
チ42.44.46.48の内容に固有の局部的構造と
情報を十分に活用してリフレッシュ前と同一の形で継続
することができる。
幾つかのコンピュータ処理、主として診断ならびにエラ
ー回復処理では、PTCエントリテーブルの内容を読取
ることが望ましい。このことが望ましい場合には、デー
タをPTCエントリテーブルからデータ出力バス124
へ転送するためのデータ通路を設ける。このデータ通路
はPTCエントリテーブル92からPhyAdパス14
2に沿って、ゲート170を経てRqDataバス82
の一部へ、更にマルチプレクサ174.176を経て搬
送するたそのPTCエントリバス172へ、出力レジス
タ116へ、また最終的に出力データレジスタ122と
データバス124へ至る。
上記したようなメモリ単位の動作は大部分、MEMOP
状態マシーン114、受信状態マシーン112、および
リフレッシュ状態マシーン115の3つの状態マシーン
112により制御される。
各状態マシーンは他とは幾分独立して動作する。
但し、以下に述べるように、幾つかの状態マシーンの状
態は他の状態マシーンの特定状態と調節され、一つの状
態マシーンの一定の状態遷移はもう一つの状態マシーン
の状況に依存する。
以下において、状態マシーンの動作を状態ダイアグラム
に関して説明する。状態ダイアグラムでは実線のボック
ス形の要素は状態マシーンの状態を表わす。矢印を有す
る実線は現在状態から次の状態への遷移を示す。点線の
矢印を有する点線ボックスは、実線の矢印で終了し、指
示された遷移が生ずるために充たされなければならない
条件を示す。−条件を有するアステリスク(*)は論理
“否定”を示す。RqOpは“リクエストされた処理”
を示す。“V”は論理“和”を示す。アンバーサンド(
δ)は論理“積”を示す。“〈〉”記号は“不等号”を
示す。
MEOP状態マシン114はメモリに対する非リフレッ
シュアクセスの全てとPTCエントリテーブルのアクセ
ス全体を取扱う。いったんリクエストが受容されられる
と、MEMOP状態マシーン114のロジックはリクエ
ストを解説して制御信号をCASとRASの制御PAL
 (プログラマブルアレイロジック)(図示せず)に送
り、何時、メモリアレイ30に対する信号をストローブ
すべきかを示す。更に、MEOP状態マシーン114は
受信インターフェイス(図示せず)にメモリ30から読
取られたデータが何時ステージングレジスタ122内ヘ
ロードする準備が整うかを示し、CAMPhyAdr 
74.76.78.80に対して何時、PTCエントリ
テーブル92からのデータがCAMPhyAdr更新の
ためにロードされる態勢にあるかを示す。MEMOP状
態マシーン114はメモリリフレッシュのためのリクエ
ストと外部リクエストからのメモリアクセスのリクエス
トを調停する。MEMOP状態マシーン114はスター
ト又はアドレス状態710の場合にのみ動作を停止する
。(第7図) 第7図について述べると、MEMOP状態マシーン11
4は周期して(7M) 、(1)MEMOP状態マシー
ンかまだMEMOP状態マシーンが既に競合処理と係わ
りあっている時やMEMOP状態マシーンの処理の開始
が列の状態マシーンの処理と競合する時や、(2)リク
エストされた処理が診断書込み(RqOp=Diag 
Write)のためである時の如く、新たな処理(Me
mOpRdy“=真で示される)を開始する準備が整っ
ていない限り、スタート状態710にとどまることにな
ろう。MEMOP状態マシーンはリフレッシュサイクル
(以下に述べる)中、スタート状態710内にとどまる
ことになろつ。
アイドル又はスタート状態710から、MEMOP状L
Qマシーンi14は4つの状態のうちの一つの遷移を経
験することができる。CAMヒツトを有するメモリリー
ドリクエストでは、初期遷移はMEMRdl状態に対し
て行われる。CAMヒツトを有するメモリライドリクエ
ストの場合、初期遷移はNEMWrl状8714に対し
て行われる。
PTC書込みリクエストの場合、初期遷移はPTCWr
l状態716に対して行われる。第4の状態、PTCR
d 1718は、CAMミス、PTCリードリクエスト
、又は診断リードリクエストに関して使用される。
これらの4つの初期状態の何れに対する遷移もMEMO
P状態マシーン114がレディである(即ちMemop
Rdy = true)ことを必要とする。
MEMOP状態マシーン114のCAMヒツトを有する
リードリクエスト中の動作は、第3図に関して上記した
メモリ処理に全体として対応するものである。第7図に
示すように、受けたリクエストがリードリクエスト(即
ち、RqOp = MemRead)であり、4個のコ
ンパレータ102.104.106.108のうちの一
つからのCAMヒント表示(即ち、A+nyCAM旧f
 =true)  720である場合、MEMOP 1
14は状態MEMRd1712へ進入する。M E M
 Rdl中、DRAM中のデータの探索が開始される。
インクリメンタ88a、88bの係合後、CASがアサ
ートされる。その後、MEMOP 114は状態MEM
Rd2 222への遷移を経験する。この状態中、メモ
リリードアクセスの最初のサイクルは完了する。即ち、
第1群の4ワードがMEMRdレジスタ116に転送さ
れる。MEMRd2からの転送は幾つかの要素に依存す
る。もし受信マシーンがアイドル状態でなければ(信号
Rcvldle” =“true”で戻される。724
)MEMOPマシーンは1サイクルの間、MemRd2
内にとどまることになろう。信号MemRd2RはME
MOP114が最初のサイクル中MemRd2状態にあ
ることを示す。次のサイクル(MemRd2R= tr
ue)では、もしRcvldle ”が依然具であれば
(726)、MEMOP 114はスタート状B710
に復帰し再び読取りを試みることになろう。
もし受信マシーン112がアイドル(RcνIdle=
 true)ならば、MemRd2からの遷移はどのタ
イプのリードリクエストが行われたかによる。“リード
2″と称するリードリクエストの第1の型は、2ワード
の転送をもたらす。“リード8”と称される第2のタイ
プのリードリクエストは、8個までのワードをリクエス
タに転送する。リード8はキャシュフィル動作)関連し
て使用されるのが普通である。もしリクエストがリード
2動作に対するものであれば、これはRqOp < 3
 > = true 728により示されることになろ
う。この場合、MemRd2722はスタート状871
0に対する遷移を蒙ることになろう。もしリクエストが
リード8 (RqOp< 3 >” =true)に対
するものであれば、遷移は“プリチャージ”状態734
は対するものである。
この状態はCASがアサーション解除される一方、メモ
リに対するアドレスが新たな値に落着く中間状態である
。プリチャージ734はMemRd3736への遷移を
経験する。MemRd3.736中、CASはリードデ
ータの第2の半分のアクセスのためにアサートされる。
MemRd3.736はMemRd4.738への遷移
を経験して第2群の4ワード(即ちり−トデータの第2
の半分)の転送を完了する。
MemRd4.738はスタート状態710への遷移を
経験する。
MEOPマシーン114の第2の処理はデータのメモリ
への書込みを伴る。この状態マシーンの処理は全体とし
て第4図に関して上記した手続に対応する。スタート状
態710から、MEMOP114はCAMヒツト742
を有するメモリライドリクエスト(RqOp = Me
mWri te)が存在する場合、MemWrl  7
14への遷移を経験することになろう。
MemWrl  714中、ライトイネーブル信号が全
DRAMに対してアサートされる。CAS信号はDRA
Mに対するアドレスが落着く間はアサートされない。M
emWrl状態714からMEMOP114はMemW
r2 744への遷移を経験する。この状態の間、メモ
リのライト処理が完了する。ライトイネーブルは全DR
AMに対してアサート状態にとどまり、CASがアサー
トされる。MemWr2状態744からの遷移は第2の
ライドリクエストが係属中であるかどうによる。CAM
ヒツトが存在しない場合、又はMEMOPがレディでな
い場合、又は係属するライドリクエスト(RqoP< 
>MemWrite)746が存在しなければ、Mem
Wr2.444はスタート状態710への遷移を経験す
る。もしCAMヒツトが存在し、MEMOP 114が
レディであり、係属するライドリクエスト(RqoP 
= MemWri te)748であれば、MemWr
2はMemWrl 714への遷移を経験する。
MEMOP 114の第3の処理は、PTCエントリ9
2が更新される場合のように、PTCエントリ92に対
する書込みの要求である。第7図に示すように、MEM
OP 114は、もしPTCライドリクエスト(Rqo
P=PTCWrite)  752が存在していればP
TCWrl  716への遷移を経験することになろう
。その後、MEMOP 114は逐次的に状態PTCW
r2.754、PTCWr3.756、PTCWr4.
758、およびP T CWr5.762への遷移を必
ず経験することになろう。その直後、MEMOP 11
4はスタート状態710へ復’3Mすることになろう。
PTCWrlでは、CAMはサイクルの終りに無効化さ
れる。PTCライトイネーブルはこのサイクル中にアク
ティブになる。
PTCWr2.754中、PTCライトイネーブルは不
活動になる。PTCWr3.756中、PTCアドレス
はバンクOからバンク1へ変化することによって、第2
のバンク92bはPTCWr4.758とPTCWr5
.762中にライトデータと共に書込まれるようになっ
ている。P T CWr4.758中、PTCライトイ
ネーブルはアクティブになり、PTCWr5.762中
にPTCライトイネーブルは不活動になる。
MEMOP 114の最終動作は、第5図に略示するよ
うにCAMミス(AnyCAMIli t ”とRqO
p<0〉)中に発生するか、PTCリードリクエスト(
RqOp = PTCRd)又は診断リードリクエスト
(RqOp= DiagRd)中に発生する。これらの
条件764の何れの下においても、第7図に示すように
、MEMOPa態?’z−7114のPTCRdl、7
18への遷移が存在する。MEMOP 114は、PT
CRd2.768とPTCRd3.772への継起的遷
移を経験する。解説の実施例では、PTCアクセスは相
対的に低速である。その理由は大部分、PTCエントリ
素子92が低速のアクセス素子であるからである。従っ
て、アクセスを完了するために3つのサイクル718.
768.772だ必要である。然しなから、CAMミス
は全てのメモリアクセスについては生じないから、かか
る特性の低速アクセスは深刻に全体性能を低下させるこ
とはない。
もしリクエストがPTCリードリクエストもしくは診断
リードリクエスト766の何れかであったら、MEMO
P l 14はPTCRd3からスタート状態710へ
の遷移を経験することになろう。
CAMミス774の場合には、PTCRd3.772は
PTCRd4.776への遷移を経験する。
PTCRdl中、PTCバクティエラーがチエツクされ
る。もしパリティエラー778が存在しなければ、PT
CRd4.776はスタート状態710への遷移を経験
することになろう。もしPTCバンク0、機能単位の7
82  (MUOPTCParErr又はMtllPT
CParErr)内にPTCパリティエラーが存在し、
処理がリード2、リード8、ライト1、又はライト2の
処理(RqOp = 0OXX) テあり、PTC’7
レイがバイパスされない(ボートテスト中に主として用
いられるPTCArrayBypass)ならば、PT
Cのバンク1に対するアクセスが試みられることになろ
う。バンク1のアクセスは3つのサイクル、即ちPTC
Rd5.784、PTCRd6.786、およびPTC
Rd7.788中に生ずる。
受信状態マシーン112はメモリボードから選択レジス
タへのリードデータの転送を取扱う。それはリードデー
タ通路に沿うRDDa ta レジスタ122のロード
を制御する。同時にメモリリード中にECC補正112
のためのワードをも選択する。受信状態マシーンI ]
、 2は、リード2タイプとリード8タイプの2つのタ
イプの処理を備える。
リード2の処理は2ワードを転送する間、リード8処理
は8ワードまでをレジスタへ転送復帰させる。受信状態
マシーン112は、もしMemRdレジスタ116がロ
ードされていない場合(LdMemRdLo”)や処理
がリード8処理(RqOp=Read 8)であれば、
Men+Rd レジスタ116内のデータがまだ妥当で
ある(MemRDVld” )と表示されていない場合
、アイドル状態792内に残ることになろう。
リード2処理(RqOp=Read 8で示される)中
、受信マシーン112は有効データがMEMOP114
状態マシーンによりMemRd レジスタ116の0:
1内にロードされた時(Mea+RDVld = tr
ue又はLDMe+1RdLo =true)  79
6にアイドル状Li792からECCRd2.794へ
の遷移を経験することになろう。ECCRd2.794
状態では、受信状態マシーン112はECC補正を実行
している。
ECCRd2.794はTRd2.798への遷移を経
験している。TRd2状態798において、上記の如き
Mea+Rd2、PTCリード、又は診断リードに従っ
て得られるデータはりクエスタに転送される。
受信状態マシーン112はRcvとLRcvがアサート
されない限り(Rcv” and LRcv” =tr
ue)  802とこの状態798にとどまる。Rev
はレシーバがデータの受領を開始中であることを示す。
LRcvはレシーバがリクエストされたデータの最後の
部分の受領を開始中であることを示す。LRcv又はR
cvの何れかが真であるとき(804) 、マシーンは
アイドル状態792への遷移を経験する。
リード8処理の場合、受信状態マシーン112は、リー
ド8リクエストが係属中(RqOp = Read 8
 )であり、MEMRd レジスタ116のOat内に
有効データが存在する場合(即ちMe+aRDV1d 
= true、806)アイドル状B792からECC
Rd808への遷移を経験することになろう。ECCR
d8.808では、受信マシーン112はMEMRd1
16の0:1内でECC補正とデータに対するチエツク
を実行する。リードデータのりクエスタへの転送は、録
音語データの4つの転送によって発生する。これらの4
つの転送は、それぞれ、状態TI、810、T2,81
2、T3.814、およびT4.814中に発生する。
これら4つの状態T1、T2、T3、T4の各々におい
て状態マシーンはRcv又はLRcvの何れもアーサー
トされない限り(818,822,824,242)そ
れぞれの状態にとどまることになろう。T1、T2、T
3、又はT4 826.828.832.844中にL
Rcvがアサートされることによって、アイドル状態7
92への即座の遷移が起ることになろう。T1、T2、
又はT3の状態834.836.838中にRcvがア
サートされる時、受信マシーン112は次の継起する状
態への遷移を経験することになろう。いったんマシーン
112が状lT4 816に達すると、それはりクエス
タがRcv又はLRcv844をアサートするまでこの
状態842で待機することになろう。その後、受信状態
マシーン112はアイドル状態792への遷移を経験す
ることになろう。
その状態が第9図に示されるリフレッシュ状態マシーン
115は、2つの任務を達成する。まづ、リフレッシュ
状態マシーン115はDRAMアレイのRASとCAS
制御装置を制御する。このモードではリフレッシュ状態
マシーンはMEMOP状Bマシーン114の制御下にあ
る。リフレッシュ状態マシーンの第2の任務はDRAM
のRASリフレッシュ前にCASのリフレッシュを処理
することである。このモードの場合、リフレッシュ状態
マシーンはRASとCASの信号を制御する。
256と4096 (256サイクルの倍数)の間の走
査可能なリセット値を有する12ビットのカウントダウ
ンカウンタ(図示せず)はそれがロールオ、−バする毎
に一つのリフレッシュリクエストをトリガする。かかる
リクエストによってリフレッシュマシーンはアイドル状
B852に復帰するに先立ち、RASリフレッシュ前に
4又は8個のCASを経て選択的にリサイクルする。リ
フレッシュマシーン115がアイドル状態でない場合、
メモリリクエストは処理することができない。かくして
、MEMOPマシーン114をリフレッシュマシーン1
15間にはハンドシェイク信号が存在し、2つのマシー
ンのうちの一つは常にアイドル状態となるようになって
いる。
“Refresh Go” 854と称されるリフレッ
シュサイクルを開始する信号が、リフレッシュカウンタ
が、リフレッシュサイクルが必要であることを示す場合
と、MEMOP状態マシーン114からの適当なハンド
シェークプロトコル後に発せられる。この信号が発せら
れる(853)まで、リフレッシュ状態マシーン115
はアイドル状態852にとどまる。リフレッシュゴー信
号854によって休止状態856への遷移がひきおこさ
れる。休止856中、全てのRAS、およびCASライ
ンはアサーションを解除される。次に、リフレッシュ状
態マシーンは状態Rfshl  85 B 、Rfsh
2862、Rfsh3864、Rfsh4 866、お
よびRfsh5868内を巡回する。
状態Rfshl −Rfsh5内をめぐるループの数は
RfshRowCtrにより追跡する。マシンは第9図
に示すように4つのリフレッシュ、又は8つのリフレッ
シュ内を巡回する。以下の解説は4サイクルオプシヨン
に関する。当業者には明らかであるが、8サイクルのス
キーマは、Rfsh5872.874に対する条件が3
ではなく7にセットされている点を除けば、同様であろ
う。各ループにおいて、RASとCASはRfshl 
 85 B中にアサートを解除され、Rfsh2826
中にCASがアサートされRASがアサートを解除され
、RASとCASはRfsh3864、Rfsh486
6およびRfsh5868中に共にアサートされる。
最後のループ874に続いて、Rfsh5868が待機
状態876への遷移を経験する。もしランモード信号が
アサートを解除されると(RunMode” =tru
e) 、もしRefresh Goがアサートを解除さ
れると(87B)待機状態に残るか、Refresh 
Goがアサートされる(882)とRfsh 1状態8
58に戻ることになろう。ランモードは−たん開始され
た処理が完了したことを示すために使用される。待機状
B876によってアドレスラッチタイムが第1のブロッ
クの行アドレスに対してそれ自身を分解することができ
るため、RASが(RASRestore892中に)
再びアサートされた時、DRAM素子のラッチはCam
PhyAdrおよびCAMTagレジスタが有している
ことを示す情報を含むようになっている。ランモードが
アサートされると(884)、待機状態に続いて、ラッ
チ状態886の遷移が存在する。ラッチ状態886はア
ドレスラインを駆動するためのアドレスラッチのセット
アンプタイムを提供することによって(:AMTagレ
ジスタ92.94.96.98とCAMPhyAdrレ
ジスタ72.74.76.78は再び有効にされる。
ランチ状態86に続いて、RAS再帰状態892への遷
移が存在する。RASの復帰中(892)、RASはメ
モリ32.34.36.38の一つに対してアサートさ
れる結果、4つの行アドレスラッチ42.44.46.
48の一つが再びロードされる。ラッチRAS再帰サイ
クルは4回繰返される。同回数はRfshRowCtr
894によりカンウドされ、各々の行アドレスラッチに
対して一回ずつカウントされる。
本発明の一連の変形例も同様にして使用可能である。当
業者には明らかな如く、本文中に述べた一定の思想は他
の思想とは独立に又はそれと種々に組合わせて使用する
ことができる。メモリはステデイツク列モードDRAM
の如き高速ページモード以外の形で設けることができ、
4メモリブロツク以下又は以下により構成することがで
きる。
全体としてメモリブロック(それぞれ対応するCAMT
agとCAMPhyAdrを有する)の数が大きい方が
スラッシングを回避もしくは減少させるうえで有効であ
るがより複雑で高価なハードウェアとソフトウェアが必
要になる。CAMTagとメモリ間のマツピングはダイ
レクトマツピング、セットアソシアティブマツピング又
はフルアソシアティブマフピングとすることができる。
本発明は他のメモリ階層のコンテキストで使用すること
ができ、キャシュフィルを実行するために読取りが行わ
れる状況に限定されるものではない0本発明は、何らメ
モリ階層を有せず単一レベルのメモリのアクセスを有す
るシステム中でも使用することができる。本発明は以上
のもの以外のメモリサイズとアドレス幅と共に使用する
ことができる。本発明は参照式4ウエイ疑似インターリ
ーブ以外のインターリーブシステムと共に、又はインタ
ーリーブシステムを全く有せずに使用することができる
。本発明の若干の実施例では、CAMTagミスが第1
F図に示すようにアドレスリクエストの対応部分と共に
CAMTag内にストアされる列ビットが同一でないこ
とによってのみひきおこされる場合、CAMTagミス
に続く行アドレスラッチを更新することを回避すること
ができる。
第5図について述べると、仮想−物理間の変換が不要で
ある場合に生ずる時間の節約を活用するために遅れ56
2を排除することができる。例えば、第3図の324、
又は第4図の424に図示するようにどのバンクに対し
てCASがアサートしようとしているかを判断するステ
ップを開始することによってメモリアクセス582をリ
トライせずにRAS 57 Bを再びアサートしマルチ
プレクサ580を切換えた直後にリード/ライト処理を
開始することができる。6個の列7行マルチプレクサは
全て“行”572にスイッチされるけれども、必要とさ
れる行/列のマルチプレクサのみを切替えて新たな行ア
ドレスを選択した行アドレスラッチ内ヘロードすること
ができる。
リフレッシュサイクルは局部情報を保存するけれども、
リフレッシュに続いてメモリシステムを再度初期化する
ことが可能である。
本発明ではRASがアサートされる時間の割合が大きい
ために電力消費量は若干大きくなる。そのため大きな割
合の時間についてRASをアサート解除して、効率は落
ちるが電力消費量を減少することができる。
【図面の簡単な説明】
第1A図〜H図は、本発明のメモリシステムの筒路線図
、 第2図は、第2A〜2D図の構成図、第2A〜2D図は
、制御バスではなくデータバスを示す本発明のメモリシ
ステムの概略ブロック線図、第3図は本発明によるCA
Mヒツトを有するメモリリード処理のフロー線図、 第4図は本発明によるCAMヒツトを有するメモリライ
ト処理のフロー線図、 第5図は本発明によるCAMミスを有するメモリリード
処理のフロー線図、 第6図は本発明によるDRAMリフレッシュサイクルの
フロー線図、 第7図はMEOP状態マシーン状態線図、第8図は受信
状態マシーンの状態線図、第9図はりフレッシュ状態マ
シーンの状態線図、第10A図は仮想アドレスの概略線
図、第10B図は物理アドレスの概略線図、第1OC図
はRAMにより使用されるアドレスの概略線図、 第11A図はCAMTagレジスタ内にストアされるビ
ット形成の図、 第11B図はCAMPhyAdrレジスタ内にストアさ
れるビット形成図、 第12図は分散エントリとタグアレイを有するPTCの
概略ブロック線図。 2・・・セグメントアドレス、4・・・ページアドレス
、5・・・ワードアドレス、6・・・物理ページアドレ
ス、4・・・行アドレスラッチ、11・・・コンパレー
タ。 手 続 補 正 書(方式) %式% 1、事件の表示 平成2年特許願第176093号 2、発明の名称 コンピュータメモリシステム 3、補正をする者 5、補正命令の日付 平成2年9月25日 願書に最初に添付した明細書及び図面の浄書・別紙のと
おり (内容に変更なし)

Claims (20)

    【特許請求の範囲】
  1. (1)複数の仮想アドレス又は物理アドレスのリクエス
    トを受信可能なコンピュータメモリシステムにおいて、
    その全てが共通の物理行アドレスを有する複数のメモリ
    ・ロケーションを指示することの可能な行アドレスラッ
    チを少なくとも一つ備える行列アドレス指定可能なラン
    ダムアクセスメモリと、上記複数のアドレスリクエスト
    のうち少なくとも第1と第2リクエスト中に上記共通の
    物理行アドレスに対応する1つの行アドレスの少なくと
    も一部をストアする少なくとも第1のレジスタで、その
    内容が、一つの仮想アドレスの少なくとも一部と一つの
    物理アドレスの少なくとも一部より成る群より選択され
    るものと、一つのアドレスリクエストの少なくとも一部
    を上記第1のレジスタの少なくとも一部と比較して上記
    アドレスリクエストにより指示されるメモリロケーショ
    ンが上記複数のメモリロケーション内に含まれるかどう
    かを判断するためのコンパレータと、から成る前記コン
    ピュータメモリ。
  2. (2)更に、上記共通物理行アドレスの少なくとも一部
    をストアするための少なくとも第2のメモリレジスタを
    備える請求項1のメモリ装置。
  3. (3)上記ランダムアクセスメモリが複数の行アドレス
    ラッチを備え、上記複数の行アドレスラッチの各々が一
    つの物理アドレスと一つの仮想アドレスとより成る群か
    ら選択される一つの行アドレスをストアするためのレジ
    スタと関連する請求項1のメモリ装置。
  4. (4)上記メモリ装置が少なくとも2つの機能単位を備
    え、少なくとも一つの機能単位がリクエストされたアド
    レスが上記一つの機能単位上に存在するかどうかを判断
    するための手段を備える請求項1のメモリ装置。
  5. (5)少なくとも第1と第2の仮想もしくは物理アドレ
    スリクエストを受信可能なコンピュータメモリ装置にお
    いて、 上記仮想アドレスリクエストと物理アドレスリクエスト
    どうしを識別するための手段と、第1のデジタルビット
    をセットして上記第1のアドレスリクエストが仮想的又
    は物理的なものであるかどうかを指示するために第1の
    デジタルビットをセットするための手段と、 より成る前記メモリ装置。
  6. (6)更に、第2のデジタルビットをセットして上記第
    2のアドレスリクエストが仮想的又は物理的なものであ
    るかを表示するための手段と、上記第2のデジタルビッ
    トを上記第1のデジタルビットと比較するためのコンパ
    レータと、を備える請求項5のメモリ装置。
  7. (7)順次的な複数のメモリアドレスリクエストに呼応
    して第1の複数のメモリ素子を有するアレイ内のメモリ
    素子にアドレスするメモリ装置で、上記メモリアドレス
    リクエストの少なくとも一つが上記第1の複数のメモリ
    素子の少なくとも一つとの対応関係を有するようになっ
    たものにおいて、 それぞれが第1の行アドレスビット群と第2の列アドレ
    スビット群とを備える1アドレスを有するメモリ素子の
    アレイと、上記第2のアドレスビット群よりも少ない第
    3の列ビット群を備える1アドレスを有するメモリ素子
    をアクセスする際に使用される第3の列アドレスビット
    群を保持する第1のアドレスレジスタ手段と、第4の列
    アドレスビット群を用いて上記第2のアトレスビット群
    よりも少ない数の第4の列アドレスビット群を備える1
    アドレスを有するメモリ素子にアクセスする際に使用さ
    れる第2の手段と、 上記順次の複数メモリアドレスリクエストの各々から上
    記第1のアドレスレジスタへ上記第3のアドレスビット
    群と等しい数のビットを提供する第3の手段と、 上記順次の複数メモリアドレスリクエストのうちの少な
    くとも2つのリクエスト中に上記第4の別ビット群を上
    記第2の手段内に連続して維持する第4の手段と、 上記第1のアドレスレジスタ手段内の上記第3の列アド
    レスビットと、上記第2手段内の上記第4の列アトレス
    ビット群を使用して上記第1の複数のメモリ素子のうち
    の少なくとも一つをアクセスするための第5の手段と、 から成る前記メモリ装置。
  8. (8)上記メモリ素子のアレイが更に第2の複数のメモ
    リ素子を指示可能な少なくとも第1の行アトレスラッチ
    を備え、上記第2の複数のメモリ素子が上記第1の複数
    のメモリ素子の少なくとも幾つかを備え、上記第1の行
    アドレスラッチが少なくとも第1の条件が生ずるまで上
    記第2の複数のメモリ素子を連続的に指示し、上記第1
    の条件が、少なくとも上記複数のメモリアドレスリクエ
    ストのうちの一つが上記第2の複数メモリ素子と何らの
    対応関係を持たない場合に発生し、 上記維持手段が上記第4の列ビット群を少なくとも上記
    第1の条件が発生するまで上記第2の手段内に維持する
    ための手段を備える、請求項7のメモリ装置。
  9. (9)複数のメモリ素子が一つの行アドレスと一つの列
    アドレスによりアドレス指定され、アドレス指定可能な
    複数の上記メモリ素子を指示可能な少なくとも1つのロ
    ード可能な行アドレスラッチを備えるメモリアレイと、 上記第1の行アドレスラッチにより保持される複数のメ
    モリ素子を指示するに十分なビット数を含み、複数のビ
    ットを保持するための少なくとも第1の指示レジスタと
    、 少なくとも上記複数のメモリ素子の幾らかをリフレッシ
    ュするための手段で、上記リフレッシュが上記第1の行
    アドレスの内容を変更することを伴うようになったもの
    と、 上記リフレッシュに続いて、上記第1のロード可能な行
    アトレスラッチに上記第1の指示レジスタの内容中に指
    示されるメモリ素子を示す1アドレスをロードする手段
    で、上記第1の行アドレスラッチと第1の指示レジスタ
    の内容が上記リフレッシュの前後において実質上同一で
    あるようなものと、 から成るメモリリフレッシュ装置。
  10. (10)上記第1の指示レジスタが上記第1の行アドレ
    スラッチにより指示される上記メモリアレイの少なくと
    も1列を指定する物理アドレスを保持する請求項中の装
    置において、更に、物理アドレスと仮想アドレスより成
    る群から選択された上記第1の行アトレスラッチにより
    指示される複数のメモリ素子を指定する1アドレスを保
    持する第1の仮想/物理レジスタを備え、上記第1の仮
    想/物理レジスタの内容が上記リフレッシュの前後にお
    いて実質上同一である前記装置。
  11. (11)上記メモリアレイが第2、第3、第4のロード
    可能な行アドレスラッチを含む請求項9の装置において
    、更に、 複数のビット数を保持し、それぞれ上記第2、第3、第
    4の行アドレスラッチにより指示される複数のメモリ素
    子を指示するに十分なビット数を備える第2、第3、第
    4の指示レジスタで、上記第2、第3、第4の指示レジ
    スタと上記第2、第3、第4の行アドレスラッチの内容
    が上記リフレッシュの前後で実質上同一であるものと、
    から成る前記装置。
  12. (12)高速のページランダムアクセス列行編成のメモ
    リで、第1と第2、第3、第4のアドレスラッチを含み
    、1アドレスを保持する各行ラッチが上記メモリの一列
    を指名することによって上記行中のメモリの内容がCA
    S信号をストローブすることによって高速にアクセスで
    きるようにし、上記行が1行アドレスにより指定可能で
    あり、上記メモリアレイ内の各素子が少なくとも10個
    の行アドレスビットと少なくとも10個の列アドレスビ
    ットを備えるようになったものと、 上記行アドレスラッチの一つにより指示される1行内の
    メモリ素子をアクセスする際に使用可能な少なくとも8
    個の列アドレスを保持する第1のアドレスレジスタと、 上記行アドレスラッチの少なくとも一つのメモリ素子を
    アクセスする際に使用可能な少なくとも2個の列アドレ
    スビットを保持する第1の手段と、 順次の複数リクエストメモリ素子のリクエストアドレス
    を備えるビットを保持するメモリリクエストレジスタで
    、上記リクエストされたアドレスが、物理アドレスと仮
    想アドレスより成る群から選択されるものと、 上記メモリリクエストレジスタ内の上記順次の複数メモ
    リアドレスリクエストの各々から上記第1のアドレスレ
    ジスタへ8個の列アドレスビットを提供する手段と、 上記第1と第2と、第3、第4の行アドレスラッチによ
    り保持される行に対応する行アドレスをそれぞれ保持す
    る第1、第2と、第3、および第4の仮想/物理行アド
    レスレジスタで、上記行アドレスが物理アドレスと仮想
    アドレスより成る群から選択されるようになったものと
    、それぞれが上記第1と第2、第3、第4の行アドレス
    ラッチにより指示される行に対応する物理行アドレスを
    保持すると共に、上記2個のコウムアドレスビットを備
    える一つの列アドレスを有するメモリ素子をアクセスす
    る際に使用可能な列アドレスに対応する少なくとも2個
    の列アドレスビットを保持する第1、第2、第3、第4
    の物理アドレスレジスタと、 上記メモリリクエストレジスタ内のアドレスからの少な
    くとも第1の複数ビットを上記第1、第2、第3、およ
    び第4の仮想/物理アドレスレジスタの各々の内容と比
    較し、上記第1、第2、第3、又は第4の仮想/物理ア
    ドレスレジスタの少なくとも一つの内容が上記第1の複
    数ビットと同一である場合に第1の信号を発生し、上記
    第1、第2、第3、又は第4の仮想/物理アドレスレジ
    スタの何れの内容も上記第1の複数ビットと同一ではな
    い時に第2の信号を発生するコンパレータ手段と、 上記複数のメモリアドレスリクエストのうち少なくとも
    2つのリクエスト中に上記第1の手段中の2個の列ビッ
    トを上記第2の信号が生成するまで連続的に維持するた
    めの第3の手段と、上記第2の信号の発生後、上記第1
    、第2、第3又は第4の行アドレスラッチの少なくとも
    一つの内容を変更する第4の手段と、 上記メモリリクエストアドレスが仮想アドレスであるか
    物理アドレスであるかを判断し、少なくとも1ビットを
    上記メモリリクエストレジスタ内にセットして上記メモ
    リリクエストアドレスが仮想アドレス又は物理アドレス
    であるかを表示する第5の手段と、 から成るコンピュータメモリ装置。
  13. (13)複数の仮想アドレスの少なくとも一つを対応す
    る物理アドレスに変換する装置において、それぞれが仮
    想アドレスを物理アドレスに変換するデータを含む複数
    のエントリを備える第1のテーブルと、 複数のエントリを含む第2のテーブルと、 上記第1のテーブルに対して変更が行われた時は何時で
    もそれに対応する変化を上記第2のテーブルに対して施
    し上記第2のテーブルが上記第1のテーブルと実質上同
    一となるような手段と、 エラー条件を上記第1のテーブル内に発見する手段と、 上記第1のテーブルと第2のテーブルの一つを選択的に
    用いて仮想アドレスを物理アドレスに変換する手段と、 上記第2のテーブルを上記手段により使用すべく選択し
    、エラー状態が上記検出手段により検出された時に選択
    する手段と、 から成る前記装置。
  14. (14)それぞれが複数のメモリページをストアするた
    めの複数のメモリ機能単位と、 複数のページテーブルキャシュエントリアレイと少なく
    とも一つのページテーブルキャシュタグアレイを備え、 上記ページテーブルキャシュエントリアレイの各々が上
    記メモリ機能単位の一つと関連し、上記機能単位上に存
    在する物理アドレスをストアし、上記ページテーブルキ
    ャシュタグアレイが仮想アドレスの表示をストアし、そ
    れぞれの仮想アドレス表示がページテーブルエントリア
    レイ内にストアされる物理アドレスは対応し、上記第1
    のページテーブルキャシュタグアレイが上記複数のペー
    ジテーブルキャシュエントリアレイの第1のものの中に
    ストアされた物理アドレスに対応する仮想アドレスの少
    なくとも第1の表示と、上記複数のページテーブルエン
    トリアレイの第2のものの中にストアされた物理アドレ
    スに対応する仮想アドレスの第2の表示を含む、データ
    と命令をストアするためのコンピュータメモリ装置。
  15. (15)上記第1のページテーブルキャシュタグアレイ
    がデータを含むメモリロケーション用の仮想アドレスの
    表示をストアすると共に、更に命令を含むメモリロケー
    ション用の仮想アドレスの表示をストアする第2のペー
    ジテーブルキャシュタグアレイを備える請求項14のメ
    モリ装置。
  16. (16)少なくとも一つの行アドレスラッチを有する高
    速ページダイナミックランダムアクセスメモリを設け、 少なくとも第1の行アドレスラッチにより保持される行
    と対応する行アドレスの少なくとも一部を保持するため
    の少なくとも第1の仮想/物理アドレスレジスタを設け
    、 メモリリクエストアドレスから選択された少なくとも幾
    つかのビットを上記仮想/物理アドレスレジスタの内容
    と比較し、 上記選択されたビットが同一である場合に第1の信号を
    生成し、上記選択されたビットが同一でない場合に第2
    の信号を生成し、 上記第1の信号に続いて列アドレスストローブを上記行
    アドレスへアサートする、段階より成るメモリアクセス
    方法。
  17. (17)上記メモリアレイを設ける段階が複数の行アド
    レスラッチを設けることより成り、 上記仮想/物理アドレスレジスタを設ける段階がそれぞ
    れの行アドレスラッチにつき一つの仮想/物理アドレス
    レジスタを設けることより成り、 上記比較する段階が上記選択されたビットを上記複数の
    仮想/物理レジスタの各々の内容と比較して、上記仮想
    /物理レジスタの内容が上記選択されたビットと等しい
    場合に第3の信号を生成する段階より成り、更に上記第
    3の信号に呼応して少なくとも第1の行アドレスラッチ
    の内容変更する段階より成る、請求項16の方法。
  18. (18)メモリアレイ内のアドレス指定可能なメモリ素
    子にアクセスする方法において、 上記素子のアドレスと上記アドレスが仮想又は物理的な
    ものであるかどうかの表示を用いてメモリ素子をアクセ
    スする手段を設け、 メモリアドレスリクエストを受信し、 上記メモリアドレスリクエストが仮想的であるか物理的
    であるかを判断し、 少なくとも第1のビットをセットして上記メモリアドレ
    スリクエストが仮想的なものか物理的なものであるかを
    セットし、 メモリ素子をアクセスするための手段と、上記メモリア
    ドレスダクエストが仮想的なものであるか物理的なもの
    であるかどうかを示す上記ビットを用いてメモリ素子に
    アクセスする、段階より成る前記方法。
  19. (19)順次の複数メモリアクセスリクエストに呼応し
    てメモリアレイ内の複数のメモリ素子を順次アクセスす
    る方法において、 各々が第1の行ビット群と第2の列ビット群を備えてア
    ドレスを備えるメモリ素子のアレイを設け、 上記第2群よりも少ない数の第3群の列アドレスビット
    を備えるアドレスを有するメモリ素子をアクセスする際
    に使用される第3の列アドレスビット群を保持するため
    の第1のアドレスレジスタ手段を設け、 第4の列アドレスビット群を用いて上記第2群よりも少
    ない第4の列アドレスビット群を備えるアドレスを有す
    るメモリ要素にアクセスする際に使用するための第2の
    手段を設け、 上記第3群の数に等しい上記順次複数のメモリアドレス
    リクエストの各々からのビット数を上記第1のアドレス
    レジスタへ転送し、上記複数のメモリアドレスリクエス
    トの少なくとも2つのリクエスト中に上記第4群の列ア
    ドレスビットを上記手段内に継続的に維持し、 上記第1のアドレスレジスタ手段内の上記第3群のビッ
    トと上記第2の手段内の第4群のビットを用いてメモリ
    素子をアクセスする、段階より成る前記方法。
  20. (20)行アドレスと列アドレスによりアドレス指定可
    能な複数のメモリ素子より成るメモリアレイ内のメモリ
    素子をリフレッシュする方法において、 アドレス指定可能な複数のメモリ素子の内容な保持する
    ために第1のロード可能な行アドレスラッチを設け、 複数のビットを保持し、上記第1の行アドレスラッチに
    より保持される複数のメモリ素子を指示するに十分なビ
    ット数を含む少なくとも第1の指示レジスタを設け、 上記複数のメモリ素子の少なくとも幾つかをリフレッシ
    ュして上記第1のアドレスラッチの内容を変更し、 上記リフレッシュに続いて、上記第1のロード可能な行
    アトレスラッチを上記第1の指示レジスタの内容中のエ
    レメントをロードし、上記行アドレスラッチと第1の指
    示レジスタの内容が上記リフレッシュの前後で実質上同
    一となるようにする、段階より成る前記方法。
JP2176093A 1989-07-03 1990-07-03 コンピュータメモリシステム Expired - Lifetime JPH087718B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US375428 1982-05-06
US07/375,428 US5329629A (en) 1989-07-03 1989-07-03 Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access

Publications (2)

Publication Number Publication Date
JPH03135642A true JPH03135642A (ja) 1991-06-10
JPH087718B2 JPH087718B2 (ja) 1996-01-29

Family

ID=23480857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2176093A Expired - Lifetime JPH087718B2 (ja) 1989-07-03 1990-07-03 コンピュータメモリシステム

Country Status (6)

Country Link
US (1) US5329629A (ja)
EP (1) EP0407119B1 (ja)
JP (1) JPH087718B2 (ja)
AU (1) AU637616B2 (ja)
CA (1) CA2020275C (ja)
DE (1) DE69031411T2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619445A (en) * 1970-12-28 1997-04-08 Hyatt; Gilbert P. Analog memory system having a frequency domain transform processor
US5907512A (en) * 1989-08-14 1999-05-25 Micron Technology, Inc. Mask write enablement for memory devices which permits selective masked enablement of plural segments
US5535354A (en) * 1991-03-11 1996-07-09 Digital Equipment Corporation Method for addressing a block addressable memory using a gray code
US5410664A (en) * 1993-03-31 1995-04-25 Intel Corporation RAM addressing apparatus with lower power consumption and less noise generation
JPH0778106A (ja) * 1993-09-08 1995-03-20 Hitachi Ltd データ処理システム
MY112118A (en) * 1993-12-23 2001-04-30 Hitachi Global Storage Tech Netherlands B V System and method for skip-sector mapping in a data recording disk drive.
JPH07281948A (ja) * 1994-04-06 1995-10-27 Mitsubishi Electric Corp メモリ制御装置
US5506747A (en) * 1994-12-15 1996-04-09 Northern Telecom Limited Provision of FIFO buffer in RAM
US5765182A (en) * 1995-04-13 1998-06-09 Lsi Logic Corporation Interleaving memory on separate boards
US5617348A (en) * 1995-07-24 1997-04-01 Motorola Low power data translation circuit and method of operation
US6125425A (en) * 1996-03-29 2000-09-26 Intel Corporation Memory controller performing a mid transaction refresh and handling a suspend signal
JPH10240612A (ja) * 1997-02-27 1998-09-11 Canon Inc データ読出装置及び方法とそれを用いた印刷装置
US6173356B1 (en) * 1998-02-20 2001-01-09 Silicon Aquarius, Inc. Multi-port DRAM with integrated SRAM and systems and methods using the same
US6230237B1 (en) * 1998-09-09 2001-05-08 3Dfx Interactive, Inc. Content addressable memory with an internally-timed write operation
US6477598B1 (en) 2000-07-20 2002-11-05 Lsi Logic Corporation Memory controller arbitrating RAS, CAS and bank precharge signals
US6625685B1 (en) * 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6493814B2 (en) * 2001-03-08 2002-12-10 International Business Machines Corporation Reducing resource collisions associated with memory units in a multi-level hierarchy memory system
US7346746B2 (en) * 2002-04-26 2008-03-18 Infineon Technologies Aktiengesellschaft High performance architecture with shared memory
US7120068B2 (en) * 2002-07-29 2006-10-10 Micron Technology, Inc. Column/row redundancy architecture using latches programmed from a look up table
US6961280B1 (en) 2003-12-08 2005-11-01 Altera Corporation Techniques for implementing address recycling in memory circuits
US7225287B2 (en) * 2005-06-01 2007-05-29 Microsoft Corporation Scalable DMA remapping on a computer bus
US20070044003A1 (en) * 2005-08-04 2007-02-22 Jack Doweck Method and apparatus of detecting and correcting soft error
US20110035557A1 (en) * 2009-08-05 2011-02-10 Nokia Corporation Fragmentation reduction using virtual sectors for static data
JP2011175450A (ja) * 2010-02-24 2011-09-08 Renesas Electronics Corp メモリアクセスシステムおよびメモリアクセス制御方法
US9880900B2 (en) 2015-12-08 2018-01-30 Nvidia Corporation Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state
US10049006B2 (en) 2015-12-08 2018-08-14 Nvidia Corporation Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
US9823964B2 (en) 2015-12-08 2017-11-21 Nvidia Corporation Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation
US11721384B2 (en) * 2020-04-17 2023-08-08 Advanced Micro Devices, Inc. Hardware-assisted dynamic random access memory (DRAM) row merging
US20240104023A1 (en) * 2022-09-26 2024-03-28 Advanced Micro Devices, Inc. A/D Bit Storage, Processing, and Modes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5868287A (ja) * 1981-09-30 1983-04-23 シ−メンス・アクチエンゲゼルシヤフト キヤツシユメモリおよびその作動方法
JPS6398048A (ja) * 1986-10-14 1988-04-28 Matsushita Electric Ind Co Ltd 半導体記憶装置
JPS63208144A (ja) * 1987-02-25 1988-08-29 Yokogawa Electric Corp キヤツシユ・メモリ制御装置
JPH01119843A (ja) * 1987-11-04 1989-05-11 Pfu Ltd アドレス変換装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US4453230A (en) * 1977-12-29 1984-06-05 Tokyo Shibaura Electric Co., Ltd. Address conversion system
US4292674A (en) * 1979-07-27 1981-09-29 Sperry Corporation One word buffer memory system
JPS58102380A (ja) * 1981-12-11 1983-06-17 Hitachi Ltd 仮想記憶管理方法
JPS59207082A (ja) * 1983-05-10 1984-11-24 Nec Corp アドレス変換装置
US4725945A (en) * 1984-09-18 1988-02-16 International Business Machines Corp. Distributed cache in dynamic rams
US4991081A (en) * 1984-10-31 1991-02-05 Texas Instruments Incorporated Cache memory addressable by both physical and virtual addresses
US4637024A (en) * 1984-11-02 1987-01-13 International Business Machines Corporation Redundant page identification for a catalogued memory
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
US4774653A (en) * 1985-08-07 1988-09-27 Hewlett-Packard Company Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers
JPS62222344A (ja) * 1986-03-25 1987-09-30 Hitachi Ltd アドレス変換機構
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
JPH0812636B2 (ja) * 1986-12-24 1996-02-07 株式会社東芝 仮想記憶制御方式の計算機システム
US4920477A (en) * 1987-04-20 1990-04-24 Multiflow Computer, Inc. Virtual address table look aside buffer miss recovery method and apparatus
US4839796A (en) * 1987-07-16 1989-06-13 Icon International, Inc. Static frame digital memory
US4985825A (en) * 1989-02-03 1991-01-15 Digital Equipment Corporation System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5868287A (ja) * 1981-09-30 1983-04-23 シ−メンス・アクチエンゲゼルシヤフト キヤツシユメモリおよびその作動方法
JPS6398048A (ja) * 1986-10-14 1988-04-28 Matsushita Electric Ind Co Ltd 半導体記憶装置
JPS63208144A (ja) * 1987-02-25 1988-08-29 Yokogawa Electric Corp キヤツシユ・メモリ制御装置
JPH01119843A (ja) * 1987-11-04 1989-05-11 Pfu Ltd アドレス変換装置

Also Published As

Publication number Publication date
AU5809190A (en) 1991-01-03
EP0407119A2 (en) 1991-01-09
JPH087718B2 (ja) 1996-01-29
DE69031411D1 (de) 1997-10-16
US5329629A (en) 1994-07-12
AU637616B2 (en) 1993-06-03
EP0407119A3 (en) 1992-09-23
EP0407119B1 (en) 1997-09-10
DE69031411T2 (de) 1998-02-12
CA2020275C (en) 1996-08-27
CA2020275A1 (en) 1991-01-04

Similar Documents

Publication Publication Date Title
JPH03135642A (ja) コンピュータメモリシステム
US5594886A (en) Pseudo-LRU cache memory replacement method and apparatus utilizing nodes
US4685082A (en) Simplified cache with automatic update
US5136700A (en) Apparatus and method for reducing interference in two-level cache memories
US5751994A (en) System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters
US6327642B1 (en) Parallel access virtual channel memory system
EP0175080B1 (en) Microcomputer memory and method for its operation
US5535361A (en) Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment
US5070502A (en) Defect tolerant set associative cache
JPH04233050A (ja) キャッシュメモリ交換プロトコル
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
US5420994A (en) Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US5761714A (en) Single-cycle multi-accessible interleaved cache
JPS6111865A (ja) メモリアクセス制御方式
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
EP0535701A1 (en) Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM)
EP0470736B1 (en) Cache memory system
EP0474356A1 (en) Cache memory and operating method
US20010034808A1 (en) Cache memory device and information processing system
EP0611462B1 (en) Memory unit including a multiple write cache
GB2215099A (en) Distributed cache architecture
US6065097A (en) Apparatus and method for sharing a unified memory bus between external cache memory and primary memory
JP2002116956A (ja) キャッシュ制御方法及びキャッシュ制御システム
JPH01173239A (ja) メモリ制御回路
JPS62203251A (ja) 共有キヤツシユメモリの入れ換え制御方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090129

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090129

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100129

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100129

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110129

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110129

Year of fee payment: 15