基于8086的微机原理.ppt

上传人:tia****nde 文档编号:11672719 上传时间:2020-05-01 格式:PPT 页数:102 大小:2.67MB
返回 下载 相关 举报
基于8086的微机原理.ppt_第1页
第1页 / 共102页
基于8086的微机原理.ppt_第2页
第2页 / 共102页
基于8086的微机原理.ppt_第3页
第3页 / 共102页
点击查看更多>>
资源描述
基于8086的微机原理,补充课件参考教材微型计算机原理与接口技术(第四版)(中国科技大学周荷琴吴秀清主编)第2章8086系统结构第3章8086的寻址方式和指令系统第4章汇编语言程序设计,第2章8086系统结构,通过本章学习,应掌握以下内容:8086CPU结构CPU引脚及其功能存储器组织与堆栈总线周期与操作时序8086系统配置,2.18086CPU结构,8086是Intel系列的16位微处理器,采用HMOS工艺制造,有16根数据线和20根地址线,封装在40脚双列直插组件(DIP)中。8086工作时,使用单一的+5V电源,时钟频率为5MHz,引脚信号与TTL电平兼容。8086可寻址的内存地址空间达220,即1MB;8086可寻址的I/O地址空间达216,即64KB;Intel公司在推出8086的同时一年,还推出了一款准16位的CPU8088。8088与8086相比:内部结构相似,软件完全兼容。8086的数据总线是16位的;8088的数据总线是8位的。,2.1.18086CPU的内部结构,8086由执行部件EU(ExecutionUnit)和总线接口部件BIU(BusInterfaceUnit)两部分组成,这两个部件的操作是并行的。EU负责指令的执行;BIU负责CPU与存储器、I/O设备之间的数据传送。,EU,BIU,2,3,4,5,6,1,指令队列,8086CPU的结构框图,暂存器,EU组成:算术逻辑单元(ALU),可完成8位或16位操作数进行算术或逻辑运算;4个16位通用寄存器(AX、BX、CX、DX)4个16位专用寄存器(SI、DI、SP、BP);标志寄存器flags:存放ALU运算结果特征EU控制器:取指令控制和时序控制电路EU功能:负责指令的执行,即:从总线接口部件BIU的指令队列取得指令,执行之后向BIU送回运算结果,并把运算结果的状态特征保存到标志寄存器中。,1.执行部件EU,BIU组成:4个16位段寄存器(DS、CS、ES、SS);指令指针寄存器(IP);20位的地址加法器;6字节指令队列缓冲器;内部暂存器和总线控制逻辑。BIU功能:负责CPU与存储器、I/O设备之间的数据传送。具体包括:取指令送指令队列,配合EU从指定的内存单元或者外设端口中取数据,将数据传送给EU,或者把EU的操作结果传送到指定的内存单元或外设端口中。,2.总线接口部件BIU,1)段寄存器8086采用存储器地址分段的方法来解决在16位字长的计算机里提供20位地址的问题。段寄存器就是专门存放段地址的寄存器,每个段寄存器的值可以确定一个段的起始地址,而各段有不同的用途。8086中有4个16位段寄存器,它们是:CS(代码段寄存器)DS(数据段寄存器)SS(堆栈段寄存器)ES(附加段寄存器),2、总线接口部件BIU,2)指令指针寄存器IP指令指针寄存器IP提供下一条要取出的指令所在存储单元的16位偏移地址。,2、总线接口部件BIU,3)地址加法器8086CPU采用段地址、段内偏移地址两级存储器寻址方式,由一个20位地址加法器根据16位段地址和16位段内偏移地址计算出20位的物理地址PA(PhysicalAddress)。其计算方法是:将CPU中的16位段寄存器内容左移4位(16)与16位的逻辑地址(又称偏移地址)在地址加法器内相加,得到所寻址单元的20位物理地址。根据寻址方式的不同,偏移地址可以来自指令指针寄存器(IP)或其它寄存器。假设(CS)=FE00H,(IP)=0400H,那么下一条要取出的指令所在内存单元的20位物理地址PA=FE00H10H+0400H=FE400H。,2、总线接口部件BIU,4)内部暂存器用于内部数据的暂存,该部分对用户透明,在编程时可不予理会,用户无权访问。,2、总线接口部件BIU,5)指令队列缓冲器8086有6字节指令队列缓冲器;8088有4字节指令队列缓冲器;缓冲器采用“先进先出”策略,暂时存放BIU从存储器中预取的指令。在执行指令的同时,可以从内存中取出下一条或下几条指令放到缓冲器中,一条指令执行完后,可立即执行下一条指令,从而解决了以往CPU取指令期间,运算器的等待问题。,2、总线接口部件BIU,6)总线控制逻辑总线控制逻辑发出总线控制信号,实现存储器的读/写控制和I/O的读写控制。它将CPU内部总线与外部总线相连,是CPU与外部电路进行数据交换的路径。总线控制逻辑控制8086通过20条引脚线分时传送20位地址线、16位数据和4位状态信息。,2、总线接口部件BIU,2.1.2寄存器结构,寄存器是CPU内部用来存放地址、数据和状态标志的部件。8086有4组16位寄存器:通用寄存器(数据寄存器)4个,可分拆成8个8位寄存器;指针和变址寄存器;段寄存器;指令指针和标志寄存器。,8086CPU的寄存器组,1.通用寄存器AX、BX、CX、DX,通用寄存器主要用来存放操作数或中间结果,以减少访问存储器的次数。有:4个16位的寄存器:AX、BX、CX、DX;或分成8个8位的寄存器:AH、AL、BH、BL、CH、CL、DH、DL;这些寄存器均可独立使用。多数情况下,这些数据寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运算。在有些指令中,它们则有特定的用途。这些寄存器的用法见下表所示。,1.通用寄存器AX、BX、CX、DX,1.通用寄存器AX、BX、CX、DX,EU中有2个地址指针寄存器SP、BP和2个变址寄存器SI、DI。用法如下表所示:,2.指针和变址寄存器SP、BP、SI、DI,3.段寄存器,8086内部设置了4个16位的段寄存器,用于存放当前程序所用的各段的起始地址的高16位:CS(CodeSegment),称为代码段寄存器,存放当前执行的程序所在段的起始地址。其值乘以16再加上IP的值,就形成了下一条要取出指令所在的内存单元的物理地址。DS(DataSegment),称为数据段寄存器,存放当前数据段的起始地址。其值乘以16再加上指令中存储器寻址方式指定的偏移地址,就形成了要进行读/写的数据段中指定内存单元的物理地址。,3、段寄存器,SS(StackSegment),称为堆栈段寄存器,存放当前堆栈段的起始地址。堆栈是按照“后进先出”原则组织的一个特殊内存区域。堆栈操作数的地址由SS的值乘以16再加上SP的值形成。ES(ExtraSegment),称为附加段寄存器,存放当前附加段的起始地址。附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目标操作数的存放区域。,4.16位指令指针寄存器IP,指令指针寄存器IP(InstructionPointer)存放当前代码段中的偏移地址,它与CS联用,可以形成下一条要取出指令的物理地址。程序不能直接对IP进行存取,但能在程序运行中被自动修改。例如,控制器取到要执行的指令后,会立刻修改IP值,使之指向下一条指令的首地址;转移、调用、返回等指令执行,就是通过修改IP的值来控制指令序列的执行流程的。,5.标志寄存器flags,flags是一个16位的寄存器。9个位用作标志位:状态标志位有6个,记录程序中运行结果的状态信息,是根据指令的运行结果由CPU自动设置的。这些状态信息通常作为后续转移指令的转移控制条件,所以也称为条件码。控制标志位有3个,可以编程设置,用于控制处理器执行指令的方式。控制标志设置之后,可对后面的操作产生控制作用。未标明的位在8086中不用。,5、标志寄存器flags进位标志,5、标志寄存器flags奇偶标志,5、标志寄存器flags辅助进位标志,5、标志寄存器flags零标志,5、标志寄存器flags符号标志,5、标志寄存器flags溢出标志,5、标志寄存器flags单步标志,5、标志寄存器flags中断允许标志,5、标志寄存器flags方向标志,状态标志的状态表示在PC中,可由调试程序(DEBUG)显示出来。对应符号如下表所示:,5、标志寄存器flags标志位符号值,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,16位的flags,只用9位其中:状态标志6位,控制标志3位,【解】先求-777FH的补码:原码:1111011101111111反码:1000100010000000补码:1000100010000001再做加法运算:0101001110010100+10001000100000011101110000010101结果标志位为:CF=0(NC)、PF=0(PO)、AF=0(NA)ZF=0(NZ)、SF=1(NG)、OF=0(NO),例:将5394H与-777FH相加,并说明其标志位的状态。,2.28086CPU引脚及其功能,根据8086CPU的功能,应该包括20位地址线,16位数据线以及若干个控制线。限于当时集成电路工艺条件,采用分时复用方式,只引出40个引脚。有两种工作模式:最小模式和最大模式2431的8条引脚在两种模式下有不同的用法,2.28086CPU的引脚及其功能,当把8086CPU与存储器、外设构成一个计算机系统时,根据所连的存储器和外设的规模,8086CPU具有两种不同的工作模式来适应不同的应用场合:最小模式最大模式8086的工作模式由硬件设计决定:引脚连电源(5V),则8086处在最小模式;引脚接地,则8086处在最大模式。,MN/MX,MN/MX,DIP封装引脚图,最小模式,最小模式也称为单处理器模式,是指系统中只有一片8086微处理器,所连的存储器容量不大、片子不多,所要连的I/O端口也不多,系统的控制总线就直接由CPU的控制线供给,从而使得系统中的总线控制电路被减到最少。最小模式适用于较小规模的系统。,最大模式,最大模式是相对于最小模式而言的,适用于中、大型规模的系统。在最大模式的系统中有多个微处理器,其中一个是主处理器8086,其他的处理器称为协处理器,承担某方面专门的工作。和8086配合的协处理器有数值运算协处理器8087,和输入/输出协处理器8089。8086通过一个总线控制器8288来形成各种总线周期,控制信号由8288供给。,2.2.18086CPU的引脚定义,描述方面:引脚的功能信号的有效电平信号的流向引脚的复用三态能力,数据总线为16位地址总线为20位40条引脚部分引脚分时复用,引脚及信号流向图,1、两种工作模式的公共引脚,1、两种工作模式的公共引脚,状态信息S6总是为低电平。S5反映当前允许中断标志的状态,允许中断时S51,禁止中断时S50。S4与S3一起指示当前哪一个段寄存器被使用。其规定如表所示。,1、两种工作模式的公共引脚,BHE与A0结合使用,1.两种工作模式的公共引脚,1.两种工作模式的公共引脚,1.两种工作模式的公共引脚,1.两种工作模式的公共引脚,1.两种工作模式的公共引脚,1.两种工作模式的公共引脚,1.两种工作模式的公共引脚,与模式有关的引脚-共有8条,2.最小模式下的引脚,2.最小模式下的引脚,2、最小模式下的引脚,2.最小模式下的引脚,2.最小模式下的引脚,2.最小模式下的引脚,2.最小模式下的引脚,3.最大模式下的引脚,QS1和QS0的组合与对应的操作,3.最大模式下的引脚,3.最大模式下的引脚,3.最大模式下的引脚,S2、S1、S0的组合与对应的操作,8088与8086的引脚差别,8088,8088,8086,8086,2.38086微型计算机系统,2.3.18086微型计算机系统的硬件组成1.系统硬件组成的特点8086微型计算机系统的硬件组成出了包括8086微处理器外,还需要其他的部件。8086不同的工作模式对系统的硬件组成有不同的要求,其中共同之处有:时钟发生器8284(1片,提供时钟)地址锁存器8282(3片,锁存地址信息)数据收发器8286(2片,增加数据总线的驱动能力),3.3.18086微型计算机系统的硬件组成,2.最小模式系统的硬件组成,3.3.18086微型计算机系统的硬件组成,3.最大模式系统的硬件组成,2.3.28086微型计算机系统的存储器组织,存储器是计算机的记忆部件,用来存放程序和数据。按所在的位置,存储器可以分成主存储器和辅助存储器。主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成,其成本高,容量小,但速度快。辅助存储器可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低,容量大,但速度较慢。,1.8086的存储器空间,8086中本身没有存储器,这里是指以8086为CPU的计算机系统的存储空间;存储单元8086的存储器空间由若干存储单元组成;每个字节为一个内存单元,它具有唯一的地址码。存储单元的内容指的是存放在存储单元中的数据;数据可以是字节、字和双字。存储容量存储器能够存放数据的最大字节数;与地址线多少相关,8086有地址线20根,故8086计算机系统中,可寻址的存储空间最大可以是220=1M字节。,1.8086的存储器空间,存储单元地址即为存储单元的编号,用无符号整数来表示(编程用十六进制表示);8086物理地址范围从00000HFFFFFH。数据在存储单元的存放高高低低(高字节存放在高地址,低字节存放在低地址);多字节数据以最低字节的地址为准;8086CPU对字/字节的读写以从偶地址开始,16位为单位进行操作。,1.8086的存储器空间,如图所示:20110H单元20113H单元存放的内容依次是12H、34H、56H、78H;(20110H)=12H表示字节单元20110H的内容是12H;(20110H)=3412H表示字单元20110H的内容是3412H;(20110H)=78563412H表示双字单元20110H的内容是78563412H。(20111H)=34H表示字节单元20111H的内容是34H;(20111H)=5634H表示字单元20111H的内容是5634H;,2.存储器的分段管理,尽管8086CPU提供20位地址,但8086中可用来存放地址的寄存器如IP、SP、BX、SI等都是16位的,只能直接寻址64KB;为了对1M个存储单元进行管理,8086CPU采用了典型的存储器分段技术。,2.存储器的分段管理,将整个存储器空间分为许多逻辑段每个逻辑段的容量64KB字节;各个逻辑段之间可以紧密相连,也可以互相重叠;对存储器的寻址操作采用段地址加段内偏移地址的二级寻址方式;对于任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间。,2.存储器的分段管理,分段后,对存储器的寻址操作不再直接用20位的物理地址,而是采用段地址+段内偏移地址的二级寻址方式。段地址在8086存储空间中,把16个字节的存储空间称作一节(Paragraph),通常分段时要求各个逻辑段从节的整数边界开始,这样段首地址低4位应该是“0000”,因此就把段首地址的高16位称为“段基址(段地址)”段地址是无符号的16位二进制数,存放在段寄存器DS、CS、SS或ES中,这些段分别称为数据段、代码段、堆栈段和附加段。,2.存储器的分段管理,偏移地址把某一存储单元相对于段首地址的偏移量称为偏移地址(也称有效地址EA)。偏移地址也是无符号的16位二进制数,存放在IP、SP、BX、SI、DI、BP中或直接出现在指令中。,2.存储器的分段管理,逻辑地址采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为:段地址:偏移地址逻辑地址是物理地址的一种表示方式,不是唯一的。例如:逻辑地址2000H:1300H、2120H:0100H和2100H:0300H表示的是同一个存储单元21300H。,2.存储器的分段管理,物理地址物理地址(PA)是存储单元的绝对地址,20位,是CPU访问存储器的唯一的实际地址,每个存储单元对应一个物理地址;8086的存储空间物理地址范围是00000HFFFFFH,2.存储器的分段管理,物理地址由逻辑地址形成物理地址=段地址10H偏移地址CPU中,这个过程由地址加法器完成;例如,逻辑地址2000H:1300H,所代表的物理地址为:PA=2000H241300H=20000H1300H=21300H,微型计算机系统的外部设备各式各样,8086CPU和外部设备之间是通过I/O接口芯片进行联系;每个I/O芯片上都有一个端口或几个端口,一个端口往往对应于芯片上的一个寄存器或一组寄存器;微机系统要为每个端口分配一个地址,我们把这个地址叫作端口地址或端口号;各个端口号具有唯一性;,3.3.38086微型计算机系统的I/O组织,统一编址将I/O端口和存储单元统一编址,即把I/O端口也看作是存储单元。优点:可利用存储器的寻址方式来寻址I/O端口。缺点:I/O端口占用了存储空间,而且进行I/O操作时,因地址编码较长,导致速度较慢。独立编址将I/O端口和存储单元分开编址,即I/O端口空间与存储空间相互独立。优点:不占用内存空间;使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单。缺点:只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。,3.3.38086微型计算机系统的I/O组织,I/O端口有两种编址方式:,8086采用独立编址方式,使用A15A0这16条地址线作端口地址,可访问的I/O端口最多可有64K个8位端口或32K个16位的端口,A19A16总是为0;一个8位端口相当于一个存储器字节,分配0000FFFFH中的一个地址。任何两个相邻的8位端口可以组合成一个16位端口,类似于存储器中的字。8086中,有专门的指令来访问I/O接口,如输入指令IN,输出指令OUT。,3.3.38086微型计算机系统的I/O组织,2.4.1基本概念微型计算机系统的所有操作都按统一的时钟节拍进行。CPU执行指令时涉及三种周期:时钟周期总线周期指令周期,3.48086微型计算机系统的总线时序,2.48086微机系统的总线时序,1、时钟周期,计算机是一个复杂的时序逻辑电路,时序逻辑电路都有“时钟”信号。计算机的“时钟”是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期(ClockCycle),又称为T状态。计算机是在时钟脉冲的统一控制下,一个节拍一个节拍地工作的。时钟周期是微机系统工作的最小时间单元,取决于系统的主频率,系统完成任何操作所需要的时间,均是时钟周期的整数倍。例如,IBM-PC机时钟频率为4.77MHz,一个T状态为210ns,2、总线周期,当CPU访问M或I/O端口,需要通过总线进行读或写操作。与CPU内部操作相比,通过总线进行的操作需要较长的时间。把CPU通过总线进行某种操作的过程称为总线周期(BusCycle),表示从M或I/O端口存取一个数据所需的时间。根据总线操作功能的不同,分为:存储器读周期存储器写周期I/O读周期I/O写周期一个基本的总线周期由4个时钟周期组成(T1、T2、T3、T4)。,一个基本的总线周期,2、总线周期,在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟周期等待状态Tw。只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。可见,如果在一个总线周期之后,不立即执行下一个总线周期,那么,系统总线就处在空闲状态,此时,执行空闲周期TI。,3、时钟周期,每条指令的执行包括取指令(fetch)、译码(decode)和执行(execute)。指令周期是指执行一条指令所用的时间。指令周期是由1个或多个总线周期组合而成。或者说,指令周期可以被划分为若干个总线周期。8086中不同指令的指令周期是不等长的。对于8086CPU来说,在EU执行指令的时候,BIU可以取下一条指令。由于EU和BIU可以并行工作,8086指令的最短执行时间可以是两个总线周期,一般的加、减、比较、逻辑操作是几十个时钟周期,最长的为16位乘除法约要200个时钟周期。,三者关系:,2.4.2最小模式下的总线周期时序,1.最小模式下的读周期时序读周期是指CPU从存储器或I/O端口读取数据的总线周期。,2.4.2最小模式下的总线周期时序,2.最小模式下的写周期时序写周期是指CPU中的数据送到存储器或I/O端口的总线周期。,3.4.2最小模式下的总线周期时序,3.中断响应周期时序中断是指CPU中止当前程序的执行,而去执行一个中断服务程序的过程。8086可以处理256种不同的中断,分为硬件中断和软件中断。硬件中断是由外部设备引发的,分为非屏蔽中断和可屏蔽中断两类。非屏蔽中断是通过CPU的NMI引脚引入的,其请求信号为一上升沿触发信号,并要求维持两个时钟周期的高电平。当有非屏蔽中断请求时,不管CPU正在做什么事情,都会响应,级别很高。,3.4.2最小模式下的总线周期时序,一般外部设备的中断是通过INTR引脚向CPU发出中断请求的,这个可屏蔽中断请求信号的有效电平(高电平),必须维持到CPU响应中断为止。若标志IF1,表示CPU允许中断,此时CPU在执行完当前指令后响应中断,其中断响应周期时序如下图所示。,3.4.2最小模式下的总线周期时序,4.8086的复位时序(对两种模式都一样)RESET引脚是用来启动或重新启动系统的。外部来的复位信号RST经8284同步为内部RESET信号,如下图所示。,3.4.2最小模式下的总线周期时序,5.总线保持请求与响应周期时序当系统中CPU之外的总线主设备需要占用总线时,就向CPU发出一个有效的总线保持请求信号HOLD,这个HOLD信号可能与时钟信号不同步。CPU在每个时钟周期的上升沿进行检测,当检测到该信号时,在当前总线周期的T4后或下一个总线周期的T1后,CPU发出一个有效的保持响应信号HLDA,并让出总线,此时,进入了DMA传送过程。当DMA传送结束后,发出总线保持请求的设备将HOLD恢复为低电平,CPU才收回总线控制权。这个过程称为总线保持请求与响应周期,如下图所示。,2.4.3最大模式下的总线周期时序,1.最大模式下的读周期时序,2.4.3最大模式下的总线周期时序,2.最大模式下的写周期时序,2.4.3最大模式下的总线周期时序,3.最大模式下的总线请求/允许/释放操作8086在最大模式下提供的总线控制联络信号是具有双向传输信号的引脚,称之为总线请求/总线允许/总线释放信号。它们可以分别连接到两个其它的总线主模块。在最大模式下,可发出总线请求的总线主模块包括:协处理器和DMA控制器等。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!