■ CPUの歴史
CPU

Central Processing Unit の略で日本語に訳すと中央処理装置になります。コンピュターの中でデータを処理する中核部分の事です。

その大きさは手のひらに乗ってしまう小さなものから、ビルの1フロアが全部CPUなんてものまで様々です。

手のひらサイズのCPUを特にMPU(Micro Processing Unit)と呼んだりもしますが、このページではCPUという分類の中に含めています。

Motorola系だとMPUって呼び方が普通みたいですが、「Micro processor」という言葉はIntel社がi4004を作った時に作った造語だそうです。


ビット数

よくCPUの話題がでると16ビットだとか32ビットだとか言います。このビット数とはCPUが処理できるデータの大きさを表しています。

例えばデータの転送の時なんかは、ビット数が大きいと一度に転送できるデータの量が大きいのでビット数が小さいCPUよりも速く転送を終える事ができます。

大概8ビットが1バイトですが、そうでない場合もあります。


アドレスバス本数

コンピュターはメモリにデータを記憶するときには必ず「メモリのxxって場所に保存するよ!!」って場所を指定して記憶しているのですが、その場所を指定する為の電線の本数です。

この電線の数が多いほど多くのメモリを管理できます。その電線の名前をアドレスバスといい1本、2本……というふうに数えます。


レジスタ

レジスタとはCPUの内部にあるデータの記憶場所の事を言います。CPUはこのレジスタという記憶場所に計算するデータをメインメモリから一端読み出してきて計算したりします。

レジスタ1つの扱えるビット数を「nビット」といい、レジスタそのものの個数を「本」といいます。32ビットCPUとか16ビットCPUとかいうのはこのレジスタ1本あたりのビット数が何ビットあるかで決まります。

CPU内部にあるというと最近はキャッシュメモリと誤解する方がいらっしゃるかもしれませんがレジスタとキャッシュメモリとは別の物です。一部のCPUではその両方の役割を兼ね備えた物もあります。



電卓用LSI
型番 PPS-25
メーカーフェアチャイルド社
発表 不明
主な用途電卓用
特徴 電卓用のLSIセット。
25ビットのレジスタを4本同時に並列処理できる。
搭載 当時の国内電卓メーカーの電卓

CPUが誕生する前から、既にCPUらしく動作をするものがありました。たとえば電卓用に設計されたフェアチャイルド社のPPS-25です。PPS-25は内部に25ビットのレジスタを4本もっていて並列処理できました。しかし内部データ形式がBCDコードなどあまりにも電卓を意識した設計になっていた為にCPUとしては広く使われませんでした。その後アーキテクチャはヒューレットパッカード社の関数電卓用LSIに引き継がれましたが、国内のメーカ数社に使われただけで市場から姿を消していきました。

※訂正:2013年7月10日以前はPPS-25の事を誤って、PSC-25と書いていました。謹んでお詫び申し上げます。



マイクロプロセッサの誕生
型番 i4004
ビット数 4ビット
発表 1971年12月
パッケージDIP
メーカー 米インテル社(開発依頼・共同開発は日本ビジコン社)
主な用途 電卓用・汎用
特徴 世界初のマイクロプロセッサ。
PPS-25に比べてプログラムによって動作を変更できた。
搭載 電卓・その他

日本のビジコン社がインテルに電卓用として開発を依頼して米インテル社が制作したのがi4004で、世界最初のマイクロプロセッサといわれています。先のPPS-25と比べるとi4004はレジスタが4ビットしか無くPPS-25の様に25ビットなどを計算しようとするなら25ビット計算用のプログラムを組まないとならなく、電卓用としてはあまり性能のいいものではありませんでした。しかし、この点は4004に融通性を与えました。

当初インテルはビジコン社との契約の関係で、4004を含むLSIセット(MSC-4)を電卓以外の用途に使用するという条件付きで販売をはじめました。4004は今までの電卓用LSIと比べてプログラムさえ組んでやれば何でも行えるという事になり、その点で4004はすばらしいという評価を受けるようにになったのです。

ちなみに、4ビットのCPU自体は1996年の現在に至っても至る所で使用されています。あなたの持っているテレビのリモコンの中に入っているコンピュターのCPUの殆どは4ビットの筈です。これは4ビットのCPUの価格が安いためです。単価としては数百円程度の違いしか無いのですが、100万台、200万台と大量生産するとこの数百円の差が利益に大きく響いてくる訳です。



