CPUは何をしているのか

CPUと命令セット

コンピュータの頭脳と例えられるCPU。CPUを動かすためには、CPUが解釈して実行できる機械語の仕様を定めた、命令セットアーキテクチャ(ISA:Instruction Set Architecture)と呼ばれるものが必要となります。命令セットアーキテクチャ市場はIntelとArmがほぼ独占しており、現在使われているパソコン、スマホや各種サーバには2社のいずれかによるISAが使われているといっても過言ではありません。

そうした状況下で約10年ほど前の2010年、RISC-Vと呼ばれるオープンソースのISAの開発が始まりました。例えばARMのISAを利用するためには高額のライセンスフィーが必要となりますが、RISC-Vを利用することで、それが無償となります。またRISC-Vはカスタマイズも自由に行えますので、たとえば特定領域に特化して設計されたプロセッサDSA(Domain Specific Architecture)の開発も可能です。

DSAは処理内容を限定することで、並列・逐次処理をともに低消費電力で高速化する専用回路を構築できる利点があります。DSAには特定用途向けプロセッサのASIC、書換可能な論理回路FPGAの2つがあり、ASICとしては機械学習向けにGoogleが開発したTPU(Tensor Processing Unit⁠⁠、FPGAの利用例としてはMicrosoftのCatapultなどがあります。Catapultはデータセンターに配備され、検索エンジンBingの高速化に使われています。こうしたDSAの開発も、ロイヤリティフリーのRISC-Vを利用することで低コストで行うことが可能となります。

オープンソースISA RISC-Vの登場

RISC-Vは2010年、カリフォルニア大学バークレー校でKrste Asanovic(アサノビッチ)教授が率いたRaven-1の開発に始まります。Raven-1は消費電力を抑えつつ、性能を高めることを目的にしていましたが、当時ISA市場を席巻していたIntelのx86やArmのARMv7では費用およびカスタマイズ性の観点からプロジェクトには適さないため、新規のISAを0から開発することになりました。

開発はオープンソースで進められ、2014年5月にユーザレベルの基本命令セットが凍結されます。ISAの変更がないということは、仕様が安定することを意味し、RISC-Vコミュニティの参加者による関連技術の開発が一気に加速しました。2015年8月にはRISC-V Foundation(現RISC-V International)が設立され、Google、Microsoft、Nvidiaなど大手IT企業がこぞって参加しています。

このようにオープン、無料、中立、そして標準となり得るISA、RISC-Vは、より多くの開発者を巻き込みながら、性能向上、開発コスト削減が図られるしくみとして注目されています。

RISC-VとChiselで学ぶ はじめてのCPU自作―オープンソース命令セットによるカスタムCPU実装への第一歩では、こうしたRISC-VによるCPUの自作について、CPUのしくみからわかりやすく解説しています。

『RISC-VとChiselで学ぶ はじめてのCPU自作』の構成
『RISC-VとChiselで学ぶ はじめてのCPU自作』の構成