自作 PC の基本と作成する PC の構成書
石川陸

2017/12/26

1

はじめに以下の文章は、各ハードウェアについてできるだけ深入りしないように書いたものであるため、一部表現を丸めています。また、私の既存知識からの抜粋と感想が 8 割であるため、各種パラメータへの重みの置き方などは私個人のものです。自分で PC を触って、更新していってもらえると嬉しいです。

2

自作 PC について
近年、開発環境やストレージをはじめとするあらゆる操作がクラウド化されつつある。その影響もあってか、「自分が書いたソースコードを実行した結果画面上で何が起こるかはわかるが、その処理のためにハードウェアではざっくりどんなことが起こっているかがわからない」という事例を頻繁に目にする。Clang などのコーダーにとって最適化されていない古典的な言語を学習する際には、ハードウェアやインフラ面での構造を理解しているとスムーズな学習ができると考えられる。

3

各部品の概要

3.1 CPU
3.1.1 概要
CPU とは、Central Processing Unit の略である。日本語では中央処理装置と呼ばれる。PC 全体を制御する制御装置と演算装置から成っている。簡単に言うと PC 全体の頭脳であり、CPU の性能によって完成する PC の演算性能が決まると言っても過言ではない。

CPU の性能を表す指針として、クロック周波数、コア数、TDP などがある。
3.1.2 クロック周波数
クロック周波数とは、CPU が処理を行うテンポを決める「クロック」信号が１秒間に何回発生するかを示す値である。つまり、クロック周波数が高ければ高いほど CPU 内での計算処理速度が向上するということになる。数値は、周波数を表す単位である Hz(ヘルツ) で表されるが、CPU の性能向上により、近年は GHz(ギガヘルツ、Hz の約 10 億倍) という単位で表すのが一般的である。

3.1.3 コア数
コア数とは、一つの CPU に搭載されているコアの数のことである。コアとは、端的に言うとプロセッサそのものであるため、(実際に論理的には複数のプロセッサとして認識される) コア数が増加すれば処理性能が格段に上がっていく。つまり、一つのコアを搭載した CPU(シングルコアCPU) が１回のクロックで 1 回行える処理を、複数のコアを搭載した CPU(マルチコア CPU) はコアの数だけ同時に行えるということになる。作業人数が増えたら仕事が速いという理解がわか1

りやすい。実際の CPU においては、コア数が上がれば上がるほど処理に消費する電力も上がるため、発生する熱も増加していく。そのため、コア数が増えれば増えるほどクロック周波数を落として熱を抑制している製品が多い。ソフトウェアの設計により、「一つのコアしか利用できないソフトウェア」と「複数のコアを用いて処理できるソフトウェア」が存在するため、(安直にソフトウェアを作成すると１つのコアを利用して処理する)「A の製品はマルチコアで見た場合は最高性能だが、シングルコアの性能で比較すると B の製品のほうが高性能」といった場合もある。なお、これらは「シングルコア性能」「マルチコア性能」といった用語で示される。

3.1.4 TDPTDP とは、Thermal Design Power の略である。単位は W(ワット) で表される。CPU などの部品が放熱する最大の熱量を示す値である。W であるから、J(ジュール) ÷ t(時間) で計算されるもので、１秒間に放熱される量であると分かる。CPU は１秒間に TDP 分の熱を発生させるため、TDP の値に対応した CPU クーラーを選択しなければ、熱暴走を起こしてしまう。なお、定義より「あくまでも放熱量の値であり、CPU そのものの消費電力ではない」が、半導体回路において電力が変換されるのはほとんど全てが熱であるため、エネルギー保存則より、消費電力と同一視しても実用上問題はないと言える。

3.1.5 自作時の注意事項
また、CPU は単体で動作するのではなく、PC 全体と連携して動作するため、マザーボードと接続するための規格が定められている。一般的に、ソケットと言われる。どれだけ性能が素晴らしくても、PC に搭載できないと意味がないため、購入前にソケットの形状を調べておくことが重要である。

3.1.6 メーカー
一般 PC 向けの CPU を生産開発している企業は、事実上 AMD と Intel の２社と考えて良い。
それぞれの CPU に特徴や向き不向き、独自技術が有るため、調べてみると面白い。長らく Intelが技術と市場ともにリードしてきたが、2017 年 AMD が発売した Ryzen シリーズによって状況が変わりつつある。今後市場形態や開発発売の伝統が激変し、競争が活発になると思われる、ユーザーとしては期待の持てる情勢である。

3.2 RAMRAM とは、Random access memory の略であり、一般に「メモリ」と呼ばれる。CPU と近い位置にあり、(座標的な話ではない)CPU が処理を行う際に利用する記憶領域である。プログラムにおいて変数を確保するという動作があるが、あれは「メモリ上のアドレス○番から△番までの領域を X という変数の保存領域に割り当てて、今後は X に対しての動作はそのアドレスの値を用い2る」というものである。メモリの性能を表す指針として、容量、クロック周波数などがある。

3.2.1 容量当たり前であるが、データを扱う部品で有る以上は容量はあれば有るほど良い物である。例え話として、CPU を作業員、メモリを作業机とする。作業員が超優秀であっても、30cm x 30cm の机の上で自動車を作れと言われても厳しいものがある。その状況に同じく優秀な作業員をさらに投入してマルチコア化しても、作業スペースがなければ効率的な仕事は望めない。そういうことである。2017 年現在、文書処理やネットサーフィンなどの最低限の利用水準でも、メモリは 4GB 以上有ることが望ましい。エンジニア界隈では、8GB が「最低限文化的な生活が送れる容量」とネット上では言われている。あればあるほど良い。

3.2.2 クロック周波数
CPU のクロック周波数と同じく、メモリがデータを更新できる速度のことである。製品によっては 2 倍近くの差がついていたりするが、実測して速度性能の差を比較したデータ等を参照すると、大した差はついていないように思える。

3.2.3 インターフェイス
メモリにも、CPU と同じくマザーボードと接続する規格が定められている。規格ごとに転送速度や機能が全く異なり、2017 年現在の最新規格は DDR4 という規格である。また、デスクトップPC 用メモリとラップトップ PC 用メモリの間にも規格の差があるため、購入時には注意が必要である。

3.3 GPUGPU とは Graphics Processing Unit の略である。CPU が少数の高速コアで高度な演算高速にを行うのが得意なのに対し、GPU は多数のコアで並列演算を高速に行うのが得意である。例としてシューティングゲームを挙げる。シューティングにおいて打ち出された弾の弾道を精密に計算したりするのは CPU の仕事で、ゲーム画面の映像をモニタの無数のピクセル情報に一斉に描画するのは GPU の仕事である。GPU は主に nVIDIA と AMD の 2 社が開発・販売しているが、AMDの GPU は開発者向きと言うよりはゲーミング志向であるため、ここでは nVIDIA の GPU を扱う。GPU の性能を表す指針として、コア数、クロック周波数、メモリ容量、消費電力、FLOPS がある。

3.3.1 コア数
CPU でのマルチコアは、家庭向けでは精々 6 コアや 8 コア、core i シリーズのハイエンドでの 18 コア等である。それに対して 2017 年現在 GeForce シリーズ最高性能を誇る GTX1080Ti は3584 基のコアを搭載している。この圧倒的なコア数で並列処理を行い、シミュレーションや人工3知能の学習を行うことが出来る。

3.3.2 クロック周波数
各コアが動作するクロックスピードである。CPU の場合と同義である。

3.3.3 メモリ容量
GPU も CPU と同じく、作業を行うためのメモリが必要である。しかし、現在の GPU は CPUのメモリとは別に GPU 用のメモリを用意していることが一般的であり、このメモリは GPU カードの中に内蔵されている。メモリが大きい製品を選ぶ事をお薦めする。

3.3.4 消費電力
GPU が消費する電力のことである。CPU のときとは異なり、そのまま消費電力を示す値である。単位は W(ワット)。

3.3.5 FLOPSFLOPS とは、1 秒間に浮動小数点演算が何回出来るかの性能値である。ざっくり言えば、1 秒間に計算できる量の値である。個々まで GPU の性能指針について沢山述べてきたが、GPU の場合コア数やメモリ数から性能を正確に推測するのは困難である。よって、メーカーが発表している各 GPU の FLOPS の値を見比べるのが一般的である。

3.4 M/B
M/B とは、Mother Board の略である。日本語ではマザーボードと言われる。言わば PC の身体であり、他の部品はマザーボードに接続することで動作する。あらゆる部品はマザーボードに接続するため、どれだけの部品を載せられるマザーボードなのかが PC の拡張性に大きく関わってくる。拡張性の低いマザーボードを選択してしまうと、PC 制作後暫くして機能を追加しようとした時にマザーボードごと買い直さなければいけなくなってしまう。また、他の全ての部品と一致するインターフェイスを持ったマザーボードでないとそもそも部品が嵌まらないため、CPU ならばソケットとチップセット、GPU ならば PCIe を、メモリならばその規格を、といった様に対応する部品を調べる必要がある。対応部品は大抵 M/B の製品ページに掲載されている。

