• IT-Karriere:
  • Services:

Mögliche Abläufe für Schreib- und Lesevorgänge bei einer CPU mit vier Kernen

Das gebräuchlichste Protokoll, das verwendet wird, um die Kohärenz zwischen Caches zu erzwingen, ist das MESI-Protokoll. Jeder Prozessor hat seine eigene Variante dieses Designs und die jeweiligen Varianten bringen ihre eigenen Vorteile, Kompromisse und ihr eigenes Potenzial für einzigartige Bugs mit sich.

Stellenmarkt
  1. CodeCamp:N GmbH, Nürnberg
  2. company bike solutions GmbH, München

Alle Varianten haben jedoch eine Gemeinsamkeit: Jede Datenzeile in einem Cache ist mit einem der folgenden Zustände versehen.

1. Modified (M)

  • Diese Daten wurden geändert und unterscheiden sich vom Hauptspeicher.
  • Diese Daten sind die Quelle der Wahrheit und alle anderen Daten sind veraltet.

2. Exklusive (E)

  • Diese Daten wurden nicht geändert und sind mit den Daten im Hauptspeicher synchronisiert.
  • Kein anderer Zwilling des Caches hat diese Daten.

3. Shared (S)

  • Diese Daten wurden nicht geändert und sind mit den Daten an anderer Stelle synchronisiert.
  • Es gibt andere Zwillinge des Caches, die (möglicherweise) ebenfalls dieselben Daten haben.

4. Invalid (I)

  • Diese Daten sind veraltet und sollten niemals verwendet werden.

Die Cache-Kohärenz kann erreicht werden, wenn wir die oben genannten Zustände erzwingen und aktualisieren. Hier einige Beispiele für eine CPU mit 4 Kernen, von denen jeder einen eigenen L1-Cache hat und die zudem alle auf einen gemeinsamen (shared) L2-Cache zugreifen.

Schreiben

Angenommen, ein Thread auf Core 1 möchte auf die Adresse 0xabcd schreiben. Mögliche Abläufe sind:

Bei einem Cache-Hit

1. L1-1 hat die Daten im E- oder M-Zustand.
2. L1-1 führt den Schreibvorgang durch. Alles erledigt.

  • Kein anderer Cache hat die Daten; es ist sicher, sofort in ihn zu schreiben.
  • Der Zustand der Cache-Zeile wird auf M gesetzt, da sie nun modifiziert ist.

Bei einem lokalen Cache-Miss und einem Hit beim Zwilling des Caches

1. L1-1 hat die Daten im Zustand S

  • Das impliziert, dass ein Zwilling des Caches die Daten auch haben könnte.
  • Derselbe Ablauf wird auch verwendet, wenn L1-1 die Daten gar nicht hat.

2. L1-1 sendet einen Request-for-Ownership an den L2-Cache.
3. L2 sieht in seinem Verzeichnis nach und stellt fest, dass L1-2 die Daten aktuell im Zustand S hat.
4. L2 sendet ein Snoop-Invalidate an L1-2.
5. L1-2 markiert seine Daten als Invalid (I).
6. L1-2 sendet ein ACK an L2.
7. L2 sendet zusammen mit den neuesten Daten ein ACK an L1-1.
1. L2 merkt sich, dass L1-1 die Daten für diese Adresse im Zustand E hat.
8. L1-1 hat nun die neuesten Daten sowie die Erlaubnis, in den E-Zustand zu wechseln.
9. L1-1 führt den Schreibvorgang durch und ändert den Status dieser Daten auf M.

Eine große Auswahl an Prozessoren bei Alternate

Lesen

Nehmen wir nun an, ein Thread auf Core 2 möchte aus der Adresse 0xabcd lesen. Das sind mögliche Abläufe:

Bei einem Cache-Hit

1. L1-2 hat die Daten im Zustand S, E oder M.
2. L1-2 liest die Daten und gibt sie an den Thread zurück. Alles erledigt.

Bei einem lokalen Cache-Miss und einem Eltern-Cache-Miss

1. L1-2 hat die Daten im Zustand I, das heißt, er darf sie nicht verwenden.
2. L1-2 sendet einen Request-for-Share an den L2-Cache.
3. L2 hat die Daten auch nicht. Er liest die Daten aus dem Speicher.
4. L2 holt die Daten aus dem Speicher zurück.
5. L2 sendet die Daten an L1-2, zusammen mit der Erlaubnis, in den S-Zustand zu wechseln.

  • L2 merkt sich, dass L1-2 die Daten im S-Zustand hat.

6. L1-2 holt die Daten, speichert sie in seinem Cache und sendet sie an den Thread.

Bei einem lokalen Cache-Miss und einem Eltern-Cache-Hit

1. L1-2 hat die Daten im Zustand I.
2. L1-2 sendet einen Request-for-S an den L2-Cache.
3. L2 sieht, dass L1-1 die Daten im Zustand S hat.
4. L2 sendet ein ACK an L1-2, zusammen mit den Daten und der Erlaubnis, in den S-Zustand zu wechseln.
5. L1-2 holt die Daten, speichert sie in seinem Cache und sendet sie an den Thread.

Bei einem lokalen Cache-Miss und einem Hit beim Zwilling des Caches

