現代PCの基礎知識(1):プロセッサにまつわるアレやコレ

2016年9月1日(木)
沖 勝(おき まさる)

はじめに

PCを構成するパーツをざっと並べると、プロセッサ、チップセット、マザーボード、メモリ、ストレージ、ビデオカード、ケース、電源、キーボード、マウス、といったところだろう。ゲーム用途であればサウンドカードを積むこともあるだろうし、24時間運用サーバーであればRAIDカードを搭載して可用性を高めるという選択肢もある。

本連載ではこれらのパーツについて基礎知識を解説していくが、今回は、まずPCの核となるプロセッサについて述べていく。

CPUとプロセッサ

PCが動作するにあたって欠かせないものはたくさんあるが、最も中心的な役割を果たすのがCPU(Central Processing Unit)だ。メモリ上のプログラムを実行するパソコンの頭脳である。

アーキテクチャによってメモリ上の値が示すプログラムの動作内容は異なるが、現在主流のPCであればIA-32(32bit)あるいはAMD64(64bit)と呼ばれる命令セットを持つ、いわゆるx86プロセッサが使われている。

現在では入手が容易なx86プロセッサは、機能としてはCPU単体のみでなくノースブリッジと呼ばれていた高速な周辺デバイスとのインタフェース機能(例えばメモリコントローラ)や周辺デバイスの一部(ビデオ機能など)を内蔵していたりする。中には、ほとんどの周辺デバイスを内蔵したSoC(System on Chip)というカテゴリに属するプロセッサもある(図1)。

図1:筆者が所持するXeon Dマシンの内部。Xeon DはXeonシリーズ初のSoCであり10GbE MACを内蔵している

開発環境としてPCを用意する場合、コンパイルなどの処理が速いに越したことはないが、例えばコンパイルに3秒かかるものと2秒かかるものとで値段が2倍違うとしたら、あなたはどちらを選ぶだろうか。価格対性能比で前者を選ぶかもしれないし、予算に余裕があれば少しでも速いほうを選びたくなるかもしれない。

しかし、PCパーツショップに並んでいるプロセッサには価格のほかにもいくつか情報が書かれており、何をどう比較すれば良いか迷ってしまうこともあると思われる。数字が並んでいる項目の比較であれば、だいたいの項目で大きいほうがより性能が良いという指標になるが、複数の項目では一方が大きく他方は小さいということもあるため、どのような項目があるのかどのような指標で選ぶのかは常に気にしておきたい。

プロセッサ界の2トップ「インテル」と「AMD」

パソコンの創生期から現在に至るまで、インテルは様々なマイクロプロセッサーを作り続けている、言わずと知れた業界の巨人である(図2)。

図2:開発者向けイベントは大きな会場で3日間開催されるなど、規模が段違いである。写真は2016年8月に開催されたIDF(Intel Developers Forum)16の会場、Moscone West Convention Center

一方、AMDインテル互換(と言ってもピン互換ではなくCPUの命令セットに互換性のある)プロセッサを製造している。過去にはCyrix、Transmetaなどの互換プロセッサメーカーも存在したが、2016年現在ではAMD以外で主力のPC市場向けチップを出荷している互換メーカーはなく、主に組み込み用途向けにVIAが出荷しているのが目立つくらいだ。

AMDのプロセッサは強力なGPUを内蔵ゲーム用途に最適な点をアピールをしていること、インテルのプロセッサと比較した時に比較的割安であることが特徴だが、ある程度以上の性能を求めると選択肢はインテルのみに絞られる。

プロセッサのブランドネーム

インテルやAMDはプロセッサの用途で区分けし、性能区分と合わせてブランドネームを付けている(表)。

表:インテルとAMDの主なプロセッサのブランドネーム

主な用途 インテル AMD
サーバー・ワークステーション向け Xeon E3,E5,E7 Opteron
メインストリーム Core i7 FX
Core i5 A10,A8
Core i3 A6,A4
低価格PC向け Pentium Athlon
Celeron Sempron
低消費電力 Atom E2,E1

サーバー・ワークステーション向けにはインテルがXeon、AMDがOpteronというブランド名のラインナップを持ち、コンシューマー向けのCore iシリーズA6A8といったシリーズとは性能が似通っていてもはっきりと区別されている。

また、これらはあくまでブランド名であり、例えば同じCore i7と名乗っていてもノートPC用とデスクトップPC用のプロセッサではコア数、クロック数などに開きがあるので要注意だ。

「予算がない」あるいは「なるべく安く済ませたい」といったケースでは低価格PC向けプロセッサを選択せざるを得ないこともあるが、余裕があるならばメインストリームのプロセッサを選びたい。

