噂の(?)M1チップと呼ばれるアップルチップを搭載したMacBook Airが研究室に届きました。チップセットが変更になるということは大変なことで,これまで私自身はMacOSで4度変更を経験しています。最初はモトローラ社の68kシリーズチップからApple/IBM/モトローラ連合製のPowerPCチップへ,その後Intelチップへと移行してきました。その時々でメーカー(この場合はアップル)は良いことをアナウンスします(笑)。まあ,悪いことを言うメーカーはいないわけですが,その度に経験してきたことは「ネイティブアプリが少なくパワーを享受できない期間があった」と言うことです。しかし,スティーブ・ジョブズがモダンOSと呼ばれたNeXT OSと共にアップルに復帰してからは,少なくともOSレベルでの移行はアップルにとっては得意なのかもしれません。
何しろ,NeXT OSを持ち込んだアップルの最初の仕事はPowerPCへの移植でした。これが現在のmacOSへの布石となります。一方でNeXT社は,独自ハードウェア(68kチップ)の生産中止後x86系チップへの移植なども手掛けており,こうした経験がアップルにも引き継がれたと考えられます。その後,macOSからiOSが派生し,tvOSやwatchOSなどへと発展していきました。iOSはARMチップセットを対象に開発してきましたら,この点は今回のmacOSをARMベースの自社チップセットに移植する際に大いに参考になったはずです。つまり,近年のアップル製OSは,当初からチップセット移行を前提にした拡張性の高さを持っていたことになります。いわば,アップルの特徴である垂直統合型企業(この場合はハードウェア、ソフトウェア、サービス全てをアップルが賄う)としてのあり方を支えていると言えます。
そんなアップル社が満を辞してリリースしたのがMac用のチップセットであるM1チップ。CPU、GPU、メモリーなどを統合している。チップセット移行がややこしいのは各セットごとの機械語が異なるから。アップルの場合はアプリの開発環境であるXcodeがコンパイル、生成時にARM版とIntel版のコードをパッケージとして出力するのでどちらのチップセットでもネイティブで高速に稼働します。もちろん開発者は再コンパイル時にエラーが出れば修正を余儀なくされます。Adobeなどは既にPhotoshopのアップルチップ用ベーター版を公開済みです。こうした対応が早いのはアップルと密にコンタクトしていることをうかがわせますし、実際、アップルチップが公開されたWWDC時に既に協力メーカーとしてAdobeの名前がクレジットされていました。
では、独自チップセットがあると何が嬉しいのか。アップルの場合は先にも述べた垂直統合型としてハードからサービスまでも一体化できるというメリットがあります。つまり、サービスで顧客満足度を高めるための機能が必要となった場合、それをチップセットで準備できるということ。例えば、サービス側が「今度こういう効果を提供したいんだよね」と言えば、ハード側で実装することで処理速度が上がるかもしれません。さらに、その機能を実現するためにOSがAPIを提供すれば、複雑なアルゴリズムを考えなくても命令コード1行で済むかもしれません。これは、ハード内でも同様です。メモリーに配置されたデータのアクセスなどをもっと高速にしたいとか、もっと省エネにしたいとか様々なニーズを自社の開発チームがアイデアを持ち寄り、自前のチップセットに組み込むことができるわけです。
これが、今まではできませんでした。OSからアプリまでは自社でできても(後述)CPUはインテル製ですし、メモリーも互換性のある汎用メモリーを使っていました。M1チップではメモリーもチップセットに埋め込まれたものを使います。メリットは高速ですが、デメリットは後で増設ができません。ただし、アップルとしてはそこもビジネスにつながります。メモリー足りませんでしたかあ、ではメモリーの大きいチップセットの(高額な)Macをどうぞ!となるわけです。以前から、iPhoneとAndroid機のグラフィック性能が違いすぎて、ゲームベンダーが困っているという話がありました。Android機の性能差が大きすぎるのです。一方、アップルはiPhoneの生産全てを賄っているので、ある程度の性能を持たせた機種をエントリーレベル以上に据えることができます。極端な話が、あるサービス(ゲームや映像配信)を利用できる性能以上のiPhoneを市場に流通させているわけです。これも、Androidメーカーではできません。結果的にローエンドの機種では,あるゲームができない、といった状況になり顧客満足度(エクスペリエンス)が下がりリピーターに繋がらないわけです。
いうまでもなく、PCでも同様です。最近でこそWindowsの世界ではゲーム専用機が一部で売れているようです。強力なGPUを搭載し、その見返りとして莫大な電力を消費します。ある意味、提供メーカーは汎用性の高いCPU、GPU、メモリー、電源などを組み合わせて提供に漕ぎ着けます。アプリメーカーはOSのバージョン、CPU、GPUなどの制限をスペックで示し満足した機種だけが動作保証されます。動作保証されない機種を持っているユーザは買い替えを迫られます。この点、アップルはできるだけ古い機種も新しいサービスを享受できるように努力してきました。その皺寄せは独自OSで吸収してきました。Android端末よりもiPhoneの製品寿命が長いのはそのためです。しかし、Windowsでゲームアプリをリリースしているメーカーにしてみれば、その限界が見え始めていたはずです。かといって、Microsoftを当てにしてもOSレベルでの対応をしてくれるわけではありません。
一方、Macも綻びが見え始めました。バリバリのグラフィックゲームアプリは外部GPUを用いる必要がありました。MLなどAIのエンジニアもMacは使えません。内蔵GPUがプアだからです。こうした背景からMac用独自シリコンチップの開発は必然だったわけです。その第一弾だったM1チップを搭載したMacBook Airを入手しました。いわゆるエントリー機ですね。感想はスイスイ動くね、といったところ。実際、日本語入力なども気持ちよく可能です。ただし、私は日頃使用しているMacがiMacやMacBook Proなので、M1は実に高速だ!という印象ではなかったです。しかし、これがエントリー機であるというのは素晴らしいことです。これも感覚的な印象ですが、学生諸君らは従来の1.5分の1ぐらいの値段で高性能を手にすることができると思います。
懸念されることとしては、PhotoshopなどのGPU性能やメモリーを要求するアプリがネイティブ化された際、どの程度M1の性能を活かせるかという点です。
現在はKeynoteなどのアップル製のアプリはほぼネイティブ化されており、メモリー容量が8GBでも不思議なぐらいスイスイ動きます。果たしてサードパーティの重たいアプリ群がどのように振る舞うのかは今後、様子を見ないとなんとも言えません。コロナ禍にあって、テレワークや自宅学習などが増え、Macの販売も好調だったこのタイミングで独自チップのエントリーモデルをリリースしたのは的確な判断だったと思います。これを使って困る人は限られます。来年にはiMacなどもう少し性能の高い(価格も高いのでしょうね)Macが登場するようです。その頃にはサードパーティのアプリも増えているはずです。個人的にはその辺りのMacが人生最後(?)の選択に近いと思います。入手後改めて紹介したいと思います。