阅读:1183回复:3
有谁知道PCI如何实现猝发读。
有谁知道PCI如何实现猝发读。
|
|
沙发#
发布于:2002-10-31 14:10
猝发读应该是硬件的事,如PCI主设备,当它发起DMA传输时它对其它设备如内存等发起的读操作就是猝发读,同样一个PCI从设备接受其它主设备的DMA请求时也被请求猝发读。
软件要发起一个单纯的猝发读?应该没有。 |
|
|
板凳#
发布于:2002-10-31 15:51
猝发读应该是硬件的事,如PCI主设备,当它发起DMA传输时它对其它设备如内存等发起的读操作就是猝发读,同样一个PCI从设备接受其它主设备的DMA请求时也被请求猝发读。
软件要发起一个单纯的猝发读?应该没有。 对DMA我有些不明白,在用系统DMA控制器时,如何真正start DMA传输。 |
|
地板#
发布于:2002-10-31 17:07
DMA是direct memory access,即不在CPU的干预下直接访问内存。
举个例子好了,比如要从一个PCI设备中读数据到内存,使用DMA方式。PCI设备往往具有FIFO,对应有一个数据端口。由于DMA传输时,CPU不能访问内存(已经放弃了对总线的拥有权),所以要求尽量时间短,此时,DMA对PCI设备的读就采用猝发读(当然要求PCI设备支持),即快速的对一个端口进行重复读(以完成DMA的传输要求)。 具体是有同个信号来协调这个过程的,可以读PCI规范。 |
|
|