计算机组成原理学习(哈工大视频)第五章

输入输出系统
5.1概述
5.1.1输入输出系统的发展概况
早期:分散连接,CPU和I/O设备 串行工作
接口模块和DMA(直接存储器存取)阶段:总线连接,CPU和I/O 设备 并行工作(中断方式和DMA方式)
具有通道结构的阶段:通道可以看做简单的处理器或者小型的功能更强的DMA处理器,可以处理通道程序,通道具有自己的指令系统,通过处理通道程序,可以使连接到通道上的I/O设备直接和主机实现信息传输
具有I/O处理机的阶段:在现代大型设备上,可以使用微处理器直接作为I/O处理机使用,控制I/O设备工作。
随着I/O设备发展,输出输出系统逐渐的从CPU中分离出来,外部设备的独立性越来越强。

5.1.2输入输出系统的组成
I/O软件:I/O指令(CPU指令的一部分,其组成格式是:操作码|命令码|设备码,其中操作码相当于I/O指令的标志,表示这个指令是I/O指令,命令码相当于CPU普通指令中的 操作码,指出对I/O设备做什么操作,设备码相当于I/O设备或其寄存器的的地址),通道指令(通道自身的指令,小型的DMA处理机,能够实现I/O设备和主机之间直接传送,通道有自己的控制器,甚至存储器,可以直接执行自己的通道指令或通道程序。通道指令要指出数组的首地址,传送字数,操作命令)
I/O硬件:设备,I/O接口,或者设备,设备控制器,通道

5.1.3I/O设备与主机的联系方式(I/O设备有自己的地址,故主机要和设备联系,首先要有设备的地址)
I/O设备编址方式:统一编址(把I/O设备的地址看成内存地址的一部分,故CPU可以直接利用取数、存数指令对I/O设备进行操作),不统一编址(在内存地址之外,专门设置一个地址空间,要用专用的I/O指令进行操作)
设备选址:用设备选择电路识别设备是否被选中(把指令的地址和I/O设备保存的地址进行比较,相同,则该设备被选中)
传送方式:串行(数据一位一位的进行传输,速度比价慢,但适合远程传输),并行(同时有多位数据在数据线上进行传输)
联络方式:
立即响应(对一些结构简单的设备,对于数据可以直接进行显示);
异步工作采用应答信号:
在这里插入图片描述
同步工作采用同步时标
I/O设备和主机之间的连接方式:
辐射式连接:每增加一个I/O设备,要配套增加一个控制电路
在这里插入图片描述
总线连接:外部设备通过接口和主机进行连接,便于增删设备,实现I/O设备的易于移植

5.1.4I/O设备与主机信息传送的控制方式
程序查询方式(CPU和外设是通过串行方式工作):CPU向I/O设备发出指令后,要等待设备准备好(这个时间比较长)。这段时间内CPU只能一直查询设备是否准备好,处于等待状态,不能做其他的事情,导致CPU的效率非常低。这种方式,内存要和设备进行交换时,必须经过CPU
在这里插入图片描述
程序中断方式(CPU实现了和外设部分的并行工作,既外设在准备数据时,CPU可以依旧工作。将I/O工作分为两个阶段,自身准备(CPU不查询)和与主机交换信息(CPU暂停现行程序,为I/O设备服务),故实现CPU在设备准备阶段,依然正常执行主程序,不会出现长时间等待。但在数据的传输过程中,主程序依旧需要暂停,CPU为设备服务。依旧是CPU位于内存和外设之间,故所有的数据传输都需要经过CPU):
在这里插入图片描述
在这里插入图片描述
DMA(direct memary access)方式(把CPU进一步的从数据的输入输出中解放出来,实现I/O设备和内存直接连接,有DMA控制器或接口实现。由于通过DMA实现内存和外设的连接通信,依旧需要总线,地址线和数据线,故会周期性的占用总线,地址线和数据线,称为周期挪用,这个周期内CPU不能使用总线和内存连接,失去了总线的控制权):
在这里插入图片描述
三种方式的CPU工作效率比较:
在这里插入图片描述

