问题描述
- 关于CPU地址宽度的问题
-
假如CPU中地址宽度为10的话,那么它能寻址空间为1KB,假如内存为16M的话,那么CPU
怎么能全部利用了内存呢?
解决方案
- 从本质上讲。所谓的32位CPU是32根数据总线。但是地址总线一般是与数据总线相同宽度的,因此也是32位。
- 操作系统的32位又稍有区别。32位的os可以跑在64位的CPU下,但是那时候上半的数据总线和地址总线都不使用,因此实际相当于把64位CPU当32位CPU使用,
- 在8086年代,地址总线和数据总线的宽度是不一样的。那时候通常一个地址要两个数来表示(地址总线20位,数据总线8/16位),但是这种情况现在已经不存在了
解决方案二:
你应该说的是地址总线长度为10吧
那么它就可以寻址2^10=1024b=1kb
显然16M的内存他无法完全使用
解决方案三:
寻址的话有好多种寻址方式,以前在计算机组成原理和微机原理里面学过,有直接寻址、相对寻址、间接寻址等,相同的硬件上用不同的寻址方式得到的地址空间是不一样的。具体是怎么计算的已经记不清了,年数太久了。
解决方案四:
那就没法使用了,根本访问不到1KB后面的。
时间: 2024-09-17 03:50:11