第八章输入输出系统(之三共五).pdf
- 文档编号:18632955
- 上传时间:2023-08-23
- 格式:PDF
- 页数:62
- 大小:433.12KB
第八章输入输出系统(之三共五).pdf
《第八章输入输出系统(之三共五).pdf》由会员分享,可在线阅读,更多相关《第八章输入输出系统(之三共五).pdf(62页珍藏版)》请在冰点文库上搜索。
8.2.3单级中断一、单级中断的概念?
单级中断三个要点:
所有中断源都属于同一级;其优先次序事先确定好;在响应某一中断请求时,执行该中断源的中断服务程序,此过程不允许被其他中断源打断-即,单级中断不允许嵌套。
?
单级上的多个中断源使用一条中断请求线提出中断请求,也称单线请求中断。
史岚8.2程序中断方式二、单级中断的中断源识别与判优单级中断又因中断源识别(判优)使用软件或是硬件方法而分成两种。
(一)单线请求中断,查询响应(软件查询判优)以下分别是单线请求的示意图和对应的软件查询时中断流程图-8.2程序中断方式CPUI/O1#I/O2#I/On#INTR单线请求示意图8.2程序中断方式保护现场有1#的中断请求?
有2#的中断请求?
有n#的中断请求?
恢复现场中断服务程序入口中断返回执行1#设备中断服务程序是否执行2#设备中断服务程序执行n#设备中断服务程序软件查询中断源并判优:
特点查询时间长,响应速度慢;是是否否硬件简单,一条查询线;查询的次序即是优先级的顺序软件查询的中断流程图8.2程序中断方式
(二)单线请求,硬件识别与判优主程序单级中断服务程序(a)单级中断示意图IMIR0101与中断CPU中断接口0中断接口n中断接口1数据线地址线SIRINTA(b)单级中断请求的结构图1.单线请求示意图和硬件识别中断源(判优、响应)的示意图-8.2程序中断方式或与与与与与与与与与向量地址产生电路(编码器)CPUINTAINTRINR1INR2INR3IMR0/10/10/10/10/10/1设备3设备1的屏蔽码设备3的屏蔽码设备2的屏蔽码单级中断源的识别(判优)-单线请求菊花链响应数据线8.2程序中断方式IRR设备1设备2识别中断源(判优)的电路史岚2.“单线请求菊花链响应”方式属于向量中断的单级中断“中断向量”、“向量地址”名词的再回顾;中断向量产生的具体方法-常用编码电路实现以排队器输出作为编码器的输入,编码器的输出就是该中断源的向量地址,经数据线送给CPU;实际上,编码器产生的内容与真正要找的中断服务程序入口地址之间的关系因系统不同而异。
8.2程序中断方式3.单线请求硬件判优(菊花链响应)的特点一旦硬件连接固定后,中断源的优先次序就固定不变;故障敏感;响应速度高-相对软件查询中断源而言;响应速度低-条响应线上串行确定中断源;对多重中断(嵌套)没有提供硬件支持。
8.2程序中断方式8.2.4多级中断一、多级中断的概念1.为什么考虑多级中断-单级的缺陷及解决方案?
单级中断因单线请求造成响应及处理的低效率、故障敏感、不支持嵌套;?
解决方法:
可以让每个中断源用一条独立的请求线发出中断请求,并设计判优逻辑使各个源的请求有同样的响应时间;8.2程序中断方式史岚当中断源过多时,再使每条请求线上如单线中断一样连接多个设备,得到二维的中断结构;?
无论多条请求线中每条线上接一个或多个中断源,都可称为“多级”允许嵌套及高响应速度带来的高效率是“多级(多线)”与“单级(单线)”的主要区别。
8.2程序中断方式2.多级中断的结构
(1)判优与中断源的识别同时完成:
判优逻辑在多个IRQ中确定一个优先级最高的,同时将其向量地址(编码)送CPU。
CPU判优逻辑1#设备2#设备n#设备IRQnINACKnIRQ2INACK2IRQ1INACK1IRQINVEC多线独立请求结构示意图
(2)图中每条请求线上可以连接一个设备,也可以连接多个多个设备。
后者是常见形式。
8.2程序中断方式3.多级中断的定义为处理中断源过多的情况,将多个中断源分级,各个级之间有优先级次序,而后每级内各个中断源之间也有优先权的高低;每个级有自己的中断请求线和响应线;故称多线多级中断。
8.2程序中断方式4.多级中断和多重中断、一般处理原则多级和多重是不是一个概念;多重中断的一般处理原则处理某级中断时,如果出现比该中断级别低或同级的中断请求,不予受理;出现比该中断级别高的中断请求,则停下现行的中断服务程序,转而处理更高级别的中断,之后回到原中断处理。
多重中断示意图如下-8.2程序中断方式史岚主程序一级中断服务程序二级中断服务程序三级中断服务程序多级中断示意图(强调:
允许嵌套)回顾单级中断示意图8.2程序中断方式8.2程序中断方式5.多级中断的两种结构形式-即前述多线独立请求方式(每条请求线上连接一个设备)
(1)一维多级中断
(2)二维多级中断-多线的每条请求线连多个设备(以下两个图应该是一致的-)中断优先级排队电路与中断控制逻辑IM2IR2IR1IM1IR0IM00101设备A设备B设备C与与01010101与设备D设备E设备F设备G设备H设备ICPU2级IR1级IR0级IR高优先权低高优先权低一维、二维多级中断结构图P.280图8.7/P.248图8.9(b)8.2程序中断方式对比下图-史岚CPU判优逻辑1#设备2#设备n#设备IRQnINACKnIRQ2INACK2IRQ1INACK1IRQINVEC图中每条请求线上可以连接一个设备,也可以连接多个多个设备。
两个图中的判优逻辑是怎样的?
多线独立请求结构示意图8.2程序中断方式二、多级中断源的识别(判优)1.判优逻辑的硬件实现对应于一维和二维多级中断,该逻辑判优识别的结果不同。
识别出某个独立请求的设备识别出某个独立请求的中断级(级上有多个设备)具体硬件见下图8.2程序中断方式其中“排队器”即判优逻辑的具体实现,该电路常称为“最左判优逻辑电路”。
编码器与与与与与与与101102103104101102103104(级)中断请求寄存器IRR(级)中断屏蔽寄存器IMRIR1IR2IR3IR4IR1IR2IR3IR4排队器向量地址体会判优与识别同时完成中断响应次序能否改变?
中断处理次序能否改变?
8.2程序中断方式该图应了解的主要问题:
从排队器的硬件逻辑体会“识别与判优是同时完成的”;仍由该硬件实现了解多线请求方式识别(响应)的快速性尤其注意响应时间对各个请求信号而言是均等的;排队器硬件决定了中断响应的优先次序,但是中断处理的优先次序是可以改变的需利用中断屏蔽字(IMR内容)。
8.2程序中断方式2.独立请求方式与串行排队判优链相结合-二维中断,请看P.304/279第10题:
画出二维中断结构判优逻辑电路,包括:
(1)主优先级判定电路(独立请求),
(2)次优先级判定电路(链式查询)。
在主优先级判定电路中应考虑CPU程序优先级。
设CPU执行程序的优先级分为四级(CPU7CPU4),这个级别保存在PSW寄存器中(7,6,5三位)。
例如CPU5时,其状态为101。
8.2程序中断方式?
注解:
关于主优先级、次优先级不同请求线上的优先级称为主优先级;同一请求线上的不同设备的优先级称为次优先级。
关于“CPU程序的优先级”一般情况下,CPU程序(指用户程序)优先级低于所有中断处理程序的级别;借用中断排队的逻辑,可以人为改变CPU程序的优先级别。
8.2程序中断方式解题步骤:
作出二维(多线多级)中断请求与响应的总逻辑图8.2程序中断方式CPU数据线1-1#设备1-2#设备1-3#设备2-1#设备2-2#设备0-1#设备2-3#设备0-2#设备0-3#设备IRQINACKIRQ0INACK0IRQ1INACK1IRQ2INACK2级中断(多线请求)判优逻辑传递“中断向量地址”INVEC多线请求菊花链响应的结构图注意:
图中未画出设备的接口部分史岚8.2程序中断方式解题步骤:
做出主优先级判别电路-按独立请求方式作出上图中多线请求判优逻辑硬件图。
8.2程序中断方式编码器与与与与与与与101102103104101102103104(级)中断请求寄存器IRR(级)中断屏蔽寄存器IMRIR1IR2IR3IR4IR1IR2IR3IR4排队器向量地址8.2程序中断方式主优先级判定电路解题步骤:
次优先级判别-针对级中断判优的结果(某个INACKi有效),在该级的多个设备中用串行排队链判优识别逻辑找到中断请求的设备将该设备地址送CPU。
8.2程序中断方式或与与与与与与与与与向量地址产生电路(编码器)CPUINTAINTRINR1INR2INR3IMR0/10/10/10/10/10/1设备3设备1的屏蔽码设备3的屏蔽码设备2的屏蔽码单级中断源的识别(判优)-单线请求菊花链响应数据线8.2程序中断方式IRR设备1设备2识别某级上中断源(判优)的电路解题步骤:
CPU即用户程序的四级(CPU7CPU4)加在主优先级判定电路中。
765765PSWR3/8译码器111110101100IRQ3IRQ4IRQ5IRQ7连接到主优先级判定电路8.2程序中断方式将以上步骤再放到二维(多线多级)中断请求与响应的总逻辑图中去认识:
CPU数据线1-1#设备1-2#设备1-3#设备2-1#设备2-2#设备0-1#设备2-3#设备0-2#设备0-3#设备IRQINACKIRQ0INACK0IRQ1INACK1IRQ2INACK2级中断(多线请求)判优逻辑传递“中断向量地址”INVEC多线请求菊花链响应的结构图8.2程序中断方式三、中断优先权的动态分配-改变屏蔽码以改变多级中断的处理次序1.多级中断系统中优先权的再说明-关于响应优先权和处理优先权一、多级中断的概念二、多级中断源的识别8.2程序中断方式史岚响应优先权:
硬件排队线路所决定的CPU响应中断的次序,不可改变。
处理优先权:
CPU执行中断服务程序的次序,可以利用屏蔽技术改变。
8.2程序中断方式编码器与与与与与与与101102103104101102103104(级)中断请求寄存器IRR(级)中断屏蔽寄存器IMRIR1IR2IR3IR4IR1IR2IR3IR4排队器向量地址8.2程序中断方式改变的实质:
将正常的IMR内容(中断屏蔽字)改写,使高级别的中断暂时屏蔽,如此无法加入排队判优,从而使硬件排队级别较低的中断级得以优先响应,即发生了处理次序的变化。
体现了每个中断级相对于其他级的优先次序-8.2程序中断方式也就是由多级中断处理原则所确立的次序。
练习题:
填空-中断屏蔽的作用一是(A),二是(B)。
答案:
A-屏蔽一些不允许产生的中断;B-改变中断处理的优先级别。
为此回忆中断服务的过程:
8.2程序中断方式史岚中断周期执行隐指令并关中断保护现场;新旧屏蔽字交换开中断(也可根据需要不开中断)服务程序关中断恢复现场;屏蔽字交换开中断返回先行段(前处理部分)本体段(主体部分)恢复段(后处理部分)一个中断处理的服务子程序8.2程序中断方式屏蔽字交换的含义-史岚编码器与与与与与与与101102103104101102103104(级)中断请求寄存器IRR(级)中断屏蔽寄存器IMRIR1IR2IR3IR4IR1IR2IR3IR4排队器向量地址8.2程序中断方式2.正常情况下屏蔽码的设置正常情况:
中断处理次序与中断响应次序相同。
例之一:
教材P.282/249【例1】-参见二维中断系统结构图(见下页)。
请问:
(1)在中断情况下,CPU和设备的优先级如何考虑?
请按降序排列各设备的中断优先级。
8.2程序中断方式中断优先级排队电路与中断控制逻辑IM2IR2IR1IM1IR0IM00101设备A设备B设备C与与01010101与设备D设备E设备F设备G设备H设备ICPU2级IR1级IR0级IR高优先权低高优先权低解答
(1):
优先次序为-设ABCDEFGHICPU。
8.2程序中断方式
(2)若CPU现执行设备B的中断服务程序,IM2,IM1,IM0的状态是什么?
如果CPU执行设备D的中断服务程序,IM2,IM1,IM0的状态又是什么?
(注:
IMi为0开放,1屏蔽)解答
(2):
执行设备B的中断服务程序时,IM2IM1IM0=111;执行设备D的中断服务程序时,IM2IM1IM0=011。
8.2程序中断方式几点强调请注意:
之一、每个中断级有自己的屏蔽码,其内容表示该级中断对其他级别中断开放还是屏蔽优先次序;之二、即将占据CPU运行的中断程序将它的级中断屏蔽码置入硬件IMR中,原运行程序的屏蔽字作为现场保存起来。
新旧屏蔽字交换。
之三、设问:
CPU用户程序的屏蔽码是什么样的?
8.2程序中断方式(3)每一级的IM能否对某个优先级的个别设备单独进行屏蔽?
如果不能,采取什么办法可达到目的?
解答(3):
每一级的IM标志不能对该级中的个别设备单独进行屏蔽。
可考虑在设备的接口中用EI(中断允许)的清“0”来禁止该设备发出中断请求。
(4)假如设备C一提出中断请求,CPU立即进行响应,如何调整才能满足此要求?
8.2程序中断方式中断优先级排队电路与中断控制逻辑IM2IR2IR1IM1IR0IM00101设备A设备B设备C与与01010101与设备D设备E设备F设备G设备H设备ICPU2级IR1级IR0级IR高优先权低高优先权低8.2程序中断方式解答(4):
把设备C单独放在第三级上,使该级优先权最高,并令IM3=0。
正常设置屏蔽码的例之二:
设某机中有四级响应优先权,由高到低为1234,每级对应一位屏蔽码。
写出全部屏蔽码。
解答:
程序级别第2级中断第3级中断第4级中断第1级中断用户程序屏蔽码1234注:
“0”开放“1”屏蔽111101110011000100008.2程序中断方式史岚3.改变屏蔽码以改变原优先等级(改变的是中断处理次序,即所谓中断优先权的动态分配)动态分配优先权例之一:
上例中将处理次序改为1432,屏蔽码如何设置?
1.多级中断系统中优先权的再说明-响应优先权与处理优先权2.正常情况下屏蔽码的设置8.2程序中断方式(上例:
设某机中有四级响应优先权,由高到低为1234,每级对应一位屏蔽码。
写出全部屏蔽码。
)设置屏蔽码将处理次序改为1432解答:
程序级别第1级中断第2级中断第3级中断第4级中断用户程序屏蔽码1234注:
“0”开放“1”屏蔽111101000110011100008.2程序中断方式史岚动态分配优先权例之二:
P.303/269第8题:
设某机有5级中断:
L0,L1,L2,L3,L4,其中断响应优先次序为:
L0最高,L1次之,L4最低。
现在要求将中断处理次序改为L1L3L0L4L2,试问:
(1)表8.2/8.2中(见下页)各级中断处理程序的各级中断屏蔽值如何设置(每级对应一位,该位为“0”表示允许中断,该位为“1”表示中断屏蔽)?
8.2程序中断方式史岚解答:
(1)L1L3L0L4L2L0L1L2L3L4中断处理程序级别L0L1L2L3L4中断处理级屏蔽位1010111111001001011100101
(2)若这5级中断同时都发出中断请求,按更改后的次序画出进入各中断处理程序的过程示意图。
8.2程序中断方式L1L3L0L4L2中断处理程序级别中断处理级屏蔽位(“0”表示开放)L0L1L2L3L4L010101L111111L200100L310111L400101L4L3L2L1L0L4L3L2L1L0程序t用户L0L4同时请求中断8.2程序中断方式史岚动态分配优先权例之三:
设某机有四级中断A、B、C、D,其硬件排队优先级为ABCD,现要将中断处理次序改为CADB。
(1)下表中各级中断程序的屏蔽位如何设置(设”0”为允许,“1”为屏蔽,CPU状态时屏蔽码为0000)?
设备屏蔽码服务程序A设备服务程序B设备服务程序C设备服务程序D设备服务程序ABCD11010100111101018.2程序中断方式05253050557580t(s)BCADABCD(ABCD的中断处理次序已经改为CADB。
)史岚
(2)按下图所示时间轴给出的设备中断请求时刻,画出CPU执行程序的轨迹。
设A、B、C、D中断服务程序的时间宽度均为20S。
8.2程序中断方式8.2.5*中断控制器Intel8259A:
微机系统中作中断接口;与8080/8085系列及8086/8088系列兼容的可编程中断控制器。
一、8259A的功能简介1.有8级优先权控制,通过级连可扩展到64级。
2.每一级中断都可以屏蔽或开放。
8.2程序中断方式3.在中断响应机器周期,8259A可提供相应的中断向量信息,从而迅速转至中断服务程序。
4.8259A有几种工作方式,可通过编程来选择。
二、8259A的结构方框图见下页:
8.2程序中断方式数据总线缓冲器读/写逻辑级连缓冲/比较器控制逻辑在服务寄存器(ISR)优先权电路中断请求寄存器(IRR)中断屏蔽寄存器(IMR)内部总线INTAINTIR0IR1IR2IR3IR4IR5IR6IR7D7D0RDWRA0CSCAS0CAS1CAS2SP/EN8259A的方框图8.2程序中断方式史岚三、8259A的中断顺序1.IR7IR0中有一条或多条变高,使IRR相应位置位;2.对应的IMR中至少有一位表示中断开放(未屏蔽),则8259A由INT引脚向CPU发出中断请求信号;3.若CPU处于开中断状态,则在当前指令执行完以后,用INTA信号作为响应;4.8259A收到INTA信号后,使最高优先权的ISR置位,相应的IRR复位;8.2程序中断方式5.8088/8086CPU启动另一个中断响应周期,输出第二个INTA脉冲;此时8259A向数据总线输送一个8位的指针;CPU读取它并乘以4,即可从中断服务程序入口地址表中取出中断服务程序的入口地址(包括段地址和段内偏移量)。
6.中断响应周期结束,CPU转到中断服务程序。
8.2.6Pentium的中断机制P.284286/P.251253内容作为参考资料。
8.2程序中断方式与中断内容有关的书后习题:
P.303/269习题6、在图8.7/8.9中,当CPU对设备B的中断请求进行服务时,如设备A提出请求,CPU能够响应吗?
为什么?
如果设备B一提出请求总能立即得到服务,问怎样调整才能满足此要求?
8.2程序中断方式中断优先级排队电路与中断控制逻辑IM2IR2IR1IM1IR0IM00101设备A设备B设备C与与01010101与设备D设备E设备F设备G设备H设备ICPU2级IR1级IR0级IR高优先权低高优先权低8.2程序中断方式解答:
不能;单独放到第3级上。
P.304/270习题11、参见图8.7/8.9所示的二维中断系统。
(1)若CPU现执行E的中断服务程序,IM2,IM1,IM0的状态是什么?
(2)CPU现执行H的中断服务程序,IM2,IM1,IM0的状态是什么?
(3)若设备B一提出中断请求,CPU立即进行响应,应如何调整才能满足此要求?
解答:
(1)011;
(2)001;(3)单独放到第3级上。
8.2程序中断方式P.304/269习题9、某机器CPU中有16个通用寄存器,运行某中断处理程序时仅用到其中2个寄存器,请问响应中断而进入该中断处理程序时是否要将通用寄存器内容保存到主存中去?
需保存几个寄存器?
解答:
用几个就保护几个。
P.303/269习题3、8.2程序中断方式利用微型机制作了对输入数据进行采样处理的系统。
在该系统中,每抽取一个数据就要中断CPU一次,中断程序接收采样的数据,将其放到主存的缓冲区内,该中断处理需时x秒。
另一方面缓冲区内每存储n个数据,主程序就将其取出进行处理,这种处理需时y秒。
因此该系统每秒可以跟踪()次的中断请求。
A.n/(nx+y)B.n/(x+y)nC.min(1/x,n/y)用流程图作中断过程小结:
8.2程序中断方式当前指令执行周期结束有DMA请求DMA周期有不可屏蔽中断有可屏蔽中断CPU允许中断发INTA,接收VA关中断;PC,PSW入栈中断处理程序入口地址PC保护寄存器交换屏蔽字开中断中断处理程序实体关中断恢复寄存器开中断中断返回(恢复PSW,PC)下条指令的取指令周期硬件完成软件完成中断处理程序NNNNYYYY8.2程序中断方式中断响应周期史岚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 输入输出 系统 三共五