Skip to main content

Was ist Gedächtniskohärenz?

Speicherkohärenz ist ein Problem, das in einem Computer auftritt, wenn ein Prozessor versucht, einen Speichersektor zu betrachten.Dieses Problem tritt nur auf Multicore -Systemen oder Computern mit mehr als einer zentralen Verarbeitungseinheit (CPU) auf.Wenn die Mehrfachprozessoren denselben Speichersektor betrachten und den Sektor aktualisiert, kann der andere mit einer alten Version des Computerspeichers übrig bleiben.Um dieses Problem zu beheben, werden Konsistenzregeln verwendet, um sicherzustellen, dass die Prozessoren entweder nicht auf denselben Speicher zugreifen oder die Aktualisierungen zwischen ihnen konsistent sind.Es gibt verschiedene Konsistenzmodelle, sodass Programmierer und Computerentwickler das genau verwendete Modell kennen.

Das Problem der Speicherkohärenz ist nur auf Computern auftritt, die mindestens zwei CPUs verwenden, da sie auf Speicher zugreifen.Wenn eine CPU auf einen Speichersektor zugreift, kann sie den Speicher ohne Konflikte nutzen, verwenden und verändern, da keine anderen Hardware -Teile um den Speicher konkurrieren.Wenn zwei CPUs verwendet werden, kann der zwei CPUs denselben Speichersektor greifen.Während es keine Probleme mit den beiden CPUs gibt, die den Speicher teilen, tritt ein Problem auf, wenn eine CPU den Speicher aktualisiert.Dadurch bleibt die zweite CPU mit veralteter Speicher, die, wenn sie nicht kontrolliert wird, den gesamten Computer dazu führen kann, dass zwei separate und widersprüchliche Versionen des Computerspeichers aufweist.Sie werden gemeinsam als Speicherkonsistenzregeln bezeichnet, und es gibt viele Versionen.Insgesamt teilt jede Version dem mehreren CPUs mit, wie man den Computerspeicher ordnungsgemäß freigibt, ohne das Problem der Speicherkohärenz zu verursachen.Dies kann erfolgen, indem beide Versionen des Speichers aktualisiert werden, wenn eine Version geändert wird, oder indem der CPUs gleichzeitig nicht auf denselben Speicher zugreifen.Jedes Konsistenzsatz hat unterschiedliche Programmier- und Regeln. Programmierer, die Programme erstellen oder Code schreiben, die sich direkt mit dem CPUs befassen, müssen die Codierung für die genauen Konsistenzregeln anpassen.Wenn nicht, kann dies entweder die Konsistenz überschreiben oder einen großen Konflikt zwischen der Codierung des Programmierers und den Konsistenzregeln verursachen, und der Computer kann nicht mehr funktionieren.