SoC is from the embedded system development world - as more and more coprocessors were being put into the same chip to consolidate board space and power efficiency, it wasn’t “just” a cpu - it had the CPUs, GPUs, DSPs, and other coprocessors in one
x86 has moved a lot closer to this architecture over the years, but you still generally have a separate chipset controller on the motherboard the CPU interfaces with
The reason is flexibility, the board manufacturer can decide how many PCIe lanes to send where, how many USB ports there’s going to be etc. Modern mainboards are a power delivery system and IO backplane.
Yeah but then you can’t switch out the chipset without having a different CPU skew and probably also socket because changing IO without changing up pins doesn’t sound like a good idea. People would barely notice the additional sockets with Intel but we don’t want to take Intel as a benchmark there, do we.
My guess would be partially because there are fewer possible interfaces, and they’re directly connecting the CPU to a separate Ethernet/WiFi MAC, USB hub controller, and audio DSP rather than having a separate chipset arbitrating who’s talking to the CPU and doing some of those functions?
my understanding, from the block diagrams they release, is that these io functions are simply integrated into the cpu. in a way that could probably be implemented in desktops too.
I can’t say for all of them, I just knew that e.g. the z790 chipset still ran the ethernet phy, audio dsp, SPI, their version of TrustZone, etc through the chipset
Back in the days a CPU was a chest-height cabinet with another chest-height cabinet besides it, containing a magnetic drum or core memory or something, acting as RAM. That stuff moved into the CPU case, then it moved into the CPU package there’s really no difference the central processing unit is still the central processing unit no matter how much stuff you include.
This was the first SoC: An ARM3 core, memory controller, IO controller, video accelerator. It’s hard to find an x86 nowadays that doesn’t have all of that on the package: A system processor to manage everything, multiple application cores, usually at least two memory controllers, decent to absurd amount of PCIe lanes, and a GPU. Chipsets nowadays do little more than manage power, feed the SoC its initial code, and split up some PCIe lanes to provide custom IO because keyboards don’t tend to speak PCIe.
System on a chip. Think like a Qualcomm or Samsung processor, or the new M line from Apple
in other words, the cpu
For most intents and purposes
SoC is from the embedded system development world - as more and more coprocessors were being put into the same chip to consolidate board space and power efficiency, it wasn’t “just” a cpu - it had the CPUs, GPUs, DSPs, and other coprocessors in one
x86 has moved a lot closer to this architecture over the years, but you still generally have a separate chipset controller on the motherboard the CPU interfaces with
laptops all have pretty much an x86 soc. separation between cpu and chipset nowadays happens only on desktops for some reason.
The reason is flexibility, the board manufacturer can decide how many PCIe lanes to send where, how many USB ports there’s going to be etc. Modern mainboards are a power delivery system and IO backplane.
this makes sense but can’t it be done with integrated chipsets too?
Yeah but then you can’t switch out the chipset without having a different CPU skew and probably also socket because changing IO without changing up pins doesn’t sound like a good idea. People would barely notice the additional sockets with Intel but we don’t want to take Intel as a benchmark there, do we.
I haven’t looked that closely at laptop CPUs
My guess would be partially because there are fewer possible interfaces, and they’re directly connecting the CPU to a separate Ethernet/WiFi MAC, USB hub controller, and audio DSP rather than having a separate chipset arbitrating who’s talking to the CPU and doing some of those functions?
my understanding, from the block diagrams they release, is that these io functions are simply integrated into the cpu. in a way that could probably be implemented in desktops too.
I can’t say for all of them, I just knew that e.g. the z790 chipset still ran the ethernet phy, audio dsp, SPI, their version of TrustZone, etc through the chipset
https://www.funkykit.com/wp-content/uploads/2022/10/intel-z790-chipset-diagram.jpg
If you have the block diagrams for the laptop ones, I’d be curious
Back in the days a CPU was a chest-height cabinet with another chest-height cabinet besides it, containing a magnetic drum or core memory or something, acting as RAM. That stuff moved into the CPU case, then it moved into the CPU package there’s really no difference the central processing unit is still the central processing unit no matter how much stuff you include.
This was the first SoC: An ARM3 core, memory controller, IO controller, video accelerator. It’s hard to find an x86 nowadays that doesn’t have all of that on the package: A system processor to manage everything, multiple application cores, usually at least two memory controllers, decent to absurd amount of PCIe lanes, and a GPU. Chipsets nowadays do little more than manage power, feed the SoC its initial code, and split up some PCIe lanes to provide custom IO because keyboards don’t tend to speak PCIe.