intel 945G, 945GM Information Manual

R
Intel® 945G/945GM Express Chipset
®
Intel
Dynamic Video Memory
Technology (DVMT) 3.0
June 2005
Document Number: 307508-001
R
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications.
®
The Intel published specifications. Current characterized errata are available on request. Intel may make changes to specifications and product descriptions at any time, without notice.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your produ ct order. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others. Copyright © 2005, Intel Corporation
945G and 945GM Express chipsets may contain design defects or errors known as errata, which may cause the product to deviate from
2 White Paper
R
Contents
1
Introduction .........................................................................................................................7
1.1 Purpose..................................................................................................................7
1.2 Scope .....................................................................................................................7
1.3 Acronyms................................................................................................................7
2 Overview.............................................................................................................................9
2.1 Dynamic Video Memory Technology (DVMT)........................................................9
2.2 Memory Allocation Methods...................................................................................9
2.2.1 Pre-Allocated Memory ............................................................................ 9
2.2.2 Fixed Memory.......................................................................................10
2.2.3 ”Fixed” + “Dynamic Video Memory Technology (DVMT)” Memory...... 10
2.2.4 “Maximum Dynamic Video Memory Technology (DVMT)” Memory..... 10
2.3 Graphics Memory Map.........................................................................................11
2.3.1 Graphics Aperture................................................................................. 11
2.3.2 Intel® Smart 2D Display Technology.....................................................12
3 Dynamic Video Memory Technology (DVMT) 3.0 Graphics Memory Footprint................13
3.1 Factors in Footprint Variance............................................................................... 13
3.2 Base Allocations................................................................................................... 13
4 Driver Initialization.............................................................................................................15
4.1 Driver Components...............................................................................................15
4.1.1 System Management Interface.............................................................15
4.1.2 Video Miniport.......................................................................................15
4.1.3 Graphics Memory Manager..................................................................15
4.2 Initialization Steps.................................................................................................15
5 System BIOS Usage Model ..............................................................................................17
5.1 System BIOS Configurations................................................................................17
5.2 Upgrade/Downgrade of System Memory.............................................................18
6 Reported Video Memory...................................................................................................19
6.1 Video BIOS POST Message................................................................................19
6.2 System BIOS POST Message .............................................................................19
6.3 Microsoft Windows* 2000 and Windows* XP Operating Systems “Display
Adapter” Property Page........................................................................................19
Tables
Table 3-1. Maximum Graphics Memory Allocations......................................................... 14
Table 5-1. SBIOS Configuration Options..........................................................................17
Table 5-2. Example of an SBIOS Memory Table..............................................................18
White Paper 3
Figures
Figure 2-1. Memory Allocation Methods...........................................................................11
Figure 2-2. Graphics Memory Map...................................................................................12
Figure 4-1. Display Architecture for Microsoft Windows* 2000 and Later........................16
R
4 White Paper
R
Revision History
Revision Description Date
1.0
Initial Release
June 2005
§
White Paper 5
R
6 White Paper

Introduction

R
1 Introduction
1.1 Purpose
The purpose this document is to describe the memory allocation and usage model scenarios of an
®
Intel
Graphics Driver feature, Dynamic Video Memory Technology (DVMT) for the
®
Intel
945G/945GM Express chipsets. This document will provide details on how DVMT works, configurability options available to the OEM and descriptions of what to expect in certain scenarios of DVMT 3.0.
1.2 Scope
This document is intended for readers with an understanding of graphics driver architecture and an understanding of the feature set corresponding to the 945G/945GM Express chipsets.
1.3 Acronyms
Acronym Description
DLL Dynamic Link Library
DVMT Dynamic Video Memory Technology
FBC Frame Buffer Compression
GMM Graphics Memory Manager
GTT Graphics Translation Table GW Game Width
IOCTL I/O Control Packets
SBIOS System Basic Input Output Service
SMI Services Management Interrupt TLB Translation Lookaside Buffer VBT Video BIOS Table
§
White Paper 7
Introduction
R
8 White Paper

Overview

R
2 Overview

2.1 Dynamic Video Memory Technology (DVMT)

