西南交大微机原理教师第2章PPT优秀课件

上传人:无*** 文档编号:155946012 上传时间:2022-09-25 格式:PPT 页数:63 大小:907KB
收藏 版权申诉 举报 下载
西南交大微机原理教师第2章PPT优秀课件_第1页
第1页 / 共63页
西南交大微机原理教师第2章PPT优秀课件_第2页
第2页 / 共63页
西南交大微机原理教师第2章PPT优秀课件_第3页
第3页 / 共63页
资源描述:

《西南交大微机原理教师第2章PPT优秀课件》由会员分享,可在线阅读,更多相关《西南交大微机原理教师第2章PPT优秀课件(63页珍藏版)》请在装配图网上搜索。

1、第二章:8086微处理器及其系统结构1本章学习目的1.掌握微处理器的编程结构2.掌握标志寄存器F各位的含义、作用及DEBUG运行后标志位的表示方法3.了解8086微处理器的主要引脚功能4.掌握8086系统的存储器组织结构及堆栈的活动情况5.掌握8086的时钟及其发生电路,记住系统复位后各寄存器的状态2第一节:8086微处理器内部结构3指令和程序若干条指令构成程序4机器指令操作码+操作数执行5取指1执行1取指2执行2取指3执行3取指4执行4取指5取指1执行1取指2执行2取指3执行3取指4执行4取指5执行5顺序解释重叠解释指令解释方式微处理器解释一条指令的完整步骤可以归纳为如下两个阶段:取指:从内

2、存中取出指令,明确指令规定的功能;执行:分析指令要求实现的功能,读取所需要的操作数,执行指令规定的操作,并保存执行结果。时 间指令和程序的解释过程5AHALBHBLCHCLDHDLSPBPSIDI68086微处理器的内部结构地址总线(20位)CSDSESSS通用寄存器AXBXCXDX地 址形成器数据总线(16位)段寄存器暂存寄存器ALU标志寄存器EU控制系统IP内部通信寄存器ALU数据总线(16位)队列总线(8位)指令队列缓冲器1 2 3 4 5 68086逻辑总线执行部件(EU)总线接口部件(BIU)图2-2 8086 CPU内部结构指令指针总线控制78086/8088CPU的内部是由两个独

3、立的工作部件构成,分别是总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。图中虚线右半部分是BIU,左半部分是EU。两者并行操作,提高了CPU的运行效率。下面分别介绍BIU和EU两者的功能8总线接口部件BIU功能:实现8086 CPU与存储器和外部设备之间的数据传送。任务:(1)从内存取指令指令队列缓冲器;(2)取数据到运行单元进行运算并将运算结果送到目的单元(内存或外设端口);(3)重叠实现取指令与执行指令!指令队列缓冲器结构:指令队列缓冲器为6字节(8088只有4字节)容量的FIFO。设立指令队列缓冲器的目的是为了实现重叠解释指令。工

4、作原理:缓冲器中只要有一条指令,EU就开始执行;缓冲器中只要有两个字节为空,BIU便自动执行取指操作;当EU执行完转移、调用和返回等切换程序流程的指令时,缓冲器中原来的内容将被清除,BIU从内存中新的位置开始重新预取指令填入队列中。910地址发生器组成:地址加法器、指令指针IP和段寄存器。设立地址加法器的目的:8086CPU地址总线有20位,而内部地址寄存器都是16位,需要加法器形成20位地址。工作原理:段寄存器内容16偏移地址(IP或指令中的操作数地址给出)。11执行部件EU功能:执行指令并暂时存储运算结果结构:(1)16位算术逻辑单元ALU;(2)16位标志寄存器F;(3)数据暂存寄存器(

5、与编程无关,不对用户开放)(4)通用寄存器组:AX、BX、CX、DX-数据寄存器SP、BP-指针寄存器SI、DI-变址寄存器(5)EU控制电路:内部电路,不对用户开放12编程模型8086 CPU的编程模型程序设计者所看到(或程序可见)的8086CPU即为该CPU的编程模型。包括三个部分:寄存器组存储器I/O资源AH ALBH BLCH CLDH DL138086CPU的寄存器结构专用寄存器通用寄存器段寄存器AX 累加器BXCXDX基址寄存器计数寄存器数据寄存器SPBPSIDICSDSESSS堆栈指针基址指针源变址寄存器目的变址寄存器代码段寄存器数据段寄存器附加段寄存器堆栈段寄存器IPF指令指针

