JP3220805B2 - コンピュータ装置において中央処理装置によりメモリに対するアクセスを制御する装置 - Google Patents

コンピュータ装置において中央処理装置によりメモリに対するアクセスを制御する装置

Info

Publication number
JP3220805B2
JP3220805B2 JP32153091A JP32153091A JP3220805B2 JP 3220805 B2 JP3220805 B2 JP 3220805B2 JP 32153091 A JP32153091 A JP 32153091A JP 32153091 A JP32153091 A JP 32153091A JP 3220805 B2 JP3220805 B2 JP 3220805B2
Authority
JP
Japan
Prior art keywords
memory
cpu
access
cycle
state
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
Application number
JP32153091A
Other languages
English (en)
Other versions
JPH0628238A (ja
Inventor
スティーブン・エイ・フィッシャー
エレズ・カーメン
トーマス・エフ・ヘイル
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JPH0628238A publication Critical patent/JPH0628238A/ja
Application granted granted Critical
Publication of JP3220805B2 publication Critical patent/JP3220805B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータアーキテク
チャの分野に関するものである。とくに、本発明の分野
は、システムメモリをアクセスするために中央処理装置
により用いられるメモリ制御器の分野である。
【0002】
【従来の技術】ほとんど任意のコンピュータシステムに
おける重要な構成要素は、システムメモリに対するアク
セスを制御する手段である。システムメモリは、中央処
理装置(CPU)により用いられるデータおよび命令を
保持するから、CPUとメモリの間で制御とデータの転
送が頻繁に起こる。したがって、CPUとメモリの間の
インターフェイスを可能な最も効率的なやり方で設計す
ることが、コンピュータシステムの動作にとって重要で
ある。従来のシステムの多くは、CPUにより行われる
メモリアクセスに対する種々の要求を取扱うために、メ
モリ制御器を採用している。ダイナミックランダムアク
セスメモリ(DRAM)の制御のためには、メモリ制御
器を用いることがとくに有用であることが判明してい
る。DRAMに記憶されている情報が破壊されることを
防ぐために、DRAMはコンピュータシステムにより要
求される周期的リフレッシュ信号を必要とする。DRA
Mメモリ制御器がこのリフレッシュタスクを取扱うこと
により、CPUを情報処理のタスクに完全に専用できる
ようにすると便利である。
【0003】メモリの各種のサイズ部分に対してCPU
からのメモリアクセス要求を取扱うために、メモリ制御
器は非常に有用であることも従来技術において判明して
いる。たとえば、CPUはメモリの1バイト(8ビッ
ト)、1語(16ビット)、二重語(32ビット)、ま
たは多数の語を含むデータバーストに対するアクセスを
要求できる。メモリアクセスのそれらの種々のモードの
おのおのに対して、メモリアドレスおよび各種の制御信
号をメモリから受けること、要求されたデータをメモリ
から読出すこと、要求されたデータをメモリへ書込むこ
と、およびCPUのための適切な制御信号を発生するこ
とに対してメモリ制御器は責任を負う。
【0004】メモリ制御器は、CPUまたはメモリのア
ドレッシングのやり方を変更する必要なしに、各種のメ
モリ構成を取扱う効率的な手段を提供する。たとえば、
多数の語記憶装置の1つのバンクとして、または1つの
語記憶装置の多数のバンクとしてメモリ(DRAM)を
特定のコンピュータシステムが構成できる。特定のメモ
リ構成の行の大きさと列の大きさは、特定の用途に対す
るメモリアクセスのタイミングを最適にするために、特
に定めることができる。
【0005】それらの機能を行うために、メモリ制御器
の動作をCPUの動作と何らかのやり方で同期させねば
ならない。従来の技術においては、メモリ制御器の動作
をCPUの動作に同期させるために2種類の方法が一般
に用いられる。第1の方法は、CPUとメモリ制御器の
間の通信のためのインターフェイスの一部として、CP
Uクロックまたはそれの微分をメモリ制御器へ接続する
ことを含む。この方法では、CPUに関して同期して動
作させるためにメモリ制御器が要求される。この方法は
メモリ制御器とCPUの間の同期動作を要するから、メ
モリ制御器がサポートできる全てのCPUクロック周波
数に対してメモリ制御器を設計せねばならない。その結
果、メモリの速度を変えられないとしても、CPUの速
度が向上させられるたびにメモリ制御器を変更せねばな
らない。同期メモリ制御器の頻繁な変更に加えて、同期
動作はCPUクロック信号線を、CPUとメモリ制御器
を含んでいる回路盤上のより長い物理的距離にわたって
引くことを必要とするのが欠点である。CPUクロック
信号の周波数が高くなるにつれて、クロックスキューの
制御およびEMI放射の制御においてクロックローディ
ングと経路の長さがますます重要になる。メモリ制御器
を別々の回路盤に設けるモジュールの設計においては、
CPUクロック線が回路盤の間のコネクタと交差するこ
とを求められる。この構成はクロックローディングの問
題と経路長の問題を更に付加することがある。
【0006】メモリ制御器とCPUの動作を同期させる
ための従来の第2の方法は、CPUとメモリ制御器に対
して別々のクロックを含む。したがって、CPUとメモ
リ制御器は2つの異なるクロック周波数を用いて動作す
るから、メモリ制御器はCPUと非同期で動作できる。
しかし、従来の装置はメモリ制御器とCPUの間の制御
信号インターフェイスに同期回路を必要とする。この同
期回路は一方の装置の時間領域から他方の装置の時間領
域へ変換することを求められる。したがって、CPUと
メモリ制御器の間で情報または制御が転送されると、情
報または制御の転送のために、独立してクロックされる
2つの装置が同期させられる。しかし、この従来の方法
は全体の装置の動作の性能を低下させる。というのは、
制御信号を一方の時間領域の周波数から他方の時間領域
の周波数へ変化するために余分の時間を要するからであ
る。したがって、従来技術で経験される諸問題を克服す
るために改良したメモリ制御器および同期技術を必要と
する。
【0007】
【発明の概要】本発明は、クロックが互いに独立してい
るメモリ制御器と高速同期CPUをインターフェイスす
る装置と方法を提供するものである。本発明の重要な特
徴は、メモリ制御器とCPUの間のインターフェイスを
区分するやり方にある。この独特の区分技術を用いて、
CPUクロックはCPUと、メモリ制御器の外部に設け
られている制御インターフェイス状態トラッカとへ接続
される。それから制御インターフェイス状態トラッカが
メモリ制御器へ接続される。CPUに用いられるクロッ
クとは独立している別のクロックがメモリ制御器が結合
されて、メモリ制御器の動作をドライブする。状態トラ
ッカはCPUクロックの使用を要求する唯一の論理装置
である。この状態トラッカは、CPUバスサイクルをト
ラックし、メモリサイクルが終わった後、または受けら
れた後で「レディ」指示をCPUへ戻す。制御インター
フェイストラッカはDRAMタイミング制御信号の発生
や、タイミング制御信号を発生する別の機能論理装置の
トリガも行う。
【0008】コンピュータシステムの動作中は、CPU
はメモリ制御器の読出しサイクル要求または書込みサイ
クル要求を行う。CPUがサイクル「スタート」標識を
状態トラッカへ送る時にそれらのサイクルは開始され
る。サイクル「スタート」標識がCPUから検出される
と、状態トラッカはメモリ制御器に対するスタートスト
ローブ(クロック)を起動して、実際のメモリサイクル
をスタートさせる。メモリ制御器は、CPUとは独立し
ているそれ自身のタイミング素子または集積化された遅
延線を用いることにより、必要なDRAMタイミング制
御信号を発生する。DRAMタイミング制御が行われる
と同時に、メモリ制御器はCPUアドレスおよびメモリ
サイクル状態を受け、メモリアクセスの種類と長さを決
定する。メモリアクセスの種類と長さは、CPUアドレ
スと、メモリサイクル状態と、メモリアクセスのページ
ヒット/ミス条件を含むアクセス状態情報とを用いて決
定される。この情報を用いて、サイクル長帰還値が、サ
イクル長レジスタファイル内の適切なレジスタから得ら
れる。サイクル長帰還値は、メモリサイクルを終わらせ
るために必要とする待ち状態の量を示す。サイクル長帰
還は状態トラッカへ送られる。それから、サイクル長帰
還で示されるようにサイクル長時間が満たされた後で、
状態トラッカはレディ指示をCPUへ戻す。
【0009】本発明の方法を用いると、従来のメモリ制
御器の構成で経験されるような性能の低下は見られな
い。また、本発明のメモリ制御器はCPUのクロック速
度とは独立しているから、CPUクロック速度またはC
PUの種類が変わったとしても、外部インターフェイス
状態トラッカの変更を要するだけで、メモリ制御器を含
んでいるメモリサブシステムを容易にモジュール化でき
る。したがって、メモリ制御器により行われるメモリア
クセスは、メモリ装置の諸要求にとくに合わされた時間
領域において起こり、CPUの時間領域には制約されな
い。CPUの動作と歩調をそろえるのに十分速い技術で
制御インターフェイス状態トラッカを組込む必要がある
だけである。したがって、本発明の目的は、メモリ制御
器をCPUに同期させる必要がないと同時に、CPUか
らのメモリ制御器の同期切離しによる性能低下をもたら
さないようなコンピュータシステムを得ることである。
【0010】本発明は、CPUクロックがメモリ制御器
クロックとは独立であるように、メモリ制御器を高速同
期CPUへインターフェイスする装置の方法を提供す
る。このようにして、性能が低下することがなく、かつ
CPUの速度または種類が変化してもメモリ制御器を頻
繁に変更することなしに、メモリ制御器はCPUと非同
期で動作できる。本発明のここでの説明においては中央
処理装置またはCPUという用語を用いるが、CPUに
ついて述べるのと等しい役割を他の装置が果たすことも
できる。たとえば、本発明の装置と方法を、メモリに対
してアクセスする任意の装置に等しく使用できる。それ
らの装置は、本願の出願人であるインテル・コーポレー
ション(Intel Corporation)により
製造されている82395のようなキャッシュ制御器、
または82596のようなLAN制御器を含む。本発明
を完全に理解できるようにするために、以下の説明にお
いては、特定のアーキテクチャおよびプロトコルについ
て述べる。しかし、そのような特定の詳細事項から離れ
た別の実施例で本発明を実施できることが当業者には明
らかであろう。その他の場合には、本発明の説明を不必
要にあいまいにしないようにするために、コンピュータ
システムおよびメモリ装置の周知の面についての詳しい
説明は省略する。
【0011】
【実施例】まず、本発明のコンピュータシステム10の
好適な実施例が示されている図1を参照する。この実施
例においては、コンピュータシステム10はCPU20
0を含んでいるのが示されている。このCPU200は
外部制御インターフェイス状態トラッカ300へ結合さ
れ、この外部制御インターフェイス状態トラッカ300
はメモリ制御器100へ結合される。メモリ制御器10
0はダイナミックランダムアクセスメモリ(DRAM)
400へ結合される。また、CPU時間領域をドライブ
するためにCPUクロックドライバ500が含まれる。
更に、メモリ制御器時間領域をドライブするためにクロ
ック600が含まれる。
【0012】好適な実施例においては、CPU200は
インテル社により製造されているCPUであるi486
または386(いずれも商標)である。DRAM400
は周知の標準的なダイナミックランダムアクセスメモリ
であって、当業者が利用できるものである。クロックド
ライバ500も周知の標準的な部品である。好適な実施
例においては、クロックドライバ500は25〜50MH
z の範囲で動作する。好適な実施例においては、クロッ
ク600は典型的には、2で分周される40MHz クロッ
クである。クロックドライバ500とクロック600は
非同期的に動作する。
【0013】本発明は、性能を向上させ、CPUのクロ
ック周波数の上昇の衝撃を和らげる独特の区分技術を利
用する。この区分技術の一部が、外部制御インターフェ
イス状態トラッカ300をメモリ制御器100の外部に
設けることを含む。状態トラッカ300は、CPU20
0をドライブするのと同じクロック500でドライブで
きる。本発明の好適な実施例においては、状態トラッカ
300は2つのプログラム可能な論理装置(PLD)で
実現される。ここで開示する本発明の説明を読んだ後で
は、PLDを用いて本発明を実現するための手段が当業
者には明らかになるであろう。状態トラッカはCPUバ
スサイクルをモニタし、CPUから要求された時に読出
し/書込みメモリアクセスサイクルを開始する。CPU
から要求されると、状態トラッカ300は、CPUの読
出し/書込みメモリサイクル要求をメモリ制御器100
へ知らせる。そうすると、メモリ制御器100は、要求
されたメモリサイクルを実行するために求められる待ち
状態の数について状態トラッカ300へ知らせる。メモ
リ制御器100からこの情報を得た状態トラッカ300
は、メモリサイクルが終わった時に(すなわち、指定さ
れた数の待ち状態が経過した後で)レディ信号をCPU
へ発生する。本発明のこのメモリアクセスプロトコルは
非常に効率的で、メモリアクセスに対して非同期オーバ
ヘッドを何ら起こさせない。CPUのメモリ読出しサイ
クル中およびメモリ書込みサイクル中のこのメモリアク
セスプロトコルの詳細については以下に説明する。
【0014】メモリ制御器100は、アドレス信号と制
御信号を、DRAMをベースとする主メモリへ供給す
る。主メモリ400は各種のやり方で構成できる。好適
な実施例においては、主メモリ400は4行×4列の構
造を利用する。4×4アレイ中の16個の素子のおのお
のは36ビットの「メモリ素子」と考えられる(32ビ
ットがデータ、4ビットがパリティ)。各行中4つの
メモリ素子が最大128ビット幅のデータラインを許
す。4行は、物理的には分離しているが、論理的には、
おのおの2行を有する2つのメモリバンクにまとめられ
る。
【0015】好適な実施例においては、メモリ制御器1
00は、DRAM400の行に沿って、それから列を下
方へと、メモリアドレスを順次マップする。1行の全体
が、その行中のデータをアクセスするために用いられる
同じ行アドレスストローブ(RAS)へ接続される。各
列は、その列中のデータをアクセスするために用いられ
る列アドレスストローブ(CAS)へ接続される。典型
的なメモリアクセスにおいては、特定の行に対するRA
Sがまずアサートされ、それから、求められている特定
のデータ項目に対するCASがアサートされる。RAS
のアサーションのためには、行のストローブの前に行う
プリチャージのための時間遅れが必要とされる。
【0016】メモリアクセスの種類(読出しまたは書込
み)、CPUにより順次にアクセスされるデータの場
、メモリアクセス要求が出された時のシステムの状
態に応じて、メモリサイクルの長さが異なることがあ
る。たとえば、メモリ内の同じ行に対して2回のアクセ
スを連続的に行う場合において、最初のアクセスの後で
RASが依然としてアサートされている状態で、同じ行
に対する2回目のアクセス行われるようにすれば、2
回目のアクセスは1回目のアクセスより短い時間で行う
ことができる。その理由は、2回目のアクセスのために
RASを再アサートする時間をとる必要がないからであ
る。この種のメモリサイクルはページヒットサイクルと
名づけられる。ページヒットアクセスは最高速の種類の
メモリアクセスである。
【0017】最初のアクセスの後でRASがアサートさ
れたままであるようにした場合に、2回目のアクセス
、最初のサイクルのアクセスが行われたのとは異な
る行に対して行うことがる。この場合には、最初のア
クセスから続いているRASを先ずデアサートし、2回
目のアクセス用の行についてのRASのストローブをす
ることになるが、RASストローブをする前には行
プリチャージ時間が必要となる。この種のメモリサイク
ルはページミスサイクルと名づけられる。この種のサイ
クルは、アクセス時間が最長になる。
【0018】の状況、すなわち、最初のアクセスの後
で当該の行に対するRASがアサートされたままの状態
にはされない場合に、その同じ行に対して2回目のメモ
リアクセスを行うこともある。この場合には、以前のR
ASデアサートする必要はない。しかし、新しいRA
Sをストローブする必要がある。通常このような場合に
は、最初のアクセスの後では新しいプリチャージ時間が
満たされている。したがって、新しいRASを直ちにア
サートできる。この種類のメモリサイクルは、行ミスサ
イクルと名づけられる。行ミスサイクルは、ページヒッ
トサイクルよりも遅いが、ページミスサイクルよりは速
い。
【0019】他の種類のメモリサイクルは読出しサイク
ルと書込みサイクルを含む。読出しメモリサイクルは書
込みメモリサイクル中に要するのと同じ時間を要求しな
いことがある。したがって、メモリサイクルの読出しと
書込みの種類を区別すると便利である。
【0020】メモリ制御器100は、DRAMタイミン
グ発生、メモリアレイ数、およびモリサイクル長のよ
うな、装置の機能の構成と制御を指定するプログラム可
能なレジスタを多数含む。それらのレジスタは、電源投
入時の初期化において基本入力/出力システム(BIO
S)ソフトウェアの実行により典型的には実行される。
それらのプログラム可能なレジスタセットがサイクル
長レジスタファイル120である。サイクル長レジスタ
ファイル120は、決定論的種類の各メモリサイクルに
対して要求される量のクロックサイクル(または待ち状
態の量)のプログラム可能な仕様をセットするための複
数のレジスタを含む。各種のメモリサイクルの例が、読
出しまたは書込みのサイクルと、ページヒットまたはペ
ージミスのサイクルと、または行ミスのサイクルとを含
む。それらの種類の各サイクルはそのサイクルを終わら
せるために必要な決定論的な数のクロックパルス(また
は待ち状態の量)を有する。このプログラム可能なサイ
クル長情報は、システムの初期化時に、サイクル長レジ
スタファイル120に格納される。
【0021】メモリ制御器100はアドレス復号および
ページヒット検出論理セグメント130も含む。アドレ
ス復号論理130は、32ビットホストアドレスとホス
トサイクル状態情報をCPU200から受ける。ホスト
サイクル状態情報は、現在のメモリアクセスが読出しメ
モリアクセスか、書込みメモリアクセスかを示す状態を
有する信号を含む。メモリ制御器100内のページヒッ
ト検出論理セグメント130は、求められたアドレスに
関連する少なくとも3つの状態を示すページ信号と、D
RAM400の制御信号の状態を発生する。CPU2
00から受けたアドレスが、DRAM400の現在アサ
ートされている行にあるか(ページヒット状態)、現在
アサートされている行とは異なる行にあるか(ページミ
ス状態)、または、現在アサートされている行がなくて
アサートされていない行にあるか(行ミス状態)を判定
することにより、ページ信号が発生される。ページ信号
の状態を判定した後で、メモリ制御器100は、アドレ
ス復号論理により受けられた入力と、ページヒット検出
論理130により検出された状態とを基にして、サイク
ル長レジスタファイル120から適切なサイクル長レジ
スタをアクセスできる。また、CPU200から受けた
アドレスを基にして、DRAMの適切な部分をアクセス
するために、適切な行アドレスストローブ(RAS)信
号と適切な列アドレスストローブ(CAS)信号を発生
して、それを制御線115を介してDRAM400へ送
ることができる。DRAMに対するアクセスを制御する
タスクに加えて、メモリ制御器100はDRAM400
をリフレッシュするための適切なリフレッシュタイミン
グの発生も行う。
【0022】メモリ制御器100はホストCPUクロッ
ク500とは独立に動作する。このクロック独立性によ
り、メモリ制御器100はCPUとは周波数が独立で
き、したがって全ての周波数のプロセッサをサポートで
きる。メモリ制御器の周波数独立性を容易にするため
に、本発明の一部として新しいホストバスプロトコルが
開発された。このプロトコルは、CPU200により発
生される従来の同期アドレスストローブ(ADS)信号
とレディ(RDY)信号には従わない。その代わりに、
本発明のメモリアクセスプロトコルの性質は非同期であ
る。その理由は、そのメモリアクセスプロトコルはCP
Uクロック500によりドライブされないからである。
本発明のプロトコルは非同期であるが、従来の他の非同
期プロトコルとは異なって、CPUのメモリ性能を低下
させない。CPUが主メモリ(DRAM400)サイク
ルを行うためには、同期の罰が課されない。
【0023】主メモリに対してCPUから行われる決定
論的サイクルメモリアクセスを制御するために、本発明
の非同期プロトコルが用いられる。それらのメモリは決
定論的であるから、各サイクルの正確な長さ(すなわ
ち、サイクルを完了するために必要なクロックパルスま
たは待ち状態の数)が予め定められる。このサイクル長
情報はプログラム可能であって、サイクル長レジスタフ
ァイル120の複数のレジスタに格納される。したがっ
て、CPU200により求められるメモリサイクルの種
類(読出し、または書込み)を受け、アクセスの場所と
状態(ページヒット、ページミス、または行ミス)を決
定することにより、メモリ制御器100は、サイクルの
初めに、サイクルを終わらせるために必要な待ち状態の
数を正確に決定できる。したがって、各サイクルの初め
に、メモリ制御器100は、サイクル長または待ち状態
の情報を、サイクルのために要求される待ち状態の量に
関連する値を表す3ビットコードにより、状態トラッカ
300へ中継できる。メモリサイクルに対して求められ
る待ち状態の量についての情報を状態トラッカ300が
メモリ制御器100から受けると、メモリサイクルが終
わると、状態トラッカ300は指定された数の待ち状態
だけ遅れてから、レディ(RDY)信号320をCPU
へ送る。したがって、レディ信号320は、メモリサイ
クルが終わったちょうどその時にCPUへ送られ、それ
により同期の不利益をこうむらない。
【0024】次に、CPUのメモリ読出しサイクルまた
は書込みサイクルの間における本発明のプロトコルのタ
イミング図が示されている図2を参照する。図2に示さ
れているメモリ読出し例を開始するために、CPU20
0は希望のアドレスをアドレス線220へまず提供す
る。要求されているアクセスが読出しアクセスか、書込
みアクセスであるか(すなわち、読出し状態か、書込み
状態)を示すメモリサイクル状態がアドレスと同時に提
供される。活動状態にあるメモリアドレスが図2に21
で示されている。アドレスと状態がCPU200により
アドレス線220へ供給されると、サイクルスタート信
号が図1に示す線210により状態トラッカ300へ送
られる。サイクルスタート信号の起動が図2に立下がり
縁部22で示されている。サイクルスタート信号に応答
して、状態トラッカ300は、線310を介してメモリ
制御器100へ送られるスタートストローブ信号を起動
する。スタートストローブ信号の起動が図2の立下がり
縁部23で示されている。スタートストローブ信号が起
動させられると、メモリ制御器100におけるメモリア
クセスサイクルのスタートがトリガされるとともに、ア
ドレス線220におけるアドレスおよびメモリサイクル
の状態情報が、メモリ制御器100のアドレス復号およ
ぎページヒット論理130に保持させられる。書込みメ
モリサイクルの場合には、この時に他の制御線を用い
て、データ線221上のデータも保持される。アドレス
復号およびページヒット論理130はアドレスおよびメ
モリサイクルの状態情報を線220から受け、要求され
ているアドレスが、既に活動状態すなわちチャージされ
ている(ページヒット状態)メモリ行内にあるかどうか
を決定することによりページ信号を発生し、要求された
アドレスが起動されているメモリ行内にあるかどうかを
判定し(ページミス状態)、または、他の行が起動され
ることなしにアドレス要求が行われるかどうかを判定す
る(行ミス状態)。アドレス復号セグメント130は、
サイクル長レジスタファイル120内の適切なレジスタ
をアクセスするために、線220を介して得たメモリサ
イクル状態情報とページ信号を用いる。サイクル長レジ
スタファイル120内の適切なレジスタが探されると、
そのレジスタ内のサイクル長値が得られる。好適な実施
例においては、サイクル長さ値は、メモリサイクルを終
わるために必要なサイクルまたは待ち状態の量を示す3
ビット値である。サイクル長値(サイクル長帰還)はメ
モリ制御器100から線125を介して状態トラッカ3
00へ送られる。状態トラッカ300がサイクル長情報
をメモリ制御器100から受けると、状態トラッカ30
0は、メモリ制御器100から指定されたサイクル長の
間、カウントダウンまたは遅延を開始できる。メモリ制
御器100から状態トラッカ300へのサイクル長帰還
情報の転送が図2に24で示されている。メモリ制御器
100から状態トラッカ300へのサイクル長帰還情報
の転送と同時に、メモリ制御器のDRAMタイミングお
よび制御器110が、保持されているアドレスをアドレ
ス線220から受ける。このようにして受けたアドレス
は、DRAM400の適切な部分をアクセスするため
に、行アドレスストローブ(RAS)信号と列アドレス
ストローブ(CAS)信号を発生するために用いられ
る。RAS信号とCAS信号は線115を介してDRA
M400へ転送される。
【0025】RAS信号の起動が図2に立下がり縁部2
5として示されている。同様に、CAS信号の起動が図
2に立下がり縁部26により示されている。行と列が選
択されると、その場所に含まれているデータが読出しサ
イクルの間データ線221へ供給される。書込みサイク
ルに対しては、以前に保持されていたデータがDRAM
400へ転送される。サイクル長レジスタファイル12
0のレジスタに含まれているサイクル長値に対応する量
のサイクルの期間が切れてから、データはデータ線22
1へ送られ、またはDRAM400へ書込まれる。した
がって、データがデータ線221へ供給された後で、状
態トラッカ300は、メモリ制御器100から受けたサ
イクル長帰還に対応するサイクル数の間のカウントダウ
ンまたは遅延を終わっている。これが起こると、レディ
信号が状態トラッカ300から線320を介してCPU
200へ送られる。状態トラッカ300からレディ信号
33を受けた結果として、CPU200はデータ線22
1からのデータを、クロック20の立上がり縁部におけ
る読出しサイクルの間保持する。したがって、CPU2
00をドライブするクロックと同じクロックでメモリ制
御器100をドライブする必要なしに、CPUはデータ
線221に存在するデータを受けること、またはデータ
線221へデータを書込むことができる。
【0026】別の実施例においては、状態トラッカ30
0により行われる機能をCPU200のアーキテクチャ
とオペレーションに組込むことができる。この場合に
は、外部制御インターフェイス状態トラッカは本発明の
コンピュータシステムには存在しない。その代わりに、
線210へ転送されるサイクルスタート信号は、メモリ
アクセスサイクルをスタートさせるために、メモリ制御
器100へ直接送られる。今は存在しない状態トラッカ
からのスタートストローブ信号は不要である。また、サ
イクル長帰還情報がメモリ制御器100からCPU20
0へ直接送られる。CPU200は、読出しメモリ動作
のためにデータをデータ線221に保持する前に、サイ
クル長帰還値により指定されたサイクル数の間遅れる。
【0027】以上、互いに独立したクロックを用いるメ
モリ制御器と高速同期CPUをインターフェイスする装
置と方法を開示した。
【図面の簡単な説明】
【図1】CPUとメモリ制御器の間の制御インターフェ
イス区画を示す機能ブロック図である。
【図2】メモリ読出し動作またはメモリ書込み動作の間
における本発明のインターフェイスプロトコルを示すタ
イミング図である。
【符号の説明】
100 メモリ制御器 110 DRAMタイミング制御器 120 サイクル長レジスタファイル 130 アドレス復号およびページヒット検出論理 200 CPU 300 外部制御インターフェイス状態トラッカ 500 CPUクロックドライバ
フロントページの続き (72)発明者 トーマス・エフ・ヘイル アメリカ合衆国 29640 サウスカロラ イナ州・イーズリー・ヒッコリー ウッ ド コート・101 (56)参考文献 特開 昭56−17451(JP,A) 実開 平1−127040(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 12/02 - 12/06

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 中央処理装置(CPU)とメモリとを有
    するコンピュータ装置における、前記CPUから前記メ
    モリへのアクセスを制御するインターフェイス装置であ
    って(a) 前記メモリ中のアドレスすべき場所に対応するメモ
    リアドレスを前記CPUから受けてデコードするアドレ
    スデコーダを備え、このアドレスデコーダには、前記メ
    モリへのアクセスが読出しアクセスであることを示す読
    出し状態と前記メモリへのアクセスが書込みアクセスで
    あることを示す書込み状態とを含むメモリサイクル状態
    を、前記CPUから受けてデコードする論理手段が設け
    られており(b) 前記メモリ中の前記場所へのアクセスに要するサイ
    クルの量に関するデータをプログラム可能に記憶する記
    憶ファイルを備え、この記憶ファイルには、前記データ
    に基づいて前記メモリ中の前記場所へのアクセスに必要
    であると決定されたサイクルの量を、当該アクセスの完
    了前に、前記CPUへ送る転送論理も含まれており(c) 前記CPUへ送られた前記サイクルの量に対応する
    サイクル数で前記メモリへのアクセスを終わらせるメモ
    リ・タイミング・ユニットを備え、前記アドレスレコー
    ダにはページ信号を生じる論理が含まれ、前記ページ信
    号は、受けたアドレスが前記メモリ中の現在アクティブ
    である行中の場所に対応しているならばページ・ヒット
    状態を示し、受けたアドレスが前記メモリ中の現在アク
    ティブである行中の場所ではない場所に対応しているな
    らばページ・ミス状態を示し、受けたアドレスが前記メ
    モリ中の場所に対応するが、前記メモリ中には現在アク
    ティブである行が存在していないならば、行ミス状態を
    示す信号であり前記転送論理によって前記CPUへ送られるべきサイク
    ルの量は、記憶されている前記データに基づいて、前記
    CPUからの前記メモリサイクル状態と前記ページ信号
    とに依存して決定されることを特徴とするインターフェ
    イス装置
  2. 【請求項2】 中央処理装置(CPU)と、このCPU
    へ結合された第1のクロック信号発生器と、前記CPU
    へ結合されたメモリとを有するコンピュータ装置におい
    て、 i)前記CPUと、状態トラッカと、前記メモリとへ結
    合され、前記第1のクロック信号発生器とは独立に動作
    するメモリ制御器と、 ii)前記CPUと前記第1のクロック信号発生器へ結合
    された状態トラッカとを備え、 前記メモリ制御器は、 a)前記CPUから、前記メモリ内のアクセスすべき場
    所に対応するメモリアドレスを受けて復号する手段と、 b)メモリに対する前記アクセスが読出しアクセスであ
    ることを示す読出し状態と、メモリに対する前記アクセ
    スが書込みアクセスであることを示す書込み状態とを有
    するメモリサイクル状態を受けて、そのメモリサイクル
    状態を復号する手段と、 c)メモリ内の前記場所をアクセスするために必要な
    イクルの量を決定する手段と、 d)メモリ内の前記場所に対するアクセスが終わる前に
    サイクルの前記量を前記状態トラッカへ送る手段と、 e)前記状態トラッカへ送られるサイクルの前記量に対
    応するサイクル数でメモリに対する前記アクセスを終わ
    らせる手段と、 を含み、 前記状態トラッカは、 f)前記メモリ制御器によるメモリ内の前記場所に対す
    るアクセスが終わる前に、前記メモリ制御器からサイ
    クルの前記量を受ける手段と、 g)前記メモリ制御器から受けたサイクルの前記量に対
    させてサイクルの数を遅らせる手段と、 h)この遅らせる手段が前記サイクル数を遅らせた後
    で、レディ信を前記CPUへ送る手段と、 を含むことを特徴とする中央処理装置によりメモリに対
    するアクセスを制御する装置。
  3. 【請求項3】 中央処理装置(CPU)と、メモリと、
    前記CPUおよび前 記メモリ間に結合されたインターフ
    ェイス装置とを備えるコンピュータ装置であって前記CPUから前記メモリへのアクセスを制御するイン
    ターフェイス装置には(a) 前記メモリ中のアドレスすべき場所に対応するメモ
    リアドレスを前記CPUから受けてデコードするアドレ
    スデコーダが備えられ、このアドレスデコーダには、前
    記メモリへのアクセスが読出しアクセスであることを示
    す読出し状態と前記メモリへのアクセスが書込みアクセ
    スであることを示す書込み状態とを含むメモリサイクル
    状態を、前記CPUから受けてデコードする論理手段が
    設けられており(b) 前記メモリ中の前記場所へのアクセスに要するサイ
    クルの量に関するデータをプログラム可能に記憶する記
    憶ファイルが備えられ、この記憶ファイルには、前記デ
    ータに基づいて前記メモリ中の前記場所へのアクセスに
    必要であると決定されたサイクルの量を、当該アクセス
    の完了前に、前記CPUへ送る転送論理も含まれてお
    (c) 前記CPUへ送られた前記サイクルの量に対応する
    サイクル数で前記メモリへのアクセスを終わらせるメモ
    リ・タイミング・ユニットが備えられ、前記アドレスレ
    コーダにはページ信号を生じる論理が含まれ、前記ペー
    ジ信号は、受けたアドレスが前記メモリ中の現在アクテ
    ィブである行中の場所に対応しているならばページ・ヒ
    ット状態を示し、受けたアドレスが前記メモリ中の現在
    アクティブである行中の場所ではない場所に対応してい
    るならばページ・ミス状態を示し、受けたアドレスが前
    記メモリ中の場所に対応するが、前記メモリ中には現在
    アクティブである行が存在していないならば、行ミス状
    態を示す信号であり前記転送論理によって前記CPUへ送られるべきサイク
    ルの量は、記憶されている前記データに基づいて、前記
    CPUからの前記メモリサイクル状態と前記ページ信号
    とに依存して決定されることを特徴とする、中央処理装
    置(CPU)とメモリおよびインターフェイス装置を備
    えるコンピュータ装置
JP32153091A 1990-11-09 1991-11-11 コンピュータ装置において中央処理装置によりメモリに対するアクセスを制御する装置 Expired - Fee Related JP3220805B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US611,183 1990-11-09
US07/611,183 US5239639A (en) 1990-11-09 1990-11-09 Efficient memory controller with an independent clock

Publications (2)

Publication Number Publication Date
JPH0628238A JPH0628238A (ja) 1994-02-04
JP3220805B2 true JP3220805B2 (ja) 2001-10-22

Family

ID=24447958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32153091A Expired - Fee Related JP3220805B2 (ja) 1990-11-09 1991-11-11 コンピュータ装置において中央処理装置によりメモリに対するアクセスを制御する装置

Country Status (2)

Country Link
US (1) US5239639A (ja)
JP (1) JP3220805B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04255989A (ja) * 1991-02-07 1992-09-10 Mitsubishi Electric Corp 半導体記憶装置および内部電圧発生方法
US5412795A (en) * 1992-02-25 1995-05-02 Micral, Inc. State machine having a variable timing mechanism for varying the duration of logical output states of the state machine based on variation in the clock frequency
US5809531A (en) * 1992-09-21 1998-09-15 Intel Corporation Computer system for executing programs using an internal cache without accessing external RAM
US5651130A (en) * 1993-03-22 1997-07-22 Compaq Computer Corporation Memory controller that dynamically predicts page misses
US5604884A (en) * 1993-03-22 1997-02-18 Compaq Computer Corporation Burst SRAMS for use with a high speed clock
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
GB2315347B (en) * 1993-08-23 1998-04-01 Advanced Risc Mach Ltd Testing integrated circuits
US6038622A (en) * 1993-09-29 2000-03-14 Texas Instruments Incorporated Peripheral access with synchronization feature
US5737566A (en) * 1993-12-20 1998-04-07 Motorola, Inc. Data processing system having a memory with both a high speed operating mode and a low power operating mode and method therefor
JPH07210445A (ja) * 1994-01-20 1995-08-11 Mitsubishi Electric Corp 半導体記憶装置およびコンピュータ
US5918242A (en) * 1994-03-14 1999-06-29 International Business Machines Corporation General-purpose customizable memory controller
JP3542380B2 (ja) * 1994-06-06 2004-07-14 株式会社ルネサステクノロジ メモリシステム
US5732250A (en) * 1994-09-15 1998-03-24 Intel Corporation Multi-function microprocessor wait state mechanism using external control line
JP3595942B2 (ja) * 1994-11-07 2004-12-02 日本テキサス・インスツルメンツ株式会社 プログラマブルras/cas発生回路
US5752269A (en) * 1995-05-26 1998-05-12 National Semiconductor Corporation Pipelined microprocessor that pipelines memory requests to an external memory
US5805872A (en) * 1995-09-08 1998-09-08 Digital Equipment Corporation Apparatus for generation of control signals from the read cycle rate and read speed of a memory
US5692165A (en) * 1995-09-12 1997-11-25 Micron Electronics Inc. Memory controller with low skew control signal
US5897665A (en) * 1995-12-15 1999-04-27 Intel Corporation Register addressing for register-register architectures used for microprocessors and microcontrollers
US5802597A (en) * 1995-12-22 1998-09-01 Cirrus Logic, Inc. SDRAM memory controller while in burst four mode supporting single data accesses
US5940848A (en) * 1997-01-14 1999-08-17 Intel Corporation Computer system and method for efficiently controlling the opening and closing of pages for an aborted row on page miss cycle
US5991851A (en) * 1997-05-02 1999-11-23 Enhanced Memory Systems, Inc. Enhanced signal processing random access memory device utilizing a DRAM memory array integrated with an associated SRAM cache and internal refresh control
JP3929116B2 (ja) * 1997-07-04 2007-06-13 富士通株式会社 メモリサブシステム
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
JP3445476B2 (ja) * 1997-10-02 2003-09-08 株式会社東芝 半導体メモリシステム
US6366989B1 (en) 1998-09-17 2002-04-02 Sun Microsystems, Inc. Programmable memory controller
JP2001265708A (ja) * 2000-03-16 2001-09-28 Toshiba Corp 電子機器及び電子機器の基板
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US20040054864A1 (en) * 2002-09-13 2004-03-18 Jameson Neil Andrew Memory controller
US7200730B2 (en) * 2002-09-16 2007-04-03 Texas Instruments Incorporated Method of operating a memory at high speed using a cycle ready status output signal
US6986114B2 (en) * 2002-12-17 2006-01-10 International Business Machines Corporation Feedback cycle detection across non-scan memory elements
US7409572B1 (en) * 2003-12-05 2008-08-05 Lsi Corporation Low power memory controller with leaded double data rate DRAM package arranged on a two layer printed circuit board
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
KR100660546B1 (ko) * 2005-11-10 2006-12-22 삼성전자주식회사 반도체 디스크 제어 장치
KR100909364B1 (ko) * 2007-02-06 2009-07-24 삼성전자주식회사 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
KR100887417B1 (ko) * 2007-04-11 2009-03-06 삼성전자주식회사 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치
US8463987B2 (en) 2008-09-23 2013-06-11 Intel Corporation Scalable schedulers for memory controllers
US9069477B1 (en) * 2011-06-16 2015-06-30 Amazon Technologies, Inc. Reuse of dynamically allocated memory
US11074169B2 (en) * 2013-07-03 2021-07-27 Micron Technology, Inc. Programmed memory controlled data movement and timing within a main memory device
US11157287B2 (en) * 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system with variable latency memory access

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668650A (en) * 1970-07-23 1972-06-06 Contrologic Inc Single package basic processor unit with synchronous and asynchronous timing control
US3809884A (en) * 1972-11-15 1974-05-07 Honeywell Inf Systems Apparatus and method for a variable memory cycle in a data processing unit
USRE30331E (en) * 1973-08-10 1980-07-08 Data General Corporation Data processing system having a unique CPU and memory timing relationship and data path configuration
FR2433792A1 (fr) * 1978-08-17 1980-03-14 Cii Honeywell Bull Dispositif universel d'echange d'informations entre les memoires d'ordinateur et les dispositifs de traitement qui le compose
IT1151683B (it) * 1982-07-06 1986-12-24 Honeywell Inf Systems Sistema multiprocessore a bus asincrono con caricamento di microistruzioni da memoria di lavoro
US4631666A (en) * 1982-10-25 1986-12-23 Burroughs Corporation Data transfer network for variable protocol management

