三种I/O设备与主机信息传送的控制方式

1.程序查询方式:

由CPU通过程序不断查询I/O设备是否准备就绪,从而控制I/O设备与主机交换信息。采用这种这种方式实现主机与I/O设备交换信息,要求I/O接口类设置一个能反映I/O设备是否准备就绪的状态标记,CPU通过对此标记的检测,可得知I/O设备的准备情况。
只要一启动I/O设备,CPU便不断查询I/O设备的准备情况,从而中止了原程序的执行。CPU在反复的查询过程中,犹如原地踏步。另一方面,I/O设备准备就绪后,CPU要一个字一个字地从I/O设备取出,经CPU送至主存,此刻CPU也不能执行原程序,可见这种方式使CPU和I/O设备处于穿行工作状态,CPU的效率不高。

2.程序中断方式

只是当I/O设备准备就绪并向CPU发出中断请求后才予以响应,这将大大提高CPU的工作效率。
采用这种方式,CPU和I/O接口不仅在硬件方面需要增加相应的电路,而且在软件方面还必须编制中断服务程序。而且CPU在相应中断请求后,必须停止现行程序而转入中断服务程序,并且为了完成I/O设备与主存交换信息,还必须占用CPU内部的寄存器,消耗CPU的资源。

3.直接存储器(DMA)方式

主存与I/O设备间有一条数据通路,主存和I/O设备交换信息时,无需调用中断服务程序。若出现DMA和CPU同时访问主存,CPU总是将总线占有权让给DMA,通常把DMA的这种占有称为窃取或挪用。窃取的时间一般为一个存取周期,故又把DMA占用的存取周期称为窃取周期或挪用周期。而且,在DMA窃取存取周期时,CPU尚能继续做内部操作(不需要访存的操作,如乘法运算)。

猜你喜欢

转载自blog.csdn.net/qq_38247544/article/details/80804082