Method of implementing an accelerated graphics port for a multiple memory controller computer system
First Claim
1. A method of manufacturing a multiple memory controller computer comprising:
- providing at least a first memory controller for controlling a first main memory where the first memory controller and first main memory handle at least graphics data, wherein the first memory controller further comprises at least one configuration register that defines a range of addresses for accelerated graphic transactions;
providing at least a second memory controller for controlling at least a second main memory where the second memory controller and second main memory handle at least non-graphics data;
connecting the first memory controller with at least the second memory controller with a processor bus such that the first and second memory controllers are indirectly connected to each other via the processor bus and further connecting at least the first memory controller to an accelerated graphics processor via a point-to-point connection that is separate from the processor bus;
providing a graphic address remapping table of entries of configurable length, wherein the graphic address remapping table is located in the range of addresses for accelerated graphic transactions, and wherein each entry of the graphic address remapping table indicates a virtual page and a corresponding physical page, and wherein the configurable length of the entries is definable by software;
analyzing a memory transaction having a virtual address with the first memory controller to determine whether the memory transaction is associated with graphics data;
when the memory transaction is associated with graphics data, translating the virtual address of the memory transaction based on the graphic address remapping table located in the range of addresses for accelerated graphic transactions to a physical address and routing the memory transaction based on the physical address from the first memory controller to the accelerated graphics processor via the point-to-point connection such that the memory transaction bypasses the processor bus;
when the memory transaction is not associated with graphic data, rerouting the memory transaction from the first memory controller to the second memory controller via the processor bus; and
processing memory transactions for non-graphics data with the second memory controller and processing memory transactions for graphics data with the first memory controller such that at least two memory transactions including graphics data and non-graphics data are executed separately by the at least first and second memory controllers.
1 Assignment
0 Petitions
Accused Products
Abstract
An architecture for storing, addressing and retrieving graphics data from one of multiple memory controllers. In a first embodiment of the invention, one of the memory controllers having an accelerated graphics port (AGP) includes a set of registers defining a range of addresses handled by the memory controller that are preferably to be used for all AGP transactions. The AGP uses a graphics address remapping table (GART) for mapping memory. The GART includes page table entries having translation information to remap virtual addresses falling within the GART range to their corresponding physical addresses. In a second embodiment of the invention, a plurality of the memory controllers have an AGP, wherein each of the plurality of the memory controllers supplies a set of registers defining a range of addresses that is preferably used for AGP transactions. In a third embodiment of the invention, a plurality of memory controllers implemented on a single chip each contain an AGP and a set of configuration registers identifying a range of addresses that are preferably used for AGP transactions.
-
Citations
17 Claims
-
1. A method of manufacturing a multiple memory controller computer comprising:
-
providing at least a first memory controller for controlling a first main memory where the first memory controller and first main memory handle at least graphics data, wherein the first memory controller further comprises at least one configuration register that defines a range of addresses for accelerated graphic transactions; providing at least a second memory controller for controlling at least a second main memory where the second memory controller and second main memory handle at least non-graphics data; connecting the first memory controller with at least the second memory controller with a processor bus such that the first and second memory controllers are indirectly connected to each other via the processor bus and further connecting at least the first memory controller to an accelerated graphics processor via a point-to-point connection that is separate from the processor bus; providing a graphic address remapping table of entries of configurable length, wherein the graphic address remapping table is located in the range of addresses for accelerated graphic transactions, and wherein each entry of the graphic address remapping table indicates a virtual page and a corresponding physical page, and wherein the configurable length of the entries is definable by software; analyzing a memory transaction having a virtual address with the first memory controller to determine whether the memory transaction is associated with graphics data; when the memory transaction is associated with graphics data, translating the virtual address of the memory transaction based on the graphic address remapping table located in the range of addresses for accelerated graphic transactions to a physical address and routing the memory transaction based on the physical address from the first memory controller to the accelerated graphics processor via the point-to-point connection such that the memory transaction bypasses the processor bus; when the memory transaction is not associated with graphic data, rerouting the memory transaction from the first memory controller to the second memory controller via the processor bus; and processing memory transactions for non-graphics data with the second memory controller and processing memory transactions for graphics data with the first memory controller such that at least two memory transactions including graphics data and non-graphics data are executed separately by the at least first and second memory controllers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A multiple memory controller computer comprising:
-
at least a first memory controller and at least a second memory controller for controlling a main memory, wherein the first memory controller handles at least graphics data, wherein the second memory controller handles at least non-graphics data, and wherein the first memory controller further comprises at least one configuration register that defines a range of addresses for accelerated graphic transactions; a processor bus connected to the first and second memory controllers such that the first and second memory controllers are indirectly connected to each other via the processor bus; a graphic address remapping table of entries of configurable length, wherein the graphic address remapping table is located in the range of addresses for accelerated graphic transactions, and wherein each entry of the graphic address remapping table indicates a virtual page and a corresponding physical page, and wherein the configurable length of the entries is definable by software; and an accelerated graphics processor connected to the first memory controller via a point-to-point connection that bypasses the processor bus; wherein the second memory controller handles memory transactions associated with non-graphics data; and wherein the first memory controller is configured to analyze a memory transaction to determine whether the memory transaction is associated with graphics data wherein the first memory controller is configured to use the graphic address remapping table located in the range of addresses for accelerated graphic transactions to translate memory transactions associated with graphics data having virtual addresses into physical addresses and to route the memory transactions based on the physical addresses to the accelerated graphics processor via the point-to-point connection such that the memory transactions bypass the processor bus and wherein the first memory controller is further configured to reroute memory transactions that are not associated with graphics data to the second memory controller via the processor bus such that memory transactions including graphics data and non-graphics data are executed separately by each of the first and second memory controllers. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
Specification