マイクロプロセッサ

マイクロプロセッサ（英: Microprocessor）とは、コンピュータなどに搭載される、プロセッサを集積回路で実装したものである。 マイクロプロセッサは小型・低価格で大量生産が容易であり、コンピュータのCPUの他、ビデオカード上のGPUなどにも使われている。また用途により入出力などの周辺回路やメモリを内蔵するものもあり、一つのLSIでコンピュータシステムとして動作するものを特にワンチップマイコンと呼ぶ。マイクロプロセッサは一つのLSIチップで機能を完結したものが多いが、複数のLSIから構成されるものもある（チップセットもしくはビットスライスを参照）。 「CPU」、「プロセッサ」、「マイクロプロセッサ」、「MPU」は、ほぼ同義語として使われる場合も多い。本来は「プロセッサ」は処理装置の総称、「CPU」はシステム上で中心的なプロセッサ、「マイクロプロセッサ」および「MPU（Micro-processing unit）」はマイクロチップに実装されたプロセッサである。本項では、主にCPU用のマイクロプロセッサについて述べる。 当初のコンピュータにおいて、CPUは真空管やトランジスタなどの単独素子を大量に使用して構成されたり、集積回路が開発されてからも、たくさんの集積回路の組み合わせとして構成されてきた。製造技術の発達、設計ルールの微細化が進むにつれてチップ上に集積できる素子の数が増え、一つの大規模集積回路にCPU機能を納めることが出来るようになった。汎用のマイクロプロセッサとして最初のものは、1971年にインテルが開発したIntel 4004である。このマイクロプロセッサは当初電卓用に開発された、性能が非常に限られたものであったが、生産や利用が大幅に容易となったため大量に使われるようになり、その後に性能は著しく向上し、価格も低下していった。この過程でパーソナルコンピュータやRISCプロセッサも誕生した。ムーアの法則に従い、集積される素子数は増加し続けている。現在ではマイクロプロセッサは、大きなメインフレームから小さな携帯電話や家電まで、さまざまなコンピュータや情報機器に搭載されている。 マイクロプロセッサを実現する様々な新しい基本技術は1970年頃に整い、1971年11月15日に発表された4004はテッド・ホフによる基本的なアイディアと、嶋正利による論理設計とフェデリコ・ファジンによる回路・マスク設計による、最初期のマイクロプロセッサとして広知だが、他複数のプロジェクトでほぼ同時期にCADC、TMS 1000、μPD707・708などのマイクロプロセッサと認められるLSIが開発されている。 1968年にギャレット・エアリサーチ（英語版）社がF-14飛行制御用デジタルコンピュータの開発を要請されてCADC (en:Central Air Data Computer) を設計する。これは1970年に設計を完了したMP944というMOSベースのチップセットから成るマイクロプロセッサで、従来の機械装置より小型で信頼性が高く、初期のF14 トムキャット戦闘機に採用された。米海軍は軍需用品として民間への商用販売などを1997年まで禁止していたため、CADC (MP944) は最近までほとんど知られていなかった。 TIのTMS 1000はマイクロコントローラに近い構成のLSIで、1971年9月17日に電卓向けプログラムを内蔵した TMS1802NC をリリースしている。 μPD707・708はNECが設計・製造したLSIで、半導体プロセスの製造効率から2チップ構成だが機能的にはマイクロプロセッサでμCOMシリーズの源流である。1971年12月にサンプル出荷され、シャープが日本コカ・コーラへ供給する仕向け機器に用いられている。 英語版では他に en:Gilbert Hyatt の特許、Pico と General Instrument の協業によるチップ、Four-Phase Systems の AL1 チップ、フェアチャイルドの PPS25、Viatron が端末装置用に開発したチップ、TIのTMX 1795なども記されている。 TIはマイクロプロセッサに関する特許を出願した。ゲイリー・ブーンはシングルチップのマイクロプロセッサに関する特許を1973年9月4日に取得した（米国特許第3,757,306号）。1971年と1976年、インテルとTIは包括的なクロスライセンス契約を締結し、インテルはTIの持つマイクロプロセッサの特許に対してロイヤリティを支払った。この間の経緯は、サイリックスとインテル間の訴訟に関する法廷文書に記述されている。この訴訟においてTIはマイクロプロセッサに関する特許の所有者および仲裁人として関与した。 マイクロプロセッサのコア（プロセッサコア）だけでなくメモリと入出力処理の回路も集積した、現代で言うマイクロコントローラの実現に関する特許は、TIのゲイリー・ブーンとマイケル・J・コクランに与えられた（米国特許第4,074,351号）。 4004の後継である8008は世界初の8ビットマイクロプロセッサである。これらのプロセッサはインテルの8080、ザイログのZ80、他のインテル製派生プロセッサの先駆者である。対抗するモトローラのMC6800とバス互換としパイプライン処理の採用など改良を加えたモステクノロジーの6502が、Z80と覇を競った。1980年代前半のことである。 Z80も6502もシステム全体のコストを低減することに注力しており、パッケージを小さくし、要求されるバスを単純なものにし、それまで外部に別チップで持たなければならなかった回路（例えばZ80はDRAMリフレッシュカウンタ）を内蔵した。これにより1980年初頭にホームコンピュータ市場が新たに生まれ、それなりに使えるマシンが、99USドルで売られるようになった。 モトローラが切り札としてリリースしたMC6809は命令セットに直交性があり美しい設計が特徴の、事実上最もパワフルな8ビットマイクロプロセッサであり、当時製品化されたマイクロプロセッサの中で最も複雑な回路から成っていた。 他の初期の8ビットマイクロプロセッサとしてSigneticsの2650がある。PDP-8を機能縮小しワンチップ化したものであるが、PDP-8を知らない層からは一風変わったパワフルな命令セットと受け止められた。 航空宇宙分野での最初のマイクロプロセッサはRCAのRCA 1802（別名 CDP1802、RCA COSMAC）は、1970年代のNASAの宇宙探査機ボイジャーとバイキングに使われた。木星探査機ガリレオにも搭載されている（1989年出発、1995年到着）。CDP1802が使われた理由は、消費電力が極めて小さいことと、非常に広い電源電圧範囲で動作すること、製造プロセス（Silicon on Sapphire）が宇宙線や放電に他のどんなプロセッサよりも強いからであった。したがって1802は最初の放射線耐性マイクロプロセッサと呼ぶにふさわしい。 ここまでに登場したプロセッサのほとんどがマイクロプログラム方式による制御ではなく、ワイヤードロジック制御である。 最初の複数チップで構成された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ビットマイクロプロセッサには、1975年4月に完成したPANAFACOM L-16A（MN1610）、1976年のTIのTMS9900がある。どちらもミニコンピュータの影響を受けている。TMS9900は同社のミニコンピュータTI 990シリーズと互換性があった。9900はミニコンピュータTI 990/4、ホームコンピュータTI-99/4A、OEM用マイコンボードTM990シリーズに使われた。チップは大型のセラミック製64ピンDIPパッケージで、当時の8ビットマイクロプロセッサIntel 8080はもっと一般的で小さくて安いプラスチック製40ピンDIPパッケージだった。後継のチップTMS9980はIntel 8080への対抗を意識して設計された。TI 990 の16ビット命令セットを持ち、プラスチック製40ピンパッケージで、データバスは8ビット、アドレス空間は16キロバイトしかなかった。三番目のチップTMS9995は新たに設計しなおされた。ファミリーはさらに99105、99110と進化していった。 インテルは参考とすべきミニコンピュータを持たなかったため、全く別の道をたどる。8080を拡張して16ビットのIntel 8086を設計したのである。このx86ファミリの最初のメンバー8088はパーソナルコンピュータ（パソコン）に広く採用される。インテルは8086を8080用ソフトウェアを最も簡単に移植できる方法として提案し、成功した。8086と8088に続いて、インテルは80186、80286をリリースし、1985年に32ビットの80386をリリースするに及んで、既存のソフトウェア資産をそのまま使用できる下位互換性を武器にPC市場での占有状態を強固なものにした。 マイクロプロセッサ内蔵のメモリ管理機構（MMU）はChilds他（インテル）によって開発された（米国特許第4,442,484号）。 16ビット化によってさらに進んだ複雑化により、以前のワイヤードロジックから、マイクロプログラム方式を採用するプロセッサが増えた。Z8000はワイヤードロジックだが、68000や8086はマイクロプログラム制御である。 マイクロプロセッサでは一旦はマイクロプログラム方式が増えたが、RISC化のためと性能競争のために、32ビット化後はワイヤードロジックに戻っており、インテルでは486でワイヤードロジックを採用した。 市場では16ビットマイクロプロセッサに対してC言語が普及した。OSが16bitから32bitへの移行が可能なようにC言語が16bit と32bitの両方に対応するように設計された。 32ビットを実装したマイクロプロセッサが、16bitマイクロプロセッサと同価格で販売されるようになると、16bitマイクロプロセッサの利点は、省電力、省空間になった。ARMでは、32bitでも16bitと同程度の省電力、省空間、費用を目標に市場を拡大していった。 世界初のシングルチップの32ビットマイクロプロセッサはAT&T ベル研究所のBELLMAC-32Aである。最初のサンプル出荷は1980年で、正式出荷は1982年であった[要出典]。1984年のAT&T分割の後、WE32000と改称され（WEはWestern Electricを意味する）、さらにWE32100、WE32200と続いた。これらのマイクロプロセッサはAT&Tのミニコンピュータ3B5や3B15、世界初のデスクトップコンピュータ3B2、世界初の32ビットラップトップコンピュータCompanion、世界初の（本程度のサイズの）超小型コンピュータAlexanderに使われた。AlexanderはROMカートリッジを装備しており、その点は現在のゲーム機に似ている[要出典]。これらは全てベル研究所オリジナルのUNIXオペレーティングシステムが動作し、最初のウィンドウ型ソフトウェアであるxt-layersを装備していた[要出典]。 インテルの最初の32ビットマイクロプロセッサは1981年に登場したiAPX432である。iAPX432は権限に基づくセキュリティ機構とオブジェクト指向という進んだアーキテクチャだったが、モトローラの68000などの対抗アーキテクチャ、ひいては自社のIntel 80286等に比較して性能が及ばず、商業的には失敗した。 モトローラは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が消えるとともにインテルのマイクロプロセッサに切り替えた。 Alpha・MIPS・SPARCなどのRISCプロセッサでは、1990年代初頭から64ビット化が行われており、特にAlphaは32ビットアーテクチャが存在せず、当初から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は32ビットの従来のアプリケーションも使用できると同時に、64ビットに対応したオペレーティングシステムやアプリケーションで動作させることにより、プロセッサの性能と機能を発揮させることができる。AMD64における64ビット化では、レジスタのサイズとともにレジスタの数も倍増し性能の向上に貢献している。デスクトップ向けでは64ビットWindowsはドライバの非互換性からあまり普及していないので、デスクトップではIntel 64/AMD64プロセッサは高速な32ビットCPUとして使われていることが多い。 PowerPCの64ビットへの移行は1990年代前半のプロセッサ設計当時から意識されていたため、互換性は大きな問題を起さなかった。既存の整数レジスタはデータバス幅に合わせて拡張されている。IA-32と異なり、既に32本の汎用レジスタと32本の浮動小数点レジスタを持っていたのでレジスタの本数は増加していない。 またIBMメインフレームのz/Architectureも、64ビットマイクロプロセッサであり、IBM z10などがある。 1980年代中盤、複数の新たな高性能RISC（reduced instruction set computer）マイクロプロセッサが登場した。それらは当初、特殊な用途のマシンやUNIXワークステーションに使われていたが、その後インテルのCPUを使ったデスクトップ以外のあらゆる分野で使われるようになった。 RISCの開発は1970年代のIBM 801に始まった。最初の商用のRISCマイクロプロセッサはミップス・テクノロジーズの32ビットプロセッサであるR2000である（1985年。R1000はリリースされなかった）。続くR3000は更に実用的な設計となり、R4000では世界初の64ビットアーキテクチャを採用した。それに対抗すべくIBMのRT PC（1986年）や後継のPOWER、サン・マイクロシステムズのSPARCシステム（1985年）が生み出され、間もなく各主要ベンダはRISCアーキテクチャを採用したプロセッサをリリースした。AT&TのCRISP、AMDの29000、インテルのi860とi960、モトローラの88000、DEC Alpha、ヒューレット・パッカードのPA-RISCなどである。 市場原理が働き、いくつかのマイクロプロセッサは淘汰されたり、主要な市場を変更している。 DEC Alphaは性能面では優秀と言われながら、ヒューレット・パッカードに買収された後に消滅した。ヒューレット・パッカードのPA-RISCは、インテルと共同開発のItaniumに移行した。MIPSアーキテクチャは組み込みシステム（シスコシステムズのルータなど）に広く使われている。POWER/PowerPCは、Macintoshにも採用されたが、現在はサーバーとスーパーコンピュータのほかは、組み込みシステムが中心である。ARMアーキテクチャは当初ホームコンピュータ向けに開発されたが、現在は携帯電話・PDAをはじめとした携帯機器や組み込みシステムで使われる。現在ARMアーキテクチャはサーバやネットブック市場への進出を目指している。 2008年現在、64ビットコンピューティング市場（スーパーコンピュータ、サーバー、ワークステーションなど）では以下が有力である。 サン・マイクロシステムズおよび富士通のSPARC IBMのPOWER インテルおよびヒューレット・パッカードのItanium 組み込みシステムでは、以下が市場の大きな部分を占めている。 MIPSアーキテクチャ ARMアーキテクチャ PowerPCコア なお、PC/AT互換機の世界では、インテル、AMD、VIAは全てx86アーキテクチャのマイクロプロセッサを製造している。現在のx86マイクロプロセッサは、以前の製品の命令セットとの互換性を保ちながら、内部的にはRISCの技術を段階的に採用し、また各RISCマイクロプロセッサは逆に命令セットの追加を重ねたため、現在ではRISCとCISCの技術的な分類は困難である。しかしRISCという用語は便宜上使われる場合が多い。 世界で販売されたマイクロプロセッサのうち最も多いものは8ビットの製品である。1997年には20億個以上が出荷され、非常に様々な用途に利用されている。また、現在は32ビットがそれに次ぐ。1990年代には32ビットのマイクロプロセッサの大部分はパソコンに使用されていたが、現在では携帯電話での使用の方が多い[いつ?]。また、コンピュータゲーム機、サーバ、デジタル家電の分野でも大量に利用されている。 技術的にも成熟かつバグが見つかりやすい8ビットのマイクロプロセッサをあえて採用した製品も存在する。 マイクロプロセッサはその特性上小さく、軽いが価格が高価なことから、航空機での輸送が盛んである。日本においてマイクロプロセッサの取扱量が最も多い空港は、成田国際空港である。 ^ 多田則明 『世界にないものを創れ : 日本コカ・コーラ、シャープ、NECによる携帯用コンピュータ開発物語』 コスモトゥーワン、113頁。 ^ http://www.pcmuseum.ca/jim2.asp 参照。Viatron は『マイ・コンピュータ入門』に言及が見られる。 ^ http://www.righto.com/2015/05/the-texas-instruments-tmx-1795-first.html ^ 嶋『マイクロコンピュータの誕生』p. 156 ^ bit臨時増刊『ダイナミック・アーキテクチャ』pp. 312-317 CPU年表 Intel 4004 組み込みシステム チップセット 歩留まり 割り込み アドレッシングモード テープアウト ソフトプロセッサ CPU設計 マイクロプロセッサ設計企業 NECエレクトロニクス 富士通の電子デバイス、半導体 AMD インテル IBM マイクロエレクトロニクス フリースケール（モトローラの子会社） ARM Ltd MIPS テクノロジー テキサス・インスツルメンツ ルネサステクノロジ その他 Processor Design How Microprocessors Work