INFO : Macとx86とPPC
Written by MeNOU
さて、じゃあ今回の発表にあたっての歴史的背景をちょっと書いておこう(^_^)
まず、最初にMacintoshが発売される。CPUはMC68000。時代は8bit。当時既に、8080系のインテル系プロセッサに端を発するZ80などの互換チップは大きな勢力となっており、その中にあって16bitの8086の選択肢もあったワケだけれども、非常に先進的なMC68000は、レジスタの数やアドレッシングなど、素直に16bit性能を扱うことが出来て、なおかつ将来的に32bitになってもシームレスに動作するように設計されていた。
i8086は、8bitCPUを拡張した16bit的な扱いになったおり、継ぎはぎ的なイメージが強かったと思う。ただし、8bitCPUである8080などとの互換性が高く、既に今と同じように互換性のインテル、先進性のMotorolaやCMOSと言った形だったと記憶する。
その後、時代は流れジョブスは追い出され、NeXTが発表される。時代は16bit。NeXTのCPUはMC68030。ここでもジョブスは68KCPUを採用。実際、unixのワークステーションなどでは68KCPUはメジャーであり、高性能マシンの象徴的なCPUでもあったと思う。
その頃からx86や68KなどのCISCチップの限界が取り沙汰されて、SUNのSPARCやMIPSのRISCを代表とするRISCチップが登場し始める。
Appleは、IBM、Motorolaと提携して、IBMのPOWERアーキテクチャ(CPUだけではなくチップセットなどを含めた物)をパソコン用に1チップ化してまとめたPowerPCを開発する。PowerPCは3フェイズでスタートして、まず段階的にPowerPC601が作られ、次にPowerからまた違った部分を取り入れたPowerPC603が作られる。最終的に両方から良いとこ取りした604と、高性能を目標にした620が設計されるも620は実現ならず。
PowerPCは、省電力な603シリーズと高性能な604シリーズのラインナップとなる。(が、PowerPC 4xxのように603系のコアをベースにしたカスタムCPUも作られ、実は大量に出荷されている。ここに、BookEアーキテクチャが登場する。)
当時Macintoshを見限って(と言うよりはCISCアーキテクチャのCPUのマシンの限界により)新しいパソコンを作るつもりでいたApple内において、PowerPC601の高性能さに、ある技術者が数週間でPowerPC601上で動く68Kエミュレータを開発、まったく違ったアーキテクチャのパソコン上でMacOSが動作することが実証され、PowerMacintoshと言う名称で継続されることとなる。
この時に、AppleはFatBinary形式と言う仕組みを考えて、68K用のコードとPPC用のコードを1本のアプリケーションとして扱う方法を提案している。また、MixedModeManagerと言う機能を当時のSystem7に持たせることで、68KコードとPPCコードが混在したアプリケーションやOSそのものを、PowerPCプラットフォーム上で動作させることに成功しているんだ(^_^)
さて一方のNeXTは事業の不振にあえいでいた。Machカーネルをベースに(しかもカーネギーメロンでMachカーネルの開発責任者だったアビーデバニアンを引き抜いて)BSD unixを実装し、その上に完全にオブジェクト指向で構築されたOSという非常に先進的なものだったのだけれども、特殊ハードウェア(コンピュータに最初にDSPチップなどを採用していた)のシステムで1万ドルもしたんで、手を出せる人があまりいなかったからだ(笑)
そこで、NeXTはハードウェア事業を撤退してNeXTのOSであるNeXTSTEPからOSのカーネル部分を切り離し、AT互換機やPowerPCマシン、Solaris、はてはWindowsNTの上でさえ動作するOPENSTEPを販売する事業に転換。(厳密にはSolarisやWinNT上で動くものがOPENSTEPで、カーネル部分も包含した形がNeXTSTEP)
(NeXTSTEP自体が、オブジェクトで構成されていることからモジュール性に優れ、純粋なコードで出来ていることはマルチプラットフォーム化に大きく貢献したワケだね)
最終的にNeXTはAppleによって買収され、NeXTSTEPはAppleにより表面を加工され、Macハードウェアで動作するMacOS X Server 1.2と言う形になる。(いわゆるRhapsody)
その後、Appleは更に改良を加え、Rhapsody上でMacOSのアプリケーションを動作するように改造して、MacOS X 10.0と言う形に発展させる。これがいわゆる、今のMacOS Xの最初の形だ。(今回のキーノートによれば、この時からずっとIntel on Mac版のOS Xも存在していたと言うことになる)
話しはCPUメーカーに戻って。
Intelはx86チップにRISCアーキテクチャを取り入れるなどして、高クロック化に専念。一方のPowerPCは低クロックでもクロックあたりの実行数を増やす路線で開発を進める。(実際、今現在のPentiumはほぼRISCチップであり、逆にRISCチップも複雑化して技術的な分類は無意味になりつつある)
Motorolaは、PowerPCにベクター演算ユニットを組み込んだG4を開発するも、RISCの特性である(そしてPowerPC G3の特性である)単純な構造が損なわれ、クロックアップ化出来ずに苦しむこととなる。この時、Appleにとって最初のPowerPCによる苦難がのしかかることとなるワケだね(^_^;)
その後、IBMによりやはり複雑ながらも非常にパワフルな970(G5)チップが作られ、Appleはハイエンドにこれを採用。しかし、同じような理由からクロックアップが停滞。更に、歩留まりも悪く(MotorolaのG4もそうだったのだけども)、チップ不足とクロック停滞の2重苦が。
さて、一方のインテルは高クロック路線を突き進むが、社内で省電力チップ化の動きが90年代の終わりに現れる。そして2003年くらいからIntel自体もPentium4のクロック停滞が発生するも、密かに(社内的にも)開発されていた省電力アーキテクチャにより辛くも助けられることに。
と言った感じで、結局、PowerPCもx86も高クロック化と言う部分では停滞しているのが現状(笑)
ここで、Appleがx86を選ぶ理由は実はあまり考えられない。つまり、高性能を理由にIntelに乗り換えたと言うよりは、パソコン用途でのCPUと言う意味で、IBMがPowerPC(G5)をクロックアップも出来なければ省電力にも出来ず、またするつもりもないようなんで(自社のパソコン事業撤退しちゃったからね)、x86なら、高クロックはともかくとして、ローエンドからノートマシン用までのCPUラインナップが揃う、と言う部分が大きいと思われる。
正直なところ、【めのう】的にはPowerPCのすっきりしたアーキテクチャが好きなんで残念だけれども、パソコンメーカーとして考えたとき、1年前と何割も速度が替わらないパソコンを売ることは非常に難しく、現実的な選択をしたように思う。
可愛そうなジョブス、あんたマーヴェラスだぜ。
|