Page 63 - A Practical Guide from Design Planning to Manufacturing
P. 63

Computer Components  39

        to wires for data, each bus standard may include additional wires to
        carry control signals, power supply, or to act as shields from electrical
        noise. Allowing physically long wires makes it easier to connect periph-
        erals, especially ones that might be outside the computer case, but ulti-
        mately long wires mean long latency and reduced performance. Some
        buses are point-to-point buses connecting exactly two chips. These are
        sometimes called ports rather than buses. Other buses are designed to
        be multidrop, meaning that more than two chips communicate over the
        same set of wires. Allowing multiple chips to share one physical bus
        greatly reduces the number of separate buses required by the system,
        but greatly complicates the signaling on those buses.
          The electrical specifications describe the type of data to be sent over
        each wire, the voltage to be used, how signals are to be transmitted over
        the wires, as well as protocols for bus arbitration. Some bus standards
        are single ended, meaning a single bit of information is read from a
        single wire by comparing its voltage to a reference voltage. Any voltage
        above the reference is read as a 1, and any voltage below the reference
        is read as a 0.
          Other buses use differential signaling where a single bit of informa-
        tion is read from two wires by comparing their voltages. Whichever of
        the two wires has the higher voltage determines whether the bit is read
        as a 1 or a 0. Differential buses allow faster switching because they are
        less vulnerable to electrical noise. If interference changes the voltage of
        a single-ended signal, it may be read as the wrong value. Interference
        does not affect differential signals as long as each pair of wires is affected
        equally, since all that matters is the difference between the two wires,
        not their absolute voltages.
          For point-to-point bus standards that only allow transmission of data
        in one direction, there is only one chip that will ever drive signals onto
        a particular wire. For standards that allow transmission in both direc-
        tions or multidrop buses, there are multiple chips that might need to
        transmit on the same wire. In these cases, there must be some way of
        determining, which is allowed to use the bus next. This protocol is called
        bus arbitration.
          Arbitration schemes can treat all users of the bus equally or give
        some higher priority access than others. Efficient arbitration protocols
        are critical to performance since any time spent deciding who will trans-
        mit data next is time that no one is transmitting. The problem is greatly
        simplified and performance improved by having only one transmitter on
        each wire, but this requires a great many more wires to allow all the
        needed communication.
          All modern computer buses are synchronous buses that use a clock
        signal to synchronize the transmission of data over the bus. Chips trans-
        mitting or receiving data from the bus use the clock signal to determine
   58   59   60   61   62   63   64   65   66   67   68