知識ベース

Motorola 68000シリーズ

Motorola 68000シリーズ680x0m68000m68k 、または68kとも呼ばれる)は、32ビットCISCマイクロプロセッサーのファミリーです。 1980年代から1990年代初頭にかけて、それらはパーソナルコンピュータやワークステーションで人気があり、Intelのx86マイクロプロセッサの主要な競合相手でした。初期のApple Macintosh、Sharp X68000、Commodore Amiga、Sinclair QL、Atari ST、SNK NG AES / Neo Geo CD、Sega Genesis(Mega Drive)、Atari Jaguarに搭載されているプロセッサとして最もよく知られていました。コモドールCDTV。 68000シリーズのプロセッサに基づいた最新のデスクトップコンピュータはありませんが、組み込みシステムでは派生プロセッサが依然として広く使用されています。

モトローラは1994年に68000シリーズアーキテクチャの開発を中止し、PowerPCアーキテクチャに置き換えました。PowerPCアーキテクチャは、AIMアライアンスの一環としてIBMおよびApple Computerと共同で開発されました。

家族のメンバー

  • ジェネレーション1(内部的に16/32ビット、8、16、および32ビットインターフェイスで生成)
    • モトローラ68000
    • モトローラ68EC000
    • モトローラ68SEC000
    • モトローラ68HC000
    • モトローラ68008
    • モトローラ68010
    • モトローラ68012
  • ジェネレーション2(内部的に完全に32ビット)
    • モトローラ68020
    • モトローラ68EC020
    • モトローラ68030
    • モトローラ68EC030
  • ジェネレーション3(パイプライン)
    • モトローラ68040
    • モトローラ68EC040
    • モトローラ68LC040
  • ジェネレーション4(スーパースカラー)
    • モトローラ68060
    • モトローラ68EC060
    • モトローラ68LC060
  • その他
    • フリースケール683XX(CPU32別名68330、68360別名QUICC)
    • フリースケールColdFire
    • フリースケールドラゴンボール
    • フィリップス68070

改善履歴

68010:

  • 仮想メモリのサポート(再起動可能な手順)
  • 文字列およびメモリライブラリプリミティブを高速化する「ループモード」
  • 乗算命令は14クロック刻みを使用します

68020:

  • 32ビットのアドレスおよび算術論理演算ユニット(ALU)
  • 三段パイプライン
  • 256バイトの命令キャッシュ
  • 無制限のワードおよびロングワードデータアクセス(アライメントを参照)
  • 8×マルチプロセッシング能力
  • より大きな乗算(32×32-> 64ビット)および除算(64÷32-> 32ビット商と32ビット剰余)命令、およびビットフィールド操作
  • スケーリングされたインデックスと別のレベルの間接参照を追加したアドレス指定モード
  • 低コスト、EC = 24ビットアドレス

68030:

  • それぞれ256バイトの命令とデータキャッシュを分割
  • オンチップメモリ​​管理ユニット(MMU)(68851)
  • 低コストEC = MMUなし
  • バーストメモリインターフェイス

68040:

  • 各4 KBの命令キャッシュとデータキャッシュ
  • 6段階のパイプライン
  • オンチップ浮動小数点ユニット(FPU)
  • FPUにはIEEE超越関数機能がありません
  • FPUエミュレーションは2E71M以降のチップリビジョンで動作します
  • 低コストLC = FPUなし
  • 低コストEC = FPUおよびMMUなし

68060:

  • 各8 KBの命令キャッシュとデータキャッシュ
  • 10段パイプライン
  • 2サイクル整数乗算ユニット
  • 分岐予測
  • デュアル命令パイプライン
  • アドレス生成ユニット(AGU)の命令。これにより、ALUの2サイクル前に結果が提供されます。
  • 低コストLC = MMUなし
  • 低コストEC = MMUおよびFPUなし

機能マップ

CPU パッケージ頻度(最大) アドレスバスビット MMU FPU
1979 68000 64ピンデュアルインラインパッケージ(DIP)、68ピンLCC、68ピンピングリッドアレイ(PGA) 8–20 24 - -
1982 68010 64ピンDIP、68ピンPLCC、68ピンPGA 8–16.67 24 68451 -
1984 68020 114ピンPGA 12.5–33.33 32 68851 68881
- 68 EC 020 100ピンクアッドフラットパッケージ(QFP) 16.7–25 24 - -
1987 68030 132ピンQFP(最大33 MHz)、128ピンPGA 16–50 32 MMU 68881
68 EC 030 132ピンQFP、128ピンPGA 25 32 - 68881
1991 68040 179ピンPGA、184ピンQFP 20〜40 32 MMU FPU
68 LC 040 PGA、184ピンQFP 20〜33 32 MMU -
68 EC 040 20〜33 32 - -
1994 68060 206ピンPGA 50〜75 32 MMU FPU
68 LC 060 206ピンPGA、208ピンQFP 50〜75 32 MMU -
68 EC 060 206ピンPGA 50〜75 32 - -

