FSB Agents

Agent Types

All devices that reside on the processor's FSB are referred to as agents. Basically, there are three type of agents:

  • The Request Agent is the device that initiates a transaction by issuing a transaction request (e.g., a memory read or write, an IO read or write, etc.). It is also referred to as the transaction initiator.

  • The Response Agent is the target of the transaction (e.g., an IO target or a memory target).

  • The Snoop Agents (aka the snoopers) are any devices on the FSB that have memory caches (usually processors, but, as an example, in addition to the processors there could be an external cache that resides on the FSB). Whenever any initiator starts a transaction, the transaction request is latched by all FSB agents including the snoopers. If it is a memory transaction, the memory address is then submitted to the snoopers' caches for a lookup (a snoop) and the results of the snoop are reported back to the Request Agent and to the system memory controller. The results will be one of the following:

    • A snoop miss— indicates that none of the snoopers has a copy of the addressed line.

    • A snoop hit on a clean line— indicates that one or more of the snoopers has a copy of the addressed line in the E or S state and it hasn't been changed since being read from memory.

    • A snoop hit on a modified line —indicates that one of the snoopers has a copy of the line and one or more of the bytes in the line have been written to by the processor core since the line was copied into the cache from memory. The line in memory is stale (i.e., it does not contain up-to-date information).

Multiple Personalities

An agent may only be capable of acting as a Response Agent (i.e., as the target of a transaction). As an example, the system memory controller typically acts as the target of memory reads and writes. It never initiates transactions, nor does it ever act as a Snoop Agent in a transaction.

An agent may be capable of acting as the Response Agent in some transactions and as the Request Agent for other transactions. As an example, in Figure 44-1 on page 1140 the Root Complex may:

  • act as the Response Agent (i.e., the target) of a processor-initiated transaction to read data from an IO port in a PCI Express device that resides beyond the bridge.

  • act as the Request Agent of a memory snoop transaction when a device adapter that resides beneath the Root Complex is writing data to or reading data from system memory.

Figure 44-1. Block Diagram of a Typical Server System


An agent may act as the Request Agent for transactions that it initiates and as the Snoop Agent for memory transactions initiated by others. An example would be a processor. It not only initiates transactions on an as-needed basis, but also snoops memory transactions that are initiated by the other processors or by the Root Complex (on behalf of device adapters).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.20.56