1. I/O概述
1.1 I/O系统的组成
I/O系统由外部设备、接口部件、总线以及相应的管理软件构成,统称为计算机的输入/输出系统。
1.2 I/O系统的基本功能
完成计算机内部二进制信息与外部多种信息形式间的交流。
保证CPU正确选择输入输出设备并实现对其控制,传输大量的数据、避免数据出错。
利用数据缓冲、选择合适的数据传送方式等,实现主机与外设之间速度的匹配。
1.3 I/O系统的特点
异 步 性 : {\color{Green}异步性:} 异步性:外设相对于处理机通常是异步工作的。
实 时 性 : {\color{Green}实时性:} 实时性:不同的外设工作步调不同,处理机必须按照不同设备所要求的的传送方式和传输速率实时的为设备提供服务。
与 设 备 无 关 性 : {\color{Green}与设备无关性:} 与设备无关性:将不同的外设选择一种标准接口和处理机来进行连接,而他们之间的差别由设备本身的控制器通过软件和硬件来填补。
1.4 I/O与CPU交换数据的过程
输 入 过 程 {\color{Blue}输入过程} 输入过程
(1)地址译码,选择设备。(CPU把一个地址放在地址总线上,选择某一输入设备)
(2)CPU等待输入设备的数据有效。
(3)CPU从数据总线读入数据,并放在一个寄存器中。
输 出 过 程 {\color{Blue}输出过程} 输出过程
(1)CPU把一个地址放在地址总线上,选择输出设备。
(2)CPU把数据放在数据总线上。
(3)输出设备认为数据有效,并将数据取走。
1.5 I/O系统的性能
系 统 的 响 应 时 间 {\color{Green}系统的响应时间} 系统的响应时间:从用户输入命令开始,到得到结果所花费的时间,由I/O系统的响应时间和CPU的处理时间两部分构成,单位通常用s表示。
I / O 的 吞 吐 率 {\color{Green}I/O的吞吐率} I/O的吞吐率:单位时间内完成的I/O操作次数,单位通常用IOP表示。
2. 输入/输出方式
一共可以分为六类方式,在下面的表格中进行体现。
输入/输出方式 | 操作原理 | 优点 | 缺点 |
---|---|---|---|
无条件I/O方式 | CPU无需检查I/O状态,直接进行数据的传输,CPU总是默认I/O已经准备就绪。 | 硬件接口电路和软件控制程序都比较简单 | 输入/输出是都必须保证I/O已经准备好,一般的外设很难满足这种要求。 |
程序控制I/O方式 | 数据再计算机与外设间的传送全部靠计算机程序控制,计算机执行I/O指令时,先获取外设状态,并根据外设状态决定下一步操作。 | 计算机和外设之间能同步,控制简单,硬件简单 | CPU的大量时间用来查询外设状态 |
中断I/O方式 | 当外设准备好以后,主动通知CPU并进行数据传输。CPU接到外设消息后暂行现在的工作,转入中断服务程序,和外设交换数据,等中断处理程序处理完毕以后,再返回到中断以前的原程序中继续执行。 | 节约CPU时间,实时性好 | 控制电路相对复杂,服务开销较大(现场和断点的保护) |
DMA方式 | 是一种完全由硬件执行的I/O交换方式,当外设准备好以后,通知DMA控制器,DMA从CPU接管总线,进行信息传输,传输完毕后将总线控制权还给CPU,整个数据交换过程不需要CPU的参与 | 既有中断的优点,同时又降低了服务开销 | 控制电路更加复杂 |
通道方式 | 通道是专门执行I/O指令的处理机,他可以实现对外围设备的统一管理,以及外设与主存之间的数据传输 | ||
I/O处理机方式 | I/O处理机是通道方式的进一步发展,它的结构更接近于一般处理机。 |