まさる)TweetはじめにPCを構成するパーツをざっと並べると、プロセッサ、チップセット、マザーボード、メモリ、ストレージ、ビデオカード、ケース、電源、キーボード、マウス、といったところだろう。ゲーム用途であればサウンドカードを積むこともあるだろうし、24時間運用サーバーであればRAIDカードを搭載して可用性を高めるという選択肢もある。本連載ではこれらのパーツについて基礎知識を解説していくが、今回は、まずPCの核となるプロセッサについて述べていく。メモリ上のプログラムを実行するパソコンの頭脳である。アーキテクチャによってメモリ上の値が示すプログラムの動作内容は異なるが、現在主流のPCであればIA-32(32bit)あるいはAMD64(64bit)と呼ばれる命令セットを持つ、いわゆるx86プロセッサが使われている。現在では入手が容易なx86プロセッサは、機能としてはCPU単体のみでなくノースブリッジと呼ばれていた高速な周辺デバイスとのインタフェース機能(例えばメモリコントローラ)や周辺デバイスの一部(ビデオ機能など)を内蔵していたりする。Chip)というカテゴリに属するプロセッサもある(図1)。MACを内蔵している開発環境としてPCを用意する場合、コンパイルなどの処理が速いに越したことはないが、例えばコンパイルに3秒かかるものと2秒かかるものとで値段が2倍違うとしたら、あなたはどちらを選ぶだろうか。価格対性能比で前者を選ぶかもしれないし、予算に余裕があれば少しでも速いほうを選びたくなるかもしれない。PCパーツショップに並んでいるプロセッサには価格のほかにもいくつか情報が書かれており、何をどう比較すれば良いか迷ってしまうこともあると思われる。数字が並んでいる項目の比較であれば、だいたいの項目で大きいほうがより性能が良いという指標になるが、複数の項目では一方が大きく他方は小さいということもあるため、どのような項目があるのか、どのような指標で選ぶのかは常に気にしておきたい。プロセッサ界の2トップ「インテル」と「AMD」パソコンの創生期から現在に至るまで、インテルは様々なマイクロプロセッサーを作り続けている、言わずと知れた業界の巨人である(図2)。図2:開発者向けイベントは大きな会場で3日間開催されるなど、規模が段違いである。Center一方、AMDはインテル互換(と言ってもピン互換ではなくCPUの命令セットに互換性のある)プロセッサを製造している。過去にはCyrix、Transmetaなどの互換プロセッサメーカーも存在したが、2016年現在ではAMD以外で主力のPC市場向けチップを出荷している互換メーカーはなく、主に組み込み用途向けにVIAが出荷しているのが目立つくらいだ。AMDのプロセッサは強力なGPUを内蔵しゲーム用途に最適な点をアピールをしていること、インテルのプロセッサと比較した時に比較的割安であることが特徴だが、ある程度以上の性能を求めると選択肢はインテルのみに絞られる。プロセッサのブランドネームインテルやAMDはプロセッサの用途で区分けし、性能区分と合わせてブランドネームを付けている(表)。iシリーズやA6、A8といったシリーズとは性能が似通っていてもはっきりと区別されている。i7と名乗っていてもノートPC用とデスクトップPC用のプロセッサではコア数、クロック数などに開きがあるので要注意だ。「予算がない」あるいは「なるべく安く済ませたい」といったケースでは低価格PC向けプロセッサを選択せざるを得ないこともあるが、余裕があるならばメインストリームのプロセッサを選びたい。E3を使っているが、このマシンでコンパイルに30秒ほどかかるプログラムをAtomマシン上でコンパイルすると2分近くかかる。これを4倍速いと見るか1分半しか差がないと見るかは人それぞれだろう。筆者は当然ながら前者だ。プロセッサのコードネームと世代PC関連のニュース記事を読んでいると、よく新しいCPUが紹介される際にコードネームが書かれているのを目にすると思う。インテル製品であればSandyBridge、IvyBridge、Haswell、Broadwell、Skylakeなどだ。これらはプロセッサの内部設計の世代を表しており、ものすごく大まかに言えばコア数やクロック数が同一の場合は概ね新しいほうが速いといえる。世代が異なるとプロセスルール(回路の微細度)や対応するメモリの種類が違ったりするからだ(これは最近のプロセッサにはメモリコントローラが内蔵されているから。昔のPCはチップセットによって対応が違っていた)。プロセッサの世代は、大よそ型番から推測できる。中には世代がひとつ新しくなってもCPUの性能はほとんど向上せず、GPU性能の向上により体感的に性能が上がったというブランドもあった。i7でも世代が違うと性能も異なる。パーツ単位で組み立てる(自作する)場合はSandyBridgeやIvyBridgeといった古い世代のプロセッサは入手しづらくなっているので、あまり気にしなくても良いと思う。完成品を購入する場合は店頭やカタログなどにコードネームまで書かれていることはまれだが、妙に安いと思ったらプロセッサの世代が1つ古いといったこともありがちである。ARK(図3)などで調べるとコードネームもわかるので、「おや?」と思うような場合はチェックしてみると良いだろう。ARK」はWebサイトのほかiOSアプリからもアクセスが可能だ。Processorの詳細を見るとコードネーム(Skylake)が見えるクロックは「速ければ速いほど良い」のか?PCの総合的な速度はCPUのクロックだけで決まるものではないが、自分の作業に見合うクロック数を選びたい。i7-6000番台)であればクロックの数値が大きいものほど速い。世代やシリーズが違うと単純には比較できない。Z3000番台の1.33GHzと同等未満の速度と言われている。これはクロック数以外のコア数、CPUの内部アーキテクチャ、対応するメモリの種類やバス幅、I/Oの違いなどによるものである。速度についてはクロック数以外の要因が多岐に渡るため、予算の都合などで旧製品を用意せざるを得ない場合には注意だ。クロック数が高いものは発熱も高くなる傾向があるので、パーツを組み立てる場合は放熱のことも頭の隅に入れておこう。大昔はプロセッサと言えばCPUが1つ、サーバー向けにはデュアルプロセッサが普通だったが、現在はPCだけでなくスマートフォンも含めてマルチコアの時代である。プロセッサの1つの四角いプラスチックパッケージの中に複数のCPUコアが内蔵されており、同時に複数のプログラムを実行できる。コアが4つあればかっちり4倍になるのか、と言えばならない。独立性の高い処理が並列動作する場合は比較的性能は伸びるが、昨今のマルチスレッドなプログラムではスレッド間の通信などのオーバーヘッドもあるため、性能はリニアに伸びない。言え、テキスト編集やコンパイル、通信など様々な作業を同時にこなすマルチタスクシステムにおいては、同時並行で動作できるプロセッサがあるとないとでは体感だけでなく実際の性能も違う。言っても、現状の選択肢としては2コア、4コアといったところが妥当だろう。筆者が使っているXeonも4コアである。コア数の掲示で2C4T、4C8Tなどの表現を見かけるが、これを目にして「何のことだろう?」と思った方もいるだろう。これは2コア4スレッド、4コア8スレッドの略である。ここで言うスレッドはソフトウェアプログラミングで自由に作成できるスレッドではなく、論理プロセッサとも呼ばれるスレッドのことだ。Technology)により、物理的には1つのコアをソフトウェアからは複数に見せることができ、4C8Tであれば8個のCPUがあるように振る舞う。実際にWindowsのリソースメーターから見ると論理プロセッサ数分のグラフが見える(図4)。通常のコア数と別に数えているのは同一コア上のスレッド同士でキャッシュを共有したりしているためで、2C4Tと4C4Tとでは見かけ上同じに見えてもパフォーマンスが異なるのだ。図4:リソースメーターでは12個のCPUが見えるが、これは論理プロセッサ数。ARKなどのメーカーオフィシャルの情報を参照すべきだろう。現金ではない「キャッシュ」のお話キャッシュといっても現金(cash)ではなく、キャッシュ(cache)メモリのことだ。CPUはメモリ上のプログラムを実行するが、RAMはCPUと比較するとかなり遅く、CPUがRAMからそのままプログラムを読んで実行すると、RAMの速度に足を引っ張られてCPUが本来の性能を発揮できない。そこで用意されているのがキャッシュである。これからCPUがアクセスするRAMの内容と同一のものがキャッシュ上にあれば、CPUはキャッシュ上のデータを読み書きすることでRAMへ直接アクセスするのと比べて高速に実行できる。キャッシュの表記でよく目にするL1、L2のLはLevelだ。数字の小さいキャッシュほどCPUに近い位置にあり、近いキャッシュほど速く容量も小さい。キャッシュメモリはプロセッサ内に内蔵されており増設などはできない(昔はL2キャッシュがプロセッサの外に設置される設計でマザーボード上に増設できるものもあった)こと、キャッシュの容量によって性能が変わることから、他の項目がほぼ同じプロセッサを比較検討する場合は気にしておくと良い。完成品のPCを購入する場合はひとまず気にしなくても良い話になるが、パーツショップでプロセッサの値札にLGA1155などと書かれているのはソケットが何であるかを示している。プロセッサはそれ単体で動かすことはできず、回路を繋いで電源を供給するマザーボードと組み合わせる必要があるが、そのマザーボードとの接続点がソケットである(図5)。したがって、プロセッサとマザーボードでソケットの種類が異なる組み合わせは利用できない。Skylake対応の「LGA1151」と呼ばれるソケット。ソケットの型が違うとプロセッサを搭載できない。載せるときには、プロセッサの方向に注意ソケットの形状は、プロセッサのメーカーや世代により異なる。互換をとることもある。昔のAMD製x86互換プロセッサはインテルプロセッサ用のマザーボードにも搭載できるようにピンアサインを互換としていたが、現在は完全に別である。パーツショップではプロセッサとマザーボードにソケットの形状などを掲示しているので、組み合わせられるかをしっかりと確認して購入しよう。後日、より性能の高いプロセッサにアップグレードしたいときは、同一のソケットを持つプロセッサから選択することになる。Powerの略で熱設計電力とも呼ばれる(図6)。大雑把に言えばどれだけ発熱するかという指標で、合わせて消費電力の大小を表している。図6:TDPの記載があるプロセッサの価格表示。TDPの他にコア数やキャッシュについて書かれているのも見える性能が高いプロセッサは発熱も大きいことが多く、そのためプロセッサにつける放熱ファンも大型だったりする。PCをパーツから自作する場合はファンのサイズとケースのサイズなどに制約があったりもする。筆者は小型PCを開発マシンにしようとしたものの、自分が使いたい性能のプロセッサではファンのサイズが大きく小さなケースに収まらない。結果、泣く泣く性能を優先してケースは大きくせざるを得なかった、ということもあった。インテルとAMDで比較するとAMDのほうがTDPが高い傾向にあるので、AMDのプロセッサを選ぶ際は特に注意しておきたい。まとめプロセッサのカタログスペックに掲載される性能に関する項目は数多く、すべてを紹介できなかったが、主な項目については紹介できたと思う。全項目を比較検討して慎重にプロセッサを選ぶ人もいれば、予算の範囲で買える手ごろなものを選択して、使ってみた結果を基にアップグレードなどを検討する人もいるだろう。いずれにしても、本稿が「何がどう作用するかピンと来ない場合の助け舟」になれば幸いである。インターネットイニシアティブ前職時代は「沖@沖」と名乗り、X68000用のフリーソフトウェアを発表していた。2001年より株式会社インターネットイニシアティブに勤務、自社開発の高機能ルータSEIL(ザイル)の開発に従事し、OS移植やデバイスドライバ開発などに携わった。2013年よりオープンソースソフトウェアLagopus(ラゴパス)の開発に従事、パケット処理機能の設計及びプログラミングを担当している。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。