仁爱学院微机原理复习71_第1页
仁爱学院微机原理复习71_第2页
仁爱学院微机原理复习71_第3页
仁爱学院微机原理复习71_第4页
仁爱学院微机原理复习71_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1、中断技术中断技术本章的主要内容本章的主要内容 I/O的基本知识的基本知识(接口的功能与作用,端口编址方式,信接口的功能与作用,端口编址方式,信息传送方式,端口地址分配与地址译码等)息传送方式,端口地址分配与地址译码等) 中断的基本原理中断的基本原理(中断请求、判优、响应、处理、返回)(中断请求、判优、响应、处理、返回) 8086中断系统中断系统(中断源,中断向量表,中断类型号,中断(中断源,中断向量表,中断类型号,中断响应过程等)响应过程等) 中断控制器中断控制器8259A(内部结构,工作原理,工作方式及编(内部结构,工作原理,工作方式及编程)程)7.1 I/O 7.1 I/O 接口接口一、一

2、、I/O 接口的重要作用接口的重要作用 输入和输出设备是计算机系统的重要组成部分。外设与计算输入和输出设备是计算机系统的重要组成部分。外设与计算机主机连接是通过各种机主机连接是通过各种I/O接口实现的。所以,接口实现的。所以,I/O接口在系接口在系统中起着重要的桥梁作用。如图:统中起着重要的桥梁作用。如图: 总总线线主主设设备备(CPU)总总线线I I/ /O O接接口口外外设设数数据据状状态态命命令令/ /控控制制图图7 7. .1 1 I I/ /O O接接口口在在系系统统中中的的位位置置 I/O I/O接口:接口:连接外设与总线之间的逻辑电路的总连接外设与总线之间的逻辑电路的总称。称。即

3、总线主设备与外设之间的桥梁。即总线主设备与外设之间的桥梁。 通过通过I/OI/O接口,接口,总线与外设可以交换数据,主设备可以控总线与外设可以交换数据,主设备可以控制该制该I/OI/O口的工作口的工作(向(向I/OI/O口写入命令);口写入命令);监测与管理监测与管理I/OI/O口的口的工作状态工作状态;必要时,;必要时,I/OI/O口还可产生中断请求。口还可产生中断请求。 主设备与外设交换数据还存在以下问题需要解决:主设备与外设交换数据还存在以下问题需要解决: 速度不匹配速度不匹配 信号电平不匹配(信号电平不匹配(TTL, CMOS, RS-232TTL, CMOS, RS-232等)等)

4、信号格式不匹配(并行、串行、模拟、数字等)信号格式不匹配(并行、串行、模拟、数字等) 时序不匹配(外设有自己的定时与控制逻辑)时序不匹配(外设有自己的定时与控制逻辑)微机系统中的各种微机系统中的各种I/O接口接口内存内存CPU内存接口内存接口电源电源输入接口输入接口输出接口输出接口通信接口通信接口过程控制接口过程控制接口外存接口外存接口智能仪器接口智能仪器接口 键盘 键盘 光笔 光笔数字化仪数字化仪声音输入声音输入图形输入图形输入打印机打印机显示器显示器绘图仪绘图仪记录仪记录仪终端终端MODEMMODEM电传机电传机通信通信仪表仪表 ADC ADC DAC DAC开关量开关量 输入 输入/输出

5、/输出磁带机磁带机磁盘机磁盘机 光 光 存 存 储 储 器 器 各种 各种 数字 数字化仪器化仪器图7.2 微机系统各种I/O接口示意图图7.2 微机系统各种I/O接口示意图系系统统总总线线二、二、I/O 接口的主要功能接口的主要功能 数据缓冲功能(解决速度差异)数据缓冲功能(解决速度差异) 设备选择(端口地址,译码)设备选择(端口地址,译码) 信号转换功能(电平,并、串,数、模等转换)信号转换功能(电平,并、串,数、模等转换) 对外设的控制与监测功能(发命令,监测状态等)对外设的控制与监测功能(发命令,监测状态等) 中断请求与管理中断请求与管理 可编程功能可编程功能三、三、I/O 端口的编址

6、方式端口的编址方式 I/O 端口端口: 把把I/O接口电路中能被接口电路中能被CPU直接访问的寄直接访问的寄存器或某些特定器件称之为端口存器或某些特定器件称之为端口(Port)。)。I/O接口中接口中常设有数据口、命令口和状态口。常设有数据口、命令口和状态口。 I/O端口的编址方式端口的编址方式 与存储器统一编址与存储器统一编址(或存储器映射方式)(或存储器映射方式) 优点:优点:指令多且齐全;端口空间大。指令多且齐全;端口空间大。 缺点:缺点:指令长且慢;占用内存空间。指令长且慢;占用内存空间。 I/O I/O 独立编址独立编址 优点:优点:指令短(设有单独的指令短(设有单独的I/OI/O指

7、令)执行快;不占内存指令)执行快;不占内存 空间;程序易读。空间;程序易读。 缺点:缺点:端口空间小;需要单独的端口空间小;需要单独的I/OI/O读、写信号。读、写信号。 四、四、CPU与与 I/O 端口之间传送信息的方式端口之间传送信息的方式无条件传送无条件传送 电路简单,电路简单,CPUCPU访问时总认为访问时总认为I/OI/O已准备好。下面是一个无条已准备好。下面是一个无条件传送的输入方式电路:件传送的输入方式电路:来来自自外外设设 数数据据 三三态态缓缓冲冲器器 地地址址译译码码器器数数据据总总线线地地址址总总线线AENIORA0A9Y图图7 7. .3 3 无无条条件件传传送送的的输

