第八章 输入输出系统
二、I/O子系统的组成 1. I/O软件 ① I/O指令 I/O设备与主机交换信息,须用专门的I/O指令
操作码:将I/O指令与指令系统中其 它的指令区分开 命令码:用来进行具体的I/O操作 (输入还是输出) 设备码:设备的具体编号(是哪台 设备和主机交换信息), 设备码可视为地址码
对I/O地址码的编址有两种方式: 与内存统一编址:访内指令 独立编址:专门的I/O指令(IN,OUT)
二、程序中断方式 利用中断系统实现主机与外设间的数据传送。 在这种方式中,通常在程序中安排一条指令启动 外设,外设去准备。机器则继续执行程序。外设 准备好后,向CPU提出中断申请,CPU响应中断 后,去执行一段“中断服务程序”,完成传送数 据工作,传送完后,则返回。 一次中断只传送一个单位的数据——一个字或一 个字节
图中:每个设备通过接口电路与CPU相连。设备与CPU交换信息时,以中断 方式进行,提高了CPU的效率。但这种方式,仍需CPU干预,于是出现了 DMA方式,在内存和I/O设备间专门开辟一条通道,让它们直接交换信息而 不受CPU干预,从而进一步提高了CPU的利用率。但DMA方式要专门的控 制硬件DMAC为代价,设备太多时,成本太高,(另外还有其它原因,以后 讲),于是又出现了通道方式,专门设计一个通道控制器来代替CPU管理 I/O工作,这样CPU效率更高,后来又出现了I/O处理机。
以上是从提高CPU效率方面来看I/O设备的发展。从主机 与I/O设备的价格比,也可以看出I/O设备的发展。 主机与I/O设备价格比: 60年代初 3:1 70年代 1:1 80年代 1:3~10 说明问题: ① 在计算机的发展过程中,I/O设备所起的作用越来越重 要。 ② I/O设备的发展跟不上主机的发展,要花费相当大的成 本在I/O设备上。
相同点 : ⑴都实现的是内存与外设间的直接数据传送。 ⑵ I/O传送的前后处理都需CPU干预,都利 用了程序中断功能。
②总线型 通过一条总线将所有的I/O设备 与主机相连上。 特点:分时使用总线,速度慢、 易扩展 ③结合型(通道型) 以上两种方式的结合, 主机与通道辐射连接, 通道则通过总线与设 备连接。
8.2 主机与I/O设备的信息交换方式
一、程序控制方式
程序控制方式是指在程序控制下进行信息传送的方式
1、无条件传送方式: 如果计算机能够确信一个外设已经准备就绪,那 就不必查询外设的状态而可直接进行信息传输。 2、条件传送方式:也称为查询方式。 CPU通过执行程序不断读取并测试外设的状态, 如果外设处于准备好状态或者空闲状态,则CPU执 行输入/输出指令与外设交换信息。
三、直接内存访问方式DMA(Direct Memory Access) 1、基本概念
是一种完全由硬件实现的I/O信息交换方式, 是在I/O设备与主存之间建立一条直接传送数 据的通路,并在有关硬件电路(DMAC)的 控制下进行数据交换,而不需CPU干预。
2、DMA的工作方式(访内冲突的处理)
DMA技术的出现,使得外设可以通过DMA控制 器直接访问内存,此时,CPU可以继续执行原程 序,CPU可以继续执行原程序,CPU执行程序时 要访内,DMA传送时也要访内,这样就会出现访 内冲突,如何处理?
I/O操作在一段程序的控制下进行。 一般由I/O指令选中并启动相应的设 备。此后,主机就查询设备的状态, 若外设未准备好,CPU就等待,若 已 准备好,则进行数据传送。 特点: ⑴ 简单省硬件 ⑵ CPU效率低(工作:ns,等待ms) ⑶ 不能响应设备提出的随机请求 (每步操作须通过I/O管理,现一 般较少使用,只在一些特殊场合使 用,以求它的简单。
② 通道指令
具有通道的I/O子系统要由专门的通道指令来工作
2. I/O硬件
① I/O设备 ② I/O接口 接口是计算机与I/O设备或其它系统之间所设置的 逻辑控制部件,也称I/O控制器。
I/O接口的引入:
外设类型不同:机械、电子、机电、电磁 传送信息类型: 数字量、模拟量 传送速度 传送方式:串行、并行 编码方式:
4. DMA与通道的比较 不同点: ⑴ DMA完全借助硬件完成数据传送,而通道是通 过通道程序和硬件一起完成数据传送,相对来讲, 通道功能更强。 ⑵ DMAC通常只控制一台或少数几台同类设备, 而通道控制器可控制多台同类或不同灯的设备。 ⑶ DMA要由CPU来初始化,而通道方式CPU仅通 过I/O指令启动通道由通道本身来初始化。
⑴ CPU停机法 DMA访内时:CPU不访内,无冲突 CPU访内时: DMA优先拥有总线使用权,进行数 据传送,直至一批数据传送完毕,才交CPU ( DMA操作时、CPU空闲操作) 特点: 控制简单,适于数据传输率极高的设备进行成组数据传 送。 CPU与内存效率低 CPU低──等待 内存低──外设传送两Stealing) DMA访内时:CPU不访内,无冲突。 CPU访内,DMA优先,窃取1-2个存取周期 问:CPU在执行指令过程中,插入了DMA请求,为何要 DMA优先? 答:因I/O操作有时间要求,前一个I/O数据必须在下一个I/O 数据的访内请求到来之前完成。否则造成数据丢失。 特点:既实现了I/O传送,又较好地发挥了内存和CPU的效 率,是一种广泛采用的方法。(VAX-11/780机)
8.1概述
一、I/O系统的发展和分类 1、分类 外存 常规I/O设备 自控、程控和各种检测设备(工厂) 数据通讯设备和远程终端(网络)
2、 发展 早期的I/O设备较简单,每个设备都有一套独立的线路与CPU相 连,完全受CPU控制,与CPU串行工作。由于它们独自与CPU 相连,设备的增删都较困难,于是出现了接口模块。
通道控制方式是在DMA的基础上发展起来的, 最早用于IBM370型机中,但近几年,在一些中 小型机,甚至一些微机中也用上了这一技术。 1、基本概念 I/O通道是计算机系统中代替CPU管理控制外设 的独立部件,是一种能执行有限I/O指令集合— —通道命令的I/O外理机,其实质也是实现外设 与内存间的直接数据传送。
I/O接口的功能:
能实现数据缓冲和数据锁存 能完成信息格式和电平的转换 能进行地址译码和设备选择 能保证数据传送的定时与协调
I/O接口的结构
组成:寄存器组、控制逻辑电路、主机与接口和接口与 I/O设备之间的信号联接线、数据地址线、控制状态信号 线。
外设 Ⅰ
主
外设 Ⅱ
机 三、I/O设备与主机间的通讯 外设 Ⅲ 1、 传送方式 串行:一次传送一位,速慢,成本低。 并行:一次同时传送几位,速快,成本高。 串并结合: 2、与主机的连接方式 ①辐射型 每个设备与主机都有数据通路进行连接 特点:控制简单,但连线多,造价大,两设备间无 法通讯
特点: ⑴ 能响应外设的随机请求 ⑵ CPU与外设并行工作(一定程度),效率高 ⑶ 对于高速外设(如:磁盘、磁带),频繁中断 CPU会使其效率下降;高速外设数据交换是成批 的,且单位数据间的时间间隔较短,若主机不马 上响应请求,由于外设不断完成交换数据的准备, 则可能冲掉已产生但没交换的数据,造成信息丢 失,因此,高速外设一般不用中断方式,而用 DMA方式。
在通道方式下,一个主机可以连多个通道,一个 通道又可连多台外设 采用这种方式组织输入输出系统,多用主机-通 道-设备控制器-I/O设备四级连接方式。通道通 过执行通道程序实施对I/O系统的统一管理和控制。 CPU启动通道后,通道自动去内存取出通道指令 并执行,直至数据交换过程结束向CPU发中断请 求,进行通道结束处理工作。
四、通道控制方式 对于高速外设的成组数据交换,采用DMA方式,节省了 CPU开销,提高了系统的效率,在一些微小型机中,这 种方式是有效的,但在一些大中型机中,新配外设较好, 数据交换频繁,若仍用DMA方式,会存在以下问题: ⑴ DMA数据传送速率高,须以专门硬件DMAC为代价, 在大中型机中,外设多,若为众多的外设都配 DMAC,硬件成本太高。 ⑵ 众多外设都用DMA方式,访内冲突的几率会增加, 连续挪用CPU周期,会降低CPU效率。 ⑶ 每一台外设的DMA都要用I/O指令初始化,也会占用 太多的CPU时间。因此,在大中型计算机系统中,通常 设置专门的硬件装置——通道。
由于系统启动外设后到外设准备好这段时间,CPU 一直在执行原程序而不是在等待,仅在外设准备好 后,才中止原程序,进行数据传送,因此,在一定 程度上实现了CPU和外设的并行工作。此外,有多 台外设依次启动后,是可同时进行数据交换的准备 工作。 若在某一时刻有几台外设同时发出中断请求信号, CPU可根据预先准备好的优先顺序,按轻重缓急去 处理几台外设的数据传送,从而实现了外设的并行 工作,因此,中断方式大大提高了系统的工作效率。
⑶ 交替访存法 若系统中系统工作周期比内存存取周期长得多, 则可把系统周期分成两部分:一部分给CPU,一 部分给DMA。 在这种方式中,CPU和DMA各有内存地址寄存 器,数据缓冲寄存器,读/写电路等,故DMA对 CPU没有影响。 特点:这种方式既不停止原程序的执行,又能保证 DMA的完成,是一种高效的方式,缺点是硬件逻辑 复杂。
5、DMA服务方式的特点
⑴ I/O与内存交换信息时,不占用CPU,CPU效率高,数 据交换速率高,I/O与内存交换,不经CPU→CPU效率高。 无需保护,恢复观场→CPU效率高。 ⑵ 用DMA交换一批数据的开始前和结束后,仍要以中断方 式进行前、后处理。 开始前:主存地址,数据长度,传送方向,外设状态等 需CPU用程序→DMA。 结束后:停止外设。 出错:故障处理。 ⑶DMA方式与断方式,既有区别,又相互配合。 ⑷比较
(1)与内存统一编址:访内指令 将I/O地址看作是存储器地址的一部分。 优:访存指令可访问I/O设备,寻址类型多。 缺:占用存储器空间、。 (2)独立编址:专门的I/O指令(IN,OUT) I/O地址和存储器地址是分开的,所有对I/O 设备的访问必须 有专用的I/O指令。 优:专门的I/O指令,与访存分开;不占内存地址空间。 缺:需专用指令、寻址方式少。