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

来源:互联网 发布:淘宝店分销商 编辑:程序博客网 时间:2024/06/07 19:19

 8088/8086CPU20条地址总线,有220=1048576=1MB1M字节)个存储单元。在机器内部用20位无符号二进制数来表示存储单元地址。用十六进制表示的地址范围为:00000H~FFFFFH8086微处理器是一个16位结构,用户可用的寄存器均为16位。显然,用一个寄存器是无法形成寻址1MB存储器空间所需的地址码的。

    8086/80881M主存空间划分为若干段。每个段由连续的字节单元组成,最大长度为64K(即65536)。可作为独立寻址的逻辑单位。一个段中的代码和数据,可存放在该段内的任意单元中。一个段的起始地址,称为该段的段基地址(20位)。要求段基址的低4位必须为0(可被16整除),段地址存放在段寄存器CSDSSSES中。
   在程序中设置的段称为逻辑段。各逻辑段的大小按实际需要确定,最大为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相比,内部操作有什么改进?
答:80858位机,在执行指令过程中,取指令与执行执令都是串行的。8086/8088由于内部有EUBIU两个功能部件,可重叠操作,提高了处理器的性能。
练习题4. 8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?
答:执行部件有816位寄存器,AXBXCXDXSPBPDISIAXBXCXDX一般作为通用数据寄存器。SP为堆栈指针存器,BPDISI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CSDSSSES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。
练习题5. 8086对存储器的管理为什么采用分段的办法?
答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB20位地址)。若不用分段方法,16位地址只能寻址64KB空间。
练习题6.8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。
答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。
练习题7.给定一个存放数据的内存单元的偏移地址是20C0H,(DS=0C00EH,求出该内存单元的物理地址。
答:0C00EH*10H+20C0H=C21A0H
     物理地址:C21A0H
练习题9.80868088的主要区别是什么?
答:808616条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。

原创粉丝点击