JPH096713A - システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム - Google Patents
システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステムInfo
- Publication number
- JPH096713A JPH096713A JP15016595A JP15016595A JPH096713A JP H096713 A JPH096713 A JP H096713A JP 15016595 A JP15016595 A JP 15016595A JP 15016595 A JP15016595 A JP 15016595A JP H096713 A JPH096713 A JP H096713A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- pci
- signal
- bus
- address
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 236
- 238000012546 transfer Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims description 30
- 238000005457 optimization Methods 0.000 title 2
- 230000002093 peripheral effect Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 17
- 239000003999 initiator Substances 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 239000003990 capacitor Substances 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 101100005249 Escherichia coli (strain K12) ygcB gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 101150055191 cas3 gene Proteins 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100086437 Drosophila melanogaster Rap1 gene Proteins 0.000 description 1
- 101100247326 Mucor circinelloides f. lusitanicus RAS3 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 235000005282 vitamin D3 Nutrition 0.000 description 1
- 239000011647 vitamin D3 Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
送の時間を最適化するためのシステムを提供する。 【構成】 このシステムはPCIマスタとのデータ転送
を調整するPCIブリッジと主メモリへのアクセスを制
御するメモリコントローラとを備えた集積プロセッサを
含む。PCIマスタがタイムリーに応答できなければ、
PCIブリッジはMEMWAIT信号をメモリコントロ
ーラにアサートしてデータ転送を減速させる必要がある
ことを示し、次のメモリアドレスを与えてメモリ内の適
切なページを開くことを可能にし、適切な行アドレスス
トローブラインをアサートして後続のデータ転送を速め
る。MEMWAITがデアサートされると、メモリコン
トローラは直ちに列アドレスストローブをアサートして
データを駆動する。メモリ内のページを早く開いて、R
ASアクセス時間およびRASプリチャージ時間を節約
する。
Description
ュータシステム内の周辺構成要素との間のデータの転送
に関する。より特定的には、本発明は、中央処理装置
(CPU)の外部にある構成要素と主メモリとの間のト
ランザクションを速めるためのシステムに関する。さら
に特定的には、本発明は主メモリと周辺マスタコントロ
ーラとの間のデータの転送を最適化するためのシステム
に関する。
モリとコンピュータシステム内の他の構成要素との間で
転送される。まずアクセスする構成要素が、所望のメモ
リ位置のアドレスを表わす信号をアドレスバスを介して
発生する。次のまたは後続のクロックサイクルで、その
構成要素がデータバスを介して実際にデータをアドレス
指定したメモリ位置に、またはそこから転送する。ほと
んどのコンピュータシステムでは、メモリへのデータア
クセスに要するクロックサイクル数は、メモリにアクセ
スする構成要素とメモリユニットの速度とに依存する。
メータに基づく。第1のパラメータはメモリアクセス時
間であり、これは、メモリアドレスを設定し、データバ
スを介して、またはそれからデータを生成する、または
捕捉するのにメモリ回路が必要とする最小の時間であ
る。第2のパラメータはメモリサイクル時間であり、こ
れはメモリ回路への2つの連続するアクセス間に必要な
最小の時間である。典型的にコンピュータシステムの主
ワーキングメモリを構成するのに用いられるダイナミッ
クランダムアクセスメモリ(DRAM)回路では、サイ
クル時間は典型的にはアクセス時間の約2倍である。D
RAM回路は一般に、約60−100ナノ秒の範囲のア
クセス時間を有し、サイクル時間は120−200ナノ
秒である。DRAM回路内の連続メモリアクセスに要す
る余分な時間が必要なのは、内部メモリ回路がデータ信
号を正確に生成するためにリチャージ(またはプリチャ
ージ)するためのさらなる時間を必要とするためであ
る。したがって、10Mhzで動作するマイクロプロセ
ッサは、このようなマイクロプロセッサにおけるクロッ
クパルスが100ナノ秒ごとに発生されるにもかかわら
ず、同じ100ナノ秒チップに対して連続して(すなわ
ち隣接するクロックパルスで)2つのメモリアクセスを
行なうことはできない。DRAMチップはそのチップ内
の次のアドレスにアクセスし得る前に安定するための時
間を必要とする。結果として、このような状態ではマイ
クロプロセッサはDRAM回路内のデータへのアクセス
を得るまでに1つ以上のループサイクルを行なわなくて
はならない。典型的には、メモリコントローラユニット
(MCU)がコンピュータシステムの一部として設けら
れて、DRAM主メモリへのアクセスを調整する。
る遅延に加えて、DRAM回路はまた、記憶データの整
合性を守るために周期的なリフレッシュサイクルを必要
とする。これらのサイクルはメモリアクセスに利用可能
な時間の約5〜10%を消費し、典型的には4ミリ秒ご
とに256のリフレッシュサイクルを必要とする。DR
AM回路が周期的にリフレッシュされなければ、DRA
M回路内に記憶されたデータは失われてしまう。
成されるメモリは、常に中央処理装置(CPU)または
周辺マスタコントローラによって割当てられた時間間隔
内でメモリアクセスに応答できるわけではない。この場
合、データバスを介してデータの準備ができるまで、ま
たはデータバスからのデータがメモリ回路によって記憶
されるまでに補足プロセッササイクルまたは待ち状態が
必要であることを外部回路がCPU(または周辺マスタ
コントローラ)に伝えなくてはならない。CPUの処理
を遅くするだけでなく、待ち状態は一般にCPUローカ
ルバスの使用を必要とし、それによって他のシステム回
路によるバスへのアクセスを制限してしまう。
プロセッサが開発されるにつれて、これらの新しいプロ
セッサの能力をフルに利用するには待ち状態を最小にす
ることが有利である。しかしながら、パーソナルコンピ
ュータにおいてこれらの新世代の高速プロセッサの最大
の利点を得るのは、DRAM主メモリ等のシステム内の
他の構成要素のサイズおよび電力の制約のために、特に
難しい。技術的または科学的計算や計算機援用設計のプ
ログラム等を伴うメモリ集約型のアプリケーションで
は、メモリアクセス時間がシステムの動作を大きく遅延
させるおそれがある。
0のブロック図であり、マイクロプロセッサまたは中央
処理装置(CPU)12と、CPU12に結合されるC
PUローカルバス14と、双方ともCPUローカルバス
14に結合されるメモリコントローラ16およびローカ
ルバス周辺装置18とを含む。メモリバス15を介して
メモリコントローラ16に結合されるシステムメモリ1
7も示される。さらに、PCI標準バス20がPCIバ
スブリッジ22を介してCPUローカルバス14に結合
する。PCIバス20に結合されるPCI周辺装置28
が示される。PCI周辺装置28は、PCIマスタサイ
クルの間にPCIバスの所有権を主張できるPCIマス
タコントローラを含んでもよい。
モデル80486マイクロプロセッサを含んでもよく、
CPUローカルバス14は80486スタイルローカル
バスを含んでもよい。CPUローカルバス14は、デー
タラインの組D[31:0]、アドレスラインの組A
[31:0]、および制御ラインの組(特定的には図示
せず)を含む。80486CPUローカルバス14のプ
ロトコルおよび種々のバスサイクルに関する詳細は当該
分野では周知であり、多くの刊行物に見られるのでここ
では詳細には議論しない。CPU12、メモリコントロ
ーラ16およびPCIバスブリッジ22は従来は別個の
集積回路チップ上に製造されていた。しかしながら、コ
ンピュータシステムにおける最近の傾向としては、CP
Uコアが単一の集積プロセッサチップ上に種々の周辺装
置と組合されている。例示的な集積プロセッサチップ
は、内部CPUローカルバスと外部PCIバスとの間の
高性能インタフェースを与えるバスブリッジを含む。外
部PCIバスに高性能インタフェースを与えることによ
って、外部データ転送に関して比較的高性能の特性を達
成することができる。
ルバス14とPCIバス20との間の標準的なインタフ
ェースを与える。このように、PCIバスブリッジ22
は2つのバス間のデータ、アドレスおよび制御信号の転
送を調整する。PCIバス20は典型的には、マルチプ
レクスされるデータ/アドレスラインを含む高性能周辺
バスを含み、これはバーストモードデータ転送をサポー
トする。
バーストサイクルを介して高速で連続する記憶場所への
読出または書込を可能にする。メモリからの読出または
書込のための通常の手順では、第1のクロックサイクル
でCPUがアドレスバスを介してアドレス信号を発生
し、後続のクロックサイクルでデータがシステムメモリ
17へ、またはそれから転送される。データバスは32
ビット幅なので、合計4つの8ビットバイトのデータが
2クロックサイクルごとにCPUによって読出される
か、または書込まれることが可能である。データバスを
介して転送される4つの8ビットバイトの各組は、「倍
長語」と称する。バーストモードでは、アドレス段階に
干渉することなく後続のクロックサイクルの間にさらな
るシーケンシャルな倍長語を転送できる。たとえば、開
始アドレスのみがアドレスバスを介して送られるので、
合計4つの倍長語が5クロックサイクルだけを用いてC
PUに読出され、次に第1の倍長語データが第2のサイ
クルの間に読出され、第3のサイクルの間に次の倍長語
データが読出されるといった具合である。これによって
バーストモード動作は比較的速いデータ転送速度を与え
る。
PCIマスタコントローラを含んでもよい。従来の技術
に従えば、PCIマスタはPCIバスの「所有権」をリ
クエストしてPCIバス20を介したトランザクション
を制御することができる。当業者には理解されるよう
に、コンピュータシステム内に複数のPCIマスタが含
まれてもよく、このいずれもPCIバス20の所有権を
リクエストできる。PCIマスタはPCIバス20内の
制御ラインを介してPCIブリッジ22にPCIバス2
0の所有権に対するリクエストを出す。PCIバスブリ
ッジ22は典型的には、種々のPCIマスタ間、および
CPU12等の内部マスタと他の内部マスタ間の所有権
のリクエストを調停する。典型的には、種々のマスタの
各々に優先権のランクが割当てられてその優先権を決定
する際にバスブリッジ22を補助する。
も、ローカルバスマスタとしても動作し得る。CPU1
2が集積プロセッサ外部のPCI「スレーブ」にアクセ
スすると、PCIブリッジ22はPCIマスタとして動
作する。典型的には、PCIブリッジ22のこれらのP
CIマスタサイクルの間に、CPU12または別のロー
カルバスマスタ(たとえばDMAコントローラ)がCP
Uローカルバス14を所有し、PCIブリッジ22がP
CIバス20を所有する。逆に、CPUローカルバス1
4上にある装置に対するPCI外部マスタアクセスに関
しては、PCIブリッジ22は外部マスタに関してター
ゲットまたはスレーブとして機能し、CPUローカルバ
ス14のマスタとして機能する。
装置28等)がPCIバス20の所有権を得て、メモリ
コントローラ16等のCPUローカルバス上にある装置
に対応するサイクルを始めると、PCIブリッジ22は
ローカルバス14の所有権を得る。この期間中に、CP
U12および他の内部マスタはローカルバス14を用い
ることはできない。これによって、上述のように主メモ
リ17内のデータへのアクセスは少なくとも数クロック
サイクルを要するので、システムの動作にかなりの遅延
が生じる恐れがあり、CPU12等の他のシステム資源
は、外部マスタから/にデータがアクセスされている
間、待たなくてはならない。PCIマスタは非常に遅い
速度でデータを転送し得るし、かつバーストデータ転送
の実行中に複数の倍長語を転送し得ることがこの問題を
さらに大きくしている。結果として、PCIマスタが低
速でシステムメモリ17にアクセスすると、システムメ
モリバスおよびCPUローカルバスのバンド幅が制限さ
れる。
マスタ装置から主メモリへのデータアクセスを調整する
PCIブリッジを含むコンピュータシステムを提供する
ことによって、大部分解決される。PCIバスブリッジ
は、PCIマスタによって実行されるバーストメモリサ
イクルをCPUローカルバス上の単一のメモリサイクル
に変換する。PCIマスタが書込サイクルの間にデータ
を送信する、または読出サイクルの間にデータを受信す
る準備ができていない場合にCPUローカルバスを介し
て次のデータトランザクションのメモリアドレスを駆動
することによってデータトランザクションを最適化する
ようにPCIブリッジが機能する。メモリコントローラ
ユニット(MCU)はCPUローカルバスからメモリア
ドレスを受取り、これが有効メモリ領域内にあることを
判断し、アドレス信号を行アドレス信号および列アドレ
ス信号にデコードする。行アドレス信号は直ちにDRA
Mメモリに適切な行アドレスストローブ信号(RAS)
とともに入力され、アクセスされるメモリのページおよ
びバンクを示す。DRAMメモリは、メモリの適切なペ
ージを開くことによって応答し、PCIマスタがデータ
を与えるまたは受取る準備ができるまでMCUが待たな
くてはならなければDRAMページを開くのに必要であ
ろうプリチャージ時間およびアクセス時間を節約する。
CIブリッジが待つ、またはPCIマスタが読出データ
を受取る準備ができたことを示す(バースト書込および
読出に関する第1のデータトランザクションの後)のを
待つ間、PCIブリッジはMEMWAIT信号をMCU
に対してアサートして、データがまだ書込まれるかまた
は読出される準備ができていないことを示す。しかしな
がら、このMEMWAIT期間の間であり、かつPCI
がローカルバスの所有権を有している間、MCUは次の
アドレス信号を用いてメモリの適切なページを開き、後
続のデータ転送を速める。マスタからデータがPCIブ
リッジによって受取られると(またはマスタがデータを
読出す準備ができたことを示すと)、PCIブリッジは
MEMWAIT信号をデアサートし、MCUが列アドレ
スストローブ(CAS)信号をアサートして、データ転
送を行なう。
たは現在PCIブリッジによってラッチされているデー
タを読出す準備ができたことを示すのをPCIブリッジ
が待つ間、MEMWAIT信号をアサートするのと実質
的に同時に、PCIブリッジはローカルバスアドレスス
トローブADS#を駆動して、次のデータトランザクシ
ョンをはじめ、次のトランザクションのメモリアドレス
を駆動する。アドレスおよび制御信号を与えることによ
ってより早く次のデータトランザクションを始めること
によって、MCUはアドレス信号をデコードし、かつD
RAMページを開くことができ、一方で同時にマスタ装
置はデータを受取るまたは駆動する準備をする。DRA
Mページが開かれ、MEMWAIT信号がアクティブで
ある間、PCIブリッジがMEMWAITラインをデア
サートしてPCIマスタがデータ転送を完了する準備が
できたことを示すまで、MCUは「減速する」または待
ち状態サイクルを介してループする。
よってデアサートされると、MCUはメモリアクセスを
「加速」し、DRAMページを開いたままでBRDY#
ラインをアサートすることによってサイクルを完了す
る。BRDY#がアサートされると、PCIブリッジ
は、ADS#をアサートして新しいアドレスをCPUロ
ーカルバスへと駆動することによって次のサイクルを始
める。PCIブリッジがMEMWAITをアサートして
メモリバスを減速し、その間にMCUがアドレスをデコ
ードして次のアクセスが同じDRAMページまたはDR
AMバンク内にあるかどうかを判断する。MEMWAI
Tがアサートされるている間に、適切なDRAMページ
を開くことによって次のアクセスが行なわれる。
システムメモリのバンクのうちの何らかのものに対して
システムタイマによってリフレッシュサイクルが始めら
れて、そのバンク内のDRAM回路をリフレッシュでき
る。MCUはリフレッシュサイクルがサービスされる前
にまずアドレスされたメモリ位置をラッチしなくてはな
らない。リフレッシュが完了した後、その間に別のペー
ジへのアドレスが受取られるのでない限り、メモリ内の
前のページが再び開かれる。
面を参照して、以下の説明を読むことにより明らかにな
るであろう。
が可能だが、その具体的な実施例を例として図面に示
し、ここに詳細に説明する。しかしながら、図面および
その詳細な説明は本発明を開示する特定の形に制限する
ものではなく、本発明は前掲の特許請求の範囲によって
規定されるその範囲および精神に含まれるすべての変
形、均等物および代替物を包含するものである。
に従って構成されるコンピュータシステムは一般に、集
積プロセッサ(IP)50と、PCIバス100を介し
て集積プロセッサ50に接続される外部PCIマスタ7
5と、好ましくはメモリバス150によって集積プロセ
ッサ50に接続されるDRAM回路からなる主メモリユ
ニット125とを含む。集積プロセッサ50は好ましく
は、CPUコア60と、CPUコア60に結合されるC
PUローカルバス65と、ローカルバス65と外部PC
Iバス100との間でデータ、アドレス、および制御信
号をインタフェースさせることができるPCIバスブリ
ッジ80と、メモリコントローラユニット(MCU)9
0と、タイマ85と、オンチップ周辺装置70とを含
む。集積プロセッサ50の図示される構成要素の各々
は、好ましくは単一の集積回路上に製造され、共通の集
積回路パッケージ内に収容される。
デル80486マイクロプロセッサ命令セットを実現
し、CPUバス65はモデル80486スタイルローカ
ルバスを含む。したがって、好ましい実施例において、
CPUローカルバス65は32ビット組のデータライン
D[31:0]と、32ビット組のアドレスラインA
[31:0]と、1組の制御ライン(具体的には図示せ
ず)とを含む。しかしながら、CPUコアは、本発明の
原理から逸脱することなく、他のマイクロプロセッサタ
イプの命令セットを実現するように構成されてもよいこ
とを理解されたい。
ブリッジ80は好ましくはバスインタフェースユニット
(BIU)(具体的には図示せず)の一部を形成し、C
PUローカルバス65とPCIバス100との間の標準
的なインタフェースを与える。このように、PCIバス
ブリッジ80は、CPUローカルバス65とPCIバス
100との間のデータ、アドレス、および制御信号の転
送を調整する。認められるように、CPUローカルバス
65は好ましくは80486スタイルローカルバスを含
み、これは当業者には周知であるように別個のアドレス
およびデータラインを含み、一方PCIバス100は複
数のマルチプレクスされるアドレス/データラインを含
む。したがって、当業者には理解されるように、PCI
バスブリッジ80は、好ましくはローカルバス65の3
2ビットアドレスラインA[31:0]をPCIバス1
00上のマルチプレクスされるアドレス/データライン
AD[31:0]に適切なマルチプレクスユニット(図
示せず)を介して接続するように機能する。同様に、P
CIブリッジ80は、ローカルバス65の32ビットデ
ータラインD[31:0]をPCIバス100のマルチ
プレクスされるアドレス/データラインAD[31:
0]に直接接続する。
ルバス65の制御ラインを介して駆動されるいくつかの
制御信号、ADS#、R/W、M/IO、バイトイネー
ブル(C/BE#)、D/CおよびBLAST#を発生
する。通常の規定に従って、ADS#はCPUローカル
バス65を介して読出または書込サイクルを始めるよう
に機能するアドレスストローブ制御信号である。PCI
ブリッジ80は、ローカルバス65上にターゲットを有
するバスサイクルのためにADS#信号を発生する。A
DS#信号は、好ましくはアクティブ・ロー・ストロー
ブ信号である。PCIブリッジ80はまた、PCIバス
上のC/BE#(0)ラインの状態に応答してR/W信
号を発生して、トランザクションが読出または書込サイ
クルを含むかどうかを示す。M/IOは、メモリまたは
I/O装置にサイクル状態を示す。最後に、BLAST
#信号は、データがローカルバス上の単一のアクセスに
おいて転送されているのか、またはバーストモードにお
いて転送されているのかを示す。好ましい実施例に従え
ば、PCIブリッジ80はまた、メモリコントローラユ
ニット(MCU)90にMEMWAIT信号を送り、こ
れからMEMHIT信号を受取る。これらの信号は、図
2に示されるようにPCIブリッジ80とMCU90と
の間の直接の電気的接続を介して伝送されてもよく、ま
たはCPUローカルバス65内の制御線を介して与えら
れてもよい。
ルバス上の構成要素からRDY#/BRDY#制御信号
を受取って、その構成要素によるサイクルの完了を示
す。たとえば、メモリコントローラ90がBRDY#を
アサートすると、データラインD[31:0]を介して
データを与えていること、またはデータを受取ったこと
を示す。PCIバス100の側で、PCIブリッジ80
は、図2に示されるように好ましくはPCIマスタ75
に制御ラインを介して接続するTRDY#出力信号を発
生する。同様に、PCIブリッジ80は、好ましくはP
CIマスタ75と集積プロセッサ50との間の制御ライ
ンを介してPCIマスタ75からIRDY#を受取る。
IRDY#およびTRDY#の双方ともがアサートされ
るとデータが転送される。
は複数のバスマスタをサポートすることができるマルチ
マスタバスである。CPU60、PCIブリッジ80、
および周辺装置70(たとえば直接メモリアクセスコン
トローラを含み得る)は各々、CPUローカルバス65
の所有権を主張することができる。これらの内部マスタ
による内部ローカルバス65の所有権は、典型的にはバ
スインタフェースユニット(BIU)または他のバスア
ービタ(具体的には図示せず)によって調停される。
細に説明するように、PCIブリッジ80はPCIマス
タとして機能し得る。集積プロセッサ50が外部PCI
「スレーブ」にアクセスすると、PCIブリッジ80
は、PCIバス100の所有権を得ることによって他の
外部PCIマスタと同様に動作する。したがって、CP
Uコア60、または周辺装置70がCPUローカルバス
65の所有権を主張すると、PCIブリッジ80は、好
ましくは、サイクルがPCIバス100上にある装置に
向けられていれば、PCIバス100の所有権を主張す
る。
バス65上にある装置に対してアクセスを求める場合に
は、PCIブリッジ80は外部PCIマスタに関するタ
ーゲットまたはスレーブとして動作する。PCIブリッ
ジはこれに応答してCPUローカルバス65上で対応す
るサイクルを実行し、それによって外部PCIマスタが
たとえばシステムメモリ125内に割当てられたデータ
を読出し、かつ書込むことを可能にする。したがって、
これらのPCIマスタサイクルの間に、外部PCIマス
タはPCIバス100を所有し、PCIブリッジ80は
ローカルバス65を所有する。PCIブリッジ80がC
PUローカルバス65の所有権をリクエストすると、H
OLDリクエストをCPU60に発生し、マスタシップ
が付与されるとCPU60はPCIブリッジ80に肯定
応答信号HLDAを戻す。
メモリ125への高性能32ビットデータ経路をサポー
トする統合制御ユニットを含む。好ましい実施例におい
ては、メモリコントローラ90は工業規格モジュールを
用いて256MBまでのDRAMをサポートする4つの
32ビットバンクの直接の接続を与える。MCU90は
主メモリ125へのアクセスを制御し、CPUローカル
バス65に接続して、CPU60、PCIブリッジ80
および他の周辺装置(包括的に70として示される)の
ためのメモリへの経路を与える。上述のように、MCU
90は好ましくは、本発明の原理に従ってPCIブリッ
ジ80にMEMHIT信号を与え、PCIブリッジから
MEMWAIT信号を受取る。MCU90はシステムタ
イマ85からタイミング信号を受取る。
しくは主メモリ125に、アドレスラインMA[11:
0]、メモリデータラインMD[31:0]、行アドレ
スストローブ(RAS)ラインRAS#(3:0)、列
アドレスストローブ(CAS)ラインCAS#(3:
0)および書込イネーブルラインWE#を含むメモリバ
ス150を介して接続する。アドレス信号はメモリアド
レスラインMA[11:0]を介して伝送され、マルチ
プレクスされる、およびマルチプレクスされないメモリ
装置のためにアクセスされるメモリ内の位置を選択す
る。データライン(MD31─MD0)は、従来の技術
に従って、DRAM回路および集積プロセッサ50、ま
たは他の外部装置に、およびこれらからデータを転送す
るためのメモリデータバスラインである。書込イネーブ
ル信号WE#は、メモリアクセスが書込サイクルである
かどうかを示し、典型的にはCPUローカルバス上のW
/R制御信号から捕捉される。
ブ(RAS)ライン(RAS3#−RAS0#)は、好
ましくは、各DRAMバンクに関してメモリアドレスバ
スMA[11:0]から行アドレスデータをクロックイ
ンするためにDRAM回路が用いるアクティブロー出力
を含む。好ましい実施例では、1つのRASラインが各
バンク専用となる。4つのDRAMバンクが用いられる
好ましい実施例では4つのRASラインが設けられる。
同様に、4つの列アドレスストローブ(CAS)ライン
(CAS3#−CAS0#)は、1バイトにつき1CA
Sで、DRAMバイトの各バンクに対してメモリアドレ
スバスMA[11:0]から列アドレスデータをクロッ
クインするのにDRAM回路が用いるアクティブロー出
力として設けられる。したがって、たとえばCAS3#
は各DARMバンク内のバイト3に関するDRAM列ア
ドレスストローブである。
好ましくは、各バンクが32ビット(すなわち4バイ
ト)幅である複数のバンクに構成されるDRAM回路を
含む。当業者には理解されるように、DRAMバンクの
各々は典型的には「ページ」にさらに分割される。ペー
ジサイズは、使用されるそれぞれのDRAMチップのサ
イズに依存する。システムボード上に配置され得るチッ
プの数を減らすようにより少ないコネクタピンでDRA
Mチップが動作することを可能にするために、DRAM
チップはマルチプレクスされた態様でアドレスされる。
すなわち、各メモリセルのアドレスが2つの部分に分け
て伝送される。アドレスの前半は行アドレスを規定し、
後半は列アドレスを規定する。好ましい実施例では、メ
モリアドレスバスMA(11:0)の最初の12のライ
ンはマルチプレクスされる出力であり、RAS信号の間
に行アドレス位置を、CAS信号の間に列アドレス位置
を伝える。したがって、個々のメモリセルが列アドレス
および行アドレスによって選択される。行アドレスおよ
び列アドレス信号がDRAMメモリに入力される従来の
態様は、図3および4の従来のタイミング図に示され
る。図3(読出サイクル)および図4(書込サイクル)
に一般的に示されるように、RAS(行アドレスストロ
ーブ)制御ラインがアサートされると(すなわちRAS
がローに駆動されると)、行アドレスがDRAMメモリ
のアドレス入力に駆動される。これは行アドレスを内部
行アドレスラッチにクロックする。行アドレスは、RA
Sがアサートされる前の期間(tASR )と、RASがア
サートされた後の期間(tRAH )との間、安定していな
くてはならない。アドレス入力は次に列アドレスに変え
られ、CAS(列アドレスストローブ)がアサートされ
る(CASがローに駆動される)。CASはまた出力イ
ネーブルとして機能して、CASがアサートされると必
ずデータピンアウト上の3状態ドライバが可能化される
ようにする。CASがアサートされ得る時間は、最小の
RAS対CAS遅延期間(tRCD )によって決定され
る。RASからのアクセス時間(tRAC )およびCAS
からのアクセス時間(tCAC )の両方が出会ってから、
データが利用可能となる。性能の制限はRASからのア
クセス時間(tRAC )によって決定される。メモリアク
セスにとって決定的となる別のタイミングパラメータは
RASプリチャージ時間(tRP)である。プリチャージ
時間(tRP)とは、DRAM回路が前のアクセスから回
復するのに必要な時間のことである。データが利用可能
となった瞬間に同じDRAM装置への別のサイクルが始
められるわけではない。したがって、ダイナミックメモ
リに対するサイクル時間はアクセス時間を上回る。アク
セス時間とサイクル時間との差がプリチャージ時間であ
る。DRAM回路のこれらのタイミング特性は、メモリ
トランザクションを迅速にしようとすると決定的なもの
となる。
125の動作に関する別の重要なファクタは、DRAM
回路の周期的リフレッシュの必要性に関する。当業者に
は理解されるように、データビットをストアするのに個
々のDRAM回路において用いられるトランジスタは典
型的には1つだけである。トランジスタは、単に、キャ
パシタにわずかな電荷をストアするスイッチとして機能
する。電荷の量は「0」がストアされるか、「1」がス
トアされるかを決定する。どのキャパシタにも漏れがあ
るので、DRAMチップ内のキャパシタの電荷は、絶縁
体の損失の結果、ゆっくりと放散する。最終的にキャパ
シタの電荷は完全に放散し、メモリ内容が失われてしま
う恐れがある。この問題に対する解決法は、データが失
われる前にDRAM回路を読出し、同じデータをDRA
Mチップに再度書込むことである。この手順は、DRA
Mを「リフレッシュする」と称する。
システムタイマ85から導出される。好ましい実施例で
は、ほとんどのDRAMリフレッシュサイクルがシステ
ムの性能に影響を与えないように、「隠れた」RAS前
CASの時間をずらしたリフレッシュ機構が用いられ
る。リフレッシュサイクルに必要な期間をさらに最小に
するために、MCU90は好ましくは空のバンクに対し
てはリフレッシュサイクルを行なわない(すなわちDR
AMメモリの特定のバンクにDRAM回路が設けられて
いない場合)。リフレッシュの時間をずらすと、各DR
AMバンクを個々にリフレッシュすることによって瞬時
の電流の需要を低減する。この態様で、バンク0がリフ
レッシュされ、次にバンク1がリフレッシュされるとい
う具合である。リフレッシュサイクルが起こる周期はシ
ステムタイマ85によって決定される。タイマによって
与えられるクロックは、好ましくは標準の周波数(25
6KHz)の4倍であって、リフレッシュサイクルは4
μ秒ごとに始まり、事実上のリフレッシュ周期は1ミリ
秒につき256サイクルとなる。結果として、各DRA
Mバンクを別個に、かつ256のリフレッシュサイクル
を行なうのに標準のリフレッシュ周期である4ミリ秒以
内で連続して、駆動するために、タイマ出力を用いるこ
とができる。この態様で、各バンクはいかなるバンクも
同時にリフレッシュされることなく、約15.625μ
秒の標準速度でリフレッシュサイクルを受取る。従来の
技術に従えば、リフレッシュサイクルはRASの前縁の
前にCASをアサートすることによって始められ、これ
は通常のDRAMアクセス中には起こらない。
しくは集積プロセッサ50内に実現され得る種々の周辺
装置を表わす。たとえば、直接メモリアクセスコントロ
ーラ(DMA)または割込コントローラ等の構成要素が
集積プロセッサパッケージの一体化した部分として含ま
れてもよい。当業者には理解されるように、種々の周辺
装置が集積プロセッサ50の一部として設けられる。
およびPCIマスタ装置75を以下に詳細に説明する。
PCIバス100は、いくつかのPCIマスタをサポー
トすることができるマルチマスタ能力を備えた高性能3
2ビットマルチプレクスアドレス/データバスである。
好ましいコンピュータシステムの実施例では、どのPC
IマスタもPCIバスの制御をリクエストすることがで
き、バスの所有権を付与されると、どのPCIターゲッ
ト装置に対してもサイクルを発生することができる。
チプレクスされるアドレス/データラインAD[31:
0]は、好ましくは、PCIマスタ75等のPCI周辺
構成要素とPCIブリッジ80とに接続する。制御ライ
ンは好ましくは、コマンド/バイトイネーブル、サイク
ルフレーム信号、ターゲットレディ信号、およびイニシ
エータレディ信号を含む。コマンド/バイトイネーブル
(C/BE3#−C/BE0#)は、同じラインを介し
てマルチプレクスされた転送コマンドおよびバイトイネ
ーブルデータを伝送する。コマンド/バイトイネーブル
ラインC/BE[3−0]#は、アドレス段階における
バスコマンドを規定する。データ段階の間に、C/BE
[3−0]#は、どのバイトレーンが意味のあるデータ
を有しているかを決定するバイトイネーブルとして用い
られる。
維持入力/出力信号であり、好ましくは、PCIマスタ
によって駆動されてトランザクションの開始および継続
を示すアクティブロー信号を含む。したがって、FRA
ME#はアサートされるとバストランザクションの開始
を伝える。FRAME#がデアサートされると、トラン
ザクションは最終データ段階にある。IRDY#は、最
終データ段階をマークするFRAME#のデアサートと
同じクロック端縁でアサートされなくてはならないこと
に注目されたい。
Y#/LRDY#)は、PCIおよびCPUローカルバ
スターゲットによって駆動されて、ターゲットの現在の
データ段階を完了する能力を示すアクティブロー入力信
号を含む。TRDY#と関連して用いられるイニシエー
タレディ信号(IRDY#)は、PCIマスタの現在の
データ段階を完了する能力を示すアクティブロー信号を
含む。書込サイクルの間、たとえば、IRDY#は有効
書込データがAD[31−0]にあることを示す。
ゴン州、ヒルスボロ(Hillsboro )のPCI特殊権益グ
ループ(PCI Special Interest Group)の刊行物「PC
Iローカルバス仕様」(PCI Local Bus Specification
)に説明され、ここに引用によって援用する。
ましい実施例に従って説明する。PCIマスタ75は、
PCIバスを介してリクエストを駆動することによって
PCIバス100の所有権をリクエストする。PCIブ
リッジ80はこれに応答してHOLD信号をCPU60
に送り、CPUローカルバス65の所有権をリクエスト
する。CPU60は、HLDA信号をアサートすること
によってローカルバス65の所有権を付与し、これがP
CIブリッジ80によって受取られる。PCIブリッジ
80は、適切なバス付与信号をマスタ装置75に送るこ
とによってPCIマスタ装置75がPCIバス100を
所有することを認める。
号がアサートされると、PCIバス100のマルチプレ
クスされるアドレスデータラインAD[31:0]が、
PCIマスタ75によって有効アドレスで駆動される。
PCIブリッジ80はアドレスを捕捉し、これをCPU
ローカルバス65を介して与える。アドレスがメモリ内
の位置に対応する場合には、MCU90はPCIブリッ
ジ80にMEMHIT信号を発行し、次にこれが装置選
択(デバイスセレクト)(DEVSEL#)をPCIマ
スタに発行して、トランザクションをクレームする。P
CIバス100のサイクル定義/バイトイネーブルライ
ンC/BE[3:0]が次にサイクル状態オペコードで
駆動され、現在のサイクルが書込(または読出)動作で
あることを示す。好ましい実施例に従えば、PCIブリ
ッジのM/IO信号は、PCIバスのC/BE[2]ラ
インから捕捉され、PCIブリッジの読出/書込信号R
/Wは、PCIバスのC/BE[0]ラインから捕捉さ
れる。次に(書込サイクルにおいて)、PCIマスタ7
5はPCIバス100のADラインを介して書込みたい
データを送り、IRDY#信号をアサートして有効デー
タがPCIバス上にあることを示す。
クルがバーストモード動作であれば、PCIマスタ75
は初期メモリアドレスを送り、次にPCIバス100を
介してデータ信号を駆動する。後続のサイクルで、PC
Iマスタ75は、連続するデータ伝送の各々についてメ
モリアドレスが4バイト増分されるべきであることを理
解して、バス100を介してデータ信号を駆動するのみ
である。
答して、PCIブリッジ80は連続した(back-to-bac
k)メモリサイクルのシーケンスを発生する。CPUが
PCIブリッジ80によってホールドにされると、PC
Iマスタ75からのバーストサイクルは、従来の技術に
従ってBLAST#信号をアサートした状態に保つこと
によってCPUローカルバス65上の単一サイクルデー
タ転送のシーケンスに変形する。本発明の原理に従え
ば、PCIブリッジ80による主メモリへの単一のアク
セスの各々は、マスタ装置が最高速度で動作していると
きさえも、性能の点で妥協することなくPCIマスタの
速度に加減速することができる。
への書込サイクルを行なっているか、メモリへの読出サ
イクルを行なっているかによって異なる。これらの各サ
イクルを次に具体的に述べる。書込トランザクションの
間、PCIマスタ75からのバーストサイクルは、PC
Iブリッジ80によってCPUローカルバス65上の単
一サイクル書込アクセスのシーケンスに変えられる。P
CIマスタはまず、PCIバスのADラインAD[3
1:0]を介してアクセスしたいメモリ内の位置のアド
レスを駆動する。PCIブリッジ80はこれに応答して
CPUローカルバス65を介してアドレスを駆動し、M
EMHITがMCU90によって(ヒットがもし起これ
ば)発行される。デバイスセレクトがPCIブリッジ8
0によってアサートされ、PCIマスタに戻される。P
CIマスタによってPCIバスを介してデータが駆動さ
れ(IRDY#として示される)、PCIブリッジ80
へとデータがラッチされる(TRDY#によって示され
る)。PCIブリッジ80がPCIマスタ75から第1
のデータ情報およびアドレスを受取ると、PCIブリッ
ジ80はADS#信号をアサートし、アドレスおよびデ
ータ信号をCPUローカルバスへと送ることによってC
PUローカルバス65を介してそのサイクルを始める。
MCU90はメモリ内の特定されたアドレスへのデータ
の書込を進め、CPUローカルバス65を介してPCI
ブリッジ80にBRDY#制御信号をアサートして、デ
ータ書込サイクルの第1の倍長語を受取ったことを示
す。
を介したバーストサイクルの間)に関しては、本発明
は、MEMWAITを発行することによって、およびM
CU90に次の倍長語データのメモリアドレスを、対応
する倍長語がPCIマスタ75から受取られる前に与え
ることによって、メモリを「加減速」する。これによっ
て、MCU90は、前もってデータが書込まれるメモリ
内のページを開く。その結果、MCU90は本質的に
「先を見て」次のデータ書込がどこで起こるかを判断す
ることができ、データが実際にPCIマスタ75によっ
て伝送される前にメモリのそのページへのアクセスを始
めることができる。
Y#信号を戻した直後のバーストサイクルの間に第2の
およびすべての後続のデータ転送を開始することによっ
て達成される。MCU90からBRDY#信号を受取っ
た後、PCIブリッジ80はTRDY#信号をアサート
して、PCIマスタ装置75にターゲット(すなわちM
CU)がデータ書込トランザクションを完了したか、ま
たは準備ができていることを示す。次のクロック信号
で、PCIマスタはもし準備ができていれば書込むべき
次のデータを駆動して、IRDY#をアサートして有効
データがADラインを介して駆動されていることを示し
てもよい。しかしながら、PCIマスタ75が遅く、デ
ータがまだ運ばれる準備ができていなければ、IRDY
#がPCIマスタによってデアサートされて、準備がで
きている有効データを持たないことを示す。IRDY#
がTRDY#のアサートに続くクロックサイクルでデア
サートされれば、PCIブリッジ80はMEMWAIT
信号をMCU90に対してアサートし続け、MCUが無
効データを書込むことを防ぐ。MEMWAIT信号は少
なくとも1クロックサイクルの間、無条件にアサートさ
れることに注目されたい。MEMWAIT信号を与える
のに加えて、PCIブリッジ80はCPUローカルバス
65を介して次の書込位置のメモリアドレスを駆動し、
同時にADS#信号をアサートし、これによってMCU
90はアドレス信号をラッチすることとなる。MCUは
次に適切な行アドレスストローブ(RAS)ラインをア
サートし、それによって次のアドレスが位置されるペー
ジをDRAMメモリ内の適切なバンクにおいて開くのを
可能にする。
スタによるアサートで示されるようにデータを駆動する
準備ができると、データがPCIバス100からPCI
ブリッジ80を介してCPUローカルバス65に転送さ
れ、MEMWAIT信号がPCIブリッジ80によって
デアサートされる。MUC90はこれに応答してデータ
をラッチして、列アドレスストローブ(CAS)をアサ
ートして転送を完了する。この手順の結果、アドレスが
異なるDRAMバンク内にあった場合にはRASアクセ
ス時間(tRAC )を節約することができ、アドレスが同
じDRAMバンク内の異なるページにあった場合にはR
ASアクセス時間(tRAC )とRASプリチャージ時間
(tRP)の両方を節約することができる。
出トランザクションの第1のサイクルにおいては、シス
テムメモリ125に対するサイクルが、PCIバス10
0およびCPUローカルバス65の両方のマスタシップ
が達成された後に開始される。PCIマスタ75は、F
RAME#信号をアサートしてPCIバス100のアド
レスラインをリクエストされたデータのアドレスで駆動
することによってサイクルを示す。PCIブリッジ80
は、読出すべきメモリ内のアドレスを実質的に同時に駆
動する。MCU90は読出アドレスを受取り、アドレス
が主メモリ125内のアドレスに対応する場合にはME
MHIT信号を発行し、これに応答してPCIブリッジ
はマスタ75にDEVSEL#信号を発行する。PCI
マスタ75はトランザクションを続け、PCIブリッジ
80はローカルバスアドレスストローブ信号ADS#を
アサートして、MCU90にアドレス信号をラッチさせ
る。MCU90は次にメモリの行および列に対するアク
セスを進め、有効データを戻し、これはローカルバス6
5上のBRDY#のアサートによって示される。これに
応答して、PCIブリッジ80はPCIバス100上で
TRDY#信号を発行し、メモリに対する次の読出サイ
クルをすぐに開始する。
して(またはその前に)IRDY#信号をアサートしな
ければ、PCIブリッジ80がMCU90にMEMWA
ITをアサートして読出サイクルが加減速される。ME
MWAITがアサートされている間、MCU90はPC
Iブリッジ80から次の読出アドレスを受取り、アドレ
ス信号を行および列アドレスにデコードする。MCU9
0は次に、適切なRASラインのアサートによって可能
化される行アドレスを用いて、読出アドレスが位置され
るメモリ内のページを開く。好ましい実施例において
は、MCU90はまた、適切なCASラインによって可
能化される列アドレスを与えることによってメモリバス
150へとデータを駆動する。結果として、MEMWA
ITがまだアサートされている間に、読出すべきデータ
がローカルバスに駆動される。
ートし、かつ第1のデータ段階を受取ると、次の読出サ
イクルはPCIブリッジ80によるMEMWAITのデ
アサートで進められる。好ましい実施例に従って次のデ
ータがローカルバスにロードされると、MCU90はB
RDY#信号をもって直ちに応答し、PCIブリッジ8
0はTRDY#信号を発行して、PCIマスタに次のデ
ータ段階の読出の準備ができていることを示す。TRD
Y#信号の発行後、PCIマスタは、ADS#をアサー
トしてローカルバスを介して次の読出アドレスを駆動
し、MEMWAITをアサートすることによって、次の
読出サイクルを直ちに始める。
サートされている間にリフレッシュサイクルを行なうこ
とを可能にするように、リフレッシュサイクルの間にも
実現することができる。MEMWAITがアサートされ
ている間に、ページが開かれている同じDRAMバンク
にリフレッシュリクエストが発行されると、MCU90
は好ましくは、CASラインをアクティブな状態に保
ち、かつRASラインをデアサートしてプリチャージサ
イクルを始めることによって、RAS前CASリフレッ
シュサイクルを始める。プリチャージサイクルが完了す
ると、MCU90はRASラインをアサートしてリフレ
ッシュサイクルを開始し、tRAS 時間に出会うまで行な
い、このときにRASラインはデアサートされてプリチ
ャージサイクルを再び始める。プリチャージサイクルが
完了すると、MCU90は前のDRAMページを再び開
き、MEMWAITがまだアサートされていればメモリ
バスを減速し続ける。
間にデアサートされると、MCU90は好ましくはt
RAS に出会うまで待ち、RASラインをデアサートして
プリチャージサイクルを始める。プリチャージサイクル
が完了すると、MCU90は前のDRAMページを開
き、BRDY#をPCIブリッジ80にアサートした後
メモリアクセスを完了する。リフレッシュリクエストが
起こるまで、または別のマスタによって異なるDRAM
ページに後続のデータアクセスが行なわれるまで、DR
AMページは開かれたままである。リフレッシュが完了
した後にDRAMページを先に開くことによってこのシ
ーケンスで節約される時間はtRAC 期間である。
に、リフレッシュリクエストが異なるDRAMバンクに
発行されれば、MCU90は好ましくは、CASライン
をアクティブに保ったままで現在のアクティブRASラ
インをデアサートして現在のページを閉じ、新しいバン
クのRASラインを直ちにアサートしてリフレッシュサ
イクルを始める。tRAS に出会うまで新しいRASライ
ンはアクティブなままであり、出会うとRASラインは
デアサートされてプリチャージを始める。プリチャージ
サイクルが完了すると、MCU90は前のDRAMペー
ジを開き、MEMWAITがまだアサートされていれば
メモリバスを減速し続ける。
WAITがデアサートされれば、MCUは好ましくはt
RAS に出会うまで待ち、RASラインをデアサートして
プリチャージサイクルを始める。プリチャージサイクル
の完了時に、MCUは前のDRAMページを開き、BR
DY#をアサートした後メモリアクセスを完了する。リ
フレッシュリクエストまたは別のPCIマスタが異なる
ページにメモリリクエストを発行するまで、DRAMペ
ージは開いたままである。やはり、リフレッシュが完了
した後に前もってDRAMページを開くことによって節
約される時間はtRAC 期間である。
らに理解するために、例示的なタイミング図を説明す
る。図5ないし9は、主メモリ内の様々な位置への読出
および書込サイクルと関連するデータ、アドレスおよび
制御信号を示すタイミング図である。DRAMメモリの
状態は、これらの図の理解を深めるために、タイミング
図の下の行に示される。
Mバンクの同じページに対してメモリへの2つの連続す
るアクセスが行なわれる場合について、加減速されるメ
モリ読出サイクルが示される。初期状態において、メモ
リ内のページは、同じページへの前のメモリアクセスを
示すDRAMSTATE表示で示されるように、開かれ
ている。この初期期間において、RAS(1)ラインは
アサートされて、DRAMメモリのバンク1がアクセス
され、そのバンクのページが開かれていることを示す。
次に、PCIブリッジによって(1)ADS#制御信号
をローに駆動し、(2)W/R信号をハイにアサートし
て書込サイクルを示し、(3)アドレスおよびデータ情
報をローカルバスを介して与えることによって、書込サ
イクルが始められる。従来の技術に従って、MCUは、
メモリ書込が実際にそのサイクルを完了するまでに、第
1のT2サイクルにおいて早くBRDY#をアサートす
る。その後少し経ってから、MCUはCAS(2)ライ
ンをアサートし、データ書込を完了する。
から受取ると直ちに、ADS#信号をアサートして読出
サイクルである次のサイクルを開始し、これはW/Rラ
インがローに駆動されることによって表わされる。同時
に、PCIブリッジはMEMWAIT信号をアサート
し、メモリバスを減速する。好ましい実施例に従えば、
MEMWAITがアサートされている間にアドレス信号
がMCUに与えられる。DRAMページが既に開かれて
いるので、MCUは、図5に示される状態においてRA
Sラインの状態を変えることによってページを開く必要
はない。しかしながら、好ましい実施例では、MCUは
CASライン(この場合CAS(2))をアサートし
て、読出すべきデータをメモリバスへと駆動し、したが
ってローカルバスへと駆動する。MEMWAITがデア
サートされると、MCUはBRDY#をアサートして、
データが利用可能であり、DRAMページが次のサイク
ルのために開いたままであることを示す。
ジにあれば、PCIブリッジ80によってMEMWAI
Tがデアサートされるまで、またはリフレッシュサイク
ルリクエストが発行されるまで待ち状態サイクルを介し
てループすることによってMCU90はメモリバス15
0を減速する。MEMWAITがデアサートされると、
MCU90はBRDY#をアサートし、メモリアクセス
を完了する。別のマスタ装置が異なるページに対してメ
モリリクエストを発行するまで、またはリフレッシュリ
クエストが起こるまで、DRAMページは開いたままで
ある。
ジに対する加減速メモリ書込サイクルが示される。やは
り、初期状態においてDRAMページは開かれており、
そのページへの前のアクセスを示す。次に、PCIブリ
ッジはADS#制御信号をアサートし、W/R信号をア
サートして書込サイクルを示し、MEMWAITライン
をアサートしてPCIマスタがまだデータを送信する準
備ができていないことを示す。MEMWAITラインが
アサートされている間、好ましい実施例に従えば、PC
IブリッジはMCUに書込サイクルのアドレスを駆動す
る。しかしながら、適切なページが既に開かれているの
で、RASラインの状態は変わらない。MEMWAIT
信号がPCIブリッジによってデアサートされると、M
CUはBRDY#をアサートして、適切なCASライン
(CAS(2))をアサートすることによって書込サイ
クルを完了する。MEMWAIT信号のない後続の読出
サイクルが図6に示される。
ンクに対する加減速メモリ読出サイクルが示される。初
期状態において、バンク3のDRAMページが、RAS
(3)のアサートによって示されるように前のメモリア
クセスから開かれている。次に、PCIブリッジは読出
サイクルを示すようにR/Wラインをローに保ったまま
でADS#制御信号をアサートする。実質的に同時にP
CIブリッジはMEMWAIT信号をアサートして、P
CIマスタ装置がデータを受取る準備がまだできていな
いことを示す。好ましい実施例に従えば、PCIブリッ
ジはローカルバスを介してアドレスを駆動し、そこでM
CUによって受取られる。MCUはアドレスをデコード
し、DRAMバンク3からDRAMバンク2に変え、R
AS(3)をハイに駆動しながら行アドレスストローブ
ラインRAS(2)をローに駆動して、デコードされた
行アドレスをバンク2に駆動する。MCUは次にバンク
2内の適切なDRAMページを開き、4つのCASライ
ンをアサートすることによって所望のデータをメモリバ
スを介して送り、次にローカルバスに駆動する。MEM
WAIT信号がデアサートされてPCIマスタがデータ
を受取る準備ができたことを示すと、MCUはBRDY
#信号をアサートし、読出サイクルが行なわれたことを
示す。
ンクに対するものであれば、MCUは、MEMWAIT
がアサートされている間に現在のバンクの現在のDRA
Mページを閉じ、新しいバンクのDRAMページを直ち
に開く(異なるDRAMバンクがアクセスされるのでR
ASプリチャージサイクル時間が存在しないため)。M
EMWAITがデアサートされるまで、またはリフレッ
シュリクエストが発行されるまで、待ち状態サイクルを
介してループすることによってMCUはメモリバスを減
速する。MEMWAITがデアサートされた後、MCU
はBRDY#をアサートし、メモリアクセスを完了す
る。マスタによる別のページへの後続のメモリアクセス
まで、またはリフレッシュリクエストが受取られるま
で、DRAMページは開いたままである。このシーケン
スにおいて、DRAMページにアクセスする時間(t
RAC )が、データアクセスに先立ってページを開くこと
によって節約される。
モリ読出サイクルを示す。最初の2つの状態は、MEM
WAITのない読出サイクル前の書込サイクルを示す。
次にPCIブリッジは、読出サイクルを示すようにW/
Rラインがローに保たれたままで、ADS#制御信号を
アサートし、MEMWAITを同時にアサートする。M
EMWAITがアサートされている間、PCIブリッジ
はアドレスをローカルバスを介してMCUに駆動する。
MCUはアドレスをデコードし、メモリ内の適切なペー
ジを開く。ページが開かれると、MCUはCASライン
をアサートして、データをメモリバスへ、次にローカル
バスへと駆動する。MEMWAITがデアサートされる
と、MCUはBRDY#をアサートして、読出サイクル
が完了することを示す。
ジにあれば、MCUはMEMWAITがアサートされた
状態で現在のDRAMページを閉じ、プリチャージ状態
に進む。RASプリチャージが完了すると、MCU90
はDRAMページを開き、MEMWAITがデアサート
されるまで、またはリフレッシュリクエストが発行され
るまで待ち状態サイクルを介してループすることによっ
てメモリバス150を減速する。MEMWAITがデア
サートされた後、MCUはBRDY#をアサートし、C
ASをアサートすることによってメモリアクセスを完了
し、DRAMページの特定のバイトがアクセスされるこ
とを可能にする。データ転送が完了した後、DRAMペ
ージは、リフレッシュリクエストが受取られるまで、ま
たは別のマスタ装置がメモリリクエストを別のページに
発行するまで、開いたままである。このシーケンスで
は、RASプリチャージサイクル時間(tRP)が節約さ
れ、DRAMページにアクセスするのに必要な時間(t
RAC )が節約される。
する加減速メモリ読出サイクルを示す。図9の初期状態
は書込サイクルである。次にPCIブリッジはADS#
制御信号をアサートし、W/R信号をローに駆動し、同
時にMEMWAITをアサートし、PCIマスタがデー
タを受取る準備がまだできていないことを示す。PCI
ブリッジはローカルバス上でアドレスを駆動し、ここで
これがMCUによって受取られ、メモリ内の所望のペー
ジにアクセスするのに用いられる、。MCUは次に適切
な列アドレスストローブラインCAS(2)をアサート
し、データをメモリバスへと駆動する。しかしながら、
MEMWAITがまだアサートされている間に、リフレ
ッシュリクエストがMCUによって受取られる。MEM
WAITがまだアサートされた状態で、MCUは、バン
ク0のためのリフレッシュサイクルをそのバンクについ
てRAS前にCASをアサートすることによって行な
う。リフレッシュが完了した後、MCUは、再びRAS
(1)をアサートすることによってメモリ内の適切なペ
ージを再び開き、CAS(2)をアサートすることによ
ってデータを駆動する。
形および変更が当業者には明らかになるであろう。前掲
の特許請求の範囲はこれらの変形および変更のすべてを
包含すると解釈されたい。
ンピュータシステムの機能ブロック図である。
タシステムの機能ブロック図である。
グ図である。
グ図である。
グ図である。
グ図である。
グ図である。
Claims (31)
- 【請求項1】 システムメモリとPCIマスタ装置との
間のデータの転送を最適化するための方法であって、前
記PCIマスタはPCIバスを介してPCIブリッジに
接続し、PCIブリッジはCPUローカルバス上にあ
り、システムメモリはメモリバスを介してメモリコント
ローラに接続し、前記メモリコントローラもまたローカ
ルバス上にあり、前記方法は (a) PCIマスタによってPCIバスの所有権を主
張するステップと、 (b) PCIマスタによってPCIバス上のアドレス
信号を駆動するステップと、 (c) PCIブリッジによってローカルバス上のアド
レスストローブ信号を発生し、前記アドレス信号をロー
カルバスを介して駆動するステップと、 (d) PCIブリッジによって待ち信号を発生して、
PCIマスタがトランザクションのデータ段階を直ちに
完了することができないことを示すステップと、 (e) メモリコントローラによってアドレス信号をデ
コードするステップと、 (f) 前記メモリコントローラによってシステムメモ
リ内の適切なページを開くステップと、 (g) PCIマスタがデータ段階を完了する準備がで
きたという指示に応答して待ち信号をデアサートするス
テップと、(h) メモリコントローラによってデータ
トランザクションを完了するステ ップとを含む、方法。 - 【請求項2】 適切なメモリページを開く前記ステップ
(ステップ(f))が、 (f)(1) 行アドレス信号をシステムメモリに与え
るステップと、 (f)(2) 適切な行アドレスストローブ(RAS)
ラインをアサートして行アドレス信号を可能化するステ
ップとを含む、請求項1に記載の方法。 - 【請求項3】 ステップ(f)(1)および(f)
(2)が、待ち信号がアサートされている間に完了され
る、請求項2に記載の方法。 - 【請求項4】 メモリコントローラがまた列アドレスを
与え、適切な列アドレスストローブ信号をアサートし
て、待ち信号がまだアサートされている一方で読出サイ
クル中に前記メモリからデータを駆動する、請求項3に
記載の方法。 - 【請求項5】 待ち信号がアサートされている間にリフ
レッシュサイクルが行なわれる、請求項1に記載の方
法。 - 【請求項6】 データトランザクションを完了する前記
ステップ(ステップ(h))が、 (h)(1) 適切な列アドレスストローブ(CAS)
信号をアサートしている間に前記メモリに列アドレス信
号を与えるステップと、 (h)(2) PCIブリッジにBRDY#をアサート
するステップとを含む、請求項1に記載の方法。 - 【請求項7】 前記PCIブリッジが、前記メモリコン
トローラからのBRDY#に応答してPCIマスタにT
RDY#をアサートする、請求項6に記載の方法。 - 【請求項8】 TRDY#信号に応答して前記PCIマ
スタがIRDY#をアサートしなければ、前記PCIブ
リッジがMEMWAIT信号をアサートする、請求項7
に記載の方法。 - 【請求項9】 書込サイクル中にPCIマスタ装置とシ
ステムメモリとの間のデータの転送を最適化する方法で
あって、前記PCIマスタはPCIバスを介してPCI
ブリッジに接続し、PCIブリッジはCPUローカルバ
ス上にあり、システムメモリはメモリバスを介してメモ
リコントローラに接続し、前記メモリコントローラもま
たローカルバス上にあり、前記方法は (a) PCIバスの所有権をPCIマスタが得るステ
ップと、 (b) PCIマスタがPCIバスを介してバーストサ
イクルを送るステップと、 (c) 前記PCIブリッジが第1のアドレス信号およ
び第1のデータ信号を前記バーストサイクルから受取
り、前記ローカルバスの所有権を得るステップと、 (d) 前記PCIブリッジが前記第1のアドレス信号
および前記第1のデータ信号を前記ローカルバスを介し
て送るステップと、 (e) 前記メモリコントローラが前記第1のデータ信
号を第1のアドレス信号に対応する前記メモリ内のアド
レスに書込み、前記PCIブリッジにメモリレディ信号
を発行するステップと、 (f) 前記メモリコントローラからの前記レディ信号
に応答して、前記PCIブリッジが前記PCIマスタに
ターゲットレディ信号を発行するステップと、 (g) 前記PCIマスタからのイニシエータレディ信
号がない状態で、前記PCIブリッジが待ち信号をメモ
リコントローラに発生し、第2のアドレス信号を前記メ
モリコントローラに与えるステップとを含む、方法。 - 【請求項10】 第1のアドレス信号がシステムメモリ
内にある場合に、前記メモリコントローラがステップ
(d)に応答してMEMHIT信号を発生する、請求項
9に記載の方法。 - 【請求項11】 (h) 前記メモリコントローラが第
2のアドレス信号をデコードして、行アドレスおよび列
アドレスを発生するステップと、 (i) 前記メモリコントローラが前記第2のアドレス
信号の行アドレスを前記メモリに送り、前記メモリに行
アドレスストローブ(RAS)信号をアサートして、メ
モリ内の適切なページを開くステップとをさらに含む、
請求項9に記載の方法。 - 【請求項12】 PCIマスタが第2のデータ信号を前
記PCIバスを介して駆動したことを示す前記PCIマ
スタからのイニシエータレディ信号に応答して待ち信号
をデアサートするステップと、 (k) 前記メモリコントローラが前記第2のアドレス
信号の列アドレスを前記メモリに駆動し、適切な列アド
レスストローブ(CAS)信号を前記メモリにアサート
して、前記第2のデータ信号が前記メモリに書込まれる
ことを可能にするステップとをさらに含む、請求項11
に記載の方法。 - 【請求項13】 待ち信号がアサートされている間に、
前記メモリのバンクに対してリフレッシュサイクルが行
なわれる、請求項9に記載の方法。 - 【請求項14】 前記リフレッシュサイクルが、ページ
が開かれているメモリの同じバンクに対して行なわれ
る、請求項13に記載の方法。 - 【請求項15】 ページが開かれているのとは異なる、
メモリのバンクに対して前記リフレッシュサイクルが行
なわれる、請求項13に記載の方法。 - 【請求項16】 リフレッシュサイクルがRAS前CA
Sシーケンスを含む、請求項13に記載の方法。 - 【請求項17】 メモリの各バンクが独立してリフレッ
シュされる、請求項13に記載の方法。 - 【請求項18】 読出サイクル中にPCIマスタ装置と
システムメモリとの間のデータの転送を最適化する方法
であって、前記PCIマスタはPCIバスを介してPC
Iブリッジに接続し、PCIブリッジはCPUローカル
バス上にあり、システムメモリはメモリバスを介してメ
モリコントローラに接続し、前記メモリコントローラも
またローカルバス上にあり、前記方法は (a) PCIマスタがPCIバスの所有権を得るステ
ップと、 (b) PCIマスタがPCIバスを介して読出される
べきメモリ内の第1のアドレスを送るステップと、 (c) 前記PCIブリッジが前記第1のアドレス信号
を受取り、前記ローカルバスの所有権を得るステップ
と、 (d) 前記PCIブリッジが前記ローカルバスを介し
て前記第1のアドレス信号を送るステップと、 (e) 前記メモリコントローラが前記第1のアドレス
信号を受取り、第1のアドレス信号に対応する前記メモ
リ内の第1のデータ信号を読出し、前記第1のデータ信
号を前記ローカルバスを介して送り、メモリレディ信号
を前記PCIブリッジに発行するステップと、 (f) 前記PCIブリッジが、前記メモリコントロー
ラからの前記レディ信号に応答して、前記PCIマスタ
にターゲットレディ信号を発行するステップと、 (g) 前記PCIマスタからのイニシエータレディ信
号がない状態で、前記PCIブリッジが待ち信号をメモ
リコントローラに発生し、第2のアドレス信号を前記メ
モリコントローラに与えるステップとを含む、方法。 - 【請求項19】 第1のアドレス信号がシステムメモリ
内に位置するとき、前記メモリコントローラがステップ
(d)に応答してMEMHIT信号を発生する、請求項
18に記載の方法。 - 【請求項20】 (h) 前記メモリコントローラが第
2のアドレス信号をデコードして行アドレスおよび列ア
ドレスを発生するステップと、 (i) 前記メモリコントローラが前記第2のアドレス
信号の行アドレスを前記メモリに駆動し、行アドレスス
トローブ(RAS)信号を前記メモリにアサートして、
メモリ内の適切なページを開くステップとをさらに含
む、請求項18に記載の方法。 - 【請求項21】 (j) 前記メモリコントローラが前
記第2のアドレス信号の列アドレスを前記メモリに駆動
し、列アドレスストローブ(CAS)を前記メモリにア
サートして、前記第2のアドレスに対応する第2のデー
タ信号を前記ローカルバスへと駆動するステップをさら
に含む、請求項20に記載の方法。 - 【請求項22】 (k) PCIマスタが前記第1のデ
ータ信号を受取る準備ができたことを示す前記PCIマ
スタからのイニシエータレディ信号に応答して、待ち信
号をデアサートするステップと、 (l) 前記メモリコントローラがメモリレディ信号を
発行するステップと、 (m) 前記PCIブリッジが前記PCIマスタにター
ゲットレディ信号をアサートし、別の読出サイクルを始
めるステップとをさらに含む、請求項21に記載の方
法。 - 【請求項23】 待ち信号がアサートされている間に前
記メモリのバンクに対してリフレッシュサイクルが行な
われる、請求項18に記載の方法。 - 【請求項24】 コンピュータ内のメモリアクセス時間
を最適化するためのシステムであって、 データを記憶し、アクセスするためのシステムメモリ
と、 前記システムメモリに接続されて前記メモリへのアクセ
スを制御するメモリコントローラユニットと、 ローカルバスを介して前記メモリコントローラユニット
に接続されるPCIブリッジと、 前記PCIブリッジにPCIバスを介して接続される周
辺PCIマスタ装置とを含み、前記PCIマスタ装置
は、システムメモリへのデータトランザクションを完了
するようにPCIバスの所有権を主張することができ、
前記PCIブリッジは、PCIマスタがPCIバスの所
有権を主張するときにローカルバスの所有権を主張し、
さらに前記ローカルバスに接続されるCPUコアを含
み、 前記PCIブリッジはメモリコントローラに対して待ち
信号をアサートし、実質的に同時に、PCIマスタ装置
がデータ転送を完了するのが遅れる場合に、メモリコン
トローラにローカルバスを介して次のデータトランザク
ションのメモリ内のアドレスを駆動する、システム。 - 【請求項25】 待ち信号がアサートされている間に、
前記メモリコントローラがメモリ内の適切なページを開
く、請求項24に記載のシステム。 - 【請求項26】 前記システムメモリがDRAMチップ
の4つまでの別個のバンクを含む、請求項25に記載の
システム。 - 【請求項27】 約15.625/4μ秒ごとにリフレ
ッシュリクエストを発生するシステムタイマをさらに含
む、請求項25に記載のシステム。 - 【請求項28】 リフレッシュサイクルが約15.62
5μ秒ごとに各バンクにおいて発生される、請求項27
に記載のシステム。 - 【請求項29】 リフレッシュサイクルが4つのバンク
で時間をずらして行なわれる、請求項28に記載のシス
テム。 - 【請求項30】 データがPCIバスを介して送られる
ときに前記PCIマスタがレディ信号を発行しなけれ
ば、前記PCIブリッジが読出サイクルにおいて前記待
ち信号をアサートする、請求項24に記載のシステム。 - 【請求項31】 PCIブリッジがレディ信号を発行し
た後、フレームサイクル信号がアサートされたままの状
態で前記PCIマスタがレディ信号を発行しなければ、
前記PCIブリッジが前記待ち信号をアサートする、請
求項24に記載のシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15016595A JP3720872B2 (ja) | 1995-06-16 | 1995-06-16 | システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15016595A JP3720872B2 (ja) | 1995-06-16 | 1995-06-16 | システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH096713A true JPH096713A (ja) | 1997-01-10 |
| JP3720872B2 JP3720872B2 (ja) | 2005-11-30 |
Family
ID=15490934
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15016595A Expired - Fee Related JP3720872B2 (ja) | 1995-06-16 | 1995-06-16 | システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3720872B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008159075A (ja) * | 1999-02-23 | 2008-07-10 | Renesas Technology Corp | 集積回路及びそれを用いた情報処理装置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008172727A (ja) | 2007-01-15 | 2008-07-24 | Ricoh Co Ltd | 制御装置および画像処理システム |
-
1995
- 1995-06-16 JP JP15016595A patent/JP3720872B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008159075A (ja) * | 1999-02-23 | 2008-07-10 | Renesas Technology Corp | 集積回路及びそれを用いた情報処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3720872B2 (ja) | 2005-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0692764B1 (en) | Memory throttle for PCI master | |
| US6269433B1 (en) | Memory controller using queue look-ahead to reduce memory latency | |
| US5303364A (en) | Paged memory controller | |
| JP4500373B2 (ja) | 一体化システムメモリおよび改良されたバス同時実行性を有するコンピュータシステム | |
| US5463753A (en) | Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller | |
| US5353415A (en) | Method and apparatus for concurrency of bus operations | |
| US5873114A (en) | Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles | |
| US5193193A (en) | Bus control system for arbitrating requests with predetermined on/off time limitations | |
| EP0392657B1 (en) | System providing cache coherent direct memory access between dissimilar bus systems | |
| US6275885B1 (en) | System and method for maintaining ownership of a processor bus while sending a programmed number of snoop cycles to the processor cache | |
| US6405271B1 (en) | Data flow control mechanism for a bus supporting two-and three-agent transactions | |
| US6026464A (en) | Memory control system and method utilizing distributed memory controllers for multibank memory | |
| JP2571673B2 (ja) | 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 | |
| JP3302357B2 (ja) | Cpuバス制御器 | |
| US5991833A (en) | Computer system with bridge logic that reduces interference to CPU cycles during secondary bus transactions | |
| US5301281A (en) | Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals | |
| JPH04230544A (ja) | ダイナミックメモリシステムのタイミングを動的に設定するデータ処理装置 | |
| WO1994008297A9 (en) | Method and apparatus for concurrency of bus operations | |
| WO1997029430A1 (en) | Fast access to a shared resource on a computer bus | |
| US5485592A (en) | Write back cache controller method and apparatus for use in a system having a CPU with internal cache memory | |
| US6233661B1 (en) | Computer system with memory controller that hides the next cycle during the current cycle | |
| US5768550A (en) | Bus interface logic system | |
| US5721882A (en) | Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus | |
| US6249847B1 (en) | Computer system with synchronous memory arbiter that permits asynchronous memory requests | |
| EP1041492A2 (en) | Method and system for optimizing of peripheral component interconnect (PCI) bus transfers |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Effective date: 20050804 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050823 |
|
| A61 | First payment of annual fees (during grant procedure) |
Effective date: 20050909 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080916 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 4 Free format text: PAYMENT UNTIL: 20090916 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20110916 |
|
| LAPS | Cancellation because of no payment of annual fees | ||
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |