JP4625549B2 - 調停システム、およびアクセスを調停する方法 - Google Patents

調停システム、およびアクセスを調停する方法 Download PDF

Info

Publication number
JP4625549B2
JP4625549B2 JP03565898A JP3565898A JP4625549B2 JP 4625549 B2 JP4625549 B2 JP 4625549B2 JP 03565898 A JP03565898 A JP 03565898A JP 3565898 A JP3565898 A JP 3565898A JP 4625549 B2 JP4625549 B2 JP 4625549B2
Authority
JP
Japan
Prior art keywords
bus
arbiter
access
agent
request
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
JP03565898A
Other languages
English (en)
Other versions
JPH1125036A (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH1125036A publication Critical patent/JPH1125036A/ja
Application granted granted Critical
Publication of JP4625549B2 publication Critical patent/JP4625549B2/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Description

【0001】
【技術分野】
この発明は、調停に関し、より特定的には、ネットワークインタフェースと、ネットワークインタフェースにデータを送りかつそれからデータを受取るホストコンピュータとの間の、バスの競合問題を避けるためのバス調停に関する。
【0002】
ここに開示する実施例は、ネットワーク接続されたコンピュータおよびネットワーク制御システム内の、インタフェースデバイスおよびバス調停コントローラに適用が可能である。
【0003】
【背景技術】
現代のコンピュータシステムはしばしば、コントローラ、プロセッサ、メモリおよび周辺装置を含む。データはしばしば、これらのコンポーネントを接続するバス上を伝送されねばならない。このようなシステムの一例がローカルエリアネットワークであり、これは多数のネットワークステーションを含む。ネットワークステーションは典型的に、PCI(peripheral cmponent interconnect)インタフェースを介してホストプロセッサとデータを送受信する、媒体アクセス制御(MAC)層ネットワークインタフェースを含む。
【0004】
ネットワークインタフェースには、PCIインタフェースとMAC送信および受信FIFOとの間でデータをバッファするための拡張バスインタフェースを含むものがある。具体的には、このインタフェースは、付加的な送信および受信データを記憶するための共有外部メモリにアクセスするのに使用され得る。しかし、送信データまたは受信データの記憶または検索のために拡張バスインタフェースにアクセスする試みは、独立して発生すると考えられる。したがって、同時に同じ資源にアクセスが試みられることで、バスの競合問題またはバスのデッドロック問題が生じる。なぜなら、それら2つの独立した動作が、同じバスを介して同じ資源へのアクセスを試みるためである。
【0005】
【発明の概要】
同じ資源へのリクエストが同時に起こる際に、共有資源に対するリクエストを調停する構成が必要とされる。
【0006】
リクエストのうちいくつかが2つ以上の資源へのアクセスを要求する際の、共有資源へのリクエストを調停する構成もまた必要とされる。
【0007】
これらおよび他の必要は、本発明によって達成される。すなわち、本発明では、第1および第2のアービタが、クロック信号のそれぞれ排他的な部分の間に、第1のバスまたは第2のバスへのアクセス要求を許可する。
【0008】
この発明の一局面に従えば、バスへのアクセス要求を調停するためのシステムは、第1および第2のアービタを含む。第1のアービタは、クロック信号の第1の部分の間に、第2のバスが利用可能かどうかに基づいて、第1のバスへのアクセスをリクエストを発した第1のエージェントに許可する。リクエストを発した第1のエージェントが、第1および第2のバスへのアクセスを要求する場合、第2のアービタは、クロック信号の第2の部分の間に、第2のバスが利用可能かどうかに基づいて、リクエストを発した第2のエージェントに対して第2のバスへのアクセスを許可する。クロック信号のそれぞれの部分の間に第1および第2のアービタがアクセスを許可するので、それらのアービタが、共有資源へのアクセスを許可しようとする際に、デッドロックまたは競合状態に陥ることはなくなる。さらに、クロック信号の異なる部分を使用するので、最小限の論理で確実な調停が保証される。
【0009】
この発明の別の局面によれば、データコントローラ内において、第1および第2のバスのうち少なくとも一方のバスへのアクセスを調停するための方法が提供される。この方法は、クロック信号を少なくとも2つの排他的部分に分割するステップと、第1のバスが利用可能かどうかと、第1および第2のバスが同時に利用可能かどうかとをそれぞれ示す、第1および第2の信号を生成するステップと、クロック信号の第1の排他的部分の間に第2の信号に基づいて、第1のバスへのアクセスを要求する動作にアクセスを許可するステップとを含む。第2のバスへのアクセスは、クロック信号の第2の排他的部分の間に、第2のバスが利用可能かどうかおよび第1の信号に基づいて、第1および第2のバスへのアクセスを要求する第2の動作に対して許可される。クロック信号の排他的部分を使用することで、データコントローラは、多数のリクエストを同時に受取った場合にも、1または複数のバスへのアクセスを要求することが考えられる特定の動作のために、選択的にアクセスを許可することができるようになる。
【0010】
この発明の他の目的および利点は、以下の詳細な説明から、当業者には容易に明らかとなろう。示されかつ説明される実施例は、この発明を実行するために考えられるベストモードを示すものである。この発明は、種々の明らかな点で修正を加えることが可能であり、それらはすべてこの発明から離れることはない。したがって、図面および説明は、例示のためのものであって、限定的なものではないと見なされるべきである。
【0011】
【図示された実施例の詳細な説明】
図1は、ネットワークステーション内の、この発明の調停方法を使用するシステムの一例を示すブロック図である。しかし、この発明が資源の調停を必要とする他のいかなるシステムにも適用可能であることは明らかであろう。
【0012】
図1は、データコントローラ10を含む。データコントローラ10は、ネットワークステーション内の、ネットワークインタフェースとホストコントローラとの間のデータ転送を制御する。このシステムは、PCI(peripheral component interconnect )インタフェース12を含み、これは、「Aバス」と称される第1のデータバスを介する、PCIバスとデータコントローラ10との間の通信をサポートする。媒体アクセス制御(MAC)ネットワークインタフェース16は、「Mバス」と称される第2のデータバスを介して、データコントローラ10間でデータを転送する。MACネットワークインタフェース16は、イーサネット(IEEE802.3)ネットワーク等のネットワーク上に、データコントローラ10から供給されるデータを搬送するデータパケットを出力する。このシステムはまた、好ましくはスタチックRAM(SRAM)として実現される外部メモリ14を含み、これは、「Sバス」と称されるデータバスを介してデータコントローラ10間でデータを転送する。外部メモリ14は、ホストコントローラと、接続されるワークステーションとの間で、ネットワークを介して転送されるデータを一時的に記憶して、PCIインタフェース12およびMAC16内の内部バッファを補う。
【0013】
図2は、データコントローラ10によって実行される4つのエージェントを示すデータ流れ図である。これらエージェントは、送信直接メモリアクセス(TxDMA)エージェント26、受信直接メモリアクセス(Rx DMA)エージェント28、送信MAC(Tx MAC)エージェント30および受信MAC(Rx MAC)エージェント32を含む。これらエージェントはたとえば、論理状態マシンとして実現され得る。エージェント26および30は、SRAM14を介するPCIインタフェース12からMAC16へのデータの転送(すなわち、データ流れ)を(すなわち、送信データ経路を)制御し、エージェント28および32は、MAC16からPCIインタフェース12へのデータの転送(すなわち、受信経路)を制御する。したがって、送信データ経路と受信データ経路とは、SRAM14を共有する。上述のように、データコントローラ10は、SRAM14にアクセスするよう競合する4つのエージェントのための機構を提供する。
【0014】
送信DMAエージェント26は、PCIインタフェース12からSRAM14にフレームを移動させるための動作のすべてを調整する。これらの動作は、ディスクリプタの読出し、PCIバスからSRAM14へのデータ転送、状態の書込み、および、上記DMAの動作に必要とされるすべての初期化を含む。
【0015】
Tx DMAエージェント26は、AバスおよびSバスを介して、PCIインタフェース入力FIFO18からSRAM14へとフレームを移動させる。SRAM14において完全な送信フレームが受信されると、Tx MACエージェント30がデータをSバスを介してMAC送信FIFO22に移動させる。具体的には、送信MACエージェント30がMAC送信FIFO22の準備が整った状態を検出すると、送信MACエージェント30がSRAM14内の完全な送信フレームをチェックして、アービタに対してリクエスト信号をアサートする。これを下に説明する。これに代えて、送信MACエージェント30は、送信FIFO記憶容量が所定のしきい値に達したかどうかをチェックしてもよい。アービタから許可信号を受取った後に、送信MACエージェント30は低レベルモジュールを呼出して、MAC送信FIFO22への最高8ワードまでのデータ転送を行なう。
【0016】
受信MACエージェント32は、Sバスを介して、MAC受信FIFO24からSRAM14にフレームを移動させる。SRAM14は、受信オーバフローを引き起こすことなく最高64フレームを保持するよう構成された、待ち行列機構を含む。64×32ビット長のキューは、MAC16から受け取られた各ノーマルフレームのためのフレーム長および受信状態情報を保持する。
【0017】
受信MACエージェント32は、最初に、受信フレームの廃棄および受信FIFOのフラッシュを引き起こすおそれのある例外的な条件が存在するかどうかをチェックする。もしそのような状態が存在すれば、受信MACエージェント32はSRAM14をフラッシュする。データが受信FIFO24から入手可能である場合、受信MACエージェント32はアービタにリクエストを送って許可を待つ。受信MACエージェント32はその後、低レベルモジュールを呼出して、MAC受信FIFO24からSRAM14への最高8ワードの転送を行なう。
【0018】
受信DMAエージェント28は、SRAM14からPCIバスにフレームを移動させるためのすべての動作を調整する。これらの動作は、ディスクリプタの読出し、SRAM14からPCIバスへのデータ転送、状態の書込み、および、上記DMA動作に必要なすべての初期化を含む。
【0019】
すべてのDMA動作は、対応するDMAエージェント26または28による、以下のステップの実行を伴う:
− アービタ(図示せず)にリクエスト信号を送り、そのアービタからの許可信号を待つステップ、
− ディスクリプタ読出しの場合には、低レベルモジュールを呼出して、ディスクリプタをPCIバスから内部ディスクリプタ保持レジスタに移動させるステップ、
− データ読出しの場合には、低レベルモジュールを呼出して、PCIバスからSRAM14へと8ワードを移動させるステップ、
− データ書込みの場合には、低レベルモジュールを呼出して、SRAM14からPCIバスへと8ワードを移動させるステップ、
− 状態書込みの場合には、低レベルモジュールを呼出して、内部状態保持レジスタからPCIバスへと状態を移動させるステップ、および、
− アービタへのリクエスト信号をデアサートするステップ、である。
【0020】
ディスクリプタコントローラは、データコントローラ10内に含まれる。ディスクリプタコントローラの動作は、受信状態書込み(Rx Stat Wr)、送信状態書込み(Tx Stat Wr)、受信ディスクリプタ読出し(RxDesc Rd)および送信ディスクリプタ読出し(Tx Desc Rd)を含む。スレーブコントローラもまたデータコントローラ10に含まれる。スレーブコントローラの動作は、スレーブ読出し/書込み(Slv RW)を含む。ディスクリプタコントローラおよびスレーブコントローラのこれらすべての動作は、Aバスへのアクセスを要求する。
【0021】
図3は、この発明の一実施例に従ったデータコントローラ10を示すブロック図である。上述のように、データコントローラ10は、特定の動作を行なうための実行可能エージェントを含む。上述のように、エージェントの第1のグループ(26、28、30および32)はSRAM14へのアクセスを共有し、したがって、Sバスへのアクセスを共有せねばならない。DMAエージェント26および28はまた、PCIインタフェース12とSRAM14との間の転送のために、AバスおよびSバスの双方への並行の(すなわち、同時の)アクセスを要求する。エージェントの第2のグループ(Slv RW34、Rx Stat Wr36、Tx Stat Wr38、Rx Desc Rd40、およびTx Desc Rd42)は、Aバスへのアクセスを共有する。各グループ内のエージェントは順次にスケジュールされているわけではないので、データコントローラ10はバスSおよびバスAへのアクセスをそれぞれ制御する、アービタS44およびアービタA46を含む。アービタ44および46は、リクエスト(REQ)および許可(GNT)ハンドシェイク信号、バスフリー信号、およびクロック信号を使用して、調停を行なう。
【0022】
たとえば、送信MACリクエスト(TX MAC REQ)は、Sバスへのアクセスのために、送信MACエージェント30によってアービタS44に対して生成されるリクエストである。アービタS44はこのリクエストを受取って、送信MAC許可(TX MAC GND)信号を送信MACエージェント30に送ることによって、送信MACエージェント30にアクセスを許可する。同様に、アービタS44およびA46への他のアクセスリクエストはそれぞれ、同じ方法で行なわれる。所与のいかなる時にも、1つのエージェントしか、共有資源(たとえばAバス)へのアクセスを許可されない。
【0023】
上述のように、送信DMA26および受信DMA28は、AバスおよびSバスへのアクセスを同時に要求して、PCIバスとSRAM14との間でデータを転送する。これら2つのエージェントがアクセスを要求する際にAバスおよびSバスの双方が確実に利用可能となるように、アービタA46およびアービタS44は、信号A FREEおよびS FREEで、それらのそれぞれのバスの状態を通信する。
【0024】
Aバスが利用可能なときには、アービタA46が信号A FREEを生成してアービタS44に送信する。同様に、アービタS44はS FREEを生成してアービタA46に送信する。信号S FREEは通常アサートされているが、アービタS44がSバスおよびAバスの双方へのアクセスのための許可を送信DMAエージェント26または受信DMAエージェント28のいずれかに与えようとするときにデアサートされる。したがって、S FREEは、SバスおよびAバスが双方とも利用不可能な場合に限り、デアサートされる。信号A FREEは通常アサートされているが、アービタA46が第2のグループ内のエージェントのうちいずれか1つに許可を与えようとする際にデアサートされる。A FREEがアサートされていない限り、アービタS44によって送信DMAエージェント26または受信DMAエージェント28に対して許可が与えられることはないが、これは、これら2つのエージェントがAバスばかりでなくSバスへもアクセスを要求するためである。同様に、S FREEがアサートされていない限り、アービタA46によって第2のグループ内のエージェントのうち1つに許可が与えられることはない。
【0025】
図4は、この発明の調停構成が使用されない場合に、図3の調停機構において起こり得る問題を図示する。図4において、REQ Sは、SバスおよびAバスへのアクセスを要求する、送信DMAエージェント26または受信DMAエージェント28によって生成されるリクエストを表わし、REQ Aは、Aバスへのアクセスを要求する、第2のグループからのエージェントのうち1つ(たとえば、エージェント34、36、38、40または42)によって生成されるリクエストを表わす。GNT Sは、送信DMAエージェント26または受信DMAエージェント28のいずれかへの1つのみの許可を表わし、GND Aは、第2のグループからのエージェントのうち1つへの1つのみの許可を表わす。
【0026】
事象62でREQ Sがアサートされたことに応答して、アービタS44は事象66においてS FREEをデアサートして、第2のクロック時に、アービタA46に対して、Sバスがもはや利用可能ではないことを知らせる。第3のクロック時には、もしA FREEがアサートされていれば、GNT Sがアサートされる。アービタA46は、REQ Aに対して、同じ時間に同じように動作する。すなわち、アービタA46は事象60におけるREQ Aに応答して事象64でA FREEをデアサートし、第2のクロック時に、アービタS44に対して、SバスおよびAバスがもはや利用可能ではないことを知らせる。第3のクロック時に、S FREEがアサートされている場合には、GNT Aがアサートされる。この例では、第3のクロックサイクル時にデッドロックが生じる。これは、各アービタ44および46が、共有Aバスがビジーであって、事象68および69においていずれの許可信号もアサートされないと考えるためである。したがって、Aバスへのアクセスを要求しているエージェントはアクセスを拒否され、Sバスへのアクセスを要求しているエージェントもまたアクセスを拒否される。
【0027】
図5は、この発明の調停構成が使用されない場合に図3の調停機構に生じ得る別の問題を図示する。図5において、事象82でREQ Sがアサートされたことに応答して、アービタS44は、事象86においてS FREEをデアサートして、事象89においてGNT SをアサートすることでSバスおよびAバスへのアクセスを許可することによって、アービタA46に対して、SバスおよびAバスの双方が第2のクロック時に利用可能ではないことを知らせる。アービタA46は事象80におけるREQ Aに応答して、事象84においてA FREEをデアサートして、事象88においてGNT AをアサートすることでAバスへのアクセスを許可することによって、アービタS44に対して、Aバスが第2のクロック時に利用可能ではないことを知らせる。したがって、事象88および89においてGNT AおよびGNT Sの双方がアサートされるために、第2のクロック時に共有Aバスに関して競合が生じ、それにより、2つのエージェントが同時に同じAバスへのアクセスを要求する結果となる。これは、GNT Sが、第2のグループの1エージェントがAバスにアクセスしているのと同時に、送信DMAエージェント26または受信DMAエージェント28のいずれかがSバスとAバスとにアクセスするという結果をもたらすためである。
【0028】
以上のような競合/デッドロックの問題を解決するために、時分割多重化された調停機構が使用される。
【0029】
図7は、この発明の一実施例に従った、アクセスを調停するための方法を示すフロー図である。開示される方法は、並列で(たとえば、状態マシンとして)実現することが可能である。この方法は、ステップ201において、クロックをN個の部分に分割することによって開始する。ここで、Nは、共有資源、この場合Aバスを求めて競合するアービタの数に対応する。この場合、アービタ44および46を含むので、N=2である。図6を参照して、データコントローラ10はシステムクロックCLKから導出された2分周クロックとしてPHASE信号を生成する。101、103、105、107および109におけるハイの位相(PHA)は、アービタA46のための、システムのクロック信号の第1の排他的部分として予約される。これに対し、100、102、104、106、108および110におけるローの位相(PHS)は、アービタS44のための、第2の排他的部分として予約される。例示のシステム内のシステムクロックCLKは、33MHzの水晶基準クロックであるが、安定したクロック信号を供給する信号であれば、いかなる公知の基準信号を使用することも可能である。また、基準クロックから導出される2分周クロックを生成する際の詳細は、この発明には必要ではない。入力クロック信号を受取って、基準クロックを2分周した形である新しいクロック信号を生成する、当該技術分野で知られているいかなる典型的なデバイスも、この発明で使用するのに適している。
【0030】
この発明の時分割多重化調停機構において、アービタA46は、ステップ202におけるREQ Aに応答して、対応する排他的部分PHA中に限り、A FREEをデアサートしてGNT Aをアサートする。アービタS44は、ステップ203内のREQ Sに応答して、対応する排他的部分PHS中に限り、SFREEをデアサートしてGNT Sをアサートする。しかし、クロックがどちらの位相にあるかにかかわらず、いずれかのリクエストが許可されるには、SFREEとA FREE との双方がアサートされていなければならない(すなわち、Aバスがフリーでなければならない)。アービタA46とアービタS44は、決して同じ位相では決定を下さないため、デッドロックおよび競合状態が回避される。
【0031】
図6を参照して、事象112でREQ Aがアサートされる際には、信号AFREEおよびS FREEの双方がアサートされている。したがって、アービタA46はステップ204においてS FREEとA FREEとの双方がアサートされているかをチェックして、ステップ205および206において、排他的部分PHA中に、事象124においてGNT Aをアサートして、事象118においてA FREEをデアサートする。したがって、Aバスへのアクセスは、Aバスへのアクセスを要求している第2のグループ内のエージェント(たとえば、エージェント34、36、38、40または42)に許可される。この期間中に、アービタSはステップ204においてリクエストを拒否する。事象114でREQ Aがデアサートされると、A FREEが事象120で再びアサートされる。REQ S、S FREEおよびA FREEがサイクル107でアサートされているのに応答して、アービタSはステップ207および208において、事象128でPHSの際にGNT Sをアサートし、事象122においてSFREEをデアサートする。したがって、SバスおよびAバスへのアクセスは、送信DMAエージェント26または受信DMAエージェント28のいずれかに許可される。アービタS44とアービタA46とが同じ位相中にA FREEおよびS FREEをデアサートすることは決してないため、このシステムの資源に対するリクエストは、デッドロックの問題および競合の問題をいずれも回避する。
【0032】
例示の実施例において説明した時分割多重化調停システムは、2つのアービタを使用して、クロック信号を各アービタにつき1位相の、2つの位相に分割するが、この多重化調停システムは、3個以上のアービタを含むシステムにも等しく適用できる。たとえば、システムは3つの別個のバスへのアクセスを調停するために3つのアービタを利用することが可能である。このようなシステムにおいては、もし複数の動作のうちの1つがそれら3つのバスの各々へのアクセスを要求する場合、または、複数の動作のうち2つ以上の動作がバスのうち2つ以上のバスへのアクセスを要求する場合に、クロック信号は、各アービタにつき1位相である、3つの位相に分割される。このようにして、第1の位相は第1の動作にアクセスを許可するのに用いられ、第2の位相は第2の動作のために、また第3の位相は第3の動作のために利用される。同様に、4つのアービタを有する状況においては、クロックは4つの位相に分割される。
【0033】
この時分割多重化調停システムの例示の実施例はまた、クロックの位相が等しい期間を有するものと仮定するが、これに代えて、この発明は、クロックサイクルの異なる部分、すなわちタイムスライスを、異なるアービタに割当てることも可能である。たとえば、第1の動作が第2の動作よりもより頻繁に起こることがわかっている場合には、クロックサイクルの第1の部分がクロックサイクルの第2の部分よりもより長い期間を有してもよい。この方法により、第1の動作からのリクエストは、いかなる所与の時間にも、許可されやすくなる。なぜなら、第1のアービタがリクエストを許可することのできる時間期間が、第2のアービタがリクエストを許可することのできる時間期間よりも長いためである。
【0034】
この発明の例示の実施例はまた、バスがチップの外部に位置する場合を示すが、この発明は、バスがチップ内の内部バスであるようなシステムにおいても使用することが可能である。さらに、開示された構成は、多重バスを共有する多数のアービタを使用するシステムにも適用が可能である。したがって、種々のアービタおよびバスを使用することが可能である。
【0035】
以上のように、デッドロックおよび競合を回避することのできる時分割多重化調停のためのシステムおよび方法を開示したが、この発明の利点は、調停機構によって、システムが、データをどのように転送するかを判定する複雑な調停アルゴリズムを必要とすることなく、データ転送を適時処理することが可能となることである。この発明の別の利点は、使用される調停機構が、資源の競合を解決するためにアービタの階層構造を必要としないことである。これは、処理時間を節約し、さらに、アービタが複雑な論理を排除することによってチップスペースを節約することを可能にする。
【0036】
この開示においては、この発明の好ましい実施例のみを示しかつ説明したが、上に述べたように、この発明がさまざまな他の組合せおよび環境において使用することが可能であって、ここに説明した発明の概念の範囲内で変更または修正が可能であることを理解されたい。
【図面の簡単な説明】
【図1】この発明の一実施例に従った、ネットワークインタフェースとホストプロセッサとの間でデータを転送するための構成を示すブロック図である。
【図2】図1のネットワークインタフェースとPCIインタフェースとの間の、データ流れを示すブロック図である。
【図3】図1のデータコントローラを示すブロック図である。
【図4】この発明の調停構成が使用されない場合のデッドロック状況を示すタイミング図である。
【図5】この発明の調停構成が使用されない場合の、競合状況を示す別のタイミング図である。
【図6】図1のシステムのための、時分割多重化調停機構を示すタイミング図である。
【図7】この発明の一実施例に従った、アクセスを調停するための方法のフロー図である。
【符号の説明】
10 データコントローラ
12 PCIインタフェース
14 SRAM
16 MAC
26 送信DMAエージェント
28 受信DMAエージェント
30 送信MACエージェント
32 受信MACエージェント
44 アービタ
46 アービタ

Claims (5)

  1. クロック信号の第1の部分中に、第2のバス(A)が利用可能か否かに基づいて、リクエストを発した第1のエージェントに対して第1のバス(S)へのアクセスを許可するよう構成された第1のアービタ(S44)と、
    クロック信号の第2の部分中に、第2のバスが利用可能か否かに基づいて、リクエストを発した第2のエージェントに対して第2のバス(A)へのアクセスを許可するよう構成された第2のアービタ(A46)とを含み、リクエストを発する第1のエージェントは、第1および第2のバスへの同時アクセスを要求する、調停システム(10)
  2. 第1のアービタは、第1のバスと第2のバスとが同時に利用可能か否かを示す第1のバスフリー信号(S FREE)を、第2のアービタに送信するよう構成される、請求項1に記載の調停システム。
  3. 第2のアービタは、第2のバスが利用可能か否かを示す第2のバスフリー信号(A FREE)を第1のアービタに送信するよう構成される、請求項2に記載の調停システム。
  4. 第1のアービタは、第1のバスおよび第2のバスの双方がフリーであるときに限り、リクエストを発した第1のエージェントに対して第1のバスへの前記アクセスを許可するよう構成され、リクエストを発した第1のエージェントは、第1のバスへの前記アクセスが許可されたことに応答して、前記第1のバスおよび前記第2のバス上でデータを転送する、請求項2に記載の調停システム。
  5. 第2のアービタは、前記第1のバスフリー信号に基づいて、リクエストを発した第2のエージェントに対して第2のバスへの前記アクセスを許可するよう構成され、リクエストを発した第2のエージェントは、第2のバスへの前記アクセスが許可されたことに応答して、前記第2のバス上でデータを転送する、請求項2に記載の調停システム。
JP03565898A 1997-06-19 1998-02-18 調停システム、およびアクセスを調停する方法 Expired - Fee Related JP4625549B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/879202 1997-06-19
US08/879,202 US6061361A (en) 1997-06-19 1997-06-19 Time multiplexed scheme for deadlock resolution in distributed arbitration

Publications (2)

Publication Number Publication Date
JPH1125036A JPH1125036A (ja) 1999-01-29
JP4625549B2 true JP4625549B2 (ja) 2011-02-02

Family

ID=25373631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03565898A Expired - Fee Related JP4625549B2 (ja) 1997-06-19 1998-02-18 調停システム、およびアクセスを調停する方法

Country Status (4)

Country Link
US (1) US6061361A (ja)
EP (1) EP0886218B1 (ja)
JP (1) JP4625549B2 (ja)
DE (1) DE69827879T2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738845B1 (en) 1999-11-05 2004-05-18 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication device
DE19961124A1 (de) * 1999-12-17 2001-06-21 Infineon Technologies Ag Schnittstelle
US6778548B1 (en) * 2000-06-26 2004-08-17 Intel Corporation Device to receive, buffer, and transmit packets of data in a packet switching network
US7035277B1 (en) * 2000-08-31 2006-04-25 Cisco Technology, Inc. Priority-based arbitration system for context switching applications
WO2007095992A1 (en) 2006-02-20 2007-08-30 Robert Bosch Gmbh Obstruction detection device
FR3087982B1 (fr) * 2018-10-31 2020-12-04 Commissariat Energie Atomique Procede et circuit de multiplexage temporel d'acces concurrents a une ressource informatique
TWI739556B (zh) * 2020-08-19 2021-09-11 瑞昱半導體股份有限公司 時脈死結檢測系統、方法以及非暫態電腦可讀取媒體

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1229667B (it) * 1989-04-24 1991-09-06 Bull Hn Information Syst Sistema di elaborazione dati con arbitratore duale di accesso a bus di sistema.
ES2210250T3 (es) * 1993-03-12 2004-07-01 Motorola, Inc. Metodo para reducir la contencion y los errores de asignacion de recursos.
US5713025A (en) * 1993-10-21 1998-01-27 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
US5787265A (en) * 1995-09-28 1998-07-28 Emc Corporation Bus arbitration system having a pair of logic networks to control data transfer between a memory and a pair of buses
US5745684A (en) * 1995-11-06 1998-04-28 Sun Microsystems, Inc. Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
US5797018A (en) * 1995-12-07 1998-08-18 Compaq Computer Corporation Apparatus and method of preventing a deadlock condition in a computer system

Also Published As

Publication number Publication date
JPH1125036A (ja) 1999-01-29
US6061361A (en) 2000-05-09
DE69827879D1 (de) 2005-01-05
DE69827879T2 (de) 2005-11-03
EP0886218B1 (en) 2004-12-01
EP0886218A2 (en) 1998-12-23
EP0886218A3 (en) 2003-04-09

Similar Documents

Publication Publication Date Title
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
US5546543A (en) Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress
US6519666B1 (en) Arbitration scheme for optimal performance
US5933610A (en) Predictive arbitration system for PCI bus agents
US6134625A (en) Method and apparatus for providing arbitration between multiple data streams
US8190801B2 (en) Interconnect logic for a data processing apparatus
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US5546547A (en) Memory bus arbiter for a computer system having a dsp co-processor
US5515523A (en) Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US6425037B1 (en) Information processing system, bus arbiter, and bus controlling method
JP4313607B2 (ja) バス接続回路及びバス接続システム
KR20160112305A (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
KR100480605B1 (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
JP4625549B2 (ja) 調停システム、およびアクセスを調停する方法
US6199132B1 (en) Communication link with isochronous and asynchronous priority modes
JPH06337843A (ja) データ転送制御方法
US7904624B2 (en) High bandwidth split bus
US20030140189A1 (en) Method and apparatus for resource sharing in a multi-processor system
JP2626137B2 (ja) バス制御方式
EP1380960B1 (en) Memory access from different clock domains
JP2000029822A (ja) ブリッジ装置
JP2632049B2 (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070828

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070831

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101108

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees