JP2654281B2 - 共通バスの単独競合モジュール・アービトレーション機構 - Google Patents

共通バスの単独競合モジュール・アービトレーション機構

Info

Publication number
JP2654281B2
JP2654281B2 JP3233807A JP23380791A JP2654281B2 JP 2654281 B2 JP2654281 B2 JP 2654281B2 JP 3233807 A JP3233807 A JP 3233807A JP 23380791 A JP23380791 A JP 23380791A JP 2654281 B2 JP2654281 B2 JP 2654281B2
Authority
JP
Japan
Prior art keywords
code
arbitration
module
bus
competing
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 - Lifetime
Application number
JP3233807A
Other languages
English (en)
Other versions
JPH04273563A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04273563A publication Critical patent/JPH04273563A/ja
Application granted granted Critical
Publication of JP2654281B2 publication Critical patent/JP2654281B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、広くバス通信システ
ムに関し、特にデータを転送するために共通バスにアク
セスしようと競い合うデバイスによるバス制御アービト
レーションに関する。
【0002】
【従来の技術】共通バスが複数の通信モジュールに接続
された高速通信システムでは、競合するモジュールのア
ービトレーションとメッセージの転送による遅れが大き
な問題になる。複数の通信モジュールが同時に共通デー
タを競うときは、要求するモジュールに優先度をつけて
バスへのアクセスを得るモジュールを選択するために、
アービトレーション・コードが必要である。
【0003】バス取得システムについては、Rickard に
よる米国特許出願第4736366号を、バス・トラン
シーバについては同氏による米国特許出願第47560
06号を参照されたい。
【0004】代表的な通信システムでは、共通バスを競
う通信モジュールが最大32個にもなる。モジュール3
2個には128の論理優先レベルを付加することができ
る。アービトレーション・シーケンス(データ・バス上
で生じる)は、優先するモジュールの論理/物理IDを
決定するのに8バス・サイクルかかる。バスを競うモジ
ュールが1個しかない場合がある。ある時間にバスを競
うモジュールが1個しかないのが一般的であるとして
も、そのモジュールは、アービトレーション・シーケン
ス8サイクルの遅れを被ることになる。
【0005】遅れの小さいアービトレーションを実現す
る手法としては、アービトレーション・シーケンスの先
頭に2サイクル追加し、モジュールがバスの制御を競っ
ているかどうかを判定するのが望ましい。バスを競うモ
ジュールが1個しかない場合は、8サイクルのアービト
レーション・シーケンスを継続する必要はなく、そのモ
ジュールがバスへ即座にアクセスできるようにするのが
よい。
【0006】
【発明が解決しようとする課題】この発明の目的は、ア
ービトレーション・サイクルの遅れを少なくする改良さ
れたバス・アービトレーション・システムを提供するこ
とにある。
【0007】この発明の目的には、エラーを検出するバ
ス・アービトレーション機能を提供することも含まれ
る。
【0008】この発明の目的には、エラーの検出または
訂正ができるように、32ビット・バス上で2重化また
は3重化できる改良されたバス・アービトレーション・
コードを提供することも含まれる。
【0009】
【課題を解決するための手段】この発明は、共通バス通
信システム内のアービトレーションを判定する方法であ
り、この方法ではモジュールIDが真補(true and com
plement) 形式で書かれる。モジュールはすべて、バス
から集約(ワイアOR)アイドル・バス・コードを受け
取った後に、チェック・コードを計算することによっ
て、競合するモジュールの個数を判定する。競合するモ
ジュールの個数が1に等しい場合は、優先するモジュー
ルが決定しており、アービトレーションは終了する。競
合するモジュールの個数が1より大きい場合、競合シー
ケンスは継続し、最終的にどのモジュールがを優先する
かが決定される。
【0010】
【実施例】図1に示した通信ユニット10は、共通バス
12を使用し、複数の通信モジュール14を備える。通
信モジュールは各々、0ないし31の物理IDを持ち、
バス・インタフェース・ユニット(BIU)16、中央
処理ユニット(CPU)18、及びメモリ・ユニット2
0を含む。BIU16はバスと通信モジュールのインタ
フェースをとる。CPU18は通信モジュールを制御
し、メモリ・ユニット20へのデータの格納を指示し、
BIU16を介して共通バスへデータを送出する。
【0011】モジュールが2個以上バスを要求した場
合、バスを競うモジュールのうちどのモジュールがバス
の制御を得るかを決定するためにアービトレーション・
コードが用いられる。この方法として一般的なのは、競
合する各モジュール14に、その一意の5ビット物理I
Dに対応する0ないし31のコードを出力させることで
ある。0ないし31の数を表わすには5ビット必要であ
る。各モジュールのコードは、バス(LOWアクティ
ブ)上でワイアORが取られ、集約アービトレーション
・コードが得られる。次にこの32ビットの集約コード
がチェックされ、アクティブなビットの個数が求められ
る。1ビットしかアクティブでない場合、バスの保有権
を対応するモジュールに引き渡すことができる。ビット
が2個以上アクティブなら、通常のアービトレーション
方式が用いられる。ただし、このコードをチェックして
アクティブなビットの個数を求めるには、かなりのロジ
ックが必要である。このロジックは普通、駆動/シンク
電流の大きいオープン・コレクタ・バイポーラである。
多数の比較器が必要である。コードを供給するには32
ビットのデータ・バス全体が必要なので、エラーの検出
は、不可能ではないとしても困難である。
【0012】競合する各モジュールに望ましいコードは
次のようになる。
【0013】物理IDの各論理0について“01”をバ
スに出力する。次に、物理IDの各論理1について“1
0”をバスに出力する。
【0014】これにより物理モジュールIDの真補が得
られる。競合に参加しないモジュールはバスのどのライ
ンも活動化しない。結果として、5ビットの物理IDの
場合、10ビットの単独競合モジュール・アービトレー
ション・コードが得られる。以下にこのアービトレーシ
ョン・コードを示す。
【0015】 表1 アービトレーション・コード例 モジュールID アービトレーション・コード (4...0) (9......0) 00000 0101010101 00001 0101010110 00010 0101011001 00011 0101011010 00100 0101100101 ... ... 11100 1010100101 11101 1010100110 11110 1010101001 11111 1010101010 集約アービトレーション・コードはバスのワイアORに
よって生成される。たとえば2つのモジュールが競合し
ていて、モジュール0のモジュールIDがMID=00
000、モジュール1がMID=00001とすると、
得られる集約コードは表2に示すように0101010
100になる。
【0016】 表2 集約コードのワイアOR モジュール 0出力 0101010101 モジュール 1出力 0101010110 集約コード = 0101010100 次式を満たす集約アービトレーション・コードからチェ
ック・コードが導かれる。
【0017】 ○ チェック・コード(4)=集約コード(9)+集約コード(8) (+ = 論理OR) ○ チェック・コード(3)=集約コード(7)+集約コード(6) ○ チェック・コード(2)=集約コード(5)+集約コード(4) ○ チェック・コード(1)=集約コード(3)+集約コード(2) ○ チェック・コード(0)=集約コード(1)+集約コード(0) チェック・コードに0があれば、バスを競っているモジ
ュールは2個以上である。バスの制御を決定するには通
常のアービトレーション・シーケンスが必要である。チ
ェック・コードの内容がすべて1であれば、バスの制御
は単独で競うモジュールに渡される。表3にモジュール
2個が競い合うときのアービトレーションの結果を、表
4にモジュール1個が競うときのアービトレーションの
結果を示す。表4のチェック・コードはすべて1に等し
いことに注意されたい。
【0018】 表3 2モジュール競合 モジュール0コード = 0101010101 モジュール1コード = 0101010110 集約コード = 0101010100 チェック・コード = 1 1 1 1 0 表4 1モジュール競合 モジュール6コード = 0101101001(MID=00110) 集約コード = 0101101001 チェック・コード = 1 1 1 1 1 この方式では、保有権が8サイクルではなく2サイクル
で割り振られる。このコードをチェックするロジック
は、32から1つを取るコード・アプローチに比べてか
なりシンプルであり、チップ面積、配線もかなり少なく
てすむ。図2は、2サイクル・アービトレーション・コ
ードのクロック・ステップ・シーケンスである。ステッ
プAでは、競合するモジュールがすべて、その物理ロケ
ーションIDの真補であるアイドル・バス・コード(I
BC)を送出(確約)する。ステップBでは、モジュー
ルがすべて、バスから集約(ワイアOR)アイドル・バ
ス・コードを受け取った後にチェック・コードを計算す
ることによって、競合するモジュールの個数を判定す
る。競合するモジュール数が1に等しいなら、優先する
モジュールは決まっており、競合は終了する。したがっ
てステップCではバス状態がH0となり、これは最初の
メッセージの先頭の0を表す。優先されるモジュールは
そのメッセージの転送を始める。
【0019】この発明のもう1つの特徴は、コードがコ
ンパクトであるため、32ビット・バス上で2重化ある
いは3重化でき、エラーの検出または訂正が可能という
ことである。すなわち競合するモジュールのアービトレ
ーション・コードに必要なのは10ビットだけである。
32ビットのデータ・バスでは、このアービトレーショ
ン・コードの2重化を3回行うことができる。これは1
/32コード・アプローチでは不可能である。使用でき
るデータ・バス・ラインがすべて、コードを供給するの
に用いられるからである。エラーの検出はエラー・コー
ドを生成することによって行える。エラー・コードの式
は次のようになる。
【0020】 ○ エラー・コード(4)=集約コード(9)&集約コード(8) (& = 論理AND) ○ エラー・コード(3)=集約コード(7)&集約コード(6) ○ エラー・コード(2)=集約コード(5)&集約コード(4) ○ エラー・コード(1)=集約コード(3)&集約コード(2) ○ エラー・コード(0)=集約コード(1)&集約コード(0) エラー・コードに1があれば、エラーが発生したとみな
すことができる。対になった集約コード・ビットの各々
が“11”の組み合わせを含むことはないからである。
表5にエラー・コードの例を示す。
【0021】 表5 エラー・コード例 集約コード = 0101101011(このコードに該当するMIDは ない) エラー・コード = 0 0 0 0 1 単独競合モジュールのアービトレーション・コードは多
種多様なバス・プロトコルに適用することができる。こ
のコードをインプリメントして、現在の共通バス・プロ
トコルを拡張あるいはエンハンスすることができる。
【図面の簡単な説明】
【図1】32個のモジュールが接続された共通バスの図
である。
【図2】単独競合モジュールのアービトレーション・コ
ードを決定するバス・クロックのタイミング図である。

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】共通データ・バスに接続された競合する通
    信モジュール間の単独競合モジュール・アービトレーシ
    ョンの方法であって、 競合する通信モジュールのモジュールIDの各ビットの
    2進値を01及び10でコード化して形成されるアービ
    トレーション・コードを生成するステップと、上記アー
    ビトレーション・コードを競合する通信モジュールから
    上記共通データ・バスに送出するステップと、 送出されたアービトレーション・コードの同位のビット
    を論理的に集約した集約コードを生成するステップと、 上記集約コードの隣接2ビットの論理的組合せより成る
    チェック・コードを生成するステップと、 上記チェック・コードのビット・パターンに従って、競
    合する通信モジュールの個数が1であるかどうかを判定
    するステップとを含む、 アービトレーション方法。
  2. 【請求項2】上記共通データ・バスに2つの上記アービ
    トレーション・コードが同時送出される、請求項1記
    載のアービトレーション方法。
  3. 【請求項3】上記集約コードの隣接2ビットの論理AN
    Dを取ることによってエラー・コードが生成される、請
    求項1記載のアービトレーション方法。
  4. 【請求項4】共通バスを有し、競合するデータ・モジュ
    ール間に単独競合モジュールのアービトレーション・コ
    ードを使用する通信システムであって、 競合する通信モジュールのモジュールIDの各ビットの
    2進値を01及び10でコード化して形成されるアービ
    トレーション・コードを生成する手段と、 上記アービトレーション・コードを競合する通信モジュ
    ールから上記共通データ・バスに送出する手段と、 送出されたアービトレーション・コードの同位のビット
    を論理的に集約した集約コードを生成する手段と、 上記集約コードの隣接2ビットの論理的組合せより成る
    チェック・コードを生成する手段と、 上記チェック・コードのビット・パターンに従って、競
    合する通信モジュールの個数が1であるかどうかを判定
    する手段とを含み、 よって単独で競うモジュールに上記バスへのアクセスが
    与えられる、 通信システム。
