CPU
The CPU (Central Processing Unit) of a PC is often said to be the ‘brain’ of the system, because a CPU controls the basic logic and arithmetic operations, as well as handling interactions between system components such as the system memory.
The CPU (Central Processing Unit) of a PC is often said to be the ‘brain’ of the system, because a CPU controls the basic logic and arithmetic operations, as well as handling interactions between system components such as the system memory.
Whilst this may sound grandiose, and there is lots of discussion to be had about the differences between their products, the realistic short version of this section is as follows: There are only two companies who currently make CPUs for desktop computers: AMD and Intel, and basically any current product from either will be fine for the average user.
Their products do differ somewhat in what they focus on, and differ hugely in how they work - even though they perform the same function for the end user. Even though their products work differently underneath, to the average end user these differences are somewhat negligible, since the end result is all that matters.
This socket is the physical arrangement of the one side of the CPU that attaches to the motherboard it is to be located on. They are thus the physical and electrical way that a CPU transfers and receives information to and from other components. Processor sockets often change as a way of preventing hardware from being installed into systems that are incompatible with them, whilst also allowing newer standards to be used for faster and more advanced features. As such a processor will need to have an identical socket to the motherboard than that CPU is to be used on, otherwise they can not be used together.
AMD typically does not change sockets particularly often, and thus processors from different product generations will often be compatible because they use the same socket. Examples of AMD sockets include AM3, FM2, and the current AM4.
By comparison Intel uses new sockets regularly, and often uses a different socket with each new product generation or every second product generation. Examples of Intel sockets include LGA 1366 - socket B, LGA 1155 - socket H2, and LGA 1150 - socket H3.
A processor core is all of the hardware that is required in order to correctly execute every possible instruction that that CPUs instruction set supports. As such a program can run completely on a single processing core. Modern CPUs typically include numerous CPU cores. Having many CPU cores potentially allows them to have numerous sets of programs running at the same time, which can be a multiplier to how much work the CPU can perform at once.
Not every task can be spread across multiple cores to make use of all of them at once though. For example, I start with the number 2, and I want my CPU to continually double that number. This is a very simple task. The CPU would start by doubling it to 4, then 8, etc, however this task would likely be impossible, or at least very difficult, to use multiple cores for, because in order to know what number it has to double, it has to have finished doubling the previous number, so you have to wait for the previous calculation to finish before a new one can be started, thus only one CPU core would likely be used.
Most games typically do not currently make use of more than 4 cores, and only certain very modern examples being able to use more than 8. 8 cores is therefore about the current maximum number that modern games can use as of time of writing, however this will increase as time goes on. Games that can make use of lots of cores can bottleneck in places if they do not have sufficient amounts of cores, even if the cores they do have are extremely fast.
Frequency is defined to be the number of times a certain thing occurs. The unit of measurement for frequency is Hertz (Hz) - the number of times per second something occurs. For example 20Hz means that something happens 20 times per second, or once every 0.05 seconds.
Modern processors have their speeds defined in some multiplier of Hz, these days typically Gigahertz (GHz), with 1GHz representing 1 billion Hz. The Hz of a CPU indicates the speed at which its cores can execute instructions, with a higher frequency representing more instructions being able to be executed in any given time. As such if [and only if] all else were equal, a processor with a higher frequency would be able to perform more operations than one with a lower frequency, and thus operate faster.
CPUs can also be Overclocked, which increases this clock frequency, thus allowing the CPU to execute instructions faster. Overclocking can be a good way of getting more performance out of a CPU, however a CPU can only be overclocked so far, either because of limitations in what the CPU can handle without instability, or just a limit to how quickly the additional heat an overclocked CPU generates can be dissipated before the CPU overheats.
Every CPU features a Cache, which it uses to store data. This cache is orders of magnitude faster than RAM, being located inside the CPU itself as part of the hardware, which it uses to store very frequently accessed information for extremely quick retrieval and use. Caches are usually split between a data cache, and an instruction cache, which of course store instructions and data that the CPU frequently uses, respectively.
Modern CPUs typically feature three types of data cache (L1, L2, and L3), however some older or lower-end CPUs may only feature two. Caches are ordered, with the lower level cache’s being faster, but smaller. Higher level cache’s are much larger, but also slower. Each core will have its own L1 cache, as sharing these could massively decrease performance of the CPU as a whole. L2 cache is often split between pair of adjacent processors, and L3 cache is usually shared across all cores for the processor. A processor will check these caches for the data it wants, only going to read the data from the much slower RAM if the data is not found in a cache.
Higher amounts of cache can therefore dramatically speed up system performance, however how much is actually gained in practice by a larger cache will heavily depend on the applications being run and how they are written, and the CPU and its architecture.