您的位置:程序门 -> c/c++ -> c++ 语言



是不是所有的pc兼容机都会保留1m内存空间的高384k内存地址啊?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


是不是所有的pc兼容机都会保留1m内存空间的高384k内存地址啊?[已结贴,结贴人:chinaonl]
发表于:2008-01-21 09:38:16 楼主
是不是所有的pc兼容机都会保留1m内存空间的高384k内存地址啊?
会不会在不同的机器上保留的长度不一样?
发表于:2008-01-21 10:18:051楼 得分:0
都一样,   否则就不兼容了
发表于:2008-01-21 10:25:262楼 得分:0
那在现在的pc机中的rom,ram有哪些他们是如何编址的啊
发表于:2008-01-21 10:32:393楼 得分:0
显卡上的显存为什么会在内存地址空间中分一块地址空间,不是说io和内存是独立编址?
发表于:2008-01-21 10:45:474楼 得分:0
物理地址吗?   有一些厂家自己可以定,   有一些有工业标准,   必须在固定的物理地址上.

640k到1m之间的那384k,   保留给了bios的程序(一般称为bios   routine)和isa卡内存映射区,   系统是无法使用的.这属于固定的地址.   现在的bios支持的东西越来越多,   384k未必足够,   于是就会保留更多的地址给bios的程序,   那些什么acpi啦什么什么的功能,   都是要占空间的.   具体地址不清除,   要查datasheet之类的东西了.

你要知道这些做什么?   自己画主板的pcb吗,   呵呵.
发表于:2008-01-21 10:50:035楼 得分:0
操作系统是如何确定哪些地址是ram,哪些地址是rom,如果不知道他有怎么管理存储器啊!!!!1
发表于:2008-01-21 10:54:336楼 得分:0
显存吗?   如果是isa的显卡,   显存的地址应该就在那384k里面,   超过这个容量的显存的显卡,   或者做成pci的,   或者自己想办法吧.

pci的显卡(包括agp,   pci-e),   其显存的物理地址是单独编址的,   在启动时,   bios对pci设备进行枚举,   并且要把pci的显存地址映射到系统的物理地址空间去.   (很多人的机器,   装了4g内存,   xp却只能识别3g或者3.5g,   大惑不解.   其实,   物理地址空间虽然有4g(不开启扩展寻址的话),   但是并不是只有内存占用的,   其他很多设备都要占用这些地址空间的.)

x86的cpu,   io地址和内存地址分离,   其他架构的cpu基本上都是统一编址.   实际上,   x86的cpu,   io地址虽然和内存地址分离,   但是其空间也是很小的,   根本无法容纳全部的端口,   所以pci的端口,   无论时板载内存,   还是寄存器,   多映射到内存地址空间去.   (注意,   pci是一种标准工业总线,   并非只为x86设计的)
发表于:2008-01-21 10:57:507楼 得分:0
操作系统是如何确定哪些地址是ram,哪些地址是rom,如果不知道他有怎么管理存储器啊!!!!1
================================================================================
当然基本配置都是有工业标准的,   物理地址的前4k是bios的配置信息,   640k到1m,   被x86架构保留了,   pci的主桥地址,   由pci工业标准确定.   其他的地址,   可以通过这些地址枚举出来.
如果某块主板,   地址总线lay错了,   这些地址不对的话,   嘿嘿,   任何操作系统也不可能跑起来的.
发表于:2008-01-21 10:59:308楼 得分:0
实模式下,是这样。
发表于:2008-01-21 11:10:319楼 得分:50
保护模式也一样呀,   物理地址在640k到1m之间是无法使用的.

只不过保护模式下,   我们无法直接访问物理地址,   只能访问线性地址或者说虚拟地址.   实际上,   从4g的物理内存空间看,   那384k是永远少掉了.   (就算是现在那些能寻256t的cpu,   这些物理地址也是被永远占用了)


快速检索

最新资讯
热门点击