欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    现代微机原理与接口技术接口第5章.ppt

    • 资源ID:5789754       资源大小:445KB        全文页数:72页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    现代微机原理与接口技术接口第5章.ppt

    1,第5章 中断技术,2,5.1 中断基本概念,5.1.1 中断基本概念,定义:CPU暂停现行程序,转而处理随机到来的事件,待处理完后再回到被暂停的程序继续执行,这个过程就是中断。,中断过程:,中断处理的隐操作:程序状态及程序断点地址的进栈及出栈。,3,中断系统其他功能:,支持多中断源和多种中断源。,支持中断屏蔽处理。,支持中断嵌套处理。,支持中断优先级修改。,支持中断结束方式选择。,4,5.1.2 中断类型,属性:硬件/软件、向量/查询。,1.外部硬件(如键盘、鼠标,串口,并口打印机等)中断,中断请求:多个中断请求的排队和判优由中断控制器完成,产生的有无中断请求的信号送到CPU的INTR引脚。,中断类型号:通过数据总线送到CPU中。,EFLAGS寄存器的IF位影响CPU对中断请求的响应。处理器在当前指令执行结束的时候启动中断识别INTA总线周期,属性:硬件、可屏蔽、向量。,5,2.不可屏蔽中断,中断请求:中断请求的信号送到CPU的NMI引脚。,中断类型号:固定为2。,CPU不需要进行中断识别,直接处理中断。,属性:硬件、不可屏蔽、向量。,NMI由0跳变到1以后要维持至少4个连续的处理器时钟周期的高电平才被识别。NMI由1跳变到0以后要维持至少4个连续的处理器时钟周期的低电平,新的NMI中断才能被识别。,6,3.软件中断,属性:软件、不可屏蔽、向量。,中断请求:指令执行中或程序调用产生。,中断类型号:CPU规定或指令给出。,CPU专用中断:溢出(O)、单步(1)、断点中断(3)。,BIOS中断:I/O设备控制、实用服务、特殊中断、专用参数中断。,DOS中断:公开/未公开、可调用、系统功能。,自由中断:未定义(20H3FH中未使用的中断)。,CPU不需要进行中断识别,直接处理中断。,7,常用的软件中断,BIOS、DOS、自由中断的汇编调用方式:INT n;n为中断向量号,如 INT 10H,8,4.内部中断和异常,属性:软件、不可屏蔽、向量。,中断请求:指令执行中产生。,中断类型号:CPU规定。,失效:错误在指令完成前,错误指令的CS:EIP压栈。该指令会重做。,陷阱:错误在指令完成后,错误指令下一指令的CS:EIP压栈。,中止:不保存,重启机器。,CPU不需要进行中断识别,直接处理中断。,9,5.1.3 中断识别及其优先级,1.中断识别,只有外部硬件中断需要进行识别,其余不需要识别。,中断识别由中断控制器完成。,2.中断优先级,原则:按机器故障、DMA、外围硬件、软件递减。,结果:CPU专用DMA外围硬件BIOSDOS自由。,即基本按中断向量表排序。,外围硬件一般可由用户修改其优先权。,10,5.1.4 中断响应,在当前指令结束后,可屏蔽中断根据EFLAGS寄存器IF位决定是否响应;其他中断给予响应。中断响应的步骤如下:,1.保护断点,通过堆栈及相关硬件实现EFLAGS、CS、EIP的保护。并清除IF和TF。压栈的顺序是EFLAGS、CS、EIP,11,4.转入中断处理程序,5.返回断点,恢复断点(EIP、CS、EFLAG顺序出栈)继续执行主程序。,3.取得中断服务程序入口地址,对向量中断,通过中断类型号查中断向量表或中断描述符表取得。,从中断处理程序入口地址转到中断处理程序。执行对中断的处理。,2.取得中断类型号,对外部硬件中断通过中断响应周期取得中断类型号。,非外部硬件中断直接取得入口地址,无须第2步,12,5.1.5 PC机中断向量表(IVT,用于实地址模式),2.中断向量表,位于内存地址0000:0000开始的1KB范围内。,按中断类型号顺序存放中断向量。,3.中断向量指针,指向存放中断向量地址第一字节的指针。,中断向量指针=中断类型号4。,软件中断中自由中断的中断向量需用户自己装入。,1.中断向量,对应中断类型号的中断服务程序入口地址。,每个中断向量占4字节。,13,5.1.6 中断描述符表(IDT,用于保护模式),1.中断描述符表(用于保护模式),表项长度:8字节,每个表项对应一个中断类型号。,表项类型:任务门、中断门、陷阱门。,通过特征位(b40b44)区分不同类型。,14,表的长度:8字节256=2KB。,表的位置:由中断描述符表寄存器IDTR指向。,2.中断描述符指针,指向中断描述符表中的中断描述符的指针。,中断描述符指针=IDT基地址+中断类型号8。,3.中断门/陷阱门,内容:段选择符、属性和偏移量。,中断门与陷阱门区别:,通过中断门处理时EFLAG的IF被清0,通过陷进门处理IF不清0。,中断门的优先级比陷阱门高,是面向外部硬件中断的门,后者面向优先级地的中断。,15,中断服务子程序入口地址取得:,偏移,属性,选择符,中断门/陷阱门,IDTR,IDT,中断类型号,7 0,8,边界,属性,基地址,段描述符,CS,GDT/LDT,线性地址,中断服务子程序,代码段,段基地址,偏移,EIP,CS段描述符缓冲器,中断描述符,段描述符,16,TSS选择符,任务门,IDTR,IDT,中断类型号,7 0,8,属性,段限,基址,TSS描述符,TR,GDT,线性地址,TSS,基址,TR描述符缓存器,4.任务门,内容:TSS选择符与属性。,TSS取得:,优点:中断任务和被中断任务完全隔离。缺点:中断响应过程耗时长。,17,5.2 Intel 8259A,5.2.1 8259A主要任务,接受外部的中断请求;,管理所有外部的中断请求(排队、判优、屏蔽、嵌套);,向CPU产生中断请求INTR及中断类型号;,进行中断结束处理;,接受CPU命令及返回状态。,18,5.2.2 8259A引脚及内部结构,1.8259A引脚,CPU侧:,DB0DB7;,外设侧:,IR0IR7;,级联:,19,2.8259A内部结构,接口电路:CPU接口、I/O接口。,20,内部逻辑:IRR、IMR、PR、ISR及控制电路。,中断请求过程:IR-INT。,21,CPU响应可屏蔽中断条件:,当前指令执行完毕;,EFLAGS中IF=1;,INTR信号有效。,中断响应过程:向CPU送中断类型号。,ISR的复位在自动结束/非自动结束时不一致。,DMA传送方式比中断方式速度快(响应与传送)。,回ICW3,22,3.8259A工作方式,中断请求方式:初始化设置,边沿触发方式:正跳变向8259A请求中断。电平触发方式:高电平向8259A请求中断,响应中断后要及时清除高电平。查询中断方式:外设向8259A请求中断,但8259A不向CPU发中断请求信号INT。,23,连接总线与级联方式:非缓冲初始化设置,24,屏蔽方式:内部特性,内部特性:自动屏蔽低于自己优先级的IR。,正常屏蔽:IMR中相应位置位;,特定屏蔽:开放比自己优先级低的IR。,优先级管理方式:固定优先权,内部特性:IR0IR7的优先级为一循环队列。,固定优先权:从IR0IR7降序;,轮转优先权:,自动轮转:刚被服务的IR的优先级降至最低;,指定轮转:指定的IR的优先级降至最低。,25,嵌套方式:全嵌套,全嵌套:禁止同优先级或低优先级请求发生;,特殊全嵌套:禁止低优先级请求发生。,应用:级联时主片特殊全嵌套,从片全嵌套。,结束方式:非自动,自动:中断响应后ISR中最高优先级位自动复位;,非自动:中断服务程序返回前,需要处理程序发出对ISR中相应位复位的中断结束命令;,不指定方式:ISR中最高优先级位复位;,指定方式:命令中指定的ISR中相应位复位。,26,4.8259A的操作功能及命令,I/O端口地址:只提供二个端口(使用A0区别);,命令:初始化-ICW1ICW4,操 作-OCW1OCW3。,状态:IRR、ISR、IMR、查询字。,I/O端口操作冲突时解决方法:,信息字节中有空闲位时:特征位方法;,信息字节中无空闲位时:时序方法。,27,8259A命令关系表:,注:ICWx只有在初始化过程中才会出现。,28,(1)初始化命令ICW1,特征位:D4=1;,ICW4主要设定嵌套、缓冲、结束方式,缺省值为全嵌套、非缓冲、自动结束方式。,29,(2)初始化命令ICW2,时序:ICW2ICW3ICW4。,IRi的中断类型号=ICW2的高5位+i,例:如果ICW2为08H,则 IR3的中断类型号(中断向量)为08H+03H=0BH。,30,(3)初始化命令ICW3,级联方式结构:,下二页,31,级联方式结构设置:,需要分别对主片和从片进行设置。,主片:S7S0分别对应相应的IR号的引脚,为1的位对应的引脚接有从片;,从片:ID2ID1的编号是该从片接到主片的IR引脚的IR号。,32,主 片:OUT 21H,14H,从片1:OUT 0A1H,04H,从片2:OUT 0C1H,02H,级联方式中断请求及响应过程:,主片请求:与非级联一致。,从片请求:与非级联一致,但其INT送到主片,服从主片的请求规则。,非级联响应,上二页,33,(4)初始化命令ICW4,D0:用于8位(0)/16位(1)微机;,D1:非中断自动结束(0)/自动结束(1)方式;,D2:缓冲方式(D3=1)时的主从片级联位置设置,从片(0)/主片(1);,D3:非缓冲(0)/缓冲(1)方式;,D4:全嵌套(0)/特殊全嵌套(1)方式。,从片非自动结束时,主、从片均需发EOI命令。,34,(5)操作命令OCW1,正常屏蔽:,特征位:无,时序:无。实际上改变了中断优先级(屏蔽掉高优先级的中断请求)。对IMR的读取在21H(主)、0A1H(从)端口做读操作。,特殊屏蔽:,通过OCW3设置。,35,(6)操作命令OCW2,特征位:D4D3=00;,功能:结束方式和优先权轮转管理;,结束方式管理:,D6D5=01,非自动不指定;D6D5=11,非自动指定。,优先权管理:,D7=0,优先权固定;D7=1,优先权轮转。,36,例:OUT 20H,20H的含义?,37,(7)操作命令OCW3,特征位:D4D3=01;,38,查询字格式:,I=0,无中断请求;I=1,有中断请求。W2W0,正在申请中断的若干中断源中优先级最高的中断源的编码。,39,特定屏蔽管理:,设置方法:,用OCW1屏蔽部分IR含自己,用OCW3置SMM即可。,取消方法:,用OCW3取消特定屏蔽,用OCW1取消被屏蔽的IR。,40,1.初始化编程步骤,5.2.3 8259A初始化编程,out 20h(a0h),al,out 21h(a1h),al,out 21h(a1h),al,out 21h(a1h),al,41,2.初始化编程,不同8259A的I/O端口地址不同;,8259A级联时,每个8259A均必须有完整的初始化过程端口地址和部分参数不同而已;,全嵌套方式时,初始IR优先级IR0最高。,注意点:,42,例:,INTM00EQU 020H;8259A端口0INTM01EQU021H;8259A端口1MOVAL,00010011B;ICW1:边沿触发,要ICW4;;单片方式,不要ICW3。OUTINTM00,ALJMPSHORT$+2;I/O端口延时MOVAL,00001000B;ICW2:设置中断向量,起始的;中断向量为08H。OUTINTM01,ALJMPSHORT$+2MOVAL,00000001B;ICW4:非缓冲,全嵌套,非自;动中断结束(EOI)。OUTINTM01,ALJMPSHORT$+2,43,5.2.4 微机中8259A应用,Y0,Y7,A,B,C,G1,15,14,13,12,11,10,9,7,1,2,3,4,5,6,74LS138,A5,A6,A7,A8,A9,AEN,中断控制器8259A的端口地址为多少?,AEN=AENIO/M。,1.PC机系统板上8259A的连接,8259A,CS,DB7.0,IR7.0,A0,A0,INT,INTA,INTR,RD,WR,IOW,IOR,接8288,接CPU,接中断源,接数据线,接地址线,44,2.现代微机中82801BA中8259A级联,注意:,主、从区分;IRQ优先级;请求与响应。,45,;对主片8259A的初始化INTM00EQU 020H;主8259A端口0INTM01EQU021H;主8259A端口1MOVAL,00010001B;ICW1:边沿触发,要ICW4;级联方式,要ICW3。OUTINTM00,ALJMPSHORT$+2;I/O端口延时MOVAL,00001000B;ICW2:设置主片的中断向量,起始的中断向量为08HOUTINTM01,ALJMPSHORT$+2MOVAL,00000100B;ICW3:表示从8259A的INT输出是连接到主片的IR2。OUTINTM01,ALJMPSHORT$+2MOVAL,00010001B;ICW4:非总线缓冲,特殊全嵌套,非自动EOIOUTINTM01,ALJMPSHORT$+2,46,;对从片8259A的初始化INTS00EQU 0A0H;从8259A端口0INTS01EQU0A1H;从8259A端口1MOVAL,00010001B;ICW1边沿触发,要ICW4;级联方式,要ICW3。OUTINTS00,ALJMPSHORT$+2MOVAL,01110000B;ICW2:设置从片的中断向量,起始的中断向量为70HOUTINTS01,ALJMPSHORT$+2MOVAL,00000010B;ICW3:设置从片的识别标志,指定对应主片的IR2。OUTINTS01,ALJMPSHORT$+2MOVAL,00000001B;ICW4:非总线缓冲,全嵌套,非自动中断结束。OUTINTS01,ALJMPSHORT$+2,47,3.现代微机中断请求线连接,返回下页,48,返回第53页,转上页,49,4.现代微机中断控制,82801BA,82815EP,PII/III CPU,CPU总线,内部逻辑,50,在上面的过程中有几点注意:,一个或多个IRQ到来的时候,置中断请求寄存器IRR的相应位。如果中断没有被屏蔽,才可以发INTR。82801BA内部产生两个周期INTA#后,第一个INTA#脉冲,有最高优先级的ISR的相应位被置上,而IRR的相应位被复位。第一个脉冲的下降沿,主中断控制器利用内部3根专用线CAS向从中断控制器发送从识别码。第二个INTA#脉冲后,主或从识别码选中的从可编程中断控制器返回中断向量。结束中断响应周期时,如果在自动中断结束(AEOI)模式下,则中断服务寄存器(ISR)的相应位在第二个INTA#脉冲的末尾被复位,否则ISR相应位保持置位直到中断处理程序末尾发出EOI命令。,51,5.3 实模式下中断编程,5.3.1 中断编程注意点,1.使用正确的中断号,2.中断服务程序入口的正确设置,3.避免中断程序中DOS重入,4.中断程序执行时间的正确估计,5.中断的打开与关闭,6.中断结束处理及返回,52,5.3.2 中断处理程序举例,OLD0CDD?CODESEGMENTMOVAX,350CH;保存原来的0CH中断向量INT21HMOVWORDPTR OLD0C,BXMOVWORDPTR OLD0C+2,ESMOVAX,CODE;写入新的0CH中断向量MOVDS,AXMOVDX,OFFSET SERVICEMOVAX,250CHINT21H;其它程序段;中断处理子程序,53,;中断处理子程序SERVICEPROCPUSHA;保护现场PUSHDSSTI;打开中断;串口数据处理程序CLI;关闭中断POPDS;恢复现场POPAIRETSERVICEENDP,54,5.4 PCI中断,5.4.1 PCI中断请求,PCI中断线:INTA#、INTB#、INTC#、INTD#。,PCI中断源:PIRQA#PIRQD#。,PCI中断源连接:通过映射到ISA中断(37,912,1415)来实现。,转第47页,特点:,当PCI中断被映射到一个ISA的IRQ后,该IRQ不可再被ISA设备(通过SERIRQ的中断)使用。,PCI中断可与低电平有效的非ISA中断共享同一IRQ。,55,实现:,设备31的0号功能的60H63H、68H6BH的PIRQ路由控制寄存器实现PIRQA#PIRQH#与IRQ的映射关系。,PIRQ#路由控制寄存器8bit存放的是IRQ编码。,PCI中断请求:,PCI中断请求必须为电平触发方式。,不同PIRQ#的优先级由IRQ决定。,同一PIRQ#不同设备INT*的优先级由安装次序决定。,多个PIRQ#信号线能连在同一个IRQ上。,56,5.4.2 PCI中断响应,PCI中断响应为单周期响应。,HOST-PCI桥自动将双中断响应周期转换成单中断响应周期。,其他中断响应过程与8259A同,中断类型号通过HOST-PCI桥再返回给处理器。,中断响应周期中可插入等待周期。,中断服务程序入口地址由中断描述符表管理。,57,图5.14 PCI中断响应周期,58,5.4.3 PCI中断共享,PCI中断请求信号为漏极开路的。,即:中断向量表中中断向量为同一PIRQ#最后安装的设备的中断服务程序入口地址。,同一PIRQ#不同设备的优先级最后安装的最高。,PCI中断的状态位通过中断服务程序读取,并处理。,同一PIRQ#中断服务实现方法:,采用链表式处理方法。,方法:PNP配置时将同一PIRQ#的原中断向量存放到其设备驱动的特定寄存器后才替换为新的中断向量。,59,5.5 APIC(自学),5.5.1 APIC子系统组成,1.组成,返回下页,Local APIC、I/O APIC和APIC总线。,60,Local APIC:,包含了8259A和8254的功能。,转上页,响应的中断:,I/O APIC送来的系统中断请求;,经APIC总线送来的处理器间中断请求(IPI);,本地的中断请求(定时、错误、计数、连线)。,I/O APIC:,多达24个中断;,中断优先级与中断号独立;,不需要中断响应周期。,可选择某个或一组处理器中的一个为目标处理器。,61,APIC总线:,组成:APICD0、APICD1、APICCLK。,类型:串行同步总线。,串行时序:不同时钟先高位,后低位;同一时钟D1高位,D0低位。,内容:EOI命令和短消息。,应用:连接的每个模块均有自己的ID(固定);,每个模块均有自己的仲裁ID(可变,初值来自模块ID)。,62,2.APIC中断类型,系统中断:,经I/O APIC模块引脚送入的中断请求。,交中断请求指定的目标处理器处理。,本地中断:,定时、计数、错误、INTR及NMI。,只能由本地处理器处理。,处理器间中断:,电平撤消初始化、初始化、启动、远程读、SMI、NMI等。,交目标处理器处理。,63,5.5.2 I/O APIC的寄存器,1.直接访问寄存器,INDR:R/W存放需访问的间接寄存器编号。,DATR:R/W间接访问寄存器访问结果。,IRQPAR:W存放置位方式产生的中断向量号。,EOIR:W存放正在服务(将结束)的中断向量号。,2.间接访问寄存器,IDR:R/W32B存放模块自己的固定的ID。,VERR:R32B存放有无IRQ声明和重定向寄存器数。,ARBIDR:R32B存放模块的仲裁ID。,BOOT_CONFIGR:R/W32B存放中断传递方式。,64,RDR:R/W64B索引编号10H3FH,每个RDR占两个号。,65,5.5.3 APIC工作过程,1.中断请求产生并递交,收到引脚信号有效改变时,置位RDR的RIRR位,争取总线使用权后,向APIC总线发送短消息。,目标处理器(目标模式及传递模式)已在RDR中设定。,边沿触发方式时,消息传送后将RDR的RIRR位复位。,2.处理器接受中断请求产生并服务,目标处理器(可能多个)的Local APIC收到请求后,根据传递模式,确定本处理器是否命中。,命中的目标处理器做相应中断处理,当处理器核心执行的代码优先级低于中断请求优先级时处理中断。,66,3.中断结束阶段,中断为电平触发方式时,发布EOI命令通知I/O APIC做结束处理。,当前处理器的总线使用权降为最低。,67,5.5.4 APIC总线仲裁,结构:分布式仲裁。,空闲状态:D1D0=11(某消息结束后)。,仲裁周期:5个时钟周期。,EOI传输优先级高于正常传输。,仲裁算法:轮转优先级算法。,仲裁得胜者置为0,其余模块一律加1。,68,5.6 串行中断,5.6.1 串行中断结构,SIO LPC47B27X,IRQx,82801BA,SERIRQ,CPU,INTR,IRQ14,15,PIRQx,69,SERIRQ线采用同步单线传输结构。,遵循PCI信号使用的三态协议。S-取样阶段 信号为低电平。R-恢复阶段 信号为高电平。T-翻转状态 信号被释放,SERIRQ支持IRQ0,1,215,PIRQA#PIRQD#,SMI#和IOCHK#。不支持IRQ0、8、13中断。,SERIRQ上信息分帧传输。,70,5.6.2 帧结构,1.开始帧,操作模式:连续的(82801BA单独产生开始帧)静态的(一个串行IRQ设备来启动开始帧),长度:4、6或8个时钟宽度(设备31的0号功能配置空间的64H处串行IRQ控制寄存器位1和位0决定).,71,2.数据帧,长度:21个时钟宽度。,3.停止帧,长度:2或3个时钟宽度。,含义:2SERIRQ设备触发;382801BA触发。,驱动:需中断设备在自己的数据帧中将SERIRQ驱动为低电平。所谓自己的数据帧是指在21个时钟中数据帧号和本设备的IRQ号码相等那一数据帧。外设要在SERIRQ的上升沿开始计算帧。,72,作业:某系统需要最多20个非共享的中断请求输入端,问下列8259级联拓扑图哪个是正确的,不正确的请说明原因。,某系统使用一片8259A作为中断控制器,希望该控制器采用电平触发,起始中断类型号是16,总线缓冲方式,全嵌套,正常EOI。假如该芯片端口号是50H和51H,请编写该8259A的初始化程序。用8088汇编语言编写一个完整的程序处理PC机的外部IRQ5中断(含修改中断向量部分)。每当该中断到来将变量come1,当come=100时恢复原中断向量。,A,

    注意事项

    本文(现代微机原理与接口技术接口第5章.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开