You all have processors under the hood of the PC. You’re using them to read this article. But how much do you really know about that part of your system?
Over the next three weeks, we will be taking you step-by-step through every aspect of your CPU; from factors that most affect performance to our views on how to choose from the multitude of processors available.
We all know how to go about choosing a mouse, or a keyboard, or a monitor. But choosing a CPU is a little more complex. So to explain, we will first sum up all the factors to consider. They are:
1. CPU Clock Speed
2. CPU Cache
3. Number of Cores
4. Instruction Sets
5. Heat Management
6. Processor Bandwidth
7. Front Side Bus (FSB) Speed
You may notice that we have missed a few points, including number of transistors, fabrication and architecture. These factors will be covered in the above seven factors, although if you have additional queries you can ask in the discussion area.
You might argue that generation also affects the processing power. Although this is true, it would be more specific to say with every generation improvements are made to the clock speed, heat management and other things which we listed above.
So let's start:
1. Clock Rate
“Clock Rate” or simply the processor speed (generally in GHz) is one aspect you can look at and judge in two different processors; but to what extent it that reliable? What we usually see is people going to retailers and trying to get a processor with higher clock rates. However, this is a little too simplistic.
In definition form, clock rate is determined by the frequency of an oscillator crystal, which is present in the chip. Now, no one wants to go that much deep into the world of processors, so here is the simple explanation.
Clock rate is the number of instructions (commands) processed by the CPU in one second. A simple netbook processor with 1 GHz clock rate can process 1 billion instructions per second. Although that’s a huge number, this actually has no direct relation with the performance of the CPU. For instance, a modern CPU with 1.5 GHz speed can beat an older processor with 3 GHz clock rate. So, how is that even possible?
It is so because there are many factors besides clock rate that determine a processor's performance. The instructions in a simple PC are carried out in three stages; input phase, processing phase and the output phase. The same is true for a processor, but the process becomes quite complex.
The clock rate is only effective in carrying these instructions throughout the processor, but there is a distance or a time lag between different [logical] parts of the processor. We can take the clock rate as your walking speed and the distance as a long road. Even if you walk extremely fast, if the road is lengthier, you will be slower.
Modern processors are trying to decrease this lag between the different stages of processing to deliver more performance at lower clock rates. With every architecture, new instruction sets are introduced which take less time for processing and execution.
Even after this explanation, it cannot be completely clear how to choose between two different processors. This is because day by day processing is getting complex. One cannot solely judge the CPU performance on the basis of just the clock rate and distance; it requires other factors to arrive to a clear decision. However, if two processors share all the same specifications, then going with the higher clock rate is beneficial.
2. CPU Cache
This is probably the one thing most of us take for granted when it comes to CPU performance. So the question arises, is cache useless?
Well no, it is not useless at all. Every part of your CPU is an asset that contributes to its performance. Cache plays a vital role in improving performance.
In general, Cache is the in-house memory of CPU; where it stores frequently used data and paths for quick access and to lessen interaction with the slower RAM. But this definition is not adequate if we are going to know its real value for the processor's performance.
The main function of cache is to reduce a CPU's dependency on RAM. It buffers data that is used "more than average", so user can perform those actions faster than other. But if you notice, whilst RAM has a much larger size (on average 4GB) but cache only ranges from 256KB to 16MB. So, how can such a small unit improve performance? It can because it does not need to store files or running applications. It needs only to store paths and file segments, which are far smaller in size.
First of all let’s understand how cache works. When a CPU has to work on something, it asks various different memory units to get the file up. This request first goes to the L1 Cache, then the L2 Cache, then – if there is one – the L3 Cache (these will be discussed later). Then, finally, it goes to the RAM. When it reaches the L1 Cache unit, if the call finds the correct file or path there, it returns to the CPU for further processing. This is called a "hit". But if, however, it does not find the appropriate data there it moves on. This is called a “miss”. The RAM, as well as the HDD, has no misses, given that there are no errors with them.
Several benchmarks indicate that cache has a greater part in performance improvement than CPU cores. Disabling the cache unit, for example, will result in greater performance degradation than disabling one CPU core. Moreover, cache is available in three types; Level1 Cache, Level2 Cache and Level3 Cache. All the three caches are almost the same when it comes to affecting performance.
L1 cache is the fastest cache unit as it is the closest cache unit to the CPU. But it has its own drawbacks. When the CPU calls for something, this is the cache unit which responds first. Here the chances of getting a “hit” are very low due to its very small size; misses are very frequent in this cache. This cache unit is mostly used to store instructions for various different actions.
L2 Cache is a mid-level cache unit. AMD puts a great deal of stress on this unit of cache, while Intel has already adapted L3 caches in their CPUs. This level of cache is comparatively slower than L1 cache, as it is not very close to the CPU on the die. In AMD processors, this cache type has much greater capacity (usually 4 MB) when compared to Intel chips. Here the chances of hits and misses are equal. In an AMD processor the chance of hits is much more due to their bigger size.
L3 is the most advanced and largest cache on the processor's die chip. L3 cache is the slowest CPU cache unit until now, yet it is still far faster than the RAM. This has a large size for storing a great deal of data for quicker access. Here the chance of hits is very high, but it does not mean that there are no misses.
With explanations out of the way, let's move on to benchmarks. If we take three CPUs which feature the same number of cores as well as having identical clock rates, we can do some raw explanations.
Although we cannot do any head to head comparisons, by individual benchmarks we can arrive at a conclusion. In gaming benches, most games will show an average increase of 5 to 10 FPS when a CPU with a 4MB cache is compared to one with 2MB. The amount performance will improve varies greatly for different games, though the larger CPU cache has a borderline advantage. Just like in the aforementioned gaming benches, in synthetic benchmarks higher cache has the lead over others. Real-life performance increases are more noticeable and important.
It is worth noting that, surprisingly, software used for purposes like compression, video playback, internet browsing and video editing do not show any improvement through higher cache. This is probably because their data is not stored in cache due to less its frequent use, and hence the higher cache has no benefit.
Finally, we get to the point that CPU cache has an important role to play in CPU performance in areas which we usually take for granted, such as system start up. Modern processors utilize CPU cache more effectively, and thus it’s quite important to get a processor with an adequate amount of cache. Benchmarks also show noticeable FPS increases, so it’s clearly better if you know what’s under the hood.
To learn a little more, head over to Wikipedia to learn everything related to cache not included in performance factors.
Next Sunday, we will be covering the next three points in our series on getting to know your CPU, with our final two points and some helpful tips coming the week after that.
Did you find this article helpful?
Is there anything we missed out or didn’t explain sufficiently?
Thoughts and queries in the comments, please!