==========================
みなさま、こんにちは、ITカレッジ沖縄の奥戸類です。 2020年のアイカレのアドベントカレンダー初日、投稿させてもらいます。
学校なので毎年1年生がやってきて、同じ話をさせてもらわないといけないので、アドベントカレンダーってなんやねん?なんで、ITカレッジ沖縄でやるねん?とか思われている人も多数いるかと思います。手前味噌ですがアドベントカレンダーの意味とアイカレ、IT業界でやるのはなぜ?ってのを過去書いてますので一度ご覧ください。 What's Advent Calender ?
師走ってのは先生も走るって書いて、すごく忙しい時期を指します。そんなわけでアドベントカレンダーやるよって、先々月から決めながら今日になってしまって、さて、何の話をしようか・・・と。昨年は昔話をしたんですが、今年もそうなるのかな?・・・と、でも、今につながる昔話を少しだけ。
世間では、Macの新製品が出て、今度のMacは劇速だ。Apple Silicon サイコーみたいになってます。こいつについてお話したいです。 Macがすごく快適になった理由は頭脳であるCPUがIntel社のものから、Arm社のM1とかいうのに変更されたからです。CPUをとっかえるってのは、人間でいうと脳みそを入れ替えるって事です。小学生の脳みそを、東大の優秀な大学生のものに取り替えるそんな感じです。可能であれば小学生の12歳で微分積分が解けたり、TOEICで高得点をだしたり、そんな夢物語です。その夢物語が可能となりました。ただ、現実問題、脳みそをかえるなんて非現実的です。同じくコンピュータの世界でも同じことが言えます。CPUがかわると、そもそもOSも一から書き直さないといけないし、ソフトも、動かなくなります。 PS4でswitchのゲームが動かないのと同じなのです。
さて、MacのCPUはWindowsと同じIntel製のものでした。しかし、昔からIntelではなかったのです。MacがまだMacintoshと呼ばれてた頃の話をしましょう。
Macintoshが世の中にでたのは 1984年です。当時はFDベースのOSでした。名前もなくそのままシステムと呼ばれてました。正確にはSystem1.0です。FDのサイズは400k。ここにOSからアプリまで入ってました。また、CPUはモトローラ製の68000とよばれる16bitのものです。この後、CPUが進化して32Bit化し68030、68040と続いていきます。 かたや、ライバルのMSのWidowsとIntelも進化し、x86系が386、486と進化していき、モトローラのCPUに対して圧倒的な性能差を見せ始めます。これが原因ではないのですが、WindowsとMacintoshの差がどんどん開いていきます。
ここでApple陣営はとんでもないこと企画しました。モトローラのCPUを見限って新たなCPUをMacintoshに組み込んだのです。
Apple & モトローラ & IBMが連合を組んで RISCベースのCPUを開発します。その名もPowerPC。Wintel軍(Windows Intelの造語)に苦汁を舐めさせられいたチームが起死回生の一手を打ちました。 当時のCPUはCISCベースのCPUで、たくさんの命令形があって処理をそれぞれの役割にまかせる感じのもの。ただ、この場合クロック数をあげることが難しくなる。対してRISCは縮小命令セットコンピュータと呼ばれ命令は少ない分、クロック数をあげるの容易い。ちなみに当時のクロック数はだいたい100Mhzくらい。 Macintoshは PowerPC 601というCPUを提げ、Power Macintoshと命名され華々しくデビューしました。ところが、CPUだけ新しくなってもOSが対応していない、アプリが対応していないと動きません。そこで、OS的には旧モロトローラのCPUで動く部分と新PowerPCで動く部分を両方持つものを提供しました。アプリも同じです。ファットバイナリ(でぶのコードとでも訳す?)とよばれx2のコードをもってました。時間が経つにれ古いものは削除され、私いものは洗練されていきます。なので残念ながら動きはしますが劇的に早いわけではありません。なんせコードが2倍なのですから・・・ 結果としてすぐにはCPUの性能を活かすことできまんでした。、もちろん、Windowsのシェアを奪い返すことはかなってません。しかしながら、スマッシュヒットがでてきます。
PowerPCは 601と603、604というシリーズがでていきます。それぞれ直系ではなく、廉価版で省電力のものが603です。その後PowerPCは 750、7400、970と進化をしていきます。しかし、おそらく大多数の人はPowerPC 750とかなんてしりません。何故ならば、750とい名前はつかわれず、G3(第三世代の意味ね)という名前で世に出たからです。G3の時からPower Macと名前をかえてます。 ボンダイブルーのiMacやポリタンクと揶揄されたPowerMacはこのCPUを使ってます。一定数のシェアを確保し、また、ジョブズのうまさもあり、おしゃれでかわいいパソコンiMacという認識がうまれました。ちなみに現在使われているUSBを普及させたのはこのiMacのおかげです。G3のあとにはG4(7400)というブランドでMacintoshは攻めていきます。 このまま順調に進化が進めばよかったのですが、PowerPCもIBM、モトローラ、Appleの連合にほころびが出てきました。コンピュータを売りたいAppleとCPUが売れなくてもこまらないIBM,モトローラ。結局頼みの綱のG5は発熱に問題があり、ノート型のものをつくりきれず、このタイミングでさらにWindowsに差をつけられてしまいます。
ここで業を煮やしたAppleは2度目の大冒険にでます。2度目のCPU変更です。それもなんとライバルであるIntelのCPUを採用しました。今回は旧CPUをエミュレートする形の機能をつけて新しいIntelCPUで従来のPowerPC系アプリを動かす仕組みを提供しました。Rosettaと呼ばれるものです。また、この間にAppleは大胆な戦略をやってます。OSを丸ごと一新したのです。旧SystemとよばれいるMacOSを UnixベースのNextにかえてます。現在のOSXがこれです。OSを丸ごとかえるわ、CPUもなんども変えるわ・・・・で、従来のアプリがそのまま動いている。かなりすごいことです。 ちなみに、タイトルのコードネーム スタートレックとはIntel版macのことです。何年も前から噂されており、かなりの検証を重ねてから世の出たのです。
今回使われているArmのM1とはどんなCPUなのでしょうか?そもそもArm社ってなに?古くはauのcdmaOneというau系のケータイや、任天堂のDS、iPad、iPhone(A5とかAのつく名前のCPU)などの組み込み系に使われるCPUです。また、armアーキテクチャとなると、他社へライセンスしアンドロイド端末(snap dragon系)もこの影響をバリバリ受けてます。 ケータイのCPUでPC動かして大丈夫?ってのがあるかと思いますが、まず世の中にでている数が全然違い、進歩がかなりすごいです。また、PowerPCの話ででたRISC系のCPUでもあります。M1のすごいところはシステムオンチップ(SoC)でGPU、メモリー、CPUが一つになっているところがあります。オンチップにすることにより、GPU、メモリーへのアクセスがかなり早いクロックで処理することができ、それがそのまま体感速度のアップにつながっています。 そして、CPUがただ早いだけではなく過去の資産をうまく使うノウハウをアップルはもっており、PowerPC -> Intelの移行の時に出たrosettaがRosetta2として活躍しています。なんでも、エミュレートしたほうがネイティブのIntelより早いって話がでています。そしてさらに驚くことはまだ第一世代です。PowerPC 601相当でこれだけ早いです。次のCPU、M2はさらなる進化を遂げちゃうと思うと少し嬉しくなります。 M1の詳しい話は ネットにいっぱい転がってるはずなので、興味を持った方は調べてみてください。正直まだまだ未開発な部分、不具合もあるはずです。しかし、久しぶりにPCの進化にドキドキしてます。ここに行き着くまでの歴史や物語を面白いとおもってもらえれば幸いです。少し長くなりましたが、M1にくるまでのMacintosh、Macな話でした。
ありがとうございました。よい、クリスマスを・・・・