《计算机组成原理第八章课件(白中英版)教学教材.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第八章课件(白中英版)教学教材.ppt(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理计算机组成原理1计算机组成原理第八章课件(白中英版)n教材n白中英,计算机组成原理白中英,计算机组成原理网络版,科学出版网络版,科学出版社,社,20022002n参考书n石磊,计算机组成原理石磊,计算机组成原理第第2 2版版,清华大学出清华大学出版社,版社,20062006n钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用,清华大学出清华大学出版社,版社,20062006n王爱英王爱英,计算机组成与结构计算机组成与结构第第3 3版版,清华大学清华大学出版社,出版社,20012001n白中英白中英 邝坚,计算机组织与结构邝坚,计算机组织与结构网络版,网络版,科学出版社,科学
2、出版社,20032003nI/OI/O接口概述接口概述n8.1 CPU8.1 CPU对外围设备的管理方式对外围设备的管理方式n程序查询方式程序查询方式n8.2 8.2 程序中断方式程序中断方式n8.3 DMA8.3 DMA方式方式n8.4 8.4 通道方式通道方式第8章 输入输出系统I/O系统包括系统包括I/O接口接口硬件硬件电路电路和和I/O管理软件管理软件计算机组成原理计算机组成原理4I/O接口(电路)6.2.2l计算机的外围计算机的外围(外部外部)设备设备多种多样多种多样l工工作作原原理理、驱驱动动方方式式、信信息息格格式式、以以及及工工作作速速度方面彼此差别很大度方面彼此差别很大l外外
3、设设不不能能与与CPUCPU直直接接相相连连,必必须须经经过过中中间间电电路路(I/OI/O接口电路)再与系统相连接口电路)再与系统相连lI/O接接口口电电路路是是位位于于系系统统与与外外设设间间、用用来来协协助助完成数据传送和控制任务的逻辑电路完成数据传送和控制任务的逻辑电路CPUCPU接口接口接口接口电路电路电路电路 外设外设外设外设计算机组成原理计算机组成原理6I/O接口的典型结构l内部结构内部结构 数据寄存器数据寄存器:保存微处理器与外设之间交换的数据:保存微处理器与外设之间交换的数据状态寄存器状态寄存器:保存外设当前的工作状态信息:保存外设当前的工作状态信息控控制制寄寄存存器器:保保
4、存存微微处处理理器器控控制制接接口口电电路路和和外外设设操操作的有关信息作的有关信息l外部特性外部特性面向微处理器一侧的信号:与微处理器总线类似面向微处理器一侧的信号:与微处理器总线类似面向外设一侧的信号:与外设有关面向外设一侧的信号:与外设有关示意图示意图计算机组成原理计算机组成原理7I/O接口的软件编程l接口电路具有可编程性(接口电路具有可编程性(ProgrammableProgrammable)根根据据具具体体要要求求,通通过过编编程程选选定定I/OI/O接接口口电电路路的的多多种种功能或工作方式之一功能或工作方式之一l初始化程序初始化程序选择选择I/OI/O接口工作方式、设置原始工作状
5、态等接口工作方式、设置原始工作状态等l驱动程序驱动程序操纵操纵I/OI/O接口完成具体工作接口完成具体工作硬件接口电路需要软件编程配合工作硬件接口电路需要软件编程配合工作计算机组成原理计算机组成原理8I/O端口的编址lI/OI/O端口(端口(PortPort)泛指)泛指I/OI/O地址,对应地址,对应I/OI/O接口寄存器接口寄存器l一一个个接接口口电电路路可可以以具具有有多多个个I/OI/O端端口口,每每个个端端口口用用来来保存和交换不同的信息保存和交换不同的信息l数数据据寄寄存存器器、状状态态寄寄存存器器和和控控制制寄寄存存器器占占有有的的I/OI/O地地址址常常依依次次被被称称为为数数据
6、据端端口口、状状态态端端口口和和控控制制端端口口,用用于保存数据、状态和控制信息于保存数据、状态和控制信息l输入、输出端口可以是同一个输入、输出端口可以是同一个I/OI/O地址地址l接口电路占用的接口电路占用的I/OI/O端口有两类编排形式端口有两类编排形式I/OI/O端口单独编址端口单独编址I/OI/O端口与存储器统一编址端口与存储器统一编址计算机组成原理计算机组成原理9I/O端口与存储器独立编址l将将I/OI/O端口单独编排地址,独立于存储器地址端口单独编排地址,独立于存储器地址l优点:优点:I/OI/O端口的地址空间独立端口的地址空间独立控制和地址译码电路相对简单控制和地址译码电路相对简
7、单专门的专门的I/OI/O指令使程序清晰易读指令使程序清晰易读l缺点:缺点:I/OI/O指令没有存储器指令丰富指令没有存储器指令丰富主存主存空间空间I/O空间空间FFFFF0FFFF80 x86采用采用I/O端口独立编址端口独立编址计算机组成原理计算机组成原理10I/O端口与存储器统一编址l将将I/OI/O端端口口与与存存储储器器地地址址统统一一编编排排,共共享享一一个个地址空间地址空间l优点:优点:不需要专门的不需要专门的I/O指令指令I/O数据存取灵活数据存取灵活l缺点:缺点:占去部分存储器空间占去部分存储器空间程序不易阅读(在汇编语言级程序不易阅读(在汇编语言级不容易区别访问存储器和访问
8、外设)不容易区别访问存储器和访问外设)主存主存部分部分I/O部分部分存储器空间存储器空间00000FFFFF计算机组成原理计算机组成原理118.1 CPU对外围设备的管理方式I/O控制方式控制方式主要由程序实现主要由程序实现主要由附加硬件实现主要由附加硬件实现程序程序查询方式查询方式程序程序中断方式中断方式DMA方式方式通道方式通道方式PPU方式方式计算机组成原理计算机组成原理12CPU和外设之间信息交换的方式l程序控制下的数据传送程序控制下的数据传送通过通过CPU执行程序中的执行程序中的I/O指令来完成传送指令来完成传送程序查询方式程序查询方式程序中断方式程序中断方式l直接存储器存取直接存储
9、器存取DMA方式方式外外设设经经DMA控控制制器器向向CPU申申请请总总线线,由由DMA控控制制器利用系统总线完成外设和存储器间的数据传送器利用系统总线完成外设和存储器间的数据传送l通道方式通道方式通道通道(I/O处理处理器器)管理外设,完成传送和数据处理管理外设,完成传送和数据处理l外围外围处理机处理机方式方式通道方式的进一步发展,基本独立于主机工作通道方式的进一步发展,基本独立于主机工作计算机组成原理计算机组成原理13程序查询方式lCPU需需要要先先了了解解(查查询询)外外设设的的工工作作状状态态,然然后后在在外外设设可可以以交交换换信信息息的的情情况况下下(就就绪绪)实实现现数据输入或输
10、出数据输入或输出l对多个外设的情况,对多个外设的情况,按顺序依次查询(轮询)按顺序依次查询(轮询)l有有查询查询和和传送传送两个环节两个环节l实际中常引入超时判断实际中常引入超时判断l查询需大量时间,效率较低查询需大量时间,效率较低计算机组成原理计算机组成原理14查询输入接口l读读取取状状态态端端口口查查询询外外设设状状态态,若若已已就就绪绪,读读取取数据端口得到外设提供的数据数据端口得到外设提供的数据计算机组成原理计算机组成原理15查询输出接口l读读取取状状态态端端口口查查询询外外设设状状态态,若若已已就就绪绪,将将数数据写入数据端口输出给外设据写入数据端口输出给外设 计算机组成原理计算机组
11、成原理168.2 程序中断方式l处处理理器器在在执执行行程程序序过过程程中中,被被内内部部或或外外部部的的事事件件所所打打断断,转转去去执执行行一一段段预预先先安安排排好好的的中中断断服服务务程程序序;服服务务结束后,又返回原来的断点,继续执行原来的程序结束后,又返回原来的断点,继续执行原来的程序l中断源:中断源:引起中断的事件或原因引起中断的事件或原因l例如:例如:外设的数据传送请求外设的数据传送请求系统定时请求系统定时请求电源掉电等故障电源掉电等故障运算出错等错误运算出错等错误程序异常或调试请求程序异常或调试请求计算机组成原理计算机组成原理17中断的基本概念(1/3)1 1、概概念念:当当
12、计计算算机机执执行行正正常常程程序序时时,系系统统中中出出现现某某些些异异常常情情况况或或特特殊殊请请求求,这这些些情情况况和和请请求求可可能能来来自自计计算算机机内内部部,也也可可能能来来自自计计算算机机外外部部;一一旦旦有有上上述述事事件件发发生生,计计算算机机执执行行正正常常程程序序的的状状态态被被中中断断,就就是是说说,CPUCPU要要暂暂停停它它正正在在执执行行的的程程序序,而而转转去去处处理理所所发发生生的的事事件件(通通常常就就是是执执行行一一段段特特殊殊程程序序,被被称称为为中中断断服服务务程程序序);CPUCPU处处理理完完毕毕后后,自自动动返返回回到到原原来来被被中中断断了
13、了的的程序继续运行。程序继续运行。计算机组成原理计算机组成原理18中断的基本概念(2/3)2 2、与子程序调用的比较、与子程序调用的比较 (1 1)相同点:正常程序:主程序)相同点:正常程序:主程序 中断服务程序:子程序中断服务程序:子程序 (2 2)区别:)区别:(A A)子程序的执行是程序员事先安排好的;子程序的执行是程序员事先安排好的;中中断断服服务务程程序序的的执执行行则则是是由由随随机机的的中中断断事事件件引引起起的的,比比如如电电源源掉电、请求掉电、请求I/OI/O数据传送、现场报警等。数据传送、现场报警等。(B B)子程序的执行往往与主程序有关;子程序的执行往往与主程序有关;中断
14、服务程序可能与被中断的程序毫无关系。中断服务程序可能与被中断的程序毫无关系。(C C)有有可可能能出出现现多多个个中中断断事事件件同同时时请请求求的的情情况况,此此时时,主机就需要进行判优,进而决定为哪一个请求服务。主机就需要进行判优,进而决定为哪一个请求服务。子程序不存在此种情况。子程序不存在此种情况。计算机组成原理计算机组成原理19中断的基本概念(3/3)3 3、中断的作用、中断的作用 (1)(1)主机与外部设备并行工作主机与外部设备并行工作 (2)(2)实现实时处理实现实时处理 (3)(3)硬件故障处理硬件故障处理 (4)(4)实现多道程序和分时操作实现多道程序和分时操作计算机组成原理计
15、算机组成原理20CPU响应中断的条件(1/11)一、中断源一、中断源 (1 1)概概念念:能能够够引引起起CPUCPU中中断断的的原原因因就就是是中中断断源源。中中断断源源是是指指形形成成这这个个原原因的设备、部件或条件。因的设备、部件或条件。(2 2)种类:)种类:输输入入输输出出设设备备。系系统统中中的的外外部部设设备备都都可可以以设设计计成成为为以以中中断断方方式式与与主主机机进行数据的交换,从而作为系统的中断源。进行数据的交换,从而作为系统的中断源。故故障障与与错错误误。系系统统运运行行中中会会出出现现诸诸如如电电源源掉掉电电、运运算算出出错错、非非法法指指令令等问题,它们也常采用中断
16、方式请求等问题,它们也常采用中断方式请求CPUCPU立即处理。立即处理。实实时时时时钟钟。系系统统中中的的时时钟钟定定时时电电路路是是必必不不可可少少的的,若若定定时时时时间间到到,时时钟电路就可以通过中断告知主机。钟电路就可以通过中断告知主机。程程序序调调试试和和软软件件中中断断。程程序序调调试试中中常常常常采采用用设设置置中中断断断断点点的的方方法法来来观观察察程程序序运运行行是是否否正正确确;有有些些机机器器的的指指令令系系统统设设计计有有软软件件中中断断指指令令,利利用用中中断断机机制制实实现现操操作作系系统统的的功功能能调调用用以以及及调调试试程程序序。需需要要说说明明一一点点,这这
17、类类中中断断是是由由程程序序员员事事先先安安排排好好的的,和和调调用用子子程程序序的的作作用用一一样样,与与上上述述由由外外部部硬硬件件产生的中断有些不同。产生的中断有些不同。计算机组成原理计算机组成原理21CPU响应中断的条件(2/11)二、中断的分类:二、中断的分类:(1 1)按中断源是在主机之内还是外分:)按中断源是在主机之内还是外分:(A A)内部中断内部中断 内内部部中中断断是是指指中中断断源源来来自自主主机机内内部部,如如运运算算出出错错、程程序调试和软件中断等;序调试和软件中断等;(B B)外部中断外部中断 外外部部中中断断来来自自主主机机之之外外,如如外外部部设设备备、实实时时
18、时时钟钟和和硬硬件故障产生的中断等。件故障产生的中断等。计算机组成原理计算机组成原理22CPU响应中断的条件(3/11)二、中断的分类:二、中断的分类:(2 2)按中断对按中断对CPUCPU的打扰情况分:的打扰情况分:(A A)程序中断程序中断 CPUCPU要要用用专专门门的的中中断断服服务务程程序序为为中中断断源源服服务务,并并且且在在服服务务前前要要进进行行断断点点和和现现场场的的保保护护,在在服服务务后后要要进进行行现现场场和和断断点点恢恢复复的的中中断断。这这种种中中断断就就是是一一般般所所说说的的中中断断,是是大大多数中低速外设以及内中断常用的中断方式。多数中低速外设以及内中断常用的
19、中断方式。(B B)简单中断简单中断 当当这这种种中中断断发发生生时时,相相应应的的请请求求源源只只是是请请求求CPUCPU的的正正常常程程序序暂暂停停一一下下,通通常常称称为为总总线线请请求求或或DMADMA请请求求。暂暂停停的的目目的的是是把把主主存存和和接接口口的的数数据据通通路路让让给给请请求求源源使使用用(即即总总线线使使用用权权),使使得得能能在在主主存存和和请请求求源源之之间间直直接接进进行行一一次次数数据据传传送送,当当这这次次传传送送结结束束后后,请请求求源源立立即即把把这这个个使使用用权权归归还还给给CPUCPU。接接着着运运行行刚刚才才暂暂停停的的程程序序,这这个个暂暂停
20、停时时间间通通常常一次一个存取周期。一次一个存取周期。计算机组成原理计算机组成原理23CPU响应中断的条件(4/11)二、中断的分类:二、中断的分类:(3 3)按寻找中断服务程序入口的实现方法区分:按寻找中断服务程序入口的实现方法区分:(A A)向向量量中中断断(矢矢量量中中断断):中中断断服服务务程程序序入入口口由由中中断断源自己提供。源自己提供。(B B)非向量中断:入口由非向量中断:入口由CPUCPU查询得到。查询得到。计算机组成原理计算机组成原理24CPU响应中断的条件(5/11)三、中断工作过程三、中断工作过程:1、中断请求(1 1)中中断断请请求求是是中中断断源源向向CPUCPU发
21、发出出中中断断请请求求信信号号,要要求求CPUCPU为为它它服服务务的的过过程。程。(2 2)何时?)何时?基本条件两个:基本条件两个:(A A)外设本身工作已经完成外设本身工作已经完成 (B B)外设被允许中断外设被允许中断(3 3)硬件支持:)硬件支持:中断请求电路,基本组成是两个触发器:中断请求电路,基本组成是两个触发器:(A A)一一个个反反映映外外设设工工作作是是否否完完成成,其其形形成成与与程程序序查查询询的的准备就绪状态标志一样;准备就绪状态标志一样;(B B)另另一一个个反反映映外外设设是是否否允允许许采采用用中中断断方方式式,即即中中断断屏屏蔽蔽功功能能。只只有有当当外外设设
22、工工作作完完成成而而且且被被允允许许中中断断时时,相相应应中中断断源源才才可可以通过这个请求电路形成中断请求信号。以通过这个请求电路形成中断请求信号。计算机组成原理计算机组成原理25CPU响应中断的条件(6/11)三、中断工作过程:三、中断工作过程:2、中断判优 (1 1)中断优先级有两个方面的含义:中断优先级有两个方面的含义:(A A)一是中断请求与一是中断请求与CPUCPU现行程序优先级的问题;现行程序优先级的问题;(B B)另一含义是各中断源之间,谁更迫切的问题。另一含义是各中断源之间,谁更迫切的问题。(2 2)方法:方法:(A A)软件软件 (B B)硬硬件件:为为了了得得到到较较高高
23、的的效效率率,一一般般采采用用硬硬件件判判优优方方法法。判判优优逻逻辑辑随随着着判判优优方方案案的的不不同同可可有有不不同同的的结结构构,其其组组成成部部分分既既可可能能在在设设备备接接口口之之中中,也也可可能能在在CPUCPU内内部部,也也可可能能这这两两部部分分都都有有。其其作作用用是是决决定定CPUCPU的的响响应应并并且且找找出出最最高高优优先先请请求求者者,如如果果确确定定接接收收这这个个请请求求的的话话,就由就由CPUCPU发出中断响应信号发出中断响应信号INTAINTA (C C)软硬件结合。软硬件结合。计算机组成原理计算机组成原理26CPU响应中断的条件(7/11)三、中断工作
24、过程:三、中断工作过程:3、中断响应(1 1)CPUCPU响响应应最最高高优优先先级级的的中中断断请请求求,并并且且在在适适当当时时会会向向中中断断源源提提供供一一个个应应答答的的响响应应信信号号,表表明明主主机机承承认认了了它它的的请请求求,这这就就是是中中断断响响应应。在在采采用用硬硬件件向向量量中中断断的的方方式式中中,通通常常,CPUCPU还还要要利利用用它它告告知知中中断断接接口口电电路路向向CPUCPU提供一个中断向量。提供一个中断向量。(2 2)响应条件:)响应条件:(A A)一条指令执行结束时刻一条指令执行结束时刻 (B B)中断允许:中断允许:(a)a)可可屏屏蔽蔽中中断断(
25、Maskable Maskable InterruptInterrupt):计计算算机机中中断断系统对一般外设的中断请求就采用受中断标志位控制;系统对一般外设的中断请求就采用受中断标志位控制;(b)b)非非屏屏蔽蔽中中断断(Non-Maskable Non-Maskable InterruptInterrupt):而而对对必必须须立立刻刻响响应应的的中中断断请请求求,如如电电源源掉掉电电、机机器器故故障障等等,则则采采用用不不受受中中断断标标志位控制。志位控制。计算机组成原理计算机组成原理27CPU响应中断的条件(8/11)l中断屏蔽中断屏蔽 (A A)概念:对中断的允许或禁止的控制概念:对中
26、断的允许或禁止的控制 (B B)必要性:必要性:eg1eg1:中断服务程序与正常程序共享数据区中断服务程序与正常程序共享数据区 eg2eg2:CPUCPU正在用软件查询中断源时正在用软件查询中断源时 eg3eg3:正在执行中断服务程序而不允许嵌套时正在执行中断服务程序而不允许嵌套时 eg4eg4:进行现场保护和恢复现场时进行现场保护和恢复现场时 (C C)方法:方法:软软硬硬结结合合和和内内外外结结合合的的方方法法。不不同同的的计计算算机机可可能能在在具具体体措措施施上上有有差差异异,但但基基本本的的思思想想是是相相同同的的。外外部部中中断断请请求求电电路路设设置置中中断断屏屏蔽蔽触触发发器器
27、控控制制某某一一个个中中断断源源能能否否产产生生中中断断请请求求信信号号,CPUCPU内内部部设设置置中中断断标标志志位位用用于于控控制制全全部部可可屏屏蔽蔽中中断断的的响响应应。一一般般计计算算机机中中都都有有实实现现中中断断屏屏蔽蔽的的指指令令和和相相应应的的硬硬件件电电路。路。计算机组成原理计算机组成原理28CPU响应中断的条件(9/11)l中断屏蔽中断屏蔽(D D)实现:实现:(a)a)在在大大多多数数计计算算机机CPUCPU内内,都都设设置置一一个个中中断断触触发发器器,由由这这个个触触发发器器的的状态来决定状态来决定CPUCPU对中断请求是否响应。对中断请求是否响应。能能使使中中断
28、断触触发发器器置置“1”“1”的的指指令令,一一般般称称为为开开中中断断指指令令,表表示示系系统统允允许许中中断断;能能使使中中断断触触发发器器置置“0”“0”的的指指令令,一一般般称称为为关关中中断断指指令令,表表示示系系统统禁禁止止中中断断。用用户户在在适适当当时时可可以以用用这这些些指指令令来来对对中中断断的的能能与与否否进进行行选选择择和和控控制。制。例例如如8088/8086 8088/8086 CPUCPU中中,其其程程序序状状态态字字PSWPSW寄寄存存器器中中就就有有IFIF位位(第第1010位位),开开中中断断指指令令STISTI可可以以使使IFIF位位置置为为“1”“1”,
29、达达到到允允许许中中断断的的目目的的,关关中中断断指指令令CLICLI可以使可以使IFIF位清位清“0”“0”,达到禁止中断的目的。,达到禁止中断的目的。再如:再如:PDP11PDP11,PSWPSW的的7 7,6 6,5 5位改变会达到对某些中断的允许或禁止。位改变会达到对某些中断的允许或禁止。计算机组成原理计算机组成原理29CPU响应中断的条件(10/11)l 中断屏蔽中断屏蔽(D D)实现:实现:(b)b)在在外外部部中中断断源源的的接接口口,一一般般都都设设立立中中断断屏屏蔽蔽触触发发器器,通通常常这这个个触触发发器器的的状状态态可可由由CPUCPU用用指指令令改改变变。例例如如当当这
30、这个个触触发发器器为为1 1时时,表表示示不不允允许许该该中断源发出中断请求,否则为允许。中断源发出中断请求,否则为允许。PDP-11PDP-11机机中中,外外设设接接口口电电路路中中的的设设备备状状态态寄寄存存器器第第6 6位位就就是是用用于于这这个个目目的的。当第当第6 6位(允许中断),第位(允许中断),第7 7位(完成位)都成立时,才允许发中断请求。位(完成位)都成立时,才允许发中断请求。IBMPCIBMPC,82598259可可编编程程中中断断控控制制器器,有有中中断断屏屏蔽蔽R R,82598259可可接接收收来来自自外外设设的的8 8个个各各自自独独立立的的中中断断请请求求,信信
31、号号分分别别为为IRQ0IRQ7IRQ0IRQ7,IRQ0IRQ0优优先先级级最最高高,中中断断源源0707对对应应于于中中断断类类型型号号0808H0FHH0FH,(其其中中IRQ3IRQ3和和IRQ5IRQ5未未用用)。例例如如IRQ1IRQ1对应对应0909H H中断,对应设备键盘。中断,对应设备键盘。82598259中中断断屏屏蔽蔽寄寄存存器器(IMRIMR),I/OI/O端端口口地地址址2121H H,它它的的位位0707位位对对应应于于IRQ0IRQ7IRQ0IRQ7,可可通通过过设设置置任任一一位位控控制制任任一一中中断断源源的的允允许许或或禁禁止止(0 0代代表表允允许许,1
32、1代表禁止)代表禁止)例如,只允许键盘中断,可设置例如,只允许键盘中断,可设置MOV AL,0FDHMOV AL,0FDHOUT 21H,ALOUT 21H,AL计算机组成原理计算机组成原理30CPU响应中断的条件(11/11)断点中断服务程序中断返回中断响应外设中断请求外设并行工作CPU继续工作CPU继续工作CPU正常程序程序中断的工作过程预置参数中断服务启动外设计算机组成原理计算机组成原理31中断处理(1/5)1、中断识别 (1 1)中断源的识别)中断源的识别 (A A)识别的主体:识别的主体:WHOWHO:CPUCPU识别识别 (B B)与与中中断断优优先先级级的的判判定定密密切切相相关
33、关:中中断断优优先先级的判定是解决这一问题的前提和基础。级的判定是解决这一问题的前提和基础。(C C)目的:使目的:使CPUCPU转入相应的服务程序。转入相应的服务程序。计算机组成原理计算机组成原理32中断处理(2/5)1、中断识别(2 2)方法:)方法:(A A)软软件件查查询询法法:采采用用与与程程序序查查询询传传送送方方式式一一样样的的方方法法,用用软软件件查查询询程程序序段段检检测测中中断断请求的标志,同时还可以实现中断判优(详见请求的标志,同时还可以实现中断判优(详见7.3.57.3.5节软件查询判优法)。节软件查询判优法)。(B B)硬件向量法:硬件向量法:(a)a)中断向量是中断
34、源向中断向量是中断源向CPUCPU提供的唯一识别码;提供的唯一识别码;(b)b)识别码是有方向的;识别码是有方向的;(c)c)识别码实际是主存的一个地址码;识别码实际是主存的一个地址码;(d)d)硬件支持:硬件支持:接口电路中:向量地址产生器接口电路中:向量地址产生器 主机之内:保存向量的主机之内:保存向量的R R (e)(e)向量地址的存在情况:向量地址的存在情况:(i)i)服务程序入口服务程序入口 (ii)ii)服务程序入口地址服务程序入口地址计算机组成原理计算机组成原理33中断处理(3/5)2、中断服务(1 1)中中断断现现场场:中中断断现现场场是是指指在在发发生生中中断断时时,CPUC
35、PU及及其其现现行行程程序序的的当当前前主主要要状状态态。这这其其中中最最为为关关键键的的状状态态是是程程序序计计数数器器PCPC的的值值,也也就就是是CPUCPU现现行行程程序序被被中中断断时时的的下下条条指指令令的的存存储储地地址址,即即断断点点地地址址,简简称称断断点点。除除断断点点外外,中中断断现现场场应应包包含含CPUCPU程程序序运运行行情情况况的的状状态态,这这些些状状态态有有程序状态字程序状态字PSWPSW以及程序执行的当前结果等。以及程序执行的当前结果等。计算机组成原理计算机组成原理34中断处理(4/5)2、中断服务(2 2)中断服务程序:)中断服务程序:3 3个部分个部分
36、(A A)起始部分:起始部分:起起始始部部分分的的主主要要功功能能是是保保护护CPUCPU原原来来程程序序的的一一些些现现场场,另另一一个个功功能能是是控制系统在执行中断服务程序过程中是否允许再被中断。控制系统在执行中断服务程序过程中是否允许再被中断。(B B)主体部分:主体部分:主主体体部部分分的的主主要要功功能能应应该该是是完完成成中中断断源源的的请请求求任任务务。对对一一般般输输入入输输出出外外部部设设备备来来说说,就就是是进进行行数数据据的的输输入入输输出出操操作作,并并且且修修改改相相应应的的传传送送参参数数。这部分是中断服务程序中核心的,也就是实质性的部分。这部分是中断服务程序中核
37、心的,也就是实质性的部分。(C C)结尾部分:结尾部分:结结尾尾部部分分的的主主要要功功能能是是恢恢复复起起始始部部分分所所保保护护的的现现场场内内容容,然然后后准准备备返返回。通常是用一条返回指令作为整个中断服务程序的最后一条指令。回。通常是用一条返回指令作为整个中断服务程序的最后一条指令。计算机组成原理计算机组成原理35中断处理(5/5)3、中断返回中中断断服服务务程程序序的的结结束束是是一一条条中中断断返返回回指指令令,由由它它实实现现从从中中断断处处理理过过程程返返回回被被中中断断的的程程序序断断点点位位置置处处继继续执行,从而完成了一次中断过程。续执行,从而完成了一次中断过程。以以上
38、上所所述述的的6 6个个阶阶段段是是外外部部设设备备作作为为中中断断源源引引起起中中断断的的全全过过程程。显显然然,整整个个过过程程只只有有中中断断服服务务这这个个阶阶段段才才是是实实际际有有效效的的部部分分,其其中中的的关关键键是是执执行行I/OI/O指指令令实实现现数数据据交交换换。其其余余几几个个阶阶段段可可认认为为是是中中断断服服务务的的前前后后处处理理,是是一一种种辅辅助助性性的的但但不不可可缺缺少少的的操操作作。当当中中断断频频繁繁发发生生时时,这这个个辅辅助助性性操操作作是是降降低低CPUCPU利利用用率率和和限限制外设速度的原因所在。制外设速度的原因所在。计算机组成原理计算机组
39、成原理36中断类型之内部中断l由由于于处处理理器器内内部部执执行行程程序序出出现现异异常常引引起起的的程程序序中断,也中断,也常被称为常被称为异常异常(Exception)l利利用用内内部部中中断断,处处理理器器为为用用户户提提供供了了发发现现、调调试并解决程序执行时异常情况的有效途径试并解决程序执行时异常情况的有效途径除法错中断:除法指令出错的内部中断除法错中断:除法指令出错的内部中断断点中断:支持断点调试程序的内部中断断点中断:支持断点调试程序的内部中断单步中断:支持单步调试程序的内部中断单步中断:支持单步调试程序的内部中断溢出中断:处理运算溢出错误的内部中断溢出中断:处理运算溢出错误的内
40、部中断无效指令代码异常、无效指令代码异常、段超界异常、通用保护异常段超界异常、通用保护异常计算机组成原理计算机组成原理37中断类型之外部中断l外外部部中中断断是是由由于于处处理理器器外外部部提提出出中中断断请请求求引引起起的的程程序序中中断断,外外部部中中断断请请求求是是处处理理器器外外部部随随机机产生的,所以是真正的产生的,所以是真正的中断中断(Interrupt)l利利用用外外部部中中断断,微微机机系系统统可可以以实实时时响响应应外外部部设设备备的的数数据据传传送送请请求求,能能够够及及时时处处理理外外部部意意外外或或紧急事件紧急事件l非屏蔽中断非屏蔽中断处理器无法禁止、必须响应的中断处理
41、器无法禁止、必须响应的中断l可屏蔽中断可屏蔽中断由中断屏蔽触发器由中断屏蔽触发器(标志标志)控制是否响应的中断控制是否响应的中断计算机组成原理计算机组成原理38外部中断之非屏蔽中断l非屏蔽中断非屏蔽中断NMINMI(NonMaskable Interrupt)(NonMaskable Interrupt)外外部部通通过过非非屏屏蔽蔽中中断断请请求求信信号号NMI向向处处理理器器提提出出中中断请求断请求处理器无法禁止,将在当前指令执行结束予以响应处理器无法禁止,将在当前指令执行结束予以响应l非屏蔽中断主要用于处理系统的意外或故障非屏蔽中断主要用于处理系统的意外或故障电源掉电前的数据保护电源掉电前
42、的数据保护存储器读写错误的处理存储器读写错误的处理lPCPC微机的微机的NMINMI中断请求中断请求存储器产生奇偶校验错存储器产生奇偶校验错数值协处理器产生异常数值协处理器产生异常计算机组成原理计算机组成原理39外部中断之可屏蔽中断l可屏蔽中断可屏蔽中断INTRINTR(Maskable Interrupt)(Maskable Interrupt)外部通过可屏蔽中断请求信号外部通过可屏蔽中断请求信号INTRINTR向处理器提出中断向处理器提出中断请求请求如果允许可屏蔽中断,则在当前指令执行结束予以响应如果允许可屏蔽中断,则在当前指令执行结束予以响应同时输出可屏蔽中断响应信号同时输出可屏蔽中断响
43、应信号INTAINTAl设置中断屏蔽触发器,控制可屏蔽中断设置中断屏蔽触发器,控制可屏蔽中断关闭中断关中断禁止中断:中断被屏蔽、不能响应关闭中断关中断禁止中断:中断被屏蔽、不能响应开放中断开中断允许中断:中断可以获得响应开放中断开中断允许中断:中断可以获得响应l可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据用户按键后请求处理输入的键盘数据用户按键后请求处理输入的键盘数据打印机请求发送打印数据打印机请求发送打印数据时钟中断请求进行计时处理时钟中断请求进行计时处理计算机组成原理计算机组成原理40可屏蔽中断处理过程l中断请求中断请求l中断响应中断响应l 关闭中断关闭中断l
44、断点保护断点保护l 中断源识别中断源识别l 现场保护现场保护l中断服务中断服务l 恢复现场恢复现场l 开放中断开放中断l中断返回中断返回外界随机产生外界随机产生数据交换的实质性环节数据交换的实质性环节指令结束进行指令结束进行中断处理过程流程图中断处理过程流程图取指令取指令执行指令执行指令中断?中断?响应中断响应中断找出中断源,并保存找出中断源,并保存PC转移到中断转移到中断服务子程序服务子程序保存保存CPU现场现场设备服务设备服务开中断开中断否否是是关中断关中断恢复恢复CPU现场现场中断周期中断周期(硬件实现)(硬件实现)中断服务子程序中断服务子程序(软件实现)(软件实现)8.2.2 程序中断
45、方式基本接口控制控制IMIR公用寄存器公用寄存器0 1BSEIRD数据缓冲寄存器数据缓冲寄存器中断向量逻辑中断向量逻辑设备选择设备选择PCIR动作开始动作开始数据缓冲寄存器数据缓冲寄存器传送数据传送数据12345动作结束动作结束67PCIR8公用寄存器公用寄存器10901SS中断服务程序入口中断服务程序入口中断请求中断请求CPU接口接口外设外设INTA计算机组成原理计算机组成原理438.2.3 单级中断l在在执执行行中中断断的的过过程程中中,如如果果只只能能为为本本次次中中断断服服务务,不不允允许许打打断断服服务务程程序序,只只有有在在服服务务程程序序完完成成后后,才才能能响响应应新新的中断请
46、求的中断请求l所有中断源都属于同一级所有中断源都属于同一级计算机组成原理计算机组成原理448.2.4 多级中断l如如在在一一次次服服务务程程序序执执行行中中,允允许许优优先先级级高高的的中中断断级级别别低低的的中中断断服服务务程程序序,在在保保存存断断点点和和现现场场后后,转转去去响响应应优优先先级级别别更更高高的的中中断断程程序序,并执行新的中断服务程序并执行新的中断服务程序主程序主程序1 1级中断级中断服务程序服务程序2 2级中断级中断服务程序服务程序3 3级中断级中断服务程序服务程序计算机组成原理计算机组成原理45一维、二维多级中断l一维多级中断:每级中断里只有一个中断源一维多级中断:每
47、级中断里只有一个中断源l二维多级中断:每级中断里又有多个中断源二维多级中断:每级中断里又有多个中断源中断源识别之向量中断l中断响应时产生向量地址,指出中断服务程序入口中断响应时产生向量地址,指出中断服务程序入口INTO001010001011001000数数据据总总线线编编码码器器INTAINTIIR1IS1IR2IS2IR3IS3123456IR1IR2IR3计算机组成原理计算机组成原理47向量地址l由硬件直接产生一个固定地址(向量地址)由硬件直接产生一个固定地址(向量地址)l向向量量地地址址只只是是一一个个“位位移移量量”:将将这这个个位位移移量量加加上上CPUCPU中中某某寄寄存存器器里
48、里存存放放的的基基地地址址,最最后后得得到中断处理程序的入口地址到中断处理程序的入口地址l向向量量地地址址对对应应的的地地址址单单元元存存放放的的是是转转移移指指令令,通过该指令转入各自的中断服务程序入口通过该指令转入各自的中断服务程序入口l向向量量地地址址是是一一个个中中断断向向量量号号:所所有有中中断断服服务务程程序序的的入入口口地地址址安安排排在在一一个个特特定定主主存存区区域域(地地址址表表),通通过过该该向向量量号号在在地地址址表表中中查查找找到到对对应应的的中断服务程序地址中断服务程序地址计算机组成原理计算机组成原理48中断源识别之中断查询l中断请求保存在中断状态寄存器,处理器依次
49、查询中断请求保存在中断状态寄存器,处理器依次查询l检测某个中断请求有效,转向对应的中断服务程序检测某个中断请求有效,转向对应的中断服务程序计算机组成原理计算机组成原理49中断优先权排队l中断优先权中断优先权每个中断源被处理的级别每个中断源被处理的级别l中断优先权排队中断优先权排队事先为每个中断源所确定的优先处理顺序事先为每个中断源所确定的优先处理顺序l查询中断时查询中断时依次查询,先查询的中断具有较高的优先权依次查询,先查询的中断具有较高的优先权l硬件电路实现时硬件电路实现时分布方式的菊花链排队电路分布方式的菊花链排队电路集中方式的编码电路和比较电路集中方式的编码电路和比较电路多个中断多个中断
50、同时请求同时请求计算机组成原理计算机组成原理50中断嵌套l高于当前正在服务的中断:高于当前正在服务的中断:暂停当前工作暂停当前工作先行服务于级别更高的中断先行服务于级别更高的中断接着处理被打断的中断接着处理被打断的中断l低于或等于当前正在服务的中断:低于或等于当前正在服务的中断:不予理会,待完成当前中断服务后再处理不予理会,待完成当前中断服务后再处理中断处理中断处理又有请求又有请求中断嵌套:中断处理中又响应中断中断嵌套:中断处理中又响应中断计算机组成原理计算机组成原理518.2.5 中断控制器l中中断断控控制制器器:管管理理外外设设的的多多个个中中断断请请求求并并进进行行优先权排队等工作优先权