紫色のセラミック、金メッキの金属製蓋とピンを備えた Intel C8008-1 プロセッサーのバリエーション | |
| 一般情報 | |
|---|---|
| 発売 | 1972年4月 |
| 製造中止 | 1983年[1] |
| 販売元 | インテル |
| デザイン: | コンピュータターミナルコーポレーション(CTC) |
| 共通メーカー |
|
| パフォーマンス | |
| 最大CPU クロックレート | 500kHz~800kHz |
| データ幅 | 8ビット |
| アドレス幅 | 14ビット |
| アーキテクチャと分類 | |
| 応用 | コンピュータ端末、電卓、瓶詰め機、1970年代のASEA 産業用ロボット[2](IRB 6)、簡易コンピュータなど。 |
| テクノロジーノード | 10μm |
| 命令セット | 8008 |
| 物理的仕様 | |
| トランジスタ |
|
| パッケージ |
|
| ソケット | |
| 歴史 | |
| 後継 | インテル 8080 |
| サポート状況 | |
| サポートされていません | |
Intel 8008 (「8008」または「8008」) は、1972 年 4 月に発表された、16 KB のメモリをアドレス指定できる初期の8 ビットマイクロプロセッサです。8008 アーキテクチャは、 Computer Terminal Corporation (CTC) によって設計され、 Intelによって実装および製造されました。8008 はもともと CTC のDatapoint 2200プログラマブル ターミナルで使用するために設計されましたが、セイコーが電卓に使用することに興味を示したため、CTC と Intel の間の契約により、Intel は他の顧客にもこのチップを販売できるようになりました。
歴史
Datapoint 3300 の過度の熱放射などのいくつかの問題に対処するために、Computer Terminal Corporation (CTC) は、3300 の後継機として計画されていたアーキテクチャを設計し、CPU を内部回路の一部として 1 つのチップ上に再実装しました。チップ設計を製造できる会社を探していた CTC の共同設立者である Austin O. "Gus" Roche は、当時は主にメモリ チップのベンダーだった Intel に目を向けました。[3] Roche はBob Noyceと会い、彼はこのコンセプトに懸念を示しました。John Frassanito は次のように回想しています。
「ノイス氏は、これは興味深いアイデアであり、インテルは実現できるが、愚かな動きだと述べた。コンピュータチップの場合、コンピュータ1台につき1つのチップしか販売できないが、メモリの場合はコンピュータ1台につき数百のチップを販売できると彼は言った。」[3]
もう一つの大きな懸念は、インテルの既存顧客が自社のプロセッサ設計で使用するためにインテルのメモリチップを購入していたことである。インテルが独自のプロセッサを導入した場合、競合相手と見なされ、顧客がメモリを他社に求める可能性がある。それでも、ノイスは1970年初頭に5万ドルの開発契約に合意した(2023年では39万2000ドルに相当)。テキサス・インスツルメンツ(TI)も2番目のサプライヤーとして加わった。[要出典]
TIはIntelの図面に基づいて1201のサンプルを作ることができたが[要出典]、これらはバグが多いことが判明し、却下された。Intel自身のバージョンは遅れた。CTCは、シングルチップCPUを待つ代わりに、ディスクリートTTLを使用して新しいバージョンの端末を再実装することを決定した。新しいシステムは1970年春にDatapoint 2200としてリリースされ、 1970年5月25日にGeneral Millsに初めて販売された。 [3] CTCは、2200がリリースされた後、不要になったため1201の開発を一時停止した。6か月後、セイコーはIntelにアプローチし、科学計算用電卓に1201を使用することに興味を示した。これは、ビジコムがビジネス電卓で使用していたよりシンプルなIntel 4004の成功を見た後だったと思われる。その後、4004の設計者であり、現在は1201のプロジェクトリーダーであるフェデリコ・ファギンのリーダーシップの下、小規模な再設計が行われ、16ピンから18ピンの設計に拡張され、新しい1201は1971年後半にCTCに納品されました。[3]
その時点で、CTCは再び次のステップに進み、今度はより高速なDatapoint 2200 IIに移行していた。1201はもはや新モデルには十分な性能ではなかった。CTCは1201への関与を終了し、5万ドルの契約金を支払う代わりに設計の知的財産をIntelに譲渡することを決議した。Intelはこれを8008と改名し、1972年4月に120ドル(2023年の874ドルに相当)で自社のカタログに掲載した。この改名は、8008を単なる4〜8ポートとして提示することで4004チップの成功に乗じようとしたものだったが、8008は4004に基づいているわけではない。[4] 8008は商業的に成功した設計となった。これに続いてIntel 8080が、そして大成功を収めたIntel x86ファミリーが続いた。[3]
8008 をベースに完全なシステムを構築した最初のチームの 1 つが、カリフォルニア州立大学サクラメント校のビル・ペンツのチームでした。サクラメント大学の 8008は、おそらく最初の真のマイクロコンピュータであり、 PROM にIBM Basic アセンブリ言語で構築されたディスク オペレーティング システムを搭載し、カラー ディスプレイ、ハード ドライブ、キーボード、モデム、オーディオ/紙テープ リーダー、プリンターをすべて駆動していました。[5]プロジェクトは 1972 年の春に開始され、Tektronixの重要な支援により、システムは 1 年後には完全に機能するようになりました。ビルは、MCS-8キットでインテルを支援し、インテル 8080命令セットに重要な情報を提供して、業界や愛好家にとって便利なものにしました。[要出典]
英国では、トム・スピンク率いるSE Laboratories Engineering (EMI)のチームが1972年に8008のプレリリースサンプルをベースにマイクロコンピュータを製作した。ジョー・ハードマンはチップを外部スタックで拡張した。これにより、電源障害時の保存と回復が可能になった。また、ジョーは直接スクリーンプリンタも開発した。オペレーティングシステムは、L. クロフォードとJ. パーネルがDigital Equipment Corporation PDP-11用に開発したメタアセンブラを使用して記述された。[6]オペレーティングシステムはPROMに焼き付けられた。割り込み駆動型で、キューイングされ、プログラムとデータのページサイズは固定だった。経営陣向けに運用可能なプロトタイプが準備されたが、経営陣はプロジェクトを継続しないことを決定した。[要出典]
8008 は、米国製SCELBIキット、フランス製Micral N、カナダ製MCM/70など、最初の商用非電卓パーソナル コンピュータ(Datapoint 2200 自体を除く) の CPU でした。また、ヒューレット パッカードの2640ファミリ コンピュータ端末の最初の数モデルの制御用マイクロプロセッサでもありました。 [引用が必要]
1973年、インテルは8008用の命令セットシミュレーターINTERP/8を提供した。 [7]これは、インテルのコンサルタントとして働いていたゲイリー・キルドールによってFORTRAN IVで書かれた。 [8] [9]
デザイン

