计组-输入输出系统

目录

一、输入输出系统的历史概况

1.1 早期阶段

1.2 接口模块和DMA阶段

1.3 具有通道结构的阶段

1.4 具有I/O处理机的阶段

二、I/O设备与主机相连

2.1 I/O设备编址方式

2.1.1 I/O独立编址

2.1.2 内存映像编址(统一编址)

2.1.3 混合编址

2.2 设备寻址

2.3 传送方式

2.4 联系方式

三、对I/O设备的控制方式

3.1 程序查询方式

3.2 程序中断方式

3.2.1 中断概述

3.1.2 中断服务程序流程  

3.2.3 程序中断方式接口电路的基本组成

3.3 DMA方式

3.3.1 停止CPU访问主存

3.3.2 周期挪用

3.3.3 DMA与CPU交替访问

3.3.4 DMA接口基本组成

3.3.5 DMA接口与系统的连接方式

3.3.6 DMA接口类型

3.4 三种方式的CPU工作效率比较图


一、输入输出系统的历史概况

1.1 早期阶段

        I/O设备与主存交换信息都必须通过CPU。

示意图:

1.2 接口模块和DMA阶段

        计算机系统采用了总线结构, 接口模块中设有数据通路和控制通路, 可起到缓冲作用, 还能满足中断请求处理的要求, 实现了CPU和I/O设备并行工作, 但CPU要响应中断请求, 还不能真正做到并行工作。

        直接存储器(Direct Memory Access, DMA) 技术使I/O设备与主存之间有一条直接数据通路, 可以直接与主存交换信息。

接口示意图:

 I/O接口的基本组成:

DMA示意图:

1.3 具有通道结构的阶段

        通道用于解决众多DMA接口同时访问主存的冲突等问题, 通道可以视为一种具有特殊功能的处理器, 用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件。

        一旦CPU启动I/O设备的指令, 就由通道来代替CPU对I/O设备的管理, CPU不用直接参与管理, 提高CPU资源利用率。

通道示意图:

1.4 具有I/O处理机的阶段

        基本独立于主机工作, 即可完成I/O通道功能, 又可完成码字变换, 格式处理, 数据库检错, 纠错等操作。

二、I/O设备与主机相连

2.1 I/O设备编址方式

2.1.1 I/O独立编址

        给所有设备控制器中的每一个寄存器分配一个唯一的I/O端口地址。

        特点: 需要专门的输入输出指令, 但易区分是对内存访问还是对I/O设备访问

2.1.2 内存映像编址(统一编址)

        把设备控制器中的寄存器都映射为一个内存地址。

独立编址与内存映像编址区别图:

        特点: 编程方便, 无需专门I/O指令, 但每一次都要判断访问的是内存还是I/O。 

2.1.3 混合编址

        把以上两种情况结合起来, 对于设备控制器中的寄存器, 采用独立编址, 对于设备缓冲区, 采用内存映像编址。

2.2 设备寻址

        由I/O指令的设备码字段直接指出设备的设备号。

I/O指令的一般格式图:

2.3 传送方式

        1) 并行传送: 传送速度较快, 要求数据线多

        2) 串行传送: 速度慢, 只需要一根数据线和地址线, 距离远时串行传送较为合理

2.4 联系方式

        1) 立即响应方式: 对工作速度特别缓慢的I/O设备, 与CPU联系时, 通常处于某种等待状态, 只要CPU指令一到, 便立即响应。

        2) 应答信号方式: 适用I/O设备与主机工作速度不匹配, 完成自身任务后才准备交换信息。

        3) 同步联络: 外部数据以一定速率传送至接口, CPU也必须以一定速率接收每一位。

三、对I/O设备的控制方式

3.1 程序查询方式

   每一次I/O操作都循环地区检测设备的当前状态。即繁忙等待方式, 一直占用CPU。

流程图:

3.2 程序中断方式

