通俗理解CPU与外设间的数据传送方式

CPU与外设间有三大传送方式,分别是程序控制方式、中断方式、DMA方式。前两种由软件实现,DMA由硬件实现。

1.程序控制方式

分为无条件传送方式和条件传送方式。

1) 无条件传送方式
也叫做同步传送方式,主要用于简单外设,这类外设在任何时刻均已准备好数据或处于接受数据状态,因此程序可以不必检查外设的状态,而在需要进行输入输出时,直接执行输入输出指令。

可以形象化理解成:小明放学回家,肚子饿的咕咕叫,妈妈正在做饭,从妈妈角度来看,只要妈妈把饭菜做好,就会给小明吃,不需要询问小明有没有写好作业,有没有准备好吃饭,因为小明饿的不行了。

2)条件传送
条件传送也叫做查询式传送方式,在开始传送数据前,必须要确认外设是否已经准备好接受数据的状态。

条件传送可以这样理解:小明一边吃饭一边玩游戏,吃饭速度很慢。爸爸妈妈已经吃完饭了,妈妈把碗洗好之后,小明还没有吃完,这时妈妈就去看电视了,妈妈一边看电视,一边问小明:你有没有吃好啊?如果小明回答说没有吃好,妈妈就继续看电视,并且反复的问小明有没有吃好,如果小明说吃好了,妈妈就暂停看电视,去洗小明的碗,把小明的碗洗好之后,接着回去看电视。

2.中断方式
用查询方式,CPU要不断的查询外设的状态,很浪费时间,CPU工作效率很低。采用中断方式之后,CPU不需要查询外设的状态,而是执行主程序时,当外设数据准备好之后向CPU发出中断申请,因此CPU工作效率大大提高。

中断方式可以这样理解:还是小明吃饭吃的很慢的例子。妈妈洗好碗后,不管小明有没有吃完就去看电视了,看电视时也不询问小明有没有吃完。而是当小明吃完饭之后,主动拿着碗找妈妈,说:妈妈,我吃好了,你把我碗洗一下吧,这个时候妈妈会暂停电视,去洗小明的碗。洗完小明的碗之后,在回来看电视。

3.DMA方式
利用中断方式进行数据传送,可以大大提高CPU利用率,但是任然需要CPU执行程序来完成数据传送,显然CPU会花费不少时间。为了解决这个问题,采用了DMA方式,也就是直接存储器存取方式。
当外设需要利用DMA方式进行数据传送时,接口电路可以向申请,让CPU交出对总线的控制权,用一种称为DMA控制器的专用硬件接口替代CPU,临时接管在线,在DMA传送数据结束之后,在交换控制权。

可以这样理解: 还是小明吃饭吃的很慢的例子,妈妈洗完碗之后便去看电视,不管小明有没有吃完。当小明吃完拿着碗找妈妈洗碗时,妈妈正在看电视,不愿意去洗碗,于是,她把洗碗的手套,抹布给爸爸,说:我看会电视,你去把儿子碗洗了,洗好之后,把手套,抹布在还给我。

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值