第九章、输入输出原理原著 谭志虎主讲(改编)蒋文斌计算机组成原理 Slide 2 本章主要内容o 程序查询方式o 程序中断方式o 直接内存访问方式o 通道方式o 外围处理机方式计算机组成原理 Slide 3 程序查询方式o 数据传输完全依赖于程序控制o CPU与外设之间的操作能够同步o 硬件结构简单o 频繁的查询动作浪费了大量宝贵的CPU时间o 最古老的一种方式,目前很少使用计算机组成原理 Slide 4 查询方式CPU处理过程 启动设备 查询设备状态 传送数据 内存地址递增 传送量计数 关闭设备准备好传送完NNYY计算机组成原理 Slide 5 程序中断方式o 外围设备主动通知CPU,准备数据传输o 当中断发生时,CPU中断当前的工作,转向中断处理子程序,该程序用于数据传输o 提高了CPU的使用效率o 适合随机出现的服务o 硬件结构相对复杂,服务开销时间大计算机组成原理 Slide 6 直接内存访问DMA方式o 用于成组交换数据的场合o 中断方式不适合于成组数据交换o 由硬件执行I/O交换的工作方式o DMA控制器从CPU接管总线控制,数据交换无须CPU干预,直接在内存以及外围设备之间进行,节约了中断开销o 需要更多硬件计算机组成原理 Slide 7 通道方式o 分担CPU的I/O 处理的功能o 通道是一个具有特殊功能的输入/输出处理器(IOP)o 可以实现外围设备的统一管理和DMA操作o 大大提高了CPU工作效率o 花费更多的硬件代价计算机组成原理 Slide 8 外围处理机方式(PPU)o PPU方式是通道方式的进一步延伸;o 独立于主机工作计算机组成原理 Slide 9 信息交换方式o 程序查询方式o 程序中断方式o 直接内存访问方式o 通道方式o 外围处理机方式计算机组成原理 Slide 10 程序中断方式o 中断基本概念o 程序中断基本接口o 中断仲裁方式o 中断控制器计算机组成原理 Slide 11 中断基本概念o CPU暂时中止现行程序的执行,转去执行为某个随机事件服务的中断处理子程序,处理完毕后自动恢复原程序的执行n 保存断点,保护现场;n 恢复现场,返回断点。
n 一条指令结束时切换n 保证程序的完整性计算机组成原理 Slide 12 中断意义o 非正常的现象:运算溢出、除零、死循环或电压下降等o 外部设备要求传送信息 中断技术赋于计算机应变能力,将有序的运行和无序的事件统一起来,大大增强了系统的处理能力计算机组成原理 Slide 13 程序中断处理示意图主程序A请求中断B请求中断C请求中断A中断服务子程序B中断服务子程序C中断服务子程序计算机组成原理 Slide 14 中断程序与子程序o 子程序调用是由主程序安排在特定位置上的,与主程序存在必然联系o 中断随机发生,可在程序任何一个位置切换,没有直接联系计算机组成原理 Slide 15 中断作用o 实现主机和外部设备并行工作 使用中断技术后,CPU原来用于查询外设状态的时间被充分地利用起来了,其工作效率得到了显著的提高主程序启动设备设备请求中断设备准备中断服务计算机组成原理 Slide 16 两种控制方式中CPU运行轨迹 准备数据 传送 准备数据 传送 设备工作 设备状态 启动 结束 查询 查询 为设备服务 程序直接控制 主程序 CPU 启动指令 程序中断控制 CPU 主程序 主程序 中断服务程序 计算机组成原理 Slide 17 中断作用o 故障处理n系统能在故障出现时发出中断信号,调用相应的处理程序,将故障的危害降到最低程度,并请求系统管理员排除故障。
o 实时处理n计算机在现场测试和控制、网络通讯、人机对话时都具有强烈的实时性,中断技术能确保实时信号的处理计算机组成原理 Slide 18 中断的类型 中断 内中断 外中断(强迫中断)自愿中断本质属子程序调用 强迫中断 硬件故障 软件出错 不可屏蔽中断 可屏蔽中断 计算机组成原理 Slide 19 中断优先级o 多个设备同时产生中断请求,CPU必须采用一定的策略进行响应o 优先级CPU响应并处理中断请求的先后次序o 优先级高的先响应o 优先级高的设备的中断请求可以中断CPU当前所服务的优先级低的服务程序计算机组成原理 Slide 20 中断优先级o CPU设定优先级:优先级随执行程序而改变(如执行某设备的服务程序,CPU的优先级就与该设备的优先级一样)o 凡是低于或者等于当前优先级的设备请求均要屏蔽o CPU在程序开始执行时,就设置设备接口中的中断屏蔽触发器(INM)状态(如CPU当前优先级是3级(0为最高级),则将3级以上的低优先级设备接口中的INM置“1”即屏蔽,其他置“0”)计算机组成原理 Slide 21 划分优先级的一般规律o 硬件故障中断属于最高级,o 其次是程序错误中断o 非屏蔽中断优于可屏蔽中断o DMA请求优先于I/O设备传送的中断请求o 高速设备优于低速设备,输入设备的中断优于输出设备,实时设备优先于普通设备o 同一优先等级中可以包括多台设备,这些设备中离计算机近的优先,形成了二维优先等级。
计算机组成原理 Slide 22 二维优先级示意图 中断优先级排队电路 与中断控制逻辑 设备 A1 设备 A2 设备 An 设备 B1 设备 B2 设备 Bn 设备 X1 设备 X2 设备 Xn INTR A INTA A INTR B INTA B INTR X INTA X 高 优先级 低 高 低 优 先 级 计算机组成原理 Slide 23 中断屏蔽o 中断屏蔽技术可动态改变各设备的优先级o 响应优先级nCPU对各设备中断请求进行响应,并准备好处理的先后次序,这种次序往往在硬件线路上已固定,不便于变动o 处理优先级nCPU实际对各中断请求处理的先后次序如果不使用屏蔽技术,响应的优先次序就是处理的优先次序计算机组成原理 Slide 24 中断屏蔽方式321IE0321y中断 CPUIRx屏蔽寄存器中断寄存器优先编码器IR3IR2IR1IR00I0I1I2I3计算机组成原理 Slide 25 中断屏蔽位o CPU响应中断后,正在执行中断服务子程序时,可能有另外一个设备也发出中断请求,为了不发生混乱,中断管理部件中必须有一个中断屏蔽寄存器o 设置1为设置屏蔽,否则取消屏蔽计算机组成原理 Slide 26 屏蔽码 屏蔽码 设备名称 0 1 0 0 1 1 0 1 H G F E A B C D 设备名称 o 通过控制各设备接口的屏蔽触发器状态,达到改变处理次序的目的。
CPU送往各设备接口屏蔽触发器状态信息的集合,称为屏蔽码计算机组成原理 Slide 27 单级中断与多级中断o 当几个设备同时产生中断请求时,CPU响应即优先级高的中断请求o 但当CPU正在处理低优先级设备时,出现了高优先级设备的中断请求,那是不是一定要中断运行中的程序呢?o 出于对系统硬件、软件开销的权衡,有两种解决方式,即单级中断处理和多重中断处理计算机组成原理 Slide 28 单级中断o所有中断源均属同一级,离CPU近的优先级高o当 CPU正在处理某个中断时,不允许其它设备再中断CPU的程序,即使优先级高的设备也不能打断,只能等到中断处理完毕后,CPU才响应其它中断计算机组成原理 Slide 29 多级中断o 优先级高的中断级可以打断优先级低的中断服务程序,以实现中断程序的嵌套主程序 A B C计算机组成原理 Slide 30 B 处理 A 处理 C 处理 B 请求 A、C 请求 C 处理(a)(b)CPU A 处理 B 处理 CPU 同时中断请求的处理方法(ABCCPU)计算机组成原理 Slide 31 信息交换的中断过程o 数据就绪,发出中断请求o CPU响应中断,暂停当前主程序,并自动转移到该设备中断服务子程序o 中断服务子程序结束以后,CPU回到原来的主程序计算机组成原理 Slide 32 中断处理过程 主程序指令 中断响应 中断识别 保护现场 中断服务 恢复现场 中断返回 是否有中断请求 主程序指令 Y N 中断处理 计算机组成原理 Slide 33 中断处理中的问题o 中断时机o 保存现场o 中断屏蔽o 中断过程由软硬件结合完成计算机组成原理 Slide 34 中断识别o 非向量中断n将服务程序入口组织在查询程序中;n响应时执行查询程序查询中断源,转入相应服务程序。
o 向量中断n将服务程序入口(中断向量)组织在中断向量表中;响应时由硬件直接产生相应向量地址,按地址查表,取得服务程序入口,转入相应服务程序计算机组成原理 Slide 35 中断识别o 程序识别o 单线查询法 o 中断向量法 计算机组成原理 Slide 36 程序识别 公用中断服务程序 保护寄存器 A 设备 R=1 B 设备 R=1 C 设备 R=1 恢复寄存器 中断返回 A 设备服务程序 B 设备服务程序 C 设备服务程序 Y Y Y N N N 计算机组成原理 Slide 37 单线查询法 接口 1 接口 2 接口 n 中断请求 POL SYN CPU 计算机组成原理 Slide 38 中断向量法 A 向量 B 向量 C 向量 A 入口 AA B 入口 BA C 入口 CA PUSH IRET PUSH IRET PUSH IRET AA:BA:CA:向量表 A 设备中断 处理程序 B 设备中断 处理程序 C 设备中断 处理程序 计算机组成原理 Slide 39 DMA方式o DMA基本概念o DMA传输方式o 基本DMA控制器计算机组成原理 Slide 40 DMA基本概念o 中断方式每传送一个字或一个字节的数据就要执行一次中断服务程序,数据传送时仍然要占用CPU的时间,不适合于高速传输的系统。
o DMA在外设与主存之间建立一个由硬件管理的数据通路,使CPU不介入传送时的操作,数据也不经过CPU减少了CPU的开销,效率提高CPU主存DMA接口接口计算机组成原理 Slide 41 内存争用o DMA方式进行数据传送时,CPU仍执行主程序,此时DMA控制逻辑与CPU可能同时要访问主存,引起主存使用权的冲突o 如何处理这种冲突呢?n 停止CPU使用主存n DMA与CPU交替使用主存n 周期挪用法计算机组成原理 Slide 42 停止CPU使用主存o 当DMA传送数据时,CPU停止工作,把主存使用权交给DMA控制逻辑o 在DMA传送数据过程中,CPU处于等待状态o 在这批数据传送结束后,DMA再交还主存使用权o 方法简单计算机组成原理 Slide 43 DMA与CPU交替使用主存o每个CPU工作周期分成两个时间段,一段用于 DMA访问主存,一段用于CPU访问主存oCPU和DMA都能访问主存,没有主存使用权移交过程,所以这种方式的效率较高,但是硬件投资较大,而且要求 CPU工作周期比存储周期长很多CPU周期DMA访内CPU访内计算机组成原理 Slide 44 周期挪用法o DMA要求访问主存时,CPU暂停一个或多个存储周期一个或多个存储周期。
一个数据传送结束后,CPU继续运行o CPU现场并没有变动,只是延缓了对指令的执行,这种技术称为周期挪用周期挪用,或称周期窃取o 如发生访存冲突,则DMA优先访问M1 M2 存储周期 M3DMA挪用传送数据外设准备数据计算机组成原理 Slide 45 DMA主要操作过程(准备阶段)o 主机通过指令向DMA接口发送必要的传送参数,并启动 DMA工作这些参数的作用是1.指出数据传送的方向,即指出是主机将数据传送给设备,还是由设备传给主机2.指出数据块在主存的首地址3.指出数据在外设存储介质上的地址4.指出数据的传送量计算机组成原理 Slide 46 DMA主要操作过程(传送阶段)o从宏观上看DMA接口连续传送一批数据从微观上看,每传送一个数据,发一次DMA请求,经历一个循环操作循环操作的主要内容有:1.设备准备好一个数据的传送后,接口向主机发出DMA请求2.CPU中DMA控制逻辑响应DMA请求,将主存使用权让给DMADMA送来主存单元地址、读或写命令若是写命令,DMA还送来数据3.DMA挪用一个周期对主存进行读写操作周期挪用结束后给DMA接口应答信号4.DMA接口接到应答信号,撤除DMA请求,将主存数据缓冲区地址指示器加 1,指向下一个数据要传送的单元地址,字数计数器减1。
5.DMA接口控制逻辑判断数据是否全部传送完若传送完毕,则进入结束阶段;若没传完则又开始下一个循环操作计算机组成原理 Slide 47 DMA主要操作过程(结束阶段)o DMA在两种情况下都进入结束阶段o 正常结束,一批数据传送完毕;o 非正常结束,DMA发生了故障,也要进入结束阶段o 不论是哪一种情况进入结束阶段,DMA都向主机发出中断请求,CPU执行服务程序,查询DMA接口状态,根据状态进行不同处理计算机组成原理 Slide 48 一个数据块的传送过程DMA请求DMA响应 传送一个字DMA结束NY传送完?修改地址指针和字计数器发送内存地址计算机组成原理 Slide 49 DMA与程序中断的区别o 中断通过程序实现数据传送,而DMA靠硬件来实现o 中断时机为两条指令之间的公操作,DMA响应时机为两个存储周期之间o 中断不仅具有数据传送能力,还能处理异常事件DMA只能进行数据传送oDMA仅挪用了一个存储周期,不改变CPU现场oDMA请求的优先权比中断请求高CPU优先响应DMA请求,是为了避免DMA所连接的高速外设丢失数据oDMA利用了中断技术计算机组成原理 Slide 50 通道方式o 通道的功能o 通道类型计算机组成原理 Slide 51 动机o 随着设备数量的增加,DMA控制器增加,成本也相应增加。
必须找出一种方法使DMA技术被更多的设备共享oDMA接口的起始准备仍需CPU执行一段程序完成高速设备的信息是成批传送的,一批数据包含了相当多的数据块,每一数据块都要使DMA接口初始化数据块连续频繁地传送,其占用CPU的时间就不可忽视了计算机组成原理 Slide 52 通道方式o 设置一种专用的输入输出处理机(通道),分担主机对输入输出管理的全部或大部分工作不仅能管理高速设备,还能管理低速设备o 吸取了DMA硬件技术,并增加了软件管理它设有专用的通道指令o 一个主机可以连接多个通道,一个通道可以管理多个设备控制器而一个设备控制器又可以控制多台设备这样就形成了一个较完整的 IO系统,并具有明显的层次性计算机组成原理 Slide 53 通道功能1.根据CPU要求,组织设备与系统连接和通信;2.选取通道指令,通过设备控制器向设备发出操作命令;3.指出数据在设备中的位置和在主存缓冲区内的位置,组织设备与主存间的数据传输4.检查设备和设备控制器的工作状态向CPU反映设备、设备控制器及通道本身的状态信息5.将外设和通道本身的中断请求,按次序及时报告CPU6.设备控制器介于通道与设备之间,是通道对外部设备实行具体控制的机构。
计算机组成原理 Slide 54 通道分类o 根据设备共享通道的情况及信息传送速度的要求,通道分为3类:n 字节多路通道n 选择通道n 数组多路通道计算机组成原理 Slide 55 第9章o 查询方式基本原理o 中断方式基本原理o DMA方式基本原理o 通道方式基本原理总复习计算机组成原理 Slide 57 第一章 重点内容计算机组成原理 Slide 58 第二章重点内容o 二进制表示以及进制转换运算o 2X、X/2、X/64的求解方法o 真值、原码、补码、移码、反码的编码方法n熟练掌握o 纠错码和检错码n奇偶校验熟练掌握n海明计算o BCD码 机器数 校验码概念计算机组成原理 Slide 59 第三章重点内容o 原码补码一位乘法运算o 无符号位乘法器的电路实现o 先行进位电路CLA74182原理o 利用74182及74181电路构造多级先行进位电路o 浮点数加减法运算计算机组成原理 Slide 60 第四章重点o 存储器的分类和技术指标o 存储器的分级结构及相关特点o 半导体读写存储器组成、工作原理及特点o 半导体只读存储器分类及特点o DRAM刷新原理及方法计算机组成原理 Slide 61 第四章重点o 存储器译码方式o 存储器扩展方式,与CPU的连接(重点)o 高速存储器(双端口存储器,相联存储器基本概念,交叉编址)o 高速缓冲存储器的组成及工作原理(重点)计算机组成原理 Slide 62 第五章重点o 指令系统基本概念o 指令基本格式o 指令系统寻址方式计算机组成原理 Slide 63 第六章重点内容o CPU的功能(控制器的功能)o 指令周期基本概念o 常用指令的指令周期及其数据通路流程o 时序产生器和控制方式基本原理o 微程序控制器工作原理o 微程序设计基本概念o 硬布线控制器基本概念计算机组成原理 Slide 64 第七章重点o 总线基本概念o 总线的仲裁o 影响总线性能的基本因素计算机组成原理 Slide 65 第八章重点o I/O设备的特点o I/O接口的功能o 常用设备计算机组成原理 Slide 66 第九章重点内容o 查询方式基本原理o 中断方式基本原理o DMA方式基本原理o 通道方式基本原理计算机组成原理 Slide 67 。