Claims
- 1. A graphics expansion bridge comprising:
a first interface unit to be coupled to a system memory and I/O controller through one or more I/O ports, the first interface unit enabling data transfers over the one or more I/O ports to or from a main memory of a computer system; an Accelerated Graphics Port (AGP) interface unit that provides bus control signals and addresses to enable data transfers over an AGP bus to or from a peripheral device; and an address translation unit coupled to the first interface unit and the AGP interface unit, the address translation unit to translate graphics addresses associated with inbound AGP transactions received on the AGP bus by accessing an off-chip static random access memory (SRAM) containing a graphics address relocation table (GART), the GART including physical addresses of pages in a main memory of the computer system.
- 2. The graphics expansion bridge of claim 1, wherein the GART includes a plurality of entries each associated with a page in main memory and including an indication identifying whether or not addresses within the page are to be snooped on a processor bus of the computer system.
- 3. The graphics expansion bridge of claim 1, wherein the address translation unit supports multiple page sizes by interpreting entries in the GART according to a first format or a second format.
- 4. The graphics expansion bridge of claim 3, wherein the multiple page sizes include 4Kbyte and 4Mbyte.
- 5. An input/output (I/O) expansion bridge comprising:
a first interface unit to be coupled to a system memory and I/O controller through one or more I/O ports, the first interface unit enabling data transfers over the one or more I/O ports to or from a main memory of a computer system; a second interface unit that provides bus control signals and addresses to enable data transfers over a bus to or from a peripheral device; and an address translation unit coupled to the first interface unit and the second interface unit, the address translation unit to translate all addresses associated with transactions received on the second interface and associated with a predetermined range of physical addresses by accessing a local memory containing the physical addresses of pages in a main memory of the computer system.
- 6. The I/O expansion bridge of claim 5, wherein the bus comprises an Accelerated Graphics Port (AGP) bus.
- 7. The I/O expansion bridge of claim 6, wherein the local memory contains therein a graphics address relocation table (GART).
- 8. The I/O expansion bridge of claim 7, wherein the local memory comprises one or more of an on-chip or off-chip static random access memory (SRAM).
- 9. The I/O expansion bridge of claim 7, wherein the GART includes a plurality of entries each associated with a page in main memory and including an indication identifying whether addresses within the page are to be snooped on a processor bus of the computer system.
- 10. The I/O expansion bridge of claim 7, wherein the address translation unit supports multiple page sizes by interpreting entries in the GART according to a first format or a second format.
- 11. The I/O expansion bridge of claim 10, wherein the multiple page sizes include two or more of 4Kbyte pages, 2Mbyte pages, and 4Mbyte pages.
- 12. A chipset comprising:
a graphics expansion bridge providing a bus protocol bridging function between one or more input/output (I/O) ports and an Accelerated Graphics Port (AGP) bus, the graphics expansion bridge to translate virtual addresses associated with inbound transactions to physical addresses within a main memory of a computer system based upon a graphics address relocation table (GART) stored in a local memory; and a system memory and I/O controller coupled to the graphics expansion bridge and to be coupled to a system bus and a memory bus of the computer system, the system memory and I/O controller to perform data transfers to and from the main memory on behalf of the graphics expansion bridge.
- 13. The chipset of claim 12, wherein the local memory comprises one or more of an on-chip or off-chip static random access memory (SRAM).
- 14. The chipset of claim 12, wherein the GART includes a plurality of entries each associated with a page in main memory and including an indication identifying whether addresses within the page are to be snooped on a processor bus of the computer.
- 15. A chipset comprising:
bridging means for providing a bus protocol bridging function between one or more input/output (I/O) ports and an Accelerated Graphics Port (AGP) bus, the bridging means to translate virtual addresses associated with inbound transactions to physical addresses within a main memory of a computer system based upon a graphics address relocation table (GART) stored in a local memory; and controller means, coupled to the bridging means and to be coupled to a system bus and a memory bus of the computer system, for performing data transfers to and from the main memory on behalf of the bridging means.
- 16. The chipset of claim 15, wherein the local memory comprises one or more of an on-chip or off-chip static random access memory (SRAM).
- 17. The chipset of claim 15, wherein the GART includes a plurality of entries each associated with a page in main memory and including an indication identifying whether addresses within the page are to be snooped on a processor bus of the computer.
- 18. A method of translating input/output (I/O) transactions in a bridge, the method comprising:
receiving at the bridge an I/O transaction on a local I/O bus; determining an address and an offset associated with the I/O transaction; retrieving an entry from an address translation table based upon the address, the address translation table stored in a local memory coupled directly to the bridge; and forming a physical address that identifies a location in a main memory of a computer system based upon the entry and the offset.
- 19. The method of claim 18, wherein the local I/O bus comprises an Accelerated Graphics Port (AGP) bus, and wherein said receiving at the bridge an I/O transaction on a local I/O bus comprises the bridge receiving an AGP transaction on the AGP bus.
- 20. The method of claim 18, wherein the local memory comprises static random access memory (SRAM).
- 21. The method of claim 18, wherein the method further includes:
determining whether the location resides within a 4Kbyte page or a 4Mbyte page in the main memory; and interpreting the entry based upon the results of said determining.
- 22. The method of claim 18, wherein the method further includes determining whether access to the physical address is to be coherent or non-coherent.
- 23. A method of translating input/output (I/O) transactions in a bridge, the method comprising the steps of:
a step for receiving at the bridge an I/O transaction on a local I/O bus; a step for determining an address and an offset associated with the I/O transaction; a step for receiving an entry from an address translation table based upon the address, the address translation table stored in a local memory coupled directly to the bridge; and a step for forming a physical address that identifies a location in a main memory of a computer based system based upon the entry and the offset.
- 24. The method of claim 23, wherein the local I/O bus comprises an Accelerated Graphics Port (AGP) bus, and wherein the step for receiving at the bridge an I/O transaction on a local I/O bus comprises the bridge receiving an AGP transaction on the AGP bus.
- 25. The method of claim 23, wherein the method further includes a step for determining whether access to the physical address is to be coherent or non-coherent.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. application Ser. No. 09/385,209 entitled Input/Output (I/O) Address Translation in a Bridge Proximate to a Local I/O Bus, filed Aug. 30, 1999 to inventors Nayyar, Moran and Cross.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09385209 |
Aug 1999 |
US |
Child |
10142706 |
May 2002 |
US |