[自作日記1] 現代の自作PCアーキテクチャを理解する

[自作日記1] 現代の自作PCアーキテクチャを理解する

PC自作にあたって、まずは、2023年現在のPCアーキというものを学んでおこうとおもいます。

CPUとマザーボードとチップセット

チップセット

マザーボードには、各パーツ間の通信を管理するための「チップセット」という重要なコンポーネントが搭載されています。

あるチップセットは対応できるCPUが決められており、そのチップセットに対応していないCPUはのせることができません。

逆にCPU側からみれば、あるCPUに対して、それに対応できるチップセットが限定されているともいえます。

あるCPUに対してチップセットは1つだけではなく、実装されている機能のレベルに応じて複数のチップセットが対応しています。

チップセットとCPUとCPUソケット形状

チップセットとCPUはお互いに対応関係が決まっていると説明しましたが、CPUをマザーボードにはめ込むときのソケット形状も物理的に一致しています。

例えば Z690 というチップセットは Intel Core i7 12700 という第12世代のCPUに対応しています。

また、 Intel Core i7 12700 のソケット形状は LGA 1700 で、
Z690 チップセットを搭載したマザーボードは当然 LGA 1700 形状のCPUをはめ込めるようになっていることになります。

第12世代CoreシリーズCPU用チップセットはインテル600シリーズと呼ばれるチップセットとなっており「Z690」「H670」「B660」「H610」など複数あり、これらはオーバークロックの対応有無など、機能面で異なります。

また、インテル700シリーズチップセットとして、「Z790」「H770」「B760」 などがあります。

実はインテル600シリーズも700シリーズチップセットともLGA1700ソケットを採用しており、
第12世代インテルCoreシリーズCPU、第13世代インテルCoreシリーズCPUどちらもはめ込むことができますが、すべてが動作するわけではなく、また、マザーボードによっては BIOS の更新が必要なものがあるため、マザーボードごとに対応を確認をする必要があります。


Credit [Jacek Halicki] / Wikimedia Commons / CC-BY-SA-4.0

ノースブリッジとサウスブリッジ

現在はCPUとチップセットにそれぞれの役割分担がありますが、ひと昔のPCではノースブリッジ、サウスブリッジとしてざっくりを役割が分かれている時代がありました。CPUとチップセットの役割分担を学ぶ上で、少しPCアーキの歴史を振り返ってみます。

ノースブリッジはマザーボードの上部に位置し、サウスブリッジは下部に位置するコンポーネントを指していました。ノースが上で、サウスが下という、一般的な地図とおなじような感覚で命名されていますね。

(Java Swing などでもノース、サウスのように指定していたので、このメタファーは昔はそれなりにわかりやすかったのでしょう。)

ノースブリッジ については、CPU、RAM、PCI Expressデバイス(例えばグラフィックカードなど)と直接通信を行うもので、この部分は高性能が求められるため、高速な通信が必要とされる部品と接続される役割を果たしてきました。
しかし、現在では、 ノースブリッジの機能は多くの場合、CPUに統合されており 、チップセットではなくCPUがこれらの高速通信の仕事を担当しています。

サウスブリッジ に関しては、IOデバイス(USB、オーディオ、シリアルデバイスなど)、BIOS、IDE、LANカードなどと通信を行います。これらは比較的低速で、大量のデータ転送を必要としないコンポーネントです。
現在、サウスブリッジの役割は主にチップセット によって担われています。

というわけで、高速通信をする仕事は CPU 、IOデバイスのように低速な仕事はチップセットのように棲み分けていると覚えておけばOKです。

PCI Express と「レーン」

PCI Expressは、グラフィックカードをはじめとする各種拡張カードをマザーボードに接続するためのスロットおよび通信規格です。この規格には「 レーン 」と呼ばれる伝送路が用いられており、データの送受信が行われます。

レーンは、単独で使用されることもありますが、 複数のレーンを束ねることにより、さらに高速な通信が可能 になります。このようにレーンを束ねることで、データ転送の効率を大幅に向上させることができ、高性能な拡張カードが求める大量のデータ転送を効率的に処理することが可能です。このため、PCI Expressは現代のコンピュータシステムにおいて重要な役割を担っています。

PCI Express には レーン という伝送路があり、 複数のレーンを束ねる と速くなる、と覚えておきましょう。


レーンのスピード

