System and method for controlling a bus

Bus performance in a computer system having multiple devices 102, 104, 106 accessing a common shared bus 132 may be improved by increasing throughput and decreasing latency while accounting for dynamic changes in bus usage. Devices submit a priority level along with a bus request to a bus controller...

Full description

Saved in:
Bibliographic Details
Main Authors REVILLA, JUAN G, SATORIUS, THOMAS A, SCHAFFER, MARK M
Format Patent
LanguageEnglish
French
German
Published 17.05.2006
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Bus performance in a computer system having multiple devices 102, 104, 106 accessing a common shared bus 132 may be improved by increasing throughput and decreasing latency while accounting for dynamic changes in bus usage. Devices submit a priority level along with a bus request to a bus controller 120. Upon receiving multiple requests, an arbiter of the bus controller 130 compares the priority levels associated with the different bus requests and grants control of the bus to the device having the highest priority level. During each cycle that a device has control of the bus, a feedback logic circuit of the bus controller determines whether other bus requests are pending, and if so, determines the highest pending request priority level. Signals corresponding to the results of these determinations are fed back to each device. The device having control of the bus uses the combination of the currently pending request priority level and the device's own latency timer 102a, 104a, 106a to determine whether it should maintain control of the bus or relinquish control of the bus. If the latency timer of the device has not expired, the device will continue to control the bus even if the currently pending request priority level is greater than the device's priority level. If the currently pending request priority level is not greater than the device's own priority level, the device will continue to control the bus even after the device's latency timer has expired until the device no longer needs the bus. Finally, if the currently pending request priority level is greater than the device's own priority level and the device's latency timer has expired, the device will relinquish control of the bus. As such, the latency timer of a device is dynamically extended after expiration as long as the device has a priority level at least as great as the currently pending request priority.
Bibliography:Application Number: EP19980302080