I was interested to read in
this thread by
@Amethyst that at least one version of the Apple Silicon Mac Pro's development samples did
not feature socketed RAM. This lead me to wonder:
- Is there any technical reason why Apple Silicon couldn't use (socketed) DDR* SDRAM instead of (soldered) LPDDR* SDRAM?
The only performance difference I am aware of between the two is that LPDDR is more power-efficient. Obviously that makes it the better choice for almost all mobile devices.
"more power-efficient" substantively undercuts the technical differences.
1. The data path width is different. 16 bits wide for LPDDR and two 32 bits wide for the data channels.
So somewhat like saying there is no difference between a physical x16 slot and a physical x4 slot if you have a x16 card.
The technical problem here is that Apple has unusually high number of memory controller paths out of their designs. The 'lowly' M1/M2 have four were as most mainstream desktop chips have just two. Apple can pack in more paths because the LPDDR is narrower.
Technically Apple could build a completely different controller with a different width. Apple could even conceptually kick the memory controllers completely off the main die with cores.
2. The ECC path differences are grossly different. LPDDR doesn't have a segregated ECC data path from the data. The ECC data would need to go up/down the regular data path. Again DDR implementation is wider which technically (since die edge space is limited) will squeeze down the number of memory channels can straightforwardly attach to the die.
Again a completely different controller implementation.
3. The rest of the SoC is fundamentally designed around the ability to do a relatively very high number of concurrent memory requests. Apple's whole set up compensates for 'slower' memory by going wider. The internal communications network is set up to provision this "poor man's HBM" implementation they have composed. If they switched to throwing a high number of disparate , concurrent memory requests at half the number of memory controllers are the data return latencies going to be the same? The write latencies going to be the same?
[ Over last decade or so when GPU vendors take their cores designed around GDDRx and provision them in an iGPU with a two channel memory controller for a desktop with DIMMs slots does the performance generally go up or down? ]
"But can just whip up a new memory controller" ....
Not directly a technical problem, but as they used to say at NASA back in the early 60's " No bucks , no Buck Rogers". You have to get funded to do bleeding edge high tech. The technical differences indirectly drive a higher cost.
Also a cost in 'die space'. Can make a "does everything" controller and try to amortize it out over every single SoC die sold. ( and the do everything controller would be bigger so get less per limited die edge space). But that extra die space when selling 10's of millions of dies is a substantively higher effective wafer costs if it is extremely unused among those 10's of millions of placements.
And my amateur understanding is that LPDDR and DDR of the same generation aren't substantially different in architecture so that it would mean making a computer that would use DDR would be a substantial additional development cost for Apple. (If anything, DDR would seem to be simpler!)
That is the flaw. There are substantively different in architecture. And LPDDR can be put on So-DIMMs also. DIMMs are out because can't really do the "poor man's HBM" with DIMMs. Has little to do with LP/regular DDR.
The "poor man's HBM" constraint is technically driven by the high performance iGPU characteristics . DIMMs slots do diddly squat to help that. Throwing both performance
and power consumption efficiency out the window just to get modularity. ( So to a substantive degrees mostly a form over function argument. Not getting more on the functional dimensions throwing out . ) And not accounting for how the "memory only modularity" impacts on the rest of the SoC design.
Of course, development samples are (by definition) not finished products, so I still retain hope that the final version might included socketed DDR (just as it will almost certainly include more than this sample's one PCIe slot) – that is, unless someone is aware of some limitation of Apple Silicon's design which would make socketed DDR infeasible.
That is grossly deeply wishful thinking. The primary purpose of putting beta hardware out there is to test it with a variety of workloads . Substituting a completely different memory subsystem would require another round of beta testing. Intel doesn't beta test their Xeon SP server hardware by shipping out boards with mainstream laptop chips on them. It is a completely different sized chip package.
For DDR and slots to be in play Apple would need a substantially even bigger chip package in order not to backslide on memory throughput. If Apple had used LPDDR to implement a legacy "laptop" like memory bandwidth performance then that would be a different story. The technical challenge for regular DDR is do a better job at building a "poor man's HBM" solution. And it doesn't ( at least for DDR5 generation. ).
The technically easier path for Apple to add DDR5 DIMMs in for a 'add-on' to the foundation would be as some RAM-SSD. Either make it so just the file system uses it ( file system already compresses some RAM data, so already a 'swap to something closer and faster than disk' mechanism in place. ) . If memory map files in then larger files more readily loaded into RAM-SDD. And implemented off the main die(s) so as not to cut into the primary edge space budget. The bandwidth and latency would just have to be mostly much better than "disk" (SSD), which wouldn't be that hard to do.
P.S. for PCI-e slots. That is much easier to hide on a prototype board. The iMac Pro 'threw away" over x16 PCI-e v3 lanes from the CPU package. They were present on the package, but the internal logic board just didn't use them. Apple has done that on several systems ( MBP 13" models that had x16 PCI-e lane provisioning for a dGPU and Apple used none. Several lanes left unused even after provisioned Thunderbolt controllers).
Frankly, few if any useful descriptions of that slot every got offered up. If that was x4 PCI-e v3/4 slot then there really wasn't anything substantial provisioned there anyway. Counting up the slot numbers is incomplete. If Apple put six x4 PCI-e v3 slots in a new Mac Pro I highly doubt most of the folks complaining about one slot would be happy. (e.g., take the gross excess TB controllers in the Quad SoC available and pragmatically make a built in TB PCI-e expansion box. )