Base Address Register

提供: MonoBook
ナビゲーションに移動 検索に移動

Base Address Register (BAR)とは、PCI Expressの機能のひとつで、PCI Expressカード上のメモリをCPUのメモリ空間に割り当てられる(メインメモリを増設したように見える)という機能です。

通常であればカード上のメモリにアクセスするにはCPUからカードごとの専用命令を経由して読み書きを行います。一方、BARを使うとCPUから普通のメインメモリと同じように読み書きできるようになります。専用命令が不要なので若干高速化されるようです。

主にビデオカード上のVRAMの一部をメインメモリの一部として認識させる用途で使われています。当然ながらメモリ増設にも使おうと思えば使えます。

容量[編集 | ソースを編集]

なお、BARに割り当てられるメモリ容量の上限はCPUごと(実際にはチップセットごと=マザーボードごと)に仕様を持っています。MIPS系では32MB、ARM系では64MB、x86系では128MB、POWER系では64GBくらいが相場となっています。

ビデオカードは「x86系の128MB」を想定しているものが多く、Raspberry Piなどにビデオカードを接続しても動かないことが多いのは「ARM系の64MB」は想定されていないことが多いためです。

ちなみに、最新のインテルAMDの製品では「Resizable BAR」などといって64ビット(理論上は約172億GB=全メモリ)を割り当てることができます。なお、Resizable BAR」はPCI Express 2.1からオプション(仕様はあるが実装しなくてもよい)として存在しました。