This invention relates generally to peripheral component interconnect busses, and more particularly, to a method of broadcasting data on peripheral component interconnect busses.
For some known computer system applications it may be necessary for one device of the computerized system to send a given set of data to several other devices in the same computerized system. Peripheral component interconnect (PCI) bus specifications are designed to accommodate transactions including a single master agent and a single target agent. Consequently, known PCI specifications require a single master device to perform the same memory write transaction for each of several devices, when sending a given set of data to several other devices.
In one aspect, a method for broadcasting data on a peripheral component interconnect bus is provided. The method includes coupling at least one master agent, at least one responding target agent and at least one snooping target agent to the peripheral component interconnect bus, transmitting a standard PCI master agent signal from the master agent to the responding target agent, transmitting a standard PCI responding target agent signal, generated and transmitted by the responding target agent, from the responding target agent to the master agent, and monitoring the standard PCI master agent signal and the standard PCI responding target agent signal using the snooping target agent.
In another aspect, a system for increasing the transaction efficiency over a peripheral component interconnect bus is provided. The system includes at least one master agent, at least one responding target agent and at least one snooping target agent, the agents are configured to communicate over the peripheral component interconnect bus. The responding target agent is configured to generate a standard PCI responding target agent signal and transmit the signal to the master agent, and the snooping target agent is configured to monitor the standard PCI responding target agent signal.
In yet another aspect, an apparatus including a peripheral component interconnect bus including at least a target control line is provided. The apparatus also includes at least one master agent, at least one responding target agent and at least one snooping target agent, the agents are configured to communicate over the peripheral component interconnect bus. The responding target agent is configured to generate a standard PCI responding target agent signal and transmit the signal to the master agent over the target control line. The snooping target agent is configured to monitor the standard PCI responding target agent signal.
Master agent 22 is a device included as part of a computerized system that initiates communication for data transfer. Target agent 24 is also a device included as part of the computerized system, and is the device that master agent 22 communicates with for data transfer.
PCI bus 12 includes a different signal for data bus 14, master control lines 16 and target control lines 18. Data bus 14 facilitates transferring data signals from a single master agent 22 to a single target agent 24. Data signals contain the data or information communicated between a single master agent 22 and a single target agent 24. During memory write transactions, data signals are generated and transmitted by a single master agent 22 and monitored by a single target agent 24.
At least one master control line 16 facilitates transmitting master control signals from a single master agent 22 to a single target agent 24. Master control signals contain information other than data, such as, but not limited to, indicating the beginning or ending of a transaction and when valid data is available on the data signals. During memory write transactions, master control signals are also generated and transmitted by a single master agent 22 and are monitored by a single target agent 24.
At least one target control line 18 facilitates transmitting signals from a single target agent 24 to a single master agent 22. Target signals are generated and transmitted by a single target agent 24 and monitored by a single master agent 22. Target signals contain information indicating target agent 24 is ready to receive data from master agent 22. During memory write transactions, target agent 24 uses target signals to indicate it is ready to receive data from master agent 22. It should be understood that during a memory write transaction, a single master agent 22 sends data and information over data bus 14 and at least one master control line 16, respectively. A single target agent 24 responds to the transaction, or communication, over at least one target control line 18 while all other agents 20 remain idle.
During operation, a single PCI master agent 22 sends a broadcast transfer by performing a memory write transaction on PCI bus 12 to an address within a reserved broadcast address range. A single designated responding target agent 28 accepts the memory write transaction in full compliance with the PCI specification. Other snooping target agents 30 may receive the broadcast message by snooping on the memory write transaction.
Snooping target agents 30 do not directly participate in broadcast transactions, or communications. Instead, snooping target agents 30 listen to the communications by electronically monitoring the data and other information transmitted over data bus 14, at least one master control line 16 and at least one target control line 18. Thus, snooping target agents 30 effectively receive a copy of the data, or information, transmitted from a single master agent 22 to a single responding target agent 28 over data bus 14, at least one master control line 16 and at least one target control line 18. Consequently, data and other information generated by a single master agent 22 is simultaneously broadcast over data bus 14 and at least one master control line 16 to a single responding target agent 28 and all snooping target agents 30. Likewise, snooping target agents 30 effectively receive a copy of the information transmitted from a single responding target agent 28 to a single master agent 22 over data bus 14, at least one master control line 16 and at least one target control line 18. The information from a single responding target agent 28 transmitted over data bus 14, and control lines 16 and 18, is also simultaneously transmitted to a single master agent 22 and effectively transmitted to all snooping target agents 30. It should be understood that snooping target agents 30 may record the received data, but do not respond using the PCI control signals reserved for master agents 22 or designated responding target agents 28.
It should be appreciated that in other embodiments, snooping target agents 30 may also function as responding target agents 28 or master agents 22. Moreover, responding target agents 28 may also function as snooping target agents 30 or master agents 22. Furthermore, it should be appreciated that in other embodiments master agents 22 may function as snooping target agents 30 or responding target agents 28.
It should be understood that the exemplary embodiment functions in accordance with, and conforms to, standard electrical and mechanical PCI specifications. Thus, the exemplary embodiment does not include or require sideband signals. Furthermore, sideband signals are not compatible with standard PCI electrical and mechanical system specifications. It should be appreciated that although the exemplary embodiment does not include sideband signals, the signals transmitted over data bus 14 and control lines 16 and 18 may be any other kind of signal included in the standard PCI specification that enables PCI bus system 26 to function as described herein. By using signals other than sideband signals, the exemplary embodiment of PCI bus system 26 is able to be used with standard electrical and mechanical systems.
The exemplary embodiment uses designated responding target agents 28 to respond to broadcast transactions in full compliance with PCI bus system 26 specifications. Consequently, the exemplary embodiment permits using commercially available PCI bus system 26 hardware for both master agents 22 and designated responding target agents 28. It should be appreciated that, snooping target agents 30 are generally not commercially available. Moreover, it should be appreciated that although snooping target agents 30 are not generally commercially available, in the exemplary embodiment, snooping target agents 30 may be implemented using configurable logic devices, such as, but not limited to, FPGA and ASIC devices.
Simultaneously communicating data from a single master target agent 22 in a single transaction over data bus 14 and at least one master control line 16 to a single responding target agent 28 and snooping target agents 30, facilitates increasing the transaction efficiency of PCI bus system 26. Moreover, existing commercially available PCI hardware may accommodate these simultaneous communications without changing PCI bus system interfaces of master agents 22 or of responding target agents 28. Furthermore, PCI bus systems 26 do not require modifications, such as, but not limited to, changing motherboards and backplanes, to host agents that support PCI broadcasts because additional signals are not required to facilitate simultaneously broadcasting to all agents 20 and 24.
It should be appreciated that each exemplary embodiment uses existing commercially available PCI hardware without changing existing PCI bus system interfaces of transmitting and receiving agents. Further, existing PCI bus systems do not require modifications to host agents that support PCI broadcasts because additional signals are not required to facilitate simultaneously broadcasting to all target agents.
In each embodiment, the above described PCI bus system facilitates simultaneously transmitting the same signal to several receiving agents. More specifically, in each embodiment at least one snooping target agent listens to communications between a single master agent and a single responding target agent, so that the master agent transmits one signal that is effectively received by all target agents. As a result, the transmission efficiency of PCI bus system communications increases because the time required for communicating data to several target agents decreases and the amount of bus bandwidth required to communicate the data also decreases. Accordingly, system performance and component useful life are each facilitated to be enhanced in a cost effective and reliable manner.
While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims.