微型计算机系统 (8).ppt
《微型计算机系统 (8).ppt》由会员分享,可在线阅读,更多相关《微型计算机系统 (8).ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 8 8 章章中断技术及中断技术及8259A的使用的使用教学重点(1)中断基本概念(2)8086中断系统(3)可编程中断控制器8259A教学要求理解:1)中断、中断源、中断向量、中断过程;2)8086中断系统结构、中断类型码、中断过程;3)8259A 的功能、编程及使用方法;掌握:1)8086中断方式及中断入口地址形成方式;2)8086中断处理过程;3)8259A的初始化方法;第第8章章 中断技术及中断技术及8259A的使用的使用8.1 中断的概述中断的概述 8.2 中断的一般过程中断的一般过程 8.3 8086中断系统中断系统 8.4 中断控制器中断控制器8259A8.1 中断的概述中断
2、的概述 中断是微机原理中的一种非常重要的技术,也是CPU和外部设备进行数据交换的一种很有效的方法 中断的概念中断的概念 所谓中断(Interrupt),是指计算机在运行过程中,当有某些紧急事件或外设请求发生时,迫使CPU暂时中断现行程序的运行而去处理紧急情况或外设请求,即去执行其对应的中断服务程序;等到事件处理完毕,又返回原程序的中断点处,继续执行被中断的程序。这个过程和机制称为中断。中断的用途中断的用途 CPU与I/O设备并行工作实现实时处理多道程序或多重任务的运行故障处理中断源及其来源分类中断源及其来源分类 引起中断的原因,或能发出中断申请的来源,称为中断源。通常中断源有以下几种:一般的输
3、入、输出设备。如键盘、纸带读入机、行打印机等。数据通道中断源。如磁盘、磁带等。实时时钟 故障源 为调试程序而设置的中断源中断的分类就其性质讲,可分为内部中断和外部中断 所谓外部中断,一般是指I/O设备或其它硬件电路所引起的中断。它的特点是通过硬件向CPU发出中断请求信号,经常称外部中断为硬件中断。外部中断又分为非屏蔽中断(NMI)和可屏蔽中断(INTR)。所谓内部中断,主要指CPU内部的中断,是通过指令设置的中断。所以内部中断也称为软件中断。使用软件中断,其功能类似于子程序调用。只是这些子程序大部分是系统提供的,所以这类子程序的调用相当于高级语言中的库函数的调用。8.2 中断的一般过程中断的一
4、般过程 中断请求中断响应中断服务中断返回中断请求 中断请求信号是由中断源向CPU发出的。中断源可以是外部事件,也可以是CPU的内部事件。外部事件的中断请求是外部设备向CPU中断请求引脚发出的电平或边沿信号。内部事件的中断请求可以是CPU执行一条中断指令使CPU进入中断处理过程,也可以是CPU执行程序的结果使CPU进入中断处理过程。中断响应若为非屏蔽中断申请,则CPU执行完正在执行的那一条指令后,做好保护工作即可去响应;若为可屏蔽中断申请,CPU只有得到允许才能去响应。这就是说CPU能否在接到中断申请后立即响应要视情况而定。对可屏蔽的中断申请,CPU要响应,必须满足以下三个条件:p无总线请求;p
5、CPU允许中断;pCPU执行完现行指令。CPU响应中断要自动完成三项任务:u关闭中断;uCS,IP以及PSW的内容推入堆栈(保护断点);u取得中断服务程序入口地址,进入中断服务。中断服务中断服务包括以下六个过程:保护现场 开中断 中断服务程序 关中断 恢复现场 开中断返回 中断返回 在中断服务程序最后安排一条中断返回指令,使断点送回程序计数器IP,继续执行被中断的程序。8.3 8086中断系统中断系统NMIINTR硬件中断可屏蔽中断请求INT n 指令非屏蔽中断请求中 断 逻 辑INT3指令INTO指令单步中断除数为0中 断中断控制系统(8259A)8086的中断分类软件中断中断向量及中断向量
6、表中断向量及中断向量表 所谓中断向量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断向量。8086的中断系统是以位于内存0段的03FFH区域的中断向量表为基础的,中断向量表中最多可以容纳256个中断向量。中断向量并不是任意存放的。一个中断向量占4个存储单元,其中,前2个单元存放中断处理子程序入口地址的偏移量(IP),低位在前,高位在后,后2个单元存放中断处理子程序入口地址的段地址(CS),同样也是低位在前、高位在后。按照中断类型的序号,对应的中断向量在内存的0段0单元开始有规则地进行排列。8086中断处理的优先级中断处理的优先级 8086CPU的中断优先权排列从高到低为:除法出错
7、中断,溢出中断,INT n,断点中断 NMI INTR 单步中断8086中断类型号的获取方法中断类型号的获取方法有两种方法获取类型号。第一种是用指令直接获取。对于类型号04的中断,由于8086CPU已规定了产生中断的原因,所以可以直接获取类型号。而INT N类型的中断可以由指令直接得到中断类型号。第二种是由外部引入的INTR中断,当CPU响应中断时必须由硬件提供中断类型号。在可屏蔽中断响应周期进行到第二个周期时,类型号放入数据总线,CPU从数据总线上获取类型号 8086中断过程之内部中断过程中断过程之内部中断过程 首先将状态寄存器的内容压入堆栈中。置TF=0,暂停单步中断,并置IF=0,用以屏
8、蔽以后的可屏蔽中断。断点地址CS:IP压入堆栈。识别中断源,首先获取中断类型号,并将其乘4,得到存储中断向量的起始地址,进而取得中断向量。将中断向量中的高地址的字送入CS寄存器,将低地址的字送IP寄存器中。执行中断服务程序。中断服务程序最后一条指令为IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。8086中断过程之非屏蔽中断过程中断过程之非屏蔽中断过程 CPU一旦响应了中断请求,首先将状态寄存器的内容压入堆栈中。置TF=0,暂停单步中
9、断,并置IF=0,用以屏蔽以后的中断。断点地址CS:IP压入堆栈。识别中断源,首先由中断类型号02H查中断向量表读取中断服务程序的入口地址到CS和IP中。执行中断服务程序。执行中断返回指令IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。8086中断过程之可屏蔽中断过程中断过程之可屏蔽中断过程 执行中断响应周期发出中断响应信号,从数据总线读取中断类型号。如果当时IF=0,那么可屏蔽的中断源被屏蔽。当IF=1时,CPU在执行完当前指令(有
10、重复前缀的字符串操作指令除外)后将响应它所收到的中断请求。如果有几个中断源同时请求中断,则CPU只响应其中优先级最高的。CPU一旦响应了中断请求,首先将状态寄存器的内容压入堆栈中。置TF=0,暂停单步中断,并置IF=0,用以禁止CPU响应新的可屏蔽中断请求。将指示断点的指令指针寄存器IP及代码段寄存器CS的内容压入堆栈。识别中断源,首先获取中断类型号,并将其乘4,得到存储中断向量的起始地址,进而取得中断向量。将中断向量中的高地址的字送入CS寄存器,将低地址的字送IP寄存器,于是开始执行中断服务程序。中断服务程序最后一条指令为IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机系统 8 微型计算机 系统
限制150内