6、标志寄存器数据寄存器指针寄存器变址寄存器通用寄存器(1)数据寄存器:用于存放8 位或16 位的二进制操作数,这些操作数可以是参加操作的原始数据、运算得到的中间结果,也可以是操作数的地址。大多数算术和逻辑运算指令都可以使用这些寄存器。在8086微处理器中,数据寄存器有4个:累加器AX(Accumulator)、基址寄存器BX(Base)计数寄存器CX(Count)、数据寄存器DX(Data)每个16位数据寄存器又可分为高8位(AH、BH、CH和DH)和低8位(AL、BL、CL和DL),并可分别寻址,独立操作。14(2)指针寄存器和变址寄存器指针寄存器和变址寄存器一般用来存放地址偏移量,堆栈操作和

7、变址运算中计算操作数的有效地址。指针寄存器指的是堆栈指针寄存器SP(Stack Pointer)和基址指针寄存器BP(Base Pointer),其中SP用来指示堆栈顶部单元的位置,实现堆栈操作,而BP用来存放在现行堆栈段中的一个数据区的基地址。变址寄存器包括源变址寄存器SI(Source Index)和目的变址寄存器DI(Destination Index),分别用来存放源操作数和目的操作数的偏移地址。15寄存器操 作AX1)在字乘字除指令中作累加器;2)在字I/O操作时作数据寄存器。AH1)在字节乘字节除指令中存放结果;2)在LAHF中作目的寄存器。AL1)在字节乘字节除指令中作累加器;2

8、)在字节I/O操作时作数据寄存器;3)BCD、ASCII码数据运算时作累加器;4)在XLAT指令中作累加器。BX1)间接寻址时作地址寄存器和基址寄存器;2)在XLAT指令中作基址寄存器。CX1)串操作时作串长计数器;2)循环操作时作循环次数计数器。CL移位操作时作移位次数计数器。DX1)字乘字除指令中作辅助寄存器;2)I/O指令间接寻址时作端口地址寄存器。SP堆栈操作时作堆栈指针。SI1)间接寻址时作地址寄存器和变址寄存器;2)串操作时作源变址寄存器。DI1)间接寻址时作地址寄存器和变址寄存器;162)串操作时作目的变址寄存器。在某些指令中,以上各通用寄存器具有特定的用途,称为寄存器的隐含用法

9、。17指令指针IP指令指针IP是一个16位专用寄存器,程序运行时,它始终指向EU要执行的下一条指令所在单元。当EU执行本条指令时,IP中的内容自动增量,以指向下一条指令所在的内存单元。需要注意的是,程序中不能随意对IP进行存取操作,只有转移指令、子程序调用和返回指令以及中断处理时才能对IP的内容进行修改和设置。段寄存器8086系统对内存实行分段管理,在BIU中有4个16位的段寄存器,专门用于存放各段在内存中的起始地址(段基址)。这4个段寄存器是:代码段寄存器CS(Code Segment),指向当前代码段;数据段寄存器DS(Data Segment),指向当前数据段;附加段寄存器ES(Extr

10、a Segment),指向当前附加段;堆栈段寄存器SS(Stack Segment),指向当前堆栈段1M字节的地址是分段寻址的,分段是个动态概念。段基址与具体程序无关18标志寄存器F标志寄存器位于EU中,它是一个16 位的寄存器,但实际上只用了其中9位。根据各位的作用和含义,各标志位又分为状态标志位和控制标志位两大类。19D15D0OF DF TF IF SF ZFAFPFCF(1)状态标志位进位标志CF(Carry Flag)-反映算术运算后最高位是否出现进位或借位,有则为“1”,无则为“0”。辅助进位标志AF(Auxiliary Flag)-反映运算结果的低4位是否向高位产生进位或借位,有

11、则为“1”,无则为“0”。奇偶标志PF(Parity Flag)-反映指令执行结果低8位数据中1的个数是否为偶数,若是则该位置“1”,否则置“0”。2021零标志ZF(Zero Flag)-反映运算结果是否为零,若是,则该位置“1”,否则置“0”。符号标志SF(Sign Flag)-反映运算结果最高位的状态,并与运算结果最高位状态相同。表明了本次运算的结果是正还是负。溢出标志OF(Overflow Flag)-反映带符号数进行算术运算后是否有溢出,有则为“1”,无则为“0”。22(2)控制标志位用于对CPU的某些操作实施控制,并且都可以在程序中用相应的指令来设置其状态。方向标志DF(Direc

12、tion Flag)用于控制串操作指令执行时的步进方向,该位为“1”,则串操作指令按地址递减的顺序对串进行操作,0按地址递增的顺序进行操作。中断允许标志IF(Interrupt Flag)指示是否允许系统响应外部的可屏蔽中断请求,该位为“1”,表示允许(开中断),否则表示禁止(关中断)。23陷阱标志TF(Trace Flag)当该位为“1”时,CPU每执行完一条指令便自动产生一个内部中断,并转去执行一个中断服务程序,可以借助该中断服务程序来检查每条指令的执行情况,称为“单步工作方式”,常用于程序的调试。24BEBUG中标志的表示NV 等价于OF=0,OV 等价于OF=1UP 等价于DF=0,D

