214 points

He’s being misquoted by the headline. He FEARS that it will make the same mistakes. Let’s be clear about RISC is here in the first place: an open-source hardware architecture. Anyone with enough money and willpower to fork it for their needs will do so. It’s anyone’s game still. He’s just simply saying that the same type of people who took over ARM and x86 are doomed to make the same mistakes. Not that RISC-V is bad.

permalink
report
reply
2 points

I’m being pedantic here but RISC-V is not a hardware architecture as in something that you can send to a manufacturer and get it made. It is an ISA. How you implement those ISA is up to you. Yes there are open implementations but I think it is important to distinguish it.

permalink
report
parent
reply
1 point

isnt ARM the same?

permalink
report
parent
reply
2 points
*

So does x86. The difference is license. Just like how Intel and AMD have a VERY different design (implementation) as of now, so does RISC-V. Any vendor can implement it however they want, but they won’t have to pay anyone for using RISC-V ISA

permalink
report
parent
reply
76 points

Anyone willing to summarize those mistakes here, for those who can’t watch the video rn?

permalink
report
reply
133 points
*

He doesn’t list what the mistakes will be. He said that he fears that because hardware people aren’t software people, that they will make the same mistakes that x86 made, which were then made by Arm later.

He did mention that fixing those mistakes was faster for Arm than x86, so that brings hope that fixing the mistakes on Risc V will take less time

permalink
report
parent
reply
27 points
*

I think it was something with instruction sets? Pretty sure i read something about this months ago.

permalink
report
parent
reply
6 points

No, it was about the prediction engines that contain security vulnerabilities. Problem is that software has no control over that, because hardware does future predictions for performance optimization.

permalink
report
parent
reply
4 points

I mean, that’s all chip architectures are, so yes.

permalink
report
parent
reply
23 points
*

Basically, his concern is that if they are not cooperating with software engineers that the product won’t be able to run AAA games.

It’s more of a warning than a prediction.

permalink
report
parent
reply
1 point

What are “AAA turns”?

permalink
report
parent
reply
5 points

Sorry, AAA games. I was swiping on my keyboard and didn’t see the mistake.

permalink
report
parent
reply
11 points

Instruction creep maybe? Pretty sure I’ve also seen stuff that seems to show that Torvalds is anti-speculative-execution due to its vulnurabilities, so he could also be referring to that.

permalink
report
parent
reply
4 points

Counterintuitive but more instructions are usually better. It enables you (but let’s be honest the compiler) to be much more specific which usually have positive performance implications for minimal if any binary size. Take for example SIMD which is hyper specific math operations on large chunks of data. These instructions are extremely specific but when properly utilized have huge performance improvements.

permalink
report
parent
reply
1 point

I understand some instruction expansions today are used to good effect in x86, but that there are also a sizeable number of instructions that are rarely utilized by compilers and are mostly only continuing to exist for backwards compatibility. That does not really make me think “more instructions are usually better”. It makes me think “CISC ISAs are usually bloated with unused instructions”.

My whole understanding is that while more specific instruction options do provide benefits, the use-cases of these instructions make up a small amount of code and often sacrifice single-cycle completion. The most commonly cited benefit for RISC is that RISC can complete more work (measured in ‘clockcycles per program’ over ‘clockrate’) in a shorter cyclecount, and it’s often argued that it does so at a lower energy cost.

I imagine that RISC-V will introduce other standards in the future (hopefully after it’s finalized the ones already waiting), hopefully with thoroughly thought out instructions that will actually find regular use.

I do see RISC-V proponents running simulated benchmarks showing RISC-V is more effective. I have not seen anything similar from x86 proponents, who usually either make general arguments, or worse , just point at the modern x86 chips that have decades of research, funding, and design behind them.

Overall, I see alot of doubt that ISAs even matter to performance in any significant fashion, and I believe it for performance at the GHz/s level of speed.

permalink
report
parent
reply
1 point

