Contents
Sponsored Feature: RAM, VRAM, and More RAM: 64-Bit Gaming Is Here
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
November 22, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [11]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [12]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 22, 2009
 
Trion Redwood City
Sr. Evnironment Modeler
 
Trion Redwood City
Sr. Environment Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
Texture Artist
 
Monolith Productions
Sr. Software Engineer, Engine - Monolith Productions - #113767
 
Sony Online Entertainment
Brand Manager
spacer
Latest Features
spacer View All spacer
 
November 22, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [6]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [7]
 
arrow iPhone Piracy: The Inside Story [48]
 
arrow And Yet It Grows: Analyzing the Size and Growth of the European Game Market [5]
 
arrow NPD: Behind the Numbers, October 2009 [13]
 
arrow Reflecting On Uncharted 2: How They Did It [5]
 
arrow Sponsored Feature: Rasterization on Larrabee -- Adaptive Rasterization Helps Boost Efficiency
 
arrow Postmortem: Wadjet Eye's The Blackwell Convergence [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 22, 2009
 
Time Fcuk
 
Accepting the Inherent Value of Games
 
Planckogenesis, Part II: Song Structure & Gravy Train [1]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Sponsored Feature: RAM, VRAM, and More RAM: 64-Bit Gaming Is Here
by Chuck Walbourn
3 comments
Share RSS
 
 
April 4, 2008 Article Start Previous Page 4 of 6 Next
 

64-Bit Computing

64-bit processors have been around for many years. They first appeared in supercomputer designs, then workstations and servers, and now are widely available. The Xbox 360’s PowerPC is a 64-bit processor, but has a 32-bit process model. Many well-known CPUs are 64-bit processors, but none of them were successful enough to displace the broad adoption of the x86 PC.

The x64 64-bit processor design directly addresses backward compatibility concerns by extending the existing x86 architecture, allowing it to run x86 32-bit binaries without emulation and providing a new 64-bit memory model.

Advertisement

First introduced by AMD and known alternatively as “x86-64“ and “AMD64,” it has since been adopted by Intel as “EM64T” or “Intel 64.” Now it is known more generically as “x64.” The vast majority of desktop CPUs and most laptop CPUs sold in recent years are all x64 capable processors. They fully support both pure 32-bit and mixed 32-bit/64-bit applications.

With the introduction of a new architecture, some improvements were made to the 64-bit execution mode beyond expanding the registers and addressing from 32 bit to 64 bit. These include eight more general purpose registers, eight more SSE registers, an NX no-execute bit (which otherwise requires the use of PAE to access), new instructions, and guaranteed SSE2 or later support.

A few old system programming features of x86 were declared “legacy.” While they are still available in the current hardware to support x86 32-bit applications, they are not available in 64-bit execution mode.9 Current implementations support 1 TB of physical memory, a limit that can easily be increased in the future. The ample physical addressing capability completely eliminates the concerns about the “hidden memory” problem.

Supporting the 64-bit execution mode requires a new version of the operating system. Windows now comes in two flavors:

  • “x86” which runs on legacy CPUs as well as in 32-bit mode on x64 processors

  • “x64” which runs on x64 processors providing 32-bit and 64-bit program support

Current Windows x64 versions (Windows XP Pro X64 Edition, Windows Server 2003, Windows Server 2008, and Windows Vista) support up to 44 bits of virtual memory addressing. Each application is given a 43-bit address space which is 8 TB, or 4,096 times larger than the process address space under 32-bit Windows. Future versions of Windows can easily extend this to even greater levels.

One of the benefits of being able to run 64-bit native versions of applications is obviously a huge increase in memory capacity, but there are other added benefits. Because the kernel itself is running in 64-bit mode, it can easily accommodate the desires of a 32-bit Large Address Aware (LAA) application.

As such, 32-bit programs linked with the Large Address Aware flag are able to allocate a full 4 GB of user mode address space when running on Windows x64. There is no special boot mode required or system stability impact that would require careful configuration. This makes LAA a highly attractive, consumer-friendly way of giving 32-bit processes more virtual address space on Windows x64.

Windows XP Pro x64 Edition, released in April 2005, was an early adopter consumer OS. The Windows-on-Windows-64 (WOW64) system works well for running 32-bit applications on the x64 version of Windows. The OS still required a new generation of 64-bit native kernel-mode drivers, as kernel-mode code must use the native memory model of the system. Existing programs ran into problems on the new OS in three ways:

  1. Older installer packages still included 16-bit code from the Windows 3.1 era, and this code is not supported when running in 64-bit execution mode.

  2. Applications that used kernel-mode drivers, such as copy protection schemes common in games, needed to provide 64-bit native Authenticode signed versions of these components.

  3. The new OS sometimes exposed bugs in poorly written installers that made assumptions about directory paths, invalid path characters, or ran afoul of WOW64’s legacy registry handling.

The release of Windows Vista brings x64 into the mainstream. Now, all editions of Windows Vista are available in both x86 and x64 versions, and all the Windows Vista logo programs push support for Windows x64. These programs help drive the whole Windows ecosystem to support x64 versions of Windows. In particular, they provide third-party, 64-bit device drivers. The lack of broad driver support was the main reason for the limited distribution of Windows XP Pro x64 Edition.


9 “AMD64 Architecture Programmer’s Manual,” AMD.

 
Article Start Previous Page 4 of 6 Next
 
Comments

Klaus Post
profile image
Anandtech has also a very good writeup on LAA in relation to current games on 32 bit systems.

Part 1 - Practical Problems With 32bit Addressing In Windows (description and test of current games without LAA boot)
http://www.anandtech.com/gadgets/showdoc.aspx?i=3034

Part 2 - Windows XP, Vista, and the 2GB Barrier: (Comparison of Vista/XP virtual memory usage of games)
http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=3044

Part 3 - Vista Buys Some Time: (Testing the KB940105 Hotfix)
http://www.anandtech.com/systems/showdoc.aspx?i=3060

Ondrej Spanel
profile image
"In fact, this incident proves that many modern AAA PC titles are already within 256 MB of the 2 GB barrier. Otherwise, they would not have hit this problem until video cards were over 512 MB."

This is not entirely true, depending on what metrics you use for the "distance from the barrier". Part of the problem is memory fragmentation, and the position of the "hole" created by the allocation differs depending on its size.

The game will usually "hit the 2GB barrier" way before it uses 2 GB of virtual space.

Chuck Walbourn
profile image
It is true that virtual memory fragmentation can lead to hitting the barrier early, and in fact we saw titles doing this several years ago. You'll note it is listed in "Top Issues for Windows Titles" in the DirectX SDK technical article, which was published in 2006.

The first mitigation effort for all the titles hitting this problem was to reduce vm fragmentation. Glaring problems are easy to fix, but games have been dealing with this concern for a while. Many AAA titles with full content are very close to filling up the 2 GB of VAS available to standard 32-bit apps. While KB9410105 brings the memory usage inline with XPDM to eliminate the Windows XP vs. Windows Vista differences, it doesn't change the fact that games are wanting to include more and more content.


none
 
Comment:
 


Submit Comment