ISAはいかなる用途にも自由に利用でき、RISC-Vチップおよびソフトウェアの設計・製造・販売は全ての人に許可されている。オープンアーキテクチャのISAとして最初のものではないが[1]、幅広いデバイスに有用なよう設計されている点において重要である。その命令セットをサポートするソフトウェアは実用上十分に存在し、新しく設計された命令セットが抱えがちな弱点を回避している。プロジェクトは、2010年にカリフォルニア大学バークレイ校で開始されたが、現在は、多くのコントリビューターが、ボランティアもしくは企業の従業員として、大学外から参加している。グーグル、オラクル、ヒューレット・パッカード・エンタープライズ(HPE)などが開発に参加している[3]。ISAは、小さく、速く、省電力で、実用性を重視して設計されてきているが[4][5]。特定のマイクロアーキテクチャに過適合しないようにしている[5][6][7][8]。2017年5月に、ユーザーレベルのISAのバージョン2.2が決定され、特権レベルISAが、ドラフト・バージョン1.10として提供されている。外部リンク重要性[編集]RISC-Vの製作者は、自由に利用可能ないくつものCPUデザインをBSDライセンス下で提供することを目指している。同ライセンスは、RISC-Vチップの設計や派生成果物を、RISC-V自身と同様オープンかつ自由に、またはクローズドで独占的に、作成することを許可する。対照的に、商業チップ製造者、たとえばARMホールディングスやミップス・テクノロジーズは、彼らの特許を利用するにあたり、相当のライセンス料を課する[9]。彼らはまた、設計の優位性や命令セットを記した文書を渡す前に秘密保持契約を要求する。CPUの設計開発は、電子論理回路・コンパイラ・オペレーティングシステムにまたがる専門的な知識を要する。プロの設計部隊以外でこうした専門知識を有する組織は極めて稀である。そのため、現代的かつ高品質な汎用コンピュータ命令セットで広く利用可能なものはなく、また学術分野を除けば詳しい解説もなされていない。した背景があるため、多くのRISC-Vの貢献者(Contributor)は、RISC-Vをコミュニティの総力による賜物だとみなしている。した多くの貢献者からの要求があったことが、RISC-Vが幅広い利用目的に合うように設計された理由の一つに挙げられる。RISC-Vの製作者たちは、CPU設計の検証にあたって、実機・シミュレーション問わず研究・利用の両方の立場での豊富な経験を持っている。ISAの直接的な起源は、継続的に行われた学術的なコンピュータ設計プロジェクトにあり、それらのプロジェクトを補佐する狙いもあって始まったものである[5][10]。歴史[編集]先行開発[編集]「RISC」という用語は1980年頃に作られた[11]。それ以前は、よりシンプルな設計のコンピュータは効率的な可能性があるといういくつかの知見は存在したが、そのような設計指針はまだ広まってはいなかった。単純で効率的なコンピュータは、常に学術的な関心にとどまっていた。設計・実現・評価の定量的アプローチ』のために作成した。著者のデイビッド・パターソンは、後にRISC-Vを支援した。DLXは教育目的用だったため、研究者やホビーストはDLXをFPGAを使って実装したが、商業的には成功しなかった。CPUのバージョン2とその前は、パブリックドメインの命令セットであり、現在もまだGNUコンパイラコレクションによってサポートされている。このISA向けに、3つのオープンソースのコアが存在するが、もはや製造されていない[12][13]。OpenRISCは、DLXをベースとしたオープンソースのISAであり、RISCの実装の1つである。OpenRISCはGCCとLinuxの実装を完全にサポートしているが、商業的な実装は少ない。ISAの5番目のメジャー・バージョンであることを表している[5]。RISC-Vの前の4つのバージョンは、それぞれRISC-I[14]、RISC-II[15]、SOAR[16]、およびSPUR[17]である。Asanovićは、オープンソースのコンピュータシステムが広く普及している状況を認識していた。2010年、彼は「夏の3ヶ月の短期間プロジェクト」の中で、RISC-Vを開発、公開することを決意した。この計画は、研究者や企業のユーザーに役立つものだったため[10]、バークレイ校のデイビッド・パターソンも協力した。パターソンは、バークレイRISCの特性を定めた人物であり、RISC-Vは、彼のRISC-Vの研究プロジェクトの長い経歴の一つである。初期の開発では、DARPAが財政支援を行っていた[5]。Research、ウェスタン・デジタル、SiFiveなどがある[20][21][3]。Groupにより、ベスト・テクノロジー(命令セット)賞に選定された。開発動機[編集]RISC-Vの設計者は、命令セットは、ハードウェアとソフトウェアの中間に存在する故に、コンピュータのインタフェースの中心であると主張している。良い命令セットがオープンで誰もが利用できるなら、ソフトウェアの再利用がより可能になり、そのコストは劇的に削減されるだろう。ハードウェア製造者間の競争が促進され、ハードウェア製造者は、より多くのリソースを設計に使えるようになり、ソフトウェア・サポートに使うリソースは少なくできる[10]。彼らの主張によれば、命令セットの設計では新しい設計原理が現れることはほとんどなく、過去40年の中で最も成功した設計はますます似通って来ている。失敗した設計のほとんどは、出資した企業が商業的に失敗したのであり、命令セットが技術的に劣っていたからではない。よって、よく設計されたオープンな命令セットが、十分に確立された設計原理を用いて設計されれば、多くのベンダーが長期間に渡ってサポートする気になるだろう[10]。License(GPL)を使用することで、ユーザーにコピーや利用するにあたって、実装をオープンにするようにさせていた。他の学術目的の設計とは異なり、RISC-V命令セットは、研究内容の説明のための簡略化に最適化するのではなく、実用的なコンピュータに最適化した簡略化にすると宣言されている。この簡略化はコンピュータの速度向上を目的とするが、コストや電力使用量も削減される。アーキテクチャ、CPU内部のマルチプレクサを単純化するビット・パターン、簡略化された標準に基いた浮動小数点、アーキテクチャに中立な設計、および、最上位の符号ビットを固定とすることによる符号拡張の高速化である。符号拡張は、しばしば、クリティカル・タイミング・パスになると言われている。命令セットは、幅広い層のユーザー向けに設計されている。32-、64-、128-ビットの3つのワード幅、様々なサブセットをサポートする。各サブセットの定義は、3つワード幅間で、わずかに変化する。サブセットは、小さな組み込みシステム、パーソナルコンピュータ、ベクタプロセッサを持つスーパーコンピュータ、および、ウェアハウス・スケールのラック・マウント型並列計算マシンをサポートする。命令セットは、可変長幅で、拡張可能であるため、より多くのエンコード・ビットが追加可能である。ISAには128ビットまで拡張されたバージョンまで予約されている。これは、過去60年の業界の歴史の中で、過去の命令セットでメモリアドレス空間が不足していたことが原因で、取り返しのつかない失敗が起きたことを反映している。2016年現在、128-ビットのISAは、その巨大なメモリシステムに関する知見がほとんどないために、意図的に未定義にされている。RISC-Vは、設計者の学術利用もサポートしている。整数命令のサブセットは単純であるため、学生が初歩的な練習をすることができ、整数命令サブセットはシンプルなISAであるため、ソフトウェアによる研究用マシンの制御にも利用できる。可変長のISAは、学生の練習と研究のための拡張を可能にする[5]。別定義の特権命令セットを用いれば、OSの研究を、コンパイラを再設計せずにサポートできる[22]。RISC-Vのオープンな知的財産によって、設計を公開したり、再利用したり、修正が可能になる[5]。ソフトウェア[編集]新しい命令セットを作る際に一般的な問題点は、CPUの設計とソフトウェアが存在しないことである[要出典]が、RISC-Vのウェブサイトには、オペレーティングシステムをサポートするために、ユーザーモード命令の仕様と、汎用目的の特権命令セットの予備仕様が用意されている[23]。Zero-Riscy)[27]などが存在する。CPUは小型の組み込みCPUに適しているように考えられている。Rocketは小型の低消費電力の個人用中型コンピュータに適している可能性がある。BOOMはRocket向けに作られた命令の多くを使用しており、パーソナルコンピュータ、スーパーコンピュータ、データセンタースケールのコンピュータに適している可能性がある。MCU)クラスのRV32IMCのVerilog実装である。ISAを実装している。設計用ソフトウェアには設計コンパイラのChisel[28]があり、デバイスで使用するためのVerilogでの設計工数を削減することができる。ウェブサイトでは、コアの実装をテストするための検証用データが公開されている。simulator、およびQEMU内のシミュレータが存在する。(2019-03-14)現在[update]は標準化されていない[29]ため、暫定的な対応となっている。11.0で公開された[30][31]。Debianへのポート[32]およびFedoraへのポート[33]はすでに安定している。U-Bootへのポートが存在する[34]。UEFI仕様v2.7のRISC-Vバインディングおよびtianocoreへのポートは、HPEのエンジニアによって完了しており、アップストリームに反映されることが期待されている。seL4マイクロカーネルのポートも存在する[35][36]。Linuxが動作するシミュレータシステムがJavaScriptで書かれている[37]。Generatorを使用して生成できる[38]。2014年8月25日閲覧。2016年10月25日閲覧。2014年10月1日閲覧。2017年5月25日閲覧。2015年2月12日閲覧。2014年9月15日閲覧。2015年2月12日閲覧。2018年7月21日閲覧。2018年7月21日閲覧。2016年11月15日閲覧。2014年8月26日閲覧。2014年8月26日閲覧。2018年3月21日閲覧。2018年7月19日閲覧。2016年2月11日閲覧。2018年1月2日閲覧。2016年8月30日閲覧。2016年11月11日閲覧。2016年11月11日閲覧。2016年11月11日閲覧。2016年11月11日閲覧。2016年8月5日閲覧。2015年2月12日閲覧。2016年8月30日閲覧。2018年7月19日閲覧。2016年9月26日閲覧。2017年2月15日閲覧。2018年7月13日閲覧。2018年7月13日閲覧。2019年1月17日閲覧。978-4822292812(2018年10月18日)。組み込みシステムプログラマブルロジックコントローラこの項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。