MC6809は「究極の8ビットCPU」

1978年発表、2016年生産再開
MC6809
MC6809
AI生成コンテンツ / AI-generated contents
MC6809 は、モトローラが1978年(昭和53年)に発表した8ビットCPUである。6800 の後継だが命令セットは非互換で、直交性の高い命令セットと豊富なアドレッシングモードを備え、「究極の8ビットCPU」と呼ばれた。国内では富士通のFM-8FM-7FM-77 に採用された。

目次

6809の開発

MC6809のダイ写真
MC6809のダイ写真
MC6809 は、モトローラのテリー・リッターとジョエル・ボニーが設計し、1978年(昭和53年)に発表された。6800 の既存顧客に聞き取りをしたところ、16ビットCPUへの需要は乏しいと分かったため、モトローラは本格的な16/32ビット計画「MACSS」と並行して、8ビットの改良版を開発する方針を固めた。
6809 がMC68000 への「橋渡し」として設計されたという説があるが、これは誤解である。両者の開発はほぼ並行して進められ、設計思想もアーキテクチャも大きく異なる。6809 は、あくまで既存の 6800 顧客のニーズに応えるための、独立した8ビットCPUとして企画されたものである。

アーキテクチャの特徴

MC6809のレジスタ構成
MC6809のレジスタ構成
レジスタは、8ビットのアキュムレータA・Bを備え、これらは16ビットレジスタDとして結合できる。インデックスレジスタX・Y、ユーザースタックポインタU、システムスタックポインタS、ダイレクトページレジスタDPを新設し、6800 とのソースレベル互換性を保ちながら機能を拡張した。命令数は 6800 の78から59に整理された。
MC6809 の外部クロックは1~2MHz程度で、Z80 の2~4MHzより低い。だが内部では外部クロックを4分周しており、命令1つで実行できる処理量が多い。1981年(昭和56年)のベンチマーク「Byte Sieve」では、2MHz動作の MC6809 が5.1秒、4MHz動作の Z80 が6.8秒、1MHz動作の 6502 が13.9秒だった。
インデックスアドレッシングでは、オフセット指定や自動増減、間接参照など多彩な方式が使え、配列やデータ構造への効率的なアクセスができた。さらにPC相対アドレッシングにより、プログラムをメモリ上のどこに置いても動作するポジション独立コード を実現し、ROM化やマルチタスクOS「OS-9」の開発にも役立った。
MC6809 が「究極の8ビットCPU」と呼ばれたのは、当時の8ビットCPUとしては極めて洗練された設計だったためである。D・X・Y・U・Sなど16ビットレジスタを多数備え、命令セットも洗練されており、16ビット演算をかなり意識した設計になっている。
また、システムスタックとユーザースタックの2本を持つ強力なスタック機構により再入可能なコードを実現し、ポジション独立コード にも強い。さらに、ハードウェア乗算命令を備えるなど、8ビットの枠を超えた機能を持っていたことが、この呼び名の理由である。

OS-9

OS-9
OS-9
OS-9 は、Microware SystemsMC6809 用に開発したリアルタイム・マルチタスクOSである。言語処理系「BASIC09」を動かす基盤として、モトローラの依頼を受けて1979~1980年(昭和55年)に開発され、UNIX を範とした構造を持つ。カーネルはわずか4KBと非常に小さい。
MC6809 が備えるポジション独立コード と再入可能なコードの仕組みをそのまま活用し、1つのプログラムをメモリに1つだけ置くだけで複数ユーザーが同時に実行できた。プログラムやドライバは「モジュール」単位で動的にロード・解放される、モジュール構造を採用している。

同時期に普及したZ80 用OS「CP/M」は単一ユーザー・単一タスクで、ファイルシステムも階層構造を持たなかった。これに対しOS-9 はマルチユーザー・マルチタスクに対応し、ディレクトリを木構造で管理できた。国内ではFM-7FM-8FM-11OS-9CP/M の両方を選べる環境を提供していた。

富士通 FM-8への採用

富士通 FM-8
富士通 FM-8
AI生成コンテンツ / AI-generated contents
国内で最初にMC6809を採用したのは、富士通 が1981年(昭和56年)5月に発売した初のパソコン「FM-8」である。メインCPUにMBL68A09(1.2288MHz)、サブCPUにMBL6809(1MHz)を使う2CPU方式を採用し、価格は218,000円と高価だった。
世界的にZ80 系が主流になりつつある現実を無視できず、富士通 は本体内にZ80 カード用のコネクタを用意し、CP/M などのZ80 用ソフトウェア資産も利用できるようにしていた。

富士通 FM-7による普及

富士通 FM-7
富士通 FM-7
AI生成コンテンツ / AI-generated contents
1982年(昭和57年)11月、富士通 は低価格版「FM-7」を発売した。価格は126,000円と FM-8 より9万円以上安く、新開発のパレットLSIでグラフィック性能を強化しつつ部品数を削減した。

この戦略が的中し、NECの PC-8801、シャープの X1 と並ぶ「8ビット御三家」の一角となった。1984年(昭和59年)4月の生産終了までに22万台を出荷し、日本のパソコン黎明期を代表するヒット製品となった。

