第06章 IO系统设计课件.pptx
《第06章 IO系统设计课件.pptx》由会员分享,可在线阅读,更多相关《第06章 IO系统设计课件.pptx(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.1 6.1 输入输出输入输出(I/O)(I/O)系统概述系统概述6.2 6.2 程序查询方式程序查询方式6.3 6.3 中断输入输出方式中断输入输出方式6.4 DMA6.4 DMA输入输出方式输入输出方式6.5 I/O6.5 I/O通道和处理机通道和处理机6.6 6.6 总线结构总线结构6.7 6.7 外部设备外部设备6.8 6.8 外设外设接口接口习题习题6 6输入输出系统输入输出系统,简称I/O(Input/Output)系统,是一个计算机系统中主机与外界进行数据交换的软件、硬件系统。一般将主机以外的硬件设备称为输入输出设备输入输出设备或外部设备外部设备,简称外设外设。根据信息流入主机
2、的方向不同,可将外设分为以下两大类:输入设备输入设备:向主机输入程序、数据、操作命令、图形、图像、声音等信息。输出设备输出设备:输出主机的处理数据、操作提示、文字、表格、图形、图像、声音等信息。 I/O接口接口也称为输入输出控制器输入输出控制器或I/O模块模块,通常指设备硬件之间的界面,或指主机与外设(或系统)之间的接口逻辑,即硬件接口硬件接口。图6.1 常见外部设备I/O系统常用的指标有:数据数据传输速率传输速率:每秒的传输二进制信息位数,单位为位/秒、bps或b/s。S=1/Tlog2N(bps) (6.1)式中,T为一个码元的宽度,单位为秒;N为一个码元中离散值个数。在数字通信中,常用时
3、间间隔相同的信号来表示一位二进制数字,相应的传输信号称为码元码元(symbol)。信号信号传输速率传输速率:也称波特率波特率、调制速率调制速率或码元速率码元速率,指单位时间内传输的码元数,单位为波特(Baud)。B=1/T(Baud) (6.2)式中,T为信号码元的宽度,单位为秒。由(6.1)、(6.2)式得:B=S/log2N(Baud) (6.3)即带宽越大,数据传输速率越大。 一个I/O接口的典型结构包括数据寄存器(组)、状态寄存器(组)、控制寄存器(组)、地址译码逻辑等。图6.2 I/O接口的典型结构 命令寄存器命令寄存器和命令译码器和命令译码器 设备选择设备选择 电路电路 设备状态设
4、备状态 标记标记 数据缓冲数据缓冲 寄存器寄存器DBR 控制控制逻辑电路逻辑电路I/O接口接口外外 部部 设设 备备数据线数据线命令命令状态状态数据线数据线命令线命令线状态线状态线CPU地址线地址线(1)并行接口和串行接口按照数据传送格式可将接口分为并行接口和串行接口两类。在并行接口中,主机与接口、接口与I/O设备之间都是以并行方式传送信息,即每次传送一个字节(或一个字)的全部代码。在串行接口中I/O设备与接口之间是一位一位地串行传送数据的,而接口和主机之间则是按并行方式交换数据。(2)同步接口和异步接口按时序的控制方式可将接口分为同步接口和异步接口。(3)程序控制和硬件控制u由程序控制的数据
5、传送直接程序控制方式(Programmed Direct Control,PDC)程序中断传送方式(Program Interrupt Transfer,PIT)。u由专有硬件控制的数据传送。(4)总线型连接方式这种连接方式是目前大多数中、小型计算机,包括微型计算机所采用的连接模式。对I/O端口编址的方法分为两种,一种是单独编址方式单独编址方式,也称独立编址方式独立编址方式;另一种是存储器映射方式存储器映射方式,也称存储器存储器统一编址方式统一编址方式。独立编址方式指存储单元与I/O接口寄存器的地址分别编址,各自有自己的译码部件。例如在IBM PC微型计算机系统中,内存单元的地址最多有1M个,
6、I/O端口地址有1024个,各自独立编址。这种编址方法的优点是:I/O端口与存储器单元都有各自独立的地址空间,各自的地址译码与控制电路会相对简单一些,同时由于设置了I/O指令,程序的结构比较清晰、便于阅读、修改程序。 存储器映射方式是从主存储器地址空间中分出一部分地址作为I/O端口地址。由于能访问存储单元的指令都能够访问到I/O端口,不需要在CPU中设置专门的I/O指令及相应的总线控制时序,I/O程序编制较为灵活。缺点是存储器的空间被占用,源程序中的I/O部分难以阅读、修改及维护。图6.3 程序查询方式的程序流程设置主存缓冲区首址设置计数值启动外设传送一个数据修改主存地址修改计数值结束I/O传
7、送准备好?传送完?未完是完否程序查询方式的核心问题在于每时每刻需不断查询I/O设备是否准备就绪。在程序的主动控制下,通过读取状态寄存器了解接口的情况,完成相应的程序操作,如图6.3所示。为了及时了解接口的状态,需要时间密集的查询操作,CPU效率低。6.2.2 6.2.2 程序查询方式的接口电路程序查询方式的接口电路图6. 程序查询方式接口电路(输入)的基本组成设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作 结束DB以输入设备为例,该接口的工作过程如下:当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路。若该接口的设备码与地址线上
8、的代码吻合,其输出SEL有效。I/O指令的启动命令经过“与非”门将工作触发器B置1,将完成触发器D置0。由B触发器启动设备工作。输入设备将数据送至数据缓冲寄存器。由设备发设备工作结束信号,将D置1,B置0,表示外设准备就绪。D触发器以“准备就绪”状态通知CPU,表示“数据缓冲满”。CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。中断技术中断技术:当接口出现需要程序干预的事件,通过中断通知CPU,CPU再读取状态寄存器,确定事件的种类,以便执行不同的代码处理,效率高而且及时。中断中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执
9、行过程。中断源中断源:凡是能够引起中断的原因、或提出中断请求的设备和异常故障,均称被称为“中断源”。中断屏蔽中断屏蔽:是指通过设置相应的中断屏蔽位,禁止响应某个中断。这样作的目的,是保证在执行一些重要的程序中不响应中断,以免造成迟缓而引起错误。因此,从中断是否可以被屏蔽来看,可分为可屏蔽中断可屏蔽中断(Maskable Interrupt)和不可屏蔽中断不可屏蔽中断(Non-maskable Interrupt,NMI)两类。硬件中断硬件中断(硬中断硬中断):是一个异步信号,表明需要注意、或需要改变执行一个同步事件。软件中断软件中断(软中断软中断):是利用硬件中断的概念,用软件方式进行模拟,实
10、现宏观上的异步执行效果。外部中断外部中断:一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断。内部中断内部中断:是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算溢出、单步中断等)所引起的中断。内部中断是不可屏蔽的中断。图6.6 CPU与打印机并行工作的时间示意图发中断请求 空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回 启动打印机传送数据传送数据CPU 一般中断服务程序的流程分四大部分:保护现场、中断服务、恢复现场和中断返回。(1)保护现场 保护现场有两
11、个含义,其一是保存程序的断点;其二是保存通用寄存器和状态寄存器的内容。前者由中断隐指令完成,后者由中断服务程序完成。(2)中断服务(设备服务) 这是中断服务程序的主体部分,对于不同的中断请求源,其中断服务操作内容是不同的。(3)恢复现场(4)中断返回 中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。为处理I/O中断,在I/O接口电路中必须配置相关的硬件线路。(1)中断请求 触发 器 和中 断屏 蔽 触发器图6.8 中断接口电路DQ&1来自来自 CPU 的的中断查询信号中断查询信号受设备本身控制受设备本身控制INTR D MASKQ中断请求中断请求
12、图6.9 链式排队器(2)排队器221INTP11INTP21INTP31INTP4&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTP1 INTP2 INTP3 INTP4 INTR2INTR1INTR1INTR21&INTP2图6.10 通过向量地址寻找入口地址(3)中断向量地址形成部件(设备编码器) 显示器服务程序显示器服务程序 打印机服务程序打印机服务程序JMP 400JMP 300JMP 200主存主存12H13H14H200300向量地址向量地址入口地址入口地址入口地址入口地址入口地址入口地址由软件产生由软件产生硬件向
13、量法硬件向量法图6.12 链式排队线路和设备编码器 直接直接存储器访问方式存储器访问方式(Direct Memory Access,DMA),是一种直接依靠硬件在主存与I/O设备间进行数据传送,且在数据传送过程中不需CPU干预的I/O数据传送控制方式。CPU与接口的数据传送的具体过程由硬件(DMA Controller,DMAC,DMA控制器)完成,传送速度比通过CPU快。(1)CPU暂停方式(2)周期挪用方式(周期窃取方式周期窃取方式)(3)交替访问内存方式图6.12 DMA控制器的基本组成框图DMA接口主存CPUDMA 控 制 逻 辑 中 断 机 构设备HLDAARWCDARHRQ中断请求
14、数据线地址线+1+1溢出信号DREQDACKBRDMA传送方式是指DMA控制器获取或使用总线的方法。DMA控制方式下的数据传送过程可分为三个阶段:DMA传送前预处理阶段,数据传送阶段及传送后处理阶段。(1)DMA预处理在进行DMA数据传送之前,需要CPU执行一段程序,做一些必要的准备工作。(2)数据交换操作DMA控制器获取总线后,DMA控制器根据在DMA预处理阶段CPU送来的DMA操作命令字所规定的传送方式进行输入或输出操作,直到将所有数据传输完毕(WC为溢出状态),DMA控制器交还总线,发出中断请求。(3)DMA后处理接到中断请求后CPU响应中断,CPU停止原程序的执行,转去执行中断服务程序
15、,做一些DMA的结束处理工作。 I/OI/O指令指令是计算机系统给用户使用的指令系统的一部分,由CPU负责解释执行。I/OI/O通道指令通道指令又称为I/OI/O通道控制字通道控制字(Channel Command Word,CCW),它是用来编制I/O通道程序的指令,专供I/O通道来解释执行,以实现I/O数据传输等I/O操作。在早期的I/O通道实现中,I/O通道程序存放在主机的主存储器中,例如IBM 370系统。(1)字节多路通道 用于连接多台慢速外设,如键盘、打印机等 以字节交叉方式传送信息 数据传输率等于各慢速外设速度之和图6.15 字节多路通道传送方式示意图A1A2B1B2C1C2通道
16、通道A1 B1 C1 A2 B2 C2 。(2)选择通道 可连接多台高速外设,但一次只选择一台设备,成组传送。待一批数据传送完毕后,才能选择另一台设备。 数据传输率等于所连接外设中速度最高的外设速率图6.16 选择通道传送方式示意图A1A2B1B2C1C2通道通道A1 A2C1B2B1C2(3)数组多路通道 综合前两种通道的优点,可连接多台高速设备,允许几台设备并行工作,以成组交叉方式传送。每个外设都有数据缓冲区。 最大传输率为所连外设中传输率最大的一个。通道位于主机与设备控制器之间,图中示意性的画出了主要信息传送途径,不是实际的逻辑连接线。(1)通道地址寄存器(CAWR)(2)通道指令寄存器
17、(CCWR)(3)数据缓冲寄存器(4)设备地址寄存器(5)通道状态字寄存器(CSWR)(6)通道控制器(微命令发生器)(7)时序系统图6.18 通道逻辑框图其工作过程大致如下:在编制通道程序时,应根据I/O设备的需要在主存中开辟相应的输入输出缓冲区,一般采取多缓冲区技术。启动某通道与设备时,先将主存缓冲区首地址及传送字节数填写到通道程序中,并将通道程序首地址写入某固定单元(IBM 4300约定为77号单元)。之后,可执行启动通道指令SIO,在该指令中给出通道号及设备号。被指定的通道接到启动信号后,从主存某固定单元(如77号单元)取出通道地址字CAW,送入通道地址字寄存器CAWR。通道将SIO指
18、令送来的设备号送入设备地址寄存器,向I/O总线送出所要启动的设备号。通道根据CAWR中的通道程序的首地址,从主存中取出第一条通道指令,开始执行通道程序。当执行第一条通道指令时,CPU还需判别这次启动是否成功。如果设备在接到第一条通道指令发出的命令后,回送的状态编码为全0,表示接受命令。于是通道向CPU送出条件码,表示启动成功。CPU便可转去执行其他程序,由通道独立地执行通道程序。若设备送回的状态编码不是全0,状态编码指示不能接受命令的原因,例如设备出错。在执行完一条通道指令后,通道地址字寄存器中的内容CAWR加2,以便读取第二条通道指令。如果执行数据传送指令,则每传送一次数据相应地修改通道指令
19、字CCW中的数据地址与计数值。当计数值为0时表明本次数据传送完毕。如果所执行的通道指令中数据链标志CD与命令链标志CC均为0,表明这是本通道程序中的最后一条。通道程序执行结束后,通道向设备发出结束命令,也向CPU申请中断,并将通道状态字CSW写入主存某指定单元中,供中断处理程序分析,作结束处理。6.5.5 I/O6.5.5 I/O处理机处理机I/O处理机(I/O processor,IOP)与通道相比,有更强的独立性,它与主机中CPU所采用的体系结构无关,可视为一种专用的CPU。I/O处理机一般都有自己的指令系统,可以通过编制程序实现对I/O设备的控制,因而适应性强、通用性好。其程序的执行可与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第06章 IO系统设计课件 06 IO 系统 设计 课件
限制150内