Claims
- 1. A computer system, comprising:
an electrical device; a cache memory coupled to said electrical device; bridge logic coupled to said electrical device; and a memory controller having a prefetch buffer, said memory controller coupled to said memory and to said bridge logic; wherein said electrical device issues a read request to said memory controller to retrieve a first cache line, said memory controller retrieves said first cache line and also retrieves a second cache line location before the second cache line is requested by said electrical device and stores said second cache line in said prefetch buffer pending its request by said electrical device.
- 2. The computer system of claim 1 wherein the second cache line is retrieved from said cache memory at a memory location that is determined based on the first cache line.
- 3. The computer system of claim 2 wherein said second cache line is adjacent said first cache line in said cache memory.
- 4. The computer system of claim 1 wherein said electrical device issues a read request for the second cache line and said memory controller responds by providing the previously retrieved second cache line from said prefetch buffer to the electrical device.
- 5. The computer system of claim 1 wherein said memory controller retrieves the second cache line before such second cache line is requested only if said electrical device is of a predetermined type of device.
- 6. The computer system of claim 5 wherein said memory controller retrieves the second cache line before such second cache line is requested if a source identifier from said read request indicates that the electrical device is of the predetermined type.
- 7. The computer system of claim 1 wherein said memory controller retrieves said second cache line before such second cache line is requested only if said electrical device is a processor.
- 8. The computer system of claim 1 wherein said electrical device comprises a processor.
- 9. A memory controller through which an electrical device can access cache memory, comprising:
a memory interface coupled to the cache memory; and an interface to bridge logic which couples to the electrical device; and a prefetch buffer coupled to the memory interface; wherein a read request is received from the electrical device via the bridge logic to retrieve a first cache line in the cache memory, said memory interface retrieves the first cache line and also retrieves a second cache line before such second cache line is requested by the electrical device and stores said second cache line in said prefetch buffer pending its request by said electrical device.
- 10. The memory controller of claim 9 wherein the second cache line is retrieved from a location in the cache memory that is determined based on a location of the first cache line.
- 11. The memory controller of claim 10 wherein the second cache line location is adjacent the first cache line location.
- 12. The cache controller of claim 9 wherein said memory controller receives a read request from the electrical device for the second cache line and said bridge logic responds by providing the previously retrieved second cache line from said prefetch buffer to the electrical device.
- 13. The memory controller of claim 9 wherein said memory controller retrieves said second cache line before such second cache line is requested only if said electrical device is of a predetermined type of device.
- 14. The memory controller of claim 13 wherein said memory controller retrieves the second cache line before such second cache line is requested if a source identifier from said read request indicates that the electrical device is of the predetermined type.
- 15. The memory controller of claim 9 wherein said memory controller retrieves said second cache line before such second cache line is requested only if said electrical device is a processor.
- 16. The memory controller of claim 9 wherein the electrical device comprises a processor.
- 17. A method of retrieving data from memory, comprising:
(a) receiving a request for a first cache line; (b) retrieving the first cache line; (c) retrieving a second cache line before receiving a request for the second cache line; and (d) storing the second cache line in a buffer in a memory controller pending its subsequent request.
- 18. The method of claim 17 further including receiving a request for the second cache line after which the second cache line stored in the buffer is retrieved.
- 19. The method of claim 17 wherein (c) includes retrieving the second cache line only if an entity that submitted the request received in (a) is of a predetermined type.
- 20. The method of claim 19 further including determining the predetermined type by decoding a value in the request received in (a).
- 21. The method of claim 17 wherein (c) includes retrieving the second cache line only if an entity that submitted the request received in (a) comprises a processor.
- 22. An electronic system, comprising:
an electrical device; a cache memory; a memory controller coupled to said memory and said electrical device; a means in the memory controller for receiving a request to retrieve first cache line from said memory, for retrieving a second cache line before such data is requested by said electrical device, and for storing said second cache line pending its subsequent request.
- 23. A memory controller through which an electrical device can access memory, comprising:
a memory interface coupled to the memory; an interface to bridge logic which couples to the electrical device; and a prefetch buffer coupled to the memory interface; wherein a read request is received from the electrical device via the bridge logic, said read request causing the memory controller to retrieve a unit of data from the memory and the memory controller further retrieves a second unit of data from the memory before being requested, the unit of data being a minimum amount of data retrievable by the read request.
- 24. The memory controller of claim 23 wherein said read request causes the memory interface to retrieve said first and second units of data.
- 25. The memory controller of claim 23 wherein the second unit is stored in said prefetch buffer.
- 26. The memory controller of claim 25 wherein the second unit is retrieved from a location in memory determined based on the first unit of data.
- 27. The memory controller of claim 25 wherein the memory controller receives a read request from the electrical device for a data value contained in the second unit of data and retrieves the requested data value from the prefetch buffer.
- 28. The memory controller of claim 23 wherein the second unit of data is retrieved only if the memory controller determines that the electrical device is of a predetermined type.
- 29. The memory controller of claim 28 wherein the predetermined type comprises a processor.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to co-pending application Ser. No. ______, entitled “Methods And Apparatus Used To Retrieve Data From Memory Before Such Data Is Requested,” Attorney Docket No. 1662-68500, filed concurrently herewith and incorporated herein by reference.