频道栏目
读书频道 > 软件开发 > C++ > Visual C++串口通信技术详解(第2版)
1.1.3 接口的基本控制方式
2013-08-07 11:56:14     我来说两句
收藏   我要投稿
本书介绍如何利用Visual C++集成开发环境进行串口通信程序开发的前沿实用技术。书中精选来自工程实践的应用范例,主要涵盖串口通信的理论基础、Visual C++集成开发环境简介、MSComm控件串口编程、Windows API...  立即去当当网订购

主机通过接口对外部设备进行控制的基本方式有以下3种。

(1)程序查询方式

在这种方式下,主机(CPU)通过特定I/O指令询问外部设备的当前工作状态。如果外部设备处于就绪状态,那么就执行数据传送任务,否则CPU始终处于循环等待状态,直到外部设备进入就绪状态。

这种方式容易实现,电路复杂性较低;但是因为CPU处理速度远高于外部设备,所以CPU常处于“忙等”状态,导致整个计算机系统效率低下。

(2)中断处理方式

在这种方式下,CPU通过接口向外部设备发出I/O指令后,就不再主动查询外部设备是否就绪,而是转而执行其他进程。当外部设备处于就绪状态后,就利用接口的中断管理功能向CPU发出服务请求。如果CPU响应该请求,那么就暂停当前进程运行,转而执行和中断请求对应的服务程序。完成该服务程序后,再继续执行被中断进程。

中断处理方式的优点是有效减少了CPU查询外部设备状态和等待外部设备就绪所花费的时间,在提高CPU工作效率的同时,还满足了外部设备的实时性要求。但是,这种控制方式需要为每个外部设备分配一个中断号并编制相应的中断服务程序,同时要求接口芯片内置一个中断控制器管理外部设备提出的中断请求。

中断处理方式的缺点是每传送一个字符就发出一次中断请求,执行一次中断服务程序,当计算机系统需要进行大量数据传送时,系统整体性能将变得很低。

(3)DMA(直接存储器存取)控制方式

DMA控制方式最明显的优点是利用了专门的硬件电路——DMA控制器来控制主机内存和外部设备之间的数据传送任务。该方式无须CPU介入,从而极大地提高了CPU的工作效率。

在进行DMA数据传送前,DMA控制器向CPU申请总线控制权;在CPU交出总线控制权后,DMA控制器启动一次大容量数据传送任务;当传送任务结束后,DMA控制器将总线控制权交还给CPU。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.1.2 接口的基本功能
下一篇:1.1.4 并行接口技术
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站