一、 输入输出系统的发展概况
二、 输入输出系统的组成
三、 I/O设备与主机的联系方式
1.I/O编址方式
通常将I/O设备码视为地址码,对I/O地址码的编址可采用两种方式:
(1)统一编址: 用取数、存数指令。就是将I/O地址看作是存储器地址的一部分.如在64K地址的存储空间中,划出8K地址作为I/O的地址,.凡是在这8K地址范围内的访问,就是对 I/O的访问,所用的指令与访存指令相似。
(2)不统一编址: 有专门的I/O 指令,就是指I/O地址和存储器地址是分开的,所有对I/O的访问必须有专用的I/O指令。
显然统一编址占用了存储空间,减少了主存容量,但无需专用的I/O指令。不统一编址由于不占用主存空间,故不影响主存容量,但需设 I/O专用指令.因此,设计机器时,需根据实际情况权衡考虑选取何种编址方式.
2.设备选址
用设备选择电路识别是否被选中。由于每台设备都赋予一个设备号,因此,当要启动某一设备时,可由I/O指令的设备码字段直接指出该设备的设备号.。通过接口电路中的设备选择电路,便可选中要交换信息的设备。
3.传送方式
并行传送
串行传送
4.联络方式 三种联络方式
(1)立即响应方式
(2)异步工作采用应答信号联络: I/O设备与主机工作速度不匹配时,通常采用异步工作方式。一应一答。
(3)同步工作采用同步时标联络
5.I/O与主机的连接方式
I/O设备与主机的连接方式通常两种:辐射式和总线式.
采用辐射式连接方式时,要求每台 I/O设备都有一套控制线路和一组信号线,因此所用的器件和连线较多,对 I/O设备的增删都比较困难.这种连接方式大多出现在计算机发展的初期阶段.
采用总线连接方式时,通过一组总线(包括地址线,数据线,控制线等),将所有的I/O设备与主机连接。这种连接方式是现代大多数计算机系统所采用的方式。
为了进一步提高CPU的工作效率,又出现了DMA(Direct Memory Access)技术,其特点是I/O 与主存之间有一条直接数据通路,I/O设备可以与主存直接交换信息,使CPU 在I/O与主存交换信息时,能继续完成自身的工作,故其资源利用率得到了进一步的提高。
二、I/O设备与主机信息传送的控制方式
(1)程序查询方式
(2)程序中断方式
(3)DMA方式
5.2 I/O设备
一、外部设备大致分三类
1、人机交互设备: 键盘、鼠标、打印机
2、计算机信息存储设备: 磁盘、光盘、磁带
3、机—机通信设备: 调制解调器
二、输入设备
1、键盘: 按键、判断哪个键按下
2、鼠标: 机械式:金属球; 光电式: 光电转换器
3、触摸屏
三、输出设备
1、显示器
2、打印机
四、其他
1、A/D、D/A: 模拟/数字转换器
2、终端 : 由键盘和显示器组成
3、汉字处理 :汉字输入、汉字存储、汉字输出
5.3 I/O接口
一、概述
接口可以看作是两个系统或两个部件之间的交接部分,既可以是两种硬设备之间的连接电路,也可以是两份软件之间的共同逻辑边界。I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。
二、接口的功能和组成
1、I/O接口的基本功能是:
(1)实现设备的选择
(2)实现数据缓冲达到速度匹配
(3)实现数据串并格式转换
(4)实现电平转换
(5)传送控制命令
(6)反映设备的状态(“忙”,“就绪”,“中断请求”)
2、接口的组成
(1)设备选择电路
(2)命令寄存器、命令译码器
(3)数据缓冲寄存器
(4)设备状态标记
5.4 I/O设备与主机信息传送的控制方式
一、程序查询方式
程序查询方式的核心问题是每时每刻需要不断查询I/O设备是否准备好.CPU不断地询问外设是否准备好:如果准备好,CPU执行IO操作;否则,CPU一直等待.CPU大部分时间处于等待状态,利用率不高。
二、 程序中断方式
1、中断的基本概念
计算机在执行程序的过程中,当出现异常情况或者特殊情况时,CPU停止当前程序的运行,转向对这些异常情况或者特殊情况的处理,处理结束之后再返回到现行程序的间断处继续运行,该过程就是中断.
2、中断响应过程
(1)当多个中断源向CPU提出中断请求时,CPU在任何一个时刻只能接受一个中断源的请求,所以,当多个中断源同时请求时,CPU必须对各个中断源的请求进行排队,且只能接受级别最高的中断源的请求,不允许低级别的中断源中断正在运行的中断服务程序.
(2)每个设备都配备一个中断请求触发器和中断屏蔽触发器,当中断请求触发器为“1”时,表示该设备向CPU提出中断请求,如果中断屏蔽触发器为“1”时,表示该设备被屏蔽,即封锁其中断源的请求.
(3)当多个中断源同时向CPU提出请求,CPU需要对这些中断源的请求进行排队,也称中断判优,有两种判优的方法:
1)查询法
由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志),当遇到第一个“1”标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序.
2)串行排队链法
由硬件组成一个串行的优先链,称作排队链.
一旦CPU确定接受某个中断源的请求,就需要执行该设备的中断服务程序,因此需要找到中断服务程序的入口地址.入口地址的寻找可以用软件或硬件的方法实现.硬件向量法就是通过向量地址来寻找设备的中断服务程序的入口地址.中断向量地址形成部件可以通过向接受请求的中断源发送中断响应信号,然后由被响应的设备回送设备码,根据设备码来产生中断向量地址.
3、中断处理过程
中断处理过程可分以下几个步骤:
(1)关中断
进入不可再次响应中断的状态,由硬件自动实现.因为接下去要保存断点,保存现场.在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应;否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并 继续执行现行程序.
(2)保存断点和现场.
为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来.
现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中各寄存器的内容.
(3)判别中断源,转向中断服务程序.
在多个中断源同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源.所以,需进一步判别中断源,并转入相应的中断服务程序入口.
(4)开中断.
因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套.
(5)执行中’断服务程序.
不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的.
(6)退出中断.
在退出时,又应进入不可中断状态,即关中断,恢复现场,恢复断点,然后开中断,返回原程序执行.
4、多重中断和中断屏蔽的概念.
多重中断:是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的执行,又转去进行新的中断处理.这种重叠处理中断的现象又称为中断嵌套.
中断屏蔽:当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响立,称为中断屏蔽.
实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求.具体说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应.由各设备的中断屏蔽触发器组成中断屏蔽寄存器.
三、DMA方式
1、DMA是I/O设备与主存储器之间由硬件组成的直接数据通路,用于高速I/O设备与主存之间的成组数据传送.
2、数据传送是在DMA控制器控制下进行的,由DMA控制器给出当前正在传送的数据字的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束.在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据.在数据传送前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。
3、DMA 方式与程序中断方式的比较
特性 中断方式 DMA方式
数据传送 程序 硬件
响应时间 指令执行结束 存取周期结束
处理异常情况 能 不能
中断请求 传送数据 后处理
优先级 低 高
4、DMA控制器的组成;
(1)主存地址寄存器(MAR) : 寄存器初始值为主存缓冲区的首地址.
(2)外围设备地址寄存器(ADR ) : 该寄存器存放I/O设备的设备码,具体内容取决于I/O设备的数据格式和地址字编址方式.
(3)字数计数器(WC) : 该计数器对传送数据的总字数进行统计.
(4) 控制与状态寄存器(CSR) : 该寄存器用来存放控制字和状态字.
(5) 数据缓冲寄存器(DBR): 该寄存器用来暂存I/O设备与主存传送的数据.
(6)中断机构 : 当字计数器溢出(全“0”)时,表示一批数据交换完成,由“溢出信号”通过中断机构向CPU提出中断请求,请求CPU作DMA操作后处理.
5、DMA传送过程.
(1)DMA预处理
在进行DMA数据传送之前要用程序做一些必要的准备工作.先由CPU执行几条输入输出指令,测试设备状态,向DMA控制器的设备地址寄存器中送入设备地址并启动设备,在主存地址寄存器中送入交换数据的主存起始地址,在数据字数寄存器中送入交换的数据个数.在这些工作完成之后,CPU继续执行原来的程序.
(2)DMA控制I/O设备与主存之间的数据交换
I/O设备启动后,若为输入数据,则要进行以下操作:
1)从输入介质读入一个字到数据缓冲寄存器DBR中.
2)向CPU发DMA请求,在取得总线控制权后,将DBR中的数据送人主存的数据寄存器.
3)将DMA中的MAR内容送主存的地址寄存器,启动写操作,将数据写入主存.
4)将WC内容减1,将MAR的内容加1,给出下一个字的地址.
5)判断WC是否为“0”,若不是,说明还有数据需要传送,检查无错后准备下一字的输入.若WC为0,表明一组数据已传送完毕,此时应置结束标志,向CPU发中断请求.
(3) CPU中断原程序进行后处理
若需继续交换数据,则又要对DMA控制器进行初始化;若不需交换数据,则停止外设;若为出错,则转错误诊断及处理程序.
6、DMA三种工作方式:
(1)CPU暂停方式
主机响应DMA请求后,让出存储总线,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU
(2)CPU周期窃取方式
DMA控制器与主存储器之间传送一个数据,占用(窃取)一个或几个CPU周期,即CPU暂停工作一个或几个周期,然后继续执行程序
(3)CPU和DMA交替工作方式
当CPU的工作周期比主存访问时间长时,使用这种方式.这种方式不需要总线使用权的申请,建立和归还过程.将CPU周期分成C1和C2两个周期,其中C1专门用于给DMA访问主存,C2提供给CPU访问主存.总线使用权通过C1和C2分别控制.CPU和DMA各自有自己的访问地址寄存器,数据寄存器和读写信号。