Re: Philosophical question: DMA vs. Programmed I/O

xxxxx@sneakemail.com said:

The data was burst as 6 writes (actually, it first became a burst of 3
64-bit writes across a 64-bit cPCI backplane, which was then converted
back to 6 32-bit writes by the 64-bit to 32-bit PCI-PCI bridge on the
PMC carrier where the device was installed).

There is a good chance that PCI-to-PCI are doing the write combining.
They are allowed, in certain cases.

Still a slave read is tons more expensive then a bus mastered write.
Even at RS232 speeds, you would really rather the device did bus-
mastered writes then target reads. To the original point, you would
have to look far and wide to find a case where you would really rather
do PIO (in the form, inevitably, of reads) instead of DMA bus mastered
writes.

Steve Williams "The woods are lovely, dark and deep.
steve at icarus.com But I have promises to keep,
steve at picturel.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."

> -----Original Message-----

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Stephen Williams
Sent: Tuesday, March 18, 2003 3:14 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Philosophical question: DMA vs. Programmed I/O

xxxxx@sneakemail.com said:
> The data was burst as 6 writes (actually, it first became a
burst of 3
> 64-bit writes across a 64-bit cPCI backplane, which was
then converted
> back to 6 32-bit writes by the 64-bit to 32-bit PCI-PCI
bridge on the
> PMC carrier where the device was installed).

There is a good chance that PCI-to-PCI are doing the write combining.
They are allowed, in certain cases.

Still a slave read is tons more expensive then a bus mastered write.
Even at RS232 speeds, you would really rather the device did bus-
mastered writes then target reads. To the original point, you would
have to look far and wide to find a case where you would really rather
do PIO (in the form, inevitably, of reads) instead of DMA bus mastered
writes.

In no way was I trying to say that PIO is better than DMA. DMA clearly
has significant advantages over PIO in most cases. Yes, I’m sure there
are esoteric cases where PIO has certain advantages, but in general, I
agree with the “DMA good, PIO bad” philosophy.

All I was saying in my previous post is that you *can* observe bursting
on the PCI bus when using PIO, at least when writing to a device, on at
least on platform configurations. Mind you, in my example I wasn’t
exactly dealing with a mainstream PC, but the my point is still valid.

  • Jay

Jay Talbott
Principal Consulting Engineer
SysPro Consulting, LLC
3519 E. South Fork Drive
Suite 201
Phoenix, AZ 85044
(480) 704-8045
xxxxx@sysproconsulting.com
http://www.sysproconsulting.com