8ビットCPU誕生
型番 i8008
ビット数 8ビット
発表 不明
パッケージDIP
メーカー 米インテル社(開発依頼は、米データーポイント社)
主な用途 汎用・コンピュター端末用
特徴 世界初の8ビットCPU。
搭載 精工舎のパソコン

インテルはその後、米データポイント社の依頼でコンピュターの端末用にi8008を開発しますが性能がデータポイント社の要求に見合う物ではなかったので採用はされませんでした。なんとi8008のスピードはi4004よりも遅かったのです。その後日本の精工舎のパソコンに採用されたりしました。



8ビットCPUの時代
型番 i8080
ビット数 8ビット
発表 1974年
パッケージDIP
メーカー 米インテル社
主な用途 汎用
特徴 i8008の改良版

型番 MC6800
ビット数 8ビット
発表 1974年
パッケージDIP
メーカー Motorola
主な用途 汎用
特徴 それまでのミニコン等の機能を1チップ化

型番 F-8
ビット数 8ビット
発表 1974年
メーカー フェアチャイルド社
主な用途 汎用

コンピュターの端末用に開発された8008の発表後、潜在需要の大きさを感じ始めた各半導体メーカーは、より汎用化し能力を強化したCPUの開発に着手し、1974年にはインテル社がi8080を、モトローラ社がMC6800を、フェアチャイルド社がF-8を発表したことにより、マイクロプロセッサというものが業界で注目を受けはじめました。

インテル社のi8080は、8008の改良版であったにもかかわらず、それまでの汎用機から脱却し急速に8ビット・マイクロプロセッサの標準的な立場を築いてしまいました。これは、i8080がいわゆる第2世代のマイクロプロセッサとして最初に発表され売り出されたこと、市場がインテル社の主導型で進んできたことなどにも起因してると思われます。

モトローラのMC6800は、ハードウエア構成やインストラクション・セット(命令セット)が非常に単純明快で使いやすい点を誰もが認めるところでしたが、i8080用のオペレーティングシステム(OS)としてデジタルリサーチ社よりCP/Mが発表され、それが普及するにつれて、8ビット・マイクロプロセッサのシェアにおけるMC6800の大敗は確実なものとなってしまいました。

i8080はi8080とi8080Aの二種類がありますが、これはi8080のGND配線が設計ミスで細目に作られてしまった為にそれを修正したのがi8080Aです。



Z80と8085
型番 Z80
ビット数 8ビット
パッケージDIP
メーカー 米Zilog社
主な用途 各種8ビットパソコン、MSX、ゲーム機、
ゲームセンター用ゲーム基板,制御,その他
特徴 実質的にi8080の改良版。
単相クロック、単一電源で動作。
D-RAMのリフレッシュ回路を内蔵。

型番 i8085
ビット数 8ビット
パッケージDIP
メーカー 米インテル社
主な用途 各種8ビットパソコン、制御、その他
特徴 i8080の改良版。
単相クロック、単一電源で動作。

i4004、i8080の設計で中心的な役割を果たした嶋正利さんやファンジンさんなどが創立まもないザイログ社に移り、大手石油会社で有名なエクソン社(ESSO)の資金力を借りて開発されたのがZ80です。

i8080と完全なコードコンパチビリティ(上位互換性)をもち、i8080に比べ周辺部品を少なく回路を設計でき、電源を+5Vだけで動作し、クロックも1つのクロックを加えてやれば動作しi8080に比べて高速という利点があります。

そのためかZ80は、ものすごい勢いで圧倒的なシェアを獲得し8ビットCPUの顔みたいな存在になっていきました。マイクソフト社のMSXや日本電気のPC-8000シリーズなどに使われたのは有名な話です。

Z80は今でも各方面で活躍中の大変息が長いマイクロプロセッサでもあります。本家のインテル社もZ80に対抗してi8080をさらに改良したi8085を発表しますが、Z80に一歩譲った感があります。



6502と6809
型番 6502
ビット数 8ビット
パッケージDIP
メーカー 米MOSテクノロジー社
主な用途 ファミリーコンピューター(任天堂)、PET/CBM(コモドール)
AppleⅡ、その他8ビットパソコン、制御、その他
特徴 実質的にMC6800の改良版。

