-
i/o 编辑
I/O(英语:Input/Output),即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。输入/出(英文:Input/Output,简写为 I/O)是信息处理系统(例如计算器)与外部世界(可能是人类或另一信息处理系统)之间的通信。输入是系统接收的信号或数据,输出则是从其发送的信号或数据。该术语也可以用作行动的一部分;到“运行I/O”是运行输入或输出的操作。输入/出设备是硬件中由人(或其他系统)使用与计算器进行通信的部件。例如,键盘或鼠标是计算器的输入设备,而监视器和打印机是输出设备。计算器之间的通信设备(如电信调制解调器和网卡)通常运行输入和输出操作。
(1)I/O接口芯片
这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时计数器、中断控制器、DMA控制器、并行接口等。
(2)I/O接口控制卡
由若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。
速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。
时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统一。
信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ASCII编码和BCD编码等。
信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。
基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
(2)能够进行信息格式的转换,例如串行和并行的转换;
(3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数模或模数转换器等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
(2)中断处理方式
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。
此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。
(3)DMA(直接存储器存取)传送方式
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。
(4) 通道方式
I/O设备就无法正常使用了,包括各类外接接口、笔记本的键盘打不出字、触控屏不灵等现象。
电脑维修工具:主板诊断卡插在主板上进行跑码会显示FF代码、00代码、DD代码或无代码及反复跑C1~C5代码的现象。
I/O设备短路等故障还会导致计算机连接外部设备的时候可能会受到静电的冲击或干扰以至于损坏其他电容、二极管等元器件。从而导致设备无法开机的严重后果。
防范I/O设备故障:I/O设备属于精密的电子产品,使用过程中对环境要求严格,切莫在高温,潮湿的环境下使用。
在cpu受到限制的系统中,批处理进程会使i/o的性能变得更糟。通常在系统优先级最低的情况下,当CPU受到瓶颈时,批处理进程因为要和在线进程进行资源争夺而勉强运行i/o。每一次i/o,一个进程开始释放CPU资源,并由更高优先权的进程接管。但即使i/o进程很快的完成,批处理进程也需要去争夺已经完成任务的进程资源,并接受CPU的线程调度。
在线进程通常可以获得必要的CPU资源。i/o进程不会减缓客户信息控制系统(CICS)或信息管理系统(IMS)的工作负荷,因为每个i/o并不同步。
然而,一些特别的进程与批处理一样都受到CPU瓶颈的影响。在CICS,一旦i/o完成的事务处理,在i/o继续工作前,i/o已经越过CICS的链式调度程序。在CICS工作负载中尤其明显的是i/o有深调度队列。
IMS事务中运行消息处理区域(MPR’S)采取不同的路径,但都是异曲同工。一旦数据库i/o完成, IMS在它处理更多工作前会通知在和服务器争夺资源的MPR。
最快的i/o是不能实现的。因此, 尽可能利用数据输入内存预防在cpu受限的环境中的瓶颈。i/o输入内存的数据包括缓冲池,参考表,数据缓存空间和其他方法。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。