PCI Express FAQ for Graphics - 1

PCI Express FAQ for Graphics

WinHEC 2004 Version - April 12, 2004

Abstract

This paper provides information about PCI Express Graphics for the Microsoft® Windows® family of operating systems. It answers some frequently asked questions from independent hardware vendors.

This information applies for the following operating systems:
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows Server™ 2003
Next client version of Microsoft Windows, codenamed “Longhorn”

The current version of this paper is maintained on the Web at:

Contents

PCI Express

PCI Express Graphics

Frequently Asked Questions

References

Disclaimer

This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred.

© 2004 Microsoft Corporation.All rights reserved.

Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

PCI Express

PCI Express (PCIe) is a new I/O bus technology that, over time, will replace Peripheral Component Interconnect (PCI), PCI-X, and Accelerated Graphics Port (AGP).By providing advanced features and increased bandwidth, PCIe addresses many of the shortcomings of PCI, PCI-X, and AGP. PCIe retains full software compatibility with PCI Local Bus Specification 2.3, and it replaces the parallel multidrop bus architecture of PCI and PCI-X with a serial, point-to-point connection bus architecture.

Two PCIe devices are connected by a link, and each link is made up of one or more lanes.Each lane consists of two low-voltage, differential signal pairs carrying 2.5 Gbps of traffic in opposite directions.One pair is used for transmitting, and the other pair is used for receiving.To further increase the bandwidth of a link, multiple lanes can be placed in parallel (x1, x2, x4, x8, x12, x16, or x32 lanes) between two PCIe devices to aggregate the bandwidth of each individual lane.In the future, the signaling rate of the link can be increased to provide even more bandwidth.

PCIe hardware is backwards compatible with PCI software on the Microsoft® Windows® 2000 and Microsoft Windows XP operating systems. The PCI features supported by current Windows operating systems will continue to work with PCIe without any need for modifications in the applications, drivers, or operating system; however, the advanced PCIe features will be natively supported only in the next client version of Windows, codenamed “Longhorn,” and later versions of Windows. For details, see the WinHEC 2004 whitepaper “Overview of PCI Express.”

Definitions

  • XPDM: The Windows XP display driver model.
  • LDDM: The Longhorn display driver model. LDDM is a significant evolution of the graphics driver infrastructure and will not be backward compatible with XPDM drivers.
  • GART: Graphics address relocation table, hardware that presents the display adapter with a linearized view of nonlinear memory.
  • DCT: Display compatibility tests. Video drivers need to pass these tests in order to qualify for the “Designed for Windows” logo and to be digitally signed by Microsoft.
  • WHQL: Windows Hardware Quality Laboratories. The organization within Microsoft that is responsible for the “Designed for Windows” Logo Program for Hardware.

PCI Express Graphics

It is well known that graphics can always use more bandwidth than what is available. Graphics data transfers cause maximum traffic on the PCI bus. The continual increase in graphics demand and complexity eventually made the PCI bus insufficient, which led to the invention of AGP. Now we are pushing the limits of what AGP can deliver, and we need a better solution. PCIe surpasses AGP in bandwidth availability, with more room for expansion in the near future. By increasing the number of lanes in a link, graphics adapters can take advantage of increased bandwidth and faster data transfer. Graphics adapters will be using the X16 link, which will provide a bandwidth of 4 Gbps in each direction.
Given the higher bandwidth offered by PCIe, systems are already moving away from AGP to PCIe. There will not be many systems that provide both AGP and PCIe connectors. The first X16 graphics adapters and PCIe systems should be available in summer 2004.
PCI Express Graphics in Longhorn

The Longhorn display driver model (LDDM) will have specific requirements for PCIe graphics adapters. It will require that the 64-bit addressing mode be supported by the GPU. However, a minimum of 40 bits of physical address bits must be implemented. The unimplemented bits should be forced to zero. These requirements are not applicable to the Windows XP display driver model.

PCIe Graphics & AGP

In addition to the bandwidth considerations mentioned above, there are several other differences between AGP and PCIe.

By definition, AGP requires a chipset with a graphics address relocation table (GART), which provides a linear view of nonlinear system memory to the graphics device. PCIe, however, requires that the memory linearization hardware exist on the graphics device itself instead of on the chipset. Consequently, driver support for memory linearization in PCIe must exist in the video driver, instead of as an AGP-style separate GART miniport driver.Graphics hardware vendors who want to use nonlocal video memory in their Windows XP driver model (XPDM) drivers must implement both memory linearization hardware and the corresponding software. All PCIe graphics adapters that are compatible with the Longhorn display driver model (LDDM) must support memory linearization in hardware and software.

AGP was dedicated to graphics adapters, and no other device class used it. PCIe is intended to be used by all device classes that previously used PCI. With AGP, a number of video drivers were directly programming the chipset, which gave rise to severe illeffects such as crashing and memory corruption in the graphics stack. Because PCIe will be used for all devices in the system, it is even more important that video drivers not program the chipset directly.

