预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共65页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章中断系统 概要概要 „中断和中断系统 „中断的处理过程 „中断优先级和中断嵌套 „可编程中断控制器Intel8259A L.J.Zhu,AutomationDept.,SJTU 中断和中断系统中断和中断系统 „中断的概念 „CUP在正常执行程序的过程当 中,由于某种原因,使CPU前 暂停当前程序的执行,程中 转去处理临时发生的事件,序断 处 返 处理完毕再返回继续执行暂理 停的程序。回 ——该过程称中断 L.J.Zhu,AutomationDept.,SJTU 中断的概念中断的概念 „中断源 „引起程序中断的事件 „外部中断 „内部中断 „中断响应 „CPU在每条指令的最后一个周期检测中 断信号引脚,当条件满足时,CPU响应 中断,向外设发中断响应信号,并保护 断点,转向中断服务程序 L.J.Zhu,AutomationDept.,SJTU 中断的概念中断的概念 „中断向量表 „中断服务程序的入口地址存放处 „中断优先级 „为每个中断源分配一个优先级,CPU总 是优先响应优先级高的中断 „中断屏蔽 „通过软件设置,使CPU不能响应中断源 的申请 L.J.Zhu,AutomationDept.,SJTU 中断的分类中断的分类 „中断类型号 „8086/8088可以处理256种中断,每一种 中断都规定一个唯一的中断类型号N,即 中断向量 „256种中断分为两类 „外部中断——由外部硬件的请求产生的 中断,又称硬件中断 „内部中断——是由指令的执行所引起的 中断,又称软件中断 L.J.Zhu,AutomationDept.,SJTU 中断的分类中断的分类 外部 中断 内部 中断 L.J.Zhu,AutomationDept.,SJTU 外部中断外部中断 „非屏蔽中断请求 „由引脚NMI引入,边沿触发,上升沿之 后维持两个时钟周期高电平有效,中断 类型号N=2 „不受中断标志位IF影响 „引起原因 „RAM奇偶校验错误 „I/O通道扩展板奇偶校验错误 „协处理器8087中断请求 L.J.Zhu,AutomationDept.,SJTU 外部中断外部中断 „可屏蔽中断请求 „引脚INTR引入,电平触发,高电平有效 „中断标志位IF=1时允许中断;IF=0时 禁止中断 „可用STI指令置位IF状态(开中断),CLI指 令复位(关中断) „引起原因 „外部设备的中断请求 L.J.Zhu,AutomationDept.,SJTU 内部中断内部中断 „INTn指令中断 „CPU执行INTn指令后,产生中断类型 号N=n的中断 „中断向量表地址=4×n „例如:INT21H,产生中断类型号为21H 的中断,并从中断向量表的4*21H(即 0:84H)单元取出中断服务程序的入口地 址,转去执行 L.J.Zhu,AutomationDept.,SJTU 内部中断内部中断 „除法错中断 „除数为0或商超出寄存器范围。中断类型号N=0 „溢出中断指令INTO „在算术运算指令之后紧跟INTO指令,可检查溢 出标志OF。中断类型号N=4 „例如:测试加法的溢出 MOVAX,0009HMOVAX,9000H ADDAX,0080HADDAX,8000H INTOINTO :: ™无溢出,不中断,顺序™溢出,中断,转移 L.J.Zhu,AutomationDept.,SJTU 内部中断内部中断 „单步中断 „当标志位TF=1时,每执行一条指令, CPU便产生中断类型号N=1的单步中断。 单步中断用于Debug调试程序 „断点中断 „当程序设置了断点时,CPU执行到断点 处便产生中断类型号N=3的断点中断, 并显示寄存器及单元内容,供Debug调 试程序使用 L.J.Zhu,AutomationDept.,SJTU 可屏蔽中断处理流程 N YCPU开中断时 CN P CPU自动关中断 UY 硬 件IP,CS自动进栈 完 成 标志自动进栈,PUSH保护寄存器内容 中 断 关中断,寄存器内容POP恢复 服 务 程弹出IP,CS,及标志,自动开中断 序 CPUCPU响应中断过程响应中断过程 „可屏蔽中断请求INTR 1.CPU响应可屏蔽中断 2.CPU转入中断服务过程 L.J.Zhu,AutomationDept.,SJTU CPUCPU响应中断过程响应中断过程 1.CPU响应可屏蔽中断 „当中断屏蔽触发器未被屏蔽时,外设发出中断 请求信号 „CPU在每条指令的最后一个机器周期的最后一 个T状态采样中断请求INTR引脚,若有中断请 求信号且CPU内部中断允许触发器是开放的 (IF=1),则CPU响应中断 „CPU向外设接口发两个中断响应信