Also Published As

Publication number Publication date
US5239639A (en) 1993-08-24
JPH0628238A (ja) 1994-02-04

Similar Documents

Publication Publication Date Title
JP3220805B2 (ja) コンピュータ装置において中央処理装置によりメモリに対するアクセスを制御する装置
US5034917A (en) Computer system including a page mode memory with decreased access time and method of operation thereof
EP0468786B1 (en) Processor which performs memory access in parallel with cache access and method employed thereby
US5303364A (en) Paged memory controller
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
US6405271B1 (en) Data flow control mechanism for a bus supporting two-and three-agent transactions
KR100203392B1 (ko) 프로그램 가능한 메모리 타이밍
EP0549164B1 (en) Memory controller with snooping mechanism
US5499353A (en) Cache address strobe control logic for stimulated bus cycle initiation
JP4507186B2 (ja) モードレジスタにおけるバースト長設定の変更を行わずに、異なるバースト長のアクセスをサポートするdram
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US5301299A (en) Optimized write protocol for memory accesses utilizing row and column strobes
US5301281A (en) Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals
US6226755B1 (en) Apparatus and method for enhancing data transfer to or from a SDRAM system
JP3732518B2 (ja) スペキュラティブなシステムメモリ読取りを行う方法および装置
US5987570A (en) Performing overlapping burst memory accesses and interleaved memory accesses on cache misses
US6249847B1 (en) Computer system with synchronous memory arbiter that permits asynchronous memory requests
US5893917A (en) Memory controller and method of closing a page of system memory
EP0607668B1 (en) Electronic memory system and method
US5699540A (en) Pseudo-concurrent access to a cached shared resource
EP1470553A1 (en) Apparatus and method for encoding auto-precharge
JPH07129456A (ja) コンピュータシステム
JP3720872B2 (ja) システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム
US20020016886A1 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
JP2839311B2 (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: 20080817

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090817

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees