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
Links
- 230000015654 memory Effects 0.000 title claims description 220
- 238000012545 processing Methods 0.000 title claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims 2
- 102000014150 Interferons Human genes 0.000 claims 1
- 108010050904 Interferons Proteins 0.000 claims 1
- 229940079322 interferon Drugs 0.000 claims 1
- 238000000034 method Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing 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を情報処理のタスクに完全に専用できる
ようにすると便利である。
おける重要な構成要素は、システムメモリに対するアク
セスを制御する手段である。システムメモリは、中央処
理装置(CPU)により用いられるデータおよび命令を
保持するから、CPUとメモリの間で制御とデータの転
送が頻繁に起こる。したがって、CPUとメモリの間の
インターフェイスを可能な最も効率的なやり方で設計す
ることが、コンピュータシステムの動作にとって重要で
ある。従来のシステムの多くは、CPUにより行われる
メモリアクセスに対する種々の要求を取扱うために、メ
モリ制御器を採用している。ダイナミックランダムアク
セスメモリ(DRAM)の制御のためには、メモリ制御
器を用いることがとくに有用であることが判明してい
る。DRAMに記憶されている情報が破壊されることを
防ぐために、DRAMはコンピュータシステムにより要
求される周期的リフレッシュ信号を必要とする。DRA
Mメモリ制御器がこのリフレッシュタスクを取扱うこと
により、CPUを情報処理のタスクに完全に専用できる
ようにすると便利である。
【0003】メモリの各種のサイズ部分に対してCPU
からのメモリアクセス要求を取扱うために、メモリ制御
器は非常に有用であることも従来技術において判明して
いる。たとえば、CPUはメモリの1バイト(8ビッ
ト)、1語(16ビット)、二重語(32ビット)、ま
たは多数の語を含むデータバーストに対するアクセスを
要求できる。メモリアクセスのそれらの種々のモードの
おのおのに対して、メモリアドレスおよび各種の制御信
号をメモリから受けること、要求されたデータをメモリ
から読出すこと、要求されたデータをメモリへ書込むこ
と、およびCPUのための適切な制御信号を発生するこ
とに対してメモリ制御器は責任を負う。
からのメモリアクセス要求を取扱うために、メモリ制御
器は非常に有用であることも従来技術において判明して
いる。たとえば、CPUはメモリの1バイト(8ビッ
ト)、1語(16ビット)、二重語(32ビット)、ま
たは多数の語を含むデータバーストに対するアクセスを
要求できる。メモリアクセスのそれらの種々のモードの
おのおのに対して、メモリアドレスおよび各種の制御信
号をメモリから受けること、要求されたデータをメモリ
から読出すこと、要求されたデータをメモリへ書込むこ
と、およびCPUのための適切な制御信号を発生するこ
とに対してメモリ制御器は責任を負う。
【0004】メモリ制御器は、CPUまたはメモリのア
ドレッシングのやり方を変更する必要なしに、各種のメ
モリ構成を取扱う効率的な手段を提供する。たとえば、
多数の語記憶装置の1つのバンクとして、または1つの
語記憶装置の多数のバンクとしてメモリ(DRAM)を
特定のコンピュータシステムが構成できる。特定のメモ
リ構成の行の大きさと列の大きさは、特定の用途に対す
るメモリアクセスのタイミングを最適にするために、特
に定めることができる。
ドレッシングのやり方を変更する必要なしに、各種のメ
モリ構成を取扱う効率的な手段を提供する。たとえば、
多数の語記憶装置の1つのバンクとして、または1つの
語記憶装置の多数のバンクとしてメモリ(DRAM)を
特定のコンピュータシステムが構成できる。特定のメモ
リ構成の行の大きさと列の大きさは、特定の用途に対す
るメモリアクセスのタイミングを最適にするために、特
に定めることができる。
【0005】それらの機能を行うために、メモリ制御器
の動作をCPUの動作と何らかのやり方で同期させねば
ならない。従来の技術においては、メモリ制御器の動作
をCPUの動作に同期させるために2種類の方法が一般
に用いられる。第1の方法は、CPUとメモリ制御器の
間の通信のためのインターフェイスの一部として、CP
Uクロックまたはそれの微分をメモリ制御器へ接続する
ことを含む。この方法では、CPUに関して同期して動
作させるためにメモリ制御器が要求される。この方法は
メモリ制御器とCPUの間の同期動作を要するから、メ
モリ制御器がサポートできる全てのCPUクロック周波
数に対してメモリ制御器を設計せねばならない。その結
果、メモリの速度を変えられないとしても、CPUの速
度が向上させられるたびにメモリ制御器を変更せねばな
らない。同期メモリ制御器の頻繁な変更に加えて、同期
動作はCPUクロック信号線を、CPUとメモリ制御器
を含んでいる回路盤上のより長い物理的距離にわたって
引くことを必要とするのが欠点である。CPUクロック
信号の周波数が高くなるにつれて、クロックスキューの
制御およびEMI放射の制御においてクロックローディ
ングと経路の長さがますます重要になる。メモリ制御器
を別々の回路盤に設けるモジュールの設計においては、
CPUクロック線が回路盤の間のコネクタと交差するこ
とを求められる。この構成はクロックローディングの問
題と経路長の問題を更に付加することがある。
の動作を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つの装置が同期させられる。しかし、この従来の方法
は全体の装置の動作の性能を低下させる。というのは、
制御信号を一方の時間領域の周波数から他方の時間領域
の周波数へ変化するために余分の時間を要するからであ
る。したがって、従来技術で経験される諸問題を克服す
るために改良したメモリ制御器および同期技術を必要と
する。
ための従来の第2の方法は、CPUとメモリ制御器に対
して別々のクロックを含む。したがって、CPUとメモ
リ制御器は2つの異なるクロック周波数を用いて動作す
るから、メモリ制御器はCPUと非同期で動作できる。
しかし、従来の装置はメモリ制御器とCPUの間の制御
信号インターフェイスに同期回路を必要とする。この同
期回路は一方の装置の時間領域から他方の装置の時間領
域へ変換することを求められる。したがって、CPUと
メモリ制御器の間で情報または制御が転送されると、情
報または制御の転送のために、独立してクロックされる
2つの装置が同期させられる。しかし、この従来の方法
は全体の装置の動作の性能を低下させる。というのは、
制御信号を一方の時間領域の周波数から他方の時間領域
の周波数へ変化するために余分の時間を要するからであ
る。したがって、従来技術で経験される諸問題を克服す
るために改良したメモリ制御器および同期技術を必要と
する。
【0007】
【発明の概要】本発明は、クロックが互いに独立してい
るメモリ制御器と高速同期CPUをインターフェイスす
る装置と方法を提供するものである。本発明の重要な特
徴は、メモリ制御器とCPUの間のインターフェイスを
区分するやり方にある。この独特の区分技術を用いて、
CPUクロックはCPUと、メモリ制御器の外部に設け
られている制御インターフェイス状態トラッカとへ接続
される。それから制御インターフェイス状態トラッカが
メモリ制御器へ接続される。CPUに用いられるクロッ
クとは独立している別のクロックがメモリ制御器が結合
されて、メモリ制御器の動作をドライブする。状態トラ
ッカはCPUクロックの使用を要求する唯一の論理装置
である。この状態トラッカは、CPUバスサイクルをト
ラックし、メモリサイクルが終わった後、または受けら
れた後で「レディ」指示をCPUへ戻す。制御インター
フェイストラッカはDRAMタイミング制御信号の発生
や、タイミング制御信号を発生する別の機能論理装置の
トリガも行う。
るメモリ制御器と高速同期CPUをインターフェイスす
る装置と方法を提供するものである。本発明の重要な特
徴は、メモリ制御器とCPUの間のインターフェイスを
区分するやり方にある。この独特の区分技術を用いて、
CPUクロックはCPUと、メモリ制御器の外部に設け
られている制御インターフェイス状態トラッカとへ接続
される。それから制御インターフェイス状態トラッカが
メモリ制御器へ接続される。CPUに用いられるクロッ
クとは独立している別のクロックがメモリ制御器が結合
されて、メモリ制御器の動作をドライブする。状態トラ
ッカはCPUクロックの使用を要求する唯一の論理装置
である。この状態トラッカは、CPUバスサイクルをト
ラックし、メモリサイクルが終わった後、または受けら
れた後で「レディ」指示をCPUへ戻す。制御インター
フェイストラッカはDRAMタイミング制御信号の発生
や、タイミング制御信号を発生する別の機能論理装置の
トリガも行う。
【0008】コンピュータシステムの動作中は、CPU
はメモリ制御器の読出しサイクル要求または書込みサイ
クル要求を行う。CPUがサイクル「スタート」標識を
状態トラッカへ送る時にそれらのサイクルは開始され
る。サイクル「スタート」標識がCPUから検出される
と、状態トラッカはメモリ制御器に対するスタートスト
ローブ(クロック)を起動して、実際のメモリサイクル
をスタートさせる。メモリ制御器は、CPUとは独立し
ているそれ自身のタイミング素子または集積化された遅
延線を用いることにより、必要なDRAMタイミング制
御信号を発生する。DRAMタイミング制御が行われる
と同時に、メモリ制御器はCPUアドレスおよびメモリ
サイクル状態を受け、メモリアクセスの種類と長さを決
定する。メモリアクセスの種類と長さは、CPUアドレ
スと、メモリサイクル状態と、メモリアクセスのページ
ヒット/ミス条件を含むアクセス状態情報とを用いて決
定される。この情報を用いて、サイクル長帰還値が、サ
イクル長レジスタファイル内の適切なレジスタから得ら
れる。サイクル長帰還値は、メモリサイクルを終わらせ
るために必要とする待ち状態の量を示す。サイクル長帰
還は状態トラッカへ送られる。それから、サイクル長帰
還で示されるようにサイクル長時間が満たされた後で、
状態トラッカはレディ指示をCPUへ戻す。
はメモリ制御器の読出しサイクル要求または書込みサイ
クル要求を行う。CPUがサイクル「スタート」標識を
状態トラッカへ送る時にそれらのサイクルは開始され
る。サイクル「スタート」標識がCPUから検出される
と、状態トラッカはメモリ制御器に対するスタートスト
ローブ(クロック)を起動して、実際のメモリサイクル
をスタートさせる。メモリ制御器は、CPUとは独立し
ているそれ自身のタイミング素子または集積化された遅
延線を用いることにより、必要なDRAMタイミング制
御信号を発生する。DRAMタイミング制御が行われる
と同時に、メモリ制御器はCPUアドレスおよびメモリ
サイクル状態を受け、メモリアクセスの種類と長さを決
定する。メモリアクセスの種類と長さは、CPUアドレ
スと、メモリサイクル状態と、メモリアクセスのページ
ヒット/ミス条件を含むアクセス状態情報とを用いて決
定される。この情報を用いて、サイクル長帰還値が、サ
イクル長レジスタファイル内の適切なレジスタから得ら
れる。サイクル長帰還値は、メモリサイクルを終わらせ
るために必要とする待ち状態の量を示す。サイクル長帰
還は状態トラッカへ送られる。それから、サイクル長帰
還で示されるようにサイクル長時間が満たされた後で、
状態トラッカはレディ指示をCPUへ戻す。
【0009】本発明の方法を用いると、従来のメモリ制
御器の構成で経験されるような性能の低下は見られな
い。また、本発明のメモリ制御器はCPUのクロック速
度とは独立しているから、CPUクロック速度またはC
PUの種類が変わったとしても、外部インターフェイス
状態トラッカの変更を要するだけで、メモリ制御器を含
んでいるメモリサブシステムを容易にモジュール化でき
る。したがって、メモリ制御器により行われるメモリア
クセスは、メモリ装置の諸要求にとくに合わされた時間
領域において起こり、CPUの時間領域には制約されな
い。CPUの動作と歩調をそろえるのに十分速い技術で
制御インターフェイス状態トラッカを組込む必要がある
だけである。したがって、本発明の目的は、メモリ制御
器をCPUに同期させる必要がないと同時に、CPUか
らのメモリ制御器の同期切離しによる性能低下をもたら
さないようなコンピュータシステムを得ることである。
御器の構成で経験されるような性能の低下は見られな
い。また、本発明のメモリ制御器はCPUのクロック速
度とは独立しているから、CPUクロック速度またはC
PUの種類が変わったとしても、外部インターフェイス
状態トラッカの変更を要するだけで、メモリ制御器を含
んでいるメモリサブシステムを容易にモジュール化でき
る。したがって、メモリ制御器により行われるメモリア
クセスは、メモリ装置の諸要求にとくに合わされた時間
領域において起こり、CPUの時間領域には制約されな
い。CPUの動作と歩調をそろえるのに十分速い技術で
制御インターフェイス状態トラッカを組込む必要がある
だけである。したがって、本発明の目的は、メモリ制御
器をCPUに同期させる必要がないと同時に、CPUか
らのメモリ制御器の同期切離しによる性能低下をもたら
さないようなコンピュータシステムを得ることである。
【0010】本発明は、CPUクロックがメモリ制御器
クロックとは独立であるように、メモリ制御器を高速同
期CPUへインターフェイスする装置の方法を提供す
る。このようにして、性能が低下することがなく、かつ
CPUの速度または種類が変化してもメモリ制御器を頻
繁に変更することなしに、メモリ制御器はCPUと非同
期で動作できる。本発明のここでの説明においては中央
処理装置またはCPUという用語を用いるが、CPUに
ついて述べるのと等しい役割を他の装置が果たすことも
できる。たとえば、本発明の装置と方法を、メモリに対
してアクセスする任意の装置に等しく使用できる。それ
らの装置は、本願の出願人であるインテル・コーポレー
ション(Intel Corporation)により
製造されている82395のようなキャッシュ制御器、
または82596のようなLAN制御器を含む。本発明
を完全に理解できるようにするために、以下の説明にお
いては、特定のアーキテクチャおよびプロトコルについ
て述べる。しかし、そのような特定の詳細事項から離れ
た別の実施例で本発明を実施できることが当業者には明
らかであろう。その他の場合には、本発明の説明を不必
要にあいまいにしないようにするために、コンピュータ
システムおよびメモリ装置の周知の面についての詳しい
説明は省略する。
クロックとは独立であるように、メモリ制御器を高速同
期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が含まれる。
好適な実施例が示されている図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は
非同期的に動作する。
インテル社により製造されている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のメモリ読出しサイ
クル中およびメモリ書込みサイクル中のこのメモリアク
セスプロトコルの詳細については以下に説明する。
ック周波数の上昇の衝撃を和らげる独特の区分技術を利
用する。この区分技術の一部が、外部制御インターフェ
イス状態トラッカ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つのメモリバンクにまとめられ
る。
御信号を、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
のアサーションのためには、行のストローブの前に行う
プリチャージのための時間遅れが必要とされる。
00は、DRAM400の行に沿って、それから列を下
方へと、メモリアドレスを順次マップする。1行の全体
が、その行中のデータをアクセスするために用いられる
同じ行アドレスストローブ(RAS)へ接続される。各
列は、その列中のデータをアクセスするために用いられ
る列アドレスストローブ(CAS)へ接続される。典型
的なメモリアクセスにおいては、特定の行に対するRA
Sがまずアサートされ、それから、求められている特定
のデータ項目に対するCASがアサートされる。RAS
のアサーションのためには、行のストローブの前に行う
プリチャージのための時間遅れが必要とされる。
【0016】メモリアクセスの種類(読出しまたは書込
み)や、CPUにより順次にアクセスされるデータの場
所や、メモリアクセス要求が出された時のシステムの状
態に応じて、メモリサイクルの長さが異なることがあ
る。たとえば、メモリ内の同じ行に対して2回のアクセ
スを連続的に行う場合において、最初のアクセスの後で
RASが依然としてアサートされている状態で、同じ行
に対する2回目のアクセスが行われるようにすれば、2
回目のアクセスは1回目のアクセスより短い時間で行う
ことができる。その理由は、2回目のアクセスのために
RASを再アサートする時間をとる必要がないからであ
る。この種のメモリサイクルはページヒットサイクルと
名づけられる。ページヒットアクセスは最高速の種類の
メモリアクセスである。
み)や、CPUにより順次にアクセスされるデータの場
所や、メモリアクセス要求が出された時のシステムの状
態に応じて、メモリサイクルの長さが異なることがあ
る。たとえば、メモリ内の同じ行に対して2回のアクセ
スを連続的に行う場合において、最初のアクセスの後で
RASが依然としてアサートされている状態で、同じ行
に対する2回目のアクセスが行われるようにすれば、2
回目のアクセスは1回目のアクセスより短い時間で行う
ことができる。その理由は、2回目のアクセスのために
RASを再アサートする時間をとる必要がないからであ
る。この種のメモリサイクルはページヒットサイクルと
名づけられる。ページヒットアクセスは最高速の種類の
メモリアクセスである。
【0017】最初のアクセスの後でRASがアサートさ
れたままであるようにした場合に、2回目のアクセス
を、最初のサイクルでのアクセスが行われたのとは異な
る行に対して行うことがある。この場合には、最初のア
クセスから続いているRASを先ずデアサートし、2回
目のアクセス用の行についてのRASのストローブをす
ることになるが、RASのストローブをする前には行の
プリチャージ時間が必要となる。この種のメモリサイク
ルはページミスサイクルと名づけられる。この種のサイ
クルは、アクセス時間が最長になる。
れたままであるようにした場合に、2回目のアクセス
を、最初のサイクルでのアクセスが行われたのとは異な
る行に対して行うことがある。この場合には、最初のア
クセスから続いているRASを先ずデアサートし、2回
目のアクセス用の行についてのRASのストローブをす
ることになるが、RASのストローブをする前には行の
プリチャージ時間が必要となる。この種のメモリサイク
ルはページミスサイクルと名づけられる。この種のサイ
クルは、アクセス時間が最長になる。
【0018】他の状況、すなわち、最初のアクセスの後
で当該の行に対するRASがアサートされたままの状態
にはされない場合に、その同じ行に対して2回目のメモ
リアクセスを行うこともある。この場合には、以前のR
ASをデアサートする必要はない。しかし、新しいRA
Sをストローブする必要がある。通常このような場合に
は、最初のアクセスの後では新しいプリチャージ時間が
満たされている。したがって、新しいRASを直ちにア
サートできる。この種類のメモリサイクルは、行ミスサ
イクルと名づけられる。行ミスサイクルは、ページヒッ
トサイクルよりも遅いが、ページミスサイクルよりは速
い。
で当該の行に対するRASがアサートされたままの状態
にはされない場合に、その同じ行に対して2回目のメモ
リアクセスを行うこともある。この場合には、以前のR
ASをデアサートする必要はない。しかし、新しいRA
Sをストローブする必要がある。通常このような場合に
は、最初のアクセスの後では新しいプリチャージ時間が
満たされている。したがって、新しいRASを直ちにア
サートできる。この種類のメモリサイクルは、行ミスサ
イクルと名づけられる。行ミスサイクルは、ページヒッ
トサイクルよりも遅いが、ページミスサイクルよりは速
い。
【0019】他の種類のメモリサイクルは読出しサイク
ルと書込みサイクルを含む。読出しメモリサイクルは書
込みメモリサイクル中に要するのと同じ時間を要求しな
いことがある。したがって、メモリサイクルの読出しと
書込みの種類を区別すると便利である。
ルと書込みサイクルを含む。読出しメモリサイクルは書
込みメモリサイクル中に要するのと同じ時間を要求しな
いことがある。したがって、メモリサイクルの読出しと
書込みの種類を区別すると便利である。
【0020】メモリ制御器100は、DRAMタイミン
グ発生、メモリアレイ数、およびメモリサイクル長のよ
うな、装置の機能の構成と制御を指定するプログラム可
能なレジスタを多数含む。それらのレジスタは、電源投
入時の初期化において基本入力/出力システム(BIO
S)ソフトウェアの実行により典型的には実行される。
それらのプログラム可能なレジスタのセットがサイクル
長レジスタファイル120である。サイクル長レジスタ
ファイル120は、決定論的種類の各メモリサイクルに
対して要求される量のクロックサイクル(または待ち状
態の量)のプログラム可能な仕様をセットするための複
数のレジスタを含む。各種のメモリサイクルの例が、読
出しまたは書込みのサイクルと、ページヒットまたはペ
ージミスのサイクルと、または行ミスのサイクルとを含
む。それらの種類の各サイクルはそのサイクルを終わら
せるために必要な決定論的な数のクロックパルス(また
は待ち状態の量)を有する。このプログラム可能なサイ
クル長情報は、システムの初期化時に、サイクル長レジ
スタファイル120に格納される。
グ発生、メモリアレイ数、およびメモリサイクル長のよ
うな、装置の機能の構成と制御を指定するプログラム可
能なレジスタを多数含む。それらのレジスタは、電源投
入時の初期化において基本入力/出力システム(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
をリフレッシュするための適切なリフレッシュタイミン
グの発生も行う。
ページヒット検出論理セグメント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)サイク
ルを行うためには、同期の罰が課されない。
ク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へ送られ、それ
により同期の不利益をこうむらない。
論的サイクルメモリアクセスを制御するために、本発明
の非同期プロトコルが用いられる。それらのメモリは決
定論的であるから、各サイクルの正確な長さ(すなわ
ち、サイクルを完了するために必要なクロックパルスま
たは待ち状態の数)が予め定められる。このサイクル長
情報はプログラム可能であって、サイクル長レジスタフ
ァイル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へ転送される。
は書込みサイクルの間における本発明のプロトコルのタ
イミング図が示されている図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へデータを書込むことができる。
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に保持する前に、サイ
クル長帰還値により指定されたサイクル数の間遅れる。
0により行われる機能をCPU200のアーキテクチャ
とオペレーションに組込むことができる。この場合に
は、外部制御インターフェイス状態トラッカは本発明の
コンピュータシステムには存在しない。その代わりに、
線210へ転送されるサイクルスタート信号は、メモリ
アクセスサイクルをスタートさせるために、メモリ制御
器100へ直接送られる。今は存在しない状態トラッカ
からのスタートストローブ信号は不要である。また、サ
イクル長帰還情報がメモリ制御器100からCPU20
0へ直接送られる。CPU200は、読出しメモリ動作
のためにデータをデータ線221に保持する前に、サイ
クル長帰還値により指定されたサイクル数の間遅れる。
【0027】以上、互いに独立したクロックを用いるメ
モリ制御器と高速同期CPUをインターフェイスする装
置と方法を開示した。
モリ制御器と高速同期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)
- 【請求項1】 中央処理装置(CPU)とメモリとを有
するコンピュータ装置における、前記CPUから前記メ
モリへのアクセスを制御するインターフェイス装置であ
って、(a) 前記メモリ中のアドレスすべき場所に対応するメモ
リアドレスを前記CPUから受けてデコードするアドレ
スデコーダを備え、このアドレスデコーダには、前記メ
モリへのアクセスが読出しアクセスであることを示す読
出し状態と前記メモリへのアクセスが書込みアクセスで
あることを示す書込み状態とを含むメモリサイクル状態
を、前記CPUから受けてデコードする論理手段が設け
られており ;(b) 前記メモリ中の前記場所へのアクセスに要するサイ
クルの量に関するデータをプログラム可能に記憶する記
憶ファイルを備え、この記憶ファイルには、前記データ
に基づいて前記メモリ中の前記場所へのアクセスに必要
であると決定されたサイクルの量を、当該アクセスの完
了前に、前記CPUへ送る転送論理も含まれており ;(c) 前記CPUへ送られた前記サイクルの量に対応する
サイクル数で前記メモリへのアクセスを終わらせるメモ
リ・タイミング・ユニットを備え、前記アドレスレコー
ダにはページ信号を生じる論理が含まれ、前記ページ信
号は、受けたアドレスが前記メモリ中の現在アクティブ
である行中の場所に対応しているならばページ・ヒット
状態を示し、受けたアドレスが前記メモリ中の現在アク
ティブである行中の場所ではない場所に対応しているな
らばページ・ミス状態を示し、受けたアドレスが前記メ
モリ中の場所に対応するが、前記メモリ中には現在アク
ティブである行が存在していないならば、行ミス状態を
示す信号であり ;前記転送論理によって前記CPUへ送られるべきサイク
ルの量は、記憶されている前記データに基づいて、前記
CPUからの前記メモリサイクル状態と前記ページ信号
とに依存して決定されることを特徴とするインターフェ
イス装置 。 - 【請求項2】 中央処理装置(CPU)と、このCPU
へ結合された第1のクロック信号発生器と、前記CPU
へ結合されたメモリとを有するコンピュータ装置におい
て、 i)前記CPUと、状態トラッカと、前記メモリとへ結
合され、前記第1のクロック信号発生器とは独立に動作
するメモリ制御器と、 ii)前記CPUと前記第1のクロック信号発生器へ結合
された状態トラッカとを備え、 前記メモリ制御器は、 a)前記CPUから、前記メモリ内のアクセスすべき場
所に対応するメモリアドレスを受けて復号する手段と、 b)メモリに対する前記アクセスが読出しアクセスであ
ることを示す読出し状態と、メモリに対する前記アクセ
スが書込みアクセスであることを示す書込み状態とを有
するメモリサイクル状態を受けて、そのメモリサイクル
状態を復号する手段と、 c)メモリ内の前記場所をアクセスするために必要なサ
イクルの量を決定する手段と、 d)メモリ内の前記場所に対するアクセスが終わる前に
サイクルの前記量を前記状態トラッカへ送る手段と、 e)前記状態トラッカへ送られるサイクルの前記量に対
応するサイクル数でメモリに対する前記アクセスを終わ
らせる手段と、 を含み、 前記状態トラッカは、 f)前記メモリ制御器によるメモリ内の前記場所に対す
るアクセスが終わる前に、前記メモリ制御器から、サイ
クルの前記量を受ける手段と、 g)前記メモリ制御器から受けたサイクルの前記量に対
応させてサイクルの数を遅らせる手段と、 h)この遅らせる手段が前記サイクル数を遅らせた後
で、レディ信号を前記CPUへ送る手段と、 を含むことを特徴とする中央処理装置によりメモリに対
するアクセスを制御する装置。 - 【請求項3】 中央処理装置(CPU)と、メモリと、
前記CPUおよび前 記メモリ間に結合されたインターフ
ェイス装置とを備えるコンピュータ装置であって、前記CPUから前記メモリへのアクセスを制御するイン
ターフェイス装置には 、(a) 前記メモリ中のアドレスすべき場所に対応するメモ
リアドレスを前記CPUから受けてデコードするアドレ
スデコーダが備えられ、このアドレスデコーダには、前
記メモリへのアクセスが読出しアクセスであることを示
す読出し状態と前記メモリへのアクセスが書込みアクセ
スであることを示す書込み状態とを含むメモリサイクル
状態を、前記CPUから受けてデコードする論理手段が
設けられており ;(b) 前記メモリ中の前記場所へのアクセスに要するサイ
クルの量に関するデータをプログラム可能に記憶する記
憶ファイルが備えられ、この記憶ファイルには、前記デ
ータに基づいて前記メモリ中の前記場所へのアクセスに
必要であると決定されたサイクルの量を、当該アクセス
の完了前に、前記CPUへ送る転送論理も含まれてお
り ;(c) 前記CPUへ送られた前記サイクルの量に対応する
サイクル数で前記メモリへのアクセスを終わらせるメモ
リ・タイミング・ユニットが備えられ、前記アドレスレ
コーダにはページ信号を生じる論理が含まれ、前記ペー
ジ信号は、受けたアドレスが前記メモリ中の現在アクテ
ィブである行中の場所に対応しているならばページ・ヒ
ット状態を示し、受けたアドレスが前記メモリ中の現在
アクティブである行中の場所ではない場所に対応してい
るならばページ・ミス状態を示し、受けたアドレスが前
記メモリ中の場所に対応するが、前記メモリ中には現在
アクティブである行が存在していないならば、行ミス状
態を示す信号であり ;前記転送論理によって前記CPUへ送られるべきサイク
ルの量は、記憶されている前記データに基づいて、前記
CPUからの前記メモリサイクル状態と前記ページ信号
とに依存して決定されることを特徴とする、中央処理装
置(CPU)とメモリおよびインターフェイス装置を備
えるコンピュータ装置 。
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)
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)
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 |
-
1990
- 1990-11-09 US US07/611,183 patent/US5239639A/en not_active Expired - Lifetime
-
1991
- 1991-11-11 JP JP32153091A patent/JP3220805B2/ja not_active Expired - Fee Related
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 |