Frequently Asked Questions

Will a PCIe video card work on Windows XP?

Yes. A PCIe video card will work on current Operating Systems, because PCIe is software compatible with PCI. PCIe hardware will work on operating systems that support PCI. For example, on current versions of Windows a x16 video card will be able to transfer data at the higher x16 rate of 4 Gbps.

Will the Windows Server™ 2003 DDK and the Longhorn DDK have any information and a PCIe graphics sample?

We do not plan to produce a sample that demonstrates the use of non-local video memory in a Windows XP video driver. There are no plans to have a video driver sample that demonstrates this functionality in the Longhorn DDK, either. However, we encourage IHVs to work with us if they want to incorporate this functionality in their drivers.

Will PCIe graphics coexist with AGP?

There will be chipsets that support both AGP and X16 PCIe. Some motherboards will have both AGP and X16 PCIe slots using such a chipset.

Will multimonitor configurations work on PCI-E graphics?

Multimonitor configurations of PCIe are expected to work just like PCI. Whether they do will depend on the motherboard manufacturers. For example, x16, x8, and x8 triple monitor configuration will necessitate the existence of one x16 and two x8 slots on the motherboard.

Does Microsoft have any plans for a PCIe graphics plugfest?

We do not have any dates yet. We will plan this depending on the feedback from the IHVs and original equipment manufacturers. Meanwhile, IHVs should attend the workshops and labs that are sponsored by the PCI-SIG.

Does Microsoft have the WHQL requirements for PCIe graphics?

The Windows Hardware Quality Labs (WHQL) do not yet have specific PCIe requirements from the display compatibility test (DCT) program yet. For issues regarding the DCT DX9 kit, please send e-mail to .

Where should IHVs send specific questions regarding PCIe graphics support on Windows?

Please direct your questions by email as shown in the Resources section below.

What are the performance implications of using PCIe Graphics?

High-speed PCIe graphics will have better performance than AGP will. The PCIe Graphics cards will use the x16 PCIe slot. This translates into a bandwidth of 4Gbps. This is already a twofold increase over AGP 8X. In this case, "x1" means that the slot has one PCIe lane, which will give it a bandwidth of 264 Mbps. This is equal to the bandwidth provided by AGP 1X and twice that of PCI (132 Mbps).

PCIeversion / AGP / Bandwidth
PCIe x1 / AGP 1X / 264 Mbps
PCIe x4 / AGP 4X / 1 Gbps
PCIe x8 / AGP 8X / 2 Gbps
PCIe x16 / 2 x AGP 8X / 4 Gbps

Additionally, the AGP specification does not support “snooping”. It implies that memory used by devices needs to be mapped uncached or write combined by the processor in order to prevent the processor from caching that memory, or else an expensive cache flush needs to be done between handoff of a surface between CPU and GPU. Thus, processor read access to that memory will be very slow.

PCIe will support snooping. It will now be possible to map such shared memory as cacheable and still be able to maintain coherency between the CPU and the GPU. Snooped transactions are slower than nonsnooped transactions, but since the CPU can read the shared memory at full speed and we do not need to flush any caches, the tradeoff might mean better performance in some scenarios.

AGP stability problems have resulted in instability in the graphics stack. How does Microsoft plan to address this problem in PCIe graphics?

We can address this problem only if we get full cooperation from the OEMs and IHVs. We ask you to send us your prototype hardware for testing. Misprogramming of the AGP registers by the video drivers has caused significant instabilityin the past. We would like to know about software shortcomings you come across, and we want to work closely with you to solve these problems without hacks in either your driver or in the Windows kernel infrastructure. The sooner we find out about these problems, thebetter. PCIe Plugfest is an excellent way to meet Windows PCIe developers and inform us about the problems and the progress you are making.

Is an n-lane PCIe slot compatible with a p-lane PCIe graphics card, where pn?Where np?

You cannot plug an x16 graphics card into an x8 slot. You can however, if you wish, plug an x8 card PCIe card into an x16 slot. A p-lane PCIe card will work at some speed in an n-lane PCIe slot, where np. This is not true if np.

What advantages does true PCIe graphics support have over PCIe graphics running in compatibility mode on existing operating systems as described by Intel?

These advantages are described in detail in the WinHEC 2004 whitepaper “Overview of PCI Express”.

When will PCIe systems be available on the different processors?

We anticipate that retail PCIe systems will be available by end of summer 2004. Motherboard manufacturers should be able to shed more light.

When will the graphics cards mentioned above be available?

Depending on the availability of motherboards, the retail market might have graphics cards from the major vendors by summer.

References

Resources

Queries

Please send e-mail to

Microsoft Hardware and Driver Central

PCI-SIG

WinHEC 2004 Version - April 12, 2004
© 2004 Microsoft Corporation.All rights reserved.