wintel CPU reads across the PCI Express bus

Hello ,

Several years ago when I designed my first PCI add -in card for a wintel platform I discovered that back to back CPU reads of the PCI card's memory address space did not get burst but instead where sent as two seperate frames. Each frame had only a single read. The result was that the CPU could only acheive a 6 Mbytes per sec read bandwidth vs 55 or so if the reads where burst. (32bit PCI bus @ 33 MHZ less overhead )

Now I am embarking on a PCI Express design. I would like to know if this has been corrected so that CPUs on wintel plarforms can do burst reads across the PCI Express bus.

Thanks Dan,

Reply to
pixelsmart
Loading thread data ...

Are you sure about this result? The benchmark linked below suggests that a PCI Gigabit Ethernet card is capable of transferring data over the network at speeds similar (i.e. about 44MB/sec) to your suggested theoretical maximum for the bus, so it can't be doing it wrong.

formatting link

Perhaps it was a driver issue?

Reply to
Jules

The original post was talking about reading from the card via memory reads on the CPU. The cards that are tested in the benchmark are transferring data via DMA without involving the CPU.

For people interested in latency of PCI, PCI-X or PCI Express cards mmio_test might be something to google for IIRC.

/Andreas

Reply to
Andreas Ehliar

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.