计算机组织与系统结构第7章.ppt_第1页
计算机组织与系统结构第7章.ppt_第2页
计算机组织与系统结构第7章.ppt_第3页
计算机组织与系统结构第7章.ppt_第4页
计算机组织与系统结构第7章.ppt_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

1、学习要点 输入输出接口的概念、功能及其编址方式 输入输出信息传送控制方式 中断的相关概念、程序中断的过程 DMA传送方法和传送过程 通道的概念、结构和工作过程 总线的概念和类型,第7章 外部设备与输入/输出系统,7.6 Intel Pentium CPU,7.3 程序查询方式及接口,7.4 中断控制方式,第7章 外部设备与输入/输出系统,7.1 外部设备概述,7.2 主机与外设的连接,7.7 系统总线及结构,7.5 DMA方式,退出,7.1.1 外部设备的分类,7.1.2 外部设备的地位和作用,退出,7.1 外部设备概述,7.1.1 外部设备的分类,外部设备包括常见的输入设备、输出设备、外部存

2、储器、数据通信设备、脱机输入输出设备及过程控制设备等。每一种外部设备的工作都是在自己的控制器控制下进行的,而每一种控制器又是通过接口与主机进行连接,受主机控制。,1输入设备 输入设备是人机交互最重要的接口,负责把各种命令、程序和数据等输入到计算机中。常用的输入设备分为字符输入(如键盘、条形码阅读器、磁卡机等)、图形输入(如鼠标、触摸屏、图形数字化仪等)、图像输入(如摄像机、数码相机、扫描仪等)、声音输入(如话筒)等几类。由于输入到计算机中的信息多种多样,并且各种形式的信息都要转换成二进制的形式,因此不同输入设备在工作原理上、工作速度上存在很大差别。 2输出设备 能将计算机的处理结果以人们熟悉的

3、形式反馈给用户所使用的设备就是输出设备,如显示器(LCD显示器和CRT显示器等)、打印机、音箱等。,3外部存储器 外部存储器简称外存,也称为辅助存储器(辅存),用来存储大量的、暂时不用的程序和数据的存储器,允许有较低的处理速度。外部存储器在第4章已有介绍,在此不再赘述。 4数据通信设备 数据通信设备用于构建计算机网络通信的平台,以实现资源共享。包括多路通信控制器、调制解调器、网络适配器(网卡)等。,5脱机输入输出设备 脱机输入输出设备是指在脱离主计算机的情况下,由设备本身完成数据传输的设备。主要用于大型的计算中心,作为数据的输入输出和转换装置。例如,软盘数据站就是一种脱机输入输出设备,用户可按

4、要求利用软盘数据站实现原始数据的集中和修改,并将初步处理过的数据记录在软盘上,以后再通过输入设备将盘片上的数据成批地输入到计算机中。脱机输入输出设备其工作原理和普通设备相同。,6过程控制设备 计算机在进行实时控制时,需要从控制对象取得参数,而直接来自现场的参数多是模拟量,需要转换成数字量才能被计算机处理,因此,在计算机和现场之间需要中间设备进行模拟到数字的转换,即模/数转换器(A/D);另一方面,经计算机处理产生的数据需要反馈给现场,也需要有数字量到模拟量的转换,即数/模转换器(D/A)。A/D和D/A均是过程控制设备,有关的进行现场信号采集的传感器、传动器等检测设备也是过程控制设备。,返回本

5、节,7.1.2 外部设备的地位和作用,外设是计算机的重要组成部分,它是计算机与人类、计算机之间进行信息交换的桥梁、接口和界面。如果没有外设,计算机将无法进行工作。计算机科学之所以飞速发展,外设功不可没。现在的计算机系统配置的外设越来越多,可多至几百台。随着大规模集成电路的发展,在一般的微机系统中,外设的价格已远远超过主机的价格。人们对外设的依赖越来越强,外设在计算机系统中的地位也越来越高。 外设的作用可归纳出下列几个方面:,提供人机对话的通道 外设是用来实现用户与计算机之间交流信息的设备。无论计算机用于何处,都要由人直接或间接与计算机交互联系,实现这联系的装置是外设。例如,有了显示器、键盘等外

6、设,用户可直接、方便地与计算机联系,大大提高计算机的效能,加速计算机的应用推广,并充分发挥人的智能作用。,完成数据格式的转换 外设能将人可识别的信息转换成机器可识别的信息,即二进制形式的信息。这类设备如键盘、鼠标、手写板、图形扫描仪、摄像机、语言识别器等等。反之,计算机的处理结果是二进制形式的信息,也需要转换为人可识别的信息形式,这类设备如打印机、显示器、绘图仪、语音合成器等等。 存储系统软件和大型应用软件 随着计算机功能的增强,系统软件的规模和被处理的信息量也日益扩大,不可能将它们全部存于主存。外设就成了系统软件和大型应用软件的驻留设备。这类设备多数可作为计算机系统的辅助存储器,如磁盘、光盘

7、、磁带等等。,计算机在各个领域应用的桥梁 外设是计算机在各个领域应用的重要物质基础。计算机的应用范围早已从早期的数值计算拓展到文字、图形、图像、语音、表格等形式的信息处理,外设作为计算机系统的重要组成部分,便以多种多样的形式进入各个领域。为满足自动化控制过程的需要,计算机需要“模/数”、“数/模”转换器的协助;在网络普遍应用的今天,少不了调制解调器、网卡、音频设备和视频设备;语音输入识别装置、智能打印机、传真机等现代化外设使人们办公效率得到提高。计算机应用领域越来越多,无论在哪一个领域,都要有相应的外设作为桥梁才能使得计算机得以充分利用。,返回本章,返回本节,7.2.1 输入输出接口,7.2.