Dynamic Video Memory Technology (DVMT) is an enhancement of the Unified Memory Architecture (UMA) concept, wherein the optimum amount of memory is allocated for balanced graphics and system performance. DVMT ensures the most efficient use of available memory – regardless of frame buffer or main memory size – for balanced 2D/3D graphics performance and system performance. DVMT dynamically responds to system requirements and applications’ demands, by allocating the proper amount of display, texturing and buffer memory after the operating system has booted. For example, a 3D application when launched may require more vertex buffer memory to enhance the complexity of objects or more texture memory to enhance the richness of the 3D environment. The operating system views the Intel Graphics Driver as an application, which uses Direct AGP to request allocation of additional memory for 3D applications, and returns the memory to the operating system when no longer required.

2.2 Memory Allocation Methods

2.2.1 Pre-Allocated Memory
The Intel® 945G/945GM Express chipsets support the selection of two different sizes of pre­allocated memory: 1 MB and 8 MB. This amount is chosen via the system BIOS setup as a setup option. OEMs may choose to have this amount fixed via SBIOS and not expose this option in the CMOS setup. This pre-allocated memory selection is supplied for legacy VGA and SVGA graphics support and compatibility.
Upon boot, the System BIOS will pre-allocate the amount selected (1 MB or 8 MB) from the top of the main system memory, which will be dedicated for VGA/SVGA graphics. An example of when VGA graphics memory is needed includes usage for high-resolution games and applications run from a Microsoft MS-DOS* or legacy operating system, where there is no Intel Graphics Driver loaded. Pre-allocated memory is not visible or accessible by the operating system, but only by the graphics driver. The 945G/945GM Express Chipset integrated graphics devices will treat this memory as dedicated graphics memory. If an operating system is booted with an Intel Graphics Driver loaded, the graphics driver will then reclaim the pre-allocated memory for use, but the operating system may never use this memory, and it is not available to applications except as graphics memory.
Note: The BIOS pre-allocates memory that the OS is not aware of, nor is the OS capable of reclaiming
this memory. The Intel Graphics Driver requests allocation of memory, from the OS, through OS supported memory allocation methods.
Note: Intel
Note: High Resolution Splash Screen support also requires at least 8 MB of pre-allocated memory.
White Paper 9
®
Smart 2D Display Technology (Intel® S2DDT) is one of the methods of additional power conservation for mobile systems and requires at least 8 MB of pre-allocated memory.
Overview
2.2.2 Fixed Memory
Fixed is a memory allocation method addition to the Unified Memory Architecture (UMA) concept, wherein a static amount of page-locked graphics memory is allocated during driver initialization. This fixed amount will provide the total amount of graphics memory available to the system and is intended to provide the user with a guaranteed amount of graphics memory at all times. Once the fixed amount is allocated during OS boot and driver initialization, this system memory amount will no longer be available to the OS. However, the OS will still report total system memory as including this allocated amount (as opposed to pre-allocated).
Dynamic Video Memory Technology (DVMT)
DVMT is an enhancement of the UMA concept, wherein the graphics driver allocates memory as needed for running graphics applications. The graphics driver is cooperatively using this memory with other system components. If a user is not performing any graphics-intensive operations, most of the DVMT memory can be utilized by the operating system for other uses. In an environment where the user is unlikely to run games that require a large amount of memory, the memory will be available for other uses such as database applications etc. In an environment where the user is playing games or may not run any data intensive non-graphics applications, the memory will automatically be used to optimize the graphics. Intel recommends u s ing the DVMT setting for better overall system performance.
R

2.2.3 ”Fixed” + “Dynamic Video Memory Technology (DVMT)” Memory

“Fixed” + “DVMT” is a memory allocation in addition to the UMA concept, wherein a static amount of page-locked graphics memory is allocated during driver initialization and an additional amount of DVMT graphics memory is allocated and de-all ocat ed base d up o n system need. This new memory allocation addition provides guaranteed amount of graphics memory while providing the capability to scale the amount of available graphics memory to a higher amount needed by applications (up to the maximum supported by the GMCH and system memory installation – see table below). This allocation method, Fixed + DVMT, allows for the static allocation of memory to guarantee a minimum amount over that which is pre-allocated and also allows for a more balanced system performance versus the Fixed only allocation method.

