大家一起来揭开bios和地址空间这个谜
关于bios和内存地址空间的问题困扰了我好长时间,在网上搜了半天人们的说法都是含含糊糊,有的说的很准却细节没有。所以我想请大家一起帮忙来揭开这个谜,也让以后的人有个参考,我主要是不怎么明白下面几个问题
1、一种机型是由这种机型的CPU和主板类型决定,还是有CPU决定了大方向然后主板去实现它的标准,也就是一种机型是怎么定下来的,是谁定下来的,不同的机型有何不同能否兼容
2、一种机型定下来之后他的地址空间就确定了,什么占那部分位置已经确定,早期的8086bios占了1M以下的空间,而后来的机子把1M以下与4G以下的位置都给了bios
3、bios启动时从4G以下的高位置启动,然后跳转到1M哪里的低位置,因为全都映射给了bios所以他是可以运行的。当bios启动完之后,如果你开启了shadow的话bios将自己的位置还给了RAM,然后再将自己考到这里。
4、如果3是正确的话那么RAM的地址空间是不是还有一个空洞。也就是说640K-1M的空间里除了各种bios外还有显卡视频卡RAM的空间,这部分位置是不是也会还给主内存,如果不还给主内存的话那就永远有这个空洞了(当然我是说在bios启动完,而操作系统没动得时候,如果操作系统动了那是他自己的事了)。
5、最后我想问现在显卡内存都那么大了,1M以下那点内存肯定放不下,是不是显卡在不同模式下的内存分配不一样呢。刚开机在VGA时bios已经为其分配了内存空间,按里说是应该在4G靠下的位置,可是1M以下的地方那段显卡内存空间怎么也给了他,难道这又如bios刚开机一样虽然地址不一样但是访问的显卡的位置是一样的
请高手们指点一下