程序控制方式
一、无条件传送方式
在数据传输时,不管外设的状态,直接进行信息传输,适用于一些开关量或数码管。
二、条件传输方式(查询方式)
在数据传输前先查询外设的状态,当外设准备好才传输,否者cpu继续查询,直到外设准备好进行数据的传输
条件传输方式的步骤
1、从I/O接口的状态端口读入状态信息;
2、检查状态字中的状态位,确定是否准备好;
3、若外设没有准备好重复1、2步,直到外设准备好;
4、外设准备好,cpu执行输入或输出指令,从I/O端口的数据端口读出或写入数据,同时将状态字复位;
中断控制方式
在查询方式中,cpu处于主动地位,cpu不断地读状态字检测状态位直到外设准备好,非常影响cpu的工作效率,中断控制方式的特点是改cpu的主动查询为被动响应,当外设准备就绪后向cpu发送中断请求,此时cpu暂停正在执行的程序转去该中断服务子程序,提升了cpu的工作效率;
中断控制方式的工作原理:当外设准备好数据向接口发送一个选通信号,从而使数据锁存在接口中,选通信号的上升沿使中断请求触发器置1,向8259发送一个中断请求信号,8259再向cpu申请中断,cpu响应中断后,通过INTA撤销中断请求触发器的中断请求。
DMA控制方式
在DMA控制方式下,外部设备利用专用的接口电路直接与存储器进行数据交换,而不经过cpu,省去了中断控制方式中一系列的断点压栈出栈操作,节省了时间。
DMA的工作原理:
1、外设发送DMA请求;
2、DMAC向cpu申请总线;(HOLD)
3、cpu完成当前总线周期后响应,释放总线控制权;
4、DMAC得到总线控制权,并发送DMA响应信号
5、由DMAC发出各种控制信号,控制外设与存储器之间的数据传送;
6、数据传送完成后,DMAC撤销HOLD信号
7、cpu释放HLDA信号,并重新控制总线。