Hardware Reference
In-Depth Information
1. P 1 liest a . Diesen Lesevorgang beobachtet (snoop) P 2 , reagiert darauf aber
nicht, weil er die Daten nicht im Cache hat. P 1 vermerkt bei sich fur die
gelesenen Daten den Zustand Exclusive (E), weil er sie nun exklusiv in
seinem Cache hat.
2. Nun liest P 2 von Adresse a . Diesen Lesevorgang beobachtet P 1 und infor-
miert P 2 , dass er die Daten auch in seinem Cache hat. Beide Prozessoren
vermerken nun den Zustand Shared (S) fur a .
3. P 1 schreibt an Adresse a . Diesen Schreibvorgang beobachtet P 2 . Er setzt
den Eintrag fur a in seinem Cache auf Invalid (I). Unabhangig von der
Cache-Strategie muss also P 1 diesen Schreibvorgang auf dem Bus kommu-
nizieren, auch wenn er - bei einem Write-Back Cache - den Schreibvorgang
selbst nicht durchfuhrt. Er selbst wird den Zustand fur a auf Modified (M)
andern, falls er einen Write-Back Cache besitzt - und auf Exclusive (E) im
Falle eines Write-Through Cache.
4. Wenn im Falle eines Write-Back Cache nun P 2 von Adresse a liest, so
wird der Lesevorgang durch P 1 gestoppt und P 1 schreibt die Daten in
den Speicher. Erst danach liest P 2 . Beide Prozessoren vermerken Zustand
Shared (S) fur a .
Ubung 9.2.1
1. Warum gibt es in dem Zustandsubergangsdiagramm fur das MESI-Proto-
koll in Abbildung 9.2 keinen Ubergang von Shared nach Modified?
2. Was musste an dem Diagramm geandert werden, wenn ein Write-Allocate
Cache betrachtet wurde?
9.2.1
9.3
9.3 Simultaneous Multithreading
Simultaneous Multithreading ist eine Technik, bei der mit relativ geringem
Hardware-Aufwand mehrere logische Prozessorkerne in einem Prozessor un-
tergebracht werden. Es handelt sich dabei nicht um mehrere vollstandige
Prozessorkerne (siehe dazu den folgenden Abschnitt). Die Idee ist vielmehr,
lediglich den Registersatz und einen Teil der Steuerlogik aufzudoppeln und
so dem Betriebssystem zwei Kerne vorzuspielen. Man hofft, dadurch immer
einen der logischen Kerne aktiv halten zu konnen, wenn ein Befehl eines an-
deren gerade durch einen Speicherzugriff aufgehalten wird. Intel bezeichnet
diese Technik als Hyper-Threading [23]. Die Caches werden von den logischen
Kernen gemeinsam genutzt.
Dadurch, dass der Hardware-Aufwand gering ist - nur wenige Prozent mehr
Transistoren (Intel spricht sogar nur von etwa einem Prozent) - ist diese
Search WWH ::




Custom Search