8、输入入方方式式 图中,图中,AEN是地址是地址 允许信号。允许信号。当当AEN=0由由CPU控制控制总线;总线; 当当AEN=1时,由时,由DMA控制总线。控制总线。 CPU读三态缓冲器时读三态缓冲器时总认为数据已准备就绪总认为数据已准备就绪程序查询传送方式程序查询传送方式 读读I/OI/O端口状态信息,若准备就绪,就输入或输出,端口状态信息,若准备就绪,就输入或输出,否则,就继续查询等待。显然,该方式否则,就继续查询等待。显然,该方式CPUCPU的大部分时的大部分时间都用在了查询和等待了,所以传送效率不高。间都用在了查询和等待了,所以传送效率不高。 下图是一个查询输入的接口电路。其查询程序如

9、下:下图是一个查询输入的接口电路。其查询程序如下: wait1: mov dx,stport in al,dx test al,80h ;当当ready=1,数据已准备好。数据已准备好。 jz wait1 ;当当ready=0,数据未准备好。数据未准备好。 mov dx,dtport ; 准备好,读端口数据准备好,读端口数据 in al,dx 读读状状态态信信息息READY=1?NY输输入入数数据据输输入入设设备备锁锁存存器器(8 8) 三三态态缓缓冲冲器器(8 8)缓缓冲冲器器(1 1)地地址址译译码码器器状状态态信信息息A0A9IORAENAENIOR(读读状状态态)(读读数数据据)到到数

10、数据据总总线线ReadyDRQ+5V图图7 7. .4 4 查查询询输输入入的的接接口口电电路路与与输输入入程程序序流流程程图图中断传送方式中断传送方式 该方式可大大提高该方式可大大提高CPUCPU的工作效率。的工作效率。 该方式是:当外设要求该方式是:当外设要求CPUCPU交换数据时,可向交换数据时,可向CPUCPU发出中断请求,发出中断请求,CPUCPU在执行完当前指令后,即可中断在执行完当前指令后,即可中断当前任务的执行,根据中断源提供的中断类型号,当前任务的执行,根据中断源提供的中断类型号,转入相应的中断处理程序,以实现对外设的数据传转入相应的中断处理程序,以实现对外设的数据传送和管理

11、。送和管理。 该方式可实现该方式可实现CPUCPU和外设并行工作。和外设并行工作。传传 送送查查 询询 等等 待待I/O 工工 作作传传 送送查查 询询 等等 待待I/O 工工 作作传传 送送tCPU外外 设设图图 7 7. .5 5 查查 询询 传传 送送 方方 式式 下下 C CP PU U与与 外外 设设 工工 作作 过过 程程 示示 意意 图图CPU CPU做做其其 他他 工工 作作I/O工工 作作 CPU做做其其 他他 工工 作作I/O工工 作作外外 设设中中 断断处处 理理中中 断断处处 理理中中 断断处处 理理t t图图 7 7. .6 6 中中 断断 传传 送送 方方 式式 下

12、下 C CP PU U与与 外外 设设 工工 作作 过过 程程 示示 意意 图图 DMA传送方式传送方式 DMA (Direct Memory Access)传送方式又称)传送方式又称直接存储器直接存储器存取方式存取方式 。其原理就是。其原理就是在存储器与外设之间开辟一条高速数据在存储器与外设之间开辟一条高速数据通道,使外设与内存之间直接交换数据。通道,使外设与内存之间直接交换数据。这一数据通道是通过这一数据通道是通过DMA控制器来实现的。在控制器来实现的。在DMA传送期间,不需要传送期间,不需要CPU的任何的任何干预,而是干预,而是由由DMA控制器控制系统总线控制器控制系统总线,在其控制下完

13、成数,在其控制下完成数据传送任务。据传送任务。 对于高速数据传送和与外设频繁交换信息的场合,对于高速数据传送和与外设频繁交换信息的场合,DMA方方式比中断传送方式效率高。因为式比中断传送方式效率高。因为中断传送要不断的保护断点和中断传送要不断的保护断点和现场,使现场,使CPU的工作效率大为降低。的工作效率大为降低。 DMA传送原理示意图如下:传送原理示意图如下:系系统统总总线线CPU存存储储器器输输出出设设备备 DMA控控制制器器HOLDHLDA图图7.7 DMA传传输输原原理理示示意意图图五、五、PC机系列机系列I/O端口地址分配端口地址分配 地址分配:前地址分配:前256个端口给系统板,后

