文档详情

组成第十七讲:中断控制.ppt

发布:2017-05-19约9.4千字共37页下载文档
文本预览下载声明
* 例1 假设某机有设备一、二、三和四共4个设备中断源,每个中断原具有不同的优先权,共1、2、3、4级响应优先权。设其中断源的优先级别从高到低分别为1→2→3→4的顺序。每级对应1个屏蔽码。表1列出中断响应优先级与屏蔽级一致情况下的屏蔽码。 表1 程序级别 屏蔽码 一 二 三 四 说明 1级 2级 3级 4级 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0为开放 1为屏蔽 * 假设当CPU执行主程序过程中同时出现设备2和3两个中断请求。按排队线路,因设备2的优先级高于3,故应先响应设备2中断请求。执行设备2的中断服务程序并保护现场和原屏蔽字后,将2级程序的屏蔽码置入各接口屏蔽寄存器,它将屏蔽3级的中断请求。执行完2级服务程序后恢复原屏蔽码,返回主程序后再响应3级的中断请求。 此时若4级又提出中断请求,CPU暂不予理睬。3级中断程序执行完后再响应4级的中断。由图10.5可知,纵向表示各中断源申请中断的先后时间,横向表示中断优先级别。 假若CPU再次执行2级中断服务程序时,出现了1级中断请求,由于在执行3级服务程序时已经把其程序屏蔽字置入屏蔽寄存器了,这样对1级中断是开放的。因其1级优先级高于2级,则CPU暂停对第2级中断服务程序的执行,转去执行第1级中断服务程序。等第1级中断服务程序执行完后,再去执行第2级中断服务程序。在本例中,中断请求次序为2、3→4→2→l;而中断完成次序为2→3→4→l→2,两者不相同。 * 图10.5 多重中断处理示意图 中断请求 主程序 中断处理程序 3 4 1 2 3,2 4 2 1 * 单重中断和多重中断的服务程序流程 中断否? 保护现场 设备服务 恢复现场 开中断 中断返回 取指令 执行指令 中断服务程序 中断响应 程序断点进栈 关中断 向量地址 PC 中断周期 是 中断返回 保护现场 设备服务 恢复现场 开中断 开中断 开中断 中断隐指令 中断隐指令 否 取指令 执行指令 中断否? 否 中断响应 程序断点进栈 关中断 向量地址 PC 中断周期 是 中断服务程序 单重 多重 * (1) 断点进栈 (2) 断点存入“ 0 ” 地址 中断隐指令 完成 中断周期 命令存储器写 0 MAR PC MDR (MDR) 存入存储器 三次中断,三个断点都存入 “ 0 ” 地址 多重中断的断点保护 断点 MDR ? 如何保证断点不丢失? 中断隐指令 完成 * (3) 程序断点存入 “ 0 ” 地址的断点保护 ×××× 0 5 JMP SERVE ×××× SAVE ×××× RETURN STA SAVE … 0 地址内容转存 其他服务内容 地 址 内 容 说 明 SERVE LDA SAVE JMP @ RETURN 存程序断点 5 为向量地址 … 保护现场 恢复现场 间址返回 存放 ACC 内容 转存 0 地址内容 开中断 ENI LDA 0 STA RETURN 置屏蔽字 计算机组成原理 * 程序中断控制技术 中断:计算机暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫作“中断”。 中断系统是计算机实现中断功能的软、硬件总称。在CPU一侧配置了中断机构,在设备一侧配置了中断控制接口,在软件上设计了相应的中断服务程序。 中断过程由中断请求、中断响应、状态保护、中断屏蔽、中断处理、恢复和返回组成。 * I/O 中断的产生 以打印机为例 发中断请求 空闲 接收 数据 接收 数据 准备 发中断请求 打印 打印 打印机 执行主程序 继续执行主程序 继续执行主程序 响应中断 中断返回 响应中断 中断返回 启动 打印机 传送 数据 传送 数据 CPU CPU 与打印机并行工作 * 中断的概念 在机器中引起中断产生的事件或发生中断请求的来源统
显示全部
相似文档