• leisesprecher
    link
    fedilink
    arrow-up
    11
    ·
    5 months ago

    Those are still CPUs. Microcontrollers have CPUs, and those are the smallest units that can actually run code in a meaningful way.

    However, Linux needs an MMU as far as I know, so you won’t see Ubuntu boot on an esp32, even though it does have a CPU.

    • MajorHavoc@programming.dev
      link
      fedilink
      arrow-up
      17
      arrow-down
      1
      ·
      edit-2
      5 months ago

      Those are still CPUs. Microcontrollers have CPUs, and those are the smallest units that can actually run code in a meaningful way.

      If the whole board is the CPU, we typically don’t call it a CPU. (The C is for Central.) There’s very few left, but there’s still hardware out there, running code, that could be called CPU-less.

      I do take your point that it’s down to pendantic wording, at that point. Something very like a CPU, that most of us are going to just call a CPU, is going to be present.

      However, Linux needs an MMU as far as I know, so you won’t see Ubuntu boot on an esp32, even though it does have a CPU.

      Yeah. There’s certainly an argument to be made that whatever is left is not really the Linux Kernel anymore, after modifying it enough to run CPU-free. But I suppose it’s still more fair to call it Linux, than not to, at that point.

      • leisesprecher
        link
        fedilink
        arrow-up
        7
        ·
        5 months ago

        Microcontrollers aren’t “the whole board”, following that definition, an SoC wouldn’t have a CPU either.

        MCs require support components. Clocks, power converters, level shifters, modem, etc. You’ll hardly wire a barrel plug and a servo directly to a DIP (though that would be pretty cool).