14、个端口给系统板,后768个端口给扩展版个端口给扩展版 系统板上接口芯片的端口地址系统板上接口芯片的端口地址 (000H00FFH)I/O 芯片 端口地址 DMA 控制器 1 DMA 控制器 2 DMA 页面寄存器 00001FH 0C00DFH 08009FH 中断控制器 1 中断控制器 2 02003FH 0A00BFH 定时器 并口 CMOS RAM 协处理器 04005FH 06006FH 07007FH 0F00FFH 扩展槽上接口控制卡的端口地址(扩展槽上接口控制卡的端口地址(100H3FFH)I/O 接口名称 端口地址 游戏控制卡 20020FH 并行口控制卡 1 并行口控制卡 2

15、 37037FH 27027FH 串行口控制卡 1 串行口控制卡 2 3F83FFH 2F82FFH 用户实验卡 30031FH 同步通信卡 1 同步通信卡 2 3A03AFH 38038FH 单显 MDA 彩显 CGA 彩显 EGA/VGA 3B03BFH 3D03DFH 3C03CFH 硬驱控制卡 软驱控制卡 1F01FFH 3F03F7H PC 网卡 36036FH 六、六、I/O端口地址译码端口地址译码 译码电路的两种译码方式译码电路的两种译码方式 固定式固定式端口地址译码端口地址译码 可选式可选式端口地址译码端口地址译码 译码电路的实现途径译码电路的实现途径 门电路译码门电路译码 译

16、码器译码译码器译码 GAL、FPGA器件实现译码(译码电路对外可保密)器件实现译码(译码电路对外可保密) (由于涉及到开发工具与(由于涉及到开发工具与GAL编程,不要求掌握)编程,不要求掌握) 用门电路实现地址译码,有全译码和部分译码用门电路实现地址译码,有全译码和部分译码 全译码电路:全译码电路:I/O所有地址线所有地址线都参加译码的电路称为全译码都参加译码的电路称为全译码电路。溢出的电路。溢出的I/O地址是唯一的地址是唯一的,不会产生地址重叠。,不会产生地址重叠。 部分译码电路:部分译码电路:I/O地址线地址线只有部分地址信号只有部分地址信号参加了译码的参加了译码的电路称为部分译码电路。电

17、路称为部分译码电路。译出的译出的I/O地址有重叠。地址有重叠。 IOR和和IOW、AEN等信号也可参加译码。等信号也可参加译码。 I/O用门电路译码实例:(用门电路译码实例:(a)部分译码)部分译码 (b)全译码)全译码AENA3A4A5A6A7A8A974LS32IORCS口口地地址址:348H34FHIORAENA0A1A2A3A4A5A6A7A8A9Y74LS3274LS3074LS20口口地地址址2F4H图图7.8 用用门门电电路路完完成成地地址址译译码码(a) I/O端端口口部部分分译译码码电电路路(b) I/O端端口口全全译译码码电电路路 采用译码器可同时译出多个端口地址采用译码器

18、可同时译出多个端口地址 常用译码器有常用译码器有3-8译码器译码器74LS138、4-16译码器译码器74LS154,双双2-4译码器译码器74LS139等等ABCG2AG2BG174LS138Y0Y1Y2Y3Y4Y5Y6Y774LS138译译 码码 器器 例:采用例:采用74LS138译码器实现全译码电路译码器实现全译码电路A3A4A6A8A9A5A7AENA0A1A2ABCG2AG2BG174LS138Y0Y1Y2Y3Y4Y5Y6Y7358H359H35AH35BH35CH35DH35EH35FH图图7.9 利用译码器进行译码的全译码电路利用译码器进行译码的全译码电路7.2 7.2 中断的

19、基本概念中断的基本概念中断的概念和全过程中断的概念和全过程* * 什么是中断?什么是中断? 所谓中断就是当所谓中断就是当CPU正常运行程序时,由于随机的事件包正常运行程序时,由于随机的事件包括括内部事件和外部事件内部事件和外部事件)引起)引起CPU暂时中止正在运行的程序,暂时中止正在运行的程序,转去执行请求中断的中断源的中断服务程序,转去执行请求中断的中断源的中断服务程序,中断服务结束后中断服务结束后再返回被中止的程序。再返回被中止的程序。这一过程被称为中断。这一过程被称为中断。* * 中断源中断源 广义地说,广义地说,能引起能引起CPUCPU产生程序中断的随机事件产生程序中断的随机事件就是就

20、是中断源中断源。例如:外设故障、传输错误、定时器时间到等都可以是中断源;例如:外设故障、传输错误、定时器时间到等都可以是中断源;某外设需要传送数据向某外设需要传送数据向CPUCPU发出中断请求,发出中断请求,该外设即是中断源该外设即是中断源。对主机来说,对主机来说,系统掉电、硬件故障、软件错误、设置断点、单系统掉电、硬件故障、软件错误、设置断点、单步操作等也是中断源。步操作等也是中断源。* * 中断过程中断过程 中断的全过程分为以下五步:中断的全过程分为以下五步:中断请求,中断判优,中断响中断请求,中断判优,中断响应,中断服务(处理),中断返回。应,中断服务(处理),中断返回。 中断请求中断请

21、求 中断请求分为中断请求分为边沿请求和电平请求。边沿请求和电平请求。请求信号由低到高或请求信号由低到高或有高到低的跳变为有高到低的跳变为边沿触发请求;边沿触发请求;请求信号为高电平或低电平请求信号为高电平或低电平为电平触发请求。为电平触发请求。 中断判优中断判优 1 1、软件判优、软件判优 2 2、硬件判优、硬件判优 中断响应中断响应 中断响应中断响应就是就是CPUCPU”中断中断”现正在进行的处理任现正在进行的处理任务,转向中断请求相对应的处理程序的过程。务,转向中断请求相对应的处理程序的过程。 中断响应过程应解决如下问题:中断响应过程应解决如下问题: * * 保护断点保护断点( (将当前的

22、将当前的CS:IPCS:IP压入堆栈压入堆栈) ) * * 保护现场保护现场( (寄存器压入堆栈寄存器压入堆栈) ) * * CPU CPU关中断关中断(关闭中断,不允许其他中断产生)(关闭中断,不允许其他中断产生) * * 转到中断请求所对应的处理程序转到中断请求所对应的处理程序(找到新的(找到新的CSCS:IPIP) (控制权转移:方法有固定入口地址;矢量中断)(控制权转移:方法有固定入口地址;矢量中断) 中断处理(服务)中断处理(服务) 中断处理就是中断处理就是执行中断服务程序,完成中断源提执行中断服务程序,完成中断源提出的处理要求。出的处理要求。实际上是软件编程问题。实际上是软件编程问

23、题。 中服程序与子程序的区别:中服程序与子程序的区别:随机事件与意料之中随机事件与意料之中事件;对主程序透明与不透明。事件;对主程序透明与不透明。 若允许中断嵌套,应该在中服程序中开中断若允许中断嵌套,应该在中服程序中开中断(STI)STI)。 中断返回中断返回 中断返回就是中断返回就是CPU控制权由控制权由中服程序转移到被中中服程序转移到被中断程序的过程。断程序的过程。用用IRET指令。指令。中断判优中断判优 什么是中断判优什么是中断判优 CPU管理多个中断源时,在收到中断源发出的中断管理多个中断源时,在收到中断源发出的中断请求后,需判断是哪一个中断源提出的中断请求,请求后,需判断是哪一个中

