単語記事: CPU

編集

CPU(Central Processing Unit )とは、コンピューター内部においてプログラム演算・数値計算や他の演算ユニットの制御を行う演算ユニット・電子回路の一つ。

コンピューターの中核をなす部品である。日本語で「中央演算処理装置」。

英字の読み方はセントラルプロセッシングユニット、日本語の読み方はちゅうおうえんざんしょりそうち

概要

俺は電子機器の頭脳Central Processing Unit。
略称CPU
プログラム演算と他の演算処理ユニットの指揮・命令の名人。
俺の様な汎用性の高い演算ユニットでなければ、
多芸多才の曲者揃いの演算・信号処理ユニットのリーダーは務まらん。

CPUは記憶装置上のプログラムを読み込み、それに従いデータ処理を行う。あくまでプログラムに従い処理を行うだけで、人間のように考えたりする訳ではない。

パソコンでは処理性能が高ければ高いほどストレスなく快適に使用できる。

パソコン用語として紹介されたりスマホ用語とされたりする事もあるが、コンピューター用語とするのが正確だろう。CPUはパソコンやスマホに限らず、銀行などの秘密基地データセンターにある大きなコンピューターからネットワーク機器やデジタル家電、更にはマイコン炊飯器にまで潜んでいるのである。

CPUとマイクロプロセッサ

本来CPUとは、コンピューターを構成する要素のうち、概要に書かれているような処理を行う部分のことであった。元々は複数の部品を使った大きな筐体をCPUといっていたのである。

その後、集積回路の技術が進歩して1つのチップにCPUの機能を搭載したマイクロプロセッサが登場した。それがどんどん普及するとCPUはマイクロプロセッサと同じ意味で使われるようになった。

以下はCPU = マイクロプロセッサとして記述する。

性能

CPUの性能は主にクロック周波数と、IPC(instructions per clock、1クロックあたりでどれだけの命令を実行できるか)で決まる。

CPUの回路はクロック信号という電気信号にあわせて処理を進めるので、クロック信号の間隔が短いほど早く処理を進めることができ性能が良いと言える。一定の時間内に何回のクロック信号があるかをクロック周波数という。通常はHzという単位で1秒間に何回のクロック信号があるかがCPUの仕様などとして公表されている。

だがしかし、命令は必ずしも1クロックで実行出来るわけではない。実際には数クロックで1命令の実行となったりする。1つの命令を実行するのに必要なクロック数(IPC)が少なければ、そのCPUは効率が良いと言える。つまりクロック周波数が同じであれば実行効率の良いCPUの方が性能が高いと言えるし、クロック周波数が少なくてもIPCが少なければ(※IPCは少ないほうが効率が良い)同等の性能を発揮する場合もありえる。

PC向けのCPUの性能はIntel Pentium3やAMD Athlonが主流であった時代までは、基本的にCPU動作クロック数が大きければ良いと考えることが出来た。

しかしながらPentium4ではIPCよりもクロック周波数を向上させやすい設計を採用したため、クロック周波数あたりの性能は先代のPentium3より低かった。逆にその後発売されたCoreシリーズではIPCを向上させる設計になった。そのためCoreシリーズとPen4など異なるブランドのCPU(正確には異なるコアというべきか?)のクロック周波数を比較しても意味をなさなくなっている。

動作クロックを向上させればそれにほぼ比例して性能の向上が見込めるため、ユーザーの間ではオーバークロックが行われることが多々ある。ただし、CPUの発熱量が増加したり、システム全体のクロックも変化するため、CPUだけでなく他の部品の故障の原因となりうるが、自己責任であるので保障などは一切ない。挑戦するなら注意すること。

マルチコアCPU(マルチコアプロセッサ)

1基のCPU内に複数のコアを収め、外見的には1基のCPU(シングルCPU)に見えるが、内部的には複数のCPU(マルチCPU)として扱い、コンピューターの処理能力を向上させる、「マルチコアCPU(マルチコアプロセッサ)」というマルチプロセッシング技術が存在する。

1基のCPU内に2個のコアが収められているものは、「デュアルコアCPU(デュアルコアプロセッサ)」 と呼称する。 内部に収められているコアが多ければ多い程、コア数の差異に伴う性能差に限定して言えば、コンピューターの処理能力がより高いと言うことができる。 

補助演算装置ではあるが、Intelは72コアのXeon Phiを発売する予定である。(2015年下半期)

