この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "MC6800"
MC6800Motorola MC6800 microprocessor
生産時期1974年 (50年前) (1974)から
生産者モトローラ
CPU周波数1 MHz から 2 MHz
アーキテクチャ6800
パッケージ40ピンDIP
次世代プロセッサ
MC68000
MOS 6502
トランジスタ4,100
テンプレートを表示
MC6800(通称「6800」)は1974年にモトローラ社(モトローラの半導体部門は、2004年にフリースケール・セミコンダクタとして独立し、2015年、NXPセミコンダクターズに吸収合併された)が開発した8ビットマイクロプロセッサである。 ミニコンのアーキテクチャと、プログラム分析に基づいて設計された。PDP-11のアーキテクチャを参考にしたといわれる。同時期のインテルの8080と比べて、洗練された構成が評価されている。ただし、インデックスレジスタが一つしかなく、ブロック転送の手順に手間がかかる点が弱点として挙げられる。 8ビットのレジスタを二つ、16ビットのインデクスレジスタを一つ持つ。レジスタの少なさをカバーするために、メモリの0000?00FFを8ビットで指定するダイレクトアドレッシング機能を備えていた。MC6800の命令は、ALU演算/ロードストア系、インデクスレジスタ/スタックポインタ操作系、絶対番地分岐/相対番地分岐系、CCR操作系に区分されている[1]。分岐命令に-128?+127の相対アドレッシングを使用できるので、位置に依存しないプログラムを作成できる。そのほかにも10進演算命令やビットテスト命令、ソフトウエア割り込み命令を備えており、また二相クロックを使用してメモリアクセスを1クロックで実行する。これを利用し、CPUがメモリアクセスするタイミングと、ビデオコントローラが表示のためにメモリをアクセスするタイミングを協調させ、バスの競合が起きないようにすることができた(トランスペアレントによるサイクルスチール)。 当初ゼネラルモーターズの自動車用電子制御コンピュータとして設計された。 MC6800バスに接続可能な周辺デバイスファミリーが存在する。メモリマップドI/Oが採用され、I/Oポートは、メインメモリアドレス空間の一部にマッピングされる[2]。 以下に、MC6800をベースに開発されたプロセッサを示す。
概要
レジスタAアキュムレータ8ビット
Bアキュムレータ8ビット
Xインデクスレジスタ16ビット
PCプログラムカウンタ16ビット
SPスタックポインタ16ビット
CCRコンディションコードレジスタ(フラグレジスタ)8ビット
周辺デバイス
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
MC6801
MC6800から派生したMPU/MCU