摘要 |
One embodiment of the present invention provides a method for configuring a bus architecture under software control to selectively switch a plurality of peripheral devices between a plurality of buses. The method includes receiving bus configuration information in a configuration register. This configuration information specifies how peripheral devices are coupled to buses. If the configuration information specifies a first configuration, the system configures switching circuitry so that the first peripheral device communicates across the first bus and the second peripheral device communicates across the second bus. If the configuration information specifies a second configuration, the system configures the switching circuitry so that the first peripheral device communicates across the second bus and the second peripheral device communicates across the first bus. In one embodiment of the present invention, the first bus is a shared bus coupled to more than one peripheral device and the second bus is a high-speed bus coupled to at most one peripheral device. In one embodiment of the present invention, the system additionally tracks usage of the first peripheral device and the second peripheral device to determine which peripheral device is most active. Next, the system writes configuration information into the configuration register so that the most active peripheral device is coupled to the second bus.
|