Bus sniffing

Bus snooping English, sniff 'means in a computer system, the continuous control of the memory address lines ( "bus" ) to avoid possible conflicts between memory and cache content.

Problem

In a multiprocessor system, each processor has its own independent cache. If a participant in the host bus changes data in main memory, it can cause cache incoherence, since the cache line does not contain the modified value of the main memory.

Basic principle

The basic principle of the bus snooping is that each participant is reading the host bus addressing of another participant on the bus and its cache checks whether a cache line with the corresponding address exists. For this, the cache controller is added to a snoop logic. In general, there are all participants in this snooping state, except for the person who executes the transaction on the bus.

Snoop Hit on a Write

A participant of the host bus, such as a DMA controller performs a write transaction on the bus and sets to an address on the bus. The other participants who are in state snooping check if one of its cache lines is available to the applied address. If so, that enters a so-called hit, it is called " Snoop Write Hit ". To avoid incoherence of the cache, the cache line is marked as invalid.

Snoop Hit on a Read

A participant performs a read transaction by on the host bus and pushes the address of the memory area at the bus. The other participants are in state snooping and read the applied address. If a cache line coincides with the applied address, so there is a hit in the cache, it is called Snoop Read hit. In this case, read access is interrupted by the subscriber listening in and written by this changed data in the working memory.

156069
de