Re: Difference with OpenRISC & OpenPOWER
> Exactly how this make RISC-V as an ISA specification different
> from either OpenRISC or OpenPOWER?
in many ways.
Patents:
* OpenRISC has zero patent protection of any kind. it is a huge risk for any commercial company to use it.
* the Power ISA has literally thousands of patents behind it, spanning back 20+ years because the Power ISA dates back as far as 1993. when creating an ASIC and having shown that it passes the Compliance Suite for Power ISA 3.0 / 3.1, you get an automatic Royalty-Free Grant from IBM. https://openpowerfoundation.org/blog/final-draft-of-the-power-isa-eula-released/
* RISC-V has patent "we won't sue each other" agreements between its *Members*... but there is *no protection from other people*. as a result there are already multiple patent infringment lawsuits underway against manufacturers of RISC-V ASICs. whoops.
Specification Contributions:
* OpenRISC - totally open. covered by Copyright Law. do what you like as long as you respect Copyright.
* RISC-V - Trademarked, and not "open" at all. it's "ITU-style" (closed-doors development). you are forced to join the RISC-V Foundation and to sign a "Commercial Confidentiality" (secrecy, NDA) clause before you can contribute to the ISA.
* OpenPOWER - not strictly "open", but at least you can contribute via an "External RFC" Process to the ISA Working Group. this is currently going through Ratification at the moment and there should be an announcement shortly.
"Customisation":
* OpenRISC: totally do what you like as long as you respect Copyright Law. you're on your own because there are not many people doing anything with it
* RISC-V: customisation is "permitted" but there is absolutely no way in hell that any of your "customisation" will end up "upstream". it is sandboxed in some "custom opcodes" and if you happen to conflict with anyone else on those custom opcodes, tough s**t. basically the "customisation sandbox" is intended for proprietary systems where the customisation, including the compiler, toolchain and libraries, will NEVER see the public light of day.
* OpenPOWER: customisation is also permitted and a sandbox Major Opcode (EXT022) is provided for that purpose, along with an area of SPRs. submission of "popular" or "general-purpose" extensions are encouraged to be submitted to the ISA WG. Power ISA is pretty much exactly in the same boat here as RISC-V, with the exception that (a) there's less contention (Power ISA is less "popular") and (b) you aren't forced to join the OPF to make ISA RFCs.
Capability
* OpenRISC: is... well... not that good. correction; for what it was at the time, it was an astounding achievement given that it's entirely Libre/Open. however it's 32-bit, and implementations never really went beyond 130nm.
* RISC-V: this article says it all https://news.ycombinator.com/item?id=24459314 but as if that wasn't bad enough, performance between RISC-V implementations can be as high as a 2x variation. they're supposed to be "compatible" (RV64GC) but if they're that different, how can you trust them, commercially? the Alibaba Group had to add a whopping extra 50% custom (rogue) instructions in order to meet par-performance with a high-end ARM Cortex A73. note: custom ROGUE instructions. that will never be accepted into the RISC-V ISA because they dominate the "sandbox".
* Power ISA: designed from the ground up as a Supercomputing ISA. adrian_b's comparative summary is the best analysis i've seen so far. although the Power ISA is by no means "perfect" it at least has Carry and Condition Codes, and LD-ST-with-update. it doesn't have "LD-ST-shifted" which both ARM and x86 have, but RISC-V has neither.
basically, several large organisations are deeply regretting their decision to go with the "easy" RISC-V "because bandwagon because Academic".
> If fragmentation is in fact bad and not a feature bullet point,
> then what is the point behind allowing anyone to modify it and still call it 'RISC-V'?
exactly.