
Motorola 68020は、1984年に発売されたMotorola製の32ビットマイクロプロセッサです。低価格版として68EC020も発売されました。Motorolaの設計に共通する命名規則に従い、68020は通常「020」と呼ばれ、「オーツーオー」または「オートゥエンティ」と発音されます。
020は比較的短期間しか市場に出回っていませんでした。モトローラ68030は1986年9月に発表され、1987年夏に出荷が開始されました。当時の020とほぼ同じ価格帯だった030は、大幅に高速化され、ほぼあらゆる用途で020に取って代わりました。
Motorola 68000が設計された当時、Motorolaの設計および製造サービスは時代遅れだった。MOS TechnologyやZilogのような小規模企業でさえ、より大型のウェハ上でシリコンゲート空乏モードNMOSロジックに移行していたにもかかわらず、Motorolaは依然としてメタルゲートとエンハンスメントモードを使用しており、最大の工場はほとんどのラインが5インチウェハに移行した後も、4インチウェハで稼働していた。68000は発売当時、入手可能な最速のCPUという目標を達成したが、より現代的な技術で設計されていれば、もっと強力になっていたはずだった。[ 3 ]
68000 の設計期間中、同社は日立とプロセス技術について協力しており、その一環として、インテルからライセンス供与を受けた最新のHMOSプロセスと 5 インチウェハーを使用する新しいファブ MOS-8 を開設した。このラインはすべての新しい技術を製造できる能力があったが、68000 は旧設計で進めることにした。旧設計が機能すると確信していたためである。新しい設計技術への移行は、設計が市場に出回るまで待つことになった。[ 4 ]新しい設計技術への移行は、モトローラ 68010 の開発中に行われた。これは、新興のUnix ワークステーション市場向けに基本的な仮想メモリサポートを追加した、元の設計に対する比較的小規模なアップグレードである。[ 5 ]
この取り組みが進行中に、モトローラは顧客に対し、この製品ラインの将来の開発に関する要望を募っていた。それらの要望はすべて、完全な32ビット実装を指し示していた。Unixシステムで68kを使用している顧客は、浮動小数点演算ユニットが利用可能であれば、各マシンにそれを購入するとも述べていた。[ 6 ]
オリジナルの68000は、主にデュアルインラインパッケージ(DIP)で使用可能なピンの最大数が64であり、そのサイズでもこのサイズのパッケージングが非常に問題であったため、ハイブリッド16/32ビットシステムとして設計されました。 [ 7 ]アドレスピンの数を24に、データピンを16に減らすことで、割り込みや電源などの他の必要なラインをすべて実装するのに十分な空きピンができました。24ピンのアドレスバスは、メモリが 合計16MBしかできないことを意味し、この時点で制限になりつつありました。16ビットのデータバスは、そのメモリから32ビットワードを読み出すのに2バスサイクルが必要であることを意味しました。
アドレスバスとデータバスの両方に32ピンを使用する設計では、データへのアクセス速度が2倍になり、他の変更がなくてもマシンの速度が大幅に向上します。32ビットアドレッシングに移行することで、仮想メモリの実装も容易になり、16MBを超えるランダムアクセスメモリも可能になります 。しかし、そのためには、ピンの総数を大幅に増やす必要が生じます。1980年代初頭までに、すべての最新のCPU設計で同様の制限が生じ、DIPに代わるピングリッドアレイが導入されました。新しいプロジェクトでは、モトローラは169ピンのレイアウトを選択し、十分な作業スペースを確保しました。最終的に、設計で使用されたのはそのうち114ピンのみでした。
マーケティング資料で新しいチップの基本設計をどのように表現するかについて、大きな議論が巻き起こった。技術的には、020は長年確立されてきたNMOSロジック設計からCMOSレイアウトに移行しており、ゲートあたり2つのトランジスタが必要だった。当時の一般的な認識では、CMOSはNMOSの4倍のコストがかかるとされており、市場には「CMOSは悪い」と信じている人がかなりいた。[ 8 ]
設計は1983年の夏に完了し、1984年6月に発表された。[ 9 ]この「スーパーチップ」は当時大きなニュースとなり、ニューヨーク・タイムズ紙はビジネス欄のトップ記事として取り上げた。発売価格は1個487ドルとされ、1980年に発売された68000とほぼ同じ価格だったが、68000は当時約15ドルで入手可能だった。しかし、既存の設計を大幅な変更でその性能を活かす必要があるため、この新しいチップを使用したコンピュータが利用可能になるまでにはしばらく時間がかかると理解されていた。[ 10 ]
この発表を受けて、モトローラの顧客は供給を求めて殺到した。この時点で、深刻な供給問題が明らかになった。設計は68000と同じMOS-8工場で製造されるように計画されていたが、それをサポートするいくつかの新しい装置が導入された。一般公開の時点で、新しいチップの歩留まりはゼロだった。つまり、多段階のプロセスに送られたウェハーごとに、正常に動作するチップはゼロ個しか生産されなかった。[ 11 ]
ゲイリー・ジョンソンは、問題はMOS-8のフロアマネージャーであるトム・フェレシにあると結論付け、当時古いMOS-2工場を運営していたビル・ウォーカーに交代させることを決めた。ウォーカーは1985年7月5日に工場に到着したが、ジョンソンがフェレシにこの変更を伝えていなかったため、口論になった。ジョンソンは最終的にフェレシに実際に変更が行われていることを伝えた。その後、ウォーカーは工場内を視察し、そこが生産ラインではなく、実質的に研究開発ラボに変わっており、他の場所では使用されていない機械が多数あることを発見した。[ 11 ]
大きな問題の一つは、新しいベンダーであるGenus社から購入したタングステンシリサイド製造装置だった。その機械が全く動作しなかったのだ。ウォーカーはカリフォルニアに飛び、Genus社のCEOと面会したが、CEOは言い訳ばかりだった。ウォーカーはついに机に手を叩きつけ、腕時計のバンドを壊しながら「もう言い訳は聞きたくない!今すぐ、今日中に直してほしい!」と叫んだ。Genus社はその要求を真摯に受け止め、機械を修理した。CEOは後に、この出来事を記念してウォーカーに新しい腕時計のバンドを贈った。[ 11 ]
一方、ウォーカーはMOS-8で工場自体の改善のために新しい方針を導入した。彼は通常午前6時30分に会議を招集したが、うまくいかない場合は5時30分、場合によっては4時30分に早めた。これにより、工場を稼働させるための強力なインセンティブが生まれた。生産上の問題はすぐに解決され、その年の後半には量産が開始された。この時点で、ワークステーションの顧客は、020と新しい浮動小数点演算ユニットであるMotorola 68881を使用する準備が整った完全なシステムをすでに開発していた。020が発表されてからわずか5、6か月後にはシステムが市場に出回っていた。[ 12 ]
020 の後継機の設計はほぼすぐに始まった。日立との継続的な協力の一環として、モトローラの製造システムはついに競合他社に追いつき、社内の設計ワークフローも同様になった。これにより、モトローラは作業できる余地が大幅に増え、より大きなプロセッサ キャッシュ、内蔵メモリ管理ユニット(MMU)、その他の機能を追加することが可能になった。モトローラ 68030は 1986 年 9 月に発表され、[ 13 ]翌年の夏に出荷が開始された。生産ラインの変更により、新しい 030 は 020 よりも低い発売価格となった。
68000と020の間には、特に32ビットメモリインターフェースにおいて大きな違いがありました。そのため、これを使用するコンピュータ設計は、以前のモデルとは大きく異なる必要がありました。対照的に、020と030の間にはほとんど変更がなく、後者は多くの役割でドロップイン代替として使用できました。このため、030を使用した設計は、020よりもリリース後ずっと早く登場しました。020を搭載した最初のMacintoshは、020が広く利用可能になってから2年後の1987年3月にリリースされたMacintosh IIで、[ 14 ] 2か月後に少量の初期出荷が開始されました。[ 15 ]わずか18か月後には、 030を使用したMacintosh IIxがこれに取って代わりました。同じ16MHz のクロック速度で動作しましたが、IIxは IIの2.6 MIPSに対して3.9 MIPSを提供しました。[ 16 ]

