qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).