リネオブログ

RISC-Vについて学ぶ-前編

2023 年 12 月 12 日   Linux 技術ネタ

目次

はじめに

技術にはクローズドなものとオープンなものがあります。OSS という用語に代表されるように、オープンというとソフトウェアを連想する方が多いのではないでしょうか。しかし 1970 年代にはソフトウェアもコード非公開のクローズドなものでした。今のオープンソースの流れは 1980 年代に利用者が立ち上げた流れを汲むものです。

一方、ハードウェア、特に CPU は、高度な専門性が必要なため、長年 アーム, Intel に代表される企業がシェアを持つブラックボックス、クローズドな技術でした。RISC-V は、CPU の回路情報をオープンにし、誰でも開発できるようにしようという現状に一石を投じる活動です。歴史を振り返ってみると、商用 Unix の時代に一石を投じた Linux に似ています。オープン OS としてソフトウェアの分野で普及し、地位を確立した Linux のように、将来 RISC-V もハードウェアの分野で普及し、ソフトもハードもオープンな時代が来ることを期待します。

本ブログは 2 部構成となっており、前編では RISC-V の概要、特長とメリット・デメリットについて紹介します。

1. RISC-V とは

RISC-V は、2010 年にカリフォルニア大学バークレー校の Parallel Computing Laboratory (Par Lab) で開発が開始された新しい命令セットアーキテクチャ (ISA) です。
研究室や企業の垣根を超えて RISC-V に関する仕様の策定や研究開発などを推し進めるために、国際的な非営利団体として RISC-V Foundation(現在 RISC-V International)が発足しました。現在、RISC-V International のメンバーには世界中の IT 企業/半導体企業などが参加しており、仕様策定やプロセッサの設計、ソフトウェアのツールチェーンなど、RISC-V を取り巻くエコシステム全体が急速な成長を見せています。

現在、RISC-V の CPU コアを採用している SoC が様々な企業から発売されており、評価ボードも充実しつつあります。しかし現状としては、まだまだ x86 系/ Arm 系の命令セットアーキテクチャのシェアが大きいです。また性能面でも、x86 系や Arm 系のプロセッサに軍配が上がる状況となっています。

1.1 RISC-V の目標

RISC-V 原典の第一章には、『普遍性を備えた ISA となること』がRISC-V の目標と書かれています(具体的には以下)。

  • 最も小規模な組込みコントローラから最も高性能なハイパフォーマンス・コンピュータに至るまでの、全てのアプリケーションに向けたプロセッサに対応すべきである。
  • 普及している広範なソフトウェア・スタックおよびプログラミング言語で問題なく動くべきである。
  • 全ての実装技術に対応すべきである(FPGA, ASIC, フルカスタムチップ、将来のデバイス技術)。
  • 全てのマイクロアーキテクチャ方式で効率的であるべきである(マイクロコードまたはワイヤドロジックによる制御、イン・オーダー方式やデカップル方式、アウト・オブ・オーダー方式のパイプライン、シングル方式またはスーパースカラ方式の命令発行など)。
  • ムーアの法則が色あせるにつれて重要性が高まる特定用途向けアクセラレータの基盤として機能するために、広範な拡張性をサポートすべきである。
  • 基盤の ISA は変わるべきではない点で、安定的であるべきである(ISA を打ち切ってはならない)。

2. RISC-V の特長

RISC-V の特長として、主に以下の 2 点があります。

2.1 オープンである

2.1.1 コスト

RISC-V では ISA に対して、ライセンス料もロイヤリティも支払う必要がありません。そのため誰でも自由に RISC-V のプロセッサを設計し、利用や公開、販売などを行うことが可能です。

オープンでない ISA として、アーム社の ISA があります。以下は、アーム社のビジネスモデルです。

202312risc-3-1.jpg

アーム事業戦略

プロセッサの設計には、高度な専門技術と工数が必要です。チップベンダーは、大きく以下2 つの費用をアーム社に支払うことによりアーム社のテクノロジーを購入し、それを搭載した自社チップを販売できるようになります。

① ライセンス料

現在のライセンスモデル「Arm Flexible Access」では、対象 IP コア(回路情報)に応じて 3 つのオプションが用意されており、それぞれライセンス料が異なります。

  • DesignStart Tier:0 ドル
  • Entry Tier:8 万ドル/年間
  • Standard Tier:20 万ドル/年間

② ロイヤルティー

アーム社のテクノロジーを使用したチップ単位で、販売価格などに基づいた金額となります。「Arm Flexible Access」のどのオプションも対象です。

Arm Flexible Access

アーム 社のテクノロジーを購入するメリットとして、以下の点が挙げられます。

  • 実績ある アーム 社のエンジニアが設計したプロセッサを搭載できるため、開発する自社チップの信頼性が増す
  • 自社のプロセッサ設計に関する高度な専門技術を持ったエンジニアの工数が削減できる

一方、デメリットとして、高額な費用負担が挙げられます。

RISC-V の場合は、これと全く逆になります。RISC-V は導入時のハードルが高いのですが、ある程度の知見を蓄積した後は、コスト面で有利になってくると考えます。このトレードオフを慎重に検討する必要があります。

2.1.2 仕様

RISC-V は国際政治において中立の立場をとっており、どの国や企業に対しても利用する機会が平等に与えられています。RISC-V に関する仕様の策定を主導している国際的な非営利団体として、RISC-V International(旧 RISC-V Foundation)が存在しています。現在この団体は永世中立国のスイスで法人化されており、RISC-V は特定の国や企業に依存せず政治的な影響を受けない命令セットアーキテクチャとしても注目されています。特定の国や企業の事情により、プロセッサの運命が決まってしまった過去の反省が活かされています。

