8086存储在RAM中的单个内存地址中多少位?

时间:2011-06-28 07:32:07

标签: memory x86 cpu ram memory-address

8086的地址总线是20位宽。这意味着它可以在RAM中寻址1048576个不同的地址。自从最大8086可以处理的内存为1 MiB,单个内存单元可以存储1个字节。

因此像0xffff0这样的随机逻辑地址具有8位或1字节的“存储”。

现代Core i7有一个36位的地址总线,这意味着他可以处理68719476736个不同的地址。每个逻辑地址一个字节,他可以处理68719476736字节或64 GiB,这正是最大值。内存是Core i7可以处理的。

这个解释是否正确,我认为是对的?

所以自30年以来最大存储逻辑存储器地址正好是1字节。

2 个答案:

答案 0 :(得分:5)

错误的假设是“最大存储空间”。不,最小的直接可寻址单元是1字节,寻址以1字节为增量,但有些命令可以工作在8,16,32和64位,包含1,2,4和8字节的块。

因此,虽然您仍然可以像旧时一样读取单个字节,但您可以使用一个命令对64位字进行操作,并且使用64位命令系列可以在相同的地址空间上进行操作地址/指针的增量为8,而不是单个字节的1。

因此,虽然通常是,但每个物理地址精确对应8位存储,您可以使用地址空间作为“稀疏”,其中只有8的除数是有效地址,然后将它们中的每一个用作64位存储位置,就像每个有效地址对应64位存储一样。

答案 1 :(得分:2)

首先:你似乎在说出意见。这不是一个论坛。

其次,我认为你在逻辑和事实上是错误的。

  1. 事实:i7只能处理24Gb而非64Gb(见What does the “Max Memory Size” on the new Intel Core i3 / i5 / i7 CPU's mean?i7 datasheet

  2. 逻辑:总线大小不需要直接影响寻址/可寻址内存(虽然我怀疑 /确实如此)。


  3. 引自http://en.wikipedia.org/wiki/Intel_8088

      

    Intel 8088微处理器是Intel 8086的一种变体,于1979年7月1日推出。它有一个 8位外部数据总线,而不是8086的16位总线。但是,16位寄存器和1兆字节地址范围没有变化。最初的IBM PC基于8088。