From: Peter Maydell <peter.maydell@linaro.org>
To: Liviu Ionescu <ilg@livius.net>
Cc: Igor Mammedov <imammedo@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RFC] extensions to the -m memory option
Date: Fri, 29 May 2015 22:40:48 +0100 [thread overview]
Message-ID: <CAFEAcA8uuQLT+869QS9vqB-1D2m8CVqi66ovwV5gTNc0-tNccA@mail.gmail.com> (raw)
In-Reply-To: <B335E94A-D959-45C3-A4B9-AD0474B81A3C@livius.net>
On 29 May 2015 at 21:26, Liviu Ionescu <ilg@livius.net> wrote:
>> On 29 May 2015, at 22:32, Peter Maydell <peter.maydell@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
next prev parent reply other threads:[~2015-05-29 21:41 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-28 22:11 [Qemu-devel] [RFC] extensions to the -m memory option Liviu Ionescu
2015-05-29 9:11 ` Igor Mammedov
2015-05-29 19:22 ` Liviu Ionescu
2015-05-29 19:32 ` Peter Maydell
2015-05-29 20:26 ` Liviu Ionescu
2015-05-29 21:40 ` Peter Maydell [this message]
2015-05-29 21:49 ` Liviu Ionescu
2015-05-30 9:39 ` Peter Crosthwaite
2015-05-31 14:05 ` Liviu Ionescu
2015-05-31 18:45 ` Peter Crosthwaite
2015-05-31 20:59 ` Liviu Ionescu
2015-05-31 22:10 ` Peter Crosthwaite
2015-05-31 22:24 ` Liviu Ionescu
2015-05-31 22:27 ` Peter Crosthwaite
2015-05-31 22:36 ` Liviu Ionescu
2015-05-31 22:59 ` Liviu Ionescu
2015-05-31 23:44 ` Peter Crosthwaite
2015-06-01 0:14 ` Liviu Ionescu
2015-06-01 2:26 ` Peter Crosthwaite
2015-06-01 7:08 ` Liviu Ionescu
2015-06-01 20:36 ` Liviu Ionescu
2015-06-03 12:31 ` Liviu Ionescu
2015-06-03 17:48 ` Peter Crosthwaite
2015-06-08 7:12 ` Markus Armbruster
2015-06-02 10:15 ` Liviu Ionescu
2015-06-02 10:32 ` Peter Crosthwaite
2015-06-02 10:42 ` Peter Maydell
2015-06-02 11:01 ` Liviu Ionescu
2015-06-02 20:23 ` Peter Crosthwaite
2015-06-01 7:19 ` Paolo Bonzini
2015-06-01 8:30 ` Liviu Ionescu
2015-06-01 8:53 ` Paolo Bonzini
2015-06-01 9:16 ` Peter Crosthwaite
2015-06-01 9:21 ` Peter Maydell
2015-06-01 9:45 ` Liviu Ionescu
2015-06-01 9:23 ` Liviu Ionescu
2015-06-01 9:41 ` Paolo Bonzini
2015-05-29 11:08 ` Paolo Bonzini
2015-05-29 19:27 ` Liviu Ionescu
2015-05-29 19:33 ` Paolo Bonzini
2015-05-29 20:13 ` Liviu Ionescu
2015-05-29 20:15 ` Paolo Bonzini
2015-05-29 20:38 ` Liviu Ionescu
2015-05-30 9:55 ` Peter Crosthwaite
2015-05-30 10:32 ` Paolo Bonzini
2015-05-30 20:20 ` Peter Crosthwaite
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAFEAcA8uuQLT+869QS9vqB-1D2m8CVqi66ovwV5gTNc0-tNccA@mail.gmail.com \
--to=peter.maydell@linaro.org \
--cc=ilg@livius.net \
--cc=imammedo@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).