Use of a link bit to fetch entries of a graphic address remapping table
First Claim
1. A computer system having a core logic chipset which connects a computer processor and memory to an accelerated graphics port (AGP) processor, said system comprising:
- a system processor executing software instructions and generating graphics data;
a system memory having an addressable memory space comprising a plurality of bytes of storage, wherein each of the plurality of bytes of storage has a unique address;
the software instructions and the graphics data being stored in some of the plurality of bytes of storage of said system memory, wherein the graphics data is stored in a plurality of pages of graphics data, each of the plurality of pages of graphics data comprising a number of the plurality of bytes of storage;
an accelerated graphics port (AGP) processor, said AGP processor generating video display data from the graphics data for display on a video display;
a core logic chipset;
said core logic chipset having a first interface logic for connecting said system processor to said system memory;
said core logic chipset having a second interface logic for connecting said system processor and said system memory to said AGP processor;
said core logic chipset having a cache memory; and
a graphics address remapping table (GART table) having a plurality of entries, each of the plurality of GART table entries comprising an address pointer to a corresponding one of the plurality of pages of graphics data and a link bit for determining if selected ones of the plurality of GART table entries are related;
whereinsaid core logic chipset reads the selected ones of the plurality of GART table entries and stores a first one of the selected ones in said cache memory and determines if the link bit thereof is set, if the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in said cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in said cache memory until one of the link bits thereof is determined not to be set; and
,said core logic chipset uses the selected ones of the plurality of GART table entries stored in said cache memory to point to associated pages of a first portion of the graphics data stored in said system memory, the associated pages of the first portion of the graphics data being read by said core logic chipset and reordered into a contiguous AGP device address space for use by said AGP processor to generate the video display data.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer system having a core logic chipset that functions as a bridge between an Accelerated Graphics Port ("AGP") bus device such as a graphics controller, and a host processor and computer system memory wherein a Graphics Address Remapping Table ("GART table") is used by the core logic chipset to remap virtual memory addresses used by the AGP graphics controller into physical memory addresses that reside in the computer system memory. The GART table enables the AGP graphics controller to work in contiguous virtual memory address space, but actually use non-contiguous blocks or pages of physical system memory to store textures, command lists and the like. The GART table is made up of a plurality of entries, each entry comprising an address pointer to a base address of a page of graphics data in the computer system physical memory, and feature flags that may be used to customize the associated page of graphics data. One of the feature flags is used as a link bit for each GART table entry such that when the core logic chipset reads selected ones of the GART table entries stored in the system memory, it stores a first one of the selected ones in its cache memory and determines if the link bit thereof is set. If the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in the cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in the cache memory until one of the link bits thereof is determined not to be set.
23 Citations
41 Claims
-
1. A computer system having a core logic chipset which connects a computer processor and memory to an accelerated graphics port (AGP) processor, said system comprising:
-
a system processor executing software instructions and generating graphics data; a system memory having an addressable memory space comprising a plurality of bytes of storage, wherein each of the plurality of bytes of storage has a unique address; the software instructions and the graphics data being stored in some of the plurality of bytes of storage of said system memory, wherein the graphics data is stored in a plurality of pages of graphics data, each of the plurality of pages of graphics data comprising a number of the plurality of bytes of storage; an accelerated graphics port (AGP) processor, said AGP processor generating video display data from the graphics data for display on a video display; a core logic chipset; said core logic chipset having a first interface logic for connecting said system processor to said system memory; said core logic chipset having a second interface logic for connecting said system processor and said system memory to said AGP processor; said core logic chipset having a cache memory; and a graphics address remapping table (GART table) having a plurality of entries, each of the plurality of GART table entries comprising an address pointer to a corresponding one of the plurality of pages of graphics data and a link bit for determining if selected ones of the plurality of GART table entries are related;
whereinsaid core logic chipset reads the selected ones of the plurality of GART table entries and stores a first one of the selected ones in said cache memory and determines if the link bit thereof is set, if the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in said cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in said cache memory until one of the link bits thereof is determined not to be set; and
,said core logic chipset uses the selected ones of the plurality of GART table entries stored in said cache memory to point to associated pages of a first portion of the graphics data stored in said system memory, the associated pages of the first portion of the graphics data being read by said core logic chipset and reordered into a contiguous AGP device address space for use by said AGP processor to generate the video display data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer system having a core logic chipset which connects a computer processor and memory to an accelerated graphics port (AGP) bus and a peripheral component interconnect (PCI) bus, said system comprising:
-
a central processing unit connected to a host bus; a random access memory connected to a random access memory bus; a core logic chipset having a cache memory and connected to the host bus and the random access memory bus; said core logic chipset configured as a first interface bridge between the host bus and the random access memory bus, a second interface bridge between the host bus and a first peripheral component interconnect (PCI) bus, and a third interface bridge between the random access memory bus and the first PCI bus; said core logic chipset configured as a fourth interface bridge between the host bus and an accelerated graphics port (AGP) bus; and said core logic chipset configured as a fifth interface bridge between the random access memory bus and the AGP bus;
wherein,said core logic chipset uses a graphics address remapping table (GART table) having a plurality of entries stored in said random access memory, each of the plurality of GART table entries comprising an address pointer to an corresponding one of a plurality of pages of graphics data stored in said random access memory and a link bit for determining if selected ones of the plurality of GART table entries are related; and said core logic chipset reads the selected ones of the plurality of GART table entries stored in said random access memory, wherein said core logic chipset stores a first one of the selected ones in said cache memory and determines if the link bit thereof is set, if the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in said cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in said cache memory until one of the link bits thereof is determined not to be set. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method, in a computer system, of dynamically fetching from the computer system memory the correct number of selected ones of a plurality of graphics address remapping table (GART table) entries to a cache memory, said method comprising the steps of:
-
(a) storing a plurality of graphics data pages in any order in a system memory of a computer system; (b) storing a graphics address remapping table (GART table) having a plurality of entries in the system memory, each of the plurality of GART table entries comprising an address pointer to an associated one of the plurality of graphics data pages stored in the system memory and a link bit used to associate together certain ones of the plurality of GART table entries; (c) reading a selected one of the plurality of GART table entries stored in the system memory; (d) determining if the link bit is set in the selected one read from the system memory; (e) storing the selected one read from the system memory into a cache memory; and (f) repeating steps (c) through (e) by reading a next selected one of the plurality of GART table entries if the link bit is set in the previously read selected one. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A method, in a computer system, of dynamically fetching from the computer system memory the correct number of selected ones of a plurality of graphics address remapping table (GART table) entries to a cache memory for the purpose of remapping random, non-contiguous graphics data pages stored in the system memory into a contiguous graphics device address space, said method comprising the steps of:
-
(a) storing a plurality of graphics data pages in any order in a system memory of a computer system; (b) storing a graphics address remapping table (GART table) having a plurality of entries in the system memory, each of the plurality of GART table entries comprising an address pointer to an associated one of the plurality of graphics data pages stored in the system memory and a link bit used to associate together certain ones of the plurality of GART table entries; (c) reading a selected one of the plurality of GART table entries stored in the system memory; (d) determining if the link bit is set in the selected one read from the system memory; (e) storing the selected one read from the system memory into a cache memory; (f) repeating steps (c) through (e) by reading a next selected one of the plurality of GART table entries if the link bit is set in the previously read selected one; and (g) reading the graphics data pages stored in system memory in the order of the selected ones of the plurality of GART table entries stored in the cache memory, wherein the graphics data pages read are translated to a contiguous graphics device address space. - View Dependent Claims (39, 40)
-
-
41. A core logic chipset adapted for connection to a computer processor and memory, an accelerated graphics port (AGP) bus and a peripheral component interconnect (PCI) bus, comprising:
-
an accelerated graphics port (AGP) request queue; an AGP reply queue; an AGP data and control logic; an AGP cache memory; an AGP arbiter; a host to peripheral component interconnect (PCI) bridge; a PCI to PCI bridge; a memory interface and control logic adapted for connection to a computer system random access memory; and a host bus interface adapted for connection to a computer system host bus having at least one central processing united connected thereto;
wherein,said AGP request and reply queues are connected to said memory interface and control logic; said AGP data and control logic is connected to said memory and interface control logic; said AGP data and control logic is connected to a host bus interface; said host to PCI bus bridge is connected to said host bus interface and adapted for connection to a computer system PCI bus; said PCI to PCI bridge connected to said AGP data and control logic, wherein said PCI to PCI bridge transfers PCI information transactions between said Host to PCI bus bridge and said AGP data and control logic; said AGP data and control logic and said AGP arbiter adapted for connection to an AGP bus having an AGP device;
wherein,said AGP data and control logic is adapted to use a graphics address remapping table (GART table) having a plurality of entries, each of the plurality of entries comprising an address pointer to a one of a plurality of pages of graphics data in the computer system random access memory and a link bit for determining if selected ones of the plurality of GART table entries are associated together; and said AGP data and control logic adapted to read the selected ones of the plurality of GART table entries stored in the computer system random access memory, wherein said AGP data and control logic stores a first one of the selected ones in said AGP cache memory and determines if the link bit thereof is set, if the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in said AGP cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in said AGP cache memory until one of the link bits thereof is determined not to be set.
-
Specification