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.
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.
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 preallocated 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
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 predefine 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.
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...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.