Kiedy pamięć podręczna procesora jest opróżniana z powrotem do pamięci głównej?

Feb 23, 2025
Sprzęt komputerowy

Jeśli dopiero zaczynasz się uczyć, jak działają wielordzeniowe procesory, buforowanie, spójność pamięci podręcznej i pamięć, na początku może się to wydawać nieco zagmatwane. Mając to na uwadze, dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedzi na pytanie zaciekawionego czytelnika.

Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser CarmeloS chce wiedzieć, kiedy pamięć podręczna procesora jest przenoszona z powrotem do pamięci głównej:

Jeśli mam procesor z dwoma rdzeniami, a każdy rdzeń ma własną pamięć podręczną L1, czy jest możliwe, że zarówno Core1, jak i Core2 buforują tę samą część pamięci w tym samym czasie? Jeśli to możliwe, jaka będzie wartość pamięci głównej, jeśli zarówno Core1, jak i Core2 wyedytowały swoje wartości w pamięci podręcznej?

Kiedy pamięć podręczna procesora jest przenoszona z powrotem do pamięci głównej?

Odpowiedź

Dostawcy SuperUser David Schwartz, sleske i Kimberly W mają dla nas odpowiedź. Najpierw David Schwartz:

Jeśli mam procesor z dwoma rdzeniami, a każdy rdzeń ma własną pamięć podręczną L1, czy jest możliwe, że zarówno Core1, jak i Core2 buforują tę samą część pamięci w tym samym czasie?

Tak, wydajność byłaby okropna, gdyby tak nie było. Rozważ dwa wątki z tym samym kodem. Chcesz, aby ten kod znajdował się w obu pamięciach podręcznych L1.

Jeśli to możliwe, jaka będzie wartość pamięci głównej, jeśli zarówno Core1, jak i Core2 wyedytowały swoje wartości w pamięci podręcznej?

Stara wartość będzie w pamięci głównej, co nie będzie miało znaczenia, ponieważ żaden rdzeń jej nie odczyta. Przed wyrzuceniem zmodyfikowanej wartości z pamięci podręcznej należy ją zapisać w pamięci. Zwykle niektóre warianty Protokół MESI Jest używane. W tradycyjnej implementacji MESI, jeśli wartość jest modyfikowana w jednej pamięci podręcznej, nie może być w ogóle obecna w żadnej innej pamięci podręcznej na tym samym poziomie.

Następnie odpowiedź od sleske:

Tak, posiadanie dwóch pamięci podręcznych buforujących ten sam region pamięci może się zdarzyć i jest to problem, który często występuje w praktyce. Istnieją różne rozwiązania, na przykład:

  • Dwie pamięci podręczne mogą się komunikować, aby upewnić się, że się nie zgadzają
  • Możesz mieć swego rodzaju nadzorcę, który monitoruje wszystkie pamięci podręczne i odpowiednio je aktualizuje
  • Każdy procesor monitoruje obszary pamięci, które zapisał w pamięci podręcznej, a gdy wykryje zapis, wyrzuca swoją (teraz nieprawidłową) pamięć podręczną

Problem nazywa się spójnością pamięci podręcznej, a plik Artykuł w Wikipedii na ten temat zawiera ładny przegląd problemu i możliwych rozwiązań.

I nasza ostateczna odpowiedź od Kimberly W:

Odpowiedź na pytanie w tytule Twojego posta zależy od tego, jaki jest protokół buforowania. Jeśli jest to zapis z powrotem, pamięć podręczna zostanie opróżniona z powrotem do pamięci głównej tylko wtedy, gdy kontroler pamięci podręcznej nie ma innego wyjścia, jak tylko umieścić nowy blok pamięci podręcznej w już zajętym miejscu. Blok, który wcześniej zajmował miejsce, jest usuwany, a jego wartość jest ponownie zapisywana w pamięci głównej.