2.2.4 “Maximum Dynamic Video Memory Technology (DVMT)” Memory

“Maximum DVMT” is an enhancement of the UMA concept, wherein the graphics driver dynamically allocates the maximum amount of memory possible for graphic intensive applications that may need more than the usual 128 MB of graphics memory. The maximum amount memory that can possibly be allocated when using this option is 224 MB. This maximum memory allocation will only occur if the application demands it otherwise the memory is available for non-graphics purposes. Please refer to the Table 3-1 an d Tabl e 5- 1 t o dete rmine the correct usage for better overall graphics performance
10 White Paper
Overview
A
A
A
R
Figure 2-1. Memory Allocation Methods
Total
System
Memory
OS &
pplications
Total
Graphics
Memory
Fixed
Pre-Allocated

2.3 Graphics Memory Map

The graphics memory map provides a description of the main components necessary for the implementation of DVMT Technology. Some of the main concepts that help to understand DVMT include Graphics Aperture, Graphics Translation Table and how these concepts relate to other features of the Intel Graphics Driver. Please see Figure 2-1, for more details.
OS &
pplications
Dynamic Video
Memory
Technology
(DVMT)
Pre-Allocated
OS &
pplications
DVMT
Fixed
Pre-Allocated
2.3.1 Graphics Aperture
The graphics aperture is a contiguous virtual memory space where the Intel Graphics Driver will initiate access to the graphics memory. Not only will the graphics aperture provide a central location to access the graphics memory, but it also describes the total amount of graphics memory available to the system.
White Paper 11
Overview
2.3.2 Intel® Smart 2D Display Technology
A power conservation feature that is prevalent with DVMT is what is known as Intel® Smart 2D Display Technology (Intel frame buffer display by using the minimum amount of the buffer needed to generate the display image. Due to the optimization of the frame buffer space, the quantity of read events across the memory bus is then decreased. The reduction of memory reads allows for an increase in system performance and a decrease in power consumption by the chipset, which in turn provides extended battery life to the end user.
Figure 2-2. Graphics Memory Map
®
S2DDT). Intel S2DDT is a feature that allows for optimization of the
Address Space
Graphics Translation Table (GTT)
R
4 Bytes
Contiguous Graphics Aperture
Top of Memory
4 - KB Page
1 MB
Page Locked
Pages
§
12 White Paper
Dynamic Video Memory Technology (DVMT) 3.0 Graphics Memory Footprint
R
3 Dynamic Video Memory
Technology (DVMT) 3.0 Graphics Memory Footprint
Upon operating system initialization, the Intel Graphics Driver determines the size of memory needed and will make additional memory requests to achieve the amount needed for the display and application graphics memory operational footprint.

3.1 Factors in Footprint Variance

The Intel® 945G/945GM Express Chipsets UMA memory footprint is determined using several factors. It varies widely depending on several key factors. The key factors are system resources and system activity. The 945G/945GM Express Chipsets memory footprint will vary in size if and only if the defined memory allocation method is dynamic. For example, when running a DVD in a window on the desktop then memory is needed for the DVD and the background desktop, but when running a DVD full screen then the desktop frame-buffer may be discarded, or allowed to be paged back to disk. This is the most efficient memory utilization.
A DVD is just one of many activities that could effect memory allocation. This section will describe some of the factors that aid in the request made to the OS for page locked memory. The OS does not always grant Graphics driver’s memory request.
3.2 Base Allocations
Part of the Graphics memory allocation is independent of system activity. These are base allocations that the driver request at the time it loads. For the 945G/945GM Express chipset platforms, the driver allocates memory for driver internal resources such as command ring buffer and cursor/context on all operating systems.
Once loaded, the operating system and Graphics driver allocates the buffers that the driver needs for performing Graphics operations. The total Graphics footprint allocates memory for commands, the frame buffer (resolution), the Z-buffer, GDI data and off-screen memory.
The total graphics footprint in system memory is capped to an upper-limit ensuring the best usability and performance of the OS, Applications and Graphics. The memory allocation limits are documented in Figure 2-1.”
White Paper 13
Dynamic Video Memory Technology (DVMT) 3.0 Graphics Memory Footprint
Table 3-1. Maximum Graphics Memory Allocations
Maximum Memory Allocated for Graphics System Memory
Fixed DVMT Fixed + DVMT
0 MB – 127 MB Not Supported; Not Validated Not Supported; Not
Validated
128 MB – 255 MB 64 MB 64 MB Not Supported; Not
256 MB – 511 MB 128 MB 128 MB 64 MB + 64 MB 512 MB – Max
Memory
128 MB “Maximum DVMT” 64 MB + 64 MB
Not Supported; Not
In the following scenarios formulas will be given to help calculate what the driver may request for Graphics memory.
Note: The driver utilizes pre-allocated memory before it makes request to the OS and the memory
calculated below is in addition to the 204 KB that is allocated once the driver is loaded.
§
R
Validated
Validated
14 White Paper

