Above 4G Decoding とは?PCIe デバイスが多い構成、NAS 拡張カード、大容量 VRAM GPU で有効化したい理由

BIOS の Above 4G Decoding の役割、4GB アドレス境界の歴史的理由、MMIO と BAR のリソース割り当て、JMB585 拡張カード、NAS、複数 GPU、Resizable BAR / SAM との関係を解説します。

Above 4G Decoding は、マザーボード BIOS にある低レベルな PCIe リソース割り当てオプションです。NAS、小型 PC、ワークステーション、複数 GPU 構成、ルーター、HBA / SATA 拡張カード、ローカル AI マシンの調整でよく登場します。

簡単に言えば、64 ビットシステムが PCIe デバイスの MMIO アドレス空間を 4GB より上の物理アドレス範囲に割り当てられるようにする設定です。

かなり低レベルに聞こえますが、解決する問題は現実的です。マザーボードに GPU、NVMe、NIC、SATA 拡張カード、キャプチャカード、HBA など複数の PCIe デバイスがあるとき、すべてが 4GB 以下の古いアドレス空間を取り合うと、リソース割り当て失敗、デバイス未認識、起動フリーズが起きることがあります。

なぜ 4GB という境界があるのか

4GB 境界は 32 ビット時代の歴史的な名残です。

32 ビットのアドレス空間で扱える最大は次のとおりです。

1
2^32 bytes = 4GB

現代の PC は 64 ビット CPU と 64 ビット OS が普通で、メモリも 16GB、32GB、64GB 以上が珍しくありません。それでも、マザーボードが POST や PCIe デバイス初期化を行うときは、古い互換性を考慮します。多くの PCIe デバイスのリソースマッピングは、まず 4GB 以下のアドレス空間に配置されがちです。

問題は、4GB 以下の空間がすべて RAM 用ではないことです。システムはその一部をハードウェアデバイス用に予約する必要があります。

そこで出てくるのが MMIO です。

MMIO とは何か

MMIO は Memory-Mapped I/O の略です。

CPU は PCIe デバイス内部のレジスタやメモリウィンドウを、普通の RAM のように直接触るわけではありません。デバイスの一部のレジスタ、バッファ、VRAM ウィンドウをシステムアドレス空間にマッピングします。CPU がそのアドレス範囲を読み書きすると、実際には PCIe デバイスと通信していることになります。

ざっくり言うと:

  • デバイスがアドレス範囲を必要とする。
  • マザーボードがシステム物理アドレス範囲を割り当てる。
  • CPU がその範囲にアクセスすると、実際には PCIe デバイスにアクセスする。

このマップされた領域は普通の RAM ではありません。ハードウェアが占有するアドレスウィンドウです。

古いデフォルト設定では、多くのデバイスの MMIO 領域は 4GB 以下、特に 3GB から 4GB 付近に制限されます。デバイスが少なければ問題になりにくいですが、増えると混雑します。

BAR とは何か

各 PCIe デバイスは BAR を使って、必要なアドレス空間をマザーボードに伝えます。

BAR は Base Address Register の略です。役割は次のようなものです。

1
MMIO 空間が必要です。アドレス範囲を割り当ててください。

GPU、NVMe、SATA コントローラ、NIC、HBA、USB 拡張カードはいずれも BAR 空間を必要とすることがあります。デバイスが多いほどアドレスウィンドウも増えます。GPU のようなデバイスは、より大きなマッピングを必要とすることもあります。

4GB 以下の MMIO 空間が足りないと、マザーボードは後から初期化するデバイスにリソースを割り当てられなくなることがあります。

無効のままだと何が起きるか

Above 4G Decoding が無効だと、マザーボードは PCIe リソースを 4GB 以下に詰め込もうとしがちです。デバイスが少なければ気づきませんが、多いと問題が出ます。

よくある構成は次のとおりです。

  • ディスクリート GPU。
  • 1 つ以上の NVMe SSD。
  • JMB585 / ASM1166 SATA 拡張カード。
  • 2.5G / 10G NIC。
  • Wi-Fi / Bluetooth モジュール。
  • 追加の HBA、キャプチャカード、USB 拡張カード。

これらのデバイスはすべて、マザーボードに BAR / MMIO アドレス空間を要求します。4GB 以下が埋まると、次のような問題が起きることがあります。

  • PCIe カードが認識されない。
  • BIOS にデバイスが出ない。
  • Linux / Windows でデバイスが欠落したり、リソースエラーになる。
  • POST 段階で起動が止まる。
  • 黒画面またはカーソル点滅。
  • 単体では各カードが動くが、複数同時に挿すと失敗する。

