[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Some questions
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: RE: Some questions
- From: "Kimmery, Clifford (FL51)" <kimmery@space.honeywell.com>
- Date: Fri, 6 Dec 1996 17:23:29 -0500
- Cc: "'David O'Shea'" <daveo@corollary.com>
- Encoding: 81 TEXT
- Resent-Date: Fri, 6 Dec 1996 17:23:29 -0500
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"MeEpi2.0.tO1.ri9go"@dart>
- Resent-Sender: pci-sig-request@znyx.com
Does this mean that most CPU-PCI bridges do not attempt to prefetch
unless the target address is known to be cacheable?
An agent can be prefetchable (no read side-effects) without being
cacheable (no potential for hidden changes).
Cliff Kimmery
Honeywell Inc.
kimmery@space.honeywell.com
>----------
>From: David O'Shea[SMTP:daveo@corollary.com]
>Sent: Friday, December 06, 1996 1:06 PM
>To: Mailing List Recipients
>Cc: daveo@corollary.com
>Subject: Re: Some questions
>
>
>>Duane Clark <Duane.Clark@jpl.nasa.gov> writes
>>>
>>> John R Pierce wrote:
>>> >
>>> > Most all PC (ie. pentium systems) won't generate burst reads, only
>>> > burst writes. There's no guarantee that you won't get a target
>>> > retry abort somewhere in the middle of that burst.
>>>
>>> Yow!! This is a truly scary statement. I am new to PCI and was in the
>>> process of a board design (for in-house use). The board is currently
>>> planned to be used in a 166MHz pentium Compaq running Solaris X86. I
>>> would be hard pressed to meet system needs without burst read
>>> capability. So what is preventing this? Is it built into the bridge or
>>> other hardware or a feature of the operating system or just what??? Do
>>> other systems allow burst reads? Do I need to implement bus mastering?
>>> If I do so, would the PC bridge allow burst writes to system memory?
>>
>
>>At 09:09 AM 12/6/96 -0800, John R Pierce wrote:
>>Well, basically, the pentium processor will only do burst reads on locations
>>that are cacheable. This pretty much eliminates all forms of IO devices as
>>caching them would cause more problems than good.
>>
>>The best way to transfer data from a peripheral to main memory is with
>>busmastering. You can in theory achieve 100Mbyte/sec, but
>>60-80Mbyte/sec are
>>probably more typical.
>
>Depending on one's definition of a burst, there is a slight correction
>to this
>with MMX technology P5 and P6 CPU's. With the new processors, there is
>an
>instruction that allows 64 bit reads and writes. Previosly, this was
>limited
>to 32bits for uncached memory accesses. So, if your definition of a
>burst
>is only 64bits of information ;-) then the new MMX CPU's can burst a
>little.
>Otherwise, John is 100% correct. In any case, you really need to
>implement
>bus mastering with P5 and P6 PC's because of the inability to do "real"
>bursted
>reads at all and in most cases writes as well. (PC's can burst write
>sometimes
>because the CPU to PCI bus bridge has posted write buffers. While the
>Bridge
>waits for the PCI bus, the CPU can non-burst transfer over the CPU bus
>to the
>posting buffers of the Bridge. Then the bridge bursts all of the data
>in the
>posted write buffers. This cannot happen on reads because the CPU
>blocks
>waiting for the read data from each successive read. The maximum
>individual
>read over the CPU bus from the CPU to bridge (uncached read) is 32bits
>(now
>64bits).
>
>So, better implement bus mastering.....
>
>-Daveo
>
>
t „ s