88000 (略称m88k)は、1980年代にモトローラのミッチ・アルサップによって開発されたRISC命令セットアーキテクチャです。MC88100は、競合するSPARCやMIPSの登場から約2年後の1988年に市場に投入されました。開発開始が遅れたことと、第2世代のMC88110のリリースが大幅に遅れたため、m88kはMVMEプラットフォームや組み込みコントローラ環境以外ではほとんど成功を収めることができませんでした。1991年にモトローラがAIMアライアンスに参加してPowerPCの開発に着手したことで、88000の開発は終了しました。
モトローラは1980年代を有利な立場でスタートさせた。同社が最近発表したモトローラ68000は、市場に出回っていた他のどのマイクロプロセッサよりも優れた性能を発揮し、その32ビットアーキテクチャは、台頭しつつあったワークステーション市場にまさにうってつけだった。インテルは32ビット分野に積極的に参入しておらず、参入したプロセッサメーカー、特にナショナルセミコンダクターは製品のリリースで失敗を重ね、インテル以外のすべての市場をモトローラが支配することになった。当時、インテルはコンピュータ市場全体の約80%を占め、モトローラは残りの90%を支配していた。
こうした状況の中、1980年代初頭にRISCの概念が導入されました。当初、業界内では、この概念が実際にパフォーマンスを向上させるのか、それとも長いマシン語プログラムによってメモリへのアクセスが増え、実行速度が低下するのかについて激しい議論が交わされました。しかし、1980年代半ばに最初のRISCベースのワークステーションが登場すると、こうした議論は終結しました。最新のSun-3/80は20MHzのMotorola 68030で 約3MIPSの性能を発揮し、最初のSPARCベースのSun-4/260 は16MHzのSPARCで10MIPSの性能を発揮しました。Hewlett -Packard、DEC、その他の大手ベンダーはこぞってRISCプラットフォームへの移行を開始しました。
この市場の変化は、モトローラにとって数少ない強みの一つであり、最も収益性の高いワークステーション市場から同社を締め出す可能性があった。ワークステーション分野以外ではアップルが同社唯一の大口ベンダーであり、68000の他のユーザー、特にアタリ社とコモドール・インターナショナル社は、 IBM PC互換機に急速に標準化が進む市場で苦戦していた。[ 1 ]
RISC 設計は、そのプラットフォーム上のコンパイラが呼び出す操作の種類に合わせてプロセッサを最適化しようとする意識的な取り組みでした。Unixワークステーションの場合は、C プログラミング言語です。IBM 801プロジェクトでは、コンパイラは一般的に利用可能な命令の大部分を使用せず、最も単純なバージョンの命令を使用していることが指摘されていました。これは多くの場合、最も高速に動作するためです。しかし、これらの命令の他のバージョンを提供する回路は、最も単純なバージョンにもオーバーヘッドを追加していました。これらの未使用の命令を CPU から削除することで、このオーバーヘッドが解消され、チップ上のかなりのスペースが解放されました。これにより、プロセッサ レジスタの数を増やす余地が生まれ、これは削除された特殊ケース命令よりもはるかにパフォーマンスに大きな影響を与えました。このため、RISC の概念は、コンパイラの実際の設計によって推進されていると言えます。[ 2 ]
モトローラの88000設計に関する記事では、シングルサイクル命令、大きなプロセッサレジスタファイル、RISCコンセプトのその他の特徴について言及しているが、「RISC」という言葉は一度も出てこない。[ 3 ]既存のRISC設計が既に市場に出回っていたため、同社はそれらと競合しようとはせず、代わりに世界で最も強力なプロセッサを製造することにした。そのため、同社は以前の時代の最速コンピュータの1つであるCDC 6600スーパーコンピュータの設計を参考にした。特に、6600のスコアボードの概念を採用した。スコアボードにより、CPUは命令のレジスタの使用状況を調べ、まだ完了していない以前の計算に依存しない命令を即座にディスパッチすることができた。これにより、必要なデータを持っている命令は実行され、他の命令はキャッシュまたはメモリからデータがロードされるというように命令の順序を並べ替えることができた。この命令の順序変更により、使用率が最大35%向上した。[ 4 ]
この設計では、データバスと命令アドレスバスも別々に使用されていました。これはピン数に関してコストがかかり、命令キャッシュとデータキャッシュの両方にアドレス用に32ピン、データ用に32ピンが割り当てられていたため、システム全体で「Pバス」に128ピンが使用されました。この設計は、操作の約3分の1だけがメモリ関連であり、残りは既に読み取られたデータに対して操作を行うという観察に基づいていました。このことから、外部命令キャッシュへの専用の命令経路を持つことが強く推奨されました。キャッシュと関連するメモリ管理ユニット(MMU)は当初外部にあり、キャッシュコントローラはデータバスまたは命令バスのどちらにも接続でき、どちらのバスにも最大4つのコントローラを使用できました。内部には3つの32ビットバスがあり、レジスタへのデータの読み書きに必要な方法で内部ユニットに異なる方法で接続されていました。[ 5 ]
新しい設計のもう 1 つの特徴は、専用コプロセッサ、つまり「特殊機能ユニット」、または SFU の組み込みサポートでした。[ 5 ]すぐにサポートされる内部コマンドに加えて、コプロセッサで使用できる 256 命令のブロックが確保されていました。これは、システムをカスタマイズしたい設計者を対象としており、新しい機能ユニットは既存の命令セット アーキテクチャに影響を与えることなく追加でき、主要な機能のソフトウェア互換性が保証されます。[ 2 ]すべての 88000 には、浮動小数点ユニット(FPU) である SFU1 がすでにインストールされていました。[ 5 ]分岐命令とジャンプ命令には、遅延分岐オプション (.n) が組み込まれており、これを指定すると、分岐条件に関係なく、後続のシーケンシャル命令が分岐ターゲット命令の前に実行されることが保証されます。[ 6 ]将来の互換性を維持するために、分岐命令または命令ポインタを変更する可能性のあるその他の命令を分岐遅延スロットに配置することは非推奨です。[ 7 ]
1987年までに、モトローラが独自のRISCプロセッサを設計していることは広く知られるようになった。コンピュータ業界では「78000」[ a ]と呼ばれ、以前の68000 [ 2 ]へのオマージュとして、1988年4月に発売された際に88000となった。
設計の複雑さの副作用として、CPU は単一のチップには収まりませんでした。1年前にリリースされた 68030 は、273,000 個のトランジスタを備え、算術論理演算ユニット(ALU) とメモリ管理ユニット(MMU) が単一のチップに搭載され、オプションの浮動小数点演算ユニット(FPU) は別のチップとして提供されていました。これに対し、88000 は ALU と FPU を 750,000 個のトランジスタを備えた MC88100 にまとめて搭載し、メモリ管理ユニット(MMU) と 16 KBのスタティック RAMキャッシュを 750,000 個のトランジスタを備えた MC88200 に搭載しました。FPU が本当にオプションであった 68030 とは対照的に、実用的な 88000 システムを構築するには、少なくとも 1 つの MC88200 が必要でした。システムには複数の MC88200 を搭載することができ、より大きなキャッシュを生成し、メインメモリへの複数のパスを可能にすることでパフォーマンスを向上させることができました。[ 2 ]
市場のハイエンドをターゲットにしており、発売当時は世界最速の32ビットプロセッサであると謳われていました。20MHzで動作し 、34,000Dhrystonesまたは17VUPSに達しました[8][b]。これは、 SPARCstationの同世代の12.5MHz SPARCの約12MIPS 、または20MHz 68030の約3.3MIPSと比較したものです。25MHz版も21MIPS 、48,387Dhrystonesで提供されていました[ 9 ]。
当時、モトローラは88000を「通信、人工知能、グラフィックス、3Dアニメーション、シミュレーション、並列処理、スーパーコンピュータ」などのハイエンド市場向けに販売し、既存の68kシリーズはワークステーション市場で引き続き使用されると示唆した。しかし、ほとんどの潜在顧客は88000を無視し[ 8 ]、このシステムはほとんど使用されなかった。
当初リリースされた製品はモトローラの自社製品以外ではほとんど使われず、従来の顧客も他のRISC設計に移行し始めていたため、同社はシングルチップのMC88110としてこの設計を再発売した。1980年代後半には、NeXT、Apple Computer、Apollo Computerなど、いくつかの企業が将来の用途を見据えて88000シリーズを積極的に検討していたが、1992年に88110がようやく発売される頃には、いずれもこの設計を諦めていた。
サン・マイクロシステムズがSPARC設計で試みたのと同様に、88openグループでこのシステムを普及させようとする試みがあった。しかし、実際には失敗に終わったようだ。[ 10 ]
1990年代初頭、モトローラはIBM POWERアーキテクチャをベースとした新しいRISCアーキテクチャを作成するAIMの取り組みに参加しました。モトローラは、顧客に何らかのアップグレードパスを提供するために、88000のいくつかの機能(互換性のあるバスインターフェース[ 11 ]など)を新しいPowerPCアーキテクチャに組み込みました。その時点で、88000はできるだけ早く廃棄されました。[ 12 ]
88000は、それ以前の68000と同様に「クリーン」な設計であると考えられていました。これは、独立した命令キャッシュとデータキャッシュ(スプリットキャッシュ・フォン・ノイマンアーキテクチャ)[ 13 ]、および独立したデータバスとアドレスバスを備えた、純粋な32ビットロード/ストアアーキテクチャです。小さく強力なコマンドセットを持ち、フラットなアドレス空間を使用します。
珍しいアーキテクチャ上の特徴として、整数命令と浮動小数点命令の両方が同じレジスタファイルを使用している点が挙げられる。