筆者は現在メイン開発マシンとしてXeon E3を使っているが、このマシンでコンパイルに30秒ほどかかるプログラムをAtomマシン上でコンパイルすると2分近くかかる。これを4倍速いと見るか1分半しか差がないと見るかは人それぞれだろう。筆者は当然ながら前者だ。

プロセッサのコードネームと世代

PC関連のニュース記事を読んでいると、よく新しいCPUが紹介される際にコードネームが書かれているのを目にすると思う。インテル製品であればSandyBridgeIvyBridgeHaswellBroadwellSkylakeなどだ。

これらはプロセッサの内部設計の世代を表しており、ものすごく大まかに言えばコア数やクロック数が同一の場合は概ね新しいほうが速いといえる。世代が異なるとプロセスルール(回路の微細度)や対応するメモリの種類が違ったりするからだ(これは最近のプロセッサにはメモリコントローラが内蔵されているから。昔のPCはチップセットによって対応が違っていた)。

プロセッサの世代は、大よそ型番から推測できる。中には世代がひとつ新しくなってもCPUの性能はほとんど向上せず、GPU性能の向上により体感的に性能が上がったというブランドもあった。

同じCore i7でも世代が違うと性能も異なる。もっともパーツ単位で組み立てる(自作する)場合はSandyBridgeIvyBridgeといった古い世代のプロセッサは入手しづらくなっているので、あまり気にしなくても良いと思う。

一方、完成品を購入する場合は店頭やカタログなどにコードネームまで書かれていることはまれだが、妙に安いと思ったらプロセッサの世代が1つ古いといったこともありがちである。プロセッサの型番をIntel ARK(図3)などで調べるとコードネームもわかるので、「おや?」と思うような場合はチェックしてみると良いだろう。

図3:「Intel ARK」はWebサイトのほかiOSアプリからもアクセスが可能だ。Processorの詳細を見るとコードネーム(Skylake)が見える

クロックは「速ければ速いほど良い」のか?

PCの総合的な速度はCPUのクロックだけで決まるものではないが、自分の作業に見合うクロック数を選びたい。基本的に同一シリーズ(例えばインテルのCore i7-6000番台)であればクロックの数値が大きいものほど速い。

ただし、世代やシリーズが違うと単純には比較できない。例えば過去のPentium 43.4GHzというクロックで動作するモデルがあったが、これは現在のラインナップでは非力な部類に当たるAtom Z3000番台の1.33GHzと同等未満の速度と言われている。

これはクロック数以外のコア数CPUの内部アーキテクチャ対応するメモリの種類やバス幅I/Oの違いなどによるものである。速度についてはクロック数以外の要因が多岐に渡るため、予算の都合などで旧製品を用意せざるを得ない場合には注意だ。

また、クロック数が高いものは発熱も高くなる傾向があるので、パーツを組み立てる場合は放熱のことも頭の隅に入れておこう。

コア数だって「あればあるほど良い?」

大昔はプロセッサと言えばCPUが1つ、サーバー向けにはデュアルプロセッサが普通だったが、現在はPCだけでなくスマートフォンも含めてマルチコアの時代である。

プロセッサの1つの四角いプラスチックパッケージの中に複数のCPUコアが内蔵されており、同時に複数のプログラムを実行できる。ではコアが4つあればかっちり4倍になるのか、と言えばならない。独立性の高い処理が並列動作する場合は比較的性能は伸びるが、昨今のマルチスレッドなプログラムではスレッド間の通信などのオーバーヘッドもあるため、性能はリニアに伸びない。

とは言え、テキスト編集やコンパイル、通信など様々な作業を同時にこなすマルチタスクシステムにおいては、同時並行で動作できるプロセッサがあるとないとでは体感だけでなく実際の性能も違う。と言っても、現状の選択肢としては2コア4コアといったところが妥当だろう。筆者が使っているXeonも4コアである。

また、コア数の掲示で2C4T4C8Tなどの表現を見かけるが、これを目にして「何のことだろう?」と思った方もいるだろう。これは2コア4スレッド4コア8スレッドの略である。ここで言うスレッドはソフトウェアプログラミングで自由に作成できるスレッドではなく、論理プロセッサとも呼ばれるスレッドのことだ。

インテルが提供するHTT(Hyper Threading Technology)により、物理的には1つのコアをソフトウェアからは複数に見せることができ、4C8Tであれば8個のCPUがあるように振る舞う。実際にWindowsのリソースメーターから見ると論理プロセッサ数分のグラフが見える(図4)。通常のコア数と別に数えているのは同一コア上のスレッド同士でキャッシュを共有したりしているためで、2C4Tと4C4Tとでは見かけ上同じに見えてもパフォーマンスが異なるのだ。

