It's ewaste, or at least, an interesting artifact in computer design history.
What frameworks and GUI Apple built on top of Darwin are not open source.
Also, releasing their software as open source goes against their business model as they wouldn't be able to enforce its use only on their hardware.
People wants Apple software but that only comes with their hardware.
System on Chip are called System on Chip because they don’t expose I/O ports(like PORTA through PORTD on AVR) to the pins thus can’t interface RAM or ROM or other peripherals natively, but only over narrower buses through internal interface chips/logics.
In my rule of thumb, every surface mounted “CPU” between 80 to 200MHz across industries were called SoC from 2003 through 2010s.
Those CPUs/MPUs that do expose I/O directly to be interfaced to SDRAM, LCD or equivalents of North Bridge chip on PC were usually called either MPU or CPU, often MPU for they integrate some peripherals. Those were roughly 200MHz and above, including PowerPC for NAS or x86 for PC for which heat or footprint were not concerns.
Those under 80-120MHz were often called Microcontrollers(uC). They were also often self contained like SoC but didn’t count, also got a lot higher clocked recently but still don’t.
Intel and AMD refer to their systems as SoC since Apple started doing custom SoC, and that might give you an impression that it’s new and better. That’s not true.
SoC means CPU’s main I/O ports are not exposed to pins.
Intel and AMD refer to their systems as SoC since they integrated the north bridge (which includes the memory controller) into the chip, has nothing to do with Apple.
> CPU’s main I/O ports
That's a weird definition. Most architectures don't have "I/O ports" and use memory-mapped I/O exclusively. And even if we read that as "any kind of I/O pins" and go back to the
> can’t interface RAM or ROM or other peripherals natively
part: the vast majority of mobile SoCs in the 2010s use external RAM (and storage). The memory controller is onboard and the external connection is directly to DDR3/4/.. chips.
> System on Chip are called System on Chip because they don’t expose I/O ports(like PORTA through PORTD on AVR) to the pins thus can’t interface RAM or ROM or other peripherals natively, but only over narrower buses through internal interface chips/logics.
What does IO port multiplexing of the AVR have to do with the definition of SoC?
> In my rule of thumb, every surface mounted “CPU” between 80 to 200MHz across industries were called SoC from 2003 through 2010s.
No. I dont see how the physical mounting of the package changes anything. Most processors are surface mount, even some bga x86 chips.
> Those CPUs/MPUs that do expose I/O directly to be interfaced to SDRAM, LCD or equivalents of North Bridge chip on PC were usually called either MPU or CPU, often MPU for they integrate some peripherals.
No. MPU = MicroProcessor Unit.
> Those under 80-120MHz were often called Microcontrollers(uC). They were also often self contained like SoC but didn’t count, also got a lot higher clocked recently but still don’t.
So modern highly integrated microcontrollers, an effective system on a chip with 300+MHz core speed, sram, flash, eeprom, can, uarts, ethernet, pwm, counters, dac's, adc's, arent system on chips?
> SoC means CPU’s main I/O ports are not exposed to pins.
Uh, No.
Not sure how to purge that psychology.
I think that's something most of us struggle with. That doesn't mean you're not a great person :-) I appreciate the humble reply.
And Apple didn't use ARM reference designs in early iPhones; they were using Samsung SoCs. Pretty much nobody uses the ARM reference designs except as an early prototyping target.
This isn't true. The majority of ARM based SoCs today use the Cortex or Neoverse reference designs from ARM. Today there are only a few handful of vendors who fully develop their own core, such as Cavium, Apple, and Ampere.
In the context of reference designs, you see stuff like the ARM Juno designs. I've seen people (very very rarely) just drop those whole designs into their boards. But, like I said, almost nobody uses them except as a prototyping target.
Samsung also fabbed their SOCs.
PowerVR designed the GPUs in Apple SOCs.