Back Next
Arbitration
 Controls which master is master

 As systems and their devices become faster,
   ( and more devices have internal caches )
   More time for different devices to take turns being master of the bus.

 Types of arbitration :

  Daisy chain - priority design. If highest priority master not 
    interested, next master device allowed to act. 

    Not fair. highest master always wins.
      But useful.

    SCSI bus - address of device sets priority of device wishing to be master.
      Any device may be a master.

      If bus free, master requests bus and indicates its ID on data bus.

      If more than one master requests, each potential master examines
        data-bus and concedes to highest master.

      Priority 
        Usually interface card to PC's system bus.
        Followed by drives.
        Followed by printing devices.
        Followed by slower I/O devices.

  Centralized parallel - each master requests control from separate
    single master arbiter.  

    Common in computer's main bus system.
    Fair but bottlenecks occur.  
    PCI bus controller - for devices interfaced with controller. 
    Arbiter can be programmed to give certain devices or situations
      higher priority. 
   
  Distributed using self-selection - like centralized except devices 
    themselves determine priority. Fairly uncommon, because all mastering
      devices would have to be smart (complex).
  
    Token ring could be viewed as a cross between daisy-chain and 
      self-selection.

      "Empty" Token moves from node to node until a node needs to communicate.
        Once the token is claimed, it is used to move data between 
          master and client for a certain number of cycles.
        

        If token is busy, an intermediate node can flag its desire for use 
          as the token passes by, which can shorten the time the current master 
          has use.

  Distributed using collision detection - any device may attempt to use bus 
    if not in use. 

    If conflict (collision), various protocols help find a resolution.

    Ethernet uses CSMA/CD. Carrier Sense, Multiple Access/Collision detection.
      If competition detected, resolution involving random delays between 
        attempts helps determine winner.

    If too many devices or too busy, logjam can occur.

    Modern switches(hubs) use buffering and isolation eliminating collisions.

  ***

  * Wireless networking use 3rd party arbitration where the Access point is 
      the arbiter combined with Carrier Sense and a smidgen of collision 
      detection. 

    Devices wait for a passive time on the network and broadcast a quick, 
      short reservation packet including time needed. 

    If no collision detected, 
      Access point may grant device a time slot to use network.

    Device broadcasts a release packet to free network. 

  Wikipedia topic : arbiter (electronics)