JPH1097493A - バス支配権を渡す方法および装置 - Google Patents

バス支配権を渡す方法および装置

Info

Publication number
JPH1097493A
JPH1097493A JP9143702A JP14370297A JPH1097493A JP H1097493 A JPH1097493 A JP H1097493A JP 9143702 A JP9143702 A JP 9143702A JP 14370297 A JP14370297 A JP 14370297A JP H1097493 A JPH1097493 A JP H1097493A
Authority
JP
Japan
Prior art keywords
bus
access
processor
signal
resource
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.)
Pending
Application number
JP9143702A
Other languages
English (en)
Inventor
Kenneth A Schmahl
ケネス・エイ・シュマール
Matthew J Tedone
マシュー・ジェイ・テダン
John C Schell
ジョン・シー・スケル
Igor Karminsky
イゴール・カーミンスキー
Ray P Chan
レイ・ピー・チャン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1097493A publication Critical patent/JPH1097493A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control

Landscapes

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

Abstract

(57)【要約】 【課題】 バスの支配権を渡す方法を提供する。 【解決手段】 バスが使用可能か否かについて判定を行
う(701)。バスが使用可能な場合(702)、バス
にアクセスしかつ前記バスにアクセスしていることを示
す信号を発生し、またバスへのアクセスに応答してタイ
マを起動する(705)。タイマが満了したとき(70
6)、前記バスへのアクセスを譲る(707)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バス調整(bus re
gulation)の分野に関する。更に特定すれば、本発明
は、多数の装置間でバス支配権を渡す方法および装置に
関するものである。
【0002】
【従来の技術】多数の装置がバス上に常駐する場合、こ
のバスに対するアクセスの調整が必要となる。バスに対
するアクセスを調整することによって、通信を望む多数
の装置が同時に異なる転送のために制御ラインおよびデ
ータ・ラインをアサートしてバス競合が発生しないこと
を保証する。
【0003】バス・アクセスを調整する手法の1つに、
システムにおいて1つ以上のバス・マスタを使用するこ
とが挙げられる。バス・マスタとは、バスに対するアク
セスを制御するものである。これは、全てのバス要求を
開始(initiate)し制御する。プロセッサはメモリ装置に
対するアクセスについてのバス要求を開始できなければ
ならないので、常に1つのバス・マスタとなる。メモリ
装置はリード(read)およびライト(write)要求に応
答するが、決してそれ自体の要求を発生しないので、通
常スレーブである。
【0004】多数の中央演算ユニット(CPU)がある
場合、または入出力(I/O)装置がバス・トランザク
ションを開始できる場合、バスは多数のマスタを有する
ことになる。多数のマスタがある場合、どれが次にバス
を獲得するのかを決定するために、マスタ間の仲裁法
(arbitration scheme)が必要となる。この仲裁法を実
施するにはバス・アービタを典型的に用いる。あるバス
仲裁法においては、バスの使用を望む装置がバス要求を
送り、その後バスをこれに付与する。付与後、その装置
はバスを使用することができ、後に、バスをもはや必要
としないことをバス・アービタに知らせる。すると、バ
ス・アービタは別の装置にバスを付与することができ
る。殆どのマルチ・マスタ・バス(multi-master bus)
は、要求および付与を行うために1組のバス信号を有し
ている。各装置がバスを解放するためにそれ自体の要求
ラインを用いない場合、バス解放ラインも必要となる。
ときとして、バス仲裁に用いるそれら信号が物理的に別
個のラインを有することがあり、一方他のシステムで
は、バスのデータ・ラインをこの機能のために用いるも
のがある。仲裁は多くの場合固定の優先順位であり、デ
イジー・チェイン装置の場合と同様である。あるいは、
どのマスタがバスを獲得するかを不規則に選択するほぼ
公正な方法がある。
【0005】
【発明が解決しようとする課題】しかしながら、バス・
アービタの使用にはいくつかの欠点がある。バス・アー
ビタを追加することにより、動作のために追加の電力が
必要となる。これは、厳しい電力制限の下で動作するコ
ンピュータ・システムにとっては問題である。また、バ
ス・アービタを実装すると、コンピュータ・システム内
に追加の空間も必要となる。このように、コンピュータ
・システムの環境によっては、物理的空間の可用性がバ
ス・アービタの実装を許さない場合がある。恐らく最も
重要なのは、仲裁の目的のために追加の構成要素を用い
ることによって、コンピュータ・システム全体に望まし
くないコストを付加することである。
【0006】したがって、必要としているのは、外部の
アービタを用いることなく、複数の装置間で資源の所有
権を渡す装置である。
【0007】
【課題を解決するための手段】以下、資源の支配権を渡
す方法について説明する。この方法によれば、バスを使
用すべきか否かを判定する。バスを使用すべき場合、バ
スが使用可能か否かの判定を行う。バスが使用可能な場
合、バスにアクセスし、バスをアクセスしていることを
示す信号を発生する。また、タイマも起動し、このタイ
マが満了したときバスへのアクセスを譲る。
【0008】次に、共有資源の支配権を渡すプロセッサ
について説明する。このプロセッサは資源アクセス・ユ
ニットを備えている。資源アクセス・ユニットは、資源
に結合してある構成要素からの第1信号を受信したと
き、そのプロセッサの資源へのアクセスを許可する。資
源アクセス・ユニットは、前記構成要素からの第2信号
を受信したとき、資源のアクセスを前記構成要素に譲
る。更に、プロセッサは信号発生ユニットを備えてい
る。この信号発生ユニットは資源アクセス・ユニットに
結合してある。信号発生ユニットは、プロセッサが資源
へのアクセスを獲得したときに第3信号を発生し、プロ
セッサが資源へのアクセスを譲ったときに第4信号を発
生する。
【0009】
【発明の実施の形態】添付図面においては、本発明を限
定としてではなく一例として示す。尚、同様の参照番号
は同様の要素を示すものとする。
【0010】これより、メモリ内のデータにアクセスす
る方法および装置について説明する。以下の記述におい
ては、説明の目的のために、多数の具体的な詳細を示
し、本発明の完全な理解が得られるようにしてある。し
かしながら、本発明はこれら具体的な詳細がなくても実
現可能であることは、当業者には明白であろう。他の場
合には、公知の構造および装置をブロック図形式で示す
ことにより、本発明を不必要に曖昧にするのを回避す
る。
【0011】図1を参照すると、本発明の好適実施例を
実装可能なコンピュータ・システムを100で示してい
る。コンピュータ・システム100は、情報を通信する
ためのバスまたはその他の通信手段101、およびバス
101に結合してあり情報を処理するプロセッサ10
2,103を備えている。更に、システム100は、バ
ス101に結合してあり、情報およびプロセッサ10
2,103が実行する命令を格納する、ランダム・アク
セス・メモリ(RAM)またはその他のダイナミック記
憶装置104(主メモリと呼ぶ)も備えている。主メモ
リ104は、プロセッサ102,103による命令の実
行中に、一時的な変数やその他の中間情報を格納するた
めにも使用可能である。また、コンピュータ・システム
100は、バス101に結合してあり、プロセッサ10
2,103のために静的な情報および命令を格納するリ
ード・オンリ・メモリ(ROM)および/またはその他
のスタティック記憶装置106も備えている。データ記
憶装置107はバス101に結合してあり、情報および
命令を格納する。プロセッサ102または103によっ
て実行可能なコンピュータ読み取り可能媒体からの命令
は、データ記憶装置107に格納することができる。磁
気ディスクまたは光ディスクのようなデータ記憶装置1
07およびそれに対応するディスク駆動装置をコンピュ
ータ・システム100に結合することができる。
【0012】また、コンピュータ・システム100は、
コンピュータ・ユーザに情報を表示するために、バス1
01を通じて、陰極線管(CRT)のような表示装置1
21にも結合可能である。英数字およびその他のキーを
含む英数字入力装置122が、通常、バス101に結合
してあり、情報およびコマンド選択をプロセッサ10
2,103に伝達する。別のタイプのユーザ入力装置に
は、マウス、トラックボール、または方向情報およびコ
マンド選択をプロセッサ102に伝達すると共に、表示
装置121上でのカーソルの動きを制御するカーソル方
向キーのようなカーソル制御部123がある。この入力
装置は、典型的に、2方向の軸、即ち第1軸(例えば、
x)および第2軸(例えば、y)に2の自由度を有し、
入力装置が平面内における位置を指定できるようになっ
ている。
【0013】あるいは、スタイラスやペンのような他の
入力装置を用いて表示装置との双方向通信を行うことも
可能である。スタイラスまたはペンを用いてコンピュー
タ画面上に表示させた物に触れることによって、表示物
を選択することができる。コンピュータは、接触感応画
面を実装することによってその選択を検出する。同様
に、ライト・ペンおよび光感応画面を用いて、表示物を
選択することも可能である。したがって、このような装
置は、マウスまたはトラックボールを内蔵したシステム
におけるような「ポイントおよびクリック(point and
click)」の代わりに、単一の動作として、選択位置およ
び選択を検出することができる。スタイラスおよびペン
に基づく入力装置、ならびに接触および光感応画面は、
当該分野においては公知である。このようなシステム
は、122のようなキーボードがなくてもよく、その場
合、全てのインターフェースは、スタイラスを通じた書
き込み器具(ペンのような)として提供し、書き込んだ
テキストは光学文字認識(OCR)技術を用いて解釈す
る。
【0014】図1は本発明の一実施例を示し、バス10
1は、同一コンピュータ・システム100内の2つのプ
ロセッサ102,103間で共有する。バス競合を防止
するためには、一度にプロセッサ102または103の
一方のみがバス101にアクセスするようにすればよ
い。プロセッサ102には、それに指定したバス支配権
状態の間のみ、バス101へのアクセスを許可する。同
様に、プロセッサ103には、それに指定したバス支配
権状態の間のみ、バス101へのアクセスを許可する。
システムのバス支配権状態は、プロセッサ102,10
3が発生するトークン即ち信号によって決定する。本発
明の一実施例では、プロセッサ102,103は、バス
101へのアクセスを獲得する毎、バス101へのアク
セスを放棄する毎、またはバス101へのアクセスの獲
得を希望する毎に、ライン130上に信号を発生する。
本発明の別の実施例では、プロセッサの一方がライン1
30上に発生する信号は、単一の信号でも複数の信号で
もよい。プロセッサ102が発生する信号は、ライン1
30を通じてプロセッサ103に送り、プロセッサ10
3が発生する信号はライン130を通じてプロセッサ1
02に送る。各プロセッサには、それ自体が発生した信
号および他方のプロセッサが発生した信号のコピーをも
たせる。各プロセッサは、システム100の現在のバス
支配権状態を認識している。
【0015】図2は本発明の一実施例を示し、ここで
は、第1コンピュータ・システム250からのプロセッ
サ102および第2コンピュータ・システム251から
の第2のプロセッサ202が、共有資源210に対する
アクセスを共有する。共有資源210は、一度にプロセ
ッサ102またはプロセッサ202のいずれか一方によ
ってのみアクセスが可能な資源である。共有資源210
は、例えば、バスまたはメモリである。共有資源210
は直接プロセッサ102,202に結合するか、あるい
は他のバスまたは構成要素を介してプロセッサ102,
202に結合することもできる。プロセッサ102に
は、それに指定した資源支配権状態の間のみ、共有資源
210へのアクセスを許可する。プロセッサ202に
は、それに指定した資源支配権状態の間のみ、共有資源
210へのアクセスを許可する。システムの資源支配権
状態は、プロセッサ102,202が発生するトークン
即ち信号によって決定する。本発明の一実施例では、プ
ロセッサ102,202は、これらが共有資源210へ
のアクセスを獲得する毎、共有資源210へのアクセス
を放棄する毎、または共有資源210へのアクセスの獲
得を希望する毎に、信号を発生する。本発明の一実施例
では、プロセッサ102または202が発生する信号
は、単一の信号でも複数の信号でもよい。プロセッサ1
02が発生した信号はライン230を通じてプロセッサ
202に送り、プロセッサ202が発生した信号はライ
ン230を通じてプロセッサ102に送る。各プロセッ
サは、それ自体および他方のプロセッサが発生した信号
のコピーを有する。各プロセッサは、コンピュータ・シ
ステムの現在のバス支配権状態について認識している。
【0016】図3は、大容量記憶システム300に実施
した場合の本発明の実施例を示す。大容量記憶システム
300は、ハード・ディスク構造体(HDA:hard dis
k assembly)331に結合した第1記憶要素アレイ33
5、およびハード・ディスク構造体(HDA)341に
結合した第2記憶要素アレイ345を備えている。第1
および第2記憶要素アレイ335,345は、ホスト・
インターフェース・ユニット304または314の一方
およびバス301または311の一方を通じて、ホスト
(図示せず)によるアクセスを受ける。バス301,3
11は、例えば、従来のファイバ・チャネル・インター
フェース、直列記憶アーキテクチャ・インターフェー
ス、小型コンピュータ・システム・インターフェース
(SCSI)、P1394インターフェース、またはそ
の他の公知のインターフェースによって実施可能であ
る。ハード・ディスク構造体331は、バス301を用
いて、第1記憶要素アレイ335にインターフェースす
るように動作する。ハード・ディスク構造体331は、
プロセッサ302,312が読み取るデータを格納する
ために使用するレジスタ332を含む。ハード・ディス
ク構造体341は、バス311を用いて、第2記憶要素
アレイ345にインターフェースするように動作する。
ハード・ディスク構造体341は、プロセッサ302,
312が読み取るデータを記憶するために使用するレジ
スタ342を含む。
【0017】環境サービス・センタ(ESC:environm
ental service center)325は、温度制御や大容量記
憶システム300への給電のような環境サービスを提供
する。また、環境サービス・センタ325は、大容量記
憶システム300の環境サービスに関するデータも提供
する。環境サービス・センタ325は、任意の公知の回
路によって実現すればよい。プロセッサ302は、バス
301および共有バス320に結合してある。プロセッ
サ302は、共有バス320を通じて環境サービス・セ
ンタ325から環境サービス・データを読み取ることに
よって、環境サービス・センタ325をポーリングす
る。プロセッサ302は、環境サービス・データをメモ
リ・ユニット303に格納する。プロセッサ302は、
大容量記憶システム300の環境を監視するよう動作
し、環境が許容範囲を外れた場合にシステムの保全性を
維持する。同様に、プロセッサ312は、共有バス32
0を通じて環境サービス・センタ325から環境サービ
ス・データを読み出すことによって、環境サービス・セ
ンタ325をポーリングする。プロセッサ312は環境
サービス・データをメモリ・ユニット313に格納す
る。プロセッサ312は、大容量記憶システム300の
環境を監視するよう動作し、環境が許容範囲を外れた場
合に、システムの保全性を維持する。
【0018】環境サービス・センタ325からの環境サ
ービス・データは、一度にプロセッサ302,312の
一方しか共有バス320を通じてアクセスすることがで
きない。プロセッサ302は、それに指定されたバス支
配権状態の間にのみ共有バス320へのアクセスを許可
される。システム300のバス支配権状態は、プロセッ
サ302,312が発生するトークン即ち信号によって
決定する。本発明の一実施例では、プロセッサの一方が
バス320へのアクセスを獲得したとき、バス320へ
のアクセスを放棄したとき、またはバス320へのアク
セスの獲得を希望したときに、プロセッサ302または
312が発生する信号によって、バス支配権状態を変更
する。本発明の別の実施例では、各プロセッサ302ま
たは312が発生する信号は、単一の信号または複数の
信号でもよい。本発明の更に別の実施例では、共有バス
320の支配権を新たなマスタが獲得する毎に、プロセ
ッサ302内のタイマ355およびプロセッサ312内
のタイマ356をセットする。タイマ355,356が
タイムアウトする毎に、共有バス320の支配権が移
る。プロセッサ302が発生する信号は、ライン350
を通じてプロセッサ312に送り、プロセッサ312が
発生する信号はライン350を通じてプロセッサ302
に送る。各プロセッサは、それ自体および他方のプロセ
ッサが発生した信号のコピーを有する。各プロセッサ3
02,312は、システム300の現在のバス支配権状
態について認識している。
【0019】本発明の一実施例では、システム300の
プロセッサ302,312が認識するバス支配権状態に
は4種類ある。図4はこの4種類の状態を示す表であ
る。状態1では、プロセッサ302(装置1)が共有バ
ス320の支配権を有する。状態1が発生するのは、プ
ロセッサ302が0信号をライン350上に発生し、プ
ロセッサ312(装置2)が0信号をライン350上に
発生するときである。状態2では、バス支配権をプロセ
ッサ302からプロセッサ312に移転させる。状態2
が発生するのは、プロセッサ302が1信号をライン3
50上に発生し、プロセッサ312が0信号をライン3
50上に発生するときである。状態3では、プロセッサ
312が共有バス320の支配権を有する。状態3が発
生するのは、プロセッサ302が1信号をライン350
上で発生し、プロセッサ312が1信号をライン350
上で発生するときである。状態4では、バス支配権をプ
ロセッサ312からプロセッサ302に移転させる。状
態4が発生するのは、プロセッサ302が0信号をライ
ン350上に発生し、プロセッサ312が1信号をライ
ン350上に発生するときである。図5は、図4に示し
た状態1ないし4を実行する順序を示す状態図である。
状態の数、これらの状態を実行する順序、および状態を
表わすために用いる信号の数は、本発明の実装に応じて
変更してもよいことは認められよう。
【0020】図6は、プロセッサ302の一実施例を示
す。プロセッサ302は計算および制御ユニット610
を含む。本発明の一実施例では、計算および制御ユニッ
ト610は、2つのファイバ・チャネル仲裁式ループ・
ポート(fiber channel arbitrated loop port)、1ブロ
ックの埋め込みRAM、ホスト・バス・インターフェー
ス、および処理ユニットを含む。計算および制御ユニッ
ト610は、環境サービス・センタからの環境サービス
・データをポーリングし、コンピュータ・システム30
0の環境を制御するように動作する。
【0021】更に、プロセッサ302は、資源アクセス
・ユニット620、タイマ355、および信号発生ユニ
ット630を含む。資源アクセス・ユニット620は、
メモリ記憶システム300のバス支配権状態を追跡し、
プロセッサ302が共有バス320の支配権を受けたと
きに、計算および制御ユニット610に環境サービス・
センタ325をポーリングするように制御する。資源ア
クセス・ユニット620はライン350を通じてプロセ
ッサ312からの信号を受信する。この信号は、いつプ
ロセッサ320が次の状態に遷移する準備が完了してい
るかを示す。資源アクセス・ユニット620はタイマ3
55に結合してある。資源アクセス・ユニット620
は、新たなマスタがバス320の支配権を取ったとき
に、タイマ355をリセットする。所定の時間量の後、
タイマ355はタイムアウトする。これは、共有バス3
20が他のマスタに渡されることを、資源アクセス・ユ
ニット620に通知するものである。資源アクセス・ユ
ニット620は、信号発生ユニット630に命令して、
ライン631上に信号を発生させ、プロセッサ302が
次の状態に遷移する準備ができたことを示すようにさせ
る。システム300のバス支配権状態は、プロセッサ3
02,312が発生する信号によって決定する。資源ア
クセス・ユニット620、タイマ355および信号発生
ユニット630は、ハードウエア、ソフトウエア、また
はハードウエアおよびソフトウエアの組み合わせによっ
て実施可能である。図6に示す本発明の実施例では、資
源アクセス・ユニット620、タイマ355、および信
号発生ユニット630は、計算および制御ユニット61
0外部のハードウエアとして実施してある。本発明の代
替実施例では、資源アクセス・ユニット620および信
号発生ユニット630は、プロセッサ302が実行する
命令の集合によって実現するソフトウエア・モジュール
である。プロセッサ312は、プロセッサ302と同様
に動作し、プロセッサ302を実現する際に使用可能な
ものと同一の構成要素によって実現すればよい。
【0022】本発明は、外部のアービタを使用すること
なく、いずれも他方のマスタではない2つの装置間にお
いて、共有資源に対する支配権の仲裁を可能にするもの
である。資源アクセス・ユニットおよび信号発生ユニッ
トをソフトウエアで実現した本発明の好適実施例では、
システムからの電力や空間の追加を必要とせずに、仲裁
を達成する。
【0023】図6は、資源アクセス・ユニット620、
信号発生ユニット630およびタイマ355がプロセッ
サ302内に常駐する本発明の実施例を示すが、これら
の構成要素は、共有資源へのアクセスを共有し、共有資
源へのアクセスを仲裁するいずれかのエージェント(age
nt)に常駐させてもよいことは認められよう。
【0024】本発明の一実施例では、プロセッサ32が
環境サービス・センタ302からの環境サービス・デー
タをポーリングした後で、かつプロセッサ302が共有
バス320のバス支配権を有する状態にシステム300
がある間に、プロセッサ302は主メモリ313内の環
境サービス・データを更新する。本発明のこの実施例で
は、プロセッサ312が環境サービス・センタ325か
らの環境サービス・データをポーリングした後で、かつ
プロセッサ312が共有バス320のバス支配権を有す
る状態にシステム300がある間にも、プロセッサ31
2は主メモリ303内の環境サービス・データを更新す
る。
【0025】プロセッサ302は、データ交換によっ
て、主メモリ313内の環境サービス・データを更新す
る。ライン350がデータ・ポーリングの間に共有バス
320の支配権について通信する場合と同様に、データ
交換の間、プロセッサ302,312間の共有バス32
0の支配権について通信するために、第2ライン(図示
せず)を用いる。プロセッサ302は、データ交換の間
それが共有バス320の支配権を有する場合、ハード・
ディスク構造体332,342のレジスタ332,34
2に環境サービス・データを書き込む。プロセッサ31
2は、データ交換の間それが共有バス320の支配権を
有する場合、レジスタ332,342から環境システム
・データを読み出し、このデータをメモリ・ユニット3
13に格納する。プロセッサ302は、メモリ・ユニッ
ト303内の全ての環境サービス・データをレジスタ3
32,342に書き込み、そして主メモリ313に転送
し終わるまで、新たなデータをレジスタ332,342
に書き込み続ける。プロセッサ312が共有バス320
の支配権を有する状態にシステム300があるとき、プ
ロセッサ312は、メモリ・ユニット303内の環境サ
ービス・データを更新する際のプロセッサ302と同様
に動作する。本発明の代替実施例では、プロセッサ30
2,312は単一ラインおよび単一の集合の信号を用い
て、環境サービス・データのポーリングおよび交換の間
に、共有バス320の支配権を渡す。
【0026】プロセッサ302が動作不能となり、所定
時間期間内にそれが次のバス支配権状態に移る準備がで
きていることを示す信号をプロセッサ312に発生でき
ない状況では、プロセッサ312内のタイマがタイムア
ウトする。これによって、プロセッサ302が動作不能
であることをプロセッサ312に示す。これに応答し
て、プロセッサ312は共有バス320の排他的バス支
配権を取る。同様に、プロセッサ312が動作不能とな
り、所定時間期間内にそれが次のバス支配権状態に移る
準備ができていることを示す信号をプロセッサ302に
発生できない状況では、プロセッサ302内のタイマが
タイムアウトする。これによって、プロセッサ312が
動作不能であることをプロセッサ302に示す。これに
応答して、プロセッサ302は共有バス320の排他的
バス支配権を取る。
【0027】図7は、2つの装置間で共有資源の支配権
を渡す方法を示すフローチャートである。ステップ70
1において、共有資源を使用するか否かについて判定を
行う。この判定を行うには、第1装置が資源へのアクセ
スを得てからの時間を記録しているタイマをチェックす
る。第1所定時間量の後、タイマがタイムアウトして、
第2装置が共有資源にアクセスするときであることを示
す。共有資源を使用するときではない場合、制御はステ
ップ701に戻る。共有資源を使用するときになった場
合、制御はステップ702に進む。
【0028】ステップ702において、共有資源が使用
可能か否かについて判定を行う。この判定は、資源アク
セス・ユニットをチェックして現在の資源支配権状態を
確かめることにより行える。資源支配権状態が、第1装
置が支配権を有する状態である場合、共有資源は使用不
可能であり、制御はステップ703に移る。共有資源が
使用可能な場合、制御はステップ705に進む。
【0029】ステップ703において、第1装置が第2
所定時間量にわたって、共有資源の支配権を有している
か否かについて判定を行う。この判定を行うには、第1
装置が共有資源へのアクセスを得たときの時刻を記録し
ているタイマをチェックする。第1装置が共有資源の支
配権を第2所定時間時間以上にわたって有していなかっ
た場合、制御はステップ702に戻る。第1装置が第2
所定時間量以上にわたって共有資源の支配権を有してい
た場合、制御はステップ704に進む。
【0030】ステップ704において、第2装置に共有
資源の排他的支配権を与え、そして共有資源のそれ以降
のマスタ候補として考慮することから、第1装置を除外
する。
【0031】ステップ705において、第2装置に共有
資源の支配権を与える。第2装置が共有資源にアクセス
したことを示す信号を発生し、そしてタイマをリセット
する。
【0032】ステップ706において、共有資源の支配
権を異なった装置に渡すべきか否かについて判定を行
う。この判定を行うには、タイマが第1所定時間期間を
過ぎてタイムアウトしたか否かを調べるチェックを行え
ばよい。タイマが第1所定時間期間を越えてタイムアウ
トしている場合、異なった装置に共有資源の支配権を渡
すときであり、制御はステップ707に進む。タイマが
第1所定時間期間を越えておらず、未だタイムアウトし
ていない場合、制御はステップ706に戻る。
【0033】ステップ707において、第2装置が信号
を発生して、第2装置が共有資源のマスタではない次の
資源支配権の状態へと、第2装置が遷移する準備ができ
ていることを示す。制御はステップ701に進む。
【0034】以上の説明では、本発明についてその具体
的な実施例を参照しながら記述した。しかしながら、本
発明のより広範な主旨および範囲から逸脱することな
く、様々な変更や変化も可能であることは明白である。
したがって、本明細書および図面は、限定的な意味では
なく例示的な意味で解釈すべきである。
【図面の簡単な説明】
【図1】本発明の一実施例を実装したマルチ・プロセッ
サ・コンピュータ・システムを示す図。
【図2】本発明の一実施例を実装した異なる2台のコン
ピュータ・システムからのプロセッサを示す図。
【図3】大容量記憶システムに実施した場合の本発明を
示す図。
【図4】本発明の一実施例における支配権状態を示す
表。
【図5】図4に示した状態の遷移順序を示す状態図。
【図6】本発明を実施するプロセッサの一実施例を示す
ブロック図。
【図7】共有資源の支配権を渡す方法を示すフロー・チ
ャート。
【符号の説明】
100 コンピュータ・システム 101 バス 102,103 プロセッサ 130 ライン 202 第2プロセッサ 210 共有資源 230 ライン 250 第1コンピュータ・システム 251 第2コンピュータ・システム 300 大容量記憶システム 301,311 バス 302,312 プロセッサ 304,314 ホスト・インターフェース・ユニッ
ト 303,313 メモリ・ユニット 320 共有バス 325 環境サービス・センタ 331,341 ハード・ディスク構造体 332,342 レジスタ 335 第1記憶要素アレイ 345 第2記憶要素アレイ 355,356 タイマ 610 計算および制御ユニット 620 資源アクセス・ユニット 630 信号発生ユニット
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 ケネス・エイ・シュマール アメリカ合衆国カリフォルニア州95136, サン・ホセ,ラッセンパーク・サークル 321 (72)発明者 マシュー・ジェイ・テダン アメリカ合衆国カリフォルニア州94087, サニーヴェイル,レミントン・ドライヴ 887 (72)発明者 ジョン・シー・スケル アメリカ合衆国カリフォルニア州94087, サニーヴェイル,ファルコン・アヴェニュ ー 1428 (72)発明者 イゴール・カーミンスキー アメリカ合衆国カリフォルニア州95129, サン・ホセ,パイン・グローヴ・ウェイ 1480 (72)発明者 レイ・ピー・チャン アメリカ合衆国カリフォルニア州95014, カッパーティノ,プレイサー・スプリング ス・コート 11851

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】バス支配権を渡す方法であって、 バスが使用可能か否かについて判定を行うステップと、 前記バスが使用可能な場合、前記バスにアクセスし、か
    つ前記バスにアクセスしていることを示す信号を発生す
    るステップと、 前記バスへのアクセスに応答してタイマを起動するステ
    ップと、 前記タイマが満了したとき、前記バスへのアクセスを放
    棄するステップと、から成ることを特徴とするバス支配
    権渡し方法。
  2. 【請求項2】請求項1記載の方法であって、更に、前記
    バスへのアクセスを放棄した後前記タイマを再起動させ
    るステップ、を含むことを特徴とするバス支配権渡し方
    法。
  3. 【請求項3】請求項1記載の方法であって、更に、前記
    バスへのアクセスを放棄したことを示す信号を発生する
    ステップ、を含むことを特徴とするバス支配権渡し方
    法。
  4. 【請求項4】請求項1記載の方法であって、更に、前記
    バスが使用不可能な場合、所定時間量より長く前記バス
    がアクセスされているか否かについて判定を行い、かつ
    前記所定時間量よりも長く前記バスがアクセスされてい
    る場合、前記バスへのアクセスを獲得するステップ、を
    含むことを特徴とするバス支配権渡し方法。
  5. 【請求項5】請求項1記載の方法において、バスが使用
    可能か否かについて判定を行う前記のステップは、バス
    ・エージェントがバスにアクセスしていることを示す信
    号を前記バス・エージェントが発生したか否かを調べる
    ためにチェックを行うステップ、から成ることを特徴と
    するバス支配権渡し方法。
  6. 【請求項6】一連の命令を記憶してあるコンピュータ読
    み取り可能媒体であって、前記一連の命令は、プロセッ
    サによって実行させたときに、 バスが使用可能か否かについて判定を行うステップと、 前記バスが使用可能な場合、前記バスにアクセスし、か
    つ前記バスにアクセスしていることを示す信号を発生す
    るステップと、 前記バスへのアクセスに応答してタイマを起動するステ
    ップと、 前記タイマが満了したとき、前記バスへのアクセスを放
    棄するステップと、を前記プロセッサに行わせること、
    を特徴とするコンピュータ読み取り可能記憶媒体。
  7. 【請求項7】請求項6記載のコンピュータ読み取り可能
    媒体であって、更に、前記プロセッサによって実行させ
    たときに、前記バスへのアクセスを放棄した後前記タイ
    マを再起動させるステップを、前記プロセッサに行わせ
    る命令を含むこと、を特徴とするコンピュータ読み取り
    可能媒体。
  8. 【請求項8】請求項6記載のコンピュータ読み取り可能
    媒体であって、更に、前記プロセッサによって実行させ
    たときに、前記バスへのアクセスを放棄したことを示す
    信号を発生するステップを、前記プロセッサに行わせる
    命令を含むこと、を特徴とするコンピュータ読み取り可
    能媒体。
  9. 【請求項9】請求項6記載のコンピュータ読み取り可能
    媒体であって、更に、前記プロセッサによって実行させ
    たときに、前記バスが使用不可能な場合、所定時間量よ
    り長く前記バスがアクセスされているか否かについて判
    定を行い、前記所定時間量よりも長く前記バスがアクセ
    スされている場合、前記バスへのアクセスを獲得するス
    テップを、前記プロセッサに行わせる命令を含むこと、
    を特徴とするコンピュータ読み取り可能媒体。
  10. 【請求項10】請求項6記載のコンピュータ読み取り可
    能媒体において、バスが使用可能か否かについて判定を
    行う前記のステップは、バス・エージェントが前記バス
    にアクセスしていることを示す信号を前記バス・エージ
    ェントが発生したか否かを調べるチェックを行うステッ
    プから成ること、を特徴とするコンピュータ読み取り可
    能媒体。
  11. 【請求項11】プロセッサであって、 資源に結合した構成要素から第1信号を受信したとき、
    前記プロセッサに前記資源へのアクセスを許可し、前記
    構成要素から第2信号を受信したとき、前記資源へのア
    クセスを前記構成要素に譲る、資源アクセス・ユニッ
    ト、を備えていることを特徴とするプロセッサ。
  12. 【請求項12】請求項11記載のプロセッサであって、
    更に、 前記資源アクセス・ユニットに結合してあり、前記プロ
    セッサが前記資源へのアクセスを獲得したときに第3の
    信号を発生し、前記プロセッサが前記資源へのアクセス
    を放棄したとき第4の信号を発生する信号発生ユニッ
    ト、を備えていることを特徴とするプロセッサ。
  13. 【請求項13】請求項11記載のプロセッサであって、
    更に、前記信号発生ユニットに結合してあり、前記第3
    および第4の信号が発生されたときに、時間期間を割り
    当てるタイマを備えていることを特徴とするプロセッ
    サ。
  14. 【請求項14】請求項11記載のプロセッサにおいて、
    前記構成要素は第2プロセッサであること、を特徴とす
    るプロセッサ。
  15. 【請求項15】請求項11記載のプロセッサにおいて、
    前記構成要素は複数のプロセッサであること、を特徴と
    するプロセッサ。
  16. 【請求項16】請求項11記載のプロセッサにおいて、
    前記資源はバスであること、を特徴とするプロセッサ。
  17. 【請求項17】請求項11記載のプロセッサにおいて、
    前記資源はメモリであること、を特徴とするプロセッ
    サ。
  18. 【請求項18】コンピュータ・システムであって、 A)バスと、 B)前記バスに結合した第1プロセッサであって、 1)前記第1プロセッサが前記バスへのアクセスを獲得
    したときに第1信号を発生し、前記第1プロセッサが前
    記バスへのアクセスを譲ったときに第2信号を発生する
    第1信号発生ユニットと、 2)第3信号を受信したときに前記第1プロセッサに前
    記バスへのアクセスを許可し、第4信号を受信したとき
    に前記バスへのアクセスを譲る第1バス・アクセス・ユ
    ニットと、を有する前記第1プロセッサと、 C)前記バスおよび前記第1プロセッサに結合した第2
    プロセッサであって、 1)前記第2プロセッサが前記バスへのアクセスを獲得
    したとき前記第4信号を発生し、前記第2プロセッサが
    前記バスへのアクセスを譲ったとき前記第3信号を発生
    する第2信号発生ユニットと、 2)前記第2信号を受信したときに前記第2プロセッサ
    に前記バスへのアクセスを許可し、前記第1信号を受信
    したときに前記バスへのアクセスを譲る第2バス・アク
    セス・ユニットと、を有する前記第2プロセッサと、か
    ら成るコンピュータ・システム。
  19. 【請求項19】請求項18記載のコンピュータ・システ
    ムであって、更に、前記第1および第2プロセッサに結
    合した記憶装置のアレイを備えていること、を特徴とす
    るコンピュータ・システム。
  20. 【請求項20】請求項18記載のコンピュータ・システ
    ムであって、更に、前記バスに結合した環境サービス・
    センタを備えていること、を特徴とするコンピュータ・
    システム。
  21. 【請求項21】メモリと、バスと、表示装置とを含む、
    プロセッサをベースとするシステムと通信するように構
    成したバス・エージェント内に常駐するバス仲裁装置で
    あって、 前記バスに結合した構成要素からの第1信号を受信した
    ときに、前記バス・エージェントに前記バスへのアクセ
    スを許可し、前記構成要素からの第2信号を受信したと
    きに、前記バスへのアクセスを前記構成要素に譲る、資
    源アクセス・ユニット、を備えていることを特徴とする
    バス仲裁装置。
  22. 【請求項22】請求項21記載のバス仲裁装置であっ
    て、更に、 前記資源アクセス・ユニットに結合してあり、前記バス
    ・エージェントが前記資源へのアクセスを獲得したとき
    に第3信号を発生し、前記バス・エージェントが前記資
    源へのアクセスを譲ったときに第4信号を発生する信号
    発生ユニット、を備えていることを特徴とするバス仲裁
    装置。
  23. 【請求項23】第1バス・エージェントと第2バス・エ
    ージェントとの間でバスを仲裁するシステムであって、 前記第1バス・エージェントが前記バスへのアクセスを
    獲得したときに第1信号を発生し、前記第1バス・エー
    ジェントが前記バスへのアクセスを譲ったときに第2信
    号を発生する第1信号発生ユニットと、 第3信号を受信したときに前記第1バス・エージェント
    に前記バスへのアクセスを許可し、第4信号を受信した
    ときに前記バスへのアクセスを譲る第1バス・アクセス
    ・ユニットであって、前記第1信号発生ユニットと前記
    第1バス・アクセス・ユニットは前記第1バス・エージ
    ェント内に常駐した、前記の第1バス・アクセス・ユニ
    ットと、 前記第2バス・エージェントが前記バスへのアクセスを
    獲得したときに前記第4信号を発生し、前記第2バス・
    エージェントが前記バスへのアクセスを譲ったときに前
    記第3信号を発生する第2信号発生ユニットと、 前記第2信号を受信したときに前記第2バス・エージェ
    ントに前記バスへのアクセスを許可し、前記第1信号を
    受信したときに前記バスへのアクセスを譲る第2バス・
    アクセス・ユニットであって、前記第2信号発生ユニッ
    トと前記第2バス・アクセス・ユニットは前記第2バス
    ・エージェント内に常駐した、前記の第2バス・アクセ
    ス・ユニットと、から成るバス仲裁システム。
  24. 【請求項24】請求項23記載のシステムであって、更
    に、前記第1および第2バス・エージェントに結合した
    記憶装置のアレイを備えていること、を特徴とするバス
    仲裁システム。
  25. 【請求項25】請求項23記載のシステムであって、更
    に、前記バスに結合した環境サービス・センタを備えて
    いること、を特徴とするバス仲裁システム。
JP9143702A 1996-05-31 1997-06-02 バス支配権を渡す方法および装置 Pending JPH1097493A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US656641 1996-05-31
US08/656,641 US5764931A (en) 1996-05-31 1996-05-31 Method and apparatus for passing bus mastership between processors using predefined bus mastership states

Publications (1)

Publication Number Publication Date
JPH1097493A true JPH1097493A (ja) 1998-04-14

Family

ID=24633923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9143702A Pending JPH1097493A (ja) 1996-05-31 1997-06-02 バス支配権を渡す方法および装置

Country Status (3)

Country Link
US (1) US5764931A (ja)
EP (1) EP0810530A3 (ja)
JP (1) JPH1097493A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594130B1 (ko) * 1998-12-28 2006-08-30 삼성전자주식회사 다중 버스 마스터 시스템에서 교착 상태 방지 장치
US7340549B2 (en) 1997-12-31 2008-03-04 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4272813B2 (ja) 1997-11-17 2009-06-03 シーゲイト テクノロジー エルエルシー オンチップメモリにおけるデータ健全性のためのcrcを用いる方法および装置
US6909723B1 (en) 2000-08-04 2005-06-21 Intellon Corporation Segment bursting with priority pre-emption and reduced latency
US7469297B1 (en) 2000-08-04 2008-12-23 Intellon Corporation Mechanism for using a quasi-addressed response to bind to a message requesting the response
US6907044B1 (en) * 2000-08-04 2005-06-14 Intellon Corporation Method and protocol to support contention-free intervals and QoS in a CSMA network
US6987770B1 (en) 2000-08-04 2006-01-17 Intellon Corporation Frame forwarding in an adaptive network
US7298691B1 (en) 2000-08-04 2007-11-20 Intellon Corporation Method and protocol to adapt each unique connection in a multi-node network to a maximum data rate
US7352770B1 (en) * 2000-08-04 2008-04-01 Intellon Corporation Media access control protocol with priority and contention-free intervals
US8149703B2 (en) * 2002-06-26 2012-04-03 Qualcomm Atheros, Inc. Powerline network bridging congestion control
US7120847B2 (en) * 2002-06-26 2006-10-10 Intellon Corporation Powerline network flood control restriction
US7826466B2 (en) * 2002-06-26 2010-11-02 Atheros Communications, Inc. Communication buffer scheme optimized for VoIP, QoS and data networking over a power line
EP1554848A4 (en) 2002-10-21 2010-03-03 Intellon Corp CONSTRUCTIVE ACCESS INTERVALS IN A CSMA NETWORK
US7281187B2 (en) 2003-11-20 2007-10-09 Intellon Corporation Using error checking bits to communicated an address or other bits
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7660327B2 (en) * 2004-02-03 2010-02-09 Atheros Communications, Inc. Temporary priority promotion for network communications in which access to a shared medium depends on a priority level
US7715425B2 (en) * 2004-02-26 2010-05-11 Atheros Communications, Inc. Channel adaptation synchronized to periodically varying channel
US7636370B2 (en) * 2005-03-03 2009-12-22 Intellon Corporation Reserving time periods for communication on power line networks
US7822059B2 (en) 2005-07-27 2010-10-26 Atheros Communications, Inc. Managing contention-free time allocations in a network
US8175190B2 (en) 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
TWI320908B (en) * 2006-10-27 2010-02-21 Ind Tech Res Inst Apparatus and method for increasing the utilization by the processors on the shared resources
WO2008141165A1 (en) * 2007-05-10 2008-11-20 Intellon Corporation Managing distributed access to a shared medium
US8781016B2 (en) 2010-04-12 2014-07-15 Qualcomm Incorporated Channel estimation for low-overhead communication in a network
US8891605B2 (en) 2013-03-13 2014-11-18 Qualcomm Incorporated Variable line cycle adaptation for powerline communications
US9710342B1 (en) 2013-12-23 2017-07-18 Google Inc. Fault-tolerant mastership arbitration in a multi-master system
US11144358B1 (en) 2018-12-06 2021-10-12 Pure Storage, Inc. Asynchronous arbitration of shared resources
KR20220135048A (ko) 2021-03-29 2022-10-06 삼성전자주식회사 버스를 통해 자원을 공유하기 위한 장치 및 방법
CN116431190B (zh) * 2023-06-13 2023-08-29 苏州浪潮智能科技有限公司 一种固件升级方法、装置、bmc芯片、服务器及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60258671A (ja) * 1984-06-05 1985-12-20 Nec Corp プロセツサ
DE3441930A1 (de) * 1984-11-16 1986-05-28 Fried. Krupp Gmbh, 4300 Essen Datentransfersystem
GB2232855B (en) * 1989-06-07 1993-10-20 Secr Defence Computer network access control system
US5287486A (en) * 1989-10-05 1994-02-15 Mitsubishi Denki Kabushiki Kaisha DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
DE4028317B4 (de) * 1990-09-06 2004-12-02 Siemens Ag Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems
US5444855A (en) * 1992-04-17 1995-08-22 International Business Machines Corporation System for guaranteed CPU bus access by I/O devices monitoring separately predetermined distinct maximum non CPU bus activity and inhibiting I/O devices thereof
US5371739A (en) * 1992-06-29 1994-12-06 Motorola, Inc. Sequential polling bus access method for radio communication systems
WO1995020191A1 (en) * 1994-01-25 1995-07-27 Apple Computer, Inc. System and method for coordinating access to a bus

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340549B2 (en) 1997-12-31 2008-03-04 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US7552266B2 (en) 1997-12-31 2009-06-23 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US7689754B2 (en) 1997-12-31 2010-03-30 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US7694058B2 (en) 1997-12-31 2010-04-06 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US7984221B2 (en) 1997-12-31 2011-07-19 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US8046515B2 (en) 1997-12-31 2011-10-25 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US9785583B2 (en) 1997-12-31 2017-10-10 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
KR100594130B1 (ko) * 1998-12-28 2006-08-30 삼성전자주식회사 다중 버스 마스터 시스템에서 교착 상태 방지 장치

