この記事は、「パソコンの作り方」と題して、FIAでお受けする「オーダーメイドPC」がどのように作られるかをご紹介するシリーズの2回目です。
前回「組み立て編」を未読の方はこちらもどうぞ。

機材構成と前回までの経過

今回作成するPCの機材構成は以下の通りです。

[CPU] Intel Core i9 9900K BOX
[CPUクーラー] Nocuta NH-U12A
[マザーボード] MSI MPG Z390 GAMING PRO CARBON AC
[メモリ] Corsair CMK32GX4M2A2666C16 [DDR4 PC4-21300 16GB×2]
[グラフィックボード] GeForce RTX 2080 Ti GAMING X TRIO [PCIExp 11GB]
[SSD] WD Blue SN500 NVMe WDS500G1B0C [M.2]
[電源ユニット] Toughpower Grand RGB 1050W Platinum PS-TPG-1050F1FAPJ-1 [Black]
[ケース] Define R5 Window FD-CA-DEF-R5-TI-W [Titanium]

前回の記事「組み立て編」では、この各パーツを組み立て、電源等配線を行い、ケース内に格納まで行いました。
本記事では、前回組み立て終わったこのPCの動作テスト等を行います。

初回電源投入

この瞬間が実は一番緊張するかもしれない、初回電源投入。
大抵はすんなり電源が入りますが・・・たまに爆発しますので要注意!(嘘です

ただ電源を入れるだけなので、特に注意点らしい注意点はないのですが・・・
ディスプレイ、キーボード、マウスはちゃんと繋げてからにしましょう。
Bluetooth機器はペアリングをしてからでないと使用できないと思った方がいいので、キーボードとマウスは有線接続か、USBのドングル(受信機)がある(Bluetoothではない無線)タイプを使用します。

今回使用する電源ユニット
Toughpower Grand RGB 1050W Platinum PS-TPG-1050F1FAPJ-1
は、負荷率40%未満の低負荷時に電源ファンを停止して静音化をする機能がついていますが、これはオフにしておきます。
これが、負荷率+温度で制御してくれるのなら勝手に止めてくれてもいいですが、負荷率だけというのが個人的にあまり信用ならないからです。
(負荷率40%未満って、単純に1050W×40%=420Wです。それなりに発熱する気がするので、ファンは回っててほしい…。)
もっと発熱量の低い・消費電力の小さなパーツ構成で24時間稼働させるパソコンを寝室に置くとかでしたら、是非欲しい機能ですけど。

BIOS画面で色々設定

・・・の前に注意喚起!
BIOS設定画面での各種操作は、PC制作や各種トラブル発生時においては避けて通れない道ですが、きちんとした知識を持たないまま闇雲に弄ると故障の原因になります。
最悪の場合、二度とパソコンが起動しなくなることもあります。「なんとなくやってみよう」という軽い気持ちで弄らないことを推奨します。
どうしてもやってみたい方は、必要のない、廃棄するパソコン等で覗いてみて雰囲気を味わうだけにして下さい!

電源投入後、マザーボードメーカーのロゴが表示されているわずかな時間の間に「BIOS起動キー」を押してBIOS画面に入ります。
昔のPCはもう少し長かった気がしますが、PC起動時に毎回発生する待ち時間をメーカーが嫌っているせいか、この入力待ちの時間は結構短いです。

「Please press *** to enter EFI BIOS setting」のようなメッセージが出ますが、「ぷりーず ぷれs」あたりまで読んだ段階で次の画面に行ってしまいます。
英語ネイティブな人はあの時間内に最後まで読めるのか、疑問です。。

ちなみに、「BIOS起動キー」は完成品として購入したパソコンならそのパソコンのマニュアル、BTOや自作の場合はマザーボードのマニュアルに記載があります。
「パソコンメーカー別「PC起動時」に「BIOSを起動させるキー」の一覧メモ」
https://freesoft.tvbok.com/tips/peripherals/bios_boot_fn-key_list.html

BIOSのバージョン確認とアップデート

BIOSにも、バージョンがあります。
基本的に、マザーボードがメーカーを出荷されたタイミングで一番新しいものが適用されていますが、流通在庫になっている間に新しいバージョンが公開されていたりします。
BIOSのバージョンアップ作業は、うっかり書き換え中に電源が落ちたりしてしまうとメーカー修理送りになりますので、細心の注意が必要です。

今回使用する「MSI MPG Z390 GAMING PRO CARBON AC」の場合、MSIのホームページで確認すると2019-04-01に「v15」というバージョンが公開されています。
時期的におそらく手元にあるものは1個前のバージョンのはず・・・と思い確認するとやはりv14でした。
v15の更新情報を見ると、

– Update RST driver to 17.2
– Update Microcode to support upcoming cpu.

とあります。翻訳すると、
・RSTドライバを17.2に更新
・今後発売されるCPUをサポートするためにマイクロコードを更新
とあります。
RSTドライバとは、Rapid Strage Technology、つまり、ディスク管理のための仕組みです。Intel製のソフトウェアで、ストレージ(HDDやSSD)のパフォーマンスと信頼性のために存在しているものです。
Windows上で動くものですから、BIOSのバージョンとは直接は関係なさそうではありますが、記事執筆時点のインテルRSTの最新バージョンが17.2.0.1009ですから、これを使うために必要な更新だと思われます。

BIOSのアップデート方法の詳細はここでは割愛します。マニュアルを読めば描いてありますし、マニュアルを読まずに作業するタイプの人には非常にリスクがある事柄ですので…。

というわけでv15に更新。

XMPプロファイルの有効化

ここで少し、メモリの話を掘り下げて解説します。
一般的に、「パソコンのメモリ」というと、こんな感じです。

Crucial CT8G4DFD824A PC4-19200(DDR4-2400)
ヒートシンクがないタイプ。

この画像は、「メモリモジュール」で、右側に4個ある黒いのが、「メモリチップ」です。(左側のシールの下にもあります)
複数個のメモリチップを1枚の基板に載せてパソコンにさせる状態にした「メモリモジュール」のことを、一般的に「メモリ」と言います。

今回使用した、 Corsair CMK32GX4M2A2666C16 PC4-21300 DDR4-2666)
放熱のための外装(ヒートシンク)に覆われていてメモリチップは目視できない。

