エントリー

2020年11月の記事は以下のとおりです。

Apple M1にみた気高い理想とそれを具現化する力

これまで,iPhoneやiPadといった自分に関係のない製品の心臓部であるAシリーズには今ひとつ関心を持たずにいて,そのせいでCPUそのものを細かく見る機会を失ってわけですが,AppleM1と搭載したmacbookを注文したことで,俄然自分の問題としてApple謹製のCPUの性能が気になり出しました。

 ARMプロセッサというのは,コアあたりの性能は控えめであり,その代わり消費電力が大幅に低いものというのが定説です。それは,もともと電池で動く製品に搭載されることで採用例が増えてきたCPUだからです。

 その製品が消費電力優先ならARMですし,どんどん電力を突っ込む事が許されるならインテルのCPUを使うというのは,わかりやすい使い分けです。

 以前はそうでもなかったのですが,今どきのCPUにおいて,こうした性能の違いというのは,バイナリの互換性,すなわちプログラミングアーキテクチャに起因するものではありません。

 以前は確かに,プログラミングアーキテクチャとマイクロアーキテクチャ,もっというとハードウェアの実装との間には強い関連性があるので,ハードウェア作りが上手な会社,すなわち先端プロセスを持つ大きな会社だけが高性能なCPUを作る事ができました

 しかし,今はそれぞれ,互いへの依存性が低くなっています。製造なら製造に,設計なら設計に,それぞれ特化した会社が普通になったことで,それぞれの得意とする分野だけ注力し,他は他社に任せることが出来るようになったこと,そしてそのために他の会社とのやりとりをスムーズにするためにそれぞれのブロックの抽象化と,境界面のインターフェースを標準的なものに収れんさせていったというのが,その流れです。

 だから,昨今インテルの調子が落ちているというのは,分業化に背を向けてアーキテクチャからプロセスまでを一手に握ってきたインテルが,餅は餅屋という分業化に性能面でも追いつかなくなってきた,というわかりやすい予測に従った結果とも言えます。

 なら,ユーザーであるAppleがインテルを見限ったのも道理であり,最先端の製造技術を持つ会社が自分たちのためにも汗をかいてくれるならば,自分たちはそこで作るものを設計しよう,その代わり最高水準のものにしようと思うのも,まあ当たり前です。

 現実にはそうではないかも知れませんが,TSMCのような製造の会社というのは,技術と費用が政治的な思惑で大きく変動しないものです。お金があれば性能があがる,そういう公平さを期待出来るのです。

 インテルが世界最高レベルの半導体を作っていることには違いはありませんが,その製品を使うにはお金だけがあればいいと言うものはなく,インテルに対する信頼であるとか,忠誠心のようなものさえも時に必要になります。そしてそれは強い足かせにもなり得ます。

 インテルがなんでも自分でやると言う作戦で限界にぶちあたる一方,手分けして各々が得意な分野に取り組む事で,結果的に世界最高の寄せ集めが可能になった今のCPU作りが大きく伸びるのは,もはや必然と言えます。

 TSMCという台湾の会社とARMというイギリスの会社がその中心的存在であることは,アメリカや日本,あるいは中国と言った少々面倒な国の会社が中心になることに比べ,公平性や偏りのなさがあると思いますし,ついでにいうとこれらの常に注目される国の会社ではないことで,ずっと傍流として注目されずにいられたので,ややこしい人達から足を引っ張られることがなかったからじゃないかと思っています。

 Appleが半導体の工場を持つ事なく,自分たちの半導体を(1つ2つを作るのではなく膨大な量を)作る事が出来るのはこうした背景があるからで,だからこそAppleは半導体の中身を洗練させるために,世界最高の設計者やアーキテクトを集めることに専念出来たのです。

 その結果がApple Siliconです。

 私は今さら驚いたわけですが,A14やM1の高性能側コアであるFiresotrmは,シングルコアのクロックあたりの性能(IPC)は,すでにインテルのモバイル向けのCPUコアであるIceLakeよりも,高くなっています。

 ARMがインテルよりもIPCで勝つなんて,少し前なら信じられません。コアそのものの性能もそうですが,本当に強い足腰を持つシステムというのは,データの出入り口とデータの通り道がへこたれないように,きちんと作られているものです。

 ARMのCPUは数字よりも体感で実力が出ないというイメージが私にはあり,それは特に高負荷で大きく性能が落ちたことを体験しているからですが,その原因はバス設計の貧弱さにありました。

 性能は大きな消費電力との引き換えでしか手に入らなかったはずです。しかしApple Siliconはすでに,インテルよりも低い電力でインテルを越える性能を手に入れているというわけです。これは驚きです。

 FireStormコアは,8命令のデコードを行うデコーダを持ち,6つのALUを持っています。つまり同時に6命令(ブランチは別にあります)を実行出来ます。IceLakeはALUが4つですから,理想条件ピークでは1.5倍の性能差があります。

 もちろん,ALUを増やせば性能が上がることはインテルもわかっていますが,1つにはx86の命令セットでは6命令を同時に実行することが難しい事があります。それを行う為には回路規模が大きくなってしまうので,電力も歩留まりも悪化するというわけです。

 その上インテルは最先端プロセスに開発に失敗して,トランジスタの数を増やせません。TSMCは5nmの最先端プロセスを持つ唯一の会社であり,膨大なトランジスタの使用を許す技術を持っていて,Appleはそのトランジスタを電力と性能の両立に使うことにしたというわけです。これじゃインテルがかなうはずもありません。

 それでも,そうした不利な条件にもかかわらずインテルのCPUが相変わらず高性能であることにも驚くわけですが,その伸びしろは残り僅かになっていて,ここから先は大きな努力が必要な割にはそれ程の見返りがないという状態です。これではライバルに勝てません。

 今インテルは,大きな岐路に立たされています。苦しいでしょうね,きっと。

 感慨深いのは,私がかつて最高のパソコン用CPUとして絶賛したPowerPC604の同時実行数を越えたコアが,またAppleに搭載されたという事実です。実行ユニットを増やすほど性能の向上は緩やかになりますので,PowerPC604は回路規模が大きく無駄が大きいCPUにも見えました。

 しかし,負荷の大きさの変化に対する処理速度の変動が小さい,トルクの太いPPUでした。ゆとりがある,贅沢な設計のCPUだったことが伺えます。

 もちろん絶対的な古さからPowerPC604の性能は頭打ちになり,その後G3やG4,そしてG5がはるか先に進んでしまったのですが,IBMらしい正攻法による性能の向上という気高い理想がそこにはありました。

 しかしその後,こうした無駄は許されなくなり,ALUの数は多くても4つくらいになりました。やがてコアの数を調整して性能向上を図るのが一般的になり,PowerPC604のようなCPUはもう二度と現れないと思っていました。

 しかし,Firestormは,しれっとそれをやってきています。もちろんコアも増やすという両面作戦です。Apple M1は,単体でも1.5倍の性能を持つコアを8つも搭載している訳ですから,これが低性能なわけがありません。

 とはいえ,実際に使ってみないと,トルクの太さというのはわからないものです。でも,これだけの技術的な裏付けがあるのですから,期待してもいいでしょう。

 Apple M1は急に登場したCPUではありません。A14を含む,これまでのiPhone用のCPUをきちんと追いかけていれば予測可能であり,順当な進化を遂げたCPUであるとわかったはずです。

 だから,私がこうして大慌てしているのはとても恥ずかしいことで,反省することしきりですが,すでにブームが去ったと思われるCPUのアーキテクチャに関する話題が,まだ扱われていることは素直にうれしいと思います。

 最初は生活マシンを新調するという楽しみでしたが,PowerPC604を越える気高い理想を具現化したCPUを叩くチャンスが訪れることが,さらに楽しみです。

 

