Understanding 64-Bit Computing
Since it was introduced for Windows operating systems, 64-bit computing has changed substantially. Not only do computers running 64-bit versions of Windows perform better and run faster than their 32-bit counterparts, they are also more scalable because they can process more data per clock cycle, address more memory, and perform numeric calculations faster.
There are two different 64-bit architectures:
x64 This architecture is based on 64-bit extensions to the x86 instruction set, which is implemented in AMD Opteron (AMD64) processors, Intel Xeon processors with 64-bit extension technology, and other processors. This architecture offers native 32-bit processing and 64-bit extension processing, allowing simultaneous 32-bit and 64-bit computing.
IA64 This architecture is based on the Explicitly Parallel Instruction Computing (EPIC) processor architecture, which is implemented in Intel Itanium (IA64) processors and other processors. This architecture offers native 64-bit processing, allowing 64-bit applications to achieve optimal performance.
However, the prevalent architecture is x64, and it is the primary 64-bit architecture for PCs and tablets that is supported by Windows 8. In general, 64-bit computing is designed for performing operations that are memory intensive and that require extensive numeric calculations. With 64-bit processing, applications can load large data sets entirely into physical memory (that is, RAM), which reduces the need to page to disk and increases performance substantially.
Currently, the prevalent firmware interfaces are
Basic input/output system (BIOS)
Extensible Firmware Interface (EFI)
Unified Extensible Firmware Interface (UEFI)
Itanium-based computers differ in many fundamental ways from computers based on the x86 and x64 specifications. Whereas Itanium-based computers use EFI and the GUID partition table (GPT) disk type for boot and system volumes, computers based on x86 use BIOS and the master boot record (MBR) disk type for boot and system volumes. Computers based on x64 use UEFI wrapped around BIOS or EFI, as discussed in the Navigating and Understanding Firmware Options section in Chapter 4. This means that there are differences in the way you manage computers with these architectures, particularly when it comes to setup and disk configuration. However, with the increasing acceptance and use of UEFI and the ability of Windows 8 to use both MBR and GPT disks regardless of firmware type, the underlying chip architecture won’t necessarily determine what firmware type and disk type a computer uses. This decision is in the hands of the hardware manufacturer.
In most cases, 64-bit hardware is compatible with 32-bit applications; however, 32-bit applications perform better on 32-bit hardware. Windows 64-bit editions support both 64-bit and 32-bit applications using the Windows on Windows 64 (WOW64) x86 emulation layer. The WOW64 subsystem isolates 32-bit applications from 64-bit applications. This prevents file system and registry problems. The operating system provides interoperability across the 32-bit/64-bit boundary for the Component Object Model (COM) and for basic operations such as cutting, copying, and pasting using the Clipboard. However, 32-bit processes cannot load 64-bit dynamic-link libraries (DLLs), and 64-bit processes cannot load 32-bit DLLs.
In the shift to 64-bit computing, you may want to track which computers in the enterprise support 64-bit operating systems, which computers are already running 64-bit operating systems, or both. With Windows PowerShell, you can:
Determine whether a computer has a 64-bit operating system installed by using the OSArchitecture property of the Win32_OperatingSystem object. An example is
get-wmiobject -class win32_operatingsystem | fl osarchitecture
And the resulting output is
osarchitecture : 32-bit
Determine whether a computer supports a 64-bit operating system by using the Name and Description properties of the Win32_Processor object:
get-wmiobject -class win32_processor | fl name, description name : Intel(R) Core(TM)2 Quad CPU @ 2.66GHz description : x64 Family 6 Model 15 Stepping 7
Here, the first sample output tells you the computer is running a 32-bit version of Windows. The second sample output tells you the computer has an x64 processor. As a result, you know the computer can be upgraded to a 64-bit version of Windows 8.
Rather than check each computer individually, you can create a script to do the work for you. For sample scripts and complete walkthroughs, see Chapter 8, “Inventorying and Evaluating Windows Systems,” in Windows PowerShell 2.0 Administrator’s Pocket Consultant.