第八章计算机组成原理输入输出系统_第1页
第八章计算机组成原理输入输出系统_第2页
第八章计算机组成原理输入输出系统_第3页
第八章计算机组成原理输入输出系统_第4页
第八章计算机组成原理输入输出系统_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1页页第八章 输入/输出系统本章要求:本章要求:1. 1. 了解了解I/OI/O系统的一些基本概念;系统的一些基本概念;2 2 中断方式处理过程;中断方式处理过程;3 3 DMADMA方式及通道方式基本概念。方式及通道方式基本概念。第第2页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 输入输出(输入输出(I/O)系统包括输入输出设备、设备控制器及)系统包括输入输出设备、设备控制器及与输入输出操作有关的软硬件。与输入输出操作有关的软硬件。 输入输出系统结构设计的好坏会直接影响计算机系统的输入输出系统结构设计的好坏会直接影响计算机系统的性能,不仅影响输入输出速度,

2、各用户从程序送入到运算结性能,不仅影响输入输出速度,各用户从程序送入到运算结果输出的时间,果输出的时间,CPU、主存的利用率,还会影响到整个、主存的利用率,还会影响到整个I/O系系统的兼容性、可扩展性、综合处理能力和性能价格比等。统的兼容性、可扩展性、综合处理能力和性能价格比等。 输入输出系统的发展经历了四个阶段,即程序控制输入输出系统的发展经历了四个阶段,即程序控制I/O方方式(包括程序查询方式、程序中断方式)、直接存储器访问式(包括程序查询方式、程序中断方式)、直接存储器访问(DMA)及通道方式。它们可以分别作用于不同的计算机系)及通道方式。它们可以分别作用于不同的计算机系统,也可用于同一

3、系统。统,也可用于同一系统。 8.1 输入输出系统概念输入输出系统概念第第3页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理接口的概念接口的概念 接口是处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。所谓的外部世界是指除CPU本身以外的所有设备或电路,包括存储器、I/O设备、控制设备、测量设备、通讯设备、多媒体设备等。 一个能够实际运行的接口,应由硬件和软件两部分组成。从使用角度来看,接口的硬件部分应包括有: 基本逻辑电路基本逻辑电路 端口地址译码电路端口地址译码电路 供选电路供选电路第第4页页第八章第八章 输入输入/ /输出系统输出系统计

4、算机组成原理计算机组成原理为什么要在为什么要在CPU与外设之间设置接口电路?与外设之间设置接口电路? 有几个方面的原因:有几个方面的原因: 一是一是CPU与外设两者的信号线不兼容,在信号线功能与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致;定义、逻辑定义和时序关系上都不一致; 二是两者的工作速度不一致,一般来说,二是两者的工作速度不一致,一般来说,CPU速度高,速度高,而不同外设速度有高有低,差异很大;而不同外设速度有高有低,差异很大; 三是若不通过接口,而由三是若不通过接口,而由CPU直接对外设的操作实施直接对外设的操作实施控制,就会使控制,就会使CPU疲于与外设打

5、交道之中,大大降低疲于与外设打交道之中,大大降低CPU的效率;的效率; 四是若外部设备直接由四是若外部设备直接由CPU控制,也使外设的硬件结控制,也使外设的硬件结构依赖于构依赖于CPU,对外设发展不利。,对外设发展不利。 第第5页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 (1)对传送数据提供缓冲、隔离和寄存)对传送数据提供缓冲、隔离和寄存 由于由于I/O设备与设备与CPU的定时标准不同,数据处理速度也不同,所以需的定时标准不同,数据处理速度也不同,所以需要对传送数据提供缓冲、隔离和寄存(或锁存)。要对传送数据提供缓冲、隔离和寄存(或锁存)。 (2)对信号的形式

6、和数据的格式进行转换)对信号的形式和数据的格式进行转换 计算机与计算机与I/O设备所用的信号的形式和数据的格式可能不同,设备所用的信号的形式和数据的格式可能不同,I/O接接口应能进行相互之间的转换。口应能进行相互之间的转换。 (3)对)对I/O端口进行寻址端口进行寻址 I/O接口实际上都会包含若干个接口实际上都会包含若干个I/O端口。从编程的角度,和端口。从编程的角度,和I/O设备设备打交道实际是和打交道实际是和I/O端口打交道。每一个端口打交道。每一个I/O端口有一个编号,称为端口有一个编号,称为端口地端口地址址,简称口地址。,简称口地址。 (4)与)与CPU和和I/O设备进行联络设备进行联

7、络 I/O接口处于接口处于CPU和和I/O设备的中间,在传送数据时,经常要在两个设备的中间,在传送数据时,经常要在两个方向上进行联络,即接口电路既要面向方向上进行联络,即接口电路既要面向CPU进行联络,又要面向进行联络,又要面向I/O设备设备进行联络。进行联络。 I/O接口的功能接口的功能第第6页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 端口有二种编址方式: 统一编址统一编址 端口地址和存储器地址统一编址。在这种编址方式中,I/O端口和内存单元统一编址,即把I/O端口当作内存单元对待,从整个内存空间中划出一个子空间给I/O端口,每一个I/O端口分配一个地址码,

8、用访问存储器的指令对I/O端口进行操作。 优点优点:I/O端口的数目几乎不受限制;访问内存指令均适用于I/O端口,对I/O端口的数据处理能力强。 缺点缺点:程序中I/O操作不清晰,难以区分程序中的I/O操作和存储器操作;I/O端口占用了一部分内存空间;I/O端口地址译码电路较复杂。 独立编址独立编址 I/O端口编址和存储器的编址相互独立,即I/O端口地址空间和存储器地址空间分开设置,互不影响。该方式下,只能使用输入输出指令。 优点优点:不占用内存空间;使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单。 缺点缺点:只能用专门的I/O指令,访问端口的方法不如存储器的

9、方法多。端口地址编址方式端口地址编址方式第第7页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理I/O设备数据传送控制方式设备数据传送控制方式 1. 程序查询方式程序查询方式 程序查询方式是早期计算机中使用的一种方式。其过程是由CPU不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。采用这种方式实现主机和I/O设备交换信息,要求I/O设备接口内设置一个能反映设备是否准备就绪的状态标记,CPU通过对此标记的检测,可得知设备的准备情况。 数据在CPU和外围设备之间的传送完全靠计算机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结

10、构比较简单,易于实现。缺点是CPU效率低,因为外围设备动作很慢,程序进入查询循环时将占用CPU时间,CPU此时只能等待,不能处理其它业务,CPU利用率低。即使CPU采用定期地由主程序转向查询设备状态的子程序进行扫描轮询的办法,CPU宝贵资源的浪费也是可观的。因此,这种方式适合于在CPU不太忙且传输速度不高的情况下采用,当前除单片机外,很少使用程序查询方式。 第第8页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理第第9页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 2. 程序中断方式程序中断方式 中断是外围设备用来中断是外围设备用来“主动

11、主动”通知通知CPU,准备送出输入数据或接收,准备送出输入数据或接收输出数据的一种方法。输出数据的一种方法。 通常,当一个中断发生时,通常,当一个中断发生时,CPU暂停它的现行程序,而转向中断处暂停它的现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返又返回到它原来的任务,并从它停止的地方开始执行程序。这种方式下,若回到它原来的任务,并从它停止的地方开始执行程序。这种方式下,若无外设提出请求,无外设提出请求,CPU一直在处理原来的任务。可以看出,它节省了一直在处理原来的任务。可以看出,它节省了CPU宝贵的

12、时间,是管理宝贵的时间,是管理I/O操作的一个比较有效的方法。程序中断方式操作的一个比较有效的方法。程序中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行(按优先一般适用于随机出现的服务,并且一旦提出要求,应立即进行(按优先级次序)。同程序查询方式相比,硬件结构相对复杂一些,服务开销时级次序)。同程序查询方式相比,硬件结构相对复杂一些,服务开销时间较大。间较大。 第第10页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理3. 直接存储器访问方式(直接存储器访问方式(DMA) 程序中断方式和程序查询方式有一个共同点,即数据传送都是通程序中断方式和程序查询方式

13、有一个共同点,即数据传送都是通过过CPU执行指令来完成的,而执行指令来完成的,而CPU指令系统只支持指令系统只支持CPU(寄存器)和(寄存器)和存储器外设间的数据传送。所以,如果外设要和存储器进行数据交存储器外设间的数据传送。所以,如果外设要和存储器进行数据交换,也必须经过换,也必须经过CPU寄存器中转,显然,中转浪费了时间。寄存器中转,显然,中转浪费了时间。 由此设想,如果在外设和存储器之间能开辟一个直接数据通道,由此设想,如果在外设和存储器之间能开辟一个直接数据通道,数据传送由另外的硬件来控制,那么既加快了传送速度又减轻了数据传送由另外的硬件来控制,那么既加快了传送速度又减轻了CPU对对I

14、/O的负担。的负担。DMA传送方式正是受了这个启发而提出的。传送方式正是受了这个启发而提出的。 DMA方式的工作特点是,当需要进行方式的工作特点是,当需要进行DMA传送时,传送时,DMAC(DMA控制器)向控制器)向CPU提出总线使用请求,获得提出总线使用请求,获得CPU响应后,响应后,DMAC控制总线,外设和存储器之间的数据传送在控制总线,外设和存储器之间的数据传送在DMAC的控制下完成,此的控制下完成,此时,时,CPU处于空闲状态。当然,处于空闲状态。当然,DMA传送方式的提出还有一个更直接传送方式的提出还有一个更直接的原因,即中断传送方式和程序查询方式从速度上满足不了磁盘、磁的原因,即中

15、断传送方式和程序查询方式从速度上满足不了磁盘、磁带等高速外设与存储器之间进行数据交换的需要。这些设备的数据传带等高速外设与存储器之间进行数据交换的需要。这些设备的数据传送有两大特点:一是传送速率高;二是成批传送,即把设备的一批数送有两大特点:一是传送速率高;二是成批传送,即把设备的一批数据传到一个内存区,或将一个内存区的全部数据传送给设备,所以在据传到一个内存区,或将一个内存区的全部数据传送给设备,所以在数据传送的同时还伴随着内存指针的修改、传送数据个数的统计以及数据传送的同时还伴随着内存指针的修改、传送数据个数的统计以及传送结束的判断等。传送结束的判断等。 第第11页页第八章第八章 输入输入

16、/ /输出系统输出系统计算机组成原理计算机组成原理 4. 通道方式通道方式通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。数据传送。第第12页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理中断概念中断概念 所谓所谓中断中断,是一个过程,即,是一个过程,即CPU在正常执行程序的过程中,遇到外在正常执行程序的过程中,遇到外部内部的紧急事件需要处理,暂时中断当前程序的执行

17、,而转去为该事部内部的紧急事件需要处理,暂时中断当前程序的执行,而转去为该事件服务,待服务完毕,再返回到暂停处(断点)继续执行原来的程序。为件服务,待服务完毕,再返回到暂停处(断点)继续执行原来的程序。为事件服务的程序称为事件服务的程序称为中断服务程序中断服务程序或或中断处理程序中断处理程序。严格地说,上面的描述是针对硬件事件引起的中断而言的。用软件方严格地说,上面的描述是针对硬件事件引起的中断而言的。用软件方法也可以引起中断,即事先在程序中安排特殊的指令,法也可以引起中断,即事先在程序中安排特殊的指令,CPU执行到该类执行到该类指令时,转去执行相应的一段预先安排好的程序,然后再返回去执行原来

18、指令时,转去执行相应的一段预先安排好的程序,然后再返回去执行原来的程序,这可称为软中断。把软中断考虑进去,可给中断再下一个定义:的程序,这可称为软中断。把软中断考虑进去,可给中断再下一个定义:中断是一个过程,是中断是一个过程,是CPU在执行当前程序的过程中因硬件或软件的原因在执行当前程序的过程中因硬件或软件的原因插入了另一段程序运行的过程。插入了另一段程序运行的过程。8.2 程序中断方式程序中断方式 第第13页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 下图给出了中断处理的基本过程,主程序只是在设备下图给出了中断处理的基本过程,主程序只是在设备A、B、C数据数据

19、准备就绪并发出相应的中断请求时,才去进行中断处理,完成数据传送准备就绪并发出相应的中断请求时,才去进行中断处理,完成数据传送操作。在速度较慢的外围设备准备自己的数据时,操作。在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的照常执行自己的主程序。在这个意义上说,主程序。在这个意义上说,CPU和外围设备的一些操作是并行地进行的,和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。 第第14页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理中断源中断源凡

20、是能引起中断的设备或事件均称为凡是能引起中断的设备或事件均称为中断源中断源。中断源向中断系统发出。中断源向中断系统发出请求中断的申请,称为请求中断的申请,称为中断请求中断请求。同时可能有多个中断请求,这时中断系。同时可能有多个中断请求,这时中断系统需要按事先确定的中断响应优先次序对优先级高的中断请求予以响应。统需要按事先确定的中断响应优先次序对优先级高的中断请求予以响应。所谓所谓中断响应中断响应就是允许其中断就是允许其中断CPU现行程序的运行,转去对该请求进行现行程序的运行,转去对该请求进行预处理,包括保存好断点现场,调出有关处理该中断的中断处理程序,准预处理,包括保存好断点现场,调出有关处理

21、该中断的中断处理程序,准备运行。备运行。 中断系统也可以对中断请求进行屏蔽,使之暂时得不到响应。中断系统也可以对中断请求进行屏蔽,使之暂时得不到响应。目前,微机中的中断源一般有以下几种:目前,微机中的中断源一般有以下几种: (1)外设的服务请求:系统外设要求与)外设的服务请求:系统外设要求与CPU交换信息而产生的中断。交换信息而产生的中断。 (2)CPU内部事件:程序员的疏忽或算法上的差错,使程序在运行过内部事件:程序员的疏忽或算法上的差错,使程序在运行过程中出现多种错误而产生的中断,如除法错,运算溢出等。程中出现多种错误而产生的中断,如除法错,运算溢出等。 (3)硬件故障中断:机器在运行过程

22、中,硬件出现偶然性或固定性的)硬件故障中断:机器在运行过程中,硬件出现偶然性或固定性的错误而引起的中断,例如电源掉电、内存出错等。错误而引起的中断,例如电源掉电、内存出错等。 (4)软中断:又称为软件中断,是用软件方法产生中断,即在程序中)软中断:又称为软件中断,是用软件方法产生中断,即在程序中安排特定的指令:安排特定的指令:INT ,当程序执行到该类指令时,进入,当程序执行到该类指令时,进入到中断类型号所对应的中断服务程序。到中断类型号所对应的中断服务程序。 显然,软中断是人为安排的,而上面介绍的显然,软中断是人为安排的,而上面介绍的3种硬件中断源引起的中种硬件中断源引起的中断是随机的。断是

23、随机的。第第15页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理中断识别中断识别 当当CPUCPU响应中断、保护断点之后,就要进行中断源的识别,即寻找中响应中断、保护断点之后,就要进行中断源的识别,即寻找中断源,找到相应的中断服务程序入口。识别中断源有三种方法:查询法、断源,找到相应的中断服务程序入口。识别中断源有三种方法:查询法、向量法和强置程序计数器法。向量法和强置程序计数器法。 (1)查询法)查询法 这是通过程序来查询是哪一个中断源提出的中断请求。这是通过程序来查询是哪一个中断源提出的中断请求。 第第16页页第八章第八章 输入输入/ /输出系统输出系统计算机组

24、成原理计算机组成原理 (2)向量法(矢量法)向量法(矢量法)这是一种硬件方法。在这是一种硬件方法。在CPU发出中断响应信号时,由硬件产生当前所发出中断响应信号时,由硬件产生当前所有请求中级别最高的中断源的中断标识码。中断标识码是中断源的识别标有请求中级别最高的中断源的中断标识码。中断标识码是中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址。当有中断源提出请求时,中断排队与编码器进行判优并产生其中级地址。当有中断源提出请求时,中断排队与编码器进行判优并产生其中级别最高的中断源的中断标识码。在到来时,

25、别最高的中断源的中断标识码。在到来时,CPU通过三态门获得中断标识通过三态门获得中断标识码。码。 第第17页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理中断处理中断处理第第18页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理多重中断多重中断由于中断源相互独立而随机地发出中断请求,因此常常会同时发生多个由于中断源相互独立而随机地发出中断请求,因此常常会同时发生多个中断请求。同一类中的各中断请求的响应和处理的优先次序,一般不是由中中断请求。同一类中的各中断请求的响应和处理的优先次序,一般不是由中断系统的硬件而是由其软件或通道来管理。而不同类

26、的中断就要根据中断的断系统的硬件而是由其软件或通道来管理。而不同类的中断就要根据中断的性质、紧迫性、重要性以及软件处理的方便性把它们分成不同的级别。中断性质、紧迫性、重要性以及软件处理的方便性把它们分成不同的级别。中断系统按中断源的级别高低来响应。通常把优先级最高的中断定为一级,其次系统按中断源的级别高低来响应。通常把优先级最高的中断定为一级,其次是二级,再次是三级,依此类推。不同机器对优先级高低的划分有差异。是二级,再次是三级,依此类推。不同机器对优先级高低的划分有差异。在同时发生多个不同中断类的中断请求时,中断响应硬件中的排队器决在同时发生多个不同中断类的中断请求时,中断响应硬件中的排队器

27、决定响应的次序。然而,中断的处理要由中断服务程序来完成,而中断服务程定响应的次序。然而,中断的处理要由中断服务程序来完成,而中断服务程序在执行前或执行中是可以被中断的。这样,中断处理次序就可以不同于中序在执行前或执行中是可以被中断的。这样,中断处理次序就可以不同于中断响应次序。断响应次序。一般在处理某级中的某个中断请求时,与它同级的或比它低级的中断请一般在处理某级中的某个中断请求时,与它同级的或比它低级的中断请求是不能中断它的处理的。只有比它高级的中断请求才能中断其处理过程,求是不能中断它的处理的。只有比它高级的中断请求才能中断其处理过程,等响应和处理完后,再继续处理原先的那个中断请求。等响应

28、和处理完后,再继续处理原先的那个中断请求。中断响应的次序用排队器硬件实现,次序是由高到低排好序的。为了能中断响应的次序用排队器硬件实现,次序是由高到低排好序的。为了能根据需要,由操作系统灵活改变实际的中断处理次序,很多机器都设置了中根据需要,由操作系统灵活改变实际的中断处理次序,很多机器都设置了中断级屏蔽位寄存器,以决定某级中断请求能否进入中断响应排队器。只要能断级屏蔽位寄存器,以决定某级中断请求能否进入中断响应排队器。只要能进入中断响应排队器的,总是让高级别的优先响应。进入中断响应排队器的,总是让高级别的优先响应。第第19页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组

29、成原理 假设系统有假设系统有4个中断级,相应的每一级中断程序的现行个中断级,相应的每一级中断程序的现行PSW中都有中都有4位位中断级屏蔽位。其原理图如图所示。中断级屏蔽位。其原理图如图所示。 第第20页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 中断屏蔽位为“0”时,表示对该级中断开放,允许其进入中断响应排队器;若为“1”,则对该级中断屏蔽。那么,要让各级中断处理次序和各级中断响应次序一样,都是1234,就只需按下表设置好各级中断服务程序现行PSW中的中断级屏蔽位即可。 中断服务中断服务程序程序级别级别中断级屏蔽位中断级屏蔽位1级级2级级3级级4级级第第1级级1

30、111第第2级级0111第第3级级0011第第4级级0001第第21页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理现假设运行用户程序的过程中,出现了下图中所示的中断请求。现假设运行用户程序的过程中,出现了下图中所示的中断请求。 第第22页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 用户程序不能屏蔽任何中断请求,所以执行用户程序时,其现行用户程序不能屏蔽任何中断请求,所以执行用户程序时,其现行PSW中的中断级屏蔽位均为中的中断级屏蔽位均为1。当。当级中断请求同时到来时,均进入排队器,级中断请求同时到来时,均进入排队器,优先响应优先响应

31、级中断请求,此时中断用户程序的执行,通过交换级中断请求,此时中断用户程序的执行,通过交换PSW实现程实现程序切换。将用户程序所用到的关键寄存器、中断码、断点等现状作为旧序切换。将用户程序所用到的关键寄存器、中断码、断点等现状作为旧PSW保存到内存指定单元,再从内存另一指定单元取出对应保存到内存指定单元,再从内存另一指定单元取出对应级中断处理级中断处理程序的程序的PSW建立起新现场。由于建立起新现场。由于级中断处理程序的中断级屏蔽位为级中断处理程序的中断级屏蔽位为0111被放置到中断级屏蔽位寄存器,这样,对被放置到中断级屏蔽位寄存器,这样,对级中断请求不予响应,开始执行级中断请求不予响应,开始执

32、行级中断处理程序。即使在级中断处理程序。即使在级中断处理程序执行过程中,出现级中断处理程序执行过程中,出现级中断请级中断请求,但是一样不予响应,直到求,但是一样不予响应,直到级中断处理程序执行完,交换级中断处理程序执行完,交换PSW,又返,又返回到原被中断前的用户程序。此时,用户程序状态字中的中断级屏蔽位全为回到原被中断前的用户程序。此时,用户程序状态字中的中断级屏蔽位全为“1”,使,使级中断请求又同时进入排队器。在优先响应级中断请求又同时进入排队器。在优先响应级中断请求并进级中断请求并进行处理完后,又回到用户程序,再对行处理完后,又回到用户程序,再对级中断请求进行响应和处理,完成后级中断请求

33、进行响应和处理,完成后又返回到用户程序继续执行。又返回到用户程序继续执行。 用户程序执行过程中,又发生了用户程序执行过程中,又发生了级中断请求,在对其响应和处理过程级中断请求,在对其响应和处理过程中,又发生了中,又发生了级中断请求。由于级中断请求。由于级中断处理程序的中断级屏蔽位为级中断处理程序的中断级屏蔽位为0111,对对级中断请求开放,因此级中断请求开放,因此级中断请求进入排队器,从而转去响应级中断请求进入排队器,从而转去响应级中级中断请求并进行处理,由于断请求并进行处理,由于级中断处理程序的中断级屏蔽位为级中断处理程序的中断级屏蔽位为1111,所以只,所以只有执行完有执行完级中断处理程序

34、后返回到上一次被中断的级中断处理程序后返回到上一次被中断的级中断处理程序继续级中断处理程序继续执行,完成后再返回到前一次的断点,即用户程序继续执行。执行,完成后再返回到前一次的断点,即用户程序继续执行。 第第23页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 如果想改变中断处理次序,只需要将各中断级处理程序的中断级屏蔽位按需要的次序进行修改就可以实现。例如,若想把中断处理次序改为1432,则对应的各中断级处理程序的中断级屏蔽位按下表修改即可。 中断服务中断服务程序程序级别级别中断级屏蔽位中断级屏蔽位1级级2级级3级级4级级第第1级级1111第第2级级0100第第3

