自作PC、してますか?
ご存知の通り筆者はバリバリの自作ユーザ。自作PC、クソ簡単なので流行って欲しいものの、どう考えても遊ぶにしては単価が高すぎるので流行らないのもまあやむなしかなと思うものです。猿でもマイルドヤンキーでもそこら辺のツクモで売ってるパーツを基板にネジ止めしたり指したりするだけでサクッと出来上がるものの、そこらへんのパーツが軒並み5k10kすらそら障壁になるわ。しかも完成して飾って終わりならまだしも使うこと前提。壊れるかもしれないという不安を前にしていざ組めるかと言うとまあ、微妙だなとも思うわけです。やむなし。
さて、今回はそんな自作PCのお話です。
自作PC、ある程度進んでくると「これやりたい」とか「あれやりたい」とか出てくると思います。HDDをもっと指したいとか、m.2 mvne使いたいとか、グラボ指したいとか、マイニングしたいとか、CPUホットスワップさせたいとか、BIOS組みたいとか、そういう邪念がこんこんと大清水トンネルの湧水のごとく湧いて出てくると思います。HDDはSATAポートがある限りは増設出来る上に拡張ボード指して拡張BIOSのませれば相当数させたはずですし、m.2に至ってはマザボが対応していれば余裕で設置出来ますし、グラボは論外、マイニングはソフトウエアを調べて頑張ればイケると、大体のことは大体の人が解決していて、それにフリーライドすればあわよくば端金で大体のことはどうにでもなるわけです。しかしどうでしょう。SATA電源が12VだからといってSATA電源コネクタからDCプラグを錬成してモニタの給電用にするとか、自分でケース組むとか、そういう「誰もあんまやって無くて特に図面やら製品やらが出てないこと」をやろうとすると途端に難易度が上がるわけです。フリーライダーの危機ですね。そこでやっと初めてPCについての諸規格の仕様を眺める羽目になるのですが、それがまるでわからないと。PC、ヤバいです。
そもそも我々はUSBのバスが何本か日常的に考えて暮らしているわけではないのです*1。USB2.0までのバス4本でも我々は思考を放棄しうるのです。USBデバイスのコントローラを作れとか言われたら「what is the purpose of your act?」と思わず問いかけてしまうことでしょう。兎にも角にもヤバいのです。
しかもこれはなにもUSBに限ったことではなく、SATA7ピンでもマシレベルでPCIeに至るとワケワカメなわけです。物理レイヤーワカンネ。無理。
そしてよくよくマザボを見れば、USB2.0の内部端子やフロントスイッチやフロントのフォーンプラグ用の端子などなどがGPIOとして生えていることがわかると思います。わからない。そういやお前GPIOだったのか。マッピングがまちまちでどれがどれだか混同するのでこういうところでド汎用な規格来られると流石に厳しいものがあります。厳しい。USB用のピンヘッダにスイッチ用のピンを刺すくらいには厳しい。というかこれGPIOピンヘッダなら壊れった時ハンダ剥いで付け直せば交換出来るんか?そういう自作指南はどこの世の中にもなくマザボは使い捨てみたいな風潮isあるが。
そう、パソコンは電子で動いているわけではなく、物理レイヤの有象無象がマザーボードの上に凝集しそれらが他のデバイス類をいい感じに呼び出すことで動いているのです。例え万に一つ電子の気持ちを理解しようが、コンパイラの気持ちを理解しようが、物理レイヤと和解できなければ我々は延々ブートしないマザボと格闘するハメになるでしょう。そういうものなのです。なので物理レイヤと和解しなければならない。
ではここで、PCIeのマッピングを見てみましょう。
どうです?物理レイヤと和解できそうですか?
私は無理です。
PC、まるでわからん。
*1:ちなみに2.0までのは4本。3.0は9本。尤もこれはタイプAの話で他は違う。詳細はググろう!