qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] extensions to the -m memory option


From: Peter Maydell
Subject: Re: [Qemu-devel] [RFC] extensions to the -m memory option
Date: Fri, 29 May 2015 22:40:48 +0100

On 29 May 2015 at 21:26, Liviu Ionescu <address@hidden> wrote:
>> On 29 May 2015, at 22:32, Peter Maydell <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]