Generating an error signal when accessing an invalid memory page
First Claim
1. A computer 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 said plurality of bytes of storage has a unique address;
said software instructions and said graphics data being stored in some of said plurality of bytes of storage of said system memory, wherein said graphics data is stored in a plurality of pages of graphics data, each of said plurality of pages of graphics data comprising a number of said plurality of bytes of storage;
an accelerated graphics port (AGP) processor generating video display data from said graphics data and adapted for connection to a video monitor to display said video display data;
a first interface logic for connecting said system processor to said system memory;
a second interface logic adapted for connecting said system processor and said system memory to input-output devices;
a third interface logic for connecting said system processor and said system memory to said AGP processor;
a graphics address remapping table (GART table) having a plurality of entries, each of said plurality of GART table entries comprising an address pointer to a first byte address of a corresponding one of said plurality of pages of graphics data and a present bit for determining if said corresponding one of said plurality of pages of graphics data has been reserved for graphics data; and
said third interface logic reading selected ones of said plurality of GART table entries, wherein said third interface logic determines from said present bit in each one of said selected ones of said plurality of GART table entries if said corresponding one of said plurality of pages of graphics data has been reserved for graphics data;
wherein,if said corresponding one of the plurality of pages of graphics data has been reserved for graphics data then said third interface logic performs a transaction with said system memory; and
if said corresponding one of the plurality of pages of graphics data has not been reserved for graphics data then said third interface logic generates a system error signal.
3 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 memory, and feature flags that may be used to customize the associated page. One of the feature flags is used as a Present Bit for a corresponding memory page. When the feature flag Present Bit is set, the memory page has been reserved in the physical memory for graphics data and an address translation may be carried out. When the feature flag Present Bit is clear, the memory page has not been reserved for graphics data in the physical memory and a determination must then be made whether to perform the translation or generate an error signal to the computer processor.
-
Citations
47 Claims
-
1. A computer 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 said plurality of bytes of storage has a unique address; said software instructions and said graphics data being stored in some of said plurality of bytes of storage of said system memory, wherein said graphics data is stored in a plurality of pages of graphics data, each of said plurality of pages of graphics data comprising a number of said plurality of bytes of storage; an accelerated graphics port (AGP) processor generating video display data from said graphics data and adapted for connection to a video monitor to display said video display data; a first interface logic for connecting said system processor to said system memory; a second interface logic adapted for connecting said system processor and said system memory to input-output devices; a third interface logic for connecting said system processor and said system memory to said AGP processor; a graphics address remapping table (GART table) having a plurality of entries, each of said plurality of GART table entries comprising an address pointer to a first byte address of a corresponding one of said plurality of pages of graphics data and a present bit for determining if said corresponding one of said plurality of pages of graphics data has been reserved for graphics data; and said third interface logic reading selected ones of said plurality of GART table entries, wherein said third interface logic determines from said present bit in each one of said selected ones of said plurality of GART table entries if said corresponding one of said plurality of pages of graphics data has been reserved for graphics data;
wherein,if said corresponding one of the plurality of pages of graphics data has been reserved for graphics data then said third interface logic performs a transaction with said system memory; and if said corresponding one of the plurality of pages of graphics data has not been reserved for graphics data then said third interface logic generates a system error signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system having a core logic chipset which connects a computer processor and memory to an accelerated graphics port (AGP), 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 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; said core logic chipset configured as a second interface bridge between the host bus and an accelerated graphics port (AGP) bus; and said core logic chipset configured as a third 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 a corresponding one of a plurality of pages of graphics data stored in said random access memory and a present bit for determining if the corresponding one of the plurality of pages has been reserved as graphics data; 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 determines from said present bit in each one of the selected ones of the plurality of GART table entries if the corresponding one of the plurality of pages has been reserved for graphics data;
wherein,if the corresponding one of the plurality of pages has been reserved for graphics data then said core logic chipset performs a transaction with said random access memory; and if the corresponding one of the plurality of pages has not been reserved for graphics data then said core logic chipset generates a system error signal. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method, in a computer system, of determining if pages in the computer system main memory have been reserved for graphics data by examining a present bit of selected ones of a plurality of graphics address remapping table (GART table) entries and then deciding whether to access the pages or generate a system error signal, said method comprising the steps of:
-
storing a plurality of pages of graphics data in any order in a main memory of a computer system; storing a graphics address remapping table (GART table) having a plurality of entries in the main memory, each of the plurality of GART table entries comprising an address pointer to corresponding ones of the plurality of pages of graphics data stored in the main memory and a present bit indicating whether the corresponding ones have been reserved for graphics data; reading a selected one of the plurality of GART table entries stored in the main memory; determining if the present bit is set in the selected one of the plurality of GART table entries read from the main memory; and generating a system error signal if the present bit is not set;
otherwise,accessing the corresponding one of the plurality of pages of graphics data stored in the main memory if the present bit is set. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A core logic chipset adapted for connecting a computer processor and memory to an accelerated graphics port (AGP) bus, comprising:
-
an accelerated graphics port (AGP) request queue; an AGP reply queue; an AGP data and control logic; an AGP arbiter; 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 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 corresponding one of a plurality of pages of graphics data stored in the computer system random access memory and a present bit for determining if the corresponding one of the plurality of pages has been reserved for graphics data; and said AGP data and control logic is 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 determines from said present bit in each one of the selected ones of the plurality of GART table entries if the corresponding one of the plurality of pages has been reserved for graphics data;
wherein,if the corresponding one of the plurality of pages has been reserved as graphics data then said AGP data and control logic is adapted to perform a transaction with the computer system random access memory; and if the corresponding one of the plurality of pages has not been reserved as graphics data then said AGP data and control logic is adapted to generate a system error signal. - View Dependent Claims (43, 44, 45, 46, 47)
-
Specification