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

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

Info

Publication number
JPH1125036A
JPH1125036A JP10035658A JP3565898A JPH1125036A JP H1125036 A JPH1125036 A JP H1125036A JP 10035658 A JP10035658 A JP 10035658A JP 3565898 A JP3565898 A JP 3565898A JP H1125036 A JPH1125036 A JP H1125036A
Authority
JP
Japan
Prior art keywords
bus
access
arbiter
free
agent
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
Application number
JP10035658A
Other languages
English (en)
Other versions
JP4625549B2 (ja
Inventor
Jiu An
ジウ・アン
Shashank Merchant
シャシャンク・マーチャント
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

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

Abstract

(57)【要約】 (修正有) 【課題】 バスの競合問題を解決する、調停システムを
提供する。 【解決手段】 調停システムは、クロック信号の排他的
部分を対応するアービタ44、46に割当てることによ
り、バスの競合問題を解決する。このシステムは、共有
資源と、共有資源の2つ以上へのアクセスを要求する1
以上の要求エージェントとを含む。システムは2つのア
ービタ44、46を使用して、その各々が他方のアービ
タに対してそれぞれの共有バスの状態を通信するように
する。第1のバスへのアクセスを要求する第1のエージ
ェントには、第2のバスが利用可能かどうかに基づい
て、クロック信号の第1の部分中にのみアクセスが許可
される。第2のバスへのアクセスを要求する第2のエー
ジェントは、第1のバスが利用可能か否かに基づいて、
クロック信号の第2の部分中にのみアクセスが許可され
る。

Description

【発明の詳細な説明】
【0001】
【技術分野】この発明は、調停に関し、より特定的に
は、ネットワークインタフェースと、ネットワークイン
タフェースにデータを送りかつそれからデータを受取る
ホストコンピュータとの間の、バスの競合問題を避ける
ためのバス調停に関する。
【0002】ここに開示する実施例は、ネットワーク接
続されたコンピュータおよびネットワーク制御システム
内の、インタフェースデバイスおよびバス調停コントロ
ーラに適用が可能である。
【0003】
【背景技術】現代のコンピュータシステムはしばしば、
コントローラ、プロセッサ、メモリおよび周辺装置を含
む。データはしばしば、これらのコンポーネントを接続
するバス上を伝送されねばならない。このようなシステ
ムの一例がローカルエリアネットワークであり、これは
多数のネットワークステーションを含む。ネットワーク
ステーションは典型的に、PCI(peripheral cmponen
t interconnect)インタフェースを介してホストプロセ
ッサとデータを送受信する、媒体アクセス制御(MA
C)層ネットワークインタフェースを含む。
【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は、ネットワークステーション
内の、ネットワークインタフェースとホストコントロー
ラとの間のデータ転送を制御する。このシステムは、P
CI(peripheral componentinterconnect )インタフ
ェース12を含み、これは、「Aバス」と称される第1
のデータバスを介する、PCIバスとデータコントロー
ラ10との間の通信をサポートする。媒体アクセス制御
(MAC)ネットワークインタフェース16は、「Mバ
ス」と称される第2のデータバスを介して、データコン
トローラ10間でデータを転送する。MACネットワー
クインタフェース16は、イーサネット(IEEE80
2.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へのデー
タの転送(すなわち、受信経路)を制御する。したがっ
て、送信データ経路と受信データ経路とは、SRAM1
4を共有する。上述のように、データコントローラ10
は、SRAM14にアクセスするよう競合する4つのエ
ージェントのための機構を提供する。
【0014】送信DMAエージェント26は、PCIイ
ンタフェース12からSRAM14にフレームを移動さ
せるための動作のすべてを調整する。これらの動作は、
ディスクリプタの読出し、PCIバスからSRAM14
へのデータ転送、状態の書込み、および、上記DMAの
動作に必要とされるすべての初期化を含む。
【0015】Tx DMAエージェント26は、Aバス
およびSバスを介して、PCIインタフェース入力FI
FO18からSRAM14へとフレームを移動させる。
SRAM14において完全な送信フレームが受信される
と、Tx MACエージェント30がデータをSバスを
介してMAC送信FIFO22に移動させる。具体的に
は、送信MACエージェント30がMAC送信FIFO
22の準備が整った状態を検出すると、送信MACエー
ジェント30がSRAM14内の完全な送信フレームを
チェックして、アービタに対してリクエスト信号をアサ
ートする。これを下に説明する。これに代えて、送信M
ACエージェント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は、SRAM
14からPCIバスにフレームを移動させるためのすべ
ての動作を調整する。これらの動作は、ディスクリプタ
の読出し、SRAM14からPCIバスへのデータ転
送、状態の書込み、および、上記DMA動作に必要なす
べての初期化を含む。
【0019】すべてのDMA動作は、対応するDMAエ
ージェント26または28による、以下のステップの実
行を伴う: − アービタ(図示せず)にリクエスト信号を送り、そ
のアービタからの許可信号を待つステップ、 − ディスクリプタ読出しの場合には、低レベルモジュ
ールを呼出して、ディスクリプタをPCIバスから内部
ディスクリプタ保持レジスタに移動させるステップ、 − データ読出しの場合には、低レベルモジュールを呼
出して、PCIバスからSRAM14へと8ワードを移
動させるステップ、 − データ書込みの場合には、低レベルモジュールを呼
出して、SRAM14からPCIバスへと8ワードを移
動させるステップ、 − 状態書込みの場合には、低レベルモジュールを呼出
して、内部状態保持レジスタからPCIバスへと状態を
移動させるステップ、および、 − アービタへのリクエスト信号をデアサートするステ
ップ、である。
【0020】ディスクリプタコントローラは、データコ
ントローラ10内に含まれる。ディスクリプタコントロ
ーラの動作は、受信状態書込み(Rx Stat W
r)、送信状態書込み(Tx Stat Wr)、受信
ディスクリプタ読出し(RxDesc Rd)および送
信ディスクリプタ読出し(Tx Desc Rd)を含
む。スレーブコントローラもまたデータコントローラ1
0に含まれる。スレーブコントローラの動作は、スレー
ブ読出し/書込み(Slv RW)を含む。ディスクリ
プタコントローラおよびスレーブコントローラのこれら
すべての動作は、Aバスへのアクセスを要求する。
【0021】図3は、この発明の一実施例に従ったデー
タコントローラ10を示すブロック図である。上述のよ
うに、データコントローラ10は、特定の動作を行なう
ための実行可能エージェントを含む。上述のように、エ
ージェントの第1のグループ(26、28、30および
32)はSRAM14へのアクセスを共有し、したがっ
て、Sバスへのアクセスを共有せねばならない。DMA
エージェント26および28はまた、PCIインタフェ
ース12とSRAM14との間の転送のために、Aバス
およびSバスの双方への並行の(すなわち、同時の)ア
クセスを要求する。エージェントの第2のグループ(S
lv RW34、Rx Stat Wr36、Tx S
tat 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 MA
C 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バスが利用可能なときには、アービタA
46が信号A FREEを生成してアービタS44に送
信する。同様に、アービタS44はS FREEを生成
してアービタA46に送信する。信号S FREEは通
常アサートされているが、アービタS44がSバスおよ
びAバスの双方へのアクセスのための許可を送信DMA
エージェント26または受信DMAエージェント28の
いずれかに与えようとするときにデアサートされる。し
たがって、S FREEは、SバスおよびAバスが双方
とも利用不可能な場合に限り、デアサートされる。信号
A FREEは通常アサートされているが、アービタA
46が第2のグループ内のエージェントのうちいずれか
1つに許可を与えようとする際にデアサートされる。A
FREEがアサートされていない限り、アービタS4
4によって送信DMAエージェント26または受信DM
Aエージェント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、3
8、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 FR
EEがアサートされていれば、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の排他的部分として予約される。これに対し、10
0、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中に限り、SF
REEをデアサートしてGNT Sをアサートする。し
かし、クロックがどちらの位相にあるかにかかわらず、
いずれかのリクエストが許可されるには、SFREEと
A FREE との双方がアサートされていなければな
らない(すなわち、Aバスがフリーでなければならな
い)。アービタA46とアービタS44は、決して同じ
位相では決定を下さないため、デッドロックおよび競合
状態が回避される。
【0031】図6を参照して、事象112でREQ A
がアサートされる際には、信号AFREEおよびS F
REEの双方がアサートされている。したがって、アー
ビタ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においてリクエストを拒否する。事象1
14でREQ Aがデアサートされると、A FREE
が事象120で再びアサートされる。REQ S、S
FREEおよびA FREEがサイクル107でアサー
トされているのに応答して、アービタSはステップ20
7および208において、事象128でPHSの際にG
NT Sをアサートし、事象122においてSFREE
をデアサートする。したがって、SバスおよびAバスへ
のアクセスは、送信DMAエージェント26または受信
DMAエージェント28のいずれかに許可される。アー
ビタS44とアービタA46とが同じ位相中にA FR
EEおよび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 アービタ
フロントページの続き (72)発明者 シャシャンク・マーチャント アメリカ合衆国、94089 カリフォルニア 州、サニィベイル、モース・アベニュ、 1063、ナンバー・11−305

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 クロック信号の第1の部分中に、第2の
    バス(S)が利用可能か否かに基づいて、リクエストを
    発した第1のエージェントに対して第1のバス(A)へ
    のアクセスを許可するよう構成された第1のアービタ
    (44)と、 クロック信号の第2の部分中に、第2のバス(S)が利
    用可能か否かに基づいて、リクエストを発した第2のエ
    ージェントに対して第2のバス(S)へのアクセスを許
    可するよう構成された第2のアービタ(46)とを含
    み、リクエストを発した第1のエージェントは、第1お
    よび第2のバスへのアクセスを要求する、調停システム
    (10)。
  2. 【請求項2】 第1のアービタは、第1のバスと第2の
    バスとが同時に利用可能か否かを示す第1のバスフリー
    信号(S_FREE)を、第2のアービタに送信するよ
    う構成される、請求項1に記載の調停システム。
  3. 【請求項3】 第2のアービタは、第2のバスが利用可
    能か否かを示す第2のバスフリー信号(A_FREE)
    を第1のアービタに送信するよう構成される、請求項2
    に記載の調停システム。
  4. 【請求項4】 第1のアービタは、第1のバスおよび第
    2のバスの双方がフリーであるときに限り、リクエスト
    を発した第1のエージェントに対して第1のバスへの前
    記アクセスを許可するよう構成され、リクエストを発し
    た第1のエージェントは、第1のバスへの前記アクセス
    が許可されたことに応答して、前記第1のバスおよび前
    記第2のバス上でデータを転送する、請求項2に記載の
    調停システム。
  5. 【請求項5】 第2のアービタは、前記第1のバスフリ
    ー信号に基づいて、リクエストを発した第2のエージェ
    ントに対して第2のバスへの前記アクセスを許可するよ
    う構成され、リクエストを発した第2のエージェント
    は、第2のバスへの前記アクセスが許可されたことに応
    答して、前記第2のバス上でデータを転送する、請求項
    2に記載の調停システム。
  6. 【請求項6】 リクエストを発した第1のエージェント
    は、第1のバスに結合されたPCIインターフェイス
    (12)と第2のバスに結合された記憶装置(14)と
    の間で前記データを転送する、請求項5に記載の調停シ
    ステム。
  7. 【請求項7】 データコントローラ(10)内で、第1
    のバス(A)および第2のバス(S)のうち少なくとも
    一方へのアクセスを調停する方法であって、前記方法
    は、 a) クロック信号(CLK)を少なくとも2つの排他
    的部分(PHSおよびPHA)に分割するステップと、 b) 第1のバス(A)が利用可能か否かと、第1のバ
    ス(A)および第2のバス(S)が同時に利用可能か否
    かとをそれぞれ示す、第1の信号(A_FREE)およ
    び第2の信号(S_FREE)を生成するステップと、 c) 第2の信号(S_FREE)に基づいて、クロッ
    ク信号の第1の排他的部分(PHA)中に、第1のバス
    へのアクセスを要求する第1の動作(REQA)に第1
    のバスアクセス(GNT A)を許可するステップと、 d) 第2のバス(S)が利用可能かどうかと第1の信
    号(A_FREE)とに基づいて、クロック信号の第2
    の排他的部分(PHS)中に、第1および第2のバスへ
    のアクセスを要求する第2の動作(REQ S)に第2
    のバスアクセス(GNT S)を許可するステップとを
    含む、方法。
  8. 【請求項8】 前記ステップc)は、 第1のバスがフリーである場合に限り、第1の動作に前
    記第1のバスアクセスを許可するステップをさらに含
    む、請求項7に記載の方法。
  9. 【請求項9】 前記ステップd)は、 第2のバスおよび第1のバスが双方ともフリーである場
    合に限り、第2の動作に対して前記第2のバスアクセス
    を許可するステップをさらに含む、請求項7に記載の方
    法。
  10. 【請求項10】 複数の動作間でアクセスの調停を提供
    するための調停システムであって、前記システムは、 排他的部分(PHSおよびPHA)を有するクロック信
    号(CLK)と、 第1のバス(S)および第2のバス(A)とを含み、動
    作はバスの少なくとも1つへのアクセスを要求し、動作
    のうち1つ(26または28)は第1および第2のバス
    へのアクセスを要求し、さらに、 動作に対して、要求された対応するバスへの選択的なア
    クセスを許可するよう構成されるアービタ(10)を含
    み、各動作は、クロック信号の排他的部分のうち異なる
    一部分中に、要求されたバスへのアクセスを許可され
    る、調停システム。
  11. 【請求項11】 アービタ(10)は、 それぞれ前記排他的部分の第1(PHS)および第2
    (PHA)の間に、第1および第2のバスへのアクセス
    を許可するための第1のバスアービタ(44)および第
    2のバスアービタ(46)を含む、請求項10に記載の
    調停システム。
  12. 【請求項12】 第1のバスアービタ(44)は、少な
    くとも2つのバス(SおよびA)が同時に利用可能か否
    かを示す第1のバスフリー信号(S_FREE)を第2
    のバスアービタ(46)に送るよう構成される、請求項
    11に記載の調停システム。
  13. 【請求項13】 第1のバスアービタは、第2のバスア
    ービタによって生成される、第2のバスが利用可能か否
    かを示す第2のバスフリー信号(A_FREE)に基づ
    いて、1動作に対してバスアクセスを許可するよう構成
    される、請求項12に記載の調停システム。
  14. 【請求項14】 第1のデバイス(16)と、 第1のバス(S)によって第1のデバイスに結合される
    メモリデバイス(14)と、 第2のバス(A)によって第1のデバイスに結合される
    第2のデバイス(12)と、 第2のバスが利用可能か否かに基づいて、クロック信号
    (CLK)の第1の位相(PHS)の間に、リクエスト
    を発した第1のエージェントに対して、第1のバスおよ
    び第2のバスを介してメモリデバイスへのアクセスを許
    可するよう構成された第1のアービタ(44)と、 第1のバスが利用可能か否かに基づいて、クロック信号
    の第2の位相(PHA)の間に、リクエストを発した第
    2のエージェントに対して、第2のバスへのアクセスを
    許可するよう構成された第2のアービタ(46)とを含
    む、調停システム。
  15. 【請求項15】 第2のアービタは、第2のバスが利用
    可能か否かを示すバスフリー信号(A_FREE)を第
    1のアービタに送信するよう構成され、第1のアービタ
    は、第1および第2のバスが同時に利用可能か否かを示
    すバスフリー信号(S_FREE)を第2のアービタに
    送信するよう構成される、請求項14に記載の調停シス
    テム。
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 true JPH1125036A (ja) 1999-01-29
JP4625549B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7807970B2 (en) 2006-02-20 2010-10-05 Robert Bosch Gmbh Obstruction detection device