メモリはCPUが処理を実行するための「作業スペース」です。
SSDやHDDからいちいちデータを読み込んだり、途中経過を書き込んだりしていては遅くなってしまうので、ソフトの起動時に必要なデータをSSDやHDDからメモリに書き込んでおいて、処理の途中経過もメモリに書き込んで、処理の経過に応じて値を書き換えて、最終的にソフトを終了する、あるいはデータを保存する際にSSDやHDDにそのデータを書き込む処理が行われます。
この流れからわかるように、メモリの読み書き速度はHDDはもちろん、HDDより倍以上速いSSDでもとても追いつかないほど高速です。
その速度を表す指標が、「DDR4-2400」とか「DDR4-2666」で、この2400とか2666は、「MHz」という周波数を表す単位で表現されます。
数字が大きいほうが、より高速にデータの読み書きができます。

で、この章の題目である「XMPプロファイル」とは何か?という話になりますが、XMPとは、Extreme Memory Profile の略です。
(なんでEMPじゃないかって?パソコンの中で「電磁パルス」なんて洒落になんないよ!)
CPU、GPU(グラフィックボード)、メモリはそれぞれ「定格周波数」というものがありますが、それを(メーカー製の完成品パソコンではできなくなっている事がほとんど)ユーザーが「オーバークロック(OC)」させて、定格以上の周波数で動作させることができます。
但し、周波数の設定だけでなく電圧など細かく設定し、増加する発熱に対処すべく冷却も強化し、さんざん頑張ったけど数値を上げ過ぎて壊してしまう(二度と使えないゴミになる)という事もままあります。
XMPは、そういう悲しい事故がおきないよう、「この設定ならこの周波数でちゃんと安定動作するよ」という設定情報をメモリモジュールに記録しておいてくれるありがたい仕組みです。

