Intel 8048またはそのシリーズであるIntel MCS-48はインテル初のマイクロコントローラである。Intel MCS-48は、1976年に導入された[1]。当初のラインナップには8048、8035、8748が存在した。これらは元々NMOSプロセスで生産されていたが、1980年代初めにはCMOS版も供給された。既存の古い設計をサポートするため、1990年代に入っても製造された。
8048のアーキテクチャはハーバード・アーキテクチャの変形であり、プログラム用ROM(内蔵または外付け)とデータ用RAMを分離して持っていた。27個のI/Oポートを持つが、それらは独自のアドレス空間にマップされ、プログラムやデータとは分離されている。また1回路の8bitタイマ・カウンタを自前でもっていた。8048の内蔵ROMは1KBで、外付けのプログラム用ROMを用いることもできた。内蔵RAMは64バイトであった。ROMの種類、メモリ容量によってファミリーを形成し、例えば8049は2 KiBのマスクROM(8749はEPROM)を内蔵しており、このROMは4 KiBの外部ROMで置き換えることができる。
外部から供給されたクロックは内部の発振器ブロックによって15の内部フェーズに分割される。そこで、最高動作周波数である11MHzの水晶発振器を接続すると、0.73MIPS(1クロック命令について)の性能が出る。1CPUサイクルで実行できる1バイト長の命令もあるが、多くの命令は2CPUサイクルないし2バイトを必要とする。従って実際の動作速度は0.5MIPS程度である。
8049は2KBのマスクROM(8748と8749はEPROM)と128バイトのRAM、27個のI/Oポートを搭載し、ROMは4KBの外部ROMに置き換えることができた。マイクロコントローラのクロック発振器ブロックは入力クロックを15分周し、最大11MHzで0.73MIPSの駆動が可能であった。命令の7割は1命令サイクルあたり1バイトで、3割は2サイクル・2バイトを必要としたため、実際のパフォーマンスは0.5MIPSほどになる。
フィリップス・セミコンダクタ(現NXP)がこのシリーズを生産するライセンスを所有しており、このアーキテクチャをベースにMAB8400ファミリとして開発していた。これらはI2Cインターフェースを統合した最初のマイクロコントローラで、フィリップスの最初のCDプレーヤー「CD-100」に用いられた[2]。
Intel 8748はクロック発振器を内蔵しており、8ビットタイマーを2個、I/Oポートを27個、64バイトのRAMと1KBのEPROMを搭載していた。2KB EPROMと128バイトのRAMを搭載したバージョンは8749としてリリースされた。
デバイス | 内部ROM | メモリ | 注釈 |
---|---|---|---|
8020 | 1K × 8 ROM | 64 × 8 RAM | 8048のサブセット、20ピン、13本のI/O |
8021 | 8048のサブセット、28ピン、21本のI/O | ||
8022 | 2K × 8 ROM | 8048のサブセット、A/Dコンバータ、1982年NECにセカンドソースライセンスされた[3] | |
8035 | 無し | ||
8039 | 128 × 8 RAM | ||
8040 | 256 × 8 RAM | ||
8048 | 1K × 8 ROM | 64 × 8 RAM | |
8049 | 2K × 8 ROM | 128 × 8 RAM | |
8050 | 外部ROMソケット | 256 × 8 RAM | |
8748 | 1K × 8 EPROM[1] | 64 × 8 RAM[1] | 4Kプログラムメモリ外付け可[4] |
8749 | 2K × 8 EPROM | 128 × 8 RAM | |
8648 | 1K × 8 OTP EPROM | 64 × 8 RAM |
デバイス | 内部ROM | メモリ | 注釈 |
---|---|---|---|
8041 | 1K × 8 ROM | 64 × 8 RAM | Universal Peripheral Interface (UPI) |
8041AH | 128 × 8 RAM | UPI | |
8741A | 1K × 8 EPROM | 64 × 8 RAM | UPI、8041のEPROM版 |
8741AH | 1K × 8 OTP EPROM | 128 × 8 RAM | UPI、8041AHのOTP EPROM版 |
8042AH | 2K × 8 ROM | 256 × 8 RAM | UPI |
8742 | 2K × 8 EPROM | 128 × 8 RAM | UPI、EPROM版 |
8742AH | 2K × 8 OTP EPROM | 256 × 8 RAM | UPI、8042AHのOTP EPROM版 |
8048は後に開発された8051に駆逐されつつあるが、21世紀を迎えた時点でもまだ広く用いられている。コストが低く、広範な応用範囲を持ち、1バイト命令セットによってメモリ利用効率が高く、枯れた開発用ツールが存在することがその理由である。そのため、大量生産される民生用電子機器、例えばTVのリモコン、玩具等といったコストダウンが至上命令であるような製品によく用いられる。
8048はマグナボックスオデッセイ、コルグTridentシリーズ[要出典]、コルグPoly-61[5]、ローランドJupiter-4およびProMars[6]アナログシンセサイザーに使用された。
オリジナルのIBM PCキーボードは内蔵マイクロコントローラとして8048を使用していた[7]。PC/ATではPCのI/Oアドレス0x60~0x63にあるIntel 8255周辺機器インターフェースチップが0x60-0x64にある8042に置き換えられた[8]。キーボードインターフェースを管理するだけでなく、8042はATのIntel 80286 CPUのA20ラインを制御、または80286をリセットするコマンドを送ることができた(80386やそれ以降のプロセッサとは異なり、80286はリセットする以外にプロテクトモードからリアルモードに戻る方法がなかった)。後のPC/AT互換機では8042の機能はスーパーI/Oチップに統合されていった。日本電気PC-9800シリーズでは、キーボード側の8048と本体側の8251AがI/Oアドレス43Hでシリアル通信を行った。[9]。キーボードと本体間のシリアル通信はシャープX1シリーズでも使用された。
かわった使われ方としては、ROMを持たない8035が任天堂のアーケードゲーム『ドンキーコング』でバックに音楽を流すために使われた例がある。
この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。