この記事には複数の問題があります。改善
やノートページでの議論にご協力ください。「CPU」のその他の用法については「CPU (曖昧さ回避)」をご覧ください。
CPU (Intel Core i7 6700K )
CPU(シーピーユー、英: Central Processing Unit)、中央処理装置(ちゅうおうしょりそうち)または中央演算処理装置(ちゅうおうえんざんしょりそうち)は、コンピュータにおける中心的な処理装置(プロセッサ)[1]。
コンピューターの脳としてたとえられることが多い。
「CPU」と「プロセッサ」と「マイクロプロセッサ」という語は、ほぼ同義語として使われる場合も多いが、厳密には以下に述べるように若干の範囲の違いがある。大規模集積回路(LSI)の発達により1個ないしごく少数のチップに全機能が集積されたマイクロプロセッサが誕生する以前は、多数の(小規模)集積回路(さらにそれ以前はディスクリート[2])から成る巨大な電子回路がプロセッサであり、CPUであった。大型汎用機を指す「メインフレーム」という語は、もともとは多数の架(フレーム)から成る大型汎用機システムにおいてCPUの収まる主要部(メイン)、という所から来ている。また、パーソナルコンピュータ全体をシステムとして見た時、例えば電源部が制御用に内蔵するワンチップマイコン(マイクロコントローラ)は、システム全体として見た場合には「CPU」ではない。
目次
1 概要
2 構造と動作
2.1 構造
2.2 動作
3 歴史
3.1 半導体化
3.2 マイクロプロセッサ
4 設計と実装
4.1 ビット幅
4.2 低消費電力化
4.2.1 低電圧化
4.2.2 クロックゲーティング
4.2.3 非同期設計
4.2.4 パワーゲーティング
4.3 並列化
5 MCU
6 呼称
7 企業および製品
8 注釈
9 参照
10 参考文献
11 関連項目
概要「コンピュータ#概要」を参照
CPUは記憶装置上にあるプログラムと呼ばれる命令列を順に読み込んで解釈・実行することで情報の加工を行う。CPUはコンピュータ内での演算を行なう中心であり、CPUは通常はバスと呼ばれる信号線を介して主記憶装置や入出力回路に接続され、何段階かの入出力回路を介して補助記憶装置や表示装置、通信装置などの周辺機器が接続され、データやプログラムなど情報のやりとりを行う。
このようなCPUを用いたプログラムによるコンピュータの逐次動作がほとんどのコンピュータの基本的な動作原理となっている。記憶装置上にプログラムを配置してから、プログラムを実行する方式をプログラム内蔵方式と言う。
現在のCPUは、部品としてはプロセッサの1種である。プロセッサの多くはマイクロチップとして実装されており、マイクロプロセッサやMPU (Micro Processing Unit) と呼ばれる。また、算術演算機能を強化し信号処理に特化したデジタルシグナルプロセッサ (DSP) や、メモリや周辺回路を搭載し組込み機器制御を目的としたマイクロコントローラ(マイコン)などの展開種も登場している。
専用の電子回路に比べると実行速度は遅いが、プログラムを変えるだけで多様な処理が行えることから、非常に多岐にわたる用途に使用でき、専用回路に比べ設計、修正が容易である。このため、CPUはおよそあらゆるシステムに内蔵され、現代の産業や生活の屋台骨を支える存在にまで普及している。現在最も普及しているCPUアーキテクチャとしてARMアーキテクチャが挙げられる。ARMアーキテクチャベースのCPUは1991年から数え2008年初頭に出荷個数が100億個を超える[3]など、家電製品から工業製品、携帯機器などに至る多くのシステムに組み込まれ、機器制御を司っている。また、PCなど、現在の汎用コンピュータ製品における多くのシステムのメインCPUにx86アーキテクチャが用いられており、インテルのx86系CPU出荷数は1978年6月9日の8086発売から2003年までの25年で10億個を越えた[4]。
CPUの構造は1949年に世界最初のストアードプログラム方式コンピュータであるEDSACが発表された時点で、すでに基本的原理が確立している。CPUの発達は、プロセス技術の微細化による高速化、命令の各処理工程の並列実行(命令パイプライン、演算パイプライン)、命令の並列実行(スーパースケーラ、VLIW)、データ演算の並列化(SIMD演算)、複数プロセッサ・コアの実装(マルチコア)、複数スレッドの同時実行(同時マルチスレッディング)などに支えられている。 CPUは、全体を制御する制御装置、演算装置、データを一時記憶するレジスタ、メモリなどの記憶装置とのインタフェース、周辺機器との入出力装置とのインタフェース、などから構成される。 その他 浮動小数点演算を行うFPU(浮動小数点演算ユニット)、レジスタより多くの情報を一時記憶するキャッシュメモリ、DMAコントローラ、タイマー、シリアルインターフェースなどの機能をCPUと同一IC内にもつものもある。また、メモリから読み込んだ命令語を内部的なオペレーションに置き換える変換部を持つものもある。 クロック同期型のCPUは、クロック信号によって規則正しいタイミングで各部の動作を統制されている。同じCPUであればクロック周波数が高い方が高速に動作し、一定時間に多くのことを処理できる。1クロックで処理できる内容はCPUの設計により異なり、複数クロックで1つの機械語命令を実行するものから、1クロックで複数の命令を同時に実行できるものまである。クロック周波数が1GHzのCPUは、基本回路が1秒間に10億回の動作をする。 多くのCPUでは、大まかに言って制御装置が命令の解釈とプログラムの制御の流れを制御し、演算装置が演算を実行する。 高性能なCPUや、非ノイマン型のCPUや、画像処理向けのCPUは、同時に複数の命令を実行できるように複数の実行部を同一IC内に持っているものがある。 ノイマン型CPUの基本的な動作は、その実装に関わらずプログラムと呼ばれる命令列を順番に実行することである。 プログラムは数値列として何らかのメモリに格納されている。CPUでは、フェッチ (fetch)、デコード (decode)、実行 (execute) という3つのステップがほぼ必ず存在する。
構造と動作「コンピュータ#概要」を参照
構造
動作