マイクロプロセッサ (英 : microprocessor )は、広義には、プロセッサ をマイクロチップ に実装したもの[ 1] である。狭義には、デジタル コンピューター の中央処理装置 (CPU )の機能 を実行するために必要な算術回路 、論理回路 、制御回路を含むきわめて小さな電子デバイス のこと[ 2] 。MPU (英 : micro-processing unit )ともいう。
概説
CPUにも使われるが、周辺回路のために使われていることが遥かに多い。たとえばパーソナルコンピュータ ではCPU以外の、周辺の電源や各種入出力 などの制御 にマイクロコントローラ が多く使われている。
マイクロプロセッサの中でも特に制御や組込みシステムに使うために開発され、メモリやI/Oポートなどもひとつの集積回路にまとめており、消費電力を抑えるためにクロック周波数を抑えたものはマイクロコントローラ という。
なおCPUの機能だけでなく、従来ならその周辺に配置されていたさまざまな機能を担う集積回路類(コントローラやメモリなど)までひとつにまとめて搭載し小さくしたものはSystem-on-a-chip (SoC) という。スマートフォン や組み込みシステム などで使われている。
汎用のマイクロプロセッサの他に、各種用途に特化したマイクロプロセッサも製品化されている。デジタル信号処理に特化したDSP や、画像処理用のGPU などである。
世界初のマイクロプロセッサとされるのはIntel 4004 であり[ 3] 、これは4ビット のもので[ 4] 、クロック周波数は740KHz(0.74MHz)であり[ 4] 、2300個のトランジスタ を含んでいた[ 4] 。→#歴史
2022年時点で市販されているマイクロプロセッサで最速のものは、AMD の Ryzen ™ Threadripper™ PRO 5995WX desktop PC processor(64コア 、128スレッド )だと考えられている[ 5] 。この Ryzen™ Threadripper™ PRO 5995WXには、332億 個のトランジスタが含まれている[ 6] と言われている。
マイクロプロセッサの中身の例
マイクロプロセッサの裏側のピンの例
歴史
1960年代頃まで、プロセッサは個別のトランジスタか、当時のせいぜい数百素子程度の集積度の集積回路 (IC)を繋ぎ合わせて作られていた。製造技術の発達、設計ルールの微細化が進むにつれてチップ上に集積できる素子の数が増え、大規模集積回路(LSI)の1チップにプロセッサ を実装できるようになった。
1970年代初頭に現れた初期のマイクロプロセッサは電卓 や機器制御、もしくはビデオ表示端末 用であり、非常に限られた機能しか持たなかったが、従来のディスクリート半導体 を使った回路に比べとても安価で利用しやすかったため、ほどなくして大量に使われるようになった。CPU というコンピュータの機能を実現する最も主要な部品がワンチップ化されたことで、個人でも容易に購入できるパーソナルコンピュータ が実現可能となった。その後もムーアの法則 に従い、マイクロプロセッサに集積される素子数は増加の一途をたどり、性能は目覚ましく向上し続けている(ただし、かつてはムーアの法則に従属していたデナード則 によるクロック周波数の向上や消費電力の低下は、
2000年代後半から頭打ちの傾向となり、2010年代後半からは微細化自体も鈍化が著しい)。今日ではマイクロプロセッサは、巨大なHPCサーバ から小さなウェアラブル端末 や家電 に至るまで、さまざまな機器に搭載されている。
最初のマイクロプロセッサ
Intel 4004 マイクロプロセッサ
マイクロプロセッサを実現する様々な新しい基本技術は1970年 頃に整い、1971年 11月15日に発表された4004 はテッド・ホフ による基本的なアイディアと、嶋正利 による論理設計とフェデリコ・ファジン による回路・マスク設計による、最初期のマイクロプロセッサとして周知のことだが、他複数のプロジェクトでほぼ同時期にCADC、TMS0100 シリーズ、μPD707・708などのマイクロプロセッサと認められるLSIが開発されている。
1968年 にギャレット・エアリサーチ (英語版 ) 社がF-14 飛行制御用デジタルコンピュータの開発を要請されてCADC (英語版 ) を設計する。これは1970年に設計を完了したMP944というMOS ベースのチップセット から成るマイクロプロセッサで、従来の機械装置より小型で信頼性が高く、初期のF14 トムキャット 戦闘機に採用された。米海軍 は軍需用品として民間への商用販売などを1997年 まで禁止していたため、CADC (MP944) は最近までほとんど知られていなかった。
TI のテキサス・インスツルメンツ TMS0100シリーズ はマイクロコントローラ に近い構成のLSIで、1971年 9月17日に電卓 向けプログラムを内蔵した TMS1802NC をリリースしている。
μPD707・708はNEC が設計・製造したLSIで、半導体プロセスの製造効率から2チップ構成だが機能的にはマイクロプロセッサでμCOMシリーズ の源流である。1971年12月にサンプル出荷され、シャープ が日本コカ・コーラ へ供給する仕向け機器に用いられている[ 7] 。
英語版 では他に en:Gilbert Hyatt の特許、Pico と General Instrument の協業によるチップ、Four-Phase Systems の AL1 チップ、フェアチャイルド の PPS25、Viatron が端末装置用に開発したチップ[ 8] 、TIのTMX 1795[ 9] なども記されている。
マイクロプロセッサ特許
TIはマイクロプロセッサに関する特許 を出願した。ゲイリー・ブーン はシングルチップのマイクロプロセッサに関する特許を1973年9月4日に取得した(米国特許第3,757,306号 )。1971年と1976年、インテルとTIは包括的なクロスライセンス 契約を締結し、インテルはTIの持つマイクロプロセッサの特許に対してロイヤリティを支払った。この間の経緯は、サイリックス とインテル間の訴訟に関する法廷文書に記述されている。この訴訟においてTIはマイクロプロセッサに関する特許の所有者および仲裁人として関与した。
マイクロプロセッサのコア(プロセッサコア)だけでなくメモリと入出力処理の回路も集積した、現代で言うマイクロコントローラ の実現に関する特許は、TIのゲイリー・ブーンとマイケル・J・コクラン に与えられた(米国特許第4,074,351号 )。
8ビットマイクロプロセッサ
Z80 マイクロプロセッサ
MOS 6502
4004の後継として1972年4月に発表された8008 が世界初の8ビット マイクロプロセッサである。
4004や8008を発展・改良させる形で、1974年4月にインテルの8080 が誕生、さらに1976年(の3月~7月ころ)には8080の上位互換品で速度・機能などを向上させたザイログ のZ80 が誕生し、またその後もインテル製の他の派生プロセッサ群が誕生してゆくことになった。その一方で同時期にそれらとは系統が異なるモトローラ のMC6800 というプロセッサも構想され1974年から製造、そのMC6800とバス 互換としつつパイプライン処理 の採用などの改良を加えたモステクノロジー 社の6502 が1975年に発表された。こうしてZ80 と6502 が覇を競うことになった(「80系と68系の戦い」などとも言われた)。1970年代後半から1980年代前半にかけてのことである。
Z80 も6502 もシステム全体のコストを低減することに注力しており、パッケージを小さくし、要求されるバス を単純なものにし、それまで外部に別チップで持たなければならなかった回路 (例えばZ80 はDRAMリフレッシュカウンタ)を内蔵した。これにより1980年初頭にホームコンピュータ(ホビーコンピュータ) 市場が新たに生まれ、それなりに使えるマシンが、99USドル で売られるようになった。
モトローラが「切り札」として1979年に発売したMC6809 は、命令セット に直交性 があり美しい設計が特徴の、事実上最もパワフルな8ビットマイクロプロセッサであり、当時製品化されたマイクロプロセッサの中で最も複雑な回路から成っていた。
他の初期の8ビットマイクロプロセッサとしてはSigneticsの2650 もある。PDP-8 を機能縮小しワンチップ化したものであるが、PDP-8を知らない層からは一風変わったパワフルな命令セットと受け止められた。
航空宇宙分野での最初のマイクロプロセッサは、1976年に発表された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 を参照)などがあり、LSI-11は1975年 に登場した。
初期のシングルチップの16ビットマイクロプロセッサには、1975年4月に完成したPANAFACOM L-16A(MN1610)、1976年のTIのTMS9900や Data General の MicroNOVA (mN601) がある。いずれもミニコンピュータの影響を受けている。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と進化していった。当時の Data General NOVA 互換のマイクロプロセッサには、他にフェアチャイルド・セミコンダクタの F9440 (1977年) も挙げられる。
インテルは参考とすべきミニコンピュータを持たなかったため、全く別の道をたどる。8080を拡張して16ビットのIntel 8086 を設計したのである。このx86 ファミリの最初のメンバー8086はパーソナルコンピュータ (パソコン)に広く採用される。インテルは8086を8080用ソフトウェアを最も簡単に移植できる方法として提案し、成功した。8086と8088に続いて、インテルは80186 、80286 をリリースし、1985年 に32ビットの80386 をリリースするに及んで、既存のソフトウェア資産をそのまま使用できる下位互換性を武器にPC市場での占有状態を強固なものにした。
マイクロプロセッサ内蔵のメモリ管理機構(MMU)はChilds他(インテル)によって開発された(米国特許第4,442,484号 )。
16ビット化によってさらに進んだ複雑化により、以前のワイヤードロジック から、マイクロプログラム方式 を採用するプロセッサが増えた。Z8000はワイヤードロジックだが[ 10] 、68000や8086はマイクロプログラム制御である[ 11] 。
32ビットマイクロプロセッサ
Intel 486DX2 の金属配線(200倍に拡大)
マイクロプロセッサでは一旦はマイクロプログラム方式が増えたが、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が消えるとともにインテルのマイクロプロセッサに切り替えた。
64ビットマイクロプロセッサ
Alpha ・MIPS ・SPARC などのRISC プロセッサでは、1990年代 初頭から64ビット 化が行われており、特にAlphaは32ビットアーテクチャが存在せず、当初から64ビットプロセッサとして登場した。PC(PC/AT互換機 とMacintosh)向けマイクロプロセッサは21世紀 に入ってから64ビット化が行われた。2003年 4月にAMD のOpteron が、同年6月にはIBMのPowerPC 970 が出荷開始され、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として使われていることが多い。 ↪︎2024年 現在は64ビット版が普及している。
PowerPC の64ビットへの移行は1990年代 前半のプロセッサ設計当時から意識されていたため、互換性は大きな問題を起さなかった。既存の整数レジスタはデータバス幅に合わせて拡張されている。
またIBMメインフレーム のz/Architecture も、64ビットマイクロプロセッサであり、IBM z10 などがある。
RISC
1980年代 中盤、複数の新たな高性能RISC (reduced instruction set computer)マイクロプロセッサが登場した。命令の種類を減らし、アドレッシングモードを制限し、全てをワイヤードロジック 制御で構成する。多数のレジスタを備えてメモリへのアクセスを減らすとともに、すべての命令を固定長としパイプライン処理 で高性能化を狙うものであった。それらは当初、特殊な用途のマシンやUNIX ワークステーション に使われていたが、その後あらゆる分野で使われるようになった。
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 ・携帯電話 ・スマートフォン をはじめとした携帯機器や組み込みシステム で支配的となった。ARMv8-A で64ビット化がなされて以降、ARMアーキテクチャはサーバ 分野にも進出し、スーパーコンピュータ やデスクトップ分野でも台頭が著しい。
現在のx86 マイクロプロセッサは従来の(可変長の)命令セットとの互換性を保ちながら、内部的には固定長命令に変換して実行するなどRISC の技術を段階的に採用し、また各RISC マイクロプロセッサはコード効率の向上を意図して短縮命令モード(ARMのThumb命令など)を実装するなど命令セットの追加を重ねたため、現在ではRISC とCISC の技術的な分類は困難である。しかしRISCという用語は便宜上使われる場合が多い。
市場
かつて世界で販売されたマイクロプロセッサのうち最も多かったのは安価な8ビット 製品である。1997年 には20億個以上が出荷され、組み込みシステム として非常に様々な用途に利用されてきた。
しかし、その後は半導体製造技術の発達によりローエンドの32ビットプロセッサーと16ビット /8ビット プロセッサーの価格差は徐々に少なくなり、IoT などの要求仕様の高度化や汎用開発ツールの援用要求により、16ビット命令(ARMのThumb命令など)を持つ32ビットRISCプロセッサ(主にMIPSやARMの互換製品)が組み込み用途にも広く使われるようになった。また、64ビットの高性能品もパソコンやサーバ、スマートフォンのほか、デジタル家電 やネットワーク機器など大量のデータの処理が要求される分野で使われている。
マイクロプロセッサはその特性上小さく、軽いが価格が高価なことから、航空機 での輸送が盛んである。日本においてマイクロプロセッサの取扱量が最も多い空港 は、成田国際空港 である。
脚注
関連項目
外部リンク