A computer’s CPU does much more than calculate mathematical equations. In this video, you’ll learn about 32-bit vs. 64-bit CPUs, processor cores, multithreading, and virtualization support in your CPU.
Most of the latest operating systems are 64-bit architectures. But you might find older operating systems still running that are 32-bit architectures. These are referring to the architecture of the CPU that is running on the motherboard of that system. And usually, it’s either a 32-bit or a 64-bit architecture.
A 32-bit processor can access up to 2 to the 32nd power of information. That is just over 4 billion values that can be accessed in that operating system. If you have a 64-bit architecture, that goes up dramatically to a 2 to the 64th power, which is an extremely large amount of data.
If you were to look at this as to how much memory you can store in a system, a 32-bit processor can access 4 gigabytes of information, whereas a 64-bit processor can access 17 billion gigabytes of information. This doesn’t necessarily mean that the 64-bit operating system you’re using can access 17 billion gigabytes, because most operating systems will have a maximum supported value for the OS.
If you want to see the system type in your Windows system, you can go to the Control Panel under the System settings, and it will tell you the system type. In this example, I’m using a 64-bit operating system with an x64-based processor.
The hardware drivers that you install must match the type of operating system you’re using. So if you’re using a 32-bit operating system, then you need to use 32-bit hardware drivers. If you have a 64-bit operating system, then you need to use a 64-bit hardware driver. Sometimes you’ll see this 32-bit software abbreviated as x86 software. This is a reference back to the Intel 8086 line of processors. If it’s a 64-bit processor, we abbreviate that as an x64.
It’s also important to know that if you’re using a 32-bit operating system, that you cannot run 64-bit applications in that OS. Conversely, if you’re running a 64-bit operating system, you can not only run 64-bit applications, but you can also run 32-bit applications as well. If you don’t know if the applications you’re using in Windows have been written for a 64-bit operating system or a 32-bit operating system, you can look to see where they’ve been installed. 32-bit applications are installed under Program Files x86 and 64-bit apps are simply installed under Program Files.
There’s another family of operating systems called the Advanced Risk Machine, or ARM. This is an architecture that was developed by ARM Limited. They designed the specifications for the hardware, and then third parties use those specifications to create ARM-based CPUs. The ARM architecture is well known for being extremely efficient and fast in its processing. It uses less power, creates less heat, and it’s perfect for our mobile devices. Although we commonly see ARM used for mobile devices and internet of things, the capabilities of ARM-based architectures are greatly expanding. And we’re starting to blur the lines a bit between the traditional 64-bit operating systems and the ARM-based operating systems.
We often refer to a CPU, or a Central Processing Unit, as a single, monolithic device. All the information goes into the CPU, and then we get results out of the CPU. But inside of the CPU, there are lot of individual components. The main processing of a CPU occurs on the processor core. And generally, in today’s CPUs, there are multiple cores that are on a single physical CPU package. Sometimes we refer to these as dual core, quad core, or simply multi-core. And newer processors are increasing the number of cores in our operating systems all the time.
It’s also not unusual for the multiple cores to also have multiple caches. These might have caches that are dedicated for a core, or there may be shared caches that are used across all of the cores. These caches are designed to help speed the processing of information into and out of the CPU.
If you were to look at a close up of the CPU itself, you can almost make out where the different components and devices are on a single CPU. If we looked at this broadly, we can even see that there might be individual cores on the CPU. There’s probably a cache that is shared between all of the cores. And CPUs today also tend to have their own memory controllers and graphics processors built into the same CPU hardware.
If you start monitoring the amount of processing occurring on your CPU, you might see images like this in an application, such as the Windows Task Manager. Here you can see different processes that are occurring between what seems to be two different CPUs. But in reality, this is a single CPU core. The reason this looks like multiple CPUs is that it is using Hyper-Threading Technology, or HTT. You might have a single physical CPU core, but it looks and operates as if it is multiple CPU cores.
In reality, we’re not getting twice the amount of work from one single device. Instead, it simply increases the throughput of the processes going through the CPU by somewhere around 15% to 30%. Not only do you need a CPU that supports hyper-threading, but your operating system also has to support it as well. Today any modern operating system supports hyper-threading. And if you bring up some CPU monitoring, you’ll very quickly see the results of this hyper-threading technology.
Many CPUs also include hardware that allow us to virtualize additional operating systems on our computer. This means that we could load Windows as our primary desktop, and inside of Windows, we could run other Windows instances, or instances of other operating systems, such as Linux. Virtualization itself is resource intensive. So it made sense to take a lot of that functionality that normally would be in software and put it directly into the hardware of the CPU.
If you have an Intel processor in your system, you can check your BIOS and see if it supports the Intel Virtualization Technology or VT. If you’re running an AMD processor, then you may be running AMD Virtualization, or AMD-V. Some virtualization software requires that you enable these capabilities in your CPU. So check with your documentation and your BIOS to make sure you’re using the proper configurations for your virtualization system.