無駄に性能が高すぎて爆熱
なのに割り込み処理は8bit MCUより遅い
さて、問題はこれに先立って発表され、2013年11月からリリースされたQuarkと、これを搭載したGalileoである。
Quark SoCは400MHz駆動のCPUコアに512KBのSRAMとDDR3のメモリーコントローラー、PCIe、それといくつかの周辺機器を搭載した構成となる。
メモリーも内蔵しているので一応MCU(Micro Controller Unit)という分類にできなくもないのだが、実際にはメモリーマッピングの管理がMPU(Memory Protection Unit)ではなく仮想記憶に対応したMMU(Memory Management Unit)で、このためMMUに非対応なRTOS(Realtime OS)などはそのままでは動かないというあたりは、分類的にはMPU(Micro Processor Unit)に該当する。
実際にDebianやYocto Linuxなどが動作しており、軽量なIoT向けOSを利用しようとすると、わりと使いにくいことになった。実際Quark SoCを搭載したGalileoボードではArduino互換のコードを実行できるのだが、Arduino Uno向けのLチカのコードが1KBだったのに対し、これをGalileo向けにビルドすると48KBにも膨れ上がった。
Galileoでは、まずLinuxカーネルが動作し、その上で仮想的にArduinoのSketchをサポートするクライアントが動くという構造だったので、そもそも効率が悪い。
さてこのQuarkのCPUコアであるが、実はP54Cである。つまり第2世代のPentiumコアである。インテルとしては、P54コアは非常に使い勝手が良かったようで、前回のGNAの制御もそうだし、古いところではLarrabeeがやはりP54Cコアベースで構築されている。他にも研究用などでP54Cコアは多く使われている。ただ、MCUとして見た時には以下の欠点がある。
- 無駄に性能が高すぎる
- 割り込み応答性が悪い
なんというか、テクニカルコースに出るレース車にドラッグレース用エンジンを積むようなものだ。実際普通(?)のArduinoは動作中にチップを触ってもほんのり温度が高いかな? という程度だが、Quarkは公称消費電力2.2Wにも関わらず、触れないくらい熱くなる。
パッシブヒートシンクくらいでは連続運用には厳しく、アクティブファンが必要な温度で、こうなると組み込み用途ではいろいろ制限が出てくるし、消費電力も多い。そのくせインオーダーながらスーパースカラーのプロセッサーなので、割り込み処理は8bit MCUより遅い。したがって、消費電力を下げるために動作周波数を下げると、割り込み処理がさらに遅くなるという不都合がある。これでIoT機器を作れ、と言うのはなかなかしんどいものがある。
ちなみにQuarkの派生型で、Silver ButteやMint Valleyといったコード名の製品(製品名はQuark D1000/D2000)もあり、こちらは32MHzまで動作周波数を落とした代わりに消費電力は25mWと超ローパワーになったが、同じ動作周波数の8bit MCUより遅かったため、やはり採用例を聞いたことがない。
それでも会社のトップがぶち上げた以上、やるしかない。初代Galileoボードは、それはそれはひどいものだった。下の画像がGalileoボードの構成図である。
なぜMCUにPCIeバスが要るんだ? という突っ込みはヤボかもしれないが、それよりも大問題なのはアナログ入出力やPWM出力といった、MCUではごく当たり前に利用される周辺回路がQuarkには統合されていないことだ。
ではどうするか? まずアナログ出力は切り捨てた(!)。この段階でちょっと待てと思うのだが、アナログ入力については外付けになったADCをSPI経由でつなぎ、PWMはやはり外付けのPWMコントローラーをGPIOでつなぐという、おそろしく効率の悪い(そして原価コストが跳ね上がる)方法で実装した。
この結果として、例えばアナログデータのサンプリング速度は、20MHz駆動のATmega328を搭載したArduino Unoの数十分の1というケースもあった。これはもう、根本的にMCUとして使うことを考えていないとしか言いようがない構成だった。
この連載の記事
-
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 - この連載の一覧へ