计算机组成原理第3章.ppt

上传人:公**** 文档编号:568558527 上传时间:2024-07-25 格式:PPT 页数:87 大小:850.50KB
返回 下载 相关 举报
计算机组成原理第3章.ppt_第1页
第1页 / 共87页
计算机组成原理第3章.ppt_第2页
第2页 / 共87页
计算机组成原理第3章.ppt_第3页
第3页 / 共87页
计算机组成原理第3章.ppt_第4页
第4页 / 共87页
计算机组成原理第3章.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《计算机组成原理第3章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第3章.ppt(87页珍藏版)》请在金锄头文库上搜索。

1、3.2 输入输入/输出中的数据传送控制输出中的数据传送控制 3.2.1直接程序传送控制直接程序传送控制 3.2.2程序中断控制程序中断控制 3.2.3 DMA控制控制 3.2.4通道控制通道控制 外外部部设设备备的的工工作作过过程程是是其其与与主主机机交交换换数数据据的的过过程程,输输入入设设备备把把外外界界的的数数据据传传送送给给主主机机处处理理,输输出出设设备备把把主主机机中中的的数数据据传送到外部去使用。这一节介绍如何对这些过程进行控制。传送到外部去使用。这一节介绍如何对这些过程进行控制。3.2.1直接程序传送控制直接程序传送控制 直直接接程程序序传传送送控控制制的的特特点点是是I/O过

2、过程程完完全全处处于于CPU指指令令控控制制下下,即即外外部部设设备备的的有有关关操操作作(如如启启、停停、传传送送开开始始等等)都都要要由由CPU指指令令指指定定。在在典典型型情情况况下下,I/O操操作作在在CPU寄寄存存器器与与外外部部设设备备(或或接接口口)的的数数据据缓缓冲冲寄寄存存器器间间进进行行,I/O设设备备不不直直接接访问主存。访问主存。 采用程序直接控制,外部设备与采用程序直接控制,外部设备与CPU的数据传送可有两种的数据传送可有两种方式。方式。 1. 无条件传送方式无条件传送方式 无无条条件件程程序序控控制制方方式式下下的的I/OI/O传传送送时时,CPUCPU像像对对存存

3、储储器器读读写一样,完全不管外设的状态如何。具体操作步骤大致如下:写一样,完全不管外设的状态如何。具体操作步骤大致如下: CPUCPU把把一一个个地地址址送送到到地地址址总总线线上上,经经译译码码选选择择一一台台特特定的外部设备;定的外部设备; 输输出出时时CPUCPU向向数数据据总总线线送送出出数数据据;输输入入时时CPUCPU等等待待数数据总线上出现数据;据总线上出现数据; 输出时输出时CPU发出写命令将数据总线上的数据写入外发出写命令将数据总线上的数据写入外部设备的数据缓冲寄存器;输入时部设备的数据缓冲寄存器;输入时CPU发出读命令,从数据发出读命令,从数据总线上将数据读入总线上将数据读

4、入CPU的寄存器中。的寄存器中。 这这种种传传送送方方式式一一般般适适合合于于对对采采样样点点的的定定时时采采样样或或对对控控制制点点的的定定时时控控制制等等场场合合。为为此此,可可以以根根据据外外设设的的定定时时,将将I/OI/O指指令令插插入入程程序序中中,使使程程序序的的执执行行与与外外设设同同步步。所所以以这这种种传传送送方方式也称为程序定时传送方式或同步传送方式。式也称为程序定时传送方式或同步传送方式。 下面是一段下面是一段8086程序,它的功能是测试状态寄存器(端口程序,它的功能是测试状态寄存器(端口地址为地址为27 H)的第的第2位是否为位是否为1,若为若为1 1则转移到则转移到

5、ERRORERROR进行处进行处理理 IN AL IN AL,27H ; 27H ; 输入输入 TEST AL,00000100B JNE ERROR JNE ERROR。 无条件传送是所有传送方式中最简单的一种无条件传送是所有传送方式中最简单的一种传送方式,它需要的硬件和软件数量极少。传送方式,它需要的硬件和软件数量极少。 2. 程序查询传送方式程序查询传送方式 由由于于多多数数外外部部设设备备与与CPUCPU之之间间的的数数据据传传送送都都是是随随机机的的,并并且且要要求求CPUCPU必必须须顾顾及及I/OI/O设设备备的的工工作作状状态态。这这时时CPUCPU必必须须不不断断查查询询各各

6、设设备备的的工工作作状状态态。当当计计算算机机系系统统中中只只有有一一台台外外设设时时,CPUCPU要要定定时时地地对对这这台台设设备备的的状状态态进进行行查查询询(这这时时CPUCPU常常常常处处于于询询问问等等待待状状态态,或或在在执执行行主主要要功功能能的的程程序序中中穿穿插插地地进进行行询询问问)。当当有有多多台台外外设设时时,CPUCPU一一般般是是循循环环地地逐逐一一进进行行询询问问;有有些些系系统统,将将各各个个外外设设的的状状态态标标志志位位线线“或或”在在一一条条公公共共检检测测线线上上,CPUCPU首先检测此线,有服务请求再去查询是哪台设备。首先检测此线,有服务请求再去查询

7、是哪台设备。 图图3.213.21是是以以输输入入数数据据为为例例说说明明程程序序查查询询控控制制接接口口原原理理示示意图。意图。它主要包括如下它主要包括如下3 3个部件:个部件: (1) (1) 设设备备选选择择电电路路设设备备选选择择电电路路用用以以判判别别地地址址总总线线上上送送出出的的地地址址(或或称称为为呼呼叫叫的的设设备备)是是否否为为被被查查询询设设备备,它它实实际际上上是设备地址的译码比较电路。是设备地址的译码比较电路。 (2) (2) 数数据据缓缓冲冲寄寄存存器器输输入入操操作作时时,用用数数据据缓缓冲冲寄寄存存器器存存放放从从外外部部设设备备读读出出的的数数据据,然然后后送

8、送往往CPUCPU;输输出出操操作作时时,用用数数据据缓冲寄存器存放从缓冲寄存器存放从CPUCPU送来的数据,然后送给外部设备输出。送来的数据,然后送给外部设备输出。 (3) (3) 设设备备状状态态位位(标标志志)设设备备状状态态位位是是控控制制器器中中的的标标志志触触发发器器,如如“忙忙”、“准准备备就就绪绪”、“错错误误”等等,用用以以表表示示设设备备的的工工作作状状态态,以以便便接接口口对对外外设设进进行行监监视视。一一旦旦CPUCPU用用程程序序询问询问I/OI/O设备时,则设备时,则状态位信息取至状态位信息取至CPUCPU进行分析。进行分析。 程程序序查查询询方方式式是是利利用用程

9、程序序控控制制实实现现CPUCPU与与I/OI/O设设备备之之间间的的数据传送。程序执行过程中的有关动作(以输入为例)如下:数据传送。程序执行过程中的有关动作(以输入为例)如下: CPU CPU 向地址总线上送出地址,选中设备控制器;向地址总线上送出地址,选中设备控制器; CPU CPU 看看“忙忙”触触发发器器是是否否为为“0 0”,若若为为“0 0”,则则发发出出命命令令字字,请请求求启启动动外外设设进进行行数数据据输输入入,置置“忙忙”触触发发器器为为“1 1”,置置“就就绪绪”触触发发器器为为“0 0”,然然后后不不断断检检测测“就就绪绪”触发器何时变为触发器何时变为“1 1”; 接接

10、口口接接到到CPUCPU的的命命令令字字后后,立立即即启启动动外外设设工工作作,开开始始输入数据;输入数据; 外设启动后将输入数据送入数据缓冲寄存器;外设启动后将输入数据送入数据缓冲寄存器; 外外设设完完成成数数据据输输入入后后,置置“就就绪绪”触触发发器器为为“1 1”,通知通知CPUCPU已经已经“ReadyReady”( (准备就绪准备就绪) ); CPUCPU从从数数据据缓缓冲冲寄寄存存器器中中读读入入输输入入数数据据,并并将将控控制制器器状态标志复位。状态标志复位。 采采用用程程序序直直接接控控制制模模式式简简单单、控控制制接接口口硬硬设设备备较较少少。一一般般计算机都具有这种功能,

11、但是,明显地存在着以下缺点:计算机都具有这种功能,但是,明显地存在着以下缺点: (1) (1) CPUCPU与与外外部部设设备备只只能能串串行行工工作作。由由于于CPUCPU的的速速度度比比外外部部设设备备的的速速度度快快得得多多,因因此此,CPUCPU的的大大量量时时间间都都处处于于空空闲闲、等等待待状态,系统的效率较低。状态,系统的效率较低。 (2) (2) CPUCPU在在一一段段时时间间内内只只能能和和一一台台外外部部设设备备交交换换信信息息,无无法使其他外部设备同时工作。法使其他外部设备同时工作。 (3) (3) 发现和处理预先无法估计的错误和异常比较困难。发现和处理预先无法估计的错

12、误和异常比较困难。 因因此此,这这种种输输入入输输出出控控制制方方式式多多用用于于CPU速速度度不不高高、外外部部设备种类不多的情况。设备种类不多的情况。3.2.2程序中断控制程序中断控制 在实际应用中,多数事件是非寻常或非预期的。当这样在实际应用中,多数事件是非寻常或非预期的。当这样的要紧事件发生时,的要紧事件发生时,CPU应当暂停当前正在执行的程序,先应当暂停当前正在执行的程序,先转去执行处理要紧事件的子程序;紧急事件处理完毕之后,转去执行处理要紧事件的子程序;紧急事件处理完毕之后,恢复原来的状态,再继续执行原来的程序。这种对要紧事件恢复原来的状态,再继续执行原来的程序。这种对要紧事件的处

13、理模式,称为程序中断(的处理模式,称为程序中断(interrupt)控制模式,简称中控制模式,简称中断控制或中断。这种处理要紧事件的服务子程序称为中断子断控制或中断。这种处理要紧事件的服务子程序称为中断子程序。这种引起中断的事件称为中断源。程序。这种引起中断的事件称为中断源。 下面以打印控制为例,说明中断控制的基本过程:下面以打印控制为例,说明中断控制的基本过程: 每台每台打印机(外设)都设有自己的缓冲寄存器,打印机(外设)都设有自己的缓冲寄存器,CPU用访问指令用访问指令启动打印机,并将要打印的数据传送到打印机的数据缓冲寄启动打印机,并将要打印的数据传送到打印机的数据缓冲寄存器;然后,存器;

14、然后,CPU可以继续执行原来的其他程序,打印机开始打印这批数据。可以继续执行原来的其他程序,打印机开始打印这批数据。这批数据打印完成后,打印机向这批数据打印完成后,打印机向CPU发出中断请求,发出中断请求,CPU接接到中断请求后对打印机进行中断服务,如再送出一批打印数到中断请求后对打印机进行中断服务,如再送出一批打印数据等,然后又继续执行原来的程序。这一过程如据等,然后又继续执行原来的程序。这一过程如图图3.22所示。所示。 在在计计算算机机系系统统中中引引入入中中断断的的概概念念,是是计计算算机机技技术术发发展展史史上上的的一一个个里里程程碑碑。中中断断控控制制允允许许CPUCPU与与外外设

15、设在在大大部部分分时时间间并并行行地地工工作作,只只有有少少部部分分时时间间用用以以互互相相交交换换信信息息(打打印印机机打打印印一一行行字字需需几几毫毫秒秒到到几几十十毫毫秒秒,而而中中断断处处理理是是微微秒秒级级的的)。从从宏宏观观上上看看,CPUCPU与与打打印印机机主主要要是是并并行行工工作作。当当有有多多个个中中断断源源时时,CPUCPU可纵观全局,根据外部事件的轻重缓急进行可纵观全局,根据外部事件的轻重缓急进行权权衡衡安安排排一一个个优优先先队队列列,掌掌握握I/OI/O的的主主动动权权,使使计计算算机机的的效效率率大大大大提提高高。随随着着计计算算机机技技术术的的发发展展,中中断

16、断进进而而用用于于程程序序错错误误或或硬硬设设备备故故障障的的处处理理、人人|机机联联系系、多多道道程程序序、分分时时操操作作、实实时时处处理理、目目标标程程序序与与操操作作系系统统间间的的联联系系、多多处处理理机机系系统统中中各处理机间的联系等。各处理机间的联系等。 1. 1. 中断请求中断请求 (1) (1) 中断源中断源 中中断断由由中中断断源源发发出出。中中断断的的复复杂杂性性主主要要表表现现在在中中断断源源的的多样性上。常见的中断源有以下一些:多样性上。常见的中断源有以下一些: 输输入入、输输出出设设备备中中断断。如如键键盘盘、打打印印机机等等工工作作过过程程中中向主机发出已做好接收

17、或发送准备信息。向主机发出已做好接收或发送准备信息。 数据通道中断。如磁盘、磁带等要同主机数据通道中断。如磁盘、磁带等要同主机进行数据交换等。进行数据交换等。 实实时时时时钟钟中中断断。当当外外部部时时钟钟电电路路需需要要定定时时时时,可可由由CPUCPU发发出出命命令令,令令时时钟钟电电路路(这这种种电电路路的的延延迟迟时时间间往往往往是是可可编编程程的的即即可可以以用用程程序序确确定定和和改改变变)开开始始工工作作;规规定定的的时时间间到到后后,时时钟钟电电路路发发出出中中断断请请求求,由由CPUCPU加加以以处处理理。若若用用无无条条件件传传送送,要要由由CPUCPU执执行行一一段段程程

18、序序实实现现延延迟迟,一一方方面面,在在这这段段时时间间内内CPUCPU不不能能干干别别的的工工作作,降降低低了了CPUCPU的的利利用用率率,另另一一方方面面,时时间间也不十分精确。也不十分精确。 故故障障中中断断。例例如如电电源源掉掉电电、设设备备故故障障等等要要求求CPUCPU进进行行紧急处理等。紧急处理等。 系系统统中中断断。如如运运算算过过程程出出现现溢溢出出、数数据据格格式式非非法法,数数据传送过程出现校验错,控制器遇到据传送过程出现校验错,控制器遇到非法指令等等。非法指令等等。 为为了了调调试试程程序序而而设设置置的的中中断断。一一个个新新的的程程序序编编制制好好以以后后,必必须

19、须经经过过反反复复调调试试才才能能正正确确可可靠靠地地工工作作。在在程程序序调调试试时时,为为了了检检查查中中断断结结果果,或或为为了了寻寻找找毛毛病病所所在在,往往往往要要求求在在程程序序中中设设置置断断点点或或让让程程序序进进行行单单步步工工作作(一一次次只只执执行行一一条条指指令令)。这也要由中断系统来实现。这也要由中断系统来实现。 通通常常,把把由由处处理理机机外外部部引引起起的的中中断断( (如如设设备备中中断断等等) )称称为为外外中中断断,由由内内部部引引起起的的中中断断称称为为内内中中断断( (如如系系统统中中断断等等) );把把由由于于故故障障等等引引起起的的中中断断称称为为

20、强强迫迫中中断断,把把程程序序安安排排的的中中断断称称为为自愿中断。下面主要讨论外中断。自愿中断。下面主要讨论外中断。 中断控制过程实质上是执行一段与中断源相应的中断服务中断控制过程实质上是执行一段与中断源相应的中断服务子程序。对不同的中断源,应采取不同子程序。对不同的中断源,应采取不同的处理措施,要有相应的中断服务子程序。计算机为了处理的处理措施,要有相应的中断服务子程序。计算机为了处理多种中断,要事先把处理这些中断的服务子程序分别放在存多种中断,要事先把处理这些中断的服务子程序分别放在存储器的不同的位置储器的不同的位置(存储区域存储区域)。因此中断系统的主要功能是在。因此中断系统的主要功能

21、是在中断事件发生时,将控制转向相应的服务子程序。中断事件发生时,将控制转向相应的服务子程序。 (2) (2) 中断请求的提出中断请求的提出 中断过程是从中断源发出中断请求而始。为了让每个中断中断过程是从中断源发出中断请求而始。为了让每个中断源都能发出中断请求信号,要为每一个中断源设一个中断请源都能发出中断请求信号,要为每一个中断源设一个中断请求触发器求触发器INTR。当外部事件发生时,当外部事件发生时,I/O控制器应将相应的控制器应将相应的中断请求触发器置中断请求触发器置“1”,并一直保留到,并一直保留到CPU响应了这个中断,响应了这个中断,才可以将这个中断请求清除。才可以将这个中断请求清除。

22、 如如图图3.23所示,中断源向所示,中断源向CPU提出中断请求的方法有两种:提出中断请求的方法有两种:一是每一个中断请求触发器对应一是每一个中断请求触发器对应CPU中断寄存器中断寄存器INT中的一位;一是所有中断请求信号中的一位;一是所有中断请求信号“或或”成一个中断信号,送入成一个中断信号,送入CPU的一位中断寄存器的一位中断寄存器INT中,形成单中,形成单线中断,线中断,CPU再按一定的顺序查询再按一定的顺序查询(如图中用如图中用INTA信号查询信号查询)是哪一个中断源发出了申请。中断寄存器的内容称为中断字是哪一个中断源发出了申请。中断寄存器的内容称为中断字或中断码。或中断码。 (3)

23、(3) 中断排队中断排队 由由于于中中断断请请求求的的随随机机性性,有有可可能能出出现现多多个个中中断断源源同同时时(一一个个指指令令周周期期内内)发发出出中中断断请请求求的的情情况况。那那么么在在这这种种情情况况下下,CPUCPU究究竟竟应应该该响响应应哪哪一一个个中中断断源源的的请请求求呢呢? ? 这这就就需需要要根根据据中中断断源源工工作作性性质质的的重重要要性性、紧紧迫迫性性把把中中断断源源分分成成若若干干等等级级,以以便便排排出出一一个个处处理理顺顺序序( (称称为为中中断断排排队队) ),让让最最紧紧迫迫、最最重重要要、处理速度较高的事件优先处理。处理速度较高的事件优先处理。CPU

24、CPU处理中断排队,处理中断排队,即中断判优的原则是:即中断判优的原则是: 不同级的中断发生时,按级别高低依次处理。不同级的中断发生时,按级别高低依次处理。 高高级级别别中中断断可可以以使使低低级级别别中中断断过过程程再再中中断断,称称为为中中断断嵌嵌套套。但但较较低低级级中中断断不不能能使使较较高高级级中中断断过过程程再再中中断断;同同级级中中断过程也不能被同级中断再中断。断过程也不能被同级中断再中断。 同级中断源同时申请中断时,按事先约定的次序处理。同级中断源同时申请中断时,按事先约定的次序处理。 这些原则可以用电路这些原则可以用电路(称硬件判优称硬件判优)或程序或程序(称软件判优称软件判

25、优)两两种方法实现。种方法实现。 (a) 硬件判优硬件判优 中中断断优优先先线线路路的的基基本本特特点点,优优先先级级较较高高的的设设备备提提出出中中断断请请求后,就自动封锁优先级别较低的设备求后,就自动封锁优先级别较低的设备的的中中断断请请求求。图图3.243.24为为与与图图3.233.23对对应应的的两两种种中中断断排排队队线线路路,实际上是图实际上是图3.233.23两种线路的完善。两种线路的完善。 (b) 软件判优软件判优 实实现现这这种种方方法法需需要要有有专专门门的的语语句句,每每条条语语句句指指出出不不同同的的设设备备码码。CPUCPU借借用用专专门门的的检检查查线线路路由由地

26、地址址线线上上按按由由高高到到低低的的顺顺序序发发出出设设备备码码。不不同同的的设设备备码码经经过过选选择择译译码码,由由该该设设备备的的D D触触发发器器向向SELDSELD线线上上发发出出信信号号,最最先先使使SELDSELD线线上上出出现现信信号号的的便便是是需需要优先的设备。要优先的设备。 (4) (4) 中断屏蔽中断屏蔽 简简单单地地说说,中中断断屏屏蔽蔽就就是是CPU不不理理睬睬某某些些中中断断,使使这这些些中中断断信信号号暂暂不不被被CPU“感感觉觉”,但但信信号号仍仍保保留留,以以便便条条件件允允许许时时再再响响应应。中中断断屏屏蔽蔽的的具具体体方方法法如如图图3.25所所示示

27、,是是在在I/O的的各各中断线路中设一个中断线路中设一个屏屏蔽蔽触触发发器器IM,CPU可可用用指指令令将将它它置置1或或置置0。置置0时时封封闭闭该该设备的中断请求触发器设备的中断请求触发器INTR,使其不能将申请使其不能将申请(“1”)发出。发出。 用用中中断断屏屏蔽蔽,使使同同一一级级及及低低一一级级中中断断不不能能中中断断同同一一级级及及高高一一级级的的中中断断服服务务子子程程序序。进进而而可可以以利利用用中中断断屏屏蔽蔽作作用用,组组成成中中断断优优先先管管理理电电路路。设设某某一一计计算算机机配配备备的的全全部部I/O设设备备分分为为8级级,对对应应于于每每一一级级都都有有一一个个

28、定定义义的的8位位屏屏蔽蔽字字存存于于存存储储器器内内,可可以以用用一一条条专专门门的的屏屏蔽蔽指指令令取取出出来来送送到到屏屏蔽蔽寄寄存存器器中中。不不同同屏屏蔽蔽字字中中不不同同位位上上的的0,1码码不不同同,只只允允许许为为1的的中中断断请请求求进进入入中中断断寄寄存存器器中中。这这样样向向屏屏蔽蔽寄寄存存器器中中写写入入不不同同的的屏屏蔽蔽字字,将将会得到不同的优先级顺序。会得到不同的优先级顺序。 (5) (5) 中断的禁止和开放中断的禁止和开放 简简单单地地说说,禁禁止止中中断断就就是是CPUCPU拒拒绝绝任任何何中中断断。拒拒绝绝的的原原因因是是系系统统处处于于两两个个程程序序的的

29、转转换换过过程程或或正正在在执执行行某某些些不不允允许许打打断断的的程程序序。如如CPUCPU刚刚响响应应了了一一个个中中断断或或刚刚处处理理完完一一个个中中断断过过程程,寄寄存存器器内内容容还还没没有有来来得得及及保保存存时时,立立即即响响应应新新的的中中断断,会会造造成成混混乱乱。再再如如一一些些用用于于过过程程定定时时控控制制的的程程序序,在在执执行行过过程程中中一一般般不不允允许许被被中中断断。为为了了控控制制是是否否响响应应中中断断,CPUCPU设设置置了了一一个个中断允许触发器中断允许触发器IFFIFF。 IFF=1 IFF=1 称中断开放,即称中断开放,即CPUCPU允许中断;允

30、许中断; IFF=0 IFF=0 称中断屏蔽,即称中断屏蔽,即CPUCPU禁止中断。禁止中断。 开开放放中中断断和和禁禁止止中中断断常常用用两两条条指指令令EI和和DI来来完完成成 。当当CPU执执行行DI指指令令后后,有有中中断断请请求求时时,CPU不不响响应应,只只有有等等到到发出开中断指令后才能响应,如发出开中断指令后才能响应,如图图3.26所示。所示。 DIDI称称为为关关中中断断命命令令,EIEI称称为为开开中中断断命命令令。因因此此CPUCPU响响应应中中断的条件为:断的条件为: INTIFF=1它可以用一个它可以用一个“与与”门完成。门完成。 2. 2. 中断响应中断响应 CPU

31、CPU响应中断的条件是:响应中断的条件是: 中断源有中断请求;中断源有中断请求; CPUCPU允许接收中断请求允许接收中断请求( (处于开中断处于开中断) ); 通通常常一一条条指指令令执执行行过过程程不不能能响响应应中中断断,只只有有特特殊殊的的长长指令才允许被中断。指令才允许被中断。 一旦一旦CPUCPU响应中断的条件得到满足,即开始响应响应中断的条件得到满足,即开始响应中中断断,转转入入响响应应中中断断周周期期。中中断断响响应应实实际际上上在在计计算算机机中中是是执执行行一一条条隐隐指指令令,在在该该隐隐指指令令中中CPUCPU完完成成两两个个功功能能: 一一是是保保存存原程序的断点和状

32、态;二是转向中断服务程序。原程序的断点和状态;二是转向中断服务程序。 (1) 断点和现场的保存与恢复断点和现场的保存与恢复 CPUCPU响响应应中中断断前前,即即将将要要执执行行的的下下一一条条指指令令的的地地址址( (由由于于中中断断,该该条条指指令令不不能能继继续续执执行行了了) )保保存存起起来来,以以便便返返回回时时,能能知知道这个地址,继续执行原来的程序。这个地址称为断点。道这个地址,继续执行原来的程序。这个地址称为断点。 另另一一方方面面,CPUCPU响响应应中中断断后后,它它的的累累加加器器、程程序序状状态态字字PSW(PSW(即即记记录录程程序序执执行行的的一一些些特特征征,在

33、在微微机机中中称称为为标标志志寄寄存存器器,但但在在其其他他一一些些机机器器中中,它它不不仅仅包包括括了了标标志志寄寄存存器器的的内内容容,还还包括了其他特征包括了其他特征) )以以及及一一些些通通用用寄寄存存器器开开始始转转为为执执行行中中断断服服务务子子程程序序服服务务。为为此此中中断断处处理理之之前前必必须须把把中中断断前前这这些些寄寄存存器器的的状状态态(称称中中断断前前的的现现场场)保保存存起起来来,以以便便中中断断处处理理结结束束后后被被中中断断的的程程序序能能在在原来现场状况下恢复继续执行。原来现场状况下恢复继续执行。 值值得得提提及及的的是是,某某些些微微机机执执行行隐隐指指令

34、令时时,只只保保存存断断点点的的内内容容,标标志志寄寄存存器器的的内内容容则则由由中中断断服服务务程程序序开开始始时时通通过过安安排排几几条指令执行保存。条指令执行保存。 断断点点和和现现场场状状态态的的保保存存地地点点,因因机机器器而而异异,但但一一般般有有三三处处可以保存:可以保存: 把现场状态存入存储器内固定的指定单元。把现场状态存入存储器内固定的指定单元。 用用堆堆栈栈进进行行保保存存,如如M6800M6800采采取取这这种种方方式式。用用堆堆栈栈保保存现场操作简单,允许多级中断。存现场操作简单,允许多级中断。 在在多多组组寄寄存存器器之之间间进进行行切切换换。如如Z|80CPUZ|8

35、0CPU有有两两组组寄寄存存器器,中中断断服服务务程程序序与与主主程程序序可可以以各各用用一一组组。这这种种方方法法执执行行速速度快,但对有多级中断无能为力。度快,但对有多级中断无能为力。 对对现现场场信信息息的的处处理理有有两两种种方方式式: 一一种种是是由由硬硬件件对对现现场场信信息息进进行行保保存存和和恢恢复复;另另一一种种是是由由软软件件,即即中中断断服服务务程程序序对对现现场信息保存和恢复。场信息保存和恢复。 (2) 转中断服务子程序入口转中断服务子程序入口 对对于于不不同同的的中中断断源源,CPUCPU要要进进行行的的处处理理不不同同,中中断断服服务务子子程程序序内内容容也也不不同

36、同。这这些些中中断断服服务务子子程程序序分分别别放放在在内内存存的的某某些些固固定定区区域域中中。因因此此中中断断处处理理的的关关键键是是找找出出这这些些服服务务子子程程序序的的首地址。首地址。 寻寻找找中中断断服服务务子子程程序序入入口口地地址址的的方方法法很很多多,它它们们大大都都与与中中断判优结合进行。下面列举常用的向量断判优结合进行。下面列举常用的向量法和查询法作简要介绍。法和查询法作简要介绍。 (a) 向量中断向量中断 把把中中断断服服务务程程序序入入口口单单元元地地址址(或或包包括括状状态态字字) )组组织织成成为为向向量量表表,中中断断响响应应时时利利用用硬硬件件(中中断断逻逻辑

37、辑)自自动动地地得得到到存存放放中中断断服服务务程程序序入入口口单单元元地地址址(或或包包括括状状态态字字) ),即即中中断断源源自自己己引引导导CPUCPU获获取取中中断断服服务务程程序序入入口口地地址址的的中中断断过过程程,称称为为向向量量中中断。断。 向向量量中中断断往往往往是是在在存存储储空空间间内内划划定定一一些些专专门门的的地地址址单单元元作作为为中中断断向向量量地地址址或或直直接接作作为为中中断断服服务务子子程程序序的的入入口口地地址址。这这些些地地址址单单元元对对于于硬硬件件来来讲讲是是永永久久性性地地分分配配好好了了的的,它它们们指指明明了了执执行行中中断断服服务务子子程程序

38、序的的走走向向,好好像像“指指路路标标”。这这就就是是所所谓谓“向向量量中中断断”的的含含义义。向向量量中中断断可可以以导导致致主主程程序序向向若若干干不同不同单单元元中中的的任任一一单单元元转转移移,至至于于是是哪哪一一单单元元由由中中断断源源决决定定。如如图图3.273.27所示,向量地址是一种间址方式。所示,向量地址是一种间址方式。 采采用用这这种种方方法法的的先先决决条条件件是是,必必须须用用硬硬件件提提供供中中断断源源的的编编码码(例例如如利利用用图图3.23所所示示的的中中断断寄寄存存器器,由由数数据据总总线线向向CPU送送去去一一个个地地址址码码等等),然然后后用用此此编编码码寻

39、寻找找向向量量地地址址或或中中断断入入口地址。口地址。 (b) 中断引导程序查询中断引导程序查询 在在单单线线中中断断情情况况下下,处处理理中中断断也也可可以以由由程程序序员员事事先先把把向向量量地地址址编编为为一一段段查查询询程程序序,即即中中断断引引导导程程序序,放放在在某某一一存存储储区区间间。每每当当CPUCPU响响应应中中断断时时,总总是是使使程程序序转转到到一一个个特特定定的的、不不可可改改变变的的地地址址单单元元,从从而而引引出出中中断断引引导导程程序序。引引导导程程序序根根据据一定的顺序查询是哪一个一定的顺序查询是哪一个I/OI/O设备有中断请求,然后由程序设备有中断请求,然后

40、由程序形形成成相相应应的的中中断断服服务务子子程程序序的的入入口口地地址址,从从而而转转去去执执行行相相应应的的中中断断服服务务子子程程序序。这这种种方方法法主主要要通通过过软软件件逐逐个个查查询询,与与向向量中断相比,响应中断的时间较长,但所需硬件逻辑少。量中断相比,响应中断的时间较长,但所需硬件逻辑少。 3. 3. 中断流程中断流程 不不同同计计算算机机对对中中断断的的处处理理各各具具特特色色,就就一一般般而而言言,中中断断处理流程如处理流程如图图3.283.28所示。所示。 4. 4. 中断系统的组成中断系统的组成 计计算算机机的的中中断断系系统统的的功功能能,采采用用一一定定的的硬硬件