型番 6809
ビット数 8ビット
パッケージDIP
メーカー 米モトローラ社
主な用途 8ビットパソコン、制御、その他
特徴 MC6800の改良版。
6809上で動くOSにOS-9があった。

68系では、MOSテクノロジー社がMC6800の流れを受け継いだ6502を発表しました。このマイクロプロセッサは、かの有名な任天堂のファミリーコンピューターに使われています。他に有名なところでは米アップル社のAppleⅡなどが有名です。

さらにモトローラ社自身も、MC6800の上位にあたるMC6809を発表しました。MC6809は爆発的なヒットはしませんでしたが、8ビットのCPUとして考えられるすべての機能が盛り込まれ、究極の8ビットマイクロプロセッサとも呼ばれました。6809のもとではOS-9というマルチユーザー、マルチタスクの非常に優れたOSを動作させる事ができます。8ビットという時代なのにこれは大変に凄い事です。



16ビットの幕開け(8086誕生)
型番 i8086(iAPX86)/i8088
ビット数 16ビット
パッケージDIP
メーカー 米インテル社
主な用途 PC-9800シリーズ、各種IBMパソコン、制御、その他
特徴 インテル社初の16ビットCPU。
i8085との互換のため
セグメントというメモリ管理方式を使用している。

Z80の普及から6809の発表に至るにつれて、8ビット時代も隆盛を迎えました。しかしマイクロプロセッサに対する要求は更に高まり、色々と不満な点も出てきました。以下はその一例です。

接続できる最大メモリ容量がすくない。
 (バンクメモリ方式などをつかわなければ64KBまでしかメモリを扱えないものが殆ど)
処理速度が遅い。
演算機能が乏しい(加算,減算はできたが乗算,除算などの命令の不足(Z80))
アドレス指定の方法が少ない。
他のCPUと協調する機能の欠落。
直接文字列を扱う命令が少ない。(命令の機能化)

そしてそれらの不満を解消するために、1978年にi8086(iAPX86)が発表されます。8086が誕生した背景には8ビットCPUの欠点を解消するという意図があり、次に紹介するZ8000やMC68000の生まれた背景とは異なります。



MC68000 と Z8000
型番 MC68000
ビット数 16ビット(内部32ビット)
パッケージDIP
メーカー 米モトローラ社
主な用途 各種ゲームセンター用ゲーム基版、ワークステーション
パソコン、制御、その他
特徴 モトローラ社初の16ビットCPU。
16bitだが内部レジスタが32bitで先進的な構造になっている。
i8086に比べて大容量のメモリを接続でき、高速だったので、
画像処理や音声処理などの分野で広く利用されている。

型番 Z8000
ビット数 16ビット
パッケージDIP
メーカー 米Zilog社
主な用途 制御、その他
特徴 ザイログ社初の16ビットCPU。
型番はZ80に似てるがZ80との互換性はない。
内部にCPUを二つもっていて切り替えて使える。
あまりヒットしなかった。

その後、モトローラ社、ザイログ社より、それぞれMC68000、Z8000が発表されました。この二つのマイクロプロセッサの誕生の背景ととなっているのは、自社の8ビットCPUではなく、LSI-11というDEC社の4つのLSIチップです。LSI-11は同社のミニコンピュターのPDP-11をLSI化したものです。つまりMC68000やZ8000は8ビットCPUの拡張ではなく、ミニコンの1チップ化から生まれたものなのです。

MC68000は、ミニコンで洗練された構造を反映していて大変に使いやすく、i8086よりも大容量(16MB)のメモリを扱え、速度も速いといった三拍子そろった素晴らしいCPUでした。そのため多くのメモリを必要とする画像処理や音声処理などをするパソコンやコンピュター、ワークステーションなどにも搭載されました。ゲーム基版などにもかなりの数が使われました。パソコンで有名なところでは初期のMacintoshや、SHARPのX68000シリーズなどに使われました。

