1、第七章第七章 输入输入 输出系统输出系统 7.1 7.1 输入输出系统概述输入输出系统概述 7.3 7.3 程序中断方式程序中断方式 7.4 DMA 7.4 DMA方式方式 7.2 7.2 程序查询方式程序查询方式输入输出输入输出(I/O)(I/O)系统是计算机系统中控制与实现主机与外系统是计算机系统中控制与实现主机与外界交换数据的软、硬件系统界交换数据的软、硬件系统. . 它包括输入输出设备、输入它包括输入输出设备、输入输出接口输出接口( (接口控制器接口控制器) )及相关控制软件及相关控制软件, ,其中其中I/OI/O接口是用接口是用来连接主机与来连接主机与I/OI/O设备的设备的, ,三
2、者的关系如下三者的关系如下: :图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图7.1 I/O7.1 I/O系统概述系统概述7.1.1 I/O7.1.1 I/O系统组成系统组成 CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线 I/OI/O接口与端口的定义接口与端口的定义 接口接口(Interface):(Interface):主机和外设之间实现信息交换的控主机和外设之间实现信息交换的控制电
3、路制电路. .端口端口(Port):(Port):接口电路中可以被接口电路中可以被CPUCPU直接访问的寄存器直接访问的寄存器; ;若干个端口加上相应的控制逻辑电路才组成接口若干个端口加上相应的控制逻辑电路才组成接口. . CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意
4、图端口主要分为三类端口主要分为三类: : 状态端口状态端口: :存放状态信息的寄存器存放状态信息的寄存器,CPU,CPU对其内容只能读对其内容只能读, ,如如80X8680X86中用输入指令中用输入指令(IN AL,(IN AL,状态口地址状态口地址) )将外设状态标志送到将外设状态标志送到CPUCPU; 控制端口控制端口: :存放控制命令的寄存器存放控制命令的寄存器,CPU,CPU只能对其写只能对其写, ,如如80X8680X86中中用输出指令用输出指令(OUT (OUT 状态口地址状态口地址,AL),AL)将将CPUCPU的各种控制命令发送外设;的各种控制命令发送外设; 数据端口数据端口:
5、存放数据信息的寄存器存放数据信息的寄存器. CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图 数据线数据线:I/O:I/O设备与主机之间数据的传输线设备与主机之间数据的传输线; ; 地址线地址线: :用来传送设备号用来传送设备号, ,多台多台I/OI/O设备各自有其设设备各自有其设备号备号( (地址地址); ); CPUCPU数据线数据线地址线
6、地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图 命令线命令线: : 传输传输CPUCPU向设备发出的各种命令信号向设备发出的各种命令信号( (如如启动、清除、读、写等启动、清除、读、写等) ); 状态线状态线: :将将I/OI/O设备的状态向主机报告的信号线设备的状态向主机报告的信号线( (如如设备是否准备就绪设备是否准备就绪, ,是否向是否向CPUCPU发出中断请求等发
7、出中断请求等) .) . CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图 7.1.2 I/O7.1.2 I/O接口的基本功能接口的基本功能I/OI/O接口处于系统总线与外设之间接口处于系统总线与外设之间, ,主要功能包括:主要功能包括:1 1、数据的格式转换、数据的格式转换接口电路中必须具有实现各类数据相互转换的功能接口电路中必须具有实现各类
8、数据相互转换的功能. .例如例如, ,并并- -串转换、串串转换、串- -并转换、模并转换、模- -数转换数转换 、数、数- -模转换及二进模转换及二进制数和制数和ASCIIASCII码的相互转换等码的相互转换等. . CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线2.2.寻址寻址 CPUCPU欲访问的设备号通过地址线送至所有设备的接口欲访问的设备号通过地址线送至所有设备的接口, ,每个接口均具有选址功能每个接口均具
9、有选址功能, ,只有当地址线上的设备号只有当地址线上的设备号与本接口的设备号一致时与本接口的设备号一致时, ,相应的设备才能通过命令相应的设备才能通过命令线、状态线和线、状态线和 数据线与主机交换信息数据线与主机交换信息. . CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图3.3.传送主机指令传送主机指令 只有被选中设备接口中的只有被选中设备
10、接口中的“控制端口控制端口”才能接才能接受和识别主机传送来的命令受和识别主机传送来的命令,并将命令传送到并将命令传送到设备设备. CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图4.4.传送传送数据及缓冲数据及缓冲 (1) (1) 接口中必须有数据通路接口中必须有数据通路, ,完成数据传送完成数据传送; ; (2) (2) 接口应具有对数据信息
11、传送速度的缓冲作接口应具有对数据信息传送速度的缓冲作用用, ,即能将数据暂存在即能将数据暂存在“数据端口数据端口”中中, ,以实现以实现速度上的匹配速度上的匹配. . CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图 5. 5. 反映设备工作状态反映设备工作状态 接口设置一些反映设备工作状态的触发器接口设置一些反映设备工作状态的触发器, ,以以
12、便能随时采集并保存设备的工作状态便能随时采集并保存设备的工作状态( (如如“忙忙”、“就绪就绪”、”、“错误错误”、“中断中断请求请求”等等), ),以备主机查询以备主机查询. . CPUCPU数据线数据线地址线地址线命令线命令线I/OI/O接口接口数据端口数据端口状态端口状态端口控制端口控制端口数据线数据线状态信息状态信息命令命令I/OI/O设备设备 设备识别设备识别控制逻辑电路控制逻辑电路状态线状态线图图7.1 7.1 接口与主机、外设间连接示意图接口与主机、外设间连接示意图 7.1.3 I/O7.1.3 I/O端口的编址方式端口的编址方式 1 1、存储器统一编址方式、存储器统一编址方式(
13、 (存储器映射方式存储器映射方式Memory-Memory-mapping Address Codingmapping Address Coding) ) 将将I/OI/O端口看成是存储空间的一个组成部分端口看成是存储空间的一个组成部分, ,按照存按照存储单元的编址方法统一编排地址号储单元的编址方法统一编排地址号, ,每个每个I/OI/O端口占用一端口占用一个地址。划给外设的这部分区域不能配置存储器芯片。个地址。划给外设的这部分区域不能配置存储器芯片。 优点优点: :访存指令都能访问访存指令都能访问I/OI/O端口,故不设置专门的端口,故不设置专门的输入输出指令;由于访问存储单元的指令有较多的
14、寻址输入输出指令;由于访问存储单元的指令有较多的寻址方式,所以方式,所以I/OI/O程序编制灵活。程序编制灵活。 缺点缺点: :需占用小部分存储器空间;机器语言或汇编需占用小部分存储器空间;机器语言或汇编源程序中的源程序中的I/OI/O部分难以阅读及修改。部分难以阅读及修改。存储器统一编址方式示意图见下图:存储器统一编址方式示意图见下图:I/OI/O端口端口存储器存储器图图7.2 7.2 存储器映射的存储器映射的I/OI/O设备编址方式设备编址方式2 2、I/OI/O端口单独编址方式端口单独编址方式(Isolated I/O Address Coding)(Isolated I/O Addre
15、ss Coding) 存储单元与存储单元与I/OI/O接口寄存器的地址分别编址,各自有自接口寄存器的地址分别编址,各自有自己的译码部件,设计专门的己的译码部件,设计专门的I/OI/O指令去访问端口。指令去访问端口。 优点:不占用存储空间;优点:不占用存储空间;I/OI/O指令与存储器指令有明显指令与存储器指令有明显区别,程序结构清晰,便于理解。区别,程序结构清晰,便于理解。 缺点:缺点:需专门的需专门的I/OI/O指令指令,其寻址方式较简单,指令功,其寻址方式较简单,指令功能较弱,编程灵活性稍差;能较弱,编程灵活性稍差;CPUCPU需要提供存储器读需要提供存储器读/ /写、写、I/OI/O设备
16、读设备读/ /写两套控制信号写两套控制信号,增加了控制的复杂性。,增加了控制的复杂性。 例:例:I/OI/O的编址方式采用统一编址时的编址方式采用统一编址时, ,存储单元存储单元和和I/OI/O设备是靠设备是靠( )( )加以区分加以区分. . A. A. 不同的地址线不同的地址线 B.B.不同的地址码不同的地址码 C. C. 不同的控制线不同的控制线 例:例: I/OI/O采用统一编址时采用统一编址时, ,进行输入输出操作的进行输入输出操作的指令是指令是( ).( ). A. A. 控制指令控制指令 B.B.访存指令访存指令 C. C. 输入输出指令输入输出指令 例:例: I/OI/O采用不
17、统一编址时采用不统一编址时, , 进行输入输出操作进行输入输出操作的指令是的指令是( ).( ). A. A. 控制指令控制指令 B.B.访存指令访存指令 C. C. 输入输出指令输入输出指令 7.1.4 CPU7.1.4 CPU与外设之间数据传送控制方式与外设之间数据传送控制方式 I/OI/O系统主要是解决主机与外设间的数据交系统主要是解决主机与外设间的数据交换问题换问题, ,使外设与主机能协调一致地工作使外设与主机能协调一致地工作. .为减为减少处理机对外设的控制干预少处理机对外设的控制干预, ,在计算机发展过程在计算机发展过程中人们先后采用了以下方法:中人们先后采用了以下方法: 1 1、
18、由程序控制的数据传送、由程序控制的数据传送 程序查询方式程序查询方式 程序中断方式程序中断方式 2 2、由专有硬件控制的数据传送由专有硬件控制的数据传送 DMADMA方式方式 通道方式通道方式 外围处理机方式外围处理机方式 第七章第七章 输入输入 输出系统输出系统 7.1 7.1 输入输出系统概述输入输出系统概述 7.3 7.3 程序中断方式程序中断方式 7.4 DMA 7.4 DMA方式方式 7.2 7.2 程序查询方式程序查询方式7.2.17.2.1程序查询方式程序查询方式( (程序直接控制方式程序直接控制方式(Program Direct Control(Program Direct C
19、ontrol,PDC)PDC) )流程流程 由由CPUCPU执行一段输入输出程序来控制实执行一段输入输出程序来控制实现主机与外设之间的数据传送现主机与外设之间的数据传送. .一旦某外设被一旦某外设被选中并启动之后选中并启动之后, ,主机将查询这个外设的某些主机将查询这个外设的某些状态位状态位, ,看其是否准备就绪看其是否准备就绪? ?若外设未准备就若外设未准备就绪绪, ,主机将再次查询主机将再次查询; ;若准备就绪若准备就绪, ,则执行一次则执行一次I/OI/O操作操作. . 单个设备的单个设备的 查询流程见下图查询流程见下图. . 主程序主程序需要需要I/OI/O时时检查状态标记检查状态标记
20、就绪否就绪否交换数据交换数据否否是是继续运行继续运行图图7.3 7.3 单个单个I/OI/O设备的查询流程设备的查询流程为正确完成这种查询为正确完成这种查询, ,通常执行通常执行如下如下3 3条指令条指令: : (1) (1)测试指令测试指令: :用来查询用来查询I/OI/O设设备是否准备就绪备是否准备就绪; ; (2) (2)传送指令传送指令: :当当I/OI/O设备已经设备已经准备就绪时准备就绪时, ,执行传送指令执行传送指令; ; (3) (3)转移指令转移指令: :当当I/OI/O设备未准设备未准备就绪时备就绪时, ,执行转移指令执行转移指令, ,继续测继续测试试I/OI/O设备的状态
21、设备的状态. . (4) (4) 数据输入输出要经过数据输入输出要经过CPUCPU控制控制,CPU,CPU与设备、与设备、设备与设备均不能实现并行工作设备与设备均不能实现并行工作; ; (5) (5) 用于连接低速外设用于连接低速外设. .主程序主程序需要需要I/OI/O时时检查状态标记检查状态标记就绪否就绪否交换数据交换数据否否是是继续运行继续运行体会体会“程序程序直接直接控制控制”和和“程序程序查询查询方式方式”的名称的名称由来。由来。特点:特点: (1) (1)简单;简单;(2) I/O(2) I/O时间预知性;时间预知性;(3)(3)不能发现和处理预先无法不能发现和处理预先无法估计的错
22、误和异常情况;估计的错误和异常情况;图图7.3 7.3 单个单个I/OI/O设备的查询流程设备的查询流程7.2.2 7.2.2 程序查询方式的接口电路程序查询方式的接口电路数据端口数据端口设备选择电路设备选择电路地址线地址线&D DQQQQB B启动命令启动命令准备就绪准备就绪数据线数据线输入数据输入数据启动设备启动设备设备工作设备工作结束结束图图7.4 7.4 程序查询方式接口程序查询方式接口电路电路( (输入输入) )的基本组成的基本组成 当地址线上的设备号与本设备号相符时当地址线上的设备号与本设备号相符时,SEL,SEL有有效效, ,可以接收命令可以接收命令; ;数据端口用于存放数据端口
23、用于存放 欲传送的欲传送的数据数据;D;D是完成触发器是完成触发器,B,B是是 工作触发器工作触发器. . 以输入设备以输入设备 为例为例, ,接口工作如下接口工作如下: : CPUCPU通过通过I/OI/O指令启动输入设备时指令启动输入设备时, ,指令的设指令的设备码字段通过地址线备码字段通过地址线 送至送至 设备设备 选择电路选择电路; ; 若该接口地址码与地址线上的地址码吻合若该接口地址码与地址线上的地址码吻合,其输出其输出SELSEL有效有效; ; I/OI/O指令的启动命令经过指令的启动命令经过“与非与非”门将门将B B置置“1”,1”,将将D D置置“0”0”; 由由B B触发器启
24、动设备触发器启动设备 工作工作; ; 输入设备将数据送至输入设备将数据送至 数据端口数据端口; 由设备发设备工作结束信号由设备发设备工作结束信号, ,置置D D为为“1”;B1”;B为为“0”,0”,表示外设准备就绪表示外设准备就绪; ; D D触发器以触发器以“准备就绪准备就绪”状态通知状态通知CPU,CPU,表表示示“数据缓冲满数据缓冲满”; CPU CPU执行输入指令执行输入指令, ,将数据端口中的数据送将数据端口中的数据送至至CPUCPU的通用寄存器,再存入主存单元的通用寄存器,再存入主存单元. .例例: :在程序查询的在程序查询的I/OI/O系统中系统中, ,有三个不同的外设有三个不
25、同的外设. .假定一个查询操作需要假定一个查询操作需要5050个时钟周期个时钟周期,CPU,CPU的的时钟频率为时钟频率为10MHz.10MHz.求求CPUCPU在以下三种情况下在以下三种情况下为为I/OI/O查询所花费的时间比率查询所花费的时间比率( (百分比百分比), ),假定必假定必须进行足够的查询以免丢失数据并假定不考须进行足够的查询以免丢失数据并假定不考虑各设备的相互等待即分别计算虑各设备的相互等待即分别计算. .(1)(1)对对终端终端每秒进行每秒进行3030次查询次查询. .解解: : 每秒花在终端查询上的时钟周期数为每秒花在终端查询上的时钟周期数为 30 30 50=15005
26、0=1500; 根据根据CPUCPU的时钟频率为的时钟频率为10MHz,10MHz,即每秒即每秒101010106 6个时钟周期个时钟周期, ,占用占用CPUCPU时间比率为时间比率为 1500/10M=0.015%1500/10M=0.015% 结论结论 终端查询基本不影响终端查询基本不影响CPUCPU性能性能. .(2)CPU(2)CPU向向打印机打印机的数据传输按字节进行的数据传输按字节进行, ,即每即每1 1个字节被个字节被CPUCPU查询一次查询一次, ,数据传输数据传输率为率为10KB/s.10KB/s.解:解: 每秒查询次数为每秒查询次数为10KB/1B=10K10KB/1B=1
27、0K次;次; 查询所需时钟数为查询所需时钟数为 10K 10K 50=500K 50=500K 占用占用CPUCPU的时间比率为的时间比率为 500K/10M=500 500K/10M=500 1024/10 1024/107 7=5.12%=5.12% 结论结论 打印机的打印机的查询开销查询开销大于终端大于终端, ,尚可承受尚可承受. .(3)(3)硬盘硬盘传输数据以字节为单位传输数据以字节为单位, ,即每即每1 1个字个字节被节被CPUCPU查询一次传输率为查询一次传输率为200KB/s.200KB/s.解解: : 每秒查询次数为每秒查询次数为200K200K; 查询所用时钟周期数为查询所
28、用时钟周期数为 200K 200K 50=10000K 50=10000K次次 占用占用CPUCPU的时间比率为的时间比率为 10000 10000 1024/10 1024/107 7=102.4%=102.4% 结论结论 即使即使CPUCPU将全部时间用于对硬盘查询也将全部时间用于对硬盘查询也不能满足硬盘传输的要求不能满足硬盘传输的要求, ,即程序查询方即程序查询方式只适合与低速外设式只适合与低速外设. .第七章第七章 输入输入 输出系统输出系统 7.1 7.1 输入输出系统概述输入输出系统概述 7.3 7.3 程序中断方式程序中断方式 7.4 DMA 7.4 DMA方式方式 7.2 7.
29、2 程序查询方式程序查询方式 7.3 7.3 程序中断方式程序中断方式 中断:中断:在接到随机请求后在接到随机请求后,CPU,CPU暂停暂停执行原来的程序执行原来的程序, ,转去执行更加紧迫事转去执行更加紧迫事件的中断服务程序件的中断服务程序, ,待处理完毕后待处理完毕后CPUCPU恢复原程序的继续执行恢复原程序的继续执行, ,这个过程称为这个过程称为中断中断. . 中断系统中断系统: :在计算机内部自动处理中在计算机内部自动处理中断的系统称为中断系统断的系统称为中断系统,含软件和硬件含软件和硬件两个方面两个方面. 中断技术中断技术:实现此功能所需的软硬件实现此功能所需的软硬件技术技术. 7.
30、3.1 7.3.1 中断的基本概念中断的基本概念一、程序中断方式的基本思路一、程序中断方式的基本思路 依赖中断系统依赖中断系统 计算机系统中引入中断功能后计算机系统中引入中断功能后, ,各部件并行工作各部件并行工作成为可能成为可能, ,其中包括其中包括CPUCPU与外设并行及外设与外设与外设并行及外设与外设并行并行. . CPU CPU变变主动查询主动查询为为被动响应被动响应 在外设准备的时间里在外设准备的时间里,CPU,CPU执行现行程序;执行现行程序; 直到外设准备好直到外设准备好, ,发出中断请求;发出中断请求; CPUCPU响应后响应后中断现行程序中断现行程序转而执行与外设交换数转而执
31、行与外设交换数据的中断服务程序;据的中断服务程序; 之后再回到原来程序运行之后再回到原来程序运行. .中断方式原理示意如图中断方式原理示意如图7.47.4所示:所示:主程序主程序( (需要需要I/OI/O时时) )启动外设启动外设中断服务程序中断服务程序在其中完成在其中完成I/OI/OCPUCPU与外设并行与外设并行图图7.5 7.5 程序中断方式示意图程序中断方式示意图理解中断时应注意以下几个问题理解中断时应注意以下几个问题:(1):(1)中中断过程实质上是一种程序切换过程断过程实质上是一种程序切换过程, ,必必须处理好保存旧现场、建立新现场的须处理好保存旧现场、建立新现场的问题问题;(2)
32、;(2)中断具有随机性中断具有随机性, ,故必须及时故必须及时检测中断请求信号检测中断请求信号, ,以便能够及时处理以便能够及时处理中断中断;(3);(3)中断不具备重复性中断不具备重复性;(4) ;(4) 程序中程序中断与调用子程序的异同断与调用子程序的异同. .例:设某外设向例:设某外设向CPUCPU传送信息的最高频率为传送信息的最高频率为40K40K次次/ /秒秒, ,而相应中断处理程序的执行时间而相应中断处理程序的执行时间为为4040S. S.问该外设可否采用中断方式工作问该外设可否采用中断方式工作? ?为为什么什么? ?解:解:该外设传送一个数据的时间为该外设传送一个数据的时间为1/
33、40=251/40=25S S,即,即请求中断的周期为请求中断的周期为2525S S,2525S40S40S, S,会丢会丢失数据失数据, ,所以该设备不能采用中断方式工作所以该设备不能采用中断方式工作. .结论:程序中断方式一般用于连接低速设备结论:程序中断方式一般用于连接低速设备. . 7.3.1 7.3.1 中断的基本概念中断的基本概念二、中断系统的作用二、中断系统的作用1 1、使、使CPUCPU与与I/OI/O设备并行工作设备并行工作 下图为由打印机引起的下图为由打印机引起的I/OI/O中断时中断时,CPU,CPU与打印机并行与打印机并行工作的时间示意图工作的时间示意图. .CPUCP
34、U执行主程序执行主程序启动启动打印机打印机继续执行继续执行主程序主程序响应中断响应中断传输传输数据数据响应返回响应返回继续执行继续执行主程序主程序响应中断响应中断传输传输数据数据响应返回响应返回打印机打印机空闲空闲准备准备发中断请求发中断请求发中断请求发中断请求接收接收数据数据打印打印接收接收数据数据打印打印图图7.6CPU7.6CPU与打印机与打印机并行工作并行工作的时间示的时间示意图意图二、中断系统的作用二、中断系统的作用2 2、使计算机系统拥有应急能力、使计算机系统拥有应急能力 如计算机运行中出现突然掉电如计算机运行中出现突然掉电, ,需利用中断技术立即需利用中断技术立即启动另一备份电源
35、启动另一备份电源, ,并迅速进行一些必要处理并迅速进行一些必要处理. .3 3、便于进行人、便于进行人机联系机联系 如人们在机器运行过程中想随机抽查计算的中间结果如人们在机器运行过程中想随机抽查计算的中间结果. .4 4、使多道程序处理成为可能、使多道程序处理成为可能 如计算机实现多道程序运行时如计算机实现多道程序运行时, ,可通过分配给每道程可通过分配给每道程序一个固定时间片序一个固定时间片, ,利用时钟定时发中断进行程序切换利用时钟定时发中断进行程序切换. .5 5、实现实时控制、实现实时控制 要求要求CPUCPU即时响应外来信号的请求即时响应外来信号的请求, ,并能完成相应操并能完成相应
36、操作作. .三、基本概念三、基本概念1 1、中断源、中断源: :凡能向凡能向CPUCPU提出中断请求的各种因素提出中断请求的各种因素. . 如人为设置的中断如人为设置的中断( (自愿中断自愿中断), ),程序性事故程序性事故( (定点溢出、定点溢出、非法除法等非法除法等), ),硬件故障硬件故障( (电源掉电、磁表面损坏等电源掉电、磁表面损坏等) )、I/OI/O设备、外部事件设备、外部事件( (用户通过键盘中断现行程序用户通过键盘中断现行程序) )2 2、内中断与外中断、内中断与外中断 内中断:内中断:CPUCPU内部硬件或软件原因引起的中断内部硬件或软件原因引起的中断, ,分为强迫中断和自
37、愿中断分为强迫中断和自愿中断. .自愿中断自愿中断( (程序自中断程序自中断): ):计算机系统为方便用户调计算机系统为方便用户调试软件试软件, , 在程序中安排了相关指令在程序中安排了相关指令, ,这些指令可以使这些指令可以使机器进入中断处理的过程机器进入中断处理的过程, ,如如:80X86:80X86指令系统中的指令系统中的软中断指令软中断指令INT n.INT n.非随机的非随机的. .强迫中断强迫中断: :随机随机产生的待处理紧急事件所引起的中产生的待处理紧急事件所引起的中断断. .分为硬件故障和软件中断分为硬件故障和软件中断( (如溢出等如溢出等). ).三、基本概念三、基本概念2
38、2、内中断与外中断、内中断与外中断 外中断:外中断:CPUCPU以外的以外的部件引起的中断部件引起的中断, ,均为强均为强迫中断迫中断. . 分为不可屏蔽中断和可屏蔽中断分为不可屏蔽中断和可屏蔽中断. . 不可屏蔽中断不可屏蔽中断: :用于应急处理用于应急处理, ,如掉电、主存如掉电、主存读写校验错等读写校验错等, ,优先级别高优先级别高. . 可屏蔽中断可屏蔽中断: :用于一般用于一般I/OI/O设备的数据传送设备的数据传送, ,优先级别较低优先级别较低. . 例例: :下列选项中下列选项中, ,能引起外部中断的事件是能引起外部中断的事件是( ).( ). A. A.键盘输入键盘输入 B.B
39、.除数为除数为0 0 C. C.浮点数运算下溢浮点数运算下溢 D.D.访存缺页访存缺页3 3、向量中断与非向量中断、向量中断与非向量中断 中断向量中断向量(Interrupt Vector)(Interrupt Vector) 中断过程是由一个程序切换到另一个程序的过中断过程是由一个程序切换到另一个程序的过程程, ,切换的实质是旧切换的实质是旧PC(PC(内容内容) )与与PSWPSW的保护及新的保护及新PCPC与与PSWPSW的装入的装入. .某中断服务程序的某中断服务程序的( (新的新的)PC)PC和和PSWPSW共称共称为该中断的中断向量为该中断的中断向量, ,或理解为或理解为: :中断
40、服务程序入口中断服务程序入口地址即为中断向量地址即为中断向量. .PSWPSWPCPCSPSP内存中的内存中的堆栈区堆栈区CPUCPUPSWPSWPCPC存放各中断存放各中断向量的内存区向量的内存区新新PCPC新新PSWPSW图图7.7 7.7 切换的示意图切换的示意图 中断向量地址中断向量地址( (向量地址向量地址VA)VA) 将各个中断源的中断向量组织成一个表将各个中断源的中断向量组织成一个表 称为称为向量表向量表, ,向向量表通常在内存中开辟的一块存储区域量表通常在内存中开辟的一块存储区域, ,如下图所示如下图所示. . 图图7.8 7.8 中断向量表中断向量表存放中断向量存放中断向量的
41、单元地址的单元地址, ,称称为为中断向量地址中断向量地址, ,简称向量地址简称向量地址VA.VA.入口地址入口地址200200PSW1PSW1入口地址入口地址300300PSW2PSW2入口地址入口地址n nPSWnPSWn中断服务程序中断服务程序1 1中断服务程序中断服务程序2 2A1A1A2A2. . . .AnAn. . . .200200300300. . . .中断向量表中断向量表 向量地址向量地址 向量中断:向量中断:CPUCPU响应中断后响应中断后, ,由中断机构自动由中断机构自动将向量地址送将向量地址送CPU,CPU,由其指明向量位置并实现由其指明向量位置并实现切换切换. .
42、非向量中断:非向量中断的中断源不能直接非向量中断:非向量中断的中断源不能直接提供中断服务程序的入口地址提供中断服务程序的入口地址, ,而由而由CPUCPU通过通过软件方式查询后得到软件方式查询后得到. . 4 4、单级中断和多级中断、单级中断和多级中断 单级中断:单级中断:CPUCPU执行中断服务的过程中不能执行中断服务的过程中不能被再打断被再打断. . 多级中断多级中断( (中断嵌套中断嵌套) ):在执行某个中断服务:在执行某个中断服务程序的过程中程序的过程中,CPU,CPU可去响应级别更高的中断可去响应级别更高的中断请求请求. .7.3.1 7.3.1 中断的基本概念中断的基本概念四、中断
43、系统应具备的功能四、中断系统应具备的功能 1 1、各个中断源如何向、各个中断源如何向CPUCPU提出中断请求提出中断请求; ; 2 2、CPUCPU在什么条件、什么时候、以什么方式来响在什么条件、什么时候、以什么方式来响应中断应中断; ; 3 3、中断判优、中断判优; ; 4 4、CPUCPU响应中断后如何保护现场响应中断后如何保护现场; ; 5 5、 CPUCPU响应中断后响应中断后, ,如何停止原来的程序而转入如何停止原来的程序而转入中断服务程序的入口地址中断服务程序的入口地址; ; 6 6、中断处理结束后、中断处理结束后,CPU,CPU如何恢复现场如何恢复现场, ,如何返回如何返回到原程序的间断处到原程序的间断处; ; 7 7、在中断处理过程中、在中断处理过程中, ,又出现了新的中断请又出现了新的中断请求求,CPU,CPU如何处理如何处理. .
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。