riscv-code-size-reduction
riscv-profiles
riscv-code-size-reduction | riscv-profiles | |
---|---|---|
9 | 21 | |
150 | 87 | |
- | - | |
6.0 | 8.0 | |
3 months ago | 27 days ago | |
Python | Makefile | |
- | Creative Commons Attribution 4.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
riscv-code-size-reduction
- RISC-V Code Size Reduction Release v1.0 (Ratified)
-
Senior Design Project Ideas?
Support for proposed Zc* instructions (https://github.com/riscv/riscv-code-size-reduction)
- RISC-V vs. ARM embedded software perspective
- Debunking CISC vs RISC code density
- Public review for standard extensions Zc including Zca, Zcf, Zcd, Zcb, Zcmp, Zcmt
-
Code Density Compared Between Way Too Many Instruction Sets
In 64bit, RISC-V does easily beat ARM and everything else.
It's about as good as m68k and x86 in 32bit, which are quite dense. A good result. Just not as small as ARM thumb/thumb2.
This is however not going to remain so, as RISC-V will see further improvements, coming from B extension (already ratified and yet not included in the test) and from the ongoing Zc size-reduction work[0], which does already achieve significant further size reduction[1].
0. https://github.com/riscv/riscv-code-size-reduction
- Yeah, RISC-V Is Actually a Good Design
- A Big Week for RISC-V
- HarmonyOS development board shows up for $11
riscv-profiles
-
How to improve the RISC-V specification
Ssstrict is supposed to address the undefined behaviour problem, or at least it'll make undefined instructions actually trap.
https://github.com/riscv/riscv-profiles/blob/main/rva23-prof...
-
Raspberry Pi receives strategic investment from Arm
>there are a lot of incompatible ISA implementations of RISC-V
This is common FUD.
In reality, most chips in the market, including all known application processors, follow the RVA profile[0] spec.
So do Linux distributions.
0. https://github.com/riscv/riscv-profiles/releases
-
You Won’t Believe This One Weird CPU Instruction (2019)
The bit manipulation [0] extension has been ratified for a while now and is part of the RVA22 application extension profile [1].
You can already buy SOCs that support it, e.g. vision five 2 and star64.
Interestingly the risc-v vector has it's own popcount instructions for vector registers/register masks. This is needed, because the scalable architecture doesn't guarantee that a vector mask can fit into a 64 bit register, so vector masks are stored in a single LMUL=1 register. This works really well, because with LMUL=8 and SEW=8 you get 100% utilization of the single LMUL=1 vector register.
Another interesting thing is that the vector crypto extension will likely introduce a element wise popcount instruction.
[0] https://github.com/riscv/riscv-bitmanip/releases/download/1....
[1] https://github.com/riscv/riscv-profiles/blob/main/profiles.a...
-
The legend of "x86 CPUs decode instructions into RISC form internally"
That's why we have RISC-V profiles.
-
Why is std::hardware_destructive_interference_size a compile-time constant instead of a run-time value?
Yeah more or less. They now have RISC-V Application Profiles which are basically minimum requirements for "application processors" - essentially devices like phones where you might want to distribute binary apps.
-
RISC-V Profiles: Defining sets of extensions for coherent ecosystems
The Profiles spec which includes RVA22 was finally ratified[0] last week.
0. https://github.com/riscv/riscv-profiles/releases/tag/v1.0
-
RISC-V Profiles
Context: RISC-V profiles spec got ratified last week.
- Questions about standard extensions
-
RISC-V Business: Testing StarFive's VisionFive 2 SBC
Yeah unfortunately there isn't really a great place that lists all the extensions with links and ratification status.
But anyway there is a sort of standard set of extensions that "application processors" (I guess CPUs that want to run precompiled code) should support:
https://github.com/riscv/riscv-profiles/blob/main/profiles.a...
The 22 indicates the year.
-
TinyEMU – x86 and RISC-V emulator, small and simple while being complete
Ah, you're right: https://github.com/riscv/riscv-profiles/blob/main/profiles.a...
That's good to see. (Boy, it's really hard to find info about RISC-V profiles on Google. It just seems to ignore all the letters and numbers.)
What are some alternatives?
riscof
riscv-platform-specs - RISC-V Profiles and Platform Specification
minimax - Minimax: a Compressed-First, Microcoded RISC-V CPU
xuantie-yocto - Yocto project for Xuantie RISC-V CPU
Artix-7-HDMI-processing - Receiving and processing 1080p HDMI audio and video on the Artix 7 FPGA
openc906 - OpenXuantie - OpenC906 Core
riscv-v-spec - Working draft of the proposed RISC-V V vector extension
volk - The Vector Optimized Library of Kernels
riscv-bitmanip - Working draft of the proposed RISC-V Bitmanipulation extension
linux-on-litex-vexriscv - Linux on LiteX-VexRiscv
VisionFive2
openc910 - OpenXuantie - OpenC910 Core