アプリ版:「スタンプのみでお礼する」機能のリリースについて

ビデオメモリとRAMのアドレスについて。
32ビット版のOSの物理アドレスは4GB(0-FFFFFFFF)で、
ビデオメモリも当然、この間のアドレスを使用するものと理解していました、
つまり、あまり多くのビデオメモリを使用すると、利用可能な物理メモリ(RAM)の容量が減ってしまいますよと、
他の質問で、回答をしたところ、
ビデオメモリとRAMは別だから、勘違いですと、指摘されました。

私の使用しているOS(XP、Vista、Win7)の32ビット版は、
デバイスマネージャを開いて、表示を、リソースで確認すると、
ビデオメモリの分のアドレスは、0-FFFFFFFFの間に割り当てられています。
つまり、このビデオメモリのアドレスは、RAMが使用できない、
と思いますが、勘違いなのでしょうか。

もし、ビデオメモリ(2GB)+RAM(4GB)とすれば、
6GBの物理アドレスを、どのように管理するのか、
ご教授して、いただきたいと思います。
私は、64歳で、最近の新しい技術に、疎くなっているのでしょうが、
よろしくお願いします。

A 回答 (3件)

VGAが要求するMMIOのサイズは「1GPU」に付き


大体256MB+αです、これはドライバ次第です

MMIOは単に窓口ですので、そこを経由したデータはVRAMに入った時点でOSの管理外となり、
ドライバとGPUが管理します、また、窓口なのでVRAM量とはほぼ無関係です、
ですのでVRAMは4GBだろうが8GBだろうが(8GBはまだ見たことないですが)大丈夫ですよ

>256MBのビデオメモリと1GBのビデオメモリも、GPUがメモリの管理を別にしているから、MMIOのサイズは変わらないのですか。
>すると、ビデオメモリを4GBとすることも可能だとなりますね。
参考URLのカードは数少ない4GBのVRAMを搭載するカードですが、
対応OSは普通に32bit版がカバーされています

自分はここ最近ですとHD4850・512MB HD4890・1GB HD5870・2GB
この三枚をXPで使いましたがどれもMMIOの要求は同じでした
HD5870でもオンボードデバイスを削れば3.5GBのRAM領域が確保できましたし
Oblivionというゲームのプレイ時はOS込みでメインRAM3.2GB位(ゲーム単独で2.6GB位)まで使用しつつ、
VRAMは1.8GB使用の状態で稼動したりしていました

まぁ
>2GBのRAMで、2GBのビデオメモリの場合は、2GBの空きアドレスを割り当てるから
これが勘違いです
VRAM自体はOSの管理領域外です、あくまで窓口となるMMIOまでが管理内
MMIOはVRAM量と無関係であり、ドライバ次第

参考URL:http://www.elsa-jp.co.jp/products/graphicsboard/ …
    • good
    • 0
この回答へのお礼

ありがとうございます。
勘違いが、理解できました。
ゲームはしませんし、他のメモリ喰いのプログラムを使用しているので、
最初から、ビデオカードはメモリ256MBのものを装着しておりました。
デバイスマネージャを観ると約256MBが割り当てられていたので、
勘違いしていたようです。
512MBのメモリで、メインRAMが少なくなってしまうことを心配して、
ビデオカードを換装しませんでした。
換装すれば、すぐに解ったことですね。
年を重ねると、頭は固くなるようです。
次の件も理解できます。
MMIOはVRAM量と同じ、
VRAMとMEMでアドレスの重複と間違っていましたので、
MMIOは管理内であることを忘れていました。
勉強になりました、ありがとうございます。

お礼日時:2010/06/07 14:48

49歳♂です。


故に回答が付いてますので、情報です。
近年のHybrid 技術で、オンボードVGA とビデオカードVGA を併用
使用する事が可能に成って下り、質問者様の答えもあながち?間違い
でも、無いので回答者様は苦慮して居られます。
    • good
    • 0
この回答へのお礼

頭が固くなって、新しい技術に、ダンダン付いていけなくなりました。
ご回答、ありがとうございました。

お礼日時:2010/06/07 14:53

機器構成に依ります。



1:チップセット内蔵ビデオ機能の場合。
ビデオメモリはメインメモリから割り当てられるので、ビデオメモリの容量設定が大きくなれば、OSが使用できるメモリは減ります。

2:専用GPU搭載のビデオカード使用時
ビデオカードに搭載されているビデオメモリは、GPUが管理していますので、メインメモリとは直接関係しません。


尚、専用GPU搭載時でも、Turbo Cache機能等が有効の場合には、メインメモリにビデオメモリの一部が割り当てられる場合はあります。



又、ビデオメモリとは関係なく、GPU等のビデオ機能自体のアクセスとして、メモリマップドI/O(MMIO)が必要になります。

この回答への補足

早速のご回答、ありがとうございます。
1:チップセット内蔵は理解できます。


>ビデオメモリとは関係なく、GPU等のビデオ機能自体のアクセスとして、メモリマップドI/O(MMIO)が必要になります。
デバイスマネージャで、リソース(種類別)を確認すると、
このMMIOが、GPUに割り当てられているのが判りますね。

質問は、このMMIOのサイズとビデオメモリのサイズとは関係ないかということです。
MMIOへのアドレス割り付けが増えれば、フリースペースが当然、減りますよね。
256MBのビデオメモリと1GBのビデオメモリも、GPUがメモリの管理を別にしているから、MMIOのサイズは変わらないのですか。
すると、ビデオメモリを4GBとすることも可能だとなりますね。

4GBのRAMを搭載しても、実際は、約3.5GBになってしまうのは、MMIOとして予約されてしまうからだと、理解していたのですが。

4GBの内、2GBがプログラムで使用できて、リソースが不足すると、スワップが多発しますよね。
1.5GBはカーネルなどのシステムが使用しますが、MMIOに1GBを予約すると、どの部分が少なくなるのですか。

2GBのRAMで、2GBのビデオメモリの場合は、2GBの空きアドレスを割り当てるから、影響がないと思いますが、
4GBのRAMを搭載しても、2GBのビデオメモリの場合は、2GBのRAMと同じ(厳密には異なるが)ではないかと、理解していましたが、
どの辺が、勘違いなのでしょう。
よろしくお願いします。

補足日時:2010/06/07 09:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!