A CAM software developer discusses how the next generation of PC and workstation operating systems will benefit programmers of CNC equipment.
GibbsCAM 2010 adds 64-bit support as an option, preparing for a future where 64-bit computing is the norm and also offering significant benefits to some GibbsCAM customers. This article offers information to help you appreciate the considerations associated with moving to a 64-bit computing environment.
Modern Machine Shop
Click Image to Enlarge
A 64-bit platform lets users run 64-bit applications and 32-bit applications at the same time.
Addressable memory increases dramatically when basic word size (8-bit, 16-bit and so on) goes up.
Although 64‑bit hardware and operating systems have been around for a while, desktop applications that make use of 64‑bit capabilities are only now beginning to enter the mainstream.
Running in a 32‑bit environment basically means using no more than 4 GB of memory. Running in a 64‑bit environment allows native 64‑bit applications to take advantage of vastly more memory.
On 64‑bit platforms, GibbsCAM 2010 can be installed as a native 64‑bit application. This is recommend for systems with more than 4 GB of RAM, for better performance on large or complex part files or toolpath.
The Basics Of 64-Bit Computing
In computing, the term word means a group of bits that a system handles together in a single clock cycle. The size or length of a word is measured in bits. The first desktop computers were 8‑bit machines, and the technology evolved over the years to 16‑bit, 32‑bit and now 64‑bit systems. (Actually, modern processors and chipsets can use different word sizes for different purposes—instruction and data registers, buses and so forth. Generally speaking, however, a computer with a 32‑bit architecture “thinks” in chunks of 32 bits, and a computer with a 64‑bit architecture thinks in chunks of 64 bits.)
There are several advantages to a larger word size. The obvious one is that a larger word can contain larger numbers. For instance, a 32‑bit integer can contain more than 4 billion different values, whereas an 8‑bit integer contains a maximum of 256 different values. Although smaller words can be used for large numbers, such as using four 8‑bit words to represent one 32‑bit integer, multi-word computation comes at a significant performance price, because it requires multiple CPU and memory cycles. Larger word sizes mean faster data transfer because the system buses are wider, and faster calculations because large-number multiplication can be done in a single clock cycle.
A small word size also limits the amount of main memory that can be directly addressed. For instance, a 32‑bit machine has direct access to a maximum of about 4 billion individual addresses. This is known as the 4 GB (gigabyte) limit. Existing hardware does not support the use of multiple words as larger addresses, and therefore 4 GB is a rigid hardware limitation of 32‑bit systems.
Until recently, 4 GB of addressable memory has been more than enough for most desktop applications. However, some applications, such as very large CAD/CAM projects, can require more than 4 GB of memory. Users who run many memory-intensive applications simultaneously can find that a 32‑bit system is insufficient for their needs.
A 64‑bit architecture allows access to vastly more memory than a 32‑bit system. The full potential address space is 18 exabytes (18,446,744,073,709,551,616 bytes)—larger than a 1 followed by 19 zeros. This is more memory than is currently available in all the world’s computers combined.
Many current PCs include full 64‑bit hardware. (However, no system today comes anywhere close to the full potential address space.) The CPU and other key elements all use 64‑bit words and are perfectly capable of 64‑bit computing—given compatible operating system and application software.
Operating Systems And Applications
It is not enough to have hardware that uses 64‑bit words. To make use of the available resources, such as the larger address space, requires a 64‑bit operating system (OS).
From 1993 to about 2002, Microsoft’s releases of Windows were 32‑bit operating systems only. Examples include Windows NT, Windows 95 and Windows 2000. Although many of them can run on 64‑bit hardware, they use 32‑bit words and addresses. Therefore, they cannot control or run any “native” 64‑bit application—that is, an application that makes use of the full 64‑bit processor capabilities.
The next few years saw chipmakers compete to define a new standard microarchitecture to replace or extend the 32‑bit standard (named x86, for Intel processor models 8086 through 80486). Windows XP was released in several versions, most of them 32‑bit, but there was also one 64‑bit edition for the IA‑64 architecture (Itanium family of processors) and later another 64‑bit edition for an architecture that was then called AMD64 / EM64T. This latter architecture, now usually called by its generic name x86-64, has come to predominate in desktop computers since 2005.
In 2007, Windows Vista was released in several editions. Lower-end editions were 32‑bit only, but higher-end editions offered a choice between 32‑bit and 64‑bit. When Windows 7 was released in 2009, all packaged retail editions except the Home Basic edition included both 32‑bit and 64‑bit software.
But merely running on a 64‑bit OS is not enough to take advantage of 64‑bit capabilities. Most of today’s desktop software applications, such as Microsoft Office, are still 32‑bit applications. Although these applications can run on 64‑bit platforms (backward compatibility is built into the 64‑bit versions of Windows), inside they are still 32‑bit systems, limited to 4 GB (actually less) of addressable memory.
In order to use the power of 64‑bit computing and the practically unlimited amount of addressable memory, a software application must be built as a native 64‑bit application, which can only be run on a 64‑bit platform. However, a 64‑bit platform allows you to run 64‑bit applications and 32‑bit applications simultaneously. For example, on a 64‑bit version of Windows, you can run the 64‑bit version of GibbsCAM 2010 alongside 32‑bit Microsoft Outlook, as illustrated to the right.
One aspect of 64‑bit software that must be taken into account is the need for more memory. Even if small numbers are used, every integer and every address in a native 64‑bit application takes up 64 bits of memory (8 bytes), compared to 32 bits (4 bytes) for the same software compiled as a 32‑bit application. The same job executed on the same system requires more memory when the 64‑bit version is run. The operating system is no exception: 64‑bit versions of Windows need more memory to run.
For this reason, it is highly recommended to install at least 6 GB of physical memory on any 64‑bit Windows system that runs native 64‑bit applications.
So, which version of GibbsCAM 2010 is better for which purposes?
For small projects that do not require a huge 64‑bit address space, a 32‑bit version of the application (any application) will always be more economical in terms of memory usage. If your system is bumping up against memory limits and you’re not able to add more memory, choose 32‑bit GibbsCAM.
For moderate to large or complex files, including complex solids and toolpath as well as tighter machining tolerances, the 64‑bit version will run faster. The more RAM you have, the faster your system will run. For maximum power and performance, choose 64‑bit GibbsCAM.
Microsoft does a good job of addressing driver compatibility issues and other considerations when moving to 64‑bit Windows computing environment. Here are a few quotes from Microsoft:
"Put simply, a 64‑bit PC can handle larger amounts of information than a 32‑bit system. Since it can use more RAM—4 GB and more—a 64‑bit computer can be more responsive when you’re running lots of programs at once."
"The 64‑bit version of Windows 7 Ultimate, Enterprise and Professional editions can all use up to 192 GB of memory (far more than even a power user would typically need), making them ideal for specialized computing tasks that require enormous amounts of memory, such as rendering 3D graphics."
For more in‑depth guidance from Microsoft, visit these articles on their Web site: