• floridaman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    7
    ·
    1 year ago

    Not an eli5 because I’m still not caught up on it but if my memory serves, RISC-V is an open source architecture for processors, basically like amd64 or arm64, actually I’m pretty sure ARM’s chips are RISC-V derivatives.

    • boonhet@lemm.ee
      link
      fedilink
      English
      arrow-up
      33
      arrow-down
      1
      ·
      1 year 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
        ·
        1 year 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
          ·
          1 year 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).

          • areyouevenreal@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year 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
        ·
        1 year 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
        ·
        1 year 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
          ·
          1 year 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
          ·
          1 year ago

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

    • qaz@lemmy.world
      link
      fedilink
      English
      arrow-up
      19
      ·
      1 year ago

      ARM = Advanced RISC Machine

      However, RISC-V is specific type of RISC and ARM is not a derivative of RISC-V but of RISC.

      • Rinox@feddit.it
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        ARM = Advanced RISC Machine

        Originally Acorn RISC Machine before that

      • Blisterexe@lemmy.zip
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        To clarify for those that might not understand that explanation, RISC is just a type of instruction set, x86 is CISC, but arm and RISC-V are RISC

        • sugar_in_your_tea@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 year ago

          Yup. In general:

          • CISC - complex instruction set - you’ll get really exotic operations, like PMADDWD (multiply numbers, then add 16-bit chunks) or the SSE 4.2 string compare instructions
          • RISC - reduced instruction set - instead of an instruction for everything, RISC requires users to combine instructions, and specialialized extensions are fairly rare

          Modern CISC CPUs often (usually? Always?) have a RISC design behind the CISC interface, it just translates CISC -> RISC for processing. RISC CPUs tend to have more user-accessible cores, so the user/OS handles sending instructions. CISC can be faster for complex operations since you have fewer round-trips to the CPU, whereas RISC can handle more instructions simultaneously due to more cores, so big, diverse workloads may see better throughput. Basically, it’s the old argument of bandwidth vs latency.

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

            Except modern ARM chips are actually CISC too. Also microcode isn’t strictly RISC either. It’s a lot more complex than you are thinking.

            There are some RISC characteristics ARM has kept like load-store architecture and fixed width instructions. However it’s actually more complex in terms of capabilities and instructions than pretty much all earlier CISC systems, as early CISC systems did not have vector units and instructions for example.

            • sugar_in_your_tea@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              Yeah, they’ve gotten a bit bloated, but ARM is still a lot simpler than x86. That’s why ARM is usually higher core count, because they don’t have as many specialized circuits. That’s good for some use cases (servers, low power devices, etc), and generally bad for others (single app uses like gaming and productivity), though Apple is trying to bridge that gap.

              But yeah, ARM and x86 are a lot more similar today than they were 10 years ago. There’s still a distinct difference though, but RISC-V is a lot more RISC than ARM.

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

          It’s not just a separate product line. It’s a different architecture. Not made by the same companies either, so ARM aren’t involved at all. It’s actually a competitor to ARM64.