JMB585 SATA 拡張カードの場面では、カードを挿すと BIOS 前で止まる、NVMe や NIC を追加すると拡張カードが消える、といった症状があります。Option ROM、CSM、PCIe Gen 速度だけでなく、PCIe アドレス空間割り当ても確認する価値があります。

Above 4G Decoding を有効化すると何が変わるか

有効化します。

1
Above 4G Decoding = Enabled

これは、64 ビットアドレスをサポートする PCIe デバイスの MMIO リソースを 4GB より上に配置してよい、とマザーボードに伝えます。

これにより、PCIe デバイスが 4GB 以下の狭い領域を取り合う必要が減ります。マザーボードは一部の BAR / MMIO マッピングを高いアドレスに配置でき、リソース衝突を減らせます。

現代の 64 ビットシステムでは、これはたいてい合理的な設定です。特に次のような構成で有効です。

  • 多ディスク NAS。
  • 複数 NIC のルーター。
  • SATA / HBA 拡張カードを挿した小型 PC。
  • 複数 GPU のワークステーション。
  • AI 推論または学習マシン。
  • GPU、NVMe、キャプチャカード、拡張カードを同時に持つデスクトップ。

目的は通常のソフトウェア性能を上げることではなく、ハードウェアリソース割り当てに余裕を持たせることです。

JMB585 / SATA 拡張カードとの関係

JMB585 のような SATA 拡張カード単体では、それほど大きな MMIO 空間を必要としないかもしれません。問題はそのカード単体の必要量ではなく、システム全体の PCIe デバイスがアドレス空間を取り合うことです。

たとえば小型 PC には次のようなものが同時に存在します。

  • NVMe システムディスク。
  • オンボード NIC。
  • Wi-Fi モジュール。
  • JMB585 の 5 ポート SATA 拡張カード。
  • 場合によってはディスクリート GPU や別のコントローラ。

BIOS のリソース割り当てが保守的だと、JMB585 は最後のほうに初期化されるデバイスになります。前のデバイスが 4GB 以下を多く消費してしまい、JMB585 が BAR 空間を要求したときに割り当てに失敗したり、異常状態へ入ったりします。

Above 4G Decoding を有効にすると、一部のデバイスリソースを 4GB より上に配置でき、衝突の確率を下げられます。

壊れたカードを直すことはできず、すべての PCIe link training 問題を解決するわけでもありません。しかし「複数デバイスを挿したときだけ異常」という場面では非常に試す価値があります。

Resizable BAR / SAM との関係

多くの人は GPU 性能設定で初めて Above 4G Decoding を見ます。たとえば NVIDIA / AMD GPU 関連の次の機能です。

  • Resizable BAR
  • Re-Size BAR
  • ReBAR
  • Smart Access Memory
  • SAM

これらは関係していますが、同じものではありません。

Above 4G Decoding は土台です。PCIe デバイスの MMIO リソースを 4GB より上に置けるようにします。

Resizable BAR はその先の機能です。従来、CPU が GPU VRAM にアクセスできても、小さなウィンドウ、たとえば 256MB 程度のマッピングを通じて分割アクセスすることが一般的でした。ReBAR を有効化すると、CPU は GPU の VRAM のより広い範囲を一度にマップでき、理論上アクセス切り替えのオーバーヘッドを減らせます。

多くのマザーボードでは、Resizable BAR を有効にする前に Above 4G Decoding を有効にする必要があります。つまり:

  • Above 4G Decoding:デバイスアドレスを 4GB より上に置けるようにする。
  • Resizable BAR / SAM:GPU の BAR ウィンドウを大きくできるようにする。

NAS や SATA 拡張カードでは、重要なのは ReBAR ではなく、前者が提供する PCIe アドレス空間です。

副作用はあるか

現代の 64 ビット Windows、Linux、Ubuntu、Debian、TrueNAS、Proxmox などでは、Above 4G Decoding を有効にしても明確な悪影響は通常ありません。

ただし次は注意します。

  • 非常に古い 32 ビット OS には向かない場合がある。
  • 古い BIOS や古い PCIe デバイスでは相性が悪いことがある。
  • BIOS 設定変更後に起動できない場合は CMOS クリアまたはデフォルト復元を行う。
  • ReBAR / SAM も有効にするなら、GPU、マザーボード、OS、ドライバが対応しているか確認する。

現代のハードウェアと 64 ビット OS では、特にデバイスが多い場合、有効にしておく価値のある低レベル設定です。

いつ有効化すべきか