68020は、16ビットのデータバスと24ビットのアドレスバスを持つ初期の680x0モデルとは異なり、32ビットの内部および外部データバスとアドレスバスを備えています。68020のALUもネイティブに32ビットであるため、1クロックサイクルで32ビット演算を実行できますが、68000は16ビットALUのため、最低でも2クロックサイクルを要しました。新しいパッケージング方法により、'020は、以前のデュアルインラインパッケージ方式 で必要だった大きなサイズを必要とせずに、より多くの外部ピンを備えることができました。68EC020は、24ビットのアドレスバスによってコストを削減しました。68020は、12MHzから33MHzまでの速度で製造されました 。

68020 は 32 ビットの算術論理演算ユニット(ALU)、32 ビットの外部データおよびアドレスバスを備えています。[ 17 ] 追加の命令と追加のアドレッシング モードが追加されています。68020 (および 68030) は、適切な 3 段パイプラインを備えています。68010 には、実質的に小さな命令キャッシュを高速にループする「ループ モード」がありましたが、2 つの短い命令しか保持できなかったため、ほとんど使用されませんでした。68020 はこれを 256 バイトの適切な命令キャッシュに置き換え、真のオンチップ キャッシュ メモリを備えた最初の 68k シリーズ プロセッサとなりました。
従来の68000および68010プロセッサでは、ワード(16ビット)およびロングワード(32ビット)データは、メモリ内のデータがワードアラインメントされている(偶数アドレスに配置されている)場合にのみアクセスできました。68020では、データアクセスにアラインメントの制限はありません。当然ながら、アラインメントされていないアクセスは、余分なメモリアクセスが必要となるため、アラインメントされたアクセスよりも低速になります。
68020は、64個の4バイトエントリとして構成された、256バイトの小型ダイレクトマップ命令キャッシュを搭載している。容量は小さいものの、多くのアプリケーションのパフォーマンスに大きな影響を与えた。特に、DMAを多用するシステムでは、バストラフィックの減少が大きな効果を発揮した。
68020は、最大8つのコプロセッサをサポートするコプロセッサインターフェースを備えています。メインCPUは「Fライン」命令(上位4つのオペコードビットがすべて1)を認識し、特別なバスサイクルを使用してコプロセッサと通信し、これらの命令を実行します。コプロセッサには、浮動小数点演算ユニット(MC68881またはMC68882 FPU)とページングメモリ管理ユニット(MC68851 PMMU)の2種類が定義されています。1つのCPUで使用できるPMMUは1つだけです。原理的には、1つのCPUで複数のFPUを使用することも可能でしたが、実際にはあまり行われませんでした。コプロセッサインターフェースは非同期であるため、コプロセッサをCPUとは異なるクロックレートで動作させることができます。
マルチプロセッシングのサポートは、RMC ピン[ 18 ]を使用して進行中の分割不可能な読み出し-変更-書き込みサイクルを示すことにより、外部で実装されます。他のすべてのプロセッサは、サイクルが完了するまでメモリへのアクセスを保留する必要があります。[ 19 ]マルチプロセッシングのソフトウェアサポートには、TAS、CAS、およびCAS2命令が含まれます。
マルチプロセッサシステムでは、コプロセッサをCPU間で共有することはできませんでした。コプロセッサからの戻り値、バスエラー、アドレスエラー例外に関する問題を回避するため、マルチプロセッサシステムでは一般的に、すべてのCPUが同じモデルであり、すべてのFPUも同じモデルである必要がありました。
新しい命令には、スーパーバイザ状態に対するいくつかのマイナーな改良と拡張、マルチプロセッシングシステムのソフトウェア管理のためのいくつかの命令(68060 では削除された)、あまり使用されなかった高水準言語のサポート(将来の 680x0 プロセッサでは削除された)、より大きな乗算(32×32→64 ビット)および除算(64÷32→32 ビットの商と 32 ビットの余り)命令、およびビット フィールド操作が含まれています。[ 20 ]
新しいアドレッシングモードでは、既存の多くのモードにスケーリングされたインデックスと、もう1つのレベルの間接参照が追加されます。
内部および外部のアドレスバスが32ビットフルに対応しているため、アドレスレジスタ(A0~A7)は32ビット幅を最大限に活用でき、4GBの アドレス空間全体をアドレス指定することが可能でした。
アドレスレジスタの実効幅が大きくなったことで、いわゆる「32ビットクリーン」とはみなされていなかった初期のソフトウェアには問題が生じました。一部のプログラムでは、アドレスの上位8ビット(24~31ビット目)に各種フラグビットを格納していましたが、これは初期の680x0 CPUではこれらの上位ビットが安全に無視されるという前提に基づいていたためです。しかし、68020以降のCPUで利用可能になったより広い物理アドレス空間に対応するため、こうしたソフトウェアは書き直す必要がありました。
68020 は、Apple Macintosh IIおよびMacintosh LCパーソナルコンピュータ、Sun-3ワークステーション、Amiga 1200 (68EC020 バリアント)、Hewlett-Packard 8711 シリーズ ネットワーク アナライザ、HP 9000 /320、HP 9000/330、Apollo ComputerのDN3000 および DN4000ワークステーション[ 21 ]、およびAlpha Microsystems AM-2000 で使用されました。68020 は、 Miracle Systemsの Super Gold Card インターフェイスのSinclair QLの68008の代替アップグレードでした。
Amiga 2500およびA2500UXには、オプションで68020、68881 FPUおよび68851 MMUを使用するA2620アクセラレータが搭載されていました。2500UXにはAmiga Unixがプリインストールされており、'020または'030プロセッサが必要でした。
1980年代半ばから1990年代後半にかけての多くのデジタルオシロスコープは68020を使用しており、 LeCroy 9300シリーズ[ 22 ](「C」サフィックスモデルを含む上位モデルはより強力な68EC030を使用[ 23 ]、68020プロセッサを搭載した9300モデルはCPUボードを交換することで68EC030にアップグレード可能[ 24 ])、および初期のLeCroy 9400シリーズ(68000を使用した9400/9400Aを除くすべてのモデル[ 25 ] [ 26 ] [ 27 ] [ 28 ] )、さらに一部のTektronix TDSシリーズモデルも含まれていました。 [ 30 ] HP 54520、54522、54540、54542も68020と68882 FPUを使用しています。[ 31 ]
また、 TGV列車において、レールを通して列車に送られる信号情報を解読するために使用されるプロセッサでもある。さらに、ユーロファイター・タイフーン戦闘機の飛行制御システムおよびレーダーシステムにも使用されている。
Nortel NetworksのDMS-100電話交換機も、SuperNodeコンピューティングコアの最初のマイクロプロセッサとして68020を使用していた。


68EC020は、Motorola 68020の低価格版です。主な違いは、68EC020はフルバージョンの68020が32ビットのアドレスバスを備えているのに対し、24ビットのアドレスバスしか備えていないため、16MB のメモリしかアドレス指定できない点です。
Amiga 1200コンピュータとAmiga CD32ゲーム機は、コスト削減版の68EC020を採用している。ナムコシステム22、タイトーF3 、コナミGXといったアーケード基板もこのプロセッサを使用していた。Atari Jaguar IIのプロトタイプでは、初代Atari Jaguar本体の68000を置き換えるためにこのプロセッサが搭載された。
レーザープリンターにも採用された。AppleはLaserWriter IIɴᴛxに、KodakはEktaplus 7016PSに、DataproductsはLZR 1260にそれぞれ採用した。
2014年、ロチェスター・エレクトロニクスは68020マイクロプロセッサの製造能力を再開し、現在も入手可能である。