Bus snooping

Bus snooping

Inhaltsverzeichnis

Problem

In einem Mehrprozessorsystem besitzt jeder Prozessor einen eigenen und unabhängigen Cache. Falls ein Teilnehmer des Hostbus Daten im Hauptspeicher ändert, kann es zu Cache-Inkohärenzen führen, da die Cache-Line nicht den modifizierten Wert des Hauptspeichers beinhalten.

Grundprinzip

Das Grundprinzip des Bus-Snooping ist, dass jeder Teilnehmer des Hostbus Adressierungen eines anderen Teilnehmers auf dem Bus mitliest und seinen Cache überprüft, ob eine Cache-Line mit der entsprechenden Adresse vorhanden ist. Dazu wird der Cache-Controller um eine Snoop-Logik erweitert. In der Regel befinden sich alle Teilnehmer in diesem Snooping-Zustand, bis auf den Teilnehmer, der die Transaktion auf dem Bus ausführt.

Snoop-Hit on a Write

Ein Teilnehmer des Hostbus, zum Beispiel ein DMA-Controller, führt eine Write-Transaktion auf dem Bus durch und legt dazu eine Adresse auf dem Bus an. Die anderen Teilnehmer, die sich im Snooping-Zustand befinden, überprüfen, ob eine ihrer Cachelines zu der angelegten Adresse vorhanden ist. Falls dies zutrifft, also ein sogenannter Hit eintritt, bezeichnet man ihn als "Snoop Write Hit". Um eine Inkohärenz des Caches zu vermeiden, wird die Cacheline als ungültig markiert.

Snoop-Hit on a Read

Ein Teilnehmer führt eine Read-Transaktion auf dem Hostbus durch und legt die Adresse des Speicherbereiches auf dem Bus an. Die anderen Teilnehmer befinden sich im Snooping-Zustand und lesen die angelegte Adresse mit. Falls eine Cache-Line mit der angelegten Adresse übereinstimmt, also ein Hit im Cache vorliegt, bezeichnet man ihn als Snoop Read Hit. In diesem Fall wird der Lesezugriff durch den mithörenden Teilnehmer unterbrochen und von diesem die geänderten Daten in den Arbeitsspeicher geschrieben.

Siehe auch

Literatur

  • James R. Goodman: Using cache memory to reduce processor-memory traffic. In: Proceedings of the 12th International Symposium on Computer Architecture. 1983, S. 124-131 (PDF).

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Bus sniffing — or Bus snooping is a technique used in distributed shared memory systems and multiprocessors to achieve cache coherence. Although there is one main memory, there are several caches (one per processor), and unless preventative steps are taken, the …   Wikipedia

  • Snooping — v.a. Bus Snooping Schnüffeln …   Acronyms

  • Snooping — v.a. Bus Snooping Schnüffeln …   Acronyms von A bis Z

  • Apple Desktop Bus — Infobox connector name=Apple Desktop Bus (ADB) type=Human input device interface logo= caption=An early ADB keyboard and the ADB Icon designer=Steve Wozniak/Apple Computer design date=1986 manufacturer=Apple Computer Inc. production date=1986 to… …   Wikipedia

  • Illinois-Protokoll — MESI (Modified Exclusive Shared Invalid) ist ein Protokoll zur Wahrung der Cache Kohärenz in speichergekoppelten Multiprozessorsystemen. Das MESI Protokoll wurde zuerst von Forschern der Universität von Illinois veröffentlicht. Es wird auch oft… …   Deutsch Wikipedia

  • MESI-Protokoll — MESI (Modified Exclusive Shared Invalid) ist ein Protokoll zur Wahrung der Cache Kohärenz in speichergekoppelten Multiprozessorsystemen. Das MESI Protokoll wurde zuerst von Forschern der Universität von Illinois veröffentlicht. Es wird auch oft… …   Deutsch Wikipedia

  • Parallel computing — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • MSI protocol — The MSI protocol is a basic cache coherence protocol that is used in multiprocessor systems. As with other cache coherency protocols, the letters of the protocol name identify the possible states in which a cache line can be. So, for MSI, each… …   Wikipedia

  • MESI — (Modified Exclusive Shared Invalid) ist ein Protokoll zur Wahrung der Cache Kohärenz in speichergekoppelten Multiprozessorsystemen. Das MESI Protokoll wurde zuerst von Forschern der Universität von Illinois veröffentlicht. Es wird auch oft als… …   Deutsch Wikipedia

  • Multi-core processor — Diagram of a generic dual core processor, with CPU local level 1 caches, and a shared, on die level 2 cache …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”