Motorola 68000シリーズ( 680x0、m68000、m68k 、または68kとも呼ばれる)は、 32ビットの複合命令セットコンピュータ(CISC)マイクロプロセッサのファミリーです。 1980年代から1990年代初頭にかけて、パーソナルコンピュータやワークステーションで広く普及し、 Intelのx86マイクロプロセッサの主要な競合製品でした。
680x0シリーズは、初期のApple Macintosh、Sharp X68000、Commodore Amiga、Sinclair QL、Atari STおよびFalcon、Atari Jaguar、Sega Genesis(メガドライブ)およびSega CD、Philips CD-i、Capcom System I(アーケード)、AT&T UNIX PC、Tandy Model 16/16B/6000、Sun Microsystems Sun-1、Sun-2およびSun-3、NeXT Computer、NeXTcube、NeXTstationおよびNeXTcube Turbo、初期のSilicon Graphics IRISワークステーション、Aesthedes 、 MASSCOMPのコンピュータ、Texas Instruments TI-89 / TI- 92電卓、Palm Pilot(Palm OS 4.x以前のすべてのモデル)、Control Data Corporationで使用されたプロセッサとして最もよく知られています。 CDCNETデバイスインターフェース、VTech Precomputer Unlimited、そしてスペースシャトル。
モトローラは1994年に680x0シリーズアーキテクチャの開発を中止し、IBMおよびアップルコンピュータと共同でAIMアライアンスの一環として開発したRISCベースのアーキテクチャであるPowerPCに置き換えた。現代のデスクトップコンピュータには680x0シリーズのプロセッサは搭載されていないが、派生プロセッサは組み込みシステムで現在も使用されている。
68010 :
68020 :
68030 :
68040 :
68060 :

