资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,NJUT,*,第,9,章,I/O,系统组织,5/24/2026,1,南京工业大学,本章学习,内容,I/O,系统,的功能,接口的功能,中断的基本概念,DMA,的基本概念,通道的基本概念,5/24/2026,2,NJUT,9.1,I/O,系统概述,9.1.1,需解决的主要问题,计算机系统中的,I/O,系统,主要用于解决主机与外部设备间的信息通讯,提供信息通路,使外围设备与主机能够协调一致地工作。,I/O,系统的基本功能:,为数据传输操作选择输入,/,输出设备,控制被选的输入,/,输出设备与主机之间的信息交换。,5/24/2026,3,NJUT,9.1.2 I/O,系统的组成,硬件方面:,系统总线,、,I/0,接口、,I/O,设备及设备控制器,软件方面:用户,的,I/O,程序、设备驱动程序、设备控制程序,系统总线,:连接,CPU,,,主存储器、外围设备的公共信息通路。,I/O,接口,:用于连接系统总线与外围设备。,设备控制器,:用于控制设备的具体操作,5/24/2026,4,NJUT,5/24/2026,5,NJUT,9.1.3,主机与外设间的连接模式与组织管理,主机与外围设备的连接方式大致可分为:总线型、通道型和输入,/,输出处理机方式,(IOP,方式,),。,1,总线型连接方式,CPU,通过系统总线与主存储器,,I/O,控制器,,I/O,接口电路相连接,通过,I/O,接口电路进一步实现对外设的控制。,系统总线可分为地址总线,数据总线和控制总线三大类,分别用于传送地址信号,数据信号和控制信号,(,如读,/,写信号、中断申请及应答信号等,),。,5/24/2026,6,NJUT,总线型连接方式优点:系统模块化程度较高,,I/O,接口扩充方便。,总线型连接方式的缺点:系统中部件之间的信息交换,均依赖于总线,总线成为系统中的速度瓶颈,因而不适于系统需配备有大量外设的场合。,实际设备中,一种,I/O,接口适配器也可以控制多台,I/O,设备。如多用户卡,一块多用户,I/O,适配器,可以控制多台终端的工作,这种方式称之为现代星,型,I/O,设备的连接方式。,5/24/2026,7,NJUT,5/24/2026,8,NJUT,2.,通道控制连接方式,通道控制连接方式主要用于大型主机(,Mainframe,),系统中,,,一般用在所连接外设数量多、类型多以及速度差异大的系统中,。,5/24/2026,9,NJUT,5/24/2026,10,NJUT,通道控制器是一种专门负责,I/O,操作控制的控制器,它通过执行由专门的通道指令编制的并存放在内存之中的通道程序实现对外设的控制。在这种,I/O,控制方式下,由通道控制器控制实现主存储器与外部设备之间的直接数据交换,,CPU,不再负责具体的,I/O,控制,实现了处理机与通道控制器和外设的并行工作。,5/24/2026,11,NJUT,9.2 I/O,接口,接口,:通常指设备,(,硬件,),之间的界面。,I/O,接口,:,主机,(,系统总线,),与外部设备或其它外部系统之间的接口逻辑。,9.2.1,接口的基本功能,识别设备地址,选择指定的设备,实现数据的传送与缓冲,控制主机与外设之间的通信联络,实现控制命令和状态信息的交换,保证时序协调。,实现,信号形式和数据格式转换,5/24/2026,12,NJUT,CPU,和外设之间传送的信息,数据信息,数字量,数字量是指用二进制码形式提供的信息,如用二进制形式表示的数据、以,ASCII,码形式表示的字符等。通常有,8,位、,16,位和,32,位数据。,模拟量,模拟量是指连续变化的物理量,如温度、湿度、位移、压力、流量等。计算机无法直接接收和处理模拟量,要经过,A/D,变换将模拟量变成数字量,才能送入计算机;同样,计算机输出的数字量要经过,D/A,变换将数字量变成模拟量,才能送入使用模拟量的外设。,5/24/2026,13,NJUT,开关量,开关量有两个状态:“,0”,和“,1”,,可以用,1,位二进制数表示。具有两种状态的量,如开关的闭合和断开、设备的启动和停止等,均可用开关量表示。,数据输入:指外设的数据信息通过外设与接口之间的数据线进入接口,再经由接口送到系统的数据总线。,数据输出:指系统的数据信息经过系统数据总线进入接口,再通过接口送到外设。,5/24/2026,14,NJUT,状态信息,状态信息就是反映当前外设所处的工作状态的信息。,在与外设进行数据信息的交换时,,CPU,需要通过状态信息了解外设的工作状态。通常外设用准备好,(,READY,),信号来表明是否准备就绪;用忙(,BUSY,),信号表示是否处于空闲状态。例如,当输入设备准备好向系统输入的数据信息时,,就用,READY,信号通知,CPU,读入数据;输出设备只有处于空闲状态(不忙)时,才可以接收,CPU,送来的信息。外设的状态信息通过接口送往,CPU,。,5/24/2026,15,NJUT,控制信息,在外设的工作过程中,,CPU,需要通过控制信息控制外设的工作,如对外设的启动和停止等。不同外设所需的控制信息各不相同,因此,CPU,需要通过接口将控制信息传送给外设。,数据信息、状态信息和控制信息各不相同,应该分别传送。,为了便于处理,将状态信息、控制信息也广义地看成数据信息,通过数据总线来传送。为了区别这三种信息,在接口线路中将它们分别送入不同的寄存器,。,CPU,同外设之间的信息传送实质上是对相应的寄存器进行“读”或“写”操作。接口中这些可以由,CPU,进行读或写的寄存器被称为“端口”(,Port,)或,I/O,端口。,5/24/2026,16,NJUT,接口的基本组成,5/24/2026,17,NJUT,设备选择电路,用于接收总线传来的地址信息,经译码后,决定选择哪个设备或,I/O,接口内部的部件。,数据缓冲寄存器(数据端口),用于存放主机与外设之间要传递的数据信息。,命令寄存器(控制端口),用于存放主机向外设发送的控制命令。,状态寄存器(状态端口),用于存放外设或接口的工作状态。,其它有关部件,如中断控制逻辑,、,DMA,控制逻辑以及各类特殊部件。,5/24/2026,18,NJUT,I/O,端口的寻址方式,对,I/O,设备的寻址实质上就是对,I/O,端口的寻址。,I/O,端口与主存统一编址,将一个,I/O,端口作为存储器中的一个单元对待,每一个,I/O,端口占用一个存储器单元地址。编址时将,I/O,端口与存储器单元一起进行编址。,由于编址时,I/O,端口与存储器单元不加区分,因此,CPU,可以用所有访问存储器的方法访问,I/O,端口,即所有访问存储器的指令均可用来访问,I/O,端口。,这种方式又称为存储器对应的输入输出方式或存储器映象编址方式。,5/24/2026,19,NJUT,I/O,端口与主存统一编址方式的优点:,CPU,可使用所有存储器操作指令对,I/O,端口中数据进行操作,十分灵活和方便。,不需要用专门的指令及控制信号区分是存储器还是,I/O,操作。使得系统相对简单。,这种方式存在的问题是:,I/O,端口占用了内存单元的部分地址空间,使内存容量减小。,由于在程序中不易分清指令访问的是存储器还是,I/O,端口,所以采用这种方式编制的程序不易阅读。,5/24/2026,20,NJUT,5/24/2026,21,NJUT,I/O,端口独立编址,将,I/O,端口与存储器单元分别独立进行编址,,CPU,访问外设时,需使用专门的,I/O,指令,并需要有与接口电路联系的单独的控制信号。也称为,I/O,端口寻址输入输出方式。,I/O,端口独立编址方式的优点:,I/O,端口具有独立的地址空间,不占用内存空间。,I/O,指令中的地址字段的长度较短,可以节省指令存储空间和指令执行时间。,由于访问存储器和访问,I/O,端口使用不同的指令,因此编制的程序比较清晰易读。,5/24/2026,22,NJUT,I/O,端口独立编址方式的缺点:,I/O,操作指令的种类通常没有存储器操作指令丰富,设计程序时不够方便。,(3)IBM/PC,的,I/O,地址,(P376),5/24/2026,23,NJUT,9.2.2 I/O,接口的分类,(1),按数据传送格式分,串行接口:接口与设备之间的信息传送是逐位串行进行的。,并行接口:接口与设备之间的信息传送是将一个字或一个字节的所有位同时并行地进行传送的。,5/24/2026,24,NJUT,主机,串行接口,外设,TxD,RxD,D,n,1,0,主机,并行接口,外设,D,n,1,0,I/O,n10,5/24/2026,25,NJUT,(2),按时序的控制方式分,同步接口,:一般与同步总线相连,接口与总线采用统一时钟信号,无论,CPU,与,I/O,设备,还是存储器与,I/O,设备交换信息,都与总线同步时钟脉冲同步。,同步接口的控制简单,但要求,I/O,设备与,CPU,和主存在速度上必须能够很好的匹配,这在某种程度上限制了使用,I/O,设备的种类与型号。因此,在实际应用中,从灵活性考虑,一般允许不同的,I/O,操作的总线周期的脉冲个数可以在一定范围内变化,。,5/24/2026,26,NJUT,异步接口,:与异步总线相连,接口与系统总线之间采用异步应答方式。,通常把交换信息的两个设备分成主设备和从设备。,主设备提出交换信息的“请求”信号,经总线和接口传递到从设备,从设备完成主设备指定的操作后,又通过接口和总线向主设备发出“回答”信号。,整个信息交换过程总是这样“请求”、“回答”地进行着,而从“请求”到“回答”的时间是由操作的实际时间决定,而非系统定时节拍的硬性规定。,5/24/2026,27,NJUT,(a),不互锁,请求与回答信号都有一定的时间宽度,5/24/2026,28,NJUT,(b),半互锁,请求信号接到回答信号后再撤消,5/24/2026,29,NJUT,(c),全互锁,请求信号接到回答信号后撤消,请求的撤消又导致回答信号的撤消,5/24/2026,30,NJUT,(3),按交换控制方式来分,直接程序控制方式,程序中断传送方式,直接存储器存储方式,通道方式,I/O,处理机方式,5/24/2026,31,NJUT,9.3,程序控制方式,I/O,信息交换方式就是数据传送控制方式,经历了由简单到复杂,由低级到高级,由集中控制管理到各部件分散控制管理的发展过程。各种方式都有其不同的适用对象和应用场合,不同的控制方式也有不同的系统结构和硬件组成。,按,I/O,控制组织的演变顺序和外设与主机并行工作程度,以及数据传送控制方式,一般,把,I/O,控制分为五种方式。,5/24/2026,32,NJUT,直接程序控制方式:完全由软件实现,程序中断方式:软硬结合,以软件为主。,DMA,方式:,通道方式,I/O,处理机方式,适用于慢速,外设,采用辅助硬件实现,适合快速外设,快慢设备均适用,适合于大、中型机,适合于小微型机,5/24/2026,33,NJUT,直接程序控制方式,:指,CPU,直接利用,I/O,指令编程,实现数据输入输出。,直接程序控制方式可分为两种传送方式。,1.,直接传送方式,直接传送方式,:,CPU,在控制与外设之间的数据传送之前,不需了解外设的工作状态,即可直接执行,I/0,指令,实现数据传送。,直接传送方式无需查询设备的任何状态,也无需考虑同步问题。也称为无条件传送方式。多用于,I/0,操作时间固定且已知的情况下。,9.3.1,直接程序控制方式,5/24/2026,34,NJUT,2.,程序查询方式,程序查询方式,:,CPU,在进行输入,/,输出操作之前,先查询外设的状态,只有当外设准备就绪时,才进行数据传送。也称为条件传送方式。,当有关操作的时间未知或不定时,往往采用程序查询方式进行同步控制。,(1),程序查询的基本流程,(,步骤,),向,I/O,设备发启动命令,;,查询设备状态,;,I/O,设备未好,回,;,5/24/2026,35,NJUT,I/O,准备好,执行,I/O,传送数据,;,结束否,若未结束,则转,;,流程结束,.,(,见下一页图,),5/24/2026,36,NJUT,程序查询方式,I/0,程序的操作步骤,5/24/2026,37,NJUT,(2),多个设备的查询,主程序 查询子程序,#1,准备好,?,#1,设备处理程序,#2,准备好,?,#N,准备好,?,#2,设备处理程序,#N,设备处理程序,两种不同风格,5/24/2026,38,NJUT,在程序查询方式中,为了提供程序查询依据,通常需要设置状态寄存器,占用一个,I/O,地址。,5/24/2026,39,NJUT,直接程序控制方式适用于下述场合:,CPU,速度不高,CPU,工作效率问题不是很重要,需要调试或诊断,I/O,接口及设备的时候,这种方式的缺点是:,CPU,与外围设备无法并行工作,,CPU,效率很低。,无法发现和处理异常情况,不能响应来自外部的随机请求,。,5/24/2026,40,NJUT,9.3.2,程序中断传送方式,程序中断方式简称为中断方式,它是目前几乎所有计算机系统都具备的一种重要工作机制。,中断不仅用在输入输出过程控制中,而且在多道程序、分时操作、实时处理、人机联系、故障处理、程序的监视与跟踪、目态程序和操作系统的联系以及多处理机系统中各机间联系方面都起着十分重要的作用。,5/24/2026,41,NJUT,1,中断的基本概念,1,),中断,中断是指处理机暂时中止执行现行程序而转去执行处理更加紧迫事件的服务程序,待处理完毕后,再自动返回执行原来的程序的过程。,2,)实现中断应考虑的问题,保存现场,中断过程实质上是一种程序切换过程,因此必须处理好保存旧现场、建立新现场的问题。,及时获得中断请求信号,中断具有随机性,(,程序自愿中断除外,),。因此必须及时检测中断请求信号,以便及时处理。,5/24/2026,42,NJUT,3,)中断的作用,(1),解决主机与外设的速度匹配问题,实现,CPU,与,I/O,设备并行工作。,空闲启动,5/24/2026,43,NJUT,(2),及时处理异常情况,提高机器的可靠性。,(3),便于实现人,机联系,(4),便于实现多道程序运行,(5),便于实现多台设备并行工作,(6),便于实现实时控制,(7),便于实现目态程序和操作系统的联系,(8),便于实现多处理机系统中各处理机间的联系,5/24/2026,44,NJUT,4,)中断处理的过程,5/24/2026,45,NJUT,中断源以硬件信号形式通过中断控制线路向,CPU,提出中断请求。,中断源,:,引起中断的事件或原因,。,中断源可以是外部的硬件设备,如键盘、打印机等输入,/,输出设备和各种控制设备;也可以是软件指令,如中断指令;还可能是由各种故障和出错引起的中断,如计算溢出等,。,中断请求,5/24/2026,46,NJUT,中断判优及响应,根据中断优先权进行判断,择优予以响应。,保护现场,保护主程序的运行现状,,如,PC,值、,PSW,、,寄存器和内存中的重要数据。,中断服务,按中断源的工作要求,进行各类特定的数据传送或控制处理。,中断服务程序:完成中断服务的程序,5/24/2026,47,NJUT,恢复现场,为了正确返回原程序,需要进行恢复现场的工作,即将前面保存的寄存器的内容送回原寄存器。,中断返回,返回被中断的程序,继续执行。,5/24/2026,48,NJUT,5,)中断的分类,按中断来源,分,内,中断,外中断,强迫中断,自愿中断:程序中预先安排的中断,硬件故障,软件故障,外设请求中断,控制台中断,5/24/2026,49,NJUT,按中断服务程序入口的获取方式分,向量中断:由中断系统硬件,直接向主机提供被 响应中断的中断向量地址。,非向量中断:通过软件查询方式识别中断源,转 入相应的中断服务程序入口地址。,按是否可屏蔽分,可屏蔽中断,:,CPU,可以禁止响应的外部中断。,不可屏蔽中断,:,CPU,必须响应的外部中断。,5/24/2026,50,NJUT,6,)中断系统的设计要求,高级中断应能中断低级中断的处理,即要允许中断嵌套。,能够方便、灵活地设置中断优先级。,不允许在处理某个中断过程中,又去响应同样的中断。,保证中断请求信号的建立及保持的准确性,保证中断在未被响应时,中断请求信号不能随便被丢失。,保证各类中断都能及时得到响应,不应出现某些中断由于某种原因长时间得不到响应的情况,。,5/24/2026,51,NJUT,2.,中断请求信号的建立与传送,1),中断请求信号的建立与中断屏蔽,中断请求信号的建立,基于中断源有请求中断的需要。,例如,当外设已“准备就绪”或“完成一次操作”,可以用这类状态信号作为中断请求信号建立的原始信号,使中断请求触发器的状态置“,1”,,表明已有中断请求。,设备中通常有三种状态:空闲、就绪、,忙,5/24/2026,52,NJUT,空闲,忙,就绪,Busy0,Ready0,Busy,0,Ready,1,产生中断请求,Busy1,Ready0,启动,清除,准备好,再启动,清除,5/24/2026,53,NJUT,外设发出请求中断信号的条件,外设准备就绪(,Ready,1,),外设的中断请求没有被屏蔽,5/24/2026,54,NJUT,中断请求信号是否能够传送给,CPU,,,要看当时占有,CPU,进程的程序的优先级。,如程序的优先级高于或等于当前中断请求的优先级,则不应将中断请求信号传给,CPU,,,即需进行中断屏蔽。,如占有,CPU,进程的优先级低于请求中断的优先级,则不应屏蔽这个中断,而使,CPU,能够响应这个中断,。,中断屏蔽,5/24/2026,55,NJUT,中断屏蔽,:,中断源的中断请求不能向,CPU,发出。,可以根据需要对中断请求信号予以屏蔽。,先屏蔽方式,(D,端屏蔽,),:在中断请求触发器,IRQ,的,D,端进行屏蔽。,后屏蔽方式,(Q,端屏蔽,),:在中断请求触发器,IRQ,的输出端进行屏蔽。,集中屏蔽方式:即在公共接口逻辑中设置一个中断控制器,,,内含一个屏蔽字寄存器,,,CPU,将屏蔽字送入其中。在各中断源的接口不另设屏蔽触发器。将各个请求信号汇集到中断控制器,并与屏蔽字比较,若未被屏蔽,则中断控制器送出一个公共的中断请求信号,INT,,,送往,CPU,。,5/24/2026,56,NJUT,T,D,:,状态信号,,,T,D,1,,,需要请求中断,T,M,:,中断屏蔽信号,,,T,M,1,,,屏蔽中断请求,Q,IRQ,CP D,IRQ,&,T,D,T,M,Q,IRQ,CP D,1,T,D,T,M,IRQ,5/24/2026,57,NJUT,集中屏蔽方式,中断屏蔽寄存器,中断请求信号,INT,IRQ,7,中断控制器,IRQ,0,5/24/2026,58,NJUT,2),中断请求信号的传送,一台计算机系统中有多个中断源,可能产生多个中断请求信号,因此需要解决多个中断请求信号如何传送给,CPU,的,问题。,独立请求线方式(多线单级结构),各中断源单独设置自己的中断请求线,多根请求线直接送往,CPU,。当,CPU,接到中断请求信号后,立即知道请求源是谁,并予以相应的处理。,这种方法有利于实现向量中断,因为可以通过编码电路形成向量地址。但因为,CPU,所能连接的中断请求线数目有限,所以中断源数目难以扩充,。,5/24/2026,59,NJUT,独立请求线方式,CPU,INTR,0,INTR,1,INTR,n,1,5/24/2026,60,NJUT,公共请求线方式(单线多级结构,),各中断源的请求信号通过三态门汇集到一根公共请求,线,,CPU,只需接收一根中断请求线的请求信号。,这种方法节省引脚,但,CPU,响应中断后,还需要通过一定逻辑来识别是哪个中断源发出的中断请求,所以响应速度慢一些。,CPU,INTR,0,INTR,1,INTR,n,1,I/O,I/O,I/O,INT,5/24/2026,61,NJUT,(,3,)采用二维结构,CPU,设置若干根中断请求输入线,体现不同的优先级;(主优先级),每根线挂接若干个,I/O,设备,以中断方式向,CPU,发请求。(此时,该线为公共请求线,又存在优先级问题,称为次优先级),CPU,I/O,I/O,I/O,I/O,I/O,I/O,5/24/2026,62,NJUT,(,4,)兼有公共请求线与独立请求线,有些微机中采用此模式,CPU,I/O,I/O,I/O,I/O,I/O,I/O,I/O,I/O,5/24/2026,63,NJUT,3.,中断排队,与判优,1),有关概念,中断排队,:中断系统设计人员对中断请求的响应次序作出安排。,中断判优,:系统运行过程中,当有多个中断源同时请求中断时,根据中断排队事先规定的次序判断中断请求的响应优先次序。,中断优先级,(中断优先权):根据中断源中断任务的紧迫程度,给各中断请求安排的响应次序,。,5/24/2026,64,NJUT,中断排队的原则,内部中断优先于外部中断,故障中断优先于设备请求中断,非屏蔽中断优先于可屏蔽中断,输入操作的中断请求优先于输出操作的中断请求,数据有效时间短的中断优先于数据有效时间长的中断,具体设计时,中断优先级可以是固定的,也可以是动态变化的。可以采用硬件或软件进行中断排队和,判优。,5/24/2026,65,NJUT,2)CPU,与中断请求间的判优,CPU,是否响应中断请求,要看当时占有,CPU,进程的程序的优先级。,如程序的优先级高于或等于当前中断请求的优先级,则,CPU,可以不响应这个中断,或说,CPU,不允许被中断、中断被禁止。,如占有,CPU,进程的优先级低于请求中断的优先级,则不应禁止这个中断,而使,CPU,能够响应这个中断,或说,CPU,允许中断。,中断禁止,:,在一定条件下,,,CPU,不允许响应中断。,中断允许,:在一定条件下,,CPU,允许响应中断。,5/24/2026,66,NJUT,CPU,现行程序与中断请求的判优方法,通过设置,CPU,内部的“中断允许”状态进行判优,在,CPU,内部设置“允许中断”触发器,IEN,,,指令系统提供开中断与关中断功能。,开中断操作使,T,IEN,1,,,关中断使,T,IEN,0,。,如果,CPU,处于关中断状态,则表示所有外部中断请求要求的服务都没有现行程序的任务重要,,CPU,不响应外部中断请求。如果,CPU,处于开中断状态,则可以响应外部中断请求。,5/24/2026,67,NJUT,5/24/2026,68,NJUT,在现行程序的程序状态字,(,PSW,),中设置现行程序的优先级,,若中断请求的优先级高于现行程序的优先级,则予以响应。,CPU,内部有一个优先级比较逻辑,,对,PSW,中给定的优先级与中断请求的优先级进行比较,决定是否需要暂停现行程序去响应中断请求。操作系统可以根据实际情况动态,地对,PSW,中的优先级进行调整。,5/24/2026,69,NJUT,例:某计算机内部程序与外部中断请求优先级和,PSW,的规定为:,处理机,0,级,处理机,1,级,处理机,7,级,外部请求,0,级,外部请求,1,级,外部请求,7,级,7 6 5,PSW,内部优先级,5/24/2026,70,NJUT,2),中断请求之间的排队与判,优,(1),软件查询,响应中断请求后,先转入中断查询程序,按优先顺序依次询问各中断源是否提出请求。如果是,则转入相应的服务处理程序。如果没有,则继续往下查询。查询的顺序体现了优先级别的高低,改变查询顺序也就修改了优先级。,在硬件上,每一个中断源都附带一个标志,用于代表相应的中断源是否请求中断,。,CPU,用测试指令按一定优先次序检查这些标志,即可确定中断源是否发出中断请求。,5/24/2026,71,NJUT,5/24/2026,72,NJUT,软件查询方法适用于低速和中速设备,多用于公共请求线方式,。,优点:中断条件标志的优先级可用程序任意改变,灵活性好。,缺点:设备多时,响应速度太慢。,5/24/2026,73,NJUT,(2),并行优先排队逻辑,采用硬件并行优先排队逻辑对具有独立中断请求线的中断请求进行判优。,并行排优逻辑适于具有多请求线的系统,速度较快,硬件代价较高,。,5/24/2026,74,NJUT,5/24/2026,75,NJUT,采用硬件优先链电路判断中断优先级,判优结果可用不同的设备码或用中断源类型码来表示。,用于采用公共请求线的系统。,串行方式,(3),链式优先排队逻辑,5/24/2026,76,NJUT,INTI,中断排队输入,INTR,1,INTR,2,INTR,3,INTR,4,INTO,中断排队输出,INTA,中断回答,INTR,1,INTR,2,INTR,3,INTR,4,4,5,3,2,1,0,送CPU,0CH,0FH,12H,0EH,5/24/2026,77,NJUT,(,4,)二维结构的优先排队,n+1,根主优先(,CPU,有,n+1,根响应),,CPU,内部有判优电路;,PSW,有,CPU,现行程序的优先级编码,则判优电路同时负责,CPU,与中断请求之间的判优;,次优先的判定可采用上述的菊花链结构;,需要时,,DMA,也可纳入二维结构中。,5/24/2026,78,NJUT,5/24/2026,79,NJUT,(5),采用中断控制器集成芯片的优先逻辑,在微型计算机中,广泛使用中断控制器集成芯片,,如,Intel 8259A,。,中断控制器将中断请求信号的寄存、汇集、屏蔽、排优、编码等逻辑,集成在一块芯片之中。,(,见下图,),Intel 8259A,可以多个级连,用于更多的中断请求信号。,5/24/2026,80,NJUT,5/24/2026,81,NJUT,4.,中断响应,CPU,接到中断请求信号后,若满足响应中断的条件,即暂停现行程序的执行,而转入中断处理,将这一过程称为,中断响应,。,1)CPU,响应中断应具备的条件:,(1),有中断源请求中断。,(2),CPU,允许响应中断,即处于开中断状态。,(3),现行指令不是停机指令,(4),一条指令执行结束,。,5/24/2026,82,NJUT,一般情况下,,CPU,响应中断的时间是在一条指令执行结束。但某些特殊的中断,例如指令执行过程中,取数时所需数据不在主存,这时不及时处理,指令就无法执行下去,这就要求在指令执行过程中响应中断(,OS,缺页处理)。,5/24/2026,83,NJUT,中断响应流程,取,指令,停机,停机指令,执行指令,电源故障,Y,N,中断请求,N,中断处理,Y,Y,N,5/24/2026,84,NJUT,2),中断响应过程中应完成的操作,(1,),关中断,以便在保存现场过程中不允许响应新的中断请求,确保现场保存的正确性;,(2),保存断点地址,-PC,和程序状态字,PSW,;,(3),转入中断服务程序入口,,以便执行相应的中断服务程序,完成中断处理任务。,中断响应周期的操作流程中的操作不是在程序中安排的,而是直接由硬件完成的。通常把这种操作称为执行,中断隐指令。,(,中断周期的任务,),5/24/2026,85,NJUT,5/24/2026,86,NJUT,5.,中断服务程序入口地址的获取方式,1),软件查询方法,CPU,响应中断请求时,产生,1,固定地址,先转入中断查询程序,按优先顺序依次识别中断源,并转入相应的中断服务程序入口。(,DJS-130,机的,1,号内存单元为中断查询程序入口地址,断点放在,0,号单元),例:某机器各接口将中断请求存放在状态端口的状态字寄存器,STR,中,,CPU,响应中断请求后,转入查询程序。(中断服务总程序),3,INTR,1 Ready,STR,5/24/2026,87,NJUT,2),通过硬件排队与编码电路获得优先级最高的中断源的设备码,并转入相应的中断服务程序入口。,例:响应中断后,执行程序:,INTA AC,;,发中断回答信号,INTA,,,将设 备码读入累加器,AC,中,JMP AC,100H,;,转入(,AC),100H,处,执行,断点可约定另一寄存器存放。,1,、,2,两种方法也称为,非向量中断,5/24/2026,88,NJUT,3),向量中断,中断向量,:所有中断源对应的中断服务程序的入口地址及其程序状态,字,PSW,的有序集合。,中断向量存放在特定的存储区中,有些计算机没有完整的程序状态字,则中断向量仅指服务程序入口地址。,中断向量表,:存放中断向量的表。,所有的中断服务程序入口地址,(,或包括服务程序的状态字,),组织成一个一维的表格,存放在一段连续的存储区中。,中断向量地址,:访问中断向量表的地址码,即读取中断向量所需的地址,也称为中断指针,。,5/24/2026,89,NJUT,中断向量地址,1,入口地址,1,程序状态字,1,中断向量地址,2,入口地址,2,程序状态字,2,中断向量地址,n,入口地址,n,程序状态字,n,中断向量表,5/24/2026,90,NJUT,向量中断,:将各个中断服务程序的入口地址,(,或包括状态字,),组织成中断向量表;响应中断时,由硬件直接产生对应于中断源的向量地址;据此访问中断向量表,从中读取服务程序入口地址,由此转向中断服务程序。,向量中断的响应工作一般在中断周期中由硬件直接实现。,向量中断的特点是能够根据中断请求信号快速、直接地转向对应的中断服务程序。因此现代计算机基本上都具有向量中断功能。,5/24/2026,91,NJUT,IBM PC,机的中断向量表,5/24/2026,92,NJUT,向量中断的工作过程,中断源提出中断请求。,若,CPU,允许中断,则发出中断回答信号。,优先级编码电路形成优先级最高的中断请求的中断向量地址存入中断向量地址寄存器,VAR,。,保护断点和现场,,,PC,、,PSW,入栈。,根据中断向量地址,将对应的中断服务程序入口地址,和,PSW,送入,PC,和,PSR,。,转入中断服务程序,进行中断服务。,中断返回,将保存的,PC,和,PSW,弹回,PC,和,PSR,。,5/24/2026,93,NJUT,主存,0,级,入口,0级PSW,1,级入口,1,级,PSW,7,级入口,7,级,PSW,VAR,INTR,0,INTR,1,INTR,7,堆栈,PSW,PC,优先级,编码电路,PC,PSR,CPU,INTR,INTA,中断服务,5/24/2026,94,NJUT,6.,多重中断与中断屏蔽,多重中断,中断嵌套,一,.,多重中断原则,1),若新产生的中断源高于现中断的优先级,则予以响应,;,2),若新产生的中断源同于或低于现中断的优先级,则不予以响应,.,等现中断处理结束后,再处理新中断,.,中断嵌套需要堆栈支持,5/24/2026,95,NJUT,举例,某,计算机的中断系统有五级中断,优先次序为,1,2345,若,CPU,在执行正常程序时,有下列事件发生,:,(1),中断,1,2,4,提出请求,;,(2),在处理中断,4,过程中,又有中断,3,提出请求,;,(3),在处理中断,3,时,又出现,1,5,中断请求,.,请画出,CPU,对所有事件的处理过程图,.,5/24/2026,96,NJUT,中断源 用户程序 中断服务程序,1,2,4,1 2 3 4 5,time,3,1,5,5/24/2026,97,NJUT,二,.,中断屏蔽技术,1),作用,:,封锁部分中断,;,中断升级,(,高优先的被屏蔽,低优先,此时“最优”,),2),例子,在上例中,我们可以得到如下所示的中断屏蔽码,.(1,屏蔽,;0,开放,),注意,:,本级不允许相互干扰,5/24/2026,98,NJUT,级别,屏 蔽 码,1 2 3 4 5,1,1,1,1,1,1,2,0,1,1,1,1,3,0,0,1,1,1,4,0,0,0,1,1,5,0,0,0,0,1,5/24/2026,99,NJUT,若,改成,1,4325,次序,则屏蔽码如下,:,级别,屏 蔽 码,1 2 3 4 5,1,1,1,1,1,1,2,0,1,0,0,1,3,0,1,1,0,1,4,0,1,1,1,1,5,0,0,0,0,1,5/24/2026,100,NJUT,7.,中断服务,(,中断处理,),取得中断服务程序的入口地址后,,CPU,开始执行中断服务程序,完成规定的中断处理任务。,中断服务程序一般由起始、主体、结尾三部分组成。,1),起始部分(先行段),判明中断原因,识别中断源,对于不同中断源转入不同的服务程序。,对于向量中断,直接由硬件判明中断源并给出中断向量地址,转入相应中断服务程序。,对于非向量中断,需通过执行一段程序判明中断源,转入相应中断服务程序,。,5/24/2026,101,NJUT,设置屏蔽字,封锁同级与低级中断。,保存中断现场。除了,PSW,外,还要保存一些在执行中断服务程序过程中可能被改变的寄存器的内容。,开中断,以便在本次中断处理过程中,允许响应更高级的中断请求。,这是因为在中断响应时,为避免影响保护现场,进行了关中断操作。,2),主体部分,执行具体的为中断源服务的程序,5/24/2026,102,NJUT,3),结尾部分(恢复段),关中断,以便在恢复现场过程中不允许响应新的中断。,恢复中断现场,将原来保存的寄存器内容送回原寄存器。,清中断请求信号,表示本次中断处理结束。,清屏蔽字,开放同级与低级中断。,开中断,以便响应新的中断请求。,恢复,PSW,、,PC,,,返回被中断的程序。,5/24/2026,103,NJUT,中断服务子程序,进入中断周期,执,行隐指令,关中断,中断响应,保护现场和屏蔽字,设置新屏蔽字,开,中断,服务程序,(主体),关中断,恢复现场和屏蔽字,开,中断,中断返回,先行,段,恢复,段,5/24/2026,104,NJUT,中断处理的全过程,中断请求;,择优响应;,保护现场;,中断服务;,恢复现场;,中断返回;,在中断处理的过程中,有些是由硬件完成的,有些是由软件完成的,因此中断是一种软、硬件结合的技术手段。不同的机器,软、硬件功能分配的比例有所不同,。,5/24/2026,105,NJUT,中断堆栈的变化,XX,PC,PSW,AX,PC,PSW,CX,SP,Push AX,Push CX,Pop AX,Pop CX,XX,PC,PSW,AX,PC,PSW,CX,SP,用户程序,中断程序,1,保护现场,中断程序,2,恢复现场,5/24/2026,106,NJUT,8.,中断响应的及时性,(1),长时间指令引起的延迟问题,X86,的,MOVS,指令,(2),程序执行环境转换的开销,保护断点、现场,恢复断点、现场,改进:,RISC,的计算机采用寄存器“窗口”,中断向量表安排在,Cache,中,,中断处理程序安排到,Cache,里。,放在堆栈,5/24/2026,107,NJUT,9.4,直接存储器存取,(DMA),直接存储器存取方式,(Direct Memory Access),简称,DMA,方式。,DMA,方式:以主存为中心,采用硬件手段在主存与,I/O,设备之间建立直接的数据传送通路,,由,DMA,控制器,(,DMAC,),取得总线控制权,控制主存,与,I/O,设备之间的数据传送,在传送过程中不需要,CPU,的程序干预的数据传送控制方式。,DMA,方式,主要,用于高速外设按照连续地址直接访问存储器。,5/24/2026,108,NJUT,DMA,方式,CPU,主存,接口,设备,DMA,控制器,程序控制,DMA,控制,5/24/2026,109,NJUT,9,.4.1 DMA,方式的特点与应用场合,1.DMA,方式的特点,以响应随机请求的方式,实现主存与,I/O,设备间的快速数据传送。,采用,DMA,方式控制数据传送时,仅需占用系统总线,不切换程序,不存在保存断点、保护现场、恢复现场、恢复断点等操作。因此,DMA,传送的插入不影响,CPU,的程序执行状态,除了访问主存的冲突,外,,CPU,可以继续执行自己的程序,提高,了,CPU,的利用率。,DMA,方式只能处理简单的数据传送,难以识别与处理复杂的情况。,5/24/2026,110,NJUT,2.DMA,方式
展开阅读全文