8086/8088微处理器的存储器管理

  • Post author:
  • Post category:其他



8088/8086CPU





20


条地址总线,有


2

20

=1048576=1MB





1M


字节)


个存储单元。在机器内部用


20


位无符号二进制数来表示存储单元地址。用十六进制表示的地址范围为:


00000H~FFFFFH





8086


微处理器是一个


16


位结构,用户可用的寄存器均为


16


位。显然,用一个寄存器是无法形成寻址


1MB


存储器空间所需的地址码的。




8086/8088





1M


主存空间划分为若干段。每个段由连续的字节单元组成,最大长度为


64K


(即


65536


)。可作为独立寻址的逻辑单位。一个段中的代码和数据,可存放在该段内的任意单元中。一个段的起始地址,称为该段的段基地址(


20


位)。要求段基址的低


4


位必须为


0


(可被


16


整除),段地址存放在段寄存器


CS





DS





SS





ES


中。



在程序中设置的段称为逻辑段。各逻辑段的大小按实际需要确定,最大为


64KB


,实际应用时可小于


64KB


,其未用空间可再定义为其它段的空间。因而可出现段的重叠。各逻辑段可以是邻接的、间隔的、部分重叠的和完全重叠的。






8086/8088


微处理器中,描述存储器地址的三个相关术语:


物理地址





偏移地址





逻辑地







物理地址


:是由


8086/8088


芯片地址引线送出的


20


位地址码,它用来参加存储器的地址译码,最终读


/


写所访问的的一个特定的存储单元。




偏移地址


:某个存储单元相对于该段首地址的差值,用


16


位二进制代码。




逻辑地址


:是在程序中对存储器地址的一种表示方法:



逻辑地址


=


段地址


:


偏移地址

物理地址的形成:



物理地址


=


段基地址×


10H +


偏移量



例:


8086/8088


某主存单元的逻辑地址是


: 1234H:000AH


,求其物理地址。

答:则此单元的物理地址为:


1234H


×


10H + 000AH   = 2340H+000AH   =1234AH


练习题1.



8086是多少位的微处理器?为什么?

答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。


练习题2.



EU与BIU各自的功能是什么?如何协同工作?

答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。


练习题3.



8086/8088


与其前一代微处理器


8085


相比,内部操作有什么改进?

答:


8085





8


位机,在执行指令过程中


,


取指令与执行执令都是串行的。


8086/8088


由于内部有


EU





BIU


两个功能部件,可重叠操作,提高了处理器的性能。


练习题4.



8086/8088


微处理器内部有那些寄存器,它们的主要作用是什么?

答:执行部件有


8





16


位寄存器,


AX





BX





CX





DX





SP





BP





DI





SI





AX





BX





CX





DX


一般作为通用数据寄存器。


SP


为堆栈指针存器,


BP





DI





SI


在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器


CS





DS





SS





ES


和指令指针寄存器


IP


。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。


IP


的内容为下一条将要执行指令的偏移地址,与


CS


共同形成下一条指令的物理地址。


练习题5.



8086


对存储器的管理为什么采用分段的办法?

答:


8086


是一个


16


位的结构,采用分段管理办法可形成超过


16


位的存储器物理地址,扩大对存储器的寻址范围


(1MB





20


位地址


)


。若不用分段方法,


16


位地址只能寻址


64KB


空间。


练习题6.






8086


中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如


1234H





0088H


。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个


16


位的二进制代码。物理地址是


8086


芯片引线送出的


20


位地址码,用来指出一个特定的存储单元。


练习题7.



给定一个存放数据的内存单元的偏移地址是


20C0H


,(


DS





=0C00EH


,求出该内存单元的物理地址。

答:


0C00EH*10H+20C0H=C21A0H



物理地址:


C21A0H





练习题9.



8086





8088


的主要区别是什么?

答:


8086





16


条数据信号引线,


8088


只有


8


条;


8086


片内指令预取缓冲器深度为


6


字节,


8088


只有


4


字节。



版权声明:本文为ningxialieri原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。