次のような場合は Above 4G Decoding を有効にすることを検討します。

  • 64 ビット OS を使っている。
  • 複数の PCIe デバイスを挿している。
  • ディスクリート GPU があり、特に VRAM 4GB 以上の GPU を使っている。
  • JMB585、ASM1166、HBA、RAID カード、キャプチャカードなどを使っている。
  • 多ディスク NAS やルーターを組んでいる。
  • 複数 GPU、AI アクセラレータ、ローカル LLM マシンを使っている。
  • PCIe カードを挿すと起動が止まる、黒画面、カーソル点滅になる。
  • 単体では正常だが、複数デバイスを同時に挿すと異常になる。

JMB585 SATA 拡張カードの POST フリーズを切り分けているなら、次と合わせて確認します。

  • CSM を無効化する。
  • 不要な Storage OpROM を無効化する。
  • PCIe 速度を Auto または Gen3 から Gen2 にする。
  • Above 4G Decoding を有効化する。
  • PCIe スロットを変更する。

BIOS ではどんな名前か

マザーボードメーカーによって名前は少し異なります。よくある名称は次のとおりです。

1
2
3
4
5
Above 4G Decoding
Above 4GB MMIO BIOS assignment
Memory Mapped I/O above 4GB
64-bit PCIe decoding
PCI 64-bit Resource Handling

よくある場所は次です。

  • Advanced
  • PCIe Settings
  • PCI Subsystem Settings
  • Chipset
  • North Bridge
  • IO Ports
  • Boot

Resizable BAR の近くに置かれているマザーボードもあれば、詳細 PCIe やチップセット設定の奥にあるものもあります。

Above 4G Decoding の BIOS 設定と失敗時の復旧

通常、最新の 64 ビット システム、ディスクリート グラフィック カード、または複数の PCIe 拡張カードを搭載したコンピュータでは、4G デコードをオンにする必要があります。これにより、ファームウェアがデバイスに必要な MMIO/BAR リソースの一部を 4GB を超えるアドレス空間に配置できるようになり、複数のデバイスが低アドレス空間をめぐって競合する問題が軽減されます。

どのような状況で有効にすることが推奨されますか?

  • ディスクリート グラフィック カードがあり、マザーボードはサイズ変更可能な BAR / SAM オプションを提供します。
  • 複数のグラフィックス カード、HBA、SATA 拡張カード、高速ネットワーク カード、またはその他の PCIe デバイスを使用します。
  • NAS またはワークステーションが大幅に拡張され、デバイスの消失、リソース不足、または異常な起動が発生した。
  • システムは、新しいマザーボードとデバイス ファームウェアを備えた最新の 64 ビット Windows または Linux です。

これは CPU のパフォーマンスを向上させるスイッチではなく、すべてのゲームやアプリケーションが高速になることを保証するものでもありません。その主な目的は、デバイス アドレスのリソース割り当てを改善することです。概念と MMIO/BAR の原則については、4G デコーディング以上のもの を参照してください。

サイズ変更可能なBARとの関係

多くのマザーボードでは、サイズ変更可能な BAR をオンにする前に、4G 以上のデコードをオンにする必要があります。前者は、より広範囲のデバイス マッピング用にアドレス空間を準備するものとして理解できます。一方、後者は、CPU がグラフィックス カード BAR により柔軟にアクセスできるようにします。この 2 つは関連していますが、同一ではありません。

通常、BIOS のどこにありますか?

名前はブランドごとに若干異なる場合があり、通常は [Advanced]、[PCIe]、[Chipset]、または同様のメニューの下にあり、[Resizable BAR] に配置される場合もあります。変更する前に、写真を撮って現在の値を記録し、マザーボードのマニュアルまたはファームウェアのアップデート手順を確認してください。オンラインのスクリーンショットが同じだからといって、他の PCIe オプションをやみくもに変更しないでください。

電源を入れても起動できない場合はどうすればよいですか?

最初に電源を切り、マザーボードのマニュアルに従ってデフォルトの BIOS 設定を復元します (CMOS クリアの使用やデフォルトのオプションの復元など)。次に、古いグラフィックス カード、拡張カード、BIOS バージョン、またはその他の互換性設定に関連するかどうかを確認するためにのみ、徐々に [4G デコード以上] に戻します。原因を確認せずに、複数の BIOS 変更を連続して積み重ねないでください。

ローカル モデルまたは NAS 拡張シナリオの場合は、グラフィックス カード メモリ、PCIe スロットの帯域幅、冷却、および電力も個別にチェックする必要があります。 4G 以上のデコードは、これらのボトルネックに代わるものではありません。ビデオ メモリの選択については、Qwen3 量子化を実行する RTX 3060 とビデオ メモリの選択 を参照してください。

概要

最新の 64 ビット システム、独立したグラフィックス、および複数の PCIe デバイス環境では、4G 以上のデコードをオンにする価値はほとんどあります。古いハードウェアや起動異常が発生した場合は、BIOS を復元するためのパスを保持し、項目ごとに互換性を確認します。