マルチコアCPUの種類

  • デュアルコアCPU(デュアルコアプロセッサ)⇒コアが2個
  • トリプルコアCPU(トリプルコアプロセッサ)⇒コアが3個
  • クアッドコアCPU(クアッドコアプロセッサ)⇒コアが4個
  • ヘキサコアCPU(ヘキサコアプロセッサ)⇒コアが6個
  • オクトコアCPU(オクトコアプロセッサ)⇒コアが8個
    コレより下はメニーコア(たくさんのコア)としてひとくくりにされることもある
  • デカコアCPU(デカコアプロセッサ)⇒コアが10個
  • ドデカコアCPU(ドデカコアプロセッサ)⇒コアが12個
  • ヘキサデカコアCPU(ヘキサデカコアプロセッサ)⇒コアが16個

マルチスレッド

上記「性能」の項目にあるように、CPUが数クロックで1命令の実行を行っている場合、CPU内部では動いているところとそうでないところが出る。例えば、

  1. CPUへデータを読み込む
  2. 計算する
  3. データを書き出す
    (わかりやすいよう超簡略化しています)

これを各1クロックづつ、合計3クロックで行っていた場合1と3の時は計算能力が余っていることになる。
この余っているところを有効に使って、1つのコアで(見かけ上)複数の計算を平行して行うのがマルチスレッドである。

  1. プログラムAのデータを読み込む
  2. Aの計算をしつつ、Bのデータを読み込む
  3. Aのデータを書き出しつつ、Bの計算をする
  4. Bのデータを書き出す。

上記の例では、本来3クロック×2の6クロックかかるはずの計算を4クロックで終わらせている。
これがマルチスレッドである。

この技術で有名なのはIntelのハイパースレッディングで、ソフトの内容にもよるが数十%の性能向上に繋がる場合もある。ハイパースレッディングでは、1コアに2スレッドだが、IBM POWER等では1コアに8スレッドなものもある。

マルチCPU(マルチプロセッサ)

CPUはGPUと同様にコンピュータ1台に対して1基搭載して動作させることが一般的であり、これを「シングルCPU(シングルプロセッサ)」という。

しかしながら、より快適に処理をする為、或いはより高度な処理を行う為に、CPUをマザーボードに複数搭載して並列動作させることで、コンピューターの処理能力を向上させる、「マルチCPU(マルチプロセッサ)」というマルチプロセッシング技術が存在する。

CPUを2基搭載して並列動作させれば、「デュアルCPU(デュアルプロセッサ)」ということになる。

マルチCPU構成にするにはCPUを複数搭載することに対応したマザーボードが必須。(マザーボード上にCPUソケットが複数設けられている仕様になっているもの) 

ニコニコ動画での動作

2011年現在、Adobe Flash Playerがマルチスレッドに対応したため(バージョン10以降)、マルチコア・マルチスレッドCPUの効果は劇的に向上している。

例としてはCore 2 E8600(3.33GHz 2スレッド)よりも、Core 2 Q8400(2.66GHz 4スレッド)の方が重い動画もスルスル行けるといった感じ。更に古い世代のQ6600(2.4GHz 4スレッド)ですらデュアルコアよりは快適になる可能性が高い。

2007年頃にはマルチスレッド対応のアプリは少なかった為(特にゲーム)、一部でデュアルコアで高クロック信仰(例: 1.5GHzデュアルコアよりも2GHzシングルコアの方が性能が高い)があった。

ゲーム用語として

ゲーム機等での対戦型ゲームにおいて、コンピュータが操作するプレイヤーを「CPU」と呼ぶ。

一種のNPC(ノンプレイヤーキャラクター)とも解釈できるが、CPUの操作するユニットはあくまでPC(プレイヤーキャラクター)である。

アーケードゲームにおいては円滑な運営のため積極的にCPUが参戦する仕様のことが多く、コンシューマではソロプレイを念頭に(思考回路的に)個性あるCPUを多数用意していることが多い。

ちなみに、アーケード以外のオンラインゲームの場合、「プレイヤーが揃うまで待つ」のが慣習であり、強制的にエントリーを締め切ってCPUを参戦させるのはよほどの過疎ゲーでなければマナー違反であるし、そもそもCPUという概念のないタイトルも多い(例えば、東風荘や天鳳にはCPUが存在せず、プレイヤーが回線落ちなどで操作不能になった場合はゲーム進行に必要な最小限の動作のみを強制的に行う状態になる)。

主要なCPUメーカー及びブランド(コンシューマー&プロユース)

命令セットアーキテクチャ(ISA: instruction set architecture)別に記載する。ISAについて説明すると長くなる上かなり専門的になるので機械語の記事に譲るが、日本語・英語・スペイン語のような言葉の違いと思って貰えば良い。それぞれに得手不得手な面がある。