680x0シリーズのプロセッサは、ハイエンドのテキサス・インスツルメンツ製電卓(TI-89、TI-92、Voyage 200シリーズ)から、 Palm OS 1.xから4.x(OS 5.xはARMベース)を実行するPalm Pilotシリーズの全機種、さらにはスペースシャトルの重要な制御システムに搭載された耐放射線バージョンまで、さまざまなシステムで使用されてきました。
680x0ファミリーは、 Macintosh 128K、Amiga、Sinclair QL、Atari ST、Genesis / Mega Drive、NG AES / Neo Geo CD、CDTVなどのデスクトップコンピュータやビデオゲームコンソールの動力源としてよく知られていました。1980年代には、 AT&TのUNIX PC、TandyのModel 16/16B/6000、Sun MicrosystemsのSun-1、Sun-2、Sun-3、NeXT Computer、Silicon Graphics (SGI)など、多数のUnixワークステーションやサーバーのプロセッサとして選ばれました。セガサターンは、オーディオ処理やその他のI/Oタスクに68000を使用していますが、ジャガーには、基本的なシステム制御と入力処理を目的とした68000が搭載されており、ゲームロジックの実行によく使用されました。セガ、カプコン、SNKなどのアーケード基板にも、68000プロセッサが多数使用されています。
AdobeのPostScriptインタープリタの最初の数バージョンは68000ベースでした。Apple LaserWriterおよびLaserWriter Plusに搭載された68000は、当時Macintoshコンピュータで使用されていたバージョンよりもクロック速度が速かった。その後、標準解像度のLaserWriter IIntx、IIf、IIg(こちらも300 dpi)、高解像度のLaserWriter Pro 600シリーズ(通常600 dpiだが、 最小限のRAMが搭載されている場合は300 dpiに制限される)、そして非常に高解像度のLinotronicイメージセッターである200PS(1500+ dpi)と300PS(2500+ dpi)など、後のPostScriptインタープリタには高速な68030が搭載されました。その後、Adobeは一般的にプロセッサにRISCを好んで使用しました。これは、競合他社がPostScriptクローンで既にRISC、多くの場合AMD 29000シリーズを採用していたためです。初期の68000ベースのAdobe PostScriptインタープリタとそのハードウェアは、冷戦時代の米国のロケットやミサイルにちなんで名付けられました。例えば、アトラス、レッドストーンなどです。
680x0ファミリーから派生したマイクロコントローラは、非常に幅広い用途で使用されてきました。CPU32およびColdFireマイクロコントローラは、自動車用エンジンコントローラとして数百万個が製造されています。
多くの独自ビデオ編集システムは、使いやすいグラフィックインターフェースを備えたブラックボックスである MacroSystem Casablanca (1997 年) のように、68000 プロセッサを使用していました。これはアマチュアおよび趣味のビデオグラファー市場を対象としていました。また、その以前の、より大型でプロフェッショナルなバージョンである「DraCo」(1995 年) も注目に値します。画期的なQuantel Paintboxシリーズは、初期の 24 ビットペイントおよびエフェクトシステムで、1981 年に最初にリリースされ、その寿命の間、680x0 ファミリーのプロセッサのほぼすべての範囲を使用しました (設計に実装されなかった 68060 を除く)。ビデオ分野のもう 1 つの競合製品である Abekas 8150 DVE システムは 680EC30 を使用し、後に Globecaster と改名された Play Trinity は複数の 68030 を使用しています。ロバート・ボッシュ社(後のBTS、1983年)が製造したボッシュFGS-4000/4500ビデオグラフィックスシステムは、メインプロセッサとして68000を使用しており、他の複数のプロセッサを駆動して、グーローシェーディングやフォンシェーディングを容易に適用できるコンピュータ上で3Dアニメーションを実行しました。オペレーティングシステムは、改良版のモトローラVERSAdosが動作していました。
PDP-11やVAXに精通している人は、68000シリーズにも違和感なく馴染めるだろう。汎用レジスタがデータレジスタとアドレスレジスタに分割されている点を除けば、68000アーキテクチャは多くの点で32ビット版のPDP-11と言える。
命令セットは、それ以前のプロセッサ(例えば8080)やそれ以降のプロセッサ(例えばx86)と比べて、より直交性の高いものでした。つまり、特定の命令で特定のアドレッシングモードを使用するという制限を受けることなく、演算とオペランドを自由に組み合わせることが可能でした。この特性により、人間にとってプログラミングが比較的容易になり、コンパイラ用のコードジェネレータの作成も容易になりました。
68000シリーズには、8つの32ビット汎用データレジスタ(D0~D7)と8つのアドレスレジスタ(A0~A7)があります。最後のアドレスレジスタはスタックポインタであり、アセンブラはラベルSPをA7と同等として認識します。
さらに、16ビットのステータスレジスタを備えています。上位8ビットはシステムバイトであり、その変更は特権です。下位8ビットはユーザーバイトであり、条件コードレジスタ(CCR)とも呼ばれ、その変更は特権ではありません。68000の比較演算、算術演算、論理演算は、条件コードを変更して結果を記録して、後続の条件付きジャンプで使用します。条件コードビットは、「ゼロ」(Z)、「キャリー」(C)、「オーバーフロー」(V)、「拡張」(X)、および「負」(N)です。「拡張」(X)フラグは、キャリーフラグとは別であるため、特に注目に値します。これにより、算術演算、論理演算、シフト演算による余分なビットを、制御フローとリンクのためにキャリーから分離することができます。
68000には「スーパーバイザモード」がありましたが、ステータスレジスタを別のレジスタにコピーする唯一の命令「MOVE from SR」が非特権命令でありながら機密性の高い命令であったため、PopekとGoldbergの仮想化要件を満たしていませんでした。Motorola 68010以降では、仮想化ソフトウェアをより適切にサポートするために、この命令は特権命令に変更されました。
68000シリーズの命令セットは、大きく以下のカテゴリに分類できます。
Motorola 68020では、スーパーバイザ状態のマイナーな改善と拡張、マルチプロセッシングシステムのソフトウェア管理のためのいくつかの命令 (68060 で削除)、あまり使用されなかった高水準言語のサポート (将来の 680x0 プロセッサから削除)、より大きな乗算 (32×32→64 ビット) および除算 (64÷32→32 ビットの商と 32 ビットの余り) 命令、およびビット フィールド操作を含むいくつかの新しい命令が追加されました。
標準のアドレス指定モードは以下のとおりです。
さらに、ステータスレジスタへのアクセス、そして後のモデルではその他の特殊レジスタへのアクセスも可能です。
Motorola 68020は、スケーリングされたインデックスアドレスモードを追加し、既存の多くのモードに間接参照のレベルをさらに追加した。
ほとんどの命令にはドット文字の接尾辞が付いており、8ビットバイト(".b")、16ビットワード(".w")、32ビットロング(".l"))に対して操作を実行できます。
ほとんどの命令は二項関係であり、つまり、操作にはソースとデスティネーションがあり、デスティネーションが変更されます。注目すべき命令は次のとおりです。
第4世代の68060は、Intel P5マイクロアーキテクチャのほとんどの機能と同等の機能を提供した(ただし、命令セットアーキテクチャの互換性はなかった) 。
モトローラは、CPUコアのメジャーアップデート版に、68000、68020、68040、68060といった偶数を主に使用しました。68010は68000のコアに若干の変更を加えた改良版であり、同様に68030は68020の改良版で、より強力な機能がいくつか追加されていましたが、いずれもコアのメジャーアップグレードと分類できるほど重要なものではありませんでした。
68050 は、モトローラ社内でリソースを巡る争いに敗れた「68040 のマイナーアップグレード」であると伝えられている。これは、後継として予定されていたプロジェクト、すなわち 0.5μm の低消費電力・低コストの「LP040」と、88110 から流用され 68060 として期待されていたスーパースカラ・スーパーパイプラインの「Q」との競争によるものだった。[ 20 ]その後の報告によると、モトローラは 68050 の生産に必要な投資に見合う価値はないと考えていた。[ 21 ]奇数番号のリリースは常に、以前の偶数番号の部品で発生した問題への対応であったため、68050 では 68040 の消費電力 (および放熱) が削減され、FPU の例外処理が改善され、より小さなフィーチャサイズが使用され、プログラムによる命令の使用に合わせてマイクロコードが最適化されると一般的に予想されていた。これらの最適化の多くは68060に搭載されており、その設計目標の一部でした。68060の開発が進行中であったこと、80486の開発がモトローラの想定ほど進んでいなかったこと、そして68060が要求の厳しいプロジェクトであったことなど、様々な理由から、68050は開発の初期段階で中止されました。
モトローラは68000および88000プロセッサラインから新しいPowerPC事業へと移行する過程にあったため、 68060の公式な改訂版は存在せず、68070は開発されませんでした。もし製造されていたとしたら、改良版の68060となり、おそらくより優れたFPU(パイプライン処理についてはUsenetグループで広く憶測されていました)が搭載されていたでしょう。68070という名称のCPUは存在しましたが、これはモトローラの680x0ラインナップの公式な一部ではなく、フィリップスによって製造されたものでした。また、68060(およびその前身)のリリースより何年も前に製造されていました。この68070は、基本的なDMAコントローラ、 I 2 Cホスト、およびオンチップシリアルポートを備えた16/32ビット68000のライセンス版で、やや低速であり、フィリップスCD-iのメインCPUとして使用されました。
モトローラは、68060 以降の製品ロードマップを発表しており、これには 1995 年までに 200〜350 MIPS の 68080 と、2000 年までに 68100 という名前になる可能性のある 800 MIPS の製品が含まれていました。[ 21 ]これらの計画はすべて、モトローラが PowerPC を優先して 68060 (680x0 シリーズの最後の CPU) のリリース直後の 1994 年に 680x0 シリーズの開発を中止したため、頓挫しました。68080 という名称の CPU も製造されましたが、上記の 68070 と同様に、これも公式には 680x0 シリーズの一部ではなく、さまざまな改良を加えた 680x0 シリーズの最新の FPGA 実装として製造されました。[ 1 ] [ 2 ] [ 3 ]
IBM互換メインフレームであるパーソナルコンピュータXT/370とAT/370はそれぞれ、 S/370メインフレームの命令をエミュレートするためのカスタムマイクロコードを備えた、改良されたMotorola 68000プロセッサを2つ搭載していた。[ 22 ] [ 23 ]
アリゾナ州に拠点を置く Edge Computer Corp は、元 Honeywell の設計者によって設立されたと言われており、68000 シリーズと互換性のあるプロセッサを製造し、Motorola の製品よりも「3 ~ 5 倍の性能と18 ~ 24 か月の時間的優位性」があると主張された。 [ 24 ] 1987 年、同社は Edge 1000 シリーズの「Edge メインフレーム アーキテクチャで Motorola 命令セットを実装した 32 ビット スーパーミニ コンピュータ」を発表し、命令フェッチ パイプライン (IFP) とオペランド実行パイプライン (OEP) という 2 つの独立したパイプラインを採用し、4096 エントリの分岐キャッシュを備えた分岐予測ユニットに依存し、複数のバスを介して命令とオペランドを取得する。[ 25 ]その後、Edge Computer と Olivetti の間で合意が成立し、Olivetti は Edge Computer のマシンをベースにした自社の「Linea Duo」シリーズの製品を発表した。[ 26 ]同社はその後、Edgcore Technology Inc. [ 27 ] : 12 (Edgecore Technology Inc. [ 28 ]とも報告されている) に社名を変更した。1987年にOlivettiと同社の E1000 プロセッサを供給する契約を結んだ Edgcore は、1989 年に Philips Telecommunications Data Systems と E2000 プロセッサを供給する別の契約を結んだ。これは 68030 命令セットをサポートし、16 VAX MIPS の性能評価を提供すると報告されている。[ 29 ] Nixdorf ComputerおよびHitachiとも同様の契約が1989 年に締結された。 [ 30 ] [ 31 ]
Edge Computer は Motorola と契約を結んでいたと報じられている。[ 28 ] RISC 製品との競争が激化する中、Edgcore は Motorola との「提携」を強調することで市場での差別化を図ろうとし、「キツネ (Edgecore) が種馬 (Motorola) の背中に登って木の高い枝から果物を摘む」というイソップ寓話から着想を得たマーケティング キャンペーンを展開した。[ 32 ]赤ずきんちゃんなどの他の民話の広告テーマも使用された。[ 33 ]同社の投資家がこれ以上の資金提供を拒否し、複数の企業が他の関係者と協議していたため、Arix Corp. は 1989 年 7 月に Edgcore の買収を発表した。[ 31 ] Arix は 1990 年に Hitachi との契約を更新できたと報じられているが、Olivetti や Philips との以前の契約の将来は Edgcore の買収後も不確実なままだった。[ 34 ]
1992年、International Meta Systems(IMS)という会社がRISCベースのCPU、IMS 3250を発表した。このCPUは「Intel 486やMotorola 68040をネイティブ速度で、しかもそれらの数分の一のコストでエミュレートできる」とされていた。クロック周波数は100 MHz 、エミュレーションが開発されたとされている25 MHz 486 および30 MHz 68040、浮動小数点ユニットのサポートを含む、製品は1993年半ばの生産を目指し、ユニットあたりのコストは50~60ドル。[ 35 ] PowerPC 615などのプロセッサでエミュレーションサポートが明らかに普及する中、1994年にIMSはエミュレーション技術の特許を出願したが、ライセンス供与先が見つからなかったと報じられた。[ 36 ]この製品の導入が何度も遅れ、ある時は「チップの音声処理能力を向上させる必要性」が原因とされた[ 37 ]が、どうやら同社はインテルのP6製品に対抗するために別のチップ、Meta6000を導入しようとしたようだ。[ 38 ]最終的に、IMSは特許を訴訟弁護士のTechSearchに売却して破産した。TechSearchは1998年にインテルをIMSの特許侵害で訴えようとした。[ 39 ]報道によると、TechSearchは訴訟に敗訴したが、控訴を申し立て、インテルの代表者が報道機関への発言でTechSearchのビジネスモデルを不利に描写したことを根拠に、インテルを「名誉毀損と中傷」で訴えようとした。[ 40 ]
メインラインの68000プロセッサが姿を消した後も、68000ファミリーはマイクロコントローラや組み込みマイクロプロセッサ版で一部使用されています。これらのチップには、上記の「その他」に挙げられているCPU32(別名68330)、ColdFire、QUICC、DragonBallなどが含まれます。
FPGA技術の登場により、ハードウェア開発者の国際チームが、 68000を多くの機能強化を施したFPGAコアとして再設計しました。彼らのコアは68080として知られており、VampireブランドのAmigaアクセラレータで使用されています。[ 1 ] [ 2 ] [ 3 ]
Magnetic Scrolls社は、テキストアドベンチャーゲームにおいて、68000の命令セットの一部を仮想マシンのベースとして使用した。
1980年代から1990年代初頭にかけて、68000がデスクトップコンピュータで広く使われていた頃は、主にIBM PC互換機で使われていたIntelのx86アーキテクチャと競合していました。第1世代の68000 CPUは、主に16ビットの8086、8088、80286と競合しました。第2世代は80386(最初の32ビットx86プロセッサ)と、第3世代は80486と競合しました。第4世代はP5 Pentiumシリーズと競合しましたが、旧68000市場の多くが消滅していたか、消滅寸前だった(AtariやNeXTの場合など)、あるいは新しいアーキテクチャ(MacintoshやAmigaのPowerPC、SunのSPARC、Silicon Graphics (SGI)のMIPS)に移行していたため、前世代ほど広く使われることはありませんでした。
組み込みシステムで成功を収めているプロセッサアーキテクチャは数十種類に及ぶ。中には、68000よりもはるかにシンプルで小型かつ安価なマイクロコントローラもあれば、比較的高度で複雑なソフトウェアを実行できるものもある。68000の組み込み版は、PowerPC、ARM、MIPS、SuperHなどをベースとしたプロセッサアーキテクチャと競合することが多い。