资源预览内容
第1页 / 共79页
第2页 / 共79页
第3页 / 共79页
第4页 / 共79页
第5页 / 共79页
第6页 / 共79页
第7页 / 共79页
第8页 / 共79页
第9页 / 共79页
第10页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,第七章 输出/输入系统,现代电子计算机系统可以分为3个部分:运算处理子系统,I/O子系统和通信网络子系统。计算机的I/O系统包括I/O接口、I/O管理部件及有关软件。一个计算机系统的综合处理能力,系统的可扩展性、兼容性和性能价格比,都和I/O系统有密切关系。,7.1 信息交换的控制方式,信息交换的控制方式一般分为5种类型。 1. 程序查询方式(Programmed Direct Control)这种方式又称为程序直接控制方式,是指信息交换的控制完全由主机执行程序来实现。当主机执行到某条指令时,发出询问信号,读取设备的状态,并根据设备状态,决定下一步操作,这样要花费很多时间用于查询和等待,效率大大降低。这种控制方式用于早期的计算机。现在,除了在微处理器或微型机的特殊应用场合,为了求得简单而采用外,一般不采用了。,2. 程序中断控制方式(Program Interrupt Transfer)在程序中断控制方式中,外部设备在完成了数据传送的准备工作后,主动向CPU提出传送请求,CPU暂停原执行的程序,转向信息交换服务。在这种方式下,CPU的效率得到提高,这是因为设备在数据传送准备阶段时,CPU仍在执行原程序;此外,CPU不再像程序直接控制方式下那样被一台外设独占,它可以同时与多台设备进行数据传送。这种方式的缺点是,在信息传送阶段,CPU仍要执行一段程序控制,还没有完全摆脱对I/O操作的具体管理。,3. 直接内存访问方式(Direct Memory AccessDMA)DMA方式是一种完全由硬件进行成组信息传送的控制方式。它具有程序中断控制方式的优点,即在设备准备数据阶段,CPU与外设能并行工作。它降低了CPU在数据传送时的开销,这是因为DMA接替了CPU对I/O中间过程的具体干预,信息传送不再经过CPU,而在内存和外设之间直接进行,因此,称为直接内存访问方式。由于在数据传送过程中不使用CPU,也就不存在保护CPU现场,恢复CPU现场等繁琐操作,因此数据传送速度很高。这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送。它的硬件开销比较大。DMA接口中,中断处理逻辑还要保留。不同的是,DMA接口中的中断处理逻辑,仅用于故障中断和正常传送结束中断时的处理。,4. 通道方式(Channel Control)通道方式利用了DMA技术,再加上软件,形成一种新的控制方式。通道是一种简单的处理机,它有指令系统,能执行程序。它的独立工作的能力比DMA强,能对多台不同类型的设备统一管理,对多个设备同时传送信息。,5. 外围处理机方式(Peripheral Processor UnitPPU)外围处理机的结构更接近于一般的处理机,甚至就是一般小型通用计算机。它可完成I/O通道所要完成的I/O控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成I/O程序所必须的程序转移等操作。它可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。外围处理机基本上独立于主机工作。在多数系统中,设置多台外围处理机,分别承担I/O控制、通信、维护诊断等任务。有了外围处理机后,计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统。,7.2 程序查询方式程序查询方式又叫程序控制I/O方式。在这种方式中,数据在CPU和外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的。当执行I/O时,CPU暂停执行主程序,转去执行I/O的服务程序,根据服务程序中的I/O指令进行数据传送。,1. 设备编址用程序实现I/O传送的机器,根据其结构特点,外围设备有两种不同的编址方法:统一编址法和单独编址法。 所谓统一编址法,是将I/O设备中的控制寄存器、数据寄存器、状态寄存器等也和内存单元一样看待,将它们和内存单元一起编排地址。这样就可用访问内存的指令(读/写指令)去访问I/O设备的某个寄存器,因而不需要专门的I/O指令组。比如,用访问存储器的读/写指令就能实现I/O设备与CPU之间的数据传送。又如,比较指令可以用来比较I/O设备中某个寄存器的值,以此判断I/O操作的执行情况。,图7.2(a)所示的是统一编址的单总线结构,所有的I/O设备、内存和CPU共用一条总线。其中地址总线传送CPU要访问内存的地址或I/O设备的地址;数据总线传送数据、指令和状态信息;控制总线传送定时信号和各种控制信号。,在图7.2(b)所示的机器结构中,内存地址和 I/O设备的地址是分开的。当访问内存时,由内存读、内存写两条控制线控制;当访问I/O设备时,由I/O读、I/O写两条控制线控制,这种方法将为单独编址法。,7.2.1 程序查询I/O方式,其基本思想是,CPU要执行一段I/O程序,则用其中一条指令查询设备状态,如果设备的数据传送没有准备好,就重复执行询问指令,一直等到设备准备好为止。,程序查询方式是利用程序控制来实现CPU和I/O设备之间的数据传送的方法。程序执行的动作如下: 先向I/O设备发出命令字,请求进行数据传送; 从I/O接口读入状态字; 检查状态字中的标志,看看数据交换是否可以进行; 假如这个设备没有准备就绪,则重复进行第步、第步,一直到这个设备准备好交换数据,发出准备就绪信号“Ready”为止; CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器中。与此同时,CPU将接口中的状态标志复位。,为此在实际应用中做如下改进:CPU在执行主程序的过程中可周期性地调用各I/O设备查询子程序,依次测试各I/O设备的状态触发器“Ready”。如果某设备的Ready为“0”,则依次测试下一个设备。图7.4所示的是典型的程序查询流程图。,设备服务子程序的主要功能是:实现数据传送。输入时,由I/O指令将设备的数据送到CPU的某寄存器中,再由访内指令把寄存器中的数据存入内存某单元;输出时,其过程正好相反。修改内存地址,为下一次数据传送做准备。修改传送字节数,以便修改传送长度。进行状态分析或其他控制功能。 .,图7.5 用SKP询问I/O设备的示意图,程序查询方式的优点是简单、经济,CPU 和I/O设备接口只需配备少量的硬设备。它的缺点是系统效率低,为了询问I/O设备是否有数据传送,CPU要周期性地停止主程序运行而转向查询子程序。如果有很多设备,查询程序所花费的时间是相当长的。,7.2.2 程序查询方式的接口,程序查询方式的接口电路包括设备选择电路、数据缓冲寄存器、设备状态位和有关逻辑部件等。有的计算机采用统一编址,访问接口中的数据缓冲寄存器和设备状态字寄存器就像访问主存的存储单元一样。有的计算机不采用统一编址,也没有设备状态字寄存器,设备状态用分散的触发器表示.,1. 设备选择电路对于接到总线上的每个设备,已预先给定了设备地址码。CPU执行I/O指令时,需要把指令中的设备地址送到地址总线上,用以指示CPU要选择的设备。每个设备接口电路都有一个设备选择电路,用它判别地址总线上呼叫的设备是不是本设备。如果是,则本设备就进入工作状态,否则不予理睬。设备选择电路实际上是设备地址的译码器。 2. 数据缓冲寄存器当进行输入操作时,用数据缓冲寄存器来存放从I/O设备读出的数据,然后送往CPU;当进行输出操作时,用数据缓冲寄存器来存放CPU送来的数据,以便需要时经过I/O设备输出。 3. 设备状态位设备状态位是接口中的标志触发器,如“忙”、“准备就绪”、“错误”等,用来标志设备的工作状态,以便接口对外设进行监视。一旦CPU用程序询问I/O设备时,就可将状态位信息取至CPU进行分析。,7.3 程序中断方式,7.3.1 中断的基本概念,中断(Interrupt)的概念是在20世纪50年代中期提出的,目前,它不仅在I/O过程中,而且在多道程序、分时操作、实时处理、人机联系、事故处理、程序的监视和跟踪、目态程序和操作系统的联系以及多处理机系统中各机的联系等方面都起着重要作用。 从更广泛的含义上来理解,所谓中断是指计算机由任何非寻常的或非预期的急需处理的事件引起CPU暂时中断现行程序的执行,而转向运行另一服务程序,去处理这些事件,等处理完后又返回原程序,这一整个执行过程。,1. CPU与I/O设备并行工作引入中断系统后,可实现CPU与I/O设备的并行运行,大大提高了计算机的效率。,图7.7 CPU与打印机并行工作,2. 提高了机器的可靠性在计算机工作时,当运行的程序发生错误,或者硬设备出现某些故障时,机器中断系统可以自动进行处理,避免某些偶然故障引起的计算错误或停机,提高了机器的可靠性。 3. 便于实现人机联系在计算机工作过程中,人要随机地干预机器,如抽查计算的中间结果、了解机器的工作状态、给机器下达临时性的命令等。在没有中断系统的机器里,这些工作几乎是无法完成的。利用中断系统实现人机通信是很方便、很有效的。4. 实现多道程序计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,可以由I/O中断系统切换到另外一道程序运行,也可以通过分配给每道程序一个固定时间片,利用时钟定时发送中断进行程序切换。,5. 实现实时处理所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。6. 实现目态程序和操作系统的联系在现代计算机中,用户程序往往可以安排一条“访问管理程序”指令来调用操作系统的管理程序,这种调用是通过中断来实现的。通常称机器在执行用户程序时为目态,称机器执行管理程序时为管态。通过中断可以实现目态和管态之间的变换。7. 多处理机系统各处理机间的联系在多处理机系统中,处理机和处理机间的信息交流和任务切换都是通过中断来实现的。,7.3.2 CPU响应中断的条件,CPU要响应中断必须满足如下3个条件: 中断源有中断请求; CPU允许接受中断请求; 一般情况下,都要等到一条指令执行完毕后才能响 应中断,除非遇到特殊的长指令才允许中途打断它们。引起中断的事件,或者发出中断请求的来源统称为中断源。CPU停止执行现行程序,转去处理中断请求称为中断响应。若CPU进入可中断方式,即允许接受中断请求,则称为“开中断”,否则,CPU处于不可中断状态,称为“关中断”,或称为禁止中断。中断请求、中断允许、禁止和中断的响应都是由硬件实现的。,1. 中断源的种类 由外围设备引起的中断,要求CPU介入I/O操作。例如,慢速设备的缓冲寄存器准备好接收或发送数据;信息块传送的前、后处理;设备的启动或非数据控制动作(如磁带、磁盘定位)的完成;I/O的任一环节出错等。 由运算器产生的中断, 由存储器产生的中断, 控制器产生的中断, 过程控制产生的中断, 时钟定时中断。 电源故障中断。,发生在主机内部的中断称为内中断。内中断有强迫中断和自愿中断两种。强迫中断产生的原因有硬件故障和软件出错等。强迫中断是在CPU没有事先预料的情况下发生的,此时CPU不得不停下现行的工作。自愿中断是出于计算机系统管理的需要,自愿地进入中断。,上述中断类型如下所示:,2. 中断源的建立为了记录中断事件是否发生,利用了具有存储功能的触发器,一般称为中断触发器。当一个中断源有中断请求时,其相应的中断触发器置成“1”状态。此时,该中断源向CPU发出中断请求信号。多位中断触发器构成一个中断寄存器,其中每一位对应一种中断请求源。这每一位称为一个中断位,中断寄存器的内容称为中断字或中断码。CPU在进行中断处理时,根据中断字和中断位确定中断源,以便用相应的服务程序来处理。3. 中断的分级与中断优先权在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对中断响应的优先次序。,4. 禁止中断和中断屏蔽 (1) 禁止中断产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器置“1”状态,才允许中断源等待CPU响应;如果该触发器被清除,则不允许所有中断源申请中断。前者称为允许中断,后者称为禁止中断。“中断允许”触发器通过“开中断”、“关中断”指令来置位或复位。 (2) 中断屏蔽当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余的中断仍得到响应,称为中断屏蔽。 实现方法是为每一个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体来说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,则允许该设备的中断请求得到响应。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号