5.2外部设备
5.2.1 概述
在这里插入图片描述
外部设备大致分为三类:人机交互设备(把人能够识别的信息转换成计算机能够识别的信息,并输入到计算机中,或者,把计算机中的二进制信息转换成人能够识别的信息,比如:键盘、鼠标、打印机、显示器),计算机信息存储设备(磁带,光盘,磁带),机——机通信设备(调制解调器)
5.2.2 输入设备(把人能够识别的信息输入到计算机中)
键盘:按键,判断哪个键按下,将此键翻译成ASCII码(编码键盘法)
鼠标:机械式(金属球,电位器),光电式(光电转换器)
触摸屏
5.2.3 输出设备
显示器:字符显示(字符发生器),图形显示(主观图像),图像显示(客观图像)
打印机:击打式(点阵式,逐字,逐行),非击打式(激光,喷墨)
5.2.4 其他
A/D、D/A ,模拟/数字(数字/模拟)转化器
终端(由键盘和显示器组成,完成显示控制与存储,键盘管理及通信控制)
汉字处理(汉字输入,汉字存储,汉字输出)
5.2.5 多媒体设备
数据的压缩,解压缩,编码技术,专用芯片,语音的识别,图像的识别

5.3I/O接口
5.3.1概述
接口要实现:设备的选择;数据缓冲达到速度匹配;数据串——并格式转化;电平的转换;传送控制命令反应设备的状态(忙,就绪,中断请求)
5.3.2接口的功能和组成
总线连接方式的I/O接口电路:
在这里插入图片描述
接口要具有的功能:选址功能(设备选择电路),传送命令的功能(命令寄存器、命令译码器),传送数据的功能(数据缓冲寄存器),反应设备状态的功能(设备状态标记)
I/O接口的基本组成:
在这里插入图片描述
5.3.3接口类型
按数据传送方式分类:串行接口,并行接口
按功能选择的灵活性分类:可编程接口,不可编程的接口
按通用性分类:通用接口,专用接口
按数据传送的控制方式分类:中断接口,DMA接口