35、级级0110第第4级级0111第第24页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 现假设在运行用户程序过程中,同时发生现假设在运行用户程序过程中,同时发生级中断请求,级中断请求,其处理过程如下图所示。可以看出,此时各级中断处理完的先后顺序其处理过程如下图所示。可以看出,此时各级中断处理完的先后顺序变成了变成了1432。 第第25页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理中断控制器中断控制器8259A8259A逻辑图逻辑图第第26页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理DMA的基本概念的基本概

36、念 直接存储器访问(直接存储器访问(DMA)是一种完全由硬件执行是一种完全由硬件执行I/O交换的工作方式。交换的工作方式。在这种方式中,在这种方式中,DMA控制器从控制器从CPU完全接管对总线的控制,数据交换不完全接管对总线的控制,数据交换不经过经过CPU,而直接在内存和,而直接在内存和I/O设备之间进行。设备之间进行。DMA方式一般用于高速成方式一般用于高速成组数据传送。组数据传送。DMA控制器将向内存发出地址和控制信号,修改地址,对控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。报告传送操作的结

37、束。 DMA方式的主要优点是速度快方式的主要优点是速度快。由于。由于CPU根本不参加传送操作,因根本不参加传送操作,因此就省去了此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,没有取指令、取数、送数等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数是用保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数是用硬件线路直接实现的。各种硬件线路直接实现的。各种DMA至少能执行以下一些基本操作:至少能执行以下一些基本操作: (1)从外围设备发出)从外围设备发出DMA请求;请求; (2)CPU响应响应DMA请求,把请求,把CPU工作改成工作改成

38、DMA操作方式,操作方式,DMA控制控制器从器从CPU接管总线的控制权;接管总线的控制权; (3)由)由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行数据传送的操作;据传送个数的计数,并执行数据传送的操作; (4)向)向CPU报告报告DMA操作的结束。操作的结束。 8.3 DMA方式方式第第27页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理DMA的三种工作方式的三种工作方式-停止停止CPU访问内存访问内存 当外围设备要求传送一批数据时,由当外围设备要求传送一批数据时,由DMADMA

39、控制器发一个停止信号给控制器发一个停止信号给CPUCPU,要求要求CPUCPU放弃对地址总线、数据总线和有关控制总线的使用权。放弃对地址总线、数据总线和有关控制总线的使用权。DMADMA控制控制器获得总线控制权以后,开始进行数据传送。在一批数据传送完毕后,器获得总线控制权以后,开始进行数据传送。在一批数据传送完毕后,DMADMA控制器通知控制器通知CPUCPU可以使用内存,并把总线控制权交还给可以使用内存,并把总线控制权交还给CPUCPU。在这种。在这种DMADMA传送过程中,传送过程中,CPUCPU基本处于不工作状态或者说保持状态。基本处于不工作状态或者说保持状态。 这种方式的优点是控制简单

40、,它适用于数据传输率很高的设备进行这种方式的优点是控制简单,它适用于数据传输率很高的设备进行成组传送。其缺点是在成组传送。其缺点是在DMADMA控制器访内阶段,内存的效能没有充分发挥,控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。相当一部分内存工作周期是空闲的。 第第28页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理周期挪用周期挪用 当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。与停止CPU访内的DMA方法比较,周期挪用的方法既实现了I/O传送,又较好地发挥了内存

41、和CPU的效率,是一种广泛采用的方法。但是I/O设备每一次周期挪用都有申请总线控制权、建立总线控制权和归还总线控制权的过程,所以传送一个字对内存来说要占用一个周期,但对DMA控制器来说一般要25个内存周期(视逻辑线路的延迟而定)。因此,周期挪用的方法适用于I/O设备读写周期大于内存存储周期的情况。 第第29页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理DMA与与CPU交替访内交替访内 如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使DMA传送和CPU同时发挥最高的效率。假设CPU工作周期为 1.2s,内存存取周期小于0.6s,那么一个CPU周

42、期可分为C1和C2两个分周期,其中C2供DMA控制器访内,C1专供CPU访内。 这种方式又称为“透明的透明的DMA”方式,不需要总线使用权的申请、建立和归还过程,总线使用权是通过C1和C2分时进行的。第第30页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 DMADMA控制器的基本组成控制器的基本组成 第第31页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 (1)内存地址计数器)内存地址计数器 用于存放内存中要交换的数据的地址。在用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址传

43、送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。计数器。 (2)字计数器)字计数器 用于记录传送数据块的长度(多少字数)。其内容也用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。是在数据传送之前由程序预置,交换的字数通常以补码形式表示。 (3)数据缓冲寄存器)数据缓冲寄存器 用于暂存每次传送的数据(一个字)。当输入用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数

44、据总线送到数据缓冲寄存器,线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。然后再送到设备。 (4)“DMA请求请求”标志标志 每当设备准备好一个数据字后给出一个控制每当设备准备好一个数据字后给出一个控制信号,使信号,使“DMA请求请求” 标志置标志置“1”。该标志置位后向。该标志置位后向“控制控制/状态状态”逻辑逻辑发出发出DMA请求,后者又向请求,后者又向CPU发出总线使用权的请求(发出总线使用权的请求(HOLD),),CPU响应此请求后发回响应信号响应此请求后发回响应信号HLDA,“控制控制/状态状态”逻辑接收此信号后发逻辑接收此信号后发出出DMA响应信号,

45、使响应信号,使“DMA请求请求”标志复位,为交换下一个字做好准备。标志复位,为交换下一个字做好准备。 (5)“控制控制/状态状态”逻辑逻辑 由控制和时序电路以及状态标志等组成,用由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求请求”信号和信号和CPU响应信号进行协调和同步。响应信号进行协调和同步。 (6)中断机构)中断机构 当字计数器溢出时(全当字计数器溢出时(全0),意味着一组数据交换完毕,),意味着一组数据交换完毕,由溢出信号触发中断机构,向由溢出信号触发中断机

46、构,向CPU提出中断报告。提出中断报告。第第32页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理DMA数据传送过程数据传送过程DMA的数据传送过程可分为三个阶段:传送前预处理、正式传送、传送后处理。传送前预处理传送前预处理也可以看作是DMAC的初始化,由CPU执行几条输入输出指令,测试设备状态,向DMA控制器的设备地址寄存器中送入设备号并启动设备,向内存地址计数器中送入起始地址,向字计数器中送入交换的数据字个数。在这些工作完成后,CPU继续执行原来的主程序。 正式传送正式传送是指当外设准备好发送数据或接收数据时,它发出DMA请求,由DMA控制器向CPU发出总线使用权

47、的请求(HOLD),当DMA控制器获得总线控制权后即可进行数据的传送操作。 DMA的数据传送是以数据块为基本单位进行的,因此,每次DMA控制器占用总线后,无论是数据输入操作,还是输出操作,都是通过循环来实现的。当进行输入操作时,外围设备的数据(一次一个字或一个字节)传向内存;当进行输出操作时,内存的数据传向外围设备。 传送后处理传送后处理是指当DMA的中断请求得到响应后,CPU停止主程序的执行,转去执行中断服务程序做一些DMA传送的结束处理工作。这些工作包括校验送入内存的数据是否正确;决定继续用DMA方式传送下去,还是结束传送;测试在传送过程中是否发生了错误等等。 第第33页页第八章第八章 输

48、入输入/ /输出系统输出系统计算机组成原理计算机组成原理 DMA传送数据的流程图传送数据的流程图 第第34页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理DMA控制器举例控制器举例-8237A 第第35页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理8.4 通道方式通道方式通道的功能通道的功能 通道的出现进一步提高了CPU的效率。因为通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部的数据处理与I/

49、O设备的并行工作。 计算机系统的典型通道结构如教材图8.18所示,它具有两种类型的总线,一种是存储总线存储总线,承担通道与内存、CPU与内存之间的数据传输任务。另一种是通道总线通道总线,即I/O总线,承担外围设备与通道之间的数据传送任务。这两类总线可以分别按照各自的时序同时进行工作。 通道总线可以接若干个设备控制器,一个设备控制器可以接一个或多个设备。因此,从逻辑结构上讲,I/O系统一般具有四级连接:CPU与内存通道设备控制器外围设备。 另一方面,具有通道的机器一般是大、中型计算机,数据流通量很大。大、中型计算机的I/O系统一般接有多个通道。当然,设立多个通道的另一好处是,对不同类型的I/O设

50、备可以进行分类管理。第第36页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理典型通道结构典型通道结构 是内存的控制部件,它的主要任务是根据是内存的控制部件,它的主要任务是根据事先确定的优先次序,决定下一周期由哪事先确定的优先次序,决定下一周期由哪个部件使用存储总线访问内存。个部件使用存储总线访问内存。 第第37页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理 通道的功能通道的功能 通道的基本功能是执行通道指令,组织外围设备和内存进行数据传通道的基本功能是执行通道指令,组织外围设备和内存进行数据传输,按输,按I/OI/O指令要求启动外围设备

51、,向指令要求启动外围设备,向CPUCPU报告中断等,具体有以下五项报告中断等,具体有以下五项功能:功能: (1 1)接受)接受CPUCPU的的I/OI/O指令,按指令要求向指定通道和外设发出操作指令,按指令要求向指定通道和外设发出操作命令。命令。 (2 2)执行通道程序,控制外设与内存之间的数据传送,不但要提)执行通道程序,控制外设与内存之间的数据传送,不但要提供数据缓冲,而且还要完成传送信息的分拆和装配。供数据缓冲,而且还要完成传送信息的分拆和装配。 (3 3)指出外设读)指出外设读/ /写信息所在的位置,即提供外围设备内部地址,写信息所在的位置,即提供外围设备内部地址,同时指出与外围设备交

52、换信息的内存首地址和传送的数据量。同时指出与外围设备交换信息的内存首地址和传送的数据量。 (4 4)接收外围设备和子通道的状态信息,形成并保存通道本身的)接收外围设备和子通道的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供状态信息,根据要求将这些状态信息送到内存的指定单元,供CPUCPU使用。使用。 (5 5)将外围设备的中断请求和通道本身的中断请求,按次序及时)将外围设备的中断请求和通道本身的中断请求,按次序及时报告报告CPUCPU。 第第38页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理CPU对通道的管理对通道的管理 CP

53、U是通过执行是通过执行I/O指令、编写通道程序和处理来自通道的中断,指令、编写通道程序和处理来自通道的中断,实现对通道的管理。实现对通道的管理。 I/O指令是指令是CPU指令系统的一部分,是专门控制输入指令系统的一部分,是专门控制输入/输出操作的输出操作的指令。指令。CPU通过查询通道、外设状态和启停通道的通过查询通道、外设状态和启停通道的I/O指令管理通道。指令管理通道。通过运行操作系统的设备管理程序为通道编写通道程序;通道程序一通过运行操作系统的设备管理程序为通道编写通道程序;通道程序一般存储在主存指定位置,若通道专设存储器,则存入该存储器。通道般存储在主存指定位置,若通道专设存储器,则存

54、入该存储器。通道程序由通道指令组成,由通道执行。当通道被启动后,程序由通道指令组成,由通道执行。当通道被启动后,CPU就可退出就可退出管态,返回目态程序继续运行,而通道则按通道程序组织管态,返回目态程序继续运行,而通道则按通道程序组织I/O操作,进操作,进入通道数据传送期,开始通道与设备间的数据传送,直到通道程序完入通道数据传送期,开始通道与设备间的数据传送,直到通道程序完全执行完为止。全执行完为止。 通常把通常把CPU运行操作系统的管理程序的状态称为运行操作系统的管理程序的状态称为,而把,而把CPU执行目的程序时的状态称为执行目的程序时的状态称为。大中型计算机的。大中型计算机的I/O指令都是

55、管态指指令都是管态指令,只有当令,只有当CPU处于管态时,才能运行处于管态时,才能运行I/O指令,目态时不能运行指令,目态时不能运行I/O指令。这是因为大中型计算机的软、硬件资源为多个用户所共享,而指令。这是因为大中型计算机的软、硬件资源为多个用户所共享,而不是分给某个用户专用。不是分给某个用户专用。 来自通道的中断有两种,一种是数据传送结束中断,另一种是故来自通道的中断有两种,一种是数据传送结束中断,另一种是故障中断。障中断。第第39页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理通道的种类通道的种类 1. 选择通道选择通道 选择通道又称高速通道,在物理上它可以连

56、接多个设备,但是这些设选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作。备不能同时工作,在某一段时间内通道只能选择一个设备进行工作。 选择选择通道主要用于连接高速外围设备,如磁盘、磁带、高速数据采集系统等,通道主要用于连接高速外围设备,如磁盘、磁带、高速数据采集系统等,信息以成组方式高速传输。信息以成组方式高速传输。 2. 数组多路通道数组多路通道 数组多路通道是对选择通道的一种改进,它的基本思想是,当某设备数组多路通道是对选择通道的一种改进,它的基本思想是,当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制

57、性动作进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其它时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其它设备服务,即执行其它设备的通道程序。所以数组多路通道很像一个多道设备服务,即执行其它设备的通道程序。所以数组多路通道很像一个多道程序的处理器。程序的处理器。 3. 字节多路通道字节多路通道 字节多路通道主要用于连接大量的低速设备,如键盘、打印机等等。字节多路通道主要用于连接大量的低速设备,如键盘、打印机等等。例如数据传输率是例如数据传输率是1000B/s,即传送,即传送1个字节的间隔是个字节的间隔是1ms,而通道从设,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间交叉地为多台低速设很多空闲时间,字节多路通道正是利用这个空闲时间交叉地为多台低速设备服务。备服务。 第第40页页第八章第八章 输入输入/ /输出系统输出系统计算机组成原理计算机组成原理补充例题补充例题【例【例1】在程序查询方式输入输出的系统中,有三个不同的外围设备。假定一】在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论