JP3749732B2 - コンピュータ・バス上の共用リソースに対する高速アクセス - Google Patents

コンピュータ・バス上の共用リソースに対する高速アクセス Download PDF

Info

Publication number
JP3749732B2
JP3749732B2 JP52847697A JP52847697A JP3749732B2 JP 3749732 B2 JP3749732 B2 JP 3749732B2 JP 52847697 A JP52847697 A JP 52847697A JP 52847697 A JP52847697 A JP 52847697A JP 3749732 B2 JP3749732 B2 JP 3749732B2
Authority
JP
Japan
Prior art keywords
bus
memory
controller
control
period
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
JP52847697A
Other languages
English (en)
Other versions
JP2000505573A5 (ja
JP2000505573A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24401666&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3749732(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2000505573A publication Critical patent/JP2000505573A/ja
Publication of JP2000505573A5 publication Critical patent/JP2000505573A5/ja
Application granted granted Critical
Publication of JP3749732B2 publication Critical patent/JP3749732B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Dram (AREA)

Description

発明の背景
発明の分野
本発明はパーソナル・コンピュータに関し、詳細にいえば、複数のバス・マスタが共用リソースへのアクセスを取得するためにアービトレーションを行う速度を高くする方法および装置に関する。
従来の技術の歴史
コンピュータ・システムの能力が高くなるにつれ、データおよびプログラムを記憶するのにこれらのシステムが利用するメモリ・スペースの量も増加してきた。たとえば、単一のIntel Pentiumマイクロプロセッサを使用している典型的なデスクトップ・コンピュータはメイン・メモリとして使用される16メガバイトのダイナミック・ランダム・アクセスメモリ(DRAM)、長期間の記憶に使用されるギガバイトの電子機械的ハード・ディスク・メモリ、グラフィックス・フレーム・バッファの一部として使用される1ないし4メガバイトのDRAMまたはビデオ・ランダム・アクセス・メモリ(VRAM)、およびさまざまなその他の専用メモリ・アレイを含んでいる。このようなシステムが使用するメモリの量およびコストは今後も増加し続けると思われる。
歴史的に言って、フレーム・バッファは高速で、高価なメモリ・デバイス(VRAMなど)をしばしば利用していたのに対し、メイン・メモリは低速なDRAMを利用していた。しかしながら、高速なプロセッサと改善されたシステム・アーキテクチャが、メイン・メモリが動作する速度をかなり増加させるようになってきている。たとえば、メイン・メモリを独立したメモリ・バス上に置き、メモリ・コントローラがそのバスへのアクセスを制御するのが現在では典型的なものとなっている。メイン・メモリにアクセスする速度の増加およびメモリが有している平均サイズの増加とは、メイン・メモリの一部をグラフィックス出力を記憶し、操作するのに利用することにより、全体的なシステム・コストを下げることを可能としている。
これを達成するには、グラフィックス・コントローラもメイン・メモリに迅速にアクセスできることが必要である。グラフィックス・コントローラは歴史的にいって、フレーム・バッファ・アレイ内での各種の操作(ビットブロック転送など)を実施するために使用されてきた。メイン・メモリの一部を使用して、フレーム・バッファ記憶装置と置き換えた場合、このようなグラフィックス・コントローラはメイン・メモリの割り当てられた部分においてグラフィックス・データに同じオペレーションを実行できなければならない。メイン・メモリにアクセスするためには、グラフィックス・コントローラ(または、その他のバス・マスタ)は、メモリ・コントローラによって主として制御されているメモリ・バスへのアクセスを取得しなければならない。メモリ・コントローラと他のコントローラまたはバス・マスタの間でメイン・メモリへのアクセスの制御をできるだけ短い時間で切り換える必要性は、したがってきわめて重要なものとなる。
パーソナル・コンピュータ・システム内のバス・マスタが、複数のバス・マスタないしコントローラを有しているコンピュータ・システムの共用リソースへのアクセスを取得する、詳細にいえば、グラフィックス・コントローラがメモリ・コントローラと共用されているメイン・メモリへのアクセスを取得するのに必要な時間を短縮するのが望ましい。
発明の概要
本発明はリソースが使用するバスへのアクセスを有している複数のコントローラの間での、メイン・メモリなどの共用リソースへのアクセスの制御の移動を加速する新しい方法および装置を利用する。この方法は、バス・コントローラによるアクセス要求を検出し、バスがコントローラによって使用されているかどうかを検出し、バスが使用中でない場合には、時限バス移動シーケンスを直ちに開始し、バスが使用されている場合には、バスの使用が完了したときに直ちに時限バス移動シーケンスを開始し、時限バス移動シーケンスの終了時に直ちにバスをリリースし、制御を要求元コントローラへ移す。
本発明のこれらおよびその他の特徴は、いくつかの図面を通じて同じ要素を同じ符号で示している図面に関して行う以下の詳細な説明を参照することにより、よりよく理解されよう。
【図面の簡単な説明】
第1図は従来の技術にしたがって設計されたコンピュータ・システムのアーキテクチャのブロック図である。
第2図は本発明にしたがって設計されたコンピュータ・システムのアーキテクチャのブロック図である。
第3図はローカル・バス・マスタによるメモリ・バス上のメイン・メモリへのアクセス速度を高めるための、本発明回路の実施形態の1つを示すブロック図である。
第4図はメモリ・バスが使用されていない場合のローカル・バス・マスタによるメモリ・バスのアクセスを示すタイミング図である。
第5図はメモリ・バスが使用されている場合のローカル・バス・マスタによるメモリ・バスのアクセスを示すタイミング図である。
第6図は本発明による方法のステップを示す流れ図である。
表記および用語
以下の詳細な説明の中には、コンピュータ・メモリ内のデータ・ビットにおける動作の記号表記の用語によってあらわされている部分がある。これらの説明および表記はデータ処理分野の技術者がその作業の内容を他の技術者に最も効果的に伝えるために使用される手段である。オペレーションは物理量の物理的な取り扱いを必要とするものである。通常、必然的なものではないが、これらの量は記憶、転送、組合せ、比較、あるいは取り扱いを行える電気または磁気信号の形態を取る。適宜、主として一般的な用法を理由として、これらの信号をビット、値、要素、記号、文字、専門用語、数値などと呼ぶのが便利なことが証明されている。しかしながら、これらおよびその他の同様の用語がすべて適切な物理量に関連付けられており、これらの量に適用される便宜上のラベルに過ぎないことに留意すべきである。
さらに、実行される操作は加算または比較などの用語で呼ばれることがあるが、これらは人間のオペレータが行う頭脳作業と一般に関連付けられている。人間のオペレータのこのような能力は、本発明の一部を形成する本明細書に記載するオペレーションのいずれにおいてもほとんどの場合に必要でも、望ましいものでもなく、オペレーションは機械オペレーションである。本発明のオペレーションを行うのに有用な機械は汎用ディジタル・コンピュータまたはその他の同様な装置を含んでいる。すべての場合に、コンピュータを操作するオペレーションの方法と計算それ自体の方法の区別を念頭においておくべきである。本発明は、電気的またはその他(たとえば、機械的、化学的)物理信号の処理における、他の希望する物理信号を生成するためにコンピュータをオペレーティングする方法および装置に関する。
本明細書において、その名前に「#」を含んでいる信号はアクティブ低信号である。信号に適用された場合「アサート」という用語は信号のレベルが低いか、高いかにかかわりなく信号がアクティブ状態であることを示す。「デアサート」という用語は信号が非アクティブ状態であることを示す。
詳細な説明
第1図を参照すると、典型的な従来技術のコンピュータ・システム10が示されている。システム10は上述の一般的な態様で機能する任意のコンピュータ・システムでよいが、このようなシステムはカリフォルニア州Santa ClaraのIntel Corporationが設計製造しているタイプのPentiumなどのマイクロプロセッサを利用するように設計されているシステムによって代表されるものである。図示のシステム10はシステム10のオペレーション中に与えられる各種の命令を実行する中央演算処理装置11を含んでいる。中央演算処理装置11は通常、プロセッサ・バスによって、システム10の各種の構成要素の間で情報を搬送するようになされたローカル・バス12へのアクセスを制御するブリッジ回路14に接続されている。第1図において、バス12はデータの特に高速な転送を行うようになされている周辺構成要素インタフェース(PCI)バスまたはその他の高速ローカル・バスであることが好ましい。典型的なシステム10において、各種の入出力装置がバス・マスタおよびバス・スレーブ回路としてバス12に接続されている。この図においては、たとえば、フレーム・バッファ17を制御するグラフィック・コントローラ16をバス・マスタまたはバス・スレーブとしてPCIバス12に接続することができる。サウンド・ボード、フレーム・バッファなどのその他の入出力装置を同様な態様でバス12に接続することもできる。
ブリッジ回路14もメモリ・バスによってメイン・メモリ13に接続されている。メイン・メモリ13は通常、電力がシステム10に与えられている期間中に情報を記憶するために、従来技術の技術者に周知の態様で構成されているダイナミック・ランダム・アクセス・メモリ(DRAM)で構成されている。特定の構成にもよるが、ブリッジ回路14は通常、2次キャッシュ・コントローラ、2次キャッシュ(L2キャッシュと呼ばれることがよくある)、メモリ・コントローラ15、およびプロセッサ、メイン・メモリおよびローカル・バスの間でのデータの転送中にデータを記憶するためのいくつかのバッファを含んでいる。これらの構成要素はブリッジ回路14の一体部分であっても、あるいは回路板上で他の構成要素に結合されているものであってもよい。
第1図の構成において、アプリケーション・プログラムと協働して、データをシステム10の各種の構成要素へ転送するオペレーティング・システムの制御下で、オペレーションが中央演算処理装置11によって行われる。メイン・メモリ13へアドレス指定されたデータは、たとえば、メモリ・コントローラ15の制御下で、メモリ・バス上で転送される。同様に、中央演算処理装置11によって読み取られるデータは、メモリ・コントローラ15の制御下で、メモリ・バス上でメイン・メモリ13から転送される。これに対し、フレーム・バッファ17への記憶および出力表示装置18での表示のために、グラフィックス・コントローラ16によって制御されるフレーム・バッファ・アドレスへ転送されるデータは、ブリッジ回路14内のデータ・パスを介して、バス12へ転送される。このデータが中央演算処理装置11から転送されている場合には、データおよびアドレスはブリッジ回路によってバス12へ転送される。このデータがメイン・メモリ13から転送されている場合には、メモリ・コントローラ15はメイン・メモリからブリッジ回路14への転送を制御し、ブリッジ回路14において、データはバス12へのブリッジ・データ・パスにおかれる。他のバス・マスタによるオペレーションがない場合に、ブリッジ回路14は通常バス12の制御を有しているが、ブリッジ回路14がバス12に対してアービトレーションを行い、バス12にアクセスして、グラフィックス・コントローラ16への転送のためにバス12にデータをおかなければならない時期がある。
当分野の技術者には、システム10のアーキテクチャ内のフレーム・バッファ17を除去し、フレーム・バッファ・オペレーションをメイン・メモリ13の記憶スペースの一部で行う場合、グラフィックス・コントローラ16はバス12およびメモリ・コントローラ13を通るロング・パスを利用して、データを取り扱い、転送しなければならないことが理解されるだろう。この待ち時間を短縮するために、第1図のシステム内のフレーム・バッファによって与えられる記憶装置をメイン・メモリ内の記憶スペースと置き換えるときに、グラフィックス・コントローラの制御の下で、オペレーションを加速する、改善されたアーキテクチャが設計されている。
第2図はグラフィックス・コントローラの制御下で表示されるデータの記憶装置をメイン・メモリに与える場合に、グラフィックス・コントローラの制御下でオペレーションを加速するように設計された、改善されたアーキテクチャを示している。第2図のシステム20からわかるように、図示のシステム20はシステム10の各種の構成要素の間で情報を搬送するようになされた高速ローカル・バス22へのアクセスを制御するブリッジ回路24へ、プロセッサ・バスによって接続されている中央演算処理装置11を含んでいる。典型的なシステム20において、各種の入出力装置がバス・マスタおよびバス・スレーブ回路としてバス22に接続されている。本発明においては、たとえば、出力表示装置18へのデータの取扱いおよび転送を制御するグラフィックス・コントローラ26を、バス・マスタまたはスレーブとしてバス22へ接続することもできる。サウンド・ボード、フレーム・バッファなどのその他の入出力装置を同様な態様でバス22に接続することもできる。
ブリッジ回路24をメモリ・バスによってメイン・メモリ13に接続することもできる。電力がシステム20に与えられている期間中に情報を記憶するために、従来技術の技術者に周知の態様で構成されているDRAM、VRAMまたはその他のランダム・アクセス・メモリで、メイン・メモリ13を構成することができる。第1図のシステム10と同様に、ブリッジ回路24は2次キャッシュ・コントローラ、2次キャッシュ(L2キャッシュと呼ばれることがよくある)、メモリ・コントローラ25、データを記憶するためのいくつかのバッファ、ならびにプロセッサ、メイン・メモリ、およびローカル・バスの間でのデータおよびアドレスの転送を可能とするデータおよびアドレス・パスを含むであろう。これらの構成要素はブリッジ回路24の一体部分であっても、あるいは回路板上で他の構成要素に接続されているものであってもよい。
システム10と対照的に、システム20のグラフィックス・コントローラ26はバス22へだけでなく、メモリ・バスへも接続されている。これらの接続により、グラフィックス・コントローラ26は、メモリ・バスへアクセスしたとき、直接グラフィックス・コントローラ自体へ、および表示装置18へのデータの転送を制御することができる。メイン・メモリ13へのこのアクセスにより、グラフィックス・コントローラ26は、メイン・メモリ13内でのデータの記憶、読取り、および取扱いを行って、メイン・メモリ13の一部がフレーム・バッファの態様で機能する。
第3図は本発明を実施するための第2図に示されている回路の一部の実施形態の1つの詳細なブロック図である。メイン・メモリの一部をグラフィックス・フレーム・バッファの機能に置き換えるためには、グラフィックス・コントローラがメイン・メモリへアクセスして、グラフィックスの表示に必要な各種の取扱いを実施できるようにする必要がある。第3図には、メモリ・コントローラ25、グラフィックス・コントローラ26、およびメイン・メモリ13が示されている。メモリ・コントローラ25はバス12との間で情報の送受信を行い、クロック入力CLKを受け取るように接続されている。同様に、グラフィックス・コントローラ26はバス12との間で情報の送受信を行い、クロック入力CLKを受け取るように接続されている。メモリ・コントローラ25およびグラフィックス・コントローラ26は、複数の制御信号をメイン・メモリ13へ与えるように接続されている。これらの信号は書込み可能信号WE#、行アクセス・ストローブRAS#、および列アクセス・ストローブCAS#を含んでいる。さらに、メモリ・アドレスMADDRがメモリのアクセス中にメモリ・アドレス・バス上で駆動される。データはこれらの信号の制御下でメモリ・データ・バス上でメイン・メモリ13との間で転送される。
一般に、あるコントローラがメモリ・バスへアクセスし、メモリ・オペレーションが生じる場合、有効なメモリ・アドレスMADDRがバス上に駆動され、RAS#信号がアサートされて、メモリ・アドレスを使用して適切な行の選択を可能とし、その後、1つまたは複数のCAS#信号のアサートによって、アドレス指定された列の選択を可能とする。
本発明が利用できるシステムの1つでは、メモリ・コントローラ25は、メモリ・バスがリリースされた場合には常に制御がメモリ・コントローラへ戻るようにメモリ・バスを制御する。他のシステムにおいては、2つ以上のコントローラのいずれかが、使用終了後、アクセスが他のコントローラによって要求されるまで、バスの制御を保持するようにすることができる。
第3図の回路において、メモリ・コントローラ25がメモリ・バスの制御を行っていると想定すると、グラフィックス・コントローラ26がメモリ・オペレーションを行うことを望んでいる場合、グラフィックス・コントローラ26はグラフィックス・コントローラがメモリ・バスへのアクセスを望んでいることをメモリ・コントローラへ示すメモリ・バス要求信号MREQ#をアサートする。メモリ・コントローラ25がメモリ・バスを使用していない場合、メモリ・コントローラ25はメモリ・バス許可信号MGNT#をグラフィックス・コントローラ26へアサートすることによって、応答する。これはグラフィックス・コントローラ26に対して、メモリ・バスの制御を有しており、そのバス上で読み書きを行えることを示している。これに対し、メモリ・コントローラ25がメモリ・バスを使用している場合、メモリ・コントローラ25はそのオペレーションを完了してから、バスをグラフィックス・コントローラ26へリリースする。メモリ・コントローラはメモリ・アドレス・ラインをトライステート化し、RAS#およびCAS#信号をデアサートし、およびグラフィックス・コントローラ26に対してメモリ・バス許可信号MGNT#をアサートすることによって、メモリ・バスをリリースする。
メモリ・バスへの2つのコントローラの直接アクセスを可能とする際に生じる問題は、他のコントローラへバスの制御を渡すコントローラによって、RAS#信号をデアサートした後、行および列選択回路をプリチャージするのに所定の期間が必要なことである。クロック速度とDRAMメモリ・アレイ内の個々の構成要素両方によって左右されるため、プリチャージ時間が特定のシステムによって変動する。1つのシステムにおいて、プリチャージ時間は3クロック・サイクルである。他のシステムにおいては、他の長さのプリチャージ時間が必要となる。行アクセス・ストローブをアサートする前にプリチャージを行って、適切な行の選択を行わなければならないため、バスを一方のコントローラによってリリースし、他のコントローラによってアサートした後、少なくともこの長さの時間を与える必要がある。これに対し、プリチャージが起こる時間の長さをこのわかっている期間に制限して、コントローラ間での制御の移動(渡し)でサイクルが無駄にならないようにすることが望ましい。バス・コントローラの移動が生じる前に、所定のオペレーションが完了しなければならない、バス・コントローラ間の制御の他の移動でも同じ問題が生じ得る。
本発明はグラフィックス・コントローラ26がメイン・メモリ13へのアクセスを要求した場合に可能な2つの異なる状況のいずれかにおいて、メモリ・コントローラ25からグラフィックス・コントローラ26へのメモリ・バス制御の移動時間をできるだけ短くするものである。メモリ・バス制御の移動が関与していないが、所定のオペレーションを完了してから、バス制御の移動が行われる状況でも、本発明を利用することができる。第4図および第5図は本発明の特定の実施形態で生じる2つの異なるオペレーションのタイミングを示す。第4図はメモリ・コントローラがメモリ・バスの制御を有しているが、メモリ・バスを使用していない場合のオペレーションのタイミングを示し、第5図はメモリ・コントローラがメモリ・バスを使用している場合のオペレーションのタイミングを示す。第6図は本発明を遂行するのに関与するステップを示す。
バス制御の移動時間を最も短くするために、メモリ・コントローラ25はまず、グラフィックス・コントローラ26がMREQ#信号をアサートしたとき(第4図および第5図の各々における点「a」)に、RASラインの状態を判定する。RASラインの状態は点「b」における次のクロックのエッジにおいてメモリ・コントローラ25によって判定される。RAS信号が第4図に示すように高く、RAS#がメモリ・コントローラ25によってアサートされていないことを示している場合、行われる移動オペレーションは高速移動オペレーションとなり、RAS信号が第5図に示すように低く、RAS#がメモリ・コントローラ25によってアサートされていることを示している場合、移動オペレーションは低速オペレーションとなる。
RAS信号が第5図に示すように低く、RAS#がメモリ・コントローラ25によってアサートされていることを示している場合には、メモリ・コントローラ25に行われているオペレーションの終了してメモリ・バスをリリースする準備ができるまで、何も行われない。オペレーションが終了するのは第5図のサイクル3中である。オペレーションが終了したこと、およびMREQ#信号がグラフィックス・コントローラによってアサートされていることをメモリ・コントローラ25が認識しているため、メモリ・コントローラはメモリ・オペレーションを完了すると直ちに、3つの事項を行う。メモリ・コントローラ25はRASラインを高に駆動して、RAS#信号をデアサートし、RASプリチャージを開始し(第5図の点「e」参照)、メモリ・アドレス・ラインをトライステート化し(第5図の点「i」参照)、かつメモリ・バス許可信号MGNT#をグラフィックス・コントローラ26に対してアサートする。これはグラフィックス・コントローラ26に対して、メモリ・バスの制御を行えることを示す。1サイクル後に、メモリ・コントローラ25はRASラインをトライステート化し、グラフィックス・コントローラ26がこれらのラインを駆動できるようにする。
できるだけ早く機能するように、グラフィックス・コントローラ26は、グラフィックス・コントローラがMREQ#信号をアサートしたときに、あるインターバルを開始するタイミング回路27(または、同様なタイミング回路)を含んでいる。タイミング回路27はMGNT#信号が復帰したときに、これを感知する。MREQ#信号が最初にアサートされた後の次のクロック内にMGNT#信号が復帰した場合には、グラフィックス・コントローラは直ちにバスの制御を取得し、高速移動オペレーションを行って、これを達成する。ただし、第5図において、メモリ・オペレーションが完了するまで、MGNT#信号はメモリ・コントローラによって戻されない。これが起こった場合、メモリ・コントローラ25は1サイクルの間RASラインを駆動して高とし、クロック・エッジでMGNT#信号をアサートする(第5図の点「c」で示す)。MGNT#信号がプリセット期間内にタイミング回路によってサンプルされないため、グラフィックス・コントローラ26のタイミング回路27は移動オペレーションを低速移動オペレーションとする。RASラインを1クロックの間駆動した後、メモリ・コントローラ25はRASラインをトライステート化し(第5図の点「f」において)、このタインはドリフトして、若干低くなるが、プル・アップ抵抗(第3図において抵抗28によって例示されている)によって高に保持される。低速移動オペレーションを行うにあたり、MGNT#信号の感知後の次のサイクルにおいて、グラフィックス・コントローラ26はRASラインを再度高に駆動してから(第5図の点「g」において)、メモリ・コントローラによってトライステート化された後でドリフトして、低くなる。同時に、グラフィックス・コントローラ26はメモリ・アドレス・ライン上でメモリ・アドレスを駆動する(第5図の点「j」において)。次いで、1サイクル後に、グラフィックス・コントローラ26はRASラインを低に駆動することによってRAS#信号をアサートする(第5図の点「h」によって示されている)。
MREQ#がアサートされているときにメモリ・コントローラがバスを使用している場合に行われるメモリ・コントローラ25からグラフィックス・コントローラ26へのメモリ・バスの低速移動を示している第5図からわかるように、グラフィックス・コントローラ26によるRAS#信号のアサート(第5図において点「h」で示されている)までの、メモリ・コントローラ25によるバス上でのオペレーションの終了(第5図において点「c」および点「e」で示されている)からの期間はちょうど3サイクルとなる。例示した回路の場合。RASプリチャージがメモリ・コントローラ操作の終了時に直ちに始まり、RASラインをプリチャージするのに必要な時間の間だけ継続するため、これが遷移に対して考えられる最も短い時間である。したがって、本発明は低速移動シーケンスを使用した2つのコントローラの間の制御の移動の時間を最も短いものとする。
MREQ#信号がグラフィックス・コントローラ26によってアサートされたときに、メモリ・コントローラ25が制御を有しているが、メモリ・バスを使用していない、第4図に示した場合に、メモリ・コントローラ25は、点「b」における次のクロックのエッジにおけるRASラインの状態を感知することによって、MREQ#信号がグラフィックス・コントローラ26によってアサートされた場合(第4図の点「a」)のRAS信号の状態を再度判定する。RAS信号が高で(第4図におけるように)、メモリ・コントローラ25がメモリ・バスに対して何らかのオペレーションを行っておらず、かつRASラインの充電が少なくとも1サイクルの間継続している(少なくとも、第5図の点「e」による)ことを示している場合、メモリ・コントローラ25は以前に高に駆動されているRASラインをトライステート化し(第5図の点「f」参照)、メモリ・アドレス・ラインをトライステート化し(第5図の点「i」参照)、グラフィックス・コントローラ26に対してメモリ・バス許可信号MGNT#をアサートすることによってMREQ#信号に応答する。
MGNT#信号はグラフィックス・コントローラ26に対して、メモリ・バスの制御を取得できることを示す。グラフィックス・コントローラ26は高速移動オペレーションを示すMREQ#アサート後のインターバル内の次のクロック・エッジにおいてMGNT#信号を感知する(第4図の点「d」参照)。タイミング回路27はプリセット・インターバル内で受信が行われたことを検出し、グラフィックス・コントローラ26を高速移動オペレーションへ切り換える。高速移動において、同じクロック・サイクルにおけるMGNT#信号の感知の直後に、グラフィックス・コントローラ26はRASラインを高に駆動し(第4図の点「g」において)、RASラインの充電が継続するようにする。同時に、グラフィックス・コントローラ26はメモリ・アドレス・ライン上でそのメモリ・アドレスを駆動する(第4図の点「j」において)。次いで、1サイクル後に、グラフィックス・コントローラ26はRASラインを低に駆動することによってRAS#信号をアサートする(第4図の点「h」によって示されている)。
メモリ・コントローラがバスを使用していない場合に生じる、メモリ・コントローラ25からグラフィックス・コントローラ26へのメモリ・バスの高速移動を示している第4図において、RASラインが高に駆動され、MGNT#信号が感知されるのと同じサイクルにおいて、メモリ・アドレスがアサートされることに留意すべきである。これは低速移動オペレーションと同様に、メモリ・コントローラ25によるオペレーションの終了(少なくとも、第4図の点「e」によって生じるように示されている)から、グラフィックス・コントローラ26によるRAS#信号のアサート(第4図の点「h」で示されている)までの期間をちょうど3サイクルにすることを可能とする。RASラインの状態を高であると感知することを高速移動シーケンスが示しているが、感知されたときにどれ位の長さの間、高であったかを示していないため(第4図の点「e」前方のハッチング部分はラインが任意の点で高になっていることを示している)、これはRASラインのプリチャージを完了するのに考えられる最短の時間であり、したがって、RASラインの完全なプリチャージに充分な時間をかけなければならない。例示した回路の場合、RASプリチャージ時間の測定がメモリ・コントローラに対するMREQ#信号のアサート時に直ちに始まり、RASラインをプリチャージするのに必要な時間の間だけ継続するため、これが遷移に対して考えられる最も短い時間である。したがって、本発明は2つのコントローラの間の制御移動の時間を最も短いものとする。
本発明を好ましい実施形態によって説明してきたが、本発明の精神および範囲から逸脱することなく、当分野の技術者が各種の改変および変更を行えることを理解されたい。たとえば、2つ以上のコントローラ、バス・マスタ、プロセッサなどがコンピュータ・システム内のメイン・メモリまたはその他のメモリ・アレイに対する同一の信号に対するアクセスを共用しているあらゆる状況で、本発明を使用することができる。同様にして、他のバスの他のバス・コンピュータが固定期間を、あるコントローラから他のコントローラへのバスの移動に関連した詳細を達成するために必要とすることがしばしばあり、あるコントローラから他のコントローラへのバス制御の移動時間をできるだけ短くするのが有用である。本発明はしたがって、以下の請求の範囲によって判断されるべきである。

Claims (6)

  1. メモリ・バスの制御を有するコントローラからメモリ・バスの制御を希望するコントローラへメモリ・バスの制御を移動する方法において、
    制御を希望するコントローラによって生成されたアクセス要求を検出するステップと、
    メモリ・バスがメモリ・オペレーションに使用されているかどうかを検出するステップと、
    メモリ・バスがメモリ・オペレーションに使用されていない場合に高速バス移動シーケンスを開始するステップであって前記高速バス移動シーケンスは制御を希望するコントローラに前記メモリ・バスの制御を、第1の期間後に移動するものである、ステップと、
    メモリ・バスがメモリ・オペレーションに使用されている場合にはそのメモリ・オペレーションが終わったときに、低速バス移動シーケンスを開始するステップであって前記低速バス移動シーケンスは制御を希望するコントローラに前記メモリ・バスの制御を、前記メモリ・バスに接続されているメモリの選択回路をプリチャージするプリチャージ期間を含む前記第1の期間よりも長い第2の期間後に移動するものである、ステップと
    を含むことを特徴とする方法。
  2. 共有リソースが使用しているバスへのアクセスを有している複数のコントローラの間の共用リソースへのアクセスの制御の移動を加速する方法において、
    第1のバス・コントローラによるアクセス要求を検出するステップと、
    バス第2のバス・コントローラによりメモリ・オペレーションに使用されているか否かを検出するステップと、
    バスが第2のバス・コントローラによってメモリ・オペレーションに使用されていない場合に、高速バス移動シーケンスを開始するステップであって前記高速バス移動シーケンスは第1のバス・コントローラにメモリ・バスの制御を、第1の期間後に移動するものである、ステップと、
    バスが第2のバス・コントローラによつてメモリ・オペレーションに使用されている場合にはそのメモリ・オペレーションが終わったときに、低速バス移動シーケンスを開始するステップであって前記低速バス移動シーケンスは第1のバス・コントローラにバスの制御を、前記バスに接続されているメモリの選択回路をプリチャージするプリチャージ期間を含む前記第1の期間よりも長い第2の期間後に移動するものである、ステップと
    を含むことを特徴とする方法。
  3. 共有リソースが使用しているバスへのアクセスを有している複数のコントローラの間の共用リソースへのアクセスの制御の移動を加速する装置において、
    第1のバス・コントローラによるアクセス要求に応答して、バス第2のバス・コントローラによりメモリ・オペレーションに使用されているかどうかを検出する第1の回路と、
    バス第2のバス・コントローラによってメモリ・オペレーションに使用されていない場合は高速バス移動シーケンスを、バスが第2のバス・コントローラによってメモリ・オペレーションに使用されている場合にはそのメモリ・オペレーションが終ったときに、低速バス移動シーケンスを、それぞれ選択する第2の回路であって前記高速バス移動シーケンスは第1のバス・コントローラにメモリ・バスの制御を、第1の期間後に移動するものであり、前記低速バス移動シーケンスは第1のバス・コントローラにバスの制御を、前記バスに接続されているメモリの選択回路をプリチャージするプリチャージ期間を含む前記第1の期間よりも長い第2の期間後に移動するものである、第2の回路と
    を有することを特徴とする装置。
  4. コンピュータ・システムにおいて、
    中央演算処理装置と、
    メイン・メモリ・アレイと、
    メイン・メモリ・アレイへのアクセスを行うメモリ・バスと、
    メモリ・バスによってメイン・メモリ・アレイに結合されている第1のコントローラと、
    メモリ・バスによってメイン・メモリ・アレイに結合されている第2のコントローラと
    第1のコントローラと第2のコントローラを接続する通知回路と、
    第1と第2のコントローラの間のメモリ・アレイへのアクセスの制御の移動を加速する装置とを備えており、
    上記移動を加速する装置は、
    バスが第1のバス・コントローラによりメモリ・オペレーションに使用されているかどうかを検出するとともに、第2のバス・コントローラによるアクセス要求に応答する回路と、
    バスが第1のバス・コントローラによってメモリ・オペレーションに使用されていない場合には高速バス移動シーケンスを、バスが第1のバス・コントローラによってメモリ・オペレーションに使用されている場合にはそのメモリ・オペレーションが終ったときに、低速バス移動シーケンスを、それぞれ選択する選択回路であって、前記高速バス移動シーケンスは第2のバス・コントローラにメモリ・バスの制御を、第1の期間後に移動するものであり、前記低速バス移動シーケンスは第2のバス・コントローラにメモリ・バスの制御を、前記バスに接続されているメモリの選択回路をプリチャージするプリチャージ期間を含む前記第1の期間よりも長い第2の期間後に移動するものである、選択回路と
    を有することを特徴とする装置。
  5. メモリ・バスの制御を当該メモリ・バスがメモリ・オペレーションに使用されていないときに第1のコントローラから第2のコントローラに移動する方法において、
    メモリ・バスの制御を要求する第2のコントローラからの要求信号を検出するステップと、
    制御に対する要求に先立って、少なくとも所定期間はメモリ選択回路がプリチヤージされたかどうかを判定するステップと、
    メモリ選択回路が少なくとも所定期間プリチャージされていなかった場合には、メモリ選択回路を少なくとも所定期間だけはプリチャージすることを可能にするために、メモリ・バスの制御が第2のコントローラに第1の期間後に移動される第1の移動シーケンスを開始するステップと、
    メモリ選択回路が少なくとも所定期間プリチヤージされていた場合には、メモリ・バスの制御が第2のコントローラに前記第1の期間より短い第2の期間後に移動される第2の移動シーケンスを開始するステップと
    を含むことを特徴とする方法。
  6. メモリ・バスの制御を当該メモリ・バスがメモリ・オペレーションに使用されていないときに第1のコントローラから第2のコントローラに移動する装置において、
    第2のコントローラによるメモリ・バスの制御を求める要求信号のアサーションを検出するように構成された第1の回路と、
    要求信号のアサーションに先立って、少なくとも所定期間はメモリ選択回路がプリチャージされたかどうかを判定するように構成された第2の回路と、
    メモリ選択回路が少なくとも所定期間プリチャージされていなかった場合には、メモリ選択回路を少なくとも所定期間だけはプリチャージすることを可能にするために、メモリ・バスの制御が第2のコントローラに第1の期間後に移動される第1の移動シーケンス、メモリ選択回路が少なくとも所定期間プリチヤージされていた場合にはメモリ・バスの制御が第2のコントローラに前記第1の期間より短い第2の期間後に移動される第2の移動シーケンスを、それぞれ開始するように構成された第3の回路と
    を備えることを特徴とする装置。
JP52847697A 1996-02-12 1996-07-18 コンピュータ・バス上の共用リソースに対する高速アクセス Expired - Fee Related JP3749732B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/599,921 1996-02-12
US08/599,921 US5678009A (en) 1996-02-12 1996-02-12 Method and apparatus providing fast access to a shared resource on a computer bus
PCT/US1996/011941 WO1997029430A1 (en) 1996-02-12 1996-07-18 Fast access to a shared resource on a computer bus

Publications (3)

Publication Number Publication Date
JP2000505573A JP2000505573A (ja) 2000-05-09
JP2000505573A5 JP2000505573A5 (ja) 2004-08-12
JP3749732B2 true JP3749732B2 (ja) 2006-03-01

Family

ID=24401666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52847697A Expired - Fee Related JP3749732B2 (ja) 1996-02-12 1996-07-18 コンピュータ・バス上の共用リソースに対する高速アクセス

Country Status (8)

Country Link
US (1) US5678009A (ja)
JP (1) JP3749732B2 (ja)
KR (1) KR100275407B1 (ja)
AU (1) AU6502396A (ja)
DE (1) DE19681745B4 (ja)
GB (1) GB2325320B (ja)
TW (1) TW353167B (ja)
WO (1) WO1997029430A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
US5802395A (en) * 1996-07-08 1998-09-01 International Business Machines Corporation High density memory modules with improved data bus performance
EP0844567A1 (en) * 1996-11-21 1998-05-27 Hewlett-Packard Company Long haul PCI-to-PCI bridge
US5867180A (en) * 1997-03-13 1999-02-02 International Business Machines Corporation Intelligent media memory statically mapped in unified memory architecture
US5941968A (en) * 1997-04-14 1999-08-24 Advanced Micro Devices, Inc. Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU and expansion bus device
GB2326065B (en) * 1997-06-05 2002-05-29 Mentor Graphics Corp A scalable processor independent on-chip bus
US6052133A (en) * 1997-06-27 2000-04-18 S3 Incorporated Multi-function controller and method for a computer graphics display system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US6418529B1 (en) * 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US6317801B1 (en) * 1998-07-27 2001-11-13 Intel Corporation System for post-driving and pre-driving bus agents on a terminated data bus
US6483516B1 (en) * 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
US6801207B1 (en) * 1998-10-09 2004-10-05 Advanced Micro Devices, Inc. Multimedia processor employing a shared CPU-graphics cache
US6452601B1 (en) * 1999-05-20 2002-09-17 International Business Machines Corporation Pixel component packing, unpacking, and modification
US6633296B1 (en) * 2000-05-26 2003-10-14 Ati International Srl Apparatus for providing data to a plurality of graphics processors and method thereof
US6636939B1 (en) * 2000-06-29 2003-10-21 Intel Corporation Method and apparatus for processor bypass path to system memory
US6816938B2 (en) * 2001-03-27 2004-11-09 Synopsys, Inc. Method and apparatus for providing a modular system on-chip interface
US6976121B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track command signal occurrence for DRAM data transfer
US6976120B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track flag transitions for DRAM data transfer
TW548419B (en) * 2002-02-01 2003-08-21 Via Tech Inc Circuit structure of integrated graphing function chip and its test method
US7038687B2 (en) * 2003-06-30 2006-05-02 Intel Corporation System and method for high-speed communications between an application processor and coprocessor
JP2005128963A (ja) * 2003-10-27 2005-05-19 Toshiba Information Systems (Japan) Corp 記憶制御装置及びdma転送が可能な制御システム
US7370125B2 (en) * 2003-11-25 2008-05-06 Intel Corporation Stream under-run/over-run recovery
US7346716B2 (en) 2003-11-25 2008-03-18 Intel Corporation Tracking progress of data streamer
US20050143843A1 (en) * 2003-11-25 2005-06-30 Zohar Bogin Command pacing
TWI277877B (en) * 2005-03-08 2007-04-01 Via Tech Inc Method and related apparatus for monitoring system bus
US8397006B2 (en) * 2010-01-28 2013-03-12 Freescale Semiconductor, Inc. Arbitration scheme for accessing a shared resource

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301278A (en) * 1988-04-29 1994-04-05 International Business Machines Corporation Flexible dynamic memory controller
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
US5289584A (en) * 1991-06-21 1994-02-22 Compaq Computer Corp. Memory system with FIFO data input
US5448703A (en) * 1993-05-28 1995-09-05 International Business Machines Corporation Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
AU1845597A (en) * 1996-02-09 1997-08-28 Intel Corporation Apparatus for programmably defining the access latency

Also Published As

Publication number Publication date
US5678009A (en) 1997-10-14
AU6502396A (en) 1997-08-28
DE19681745B4 (de) 2010-12-02
KR100275407B1 (ko) 2000-12-15
TW353167B (en) 1999-02-21
GB2325320A (en) 1998-11-18
KR19990082470A (ko) 1999-11-25
JP2000505573A (ja) 2000-05-09
GB2325320B (en) 2000-06-14
GB9817416D0 (en) 1998-10-07
DE19681745T1 (de) 1998-12-24
WO1997029430A1 (en) 1997-08-14

Similar Documents

Publication Publication Date Title
JP3749732B2 (ja) コンピュータ・バス上の共用リソースに対する高速アクセス
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5455915A (en) Computer system with bridge circuitry having input/output multiplexers and third direct unidirectional path for data transfer between buses operating at different rates
US6202107B1 (en) Host controller interface descriptor fetching unit
KR910017296A (ko) 멀티-마스터 버스 파이프라이닝 실행방법 및 장치
EP0375121B1 (en) Method and apparatus for efficient DRAM control
US5678064A (en) Local bus-ISA bridge for supporting PIO and third party DMA data transfers to IDE drives
JPS5922251B2 (ja) 多数未完情報要求を与えるシステム
KR950008231B1 (ko) 퍼스널 컴퓨터 시스템
US6085261A (en) Method and apparatus for burst protocol in a data processing system
JP4642531B2 (ja) データ要求のアービトレーション
US6199118B1 (en) System and method for aligning an initial cache line of data read from an input/output device by a central processing unit
US5680591A (en) Method and apparatus for monitoring a row address strobe signal in a graphics controller
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
US5809534A (en) Performing a write cycle to memory in a multi-processor system
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
US6205507B1 (en) Memory coherency in a processor-to-bus cycle in a multi-processor system
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JP3205992B2 (ja) ダイレクト・メモリ・アクセス転送制御装置
JP3720872B2 (ja) システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム
US20010005870A1 (en) External bus control system
KR0137841Y1 (ko) 멀티프로세서 시스템의 데이타 전송 제어 장치
US6141735A (en) Performing a memory access cycle in a multi-processor computer system
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

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: 20051122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees