i/o控制方式

I/O控制方式主要有程序查询方式、中断方式、DMA方式和通信方式。


1、程序查询方式


  程序查询方式也称为程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入/输出操作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取操作。这种方式下的CPU与I/O设备是串行工作的,输入/输出一般以字节或字为单位进行。这个方式频繁地测试I/O设备,I/O设备的速度相对来说又很慢,极大地降低了CPU的处理效率,并且仅仅依靠测试设备状态位来进行数据传送,不能及时发现传输中的硬件错误。但是这种方式的过程很简单,易理解,并且不需要额外硬件。


2、中断方式


  当I/O设备结束(完成、特殊或异常)时,就会向CPU发出中断请求信号,CPU收到信号就可以采取相应措施。当某个进程要启动某个设备时,CPU就向相应的设备控制器发出一条设备I/O启动指令,然后CPU又返回做原来的工作。CPU与I/O设备可以并行工作,与程序查询方式相比,大大提高了CPU的利用率。但是在中断方式下,同程序查询方式一样,也是以字节或字为单位进行。但是该方法大大降低了CPU的效率,因为当中断发生的非常频繁的时候,系统需要进行频繁的中断源识别、保护现场、中断处理、恢复现场。这种方法对于以“块”为存取单位的块设备,效率是低下的。


3、DMA(直接内存存取)方式


  DMA方式也称为直接主存存取方式,其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无须CPU的干预。每传输一个“块”数据只需要占用一个主存周期。


  DMA方式下,一个完整的数据传输过程:


  1)DMA初始化


  当进程需要I/O设备进行数据输入输出时,CPU对DMA控制器初始化,并向I/O端口发出操作命令,提供准备传输的数据起始地址,需要传送的数据长度等信息送入到DMA控制器中的主存地址寄存器和传送字节计数器中。


  2)DMA传输


  DMA控制器获得总线控制权后,进行输出读写命令,直接控制主存与I/O设备之间的传输。在DMA控制器的控制下,数据传输过程中不需要CPU的参与。


  3)DMA结束


  当完成本次数据传输后,DMA控制器释放总线控制权,并向I/O设备端口发出结束信号。


4、I/O通道控制方式


  通道(Channel)也称为外围设备处理器、输入输出处理机,是相对于CPU而言的。是一个处理器。也能执行指令和由指令的程序,只不过通道执行的指令是与外部设备相关的指令。是一种实现主存与I/O设备进行直接数据交换的控制方式,与DMA控制方式相比,通道所需要的CPU控制更少,一个通道可以控制多个设备,并且能够一次进行多个不连续的数据块的存取交换,从而大大提高了计算机系统效率


  通道的类型


1)字节多路通道


  2)数组选择通道


  3)数组多路通道

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设备管理的主要任务之一是控制设备和内存或处理机之间的数据传送,外围设备和内存之间的输入/输出控制方式有四种,下面分...
    saviochen阅读 6,809评论 0 5
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 10,885评论 1 22
  • Pretty Girl & Passat B5 Wagon 你趴我也趴 你撅我也撅 比比谁的更丰满 秀秀大长腿 飙...
    老特拉福德的猫阅读 3,584评论 0 0
  • 这是孙伟每天一篇文章的第39天 最近费了九牛二虎之力,搞了一批价值意义非常大的课程,从这些课程中:“发现好多的方法...
    孙伟爱学习阅读 5,842评论 0 2