《【研究生入学考试】计原IO系统组织模版课件.ppt》由会员分享,可在线阅读,更多相关《【研究生入学考试】计原IO系统组织模版课件.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第9章章 I/O组织组织9.1 I/O系统概述系统概述9.1.1 I/O系统需要解决的主要问题系统需要解决的主要问题 计算机系统中的计算机系统中的I/O系统主要解决主机与外部设备问的数据交换系统主要解决主机与外部设备问的数据交换的问题,使外围设备与主机能够协调一致地工作。这里所谓的问题,使外围设备与主机能够协调一致地工作。这里所谓“协调协调一致有两层含义:一致有两层含义:一是实现处理机与外部设备在数据处理的速度上能够相互匹配;一是实现处理机与外部设备在数据处理的速度上能够相互匹配;二是实现处理机与外部设备并行工作,以提高整个计算机系统的二是实现处理机与外部设备并行工作,以提高整个计算机系统的
2、工作效率。工作效率。如何实现它们之间的速度匹配呢如何实现它们之间的速度匹配呢?主要是靠缓冲技术。主要是靠缓冲技术。如何实现处理机与外部设备并行工作呢如何实现处理机与外部设备并行工作呢?关键是减少处理机对外关键是减少处理机对外部设备的直接控制,甚至处理机干脆不再干预外部设备的控制,而部设备的直接控制,甚至处理机干脆不再干预外部设备的控制,而交由专门的硬件装置去实现对外部设备的管理与监督。交由专门的硬件装置去实现对外部设备的管理与监督。9.1.2 I/O系统的组成系统的组成 在现代计算机系统中,在现代计算机系统中,I/O系统由四局部组成:扩展总线、系统由四局部组成:扩展总线、I/O设设备接口控制器
3、、备接口控制器、I/O设备以及相关控制软件。计算机设备以及相关控制软件。计算机I/O系统典型结系统典型结构如图构如图9-1所示。所示。1 I/O接口控制器的功能之一就是要负责利用适当的手段,译码处接口控制器的功能之一就是要负责利用适当的手段,译码处理机送来的用于控制外设的命令字,进而向它所控制的外设提供外理机送来的用于控制外设的命令字,进而向它所控制的外设提供外设所需要的控制信号;设所需要的控制信号;除此之外接口控制器也需要接收外设返回的状态,并以此为依据除此之外接口控制器也需要接收外设返回的状态,并以此为依据进一步将其组织成设备状态字,提供给处理机查询;进一步将其组织成设备状态字,提供给处理
4、机查询;同时同时l/O接口还要在一定程度上负责数据的缓冲,从而实现处理机接口还要在一定程度上负责数据的缓冲,从而实现处理机与外设之问的速度匹配。与外设之问的速度匹配。9.1.3 主机与外围设备间的连接方式与组织管理主机与外围设备间的连接方式与组织管理 在现代计算机中,主机与外围设备的连接方式大致可分为:总线在现代计算机中,主机与外围设备的连接方式大致可分为:总线方式、通道方式和方式、通道方式和I/O处理机处理机(IOP)方式。方式。2 总线型连接方式总线型连接方式 CPU通过系统总线与内存储器、通过系统总线与内存储器、I/O接口控制器相连接,通过接口控制器相连接,通过I/O接口控制器实现对外围
5、设备的控制,如图接口控制器实现对外围设备的控制,如图9-1所示。所示。这种连接方式是目前大多数中、小型计算机包括微型计算机所采这种连接方式是目前大多数中、小型计算机包括微型计算机所采用的连接模式。用的连接模式。优点优点是系统模块化程度较高,是系统模块化程度较高,I/O接口扩充方便。接口扩充方便。缺点缺点是系统中部件之间的信息交换均依赖于总线,总线容易成为是系统中部件之间的信息交换均依赖于总线,总线容易成为系统中的瓶颈,因而不适于系统需要配备大量外围设备的场合。系统中的瓶颈,因而不适于系统需要配备大量外围设备的场合。通道控制连通道控制连接方式接方式 其控制连接方其控制连接方式如图式如图9-2所示
6、。所示。3 从连接角度看,通道控制器的一端与系统总线相连,另一端那么从连接角度看,通道控制器的一端与系统总线相连,另一端那么控制一条控制一条I/O总线。总线。设备控制器及其所控制的设备那么连接到设备控制器及其所控制的设备那么连接到I/O总线上,构成了主总线上,构成了主机、通道、机、通道、I/O接口接口(设备控制器设备控制器)和外设的四级连接方式。和外设的四级连接方式。I/O 处理机控制连接方式处理机控制连接方式 I/O处理机处理机(I/O processor,IOP)与通道相比,有更强的独立性,与通道相比,有更强的独立性,它与主机中它与主机中CPU所采用的体系结构无关,可视为一种专用的所采用的
7、体系结构无关,可视为一种专用的CPU。9.1.4 I/O信息传送的控制方式信息传送的控制方式 由程序控制的数据传送。由程序控制的数据传送。由处理机执行所谓的由处理机执行所谓的I/O程序,实现对整个程序,实现对整个I/O数据传送过程的全数据传送过程的全程监督与管理,一般在总线型连接方式中采用。程监督与管理,一般在总线型连接方式中采用。由程序控制的数据传送可进一步分为直接程序控制方式由程序控制的数据传送可进一步分为直接程序控制方式(programmed direct control,PDC)和程序中断传送方式和程序中断传送方式(program interrupt transfer,PIT)。由专有
8、硬件控制的数据传送。由专有硬件控制的数据传送。49.2 I/O接口接口 不同功能部件之间的交界面称为接口不同功能部件之间的交界面称为接口 接口与端口是两个不同的概念:接口与端口是两个不同的概念:端口:是指能被端口:是指能被CPU直接访问的存放器。直接访问的存放器。接口:由假设干个端口加上相应的控制逻辑电路组成。接口:由假设干个端口加上相应的控制逻辑电路组成。一个接口通常包括数据端口、命令端口和状态端口。一个接口通常包括数据端口、命令端口和状态端口。主机与外设的主要差异:主机与外设的主要差异:工作速度相差几个数量级。工作速度相差几个数量级。数据格式不同,主机内部采用二进制编码;而外设种类繁多,数
9、据格式不同,主机内部采用二进制编码;而外设种类繁多,编码各异,另外还有串并数据之分。编码各异,另外还有串并数据之分。主机和外设之间需要交换的信息:主机和外设之间需要交换的信息:数据信息数据信息 控制信息控制信息 状态信息状态信息 联络信息联络信息 外设识别信息外设识别信息9.2.1 I/O接口的功能接口的功能 一个一个I/O接口的典型结构如图接口的典型结构如图9-3所示。所示。5 接口的根本功能有:接口的根本功能有:数据传送与数据缓冲、隔离和锁存数据传送与数据缓冲、隔离和锁存 错误或状态的检测错误或状态的检测 控制和定时控制和定时 数据格式转换数据格式转换 与主机和设备通信与主机和设备通信 上
10、述功能都有必须通过上述功能都有必须通过I/O接口与主机或接口与主机或设备之间的通信来完成。例如,设备之间的通信来完成。例如,I/O接口与主机侧进行通信:接口与主机侧进行通信:对主机通过对主机通过SB送来的地址信息进行译码,以确定是否选中本设备。送来的地址信息进行译码,以确定是否选中本设备。接受接受SB送来的控制信息,以确定数据传送的方向。送来的控制信息,以确定数据传送的方向。6 将接口中数据缓冲存放器或状态存放器的信息送到将接口中数据缓冲存放器或状态存放器的信息送到SB,或接收,或接收SB送来的数据或命令信息,将其送到接口中的数据缓冲存放器或控送来的数据或命令信息,将其送到接口中的数据缓冲存放
11、器或控制存放器。制存放器。又如,又如,I/O接口与设备进行通信:接口与设备进行通信:将控制存放器中的命令译码输出将控制存放器中的命令译码输出外部接口的控制线上。外部接口的控制线上。发送数据缓冲存放器的数据发送数据缓冲存放器的数据外部接口的数据线上。外部接口的数据线上。接受外设的状态或数据信息,接受外设的状态或数据信息,接口中的状态存放器或数据缓冲接口中的状态存放器或数据缓冲存放器中。存放器中。数据在外设和主机之间进行传送的过程如下图:数据在外设和主机之间进行传送的过程如下图:7 I/O端口的编址端口的编址 端口:是指能被端口:是指能被CPU直接访问的存放器。直接访问的存放器。一个一个I/O端口
12、可能是输入端口,也可能是输出端口或是双向端口端口可能是输入端口,也可能是输出端口或是双向端口 端口地址的编址方式一般有以下两种:独立编址和统一编址。端口地址的编址方式一般有以下两种:独立编址和统一编址。独立编址独立编址 例如在例如在IBM PC微型计算机系统中就采用了此种方式。如图微型计算机系统中就采用了此种方式。如图9-4所所示。示。在在IBM PC中局部中局部I/O端口地址分配如表端口地址分配如表9-1所示。所示。8表表9-1 IBM PC中中I/O地址分配地址分配 输入输出设备输入输出设备 占用地址数占用地址数 地址地址(十六进制十六进制)硬盘控制器硬盘控制器1632032F软盘控制器软
13、盘控制器832032F彩色图形显示适配器彩色图形显示适配器163D03DF异步通信控制器异步通信控制器83F83FF 独立编址方法的优点是:独立编址方法的优点是:I/O端口与存储器单元都有各自独立的端口与存储器单元都有各自独立的地址空间,各自的地址译码与控制电路会相对简单一些,同时由于地址空间,各自的地址译码与控制电路会相对简单一些,同时由于设置了设置了I/O指令,使机器语言或汇编语言源程序中的指令,使机器语言或汇编语言源程序中的I/O局部较为明局部较为明显,程序的结构比较清晰,便于阅读、修改程序。显,程序的结构比较清晰,便于阅读、修改程序。缺点是通常为缺点是通常为I/O指令设计的寻址方式与存
14、储单元访问指令中的指令设计的寻址方式与存储单元访问指令中的寻址方式相比要单调一些,同时增加了指令系统的复杂性。但一般寻址方式相比要单调一些,同时增加了指令系统的复杂性。但一般不会给程序的编制带来不便。不会给程序的编制带来不便。存储器映射存储器映射(统一编址统一编址)方式是从主存储器地址空间中分出一局部方式是从主存储器地址空间中分出一局部地址作为地址作为I/O端口地址,即存储单元与端口地址,即存储单元与I/O端口存放器处在一个统一端口存放器处在一个统一9的地址空间中,如图的地址空间中,如图9-5所示所示I/O端口端口存储器存储器图图9-5 存储器映射的存储器映射的I/O设备编址方式设备编址方式
15、统一编址方法的优点是:简化了统一编址方法的优点是:简化了CPU控制器的设计、实现。当访控制器的设计、实现。当访问存储器的指令中出现被问存储器的指令中出现被I/O映射的地址码时,表示当前访问的对映射的地址码时,表示当前访问的对象不是存储单元而是象不是存储单元而是I/O端口。由于通常对访问存储单元的指令会端口。由于通常对访问存储单元的指令会设计较多的寻址方式,因而设计较多的寻址方式,因而I/O程序编制较为方便、灵活。程序编制较为方便、灵活。缺点也很明显,其一是存储器的空间被占用;二是机器语言或汇缺点也很明显,其一是存储器的空间被占用;二是机器语言或汇编语言源程序中的编语言源程序中的I/O局部难以阅
16、读、修改及维护。局部难以阅读、修改及维护。9.2.2 I/O接口的分类接口的分类 按数据传送方式分类:按数据传送方式分类:串行接口和并行接口。串行接口和并行接口。10 按功能选择的灵活性分类按功能选择的灵活性分类:可编程接口和不可编程接口可编程接口和不可编程接口。按通用性分按通用性分:通用接口和专用接口。通用接口和专用接口。按主机访问按主机访问I/O设备的控制方式分类设备的控制方式分类:程序查询接口程序查询接口 中断接口中断接口 DMA接口接口 按连接方式来分按连接方式来分:有点对点的接口和多点接口有点对点的接口和多点接口。输入和输出的信号分类输入和输出的信号分类:数字接口和模拟接口数字接口和
17、模拟接口 按应用来分按应用来分:运行辅助接口运行辅助接口 用户交互接口用户交互接口 传感接口传感接口 控制接口控制接口119.3 程序控制方式程序控制方式9.3.1 I/O控制方式类型控制方式类型 程序查询方式程序查询方式 程序中断方式程序中断方式 DMA方式方式 Channel方式方式 I/O处理机方式处理机方式9.3.2 程序直接控制方式程序直接控制方式 直接通过程序来控制主机和外设的数据交换。直接通过程序来控制主机和外设的数据交换。通常有两种类型的通常有两种类型的程序直接控制数据传送方式程序直接控制数据传送方式:无条件传送方式和有条件传送方式。无条件传送方式和有条件传送方式。无条件传送方
18、式无条件传送方式 也称也称同步同步传送方式。其实质是用程序来定时同步地传送数据。适传送方式。其实质是用程序来定时同步地传送数据。适合于各类巡回检测或过程控制。见图。合于各类巡回检测或过程控制。见图。12 有条件传送方式有条件传送方式 也称也称异步异步传送方式或程序查询方式。传送方式或程序查询方式。见图。见图。程序查询方式的程序查询方式的优点优点是:简单、易控是:简单、易控制、外围接口控制逻辑少。制、外围接口控制逻辑少。缺点缺点是:外设完全串行工作,效率低、是:外设完全串行工作,效率低、速度慢。速度慢。13 查询可采用多种不同的方式进行,主要取决于查询可采用多种不同的方式进行,主要取决于I/O设
19、备本身以及设备本身以及该该I/O设备是否能够独立启动设备是否能够独立启动I/O。例:。例:鼠标是慢速设备,所以常用查询方式。用户可以移动鼠标或单击鼠标是慢速设备,所以常用查询方式。用户可以移动鼠标或单击鼠标按钮就能够独立启动鼠标按钮就能够独立启动I/O完成输入操作。完成输入操作。软盘或打印机只能在软盘或打印机只能在OS控制下才能启动,这样的设备只有控制下才能启动,这样的设备只有OS知道知道它被激活后才能进行查询,但这种查询的开销很大。下面举例说明它被激活后才能进行查询,但这种查询的开销很大。下面举例说明对于不同对于不同I/O速率的设备,速率的设备,I/O的程序查询开销是不同的。的程序查询开销是
20、不同的。例:设查询操作所需的周期数是例:设查询操作所需的周期数是400个,个,PE按按500MHz的速度执行的速度执行,即,即PE每秒产生每秒产生500 106个个PE周期。假定查询速度足够快,能保证周期。假定查询速度足够快,能保证数据没有任何数据丧失,并设设备总是忙,考察以下三种情况下所数据没有任何数据丧失,并设设备总是忙,考察以下三种情况下所消耗的消耗的CPU时间百分比。时间百分比。鼠标必须每秒钟被查询鼠标必须每秒钟被查询30次,以保证不错过用户的任何一次移次,以保证不错过用户的任何一次移动。动。那么每秒用于查询的时钟周期为那么每秒用于查询的时钟周期为30 400=12000周期,花费周期
21、,花费PE时时钟周期的百分比为钟周期的百分比为12000/(500 106)=0.0024%。14 软盘按软盘按16位位(2B)为单位将数据传送到为单位将数据传送到PE,传输速率为,传输速率为 50KB/s,且没有任何数据传送被错过,查询速率需到达,且没有任何数据传送被错过,查询速率需到达50KB/2B=25K次才次才能保证没有任何数据丧失。因此,每秒用于查询的时钟周期数为能保证没有任何数据丧失。因此,每秒用于查询的时钟周期数为25K 400=10M,这占整个,这占整个PE时钟周期数为时钟周期数为10M/(500 106)=2%。硬盘以硬盘以4字块字块(=16B)进行传输,速率为进行传输,速率
22、为4MB/s,同样没有任何数,同样没有任何数据传送被错过。查询速率应为据传送被错过。查询速率应为4MB/16B=250K次才能保证没有任何次才能保证没有任何数据丧失。因此,每秒用于查询的时钟周期数为数据丧失。因此,每秒用于查询的时钟周期数为250K 400=100M,这占整个这占整个PE时钟周期数为时钟周期数为100M/(500 106)=20%。也就是说处理器。也就是说处理器中中1/5的时间用于查询硬盘,显然这是不可取的。的时间用于查询硬盘,显然这是不可取的。9.3.2 程序中断传送方式程序中断传送方式 中断的根本概念中断的根本概念 中断问题的提出中断问题的提出 程序查询方式虽然简单,但存在
23、以下明显的缺点:程序查询方式虽然简单,但存在以下明显的缺点:在查询过程中,在查询过程中,CPU长期于等待状态,系统效率低;长期于等待状态,系统效率低;CPU在一段时间内只能与一台外设交换信息,其他设备不能并在一段时间内只能与一台外设交换信息,其他设备不能并行工作;行工作;不能发现和处理预先未估计到的错误和异常情况。不能发现和处理预先未估计到的错误和异常情况。15 中断方式在一定程度上实现了中断方式在一定程度上实现了CPU和外设的并行工作,提高了和外设的并行工作,提高了CPU的工作效率。现在中断已从提高计算机效率变为提高效能。的工作效率。现在中断已从提高计算机效率变为提高效能。中断系统是计算机实
24、现中断功能的软、硬件总称。中断系统是计算机实现中断功能的软、硬件总称。中断处理过程实际上是程序切换过程。因此,中断处理过程实际上是程序切换过程。因此,CPU每次执行效劳每次执行效劳程序前总要保护被中止的程序的断点、和现场。返回时,要恢复被程序前总要保护被中止的程序的断点、和现场。返回时,要恢复被中止的程序的断点、和现场。中止的程序的断点、和现场。中断:由于意外事件,迫使中断:由于意外事件,迫使CPU中止运行现行程序,转向去执行中止运行现行程序,转向去执行处理意外事件的效劳程序,处理完毕后,处理意外事件的效劳程序,处理完毕后,CPU再返回被中止运行的再返回被中止运行的程序的断点继续执行的这一过程
25、。程序的断点继续执行的这一过程。16 中断机构的建立中断机构的建立 设计、实现一个计算机系统的中断机构主要涉及以下一些要素:设计、实现一个计算机系统的中断机构主要涉及以下一些要素:中断源的设置。中断源的设置。中断的分类与分级。中断的分类与分级。中断信号的建立与传送。中断信号的建立与传送。实现优先级比较的方式和方法。实现优先级比较的方式和方法。CPU响应中断的条件和时机,以及响应中断的条件和时机,以及CPU在响应中断时要做的工在响应中断时要做的工作。作。CPU识别各个中断的方法,以及如何找到处理相应中断的中断识别各个中断的方法,以及如何找到处理相应中断的中断处理程序。处理程序。程序中断与调子的区
26、别程序中断与调子的区别 子程序的执行是由程序员事先安排好的子程序的执行是由程序员事先安排好的(即由事先安排的调子即由事先安排的调子程序转入程序转入),而中断效劳子程序的执行那么是随机的。,而中断效劳子程序的执行那么是随机的。子程序的执行受上层子程序或主程序的控制,而中断效劳程序子程序的执行受上层子程序或主程序的控制,而中断效劳程序与被中断的现行程序无关。与被中断的现行程序无关。不存在同时调用多个子程序的情况,而可能发生多个不存在同时调用多个子程序的情况,而可能发生多个 中断源同中断源同时请求时请求CPU为自己效劳的情况。为自己效劳的情况。17 是否允许正在执行的中断处理程序被其他高级别的中断请
27、求打是否允许正在执行的中断处理程序被其他高级别的中断请求打断,即系统是否允许中断嵌套。断,即系统是否允许中断嵌套。中断系统的设计及实现要求中断系统的设计及实现要求 在一个成功的中断系统的设计、实现中,中断系统应满足以下要在一个成功的中断系统的设计、实现中,中断系统应满足以下要求:求:保证中断请求信号的建立及保持其准确性,保证中断在未被响保证中断请求信号的建立及保持其准确性,保证中断在未被响应时,中断请求信号不能被随便丧失。应时,中断请求信号不能被随便丧失。保证中断响应的及时性,各类中断都能及时得到响应,不应出保证中断响应的及时性,各类中断都能及时得到响应,不应出现某些中断由于某种原因长时间得不
28、到响应。现某些中断由于某种原因长时间得不到响应。必须防止在处理某个中断过程中,又去响应同样的中断。必须防止在处理某个中断过程中,又去响应同样的中断。保证中断处理过程的正确性,在中断处理过程结束后能够正确保证中断处理过程的正确性,在中断处理过程结束后能够正确返回被中断的程序,使之继续执行。返回被中断的程序,使之继续执行。高级中断能打断低级中断的处理过程,允许中断嵌套。高级中断能打断低级中断的处理过程,允许中断嵌套。中断优先级的设置应具备方便性及灵活性,允许动态改变一个中断优先级的设置应具备方便性及灵活性,允许动态改变一个中断的优先级别。中断的优先级别。中断源的设置中断源的设置 中断源是指能引起中
29、断事件的原因。中断源是指能引起中断事件的原因。18 中断还能帮助我们解决在计算机系统中许多看似难以解决的问题,中断还能帮助我们解决在计算机系统中许多看似难以解决的问题,这些问题归纳如下:这些问题归纳如下:实现人机联系。实现人机联系。单步调试程序。单步调试程序。实时处理。实时处理。提高机器的可靠性。提高机器的可靠性。应用程序和操作系统的联系。应用程序和操作系统的联系。实现多道程序。实现多道程序。实现多处理机系统中各处理机之间的联系。实现多处理机系统中各处理机之间的联系。19 中断的分类中断的分类 不同的系统有自己的分类方法,比方分为硬件中断不同的系统有自己的分类方法,比方分为硬件中断(设备中断设
30、备中断)和和软件中断软件中断(trap或或int指令中断指令中断),也可分为外部中断和内部中断等。,也可分为外部中断和内部中断等。内中断:内中断:由由PE的异常事件引起的中断。的异常事件引起的中断。根据发生的原因,又分为硬件故障中断和程序例外引起的中断。根据发生的原因,又分为硬件故障中断和程序例外引起的中断。硬件故障中断:由硬联线路出现异常引起的。如掉电,存储线硬件故障中断:由硬联线路出现异常引起的。如掉电,存储线路错等。路错等。程序例外中断程序例外中断(也称软中断也称软中断)。由。由CPU执行某个指令而引起的发执行某个指令而引起的发生在生在PE内部的异常事件,也称为例外内部的异常事件,也称为
31、例外(Exception)。如单步中断、。如单步中断、溢出中断、缺页、除数为溢出中断、缺页、除数为0等。等。按发生异常的报告方式和返回方式的不同,程序性中断又分为失按发生异常的报告方式和返回方式的不同,程序性中断又分为失效效(Fault)、自陷、自陷(Trap)、终止、终止(Abort)三种。三种。失效失效:是在引起失效的指令后、执行前被检测到的一类例外事件。是在引起失效的指令后、执行前被检测到的一类例外事件。在相应的中断处理程序完成后,应回到该指令,重新启动并执行。在相应的中断处理程序完成后,应回到该指令,重新启动并执行。例:例:“缺页中断。缺页中断。20 自陷自陷:是产生在自陷指令执行完后
32、才被报告的一类例外事件,中断是产生在自陷指令执行完后才被报告的一类例外事件,中断处理完成后,回到主程序中该条指令的下一条指令继续执行。处理完成后,回到主程序中该条指令的下一条指令继续执行。例:例:80 x86 CPU中的中的INT n指令。指令。终止:是对引起异常的指令确实切位置无法确定的一类例外事件,终止:是对引起异常的指令确实切位置无法确定的一类例外事件,出现这类严重错误,原程序无法继续执行,只好终止,而由中断效出现这类严重错误,原程序无法继续执行,只好终止,而由中断效劳程序重新启动劳程序重新启动OS。例如,硬件错误、系统表中的非法数值、非法。例如,硬件错误、系统表中的非法数值、非法操作码
33、等造成的异常。操作码等造成的异常。外中断:外中断:指指CPU以外的部件引起的中断。例如,任务完成、打印机缺纸、以外的部件引起的中断。例如,任务完成、打印机缺纸、键盘输入、采样计时到等。它又分可屏蔽中断和非可屏蔽中断。键盘输入、采样计时到等。它又分可屏蔽中断和非可屏蔽中断。可屏蔽中断:打印机准备好、任务完成等。可屏蔽中断:打印机准备好、任务完成等。非可屏蔽中断:非可屏蔽中断:DMA中断等。中断等。中断也可用另外分类方法中断也可用另外分类方法 自愿中断和强迫中断自愿中断和强迫中断 自愿中断又称自中断,它不是随机产生的中断,而是在程序中安自愿中断又称自中断,它不是随机产生的中断,而是在程序中安排的有
34、关指令,使机器进入中断处理的过程,如排的有关指令,使机器进入中断处理的过程,如8086中的软中断指中的软中断指令令INT n。21 强迫中断是随机产生的中断,不是程序中事先安排的。当这种中强迫中断是随机产生的中断,不是程序中事先安排的。当这种中断产生以后,由中断系统迫使计算机中止现行程序并转入中断效劳断产生以后,由中断系统迫使计算机中止现行程序并转入中断效劳程序。程序。程序中断和简单中断程序中断和简单中断 程序中断就是上面所提到的中断,主机响应中断请求后,通过执程序中断就是上面所提到的中断,主机响应中断请求后,通过执行一段中断效劳子程序来处理更紧迫的任务。它须要占用一定的行一段中断效劳子程序来
35、处理更紧迫的任务。它须要占用一定的CPU时间。时间。简单中断指外设与主存间直接进行交换的方法,即简单中断指外设与主存间直接进行交换的方法,即DMA方式。这方式。这种中断不去执行中断效劳程序,而主要是靠硬件来处理。种中断不去执行中断效劳程序,而主要是靠硬件来处理。内中断和外中断内中断和外中断 内中断由内中断由CPU内部硬件或软件原因引起的中断,如单步中断、溢内部硬件或软件原因引起的中断,如单步中断、溢出中断等。出中断等。外中断指外中断指CPU以外的部件引起的中断。它又分可屏蔽中断和非可以外的部件引起的中断。它又分可屏蔽中断和非可屏蔽中断。屏蔽中断。向量中断和非向量中断向量中断和非向量中断 向量中
36、断:指能自己提供中断效劳程序入口地址的中断。向量中断:指能自己提供中断效劳程序入口地址的中断。22 非向量中断是不能自己提供中断效劳程序入口地址的中断。非向量中断是不能自己提供中断效劳程序入口地址的中断。单重中断和多重中断单重中断和多重中断 单重中断在单重中断在CPU执行中断效劳程序过程中不能再被打断的中断。执行中断效劳程序过程中不能再被打断的中断。多重中断在多重中断在CPU执行中断效劳程序过程中可以响应优先级更高的执行中断效劳程序过程中可以响应优先级更高的中断请求。又称为中断嵌套。中断请求。又称为中断嵌套。例:例:80 x86 PE中断系统把中断分成以下两大类:中断系统把中断分成以下两大类:
37、外中断外中断(硬中断硬中断):通过:通过PE的的INTR和和NMI两根引线实现请求的两根引线实现请求的中断。中断。由外设中断源引起的中断通过由外设中断源引起的中断通过INTR线向线向CPU申请中断,它是可屏申请中断,它是可屏蔽中断。蔽中断。由外设中断源引起的重要或紧急的硬件故障中断,通过由外设中断源引起的重要或紧急的硬件故障中断,通过NMI线向线向CPU申请中断,它是不可屏蔽中断。申请中断,它是不可屏蔽中断。内中断内中断(软中断软中断):也称为异常或例外。由处理器内部产生而不:也称为异常或例外。由处理器内部产生而不通过中断线请示的中断,为不可屏蔽中断。通过中断线请示的中断,为不可屏蔽中断。23
38、 由外设引起的由外设引起的I/O的中断和前面看到的异常在本质上是一样的,的中断和前面看到的异常在本质上是一样的,但是有两个重要的不同点:但是有两个重要的不同点:一个一个I/O中断相对于指令的执行是异步,即中断相对于指令的执行是异步,即I/O中断不和任何指中断不和任何指令相关,也不阻止指令的执行完成,它与令相关,也不阻止指令的执行完成,它与“缺页例外和缺页例外和“溢出例溢出例外等有很大的不同外等有很大的不同,I/O中断控制逻辑仅需要在开始一个新指令中断控制逻辑仅需要在开始一个新指令之前检测是否有之前检测是否有I/O中断请求。中断请求。异常是由异常是由PE自身发现的,不必通过外部的某个信号通知自身
39、发现的,不必通过外部的某个信号通知CPU,也不要识别是哪种异常。而对中断,也不要识别是哪种异常。而对中断,PE除了被通知一个除了被通知一个“I/O中断中断已发生外,还必须进一步检查是哪些设备发生了中断,它们设备已发生外,还必须进一步检查是哪些设备发生了中断,它们设备标识号是多少?还要进一步根据不同的紧急程度选择其中一个响应标识号是多少?还要进一步根据不同的紧急程度选择其中一个响应 中断请求信号的建立与传送中断请求信号的建立与传送 中断请求信号的建立与中断屏蔽中断请求信号的建立与中断屏蔽 中断请求存放器:记录各外设的中断请求,每个中断请求对应中中断请求存放器:记录各外设的中断请求,每个中断请求对
40、应中断存放器中一位。断存放器中一位。中断屏蔽存放器:每个中断有自己的中断屏蔽字中断屏蔽存放器:每个中断有自己的中断屏蔽字(所有中断源此所有中断源此时的屏蔽位的值时的屏蔽位的值),在相应的中断处理之前送往中断屏蔽存放器。,在相应的中断处理之前送往中断屏蔽存放器。24公共请求公共请求独独立立请请求求25 中断请求信号的传送 通常有四种传送模式,如图9-9所示。各中断源单独设置自己的中断请求线,每条中断请求线都直接送往CPU,即CPU一端需要设置多条中断请求信号线,如图9-9(a)所示。各中断源的中断请求信号通过三态门电路聚集到一根公共中断请求线,如图9-9(b)所示。也可在CPU外部设置一个中断控
41、制电路,该电路负责将所有中断源所发出的中断请求聚集起来,通过或门向CPU请求中断,如图9-9(c)所示。另一种方案是兼有公共请求线与独立请求线,如图9-9(d)所示。对要求快速响应的12个中断请求,采取独立请求线方式,以便快速识别。将其余响应速度允许相对低些的中断请求聚集为一根公共请求线。中断判优 CPU目前执行程序的优先级与中断请求优先级间的判优 首先,可在CPU内部设置一个允许中断触发器,如图9-10所示。26 指令系统提供具有开中断与关中断功能的指令。指令系统提供具有开中断与关中断功能的指令。如果允许中断触发器处于关中断状态,那么如果允许中断触发器处于关中断状态,那么CPU不响应外部中断
42、不响应外部中断请求。换句话说,所有外部中断请求所要求的效劳都没有现行程序请求。换句话说,所有外部中断请求所要求的效劳都没有现行程序的任务重要。的任务重要。如果开中断,那么如果开中断,那么CPU可响应外部请求,发出中断应答可响应外部请求,发出中断应答(INTA)信信号。在早期的微型计算机系统中,只安排了这一级控制。号。在早期的微型计算机系统中,只安排了这一级控制。27 中断请求之间的判优中断请求之间的判优 首先按中断请求性质来划分优先级。首先按中断请求性质来划分优先级。一般来说一般来说CPU内部引发的中断优先内部引发的中断优先级最高,然后才是外部中断。级最高,然后才是外部中断。对外部中断而言,不
43、可屏蔽中断的对外部中断而言,不可屏蔽中断的优先级要高于可屏蔽中断,前者往往优先级要高于可屏蔽中断,前者往往要求要求CPU处理故障,后者要求处理故障,后者要求CPU处理一般的处理一般的I/O中断。中断。对于一般的对于一般的I/O中断,按中断请求中断,按中断请求要求的数据传送方向,通常的原那么要求的数据传送方向,通常的原那么是让输入操作的请求优于输出操作的是让输入操作的请求优于输出操作的请求。请求。下面介绍几种优先级排队方法。下面介绍几种优先级排队方法。软件查询软件查询 图图9-11 软件查询中断的中断请求逻辑和查询流程软件查询中断的中断请求逻辑和查询流程28 开仃优先级排队逻辑 如果各中断源都能
44、提供独立的中断请求信号线送往CPU,那么可以采取并行优先级排队逻辑,也称具有独立请求线的硬件优先级排队逻辑,如图9-12所示 图图9-12 具有独立请求线的硬件优先级排队逻辑具有独立请求线的硬件优先级排队逻辑0110129 链式优先排队逻辑链式优先排队逻辑 如果中断请求信号的传递模式采用公共请求线方式,那么优先级如果中断请求信号的传递模式采用公共请求线方式,那么优先级排队结果可以用形成紫设备编码或中断识别编码来表示,相应地可排队结果可以用形成紫设备编码或中断识别编码来表示,相应地可采用链式优先级排队逻辑,该逻辑也称为优先链逻辑。各个中断源采用链式优先级排队逻辑,该逻辑也称为优先链逻辑。各个中断
45、源提出的中断请求都送到公共中断请求信号线上,形成公用的中断请提出的中断请求都送到公共中断请求信号线上,形成公用的中断请求信号求信号INT送往送往CPU。图图9-13 链式优先级排队逻辑链式优先级排队逻辑 在采取这种连接方式时,所有可能作为中断源的设备被连接成一在采取这种连接方式时,所有可能作为中断源的设备被连接成一条链,其连接顺序表达了优先级顺序,在逻辑上离条链,其连接顺序表达了优先级顺序,在逻辑上离CPU最近的设备,最近的设备,优先级最高。这种优先链结构在许多文献中也被称为菊花链,是应优先级最高。这种优先链结构在许多文献中也被称为菊花链,是应用很广泛的一种逻辑结构。用很广泛的一种逻辑结构。3
46、230 串行链式优先级排队逻辑是由硬件实现的采用公共请求线的优先串行链式优先级排队逻辑是由硬件实现的采用公共请求线的优先级排队方式,其逻辑线路如图级排队方式,其逻辑线路如图9-14所示。所示。图图9-14 串行优先级排队电路串行优先级排队电路01110101001131 在图在图9-13(b)所示结构中,批准信号同时送往所有接口;但中断优所示结构中,批准信号同时送往所有接口;但中断优先级排队电路保证只有在申请者中优先级最高的一个中断源可以通先级排队电路保证只有在申请者中优先级最高的一个中断源可以通过系统总线向过系统总线向CPU送出自己的识别编码。根据编码,送出自己的识别编码。根据编码,CPU可
47、以识别可以识别出中断源,从而转向对应的中断效劳程序。出中断源,从而转向对应的中断效劳程序。二维结构的优先排队二维结构的优先排队 如果中断请求信号的传送采取二维结构,那么优先排队逻辑结构如果中断请求信号的传送采取二维结构,那么优先排队逻辑结构如图如图9-15所示。所示。32 采用中断控制器集成芯片的优先逻辑采用中断控制器集成芯片的优先逻辑 Intel 8259A芯片内部大致的逻辑结构如图芯片内部大致的逻辑结构如图9-16所示。所示。Intel 8259A芯片主要包含下述组件。芯片主要包含下述组件。图图9-1 6 可编程中断控制器可编程中断控制器Intel 8259A33 在中断优先级排队问题的各
48、种方法中,有些方法可以综合运用,在中断优先级排队问题的各种方法中,有些方法可以综合运用,从而在实际应用中派生出许多具体方式。例如中断控制器从而在实际应用中派生出许多具体方式。例如中断控制器8259A,可编程指定多种优先级排队方法,如固定优先级方式、循环优先级可编程指定多种优先级排队方法,如固定优先级方式、循环优先级方式、特殊屏蔽方式等。方式、特殊屏蔽方式等。当中断源较多时,它可以多级串联,将一片当中断源较多时,它可以多级串联,将一片8259A的的INT作为上作为上一级的一级的IR0-7的中断请求信号来使用,以扩展中断请求的数量。的中断请求信号来使用,以扩展中断请求的数量。34 中断响应和中断处
49、理中断响应和中断处理(中断效劳中断效劳)中断响应中断响应 CPU接到中断请求信号后,如果满足响应中断的条件,接到中断请求信号后,如果满足响应中断的条件,CPU就会就会暂停现行程序的执行,而转入中断处理,将这一过程称为中断响应暂停现行程序的执行,而转入中断处理,将这一过程称为中断响应 CPU响应外部中断一般应具备如下条件:响应外部中断一般应具备如下条件:有中断源请求中断。有中断源请求中断。允许响应中断,即处于开中断状态。允许响应中断,即处于开中断状态。一条指令执行结束。一条指令执行结束。CPU响应中断后进入中断响应周期,在中断响应周期内,完成下响应中断后进入中断响应周期,在中断响应周期内,完成下
50、面操作。面操作。关中断:以便在保存现场的过程中不允许响应新的中断请求,关中断:以便在保存现场的过程中不允许响应新的中断请求,确保现场保存的正确性。确保现场保存的正确性。保存断点地址保存断点地址(即返回地址即返回地址)和程序状态字:一般将它们压入堆和程序状态字:一般将它们压入堆栈中。栈中。转入中断效劳程序入口:以便执行相应的中断效劳程序,完成转入中断效劳程序入口:以便执行相应的中断效劳程序,完成中断处理任务。中断处理任务。35 中断处理中断处理(中断效劳中断效劳)中断效劳程序一般由三局部组成,中断效劳程序一般由三局部组成,即起始局部、主体局部和结尾局部。即起始局部、主体局部和结尾局部。中断效劳程