当前位置:首页 > 内存 > 正文

8086内存00000h多大

  • 内存
  • 2024-08-28 20:54:04
  • 7961

一、8086段地址乘以168060的基地址是段地址*16
8086的直接寻址范围是00000H~FFFFFH,即1MB空间。地址码应采用20位二进制码表示。但8086只能处理16位地址,因此建立了一个额外的机制(段寄存器)来管理地址。
将1MB空间分成很多存储段,注意不要超过64KB。约定每个段的首地址(最低地址)必须能被16整除(即二进制地址码的最低四位)。0)。段寄存器表示的段头地址只有高16位,按照上面的规则低4位全为0。
8086中的每个单元都有一个真实的地址(称为物理地址)),这是一个唯一的20位地址,介于00000H到FFFFFH之间。它由段基地址*16加上补偿地址(偏移地址)组成。偏移地址是实际单元位置与段基地址之间的距离。段寄存器指定特定的段,并且偏移地址指向该段内的特定单元。


二、8086CPU的地址线是20根,最大可寻址1MB的存储空间,为什么其物理地址范围从00000H~FFFFFH?答:8086CPU的寻址范围是1MB。因为8086CPU有20条地址线,2^20=1024KB,也就是1MB。在8086系统中,指令只给出16位地址,而寻址寄存器也只有16位长,因此寻址范围只有64KB,而为了寻址1MB,又分为4个逻辑部分。CPU访问内存时,段寄存器的内容(段的基地址)自动左移4位(二进制),并与段内的16位地址偏移量相加,实际形成一个20位地址。
在分段内存中,任何逻辑地址都由两部分组成:段基地址和偏移地址,两者都是16位二进制数。
物理地址:内存的绝对地址,从00000H到FFFFFH,是CPU访问内存时的物理寻址地址(也叫绝对地址)。
将16位段的基地址移位4位(相当于在段基地址最低位后加4个“0”),然后与偏移地址相加,得到物理地址。这相当于完​​成一个操作如下地址:
物理地址=段基地址16位二进制数。
物理地址:内存的绝对地址,从00000H到FFFFFH,是CPU访问内存时的物理寻址地址(也叫绝对地址)。
将16位段的基地址移位4位(相当于在段基地址最低位后加4个“0”),然后与偏移地址相加,得到物理地址。这就相当于完成了一个操作如下地址:
物理地址=段基地址x16+偏移地址