今回使用する「Corsair CMK32GX4M2A2666C16」の場合、定格は2133MHzですが、商品パッケージには堂々と、2666MHzと記載されています。
ですが、ただマザーボードに刺して起動しても、2133MHzでしか動作しません。
BIOS上で、「XMPプロファイルを読み込んで適用する」というひと手間を加えることによって、はじめて2666MHzで動作をします。

なお、正直な話、メモリクロックの高速化はあまり体感はできません。
2133MHzでも2666Mhzでも、違いに気付くことはないかもしれません。
でも2666MHzの製品なので、動作の試験も2666MHzで行わなければ意味がありませんので、メモリテスト前にXMPを適用し2666MHzで動作するようにしておきます。

ちなみに、PC4-36800(DDR4-4600) なんていう表記のあるメモリもありまして、これは4600MHzまで動作するのですが、今回使用するマザーボードは4400までしか対応表記がないので、4400で頭打ちになると思われます。
ただ高速なものを用意しても、組み合わせ次第で性能を発揮できないこともあるので要注意です。

各デバイスの状態を確認

BIOS上でもマザーボードに接続したはずの各機器が見えているか(存在をBIOSが認識しているか)一通り確認します。
ここで認識ができていない場合、組み立てミスを意味しますのでケースを空けてやり直しをしなければいけません。

メモリテスト(memtest)

今回使用するメモリは、16GBのものを2枚、つまり32GBという容量です。
GBの「B」は、「バイト」です。バイトをするならタウンw(以下自粛
1Bは、8bです。
この「b」は、ビットです。ビットコインのビットですが仮想通貨ではありません。
パソコンでは、動画や写真、音声、文書、いろいろなデータを扱えますが、それらデータがどういう風に記録されているかというと、2進数です。

普段私たちが使うのは10進数。0から1ずつ足していって、9の次、10になった時に1桁上を使用して、「1」と「0」で「10」を表現します。

60進数というものもあります。すごく日常生活に身近なものです。
そう、時間は60進数になっていて、59秒の1秒後は1分0秒、59分59秒の1秒後は1時間0分0秒になります。ところがなぜか23時間59分59秒の1秒後 は24時間0分0秒ではなく(ではなくもないのですが)1日と0時間0分0秒と、24進数が登場したりします。

16進数なんていうものもあり、0から順に9まできて、その次は数字がないのでアルファベットを使い、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)の次が、10。
なんか10進数の10のようですが、16進数の10は10進数に直すと16です。

話がそれましたのでビットに戻ります。

コンピュータの内部では、2進数が使用されています。「2進数が使用されている」というと語弊があるかもしれません。「ある」か「ない」、「オン」か「オフ」の2つの状態でしか物事を記録できない、というほうが正しいかもしれません。

2進数は、1桁で「0」か「1」の2通りの情報を表現でき、これを「1ビット」といいます。

1バイトは8ビットでしたから、1バイトは2進数8桁ということになります。
1バイトで「00000000」から「11111111」(10進数で255)となります。

ファミコンあるいはスーパーファミコンあたりのRPGで、ステータスの上限が255だったりしたことありませんか?あれは、例えば「力」の上限が255だったとしたら、「プレイヤーキャラクターの『力』の値は、この1バイトで管理する」としたからです。2バイト使えば65535まで扱えますが、ゲームソフトもゲーム機も貧弱(当時としては結構高性能でしたが)でしたので、限りあるメモリの中で動作させるために1バイトに制限したのでしょう。

