计算机组成原理 输入输出系统 1
1.1 输入输出系统发展
1、早期
- 分散链接
- 串型工作
2、接口模块与DMA阶段
- 总线链接
- CPU和IO设备 并行工作
3、具有通道结构
4、具有IO处理机阶段
1.2 输入输出系统的组成
一、I/O软件
1、I/O指令 CPU指令的一部分
操作码 |命令码|设备码
操作码相当于标准,这个执行是IO,命令码是操作码
2、通道指令 通道自身的指令
通道有自己的控制器甚至存储器
通道能够执行由通道指令组成的通道程序
指出数组的收地址、传送字数、操作命令
二、I/O硬件
包含设备与接口 设备通过接口连接在总线上面,如果采用通道,设备连接设备控制器,设备控制器连接通道
1.3 I/O设备与主机的联系方式
一、I/O设备编址方式
1、统一编址
把IO设备地址看作是内存地址一部分,如果输入输出指令,地址码部分地址落入IO地址部分,则这次输入输出操作就是针对IO设备进行的,可以直接用存数、取数指令对IO设备进行操作。
2、不统一编址
在内存地址空间之外单独设置地址空间,输入输出指令不能使用原有存数取数指令,需要使用专门的IO指令
二、设备选址
用设备选择电路识别是否被选中
三、传送方式
1、串行
2、并行
四、联络方式
1、立即响应
对于一些结构简单设备,接收到或者输入数据时可以直接响应,eg:LED灯
2、异步工作采用应答信号
- 并行 为了进行并行操作,IO接口与IO设备之间有由多条数据线组成的类似总线结构,来完成数据并行的输入输出,双方之间还要采用应答信号
- 串行
3、同步工作采用同步时标
五、I/O设备与主机的连接方式
1、辐射式连接
2、总线连接
便于增删设备
1.4 I/O设备与主机信息传送的控制方式
一、程序查询方式
在IO设备准备阶段,CPU一直在等待阶段,没有执行其他指令或者其他工作,CPU效率极低
二、程序中断方式
CPU被一定程度的从输入输出中解放出来
在IO进行准备时,CPU不进行查询,只有当外部设备开始进行信息交换时,CPU回暂停现行程序,为输入输出进行服务
外部设备准备好接收或者输入设备后,会向cpu提出中断请求,
三、DMA方式
- 主存和IO之间有一条直接数据通道
- 不中断现行程序
- 周期挪用(周期窃取)
CPU发出启动IO指令,IO设备在DMA控制器的控制下完成数据准备,当数据准备好后,由DMA控制器发出DMA请求,占用总线使用权,占用一个存取周期,进行外部设备和内存的数据交换,在这一个周期中CPU不能使用总线对内存进行访问。
2.1 接口
一、接口作用
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串-并格式转换
- 实现电平转换
- 传送控制命令
- 反应设备状态
二、接口的功能和组成
1、总线连接方式的I/O接口电路
2、I/O接口的基本组成
3.1 程序查询方式
一、程序查询流程
1、查询流程
单个设备
测试指令- 转移指令- 数据传送指令
多个设备
需要把参与传输的设备根据优先级进行排序
二、程序流程
首先要保存寄存器的内容,保存内容后要设置计数器的值,为了控制传输数据的量
二、程序查询方式的接口电路
设备选择电路来确认设备是否参加传输,设备选择信号是整个电路的选择信号,只有这个信号有效,IO接口电路才会工作,若SEL有效且启动命令有效,IO接口开始工作
- CPU通过地址线给出外部设备地址,设备选择电路把自己的设备地址和地址线上的地址进行比较,如果相同,说明启动的是连接在接口电路上的设备,SEL有效,其同命令也有效,对两个状态标记进行置位或者复位
- cpu发出命令,设备还没开始工作则则D为0,B为1,表示设备开始工作,处于忙的状态
- 设备接收到B的标记信号后以及启动命令后,开始工作,通过数据线保存到DBR中,此时设备工作结束,通过状态线向接口电路送入工作结束信号
- 此时D为1,表示数据已经准备就绪,B为0,设备工作已结束
- CPU通过数据线把数据进行读入