vvqboy 发表于 2013-12-6 10:33:29

第一章,内存地址空间疑问。32位CPU到底能插多大内存

32位的CPU,寻址能力为2^32次方,也就是4G,可是CPU把总线上的所有存储器都当作内存来对待。
我记得之前经常说,32位的CPU最多插4G的内存条,可我当时是4G的内存条,还有1G的显卡呢,不算其他存储器
这两个加起来就是5G了呀,也就是说我插了1G的显卡,内存条最多只能插3G的?
这个地方不大懂,谁能帮忙解释下么

~逆天~ 发表于 2013-12-6 11:37:37

我的理解是多少位和寻址能力没关系,寻址能力受外部地址总线的的限制,8086CPU是16位的,它的内部总线都是16条(包括内部数据总线、内部地址总线、内部控制总线),但外部地址总线是20条,它的寻址能力2的20次方,也就是FFFFF,即1MB。也就是说8086最大的内存空间只有64KB(包括内存、显存、端口),换句话说,32位CPU它的外部总线应该有N条(大概30多条吧),它的最大存储空间就为2的N次方,你的所有内存、显存等等加起来应该不超过这个数,这个数就是最大物理内存空间。
   正因为8086CPU是16位机,一次只能运算FFFF,而内存地址却有FFFFF,所以才出现了逻辑地址,即基地址+偏移地址寻址方式。
不知道理解对不对,欢迎老师童鞋们指正!

页: [1]
查看完整版本: 第一章,内存地址空间疑问。32位CPU到底能插多大内存