jovianzhoujun
驱动牛犊
驱动牛犊
  • 注册日期2002-03-13
  • 最后登录2004-12-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1183回复:3

有谁知道PCI如何实现猝发读。

楼主#
更多 发布于:2002-10-31 11:05
有谁知道PCI如何实现猝发读。
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-31 14:10
猝发读应该是硬件的事,如PCI主设备,当它发起DMA传输时它对其它设备如内存等发起的读操作就是猝发读,同样一个PCI从设备接受其它主设备的DMA请求时也被请求猝发读。
软件要发起一个单纯的猝发读?应该没有。
少了e,就少了全部
jovianzhoujun
驱动牛犊
驱动牛犊
  • 注册日期2002-03-13
  • 最后登录2004-12-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-31 15:51
猝发读应该是硬件的事,如PCI主设备,当它发起DMA传输时它对其它设备如内存等发起的读操作就是猝发读,同样一个PCI从设备接受其它主设备的DMA请求时也被请求猝发读。
软件要发起一个单纯的猝发读?应该没有。



对DMA我有些不明白,在用系统DMA控制器时,如何真正start DMA传输。
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-31 17:07
DMA是direct memory access,即不在CPU的干预下直接访问内存。
举个例子好了,比如要从一个PCI设备中读数据到内存,使用DMA方式。PCI设备往往具有FIFO,对应有一个数据端口。由于DMA传输时,CPU不能访问内存(已经放弃了对总线的拥有权),所以要求尽量时间短,此时,DMA对PCI设备的读就采用猝发读(当然要求PCI设备支持),即快速的对一个端口进行重复读(以完成DMA的传输要求)。
具体是有同个信号来协调这个过程的,可以读PCI规范。
少了e,就少了全部
游客

返回顶部