レーン1本あたりのスピードは PCI Express の 世代 ごとに規格によって以下のように、定められています。

  • PCI Express は PCIe のように省略して記述することができます
  • PCI Express には世代(バージョン) があり PCI Express version 1.0 を gen1, PCI Express version 2.0 をgen2 のように略記されることがあります。
世代 伝送速度(片方向)
PCIe gen 1 2.5 gbits/s 0.3125 gbytes/s
PCIe gen 2 5 gbits/s 0.625 gbytes/s
PCIe gen 3 8 gbits/s 1 gbytes/s
PCIe gen 4 16 gbits/s 2 gbytes/s
PCIe gen 5 32 gbits/s 4 gbytes/s

表のように第5世代の PCI Expressだと、レーンが1本で 4GByte/s の通信速度となっています。

PCI Expressの 世代があがるごとに2倍の伝送量になっていますね。


複数レーンをたばねたときの伝送速度一覧

たとえば、PCIe gen 5でレーンを16本束ねた伝送路を PCIe gen5 x16 などと書きます。

これは 64GB/s でデータを伝送できる、ということになります

以下に、レーンを束ねた本数と、伝送速度をまとめました。

x4 (4レーン使用時の帯域)
世代 伝送速度(片方向)
PCIe gen 1 10 gbits/s 1.25 gbytes/s
PCIe gen 2 20 gbits/s 2.5 gbytes/s
PCIe gen 3 32 gbits/s 4 gbytes/s
PCIe gen 4 64 gbits/s 8 gbytes/s
PCIe gen 5 128 gbits/s 16 gbytes/s
x8 (8レーン使用時の帯域)
世代 伝送速度(片方向)
PCIe gen 1 20 gbits/s 2.5 gbytes/s
PCIe gen 2 40 gbits/s 5 gbytes/s
PCIe gen 3 64 gbits/s 8 gbytes/s
PCIe gen 4 128 gbits/s 16 gbytes/s
PCIe gen 5 256 gbits/s 32 gbytes/s
x16 (16レーン使用時の帯域)
世代 伝送速度(片方向)
PCIe gen 1 40 gbits/s 5 gbytes/s
PCIe gen 2 80 gbits/s 10 gbytes/s
PCIe gen 3 128 gbits/s 16 gbytes/s
PCIe gen 4 256 gbits/s 32 gbytes/s
PCIe gen 5 512 gbits/s 64 gbytes/s

新しい世代ほど速く、たくさん束ねるほど速くなるということですね。


コラム:1Bytes/s の伝送路で 4k 画像は1秒間で何枚送信できる?

4K画像 1枚は 3,840×2,160 = 8,294,400 ピクセルあり、
各ピクセルでRGB各8ビット(1バイト)だとすると 無圧縮状態で 8294400*3 = 24883200 バイト(24MBytes)となります。

ここで 1GBytes は 1024*1024*1024 = 1073741824 バイトなので、 1073741824 ÷ 24883200 = 43.15

つまり、1GByte の伝送路だと 1秒間に4K 画像を 43 枚伝送できることになります。(理論値では)

PCIe gen 5 x 16 の場合は 64 gbytes/s なので、4K 画像なら 43*64 = 2761 枚ということになる。
画像を送るだけなら、 2761 FPS を出せるということになります。
  

PCI スロットの形状

PCIe スロットの形状には以下のような規格があります。


PCI Express x1 スロット
PCI Express x4 スロット
PCI Express x8 スロット
PCI Express x16 スロット

Credit Erwin Mulialim / Wikimedia Commons / CC BY-SA 3.0

これらは、あくまでスロットの物理的なサイズで分類したもので、
物理的な形状が PCI Express x16スロットでも、
内部では x8 のレーン帯域しか対応していない PCI Express スロットもあります。

また、物理的な形状が x16なPCIe拡張ボードでも、
その拡張ボードが x8レーン帯域しか使わないという場合もあります。

スロットの形状と、内部での使用レーン数は必ずしも一致しないということ覚えておきましょう

PCI スロット数

E-ATX、ATX フォームファクタ(ケース)の場合、PCI expressのスロット数は 7 スロットとなります。

今回はここまでです!
おつきあいありがとうございました!

次回は、実際のチップセットのブロック図をみながら理解を深めていきたいとおもいます。


navigation

Read more

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