主な用途

68000シリーズのプロセッサは、最新のTexas Instruments計算機(TI-89、TI-92、およびVoyage 200ライン)からPalmを実行するPalm Pilotシリーズのすべてのメンバーまで、さまざまなシステムで使用されています。 OS 1.xから4.x(OS 5.xはARMベース)、およびスペースシャトルの重要な制御システムの耐放射線強化バージョンです。ただし、Apple Macintosh、Commodore Amiga、Sinclair QL、Atari STなどのデスクトップコンピューターを駆動するプロセッサーとして最もよく知られるようになりました。 68000は、Sun Microsystems、NeXT、Silicon Graphics(SGI)などの企業のUnixワークステーションおよびサーバー用に1980年代に選択されたプロセッサでもありました。 CP / M-68Kと呼ばれるCP / Mの68000バージョンがあり、当初はAtari STオペレーティングシステムとして提案されましたが、Atariは代わりにAtari TOSを選択しました。

また、おそらく最も重要な点として、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)。その後、Adobeは一般にプロセッサにRISCを好みました。競合他社は、PostScriptクローンを使用して、多くの場合AMD 29000シリーズであるRISCを既に使用していました。初期の68000ベースのAdobe PostScriptインタープリターとそのハードウェアは、冷戦時代の米国のロケットとミサイル(Atlas、Redstoneなど)にちなんで命名されました。

現在、これらのシステムは、ラインの終わり(Atariの場合)であるか、異なるプロセッサを使用しています(Macintosh、Amiga、Sun、およびSGIの場合)。これらのプラットフォームは1980年代にピーク市場シェアを獲得していたため、元のメーカーはこのハードウェアのオペレーティングシステムをサポートしなくなったか、廃業しました。ただし、GNU / Linux、NetBSD、およびOpenBSDオペレーティングシステムには、68000プロセッサのサポートがまだ含まれています。

68000プロセッサは、Sega Genesis(Mega Drive)およびSNK Neo GeoコンソールでもメインCPUとして使用されました。セガサターンなどの他のコンソールはオーディオ処理やその他のI / Oタスクに68000を使用し、アタリジャガーには基本的なシステム制御と入力処理を目的とした68000が含まれていましたが、ジャガーの異機種プロセッサの異常な組み合わせにより、ゲームロジックの実行に頻繁に使用されます。多くのアーケードボードは、Capcom、SNK、Segaのボードを含む68000プロセッサも使用していました。

68000ファミリーから派生したマイクロコントローラーは、非常に多様なアプリケーションで使用されています。たとえば、CPU32およびColdFireマイクロコントローラーは、数百万台の自動車エンジンコントローラーとして製造されています。

独自のビデオ編集システムの多くは68000プロセッサを使用していました。このカテゴリでは、使いやすいグラフィックインターフェイス(1997)を備えたブラックボックスであるMacroSystem Casablancaに名前を付けることができます。アマチュアおよび趣味のビデオグラファー市場向けです。 「DraCo」(1995)と呼ばれる、以前の、より大きく、よりプロフェッショナルな対応物にも注目する価値があります。初期の24ビットペイントおよびエフェクトシステムの画期的なQuantel Paintboxシリーズは、1981年に最初にリリースされ、 68000ファミリプロセッサの全範囲。68060の唯一の例外を除き、設計には実装されていません。ビデオアリーナのもう1つの候補であるAbekas 8150 DVEシステムは680EC30を使用し、Trinity Play(後にGlobecasterと改名)はいくつかの68030を使用します。 Robert Bosch Corporationが製造したBosch FGS-4000 / 4500 Video Graphics System、後のBTS(1983)は、メインプロセッサとして68000を使用しました。他の何人かを駆使して、グーローとフォンシェーディングを簡単に適用できるコンピューターで3Dアニメーションを実行しました。修正されたMotorola Versadosオペレーティングシステムを実行します。

建築

PDP-11またはVAXに慣れている人は、通常68000に慣れています。汎用レジスタを特殊なデータおよびアドレスレジスタに分割することを除けば、68000アーキテクチャは多くの点で32ビットPDP-11です。 。

以前(8080など)と後(x86など)に登場した多くのプロセッサの命令セットよりも直交命令セットがありました。つまり、特定の命令で特定のアドレス指定モードを使用することに制限されるのではなく、通常、操作をオペランドと自由に組み合わせることが可能でした。この特性により、人間にとってプログラミングが比較的簡単になり、コンパイラー用のコードジェネレーターの作成も容易になりました。