8、2 外设的识别与端口寻址,7.2.3 输入/输出控制方式,7.2 主机与外设的连接,退出,7.2.1 输入输出接口,外设是计算机系统的重要组成部分。外部设备种类繁多,在工作原理、驱动方式、信息格式和工作速度上都有较大差异,因此外设与CPU不能直接相连,必须经过中间电路进行连接,这部分中间电路就是输入输出接口电路,简称输入输出(I/O)接口。也就是说,I/O接口是位于系统与外设间协助完成数据传送和控制任务的逻辑电路,是系统与外界进行信息交换的中转站。接口与主机、外设间的连接如图7-1所示。,1I/O接口的功能 I/O接口用于实现主机与外设的数据交换和外设控制,一般应具有以下基本功能: (1)数据

9、缓冲功能 CPU和外设速度不匹配的问题可以通过在接口电路中设置数据缓冲来解决,数据缓冲经常使用锁存器和缓冲器,并配以适当的联络信号来实现这种功能。 (2)对信号形式和数据的格式进行转换功能 主机直接处理的信号和外设使用的信号可能完全不同,在输入输出时,就需要I/O接口将信号转换成适合对方的形式。例如,用接口电路来完成信号的电平转换、模/数转换和数/模转换、数据的并串转换或者串并转换等。,(3)对外设的控制和检测功能 I/O接口接受CPU送来的命令或控制信号、定时信号,实施对外设的控制与管理,外设的工作状态和应答信号也通过接口及时返回给CPU,以握手联络信号来保证主机和外部输入输出操作的同步。

10、(4)设备选择功能 系统中一般带有多种外设,同一种外设也可能有多台,而CPU在同一时间里只能与一台外设交换信息,这就要借助于接口的地址译码以选定外设。只有被选定的外设才能与CPU进行数据交换。,2I/O接口的基本结构 为实现CPU与外设间正确的进行数据交流,需要I/O接口发挥作用。由图7-1所示,可以得出,I/O接口应该具有以下基本结构: (1)数据寄存器:起数据缓冲作用。输入时,保存外设向CPU发送的数据(称为数据输入寄存器);输出时,保存CPU向外设发送的数据(称为数据输出寄存器);有些数据寄存器具有输入和输出两种功能,由读写控制决定输入还是输出。 (2)控制寄存器:确定接口电路的工作方式

11、,选择数据传送方向(输入或输出)及交换信息方式(查询或中断方式)。,(3)状态寄存器:反映外设工作状态。 (4)逻辑电路:能用中断方式传送信息。 (5)命令译码、端口地址译码及控制电路。 接口电路的功能越强,内部寄存器的种类和数量就越多,电路结构就越复杂,使用接口时要发送的控制命令就越多,程序也就越复杂。 3CPU与I/O接口之间传递的信息类型 I/O接口是系统与外界进行信息交换的中转站,在一侧要面向CPU,在另一侧要面向外设。系统与I/O接口之间要传送的信息,通常包括: 数据信息:是CPU与I/O接口交换的基本信息,可以是输入设备输入到计算机中的数据,也可以是计算机处理产生的结果,有8位、1

12、6位等,可并行传送,也可串行传送。,状态信息:反映当前外设所处的工作状态,以便CPU对外设进行监视。CPU用程序查询I/O设备的状态时,实际就是将状态位信息读至CPU进行分析,如“设备忙”、“设备空闲”等。 控制信息:CPU通过接口发给外设的,以控制外设的工作。如“启动”(START)信号用于启动一个外设工作,“选通”(STROBE)信号给外设送一个数据等。,返回本节,7.2.2 外设的识别与端口寻址,CPU和I/O设备进行数据传送,在接口中就必须有一些寄存器或特定的硬件电路供CPU直接存取访问,称之为I/O端口。为了区分不同的I/O端口,也要象存储器一样给它们编号,这就是I/O端口的地址。C

13、PU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据,因此一个接口可以有多个端口,如命令端口、状态端口和数据端口,分别对应于控制寄存器、状态寄存器和数据输入缓冲器等。,在接口电路中,一般一个端口对应一个寄存器;也可以一个端口对应多个寄存器,此时由内部控制逻辑根据程序指定的I/O端口地址和数据标志位选择相应寄存器进行读/写操作。也就是说,访问端口就是访问接口电路中的寄存器。这样,I/O操作实质上转化为对I/O端口的操作,即CPU所访问的是与I/O设备相关的端口,而不是I/O设备本身。对I/O端口的访问,则取决于I/O端口的编址方式。常用的编址方式有统一编址和独立编址。,1统一编

14、址 这种编址方式也称为存储器映射编址方式,是把每一个端口视为一个存储单元,I/O端口与存储单元在同一个地址空间中进行编址。I/O端口地址与存储单元地址形式完全相同,CPU访问端口就如同访问存储器,只是地址编号不同而已,所有访问内存的指令都适用于I/O端口。端口地址被映像到存储空间作为存储空间的一部分,这种编址方式既具有一定优点的同时也具有一定缺点。 统一编址的优点是:CPU对所有外设的操作与对存储器的操作完全相同,可使用全部的存储器操作指令,而不必使用专用的I/O指令,这可大大增强系统的I/O功能,使访问外设端口的操作方便、灵活;端口有较大的编址空间。,统一编址的缺点是:I/O端口地址占用了存

15、储器的一部分地址空间,使可用的主存空间减少;寻址速度比专用的I/O指令慢,端口指令较长,执行速度较慢;难以区分访问主存还是访问外设,造成程序阅读困难;地址译码电路复杂。 2独立编址 这种编址方式是将I/O端口与存储器分别单独编址,两者的地址空间是互相独立、互不影响的。例如,8086系统的内存地址范围为00000HFFFFFH,而外设端口的地址范围为0000HFFFFH,CPU在访问内存和外设时,需要提供不同的控制信号来区分当前要进行操作的对象是内存还是外设。采用这种编址方式,CPU访问I/O端口必须采用专用的I/O指令,所以也叫专用I/O指令方式。,这种编址方式的优点是:I/O端口不占用内存单

