请高手就下面问题发表自己的意见 谢谢啊

来源:百度知道 编辑:UC知道 时间:2024/06/18 12:58:08
32位处理器从硬件角度看支持的内存是2的32次方。4个g. 那么目前说的64位的系统 支持的内存能说是2的64次方么?和配备的操作系统也有关系吧,比如32为系统上跑实dos,那么好象最多只能读取1m内存,并不是4g啊。

我们所说的多少位的处理器是指处理器一次处理的字长。

处理器所支持的内存是和处理器的地址线的条数有关。
比如8088有20根地址线,所以可以寻址2的20次方也就是1M的内存;现在流行的处理器,比如奔腾具有36根地址线,理论上可以寻址64GB。athlon 64有40根地址线理论上可以寻址2的40次方:1TB,而不是2的64次方。

所谓8位、16位、32位、64位在操作系统理论中主要是指内存寻址的宽度。如果内存的寻址宽度是16位,那么每一个内存地址可以用16个二进制位来表示,也就是说可以在64KB的范围内寻址。同样道理32位的宽度对应4GB的寻址范围,64位的宽度对应16 Exabyte的寻址范围。
在早期的16位操作系统中,由于64KB的寻址范围太小,大都都采用「段」加「线性地址」的二维平面地址空间的设计。分配内存时通常需要考虑「段置换」的问题,同时,应用程序所能够使用的地址空间也往往有比较小的上限。

所以athlon 64即使可以寻址1TB,但如果使用32位的系统,只能限制在4GB了,使用64位的系统才能真正发挥寻址的能力。

DOS是16位的操作系统,可以连续的寻址64KB,DOS是为8086/8088设计的,它可以分段寻址到最多1M。

由于DOS是为8086/8088设计的16位系统,所以即使在32位的系统中使用也只能寻址1M。