This is probably correct.

permalink
report
parent
reply
66 points

smells like linus thinks there is going to be an ever increasing tech debt, and honestly, i think i agree with him on that one.

RISCV is likely going to eventually overstep it’s role in someplaces, and bits and pieces of it will become archaic over time.

The gap between hardware and software level abstraction is huge, and that’s really hard to fill properly. You just need a strict design criteria to get around that one.

I’m personally excited to see where RISCV goes, but maybe what we truly need is a universal software level architecture that can be used on various different CPU architectures providing maximum flexibility.

permalink
report
reply
39 points

but maybe what we truly need is a universal software level architecture that can be used on various different CPU architectures providing maximum flexibility.

I think that’s called Java.

permalink
report
parent
reply
12 points

Or Emacs

permalink
report
parent
reply
1 point

Then again, if you don’t have the JVM/JRE, Java won’t work, so first you need to write it in another language and in such a way that it works across a bunch of different ARM and x86 processors.

permalink
report
parent
reply
2 points

I don’t know, if your platform doesn’t have a jre… Is it really a platform?

permalink
report
parent
reply
0 points

but but, minecraft in java bad and stinky??

permalink
report
parent
reply
9 points

But Java is the good version of Minecraft…

permalink
report
parent
reply
15 points

software level architecture that can be used on various different CPU architectures providing maximum flexibility.

I’ve only done a little bare metal programming, but I really don’t see how this is possible. Everything I’ve used is so vastly different, I think it would be impossible to create something like that, and have it work well.

permalink
report
parent
reply
2 points
*

theoretically you could do it by defining an architecture operations standard, and then adhering to that somewhat when designing a CPU. While providing hardware flexibility as you could simply, not implement certain features, or implement certain other features. Might be an interesting idea.

That or something that would require minimal “instruction translation” between different architectures.

It’s like x86. except if most of the features were optional.

permalink
report
parent
reply
2 points

It sounds like you’re just reinventing either the JVM (runtime instruction translation), compilers (LLVM IR), or something in between (JIT interpreters).

The problem is that it’s a hard problem to solve generally without expensive tradeoffs:

  • interpreter like JVM - will always have performance overhead and can’t easily target arch-specific optimizations like SIMD
  • compiler - need a separate binary per arch, or have large binaries that can do multiple
  • JIT - runtime cost to compiling optimizations

Each is fine and has a use case, but I really don’t think we need a hardware agnostic layer, we just need languages that help alleviate issues with different architectures. For example, Rust’s ownership model may help prevent bugs that out of order execution may expose. It could also allow programmers to specify more strict limits on types (e.g. non-zero numbers, for example), which could aid arch-specific optimizations).

permalink
report
parent
reply
7 points

universal software level architecture that can be used on various different CPU

Oh we already have dozens of those haha

permalink
report
parent
reply
1 point

overstep its* role in some places

permalink
report
parent
reply
2 points

username checks out

permalink
report
parent
reply
29 points

Well regardless, the world needs alternatives that are outside of restrictive US patent law and large monopolistic control. Thank god for pioneers:)

permalink
report
reply
20 points

ARM Inc is an English company owned by a Japanese company

permalink
report
parent
reply
2 points

Pretty sure it’s a plc, not and Inc.

permalink
report
parent
reply
17 points
*
Deleted by creator
permalink
report
reply
36 points

Sorry, but that is completely wrong. RISC-V is an ISA, nothing less, nothing more, and it is completely, 100% open-source. The licensing of the hardware implementations is a different matter, but that’s outside of the scope of RISC-V. As I said, it is just an ISA.

permalink
report
parent
reply
9 points

There’s plenty of designs out there that you can load onto an FPGA or, funds permitting, send off to a fab to burn into silicon.

permalink
report
parent
reply

Technology

!technology@lemmy.world

Create post

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


Community stats

  • 17K

    Monthly active users

  • 12K

    Posts

  • 543K

    Comments