RISC-VとPowerVR

 高額なライセンスが不要で、命令の拡張方法も用意されているオープンソースCPU命令セットアーキテクチャ(ISA)のRISC-Vは、今のところはIntelやARMの牙城、PCや高性能モバイル端末のメインとして使われるというよりも、組み込み向けのコントローラー用という位置づけだろう。ただ、ISAが最初から32ビット~128ビットの高性能CPUを念頭に設計されているので、環境さえ整えばスマホやデスクトップPC、インターネットサーバーなどにも使いやすいはず。GCCなどもとっくに対応済みで、RISC-Vの開発環境も整っているし、Linuxの移植はとうに済んでいる。しかし検索してみるとわかるが、RISC-VでのLinux動作記事なんかは、みんなシリアルコンソールで動いており、GUIデスクトップ動作している記事は一つだけ。それも動画で動いているところを見せているものはなく、静止画で画面を映しているだけである。
abopen.com

f:id:juangotoh:20191111160014p:plain
RISC-VデスクトップPC動作画面

 この記事では、市販のビデオカードを使うためにRISC-V評価ボードにPCIeスイッチング用のASICを搭載した拡張ボードを接続して動かしましたという感じで、なんというか余計な手間と費用が半端ない感じだ。PC用ビデオカードは、つまりPCのマザーボードで動くのが普通であり、RISC-V用のPC形式マザーボードなんてないから大変なんである。ARMはどうかというと、こちらはSoCとして、チップにGPUを含めた形が多い。Raspberry piなんかは、BroadcomのSoCを使っていて、これはVideoCoreというGPUを内蔵している。NVidiaが作ってるARM SoCの場合はもちろんGeForceの縮小版みたいなのが内蔵されてるし、AppleもA11で自社製GPUを内蔵している。なお、自社でGPUを調達できないメーカーは、ARMが提供するMaliというGPUが使える。なんかメーカーごとにバラバラだけど、ARM系のビデオは基本OpenGLなので、画面出力APIはだいたい同じなのでいいのだ。

 で、RISC-Vだが、これはあくまで「CPU」部分だけの規格であり、少なくともいまのところGPUの仕様なんかは一切作っていない。それではいつまでたってもスマホやパソコンみたいな応用には結びつかない。まあRISC-Vはそもそも大学の研究テーマだし、そういうのもありかなと思うのだけど、その大学(UCB)からスピンアウトして実際のチップをいち早く作って販売しているメーカー、SiFiveは大学じゃなくて会社だから、RISC-Vの技術を現実のSoCにするためにいろいろやってるわけで、無償で使えるISAだけではSoCは作れないから、周辺インターフェースのIPを所有する会社を説得して、SoC作るためのライセンス交渉をウチがやります。作りたいSoCのデザイン持ち込んでくれればうちがまとめてライセンス交渉しますよという商売を始める。そこにGPUメーカーとして参加したのがイマジネーションテクノロジーズである。この会社、PowerVRというGPUを作ってるのだけど、これ、聞いたことないだろうか。
riscv.org


 僕くらいの年代だと、PowerVRって、セガドリームキャストが採用した3Dチップなんである。「PowerVR、生きとったんかワレ!!」って萬画太郎の絵で驚くような感覚である。
f:id:juangotoh:20191109025634p:plain

 細かく言うと、PowerVRは、もともとPC用の3Dアクセラレーターとして作られたのだけど、最初は本当に3Dしかできなかったので、2Dのグラボと二枚刺ししないといけなくて、PC用としては全然普及しなかったんだよね。その後ドリキャスで使われて、セガがこけた後は、ARMのCPUと組み合わせるGPUとしてずーっとやってきたらしい。PowerVRは、3D表示でメモリを節約することに特化してたので、モバイル用に相性がよかった。ところが、ARMが自社製GPUのMaliを作り出したり、Appleが「お前に支払うライセンス料はねえ!」と自社GPU開発して、かなり追い詰められてるっぽい。一時期会社を買ってくれる人募集とかしていたみたい。そんなイマジネーションが、RISC-Vと組んで復活できるのか。なかなか注目に値すると思うのだけどどうだろうか…