First of all, we have to clarify that before 2006, with the launch of Intel’s Core 2, all CPUs were single-core and, therefore, single-processor. In other words, the historical trend has been to call the central chip of our computer a processor or CPU, but in reality we should call it the processor chip or CPUs. The reason? Each of the cores is a processor in itself, so if we say that an AMD Ryzen or an Intel Core have 6 cores, we are saying that they really have 6 processors, even though they are on the same chip.
The general confusion between core and processor
The idea is that they all work together, so in the parts of the programs that can be executed in parallel we will see several cores working together an efficient division of labor. Instead, there will be parts of the code where a single core will be required to show its potential. That is why in each generation of processors not only seeks to have the largest number of cores possible, but also to improve the performance of each of them individually.
On the other hand, since all of them have common access to the same RAM memory, they have a last level cache memory, common among all of them, which communicates them with a common memory controller. This allows them to be consistent with memory and to know that any change to a program that a kernel has made is known to the rest and they can work in unison on the same programs and applications.
The other processors in the system
In your PC there is not only the CPU, but also other types of cores and supporting processors. These are not usually counted due to not being inside the main chip on the motherboard, but are part of the overall computer assembly. So if we are strict, when asked how many processors does my PC have, we should also count those found in the rest of the components as well.
How many processors can a PC have?
Well, it will depend on the type of computer we are talking about. We have to start from three important points that are what differentiate server processors from those of conventional PC.
- The more cores, then the larger the processor will be and, therefore, the point will be reached where its cost will be prohibitive for the desktop market.
- More cores require more communication with memory, since the pins for interfacing with RAM are always on the periphery, this will also mean a larger chip.
- And obviously also a high number of cores will mean a higher consumption.
So to the question of how many processors can a computer have, the first answer is simple: as many as can be placed on the chip. The other problem is the internal intercommunication between them. If we have few cores, four at most, we can use direct intercommunication, but above a certain number that complicates the circuitry, since this is always the square of the number of cores.
That is why in systems with 6 cores and above, ring intercommunications are used, which are much simpler to place, but with the downside that adding more cores increases the latency between them and can be counterproductive to performance. In any case, there is a limit that can be set and it will depend on the size assigned to the chip, the manufacturing node, and the electrical power assigned. Decisions that are made as soon as the design phase begins.
What processors are not
A processor is defined by the fact that it can execute the three main stages when processing an instruction. That is, capture (Fetch), decoding (Decode) and execution (Execute). We say this due to the fact that it is common in graphics card marketing to call the ALUs that handle the last stage as CUDA cores or Stream Processors. That is to say, it is as if we counted a part of an internal combustion engine as if it were an engine itself. Isn’t that nonsense?
On the other hand, many applications when counting the execution threads of a processor count them as cores and when asked how many processors there are, they show them wrongly. This is because they count the execution threads. And the catch is that modern kernels have duplicate parts of the capture and decoding units to switch tasks on the fly if the main one is stuck. That is to say, it is the same as when your PC stays doing a task with which you cannot interact and while you wait for it to finish you take the opportunity to do other things.
Both elements do not answer the question of how many processors there are because they are not complete units, whether we are talking about a CPU or a GPU. By the way, in the latter we should count as processors or cores the number of Compute Units in AMD or SM in NVIDIA, which are in charge of the three main stages.