this post was submitted on 23 Oct 2024
730 points (98.9% liked)

Technology

58866 readers
4053 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] tekato@lemmy.world 2 points 2 days ago (1 children)

What do you mean by standards?

[–] Treczoks@lemmy.world 1 points 10 hours ago (1 children)

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

[–] tekato@lemmy.world 1 points 7 hours ago (1 children)

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 1 points 2 hours ago (1 children)

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

[–] tekato@lemmy.world 1 points 59 minutes ago

And it does not concern you that this RVA profile is version 23

Not sure where you got that information. There are only 5 RISC-V profiles.

And they are incompatible, with version 23 because they lack instructions?

Like all the x86 CPUs from a few years ago that don’t have all the new extensions? Not supporting new extensions doesn’t mean the CPU is useless, only that it’s worse than new ones, as things should be when there’s progress. Or I guess you throw out your x86 CPU every time Intel/AMD create a new instruction?

So a compiler would have to support at least a certain number of those profiles

Do you think compilers only target one x86 version with one set of instructions? For example in x86, there’s SIMD versions SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2, compilers support all of them, and that’s literally just for the SIMD instructions. What’s new?