<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Modified-Shared-Invalid_Protokoll</id>
	<title>Modified-Shared-Invalid Protokoll - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Modified-Shared-Invalid_Protokoll"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Modified-Shared-Invalid_Protokoll&amp;action=history"/>
	<updated>2026-06-10T11:11:38Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Modified-Shared-Invalid_Protokoll&amp;diff=584618&amp;oldid=prev</id>
		<title>imported&gt;DixMartin: -Redunfdanz</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Modified-Shared-Invalid_Protokoll&amp;diff=584618&amp;oldid=prev"/>
		<updated>2021-02-19T17:09:51Z</updated>

		<summary type="html">&lt;p&gt;-Redunfdanz&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Bei &amp;#039;&amp;#039;&amp;#039;Modified, Shared, Invalid&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MSI&amp;#039;&amp;#039;&amp;#039;) handelt es sich um ein Protokoll zur Wahrung der [[Cache-Kohärenz]] auch in [[Speicherkoppelung|speichergekoppelten]] [[Multiprozessorsystem]]en.&lt;br /&gt;
&lt;br /&gt;
Falls in solchen Systemen jeder Prozessor einen [[Cache]] besitzt, muss festgelegt werden, ob einer der Caches oder der [[Hauptspeicher]] den aktuellen [[Funktionswert|Wert]] eines [[Datum]]s enthält. Ein System, das zu jeder Zeit garantiert, den aktuellen Wert eines Datums zu beschaffen – auch wenn es sich in einem anderen Cache befindet –, heißt &amp;#039;&amp;#039;cache-kohärent&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Das MSI-Protokoll wird hauptsächlich bei [[Write-Invalidate-Protokoll|Write-Invalidate-]] und [[Cache#Schreibstrategie|Write-Back-Caches]] eingesetzt und basiert auf der [[Bus snooping|Snooping]]-Technik.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des MSI-Protokolls wird jedem Cache-Block genau einer der Zustände Modified, Shared oder Invalid zugeordnet. Die einzelnen Zustände bedeuten dabei:&lt;br /&gt;
#&amp;#039;&amp;#039;&amp;#039;Modified:&amp;#039;&amp;#039;&amp;#039; Diese Cache-Line wurde lokal geändert. Weitere Kopien im Hauptspeicher oder im Cache anderer Prozessoren sind &amp;#039;&amp;#039;ungültig&amp;#039;&amp;#039;.&lt;br /&gt;
#&amp;#039;&amp;#039;&amp;#039;Shared:&amp;#039;&amp;#039;&amp;#039; Ein oder mehrere Caches enthalten diesen Datenblock. Alle Caches, die im Zustand Shared sind, haben eine &amp;#039;&amp;#039;gültige&amp;#039;&amp;#039; Kopie.&lt;br /&gt;
#&amp;#039;&amp;#039;&amp;#039;Invalid:&amp;#039;&amp;#039;&amp;#039; Der Inhalt dieser Cache-Line ist veraltet oder es befindet sich noch gar kein Wert in dieser Cache-Line (&amp;quot;Compulsory Miss&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Der zentrale Ansatzpunkt zur Steuerung der Zustandswechsel des jeweiligen Cache-Blocks ist der [[Bus (Datenverarbeitung)|Bus]]. Über diesen kommunizieren die einzelnen Caches mit dem Hauptspeicher. Jeder Cache verfügt über einen [[Cache-Controller]], welcher z.&amp;amp;nbsp;B. bei der Anforderung eines Datums durch den Prozessor des Caches ein entsprechendes Kommando auf den Bus legt. Zusätzlich überwacht dieser auch Kommandos, die von anderen Cache-Controllern oder weiteren Komponenten (z.&amp;amp;nbsp;B. dem Controller des Hauptspeichers) auf den Bus gelegt werden. Entsprechend den eigenen und abgehörten Kommandos werden die Zustandswechsel der jeweiligen Cache-Blöcke vorgenommen. Das Prinzip der Überwachung der Transaktionen und Kommandos auf dem gemeinsamen Bus nennt man „Snooping“.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Msi.png|thumb|right|Übergänge zwischen den Zuständen]]&lt;br /&gt;
&lt;br /&gt;
Ein [[Prozessor]] kann auf eine einzelne Adresse im Speichersystem schreibend (PrWr) oder lesend (PrRd) zugreifen. Entsprechend lösen Lese- und Schreiboperationen eines Prozessors Bustransaktionen aus. Beim MSI-Protokoll gibt es folgende Bustransaktionen:&lt;br /&gt;
#&amp;#039;&amp;#039;&amp;#039;Bus-Read (BusRd):&amp;#039;&amp;#039;&amp;#039; Das Signal wird auf den Bus gelegt, wenn ein Prozessor das Datum bzw. den Wert eines Speicherblocks lesen will.&lt;br /&gt;
#&amp;#039;&amp;#039;&amp;#039;Bus-Read-Exclusive (BusRdX):&amp;#039;&amp;#039;&amp;#039; Signal wird auf den Bus gelegt, wenn ein Prozessor das Datum eines Speicherblocks überschreiben will.&lt;br /&gt;
#&amp;#039;&amp;#039;&amp;#039;Flush:&amp;#039;&amp;#039;&amp;#039; Dieses Signal wird erzeugt, wenn ein Prozessor alleinig (evtl. noch der Hauptspeicher) das aktuelle Datum einer Speicherzelle in seinem Cache hat und ein weiterer Prozessor versucht, auf die gleiche Adresse dieser Speicherzelle lesend oder schreibend zuzugreifen. Wenn das Signal &amp;#039;&amp;#039;Flush&amp;#039;&amp;#039; auf dem Bus erscheint, so wird ebenfalls das Datum des entsprechenden Blocks auf den Bus gelegt.&lt;br /&gt;
&lt;br /&gt;
Die Lese- und Schreiboperationen sowie die dadurch direkt und indirekt erzeugten Bustransaktionen legen das Verhalten des [[Zustandsautomat]]en fest, welcher durch das MSI-Protokoll definiert ist.&lt;br /&gt;
&lt;br /&gt;
Erweiterungen des MSI-Protokolls sind die Protokolle [[MESI]] und [[MOESI]].&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* David E. Culler, Jaswinder Pal Singh: &amp;#039;&amp;#039;Parallel Computer Architecture - A Hardware/Software Approach&amp;#039;&amp;#039; Morgan Kaufmann, 1999, ISBN 1-55860-343-3&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DixMartin</name></author>
	</entry>
</feed>