24、断源提出的中断请求,以便对它进行服务(或处理)。以便对它进行服务(或处理)。 中断判优的方法中断判优的方法 软件查询判优法软件查询判优法 硬件判优法(向量中断和链式判优)硬件判优法(向量中断和链式判优)软件查询判优软件查询判优 CPU响应中断后,响应中断后,转入执行一特定地址的中断服务程序转入执行一特定地址的中断服务程序,该,该中断服务程序查询状态口,确定发出中断请求的外设,然后中断服务程序查询状态口,确定发出中断请求的外设,然后进行相应的处理。进行相应的处理。IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7D0D1D2D3D4D5D6D7INTR(到CPU)IORY中断请求F

25、/F图图7.11 7.11 软件判优电路软件判优电路读读各各外外设设对对应应的的状状态态位位外外设设 1 1有有中中断断请请求求么么?外外设设 2 2有有中中断断请请求求么么?外外设设 1 1的的中中断断处处理理程程序序外外设设 2 2的的中中断断处处理理程程序序外外设设 n n有有中中断断请请求求么么?外外设设 n n的的中中断断处处理理程程序序主主程程序序中中断断查查询询处处理理YNYNYN没没有有中中断断请请求求时时返返回回主主程程序序硬件判优(向量中断法)硬件判优(向量中断法) 多个多个外设经中断控制器向外设经中断控制器向CPU提出中断请求,提出中断请求,CPU响应中断发出响应中断发出

26、INTA信号,中断控制器将相应的信号,中断控制器将相应的中中断向量号(中断类型号)断向量号(中断类型号)放在数据总线上,放在数据总线上,CPU读读取后,即可确定中断源,查取后,即可确定中断源,查中断向量表中断向量表进行相应处进行相应处理。理。 矢量中断优先级控制器原理如下图,优先级判别器矢量中断优先级控制器原理如下图,优先级判别器判别出判别出最高优先级请求最高优先级请求,将其,将其优先级别优先级别转换为转换为3位位代码代码,送到,送到中断矢量中断矢量寄存器的寄存器的低低3位位及及当前在服务当前在服务寄存器寄存器;之后,中断控制逻辑向;之后,中断控制逻辑向CPU发出中断请求发出中断请求信号,信号

27、,CPU中止正执行的程序,向中断控制电路发中止正执行的程序,向中断控制电路发回中断响应信号,然后进入中断处理过程。回中断响应信号,然后进入中断处理过程。硬件判优(向量中断法)硬件判优(向量中断法) 并行判优网络(向量中断实例)并行判优网络(向量中断实例)IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7中中断断屏屏蔽蔽寄寄存存器器IMR中中断断在在服服务务寄寄存存器器ISR优优先先级级判判别别器器中中断断请请求求寄寄存存器器中中断断控控制制逻逻辑辑中中断断矢矢量量寄寄存存器器由由中中断断请请求求决决定定INTA INTR图图7.12 矢矢量量优优先先级级控控制制器器原原理理图图

28、硬件判优(链式判优法)硬件判优(链式判优法) 链式判优电路链式判优电路 与并行判优不同,链式判优是根据中断源在中断判优链上与并行判优不同,链式判优是根据中断源在中断判优链上的物理位置来决定其优先级别的,越靠近的物理位置来决定其优先级别的,越靠近CPU的中断源的的中断源的级别越高。其判优方法如下图所示。级别越高。其判优方法如下图所示。+5VINT到CPUINT0INT1INT2EIEOEIEOEIEO中断源中断源中断源0#1#2#图图7 7. .1 13 3 链链式式判判优优电电路路 中断嵌套中断嵌套 当前正在被执行的中断服务程序可被优先级更高的当前正在被执行的中断服务程序可被优先级更高的中断请

29、求中断中断请求中断 优先级相同或更低的中断请求不能中断当前正在被优先级相同或更低的中断请求不能中断当前正在被执行的中断服务程序执行的中断服务程序7.3 PC7.3 PC机的中断系统机的中断系统中断源类型中断源类型 外部中断外部中断(硬中断)(硬中断) 非屏蔽中断非屏蔽中断NMI 可屏蔽中断可屏蔽中断INTR 内部中断内部中断(软中断)(软中断) 除法错中断除法错中断 溢出错中断溢出错中断 断点中断断点中断 单步中断单步中断PC机中断系统机中断系统 X86的中断源的中断源可可屏屏蔽蔽中中断断源源的的中中断断请请求求INTR单单步步除除法法错错INTnINTO非非屏屏蔽蔽中中断断请请求求中中断断逻

