2.11k likes | 2.25k Views
计算机原理. 唐玉华. 国防科技大学计算机学院. 第六章. 输入输出( I/O) 控制. 第六章 输入输出( I/O) 控制. 6.1 外设简介. 6.2 I/O 控制的有关问题. 6.3 程序直接控制传送 6.4 中断系统及程序中断控制传送 6.5 直接内存存取 DMA 6.6 I/O 通道( I/O Channel). 第六章 输入输出( I/O) 控制. 何谓 I/O 控制 对 I/O 操作的软、硬件管理 本章主要从 硬件角度 讨论 I/O 控制 从 软件角度 讨论 I/O 控制是操作系统的主要内容之一 作业管理
E N D
计算机原理 唐玉华 国防科技大学计算机学院
第六章 输入输出(I/O)控制
第六章 输入输出(I/O)控制 6.1 外设简介 6.2 I/O控制的有关问题 6.3 程序直接控制传送 6.4 中断系统及程序中断控制传送 6.5 直接内存存取DMA 6.6 I/O通道(I/O Channel)
第六章 输入输出(I/O)控制 • 何谓I/O控制 • 对I/O操作的软、硬件管理 • 本章主要从硬件角度讨论I/O控制 • 从软件角度讨论I/O控制是操作系统的主要内容之一 • 作业管理 • 进程管理 • 存储管理 • 设备管理 • 文件管理
第六章 输入输出(I/O)控制 • 面临的挑战之一——I/O墙 • CPU性能:每年增长 > 60% • I/O系统的性能受到机械延迟的限制(磁盘I/O),每年的性能增长 < 10% • I/O瓶颈 • 削减了高速CPU的性能 • 缩短了CPU执行程序的有效时间
第 6.0节 概 述
6.0 概 述 • 输入输出子系统是连接主处理机和I/O设备的子系统 • 是计算机系统中最具多样性和复杂性的组成部分 • 最典型地反映了软件与硬件的相互结合 • 其复杂性都隐藏在操作系统中
MM CPU I/O 总线 主 机 接口 接口 …… 设备1 设备n 通道 I/O CPU MM 6.0 概 述 • 输入输出系统的发展概况 以CPU为中心 1. 早期阶段 分散连接 程序查询方式 CPU 和 I/O 串行 工作 2. 接口模块和 DMA 阶段 总线连接 中断方式 CPU 和 I/O 并行 工作 DMA 方式 3. 通道结构阶段 4. I/O 处理机阶段 以主存为中心
I/O 指令 • 通道指令 操作码 命令码 设备码 多个设备控制器 多个设备 一个通道 6.0 概 述 • 输入输出系统的组成 1. I/O 软件 CPU 指令的一部分 通道自身的指令 指出数组的首地址、传送字数、操作命令、设备码 如 IBM/370 通道指令为 64 位 2. I/O 硬件 I/O设备 I/O 接口 如: IBM/360 的一个通道连接8个设备控制器,一个设备控制器连接8台I/O设备
6.0 概 述 • I/O 与主机的联系方式 1. I/O 编址方式 • 统一编址:存储器地址与I/O地址统一考虑,地址空间的一部分是存储器,另一部分是I/O,支持存储器操作的指令都可用于I/O操作 用取数、存数指令 • 独立编址:存储器地址与I/O地址分开,CPU具有专用的I/O指令,系统总线中具有区别存储器读写和I/O操作的控制信号,以此区别地址总线的地址是存储器地址还是I/O地址 有专门的 I/O 指令
6.0 概 述 • I/O 与主机的联系方式 2. 设备选址 用设备选择电路识别是否被选中 3. 传送方式 • 串行 • 并行
I/O 接 口 I/O 设 备 CPU “Ready” “Strobe” 命令字 数据字 命令字 终止位 起始位 起始位 终止位 0 1 1 0 1 0 0 0 2×9.09ms 2×9.09ms 9.09ms 9.09ms 6.0 概 述 4. 联络方式 • 立即响应 • 异步工作采用应答信号 并行 串行 • 同步工作采用同步时钟
每台设备都配有一套 外设 Ⅰ 控制线路和一组信号线 主 外设 Ⅱ 机 CPU 外设 Ⅲ IOC 主存 外设 6.0 概 述 5. I/O 与主机的连接方式 • 辐射式连接 不便于增删设备 • 总线连接 便于增删设备
现行程序 CPU向I/O发 读指令 CPU读I/O状态 CPU读I/O状态 出错 未准备就绪 检查状态 已准备就绪 检查状态 从I/O接口中读 一个字到CPU 未准备就绪 出错 从CPU向主存 写入一个字 否 完成否 是 6.0 概 述 • I/O 与主机信息传送的控制方式 1. 程序查询方式 CPU 和 I/O 串行工作 踏步等待
6.0 概 述 1. 程序查询方式(Polling) • 特点 • 何时对何设备进行输入或输出操作完全受CPU控制 • CPU通过指令对设备进行测试才能知道设备的工作状态。设备空闲、准备就绪、正在忙等 • 数据的输入和输出都要经过CPU • 用于连接低速外围设备,如终端、打印机等 • 优点 • 灵活性好。可以很容易地改变各台外围设备的优先级 • 缺点 • 实现处理机与外围设备并行工作困难
自身准备 与主机交换信息 现行程序 … 启动 I/O 中断服务程序 没有踏步等待现象 … K 中断现行程序 K+1 …… 6.0 概 述 2. 程序中断方式 CPU 不查询 I/O 工作 CPU 暂停现行程序 CPU 和 I/O并行工作
6.0 概 述 2. 程序中断方式 • 特点 • CPU与外围设备能够并行工作 • 能够处理例外事件。例如,电源掉电、非法指令、地址越界、数据溢出、数据校验错、页面失效等 • 数据的输入和输出都要经过CPU • 灵活性好 • 用于连接低速外围设备 在现代计算机系统中,中断输入输出方式的作用已经远远超出了为外围设备服务的范畴,成为现代计算机系统中非常重要的一个组成部分。
CPU I/O I/O 设备工作 CPU 做其他事情 中断请求 I/O CPU 出错 未错 I/O CPU 从 I/O 接口中读一个字到CPU CPU 主存 从 CPU 向主存写入一个字 否 是 • 程序中断方式流程 CPU 向 I/O 发读指令 准备就绪 CPU 读 I/O 状态 检查状态 完成否?
CPU MM I/O 一个存取周期 CPU 执行现行程序 CPU 执行现行程序 存取周期结束 启动I/O DMA请求 I/O准备 I/O准备 实现I/O与主存之间的传送 6.0 概 述 3. DMA 方式 主存和 I/O 之间有一条直接数据通道 不中断现行程序 周期挪用(周期窃取) CPU 和 I/O 并行工作
6.0 概 述 • 特点 • 外围设备访问请求直接发往主存储器 • 不需要CPU做保存现场和恢复现场等工作 • 在DMA控制器中,需要设置数据寄存器、设备状态或控制寄存器、主存地址寄存器、设备地址寄存器和数据交换个数计数器 • 在DMA方式开始和结束时,需要处理机进行管理 • 在DMA方式开始之前对DMA控制器进行初始化。传送主存缓冲区首地址、设备地址、数据块的长度等,并启动设备开始工作 • 在DMA方式结束之后,向CPU申请中断,对数据缓冲区进行后处理 • 数据的传送过程不需要CPU的干预
6.0 概 述 • DMA方式工作流程
CPU 执行 现行程序 CPU执行 现行程序 CPU查询等待并传输I/O数据 启动I/O 启动I/O I/O 准备及传送 I/O 准备及传送 间 断 CPU 执行现行程序 CPU 执行现行程序 指令执行周期结束 启动I/O 启动I/O 中断请求 中断请求 I/O准备 I/O准备 I/O准备 CPU 处理中断服务程序 实现 I/O 与主机之间的传送 一个存取周期 一个存取周期 CPU 执行现行程序 CPU 执行现行程序 存取周期结束 启动I/O 启动I/O DMA请求 DMA请求 实现I/O与主存 之间的传送 I/O准备 I/O准备 I/O准备 • 三种方式的 CPU 工作效率比较 程序 查询 方式 程序 中断 方式 DMA 方式
第 6.1节 外围设备简介
6.1 外围设备简介 • 知识点 • 理解外围设备分类 • 了解外设在计算机系统中的地位与作用 • 重点 • 掌握外围设备分类
3. 机 机通信设备 6.1 外围设备简介 • 外围设备亦称I/O设备,简称外设PD/PE(Peripheral Device/Equipment) • 何谓外设:安装在主机周围,实现主机与外界联系的设备 • 外部设备大致分三类 1. 人机交互设备 键盘 鼠标 打印机 显示器 2. 计算机信息驻留设备 磁盘 光盘 磁带 调制解调器等
(1) 字符显示 (2) 图形显示 (3) 图像显示 (1) 击打式 (2) 非击打式 6.1 外围设备简介 • 外设分类 1.按功能分(5类) • 输入设备 • 键盘 • 鼠标 • 触摸屏、扫描仪等 • 输出设备 • 显示器 • 打印机 • 记录仪、绘图机等 判断哪个键按下并翻译成 ASCII 码 (编码键盘法) 机械式、光电式 字符发生器 主观图像 客观图像 点阵式(逐字、逐行) 喷墨(逐字) 激光(逐页)
6.1 外围设备简介 • 外设分类 1.按功能分(5类) • 外存储器:硬盘、光盘、软盘、磁带等 • 模数转换设备 • A/D、D/A • 网络通信及终端设备 • 数传机、调制解调器、网络桥接器、路由器、网关 • 各种终端设备 模拟/数字(数字/模拟)转换器 完成显示控制与存储 键盘管理及通信控制 汉字输入、汉字存储、汉字输出 • 汉字处理 由键盘和显示器组成
6.1 外围设备简介 • 外设分类 • 2.按终端设备分(2类) • 终端设备:用户与计算机通信的I/O设备 • 通用终端 • 简单终端:具有人机对话和简单I/O功能 • 通常配有键盘、显示器、打印机 • 智能终端:除具有简单终端的功能外,还具有数据处理功能 • 通常配有键盘、显示器、打印机和处理机,配备管理软件和用户程序 • 专用终端:专作某种工作,完成单一功能 • 订票终端、银行取款机等
6.1 外围设备简介 • 外设在计算机系统中的地位与作用 • 1. 外设是计算机系统重要组成部分,相当于 计算机的五官四肢 • 没有,计算机不能运转 • 不全或性能不好,计算机效率低 第一代计算机中,外设在整机中的造价比重不到5%,第二代机中迅速上升至30~40%。第三代机中已超过50%,而现在达80%以上 • 2. 人机通信和对话的工具 • 了解机器运行状态,进行故障诊断检测,控制、 命令计算机,都要通过外设。如:键盘、鼠标、 显示器 • 3. 不同媒体间信息变换的装置 • 4. 系统软件及信息资源的驻留地 • 5. 推广应用的桥梁 计算机的普及应用促进了外设的发展,而新型外设的出现又推动了计算机在不同领域的推广应用
第 6.2节 I/O控制的有关问题
6.2 I/O控制的有关问题 • 知识点 • 理解I/O设备和I/O操作的特点 • 了解四级I/O及三级I/O子系统 • 理解I/O控制的类型 • 了解输入输出(I/O)接口 • 了解输入输出(I/O)指令 • 重点 • 掌握I/O设备和I/O操作的特点以及I/O控制的类型
6.2.1 I/O设备和I/O操作的特点 • I/O设备的特点 • 1. 慢速性 • I/O是机电、机械设备装置,其速度为ms/μs,甚至为s(秒)级 • 主机, 如CPU却是ns级 • 两者速度差异很大,所以I/O是影响计算机系统工作效率的两大瓶颈之一
6.2.1 I/O设备和I/O操作的特点 • I/O设备的特点 • 2. 多样性 • 品种多、功能强、涉及学科领域多,如机械、光电、磁、声、自动控制、通信等 • 3. 复杂性 • 传输速率差异大 • 传输方式不同 • 工作原理相差极大 • 简单到鼠标,复杂到磁盘、光盘、激光打印机
6.2.1 I/O设备和I/O操作的特点 • I/O操作的特点 • 1.异步性 • 主机与外设、外设与外设速度差异很大,导致CPU对外设的控制,外设对CPU的请求都将是随机的、异步的 • I/O设备通常不使用统一的中央时钟,各个设备按照自己的时钟工作,但又要在某些时刻接受处理机的控制 • 处理机与I/O设备之间、 I/O设备与I/O设备之间能够并行工作
6.2.1 I/O设备和I/O操作的特点 • I/O操作的特点 • 2.实时性 • 外设速度慢,但一经启动,则以固定速率工作,要求主机在规定的时间内完成信息交换 • 对于一般外部设备:可能丢失数据,或造成外围设备工作的错误 • 对于实时控制计算机系统,如果处理机提供的服务不及时,可能造成巨大的损失,甚至造成人身伤害 • 对于处理机本身的硬件或软件的错误:如,电源故障、数据校验错、非法指令、地址越界等,处理机也必须及时地给予处理
6.2.1 I/O设备和I/O操作的特点 • I/O操作的特点 • 3.I/O操作的实现与设备的无关性 • 外设虽多种多样,但I/O操作应尽量标准化,使I/O 操作的实现与设备无关 • 通过简单的命令即可使用外设并完成I/O操作 • 尽可能少地考虑外设的内部细节,让外设的特殊性隐藏在各自的设备控制器和接口的某些可变部分中 • 计算机系统的使用者,在需要更换外设时,各种不同型号、不同生产厂家的设备都可以直接通过标准接口与计算机系统连接 • 外设已经越来越多地采用了即插即用技术
6.2.2 四级I/O及三级I/O子系统 • 何谓I/O子系统:完成I/O操作的所有软件和硬件 • I/O子系统设计的基本方法 • 自治控制 • 层次结构 • 分类处理
6.2.2 四级I/O及三级I/O子系统 1、自治控制(针对异步性) • 功能分散化,使I/O功能从CPU中分离出来,由专门部件完成 • I/O子系统是一个独立于处理机之外的自治系统 • 处理机与外设之间需要有恰当的分工
6.2.2 四级I/O及三级I/O子系统 2、层次结构(针对实时性) • 功能按不同的层次分布 • 标准的操作及控制功能放在与CPU及主存相连的层次上——系统级接口 • 最靠近处理机的是输入输出处理机或输入输出通道等 • 中间层是标准接口 • 标准接口通过设备控制器与输入输出相连接 • 非标准的操作及控制功能放在与设备相连的层次上——设备级接口 • 由设备控制器控制外设工作
6.2.2 四级I/O及三级I/O子系统 3、分类处理(针对设备无关性) • 根据不同性质的外设,分类组织I/O控制 • 面向字符的设备(Character-oriented device)。主要是指工作速度比较低的机电类设备。例如,字符终端、打字机等 • 面向数据块的设备。主要指工作速度比较高的外围设备。例如,磁盘、磁带、光盘的辅助存储器,行式打印机等
主 机 I/O 通 道 设备 控制器 外 围 设 备 6.2.2 四级I/O及三级I/O子系统 • 四级I/O子系统(独立型通道)的结构 • 1.主机 • 只和I/O通道打交道 • 功能 • 发出查询通道或 外设的I/O指令 • 发出启停通道的 I/O指令 • 处理I/O通道的请求
主 机 I/O 通 道 设备 控制器 外 围 设 备 6.2.2 四级I/O及三级I/O子系统 • 2. I/O 通道:它是系统级接口的一种 • 功能:代替CPU调度、管理和控制外设工作。即启停I/O、接收并寄存I/O状态、向CPU提出I/O通道请求 3. 设备控制器DC • 控制一台或多台外设实现I/O的操作(如:读、写、打印等)和I/O的辅助操作(如:定位、走纸、寻道、归零等) • 不同设备的DC不同但都以标准的方式与I/O通道连接 4. 外设PD/PE(Peripheral Device/Equipment) 外设可为1台I/O设备、1个终端用户或另1台计算机
主 机 I/O 接 口 设备及其控制器 6.2.2 四级I/O及三级I/O子系统 • 三级I/O子系统(组合型通道)的结构 • 1.主机 • 发出启停、查询、使用外设的I/O的指令 • 接收并处理接口请求 • 2.I/O接口(指程序直接控制传送、程序中断控制传送和DMA传送接口) • 将CPU启停、查询、使用外设的I/O指令送PD • 控制数据交换 • 接收、寄存I/O状态和请求并送CPU • 3.外设及其控制器PD • 控制一台外设实现I/O操作及辅助操作 此子系统中DC被分割:标准公共的部分在I/O接口中, 非标准的部分在PD中。
6.2.2 四级I/O及三级I/O子系统 • 小结 • 四级I/O子系统与三级I/O子系统在功能上相似 • 性能不同:前者比后者独立性强、效率高 • 四级I/O子系统中的外设是通过I/O通道与CPU连接的。I/O通道代替CPU管理、控制和使用外设,通道通过执行通道程序完成数据传送。四级I/O子系统对CPU打扰很小 • 三级I/O子系统中的外设是通过I/O接口与CPU连接的。CPU通过I/O接口实现对外设的管理、控制和使用,三级I/O子系统对CPU打扰较多
6.2.3 I/O控制的类型 • 程序直接控制方式PDC • (Program Direct Control) • 完全通过程序控制主机和外设之间的信息传送 • 是一种以CPU为中心的系统结构 • 采用无条件传送方式或程序查询传送方式 • 程序中断传送方式PIT • (ProgramInterrput Transfer) • 也是一种以CPU为中心的系统结构 • 借助于I/O中断控制数据传送
6.2.3 I/O控制的类型 • 直接内存存取方式DMA(Direct Memory Access) • 在主存和外设间开辟直接的数据交换通路 • 窃取或挪用一个访存周期,完成主存和外设之间直接交换数据 • 是一种以主存为中心的系统结构 • I/O通道控制方式I/O CH(I/O CHannel control) • 也是一种以主存为中心的系统结构 • 利用I/O通道控制多台外设和主存直接交换数据
6.2.3 I/O控制的类型 • 外围处理机方式PPU(Peripheral Processor Unit) • 用具有丰富的指令系统和相当容量主存的小型机作I/O控制,称该小型机为PPU • 特点 • 主机专用于高速运算,PPU专伺于I/O控制 • PPU除完成I/O控制外,还进行码制变换、数据纠检错、控制通信、维护分析 • 完全独立于主处理机工作,计算机系统结构由功能集中的集中式系统发展为分布式系统 • 如 YH2使用三台小型机:两台VAX—11/780用于管理I/O,一台 VAX—II用于维护诊断I/O
输入输出系统接口 输入输出设备 设备控制器 主 机 6.2.4 输入输出(I/O)接口 • 外设与主机的连接方式 • 何谓I/O接口:亦称输入输出系统接口,是连接主机和外围设备之间的接口,包括一个硬件电路及其相应的软件控制
6.2.4 输入输出(I/O)接口 • 外部设备并不直接挂接在系统总线上,而是通过I/O接口作为桥梁实现与系统总线的连接 • 各种外设使用不同的操作方法,由CPU来直接控制不同的外设,不切实际 • 外设的数据传送速度比存储器和处理器的速度慢得多,使用高速的系统总线与慢速的外设直接连接,不切实际 • 外设经常使用与处理器不同的数据格式和字长
6.2.4 输入输出(I/O)接口 • 外部设备与系统总线连接 系统总线 I/O接口 标准化I/O接口 提高计算机系统的灵活性、可靠性和可扩展性 利于外设系列化、标准化与多样化 控制 状态 数据 外部设备