[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Broadcasting data to multiple PCI agents



On Oct 15,  1:55pm, Limor Peretz wrote:
> Subject: Broadcasting data to multiple PCI agents
> I'm interested on broadcasting huge amount of data to multiple PCI
> agents.
>
> The PCI Local Bus Specification Rev. 2.1 defines a broadcast
> mechanism called Special Cycle Command.
>
> The broadcast messages are for SHUTDOWN, HALT or Intel x86 processors.
>
> How can I send huge amount of data on the same Bus segment to multiple
> PCI agents?

Are you building your own hardware?  If not, you're out of luck.  It is
very unlikely that you'll find any card that is designed to accept data
using special cycles.

If you are building you own hardware, you can do this without relying on
special cycles.  It is perfectly legal for one PCI agent to snoop another
agents transactions.  (VGA palette snooping is an example of this.)

So, you can just use Memory Write transactions to write the data to one
agent and design the other agents to snoop it.  Of course, the transaction
is being handshaken by the card that was actually addressed, so the
snooping agents will not have the ability to flow control the data.  You
must design the snooping agents so that they can always keep up with the
agent doing the handshake.

I would advise against using special cycles since generation of special
cycles is cumbersome.

> Regards
> Limor.

Monish Shah
Hewlett Packard
…