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