Comments
Description
Transcript
マイクロコンピュータ
マイクロコンピュータ CPU Chip Select Read/Write アキュムレータ インストラクション デコーダ レジスタ 1 モトローラ社 MC6800 マイクロプロセッサ 2 メモリーIC MC6800 マイクロコンピュータの製作 MC6800 マイクロコンピュータのコンソール 3 MCS 6502 マイクロプロセッサのレジスタ構成 8ビットマイクロプロセッサ Z80 マイクロプロセッサ 4004の後継である8008は世界初の8ビットマイクロプロセッサである。これらのプロセッサは インテルの8080、ザイログのZ80、他のインテル製派生プロセッサの先駆者である。 対抗するモトローラのMC6800と バス互換としパイプライン処理の採用など改良を加えたモステクノロジーの6502が 、Z80と覇を競った。1980年代前半のことである。 Z80も6502もシステム全体のコストを低減することに注力しており、 パッケージを小さくし、要求されるバスを単純なものにし、 それまで外部に別チップで持たなければならなかった回路(例えばZ80はDRAMリフレッシュカ ウンタ)を内蔵した。 これにより1980年初頭にホームコンピュータ市場が新たに生まれ、それなりに使えるマシンが、 99USドルで売られるようになった。 モトローラが切り札としてリリースしたMC6809は命令セットに直交性があり美しい設計が特徴 の、事実上最もパワフルな8ビットマイクロプロセッサであり、当時製品化されたマイクロプロ セッサの中で最も複雑な回路から成っていた。 4 他の初期の8ビットマイクロプロセッサとしてSigneticsの2650が ある。PDP-8を機能縮小しワンチップ化したものであるが、PDP-8 を知らない層からは一風変わったパワフルな命令セットと受け止め られた。 航空宇宙分野での最初のマイクロプロセッサはRCAのRCA 1802(別名 CDP1802、RCA COSMAC)は、1970年代のNASA の宇宙探査機ボイジャーとバイキングに使われた。 木星探査機ガリレオにも搭載されている(1989年出発、1995年到 着)。 CDP1802が使われた理由は、消費電力が極めて小さいことと、 非常に広い電源電圧範囲で動作すること、製造プロセス (産業で の用途Silicon on Sapphire) が宇宙線や放電に他のどんなプロ セッサよりも強いからであった。 16ビットマイクロプロセッサ TI TMS9900 最初の複数チップで構成された16ビットマイクロプロセッサは1973年に登場したナショナル セミコンダクターのIMP-16である。8ビット版のチップセットはIMP-8として1974年に登場した。 1975年、ナショナル セミコンダクターは最初の16ビットマイクロプロセッサPACEを開発、後に NMOS版のINS8900を開発した。 その他の初期のマルチチップ16ビットマイクロプロセッサとしては、PDP-11をLSI化したLSI11(PDP-11#LSI-11を参照)、フェアチャイルドセミコンダクターのMicroFlame 9440があり、こ れらは1975年から1976年に登場した。 最初のシングルチップの16ビットマイクロプロセッサはTIのTMS9900であり、これは同社のミ ニコンピュータTI 990シリーズと互換性があった。9900はミニコンピュータTI 990/4、ホームコン ピュータTI-99/4A、 OEM用マイコンボードTM990シリーズに使われた。 インテルは8080を拡張して16ビットのIntel 8086を設計した。 インテルは8086を8080用ソフトウェアを最も簡単に移植できる方法として提案し、成功した。 8086と8088に続いて、インテルは80186、80286をリリースし、1985年に32ビットの80386をリ リースするに及んで、下位互換を武器にPC市場での占有状態を強固なものにした。 したがって1802は最初の放射線耐性マイクロプロセッサと呼ぶ にふさわしい。 32ビットマイクロプロセッサ 市場では16ビットマイクロプロセッサは完全な32ビットを実装したマイクロプロセッサが現 れるまでのつなぎでしかなかった。 インテルの最初の32ビットマイクロプロセッサはiAPX432である。1981年に登場したもの の市場では失敗した。iAPX432は権限に基づくセキュリティ機構とオブジェクト指向という 進んだアーキテクチャだったのだが、モトローラの68000などの対抗アーキテクチャに比較 して性能が及ばなかった。 モトローラは1985年にMC68020で、データバスもアドレスバスも完全32ビット化されたマ イクロプロセッサを出荷した。68020はUNIX市場では非常に人気を博し、多くの小企業が 68020を使ってデスクトップサイズのシステムを製品化した。日本でもソニーのNEWS、 NECのEWS4800、住友電工のEstationなどが68020を使って製品化された。 続くMC68030はチップにMMUを内蔵し、68KファミリーはMS-DOS以外のあらゆるもの が動作するプロセッサとなった。さらにMC68040ではFPUを内蔵して浮動小数点演算性 能を向上させた。68050は予定していた性能目標を達成できず、リリースされなかった。そ してMC68060が出荷されたころ、市場にはより高性能なRISCプロセッサがあふれていた。 1990年代初頭、68Kファミリーはデスクトップ市場から消えていった。 他の多くの企業が68020やその後継プロセッサを組み込み機器用に使用した。特筆すべ きは、機器に組み込まれた68020の個数は、これまでに出荷されたインテルのPentium搭 載PCより多いのである。ColdFireのプロセッサコアは68020の正当な後継である。 1980年代中盤までに、ナショナル セミコンダクターは外部16ビットで 内部アーキテクチャが32ビットであるマイクロプロセッサNS16032 (後に32016と改称)と完全32ビット版のNS32032を開発。また、そ れを使用したOEM向け32ビット小型コンピュータシリーズをリリース している。シークエント・コンピュータは1980年代中頃にNS32032を 使った最初の対称型マルチプロセッサ (SMP) サーバコンピュータを 開発した。これは設計という面では勝利と言えるものだったが、1980 年代終盤には消えていった。 他にもザイログのZ80000などは興味深いが市場でチャンスを掴む には登場が遅すぎたため即座に消えていった。 インテルが発売した80386は、x86アーキテクチャでの最初の32ビッ トプロセッサであり、ここで採用されたIA-32アーキテクチャ上では多 くの本格的OSが動作し、後のインテルや互換プロセッサの基礎と なった。 1980年代終盤、いわゆる「マイクロプロセッサ戦争」が勃発しいくつ かのマイクロプロセッサが"戦死"した。前述の唯一の設計上の勝利 と称したSequentは、NS32032が消えるとともにインテルのマイクロ プロセッサに切り替えた。 64ビットマイクロプロセッサ PC(PC/AT互換機とMacintosh)向けマイクロプロセッサは21世紀 に入ってから64ビット化が行われた。 2003年4月にAMDのOpteronが、同年6月にはIBMのPowerPC G5が出荷開始され、AMDのAthlon64は2003年9月、インテルXeon は2004年である。 Power Mac G5が最初の64ビットデスクトップとして登場したあと、 AMDが2003年9月にAthlon 64でx86 (IA-32) アーキテクチャを拡張 したAMD64アーキテクチャの64ビットチップを導入し、それに続いて インテルがAMD64互換のIA-32eアー キテクチャの64ビットマイクロ プロセッサを登場させるに及んで、Windowsパソコンにも64ビットデ スクトップ時代が到来した。 AMD64は64 ビットのソフトウェアと同時に32ビットの従来のアプリ ケーションを動作させることができるので、64ビットに対応したオペ レーティングシステムで 動作させることにより、プロセッサの性能と 機能を発揮させることができる。 マイクロコンピュータの誕生と発展 嶋 正利 インテルジャパンデザインセンター 5 4004は日本のビジコン社とインテルによる共同開発である。 1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ トの開発を提案していた。ビジコンの当初案では、マクロ命令による制御で、10個前後[4] のチップが必要というものだった。これは電卓としては汎用(プログラム次第でいろいろな 電卓ができる)だが、電卓用という意味では専用のチップ、というものであった。 これに対し、インテルの技術者テッド・ホフは、 ワード長が4ビットであることを除けば、汎 用のコンピュータそのものという構成を提案した。複数桁の演算処理は、1桁(4ビット)の 演算の反復で置き換え ればよく、また、外部機器の制御も、ソフトウェアによる制御に置 き換えればよい、というのである。1969年8月末のことであるが、この構成におけるCPU こそが4004であり、マイクロプロセッサの原点となったわけである。 このアイディアにもとづき、嶋正利とフェデリコ・ファジンが中心となって、嶋が論理設計し ファジンが物理設計(回路設計とマスクレイアウト)を行い、4004は完成した。 当初の契約では、このチップはビジコンに対する専売となっていたが、チップの汎用性に 気付いたインテルが他への販売を希望し、一方でビジコン側は資金の要求があった事か ら、契約金の一部をビジコンに払い戻すことでインテルはチップの販売権を得て、1971年 11月15日に4004として出荷が開始された。 最高動作周波数 741KHz。ただし、命令アドレス出力に3クロック、命令読み出し に2クロック、命令実行に3クロックの計8クロックを要する。 プログラムのメモリ空間とデータのメモリ空間の分離(ハーバード・アーキテク チャ)。ノイマンボトルネックを解消し性能を向上するために採用されたハーバー ド・アーキテクチャではバスを分離するが、4004の場合は性能が目的ではない。 ピン数の節約のため、以下の信号は単一の4ビット物理バスを共用(多重化)して いる。 12ビットのアドレス 8ビットの命令 4ビットのデータ 命令セットには46種の命令がある(うち41種は8ビット長、5種は16ビット長)。 16個の4ビット長レジスタ スタックはハードウェアスタックで、プログラムカウンタに直結されておりサブルー チン呼び出し専用。深さは3段。 Intel 4004 6 MCS-4 MCS-4ファミリー(1970年代末 - 1980年代初製) 当初の周辺チップとしては、容量2048bitのマスクROM Intel 4001、容量 320bitのRAM Intel 4002、10bitシフトレジスタ兼10bit出力ポートのIntel 4003があった。これらを含めてMCS-4(Micro Computer Set)とした。 初期ファミリ内でのチップの組み合わせで、ROM 32768bit(2048bit×16)、 RAM 1280bit(320bit×4)の構成が可能。 ビジコンの目的であった電卓における構成は、だいたい以下のようなものとな る。 4001に関数などのプログラムが格納されている 4003でキー入力をシフトしながら4004へ渡す 4004で入力された数値を4002に書き込む 4001にあるプログラムを使って4004で1桁ずつ演算を行い結果を4002に書き 込む 4003でシフトしながら表示板に出力する 7 i8080 8 9 10