16、元地址,节省内存空间;由于系统需要的I/O端口寄存器一般比存储器单元要少得多,故I/O地址线较少,因此I/O端口地址译码较简单,寻址速度快。 这种编址方式的缺点是:专用I/O指令类型少,远不如存储器访问指令丰富,使程序设计灵活性较差,且使用I/O指令一般只能在累加器和I/O端口交换信息,处理能力不如统一编址方式强。,返回本节,7.2.3 输入/输出控制方式,随着计算机技术的飞速发展,计算机系统中输入输出设备的种类越来越多,速度差异越来越大,对这些设备的控制也变得越来越复杂,CPU与外设之间的数据传输必须采用多种控制方式,才能满足各类外设的要求。在计算机中,为了保证高效、可靠地工作,可采用的输入

17、输出控制方式主要有直接程序控制方式、中断控制方式、DMA方式和通道控制方式等。,1直接程序控制方式 直接程序控制方式是指由CPU执行一段输入输出程序来实现主机与外设之间数据传送的方式。该方式可进一步划分为无条件传送和条件传送。无条件传送方式中,传送前,CPU不需要了解外设状态,直接进行数据传送;条件传送方式,也叫程序查询方式,在传送前,CPU需要查询端口状态,端口就绪才能传送数据。 2中断控制方式 中断控制方式中,CPU启动外设后,可继续执行原来的程序,不需等待外设;当外设准备就绪后发出传送请求,CPU视情况予以响应,调用相应的中断服务程序实现数据传送。,3DMA方式 DMA方式中,传送请求由

18、外设向DMA控制器DMAC发出,DMAC再向CPU申请总线,CPU同意后,DMAC利用系统总线来完成外设与存储器间的数据传送。该传送方式完全由硬件实现,一般在外设和存储器间进行,可不需要CPU的参与,传送效率高。 4通道控制方式 通道控制方式是DMA方式的进一步发展,由通道控制部件取代了DMAC。通道控制部件能独立地执行通道程序,产生相应的控制命令,不但能实现对外设的统一管理,也能实现外设与内存间的数据传送。每个通道挂若干外设,主机在执行输入输出操作时,由I/O指令启动相应通道,通道将执行通道程序完成数据传送,然后仍由I/O指令停止通道。可以实现主机、外设和通道并行工作,并且一个通道可以控制多

19、台不同类型的外设。,返回本节,7.3.1 程序查询方式,7.3.2 程序查询方式接口,7.3.3 程序查询输入/输出方式,7.3 程序查询方式及接口,退出,7.3.1 程序查询方式,由CPU执行一段输入、输出程序来实现主存与外设之间的数据传送方式,叫做程序直接控制方式。根据外设的性质不同,这种传送方式又可分为无条件传送和程序查询方式两种。程序查询方式就是直接程序控制方式中的条件方式。采用这种方式传送数据前,CPU要先执行一条输入指令,从外设的状态端口读取它的当前状态。如果外设未准备好数据或处于忙状态,则程序要反复执行读状态指令,不断检测外设状态。对于输入而言,当外设准备好时,则使I/O接口的状

20、态端口的“准备好”标志有效,CPU可以接收数据;对于输出而言,当外设取走数据后,则I/O接口将状态端口对应的“忙”标志清除,表明外设处于空闲状态,外设可以接收下一个数据。CPU在程序中查询外设的工作状态,判断外设是否准备好来决定是否进行数据传送,这就是程序查询方式。,返回本节,7.3.2 程序查询方式接口,主机和外设间进行数据传送的方式不同,接口的逻辑电路结构也相应有所不同。程序查询方式是最简单、最经济的I/O方式,其接口也是最简单的,只需很少的硬件。程序查询方式接口应包括两个寄存器:数据缓冲寄存器和状态寄存器。数据缓冲寄存器,即数据端口,用来存放要传送的数据信息;状态寄存器,即状态端口,由多

21、个位组成,其中包括“设,1输入接口 如图7-2为查询式输入接口,包含两个端口:状态口和数据输入口。状态口由一个D触发器和一个三态缓冲器构成,数据输入口含一个8位数据锁存器。图中Ready信号为“设备准备就绪”的标志位。 当输入设备的数据准备好以后,发出一个选通信号。该信号一方面把数据送入锁存器,另一方面使D触发器置“1”,即置准备好信号Ready为真,并将此信号送至状态口的输入端。锁存器输出端连接数据口的输入端,数据口的输出端接系统数据总线。设状态端口的最高位D7连接Ready信号,CPU先读状态口,查Ready信号是否为高(准备好)。若为高就输入数据,同时使D触发器清0,使Ready信号为假

22、;若未准备好,则CPU循环等待。,2输出接口 查询式输出接口也包含两个端口:状态口和数据输出口。状态口也由一个D触发器和一个三态缓冲器构成,而数据输出口只含一个8位数据锁存器。 查询式输出时,CPU必须先查外设的BUSY状态,看外设的数据缓冲区是否已空。若缓冲区空,即BUSY为假,则CPU执行输出指令;否则BUSY为真,CPU就循环等待。查询式输出接口电路框图如图7-3所示。,输出设备把数据缓冲区中的数据输出以后,发一个ACK(Acknowledge)信号,使D触发器清0,即BUSY=0。CPU读入该状态信息后知道数据缓冲区已“空”,于是执行输出命令。在M/IO、WR及地址译码器输出信号三者相

