Bestehen die Prozessor-Caches L1, L2 und L3 alle aus SRAM?

Bestehen die Prozessor-Caches L1, L2 und L3 alle aus SRAM?

Bestehen die Prozessor-Caches L1, L2 und L3 alle aus SRAM? Wenn das stimmt, warum ist L1 dann schneller als L2 und L2 schneller als L3? Als ich darüber gelesen habe, habe ich diesen Teil nicht verstanden.

Antwort1

AllgemeinSie sind alle mit SRAM implementiert.

(IBMs POWER- und zArchitecture-Chips verwenden DRAM-Speicher für L3. Dies wird als eingebettetes DRAM bezeichnet, da es in derselben Art von Prozesstechnologie wie die Logik implementiert ist, sodass schnelle Logik in denselben Chip wie das DRAM integriert werden kann. Für POWER4 verwendete das externe L3 eDRAM; POWER7 hat das L3 auf demselben Chip wie die Verarbeitungskerne.)

Obwohl sie SRAM verwenden, verwenden sie nicht alle dieDasselbeSRAM-Design. SRAM für L2 und L3 sind optimiert fürGröße(um die Kapazität bei begrenzter herstellbarer Chipgröße zu erhöhen oder die Kosten einer gegebenen Kapazität zu senken), während SRAM für L1 eher auf Geschwindigkeit optimiert wird.

Wichtiger noch ist, dass die Zugriffszeit mit der physischen Größe des Speichers zusammenhängt. Bei einem zweidimensionalen Layout kann man erwarten, dass die physische Zugriffslatenzgrobproportional zur Quadratwurzel der Kapazität. (Die nicht-uniforme Cache-Architektur nutzt dies aus, um eine Teilmenge des Cache mit geringerer Latenz bereitzustellen. Die L3-Slices der neueren Intel-Prozessoren haben einen ähnlichen Effekt; ein Treffer im lokalen Slice hat eine deutlich geringere Latenz.) Dieser Effekt kann einen DRAM-Cache bei hohen Kapazitäten schneller machen als einen SRAM-Cache, da der DRAM physisch kleiner ist.

Ein weiterer Faktor ist, dass die meisten L2- und L3-Caches seriellen Zugriff auf Tags und Daten verwenden, während die meisten L1-Caches parallel auf Tags und Daten zugreifen. Dies ist eine Leistungsoptimierung (L2-Fehlerraten sind höher als L1-Fehlerraten, sodass Datenzugriffe eher vergeudete Arbeit sind; L2-Datenzugriffe erfordern im Allgemeinen mehr Energie (bezogen auf die Kapazität); und L2-Caches haben normalerweise eine höhere Assoziativität, was bedeutet, dass mehr Dateneinträge spekulativ gelesen werden müssten). Offensichtlich verlängert das Warten auf die Tag-Übereinstimmung vor dem Zugriff auf die Daten die zum Abrufen der Daten erforderliche Zeit. (Der L2-Zugriff beginnt normalerweise auch erst, nachdem ein L1-Fehler bestätigt wurde, sodass die Latenz der L1-Fehlererkennung zu dergesamtZugriffslatenz von L2.)

Darüber hinaus ist der L2-Cache physisch weiter von der Ausführungs-Engine entfernt. Wenn der L1-Datencache in der Nähe der Ausführungs-Engine platziert wird (damit der häufige Fall eines L1-Treffers schnell erfolgt), bedeutet dies im Allgemeinen, dass L2 weiter entfernt platziert werden muss.

verwandte Informationen