什么是缓冲,引入缓冲的原因是什么?
2015-07-23 10:12
686 查看
缓冲是两种不同速度设备之间的传输信息时平滑传输过程的常用手段。
引入缓冲技术的原因:
1、 为了进一步缓和CPU和I/O设备之间速度不匹配的矛盾。
2、 提高CPU与I/O设备之间的并行性。
3、 为了减少中断次数和CPU的中断处理时间。如果没有缓冲,慢速I/O设备每传一个字节就要产生一个中断,CPU必须处理该中断。如果用了缓冲技术,则慢速的I/O设备将缓冲区填满时,才向CPU发出中断,从而减少了中断次数和CPU的中断处理时间。
4、 为了解决DMA或通道方式下数据传输的瓶颈问题。DMA或通道方式都适用于成批数据传输,在无缓冲的情况下,慢速I/O设备只能一个字节一个字节的传输信息,这造成DMA方式或通道方式数据传输的瓶颈。缓冲区的设置适应了DMA或通道方式的成批数据传输方式,解决了数据传输的瓶颈问题。
引入缓冲技术的原因:
1、 为了进一步缓和CPU和I/O设备之间速度不匹配的矛盾。
2、 提高CPU与I/O设备之间的并行性。
3、 为了减少中断次数和CPU的中断处理时间。如果没有缓冲,慢速I/O设备每传一个字节就要产生一个中断,CPU必须处理该中断。如果用了缓冲技术,则慢速的I/O设备将缓冲区填满时,才向CPU发出中断,从而减少了中断次数和CPU的中断处理时间。
4、 为了解决DMA或通道方式下数据传输的瓶颈问题。DMA或通道方式都适用于成批数据传输,在无缓冲的情况下,慢速I/O设备只能一个字节一个字节的传输信息,这造成DMA方式或通道方式数据传输的瓶颈。缓冲区的设置适应了DMA或通道方式的成批数据传输方式,解决了数据传输的瓶颈问题。
相关文章推荐
- 一键切换
- 南阳理工966 选择不相交区间
- 关于adapter报空指针问题
- 面试准备
- Win32开发 - error LNK2005
- 时间控件My97DatePicker的使用
- 还是逆元之O(n)阶乘逆元。。。
- 算法之七大经典排序
- ubuntu升级glibc
- python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
- 如何分析关键词的优化难度
- 浅析AOP与OOP
- yii nginx 隐藏 index.php
- how to loading .desktop files
- 从零开始搭建hadoop分布式集群环境:(四)配置ssh无密码登录
- iOS提高开发效率的开源框架整理
- Spark MLlib Deep Learning Neural Net(深度学习-神经网络)
- hdu5249 Tricks Device(网络流最大匹配)
- ThinkPHP中ajax使用实例教程
- Eddy's digital Roots-数论基础