Intel 4004






4004


4004(よんまるまるよん、と読まれることが多い)は、米国インテル社によって開発された1チップのマイクロプロセッサであり、軍用のMP944[1]、組み込み用のTI製TMS-1000等とほぼ同時期の、世界最初期のマイクロプロセッサのひとつである。周辺ファミリICを含めてMCS-4 Micro Computer Set、あるいは略し単にMCS-4とも呼ぶ。


1971年発表、4ビットマイクロプロセッサである。クロック周波数は、500kHzから741kHz[2]である。回路構成はクロック同期設計で、pMOSプロセスで3mm×4mmのチップ(ダイ)の上に2,300個のトランジスタを集積、10μm (0.01mm) ピッチのプロセス・ルールで製造された。当時のICとして標準的な16ピンDIPのパッケージに収納するため、物理的に4ビット幅のバスを、アドレスとデータで時分割で使用している。




目次






  • 1 歴史


    • 1.1 文献




  • 2 特徴


  • 3 MCS-4


  • 4 脚注


  • 5 関連項目


  • 6 外部リンク





歴史




4004を初めて組み込んだ電卓「ビジコン 141-PF」。国立科学博物館の展示。[3]


4004は日本のビジコン社とインテルによる共同開発である。


1969年、ビジコンはプログラム制御[4]の電卓を計画し、インテルにそのためのチップセットの開発を依頼していた。ビジコンの当初案では、マクロ命令による制御で、10個前後[5]のチップが必要というものだった。これは電卓としては汎用(プログラム次第でいろいろな電卓ができる)だが、電卓用という意味では専用のチップ、というものであった。


これに対し、当時のインテルの規模ではそれだけ多くの種類のチップを同時に開発するのは手に余るため、インテルの技術者テッド・ホフは、ワード長が4ビットであることを除けば、汎用のコンピュータそのものという構成を提案した。複数桁の演算処理は、1桁(4ビット)の演算の反復で置き換えればよく、また、外部機器の制御も、ソフトウェアによる制御に置き換えればよい、というのである。これにより開発するチップの種類を削減した。1969年8月末のことで、マイクロプロセッサの原点となった。


このアイディアにもとづき、嶋正利とフェデリコ・ファジンが中心となって、嶋が論理設計しファジンが物理設計(回路設計とマスクレイアウト)を行い、4004は完成した。


当初の契約では、このチップはビジコンに対する専売となっていたが、チップの汎用性に気付いたインテルが他への販売を希望し、一方でビジコン側は資金の要求があった事から、契約金の一部をビジコンに払い戻すことでインテルはチップの販売権を得て、1971年11月15日に4004として出荷が開始された。



文献



  • 嶋正利『マイクロコンピュータの誕生 ──わが青春の4004』


特徴




内部ブロック図




ピン配置図



  • 最高動作周波数 741kHz。ただし、命令アドレス出力に3クロック、命令読み出しに2クロック、命令実行に3クロックの計8クロックを要する。

  • プログラムのメモリ空間とデータのメモリ空間の分離(ハーバード・アーキテクチャ)。近年のキャッシュのそれのような性能目的による物理的なバスの分離ではなく、命令セットアーキテクチャ的(論理的)にそれぞれの空間が異なる、というものである。

  • また、ピン数の節約のため、以下の信号は単一の4ビット物理バスを共用(時分割多重化)し、またデータ以外はそれぞれ順次送り出す方式である。

    • 12ビットのアドレス

    • 8ビットの命令

    • 4ビットのデータ



  • 46種の命令がある(うち41種は8ビット長、5種は16ビット長)。

  • 16個の4ビット長レジスタ

  • RAMのアドレスを指すようなスタックポインタは無く、プログラムカウンタ直結の、サブルーチン呼出時の退避専用のハードウェアスタックがある。深さは3段。



MCS-4




MCS-4ファミリー(1970年代末 - 1980年代初製)


当初の周辺チップとしては、容量2048bitのマスクROM 4001、容量320bitのRAM 4002、10bitシフトレジスタ兼10bit出力ポートの4003があった。これらを含めてMCS-4(Micro Computer Set)とした。


初期ファミリ内でのチップの組み合わせで、ROM 32768bit(2048bit×16)、RAM 1280bit(320bit×4)の構成が可能。


ビジコンの目的であった電卓における構成は、だいたい以下のようなものとなる。



  1. 4001に関数などのプログラムが格納されている

  2. 4003でキー入力をシフトしながら4004へ渡す

  3. 4004で入力された数値を4002に書き込む

  4. 4001にあるプログラムを使って4004で1桁ずつ演算を行い結果を4002に書き込む

  5. 4003でシフトしながら表示板に出力する



脚注


[ヘルプ]



  1. ^ F-14戦闘機用Central Air Data Computer


  2. ^ Datasheet Intel 4004 (PDF) より:クロック周期最小1.35μsec(約741kHz)/最大2.0μsec(500kHz)。『マイクロコンピュータの誕生』によれば、先に周波数を750kHzと決め、そこからその周期内で動作するよう機能を決めている


  3. ^ 国立科学博物館


  4. ^ 『電子立国日本の自叙伝』第5回「8ミリ角のコンピューター」ではこれを「ストアードプログラム」と説明しているが、普通のコンピュータのような汎用という訳ではない。また嶋は著書で「ランダム論理」(ワイヤード論理制御)に対するものとして「プログラム論理」という語を使っている。


  5. ^ 嶋の著書『マイクロコンピュータの誕生』によれば、何回か提案しており数は上下する。インテルは12種類としている。嶋は最終的にはプリンタ付きで8個、表示のみで6個まで削減できたと書いている。



関連項目



  • Intel 8008

  • Intel 4040



外部リンク



  • インテル博物館

  • 嶋正利氏の4004開発回顧録


  • 4004 Dr嶋 ブログ(リンク切れ)





Popular posts from this blog

Full-time equivalent

Bicuculline

さくらももこ