On 29 May 2015 at 21:26, Liviu Ionescu <i...@livius.net> wrote: >> On 29 May 2015, at 22:32, Peter Maydell <peter.mayd...@linaro.org> wrote: >> RAM and flash size is not a property of the CPU -- the M3 itself >> has no builtin memory. RAM and flash are external to the CPU and >> are part of the SoC, so the CPU would be the wrong place to specify >> their sizes. > > ok, probably according to the dictionary you are right. > > however, in the microcontroller world, it is usual to abuse the terms > and use CPU for MCU. > > also, from a pure linguistic point of view, although microcontrollers > (having plenty of memory and countless peripherals) can be considered > "SoC", my understanding is that usually SoC is more appropriate for > 'systems' running an operating system (most of the time linux), than > to MCUs running a simple scheduler.
The important distinction is not linguistic but in how we model things. There is a set of layers: 1) the CPU is the set of things in a Cortex-M3 (in this case), as defined by the technical reference manual for the processor; that has the registers and the MPU and so on in it 2) what I call the "SoC" and which in the microcontroller world is called the MCU is the bit of silicon which contains: * a CPU * various devices like a UART and others * probably flash, maybe RAM 3) a "board", which has the SoC/MCU chip on it, and likely some other chips, but perhaps none; if the RAM isn't built into the SoC then it's on the board QEMU models these in layers because the hardware is in layers. The RAM and flash are not in the Cortex-M3 in our model, because they're not in the M3 in real life either. "SoC" just means "system on chip", ie "one chip, with a CPU and enough devices on it to be a more-or-less complete system". (You don't need an SoC for a system in theory, you could build one with a separate CPU and devices all on their own chips, but in practice ARM CPUs tend to come in SoCs.) Whether you call it an SoC or an MCU, the key point is that there's a level of abstraction, a container, between the CPU itself and the board. That's where the RAM and flash usually live and that's where the properties to control their size probably belong. -- PMM