• Treczoks@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 hours ago

      Several differing extensions of the RISC-V core machine instructions, for example. A pain in the rear for any compiler builder.

      • tekato@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        That’s a good thing, meaning you can design RISC-V CPUs without functionality you don’t need (like microcontrollers that only need basic operations). However, for those who want a complete CPU, there are RVA profiles (latest being RVA23), which are a list of extensions required to be an application-ready CPU. So there’s really just 1 “standard” for general purpose computing, everything else is for specialized products.

        • Treczoks@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          42 minutes ago

          And it does not concern you that this RVA profile is version 23? Which means there are a number of CPUs based on lower versions, too, as they don’t just update on a whim? And they are incompatible, with version 23 because they lack instructions?

          So a compiler would have to support at least a certain number of those profiles (usually, parts in the embedded world are supported for 10+ years!), and be capable of supporting the one or other non-RVA extension, too, to satisfy customer needs.

          That is exactly what I meant with “too many standards”.