23、与后,发出选通信号,将数据锁存到锁存器中,同时使D触发器置“1”。它既通知了输出设备数据已准备好,可以执行输出操作,又能在输出装置尚未完成输出以前,维持BUSY=1,阻止CPU输出新的数据。,返回本节,7.3.3 微程序控制器的组成与工作原理,程序查询方式利用程序控制实现CPU和外设间的数据传送,其工作过程如下: 向外设写入启动命令字,请求数据传送 CPU选中某台外设时,利用输出指令向外设发出命令字,启动外设。 从I/O接口读入状态字 检查状态字中的标志位 CPU对状态字进行分析,判断是否能进行数据传送:若外设准备就绪,则进行数据传送;否则,CPU循环等待,不断重复、步,直到设备就绪,进行数据

24、传送。,传送数据 当外设准备就绪时,CPU与外设进行数据传送:CPU从I/O接口的数据缓冲寄存器中读取数据,或CPU将数据输出到I/O接口的数据缓冲寄存器。输出的同时,CPU将接口中的状态标志位复位。 如图7-4为单个外设采用程序查询方式的流程图,若有多个外设需要用程序查询方式工作时,其工作流程如图7-5。当系统中带有多台外设时,越重要的设备越要首先查询,也就是优先级越高,可用软件实现多台设备的查询。,程序查询方式流程图,多个外设程序查询方式流程图,返回本章,返回本节,7.4.1 中断的基本概念,7.4.2 中断判优,7.4 中断控制方式,退出,7.4.3 中断响应,7.4.4 中断处理和返回

25、,7.4.5 多重中断与中断屏蔽,7.4.1 中断的基本概念,1中断思想的提出 程序查询方式虽然简单,但却存在着下列明显的缺点: (1)在查询过程中,CPU长期处于踏步等待状态,使系统效率大大降低; (2)CPU在一段时间内只能和台外设交换信息,其它设备不能同时工作; (3)不能发现和处理预先无法估计的错误和异常情况。,为了提高输入/输出能力和CPU的效率,70年代中期,中断传送方式被引进计算机系统。中断传送方式的思想是:CPU在程序中安排好在某一时刻启动某一台外设,然后CPU继续执行原来的程序,不需要像查询方式那样一直等待外设的准备就绪状态。一旦外设完成数据传送的准备工作(输入设备的数据准备

26、好或输出设备的数据缓冲器空)时,便主动向CPU发出一个中断请求,请求CPU为自己服务。在可以响应中断的条件下,CPU暂时中止正在执行的程序,转去执行中断服务程序为中断请求者服务,在中断服务程序中完成一次主机与外设之间的数据传送,传送完成后,CPU仍返回原来的程序,从断点处继续执行。,2中断的定义 中断是指当计算机执行现行程序时,系统中出现某些急需处理的异常情况可特殊请求,CPU暂时中止现行程序,而转去对随机发生的更紧迫的事件进行处理,在处理完毕后,CPU仍将自动返回原来的程序继续执行。 中断系统是计算机实现中断功能的软、硬件总称。一般在CPU中配置中断机构,在外设接口中配置中断控制器,在软件上

27、设计相应的中断服务程序。,3中断源和中断请求 外设或事件需要CPU中断处理时,必须向CPU发出中断请求信号。该信号作为CPU的输入,当CPU收到该信号时,可引起中断。向CPU提出中断请求的事件称为中断源,在实际系统中,允许有多个中断源。为区分中断源,每个中断源都必须配置一个中断请求触发器INTR,当其为“1”时,表示该中断源向CPU发出中断请求。多个中断源对应着各自的中断请求触发器,进而形成中断请求寄存器,其内容就是中断字,记录着各个中断源的来源。,4中断与子程序调用的区别 从表面上看起来,计算机的中断处理过程有点类似于调用子程序的过程,这里现行程序相当于主程序,中断服务程序相当于子程序。但是

28、,它们之间却是有着本质上的区别的,主要的区别在于: (1)子程序的执行是由程序员事先安排好的(由一条调用子程序指令转入),而中断服务程序的执行则是由随机的中断事件引起的; (2)子程序的执行受到主程序或上层子程序的控制,而中断服务程序一般与被中断的现行程序毫无关系;,(3)不存在同时调用多个子程序的情况,而有可能发生多个外设同时请求CPU为自己服务的情况。 因此,中断的处理要比调用子程序指令的执行复杂得多。 5中断的分类 从不同的角度,可以有以下几种上分类方法: (1)自愿中断和强迫中断 自愿中断又称程序自中断,它不是随机产生的中断,而是在程序中安排的有关指令,这些指令可以使机器进入中断处理的

29、过程,如:指令系统中的软中断指令INT n。,强迫中断是随机产生的中断,不是程序中事先安排好的。当这种中断产生后,由中断系统强迫计算机中止现行程序并转入中断服务程序。 (2)程序中断和简单中断 程序中断就是我们前面提到的中断,主机在响应中断请求后,通过执行一段中断服务程序来处理更紧迫的任务。这样的中断处理过程将在后而详细讨论,它须要占用一定的CPU时间。 简单中断就是外设与主存间直接进行信息交换的方法,即DMA方式。这种中断不去执行中断服务程序,故不破坏现行程序的状态。主机发现有简单中断请求(DMA请求)时,让出一个或几个主存的存取周期供外设与主存交换信息,然后继续执行程序。简单中断是早期对D

