[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: On I/O and memory address space
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: Re: On I/O and memory address space
- From: sgolson@trilobyte.com (Steve Golson)
- Date: Tue, 11 Feb 97 09:07:27 EST
- Resent-Date: Tue, 11 Feb 97 09:07:27 EST
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"PtjhA2.0.EC2.-880p"@dart>
- Resent-Sender: pci-sig-request@znyx.com
> > 2. If you want to do burst reads/or writes to your device from a host,
> > then the memory space should be marked prefetchable.
>
> Is this statement completely true? It was my understanding that a target
> would get burst writes even if the space was marked non-prefetchable since
> most bridges will still practice write combining.
>
> Brian
> > 2. If you want to do burst reads/or writes to your device from a host,
> > then the memory space should be marked prefetchable.
>
> Absolutely not. Bursting is not the same as prefetching. Prefetching
> is reading ahead on memory that hasn't been requested by the master, and
> is most often performed by the host interface.
>
> --
> Steve Williams
> steve@icarus.com
> steve@picturel.com
Brian is correct; you can get burst writes to non-prefetchable space, because
of write combining. Steve's definition of prefetching is also correct;
prefetching is when the target performs anticipatory reads of data that has
not been requested yet. This only works if there are no side-effects on reads.
The important point here is that you can generally only do a burst read from
prefetchable space.
Let's try to do a non-prefetchable burst read: you can't use the
Memory Read Line and Memory Read Multiple commands because they imply that
the address range is prefetchable. If you use Memory Read, most (all?) targets
and especially bridges will disconnect after the first data transfer.
-seg
Steve Golson / Trilobyte Systems / +1.508.369.9669 / sgolson@trilobyte.com
Consulting in: Verilog, VHDL, Synopsys, patent analysis, reverse engineering
´ ¢