这是我的任何研究之前,第一逻辑:为什么32位机器的最大容量是4GB?
因为它是一个32位的机器,将有2^32位(这是约4十亿) ,但它们在位,所以我必须把它转换成字节。 (~4亿美元/ 8) 然后我得到~5亿字节,或~500MB。
实际上,我是好奇,为什么它不是500 MB,所以我发现这一点:
“根据定义,一个32位处理器使用32位指每个内存字节的 位置2^32 = 42亿,这意味着一个长32位的内存地址 只能引用42亿个 的唯一位置(即4 GB)。“ (original source)
但我很困惑,因为再次,每一个内存地址是32位长,并有4.2十亿人。每个存储器地址是4个字节,而不是1个字节。因此它将是4.2千兆* 4字节= 16.8 GB。
很明显,我错过了我的逻辑中的东西。任何澄清?
噢,那么如果我在我的内存位置0x00004000处有0x12345678,那么数据(0x12345678)会被切割成4块,最后占用4个内存位置? 啊!那是什么时候发生大大小小的排序。我应该知道的。 那么我真正的问题是,当我们有4个字节的内存地址时,为什么每个内存地址只有1个字节?为什么我们不能为每个地址提供更多数据? –
@ RivenLv3:对于某些专用产品,我们确实看到每个地址使用多于1个字节。但考虑到通用文件是字节大小的,就像网络通信协议一样。具有非标准尺寸会打破互操作性。 – MSalters