【文档说明】计算机组成原理(华科版)第七章-输入输出系统课件.ppt,共(79)页,577.512 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76855.html
以下为本文档部分文字说明:
计算机组成原理第七章输入输出系统1第七章输出/输入系统计算机组成原理第七章输入输出系统2现代电子计算机系统可以分为3个部分:运算处理子系统,I/O子系统和通信网络子系统。计算机的I/O系统包括I/O接口、I/O管理部件及有关软件。一个计算机系统的综合
处理能力,系统的可扩展性、兼容性和性能价格比,都和I/O系统有密切关系。计算机组成原理第七章输入输出系统37.1信息交换的控制方式信息交换的控制方式一般分为5种类型。1.程序查询方式(ProgrammedDirectCon
trol)这种方式又称为程序直接控制方式,是指信息交换的控制完全由主机执行程序来实现。当主机执行到某条指令时,发出询问信号,读取设备的状态,并根据设备状态,决定下一步操作,这样要花费很多时间用于查询和等待,效率大大降低。这种控制方
式用于早期的计算机。现在,除了在微处理器或微型机的特殊应用场合,为了求得简单而采用外,一般不采用了。计算机组成原理第七章输入输出系统42.程序中断控制方式(ProgramInterruptTransfer)在程序中断控制方式中,外部设备在完成了数据传送的准
备工作后,主动向CPU提出传送请求,CPU暂停原执行的程序,转向信息交换服务。在这种方式下,CPU的效率得到提高,这是因为设备在数据传送准备阶段时,CPU仍在执行原程序;此外,CPU不再像程序直接控制方式下那样被一台外设独占,它可以同时与多台设备进行数据传
送。这种方式的缺点是,在信息传送阶段,CPU仍要执行一段程序控制,还没有完全摆脱对I/O操作的具体管理。计算机组成原理第七章输入输出系统53.直接内存访问方式(DirectMemoryAccess—DMA)DMA方式是一种完全由硬件进行成组信息传送的控制方式。它具有程序中
断控制方式的优点,即在设备准备数据阶段,CPU与外设能并行工作。它降低了CPU在数据传送时的开销,这是因为DMA接替了CPU对I/O中间过程的具体干预,信息传送不再经过CPU,而在内存和外设之间直接进行,因此,称为直接内存访问方式。由于在数据传送过程中不使用CPU,也就不存在保护CPU现场,
恢复CPU现场等繁琐操作,因此数据传送速度很高。这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送。它的硬件开销比较大。DMA接口中,中断处理逻辑还要保留。不同的是,DMA接口中的中断处理逻辑,仅用于故障中断和正常传送结束中断时的处理
。计算机组成原理第七章输入输出系统64.通道方式(ChannelControl)通道方式利用了DMA技术,再加上软件,形成一种新的控制方式。通道是一种简单的处理机,它有指令系统,能执行程序。它的独立工作的能力比
DMA强,能对多台不同类型的设备统一管理,对多个设备同时传送信息。计算机组成原理第七章输入输出系统75.外围处理机方式(PeripheralProcessorUnit—PPU)外围处理机的结构更接近于一般的处理机,甚至就是一般小型通用计算机。它可完成I
/O通道所要完成的I/O控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成I/O程序所必须的程序转移等操作。它可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工
具。外围处理机基本上独立于主机工作。在多数系统中,设置多台外围处理机,分别承担I/O控制、通信、维护诊断等任务。有了外围处理机后,计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统。计算机组成原理第七章输入输出系统8I/O控制方式主要由
程序实现主要由附加硬件实现程序查询方式程序中断方式DMA方式PPU方式通道方式图7.1外围设备的I/O方式计算机组成原理第七章输入输出系统97.2程序查询方式程序查询方式又叫程序控制I/O方式。在这种方
式中,数据在CPU和外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的。当执行I/O时,CPU暂停执行主程序,转去执行I/O的服务程序,根据服务程序中的I/O指令进行数据传送。计算机组成原理第七章输入输出系
统101.设备编址用程序实现I/O传送的机器,根据其结构特点,外围设备有两种不同的编址方法:统一编址法和单独编址法。所谓统一编址法,是将I/O设备中的控制寄存器、数据寄存器、状态寄存器等也和内存单元一样看待,将它们和内存单元一起编排地址。这样就可用访问内存
的指令(读/写指令)去访问I/O设备的某个寄存器,因而不需要专门的I/O指令组。比如,用访问存储器的读/写指令就能实现I/O设备与CPU之间的数据传送。又如,比较指令可以用来比较I/O设备中某个寄存器的值,以此判断I/O操作的执行情况。计算机组
成原理第七章输入输出系统11图7.2(a)所示的是统一编址的单总线结构,所有的I/O设备、内存和CPU共用一条总线。其中地址总线传送CPU要访问内存的地址或I/O设备的地址;数据总线传送数据、指令和状态信息;控制总线传送定时信号和各种控制
信号。内存数据线地址线控制线内存接口1I/O设备A接口2接口3I/O设备CI/O设备B(a)可统一编址的单总线结构计算机组成原理第七章输入输出系统12在图7.2(b)所示的机器结构中,内存地址和I/O设备的地址是分开的。当访问内存时,由内存读、内存写两条控制线控制;当
访问I/O设备时,由I/O读、I/O写两条控制线控制,这种方法将为单独编址法。内存数据线地址线存储写CPU接口1I/O设备AI/O设备C存储读接口2接口3I/O写I/O读I/O设备B(b)图7.2I/O设备的统一编址和单独编址(b)单独编址的单总线结构计算机组成原理第七章输入输出系统137.2.1
程序查询I/O方式其基本思想是,CPU要执行一段I/O程序,则用其中一条指令查询设备状态,如果设备的数据传送没有准备好,就重复执行询问指令,一直等到设备准备好为止。计算机组成原理第七章输入输出系统14程序查询方
式是利用程序控制来实现CPU和I/O设备之间的数据传送的方法。程序执行的动作如下:①先向I/O设备发出命令字,请求进行数据传送;②从I/O接口读入状态字;③检查状态字中的标志,看看数据交换是否可以进行;④假如这个设备没有准备就绪,则重复进行第②步、第③步,一直到这
个设备准备好交换数据,发出准备就绪信号“Ready”为止;⑤CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器中。与此同时,CPU将接口中的状态标志复位。传送数据主程序设备是否“准备就绪”是继续主程序地址程序说明m1m2m3m4NIO
S0,12SKPDN12JMPm2DIA0,12启动纸带输入机查询“就绪”是否为“1”“就绪”为“0”转m,等待纸带-排孔信息送至AC图7.3程序查询方式流程图及相应程序计算机组成原理第七章输入输出系统15为此在实际应用中做如下改进:C
PU在执行主程序的过程中可周期性地调用各I/O设备查询子程序,依次测试各I/O设备的状态触发器“Ready”。如果某设备的Ready为“0”,则依次测试下一个设备。图7.4所示的是典型的程序查询流程图。设备1服务程序设备1是否准备好?是否回去继续执行查询程序设备2服
务程序设备2是否准备好?是否回去继续执行查询程序设备3服务程序设备3是否准备好?是否回去继续执行查询程序设备4服务程序设备4是否准备好?是否回去继续执行查询程序调入“特征触发器查询子程序”主程序流计算机组成原理第
七章输入输出系统16设备服务子程序的主要功能是:①实现数据传送。输入时,由I/O指令将设备的数据送到CPU的某寄存器中,再由访内指令把寄存器中的数据存入内存某单元;输出时,其过程正好相反。②修改内存地址,为下一次数据传送做准备。③修改传送字节数,以便修改传送长度。④进行状
态分析或其他控制功能。….计算机组成原理第七章输入输出系统17SKP线状态标志线01Ready设备1译码1#y101Ready设备2译码2#y201Ready设备3译码3#y3CPUABUS图7.5用SKP询问I/O设备的
示意图程序查询方式的优点是简单、经济,CPU和I/O设备接口只需配备少量的硬设备。它的缺点是系统效率低,为了询问I/O设备是否有数据传送,CPU要周期性地停止主程序运行而转向查询子程序。如果有很多设备,查询程序所花费的时间是相当长的。计算机组成原理第七章输入输出系统187.2.2程序查询方式
的接口程序查询方式的接口电路包括设备选择电路、数据缓冲寄存器、设备状态位和有关逻辑部件等。有的计算机采用统一编址,访问接口中的数据缓冲寄存器和设备状态字寄存器就像访问主存的存储单元一样。有的计算机不采用统一编址,也没有设备状态字寄存器,设
备状态用分散的触发器表示.控制CPU寄存器①S01忙Ready⑥数据缓冲器②01就绪⑤③④数据缓冲器数据总线地址总线动作开始动作结束输入数据设备图7.6程序查询方式接口示意图计算机组成原理第七章输入输出系统191.设备选择电路对于接到总线上的每个设备,已
预先给定了设备地址码。CPU执行I/O指令时,需要把指令中的设备地址送到地址总线上,用以指示CPU要选择的设备。每个设备接口电路都有一个设备选择电路,用它判别地址总线上呼叫的设备是不是本设备。如果是,则本设备就进入工作状态,否则不予理睬。设备选择电路实际上是设备地址的译码器。2.数据缓
冲寄存器当进行输入操作时,用数据缓冲寄存器来存放从I/O设备读出的数据,然后送往CPU;当进行输出操作时,用数据缓冲寄存器来存放CPU送来的数据,以便需要时经过I/O设备输出。3.设备状态位设备状态位是接口中的标志触发器,如“忙”、“
准备就绪”、“错误”等,用来标志设备的工作状态,以便接口对外设进行监视。一旦CPU用程序询问I/O设备时,就可将状态位信息取至CPU进行分析。计算机组成原理第七章输入输出系统207.3程序中断方式7.3.1中断
的基本概念中断(Interrupt)的概念是在20世纪50年代中期提出的,目前,它不仅在I/O过程中,而且在多道程序、分时操作、实时处理、人机联系、事故处理、程序的监视和跟踪、目态程序和操作系统的联系以及
多处理机系统中各机的联系等方面都起着重要作用。从更广泛的含义上来理解,所谓中断是指计算机由任何非寻常的或非预期的急需处理的事件引起CPU暂时中断现行程序的执行,而转向运行另一服务程序,去处理这些事件,等处理完后又返回原程序,这一整个执行过程。计算机组成原理第七章输入输出系统211.CPU
与I/O设备并行工作引入中断系统后,可实现CPU与I/O设备的并行运行,大大提高了计算机的效率。中断服务程序主程序继续执行主程序中断服务程序主程序主程序启动I/O主机响应中断响应中断返回送数据返回送数据打印机准备打印打印收数据发中断请求收数据再请求图7.7CPU与打印机并行工作计算机组成原理
第七章输入输出系统222.提高了机器的可靠性在计算机工作时,当运行的程序发生错误,或者硬设备出现某些故障时,机器中断系统可以自动进行处理,避免某些偶然故障引起的计算错误或停机,提高了机器的可靠性。3.便于实现人机联系在计算机工作过程中,人要随机地干预机器,
如抽查计算的中间结果、了解机器的工作状态、给机器下达临时性的命令等。在没有中断系统的机器里,这些工作几乎是无法完成的。利用中断系统实现人机通信是很方便、很有效的。4.实现多道程序计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在
一道程序的运行中,可以由I/O中断系统切换到另外一道程序运行,也可以通过分配给每道程序一个固定时间片,利用时钟定时发送中断进行程序切换。计算机组成原理第七章输入输出系统235.实现实时处理所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。6.实现目态程
序和操作系统的联系在现代计算机中,用户程序往往可以安排一条“访问管理程序”指令来调用操作系统的管理程序,这种调用是通过中断来实现的。通常称机器在执行用户程序时为目态,称机器执行管理程序时为管态。通过中断可以实现目态和管态之间的变换。7.
多处理机系统各处理机间的联系在多处理机系统中,处理机和处理机间的信息交流和任务切换都是通过中断来实现的。计算机组成原理第七章输入输出系统247.3.2CPU响应中断的条件CPU要响应中断必须满足如下3个条件:①中断源有中断请求;②CPU允许接受中断请求;③
一般情况下,都要等到一条指令执行完毕后才能响应中断,除非遇到特殊的长指令才允许中途打断它们。引起中断的事件,或者发出中断请求的来源统称为中断源。CPU停止执行现行程序,转去处理中断请求称为中断响应。若CPU进入可中断方式,即允许接受中断请求,则称为“开中断”,否则
,CPU处于不可中断状态,称为“关中断”,或称为禁止中断。中断请求、中断允许、禁止和中断的响应都是由硬件实现的。计算机组成原理第七章输入输出系统251.中断源的种类①由外围设备引起的中断,要求CPU介入I/O操作。例如,慢速设备的缓冲寄存器准备好接收或发送数据;信息
块传送的前、后处理;设备的启动或非数据控制动作(如磁带、磁盘定位)的完成;I/O的任一环节出错等。②由运算器产生的中断,③由存储器产生的中断,④控制器产生的中断,⑤过程控制产生的中断,⑥时钟定时中断。⑦电源故障中
断。计算机组成原理第七章输入输出系统26发生在主机内部的中断称为内中断。内中断有强迫中断和自愿中断两种。强迫中断产生的原因有硬件故障和软件出错等。强迫中断是在CPU没有事先预料的情况下发生的,此时CPU不得不停下现行的工作。自愿中断是出于计算机系统管理的需要,自愿地进入中断。上述中断类型
如下所示:中断内中断外中断(强迫中断)自愿中断—指令中断强迫中断硬件故障软件出错外设请求人的干预计算机组成原理第七章输入输出系统272.中断源的建立为了记录中断事件是否发生,利用了具有存储功能的触发器,一般称为中断触发器。当一个中断源有中断请求时,其相应的中断触发器置成“1”状态。此时,该中断
源向CPU发出中断请求信号。多位中断触发器构成一个中断寄存器,其中每一位对应一种中断请求源。这每一位称为一个中断位,中断寄存器的内容称为中断字或中断码。CPU在进行中断处理时,根据中断字和中断位确定中断源,以便用相应的服务程序来处理。3.中断的分级与中断优先权在设计中断系统
时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对中断响应的优先次序。计算机组成原理第七章输入输出系统284.禁止中断和中断屏蔽(1)禁止中断产生中
断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器置“1”状态,才允许中断源等待CPU响应;如果该触发器被清除,则不允许所有中断源申请中断。前者称为允许中断,后者称为禁止中断。“中断允许”触发器
通过“开中断”、“关中断”指令来置位或复位。(2)中断屏蔽当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余的中断仍得到响应,称为中断屏蔽。实现方法是为每一个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体来说,用程序方法将该触
发器置“1”,则对应的设备中断被封锁,若将其置“0”,则允许该设备的中断请求得到响应。计算机组成原理第七章输入输出系统297.3.3中断处理一旦CPU响应中断的条件得到满足,CPU便开始响应中断,转入中断服务程序,进行中断处理。按照中断处理方式可以把中断分为简单中
断和程序中断两种。①程序中断。如果主机在响应中断请求后,是通过执行一段服务程序来处理有关事项的,则称为程序中断,简称为中断。这种方式要求CPU响应中断后,暂停原程序的执行,并将断点(主程序返回地址)和现场情况(如程序状态字以及有关寄存器内容)保存起
来,然后转入中断服务程序的执行。程序中断主要用于中、慢速I/O设备的数据传送以及要求进行复杂处理的场合。②简单中断。在DMA方式的I/O过程中,主机响应中断后不要执行服务程序,而是让出一个或几个存取周期供I/O设备与主存直接交换数据。此时,CPU可以暂停运行,也可以执行非访问内存储器操作。
这种中断只是暂停一个或几个存取周期,不破坏被中断的程序现场,因此,不需要进行现场保护工作。这种中断称为简单中断,一般称为DMA。计算机组成原理第七章输入输出系统301.中断处理步骤计算机对中断的处理各具特色,就其多数而论,中断处理过程如图7.8所示。①关中断。进入不可再次响应中断
的状态。因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应,否则,如果把现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序了。②保存断点和现场。为了在中断处理结束后能正确
地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。关中断保存断点、保存现场判别中断条件转入中断服务程序开中断关中断执行中断服务程序开中断返回断点恢复现场、恢复断点图7.8中断处理过程计算机组成原理第七章输入输出系统31对现场信息的处理有两种方式:一种是由硬件
对现场信息进行保存和恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有的机器把断点保存在主存固定的单元,中断屏蔽码也保存在固定单元中;有的机器则不然,
它在每次响应中断后把CPU中程序状态字和指令计数器内容相继压入堆栈,再从指定的两个主存单元分别取出新的指令计数器内容和CPU中程序状态字来代替,称为交换新、旧状态字方式。计算机组成原理第七章输入输出系统32③判别中断条件,转向中断服务程序。在多个
中断条件同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源,所以,需进一步判别中断条件,并转入相应的中断服务程序入口。④开中断。因为接下去就要执行中断服务程序,因此开中断允许更高级中断请求得到响应,实现中断嵌套。⑤执行中断服务程序。⑥退出中
断。在退出时,又应进入不可中断状态,即关中断,恢复现场,恢复断点,然后开中断,返回原程序执行。计算机组成原理第七章输入输出系统332.判别中断条件(1)查询法这是最简单的实现方法。如图7.9所示,每一个中断源都附带一个标志,该标志置位代表相应中断源请求中断,因此,判别中断条件只需用测试
指令按一定优先次序检查这些标志,先遇到的第一个“1”标志即优先得到服务,在此之前,遇到“0”标志均跳过而继续检查下一个。≥1系统总线主存设备控制器中断请求0I/O设备0设备控制器中断请求nI/O设备nCPUINT图7.9中断请求逻辑图
计算机组成原理第七章输入输出系统342#设备有请求吗?是执行2#设备中断服务程序否是执行0#设备中断服务程序保存断点和现场1#设备有请求吗?是执行1#设备中断服务程序否0#设备有请求吗?恢复现场和断点返回主程序否图7.10查询中断执行过程流程图这种软件查询方法适用于低速和中
速设备。它的优点是中断条件标志的优先级可用程序任意改变,灵活性好。缺点是设备多时速度太慢。计算机组成原理第七章输入输出系统35(2)串行排队链法与向量中断串行排队链法是由硬件实现的具有公共请求线的判优选择方式,其逻辑线路如图7.11所示。&IR1INTA&&IR1INTI&&IR2IS1IS2I
R2&&&&IR3IS323456789编码器INTO数据总线0010000010110010101IR3图7.11串行排队链判优识别及中断向量产生逻辑线路计算机组成原理第七章输入输出系统36图中下半部分由门1~门6组成一个串行的优先链,称做排队链。IRi是从各设备来的中断请求信号,优
先顺序从高到低,依次是:IR1、IR2、IR3。若要扩充中断源,则可根据其优先权的高低串接于优先链的左端和右端。图的上半部分是一个编码电路,它将产生请求中断的设备中优先权最高的设备码(中断向量)经总线送往CPU。图中,IS1、IS2、IS3为IR1、IR2、IR3对应的中断排队选中
信号。INTA是由CPU送来的取中断设备码信号。为中断排队输入信号,为中断排队输出信号。总线标号由下而上为第0位至第5位。当没有更高优先权的请求时,=0,门1的输出为高电平,即IS1=1;若此时中断请求信号IR1为高(即有中断请求),且INTA为高电平,则IR1被选中,此时,为低
,使得IS2、IS3全为低电平,则IR2、IR3中断请求被封锁。这时向CPU发出中断请求,并由译码电路将设备码(001010)2送总线。CPU从总线取走该设备码,并执行其中断服务程序。计算机组成原理第七章输
入输出系统37若此时IR1无中断请求,则为高电平,IR1为低电平,经过门2和门3,使IS2为高电平。如果IS2为高电平,则被选中。否则,将顺序选择请求中断的中断源优先权最高者。使用上述中断判优方式时,可以采用不同的转向中断服务程序入口地址的方法。一种是在中断总控程
序中设一条专门接收中断指令INTA,得到设备号后,再由主存的跳跃表产生中断服务程序入口地址。另一种是目前应用更广泛的方法,叫做向量中断。向量中断方式是为每一个中断源设置一个中断向量的方式。中断向量包括了该中断源的中断服务程序入口地址。它完全由硬件直
接产生中断响应信号,经过中断排队和编码逻辑,由被选中的设备直接送回中断向量。计算机组成原理第七章输入输出系统38(3)独立请求法独立请求方式优先排队线路如图7.12所示。其中每个中断请求信号保存在“中断请求”触发器中,经“中断屏蔽”触发器控
制后,产生来自中断请求触发器的请求信号IR1、IR2、IR3、IR4。而IR1、IR2、IR3、IR4是经过优先排队后送给CPU的中断请求信号。IR1′的优先权最高,IR2、IR3、IR4的优先权依次
降低。具有较高优先权的中断请求自动封锁比它优先权低的所有中断请求。编码电路根据排队的中断源输出信号IRi产生一个预定的地址码,转向中断服务程序入口地址。这种方法的优点是速度快,但是连线多,逻辑线路复杂。计算机组成原理第七章输入输出系统39向量地址编码器„„&&&&
IR1IR2&&&IR3&&&IR4&IR1IR2IR3IR4101104103102101104103102中断请求寄存器中断屏蔽寄存器排队器图7.12独立请求方式的优先排队线路逻辑计算机组成原理第七章输入输出系统407.3.4单级中断与多级中断1.单级中断单级中断系
统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当CPU响应某一中断请求时,执行该中断源的中断服务程序而不允许其他中断源打断中断服务程序,即使优先权比它高的中断源也不允许。只有该中断服务程序执行完毕后,
才能响应其他中断。计算机组成原理第七章输入输出系统41&S01IM01IR中断接口0IR中断接口1中断接口n„INTACPU中断地址线数据线主程序单级中断服务程序(a)(b)图7.13单级中断(a)单级中断示
意图;(b)单级中断系统结构图计算机组成原理第七章输入输出系统422.多级中断多级中断系统是指计算机系统中有相当多的中断源,根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。一般说来,优先权高的中断级可以打断优先权低的中断服务
程序,以程序嵌套方式进行工作。如图7.14所示,三级中断的优先权高于二级的,而二级中断的优先权又高于一级的。主程序一级中断服务程序二级中断服务程序三级中断服务程序(a)多级中断示意图;计算机组成原理第七章输入
输出系统43&01IM22级IR01IR2中断优先缓排队电路与中断控制逻辑设备A设备B设备C1级IR&01IM101IR1设备D设备E设备F&01IM00级IR01IR0设备G设备H设备ICPU高优先权低高优先权低图7.14多级中断(b)一维、二维多级中断结构计算机组成原理第七章输入输出系
统44例7.1图7.14所示的是一个二维的中断系统,请问:①在中断情况下,CPU和设备的优先级如何考虑?请按降序排列各设备的中断优先级。②若CPU现正执行设备B的中断服务程序,则IM2、IM1、IM0的状态是什么?如果CPU正执行设备D
的中断服务程序,则IM2、IM1、IM0的状态又是什么?③每一级的IM能否对某个优先级的个别设备单独进行屏蔽?如果不能,则采取什么办法才能达到目的?④假如要求设备C一提出中断请求,CPU就立即进行响应,如
何调整才能满足此要求?计算机组成原理第七章输入输出系统45解①在中断情况下,CPU的优先级最低,各设备的优先次序是:A—B—C—D—E—F—G—H—I—CPU。②执行设备B的中断服务程序时,IM2、IM1、IM0=111;
执行设备D的中断服务程序时,IM2、IM1、IM0=011。③每一级的IM标志不能对某个优先级的个别设备进行单独屏蔽,可将接口中的EI(中断允许)标志清“0”,它禁止设备发出中断请求。④要使设备C的中断请
求及时得到响应,可将设备C从第2级取出来,单独放在第3级上,使第3级的优先级最高,即令IM3=0。计算机组成原理第七章输入输出系统467.3.5程序中断方式的基本接口程序中断由外设接口的状态和CPU两方面来
控制。在接口方面,有决定是否向CPU发出中断请求的机构,主要是接口中的“准备就绪”标志(RD)和“允许中断”标志(EI)两个触发器。在CPU方面,有决定是否受理中断请求的机构,主要是“中断请求”标志(IR)和“中断屏蔽”标志(IM)两个触发器。上述4个标
志触发器的具体功能如下:计算机组成原理第七章输入输出系统47准备就绪的标志(RD)——一旦设备做好一次数据的接收或发送工作,便发出一个设备动作完毕信号,使RD标志为“1”,它就是程序查询方式中的Ready(就绪)标志。在中断方式中,该标志用作为中断源触发器,简称中断触
发器。允许中断触发器(EI)——可以用程序指令来置位。EI为“1”时,某设备可以向CPU发出中断请求;EI为“0”时,不能向CPU发出中断请求,这意味着某中断的中断请求被禁止。设置EI标志的目的就是通过程序来控制是否允许某设备发出中断请求。中断请求触发器(IR)——它暂存中断请求线上由
设备发出的中断请求信号。当IR标志为“1”时,表示设备发出了中断请求。中断屏蔽触发器(IM)——CPU是否受理中断的标志。IM标志为“0”时,CPU可以受理外界的中断请求,反之,IM标志为“1”时,CPU不受理外界的中断请求。计算
机组成原理第七章输入输出系统48&01IM01IR⑦控制S①中断⑥公用寄存器PCIR数据总线⑨IR请求C⑩⑧中断向量逻辑数据缓冲寄存器设备选择&01EI01BS01RD④②③INTA⑦CPU接口设备动作开始动作结束传送数据图7.15程序中断方
式基本接口示意图计算机组成原理第七章输入输出系统49图7.15中,标号①~⑩表示由某一外设输入数据的控制过程。①表示由程序启动外设,将该外设接口的“忙”标志BS置“1”,“准备就绪”标志RD清“0”;②表示接口向外设发出启动信号;③表示数据由外设传送到接口的
缓冲寄存器;④表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一控制信号,将数据“准备就绪”标志RD置“1”;⑤表示允许中断标志EI为“1”时,接口向CPU发出中断请求信号;⑥表示在一条指令执行末尾CPU检查中断请求线,将
中断请求线的请求信号送到中断请求触发器IR;⑦表示如果中断屏蔽触发器IM为“0”,则CPU在一条指令结束后受理外设的中断请求,向外设发出响应中断信号并关闭中断;⑧表示转向该设备的中断服务程序入口;⑨表示中断服务程序用输入指令把接口中数据缓冲寄存器
的数据读至CPU中的累加器或寄存器中;⑩表示CPU发出控制信号C将接口中的BS和RD标志复位,一次中断处理结束。计算机组成原理第七章输入输出系统507.4DMA方式7.4.1DMA方式的基本概念与传送方式1.DMA方式的基本概念在这种方式中,DM
A控制器从CPU中接管了对总线的控制,数据传送不经过CPU,而直接在内存和I/O设备之间进行。DMA方式一般用于高速传送成组数据的场合。DMA控制器种类很多,但各种DMA控制器至少能执行以下一些基本操作:①从外围设备接
收DMA请求并传送到CPU;②CPU响应DMA请求,DMA控制器从CPU接管总线的控制权;③DMA控制器对内存寻址、计数数据传送个数,并执行数据传送操作;④DMA向CPU报告DMA操作的结束,CPU以中断方式响应DMA结束请求,由CPU在中断程序中进行结束后的处理工作。如数据缓冲区的处理、数据的
校验等简单操作。计算机组成原理第七章输入输出系统51DMA传送与中断传送相比有如下不同之处:①中断传送需要保存CPU现场并执行中断服务程序,时间开销较大。而DMA由硬件实现,不需要保存CPU的现场,时间开销较小;②
中断传送只能在一个指令周期结束后进行,而DMA传送则可以在两个机器周期之间进行。计算机组成原理第七章输入输出系统522.DMA传送方式根据DMA控制器与CPU分时访问主存的方式不同,DMA传送方式有以下三种。(
1)停止CPU访问内存当外围设备要求传送一批数据时,由DMA控制器发一DMA请求信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权。CPU收到DMA请求后,无条件放弃总线控制权。D
MA控制器获得总线控制权以后,开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。图7.16(a)所示的是这种传送方式的时间图,这种方式控制比较简单,用于高速I/O的成批数据传送是比较合适的。缺点是CPU的工作会受到明显的延误,当I/O数据传
送时间大于主存周期时,主存的利用不够充分。CUP控制并使用内存DMA控制并使用内存内存工作时间tDMA不工作CPU不执行程序DMA不工作DMA工作(a)停止CPU访问内存计算机组成原理第七章输入输出系统53(2
)周期挪用方式图7.16(b)是DMA的周期挪用方式时间图。在这种方式中,当I/O设备无DMA传送请求时,CPU正常访问主存;当I/O设备产生DMA请求时,则CPU给出1个或几个存储周期,由I/O设备与主存占用
总线传送数据。此时CPU可能有两种状况:一种是此时CPU正巧不需要访问主存,那么就不存在访问主存的冲突,I/O设备占用总线对CPU处理程序不产生影响;另一种则是I/O设备与CPU同时都要访问主存而出现访问主存的冲突,此时I/O访问的优先权高于CP
U访问的优先权,所以暂时封锁CPU的访问,等待I/O的周期挪用结束。周期挪用方式能够充分发挥CPU与I/O设备的利用率,是当前普遍采用的方式。其缺点是,每传送一个数据,DMA都要产生访问请求,待到CPU响应后才能传送,操作频繁,花费时间较多,该方
法适合于I/O设备读/写周期大于主存存储周期的情况。CPU控制并使用内存DMA控制并使用内存内存工作时间t(b)周期挪用计算机组成原理第七章输入输出系统54(3)CPU与DMA交替访问内存这种方式是当CPU周期大于两个以上的主存周期时,才能合理传送,如主存周期为Δt,而CPU周期为
2Δt,那么在2Δt内,一个Δt供CPU访问,另一个Δt供DMA访问,其过程如图7.16(c)所示。这种方式比较好地解决了设备冲突及设备利用不充分的问题,而且不需要请求总线使用权的过程,总线的使用是通过分时控制的,此时DMA的传送对C
PU没有影响。DMA控制并使用内存CPU控制并使用内存内存工作时间t(c)CPU与DMA交替访问内存计算机组成原理第七章输入输出系统557.4.2DMA控制器的基本组成DMA控制器是采用DMA方式的外围设备与系统总线之间的接口电路,它是在中断接口的基础上再加上DMA机构组成的。图7.17是一个
简单的DMA控制器组成原理图。计算机组成原理第七章输入输出系统56内存地址计数器系统总线地址线数据线+1+1中断机构溢出信号中断请求DMA请求DMA响应01DMA请求标志数据缓冲寄存器设备选择数据结束信号一字传送设备CPU内存控制
/状态逻辑HOLDHLDA字计数器图7.17简单的DMA控制器组成原理图计算机组成原理第七章输入输出系统57它由以下几个逻辑部分组成:①内存地址计数器。由CPU在初始化时预置其内容,保存内存数据缓冲区的首地址,每传送一个字节或字后,该地址计数器就进行加1操作,使其总
是指向要访问的内存地址。②字计数器。由CPU在初始化时将数据长度预置在其中,每完成一个字或一个字节的传送后,该计数器减“1”。计数器为全“0”时,传送结束,发一个信号到中断机构。③中断机构。当字计数器溢出(全0)时,意味着一组数据传送完毕,由溢出信号触发中断机构,再由中断机
构向CPU提出中断请求,以作为数据传送后的结束处理信号。计算机组成原理第七章输入输出系统58④控制/状态逻辑。由控制和时序电路以及状态标志等组成。用于修改内存地址计数器和字计数器,指定传送方向,并对DMA请求信号和CP
U响应信号进行同步和协调处理。⑤数据缓冲寄存器。用于暂存每次输入或输出传送的数据。⑥DMA请求标志。每当设备准备好一个数据字后便给出一个传送信号,使DMA请求置“1”。DMA请求标志再向控制/状态逻辑发出DMA请求,该逻辑再向CPU发出总线使用权请求(HOLD),CPU响应此请求后发
回响应信号(HLDA),经控制/状态逻辑后形成DMA响应,置DMA请求标志为“0”,为传送下一个字作好准备。计算机组成原理第七章输入输出系统59DMA数据传送过程可分为三个阶段:初始化DMA控制器、正式传送、传送后的处理。①在初始化阶段,CPU执行几条
I/O指令,向DMA控制器中的地址寄存器送入设备号,向内存地址计数器中送入起始地址,向字计数器中送入传送的数据字个数并启动外设,CPU继续执行原来的主程序。计算机组成原理第七章输入输出系统60②经CPU启动的外部设
备准备好数据(输入)或接收数据(输出)时,它向DMA控制器发出DMA请求,使DMA控制器进入数据传送阶段。该阶段的DMA控制器传送数据的工作流程如图7.18所示(设DMA控制器以停止CPU访问内存方式工作),当外设发出DMA请求时,CPU在
本机器周期结束后响应该请求,并使CPU放弃系统总线的控制权,而DMA控制器接管系统总线并向内存提供地址,使内存与外设进行数据传送,每传送一个字,地址计数器和字计数器就加“1”。当计数到“0”时,DMA控制器向CPU发出中断请求,DMA操作结束。③DMA数据传送
后的处理工作是:CPU接到DMA中断请求后,转去执行中断服务程序,而执行中断服务程序的工作包括:数据校验及数据缓冲区的处理等工作。计算机组成原理第七章输入输出系统61DMA请求DMA响应发送内存地址传送一个字数据检测
传送是否结束?是DMA结束修改地址指针和字计数器否图7.18DMA控制器传送数据流程图计算机组成原理第七章输入输出系统627.4.3选择型和多路型DMA控制器1.选择型DMA控制器选择型DMA控制器在物理
上可以连接多台外设,但在逻辑上只允许接一台外设,即在某一时间内只能选择某一台设备工作的DMA控制器。图7.19是选择型DMA控制器逻辑框图。字计数器内存地址数据缓冲器状态控制设备号时序电路选择线设备2设备1设备n···内存CPU系统总线图7.19选择型DMA控
制器逻辑框图计算机组成原理第七章输入输出系统63选择型DMA控制器的工作原理与上节介绍的简单DMA控制器的工作原理基本相同,只是在基本逻辑部件外增加了一个设备号寄存器用以存放当前工作的设备号,设备号可用I/O指令来控制,设备号寄存器相当于一个开关。当设备号确定后,DMA控制器在初
始化、数据传送、结束处理的整个过程中都只能为该台外设服务,在选择型DMA控制器中只需增加少量的硬件便可达到为多台外设服务的目的,它适合于在快速的外设与内存之间传送大批数据。计算机组成原理第七章输入输出
系统642.多路型DMA控制器多路型DMA控制器适合于同时为多台慢速的外设服务,它不仅在物理上可连接多台外设,而且在逻辑上也允许这些外设同时工作。各设备以字节交叉方式通过DMA控制器进行数据传送。图7.20是多路型DMA控制器示意图。图7.20(a)
所示的是链式多路型DMA控制器。外设与DMA是链式连接的,设备的连接次序决定了DMA控制器响应设备的DMA请求的优先级。而图7.20(b)所示的是独立请求多路型DMA,所有设备的DMA请求送入DMA控制器中,由DMA控制器决定
响应时的优先级。由于多路型DMA同时要为多台外设服务,因此,在多路型DMA控制器中,就要为每台外设准备一组寄存器来存放它的参数。一般是:DMA控制器有多少个DMA通路(可带设备)就有多少组寄存器。计算机组成原理第七章输入输出系统65内存CPUDMA控制器设备设备设备„
(a)内存CPUDMA控制器设备设备设备„(b)图7.20多路型DMA控制器示意图计算机组成原理第七章输入输出系统66DMA控制器tT1T2T3T4T5T6T75s打印机tt磁带T845st磁盘30s图7.
21多路型DMA控制器工作原理计算机组成原理第七章输入输出系统677.5通道控制方式7.5.1通道的基本概念通道控制方式是大、中型计算机中常用的一种I/O形式,这种方式中,通道执行由操作系统“编制”的通道程序来实
现外部设备与内存的数据传送,因此,通道是一种特殊的处理机,它有自己的指令和程序,但通道程序不是由用户编写的,而是由操作系统按照用户的请求及计算机系统的状态“编制”而成的,它放入内存中。当通道需要工作时,将通道程序从内存取回到通道并执行,从而完成用户的
I/O操作。计算机组成原理第七章输入输出系统68I/O总线„设备控制器存储管理部件CPU选择通道I/O总线磁盘控制器磁盘磁盘„磁盘控制器磁盘磁盘字节多路通道设备控制器设备设备设备CPU选择通道I/O总线磁盘控制器磁盘磁盘„磁盘控制器磁盘磁盘存储总线图7.22具有通道机器的I/O结构计算机组成原理第
七章输入输出系统69图7.22所示的是通道与主机的连接,其中通道与CPU在内存管理部件的控制下分时发使用内存,系统中的总线分为两级:一级是存储总线(系统总线)承担通道与内存、CPU与内存之间的数据传送任务;另一级是通道总线,即I/O总线,它承担外围设备与通道之间的数据传送任务。这
两级总线可以分别使用各自的时序同时工作。一条通道总线可接若干个设备控制器,一个设备控制器可以接一个或多个设备,因此,从逻辑上看,I/O系统一般具有4级连接:CPU与内存—通道—设备控制器—外围设备。对同一系列的机器,通道与设备控制器之
间都有统一的标准接口,设备控制器与设备之间则根据设备的不同要求而采用专用接口。当通道与CPU同时访问内存时,通道优先级高于CPU;在多个通道有访问存储器请求时,选择通道和数组多路通道优先权高于字节多路
通道。计算机组成原理第七章输入输出系统707.5.2通道的类型通常将通道分为3种类型:选择通道,数组多路通道和字节多路通道。一个系统中可兼有3种类型的通道,也可只有一种或两种。1.选择通道在选择通道中,每一通道在物理上可以连接多
个设备,但这些设备不能同时工作,在某一段时间内只能选择一个设备进行工作,即执行这台设备的通道程序,只有当这个设备的通道程序全部执行完后,才能执行其他设备的通道程序(选择其他通道)。计算机组成原理第七章输入输出系统712.数组多路通道数组
多路通道是对选择通道的一种改进,它的基本思想是,当某设备进行数据传送时,通道只为该设备服务;当设备执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序,所以数组多路通道很像一个多道程序的处理器。数组多路
通道可分时地为多台高速外设服务,如为磁盘等块设备服务,它的传输率与选择通道一样,取决于最快的那台设备。一般为12MB/s。计算机组成原理第七章输入输出系统723.字节多路通道字节多路通道用于连接多台慢速外设,如键盘、打印机等字符设备。这些设备的数据传输率很低,而通道从设备
接收或发送一个字节相对较快,因此,通道在传送某台设备的两个字节之间有许多空闲时间,字节多路通道正是利用这空闲时间为其他设备服务的。字节多路通道传输率与各设备的传输率及所带设备数目有关。如果每一台设备的传输率为fi,而通道传输率为fc,则有p1iicff计算机
组成原理第七章输入输出系统73其中,p为所带设备台数,字节多路通道流量一般为1.5MB/s。•字节多路通道和数组多路通道的共同之处是它们都是多路通道,在一段时间内能交替执行多个设备的通道程序,使这些设备同时工作。不同之处是
两种通道的数据传送的基本单位不同,字节多路通道是每次为一台设备传送一个字节,而数组多路通道每次为一台设备传送一个数据块。有些系统中使用“子通道”的概念,子通道是指每个通道程序所管理的硬设备或该通道逻辑上连接的设备(或者说同时执行的通道程序)。字节多路通道、数组多路通道在物
理上可以连接多个设备,但在一段时间内只能执行一个设备的通道程序,即:逻辑上只能连接一台设备,所以只包含一个子通道。计算机组成原理第七章输入输出系统747.5.3通道的工作过程和内部逻辑结构1.通道的工作过程访管指令启动I/O指令操作系统用户作业程序编制通道程序通道程序结
束中断请求中断服务程序K图7.23通道工作过程示意图计算机组成原理第七章输入输出系统75CPU在执行用户程序时,当执行到第K条指令时,发现它是一条访管指令,则根据指令中的设备号转入到操作系统对应的设备管理程序入口,开始执行该管理程序。管理程序的功能是根据给出的参数编制好通
道程序,并存放在主存某一区域,并将该区域的首址填入通道地址单元中,在IBM-370计算机中是内存72号单元。最后执行一条启动I/O指令。若启动成功,则经通道地址字取出内存中通道程序的第1条指令,送到通道控
制器中开始执行,同时修改通道指令地址,为下一条指令做好准备。通道地址字此时已空闲,可记录其他通道程序地址。通道程序执行结束后,发出正常结束中断请求。CPU响应中断进入中断,服务程序进行传送结束后的处理。计算机组成原理第七章输入
输出系统762.通道内部逻辑结构数据接口外设标准接口中断逻辑„控制接口装配/拆卸部件状态寄存器通道指令寄存器„通道指令首地址寄存器长度计数器内存地址寄存器数据寄存器–1+1主机数据总线地址总线控制接口图7.24通道逻辑结构框图计
算机组成原理第七章输入输出系统77它是由下列几部分组成的。(1)通道指令首地址寄存器存放通道指令的首地址。其输出送到主存地址寄存器中,取出通道指令后立即进行修改。形成下条通道指令的首地址。在IBM-37
0中,通道指令格式如下:每条通道指令长64位或8个字节,所以下条通道指令地址比当前指令地址要增加8个字节。07831323940474863命令码数据在内存的首址标志码保留位传送数据长度计算机组成原理第七章输入输出系统78(2)通道指令寄存器存放当前执行通道指令中的命令码与
标志码字段。(3)内存地址寄存器存放通道指令各字节在内存中的地址。接收通道指令的首地址时,每传送完一个字节,就进行加“1”操作,形成通道指令的下一字节。(4)长度计数器接收通道指令中的传送数据长度字段。在执行过程中,每传送一个字节则减“1”,当计数为“0”时,说明该条通道指令结束。(
5)数据寄存器存放一个机器字长的数据,与主机进行数据传送。计算机组成原理第七章输入输出系统79(6)装配/拆卸部件通道与主存的数据交换是按一个机器字长进行的,而通道与外设之间是按一个字节进行的。该部件用
来进行机器字长与字节之间的转换。(7)状态寄存器存放通道与设备的工作状态。(8)中断逻辑根据工作状态产生数据传送结束中断请求,并接受CPU的响应信号。(9)标准接口I/O接口部件包括缓冲器、驱动器及检验电路。(10)通道控制部件是通道控制器的核心部件,根据通道
指令产生通道工作中所需的控制信号。