Method for implementing a graphic address remapping table as a virtual register file in system memory
First Claim
Patent Images
1. A method for executing transaction requests from a memory requester in a computer system having a system memory, the method comprising:
- storing a remapping table in the system memory, the remapping table including virtual registers each storing a pointer that references a target location in the system memory;
receiving from the memory requester a transaction request that includes a requested virtual address;
converting the requested virtual address to a physical address of a selected one of the virtual registers of the remapping table;
accessing a selected target location using the pointer stored in the selected virtual register;
storing in an index register an index that references the selected virtual register of the remapping table;
storing in a data register the pointer that references the selected memory location in the system memory; and
writing the pointer stored in the data register to the selected virtual register, using the index stored in the index register.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for implementing a graphics address remapping table as a virtual register in system memory. The remapping table includes virtual registers that each store a target index that references a block of the system memory that stores graphics data. The method uses an indirect addressing scheme that enables the individual virtual registers of the remapping table to be accessed in response to a transaction request. Accessing a selected virtual register indirectly requested by the transaction request enables the method to access graphics data pointed to by the selected virtual register.
47 Citations
15 Claims
-
1. A method for executing transaction requests from a memory requester in a computer system having a system memory, the method comprising:
-
storing a remapping table in the system memory, the remapping table including virtual registers each storing a pointer that references a target location in the system memory;
receiving from the memory requester a transaction request that includes a requested virtual address;
converting the requested virtual address to a physical address of a selected one of the virtual registers of the remapping table;
accessing a selected target location using the pointer stored in the selected virtual register;
storing in an index register an index that references the selected virtual register of the remapping table;
storing in a data register the pointer that references the selected memory location in the system memory; and
writing the pointer stored in the data register to the selected virtual register, using the index stored in the index register.
-
-
2. The method of claim 2, further comprising:
storing a remapping table index that points to a reference location of the remapping table, wherein the converting step includes combining the remapping table index with a first portion of the requested virtual address to obtain the physical address of the selected virtual register. - View Dependent Claims (4, 5)
-
3. The method of claim 3, further comprising:
using a second portion of the requested virtual address, together with the pointer stored in the selected virtual register, to access the selected target location in the system memory.
-
6. A method for executing transaction requests in a computer system having a system memory, the method comprising:
-
receiving a request to load selected data into the system memory;
storing the selected data in a selected memory block of the system memory, the selected memory block having a target index that points to a reference location of the selected memory block;
storing the target index in a selected virtual register of a remapping table stored in the system memory;
receiving a transaction request that includes a requested virtual address, the requested virtual address including a virtual register pointer that points to the selected virtual register within the remapping table and a target offset that points to a selected target location within the selected memory block;
accessing the selected virtual register using the virtual register pointer and obtaining the target index stored therein; and
accessing the selected target location using the target index and the target offset; and
wherein the step of storing the target index in the selected virtual register comprises;
storing in an index register the virtual register pointer that points to the selected virtual register within the remapping table;
storing in a data register the target index that points to the reference location of the selected memory block; and
writing the target stored in the data register to the selected virtual register, using the virtual register pointer stored in the index register. - View Dependent Claims (7, 8)
storing a remapping table index that points to a reference location of the remapping table, wherein the step of accessing the selected virtual register includes combining the remapping table index with the virtual register pointer to obtain a physical address of the selected virtual register.
-
-
8. The method of claim 6 wherein the step of receiving the transaction request includes receiving the transaction request from a graphics controller, the remapping table is a graphics address remapping table, and the selected data includes graphics data for use by the graphics controller.
-
9. A method for executing transaction requests in a computer system having a system memory, the method comprising:
-
receiving a request to load selected data into the system memory;
storing the selected data in a selected memory block of the system memory, the step of storing the selected data in the selected memory block including storing the selected data in a memory page, the selected memory block having a target index that points to a reference location of the selected memory block, the reference location of the selected memory block being a first memory location of the memory page;
storing the target index in a selected virtual register of a remapping table stored in the system memory;
receiving a transaction request that includes a requested virtual address, the requested virtual address including a virtual register pointer that points to the selected virtual register within the remapping table and a target offset that points to a selected target location within the selected memory block, the target offset being an offset relative to the first memory location of the memory page;
accessing the selected virtual register using the virtual register pointer and obtaining the target index stored therein; and
accessing the selected target location using the target index and the target offset.
-
-
10. A method for managing memory in a computer system having a system memory and a system controller that controls the system memory, the method comprising:
-
receiving a request to load selected data into the system memory;
storing the selected data in a selected memory block of the system memory, the selected memory block having a target index that points to a reference location of the selected memory block;
storing the target index in a data register of the system controller;
storing a virtual register offset in an index register of the system controller, the virtual register offset referencing a selected virtual register in the system memory;
transferring the target index from the data register to the selected virtual register referenced by the virtual register offset stored in the index register. - View Dependent Claims (11, 12, 13, 14, 15)
receiving from a memory requester a transaction request that includes a requested virtual address;
converting the requested virtual address to a physical address of the selected virtual register; and
accessing a selected target location using the target index stored in the selected virtual register.
-
-
12. The method of claim 11 wherein the selected virtual register is one of a plurality of virtual registers in a remapping table and the requested virtual address includes the virtual register offset, the method further comprising:
storing a remapping table index that points to a reference location of the remapping table, wherein the converting step includes combining the remapping table index with the virtual register offset of the requested virtual address to obtain the physical address of the selected virtual register.
-
13. The method of claim 11 wherein the requested virtual address includes a target offset and the step of accessing the selected target location includes using the target offset and the target index to access the selected target location.
-
14. The method of claim 13 wherein the step of receiving the transaction request includes receiving the transaction request from a graphics controller, the remapping table is a graphics address remapping table, and the selected data includes graphics data for use by the graphics controller.
-
15. The method of claim 12 wherein the step of storing the selected data in the selected memory block includes storing the selected data in a memory page and the reference location of the selected memory block is a first memory location of the memory page.
Specification