88000 ISAの最初の実装は、統合型FPUを搭載したMC88100マイクロプロセッサでした。これにMC88200 MMUおよびキャッシュコントローラが組み合わされていました。このように機能を分割した背景には、マルチプロセッサシステムの構築を容易にするという考え方がありました。1つのMC88200で最大4つのMC88100をサポートできたのです。しかし、これは同時に、単一プロセッサの最も基本的なシステムを構築するには、両方のチップとそれら間の相当な配線が必要となり、コストが上昇することを意味していました。これが、88000の成功が限定的だったもう一つの大きな理由だったと考えられます。
MC88100は、2つ以上の冗長構成のMC88100を使用することで、耐障害性を実現する「マスター/チェッカー」機能を実装しました。
このアプリケーションでは、2 つのプロセッサが配線されています。マスター プロセッサ (PCE が否定) は通常どおり動作します。チェッカー プロセッサ (PCE が肯定) は、ERR を除くすべての出力を高インピーダンス状態に設定します。すべての出力は入力として監視されます。チェッカー プロセッサはマスター プロセッサと同じ操作を実行し、内部の結果を高インピーダンス ピンから読み取った結果と比較します。マスターとチェッカーの間で不一致が発生した場合、チェッカーは ERR を肯定します。その後、外部ロジックがシステムの適切な動作を決定する必要があります。[ 14 ]

