このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第733回

複数の命令をまとめて処理する基本命令セットが功を奏す RISC-Vプロセッサー遍歴

2023年08月21日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

メインとなるプロセッサー以外は独自設計
これを統合できれば新しい命令セットが普及する

 ではこの2010年代はx86とArmだけで事足りていたのか? というともちろんそんなことはない。確かにメインとなるプロセッサーはx86かArmでこれは疑う余地はないのだが、それ以外のブロックに多数のプロセッサーが搭載されており、これらは独自のものが多かった。

 下の画像はDual Cortex-A9というあたり、おそらくはTegra 2の内部写真と思われる。

RISC-Vプロセッサー遍歴

下手すると、1つのブロックに複数個のプロセッサーが含まれていることも珍しくない

 そのTegra 2のブロック図が下の画像である。ここで色を付けたのは筆者だが、この色付きの部分は独自のプロセッサーを搭載している「可能性がある」(実際に搭載してるかどうか、はNVIDIAの中の人のみぞ知る話で、分解して削ってみないと判断できない)ブロックである。

RISC-Vプロセッサー遍歴

Tegra 2のブロック図。SPI Slave/MasterやI2C Master/Slaveがそれぞれのchごとにプロセッサーを搭載しているか? は微妙なところで、4ch分まとめて1つという可能性も低くはない

 ちなみにTegra 2はスマートフォン向けのプロセッサーではあるが、ワイヤレス(3G回線やWi-Fi/Bluetooth)は外付けなのでここには含まれていないが、もし含まれていたらここにも独自プロセッサーがてんこ盛りであろう。

 実はこうした構図は別に珍しくない。例えば初代のIBM-PCだが、実はキーボードのコントローラーとしてはIntel 8048という8bitプロセッサーが8088とは別に搭載されており、キーボードが押されたかどうかの判断とキーコードの送出はこの8048の仕事になっていた。

 要するにすべての処理をメインとなるプロセッサー(この場合はDual Cortex-A9)にやらせていたら、処理が重くなるとデータの取りこぼしなどが簡単に起きかねないし、極めて煩雑に処理を切り替える必要があるから性能も落ちる。通信やネットワーク処理、ISPなどに関してはもう専用のプロセッサーを搭載させた方が賢明である。

 こうした部分ではこれまで、Arm以外のコアが結構広く利用されてきていた。もちろんArmもリアルタイム制御に向いたCortex-Rシリーズや、汎用のCortex-Mシリーズのプロセッサーを提供してきているが以下の事情から、必ずしもArmコアが使われるとは限らない。

  • Armからコアを買うとライセンス料が高い。なにしろ薄利多売のビジネスなので、数セントのライセンス料でも結構インパクトは大きい。
  • こうした機能ブロック組み込みのプロセッサーは、別に汎用的な命令セットに準拠している必要はない。特定の処理だけしか実行しないので、そのプログラミングができればいい。

 ちょうど2010年頃で言えば、Wi-Fi/Bluetoothのモデムには台湾Andes Technologiesが独自に開発した(命令セットも独自のAndeStar v3というものだった)AndesCore v3が使われていることが多かった。

 ほかにもSynopsysのARCやCadenceのTensilica Xtensa、仏CortusのAPSなど、こうした組み込み向けに向いたCPUコアをIPの形で提供するベンダーは多かった。

 もっと性能が低くていい向けには、それこそ8051互換のIPをリリースしているベンダーはけっこうあり、利用には困らない。上の画像で言えば、USBのコントローラーや各種アクセラレーター類は32bitのコアが必要だが、UARTやI2C、RTC(リアルタイムクロック)やキーボードの制御なら8bitで十分だろう。

 ちなみにこうしたコアはIPの形で提供されることになるので、ASICを開発するベンダーはそのIPを購入して自分で組み込むことになる。そうした技術力がないベンダーはどうするか? というと半導体メーカーに頼んで作ってもらうわけだが、その際にはそのベンダーが保有しているIPが使われることになる。

 例えば旧Freescaleに頼むと8bitにはS08を、32bitにはColdFireを使うことが多かったし、旧AtmelではAVR8/AVR32がこうした用途に使われた。結果的に、数ダースのISAが1つのSoC内で使われるというケースは本当に珍しくない。

 逆に言えば、こうした混乱状態にあるISAを統合できれば、新しい命令セットが普及する余地があるというふうにAsanović教授は考えたわけだ。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン