




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 输入输出系统(一)I/O系统基本概念 (二)外部设备 1.输入设备:键盘、鼠标 2.输出设备:显示器、打印机 3.外存储器:硬盘存储器、磁盘阵列、光盘存储器 (三)I/O接口(I/O控制器) 1.I/O接口的功能和基本结构 2.I/O端口及其编址 (四)I/O方式 1.程序查询方式 2.程序中断方式 中断的基本概念;中断响应过程;中断处理过程;多重中断和中断屏蔽的概念。 3.DMA方式 DMA控制器的组成;DMA传送过程。 4.通道方式 内容要求:大连理工大学软件学院 赖晓晨7.2 I/O接口接口可以看做两个系统或部件之间的交接部分,它既是两种硬件设备之间的连接电路,也可以看做两个软件
2、之间的共同逻辑边界。主机 设备控制器机、电磁、光部分I/O接口外部设备为什么要采用输入/输出(I/O)接口实现设备的选择实现数据缓冲,达到速度匹配实现数据串-并格式转换实现电平转换传送控制命令反映设备的状态(“忙”、“就绪”、“中断请求”)7.2 I/O接口I/O系统通常包括外围设备及其接口、通道或输入/输出处理器及输入/输出软件,主要解决对各种形式的信息进行输入和输出控制的问题。 接口外设系统总线I/O接口:指主机(CPU和存储器)和外部设备的交接部分,在主机与外设之间的逻辑部件,也称设备控制器、设备适配器或I/O接口电路。I/O接口位于系统总线和外设之间。作用:控制并实现主机与外部设备之间
3、的数据传送。7.2.1 接口分类与功能1.按数据传送格式划分(1)并行接口 接口外设系统总线接口与系统总线、接口与外设均按并行方式传送数据。并并数据各位同时传送。(2)串行接口适用于设备本身并行工作,距主机较近的场合。并串接口与系统总线并行传送,接口与外设串行传送。数据逐位分时传送。适用于设备本身串行工作,或距主机较远,或需减少传送线的情况。(2)异步接口 接口外设系统总线(1)程序控制接口3.按数据传送控制方式划分(2)中断接口接口与系统总线的信息传送采用异步应答方式。(3)直接存储器存取(DMA)接口2.按时序控制方式划分(1)同步接口接口与系统总线的信息传送由统一时序信号控制。(4)通道
4、控制I/O接口的主要功能接收CPU送来的地址码,进行地址译码1.寻址选择接口中的不同端口(寄存器)供CPU访问。2.缓存对主机与外设交换的数据进行缓冲和锁存,实现主机与外设的速度匹配。通过指令指定设备或端口的操作。4.控制:对外设或接口的就绪、忙等状态信息实现保存、应变和传送。3.状态提供信号格式转换或电平转换等支持。6.转换:需要时可进行中断的功能。5.中断:I/O接口的基本结构CPU和外设之间通常传递的信息:数据、状态、控制数据线控制线状态线DBCBAB数据输入寄存器(or 三态门)数据输出寄存器(锁存器)状态寄存器(or 三态门)控制寄存器译码电路控制逻辑组成:控制逻辑电路、主机与接口和
5、接口与I/O设备之间的信号联接线,即地址线、数据线、控制状态线。7.2.2 I/O端口与编址方式I/O端口 为使CPU能选择设备并进行数据传送,接口中通常都具有多个可由CPU进行读或写操作的寄存器或电路,即I/O端口(Port)。CPU与I/O接口传递信息的类型主要有数据、状态和控制信号,对应传送它们的端口分别为数据端口(I/O)、状态端口(I)和控制端口(O)。 I和O是相对CPU而言的。2. I/O端口编址方式 为了CPU便于对IO设备进行寻址和选择,对端口进行编址,也就是给每台设备规定一些地址码,称为设备号。 (1) 统一编址优点:访问存储器与访问端口指令相同,寻址类型多,编程较方便。缺
6、点:占用存储器空间;速度慢。 (2) I/O端口独立编址优点:专门的I/O指令,与访存分开;指令执行快;不占内存地址空间。缺点:需专用指令和控制信号、寻址方式少。3. 可编程接口 若接口电路或芯片能通过指令指定功能与选择运行参数,则称为可编程接口。实质是通过指令对数据、状态和控制寄存器的操作。通用编程接口 :有较多功能供灵活选择。专用编程接口 :为某类设备或专门设备设计的。 7.3 I/O数据传送控制方式I/O系统实现主机与I/O设备间的数据传送,且可以采用不同的控制方式,各种方式在性能、价格、致力解决问题的着重点各不相同。常用的I/O控制方式:(1) 程序直接传送方式(2) 程序中断传送方式
7、(3) 直接存储器存取(DMA)传送方式(4) I/O通道控制方式(5) 外围处理机方式更依赖于CPU程序的控制执行7.3.1 程序直接传送方式1. 基本概念CPU执行一段I/O程序实现与外设之间数据传送。该方式是进行数据交换的最简单的控制方法。(1)无条件传送:只有在外设总处于准备好状态采用。(2)程序查询方式优点:较好协调主机与外设之间的时间差异,所用硬件少。缺点:主机与外设只能串行工作;主机一个时间段只能与一个外设进行通讯;CPU效率低。2. 工作流程从I/O接口中读 一个字到CPU从CPU向主存 写入一个字CPU向I/O发 读指令CPU读I/O状态检查状态 完成否未准备就绪现行程序是出
8、错已准备就绪否(1)CPU执行初始化程序,预置传送参数。(2)从外设接口读取状态。(3)CPU查询状态,直到准备就绪。(4)传送一次数据。(5)修改地址和计数参数。(6)判断结束。7.3.2 程序中断方式中断的基本概念CPU暂时中止当前程序运行,转去处理随机出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行。引起中断产生的事件或发生中断请求的来源。2.中断源1.中断3.实质程序切换方法:保存断点,保护现场;恢复现场,返回断点。时间:一条指令结束时切换。保证程序的完整性。基于中断的打印机执行过程4.特点随机性随机发生的事件由硬件请求信号引发中断(按键、故障)有意调用,随机请求与处理的
9、事件(调用打印机)随机插入的事件(软中断指令插入程序任何位置)5.中断分类(1)硬件中断与软中断由软中断指令引发中断(2)内中断与外中断中断源来自主机内部中断源来自主机外部(3)可屏蔽中断与非屏蔽中断可通过屏蔽字屏蔽该类请求;关中断时不响应该类请求。该类请求与屏蔽字无关;请求的响应与开/关中断无关。由硬件提供服务程序入口地址(4) 向量中断与非向量中断由软件提供服务程序入口地址中断程序事先存放在主存中,关键是获得中断服务程序的入口地址。在计算机系统中,中断服务程序入口地址的获取一般可以通过向量中断方式(硬件方式)或非向量中断方式(软件查询方式)实现。向量中断方式在向量中断方式中,中断服务程序入
10、口地址称为中断向量;存放所有中断向量的一段内存区域称为中断向量表;访问中断向量表的地址称为中断向量地址。非向量中断方式在某些计算机系统中,CPU响应中断时只产生一个固定的地址,由此读取中断查询程序的入口地址,通过软件查询程序方式确定被批准的中断源中断服务程序地址。服务程序、中断向量表6.中断系统的组成中断系统:实现中断功能的软、硬件系统总称。 (1)软件:中断系统的硬、软界面(2)硬件接口方面:请求、传递、判优逻辑CPU方面:响应逻辑7.中断过程中断请求、中断响应、状态保护、中断屏蔽、中断处理、恢复和返回。中断的作用和功能(1)CPU、IO设备并行工作,提高CPU工作效率。(2)利用中断来处理
11、故障,提高机器的可靠性。 如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。(3)实现人机联系 用户抽查计算中间结果,了解机器的工作状态,下达临时性的命令等。(4)实现多道程序和分时操作 多道程序的切换运行需要借助于中断系统,也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。 (5)实现实时处理 实时处理:某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。这些事件出现的时刻是随机的,要求计算机中止正在执行的程序,转而去执行中断服务程序。 (6)实现应用程序和操作系统的联系 可以在用户程序中安排一条Trap指令进入操作系统,称之为软中断
12、。 (7)多处理机系统各处理机间的联系 处理机和处理机之间的信息交流和任务切换可以通过中断来实现。CPU响应中断必须满足的条件.中断源有中断请求,且未被屏蔽。.CPU允许接受中断请求,即开中断。.一条指令执行完毕后CPU才能响应中断,并且当前执行的不是停机指令。4.无故障、DMA等优先权更高的请求。取指令执行指令中断响应中断执行中断服务程序返回断点关中断、保存断点、现场、开中断关中断、恢复现场、断点、开中断NY满足所有上述条件,CPU进入中断响应周期。(1)中断响应:中断响应条件满足,处理机从一个程序切换到另一个程序。 (2)中断服务程序:为处理意外情况或有意安排的任务而编写的程序 (3)中断
13、请求的检测与屏蔽:在一个指令周期的最后一个机器周期检测;当外部中断源申请中断时,CPU是否响应还要取决于其内部的中断允许触发器的设置。IF=1,允许中断申请(开中断); STIIF=0,禁止中断申请(关中断)。 CLI 相关说明 (4)中断请求触发器:当发生引起中断的事件时先将它保存在设备控制器的“中断请求触发器”中,即将“中断触发器”的相应位置“1”。(5)堆栈与断点的保护程序被中断的地址称为断点,需保存以备恢复执行时使用。保存断点的地方为栈区,一般采取内存中开辟的专用数据存取区的形式。(6)中断屏蔽当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽
14、。为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。置“1则对应的设备封锁;置“0”,允许中断请求得到响应。中断过程通常一次完整的中断过程由中断请求、中断响应和中断处理3个阶段组成。(1)中断请求(INTR):中断源向CPU发中断请求信号,并将中断允许触发器置位,以保持请求状态。(2)中断响应(INTA):中断响应条件满足时,CPU就响应中断,停止现行程序的运行,准备进入中断处理阶段(执行中断隐指令)。(3)中断处理:处理一次中断通常需经过几步完成。 关 中 断 保存断点、保存现场 判别中断源与优先级 转入中断服务程序 开中断 执行中断服务程序 关中断 恢复现场开中断 返回断点 中断处
15、理步骤 关中断 保存断点、保存现场 判别中断源与优先级,转入中断服务处理过程 开中断 执行为外设的中断服务 关中断 恢复现场 开中断 中断返回相关说明(1)关中断:由硬件自动实现,因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应。否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序。(2)保存断点和现场为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。现场信息一般指的是程序状态字、中断屏蔽寄存器和CPU中某些寄存器的内容。(3)判别中断源,转向中断
16、服务程序:在多个中断源同时请求中断的情况下,实际响应的是优先权最高的那个中断源。(4)开中断:将允许更高级中断请求得到响应。(5)执行中断服务程序:不同中断源的中断服务程序是不同的。(6)退出中断:在退出时,先关中断,恢复现场,然后开中断、恢复断点,返回原程序执行。(7)中断隐指令:进入中断时执行的关中断、保存断点、(或许还保存PSW)、将中断服务程序的入口地址装入PC等操作一般是由硬件实现的,它类似于一条指令,称为中断隐指令。 非向量中断将服务程序入口组织在查询程序中;CPU响应时执行查询程序,查询中断源,转入相应服务程序。(8)如何获取中断服务程序的入口地址 向量中断将服务程序入口(中断向
17、量)组织在中断向量表中;CPU响应时由硬件直接产生相应向量地址,按地址查表,取得服务程序入口,转入相应服务程序。 中断向量:服务程序入口地址、服务程序状态字 中断向量表:存放中断向量的表(一段存储区) 向量地址:访问向量表的地址(指向中断向量的首址)中断源及优先级优先权:多个中断同时发生时,对各个中断响应的优先次序。也称为中断优先级。当多个中断源向CPU提出中断请求时,CPU在任何一个时刻只能接受一个中断源的请求。所以CPU必须对各个中断源的请求进行优先判别排队,且只能接受级别最高的中断源的请求。在中断程序执行的过程中,同级别和低级别的中断源是不能中断高优先级的中断服务程序。中断源及优先级判别
18、(1)软件查询:由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志)。查询的次序即为中断源优先级的顺序。灵活、但转入服务程序时间较长。CPU对这些中断源的请求进行排队,也称为中断判优或优先级判别。通常采用两种方法来判别中断源与优先级:软件查询和串行链式排队电路(菊花链)。A、B、C 优先级按 降序 排列软件实现(程序查询)中断源与优先级否是否 A 请求?是否 B 请求?是否 C 请求?转 A 的服务程序入口地址转 B 的服务程序入口地址转 C 的服务程序入口地址是是是否否 硬件实现中断判优逻辑(排队器) 1 1 1 & 1 & 1 &INTR1INTR2INTR3INTR
19、4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级 按 降序 排列 INTP1INTP2INTP3INTP4(2)串行排队链法:由硬件确定中断源。下图为中断请求逻辑图和串行排队判别优先线路图。 链式排队器电路原理特点:中断优先级的响应次序由硬件排队线路决定。一旦设计完成,系统的优先级别就决定了,缺乏改变优先权级别的灵活性。单级中断:在执行中断服务程序的过程中,如果只能为本次中断服务,不允许打断该服务程序。只有在服务程序完成后,才能响应新的中断请求。多重中断:指多个中断源的计算机系统中,按照各自的优先权并以嵌套方式工作的中断。多重中断1.多重中断的概念klmk +1l +1m
20、+1第一次 中断第二次 中断第三次 中断程序断点 k+1 , l+1 , m+1 优先原则:优先权级别高的优先处理,级别低的后处理。在多重中断系统中,每一个中断源分配给一个优先级,这是根据中断事件的轻、重、缓、急程度而分成的若干级别,CPU先响应高级中断的请求。多重中断处理(中断嵌套):在处理某一个中断的过程中又发生了新的更高级中断源的中断申请,且CUP又处于开中断状态下,CPU就要中断该服务程序的执行,在保存断点和现场后,转去响应优先级更高的中断请求,并执行新的中断服务程序。多重中断2. 实现多重中断的条件B, CA中断请求主程序(2) 优先级别高的中断源有权中断优先级别低的中断源(1) 提
21、前设置开中断指令ABCD中断服务程序( A、B、 C、 D 优先级按 降序 排列)D3. 中断屏蔽技术在有优先级中断屏蔽码(字)控制的条件下,可以不改变系统排队线路,使其中断响应次序不同。改变屏蔽码可以临时改变各设备之间中断处理次序,所以屏蔽码可看成中断处理过程中的软排队器。(1)中断优先级调整:采用中断屏蔽寄存器,用软件设置灵活的优先顺序。(2)中断屏蔽:给每个中断源配置一位屏蔽触发器:置1表示阻止该中断源的请求;0表示可以正常申请。 并将所有的触发器组成一个中断屏蔽寄存器,通过指令可对其设置和修改。(3)中断屏蔽电路实现MASKi = 0(未屏蔽)INTPi 能被置 “1” & & & &
22、 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4MASKi = 1 (屏蔽)INTPi = 0 (不能被排队选中) 中断屏蔽的作用 屏蔽字优先级屏 蔽 字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1
23、 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11234561516例:16个中断源 1、2、3 16 按 降序 排列 屏蔽技术可改变优先等级0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 6# 比 5# 优先级 高 。 屏蔽字与中断优先级一一对应(4)中断屏蔽技术的应用 在多重中断方式中,当CPU响应某个中断请求后,送出一个新的屏蔽字,以禁止与该请求同一优先级或更低级优先级的其它请求。只允许比该请求优先级高的其它中断请求提出申请。动态改变优先级实现多重中断(屏蔽高级,开放低级)(屏蔽同
24、、低级,开放高级) 动态地修改优先级:硬件排优逻辑所分配的优先级是固定的,有时要临时动态的修改优先顺序,可利用屏蔽字来临时调整。 例1:假设某机有设备1、2、3和4,共4个设备中断源,每个中断源具有不同的优先权,共1、2、3、4级优先权。设其中断源的优先级别从高到低分别为1234的顺序。每级对应1个屏蔽码。表1列出中断响应优先级与屏蔽级一致情况下的屏蔽码。 程序级别 设备屏蔽码 1 2 3 4 说明 1级 2级 3级 4级 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0为开放 1为屏蔽表1 中断屏蔽码中断请求 主程序 中断处理程序 1 2 3 4 3,2421多重中断处理示
25、意图t1t2t3tt4t5开始同时出现设备2和3中断请求。按排队线路,2的优先级高于3而先响应2。执行设备2的中断服务程序并保护现场和原屏蔽字后,将2级程序的屏蔽码0111置入各接口屏蔽寄存器,它屏蔽3和4的中断请求。此时,4级又提出中断请求,CPU暂不予理睬。执行完2级服务程序后恢复原屏蔽码,返回主程序后再响应3的请求。3级中断程序执行完后再响应4级的中断。假若CPU再次执行2级中断服务程序时,出现了1级中断请求,由于其屏蔽字0111已置入屏蔽寄存器,对1级中断是开放的。又因1优先级高于2,则CPU暂停对2级中断服务程序的执行,转去执行第1级中断服务程序。待第1级中断服务程序执行完后,再去执
26、行第2级中断服务程序。在本例中,中断请求次序为2、342l;而中断完成次序为234l2,两者不相同。 图中纵向表示各中断源申请中断的先后时间,横向表示中断优先级别。 例2:假定硬件原来的排队响应顺序为012,在不改变硬件排队次序的情况下,欲临时改变中断优先顺序为120,试设置中断屏蔽字。解:可以采用改变中断屏蔽码来实现中断响应次序120 。如表2所示。程序级别 屏蔽码 0 1 20级中断 1级中断 2级中断 1 0 0 1 1 1 1 0 1 表2 修改的中断屏蔽码原程序 0级中断1级中断2级中断中断优先顺序图三个中断源同时申请时的中断优先顺序如图所示。例2:假定硬件原来的排队响应顺序为012
27、,在不改变硬件排队次序的情况下,欲临时改变中断优先顺序为120,试设置中断屏蔽字。解:可以采用改变中断屏蔽码来实现中断响应次序120 。如表2所示。程序级别 屏蔽码 0 1 20级中断 1级中断 2级中断 1 0 0 1 1 1 1 0 1 表2 修改的中断屏蔽码原程序 0级中断1级中断2级中断中断优先顺序图三个中断源同时申请时的中断优先顺序如图所示。因为要先响应中断,再设置屏蔽字, 所以 要先进入中断0 然后马上又被高的优先级中断打断中断优先级:1-3-2-0程序级别 屏蔽码 0 1 2 30级中断1级中断2级中断3级中断 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1单级中
28、断流程: 保护现场具体服务处理 恢复现场开中断、返回外中断:数据传送禁止同级或更低级别的请求,开放更高级别的请求多重中断流程: 开中断、中断返回 关中断、保护现场送新屏蔽字、开中断 具体服务处理 关中断恢复现场及原屏蔽字4.多重中断响应过程中断返回7.3.3 DMA方式DMA方式基本概念DMA是l/O设备与主存储器之间由硬件组成的直接数据通路,主要用于高速IO设备与主存之间的成批数据传送。目的:减少大批量数据传输时CPU的开销。方法:在专用硬件DMA控制器控制下,生成当前正在传送的数据的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。在主存中要开辟连续地址的专用缓冲器,用来提供或
29、接收传送的数据。在数据传送之前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。 DMA与中断的区别中断传送过程需要CPU的干预,而DMA传送过程不需要CPU的干预,完全由硬件(DMAC)独立完成。CPU对中断响应时间只能发生在每条指令执行完毕,而对DMA响应的时间可以发生在每个机器周期的结束。指令周期取指令代码译码取操作数执行DMA有4个切入点中断断点DMA三种工作方式1.独占总线(霸道) CPU暂停方式,主机响应DMA请求后让出总线,从传送首字开始直到成组数据传送完毕,DMA控制器掌控总线不放。采用这种工作方式的IO设备,在其接口中一般设置有存取速度较快的小容量存储器。
30、IO设备与小容量存储器先交换数据,然后小容量存储器再与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少CPU暂停工作时间。该方式也称为成组连续传送方式,它可减少系统总线控制权的交换次数,有利于提高输入输出速度。适用于高速外设或单用户状态下的个人计算机。2. CPU周期挪用(见缝插针、礼让) 趁存储器空闲时DMA占用总线周期传送一个字。若与CPU发生总线争用时,CPU让出一个总线周期给DMA,即CPU暂停工作一个周期,然后继续使用总线。 该方式也称为单字传送方式。3.交替方式直接访问存储器工作方式,与CPU轮流使用一个时间片,不需要申请、建立和释放手续。这是标准的 DMA工作方式。
31、如传送数据时CPU正好不占用总线,则对CPU不产生任何影响。如同时需要访问总线,则DMA的优先级高于CPU。 DMA控制器组成数据总线控制总线地址译码器地址总线总线请求总线允许控制/状态逻辑请求寄存器地址计数器字计数器DMA请求DMA回答计数结束信号数据缓冲寄存器中断逻辑DMA控制器框图(2)请求寄存器:存放IO设备的DMA请求标志(触发),能接收并记忆;它在启动传送的同时复位,为下一请求做准备。(3)字计数器(WC):存放传送数据的数量。在传送开始前,由程序将要传送的一组数据的字数送入WC,以后每传送一个字(或字节)计数器自动减1,当WC内容为零时表示数据已全部传送完毕,自动发中断请求信号。
32、(4)数据缓冲寄存器(DBR):暂存IO设备与主存传送的数据。通常DMA与主存之间是按字传送的,而DMA与设备之间是按字节或块传送的。因此,DMA还可能要包括装配和拆卸字信息的硬件。如数据移位缓冲寄存器、字节计数器等。1.组成DMA控制器的主要寄存器(1)主存地址计数器:存放要交换数据的内存地址。该寄存器初始值为主存在缓冲区的首地址,在传送前要由程序送入。主存缓冲区地址是连续的,在DMA传送期间,每交换一个字由硬件逻辑将其自动加1而成为下一次数据传送的主存地址。(4)数据缓冲寄存器(DBR):暂存IO设备与主存传送的数据。通常DMA与主存之间是按字传送的,而DMA与设备之间是按字节或块传送的。
33、因此,DMA还可能要包括装配和拆卸字信息的硬件。如数据移位缓冲寄存器、字节计数器等。(5)控制与状态寄存器(CSR):用来存放控制字和状态字,有的接口中使用两个寄存器分别存放控制字和状态字。 各寄存器均有自己的总线地址,它们是主存的指定单元或IO设备号,CPU可对这些寄存器进行读写。 2.中断控制逻辑 DMA中断控制逻辑负责申请CPU对DMA进行预处理和后处理。向CPU报告一组数据交换结束。 3.控制/状态逻辑 一般包括设备码选择电路;DMA优先排队电路,产生DMA请求的线路等;在DMA取得总线控制权后控制主存和设备之间的数据传送(修改两个计数器、指定传送功能、协调应答信号的配合与同步)。 D
34、MA的传送数据工作流程DMA的数据传送过程可分为三个阶段:DMA传送前预处理、数据传送及传送结束后处理。 CPU预处理 内存起始地址DMA 设备地址DMA 传送数据个数DMA 启动设备 继续执行主程序,同时完成一批数据传送 中断服务程序 进行DMA结束处理 数据传送后处理DMA数据传送三个阶段NDMA请求 允许传送? 主存地址送总线;数据送I/O设备(或主存);主存地址加1;WC内容(传送个数) 向CPU申请程序中断 数据块传 送结束? NYY第二阶段数据传送过程三种方式的 CPU 工作效率比较存取周期结束CPU 执行现行程序CPU 执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取
35、周期实现I/O与主存之间的传送CPU 执行现行程序CPU查询等待并传输I/O数据CPU 执行现行程序启动I/OI/O 准备及传送指令执行周期结束CPU 执行现行程序CPU 执行现行程序启动I/O中断请求I/O准备I/O准备CPU 处理中断服务程序实现 I/O 与主机之间的传送间断启动I/O启动I/OI/O准备中断请求启动I/OI/O准备一个存取周期DMA请求程序查询方式程序中断方式DMA 方式I/O 准备及传送例1:在程序查询方式的输入/输出系统中,假设不考虑处理时间,每一个查询操作需要100个时钟周期,CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行30次查
36、询,硬盘以32位字长为单位传输数据,即每32位被CPU查询一次,传输率为2MB/s。 求CPU对这两个设备查询所花费的时间比率,由此可得出什么结论?解: (1) CPU对鼠标的查询占用CPU的时间比率为: (10030 / (50106) /1) 100% = 0.006%。(2)对磁盘的查询占用CPU的时间比率为: (100(210241024)/4) / (50106) 100% = 105%。结论: 以上结果表明,对鼠标的查询基本不影响CPU的性能,而即使CPU将全部时间都用于对磁盘的查询也不能满足磁盘传输的要求,所以CPU一般不采用程序查询方式与磁盘交换信息。例2:(2009年考研真题
37、)某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需要5个时钟周期)。假设某外设的数据传输率为 0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。(1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设D
38、MA与CPU之间没有访存冲突)解:(1)外设每秒传送0.5MB,中断时每次传送4B,中断方式下,CPU每次用于数据传送的时钟周期数:5(18+2)=100为达到外设 0.5MB/s的数据传输率,则外设每秒申请的中断次数:0.5MB/ 4B=1250001秒内用于中断的开销: 100 125000= 12500000=12.5M个时钟周期CPU用于该外设I/O的时间占整个CPU时间的百分比:12.5M/500M=2.5%(2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送,每次DMA传送5000B,1秒内需产生的DMA次数:5MB/5000B=10001秒内CPU用于DMA的总开销:
39、500 1000= 500000=0.5M个时钟周期则CPU用于该外设I/O的时间占整个CPU时间的百分比:0.5M/500M=0.1%7.3.4 IO通道控制方式IO通道是具有输入/输出处理器控制的输入/输出部件,是计算机系统中代替CPU管理控制外设的独立部件,它是一种能执行有限IO指令集合,即通道命令的IO处理机。能够根据程序控制多个外部设备并提供DMA共享的功能。 通道是一种通过执行通道程序管理I/O操作的控制器,它使主机与I/O操作之间达到更高的并行程度。由于它的任务是管理实现输入/输出操作,提供一种传送通道,所以将这种控制部件称作通道。1.基本概念(1)启动通道(2)数据传输(3)结
40、束处理这样,每完成一次输入/输出工作,CPU只需两次调用管理程序,大大减少了对用户程序的打扰。2. 通道工作过程3. 通道与DMA方式的区别(2)DMA控制器只能控制一台或少数几台同类设备;而通道则可以同时控制许多台同类或不同类的设备。(1)DMA控制器完全借助于专门的硬件控制逻辑实现数据传送;而通道则是具有特殊功能的处理器,通过执行通道程序与硬件一起完成数据传送。通道具有更强的独立处理数据输入/输出的功能。根据多台设备共享通道的不同情况,可将通道分为:字节多路通道、数组多路通道和选择通道。选择通道能连接多个但同时只选择其中一个IO设备,多路通道同时能处理多个IO设备。(1)字节多路通道(multipl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省连云港市海州区2024-2025学年七年级上学期期末生物学试题(含答案)
- 水处理技术开发合同
- 人工智能金融风险评估与控制手册
- 生物学基因工程研究热点练习题集编选
- 股份制公司运营指南
- 航空模型制造安全责任协议
- 高分子化学材料性质题库
- 语言学语言应用知识问答
- 高中英语阅读技巧课:如何快速找到文章主旨与细节教案
- 餐饮行业市场份额分析表
- GB/T 20972.2-2025石油天然气工业油气开采中用于含硫化氢环境的材料第2部分:抗开裂碳钢、低合金钢和铸铁
- 美团供应链管理案例分析
- 《钠离子电池产业发展白皮书》
- 深圳市一模+Z20名校联盟+浙江名校协作体高三语文2月联考作文题目解析及相关范文
- 2025中考作文预测
- 油气田开发专业危害因素辨识与风险防控
- 2025年浙江省宁波市外事服务中心招聘2人历年高频重点提升(共500题)附带答案详解
- 《工程制图》题库(含答案)
- 预充气竞技步枪 标准A4靶纸
- 避免同业竞争承诺函
- 产品批量质量事故追责管理规范
评论
0/150
提交评论