Pipelined distributed bus arbitration system
AssigneeSun Microsystems, Inc.
InventorsKevin B. Normoyle, Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Louis F. Coffin, III
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorsKevin B. Normoyle, Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Louis F. Coffin, III
Estimating the term…
The present invention provides a scalable, modular and pipelined distributed bus arbitration system for efficiently resolving bus contention between sub-systems, e.g., processors, coupled to a common system bus. The arbitration system includes a plurality of distributed bus arbiters which receives the bus requests from the sub-systems and independently determine the next bus master. The arbitration protocol enables the arbitration process to be eliminated from the critical timing path thereby allowing the system to operate at the maximum system clock frequency possible for a given integrated circuit (IC) technology to reduce overall system clock latencies. Any change among the sub-systems during an arbitration clock cycle is based on any system bus request(s) which are active during a clock cycle immediately preceding the arbitration clock cycle, and is independent of any system bus request(s) asserted during the arbitration clock cycle. In addition, the arbitration protocol treats a current bus master, i.e., the bus master driving the system bus, preferentially. Each arbitration task is completed within a system clock cycle regardless of processor speed. As a result, the arbitration latency for retaining the current bus master is one system clock cycle while the latency for selecting and switching bus masters is two system clock cycles. In this implementation, a last port driver is the only sub-system permitted to assert a bus request in a clock cycle and immediately drive the system bus in the next immediate clock cycle. Conversely, when a second sub-system which is not the last port driver needs to drive an inactive system bus, the second sub-system asserts its bus request line in a first clock cycle, and arbitration occurs within all the respective bus arbiters occurs in a second clock cycle.
A method for arbitrating access to a system bus coupled to a plurality of sub-systems, each sub-system including a bus arbiter, the method comprising the steps of:
A method for arbitrating access to a system bus coupled to a plurality of sub-systems, each sub-system including a bus arbiter, the method comprising the steps of:
A bus arbiter for using in a subsystem that can be coupled to a system bus to which other subsystems having identical bus arbiters are also coupled, the bus arbiter comprising:
A bus arbiter for using in a sub-system that can be coupled to a system bus to which other sub-systems having identical bus arbiters are also coupled, wherein one of the sub-systems is designated as a special port driver, the bus arbiter comprising:
Dependencies are inferred from the claim text.