こんにちは!今日はAIシステムのフロントサーバーとしてもよく使用するNode.jsについてのお話です。 AIモデルの普及に伴い、大容量のデータファイルを扱う機会が急増しています。LLMなどのモデルファイルやトレーニングデータセットは数GB、場合によっては数十、数百GBにも達することがあります。 一方、Node.jsはWebアプリケーションのフロントサーバーとして広く採用されており、データマネジメントやPythonで書かれたAIバックエンドとの橋渡し役としてもかなりお役立ちな存在です。 本記事では、Node.js v20LTSで5GB程度のファイルを処理しようとして遭遇した問題と、その解決方法について解説します。 Node.jsのバッファサイズ制限の変遷 Node.jsのバッファサイズ制限は、バージョンによって大きく変化してきました Node.jsバージョン サポート終了日 バッファサイズ上限 備考 Node.js 0.12.x 2016年12月31日 ~1GB 初期のバッファサイズ制限(smalloc.kMaxLength使用) Node.js 4.

By Qualiteg プロダクト開発部
AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

はじめに 私がはじめてコードを書いたのは1989年です。 当時NECのPC88というパソコンを中古でかってもらい N-88 Basic というBASIC言語のコードをみようみまねで書いて動かしたあの日から何年経つのでしょうか。 当時、電波新聞社のマイコンBASICマガジンという雑誌があり、ベーマガにはいろんなパソコン向けのプログラムコードが掲載されていました。 そんなわけでもう35年以上趣味や仕事でプログラミングに従事していますが、開発環境、情報流通の仕組みには革命といっていいほどの変化、進化がおこりました。 しかしながら、そんな中でも、あくまでコードを書くのは「私」という生身の人間でした。 そうしたある種の古き良き時代は、いよいよ本格的に終わりを告げようとしています。 2023年ごろからのLLM技術の飛躍的進歩により、プログラミング業界は大きな転換期を迎えています。 特に、OpenAI o3,o1やClaude 3.5、Gemini2.0などの大規模言語モデル(LLM)の進化や、その先にある将来的な汎用人工知能(AGI)の出現は、プログラマーやAIエンジニアの役割に根

By Tomonori Misawa / CEO
PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

こんにちは! 今回は、WSL上のConda環境をPyCharmから利用する際に発生した「同じ環境なのにパッケージリストが一致しない」という問題に遭遇したため、その原因と対策について書いてみたいとおもいます 問題の状況 開発の流れは以下のようなものでした 1. WSL環境でConda仮想環境を作成 2. その環境をPyCharmのプロジェクトインタプリタとして設定 3. 開発を進める中で奇妙な現象に気づく 具体的には、次のような不一致が発生していました * PyCharmのプロジェクト設定で表示されるpipパッケージのリスト * WSLでConda環境をアクティベートした後にpip listコマンドで表示されるパッケージのリスト これらが一致せず、「WSL側のシェルから直接インストールしたパッケージがPyCharmで認識されない」という問題が生じていました。 この手の問題でよくある原因は、PyCharm側がWSL側の更新を得るのに少し時間がかかったり、 Indexing が遅れているなどなのですが、今回はそれが原因ではありませんでした。 危険な「静かな

By Qualiteg プロダクト開発部
人気ゲーム「ヒット&ブロー」で学ぶ情報理論

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

こんにちは! Qualiteg研究部です! 今日はAIにおいても非常に重要な情報理論について、Nintendo Switchの人気ゲーム「世界のアソビ大全51」にも収録されている「ヒット&ブロー」というゲームを題材に解説いたします! はじめに 論理的思考力を鍛える定番パズルゲームとして長年親しまれている「ヒット&ブロー」(海外では「Mastermind」として知られています)。 このゲームは一見シンプルながらも、その攻略には深い論理的アプローチが必要とされております。 本稿では、このゲームについて情報理論という数学的概念を用いてゲームの素性を分析する方法について掘り下げてみたいとおもいます。 さらに、この情報理論が現代の人工知能(AI)技術においてどのように活用されているかについても触れていきます。 ヒット&ブローのルール説明 ヒット&ブローは、相手が秘密に設定した色や数字の組み合わせを推測するゲームです。日本では主に数字を使った「数当てゲーム」として親しまれていますが、本記事では色を使ったバージョン(マスターマインド)に焦点を当てます。 Nintendo Sw

By Qualiteg 研究部