I/O buses: Transactions P.J. Drongowski A bus transaction is a two step process. 1. Obtain the use of the bus. 2. Transfer data on the bus. Arbitration. > Arbitration is required since data transfers may have more than one source. > There are twelve kinds of arbiters. Categorization is based upon three discriminating criteria. 1. Location of arbitration logic. (Where?) + Centralized. - Signal must pass from a requesting connection to a central arbitration point. - Response must be returned before transfer may begin. + Distributed. 2. Allocation rules. (How?) + Priority. + Democratic. - No priority rules. - Apparent tie is resolved arbitrarily or by "fairness." + Sequential. - Opportunity for request is given to only one connection at a time. - No ties are possible. - Sequence is not necessarily round robin. 3. Timing relationship of arbitration to data transfer. (When?) + Fixed. - Connection must request a data transfer at a fixed time relative to the data transfer. - Examples. * Busses that use the same signal lines for data transfer and arbitration. * Polled busses. (Transfer always occurs immediately after a connection is polled.) + Variable. - Data transfer can be requested at any time. - Independent of the current state of the data transfer facilities. Data transfer synchronization. > Source of synchronizing signals. + Centralized. + > Periodicity. + Periodic. + Aperiodic. UNIBUS. > Centralized arbitration. > Priority allocation by groups. > Variable arbitration. > 56 bus lines. + Data bus (16 bits.) + Address bus (18 bits.) + Data transfer. - Parity (2.) - Master sync (MSYNC.) - Slave sync (SSYNC.) - Operations (2.) * Read word. * Write word. * Write byte. * Modify (data in pause.) + Arbitration. - Bus request (5.) - Bus grant (5.) - Selection acknowledge (SACK.) - Interrupt. - Bus busy (BBSY.) - Initialization. + Power failure (2 bits.) > Arbiter uses three key signals. + BR: Bus Request. + BG: Bus grant. + SACK: Selection acknowledge. > There are BR and BG signals for each of four priority groups (levels) (4, 5, 6, 7) and the Non-Processor Request (NPR) group. All share a common SACK line. > Arbitration sequence. + Controller asserts BR. + Arbiter responds with BG. + Controller asserts SACK, then drops BR. + Arbiter drops BG. + When bus is idle (i.e., no on-going data transfer) arbiter raises BBSY. + Controller drops SACK in response to BBSY and begins a data transfer. > Data transfer sequence (input operation.) + Master sends slave's address and operation to be performed. + Master asserts MSYNC and slave fetches the data. + Slave puts the data on the bus and asserts SSYNC. + Upon receiving SSYNC, master copies the data from the bus and drops MSYNC. + After 75 nsec, master clears address and control lines and drops BBSY. + After seeing MSYNC drop, slave clears the data bus and drops SSYNC. The UNIBUS is available again. Ethernet. > Source: Evolution of the Ethernet local computer network, J.F. Shoch, et al., IEEE Computer, August 1982. > Multi-access, packet-switched communication system. + Shared communication medium is a passive coaxial cable. + No central control. + Address recognition at each connection receives packets from cable. + Transmission is distributed using a statistical arbitration scheme. > Distributed control policy called "Carrier sense multiple access with collision detection" or "CSMA/CD." + Sequence. * Check to see if network is busy (carrier sense.) * Wait for a quiet net. * When quiet, begin to transmit packet. * Listen for collision. * If a collision is detected, aborted packet transmission and briefly jam the channel. Schedule retransmission to take place after a random delay period. * If no collision is detected, continue transmission until end of packet. + Collision should occur early in packet transmission. This collision window is a function of end-to-end propagation delay. > Arbitration and transfer characteristics. + Distributed, fixed arbitration. + Contention arbitrated. + Data transfer is the request for use of the bus. Experimental Specification Data rate 2.94 Mbps 10 Mbps Max end-to-end length 1 km 2.5 km Max segment length 1 km 500 m Encoding Manchester Manchester Coax cable impedance 75 ohms 50 ohms Coax cable signal levels 0 to +3 V 0 to -2 V Transceiver cable connectors 25 & 15-pin D 15-pin D series Length of preamble 1 bit 64 bits Length of CRC 16 bits 32 bits Length of address fields 8 bits 48 bits Copyright (c) 1986 Paul J. Drongowski