JP3233807A 1990-10-29 1991-08-22 共通バスの単独競合モジュール・アービトレーション機構 Expired - Lifetime JP2654281B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US605287 1984-04-30
US07/605,287 US5132967A (en) 1990-10-29 1990-10-29 Single competitor arbitration scheme for common bus

Publications (2)

Publication Number Publication Date
JPH04273563A JPH04273563A (ja) 1992-09-29
JP2654281B2 true JP2654281B2 (ja) 1997-09-17

Family

ID=24423036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3233807A Expired - Lifetime JP2654281B2 (ja) 1990-10-29 1991-08-22 共通バスの単独競合モジュール・アービトレーション機構

Country Status (4)

Country Link
US (1) US5132967A (ja)
EP (1) EP0483455B1 (ja)
JP (1) JP2654281B2 (ja)
DE (1) DE69121665D1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274636A (en) * 1992-04-20 1993-12-28 Chrysler Corporation Automatic multiplex data link system, symbol encoder decoder therefor
FR2692057B1 (fr) * 1992-06-09 1996-11-22 Alsthom Gec Reseau locaal, notamment pour un systeme de commande et d'auto-surveillance d'un appareil electrique.
US5335226A (en) * 1992-06-18 1994-08-02 Digital Equipment Corporation Communications system with reliable collision detection method and apparatus
US5764927A (en) * 1995-09-29 1998-06-09 Allen Bradley Company, Inc. Backplane data transfer technique for industrial automation controllers
US5664121A (en) * 1995-11-07 1997-09-02 Sun Microsystems, Inc. Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus
US6058449A (en) * 1997-07-31 2000-05-02 Motorola, Inc. Fault tolerant serial arbitration system
US6993612B2 (en) * 2000-12-07 2006-01-31 Micron Technology, Inc. Arbitration method for a source strobed bus
US7020156B2 (en) * 2000-12-15 2006-03-28 American Standard International Inc. Multiple device communications
US20070027485A1 (en) * 2005-07-29 2007-02-01 Kallmyer Todd A Implantable medical device bus system and method
US7712010B2 (en) * 2006-06-15 2010-05-04 International Business Machines Corporation Systems, methods and computer program products for utilizing a spare lane for additional checkbits
JP4774347B2 (ja) * 2006-08-18 2011-09-14 富士通株式会社 ノード装置、制御装置、制御方法及び制御プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4554628A (en) * 1981-08-17 1985-11-19 Burroughs Corporation System in which multiple devices have a circuit that bids with a fixed priority, stores all losing bids if its bid wins, and doesn't bid again until all stored bids win
US4470112A (en) * 1982-01-07 1984-09-04 Bell Telephone Laboratories, Incorporated Circuitry for allocating access to a demand-shared bus
US4734909A (en) * 1982-03-08 1988-03-29 Sperry Corporation Versatile interconnection bus
US4503535A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for recovery from failures in a multiprocessing system
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4620278A (en) * 1983-08-29 1986-10-28 Sperry Corporation Distributed bus arbitration according each bus user the ability to inhibit all new requests to arbitrate the bus, or to cancel its own pending request, and according the highest priority user the ability to stop the bus
DE3480962D1 (de) * 1984-10-31 1990-02-08 Ibm Deutschland Verfahren und einrichtung zur steuerung einer sammelleitung.
US4794516A (en) * 1985-10-31 1988-12-27 International Business Machines Corporation Method and apparatus for communicating data between a host and a plurality of parallel processors
US4736366A (en) * 1986-02-13 1988-04-05 International Business Machines Corporation Bus acquisition system
US4756006A (en) * 1986-02-26 1988-07-05 International Business Machines Corporation Bus transceiver
JPS63132365A (ja) * 1986-11-22 1988-06-04 Nec Corp バス調停制御方式
US4837682A (en) * 1987-04-07 1989-06-06 Glen Culler & Associates Bus arbitration system and method
US4901226A (en) * 1987-12-07 1990-02-13 Bull Hn Information Systems Inc. Inter and intra priority resolution network for an asynchronous bus system
US4878173A (en) * 1988-05-16 1989-10-31 Data General Corporation Controller burst multiplexor channel interface
US4965793A (en) * 1989-02-03 1990-10-23 Digital Equipment Corporation Method and apparatus for interfacing a system control unit for a multi-processor