Drugi protokół to protokół umożliwiający zapis. W takim przypadku za każdym razem, gdy blok pamięci podręcznej jest zapisywany na poziomie n , odpowiedni blok na poziomie n + 1 jest zaktualizowane. Koncepcja jest podobna do wypełniania formularza z kalką pod spodem; cokolwiek napiszesz na górze, jest kopiowane na arkusz poniżej. Jest to wolniejsze, ponieważ oczywiście wymaga więcej operacji zapisu, ale wartości między pamięcią podręczną są bardziej spójne. W schemacie zapisu zwrotnego tylko pamięć podręczna najwyższego poziomu miałaby najbardziej aktualną wartość dla określonego bloku pamięci.


Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .

Źródło zdjęcia: Lemsipmatt (Flickr)

When Is A CPU’s Cache Flushed Back To Main Memory?

What Is The Difference Between Memory And SSD Cache In A PC Or NAS?

5 Cache و Virtual Memory

How To Clear Cache On Mac OS - Clear Memory Cache On Mac In 1-Click

Buffer Cache

Caching In: Understand, Measure, And Use Your CPU Cache More Effectively

How To Clear RAM Cache Memory | Fix RAM Cached Memory Too High Windows 10

NetApp WAFL, NVRAM And The System Memory Cache (new Version)


Sprzęt komputerowy - Najpopularniejsze artykuły

Oculus Rift kontra HTC Vive: który zestaw słuchawkowy VR jest odpowiedni dla Ciebie?

Sprzęt komputerowy May 3, 2025

TREŚĆ NIENARUSZONA Domowy rynek wirtualnej rzeczywistości może być daleki od dojrzałości, ale dwaj główni gracze po stronie PC mają silną pozycję: Oculus należący do..


Jak ręcznie zaktualizować swój Kindle

Sprzęt komputerowy Jul 14, 2025

Jeśli chcesz mieć najnowsze funkcje Kindle w tej sekundzie (lub przegapiłeś poprzednią aktualizację), najlepszym sposobem na natychmiastową aktualizację Kindle jest zrobieni..


Jak grać w swoje ulubione gry NES, SNES i inne gry retro na komputerze za pomocą emulatora

Sprzęt komputerowy Feb 3, 2025

Widzieliście to. Może leciało to w samolocie, może w domu znajomego, ale widzieliście ludzi grających w stare gry Nintendo, Sega, a nawet PlayStation na swoich komputerach. A ..


Jak zmienić funkcję przełącznika wyciszenia iPada

Sprzęt komputerowy May 9, 2025

TREŚĆ NIENARUSZONA Twój iPhone lub iPad ma fizyczny przełącznik z boku, którego można użyć do wyciszenia urządzenia, aby nie przeszkadzać Ci, gdy próbujesz pracować, ..


Kiedy widzę czarny piksel tylko na niebieskim tle, czy jest zablokowany czy martwy?

Sprzęt komputerowy Mar 24, 2025

Jeden czarny piksel, który patrzy na Ciebie podczas oglądania niektórych kolorów tła, może być jednocześnie frustrujący i zagadkowy. Czy po prostu utknął, czy jest martwy..


Jak możesz poprawić wygląd płyt DVD na telewizorze HD?

Sprzęt komputerowy Oct 23, 2025

TREŚĆ NIENARUSZONA Chociaż żyjemy w erze wideo HD, nie oznacza to, że wszyscy zmieniliśmy nasze stare płyty DVD na zawartość HD. Zobaczmy, jak możesz poprawić wygląd t..


Jak dokładnie wyczyścić brudny komputer stacjonarny

Sprzęt komputerowy Nov 23, 2024

TREŚĆ NIENARUSZONA Podobnie jak samochód, dom, a nawet ciało, komputer wymaga co jakiś czas dobrego czyszczenia, aby zapobiec gromadzeniu się kurzu i przegrzaniu. Czyszczeni..


Świecący zestaw szachowy łączy w sobie diody LED, szachy i zabawę w elektronikę DIY

Sprzęt komputerowy Apr 14, 2025

TREŚĆ NIENARUSZONA Każdy, kto mówi, że wielowiekowa gra w szachy nie może być ulepszona, oczywiście nigdy nie grał świecącą szachownicą. Dzisiaj przyjrzymy się tanim..


Kategorie