您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>主机配件>cpu>

8086的存储器组织 - 8086cpu由哪两部分组成_8086CPU内部结构图分享

2018年04月16日 12:29 网络整理 作者: 用户评论(0

  8086的存储器组织

  1.存储容量

  8086有20根地址总线,因此,它可以直接寻址的存储器单元数为220=1Mbyte

  2.物理地址

  8086可直接寻址1Mbyte的存储空间,其地址区域为00000H—FFFFFH,与存储单元一一对应的20位地址,我们称之为存储单元的物理地址。

  3.存储器的分段及段地址

  由于CPU内部的寄存器都是16位的,为了能够提供20位的物理地址,系统中采用了存储器分段的方法。规定存储器的一个段为64KB,由段寄存器来确定存储单元的段地址,由指令提供该单元相对于相应段起始地址的16位偏移量。

  这样,系统的整个存储空间可分为16个互不重叠的逻辑段,如图2-3所示。存储器的每个段的容量为64KB,并允许在整个存储空间内浮动,即段与段之间可以部分重叠、完全重叠、连续排列,非常灵活,如图2-4所示。

8086cpu由哪两部分组成_8086CPU内部结构图分享

  4.偏移地址

  偏移地址是某存储单元相对其所在段起始位臵的偏移字节数,或简称偏移量。它是一个16位的地址,根据指令的不同,它可以来自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX等)。

  5.物理地址的形成

  物理地址是由段地址与偏移地址共同决定的,段地址来自于段寄存器(CS、DS、ES、SS),是十六位地址,由段地址及偏移地址计算物理地址的表达式如下:

  物理地址=段地址×16+偏移地址

  例如:系统启动后,指令的物理地址由CS的内容与IP的内容共同决定,由于系统启动的CS=0FFFFH,IP=0000H,所以初始指令的物理地址为0FFFF0H,我们可以在0FFFF0H单元开始的几个单元中,固化一条无条件转移指令的代码,即转移到系统初始化程序部分。

  6.存储器分段组织带来存储器管理的新特点

  首先,在程序代码量、数据量不是太大的情况下,可使它们处于同一段内,即使它们在64Kbyte的范围内,这样可以减少指令的长度,提高指令运行的速度;

  其次,内存分段为程序的浮动分配创造了条件;

  第三,物理地址与形式地址并不是一一对应的,举例:6832H:1280H,物理地址为695A0H。

  第四,各个分段之间可以重叠

  7.特殊的内存区域

  8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如:中断矢量区:00000H—003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共256×4=1024=1K

  显示缓冲区:B0000H—B0F9FH约4000(25×80×2)字节,是单色显示器的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码;B8000H—BBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏幕显示象素的代码。

  启动区:FFFF0H—FFFFFH共16个单元,用以存放一条无条件转移指令的代码,转移到系统的初始化部分。


非常好我支持^.^

(22) 44.9%

不好我反对

(27) 55.1%

( 发表人:姚远香 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!