this post was submitted on 30 May 2024
358 points (99.4% liked)
Technology
59340 readers
6021 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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
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.
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