3.5 HDD
HDD とは、Hard disk drive の略である。情報を記録し、PC の電源が切られてもデータを保存し続ける補助記憶装置の 1 種である。CPU が直接アクセスできるメモリとは違い、HDD のデータをまずメモリに読み込み、そこに CPU がアクセスするという方式を取るため、メモリに比べるとアクセス速度はかなり遅いものとなる。遅延の原因はそれだけではなく、HDD の構造そのも4のにもある。HDD 内部には情報を記録する磁気ディスクが入っており、それを磁気ヘッダで読み書きすることで情報にアクセスする。つまり、ディスクに記録された情報にアクセスするためには、物理的に内部でディスクを回転させてアクセスしたい位置までヘッダを移動させる必要があり、CPU やメモリ内部の電気的アクセスに比べて遥かに時間がかかる。HDD の性能指針には、回転数、容量、キャッシュ、接続規格などがある。

3.5.1 回転数 (rpm)ディスクの回転速度が速いほど物理的なアクセス時間が短縮されるため、高性能なドライブということが出来る。磁気保存の密度等も関係するが、ここでは記さない。

3.5.2 容量
HDD には様々な容量の物があり、できるだけ大きい方が好ましい。
3.5.3 キャッシュキャッシュとは、CPU が HDD に記録しようとした情報を一時的に溜めておく記録部位である。
磁気ディスクのような物理的要素の大きいものよりも、メモリなどに近い半導体ゲートを用いたキャッシュを HDD が小容量ながら確保しておくことで、CPU が一旦高速でキャッシュに書き込みを行い、HDD がゆっくりキャッシュから磁気ディスクにデータを落としていくという動作が可能となる。よってキャッシュが大きいほど効率の良い書き込みが行われ、PC のパフォーマンスが向上する。と言われているが、近年はメインメモリの大容量化によってそこまで重視すべき点ではなくなっていると考えられる。

3.5.4 接続規格
現在主流と成っている HDD の接続規格は Serial ATA(SATA) という規格である。SATA3.0 が最新バージョンであり、1 世代前の SATA2.0 と比べて 2 倍の転送速度がある。SATA 以前の接続規格に IDE と呼ばれる規格が有るが、SATA と比べて低速であり安定性でも劣るため前世代の規格として扱われつつ有る。

3.6 SSD
SSD とは、Solod state drive の略である。HDD 同様、情報を記録し保存し続けるストレージデバイスであるが、磁気ディスクのような物理的稼働を必要としない半導体素子を用いた記録である
ため、HDD よりも遥かに高速に動作する。物理的な動作をしないため壊れにくく、軽く、しかも静音性に優れており、高速である。素晴らしい。しかし、生産コストが高いため、容量あたりの販売価格は HDD の倍以上にもなる。「半導体素子には書き込み回数上限があり、使っていると寿命が来てしまうため HDD よりも長期に渡って使えない」と言われることも有るが、現行の SSD 製品の書き込み回数上限を平均化した製品を想定して、１日に 24GB もの容量を書き込み続けると何5年間利用できるかという試算を見るに、「8 年半の利用で書き込み上限に達する」となっているた
め、特に問題はないと思われる。SSD は酷使すると 8 年後書き込みができなくなるが、HDD はその構造ゆえ 8 年立つ前に突如故障すると思われる。SSD の性能指針には、容量、速度、接続規格などがある。

3.6.1 容量
HDD 同様、大きければ大きいほど良い。しかし、SSD は高価であるため大容量のものを揃えるのは難しい。そのため、OS のインストールや各種ソフトウェアは SSD に行うことで PC の動作は高速化し、その他データ類は HDD に保存する方式が取られることが多い。

3.6.2 速度
HDD と比較してとてつもなく速い。これに関しては各販売元メーカーが各製品の書き込み読み込み速度を発表しているので、直接数値を見て比較すると良い。

3.6.3 接続規格
HDD 同様 SATA が一般的である。が、SSD の転送速度が SATA の転送速度を上回り、接続規格のせいで SSD 本来の性能が発揮できないという恐ろしい状況が発生したため、M.2 という新規格が策定された。これにより、SATA では読み書き 500MB/s 程度が上限だった SSD が、製品によっては読み込み 3000MB/s 等のよくわからない数値を叩き出すまでになっている。ただし、SATA よりもかなり高価である。(2TB のストレージを購入した場合最安値で、HDD なら 7000 円程度、SSD(SATA) なら 60000 円程度、SSD(M.2) なら 160000 円程度。)

3.7 PSUPSU とは、Power supply unit の略である。日本語では電源ユニットなどと言われる。PC は構成によって消費する電力が大きく異なるため、揃えたパーツにあった容量の電源を選ぶ必要が有る。電源ユニットの性能を表す指針として、電源容量、安定性、電源規格などがある。