図4:リソースメーターでは12個のCPUが見えるが、これは論理プロセッサ数。6C12TのCore i7プロセッサのものである

なお、プロセッサの仕様について正確を期すならIntel ARKなどのメーカーオフィシャルの情報を参照すべきだろう。

現金ではない「キャッシュ」のお話

キャッシュといっても現金(cash)ではなく、キャッシュ(cache)メモリのことだ。CPUはメモリ上のプログラムを実行するが、RAMはCPUと比較するとかなり遅く、CPUがRAMからそのままプログラムを読んで実行すると、RAMの速度に足を引っ張られてCPUが本来の性能を発揮できない。

そこで用意されているのがキャッシュである。これからCPUがアクセスするRAMの内容と同一のものがキャッシュ上にあれば、CPUはキャッシュ上のデータを読み書きすることでRAMへ直接アクセスするのと比べて高速に実行できる。

また、キャッシュの表記でよく目にするL1L2LLevelだ。数字の小さいキャッシュほどCPUに近い位置にあり、近いキャッシュほど速く容量も小さい。

なお、キャッシュメモリはプロセッサ内に内蔵されており増設などはできない(昔はL2キャッシュがプロセッサの外に設置される設計でマザーボード上に増設できるものもあった)こと、キャッシュの容量によって性能が変わることから、他の項目がほぼ同じプロセッサを比較検討する場合は気にしておくと良い。

CPUとマザーボードを接続する「ソケット」

完成品のPCを購入する場合はひとまず気にしなくても良い話になるが、パーツショップでプロセッサの値札にLGA1155などと書かれているのはソケットが何であるかを示している。

プロセッサはそれ単体で動かすことはできず、回路を繋いで電源を供給するマザーボードと組み合わせる必要があるが、そのマザーボードとの接続点がソケットである(図5)。したがって、プロセッサとマザーボードでソケットの種類が異なる組み合わせは利用できない

図5:マザーボード側の写真だが、左はAMDプロセッサ用の「Socket AM2」と呼ばれるソケットで、右はインテル Skylake対応の「LGA1151」と呼ばれるソケット。ソケットの型が違うとプロセッサを搭載できない。載せるときには、プロセッサの方向に注意

ソケットの形状は、プロセッサのメーカーや世代により異なる。ピン互換をとることもある。昔のAMD製x86互換プロセッサはインテルプロセッサ用のマザーボードにも搭載できるようにピンアサインを互換としていたが、現在は完全に別である。

パーツショップではプロセッサとマザーボードにソケットの形状などを掲示しているので、組み合わせられるかをしっかりと確認して購入しよう。後日、より性能の高いプロセッサにアップグレードしたいときは、同一のソケットを持つプロセッサから選択することになる。

「TDP」は小さいほうが良いのか?

TDP 83Wなどの記述も目にするが、これはThermal Design Powerの略で熱設計電力とも呼ばれる(図6)。大雑把に言えばどれだけ発熱するかという指標で、合わせて消費電力の大小を表している。

図6:TDPの記載があるプロセッサの価格表示。TDPの他にコア数やキャッシュについて書かれているのも見える

性能が高いプロセッサは発熱も大きいことが多く、そのためプロセッサにつける放熱ファンも大型だったりする。PCをパーツから自作する場合はファンのサイズケースのサイズなどに制約があったりもする。

例えば、筆者は小型PCを開発マシンにしようとしたものの、自分が使いたい性能のプロセッサではファンのサイズが大きく小さなケースに収まらない。結果、泣く泣く性能を優先してケースは大きくせざるを得なかった、ということもあった。インテルとAMDで比較するとAMDのほうがTDPが高い傾向にあるので、AMDのプロセッサを選ぶ際は特に注意しておきたい。

まとめ

プロセッサのカタログスペックに掲載される性能に関する項目は数多く、すべてを紹介できなかったが、主な項目については紹介できたと思う。

全項目を比較検討して慎重にプロセッサを選ぶ人もいれば、予算の範囲で買える手ごろなものを選択して、使ってみた結果を基にアップグレードなどを検討する人もいるだろう。いずれにしても、本稿が「何がどう作用するかピンと来ない場合の助け舟」になれば幸いである。

著者
沖 勝(おき まさる)
株式会社インターネットイニシアティブ
前職時代は「沖@沖」と名乗り、X68000用のフリーソフトウェアを発表していた。2001年より株式会社インターネットイニシアティブに勤務、自社開発の高機能ルータSEIL(ザイル)の開発に従事し、OS移植やデバイスドライバ開発などに携わった。2013年よりオープンソースソフトウェアLagopus(ラゴパス)の開発に従事、パケット処理機能の設計及びプログラミングを担当している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています