这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
2、通道方式
通道是一个用来控制外部设备工作的硬件机制,相当于一个功能简单的处理机。通道是独立于CPU的、专门负责数据的输入输出传输工作的处理器,它对外部设备实统一管理,代替CPU对I/O *** 作进行控制,从而使I/O *** 作可以与CPU并行工作。通道是实现计算机和传输并行的基础,以提高整个系统的效率。
环测试 I/O方式(轮询方式)
利用I/O测试指令测试设备的闲忙。若设备不忙,则执行输入或输出指令;若设备忙,则I/O测试指令不断对该设备进行测试,直到设备空闲为止。这种方式使CPU花费很多时间在I/O是否完成的循环测试中,造成极大的浪费!
中断处理方式
引入中断之后,每当设备完成I/O *** 作,便以中断请求方式通知CPU,然后进行相应处理。但由于CPU直接控制输入输出 *** 作,每传达一个单位信息,都要发生一次中断,因而仍然消耗大量CPU时间。
一、方式不同:
程序查询方式是主机与外设间进行信息交换的最简单方式。输入输出完全通过CPU执行程序来完成。而程序中断方式无需等待查询,外设在做好输入输出准备时,向主机发中断请求,主机接到请求后就暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处理。
二、含义不同:
中断程序在程序开始定义中断入口地址,初始化中必须打开中断允许位,程序运行时不用判断溢出状态位,溢出后硬件清零;查询方式在程序运行时必须判断溢出状态位,溢出后须软件清零。
程序查询方式
一旦某一外设被选中并启动后,主机将查询这个外设的某些状态位,看其是否准备就绪,若外设未准备就绪,主机将再次查询;若外设已准备就绪,则执行一次I/O *** 作。
这种方式控制简单,但外设和主机不能同时工作,各外设之间也不能同时工作,系统效率很低,因此,仅适用于外设的数目不多,对I/O处理的实时要求不那么高,CPU的 *** 作任务比较单一,并不很忙的情况。
以上内容参考:百度百科-程序查询方式
查询方式是通过执行输入/输出查询程序来完成数据传送的。 工作原理是:当CPU启动外设工作后,不断地读取外设的状态信息进行测试,查询外设是否准备就绪,如外设准备好,则可以进行数据传送;否则,CPU继续读取外设的状态信息进行查询等待,直到外设准备好。 采用程序查询方式进行数据传送时,实际上在外设准备就绪之前,CPU一直处于等待状态,致使CPU的利用率较低。倘若CPU按这种方式与多个外设传送数据时,就需要周期性的依次查询每个外设的状态,浪费的时间就更多,CPU的利用率就更低。因此,这种方式适合于工作不太繁忙的系统。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)