RISC-V
RISC-V（リスク ファイブ）は、RISCの設計思想に基いた、オープン標準の命令セット・アーキテクチャ (ISA) である。
ほとんどのISAと異なり、RISC-V ISAはいかなる用途にも自由に利用でき、RISC-Vチップおよびソフトウェアの設計・製造・販売は全ての人に許可されている。オープンアーキテクチャのISAとして最初のものではないが、幅広いデバイスに有用なよう設計されている点において重要である。その命令セットをサポートするソフトウェアは実用上十分に存在し、新しく設計された命令セットが抱えがちな弱点を回避している。
プロジェクトは、2010年にカリフォルニア大学バークレイ校で開始されたが、現在は、多くのコントリビューターが、ボランティアもしくは企業の従業員として、大学外から参加している。 例えば、グーグル、オラクル、ヒューレット・パッカード・エンタープライズ（HPE）などが開発に参加している。
RISC-V ISAは、小さく、速く、省電力で、実用性を重視して設計されてきているが、 特定のマイクロアーキテクチャに過適合しないようにしている。
2017年5月に、ユーザーレベルのISAのバージョン2.2が決定され、特権レベルISAが、ドラフト・バージョン1.10として提供されている。
RISC-Vの製作者は、自由に利用可能ないくつもの CPU デザインをBSDライセンス下で提供することを目指している。同ライセンスは、RISC-Vチップの設計や派生成果物を、RISC-V自身と同様オープンかつ自由に、 "または" クローズドで独占的に、作成する事を許可する。
対称的に、商業チップ製造者、例えばARMホールディングスやミップス・テクノロジーズは、彼らの特許を利用するにあたり、相当のライセンス料を課する。彼らはまた、設計の優位性や命令セットを記した文書を渡す前に秘密保持契約を要求する。
CPUの設計開発は、電子論理回路・コンパイラ・オペレーティングシステムにまたがる専門的な知識を要する。プロの設計部隊以外でこうした専門知識を有する組織は極めて稀である。そのため、現代的かつ高品質な汎用コンピュータ命令セットで広く利用可能なものはなく、また学術分野を除けば詳しい解説もなされていない。こうした背景があるため、多くのRISC-Vの貢献者(Contributor)は、RISC-Vをコミュニティの総力による賜物だとみなしている。そうした多くの貢献者からの要求があったことが、RISC-Vが幅広い利用目的に合うように設計された理由の一つに挙げられる。
またRISC-Vの製作者達は、CPU設計の検証にあたって、実機・シミュレーション問わず研究・利用の両方の立場での豊富な経験を持っている。RISC-V ISA の直接的な起源は、継続的に行われた学術的なコンピュータ設計プロジェクトにあり、それらのプロジェクトを補佐する狙いもあって始まったものである。
「RISC」という用語は1980年頃にできた。これ以前は、シンプルなコンピュータは効率的であるかもしれないといういくつかの知見は存在したが、この設計指針は、広まっていはいなかった。単純で、効率的なコンピュータは、常に学術的な関心の中に存在し続けていた。
研究者は、RISC命令セットのDLXを、1990年に初版の『コンピュータ・アーキテクチャ 設計・実現・評価の定量的アプローチ』のために作成した。著者のデイビッド・パターソンは、後にRISC-Vを支援した。しかしながら、DLXは教育目的用だった。研究者とホビーストは、DLXをFPGAを使って実装したが、商業的には成功しなかった。
ARM CPUのバージョン2とその前は、パブリックドメインの命令セットであり、現在もまだGNUコンパイラコレクションによってサポートされている。このISA向けに、3つのオープンソースのコアが存在するが、もはや製造されていない。
OpenRISCは、DLXをベースとしたオープンソースのISAであり、RISCの実装である。OpenRISCは、完全にGCCとLinuxの実装をサポートしている。しかしながら、商業的な実装は数少ない。
RISC-Vは、カリフォルニア大学バークレイ校が発表したRISC ISAの5番目のメジャー・バージョンを表している。 RISC-Vの前の4つは、RISC-I、RISC-II、 SOAR、とSPURである。
カリフォルニア大学バークレイ校のKrste Asanovićは、オープンソースのコンピュータシステムが多く使用されているのを見ていた。2010年に、彼は、「夏の3ヶ月の短期間プロジェクト」の中で、RISC-Vを開発、公開する事を決意した。この計画は、研究者や企業のユーザーに役立つものだった バークレイ校のデイビッド・パターソンも、助力を行った。パターソンは、元々、バークレイRISCの特性を定めた人物であり、RISC-Vは、彼のRISC-Vの研究プロジェクトの長い経歴の一つである。初期の財政支援が、DARPAによって行われた。
RISC-V財団をサポートしている組織の一部のリストを記す: アドバンスト・マイクロ・デバイセズ, Andes Technology, BAEシステムズ, Berkeley Architecture Research, Bluespec, Inc., Cortus, Google, GreenWaves Technologies, ヒューレット・パッカード・エンタープライズ, 華為技術, IBM, Imperas Software, 中国科学院, IIT Madras, ラティスセミコンダクター, Mellanox Technologies, Microsemi, マイクロン・テクノロジ, NVIDIA, NXPセミコンダクターズ, オラクル, クアルコム, Cryptography Research, ウェスタン・デジタル, and SiFive.RISC-Vの設計者は、命令セットは、ハードウェアとソフトウェアの中間に存在する故に、コンピュータのインタフェースの中心であると主張している。もし、良い命令セットがオープンで誰もが利用できるなら、ソフトウェアの再利用がより可能になり、そのコストは劇的に削減されるだろう。また、ハードウェア製造者間の競争が促進され、ハードウェア製造者は、より多くのリソースを設計に使えるようになり、ソフトウェア・サポートに使うリソースは少なくできる。
彼らは、新しい設計原理が、命令セットの設計に現れる事はほとんどなく、過去40年の中で最も成功した設計は、ますます似通って来ていると主張している。失敗したものの殆どは、出資した企業が商業的に失敗したのであり、命令セットが技術的に劣っていたからではない。よって、よく設計されたオープンな命令セットが、十分に確立された設計原理を用いて設計されれば、多くのベンダーが長期間に渡ってサポートする気になれだろう。
殆どの、先行のオープンISAは、GNU General Public License(GPL)を使って、ユーザーにコピーや利用するにあたって、実装をオープンにするように仕向けていた。
他の学術目的の設計とは異なり、研究内容の説明のための簡略化に最適化するのではなく、RISC-V命令セットは実用的なコンピュータに最適化した簡略化にすると宣言した。この簡略化は、コンピュータの速度向上を目的とするが、コストや電力使用量を減らす。この命令セットに含まれるものは、ロード/ストア アーキテクチャ、CPU内部のマルチプレクサを単純化するビット・パターン、簡略化された標準に基いた浮動小数点、アーキテクチャに中立な設計、および、最上位の符号ビットを固定とする事による符号拡張の高速化である。符号拡張は、しばしば、クリティカル・タイミング・パスになると言われている。
命令セットは、幅広い層のユーザー向けに設計されている。32-、64-、128-ビットの3つのワード幅、様々なサブセットをサポートする。各サブセットの定義は、3つワード幅間で、わずかに変化する。サブセットは、小さな組み込みシステム、パーソナルコンピュータ、ベクタプロセッサを持つスーパーコンピュータ、および、ウェアハウス・スケールのラック・マウント型並列計算マシンをサポートする。
命令セットは、可変長幅で、拡張可能である。それゆえ、より多くのエンコード・ビットが追加可能である。ISAには128ビットまで拡張されたバージョンまで予約されている。これは、過去60年の業界の歴史の中で、過去の命令セットでメモリアドレス空間が不足していたが故に、取り返しのつかない失敗が起きた事を反映している。2016年現在、128-ビットのISAは、その巨大なメモリシステムに関する知見がほとんどないために、意図的に未定義になっている。
しかしながら、RISC-Vは、設計者の学術利用もサポートしている。整数命令のサブセットの単純さは、学生の初歩的な練習を可能にする。整数命令サブセットは、シンプルなISAであるため、ソフトウェアによる研究用マシンの制御が可能になる。可変長のISAは、学生の練習と研究のための拡張を可能にする。 別定義の特権命令セットは、OSの研究を、コンパイラを再設計する事なしにサポートする。RISC-Vのオープンな知的財産によって、設計を公開したり、再利用したり、修正が可能になる。
RISC-Vのアドレッシングは、32/64ビットだけでなく、128ビットもサポートされている。GCC、LLVM、Linux、QEMU などのエコシステムにより既にサポートされており、ハードウェアのコアもRocket Core Generatorにて生成できる。