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

Memory 8086在RAM中的一个内存地址中存储多少位?,memory,x86,cpu,ram,memory-address,Memory,X86,Cpu,Ram,Memory Address,8086的地址总线为20位宽。这意味着它可以在RAM中寻址1048576个不同的地址。由于8086可以处理的最大内存是1个MiB,因此单个内存单元可以存储1个字节 因此,像0xffff0这样的随机逻辑地址具有8位或1字节的“存储” 现代核心i7有一个36位的地址总线,这意味着他可以寻址68719476736个不同的地址。通过每个逻辑地址一个字节,他可以处理68719476736字节或64 GiB,这正是Core i7可以处理的最大内存 我认为这个解释正确吗 因此,30年来,逻辑内存地址的最大存储

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

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

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

我认为这个解释正确吗


因此,30年来,逻辑内存地址的最大存储量正好是1字节。

首先:你似乎在陈述观点。这不是一个论坛

第二,我认为你在逻辑和事实上都错了

  • 事实:i7只能处理24Gb,不能处理64Gb(请参阅和)

  • 逻辑:总线大小不需要直接影响寻址/可寻址内存(尽管我怀疑它通常会影响)


  • 引自:

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

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

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


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

    好吧,那么维基百科上的声明是错误的,但我的8086对吗?8086。。。它是英特尔家族中的第一个16位处理器;但它与8088(8位总线)向后兼容。因此,我假设出于这个原因,它保持字节寻址。我不确定80[23456]86是如何演变的——386保护模式的引入可能从根本上改变了范式(但处理器仍然具有兼容模式,其行为与旧的80186类似)——我建议您查阅更多关于寻址模型的文章,以获取权威信息。同时,您为什么要关心8086(1978年至1990年代生产的
    )的细节?现代x86也有128位加载/存储指令(使用SSE向量或CMPXCHG16B),甚至还有256位AVX。Soon(AVX512),512位(64字节)向量,一次在完整缓存线上运行。