変更する前にこれらの前提条件を確認してください

4G 以上のデコードは最新の UEFI および 64 ビット システムで動作します。マシンがまだレガシー ブート モード、非常に古い拡張カード、または BIOS バージョンを使用している場合は、マザーボードのサポート ノートを読み、まず安定したファームウェアに更新してください。 1 回の操作で、新しい設定と無関係な複数のオーバークロックやメモリ タイミングの変更を混合しないでください。

変更前の推奨事項: 現在の BIOS ページを記録し、クリア CMOS またはマザーボードの回復方法の場所を確認し、安定した電源供給を確保し、緊急作業がないときに動作させます。これにより、画面が真っ暗になったり、デバイスが認識されなくなったりした場合でも、既知の状態に戻ることができます。

リスクの低いセットアップ手順

  1. BIOS に入り、Advanced、PCIe、Chipset、または Resizable BAR に似たメニューを見つけます。
  2. 「4G デコード以上」のみを有効にし、システムを保存して起動します。
  3. グラフィックス カード、ネットワーク カード、HBA、または SATA 拡張カードがシステムで認識されていることを確認します。
  4. 必要に応じて、サイズ変更可能な BAR/SAM を有効にし、検証を繰り返します。
  5. 一定期間連続して使用し、スリープからの復帰、再起動、仮想化、および高負荷が正常かどうかを観察します。

2 つのスイッチを個別に確認することが重要です。複数の PCIe オプションを一度に変更すると、どれが互換性の問題の原因となっているかを後から知ることが困難になることがあります。

一般的な現象を判断する方法

現象 可能な方向 優先処理
デバイスがシステムから消えます リソース割り当てまたはスロットの互換性 デフォルトに復元した後、カードごとにテストします。
電源を入れた後の黒い画面 BIOS/グラフィックス カードの互換性または起動設定 CMOS をクリアし、ファームウェアを更新します。
ReBAR オプション グレー 前提条件が満たされていません UEFI、グラフィックス カード、BIOS を確認する
NAS 拡張カードが不安定です スロット帯域幅、電源またはドライバー スイッチから目を離さないでください。

解決しないもの

4G 以上のデコードでは、ビデオ メモリが増加したり、PCIe スロットの物理帯域幅が増加したり、電力不足、過熱、損傷した拡張カードが修復されることはありません。ローカルの大規模モデルを実行できない場合でも、最初にモデルの量子化、ビデオ メモリ、メモリ、およびコンテキストを確認する必要があります。 NAS がハードディスクを認識できない場合は、HBA チップ、ケーブル、電源、ドライバーも確認する必要があります。

複数のグラフィックス カードと NAS の推奨事項

マルチグラフィックスワークステーションでは、マザーボードの CPU チャネル、スロット共有ルール、および電力マージンに特に注意を払う必要があります。 HBA または複数の NVMe を NAS に追加する場合は、チップセットのチャネルと熱放散にも注意する必要があります。 Above 4G Decoding をオンにできるということは、アドレス空間の圧迫が軽減される可能性があることを意味するだけで、マシン全体の拡張計画が合理的であることを意味するわけではありません。

FAQ: グラフィックス カードが 1 つしかない場合、有効にする必要がありますか?

最新の 64 ビット UEFI プラットフォームで互換性の問題がない場合は、通常、これをオンにすることができます。ただし、ReBAR または拡張デバイス要件がなければ、パフォーマンスの違いは目立たない可能性があります。

FAQ: 電源を入れるとハードウェアが損傷しますか?

通常はそうではありません。これはファームウェアのリソース割り当てオプションです。このリスクは主に、古いデバイスの互換性や、同時に多数の BIOS 項目を変更して起動に失敗することが原因で発生しますが、これは回復手順に従うことで対処できます。

まとめ

Above 4G Decoding の核心は、マザーボードが PCIe デバイスの MMIO / BAR アドレス空間を 4GB より上に割り当てられるようにすることです。ドライバ問題を直す設定ではなく、BIOS / PCIe リソース割り当て層のアドレス空間問題を扱います。

少数のデバイスしかない普通の PC では、効果を感じないかもしれません。多ディスク NAS、複数 NIC のルーター、JMB585 / ASM1166 SATA 拡張カードを挿した小型 PC、複数 GPU ワークステーション、ローカル AI マシンでは重要になります。

PCIe 拡張カードを挿すと BIOS で止まる、黒画面、カーソル点滅、デバイス未認識、または複数デバイス同時接続時だけ失敗する場合、Above 4G Decoding = Enabled は早めに確認すべき BIOS 設定です。万能薬ではありませんが、現代の 64 ビットハードウェアを 4GB 以下の古いアドレス制約から解放し、PCIe リソース衝突を減らせます。