随看随记
- 1000,0000 是-128的补码
- 数的左移表示增加,右移表示减小
输入输出系统
概述
输入输出系统的发展概况
- 早期I/O设备不多,采用分散连接,CPU和I/O设备串行工作使用程序查询方式
- 接口模块和DMA(直接存储器访问)阶段,采用总线连接。CPU和I/O设备并行工作,包括中断方式和DMA方式
- 具有通道结构的阶段
- 具有I/O处理机的阶段
- 随着I/O的发展,I/O的独立性越来越强,越来越多的将数据直接通过I/O进行执行,而不经过CPU。
输入输出系统的组成
- I/O软件
- I/O指令:是CPU指令中的一部分,程序员其编写好,共I/O进行调用
操作码是I/O指令的标志,命令码CPU的普通指令的操作,设备码,指明指定的设备地址,通道地址, 寄存器地址。 - 通道指令:通道自身的指令。指出数组的首地址、传送字数、操作命令。
- I/O硬件,
普通方式:包括I/O设备,I/O接口。I/O设备通过I/O接口连接到总线上
通道方式:包括I/O设备,设备控制器,通道。I/O设备连接到设备控制器上再连接到通道上。
I/O设备与主机的联系方式
- I/O设备与主机的联系方式
- 统一编址,将I/O看成存储器中的一部分,使用和存储器一样的取数、存数指令就可以。
- 不统一编址,有专门的IO指令
- 设备选址通过用设备选择电路识别是否被选中。将CPU给出的地址和I/O的地址进行比较,地址对上了就是I/O,否则就是存储器。
- 传送方式:串行,并行。
- 联络方式
- 立即响应
- 异步工作采用应答信号
并行(CPU和接口之间都是并行传输的,因此这里的并行的意思是I/O接口和I/O设备之间采用异步)。I/O接口和I/O设备之间连接并行的数据线。并且采用应答的方式进行数据传输。当I/O接口准备好时,向I/O设备发出Ready信号。I/O设备信号采集好了向I/O接口发送应答信息。
串行:起始位,数据位,终止位
- 同步工作采用同步时标。上一部分有讲类似的,在某个时钟信号下上升沿、下降沿等标志进行联络。
- I/O设备与主机的连接方式
- 辐射式连接(前文的分散式连接,一个主机和很多的外设直接通过控制线路和信号线相连,不利于增删设备)
- 总线连接,利于增删设备。
I/O设备与主机信息传送的控制方式
程序查询方式(CPU和I/O串行工作)
- 整个流程中I/O将数据传输给CPU,CPU将数据传输给内存。在程序查询方式下I/O是不能直接和内存进行数据交流的,必须经过CPU。
- CPU的查询速度较快,但是I/O的速度较慢,因此I/O会将数据放到缓存中以后再向CPU通知I/O准备好。在I/O没准备好时CPU进入踏步状态,时间被浪费。
中断查询方式(CPU和I/O 部分并行工作)
- 当I/O进行自身准备时,CPU运行当前指令。当需要I/O交换信息时,CPU暂停当前程序,与I/O数据交互
- CPU会按流程正常执行程序,当I/O指明需要进行数据传输时,CPU启动中断系统,进行现场保护,执行I/O部分的数据传输工作。在传输结束后,CPU恢复原有现场,继续刚才被中断的程序。(和递归中的函数保护等操作相似)
- CPU需要进行现场保护和现场恢复工作,会消耗额外的资源。
DMA方式CPU和I/O并行工作)
- DMA(Direct Memory Access,直接存储器访问)
- 这种方式最大的优点是I/O和存储器之间交流不需要经过CPU,节省了CPU的资源。
- 流程:CPU按序执行程序,当I/O准备好时,DMA申请总线占用,占用一个或几个存取周期(周期挪用),通过DMA通道将I/O和存储器之间进行数据交互。时间结束后,总线归还给CPU,CPU继续执行程序。
- 当I/O需要传输时,虽然不经过CPU了,但是需要和CPU抢占总线,CPU要把总线让出来给他们用。
- 虽然流程中没有DMA抢占了几个存取周期,目前CPU中存有部分预存数据,可以在总线被占用时依靠预存的数据、指令等进行运算,并没有浪费CPU的时间。
三种方式的CPU工作效率比较(I/O的自治能力越来越强)
- 程序查询方式需要在I/O准备时,就等待I/O的操作,I/O执行完毕才执行原有程序,浪费很大。
- 程序中断方式在I/O准备时,不需要等待I/O的操作,当准备结束时,CPU进行中断操作,等待I/O执行中断操作。之后CPU执行现行程序。CPU的浪费体现在I/O传输和启动中断操作等,浪费减小。
- DMA方式在I/O准备时,不需要等待I/O的操作,I/O准备结束后,请求一定的存取周期。时间结束后,继续执行原有的程序。CPU在被占的存取周期中也会根据预存的数据和指令进行运作,浪费很小。
外部设备
概述
- 外部设备大致分三类
- 人机交互设备键盘、鼠标、打印机、显示器
- 计算机信息存储设备 磁盘、光盘、磁带
- 机一机通信设备 调制解调器等
输入设备
- 键盘:使用者按下按键,计算机判断那个按键按下,然后将这个按键翻译成
按键ASCII码,将这个码传输给CPU等,实现键盘的使用。键盘读入时是通过中断读入的方式,可以方便再次启动计数器。 - 鼠标
- 机械式金属球电位器
- 光电式.光电转换器
- 触摸屏
输出设备
- 显示器
- 字符显示 字符发生器.
- 图形显示 主观图像(程序主动画图)
- 图像显示 客观图像(目前主流的显示器的显示方式)
- 打印机
- 击打式 点阵式(逐字、逐行)
- 非击打式. 激光(逐页)
其他
- A/D、D/A模拟数字(数字/模拟)转换器
2.终端. 由键盘和显示器组成完成显示控制与存储、键盘管理及通信控制
3.汉字处理汉字输入、汉字存储、汉字输出
多媒体技术
I/O接口
概述
- 接口要具备的功能
- 实现设备的选择(设备选择线)
- 实现数据缓冲达到速度匹配(数据线)
- 实现数据串一并格式转换.(数据线)
- 实现电平转换(数据线)
- 传送控制命令(命令线)
- 反映设备的状态(“忙”、“就绪”“,中断请求”)(状态线)
接口的功能和组成
总线连接方式的I/O接口电路
1. 设备选择线:选择哪个I/O设备,哪个设备的哪个端口。是单向线(如图),CPU通过设备选择线,选择哪个设备,单方向向设备传输。
2. 数据线: I/O和CPU之间进行数据交流,是双向线。(有的数据线具有串并转换等功能。)
3. 命令线:CPU将自己的控制命令传输给I/O设备,(是单向线),CPU->I/O。功能包括命令缓冲和译码,以及控制I/O设备。
4. 状态线:I/O设备将自己的状态反馈给CPU,(是单向线),I/O->CPU。包括设备的状态,如准备就绪,忙,出错等。
接口的功能和组成
组成 | 功能 |
---|---|
设备选择电路 | 选址功能 |
命令寄存器、命令译码器 | 传送命令的功能 |
数据缓冲寄存器 | 传送数据的功能 |
设备状态标记 | 反映设备状态的功能 |
- 设备状态相关的触发器包括:完成触发器D(I/O设备工作是否准备好数据)、工作触发器B(I/O是否在工作)、中断请求触发器INTR(当出现I/O需求时,申请中断)、屏蔽触发器MASK(如果I/O优先级低于CPU正在执行的程序的话,则屏蔽该I/O设备的I/O操作。)
I/O接口的基本组成
接口类型
- 按数据传送方式分类:并行接口、串行接口
- 按功能选择的灵活性分类:可编程接口、不可编程接口
- 按通用性分类:通用接口、专用接口
- 按数据传送的控制方式分类:中断接口、DMA接口
程序查询方式
查询流程
- 单个设备
- 检查状态标记使用测试指令,询问是否准备就绪使用转移指令,交换数据使用传送指令
- 多个设备
- 根据不同I/O设备的优先级顺序,检查不同I/O设备是否准备就绪,如果没有准备就绪,就询问下一个,如果准备好了,就处理这个设备。
程序流程
- 首先CPU设置计数器,用于计数数据存储。设置好主存缓冲区的首地址,启动外设。询问外设,是否已经准备好,没有准备好就一直查询,准备好了就和I/O进行数据传输,直到数据传输完成,关闭I/O传输。
- 以输入为例
- 地址线选择想要交互的I/O设备,通过设备选择电路给出该设备的命令,同时 CPU也给出启动命令。
- (第一个图)在开始I/O没有准备好,并要准备数据,因此D置为0(未准备好),B置为1(处于忙碌状态),启动I/O。同时I/O设备将数据存入缓冲区。
- ( 第二个图) I/O设备存储好后, D置为1(准备好),B置为0(处于空闲状态),同时将缓冲器中的数据传输到CPU中。