30、MA方式的一种叫法,为避免误解,现在一般很少使用。,(3)内中断和外中断 内中断是指由于CPU内部硬件或软件原因引起的中断,如单步中断、溢出中断等。 外中断是指CPU以外的部件引起的中断。通常,外中断又可以分为不可屏蔽中断和可屏蔽中断两种。不可屏蔽中断优先级较高,常用于应急处理,如掉电、主存读/写校验错等;而可屏蔽中断级别较低,常用于一般I/O设备的数据传送。 (4)向量中断和非向量中断 向量中断是指那些中断服务程序的入口地址是由中断事件自己提供的中断。中断事件在提出中断请求的同时,通过硬件向主机提供中断服务程序入口地址,即向量地址。 非向量中断的中断事件不能直接提供中断服务程序的人口地址。,

31、返回本节,7.4.2 中断判优,1中断优先级 计算机应用环境不同,中断源的数目也不同,一般有十几个到几十个。这时就有可能出现两个或两个以上的中断源同时提出中断请求的情况。若恰巧它们同时向计算机系统发出中断请求,应先为哪一个中断源服务。在中断系统中,一般要根据各中断请求的轻重缓急分别处理,即给每个中断源确定一个中断优先级别中断优先级,系统能够自动地对它们进行排队判优,保证首先处理优先级别高的中断请求,待级别高的中断请求处理完毕后,再响应级别较低的中断请求。,2中断判优 实际的中断系统中常常有多个中断源,而中断申请引脚往往只有一条中断请求线。于是在多个中断源同时请求时,计算机系统必须首先确定为哪一

32、个中断源服务,要能辨别优先权最高的中断源并响应之。当计算机系统在处理中断时,也要能响应更高级别的中断申请,而屏蔽掉同级或较低级的中断申请,这就是中断优先权识别问题。通常有两种方法解决中断优先权的识别问题。,(1)软件查询法 采用软件查询中断方式时,中断优先权由查询顺序决定,最先查询的中断源具有最高的优先权。使用这种方法也需要配以一定的硬件,需要设置一个中断请求信号的锁存接口,将各申请中断的请求信号锁存下来以便查询。该方法首先要把外设的中断请求触发器组合起来作为一个端口,供CPU查询,同时把这些中断请求信号相“或”后,作为INTR信号,这样任一外设有请求都可向CPU送INTR信号。CPU响应中断

33、后,读入中断寄存器的内容并逐位检测它们的状态,若有中断请求(相应位1)就转到相应的服务程序入口,检测的顺序就是优先级的顺序。查询程序流程图如图7-6所示。,软件查询方法的优点是电路比较简单。软件查询的顺序就是中断优先权的顺序,不需要专门的优先权排队电路,可以直接修改软件查询顺序来修改中断优先权,不必更改硬件。缺点是当中断源个数较多时,由逐位检测查询到转入相应的中断服务程序所耗费的时间较长,中断响应速度慢,服务效率低。 (2)硬件优先权排队电路 硬件优先权排队电路形式众多,有采用编码器组成的,有采用链式电路的,我们主要介绍后者。,硬件链式优先权排队电路又称为菊花环式优先权排队电路,它是利用外设连

34、接在排队电路的物理位置来决定其中断优先权的,排在最前面的优先权最高,排在最后面的优先权最低,电路如图7-7所示。 当多个外设有中断请求时,则由中断请求信号的或电路产生INTR信号,送至CPU。CPU在现行指令执行完后响应中断,发出中断响应信号(低电平有效)。CPU究竟响应哪个中断呢?,当中断请求得到响应时,中断响应信号就传送到优先权最高的设备1,按串行方式往下传送,当设备1有中断请求时,则它的中断触发器Q1输出为高,与门A1输出为高,设备1的数据允许线EN有效,允许设备1使用数据总线,将中断类型码送入CPU,控制中断矢量l的发出。CPU转至设备1的中断服务程序入口。同时A 2经反相为低电平,则

35、中断响应信号在门A2处被封锁,使B1、B2、C1、C2、所有下面各级输出全为低电平,中断响应信号不再下传,即屏蔽了所有的低级中断。若设备1没有中断请求,则中断响应输出Q1为低电平,此时A2输出为高电平,中断响应信号可通过A2门传给设备2。若此时Q2l,则B1输出为高。控制转向中断服务程序2,B2输出为低,屏蔽以下各级。若Q20,则中断响应信号传至设备3,各级类推。,返回本节,7.4.3 中断响应,1中断响应条件 CPU响应中断必须满足下列条件和时间的要求: (1)CPU接收到中断请求信号 首先中断源要发出中断请求,同时CPU接收到这个中断请求信号; (2)CPU允许中断 CPU允许中断即开中断

36、。CPU内部有一个中断允许触发器,只有当它被置位时,CPU才可能响应中断源的中断请求(中断开放)。如其被复位,CPU处于不可中断状态,即使中断源有中断请求,CPU也不响应(中断关闭);,(3)一条指令执行完毕 这是CPU响应中断请求的时间,一般情况下,CPU在一条指令执行完毕,且没有更紧迫的任务时才能响应中断请求。 2中断隐指令 CPU响应中断之后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的,我们把它称为中断隐指令。中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断隐指令是一种不允许、也不可能为用户使用的特殊指令。其所完成的操作主要有:,(1)保存断点 为了

37、保证在中断服务程序执行完毕能正确返回原来的程序,必须将原来程序的断点(即程序计数器PC的内容)保存起来,断点可以压人堆栈,也可以存入主存的特定单元中。 (2)关中断 此时关中断是为了使在用软件保护中断现场(即CPU的主要寄存器状态)时,不被新的中断所打断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。,(3)取得中断服务程序的入口地址 即取出中断服务程序的入口地址送入PC中,向量中断和非向量中断取得中断服务程序入口地址的方法是不同的。非向量中断一般中断服务程序的入口地址是固定的,在这个固定的单元中安排一个转移指令,以转向中断服务程序,向量中断一般是通过查表的形式实现,将中

