MC6809は、
モトローラが1979年に発売した
8ビットマイクロプロセッサです。その最大の特徴は、直交性の高い命令セットアーキテクチャにあります。この設計思想により、プログラマーは効率的かつ柔軟なコードを記述することが可能になりました。
主な特徴
MC6809は、以下の様な特徴を備えています。
レジスタ構成: 8ビットアキュムレータを2つ(A, B)、これらを連結して16ビットアキュムレータ(D)として使用できます。また、16ビットのインデックスレジスタ(X, Y)と、スタックポインタ(U, S)も2つ備えています。スタックポインタはインデックスレジスタとしても使用でき、多様なアドレッシングに対応します。
命令セット: MC6800との互換性はアセンブリ言語のニーモニックレベルで維持されていますが、バイナリコードとピン配置には互換性がありません。命令数は
MC6800の78に対して59と少ないものの、等価な処理をより少ない命令で実行できるように設計されています。
高性能: Z80などの競合製品よりも後発でありながら、高度に洗練された直交性の高い命令体系を持ちます。豊富なアドレッシングモードや乗算命令により、高級言語でのプログラミングを容易にしました。また、CPU単体でプリエンプティブなマルチタスクOSであるOS-9を動作させることができ、オプションのMMUを追加することで最大2MBのメモリ空間をサポートします。
高速な処理: 動作
クロックは80系CPUと比較して低いものの、二相
クロックの採用により1
クロックでメモリアクセスが可能です。また、複数命令を必要とした処理を1命令で実行できるため、実質的な処理速度は向上しています。たとえば、
MC6800では2命令必要だったメモリロードとインクリメントを、MC6809では1命令で実行できます。
ダイレクトページアドレッシング: MC6800で利用されていたダイレクトページアドレッシングを継承し、DPレジスタによって高速アクセス可能な256バイトの領域を動的に変更できます。これにより、当時の8ビットCPUの中で最も高速な処理能力を実現しました。
位置独立コード: PC相対
アドレッシングモードや相対ジャンプ命令を利用することで、位置独立なプログラムを容易に作成できます。また、
スタックポインタを使った
アドレッシングモードにより、再入可能なコードの記述も容易です。これらの機能は、組み込みシステム開発において特に役立ち、
OS-9では、プログラムモジュールの位置独立性と再入可能性が求められました。
豊富なバリエーション
MC6809には、
クロック周波数が異なる複数のバリエーションが存在します。
MC6809: 1MHz
MC68A09: 1.5MHz
MC68B09: 2MHz
これらのバリエーションには、クロックジェネレータ内蔵型と外部クロック入力型の2種類があり、合計6つのモデルが提供されました。モトローラに加え、日立製作所と富士通もセカンドソースとしてMC6809を製造しました。
日立HD6309:さらなる進化
日立が製造したセカンドソース品には、CMOS構造のHD6309があります。HD6309はMC6809と互換性を保ちつつ、クロック周波数の向上に加えて、レジスタや命令が追加されました。通常はMC6809互換として動作しますが、ネイティブモードに切り替えることで、より高速な動作が可能になります。しかし、ネイティブモードでは、MC6809の未定義命令の動作が異なるため、注意が必要でした。当初はユーザーズマニュアルに詳細が記載されていましたが、モトローラからの指摘により、その記述は削除されました。しかし、熱心なユーザーにより解析が進み、HD6309の性能を最大限に引き出すための研究が行われました。
幅広い採用事例
MC6809は、パソコン、アーケードゲーム、天体望遠鏡など、多岐にわたる分野で採用されました。
パソコン: 富士通のFM-8,
FM-7シリーズ、
FM-77シリーズ、FM-11シリーズ、日立の
ベーシックマスターシリーズなどがMC6809を搭載していました。
アーケードゲーム: ナムコの「ドルアーガの塔」、コナミの「ハイパーオリンピック」、カプコンの「魔界村」など、数多くのヒット作に採用されました。「源平討魔伝」では2つのMC6809が使用され、高度な表現を可能にしました。
天体望遠鏡: ビクセンの自動導入装置「スカイセンサー」に搭載されました。
まとめ
MC6809は、その優れた設計思想と高性能により、当時の
8ビットマイクロプロセッサの中で特別な存在でした。直交性の高い命令セット、豊富な
アドレッシングモード、そして
マルチタスクOSのサポートなど、多くの革新的な機能が組み込まれていました。組み込みシステムから
アーケードゲームまで、幅広い分野でその能力が活用され、多くのエンジニアやプログラマーに愛されました。