• boonhet@lemm.ee
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    1
    ·
    edit-2
    4 months ago

    ARM and RISC-V are entirely different in that neither one is based on the other, but what they have in common is that they’re both RISC (Reduced Instruction Set Computing) architectures. RISC is what makes ARM CPUs (in your phone, etc) so efficient and hopefully RISC-V will get there too.

    x86 by comparison is Complex Instruction Set Computing, which allows for more performance in some cases, but isn’t as efficient.

    • __dev@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      4 months ago

      The original debate from the 80s that defined what RISC and CISC mean has already been settled and neither of those categories really apply anymore. Today all high performance CPUs are superscalar, use microcode, reorder instructions, have variable width instructions, vector instructions, etc. These are exactly the bits of complexity RISC was supposed to avoid in order to achieve higher clock speeds and therefore better performance. The microcode used in modern CPUs is very RISC like, and the instruction sets of ARM64/RISC-V and their extensions would have likely been called CISC in the 80s. All that to say the whole RISC vs CISC thing doesn’t really apply anymore and neither does it explain any differences between x86 and ARM. There are differences and they do matter, but by an large it’s not due to RISC vs CISC.

      As for an example: if we compare the M1 and the 7840u (similar CPUs on a similar process node, one arm64 the other AMD64), the 7840u beats the M1 in performance per watt and outright performance. See https://www.cpu-monkey.com/en/compare_cpu-amd_ryzen_7_7840u-vs-apple_m1. Though the M1 has substantially better battery life than any 7840u laptop, which very clearly has nothing to do with performance per watt but rather design elements adjacent to the CPU.

      In conclusion the major benefit of ARM and RISC-V really has very little to do with the ISA itself, but their more open nature allows manufacturers to build products that AMD and Intel can’t or don’t. CISC-V would be just as exciting.

      • pantyhosewimp@lemmynsfw.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 months ago

        Thank you so much for this information.

        If you still have commenting motivation, what are the top 5 differences between x86 and ARM?

        Up until your post I had thought it exactly was the size of the instruction set with x86 having lots of very specific multi-step-in-a-single instruction as well as crufty instruction for backwards compatibility (like MPSADBW).

        • exu@feditown.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          4 months ago

          You can pay ARM to build and sell cores, you can’t do that for x86.

        • areyouevenreal@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          4 months ago

          ARM is load-store and has a relaxed ordering. Whereas x86 has instructions that can read straight from memory, and has Total Store Ordering. ARM also is fixed instruction width, where x86/AMD64 is variable instruction width. Outside of that the difference is mostly licensing.

    • areyouevenreal@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      The CISC vs RISC thing is dead. Also modern ARM ISAs aren’t even RISC anymore even if that’s what they started out as. People have no idea what’s going on with modern technology.

      X86 can actually be quite low power (see LPE cores and Intel Atom). The producers of x86 don’t specialize in that though, unlike a lot of RISC-V and ARM producers. It’s not that it’s impossible, just that it isn’t typically done that way.

    • Echo Dot@feddit.uk
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      So is Reduced Instruction Set like in the old assembly days where you couldn’t do multiplication, as there wasn’t a command for it, so you had to do multiple loops of addition?

      • Spedwell@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        4 months ago

        Right concept, except you’re off in scale. A MULT instruction would exist in both RISC and CISC processors.

        The big difference is that CISC tries to provide instructions to perform much more sophisticated subroutines. This video is a fun look at some of the most absurd ones, to give you an idea.

      • boonhet@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        Nah, the Complex instructions are ridiculously complex and the Reduced ones can still do a lot of stuff.