第输入输出IO系统.ppt
《第输入输出IO系统.ppt》由会员分享,可在线阅读,更多相关《第输入输出IO系统.ppt(125页珍藏版)》请在三一办公上搜索。
1、第10章 输入输出(I/O)系统,10.1 输入输出(I/O)系统概述10.2 程序中断输入输出方式10.3 DMA输入输出方式10.4 通道控制方式和外围处理机方式10.5 总线结构10.6 外设接口习题,10.1 输入输出(I/O)系统概述输入输出系统包括外部设备(输入输出设备和辅助存储器)及其与主机(CPU和存储器)之间的控制部件。后者称之为设备控制器,诸如磁盘控制器、打印机控制器等,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设备之间的数据传送。本章主要介绍设备控制器的工作原理及其与主机之间传送数据的协议,即系统总线。,10.1.1 输入输出设备的编址及设备控制器的基本功能
2、为了CPU便于对I/O设备进行寻址和选择,必须给众多的I/O设备进行编址,也就是给每一台设备规定一些地址码,称为设备号或设备代码。随着CPU对I/O设备下达命令方式的不同而有以下两种寻址方法:(1)专设I/O指令,例如,指令IN完成输入,指令OUT完成输出操作。指令的地址码字段指出输入输出设备的设备代码。,(2)利用访存(取数/存数)指令完成I/O功能,使用这种方法时,从主存的地址空间中分出一部分地址码作为I/O的设备代码,当访问到这些地址时,表示被访的不是主存储器,而是I/O设备寄存器。IBM PC等系列机设置有专门的I/O指令,设备的编址可达512个,部分设备的地址码如表10.1所示。从表
3、中可见,每一台设备占用了若干个地址码,分别表示相应的设备控制器中的寄存器地址。,表10.1 输入输出地址分配表,设备控制器(I/O接口)的基本功能是:(1)实现主机和外围设备之间的数据传送控制。包括同步控制、设备选择和中断控制等。DMA设备还具有直接访问存储器功能,并给出存储器地址。(2)实现数据缓冲,以达到主机同外围设备之间的速度匹配。在接口电路中,一般设置一个或几个数据缓冲寄存器。在传送过程中,先将数据送入数据缓冲寄存器,然后再送到目的设备(输出)或主机(输入)。(3)接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。,输入输出接口类型有:(1)按照数据传送的宽度可分为并行接口
4、和串行接口。在并行接口中,设备和接口是将一个字节(或字)的所有位同时传送。在串行接口中,设备和接口间的数据是一位一位串行传送的,而接口和主机之间是按字节或字并行传送。接口要完成数据格式的串并变换。(2)按照数据传送的控制方式可分成程序控制输入输出接口,程序中断输入输出接口和直接存储器存取(DMA)接口等。,10.1.2 I/O设备数据传送控制方式1.程序直接控制方式程序直接控制(programed direct control)方式就是完全通过程序来控制主机和外围设备之间的信息传送。通常的办法是在用户的程序中安排一段由输入输出指令和其他指令所组成的程序段直接控制外围设备的工作。传送时,首先启动
5、设备,发出启动命令,接着CPU等待外围设备完成接收或发送数据的准备工作。在等待时间内,CPU不断地用一条测试指令检测外围设备工作状态标志触发器。一旦测试到标志触发器已置成“完成”状态,即可进行数据传送。,2.程序中断传送方式在程序中断传送(program interrupt transfer)方式中,通常在程序中安排一条指令,发出START信号启动外围设备,然后机器继续执行程序。当外围设备完成数据传送的准备后,便向CPU发“中断请求”(INT)信号。CPU接到请求后若可以停止正在运行的程序,则在一条指令执行完后(非流水线计算机),转去执行“中断服务程序”,完成传送数据工作,通常传送一个字或一个
6、字节。传送完毕仍返回原来的程序。,由于系统在启动外围设备后到数据的准备完成这段时间内一直在执行原程序,不是处于踏步等待状态,而仅仅在外围设备交换数据的准备工作完成之后才中止程序的继续执行,转而进行数据传送。因此,这在一定程度上实现了CPU和外围设备的并行工作。此外,有多台外设依次启动后,可同时进行数据交换的准备工作。若在某一时刻有几台外围设备发出中断请求信号,CPU可根据预先规定好的优先顺序,按轻重缓急去处理几台外设的数据传送,从而实现了外围设备的并行工作。因此,程序中断方式大大提高了计算机系统的工作效率。,3.直接存储器存取方式直接存储器存取(direct memory access,简称D
7、MA)方式的基本思想是在外围设备和主存之间开辟直接的数据传送通路。在正常工作时,所有工作周期均用于执行CPU的程序。当外围设备完成输入或输出数据的准备工作后,占用总线一个工作周期,和主存直接交换数据。这个周期过后,CPU又继续控制总线,执行原程序。如此重复,直到整个数据块的数据传送完毕。这项工作是由I/O系统中增设的DMA控制器完成的,由它给出每次传送数据的主存地址,并统计已传送数据的个数以确定是否传送结束。,除了在数据块传送的起始和结束时需用中断分别进行前处理和后处理外,无需CPU的频繁干预。主存储器被并行工作的CPU和I/O子系统所共享。DMA方式也有不足之处。首先,对外围设备的管理和某些
8、操作的控制仍需由CPU承担。在大中型计算机系统中,系统所配备的外设种类多、数量大,这样,对外设的管理和控制也就愈来愈多,愈来愈复杂。大容量外存的使用,使主存和外存之间的数据流量大幅度增加,有时还要求多个DMA同时使用,引起访问主存的冲突增加。因此,在大型计算机系统中通常设置专门的硬件装置通道。,4.I/O通道控制(I/O channel control)方式“通道”不是一般概念的I/O通路,它是一个专用的名称。通道能独立地执行用通道命令编写的输入输出控制程序,产生相应的控制信号送给由它管辖的设备控制器,继而完成复杂的输入输出过程。通道是一种通用性和综合性都较强的输入输出方式,它代表了现代计算机
9、组织向功能分布方向发展的初始发展阶段,形成了如图10.1的结构。,图10.1 输入输出系统的结构(具有CH或I/O处理机),5.外围处理机方式输入输出处理机通常称作外围处理机(peripheral processor unit,简称PPU)。这种外围处理机的结构更接近一般处理机,甚至就是一般小型通用计算机或微机。它可完成I/O通道所要完成的I/O控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成I/O程序所必需的程序转移手段。有了外围处理机,不但可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。,外围
10、处理机基本上独立于主机工作。在某些大型计算机系统中,设置多台外围处理机,分别承担I/O控制、通信、维护、诊断等任务。有了外围处理机后,使计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统。该系统的结构与图10.1所示类似,但要将图中的CH改为I/O处理机。,10.2 程序中断输入输出方式10.2.1 中断的作用、产生和影响1.中断的作用“中断”是由I/O设备或其他非预期的急需处理的事件引起的,它使CPU暂时中断现在正在执行的程序,而转至另一服务程序去处理这些事件。处理完后再返回原程序。中断有下列一些作用:(1)CPU与I/O设备并行工作图10.2表示出CPU和I/O设备(针式打
11、印机)并行工作的时间安排。,图10.2 CPU与打印机并行工作时间图,(2)硬件故障处理计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。(3)实现人机联系在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的机器里这些功能几乎是无法实现的。利用中断系统实现人机通信是很方便、很有效的。,(4)实现多道程序和分时操作计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,由I/O中断系统切换到另外一道程序运行。也可以通过分配每道程序一个固定时
12、间片,利用时钟定时发中断进行程序切换。(5)实现实时处理所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中断正在执行的程序,转而去执行中断服务程序。,(6)实现应用程序和操作系统(管态程序)的联系可以在用户程序中安排一条“Trap”指令进入操作系统,称之为“软中断”。其中断处理过程与其他中断类似。(7)多处理机系统各处理机间的联系在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。,2.有关中断的产生和响应的概念(1)中断源引起中断的事件,即发出中断请求的来源,称为
13、中断源。中断源的种类I/O设备、定时钟等来自处理机外部设备的中断,又叫外中断。处理器硬件故障或程序“出错”引起的中断,又叫内中断。由“Trap”指令产生的软中断,这是在程序中预先安排好的。而前面两种中断则是随机发生的。,中断触发器当中断源发生引起中断的事件时,先将它保存在设备控制器的“中断触发器”中,即将“中断触发器”置“1”。当中断触发器为“1”时,向CPU发出“中断请求”信号。每个中断源有一个中断触发器。全机的多个中断触发器构成中断寄存器。其内容称为中断字或中断码。CPU进行中断处理时,根据中断字确定中断源,转入相应的服务程序。,(2)中断的分级与中断优先权在设计中断系统时,要把全部中断源
14、按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序。当中断源数量很多时,中断字就会很长;同时也由于软件处理的方便,一般把所有中断按不同的类别分为若干级,称为中断级,在同一级中还可以有多个中断源。首先按中断级确定优先次序,然后在同一级内再确定各个中断源的优先权。,当对设备分配优先权时,必须考虑数据的传输率和服务程序的要求。如果来自某些设备的数据只是在一个短的时间内有效,为了保证数据的有效性,通常把最高的优先权分配给它们。较低的优先权分配给数据有效期较长的设备,以及具有数据自动恢复能力的设备。,(3)禁止中断和中断屏蔽 禁止中断产生中断源后
15、,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器为“1”状态时,才允许处理机响应中断;如果该触发器被清除,则不响应所有中断源申请的中断。前者叫做允许中断,后者叫做禁止中断。“中断允许”触发器通过“开中断”或“关中断”指令来置位、复位。进入中断服务程序后自动“关中断”。,中断屏蔽当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该
16、设备的中断请求得到响应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。,有些中断请求是不可屏蔽的,也就是说,不管中断系统是否开中断,这些中断源的中断请求一旦提出,CPU必须立即响应。例如,电源掉电就是不可屏蔽中断。所以,中断又分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先权。一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。,10.2.2 中断处理1.中断处理过程不同计算机对中断的处理各具特色,就其多数而论,中断处理过程可如图10.3所示。(1)关中断,进入不可再次响应中断的状态,由硬件自动实现。(2)保存断点和现场为了在中断处理结束后能正确地返回到中断点
17、,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。,图10.3 中断处理过程,(3)判别中断源,转向中断服务程序。(4)开中断。开中断将允许更高级中断请求得到响应,实现中断嵌套。(5)执行中断服务程序。不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。(6)退出中断。在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。进入中断时执行的关中断、保存断点等操作一般是由硬件实现的,它类似于一条指令,但它与一般的指令不同,不能被编写在程序中。因此
18、,常常称为“中断隐指令”。,2.判别中断源可以有软件和硬件两种方法来确定中断源。(1)查询法由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志),当遇到第一个“1”标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。(2)串行排队链法由硬件确定中断源。图10.4(a)为中断请求逻辑图,图10.4(b)为串行排队判优先线路。,图10.4 中断请求串行排队逻辑,3.多重中断处理多重中断是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的执行,又转去进行新的中断处理。这种重叠处理中断的现象又称为中断嵌套。一般情况下,在处理某级
19、中的某个中断时,与它同级的或比它低级的新中断请求应不能中断它的处理,而在处理完该中断返回主程序后,再去响应和处理这些新中断。而比它优先级高的新中断请求却能中断它的处理。图10.5所示为一个4级中断嵌套的例子。,图10.5 多重中断处理示意图,10.2.3 程序中断设备接口的组成和工作原理程序中断设备接口,一般由设备选择器、中断控制和工作状态逻辑、中断排队控制逻辑、设备码回送逻辑和数据缓冲寄存器等组成。接口标准化,通过总线与主机相连。图10.6为某机程序中断设备接口框图。由下列电路组成:(1)设备选择器每一台外围设备接口都设置一个设备选择器,连接在系统上的每一台设备都有一个设备号。,图10.6
20、某机程序中断设备接口框图,(2)中断控制和工作状态逻辑(3)中断排队和设备码回送逻辑(4)数据缓冲寄存器除上述标准部件外,各外围设备还可设置一些特殊的控制电路,以适应不同的外围设备的需要,如启停电路等。不同机器的程序中断设备接口逻辑是不同的,但基本原理是一致的。,程序中断控制逻辑已由专用集成电路芯片实现。Intel 8259A中断控制器件的内部结构如图10.7所示。它由八个部分组成:中断请求寄存器、中断状态寄存器、优先级判断器、中断屏蔽寄存器、中断控制逻辑、数据缓冲器、级联缓冲器/比较器和读/写逻辑。,图10.7 8259A中断控制器,10.3 DMA输入输出方式DMA是I/O设备与主存储器之
21、间由硬件组成的直接数据通路,用于高速I/O设备与主存之间的成组数据传送。数据传送是在DMA控制器控制下进行的,由DMA控制器给出当前正在传送的数据字的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据。在数据传送前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。,10.3.1 DMA三种工作方式1.CPU暂停方式主机响应DMA请求后,让出存储总线,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU,采用这种工作方式的I/O设备,在其接口中一般设置有存取速度较快的小容量存储器,I/O设备与小
22、容量存储器交换数据,小容量存储器与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少CPU暂停工作时间。,2.CPU周期窃取方式DMA控制器与主存储器之间传送一个数据,占用(窃取)一个CPU周期,即CPU暂停工作一个周期,然后继续执行程序。3.直接访问存储器工作方式这是标准的DMA工作方式,如传送数据时CPU正好不占用存储总线,则对CPU不产生任何影响。如DMA和CPU同时需要访问存储总线,则DMA的优先级高于CPU。在DMA传送数据过程中,不能占用或破坏CPU硬件资源或工作状态,否则将影响CPU的程序执行。,10.3.2 DMA控制器组成DMA控制器基本组成如图10.8所示。它包
23、括多个设备寄存器、中断控制和DMA控制逻辑等。图10.8 DMA控制器组成,1.设备寄存器DMA控制器中主要的寄存器有:(1)主存地址寄存器(MAR)该寄存器初始值为主存缓冲区的首地址,在传送前由程序送入。(2)外围设备地址寄存器(ADR)该寄存器存放I/O设备的设备码,或者表示设备信息存储区的寻址信息。(3)字数计数器(WC)该计数器对传送数据的总字数进行统计。(4)控制与状态寄存器(CSR)该寄存器用来存放控制字和状态字。,(5)数据缓冲寄存器(DBR)该寄存器用来暂存I/O设备与主存传送的数据。2.中断控制逻辑DMA中断控制逻辑负责申请CPU对DMA进行预处理和后处理。3.DMA控制逻辑
24、一般包括设备码选择电路,DMA优先排队电路,产生DMA请求的线路等,在DMA取得总线控制权后控制主存和设备之间的数据传送。4.DMA 接口与主机和 IO 设备两个方向的数据线、地址线和控制信号线以及有关收发与驱动线路。,10.3.3 DMA的数据传送过程DMA 的数据传送过程可分为三个阶段:DMA 传送前预处理、数据传送及传送后处理,如图10.9(a)所示。图10.9(b)所示的是第二阶段数据传送过程。1.DMA 预处理在进行 DMA 数据传送之前要用程序做一些必要的准备工作。2.DMA 控制 IO 设备与主存之间的数据交换3.CPU 中断原程序进行后处理,图10.9 DMA 数据传送过程,1
25、0.3.4 软盘接口逻辑电路举例为了实现 CPU 和软盘驱动器之间的快速数据传送,在 CPU 和软盘驱动器之间需设置软盘控制器。为方便设计,并减少设备控制器所需器件数目,半导体厂家设计了 DMA 控制器电路,Intel 8257,Intel 82285 就是 DMA 控制器电路。图10.10所示的软盘控制器接口逻辑电路中采用了 8257 DMA 控制器。,图10.10 软盘控制器接口逻辑电路,10.4 通道控制方式和外围处理机方式对于高速外设的成组数据交换,采用 DMA 方式不仅节省了 CPU 开销,而且提高了系统的吞吐能力。但在大、中型计算机中,外设配置多,数据传送频繁,如仍采用 DMA 方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 IO 系统
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4880880.html