Hacker News new | ask | show | jobs
by notanotherycom1 2057 days ago
> I had yet to read a good critique of the ISA by people who know what they're talking about.

I still wonder about RISC-V. To me, it seems pointless. But a lot of companies are buying into it so I'm wrong

Why would you ever want a standard ISA? If you're buying chips you either want a cheap standard one or a powerful efficient one. To be efficient (or cheap) you'd want to only support what's required and what works best with the implementation.

I don't really understand the point of a generic ISA. Why not have some kind of bytecode or standard format (like llvm-ir) that gets optimized for the CPU and gets a native binary that doesn't need interpretation.

Like how the f* is it easier to make something regular+generic fast rather than something custom for your hardware/chip/cpu fast?

Do you want to know how many times I used XML when it's not required? 0. Do you know how many times I used SQLite or my own binary file? I lost count. SQLite has far more constraints than XML and custom binary files/formats aren't hard after you done than a few times.

1 comments

Betting on smart compilers without putting in the effort to build them is how the Itanic happened.
Damn dude. I never thought of that.

So are you here right now declaring that RISC-V and all those companies are in the wrong and risc-v will be a disaster?

Cause I might agree and be with you on that lol

-Edit- I have no idea what the state of the compiler is

https://github.com/riscv/riscv-gnu-toolchain

> Warning: git clone takes around 6.65 GB of disk and download size

WTF?

If you're going that complex than... wtf?

Not at all, RISC-V doesn't need extremely clever compilers, and instead it's designed to maximize what the microarchitectures (hardware implementations) can do, and reduce unnecessary overhead.

My reply was mostly aimed at the idea that you can move the complexity from hardware into compilers: it might be possible, but we know how to build out-of-order CPU better than we know how to build smart compilers, so you have to invest a lot more research time, and it's generally a lower priority.

Even innovations from the past decade or two, like VSDG, haven't made their way into "industrial" compilers yet.

As for the size thing:

GCC and Clang are huge (at least when you include their entire change history, which git does), RISC-V is comparatively only a tiny part of them, you should probably look into that further before jumping to conclusions.

You don't even need a whole separate toolchain with Clang or Rust, the whole "need to build GCC yourself to cross-compile" is outdated GNU tradition, not some kind of technical necessity.