When we have to change the CPU of our PC, unless it is compatible with the socket of our motherboard, we have to change almost the entire PC. Wouldn’t it be ideal to have in a expansion card for the processor? Well, we are going to explain to you the reasons why this has not been done since the Intel Socket 1 of the Pentium III and it will not be done in the future either (surely).
For any central processor, the biggest bottleneck is communication with the RAM memory, there is no more. It is the universal limitation which, for physical reasons, will always be there and which at the same time makes certain scenarios impossible. The case in question is that of having the processor as an expansion card, so we would really be talking about a scenario like that of graphics cards, in which the main memory and the processor would be on the same PCI Express card.
Can another processor be added via an expansion card?
Imagine for a moment the following scenario: instead of using a socket to connect the central processor to the motherboard, Intel and AMD decide that their PC CPUs will come in the form of an expansion card that can be plugged into a PCI-Express slot.
At first glance, this would be ideal, it would allow us to have universal motherboards for both Intel and AMD. Moreover, at the same time, the chipsets on the board would be universal, and we would not have a large number of models of motherboards for different processors. That would be ideal, don’t you think? Well, it has never been done on PC and the reasons are not, as many may believe, economic, but technical. Although if it did, it wouldn’t be a novelty either.
A bit of historical perspective
Before the PC became standardized as we know it now, a MITS Altair-based standard called S-100 appeared in which all components communicated through a common board which was a series of fully expandable card slots. symmetrical. Even the central processor was on a separate expansion card. Of course, these were minority systems at a time when users themselves had to know how to both program and solder to create their own boards or sell them to others.
The image above corresponds to an Intel 8086, out of curiosity, the three biggest chips are not the CPU, but also the memory controller which was not integrated at the time and the device manager. The rest? RAM memory. Notice how even with a processor clocked below 5 MHz, the system RAM is not on another board. Indeed, if the distance between a processor and a memory is too high, this is detrimental because the transmission of the signal slows down. In theory, the idea would be none other than placing the RAM and CPU on the board itself, but that brings us to the next question.
Could two such cards communicate with each other?
The fact that we have two memory pools that are very far apart poses a series of problems, because we not only have to make sure that there are coherency mechanisms in a non-unified system, which is a hardware nightmare. In addition to the fact that when a piece of data or an instruction ends up in the memory of another card, the latency would be too high.
What hours would we be talking about? The PCI Express interface can add, if we’re generous, 200 nanoseconds per access to what we’d already get with a direct memory connection, so instructions would take much longer to complete and overall performance would drop dramatically during the time it takes The CPU would have to receive the instructions. What has been done, instead, is to use a general purpose CPU as the core accelerator, but that hasn’t been done due to the fact that it was discovered long ago that GPUs for some tasks are more efficient than adding more cores.
So no, you can’t add more cores to the CPU as an expansion card, would it be ideal to be able to? There is no doubt, but we hope you have understood the reasons that make it totally impossible.