202312risc-3-1-1.jpg

SUMMIT WELCOME & RISC-V FOUNDATION OVERVIEW

RISC-V 原典の第一章には、RISC-V Foundation の目標は、『RISC-V の安定性を維持し、純粋に技術的な理由でのみ徐々に注意深く進化させ、OS で普及した Linux のような存在にハードウェア分野でなることである』と書かれています。

またRISC-V の仕様についての議論もメーリングリストなどオープンな場で行われており、誰でもアクセスすることができます。

参考:RISC-V International の Specification Status

2.2 シンプルである

RISC-V はモジュラー方式の ISA を採用しています。中核となる基本命令セットは不変で、目的に応じて拡張機能命令セットを取捨選択できます。これにより、プロセッサの設計者がユースケースに応じて不要な機能を削ぎ落としたミニマムなプロセッサを作ることが可能になり、プロセッサの実装サイズや生産コストなどを抑制することができます。

基本命令 + 拡張命令 という構造

202312risc-3-2.jpg

基本命令名 意味
RVWMO メモリコンシステンシモデル
RV32I 32bit アドレス、整数命令(整数レジスタ32個)
RV32E 32bit アドレス、整数命令(整数レジスタ16個)
RV64I 64bit アドレス、整数命令
RV128I 128bit アドレス、整数命令

The RISC-V Instruction Set Manual Volume I: Unprivileged ISA

また、RISC-V では独自の拡張機能命令セットを設計・実装することも自由に行えます。そのため、例えば機械学習や画像処理など、特定の分野に合わせた拡張機能命令セットを自前で設計及び実装し、性能を最適化することも比較的容易となっています。

モジュラー方式の ISA と対極にあるのがインクリメンタル方式です。x86 など様々なプロセッサが採用しています。インクリメンタル方式では、新しい ISA を生成するとき、その名前の通り、今あるものに新しい命令を追加する方法を取ります。こうすることで後方互換性が保たれ、過去に作成したプログラムの動作が保証されます。一方で、命令の削除ができないため、プロセッサのリリース時には、要否に関わらず、全ての命令に対してテストを実行しなければならないため命令数に応じてテスト工数が増大し、結果としてプロセッサの単価が高くなってしまいます。

202312risc-3-2-2.jpg

第205回 Intelと互換プロセッサとの戦いの歴史を振り返る

RISC-V は、必要最低限の拡張命令にシュリンクすることにより、後方互換性が失われる可能性はありますが、その分テスト工数を削減でき、結果としてプロセッサの単価を抑えることができます。

後編に続きます。

参考文献

Yocto Project 公式実践講座 3 月 ~ 5 月 開催分 受講お申込み受付中!
Vigiles サポート
Yocto Project よもやま話
Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」
Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」

2023 年 07 月 25 日 Yocto Project よもやま話

Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」
Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」

2023 年 06 月 20 日 Yocto Project よもやま話

 Yocto よもやま話 第 11 回 「Yocto 4.2 Mickledore リリース」
Yocto よもやま話 第 11 回 「Yocto 4.2 Mickledore リリース」

2023 年 05 月 17 日 Yocto Project よもやま話

Linux 技術ネタ
RISC-Vについて学ぶ-後編
RISC-Vについて学ぶ-後編

2024 年 01 月 10 日 Linux 技術ネタ

RISC-Vについて学ぶ-前編
RISC-Vについて学ぶ-前編

2023 年 12 月 12 日 Linux 技術ネタ

イベントレポート
EdgeTech+ 2023 出展レポート
EdgeTech+ 2023 出展レポート

2023 年 12 月 14 日 イベントレポート

EdgeTech+ West 2023 出展レポート
EdgeTech+ West 2023 出展レポート

2023 年 08 月 09 日 イベントレポート

Design Solution Forum 2022
Design Solution Forum 2022

2023 年 02 月 27 日 イベントレポート

リクルート
新卒採用、絶賛募集中!
新卒採用、絶賛募集中!

2023 年 05 月 30 日 リクルート

国立大学オンライン研修レポート 2022
国立大学オンライン研修レポート 2022

2022 年 09 月 27 日 リクルート

北小野通信
北小野通信 桜の季節、珍客来訪?
北小野通信 桜の季節、珍客来訪?

2023 年 05 月 11 日 北小野通信

北小野通信 「 日本土真ん中ウォーク 2022 」
北小野通信 「 日本土真ん中ウォーク 2022 」

2023 年 01 月 30 日 北小野通信

北小野通信 1011
北小野通信 1011

2022 年 10 月 11 日 北小野通信

ソリューション統括部
シリコンバレー探検記 2019 ~番外編~
シリコンバレー探検記 2019 ~番外編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~後編~
シリコンバレー探検記 2019 ~後編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~前編~
シリコンバレー探検記 2019 ~前編~

2019 年 12 月 10 日 ソリューション統括部

マーケティング統括部
大成功決起大会!!(ET2019)
大成功決起大会!!(ET2019)

2019 年 12 月 13 日 マーケティング統括部

ESEC 2019 決起大会
ESEC 2019 決起大会

2019 年 04 月 25 日 マーケティング統括部

シリコンバレー探検記 その 2
シリコンバレー探検記 その 2

2018 年 12 月 18 日 マーケティング統括部