RISC-V - The new, youngest microprocessor architecture.
Conclusive Engineering
We provide custom embedded system services at every step of the project life cycle.
Introduction and explaining the (anti?) hype.
Since we’re manufacturing embedded computers, to complete our ecosystem we really wanted to create a RISC-V based board.?
If you’re new to the term - the RISC-V is a new emerging open standard of microprocessor architecture, or to be more precise: a microprocessor’s instruction set (ISA). It makes sure that different companies can manufacture processors labelled as RISC-V, and software written for the RISC-V platform will work on all of them.
Its trademark feature is that it has two kinds of instructions: one kind that’s used for normal everyday computation, and can run all programs that were made for the RISC-V. And the second kind can have custom instructions added by the manufacturer. It’s used to really speed up parts of those programs - like video processing, artificial intelligence computation, data processing, machine control, and so on. The speed up can be as big as 1000 times on certain operations.?
RISC-V is still very young, but some physical processors have already hit the shelves, and the results are impressive. Compared to existing processors - it’s faster, smaller, and more power efficient. No one released a really powerful RISC-V yet - currently available products have computational power similar to weak mobile processors. But that’s changing very quickly.?
Our product using the RISC-V architecture is a System on Module board, codenamed “Orchid”. The board is smaller than a credit card, but is pretty powerful. You can read more about it on our website:
Out of all the available components, we decided to go with Michrochip’s PolarFire System on Chip. It’s a RISC-V microprocessor coupled with an FPGA. It’s a series of chips with various power capabilities, but only the FPGA scales. The RISC-V is always the same, and is used to provide an environment for it. It’s composed of 5 cores - one of them is for real-time operations, and 4 are general computing cores. It can run rich operating systems like GNU/Linux or FreeBSD.?
FPGA fulfills a similar function to RISC-V’s vendor specific instruction set: it speeds up tasks. The speedups won’t be as good, but on the upside - the FPGA can be reprogrammed on the fly. That makes it suitable for a larger number of tasks than if the instructions were hard-coded on the processor.
But most of us know about FPGAs, and if not - there’s plenty of materials available online from a variety of manufacturers. Not really so with RISC-V. The information is there, but it’s hard to find, and harder to filter out. Articles from several years ago still mix up with the recent ones, and you can find speculation and discussions that have outdated long ago - but often, you can’t tell which is which. Meanwhile, the RISC-V is silently chugging along in Western Digital’s devices and Nvidia’s products.
We’re excited about RISC-V and have been following it’s development closely, but we were surprised to find that it’s so hard to enter its info zone. It’s a bit like staying updated on the latest and upcoming features of Debian or FreeBSD. If you know, you know. If you don’t, good luck combing through the mailing lists.
Partially, it’s because RISC-V is not a consumer product. It’s more similar to a narrow business product due to resources needed to actually make it “happen”. It’s not even a physical product. The physical products do carry the RISC-V brand, of course, but RISC-V is primarily an open standard. Companies can provide services, or manufacture products that conform to those standards - and then these services or products become targeted at consumers, businesses, or both. It’s a healthy ecosystem, but it dilutes the available information. It’s all crammed into the same bag - the RISC-V. Additionally, the speed of advance, innovation and development of RISC-V is snowballing, and as it’s reaching consecutive performance and efficiency targets - its news feed starts to look like a Bloomberg terminal.
A lot of RISC-V work is happening behind the scenes. Companies release products - sometimes physical, sometimes digital. And sometimes, it’s hard to differentiate between the two - for example when the promotional materials talk about a RISC-V release, but they fail to mention it’s just an IP core that someone will have to manufacture before it becomes available. The media outlets love clickbait titles, and everyone ends up hyping a processor that’s a year away, or more. But when it gets actually released as a physical product, there are already new clickbait titles, and it becomes old news. This degrades the quality of information you can get about RISC-V.?
Add to it the constant development around RISC-V that’s happening on the mailing lists
and it’s really hard to sift through all the information to find the one particular info you need. Outside, on open internet forums, there’s plenty of critics and fanatics of the ISA ready to serve you hundreds of arguments why something that works - shouldn’t, or the other way around. That’s taking our eyes from what it really is: an attempt to do things a little better than it’s currently possible, and get on a steady path of innovation, setting us free from decades of legacy code and “ideas that seemed good at the time”, forged in the fires of the 1980-2000’s conference rooms.
So let’s quickly go over what we know about it.?
At present, RISC-V is composed of a low-power, energy-efficient family of processors, manufactured by different companies under different brands. RISC-V Foundation curates information about these on their website. Currently available products are in the range of microcontrollers to lower-to-mid-end mobile processors. GNU/Linux-capable processors exist. PC and high-performance computation processors seem imminent today, but only time will tell when and if they will become reality. They will most likely have both benefits and drawbacks compared to x86, but at present, we think that the benefits will be really worth the drawbacks - they will probably be much faster at certain tasks. We know that current RISC-V processors have a small silicon footprint compared to other processors with equivalent computational power, and are very power efficient. They are also successfully integrated as part of other products available on the market, and so far are fulfilling expectations.?
If you’d like to learn more details about how the RISC-V works from a technical perspective, Erik Engheim’s articles are a great starting point. Here’s one of them:
They’ve been a great help in creating this series, and it’s a really solid primer for someone seriously interested in RISC-V, both as a standard, and as an end product.
Meanwhile, stay tuned for part 2, where we’ll talk about RISC-V genesis, and why it matters.