8086的地址总线是20位宽。这意味着它可以在RAM中寻址1048576个不同的地址。自从最大8086可以处理的内存为1 MiB,单个内存单元可以存储1个字节。
因此像0xffff0这样的随机逻辑地址具有8位或1字节的“存储”。
现代Core i7有一个36位的地址总线,这意味着他可以处理68719476736个不同的地址。每个逻辑地址一个字节,他可以处理68719476736字节或64 GiB,这正是最大值。内存是Core i7可以处理的。
这个解释是否正确,我认为是对的?
所以自30年以来最大存储逻辑存储器地址正好是1字节。
答案 0 :(得分:5)
错误的假设是“最大存储空间”。不,最小的直接可寻址单元是1字节,寻址以1字节为增量,但有些命令可以工作在8,16,32和64位,包含1,2,4和8字节的块。
因此,虽然您仍然可以像旧时一样读取单个字节,但您可以使用一个命令对64位字进行操作,并且使用64位命令系列可以在相同的地址空间上进行操作地址/指针的增量为8,而不是单个字节的1。
因此,虽然通常是,但每个物理地址精确对应8位存储,您可以使用地址空间作为“稀疏”,其中只有8的除数是有效地址,然后将它们中的每一个用作64位存储位置,就像每个有效地址对应64位存储一样。
答案 1 :(得分:2)
首先:你似乎在说出意见。这不是一个论坛。
其次,我认为你在逻辑和事实上是错误的。
事实:i7只能处理24Gb而非64Gb(见What does the “Max Memory Size” on the new Intel Core i3 / i5 / i7 CPU's mean?和i7 datasheet)
逻辑:总线大小不需要直接影响寻址/可寻址内存(虽然我怀疑 /确实如此)。
引自http://en.wikipedia.org/wiki/Intel_8088:
Intel 8088微处理器是Intel 8086的一种变体,于1979年7月1日推出。它有一个 8位外部数据总线,而不是8086的16位总线。但是,16位寄存器和1兆字节地址范围没有变化。最初的IBM PC基于8088。