KUMICO

COLUMN

RISC-V(リスクファイブ)とは

本コラムでは、昨今日本でも盛り上がりをみせつつあるCPUの仕様である「RISC-V」についてわかりやすく解説します。

【おさらい】CPUはソフトウェアを動かすためのハードウェア

まずは、CPUについておさらいです。既にご存知の方は読み飛ばしてください。

自作パソコンを作ったことがある人、組込み業界の人であれば「CPU」という言葉を知っている方も多いかと思います。Center Prosessing Unitの略で「中央演算装置」とも言います。その名の通り計算処理を行うためにパソコンや、組込み機器などに搭載されています。人間で言うところの考える役割を担う「脳」の部分と言ったりもします。このCPUはソフトウェアを動かすために必要なハードウェアであり、近年ではほとんどの機器にCPUとソフトウェアが搭載されているといっても過言ではありません。

ここでは電球を例に考えてみましょう。昔の電球はスイッチONで点灯、スイッチOFFで消灯するだけの単純な機能でした。このような単純な機能であればソフトウェアは必要ありません。小学校の理科の授業で豆電球を電池とつなげて点灯させたり、消灯させたりしたことがある方も多いと思いますが、そこでソフトウェアを作ったという方はまずいないのではと思います。しかし、近年の組込み機器は複雑化してきており、例に挙げた電球にしても、人を感知したら点灯する人感センサーを搭載、WIFI接続可能、スマートスピーカー連携可能、点灯色の変更が可能、など様々な機能をもった電球が発売されています。このような複雑な機能を実現しようとした際には、ソフトウェアによる処理が必要となり、そのためのハードウェアとしてCPUが搭載されるようになります。

世の中には様々なCPUがありますが、大きく分けるとパソコン用途、組込み用途の2つの種類があります。それぞれの用途で代表的なCPUは?というと、パソコン用途としては高い処理能力を有するインテル・AMDを代表とするx86系CPU、専門特化した組込み機器用途向けには、Linuxと親和性が高いARMプロセッサが挙げられるのではと思います。これらCPUはそれぞれx86、ARMアーキテクチャと呼ばれる命令セットアーキテクチャ(ISA)を採用したCPUと言うことができます。

【おさらい】CPUの仕様 = 命令セット・アーキテクチャ(ISA)

ISAって?という人にもわかるようにわかりやすく説明しましょう。ISAはCPUがソフトウェアに提供する関数(ファンクション)群の仕様と考えていただければ、プログラムに触れたことのある人にはわかりやすいのではと思います。

例えばA+B=Aの足し算をする場合、ISAの中の「ADD」という命令を使い、ADD A Bという命令を実行すると、A+B=Aが行われます。では次にA+B+C=Aという3つの数値の足し算をするとしましょう。ADDの命令を利用した場合、ADD A B、ADD A Cという形で2回の命令で実行することになります。しかし、3つの足し算をする命令(例えばADD3)を持ったCPUでは、ADD3 A B Cといったように1回の命令で3つの足し算をする事が可能となります。単純に考えれば2回命令を実行する場合と比べると、計算時間が半分になり、その分消費する電力も少なくなるわけです。

ISA(命令セットアーキテクチャ)とは、CPUがソフトウェアに提供する関数(ファンクション)群で、ソフトウェアが良く行う計算処理をより効率的に実行できるような命令セットの仕様なのです。※厳密に言えば違う部分もありますが、本コラムではわかりやすさを優先し記載を行っております。

既存のCPU設計・開発の現状と問題点

インテル社、AMD社、Freescale社、Qualcomm社、ルネサス社、テキサス・インスツルメンツ社、アナログ・デバイセズ社などCPU(SoC/DSP/MPUなんて言い方もします)を開発・販売するチップベンダーは数多く存在します。これらチップベンダーは、搭載されるアプリケーションに必要な機能を1つのチップに集約したCPU(この場合SoC:System on Chipと言うのが正しいですが)を設計・開発し販売しています。例えば自動車向けでは速度センサー・距離センサーなどのI/O、車載通信ネットワーク、パワーウィンドウなどのモーター制御などがわかりやすいでしょうか。これらSoCを作る際に、多くの場合演算機能を行うハードウェアとしてCPUコア(ISAを実装したハードウェア)が搭載されます。CPUコアは自社で一から作る手もありますが、多くの場合は、既存のISAベンダーから提供されているものを購入し搭載します。なぜならば、既存のソフトウェアは既存のISAに最適化されているものが殆どです。例えばARMアーキテクチャに最適化されたLinux、x86アーキテクチャに最適化されたWindowsなどがわかりやすい例かと思います。ISAを独自開発したとしても既存のソフトウェアが快適に動かないのでは意味がありませんし、組込みソフトウェア技術者が知らない、使いこなせないマイナーな命令を準備しても意味がないからです。

しかし、ここには大きく2つの問題点があります。1.CPUコアメーカーと結ぶ秘密保持契約の負荷と、2.CPUコアメーカーに支払うライセンス料です。この2つの問題によりSoCを作れるのは、限られた企業だけになっているのです。

組込み機器業界を一変させる可能性がある技術=RISC-V

ここまできてようやくRISC-Vの話に入れます。

RISC-Vは、オープン・標準の命令セット・アーキテクチャ (ISA) です。一番大きな特徴は、誰もが使え、ライセンス料が無料、契約の必要なし、オープンソースのCPUコアとして形になっている点にあります。今まで、限られたチップメーカがライセンス料と契約という労力を払ってSoCを開発・販売していたものが、誰もが無料ですぐに利用できるCPUコア=RISC-Vの登場により、その労力がなくなるおかげで同じものが安く作れるようになるわけです。また、今まで契約・ライセンス料の敷居により参入できなかった企業が新たに参入し、選択肢が増える可能性も十分に考えられます。RISC-Vの登場により、数ある選択肢の中から、自身にとって最適なものを選択し、お手軽に入手できる時代に1歩近づいたのです。さらには、RISC-Vは業界をリードする企業や経験豊富な技術者が集結して開発しているため、前章で説明したような独自の新しいマイナーな命令セット・アーキテクチャではなく、より使いやすいように最適化されているため、既存のソフトウェアが高速、低消費電力(より少ない命令)で動かすことが可能となっています。

この状況を例えて言うならばスマートフォンといえばAppleしか使えないiOS一択だった時代に、無料で誰もが使えて同じような処理ができるAndroidが登場したときのような流れと思っていただけるとわかりやすいかもしれません。Androidの登場により、誰もがスマートフォンのような高機能、GUI のデバイスを作ることが可能となりました。その結果、今まで参入できなかった中小の企業が参入することで、考えられないぐらい低価格の商品や、特徴的な製品が登場し、業界が一変したかと思います。RISC-Vは今まで限られたチップベンダーしか出来なかったCPU開発の敷居をぐっと引き下げ、組込み業界を一変させる可能性を秘めた命令セットアーキテクチャ(ISA)なのです。

個別相談も承っております。下記よりお申し込みください。

個別相談会申し込み

関連記事

OTHER COLUMN

MORE  

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

お探しの組み込み製品はキーワードで検索!