38、断向量表中的相应的单元的地址指针送到PC中。,返回本节,7.4.4 中断处理和返回,进入中断处理程序后,首先要进一步保护现场。因为中断的发生是随机的,虽然在中断响应期间,CPU已经将程序计数器及程序状态字压栈保护,但要使中断返回后,程序能正确地执行下去,必须将中断处理程序用到的一些寄存器的内容压栈保护,以免中断处理程序修改这些现场数据。 CPU在响应中断期间,已经将中断允许标志清0,即CPU处于禁止中断状态。为了使更高的中断进入,进入个断处理程序后,需将中断允许标志置1,开放中断。,中断处理程序的具体内容执行完成后,恢复现场,即将“进一步保护现场”时压栈的内容从堆栈中弹出,传送给原来的寄存器,

39、为中断返回作准备。 中断服务程序最后一条可执行指令应为中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。,返回本节,7.4.5 多重中断与中断屏蔽,1多重中断 计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去处理新的中断请求,叫做多重中断,也叫中断嵌套。一般情况下,在处理某级中的某个中断时,同级的或比它低级的中断请求不能中断它的处理,而在处理完该中断返回主程序后,再去响应和处理这些中断。而优先级高的中断请求能够中断它的处理。多重中断可以有多级,具体级数(即嵌套深度)原则上不限制,只取决于堆栈深度,实际上与要求的中断响应速度有关。,发生多重中

40、断时,计算机要能保护多个断点,而且先发生中断请求的断点先保护后恢复;后发生中断请求的断点后保护先恢复。同时,在CPU进入某一中断服务程序后,系统必须开中断,否则无法实现多重中断。 2中断屏蔽 当发生中断请求后,有选择地封锁部分中断,而允许其他中断仍得到响应,称为中断屏蔽。为了增加控制的灵活性,常在每一个外设的接口电路中设置一个中断屏蔽触发器。只有此触发器为“0”时,外设的中断请求才能被送到CPU。多个外设的中断屏蔽触发器组成一个中断屏蔽字或屏蔽码。可用输出指令来设置屏蔽字,以决定与其某一位对应的中断请求信号能否发向CPU。,中断屏蔽触发器可以决定是否允许中断源的中断请求进入优先级排队队列,这与

41、CPU内部中断允许触发器是不同的。中断允许触发器决定CPU是否接受中断请求、响应中断。,返回本节,7.5.1 DMA方式的基本概念,7.5.2 DMA接口,7.5 DMA方式,退出,7.5.3 DMA传送方法与传送过程,7.5.4 基本的DMA控制器,7.5.1 DMA方式的基本概念,尽管利用中断方式进行数据传送,实现外设和CPU并行工作,提高CPU工作效率,但每进行一次数据传送,CPU都要执行一次中断服务程序,要进行现场保护和恢复,显然会花费掉CPU的不少时间,会造成数据传输效率的降低。为此提出了在外设和内存之间直接传送数据的方式DMA传送方式。 DMA(Direct Memory Acce

42、ss)传送方式,直接存储器存取方式,就是在内存与外设间开辟专用的数据通道,这个数据通道在特殊的硬件电路DMA控制器的控制下,进行数据传送而不必经过CPU,直接在内存和外设间进行。,当外设需要利用DMA方式进行数据传送时,DMA控制器首先要向CPU发出总线请求信号HOLD,要求CPU让出对总线的控制权,当CPU发出总线响应信号HLDA,CPU进入“保持”状态,暂停工作,DMA控制器取代CPU,临时接管总线,控制在外设和存储器之间直接进行高速的数据传送。DMA控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。在DMA

43、传送结束后,它能释放总线,把总线控制权还给CPU。可见,用DMA方式传输数据时,数据传送的速度基本上取决于存储器的存取速度。,DMA方式要利用系统的数据总线、地址总线和控制总线来传送数据,一般应用于内存与高速外设间的简单数据传送,如内存与磁盘、磁带、光盘间的数据传送。对磁盘的读写一般以数据块为单位进行,一旦找到数据块起始位置,就将连续地读/写。由于磁盘读写速度较慢,在连续读写过程中不允许CPU花费过多的时间。因此,从磁盘中读出数据或往磁盘中写人数据时,一般采用DMA方式传送。即直接由主存经数据总线输出到磁盘接口,然后写入盘片;或由盘片读出到磁盘接口,然后经数据总线写入内存。 当计算机系统通过通

44、信设备与外部通信时,常以数据帧为单位进行快速、连续的批量传送,适于采用DMA方式。在不通信时,CPU可以照常执行程序,在通信过程中仅占用系统总线,系统开销很少。在大批量数据采集系统中,也可以采用DMA方式。,返回本节,7.5.2 DMA接口,1DMA接口的功能 利用DMA方式传送数据时,数据的传送过程完全由DMA接口电路控制,故DMA接口又有DMA控制器之称。DMA接口必须具备以下功能: (1)能向CPU发出总线请求信号HOLD; (2)当CPU发出总线响应HLDA信号后,接管总线,进入DMA方式; (3)发出地址信息,能对存储器寻址并能修改地址指针; (4)能向存储器和外设发出相应的读、写等

