中断过程的模拟与仿真
2019-07-12张文远宋苏阳茹国宝
文/张文远 宋苏阳 茹国宝
1 实验内容与任务
因CPU响应中断是瞬间完成的,在学习中断响应的课程中,同学们无法掌握CPU响应中断的全过程。为此,本文设计了一套中断过程的实验电路。具体内容和要求如下:
(1)利用8259A中断控制器和8255A并行口,结合实验装置,设计一个模拟中断申请和响应过程的实验电路;
(2)设计者应分析如何确定中断的触发方式?如何模拟外围申请和CPU响应中断的整个过程?如何模拟CPU获取中断类型码和中断向量的?如何模拟CPU执行中断服务程序?为什么要这样设计?
(3)如何完成对82设计者应分析中断控制器和8255A并行口的初始化操作?分析其原因;
(4)实验分三个层次:1)、8259A中断控制器单片方式的工作原理与时序;2)、8259A中断控制器级联方式主片、从片的工作原理与时序;3)、创新实验,设计一个实时时钟。设计要求:① 采用8253A对系统提供的标准时钟1MHz进行分频,得到10Hz时钟信号,作为中断请求信号,通过ISA总线的IR7插孔向主机发出中断请求 ② 编写程序实现实时时钟显示。
2 实验原理及方案
2.1 实验的基本原理
8259A在微机系统中用于管理外部多个中断源。单片8259A可以管理8个中断请求,级联方式可以扩展8片8259A,最多可以管理64个中断源;8259A采用向量中断方式,能够根据不同的中断请求向CPU提供相应的中断类型码;8259A具有优先权裁决和中断嵌套管理功能。
2.2 实现方案
CPU响应中断是瞬间完成的,为了了解CPU响应中断的过程,拟采用手工模拟的方法,对8259A中断管理器的工作过程进行设计和模拟。下面以8259A单片方式工作模拟实验为例,如图1所示,通过8255A读取8259A的中断向量,向8259A写入控制字;利用单脉冲发生器模拟外围设备产生的中断请求和CPU的中断响应。
表1:中断过程的模拟与仿真实验考核方法
2.3 实验步骤
(1)利用单脉冲发生器1发一个单脉冲1,产生一个上升沿输入IR引脚,模拟外围设备向8259A产生的中断请求。此时,可模拟多中断源同时引起中断。
(2)通过8255A向8259A写入控制字。注意,此时须注意8255A工作方式的切换。
(4)利用8255A读取8259A的中断类型码。
(5) 通 过8255A向8259A控 制 字OCW2,模拟中断结束ΕOI命令。
2.4 实验手段的思考
(1)实验步骤1中,如何模拟多中断源同时引起中断?如果中断源同时引起中断,CPU如何获取优先级最高的中断类型号?CPU如何获取各级中断的中断类型号?
(2)实验步骤2中,如何模拟CPU向8255A和8259A写入初始化参数?二者初始化参数的写入方法有什么不同?为什么?对8259A写入初始化参数和读取中断类型号时,为什么要对8255A工作方式的进行切换?
(3)实验步骤3中,如何模拟CPU响应中断的?为什么要向8259AINTA引脚发两个单脉冲?读取8259A的中断类型码时,为什么要手工按住第二个INTA不动?
(4)实验步骤4中,如何利用8255A模拟CPU读取8259A的中断类型码的?
(5)实验步骤4中,如何手工模拟CPU响应中断的?如果多中断源同时引起中断,怎么模拟中断响应的?此时为什么要对8255A的工作方式进行切换?
3 教学实施进程
3.1 任务安排
学生以一人一组的形式进行实验,要求充分理解题目要求,利用所学模电、数电、译码技术、定时计数技术、并行接口技术、中断技术等相关知识,认真设计,用心制作,完成调试。
3.2 预习部分
复习译码器设计及其相关应用电路;熟悉8255A并行接口、8253A定时计数的基本原理及及其相关应用电路的设计;掌握8259A单片和级联工作的基本原理和时序;熟悉8086的指令系统及其编程。
3.3 电路设计
根据指标要求,采用手工模拟的方法,对8259A中断管理器的工作过程进行方案论证、设计和模拟。特别要注重实验步骤中各个环节,切实理解各个步骤模拟CPU响应中断的过程及其原因;强调通过实验掌握8259A单片和级联工作的基本原理和时序;学会对并行口和中断管理器的编程。
3.4 分组研讨、总结演讲
重点讨论:
(1)8259A中断管理器的工作过程;
(2)比较分析采用手工模拟的方法,对8259A中断管理器工作过程的设计方案进行。
(3)理解并掌握各个实验步骤的必要性和具体操作的缘由。
4 考核要求与方法
表1为本实验考核的节点、时间、标准及考核方法。
5 结论
该实验项目的主导思想是在教师指导下提倡学生自主设计与自主实验,通过该实验可提高学生的设计与研究兴趣,使学生全面掌握中断管理器工作原理及其应用方面的专业知识,解决现代科研开发过程中的实际问题,具有设计以CPU为控制核心的电子系统的能力,为将来走向社会打下良好的基础。实验涉及译码技术、并行接口技术、定时计数技术和中断管理技术,可进一步提高学生设计硬件、软件的素质和技能,进一步提升学生的实践动手技能。