30、逻辑辑NMI ICPU8259A图图7.14 8086的的中中断断源源中断源的优先级中断源的优先级 中断源中断源 优先级优先级 除法错,除法错,INT n,INTO 最高最高 NMI 次高次高 INTR 次低次低 单步中断(单步中断(INT 1) 最低最低硬中断与软中断的比较硬中断与软中断的比较 硬中断的特点硬中断的特点 由外部事件引起,具有随机性由外部事件引起,具有随机性 CPU需发中断响应信号(对需发中断响应信号(对INTR),),对对NMI不发不发 可以被屏蔽(对可以被屏蔽(对INTR),),对对NMI不能屏蔽不能屏蔽 由由中断控制器中断控制器发发中断类型号中断类型号(对(对INTR),

31、对),对 NMI,CPU自动产生(自动产生(02号)号) 软中断的特点软中断的特点 通常,用通常,用中断指令触发中断指令触发,中断的发生时刻是可知的,中断的发生时刻是可知的 CPU不发中断响应信号不发中断响应信号 中断类型号(中断类型号(n)由指令直接给出)由指令直接给出 不可被屏蔽不可被屏蔽非屏蔽中断非屏蔽中断NMI 当当CPU收到非屏蔽中断收到非屏蔽中断NMI请求后,默认该请求的请求后,默认该请求的中断类型号为中断类型号为02H。早期的包括早期的包括3个非屏蔽中断源个非屏蔽中断源 协处理器出错协处理器出错 系统系统RAM奇偶校验错奇偶校验错 I/O通道校验错通道校验错可屏蔽中断可屏蔽中断I

32、NTR 在在CPU的的INT引脚输入引脚输入“高高”有效信号时,则产生有效信号时,则产生硬件可屏蔽中断请求信号。硬件可屏蔽中断请求信号。 是否屏蔽由是否屏蔽由FR寄存器的寄存器的IF位决定。位决定。 IF=0,屏蔽中断(执行屏蔽中断(执行CLI指令)指令) IF=1,允许中断(执行允许中断(执行STI指令)指令) 使用中断控制器管理多个硬件中断源使用中断控制器管理多个硬件中断源内部中断(软中断)内部中断(软中断) 除法错中断除法错中断 执行执行DIV或或IDIV指令时,商超出机器表示的最大值,指令时,商超出机器表示的最大值,即产生即产生0号中断号中断 溢出错中断溢出错中断 当当FR的的OF=1

33、时,执行时,执行INTO指令,即产生指令,即产生4号中断号中断 单步中断单步中断 当当FR的的TF=1时,执行每条指令,即产生时,执行每条指令,即产生1号中断号中断 指令中断指令中断 断点中断断点中断 INT 3H(机器码为:机器码为:CCH),),单字节指令单字节指令 INT nH 在在PC系列机中,系列机中,INT n分为两类:分为两类: ROM-BIOS中断中断 I/O设备控制程序设备控制程序 BIOS实用服务程序实用服务程序 BIOS特殊中断特殊中断 BIOS专用参数中断专用参数中断 DOS中断中断 公开的公开的DOS专用中断(供内核代码专用)专用中断(供内核代码专用) 未公开的未公开

34、的DOS专用中断(供内核代码专用)专用中断(供内核代码专用) DOS可调用中断可调用中断 系统功能调用中断系统功能调用中断 DOS保留保留 软软 中中 断断 分分 类类中断向量表中断向量表 中断向量表及向量号分配中断向量表及向量号分配 由若干中断服务程序入口地址组成的表由若干中断服务程序入口地址组成的表 例:例:X86的中断向量分配表如下图的中断向量分配表如下图 教材后面的附录教材后面的附录D给出了中断向量号的分配给出了中断向量号的分配I PCSI PCSI PCSI PCS内内中中断断外外中中断断软软中中断断中中断断向向量量地地址址中中断断号号0 0- - -0 07 7H H对对应应的的服

35、服务务程程序序中中断断号号0 08 8H H- - -0 0F FH H对对应应的的服服务务程程序序( (8 82 25 59 9A A的的8 8级级中中断断) )中中断断号号1 10 0H H- - -1 1F FH H对对应应的的服服务务程程序序( (R RO OM M- -B BI IO OS S中中断断调调用用) )中中断断号号2 20 0H H- - -2 2F FH H对对应应的的服服务务程程序序( (D DO OS S中中断断调调用用) )中中断断号号4 40 0H H- - -F FF FH H对对应应的的服服务务程程序序( (系系统统保保留留) )0 00 00 00 0:

36、:0 00 0H Hx x4 40 00 00 00 0: :0 08 8H Hx x4 40 00 00 00 0: :1 10 0H Hx x4 40 00 00 00 0: :2 20 0H Hx x4 40 00 00 00 0: :4 40 0H Hx x4 4IPCSIPCS 00000H00004H中中断断向向量量号号0中中断断向向量量号号1中中断断向向量量号号255003FCH003FFHIPCS MEMORY MEMORY 中中断断向向量量表表中中断断向向量量号号分分配配表表外部中断响应与处理过程外部中断响应与处理过程 中断申请中断申请 外设向外设向CPU发中断请求信号申请发

37、中断请求信号申请CPU给予服务,给予服务,CPU决定是否响应决定是否响应 中断响应中断响应 发中断响应信号发中断响应信号INTA,获取中断类型号,保存断点,获取中断类型号,保存断点及及FR于堆栈,查表获得中断服务程序入口地址于堆栈,查表获得中断服务程序入口地址 中断服务程序中断服务程序 保护现场,开中断,对外设进行服务(保护现场,开中断,对外设进行服务(I/O操作),操作),恢复现场恢复现场 中断返回中断返回 从堆栈弹出断点及从堆栈弹出断点及FR,回到中断前的地址继续执行,回到中断前的地址继续执行中断操作流程中断操作流程INT 72HMOV AX, BX向量地址向量地址=72H4=1C8H1C

38、8H1C9H1CAH1CBH1CCH1C4HMEMORYMEMORY502000A0向量73H入口地址向量71H入口地址2050A000IPCSA000:2050中断服务程序IRET图图7.16 中断操作流程中断操作流程中断操作流程说明中断操作流程说明例如:某中断向量号为例如:某中断向量号为72H,图,图7.16示出了中断操作示出了中断操作过程,如下所述:过程,如下所述: 取中断向量号取中断向量号72H; 计算中断向量地址计算中断向量地址724=1C8H; 724+2=1CAH; 取中断服务程序入口地址的偏移量送入取中断服务程序入口地址的偏移量送入IP, IP=2050H,段地址送入,段地址送

