スタートページ> (主張・講演、 Web教材) 歴史> コンピュータの歴史> パソコンの歴史
「マイクロ」プロセッサとは、「小さい」プロセッサのことではなく、マイクロコードすなわち機械語を処理する装置のことである。MCU(Micro-Processing Unit)ということもある。CPU(Central Processing Unit:中央処理装置)も同じ機能であるが、汎用コンピュータ時代のCPUと異なり、マイクロプロセッサでは、それらの電子回路を1つのチップにしているのが特徴である(その結果、「小さい」形状になっている)。
また、最近の動向(特にタブレット型などの小型パソコン)では、本来のCPU機能だけでなく、周辺機能を加えて一体化したものをプロセッサということもある。
しかしここでは、マイクロプロセッサとCPUという用語を混在して用いているが、単に慣習的に使い分けているだけで、同義語である。
以下、CPUの機能や性能に関する重要項目を列挙する。
CPUには多様なレジスタがある。それぞれのレジスタのビット数が異なるCPUもあるが、一般には演算レジスタのビット数を指す。
パソコンのメモリが大容量になり、扱うデータのビット数が大きくなり、しかも、処理速度の向上が求められるのに伴い、ビット数は次第に増加してきた。特にサーバや高性能のパソコン、画像処理を重視したパソコンでは大ビット数CPUが求められる。
・1971年 4ビット
・1970年代前半 8ビット
・1970年代後半 16ビット
・1980年代 32ビット
・1990年代 32ビットが主流、サーバ用などに64ビットRISC
・2000年代 64ビットが主流
現在では、通常の用途では64ビットで十分だとされている。しかし、2000年に発売されたソニーのプレイステーション2では128ビットCPUを採用しているように、ゲーム機などAVを重視する用途では、さらに大ビットCPUの開発が求められよう。逆に、家電製品や電卓などの組み込みシステムでは、安価で消費電力の小さな8ビット、16ビットのCPUが現在でも用いられている。
CPUはOSと密着している。CPUが64ビットであったも、OSが32ビットならば動作しないか32ビットモードでしか動作しない。逆に、OSが64ビットの場合はCPUが64ビットでなければ動作しない。それを避けるために、一般にOSは複数のビット版を提供しているが、現在普及しているOSのほとんどは、32/64ビットであり、16ビットCPU搭載のパソコンでは使えない。OSの要請からもCPUの大ビット化が必要になる。
・MS-DOS 8/16ビット
・Windows 3.X 16/32ビット
・Windows 95 32ビット
・Windows XP 32/64ビット
・Windows 7 32/64ビット
CPUは機械語を処理するが、機械語の命令体系(命令セット)に従った回路設計をしている。命令セットは大きくCISCとRISCに分かれる。CISCとは、機械語命令を高級言語の命令に近づけようとするもので、複雑な命令を1命令にすることにより、処理命令数を減らすことにより処理効率をあげている。それに対して、RISCでは命令を単純な命令に分解することにより、命令の種類を減らし回路を単純にすることにより処理速度をあげている。
歴史的に汎用コンピュータではCISC、ミニコンピュータではRISCを用いてきた。インテルやAMDなどのパソコンCPUメーカーはCISC、ヒューレット・パッカードやサン・マイクロシステムズなどのミニコンピュータからの参入者はRISCのCPUを開発してきた。現在では、両社の特長を生かした折衷方式がとられている。
一般的なCPU(同期式プロセッサ)では、クロックというパルス波に同期してチップ全体が一斉に動作する。1秒間に発生するクロック回数(周波数)が大きければ、処理回数も大きくなるので、CPUの性能が高いといえる。クロック間隔は、レジスタ間のデータ転送時間(配線遅延)や論理回路での時間(ゲート遅延)により決定される。これらは、1つのチップ(体積)あたりのトランジスタの集積度に大きく影響される。集積度は、半導体加工技術により高められるが、集積度を高めると熱が発生して誤動作や破壊が生じるので、冷却技術が重要になる。
このような技術は急速に発展した。インテルのムーア(Gordon E. Moore)は、1965年に「集積回路上のトランジスタ数は18カ月ごとに倍になる(1975には2年で2倍と修正」)との経験法則を示した(1965年のムーアの論文では「法則」の記述はない。カーバー・ミード(Carver Andress Mead)が名づけたという)。
しかし、CPUの性能を決定するのはクロックだけではない。回路やパスの設計の工夫、CPU内のキャッシュ、処理命令の拡張などにより、同じクロック数でも性能を改善することができる。2001年にAMDは、Athron XP 1800+ を開発した。これは、インテルのPentium 4(2.4GHz)よりも低い周波数(1.53GHz)なのに、同等の処理能力をもつとされた。
また、2000年代中頃になると、4GHz程度にまで達したが、これ以上集積度をあげることは、発熱量を抑える技術や微細技術の限界により困難だといわれるようになった。そして、集積度向上を図るよりも、複数のCPUを搭載したマルチコアCPUが注目されるようになった。
パソコン用CPUでは、インテルがトップメーカーである。最初にCPUを開発したのもインテルだし、2010年現在、世界中で約80%のシェアをもっている。CPUの歴史は、インテルを中心にした挑戦者たちの歴史でもある。
・インテル対モトローラ(86vs68戦争):1970年代後半~1980年代
・インテル対AMD:1980年代後半~
・インテル・AMD対AIM連合:1990年代~
また、OSとの関係では、マイクロソフトと密接な関係を続けてきた。アップル等を除くほとんどのパソコンがインテルCPUとWindowsを搭載しており、Wintel帝国(Windows+Intelの造語)を確立した(現在では崩れつつあるが)。
1971年に米国インテル社が発表したi4004が最初のマイクロプロセッサである。4ビット、108KHz、0.06MIPS、2,300トランジスタ集積。価格200ドル(写真出典:インテル「インテルミュージアム マイクロプロセッサーの歴史 4004」。(拡大図))
この開発の主役は、日本ビジコン社の嶋正利と米国インテル社のテッド・ホフ(Marcian E. "Ted" Hoff)である。
ビジコンは、その当時いくつかの企業に高級電卓のOEM供給をしていた。ハードワイヤードロジック方式のハードウェアにより生産していたが、機種により仕様が異なるので、費用も時間もかかる。嶋は、汎用LSIを開発すれば、ソフトウェアにより複数機種に対応できると考えた。しかも、電卓だけでなく、周辺機器や家電にも利用できる汎用的なものが必要だと考えた。
その相談を受けたホフは、4ビットLSIでマイクロ命令を処理する仕組み、すなわちマイクロプロセッサを開発するころを提案した。そして、嶋とホフらの共同作業により、4004が実現したのである。チップサイズ:3mm×4mm、トランジスタ数:2,237個、動作周波数750kHz(0.06MIPS相当)。
マイクロプロセッサという名称は、チップが小サイズであったこと、マイクロ命令を処理することから命名された。既に汎用コンピュータやミニコンのCPUは、32ビット、1MIPSになっていた。それに対して4004は、4ビット、0.06MIPSに過ぎない。しかし、低価格、小型化の実現は、パソコンを含む組み込み製品の発展に大きく寄与したのである。
その後、インテルは4004の外販権利をビジコンから買い取り、インテルがマイクロプロセッサ分野でのトッププレイヤーになる基礎になった。共同開発や権利買取をめぐる駆け引きには、日米企業の契約や権利主張の違いが大きく左右したようである。なお、嶋は、1972年インテルに転職。i8080の主任設計者となり完成させた。さらに1974年には、インテルの技術者らとモステクノロジーを設立、MOS6502の開発に従事した。
当然、4ビットでは機能的に不十分であり、8ビットCPUの開発が行われた。ここでも嶋の貢献は大きい。br />
インテルは、これから現在にいたるまで、CPUのトップメーカーを確保している。インテル以外に多くの半導体メーカーが参入したが、将来インテルの好敵手になるのはモトローラである。
・1972年 インテル i8008
・1974年 インテル i8080(嶋が主任研究員)
・1974年 モトローラ MC6800
・1975年 モステクノロジー MOS6502(MC6800互換)
・1976年 ザイログ Z80(i8080互換、インテルを退社した嶋らによる)
パソコンは8ビットの時代であったが、CPUでは16ビット化が始まっていた。
・1978年 インテル i8086
・1979年 インテル i8088
・1979年 モトローラ MC6809
・1982年 インテル i80286
1980年代に入ると、パソコン分野では8ビット/16ビットの併存状態であるが、CPUの分野では一足先に32ビット化へと進んできた。
・1979年 モトローラ MC68000
・1982年 インテル i80286
・1984年 モトローラ MC68020
・1985年 インテル i80386
この間に、CPU業界はインテルがトップリーダーの座を確保し、インテルが新CPUを発表すると、チャレンジャーのモトローラがすぐに同等品を発表する状態が続くようになった。
また、インテルは、CPU型番をi8086、i80186、i80286、i80386と付けたため、総称して「x86系」あるいは「86系」と呼ばれ、モトローラはMC68000、MC68020、MC68030としたので「68系」あるいは「68k系」と呼ばれたので、両社の競争は「86/68戦争」といわれるようになった。
コンピュータの命令語の体系には、CISC(Complex Instruction Set Computer)とRISC(Reduced Instruction Set Computer)がある。
CISCは、機械語命令を高級言語に近づけ、複雑な処理を1命令で実行できるようにすることで、回路は複雑になるが、1命令で複雑な処理ができるので能力向上が図れる。汎用コンピュータではCISCが通常であった。伝統的理由のためか、インテルやモトローラなどのパソコンCPUはCISCを採用していた。
それに対してRISCは、命令の種類を減らし、回路を単純化して演算速度の向上を図るものである。ミニコンピュータではRISCが主流であった。
参照:ミニコンピュータの歴史
従来は、CADなどの科学技術用コンピュータ(ワークステーションという)やLANのTSSサーバなどは、ミニコンピュータが用いられていた。それが、1980年代後半になると、パソコンの機能や性能が向上し、このような用途にもパソコンを用いようという動向が高まってきた。それに伴い、ヒューレット・パッカードやサン・マイクロシステムズなどミニコンピュータメーカーがパソコンCPUに参入してきた。
メーカー CISC RISC
・1986年 MIPS R2000
・1986年 エイコーン・コンピュータ ARM2
・1986年 ヒューレット・パッカード PA-RISC
・1987年 モトローラ MC68020
・1987年 サン・マイクロシステムズ SPARC
・1988年 MIPS R3000
・1988年 テキサス・インスツルメンツ TMS320C30
・1989年 インテル i80486
1990年代前半のCPU
・1991年 MIPS R4000 64 RISC 世界初の64ビットCPU
・1991年 AMD Am386 32 CISC AND独自の86系互換CPU
・1992年 AIM連合 PowerPC 601 32 RISC AIM連合初のCPU
・1992年 サン・マイクロシステムズ SuperSPARC 64 RISC
・1993年 インテル Pentium 32 CISC RISC技術を取り込む
・1994年 モトローラ MC68060 32 CISC 最後の68系
・1994年 MIPS R8000 64 RISC
・1994年 ヒューレット・パッカード PA-RISC7200 64 RISC
・1995年 サン・マイクロシステムズ UltraSPARC 64 RISC
・1995年 インテル Pentium Pro 32 CISC
1991年に、アップル、IBM、モトローラの3社は新CPUの開発で提携し(AIM連合という)、RISCベースの32ビットCPUであるPowerPCを開発した。モトローラはこれまで、68系CPUを発展させたMC88000系CPUを開発していたが、これを機会に、PowerPC系に注力することになった。アップルはこれまでMacintoshには68系CPUを用いていたが、PowerPC系32ビットCPUに移行した。さらに、マイクロソフトはPowerPC搭載パソコン(サーバ)向けのWindows NT 3.51、サン・マイクロシステムズもSolaris OSのPowerPC版を発表した。
この頃までに、IBM、アップル以外の通常パソコンのほとんどはインテルの86系あるいはその互換CPUになっていた。そして、PowerPC系はIBM、アップル以外ではサーバーやワークステーションへの進出を狙っていた。そのため、通常のパソコンでは互いの棲み分けができて、「86/68戦争」は沈静化し、サーバーを対象にした、インテル対AIM連合、あるいはCISC対RISCの競争に移ったのである。
CISC/RISC論争は、ソフトウェアの設計はCISC的だがハードウェアの設計はRISC的という折衷方式になった。インテルは伝統的にCISC派であったが、Pentiumでは、パイプラインやスーパースカラなどのRISC技術を取り入れ、Pentium Proでは、CISC命令をRISC的命令セットに変換して実行する方法になっている。
MIPSのCPUは、DEC(現在はヒューレット・パッカード)のミニコンピュータで用いられ、SPARCは、サン・マイクロシステムズと富士通によるSolarisをOSとするサーバに用いられていた。
1980年代末から1990年代前半にかけて、ダウンサイジングが進行し、従来は汎用コンピュータが行っていた大規模処理をミニコンピュータや高機能パソコンを用いたサーバが受け持つようになった。それに伴い、サーバ用の高性能CPUが求められ、RISC CPUの64ビット化が進んだ。
1990年代になると、インテルに新しい挑戦者が出現した。AMD(Advanced Micro Devices)社である。
1981年、IBMはIBM-PC発売に際して、IBMは、供給元を確保するために、インテルに他社にも互換CPUの生産を許すことを求めた。それで、インテルはAMDとセカンドソース契約を結び、AMDはi8086やi80286の互換CPUを生産した。インテルは、当初は自社仕様の優位性を確保するために互換メーカーの存在は有利だったのだが、AMDが次第にシェアを拡大するのに脅威を感じるようになった。そして、1985年に、i80386での契約打切りをめぐって両社は対立した。
1991年にAMDは自社独自の技術によってAm386を開発した。i80386とピンやソフトウエアの互換性を保ちながら、それよりも高い動作周波数を実現し、i80486と競合するまでの性能を示した。しかもインテルよりも低い価格を設定した。セカンドソーサーから対等の競争者になったのである。
インテルが従来の86系から新しいPentiumシリーズに変更した理由の一つが、AMDの追従を引き離すためだったともいわれる。一方、ネクスジェン社は、86系命令を内部でRISC命令に変換して実行するなど特殊な高い技術をもっていた。AMDはネクスジェンを買収し、K6を開発してインテルに対抗した。
パソコンメーカーからすれば、CPUの基本事項に互換性があれば、どちらのCPUも使うことができる。それで、多くの機種やシリーズが、インテルとAMDの両方をもつようになった。CPU仕入価格やネームバリューの関係から、AMD搭載のほうが割安に設定されたが、そのためにかえってAMD搭載機のシェアが伸びた。
1990年代後半になると、インテル対AMD戦争はさらに激化した。AMDがインテルの後追いをする構図が変化し、相互に対抗する状況になってきた。例えば、AMDのK6-2による低価格に対応するため、インテルは新シリーズCeleronを開発した。また、Athlonはコストパフォーマンスの高さから大手パソコンメーカーにも採用され、また、この頃から流行した自作パソコンで広く用いられた。それで、1999年には、一時的ではあるが、AMDのシェアがインテルを抜いたこともあった。それに対抗するためにインテルはPentium 4を開発した。
・1995年 インテル Pentium Pro
・1997年 AMD K6 Pentium Pro対抗
・1997年 インテル Pentium MMX マルチメディア用演算機能 (MMX) を搭載
・1998年 AMD K6-2 K6の廉価版
・1998年 インテル Celeron Pentiumの廉価版、K6への対抗
・1999年 インテル Pentium III パイプラインの改良による性能向上、マルチメディア機能向上
・1997年 AMD Athron Pentium III対抗。一時、クロックではインテルCPUを上回る
・2000年 インテル Pentium 4 Athronへの対抗
2000年代では、CPUの高クロック競争が激しさを増すが、それとともに、用途ごとに最適化されたCPUの多様化が進んだ。
・サーバ用、ワークステーション用:高性能の64ビットCPU
・モバイルノート用:高性能で、かつ低消費電力なCPU
・AVパソコン用:グラフィックスと動画の高速処理に特化したCPU
・低価格パソコン用:必要十分な機能に絞った安価なCPU
・携帯電話用:低消費電力で周辺機能までも統合したCPU(SoCという)
また、「プロセッサ」の意味が、単にCPUの機能だけでなく、周辺機能を組み合わせたアーキテクチャを指すようにもなってきた。
インテルやAMDが64ビットCPUを開発するようになり、一般のパソコン用CPUも64ビット対応が進んできた。
・2001年 インテル Itanium
・2002年 IBM Power4
・2003年 AMD Opteron
・2003年 AMD Athlon 64
Athlon 64では、Pentiumよりも低い周波数なのに、Pentiumよりも高い処理性能を実現した。これにより「性能=周波数」という図式を崩したことでも有名である。
2000年代の中頃になると、CPUの性能が指数的に向上するというムーアの法則に限界が見えてきた。CPUの性能は基本的には周波数に関係しており、周波数をあげるには高集積度にする必要があるが、発熱量が大きくなり、回路の誤動作や破壊の原因になる。また、回路動作を高速にするには消費電力の増加が必要であり、それも発熱量を増加させる。しかも環境保全の観点からも省電力化が求められている。これまで多様な工夫をして、2004年頃に4GHz程度になったが、それが技術的な限界になってきた。
それで、これ以上の高周波数向上をあきらめて、複数のCPUを用いるマルチコアへと移ってきた。複数CPUの並列処理は以前から行われており、サーバ用ではマザーボード上に複数のプロセッサを実装し並列処理させる対称型マルチプロセッシング (Symmetric multi-processing, SMP) 技術が1990年代中頃からあった。そして、2000年後半には一般パソコン用CPUでもマルチコア化が行われるようになった。
・1999年 IBM POWER4 デュアルコアのさきがけ
・2005年 AMD Dual-Core Opteron、Athlon 64 X2
・2006年 インテル Intel Core 2
・2008年 インテル Intel Core i7
・2009年 AMD PhenomⅡ