本連載はHisa Ando氏による連載「コンピュータアーキテクチャ」の初掲載(2005年9月20日掲載)から第72回(2007年3月31日掲載)までの原稿を再掲載したものとなります。第73回以降、最新のものにつきましては、コチラにて、ご確認ください。

Intel 4004は、1971年11月に発売された世界初のワンチップマイクロプロセサである。日本のBUSICOMという会社の電卓用のLSIの開発依頼に対して、Intel社のTed Hoff氏は電卓専用のカスタムLSIを作るのではなく、より汎用のマイクロプロセサの開発を提案した。実際のチップの開発はFederico Faggin氏(後にZilog社を起こし、Z80を開発)が中心となり、BUSICOM社から派遣された嶋正利氏らと協力して作り上げられたのがこの4004である。

もう少し、詳細に言うと、当時、BUSICOM社は8チップ構成の10進の電卓用コンピュータをほぼ設計し終えており、それを現在で言うとファブレスのLSI設計会社が半導体ファブに論理設計データを渡して作ってもらうという感じで、1969年の4月にIntel社にアクセスしたのであるが、同社のカストマ対応を担当するApplication ResearchのマネージャであったHoff氏は、対案として2チップ構成の4ビットコンピュータを提案した。Hoff氏はIntelに移る前のスタンフォード大学時代にミニコンなどを使った経験があり、それを元に、電卓専用ではなく、より汎用的コンピュータ的な構造で、かつ、当時の技術で作れる限界の4ビットプロセサを提案したものと思われる。

BUSICOMとIntelの技術者の意見は対立していたが、10月頃にBUSICOM社のマネージャがIntel社に来て両案を比較し、Intel案で行くことを決定する。しかし、Hoff氏は設計部隊ではなく、実際にチップを設計するエンジニアが居ないという状態が続き開発は進捗しなかった。半年後になって、やっと、Fairchild社を辞めたFaggin氏を設計者として採用し、設計担当者が付くという状態になった。Faggin氏の回想によると、この時点ではアーキテクチャはかなり定義が終わっていたが、引き継いだ回路図などは使い物にならず、最初から設計が必要という状態であったという。

しかし、Faggin氏が採用された翌日に、日本から嶋氏が進捗のチェックのためにIntel社を訪れる。嶋氏は開発が全く進捗していないと知り激怒するが、Faggin氏は昨日採用されたばかりだからと弁解し、嶋氏をなだめすかして怒りを押さえ、結局、嶋氏の助けを借りて後にMCS‐4と呼ばれる4001~4004の4チップのセットを設計する。Faggin氏は猛烈に働き、設計が終わったのが1971年の1月頃であると言う。

このような経緯で開発されたので、当初はBUSICOM社向けの専用チップであったが、Faggin氏らがIntelのマネジメントに権利の買取りを進言し、BUSICOM社が資金的に苦境にあったことも手伝って、契約を更改して電卓用以外の用途には外販できることになった。これによりIntel 4004という世界初のマイクロプロセサ製品が誕生したのである。

名前が示すようにこの4004は4ビットのプロセサであり、全体で2300トランジスタという非常に小規模なプロセサであるので理解しやすいと言う点で命令アーキテクチャとマイクロアーキテクチャを理解するのに適している。なお、4004は当時主流であったPMOSというPチャネルトランジスタだけで構成するダイナミック回路で作られており、同一の論理回路の構成に要するトランジスタは現在主流のCMOSに比べて少ない。従って、現在のCMOSで4004を作ると5000トランジスタ程度になると思われる。しかし、最近のハイエンドプロセサのコアは500万トランジスタくらいの規模であり、何と1000分の1のトランジスタで出来ている。

また、この写真に示すように、たった16ピンのDIP(Dual Inline Package)に封入されており、1000ピンにもなろうかと言う最近のハイエンドマイクロプロセサとは外見も大きく異なっている。また、 データシートによると、電源は-15Vで28mA程度であり、消費電力も420mWなのでこのような小さなパッケージで放熱フィンも不要であった。なお、初期のものはこの写真のようなCerDIPと呼ぶ金属キャップ付のセラミックパッケージであったが、時代が下がるとキャップが無く2枚のセラミック板の間に挟む形のパッケージやプラスチック封入のパッケージの製品も作られている。

下図はIntelのWeb博物館に掲載されている4004のチップ写真であるが、個々のトランジスタが見分けられそうな写真である。この写真の右下の隅にはIntelのロゴと設計年である(19)71が書かれており、右の辺に4004とパートナンバーが書かれている。そして、この写真の向きでは上下が逆になっているが、右上には設計者のFederico Faggin氏のF.F.のイニシャルが書かれている。

また、この4004はCPUチップであるが、命令を収容するROMチップである4001、データを格納するRAMチップの4002、I/Oポートを拡張する4003チップ等の周辺チップを合わせてMCS-4 として発売された。なお、MCSはMicro Computer Setの意味である。

この4004は世界初のワンチップマイクロプロセサという歴史的なものなので、そのデータシートが米国の誇るスミソニアン博物館に展示されている。そのデータシートとWebで集められる各種の資料を元に4004の命令アーキテクチャとその物理的な実現であるマイクロアーキテクチャを考察して行きたい。