1. L1-2 hat die Daten im Zustand I.
2. L1-2 sendet einen Request-for-S an den L2-Cache.
3. L2 sieht, dass L1-1 die Daten im Zustand E (oder M) hat.
4. L2 sendet einen Snoop-Share an L1-1.
5. L1-1 ändert seinen Zustand zu S.
6. L1-1 sendet ein ACK an L2, gegebenenfalls zusammen mit den geänderten Daten.
7. L2 sendet ein ACK an L1-2, zusammen mit den Daten und der Erlaubnis, in den S-Zustand zu wechseln.
8. L1-2 holt die Daten, speichert sie in seinem Cache und sendet sie an den Thread.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Hardware: Gängige Mythen über CPU-CachesWarum Synchronisation trotzdem wichtig ist 
  1.  
  2. 1
  3. 2
  4. 3
  5.  
Anzeige - Ein Vergleichsservice der Golem Media GmbH

CPU Top 15 nach dem Leistungsindex 2021 - von PCGH getestet

ProduktnameIntel Core i9-11900KAMD Ryzen 9 5950XAMD Ryzen 9 5900XAMD Ryzen 7 5800XIntel Core i7-11700KAMD Ryzen 5 5600XIntel Core i5-11600KIntel Core i9-10900KIntel Core i7-10700KAMD Ryzen 9 3950XAMD Ryzen 9 3900XT Intel Core i9-9900KAMD Ryzen 9 3900XAMD Ryzen 7 3800XTAMD Ryzen 7 3800X
HerstellerIntelAMDAMDAMDIntelAMDIntelIntelIntelAMDAMDIntelAMDAMDAMD
Weitere Daten anzeigen ...
Leistung*98,7 %/100 %100 %/99,5 %97,4 %/81,5 %96,9 %/59,8 %92,8 %/93,4 %93 %/91,5 %88,1 %/88,5 %90 %/90 %86,8 %/86,1 %81,4 %/82,4 %80,7 %/81,4 %80,1 %/80,6 %80,1 %/80,8 %79,4 %/80,4 %78,5 %/80 %
Leistungsaufnahme Ø398 Watt397 Watt385 Watt353 Watt376 Watt323 Watt352 Watt355 Watt319 Watt337 Watt333 Watt301 Watt333 Watt310 Watt303 Watt
Kerne8c/16t16c/32t12c/24t8c/16t8c/16t6c/12t6c/12t10c/20t8c/16t16c/32t12c/24t8c/16t12c/24t8c/16t8c/16t
GrafikUHD 750---UHD 750-UHD 750Comet Lake GT2Comet Lake GT2--UHD 630- --
Basis-Takt3,5 GHz (4,8-5,3 GHz)3,4 GHz (4,7-5,05 GHz)3,7 GHz (4,65-4,8 GHz)3,8 GHz (4,7-4,85 GHz)3,6 GHz (4,6-5 GHz)3,7 GHz (4,65-4,65 GHz)3,9 GHz (4,6-4,9 GHz)3,7 GHz (4,9-5,3 GHz)3,8 GHz (4,7-5,1 GHz)3,5 GHz (4,25-4,7 GHz)3,8 GHz (4,25-4,7 GHz)3,6 GHz (4,7-5 GHz)3,8 GHz (4,3-4,6 GHz)3,9 GHz (4,5-4,7 GHz)3,9 GHz (4,15-4,5 GHz)
Prozess14 nm7 nm7 nm7 nm14 nm7 nm14 nm14 nm14 nm7 nm7 nm14 nm7 nm7 nm7 nm
RAM (max.)2× DDR4-3200 (G1)2× DDR4-32002× DDR4-32002× DDR4-32002× DDR4-2933 (G1) / DDR4-3200 (G2)2× DDR4-32002× DDR4-2933 (G1) / DDR4-3200 (G2)2× DDR4-29332× DDR4-29332× DDR4-32002× DDR4-32002× DDR4-26662× DDR4-3200 2× DDR4-32002× DDR4-3200
Sockel1200AM4AM4AM41200AM4120012001200AM4AM41151 v2AM4 AM4AM4
Vorteile
  • Beste Spieleleistung
  • Schnellste Desktop-CPU
  • Sehr hohe Leistung in Spielen & Anwendungen
  • Gutes Preis-Leistungs-Verhältnis
  • Mit 12 Kernen zukunftssicher
  • Schnellster Achtkerner
  • Niedrigste Latenzen bei Ryzen 5000
  • Schneller als 10900K
  • Schneller als Intels 10900K
  • Sparsam
  • Sehr effizient
  • Schneller als 10700K
  • Allrounder
  • Sehr schnell
  • Offener Multiplikator
  • Effizienter als 9900K
  • Hohe Anwendungsleistung
  • PCIe 4.0
  • Gute Leistung in Spielen
  • Mit 12 Kernen zukunftssicher
  • Sehr hohe Performance
  • Beste Gesamtleistung
  • Neueste CPU-Generation
  • Top Boost-Verhalten
  • Gute Leistung in Spielen
Angebote


Anzeige
Hardware-Angebote

Tom01 23. Apr 2021 / Themenstart

Das ist so als ob Mann einen Trabi tunen will. Lieber eine bessere Programmiersprache...

Joey5337 15. Apr 2021 / Themenstart

Die Schwierigkeit ergibt sich daraus, dass es gerade in C eine große Menge "undefined...

Ragtime 14. Apr 2021 / Themenstart

Das kommt darauf an, auf welcher Position man auf der Erdscheibe wohnt und ob am Tag...

Kommentieren


Folgen Sie uns
       


Sony Alpha 1 - Fazit

Die Alpha 1 von Sony überzeugt in unserem Test.

Sony Alpha 1 - Fazit Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /