High-throughput interconnect allowing bus transactions based on partial access requests
First Claim
1. A method of performing a bus transaction, the bus transaction including an access request for requesting a data transfer on a bus, the access request having a plurality of bits, the method comprising:
- determining whether particular bits of the access request are different from corresponding bits of a previous access request; and
requesting the data transfer by transmitting only a first subset of the plurality of bits to a target based on said determining, the first subset consisting of less than all of the bits of the access request.
2 Assignments
0 Petitions
Accused Products
Abstract
A high throughput memory access interface is provided. The interface includes features which provide higher data transfer rates between system memory and video/graphics or audio adapters than is possible using standard local bus architectures, such as PCI or ISA. The interface allows memory access requests to be performed in such a manner that only portions of an access request are required to be transmitted to the target device for certain bus transactions. Each access request includes command bits, address bits, and length bits. In the initiating device, each access request is separated into three segments, which are stored in separate registers in both the initiating device and the target device. Only the segment which contains the lowest order address bits and the length bits is required by the target device to initiate the bus transaction. Thus, if either of the other two segments has not changed since the previous access request, then such segment or segments are not transmitted to the target. If such segment or segments have changed since the previous access request, then they are provided to the target only for purposes of updating state in the target. Access requests may optionally be provided to the target on a separate port from the port used to transmit data in response to access requests.
139 Citations
34 Claims
-
1. A method of performing a bus transaction, the bus transaction including an access request for requesting a data transfer on a bus, the access request having a plurality of bits, the method comprising:
-
determining whether particular bits of the access request are different from corresponding bits of a previous access request; and requesting the data transfer by transmitting only a first subset of the plurality of bits to a target based on said determining, the first subset consisting of less than all of the bits of the access request. - View Dependent Claims (2, 3, 4)
-
-
5. A method of performing a bus transaction, the bus transaction including a data transfer and an access request for requesting the data transfer, the method comprising:
-
separating the access request into a plurality of subsets, the plurality of subsets including a first subset and a second subset; determining whether the second subset is different from a corresponding second subset of a previous access request; transmitting the first subset to a target device to initiate the bus transaction; and transmitting the second subset to the target device only if the second subset is different from the corresponding second subset of the previous access request. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A method of performing a bus transaction, the bus transaction including an access request for requesting a data transfer, the method comprising:
-
separating the access request into a plurality of subsets, the plurality of subsets including a first subset and a second subset; using only the first subset of the access request to initiate the bus transaction; and providing the second subset of the access request to a target device only to update state in the target device. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. In a device operable as a bus agent in a computer system, a method of enabling bus transactions to be performed, each bus transaction including an access request for requesting a corresponding data transfer, each access request including a plurality of bits, the method comprising the steps of:
-
providing a first transaction mode in which a target of each bus transaction receives all of said plurality of bits of an access request on a bus to perform a corresponding data transfer on the bus; and providing a second transaction mode in which a target of a bus transaction can perform a data transfer on the bus in response to receiving only a first subset of the plurality of bits of a corresponding access request at a sideband port, the first subset consisting of less than all of said plurality of bits of the corresponding access request. - View Dependent Claims (19, 20)
-
-
21. A device operable as a target of a bus operation, the device comprising:
-
first logic for performing a first data transfer in response to receiving a first access request on a bus by communicating a first set of data on the bus; and second logic for performing a second data transfer in response to receiving a second access request, the second access request including a first segment and a second segment, the second logic receiving the first segment of the second access request at a sideband port, the second logic further for communicating a second set of data on the bus in response to receiving only the first segment of the second access request. - View Dependent Claims (22, 23, 24)
-
-
25. A device operable as a bus master in a processing system, the device comprising:
-
means for transmitting a first subset of an access request to a target device on a first set of signal lines, the access request for requesting a transfer of data; means for determining whether a second subset of the access request is different from a corresponding second subset of a previous access request; means for transmitting the second subset of the access request to the target device on the first set of signal lines only if the second subset is different from the corresponding second subset of the previous access request; and means for transferring the data on a second set of signal lines. - View Dependent Claims (26, 27)
-
-
28. A device operable to perform transactions on a bus in a processing system, the bus including a set of address/data lines, the device comprising:
-
first logic coupled to the address/data lines and configured to transmit addresses of a first transfer mode to a target device on the address/data lines and to communicate data corresponding to the addresses of the first transfer mode with the target device on the address/data lines; second logic coupled to a set of sideband address lines and configured to transmit addresses of a second transfer mode to a target device on the sideband address lines, wherein data corresponding to the addresses of the second transfer mode are communicated with the target device on the address/data lines, the second logic including; means for transmitting a first subset of an address of the second transfer mode to a target device on the sideband address lines; means for determining whether a second subset of the address of the second transfer mode differs from a corresponding second subset of a previous address; and means for transmitting the second subset to the target device on the sideband address lines only if the second subset differs from the corresponding second subset of the previous address. - View Dependent Claims (29)
-
-
30. A processing system comprising:
-
a processor; a memory coupled to the processor; a bus coupled to the processor and the memory; and a device coupled to the bus and operable as a bus master, wherein the device is configured to; transmit a first subset of an access request to a target device, the access request for requesting a transfer of data on the bus; transmit a second subset of the access request to the target device only if the second subset is different from a corresponding second subset of a previous access request; and communicate the data with the target device on the bus in response to transmitting the first subset and not the second subset of the access request to the target device. - View Dependent Claims (31, 32)
-
-
33. A computer system comprising:
-
a processor; a memory controller coupled to the processor; a memory coupled to the memory controller; a bus coupled to the memory controller, the bus including a set of address/data lines; a device coupled to the bus and operable as a bus master to transmit memory access requests to the memory controller, the device further coupled to the memory controller by a set of sideband address lines, the device including; first logic coupled to the address/data lines and configured to transmit access requests of a first transfer mode onto the address/data lines and to communicate data corresponding to the access requests of the first transfer mode on the address/data lines; second logic coupled to the sideband address lines and configured to transmit access requests of a second transfer mode on the sideband address lines, wherein data corresponding to the access requests of the second transfer mode are communicated on the address/data lines, the second logic including; means for transmitting a first subset of an access request of the second transfer mode on the sideband address lines; means for determining whether a second subset of the access request of the second transfer mode differs from a corresponding second subset of a previous access request; and means for transmitting the second subset on the sideband address lines as part of the access request of the second mode only if the second subset differs from the corresponding second subset of the previous access request. - View Dependent Claims (34)
-
Specification