39、入CS,CS=A000H; 转入中断服务程序转入中断服务程序A000H:2050H; 中断返回到中断返回到INT 72H指令的下一条指令。指令的下一条指令。中断响应周期(对中断响应周期(对INTR)第第一一个个中中断断响响应应周周期期第第二二个个中中断断响响应应周周期期T T1 1T T2 2T T3 3T T4 4T T1 1T T2 2T T3 3T T4 4CLKALELOCKINTAD7- D0向向量量号号 n7.4 7.4 可编程中断控制器可编程中断控制器 8259 8259A A8259A中断控制器(中断控制器(PIC)功能)功能 优先级排队管理优先级排队管理 完全嵌套完全嵌套 循

40、环优先级循环优先级 特殊完全嵌套方式特殊完全嵌套方式 接受和扩充外部设备的中断请求接受和扩充外部设备的中断请求 利用级联方式可扩展至利用级联方式可扩展至8片,管理片,管理64个中断源个中断源 提供中断类型号提供中断类型号 中断请求的允许与屏蔽中断请求的允许与屏蔽8259A的内部结构和外部特性的内部结构和外部特性数数据据总总线线缓缓冲冲读读/ /写写逻逻辑辑级级联联缓缓冲冲/ /比比较较控控 制制 电电 路路ISR优优先先级级分分析析器器A0CSSP/ENCAS0CAS1CAS2内内部部总总线线INTAIMR中中断断屏屏蔽蔽寄寄存存器器I IN NT TR RRDWR在在服服务务寄寄存存器器PR

41、中中断断请请求求寄寄存存器器D7D0ISRIR0IR1IR2IR78259A(PIC)INTRINTAD7D0A0CSRDWRCAS2CAS1CAS0SP/ENGNDIR0IR1IR2IR3IR4IR5IR6IR7VCC图图7.18 8259A的内部结构和对外引脚图的内部结构和对外引脚图8259A的外部特性的外部特性 8259A是是28脚封装的脚封装的NMOS芯片,其管脚如上图所示。芯片,其管脚如上图所示。18259A与与CPU的连接信号的连接信号 D7D0: CPU与与8259A之间的数据线。之间的数据线。 RD和和WR: 读读/写命令线,通常分别接写命令线,通常分别接CPU的的IOR和和I

42、OW信号信号。 CS和和A0: 片选线和地址线。片选线和地址线。CS由系统的由系统的I/O译码器产生,它确定该译码器产生,它确定该 8259A在系统在系统I/O空间的基地址。空间的基地址。A0用于选择用于选择8259A的内部寄存器。的内部寄存器。 因只有一条地址线,可知该芯片有因只有一条地址线,可知该芯片有两个端口地址两个端口地址。 INT: 中断请求线,高有效,接到中断请求线,高有效,接到CPU的的INTR信号。信号。 INTA: CPU或总线控制器或总线控制器8288来的中断响应信号线。在中断响应期来的中断响应信号线。在中断响应期 间,该信号线送间,该信号线送CPU来的负脉冲。来的负脉冲。

43、 IR0IR7: 8259A的的8个异步中断请求输入信号。高电平和上升沿表示个异步中断请求输入信号。高电平和上升沿表示 有请求。有请求。 2. 8259A与外设间的连接信号与外设间的连接信号 CAS2CAS0 级联信号。它是双向信号,当系统的中断请求多于级联信号。它是双向信号,当系统的中断请求多于8个时,可用两个或个时,可用两个或更多的更多的8259A级联,其中一个是级联,其中一个是主中断控制器主中断控制器,其余的是,其余的是从控制器从控制器。从从控制器的控制器的INTINT输出接到主控制器的一个输出接到主控制器的一个IRIR输入上输入上。在中断响应期间,若。在中断响应期间,若主主8259A判

44、定所响应的是由某一从判定所响应的是由某一从8259A来的中断请求,则它在级联线来的中断请求,则它在级联线上发出该从上发出该从8259A的识别号,并由各个从的识别号,并由各个从8259A接收。接收。 SP/EN 双向信号线。当双向信号线。当8259A与系统数据总线之间加与系统数据总线之间加双向总线驱动器双向总线驱动器以加大以加大8259A的驱动能力时,的驱动能力时,8259A应处于应处于“缓冲方式缓冲方式”。这时,应是输出线,。这时,应是输出线,以控制双向总线驱动器的以控制双向总线驱动器的EN端。端。若不采用缓冲方式,则是若不采用缓冲方式,则是输入线。输入线。由由它决定该它决定该8259A编程为

45、编程为“从片从片”(=1)还是还是编程为编程为“主片主片”(=0)。)。 8259A的内部结构的内部结构 中断请求寄存器(中断请求寄存器(IRR)存放外部中断源发出的中断请求信号,具有锁存功能存放外部中断源发出的中断请求信号,具有锁存功能 正在服务寄存器(正在服务寄存器(ISR)存放正在被服务的中断请求信号。中断嵌套时,有多存放正在被服务的中断请求信号。中断嵌套时,有多个比特同时被置个比特同时被置“1”“1” 中断屏蔽寄存器(中断屏蔽寄存器(IMR)“0”“0”允许中断;允许中断;“1”“1”屏蔽中断屏蔽中断 优先权分析器(优先权分析器(PR)把把IRRIRR的内容与的内容与ISRISR的内容

46、进行比较,响应优先级高的的内容进行比较,响应优先级高的中断中断 数据总线缓冲器数据总线缓冲器三态双向三态双向8 8位缓冲器作为与系统总线的接口位缓冲器作为与系统总线的接口 读读/写控制逻辑写控制逻辑 RD WR 一条地址线一条地址线A0,只有两个端口。,只有两个端口。 (早期的(早期的PC/XT机器中,两个口地址:机器中,两个口地址:20H,21H) 级联缓冲器级联缓冲器/比较器(比较器(CAS2CAS0)用于存储和比较从片中所有用于存储和比较从片中所有82598259的标识号的标识号8259A的级联的级联 8259A的级联,主片可以级联的级联,主片可以级联8个从片个从片8259A(从从)82

47、59A(主主)I IR R0 0I IR R1 1I IR R2 2I IR R3 3I IR R4 4I IR R5 5I IR R6 6I IR R7 7I IR R8 8I IR R9 9I IR R1111I IR R1212I IR R1313I IR R1414I IR R1515I IR R1010CAS0CAS1CAS2地址地址总线总线控制控制总线总线数据数据总线总线D7D0D7D0CSA0RD WRINTAINTCS A0RD WR INTAINTSP+5VSP图图7.19 8259A7.19 8259A级联的级联的1515级中断连接级中断连接8259A的工作方式的工作方式

48、中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式中断查询方式(若系统中断源超过中断查询方式(若系统中断源超过6464个时)个时) 屏蔽中断源的方式屏蔽中断源的方式普通屏蔽方式普通屏蔽方式 若是直接设置若是直接设置CPUCPU的的IF=0IF=0, 则屏蔽所有通过则屏蔽所有通过INTRINTR线的可屏蔽中断申请。线的可屏蔽中断申请。 使用使用8259A8259A中断屏蔽寄存器中断屏蔽寄存器IMRIMR来实现中断源的分别屏蔽:来实现中断源的分别屏蔽:IMRiIMRi作用于作用于 IRiIRi,IMRi=1IMRi=1时,屏蔽由时,屏蔽由IRiIRi输入的中断请求。输入的中断

49、请求。特殊屏蔽方式特殊屏蔽方式 特殊屏蔽方式仅对本级中断进行屏蔽,而允许其他优先级比它高或低的中断特殊屏蔽方式仅对本级中断进行屏蔽,而允许其他优先级比它高或低的中断进入系统,这被称作特殊屏蔽方式。进入系统,这被称作特殊屏蔽方式。如果屏蔽了某些中断,优先级比它们低的中断就可以得到响应。但是如果优如果屏蔽了某些中断,优先级比它们低的中断就可以得到响应。但是如果优先级高的中断正在服务,即它们的先级高的中断正在服务,即它们的ISR=1ISR=1, 低级中断仍然不能得到响应。低级中断仍然不能得到响应。 中断嵌套方式中断嵌套方式正常全嵌套方式正常全嵌套方式特殊全嵌套方式特殊全嵌套方式 中断优先级方式中断优

50、先级方式优先级自动循环方式优先级自动循环方式(IR0-IR7(IR0-IR7的优先权是可变的的优先权是可变的) )当某一个中断请求当某一个中断请求IRiIRi服务结束后,该中断的优先权自动降为最低,服务结束后,该中断的优先权自动降为最低,而紧跟其后的中断请求而紧跟其后的中断请求IR(iIR(i1)1)的优先权自动升为最高,的优先权自动升为最高,IR7IR7IR0IR0优先权级别按如下所示的右循环方式改变。优先权级别按如下所示的右循环方式改变。 优先级指定循环方式优先级指定循环方式 结束中断的处理方式结束中断的处理方式正常中断结束方式(正常中断结束方式(EOIEOI)指定中断结束方式(指定中断结

51、束方式(SEOISEOI)自动中断结束方式(自动中断结束方式(AEOIAEOI) 名词解释名词解释 正常全嵌套方式正常全嵌套方式 允许比现正处理的允许比现正处理的优先级更高优先级更高的事件打断它的处理而被服务。的事件打断它的处理而被服务。 特殊全嵌套方式特殊全嵌套方式 允许允许同级和高优先级同级和高优先级的请求可以打断正进行的处理而实现嵌套。的请求可以打断正进行的处理而实现嵌套。此方式仅用于主片此方式仅用于主片PIC。 中断结束命令(中断结束命令(EOI) 有三种有三种EOI命令,命令,使得中断响应或处理完后能使相应的使得中断响应或处理完后能使相应的ISRISR复复位位(即(即ISRi=0)。

52、)。 * 正常正常EOI命令:命令:在中断处理结束时使当前优先级最高的在中断处理结束时使当前优先级最高的ISRISR复位。复位。 名词解释名词解释 * 指定指定EOI命令(命令(SEOI) :该该EOIEOI命令指出了所复位的命令指出了所复位的ISRISR的的号。该命令用于不能肯定本级是否最高优先级的场合。号。该命令用于不能肯定本级是否最高优先级的场合。 * 自动自动EOI命令(命令(AEOI):该方式下,当某一):该方式下,当某一IRQ被被CPU响应响应中断结束时自动使其中断结束时自动使其ISR为为0 0。这种方式免除了中断处理结束时。这种方式免除了中断处理结束时一定要向一定要向8259A发

53、送发送EOI命令的必要。命令的必要。8259A8259A全嵌套方式流程图全嵌套方式流程图主主程程序序STIIR4处处理理 IR3处处理理 IR1处处理理 EOIIRETEOIIRETEOIIRETIF=1IF=1IF=1IF=1IF=1STISTISTIIS10IS30IS40IF=1IS31IF=0IS11IF=0IS41IF=0IR3IR1IR4若若设设置置为为固固定定优优先先级级,顺顺序序为为I IR R0 0级级别别最最高高,I IR R7 7最最低低图图7 7. .2 23 3 全全嵌嵌套套工工作作方方式式下下的的中中断断嵌嵌套套示示意意图图IF=18259A编程(命令字)编程(命令

54、字) 初始化命令字(有初始化命令字(有4个初始化命令字个初始化命令字ICW) 芯片控制(工作方式设置)芯片控制(工作方式设置)ICW1 中断类型号中断类型号ICW2 级联方式级联方式ICW3 特殊全嵌套、缓冲器方式特殊全嵌套、缓冲器方式ICW4 操作命令字(有操作命令字(有3个操作命令字个操作命令字OCW) 中断屏蔽字中断屏蔽字OCW1 中断结束方式中断结束方式OCW2 中断查询中断查询OCW3初始化命令字初始化命令字1(ICW1) 完成触发方式设置及级联方式设置的功能完成触发方式设置及级联方式设置的功能0 00001ADILTIMSNGLIC40 无无ICW41 有有ICW40 多多片片82

55、59A1 单单片片8259APC机机不不用用0 边边沿沿触触发发1 电电位位触触发发PC机机不不用用A0D7D6D5D4D3D2D1D0图图7.29 ICW1命命令令字字格格式式 ICW1字字标标志志初始化命令字初始化命令字2(ICW2) 完成中断矢量号设置的功能完成中断矢量号设置的功能 (高(高5位由用户设定,低位由用户设定,低3位由系统自动填入)位由系统自动填入)T3T7T6T5T4D3D7D6D5D4D2D1D00 0 0 1 1 1 IR0IR7 A01中中断断矢矢量量的的高高5 5位位由由用用户户决决定定图图7 7. .3 30 0 中中断断矢矢量量字字( (I IC CW W2 2

56、) )格格式式 例例 在奇地址端口写入在奇地址端口写入00001010B后,对应的中断类型号后,对应的中断类型号为为08-0FH(低(低3位是自动填入的)位是自动填入的) 在奇地址端口写入在奇地址端口写入10000010B后,对应的中断类型号后,对应的中断类型号为为80-87H初始化命令字初始化命令字3(ICW3) 只在级联方式下使用。完成主、从片间连接关系设只在级联方式下使用。完成主、从片间连接关系设置功能置功能 对主片的设置对主片的设置IR7IR6IR5IR4IR3IR2IR1IR0A0IRi=1, ,该该IR输输入接一从片入接一从片PICIRi=0, ,该该IR直接接主片的中断直接接主片

57、的中断输输入入1 对从片的设置对从片的设置ID0ID1ID200000A0从从PIC的的识识别别号号0000号号, ,接接主主PIC的的IR01117号号, ,接接主主PIC的的IR71 例如:一个主片和两个例如:一个主片和两个从片的级联如图,主片从片的级联如图,主片和两个从片的和两个从片的ICW3分别分别初始化。初始化。INTINTINTIR0IR1IR7IR0IR1IR7IR0IR1IR7IR2IR68259A主主片片8259A从从片片A8259A从从片片BINTA(由由CPU发发来来的的中中断断响响应应信信号号)(发发到到CPU的的中中断断请请求求信信号号)主主片片ICW3=010001

58、00B从从片片AICW3=02H从从片片BICW3=06HCAS0CAS2初始化命令字初始化命令字4(ICW4) ICW4:完成结束中断方式、缓冲模式和嵌套模式的设置功能完成结束中断方式、缓冲模式和嵌套模式的设置功能0SFNM BUFM/SAEOI00PMPIC所所接接的的CPU选选择择1:8086/80880: 8080/80851:自自动动EOI方方式式 0:非非自自动动EOI方方式式11:缓缓冲冲方方式式/主主PIC10:缓缓冲冲方方式式/从从PIC0X: 非非缓缓冲冲方方式式 1:特特殊殊全全嵌嵌套套方方式式0: 一一般般全全嵌嵌套套方方式式 A01 特殊完全嵌套方式特殊完全嵌套方式

59、当前正在被执行的中断服务程序可被当前正在被执行的中断服务程序可被优先级相等或优先级相等或更高的中断请求中断更高的中断请求中断 结束中断结束中断EOI 普通普通EOI 中断服务程序需向中断服务程序需向82598259A A 送中断结束命令(送中断结束命令(EOIEOI)标标识中断结束识中断结束 自动自动EOI 中断程序无需送中断程序无需送EOIEOI命令。在第二个命令。在第二个INTAINTA脉冲信号的脉冲信号的后沿,将后沿,将ISRISR的对应的对应bitbit清清0 0。 操作命令字操作命令字1(OCW1) 操作命令字的功能:在系统运行过程中,对操作命令字的功能:在系统运行过程中,对8259

60、A的状态和的状态和操作方式进行修改和控制。操作方式进行修改和控制。 OCW1: 完成完成中断屏蔽中断屏蔽IR0-7IR0-7的设置功能。的设置功能。OCW1可读可写可读可写M7M6M4M3M2M1M0M5A0Mi=1,该该级级IRi被被屏屏蔽蔽Mi=0,该该级级IRi被被允允许许中中断断1操作命令字操作命令字2(OCW2) OCW2:完成非自动中断结束、中断排队方式的设置功能完成非自动中断结束、中断排队方式的设置功能00RSLEOIL2L1L0所指的所指的IR的号的号000IR0001IR1111IR7操作命令操作命令001:非指定:非指定EOI命令(命令(NSEOI)011:指定:指定EOI

温馨提示

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

评论

0/150

提交评论