You're not allowed to use branding material of the RISC-V foundation to advertise your personal project. I suggest removing the logo to avoid your repo being taken down.
RVVM – The RISC-V Virtual Machine
21–30 of 69 posts
Re: RVVM – The RISC-V Virtual Machine
#22[flagged]
What icon?
Re: RVVM – The RISC-V Virtual Machine
#23Re: RVVM – The RISC-V Virtual Machine
#24Instruction interpreter is nicely human-readable: https://github.com/LekKit/RVVM/blob/staging/src/cpu/riscv_i....
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…
For MIT's 6.004 "Beta" processor loosely based on the DEC Alpha AXP, our test cases ran with a minimal kernel that would trap and emulate multiply, divide, etc. instructions using shifts and adds/subtracts, so we could implement more simple ALUs and still test the full instruction set.
In any case, particularly in the world of hypervisors, it doesn't seem too hard to deprecate an instruction and stop implementing it in hardware, and push that complexity into firmware. As long as the CPU covers the Popek and Goldberg virtualization requirements, hypervisors could be nested, and the firmware could implement a lowest level hypervisor that handles unimplemented instructions.
More generally, I wish ARM64, RISC-V, and other modern ISAs had taken DEC Alpha AXP's idea of restricting all of the privileged instructions to the firmware (PALCode in the Alpha's case) and basically implementing a single-tenant hypervisor in the firmware. The OS kernel always used an upcall instruction to the hypervisor/firmware to perform privileged operations. In other words, the OS kernel for Alpha was always paravirtualized. (UNSW's L4/Alpha microkernel was actually implemented in PALCode, so in that case, the L4 microkernel was the firmware-implemented hypervisor and the L4 syscalls were upcalls to the firmware.) As it stands, hypervisors need to both implement upcalls for efficiency and also implement trap-and-emulate functionality for OS kernels that aren't hypervisor-aware. The trap-and-emulate portions of the code are both lower performance and more complicated than the upcall handlers. Both hypervisors and OS kernels would be simpler if the platform guaranteed a hypervisor is always present.
Always having a firmware hypervisor also allows pushing even more complexity out of hardware into the firmware. The Alpha had a single privilege bit indicating if it was currently running in firmware/hypervisor (PALCode) mode, and the firmware could emulate an arbitrary number of privilege levels/rings. The Ultrix/Tru64 Unix/Linux firmware just emulated kernel and user modes, but the OpenVMS firmware emulated more levels/rings. x86's 5 rings (including "ring -1/hypervisor) could be efficiently emulated by hardware that only implements ring -1 (hypervisor) and ring 3 (user mode).
Edit: Taken to an extreme, you get something like Transmeta's Crusoe that pushed instruction decoding and scheduling into a firmware hypervisor JIT that works on the processor's microcode level. In retrospect, it seems that Crusoe went too far, at least as far as early 2000's technology could go. However, there's still plenty of optimization space in between the latest Intel processors on the extreme hardware complexity side and Transmeta's Crusoe on the extreme firmware complexity side.
Edit 2: In-order processors like (at least early) Intel Atom, P.A. Semi's PWRficient, and Transmeta's Crusoe tend to be more power-efficient. If the architecture designed for it, I could see a case for limited out-of-order hardware capability with hardware tracing and performance counters/reservoir sampling of instructions that caused pipeline stalls. The firmware could then use run-time information to JIT re-order the instruction streams in hotspots that weren't well-served by the hardware's limited out-of-order execution capacity. This might be a viable alternative to ARM's big.LITTLE, where the firmware (or kernel) kicks in to provide a performance boost to hotspots when plugged in, and executes as a simple in-order processor when lower power consumption is desired, without the extra complexity of separate pairs of cores for performance and efficiency. Hardware sampling of which speculations work out and which are wasted would presumably guide the firmware's attempts to efficiently re-optimize the hot spots.
Re: RVVM – The RISC-V Virtual Machine
#25Earlier quoted context omitted.
Having been raised out of a dictorship I don't have any patience for the cancelation culture that is now so trendy. If those people would get visits from PIDE/DGS, or similar agencies, they would see how real cancelation actually works in practice.
I agree. I think that people who haven't been raised in such a society don't realize how chilling it is to be afraid to say something wrong and constantly be aware that you could be punished for your words. It makes you unable to even think clearly, lest a slip-of-tongue gets you sent to jail. It's no way to live.
The same authoritarian impulse but over such small potatoes.
Re: RVVM – The RISC-V Virtual Machine
#26You're not allowed to use branding material of the RISC-V foundation to advertise your personal project. I suggest removing the logo to avoid your repo being taken down.
Re: RVVM – The RISC-V Virtual Machine
#27Re: RVVM – The RISC-V Virtual Machine
#28Earlier quoted context omitted.
I agree. I think that people who haven't been raised in such a society don't realize how chilling it is to be afraid to say something wrong and constantly be aware that you could be punished for your words. It makes you unable to even think clearly, lest a slip-of-tongue gets you sent to jail. It's no way to live.
Is this a “the first as tragedy, then as farce” type of deal? The same authoritarian impulse but over such small potatoes.
Definitely. First, cancel culture emerged as a response to genuine concerns about social justice and equity, particularly with regards to marginalized communities. Cancel culture initially sought to hold people accountable for their harmful actions and words, and to create a more inclusive and just society.
However, over time, cancel culture has increasingly become a farcical parody of its original intentions - it has devolved into a tool for online mobs to attack individuals for minor or unintentional offenses, resulting in a culture of fear and self-censorship.
Cancel culture has also been weaponized by some to silence dissenting opinions or to settle personal scores, rather than to advance social justice. See: https://rms-open-letter.github.io/ for a recent example.
Re: RVVM – The RISC-V Virtual Machine
#29Earlier quoted context omitted.
Do icons of cigarettes make you sick and destroy millions of lives? Does removing an icon of cigarette make you less sick and help save millions of lives?
That comment is actually a good politically-neutral illustration of a major force underpinning today's political hyper-polarization: people simply can't handle the mere existence of something they don't like and will respond by shunning entire bodies of work or attacking people unnecessarily. This is definitely new as in the last 10-15 years. In the past more people seemed able to just disregard or shrug at things th…
Re: RVVM – The RISC-V Virtual Machine
#30Earlier quoted context omitted.
That comment is actually a good politically-neutral illustration of a major force underpinning today's political hyper-polarization: people simply can't handle the mere existence of something they don't like and will respond by shunning entire bodies of work or attacking people unnecessarily. This is definitely new as in the last 10-15 years. In the past more people seemed able to just disregard or shrug at things th…
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.