x86-64系

  • Intel
    • Xeon
    • Core i7/i5/i3
    • Core M
    • Core 2
    • Core
    • Pentium
    • Celeron
    • Atom
    • Quark
  • AMD
    • Opteron / Opteron X
    • FirePro APU
    • FX series
    • A series
    • Phenom
    • Athlon
    • Turion
    • Sempron
    • Duron
  • VIA
    • C7
    • C3
    • nano

Power Architecture系

  • IBM
    • PowerPC(以前のMac、Xbox360やwiiなど)
    • POWER

ARM系

  • Qualcomm Snapdragon
  • Samsung Exynos
  • Apple A series
  • NVIDIA Tegra
  • Texas Instruments OMAP
  • MediaTek MT Series
  • MediaTek Helio
  • AMD Opteron A series
  • HiSilicon Kirin
  • Rockchip RK series
  • Allwinner A series
  • Renesas RZ series

関連項目

  • パソコン
  • Intel
  • AMD
  • 機械語
  • プログラミング関連用語の一覧

関連動画



関連商品


【スポンサーリンク】

携帯版URL:
http://dic.nicomoba.jp/k/a/cpu
ページ番号: 394360 リビジョン番号: 2385473
読み:シーピーユー
初版作成日: 08/07/25 15:32 ◆ 最終更新日: 16/07/20 06:06
編集内容についての説明/コメント: 機械語の記事への参照
記事編集 / 編集履歴を閲覧

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

CPUについて語るスレ

116 : ななしのよっしん :2014/12/29(月) 17:31:20 ID: YVkWpHXzCg
年末なんでG3258買ってきてOC遊びしてるけどこれ楽しいね
117 : ななしのよっしん :2015/01/07(水) 22:55:36 ID: bL7f5dz5jl
>>91
頭が悪いのは自分じゃあ・・
だから、生理的に受け付けなくて知恵熱が出たんだねw
118 : ななしのよっしん :2015/02/14(土) 11:41:52 ID: XMh0A1aH2Z
>>117
そこで煽る貴殿はもっと頭が悪そうだが。

気になったので調べてみたが、「CPU」のオリジナルはハイパーオリンピックなのだそうだ。あのゲームはプレイする前にネームエントリーを行うから、コンピュータが対戦相手の場合も必ず仮の名前が必要になる。
プレイヤーの名前だからCPUというのは確かに理にかなっている。AIだと「アイ」で現実にいるし、A.Iでもイニシャルだからダメだよね。
119 : ななしのよっしん :2015/06/19(金) 18:46:32 ID: 6lsnNIVnjK
80年代前半くらいだとCOMもCPUも同義語みたいなものだったからなー
コンピュータとCPUは一体化したものって感じで
素人がCPUを交換するなんて文化はもっと後の話
120 : ななしのよっしん :2015/06/19(金) 19:01:44 ID: OysZscEigX
コンピュータープレイヤーユニットって聞いたような
121 : ななしのよっしん :2015/07/28(火) 01:15:11 ID: 4L5KGKGWLV
core Mも追加して差し上げろ~
122 : ななしのよっしん :2016/03/31(木) 15:07:18 ID: WTG2n2V1Al
>>120
それってNPU(NPC)と同義?まあプレイヤーでもコンピューターでも無いとしたら誰だって話だからNPU=CPUて事になるか。尤もNPUって云う時は中立的立場のユニットを表すことが多いけど
123 : ななしのよっしん :2016/07/21(木) 14:48:28 ID: CdF2MsXW94
>>lv268959864
124 : ななしのよっしん :2016/10/02(日) 00:51:04 ID: XMh0A1aH2Z
よく見るとマルチスレッドの説明が微妙に誤解を招くな・・・。
マルチスレッドそのものはクロック数を減らすこととは全く関係がない。単純に一つのプロセスに対して実行文脈を複数持てることを指していて、1スレッド辺りの処理が3クロックなら、2スレッドでトータル6クロックになるのは基本的に変わらん。
ただ、CPU側に複数のコアがあったりすると、6clock/coreじゃなくて2*3clock/coreに均せるからスループットは倍になりますよと。
で、このマルチコアのやっていることを単一CPU内で擬似的に再現してやろうというのがいわゆるハードウェアマルチスレッディング(HyperThreading)で、実行ユニットが空いてないと機能しないからマルチコアみたいに完全に倍になったりはしないが「シングルCPUだけどユニットが空いてたら6クロック使わずに終わらせますよ」ということを謳う。
これはあくまでも「ハードウェアによるマルチスレッド実行」の話なので「マルチスレッドは空いてるところを利用するものだ」という説明は微妙に嘘。
125 : ななしのよっしん :2017/02/23(木) 16:50:40 ID: WTG2n2V1Al
CPUを練磨買い換える動機が中々出て来ないな〜
4Kはまだまだコンテンツ不足だし
  JASRAC許諾番号: 9011622001Y31015