| 1 3 | 1 2 | 1 1 | 1 0 | 0 9 | 0 8 | 0 7 | 0 6 | 0 5 | 0 4 | 0 3 | 0 2 | 0 1 | 0 0 | (ビット位置) |
| メインレジスター | ||||||||||||||
| あ | アキュムレータ | |||||||||||||
| B | Bレジスタ | |||||||||||||
| C | Cレジスタ | |||||||||||||
| だ | Dレジスタ | |||||||||||||
| え | Eレジスター | |||||||||||||
| H | Hレジスタ(間接) | |||||||||||||
| ら | Lレジスタ(間接) | |||||||||||||
| プログラムカウンタ | ||||||||||||||
| パソコン | プログラムカウンタ | |||||||||||||
| プッシュダウンアドレス呼び出しスタック | ||||||||||||||
| として | 通話レベル1 | |||||||||||||
| として | コールレベル2 | |||||||||||||
| として | 通話レベル3 | |||||||||||||
| として | 通話レベル4 | |||||||||||||
| として | 通話レベル5 | |||||||||||||
| として | 通話レベル6 | |||||||||||||
| として | 通話レベル7 | |||||||||||||
| 旗 | ||||||||||||||
| C | ポ | ず | ス | 旗[10] [a] | ||||||||||
8008は10μmシリコンゲートエンハンスメントモードPMOSロジックで実装された 。初期バージョンは最大0.5MHzのクロック周波数で動作した。これは後に8008-1で指定された最大値0.8MHzにまで増加された。命令は5から11のTステートを必要とし、各Tステートは2クロックサイクルである。[11] レジスタ間のロードとALU操作は5T(0.5MHzで20μs)、レジスタとメモリ間の操作は8T(32μs)、呼び出しとジャンプ(実行される場合)は11のTステート(44μs)を必要とする。[12] 8008は、1秒あたりの命令数(0.8MHzで36,000から80,000)で4ビットのIntel 4004およびIntel 4040よりも若干遅い。[13]しかし、8008は一度に8ビットのデータを処理し、はるかに多くのRAMにアクセスできるため、ほとんどのアプリケーションではこれらのプロセッサよりも速度面で大きな優位性があります。8008には3,500個のトランジスタがあります。[14] [15] [16]
このチップは 18 ピンDIPに制限されていますが、8 ビット バス 1 本で 8 ビット データ、14 アドレス ビット、2 ステータス ビットを転送する 3 つの機能があります。この小さなパッケージでは、メモリとのインターフェイスに約 30 個の TTL サポート チップが必要です。[17]たとえば、16 K × 8 ビットのメモリにアクセスできる 14 ビット アドレスは、このロジックの一部によって外部メモリ アドレス レジスタ (MAR) にラッチする必要があります。8008 は 8 つの入力ポートと 24 の出力ポートにアクセスできます。[11]
コントローラやCRT 端末での使用には許容できる設計ですが、他のほとんどのタスクでは、少なくとも次世代のマイクロプロセッサと比較すると、かなり扱いにくいものになります。初期のコンピュータ設計のいくつかはこれをベースにしていましたが、ほとんどのコンピュータでは、代わりに後期の大幅に改良されたIntel 8080が使用されました。[引用が必要]
関連するプロセッサ設計
その後の 40 ピンNMOS Intel 8080 は、 8008 のレジスタと命令セットを拡張し、より効率的な外部バス インターフェイスを実装しました (22 個の追加ピンを使用)。アーキテクチャ上の関連性は密接でしたが、8080 は 8008 とバイナリ互換ではなかったため、8008 プログラムは 8080 では実行できませんでした。ただし、当時 Intel では 2 つの異なるアセンブリ構文が使用されていたため、8080 は 8008 アセンブリ言語の下位互換性を維持したまま使用できました。
Intel 8085 は、デプレッション モードトランジスタを使用し、2 つの新しい命令も追加された、8080 の電気的に近代化されたバージョンです。
オリジナルの x86 プロセッサであるIntel 8086は、8080 の非厳密な拡張であるため、オリジナルの Datapoint 2200 設計にも大まかに似ています。ほぼすべての Datapoint 2200 および 8008 の命令は、8080、8085、Z80の命令セットだけでなく、最新のx86プロセッサの命令セットにも同等のものがあります(ただし、命令のエンコーディングは異なります)。
特徴
8008アーキテクチャには以下の機能が含まれています: [引用が必要]
- 7 つの 8 ビット「スクラッチパッド」レジスタ: メイン アキュムレータ (A) と他の 6 つのレジスタ (B、C、D、E、H、L)。
- 14 ビットのプログラム カウンター (PC)。
- 7 レベルのプッシュダウン アドレスコール スタック。実際に使用されるレジスタは 8 つで、最上位のレジスタは PC です。
- 4 つの条件コード ステータス フラグ: キャリー (C)、偶数パリティ (P)、ゼロ (Z)、および符号 (S)。
- H レジスタと L レジスタ (HL) を 14 ビットのデータ ポインタとして使用する間接メモリ アクセス (上位 2 ビットは無視されます)。
命令セット
命令はすべて 1 ~ 3 バイトの長さで、最初のオペコード バイトと、それに続く最大 2 バイトのオペランド (即値オペランドまたはプログラム アドレス) から構成されます。命令は 8 ビットのみで動作し、16 ビット動作はありません。データ メモリのアドレスを指定するメカニズムは 1 つしかありません。それは、H レジスタと L レジスタの連結 (M として参照) によってポイントされる間接アドレス指定です。ただし、8008 は 14 ビット プログラム アドレスをサポートしています。マルチレベル サブルーチン呼び出しと戻りのための自動 CAL 命令と RET 命令があり、これらはジャンプのように条件付きで実行できます。サブルーチン用の 8 つの 1 バイト呼び出し命令 (RST) は、固定アドレス 00h、08h、10h、...、38h に存在します。これらは、割り込みサービス ルーチンを呼び出すために外部ハードウェアによって提供されることを意図していますが、高速呼び出しとして使用することもできます。任意の 2 つのレジスタ間、またはレジスタとメモリ間で直接コピーできます。アキュムレータ (A) と任意のレジスタ、メモリ、または即値の間で、8 つの数学/論理関数がサポートされています。結果は常に A に格納されます。増分と減分はほとんどのレジスタでサポートされていますが、不思議なことに A ではサポートされていません。ただし、レジスタ A は 4 つの異なる回転命令をサポートしています。すべての命令は 3 ~ 11 の状態で実行されます。各状態では 2 つのクロックが必要です。
コード例1

