|
本帖最后由 9622315 于 2015-5-24 12:20 编辑
你的算法有问题,虽然结论是一样的,但数不是这样凑出来的。
首先,要肯定的是32位系统,寻址能力是4G,也就是4096M,注意我这里说的是寻址能力,而不是识别多少内存。
其次,x86硬件体系构架决定,ROM与RAM统一编址,也就是说这4G的寻址空间,不全给内存用,还要保留一部分给主板BIOS、显卡BIOS、阵列卡BIOS等等这些扩展BIOS ROM,还有一大块儿寻址空间,是保留给I/O端口的,DMA控制器,显示系统帧缓(即便是独立网卡)等等,这方面的开销也不算小,学过汇编的人都清楚。
再次,才是你说的集成显卡显存,通常集成显卡划分不了那么大的显存,真正一开机就强行占有的部分也就8M最多16M,因为作为帧缓,16M足够了,通常8M就够用,我们不妨算一下,1920*1080*32位色,也就7.91015625M内存,不到8M的样子对于集成显卡来说,也就如此了吧,你要搞清楚,显存超过8M的部分,不是用来做帧缓的,而是用来做3D渲染与GPU运算的,这部分开销,是动态的,也就是说没有相应开销,系统是不会划分内存给GPU的。
所以说,即便你就是用独立显卡,32位系统,一样只识别2.9G,最高我见过3.2G的,这是因为不同的主板,为扩展BIOS、I/O端口等等,保留的地址空间不同,导致最后留给内存的可用寻址空间不同。 |
|