Driver Initialization

R
4 Driver Initialization
4.1 Driver Components
The steps needed to initialize the graphics memory subsystem for Intel Graphics Driver include different interfaces and touch many different components. Some of the main components needed for this task include SMI and IOCTL interface while touching GDI, miniport and SBIOS components.
4.1.1 System Management Interface
The System Management Interface (SMI) is a pre-defined interface required to be used with the Intel Graphics Driver. The SMI interface provides a standardized interface for both the SBIOS and driver to interact. This allows for the graphics driv er and SBIOS to be synchronized with any events that may occur within the system. Please see SMI Specification for m ore details.
4.1.2 Video Miniport
The video miniport driver is a component of the Intel Graphics Driver that is responsible for memory mapping, resource management and I/O management. This component provides the interface through which the Graphics Memory Manager will request allocation and de-allocation of graphics memory. Please see Figure 4-1 below for more details.

4.1.3 Graphics Memory Manager

The Graphics Memory Manager (GMM) is a component in which provides all other graphics driver components the ability to access the graphics memory through a pre-defined interface. Due to the capability of the GMM to touch many of the driver components, it is the GMM components responsibility to allocate and free all memory blocks requested by the driver.
The GMM is physically a separate Dynamic Link Library (DLL), but is logically a subcomponent of each driver entity. This provides increased flexibility and compatibility by providing a standard interface for all components to access
4.2 Initialization Steps
1. The GDI driver will initiate the request for driver initialization. The GDI driver initiates an
I/O request, which in turn generates an IOCTL through the I/O Manager of the OS to continue the memory initialization.
2. System BIOS receives initialization request via SMI function call provided by the miniport.
The SBIOS is then responsible for returning the Pre-allocated memory and driver allocated memory configuration that the user has defined.
3. GMM will then initialize the GTT for creation of the TLB needed to access the graphics
memory.
Note:
1. GTT Initialization occurs during miniport initialization routine.
2. If the requested driver allocated memory configuration is “Fixed”, the total graphics memory
will be allocated during driver initialization.
White Paper 15
Driver Initialization
Figure 4-1. Display Architecture for Microsoft Windows* 2000 and Later
Application
Microsoft Wi n32* Operating System (inc l udi ng GDI32)
Video Port
Graphics Engine (GDI)
R
User Mode
Kernel Mode
DDI
Calls
Display Driver
Engine
Calls
Video Adapter
Video Port
Video Miniport
§
16 White Paper

System BIOS Usage Model

