CPUとは、
- Central Processing Unit(中央演算処理装置) - コンピューター内部においてプログラム演算・数値計算や他の演算ユニットの制御を行う演算ユニット・電子回路の一つで、コンピューターの中核をなす部品である。
- ビデオゲームにおける対戦相手・協力相手をコンピュータ側が務めるもの。 本稿でも紹介する。
概要
俺は電子機器の頭脳Central Processing Unit。
略称CPU。
プログラム演算と他の演算処理ユニットの指揮・命令の名人。
俺の様な汎用性の高い演算ユニットでなければ、
多芸多才の曲者揃いの演算・信号処理ユニットのリーダーは務まらん。
CPUは記憶装置上のプログラムを読み込み、それに従いデータ処理を行う。あくまでプログラムに従い処理を行うだけで、人間のように考えたりする訳ではない。
パソコンでは処理性能が高ければ高いほどストレスなく快適に使用できる。
パソコン用語として紹介されたりスマホ用語とされたりする事もあるが、コンピューター用語とするのが正確だろう。CPUはパソコンやスマホに限らず、銀行などの秘密基地データセンターにある大きなコンピューターからネットワーク機器やデジタル家電、更にはマイコン炊飯器にまで潜んでいるのである。
※CPUは元々は複数の部品を使った大きな筐体だった。その後、集積回路の技術が進歩して1つのチップにCPUの機能を搭載したマイクロプロセッサが登場、それが普及することでCPUはマイクロプロセッサと同じ意味で使われるようになった。したがって本記事ではCPU = マイクロプロセッサとして記述する。
CPUの高性能化
動作周波数引き上げ
CPUの性能は主にクロック周波数と、IPC(instructions per clock、1クロックあたりでどれだけの命令を実行できるか)で決まる。
CPUの回路はクロック信号という電気信号にあわせて処理を進めるので、クロック信号の間隔が短いほど早く処理を進めることができ性能が良いと言える。一定の時間内に何回のクロック信号があるかをクロック周波数という。通常はHzという単位で1秒間に何回のクロック信号があるかがCPUの仕様などとして公表されている。
だがしかし、命令は必ずしも1クロックで実行出来るわけではない。実際には数クロックで1命令の実行となったりする。1つの命令を実行するのに必要なクロック数(Cycles per instruction)が少なければ、そのCPUは効率が良いと言える。つまりクロック周波数が同じであれば実行効率の良いCPUの方が性能が高いと言えるし、クロック周波数が少なくてもIPCが高ければ同等の性能を発揮する場合もありえる。
PC向けのCPUの性能はIntel Pentium3やAMD Athlonが主流であった時代までは、基本的にCPU動作クロック数が大きければ良いと考えることが出来た。
しかしながらPentium4ではIPCよりもクロック周波数を向上させやすい設計を採用したため、クロック周波数あたりの性能は先代のPentium3より低かった。逆にその後発売されたCoreシリーズではIPCを向上させる設計になった。そのためCoreシリーズとPen4など異なるブランドのCPU(正確には異なるコアというべきか?)のクロック周波数を比較しても意味をなさなくなっている。さらに最近では4~8コアを一つのプロセッサに組み込むCPUも出てきているのでなおさら意味を成さなくなっている。
動作クロックを向上させればそれにほぼ比例して性能の向上が見込めるため、ユーザーの間ではオーバークロックが行われることが多々ある。ただし、CPUの発熱量が増加したり、システム全体のクロックも変化するため、CPUだけでなく他の部品の故障の原因となりうるが、自己責任であるので保障などは一切ない。挑戦するなら注意すること。8コア以上だと定格でも爆熱なCPUもあるので注意。
マルチコアCPU(マルチコアプロセッサ)
1基のCPU内に複数のコアを収め、外見的には1基のCPU(シングルCPU)に見えるが、内部的には複数のCPU(マルチCPU)として扱い、コンピューターの処理能力を向上させる、「マルチコアCPU(マルチコアプロセッサ)」というマルチプロセッシング技術が存在する。
1基のCPU内に2個のコアが収められているものは、「デュアルコアCPU(デュアルコアプロセッサ)」 と呼称する。 内部に収められているコアが多ければ多い程、コア数の差異に伴う性能差に限定して言えば、コンピューターの処理能力がより高いと言うことができる。
ちなみに、コア数がN個になれば処理性能がなんでもかんでもN倍になるかというとそんな事はない。これは例えばカレーを作るのに一時間かかるとして、料理人や鍋の数を増やしても煮込み時間自体は短くならないというのと同じである。
しかし一度に作る量を増やすことならできる。つまり並行して大量のデータを捌くような処理に対してはコア数が効いてくるわけである。
ネットブラウジングだと4コアでもなんとかなるが、ゲーム用途だと6~8コアくらいある方がいい。
補助演算装置ではあるが、Intelは72コアのXeon Phiを発売する予定である。(2015年下半期)
マルチコアCPUの種類
- デュアルコアCPU(デュアルコアプロセッサ)⇒コアが2個
- トリプルコアCPU(トリプルコアプロセッサ)⇒コアが3個
- クアッドコアCPU(クアッドコアプロセッサ)⇒コアが4個
- ヘキサコアCPU(ヘキサコアプロセッサ)⇒コアが6個 ゲーム用PCならこのコアより上のCPUを選ぶと良い
- オクトコアCPU(オクトコアプロセッサ)⇒コアが8個
コレより下はメニーコア(たくさんのコア)としてひとくくりにされることもある - デカコアCPU(デカコアプロセッサ)⇒コアが10個
- ドデカコアCPU(ドデカコアプロセッサ)⇒コアが12個
- ヘキサデカコアCPU(ヘキサデカコアプロセッサ)⇒コアが16個
ハードウェアマルチスレッディング
上記「性能」の項目にあるように、CPUが数クロックで1命令の実行を行っている場合、CPU内部では動いているところとそうでないところが出る。例えば、
これを各1クロックづつ、合計3クロックで行っていた場合1と3の時は計算能力が余っていることになる。
ところで、現代のOSやアプリケーションではマルチスレッドという形で複数の処理が平行して実行されている。それぞれの処理が独立しているなら、余っている部分に処理を詰め込んで、1つのコアで(見かけ上)複数の計算を平行して行うことができる。これがハードウェアマルチスレッディングである。
上記の例では、本来3クロック×2の6クロックかかるはずの計算を4クロックで終わらせている。(全体が複数個あるマルチコアと違って、あくまで1つのコアの稼働率を上げる技術なのに注意)
この技術で有名なのはIntelのハイパースレッディングで、ソフトの内容にもよるが数十%の性能向上に繋がる場合もある。(最近ではAMDも採用している。)ハイパースレッディングでは、1コアに2スレッドだが、IBM POWER等では1コアに8スレッドなものもある。
マルチCPU(マルチプロセッサ)
CPUはGPUと同様にコンピュータ1台に対して1基搭載して動作させることが一般的であり、これを「シングルCPU(シングルプロセッサ)」という。
しかしながら、より快適に処理をする為、或いはより高度な処理を行う為に、CPUをマザーボードに複数搭載して並列動作させることで、コンピューターの処理能力を向上させる、「マルチCPU(マルチプロセッサ)」というマルチプロセッシング技術が存在する。
CPUを2基搭載して並列動作させれば、「デュアルCPU(デュアルプロセッサ)」ということになる。
マルチCPU構成にするにはCPUを複数搭載することに対応したマザーボードが必須。(マザーボード上にCPUソケットが複数設けられている仕様になっているもの)
最近は普通のマザーボードでも12コアまで載せられるのでサーバー向け用途でも無い限りそこまで必要ない。
ニコニコ動画での動作
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シングルコアの方が性能が高い)があった。
2023年現在、現在はAdobe Flash Playerがサポート終了し、HTML5で動かすようになったのでなおさらマルチコアの重要性が増している。
ゲーム用語として
ゲーム機等での対戦型ゲームにおいて、コンピュータが操作するプレイヤーを「CPU」と呼ぶ。
一種のNPC(ノンプレイヤーキャラクター)とも解釈できるが、CPUの操作するユニットはあくまでPC(プレイヤーキャラクター)である。※NPCの場合、RPGゲーム中における棒立ちして同じ内容しか話さない村人なども含むなど広義。
アーケードゲームにおいては円滑な運営のため積極的にCPUが参戦する仕様のことが多く、コンシューマではソロプレイを念頭に(思考回路的に)個性あるCPUを多数用意していることが多い。
ちなみに、アーケード以外のオンラインゲームの場合、「プレイヤーが揃うまで待つ」のが慣習であり、強制的にエントリーを締め切ってCPUを参戦させるのはよほどの過疎ゲーでなければマナー違反であるし、そもそもCPUという概念のないタイトルも多い(例えば、東風荘や天鳳にはCPUが存在せず、プレイヤーが回線落ちなどで操作不能になった場合はゲーム進行に必要な最小限の動作のみを強制的に行う状態になる)。
本気を出せばコンピュータの処理速度で判断・反応が可能な強敵。(難易度設定にもよる)
ただし人間ほどの柔軟性はないため、協力プレイなどでは手こずる場合が多い。
立ち止まる、攻撃する、伏せる、隠れる、恐れずに突撃するなど一定の指示コマンドが出せる場合もある。
主要なCPUメーカー及びブランド(コンシューマー&プロユース)
命令セットアーキテクチャ(ISA: instruction set architecture)別に記載する。ISAについて説明すると長くなる上かなり専門的になるので機械語の記事に譲るが、日本語・英語・スペイン語のような言葉の違いと思って貰えば良い。それぞれに得手不得手な面がある。
x86-64系
Power Architecture系
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
関連動画
関連リンク
関連項目
親記事
子記事
兄弟記事
- 12
- 0pt