《《输入输出系统 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《输入输出系统 》PPT课件.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1010章章 输入、输出系统输入、输出系统110.1 10.1 输入输出系统概述输入输出系统概述 n n I/O系统系统包括包括外部设备外部设备及其与及其与主机主机之间的控制之间的控制部件。部件。n n后者称之为设备控制器,有时也称为设备适配后者称之为设备控制器,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设器或接口,其作用是控制并实现主机与外部设备之间的数据传送。备之间的数据传送。n n本章主要介绍设备控制器的本章主要介绍设备控制器的工作原理工作原理及其与主及其与主机之间传送数据的协议,即机之间传送数据的协议,即系统总线系统总线。2输入输出接口的基本结构输入输出接口的基本结构
2、n nCPUCPU和外设之间通常传递的信息:数据、状态、控制和外设之间通常传递的信息:数据、状态、控制和外设之间通常传递的信息:数据、状态、控制和外设之间通常传递的信息:数据、状态、控制组成组成:寄存器组、控制逻辑电路、主机与接口和接口与寄存器组、控制逻辑电路、主机与接口和接口与I/OI/O设备之间的信号联接线、数据地址线、控制状态信号线设备之间的信号联接线、数据地址线、控制状态信号线CPU控控制制电电路路DRSRCRI/O设备设备地址地址数据数据IO/MRDWR数据数据状态状态控制控制310.1.1 10.1.1 输入输出设备的编址及设备输入输出设备的编址及设备控制器的基本功能控制器的基本功
3、能n n为了便于为了便于为了便于为了便于CPUCPUCPUCPU对对对对I/OI/OI/OI/O设备进行寻址和选择,必须给众多设备进行寻址和选择,必须给众多设备进行寻址和选择,必须给众多设备进行寻址和选择,必须给众多的的的的I/OI/OI/OI/O设备进行编址,也就是说给每一台设备规定一设备进行编址,也就是说给每一台设备规定一设备进行编址,也就是说给每一台设备规定一设备进行编址,也就是说给每一台设备规定一些地址码,称之为些地址码,称之为些地址码,称之为些地址码,称之为设备号或端口地址设备号或端口地址设备号或端口地址设备号或端口地址。n n一般有两种编址方式:一般有两种编址方式:一般有两种编址方
4、式:一般有两种编址方式:(1)(1)I/OI/O端口独立编址端口独立编址端口独立编址端口独立编址 优:优:优:优:专门的专门的专门的专门的I/OI/O指令,与访存分开;指令执行快;不指令,与访存分开;指令执行快;不指令,与访存分开;指令执行快;不指令,与访存分开;指令执行快;不占内存地址空间。占内存地址空间。占内存地址空间。占内存地址空间。缺:缺:缺:缺:需专用指令、寻址方式少需专用指令、寻址方式少需专用指令、寻址方式少需专用指令、寻址方式少(2)(2)存储器、存储器、存储器、存储器、I/OI/O接口统一编址接口统一编址接口统一编址接口统一编址 优优优优:访存指令可访问端口,这样寻址类型多,编
5、程较:访存指令可访问端口,这样寻址类型多,编程较:访存指令可访问端口,这样寻址类型多,编程较:访存指令可访问端口,这样寻址类型多,编程较方便。方便。方便。方便。缺缺缺缺:占用存储器空间;速度慢。:占用存储器空间;速度慢。:占用存储器空间;速度慢。:占用存储器空间;速度慢。4设备控制器的基本功能设备控制器的基本功能:n n (1 1 1 1)实现主机和外围设备之间的数据传送控制。)实现主机和外围设备之间的数据传送控制。)实现主机和外围设备之间的数据传送控制。)实现主机和外围设备之间的数据传送控制。其中包括设备选择、中断控制等。其中包括设备选择、中断控制等。其中包括设备选择、中断控制等。其中包括设
6、备选择、中断控制等。n n (2 2 2 2)实现数据缓冲,以达到主机和外围设备之)实现数据缓冲,以达到主机和外围设备之)实现数据缓冲,以达到主机和外围设备之)实现数据缓冲,以达到主机和外围设备之间速度的匹配。间速度的匹配。间速度的匹配。间速度的匹配。n n (3 3 3 3)接受主机的命令,提供设备接口的状态,)接受主机的命令,提供设备接口的状态,)接受主机的命令,提供设备接口的状态,)接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。并按照主机的命令控制设备。并按照主机的命令控制设备。并按照主机的命令控制设备。510.1.2 10.1.2 主机与外设间主机与外设间 数据传送控制
7、方式数据传送控制方式 (1)(1)程序直接控制(程序直接控制(程序直接控制(程序直接控制(program direct control program direct control)传递方式传递方式传递方式传递方式(2)(2)程序中断传送(程序中断传送(程序中断传送(程序中断传送(program interrupt transferprogram interrupt transfer)方式方式方式方式(3)(3)直接存储器存取(直接存储器存取(直接存储器存取(直接存储器存取(direct memory accessdirect memory access)DMA DMA方式方式方式方式(4)I
8、/O(4)I/O通道控制(通道控制(通道控制(通道控制(I/O channel controlI/O channel control)方式方式方式方式(5)(5)外围处理机(外围处理机(外围处理机(外围处理机(peripheral processor unitperipheral processor unit)方式方式方式方式61、程序直接控制传送方式程序直接控制传送方式n n又叫查询方式。是完全通过程序来控制主机和外又叫查询方式。是完全通过程序来控制主机和外又叫查询方式。是完全通过程序来控制主机和外又叫查询方式。是完全通过程序来控制主机和外围设备之间的信息传送。围设备之间的信息传送。围设备之
9、间的信息传送。围设备之间的信息传送。n n通常的办法是在用户的程序中安排一段由输入输通常的办法是在用户的程序中安排一段由输入输通常的办法是在用户的程序中安排一段由输入输通常的办法是在用户的程序中安排一段由输入输出指令和其他指令所组成的程序段直接控制外围出指令和其他指令所组成的程序段直接控制外围出指令和其他指令所组成的程序段直接控制外围出指令和其他指令所组成的程序段直接控制外围设备的工作。也就是说设备的工作。也就是说设备的工作。也就是说设备的工作。也就是说CPUCPUCPUCPU要不断地查询外围设备要不断地查询外围设备要不断地查询外围设备要不断地查询外围设备的工作状态,一旦外围设备的工作状态,一
10、旦外围设备的工作状态,一旦外围设备的工作状态,一旦外围设备“准备好准备好准备好准备好”或或或或“不忙不忙不忙不忙”,即可进行数据的传送。即可进行数据的传送。即可进行数据的传送。即可进行数据的传送。71、程序直接控制传送方式程序直接控制传送方式n n该方法是主机与外设之间进行数该方法是主机与外设之间进行数该方法是主机与外设之间进行数该方法是主机与外设之间进行数据交换的最简单、最基本的控制方法。据交换的最简单、最基本的控制方法。据交换的最简单、最基本的控制方法。据交换的最简单、最基本的控制方法。n n无条件传送无条件传送无条件传送无条件传送n n只有在外设总处于准备好状态只有在外设总处于准备好状态
11、只有在外设总处于准备好状态只有在外设总处于准备好状态n n程序查询方式程序查询方式程序查询方式程序查询方式n n优点:优点:优点:优点:n n较好协调主机与外设之间的时较好协调主机与外设之间的时较好协调主机与外设之间的时较好协调主机与外设之间的时间差异间差异间差异间差异n n所用硬件少。所用硬件少。所用硬件少。所用硬件少。JJ缺点:缺点:缺点:缺点:n n主机与外设只能串行工作主机与外设只能串行工作主机与外设只能串行工作主机与外设只能串行工作n n主机一个时间段只能与一个外主机一个时间段只能与一个外主机一个时间段只能与一个外主机一个时间段只能与一个外设进行通讯设进行通讯设进行通讯设进行通讯n
12、nCPUCPU效率低。效率低。效率低。效率低。从从I/O接口中读接口中读 一个字到一个字到CPU从从CPU向主存向主存 写入一个字写入一个字CPU向向I/O发发 读指令读指令CPU读读I/O状态状态检查状态检查状态 完成否完成否未准备就绪未准备就绪现行程序现行程序是是出错出错已准备就绪已准备就绪否否82 2、程序中断传送方式、程序中断传送方式n n当外围设备完成数据传送的准备后,便主动向当外围设备完成数据传送的准备后,便主动向当外围设备完成数据传送的准备后,便主动向当外围设备完成数据传送的准备后,便主动向CPUCPUCPUCPU发出发出发出发出“中断请求中断请求中断请求中断请求”信号。若信号。
13、若信号。若信号。若CPUCPUCPUCPU允许中断,则在允许中断,则在允许中断,则在允许中断,则在一条指令一条指令一条指令一条指令执行完后执行完后执行完后执行完后,响应中断请求,转去执行中断服务子程序,响应中断请求,转去执行中断服务子程序,响应中断请求,转去执行中断服务子程序,响应中断请求,转去执行中断服务子程序,完成数据传送,通常传送一个字或一个字节。传送完完成数据传送,通常传送一个字或一个字节。传送完完成数据传送,通常传送一个字或一个字节。传送完完成数据传送,通常传送一个字或一个字节。传送完后继续执行原程序。后继续执行原程序。后继续执行原程序。后继续执行原程序。n n中断请求方式在一定程度
14、上实现了中断请求方式在一定程度上实现了中断请求方式在一定程度上实现了中断请求方式在一定程度上实现了CPUCPUCPUCPU和外围设备的并和外围设备的并和外围设备的并和外围设备的并行工作。行工作。行工作。行工作。n n若在某一时刻有几台设备发出中断请求,若在某一时刻有几台设备发出中断请求,若在某一时刻有几台设备发出中断请求,若在某一时刻有几台设备发出中断请求,CPUCPUCPUCPU可根据预可根据预可根据预可根据预先定好的优先级,去处理几台外设的数据传送。先定好的优先级,去处理几台外设的数据传送。先定好的优先级,去处理几台外设的数据传送。先定好的优先级,去处理几台外设的数据传送。n n但是对于工
15、作频率较高的外设,如磁盘,数据交换通但是对于工作频率较高的外设,如磁盘,数据交换通但是对于工作频率较高的外设,如磁盘,数据交换通但是对于工作频率较高的外设,如磁盘,数据交换通常是成批的,若采用中断方式,则不合适。一般采用常是成批的,若采用中断方式,则不合适。一般采用常是成批的,若采用中断方式,则不合适。一般采用常是成批的,若采用中断方式,则不合适。一般采用DMADMADMADMA方式方式方式方式。92 2、程序中断传送方式、程序中断传送方式n n优点:避免频繁查询,适合随机出现的服务和中优点:避免频繁查询,适合随机出现的服务和中低速外设使用。低速外设使用。n n缺点:成批数据交换时,中断影响传
16、送效率,一缺点:成批数据交换时,中断影响传送效率,一次传送一个字符,中断处理时间大于传送数据时次传送一个字符,中断处理时间大于传送数据时间。需要一定的硬件电路。间。需要一定的硬件电路。103 3、直接存储器访问方式、直接存储器访问方式1.DMA1.DMA方式的引入方式的引入方式的引入方式的引入n n前两种方式以前两种方式以前两种方式以前两种方式以CPUCPU为中心,占用为中心,占用为中心,占用为中心,占用CPUCPU时间。时间。时间。时间。DMADMA方式方式方式方式以内存为中心。以内存为中心。以内存为中心。以内存为中心。2.2.基本工作原理基本工作原理基本工作原理基本工作原理n n在外围设备
17、和主存之间开辟直接的数据通路。在正常工在外围设备和主存之间开辟直接的数据通路。在正常工在外围设备和主存之间开辟直接的数据通路。在正常工在外围设备和主存之间开辟直接的数据通路。在正常工作时,所有的工作周期均用于执行作时,所有的工作周期均用于执行作时,所有的工作周期均用于执行作时,所有的工作周期均用于执行CPUCPUCPUCPU的程序。当外围的程序。当外围的程序。当外围的程序。当外围设备完成设备完成设备完成设备完成I/OI/OI/OI/O的准备工作后,占用的准备工作后,占用的准备工作后,占用的准备工作后,占用CPUCPUCPUCPU的工作周期,和主的工作周期,和主的工作周期,和主的工作周期,和主存
18、直接交换数据。完成后,存直接交换数据。完成后,存直接交换数据。完成后,存直接交换数据。完成后,CPUCPUCPUCPU又继续控制总线,执行又继续控制总线,执行又继续控制总线,执行又继续控制总线,执行原程序。原程序。原程序。原程序。n n完成这项工作的是系统中增设的完成这项工作的是系统中增设的完成这项工作的是系统中增设的完成这项工作的是系统中增设的DMADMADMADMA控制器。控制器。控制器。控制器。11直接存储器访问方式直接存储器访问方式n nDMADMADMADMA控制器控制器控制器控制器在进行在进行在进行在进行DMADMADMADMA传送之前,由传送之前,由传送之前,由传送之前,由CPU
19、CPUCPUCPU将每次传送将每次传送将每次传送将每次传送的主存地址、数据的个数等参数传送给的主存地址、数据的个数等参数传送给的主存地址、数据的个数等参数传送给的主存地址、数据的个数等参数传送给DMADMADMADMA控制器,控制器,控制器,控制器,然后具体的数据传送就由然后具体的数据传送就由然后具体的数据传送就由然后具体的数据传送就由DMADMADMADMA控制器实现,无须控制器实现,无须控制器实现,无须控制器实现,无须CPUCPUCPUCPU的参与。的参与。的参与。的参与。n n缺点缺点缺点缺点:n n CPUCPUCPUCPU需要在需要在需要在需要在DMADMADMADMA传送的开始和结
20、束时参与;传送的开始和结束时参与;传送的开始和结束时参与;传送的开始和结束时参与;n n 每个需要进行每个需要进行每个需要进行每个需要进行DMADMADMADMA传送的外设都要对应一个传送的外设都要对应一个传送的外设都要对应一个传送的外设都要对应一个DMADMADMADMA控制器,且控制器,且控制器,且控制器,且DMADMADMADMA控制器是由硬件实现的,不易修控制器是由硬件实现的,不易修控制器是由硬件实现的,不易修控制器是由硬件实现的,不易修改。于是在大型计算机系统中通常设置专门的改。于是在大型计算机系统中通常设置专门的改。于是在大型计算机系统中通常设置专门的改。于是在大型计算机系统中通常
21、设置专门的硬件装置硬件装置硬件装置硬件装置通道通道通道通道。12三种方式的三种方式的 CPU 工作效率比较工作效率比较存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现I/O与主存与主存之间的传送之间的传送CPU 执行执行现行程序现行程序CPU查询等待并传输查询等待并传输I/O数据数据CPU 执行执行现行程序现行程序启动启动I/OI/O 准备及传送准备及传送指令执行周期结束指令执行周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序启动启动I/O中断
22、请求中断请求I/O准备准备I/O准备准备CPU 处理中断服务程序处理中断服务程序实现实现 I/O 与主机之间的传送与主机之间的传送间间断断启动启动I/O启动启动I/OI/O准备准备中断请求中断请求启动启动I/OI/O准备准备一个存取周期一个存取周期DMA请求请求程序程序查询查询方式方式程序程序中断中断方式方式DMA 方式方式I/O 准备及传送准备及传送13 4 4、I/OI/O通道控制方式通道控制方式n n I IOO通道具有少数专用的指令系统,能实现指令所通道具有少数专用的指令系统,能实现指令所通道具有少数专用的指令系统,能实现指令所通道具有少数专用的指令系统,能实现指令所控制的操作,管辖其
23、相应的设备控制器,所以控制的操作,管辖其相应的设备控制器,所以控制的操作,管辖其相应的设备控制器,所以控制的操作,管辖其相应的设备控制器,所以I IOO通通通通道已具备简单处理机的功能。但它仅仅是面向外围设道已具备简单处理机的功能。但它仅仅是面向外围设道已具备简单处理机的功能。但它仅仅是面向外围设道已具备简单处理机的功能。但它仅仅是面向外围设备的控制和数据的传送,其指令系统也仅仅是几条简备的控制和数据的传送,其指令系统也仅仅是几条简备的控制和数据的传送,其指令系统也仅仅是几条简备的控制和数据的传送,其指令系统也仅仅是几条简单的与单的与单的与单的与I IOO操作有关的命令。操作有关的命令。操作有
24、关的命令。操作有关的命令。n nI IOO通道要在通道要在通道要在通道要在CPUCPU的的的的I IOO指令指挥下启动、停止或指令指挥下启动、停止或指令指挥下启动、停止或指令指挥下启动、停止或改变工作状态。因此,改变工作状态。因此,改变工作状态。因此,改变工作状态。因此,l lOO通道不是一个完全独立的通道不是一个完全独立的通道不是一个完全独立的通道不是一个完全独立的处理机,它只是从属于处理机,它只是从属于处理机,它只是从属于处理机,它只是从属于CPUCPU的一个专用的一个专用的一个专用的一个专用I IOO处理器。处理器。处理器。处理器。它的进一步发展是引入专用的它的进一步发展是引入专用的它的
25、进一步发展是引入专用的它的进一步发展是引入专用的输入输出处理机输入输出处理机输入输出处理机输入输出处理机。n n 通道方式的出现进一步提高了通道方式的出现进一步提高了通道方式的出现进一步提高了通道方式的出现进一步提高了CPUCPU的效率。但需更多的效率。但需更多的效率。但需更多的效率。但需更多的硬件电路。的硬件电路。的硬件电路。的硬件电路。14I/OI/O通道控制方式通道控制方式n nMMMMMMMM:主存主存主存主存n nCPUCPUCPUCPU:中央处理器中央处理器中央处理器中央处理器n nCHCHCHCH:通道通道通道通道n nCUCUCUCU:接口接口接口接口n nD D D D:I/
26、OI/OI/OI/O设备设备设备设备MMCHCHCHCPUCUCUCUCUCUCUCUDDDDDDDDDDD155 5、输入输出处理机输入输出处理机(IOP)IOP)方式方式n n有单独的存储器和独立的运算部件,可访有单独的存储器和独立的运算部件,可访问系统的内部存储器问系统的内部存储器n n除数据传输外,还应有以下功能:能处理除数据传输外,还应有以下功能:能处理传送过程中出错及异常情况,数据格式翻传送过程中出错及异常情况,数据格式翻译,数据块校验。译,数据块校验。n nIOP方式是通道方式的进一步的发展。它们方式是通道方式的进一步的发展。它们大多应用在中、大型计算机中。大多应用在中、大型计算
27、机中。1610.2 10.2 程序中断控制技术程序中断控制技术n n中断:计算机暂时中止当前程序运行,转而处中断:计算机暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫结束后能自动恢复原程序的执行,这个过程叫作作“中断中断”。n n中断系统是计算机实现中断功能的软、硬件总中断系统是计算机实现中断功能的软、硬件总称。在称。在CPU一侧配置了中断机构,在设备一侧一侧配置了中断机构,在设备一侧配置了中断控制接口,在软件上设计了相应的配置了中断控制接口,在软件上设计了相应的中断服务程序。中断服务程序。1
28、7I/O 中断的产生中断的产生以针式打印机为例以针式打印机为例发发中中断断请请求求 空闲空闲接收接收数据数据接收接收数据数据准备准备发发中中断断请请求求打印打印打印打印打印机打印机执行主程序执行主程序继续执行主程序继续执行主程序继续执行主程序继续执行主程序响响应应中中断断中中断断返返回回响响应应中中断断中中断断返返回回 启动启动打印机打印机传送传送数据数据传送传送数据数据CPUCPU 与打印机并行工作与打印机并行工作18中断作用中断作用n n(1 1 1 1)CPUCPUCPUCPU与与与与I/OI/OI/OI/O设备并行工作设备并行工作设备并行工作设备并行工作n n(2 2 2 2)硬件故障
29、处理)硬件故障处理)硬件故障处理)硬件故障处理n n(3 3 3 3)实现人机联系:在计算机工作过程中,如果)实现人机联系:在计算机工作过程中,如果)实现人机联系:在计算机工作过程中,如果)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解用户要干预机器,如查看计算的中间结果,了解用户要干预机器,如查看计算的中间结果,了解用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。机器的工作状态,给机器下达临时性的命令等。机器的工作状态,给机器下达临时性的命令等。机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎
30、是无法在没有中断系统的计算机里这些功能几乎是无法在没有中断系统的计算机里这些功能几乎是无法在没有中断系统的计算机里这些功能几乎是无法实现的。实现的。实现的。实现的。n n(4 4 4 4)实现多道程序和分时操作)实现多道程序和分时操作)实现多道程序和分时操作)实现多道程序和分时操作n n(5 5 5 5)实现实时处理)实现实时处理)实现实时处理)实现实时处理n n(6 6)实现应用程序和操作系统的联系)实现应用程序和操作系统的联系)实现应用程序和操作系统的联系)实现应用程序和操作系统的联系n n (7 7)多处理机系统各处理机间的联系)多处理机系统各处理机间的联系)多处理机系统各处理机间的联系
31、)多处理机系统各处理机间的联系1910.2.1 10.2.1 中断的概念中断的概念(1 1 1 1)中断源:中断源:中断源:中断源:引起中断的事件,即发出中断请求的来源。引起中断的事件,即发出中断请求的来源。引起中断的事件,即发出中断请求的来源。引起中断的事件,即发出中断请求的来源。外中断外中断外中断外中断:I/OI/OI/OI/O设备等来自主机外部设备的中断。设备等来自主机外部设备的中断。设备等来自主机外部设备的中断。设备等来自主机外部设备的中断。内中断内中断内中断内中断:处理器硬件故障或程序出错引起的中断。处理器硬件故障或程序出错引起的中断。处理器硬件故障或程序出错引起的中断。处理器硬件故
32、障或程序出错引起的中断。软中断软中断软中断软中断:由由由由“Trap”Trap”Trap”Trap”指令产生的软中断,这是在程序指令产生的软中断,这是在程序指令产生的软中断,这是在程序指令产生的软中断,这是在程序中预先安排好的中预先安排好的中预先安排好的中预先安排好的 n n中断触发器:中断触发器:中断触发器:中断触发器:每个中断源的接口电路中都有一个每个中断源的接口电路中都有一个每个中断源的接口电路中都有一个每个中断源的接口电路中都有一个“中断中断中断中断触发器触发器触发器触发器”,用于保存中断源向,用于保存中断源向,用于保存中断源向,用于保存中断源向CPUCPUCPUCPU的中断请求信号。
33、多的中断请求信号。多的中断请求信号。多的中断请求信号。多个中断触发器构成中断寄存器。个中断触发器构成中断寄存器。个中断触发器构成中断寄存器。个中断触发器构成中断寄存器。(2 2 2 2)中断的分级与中断优先权中断的分级与中断优先权中断的分级与中断优先权中断的分级与中断优先权 在设计中断系统时,要把全部中断源按中断性质和处理在设计中断系统时,要把全部中断源按中断性质和处理在设计中断系统时,要把全部中断源按中断性质和处理在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。的轻重缓急进行排队并给予优先权。的轻重缓急进行排队并给予优先权。的轻重缓急进行排队并给予优先权。20
34、(3 3)禁止中断和中断屏蔽)禁止中断和中断屏蔽一、禁止中断:一、禁止中断:一、禁止中断:一、禁止中断:产生中断源后,由于某种条件的存在,产生中断源后,由于某种条件的存在,产生中断源后,由于某种条件的存在,产生中断源后,由于某种条件的存在,CPUCPUCPUCPU不能中不能中不能中不能中止现行程序的执行,称为禁止中断。止现行程序的执行,称为禁止中断。止现行程序的执行,称为禁止中断。止现行程序的执行,称为禁止中断。n n一般在一般在一般在一般在CPUCPUCPUCPU的内部设置一个的内部设置一个的内部设置一个的内部设置一个“中断允许中断允许中断允许中断允许”触发器,触发器,触发器,触发器,只有该
35、触发器为只有该触发器为只有该触发器为只有该触发器为“1”“1”“1”“1”时,才允许处理机响应中断,时,才允许处理机响应中断,时,才允许处理机响应中断,时,才允许处理机响应中断,反之,则不响应所有中断源的中断请求。反之,则不响应所有中断源的中断请求。反之,则不响应所有中断源的中断请求。反之,则不响应所有中断源的中断请求。n n“中断允许中断允许中断允许中断允许”触发器可以通过触发器可以通过触发器可以通过触发器可以通过“开中断开中断开中断开中断”和和和和“关中关中关中关中断断断断”指令来置位和复位。指令来置位和复位。指令来置位和复位。指令来置位和复位。21(3 3)禁止中断和中断屏蔽)禁止中断和
36、中断屏蔽二、中断屏蔽二、中断屏蔽二、中断屏蔽二、中断屏蔽n n当产生中断请求时,用程序方式有选择地封锁部当产生中断请求时,用程序方式有选择地封锁部当产生中断请求时,用程序方式有选择地封锁部当产生中断请求时,用程序方式有选择地封锁部分中断,而允许其余部分的中断仍能得到响应。分中断,而允许其余部分的中断仍能得到响应。分中断,而允许其余部分的中断仍能得到响应。分中断,而允许其余部分的中断仍能得到响应。n n实现的方法是为每个中断源设置一个中断屏蔽触实现的方法是为每个中断源设置一个中断屏蔽触实现的方法是为每个中断源设置一个中断屏蔽触实现的方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。
37、各个设备的中断发器来屏蔽该设备的中断请求。各个设备的中断发器来屏蔽该设备的中断请求。各个设备的中断发器来屏蔽该设备的中断请求。各个设备的中断屏蔽触发器构成中断屏蔽寄存器。屏蔽触发器构成中断屏蔽寄存器。屏蔽触发器构成中断屏蔽寄存器。屏蔽触发器构成中断屏蔽寄存器。n n当然有些中断源的中断请求是不可屏蔽的。所以当然有些中断源的中断请求是不可屏蔽的。所以当然有些中断源的中断请求是不可屏蔽的。所以当然有些中断源的中断请求是不可屏蔽的。所以中断又分为可屏蔽中断和非屏蔽中断。中断又分为可屏蔽中断和非屏蔽中断。中断又分为可屏蔽中断和非屏蔽中断。中断又分为可屏蔽中断和非屏蔽中断。2210.2.2 10.2.2
38、 中断处理中断处理v中断请求:是指中断源中断请求:是指中断源(引起中断的事件或设备引起中断的事件或设备)向向CPUCPU 发出的请求中断的要求。发出的请求中断的要求。v中断判优:当有多个中断源发出请求时,需要通过适当中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;的办法决定先处理哪个中断请求;v中断响应:指中断响应:指CPUCPU中止现行程序转至中断服务程序的过程;中止现行程序转至中断服务程序的过程;v中断处理:就是指中断处理:就是指CPUCPU执行中断服务程序;执行中断服务程序;v中断返回中断返回:执行完中断服务程序后,返回到被中断的程序执行完中断服务程序后,返
39、回到被中断的程序一个完整的中断过程包括一个完整的中断过程包括:23关关 中中 断断 保存断点、保存现场保存断点、保存现场 判别中断条件判别中断条件 转入中断服务程序转入中断服务程序 开中断开中断 执行中断服务程序执行中断服务程序 关中断关中断 恢复现场、恢复断点恢复现场、恢复断点 开中断开中断 返回断点返回断点 24 n n(1 1 1 1)关中断关中断关中断关中断由硬件自动实现。在保存现场过程中,即使有更高级的由硬件自动实现。在保存现场过程中,即使有更高级的由硬件自动实现。在保存现场过程中,即使有更高级的由硬件自动实现。在保存现场过程中,即使有更高级的中断源申请中断,中断源申请中断,中断源申
40、请中断,中断源申请中断,CPUCPUCPUCPU也不应该响应。否则,如果现场也不应该响应。否则,如果现场也不应该响应。否则,如果现场也不应该响应。否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确保存不完整,在中断服务程序结束之后,也就不能正确保存不完整,在中断服务程序结束之后,也就不能正确保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序。地恢复现场并继续执行现行程序。地恢复现场并继续执行现行程序。地恢复现场并继续执行现行程序。n n(2 2 2 2)保存断点和现场保存断点和现场保存断点和现场保存断点和现场 现场信息一般指的是程序状态字,中断屏蔽寄存器和
41、现场信息一般指的是程序状态字,中断屏蔽寄存器和现场信息一般指的是程序状态字,中断屏蔽寄存器和现场信息一般指的是程序状态字,中断屏蔽寄存器和CPUCPUCPUCPU中某些寄存器的内容。中某些寄存器的内容。中某些寄存器的内容。中某些寄存器的内容。(3 3 3 3)判别中断源,转向中断服务程序。判别中断源,转向中断服务程序。判别中断源,转向中断服务程序。判别中断源,转向中断服务程序。在多个中断源同时请求中断的情况下。本次实际响应的在多个中断源同时请求中断的情况下。本次实际响应的在多个中断源同时请求中断的情况下。本次实际响应的在多个中断源同时请求中断的情况下。本次实际响应的只能是优先权最高的那个中断源
42、、所以,需进一步判别只能是优先权最高的那个中断源、所以,需进一步判别只能是优先权最高的那个中断源、所以,需进一步判别只能是优先权最高的那个中断源、所以,需进一步判别中断源,并转入相应的中断服务程序入口。中断源,并转入相应的中断服务程序入口。中断源,并转入相应的中断服务程序入口。中断源,并转入相应的中断服务程序入口。中断处理过程中断处理过程25 n n(4 4 4 4)开中断。开中断。开中断。开中断。接下去就要执行中断服务程序,开中接下去就要执行中断服务程序,开中接下去就要执行中断服务程序,开中接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应。实现断将允许更高级中断请求得到响应。实
43、现断将允许更高级中断请求得到响应。实现断将允许更高级中断请求得到响应。实现中断嵌套中断嵌套中断嵌套中断嵌套。n n(5 5 5 5)执行中断服务程序。执行中断服务程序。执行中断服务程序。执行中断服务程序。n n(6 6 6 6)退出中断退出中断退出中断退出中断。在退出时,又应进入不可中断状态,。在退出时,又应进入不可中断状态,。在退出时,又应进入不可中断状态,。在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回即关中断,恢复现场、恢复断点,然后开中断,返回即关中断,恢复现场、恢复断点,然后开中断,返回即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。原程序执
44、行。原程序执行。原程序执行。n n 进入中断时执行的关中断、保存断点等操作一般进入中断时执行的关中断、保存断点等操作一般进入中断时执行的关中断、保存断点等操作一般进入中断时执行的关中断、保存断点等操作一般是由硬件实现的,它类似于一条指令,但它与一般的是由硬件实现的,它类似于一条指令,但它与一般的是由硬件实现的,它类似于一条指令,但它与一般的是由硬件实现的,它类似于一条指令,但它与一般的指令不同,不能被编写在程序中。因此,常常称为指令不同,不能被编写在程序中。因此,常常称为指令不同,不能被编写在程序中。因此,常常称为指令不同,不能被编写在程序中。因此,常常称为中断隐指令中断隐指令中断隐指令中断隐
45、指令。中断处理过程中断处理过程26 判别中断源可以用判别中断源可以用判别中断源可以用判别中断源可以用软件和硬件软件和硬件软件和硬件软件和硬件两种方法来判优。两种方法来判优。两种方法来判优。两种方法来判优。n n (1 1 1 1)查询法(软件法)查询法(软件法)查询法(软件法)查询法(软件法)由测试程序按一定优先排队次序检查各个设备的由测试程序按一定优先排队次序检查各个设备的由测试程序按一定优先排队次序检查各个设备的由测试程序按一定优先排队次序检查各个设备的“中断触发器中断触发器中断触发器中断触发器”。当遇到第一个当遇到第一个当遇到第一个当遇到第一个1111标志时,即找到了优先进行处理的中断源
46、,通标志时,即找到了优先进行处理的中断源,通标志时,即找到了优先进行处理的中断源,通标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。常取出其设备码,根据设备码转入相应的中断服务程序。常取出其设备码,根据设备码转入相应的中断服务程序。常取出其设备码,根据设备码转入相应的中断服务程序。n n(2 2 2 2)串行排队链法(硬件判优)串行排队链法(硬件判优)串行排队链法(硬件判优)串行排队链法(硬件判优)由硬件确定中断源。由硬件确定中断源。由硬件确定中断源。由硬件确定中断源。问题:找到优先级最高的中断请求后,如何转入其中断服务程序问题:找到优先级最高的中断请
47、求后,如何转入其中断服务程序问题:找到优先级最高的中断请求后,如何转入其中断服务程序问题:找到优先级最高的中断请求后,如何转入其中断服务程序?n n一般采用中断向量法:一般采用中断向量法:一般采用中断向量法:一般采用中断向量法:n n向量中断方式是为每一个中断源设置一个中断向量(就是中断服向量中断方式是为每一个中断源设置一个中断向量(就是中断服向量中断方式是为每一个中断源设置一个中断向量(就是中断服向量中断方式是为每一个中断源设置一个中断向量(就是中断服务程序的入口地址),所有的中断向量存放在主存的某个固定位置务程序的入口地址),所有的中断向量存放在主存的某个固定位置务程序的入口地址),所有的
48、中断向量存放在主存的某个固定位置务程序的入口地址),所有的中断向量存放在主存的某个固定位置(中断向量表)。(中断向量表)。(中断向量表)。(中断向量表)。CPUCPUCPUCPU响应某个中断源的中断请求时,根据设备提响应某个中断源的中断请求时,根据设备提响应某个中断源的中断请求时,根据设备提响应某个中断源的中断请求时,根据设备提供的中断类型码,访问中断向量表,就可以找到该中断源的中断服供的中断类型码,访问中断向量表,就可以找到该中断源的中断服供的中断类型码,访问中断向量表,就可以找到该中断源的中断服供的中断类型码,访问中断向量表,就可以找到该中断源的中断服务程序的入口地址。务程序的入口地址。务
49、程序的入口地址。务程序的入口地址。2.2.判别中断源判别中断源27n n中断请求逻辑图:中断请求逻辑图:CPU主存主存I/O设备设备n设备设备 控制器控制器 设备设备 控制器控制器 I/O设备设备0.系统总线中断触发器INTRINTR0INTRn28n n中断请求串行排队逻辑图:中断请求串行排队逻辑图:中断请求串行排队逻辑图:中断请求串行排队逻辑图:INTI293.3.多重中断处理多重中断处理中断嵌套中断嵌套n n在处理某一个中断的过程中又发生了新的更高级在处理某一个中断的过程中又发生了新的更高级在处理某一个中断的过程中又发生了新的更高级在处理某一个中断的过程中又发生了新的更高级中断源的中断申
50、请,且中断源的中断申请,且中断源的中断申请,且中断源的中断申请,且CUPCUP又处于开中断状态下,又处于开中断状态下,又处于开中断状态下,又处于开中断状态下,CPUCPU就要中断该服务程序的执行,转去进行新的就要中断该服务程序的执行,转去进行新的就要中断该服务程序的执行,转去进行新的就要中断该服务程序的执行,转去进行新的中断处理服务程序。一般情况下与它同级的或比中断处理服务程序。一般情况下与它同级的或比中断处理服务程序。一般情况下与它同级的或比中断处理服务程序。一般情况下与它同级的或比它低级的新中断请求它低级的新中断请求它低级的新中断请求它低级的新中断请求,CPU,CPU不能响应其请求。不能响