FM-77とその系譜

富士通 FM-77AV
富士通 FM-77AV
AI生成コンテンツ / AI-generated contents
1984年(昭和59年)5月、富士通 は上位機「FM-77」と普及機「FM-NEW7」を発表した。FM-77 はグラフィック性能を最大2倍に高速化し、3.5インチフロッピーディスクドライブを新たに搭載した。後継のFM77AV は4,096色同時表示を実現し、「総天然色」を売り文句とした。

なぜ他のホビーパソコンはZ80を選んだか

高性能な MC6809 だったが、ホビー向け8ビットパソコンの大半は Z80 を採用した。最大の理由は価格差で、1981年(昭和56年)の単価はMC6809が37ドル、Z80 が9ドル、6502 が6ドルと、MC6809は突出して高価だった。

また、Z808080 とソフトウェア互換であったため、共通OS「CP/M」とその豊富なソフトウェア資産を利用できた。さらにNECやシャープなど複数社がセカンドソース生産を行い価格競争が働いた一方、モトローラ自身は次世代のMC68000 開発に軸足を移し、6809の展開には積極的ではなかった。

ゲーム機・アーケードでの採用

Vectrex
Vectrex
AI生成コンテンツ / AI-generated contents
MC6809 は、ゲーム機やアーケード基板にも採用された。ユニークなベクタースキャン方式のゲーム機「Vectrex」や、ウィリアムズ・エレクトロニクスの「Defender」「Robotron: 2084」「Joust」などが搭載する。ナムコの「Star Wars」やコナミの「Time Pilot '84」は6809を2個搭載していた。

後継・派生・復活

HD6309
HD6309
日立は上位互換で CMOS構造の高速版「HD6309」(クロック周波数 3MHz)を開発した。MC6809 用ソフトウェアをそのまま動作させつつ、ブロック転送命令や除算命令などを追加し、処理能力を高めている。
モトローラ/フリースケールでの生産は終了していたが、2015年(平成27年)にフリースケールがロチェスター・エレクトロニクスに製造ライセンスを許諾し、2016年(平成28年)末にMC6809・MC68A09・MC68B09の生産が再開された。クラシックな8ビットCPUとして、現在も入手可能である。

主要スペック

項目 仕様
メーカー モトローラ
発表 1978年
トランジスタ数 9,000
データバス 8ビット
アドレスバス 16ビット
物理メモリ 64KB
命令数 59
CPUクロック 1MHz(MC6809)
1.5MHz(MC68A09)
2MHz(MC68B09)
パッケージ 40ピンDIP
動作電圧 5V単一

CPUの歴史

発表年 メーカー CPU名 ビット数 最大クロック
1970年Garrett
AiResearch
MP944 (軍用)20bit375KHz
1971年インテル40044bit750KHz
1974年インテル80808bit3.125MHz
1975年モステクノロジーMOS 65028bit3MHz
1976年ザイログZ808bit20MHz
1978年インテル808616bit10MHz
1979年モトローラMC68098bit2MHz
1979年ザイログZ800016bit10MHz
1980年モトローラMC6800016bit20MHz
1983年NECV3016bit16MHz
1984年インテル8028616bit12MHz
1985年インテル8038632bit40MHz
1985年インテルi96032bit100MHz
1985年サン・マイクロシステムズSPARC32bit150MHz
1985年エイコーンARM132bit6MHz
1986年MIPSR200032bit15MHz
1987年ザイログZ28016bit12MHz
1987年モトローラMC6803032bit50MHz
1988年MIPSR300032bit40MHz
1989年インテル8048632bit100MHz
1989年インテルi86032bit50MHz
1990年モトローラMC6804032bit40MHz
1991年MIPSR400064bit200MHz
1992年DECAlpha 2106464bit200MHz
1993年IBM, モトローラ, ApplePowerPC 60132bit120MHz
1993年インテルPentium32bit300MHz
1994年IBM, モトローラ, ApplePowerPC 60332bit300MHz
1995年サイリックスCyrix Cx5x8632bit133MHz
1995年AMDAm5x8632bit160MHz
1995年サン・マイクロシステムズUltraSPARC64bit200MHz
1999年IBM, モトローラPowerPC G432bit1.67GHz
1999年AMDAthlon32bit2.33GHz
2000年インテルPentium 432bit3.8GHz
2001年インテルItanium64bit800MHz
2003年AMDOpteron64bit3.5GHz
2003年インテルPentium M32bit2.26GHz
2006年SCE,ソニー,IBM,東芝Cell64bit3.2GHz
2006年インテルCore Duo32bit2.33GHz
2006年インテルCore 2 Duo64bit3.33GHz
2008年インテルCore i9/i7/i5/i364bit5.8GHz
2017年AMDRyzen64bit5.7GHz
2020年AppleM1/M2/M3/M4/M564bit3.49GHz
2023年インテルCore Ultra 9 / 7 / 564bit5.1GHz

参考サイト

(この項おわり)
header