于峰 发表于 2014-8-29 12:44:22

存储容量=存储单元个数x存储字长

存储容量=存储单元个数x存储字长
这个公式为什么会成立
按理来说不应该等于存储单元个数x每个存储单元的大小(即八位)吗?
比如说一个MAR16位,MDR32位的CPU,他的存储单元个数应该是2^16,
那么存储量应该是2^16x8位,而按这个公式的话,为2^16x32位
到底怎么回事,求大神指点

小靚同学Leon 发表于 2014-8-29 13:25:46

因为不是所有的CPU都是以字节为单位,有4位的、14位的,也有纯32位的,没有提及单位字长就无法判定。你理解的没错就是太局限了。

于峰 发表于 2014-8-29 14:07:25

小靚同学Leon 发表于 2014-8-29 13:25
因为不是所有的CPU都是以字节为单位,有4位的、14位的,也有纯32位的,没有提及单位字长就无法判定。你理解 ...

请问是一个存储单元不一定是多少字节的是这样吗..是有数据总线根数决定的是这样吗?

于峰 发表于 2014-8-29 14:09:14

小靚同学Leon 发表于 2014-8-29 13:25
因为不是所有的CPU都是以字节为单位,有4位的、14位的,也有纯32位的,没有提及单位字长就无法判定。你理解 ...

可是还是不对啊..8086CPU它是16位CPU,可是还是按8位一个存储单元算的啊

小靚同学Leon 发表于 2014-8-29 14:24:59

于峰 发表于 2014-8-29 14:07
请问是一个存储单元不一定是多少字节的是这样吗..是有数据总线根数决定的是这样吗?

是的。

小靚同学Leon 发表于 2014-8-29 14:28:18

于峰 发表于 2014-8-29 14:09
可是还是不对啊..8086CPU它是16位CPU,可是还是按8位一个存储单元算的啊

那他的存储单元一个字节位单位的啊。16位指的是他的地址总线根数,这个道理只要你理解了就行啊

于峰 发表于 2014-8-29 20:17:20

小靚同学Leon 发表于 2014-8-29 14:28
那他的存储单元一个字节位单位的啊。16位指的是他的地址总线根数,这个道理只要你理解了就行啊

8086的数据总线也是16根啊..

风之残月 发表于 2014-8-31 20:16:19

准确的说应该是 存储容量 = 存储单元个数 * 每个存储单元大小
存储单元大小有时是不同的,不过一般以字节计算,而有时以字(2个字节计算)、双字(4个字节)计算
页: [1]
查看完整版本: 存储容量=存储单元个数x存储字长