3.7.1 電源容量
CPU の TDP や GPU の消費電力、搭載する HDD が消費する電力などの PC が消費する全電力の合算値が電源ユニットの電源容量を上回ってはならない。安定動作しなくなり、勝手に再起動したり、最悪の場合故障する恐れも有る。現在は IBM などが PC の構成を入力するだけで必要な電源容量を教えてくれる Web サービスを提供しているため活用すると良い。

3.7.2 安定性
「電源が PC を破壊する」というのはよく有る話である。全てのデバイスに電力を供給するものであるから、不安定な出力であったり、故障でデバイスを破壊する電圧を出力したりすると全てが6終了する。「電源だけは良いものを買っておけ」という自作 PC 界隈での定型句が有るほどである。
安定性が損なわれる要因として、電源の変換効率がある。変換効率とは、コンセントから供給されれる 100V/AC の電源を、PC の回路に適した DC の電源に変換する際の電源変換率である。変換効率 70 ％の電源であれば 30 ％は音や熱に変わり失われる。発生した音からの振動や熱は電源ユニット自体に負荷を掛け、安定した電力供給ができなくなる。つまり、変換効率が悪ければ悪いほど電源の品質が悪いと言える。この変換効率を審査して認証している証明規格に、80PLUS というものが有る。80PLUS は変換効率 80 ％以上の電源がその証明として掲げて良いマークであり、階級がブロンズ、シルバー、ゴールド……と上がっていくほど証明される変換効率が上がっていく。
最上級はチタニウムで約 90 ％の変換効率を持つ電源のみが認証される。良い電源であれば有るほど良いが、チタニウムクラスの電源は 24 時間 365 日稼働し続けるサーバーマシン等に用いられることが多い。80PLUS があれば安心、ブロンズがついていたら堅いというような認識で良いと考えられる。選別の手段としては、実績有る評価の高いメーカーの製品を買うというのも大切である。

3.8 その他
PC ケースのサイズとマザーボードのサイズがあっているか、電源はケースに収まるか、その他部品も同様に、接続だけでなく PC としてきちんと組み上がる構成かも考えておく必要が有る。これらは大抵が規格化されているため、注意して確認すればまず大丈夫である。

4作成する PC について作成する PC の構成を表１として以下に示す。(性能に直結しない部品は省略する。)
表 1: 作成する PC の構成
パーツ

プロダクト

CPU

Intel core i7 8700K BOX

RAM

CT2K8G4DFS8213

GPU

TURBO-GTX1080Ti

M/B

ROG STRIX Z370-F

SSD

850 EVO MZ-75E500B/IT

HDD

ST4000DM004

PSU

NeoECO Classic NE650C

7

4.1 作成する PC の説明と可能な作業
今回作成する PC は、一般ユーザーが制作するものとしてはハイエンドと言っても良い性能を誇るマシンである。CPU に採用した core i7 8700K は Intel が 2017 年 10 月 5 日に販売開始した 6 コア 3.7GHz の第 8 世代 Coﬀee Lake-S の中では最高性能の CPU である。高速な演算処理が可能で、大規模なプログラムの高速なビルドや、GPU では行えない精度の高い倍精度小数点演算も高速にこなすことが出来る。また、8GBx2 で 16GB のメモリを搭載し、こちらはハイエンドとは言えないものの作業に不自由しないだけのメモリ容量を確保している。GPU には nVDIA のGeForce シリーズで最高性能の GTX1080Ti を採用し、グラフィック処理はもちろん、スピーディな深層学習による AI 育成や高度な GPU コンピューティングも可能となる。HDD にはまず何を詰め込んでも安泰な 4TB を採用した。加えて私が現在使用している HDD も搭載する。OS 等をインストールする SSD には 500GB のものを採用し、PC 全体の高速動作を可能とする。マザーボードには、以上のデバイスが全て接続可能な物を選択した。

4.2 PC の作成意図と利用
近年注目されている人工知能の深層学習という学習方法において、ニューラルネットワークを最適化するためにはビッグデータからの学習素材を用いた学習の並列処理がほぼ必須となっている。
学習の高速化/効率化のためには高性能な GPU を利用する必要が有る。また、Google が提供する畳み込みニューラルネットワーク学習用/行列演算ライブラリである TensorFlow やそのラッパである Keras を利用するため、CUDA8 に対応した最新 GPU を利用したい。さらに、CUDA そのものを習得し、GPGPU 技術を身に着けたい。総括すると、何かやりたいと思った時に不自由しない環境を得たい。

8