您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第二章8086系统.
第二章8086/8088系统结构通过本章的学习,应该掌握以下内容:8086/8088微处理器的结构及指令执行的操作过程8086/8088微处理器的寄存器组织、存储器组织、I/O组织、堆栈8086/8088在最小模式下引脚功能8086/8088微处理器在最小模式下的典型配置8086的操作时序第二章8086/8088系统结构8086:Intel系列的16位微处理器,16条数据线、20条地址线,可寻址地址范围220=1MB,8086工作时,只要一个5V电源和一个时钟,时钟频率为5MHz。8088:内部与8086兼容,也是一个16位微处理器,只是外部数据总线为8位,所以称为准16位微处理器。它具有包括乘法和除法的16位运算指令,所以能处理16位数据,还能处理8位数据。8088有20根地址线,所以可寻址的地址空间达1M字节。第二章8086/8088系统结构主要内容8086CPU的内部结构8086的存储器组织和I/O组织8086CPU的引脚及功能8086在最小模式下的典型配置8086的操作及总线时序8088CPU习题第二章8086/8088系统结构AHALBHBLCHCLDHDLSPBPDISI通用寄存器暂存寄存器ALU标志执行部分控制电路123456CSDSSSESIP内部寄存器总线控制逻辑地址加法器队列总线20位16位8位指令队列寄存器外总线执行部件EU总线接口部件BIU内部16位ALU数据总线段寄存器第二章8086/8088系统结构8086CPU的编程结构编程结构:指从程序员和使用者角度看到的结构,与CPU内部的物理结构和实际布局是有区别的。总线接口单元BIU(businterfaceunit)指令执行单元EU()8086/8088CPU执行程序的操作过程寄存器结构通用寄存器/数据寄存器AX、BX、CX、DX指针和变址寄存器段寄存器控制寄存器R第二章8086/8088系统结构总线接口部件BIU1、功能:完成与存储器或I/O设备之间的数据传输。从程序存储器取指令送到指令队列。CPU执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。2、总线接口部件的组成:四个段地址寄存器CS:16位代码段寄存器;DS:16位数据段寄存器;ES:16位附加段寄存器;SS:16位堆栈段寄存器。第二章8086/8088系统结构16位指令指针寄存器IP(PC)。20位的地址加法器。六字节的指令队列寄存器。说明:指令队列寄存器:在执行指令的同时,将取下一条指令,并放入指令队列寄存器中。CPU执行完一条指令后,可以指令下一条指令(流水线技术)。提高CPU效率。地址加法器:产生20位地址。CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。R第二章8086/8088系统结构执行部件EU1、作用:从指令队列中取出指令。对指令进行译码,发出相应的控制信号。进行算术和逻辑运算。当指令要求访问存储器或I/O接口时,向BIU发出请求,由BIU完成相应的操作。2、执行部件的组成:四个通用寄存器AX、BX、CX、DX:四个通用寄存器都是16位或作两个8位来使用。第二章8086/8088系统结构专用寄存器SP------堆栈指针寄存器;BP------基址指针寄存器DI-------目的变址寄存器;SI-------源变址寄存器算术逻辑单元ALU:完成8位或者16位二进制算术和逻辑运算,计算偏移量。暂存寄存器:协助ALU完成运算,暂存参加运算的数据。执行部件EU的控制电路:从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。R第二章8086/8088系统结构8086/8088CPU执行程序的操作过程20位地址的形成,并将此地址送至程序存储器指定单元,从该单元取出指令字节,依次放入指令队列中。每当8086的指令队列中有2个空字节,8088指令队列中有1个空字节时,总线接口部件就会自动取指令至队列中。执行部件从总线接口的指令队列首取出指令代码,执行该指令。当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。R第二章8086/8088系统结构通用寄存器组16位寄存器AX、BX、CX、DX:暂存算术或逻辑运算的操作数和中间结果、地址。8位寄存器低字节AL、BL、CL、DL、高字节AH、BH、CH、DH:存储8位数据。特殊用法:累加器、基址寄存器、计数寄存器、数据寄存器R第二章8086/8088系统结构指针和变址寄存器组堆栈指针寄存器SP在堆栈操作中存放存储单元(栈顶)的偏移地址。基址指针寄存器BP常用来存放访问内存时的偏移地址,与SS配合使用。源变址寄存器SI、目的变址寄存器DI在字符串操作中用于存放源操作数和目的操作数的偏移地址。说明:存放数据,地址。常用于存放存储单元的偏移地址。R第二章8086/8088系统结构段寄存器组代码段寄存器CS数据段寄存器DS堆栈段寄存器SS附加段寄存器ES存放存储单元的段基址。R第二章8086/8088系统结构控制寄存器指令指针寄存器IP总是指向下一条要执行指令在现行代码段中的偏移地址,用来控制指令序列的执行流程。每取一条指令,BIU自动修改,即IP自动增量。8086程序不能直接访问IP,用户也不可随意改变其值,只有通过转移类指令、调用及返回类指令指针才能修改其值。在用DEBUG程序时还可通过调试命令修改其值。第二章8086/8088系统结构标志寄存器FLAG/PSW/FR16位寄存器,其中有7位未用。状态标志:存放运算结果的特征,影响后面的操作,用作后续条件转移控制指令的转移控制条件。控制标志:用来设置控制条件,对以后的操作产生控制作用。第二章8086/8088系统结构第二章8086/8088系统结构010100111001010010001000100000011101110000010101CF=0PF=0ZF=0SF=1OF=0AF=0DC15H-23EBH例:已知AX=5394H,BX=-777FH,计算两数相加的结果,并判断6个状态标志。R第二章8086/8088系统结构8086存储器组织和I/O组织8086存储器组织存储器的分段物理地址和逻辑地址存储器的分体结构存储内容与存储单元的表示方式对准字、非对准字I/O组织堆栈R第二章8086/8088系统结构存储器的分段存储器的分段逻辑段之间的关系存储器分段的好处R第二章8086/8088系统结构存储器的分段为什么进行存储器分段8086有20根地址线,可访问1MB的存储器地址空间,但内部寄存器都是16位的,无法用寄存器直接对1MB的内存空间进行寻址。如何分段8086把1MB的存储空间分成许多逻辑段,每个逻辑段的长度≤64KB,段内地址连续,段与段之间相互独立。每个逻辑段的起始位置必须能被16整除,即起始地址为XXXX0H。通常把该起始地址的高16位称为该逻辑段的段基址。R第二章8086/8088系统结构逻辑段之间的关系逻辑段和逻辑段之间可以是连续的、分开的、或重叠的。按信息特征分,存储空间可分为程序段、数据段、堆栈段等。CPU当前可以寻址的四个段的基址分别存放在CS、DS、ES和SS中,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段。逻辑段1逻辑段2逻辑段3逻辑段4逻辑段5第二章8086/8088系统结构存储器段寄存器和偏移地址寄存器组合关系R第二章8086/8088系统结构存储器分段的好处使指令系统中的大部分指令仅涉及16位偏移地址,减少了指令长度,提高了程序的执行速度。为程序在内存中的浮动分配创造了条件。由于程序可以浮动地装配在内存任何一个区域。这使得多道程序和多任务程序能充分使用现有的存储器容量。R第二章8086/8088系统结构物理地址和逻辑地址物理地址、逻辑地址物理地址和逻辑地址的关系物理地址的形成逻辑地址的来源R第二章8086/8088系统结构物理地址、逻辑地址物理地址:CPU与存储器之间进行信息交换都需要的地址,是数据或代码在存储器中的实际地址。每个存储单元都有一个物理地址,物理地址是唯一的。绝对地址,存储单元的实际地址。存储器以字节为单位组织,每个存储单元都有一个20位地址,范围为00000H~FFFFFH。逻辑地址:分段概念引入,某存储单元位于某逻辑段内。在程序编写时采用,不唯一。由两部分组成:段基址和偏移地址,其表示方式为:段基址:偏移地址第二章8086/8088系统结构段基址:逻辑段起始地址的高16位。偏移地址:逻辑段内某存储单元相对于段起始地址的偏移量。8086系统中的每个存储单元在1M内存空间中的位置可以用2个形式的地址来表示:物理地址:存储器的绝对地址(实际地址),00000H~FFFFFH,CPU与存储器进行数据交换。逻辑地址:段基址XXXXH:段内偏移地址YYYYH,是在程序编写时采用。R第二章8086/8088系统结构物理地址和逻辑地址之间的关系物理地址=段基址*16+偏移地址例1:某单元逻辑地址为6000:0100H,其物理地址为60100H。例2:某单元逻辑地址为6010:0000H,其物理地址为60100H。说明:物理地址唯一物理地址计算方法是确定的,唯一的,但是同一个物理地址可以由不同的逻辑地址得到。存储单元的逻辑地址是不确定的(不唯一)。R第二章8086/8088系统结构8086/8088CPU中有一个地址加法器,它将段寄存器提供的段地址自动乘以10H即左移4位,然后与16位的偏移地址相加,并锁存在物理地址锁存器中。段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BP、SP等。存储器物理地址的计算方法物理地址的形成当CPU访问存储器时,将根据程序中给出的逻辑地址在BIU的地址物理地址加法器中形成存储器的20位物理地址。R第二章8086/8088系统结构逻辑地址的来源由于访问存储器的操作类型不同,BIU所使用的逻辑地址来源也不同。R第二章8086/8088系统结构8086存储器的分体结构存储体第二章8086/8088系统结构存储体与总线的连接第二章8086/8088系统结构存储体小结A0=0,BHE=0时,奇偶地址存储体分别与低8、高8位数据总线相连,访问奇偶存储体,读写一个字。A0=1,BHE=0时,奇地址存储体分别与高8位数据总线相连,访问奇存储体,从奇地址读写一个字节。c.A0=0,BHE=1时,偶地址存储体分别与低8位数据总线相连,访问偶存储体,从偶地址读写一个字节。d.A0=1,BHE=1时,无效R第二章8086/8088系统结构存储单元、存储内容的表示形式表示形式(01000H)=34H8086/8088中的1MB的存储空间是按字节编址的,但在实际操作中操作数却可能是字节型、字型、双字型。字节型数据可以置于偶地址、可以置于奇地址。(01000H)=34H字型数据在存储器中按相邻的2个字节存放,存入时以数据低字节在低地址,高字节在高地址的次序存放。且字单元的地址以低位地址表示。(00100H)=1234H第二章8086/8088系统结构一个字可以从偶地址开始存放,也可以从奇地址存放。双字在存储器中按相邻4个字节连续存放,存入时数据低位在低地址存放,高位在高地址存放,双字单元的地址以低位地址表示。(001000H)=56781234HR第二章8086/8088系统结构对准字、非对准字8086的读写规则:8086CPU访问存储器是以字为单位,并且总是从偶地址开始。在字节操作时,16位中仅有8位是有用的,其余8位被忽略。一个总线周期对从偶地址单元开始存放的字,16位全有用。一个总线周期对从奇地址单元开始存放的字操作时,就必须对2个连续的偶地址单元用2个存储器访问周期完成,丢掉不需要的一半,然后再做字节变换才能得到所需要的信息
本文标题:第二章8086系统.
链接地址:https://www.777doc.com/doc-2125545 .html