次の 8008アセンブリソース コードは、指定されたサイズのデータ バイトのブロックをある場所から別の場所にコピーする という名前のサブルーチンのコードですMEMCPY。Intel の 8008 アセンブラは、+ 演算子と - 演算子のみをサポートしていました。この例では、8080 のアセンブラの AND 演算子と SHR (右シフト) 演算子を借用して、14 ビット アドレスの下位バイトと上位バイトを選択し、8 ビット レジスタに配置します。当時の 8008 プログラマーは、数値を計算してアセンブラに入力する必要がありました。
上記のコードでは、すべての値が 8 進数で指定されています。位置SRC、DST、 は、CNTというサブルーチンの 16 ビット パラメータですMEMCPY。実際には、CPU には 14 ビットのアドレス指定可能なメモリ空間しかないため、値の 14 ビットのみが使用されます。値はリトルエンディアン形式で格納されますが、これは任意の選択です。CPU は一度に 1 バイト以上をメモリに読み書きできないためです。特定のメモリ アドレスからレジスタを直接ロードする命令がないため、最初に HL レジスタ ペアにアドレスをロードし、次に M オペランドからターゲット レジスタをロードします。これは、HL レジスタ ペアのメモリ位置からの間接ロードです。BC レジスタ ペアにはパラメータCNT値がロードされ、ループの終了時にゼロになるまでデクリメントされます。使用される命令のほとんどは、単一の 8 ビット オペコードを占有することに注意してください。
コード例2
次の 8008 アセンブリ ソース コードは、データ バイトのブロックをある場所から別の場所にコピーする、MEMCPY2 という簡略化されたサブルーチン用です。バイト カウンターを 8 ビットに減らすことで、すべてのサブルーチン パラメーターを 8008 のレジスタ ファイルにロードするのに十分なスペースが確保されます。
デザイナー
- CTC (命令セットとアーキテクチャ): Victor Poorと Harry Pyle。
- Intel (シリコンへの実装):
- テッド・ホフとスタン・メイザーは、シフトレジスタメモリではなくRAMレジスタメモリを使用し、いくつかの命令と割り込み機能を追加したCTCアーキテクチャのシングルチップ実装を提案した。8008(当初は1201と呼ばれていた)チップ設計は4004の開発前に始まった。しかし、ホフとメイザーはチップ設計者でもプロセス開発者でもなかったため、「シリコン設計」を開発することができず、また開発しなかった。さらに、フェデリコ・ファギンが4004用に開発中だった必要なシリコンゲートベースの設計方法論と回路はまだ利用できなかった。[18]
- フェデリコ・ファギンは、4004の設計を終えると、進捗が遅れて約7か月間中断された後、1971年1月から1972年4月に無事完了するまでプロジェクトのリーダーとなった。
- プロジェクト エンジニアの Hal Feeney は、Faggin の監督の下で詳細なロジック設計、回路設計、および物理レイアウトを行い、Faggin が当初 Intel 4004 マイクロプロセッサ用に開発したのと同じ設計手法を採用し、4004 用に開発した基本回路を活用しました。D5 と D6 のボンディング パッドのほぼ中間に、組み合わせた「HF」ロゴがチップ上にエッチングされました。
二次情報源
- Intel 8008セカンドソース
-
マイクロシステムズインターナショナル(MIL)MF8008
-
シーメンスSAB8008
参照
- インテル インテリック 8
- Mark-8およびSCELBI、8008 ベースのコンピュータ キット
- MCM/70とMicral、先駆的なマイクロコンピュータ
- PL/Mは、ゲイリー・キルドールが開発したマイクロプロセッサ Intel 8008 を対象とした最初のプログラミング言語です。
注記
- ^ CPZS フラグは、INP 命令の PCC サイクルの状態 4 中に、この順序でグループとして表示されます。
参考文献
- ^ 「CPU のライフサイクル」www.cpushack.com。
- ^ “Thirty years in robotics – Robotics”. 2014-05-19. 2014-03-19時点のオリジナルよりアーカイブ。2018-04-11に閲覧。
- ^ abcde Wood, Lamont (2008-04-08)、「忘れられた PC の歴史: パーソナル コンピュータの真の起源」、Computerworld、2018-11-16 にオリジナルからアーカイブ、2014-12-02 に取得
- ^ Ken Shirriff (2021-01-26). 「On the Metal: Ken Shirriff」. Oxide Computing Podcast (インタビュー). インタビュー: Bryan Cantrill、Jessie Frazelle、Steve Tuck。イベントは 19:52 に発生します。
まず、4004 と 8008 はまったく異なるチップです。マーケティングでは、4 ビットと 8 ビットのバージョンのように聞こえますが、まったく異なります。
- ^ 「世界で長く失われた最初のマイクロコンピュータの内部」cnet.com 2010-01-08 2018-04-11閲覧。
- ^ ブルネル大学、1974年。技術修士論文、LRクロフォード。
- ^ 「XI. 付録 III. MCS-8 ソフトウェア パッケージ - シミュレータ」。MCS-8 マイクロコンピュータ セット - 8008 - 8 ビット並列中央処理装置 - ユーザーズ マニュアル(PDF)。改訂第 4 版、第 2 刷。米国カリフォルニア州サンタクララ: Intel Corporation。1974年 [1973 年 11 月]。pp. 84–94。MCS-056-0574/25K。2023年 11 月 25 日にオリジナルからアーカイブ(PDF)されました。2023年 11 月 25 日に取得。(132ページ)
- ^ Kildall, Gary Arlen (1974-06-27). 「高水準言語がマイクロコンピュータプログラミングを簡素化」(PDF) .エレクトロニクス. McGraw-Hill Education . pp. 103–109 [108] . 2021-11-14 にオリジナルからアーカイブ(PDF) . 2021-11-14に取得。
- ^ 「8008 シミュレータ INTERP/8」(PDF)。マイクロコンピュータ ソフトウェア。米国カリフォルニア州サンタクララ: Intel Corporation。1975年 3 月。製品コード 98-118A。MCS-514-0375/27.5K。2023年 11 月 25 日にオリジナルからアーカイブ(PDF) 。2023年 11 月 25 日に取得。(2ページ)
- ^ 8008 8ビットパラレル中央処理装置(PDF) (Rev 4、第2刷)。Intel。1973年11月。pp. 14、17 。 2024年4月30日閲覧。
- ^ ab 「MCS-8 マイクロコンピュータセット ユーザーズマニュアル」(PDF) . Intel Corporation . 1972 . 2010 年 12 月 4 日閲覧。
- ^ 「Intel 8008 オペコード」。2010年 12 月 4 日閲覧。
- ^ 「Intel 8008 (i8008) マイクロプロセッサ ファミリ」。CPU World。2003–2010 年。2010 年 12 月 4 日閲覧。
- ^ Intel. 「ゴードン・ムーアとムーアの法則」。2009年9月4日時点のオリジナルよりアーカイブ。2009年6月28日閲覧。
- ^ Intel (2012). 「Intel チップ: タイムライン ポスター」
- ^ Intel (2008). 「マイクロプロセッサ クイック リファレンス ガイド」
- ^ フェデリコ・ファギンの口述歴史(PDF) (X2941.2005 ed.)。コンピュータ歴史博物館。2004年9月22日。p.82 。 2023年7月14日閲覧。
- ^ Faggin, Federico ; Hoff, Jr., Marcian E. ; Mazor, Stanley ; Shima, Masatoshi (1996 年 12 月). 「4004 の歴史」. IEEE Micro . 16 (6). Los Alamitos, USA: IEEE Computer Society: 10–19. doi :10.1109/40.546561. ISSN 0272-1732.
外部リンク
- MCS-8 ユーザーマニュアルと 8008 データシート (1972)
- Wood, Lamont (2008-08-08). 「忘れられた PC の歴史: パーソナル コンピュータの真の起源」。Computer World。2018-11-16にオリジナルからアーカイブ。2014-12-02に取得。
- Intel 8008 非公式サポートページ
- DigiBarn Computer MuseumのBill PentzのSacramento State Machineのページ。8008をベースに構築された完全なマイクロコンピュータ。
- Martin, Donald P. (1974)。マイクロコンピュータの設計。Martin Research。
- — (1976). マイクロコンピュータ設計 (第2版). Martin Research . OCLC 911808003.
- Runyan, Grant (1977 年 4 月)。「今、8008 用の BASIC が実現しました。さらに!」Kilobaud Magazine : 116–118。
- 「Intel 8008 マイクロプロセッサ用の BASIC 言語インタープリタ」イリノイ大学、1974 年。
- 8008 アセンブリ言語リファレンス カード
- Shirriff, Ken (2016 年 12 月)。「45 年前の革命的な 8008 マイクロプロセッサのダイ写真と分析」。
- — (2017 年 2 月)。「8008 マイクロプロセッサの驚くほど高度な ALU をリバース エンジニアリングする」。
- — (2020 年 10 月)。「ブートストラップ ロードによって歴史的な Intel 8008 プロセッサが実現した経緯」。
- — (2020 年 11 月)。「Intel 8008 プロセッサのキャリー先読み回路のリバース エンジニアリング」。
