版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章
输入输出接口及中断技术§6.4中断技术
查询方式会使CPU的效率降低,特别是与低速外设进行数据交换时,CPU需要等待更多的时间。对多个外设进行I/O操作时,如果有些外设的实时性要求较高,CPU有可能因来不及响应而造成数据丢失。断点主程序中断服务程序中断请求对外设进行处理继续执行返回断点中断传送方式6.4.1中断的基本概念
所谓中断,是指计算机在正常执行程序的过程中,由于某非预料事件的发生使CPU暂时停止当前程序的执行,而转去执行相关事件的处理程序,结束后又返回原程序继续执行,这样的一个过程就是中断。什么是中断?中断源:能使CPU产生中断的信息源,或能发出中断请求的事件,称为中断源。一、中断源内部中断CPU自身产生的中断。因程序执行过程中的异常情况所引起的,也称为异常中断。例如,除法出错、溢出、单步、中断指令等。外部中断CPU以外部件产生的中断,也称为硬件中断。例如,键盘中断、定时中断、电源故障等。二、中断过程中断处理一般需要经历下述七个过程。(1)中断请求外部中断源:中断请求信号加至CPU的中断请求输入引脚。内部中断源:通过CPU内部特定事件的发生或特定指令的执行作为对CPU的中断请求。(2)中断响应
CPU接受中断请求就称为中断响应。每条指令的最后一个时钟周期检测是否有中断请求。内部中断源:CPU会无条件响应。外部中断源:只有在满足响应条件时,CPU才会响应。(3)断点保护为了使CPU在完成中断服务后能返回原程序继续执行,需要将原程序被中断处的相关信息(IP、CS、标志寄存器、其他寄存器内容)保存到堆栈中。(4)中断源识别系统中有多个中断源,中断请求时,通过中断优先权判别响应最高级别的中断请求,且中断源须自身提供其编码,供CPU进行识别,以便对其进行相应的服务。(5)中断服务每一个中断源都有其相应的服务程序,CPU识别中断源后,会取得其中断服务程序的入口地址,并转入该中断程序,进行相应的中断服务。(6)断点恢复当CPU完成相应的中断服务后,将原来在中断程序中用软件保存的断点信息从堆栈弹出,恢复为中断前的内容。(7)中断返回在中断程序的最后,通过执行一条中断返回指令,将IP、CS及标志寄存器的内容从堆栈中弹出,使CPU返回到中断前的程序,并从断点处继续执行。中断请求中断响应断点保护中断源识别中断返回中断服务断点恢复中断服务是进行数据交换的实质性环节中断工作过程中断
如果同一时间有多个中断源向CPU提出中断请求,CPU该如何处理?——中断优先级的控制问题解决以下两个方面的问题:
(1)CPU首先响应最高优先级的中断请求。中断源优先权是依据它们的重要性事先规定好的。
(2)中断嵌套高优先级的中断请求可以中断低优先级的中断服务。在中断服务程序中要有开中断指令。三、中断控制1.中断优先级及中断嵌套
第一种为软件查询方式,第二种为简单硬件方式,第三种为专用硬件方式。2.中断排队的方法(1)软件查询方式方法:响应中断后,利用软件查询有哪些外设申请中断,并判断中断源的级别。优先权由查询的次序来决定,首先查询的即为优先级最高的。实现软件查询的接口电路软件查询程序流程中断优先级由查询顺序确定,先被查询者具有高优先级。可以通过修改软件改变中断优先级。响应速度慢,服务效率低。特点:
在硬件排队逻辑中,各个中断源的优先级由连线固定下来,各个中断源可以通过各自的请求线向CPU提出中断请求。在这种情况下,可以用每一个来自中断源的请求信号封锁它后面的其它请求,组成判优逻辑,在提出请求的中断源中,只有优先级最高者才能将其请求信号送到CPU,其余请求均被封锁。(2)简单硬件方式链式排队法INTACPUINTAINTR外设1外设2外设接口1菊花链逻辑电路外设接口2外设3外设接口3菊花链逻辑电路菊花链逻辑电路┇IREQ1IREQ2IREQ3中断应答INTAINTA中断应答中断应答INTA
这种方法是利用外设在系统中的物理位置来决定其中断优先权的。菊花链逻辑电路INTAIREQDB三态门中断向量码E外设接口中断应答菊花链逻辑电路INTA下一级6.4.2
8086/8088中断系统和处理8086/8088微机中断系统能处理和支持256种不同的中断:
一、内部中断:软中断出错中断
二、外部(硬件)中断:非屏蔽中断NMI
可屏蔽中断INTRCPU在执行某些指令时出现错误而引发的中断。主要包括:除法出错中断、单步执行中断、溢出中断、断点处理中断
还有边界异常中断、指令异常中断、双重中断、段不存在中断、堆栈异常中断••••••发生内部出错中断,必须立即处理。一、出错中断二、软中断(1)一律由安排在程序中的“INTn”指令引起,n为中断类型号。(2)进入中断后,不执行中断响应周期,不读中断类型码。(3)不受IF影响,IF=1或0都引起中断。(4)没有随机性,指令位置已定。外部中断是随机的,由I/O设备引起,何时发生未知。(5)中断指令本身提供中断类型号。三、非屏蔽中断NMI
类型号为02H。边沿触发,不受中断标志位IF的影响。
把NMI划分为外部中断,是因为它是CPU的一个中断输入端,和可屏蔽中断一样。但非屏蔽中断是由计算机内部硬件出错引起的,与外部的I/O设备无关。四、可屏蔽中断INTR
这些中断一般都是从CPU的INTR端引入的,属于电平触发。(1)可以异步实时响应多级可屏蔽中断。(2)可屏蔽。通过IF置1或清0来允许或禁止INTR。(3)允许中断嵌套,正在被服务的中断程序可以被更高级的中断打断。(4)CPU响应INTR请求除了IF=1,还得等当前指令结束。(5)CPU得到中断类型号n后,由总线控制器发出两个INTA脉冲。NMIINTR中断逻辑INTn溢出中断除法错单步中断非屏蔽中断请求中断控制器8259A断点中断8086/8088中断源n43012可屏蔽中断请求CPU可屏蔽中断源的类型码由8259A提供8086CPU的中断优先权排列从高到低为:(1)除法出错中断,溢出中断,INTn;(2)NMl;(3)INTR;(4)单步中断。1.中断类型码
8086中断系统能处理256种不同类型的中断,为使CPU识别每一种中断源,将中断源分别编号,(0~255),赋予每个中断源的编号称为中断类型码(中断类型号)。
6.4.3中断向量和中断向量表常用中断类型码的功能表常用中断类型号及其功能中断类型号中断功能中断类型号中断功能0H除法错中断10HCRT显示I/O驱动程序1H单步中断11H设备检测2HNMI12H存储器大小检测3H断点中断13H磁盘I/O驱动程序4H溢出中断14HRS-232I/O驱动程序5H打印屏幕15H盒式磁带机处理6H保留16H键盘I/O驱动程序7H保留17H打印机I/O驱动程序8H电子钟定时中断18HROMBASIC9H键盘中断19H引导(BOOT)AH保留的硬件中断1AH一天的时间BH异步通信中断(COM2)1BH用户键盘I/OCH异步通信中断(COM1)1CH用户定时器时标DH硬磁盘中断1DHCRT初始化参数EH软磁盘中断1EH磁盘参数FH并行打印机中断1FH图形字符集DOS操作系统中断调用中断类型号中断功能20H程序结束21H请求DOS功能调用22H结束地址23H中止(Ctrl-Break)处理24H关键性错误处理25H磁盘顺序读26H磁盘顺序写27H程序结束且驻留内存28HDOS内部使用29H~2EHDOS保留使用2FHDOS保留使用30H~3FHDOS保留使用2.中断向量每个中断源都有一个中断处理程序,每个中断处理程序都有一个入口地址。中断向量:每个中断程序的入口地址(包括段地址和偏移地址)称为中断向量。每个中断类型对于一个中断向量。3.中断向量表PC机中,将所有中断处理程序的入口地址集中存放在内存中一个连续的区域内。按照中断类型号依次排列,形成一个数据表格,称为中断向量表。8086/8088系统用内存最低端的1KB空间作为中断向量表(00000H~003FFH),共256个中断向量,按序号排列。中断向量表每个中断向量在内存中占4个字节,共256个中断向量,因此占存储器1KB的空间。每个中断向量占用4个字节。在这四个字节中,包含着这个中断向量(或这种中断类型)的服务程序的入口地址——前两个字节为服务程序的IP,后两个字节为服务程序的CS。中断向量
ABCD:123434H12HCDHABH向量地址0:0020H0:0022H0:0021H0:0023H偏移地址的低位偏移地址的高位段基址的低位段基址的高位
中断源对应的中断向量在中断向量表中的位置,称为向量地址。
每个中断向量在内存中占4个字节,共256个中断向量,因此占存储器1KB的空间。中断向量高地址字为中断处理程序的段地址CS,低地址字则是偏移地址IP。
CPU根据中断类型号n,计算4×n,从表中4×n地址开始的连续4字节单元里获取中断处理程序的入口地址。例:某外部中断类型码为08H,它的中断服务程序的入口地址是1020H:0040H,请用8086汇编语言编程,将该中断的入口地址填入中断向量表中。MOVAX,0000MOVDS,AXMOVAX,0040MOV[0020],AXMOVAX,1020MOV[0022],AX系统怎么转入相应的处理程序?利用中断向量表
中断向量表是中断类型号与相应中断源的中断处理程序入口地址之间的连接表。
CPU根据中断类型号结合中断向量表就可以转入相应的中断处理程序。
中断向量在中断向量表中的存放是按照从低到高的顺序排列256个中断向量,而每一个中断源在向量表里占四个字节。CPU获取中断类型码的方法:(1)对于内部中断,系统直接通过内部电路得到中断类型号。(2)软中断,由INT指令提供。(3)INTR中断,两种情况:一类是外设把N放在I/O口的寄存器中,CPU通过总线获得。一类是利用中断控制器8259A。LIC(大规模集成电路)电路复杂,如何学习?学习并应用的方法:不强调内部原理的具体分析侧重掌握其外部特性:引脚的名称及定义内部逻辑结构功能的描述(控制字)及性能指标§6.5可编程中断控制器8259A主要功能有:
(1)可以直接管理8个中断源,级联方式下不用附加电路就可以管理64个可屏蔽中断源,并具有优先权判决功能。
(2)能为中断源提供中断向量码。
(3)可以对每一级中断进行屏蔽控制。
(4)可提供多种可供选择的工作方式,能通过编程进行控制。中断控制器8259A
结构引脚功能优先级管理级联(主片从片)编程(ICWOCW)8259A内部结构图中断服务寄存器ISR数据总线缓冲读写控制逻辑缓冲/比较中断优先级裁决器PR中断请求寄存器IRR中断屏蔽寄存器IMR控制电路操作命令寄存器组初始化命令寄存器组内部控制电路内部总线IR0•••IR7(级联至其他8259)D7~D0中断请求寄存器
IRR(IntertuptRequestRegister)8位,存放从IR0―IR7中断请求信号。中断请求IRQ0―IRQ7送到IRR中的相应位置,则相应位置1。优先级:IRQ0最高,IRQ7最低触发方式:电平触发边沿触发中断优先权裁决器
PR
中断优先权裁决器要对IRR中未被屏蔽的中断和中断服务寄存器(ISR)中正在被服务的中断进行优先级的判断。
裁决结果:服务优先级高的如果发送来的新中断请求被中断屏蔽寄存器(IMR)屏蔽,则无权进入裁决器。中断服务寄存器
ISR(InterruptSreviceRegister)8位,存放正在被处理的中断请求。无中断服务时,各位为0。进行中断处理时,相应位置置1,处理完归0。
中断屏蔽寄存器
IMR(InterruptMaskRegister)8位,与IR0―IR7对应。接受来自CPU的8位屏蔽字(OCW1)。OCW1的各位对应八个中断请求,被置1的位,相应的中断请求将被屏蔽,不参加优先级的判断。
通过设置屏蔽字,来改变原来的优先级级别。内部控制电路初始化命令寄存器组操作命令寄存器组控制电路ISRPRIRRIMR没有屏蔽数据总线缓冲器8位的双向的三态缓冲器,传送CPU发出的控制命令并返回有关状态信息。读/写逻辑PC/XT使用单片8259A,端口地址为20H和21H。PC/AT使用两个8259A,主片端口地址为20H和21H
,从片端口地址为A0H和A1H
。
级联缓冲器
主片对从片的选择是由缓冲比较器上的引脚CAS0~CAS2来实现的。中断请求的处理过程:
(1)接受中断请求
(2)判断是否被IMR屏蔽
(3)由PR对新中断和正在处理的中断进行判优,向CPU发送一个INT信号。(4)CPU响应中断(5)CPU向8259A回送两个信号(6)第一个负脉冲到来,IRR的锁存功能失效。(7)第二个负脉冲到来,锁存功能恢复。将中断类型码送到数据总线上,如果ICW4的中断结束位为1,则ISR中的相应位归零。(8)CPU取出中断源的中断向量,使CPU执行该中断源的中断服务程序,为外设服务。8259A引脚图8259A6.5.28259A引脚:片选允许端,片选信号为0时,才可对8259A进行编程和控制。:写命令信号输入端,低电平有效。:读命令信号输入端,低电平有效,从数据总线上接受数据。:片内寄存器选择,输入。选择8259A内不同的命令字。:双功能端,8259A处于缓冲状态时,作为输出。非缓冲状态下,为输入。(1)控制缓冲器的接受和发送(2)表示8259A的主从地位:中断请求:应答信号
:级联信号,主片的这三个端是输出信号,送到各个从片的此三端。6.5.3中断优先级的管理四种主要工作方式和从属方式:一、完全嵌套二、循环优先级三、特定屏蔽四、程序查询一、结束中断二、读状态三、中断请求触发四、数据缓冲方式
此外,还分单片和多片系统,后者的主片采取特殊全嵌套方式。以上方式都可用编程实现。一、中断优先级的管理方式1.完全嵌套方式默认的工作方式,优先级从IR0到IR7递减。在此方式中,对同级别的中断请求不予响应,只响应更高级的中断请求。2.特殊全嵌套方式对同级别的中断请求也给予响应。3.优先级自动循环方式优先级的顺序不固定,使得每一个中断源都有机会享受最高优先级的资格。实现自动循环方式,有两种途径:
一个是在中断服务程序的末尾发一条普通EOI循环指令
一个是在主程序或中断服务程序中发置位或复位EOI循环指令4.特殊循环方式
初始队列是据需要通过编程实现,并通过发特殊循环操作命令来指定下一个优先级的顺序。
利用中断屏蔽命令屏蔽当前中断,可以响应较低的中断请求。但此时ISR相应位上仍为1。
在特殊屏蔽方式中,把ISR中的相应位清0,就开放了较低的中断请求。
CPU仍然执行较高级别的那个中断服务程序,但8259A芯片由于ISR的相应位归0,仍可以向CPU发出一个INT中断请求。5.特殊屏蔽方式1.完全嵌套方式2.特殊全嵌套方式3.优先级自动循环方式特殊循环方式5.特殊屏蔽方式8259A中断优先级管理方式8259A最基本的默认工作方式。中断优先权是从IR0到IR7由高到低。完全嵌套方式中同级中断不响应,而特殊全嵌套方式中同级中断也响应。优先级不是固定的,而是循环改变的。与普通循环方式的区别在于初始队列可根据需要由程序自行设置。未被屏蔽的中断源,所有的位都被开放,都允许中断请求二、中断请求触发方式电平触发方式边沿触发方式
当中断请求出现高电平时,表示有中断请求。高电平必须持续到CPU响应,直到第二个负脉冲到达8259A为止。在ISR的相应位清0之前撤销。
在电平变化的上升沿,表示有中断请求。在第一个负脉冲到达之前,同一个输入端不能出现第二次上升跃变。三、中断结束(EndofInterrupt)处理方式(1)普通EOI方式用于完全嵌套方式,每得到一次EOI命令,ISR中已经置1的各位中,优先级最高的那一个要复位。向8259A发送一个常规中断结束命令字。(2)特殊EOI方式用于特殊屏蔽方式,明确指明本次复位的是哪一位。向8259A发送一个特殊中断结束命令字,根据D2—D0的编码,把指定位清0。(3)自动EOI方式
利用CPU发回的第二个响应负脉冲的下降沿来执行一次普通EOI方式。
问题:ISR中的相应位会被提前清0,如果来一个新的中断请求,只要CPU处于开中断状态,都将中断服务程序,出现低级中断高级的不合理现象。
所以CPU必须处于关中断状态。(4)自动EOI优先级循环方式
选择自动中断结束方式,向8259A写入“设置自动EOI,优先级循环”的操作命令字OCW2。在第二个中断响应信号到达时,自动把ISR中置1的优先级最高的位清0。完成优先级循环。(5)常规EOI优先级循环方式
初始化编程选择“非自动中断”,中断服务程序结束,执行中断子程序之前,送“普通EOI,优先级循环”的命令字到8259A。四、总线连接方式(1)缓冲方式
8259A通过总线驱动器和系统数据线相连,8259A应选择缓冲方式。(2)非缓冲方式
8259A的数据线与系统数据线直接相连,8259A应选择非缓冲方式。6.5.48259A的寄存器编程初始化命令字和操作命令字初始化命令字ICW
(InitializationCommandWord)操作命令字OCW
(OprationCommandWord)
预置初始工作状态及工作方式,规定8259A的基本操作。
在8259A正常操作过程中进行编程,控制8259A执行不同的操作方式。开始结束用ICW2设类型码设ICW3,从片?级联?主机?ICW4设ICW3,主片设ICW4????设置ICW1一、ICW1.ICW10配置中断指针的第七至第五位1:高电平触发0:上升沿触发1:调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年减肥指导场景智能音箱多轮对话实践
- 护理人文关怀与健康教育
- 护理护理专业素养
- 护理课件曲线图:患者睡眠质量改善趋势
- 6.1 友谊的真谛 教学课件(共23张)+内嵌视频 2024-2025学年统编版(2024)初中道德与法治七年级上册
- 水泥混凝土制品养护工操作规程知识考核试卷含答案
- 水生动物病害防治员操作评优考核试卷含答案
- 2026年新科教版高中高一生物上册第三单元细胞器分工协作关系卷含答案
- 城市管理网格员岗前安全培训效果考核试卷含答案
- 2026年新科教版高中高二物理上册洛伦兹力圆周运动卷含答案
- 2026长沙海关缉私局警务辅助人员招聘6人考试备考试题及答案解析
- 2026第一季度湖北丹江大数据集团有限公司下属子公司招聘5人笔试备考试题及答案解析
- 公司劳动争议预防与处理流程
- 2026年寿光市双创物业管理服务有限公司公开招聘(6人)笔试备考题库及答案详解
- 2026苏州名城保护集团第二批招聘13人笔试参考试题及答案详解
- 2025-2030配制酒市场发展现状调查及供需格局分析预测研究报告
- GB/T 47322-2026建筑火灾升温条件下电缆耐火性能试验方法
- 23G409先张法预应力混凝土管桩
- DB15T 1895-2020 建筑消防设施维护保养技术规程
- 【华与华】2018得到APP品牌战略提报方案
- 第三届四川工匠杯职业技能大赛
评论
0/150
提交评论