この記事 きじ は検証 けんしょう 可能 かのう な参考 さんこう 文献 ぶんけん や出典 しゅってん が全 まった く示 しめ されていないか、不十分 ふじゅうぶん です。 出典 しゅってん を追加 ついか して記事 きじ の信頼 しんらい 性 せい 向上 こうじょう にご協力 きょうりょく ください。(このテンプレートの使 つか い方 かた ) 出典 しゅってん 検索 けんさく ? : "MC68000" – ニュース · 書籍 しょせき · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2021年 ねん 5月 がつ )
MC68000 (エムシーろくまんはっせん)、68000は米 べい ・モトローラ (フリースケール・セミコンダクタ を経由 けいゆ して、現 げん NXPセミコンダクターズ )が開発 かいはつ したMPU (MPUはマイクロプロセッサ を指 さ すのにモトローラが使 つか った語 かたり でマイクロプロセッシングユニットの略 りゃく )である。略 りゃく して68K (ろくはちケー)などとも。後継 こうけい MPUも含 ふく めた同 どう 一 いち アーキテクチャのシリーズを総称 そうしょう するときは、680x0 と呼称 こしょう される。モトローラ自体 じたい は周辺 しゅうへん LSI を含 ふく めてM68000ファミリと呼称 こしょう した。MC型番 かたばん は量産 りょうさん ロットで、量産 りょうさん 先行 せんこう 品 ひん はXC型番 かたばん となる。M68000ファミリは、Apple Macintosh や Apollo/Domain 、NeXTcube 、HP 9000 、Sun-3 、ソニーNEWS 、NEC EWS4800 、シャープX68000 、DCL Uステーション[2] など様々 さまざま なパソコンやワークステーションに採用 さいよう された。オペレーティング・システムとしては、Mac OS 、Domain/OS 、NeXTSTEP 、HP-UX 、SunOS 、CP/M-68K 、OS-9/68000 、NetBSD などがある。
68000 は1976年 ねん に開始 かいし された MACSS (Motorola Advanced Computer System on Silicon) プロジェクトから出 で てきたものである。従来 じゅうらい 製品 せいひん との互換 ごかん 性 せい を考慮 こうりょ するような妥協 だきょう したアーキテクチャ にはしないということが開発 かいはつ の初期 しょき に決定 けってい されていた。これは、利用 りよう 者 しゃ がその新 しん システムを一 いち から新 あら たに学 まな ぶ必要 ひつよう があることを意味 いみ しており、一種 いっしゅ の賭 か けだった。最終 さいしゅう 的 てき に、6800 系 けい の周辺 しゅうへん デバイスとのインタフェース の互換 ごかん 性 せい だけは持 も つこととなったが、6800のコードは実行 じっこう できないものとなった。しかし、その後 ご の拡張 かくちょう における互換 ごかん 性 せい には最大限 さいだいげん の注意 ちゅうい が払 はら われ、68000に乗 の り換 か えさえすれば今後 こんご が保証 ほしょう されるようにした。例 たと えば、CPU のレジスタ は32ビット 幅 はば とされたが、外部 がいぶ バス はより小 ちい さく設計 せっけい され、アドレスバスは24ビット 幅 はば であり、データバスは16ビット 幅 はば となっている。ちなみに、アドレスバスとデータバスはマルチプレクスされておらず分離 ぶんり されている[3] 。MACSSチームはPDP-11 やVAX システムのようなミニコンピュータ のプロセッサ に影響 えいきょう を受 う けた。命令 めいれい セット はハードウェア の制限 せいげん よりもソフトウェア 開発 かいはつ の観点 かんてん で設計 せっけい された。そこにはミニコンピュータ での開発 かいはつ になれた技術 ぎじゅつ 者 しゃ がプログラミングしやすいものにしようとの考 かんが えがあった。
"68000" という名称 めいしょう は6800との連続 れんぞく 性 せい を想起 そうき させるよう選択 せんたく されたが、これらの間 あいだ に設計 せっけい 上 じょう の類似 るいじ 点 てん はあまりない。集積 しゅうせき されたトランジスタ 数 かず が68,000だったからとも言 い われているが、実際 じっさい には70,000に近 ちか かった。
当時 とうじ 、8ビット から16ビットへの移行 いこう で熾烈 しれつ な競争 きょうそう が繰 く り広 ひろ げられていた。ナショナル セミコンダクター は1973年 ねん から1975年 ねん にかけてIMP-16 とPACEというプロセッサで一 いち 歩 ほ 先 さき んじたが、使用 しよう したプロセス技術 ぎじゅつ が原因 げんいん で、性能 せいのう に問題 もんだい を抱 かか えていた。次 つぎ にテキサス・インスツルメンツ がTMS9900 をリリースしたが、広 ひろ く使 つか われるには至 いた らなかった。そして1977年 ねん にインテル が8086 をリリースした。しかし、モトローラのマーケティング部門 ぶもん は68000をより完全 かんぜん な16ビット設計 せっけい にすることが重要 じゅうよう と考 かんが えた。このため、68000はハードウェアとしては複雑 ふくざつ なものとなった。複雑 ふくざつ さの指標 しひょう としてトランジスタ数 すう を見 み ると、8086は29000個 こ であり、68000は前述 ぜんじゅつ のように70000近 ちか い。
68000の単純 たんじゅん な命令 めいれい は4クロックサイクルで実行 じっこう できたが、複雑 ふくざつ な命令 めいれい の実行 じっこう にはもっと時間 じかん がかかった。8MHzの68000で、平均 へいきん 性能 せいのう は約 やく 1MIPS 弱 じゃく だった。
典型 てんけい 的 てき なプログラム で平均 へいきん をとると、68000のコードはインテルのプロセッサよりも一 いち 命令 めいれい あたりにできることが多 おお く、コードのサイズが小 ちい さくて済 す んだ。また、8086 が、8080 との互換 ごかん 性 せい を重視 じゅうし した結果 けっか 、汎用 はんよう レジスタ の不足 ふそく や実行 じっこう 速度 そくど の低下 ていか に苦 くる しんだ事 こと に対 たい して、十分 じゅうぶん な数 かず のレジスタと、当時 とうじ としては先進 せんしん 的 てき な内部 ないぶ 設計 せっけい のため、実行 じっこう 速度 そくど の面 めん では8086に対 たい して優位 ゆうい に立 た っていた。さらに68000は24ビットリニアアドレッシングによって最大 さいだい 16MB の連続 れんぞく するメモリ 空間 くうかん をサポートし、この空間 くうかん 内 ない の任意 にんい のアドレスへのダイレクトアクセスを可能 かのう としている。これは開発 かいはつ 当時 とうじ としては非常 ひじょう に広大 こうだい なメモリ空間 くうかん だった。これに対 たい し8086は従来 じゅうらい の8080との間 あいだ でソフトウェアのアセンブリ言語 げんご レベル(注 ちゅう : バイナリレベルではない)での互換 ごかん 性 せい のため、従来 じゅうらい と同 おな じ16ビットのアドレッシングを「オフセット」とし、「セグメント」と称 しょう する(詳細 しょうさい はセグメント方式 ほうしき #x86 を参照 さんしょう )16ビットレジスタの値 ね を4ビットシフトしてベースアドレスとする、20ビット空間 くうかん のノンリニアアドレッシングだった。そのため、64Kバイトを超 こ えるデータやコードを扱 あつか うにはセグメントレジスタの値 ね を適宜 てきぎ 変更 へんこう する必要 ひつよう があり、面倒 めんどう であった。32ビットアドレッシングは、x86 では1986年 ねん の80386 で初 はじ めて可能 かのう になった。
このような事情 じじょう から68000は8086と比較 ひかく して学習 がくしゅう が容易 ようい で使 つか いやすく、開発 かいはつ 者 しゃ に好 この まれた。
オリジナルのMC68000は、3.5μ みゅー m ルールのHMOS プロセスで製造 せいぞう された。技術 ぎじゅつ サンプルは1979年 ねん 末 すえ に出荷 しゅっか された。量産 りょうさん チップは1980年 ねん に出荷 しゅっか され、当初 とうしょ のクロック周波数 しゅうはすう は4, 6, 8MHz だった。10MHz版 ばん は1981年 ねん 、12.5MHz版 ばん が1982年 ねん に登場 とうじょう している。HMOSでは最高 さいこう 速 そく の16.67MHz版 ばん (12F) は1980年代 ねんだい 終盤 しゅうばん まで生産 せいさん されなかった。
メモリ量 りょう の少 すく ないシステム向 む けの低 てい 価格 かかく 版 ばん として1982年 ねん に MC68008 が登場 とうじょう した。これは MC68000 の8ビットデータバス版 ばん であり、アドレスバスも当初 とうしょ は24ビットよりも縮小 しゅくしょう され、48ピンDIP版 ばん は20ビット。後 ご の52ピンPLCCパッケージ版 ばん では22ビットである。MC68012 は後 のち に31ビットアドレスバスで登場 とうじょう した。
68HC000はモトローラと日立製作所 ひたちせいさくしょ が1985年 ねん にリリースしたオリジナルとピン配置 はいち 互換 ごかん のHCMOS版 ばん である。モトローラのものは MC68HC000、日立 ひたち のものはHD68HC000と呼 よ ばれた。68HC000では8MHzから20MHzまでのクロック周波数 しゅうはすう が可能 かのう となった。またCMOS 化 か されただけでオリジナルと機能 きのう が全 まった く変 か わらず、かつ電力 でんりょく 消費 しょうひ が低減 ていげん されている。オリジナル版 ばん は25℃ の環境 かんきょう で約 やく 1.35ワット を消費 しょうひ した(クロック周波数 しゅうはすう に依存 いぞん しない)。一方 いっぽう 、MC68HC000は8MHzで0.13ワット、20MHzで0.38ワットしか消費 しょうひ しない。なお、CMOSとは異 こと なり、HMOS回路 かいろ の電力 でんりょく 消費 しょうひ はスイッチング時 じ も何 なに もしていないときも一定 いってい である。従 したが って、クロック周波数 しゅうはすう が違 ちが っても電力 でんりょく 消費 しょうひ はほとんど変化 へんか しない。ただし、周囲 しゅうい の気温 きおん には影響 えいきょう される。
モトローラは1990年 ねん 、MC68HC001をリリースした[4] 。このチップは68HC000と仕様 しよう がほぼ共通 きょうつう であるが、データバスに16ビット幅 はば と8ビット幅 はば の2つのモードが用意 ようい されており、リセット時 じ のピンへの入力 にゅうりょく でモード選択 せんたく が行 おこな えるようになっていた。従 したが って、このチップは68008の代替 だいたい として 8ビットメモリを使 つか った安価 あんか なシステムで利用 りよう できた。
HD68000P8
HMOS版 ばん の68000はいくつかのセカンドソース 企業 きぎょう で製造 せいぞう された。日立 ひたち (HD68000)、Mostek (MK68000)、ロックウェル (R68000)、シグネティックス (SCN68000)、Thomson/SGS-Thomson (EF68000, TS68000)、東芝 とうしば (1988年 ねん 発売 はつばい 。TMP68000を含 ふく めたTLCS-68000ファミリー) などである。東芝 とうしば はCMOS版 ばん の68HC000のセカンドソースでもあった (TMP68HC000)。また、後 のち にシグネティックスがアーキテクチャ 互換 ごかん のSCC68070を製造 せいぞう した。 SCC68070は現在 げんざい フィリップス が版権 はんけん を持 も つ。
68000は数々 かずかず のマイクロコントローラ や組 く み込 こ み用 よう プロセッサのベースにもなった。1989年 ねん 、モトローラはMC68302通信 つうしん プロセッサをリリースした。これが68000CPUコアを使用 しよう した最初 さいしょ のマイクロコントローラだった。このコアはCMOS版 ばん の68HC000をベースとしているが、8ビットの6800周辺 しゅうへん チップとのインタフェース機能 きのう が省略 しょうりゃく されている。1991年 ねん 、モトローラはここからプロセッサ部分 ぶぶん だけを抜 ぬ き出 だ したMC68EC000をリリースした[5] 。
モトローラは68EC000コアを使 つか ったいくつかのマイクロコントローラを開発 かいはつ した。MC68306とMC68307は汎用 はんよう マイクロコントローラ、MC68322 "Bandit" はプリンター コントローラ、MC68356はモデム 用 もちい 、MC68328 DragonBall は携帯 けいたい 機器 きき 向 む けだった。他 た のマイクロコントローラとして683XX ファミリーは、より強力 きょうりょく なCPU32プロセッサコアを使 つか っていた。
68EC000ベースの683XXマイクロコントローラの一部 いちぶ にはスタティック版 ばん の68EC000コアが使 つか われた。この場合 ばあい クロックを遅 おそ くしたり停止 ていし させたりして電力 でんりょく 消費 しょうひ を抑 おさ えることができる。1996年 ねん 、モトローラはこのスタティックコアをプロセッサとして独立 どくりつ させ、MC68SEC000としてリリースした[6] 。
モトローラは1996年 ねん 、HMOS版 ばん MC68000とMC68008の製造 せいぞう を終了 しゅうりょう した[7] 。生産 せいさん 終了 しゅうりょう の予告 よこく は1994年 ねん 末 すえ ごろなされた。モトローラの通常 つうじょう の手順 てじゅん からいけば、1995年 ねん まで注文 ちゅうもん を受 う け付 つ け、最後 さいご の出荷 しゅっか は1996年 ねん になったということになる。その後 ご スピンオフ したフリースケール・セミコンダクタ は現在 げんざい もMC68HC000、MC68HC001、MC68EC000、MC68SEC000を製造 せいぞう 販売 はんばい し続 つづ けている。また、MC68302やMC68306マイクロコントローラやその後 ご のDragonBallファミリーも生産 せいさん し続 つづ けている。68000のアーキテクチャを受 う け継 つ いだ680x0、CPU32 、ColdFire も生産 せいさん されている。
後継 こうけい のMC68020 からは外部 がいぶ データバス、アドレスバス共 ども に32ビットの、名実 めいじつ 共 ども に32ビットのCPUとなり、コプロセッサがサポートされた。ソフトウェア 的 まと には、アドレッシングモードが拡張 かくちょう されたほか、ユーザーモードではほぼMC68000の上位 じょうい 互換 ごかん だった。一部 いちぶ 互換 ごかん 性 せい のない部分 ぶぶん は、存在 そんざい しない命令 めいれい を実行 じっこう しようとしたときに割 わ り込 こ みでトラップ処理 しょり することで、ソフト的 てき に吸収 きゅうしゅう することができた。このMC68020や、後継 こうけい のMC68030は数 すう 多 おお くのワークステーション で採用 さいよう された。
なおRISC であるPowerPC シリーズとの互換 ごかん 性 せい はなく、同 どう プロセッサを搭載 とうさい したMacintosh ではMC68LC040をエミュレーション している。
RISC 技術 ぎじゅつ を採用 さいよう したColdFire シリーズは、68000から使用 しよう 頻度 ひんど の低 ひく い命令 めいれい の多 おお くを削除 さくじょ した下位 かい 互換 ごかん の組 く み込 こ み用 よう プロセッサである。
Block-II型 がた スペースシャトルメインエンジン のコントローラーに使用 しよう されている68000。
68000は1980年代 ねんだい 前半 ぜんはん には比較的 ひかくてき 高価 こうか なシステムに使 つか われた。
UNIX システムではプロセッサのメモリアドレッシングの上限 じょうげん やMMUの制限 せいげん などにより、68000そのものは長 なが く使 つか われることはなかったが、その後継 こうけい 品種 ひんしゅ は1980年代 ねんだい を通 とお して UNIX市場 いちば で広 ひろ く使 つか われた。そのアーキテクチャがDEC のPDP-11 やVAX によく似 に ていて、C言語 げんご のコードを動作 どうさ させるのに最適 さいてき なコンピュータだったからである。
1983年 ねん から68000はパーソナルコンピュータ (PC)、特 とく にホビーパソコン で使 つか われるようになった。まず、Apple Computer のLisa とMacintosh で使 つか われ、その後 ご コモドール Amiga 、アタリ Atari ST 、シャープ X68000 、それにソニー PalmTop などで1990年代 ねんだい 中盤 ちゅうばん まで使 つか われた。一方 いっぽう 68008が使 つか われたホビーパソコンとしてはシンクレア QL ぐらいしかない。(ちなみに日立製作所 ひたちせいさくしょ 製 せい のMB-S1 には、オプションとして68008ボードが存在 そんざい した)
68000はコントローラ用 よう として最 もっと も成功 せいこう した。1981年 ねん 、Imagen社 しゃ のImprint-10などのレーザープリンター は68000をCPUとする外部 がいぶ コントローラで制御 せいぎょ されていた。最初 さいしょ のHP LaserJetは8MHzの68000を使 つか ったコントローラを内蔵 ないぞう していた(1984年 ねん )。同様 どうよう に68000を使 つか ったコントローラが多 おお くのレーザープリンターで使 つか われている。例 たと えばApple のLaserWriter などである。68000は1980年代 ねんだい を通 とお してレーザープリンターで使用 しよう され、1990年代 ねんだい に入 はい ってもローエンドのプリンターに使 つか われ続 つづ けた。
また、68000は工業 こうぎょう 制御 せいぎょ システムの分野 ぶんや でも成功 せいこう を収 おさ めた。この種 たね のシステムでは、68000やその派生 はせい CPUを中心 ちゅうしん としたプログラマブルロジックコントローラ (PLC) を利用 りよう する。このようなシステムは一般 いっぱん 市場 いちば に比較 ひかく して製品 せいひん 寿命 じゅみょう が長 なが く、20年 ねん 前 まえ のものでもそのまま使 つか い続 つづ けることが多 おお い。そのため、21世紀 せいき になっても68000ベースのコントローラが数多 かずおお く使 つか われ続 つづ けている。
コンピュータゲーム メーカーはアーケードゲーム や家庭 かてい 用 よう ゲーム機 き などに68000を使 つか った。アーケードゲームでは1983年 ねん にアタリが「Food Fight」で68000を使 つか ったのが最初 さいしょ である。日本 にっぽん での初 はつ 使用 しよう は同年 どうねん のナムコ(後 ご のバンダイナムコアミューズメント )の「 リブルラブル 」である。1980年代 ねんだい 後半 こうはん から1990年代 ねんだい 初 はじ めごろまでアーケードゲーム基板 きばん ではメインCPUとして68000がよく使 つか われた。例 たと えば、セガのセガ・システム16 、カプコン のCPS-1 とCPS-2 、SNK のネオジオ などである。アーケードゲームでは68000を2個 こ 使 つか ったり、場合 ばあい によっては3個 こ 使 つか う場合 ばあい もあった[8] 。1990年代 ねんだい 、アーケードゲームのメインCPUはもっと高性能 こうせいのう なプロセッサが使 つか われるようになっていったが、68000はサウンドコントローラなどとして使 つか われ続 つづ けた。
家庭 かてい 用 よう ゲーム機 き で68000がメインCPUとして使 つか われた例 れい としては、メガドライブ 、メガCD [8] 、家庭 かてい 用 よう のネオジオ がある。その後 ご のゲーム機 き でも、セガサターン は68EC000をサウンドコントローラとして使用 しよう し、Atari Jaguar でもグラフィックスやサウンドチップの制御 せいぎょ に使 つか われた。
また、クリエイティブテクノロジー のWave BLASTERやENSONIQ 社 しゃ のENSONIQ SoundScape DBをはじめとするPC向 む けサウンドカード用 よう MIDIシンセサイザー ・ドーターボードへ、制御 せいぎょ 用 よう として68000が搭載 とうさい されるケースが1990年代 ねんだい 中盤 ちゅうばん には多数 たすう 見 み られた。
技術 ぎじゅつ の進歩 しんぽ によって68000がスタンドアローンのコンピュータ市場 いちば では使 つか われなくなると、一般 いっぱん 消費 しょうひ 者 しゃ 向 む けの各種 かくしゅ 機器 きき の組 く み込 こ み用途 ようと に使 つか われるようになった。テキサス・インスツルメンツ は68000をハイエンドのグラフ表示 ひょうじ 電卓 でんたく 、TI-89 、TI-92 などで使 つか っている。これらの初期 しょき のバージョンではスタティック版 ばん 68EC000コアを使 つか った特殊 とくしゅ なマイクロコントローラだった。後 ご のバージョンでは標準 ひょうじゅん のMC68SEC000プロセッサが使 つか われている。
CPU32 とColdFire プロセッサは自動車 じどうしゃ のエンジン制御 せいぎょ に数 すう 百 ひゃく 万 まん 個 こ 単位 たんい で使 つか われた。 また、低 てい 価格 かかく で信頼 しんらい 性 せい が高 たか いことから医療 いりょう 機器 きき 分野 ぶんや でも多 おお く使用 しよう された。 低 てい 電圧 でんあつ 版 ばん のDragonBall は、Palm Pilot シリーズやHandspring Visor などのPDA で使 つか われた。後 のち にこの市場 いちば はARM プロセッサコアに奪 うば われた。高速 こうそく シリアルポート を内蔵 ないぞう した派生 はせい 品 ひん (68302と68360)は、シスコシステムズ 、3Com 、Ascend、Marconiなどが通信 つうしん 機器 きき に使用 しよう した。
M68000ファミリ 開発 かいはつ 者 しゃ
モトローラ ビット数 すう
32ビット デザイン
CISC エンコード
可変 かへん 多倍 たばい 長 ちょう エンディアン
Big 拡張 かくちょう
F系列 けいれつ 命令 めいれい オープン
プロプライエタリ レジスタ 汎用 はんよう
D0-D7=32、D0-D8 [要 よう 出典 しゅってん ] =32
汎用 はんよう (データ8本 ほん 、 アドレス8本 ほん )、 ステータスレジスタ
32ビットのデータレジスタを8本 ほん 、また、32ビットのアドレスレジスタを8本 ほん 持 も つ、CISC アーキテクチャのマイクロプロセッサである。8ビットのMC6800 シリーズとはアセンブラソースレベルでもバイナリレベルでも互換 ごかん 性 せい を持 も たない。
MC68000は、DEC のVAX を参考 さんこう にしたと言 い われる、直交 ちょっこう 性 せい の高 たか い命令 めいれい 体系 たいけい をもつ。
外部 がいぶ バス幅 はば はアドレスバス24ビット、データバス16ビットで、発表 はっぴょう 当初 とうしょ のクロック周波数 しゅうはすう は4 - 16MHz。約 やく 68,000個 こ のトランジスタ からなるN-MOS集積 しゅうせき 回路 かいろ であり、当初 とうしょ は巨大 きょだい な64ピンDIPパッケージ 、後 のち にPGAパッケージ でも供給 きょうきゅう された。
データーバスはダイナミックバスサイジングを採用 さいよう しており8ビットまたは16ビットのバスにアクセス可能 かのう である。これはM68000ファミリ周辺 しゅうへん チップだけではなく、M6800ファミリなど廉価 れんか な8ビット周辺 しゅうへん チップとの接続 せつぞく を考慮 こうりょ したものである。
MC68000自体 じたい は16ビットCPUとして取 と り扱 あつか われたが、内部 ないぶ アーキテクチャは32ビットプロセッサとして設計 せっけい されており、レジスタ とアドレスのデータ長 ちょう は等 ひと しく32ビットとなっている。
32ビットのアドレス空間 くうかん は4GB に相当 そうとう するが、当時 とうじ の技術 ぎじゅつ では、4GB分 ぶん のアドレス空間 くうかん をフルに使 つか う可能 かのう 性 せい は無 な いとされ、外部 がいぶ のアドレスバスとのデータ入出力 にゅうしゅつりょく では上位 じょうい 8ビットをマスクして下位 かい 24ビットを使用 しよう し、最大 さいだい 16MB分 ぶん のメモリ領域 りょういき を管理 かんり する実装 じっそう とされていた。
このように最初 さいしょ に理想 りそう とする32ビットアーキテクチャを決 き めておき、その時々 ときどき で利用 りよう できる技術 ぎじゅつ で実現 じつげん 可能 かのう な機能 きのう から順 じゅん に実装 じっそう するという方式 ほうしき をとっていたため、無理 むり なく上位 じょうい 互換 ごかん 性 せい が確保 かくほ できた。
また、ライバルであるx86 系 けい プロセッサではメモリ空間 くうかん とは別 べつ にI/O空間 くうかん が設 もう けられ、専用 せんよう のI/O命令 めいれい が用意 ようい されていたが、MC68000シリーズではメモリ空間 くうかん 内 ない にI/O用 よう 領域 りょういき を割 わ り当 あ てるメモリマップドI/O 方式 ほうしき を採用 さいよう しているのも特徴 とくちょう の一 ひと つである。
ファンクションコードと参照 さんしょう の分類 ぶんるい [9]
FC2
FC1
FC0
参照 さんしょう の分類 ぶんるい
0
0
0
未 み 定義 ていぎ
0
0
1
ユーザ・データ
0
1
0
ユーザ・プログラム
0
1
1
未 み 定義 ていぎ
1
0
0
未 み 定義 ていぎ
1
0
1
スーパーバイザ・データ
1
1
0
スーパーバイザ・プログラム
1
1
1
割 わ り込 こ み応答 おうとう
MC68000ユーザズマニュアル[9] によると、MC68000シリーズのアドレス空間 くうかん はFC0 - FC2ピンのデコードによって、スーパーバイザ・プログラムアドレス空間 くうかん 、ユーザ・プログラムアドレス空間 くうかん 、スーパーバイザ・データアドレス空間 くうかん 、ユーザ・データアドレス空間 くうかん に分離 ぶんり された4つの32bitアドレス空間 くうかん がある。しかし実際 じっさい のところ、それぞれのアドレス空間 くうかん を通信 つうしん する機能 きのう が不十分 ふじゅうぶん であったため、ユーザはハードウェア実装 じっそう においてはFCピンのデコードを行 おこな わずに1つの32ビットアドレス空間 くうかん とするほかはなかった。
MC68000シリーズではプログラムアドレス空間 くうかん とデータアドレス空間 くうかん を分離 ぶんり するハーバード・アーキテクチャ を採用 さいよう していた[要 よう 出典 しゅってん ] 。しかし、アドレス空間 くうかん の分離 ぶんり におけるメモリ管理 かんり の複雑 ふくざつ 化 か 、またハーバード・アーキテクチャを採用 さいよう したオペレーティングシステム (OS) があまり供給 きょうきゅう されなかったことから、多 おお くの実装 じっそう ではプログラムアドレス空間 くうかん とデータアドレス空間 くうかん を分離 ぶんり しない設計 せっけい が採用 さいよう される場合 ばあい が殆 ほとん どだった。
スタック がOS用 よう とアプリケーション 用 よう に二 ふた つあり、特権 とっけん モード(スーパバイザモード)と、ユーザモードの2つの特権 とっけん レベル を持 も つなど、当初 とうしょ よりUNIXに代表 だいひょう される高度 こうど なメモリ管理 かんり 機能 きのう やマルチタスク機能 きのう を備 そな えたOSを搭載 とうさい することを前提 ぜんてい に設計 せっけい されている。
ユーザーモードで動作 どうさ するプログラムの互換 ごかん 性 せい はMC68000からMC68060 までバイナリレベルでほぼ完全 かんぜん に保 たも たれているが、スーパバイザモードでの動作 どうさ についてはこのモードで動作 どうさ するOSが差異 さい を吸収 きゅうしゅう することを前提 ぜんてい として、世代 せだい ごとに改良 かいりょう や変更 へんこう が加 くわ えられている。
このため特 とく にスタックポインタ の実装 じっそう とその挙動 きょどう には世代 せだい 間 あいだ での相違 そうい が多 おお く、アプリケーションがハードウェアリソースへ直接 ちょくせつ アクセスするためにスーパーバイザモードをアプリケーションに解放 かいほう した原始 げんし 的 てき な実装 じっそう のOSではMC68000用 よう に書 か かれたこの種 たね の動作 どうさ を行 おこな うアプリケーションプログラムが後継 こうけい 各 かく プロセッサで正常 せいじょう 動作 どうさ しないケースが存在 そんざい する。
MC68000は16ビットのALU を持 も つ一方 いっぽう で、アドレスは常 つね に32ビットで扱 あつか われ、フラットな32ビットアドレス空間 くうかん を持 も つ。その実効 じっこう アドレスの演算 えんざん の為 ため に、専用 せんよう の16ビット幅 はば のALUを2個 こ 持 も つ。
8086 は20ビットのアドレス空間 くうかん を持 も つが、リニアにアクセスできるのはセグメントと称 しょう された(セグメント方式 ほうしき #x86 )16ビットの空間 くうかん だけであった。これは特 とく にグラフィックの扱 あつか いなどを面倒 めんどう にした。[注 ちゅう 1]
MC68000では実効 じっこう アドレス演算 えんざん の為 ため に専用 せんよう の2つの16ビットのALUを接続 せつぞく して用 もち い、3つめのALUが16ビットの演算 えんざん を行 おこな った。
例 たと えば、32ビットのアドレスレジスタのポストインクリメント(そのアドレスにアクセスした後 のち 、アドレスレジスタの内容 ないよう をインクリメント (増加 ぞうか )するアドレッシングモード)「ADD.W (An)+,Dn」はポストインクリメントをしない場合 ばあい に較 くら べても速度 そくど 低下 ていか することがない。
したがって、16ビットCPUとして始 はじ まってはいるが、68000の命令 めいれい セットは32ビットアーキテクチャになっている。後継 こうけい のMC68020 は32ビットのALUと32ビットのデータバスを持 も っていたが、68000用 よう のソフトウェアをほぼ変更 へんこう することなしに、データバス幅 はば を32ビットに拡張 かくちょう することで速度 そくど 向上 こうじょう を果 は たした。
しかし、ソフトウェアの互換 ごかん 性 せい を完全 かんぜん に保 たも てたわけではない。68000では(同様 どうよう のテクニックは同 おな じく32ビットマシンだがアドレスが24ビットだったSystem/360 で行 おこな われていたが)使 つか われない(無視 むし される)上位 じょうい 8ビットに何 なん らかの情報 じょうほう を持 も たせる、というテクニックが一部 いちぶ のシステムプログラムなどで使 つか われた。例 たと えば、LISP などでポインタ の指 さ すオブジェクトの種類 しゅるい を区別 くべつ する情報 じょうほう をそこに格納 かくのう したり、ガベージコレクション 用 よう のフラグを格納 かくのう した。そのようなコードを、後継 こうけい のより広 ひろ いアドレスバスを持 も つマシンで実行 じっこう するとバスエラー が発生 はっせい した(やはりSystem/360の後継 こうけい 機 き でも同様 どうよう の問題 もんだい が起 お きており、System/370 -XAではMSBを互換 ごかん モードのために残 のこ した31ビット化 か という苦肉 くにく の策 さく がとられている)[12] 。
Macintoshでは8MB以上 いじょう のRAMを搭載 とうさい する際 さい にソフトウェアのアップグレードが必要 ひつよう だった。
多 おお くのアプリケーションは将来 しょうらい を見越 みこ して書 か かれており、問題 もんだい は発生 はっせい しなかった。
内部 ないぶ レジスタのビット構成 こうせい 図 ず
8本 ほん の汎用 はんよう データレジスタ (D0 - D7)と8本 ほん のアドレスレジスタ (A0 - A7) を持 も つ。
アドレスレジスタ (A7) はスタックポインタ (SP) であり、スタック上位 じょうい のオブジェクトをアクセスする事 こと が容易 ようい となった。
68000ファミリでの多 た バイトデータのメモリ上 じょう での配置 はいち はビッグ・エンディアン である。
68000の比較 ひかく 命令 めいれい 、算術 さんじゅつ 演算 えんざん 命令 めいれい 、論理 ろんり 演算 えんざん 命令 めいれい は実行 じっこう 結果 けっか をステータスレジスタに反映 はんえい させ、後 あと で条件 じょうけん ジャンプ命令 めいれい でそれを使 つか えるようになっている。
ステータスレジスタのビットには、"Z"ero(ゼロ)、"C"arry(キャリー)、o"V"erflow(オーバーフロー)、eXtend、そして"N"egative(ネガティブ)がある。
eXtendビットはCarryビットと分離 ぶんり されている。
eXtendとCarryは、シフト/算術 さんじゅつ 演算 えんざん /論理 ろんり 演算 えんざん 命令 めいれい の桁 けた 上 あ がり結果 けっか を保持 ほじ するが、eXtendビットはより多 た バイトの演算 えんざん を実現 じつげん するために使 つか い、Carryビットは処理 しょり の流 なが れを制御 せいぎょ するのに用 もち いる。
68000の設計 せっけい 者 しゃ はアセンブリ言語 げんご が直交 ちょっこう 性 せい を持 も つよう注意 ちゅうい を払 はら った。つまり、命令 めいれい は操作 そうさ とアドレッシングモード に分 わ けられ、多 おお くの場合 ばあい は任意 にんい の操作 そうさ に任意 にんい のアドレッシングモードを使 つか えるようになっている。
ビットレベルで見 み ると、命令 めいれい のオペコード の値 ね は必 かなら ずしも現状 げんじょう の通 とお りである必然 ひつぜん 性 せい はない。このことは、ある意味 いみ でよい妥協 だきょう 点 てん だった。真 しん の直交 ちょっこう 性 せい のあるマシンと同等 どうとう の利便 りべん 性 せい を得 え ると同時 どうじ にCPU設計 せっけい 者 しゃ はオペコード表 ひょう を自由 じゆう に埋 う めることができた。
最小 さいしょう 命令 めいれい サイズは当時 とうじ としては大 おお きい16ビットである。さらに多 おお くの命令 めいれい やアドレッシングモードは追加 ついか のワードでアドレスやアドレスモードビット等 とう を表現 ひょうげん する。
多 おお くの設計 せっけい 者 しゃ はMC68000アーキテクチャはコストに見合 みあ うコンパクトなコードを実現 じつげん していると信 しん じている(特 とく にコンパイラ がコードを生成 せいせい した場合 ばあい )。多 おお くの組 く み込 こ み制御 せいぎょ システムの設計 せっけい 者 しゃ はメモリのコストに敏感 びんかん であり、コードがコンパクトであるという信念 しんねん がMC68000ならびに後継 こうけい CPUを採用 さいよう する動機 どうき に繋 つな がり、アーキテクチャの寿命 じゅみょう を延 の ばした。そして同様 どうよう にコンパクトなARMアーキテクチャ のThumb命令 めいれい セット が登場 とうじょう するまで、多 おお くの68000命令 めいれい セット(のCPU)の採用 さいよう をもたらし続 つづ けた。
このCPUと他 た の全 ぜん ファミリは二 に 段階 だんかい の特権 とっけん レベルを実装 じっそう している。ユーザモード では割 わ り込 こ みレベル制御 せいぎょ 以外 いがい はアクセス可能 かのう である。
スーパバイザ特権 とっけん では全 すべ てにアクセスできる。割 わ り込 こ みが発生 はっせい するとスーパバイザモードに移行 いこう する。
スーパバイザビットはステータスレジスタに格納 かくのう され、ユーザプログラムからも見 み える。
68000は8つの割 わ り込 こ み レベルを持 も つ。レベル0から7まで厳密 げんみつ に優先 ゆうせん 順位 じゅんい が決 き まっている。
番号 ばんごう が大 おお きい割 わ り込 こ みが番号 ばんごう の小 ちい さい割 わ り込 こ みに対 たい して割 わ り込 こ むことが出来 でき る。ステータスレジスタには現在 げんざい の割 わ り込 こ みレベルを特権 とっけん 命令 めいれい でセットすることができ、これにより低 ひく いレベルの割 わ り込 こ みをブロックする。レベル7はマスクすることができないため、NMI(英 えい : Non-Maskable Interrupt )とも言 い う。レベル0は他 た の全 すべ てのレベルが割 わ り込 こ むことができる。レベル0は割 わ り込 こ み要求 ようきゅう がないことを示 しめ す。レベルはステータスレジスタに格納 かくのう され、ユーザレベルプログラムからも見 み ることが出来 でき る。
ハードウェア割 わ り込 こ みは3本 ほん の信号 しんごう 線 せん によってCPUに伝 つた えられ、この3本 ほん の値 ね がペンディング中 ちゅう の最 もっと も高 たか い割 わ り込 こ みレベルにエンコードされる。別途 べっと 割 わ り込 こ みをエンコードするための割 わ り込 こ みコントローラが必要 ひつよう である。ただし、割 わ り込 こ み発生 はっせい 源 げん が三 みっ つ以下 いか のシステムでは、各 かく 割 わ り込 こ みを三 さん 本 ほん の信号 しんごう 線 せん にそれぞれつなぐことで割 わ り込 こ みコントローラを省略 しょうりゃく できる。ただし、割 わ り込 こ みレベルと割 わ り込 こ みの対応 たいおう が単純 たんじゅん ではないためソフトウェアでの処理 しょり が複雑 ふくざつ になる。割 わ り込 こ みコントローラは汎用 はんよう ロジックIC 74148のような単純 たんじゅん なエンコーダでもよいし、VLSIの周辺 しゅうへん チップでもよい。例 たと えばMC68901は、割 わ り込 こ み制御 せいぎょ だけでなくUART (シリアル)、タイマー、パラレルI/Oを備 そな えている。
例外 れいがい テーブル(割 わ り込 こ みベクターテーブル)はアドレス0番地 ばんち から1023番地 ばんち まで固定 こてい で置 お かれ、256個 こ の32ビットアドレスを表 あらわ す。最初 さいしょ のベクターは初期 しょき スタックアドレスであり、二 に 番目 ばんめ のベクターは初期 しょき コードアドレスである。3番 ばん から15番 ばん のベクターは各種 かくしゅ エラー処理 しょり ルーチンのアドレスである。エラーの種類 しゅるい としてはバスエラー、アドレスエラー、不正 ふせい 命令 めいれい 、ゼロによる割 わ り算 ざん 、CHK/CHK2命令 めいれい ベクター、特権 とっけん 違反 いはん 、そして予約 よやく されたベクター(後 のち にline 1010エミュレータ、line 1111エミュレータ、ハードウェアブレークポイントに割 わ り当 あ てられた)がある。ベクター24から実際 じっさい の割 わ り込 こ みに対応 たいおう する。ハードウェアに対応 たいおう しない擬似 ぎじ 割 わ り込 こ み、レベル1から7のベクター、15個 こ のTRAPベクター、いくつかの予約 よやく されたベクター、ユーザ定義 ていぎ ベクターの順番 じゅんばん で並 なら んでいる。
リセットされたとき、少 すく なくともスタートコードアドレスのベクターには正 ただ しいアドレスが入 はい っている必要 ひつよう がある。多 おお くのシステムは不揮発 ふきはつ メモリ(つまりROM )を持 も っていて、0番地 ばんち に配置 はいち し、そのROMにベクターテーブルとブートストラップ コードが入 はい っている。しかし、汎用 はんよう システムでは動作 どうさ 中 ちゅう にベクターを書 か き換 か えられるのが望 のぞ ましい。これを実現 じつげん するため、ROM上 じょう のベクターがRAM 上 うえ のジャンプテーブルを指 さ すようにするか、バンク切 き り替 か えで動作 どうさ 中 ちゅう に0番地 ばんち 付近 ふきん の配置 はいち をROMからRAM変更 へんこう する。
68000はPopekとGoldbergの仮想 かそう 化 か 要件 ようけん (英 えい : virtualization requirements for full processor virtualization )を満 み たしていない。というのは、"MOVE from SR" 命令 めいれい が特権 とっけん 命令 めいれい でないため、ユーザモードから特権 とっけん ステータスが見 み えてしまうからである。この問題 もんだい は後述 こうじゅつ する仮想 かそう 記憶 きおく サポートの問題 もんだい とともに後 のち のMC68010 で改善 かいぜん された。"MOVE from SR" 命令 めいれい は特権 とっけん 命令 めいれい となり、ユーザモードのソフトウェア用 よう に "MOVE from CCR" 命令 めいれい を追加 ついか した。ユーザモードで "MOVE from SR" 命令 めいれい を使 つか った場合 ばあい 、トラップが発生 はっせい してOS側 がわ でエミュレートすることも可能 かのう である。
MC68000 でのデマンドページングの実現 じつげん [ 編集 へんしゅう ]
680x0系 けい の最初 さいしょ のプロセッサであるMC68000の仕様 しよう は、外部 がいぶ 支援 しえん なしにはデマンドページング の実現 じつげん が困難 こんなん なものであった。
デマンドページングでは、実行 じっこう 中 ちゅう の命令 めいれい のメモリアクセスがページフォールト を起 お こしたら、(それが正常 せいじょう なアクセスであれば)その実行 じっこう 中 ちゅう の命令 めいれい の実行 じっこう を一旦 いったん フリーズし、外部 がいぶ 記憶 きおく と主 しゅ 記憶 きおく の間 あいだ でスワッピング をおこなってから、実行 じっこう 中 ちゅう だった命令 めいれい の実行 じっこう から再開 さいかい する、という処理 しょり が必要 ひつよう である。
しかし、MC68000がページフォールトの際 さい に保存 ほぞん する内部 ないぶ 情報 じょうほう は、「実行 じっこう 中 ちゅう だった命令 めいれい の実行 じっこう からの再開 さいかい 」ができないものであった。このため、MC68000の通常 つうじょう の割 わ り込 こ み の処理 しょり に従 したが ってしまうと、デマンドページングは実現 じつげん できない。これを、単 たん にそもそもサポートするつもりが無 な かったものとみるむきもあれば、「仕様 しよう のバグ」とみるむきもあれば、後述 こうじゅつ のようにして実現 じつげん が可能 かのう であるし、MMUも計画 けいかく 中 ちゅう に過 す ぎなかったのだから「将来 しょうらい 仮想 かそう 記憶 きおく をシリコン上 じょう に実装 じっそう することを正当 せいとう 化 か する需要 じゅよう が発生 はっせい するまでの暫定 ざんてい 的 てき な実装 じっそう 仕様 しよう 」だったと考 かんが えるほうが自然 しぜん である、とみるむきもある。
そのようなMC68000で仮想 かそう 記憶 きおく を実装 じっそう するためには、MC68000には次 つぎ のような機能 きのう があった。バスアクセス中 ちゅう にあるピンをアサートすることにより、命令 めいれい の実行 じっこう をそこで一旦 いったん フリーズし、スリーステートバスをハイインピーダンスにして解放 かいほう させたままいつまででも止 と めておいて、そののち、元 もと の命令 めいれい の中断 ちゅうだん したバスアクセスから再 さい 実行 じっこう (re-run )する機能 きのう である。これによるバスサイクルをリランサイクル(rerun cycle )という。
これを利用 りよう して、メインのCPUであるMC68000を止 と めた状態 じょうたい で、別 べつ のプロセッサでページ処理 しょり をおこなうようにして、デマンドページングを実装 じっそう できる。必然 ひつぜん 性 せい はないが、同 おな じバスに接続 せつぞく する容易 ようい 性 せい から、この補助 ほじょ プロセッサにもMC68000が使 つか われることが多 おお い。
以上 いじょう のようなMC68000のデュアル・プロセッサによる仮想 かそう 記憶 きおく を実現 じつげん したコンピュータとしてはアポロコンピュータ のDomainが有名 ゆうめい である。同社 どうしゃ の実装 じっそう ではページスワップを担 にな うスレーブ・プロセッサは、通常 つうじょう 時 じ はグラフィックス・プロセッサとして動作 どうさ し、必要 ひつよう に応 おう じてマスターのページ・スワップ要求 ようきゅう に応 おう じた。
この問題 もんだい は後 ご のMC68010で解決 かいけつ された。MC68010では、バスエラーとアドレスエラーが発生 はっせい した場合 ばあい 、エラーを発生 はっせい させた元 もと の命令 めいれい を指 さ すプログラムカウンタのアドレスをスーパバイザスタックに保存 ほぞん することにより、元 もと の処理 しょり に復帰 ふっき できるようになった。
命令 めいれい セットの詳細 しょうさい [ 編集 へんしゅう ]
基本 きほん 的 てき なアドレッシングモードは以下 いか の通 とお りである。
レジスタ直接 ちょくせつ
データレジスタ、例 れい "D0"
アドレスレジスタ、例 れい "A6"
レジスタ間接 かんせつ
単純 たんじゅん アドレス、例 れい (A0)
ポストインクリメント付 づけ アドレス、例 れい (A0)+
プレデクリメント付 づけ アドレス -(A0)
16ビット符号 ふごう 付 づけ オフセット、例 れい 16(A0)
実際 じっさい のインクリメントやデクリメントのサイズはオペランドの指定 してい によって変 か わる。バイトリード命令 めいれい ではインクリメントすると、アドレスに1を加算 かさん し、ワード(16ビット)では2を、ロング(32ビット)では4を加算 かさん する。
インデックス付 づけ レジスタ間接 かんせつ
8ビット符号 ふごう 付 づけ オフセット、例 れい 8(A0, D0) または 8(A0, A1)
プログラムカウンタ相対 そうたい
16ビット符号 ふごう 付 づけ オフセット、例 れい 16(PC). このモードは非常 ひじょう に便利 べんり
インデックス付 づけ 8ビット符号 ふごう 付 づけ オフセット、例 れい 8(PC, D2)
絶対 ぜったい アドレス指定 してい
"$4000"のような数値 すうち や、アセンブラが翻訳 ほんやく するシンボリックな名前 なまえ 。
68000のアセンブリ言語 げんご では16進数 しんすう を表 あらわ すのに "0x" ではなく "$" を使 つか うものが多 おお い。
イミディエート値 ち
命令 めいれい 内 ない に埋 う め込 こ み、例 れい "#400".
追加 ついか :ステータスレジスタへのアクセス。後 ご のモデルでは他 た の特殊 とくしゅ レジスタも同様 どうよう 。
多 おお くの命令 めいれい にはドットに続 つづ くサフィックスが付 つ き、処理 しょり 単位 たんい を8ビット (".b")、 16ビット (".w")、32ビット (".l") で指定 してい する。
多 おお くの命令 めいれい は入力 にゅうりょく (ソース)と出力 しゅつりょく (デスティネーション)を持 も ち、デスティネーションに変更 へんこう を加 くわ える。主 おも な命令 めいれい は以下 いか の通 とお りである。
算術 さんじゅつ 演算 えんざん :ADD
, SUB
, MULU
(符号 ふごう なし掛 か け算 ざん ), MULS
(符号 ふごう あり掛 か け算 ざん ), DIVU
, DIVS
, NEG
(否定 ひてい 加算 かさん ), CMP
(減算 げんざん の一種 いっしゅ だが、ステータスビットにのみ結果 けっか を反映 はんえい し、実際 じっさい の減算 げんざん 結果 けっか は格納 かくのう しない)
二 に 進化 しんか 十 じゅう 進 しん 演算 えんざん :ABCD
, SBCD
論理 ろんり 演算 えんざん :EOR
(排他 はいた 的 てき 論理 ろんり 和 わ ), AND
, NOT
(論理 ろんり 否定 ひてい )
シフト演算 えんざん :
論理 ろんり シフト、つまり右 みぎ シフトで最 さい 上位 じょうい ビットをゼロにする: LSL
, LSR
算術 さんじゅつ シフト、つまり最 さい 上位 じょうい ビットを符号 ふごう 拡張 かくちょう する: ASR
, ASL
ローテート、eXtendを使 つか う命令 めいれい と使 つか わない命令 めいれい : ROXL
, ROXR
, ROL
, ROR
メモリ内 ない のビット操作 そうさ :BSET(1にする), BCLR(0にする), and BTST(SRのZeroビットをセット)
マルチプロセッサ 制御 せいぎょ :TAS
(テストアンドセット、1命令 めいれい でビットテストのためのリードとその結果 けっか のライトの2つのメモリアクセスを割 わ り込 こ みなどで中断 ちゅうだん されない不可分 ふかぶん なバスサイクル で行 おこな うことによりメモリ共有 きょうゆう 型 がた マルチプロセッサでのセマフォ を実現 じつげん )
フロー制御 せいぎょ :JMP
(ジャンプ), JSR
(サブルーチン コール), BSR
(相対 そうたい アドレスでのサブルーチンコール), RTS
(サブルーチンからの復帰 ふっき ), RTE
(例外 れいがい や割 わ り込 こ みからの復帰 ふっき ), TRAP
(ソフトウェア割 わ り込 こ みに似 に たソフトウェア例外 れいがい を発生 はっせい ), CHK
(条件 じょうけん 付 つ きソフトウェア割 わ り込 こ み)
分岐 ぶんき :Bcc
("cc"は分岐 ぶんき 条件 じょうけん として16種類 しゅるい のステータスレジスタのチェック方法 ほうほう を記述 きじゅつ :equal(等 ひと しい), greater than(大 おお きい), less-than(小 ちい さい), carry, これらの組 く み合 あ わせや論理 ろんり 否定 ひてい )
デクリメント付 つ き分岐 ぶんき :DBcc
("cc"は分岐 ぶんき 命令 めいれい と同 おな じ意味 いみ )指定 してい したデータレジスタをデクリメントした後 のち 、指定 してい された条件 じょうけん が真 しん で、デクリメント結果 けっか が-1でないなら分岐 ぶんき する。0ではなく-1でチェックするのは、ループを記述 きじゅつ する場合 ばあい にコードを単純 たんじゅん 化 か するためである。ループカウンタとして最初 さいしょ から0が指定 してい された場合 ばあい 、デクリメントされて-1になるので分岐 ぶんき しない。したがって0かどうかをループに入 はい る前 まえ にチェックする必要 ひつよう がない。
MC68020RC12E
MC68030RC50C
MC68000 - サン・マイクロシステムズ の初代 しょだい UNIXワークステーションであるSun-1や、初期 しょき のMacintosh などに採用 さいよう された。日本 にっぽん ではシャープ X68000 シリーズ、SEGA メガドライブ 、SNK ネオジオ などに採用 さいよう された。
MC68EC000 - 8ビットデータバスとして使用 しよう できるローコスト版 ばん 。各種 かくしゅ 機器 きき 制御 せいぎょ 用 よう の組 く み込 こ みMPUとして使用 しよう されたほか、セガサターン ではサウンド制御 せいぎょ 用 よう MPUとして搭載 とうさい された。
MC68008 - データバスを8ビット、アドレスバスを20ビットに縮小 しゅくしょう 、安価 あんか な48ピンパッケージに収 おさ めた縮小 しゅくしょう 版 ばん の68000MPUである。
MC68010 - MC68000に仮想 かそう 記憶 きおく および仮想 かそう 機械 きかい を実現 じつげん するための機構 きこう を追加 ついか した。3ワード分 ぶん のキャッシュを持 も ち、MC68000に較 くら べ、DBcc命令 めいれい 等 とう を高速 こうそく に実行 じっこう 可能 かのう だった。サン・マイクロシステムズ のUNIXワークステーションであるSun-2 や日立 ひたち 2050(初代 しょだい )に搭載 とうさい された。
MC68012 - 外部 がいぶ アドレスバス31ビット。
MC68020 - 外部 がいぶ アドレスバス32ビット、データバス32ビットと、名実 めいじつ ともに32ビット化 か 。命令 めいれい キャッシュ256バイトを追加 ついか 。コプロセッサ の接続 せつぞく も可能 かのう になった。 Sun-3 、Macintosh II、Amiga 1200、日立 ひたち 2050/32などに搭載 とうさい 。
MC68030 - MC68851相当 そうとう のMMU 内蔵 ないぞう 、命令 めいれい キャッシュのほかにデータキャッシュ256バイトを追加 ついか 。Sun3/80、ソニー NEWS、Next Cube(初代 しょだい )、Macintosh IIx以降 いこう 、Amiga 3000、日立 ひたち 2050/32Eなどに搭載 とうさい 。
MC68040 - MMU、MC68882相当 そうとう のFPU 内蔵 ないぞう (一部 いちぶ 命令 めいれい はソフトウェアエミュレート)、各 かく キャッシュを4Kバイトに増加 ぞうか 、命令 めいれい の高速 こうそく 化 か 、マルチプロセッサのサポート。NeXTcube 、Macintosh Quadra ・Centris、Amiga 4000などに搭載 とうさい 。なお、68040はXC68040 (ソフトで言 い うベータ版 ばん )チップがそのまま量産 りょうさん されており、いわゆるエラッタ が解消 かいしょう したMC68040はほとんど流通 りゅうつう していない。
MC68LC040 - FPU無 な し。Macintosh LC475・575等 とう 、Appleの廉価 れんか モデルなどに搭載 とうさい 。
MC68EC040 - FPU無 な し。MMU無 な し。
MC68040V - 低 てい 電圧 でんあつ 動作 どうさ (3.3V) 版 ばん 。
MC68060 - 68040とピン互換 ごかん 、内部 ないぶ 2逓倍、ワイヤードロジック 化 か に伴 ともな い、一部 いちぶ の命令 めいれい が削除 さくじょ された。しかしサン・マイクロシステムズはSPARC 、MacintoshはPowerPC、他 た はMIPS などに移行 いこう したためワークステーション・PCではほとんど採用 さいよう されず。AmigaやX680x0ではアクセラレータとして使 つか われた。
SCC68070 (英語 えいご 版 ばん ) - シグネティックス (英語 えいご 版 ばん ) が、CD-i のために製造 せいぞう した組 く み込 こ み用 よう の互換 ごかん MPU。
MC68MH360FE33E
MC68MH360FE - MC68360(CPU32+ベース)+SCC (Serial Communications controllers)
HD68450Y8
MC68120 - IPC (Intelligent Peripheral Controller with mask ROM)
MC68121 - IPC (Intelligent Peripheral Controller w/o mask ROM)
MC68122 - CTC(クラスタ ターミナル コントローラ)[3]
MC68150 - DBS (Dynamic Bus Sizer)
MC68153 - Bus Interrupter
MC68160 - EEST (Ethernet Driver)
MC68184 - BIC (Broadband Interface Controller)
MC68185 - Twisted Pair Modem
MC68194 - Carrier band Modem for IEEE 802.4
MC68195 - Local Talk Adapter
MC68230 - PI/T (Parallel Interface & Timer) パラレルインターフェイス&タイマ
MC68338 - MAC (Media Access Controller)
MC68339 - FSI (FDDI System Interface)
MC68341 - 浮動 ふどう 小数点 しょうすうてん ROM[3]
MC68356 - SPCE (Signal Processing Communication Engine)
MC68360 - QUICC ( Quad Integrated Communication Controller)
SCC68430 - DMAC (1ch Direct Memory Access Controller)
MC68440 - DMAC (2ch Direct Memory Access Controller)
HD68450 - DMAC (4ch Direct Memory Access Controller)
MC68451 - MMU (Memory Management Unit)[3]
MC68452 - Bus Arbiter
MC68453 - Bubble Memory Controller バブルメモリコントローラ[3]
HD63463 - HDC (Hard Disk Controller) ハードディスクコントローラ
HD63484 - ACRTC (Advanced Cathode Ray Tube Controller)
MC68488 - GPIBA (GP-IB Adapter)
R68C552 - DACIA (Dual Asynchronous Communication Interface Adapter)
R68560 - MPCC ( Multi Protocol Communication Controller)
HD68562 - DUSCC (Dual Universal Serial Communication Controller)
MK68564 - UART
MC68605 - X.25 Protocol Controller
MC68606 - X.25 Multi-Link LAPD Protocol
SCN68652 - MPCC (Multi-protocol Communication Controller)
MC68661 - UART
MC68681 - DUART (Dual Universal Asynchronous Receiver/Transmitter)
SCC68692 - 68681 Compatible CMOS
R68802 - LNET (Local Network Controller)
MC68824 - TBC (Token Bus Controller)
MC68834 - Stream Cipher Chip
MC68836 - FCG (FDDI Clock Generator)
MC68837 - ELM (Elasticity Buffer and Link management)
MC68838 - MAC (Media Access Controller)
MC68839 - FSI (FDDI System Interface)
MC68840 - Integrated FDDI
MC68847 - quad ELM
MC68848 - CAMEL
MC68851 - PMMU (32bit Page Memeoy Management Unit)
MC68881 - FPU (Floating-Point Unit) 浮動 ふどう 小数点 しょうすうてん 演算 えんざん ユニット
MC68882 - FPU (Floating-Point Unit) 浮動 ふどう 小数点 しょうすうてん 演算 えんざん ユニット(改良 かいりょう 版 ばん )
MC68901 - MFP (Multi Function Peripheral) 多 た 機能 きのう 周辺 しゅうへん コントローラ
CPU16
TMP68301 - 68HC000 + UART etc(東芝 とうしば 製 せい )
TMP68303 - 68HC000 + UART + PI/T(東芝 とうしば 製 せい )
MC68302 - 68EC000 + SCC(高機能 こうきのう 通信 つうしん コントローラ)、DMA、Timer他 た 。ISDN等 とう の通信 つうしん 機器 きき に使 つか われた。
MC68306 - 68EC000 + DUART
MC68307 - 68EC000 + UART
MC68322 (BANDIT) - 68EC000 +
MC68328 (DragonBall ) - 68EC000 + LCDコントローラ、UART、SPI、PWM、Timer、RTC他 た 。Palm (PDA) に使 つか われた。
CPU32 MCU
MC68330 - CPU32
MC68331 - CPU32 + GPT (Timer),QSM(キュー付 づけ シリアルモジュール)
MC68332 - CPU32 + TPU(高機能 こうきのう なタイマ/カウンタ),QSM,SIM(システム統合 とうごう モジュール)
MC68334 - モジュラプロセッサ - CPU32 + TPU,SIM, 8/10ビットADコンバータ(変換 へんかん 速度 そくど は8ビット時 じ 8ms、10ビット時 じ 9ms), 132ピンPQFPパッケージ, 最高 さいこう 動作 どうさ 周波数 しゅうはすう 16.78MHz(システムクロックを停止 ていし することも可能 かのう )。
MC68340 - CPU32 + DMA,DUART,Timer
MC68341 - CPU32 + タイマ,2チャネルDMA,2チャネルSIO(シリアルIO),SIM41(システム統合 とうごう モジュール)、CD-Iエンジン向 む けプロセッサ、データバス16ビット、アドレスバス32ビット
MC68356 - MC68302のスーパーセット(統合 とうごう マルチプロトコル・プロセッサ) - 68EC000 + RISCプロセッサ(CP:通信 つうしん プロセッサとして利用 りよう ) + DSP56002, SIB(システム統合 とうごう ブロック), PCMCIAサポート, 16550UARTエミュレーション
MC68360 (QUICC) - CPU32+(CPU32上位 じょうい 互換 ごかん ) + CPM(高機能 こうきのう 通信 つうしん コントローラ),DMA,Timer
ColdFire - M68Kシリーズから派生 はせい したRISCプロセッサ。命令 めいれい セットは68000から一部 いちぶ 削除 さくじょ されソースコードレベルでサブセットとなっている。
MCF52xx - ColdFire V2
MCF53xx - ColdFire V3
MCF54xx - ColdFire V4/V4e
出典 しゅってん は列挙 れっきょ するだけでなく、脚注 きゃくちゅう などを用 もち いてどの記述 きじゅつ の情報 じょうほう 源 げん であるかを明記 めいき してください。記事 きじ の信頼 しんらい 性 せい 向上 こうじょう にご協力 きょうりょく をお願 ねが いいたします。(2021年 ねん 5月 がつ )
Motlora, Inc.『M68000マイクロプロセッサユーザーズ・マニュアル』(4th edition第 だい 9版 はん )CQ出版 しゅっぱん 、1990年 ねん 5月 がつ 10日 とおか 。ISBN 978-4-7898-4091-0 。M68000UMJ/AD4。
日立 ひたち マイクロコンピュータエンジニアリング 著 ちょ 、関根 せきね 慶太郎 けいたろう 編 へん 『図解 ずかい 16ビットマイコン68000とファミリの活用 かつよう DMAC・ACRTC・HDC』東京電機大学 とうきょうでんきだいがく 出版 しゅっぱん 局 きょく 、1987年 ねん 。ISBN 978-4-501-51240-8 。 NCID BN02581340 。
阿 おもね 刀 かたな 田 でん 央 ひさし 一 いち 『68000ハードウェア設計 せっけい 』五十嵐 いがらし 智 さとし ・鵜沢 うざわ 繁行 しげゆき (初版 しょはん 第 だい 2刷 さつ (第 だい 1回 かい 修正 しゅうせい ))、昭 あきら 晃 あきら 堂 どう 、1987年 ねん 。ISBN 978-4-7856-3062-1 。 NCID BN01471063 。
日本 にっぽん モトローラ株式会社 かぶしきがいしゃ 半導体 はんどうたい 事業 じぎょう 部 ぶ 『MC68030ユーザーズ・マニュアル』CQ出版 しゅっぱん 1990年 ねん 、日本 にっぽん モトローラ。米 べい : MC 68030 enhanced 32-bit microprocessor user's manual 。NCID BN06695647 。
「ASCII 1983年 ねん 5月 がつ 号 ごう 」第 だい 7巻 かん 第 だい 5号 ごう 、株式会社 かぶしきがいしゃ アスキー出版 しゅっぱん 、1983年 ねん 5月 がつ 1日 にち 。
^ “DCL、東京 とうきょう ・多摩 たま に新 しん 工場 こうじょう 建設 けんせつ ――ワークステーション増産 ぞうさん 、カスタムLSIも。 ”. 2023年 ねん 10月 がつ 18日 にち 閲覧 えつらん 。
^ a b c d e 禿 かぶろ 節 ぶし 史 し 、喜田 きた 祐三 ゆうぞう 、田邊 たなべ 皓正 てるまさ 、藤岡 ふじおか 旭 あさひ 『16ビットマイクロプロセッサ』丸善 まるぜん 株式会社 かぶしきがいしゃ 、1981年 ねん 6月 がつ 30日 にち 、158-161頁 ぺーじ 。
^ "68HC001 obsoletes 68008." [リンク切 き れ ] , Microprocessor Report, 1990年 ねん 6月 がつ 20日 はつか ; available from HighBeam Research (subscription).
^ "Motorola streamlines 68000 family; "EC" versions of 68000, '020, '030, and '040, plus low-end 68300 chip." [リンク切 き れ ] , Microprocessor Report, 1991年 ねん 4月 がつ 17日 にち ; available from HighBeam Research (subscription).
^ "Motorola reveals MC68SEC000 processor for low power embedded applications" , Motorola press release, 1996年 ねん 11月18日 にち ; archived by Internet Archive on 1997年 ねん 3月28日 にち .
^ comp.sys.m68k Usenet posting , 1995年 ねん 5月16日 にち ; 同 どう スレッド内 ない の他 ほか のポストも参照 さんしょう されたい。
^ a b 【連載 れんさい 】セガハードストーリー 第 だい 3回 かい “時代 じだい が求 もと めた16ビット” 『メガドライブ』 セガハード大 だい 百科 ひゃっか 2017年 ねん 10月 がつ 27日 にち
^ a b Motlora, Inc.『M68000マイクロプロセッサユーザーズ・マニュアル』(4th edition第 だい 9版 はん )CQ出版 しゅっぱん 、1990年 ねん 5月 がつ 10日 とおか 。ISBN 978-4-7898-4091-0 。M68000UMJ/AD4。
^ このような、アドレスの空 あ きビットの「活用 かつよう 」を防 ふせ ぐような実装 じっそう も、x64 (初期 しょき リリースでは64ビット のアドレス空間 くうかん のうち48ビットだけを利用 りよう 、残 のこ りのビットは47ビット目 め のコピーでないとエラー)などで行 おこな われている。
^ 株式会社 かぶしきがいしゃ インプレス (2021年 ねん 2月 がつ 8日 にち ). “68000と挿 さ し替 か えて使 つか えるCPUアクセラレータ「Buffy Acellerator」 ”. PC Watch . 2021年 ねん 3月 がつ 25日 にち 閲覧 えつらん 。
^ 640×400ドット程度 ていど の解像度 かいぞうど でRGB各 かく プレーンについてそれぞれ32KB 程度 ていど のVRAM を必要 ひつよう とする多色 たしょく ビットマップグラフィック環境 かんきょう においては、実 じつ メモリ空間 くうかん が最大 さいだい 1MBの8086ではプログラムエリアを圧迫 あっぱく しないためにVRAM各 かく プレーンをバンク切 き り換 か え するなどの回避 かいひ 策 さく を講 こう じる必要 ひつよう があった。このため、CPUから直接 ちょくせつ VRAMにアクセスするのにセグメント操作 そうさ やバンク切 き り替 か えを併用 へいよう する必要 ひつよう のある8086は、基本 きほん 的 てき にはVRAMをリニアにメモリ空間 くうかん 上 じょう に配置 はいち でき、しかもメモリ操作 そうさ 命令 めいれい で直接 ちょくせつ 必要 ひつよう なアドレスを指定 してい できる68000と比較 ひかく してプログラミングがどうしても煩雑 はんざつ になった。