The CPU in Operation
To fully understand x64 and X86, one must first look at the CPU because x64 and x86 refers to the size of the CPU instruction set. Simply put, X64 refers to a 64 bit CPU while the x86 refers to the 32 bit CPU. The 64 bit CPU is newer and has the capability to process larger instructions, up to twice the length of the 32 bit instruction set.
The CPU is made up of an arithmetic register and a logic register. Its function is to read an instruction and either do math or logic depending on the instruction. The results are sent back to RAM (memory). Some instructions are reprocessed depending on how they combine with other instructions. But the end result is to perform the instruction and present the results so it can be handled by other software and hardware components.
For a more technical discussion see What’s Inside a CPU.
32 bit Instructions Sets and 64 bit Instructions Sets
Consider the following scenario. There is a grocery checkout line. The checkout is done with a laser scanner and the results are posted on an electronic board that shows the name, quantity, and cost of the item. But more important is where the items are stored before the checkout. They are kept in a grocery shopping cart.
Let’s say that all of the carts are the same size. But not all of the carts are filled to capacity. Let’s say that the cart can store 64 items. But some carts only have ten items, some have two, and some have sixty. Each cart has to be handled the same way. Each item has to be processed the same way.
The containers in the cart are part of the process, but handling the cart itself is part of the process, such as identifying the cart, moving it forward, and also replacing the items back into the cart or storing them in a different location, like a grocery bag. So each cart is handled. It is more efficient to have each cart filled to capacity or near capacity, instead of having the items fill only part of the cart, so multiple carts would not have to be used to do the function of one.
This scenario, this analogy to the CPU, explains how efficiencies can be achieved if the right cart is available, a 32 object (bit) cart or a 64 object (bit) cart.
The x64 Operating System and the x86 Operating System
Well let’s continue our little metaphor. We know that the more efficient operation would be to load the 64 object cart with 64 objects, not less than that, and certainly not less than 32 objects. That would be a waste of space, as well as a waste of the operation of the checkout line.
Now let’s also add the requirement that if the objects in the cart reach 64, the cart is scanned all at once, so that the objects are collectively treated as one, and processed as one.
On the other hand, if the objects in the cart are less than 64, then each object must be scanned separately. This will be time consuming.
Now it is the operating system that decides how to fill the cart. Obviously, a 64 bit operating system will work well with a 64 bit cart (CPU), A 32 bit operating system will handle up to but not more than 32 objects in the cart, even if the cart can handle the 64 objects. So this is less efficient, or only efficient up to 32 objects.
How Objects are Stored in x64 and x86 Systems
One last bit of explanation is called for. We know that the cart can store either 64 objects or 32 objects. We also know that the operating system will handle only up to 64 objects or up to 32 objects. One more requirement is necessary to make the cart work efficiently. That requirement is size. This refers to the size of the objects in the cart.
Let’s say that the size of the objects in the cart have to be a certain size. For a 64 object cart they can only be a factor of 64, say 32,16,8, 4, or 2; the numbers 12 or 18 or 22 would not work because they do not divide evenly into 64. For a 32 object cart the size of the objects can only be 32, 16, 8,.4, or 2; likewise 6. 20, or 28 would not work either. To properly fill the cart, to maximize the cart, the objects and the number of objects that will be processed must be some factor of 64 or 32. Then the operating system will be able to place the objects in the cart and the processing can take place.
Carts = CPU, Objects = Applications, Operating Systems Manage the System
Now we are in a position to explain why x64 and x86 are important. The x64 operating system will work best with applications that will fit efficiently with the 64 bit CPU. Likewise the x86 operating system will work efficiently with a 32 bit CPU. This means that the objects have to be designed to work with one type of CPU or the other. An application will work well with a 32 bit CPU if the manager is a x86 operating system. An application that is written to work with a 64 bit CPU will work with a x64 operating system. The most efficient operations will be 64 bit CPU and x64 OS and applications written for x64. Also a 32 bit CPU, will work well with an application that is designed to work with a 32 bit x86.
The latest version of Windows7 comes in a variety of flavors that deal with the type of features available the simpler the operating system version like Home Premium will not have as many built in features as the Ultimate or Enterprise edition. However, the CPU determines whether a system will be x64 or x86. The older systems will have a 32 bit CPU, where as the newer ones will more likely have a 64 bit CPU. This will affect how processing occurs; typically a 64 bit CPU will be able to process 64 bit instructions or combine instructions to be handled in one processing operation. 32 bit CPU’s will normally take 2 processing cycles to execute the same instruction.
This is the first of two articles in a series that deal with the 32 bit / 64 bit CPU and Operating System.
The other article in the series is: Comparing the Difference Between 32-Bit and 64-Bit Windows 7
Other technical articles on the CPU can be found here Can We Achieve 128-bit OS Operability and What Will it Achieve?
This post is part of the series: 64 Bit Computing vs 32 Bit Computing
As CPU’s get more sophisticated, so do the operating systems that support them. This is happening now with the 64 bit computer and the older 32 bit computer. Understanding how the size of the CPU affects the operating system is the goal of this series of articles.