マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect ›...

10
1 マイクロコンピュータ CPU Chip Select Read/Write レジスタ アキュムレータ インストラクション デコーダ

Transcript of マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect ›...

Page 1: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

1

マイクロコンピュータ

CPU

Chip SelectRead/Write

レジスタ

アキュムレータ インストラクションデコーダ

Page 2: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

2

モトローラ社MC6800マイクロプロセッサ

Page 3: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

3

メモリーIC

MC6800 マイクロコンピュータの製作

MC6800 マイクロコンピュータのコンソール

Page 4: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

4

MCS 6502 マイクロプロセッサのレジスタ構成

8ビットマイクロプロセッサ

Z80 マイクロプロセッサ4004の後継である8008は世界初の8ビットマイクロプロセッサである。これらのプロセッサは

インテルの8080、ザイログのZ80、他のインテル製派生プロセッサの先駆者である。対抗するモトローラのMC6800とバス互換としパイプライン処理の採用など改良を加えたモステクノロジーの6502が、Z80と覇を競った。1980年代前半のことである。Z80も6502もシステム全体のコストを低減することに注力しており、

パッケージを小さくし、要求されるバスを単純なものにし、それまで外部に別チップで持たなければならなかった回路(例えばZ80はDRAMリフレッシュカ

ウンタ)を内蔵した。これにより1980年初頭にホームコンピュータ市場が新たに生まれ、それなりに使えるマシンが、99USドルで売られるようになった。モトローラが切り札としてリリースしたMC6809は命令セットに直交性があり美しい設計が特徴の、事実上 もパワフルな8ビットマイクロプロセッサであり、当時製品化されたマイクロプロ

セッサの中で も複雑な回路から成っていた。

Page 5: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

5

他の初期の8ビットマイクロプロセッサとしてSigneticsの2650がある。PDP-8を機能縮小しワンチップ化したものであるが、PDP-8を知らない層からは一風変わったパワフルな命令セットと受け止められた。

航空宇宙分野での 初のマイクロプロセッサはRCAのRCA 1802(別名 CDP1802、RCA COSMAC)は、1970年代のNASAの宇宙探査機ボイジャーとバイキングに使われた。木星探査機ガリレオにも搭載されている(1989年出発、1995年到

着)。

CDP1802が使われた理由は、消費電力が極めて小さいことと、非常に広い電源電圧範囲で動作すること、製造プロセス (産業での用途Silicon on Sapphire) が宇宙線や放電に他のどんなプロ

セッサよりも強いからであった。

したがって1802は 初の放射線耐性マイクロプロセッサと呼ぶ

にふさわしい。

16ビットマイクロプロセッサ

TI TMS9900初の複数チップで構成された16ビットマイクロプロセッサは1973年に登場したナショナル

セミコンダクターのIMP-16である。8ビット版のチップセットはIMP-8として1974年に登場した。1975年、ナショナル セミコンダクターは 初の16ビットマイクロプロセッサPACEを開発、後にNMOS版のINS8900を開発した。

その他の初期のマルチチップ16ビットマイクロプロセッサとしては、PDP-11をLSI化したLSI-11(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市場での占有状態を強固なものにした。

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ビットに対応したオペレーティングシステムで 動作させることにより、プロセッサの性能と

機能を発揮させることができる。

マイクロコンピュータの誕生と発展

嶋 正利

インテルジャパンデザインセンター

Page 6: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

6

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

Page 7: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

7

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でシフトしながら表示板に出力する

Page 8: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

8

i8080

Page 9: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

9

Page 10: マイクロコンピュータ - 愛媛大学akitsu.ee.ehime-u.ac.jp › lect › Microcomputer_02.pdf6 4004は日本のビジコン社とインテルによる共同開発である。1969年、ビジコンはプログラム制御[3]の電卓を計画し、インテルにそのためのチップセッ

10