RISC-Vとは? 誰でも使える命令セットのしくみ
RISC-V(リスク・ファイブ)は、CPUが実行できる命令の種類と、その0と1での書き方を定めた「命令セット」です。仕様が公開されていて、誰でもライセンス料を払わずに、これに従ったCPUを設計して売れるのが最大の特徴です。2010年に米カリフォルニア大学バークレー校で始まりました。今はマイコンや、GPUの中で全体を制御する小さなCPUなどで広く使われています。
この記事でわかること
- 命令セットとは何か、なぜソフトとCPUの「約束ごと」なのか
- x86・Arm・RISC-Vの違い(特に、誰がCPUを作れて、お金をどう払うか)
- RISC-Vの「基本+選んで足す拡張」というしくみ
- どこで使われているか、そして「無料」の本当の意味と課題
前提知識: CPUを「0と1で書かれた単純な命令を、1つずつ実行する部品」と知っていると読みやすくなります。
身近なところでは
電子工作でよく使われる、Wi-Fiつきの小さなマイコンの基板があります。その一部の製品のCPUは、RISC-Vという命令セットに従って動いています。NVIDIAのGPUの中にも、RISC-Vに従う小さなCPUが入っています。ハードディスクやSSDのメーカーも、制御用のCPUをRISC-Vに切り替える方針を発表しています。
どれも、製品の外からは見えない場所です。そのため名前を聞いても、ぴんと来ない人が多いと思います。この記事では、まず「命令セット」が何かを確かめ、そのうえでRISC-Vの何が新しいのかを見ていきます。
命令セットは、ソフトとCPUの「約束ごと」
CPUは、「足す」「比べる」「メモリから読む」のような単純な命令を、1つずつ実行する部品です。命令は文字ではなく、0と1の並び(機械語)で書かれています。くわしくは「CPUとは?」で説明しています。
どんな命令があり、それぞれを0と1のどんな並びで表すか。この取り決めを命令セットと呼びます。正式には命令セットアーキテクチャ、略してISAです。命令セットは、CPUの中の小さな記憶場所の数や、命令の長さなども定めます。
大事なのは、命令セットが決めるのは「何をするか」だけだという点です。「どんな回路で実現するか」は決めません。回路の作り方は、CPUを作る会社が自由に工夫できます。そのため、同じ命令セットに従うCPUなら、小さなマイコンでも高性能なCPUでも、同じ機械語のプログラムが動きます。細かな条件は、後の章で説明します。
代表的な3つの命令セットと、「使う権利」の違い
今、広く使われている命令セットの代表は、x86・Arm・RISC-Vの3つです。技術的な違いもありますが、いちばん大きな違いは「だれが、どんな条件でCPUを作れるか」です。
x86は、Intelが1978年に発表した8086から続く命令セットです。多くのWindowsパソコンやサーバーで使われています。x86のCPUを作っているのは、主にIntelとAMDの2社です。ほかの会社が自由にx86のCPUを作って売ることはできません。
Armは、英国のArm社が持つ命令セットです。Arm社は、この命令セットを使う権利を他社に貸し、その料金を主な収入にしています。Arm社の年次報告によると、貸し方は主に2通りです。1つは、Arm社が作ったCPUの設計図を貸す方法です。もう1つは、命令セットだけを使う権利を貸し、相手が自分でCPUを設計する方法です。どちらの場合も、契約の料金(ライセンス料)と、出荷したチップ1個ごとの使用料(ロイヤルティ)を払います。
RISC-Vは、仕様書がだれでも無料で読めるように公開されています。RISC-Vに従ったCPUを設計して売っても、仕様を管理する団体にライセンス料や使用料を払う必要はありません。このように、だれでも使えるように公開された規格を「オープンな標準」と呼びます。ただし、「RISC-V」の名前やロゴは管理団体の商標で、製品に使うときの決まりは別にあります。
| x86 | Arm | RISC-V | |
|---|---|---|---|
| 仕様を決める | Intel・AMD | Arm社 | RISC-V International(会員で議論) |
| CPUを作れる会社 | 主にIntelとAMD | Arm社と契約した会社 | だれでも |
| 命令セットの使用料 | 他社には開かれていない | ライセンス料とロイヤルティ | 不要 |
この表は、事業のしくみを大まかにまとめたものです。技術の面からの比較は「ARM・RISC-V・x86の違い」で表にしています。
RISC-Vはどこから来たのか
RISC-Vは2010年5月、カリフォルニア大学バークレー校で始まりました。クルステ・アサノビッチ教授と、大学院生のユンスプ・リー、アンドリュー・ウォーターマンが始めた研究の一部です。研究や授業では、CPUの中身を自由に変え、その結果を公開したいことがよくあります。ところが既存の命令セットは、自由に変えたり、変えたものを配ったりできませんでした。
名前の「RISC」は、命令の種類を絞り、1つ1つの命令を単純でそろった形にする設計の考え方です。単純な命令は、回路を作りやすく、速く実行しやすくなります。反対に、1つの命令に多くの仕事をさせる考え方をCISCと呼び、x86はこちらに入ります。違いは「RISCとCISCの違い」で表にしています。
RISCの命令セットでは、メモリとの読み書きは専用の命令だけで行います。計算は、CPUの中の小さな記憶場所(レジスタ)どうしで行います。この方式をロード・ストア・アーキテクチャと呼び、ArmもRISC-Vもこの方式です。命令ごとの仕事が単純にそろうので、回路で順番に処理しやすくなります。
「V」はローマ数字の5です。バークレー校では、1981年に発表したRISC-Iから、RISCの研究を何代も続けてきました。仕様書の説明では、RISC-Vはその5代目の大きな設計にあたります。
2014年、アサノビッチ教授とデイビッド・パターソン教授は「命令セットは自由であるべきだ」という報告を出しました。2015年には仕様を育てる団体としてRISC-V Foundationができ、多くの企業が加わりました。この団体は2020年3月にスイスで法人となり、今の名前のRISC-V Internationalになりました。営利を目的としない団体で、仕様は会員の議論で決めています。
「小さな基本」に「拡張」を選んで足す
RISC-Vの設計で目立つのは、命令セットを部品のように組み合わせて使う点です。土台になるのは、整数の計算、メモリの読み書き、分岐だけを持つ小さな「基本の命令セット」です。分岐とは、条件によって次に実行する命令を選ぶことです。32ビットの数を扱うRV32Iと、64ビットのRV64Iがあります。RV32Iの命令は、仕様書の数え方で40個しかありません。
この基本の上に、必要な機能だけを「拡張」として選んで足します。拡張には、アルファベット1文字の名前がついています。代表的なものは次のとおりです。
- M: 整数の掛け算・割り算(基本の命令セットには入っていません)
- A: 複数のコア(命令を実行する回路)が同じデータを扱っても壊れないように、読み書きを途中で割り込まれずに行う命令
- F・D: 小数を含む数の計算。Fは標準的な精度、Dはその倍の精度です
- C: よく使う命令を、ふつうの32ビットではなく16ビットの短い形で書けるようにする
- V: たくさんのデータに、同じ計算をまとめて行う(ベクトル拡張。2021年に正式に決まりました)
Cのように命令を短く書いたものを圧縮命令と呼びます。仕様書によると、ふつうは命令の50〜60%を短い形に置きかえられます。その結果、プログラムの大きさが25〜30%小さくなります。記憶できる量が少ないマイコンでは、この差が大きく効きます。
CPUがどの拡張を持つかは、名前を見ればわかります。例えば、後で紹介するEspressifのESP32-C3は「RV32IMC」です。32ビットの基本に、M(掛け算・割り算)とC(短い命令)を足したもの、という意味です。さらに、仕様には会社ごとの独自の命令を入れるための空きも用意されています。AI向けの計算など、特定の仕事に特化した命令を足せます。
どこで使われている?
RISC-Vが最初に広がったのは、製品の中で決まった仕事を受け持つ、小さなCPUです。こうしたCPUは、外から見えないうえに、1台の機械にいくつも入っています。数が多いので、1個ごとの使用料がかからない利点が大きく効きます。
- ストレージの制御: Western Digitalは2017年、製品の制御に使うコアをRISC-Vに切り替えていくと発表しました。当時、同社が使うコアは年に10億個を超えていました。2018年12月には、SSDなどに使う自社設計のRISC-Vのコア「SweRV」を公開すると発表しています。
- マイコン: Espressifは2020年11月、マイコンのESP32-C3を発表しました。Wi-FiとBluetoothの通信機能を持つ製品です。CPUは32ビットのRISC-Vで、最大160MHzで動きます。
- GPUの中の制御: GPUの中には、全体の制御を受け持つ小さなCPUがあります。NVIDIAは2010年代半ばから、これを自社独自の方式からRISC-Vに切り替えてきました。2024年のRISC-Vの会議での講演によると、1つのチップに10〜40個ほどのRISC-Vのコアが入っています。
今の多くのチップは、CPUのほかに、計算や通信の回路などを1つにまとめたSoCです。RISC-Vは、こうしたチップの中の「わき役」のCPUとして、すでに大量に使われています。
一方、パソコンやスマホの「主役」のCPUとしては、まだ始まったばかりです。2025年2月には、ノートパソコンFramework Laptop 13用のRISC-Vの基板が発売されました。ただしメーカー自身が「開発者向けで、一般の利用者向けではない」と説明しています。
命令セットが公開でも、CPUの設計図は公開とは限らない
ここで、混同しやすい2つを分けておきます。命令セットは「何をするか」の約束で、CPUの設計図は「どんな回路で実現するか」です。「CPUとは?」の記事では、命令を実行するひとそろいの回路を「コア」と呼びました。業界では、その回路の設計図も同じく「コア」と呼びます。RISC-Vで公開されているのは命令セットで、コアの設計図は作った会社のものです。
実際、RISC-Vのコアの多くは非公開の製品です。例えばSiFiveは、RISC-Vを始めたバークレー校の3人が2015年に作った会社です。自社のコアの設計図を、有料で他社に貸しています。Armと似たやり方ですが、命令セットそのものの使用料はかかりません。報道によると、NVIDIAのGPUの中のコアも、同社が自分で設計したものです。
その一方で、設計図まで公開したコアもあります。英国の非営利団体lowRISCが開発を引き継いだIbexや、OpenHWの団体が管理するCVA6がその例です。ソフトウェアの世界の「オープンソース」と同じく、だれでも中身を読み、使い、改良できます。つまり「RISC-Vのチップ」には、中身が非公開のものと公開のものの両方があります。
いちばんの課題は、ソフトウェアの積み重ね
CPUがあっても、その命令セット用のソフトウェアがなければ役に立ちません。OS、コンパイラ、よく使われる部品集(ライブラリ)、アプリが必要です。x86とArmには、数十年分のソフトウェアと、それを速く動かすための調整の積み重ねがあります。こうしたソフトや道具、それを支える人や会社の広がりを、まとめて「エコシステム」と呼びます。
RISC-V用のソフトも、少しずつそろってきています。例えば、Linuxを使ったOSの代表的な配布版の1つにDebianがあります。Debianは2025年8月の版で、初めて64ビットのRISC-Vを正式な対応先に加えました。ただし、パソコンやスマホで多くの人が使うアプリまで、すべてがそろっているわけではありません。
拡張を自由に選べることは、ソフトの面では弱点にもなります。CPUごとに持っている拡張が違うと、「どのRISC-VのCPUでも動くソフト」を作りにくくなるからです。そこでRISC-V Internationalは、用途ごとに「最低限これだけは持つ」拡張の組み合わせを決めています。2024年10月には「RVA23」という組み合わせを正式に決めました。本格的なOSを動かす、64ビットのCPUが対象です。
よくある誤解
誤解: RISC-Vは無料だから、RISC-Vのチップもタダで作れる
実際は、無料なのは命令セットという「約束ごと」を使う権利だけです。それに従うCPUの回路を設計し、確かめ、工場で製造するには、大きな費用がかかります。コアの設計図を他社から借りれば、その料金もかかります。命令セットの使用料がなくなる分、費用が下がり、設計の自由が増える、というのが正確な説明です。
誤解: RISCは命令が単純だから遅い(または、RISCだから速い)
実際は、CPUの速さは、RISCかCISCかより、回路の作り方やキャッシュの大きさ、製造の技術で大きく変わります。米ウィスコンシン大学マディソン校の2013年の研究は、Armとx86の実際のCPUを測りました。そして、性能や電力の違いは、命令セットの種類より設計の違いで説明できると結論づけています。今のx86のCPUは、複雑な命令を中で単純な動作に分けて実行しています。「RISC-Vだから速い・遅い」とは言えず、製品ごとに比べる必要があります。
誤解: RISC-VのCPUなら、どれでも同じソフトが動く
実際は、基本の命令しか使わないソフトなら動きますが、拡張を使うソフトは、その拡張を持つCPUでしか動きません。例えばV(ベクトル)を使うソフトは、Vを持たない小さなマイコンでは動きません。さらに、OSや周りの部品の違いもあります。前の章のRVA23のような組み合わせの決まりは、この問題を減らすためのものです。
数字で見る
| 項目 | 数字 | 補足 |
|---|---|---|
| RISC-Vの始まり | 2010年5月 | バークレー校。RISCの研究は1981年のRISC-Iから |
| RV32I(基本)の命令の数 | 40個 | 仕様書の数え方。レジスタは32本 |
| C拡張でのプログラムの縮み方 | 25〜30%小さく | 仕様書の目安 |
| Western Digitalの切り替えの規模 | 年に10億個超 | 2017年の発表時点 |
| NVIDIAのチップ1個のRISC-Vのコア | 10〜40個ほど | 2024年の講演 |
| 管理団体がスイスで法人に | 2020年3月 | RISC-V International |
40個という数は、命令セットの「基本」がどれだけ小さいかを表しています。x86は何十年もかけて命令を足し続けてきたので、数え方にもよりますが、命令の種類はこれよりはるかに多くあります。RISC-Vは、もともと大学の研究と授業のために作られました。基本が小さいので、学生が1からCPUを設計する教材にも向いています。
もっと詳しく学ぶ
- 違いを表で見る: ARM・RISC-V・x86の違い、RISCとCISCの違い
- 次の一歩の用語: 圧縮命令、ロード・ストア・アーキテクチャ、アトミック命令(A拡張の命令)、IEEE 754(F・D拡張が従う小数の表し方)
- RISC-Vがよく使われるマイコンのしくみ: 「マイコンとは?」
- プログラムが特定の命令セットの機械語になるまで: 「コンパイラとは?」
- チップを自社で設計し、製造を他社に任せる会社のしくみ: 「ファウンドリとは?」