程序查询、程序中断、DMA之间特点

I/O设备与主机交换信息共有5种方式(我简单记录前三种)

1、程序查新方式 2、程序中断方式 3、直接存储器存取方式(DMA) 4、I/O通道方式 5、I/O处理机方式

1、程序查询方式:

程序查询方式是由CPU不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。

2、程序中断方式:

CPU在启动I/O设备后,不查询设备是否已准备就绪,继续执行原来的程序,只是当I/O设备准备就绪并向CPU发出中断请求后才给予响应。

3、DMA:

主存与I/O设备之间有一条数据通道,主存与I/O设备交换信息的时,无需调用中断程序服务程序。若是出现DMA与CPU同时访问主存,CPU总是将总线的占有权让给DMA(因为DMA优先级更高),通常将 DMA的这种占有成为周期窃取/周期挪用(窃取时间一般为一个存储周期,会考的哟,嘿嘿嘿)

其中程序查询、程序中断、DMA三者信息交换特点

查询:CPU与设备串行工作,传送与主程序串行工作 中断:CPU与设备并行工作,传送与主程序串行工作 DMA: CPU与设备并行工作,传送与主程序并行工作

其中主机与I/O设备传递数据时,采用DMA方式,CPU利用率最高,程序查询方式,CPU利用率最低。

I/O采用统一编址,进行输入输出操作的指令是:访存指令 I/O采用不统一编制,进行输入输出操作指令是:输入输出指令

简单总结了,便于后期复习呢,寒假快来了,加油(>ω<)喵

经验分享 程序员 微信小程序 职场和发展