Intel 8008

Intel 8008 マイクロプロセッサの詳細解説



8008は、インテルが1972年4月に発表した初期のマイクロプロセッサです。このプロセッサは、8ビットCPUでありながら、14ビットの外部アドレスバスを持ち、最大16KBのアドレス空間を扱うことができました。当初、8008はComputer Terminal Corporation (CTC) の依頼により、同社のプログラマブル端末 Datapoint 2200 向けに設計されたものでした。

開発の背景



CTCは1968年に設立され、当初はデスクトップ型コンピュータの製造を目指していました。しかし、市場の状況から、テレタイプ端末 ASR-33 の代替となる製品の開発に方向転換し、Datapoint 3300 をリリースしました。Datapoint 3300は商業的には成功しましたが、発熱問題に悩まされていました。この発熱問題に対処するため、CPU部分をワンチップ化する設計変更が行われました。

CTCは、このチップを製造してくれる企業を探し、当時メモリチップを製造していたインテルにたどり着きました。インテルは当初、このプロジェクトに懐疑的でしたが、1970年初めに開発契約を締結しました。しかし、インテルによるチップの提供が遅れたことと、性能がCTCの目標に達しなかったため、Datapoint 2200には8008は採用されませんでした。Datapoint 2200は結局TTL素子で製作されました。しかし、インテルはCTCとの契約により、このチップを他の顧客に販売する許可を得ていました。

8008の誕生



CTCは、CPUのワンチップ化を諦め、TTL素子でCPUを構成する方向で再設計を進めました。一方、インテルは、セイコーが電卓市場への参入を表明したことから、このチップを電卓に採用することを検討しました。インテルは、4004の設計にも関わったフェデリコ・ファジンをプロジェクトリーダーとして、1201の再設計を行い、ピン数を16から18に増やした新たな1201を1971年後半に完成させました。その後、CTCは、ハードディスクドライブを搭載した新たな Datapoint 2200 II を開発しており、1201は新製品には非力すぎて使えないと判断しました。CTCは1201の知的財産権をインテルに譲渡し、インテルはそれを8008と改名し、1972年4月に発売しました。

8008のアーキテクチャ



8008は、10μmルールのPMOSロジックで実装されています。初期バージョンは最高クロック周波数が0.5MHzで、後の8008-1では0.8MHzに向上しました。命令の実行には、5から11T-states(クロックサイクル)が必要です。8008は、8ビットの演算が可能であり、大きなメモリ空間にアクセスできるため、4ビットチップと比較して3~4倍の計算能力があると言われました。トランジスタ数は3,500個です。

8008は、8本の入力ポートと24本の出力ポートにアクセスできました。メモリへのアクセスは、HLレジスタペアによる間接指定のみが可能で、16ビットレジスタの概念は存在しません。スタックポインタはレジスタとしては存在せず、コール・リターン以外のスタック操作命令も存在しません。

命令セット



8008の命令セットは、1〜3バイトの命令長を持ちます。オペコードはすべて1バイトで、2バイト命令は1バイトの即値を、3バイト命令(ジャンプ・コール)は2バイトのアドレスを持ちます。

以下に、代表的な命令を示します。

転送命令:
`Lrr`: レジスタ間のデータ転送
`LrI`: レジスタに即値をロード
算術演算命令:
`ADr`: Aレジスタにレジスタの内容を加算
`ADI n`: Aレジスタに即値を加算
`SUr`: Aレジスタからレジスタの内容を減算
`SUI n`: Aレジスタから即値を減算
論理演算命令:
`NDr`: Aレジスタとレジスタの論理積
`NDI n`: Aレジスタと即値の論理積
`ORr`: Aレジスタとレジスタの論理和
`ORI n`: Aレジスタと即値の論理和
`XRr`: Aレジスタとレジスタの排他的論理和
`XRI n`: Aレジスタと即値の排他的論理和
ローテート命令:
`RLC`: AレジスタとCフラグを連結して左ローテート
`RRC`: AレジスタとCフラグを連結して右ローテート
`RAL`: Aレジスタを左ローテート
`RAR`: Aレジスタを右ローテート
ジャンプ・コール・リターン命令:
`JMP nn`: 指定アドレスへジャンプ
`CAL nn`: 指定アドレスをコール
`RET`: リターン
入出力命令:
`INP p`: Aレジスタに入力ポートからデータを入力
`OUT p`: Aレジスタの内容を出力ポートへ出力
CPU制御命令:
`NOP`: 何もしない
`HLT`: CPUを停止

8008のインパクト



8008は、初期のパーソナルコンピュータ製品にも採用され、フランス製のMicralやアメリカ製のSCELBIなどがあります。8008の後継となる8080や8085は、バイナリ互換性はありませんが、アセンブリ言語レベルで8008との互換性があり、内部設計も基本的に似ています。x86ファミリの最初の実装である8086は8080の拡張であり、Datapoint 2200の設計に若干似ているとも言えます。

8008の各命令に対応する命令は、8080(および8085、Z80など)の命令セットだけでなく、32ビット化されたx86の命令セットにも存在します。これにより、8008は、その後のコンピュータアーキテクチャに大きな影響を与えたと言えるでしょう。

まとめ



インテルの8008は、初期のマイクロプロセッサとして、その後のコンピュータ技術の発展に重要な役割を果たしました。当初は特定の用途向けに設計されたものでしたが、その汎用性の高さから、様々な分野で利用されるようになり、パーソナルコンピュータの普及にも貢献しました。8008の設計思想は、その後のインテルマイクロプロセッサにも受け継がれ、今日のx86アーキテクチャの礎となっています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。