Browse Prior Art Database

PCI-Express Graphics Memory Linearizer on Graphics Card for Fast and Contiguous Access to the System Memory

IP.com Disclosure Number: IPCOM000021244D
Publication Date: 2004-Jan-07
Document File: 4 page(s) / 140K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that uses PCI-Express graphics to provide a linear address view to the graphics card. Benefits include reserving and storing large amounts of memory inside the system memory, and accessing it rapidly.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 48% of the total text.

PCI-Express Graphics Memory Linearizer on Graphics Card for Fast and Contiguous Access to the System Memory

Disclosed is a method that uses PCI-Express graphics to provide a linear address view to the graphics card. Benefits include reserving and storing large amounts of memory inside the system memory, and accessing it rapidly.

Background

Currently, AGP technology graphics cards use system memory for storing graphics commands, large amount of texture data and bitmaps. The memory required by the graphics cards is usually 256 MB, with high-end workstations requiring memory in excess of 1GB. Having contiguous memory for this purpose aids in graphics performance. Since it is not possible to reserve a large enough amount of contiguous memory to accommodate this huge requirement, AGP uses a scatter-gather technique called Graphics Address Remapping Table (GART). GART is shown in Figure 1.

The graphics card’s view is a large contiguous memory, called AGP aperture. However, there is no real memory behind the aperture, and the pages indicated by it are actually mapped in the real system memory. The chipset uses translation circuitry and a mapping table, which enables access to the real pages.

General Description

The following sections outline the major elements of the disclosed method:

PCI-Express Graphics

PCI-Expressprovides a fast serial link to the graphics card. A link of x16 width, consisting of 16 lanes provides double the bandwidth of the fastest AGP technology available today. A typical PCI-Express based system with x16 link for graphics is shown in Figure 2.

Graphics Memory Linearizer

This technology involves allocating a contiguous memory called Graphics RAM (GRAM), which is analogous to the AGP aperture in system address space. However, there is no real physical memory behind this address range. This is the memory as seen by the graphics adapter for the addresses originating in it. The operating system allocates this memory as pages scattered all over the system memory, wherever it can find space. The technique which makes it possible to access these physical pages consists of two parts:

§         Graphics Memory Page (GMP) Table (corresponding to GART in AGP) and associated driver

§         Graphics RAM Translator - Run-time support circuitry which dynamically accesses the GMP Table.

GMP Table

The Graphics Memory Page (GMP) table is an address translation table, corresponding to the GART in AGP. This table holds the addresses of the physical memory allocated by the OS (see Figure 3). The size of this table depends on the size of the GRAM allocated. Assuming 4K page size and 32 bit addressing, a 256MB GRAM would require a GMPtable of 256KB. It is not uncommon for even a low-end graphics adapter to have on-board memory in the range of 64MB hence the GMPTable can be easily accommodated.

Graphics RAM Translator

The input to the GRAM Translator is the GRAM addresses that the graphics card requires (see Figure 4). The translator takes these contiguous add...