45、控制信号; (5)决定传送的字节数,并能判断DMA传送是否结束; (6)DMA传送结束后,能发出DMA结束信号,释放总线,使CPU恢复正常工作。,2DMA接口的基本组成 DMA接口至少要由以下几部分组成: 地址寄存器 地址寄存器用于存放内存中需要交换数据的地址。在DMA传送前,须通过程序将数据在内存中的首地址送到地址寄存器。在DMA传送过程中,每传送一个字数据,地址寄存器内容加l,以增量方式给出下一个内存地址,直到一批数据传送完。 字数计数器 字计数器用于记录要传送数据的总字数,通常以传送字数的补码形式预置。在DMA传送过程中,每传送一个字,字计数器加1,直到计数器为0,即最高位产生进位(溢出

46、)时,表示该批数据传送完毕,DMA接口要向CPU发中断请求信号,结束DMA传送。,数据缓冲寄存器 数据缓冲寄存器用于暂存每次传送的数据。通常DMA接口与内存之间采用字传送,而DMA与设备之间可能是字节或位传送。因此DMA接口中还可能包括有装配或拆卸字信息的硬件逻辑,如数据移位缓冲寄存器、字节计数器等。 DMA控制逻辑 DMA控制逻辑用于负责管理DMA的传送过程。每当设备准备好一个数据字(或一个字传送结束),就向DMA接口提出申请(DREQ),DMA控制逻辑便向CPU发出总线使用权的请求信号。待收到CPU发出的响应信号HLDA后,DMA控制逻辑便开始负责管理DMA传送的全过程,包括对主存地址寄存

47、器和字计数器的修改、识别总线地址、指定传送方向(输入或输出)以及通知设备被授予一个DMA周期(DACK)等。,中断机构 当字计数器溢出(全“0”)时,表示一批数据传送完毕,由“溢出信号”通过中断机构向CPU提出中断请求,这里的中断与前面介绍的输入输出中断的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一批数据传送结束。它们是I/O系统中不同的中断事件。 设备地址寄存器 设备地址寄存器存放I/O设备的设备码或表示设备信息存储区的寻址信息,如磁盘数据所在的区号、盘面号和柱面号。具体内容取决于设备的数据格式和地址的编址方式。,3DMA接口与系统的连接方式 DMA接口与系统的

48、连接方式有两种:具有公共请求线的DMA请求方式和独立的DMA请求方式。 具有公共请求线的DMA请求方式,若干个DMA接口通过一条公用的DMA请求线向CPU申请总线控制权。CPU发出响应信号用链式查询方式通过DMA接口,首先选中的设备获得总线控制权,即可占用总线与内存进行数据传送,如图7-9。 独立的DMA请求方式,每一个DMA接口各有一对独立的DMA请求线和DMA响应线,它由CPU的优先级判别机构裁决首先响应哪个请求,并在响应线上发出响应信号,获得响应信号的DMA接口可控制总线与内存进行数据传送,如图7-10。,返回本节,7.5.3 DMA传送方法与传送过程,1DMA传送方法 DMA控制器启动

49、后独立地完成CPU交给的工作,使得外设可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序。DMA控制器与CPU通常用三种方法使用内存: CPU停止访问内存 这是最简单的DMA方法。CPU响应DMA请求后,让出系统总线,执行完现行机器周期,CPU转为保持状态,停止访问内存,只能进行一些与总线无关的内部操作。DMA连续占用几个总线周期,直到数据块传送完毕,才把总线控制权交回CPU。这种方式控制简单,适合高速设备数据传送,但DMA传送期间CPU不能访问主存。,DMA与CPU交替访问内存 该方法把原来的一个总线周期分成两个时间片,一片分给DMA,一片分给CPU。DMA与CPU按照事先规

50、定的时间片轮流访问内存。这种方法不需要DMA申请总线、使用总线、释放总线,使总线控制权的转移几乎不需要什么时间,双方分时使用总线互不影响。但实际上CPU访存时间加长了,因为即使没有DMA传送,CPU也需要空出那一段时间供DMA使用,使DMA时间片成为空操作,造成时间浪费。,周期挪用 周期挪用方式又叫周期窃取方式,在这种方式中,在每一条指令执行结束时,CPU都测试有没有DMA请求。若外设有DMA请求并得到CPU允许,CPU就放弃控制总线一个周期。在这个总线周期内,由DMA控制总线完成外设与主存间交换一个字节或字数据。该周期结束后,总线仍归CPU控制,继续执行原来的指令操作,等待下一个DMA请求到

51、来。如此重复,直到数据块传送完毕。因为周期挪用不影响CPU工作,该方式被广泛采用。,2DMA传送过程 DMA方式通常都是按数据块传送,传送过程可分为三个阶段: 传送前预处理 CPU执行几条输入输出指令,用于测试有关设备状态、向DMA控制器的设备地址寄存器中送入设备号并启动设备、向内存地址寄存器中送入起始地址、向字计数器中送入传送的数据字个数,在这些工作完成后,CPU继续执行原来的程序。当外设准备好输入的数据或处理完收到的数据时,向DMA控制器发送DMA请求,再由DMA控制器向CPU请求总线控制权。,正式传送 CPU在每一个非锁定时钟周期(LOCK为高电平)结束后,都要检测一下HOLD引脚,看是

52、否有DMA请求信号。当检测到有外设发出DMA请求时,CPU在本机器周期执行结束后响应该请求,暂停正在执行的程序,进入DMA周期。DMA控制器接管数据总线与地址总线的控制,并向内存提供地址,于是,在内存和外设之间进行数据传送。每传送一个字,地址寄存器加“1”(或减“1”)和字计数器(补码)加“1”,直到数据块传送完毕,结束DMA传送。,传送后处理 当字计数值到达零时,DMA操作结束,DMA控制器向CPU提出中断报告,CPU停止原来程序的执行,转去执行中断服务程序做DMA结束处理工作。包括对送入的数据进行校验,决定是否继续做下一数据块传送,或是停止DMA工作等。 以数据块为基本单位进行的DMA方式

53、数据传送,在每次DMA控制器占用总线后,数据的输入和输出操作都是通过循环来实现的。当进行输入操作时,外设的数据一次一个字或一个字节传向内存;当进行输出操作时,内存的数据传向外设。,返回本节,7.5.4 基本的DMA控制器,1. DMA控制器 一个DMA控制器,实际上是采用DMA方式的外围设备与系统总线之间的接口电路。这个接口电路是在中断接口的基础上再加上DMA机构组成。图7-11是一个简单的DMA控制器。 它由以下几部分组成: 设备寄存器 包括主存地址寄存器、字计数器、数据缓冲寄存器、设备地址寄存器等。 控制/状态逻辑 一般包括控制和时序电路以及状态标志等,用于制定传送方向、修改传送参数、并对