Z8000は新時代のCPUとして設計され、内部にCPUが二つあります。ちょうど開発が終わったあたりでザイログ社内部で人事的な抗争があり商売的にあまり上手くなかったらしく、あまりヒットしませんでした。MC68000やi8086の後継のCPUは1997年2月の現在でも見ることができますが、Z8000に限っては子孫はいません。(余談ですが、私の友人に送電施設の管理をやってる人がいるのですが、そこの管理システムがZ8000を使っているらしく補修部品が無くて大変だと漏らしておりました(^^;(なんでもコアメモリとかまだ使ってるらしい・・・(汗))



マイクロプロセッサとミニコン

8086、MC68000、Z8000などの16ビットマイクロプロセッサは、処理速度の点で、ほぼ1970年代前半の平均的なミニコンと同等以上の能力を持つにいたりました。扱うことのできるメモリ容量も大半の16ビットミニコンを越えていました。

8ビットCPUが最も不得意としていた浮動小数点演算なども、インテル社のi8087に代表されるような数値演算プロセッサ(コプロセッサ)や数値演算専用のLSI(DSP?)を用いる事によって、浮動小数点演算の機能をハードウエアで備えているミニコンと並ぶ処理能力が得られるようになりました。

(ミニコンとはミニコンピュターの略で、汎用機よりも小規模なコンピュータといった感じの中規模のコンピューターシステムです。マイクロプロセッサが登場する前はコンピュターと言えば汎用機かこのミニコンでした。)



32ビットのマイクロプロセッサ(iAPX32誕生)
型番 iAPX432
ビット数32ビット
メーカー米インテル社
主な用途ワークステーション、その他
特徴 3チップ構成。2MIPSの処理能力があった。
仮想記憶機能も搭載していた。

1981年、インテル社はiAPX32という32ビットのCPUを発表します。このCPUは8086とは無関係な系統のCPUです。このCPUの処理能力は2MIPS(1MIPSは1秒間に100万回命令を実行する事ができます。)の能力がありました。この速度は当時の汎用機並の速度だったみたいです。仮想記憶機能も搭載していてメモリの内容をHDDなどの補助記憶装置に書き出すなどもできたみたいです。仮想記憶があるおかげでアドレス空間は約10GB程度ありました。

しかしiAPX32の開発システムとしてはインテル社からVAX-11とうコンピュター用のAda(エイダ)という言語用のコンパイラしか提供されていませんでした。これはiAPX432のアーキテクチャー自身がAda系オブジェクトを走らせる事を目的として作られていたからです。という訳であまりパソコン業界には縁の無いCPUです。



MC68020
型番 MC68020
ビット数 32ビット
パッケージPGA
メーカー 米モトローラ社
主な用途 ワークステーション、各種32ビットパソコン、その他
特徴 内部・外部共に32bitの構成で、4GBのメモリを接続可能。
仮想記憶機能をサポート

1982年3月2日、米モトローラ社はMC68000に続く32ビットのCPUとしてMC68010及びMC68020を発表します。先ほどのiAPX432と違いMC68000と互換性があります。68020は32bitのアドレスバスを持ち4GBのメモリを接続できました。また仮想記憶(メモリが不足した時にHDDなどにデータを書き出して、容量を稼ぐ方法)が使えました。そのおかげで大量のメモリを必要とするワークステーションなどに使われました(NeXT,SONY NEWS,HP-9000)。そのせいか古いWSの中を覗くと68020とか68030とかが入ってる事が多いです。



8086の後継種
型番 80186(iAPX186)
ビット数 16ビット
パッケージLCC
メーカー 米インテル社
主な用途 組込用、その他
特徴 組込用に開発され、周辺回路を多数内蔵し
8086より少ないチップ数でシステムを構成する事ができる。

1983年、米インテル社は8086に続くCPUとして80186(iAPX186)を発表します。80186ではシリアル(i80C86EC)、DMAC、TIMER、PIC(割込コントローラー)などを内蔵し8086に比べて少ないチップ数でシステムを構成できる様になっていました。速度の面では8086に比べ約2倍の速度で命令を実行できます。

ソフトウエアの面では、8086に比べ10種類の命令(PUSH、PUSHA、POPA、IMUL、ROL/ROR/RCL/RCR/SHL or SAL/SHR/SAR、INS、OUTS、ENTER、LEAVE、ROUND等)が追加・更新されました。



つづく
・intel
i4004
i4040
i8008
i8080
i8080A
i8085
i8086
i80C86
i8086-2
i8088
i80186
80186,80188,80C186,80C188
80188XL/EA,80188XL/EA
80C188EB,80L188EB,80C186EB,80L186EB
80C186EC
80C188EC
i80286-8
i80286-10
i80286-12
i386DX
i386SX
i386EX
i386CX
i486SX
i486DX
i486DX2
i486DX4
Pentium-60
Pentium-66
Pentium-90
Pentium-100
Pentium-120
Pentium-133
Pentium-200
Pentium Pro-200
P7

・intel(Co-Processer)
i8087
387DL
387SX
287SL
287XL
487SX

・Zilog
Z80,Z80A,Z80B,Z80H
Z8000
Z80000(32bit)
Z180
Z8

・Motorola
MC6800P
MC68B00P
MC6802P
MC6803
MC6809P
MC6809EP
MC68B09EP
MCM6810P
MC68000P-8
MC68000L-8
MC68000R-8
MC68000P-10
MC68000L-10
MC68000R-10
MC68000P-12
MC68000L-12
MC68000R-12
MC68008P-8
MC68008P-10
MC68010L-8
MC68010R-8
MC68010L-10
MC68010R-10
MC68010L-12
MC68010R-12
MC68020RC-12
MC68020RC-16
MC68020RC-20
MC68020RC-25
MC68030RC-20B
MC68030RC-25B
MC68030RC-33
MC68030RC-40
MC68030RC-50M
MC68040RC-25
MC68040RC-33
68LC040
PowerPC601
PowerPC603
PowerPC604
PowerPC620

・Motorola(Co-Processer)
MC6881RC-16B
MC6881RC-20B
MC6881RC-25B
MC6882FN-16
MC6882FN-20
MC6882FN-25
MC6882FN-33
MC6882RC-20
MC6882RC-25
MC6882RC-30
MC6882RC-40
MC6882RC-50

・MOSテクノロジー社
6502

・日立
HD68000-16
HD64180R1P-6
HD64180R1P-8
HD64180R1P-10
HD64180R1CP-6
HD64180R1CP-8
HD64180R1CP-10
HD64180ZP-6
HD64180ZP-8
HD64180ZP-10
HD64180ZCP-6
HD64180ZCP-8
HD64180ZCP-10
HD647180
SH-1(SH7000)
SH7034(64KB ROM,4KB RAM)
SH7032(NO ROM,8KB RAM)
SH7021(32KB ROM,1KB RAM)
SH7020(16KB ROM,1KB RAM)
SH-2(SH7600)
SH7604(4KB キャッシュ)
SH-3(SH7700)
SH7702(2Kキャッシュ)
SH7708(8Kキャッシュ)
H8S-2655
H8/500(H8538F)
H8/300(H8/3434F,H8/3334YF)
H8/300H(H8/3048F)

・SHARP
LH0080B
SM8311
SM8313

・東芝
TMPZ84C00AF-6
TMPZ84C00AM-6
TMP84C00AP-6
TMPZ84C012
TMPZ84C015
TMP68HC000N-16
TMP68HC000P-16
TMP68HC000FN-16

・DEC
LSI-11
Alhpa

・Sun
Micro SPARC
Super SPARC

・NEC
V20(uPD70108)
V25
V30(uPD70116-8)
V30(uPD70116C-10)
V33A
V35
V40(uPD70208R-8)
V50(uPD70216R-8)
V53(uPD70236R-16)
V55
V75
uPD780
uPD78058
uPD78C10
uPD70116HCZ-16
V300

・IBM
IBM486SLC
IBM486SLC2

・AMD
Am29040
Am80286
Am5x86
K5
K6

・Cyrix
Cx486DLC-25
Cx486DLC-33
Cx486DLC-40
Cx486SLC-25
Cx486SLC-33
Cx486SLC2-50
Cx486DRx2-50/40GP
Cx486DRx2-25/50GP
Cx5x86
Cx6x86

・Cyrix(Co-Processer)
Cx287XL
Cx387SX
Cx83S87-25
Cx83S87-33
Cx83D87-25
Cx83D87-33

・ULSI(Co-Processer)
387DX-40
387DX-33
387SX-40
387SX-25

・川崎製鉄
KL5CC80A20 KL5C8012
KL5C8012CFP
KC80A16
KC80A12

・ネクスジェン
Nx586
Nx587

・ASCII
R800

UP