3.2.1 中断概述

        计算机在执行程序过程中, 当出现异常情况或特殊请求时, 计算机停止现行程序的运行, 转向这些异常情况或特殊请求处理, 处理结束后再返回到现行程序的间断处, 继续执行原程序。

I/O中断示例:

主程序和服务程序抢占CPU示意图: 

3.1.2 中断服务程序流程  

        1) 保护现场: 保存程序的断点 (由中断隐指令完成) , 保存通用寄存器和状态寄存器的内容 (由中断服务程序完成) 。

        2) 中断服务: 执行中断请求源

        3) 恢复现场: 恢复中断前的 "现场" 状态。

        3) 中断返回: 回到原程序的断点处。

流程图:

3.2.3 程序中断方式接口电路的基本组成

中断电路图:

排队器:

        当多个中断源同时向CPU提出请求时, 需根据优先级高低, 对所有中断源进行排队。

        如下图, 初始状态时, INTR1`、INTR2` 等都是高电平, 某个中断源提出请求后, 后序优先级低的 INTPi` 变为低电平。 

示意图:

中断向量地址形成部件 (设备编码器) :

        通过向量地址来寻找设备的中断服务程序的入口地址, 其位数与计算机可以处理中断源的个数有关。

示意图:

程序中断方式接口电路的基本组成图:  

3.3 DMA方式

        主存与I/O设备交换信息时, 无需调用中断服务程序, DMA可直接访问内存。当出现DMA与CPU访问主存冲突时, 可采用以下三种方法:

3.3.1 停止CPU访问主存

        由DMA接口向CPU发一个停止信号, 让出总线使用权。这种方式控制简单, 缺点是CPU基本处于不工作状态或保持原状态。

示意图:

 

3.3.2 周期挪用

         DMA与CPU同时访问主存时, CPU总是将总线占有权让给DMA (I/O不立即访问主存可以丢失数据) , 一般为一个存取周期,  DMA的这种占有成为周期挪用周期窃取

        每挪用一个主存周期都需要申请、建立和归还总线控制权。

示意图:

3.3.3 DMA与CPU交替访问

        适用于CPU的工作周期比主存存取周期长的情况。 这种情况不需要总线使用权的申请、建立和归还。

示意图:

3.3.4 DMA接口基本组成

原理图:

        AR: 主存地址寄存器, 用于存放主存中需要交换数据的首地址, 每交换一次数据, AR+1

        WC: 字计数器, 记录传送数据的总字数, 通常使用补码形式, 计数器为0时, 表示数据传送完成。

        BR: 数据缓存寄存器, 用于暂存每次传送的数据。

        DAR: 设备地址寄存器, 存放I/O设备的设备码或表示设备信息存储区的寻址信息。如磁盘数据所在的区号、盘面号和柱面号。

        DREQ: I/O设备向DMA接口提出申请。

        HRQ: 向CPU发出总线使用权的请求信号。

        HLDA: CPU发出的响应信号。

        DACK: 通知I/O设备。

3.3.5 DMA接口与系统的连接方式

        主要有以下两种, 与总线判优类似。

        具有公共请求线的DMA: 若干个DMA接口通过一条公用的DMA请求线先CPU申请总线控制权, 采用链式查询, 最前面的DMA优先级最高。  

示意图:

        独立的DMA: 每个DMA接口个有一对DMA请求线和响应线, 由CPU的优先级判别机构裁决响应。

示意图:

3.3.6 DMA接口类型

        选择性DMA接口: 物理上连接多个I/O设备, 逻辑上只允许连接一个设备, 适用于数据传输率很高的设备

逻辑框图:

        多路型DMA接口: 物理上可以连接多个设备, 逻辑上也运行多个设备同时工作, 每个与DMA连接的I/O设备都有一套寄存器存放各自参数, 各个I/O设备采用字节交叉的方式与DMA接口进行数据传送,适用于同时为多个数据传输率低的I/O设备服务

逻辑框图:

3.4 三种方式的CPU工作效率比较图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值