13、N 等价于DF=1DI 等价于IF=0,EI等价于IF=1PL 等价于SF=0,NG 等价于SF=1NZ 等价于ZF=0,ZR 等价于ZF=1NA 等价于AF=0,AC 等价于AF=1PO 等价于PF=0,PE 等价于PF=1NC等价于CF=0,CY 等价于CF=1四8088与8086在内部结构上的比较Intel 8088是准16位CPU,其内部采用16位结构,与8086基本相同,外部数据总线宽度为8位。8088内部也包括两大功能部件,其中EU与8086完全一样,只是BIU略有区别:8086 指令队列是6 字节长,而8088 指令队列只有4 字节长;对于8086微处理器,当指令队列缓冲器中有2

14、个字节变空时,BIU便自动执行取指操作;而对于8088,只要指令队列缓冲器中有1个字节变空便自动执行取指操作。25第二节:8086微处理器引脚功能26引脚信号安排GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLAKGAND12345403938373667353489101112131415161718192033323130292827262524232221VccAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO

15、(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU40引脚DIP封装(双列直插)278086是Intel公司的第三代微处理器16位微处理器。特点:采用分时复用技术,在不同时刻通过相同引脚传送不同的信息,从而减少了引脚数量。在两种不同的工作方式下,部分引脚具有两种不同的功能定义。引脚功能8086的40条引脚信号按功能分为4部分,即地址总线、数据总线、控制总线以及其它(时钟和电源)29引脚功能1.地址总线和数据总线数据总线:在CPU和内存(或I/O设备)之间传递数据,为16位双向三态总线地址总线:传送 CPU产生的内存单元(或I/O端

16、口)的地址。为20位输出三态总线 AD15AD0为地址数据分时复用总线。每个总线周期的开始,用作地址总线的低 16位,传输地址其它时间作为数据总线,用于传输数据。30S4S3状态(所使用的寄存器)00ES01SS10CS11DS A19A16/S6S3为地址状态分时复用总线:在每个总线周期开始,用作地址总线的高4位,以给出内存单元的高4位地址;在I/O操作时,这4位置“0”。在总线周期的其它时间,这4条信号线指示CPU的状态信息,其中,S6恒为低电平;S5反映标志寄存器中IF的当前值,S4和S3表示正在使用哪个段寄存器。31 BHE/S7为地址高允许状态分时复用引脚。在总线周期的开始,作为数据

17、总线高半部分允许信号,当BHE/S7为低电平时,将读写的8位数据与AD15AD8接通,该信号与地址总线的最低位A0 配合以决定传送的数据字中高字节是否有效,传送的是16位还是8位数据。在总线周期的其它时间,该引脚输出备用状态信号S7。322.控制总线控制总线是传送控制信号的一组信号线,其中有些是输出线,用来传送CPU送至其它部件的控制命令;有些是输入线,由外部向CPU输入状态及请求信号(复位、中断请求等)。8086的控制总线中有一条MN/MX线,即最小最大方式控制线,用于决定8086的工作方式。当其接5V时,8086处于最小方式;当其接地时,8086处于最大方式。33有些引线的功能与方式无关以

18、下几条不受MN/MX影响的控制线:读控制信号RD,三态,输出。准备就绪信号READY,输入。可屏蔽中断请求信号INTR,输入。非屏蔽中断请求信号NMI,输入。当该引脚上产生从低电平到高电平的正跳变时,表示外部向CPU发出非屏蔽中断请求。等待测试控制信号TEST,输入。复位信号RESET,输入。当其为高电平时,系统进入复位状态。343.其它信号 时钟信号CLK,输入,该信号为8086提供基本的定时脉冲。电源Vcc,输入。要求接5 V10%。地线GND。3536工作方式8086有最小和最大两种基本的工作方式,最小方式一般用于构成一个小型的单处理机系统,而最大方式一般用于多处理机系统。在最小方式下,

19、8086微处理器提供系统所需的全部控制信号;在最大方式下,由总线控制器8288提供系统的总线控制信号。37最小工作方式下M/IO为存储器输入输出控制信号,输出,三态。用于指示当前CPU是访问存储器(M/IO为高电平)还是I/O端口(M/IO为低电平)。DT/R为数据发送接收信号,输出,三态。用于指示CPU 是 进 行 读 操 作(DT/R 为 低 电 平)还 是 写 操 作(DT/R为高电平)。DEN为数据允许信号,输出,三态。在CPU访问存储器或I/O端口的总线周期的后一段时间,该信号有效,用作系统中总线收发器的允许控制信号。WR写控制信号,输出,三态。用于指示CPU在进行对存储器或I/O进

20、行写操作。ALE 为地址锁存允许信号(输出)。8086在总线周期的开始通过地址总线输出地址的同时,通过该引脚输出一个正脉冲,其下降沿用于将地址信息打入外部的地址锁存器中。INTA 为中断响应信号(输出,三态)。当8086响应来自INTR引脚的可屏蔽中断请求时,通过该引脚输出连续的两个负脉冲。3839时 钟发生器CLKREADYRESETMN/MX最小方式下的基本配置RDWRM/IOALEBHEA19A16AD15AD0地 址锁存器总 线收发器DENDT/R存储器I/O接口VCC8086 CPU数据总线地址总线BHE控制总线40时钟发生器为8086(8088)以及其它外设芯片提供所需的时钟信号。

21、常用的时钟发生器驱动器芯片为8284。常用的地址锁存器有Intel 8282、Intel8283、74LS273、74LS373等。对8086系统来说,由于要锁存的信息共有21位,所以至少需要3片锁存器芯片,每片锁存8位信息。总线收发器用来对AD15AD0上的数据进行缓冲和驱动,常用的总线收发器还有74LS245、Intel 8287、8286等。第三节:8086系统的存储器组织4142存储器的分段管理8086微处理器内部数据通路和寄存器均为16位,内部ALU只能进行16位数据的运算,在程序中也只能使用16位地址,直接寻址范围局限在21665536(64K)字节,为了能寻址1M字节地址空间,必

22、须对内存实行分段管理。为什么要分段管理?43分段方法8086程序将1 M字节的存储空间视为一组存储段,各段的功能由具体用途而定,分为代码段、堆栈段、数据段和附加段。一个存储段是存储器的一个逻辑单位,每个段由连续的若干存储单元构成(最多64 K个),并且都是存储器中独立的、可分别寻址的单位。各段在空间上可以完全重叠、部分重叠,可以连续紧邻,也可分开。每个段第一个字节的位置称为“段起始地址”,段起始地址是一个能被16整除的数,即二进制数的最后4位必须是0。段起始地址中的高16位(段基值)存放于相应的段寄存器中。44A段B段连续紧邻部分重叠完全重叠D段分开00000H10000H20000H3000

23、0H40000H实际存储器C段E段逻辑段45物理地址与逻辑地址物理地址又称实际地址PA(Physical Address),是CPU和存储器电路进行数据交换时所采用的地址。逻辑地址是程序员在程序中使用的地址。每个内存单元的逻辑地址由段基值和段内偏移量两部分构成,其中段基值确定需要访问的单元在哪一个段,段内偏移量确定需要访问的单元相对于该段起始单元的距离。段基值和段内偏移量都是16位二进制无符号数,合称为32位地址指针。由这两部分就可惟一确定一个内存单元。46物理地址的形成方法给出需要访问的内存单元的逻辑地址后,必须将其转换为物理地址,才能通过系统地址总线送至存储器。由于段基值代表的是需要访问的

24、单元所在段的起始单元地址的高16位,而偏移地址代表需要访问的单元与段起始单元的距离,所以在形成指定单元的20位物理地址时,只需将段基值左移4位再加上16位的偏移地址即可。怎么确定要访问的单元?16位段内偏移量16位段基值000016位段基值例如,假设某内存单元的逻辑地址为1234H:5678H,则该单元的物理地址为:PA1234H165678H179B8H。20位物理地址47操作类型隐含的段基值 可替换的段基址 偏移地址取指令CS无IP堆栈操作SS无SPBP用作基址寄存器SSCS、DS、ESEA通用数据读写DSCS、SS、ESEA字符串操作(源地址)DSCS、SS、ESSI字符串操作(目的地址

25、)ESCS、SS、DSDI程序执行过程中需要访问内存时,必须提供其逻辑地址。EA(Effective Address)为有效地址,即段内偏移量。4849存储器组织8086系统地址总线有20条,可以寻址1 M(220)字节的内存空间,每个内存单元存储一个字节的数据,并具有唯一的20位地址编号-字节地址。如果存放16位的字数据,则需要占用连续的两个单元,其中高字节存放在高地址,低字节存放在低地址。8086系统还需要存储32位的地址指针,此时,32位地址指针中的段基值和偏移地址作为两个16位字数据分别存入连续的4个内存单元,其中,偏移地址存入地址较小的单元,段基值存入地址较大的单元。50内存中的数据

26、格式数据类型包括:字节数据:字 数 据:双字数据:地址指针:8 位二进制数16位二进制数32位二进制数32位逻辑地址20000H20001H20002H20003H字节数据12H字数据3412H地址指针7856H:3412H20000H20001H20002H20003H12 H20000H20001H20002H20003H12H34H12H34H56H78H51规则字与非规则字8086系统中将1 M字节的内存单元均分为两个存储分体,每个分体512 K个单元,分别称为高位库和低位库。低位库中的所有单元地址为偶数,高位库中的所有单元地址为奇数。每个分体的数据线分别与系统数据总线的高8位和低8位

27、相连。8086CPU读写16位字数据时,总是从低位库开始。定义从低位库地址开始存放的字数据为规则字;即从高位库开始存放字数据为非规则字。CPU读写内存中的规则字只需一个总线周期,而读写非规则字则需要两个总线周期。为了不影响速度,字数据在内存中应尽量按规则字格式存放。5220001H20003H20005H20000H高位库 低位库规则字1234H34H 20002H 20004H12H20002H20001H20003H20005H高位库 低位库非规则字1234H 20000H12H 20004H34H53堆 栈堆栈是按照“后进先出”原则进行读写的一段特殊内存区域,用于暂存数据。堆栈段最多包含

28、64 K个单元。堆栈段在内存中的位置由堆栈段寄存器SS和堆栈指针SP来指示。SS中存放堆栈段的首地址,SP中存放栈顶单元的偏移地址。8086CPU规定堆栈操作总是按字进行。入栈和出栈操作遵循“先进后出”(FILO)的原则54在堆栈操作中,SP的内容随着入出栈操作的进行不断变化,使堆栈栈顶是“浮动”的。栈顶单元数据总是有效(即所谓的“实栈顶”)。即SP指向的存储单元已存放有信息。压栈(PUSH)与弹出(POP)堆栈指针SP压栈时“负向”调整(2),弹出时2。55堆栈操作举例假设现在需要将AX=2233H 和BX=4455H 依次推入堆栈。图(a)是执行该入栈操作前的情况,由于SS1050H,SP

29、0008H,因此堆栈段首地址为10500H,当前栈顶单元地址为SS16SP10508H。在完成上述操作后执行出栈操作,将当前栈顶单元的内容弹出到BX中。操作情况如下图所示。PUSH AXPUSH BXPOPBX5610500H10501H10502H10503H10504H10505H10506H10507H10508H10509H1000栈顶10504H5510505H10506H443310507H10508H10509H22100050 SSSP10500H10501H10502H栈顶 10503H10500H10501H10502H10503H10504H3310505H10506H1

30、0507H10508H10509H2210000650 SSSP栈顶08 SP50 SS0457I/O资源8086CPU采用独立编址的I/O端口。有独立于存储器的操作信号。I/O空间216,有16条I/O端口地址线。第四节:8086的时钟和总线周期5859几个术语时钟周期 时钟信号振荡周期;总线周期 CPU通过总线读/写一次数据所需时间;指令周期 CPU执行一条指令所需时间。NC60EFIF/CRDYRESOSC8284A READYRESETCLKREADYRESETCLK8086时钟及时钟信号发生器OSCX1外界X2寄存器状 态标志寄存器清 除IP0000HCSFFFFHDS0000HSS0000HES0000H指令队列缓冲器清 除61系统复位8086 CPU的RESET引脚用于启动或复位系统。当8086在RESET引脚上检测到一个脉冲的正跳变时,就停止正在进行的所有操作,处于初始化状态,直到RESET信号变为低电平。复位后各寄存器的状态62复位操作时序63第二章作业2-52-92-102-112-122-14

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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