猿问

关于32位机的寻址范围问题

我的电脑装的是32 位的win7,那么我的电脑的地址就是32位的,就是4个字节,对吗? 那么32位的地址,能寻址多大的内存呢,如何计算出来的,请您的指点解惑
繁星点点滴滴
浏览 729回答 8
8回答

繁星coding

2 的 (32  ) 次方。就是4G

白衣染霜花

2 的 (32 - 8 ) 次方。

江户川乱折腾

还望您详细解释为什么啊?

慕码人8056858

@hunpo: 说实话,这还真不好解释,因为寻址空间是同总线挂钩的,和OS、CPU没啥直接关系。我假设一个理想的32位总线,那么1字节(8位)用来传输指令,那么就只剩下3字节(24位)来表示一个目标地址空间,根据排列组合,24位可以表示 2(只有1和0,所以是2) 的 24 次方个不同的数,所以就是能访问到 2 的 24 次方个地址单元。在实际的计算机构造中,除了直接寻址,还有间接寻址,那么就可以扩大寻址范围。 这部分内容建议你自学下《计算机组成原理》。

眼眸繁星

@Launcher: 您好,但是依据众高手的解释,应该是2的32次方,也就是4G,哪个对呢

收到一只叮咚

@hunpo: 你应该先去读下《计算机组成原理》,因为这个解释起来相当困难,通常我们说32位寻址范围是4G,这只是一个经验值(其中隐含了很多先决条件)。因为实际的寻址范围跟字长,地址线的数目,指令集相关。同时除去硬件,OS本身还会对寻址范围做出限制。

心有法竹

@Launcher: 确实,实际的情况是多种多样的。一般情况是4G

郎朗坤

luncher说的不假,32位最大寻址4g空间。对于64位系统,岂不是要2^64范围了吗?当然不是!系统会做出限制,毕竟谁也用不了那么大的内存。
随时随地看视频慕课网APP
我要回答