41、件与与软软件件共共同同实实现现。这这些些硬硬件件部部分分与与软软件件部部分分紧紧密密配配合合,不不可可分分离离。但但哪哪些些功功能能用用硬硬件件(逻逻辑辑线线路路)实实现现,哪哪些些功功能能通通过过软软件件(程程序序)实现,各机不同。下面对中断系统的组成仅作一般性说明。实现,各机不同。下面对中断系统的组成仅作一般性说明。 (1) (1) 程序中断控制器(如程序中断控制器(如图图3.293.29) 与与程程序序直直接接控控制制输输入入输输出出方方式式相相比比,程程序序中中断断控控制制器器增增加加了了4 4个触发器和个触发器和1 1个寄存器。个寄存器。 (a) 准备就绪触发器(准备就绪触发器(RD

42、) CPUCPU需需与与外外设设交交换换数数据据时时,首首先先发发出出启启动动信信号号,然然后后CPUCPU继继续续完完成成别别的的工工作作。一一旦旦设设备备做做好好数数据据的的接接收收或或发发送送准准备备工工作作,便便发发出出一一个个设设备备动动作作完完毕毕信信号号,置置RDRD标标志志为为“1 1”,实实质质上上就就是是程程序序查查询询方方式式中中的的ReadyReady(准准备备就就绪绪)标标志志。在在中中断断模模式下,该标志用作中断源触发器,简称中断触发器。式下,该标志用作中断源触发器,简称中断触发器。 (b) 允许中断触发器(允许中断触发器(EI) 该该触触发发器器可可以以用用程程序

43、序指指令令来来置置位位。当当EI为为“1”时时,对对应应设设备备可可以以向向CPU发发出出中中断断请请求求;EI为为“0”时时,不不能能向向CPU发发出出中中断断请请求求,这这意意味味着着某某中中断断源源的的中中断断请请求求被被禁禁止止。设设置置EI标标志志的的目目的的,是是通通过过程程序序可可以以控控制制是是否否允允许许某某设设备备发发出出中中断断请求。请求。 (c) 中断请求触发器(中断请求触发器(IR) 该该触触发发器器暂暂存存中中断断请请求求线线上上由由设设备备发发出出的的中中断断请请求求信信号号。当当IRIR标志为标志为“1 1”时,表示设备发出了中断请求。时,表示设备发出了中断请求

44、。 (d) 中断屏蔽触发器(中断屏蔽触发器(IM) 该该触触发发器器是是CPU是是否否受受理理中中断断的的标标志志。IM标标志志为为“0”时时,CPU可可以以受受理理与与该该位位对对应应的的外外界界中中断断请请求求;IM标标志志为为“1”时时,CPU不受理外界中断请求。不受理外界中断请求。 (e) 中断向量寄存器(中断向量寄存器(IVR) 该该寄寄存存器器用用来来存存放放对对应应于于中中断断请请求求的的中中断断服服务务程程序序入入口口地地址。址。 在在图图3.293.29中中,标标号号表表示示由由某某一一外外设设输输入入数数据据的的控控制过程:制过程: 由由程程序序启启动动外外设设,将将该该外

45、外设设接接口口的的“忙忙”标标志志BSBS置置“1 1”;“准准备备就就绪绪”标标志志置置“0 0”,外外设设接接口口开开始始准准备备,这这是是CPUCPU可以继续进行别的工作,实现外设与可以继续进行别的工作,实现外设与CPUCPU的并行工作。的并行工作。 接口向外部设备发出启动信号接口向外部设备发出启动信号(CPU(CPU与外设并行工作与外设并行工作) ) 外外设设启启动动完完成成数数据据的的输输入入,将将输输入入数数据据由由外外设设送送入入接接口中的数据缓冲寄存器。口中的数据缓冲寄存器。 当当设设备备动动作作结结束束或或缓缓冲冲寄寄存存器器数数据据填填满满时时,外外设设向向接接口口送送出出

46、一一控控制制信信号号,将将数数据据“准准备备就就绪绪”标标志志RDRD置置“1 1”,“忙忙”标志标志BSBS清清“0 0”。 当当允允许许中中断断标标志志EIEI为为“1 1”时时,接接口口向向CPUCPU发发出出中中断断请请求信号求信号IRQIRQ。 表示表示CPU在一条指令执行结束后检查中断在一条指令执行结束后检查中断请请求求线线上上有有无无中中断断请请求求,若若有有,则则将将该该中中断断请请求求线线上上的的请请求求信号信号IRQ接收到中断请求触发器接收到中断请求触发器IR中。中。 表表示示如如果果“中中断断屏屏蔽蔽”标标志志IMIM为为“0 0”时时,CPUCPU在在一一条条指指令令结

47、结束束后后受受理理外外设设的的中中断断请请求求,向向外外设设发发出出响响应应中中断断信信号号并关闭中断。并关闭中断。 转向该设备的中断服务程序入口。转向该设备的中断服务程序入口。 中中断断服服务务程程序序通通过过输输入入指指令令把把接接口口数数据据缓缓冲冲寄寄存存器器里里的数据读至的数据读至CPUCPU中的寄存器组。中的寄存器组。 CPU发出控制信号发出控制信号C将接口中的将接口中的BS和和RD标志复位。标志复位。 (2) (2) 中断服务子程序中断服务子程序 中中断断服服务务子子程程序序是是中中断断过过程程的的核核心心,它它的的基基本本构构成成如如图图3.303.30所示,大体可以分为:所示

48、,大体可以分为: 起始、主体和结尾起始、主体和结尾3 3个部分。个部分。 ( (a) a) 起始部分的功能是:起始部分的功能是: 判判断断引引起起中中断断的的原原因因,因因为为INTINT标标志志仅仅仅仅表表明明有有无无中中断断请请求求,并并不不包包括括有有关关中中断断源源的的进进一一步步的的信信息息,对对于于不不同同的的原因将转入不同的处理程序;原因将转入不同的处理程序; 封锁低级中断请求(设置屏蔽码);封锁低级中断请求(设置屏蔽码); 清除中断标志触发器;清除中断标志触发器; 保保存存中中断断现现场场,图图中中的的MRMR语语句句表表示示把把通通用用寄寄存存器器RiRi的内容写入指定单元;

49、的内容写入指定单元; 开放中断(开放中断(IEN1),),以便在本次中断处理过程中,以便在本次中断处理过程中,可以响应更高级的中断请求,如果本次中断过程不允许再被可以响应更高级的中断请求,如果本次中断过程不允许再被中断,就可以不进行这一操作,或改为清除中断,就可以不进行这一操作,或改为清除IEN操作。操作。 ( (b) b) 中中断断处处理理程程序序的的主主体体部部分分,完完成成相相应应的的中中断断处处理理操操作。作。 ( (c) c) 结尾部分的基本功能如下:结尾部分的基本功能如下: 封封锁锁中中断断(IEN0IEN0),防防止止恢恢复复现现场场过过程程被被其其他他中中断断打乱;打乱; 恢复

50、本次中断的现场;恢复本次中断的现场; 清清除除中中断断请请求求寄寄存存器器相相应应位位,表表明明本本次次中中断断过过程程已已经经结束;结束; 开放低级中断(清除屏蔽);开放低级中断(清除屏蔽); 解除中断封锁(解除中断封锁(IEN1IEN1);); 返回被中断的程序,接着往下执行。返回被中断的程序,接着往下执行。 5. 5. 多重中断多重中断 多多重重中中断断处处理理是是指指在在处处理理某某一一个个中中断断过过程程中中又又发发生生了了新新的的中中断断,即即中中断断一一个个服服务务程程序序的的执执行行,又又转转去去执执行行新新的的中中断断处处理理。这这种种重重叠叠处处理理中中断断的的现现象象也也

51、称称为为中中断断嵌嵌套套。图图3.313.31所所示示为为一一个个4 4级级中中断断嵌嵌套套的的例例子子。4 4级级中中断断的的优优先先级级由由高高到到低低为为12341234的的顺顺序序。在在CPUCPU执执行行主主程程序序期期间间同同时时出出现现了了两两处处中中断断请请求求和和时时,因因2 2级级中中断断优优先先级级高高于于3 3级级中中断断,应应首首先先去去执执行行2 2级级中中断断服服务务程程序序,若若此此时时又又出出现现了了第第4 4级级的的中中断断请请求求,则则CPUCPU将将不不予予理理采采。2 2级级中中断断服服务务程程序序执执行行完完返返回回主主程程序序后后,再再去去执执行行

52、第第3 3级级的的中中断断服服务务程程序序,然然后后执执行行第第4 4级级中中断断服服务务程程序序。若若CPUCPU执执行行第第2 2级级中中断断服服务务程程序序过过程程中中,出出现现了了第第1 1级级中中断断请请求求,因因其其优优先先级级高高于于第第2 2级级,CPUCPU便便暂暂停停对对第第2 2级级中中断断服服务务程程序序的的执执行行,转转去去执执行行第第1 1级级中中断断服服务务程程序序,等等第第1 1级级中中断断服服务程序执行完后,再去执行第务程序执行完后,再去执行第2 2级中断服务程序。级中断服务程序。 中中断断级级的的响响应应次次序序可可由由软软件件来来控控制制。在在有有优优先先

53、级级中中断断屏屏蔽蔽时时, 系系统统软软件件可可以以根根据据需需要要改改变变多多重重中中断断的的处处理理次次序序,使使其其和和中中断断响响应应次次序序不不同同。由由于于中中断断屏屏蔽蔽码码由由软软件件赋赋值值,改改变变屏屏蔽蔽位位的的信信息息就就可可以以改改变变多多重重中中断断处处理理次次序序。这这正正好好反反映映了了中中断系统软硬件结合带来的灵活性。断系统软硬件结合带来的灵活性。3.2.3 DMA控制控制 采采用用程程序序中中断断控控制制,能能使使多多台台外外设设依依次次启启动动后后,同同时时进进行行数数据据交交换换的的准准备备工工作作;若若在在某某一一时时刻刻有有几几台台外外部部设设备备发

54、发中中断断请请求求信信号号,CPUCPU可可根根据据预预先先规规定定好好的的优优先先顺顺序序,按按轻轻重重缓缓急急处处理理几几台台外外设设的的数数据据传传送送,从从而而实实现现了了外外部部设设备备间间的的并并行行工工作作,提提高高了了计计算算机机系系统统的的工工作作效效率率。但但是是,中中断断系系统统的的保保存存与与恢恢复复现现场场需需一一定定的的时时间间,并并且且主主机机与与外外设设之之间间的的数数据据交交换换要要由由CPUCPU直直接接控控制制。这这对对一一些些工工作作频频率率高高、要要成成批批交交换换数数据据且且单单位位数数据据之之间间的的时时间间间间隔隔较较短短的的外外设设,例例如如磁

55、磁盘盘、磁磁带带等等来来说说,将将引引起起CPUCPU频频繁繁干干预预,CPUCPU长长时时间间为为外外设设服服务务,同同时时还还可可能能引引起数据丢失。起数据丢失。 DMA(DMA(直直接接存存储储器器存存取取direct direct memory memory access)access)控控制制是是在在内内存存与与设设备备之之间间开开辟辟一一条条直直接接数数据据传传送送通通路路,并并把把传传送送过过程程交交DMADMA控控制制器器进进行行管管理理,形形成成以以存存储储器器为为中中心心的的体体系系结结构构。DMADMA可可以以看看作作是是和和CPUCPU共共享享存存储储器器的的处处理理器

56、器,只只不不过过“头头脑脑”比比较较简简单单而而已已。CPUCPU与与DMADMA各各自自能能独独立立地地工工作作,挖挖掘掘了了系系统统部部件级的并行性。件级的并行性。 1. DMA传送方式传送方式 DMADMA控制器与控制器与CPUCPU通常采用以下通常采用以下3 3种方式分别占用内存。种方式分别占用内存。 (1) CPU暂停访问内存暂停访问内存 对对CPU来来说说,一一般般DMA的的优优先先级级高高于于中中断断。CPU暂暂停停访访问内存就是用问内存就是用DMA信号迫使信号迫使CPU暂时暂时 让让出出对对总总线线的的控控制制权权。具具体体地地说说,当当外外部部设设备备要要求求传传送送一一批批

57、数数据据时时,由由DMADMA控控制制器器发发一一个个请请求求信信号号给给CPUCPU,请请求求CPUCPU暂暂时时放放弃弃对对地地址址总总线线、数数据据总总线线和和有有关关控控制制总总线线的的控控制制权权,由由DMADMA控控制制器器用用以以控控制制数数据据传传送送。一一批批数数据据传传送送完完毕毕,DMADMA控控制制器器再再把把总线控制权归还给总线控制权归还给CPUCPU。 图图3.32(3.32(a)a)是这种传送方式的时序图是这种传送方式的时序图。 这这种种传传送送方方法法的的优优点点是是控控制制简简单单,适适应应于于数数据据传传输输速速率率很很高高的的设设备备进进行行成成组组传传送

58、送;缺缺点点是是在在DMADMA控控制制器器访访问问内内存存阶阶段段,CPUCPU基基本本处处于于不不工工作作状状态态或或称称保保持持状状态态,CPUCPU和和内内存存的的效效能能没没有有充充分分发发挥挥,相相当当一一部部分分内内存存工工作作周周期期是是空空闲闲的的,因因为为外外部部设备传送两个数据之间的间隔一般总是大于内存存储周期,设备传送两个数据之间的间隔一般总是大于内存存储周期,即即使使高高速速I/OI/O设设备备也也是是如如此此。例例如如,软软盘盘读读出出一一个个8 8位位二二进进制制数数大大约约需需要要3232ss,而而半半导导体体内内存存的的存存储储周周期期小小于于1 1 ss,因

59、因此许多空闲的存储周期不能被此许多空闲的存储周期不能被CPUCPU利用。利用。 (2) (2) DMADMA与与CPUCPU交替访问内存交替访问内存 这种方法是把一个存储周期分成两个时间片,假设这种方法是把一个存储周期分成两个时间片,假设CPU工作周期为工作周期为1.2 s,存取周期小于存取周期小于0.6 s,那么一个存储周期那么一个存储周期可分为可分为C1和和C2两个分周期,其中两个分周期,其中C1专供专供DMA控制器访内,控制器访内,C2专供专供CPU访内。如果访内。如果CPU工作周期比内存存取周期长很多,工作周期比内存存取周期长很多,此时采用交替访内的方法可以使此时采用交替访内的方法可以

60、使DMA传送和传送和CPU同时发挥最同时发挥最高的效率,其原理示意图如高的效率,其原理示意图如图图3.32(b)所示。所示。 这这种种方方式式不不需需要要总总线线使使用用权权的的请请求求、建建立立和和归归还还过过程程,总总线线使使用用权权是是通通过过C1C1和和C2C2分分时时控控制制的的,CPUCPU和和DMADMA控控制制器器各各自自有有自自己己的的访访内内地地址址寄寄存存器器、数数据据寄寄存存器器和和读读/ /写写信信号号等等控控制制寄寄存存器。器。 实实际际上上C1C1,C2C2控控制制着着一一个个总总线线的的多多路路转转换换器器,使使控控制制权权的的转转移移几几乎乎不不需需要要太太多

61、多时时间间,CPUCPU既既不不停停止止主主程程序序运运行行,也也不不进进入入等等待待状状态态,是是一一种种高高效效率率的的工工作作方方式式。当当然然,这这是是以以相相应应的硬件逻辑复杂性为代价的。的硬件逻辑复杂性为代价的。 (3) 直接访问和周期挪用直接访问和周期挪用 这这种种传传送送方方式式是是前前两两种种方方式式的的折折衷衷: 当当外外部部设设备备没没有有DMADMA请请求求时时,CPUCPU按按程程序序要要求求访访问问内内存存;一一旦旦设设备备有有DMADMA请请求求,则则挪用一个或几个内存周期进行数据传送。挪用一个或几个内存周期进行数据传送。 外部设备请求外部设备请求DMADMA传送

62、数据时可能遇到两种情况:传送数据时可能遇到两种情况: 一一种种是是CPUCPU不不需需要要访访问问内内存存,如如CPUCPU正正在在执执行行乘乘法法指指令令,由由于于乘乘法法指指令令执执行行时时间间较较长长,此此时时外外部部访访问问内内存存与与CPUCPU访访问问内内存存没没有有冲冲突突,即即外外部部设设备备挪挪用用一一、二二个个内内存存周周期期对对CPUCPU执执行行程程序序没没有有任任何何影影响响。这这种种情情况况也也称称为为DMADMA的的直直接接访访存存工工作作方方式式,是是标准的标准的DMADMA工作方式,工作方式,DMADMA也因此而得名。也因此而得名。 另另一一种种情情况况是是外

63、外部部设设备备访访问问内内存存时时,CPU也也要要访访问问内内存存,这这就就产产生生了了访访问问内内存存冲冲突突。通通常常,让让外外部部设设备备优优先先访访问问内内存存,因因为为外外部部访访问问有有时时间间要要求求,前前一一个个外外部部数数据据必必须须在在下下一一个个访访内内请请求求到到来来之之前前存存取取完完毕毕。这这样样,I/O设设备备挪挪用用了了一一、二二个个内内存周期,存周期,意意味味着着CPU延延缓缓了了对对指指令令的的执执行行,换换句句话话说说,在在CPU执执行行访访内内指指令令的的过过程程中中插插入入DMA请请求求,挪挪用用了了一一、二二个个内内存存周周期期。 图图3.32(c)

64、是周期挪用的是周期挪用的DMA方式示意图方式示意图。 与与暂暂停停CPU访访内内的的DMA方方法法比比较较,周周期期挪挪用用的的方方法法既既实实现现了了I/O传传送送又又较较好好地地发发挥挥了了内内存存和和CPU的的效效率率,是是一一种种广广泛泛采采用用的的方方法法。但但是是每每一一次次周周期期挪挪用用都都需需要要申申请请总总线线控控制制权权、建建立立总总线线控控制制权权和和归归还还总总线线控控制制权权的的过过程程。当当传传送送一一个个字字时时,对对内内存存来来说说只只需需要要一一个个周周期期的的时时间间,而而对对DMA控控制制器器来来说说往往往往要要25个个内内存存周周期期(视视逻逻辑辑线线

65、路路的的延延迟迟而而定定)。通通常常,周周期期挪挪用的方法适用于外部设备读写周期大于内存存储周期的情况。用的方法适用于外部设备读写周期大于内存存储周期的情况。 2. DMA控制器控制器 (1) (1) DMADMA控制字控制字 与与控控制制器器通通过过执执行行机机器器指指令令字字实实现现运运算算一一样样,DMADMA的的工工作作是是通通过过执执行行控控制制字字实实现现的的。控控制制字字存存放放在在内内存存的的指指定定区区域域中中,当当某某设设备备需需要要与与内内存存交交换换一一次次数数据据时时,就就取取出出对对应应的的控控制制字字到到DMADMA中中的的控控制制字字寄寄存存器器中中,由由DMA

66、DMA控控制制器器进进行行分分析析和和执执行行,控制字的一般格式为控制字的一般格式为 CZ N DCZ N D其中:其中: CZCZ表示操作的类型,例如外部设备的启停等控制动作;表示操作的类型,例如外部设备的启停等控制动作; N N表示交换代码的字长数;表示交换代码的字长数; D D表示正在交换代码的内存地址。表示正在交换代码的内存地址。 对于执行输入和输出的控制字来说,每交换一次应修改对于执行输入和输出的控制字来说,每交换一次应修改一下一下D和和N的值,修改在的值,修改在DMA工作的某一节拍里进行。修改后工作的某一节拍里进行。修改后的控制字仍放回内存的特定单元。的控制字仍放回内存的特定单元。

67、 (2) (2) DMADMA控制器的组成控制器的组成 图图3.333.33为为DMADMA系统的框图系统的框图。图中的设备为输入设备。图中的设备为输入设备。 为为了了完完成成取取控控制制字字分分析析控控制制字字执执行行控控制制字字的的过过程程,DMADMA控制器主要应由如下部分组成:控制器主要应由如下部分组成: 内内存存地地址址计计数数器器BABA。它它用用来来存存放放所所需需读读写写的的数数据据的的起起始始地地址址D D。操操作作开开始始时时,存存放放所所要要读读写写的的存存储储字字段段的的首首址址,以以后后每每传传送送一一个个字字,其其内内容容加加1(1(或或减减1)1),以以给给出出下

68、下个个要要传传送送的的字的地址。字的地址。 字字计计数数器器BCBC。用用来来对对要要传传送送的的字字节节数数目目计计数数。在在操操作作开开始始时时,填填入入要要传传送送的的字字节节的的总总数数,即即数数据据块块的的长长度度。它它应应有有减减1 1功功能能,每每传传送送一一个个字字节节,其其内内容容减减1 1,直直到到为为0 0。“0 0”标志着传送结束。标志着传送结束。 状状态态寄寄存存器器或或控控制制寄寄存存器器。用用以以存存放放控控制制字字或或状状态态字字。有有的的使使用用两两个个寄寄存存器器分分别别存存放放。此此外外,还还有有一一些些辅辅助助元元件件,如如数数据据缓缓冲冲寄寄存存器器B

69、DBD、外外部部设设备备地地址址寄寄存存器器、地地址址选选择择器器( (用用以以识识别别总总线线地地址址,控控制制各各设设备备寄寄存存器器的的收收发发) )以以及及中中断断控控制制逻逻辑辑( (预处理和后处理时用预处理和后处理时用) )。 3) 3) DMADMA控制器的操作控制器的操作 DMADMA执行的操作一般应包括:执行的操作一般应包括: 接收外设发出的接收外设发出的DMADMA请求;请求; 向向CPUCPU发发出出DMADMA请请求求,CPUCPU回回答答后后,从从CPUCPU的的控控制制下下对对总总线进行接管;线进行接管; 由由外外部部逻逻辑辑对对存存储储器器寻寻址址,决决定定数数据

70、据传传送送的的地地址址单单元元以及数据传送的长度,并执行数据的传送操作控制;以及数据传送的长度,并执行数据的传送操作控制; 指出指出DMA操作的结束,使操作的结束,使CPU恢复对总线的控制。恢复对总线的控制。 3. DMA传送过程传送过程 DMADMA数数据据传传送送过过程程如如图图3.343.34所所示示,可可分分为为三三个个阶阶段段: DMADMA传送前预处理、数据传送及传送后处理。传送前预处理、数据传送及传送后处理。 图图3.34DMA传送过程传送过程 (1) (1) DMADMA预处理预处理 DMADMA预预处处理理是是由由程程序序做做的的一一些些必必要要的的准准备备工工作作: 先先由

71、由CPUCPU执执行行几几条条I/OI/O指指令令,测测试试设设备备状状态态;向向DMADMA控控制制器器的的设设备备地地址址寄寄存存器器中中送送入入设设备备号号并并启启动动设设备备;在在内内存存地地址址计计数数器器BABA中中送送入入交交换换数数据据的的起起始始地地址址,在在数数据据字字数数计计数数器器BCBC中中送送入入交交换换的的数据个数。在这些工作完成之后,数据个数。在这些工作完成之后,CPUCPU继续执行原来的程序。继续执行原来的程序。 外外部部设设备备准准备备好好发发送送的的数数据据( (输输入入) )或或上上次次接接收收的的数数据据已已处处理理完完毕毕( (输输出出) )时时,将

72、将通通知知DMADMA控控制制器器发发出出DMADMA请请求求,申申请请主主存存总总线线。当当有有几几个个DMADMA申申请请时时,要要按按轻轻重重缓缓急急用用硬硬件件排排队队线线路路按按预预定定优优先先级级别别排排队队。DMADMA得得到到主主存存总总线线控控制制权权后后,即即可可开开始始数据传送。数据传送。 (2) 数据输入输出操作数据输入输出操作 DMA的数据传送可以以字为基本单位,也可以以数据块的数据传送可以以字为基本单位,也可以以数据块为基本单位进行。以数据块为基为基本单位进行。以数据块为基本单位传送时,每次本单位传送时,每次DMADMA占用占用总线后的数据输入和输出操作都是循环实现

73、的。总线后的数据输入和输出操作都是循环实现的。 输输入入操操作作,首首先先从从外外部部设设备备的的存存储储介介质质(缓缓冲冲寄寄存存器器)读读入入一一个个字字( (设设每每字字1616位位) )到到DMADMA数数据据缓缓冲冲寄寄存存器器BDBD中中( (如如果果设设备备是是面面向向字字节节的的,一一次次读读入入一一个个字字节节,需需要要将将两两个个字字节节装装配配成成一一个个字字) )。这这时时,将将DMADMA地地址址计计数数器器BABA的的内内容容送送主主存存地地址址寄寄存存器器,将将BDBD中中的的字字送送入入主主存存数数据据寄寄存存器器,启启动动写写操操作作;BABA的的内内容容增增

74、值值为为下下一一个个字字地地址址,数数据据字字数数寄寄存存器器BCBC的的内内容容减减1 1。若若BCBC中中内内容容为为零零,则则传传送送停停止止,置置数数据据块块结结束束标标志志,向向CPUCPU发发中中断请示;否则,进入下一个输入循环。断请示;否则,进入下一个输入循环。 输输出出操操作作。首首先先将将DMADMA内内存存地地址址计计数数器器BABA的的内内容容送送主主存存地地址址寄寄存存器器,启启动动主主存存读读操操作作;将将主主存存数数据据寄寄存存器器内内容容送送DMADMA数数据据缓缓冲冲寄寄存存器器BDBD中中;将将数数据据缓缓冲冲寄寄存存器器BDBD中中的的一一个个字字经经过过拆

75、拆卸卸输输出出到到I/OI/O设设备备的的存存储储介介质质上上;BABA的的内内容容增增值值到到下下一一个个字字地地址址;字字计计数数器器BCBC减减1 1,直直到到BCBC内内容容为为零零,传传送送停停止止,向向CPUCPU发发“DMADMA结束结束”中断请示,否则进入下一个输出循环。中断请示,否则进入下一个输出循环。 (3) DMA后处理后处理 一旦一旦DMA的中断请求得到响应,的中断请求得到响应,CPU便暂停原来程序的便暂停原来程序的执行,转去执行中断服务程序,做一些执行,转去执行中断服务程序,做一些DMA的结束处理工作。的结束处理工作。这些工作常常包括校验送入主存的数据是否正确,决定是

76、继这些工作常常包括校验送入主存的数据是否正确,决定是继续用续用DMA方式传送下去还是结束传送等。方式传送下去还是结束传送等。 4. DMA小结小结 与中断控制相比,与中断控制相比,DMADMA控制有如下特点:控制有如下特点: (1) (1) 中中断断方方式式是是通通过过程程序序切切换换进进行行,CPUCPU要要停停止止执执行行现现行行程程序序转转去去执执行行中中断断服服务务子子程程序序,在在这这一一段段时时间间内内,CPUCPU只只为为外外设设服服务务。DMADMA控控制制是是硬硬件件切切换换,CPUCPU不不直直接接干干预预数数据据交交换换过过程程,只只是是在在开开始始和和结结束束时时借借用

77、用一一点点CPUCPU的的时时间间,大大大大提提高高了了CPUCPU的的利用率,系统的并行性较高。利用率,系统的并行性较高。 (2) (2) 对对中中断断的的响响应应只只能能在在一一条条指指令令执执行行完完成成时时进进行行,而而对对DMADMA的的响响应应可可以以在在指指令令周周期期的的任任何何一一个个机机器器周周期期( (存存取取周周期期) )结结束时进行,如束时进行,如图图3.353.35所示。所示。 (3) (3) 中中断断具具有有对对异异常常事事件件的的处处理理能能力力,而而DMADMA模模式式主主要要用用于于需需要要大大批批量量数数据据传传送送的的系系统统中中,如如磁磁盘盘存存取取、

78、图图像像处处理理、高高速速数数据据采采集集系系统统、同同步步通通信信中中的的收收发发信信号号等等方方面面,可可以以提提高高数数据据吞吞吐吐量量。有有的的系系统统(如如IBM IBM PC/XTPC/XT),采采用用DMADMA技技术术进进行存储器的动态刷新。行存储器的动态刷新。3.2.4通道控制通道控制 DMADMA直直接接依依靠靠硬硬件件进进行行管管理理,只只能能实实现现简简单单的的数数据据传传送送。随随着着系系统统配配置置的的I/OI/O设设备备的的不不断断增增加加,输输入入输输出出操操作作日日益益繁繁忙忙,为为此此要要求求CPUCPU不不断断地地对对各各个个DMADMA进进行行预预置置。

79、这这样样,CPUCPU用用于于管管理理输输入入输输出出的的开开销销亦亦日日益益增增加加。为为了了减减轻轻CPUCPU负负担担,I/OI/O控控制制部部件件又又把把诸诸如如选选设设备备、切切换换、启启动动、终终止止以以及及数数码码校校验验等等功功能能也也接接过过来来,进进而而形形成成I/OI/O通通道道,实实现现输输入入输输出出操操作作的的较较全全面面管管理。理。 通通道道已已经经有有了了简简单单的的通通道道指指令令,可可以以在在一一定定的的硬硬件件条条件件下,通过执行通道程序进行下,通过执行通道程序进行I/OI/O过程的控制。过程的控制。 通通道道结结构构的的弹弹性性比比较较大大,可可以以根根

80、据据需需要要加加以以简简化化或或增增强强。早早期期的的通通道道虽虽可可以以独独立立地地执执行行通通道道程程序序,但但还还没没有有完完整整的的指指令令系系统统,仍仍需需借借助助CPUCPU协协同同才才能能实实现现控控制制与与处处理理。这这种种通通道道基基本本上上仍仍可可看看作作主主机机的的一一部部分分。后后来来,通通道道结结构构的的功功能能进进一一步步增增强强,具具有有了了完完整整的的逻逻辑辑结结构构,形形成成与与主主CPUCPU并并行行工工作作的的I/OI/O处处理理器器( (IOP)IOP)。主主CPUCPU将将I/OI/O操操作作方方式式与与内内容容存存入入主主存存,用用命命令令通通知知I

81、OPIOP并并由由IOPIOP独独立立地地管管理理I/OI/O操操作作,需需要要时时,CPUCPU可可对对IOPIOP进进行行检检测测,终终止止IOPIOP操操作作。图图3.363.36为为IBM IBM 43004300系系统统的的I/OI/O结结构构图图。它它形形成成一一种种4 4级级连连接接: CPUCPU与与主主存存通通道道设设备备控控制制器器外外部部设设备备。其其中中,选选择择通通道道、字字节节多多路路通通道道、数数组组多多路路通通道道是是3 3种种通道类型。通道类型。 1. 1. 通道控制原理通道控制原理 通通道道是是一一种种比比DMADMA更更高高级级的的I/OI/O控控制制部部

82、件件,具具有有更更强强的的独独立立处处理理数数据据输输入入输输出出的的功功能能,能能同同时时控控制制多多台台同同类类型型或或不不同同类类型型的的设设备备。它它在在一一定定的的硬硬件件基基础础上上利利用用通通道道程程序序实实现现对对I/OI/O的控制,更多地免去了的控制,更多地免去了CPUCPU的介入,使系统的并行性更高。的介入,使系统的并行性更高。 (1) 通道指令和通道程序通道指令和通道程序 和和别别的的处处理理机机一一样样,通通道道的的功功能能是是通通过过解解释释并并执执行行由由它它特特有有的的通通道道指指令令组组成成的的通通道道程程序序实实现现对对外外部部设设备备的的控控制制。在在不不同

83、同的的机机器器中中通通道道指指令令的的设设置置是是不不同同的的,不不过过最最基基本本的的部部分分都都相相差差不不多多,例例如如一一般般都都有有“读读”、“写写”等等等等。通通道道指指令令除除要要指指出出做做读读或或写写动动作作之之外外,还还要要指指出出被被传传输输数数据据在在内内存存中中的开始的开始地地址址以以及及传传送送数数据据的的个个数数等等。通通道道独独立立于于CPU,其其指指令令往往往往用用两两个个或或几几个个字字组组成成一一道道通通道道指指令令,通通常常称称为为通通道道控控制制字字或或通道命令字通道命令字(CCW)。下面是由两个字组成的通道指令格式:下面是由两个字组成的通道指令格式:

84、 第一字第一字: 命令码命令码 数据地址数据地址 第二字:第二字: 标标 志志 传送个数传送个数 传传送送个个数数在在较较通通用用的的计计算算机机系系统统中中设设置置了了一一组组功功能能较较强强的的通通道道指指令令,组组成成通通道道指指令令系系统统。有有了了这这种种指指令令系系统统,人人们们便便可可以以按按照照程程序序设设计计的的方方法法,根根据据使使用用外外部部设设备备的的需需要要,编编写写通通道道程程序序。通通过过中中央央处处理理机机执执行行输输入入输输出出指指令令,把把通通道道程程序序交交给给通通道道去去解解释释执执行行。执执行行完完这这个个通通道道程程序序,就就完完成成了了该该次次传输

85、操作的全过程。早期的通道程序存放在主机的传输操作的全过程。早期的通道程序存放在主机的主主存存中中,即即通通道道与与CPU共共用用主主存存。后后来来,一一些些计计算算机机为为通通道道配置了局部存储器,进一步提高了通道与配置了局部存储器,进一步提高了通道与CPU工作的并行性。工作的并行性。 (2) 输入输出指令输入输出指令 引引进进了了通通道道,输输入入输输出出工工作作虽虽然然可可以以独独立立于于中中央央处处理理机机进进行行,但但通通道道的的工工作作还还必必须须听听从从中中央央处处理理机机的的统统一一调调度度。为为此此,现现代代的的计计算算机机系系统统中中,中中央央处处理理机机设设有有“输输入入输

86、输出出”指指令令,常常见见的的该该类类指指令令有有“启启动动”、“查查询询”和和“停停止止”等等。中中央央处处理理机机可可以以用用“启启动动”指指令令启启动动通通道道,要要求求输输入入输输出出设设备备完完成成某某种种操操作作或或数数据据传传输输;可可用用“查查询询”指指令令了了解解和和查查询询输输入入输输出出设设备备的的状状态态及及工工作作情情况况;用用“停停止止”指指令令停停止止输输入入输输出出设备的工作。设备的工作。 输入输出指令应给出通道开始工作所需的全部参数,如输入输出指令应给出通道开始工作所需的全部参数,如通道执行何种操作,在哪一个通道和设备上进行操作等。输通道执行何种操作,在哪一个

87、通道和设备上进行操作等。输入输出指令和中央处理机其他指令形式相同,由操作码和地入输出指令和中央处理机其他指令形式相同,由操作码和地址码组成,操作码表示执行何种操作,地址码用来表示通道址码组成,操作码表示执行何种操作,地址码用来表示通道和设备的编码。通道程序的首地址可在执行输入输出指令前和设备的编码。通道程序的首地址可在执行输入输出指令前预先送入约定内存单元或专用寄存器。下面是一种计算机的预先送入约定内存单元或专用寄存器。下面是一种计算机的输入输出指令格式:输入输出指令格式: 操作码操作码 地址码地址码 通道号通道号 设备号设备号 (3) (3) 输入输出中断输入输出中断 中中央央处处理理机机启

88、启动动通通道道后后,通通道道和和外外部部设设备备将将独独立立地地进进行行工工作作。通通道道和和输输入入输输出出设设备备采采用用“中中断断”的的方方式式及及时时向向中中央央处处理机报告其工作情况,中央理机报告其工作情况,中央处处理理机机根根据据报报告告作作相相应应处处理理。这这种种中中断断称称为为输输入入输输出出中中断断,又称外设中断。又称外设中断。 输入输出中断可分下面几种:输入输出中断可分下面几种: 报告某操作正常结束的报告某操作正常结束的“正常结束正常结束”中断;中断; 报报告告输输入入输输出出操操作作已已经经到到达达预预定定环环节节的的“进进程程中中断断”; 输入输出设备发现的输入输出设

89、备发现的“故障中断故障中断”; 人对输入输出设备发出干预的人对输入输出设备发出干预的“干预中断干预中断”等等。等等。 2. 2. 通道的功能通道的功能 通道对外部设备实现管理和控制应有如下功能:通道对外部设备实现管理和控制应有如下功能: 接接受受中中央央处处理理机机的的输输入入输输出出指指令令,确确定定要要访访问问的的子子通通道及外部设备;道及外部设备; 根根据据中中央央处处理理机机给给出出的的信信息息,从从内内存存(或或专专用用寄寄存存器器)中中读读取取子子通通道道的的通通道道指指令令,并并分分析析该该指指令令,向向设设备备控控制制器器和和设备发送工作命令;设备发送工作命令; 对对来来自自各

90、各子子通通道道的的数数据据交交换换请请求求,按按优优先先次次序序进进行行排排队,实现分时工作;队,实现分时工作; 根根据据通通道道指指令令给给出出的的交交换换代代码码个个数数和和内内存存始始址址以以及及设设备中的区域,实现外部设备和内存之间的代码传送;备中的区域,实现外部设备和内存之间的代码传送; 将将外外部部设设备备的的中中断断请请求求和和子子通通道道的的中中断断请请求求进进行行排排队队,按优先次序送往中央处理机,回答传送情况;按优先次序送往中央处理机,回答传送情况; 控控制制外外部部设设备备执执行行某某些些非非信信息息传传送送的的控控制制操操作作,如如磁磁带机的引带等;带机的引带等; 接接

91、收收外外部部设设备备的的状状态态信信息息,保保存存通通道道状状态态信信息息,并并可可根据需要将这些信息传送到主存指定单元中。根据需要将这些信息传送到主存指定单元中。 3. 3. 通道的基本构造通道的基本构造 下下面面以以具具有有较较完完备备功功能能的的通通道道为为例例,介介绍绍基基本本通通道道的的构构造造形形式式。图图3.373.37给给出出了了通通道道基基本本部部分分的的组组成成( (图图中中虚虚线线内内的的部部分分属属于于通通道道) )。可可以以看看出出,通通道道已已是是一一个个较较完完整整的的处处理理机机,它它与与中央处理机的区别仅在于它是一个专用处理机。中央处理机的区别仅在于它是一个专

92、用处理机。 图图3.373.37通道的组成通道的组成 下面对图中的主要部件作简要介绍。下面对图中的主要部件作简要介绍。 (1) 通道指令寄存器通道指令寄存器JZ: 用来存放正在执行的通道指令。用来存放正在执行的通道指令。 (2) (2) 代代码码缓缓冲冲寄寄存存器器JNJN: 是是外外部部设设备备与与内内存存进进行行代代码码交交换时暂存被交换代码的寄存器。换时暂存被交换代码的寄存器。 (3) (3) 节节拍拍发发生生器器: 和和中中央央处处理理机机脉脉冲冲( (节节拍拍) )分分配配器器一一样样,产生通道工作的节拍,控制整个通道有序地工作。产生通道工作的节拍,控制整个通道有序地工作。 (4)

93、(4) 操操作作控控制制器器: 根根据据通通道道指指令令所所规规定定的的操操作作或或排排队队结结果,按通道节拍产生通道微操作。果,按通道节拍产生通道微操作。 (5) (5) 传传输输控控制制电电路路: 控控制制并并传传输输外外部部设设备备和和通通道道之之间间的的代码及信号。代码及信号。 (6) (6) 排排队队器器: 根根据据预预先先确确定定的的优优先先次次序序,对对各各子子通通道道提提出出的的请请求求进进行行排排队队,确确定定通通道道下下一一次次和和哪哪一一个个子子通通道道的的外外部部设设备备进进行行交交换换,每每次次都都是是让让优优先先级级高高的的先先进进行行交交换换。排排队队器器加加上上

94、子子通通道道的的记记忆忆部部件件,就就能能实实现现通通道道逐逐个个地地启启动动子子通通道道进进行行工工作作。图图中中排排队队器器和和各各设设备备控控制制器器的的连连线线表表示示子子通通道道。右右边边设设备备控控制制器器与与中中央央处处理理机机以以及及与与传传输输控控制制电电路路之之间间的的连连线线,是是所所有有设设备备控控制制器器都都有有的的,为为清清楚楚起起见见图图中中予予以以省省略略,并并用用虚线所指的圆圈表示被排队器选中的设备。虚线所指的圆圈表示被排队器选中的设备。 (7) 地址形成电路:地址形成电路: 是根据排队器给出的子通道号确定是根据排队器给出的子通道号确定与该子通道对应的通道程序

95、的指令地址的装置。它相当于中与该子通道对应的通道程序的指令地址的装置。它相当于中央处理机的程序计数器。央处理机的程序计数器。 4. 4. 通道控制的工作过程通道控制的工作过程 电电子子计计算算机机系系统统执执行行一一次次输输入入输输出出操操作作,大大体体要要经经过过启启动,传输和结束三个阶段,基本步骤如下。动,传输和结束三个阶段,基本步骤如下。 中央处理机执行输入输出指令中央处理机执行输入输出指令 当当程程序序执执行行到到需需要要输输入入输输出出时时,由由专专门门的的外外设设管管理理程程序序将将本本次次输输入入输输出出的的各各种种主主要要信信息息准准备备好好,根根据据输输入入输输出出的的具具体

96、体要要求求,组组织织好好通通道道程程序序,存存入入内内存存,并并将将它它的的首首地地址址送送入入约约定定单单元元或或专专用用寄寄存存器器中中,然然后后执执行行输输入入输输出出指指令令,向向通通道道发出发出“启动启动I/OI/O”命令。命令。 通道控制外部设备进行传输通道控制外部设备进行传输 通道接到通道接到“启动启动I/OI/O”命令后进行以下工作:命令后进行以下工作: 从约定的单元或专用寄存器中取得通道程序首地址,并从约定的单元或专用寄存器中取得通道程序首地址,并检查其是否正确。检查其是否正确。 根据这个首地址从内存读取第一条通道指令。根据这个首地址从内存读取第一条通道指令。 检检查查通通道

97、道、子子通通道道的的状状态态是是否否能能使使用用。如如果果不不能能使使用用,则形成结果特征,回答启动失败,该通道指令无效。则形成结果特征,回答启动失败,该通道指令无效。 如如果果该该通通道道和和子子通通道道能能够够使使用用,就就把把第第一一条条通通道道指指令令的的命命令令码码发发到到响响应应设设备备进进行行启启动动。等等到到设设备备回回答答并并断断定定启启动动成成功功后后,建建立立结结果果特特征征“已已启启动动成成功功”;否否则则建建立立结结果果特特征征“启动失败启动失败”,结束操作。,结束操作。 启动成功后,通道将通道程序首地址保留到子通道中,启动成功后,通道将通道程序首地址保留到子通道中,

98、此时通道可以处理其他工作,设备具体执行通道指令规定的此时通道可以处理其他工作,设备具体执行通道指令规定的操作。操作。 若若是是传传送送数数据据操操作作,设设备备便便依依次次按按自自己己的的工工作作频频率率发发出出使使用用通通道道的的申申请请,进进行行排排队队。通通道道响响应应设设备备申申请请,将将数数据据从从内内存存经经通通道道发发至至设设备备,或或反反之之。当当传传输输完完一一个个数数据据后后,通通道道修修改改内内存存地地址址( (加加1)1)和和传传输输个个数数( (减减1)1),直直至至要要传传输输个个数数达达到到0 0为止,结束该条通道指令的执行。为止,结束该条通道指令的执行。 通道指

99、令执行结束及输入输出结束通道指令执行结束及输入输出结束 当设备全部完成一条通道指令规定的操作时,便发出当设备全部完成一条通道指令规定的操作时,便发出“设备结束设备结束”信号,表示该条通道指令确定的传输已经结束,信号,表示该条通道指令确定的传输已经结束,对应子通道可再往下执行一条新的指令。如果执行完的通道对应子通道可再往下执行一条新的指令。如果执行完的通道指令不是该通道程序中最后一条指令,子通道进入通道请求指令不是该通道程序中最后一条指令,子通道进入通道请求排队。通道响应该请求后,将保留在子通道中的通道指令地排队。通道响应该请求后,将保留在子通道中的通道指令地址更新,指向下一条通道指令,并再次从

100、内存读取新的一条址更新,指向下一条通道指令,并再次从内存读取新的一条 通道指令。一般每取出一条新的通道指令,就将命令码通过通道指令。一般每取出一条新的通道指令,就将命令码通过子通道发往设备继续进行传输。子通道发往设备继续进行传输。 如如果果结结束束的的通通道道指指令令是是通通道道程程序序的的最最后后一一条条,那那么么这这个个设设备备的的结结束束信信号号使使通通道道引引起起输输入入输输出出中中断断,通通知知中中央央处处理理机机,本通道程序执行完毕,输入输出操作全部结束。本通道程序执行完毕,输入输出操作全部结束。 当当中中央央处处理理机机响响应应中中断断后后,程程序序可可以以根根据据通通道道状状态

101、态,分分析析结束原因并进行必要的处理。结束原因并进行必要的处理。 5. 5. 通道类型通道类型 通道装置按它的操作方式可以分成以下通道装置按它的操作方式可以分成以下3类:类: (1) 字节多路通道字节多路通道 字节多路通道字节多路通道(multiplexor channel)是一种简单的低速共是一种简单的低速共享通道,在时间分割的基础上,服务于多台享通道,在时间分割的基础上,服务于多台 低低速速和和中中速速外外部部设设备备。字字节节多多路路通通道道包包括括多多个个子子通通道道,每每个个子子通通道道服服务务于于一一个个设设备备控控制制器器,可可以以独独立立地地执执行行通通道道指指令令。字字节节多

102、多路路通通道道要要求求每每种种设设备备轮轮流流占占用用一一个个很很短短的的时时间间片片,不不同同的的设设备备在在各各自自分分行行的的时时间间片片内内与与通通道道在在逻逻辑辑上上建建立立不不同同的的传输连接,实现数据的传送。传输连接,实现数据的传送。 (2) (2) 选择通道选择通道 选选择择通通道道是是一一种种高高速速通通道道,在在物物理理上上它它可可以以连连接接多多个个设设备备,但但这这些些设设备备不不能能同同时时工工作作。每每次次只只能能从从所所连连接接的的设设备备中中选选择择一一台台I/OI/O设设备备的的通通道道程程序序,此此刻刻该该通通道道程程序序独独占占了了整整个个通通道道,当当它

103、它与与内内存存交交换换完完数数据据后后,才才能能转转去去执执行行另另一一个个设设备备的的通通道道程程序序,为为另另一一台台设设备备服服务务。因因此此连连接接在在选选择择通通道道上上的的若若干干设设备备,只只能能依依次次使使用用通通道道与与内内存存传传送送数数据据。数数据据传传送送以以成成组组( (数数据块据块) )方式进行,每次传送一个数据块,因此方式进行,每次传送一个数据块,因此 传传送送速速率率很很高高。选选择择通通道道多多适适合合于于快快速速设设备备,如如固固定定头头磁磁盘盘等。等。 (3) (3) 数组多路通道数组多路通道 数数组组多多路路通通道道是是对对选选择择通通道道的的改改进进,

104、它它的的基基本本前前提提是是当当某某设设备备进进行行数数据据传传送送时时,通通道道只只为为该该设设备备服服务务;当当设设备备在在执执行行寻寻址址等等控控制制动动作作时时,通通道道暂暂时时断断开开与与这这个个设设备备的的连连接接,挂挂起起设设备备的的通通道道程程序序,去去为为其其他他设设备备服服务务,即即执执行行其其他他设设备备的的通通道道程程序序。所所以以数数组组多多路路通通道道很很像像一一个个多多道道程程序序的的处处理理器器。它它有有多多个个子子通通道道,既既可可以以执执行行多多路路通通道道程程序序,像像字字节节多多路路通通道道那那样样使使所所有有子子通通道道分分时时共共享享总总通通道道,又

105、又可可以以像像选选择择通通道道那那样样的的方方式式传传送送数数据据。如如对对于于磁磁盘盘这这样样的的外外部部设设备备,虽虽然然传传输输信信息息很很快快,但但移移臂臂定定位位时时间间很很长长,如如果果接接在在选选择择通通道道上上,那那么么,通道很难承受通道很难承受 这这样样高高的的传传输输速速率率,在在磁磁盘盘移移动动臂臂花花费费的的较较长长时时间间里里,通通道道只只能能空空等等。数数组组多多路路通通道道可可以以解解决决这这个个矛矛盾盾。它它允允许许通通道道上上连连接接的的若若干干台台外外部部设设备备同同时时进进行行控控制制操操作作,例例如如几几台台磁磁盘盘机机可可以以同同时时进进行行移移臂臂操

106、操作作,但但是是,只只允允许许一一台台被被选选中中设设备备按按成成组组方方式式进进行行数数据据传传输输操操作作。因因此此,对对于于连连接接在在数数组组多多路路通通道道上上的的若若干干台台磁磁盘盘机机,可可以以启启动动它它们们同同时时进进行行移移臂臂,查查找找要要访访问问的的扇扇区区,然然后后按按查查找找完完毕毕的的先先后后次次序序串串行行地地传传输输一一批批批批信信息息。这这样样就就避避免免了移臂操作过长地占用通道。了移臂操作过长地占用通道。 对一些小型计算机,为了节省硬件开销,往往不采用独立对一些小型计算机,为了节省硬件开销,往往不采用独立的通道装置,让中央处理机和通道共用某些硬件。这种通道

107、称的通道装置,让中央处理机和通道共用某些硬件。这种通道称为结合型。结合型通道与中央处理机不能并行工作,但是中央为结合型。结合型通道与中央处理机不能并行工作,但是中央处理机与外部设备仍然可以并行工作。处理机与外部设备仍然可以并行工作。 控制控制公用寄存器公用寄存器0忙忙10就绪就绪1动作开始动作开始动作结束动作结束交换数据交换数据数据缓冲寄存器数据缓冲寄存器设备设备选择选择数据总线数据总线地址总线地址总线CPU接口接口设备设备置置”1”置置”0”“准备好准备好”(1)(6)(5)(2)(3)(5)(4)图图3.21 程序查询方式的程序查询方式的I/O控制器示意图控制器示意图返回主程序执行主程序执

108、行CPU的其他工作的其他工作启动打印机启动打印机中断服务子程序中断服务子程序(数据传送数据传送)中断服务子程序中断服务子程序(数据传送数据传送)响响应应中中断断中中断断返返回回响响应应中中断断中中断断返返回回(a)CPU工作状况工作状况交换数据交换数据交换数据交换数据中中断断请请求求中中断断请请求求空闲空闲准备准备打印打印打印打印(b) 打印机工作状况打印机工作状况 图图 3.22 CPU对打印机的中断服务对打印机的中断服务返回I / O1I / O2I / OnI NTR1I NTR2I NTRnI NTCPUI / O1I / O2I / OnI NTR1I NTR2I NTRnI NTC

109、PUI NTA1(a) 多线中断多线中断(b) 单线中断单线中断图图 3.23 中断请求中断请求返回INTR0INTR0INTR1INTR21&INTR21&INTR1&INTA&1INTR1&1INTR2&1INTR3&1INTR41INT至下一级至下一级允许中断允许中断1允许中断允许中断2允许中断允许中断3允许中断允许中断4(a)独独立立请请求求线线的的中中断断排排队队线线路路(b)串串行行优优先先链链中中断断排排队队线线路路图图3.24中中断断排排队队线线路路返回&IM01IR10IR图图 3.25 中断屏蔽中断屏蔽返回指令顺序指令顺序KDIEIL响应中断响应中断不响应中断不响应中断响应

110、中断响应中断图图 3.26 中断的禁止与开放中断的禁止与开放返回中断入口地址中断入口地址1中断入口地址中断入口地址2中断入口地址中断入口地址3.中断服务程序中断服务程序1中断服务程序中断服务程序2.中断向量寄存器中断向量寄存器中中断断向向量量表表图图 3.27 向量中断向量中断返回关中断关中断返回断点返回断点开中断开中断关中断关中断开中断开中断保存断点、保存现场保存断点、保存现场判断中断条件判断中断条件转入中断服务程序转入中断服务程序执行中断服务程序执行中断服务程序恢复现场、恢复断点恢复现场、恢复断点图图 3.28 中断处理流程中断处理流程返回返回转入中断服务程序转入中断服务程序屏蔽低级中断(

111、置屏蔽寄存器)屏蔽低级中断(置屏蔽寄存器)IEN 0 保存中断现场:保存中断现场: M R开放中断:开放中断:IEN 1根据引起中断的原因转相应处理程序根据引起中断的原因转相应处理程序中断处理程序主体中断处理程序主体封锁中断:封锁中断:IEN 0恢复本次中断现场:恢复本次中断现场:R MIRRi 0开放低级中断(解除屏蔽)开放低级中断(解除屏蔽)开放中断:开放中断:IEN 1执行返回指令执行返回指令起起始始部部分分结结尾尾部部分分图图 3.30 中中断断服服务务程程序序的的一一般般结结构构返回返回内存工作时间内存工作时间CPU控制控制并使用内存并使用内存DMA控制控制并使用内存并使用内存DMA

112、不访问不访问CPU不执行程序不执行程序DMA访问访问DMA不访问不访问t(a) CPU停止访问内存停止访问内存返回返回返回返回预处理:预处理: 内存起始地址内存起始地址 DMA设备地址设备地址 DMA传送数据个数传送数据个数 DMA启动设备启动设备 数据传送:数据传送: 继续执行主程序继续执行主程序 同时完成一批数据传送同时完成一批数据传送 后处理:后处理: 中断服务程序中断服务程序 做做DMA结束处理结束处理 继续执行主程序继续执行主程序 CPU允许传送?允许传送?主存地址送总线;主存地址送总线; 数据送数据送I / O设备设备(或主存或主存);主存地址主存地址+1; BC内容内容(传送个数

113、传送个数)减减1 数据块数据块 传送结束?传送结束?向向CPU申请程序中断申请程序中断DMA请求请求YNNY(a) DMA传送传送(b) 数据传送阶段的细化数据传送阶段的细化图图 3.34 DMA传送过程传送过程返回CPU工作工作取指令取指令取源操作数取源操作数取目的操作数取目的操作数执行执行一个指令周期一个指令周期DMA允许响应时刻允许响应时刻中断允许响应时刻中断允许响应时刻图图 3.35 DMA与中断响应时刻的比较与中断响应时刻的比较返回存储器管理部件存储器管理部件CPU内存内存选择通道选择通道磁盘磁盘控制器控制器磁盘磁盘控制器控制器磁盘磁盘磁盘磁盘磁盘磁盘磁盘磁盘I / O总线总线字节多字节多路通道路通道设备设备控制器控制器设备设备控制器控制器设备设备设备设备设备设备I / O总线总线数组多数组多路通道路通道设备设备控制器控制器设备设备控制器控制器设备设备设备设备设备设备I / O总线总线图图3.36 IBM 4300 系统系统I / O结构结构返回返回

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号