top | item 39652862

(no title)

dljsjr | 2 years ago

MPU -> Microprocessor. MPUs typically have features that let it support a "full" OS; MMUs, speculative execution, advanced CPU pipelining features, etc. They also have a much higher RAM capacity. Often has more complicated power requirements when doing board design due to needing different voltage busses for different peripherals. Usually can't be run standalone, you have to bring some of your own peripheral hardware. For example, you usually need to bring your own RAM.

MCU -> Microcontroller. Low power, less RAM, limited MMU/memory protection features, typically run baremetal firmware or an RTOS. Usually so simple it only needs a single voltage rail. More or less self-contained. Has RAM and ROM on-die.

SoC -> System-on-a-chip. Actually a very vague term. But in broad strokes, an SoC is what it says: An entire system on a single chip. Could incorporate an MCU or an MPU, plus other peripherals, etc. You can almost think of it as a "single chip computer" as opposed to a "single board computer". It's almost more of a marketing term than an EE term. For example, the Apple Silicon stuff is a "SoC" because it has the MPU + GPU + RAM on a single die.

discuss

order

m-ee|2 years ago

I tend to think of an SoC as "MCU with other peripherals not typically on an MCU", so BLE/WiFi radio or maybe gate drivers for motor control. But usually radios. As you pointed out "not typically on an MCU" is a moving target. Was a point where RAM and a decent ADC would be things you had to add externally.

demondemidi|2 years ago

The definition of MPU is basically CPU, no?