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

8088的内存空间容量

  • 内存
  • 2024-06-11 05:10:34
  • 6180

一、8086微处理器的最大存储空间是多少??8088/8086CPU有20条地址总线和220=1048576=1MB(1MB字节)存储单元。内部使用一个20位无符号二进制数来表示内存单元的地址。以十六进制表示的地址范围为:00000H~FFFFFH。8086微处理器是16位结构,用户可用的寄存器都是16位的。显然,使用寄存器不可能形成寻址1MB存储空间所需的地址码。


二、8086/8088CPU使用的存储器为什么要分段?怎么分段

为什么要把内存分为8086/8088?

最大段大小(以字节为单位)。

最小字节数。

答:-分段的主要目的是为了方便内存管理,从而允许在20位内存空间中使用16位寄存器。

分区最大为64KB,最小为16B。

扩展信息:

单元的起始地址始终是16的倍数。也就是说,如果一个部分的起始地址是0000h,则下一个部分(与第一部分重叠)的起始地址将为0010h(即16),并且下一个部分的起始地址将为0020h(32)。。

分区号由其物理地址的前四个十六进制数字组成。(如:FFF)

通常程序只写入偏移量(段的第一个字节到地址的距离),段号可以通过上下文确定。。补偿金额从0000到FFFF。

参考来源:-分段存储模式


三、8088是如何形成20位物理地址的?详细点……16位段地址左移4个二进制位并加上16位偏移地址。所得总和是20位物理地址。
由于8088有20条地址总线,可寻址的内存空间为2的20-1MB次方,但内部寄存器和数据总线只有16位,所以只能使用16位用于地址计算。也就是说,只能寻址64KB。为了寻址整个1MB空间,使用了分段内存管理。
由于CPU中的寄存器都是16位寄存器,因此系统采用内存分段的方法来提供20位的物理地址。内存段据称为64KB。存储单元的段地址由段寄存器决定。该命令返回该单元相对于相应段起始地址的16位偏移量。