54、DMA请求信号和CPU响应信号进行协调和同步。,DMA请求触发器 当外设准备好数据后给出一个控制信号,使DMA请求触发器置1。 中断机构 负责申请CPU对DMA进行预处理和后处理。 2DMA的引出线 DMA控制器应具备的引出线有: 数据总线 在DMA方式中进行数据传送的通路;在CPU方式中可对DMA控制器的有关寄存器进行编程。 地址总线 在DMA传输过程中为输出态,对内存进行地址选择;在CPU工作过程中为输入态,寻址DMA控制器的有关寄存器。,控制数据传送方向的四个信号线 当数据从外设写入内存时,DMA控制器需要分别发出和信号;当数据从内存读入到外设时,DMA控制器需要分别给出和信号。 DMA

55、控制器与CPU间的联络信号线 DMA控制器收到DREQ后向CPU发送请求总线信号HRQ,若CPU响应将回送HLDA信号。 DMA控制器与外设间的联络信号线 外设向DMA控制器发送请求信号DREQ,若DMA获得总线将以DACK信号通知外设。,3. DMA控制器的连接 DMA控制器与CPU、内存、外设连接如图7-12。 在进行DMA操作前要对DMA控制器初始化编程:确定内存的起始地址、传送的字节数、传送方向等。当外设将数据块输入内存时,首先外设向DMA控制器发送请求信号DREQ,DMA控制器收到后向CPU发送HRQ信号请求使用总线,若CPU响应将回送HLDA信号,DMA控制器获得总线控制权。然后,

56、DMA控制器通知外设DMA响应信号DACK。DMA控制器将按地址寄存器的内容给出内存地址,同时地址寄存器内容加“1”(或减“1”)。接着,DMA控制器向外设发出信号,将外设数据读入总线并发出信号将数据写入选中的内存单元,完成一次传送,字计数器加“1”(或减“1”)。若数据未传送完,DMA控制器将重新给出内存地址、和信号,修改地址寄存器和字计数器内容,如此反复,直到数据块传送完毕。,返回本节,返回本章,7.6.1 通道的基本概念,7.6.2 通道的类型与结构,7.6.3 通道程序及工作过程,7.6 通道控制方式,退出,7.6.1 通道的基本概念,DMA直接依靠硬件进行管理,只能实现简单的数据传送

57、。这种方式实际上是把外设与内存交换信息的操作与控制交给了DMA控制器,简化了CPU对数据交换的控制,但这种方式显然电路结构复杂,硬件开销大。,随着系统配置的IO设备的不断增加,输入输出操作日益繁忙,为此要求CPU不断地对各个DMA进行预置。这样,CPU用于管理输入输出的开销亦日益增加。为了减轻CPU负担,出现了通道,实现输入输出操作的较全面管理。通道是一个特殊的处理器,有自己的指令和程序专门负责数据输入输出的控制,使得CPU可以只负责“数据处理”功能,CPU与通道可以分时使用内存,实现了CPU内部运算与外设的平行工作。当然,通道并不能完全脱离CPU,它还要受CPU的管理,如启动、停止等,而且还

58、应该向CPU报告自己的状态,以便CPU决定下一步的处理。,采用通道方式组织输入输出系统,主机可以接若干个通道,一个通道可以接若干个设备控制器,一个设备控制器又可以接若干台外设。因此,在逻辑结构上形成了4级连接:CPU与内存通道设备控制器外设。其中,通道通过执行通道程序控制设备控制器进行数据传送,并以通道状态字来接收设备控制器反馈回来的外设状态。因此,设备控制器是通道对外设实现传送控制的执行机构。 通道的基本功能是执行通道指令、组织外设和内存执行数据传送,按输入输出指令要求启动外设,向CPU报告中断等,通道具有如下功能:,接受CPU的输入输出指令,对要访问的外设发送操作命令,并进行初始化; 根据

59、CPU给出的信息,从内存中读取该通道的通道指令,译码后向设备控制器和设备发送各种命令; 实现外设和内存之间的数据传送,如传送的数据量、内存起始地址、数据字的分拆与装配以及提供数据缓存空间; 给出外设的有关地址,如磁盘存储器的柱面号、磁头号、扇区号等;,接收外设的状态,保存通道状态信息,并可根据需要将这些信息传到指定单元中; 将外设的中断请求和通道本身的中断请求进行排队,按优先次序送往CPU,回答传送情况。 除了承担DMA的全部功能外,还承担了设备控制器的初始化工作,并包括了低速外设单个字符传送的程序中断功能,因此它分担了计算机系统大部分或全部输入输出功能。,返回本节,7.6.2 通道的类型与结构,1通道的类型 图7-13为IBM 4300的通道组织结构,其中,选择通道、字节多路通道、数组多路通道是3种通道类型。,(1)字节多路通道 字节多路通道(multtPletor chanMl)是一种简单的低速共享通道,在时间分割的基础上,服务于多台低速和中速面向字符外设。字节多路通道包括多个按字节方式传送信息的子通道,每个子通道服务于一个设备控制器,可以独立地执行通道程序。各个子通道可以并行工作,但是所有的子通道的控制部分是公共的,各个子通道可以分时地使用。字节多路通道要求每种设备轮流占用一个很短的时间片,不同的设备在各自分得的时间片内与通道在逻辑上建立不同的传输连接,实

温馨提示

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

评论

0/150

提交评论