パッケージングとコストの問題は、後にCPU、FPU、MMU、L1キャッシュを1つのパッケージに統合したスーパースカラMC88110によって解決されました。MITの*Tプロジェクトの要請により行われた追加の変更により、マルチプロセッサシステムで使用するためのオンチップ通信を含むMC88110MPが誕生しました。[ 15 ]最大100MHzの速度に対応できるバージョンがMC88120として計画されていましたが、製造されることはありませんでした。
組み込みアプリケーション向けの実装であるMC88300は1990年代初頭に開発されていたが、最終的に中止された。フォード・モーター・カンパニーは、通信機器ベンダーによる採用と合わせて、このアーキテクチャの永続的な存続を保証するものと見なされていたチップを使用する予定だった。[ 16 ]モトローラは代替としてPowerPC設計を提案し、フォードはそれを受け入れた。[ 17 ]

モトローラは、88000をベースとした「すぐに使える」システムを構築するためのシングルボードコンピュータ、 MVMEシリーズと、これらのMVMEボードを採用したスタッカブルコンピュータであるシリーズ900を発売した。タワー型やラックマウント型のシステムとは異なり、シリーズ900は積み重ねて設置され、バスのようなケーブルで相互接続されていた。しかし、このコンセプトは普及しなかった。
主要なサードパーティユーザーは限られていました。広く使われていたのは、データゼネラルのAViiONシリーズだけでした。これらはかなり人気があり、今日でも限定的に使用されています。後のモデルでは、DGはIntelに移行しました。Encore Computerは、Encore-91マシンをm88kで構築し、その後、Infinity 90シリーズとして完全にゼロから再設計しましたが、これらのマシンが何台売れたかは不明です。EncoreはAlphaに移行しました。Tektronixは、1989年4月にXD88シリーズのグラフィックスワークステーションを発表しました。[ 18 ]
GEC ComputersはMC88100を使用してGEC 4000シリーズのコンピュータの1つであるGEC 4310を構築しましたが、メモリ管理の問題により、同社の以前のゲートアレイベースおよびAm2900ベースのGEC 4000シリーズのコンピュータほどの性能を発揮しませんでした。BBN ButterflyモデルTC-2000はMC88100プロセッサを使用し、最大512個のCPUまで拡張できました。Linotype -Hellは、画像処理用のDaVinciラスターグラフィックスエディタを実行する「Power」ワークステーションに88110を使用しました。
MC88110は、発売されなかったNeXTマシン「NeXT RISC Workstation」のいくつかのバージョンに搭載されましたが、このプロジェクトは1993年にすべてのNeXTハードウェアプロジェクトとともに中止されました。日本のOMRON LUNA-88Kマシンは4プロセッサでm88kを使用しており、カーネギーメロン大学のMachカーネルプロジェクトで短期間使用されました。1990年代初頭、ノーザンテレコムは、DMS SuperNodeファミリーの電話交換機の中央プロセッサとしてMC88100とMC88110を使用しました。
他のほとんどのユーザーは規模がはるかに小さかった。Alpha Microsystems は当初、 Motorola 68000から 88K アーキテクチャに移行することを計画し、社内でUNIX System Vを実行するマシンを作成したが、後に 68K 派生機種を優先して破棄された。[ 19 ] NCD は88K X-Terminalsで 88100 (88200 なし) を使用した。衰退したNorsk Dataからスピンオフした Dolphin Server は、88k をベースにしたサーバーを構築した。[ 20 ] 1988 年から 1992 年にかけて約 100 台のシステムが出荷された。
Virtuality社は、 SU2000仮想現実アーケードマシンにグラフィックプロセッサとしてMC88110を使用しており、各仮想現実ヘッドセットの画面ごとに1つのMC88110が搭載されていた。
組み込みコンピュータの分野では、F-15 S/MTDの「トライチャネル VMS コンピュータ」は、3 つの 88000 を使用して三重冗長コンピュータを構成していた。[ 21 ]
モトローラは、88000ベースのシステム向けに独自のUNIX System V派生版であるSystem V/88をリリースしました。主なリリースは、リリース3.2バージョン3とリリース4.0バージョン3の2つです。 [ 22 ] データゼネラルAViiONシステムはDG/UXを実行しました。MVME システム[ 23 ] 、 LUNA-88Kワークステーション[ 24 ] 、およびデータゼネラルAViiONシステム[ 25 ]向けにOpenBSDポートが存在します。MVMEシステム向けには、 少なくとも1つの非公式の実験的なNetBSDポートが存在します。[ 26 ]