さて、今度はGBの「G」です。「ギガが足りない」とかなんとかCMでやってる「ギガ」です。

G(ギガ)の下の単位がM(メガ)、更にその下がK(キロ)になります。
K(キロ)は、一般的には「1000倍」ですね。1mの1000倍が1kmです。
10進数で1000を表すと人間が見たときには「キリがいい」数字ですが、コンピュータの中は2進数の世界ですので、1000を2進数で表すと1111101000というなんとも中途半端な感じになります。
そこで、1024を使います。10進数の1024は二進数表記だと10000000000となります。2の10乗です。

なので、1GBは、1MBの1024倍、1MBは1KBの1024倍、1KBは1Bの1024倍という関係になっています。

本当は、1GB=1000MB、1MB=1000KB、1KB=1000Bが正しく、1024MBは1GiB(ギビバイト)、1024KBは1MiB(メビバイト)、1024Bは1KiB(キビバイト)とするべきなのですが、、慣習によりGM、MB、KBが使われます。
詳しく知りたい方はこちらを参照してみて下さい。

ここまで整理したところで、32GBに戻ります。

32GB=32,768MB=33,554,432KB=34,359,738,368B=274,877,906,944ビット

ええと・・・2748億7790万6944ビットです。
つまり、2748億7790万6944個のスイッチがあり、それぞれがオンかオフかでデータを保存していることになります。

この2枚の板上のものにそれだけの数の「スイッチ」がある。肉眼で確認できるようなレベルのものではありません。

データの記録、保持、読み出しは全て「電気」を使って行われます。
例えばある1バイト(8桁)について見た時に、何もしない状態では、
0 0 0 0 0 0 0 0
となっています。ここに、10進数で15というデータを格納しようとすると、
0 0 0 0 0 0 0 0 → 0 0 0 0 1 1 1 1
に書き換えが行われます。
ここで、このバイトの上から2桁目が不良だとします。0→1に書き換えようとしても上手く書き換わってくれないことを想定します。
すると、この1バイトは、15という値を保存しているときは問題ないのですが、10進数で64、2進数で01000000を格納しようとしたときに、
0 0 0 0 0 0 0 0 → 0 0 0 0 0 0 0 0
となってしまい、64のはずが0になってしまいました。

2748億もあるスイッチのうちたったひとつが不良でも、書き込んだはずのデータが消滅してしまうという事が起きます。これは大問題です。

上記の例でもわかるように、この不良があるバイトも、63までのデータを与えた際は正常に振舞います。また、128から191までの間も上から2桁目は0なので問題が生じません。64~127、192~255の値が書き込まれた時のみ、データが壊れるということです。

つまり、メモリをテストせずいきなりWindowsをインストールしてそのまま使っていても、その不良バイトに上記条件に該当する値が格納されるまでは、さも正常であるかのように振舞い、なんの問題も起きません。
またその不良バイトがメモリの領域の一番後ろにあった場合、搭載メモリを最大まで使う場面でなければそもそもその不良バイトは利用すらされないこともあります。
どうでもいいようなデータで利用された場合も、あまり問題は出ません。
でも、不良は不良です。メモリのどの場所にどんなデータが保持されるのか、そのデータの重要度をあらかじめ決めておくことなどできませんから。

前置きが長くなってしまいましたが、そんな理由で、新しくPCを制作する際、あるいはメモリ増設をする際は、必ずメモリのテストを行います。

memtest86+をUSB起動。
画像中央、Pass:1で1回目の検査が終了し、エラーなし(Errors:0 )
必ず2回以上検査を実行します。

Windows10 インストール(仮)

メモリのテストと同様に、CPUやグラフィックボードもテストが必要です。
CPUやグラフィックボードについては、エラー検査というよりも負荷をかけた時の安定性や温度について調べる必要があるため、一度ここでWindowsのインストールを行います。

CPUとグラフィックボードの負荷テストについては、次回「試験編②」に記述します。