パソコンやスマホ、自動車、家電製品、制御装置、製造装置など、あらゆる機器やシステムで頭脳の役割を担うマイクロプロセッサー。1971年の登場から50年近くがたち、もはや我々の日々の生活や産業になくてはならない存在である。最近流行りの人工知能の処理では、主役の座こそ数値演算専用プロセッサーのGPU(Graphics Processing Unit)に奪われた感があるが、マイクロプロセッサーの出番も決して少なくない。そのマイクロプロセッサーが今、変革期を迎えている(横田英史:ETラボ 代表 コンサルタント 技術ジャーナリスト)。

 大きく変わろうとしているのは、マイクロプロセッサーを動かすための命令の仕様で、命令セットアーキテクチャー(ISA:Instruction Set Architecture、ISAはアイエスエーと発音)と呼ばれる設計図の部分。性能や消費電力、コストに大きな影響を与え、マイクロプロセッサーの性格を特徴づける重要な役割を果たしている。このISAに、「RISC-V(リスクファイブと発音)」と呼ぶ新たな風が吹き始めたのだ。RISC-Vの風はまだ静かだが、次第に風圧を強め、ブレーク間近を予感させる。

 そもそもISAは、米インテル社のx86アーキテクチャー、英Arm社のARMアーキテクチャーが市場を席巻し、この10年以上にわたって「凪」の状態が続いていた。前者はパソコンやサーバー、後者はスマホをはじめとするモバイル機器やコンピューター周辺装置、制御機器といった分野で80%を超えるシェアを占め、他のISAにつけ入るスキを与えなかった。この構図が、RISC-Vの登場によって大きく変わろうとしている。RISC-Vは、巨人(x86やARM)を打ち負かすダビデとなる可能性を持っているのだ。

RISC-V台頭に3つの要因

 RISC-V台頭の背景には大きく3つの要因がある。第1はRISC-Vを支える環境が整って来たこと、第2は半導体が直面する技術的限界を突破する潜在能力を秘めていること、第3は1兆個の端末がインターネットでつながると言われるIoT社会にマッチした技術的特徴を備えていることである。

 この3つの要因については後述するが、そもそもRISC-Vとは何なのかについてまず簡単に説明しよう。

 RISCとはReduced Instruction Set Computerの略である。コンピューター(マイクロプロセッサー)の設計手法の一つで、性能を高める効果があるとして1985年ころから広く普及した(図1)。RISCでは、コンピューターを動かすための命令を必要不可欠(単純)なものに限定する。命令数を減らし、コンピューターを実現するための半導体回路を単純化して性能向上を図る。半導体回路が単純になるので、コストと消費電力の低減にもつながる。複雑な処理は単純な命令を組み合わせて実行する。このとき単純な命令を組み合わせる作業は、コンパイラーと呼ぶソフトウエアの仕組みで行う。

図1 マイクロプロセッサーの設計手法の変遷
CISC(Complex Instruction Set Computer)からRISC(Reduced Instruction Set Computer)、マルチコア化へと進化した。しかし、むやみにプロセッサーコアの数を増やしても、アムダールの法則から性能は高まらなくなってきた。こうしたなか登場したのがDomain Specific Architectureと呼ぶ設計思想である。出典:Norman P. Jouppi, Cliff Young, Nishant Patil, David Patterson,“A Domain-Specific Architecture for Deep Neural Networks”,Communications of the ACM, September 2018, vol. 61 no. 9,pp.50-59(https://cacm.acm.org/magazines/2018/9/230571-a-domain-specific-architecture-for-deep-neural-networks/fulltext)を基に作成。

 ちなみに初期のマイクロプロセッサーは、一つの命令で多くの処理を実行するという思想で設計された。未成熟な段階にあったコンパイラー技術をハードウエアが補う「高級言語サポート」という考え方が設計者にあった。この時代の設計思想を、その後のRISCと対比してCISC(Complex Instruction Set Computer、シスクと発音)と呼ぶ。CISCは複雑な命令をどんどん詰め込んでいったものの、実際には使われない命令も多く効率が悪化し性能が上がらなくなった。CISCの反省から生まれたのがRISCであり、命令を減らし単純化して性能向上を図った。

 その後は一つのLSIに集積するプロセッサーの数を増やすマルチコア化で性能を高めていった。しかし2015年ころになると限界がきた。むやみにプロセッサーコアの数を増やしても性能は高まらなくなったのだ。こうしたなかで登場したのがDomain Specific Architecture(ドメイン固有アーキテクチャー)と呼ぶ設計思想である。Domain Specific Architectureについては後述する。