Families Citing this family (6)

* 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
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.
KR0159796B1 (ko) * 1993-03-12 1998-12-01 안쏘니 제이. 살리 주니어 패킷 전송 시스템에서 경합의 가능성 및 부적절한 자원할당의 가능성을 감소시키기 위한 방법 및 장치
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7807970B2 (en) 2006-02-20 2010-10-05 Robert Bosch Gmbh Obstruction detection device

Also Published As

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

Similar Documents

Publication Publication Date Title
US6393506B1 (en) Virtual channel bus and system architecture
US5933610A (en) Predictive arbitration system for PCI bus agents
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
US5710891A (en) Pipelined distributed bus arbitration system
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US6519666B1 (en) Arbitration scheme for optimal performance
US5546547A (en) Memory bus arbiter for a computer system having a dsp co-processor
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US6134625A (en) Method and apparatus for providing arbitration between multiple data streams
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
JPH11191075A (ja) メモリアーキテクチャーのための優先符号化及び復号化
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
JP3519182B2 (ja) 情報処理システムおよびバスアービタならびにバス制御方法
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
JP4313607B2 (ja) バス接続回路及びバス接続システム
US6697904B1 (en) Preventing starvation of agents on a bus bridge
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6212589B1 (en) System resource arbitration mechanism for a host bridge
KR20160112305A (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
US6199132B1 (en) Communication link with isochronous and asynchronous priority modes
JP4625549B2 (ja) 調停システム、およびアクセスを調停する方法
US6442632B1 (en) System resource arbitration mechanism for a host bridge
EP1096387B1 (en) An arbitration unit for a bus

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