ARMへ移行するmac

 M1?

 BMWが紆余曲折の末に発売したスポーツカー?
 オリンパスが数々の画期的なアイデアで小型化した一眼レフ?
 (あるいはミラーレス一眼のフラッグシップモデル?)
 コルグが満を持して発売し世界を席巻したデジタルシンセサイザー?

 私が思いついた「M1}には偏りがありますが,googleで「M1」を検索すると,まあ出るわ出るわ。漫才グランプリからラジコンヘリ,果ては粉ミルクに至るまで,みんなこの語呂が好きなんだなあと思います。

 先日発表された新しい3つのmacは,AppleM1というCPUに持ち,インテルのCPUからの置き換えの口火を切りました。これは,macの長い歴史に大きなトピックとして書き加えられることでしょう。

 皮肉にもAppleM1のアーキテクチャであるARMにも,Cortex-M1という「M1」があるのですが,これは組み込み用途のローエンドをカバーするプロセッサであり,PC向けのものではありません。

 さすがに混同されないのは,それぞれに関係する人間に重なることがないからなんだろうと思いますが,M1という言葉の響きには頭にすっと入ってくる自然さと将来への期待が感じられて,なかなかよいんではないでしょうか。

 前置きはともかく,パソコンの黎明期に多感な時期を過ごした私にとって,PCの個性の最たるものであるCPUが変わってしまうことには,未だに大きな驚きがあります。

 CPUを交換するというのは,いわば「脳みそ」を交換するようなものであり,そこを変えたらもはや別人なわけで,同じ名前を名乗ってよいのか,同じ商品として売って良いのかと,首をかしげてしまいます。

 OSが同じでもそれは別人が同じ服を着て「変装」しているに過ぎないと見え,うがった見方をすれば消費者を騙す戦略と言えるかも知れません。だって,同じ見た目なのに,話す言葉が違うんですよ?

 ただ,現実はどうかというと,CPUが変わったことに誰も気が付かず,気が付いても実害がないので問題にしません。そして最も大事なことは,これが初めての事ではないということです。

 最初の驚きは,68kからの移行でした。当時のMacはモトローラの68000を起点に拡張を続けていましたが,今からは信じられないほどCPUのアーキテクチャにベッタリと依存したシステム構成で作られていました。

 だから,単純なコードの変換では済まず,ソフトの作り方から学び直さないといけないといっても良いほどの大事件だったのです。

 それでも当時のAppleには,重装備なCISCチップが性能向上をリーズナブルな形でモトローラが実現出来るとは思えず,MacのCPUにRISCチップからPowerPCを選択して将来を託します。

 インテルはx86をその強力な技術力で成長させたので,CISCが最高性能のコンピュータの構成要素にならないとは,理論的に言えません。しかし,そのために必要な条件やリソースは並大抵なものではなく,それはもはやインテルしか解決出来ないものであったと言えると思います。

 インテルはそのために,CPU以外のものを捨てて集中しました。儲けたお金をどんどん開発につぎ込み最高性能のCPUを作り続けてきたのですが,これも今にして思えばx86を捨てて新しいアーキテクチャにしていれば,もっと安上がりに作れたか,もっと高い性能のものが作れたのではないかと思ったりします。

 モトローラは巨大な企業でしたが,68000をインテルほどに強化することは技術的にも経営的にも出来なかったと思います。だから88000というRISCを用意するのですが,それも失敗におわります。

 焦ったのは顧客であるAppleです。当初88000で作ろうとしていた次世代のMacの見通しが立たなくなってしまったところに,あのIBMが秋波を送って来ました。かくしてAppleは,かつて挑発をして破れた世界最大のコンピュータメーカーでRISCチップの生みの親でもあるIBMのCPUを使うことに決めるのです。

 あわてたモトローラはこの連携になんとか食い込むことを画策し,かくてPowerPCの最初の製品であるPowerPC601は88000のインターフェースを持つ異端として生まれ,88000で動いていたMacの頭脳として動き出すのです。

 こうして誕生したPowerMacintoshは,68kの呪縛から解き放たれて性能向上や製品ラインの強化に成功します。ソフトの互換は長い時間をかけてネイティブ化を進めますが,当座は68kのエミュレーションでしのぐことになります。

 なにもかも異なるコードをエミュレーションで動かすのですから,「動くように作れば動く」というレベルだったように思えるくらい,動かないものが多かったと記憶しています。速度の低下も大きく,FPUのサポートは結局なされなかったと思います。

 68kのままでも将来はなく,PowerPCでも見通しは暗い,その上x86の性能向上はめざましく,Windows95はバカ売れです。ここでAppleはもう死ぬんだと多くの人が思ったでしょう。

 なんとか苦しい時期をしのぎ,PowerPCがその本領を発揮するようになると,デスクトップのハイエンドはともかく,今後主流になると彼らが考えていたノートPCを,彼らの思うように作る事が出来ないという現実に直面します。

 Appleは早くからノートPCが個人用コンピュータの主流を占めると考えていた節があり,それはWindowsの世界よりも明確だったと思うのですが,残念な事にPowerPCがそのビジョンを邪魔するようになっていました。

 当時のIBMの半導体の開発力は凄まじく,彼らが本気になればなんでも出来たはずですが,残念ながらPowerPCやPOWERはハイエンドの性能重視の製品に搭載されていて,ノートPCなどはインテルのCPUでいいじゃないかという判断がありました。

 「いずれノートPCが最高性能を求められるようになるんだ」というAppleの未来予測をIBMが理解してくれず,そのために絶対に必要だった低電力・低発熱・高性能なPowerPCへの理解がないことに,袂を分かちます。

 そして,IBMに匹敵する唯一のメーカーである,インテルのCPUを使うのです。

 この頃になると,CPUのアーキテクチャに依存するようなソフトを書くことは少なくなっており,すでにApple社内ではすでにMacOSXがインテルCPUで動作しているとも言われていました。

 少なくともCPUのアーキテクチャとは分離した形でOSやライブラリは整備されており,これに当時実用化されたダイナミックトランスレーションを用いたことで,PowerPCからインテルへの移行は,それほどの混乱もなく完了したのです。

 もちろん,PowerPCとx86では数字の並び順が違うという根本的なところに違いもあり,簡単なことではなかったはずです。しかし,ダイナミックトランスレータであるRosettaの出来が良く,またインテルのCPUの性能が高かったこともあって,インテル搭載のMacに買い換えることは,速度的なメリットを生むことになりました。

 そしてAppleは,クリエイター向けのハイエンドマシンとしてノートPCを提供出来るようになり,彼らのビジョンをあきらめなくてもよくなったのです。

 Appleはその後iPhoneの大ヒットで自社に半導体設計能力を抱えるようになります。最も重く大変な開発環境がすでに用意されているARMを使えば,自分に都合のいいCPUを開発することも難しい事ではありません。

 一方のインテルはCPUの覇者であることに変わりはないものの,その勢いや技術力に陰りが見えてきました。最先端のプロセスの導入には何度も失敗しているし,同じx86でもAMDの性能面で差が開いてきつつあります。消費電力も下がりません。同じような性能を持つCPUを自社で作り,それが遙かに小さな電力で動作することを目のあたりにすると,もうインテルのCPUを使う理由がなくなります。

 なのでAppleは,自社製のCPUに切り替える決断をします。それがApple siliconです。

 今のAppleにはお金も技術も人材もあります。不満のあるCPUを使い続けるような貧しい我慢をしなくてもよく,世界最高の半導体を使うという贅沢を迷わず選ぶくらい,豊かになったということでしょう。

 とはいえ,そこは技術の世界です。ARMに切り替えたmacが,バイナリ変換をしながら実行する速度が,インテルCPUのmacにかなうはずもないと私は思っていましたし,OSもRosetta2も不完全で,互換性に難ありだと思っていましたから,私は買わないつもりでいました。

 実は,私の生活マシンである11インチのMacBookAirがかなり厳しい事になっていて,どこかで買い換えないとまずい状態になっています。2011に購入した古参のMacですが,11インチという手頃なサイズとキーボードの心地よさから,買い換えるチャンスを逃してしまいました。

 すでに最新OSが動かなくなって久しく,自己責任でなんとかcatalinaを動かして延命している状態です。しかし,それもいよいよ怪しくなってきましたし,すでに実用レベルの速度で動かなくなっており,メールを見るのもwebを見るのも苦痛で仕方がなくなっています。

 生活マシンですので特殊なソフトも周辺機器も必要なく,Apple siliconへの切り替え(と新しいOSへの移行)にはうってつけな条件だったのですが,やはり初物は怖いという事と,結局11インチは出なかったということもあって,見送りの予定でいました。

 ですが,評判を聞くとすでにインテルのCPUのmacより高速で快適だというじゃありませんか。

 悩んだ末,私は13インチの最も安いmacbook airを注文したのでした。英語キーボードを注文したので,入手はまだまだ先ですが,仕方がありません。

 ということで,少しだけ今回のApple siliconへの移行を考えてみます。

 まず,移行の理由はインテルのCPUでは自分たちの目指すノートPCが作れなくなるだろうと考えたからだと思います。それでもインテルはAppleの要望をIBMよりもずっと聞き入れていたと思いますが,それもインテルに実現するだけの世界一の技術力があってのことです。

 話を聞いてくれても実現出来ないなら意味はない,インテルが今回見限られたというのはこれに尽きると思います。

 そして,インテルがどうしても聞き入れてくれなかった,CPUの性能差による製品ラインナップ構築を,自社CPUにすることでようやく撤廃できると考えたからでしょう。

 よく言われるように,インテルはCPUをクロック周波数やコアの数,キャッシュの大きさなどで細かくグレードに分けて,価格を変えています。昔からそれが当たり前のことだったので違和感を感じずに来ましたが,とはいえ実際に購入する時になると,さずか数百MHzの近いに数万円の差があることを許すか許さないかで葛藤する「面倒臭さ」がありました。

 これを楽しいと思う人でも,iPhoneで同じ事をされたら困るでしょう。そう,iPhoneもiPadも,CPUの性能で製品ラインナップが構築されているわけではないのです。

 考えて見るとこれはすごく自然な事で,製品の構成部品の1つに過ぎないCPUの性能で選ぶコンスーマー製品などPC以外に存在しません。ゲーム機だってそうですよね,PS5がCPUの性能で3つのグレードに分かれていたら,大きな違和感を感じるはずです。

 またしてもAppleは不自然な当たり前を自然なものに書き換えようとしています。それは多くのお金と力を持つ者しか許されていないことで,私は蓄えた財をこうしたことに投下できるAppleを好意的に感じています。

 かくしてmacBookAirとmacBookProはCPUの性能差ではなく,それ以外の特徴によって分類されることになったのです。なんと自然な事か。

 私が感心したのは,まさにこれでした。ようやく半導体技術者の勝手な都合からPCを取り戻すことが出来たのです。長い道のりでした。

 Appleはインテルと違って,CPUが商品ではなく,製品を作る部品の1つに過ぎません。インテルのCPUを選んでいるのでは私ではなくAppleでしたから,結局CPUの性能を私に選ばせていることに,責任回避のような,ある種のモヤモヤが拭えなかったのです。

 ようやく望ましい未来がやってきたと感じます。うれしいですよね。

 性能面では,M1というチップにはまだまだ物足りない者があります。クロックは3GHz程度のようですが,CPUの8つのコアのうちハイパフォーマンスのコアは4つしかありません。処理が重くなったときにググッと引っ張るトルクは,やはりインテルに分があるように思います。

 マルチチップで搭載されるメインメモリも足かせでしょう。メモリの不足だけはどうにも深刻で,CPUコアと密に繋がって性能を高めることは,当時にメモリを拡張できないという不自由さに直結しますから,製品寿命は短いとみるべきです。

 電力の低減にも効き目はありますし,部品点数を削減することにも効果はあります。しかし,長く使おうというユーザーには厳しいものがあり,そこもmacがスマートフォン化していくのだと見るべきかも知れません。

 すでにAppleはGPUについてはアーキテクチャに依存しないMetalに移行できている関係で,種類やコアの数にそんなに制限を受けることはありません。エミュレーションではなくダイナミックトランスレーションで十分な速度が得られる理由はここにもあり,上手い設計をしていると感心します。

 それでもこれらデメリットが霞んで見えるのは,その消費電力の低さです。電力が小さいと冷却も簡単で済みますし,電池も小さく出来ます。製品自体を小さくすることも出来ますし,安くすることもできます。消費電力が大きいことは誰の得にもならないことなのです。

 もしかすると,AppleはiPhoneとiPadのようにハードウェアの大部分は共通化し,OSの違いで製品を作り分けることを考えているのかも知れません。以前macがiPhoneとOSを共通化するのではないかという噂が出ていましたが,共通化するのはむしろハードウェアであって,OSを変えることで製品とターゲットユーザーを変えるのではないでしょうか。

 そうなると,必要なのはCPUのスケーラビリティでしょう。クロック周波数を上げるのか,コアの数を増やすのか,もっと簡単に搭載するCPUの数で調整出来るのか,それはわかりませんが,今のmacproを越える性能を出すのは,そう簡単なことではないはずです。

 ただ,性能の向上はCPUを増やすことと,それらを上手く繋ぐことにあるというのは,数々の成功例を見てももはや常識です。かの「富岳」のような構成のバケモノマシンがmacproとして登場することも,あるいはあり得るかもとワクワクしてきます。

 今回のOSのアップデートで,macosはバージョン10から11へと,ようやくメジャーアップデートを果たしました。ARMへの移行というより,CPUのスケーラビリティと性能の調整の仕組みがきっと重視された設計になっているに違いありません。

 私にMacBookProは,ソフトの互換性の問題で今だにMojaveのままです。MacBookAirは瀕死の状態ですし,こういう苦しい状況を新しいMacBookAirが一気に解決してくれると期待しているだけに,届くのが楽しみです。

 

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2020年11月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed