
计算机组成原理:7输入输出系统.ppt
69页第第7章章 输入输出(输入输出(I/O)系统)系统(一)(一) I/O 系统基本概念系统基本概念 (二)(二) 外部设备外部设备 1. 输入设备:键盘、鼠标输入设备:键盘、鼠标 2. 输出设备:显示器、打印机输出设备:显示器、打印机 3. 外存储器:硬盘存储器、磁盘阵列、光盘存储器外存储器:硬盘存储器、磁盘阵列、光盘存储器 (三)(三) I/O 接口(接口(I/O 控制器)控制器) 1. I/O 接口的功能和基本结构接口的功能和基本结构 2. I/O 端口及其编址端口及其编址 (四)(四) I/O 方式方式 1. 程序查询方式程序查询方式 2. 程序中断方式程序中断方式 中断的基本概念;中断响应过程;中断处理过程;多重中断和中断的基本概念;中断响应过程;中断处理过程;多重中断和中断屏蔽的概念中断屏蔽的概念 3. DMA 方式方式 DMA 控制器的组成;控制器的组成;DMA 传送过程传送过程 4. 通道方式通道方式 内容要求:内容要求:(一)(一) I/O系统基本概念系统基本概念计算机的输入输出系统一般简称为计算机的输入输出系统一般简称为I/O系统,通常包括系统,通常包括外围外围(I/O)设备、设备、 I/O接口和相关编程软件。
接口和相关编程软件输入输出系统的发展概况:输入输出系统的发展概况:1. 早期早期分散连接分散连接CPU 和和 I/O 串行串行 工作工作程序查询方式程序查询方式2. 接口模块和接口模块和 DMA 阶段阶段总线连接总线连接CPU 和和 I/O 并行并行 工作工作3. 具有通道结构的阶段具有通道结构的阶段4. 具有具有 I/O 处理机的阶段处理机的阶段中断方式中断方式DMA 方式方式31、早期阶段、早期阶段lCPU和外设分散连接、串行工作、耦合性强,和外设分散连接、串行工作、耦合性强,机器速度慢、价格高机器速度慢、价格高while( busy == 1);Do something 主存主存CPUI/O设备设备外设工作在查询模式下外设工作在查询模式下42、接口模块与、接口模块与DMA阶段阶段l具有总线模式,主机通过各种接口连接外设,具有总线模式,主机通过各种接口连接外设,具有中断或具有中断或DMA功能主主机机接口接口I/O设备设备接口接口I/O设备设备接口接口I/O设备设备设备寻址设备寻址速度匹配速度匹配格式转换格式转换电平转换电平转换内内存存52、接口模块与、接口模块与DMA阶段阶段l具有总线模式,主机通过各种接口连接外设,具有总线模式,主机通过各种接口连接外设,具有中断或具有中断或DMA功能。
功能l多个多个DMA控制器同时访问主存可能冲突;控制器同时访问主存可能冲突;CPU管理众多管理众多DMA控制器,任务繁重控制器,任务繁重主主机机接口接口I/O设备设备接口接口I/O设备设备接口接口I/O设备设备设备寻址设备寻址速度匹配速度匹配格式转换格式转换电平转换电平转换内内存存63、通道结构、通道结构l通道是用来负责管理通道是用来负责管理I/O设备以及实现主存与设备以及实现主存与I/O设备之间交换信息的部件,可视为从属于设备之间交换信息的部件,可视为从属于CPU的的“专用处理器专用处理器”l通道具有少数的专门指令,能独立执行简单的通道具有少数的专门指令,能独立执行简单的由通道指令编写的输入输出程序由通道指令编写的输入输出程序通道并不能完全把通道并不能完全把CPU解放出来,解放出来,CPU还要进行诸如码制转换之类的工作还要进行诸如码制转换之类的工作74、外围处理机、外围处理机l外围处理机又称为外围处理机又称为I/O处理机,独立于主机工处理机,独立于主机工作,除了具备通道功能之外,还具备码制转换、作,除了具备通道功能之外,还具备码制转换、格式处理、数据校验等功能格式处理、数据校验等功能。
(二)(二) 外部设备外部设备1. 输入设备:键盘、鼠标输入设备:键盘、鼠标((1)) 键盘键盘Ø键盘是目前应用最普遍的一种输入设备,与键盘是目前应用最普遍的一种输入设备,与CRT或液晶显示或液晶显示器组成终端设备器组成终端设备Ø键盘是由一组排列成阵列形式的按键开关组成的,每按下一键盘是由一组排列成阵列形式的按键开关组成的,每按下一个键,产生一个相应的字符代码(每个按键的位置码),然个键,产生一个相应的字符代码(每个按键的位置码),然后将它转换成后将它转换成ASCII码或其他码,送主机目前常用的标准键码或其他码,送主机目前常用的标准键盘有盘有101个键,它除了提供通常的个键,它除了提供通常的ASCII字符以外,还有多个字符以外,还有多个功能键(由软件系统定义功能)、光标控制键(上、下、左、功能键(由软件系统定义功能)、光标控制键(上、下、左、右移动等)与编辑键(插入或消去字符)等右移动等)与编辑键(插入或消去字符)等2)鼠标)鼠标Ø机械式:机械式: 金属球金属球 电位器电位器Ø光电式:光电式: 光电转换器光电转换器2. 2. 输出设备:显示器、打印机输出设备:显示器、打印机((1)显示器)显示器显示器分类:显示器分类:按器件分:按器件分:CRT显示器;显示器; LED显示器;显示器; 等离子体显示器。
等离子体显示器按显示内容分:字符显示器;按显示内容分:字符显示器; 图形显示器;图形显示器; 图像显示器图像显示器按设备功能分:普通显示器;仅供显示,也称监视器按设备功能分:普通显示器;仅供显示,也称监视器 显示终端;显示器和键盘组成的输入输出设备显示终端;显示器和键盘组成的输入输出设备((2 2)异步接口)异步接口 接口接口外外设设系系统统总总线线((1 1)程序控制接口)程序控制接口3.3.按数据传送控制方式划分按数据传送控制方式划分((2 2)中断接口)中断接口接口与系统总线的信息传送接口与系统总线的信息传送采用异步应答方式采用异步应答方式3 3)直接存储器存取()直接存储器存取(DMADMA)接口)接口2.2.按时序控制方式划分按时序控制方式划分((1 1)同步接口)同步接口接口与系统总线的信息传送由统一时序信号控制接口与系统总线的信息传送由统一时序信号控制4 4)通道控制)通道控制 I/O I/O接口的主要功能接口的主要功能接收接收CPUCPU送来的地址码,进行地址译码送来的地址码,进行地址译码1.1.寻址寻址选择接口中的不同端口(寄存器)供选择接口中的不同端口(寄存器)供CPUCPU访问。
访问2.2.缓存缓存对主机与外设交换的数据进行缓冲和锁存,实现对主机与外设交换的数据进行缓冲和锁存,实现主机与外设的速度匹配主机与外设的速度匹配通过指令指定设备或端口的操作通过指令指定设备或端口的操作4.4.控制:控制:对外设或接口的就绪、忙等状态信息实现保存、应变对外设或接口的就绪、忙等状态信息实现保存、应变和传送3.3.状态状态提供信号格式转换或电平转换等支持提供信号格式转换或电平转换等支持6.6.转换:转换:需要时可进行中断的功能需要时可进行中断的功能5.5.中断:中断: I/O I/O接口的基本结构接口的基本结构lCPUCPU和外设之间通常传递的信息:数据、状态、控制和外设之间通常传递的信息:数据、状态、控制数据线数据线控制线控制线状态线状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门三态门)数据输出寄存器数据输出寄存器(锁存器锁存器)状态寄存器状态寄存器(or 三态门三态门)控制寄存器控制寄存器译码译码电路电路控制控制逻辑逻辑组成:控制逻辑电路、主机与接口和接口与组成:控制逻辑电路、主机与接口和接口与I/OI/O设备之间的信号联设备之间的信号联接线,即地址线、数据线、控制状态线。
接线,即地址线、数据线、控制状态线I/OI/O端口与编址方式端口与编址方式1.I/O端口 Ø为使CPU能选择设备并进行数据传送,接口中通常都具有多个可由CPU进行读或写操作的寄存器或电路,即I/O端口(Port)ØCPU与I/O接口传递信息的类型主要有数据、状态和控制信号,对应传送它们的端口分别为数据端口(I/O)、状态端口(I)和控制端口(O) I和O是相对CPU而言的2. I/O端口编址方式 Ø为了CPU便于对I/O设备进行寻址和选择,对端口进行编址,也就是给每台设备规定一些地址码,称为设备号 (1) 统一编址•优点:访问存储器与访问端口指令相同,寻址类型多,编程较方便•缺点:占用存储器空间;速度慢 (2) I/O端口独立编址•优点:专门的I/O指令,与访存分开;指令执行快;不占内存地址空间•缺点:需专用指令和控制信号、寻址方式少3. 可编程接口 Ø若接口电路或芯片能通过指令指定功能与选择运行参数,则称为可编程接口实质是通过指令对数据、状态和控制寄存器的操作•通用编程接口 :有较多功能供灵活选择•专用编程接口 :为某类设备或专门设备设计的。
I/O I/O数据传送控制方式数据传送控制方式nI/OI/O系统实现主机与系统实现主机与I/OI/O设备间的数据传送,且可以采设备间的数据传送,且可以采用不同的控制方式,各种方式在性能、价格、致力解用不同的控制方式,各种方式在性能、价格、致力解决问题的着重点各不相同决问题的着重点各不相同n常用的常用的I/OI/O控制方式:控制方式:(1) (1) 程序直接控制方式程序直接控制方式(2) (2) 程序中断传送方式程序中断传送方式(3) (3) 直接存储器存取直接存储器存取(DMA)(DMA)传送方式传送方式(4) I/O(4) I/O通道控制方式通道控制方式(5) (5) 外围处理机方式外围处理机方式更依赖于更依赖于CPUCPU程序的控制执行程序的控制执行程序直接控制传送方式程序直接控制传送方式1. 基本概念nCPU执行一段I/O程序实现与外设之间数据传送n该方式是进行数据交换的最简单的控制方法1)无条件传送:只有在外设总处于准备好状态采用2)程序查询方式l优点:较好协调主机与外设之间的时间差异,所用硬件少l缺点:主机与外设只能串行工作;主机一个时间段只能与一个外设进行通讯;CPU效率低。
2. 工作流程从从I/O接口中读接口中读 一个字到一个字到CPU从从CPU向主存向主存 写入一个字写入一个字CPU向向I/O发发 读指令读指令CPU读读I/O状态状态检查状态检查状态 完成否完成否未准备就绪未准备就绪现行程序现行程序是是出错出错已准备就绪已准备就绪否否(1)CPU执行初始化程序,预置传送参数2)从外设接口读取状态3)CPU查询状态,直到准备就绪4)传送一次数据5)修改地址和计数参数6)判断结束 程序中断方式程序中断方式中断的基本概念中断的基本概念CPUCPU暂时中止当前程序运行,转去处理随机出现的情况或暂时中止当前程序运行,转去处理随机出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执有意安排的任务,在处理结束后能自动恢复原程序的执行引起中断产生的事件或发生中断请求的来源2.2.中断源中断源1.1.中断中断3.3.实质实质程序切换程序切换方法:方法: 保存断点,保护现场;保存断点,保护现场;恢复现场,返回断点恢复现场,返回断点时间:时间: 一条指令结束时切换一条指令结束时切换保证程序的完整性保证程序的完整性4.4.特点特点随机性随机性随机发生的事件随机发生的事件由硬件请求信号引发中断由硬件请求信号引发中断(按键、故障)(按键、故障)有意调用有意调用, ,随机请求与处理的事件随机请求与处理的事件 (调用打印机)(调用打印机)随机插入的事件随机插入的事件 (软中断指令插入程序任何位置)(软中断指令插入程序任何位置)5.5.中断分类中断分类(1)(1)硬件中断与软中断硬件中断与软中断由软中断指令引发中断由软中断指令引发中断(2)(2)内中断与外中断内中断与外中断中断源来自主机内部中断源来自主机内部中断源来自主机外部中断源来自主机外部(3)(3)可屏蔽中断与非屏蔽中断可屏蔽中断与非屏蔽中断可通过屏蔽字屏蔽该可通过屏蔽字屏蔽该类请求;关中断时不类请求;关中断时不响应该类请求。
响应该类请求该类请求与屏蔽字无该类请求与屏蔽字无关;请求的响应与开关;请求的响应与开/ /关中断无关关中断无关服务程序、中断向量表服务程序、中断向量表6.6.中断系统的组成中断系统的组成 (1) (1)软件:软件:中断系统的硬、软界面中断系统的硬、软界面(2)(2)硬件硬件接口方面:接口方面: 请求、传递、判优逻辑请求、传递、判优逻辑CPUCPU方面:方面: 响应逻辑响应逻辑7.7.中断过程中断过程中断请求、中断响应、状态保护、中断屏蔽、中断处理、恢复和返回 中断的作用和功能(1)CPU、I/O设备并行工作,提高CPU工作效率2)利用中断来处理故障,提高机器的可靠性 如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理3)实现人机联系 用户抽查计算中间结果,了解机器的工作状态,下达临时性的命令等4)实现多道程序和分时操作 多道程序的切换运行需要借助于中断系统,也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换 (5)实现实时处理 实时处理:某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。
这些事件出现的时刻是随机的,要求计算机中止正在执行的程序,转而去执行中断服务程序 (6)实现应用程序和操作系统的联系 可以在用户程序中安排一条Trap指令进入操作系统,称之为软中断 (7)多处理机系统各处理机间的联系 处理机和处理机之间的信息交流和任务切换可以通过中断来实现CPUCPU响应中断必须满足的条件响应中断必须满足的条件1.中断源有中断请求,且未被屏蔽2.CPU允许接受中断请求,即开中断3.一条指令执行完毕后CPU才能响应中断,并且当前执行的不是停机指令4.无故障、DMA等优先权更高的请求取指令取指令执行指令执行指令中断中断响应中断响应中断执行中断执行中断服务程序服务程序返回断点返回断点关中断、保存断点、关中断、保存断点、现场、开中断现场、开中断关中断、恢复现场、关中断、恢复现场、断点、开中断断点、开中断NY满足所有上述条件,CPU进入中断响应周期 (1)中断响应:中断响应条件满足,处理机从一个程序切换到另一个程序 (2)中断服务程序:为处理意外情况或有意安排的任务而编写的程序 (3)中断请求的检测与屏蔽:Ø在一个指令周期的最后一个机器周期检测;Ø当外部中断源申请中断时,CPU是否响应还要取决于其内部的中断允许触发器的设置。
•IF=1,允许中断申请(开中断); STI•IF=0,禁止中断申请(关中断) CLI 相关说明相关说明 (4)中断请求触发器:当发生引起中断的事件时先将它保存在设备控制器的“中断请求触发器”中,即将“中断触发器”的相应位置“1”5)堆栈与断点的保护Ø程序被中断的地址称为断点,需保存以备恢复执行时使用Ø保存断点的地方为栈区,一般采取内存中开辟的专用数据存取区的形式6)中断屏蔽Ø当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽Ø为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求置“l’则对应的设备封锁;置“0”,允许中断请求得到响应 中断过程中断过程通常一次完整的中断过程由中断请求、中断响应和中断通常一次完整的中断过程由中断请求、中断响应和中断处理处理3个阶段组成个阶段组成1)中断请求()中断请求(INTR):中断源向):中断源向CPU发中断请求信发中断请求信号,并将中断允许触发器置位,以保持请求状态号,并将中断允许触发器置位,以保持请求状态2)中断响应()中断响应(INTA):中断响应条件满足时,):中断响应条件满足时,CPU就响应中断,停止现行程序的运行,准备进入中断处就响应中断,停止现行程序的运行,准备进入中断处理阶段(执行中断隐指令)。
理阶段(执行中断隐指令)3)中断处理:处理一次中断通常需经过几步完成中断处理:处理一次中断通常需经过几步完成 关 中 断 保存断点、保存现场 判别中断源与优先级 转入中断服务程序 开中断 执行中断服务程序 关中断 恢复现场开中断 返回断点 中断处理步骤中断处理步骤① ① 关关中断中断② ② 保存断点、保存现场保存断点、保存现场③ ③ 判别中断源与优先级,转入中判别中断源与优先级,转入中断服务处理过程断服务处理过程④ ④ 开中断开中断⑤ ⑤ 执行为外设的中断服务执行为外设的中断服务⑥ ⑥ 关关中断中断⑦ ⑦ 恢复现场恢复现场⑧ ⑧ 开中断开中断⑨ ⑨ 中断返回中断返回相关说明相关说明(1)关中断:由硬件自动实现,因为接下去要保存断点,保存现场在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序2)保存断点和现场Ø为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来Ø现场信息一般指的是程序状态字、中断屏蔽寄存器和CPU中某些寄存器的内容。
(3)判别中断源,转向中断服务程序:在多个中断源同时请求中断的情况下,实际响应的是优先权最高的那个中断源4)开中断:将允许更高级中断请求得到响应5)执行中断服务程序:不同中断源的中断服务程序是不同的6)退出中断:在退出时,先关中断,恢复现场,然后开中断、恢复断点,返回原程序执行7)中断隐指令:进入中断时执行的关中断、保存断点、(或许还保存PSW)、将中断服务程序的入口地址装入PC等操作一般是由硬件实现的,它类似于一条指令,称为中断隐指令① ① 非向量中断非向量中断将服务程序入口组织在查询程序中;将服务程序入口组织在查询程序中;CPUCPU响应时执行查询响应时执行查询程序,查询中断源,转入相应服务程序程序,查询中断源,转入相应服务程序8 8)如何获取中断服务程序的入口地址)如何获取中断服务程序的入口地址② ② 向量中断向量中断将服务程序入口将服务程序入口( (中断向量中断向量) )组织在中断向量表中;组织在中断向量表中;CPUCPU响应时由硬件直接产生相应向量地址,按地址查表,取响应时由硬件直接产生相应向量地址,按地址查表,取得服务程序入口,转入相应服务程序得服务程序入口,转入相应服务程序。
中断向量:中断向量:服务程序入口地址、服务程序状态字服务程序入口地址、服务程序状态字 中断向量表:中断向量表: 存放中断向量的表存放中断向量的表(一段存储区)(一段存储区) 向量地址:向量地址:访问向量表的地址访问向量表的地址 (指向中断向量的首址)(指向中断向量的首址)(1)软件查询:由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志) 中断源及优先级判别中断源及优先级判别 2. 2.判别中断源与优先级判别中断源与优先级查询的次序即为中断源优先级的顺序灵活、但转入服务程序时间较长1. 1. 中断优先级的设置中断优先级的设置n优先权:多个中断同时发生时,对各个中断响应的优先次序n在多重中断系统中,每一个中断源分配给一个优先级,这是根据中断事件的轻、重、缓、急程度而分成的若干级别,CPU先响应高级中断的请求n通常采用两种方法:软件查询和串行链式排队电路A、、B、、C 优先级按优先级按 降序降序 排列排列软件实现(程序查询)中断源与优先级否否……是否是否 A 请求请求??是否是否 B 请求?请求?是否是否 C 请求?请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否 硬件实现中断判优逻辑(排队器)硬件实现中断判优逻辑(排队器) 1 1 1 & 1 & 1 &INTR1INTR2INTR3INTR4INTR1 、、 INTR2 、、 INTR3 、、 INTR4 优先级优先级 按按 降序降序 排列排列 INTP1INTP2INTP3INTP4(2)串行排队链法:由硬件确定中断源。
下图为中断请求逻辑图和串行排队判别优先线路图 链式排队器电路原理链式排队器电路原理特点:中断优先级的响应次序由硬件排队线路决定一旦设计完成,系统的优先级别就决定了,缺乏改变优先权级别的灵活性中断判优的三种方式中断判优的三种方式…CPUIGIR设备设备1 1设备设备n n…CPUIG1IR1设备设备1 1设备设备n n┆┆IRnIGn…CPUIG1IR1设备设备设备设备┆┆IRnIGn…设备设备设备设备IRIR:中断请求输入线:中断请求输入线IGIG:中断许可输出线:中断许可输出线 链式查询中断示意图独立请求中断示意图分组链式中断示意图n多重中断:指多个中断源的计算机系统中,按照各自的优先权并以嵌套方式工作的中断n多重中断处理(中断嵌套):在处理某一个中断的过程中又发生了新的更高级中断源的中断申请,且CUP又处于开中断状态下,CPU就要中断该服务程序的执行,转去进行新的中断处理服务程序 多重中断多重中断1.1.多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1 , l+1 , m+1n 优先原则:优先权级别高的优先处理,级别低的后处理。
2. 2. 实现多重中断的条件实现多重中断的条件B, CA中断中断请求请求主程序主程序(2) (2) 优先级别高的中断源有权中断优先级别低的中断源优先级别高的中断源有权中断优先级别低的中断源(1) (1) 提前设置开中断指令提前设置开中断指令ABCD中断服务程序中断服务程序(( A、、B、、 C、、 D 优先级按优先级按 降序降序 排列)排列)D3. 3. 中断屏蔽技术中断屏蔽技术Ø在有优先级中断屏蔽码(字)控制的条件下,可以不改变系统排队线路,使其中断响应次序不同Ø改变屏蔽码可以临时改变各设备之间中断处理次序,所以屏蔽码可看成中断处理过程中的软排队器1)中断优先级调整:采用中断屏蔽寄存器,用软件设置灵活的优先顺序2)中断屏蔽:给每个中断源配置一位屏蔽触发器,置1表示阻止该中断源的请求,0表示可以正常申请,并将所有的触发器组成一个中断屏蔽寄存器,通过指令可对其设置和修改(3)中断屏蔽电路实现MASKi = 0(未屏蔽)(未屏蔽)INTPi 能被置能被置 “1” 1 & & & 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 1 1 1 1……0 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响应某个中断请求后,送出一个新的屏蔽字,以禁止与该请求同一优先级或更低级优先级的其它请求只允许比该请求优先级高的其它中断请求提出申请动态改变优先级动态改变优先级实现多重中断实现多重中断(屏蔽(屏蔽高级高级,开放,开放低级低级))(屏蔽(屏蔽同、低级同、低级,开放,开放高级高级))② 动态地修改优先级:硬件排优逻辑所分配的优先级是固定的,有时要临时动态的修改优先顺序,可利用屏蔽字来临时调整 例:假定硬件原来的排队响应顺序为0→1→2,在不改变硬件排队次序的情况下,欲临时改变中断优先顺序为1→2→0,试设置中断屏蔽字解:可以采用改变中断屏蔽码来实现中断响应次序1→2→0 如表2所示程序级别 屏蔽码 0 1 20级中断 1级中断 2级中断 1 0 0 1 1 1 1 0 1 表2 修改的中断屏蔽码原程序 0级中断1级中断 2级中断中断优先顺序图三个中断源同时申请时的中断优先顺序如图所示单级单级中断服务流程:中断服务流程: 保护现场保护现场具体服务处理具体服务处理 恢复现场恢复现场开中断开中断外中断:外中断:数据传送数据传送禁止同禁止同级或更级或更低级别低级别的请求,的请求,开放更开放更高级别高级别的请求的请求多重多重中断服务流程:中断服务流程: 开中断、中断返回开中断、中断返回 关中断、保护现场关中断、保护现场送新屏蔽字、开中断送新屏蔽字、开中断 具体服务处理具体服务处理 关中断关中断恢复现场及原屏蔽字恢复现场及原屏蔽字4.4.中断响应过程中断响应过程中断返回中断返回 DMA DMA方式方式DMADMA方式基本概念方式基本概念nDMA是l/O设备与主存储器之间由硬件组成的直接数据通路,主要用于高速I/O设备与主存之间的成批数据传送。
n目的:减少大批量数据传输时CPU的开销n方法:在专用硬件DMA控制器控制下,生成当前正在传送的数据的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据在数据传送之前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理 DMADMA与中断的区别与中断的区别l中断传送过程需要中断传送过程需要CPU的干预,而的干预,而DMA传送传送过程不需要过程不需要CPU的干预,完全由硬件的干预,完全由硬件((DMAC)独立完成独立完成lCPU对中断响应时间只能发生在每条指令执行对中断响应时间只能发生在每条指令执行完毕,而对完毕,而对DMA响应的时间可以发生在每个响应的时间可以发生在每个机器周期的结束机器周期的结束指令周期指令周期取指令代码取指令代码译码译码取操作数取操作数执行执行DMA有有4个切入点个切入点中断断点中断断点7.3.2 DMA7.3.2 DMA三种工作方式三种工作方式1.独占总线(霸道) ØCPU暂停方式,主机响应DMA请求后让出总线,从传送首字开始直到成组数据传送完毕,DMA控制器掌控总线不放。
Ø采用这种工作方式的I/O设备,在其接口中一般设置有存取速度较快的小容量存储器I/O设备与小容量存储器先交换数据,然后小容量存储器再与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少CPU暂停工作时间Ø该方式也称为成组连续传送方式,它可减少系统总线控制权的交换次数,有利于提高输入输出速度适用于高速外设或单用户状态下的个人计算机 2. CPU周期挪用(见缝插针、礼让)Ø 趁存储器空闲时DMA占用总线周期传送一个字若与CPU发生总线争用时,CPU让出一个总线周期给DMA,即CPU暂停工作一个周期,然后继续使用总线Ø 该方式也称为单字传送方式3.交替方式Ø直接访问存储器工作方式,与CPU轮流使用一个时间片,不需要申请、建立和释放手续Ø这是标准的 DMA工作方式如传送数据时CPU正好不占用总线,则对CPU不产生任何影响如同时需要访问总线,则DMA的优先级高于CPU DMADMA控制器组成控制器组成数据总线数据总线控制总线控制总线地址地址译码器译码器地址总线地址总线总线请求总线请求总线允许总线允许控制控制/状态逻辑状态逻辑请求寄存器请求寄存器地址计数器地址计数器字计数器字计数器DMA请求请求DMA回答回答计数结束信号计数结束信号数据缓冲数据缓冲寄存器寄存器中断逻辑中断逻辑DMADMA控制器框图控制器框图(2)请求寄存器:存放I/O设备的DMA请求标志(触发),能接收并记忆;它在启动传送的同时复位,为下一请求做准备。
3)字计数器(WC):存放传送数据的数量在传送开始前,由程序将要传送的一组数据的字数送入WC,以后每传送一个字(或字节)计数器自动减1,当WC内容为零时表示数据已全部传送完毕,自动发中断请求信号1.组成DMA控制器的主要寄存器(1)主存地址计数器:存放要交换数据的内存地址该寄存器初始值为主存在缓冲区的首地址,在传送前要由程序送入主存缓冲区地址是连续的,在DMA传送期间,每交换一个字由硬件逻辑将其自动加1而成为下一次数据传送的主存地址 (4)数据缓冲寄存器(DBR):暂存I/O设备与主存传送的数据通常DMA与主存之间是按字传送的,而DMA与设备之间是按字节或块传送的因此,DMA还可能要包括装配和拆卸字信息的硬件如数据移位缓冲寄存器、字节计数器等5)控制与状态寄存器(CSR):用来存放控制字和状态字,有的接口中使用两个寄存器分别存放控制字和状态字 u 各寄存器均有自己的总线地址,它们是主存的指定单元或I/O设备号,CPU可对这些寄存器进行读/写 2.中断控制逻辑 DMA中断控制逻辑负责申请CPU对DMA进行预处理和后处理向CPU报告一组数据交换结束 3.控制/状态逻辑 一般包括设备码选择电路;DMA优先排队电路,产生DMA请求的线路等;在DMA取得总线控制权后控制主存和设备之间的数据传送(修改两个计数器、指定传送功能、协调应答信号的配合与同步)。
DMADMA控制器与接口的连接控制器与接口的连接系统总线系统总线CPUCPU M M DMA DMA控制器控制器接口接口接口接口I/OI/OI/OI/O多路型多路型DMADMA控制器控制器主机板主机板接口板接口板允许各设备以字节允许各设备以字节为单位交叉传送,为单位交叉传送,或以数据块为单位或以数据块为单位成组传送成组传送DMA接口与主机和I/O设备两个方向的数据线、地址线和控制信号线,以及有关收发与驱动线路1.DMA1.DMA控制器功能控制器功能((1 1)接收初始化信息)接收初始化信息 (传送方向、主存首址、交换量)传送方向、主存首址、交换量)初始化初始化((2 2)接收外设)接收外设DMADMA请求,请求,判优,判优, 向向CPUCPU申请总线申请总线传送前传送前((3 3)接管总线权,发地址、读)接管总线权,发地址、读/ /写命令传送期间传送期间2.2.接口功能接口功能((1 1)接收初始化信息)接收初始化信息 (外设寻址信息)外设寻址信息)初始化初始化((2 2)向)向DMADMA控制器发请求控制器发请求传送前,外设准备好传送前,外设准备好((3 3)传送数据传送数据。
传送期间传送期间((4 4)申请中断申请中断传送完传送完DMADMA的传送数据工作流程的传送数据工作流程nDMA的数据传送过程可分为三个阶段:DMA传送前预处理、数据传送及传送结束后处理 CPUCPU预处理预处理 内存起始地址内存起始地址®®DMA 设备地址设备地址®® DMA 传送数据个数传送数据个数®®DMA 启动设备启动设备 继续执行主程序,同时继续执行主程序,同时完成一批数据传送完成一批数据传送 中断服务程序中断服务程序 进行进行DMA结束处理结束处理 数据传送数据传送后处理后处理DMADMA数据传送三个阶段数据传送三个阶段NDMADMA请求请求 允许传送?允许传送? 主存地址送总线;数据主存地址送总线;数据送送I/O设备(或主存);设备(或主存);主存地址加主存地址加1;;WC内内容(传送个数)容(传送个数) 向向CPU申请程序中断申请程序中断 数据块传数据块传 送结束?送结束? NYY第二阶段数据传送过程第二阶段数据传送过程三种方式的三种方式的 CPU 工作效率比较工作效率比较存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现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 准备及传送准备及传送4. 通道方式通道方式Ø I/O通道是计算机系统中代替通道是计算机系统中代替CPU管理控制外设的独立部件,管理控制外设的独立部件,是一种能执行有限是一种能执行有限I/O指令集合指令集合————通道命令的通道命令的I/O处理机。
处理机Ø 在通道控制方式下,一个主机可以连接几个通道每个通道在通道控制方式下,一个主机可以连接几个通道每个通道又可连接多台又可连接多台I/O设备,这些设备可具有不同速度,可以是不设备,这些设备可具有不同速度,可以是不同种类这种输入输出系统增强了主机与通道操作的并行能同种类这种输入输出系统增强了主机与通道操作的并行能力以及各通道之间、同一通道的各设备之间的并行操作能力力以及各通道之间、同一通道的各设备之间的并行操作能力同时也为用户提供了增减外围设备的灵活性同时也为用户提供了增减外围设备的灵活性Ø 采用通道方式组织输入输出系统,多使用主机采用通道方式组织输入输出系统,多使用主机——通道通道——设备设备控制器控制器—— I/0设备四级连接方式通道通过执行通道程序实施设备四级连接方式通道通过执行通道程序实施对对I/O系统的统一管理和控制,因此,它是完成输入输出操作系统的统一管理和控制,因此,它是完成输入输出操作的主要部件在的主要部件在CPU启动通道后,通道自动地去内存取出通启动通道后,通道自动地去内存取出通道指令并执行指令直到数据交换过程结束向道指令并执行指令直到数据交换过程结束向CPU发出中断发出中断请求,进行通道结束处理工作。
请求,进行通道结束处理工作I/O通道的种类:通道的种类:根据多台设备共享通道的不同情况,可将通道分为三类:根据多台设备共享通道的不同情况,可将通道分为三类:字节字节多路通道、选择通道和数组多路通道多路通道、选择通道和数组多路通道1)字节多路通道)字节多路通道(低速、分时低速、分时) •字节多路通道(字节多路通道(multiplexor channel)是一种简单的共享通)是一种简单的共享通道,在时间分割的基础上,服务于多台低速和中速面向字符道,在时间分割的基础上,服务于多台低速和中速面向字符的外围设备的外围设备•字节多路通道包括多个子通道,每个子通道服务于一个设备字节多路通道包括多个子通道,每个子通道服务于一个设备控制器,可以独立地执行通直指令每个子通道都需要有字控制器,可以独立地执行通直指令每个子通道都需要有字符缓冲寄存器、符缓冲寄存器、I/O请求标志请求标志/控制寄存器、主存地址寄存器和控制寄存器、主存地址寄存器和字节计数寄存器而所有子通道的控制部分是公共的,由所字节计数寄存器而所有子通道的控制部分是公共的,由所有子通道所共享通常,每个通道的有关指令和参量存放在有子通道所共享通常,每个通道的有关指令和参量存放在主存固定单元中。
当通道在逻辑上与某一设备连通时,将这主存固定单元中当通道在逻辑上与某一设备连通时,将这些指令和参量取出来,送入公共控制部分的寄存器中使用些指令和参量取出来,送入公共控制部分的寄存器中使用•字节多路通道要求每种设备分时占用一个很短的时间片,不字节多路通道要求每种设备分时占用一个很短的时间片,不同的设备在各自分得的时间片内与通道建立传输连接,实现同的设备在各自分得的时间片内与通道建立传输连接,实现数据的传送数据的传送 ((2)选择通道(高速、独占))选择通道(高速、独占) •选择通道每次只能从所连接的设备中选择一台选择通道每次只能从所连接的设备中选择一台I/O设设备的通道程序,此刻该通道程序独占了整个通道当备的通道程序,此刻该通道程序独占了整个通道当它与主存交换完数据后,才能转去执行另一个设备的它与主存交换完数据后,才能转去执行另一个设备的通道程序,为另一台设备服务因此,连接在选择通通道程序,为另一台设备服务因此,连接在选择通道上的若干设备,只能依次使用通道与主存传送数据道上的若干设备,只能依次使用通道与主存传送数据•数据传送是以成组(数据块)方式进行,每次传送一数据传送是以成组(数据块)方式进行,每次传送一个数据块,因此,传送速率很高。
选择通道多适合于个数据块,因此,传送速率很高选择通道多适合于快速设备(磁盘),这些设备相邻字之间的传送空闲快速设备(磁盘),这些设备相邻字之间的传送空闲时间极短时间极短 ((3)数组多路通道(综合))数组多路通道(综合)•数组多路通道把字节多路通道和选择通道的特点数组多路通道把字节多路通道和选择通道的特点结合起来它有多个子通道,既可以执行多路通结合起来它有多个子通道,既可以执行多路通道程序,像字节多路通道那样、所有子通道分时道程序,像字节多路通道那样、所有子通道分时共享总通道;又可以用选择通道那样的方式传送共享总通道;又可以用选择通道那样的方式传送数据•数组多路通道具有多路并行操作能力,又具有很数组多路通道具有多路并行操作能力,又具有很高的数据传送速率,赢得了吞吐率的较大提高高的数据传送速率,赢得了吞吐率的较大提高它的缺点是增加了控制的复杂性它的缺点是增加了控制的复杂性(1)启动通道(2)数据传输(3)结束处理这样,每完成一次输入/输出工作,CPU只需两次调用管理程序,大大减少了对用户程序的打扰通道工作过程通道工作过程通道与通道与DMADMA方式的区别方式的区别(2)DMA控制器只能控制一台或少数几台同类设备;而通道则可以同时控制许多台同类或不同类的设备。
1)DMA控制器完全借助于专门的硬件控制逻辑实现数据传送;而通道则是具有特殊功能的处理器,通过执行通道程序与硬件一起完成数据传送通道具有更强的独立处理数据输入/输出的功能基本功能基本功能(1)接受CPU的I/O指令选择某一指定外设与系统相连,向该外设发出操作命令,并进行初始化2)读取并执行通道程序3)控制外设与主存之间的数据传送4)读取外设的状态信息,并形成和保存通道本身的状态信息,以便提供给CPU5)向CPU发中断请求通道除了承担DMA的全部功能外,还承担了设备控制器的初始化工作,并包括了低速外设单个字符传送的程序中断功能,因此它分担了计算机系统中全部或大部分I/O功能,提高了计算机系统功能分散化程度典型题解典型题解一、单项选择题:一、单项选择题:1 1、波特率表示传输线路上、波特率表示传输线路上__A____A__A A.信号的传输速率.信号的传输速率B B.有效数据的传输速率.有效数据的传输速率C C.校验信号的传输速率.校验信号的传输速率D D.干扰信号的传输速率.干扰信号的传输速率2 2、中断系统中的断点是指、中断系统中的断点是指__D____D__A A.子程序入口地址.子程序入口地址B B.中断服务子程序入口地址.中断服务子程序入口地址C C.中断服务程序入口地址表.中断服务程序入口地址表D D.中断返回地址.中断返回地址3 3、显示器的主要参数之一是分辨率,其含义是、显示器的主要参数之一是分辨率,其含义是__B____B__。
A A.显示屏幕的水平和垂直扫描频率.显示屏幕的水平和垂直扫描频率B B.显示屏幕上光栅的列数和行数.显示屏幕上光栅的列数和行数C C.可显示不同颜色的总线.可显示不同颜色的总线D D.同一个画面允许显示不同颜色的最大数目.同一个画面允许显示不同颜色的最大数目4 4、显示器主要有两种工作方式,以(、显示器主要有两种工作方式,以( )为显示单位的称为字符显示器,)为显示单位的称为字符显示器,以(以( )为显示单位的称为图形显示器为显示单位的称为图形显示器A A.字节.字节B B.字符.字符 C C.像素.像素D D.字块.字块答案:答案: B CB C5 5、(、(20092009年真题)下列选项中,能引起外部中断的事件是(年真题)下列选项中,能引起外部中断的事件是( )A A.键盘输入.键盘输入B B.除数为.除数为0 0C C.浮点运算下溢.浮点运算下溢 D D.访存缺页.访存缺页答案:答案:A A6、、 ((2010年真题)单级中断系统中,中断服务程序执行顺序是(年真题)单级中断系统中,中断服务程序执行顺序是( )。
I、保护现场、保护现场 II、开中断、开中断 III、关中断、关中断 IV、保存断点、保存断点V、中断事件处理、中断事件处理 VI、恢复现场、恢复现场 VII、中断返回、中断返回A::I、、V、、VI、、II、、VII B::III、、I、、V、、VIIC::III、、IV、、V、、VI、、VII D::IV、、I、、V、、VI、、VII答案:答案:A A7、、 ((2010年真题)假定一台计算机的显示存储器用年真题)假定一台计算机的显示存储器用DRAM芯片实现,若芯片实现,若要求显示分辨率为要求显示分辨率为1600*1200,颜色深度为,颜色深度为24位,帧频为位,帧频为85Hz,显示,显示总带宽的总带宽的50% 用来刷新屏幕,则需要的显存总带宽至少约为(用来刷新屏幕,则需要的显存总带宽至少约为( )A ::245 Mbps B::979 Mbps C::1958 Mbps D::7834Mbps答案:答案:D D8 8、在独立编址方式下,、在独立编址方式下,CPUCPU对存储单元和对存储单元和I/OI/O设备的访问是靠(设备的访问是靠( )来区分的。
来区分的A A.不同的地址代码.不同的地址代码B B.不同的地址总线.不同的地址总线C C.不同的指令和不同的控制信号.不同的指令和不同的控制信号D D.上述都不对.上述都不对答案:答案:C C9 9、计算机系统的输入、计算机系统的输入/ /输出接口通常是(输出接口通常是( )A A..CPUCPU与存储器之间的交界面与存储器之间的交界面B B.存储器与打印机之间的交界面.存储器与打印机之间的交界面C C.主机与外围设备之间的交界面.主机与外围设备之间的交界面D D..CPUCPU与系统总线之间的交界面与系统总线之间的交界面答案:答案:C C1010、中断向量表是(、中断向量表是( )A A.子程序入口地址.子程序入口地址B B.中断服务程序入口地址.中断服务程序入口地址C C.中断服务程序入口地址表.中断服务程序入口地址表D D.中断返回地址表.中断返回地址表 答案:答案:C C1111、字符显示器中的、字符显示器中的VRAMVRAM用来存放(用来存放( )A A.显示字符的.显示字符的ASCIIASCII码码B B..BCDBCD码码C C.字模.字模D D.汉字内码.汉字内码答案:答案:A A1212、下列陈述中正确的是、下列陈述中正确的是 A A 。
A A.中断响应过程是由硬件和中断服务程序共同完成的.中断响应过程是由硬件和中断服务程序共同完成的B B.每条指令的执行过程中,每个总线周期要检查一次有无中断请求.每条指令的执行过程中,每个总线周期要检查一次有无中断请求C C.检验有无.检验有无DMADMA请求,一般安排在一条指令执行过程的末尾请求,一般安排在一条指令执行过程的末尾D D.中断服务程序的最后一条指令是无条件转移指令.中断服务程序的最后一条指令是无条件转移指令1313、采用、采用DMADMA方式高速传输数据时,数据传送是方式高速传输数据时,数据传送是 C C A A.在总线控制器发出的控制信号控制下完成的.在总线控制器发出的控制信号控制下完成的B B.由.由CPUCPU执行的程序完成的执行的程序完成的C C.在.在DMADMA控制器本身发出的控制信号控制下完成的控制器本身发出的控制信号控制下完成的D D.由.由CPUCPU响应硬中断处理完成的响应硬中断处理完成的1414、通道程序是由、通道程序是由________组成,通道对组成,通道对CPUCPU的请求通过的请求通过________形式,形式,CPUCPU对通道的对通道的访问通过访问通过________形式。
形式A A..I/OI/O指令,自陷,中断指令,自陷,中断B B.通道指令(通道控制字),中断,.通道指令(通道控制字),中断,I/OI/O指令指令C C.通道状态字,通道命令,自陷.通道状态字,通道命令,自陷D D.通道状态字,跳转指令,通道命令.通道状态字,跳转指令,通道命令答案答案 :: B B通道程序是主处理机为它准备的一些通道命令,外设有通道程序是主处理机为它准备的一些通道命令,外设有DMADMA请求时,通过请求时,通过DMACDMAC向向CPUCPU以发中断的形式申请总线使用权,而当以发中断的形式申请总线使用权,而当CPUCPU与与DMACDMAC传送信息时如同一传送信息时如同一个个I/OI/O接口,所以通过接口,所以通过I/OI/O指令访问,因此答案为指令访问,因此答案为B B2 2、设磁盘存储器的平均寻道时间为、设磁盘存储器的平均寻道时间为10.5ms10.5ms,磁盘的转速为,磁盘的转速为3000r/min3000r/min,每,每个扇区的容量为个扇区的容量为512B512B,每条磁道的容量为,每条磁道的容量为3072B3072B,请计算磁盘存储器,请计算磁盘存储器读读/ /写一个扇区数据的平均访问时间。
写一个扇区数据的平均访问时间解:磁盘存储器读解:磁盘存储器读/ /写一个扇区数据:写一个扇区数据:平均访问时间平均访问时间 = = 平均寻道时间平均寻道时间 ++ 平均等待时间平均等待时间 ++ 传输一个扇区时间传输一个扇区时间磁盘每秒转动:磁盘每秒转动:r=3000/60=50r=3000/60=50转转二、综合应用题二、综合应用题1 1、设某逐行扫描显示器的分辨率为、设某逐行扫描显示器的分辨率为12801280××10241024,若其灰度为,若其灰度为10241024级,试计级,试计算为达到这一显示效果,算为达到这一显示效果,VRAMVRAM的容量需要多少字节的容量需要多少字节解:所需字节数为:解:所需字节数为:10241024级,即级,即2 21010每像素占每像素占1010位位=1.25B=1.25B,则,则 每帧需要每帧需要VRAMVRAM容量容量=1280=1280×10241024×10/8 B = 1.562MB≈1.6MB10/8 B = 1.562MB≈1.6MB3、磁盘组有、磁盘组有6片磁盘,每片有两个记录面,最上最下两面不片磁盘,每片有两个记录面,最上最下两面不用。
存储区域内半径用存储区域内半径10cm,外半径,外半径15.5cm,道密度为,道密度为60道道/cm,内层位密度,内层位密度600位位/cm,转速,转速3000转转/分,问:分,问:((1)共有多少柱面?)共有多少柱面?((2)盘组总存储容量是多少?)盘组总存储容量是多少?((3)数据传输率多少?)数据传输率多少?((4)采用定长数据块记录格式,直接寻址的最小单位是)采用定长数据块记录格式,直接寻址的最小单位是什么什么?寻址命令中如何表示磁盘地址?寻址命令中如何表示磁盘地址?((5)如果某文件长度超过一个磁道的容量,应将它记录)如果某文件长度超过一个磁道的容量,应将它记录在同一个存储面上,还是记录在同一个柱面上?在同一个存储面上,还是记录在同一个柱面上?解:解:((1)有效存储区域)有效存储区域= 15.5--10 = 5.5cm 柱面数柱面数=道密度道密度×有效区域有效区域=60道道/cm×5.5cm=330道,即道,即 330个个柱面2)内道周长)内道周长=3.14×2×10=62.8cm 道信息量道信息量N=600位位/cm×62.8cm=37680位位=4710B≈4.6KB 面信息量面信息量=4710×330=1554300 B 盘组容量盘组容量=1554300B×10 ≈ 14.8MB((3)磁盘数据传输率)磁盘数据传输率=转数转数r ×道容量道容量N=((3000转转/60秒)秒) ×4710B =50×4710=235500B/S= ≈ 230KB/S((4)最小单位是一个扇区,其编址方式可为如下格式:)最小单位是一个扇区,其编址方式可为如下格式: ((5)记录在同一个柱面上,因为不需要重新找道,数据读写速度)记录在同一个柱面上,因为不需要重新找道,数据读写速度快。
快磁盘号磁盘号 柱面号柱面号 盘面号盘面号扇区号扇区号4、(、(2009年真题,年真题,8 分)某计算机的分)某计算机的 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 时间的百分比是多少?时间的百分比是多少?(假设(假设 DMA 与与 CPU 之间之间 没有访问冲突)。
没有访问冲突)解:(解:(1 1)外设每秒传送)外设每秒传送0.5MB0.5MB,中断时每次传送,中断时每次传送4B4B,中断方式,中断方式下,下,CPUCPU每次用于数据传送的时钟周期数:每次用于数据传送的时钟周期数:5 5××((18+218+2))=100=100为达到外设为达到外设 0.5MB/s0.5MB/s的数据传输率,则外设每秒申请的中断次的数据传输率,则外设每秒申请的中断次数:数:0.5MB/ 4B=1250000.5MB/ 4B=1250001 1秒内秒内用于中断的开销(用于中断的开销(时钟周期数时钟周期数):): 100 100 ××125000= 12500000=12.5M125000= 12500000=12.5M个个CPUCPU用于该外设用于该外设I/OI/O的时间占整个的时间占整个CPUCPU时间的百分比:时间的百分比:12.5M/500M=2.5%12.5M/500M=2.5%((2 2)当该外设的数据传输率达到)当该外设的数据传输率达到5MB/s5MB/s时,改用时,改用DMADMA方式传送方式传送, ,每次每次DMADMA传送传送5000B5000B,,1 1秒内需产生的秒内需产生的DMADMA次数:次数:5MB/5000B=10005MB/5000B=10001 1秒内秒内CPUCPU用于用于DMADMA的总开销(的总开销(时钟周期数时钟周期数)) :: 500 500 ××1000= 500000=0.5M1000= 500000=0.5M个时钟周期个时钟周期则则CPUCPU用于该外设用于该外设I/OI/O的时间占整个的时间占整个CPUCPU时间的百分比:时间的百分比:0.5M/500M=0.1%0.5M/500M=0.1%。












