Claims
- 1. A method for interfacing a host and a slave device having a latency greater than the latency of the host, comprising the steps of:
making a first request for data stored at a first address in said slave device at a first time; outputting said data stored at said first address from said slave device at a second time; making a second request for data stored at a surrogate address at a third time; reading said data stored at said first address at a fourth time; and wherein said second time is subsequent to said first time, said third time is subsequent to said first time, and said fourth time is subsequent to said second time.
- 2. The method of claim 1, the method further comprising:
making a third request for data stored at a next sequential address in said slave device by requesting data stored at said surrogate address at a fifth time; outputting said data stored at said next sequential address from said slave device at a sixth time; reading said outputted data at a seventh time; and wherein said fifth time is subsequent to said third time, said sixth time is subsequent to said fourth time, and said seventh time is subsequent to said sixth time.
- 3. The method of claim 1, wherein said next sequential address is an address that is higher than said first address by at least one address.
- 4. The method of claim 1, wherein said next sequential address is an address that is lower than said first address by at least one address.
- 5. The method of claim 1, wherein said slave device is a memory.
- 6. The method of claim 1, wherein said slave device is a memory controller.
- 7. The method of claim 1, wherein said slave device is a display controller having an embedded memory.
- 8. The method of claim 1, wherein said host is a central processing unit.
- 9. The method of claim 1, wherein said host is a digital signal processor.
- 10. The method of claim 1, wherein said surrogate address is an invalid address for said slave device.
- 11. An apparatus for interfacing a host and a slave device having a latency greater than the latency of the host, comprising:
a read data register; and a state machine for controlling data transfers between said host and said slave device, wherein said state machine is adapted to perform the steps of:
receiving a first read signal and a first address at a first time; storing data returned from said slave device in said read data register at second time subsequent to said first time; receiving a second read signal and a surrogate address at a third time subsequent to said second time; and, enabling an output of said read data register so that said host can read said data stored in said read data register at a fourth time subsequent to said third time.
- 12. The apparatus of claim 11, wherein said state machine is further adapted to perform the steps of:
receiving a third read signal and a third address from said host at fifth time subsequent to said third time, wherein said third address is said surrogate address; storing said data stored from a next sequential address of said slave into said read data register at a sixth time subsequent to said fourth time; and enabling the output of said read data register at a seventh time subsequent to said sixth time so that said host can read said data stored in said read data register.
- 13. The apparatus of claim 11, wherein said next sequential address is a valid address for said slave device that is higher than said first address by at least one address.
- 14. The apparatus of claim 11, wherein said next sequential address is a valid address for said slave device that is lower than said first address by at least one address.
- 15. The apparatus of claim 11, wherein said slave device is a memory.
- 16. The apparatus of claim 11, wherein said slave device is a memory controller.
- 17. The apparatus of claim 11, wherein said slave device is a display controller having an embedded memory.
- 18. The apparatus of claim 11, wherein said host is a central processing unit.
- 19. The apparatus of claim I 1, wherein said host is a digital signal processor.
- 20. A computer system comprising:
a central processing unit (CPU) that initiates a first read operation by providing a first read signal and a first address at a first time and that completes said first read operation by sampling data prior to a second time that is subsequent to said first time; a slave device that responds to said first read signal and said first address by providing data stored at said first address at said second time, said first address being within the address space of said slave device; a software element directing said CPU that retrieves said data by directing said CPU to perform said first read operation and by subsequently directing said CPU to perform a second read operation that specifies a surrogate address; and an interface circuit that controls read operations between said CPU and said slave device, wherein said circuit includes:
a read data register; and a state machine adapted to perform the steps of:
receiving said first read signal and said first address at said first time; storing said data from said slave device in said read data register at said second time; receiving a second read signal and said surrogate address at a third time subsequent to said second time; and, enabling an output of said read data register so that said CPU can read said data stored in said read data register at a fourth time subsequent to said third time.
- 21. The apparatus of claim 20, wherein said state machine is further adapted to perform the steps of:
receiving a third read signal and a third address from said host at fifth time subsequent to said third time, wherein said third address is said surrogate address; storing said data stored from a next sequential address of said slave into said read data register at a sixth time subsequent to said fourth time; and enabling the output of said read data register at a seventh time subsequent to said sixth time so that said host can read said data stored in said read data register.
- 22. The apparatus of claim 20, wherein said next sequential address is a valid address for said slave device that is higher than said first address by at least one address.
- 23. The apparatus of claim 20, wherein said next sequential address is a valid address for said slave device that is lower than said first address by at least one address.
- 24. The apparatus of claim 20, wherein said slave device is a storage device.
- 25. The apparatus of claim 20, wherein said slave device is a memory controller.
- 26. The apparatus of claim 20, wherein said slave device is a display controller having an embedded memory.
- 27. The apparatus of claim 20, wherein said host is a central processing unit.
- 28. The apparatus of claim 20, wherein said host is a digital signal processor.
- 29. A medium readable by a machine embodying a program of instructions executable by the machine to perform a method of interfacing a host and a slave device having a latency greater than the latency of the host, comprising the steps of:
making a first request for data stored at a first address in said slave device at a first time; outputting said data stored at said first address from said slave device at a second time subsequent to said first time; making a second request for data stored at a surrogate address at a third time subsequent to said first time; and reading said data at a fourth time subsequent to said second time.
- 30. The medium of claim 29, the method further comprising the steps of:
making a third request for data stored at a second address in said slave device at a fifth time subsequent to said third time by requesting data stored at said surrogate address; outputting said data stored at said second address from said slave device at a sixth time subsequent to said fourth time; and reading said outputted data at a seventh time subsequent to said sixth time.
- 31. The medium of claim 29, wherein said second address is a valid address for said slave device that is higher than said first address by at least one address.
- 32. The medium of claim 29, wherein said second address is a valid address for said slave device that is lower than said first address by at least one address.
- 33. The medium of claim 29, wherein said slave device is a memory.
- 34. The medium of claim 29, wherein said slave device is a memory controller.
- 35. The medium of claim 29, wherein said slave device is a display controller having an embedded memory.
- 36. The medium of claim 29, wherein said host is a central processing unit.
- 37. The medium of claim 29, wherein said host is a digital signal processor.
- 38. A method for interfacing a host and a slave device having a latency greater than the latency of the host, comprising the steps of:
making a first request to store data in said slave device at a first time; and making a second request to store data in said slave device at a second time subsequent to said first time.
Parent Case Info
[0001] This application claims the benefit of the provisional application Serial No. 60/407,462 filed Aug. 29, 2002, entitled Method for Interfacing Fixed Latency CPUs to Slow Memory or Devices, which is incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60407462 |
Aug 2002 |
US |