LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 892|回复: 11

IntelPIII 1G处理器得寻址能力达到多少?

[复制链接]
发表于 2003-11-9 15:35:10 | 显示全部楼层 |阅读模式
thanx!

PS :不知道现在对大于1M的内存还是叫做扩展储存器吗?
 楼主| 发表于 2003-11-9 16:07:03 | 显示全部楼层
现在找到一个答案了。
如果你想详细地搞清以上问题,建议你去阅读有关386、486或Pentium汇编的书(8086/8088的汇编的书一般没有保护方式、虚拟地址、浮点数等概念),一般都会有专门的部分来讨论这些问题,因为要想准确地知道这些问题,还真需要花一些工夫。
    这里简单地解释一下,8086/8088的微机只有一种工作模式(即实模式)只能处理1M以下的地址(16位),这种地址被城为实地址。后来Intel为了突破1M的内存的限制,推出了386等芯片,增加了保护模式,在32位保护模式下,程序可以访问4G内存空间。但同时为了同以前的程序保持兼容,所以旧程序在实模式下运行,而32位程序可以运行在保护模式下,从而最大地发挥服务器的能力。DOS是运行在实模式的,而Windows 9x/NT都是运行在保护模式的。CPU有专门的保护模式指令。这里有一篇简介386mode.zip。
    Intel的32位处理器可以允许操作系统建立自己的内存管理机制,这样每个应用程序不是直接读写实际存在的物理内存,而是访问操作系统提供的虚拟内存,这样的优点是程序可以使用硬盘等其他设备的空间模拟内存,而且在实际软件时可以不考虑用户实际拥有的物理内存的。Windows就采用了这样的内存管理机制,所以你的程序操作的不是实际的物理地址,而是操作系统提供的虚拟地址。由物理地址到虚拟地址,存在着对应关系,即映射。不同的操作系统的管理方法可能不同。
    浮点数是表示小数的一种方法。所谓浮点就是小数点的位置不固定,与此相反有定点数,即小数点的位置固定。整数可以看做是一种特殊的定点数,即小数点在末尾。8086/8088中没有浮点数处理指令,不过从486起,CPU内置了浮点数处理器,可以执行浮点运算。一般的浮点数有点象科学计数法,包括符号位、指数部分和尾数部分。
 楼主| 发表于 2003-11-9 16:34:08 | 显示全部楼层
请问扩展存储器和扩充存储器有什么不同?
发表于 2003-11-9 18:41:06 | 显示全部楼层
上面两个词要联系上下文来看

因为在中文中 一个计算机词语会有很多种叫法
发表于 2003-11-9 19:41:01 | 显示全部楼层
很久以前(應該是286 的年代)有expand memory(擴展) 與 extend memory(擴充) , 但是這兩個是不同的東西?淼, 一個是物理上一個是觀念上, expand 是指外加於系統上的ram(當時是需要用上ram card 的), extend 是指那些多於1M 的ram, expand 是 extend, 但extend 不一定是expand 的, 但後?韨人電腦也再沒有expand memory了
发表于 2003-11-9 21:20:42 | 显示全部楼层
很古老的东西

现在的PC有实模式与保护模式
实模式下是16位寻址
所以最大只能找到640K

保护模式下是32位寻址 可以到4G(unsigned int最大值)

操作系统启动时先运行在实模式 然后转换到保护模式

应用程序不用区分 都是运行于保护模式下的(除非你使用DOS)
所以可用的内存都是4G
 楼主| 发表于 2003-11-9 22:23:22 | 显示全部楼层
谢谢大家,那书说得太详细了,弄得我都糊涂了。呵呵`~~
发表于 2003-11-11 00:28:45 | 显示全部楼层
如果我没理解错,32CPU最大内存寻址是4G,市场上一般没有可以插多于4G内存的主板,除非那芯片组是intel特制的,用了64位数据总线。
发表于 2003-11-11 07:03:20 | 显示全部楼层
32位系统寻址范围当然是4G,但通过特殊的技术可以达到64G,但实际上也是用一个4G的‘窗口’存取64G的地址空间
发表于 2003-11-11 15:01:17 | 显示全部楼层
記得以前用dos 時, 要讀那些video memory 就是要用這方法不可了
現在可簡單得多了~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表