《微机原理及接口技术》全套PPT电子课件教案-第八章 中断.ppt_第1页
《微机原理及接口技术》全套PPT电子课件教案-第八章 中断.ppt_第2页
《微机原理及接口技术》全套PPT电子课件教案-第八章 中断.ppt_第3页
《微机原理及接口技术》全套PPT电子课件教案-第八章 中断.ppt_第4页
《微机原理及接口技术》全套PPT电子课件教案-第八章 中断.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 中断 z 中断 z 中断优先权 z 8086中断方式 z 中断控制器8259a 第一节 引言 一、中断系统及功能 ucpu和外设接口的硬件:中断控制逻辑 u指令系统:管理中断的指令 中断功能: z 1. 分时操作 z 2. 实现实时处理 z 3. 故障处理 二、中断源 z 引起中断或发出中断请求的来 源称中断源。 z 1. 外部设备请求中断 z 2. 故障强迫中断 z 3. 实时时钟 z 4. 程序自愿中断 三、中断处理过程 z1. 中断请求 中断源提出中断请求的条件: (1) 外设工作已告一段落 (2) cpu允许该设备发出中断请求 z2. cpu允许中断 开中断指令:sti 允许cpu响应可屏蔽中断 关中断指令:cli 禁止cpu响应可屏蔽中断 z3. 中断优先级排队 有多个中断源,根据轻重缓急,事 先安排一个中断优先级顺序,称中断 排队。 z4. cpu检测中断请求信号 cpu在现行指令的最后一个总线周 期的最后一个t状态时,检测中断请求 intr,若有,则下一周期进入中断响 应周期。 z5. cpu响应中断 中断响应周期。 (1) 发中断响应信息inta,关闭中断。 (2) 保留断点,将ip,cs入栈。 (3) 给出中断入口,转入相应的中断服务 程序。 z6. 中断服务 首先保护现场,中断服务,恢复现 场。 33 z7. 中断返回 开中断,iret中断返回,cpu恢复 主程序执行。 z8. 关于多重中断 多中断源,cpu执行一中断服务程序 ,又有优先级别更高的中断请求产生 。 中断服务程序中sti(开中)指令安排 在不同地方,效果不同。 第二节 中断优先权 z一、软件排队 z 一进入中断服务程序 ,就是一段软件查询程 序。 1. 屏蔽法 in al,20h test al,80h jne pwf test al,40h jne diss 2. 移位法 in al,20h rcl al,1 jc pwf rcl al,1 jc diss (3)中断响应慢 ,尤其是中断 源多时,查询 时间长。 (2)不需要判断 与确定优先权的 硬件排队电路。 (1) 询问次 序即中断优 先权的次序 。 二、硬件优先权排队电路 z1.中断优先权编码电路 排队过程 (2) 有中断正在处理, 此时,优先权失效信号 =0,封锁门2,编码 b2b1b0输出至比较器。 (1)没有中断产生,cpu 执行主程序,优先权失 效信号=1,开放门2 。 当任一中断请求产生, 编码a2a1a0,中断请求 通过门2,使intr为高 ,向cpu发出中断请求 。 cpu响应,发 出inta,取 得中断矢量 。 1) ab,即新产生 的中断请求的级别比 正在处理的低,比较 器输出ab=0,封 锁门1,不能发intr 。 2) ab,即新产生 的中断请求的级别比 正在处理的高,比较 器输出ab=1,打 开门1,发出intr。 2.链式优先权排队电路 (1)中断输入1 有中断请求 2)门a2输出为 低b2低c2 低d2低 屏蔽了所有 低级中断。 排队过程 1) f/fa输出高 ,中断响应为 高,门a1输出 为高,控制转 向中断1的服 务程序。 (2)中断输入1 没有中断请求 , f/fa输出 为0,门a2输 出1,中断响 应传至中断2 ; 若f/fb输出为 0(没有中断2) , 门b2输出1 ,中断响应传 至中断3。 z (1) 若上级的输出信号为0,则屏蔽 了本级和所有低级中断。 z (2) 若上级的输出信号为1,本级有 中断请求,转去执行本级的中断服务 程序,本级至下级的输出为0,屏蔽所 有低级中断。 z (3) 若上级的输出信号为1,本级无 中断请求,则本级至下级的输出为1, 允许下一级中断。 34 总结 : 第三节 8088中断方式 z cpu支持256个中断,0255, 中断类型码(中断号) z硬中断:外设引起的外中断 08h0fh z 70h77h z内中断:内部硬件,cpu引起的 0h07h z软中断:中断指令引起的 10hffh 一、内中断 u 内部硬件出错引发nmi中断 u cpu遇到某些特殊事件,引发cpu中断 z 1. 微处理器中断 z (1) 0号中断除数零 div(无符号) idiv(有符号) z (2) 1号中断单步执行 tf=1(单步标志) z (3) 3号中断断点处理 z (4) 4号中断运算溢出 of=1 z2.不可屏蔽中断nmi z nmi输入端上跳边沿触发,引起2号 中断nmi。 z二、外中断源 z intr可屏蔽中断请求信号线,if=1 ,cpu才响应,sti/cli管理。 z三、软中断 int n n=10hffh z四、优先权 除数零 int n 断点 溢出 不可屏蔽中断nmi 可屏蔽中断intr 单步执行 高 低 低 五、中断向量表 z 256个中断号,256个中断服务程序入口地 址,每个地址cs:ip 4个字节,2564=1024 u中断向量表 z 内存0000:0000开 始的1k空间建立的表 z 存放256个中断向量( 中断号)的中断服务程序 入口地址,前2个字节为 ip,后2个字节为cs。 z 中断向量 n z 中断向量表地址=0000:n4 六、8086中断响应过程 cpu响应中断,取得中断类型码(中断号)n 。 u(1) n 4 ,作为中断向量表指针。 u(2) sp-2,标志寄存器flags入栈。 u(3) 清除中断标志if=0,单步标志tf=0。 u(4) sp-2,断点cs入栈。 sp-2,断点ip入栈。 u(5) n 4 的后2个字节cs n 4 的前2个字节ip u(6) cs:ip,cpu转向执行该中断服务程序。 第四节 中断控制器8259a 一、功能 u1. 管理八级向量中断,可级联,最 多管理64级。 u2. 每级都可屏蔽或允许。 u3. 响应周期提供中断向量。 u4. 可编程选择几种工作方式。 (1) 保存中 断请求信号 (2) 每一位可对irr相 应的中断源进行屏蔽 (3) 存放当前正 在服务的中断级 。 (5) 实现 8259a的 级连。 二 、结构 (4) 对保存在irr 中的中断请求, 经判断确定最高 优先权,送isr 。 1.单片连接 2.多片连接利用cas0 cas2寻 址从控制 器 (1) 主片: cas0cas2 为输出线 sp/en接地 ,从cas0 cas2接收主 片发的从片 识别码。 sp/en接 高电平 (2) 从片: cas0cas2 为输入线 z过程: z(1) 主片从cas0cas2送 出该次中断响应所属的从 控制器编码。 z (2) 各从控制器将接收到的编 码与自身的编码比较,相同说 明本控制器的请求被响应,将 中断类型码送db; z 若不相同的从控制器不动作 。 三、编程 z(1) 初始化编程 z 写入初始化命令 字icw1icw4, 建立8259a基本工 作条件。 z icw1,icw2 必须送,icw3, icw4由工作方式 选择。 z(2) 操作编程 z 写入操作命令字ocw1 ocw3,用于对中断处理过程实 现动态控制,如嵌套方式,优先 权循环方式,查询等。 1.初始化命令字 z(1) icw1 中断请求方式: 1:电平触发 0:边沿触发 对8086/8088 系统不起作用 1:单片8259 0:多片级连 1:需要icw4 0:不需要 z(2) icw2 z 设置中断向量的高五位,低三位 由iri自动填入。 z 例:t7t3=00001 z 则ir0ir7的中断号依次为08h 0fh。 37 z(3) icw3 z主片 1:iri上有从片 0:iri上没有从片 z从片: id2id0是从片识别码,表示从片 的int接至主片的哪端iri z 例:接至ir2,则识别码为010。 z(4) icw4 1:自动结束中断 0:正常方式 1:8086/8088 0:8080/8085 1:缓冲方式主片 0:缓冲方式从片 1:缓冲方式 0:非缓冲方式 1:特殊全嵌套方式 0:一般嵌套方式 2.操作命令字 z(1) ocw1 屏蔽字直接写入imr z 0:允许中断 z 1:屏蔽中断 z(2) ocw2 设置优先权是否循环,循 环方式及中断结束方式 eoi:中断结束命令位 1:正常eoi方式时 ,该位使isr复位。 r:中断排队是否循环 1:循环,如优先级 ir0最高,ir7最低,当 有一个ir4服务完,则 ir5变为最高级,ir6次 之,依此类推。 l2l1l0:最低优 先级的编码。 sl 1:l2l1l0 选 择有效 d4d3=00 写入ocw2 的标志 z(3) ocw3 读取isr或irr寄存器内容,发查 询命令,设置特殊屏蔽方式 1) 读isr或irr rr:1 允许读isr或irr 0 禁止读isr或irr ris:1 读isr 0 读irr 2) 查询 p=1 8259a查询方式,将 中断请求写入isr相应 位,并将其编码送数据 总线,cpu对8259a读 。 smm: 1:特殊屏蔽 0:复位成一般屏蔽 esmm 1:允许smm起 作用 0:smm无意义 d4d3=01 写入ocw3 的标志 code segment assume cs:code start:push ds mov ax,0000h mov ds,ax mov ax,offset irq7 mov si,003ch mov si,ax mov ax,0000h mov si,003eh mov si,ax cli pop ds ds=0000 取中断程序 入口地址 0fh*4=3ch ip cs 主程序 moval,13h out 20h,al mov al,08h out 21h,al mov al,0dh out 21h,al in al,21h andal,7fh out21,al icw1:边沿 触发,单片 ,要icw4 icw2:t7 t3=00001 icw4:一般 嵌套,缓冲, 主,正常eoi ocw1:中断 屏蔽字,开放 ir7 mov cx,000ah a1: cmp cx,0000h jnz a2 in al,21h or al,80h out 21h,al sti hlt a2: sti jmp a1 cx=10, 中断次数 cx0 ,开中 断 cx=0, 屏蔽 ir7中 断 irq

温馨提示

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

评论

0/150

提交评论