• 緊急指令 40-04

世界最初の商用マイクロプロセッサであるインテルの4004とはどういうシステムだったのか? 今回は、その解説をハードウェア面から行う。なお、4004の開発のきっかけなどに関しては、過去記事「窓辺の小石(248) DENTAKU」を参照していただきたい。

4004は、1971年に発表され、PチャネルシリコンゲートMOS FET(metal-oxide-semiconductor field-effect transistor)技術で、回路が作られている。プロセスルール(最小加工寸法などを定義したもの)は、10マイクロメートル(0.01ミリ)である。3ミリ × 4ミリのダイ上に2 300個のトランジスタ(FET)を集積してある。これを16ピンDIP(Dual in-line package)に納めてある。

4004は、専用のROM、RAMチップなどと合わせて、MCS-4と呼ばれる「ファミリ」を形成している。初期段階で用意されたのは、

  • 4001 256×8 bitマスクROM+4 bit入出力ポート
  • 4002 320 bit専用RAM+4 bit 出力ポート
  • 4003 10 bit シフトレジスタ
  • 4004 4 bit CPU

の4つである(図01)。

  • 図01: MCS-4は、CPU 4004とControl Memory(専用ROM)4001、Data Storage(専用RAM) 4002と、I/O EXPANDER(シフトレジスタ) 4003から構成される。最小構成は、4004と4001の組み合わせである<br> (Intel MSC-4 Pocket Card(1973)から引用)

    図01: MCS-4は、CPU 4004とControl Memory(専用ROM)4001、Data Storage(専用RAM) 4002と、I/O EXPANDER(シフトレジスタ) 4003から構成される。最小構成は、4004と4001の組み合わせである
    (Intel MSC-4 Pocket Card(1973)から引用)

4004のクロック周波数は、最大750 kHz(データシートからの計算値は741 kHz)である。インテルのデータシートなどによれば、最短命令実行時間は10.8マイクロ秒(8クロック)であり、8桁の10進数の加算を850マイクロ秒で実行できるという。このときの1桁は4 bitで、4004は10進補正命令を持ち、BCD(Binary-Coded Decimal、2進化10進数)演算が行えた。

図02は、4004のブロックダイアグラムである。内部には、16個の4 bit汎用レジスタ、演算が可能なACCUMULATORや3段のスタック、プログラムカウンタなどを持つ。なお、4004のソフトウェア面(アーキテクチャ)に関しては、次回解説する予定である。

  • 図02: 4004のブロックダイアグラム。Accumelatorや汎用レジスタ(図中Index Registor)などが4 bit幅だが、Index Registorは、偶数、奇数番号を組み合わせたレジスタペアで8bitを表現できる。また、プログラムカウンタ、スタックは12 bitになっている<br> (Intel Data Sheet 4004 SINGLE CHIP 4-BIT P-CHANNEL MICROPROCESSOR(1971)から引用)

    図02: 4004のブロックダイアグラム。Accumelatorや汎用レジスタ(図中Index Registor)などが4 bit幅だが、Index Registorは、偶数、奇数番号を組み合わせたレジスタペアで8bitを表現できる。また、プログラムカウンタ、スタックは12 bitになっている
    (Intel Data Sheet 4004 SINGLE CHIP 4-BIT P-CHANNEL MICROPROCESSOR(1971)から引用)

ROMとRAMは、別空間(異なる命令でアクセス)するようになっており、ROMは最大4096バイト(12 bitアドレス。4001を最大16個)まで接続できる。RAM(4002)は、最大640バイトまで接続可能で、4002を最大16個まで接続できる。なお、最小構成は4004と4001(ROM)でRAMは必ずしも必要ない。

なお、当時の技術から、ROMは、製造時に中身が決まってしまうマスクROMである。4001では、製造時に入出力ポートを、入力、出力のどちらで使うのかを指定し、あとから変更することはできない。

今回のタイトルネタは、特撮テレビドラマ「緊急指令10-4・10-10」(1972年。円谷プロ)である。この10-4や10-10は、テンコード(テンシグナルなどとも)と呼ばれ、米国の警察などで無線通話時の略号として使われた。「10-4」は了解の意味、10-10は通話終了を意味するコードとして使われるが、米国のテンコードでは10-10は、地域によって定義が異なるものの、通話終了を定義したものはないという。

1930年代、警察無線機では真空管が使われており、回路に必要な高電圧の発生にダイナモ(発電機)が使われていた。その真空管やダイナモの出力が安定するまでにわずかな時間が必要だった。この時間のため通話の最初の音節が聞こえないという問題があった。

テンコードは、最初に意味を持たない「10(テン)」を入れることで、この問題を回避し、短い時間で利用頻度の高いフレーズや緊急性の高いフレーズを伝達できることを目的としている。のちにこれがテレビドラマなどで使われると、米国のCB(市民無線。免許不要の無線通信)の利用者にも広がった。

「緊急指令10-4・10-10」は、怪物や犯罪、宇宙人といった「怪奇現象」を、大学教授の「毛利春彦」が設立した「毛利チーム」(エンディング曲では電波特捜隊とうたわれる)が解決していくというもの。隊員は、それぞれ職業を持っているものの、チームには専用車両や無線機器、麻酔弾などを発射できる「電波銃」などがあり、当時、純粋な民間組織なのに、その金はどこから来るのかが疑問だった。もう子供の心を失っていたようである。