输入/出(英文:Input/Output,简写为 I/O)是信息处理系统(例如计算器)与外部世界(可能是人类或另一信息处理系统)之间的通信。输入是系统接收的信号或数据,输出则是从其发送的信号或数据。该术语也可以用作行动的一部分;到“运行I/O”是运行输入或输出的操作。
输入/出设备是硬件中由人(或其他系统)使用与计算器进行通信的部件。例如,键盘或鼠标是计算器的输入设备,而监视器和打印机是输出设备。计算器之间的通信设备(如电信调制解调器和网卡)通常运行输入和输出操作。
- 中文名
- i/o
- 全 称
- input/output
- 类 型
- 输入输出端口
- 出 处
- 电脑主板
- 连接接口
- 磁盘接口
- I/O接口芯片
- 集成电路
(1)I/O接口芯片
(2)I/O接口控制卡
由若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。
时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统一。
基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:
(4)协调时序差异;
(5)地址译码和设备选择功能;
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
(4) 通道方式
计算机中的I/O设备 [1]故障表现主要有以下三个方面:
- 1.
- 2.
- 3.
在CPU性能受限制的大型机环境里,i/o进程会影响到工作负载。
在cpu受到限制的系统中,批处理进程会使i/o的性能变得更糟。通常在系统优先级最低的情况下,当CPU受到瓶颈时,批处理进程因为要和在线进程进行资源争夺而勉强运行i/o。每一次i/o,一个进程开始释放CPU资源,并由更高优先权的进程接管。但即使i/o进程很快的完成,批处理进程也需要去争夺已经完成任务的进程资源,并接受CPU的线程调度。
然而,一些特别的进程与批处理一样都受到CPU瓶颈的影响。在CICS,一旦i/o完成的事务处理,在i/o继续工作前,i/o已经越过CICS的链式调度程序。在CICS工作负载中尤其明显的是i/o有深调度队列。
IMS事务中运行消息处理区域(MPR’S)采取不同的路径,但都是异曲同工。一旦数据库i/o完成, IMS在它处理更多工作前会通知在和服务器争夺资源的MPR。
最快的i/o是不能实现的。因此, 尽可能利用数据输入内存预防在cpu受限的环境中的瓶颈。i/o输入内存的数据包括缓冲池,参考表,数据缓存空间和其他方法。 [2]