Earlier quoted context omitted.
>Of course, bot x86 and Arm started like that as well - but after 20+ years of evolution, they have to drag along a lot of history. (and one never really takes things away from an ISA, you only add new features, and at best deprecate old ones). Feature-wise, RISC-V is already about on par and has managed not to become a mess. Furthermore, unlike x86, ARM has broken binary compatibility several times in the past, and…
Pretty sure ARM has never broken binary compatibility, even across ISA expansions (16→32 bit, 32→64 bit).
RVVM – The RISC-V Virtual Machine
51–60 of 69 posts
Re: RVVM – The RISC-V Virtual Machine
#52Earlier quoted context omitted.
The RISC-V isa is specifically designed to be nice and regular and easy to decode, and work with, which definitely shows here (also in the RTL code if you look at some of the well designed RISC-V cores) Of course, bot x86 and Arm started like that as well - but after 20+ years of evolution, they have to drag along a lot of history. (and one never really takes things away from an ISA, you only add new features, and at…
>Of course, bot x86 and Arm started like that as well - but after 20+ years of evolution, they have to drag along a lot of history. (and one never really takes things away from an ISA, you only add new features, and at best deprecate old ones). Feature-wise, RISC-V is already about on par and has managed not to become a mess. Furthermore, unlike x86, ARM has broken binary compatibility several times in the past, and…
Re: RVVM – The RISC-V Virtual Machine
#53Earlier quoted context omitted.
"cancelled" by xiphias2 deleting the repository on github using magic? HN can't even tell the difference with asking and imposing?
There doesn't have to be a direct tangible threat for people to act on impulses they were taught through a direct tangible threat (see: learned helplessness [0]). That's the way reinforcement learning works on humans, otherwise there would be no concept of ethics - ethics itself is based on generalizing a basic set of rules learned through punishment and reward. The power is there, because it had an effect on reality…
We can also take the more charitable interpretation: the repo owner saw the post asking for it to be removed, thought "yeah, wow, you're right, cigarettes do suck, and having it there is unnecessary and doesn't actually add anything valuable, so I might as well change it to something else".
Or, hell, we could even go out on a limb: "oh wow, I didn't realize someone might be offended by that, but I'll change it because I have no feelings about it being there whatsoever, and I don't want my project to make someone feel bad". Cuz, y'know, empathy is a thing.
(The cigarette emoji was in front of the "Tell me more..." heading; I'm having a hard time coming up with a reason for it to be there in the first place.)
I do agree with you that cancel culture has gotten out of hand, and some people will make the calculus you describe in some situations, but that seems a bit too much here. I doubt anyone is going to get cancelled over a cigarette emoji in a README, and it seems overblown to assume the repo owner made the change out of fear. (Famous last words, I know, but I stand by that.)
Re: RVVM – The RISC-V Virtual Machine
#54Earlier quoted context omitted.
This may be new in the last 10-15 years, but let's not forget why that icon appeared there: because of the huge marketing budget spend created by tobacco companies to make smoking look cool instead of something that kills millions of people slowly.
[flagged]
Re: RVVM – The RISC-V Virtual Machine
#55Instruction interpreter is nicely human-readable: https://github.com/LekKit/RVVM/blob/staging/src/cpu/riscv_i....
That's quite copious way to implement it.
Re: RVVM – The RISC-V Virtual Machine
#56Earlier quoted context omitted.
There doesn't have to be a direct tangible threat for people to act on impulses they were taught through a direct tangible threat (see: learned helplessness [0]). That's the way reinforcement learning works on humans, otherwise there would be no concept of ethics - ethics itself is based on generalizing a basic set of rules learned through punishment and reward. The power is there, because it had an effect on reality…
Alternatively, maybe the project authors decided that the cigarette imagery was (1) bothering somebody, and (2) did not matter to the identity of the project and was easily removed, so they decided to honor the request. It's probably what I would have done. Conversely, I was the author of a project whose namesake and mascot was an animal considered unclean by several world religions. Nobody ever asked me to change it…
Re: RVVM – The RISC-V Virtual Machine
#57How is this different from QEMU which also supports RISC-V 32|64 fairly well.
Performance-wise:
- Instead of a static translate-and-run flow like in QEMU, RVVM has an interpret-trace-run execution loop which is remotely similar to JVM, and allows to collect some data like branch probabilities and hot loops, and optimize better
- Using a hardware host FPU instead of softfp emulation. This is like, 10x faster with some synthetic FPU benchmarks
- Conscious decisions for beneficial trade-offs, like fast-path JIT trace cache, JIT IR is more streamlined to "Big ISA Triad" (RISC-V, ARM64, x86-64), etc
Infrastructure-wise:
- A public library API for a lot of things: Machine management (Construct and run 'em in any program), device integration, registering new CPU instructions, userspace emulation
- Subjectively, a more lean and clean codebase, in places where it wasn't harmed by either 1) performance decisions to copy-paste or restructure things 2) complexity of related things like JIT backend arches
- Portability. RVVM officially runs in WASM, runs on Haiku, SerenityOS, KolibriOS, even DOS!
So yeah, while I can't say for sure it's the fastest RISC-V VM, but if we had a bunch more contributors and a bit more popularity it could definitely take a part of the QEMU crown (For things like distro building and god knows what else).
There are a few other differences here & there, but they aren't as much worth mentioning. Do you believe I should make some kind of QEMU/RVVM comparison anywhere in the repo? It seems kind of selfish to present it like that...
Re: RVVM – The RISC-V Virtual Machine
#58How is this different from QEMU which also supports RISC-V 32|64 fairly well.
I had the exact same question. I do like this - it's nice and ambitious to build something like this from the ground up. Looking at the todo list though, they still have quite some work to get to parity with qemu...
Re: RVVM – The RISC-V Virtual Machine
#59Earlier quoted context omitted.
[flagged]
That's... not what the parent poster said.
The OP put an icon of cigarette because big evil corporations brainwashed him into liking cigarettes, not because he wanted to.
But he removed it because he wanted to, not because big evil mobs brainwashed him into fearing cancellation.
That's totally how it happened.
Re: RVVM – The RISC-V Virtual Machine
#60Instruction interpreter is nicely human-readable: https://github.com/LekKit/RVVM/blob/staging/src/cpu/riscv_i....
So is this, even more so in my taste: https://github.com/cnlohr/mini-rv32ima/blob/master/mini-rv32... A RISC-V emulator in one include file.