R
5 System BIOS Usage Model
Before driver initialization of the graphics memory subsystem is complete, the OEM must define the memory configuration they wish to enable and provide this appropriate information back to the driver.
5.1 System BIOS Configurations
The SBIOS configurations allows for flexibility in validating and providing many of the me mory configurations that are available. The implementation specifics on how OEM’s wish to select their memory configuration will be SBIOS dependent. Below is a list of the different memory configurations that are available.
Table 5-1. SBIOS Configuration Options
SBIOS Options
Pre-Allocated
Memory
Fixed DVMT Fixed + DVMT
System Memory
1 MB(1) 32 MB 32 MB NA 128 MB
8 MB 32 MB 32 MB NA 128 MB
1 MB(1) 64 MB 64 MB NA 256 MB
128 MB 128 MB 64 MB + 64 MB 256 MB
8 MB 64 MB 64 MB NA 256 MB
128 MB 128 MB 64 MB + 64 MB 256 MB
1 MB(1) 64 MB 64 MB NA 512 MB
128 MB 128 MB 64 MB + 64 MB 512 MB NA “Maximum DVMT” NA 512 MB
8 MB 64 MB 64 MB NA 512 MB
128 MB 128 MB 64 MB + 64 MB 512 MB
NA “Maximum DVMT” NA 512 MB
NOTES:
®
1. Intel
2. DVMT 3.0 Default SBIOS Configurations
3. When the “Maximum DVMT” option is selected via the system BIOS, the following values will be
Smart 2D Display Technology is not supported with 1 MB pre-allocated memory.
Pre-Allocated Memory default value w ill be set to 8 MB
Driver default for system memory configurations less than 256 MB will be set to a total of 32
MB DMVT
Driver default for system memory configurations greater than or equal to 256 MB will be set to
128 MB DVMT
reported within the CUI for the Maximum Graphics Memory amount:
For System Memory greater than or equal to 512 MB, the Maximum Graphics Memory
reported will be 224 MB
White Paper 17
System BIOS Usage Model

5.2 Upgrade/Downgrade of System Memory

An issue arises with potential of an end user removing or adding system memory to their system. This brings up the question, “What memory configuration should be set?” A potential solution for this issue is to have SBIOS populate a static table containing system memory size, pre-allocated memory size and driver allocated memory size. This solution would allow the SBIOS to pre­define their configurations for their specific platforms and would allow for a seamless transition for the end user. For example, an end user originally purchased their system with 256 MB of system memory. The end-user decides to remove a “stick” of memory for testing purchases and now has a total of 128 MB of system memory. Upon boot of the system, the pre-allocated memory size previously used for the 256 MB system memory configuration is once again enabled, but if the previous driver allocated memory size is not an allowable configuration (e.g., 64-MB DVMT) the SBIOS should return a valid configuration (i.e., 32-MB Fixed or 32-MB DVMT). This solution also allows customers the flexibility to ship multiple memory configurations from the same factory line.
Note: The driver will set the default configuration for all system memory configurations if and only if
the configuration returned by SBIOS is invalid. The example provided above is only one of many possible solutions. The SBIOS vendor has the ability to provide any mechanism they desire.
Table 5-2. Example of an SBIOS Memory Table
R
System Memory Size Pre-Allocated Memory
Size
128 MB 1 MB 31 MB DVMT 256 MB 1 MB 63 MB DVMT 384 MB 1 MB 63 MB Fixed 512 MB 1 MB 63 MB Fixed + 64 MB DVMT
Driver Allocated Memory
The above table depicts the information that SBIOS would potentially like to define for all of their system configurations.
§
18 White Paper

Reported Video Memory

R
6 Reported Video Memory
In systems using an Intel Direct AGP chipset, such as the Intel® 945G/945GM Express chipsets with Intel Display Drivers, end users will be presented with various messages/displays concerning “video memory size”. This section describes the messages displayed by the operating system, video BIOS and driver.

6.1 Video BIOS POST Message

Users may first be presented with “video memory size” messaging in the video BIOS “splash” or “boot” message. This message displays the amount of main system memory that will be used solely for video BIOS purposes. DOS, for example, will use only this memory for display. Video BIOS will use 1 MB or 8 MB, based on system BIOS settings. From the operating system perspective, this memory is logically removed from the system so that it is invisible (for example, a 128-MB system using an 8-MB setting in system BIOS will report 120 MB of TOTAL system memory). This is the pre-allocated memory already mentioned in section 2.2.1.

6.2 System BIOS POST Message

During POST, some system BIOS displays the amount of Local Memory installed in the system. This may be 1 MB or 8 MB depending on pre-allocated memory.
6.3 Microsoft Windows* 2000 and Windows* XP Operating Systems “Display Adapter” Property Page
Microsoft Windows* 2000 and Windows* XP operating systems contain a standard display property page that is displayed when the “Adapter” tab (with NO icon) is selected. This page displays the maximum amount of local, frame-buffer memory possible by the Graphics device. This page will show 32 MB, 64 MB or 128 MB, depending on how much memory you have in the system and what the OEM has defined as their graphics memory configuration. See Table 3-1 for memory requirements.
§
White Paper 19
Loading...