计算机组成原理(华科版)第七章输入输出系统.ppt
《计算机组成原理(华科版)第七章输入输出系统.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理(华科版)第七章输入输出系统.ppt(79页珍藏版)》请在三一办公上搜索。
1、,第七章 输出/输入系统,现代电子计算机系统可以分为3个部分:运算处理子系统,I/O子系统和通信网络子系统。计算机的I/O系统包括I/O接口、I/O管理部件及有关软件。一个计算机系统的综合处理能力,系统的可扩展性、兼容性和性能价格比,都和I/O系统有密切关系。,7.1 信息交换的控制方式,信息交换的控制方式一般分为5种类型。1.程序查询方式(Programmed Direct Control)这种方式又称为程序直接控制方式,是指信息交换的控制完全由主机执行程序来实现。当主机执行到某条指令时,发出询问信号,读取设备的状态,并根据设备状态,决定下一步操作,这样要花费很多时间用于查询和等待,效率大大
2、降低。这种控制方式用于早期的计算机。现在,除了在微处理器或微型机的特殊应用场合,为了求得简单而采用外,一般不采用了。,2.程序中断控制方式(Program Interrupt Transfer)在程序中断控制方式中,外部设备在完成了数据传送的准备工作后,主动向CPU提出传送请求,CPU暂停原执行的程序,转向信息交换服务。在这种方式下,CPU的效率得到提高,这是因为设备在数据传送准备阶段时,CPU仍在执行原程序;此外,CPU不再像程序直接控制方式下那样被一台外设独占,它可以同时与多台设备进行数据传送。这种方式的缺点是,在信息传送阶段,CPU仍要执行一段程序控制,还没有完全摆脱对I/O操作的具体管
3、理。,3.直接内存访问方式(Direct Memory AccessDMA)DMA方式是一种完全由硬件进行成组信息传送的控制方式。它具有程序中断控制方式的优点,即在设备准备数据阶段,CPU与外设能并行工作。它降低了CPU在数据传送时的开销,这是因为DMA接替了CPU对I/O中间过程的具体干预,信息传送不再经过CPU,而在内存和外设之间直接进行,因此,称为直接内存访问方式。由于在数据传送过程中不使用CPU,也就不存在保护CPU现场,恢复CPU现场等繁琐操作,因此数据传送速度很高。这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送。它的硬件开销比较大。DMA接口中,中断处理逻辑还要保留。不同的
4、是,DMA接口中的中断处理逻辑,仅用于故障中断和正常传送结束中断时的处理。,4.通道方式(Channel Control)通道方式利用了DMA技术,再加上软件,形成一种新的控制方式。通道是一种简单的处理机,它有指令系统,能执行程序。它的独立工作的能力比DMA强,能对多台不同类型的设备统一管理,对多个设备同时传送信息。,5.外围处理机方式(Peripheral Processor UnitPPU)外围处理机的结构更接近于一般的处理机,甚至就是一般小型通用计算机。它可完成I/O通道所要完成的I/O控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可
5、形成I/O程序所必须的程序转移等操作。它可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。外围处理机基本上独立于主机工作。在多数系统中,设置多台外围处理机,分别承担I/O控制、通信、维护诊断等任务。有了外围处理机后,计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统。,7.2 程序查询方式 程序查询方式又叫程序控制I/O方式。在这种方式中,数据在CPU和外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的。当执行I/O时,CPU暂停执行主程序,转去执行I/O的服务程序,根据服务程序中的I/O指令进行数据传送。,1.设备编址 用
6、程序实现I/O传送的机器,根据其结构特点,外围设备有两种不同的编址方法:统一编址法和单独编址法。所谓统一编址法,是将I/O设备中的控制寄存器、数据寄存器、状态寄存器等也和内存单元一样看待,将它们和内存单元一起编排地址。这样就可用访问内存的指令(读/写指令)去访问I/O设备的某个寄存器,因而不需要专门的I/O指令组。比如,用访问存储器的读/写指令就能实现I/O设备与CPU之间的数据传送。又如,比较指令可以用来比较I/O设备中某个寄存器的值,以此判断I/O操作的执行情况。,图7.2(a)所示的是统一编址的单总线结构,所有的I/O设备、内存和CPU共用一条总线。其中地址总线传送CPU要访问内存的地址
7、或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设备发出命令字,请求进行数
8、据传送;从I/O接口读入状态字;检查状态字中的标志,看看数据交换是否可以进行;假如这个设备没有准备就绪,则重复进行第步、第步,一直到这个设备准备好交换数据,发出准备就绪信号“Ready”为止;CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器中。与此同时,CPU将接口中的状态标志复位。,为此在实际应用中做如下改进:CPU在执行主程序的过程中可周期性地调用各I/O设备查询子程序,依次测试各I/O设备的状态触发器“Ready”。如果某设备的Ready为“0”,则依次测试下一个设备。图7.4所示的是典型的程序查询流程图。,设备服务子程序的主要功能是:实现数据传送
9、。输入时,由I/O指令将设备的数据送到CPU的某寄存器中,再由访内指令把寄存器中的数据存入内存某单元;输出时,其过程正好相反。修改内存地址,为下一次数据传送做准备。修改传送字节数,以便修改传送长度。进行状态分析或其他控制功能。.,图7.5 用SKP询问I/O设备的示意图,程序查询方式的优点是简单、经济,CPU 和I/O设备接口只需配备少量的硬设备。它的缺点是系统效率低,为了询问I/O设备是否有数据传送,CPU要周期性地停止主程序运行而转向查询子程序。如果有很多设备,查询程序所花费的时间是相当长的。,7.2.2 程序查询方式的接口,程序查询方式的接口电路包括设备选择电路、数据缓冲寄存器、设备状态
10、位和有关逻辑部件等。有的计算机采用统一编址,访问接口中的数据缓冲寄存器和设备状态字寄存器就像访问主存的存储单元一样。有的计算机不采用统一编址,也没有设备状态字寄存器,设备状态用分散的触发器表示.,1.设备选择电路 对于接到总线上的每个设备,已预先给定了设备地址码。CPU执行I/O指令时,需要把指令中的设备地址送到地址总线上,用以指示CPU要选择的设备。每个设备接口电路都有一个设备选择电路,用它判别地址总线上呼叫的设备是不是本设备。如果是,则本设备就进入工作状态,否则不予理睬。设备选择电路实际上是设备地址的译码器。2.数据缓冲寄存器 当进行输入操作时,用数据缓冲寄存器来存放从I/O设备读出的数据
11、,然后送往CPU;当进行输出操作时,用数据缓冲寄存器来存放CPU送来的数据,以便需要时经过I/O设备输出。3.设备状态位 设备状态位是接口中的标志触发器,如“忙”、“准备就绪”、“错误”等,用来标志设备的工作状态,以便接口对外设进行监视。一旦CPU用程序询问I/O设备时,就可将状态位信息取至CPU进行分析。,7.3 程序中断方式,7.3.1 中断的基本概念,中断(Interrupt)的概念是在20世纪50年代中期提出的,目前,它不仅在I/O过程中,而且在多道程序、分时操作、实时处理、人机联系、事故处理、程序的监视和跟踪、目态程序和操作系统的联系以及多处理机系统中各机的联系等方面都起着重要作用。
12、从更广泛的含义上来理解,所谓中断是指计算机由任何非寻常的或非预期的急需处理的事件引起CPU暂时中断现行程序的执行,而转向运行另一服务程序,去处理这些事件,等处理完后又返回原程序,这一整个执行过程。,1.CPU与I/O设备并行工作 引入中断系统后,可实现CPU与I/O设备的并行运行,大大提高了计算机的效率。,图7.7 CPU与打印机并行工作,2.提高了机器的可靠性 在计算机工作时,当运行的程序发生错误,或者硬设备出现某些故障时,机器中断系统可以自动进行处理,避免某些偶然故障引起的计算错误或停机,提高了机器的可靠性。3.便于实现人机联系 在计算机工作过程中,人要随机地干预机器,如抽查计算的中间结果
13、、了解机器的工作状态、给机器下达临时性的命令等。在没有中断系统的机器里,这些工作几乎是无法完成的。利用中断系统实现人机通信是很方便、很有效的。4.实现多道程序 计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,可以由I/O中断系统切换到另外一道程序运行,也可以通过分配给每道程序一个固定时间片,利用时钟定时发送中断进行程序切换。,5.实现实时处理 所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。6.实现目态程序和操作系统的联系 在现代计算机中,用户程序往往可以安排一条“访问管理程序”指令来调用操作系统的管理
14、程序,这种调用是通过中断来实现的。通常称机器在执行用户程序时为目态,称机器执行管理程序时为管态。通过中断可以实现目态和管态之间的变换。7.多处理机系统各处理机间的联系 在多处理机系统中,处理机和处理机间的信息交流和任务切换都是通过中断来实现的。,7.3.2 CPU响应中断的条件,CPU要响应中断必须满足如下3个条件:中断源有中断请求;CPU允许接受中断请求;一般情况下,都要等到一条指令执行完毕后才能响 应中断,除非遇到特殊的长指令才允许中途打断它们。引起中断的事件,或者发出中断请求的来源统称为中断源。CPU停止执行现行程序,转去处理中断请求称为中断响应。若CPU进入可中断方式,即允许接受中断请
15、求,则称为“开中断”,否则,CPU处于不可中断状态,称为“关中断”,或称为禁止中断。中断请求、中断允许、禁止和中断的响应都是由硬件实现的。,1.中断源的种类 由外围设备引起的中断,要求CPU介入I/O操作。例如,慢速设备的缓冲寄存器准备好接收或发送数据;信息块传送的前、后处理;设备的启动或非数据控制动作(如磁带、磁盘定位)的完成;I/O的任一环节出错等。由运算器产生的中断,由存储器产生的中断,控制器产生的中断,过程控制产生的中断,时钟定时中断。电源故障中断。,发生在主机内部的中断称为内中断。内中断有强迫中断和自愿中断两种。强迫中断产生的原因有硬件故障和软件出错等。强迫中断是在CPU没有事先预料
16、的情况下发生的,此时CPU不得不停下现行的工作。自愿中断是出于计算机系统管理的需要,自愿地进入中断。,上述中断类型如下所示:,2.中断源的建立 为了记录中断事件是否发生,利用了具有存储功能的触发器,一般称为中断触发器。当一个中断源有中断请求时,其相应的中断触发器置成“1”状态。此时,该中断源向CPU发出中断请求信号。多位中断触发器构成一个中断寄存器,其中每一位对应一种中断请求源。这每一位称为一个中断位,中断寄存器的内容称为中断字或中断码。CPU在进行中断处理时,根据中断字和中断位确定中断源,以便用相应的服务程序来处理。3.中断的分级与中断优先权 在设计中断系统时,要把全部中断源按中断性质和处理
17、的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对中断响应的优先次序。,4.禁止中断和中断屏蔽(1)禁止中断 产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器置“1”状态,才允许中断源等待CPU响应;如果该触发器被清除,则不允许所有中断源申请中断。前者称为允许中断,后者称为禁止中断。“中断允许”触发器通过“开中断”、“关中断”指令来置位或复位。(2)中断屏蔽 当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余的中断仍得到响应,称为中断屏蔽。实现方法是为每一个中断源设置一个中断屏蔽
18、触发器来屏蔽该设备的中断请求。具体来说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,则允许该设备的中断请求得到响应。,7.3.3 中断处理,一旦CPU响应中断的条件得到满足,CPU便开始响应中断,转入中断服务程序,进行中断处理。按照中断处理方式可以把中断分为简单中断和程序中断两种。程序中断。如果主机在响应中断请求后,是通过执行一段服务程序来处理有关事项的,则称为程序中断,简称为中断。这种方式要求CPU响应中断后,暂停原程序的执行,并将断点(主程序返回地址)和现场情况(如程序状态字以及有关寄存器内容)保存起来,然后转入中断服务程序的执行。程序中断主要用于中、慢速I/O设
19、备的数据传送以及要求进行复杂处理的场合。简单中断。在DMA方式的 I/O过程中,主机响应中断后不要执行服务程序,而是让出一个或几个存取周期供I/O设备与主存直接交换数据。此时,CPU可以暂停运行,也可以执行非访问内存储器操作。这种中断只是暂停一个或几个存取周期,不破坏被中断的程序现场,因此,不需要进行现场保护工作。这种中断称为简单中断,一般称为DMA。,1中断处理步骤 计算机对中断的处理各具特色,就其多数而论,中断处理过程如图7.8所示。关中断。进入不可再次响应中断的状态。因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应,否则,如果把现场保存不
20、完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序了。保存断点和现场。为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。,对现场信息的处理有两种方式:一种是由硬件对现场信息进行保存和恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有的机器把断点保存在主存固定的单元,中断屏蔽码也保存在固定单元中;有的机器则不然,它在每次响应中断后把CPU中程序状态字和指令计数器内容相继压入堆栈,再从指定的两个主存单元分别取出新的指令计数器内容和CPU中程序状态字来代替
21、,称为交换新、旧状态字方式。,判别中断条件,转向中断服务程序。在多个中断条件同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源,所以,需进一步判别中断条件,并转入相应的中断服务程序入口。开中断。因为接下去就要执行中断服务程序,因此开中断允许更高级中断请求得到响应,实现中断嵌套。执行中断服务程序。退出中断。在退出时,又应进入不可中断状态,即关中断,恢复现场,恢复断点,然后开中断,返回原程序执行。,2.判别中断条件(1)查询法 这是最简单的实现方法。如图7.9所示,每一个中断源都附带一个标志,该标志置位代表相应中断源请求中断,因此,判别中断条件只需用测试指令按一定优先次序检查这些标志
22、,先遇到的第一个“1”标志即优先得到服务,在此之前,遇到“0”标志均跳过而继续检查下一个。,图7.9 中断请求逻辑图,图7.10 查询中断执行过程流程图,这种软件查询方法适用于低速和中速设备。它的优点是中断条件标志的优先级可用程序任意改变,灵活性好。缺点是设备多时速度太慢。,(2)串行排队链法与向量中断 串行排队链法是由硬件实现的具有公共请求线的判优选择方式,其逻辑线路如图7.11所示。,图7.11 串行排队链判优识别及中断向量产生逻辑线路,图中下半部分由门1门6组成一个串行的优先链,称做排队链。IRi是从各设备来的中断请求信号,优先顺序从高到低,依次是:IR1、IR2、IR3。若要扩充中断源
23、,则可根据其优先权的高低串接于优先链的左端和右端。图的上半部分是一个编码电路,它将产生请求中断的设备中优先权最高的设备码(中断向量)经总线送往CPU。图中,IS1、IS2、IS3为IR1、IR2、IR3对应的中断排队选中信号。INTA是由CPU送来的取中断设备码信号。为中断排队输入信号,为中断排队输出信号。总线标号由下而上为第0位至第5位。当没有更高优先权的请求时,=0,门1的输出为高电平,即IS1=1;若此时中断请求信号IR1为高(即有中断请求),且INTA为高电平,则IR1被选中,此时,为低,使得IS2、IS3全为低电平,则IR2、IR3中断请求被封锁。这时向CPU发出中断请求,并由译码电
24、路将设备码(001010)2送总线。CPU从总线取走该设备码,并执行其中断服务程序。,若此时IR1无中断请求,则为高电平,IR1为低电平,经过门2和门3,使IS2为高电平。如果IS2为高电平,则被选中。否则,将顺序选择请求中断的中断源优先权最高者。使用上述中断判优方式时,可以采用不同的转向中断服务程序入口地址的方法。一种是在中断总控程序中设一条专门接收中断指令INTA,得到设备号后,再由主存的跳跃表产生中断服务程序入口地址。另一种是目前应用更广泛的方法,叫做向量中断。向量中断方式是为每一个中断源设置一个中断向量的方式。中断向量包括了该中断源的中断服务程序入口地址。它完全由硬件直接产生中断响应信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 华科版 第七 输入输出 系统

链接地址:https://www.31ppt.com/p-6023911.html