MC6800

アメリカのモトローラが開発・販売した8ビットCPU

MC6800(通称「6800」)は1974年モトローラ社(モトローラの半導体部門は、2004年にフリースケール・セミコンダクタとして独立し、2015年、NXPセミコンダクターズに吸収合併された)が開発した8ビットマイクロプロセッサである。

MC6800
Motorola MC6800 microprocessor
生産時期 1974年 (50年前) (1974)から
生産者 モトローラ
CPU周波数 1 MHz から 2 MHz
アーキテクチャ 6800
パッケージ 40ピンDIP
次世代プロセッサ
トランジスタ 4,100
テンプレートを表示

概要

編集

ミニコンアーキテクチャと、プログラム分析に基づいて設計された。PDP-11のアーキテクチャを参考にしたといわれる。同時期のインテルの8080と比べて、洗練された構成が評価されている。ただし、インデックスレジスタが一つしかなく、ブロック転送の手順に手間がかかる点が弱点として挙げられる。

8ビットのレジスタを二つ、16ビットのインデクスレジスタを一つ持つ。レジスタの少なさをカバーするために、メモリの0000〜00FFを8ビットで指定するダイレクトアドレッシング機能を備えていた。MC6800の命令は、ALU演算/ロードストア系、インデクスレジスタ/スタックポインタ操作系、絶対番地分岐/相対番地分岐系、CCR操作系に区分されている[1]。分岐命令に-128〜+127の相対アドレッシングを使用できるので、位置に依存しないプログラムを作成できる。そのほかにも10進演算命令やビットテスト命令、ソフトウエア割り込み命令を備えており、また二相クロックを使用してメモリアクセスを1クロックで実行する。これを利用し、CPUがメモリアクセスするタイミングと、ビデオコントローラが表示のためにメモリをアクセスするタイミングを協調させ、バスの競合が起きないようにすることができた(トランスペアレントによるサイクルスチール)。

当初ゼネラルモーターズの自動車用電子制御コンピュータとして設計された。

レジスタ

編集
A アキュムレータ 8ビット
B アキュムレータ 8ビット
X インデクスレジスタ 16ビット
PC プログラムカウンタ 16ビット
SP スタックポインタ 16ビット
CCR コンディションコードレジスタ(フラグレジスタ) 8ビット

周辺デバイス

編集

MC6800バスに接続可能な周辺デバイスファミリーが存在する。メモリマップドI/Oが採用され、I/Oポートは、メインメモリアドレス空間の一部にマッピングされる[2]

  • MC6810 128バイトRAM
  • MC6818 リアルタイムクロック
  • MC6820/6821 パラレルI/O PIA(Peripheral Interface Adapter)
  • MC6828 割り込みコントローラ PIC(Priority Interrupt Controller)
  • MC6830 1024バイトROM
  • MC6840 カウンタ/タイマー
  • MC6843 フロッピーディスクコントローラ
  • MC6844 DMAコントローラ
  • MC6845 CRTコントローラ
  • MC6846 ROM + カウンタ/タイマー + GPIO
  • MC6847 ビデオディスプレイコントローラ
  • MC6850 非同期シリアルインタフェース ACIA(Asynchronous Communications Interface Adapter)
  • MC6852 同期シリアルインタフェース SSDA(Synchronous Serial Data Adapter)
  • MC6854 通信インタフェース ADLC(Advanced Data Link Controller) HDLC/SDLC通信
  • MC6860 モデム
  • MC6883 MC6847用DRAMコントローラ SAM(Synchronous Address Multiplexer)

シリーズ展開

編集
  • MC6802 - MC6800に内蔵RAMとクロックジェネレータを追加したもの。
  • MC6808 - MC6802から内蔵RAMを除いたもの。MC68HC08(後述)と互換性はない。
  • MC6801 - MC6800にいくつかの命令を追加し一部命令を高速化、RAM、ROM、クロックジェネレータ、シリアル/パラレルI/O、タイマを追加したもの。ROMについては、マスクROM、UVEPROM、ROMなし(MC6803)のバージョンがある。互換品にはピギーバックソケット付き(パッケージ背面にROMソケットがある)もあった。

MC6800から派生したMPU/MCU

編集

以下に、MC6800をベースに開発されたプロセッサを示す。オブジェクトコードの互換性はないが、一部ではニーモニックレベルでの上位互換が考慮されている。

  • MC6809 - MC6800を大幅に強化したMPU。「究極の8ビットCPU」とも謳われる。
  • MC6805 - MC6800からBレジスタの削除やX/SP/PC/CCRもビット幅を縮小し命令数も削減し簡素化したCPU機能に、ROM/RAMやタイマーなどの周辺機能を内蔵した、小規模の組み込み用に特化したマイクロコントローラ
    • MC68HC08 - MC6805のCMOS版(MC68HC05)をベースに機能を強化したマイクロコントローラ。MC6805上位互換。(HC08)
    • MC68HCS08 - HC08を論理合成による回路設計とプロセスの改善により高クロック化したマイクロコントローラ。(S08)
  • MC68HC11 - MC6805とは逆にMC6801にIYレジスタと命令を追加して高機能化したCPU機能と、ROM/RAMやタイマー/SPI/SCI/ADコンバータなどの周辺機能を内蔵したマイクロコントローラ。
  • MC68HC12 - MC68HC11に一部命令を追加した形の16ビットCPU機能を内蔵したマイクロコントローラ。(HC12)
    • MC68HCS12 - HC12を論理合成による回路設計とプロセスの改善により高クロック化したもの。ファジー制御命令を追加。(S12)
  • MC68HC16 - 16ビットマイクロコントローラ。DSP命令がある。
  • MB8861 - 富士通のMC6800セカンドソース製品。MC6800に対して、上位互換とされ[3]、ビット操作やインデックス加算など、命令が5つ追加されている。

関連項目

編集

脚注

編集
  1. ^ “Appendix B 6800 instruction set”, THE ESSENCE OF THE 6800 MICROPROCESSOR, pp. 202-204, http://datasheets.chipdb.org/Motorola/6800/mc6800_userman.pdf 2020年12月18日閲覧。 
  2. ^ CompArchOrg & 1978,1979, p. 419.
  3. ^ “誕生(No.34)”, 富士通の半導体ヒストリー, https://www.fujitsu.com/jp/group/fsl/business/semiconductor/history-magazine/#n34 2020年12月26日閲覧。 

参考文献

編集
  • P.HAYES, JOHN (1978,1979). Computer Architecture and Organization. ISBN 0-07-027363-4 

外部リンク

編集