chenjp305
驱动牛犊
驱动牛犊
  • 注册日期2004-02-27
  • 最后登录2011-10-17
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1407回复:3

PCI9052 Prefetch

楼主#
更多 发布于:2004-03-15 18:11
PCI9052(C模式)用Prefetch功能从外设FIFO读数,FIFO口地址只有一个,可Prefetch却是顺序读取ADDR(i)到ADDR(i+7),尽管硬件上可以保证ADDR(i)到ADDR(i+7)全部落到FIFO内,可是程序中的语句应该怎样写?请赐教?
学海无涯
lishi626
驱动牛犊
驱动牛犊
  • 注册日期2003-11-25
  • 最后登录2008-07-17
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望8点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-15 19:28
楼主的预取是怎设置的啊?
------------------
FIFO口地址只有一个,可Prefetch却是顺序读取ADDR(i)到ADDR(i+7)
------------------------------
你把预取寄数器设到了预取8位了吧?我也这样但不能预取啊!
另外你加突发了吗? 是否突发+预取,这样9052读数的速度有多快?


Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-03-17 16:40
用户被禁言,该主题自动屏蔽!
chenjp305
驱动牛犊
驱动牛犊
  • 注册日期2004-02-27
  • 最后登录2011-10-17
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-17 18:11
对不起,我还是不能理解,比如说,我只循环读取ADDR(i),但系统却每次读取ADDR(i)-ADDR(i+7),系统会不会认为我不需要ADDR(i+1)-ADDR(i+7),而放弃这些数据,如果是这样,读取速度岂不是没有多大提高?
另外,回答lishi626的问题:我在CONFIG中的预读设置是:LAS0BRD的D5=0即可,这样预读会一直进行,直到PCI BUS 给出终止控制。没设BURST,CLOCK=8M时,INPUT平均速度为3M。
学海无涯
游客

返回顶部