Also Published As

Publication number Publication date
US5132967A (en) 1992-07-21
DE69121665D1 (de) 1996-10-02
EP0483455A1 (en) 1992-05-06
EP0483455B1 (en) 1996-08-28
JPH04273563A (ja) 1992-09-29

Similar Documents

Publication Publication Date Title
EP0576240B1 (en) Computer system and system expansion unit
US4630193A (en) Time multiplexed processor bus
US5483642A (en) Bus system for use with information processing apparatus
US20020065972A1 (en) Bus system for use with information processing apparatus
JP2654281B2 (ja) 共通バスの単独競合モジュール・アービトレーション機構
US4559595A (en) Distributed priority network logic for allowing a low priority unit to reside in a high priority position
US8583844B2 (en) System and method for optimizing slave transaction ID width based on sparse connection in multilayer multilevel interconnect system-on-chip architecture
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
EP0344677B1 (en) Microprocessor system
US7136956B2 (en) Semiconductor device
WO2005006625A2 (en) Device identification
US6058449A (en) Fault tolerant serial arbitration system
JPH047620B2 (ja)
JP2740077B2 (ja) バスアービトレーション制御回路
JP3074598B2 (ja) データ交換装置
KR880002509Y1 (ko) 퍼스널 컴퓨터의 네트워크 인터페이스 회로
JP3449156B2 (ja) モジュール装置
KR100311519B1 (ko) 시스템 클럭을 이용한 회전 순위 시스템
JP2788250B2 (ja) ディジタル信号交換器及びディジタル信号交換器の選択モジュール
JP3098550B2 (ja) バス制御方式
JPS61852A (ja) デ−タ送出方式
KR20030029237A (ko) 복수의 모듈들간의 데이터 송수신 시스템 및 송수신제어방법
JPH11167447A (ja) バス符号化方法
KR19980057564A (ko) 데이지 체인 구조를 가진 입출력 제어장치
KR20000039582A (ko) 브이엠이의 인터럽트 처리장치