68000命令セットは、次の広範なカテゴリに分類できます。

  • ロードとストア(MOVE)
  • 算術演算(ADD、SUB、MULS、MULU、DIVS、DIVU)
  • ビットシフト(ASL、ASR、LSL、LSR)
  • ビット回転(ROR、ROL、ROXL、ROXR)
  • 論理演算(AND、OR、NOT、EOR)
  • 型変換(バイトからワードへ、またはその逆
  • 条件分岐および無条件分岐(BRA、Bcc-BEQ、BNE、BHI、BLO、BMI、BPLなど)
  • サブルーチンの呼び出しと戻り(BSR、RTS)
  • スタック管理(LINK、UNLK、PEA)
  • 割り込みの原因と対応
  • 例外処理
  • どのCPU、MMU、またはFPUが存在するかを判断するx86 CPUID命令に相当するものはありません。

68050および68070

68050はありませんでしたが、ある時点ではモトローラ内のプロジェクトでした。奇数番号のリリースは、以前の偶数番号の部分で発生した問題に対する反応でした。そのため、68050は68040の消費電力(したがって熱放散)を削減し、FPUでの例外処理を改善し、より小さい機能サイズを使用し、プログラムの命令使用に合わせてマイクロコードを最適化すると一般に予想されていました。これらの最適化の多くは68060に含まれており、その設計目標の一部でした。 68060が開発中であったこと、Intel 80486がモトローラが想定したほど速く進まなかったこと、68060が要求の厳しいプロジェクトであることなど、さまざまな理由で、68050は開発の初期段階でキャンセルされました。

モトローラは68000および88kプロセッサラインから新しいPowerPCビジネスに移行するプロセスにあったため、68060の改訂もありません。したがって、68070は開発されませんでした。もしあったとしても、それはおそらく優れたFPUを備えた68060の改訂版でした(パイプラインはUsenetで広く推測されていました)。

モトローラは主にCPUコアの68000、68020、68040、68060などのメジャーリビジョンに偶数を使用しました。68010はコアに若干の変更を加えた68000の改訂版で、同様に68030はより強力ないくつかの68020でした。機能、それらはどれもコアのメジャーアップグレードとして分類するほど重要ではありません。

68070指定のCPUがありました。これは、基本的なDMAコントローラー、I²Cホスト、オンチップシリアルポートを備えた16/32ビット68000のライセンスされたやや遅いバージョンでした。この68070は、Philips CD-iのメインCPUとして使用されました。ただし、このCPUはフィリップスが製造したものであり、モトローラの680x0ラインアップの一部ではありません。

最終世代

第4世代の68060は、Intel P5マイクロアーキテクチャのほとんどの機能を共有していました。

その他の変種

Personal Computers XT / 370およびAT / 370 PCベースのIBM互換メインフレームには、S / 370メインフレーム命令をエミュレートするカスタムマイクロコードを備えた2つのモトローラ68000プロセッサが含まれていました。

メインライン68000プロセッサーの廃止後、68000ファミリーはマイクロコントローラーと組み込みマイクロプロセッサーのバージョンである程度使用されています。これらのチップには、上記の「その他」にリストされているもの、つまりCPU32(別名68330)、ColdFire、QUICC、およびDragonBallが含まれます。

FPGAテクノロジーの出現により、ハードウェア開発者の国際チームは、FPGAコアとして多くの機能強化を行った68000を再作成しました。それらのコアは68080として知られ、VampireブランドのAmigaアクセラレーターで使用されています。

競合他社

デスクトップ

1980年代から1990年代初頭にかけて、68000がデスクトップコンピューターで広く使用されたとき、IBM PC互換機で使用されるIntelのx86アーキテクチャと主に競合しました。第1世代の68000 CPUは、主に16ビット8086、8088、および80286と競合しました。第2世代は80386(最初の32ビットx86プロセッサ)と競合し、第3世代は80486と競合しました。しかし、古い68000マーケットプレイスの多くは機能していなかったか、ほぼそうであったため(AtariおよびNeXTの場合)、より新しいアーキテクチャに変換したため(PowerPC for MacintoshおよびAmiga、 SPARC for Sun、およびMIPS for Silicon Graphics(SGI))。

埋め込み

現在、組み込みシステムで成功しているプロセッサアーキテクチャは多数あります。 68000よりもはるかに単純で、小型で、安価なマイクロコントローラーもあれば、比較的高度で複雑なソフトウェアを実行できるマイクロコントローラーもあります。 68000の組み込みバージョンは、特にPowerPC、ARM、MIPS、およびSuperHアーキテクチャから派生したプロセッサと競合することがよくあります。