Also Published As

Publication number Publication date
EP0810530A2 (en) 1997-12-03
EP0810530A3 (en) 2002-06-05
US5764931A (en) 1998-06-09

Similar Documents

Publication Publication Date Title
JPH1097493A (ja) バス支配権を渡す方法および装置
US5581782A (en) Computer system with distributed bus arbitration scheme for symmetric and priority agents
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
TWI680375B (zh) 具有分散式信箱架構的多處理器系統及其處理器錯誤檢查方法
US6012118A (en) Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
US5418914A (en) Retry scheme for controlling transactions between two busses
JPH05158890A (ja) 多重プロセッサ・データ処理システム及びその動作方法
JPH04262445A (ja) 割込みコントローラを有するパーソナル・コンピュータ・システム
US5740381A (en) Expandable arbitration architecture for sharing system memory in a computer system
US6604159B1 (en) Data release to reduce latency in on-chip system bus
JP3455535B2 (ja) バス処理を行う装置および方法
US6078742A (en) Hardware emulation
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US6260091B1 (en) Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply
KR950008229B1 (ko) 퍼스널 컴퓨터 시스템
US20010021967A1 (en) Method and apparatus for arbitrating deferred read requests
JP3466214B2 (ja) 情報処理装置
US5241628A (en) Method wherein source arbitrates for bus using arbitration number of destination
US6009482A (en) Method and apparatus for enabling cache streaming
US20050097272A1 (en) Disk array device and control method of disk array device
JP3531368B2 (ja) コンピュータシステム及びバス間制御回路
US5875338A (en) Method and apparatus for arbitrating resource requests utilizing independent tokens for arbiter cell selection
TW200424869A (en) Multi-requester detection of potential logical unit thrashing and preemptive application of preventive or ameliorative measures
WO1992006432A1 (fr) Dispositif de commande de bus
JPH0844661A (ja) 情報処理装置