opera
驱动牛犊
驱动牛犊
  • 注册日期2001-05-10
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2052回复:7

pci数据卡设计如此方案是否可行?

楼主#
更多 发布于:2001-06-21 10:54
我有一个朋友,用irp排队,应用层不断的writefile,使irp队列不空,从而成功得到连续码流。但他的速率不能超过30Mbit/s,很郁闷。
我现在做一块类似的东西,我打算不使用irp排队,采用deviceiocontrol和驱动通信,在驱动中设4个事件,开辟4块内存作为循环dma buffer,当一个dma完成的中断请求到来后,该块内存则由主机继续填充。
当初有个人做vxd时大体就是这种思想。这样就避免了irp排队,不知
是否比irp排队的方法好?应该注意什么?
我是宝剑,我是火花。 我愿生如闪电般的耀亮, 我愿死如彗星般的迅忽。
风林火山
驱动牛犊
驱动牛犊
  • 注册日期2001-06-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-23 21:49
能解释一下IRP排队吗?
搞技术还是实在些好啊。。。
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-07-06 08:58
除了软件驱动中用Double buffer或是4缓冲外,可能还要考虑是否需要在硬件上加以缓冲。不知你用什么硬件,要考虑PCI总线的Latency,可能会造成丢数据。
助人乃快乐之本 有人给分就更快乐了 :-)
greatwp
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-10-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-12-10 08:41
你的朋友也做码流,可以交流一下。
wp
petz
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2015-12-19
  • 粉丝0
  • 关注0
  • 积分-22276分
  • 威望15点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-12-10 09:33
用户被禁言,该主题自动屏蔽!
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-12-10 13:26
What is \"SCATTER/GATHER\"..
I study the Block Device Driver and UMSS Sample....
It uses the old way to ctrl Mass Storage.
My friend says it realted to SCSI or RAID?????
can any one tell me clearly.
thx
Taiwan's Driver Developer
mydrive
驱动牛犊
驱动牛犊
  • 注册日期2001-06-21
  • 最后登录2004-05-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-12-10 17:41
用共享缓冲区(驱动程序和用户程序之间)是否会好一些?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-12-11 08:39
回复一下nouk的问题:
s/g模式是针对现有ia体系计算机存储器管理中线性地址连续,而物理地址不连续的问题导致dma传输困难而产生的一种dma传输方法,具体表现是将线性连续的分页内存的物理地址以链表的方式存储于系统存储器或local bus(你自己设计的系统上的总线),支持s/g模式的dma引擎只需要你提供该链表的首地址(当然是物理地址),以后每完成一页,自动取得下一页的物理地址.该方式相对于block transfer,软件设计上优越很多
兄弟们,给点分吧
游客

返回顶部