5.4程序查询方式
5.4.1程序查询方式的流程
查询流程
单个设备:查询流程中使用三条指令,测试指令(检查状态是否就绪),转移指令,传送指令
在这里插入图片描述
多个设备:根据设备的优先级先后次序,依次检查各个设备
在这里插入图片描述
程序流程
在这里插入图片描述
5.4.2程序查询方式的接口电路
以输入为例:(设备状态标记:完成触发器D,工作触发器B,中断请求触发器INTR,屏蔽触发器MASK)
在这里插入图片描述
5.5程序中断方式
5.5.1中断的概念
CPU在执行程序的过程中,如果发生意外事件,或者特殊事件,CPU要中断当前程序的处理或者当前程序的执行,转而去执行这个意外事件或者特殊事件,通过中断服务程序的方式进行处理,处理结束之后,要返回中断的断点,继续执行原来的程序。
在这里插入图片描述
5.5.2I/O中断的产生
中断源:在主机的外部,内部,CPU的内部,外部能够引发CPU中断的因素,就是中断源
以 打印机为例:CPU和打印机部分并行工作
在这里插入图片描述
5.5.3程序中断方式的接口电路
配置中断请求触发器和中断屏蔽触发器:INTR(中断请求触发器,INTR=1,有请求),MASK(中断屏蔽触发器,MASK=1,被屏蔽),D(完成触发器)
在这里插入图片描述
排队器:硬件(在CPU内或者在接口电路中,实现链式排队器),软件(详见第八章)
链式排队器:
在这里插入图片描述
中断向量地址形成部件
中断服务程序的入口地址:由软件产生(详见第八章),硬件向量法(由硬件产生向量地址(中断服务程序的入口地址或则程序状态字),再由向量地址找到入口地址)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
程序中断方式接口电路的基本组成
在这里插入图片描述
5.5.4I/O中断处理过程
CPU相应中断的提条件和时间:条件(允许中断触发器EINT=1,用开中断指令将EINT置“1”,用关中断指令将EINT值“0”或硬件自动复位),时间(当D=1(随机),且MASK=0时,在每条指令执行阶段的结束前,CPU发中断查询信号(将INTR值“1”))
I/O中断处理过程(以输入为例):(DBR(data buffer register))
在这里插入图片描述
5.5.5中断服务程序流程
保护现场:程序断点的保护(中断隐指令完成),寄存器内容的保护(进栈指令)
中断服务:对不同的I/O设备具有不同内容的设备服务
恢复现场:出栈指令
中断返回:中断返回指令
单重中断:不允许中断现行的中断服务程序
多重中断:允许级别更高的中断源,中断现行的中断服务程序(中断嵌套,有点像递归)
单重中断和多重中断的服务程序流程:
在这里插入图片描述
主程序和服务程序抢占CPU示意图:宏观上CPU和I/O并行工作,微观上CPU中断现行程序为I/O服务
在这里插入图片描述
5.6DMA(direct memory access)方式
5.6.1DMA方式的特点
DMA和程序中断两种方式的数据通路:
在这里插入图片描述
DMA与主存交换数据的三种方式:
停止CPU访问内存:(将总线的所有权交给DMA,适合大量数据情况):控制简单,CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率
在这里插入图片描述
周期挪用(周期窃取,周期指访存周期):DMA访问主存有三种可能(CPU此时不访存;CPU正在访存;CPU和DMA同时请求访存,此时CPU将总线控制权让给DMA),提高CPU对于主存的利用率
在这里插入图片描述
DMA和CPU交替访问:CPU工作周期分为C1(专供DM访存)和C2(专供CPU访存),不需要申请建立和归还总线的使用权
在这里插入图片描述
5.6.2DMA接口的功能和组成
DMA接口功能:向CPU申请DMA传送;处理总线控制权的转交;管理系统总线,控制数据传送;确定数据传送的首地址和长度,修正传送过程中的数据地址和长度;DMA传送结束时,给出操作完成信号
DMA接口组成:CPU要首先告诉DMA接口操作的地址AR(address register),传输的数据量WC(word count),数据缓冲器BR(buffer register),设备地址寄存器DAR(device address register)。(DREQ device request,DACK device acknowledge)
在这里插入图片描述
5.6.3DMA的工作过程
DMA传送过程:预处理(数据在传输之前,需要做的相应的设置。通过几条输入输出指令预置如下信息:同时DMA控制逻辑传送方向(入\出),设备地址——DMA的DAR,主存地址——DMA的AR,传送字数——DMA的WC),数据传送,后处理
在这里插入图片描述
数据传送过程(输入):
在这里插入图片描述
数据的传送过程(输出):
在这里插入图片描述
后处理内容:校验送入主存的数据是否正确;是否继续使用DMA;测试传送过程是否正确,错则转诊断程序;由中断服务程序完成
DMA接口与系统的连接方式:
具有公共请求线的DMA请求:
在这里插入图片描述
独立的DMA请求:
在这里插入图片描述
DMA方式与程序中断方式的比较:
在这里插入图片描述
5.6.4DMA接口的类型
选择性:在物理上连接多个设备,在逻辑上只允许连接一个设备
在这里插入图片描述
多路型:在物理上连接多个设备,在逻辑上允许连接多个设备同时工作(几个DMA可以同时进行数据准备,但在真正的传输数据到主存时,同样只允许一个进行工作)
在这里插入图片描述
多路型DMA接口的工作原理:(速度越高的设备,优先级越高)
在这里插入图片描述

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值